Patent ID: 8782710

Claim:
A method of optimizing EPG data at a server for provision to a terminal device, the method comprising: receiving the EPG data, wherein the EPG data comprises a plurality of schedule objects; identifying, using a processor, a recurrence pattern in a subset of the schedule objects, wherein identifying the recurrence pattern comprises: comparing schedule objects of the plurality associated with a selected channel to schedule objects of the plurality associated with a plurality of other channels, allowing for a drift of up to six hours in half hour increments; sorting the plurality of schedule objects primarily by channel, secondarily by program and thirdly by air date and time; and sorting the plurality of schedule objects primarily by channel, secondarily by air time, thirdly by program and fourthly by air date; and based on the recurrence pattern, identifying at least one base schedule object in the subset of schedule objects, wherein the at least one base schedule object comprises properties that are common to two or more of the schedule objects in the subset; generating at least one recurrence pattern property for the at least one base schedule object, the at least one recurrence pattern property usable to regenerate the one or more properties of two or more of the schedule objects in the subset, based on the recurrence pattern and the at least one base schedule object; generating an optimized schedule grouping comprising the at least one base schedule object and a metadata object, wherein the metadata object comprises the at least one recurrence pattern property; replacing the subset of schedule objects in the EPG data with the optimized schedule grouping to generate optimized EPG data; and providing the optimized EPG data to the terminal device.