IP Library Granted Patent US 9,992,284
Granted Patent B2
US 9,992,284 · App. 14/618,948 · Granted Jun 5, 2018

Datacasting system with intermittent listener capability

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,992,284
App. No.
14/618,948
Granted
Jun 5, 2018
Kind
B2
Abstract

A server-client system or architecture that allows datacast applications to reliably transport data objects from a network server over a unidirectional packet network (“datacast network”) to one or more clients, each of which may be listening to the packet stream at different times. The invention allows the clients to listen intermittently to the datacast, yet still receive all of the data objects published by the server in a timely manner, and in a way that is more optimal in terms of client resource use. This ensures that listening clients can receive a complete set of the data objects broadcast while being able to conserve client processing and power resources by not requiring continuous listening by the client to the datacast.

Claims (43)

1. A method of transporting a set of data objects over a network for reception by a receiver, comprising:

obtaining the set of data objects at a server;

separating each data object into one or more data packets;

providing the one or more data packets for each data object to a file carousel, wherein the file carousel provides each respective packet of the one or more data packets to a transmitter for a respective time duration, each respective time duration for the one or more data packets included in a cycle of the file carousel;

providing receiver control data to the transmitter, the receiver control data including:

a value for a listener interval that represents a maximum period of time over which the receiver may be powered down or off, wherein multiple additional data packets for multiple additional data objects are added to the carousel during the listener interval, and

a change indicator indicating that the multiple additional data objects are added to the set of data objects and that one or more additional data packets for the additional data objects are added to the file carousel, wherein the change indicator indicates to the receiver to check for the multiple additional data packets;

operating the transmitter to cause transmission of the receiver control data over the network for reception by the receiver; and

operating the transmitter to cause transmission of the data packets over the network for reception by the receiver, wherein the transmitter is operated such that each respective packet of the one or more data packets is available for transmission for the respective time duration included in the cycle, each respective time duration occurring during the maximum period of time represented by the listener interval,

wherein each of the multiple additional data packets are available for transmission for the period of time represented by the listener interval and the change indicator indicates to the receiver to continue to listen to the transmitter until each of the multiple additional data packets are received, and

wherein each of the multiple additional data packets are removed from the file carousel after completion of the period of time represented by the listener interval.

2. The method of claim 1 , further comprising operating the transmitter to cause transmission of session state data that indicates the data objects contained in the set of data objects.

3. The method of claim 1 , wherein at least some of the receiver control data is provided as part of the transmission of the data packets.

4. The method of claim 1 , wherein at least some of the receiver control data is provided in a separate transmission from the data packets.

5. The method of claim 1 , wherein at least some of the receiver control data is provided over a different network from the network used for the transmission of the data packets.

6. The method of claim 1 , wherein at least some of the receiver control data is obtained by the receiver at a time prior to, or during, the transmission of the data packets.

7. The method of claim 1 , wherein at least some of the receiver control data is configured in advance by a client application or provided by a user of the application.

8. The method of claim 1 , wherein the receiver control data is provided as data elements used as part of a protocol used to transmit the data packets.

9. The method of claim 1 , wherein the receiver control data further comprises data indicating a change in membership of the set of objects transmitted in response to an object being added to or removed from the set currently being transmitted.

10. The method of claim 1 , wherein the receiver control data further comprises data indicating a change in a session parameter.

11. The method of claim 1 , wherein the data packets for a particular data object are transmitted for a period equal to or greater than a sum of the listener interval and a time period sufficient for transmission of the particular data object once reliably.

12. The method of claim 11 , wherein the data packets for the particular data object are removed from the file carousel after the listener interval and subsequent reliable transmission are completed.

13. The method of claim 1 , wherein a value for the listener interval is determined based on one or more of a desired maximum notification time for new data objects for an existing listener, a maximum total number of data objects to be available to a listener at one time, an expected average and maximum size of the data objects, a datacast bandwidth available to an application, or a desired outage victim coverage time.

14. A datacast server platform, comprising:

a processor configured to execute a set of instructions;

a memory configured to store the set of instructions; and

a set of instructions stored in the memory, wherein when executed by the processor, the set of instructions implement a method to:

obtain a set of data objects from an application;

separate each data object into one or more data packets;

provide the one or more data packets for each data object to a file carousel, wherein the file carousel provides each respective packet of the one or more data packets to a transmitter for a respective time duration, each respective time duration for the one or more data packets included in a cycle of the file carousel;

provide receiver control data to the transmitter, the receiver control data including:

a value for a listener interval that represents a maximum period of time over which a receiver may be powered down or off, wherein multiple additional data packets for multiple additional data objects are added to the carousel during the listener interval, and

a change indicator indicating that the multiple additional data objects are added to the set of data objects, wherein the change indicator indicates to the receiver checks for the multiple additional data packets based on the change indicator, and;

operate the transmitter to cause transmission of the receiver control data over a network for reception by the receiver; and

operate the transmitter to cause transmission of the data packets over the network for reception by the receiver, wherein the transmitter is operated such that each respective packet of the one or more data packets is available for transmission for the respective time duration included in the cycle, each respective time duration occurring during the maximum period of time represented by the listener interval,

wherein each of the multiple additional data packets are available for transmission for the period of time represented by the listener interval and the change indicator indicates to the receiver continues to listen to the transmitter until each of the multiple additional data packets are received, and

wherein each of the multiple additional data packets are removed from the file carousel after completion of the period of time represented by the listener interval.

15. The datacast server platform of claim 14 , wherein at least some of the receiver control data is provided over a different network from the network used for the transmission of the data packets.

16. The datacast server platform of claim 14 , wherein at least some of the receiver control data is obtained by the receiver at a time prior to, or during, the transmission of the data packets.

17. The datacast server platform of claim 14 , wherein at least some of the receiver control data is configured in advance by a client application or provided by a user of the application.

18. The datacast server platform of claim 14 , wherein the data packets for a particular data object are transmitted for a period equal to or greater than a sum of the listener interval and a time period sufficient for transmission of the particular data object once reliably.

19. The datacast server platform of claim 18 , wherein the data packets for the particular data object are removed from the file carousel after the listener interval and subsequent reliable transmission are completed.

20. The datacast server platform of claim 14 , wherein a value for the listener interval is determined based on one or more of a desired maximum notification time for new data objects for an existing listener, a maximum total number of data objects to be available to a listener at one time, an expected average and maximum size of the data objects, a datacast bandwidth available to an application, or a desired outage victim coverage time.

Assignments (11)
SUCCESSION OF AGENCY IN PATENT SECURITY INTERESTS Recorded Oct 3, 2025
From: UBS AG, STAMFORD BRANCH (AS SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH)
To: UBS AG, STAMFORD BRANCH
Reel/Frame 072994/0001 →
SECURITY AGREEMENT Recorded Jan 25, 2024
From: DIRECTV, LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 066371/0690 →
SECURITY AGREEMENT Recorded Aug 5, 2021
From: DIRECTV, LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A. AS COLLATERAL AGENT
Reel/Frame 058220/0531 →
SECURITY AGREEMENT Recorded Aug 3, 2021
From: DIRECTV, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 057695/0084 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: THE DIRECTV GROUP, INC.
To: DIRECTV, LLC
Reel/Frame 057096/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2020
From: 920059 CANADA INC.
To: QUICKPLAY MEDIA CO.
Reel/Frame 052152/0073 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2020
From: QUICKPLAY MEDIA CO.
To: QP HOLDINGS, LLC
Reel/Frame 052188/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2020
From: QP HOLDINGS, LLC
To: THE DIRECTV GROUP, INC.
Reel/Frame 052189/0024 →
CHANGE OF NAME Recorded Mar 17, 2020
From: QUICKPLAY MEDIA INC.
To: QUICKPLAY MEDIA CO.
Reel/Frame 052184/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2020
From: ROUNDBOX, INC.
To: 9200509 CANADA INC.
Reel/Frame 052137/0467 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2015
From: MATAGA, PETER ANDREW; SLEPCHIN, IGOR
To: ROUNDBOX, INC.
Reel/Frame 035506/0022 →