Data delivery system and method for delivering data and redundant information over a unidirectional network
First Claim
1. A method for sending data packets over a unidirectional network, comprising the following steps:
- grouping multiple data packets into a redundancy group;
forming at least one redundancy packet containing redundancy information generated from the data packets in the redundancy group; and
sending the data packets and the redundancy packet over the unidirectional network.
2 Assignments
0 Petitions
Accused Products
Abstract
A data delivery system facilitates transmission of data packets from a content server to multiple clients over a unidirectional network. A redundancy formatter resident at the server groups multiple data packets into a redundancy group and generates at least one redundancy packet containing redundancy information derived from the data packets in the redundancy group. The data packets and redundancy packet are sent over the unidirectional network to the client. In the event that a packet is lost, a packet rebuilder resident at each client reconstructs the missing data packet from the successfully transmitted data packets in the redundancy group and the redundancy packet for the redundancy group.
-
Citations
35 Claims
-
1. A method for sending data packets over a unidirectional network, comprising the following steps:
-
grouping multiple data packets into a redundancy group; forming at least one redundancy packet containing redundancy information generated from the data packets in the redundancy group; and sending the data packets and the redundancy packet over the unidirectional network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for serving multiple data packets for a data transmission over a unidirectional network, comprising the following steps:
-
assigning a content identifier to each data packet to identify the data packet as belonging to the data transmission; assigning a unique packet identifier to each data packet; grouping the data packets into multiple redundancy groups, each redundancy group having multiple data packets; assigning a redundancy group identifier to every data packet within a particular redundancy group to identify the data packets as belonging to the particular redundancy group; forming at least one redundancy packet for associated ones of the redundancy groups, the redundancy packet containing redundancy information generated from the data packets in the associated redundancy group; and assigning a redundancy group count to each data packet within the particular redundancy group to represent a total number of packets within the particular redundancy group. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method for handling data packets transmitted over a unidirectional network, comprising the following steps:
-
receiving data packets carried over the unidirectional network, the data packets belonging to various redundancy groups; receiving redundancy packets carried over the unidirectional network, the redundancy packets belonging to the various redundancy groups and containing redundancy information generated from the data packets in associated redundancy groups; gathering the data packets and the redundancy packets into respective ones of the redundancy groups; checking each redundancy group to determine if any of the data packets are missing; and in an event that a particular data packet is missing from a particular redundancy group, reconstructing the particular data packet from remaining ones of the data packets in the particular redundancy group and the redundancy packet for the particular redundancy group. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. In a data delivery system for sending data packets from a server to a client over a unidirectional network, the client and the server each having a computer-readable medium, the computer-readable media on the server and the client having computer-executable instructions for performing steps comprising:
-
grouping multiple data packets into a redundancy group at the server; generating at least one redundancy packet containing redundancy information derived from the data packets in the redundancy group; sending the data packets and the redundancy packet over the unidirectional network; and reconstructing at the client any data packet missing from the redundancy group using remaining ones of the data packets in the redundancy group and the redundancy packet for the redundancy group. - View Dependent Claims (27)
-
-
28. A data delivery system for sending data packets from a server to a client over a unidirectional network, comprising:
-
a redundancy formatter located at the server, the redundancy formatter grouping multiple data packets into a redundancy group and generating at least one redundancy packet containing redundancy information derived from the data packets in the redundancy group; and a packet rebuilder located at the client, the packet rebuilder reconstructing any data packet missing from the redundancy group using remaining ones of the data packets in the redundancy group and the redundancy packet for the redundancy group. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
-
35. A computer-readable memory having a packet structure for a data packet to be carried by a unidirectional network as part of a data transmission, the data packet belonging to a group of data packets, the network packet structure comprising:
-
a header comprising; a packet identifier field to uniquely identify the data packet; a content identifier field to uniquely identify the data packet as belonging to a particular data transmission; a redundancy group identifier field to identify the packet as belonging to a redundancy group of data packets, the redundancy group comprising multiple data packets and at least one redundancy packet derived from the data packets; a redundancy group count to represent a total number of the packets contained within the redundancy group to which the data packet belongs; and a data payload joined to the header to hold the data of the data packet.
-
Specification