IP Library Granted Patent US 9,210,077
Granted Patent B2
US 9,210,077 · App. 14/332,843 · Granted Dec 8, 2015

Network path selection using bandwidth prediction

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,210,077
App. No.
14/332,843
Granted
Dec 8, 2015
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 (37)

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 a new data stream having a type;

prior to receipt of the request in (a):

(b) determining historical usage characteristics of data streams having the type, the historical usage characteristics including an amount of bandwidth utilized by data streams previously transmitted of the type and a length of data streams previously transmitted of the type;

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

(d) storing the determined path in a pre-computed path database;

when the new data stream is received in (a):

(e) retrieving the requested path as the determined path from the pre-computed path database;

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

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

2. The method of claim 1 , wherein the determining (c) comprises determining the path based on historical usage of the network.

3. The method of claim 1 , wherein the type is specified by a particular destination IP address and TCP port.

4. The method of claim 1 , wherein the type is specified by a particular source IP address and TCP port.

5. 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 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 that stores historical usage characteristics of data streams having the determined type, the characteristics comprising an amount of bandwidth utilized by data streams previously transmitted of the type, and a length of data streams previously transmitted of the type;

a path computation module that determines, 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;

a path database that stores the pre-determined paths in a pre-computed path database;

a path selection module that, when the new data stream is received at the control device, retrieves the requested path from the pre-computed path database; and

a routing table module that, for respective forwarding devices along the path: (i) determines a routing table indicating which port of the forwarding device to route data from the new data stream along the determined path; and (ii) transmits the determined routing table to configure the forwarding device to route data along the path.

6. The system of claim 5 , further comprising:

a historical utilization module that collects historical usage data of the network,

wherein the path computation module determines the path based on the historical usage data of the network.

7. The system of claim 5 , wherein the path selection module determines whether the new data stream has a particular destination IP address and TCP or UDP port.

8. The system of claim 5 , wherein the path selection module determines whether the new data stream has a particular source IP address and TCP or UDP port.

9. A program storage device tangibly embodying a program of instructions executable by at least one machine to perform a method for virtually 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 a new data stream having a type;

prior to receipt of the request in (a):

(b) determining historical usage characteristics of data streams having the type, the historical usage characteristics including an amount of bandwidth utilized by data streams previously transmitted of the type, and a length of data streams previously transmitted of the type;

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

(d) storing the determined path in a pre-computed path database;

when the new data stream is received in (a):

(e) retrieving the requested path as the determined path from the pre-computed path database;

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

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

10. The program storage device of claim 9 ,

wherein the determining (c) comprises determining the path based on the historical usage data of the network.

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 Dec 1, 2014
From: TW TELECOM HOLDINGS INC.
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 034290/0955 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2014
From: SELLA, WILLIAM THOMAS
To: TW TELECOM HOLDINGS INC.
Reel/Frame 033335/0701 →