IP Library Granted Patent US 8,311,048
Granted Patent B2
US 8,311,048 · App. 12/436,706 · Granted Nov 13, 2012

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 8,311,048
App. No.
12/436,706
Granted
Nov 13, 2012
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 (70)

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 object to a transmitter;

providing receiver control data to the transmitter, the receiver control data including a value for a listener interval that represents a maximum period over which the receiver may be powered down or off;

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 if the receiver is powered down or off for a time period less than the listener interval, then the receiver is able to receive a set of the one or more data packets such that each data object can be reassembled from the received set of the one or more data packets,

wherein the value for the listener interval is determined based on one or more of a desired maximum notification time for new objects for an existing listener, a maximum total number of objects to be available to a listener at one time, an expected average and maximum size of the objects, a datacast bandwidth available to the application, or a desired outage victim coverage time that specifies a limit for reception outage durations such that the receiver still has coverage with respect to the transport of the set of data objects over the network.

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 data packet transmission.

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 data packet transmission.

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 the 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 are transmitted for a period equal to or greater than the sum of the listener interval and a time period sufficient for transmission of the data object once reliably.

12. The method of claim 11 , wherein the data packets are transmitted as part of an update carousel, and further, wherein the data packets are removed from the carousel after the listener interval and subsequent reliable transmission are completed.

13. A method of operating a client device to receive a set of data objects transmitted to the device over a network, comprising:

receiving a plurality of data packets;

assembling the plurality of data packets into one or more data objects;

receiving control data, the control data including a value for a listener interval that represents a maximum period over which a client receiver may be powered down or off;

receiving session state data that indicates the data objects contained in the set of data objects; and

powering down the receiver or stopping the processing of received data packets when it is determined based at least in part on the session state data that there is no object that is currently being transmitted that has not yet been received and assembled,

wherein the value for the listener interval is determined based on one or more of a desired maximum notification time for new objects for an existing listener, a maximum total number of objects to be available to a listener at one time, an expected average and maximum size of the objects, a datacast bandwidth available to the application, or a desired outage victim coverage time that specifies a limit for reception outage durations such that the receiver still has coverage with respect to the transport of the set of data objects over the network.

14. The method of claim 13 , further comprising:

generating instructions for controlling the operation of the client receiver based on the value for the listener interval; and

operating the client receiver in accordance with the instructions.

15. The method of claim 13 , wherein the 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.

16. The method of claim 13 , wherein the control data further comprises data indicating a change in a session parameter.

17. The method of claim 13 , wherein at least some of the control data is provided as part of the transmission of the data packets.

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

19. The method of claim 13 , wherein at least some of the control data is provided in a transmission over a different network from the network used for the data packet transmission.

20. The method of claim 13 , wherein the control data is provided as data elements used as part of the protocol used to transmit the data packets.

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

22. A datacast system for transporting a set of data objects over a network, comprising:

a server platform comprising:

a data object packetizer for generating one or more data packets from each data object;

a receiver control data generator for generating data for controlling the operation of a receiver, the control data including a value for a listener interval that represents a maximum period over which the receiver may be powered down or off, and session state data that indicates the membership of the set of objects; and

a transmitter controller for controlling the operation of a transmitter that transmits the one or more data packets and the receiver control data over the network; and

a client platform comprising:

a data object reassembler for reassembling the data object from the one or more data packets; and

a listener management module for accessing the control data and in response generating instructions for controlling the operation of a receiver that receives one or more of the transmitted data packets and the receiver control data over the network,

wherein the value for the listener interval is determined based on one or more of a desired maximum notification time for new objects for an existing listener, a maximum total number of objects to be available to a listener at one time, an expected average and maximum size of the objects, a datacast bandwidth available to the application, or a desired outage victim coverage time that specifies a limit for reception outage durations such that the receiver still has coverage with respect to the transport of the set of data objects over the network.

23. The system of claim 22 , wherein the 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.

24. The system of claim 22 , wherein the control data further comprises data indicating a change in a session parameter.

25. The system of claim 22 , wherein the transmitter controller is configured to operate the transmitter so that if the receiver is powered down or off for a time period less than the listener interval, then the receiver is able to receive the one or more data packets for the data object with a predetermined measure of reliability.

26. The system of claim 22 , wherein the listener management module is configured to power down the receiver or stop the processing of received data packets when it is determined from the session state data that there is no object that is currently being transmitted that has not yet been received and reassembled.

27. 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, at least:

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 object to a transmitter;

provide receiver control data to the transmitter, the receiver control data including a value for a listener interval that represents a maximum period over which a receiver may be powered down or off;

operate the transmitter to cause transmission of the receiver control data over the 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 if the receiver is powered down or off for a time period less than the listener interval, then the receiver is able to receive a set of the one or more data packets such that each data object can be reassembled from the received set of the one or more data packets,

wherein the value for the listener interval is determined based on one or more of a desired maximum notification time for new objects for an existing listener, a maximum total number of objects to be available to a listener at one time, an expected average and maximum size of the objects, a datacast bandwidth available to the application, or a desired outage victim coverage time that specifies a limit for reception outage durations such that the receiver still has coverage with respect to the transport of the set of data objects over the network.

28. A datacast client 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, at least:

receive a plurality of data packets;

assemble the plurality of data packets into one or more data objects; and

receive control data, the control data including a value for a listener interval that represents a maximum period over which a client receiver may be powered down or off;

receive session state data that indicates the data objects contained in a set of data objects; and

powering down the receiver or stopping the processing of received data packets when it is determined based at least in part on the session state data that there is no object that is currently being transmitted that has not yet been received and assembled,

wherein the value for the listener interval is determined based on one or more of a desired maximum notification time for new objects for an existing listener, a maximum total number of objects to be available to a listener at one time, an expected average and maximum size of the objects, a datacast bandwidth available to the application, or a desired outage victim coverage time that specifies a limit for reception outage durations such that the receiver still has coverage with respect to the transport of the set of data objects over the network.

Assignments (12)
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: QUICKPLAY MEDIA CO.
To: QP HOLDINGS, LLC
Reel/Frame 052188/0914 →
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: 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 →
RELEASE OF SECURITY INTEREST Recorded Jun 28, 2016
From: ORIX VENTURES, LLC
To: 9200509 CANADA INC.
Reel/Frame 039204/0033 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2015
From: ROUNDBOX, INC.
To: 9200509 CANADA INC.
Reel/Frame 036248/0837 →
SECURITY INTEREST Recorded Jul 23, 2015
From: 9200509 CANADA INC,.
To: ORIX VENTURES, LLC
Reel/Frame 036161/0663 →