IP Library Granted Patent US 12,218,995
Granted Patent B2
US 12,218,995 · App. 17/542,056 · Granted Feb 4, 2025

Internet protocol broadcasting

Inventor: William B. Sebastian (Falmouth, MA)
Assignee: VIASAT, INC.
H04L65/611H04L12/18H04L45/16H04L49/201H04L67/561H04N7/17318H04N21/2402H04N21/252H04N21/4532H04N21/6125H04N21/6405H04N21/8405
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 12,218,995
App. No.
17/542,056
Granted
Feb 4, 2025
Kind
B2
Abstract

Methods, apparatuses, and systems are provided for improving utilization of a communications system through various atom-based techniques for enhancing the viewing experience for Internet protocol content. Some embodiments exploit atom-based processing to determine which content atoms to broadcast (e.g., multicast) over which channels to which subscribers. Other embodiments make atom-based filtering, caching, and/or other determinations at the user terminal. For example, low-level (e.g., physical layer) filtering may be used to limit the amount of user-layer processing needed, and to facilitate delivery of content to those users most likely to desire that content. Still other embodiments allow users to create customized channels of cached content for viewing as a shared channel. Embodiments include techniques for addressing synchronization of channel content and viewing, and social networking, for subscribers to the shared channel. The shared channels may be further used to facilitate social networking among subscribers.

Claims (66)

1. A method for adjusting a value of a candidate content unit in a communications system relative to an existing content unit of a client dictionary, comprising:

identifying a candidate content unit having a baseline value;

determining one or more parameters regarding an existing content unit of the client dictionary, the existing content unit comprising content that is replaceable in the client dictionary by the candidate content unit; and

adjusting the baseline value of the candidate content unit to an adjusted value based on the one or more parameters regarding the existing content unit.

2. The method of claim 1 , wherein the candidate content unit comprises at least a payload comprising content data.

3. The method of claim 1 , wherein the candidate content unit comprises at least a stream identifier, metadata, and a payload.

4. The method of claim 1 , wherein the candidate content unit comprises a network packet.

5. The method of claim 1 , wherein the one or more parameters comprises a user preference.

6. The method of claim 5 , wherein the user preference comprises a manually entered preference received from a user regarding the existing content unit.

7. The method of claim 6 , wherein the manually entered preference comprises at least one of a request to delete the existing content unit from the client dictionary or a request to keep the existing content unit in the client dictionary.

8. The method of claim 1 , further comprising:

receiving a viewing history of a subscriber;

wherein the one or more parameters comprises an indication from the viewing history of whether the existing content unit has been viewed by the subscriber.

9. The method of claim 8 , wherein the viewing history of the subscriber is generated based on viewing that occurs in a user interface of a subscriber terminal associated with the subscriber.

10. The method of claim 1 , wherein the one or more parameters comprises an age of the existing content unit in the client dictionary.

11. The method of claim 10 , wherein the existing content unit reduces in value with an increase in an amount of time the existing content unit has been in the client dictionary.

12. The method of claim 10 , wherein a rate at which the existing content unit changes in value based on an amount of time the existing content unit has been in the client dictionary is at least in part based on a content type of the existing content unit.

13. The method of claim 1 , further comprising:

evaluating whether to add the candidate content unit to a channel for multicasting based on the adjusted value.

14. The method of claim 13 , further comprising:

when it is determined to add the candidate content unit to the channel as a function of the adjusted value, multicasting the candidate content unit via the channel using the communications system to a plurality of user.

15. The method of claim 14 , further comprising:

removing the existing content unit from the client dictionary in response to determining to add the candidate content unit to the channel as a function of the adjusted value.

16. The method of claim 1 , wherein the one or more parameters is at least in part based on one or more channel management preferences.

17. The method of claim 16 , wherein the one or more channel management preferences comprises an amount of similarity for a channel.

18. The method of claim 17 , wherein similarity between the existing content unit and other content units in the channel increases a value of the existing content unit.

19. The method of claim 17 , wherein similarity between the existing content unit and other content units in the channel decreases a value of the existing content unit.

20. The method of claim 16 , wherein the one or more channel management preferences comprises an indication of relative targets of an amount of fresh data for a channel.

21. The method of claim 20 , wherein a first value of a first channel content unit in a first channel under the relative targets is higher than a second value of a second channel content unit in a second channel that is at or above the relative targets.

22. The method of claim 1 , further comprising:

determining content retention at a user terminal at least in part based on the adjusted value relative to the existing content unit.

23. The method of claim 1 , wherein the client dictionary comprises a client cache.

24. A system for adjusting a value of a candidate content unit in a communications system relative to an existing content unit of a client dictionary, comprising:

a processor; and

a non-transitory computer readable storage medium comprising instructions that when executed by the processor cause the communication system to:

identify a candidate content unit having a baseline value;

determine one or more parameters regarding an existing content unit of the client dictionary, the existing content unit comprising content that is replaceable in the client dictionary by the candidate content unit; and

adjust the baseline value of the candidate content unit to an adjusted value based on the one or more parameters regarding the existing content unit.

25. The system of claim 24 , wherein the candidate content unit comprises at least a payload comprising content data.

26. The system of claim 24 , wherein the candidate content unit comprises at least a stream identifier, metadata, and a payload.

27. The system of claim 24 , wherein the candidate content unit comprises a network packet.

28. The system of claim 24 , wherein the one or more parameters comprises a user preference.

29. The system of claim 28 , wherein the user preference comprises a manually entered preference received from a user regarding the existing content unit.

30. The system of claim 29 , wherein the manually entered preference comprises at least one of a request to delete the existing content unit from the client dictionary or a request to keep the existing content unit in the client dictionary.

31. The system of claim 24 , wherein the instructions further cause the processor to cause the communication system to:

receive a viewing history of a subscriber;

wherein the one or more parameters comprises an indication from the viewing history of whether the existing content unit has been viewed by the subscriber.

32. The system of claim 31 , wherein the viewing history of the subscriber is generated based on viewing that occurs in a user interface of a subscriber terminal associated with the subscriber.

33. The system of claim 24 , wherein the one or more parameters comprises an age of the existing content unit in the client dictionary.

34. The system of claim 33 , wherein the existing content unit reduces in value with an increase in an amount of time the existing content unit has been in the client dictionary.

35. The system of claim 34 , wherein a rate at which the existing content unit changes in value based on an amount of time the existing content unit has been in the client dictionary is at least in part based on a content type of the existing content unit.

36. The system of claim 24 , wherein the instructions further cause the processor to cause the communication system to:

evaluate whether to add the candidate content unit to a channel for multicasting based on the adjusted value.

37. The system of claim 36 , wherein the instructions further cause the processor to cause the communication system to:

when it is determined to add the candidate content unit to the channel as a function of the adjusted value, multicast the candidate content unit via the channel using the communications system to a plurality of user.

38. The system of claim 37 , wherein the instructions further cause the processor to cause the communication system to:

remove the existing content unit from the client dictionary in response to determining to add the candidate content unit to the channel as a function of the adjusted value.

39. The system of claim 24 , wherein the one or more parameters is at least in part based on one or more channel management preferences.

40. The system of claim 39 , wherein the one or more channel management preferences comprises an amount of similarity for a channel.

41. The system of claim 40 , wherein similarity between the existing content unit and other content units in the channel increases a value of the existing content unit.

42. The system of claim 40 , wherein similarity between the existing content unit and other content units in the channel decreases a value of the existing content unit.

43. The system of claim 39 , wherein the one or more channel management preferences comprises an indication of relative targets of an amount of fresh data for a channel.

44. The system of claim 43 , wherein a first value of a first channel content unit in a first channel under the relative targets is higher than a second value of a second channel content unit in a second channel that is at or above the relative targets.

45. The system of claim 24 , wherein the instructions further cause the processor to cause the communication system to:

determine content retention at a user terminal at least in part based on the adjusted value relative to the existing content unit.

46. The system of claim 24 , wherein the client dictionary comprises a client cache.

Assignments (5)
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 058988/0859 →
Continuity (7)
Continuation 16839965 · Apr 3, 2020
Continuation 15221133 · Jul 27, 2016
Continuation 14800434 · Jul 15, 2015
Division 13919938 · Jun 17, 2013
Division 12720986 · Mar 10, 2010
Provisional Application 61158997 · Mar 10, 2009
Related Publication 20220201053A1 · Jun 23, 2022
References Cited (105)
US 5408470A · Rothrock · 1995 [cited by applicant]
US 5740367A · Spilo · 1998 [cited by applicant]
US 5870754A · Dimitrova · 1999 [cited by applicant]
US 5905981A · Lawler · 1999 [cited by applicant]
US 6182133B1 · Horvitz · 2001 [cited by applicant]
US 6339787B1 · Yohe · 2002 [cited by applicant]
US 6701316B1 · Li · 2004 [cited by applicant]
US 6879808B1 · Nations · 2005 [cited by applicant]
US 7124305B2 · Margolas · 2006 [cited by applicant]
US 7130890B1 · Kumar · 2006 [cited by applicant]
US 7359956B2 · Kanai · 2008 [cited by applicant]
US 7430331B2 · Singh · 2008 [cited by applicant]
US 7509667B1 · Cook · 2009 [cited by applicant]
US 7636767B2 · Lev-Ran · 2009 [cited by applicant]
US 7639636B2 · Lee · 2009 [cited by applicant]
US 7680897B1 · Carter · 2010 [cited by applicant]
US 7681032B2 · Peled · 2010 [cited by applicant]
US 7716367B1 · Leighton · 2010 [cited by applicant]
US 7778438B2 · Malone · 2010 [cited by applicant]
US 7814149B1 · Stringham · 2010 [cited by applicant]
US 7840220B1 · Mitchell · 2010 [cited by applicant]
US 7917531B2 · Sakurai · 2011 [cited by applicant]
US 7941409B2 · Mimatsu · 2011 [cited by applicant]
US 7953881B1 · Vadlakonda · 2011 [cited by applicant]
US 8041677B2 · Summer · 2011 [cited by applicant]
US 8055616B2 · Johnston · 2011 [cited by applicant]
US 8082228B2 · Mu · 2011 [cited by applicant]
US 8284773B1 · Woleben · 2012 [cited by applicant]
US 8483217B2 · Sebastian · 2013 [cited by applicant]
US 20010016836A1 · Boccon-Gibod · 2001 [cited by applicant]
US 20010037212A1 · Motosuna · 2001 [cited by examiner]
US 20010043600A1 · Chatterjee · 2001 [cited by applicant]
US 20020010757A1 · Granik · 2002 [cited by examiner]
US 20020026478A1 · Rodgers · 2002 [cited by applicant]
US 20020073167A1 · Powell · 2002 [cited by applicant]
US 20020154887A1 · Lu · 2002 [cited by applicant]
US 20020157095A1 · Masmitsu · 2002 [cited by applicant]
US 20020188735A1 · Needham · 2002 [cited by applicant]
US 20020194473A1 · Pope · 2002 [cited by applicant]
US 20030018581A1 · Bratton · 2003 [cited by applicant]
US 20040098748A1 · Bo · 2004 [cited by applicant]
US 20040156333A1 · Bush · 2004 [cited by applicant]
US 20040266336A1 · Patsiokas · 2004 [cited by applicant]
US 20050033747A1 · Wittkotter · 2005 [cited by applicant]
US 20050053023A1 · Rajkotia · 2005 [cited by applicant]
US 20050131903A1 · Margolus · 2005 [cited by applicant]
US 20050193015A1 · Logston · 2005 [cited by examiner]
US 20060031203A1 · Rosenbaum · 2006 [cited by examiner]
US 20060036520A1 · O'Neill · 2006 [cited by applicant]
US 20060095333A1 · Gambhir · 2006 [cited by examiner]
US 20060133429A1 · Seo · 2006 [cited by applicant]
US 20060184960A1 · Horton · 2006 [cited by applicant]
US 20060217111A1 · Marolia · 2006 [cited by applicant]
US 20060277257A1 · Kromann · 2006 [cited by applicant]
US 20060288072A1 · Knapp · 2006 [cited by applicant]
US 20070033408A1 · Morten · 2007 [cited by applicant]
US 20070101074A1 · Patterson · 2007 [cited by applicant]
US 20070111713A1 · Silverbrook · 2007 [cited by applicant]
US 20070116151A1 · Thesling · 2007 [cited by applicant]
US 20070121612A1 · Nadeau · 2007 [cited by applicant]
US 20070133554A1 · Ederer · 2007 [cited by applicant]
US 20070143484A1 · Drouet · 2007 [cited by applicant]
US 20070174246A1 · Siggurdsson · 2007 [cited by applicant]
US 20070174476A1 · McEnroe · 2007 [cited by applicant]
US 20070256021A1 · Prager · 2007 [cited by applicant]
US 20070288518A1 · Crigler · 2007 [cited by applicant]
US 20080005086A1 · Moore · 2008 [cited by applicant]
US 20080040354A1 · Ray · 2008 [cited by applicant]
US 20080066182A1 · Hickmott · 2008 [cited by applicant]
US 20080144713A1 · Kimmich · 2008 [cited by applicant]
US 20080155614A1 · Cooper · 2008 [cited by applicant]
US 20080159278A1 · Balraj · 2008 [cited by applicant]
US 20080175239A1 · Sistanizadeh · 2008 [cited by applicant]
US 20080195664A1 · Maharajh · 2008 [cited by applicant]
US 20080235090A1 · Lundstrom · 2008 [cited by applicant]
US 20080235739A1 · Coebergh Van Den Braak · 2008 [cited by applicant]
US 20080256138A1 · Sim-Tang · 2008 [cited by applicant]
US 20080263130A1 · Michalowitz · 2008 [cited by applicant]
US 20080263581A1 · Turner · 2008 [cited by applicant]
US 20080320151A1 · McCanne · 2008 [cited by examiner]
US 20090005547A1 · Khvorova · 2009 [cited by applicant]
US 20090006368A1 · Mei · 2009 [cited by applicant]
US 20090037393A1 · Fredricksen · 2009 [cited by applicant]
US 20090049469A1 · Small · 2009 [cited by applicant]
US 20090055862A1 · Knoller · 2009 [cited by applicant]
US 20090060086A1 · Kimmich · 2009 [cited by applicant]
US 20090158318A1 · Levy · 2009 [cited by applicant]
US 20090168752A1 · Segel · 2009 [cited by applicant]
US 20090168795A1 · Segel · 2009 [cited by applicant]
US 20090172745A1 · Horozov · 2009 [cited by applicant]
US 20090234809A1 · Bluger · 2009 [cited by applicant]
US 20090288116A1 · Zalewski · 2009 [cited by applicant]
US 20090313329A1 · Agrawal · 2009 [cited by applicant]
US 20100005488A1 · Rakib · 2010 [cited by applicant]
US 20100058430A1 · Jones · 2010 [cited by applicant]
US 20100083322A1 · Rouse · 2010 [cited by applicant]
US 20100177642A1 · Sebastian · 2010 [cited by applicant]
US 20100180029A1 · Fourman · 2010 [cited by applicant]
US 20120060121A1 · Goldberg · 2012 [cited by applicant]
US 20130074003A1 · Dolenc · 2013 [cited by applicant]
WO WO2006116368A2 · 2006 [cited by examiner]
WO 2008070614 · 2008 [cited by applicant]
S. Selvakumara, P. Prabhakar “Implementation and comparison of distributed caching schemes,” Computer Communications 24(2001) pp. 667-684. [cited by applicant]
S. Paula, Z. Feib “Distributed caching with centralized control,” Computer Communications 24 (2001) pp. 256-268. [cited by applicant]
International Search Report and Written Opinion of PCT/US2010/026788 from the Korean Intellectual Property Office. Dated Oct. 13, 2010. [cited by applicant]