| US 7,543,324 B2 | ||
| Pre-fragmentation of data destined for low resource clients | ||
| James Armand Baldwin, Redwood City, Calif. (US); and Peter T. Barrett, San Francisco, Calif. (US) | ||
| Assigned to Microsoft Corporation, Redmond, Wash. (US) | ||
| Filed on Jan. 31, 2002, as Appl. No. 10/61,829. | ||
| Prior Publication US 2003/0145327 A1, Jul. 31, 2003 | ||
| Int. Cl. G06F 3/00 (2006.01); G06F 13/00 (2006.01); H04N 5/445 (2006.01); H04N 7/173 (2006.01); H04N 7/16 (2006.01) | ||
| U.S. Cl. 725—54 [725/134; 725/142] | 10 Claims |

| 1. A method comprising:
determining a segment size associated with a remote client that has a memory which is segmented into memory segments of the
segment size,
wherein the determination of the segment size is made alternatively to the remote client communicating the segment size;
selecting an amount of program data to be stored in a data file that contains program data for an electronic program guide
executing at the remote client,
wherein the selected amount of program data is larger than can be stored in a memory segment of the segment size,
wherein the selected program data comprises more data associated with a current time period and progressively less data over
time associated with subsequent time units;
compressing the selected program data into a compressed format, wherein the compressed format remains searchable by the remote
client,
wherein the compressing comprises:
identifying the most frequently used character sequences in the selected program data;
substituting each identified most frequently used character sequence with a value to create a compressed data file; and
constructing a code table that tracks which values are substituted for each most frequently used character sequence,
wherein the compressed format comprises a compressed data file and a code table;
constructing the data file that contains the compressed format of the selected program data for an electronic program guide
executing at the remote client;
fragmenting the data file into a plurality of equal-size fragments of a size that does not exceed the segment size; and
transmitting the plurality of equal-size fragments for receipt by the remote client,
wherein the data file is repeatedly transmitted to the remote client,
wherein due to the fragmenting, the plurality of equal-size fragments store into the memory segments without requiring the
remote client to make system calls to the memory thereby eliminating the need for the remote client to utilize memory management
techniques comprising de-fragmentation.
|