IP Library Granted Patent US 8,667,173
Granted Patent B2
US 8,667,173 · App. 13/758,608 · Granted Mar 4, 2014

Performing multicast communication in computer networks by using overlay routing

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 8,667,173
App. No.
13/758,608
Granted
Mar 4, 2014
Kind
B2
Abstract

An overlay protocol and system for allowing multicast routing in the Internet to be performed at the application level. The overlay protocol uses “native” Internet multicast and multicast routing protocols to route information, according to overlay routing tables. Overlay groups are mapped to native multicast groups to exploit native multicasting in regional or local forwarding domains. Use of the overlay protocol allows overlay distribution to be handled in a more intelligent and bandwidth-managed fashion. Overlay routers are placed at each of several local area networks, Internet service provider's point of presence, enterprise, or other cohesively-managed locations. The overlay computers are configured according to bandwidth and security policies, and perform application-level multicast distribution across the otherwise disjoint multicast networks by using the overlay routing. The result is an overlay multicast network that is effectively managed according to local network management policies. Application-level control can be applied to the transferred data at the overlay routers.

Claims (60)

1. A computer-executed method comprising:

a router device receiving data packets comprising a particular multicast data flow;

identifying a particular traffic type of the particular multicast data flow;

receiving bandwidth information about bandwidth for a network link over which the particular multicast data flow is to be sent;

based, at least in part, on one or more application-level policies for the particular traffic type, transforming the particular multicast data flow to fit a bandwidth indicated in the bandwidth information to produce a transformed multicast data flow; and

transmitting the transformed multicast data flow over the network link.

2. The computer-executed method of claim 1 , wherein the bandwidth indicated in the bandwidth information is a portion, of a total bandwidth for the network link, that is allocated for the particular traffic type.

3. The computer-executed method of claim 1 , wherein the bandwidth information is received from a packet scheduler that controls transmission of packets across the network link.

4. The computer-executed method of claim 1 , further comprising:

prior to receiving the data packets, the router device downloading information for a plugin associated with the particular traffic type;

wherein transforming the particular multicast data flow is performed by an instantiation of the plugin at the router device.

5. The computer-executed method of claim 1 , wherein:

the particular multicast data flow comprises first media information with a first frame rate;

transforming the particular multicast data flow to fit the bandwidth comprises producing second media information with a second frame rate that is reduced from the first frame rate; and

the transformed multicast data flow includes the second media information.

6. The computer-executed method of claim 1 , wherein:

the particular multicast data flow comprises media information with a first resolution;

transforming the particular multicast data flow to fit the bandwidth comprises producing second media information with a second resolution that is reduced from the first resolution; and

the transformed multicast data flow includes the second media information.

7. The computer-executed method of claim 1 , wherein transforming the particular multicast data flow to fit the bandwidth comprises transforming the particular multicast data flow based, at least in part, on application-level activity in the particular multicast data flow.

8. The computer-executed method of claim 7 , wherein:

the application-level activity comprises one or more cues in audio information in the particular multicast data flow; and

transforming the particular multicast data flow to fit the bandwidth comprises, in response to identifying the one or more cues in the audio information, dedicating a particular portion of the bandwidth to current speaker audio information of the audio information.

9. The computer-executed method of claim 7 , wherein:

the application-level activity comprises one or more dispositions of one or more user interfaces, at one or more clients, information for which is included in the particular multicast data flow;

transforming the particular multicast data flow to fit the bandwidth comprises, in response to identifying the one or more dispositions of the one or more user interfaces, dedicating a particular portion of the bandwidth to current speaker information in the particular multicast data flow.

10. One or more computer-readable non-transitory media storing one or more sequences of instructions, which, when executed by one or more processors, cause:

a router device receiving data packets comprising a particular multicast data flow;

identifying a particular traffic type of the particular multicast data flow;

receiving bandwidth information about bandwidth for a network link over which the particular multicast data flow is to be sent;

based, at least in part, on one or more application-level policies for the particular traffic type, transforming the particular multicast data flow to fit a bandwidth indicated in the bandwidth information to produce a transformed multicast data flow; and

transmitting the transformed multicast data flow over the network link.

11. The computer-readable non-transitory media of claim 10 , wherein the bandwidth indicated in the bandwidth information is a portion, of a total bandwidth for the network link, that is allocated for the particular traffic type.

12. The computer-readable non-transitory media of claim 10 , wherein the bandwidth information is received from a packet scheduler that controls transmission of packets across the network link.

13. The computer-readable non-transitory media of claim 10 , further comprising instructions for:

prior to receiving the data packets, the router device downloading information for a plugin associated with the particular traffic type;

wherein transforming the particular multicast data flow is performed by an instantiation of the plugin at the router device.

14. The computer-readable non-transitory media of claim 10 , wherein:

the particular multicast data flow comprises first media information with a first frame rate;

transforming the particular multicast data flow to fit the bandwidth comprises producing second media information with a second frame rate that is reduced from the first frame rate; and

the transformed multicast data flow includes the second media information.

15. The computer-readable non-transitory media of claim 10 , wherein:

the particular multicast data flow comprises media information with a first resolution;

transforming the particular multicast data flow to fit the bandwidth comprises producing second media information with a second resolution that is reduced from the first resolution; and

the transformed multicast data flow includes the second media information.

16. The computer-readable non-transitory media of claim 10 , wherein transforming the particular multicast data flow to fit the bandwidth comprises transforming the particular multicast data flow based, at least in part, on application-level activity in the particular multicast data flow.

17. The computer-readable non-transitory media of claim 16 , wherein:

the application-level activity comprises one or more cues in audio information in the particular multicast data flow; and

transforming the particular multicast data flow to fit the bandwidth comprises, in response to identifying the one or more cues in the audio information, dedicating a particular portion of the bandwidth to current speaker audio information of the audio information.

18. The computer-readable non-transitory media of claim 16 , wherein:

the application-level activity comprises one or more dispositions of one or more user interfaces, at one or more clients, information for which is included in the particular multicast data flow;

transforming the particular multicast data flow to fit the bandwidth comprises, in response to identifying the one or more dispositions of the one or more user interfaces, dedicating a particular portion of the bandwidth to current speaker information in the particular multicast data flow.

19. A router device comprising:

one or more processors;

one or more computer-readable media storing one or more sequences of instructions, which, when executed by one or more processors, cause:

receiving data packets comprising a particular multicast data flow;

identifying a particular traffic type of the particular multicast data flow;

receiving bandwidth information about bandwidth for a network link over which the particular multicast data flow is to be sent;

based, at least in part, on one or more application-level policies for the particular traffic type, transforming the particular multicast data flow to fit a bandwidth indicated in the bandwidth information to produce a transformed multicast data flow; and

transmitting the transformed multicast data flow over the network link.

Assignments (4)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2014
From: MCCANNE, STEVEN
To: FASTFORWARD NETWORKS, INC.
Reel/Frame 034220/0296 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2014
From: FASTFORWARD NETWORKS, INC.
To: YAHOO! INC.
Reel/Frame 034146/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: YAHOO! INC.
To: GOOGLE INC.
Reel/Frame 033868/0257 →