<12) United States Patent <10) Patent No.: US 7,865,508 B2 Hindle et al. (45) Date of Patent: Jan. 4, 2011 (54) DATA STRUCTURES AND METHODS 2002/0088008 A1 7/2002 Markel ADAPTED FOR HETEROGENEOUS CLIENTS 2002/0147986 A1 * 10/2002 Michael et al. ........... .. 725/110 IN AN INFORMATION DISTRIBUTION 2002/0191956 A1 * 12/2002 Morishima et al. .......... .. 386/52 SYSTEM 2002/0194597 A1 * 12/2002 Barrett .......... .. 725/39 2003/0041104 A1 * 2/2003 Wingard et al. ........... .. 709/203 (75) Inventors: J ames Matthew Hindle, London (CA); 2003/0088876 A1 5/2003 Mao at at Ch"sF°Phei J°i"i De°e"Z°= San 2003/0212703 A1 * 11/2003 Yoshioka .................. .. 707/102 Fian°1S°°= CA (US) 2004/0078814 A1 * 4/2004 Allen ........................ .. 725/47 . _ V“, . . 2004/0226051 A1 * 11/2004 Carney et al. ............. .. 725/135 (73) Asslgneei T Orksi LLC’ Phlladelphlai PA (US) 2005/0141519 A1 * 6/2005 Rajgopal et al. ..... .. 370/395.32 ( * ) Notice: Subject to any disclaimer, the term ofthis 2007/0240186 A1 * 10/2007 Silver et al. ................. .. 725/39 patent is extended or adjusted under 35 U.S.C. l54(b) by 469 days. (21) Appl. N0.; 11/112,738 OTHER PUBLICATIONS ~ _ Donald E. Knuth, “The Art of Computer Programming vol. 3”, Sec(22) Filed" Apr‘ 22’ 2005 tions 6.4 and 6.5, pp. 513-579, ISBNO-201-89685-0, Apr. 1998. (65) Prior Publication Data (Continued) US 2005/0240966 Al Oct. 27, 2005 Primary Examinericharles Rones . . Assistant Examiner—Yuk Ting Choi Related us‘ Apphcatlon Data (74) Attorney, A gent, or Firm—Banner & Witcoff, Ltd (60) Provisional application No. 60/564,703, filed on Apr. 23, 2004. (57) ABSTRACT (51) Int. Cl. G06F 1 7/30 (200601) A method includes processing data associated with event and (52) U.S. C1. ..................................... .. 707/736; 707/803 service jnfQ1-{nation to create a base data block and an index (58) Field of Classification Search ..................... .. None table. The base data block has an array of objects, and each See application file for complete search history. object in the array may have at least one attribute. The index _ table also has an array of obj ects, and each object in the index (56) References Cited table relates to an object in the base data block. The method of U_S_ pATENT DQCUMENTS processing data may be performed by a server located at a _ cable headend. In one embodiment, the present invention also 5,579,055 A * i 1/ 1996 Haiiiiiioii ei iii comprises a storage medium having a representation of a data 5’808’694 A * 9;19gg gsulldft """"""""" " structure produced by the data processing. In one embodii Z/5300 U2; ital‘ """"""""""" " ment, a STB may receive and utilize the processed data. 6,539,374 B2 3/2003 Jung 2001/0010754 Al * 8/2001 Ando et al. ................. .. 386/65 23 Claims, 8 Drawing Sheets