Reliable multicast with automatic session startup and client backfil support
First Claim
1. A method on a client computer device for receiving multicast data comprisingsending a request to an on demand multicast server to receive a set of data;
- receiving an authorization to join a transmission session transmitting the data set;
receiving a value indicating a number of blocks in the data set;
sending a request to join the transmission session;
receiving one or more of the blocks in a transmission cycle; and
responding to a poll by requesting a subset of the blocks not received in the transmission cycle.
2 Assignments
0 Petitions
Accused Products
Abstract
A form of multicast, referred to as “on-demand multicast,” provides a methodology that allows for “on demand” multicasting of data. On-demand multicast allows clients to join or leave a transmission at any point. There is no transmission session start or end time—the session is continuously available, although data is not necessarily continuously transmitted. Data blocks missed by late-joining clients are retransmitted per amalgamated client requests through multiple transmission cycles until all clients that have joined the transmission session receive all content. Once a client has received all data blocks comprising the content for the session, the client may exit the ongoing session.
37 Citations
20 Claims
-
1. A method on a client computer device for receiving multicast data comprising
sending a request to an on demand multicast server to receive a set of data; -
receiving an authorization to join a transmission session transmitting the data set; receiving a value indicating a number of blocks in the data set; sending a request to join the transmission session; receiving one or more of the blocks in a transmission cycle; and responding to a poll by requesting a subset of the blocks not received in the transmission cycle. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage media, the computer-readable storage media not consisting of signals, the computer-readable storage media storing program modules, the program modules, when executed by a computing device, causing the computing device to perform a sequence of operations, the operations comprising:
-
sending a request to a multicast server to receive a set of data; receiving an authorization to join a transmission session transmitting the data set; receiving a value indicating a number of blocks in the data set; sending a request to join the transmission session; receiving one or more of the blocks in a transmission cycle; and responding to a poll by requesting a subset of the blocks not received in the transmission cycle. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computing device comprising:
-
a processing unit; and a means for storing computer-executable instructions, the means for storing computer-executable instructions storing computer-executable instructions which, when executed by the computing device, cause the computing device to perform a sequence of steps, the steps comprising; sending a request to a multicast server to receive a set of data; receiving an authorization to join a transmission session transmitting the data set; receiving a value indicating a number of blocks in the data set; sending a request to join the transmission session; receiving one or more of the blocks in a transmission cycle; and responding to a poll by requesting a subset of the blocks not received in the transmission cycle. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification