IP Library Granted Patent US 8,649,375
Granted Patent B2
US 8,649,375 · App. 12/995,377 · Granted Feb 11, 2014

Method and devices for multicast distribution optimization

Inventors: Alessandro Capello (Turin, IT); Paolo Salamandra (Turin, IT); Alberto Tempia Bonda (Turin, IT)
Assignee: Telecom Italia S.p.A.
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,649,375
App. No.
12/995,377
Granted
Feb 11, 2014
Kind
B2
Abstract

Multicast information flows are distributed from a source to user terminals over a network including aggregation routers arranged in hierarchical levels. Once a request for a given information flow is received from a user terminal, a distribution path can be defined through a plurality of aggregation routers. At one or more of the aggregation routers traversed by the information flow an information subflow can be derived to be propagated also towards lower-level aggregation routers that are not traversed by the information flow being distributed. Further requests for the same information flow received through an aggregation router towards which the information subflow was propagated are forwarded towards an aggregation router where the subflow was derived.

Claims (39)

1. A method of distributing multicast information flows from at least one source to a plurality of user terminals over a network including aggregation routers arranged in hierarchical levels, said hierarchical levels including a last-hop level nearest to said plurality of user terminals, the method including the steps of:

receiving a request for an information flow from a user terminal,

defining a distribution path having a plurality of said aggregation routers for transmitting said information flow to the user terminal,

deriving, by a first of said plurality of aggregation routers used to transmit said information flow at a level of said hierarchical levels other than said last-hop level, an information subflow from said information flow, wherein the information subflow includes a subset of the information included in the information flow,

propagating, by said first router, said information flow towards a second of said plurality of aggregation routers used to transmit said information flow and said information subflow towards at least one lower-level aggregation router different from a lower-level router in said plurality of aggregation routers used to transmit said information flow,

receiving, at the at least one lower-level aggregation router that received the propagated information subflow, a further request for said information flow,

forwarding said further request towards at least one aggregation router that derived said information subflow from said information flow,

deriving, by at least two of said plurality of aggregation routers used to transmit said information flow at a level of said hierarchical levels other than said last-hop level including said first router, said information subflow from said information flow,

propagating, by said at least two routers, said information subflow towards at least one lower-level aggregation router different from a lower-level router in said plurality of aggregation routers used to transmit said information flow,

receiving, by the at least one lower-level aggregation router, said information subflow propagated thereto from said at least two upper-level aggregation routers, and

forwarding said further request through the one of said at least two upper-level aggregation routers defining a shorter path to access said information flow.

2. The method of claim 1 , wherein propagating said information subflow comprises propagating said information subflow towards a plurality of lower-level aggregation routers.

3. The method of claim 1 , including identifying the one of said at least two upper-level aggregation routers defining a shorter path to access said information flow as the aggregation router having a smaller number of hops to a router in said plurality of aggregation routers used to transmit said information flow.

4. The method of claim 1 , wherein said information subflow includes at least one data packet derived from said information flow.

5. The method of claim 3 , wherein said information subflow includes at least one data packet derived from said information flow, the method further including:

incorporating in said at least one data packet a counter value,

decrementing said counter value at each aggregation router traversed by said at least one data packet, and

identifying the one of said at least two upper-level aggregation routers defining a shorter path to access said information flow as the aggregation router propagating packets having a higher value for said counter value.

6. The method of claim 5 , wherein said counter value is a Time To Live counter associated with said at least one data packet.

7. A non-transitory computer readable medium including software code portions stored thereon that, when executed by at least one computer, perform the method of claim 1 .

8. A network including aggregation routers arranged in hierarchical levels for distributing multicast information flows from at least one source to a plurality of user terminals wherein the network is configured to implement the steps of:

receiving a request for an information flow from a user terminal,

defining a distribution path having a plurality of said aggregation routers for transmitting said information flow to the user terminal,

deriving, by a first of said plurality of aggregation routers used to transmit said information flow at a level of said hierarchical levels other than said last-hop level, an information subflow from said information flow, wherein the information subflow includes a subset of the information included in the information flow,

propagating, by said first router, said information flow towards a second of said plurality of aggregation routers used to transmit said information flow and said information subflow towards at least one lower-level aggregation router different from a lower-level router in said plurality of aggregation routers used to transmit said information flow,

receiving, at the at least one lower-level aggregation router that received the propagated information subflow, a further request for said information flow,

forwarding said further request towards at least one aggregation router that derived said information subflow from said information flow,

deriving, by at least two of said plurality of aggregation routers used to transmit said information flow at a level of said hierarchical levels other than said last-hop level including said first router, said information subflow from said information flow,

propagating, by said at least two routers, said information subflow towards at least one lower-level aggregation router different from a lower-level router in said plurality of aggregation routers used to transmit said information flow,

receiving, by the at least one lower-level aggregation router, said information subflow propagated thereto from said at least two upper-level aggregation routers, and

forwarding said further request through the one of said at least two upper-level aggregation routers defining a shorter path to access said information flow.

9. A router comprising;

a processing unit configured to perform at least one of:

A)—receiving a multicast information packet from an upper level router in a network, and checking whether said multicast information packet received corresponds to an information flow requested from a user terminal, and

i) if the router is one of a plurality of aggregation routers in a multicast distribution path used to transmit said information flow to the user terminal: forwarding said information flow over said multicast distribution path and propagating an information subflow to at least one lower-level aggregation router different from a lower-level router in said plurality of aggregation routers in the multicast distribution path, wherein the information subflow includes a subset of the information included in the information flow,

ii) if the router is an aggregation router different from a router in said multicast distribution path: locally storing said multicast information packet received from said upper level router and forwarding said multicast information packet received from said upper level router to at least one lower-level aggregation router different from a router in said multicast distribution path; and

B)—receiving a request for an information flow from a lower level router in a network, and checking whether the router is one of a plurality of aggregation routers used to transmit said information flow requested from a user terminal, and

i) if the router is one of the plurality of aggregation routers in a multicast distribution path used to transmit said information flow: forwarding said requested information flow to said lower level router from which said request was received,

ii) if the router is an aggregation router different from a router in said multicast distribution path: forwarding said request for said information flow towards at least one upper level router that transmitted an information subflow to the router, receiving from said at least one upper level router said requested information flow, and forwarding said requested information flow to said lower level router from which said request was received.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2010
From: CAPELLO, ALESSANDRO; SALAMANDRA, PAOLO; TEMPIA BONDA, ALBERTO
To: TELECOM ITALIA S.P.A.
Reel/Frame 025415/0403 →
Continuity (1)
Related Publication 20110085546A1 · Apr 14, 2011