IP Library Granted Patent US 8,953,627
Granted Patent B2
US 8,953,627 · App. 13/648,635 · Granted Feb 10, 2015

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,953,627
App. No.
13/648,635
Granted
Feb 10, 2015
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 (73)

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 corresponding to a data object of the set of data objects;

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 at a reduced level 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 a desired acquisition time of the corresponding data object such that, for at least two data objects of the set of data objects, different values are determined for each corresponding 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 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. 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 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.

14. 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; and

receiving control data, the control data including a value for a listener interval corresponding to a data object of the set of data objects;

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

powering the receiver at a reduced level 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 data 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 a desired acquisition time of the corresponding data object such that, for at least two data objects of the set of data objects, different values are determined for each corresponding listener interval.

15. The method of claim 14 , further comprising receiving session state data that indicates the data objects contained in the set of data objects.

16. The method of claim 14 , further comprising powering down the receiver or stopping the processing of received data packets when it is determined from the session state data there is no object that is currently being transmitted that has not yet been received and reassembled.

17. The method of claim 14 , 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.

18. The method of claim 14 , 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.

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

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

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

22. The method of claim 14 , 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.

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

24. The method of claim 22 , 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.

25. 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 corresponding to a data object of the set of data objects;

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 a desired acquisition time of the corresponding data object such that, for at least two data objects of the set of data objects, different values are determined for each corresponding listener interval.

26. The system of claim 25 , 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.

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

28. The system of claim 25 , 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.

29. The system of claim 25 , wherein the control data further comprises session state data that corresponds to data objects contained in the set of data objects and 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.

30. 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 utilizing the processor, the set of instructions implement a method to, at least:

obtain a set of data objects;

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 corresponding to a data object of the set of data objects;

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 at a reduced level 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 a desired acquisition time of the corresponding data object such that, for at least two data objects of the set of data objects, different values are determined for each corresponding listener interval.

31. 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 utilizing 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 corresponding to a data object of the set of data objects;

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

powering the receiver at a reduced level 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 data 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 a desired acquisition time of the corresponding data object such that, for at least two data objects of the set of data objects, different values are determined for each corresponding listener interval.

Assignments (13)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2013
From: MATAGA, PETER ANDREW; SLEPCHIN, IGOR
To: ROUNDBOX, INC.
Reel/Frame 030450/0319 →