EPG services are provided, which enables a device such as a computer, a set top
box or the like to collect EPG data from multiple EPG data providers or sources.
The EPG data is collected at the device by EPG loaders. Each EPG loader collects
EPG data from a particular source. The EPG loaders deliver the EPG data to a writer
module, which performs scaling and formatting functions to the EPG data. The writer
module also stores the scaled and formatted EPG data in a database or other storage.
The writer module may also be implemented by chaining EPG loaders in a priority
scheme. However, EPG loader interaction reduces independence and forces more rigid
interface and implementation constraints upon the design of EPG loaders. Once stored,
applications gain access to the EPG data through a control module. The control
module provides the accessed EPG data to the applications. EPG services function
to isolate the operation of the applications from the EPG data sources. Because
the EPG data is stored by the writer module and accessed by the control module,
the applications and EPG data sources can change independently of one another without
having an effect on the ability of EPG services to collect and provide access to
EPG data.