IP Library Granted Patent US 9,942,108
Granted Patent B2
US 9,942,108 · App. 15/481,099 · Granted Apr 10, 2018

Network service aware routers, and applications thereof

Inventor: Sergey Yermakov (Highlands Ranch, CO)
Assignee: Level 3 Communications, LLC
H04L41/5054H04L41/5003
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,942,108
App. No.
15/481,099
Granted
Apr 10, 2018
Kind
B2
Abstract

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.

Claims (81)

1. A computer-implemented method for providing a service on a network, comprising:

(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 router condition related to the router has changed;

(e) when the router condition 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 condition related to the router;

(f) receiving, at the thread, a packet from a second thread running on a second router, the second thread executing the instructions from a remote server; and

(g) determining, at the thread, that the second thread is also participating in providing the service.

2. The method of claim 1 , wherein determining (d) comprises:

(i) receiving updated information describing a usage metric associated with the user; and

wherein the executing (e) comprises:

(ii) determining whether the updated information satisfies a condition; and

(iii) updating the configuration of the router to change a service level associated with the user based on the network usage metric.

3. The method of claim 2 , wherein the receiving updated information (i) comprises

(iv) receiving updated information describing an amount of bandwidth traffic associated with the user,

and wherein the updating the configuration of the router (iii) comprises

(v) updating the configuration of the router to change an amount of bandwidth allocated to the user as the service provides.

4. The method of claim 2 , wherein the determining (ii) comprises

(iv) determining whether the updated information indicates that the usage metric associated with the user exceeds a threshold.

5. The method of claim 1 , wherein determining (d) comprises:

(i) determining that a scheduled time has occurred;

and wherein the executing (e) comprises:

(ii) updating the configuration of the router to change a service level associated with the user based on the scheduled time.

6. The method of claim 1 , further comprising:

(h) determining, on the router, that the user is newly connected to the network; and

(j) when the router determines that the user is newly connected, querying the remote server for a service the user subscribed to.

7. The method of claim 1 , further comprising:

(h) before the requesting (a), determining, on the router, that the user is newly connected to the network;

(j) when the router determines that the user is newly connected, querying the remote server for a service the user subscribed to; and

(k) receiving, from the remote server, information identifying the service the user subscribed to, wherein the requesting (a) comprises:

(i) requesting the executable instructions from the remote server, the executable instructions specifying how the router is to operate to provide the identified service.

8. 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 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 router condition related to the router has changed;

(e) when the router condition 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 condition related to the router;

(f) receiving, at the thread, a packet from a second thread running on a second router, the second thread executing the instructions from a remote server; and

(g) determining, at the thread, that the second thread is also participating in providing the service.

9. The program storage device of 8 , wherein determining (d) comprises:

(i) receiving updated information describing a usage metric associated with the user; and

wherein the executing (e) comprises:

(ii) determining whether the updated information satisfies a condition; and

(iii) updating the configuration of the router to change a service level associated with the user based on the network usage metric.

10. The program storage device of claim 9 , wherein the receiving updated information (i) comprises

(iv) receiving updated information describing an amount of bandwidth traffic associated with the user, and

wherein the updating the configuration of the router (iii) comprises

(v) updating the configuration of the router to change an amount of bandwidth allocated to the user as the service provides.

11. The program storage device of claim 9 , wherein the determining (ii) comprises

(iv) determining whether the updated information indicates that the usage metric associated with the user exceeds a threshold.

12. The program storage device of claim 8 , wherein determining (d) comprises:

(i) determining that a scheduled time has occurred; and

wherein the executing (e) comprises:

(ii) updating the configuration of the router to change a service level associated with the user based on the scheduled time.

13. The program storage device of claim 8 , further comprising:

(h) determining, on the router, that the user is newly connected to the network; and

(i) when the router determines that the user is newly connected, querying the remote server for a service the user subscribed to.

14. The program storage device of claim 8 , further comprising:

(h) before the requesting (a), determining, on the router, that the user is newly connected to the network;

(j) when the router determines that the user is newly connected, querying the remote server for a service the user subscribed to; and

(k) receiving, from the remote server, information identifying the service the user subscribed to, wherein the requesting (a) comprises:

(i) requesting the executable instructions from the remote server, the executable instructions specifying how the router is to operate to provide the identified service.

15. A system for providing a service on a network, comprising:

a routing device;

a service loader, implemented on the routing device, that

(i) requests 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,

(ii) receives the instructions, and

(iii) initializes, on the router, a thread to execute the received instructions; and

a kernel, on the routing device, that

(iv) determines that a router condition related to the router has changed by determining whether the updated information indicates that a usage metric associated with the user exceeds a threshold, and

wherein the initialized thread, when the router condition related to the router is determined to have changed,

(v) executes instructions to apply the service in accordance with the change in the router condition related to the router.

16. The system of claim 15 , wherein kernel determines the router condition (iv) by

(1) receiving updated information describing the usage metric associated with the user; and

wherein the initialized thread executes (v) by:

(2) determining whether the updated information satisfies a condition; and

(3) updating the configuration of the router to change a service level associated with the user based on the usage metric.

17. The system of claim 16 , wherein the receiving updated information (1) comprises

(4) receiving updated information describing an amount of bandwidth traffic associated with the user, and

wherein the updating the configuration of the router (3) comprises

(5) updating the configuration of the router to change an amount of bandwidth allocated to the user as the service provides.

Assignments (4)
NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY (SECOND LIEN) Recorded Nov 4, 2024
From: LEVEL 3 COMMUNICATIONS, LLC; GLOBAL CROSSING TELECOMMUNICATIONS, INC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069295/0749 →
NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY (FIRST LIEN) Recorded Nov 4, 2024
From: LEVEL 3 COMMUNICATIONS, LLC; GLOBAL CROSSING TELECOMMUNICATIONS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069295/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2017
From: YERMAKOV, SERGEY
To: TW TELECOM HOLDINGS, INC.
Reel/Frame 041927/0275 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2017
From: TW TELECOM HOLDINGS, INC.
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 041927/0293 →
Continuity (3)
Continuation 14599207 · Jan 16, 2015
Continuation 14473476 · Aug 29, 2014
Related Publication 20170214586A1 · Jul 27, 2017