Network service aware routers, and applications thereof

US9634894B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9634894-B2
Application numberUS-201514599207-A
CountryUS
Kind codeB2
Filing dateJan 16, 2015
Priority dateAug 29, 2014
Publication dateApr 25, 2017
Grant dateApr 25, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In an embodiment, a computer-implemented method provides a service on a network. The method includes the following steps: (a) requesting, on a router, executable instructions from a remote server, the executable instructions specifying how the router is to operate to provide a service requested for a user of the network; (b) receiving the instructions; (c) initializing, on the router, a thread to execute the received instructions; (d) determining that a configuration of the router has changed; and (e) when the configuration of the router is determined to have changed, executing, on the initialized thread, the instructions to apply the service in accordance with the change in the router's configuration.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for providing a service on a network, comprising: (a) requesting, on a first router, executable instructions from a remote server, the executable instructions specifying how the first router is to operate to provide a service requested for a user of the network; (b) receiving the instructions; (c) initializing, on the first router, a first thread to execute the received instructions; (d) determining that a configuration of the first router has changed; (e) when the configuration of the first router is determined to have changed, executing, on the initialized thread, the instructions to apply the service in accordance with the change in the first router's configuration; (h) receiving, at the first thread, a packet from a second thread running on a second router and a packet from a third thread running on a third router, the second and third threads executing the instructions from the remote server; (i) determining, at the first thread, that the second and third threads are participating in providing the service; (j) receiving, at the first router, a traffic destined for an address reachable through both the second and third routers; and (k) determining, in accordance with the instructions, whether to forward the traffic on the second or third routers. 2. The method of claim 1 , further comprising: (f) determining, on the first router, that the user is newly connected to the network; and (g) when the first router determines that the user is newly connected, querying the remote server for a service the user subscribed to. 3. The method of claim 1 , wherein the executable instructions specify how the first router operate to provide the specified service. 4. The method of claim 1 , further comprising: (f) evaluating network traffic at the first router to determine whether the traffic is associated with the user of the network; and (g) when the first router determines that the traffic is associated with the user of the network, notifying the first thread to apply a service on the traffic. 5. The method of claim 1 , further comprising: (f) periodically checking the remote server for a change in the service; and (g) when the service changes, receiving, at the first router, updated executable instructions specifying how the first router is to operate. 6. The method of claim 1 , wherein determining (d) comprises receiving updated metrics related to network traffic that is associated with the user and forwarded by the first router, and wherein the executing (e) comprises transmitting the metrics to the remote server. 7. A non-transitory program storage device tangibly embodying a program of instructions executable by at least one machine to perform a method for providing a service on a network, said method comprising: (a) requesting, on a first router, executable instructions from a remote server, the executable instructions specifying how the first router is to operate to provide a service requested for a user of the network; (b) receiving the instructions; (c) initializing, on the first router, a first thread to execute the received instructions; (d) determining that a configuration of the first router has changed; and (e) when the configuration of the first router is determined to have changed, executing, on the initialized thread, the instructions to apply the service in accordance with the change in the first router's configuration; wherein determining (d) comprises receiving updated information describing an amount of bandwidth traffic associated with the user; and wherein the executing (e) comprises: (i) determining whether the updated information satisfies a condition; and (ii) updating the configuration of the first router to change an amount of bandwidth allocated to the user as the service provides. 8. The program storage device of claim 7 , the method further comprising: (f) determining, on the first router, that the user is newly connected to the network; and (g) when the first router determines that the user is newly connected, querying the remote server for a service the user subscribed to. 9. The program storage device of claim 7 , wherein the executable instructions specify how the first router operates to provide the specified service. 10. The program storage device of claim 7 , the method further comprising: (f) evaluating network traffic at the first router to determine whether the traffic is associated with the user of the network; and (g) when the first router determines that the traffic is associated with the user of the network, notifying the first thread to apply a service on the traffic. 11. The program storage device of claim 7 , the method further comprising: (f) periodically checking the remote server for a change in the service; and (g) when the service changes, receiving, at the first router, updated executable instructions specifying how the first router is to operate. 12. The program storage device of claim 7 , the method further comprising: (h) receiving, at the first thread, a packet from a second thread running on a second router and a packet from a third thread running on a third router, the second and third threads executing the instructions from the remote server; (i) determining, at the first thread, that the second and third threads are participating in providing the service; (j) receiving, at the first router, a traffic destined for an address reachable through both the second and third routers; and (k) determining, in accordance with the instructions, whether to forward the traffic on the second or third routers. 13. The program storage device of claim 7 , wherein determining (d) comprises receiving updated metrics related to network traffic that is associated with the user and forwarded by the first router, and wherein the executing (e) comprises transmitting the metrics to the remote server. 14. A non-transitory program storage device tangibly embodying a program of instructions executable by at least one machine to perform a method for providing a service on a network, said method comprising: (a) requesting, on a first router, executable instructions from a remote server, the executable instructions specifying how the first router is to operate to provide a service requested for a user of the network; (b) receiving the instructions; (c) initializing, on the first router, a first thread to execute the received instructions; (d) determining that a configuration of the first router has changed; (e) when the configuration of the first router is determined to have changed, executing, on the initialized thread, the instructions to apply the service in accordance with the change in the first router's configuration; (h) receiving, at the first thread, a packet from a second thread running on a second router and a packet from a third thread running on a third router, the second and third threads executing the instructions from the remote server; (i) determining, at the first thread, that the second and third threads are participating in providing the service; (j) receiving, at the first router, a traffic destined for an address reachable through both the second and third routers; and (k) determining, in accordance with the instructions, whether to forward the traffic on the second or third routers. 15. The program storage device of claim 14 , the method further comprising: (f) determining, on the first router, that the user is newly connected to the network; and (g) when the first router determines that the user is newly connected, querying the remote server for a service

Assignees

Inventors

Classifications

  • Software download or update · CPC title

  • Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components · CPC title

  • characterised by the conditions triggering a change of settings · CPC title

  • Managing SLA; Interaction between SLA and QoS · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9634894B2 cover?
In an embodiment, a computer-implemented method provides a service on a network. The method includes the following steps: (a) requesting, on a router, executable instructions from a remote server, the executable instructions specifying how the router is to operate to provide a service requested for a user of the network; (b) receiving the instructions; (c) initializing, on the router, a thread …
Who is the assignee on this patent?
Level 3 Communications Llc
What technology area does this patent fall under?
Primary CPC classification H04L41/5054. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 25 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).