IP Library Granted Patent US 11,943,508
Granted Patent B2
US 11,943,508 · App. 17/162,570 · Granted Mar 26, 2024

Real-time DVR programming

Inventor: James M. Barton (Los Gatos, CA)
Assignee: TIVO SOLUTIONS INC.
H04N21/458H04N21/237H04N21/41265H04N21/4147H04N21/4302H04N21/4334H04N21/435H04N21/4586H04N21/47214H04N21/4882H04N21/6543H04N21/8126H04N21/4135
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 11,943,508
App. No.
17/162,570
Granted
Mar 26, 2024
Kind
B2
Abstract

Techniques for real-time DVR programming employ secure instant message protocol in a DVR environment. An embodiment sends an instant message to the DVR which causes the DVR to open a new secure connection with the service provider for synchronizing data on the DVR with updated programming data from the service provider. Another embodiment uses an already established connection with an instant message server for synchronizing data on the DVR with updated programming data from the service provider.

Claims (47)

1. A method, comprising:

receiving, at a server, a request for a programming event for a media device;

in response to receiving the request for the programming event:

accessing, from a storage associated with the server, a subset of database tables associated with the media device from a set of database tables associated with each of a plurality of media devices that communicate with the server;

updating, by the server, based on the request received, the subset of database tables associated with the media device with data designated to be received by the media device during, a next periodic synchronization between the server and the media device, wherein the next periodic synchronization is scheduled based on a poll executed by the server and transmitting the data to the media device is delayed until the next periodic synchronization between the server and the media device is determined based on the poll;

transmitting, by the server, a message to the media device to inform the media device that the data designated to be received by the media device during the next period synchronization has been updated; and

in response to receiving, by the server, the synchronization request from the media device:

transmitting, by the server, the data designated to be received by the media device to the media device.

2. The method of claim 1 , further comprising, establishing, by the server, a new connection between the server and the media device dedicated to synchronization with the media device.

3. The method of claim 2 , further comprising ending, by the server, the new connection that was dedicated for the synchronization with the media device, after transmitting, by the server, the data to the media device.

4. The method of claim 1 , wherein the storage connected to the server comprises copies of each of the plurality of media devices which the server communicates with such that the copies of each of the plurality of media devices are stored within a subset of database tables associated with each media device from the plurality of media devices.

5. The method of claim 4 , wherein the synchronization includes synchronizing the data stored in the storage connected to the server with data stored in a storage of the media device.

6. The method of claim 1 , further comprising:

maintaining, by the server, a constant connection to the media device; and

reconnecting the connection automatically to the media device when the connection is dropped.

7. The method of claim 1 , wherein the transmitting the data to the media device includes retransmitting to the media device on a periodic time interval until the delivery of the data is successful or until a retransmit limit is reached.

8. The method of claim 7 , further comprising, in response to the retransmit limit being reached, causing a delivery failed notification to be received by the media device.

9. The method of claim 1 , wherein, in response to receiving by the media device, the data transmitted by the server:

causing the media device to store the data received to its own storage; and

causing the media device to retrieve the data from the storage and display it on a display screen connected to the media device upon receiving a request for playing the data.

10. The method of claim 1 , wherein, the request received at a server includes a wishlist, wherein the wishlist includes a plurality of programming events that are designated to be received by the media device when the programming events are available for broadcast.

11. A system, comprising:

control circuitry configured to:

receive a request for a programming event for a media device;

in response to receiving the request for the programming event:

access, from a storage associated with the server, a subset of database tables associated with the media device from a set of database tables associated with each of a plurality of media devices that communicate with the server;

update based on the request received, the subset of database tables associated with the media device with data designated to be received by the media device during, a next periodic synchronization between the server and the media device, wherein the next periodic synchronization is scheduled based on a poll executed by the server and transmitting the data to the media device is delayed until the next periodic synchronization between the server and the media device is determined based on the poll;

a communication circuitry configured to:

transmit a message to the media device to inform the media device that the data designated to be received by the media device during the next periodic synchronization has been updated; and

in response to receiving the synchronization request from the media device:

transmit, by the communications circuitry, the data designated to be received by the media device to the media device.

12. The system of claim 11 , the control circuitry is further configured to, establish a new connection between the server and the media device dedicated to synchronization with the media device.

13. The system of claim 12 , the control circuitry is further configured to, end the new connection that was dedicated for the synchronization with the media device after transmitting the data to the media device.

14. The system of claim 11 , wherein the storage connected to the server is configured to store copies of each of the plurality of media devices which the server communicates with such that the copies of each of the plurality of media devices are stored within a subset of database tables associated with each media device from the plurality of media devices.

15. The system of claim 14 , wherein the control circuitry is configured to synchronize the data stored in the storage connected to the server with data stored in a storage of the media device.

16. The system of claim 11 , the control circuitry is further configured to:

maintain a constant connection to the media device; and

reconnect the connection automatically to the media device when the connection is dropped.

17. The system of claim 11 , wherein the transmitting the data to the media device includes, the control circuitry configured to retransmit to the media device on a periodic time interval until the delivery of the data is successful or until a retransmit limit is reached.

18. The system of claim 17 , the control circuitry is further configured to, in response to the retransmit limit being reached, cause a delivery failed notification to be received by the media device.

19. The system of claim 11 , wherein, the control circuitry is configured to, in response to receiving by the media device, the data transmitted by the server:

cause the media device to store the data received to its own storage; and

cause the media device to retrieve the data from the storage and display it on a display screen connected to the media device upon receiving a request for playing the data.

20. The system of claim 11 , wherein, the control circuitry is further configured to receive a wishlist, wherein the wishlist includes a plurality of programming events that are designated to be received by the media device when the programming events are available for broadcast.

21. The method of claim 1 , further comprising

determining the scheduling for the next synchronization based on data an instant messaging request; and

selecting the next periodic synchronization based on a combination of the polling and instant message.

Assignments (4)
CHANGE OF NAME Recorded Sep 27, 2024
From: TIVO SOLUTIONS INC.
To: ADEIA MEDIA SOLUTIONS INC.
Reel/Frame 069067/0510 →
SECURITY INTEREST Recorded May 19, 2023
From: ADEIA GUIDES INC.; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063707/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2021
From: BARTON, JAMES M.
To: TIVO INC.
Reel/Frame 055084/0679 →
CHANGE OF NAME Recorded Jan 29, 2021
From: TIVO INC.
To: TIVO SOLUTIONS INC.
Reel/Frame 055084/0705 →
Continuity (5)
Continuation 16720903 · Dec 19, 2019
Continuation 15936052 · Mar 26, 2018
Continuation 14805166 · Jul 21, 2015
Continuation 12347897 · Dec 31, 2008
Related Publication 20210152886A1 · May 20, 2021