Patent ID: 7698304
Filing Date: 2010-04-13
Classification: G06F,H04N

Abstract:
1. A method for providing updated data to a plurality of client devices, comprising: receiving updated electronic program guide (EPG) data from a source; providing the updated EPG data to a plurality of data-providing modules for integrating the updated EPG data with previously received EPG data; sending a notification message from a notification module to at least one client device that identifies a version of the updated EPG data in response to receiving a task-completed message at the notification module from one of the plurality of data-providing modules, the task-completed message sent when the one of the plurality of data-providing modules has finished integrating the updated EPG data, wherein the notification module generates a notification message in response to receipt of the task-completed message received from the data-providing module and does not send out subsequent notification messages in response to receipt of subsequent task-completed messages identifying the same version of undated EPG data from other data-providing modules; receiving a request from one of the plurality of client devices for the version of the updated EPG data identified in the notification message, wherein the plurality of client devices are configured for presentation of media information; in response to the request, routing the request to one of the data-providing modules that has finished integrating the version of the updated EPG data identified in the request; and sending the updated EPG data to the requesting client device from one of the data-providing modules that received the request, wherein the request comprises a first request and a second request, and wherein the routing comprises: choosing a candidate data-providing module in response to the first request, wherein the choosing the candidate data-providing module is performed by a load balancing module that incorporates an intelligence allowing the load balancing module to proactively determine which of the plurality of data-providing modules is ready to deliver EPG data that matches the version of the updated EPG data identified in the first request by interrogating the plurality of candidate data-providing modules to identify the candidate data-providing module that has finished integrating the version of the updated EPG data identified in the request; determining whether the candidate data-providing module is ready to deliver EPG data which matches the version identified in the first request, to provide a matching result; selecting the candidate data-providing module as the selected one of the plurality of data-providing modules if the matching result indicates a match; when the matching result does not indicate a match by comparing the version identified in the first request with a version associated with data stored in a cache of the candidate data-providing module, notifying the at least one client device that the first request has failed; receiving the second request from the client module; choosing an other candidate data-providing module in response to the second request; and repeating the determining and selecting with respect to the other candidate data-providing module.