Reliable multicast with automatic session startup and client backfil support
First Claim
1. A method on a computer server for multicasting data to a number of client devices comprisingreceiving a number of requests from one or more requesting client devices for respective blocks of a set of data;
- if there is no current transmission session corresponding to the requests,creating a transmission session of the blocks of the data set;
joining the requesting client devices to the transmission session; and
transmitting the blocks to the requesting client devices;
if there is a current transmission session corresponding to the requests,allowing additional requesting client devices to join the transmission session; and
continuing the transmission session until all requests from any joined client devices are satisfied.
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.
42 Citations
20 Claims
-
1. A method on a computer server for multicasting data to a number of client devices comprising
receiving a number of requests from one or more requesting client devices for respective blocks of a set of data; -
if there is no current transmission session corresponding to the requests, creating a transmission session of the blocks of the data set; joining the requesting client devices to the transmission session; and transmitting the blocks to the requesting client devices; if there is a current transmission session corresponding to the requests, allowing additional requesting client devices to join the transmission session; and continuing the transmission session until all requests from any joined client devices are satisfied. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable medium having computer-executable instructions for performing a computer process implementing a multicasting session on a computer server, the instructions comprising causing the computer server to
acknowledge a number of requests from one or more requesting client devices for respective blocks of a set of data; -
if there is no current transmission session corresponding to the requests, create a transmission session of the blocks of the data set; join the requesting client devices to the transmission session; and transmit the blocks to the requesting client devices; if there is a current transmission session corresponding to the requests, join additional requesting client devices the transmission session; and continue the transmission session until all requests from any joined client devices are satisfied. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. 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 more of the blocks in a transmission cycle; responding to a poll by requesting a subset of the blocks not received in the transmission cycle. - View Dependent Claims (19, 20)
-
Specification