System and method for receiving packet data multicast in sequential looping fashion
First Claim
1. A computer implemented method for receiving content data transmitted from a server in a sequence of packets, the server repeatedly transmitting the packets in sequence, the method comprising:
- upon receipt of a first packet from the server, deriving from the packet a number of the packet in the sequence and a total number of packets in the sequence;
generating and storing an index having an entry for each of the packets in the sequence based upon the total number of packets in the sequence;
updating the index for each packet received subsequent to the first packet;
detecting based on the index whether any subsequent packet is missing from the sequence of packets; and
if a missing packet is detected, determining whether the first time required to retrieve the missing packet by waiting for the packet to be received in the repeating sequence is greater than a threshold time and, if the first time is greater than the threshold time, requesting the missing packet to be delivered from a server.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method are described for receiving content in data packets transmitted in repeating loops of the packets arranged in a given sequence. A client subscribes to receive the content from a server. The header of each packet identifies the total number of packets in the sequence, the packet number for the current packet, and the size of the packet. The client begins receiving the packets at any point in the transmission sequence and then uses this header information to set up an index for tracking the receipt of the entire sequence. The index is used in particular to identify any packets that are missing and have not been received. The client determines whether it is better to wait for a missing packet to reappear in the sequence or to specifically request the missing packet from the server.
-
Citations
22 Claims
-
1. A computer implemented method for receiving content data transmitted from a server in a sequence of packets, the server repeatedly transmitting the packets in sequence, the method comprising:
-
upon receipt of a first packet from the server, deriving from the packet a number of the packet in the sequence and a total number of packets in the sequence;
generating and storing an index having an entry for each of the packets in the sequence based upon the total number of packets in the sequence;
updating the index for each packet received subsequent to the first packet;
detecting based on the index whether any subsequent packet is missing from the sequence of packets; and
if a missing packet is detected, determining whether the first time required to retrieve the missing packet by waiting for the packet to be received in the repeating sequence is greater than a threshold time and, if the first time is greater than the threshold time, requesting the missing packet to be delivered from a server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for delivering content from a server to one or more clients, the system comprising:
-
a multicast server for transmitting an item of content in a sequence of packets, each packet containing a header storing a number of the packet in the sequence, the packets being transmitted as repeating loops of the packets in sequence;
a client system for subscribing to the multicast server, receiving the transmitted packets, tracking the receipt of packets using the packet numbers, identifying any packets in the sequence which are missing based on the tracked packet numbers, and deciding whether to wait for any given missing packet to be received in the subsequent loop or request the missing packet from the server;
the multicast server transmitting the missing packet in response to a request received from the client system. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A computer readable medium storing program code for, when executed, causing a computer to perform a method for receiving content data transmitted from a server in a sequence of packets, the server repeatedly transmitting the packets in sequence, the method comprising:
-
upon receipt of a first packet from the server, deriving from the packet a number of the packet in the sequence and a total number of packets in the sequence;
generating and storing an index having an entry for each of the packets in the sequence based upon the total number of packets in the sequence;
updating the index for each packet received subsequent to the first packet;
detecting based on the index whether any subsequent packet is missing from the sequence of packets; and
if a missing packet is detected, determining whether the first time required to retrieve the missing packet by waiting for the packet to be received in the repeating sequence is greater than a threshold time and, if the first time is greater than the threshold time, requesting the missing packet to be delivered from a server.
-
-
22. A computer implemented method for transmitting content data from a server to one or more clients, the method comprising:
-
breaking the content data into a plurality of data packets arranged in a sequence;
inserting into a header of each data packet a total number of packets in the sequence, a number of the particular packet in the sequence, and data representing a size of the data in the particular data packet;
repeatedly transmitting the data packets in sequence; and
upon request from a client for transmission of a given data packet, transmitting the given data packet in response to the request without waiting for the packet to appear in sequence.
-
Specification