IP Library Patent Application 11921054
Patent Application
App. No. 11/921,054

Program guide optimization system

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 None
App. No.
11/921,054
Abstract

A method and system of optimizing strings comprised in program guide data for transmission is described. The method includes sharing, in the program guide data, a plurality of strings, each string among the plurality of strings including a shared sorting key, implementing an order access of a sorted sharing index, wherein the program guide data and the shared sorting key are comprised in the same data storage structure. Related methods and apparatus are also described.

Claims (150)

1 . A method of optimizing strings comprised in program guide data for transmission, the method comprising:

sharing, in the program guide data, a plurality of strings, each string among the plurality of strings comprising a shared sorting key; and

implementing an order access of a sorted sharing index,

wherein the program guide data and the shared sorting key are comprised in the same data storage structure.

2 . The method according to claim 1 and wherein the sorted sharing index comprises a Patricia tree sort index.

3 . A method of optimizing program guide data for transmission, the method comprising:

providing, at a broadcast headend, a list of services and the program guide data, the program guide data comprising a list of events to be broadcast on services corresponding to service identifiers comprised within the list of services;

associating the services with channels;

further associating the channels into channel groups;

selecting a field comprised in program guide data associated with each event;

sorting the list of events to be broadcast on the services according to the selected field;

grouping the sorted list of events, such that all identical instances the field are grouped together;

collapsing the grouped sorted list of events such that one of the following comprises a main event and every other instance of the event comprises a collapsed event:

one instance of the event next to be broadcast on at least one service associated with the channel group; and

one instance of the event presently being broadcast on at least one service associated with the channel group, and

thereby producing optimized program guide data.

4 . The method according to claim 3 and also comprising:

transmitting the optimized program guide data.

5 . The method according to claim 4 and wherein the transmitting comprises broadcasting the optimized program guide data.

6 . The method according to claim 3 and wherein the selected field comprises a title string associated with the event.

7 . The method according to claim 3 and wherein the sorting the list of events comprises a PATRICIA tree sort according to the selected field.

8 . A method of displaying data in a program guide, the method comprising:

receiving a list of events to be displayed in the program guide, the list comprising collapsed, sorted, and grouped event data;

selecting, for each collapsed, sorted, and grouped event, a main event and at least one associated collapsed event;

displaying the main event in a sorted list of events; and

displaying the collapsed events upon selection of the main event from the sorted list of events.

9 . The method according to claim 8 and wherein the sorted list comprises an A-Z sorted list.

10 . A method of optimizing program guide data associated with a plurality of broadcast events for display on an electronic program guide (EPG), the method comprising:

associating a data field with a broadcast event selected from among the plurality of broadcast events, the data field comprising at least the following fields:

a language data field;

a title data field;

a channelgroup data field;

a broadcast time data field;

a channel data field; and

a service data field;

ordering the program guide data associated with the broadcast event according to the data field associated with the broadcast event in the following order:

Language; Title; ChannelGroup; Channel; and Service,

thereby producing ordered program guide data associated with the broadcast event;

assigning the broadcast event a LastInChannelFlag (LICF) flag and a LastInChannelGroupFlag (LICGF) flag; and

determining at least one main event from among the plurality of broadcast events,

wherein the at least one main event comprises an event within the ordered list of program guide data associated with the broadcast event comprising an identical Title field within a ChannelGroup within a first Channel comprised in the ChannelGroup.

11 . The method according to claim 10 and wherein a collapsed event comprises all events within the ordered program guide data associated with the broadcast event which comprises the channelgroup, and wherein each channelgroup is terminated by the LICF set to 1, until the LICGF is set to 1.

12 . The method according to claim 10 and wherein the Language data field comprises an ISO 639 language identifier.

13 . The method according to claim 10 and wherein the Title data field comprises a broadcast event title.

14 . The method according to claim 10 and wherein the channelgroup data field comprises a channel group identifier, the channel group identifier identifying the channelgroup to which a service broadcasting the event is assigned.

15 . The method according to claim 10 and wherein the Time data field comprises a broadcast time for the broadcast event, the broadcast time comprising the time at which the broadcast event is scheduled to be broadcast, on the service broadcasting the broadcast event.

16 . The method according to claim 10 and wherein the Channel data field comprises a channel identifier within the channelgroup comprising the service broadcasting the event.

17 . The method according to claim 10 and wherein the Service data field comprises a DVB service identifier.

18 . The method according to claim 10 and wherein the LastInChannelFlag flag:

is set to 1 if the ChannelGroup data field, Time data field, or Channel data field differs from a corresponding ChannelGroup data field, Time data field, or Channel data field in a preceding event within the ordered program guide data list, thereby denoting an end of a channel selection group; and

is set to 0 if one of the ChannelGroup data field, Time data field, and Channel data field do not differ from a corresponding ChannelGroup data field, Time data field, or Channel data field in the next event within the ordered program guide data list.

19 . The method according to claim 10 and wherein the LICGF is:

set to 1 for any event comprising a last event for a given Title data field within the channelgroup; and

set to 0 for any event not comprising a last event for a given Title data field within the channelgroup.

20 . A system of optimizing strings comprised in program guide data for transmission, the system comprising:

a string sharer operative to share, in the program guide data, a plurality of strings, the plurality of strings comprising a shared sorting key; and

a sorter operative to implement an order access of a sorted sharing index,

wherein the program guide data and the shared sorting key are comprised in the same data storage structure.

21 . A system for optimizing program guide data for transmission, the system comprising:

at a broadcast headend, a list of services and program guide data, the program guide data comprising a list of events to be broadcast on the services;

a channel association unit which associates services with channels;

a channel group association unit which further associates the channels into channel groups;

a field selector which selects a field comprised in data associated with each event;

a list sorter which sorts the list of events according to the selected field;

a grouping unit which groups the sorted list of events such that all instances of an event which comprise an identical instance of the field are grouped together;

a collapsing unit which collapses the grouped sorted list of events such that one of the following instances of the event comprises a main event and every other instance of the event within the list comprises a collapsed event:

one instance of the event next to be broadcast on at least one service associated with the channelgroup; and

one instance of the event presently being broadcast on at least one service associated with the channelgroup, and

thereby producing optimized program guide data.

22 . A system of displaying data in a program guide, the system comprising:

an event list receiver which receives a list of events to be displayed in the program guide, the list comprising collapsed, sorted, and grouped event data;

a selector which selects, for each collapsed, sorted, and grouped event, a main event and at least one associated collapsed event;

a displaying unit which:

displays the main event in a sorted list of events; and

displays the at least one collapsed event upon selection of the main event from the sorted list of events.

23 . A system for optimizing program guide data associated with events for display on an electronic program guide (EPG), the system comprising:

a data field associator which associates data fields with a broadcast event from among a plurality of broadcast events, the data field comprising at least the following fields:

a language data field;

a title data field;

a channelgroup data field;

a broadcast time data field;

a channel data field; and

a service data field;

a program guide data orderer which orders program guide data associated with the broadcast event according to the data associated with the broadcast event in the following order:

Language; Title; ChannelGroup; Channel; and Service;

thereby producing ordered program guide data associated with the broadcast event;

a broadcast event assignor which assigns the broadcast event a LastInChannelFlag (LICF) flag and a LastInChannelGroupFlag (LICGF) flag; and

a determiner which determines at least a main event from among the plurality of broadcast events,

wherein the main event comprises an event within the ordered program guide data associated with the broadcast event, the program guide data associated with the broadcast event comprising an identical Title field within a ChannelGroup within a first Channel comprised in the ChannelGroup.

24 . A method of storing program guide related data, the method comprising:

receiving program guide related data, the program guide related data comprising information about at least one program to be broadcast;

retrieving at least one title string from the received program guide related data;

storing the at least one title string in a data repository;

extracting a complete title string of one program to be broadcast from the at least one title string;

setting at least one title string sharing key equal to an uncompressed sort string, the uncompressed sort string comprising the complete title string of the one program to be broadcast; and

providing a pointer in the program guide related data from the at least one title string to a list of programs to be broadcast sharing the complete title,

wherein selecting, in a program guide, an instance of the one program to be broadcast enables the program guide to select, from the list of programs, based at least on the selection, information about the one program to be broadcast.

25 . The method according to claim 24 and wherein the information about the one program to be broadcast is selected by the program guide further based a broadcast time of the selected instance of the one program.

26 . The method according to claim 24 and wherein the data repository is a dedicated title string data repository.

27 . A program guide related data storage system, the system comprising:

a data receiver to receive program guide related data, the program guide related data comprising information about at least one program to be broadcast;

a retriever which retrieves at least one title string from the received program guide related data;

a title string store, which stores the at least one title string in a data repository;

an extractor which extracts a complete title string of one program to be broadcast from the at least one title string;

a sharing key assigner, which sets at least one title string sharing key equal to an uncompressed sort string, the uncompressed sort string comprising the complete title string of the one program to be broadcast; and

a pointer in the program guide related data from the at least one title string to a list of programs to be broadcast sharing the complete title,

wherein selecting, in a program guide, an instance of the one program to be broadcast enables the program guide to select, from the list of programs, based at least on the selection, information about the one program to be broadcast.

28 . A system of optimizing strings comprised in program guide data for transmission, the system comprising:

means for sharing, in the program guide data, a plurality of strings, the plurality of strings comprising a shared sorting key; and

means for implementing an order access of a sorted sharing index,

wherein the program guide data and the shared sorting key are comprised in the same data storage structure.

29 . A system for optimizing program guide data for transmission, the system comprising:

at a broadcast headend, a list of services and program guide data, the program guide data comprising a list of events to be broadcast on the services;

means for associating services with channels;

means for further associating the channels into channel groups;

means for selecting a field comprised in data associated with each event;

means for sorting the list of events according to the selected field;

means for grouping the sorted list of events such that all instances of an event which comprise an identical instance of the field are grouped together;

means for collapsing the grouped sorted list of events such that one of the following instances of the event comprises a main event and every other instance of the event within the list comprises a collapsed event:

one instance of the event next to be broadcast on at least one service associated with a channel group; and

one instance of the event presently being broadcast on at least one service associated with the channel group, and

thereby producing optimized program guide data.

30 . A system of displaying data in a program guide, the system comprising:

means for receiving a list of events to be displayed in the program guide, the list comprising collapsed, sorted, and grouped event data;

means for selecting, for each collapsed, sorted, and grouped event, a main event and at least one associated collapsed event;

means for displaying which:

displays the main event in a sorted list of events; and

displays the at least one collapsed event upon selection of the main event from the sorted list of events.

31 . A system for optimizing program guide data associated with events for display on an electronic program guide (EPG), the system comprising:

means for associating data fields with a broadcast event from among a plurality of broadcast events, each one of the data fields comprising at least the following fields:

a language data field;

a title data field;

a channelgroup data field;

a broadcast time data field;

a channel data field; and

a service data field;

means for ordering program guide data associated with the broadcast event according to the data associated with the broadcast event in the following order:

Language; Title; ChannelGroup; Channel; and Service;

thereby producing ordered program guide data associated with the broadcast event;

means for assigning the broadcast event a LastInChannelFlag (LICF) flag and a LastInChannelGroupFlag (LICGF) flag; and

means for determining at least a main event from among the plurality of broadcast events,

wherein the main event comprises an event within the ordered program guide data associated with the broadcast event, the program guide data associated with the broadcast event comprising an identical Title field within a ChannelGroup within a first Channel comprised in the ChannelGroup.

32 . A program guide related data storage system, the system comprising:

means for receiving program guide related data, the program guide related data comprising information about at least one program to be broadcast;

means for retrieving at least one title string from the received program guide related data;

means for storing the at least one title string in a data repository;

means for extracting a complete title string of one program to be broadcast from the at least one title string;

means for setting at least one title string sharing key equal to an uncompressed sort string, the uncompressed sort string comprising the complete title string of the one program to be broadcast; and

means for pointing, in the program guide related data, from the at least one title string to a list of programs to be broadcast sharing the complete title,

wherein selecting, in a program guide, an instance of the one program to be broadcast enables the program guide to select, from the list of programs, based at least on the selection, information about the one program to be broadcast.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: BEAUMARIS NETWORKS LLC; CISCO SYSTEMS INTERNATIONAL S.A.R.L.; CISCO TECHNOLOGY, INC.; CISCO VIDEO TECHNOLOGIES FRANCE
To: NDS LIMITED
Reel/Frame 047420/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2018
From: NDS LIMITED
To: CISCO TECHNOLOGY, INC.
Reel/Frame 046447/0387 →
RELEASE OF PATENT SECURITY INTERESTS Recorded Mar 29, 2011
From: J.P.MORGAN EUROPE LIMITED
To: NDS LIMITED; NEWS DATACOM LIMITED
Reel/Frame 026042/0124 →
RELEASE OF INTELLECTUAL PROPERTY SECURITY INTERESTS Recorded Mar 11, 2011
From: NDS HOLDCO, INC.
To: NDS LIMITED; NEWS DATACOM LIMITED
Reel/Frame 025940/0710 →
SECURITY AGREEMENT Recorded May 18, 2009
From: NDS LIMITED; NEWS DATACOM LIMITED
To: NDS HOLDCO, INC.
Reel/Frame 022703/0071 →
SECURITY AGREEMENT Recorded May 14, 2009
From: NDS LIMITED; NEWS DATACOM LIMITED
To: J.P. MORGAN EUROPE LIMITED
Reel/Frame 022678/0712 →