IP Library Granted Patent US 7,895,627
Granted Patent B2
US 7,895,627 · App. 12/207,154 · Granted Feb 22, 2011

Pre-fragmentation of data destined for low resource clients

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 7,895,627
App. No.
12/207,154
Granted
Feb 22, 2011
Kind
B2
Abstract

Program data for use in electronic program guides is fragmented in advance of delivery to a low resource client. In the described implementation, the program data is fragmented into equal size fragments. The size of each fragment is selected to guarantee that the data fragments will fit in pre-allocated memory segments at the client. When the program data is delivered to the client, the client stores the data packets in the memory segments without making system calls to the memory.

Claims (44)

1. A method of pre-fragmenting electronic program guide data for delivery to a low resource client, comprising:

receiving, at a server, a file containing electronic programming guide data;

receiving, at the server, an indication of a data size associated with the low resource client, the data size being a size of segments allocated within a portion of a memory of the low resource client;

fragmenting, at the server, the electronic program guide data into a plurality of data fragments, the data fragments being sized according to the data size indicated by the low resource client, and being sized for storage in the segments of memory allocated in the low resource client;

delivering the data fragments to the low resource client by transmitting the data fragments over a broadcast network for display by the low resource client; and

compressing the electronic program data into a compressed format, the compressed format remaining searchable by the low resource client, the compressing comprising:

identifying frequently used character sequences in the selected program data;

substituting frequently used character sequences with a value to create a compressed data file; and

constructing a code table that tracks which values are substituted for each frequently used character sequence, the compressed format comprising the compressed data file and the code table.

2. The method of claim 1 , wherein the fragmenting comprises fragmenting the electronic programming guide data into equal-size fragments that are less than or equal to the size of the segments within the memory of the low resource client.

3. The method of claim 1 , wherein the fragmenting comprises fragmenting a table structure of the electronic programming guide data into fragments that are less than or equal to the size of the segments within the memory of the low resource client.

4. The method of claim 1 , wherein the indication of the data size, received at the server, was sent from the low resource client, and was selected to lessen a need for the low resource client to make system calls to memory and to lessen a need for the low resource client to utilize memory management techniques.

5. The method of claim 1 , wherein the file containing electronic programming guide data contains more data for a current time period than for a subsequent time period, to thereby provide more information about the current time period than the subsequent time period.

6. The method of claim 1 , wherein receiving, at the server, the data size associated with the low resource client comprises receiving the data size from the low resource client.

7. A television entertainment system, comprising:

a server having a memory device within the server, the memory device containing a file containing electronic programming guide data; and

a low resource client, to receive the electronic programming guide data, the low resource client of a type having a memory device organized to include segments of memory of a data size that is uniform, by:

receiving, at the server, an indication of the data size of the segments of the memory within the memory device of the low resource client;

fragmenting, at the server, the electronic program guide data into a plurality of equal-size data fragments, the data fragments being the size of the segments of memory within the memory device of the low resource client;

delivering the data fragments to the low resource client; and

compressing the electronic program data into a compressed format, the compressed format remaining searchable by the low resource client, the compressing comprising:

identifying frequently used character sequences in the selected program data;

substituting frequently used character sequences with a value to create a compressed data file; and

constructing a code table that tracks which values are substituted for each frequently used character sequence, the compressed format comprising the compressed data file and the code table.

8. The television entertainment system of claim 7 , wherein the fragmenting comprises fragmenting a table structure into fragments that are less than or equal to a size of the segments within the memory of the low resource client and wherein the delivering comprises transmitting the data fragments by a broadcast network for display by the low resource client.

9. The television entertainment system of claim 7 , wherein the fragmenting comprises fragmenting a table structure from among the electronic programming guide data into fragments that are less than or equal to the size of the segments within the memory of the low resource client.

10. The television entertainment system of claim 7 , wherein the indication of the data size, received at the server, was sent from the low resource client, and was selected to lessen a need for the low resource client to make system calls to memory and to lessen a need for the low resource client to utilize memory management techniques.

11. The television entertainment system of claim 7 , wherein the file containing electronic programming guide data contains more data for a current time period than for a subsequent time period to enable a rich display of information for the current time period, while offering a subset of the data provided for the current time period for the subsequent time period.

12. The television entertainment system of claim 7 , wherein receiving, at the server, of the indication of the data size associated with the low resource client, comprises receiving the data size from the low resource client.

13. A television entertainment system, comprising:

a server having a memory device within the server, wherein the memory device contains a file, and wherein the file contains electronic programming guide data;

wherein the server provides the electronic programming guide data to a low resource client by:

receiving, at the server, an indication of a data size of segments of memory within a memory device of the low resource client;

fragmenting, at the server, the electronic program guide data into a plurality of equal-size data fragments, wherein the data fragments are sized to fit the segments of memory within the memory device of the client;

compressing the electronic program data into a compressed format, wherein the compressed format remains searchable by the low resource client, and wherein the compressing comprises:

identifying frequently used character sequences in the selected program data;

substituting frequently used character sequences with a value to create a compressed data file; and

constructing a code table that tracks which values are substituted for each frequently used character sequence, wherein the compressed format comprises the compressed data file and the code table; and

delivering the data fragments to the low resource client.

14. The television entertainment system of claim 13 , wherein the fragmenting comprises fragmenting a table structure into fragments that are less than or equal to the data size of the segments of the memory of the low resource client and wherein the delivering comprises transmitting the data fragments over a broadcast network for display by the low resource client.

15. The television entertainment system of claim 13 , wherein the fragmenting comprises fragmenting a table structure from among the electronic programming guide data into fragments that are less than or equal to the data size of the segments within the memory of the low resource client.

16. The television entertainment system of claim 13 , wherein the data size received at the server is selected to lessen a need for the low resource client to make system calls to memory and to lessen a need for the low resource client to utilize memory management techniques.

17. The television entertainment system of claim 13 , wherein the file containing electronic programming guide data contains more data for a current time period than for a subsequent time period, to thereby provide more information about the current time period than the subsequent time period.

18. The television entertainment system of claim 13 , wherein receiving, at the server, the indication of the data size associated with the low resource client comprises receiving the data size from the low resource client.

Assignments (7)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 27, 2022
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ROVI PRODUCT CORPORATION (AS SUCCESSOR-IN-INTEREST TO ROVI TECHNOLOGIES CORPORATION)
Reel/Frame 061786/0897 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2014
From: MICROSOFT CORPORATION
To: ROVI TECHNOLOGIES CORPORATION
Reel/Frame 034539/0676 →