Patent ID: 7546375

Claim:
A system that includes one or more nodes each of which are connected with a central server that receives content including audio and video content from a broadcast source, and wherein the content is delivered to the one or more nodes by one or more feature applications, the system comprising: one or more computer-readable storage media storing computer-executable instructions which, when executed by one or more of the system and the central server, implement a method for distributing one of the one or more feature applications across one of the one or more nodes and the central server, and wherein the method comprises: receiving at the central server a request for a node application from a node; sending the node application to the node, wherein the node application is retrieved from a remote server over a network if the node application for the node is not stored on the central server, the node application providing an overall user interface configured to load and unload feature applications on the node, manage and allocate node resources for the various feature applications, and provide navigation capabilities such that a user can navigate to various different feature applications configured to run on the node; receiving at the central server a request from the node application for one of the one or more feature applications selected by the user using the overall user interface; delivering a user interface portion of the requested feature application to the node, wherein a process portion of the feature application is executed on the central server, and wherein the process portion is executed on the central server to dynamically allocate resources between the node and the central server, including resources for presenting to a user the audio and video content received by the central server from the broadcast source; receiving one or more requests for data from the user interface portion; determining, in response to each request for data, determining a current resource allocation on both the central server and on the node; dynamically distributing the processing load for processing each data request of the feature application based on the determined current resource allocation for each of the central server and the node to either the central server or the node, depending on which is most suited to process the requests at runtime, wherein the process portion utilizes resources of the central server or of the node to process each request; and providing the user interface portion with results of each request, wherein the user interface portion presents the results to the user.