IP Library Granted Patent US 9,667,542
Granted Patent B2
US 9,667,542 · App. 14/961,551 · Granted May 30, 2017

Network path selection using bandwidth prediction

Inventor: William Thomas Sella (Parker, CO)
Assignee: Level 3 Communications, LLC
H04L45/745H04L41/0654H04L41/12H04L43/0876H04L45/00H04L45/025H04L45/125H04L45/42H04L45/56H04L45/64H04L41/142
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,667,542
App. No.
14/961,551
Granted
May 30, 2017
Kind
B2
Abstract

In an embodiment, a system routes a new data stream from a source to a destination through a plurality of forwarding devices interconnected with links. The system includes a control device that receives a request to create a path through the plurality of interconnected forwarding devices for a new data stream and determines a type of the new data stream. A data flow database stores historical usage characteristics of data streams having the determined type. A path computation module determines, based on the historical usage characteristics of data streams having the determined type, the requested path through plurality of interconnected forwarding devices from the source to the destination.

Claims (36)

1. A computer-implemented method for routing a new data stream from a source to a destination through a network including a plurality of forwarding devices interconnected with links, comprising:

(a) receiving, at a control device, a request to create a path through the plurality of interconnected forwarding devices for the new data stream;

(b) determining a type of the new data stream;

(c) determining, based on the determined type, historical usage characteristics of data streams having the determined type;

(d) determining, based on the historical usage characteristics of data streams having the determined type, the requested path through the plurality of interconnected forwarding devices from the source to the destination;

(e) for respective forwarding devices along the path, determining a routing table indicating which port of the respective forwarding device to route data from the new data stream along the path determined in (d); and

(f) for each of the respective forwarding devices, transmitting the routing table determined in (e) to configure the forwarding device.

2. The computer-implemented method of claim 1 , wherein the determining (d) is further based on at least one of historical link utilization information for the links and respective capacities of the links.

3. The computer-implemented method of claim 2 , wherein the historical link utilization information for the links includes an average of link utilization and a variance of link utilization over a predetermined period of time.

4. The computer-implemented method of claim 1 , wherein the determining (b) comprises determining whether the data stream has a particular source IP address and TCP port.

5. The computer-implemented method of claim 1 , wherein the data stream is identified with a label, and wherein the routing table determined in (e) indicates how to forward packets having the label.

6. The computer-implemented method of claim 1 , wherein the historical usage characteristics of data streams having the determined type are obtained by a statistical sampling of data streams previously transmitted of the determined type.

7. The computer-implemented method of claim 1 , wherein the determined type is one of broadcast video, Voice-over-IP (VOIP), or Hypertext Transfer Protocol (HTTP).

8. The computer-implemented method of claim 1 , wherein the determining (d) is further based on one or more of latency, jitter, packet loss, and a user's service level agreement.

9. The computer-implemented method of claim 1 , wherein the path includes a server that performs scrubbing operations on packets of the new data stream.

10. The computer-implemented method of claim 9 , wherein the scrubbing operations include scanning the new data stream for malicious content.

11. The computer-implemented method of claim 1 , wherein the determining (d) includes retrieving a predetermined path for the new data stream from a path database, wherein the predetermined path is determined prior to receiving the new data stream based on the historical usage characteristics of data streams having the determined type.

12. A system for virtually routing a new data stream from a source to a destination through a network including a plurality of forwarding devices interconnected with links, comprising:

a control device configured to (i) receive a request to create a path through the plurality of interconnected forwarding devices for the new data stream, and (ii) determine a type of the new data stream;

a path computation module, configured to determine, based on historical usage characteristics of data streams having the determined type, the requested path through the plurality of interconnected forwarding devices from the source to the destination;

a routing table module configured to: (i) for respective forwarding devices along the path, determine a routing table indicating which port of the respective forwarding device to route data from the new data stream along the path determined by the path computation module, and (ii) for each of the respective forwarding devices, transmit the determined routing table to configure the forwarding device; and

a historical utilization module configured to determine, based on the determined type, the historical usage characteristics of data streams having the determined type.

13. The system of claim 12 , wherein the control device determines (ii) based on at least one of historical link utilization information for the links and respective capacities of the links.

14. The system of claim 13 , wherein the historical link utilization information for the links includes an average of link utilization and a variance of link utilization over a predetermined period of time.

15. The system of claim 12 , wherein the control device determines (ii) by determining whether the data stream has a particular source IP address and TCP port.

16. The system of claim 12 , wherein the historical usage characteristics of data streams having the determined type are obtained by a statistical sampling of data streams previously transmitted of the determined type.

17. The system of claim 12 , wherein the path computation module determines the requested path by retrieving a predetermined path for the new data stream from a path database, wherein the predetermined path is determined prior to receiving the new data stream based on the historical usage characteristics of data streams having the determined type.

18. A non-transitory program storage device tangibly embodying a program of instructions executable by at least one machine to perform a method for routing a new data stream from a source to a destination through a plurality of forwarding devices interconnected with links, the method comprising:

(a) receiving, at a control device, a request to create a path through the plurality of interconnected forwarding devices for the new data stream;

(b) determining a type of the new data stream;

(c) determining, based on the determined type, historical usage characteristics of data streams having the determined type;

(d) determining, based on the historical usage characteristics of data streams having the determined type, the requested path through the plurality of interconnected forwarding devices from the source to the destination;

(e) for respective forwarding devices along the path, determining a routing table indicating which port of the respective forwarding device to route data from the new data stream along the path determined in (d); and

(f) for each of the respective forwarding devices, transmitting the routing table determined in (e) to configure the forwarding device.

19. The non-transitory program storage device of claim 18 , wherein the determining (d) is further based on at least one of historical link utilization information for the links and respective capacities of the links.

20. The non-transitory program storage device of claim 19 , wherein the historical link utilization information for the links includes an average of link utilization and a variance of link utilization over a predetermined period of time.

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 Feb 2, 2016
From: SELLA, WILLIAM THOMAS
To: TW TELECOM HOLDINGS, INC.
Reel/Frame 037646/0318 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2016
From: TW TELECOM HOLDINGS, INC.
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 037646/0347 →
Continuity (3)
Continuation 14332843 · Jul 16, 2014
Continuation 14250132 · Apr 10, 2014
Related Publication 20160156556A1 · Jun 2, 2016