A multimedia information delivery network system is disclosed for delivering multimedia programs to a plurality of users at user-selected times. The network includes a wide area transmitter for transmitting the multimedia programs. Additionally, the network includes a plurality of network servers for receiving the programs and for selectively caching the programs for retransmission to downstream network servers and/or directly to one or more users at the user-selected transmission times. A scheduler receives the user-selected transmission times and, in response thereto, establishes a network server path by which the multimedia program is efficiently delivered to each user at the respective user-selected time.
A system and method for hypervideo object tracking in a compressed digital video environment includes a hypervideo authoring system and a hypervideo browser. The hypervideo authoring system permits one or more moving objects in an MPEG compressed video clip to be identified, tracked, refined, edited, and associated with a specified action with a minimum of user intervention. The hypervideo browser allows the MPEG video to be viewed and objects of interest to be selected by a user, thereby hyperlinking to additional information of interest.
A trigger is provided in association with a network naming service, such as DNS (Domain Name Service), that handles client requests for an application. The trigger comprises a set of executable instructions referenced by a resource record associated with an identifier of the application. In response to a client request concerning the application, the resource record is retrieved and the instructions are executed. In one implementation of a trigger, a DNS server provides load balancing among a plurality of servers within a network name space (e.g., domain or sub-domain) offering an application program (or replicated service) that is known by a virtual server name. A policy is selected for choosing a preferred server from the plurality of servers according to a specified status or operational characteristic of the application instances, such as the least-loaded instance of the application or the instance with the fastest response time. The policy is encapsulated within multiple levels of objects or modules distributed among the plurality of servers and the DNS server. The objects collect and assemble the servers' status and operational characteristics. The information collected by the objects is analyzed to select the server that best satisfies the selected policy. A client request for the application is received by the DNS server, which retrieves a resource record corresponding to the virtual server name. Within the record is the name of a trigger. The trigger is executed to select, or retrieve an identity of, a server to which the client request is to be directed.
In a sound/moving picture reproduction system 1, a main data transferring device 2 includes a sound/moving picture data storing portion storing sound/moving picture data. A plurality of auxiliary data transferring devices 4 are connected in parallel to the main data transferring device 2. The auxiliary data transferring devices 4 are arranged in one or more stages along a data transfer direction defined from the main data transferring device toward a plurality of data reproducing devices 8. Each of the plurality of auxiliary data transferring devices 4 includes a copied data storing portion storing copied data of received sound/moving picture data. The main data transferring device reads sound/moving picture data from the is sound/moving picture data storing portion and transfers the read sound/moving picture data to either one of the plurality of auxiliary data transferring devices. Upon receipt of the sound/moving picture data, the auxiliary data transferring device copies the received sound/moving picture data into the copied data storing portion and transfers the copied sound/moving picture data to a desired data reproducing device.
The present invention includes a method of delivering programming over an interactive television or televideo (IT) system. The IT system includes a central control node that delivers programming to multiple subscribers or viewers. Each viewer has a video display set (e.g., a television receiver) and an associated interactive controller in communication with the central control node and that is responsive to input from the viewer for controlling programming on the video display set. With reference to a preferred embodiment, the method of this invention includes allocating dedicated programming services among the viewers associated with the IT system. The dedicated programming services may be allocated according to the available resources of the IT system, the relative values of different dedicated programming services, or both. As a result, the method of this invention minimizes disruption of dedicated programming services and particularly those of highest value or priority.
The scheduling functionality for a distributed system having multiple data servers is spread across the data servers rather than being centralized at a single machine. The distribution of the scheduling across multiple servers enhances the scalability of the system and enhances the fault tolerance of the system. Viewer state records are employed that contain scheduling information for viewers. Scheduling occurs by circulating the viewer state records amongst the data servers that are to provide the requisite data. The data servers output data blocks in a predetermined sequence based on how the data blocks are striped across the data servers. Each viewer state record is forwarded to a first successor and second successors in the scheduling sequence. The task of adding a viewer to a schedule is also distributed to the data servers.