IP Library Granted Patent US 8,478,114
Granted Patent B1
US 8,478,114 · App. 10/828,921 · Granted Jul 2, 2013

Distributed database management system

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,478,114
App. No.
10/828,921
Granted
Jul 2, 2013
Kind
B1
Abstract

A distributed database management system provides a central database resident on a server that contains database objects. Objects, e.g., program guide data, to be replicated are gathered together into distribution packages called “slices,” that are transmitted to client devices. A slice is a subset of the central database which is relevant to clients within a specific domain, such as a geographic region, or under the footprint of a satellite transmitter. The viewer selects television programs and Web content from displayed sections of the program guide data which are recorded to a storage device. The program guide data are used to determine when to start and end recordings. Client devices periodically connect to the server using a phone line and upload information of interest which is combined with information uploaded from other client devices for statistical, operational, or viewing models.

Claims (152)

1. A method, comprising:

receiving television program guide data as database subsets at a device;

storing the television program guide data on at least one storage device at the device, the television program guide data including television program broadcast schedule information; and

communicating, by the device, an inventory of received database subsets to a server that compares the inventory with a list of database subsets that were to be sent to the device and transmits database subsets in the list of database subsets that were not in the inventory to the device.

2. The method of claim 1 , wherein the receiving step periodically receives television program guide data from a service provider.

3. The method of claim 1 , wherein the television program guide data are relevant to the device's characteristics.

4. The method of claim 3 , wherein a device's characteristics include any of: geographic region, specific domain, or footprint of a satellite transmitter.

5. The method of claim 1 , further comprising:

displaying sections of the television program guide data to a user;

wherein the user selects a program from the television program guide data to record; and

recording the selected program onto the at least one storage device.

6. The method of claim 5 , wherein the recording step uses the television program guide data to determine when to start and end recording of the selected program.

7. The method of claim 1 , further comprising:

displaying sections of the television program guide data to a user;

wherein the user selects a television program from the television program guide data; and

displaying the selected television program to the user.

8. A method, comprising:

receiving television program guide data as database subsets at a device;

storing the television program guide data on at least one storage device at the device, the television program guide data including television program broadcast schedule information;

causing a tuner, among at least one tuner in communication with the device, to receive a specific television broadcast program listed in the television program guide data; and

communicating, by the device, an inventory of received database subsets to a server that compares the inventory with a list of database subsets that were to be sent to the device and transmits database subsets in the list of database subsets that were not in the inventory to the device.

9. The method of claim 8 , wherein the receiving step periodically receives television program guide data from a service provider.

10. The method of claim 8 , wherein the television program guide data are relevant to the device's characteristics.

11. The method of claim 10 , wherein a device's characteristics include any of: geographic region, specific domain, or footprint of a satellite transmitter.

12. The method of claim 8 , further comprising:

displaying sections of the television program guide data to a user;

wherein the user selects a program from the television program guide data to record; and

recording the selected program onto the at least one storage device.

13. The method of claim 12 , wherein the recording step uses the television program guide data to determine when to start and end recording of the selected program.

14. The method of claim 8 , further comprising:

displaying sections of the television program guide data to a user;

wherein the user selects a television program from the television program guide data to cause the tuner to receive the selected television program; and

displaying the selected television program to the user.

15. A method, comprising:

receiving user viewing information from a DVR at a server;

storing the user viewing information in a database at the server, the database containing user viewing information from a plurality of DVRs;

sending database subsets to the DVR based at least in part on the user viewing information;

receiving an inventory of received database subsets from the DVR;

comparing the inventory with a list of database subsets that were to be sent to the DVR; and

sending database subsets in the list of database subsets that were not in the inventory to the DVR.

16. The method of claim 15 , further comprising:

deriving demographic and/or psychographic and/or statistical analysis information about populations of DVRs by examining user viewing information in the database.

17. The method of claim 15 , further comprising:

generating “rating” and/or “share” values for particular multimedia broadcast programs by examining user viewing information in the database.

18. The method of claim 15 , wherein a DVR records operational status information that includes any of: user actions, transactional information, automatic actions, software installation actions, and hardware exceptions of various kinds, and wherein the DVR uploads the operational status information to the server.

19. An apparatus, comprising:

a receiving module on a device that receives television program guide data;

a storage module that stores the television program guide data on at least one storage device in communication with the device, the television program guide data including television program broadcast schedule information; and

a database inventory module at the device that communicates an inventory of received database subsets to a server that compares the inventory with a list of database subsets that were to be sent to the device and transmits database subsets in the list of database subsets that were not in the inventory to the device.

20. The apparatus of claim 19 , wherein the receiving module periodically receives television program guide data from a service provider.

21. The apparatus of claim 19 , wherein the television program guide data are relevant to the device's characteristics.

22. The apparatus of claim 21 , wherein a DVR's characteristics include any of: geographic region, specific domain, or footprint of a satellite transmitter.

23. The apparatus of claim 19 , further comprising:

a program guide display module that displays sections of the television program guide data to a user;

wherein the user selects a program from the television program guide data to record; and

a recording module that records the selected program onto the at least one storage device.

24. The apparatus of claim 23 , wherein the recording module uses the television program guide data to determine when to start and end recording of the selected program.

25. The apparatus of claim 19 , further comprising:

a program guide display module that displays sections of the television program guide data to a user;

wherein the user selects a television program from the television program guide data; and

a program display module that displays the selected television program to the user.

26. An apparatus, comprising:

at least one tuner in communication with a device;

a receiving module at the device that receives television program guide data;

at least one storage device at the device;

a storage module that stores television program guide data on the at least one storage device, the television program guide data including television program broadcast schedule information;

a tuning module that causes a tuner among the at least one tuner to receive a specific television broadcast program listed in the television program guide data; and

a database inventory module at the device that communicates an inventory of received database subsets to a server that compares the inventory with a list of database subsets that were to be sent to the device and transmits database subsets in the list of database subsets that were not in the inventory to the device.

27. The apparatus of claim 26 , wherein the receiving module periodically receives television program guide data from a service provider.

28. The apparatus of claim 26 , wherein the television program guide data are relevant to the device's characteristics.

29. The apparatus of claim 28 , wherein a device's characteristics include any of: geographic region, specific domain, or footprint of a satellite transmitter.

30. The apparatus of claim 26 , further comprising:

a program guide display module that displays sections of the television program guide data to a user;

wherein the user selects a program from the television program guide data to record; and

a recording module that records the selected program onto the at least one storage device.

31. The apparatus of claim 30 , wherein the recording module uses the television program guide data to determine when to start and end recording of the selected program.

32. The apparatus of claim 26 , further comprising:

a program guide display module that displays sections of the television program guide data to a user;

wherein the user selects a television program from the television program guide data; and

a program display module that displays the selected television program to the user.

33. An apparatus, comprising:

a receiving module at a server that receives user viewing information from a DVR;

a user viewing information storage module that stores the user viewing information in a database at the server, the database containing user viewing information from a plurality of DVRs;

an inventory receiving module that receives an inventory of received database subsets from the DVR;

a comparison module that compares the inventory with a list of database subsets that were to be sent to the DVR; and

a database subset sending module that sends database subsets in the list of database subsets that were not in the inventory to the DVR.

34. The apparatus of claim 33 , further comprising:

a statistical module that derives demographic and/or psychographic and/or statistical analysis information about populations of DVRs by examining user viewing information in the database.

35. The apparatus of claim 33 , further comprising:

a statistical module that generates “rating” and/or “share” values for particular multimedia broadcast programs by examining user viewing information in the database.

36. The apparatus of claim 33 , wherein a DVR records operational status information that includes any of: user actions, transactional information, automatic actions, software installation actions, and hardware exceptions of various kinds, and wherein the DVR uploads the operational status information to the server.

37. A method, comprising:

receiving, on a device, program guide data that includes television program content broadcast schedule information selectable for recording by a user and Web content URL information selectable for recording by the user;

storing program guide data on at least one storage device communicably connected to the device;

receiving television broadcast program content listed in the program guide data at the device selectable via an input device that receives television broadcast signals;

for each content selected from the program guide data for recording by the user, listing, schedule, a recording time in the future, according to the program guide data, for the selected content;

recording automatically, at a scheduled recording time from the recording schedule, Web content listed in the program guide data retrieved via a network connection using a URL from the program guide data, the recorded Web content stored on the at least one storage device as part of a collection of recorded content available for on demand playback by the user.

38. The method of claim 37 , wherein the receiving step periodically receives program guide data from a service provider.

39. The method of claim 37 , wherein the program guide data are relevant to the device's characteristics.

40. The method of claim 39 , wherein a device's characteristics include any of: geographic region, specific domain, or footprint of a satellite transmitter.

41. The method of claim 37 , further comprising:

displaying sections of the program guide data to the user;

wherein the user selects television program content from the program guide data to record; and

recording the selected television program content onto the at least one storage device.

42. The method of claim 41 , wherein the recording the selected television program content step uses the program guide data to determine a proper channel to receive the selected television program content.

43. The method of claim 37 , wherein the recording step uses the program guide data to determine when to start and end recording of the selected content.

44. The method of claim 37 , further comprising:

displaying sections of the program guide data to the user;

wherein the user selects Web content from the program guide data to record; and

recording the selected Web content onto the at least one storage device using the program guide data to determine a proper URL to access the selected Web content.

45. The method of claim 37 , further comprising:

displaying sections of the program guide data to the user;

wherein the user selects television program content or Web content from the program guide data to the user;

displaying the selected television program content or Web content to the user.

46. The method of claim 37 , further comprising:

displaying sections of the program guide data to the user;

wherein the user selects Web content from the program guide data to record; and

recording the selected Web content onto the at least one storage device.

47. The method of claim 37 , further comprising:

creating the recording schedule using the content selected from the program guide data for recording by the user, the recording schedule comprising future start and end times, for recordings, based on the program guide data; and

using the recording schedule to record Web content listed in the program guide data retrieved via a network connection using a URL from the program guide data.

48. An apparatus, comprising:

a receiving module at a device that receives program guide data that includes television program content broadcast schedule information selectable for recording by a user and Web content URL information selectable for recording by the user;

at least one storage device in communication with the device;

a storage module that stores program guide data on the at least one storage device; and

at least one television input, in communication with the device, that is configurable to receive a television broadcast program content listed in the program guide data;

a listing module that lists, in a recording schedule, a recording time in the future, according to the program guide data, for each content selected from the program guide data for recording by the user;

at least one network input that is configurable to record automatically, at a scheduled recording time from the recording schedule, Web content listed in the program guide data retrieved via a network connection using a URL from the program guide data, the recorded Web content stored on the at least one storage device as part of a collection of recorded content available for on demand playback by the user.

49. The apparatus of claim 48 , wherein the receiving module periodically receives program guide data from a service provider.

50. The apparatus of claim 48 , wherein the program guide data are relevant to the device's characteristics.

51. The apparatus of claim 50 , wherein a device's characteristics include any of: geographic region, specific domain, or footprint of a satellite transmitter.

52. The apparatus of claim 48 , further comprising:

a program guide display module that displays sections of the program guide data to the user;

wherein the user selects television program content from the program guide data to record; and

a recording module that records the selected television program content onto the at least one storage device.

53. The apparatus of claim 52 , wherein the recording module uses the program guide data to determine a proper channel to receive the selected television program content.

54. The apparatus of claim 48 , wherein the recording module uses the program guide data to determine when to start and end recording of the selected content.

55. The apparatus of claim 48 , further comprising:

a program guide display module that displays sections of the program guide data to the user;

wherein the user selects Web content from the program guide data to record; and

a recording module that records the selected Web content onto the at least one storage device using the program guide data to determine a proper URL to access the selected Web content.

56. The apparatus of claim 48 , further comprising:

a program guide display module that displays sections of the program guide data to the user;

wherein the user selects television program content or Web content from the program guide data; and

a program display module that displays the selected television program content or Web content to the user.

57. The apparatus of claim 48 , further comprising:

a program guide display module that displays sections of the program guide data to the user;

wherein the user selects Web content from the program guide data to record; and

a recording module that records the selected Web content onto the at least one storage device.

58. The apparatus of claim 48 , further comprising:

a creating module that creates the recording schedule using the content selected from the program guide data for recording by the user, the recording schedule comprising future start and end times, for recordings, based on the program guide data; and

a recording schedule module that uses the recording schedule to record Web content listed in the program guide data retrieved via a network connection using a URL from the program guide data.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 25, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: TIVO SOLUTIONS INC.
Reel/Frame 051109/0969 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
SECURITY INTEREST Recorded Dec 7, 2016
From: TIVO SOLUTIONS INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 041076/0051 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF RECEIVING PARTY PREVIOUSLY RECORDED ON REEL 018866 FRAME 0510. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Feb 12, 2007
From: TIVO INC.
To: CITIGROUP GLOBAL MARKETS REALTY CORP.
Reel/Frame 018875/0933 →
SECURITY AGREEMENT Recorded Feb 8, 2007
From: TIVO INC.
To: CITYGROUP GLOBAL MARKETS REALTY CORP.
Reel/Frame 018866/0510 →