IP Library Granted Patent US 11,777,654
Granted Patent B2
US 11,777,654 · App. 17/462,345 · Granted Oct 3, 2023

Transport protocol for anticipatory content

Inventor: William B. Sebastian (Campton, NH)
Assignee: VIASAT, INC.
H04L1/08H04L12/18H04L12/1863H04L43/0823H04L65/612H04L67/1097H04N21/2402H04N21/6375H04N21/6405H04N21/6408H04N21/6583H04N21/835
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,777,654
App. No.
17/462,345
Granted
Oct 3, 2023
Kind
B2
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.

Claims (38)

1. A method for a communication system comprising a server side and a plurality of user systems via a shared forward link of the communication system, the method comprising:

receiving data blocks of a content object, wherein the content object is requested by a first user system of the plurality of user systems and not by a second user system;

multicasting the data blocks of the content object to the first user system and the second user system in a multicast communication over the shared forward link, wherein the second user system caches fewer than all of the data blocks of the content object in client storage of the second user system, and wherein the fewer than all of the data blocks of the content object in client storage of the second user system are cached such that the content object is inaccessible to the second user system;

receiving a request subsequent to the multicasting from the second user system for missing data blocks of the content object not cached by the second user system; and

communicating at least one index to the second user system in response to the request, wherein the at least one index facilitates recreation of at least a portion of the content object using the fewer than all of the data blocks of the content object in client storage of the second user system.

2. The method of claim 1 , wherein the request from the second user system comprises an identification of the missing data blocks.

3. The method of claim 2 , wherein the second user system identifies the missing data blocks prior to requesting the missing data blocks.

4. The method of claim 2 , wherein the second user system identifies the missing data blocks when generating the request for the missing data blocks.

5. The method of claim 1 , further comprising:

multicasting an object repair message in response to receipt of a reliability message from the first user system; and

wherein the second user system caches additional data blocks from the object repair message.

6. The method of claim 5 , wherein the second user system updates an identification of missing portions of the data blocks not received in the multicast communication or the object repair message in response to receipt of the object repair message.

7. The method of claim 1 , further comprising:

communicating at least the missing data blocks of the content object to the second user system in response to receiving the request.

8. The method of claim 1 , wherein the request comprises a positive acknowledgement of each of the fewer than all of the data blocks successfully received at the first user system.

9. The method of claim 1 , wherein the request comprises negative acknowledgement of each of the missing data blocks not cached by the second user system.

10. A server system for multicasting to a plurality of user systems via a shared forward link, the server system comprising:

a server optimizer configured to receive data blocks of a content object from a content source, wherein the content object is requested by a first user system of the plurality of user systems and not by a second user system; and

a multicaster module, communicatively coupled with the server optimizer and configured to multicast the data blocks of the content object to the first user system and the second user system in a multicast communication over the shared forward link, wherein the second user system caches fewer than all of the data blocks of the content object in client storage of the second user system, and wherein the fewer than all of the data blocks of the content object in client storage of the second user system are cached such that the content object is inaccessible to the second user system;

wherein the server optimizer is further configured to receive a request subsequent to the multicasting from the second user system for missing data blocks of the content object not cached by the second user system, wherein the multicaster module is operative to communicate at least one index to the second user system in response to the request, and wherein the at least one index facilitates recreation of at least a portion of the content object using the fewer than all of the data blocks of the content object in client storage of the second user system.

11. The server system of claim 10 , wherein the request from the second user system comprises an identification of the missing data blocks.

12. The server system of claim 11 , wherein the second user system identifies the missing data blocks prior to requesting the missing data blocks.

13. The server system of claim 11 , wherein the second user system identifies the missing data blocks when generating the request for the missing data blocks.

14. The server system of claim 10 , wherein:

the multicaster module is operative to multicast an object repair message in response to receipt of a reliability message from the first user system; and

wherein the second user system caches additional data blocks from the object repair message.

15. The server system of claim 14 , wherein the second user system updates an identification of missing portions of the data blocks not received in the multicast communication or the object repair message in response to receipt of the object repair message.

16. The server system of claim 10 , wherein:

the multicaster module is operative to communicate at least the missing data blocks of the content object to the second user system in response to receiving the request.

17. The server system of claim 10 , wherein the request comprises a positive acknowledgement of each of the fewer than all of the data blocks successfully received at the first user system.

18. The server system of claim 10 , wherein the request comprises negative acknowledgement of each of the missing data blocks not cached by the second user system.

19. A computing device comprising:

a memory; and

a processor configured to execute processor-executable program code stored in memory, the processor-executable program code configured to cause the processor to:

receive data blocks of a content object, wherein the content object is requested by a first user system of a plurality of user systems and not by a second user system;

multicast the data blocks of the content object to the first user system and the second user system in a multicast communication over a shared forward link, wherein the second user system caches fewer than all of the data blocks of the content object in client storage of the second user system, and wherein the fewer than all of the data blocks of the content object in client storage of the second user system are cached such that the content object is inaccessible to the second user system;

receive a request subsequent to the multicasting from the second user system for missing data blocks of the content object not cached by the second user system; and

communicate at least one index to the second user system in response to the request, wherein the at least one index facilitates recreation of at least a portion of the content object using the fewer than all of the data blocks of the content object in client storage of the second user system.

Assignments (11)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 64176/0566 Recorded Jun 6, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
To: VIASAT, INC.
Reel/Frame 071510/0382 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 063822/0446 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071495/0223 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2025
From: MUFG BANK, LTD., AS AGENT
To: VIASAT, INC.
Reel/Frame 071321/0001 →
PARTIAL RELEASE OF SECURITY INTEREST AT REEL/FRAME 064164/0152 Recorded Jun 4, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VIASAT, INC.
Reel/Frame 071484/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: VIASAT, INC.
To: SNAPPI HOLDCO, INC.
Reel/Frame 070293/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: SNAPPI HOLDCO, INC.
To: SNAPPI, INC.
Reel/Frame 070293/0879 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 19, 2023
From: VIASAT, INC.
To: MUFG BANK, LTD., AS AGENT
Reel/Frame 064948/0379 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Jun 29, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 064164/0152 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Jun 29, 2023
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 064176/0566 →
SECURITY AGREEMENT Recorded Jun 1, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 063822/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2022
From: SEBASTIAN, WILLIAM B.
To: VIASAT, INC.
Reel/Frame 058989/0026 →