IP Library Granted Patent US 8,776,126
Granted Patent B2
US 8,776,126 · App. 13/557,444 · Granted Jul 8, 2014

Client-server based interactive television guide with server recording

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,776,126
App. No.
13/557,444
Granted
Jul 8, 2014
Kind
B2
Abstract

An interactive television program guide system is provided. An interactive television program guide provides users with an opportunity to select programs for recording on a remote media server. Programs may also be recorded on a local media server. The program guide provides users with VCR-like control over programs that are played back from the media servers and over real-time cached copies of the programs. The program guide also provides users with an opportunity to designate gift recipients for whom programs may be recorded.

Claims (169)

1. A method for providing users at one or more user equipment devices with access to a program, the method comprising:

storing the program at a media server;

caching a first portion of the stored program;

maintaining a first playback pointer for a first interactive program guide, wherein the first playback pointer points to the cached first portion of the stored program;

caching a second portion of the stored program;

maintaining a second playback pointer for a second interactive program guide, wherein the second playback pointer points to the cached second portion of the stored program;

receiving a first playback request from the first interactive program guide implemented on a first user equipment to play back the program;

modifying the first playback pointer at the media server;

distributing the cached first portion of the stored program, corresponding to the first playback pointer, to the first user equipment in response to receiving the first playback request;

receiving a second playback request from the second interactive program guide implemented on a second user equipment to play back the program;

modifying the second playback pointer at the media server;

distributing the cached second portion of the stored program, corresponding to the second playback pointer, to the second user equipment in response to receiving the second playback request;

determining that the first playback pointer is advancing towards an end of the cached first portion;

in response to the determining:

retrieving a third portion of the stored program, wherein the third portion corresponds to a portion of the program proximate to the cached first portion; and

caching the retrieved third portion of the stored program.

2. The method of claim 1 wherein each of the cached first portion and the cached second portion corresponds to non-overlapping portions of the stored program.

3. The method of claim 1 wherein modifying the first playback pointer further comprises:

modifying the first playback pointer to point to the cached second portion.

4. The method of claim 1 further comprising:

pre-decoding the third portion of the stored program.

5. The method of claim 1 further comprising:

receiving a record request from an interactive program guide; and

storing the program at the media server in response to receiving the record request.

6. The method of claim 5 further comprising:

storing software associated with the program at the media server in response to receiving the record request.

7. The method of claim 6 further comprising:

enabling the user to interact with the stored software when playing back the program.

8. The method of claim 1 further comprising:

receiving a delete request from an interactive program guide; and

deleting the program from the media server in response to receiving the delete request.

9. A system for providing users at one or more user equipment devices with access to a program, the system comprising:

a memory;

a storage device at a media server;

processing circuitry configured to:

store the program at the storage device at the media server;

cache a first portion of the stored program in the memory;

maintain a first playback pointer for a first interactive program guide, wherein the first playback pointer points to the cached first portion of the stored program;

cache a second portion of the stored program in the memory;

maintain a second playback pointer for a second interactive program guide, wherein the second playback pointer points to the cached second portion of the stored program;

receive a first playback request from the first interactive program guide implemented on a first user equipment to play back the program;

modify the first playback pointer at the media server;

distribute the cached first portion of the stored program, corresponding to the first playback pointer, to the first user equipment in response to receiving the first playback request;

receive a second playback request from the second interactive program guide implemented on a second user equipment to play back the program;

modify the second playback pointer at the media server;

distribute the cached second portion of the stored program, corresponding to the second playback pointer, to the second user equipment in response to receiving the second playback request;

determine that the first playback pointer is advancing towards an end of the cached first portion;

in response to the determining:

retrieve a third portion of the stored program, wherein the third portion corresponds to a portion of the program proximate to the cached first portion; and

cache the retrieved third portion of the stored program in the memory.

10. The system of claim 9 wherein each of the cached first portion and the cached second portion corresponds to non-overlapping portions of the stored program.

11. The system of claim 9 wherein the processing circuitry is further configured to:

modify the first playback pointer to point to the cached second portion.

12. The system of claim 9 wherein the processing circuitry is further configured to:

pre-decode the third portion of the stored program.

13. The system of claim 9 wherein the processing circuitry is further configured to:

receive a record request from an interactive program guide; and

store the program at the storage device at the media server in response to receiving the record request.

14. The system of claim 13 wherein the processing circuitry is further configured to:

store software associated with the program at the storage device at the media server in response to receiving the record request.

15. The system of claim 14 wherein the processing circuitry is further configured to:

enable the user to interact with the stored software when playing back the program.

16. The system of claim 9 wherein the processing circuitry is further configured to:

receive a delete request from an interactive program guide; and

delete the program from the storage device at the media server in response to receiving the delete request.

17. A method for providing users at one or more user equipment devices with access to a program, the method comprising:

receiving a record request from an interactive program guide;

storing the program at a media server in response to receiving the record request;

maintaining a first playback pointer for a first interactive program guide, wherein the first playback pointer points to a first portion of the stored program;

maintaining a second playback pointer for a second interactive program guide, wherein the second playback pointer points to a second portion of the stored program;

receiving a first playback request from the first interactive program guide implemented on a first user equipment to play back the program;

modifying the first playback pointer at the media server;

distributing a portion of the stored program, corresponding to the first playback pointer, to the first user equipment in response to receiving the first playback request;

receiving a second playback request from the second interactive program guide implemented on a second user equipment to play back the program;

modifying the second playback pointer at the media server; and

distributing a portion of the stored program, corresponding to the second playback pointer, to the second user equipment in response to receiving the second playback request.

18. The method of claim 17 further comprising:

storing software associated with the program at the media server in response to receiving the record request.

19. The method of claim 18 further comprising:

enabling the user to interact with the stored software when playing back the program.

20. The method of claim 17 , further comprising:

caching all of the stored program,

wherein each of the first playback pointer and the second playback pointer points to the cached program.

21. The method of claim 17 further comprising:

receiving a delete request from an interactive program guide; and

deleting the program from the media server in response to receiving the delete request.

22. A system for providing users at one or more user equipment devices with access to a program, the system comprising:

a storage device at a media server;

processing circuitry configured to:

receive a record request from an interactive program guide;

store the program at the storage device at the media server in response to receiving the record request;

maintain a first playback pointer for a first interactive program guide, wherein the first playback pointer points to a first portion of the stored program;

maintain a second playback pointer for a second interactive program guide, wherein the second playback pointer points to a second portion of the stored program;

receive a first playback request from the first interactive program guide implemented on a first user equipment to play back the program;

modify the first playback pointer at the media server;

distribute a portion of the stored program, corresponding to the first playback pointer, to the first user equipment in response to receiving the first playback request;

receive a second playback request from the second interactive program guide implemented on a second user equipment to play back the program;

modify the second playback pointer at the media server; and

distribute a portion of the stored program, corresponding to the second playback pointer, to the second user equipment in response to receiving the second playback request.

23. The system of claim 22 wherein the processing circuitry is further configured to:

store software associated with the program at the storage device at the media server in response to receiving the record request.

24. The system of claim 23 wherein the processing circuitry is further configured to:

enable the user to interact with the stored software when playing back the program.

25. The system of claim 22 , further comprising:

a memory;

wherein the processing circuitry is further configured to:

cache all of the stored program in the memory,

wherein each of the first playback pointer and the second playback pointer points to the cached program.

26. The system of claim 22 , wherein the processing circuitry is further configured to:

receive a delete request from an interactive program guide; and

delete the program from the storage device at the media server in response to receiving the delete request.

27. A method for providing users at one or more user equipment devices with access to a program, the method comprising:

storing the program at a media server;

maintaining a first playback pointer for a first interactive program guide, wherein the first playback pointer points to a first portion of the stored program;

maintaining a second playback pointer for a second interactive program guide, wherein the second playback pointer points to a second portion of the stored program;

receiving a first playback request from the first interactive program guide implemented on a first user equipment to play back the program;

modifying the first playback pointer at the media server, pre-decoding a portion of the stored program, corresponding to the first playback pointer, and distributing the pre-decoded portion of the stored program, corresponding to the first playback pointer, to the first user equipment in response to receiving the first playback request;

receiving a second playback request from the second interactive program guide implemented on a second user equipment to play back the program; and

modifying the second playback pointer at the media server,

pre-decoding a portion of the stored program, corresponding to the second playback pointer; and

distributing the pre-decoded portion of the stored program, corresponding to the second playback pointer, to the second user equipment in response to receiving the second playback request.

28. A system for providing users at one or more user equipment devices with access to a program, the system comprising:

a storage device at a media server;

processing circuitry configured to:

store the program at the storage device at the media server;

maintain a first playback pointer for a first interactive program guide, wherein the first playback pointer points to a first portion of the stored program;

maintain a second playback pointer for a second interactive program guide, wherein the second playback pointer points to a second portion of the stored program;

receive a first playback request from the first interactive program guide implemented on a first user equipment to play back the program;

modify the first playback pointer at the media server;

pre-decode a portion of the stored program, corresponding to the first playback pointer;

distribute the pre-decoded portion, corresponding to the first playback pointer, to the first user equipment in response to receiving the first playback request;

receive a second playback request from the second interactive program guide implemented on a second user equipment to play back the program;

modify the second playback pointer at the media server;

pre-decode a portion of the stored program, corresponding to the second playback pointer; and

distribute the pre-decoded portion, corresponding to the second playback pointer, to the second user equipment in response to receiving the second playback request.

29. A method for providing users at one or more user equipment devices with access to a program, the method comprising:

storing the program at a media server;

maintaining a first playback pointer for a first interactive program guide, wherein the first playback pointer points to a first portion of the stored program;

maintaining a second playback pointer for a second interactive program guide, wherein the second playback pointer points to a second portion of the stored program;

receiving a first playback request from the first interactive program guide implemented on a first user equipment to play back the program;

modifying the first playback pointer at the media server;

distributing a portion of the stored program, corresponding to the first playback pointer, to the first user equipment in response to receiving the first playback request;

receiving a second playback request from the second interactive program guide implemented on a second user equipment to play back the program;

modifying the second playback pointer at the media server;

distributing a portion of the stored program, corresponding to the second playback pointer, to the second user equipment in response to receiving the second playback request;

receiving a delete request from an interactive program guide; and

deleting the program from the media server in response to receiving the delete request.

30. A system for providing users at one or more user equipment devices with access to a program, the system comprising:

storage device at a media server;

processing circuitry configured to:

store the program at the storage device at the media server;

maintain a first playback pointer for a first interactive program guide, wherein the first playback pointer points to a first portion of the stored program;

maintain a second playback pointer for a second interactive program guide, wherein the second playback pointer points to a second portion of the stored program;

receive a first playback request from the first interactive program guide implemented on a first user equipment to play back the program;

modify the first playback pointer at the media server;

distribute a portion of the stored program, corresponding to the first playback pointer, to the first user equipment in response to receiving the first playback request;

receive a second playback request from the second interactive program guide implemented on a second user equipment to play back the program;

modify the second playback pointer at the media server;

distribute a portion of the stored program, corresponding to the second playback pointer, to the second user equipment in response to receiving the second playback request;

receive a delete request from an interactive program guide; and

delete the program from the storage device at the media server in response to receiving the delete request.

31. The method of claim 29 , further comprising:

caching all of the stored program,

wherein each of the first playback pointer and the second playback pointer points to the cached program.

32. The system of claim 30 , further comprising:

a memory;

wherein the processing circuitry is further configured to:

cache all of the stored program in the memory,

wherein each of the first playback pointer and the second playback pointer points to the cached program.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 25, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: APTIV DIGITAL INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; SONIC SOLUTIONS LLC; STARSIGHT TELECAST, INC.; UNITED VIDEO PROPERTIES, INC.; VEVEO, INC.
Reel/Frame 051145/0090 →
MERGER Recorded Jan 20, 2015
From: UNITED VIDEO PROPERTIES, INC.
To: UV CORP.
Reel/Frame 034762/0973 →
MERGER Recorded Jan 20, 2015
From: UV CORP.
To: TV GUIDE, INC.
Reel/Frame 034763/0001 →
MERGER Recorded Jan 20, 2015
From: TV GUIDE, INC.
To: ROVI GUIDES, INC.
Reel/Frame 034763/0028 →
PATENT SECURITY AGREEMENT Recorded Jul 24, 2014
From: APTIV DIGITAL, INC.; GEMSTAR DEVELOPMENT CORPORATION; INDEX SYSTEMS INC.; ROVI GUIDES, INC.; ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; SONIC SOLUTIONS LLC; STARSIGHT TELECAST, INC.; UNITED VIDEO PROPERTIES, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 033407/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2013
From: ELLIS, MICHAEL D.; THOMAS, WILLIAM L.; LEMMONS, THOMAS R.
To: UNITED VIDEO PROPERTIES, INC.
Reel/Frame 031633/0700 →