Metaserver for a multimedia distribution network
AssigneeMicrosoft Corporation
InventorsLing Tony Chen, Dawson Frank Dean
Life of this patent
Estimating the term…
Abstract
A metaserver for managing the delivery of multimedia streams from, a plurality of multimedia servers to multiple clients over a diverse network is disclosed. The metaserver allows one to eliminate the bottleneck problem associated with the limited speed of a single multimedia server, reduce the network congestion and increase the fault tolerance of the whole system.
Claims31
In at least one metaserver at one level of management, each said metaserver having a processor and a memory, a method for assigning a plurality of multimedia servers configured to provide data streams for a plurality of client computers, each said client computer being coupled to each said metaserver at the same level of management and to each said multimedia server via a network, each said client computer including a video and audio display device, each said metaserver memory configured to store a metaserver database that includes information about the data streams stored in at least one of said multimedia servers, said method comprising:
- receiving a request for a multimedia stream from one of said client computers;
- monitoring the status of each said multimedia server and the status of said network;
- selecting from the metaserver database at least one eligible multimedia server storing the requested multimedia stream using a selection algorithm;
- and
- communicating a name of said at least one eligible multimedia server to said client computer.
A method for managing a client computer in a computer system, said computer system including a plurality of said client computers coupled to a plurality of multimedia servers and coupled to at least one metaserver at the same level of management via a network, each said metaserver including a metaserver database having information about data streams stored in at least one of the multimedia servers, each said client computer including a video and audio display device, said method comprising:
- picking up one said metaserver upon determining that more than one said metaserver is available at the same level of management;
- retrieving from the metaserver database a name of at least one eligible multimedia server that stores a requested multimedia stream by said client computer;
- and
- connecting said client computer to said at least one eligible multimedia server via said network in order to display said requested multimedia stream on said client computer video and audio display device.
A metaserver useful in association with a plurality of multimedia servers and with a plurality of client computers, said metaserver configured to provide a multimedia server to each said client computer, each said client computer being coupled to said metaserver and to each said multimedia server via a network, each said client computer including a video and audio display device, said metaserver having a metaserver database which includes information about the video data streams stored in at least one of said multimedia servers, said metaserver comprising:
- a receiver configured to receive a request for a multimedia stream from one of said client computer by said metaserver;
- a monitor configured to continuously monitor the status of each said multimedia server and the status of said network;
- a selector configured to select from the metaserver database at least one eligible multimedia server that stores the requested multimedia stream using a selection algorithm;
- and
- a transmitter configured to transmit a name of said at least one eligible multimedia server to said client computer.
A client computer useful in association with a plurality of multimedia server and with at least one metaserver at the same level of management, said client computer being couple to said plurality of multimedia server and coupled to said at least one metaserver via a network, said at least one metaserver including a metaserver database, said client computer including a video and audio display device, said client computer comprising:
- a transmitter configured to transmit a request for a multimedia stream to said at least one metaserver;
- a receiver configured to receive from the at least one metaserver database a name of at least one eligible multimedia server that stores the requested multimedia stream;
- a selector configured to select the name of at least one of the eligible multimedia servers;
- and
- a display device configured to display said requested multimedia stream.
A computer-readable storage medium useful in association with at least one metaserver, said at least one metaserver having a processor and a memory, said at least one metaserver managing a plurality of multimedia servers and a plurality of client computers, said at least one metaserver designed to provide a service to each said client computer, each said client computer being coupled to said at least one metaserver and to each said multimedia server via a network, each said client computer including a video and audio display device, said at least one metaserver memory configured to store a metaserver database which includes information about the video data streams stored in at least one of said multimedia servers;
- said computer-readable storage medium including computer-readable code instructions configured to cause said at least one metaserver to:
- receive a request for a multimedia stream from one of said client computers;
- continuously monitor the status of each said multimedia server and the status of said network;
- select from the at least one metaserver database at least one eligible multimedia server that stores the requested multimedia stream using a selection algorithm;
- and
- communicate a name of said at least one eligible multimedia server to said client computer.
A computer-readable storage medium useful in association with at least one client computer, each said client computer being coupled to at least one metaserver and to a plurality of multimedia servers via a network, said at least one metaserver having a processor and a memory, said at least one metaserver managing a plurality of multimedia servers and a plurality of client computers, said at least one metaserver designed to provide a service to each said client computer, each said client computer including a video and audio display device, said at least one metaserver memory configured to store a metaserver database which includes information about the video data streams stored in at least one of said multimedia servers;
- said computer-readable storage medium including computer-readable code instructions configured to cause said client computer to:
- pick up one said metaserver upon determining there is more than one said metaserver at the same level of management;
- send a request for a multimedia stream to said metaserver by one of said client computers;
- retrieve from the metaserver database a name of at least one eligible multimedia server that stores the requested multimedia stream by said client computer;
- and
- connect said client computer to said at least one eligible multimedia server via said network in order to display said requested multimedia stream on said client computer video and audio display device.
A method comprising:
- receiving a request for a multimedia stream from one of a number of client computers;
- monitoring the status of each of a number of multimedia servers and the status of a network coupling the number of client computers and the number of multimedia servers;
- selecting from a database having information about data streams stored in at least one of the multimedia servers at least one eligible multimedia server storing the requested multimedia stream using a selection algorithm;
- and
- communicating a name of said at least one eligible multimedia server to the one of the number of client computers.
A metaserver comprising:
- a receiver configured to receive a request for a multimedia stream from one of a number of client computers;
- a monitor configured to monitor the status of each of a number of multimedia servers and the status of a network coupling the number of client computers and the multimedia servers;
- a selector configured to select from a database at least one eligible multimedia server that stores the requested multimedia stream using a selection algorithm;
- and
- a transmitter configured to transmit the name of said at least one eligible multimedia server to the one of the number of client computers.
A computer comprising:
- a transmitter configured to transmit a request for a multimedia stream to a metaserver;
- a receiver configured to receive from a database stored on the metaserver a name of at least one eligible multimedia server that stores the requested multimedia stream;
- and
- a selector configured to select the name of at least one of the eligible multimedia servers.
A method comprising:
- transmitting a request for a multimedia stream to a metaserver;
- receiving from a database a name of at least one eligible multimedia server that stores the requested multimedia stream, the database having information about data streams stored on at least one multimedia server;
- and
- selecting the name of at least one of the eligible multimedia servers.
A computer readable medium having computer-executable instructions comprising:
- receiving a request for a multimedia stream from one of a number of client computers;
- monitoring the status of each of a number of multimedia servers and the status of a network coupling the number of client computers and the number of multimedia servers;
- selecting from a database at least one eligible multimedia server that stores the requested multimedia stream using a selection algorithm, the database having information about data streams stored on at least one multimedia server;
- and
- communicating a name of said at least one eligible multimedia server to the one of the number of client computers.
A computer readable medium having computer-executable instructions comprising:
- transmitting a request for a multimedia stream to a metaserver;
- receiving from a database a name of at least one eligible multimedia server that stores the requested multimedia stream, the database having information about data streams stored on at least one multimedia server;
- and
- selecting the name of at least one of the eligible multimedia servers.
A method comprising:
- receiving a request for a multimedia stream from one of a number of client computers;
- monitoring the status of each of a number of multimedia servers and the status of a network coupling the number of client computers and the number of multimedia servers;
- selecting a selection algorithm from a menu of algorithms;
- selecting from a database at least one eligible global multimedia server that stores the requested multimedia stream using the selection algorithm;
- communicating a name of said at least one eligible global multimedia server and an identity of a local metaserver to the one of the number of client computers;
- and
- transferring management responsibility from a global metaserver to the local metaserver.
Dependencies are inferred from the claim text.