IP Library Granted Patent US 9,432,307
Granted Patent B2
US 9,432,307 · App. 14/800,434 · Granted Aug 30, 2016

Internet protocol broadcasting

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,432,307
App. No.
14/800,434
Granted
Aug 30, 2016
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 (75)

1. A method for mediating sharing of a plurality of customized channels of content atoms among a plurality of users, the content atoms being stored locally to the plurality of users, the method comprising:

selecting a subscriber group from a plurality of subscriber groups, the subscriber group being associated with a customized channel of the plurality of customized channels and comprising a set of subscribers, each subscriber in the subscriber group being one of the plurality of users that has subscribed to the customized channel;

receiving a channel history dataset associated with the customized channel from each subscriber of the subscriber group, the channel history dataset comprising representations of subscriber preferences that affect handling of the content atoms with respect to the customized channel;

generating a mediation output according to the channel history datasets, the mediation output representing a set of updates to the channel history datasets configured to substantially synchronize the handling of the content atoms with respect to the customized channel among the subscribers of the subscriber group; and

communicating the mediation output to the subscribers of the subscriber group.

2. The method of claim 1 , wherein generating the mediation output comprises directing all the subscribers of the subscriber group to assign a same value to at least one of the content atoms.

3. The method of claim 1 , wherein generating the mediation output comprises valuing at least one of the content atoms to be inversely related to how many of the subscribers of the subscriber group have previously consumed the content atom.

4. The method of claim 1 , wherein:

each subscriber of the subscriber group is associated with a user dictionary that stores at least some of the content atoms received in association with the customized channel; and

the channel history datasets indicate contents of respective user dictionaries.

5. The method of claim 4 , wherein:

at least one of the channel history datasets indicates a missing content atom from a respective at least one of the user dictionaries according to others of the channel history datasets; and

the set of updates to the channel history datasets comprises the missing content atom.

6. The method of claim 1 , further comprising:

receiving the mediation output by the subscribers of the subscriber group; and

updating the respective channel histories by the subscribers of the subscriber group according to the mediation output.

7. The method of claim 1 , wherein the selecting, the receiving, the generating, and the communicating are performed by a broadcast system.

8. The method of claim 7 , further comprising:

receiving, at the broadcast system, content data for one of the content atoms from a content source, the content data comprising payload data and descriptive data, the descriptive data including information characterizing the payload data;

calculating a value of the content atom with respect to a broadcast channel as a function of user preference models and user dictionary models associated with at least the subscribers of the subscriber group, the user dictionary models representing user dictionaries disposed locally to respective users, and the user preference models representing user preferences for local filtering of content added to the user dictionaries;

determining whether to add the content atom to the broadcast channel as a function of the calculated value of the content atom with respect to the broadcast channel; and

when it is determined to add the content atom to the broadcast channel as a function of the calculated value of the content atom with respect to the broadcast channel, multicasting the content atom via the broadcast channel over the communications path to at least the subscribers of the subscriber group.

9. The method of claim 1 , wherein at least one of the receiving or the communicating is performed using peer-to-peer communications among at least some of the subscribers of the subscriber group.

10. The method of claim 1 , further comprising:

receiving a metadata stream at a network interface system of a user terminal of one of the subscribers, the network interface system being configured to receive stream data from over the communications path at a lower layer subsystem, the lower layer subsystem being configured to determine whether to accept or ignore the stream data according to a stream identifier and to pass at least some of the stream data to a higher layer subsystem when it is determined to accept the stream data according to the stream identifier, the metadata stream being received in association with a stream identifier configured to direct the lower layer subsystem to accept the metadata stream and to pass the metadata to the higher layer subsystem, and the metadata stream comprising metadata configured to describe the content atoms to be subsequently communicated over a broadcast stream and to associate each of the content atoms with an atom identifier;

determining at the higher layer subsystem whether to accept each content atom as a function of a set of user preferences; and

when it is determined to accept each content atom:

communicating the atom identifier associated with the content atom from the higher layer subsystem to the lower layer subsystem;

receiving the content atom in association with its atom identifier over the broadcast stream subsequent to determining to accept the content atom; and

determining at the lower layer subsystem to accept the content atom as a function of its atom identifier.

11. The method of claim 1 , further comprising:

determining whether each group of the plurality of subscriber groups has been synchronized; and

when at least one group of the plurality of subscriber groups has not been synchronized:

selecting a second subscriber group from the plurality of subscriber groups, the second subscriber group being associated with a second customized channel of the plurality of customized channels and comprising a second set of subscribers, each subscriber in the second subscriber group being one of the plurality of users that has subscribed to the second customized channel;

receiving a second channel history dataset associated with the second customized channel from each subscriber of the second subscriber group;

generating a second mediation output according to the second channel history datasets; and

communicating the mediation output to the subscribers of the second subscriber group.

12. A system for mediating sharing of a plurality of customized channels of content atoms among a plurality of users, the system comprising:

a processor; and

a non-transitory computer readable medium comprising instructions, which, when executed, cause the processor to:

select a subscriber group from a plurality of subscriber groups, the subscriber group being associated with a customized channel of the plurality of customized channels and comprising a set of subscribers, each subscriber in the subscriber group being one of the plurality of users that has subscribed to the customized channel;

receive a channel history dataset associated with the customized channel from each subscriber of the subscriber group, the channel history dataset comprising representations of subscriber preferences that affect handling of the content atoms with respect to the customized channel;

generate a mediation output according to the channel history datasets, the mediation output representing a set of updates to the channel history datasets configured to substantially synchronize the handling of the content atoms with respect to the customized channel among the subscribers of the subscriber group; and

communicate the mediation output to the subscribers of the subscriber group.

13. The system of claim 12 , wherein:

each subscriber of the subscriber group is associated with a user dictionary that stores at least some of the content atoms received in association with the customized channel; and

the channel history datasets indicate contents of respective user dictionaries.

14. The system of claim 13 , wherein:

at least one of the channel history datasets indicates a missing content atom from a respective at least one of the user dictionaries according to others of the channel history datasets; and

the set of updates to the channel history datasets comprises the missing content atom.

15. The system of claim 12 , wherein the processor and the computer readable medium are implemented in a broadcast system.

16. The system of claim 15 , further comprising:

a plurality of user terminals, each associated with a respective subscriber of the subscriber group, each in communication with the broadcast system over a broadcast communications network, and each configured to:

receive the mediation output; and

update its respective channel history according to the mediation output.

17. The system of claim 16 , wherein at least one of the user terminals is further configured to:

receive a metadata stream at a network interface system of a user terminal of one of the subscribers, the network interface system being configured to receive stream data from over the communications path at a lower layer subsystem, the lower layer subsystem being configured to determine whether to accept or ignore the stream data according to a stream identifier and to pass at least some of the stream data to a higher layer subsystem when it is determined to accept the stream data according to the stream identifier, the metadata stream being received in association with a stream identifier configured to direct the lower layer subsystem to accept the metadata stream and to pass the metadata to the higher layer subsystem, and the metadata stream comprising metadata configured to describe the content atoms to be subsequently communicated over a broadcast stream and to associate each of the content atoms with an atom identifier;

determine at the higher layer subsystem whether to accept each content atom as a function of a set of user preferences; and

when it is determined to accept each content atom:

communicate the atom identifier associated with the content atom from the higher layer subsystem to the lower layer subsystem;

receive the content atom in association with its atom identifier over the broadcast stream subsequent to determining to accept the content atom; and

determine at the lower layer subsystem to accept the content atom as a function of its atom identifier.

18. The system of claim 15 , wherein the instructions, when executed, cause the broadcast system to:

receive content data for one of the content atoms from a content source, the content data comprising payload data and descriptive data, the descriptive data including information characterizing the payload data;

calculate a value of the content atom with respect to a broadcast channel as a function of user preference models and user dictionary models associated with at least the subscribers of the subscriber group, the user dictionary models representing user dictionaries disposed locally to respective users, and the user preference models representing user preferences for local filtering of content added to the user dictionaries;

determine whether to add the content atom to the broadcast channel as a function of the calculated value of the content atom with respect to the broadcast channel; and

when it is determined to add the content atom to the broadcast channel as a function of the calculated value of the content atom with respect to the broadcast channel, multicast the content atom via the broadcast channel over the communications path to at least the subscribers of the subscriber group.

19. The system of claim 12 , wherein the processor and the computer readable medium are implemented in a user terminal associated with one of the subscribers of the subscriber group in communication with at least some other subscribers of the subscriber group via a peer-to-peer network.

20. The system of claim 12 , wherein the instructions, when executed, cause the processor further to:

determine whether each group of the plurality of subscriber groups has been synchronized; and

when at least one group of the plurality of subscriber groups has not been synchronized:

select a second subscriber group from the plurality of subscriber groups, the second subscriber group being associated with a second customized channel of the plurality of customized channels and comprising a second set of subscribers, each subscriber in the second subscriber group being one of the plurality of users that has subscribed to the second customized channel;

receive a second channel history dataset associated with the second customized channel from each subscriber of the second subscriber group;

generate a second mediation output according to the second channel history datasets; and

communicate the mediation output to the subscribers of the second subscriber group.

Assignments (6)
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 Jul 30, 2015
From: SEBASTIAN, WILLIAM B
To: VIASAT, INC.
Reel/Frame 036216/0008 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2015
From: SEBASTIAN, WILLIAM B.
To: VIASAT INC.
Reel/Frame 036108/0448 →