Layered multicast and fair bandwidth allocation and packet prioritization
First Claim
1. A router for managing the flow of data packets in a multicast data stream in which each data packet includes one of a plurality of possible priority designations to define a plurality of virtual streams of data, at least one virtual stream having a different priority from at least one other virtual stream, said router comprising:
- a processor configured to execute router software to process forward data packets, the forward data packets comprising data packets from a source within a data network to be processed and forwarded toward a receiver within the network, the processor further configured to process reverse data packets, the reverse data packets comprising data packets coming back from the direction of the receiver and to be forwarded back toward the source;
an outbound interceptor pipeline coupled to said processor for receiving said forward data packets, including,an outbound packet retransmission interceptor for receiving said forward data packets and for temporarily storing said forward data packets in a temporary outbound packet store and then forwarding the forward data packets;
an outbound control interceptor having an input connected to the output of said outbound packet retransmission interceptor and an output connected to a connection link in the data network for sending the forward data packets on toward the receiver, said outbound control interceptor receiving and buffering the forward data packets until said connection link is ready to receive them; and
an inbound interceptor pipeline coupled to said processor for receiving said reverse data packets which includes,an inbound packet retransmission interceptor connected to a connection link for receiving said reverse data packets and for storing said reverse data packets in a temporary inbound packet store and then forwarding the reverse data packets; and
an inbound control interceptor having an input connected to the output of said inbound packet retransmission interceptor for receiving reverse data packets, said inbound control interceptor receiving and buffering said reverse data packets until said processor is ready to process them.
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.
100 Citations
21 Claims
-
1. A router for managing the flow of data packets in a multicast data stream in which each data packet includes one of a plurality of possible priority designations to define a plurality of virtual streams of data, at least one virtual stream having a different priority from at least one other virtual stream, said router comprising:
-
a processor configured to execute router software to process forward data packets, the forward data packets comprising data packets from a source within a data network to be processed and forwarded toward a receiver within the network, the processor further configured to process reverse data packets, the reverse data packets comprising data packets coming back from the direction of the receiver and to be forwarded back toward the source; an outbound interceptor pipeline coupled to said processor for receiving said forward data packets, including, an outbound packet retransmission interceptor for receiving said forward data packets and for temporarily storing said forward data packets in a temporary outbound packet store and then forwarding the forward data packets; an outbound control interceptor having an input connected to the output of said outbound packet retransmission interceptor and an output connected to a connection link in the data network for sending the forward data packets on toward the receiver, said outbound control interceptor receiving and buffering the forward data packets until said connection link is ready to receive them; and an inbound interceptor pipeline coupled to said processor for receiving said reverse data packets which includes, an inbound packet retransmission interceptor connected to a connection link for receiving said reverse data packets and for storing said reverse data packets in a temporary inbound packet store and then forwarding the reverse data packets; and an inbound control interceptor having an input connected to the output of said inbound packet retransmission interceptor for receiving reverse data packets, said inbound control interceptor receiving and buffering said reverse data packets until said processor is ready to process them. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of managing throughput within a router in a multicast data network wherein each data packet includes one of a plurality of possible priority designations to define a plurality of separate streams of data, at least one stream having a different priority than at least one other stream, said method comprising:
-
receiving said data streams within said router; buffering said received data streams within a memory in said router with each stream being organized in a separate queue from among a plurality of queues with the oldest data packets toward the front of each queue; detecting when data within said memory utilization indicates a preselected degree of increased latency in data throughput; and designating a number of said data packets within of said memory for being dropped in response to said detection. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification