IP Library Granted Patent US 10,530,669
Granted Patent B2
US 10,530,669 · App. 16/230,881 · Granted Jan 7, 2020

Network service aware routers, and applications thereof

Inventor: Sergey Yermakov (Highlands Ranch, CO)
Assignee: Level 3 Communications, LLC
H04L41/5054H04L41/0813H04L41/5003H04L45/563
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 10,530,669
App. No.
16/230,881
Granted
Jan 7, 2020
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 (65)

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 executable instructions;

(c) initializing, on the router, a thread to execute the received executable instructions;

(d) determining that a router condition related to the router has changed; and

(e) when the router condition related to the router is determined to have changed, executing, on the initialized thread, the executable instructions to apply the service in accordance with the change in the router condition related to the router,

wherein the 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.

2. The method as recited in claim 1 , further comprising:

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

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

3. The method as recited in claim 1 , further comprising:

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

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

(h) 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.

4. The method as recited in claim 1 , further comprising:

evaluating network traffic at the router to determine whether the network traffic is associated with the user of the network; and

when the router determines that the network traffic is associated with the user of the network, notifying the thread to apply the service on the network traffic.

5. 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 executable instructions;

(c) initializing, on the router, a thread to execute the received executable instructions;

(d) determining that a router condition related to the router has changed; and

(e) when the router condition related to the router is determined to have changed, executing, on the initialized thread, the executable instructions to apply the service in accordance with the change in the router condition related to the router,

wherein the 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 program storage device as recited in claim 5 , further comprising:

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

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

7. The program storage device as recited in claim 5 , further comprising:

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

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

(h) 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. The program storage device as recited in claim 5 , further comprising:

evaluating network traffic at the router to determine whether the network traffic is associated with the user of the network; and

when the router determines that the network traffic is associated with the user of the network, notifying the thread to apply the service on the network traffic.

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

a memory that stores computer-executable instructions; and

a processor configured to access the memory and execute the computer-executable instructions to:

(a) request, 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) receive the executable instructions;

(c) initialize, on the router, a thread to execute the received executable instructions;

(d) determine that a router condition related to the router has changed; and

(e) when the router condition related to the router is determined to have changed, executing, on the initialized thread, the executable instructions to apply the service in accordance with the change in the router condition related to the router,

wherein the determining (d) comprises the computer-executable instructions to:

(i) determine that a scheduled time has occurred, and

wherein the executing (e) comprises the computer-executable instructions to:

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

10. The system as recited in claim 9 , further comprising the computer-executable instructions to:

(f) determine, on the router, that the user is newly connected to the network; and

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

11. The system as recited in claim 9 , further comprising the computer-executable instructions to:

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

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

(h) receive, from the remote server, information identifying the service the user subscribed to, wherein the computer-executable instructions to request (a) comprises the computer-executable instructions to:

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

12. The system as recited in claim 9 , further comprising the computer-executable instructions to:

evaluate network traffic at the router to determine whether the network traffic is associated with the user of the network; and

when the router determines that the network traffic is associated with the user of the network, notify the thread to apply the service on the network traffic.

Assignments (5)
ASSIGNMENT OF FIRST LIEN SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 069295/0858 Recorded Jun 12, 2026
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS RETIRING COLLATERAL AGENT
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 075738/0427 →
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 Dec 31, 2018
From: YERMAKOV, SERGEY
To: TW TELECOM HOLDINGS, INC.
Reel/Frame 047875/0865 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2018
From: TW TELECOM HOLDINGS, INC.
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 047875/0881 →
Continuity (5)
Continuation 15948717 · Apr 9, 2018
Continuation 15481099 · Apr 6, 2017
Continuation 14599207 · Jan 16, 2015
Continuation 14473476 · Aug 29, 2014
Related Publication 20190123979A1 · Apr 25, 2019