Layered multicast and fair bandwidth allocation and packet prioritization
First Claim
1. A method for generating an output stream of data, the method comprising:
- receiving a stream of input data comprising a sequence of data packets representing market price information of a set of traded goods, each unique traded good in the set of traded goods associated with a unique element indicator, wherein each data packet in the sequence of data packets includes an element indicator relating the data packet with a particular traded good in the set of traded goods, and wherein each data packet of the sequence of data packets includes a sequence indicator corresponding to an order within the stream that the data packet was received;
storing each of the data packets in a circular buffer based upon the element indicator included with the data packet, wherein a received data packet having a same element indicator as a previously received data packet already present in the circular buffer is stored by replacing the previously received data packet having the same element indicator if the sequence indicator indicates that the received data packet is more recently received than the existing data packet, and wherein a received data packet having an element indicator not already present in a packet already stored in the circular buffer is stored in a new position in the circular buffer; and
sequentially extracting each packet from the circular buffer to form the output stream of data for delivery to one or more users.
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.
-
Citations
18 Claims
-
1. A method for generating an output stream of data, the method comprising:
-
receiving a stream of input data comprising a sequence of data packets representing market price information of a set of traded goods, each unique traded good in the set of traded goods associated with a unique element indicator, wherein each data packet in the sequence of data packets includes an element indicator relating the data packet with a particular traded good in the set of traded goods, and wherein each data packet of the sequence of data packets includes a sequence indicator corresponding to an order within the stream that the data packet was received; storing each of the data packets in a circular buffer based upon the element indicator included with the data packet, wherein a received data packet having a same element indicator as a previously received data packet already present in the circular buffer is stored by replacing the previously received data packet having the same element indicator if the sequence indicator indicates that the received data packet is more recently received than the existing data packet, and wherein a received data packet having an element indicator not already present in a packet already stored in the circular buffer is stored in a new position in the circular buffer; and sequentially extracting each packet from the circular buffer to form the output stream of data for delivery to one or more users. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A network node for generating an output stream of data, the network node comprising:
-
a memory; a processor; and a network interface; wherein the network node is configured to receive, via the network interface, a stream of input data comprising a sequence of data packets representing market price information of a set of traded goods, each unique traded good in the set of traded goods associated with a unique element indicator, wherein each data packet in the sequence of data packets includes an element indicator relating the data packet with a particular traded good in the set of traded goods, and wherein each data packet of the sequence of data packets includes a sequence indicator corresponding to an order within the stream that the data packet was received; wherein the memory is configured to store each of the data packets in a circular buffer based upon the element indicator included with the data packet, wherein a received data packet having a same element indicator as a previously received data packet already present in the circular buffer is stored by replacing the previously received data packet having the same element indicator if the sequence indicator indicates that the received data packet is more recently received than the existing data packet, and wherein a received data packet having an element indicator not already present in a packet already stored in the circular buffer is stored in a new position in the circular buffer; and wherein the processor is executing instructions for sequentially extracting each packet from the circular buffer to form the output stream of data for delivery to one or more users. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method of generating an output data stream comprising data parsed from an incoming sequence of data elements, the method implemented in a network node comprising a network interface, memory, and a processor, wherein the processor executes instructions to cause the network node to perform the method, comprising:
-
receiving the incoming sequence of data elements, wherein each of the data elements comprises a first indicator identifying an item to which the data element relates, a second indicator identifying a current value of the item, and a third indicator identifying a location of the data element within the incoming sequence of data elements; storing each of the data elements parsed from the incoming sequence of data elements into a position within a circular buffer based upon the first indicator, wherein a received data packet having a same first indicator as a previously received data packet in the circular buffer is stored by replacing the previously received data packet if the third indicator indicates that the received data packet was received later in the sequence, and wherein a received data packet having a first indicator that is not the same as a previously received data packet in the circular buffer is stored in a new position in the circular buffer; extracting each of the data elements from the circular buffer stored in the memory in an orderly sequence to form an output stream, wherein each of the data elements comprises the current value for a related item. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification