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.
Once stored, applications gain access to the EPG data through a control
module. 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. 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.