Transport protocol for anticipatory content
First Claim
1. A method for providing reliability in a communications system having a server side in communication with a plurality of user systems via a shared communications infrastructure, the method comprising:
- identifying, in response to receiving a request for a content object from a first user system, a second user system as an anticipatory user system that is presently not requesting the content object;
multicasting the content object over the shared communications infrastructure from the server side to at least the first and second user systems in response to the identifying;
first receiving, by the server side from the first user system in response to the multicasting, a first reliability message indicating which portions of the content object were received by the first user system via the multicasting;
first communicating, by the server side to at least the first user system in response to the first reliability message, a first repair message comprising at least some of the portions of the content object not received by the first user system via the multicasting as identified by the first reliability message;
second receiving, by the server side from the second user system, a request message explicitly requesting the content object, the request message being received after the multicasting the content object;
determining, by the server side, portions of the content object not received by the second user system via the multicasting; and
second communicating, by the server side to at least the second user system in response to the request message, a response message comprising at least some of the portions of the content object determined as not received by the second user system via the multicasting.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods, apparatuses, and systems for improving utilization of a communications system (e.g., a satellite communications system) are provided, using delayed reliability techniques as part of a multicast transport protocol. Embodiments may operate in a client-server context, in which the server-side of the communication link multicasts data to requesting users and to users where the data is being speculatively prepositioned. Requesting users may implement reliability checks to verify receipt of complete data in response to the request while user systems where data is being speculatively prepositioned may receive multicast reliability information in response to reliability requests from other users, but may not request replacement of missing or corrupted data themselves until a request is made for the data by that system.
148 Citations
25 Claims
-
1. A method for providing reliability in a communications system having a server side in communication with a plurality of user systems via a shared communications infrastructure, the method comprising:
-
identifying, in response to receiving a request for a content object from a first user system, a second user system as an anticipatory user system that is presently not requesting the content object; multicasting the content object over the shared communications infrastructure from the server side to at least the first and second user systems in response to the identifying; first receiving, by the server side from the first user system in response to the multicasting, a first reliability message indicating which portions of the content object were received by the first user system via the multicasting; first communicating, by the server side to at least the first user system in response to the first reliability message, a first repair message comprising at least some of the portions of the content object not received by the first user system via the multicasting as identified by the first reliability message; second receiving, by the server side from the second user system, a request message explicitly requesting the content object, the request message being received after the multicasting the content object; determining, by the server side, portions of the content object not received by the second user system via the multicasting; and second communicating, by the server side to at least the second user system in response to the request message, a response message comprising at least some of the portions of the content object determined as not received by the second user system via the multicasting. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A server system for providing reliability in a communications system, the server system in communication with a plurality of user systems via a shared communications infrastructure, the server system comprising:
-
a multicaster module that multicasts a content object over the shared communications infrastructure from the server side to at least first and second user systems; and a server optimizer that; identifies, in response to receiving a request for a content object from a first user system, a second user system as an anticipatory user system that is presently not requesting the content object, wherein the multicasting is by the multicaster module according to the identifying; first receives, from the first user system in response to the multicasting, a first reliability message indicating which portions of the content object were received by the first user system via the multicasting; directs first communication, to at least the first user system in response to the first reliability message, of a first repair message comprising at least some of the portions of the content object not received by the first user system via the multicasting as identified by the first reliability message; second receives, from the second user system, a request message explicitly requesting the content object, the request message being received after the multicasting the content object; determines portions of the content object not received by the second user system via the multicasting; and directs second communication, to at least the second user system in response to the request message, of a response message comprising at least some of the portions of the content object determined as not received by the second user system via the multicasting. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification