IP Library Granted Patent US 9,065,906
Granted Patent B2
US 9,065,906 · App. 14/470,336 · Granted Jun 23, 2015

Opportunistic delivery of cacheable content in a communications network

Inventors: Mark D. Dankberg (Encinitas, CA); Daniel M. Newman (Littleton, MA)
Assignee: ViaSat Inc.
H04M3/42178H04B7/18584H04B7/18595H04W4/06H04B7/18517H04L67/325H04W72/005H04W72/0446
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 9,065,906
App. No.
14/470,336
Granted
Jun 23, 2015
Kind
B2
Abstract

Systems and methods are described for using opportunistically delayed delivery of content to address sub-optimal bandwidth resource usage in network infrastructures that allow subscribers to share forward link resources. According to some embodiments, content is identified as delayable and assigned to a delaycast queue and/or service flow. For example, a server system of a satellite communications system identifies content that can be delayed to exploit future excess link capacity through multicasting and to exploit subscriber-side storage resources. Some implementations attempt to exploit any excess link resources at any time, while others exploit unused bandwidth only during certain times or when a certain threshold of resources is available. Various embodiments also provide content scoring and/or other prioritization techniques for optimizing exploitation of the delaycast queue.

Claims (56)

1. A system for content delivery in a communications infrastructure, the system comprising:

a request handler subsystem that determines, in response to receiving an explicit request for a media content object from a requesting subscriber terminal over the communications infrastructure, whether the media content object is a cacheable object and whether the media content object is a delayable object; and

a communications processing subsystem that:

when the request handler subsystem determines that the media content object is a cacheable object and a delayable object:

assigns the delayable object to a delaycast queue having a plurality of queued content objects determined to be delayable objects; and

schedules the plurality of queued content objects for multicasting over opportunistic capacity as opportunistic capacity becomes available on a communications link of the communications infrastructure; and

when the request handler subsystem determines that the media content object is a cacheable object and not a delayable object:

assigns the media content object to a multicast service flow for streaming by the requesting subscriber terminal and for local caching by a plurality of non-requesting subscriber terminals; and

schedules the media content object for multicasting substantially immediately over provisioned capacity of the communications infrastructure.

2. The system of claim 1 , wherein the communications processing subsystem further:

when the request handler subsystem determines that the media content object is not a cacheable object:

assigns the media content object to a unicast service flow; and

schedules the media content object for unicasting to the requesting subscriber terminal over the communications infrastructure via the unicast service flow.

3. The system of claim 1 , wherein the request handler subsystem determines that the media content object is a cacheable object by determining that the media content object is likely to be consumed by at least one subscriber terminal other than the requesting subscriber terminal.

4. The system of claim 1 , wherein the request handler subsystem determines that the media content object is a delayable object by determining that the media content object is a valid candidate for opportunistically delayed delivery to at least the requesting subscriber terminal.

5. A system for content delivery in a communications infrastructure, the system comprising:

a request handler subsystem that determines, in response to receiving an explicit request for a media content object from a requesting subscriber terminal over the communications infrastructure, whether the media content object is a cacheable object; and

a communications processing subsystem, communicatively coupled with the request handler subsystem, that, when the request handler subsystem determines that the media content object is a cacheable object:

assigns the media content object to a multicast service flow;

multicasts the media content object via the multicast service flow to the requesting subscriber terminal and a plurality of non-requesting subscriber terminals over the communications infrastructure;

instructs the requesting subscriber terminal over the communications infrastructure to stream the media content object from the multicast service flow; and

instructs the plurality of non-requesting subscriber terminals over the communications infrastructure to store the media content object from the multicast service flow in their respective local caches.

6. The system of claim 5 , wherein the communications processing subsystem assigns the media content object to the multicast service flow using provisioned bandwidth of the communications infrastructure.

7. The system of claim 5 , wherein assigning the media content object to the multicast service flow comprises scheduling the media content object for substantially immediate delivery over the communications infrastructure.

8. The system of claim 5 , wherein:

the request handler subsystem further determines that the media content object is a non-delayable object; and

the communications processing subsystem assigns the media content object to the multicast service flow only when the request handler subsystem determines that the content object is a cacheable object and a non-delayable object.

9. The system of claim 5 , wherein determining that the media content object is a cacheable object comprises determining that the explicit request is received under a content plan to which the requesting subscriber terminal is a subscriber.

10. The system of claim 5 , wherein the communications processing subsystem unicasts the media content object via a unicast service flow only to the requesting subscriber terminal over the communications infrastructure when the request handler subsystem determines that the media content object is a not a cacheable object.

11. The system of claim 5 , further comprising:

an account manager subsystem that, in association with multicasting the media content object:

attributes first network usage to the requesting subscriber terminal according to an amount of communications infrastructure resources consumed by multicasting the media content object; and

attributes no network usage to the plurality of non-requesting subscriber terminals.

12. The system of claim 11 , wherein the account manager subsystem further:

attributes second network usage to one of the non-requesting subscriber terminals in response to determining consumption of the media content object by the non-requesting subscriber terminal from its respective local cache.

13. The system of claim 12 , wherein the second network usage is less than the first network usage.

14. The system of claim 5 , wherein the request handler subsystem and the communications processing subsystem are disposed at the provider side of the communications infrastructure.

15. A method for content delivery in a communications infrastructure, the method comprising:

receiving an explicit request for a media content object from a requesting subscriber terminal over the communications infrastructure;

determining, in response to the receiving, whether the media content object is a cacheable object; and

when the media content object is determined to be a cacheable object:

assigning the media content object to a multicast service flow;

multicasting the media content object via the multicast service flow to the requesting subscriber terminal and a plurality of non-requesting subscriber terminals over the communications infrastructure;

instructing the requesting subscriber terminal over the communications infrastructure to stream the media content object from the multicast service flow; and

instructing the plurality of non-requesting subscriber terminals over the communications infrastructure to store the media content object from the multicast service flow in their respective local caches.

16. The method of claim 15 , wherein the assigning uses provisioned bandwidth of the communications infrastructure.

17. The method of claim 15 , wherein the assigning comprises scheduling the media content object for substantially immediate delivery over the communications infrastructure.

18. The method of claim 15 , further comprising:

determining that the media content object is a non-delayable object,

wherein the assigning is only in response to the determining that the content object is a cacheable object and a non-delayable object.

19. The method of claim 15 , wherein the determining comprises determining that the explicit request is received under a content plan to which the requesting subscriber terminal is a subscriber.

20. The method of claim 15 , further comprising:

attributing, in association with multicasting the media content object, first network usage to the requesting subscriber terminal according to an amount of communications infrastructure resources consumed by multicasting the media content object without attributing network usage to the plurality of non-requesting subscriber terminals.

21. The method of claim 20 , further comprising:

attributing second network usage to one of the non-requesting subscriber terminals in response to determining consumption of the media content object by the non-requesting subscriber terminal from its respective local cache.

22. The method of claim 21 , wherein the second network usage is less than the first network usage.

Assignments (5)
SECURITY AGREEMENT Recorded Jun 1, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 063822/0446 →
SECURITY AGREEMENT Recorded Mar 7, 2022
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 059332/0558 →
SECURITY INTEREST Recorded Mar 27, 2019
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 048715/0589 →
PATENT SECURITY AGREEMENT Recorded May 24, 2016
From: VIASAT, INC.
To: MUFG UNION BANK, N.A., AS AGENT
Reel/Frame 038799/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2015
From: DANKBERG, MARK D; NEWMAN, DANIEL M
To: VIASAT, INC.
Reel/Frame 034667/0623 →
Continuity (4)
Continuation 13831008 · Mar 14, 2013
Continuation 13569811 · Aug 8, 2012
Provisional Application 61660577 · Jun 15, 2012
Related Publication 20140362761A1 · Dec 11, 2014