1. Field of the Invention
This invention relates to a system for streaming moving-image data, and to a streaming server and relay server that constitute this system. In this embodiment, “streaming” refers to the real-time transmission of received data and signifies a transmission that enables multiple users (client computers) to view the same scene when these multiple users receive data that is being transmitted.
2. Description of the Related Art
The transmission of very great quantities of moving-image data has become a reality with the ever increasing use of broadband over the Internet. However, the though line usage fee at the terminal of a broadband Internet line such as an ADSL (Asymmetric Digital Subscriber Line) is low, line usage fee on the server side that transmits a very large quantity of moving-image data is still high where broadband is concerned.
For example, assume that the data receive rate of a client computer is on the order of 1.5 Mbps (megabits per second). When moving-image data is transmitted from a server to 1000 of such client computers in this case, it is necessary that the speed at which data is transmitted from the server be made 15 Gbps. The usage fee of such a high-speed line is high.
It is necessary, therefore, that broadband be achieved on a terminal line while the band of a line on the server side is suppressed.
Accordingly, an object of the present invention is to achieve broadband on a terminal line while suppressing the band on the server line.
According to the present invention, the foregoing object is attained by providing a moving-image streaming system that includes a streaming server and a plurality of relay servers.
The streaming server includes a determination device (first determination means) responsive to a request from a client computer for determining whether the plurality of relay servers includes a first relay server having a path from itself to the client computer that is shorter than a path from the streaming server to the client computer; a first transmitting device for streaming moving-image data to the client computer in response to a determination by the determination device that the first relay server is non-existent; and a second transmitting device for streaming moving-image data to the first relay server in response to a determination by the determination device that the first relay server exists.
Each of the plurality of relay servers includes a third transmitting device for streaming moving-image data, which has been streamed from the second transmitting device of the streaming server, to the client computer or to another relay server exclusive of the first relay server in accordance with length of the path to the client computer.
In accordance with the present invention, data representing a request for moving-image data is transmitted from a client computer to a streaming server.
When the streaming server receives the data representing the request for moving-image data, the streaming server determines whether there exists a relay server whose path to the client computer that requested the moving-image data is shorter than the path from the streaming server to this client computer.
If the relay server having the shorter path (namely a first relay server) exists, then moving-image data is streamed from the streaming server to the first relay server. The moving-image data is then streamed from the first relay server to the requesting client computer. Since not only the streaming server but also the relay server (first relay server) stream moving-image data, the band of the streaming-server line need not be widened in accordance with the number of client computers that request moving-image data. This makes it possible to transmit moving-image data using a comparatively inexpensive line.
If a relay server having a shorter path does not exist, then the streaming server transmits the moving-image data to the requesting client computer.
Further, the first relay server can be provided with a second determination device for determining whether the plurality of relay servers includes a second relay server having a path from itself to the client computer that is shorter than the path from the first relay server to the client computer; a fourth transmitting device for streaming streamed moving-image data to the client computer in response to a determination by the second determination device that the second relay server is non-existent; and fifth transmitting device for streaming streamed moving-image data to the second relay server in response to a determination by the second determination device that the second relay server exists.
Each of the plurality of relay servers may also have a sixth transmitting device for streaming moving-image data, which has been streamed from the fifth transmitting device of the streaming server, to the client computer.
The streaming server and relay servers constructing the above-described moving-image streaming system may each be constructed independently of each other.
Such a relay server may have a receiving device for receiving streaming moving-image data; a detecting device for detecting a relay server having a path shorter than a path to a client computer that has requested streaming of moving-image data; and a transmitting device for streaming the moving-image data, which has been received by the receiving device, to the relay server detected by the detecting device.
A method of controlling the above-described relay server also is provided. Specifically, the method comprises the steps of receiving moving-image data that is being streamed; detecting a relay server having a path shorter than a path to a client computer that has requested streaming of moving-image data; and streaming the moving-image data, which has been received, to the relay server detected.
Further, the streaming server includes a determination device responsive to a request from a client computer for determining whether the plurality of relay servers includes a first relay server having a path from itself to the client computer that is shorter than a path from the streaming server to the client computer; a first transmitting device for streaming moving-image data to the client computer in response to a determination by the determination device that the first relay server is non-existent; and a second transmitting device for streaming moving-image data to the first relay server in response to a determination by the determination device that the first relay server exists.
A method of controlling the above-described streaming server also is provided. Specifically, the method comprises the steps of determining, in response to a request from a client computer, whether the plurality of relay servers includes a first relay server having a path from itself to the client computer that is shorter than a path from the streaming server to the client computer; streaming moving-image data to the client computer in response to a determination by the determination device that the first relay server is non-existent; and streaming moving-image data to the first relay server in response to a determination that the first relay server exists.
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.
A preferred embodiment of the present invention will now be described in detail with reference to the drawings.
The moving-image streaming system comprises a streaming server 1, which includes a CPU, a memory, a communication circuit, a display unit and an input unit, etc., a number of relay servers 10, 11, 12, 20, 21, 22 and 30, and a number of client computers 31, 32, 33, 34, 35, 36, 37, 38 and 39.
In
In the moving-image streaming system according to this embodiment, the user of a client computer attempting to receive moving-image data first effects a connection to the streaming server 1. In a case where there is a relay server whose path from the streaming server 1 is shorter than the path from the connect-requesting client computer to the streaming server 1, moving-image data is streamed from the streaming server to this relay server and then the moving-image data is streamed from this relay server to the client computer.
For example, assume that the client computer 31 requests the streaming server 1 for streaming of moving-image data. Assume also that the distance (path) from the streaming server 1 to the relay server 11 is shorter than that to the client computer 31 and that the distance (path) from streaming server 1 to the relay server 10 is shorter than that to the relay server 11. If the client computer 31 issues a connection request for moving-image data to the streaming server 1 in such case, then the address of the relay server 10, which is closer to the client computer 31 than is the streaming server 1, is transmitted from the streaming server 1 to the client computer 31. The client computer 31 then requests the relay server 10 for streaming of the moving-image data. Now the address of the relay server 11, which is even closer to the client computer 31 than is the relay server 10, is transmitted to the client computer 31. Since the relay server 11 is closest to the client computer 31, moving-image data is streamed from the relay server 11 to the client computer 31.
By constructing the moving-image streaming system in this fashion, moving-image data can be streamed to a larger number of client computers, even though the line connected to the streaming server 1 has a narrow band, in comparison with a case where moving-image data is streamed from the streaming server 1 to all of the client computers.
The above will be clarified further by the detailed description that follows.
First, the relay server is connected to the streaming server 1. When this is achieved, the relay server sends the streaming server 1 data requesting streaming of moving-image data (step 41 in
When the streaming server 1 becomes connected to the relay server and the request for transmission of moving-image data is received from the relay server, the streaming server 1 determines whether the path from the streaming server 1 to this relay server is the shortest (step 51 in
If the path is the shortest path (“YES” at step 52 in
If moving-image data is streamed from the streaming server 1 (“YES” at step 42 in
If the path is not the shortest path (“NO” at step 52 in
If streaming of moving-image data does not take place at the relay server that requested transmission (“NO” at step 42 in
Processing by the client computer is substantially the same as the above-described processing (
As shown in
In a manner similar to that described above, it is determined whether a relay server whose path from the streaming server is shorter than that from the streaming server to the client computer exists (steps 51, 52 in
If the client computer receives streamed moving-image data from the streaming server 1 (“YES” at step S42), then the client computer reproduces the moving image represented by the received moving-image data (step 64 in
As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2002-067797 | Mar 2002 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6594798 | Chou et al. | Jul 2003 | B1 |
6718359 | Zisapel et al. | Apr 2004 | B2 |
6795434 | Kumar et al. | Sep 2004 | B1 |
6826610 | Sakakura | Nov 2004 | B1 |
6832253 | Auerbach | Dec 2004 | B1 |
7058809 | White et al. | Jun 2006 | B2 |
7123620 | Ma | Oct 2006 | B1 |
7127492 | Calo et al. | Oct 2006 | B1 |
7315541 | Housel et al. | Jan 2008 | B1 |
20010018709 | Kriegsman | Aug 2001 | A1 |
20020007413 | Garcia-Luna-Aceves et al. | Jan 2002 | A1 |
20020095582 | Peled et al. | Jul 2002 | A1 |
20030004998 | Datta | Jan 2003 | A1 |
20030023747 | Fouquet et al. | Jan 2003 | A1 |
20030046422 | Narayanan et al. | Mar 2003 | A1 |
20030126197 | Black et al. | Jul 2003 | A1 |
20030177183 | Cabrera et al. | Sep 2003 | A1 |
20040068576 | Lindbo et al. | Apr 2004 | A1 |
20050262529 | Neogi et al. | Nov 2005 | A1 |
20080040740 | Plotnick et al. | Feb 2008 | A1 |
20080072232 | O'Toole, Jr. | Mar 2008 | A1 |
Number | Date | Country |
---|---|---|
8-130551 | May 1996 | JP |
11-313059 | Nov 1999 | JP |
2001-223693 | Aug 2001 | JP |
2002-9828 | Jan 2002 | JP |
Number | Date | Country | |
---|---|---|---|
20030177256 A1 | Sep 2003 | US |