Layered multicast and fair bandwidth allocation and packet prioritization
First Claim
1. A method comprising:
- receiving data from a source in a single stream;
storing a sequence vector of a packet within the packet on an accessible storage device, wherein the sequence vector includes;
a layer identifier indicating a relative location of the packet within a hierarchy of virtual layers, anda packet identifier of a most recently received packet in each virtual layer in the stream, the layer identifier further indicating an importance of the packet, wherein the importance of the packet reflects a priority of the packet and influences a probability that the packet is selected to be dropped;
forwarding the data to multiple concurrent receivers over a packet switched network via a network interface;
updating a reliable list of virtual layers based on the received data and the sequence vector of the packet;
detecting, by a processor in communications with the accessible storage device, inadequate bandwidth to transmit the stream to a destination; and
selecting a virtual layer of high priority packets from the hierarchy of virtual layers in the stream to forward to the destination based on the layer identifier and the reliable list.
4 Assignments
0 Petitions
Accused Products
Abstract
Embodiments include an overlay multicast network. The overlay multicast network may provide a set of features to ensure reliable and timely arrival of multicast data. The embodiments include a congestion control system that may prioritize designated layers of data within a data stream over other layers of the same data stream. Each data stream transmitted over the network may be given an equal share of the bandwidth. Addressing in routing tables maintained by routers may utilize summarized addressing based on the difference in location of the router and destination address. Summarization levels may be adjusted to minimize travel distances for packets in the network. Data from high priority data stream layers may also be retransmitted upon request from a destination machine to ensure reliable delivery of data.
115 Citations
18 Claims
-
1. A method comprising:
-
receiving data from a source in a single stream; storing a sequence vector of a packet within the packet on an accessible storage device, wherein the sequence vector includes; a layer identifier indicating a relative location of the packet within a hierarchy of virtual layers, and a packet identifier of a most recently received packet in each virtual layer in the stream, the layer identifier further indicating an importance of the packet, wherein the importance of the packet reflects a priority of the packet and influences a probability that the packet is selected to be dropped; forwarding the data to multiple concurrent receivers over a packet switched network via a network interface; updating a reliable list of virtual layers based on the received data and the sequence vector of the packet; detecting, by a processor in communications with the accessible storage device, inadequate bandwidth to transmit the stream to a destination; and selecting a virtual layer of high priority packets from the hierarchy of virtual layers in the stream to forward to the destination based on the layer identifier and the reliable list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification