JP2006244054A - Information processor and method, recording medium, program and information processing system - Google Patents
Information processor and method, recording medium, program and information processing system Download PDFInfo
- Publication number
- JP2006244054A JP2006244054A JP2005057701A JP2005057701A JP2006244054A JP 2006244054 A JP2006244054 A JP 2006244054A JP 2005057701 A JP2005057701 A JP 2005057701A JP 2005057701 A JP2005057701 A JP 2005057701A JP 2006244054 A JP2006244054 A JP 2006244054A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- server
- transmitted
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
Description
本発明は情報処理装置および方法、記録媒体、プログラム、並びに情報処理システムに関し、特に、より効率よくストリーミングすることができるようにした情報処理装置および方法、記録媒体、プログラム、並びに情報処理システムに関する。 The present invention relates to an information processing device and method, a recording medium, a program, and an information processing system, and more particularly, to an information processing device and method, a recording medium, a program, and an information processing system that can stream more efficiently.
昨今、インターネットなど、種々の通信媒体を利用して、映像(動画像)や音楽などのコンテンツを配信するサービスが一般に行われている。コンテンツの配信は、例えば、コンテンツを再生するための画像データや音声データ(以下、適宜、コンテンツデータと称する)を記録しているサーバが、インターネットを介して、コンテンツデータをクライアントあてに送信したり、ピアツーピア(Peer To Peer)などのネットワークにおいて、コンテンツデータを記録している送信ノードとしてのクライアント(送信装置)が、ネットワークを介して、コンテンツデータを受信ノードとしてのクライアント(受信装置)に送信することによって行われる。 In recent years, services that distribute content such as video (moving images) and music using various communication media such as the Internet are generally performed. Content distribution is performed by, for example, a server that records image data and audio data (hereinafter referred to as content data as appropriate) for reproducing content transmitting content data to clients via the Internet. In a network such as peer-to-peer (Peer To Peer), a client (transmitting device) as a transmission node recording content data transmits content data to a client (receiving device) as a receiving node via the network. Is done by.
特に、近年、送信ノードとしては信頼性が低いとされてきたパーソナルコンピュータなどの性能が高くなり、送信ノードとしての信頼性が高くなったことや、ネットワークの帯域がより広くなったこと、さらに、パーソナルコンピュータなどの各ノードが、常に(常時)ネットワークに接続されるようになってきたことなどにより、ネットワーク上において、より大きいデータを、より確実に伝送できるようになってきた。そのため、ダウンロード型やライブ型の伝送方式のサービスに加えて、プログレッシブダウンロード型の伝送方式のサービスがより多く提供されるようになってきている。 In particular, in recent years, the performance of personal computers and the like, which have been considered to be low as a transmission node, has increased, the reliability as a transmission node has increased, the network bandwidth has become wider, With each node such as a personal computer being always (always) connected to the network, larger data can be transmitted more reliably on the network. Therefore, in addition to download-type and live-type transmission scheme services, more progressive download-type transmission scheme services are provided.
ダウンロード型の伝送方式のサービスにおいては、コンテンツを配信(送信)する側の装置(以下、サーバと称する)が、既にエンコードが完了しているコンテンツデータを、受信側の装置(以下、クライアントと称する)に送信する。クライアントは、サーバから送信されてきたコンテンツデータを受信してから(コンテンツデータのダウンロードが完了した後)コンテンツデータを再生する。 In a download-type transmission method service, content data that has already been encoded by a device that distributes (transmits) content (hereinafter referred to as a server) is referred to as a device that receives data (hereinafter referred to as a client). ). The client reproduces the content data after receiving the content data transmitted from the server (after downloading of the content data is completed).
一方、ライブ型の伝送方式のサービスにおいては、例えば、サーバが、撮像した映像に対応するコンテンツデータをリアルタイムでエンコードし、エンコードによって得られたコンテンツデータを直ちにクライアントあてに送信する。そして、クライアントは、サーバから送信されてきたコンテンツデータを受信するとともに、これに並行して、受信されたコンテンツデータを基にコンテンツを再生する。すなわち、サーバは、コンテンツデータをストリーミング配信し、クライアントは、サーバから送信されてきたコンテンツデータを受信して、順次再生する。 On the other hand, in a live-type transmission method service, for example, a server encodes content data corresponding to a captured video in real time, and immediately transmits the content data obtained by encoding to a client. Then, the client receives the content data transmitted from the server, and at the same time, reproduces the content based on the received content data. That is, the server distributes the content data in a streaming manner, and the client receives the content data transmitted from the server and reproduces it sequentially.
また、プログレッシブダウンロード型の伝送方式のサービスにおいては、サーバが、既にエンコードが完了しているコンテンツデータを、クライアントあてに送信する。そして、ライブ型の伝送方式における場合と同様に、クライアントは、サーバから送信されてきたコンテンツデータを受信するとともに、これに並行して、受信されたコンテンツデータを基にコンテンツを再生する。 In the service of the progressive download transmission method, the server transmits content data that has already been encoded to the client. Then, as in the case of the live transmission method, the client receives the content data transmitted from the server, and simultaneously reproduces the content based on the received content data.
コンテンツ(コンテンツデータ)をプログレッシブダウンロード型の伝送方式で配信する場合、エンコードされたコンテンツデータが出力される速度(ビットレート)が、クライアントがコンテンツデータをダウンロードする速度(コンテンツデータを受信するビットレート)よりも十分に大きいときには、クライアントは、自分自身が持つ(割り当てられた)ネットワークの帯域を最大限に利用してコンテンツデータをダウンロードし、そのコンテンツデータを一時的に記憶しておくことにより、サーバやネットワークに問題が発生しても、コンテンツを連続して視聴できる部分(コンテンツデータ)を可能な限り確保することができる。 When delivering content (content data) using the progressive download type transmission method, the speed at which the encoded content data is output (bit rate) is the speed at which the client downloads the content data (the bit rate at which the content data is received). When the size is larger than the limit, the client downloads the content data by making the best use of its own (allocated) network bandwidth, and temporarily stores the content data. Even if a problem occurs in the network, a portion (content data) where the content can be viewed continuously can be secured as much as possible.
例えば、インターネットなどの帯域保障がされないネットワークにおいて、クライアントが、サーバからコンテンツデータをダウンロードする場合、ネットワーク上において、コンテンツデータ(が格納されたパケット)を伝送する途中で、パケットのロスや伝送の遅延などの擾乱(問題)が発生し、これによる帯域の縮退やコネクション断がある程度の確率で発生する。しかしながら、プログレッシブダウンロード型の伝送方式においては、クライアントは、自分自身が持つネットワークの帯域やハードディスクのディスク容量などのリソースを最大限に用いて、コンテンツデータを可能な限りダウンロード(受信)しておくことによって、パケットのロスやコネクション断などが発生した場合においても、既にダウンロードされたコンテンツデータ(キャッシュされたコンテンツデータ)を用いて、コネクションの張りなおしや帯域が元に戻るまでの間、シーンの連続性を損ねることなく(再生を途切れさせることなく)コンテンツを視聴し続けることができる。 For example, in a network where bandwidth is not guaranteed such as the Internet, when a client downloads content data from a server, a packet loss or transmission delay occurs in the middle of transmitting the content data (packet storing the content) on the network. Such a disturbance (problem) occurs, and band degeneration and connection disconnection due to this occur with a certain probability. However, in the progressive download type transmission method, the client downloads (receives) the content data as much as possible using the resources such as the network bandwidth and the hard disk capacity of the hard disk as much as possible. Even if a packet loss or connection disconnection occurs due to continuation of the scene using the already downloaded content data (cached content data) until the connection is reestablished or the bandwidth is restored. It is possible to continue watching the content without losing performance (without interrupting playback).
ところで、コンテンツデータをより迅速にダウンロードするために、コンテンツデータを分割してダウンロードする方法が提案されている。例えば、FlashGetなどのダウンロードアプリケーションプログラムを用いて、所望するコンテンツデータを複数のデータに分割して(分けて)、分割されたデータのそれぞれを、1つのサーバから一斉(同時)にダウンロードする方法が提案されている。 By the way, in order to download content data more quickly, a method of dividing and downloading content data has been proposed. For example, there is a method of dividing desired content data into a plurality of data (downloading) using a download application program such as FlashGet and downloading each of the divided data from one server at the same time (simultaneously). Proposed.
しかしながら、通常、コンテンツデータのダウンロードは、例えば、TCP(Transmission Control Protocol)セッションの1セッションで行われるため、サーバに負荷がかかり過ぎないように、サーバ側での1セッションあたりの最大転送レートが制限されることがある。また、TCPでのセッションでは、パケットロスが生じた場合に、大幅にパケットの転送レートを落としたり、遅延の大きいネットワークにおいては、最大スループットが制限される。 However, since content data is normally downloaded in one session of a TCP (Transmission Control Protocol) session, for example, the maximum transfer rate per session on the server side is limited so that the server is not overloaded. May be. Also, in a TCP session, when packet loss occurs, the maximum throughput is limited in a network where the packet transfer rate is significantly reduced or the delay is large.
したがって、クライアントが、1つのサーバからコンテンツデータをダウンロードする場合、コンテンツデータを分割してダウンロードしたとしても、クライアントは、自分自身が持つ帯域を有効に利用することができないことがある。 Therefore, when a client downloads content data from one server, even if the content data is divided and downloaded, the client may not be able to effectively use its own bandwidth.
このような問題を解決する方法として、コンテンツデータを複数のデータに分割し、分割したデータを、それぞれ複数のサーバ(ミラーサーバ)からダウンロードする方法が提案されている(例えば、特許文献1参照)。また、コンテンツデータを複数のデータに分割して、それぞれ複数のサーバからダウンロードする方法として、例えば、Star Downloaderなどのダウンロードアプリケーションプログラムを用いて、コンテンツデータを複数のデータに分割し、それぞれ複数のサーバからダウンロードする方法も提案されている。例えば、サーバAおよびサーバBが、それぞれ同一のコンテンツデータAを記録しているとすると、クライアントは、コンテンツデータAを、データAおよびデータBの2つのデータに分け、データAをサーバAからダウンロードし、データBをサーバBからダウンロードする。 As a method for solving such a problem, a method is proposed in which content data is divided into a plurality of data, and the divided data is downloaded from a plurality of servers (mirror servers), respectively (for example, see Patent Document 1). . Also, as a method of dividing content data into a plurality of data and downloading them from a plurality of servers, for example, using a download application program such as Star Downloader, the content data is divided into a plurality of data, and each of the plurality of servers The method of downloading from is also proposed. For example, if server A and server B record the same content data A, the client divides content data A into two data, data A and data B, and downloads data A from server A. Then, data B is downloaded from server B.
このように、1つのコンテンツデータを複数のデータに分けて(分割して)、複数のサーバからダウンロードすることにより、クライアントは、自分自身が持つ帯域を有効に利用することができる。また、この場合、クライアントがコンテンツデータをダウンロードする速度は、各サーバが持つ帯域を加算した値(速度)となるので、コンテンツデータをより迅速にダウンロードすることができる。 As described above, by dividing (dividing) one content data into a plurality of data and downloading the data from a plurality of servers, the client can effectively use the bandwidth possessed by the client. In this case, the speed at which the client downloads the content data is a value (speed) obtained by adding the bandwidths of the servers, so that the content data can be downloaded more quickly.
また、ピアツーピアネットワークにおいては、コンテンツデータをピアツーピアネットワークに接続されている複数のクライアントに分散させることによって、コンテンツデータをダウンロードすることができる可能性を向上させている。 In the peer-to-peer network, the possibility that content data can be downloaded is improved by distributing the content data to a plurality of clients connected to the peer-to-peer network.
換言すれば、WinnyやBittorrentなどのピアツーピアネットワークに接続されている、受信ノードとしてのクライアントは、例えば、それぞれのネットワークに対応したクライアントソフトウェアを用いて、送信ノードとしての他のクライアントからコンテンツデータをダウンロードする。ここで、送信ノードとしてのクライアントは、一般に、パーソナルコンピュータであり、専用のサーバに比べて自分自身が持つ帯域やCPU(Central Processing Unit)の処理能力、すなわち、コンテンツデータの送信能力の面で劣るため、受信ノードとしてのクライアントが、コンテンツデータをダウンロードするときに、十分なダウンロード速度が得られないことがある。そこで、ピアツーピアネットワークにおいては、受信ノードとしてのクライアントは、1つのコンテンツデータを複数のデータに分割して(分けて)、それぞれのデータを、複数の送信ノードとしてのクライアントから、それぞれダウンロードすることによって、各クライアントの送信能力の不足を補っている。 In other words, a client serving as a receiving node connected to a peer-to-peer network such as Winny or Bittorrent downloads content data from another client serving as a sending node using, for example, client software corresponding to each network. To do. Here, a client as a transmission node is generally a personal computer, which is inferior in terms of its own bandwidth and CPU (Central Processing Unit) processing capability, that is, content data transmission capability, compared to a dedicated server. Therefore, when a client as a receiving node downloads content data, a sufficient download speed may not be obtained. Therefore, in a peer-to-peer network, a client as a receiving node divides one content data into a plurality of data, and downloads each data from a client as a plurality of transmitting nodes. Make up for the lack of transmission capability of each client.
ところで、上述した、コンテンツデータを複数のサーバ(または送信ノード)から分割してダウンロードする方法は、主に、ダウンロード型の伝送方式でコンテンツデータを配信することが想定されており、プログレッシブダウンロード型の伝送方式での配信は、視野に入れられていない。例えば、ピアツーピアネットワークにおいては、コンテンツ(コンテンツデータ)を配信する場合、送信ノードとしてパーソナルコンピュータが利用されるため、送信能力などの安定性が保証されないので、最終的に、受信ノードが、コンテンツデータをダウンロードすることができればよいという観点から、コンテンツの配信は、通常、ダウンロード型の伝送方式で行われる。 By the way, the above-described method of downloading content data by dividing it from a plurality of servers (or transmission nodes) is mainly assumed to distribute the content data by a download-type transmission method. Distribution in the transmission system is not in view. For example, in the case of distributing content (content data) in a peer-to-peer network, since a personal computer is used as a transmission node, stability such as transmission capability cannot be guaranteed. From the viewpoint that it is only necessary to be able to download, content distribution is usually performed by a download-type transmission method.
したがって、プログレッシブダウンロード型の伝送方式で配信されるコンテンツ(コンテンツデータ)を、複数のサーバから分割してダウンロードする場合、ダウンロードが完了したコンテンツデータのうち、連続して再生することができるコンテンツデータの量が少なく、非常に効率が悪くなってしまう。 Accordingly, when content (content data) distributed by a progressive download type transmission method is divided and downloaded from a plurality of servers, content data that can be continuously played out of content data that has been downloaded. The amount is small and the efficiency is very poor.
例えば、図1に示すように、1つのコンテンツデータを、データ11−1乃至データ11−5に分けて、複数のサーバからダウンロードしたとする。ここで、図中、横軸は、コンテンツデータの再生時刻を示している。また、データ11−1乃至データ11−5のうち、黒い部分は、既にサーバからのダウンロードが完了した部分を示しており、白い部分は、サーバからのダウンロードが完了していない部分、すなわち、まだダウンロードしていない部分を示している。 For example, as shown in FIG. 1, it is assumed that one piece of content data is divided into data 11-1 to data 11-5 and downloaded from a plurality of servers. Here, in the figure, the horizontal axis indicates the reproduction time of the content data. In addition, among the data 11-1 to data 11-5, the black portion indicates a portion where the download from the server has already been completed, and the white portion indicates a portion where the download from the server has not been completed, that is, still The part which has not been downloaded is shown.
コンテンツ(コンテンツデータ)を再生する場合、コンテンツデータは、再生時刻t0の部分から再生が開始され、再生時刻t10の部分で再生が終了する。すなわち、クライアントは、データ11−1乃至データ11−5の順番で、データ11−1乃至データ11−5のそれぞれを用いて、コンテンツを再生する。クライアントは、このコンテンツデータを、再生時刻t0から再生時刻t2までのデータ11−1、再生時刻t2から再生時刻t4までのデータ11−2、再生時刻t4から再生時刻t6までのデータ11−3、再生時刻t6から再生時刻t8までのデータ11−4、および再生時刻t8から再生時刻t10までのデータ11−5のそれぞれに分ける。そして、データ11−1乃至データ11−5を、それぞれ異なるサーバからダウンロードする。 When content (content data) is reproduced, the content data starts to be reproduced from the portion of the reproduction time t0, and the reproduction ends at the portion of the reproduction time t10. That is, the client reproduces the content using each of the data 11-1 to data 11-5 in the order of the data 11-1 to data 11-5. The client uses this content data as data 11-1 from playback time t0 to playback time t2, data 11-2 from playback time t2 to playback time t4, data 11-3 from playback time t4 to playback time t6, Data 11-4 from reproduction time t6 to reproduction time t8 and data 11-5 from reproduction time t8 to reproduction time t10 are divided. Then, data 11-1 through data 11-5 are downloaded from different servers.
図1の例においては、データ11−1のうちの、再生時刻t0から再生時刻t1の部分のデータ、データ11−2のうちの、再生時刻t2から再生時刻t3の部分のデータ、およびデータ11−3のうちの、再生時刻t4から再生時刻t5の部分のデータが、既にダウンロードされている。また、データ11−4のうちの、再生時刻t6から再生時刻t7の部分のデータ、およびデータ11−5のうちの、再生時刻t8から再生時刻t9の部分のデータも、既にダウンロードされている。 In the example of FIG. 1, the data from the reproduction time t0 to the reproduction time t1 in the data 11-1, the data from the reproduction time t2 to the reproduction time t3 in the data 11-2, and the data 11 -3, the data from the playback time t4 to the playback time t5 has already been downloaded. In addition, the data from the reproduction time t6 to the reproduction time t7 in the data 11-4 and the data from the reproduction time t8 to the reproduction time t9 in the data 11-5 are already downloaded.
したがって、この場合、クライアントにおいては、コンテンツデータを基に再生されるコンテンツのうち、再生時刻t0から再生時刻t1までのコンテンツデータに対応する部分を連続して再生することができる。しかしながら、既にダウンロードが完了している再生時刻t2から再生時刻t3の部分のデータは、データ11−1のダウンロードが完了するまで、すなわち、まだダウンロードされていない再生時刻t1から再生時刻t2の部分のデータのダウンロードが完了するまで、コンテンツの再生に用いることができない。 Therefore, in this case, the client can continuously reproduce the portion corresponding to the content data from the reproduction time t0 to the reproduction time t1 among the content reproduced based on the content data. However, the data from the reproduction time t2 to the reproduction time t3 that has already been downloaded is the data of the portion from the reproduction time t1 to the reproduction time t2 that has not yet been downloaded, that is, the data 11-1. Until the data download is complete, it cannot be used for content playback.
同様に、既にダウンロードが完了している再生時刻t4から再生時刻t5の部分のデータ、再生時刻t6から再生時刻t7の部分のデータ、および再生時刻t8から再生時刻t9の部分のデータも、現時点においては、コンテンツの再生に用いることができない。 Similarly, the data from the playback time t4 to the playback time t5 that have already been downloaded, the data from the playback time t6 to the playback time t7, and the data from the playback time t8 to the playback time t9 are also currently recorded. Cannot be used for content playback.
ここで、例えば、図1において、データ11−1をクライアントあてに送信しているサーバに問題が発生し、サーバが、再生時刻t1から再生時刻t2まで部分のデータを、クライアントに送信することができなくなってしまった場合、データ11−2乃至データ11−5のダウンロードが完了したとしても、データ11−2乃至データ11−5のそれぞれは、再生時刻t1から再生時刻t2までのデータのダウンロードが完了するまでは、対応する部分のコンテンツの再生に用いることができない。すなわち、クライアントを操作するユーザは、データ11−2乃至データ11−5のダウンロードが完了しているにも関わらず、視聴しようとしているコンテンツのうち、再生時刻t0から再生時刻t1までのコンテンツデータに対応する部分しかコンテンツを視聴することができない。 Here, for example, in FIG. 1, a problem occurs in the server that transmits the data 11-1 to the client, and the server transmits a part of the data from the reproduction time t1 to the reproduction time t2. If the data 11-2 to data 11-5 are completely downloaded, the data 11-2 to data 11-5 can be downloaded from the reproduction time t1 to the reproduction time t2. Until it is completed, it cannot be used to reproduce the content of the corresponding part. That is, the user who operates the client changes the content data from the reproduction time t0 to the reproduction time t1 among the contents to be viewed even though the downloading of the data 11-2 to the data 11-5 is completed. Only the corresponding part can view the content.
同様に、データ11−1を送信するサーバのデータの送信速度が、データ11−2乃至データ11−5のそれぞれを送信するサーバの送信速度のそれぞれよりも小さい(遅い)場合、データ11−2乃至データ11−5のダウンロードが完了したとしても、ユーザは、コンテンツデータを基に再生されるコンテンツのうち、データ11−1のダウンロードが完了している部分に対応する部分までしかコンテンツを再生することができない。 Similarly, when the data transmission speed of the server that transmits the data 11-1 is smaller (slower) than the transmission speed of each of the servers that transmit the data 11-2 to the data 11-5, the data 11-2 Even if the downloading of the data 11-5 is completed, the user reproduces the content only up to the portion corresponding to the portion where the downloading of the data 11-1 is completed among the content reproduced based on the content data. I can't.
以上のように、1つのコンテンツデータを複数のデータに分けて(分割して)、分割したデータをそれぞれ異なるサーバからダウンロードした場合、コンテンツデータをダウンロードする速度を速くすることはできるが、ダウンロードが完了したコンテンツデータのうち、連続して再生することができるコンテンツデータの量が少なく、効率が悪いため、1つのサーバのデータの送信速度が、他のサーバの送信速度に比べて非常に小さいときや、コンテンツデータを伝送するネットワーク、またはコンテンツデータを送信するサーバなどに問題が発生したときには、視聴しているコンテンツの再生が途切れてしまうことがあるという課題があった。 As described above, when one content data is divided (divided) into a plurality of data and the divided data is downloaded from different servers, the content data can be downloaded at a higher speed. Of the completed content data, the amount of content data that can be played continuously is small and the efficiency is low, so the data transmission speed of one server is very low compared to the transmission speed of other servers In addition, when a problem occurs in a network that transmits content data, a server that transmits content data, or the like, there is a problem that playback of content being viewed may be interrupted.
本発明は、このような状況に鑑みてなされたものであり、コンテンツデータをより迅速に、かつより効率よくダウンロードし、コンテンツデータが、プログレッシブダウンロード型の伝送方式で配信される場合に、ネットワークやサーバに問題が発生したときにおいても、コンテンツの再生をより途切れにくくすることができるようにするものである。 The present invention has been made in view of such a situation, and when content data is downloaded more quickly and more efficiently, and the content data is distributed by a progressive download type transmission method, Even when a problem occurs in the server, the reproduction of content can be made more difficult to interrupt.
本発明の情報処理装置は、これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする第2のデータを、さらに送信装置のそれぞれに対応する第3のデータのそれぞれに分けることにより、第3のデータのそれぞれの送信を対応する送信装置のそれぞれに割り当てる割り当て手段と、送信装置のそれぞれに割り当てた第3のデータのそれぞれの送信を要求する要求信号のそれぞれを、第3のデータに対応する送信装置にそれぞれ送信する送信手段と、それぞれの送信装置から送信されてきた、第3のデータのそれぞれを受信する受信手段とを備えることを特徴とする。 The information processing apparatus according to the present invention receives the first data to be received from now on, and sequentially receives the second data divided into predetermined predetermined sizes. Is further divided into third data corresponding to each of the transmission devices, thereby assigning each transmission of the third data to each of the corresponding transmission devices, and assigning to each of the transmission devices Transmission means for transmitting each request signal for requesting transmission of each third data to a transmission device corresponding to the third data, and transmission of the third data transmitted from each transmission device. Receiving means for receiving each of them.
情報処理装置には、第3のデータを送信装置から受信する速度を示す情報を記憶する記憶手段をさらに設け、割り当て手段には、第3のデータを送信装置から受信する速度を示す情報を基に、第3のデータの大きさをそれぞれ変化させて、第2のデータを第3のデータのそれぞれに分けさせるようにすることができる。 The information processing apparatus further includes storage means for storing information indicating the speed at which the third data is received from the transmitting apparatus, and the assigning means is based on information indicating the speed at which the third data is received from the transmitting apparatus. Further, the size of the third data can be changed, and the second data can be divided into the third data.
本発明の情報処理方法は、これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする第2のデータを、さらに送信装置のそれぞれに対応する第3のデータのそれぞれに分けることにより、第3のデータのそれぞれの送信を対応する送信装置のそれぞれに割り当てる割り当てステップと、送信装置のそれぞれに割り当てた第3のデータのそれぞれの送信を要求する要求信号のそれぞれの、第3のデータに対応する送信装置のそれぞれへの送信を制御する送信制御ステップと、それぞれの送信装置から送信されてきた、第3のデータのそれぞれの受信を制御する受信制御ステップとを含むことを特徴とする。 According to the information processing method of the present invention, when the first data to be received is received in turn and the second data is divided into predetermined predetermined sizes, the second data to be received next is received. Is further divided into third data corresponding to each of the transmission devices, thereby assigning each transmission of the third data to each of the corresponding transmission devices, and assigning to each of the transmission devices A transmission control step for controlling transmission of each request signal for requesting transmission of each of the third data to each of the transmission devices corresponding to the third data, and transmission from each of the transmission devices. A reception control step of controlling reception of each of the third data.
本発明の記録媒体のプログラムは、これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする第2のデータを、さらに送信装置のそれぞれに対応する第3のデータのそれぞれに分けることにより、第3のデータのそれぞれの送信を対応する送信装置のそれぞれに割り当てる割り当てステップと、送信装置のそれぞれに割り当てた第3のデータのそれぞれの送信を要求する要求信号のそれぞれの、第3のデータに対応する送信装置のそれぞれへの送信を制御する送信制御ステップと、それぞれの送信装置から送信されてきた、第3のデータのそれぞれの受信を制御する受信制御ステップとを含むことを特徴とする。 The program of the recording medium of the present invention receives the first data to be received from now on, and sequentially receives the second data divided into predetermined predetermined sizes. Allocating each transmission of the third data to each of the corresponding transmission devices by further dividing the second data into each of the third data corresponding to each of the transmission devices, and to each of the transmission devices A transmission control step for controlling transmission of each of the request signals for requesting transmission of the allocated third data to each of the transmission apparatuses corresponding to the third data, and transmission from the respective transmission apparatuses And a reception control step for controlling the reception of each of the third data.
本発明のプログラムは、これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする第2のデータを、さらに送信装置のそれぞれに対応する第3のデータのそれぞれに分けることにより、第3のデータのそれぞれの送信を対応する送信装置のそれぞれに割り当てる割り当てステップと、送信装置のそれぞれに割り当てた第3のデータのそれぞれの送信を要求する要求信号のそれぞれの、第3のデータに対応する送信装置のそれぞれへの送信を制御する送信制御ステップと、それぞれの送信装置から送信されてきた、第3のデータのそれぞれの受信を制御する受信制御ステップとをコンピュータに実行させることを特徴とする。 The program according to the present invention receives the second data to be received next when the first data to be received is received in turn and the second data is divided into predetermined predetermined sizes. Is further divided into each of the third data corresponding to each of the transmission devices, thereby assigning each transmission of the third data to each of the corresponding transmission devices, and each of the transmission data assigned to each of the transmission devices. A transmission control step for controlling transmission of each request signal for requesting transmission of each of the three data to each of the transmission devices corresponding to the third data, and a third transmission signal transmitted from each of the transmission devices. And a reception control step for controlling the reception of each of the data.
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする第2のデータが、さらに送信装置のそれぞれに対応する第3のデータのそれぞれに分けられることにより、第3のデータのそれぞれの送信が対応する送信装置のそれぞれに割り当てられ、送信装置のそれぞれに割り当てられた第3のデータのそれぞれの送信を要求する要求信号のそれぞれが、第3のデータに対応する送信装置にそれぞれ送信され、それぞれの送信装置から送信されてきた、第3のデータのそれぞれが受信される。 In the information processing apparatus and method, the recording medium, and the program according to the present invention, when the first data to be received is received in turn, the second data is divided into predetermined predetermined sizes. Then, the second data to be received next is further divided into each of the third data corresponding to each of the transmitting devices, so that each transmission of the third data is assigned to each of the corresponding transmitting devices. Each of the request signals for requesting the transmission of the third data assigned to each of the transmission devices is transmitted to the transmission device corresponding to the third data, and transmitted from each of the transmission devices. , Each of the third data is received.
本発明の情報処理装置は、第1のデータを記憶する記憶手段と、相手がこれから受信しようとする第1のデータを予め定められた所定の大きさに分けた第2のデータを、相手がそれぞれ順番に受信する場合、相手から送信されてきた、相手が次に受信しようとする第2のデータをさらに所定の数に分けた第3のデータのうちの、1つの第3のデータの送信を要求する要求信号を受信する受信手段と、要求信号に基づいて、記憶している第1のデータから、送信が要求された第3のデータを取得する取得手段と、取得した第3のデータを、相手に送信する送信手段とを備えることを特徴とする。 The information processing apparatus according to the present invention includes a storage unit that stores first data, and second data obtained by dividing the first data that the other party is to receive from the predetermined data into a predetermined size. When receiving each in turn, transmission of one third data out of the third data, which is transmitted from the other party and the second data that the other party intends to receive next is further divided into a predetermined number Receiving means for receiving a request signal for requesting, acquiring means for acquiring third data requested to be transmitted from the stored first data based on the request signal, and acquired third data Transmission means for transmitting to the other party.
本発明の情報処理方法は、相手がこれから受信しようとする第1のデータを予め定められた所定の大きさに分けた第2のデータを、相手がそれぞれ順番に受信する場合、相手から送信されてきた、相手が次に受信しようとする第2のデータをさらに所定の数に分けた第3のデータのうちの、1つの第3のデータの送信を要求する要求信号の受信を制御する受信制御ステップと、要求信号に基づいて、記憶している第1のデータから、送信が要求された第3のデータを取得する取得ステップと、取得した第3のデータの相手への送信を制御する送信制御ステップとを含むことを特徴とする。 The information processing method of the present invention is transmitted from the other party when the other party sequentially receives the second data obtained by dividing the first data to be received by the other party into a predetermined size. Reception that controls the reception of a request signal for requesting transmission of one third data out of the third data obtained by dividing the second data to be received by the other party into a predetermined number. Based on the control step, the acquisition step of acquiring the third data requested to be transmitted from the stored first data, and the transmission of the acquired third data to the other party based on the request signal A transmission control step.
本発明の記録媒体のプログラムは、相手がこれから受信しようとする第1のデータを予め定められた所定の大きさに分けた第2のデータを、相手がそれぞれ順番に受信する場合、相手から送信されてきた、相手が次に受信しようとする第2のデータをさらに所定の数に分けた第3のデータのうちの、1つの第3のデータの送信を要求する要求信号の受信を制御する受信制御ステップと、要求信号に基づいて、記憶している第1のデータから、送信が要求された第3のデータを取得する取得ステップと、取得した第3のデータの相手への送信を制御する送信制御ステップとを含むことを特徴とする。 The recording medium program of the present invention transmits the second data obtained by dividing the first data to be received by the other party into a predetermined size in advance when the other party sequentially receives the second data. Controlling reception of a request signal for requesting transmission of one third data among the third data obtained by dividing the second data to be received next by the partner into a predetermined number. Based on the reception control step, the acquisition step of acquiring the third data requested to be transmitted from the stored first data, and the transmission of the acquired third data to the other party based on the request signal And a transmission control step.
本発明のプログラムは、相手がこれから受信しようとする第1のデータを予め定められた所定の大きさに分けた第2のデータを、相手がそれぞれ順番に受信する場合、相手から送信されてきた、相手が次に受信しようとする第2のデータをさらに所定の数に分けた第3のデータのうちの、1つの第3のデータの送信を要求する要求信号の受信を制御する受信制御ステップと、要求信号に基づいて、記憶している第1のデータから、送信が要求された第3のデータを取得する取得ステップと、取得した第3のデータの相手への送信を制御する送信制御ステップとをコンピュータに実行させることを特徴とする。 The program of the present invention has been transmitted from the other party when the other party sequentially receives the second data obtained by dividing the first data to be received by the other party into a predetermined size. A reception control step for controlling reception of a request signal for requesting transmission of one third data among the third data obtained by further dividing the second data to be received next by the opponent into a predetermined number And an acquisition step of acquiring the third data requested to be transmitted from the stored first data based on the request signal, and transmission control for controlling transmission of the acquired third data to the other party And causing the computer to execute the steps.
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、相手がこれから受信しようとする第1のデータを予め定められた所定の大きさに分けた第2のデータを、相手がそれぞれ順番に受信する場合、相手から送信されてきた、相手が次に受信しようとする第2のデータをさらに所定の数に分けた第3のデータのうちの、1つの第3のデータの送信を要求する要求信号が受信され、要求信号に基づいて、記憶している第1のデータから、送信が要求された第3のデータが取得され、取得された第3のデータが相手に送信される。 In the information processing apparatus and method, the recording medium, and the program according to the present invention, the partner sequentially orders the second data obtained by dividing the first data that the partner intends to receive into a predetermined size. Requesting transmission of one third data out of the third data, which is transmitted from the partner and the second data that the partner intends to receive next is further divided into a predetermined number. The request signal to be transmitted is received, and based on the request signal, the third data requested to be transmitted is acquired from the stored first data, and the acquired third data is transmitted to the other party.
本発明の情報処理システムにおいては、受信装置は、これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする第2のデータを、さらに接続されている送信装置のそれぞれに対応する第3のデータのそれぞれに分けることにより、第3のデータのそれぞれの送信を対応する送信装置のそれぞれに割り当てる割り当て手段と、送信装置のそれぞれに割り当てた第3のデータのそれぞれの送信を要求する要求信号のそれぞれを、第3のデータに対応する送信装置にそれぞれ送信する送信手段とを備え、送信装置のそれぞれは、第1のデータを記憶する記憶手段と、受信装置から送信されてきた、要求信号を受信する受信手段と、要求信号に基づいて、記憶している第1のデータから、送信が要求された第3のデータを取得する取得手段と、取得した第3のデータを、受信装置に送信する送信手段とを備え、受信装置は、送信装置のそれぞれから送信されてきた、第3のデータのそれぞれを受信する受信手段をさらに備えることを特徴とする。 In the information processing system of the present invention, when the receiving device receives the first data to be received in the order of the second data divided into predetermined predetermined sizes, the receiving device receives the next data next. Assigning each transmission of the third data to each of the corresponding transmitting devices by dividing the second data to be further divided into each of the third data corresponding to each of the connected transmitting devices. And a transmission means for transmitting each request signal for requesting transmission of each of the third data assigned to each of the transmission devices to the transmission device corresponding to the third data, and each of the transmission devices. Based on the request signal, the storage means for storing the first data, the reception means for receiving the request signal transmitted from the receiving device. An acquisition means for acquiring the third data requested to be transmitted from the first data, and a transmission means for transmitting the acquired third data to the reception apparatus. It further comprises receiving means for receiving each of the third data transmitted from each of the above.
本発明の情報処理システムにおいては、受信装置がこれから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、受信装置によって、次に受信しようとする第2のデータが、さらに接続されている送信装置のそれぞれに対応する第3のデータのそれぞれに分けられることにより、第3のデータのそれぞれの送信が対応する送信装置のそれぞれに割り当てられ、送信装置のそれぞれに割り当てられた第3のデータのそれぞれの送信を要求する要求信号のそれぞれが、第3のデータに対応する送信装置にそれぞれ送信され、送信装置のそれぞれによって、受信装置から送信されてきた、要求信号が受信され、要求信号に基づいて、記憶している第1のデータから、送信が要求された第3のデータが取得され、取得された第3のデータが、受信装置に送信される。そして、受信装置によって、送信装置のそれぞれから送信されてきた、第3のデータのそれぞれがさらに受信される。 In the information processing system of the present invention, when receiving the first data to be received by the receiving device in the order of the second data divided into predetermined predetermined sizes, Next, the second data to be received is further divided into the third data corresponding to each of the connected transmitting apparatuses, so that each transmission of the third data corresponds to the corresponding transmitting apparatus. A request signal for requesting transmission of each of the third data assigned to each of the transmission devices is transmitted to the transmission device corresponding to the third data, and is transmitted by each of the transmission devices. A request signal transmitted from the receiving device is received, and transmission is requested from the stored first data based on the request signal. The third data is acquired, the third data obtained is transmitted to the receiving apparatus. Then, each of the third data transmitted from each of the transmission devices is further received by the reception device.
ネットワークとは、少なくとも2つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、1つの装置を構成している内部ブロックどうしであっても良い。 The network is a mechanism in which at least two devices are connected and information can be transmitted from one device to another device. The devices that communicate via the network may be independent devices, or may be internal blocks that constitute one device.
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。 The communication is not only wireless communication and wired communication, but also communication in which wireless communication and wired communication are mixed, that is, wireless communication is performed in a certain section and wired communication is performed in another section. May be. Further, communication from one device to another device may be performed by wired communication, and communication from another device to one device may be performed by wireless communication.
本発明によればコンテンツデータをダウンロードすることができる。特に、本発明によれば、コンテンツデータをより迅速に、かつより効率よくダウンロードし、コンテンツデータが、プログレッシブダウンロード型の伝送方式で配信される場合に、ネットワークやサーバに問題が発生したときにおいても、コンテンツの再生をより途切れにくくすることができる。 According to the present invention, content data can be downloaded. In particular, according to the present invention, when content data is downloaded more quickly and efficiently, and the content data is distributed by the progressive download type transmission method, even when a problem occurs in the network or the server. , It is possible to make the reproduction of the content more difficult to interrupt.
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. The correspondence relationship between the invention described in this specification and the embodiments of the invention is exemplified as follows. This description is intended to confirm that the embodiments supporting the invention described in this specification are described in this specification. Therefore, although there is an embodiment which is described in the embodiment of the invention but is not described here as corresponding to the invention, it means that the embodiment is not It does not mean that it does not correspond to the invention. Conversely, even if an embodiment is described herein as corresponding to an invention, that means that the embodiment does not correspond to an invention other than the invention. Absent.
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。 Further, this description does not mean all the inventions described in this specification. In other words, this description is for the invention described in the present specification, which is not claimed in this application, that is, for the invention that will be applied for in the future or that will appear and be added by amendment. It does not deny existence.
請求項1に記載の情報処理装置は、これから受信しようとする第1のデータ(例えば、図5に示すコンテンツデータ)を、予め定められた所定の大きさに分けた第2のデータ(例えば、図5のセグメント71−1乃至セグメント71−6、セグメント71)をそれぞれ順番に受信する場合、次に受信しようとする第2のデータを、さらに送信装置(例えば、図2のサーバ52−1乃至サーバ52−N、サーバ52)のそれぞれに対応する第3のデータ(例えば、図5に示すパート111−1乃至パート111−6、パート111、パート112−1乃至パート112−6、パート112)のそれぞれに分けることにより、第3のデータのそれぞれの送信を対応する送信装置のそれぞれに割り当てる割り当て手段(例えば、図8の算出部253)と、送信装置のそれぞれに割り当てた第3のデータのそれぞれの送信を要求する要求信号のそれぞれを、第3のデータに対応する送信装置にそれぞれ送信する送信手段(例えば、図7の送信部203−1乃至送信部203−N、送信部203)と、それぞれの送信装置から送信されてきた、第3のデータのそれぞれを受信する受信手段(例えば、図7の受信部204−1乃至受信部204−N、受信部204)とを備えることを特徴とする。
The information processing apparatus according to
請求項2に記載の情報処理装置は、第3のデータ(例えば、図5に示すパート111−1乃至パート111−6、パート111、パート112−1乃至パート112−6、パート112)を送信装置(例えば、図2のサーバ52−1乃至サーバ52−N、サーバ52)から受信する速度を示す情報を記憶する記憶手段(例えば、図8の受信履歴記憶部255)をさらに備え、割り当て手段(例えば、図8の算出部253)は、第3のデータを送信装置から受信する速度を示す情報を基に、第3のデータの大きさをそれぞれ変化させて、第2のデータを第3のデータのそれぞれに分けることを特徴とする。
The information processing apparatus according to claim 2 transmits the third data (for example, part 111-1 to part 111-6,
請求項3に記載の情報処理方法は、これから受信しようとする第1のデータ(例えば、図5に示すコンテンツデータ)を、予め定められた所定の大きさに分けた第2のデータ(例えば、図5のセグメント71−1乃至セグメント71−6、セグメント71)をそれぞれ順番に受信する場合、次に受信しようとする第2のデータを、さらに送信装置(例えば、図2のサーバ52−1乃至サーバ52−N、サーバ52)のそれぞれに対応する第3のデータ(例えば、図5に示すパート111−1乃至パート111−6、パート111、パート112−1乃至パート112−6、パート112)のそれぞれに分けることにより、第3のデータのそれぞれの送信を対応する送信装置のそれぞれに割り当てる割り当てステップ(例えば、図10のステップS64の処理およびステップS72の処理)と、送信装置のそれぞれに割り当てた第3のデータのそれぞれの送信を要求する要求信号のそれぞれの、第3のデータに対応する送信装置のそれぞれへの送信を制御する送信制御ステップ(例えば、図10のステップS65の処理)と、それぞれの送信装置から送信されてきた、第3のデータのそれぞれの受信を制御する受信制御ステップ(例えば、図10のステップS66の処理)とを含むことを特徴とする。
The information processing method according to claim 3, wherein the first data to be received (for example, the content data shown in FIG. 5) is divided into predetermined second predetermined data (for example, content data shown in FIG. 5). When receiving the segments 71-1 to 71-6 and 71 in FIG. 5 in order, the second data to be received next is further transmitted to the transmitting device (for example, the servers 52-1 to 52-1 in FIG. 2). Server 52-N, server 52) third data (for example, part 111-1 to 111-6,
なお、請求項4に記載の記録媒体および請求項5に記載のプログラムも、上述した請求項3に記載の情報処理方法と基本的に同様の処理であるため、繰り返しになるのでその説明は省略する。 Note that the recording medium according to claim 4 and the program according to claim 5 are basically the same processing as the information processing method according to claim 3 described above, and are therefore repeated, so that the description thereof is omitted. To do.
請求項6に記載の情報処理装置は、第1のデータ(例えば、図5に示すコンテンツデータ)を記憶する記憶手段(例えば、図7の記録部223−1乃至記録部223−N、記録部223)と、相手がこれから受信しようとする第1のデータを予め定められた所定の大きさに分けた第2のデータ(例えば、図5のセグメント71−1乃至セグメント71−6、セグメント71)を、相手がそれぞれ順番に受信する場合、相手から送信されてきた、相手が次に受信しようとする第2のデータをさらに所定の数に分けた第3のデータ(例えば、図5に示すパート111−1乃至パート111−6、パート111、パート112−1乃至パート112−6、パート112)のうちの、1つの第3のデータの送信を要求する要求信号を受信する受信手段(例えば、図7の受信部221−1乃至受信部221−N、受信部221)と、要求信号に基づいて、記憶している第1のデータから、送信が要求された第3のデータを取得する取得手段(例えば、図7の取得部222−1乃至取得部222−N、取得部222)と、取得した第3のデータを、相手に送信する送信手段(例えば、図7の送信部224−1乃至送信部224−N、送信部224)とを備えることを特徴とする。
The information processing apparatus according to claim 6 is a storage unit (for example, the recording unit 223-1 to the recording unit 223-N in FIG. 7, the recording unit) that stores the first data (for example, the content data illustrated in FIG. 5). 223) and second data obtained by dividing the first data to be received by the other party into a predetermined size (for example, segment 71-1 to segment 71-6, segment 71 in FIG. 5) Are received in turn, the third data (for example, the part shown in FIG. 5), which is transmitted from the partner and is divided into a predetermined number of second data to be received next by the partner. 111-1 to part 111-6,
請求項7に記載の情報処理方法は、相手がこれから受信しようとする第1のデータ(例えば、図5に示すコンテンツデータ)を予め定められた所定の大きさに分けた第2のデータ(例えば、図5のセグメント71−1乃至セグメント71−6、セグメント71)を、相手がそれぞれ順番に受信する場合、相手から送信されてきた、相手が次に受信しようとする第2のデータをさらに所定の数に分けた第3のデータ(例えば、図5に示すパート111−1乃至パート111−6、パート111、パート112−1乃至パート112−6、パート112)のうちの、1つの第3のデータの送信を要求する要求信号の受信を制御する受信制御ステップ(例えば、図15のステップS111の処理)と、要求信号に基づいて、記憶している第1のデータから、送信が要求された第3のデータを取得する取得ステップ(例えば、図15のステップS112の処理)と、取得した第3のデータの相手への送信を制御する送信制御ステップ(例えば、図15のステップS113の処理)とを含むことを特徴とする。
The information processing method according to
なお、請求項8に記載の記録媒体および請求項9に記載のプログラムも、上述した請求項7に記載の情報処理方法と基本的に同様の処理であるため、繰り返しになるのでその説明は省略する。
Note that the recording medium according to claim 8 and the program according to claim 9 are basically the same processing as the information processing method according to
請求項10に記載の情報処理システムにおいては、受信装置(例えば、図2のクライアント51)は、これから受信しようとする第1のデータ(例えば、図5に示すコンテンツデータ)を、予め定められた所定の大きさに分けた第2のデータ(例えば、図5のセグメント71−1乃至セグメント71−6、セグメント71)をそれぞれ順番に受信する場合、次に受信しようとする第2のデータを、さらに接続されている送信装置(例えば、図2のサーバ52−1乃至サーバ52−N、サーバ52)のそれぞれに対応する第3のデータ(例えば、図5に示すパート111−1乃至パート111−6、パート111、パート112−1乃至パート112−6、パート112)のそれぞれに分けることにより、第3のデータのそれぞれの送信を対応する送信装置のそれぞれに割り当てる割り当て手段(例えば、図8の算出部253)と、送信装置のそれぞれに割り当てた第3のデータのそれぞれの送信を要求する要求信号のそれぞれを、第3のデータに対応する送信装置にそれぞれ送信する送信手段(例えば、図7の送信部203−1乃至送信部203−N、送信部203)とを備え、送信装置のそれぞれは、第1のデータを記憶する記憶手段(例えば、図7の記録部223−1乃至記録部223−N、記録部223)と、受信装置から送信されてきた、要求信号を受信する受信手段(例えば、図7の受信部221−1乃至受信部221−N、受信部221)と、要求信号に基づいて、記憶している第1のデータから、送信が要求された第3のデータを取得する取得手段(例えば、図7の取得部222−1乃至取得部222−N、取得部222)と、取得した第3のデータを、受信装置に送信する送信手段(例えば、図7の送信部224−1乃至送信部224−N、送信部224)とを備え、受信装置は、送信装置のそれぞれから送信されてきた、第3のデータのそれぞれを受信する受信手段(例えば、図7の受信部204−1乃至受信部204−N、受信部204)をさらに備えることを特徴とする。
In the information processing system according to claim 10, the receiving device (for example, the
本発明は、動画像や音楽などのストリーミングデータを配信するストリーミング配信システムに適用することができる。 The present invention can be applied to a streaming distribution system that distributes streaming data such as moving images and music.
以下、図面を参照して、本発明を適用した実施の形態について説明する。 Embodiments to which the present invention is applied will be described below with reference to the drawings.
図2は、本発明に係るコンテンツ配信システムを説明する図である。このコンテンツ配信システムにおいては、クライアント51およびサーバ52−1乃至サーバ52−N(サーバ52−5乃至サーバ52−(N−1)は図示せず)のそれぞれが、互いに通信網53を介して接続されている。
FIG. 2 is a diagram for explaining a content distribution system according to the present invention. In this content distribution system, the
クライアント51およびサーバ52−1乃至サーバ52−Nから構成されるネットワークは、いわゆるピアツーピアネットワークであり、クライアント51およびサーバ52−1乃至サーバ52−Nのそれぞれは、通信網53を介して接続されている装置(クライアント51およびサーバ52−1乃至サーバ52−N)のうち、所望するコンテンツデータを記録している装置を検索し、検索された装置からコンテンツデータをダウンロードすることができる。また、クライアント51およびサーバ52−1乃至サーバ52−Nのそれぞれは、通信網53を介して接続されている装置からの要求に応じて、記録しているコンテンツデータを、通信網53を介してコンテンツデータの送信を要求してきた装置あてに送信することができる。
The network composed of the
図2では、説明のため、コンテンツデータを受信(ダウンロード)する装置をクライアント51とし、クライアント51あてにコンテンツデータを送信する装置をサーバ(サーバ52−1乃至サーバ52−N)と称する。なお、以下、サーバ52−1乃至サーバ52−Nのそれぞれを個々に区別する必要のない場合、単にサーバ52と称する。
In FIG. 2, for the sake of explanation, a device that receives (downloads) content data is referred to as a
ユーザが、クライアント51を操作して、所望のコンテンツデータをダウンロードする場合、クライアント51は、通信網53を介して接続されているサーバ52−1乃至サーバ52−Nのうち、所望するコンテンツデータを記録しているサーバ52を検索する。
When the user operates the
例えば、クライアント51は、所定のコンテンツデータを記録しているサーバ52の検索を要求する検索要求信号を生成して、生成した検索要求信号を、通信網53を介してサーバ52−1およびサーバ52−2あてに送信する。
For example, the
サーバ52−1およびサーバ52−2は、それぞれクライアント51から送信されてきた検索要求信号を受信する。そして、サーバ52−1またはサーバ52−2は、自分自身が所定のコンテンツデータを記録している場合、コンテンツデータを記録している旨の信号を生成し、生成した信号を、通信網53を介してクライアント51あてに送信する。
Each of the server 52-1 and the server 52-2 receives the search request signal transmitted from the
一方、サーバ52−1またはサーバ52−2が、所定のコンテンツデータを記録していない場合、サーバ52−1またはサーバ52−2は、受信した検索要求信号を、通信網53を介して他のサーバ52あてに送信する。例えば、サーバ52−1は、受信した検索要求信号を、通信網53を介してサーバ52−3およびサーバ52−4あてに送信し、サーバ52−2は、受信した検索要求信号を、通信網53を介してサーバ52−5およびサーバ52−6あてに送信する。
On the other hand, when the server 52-1 or the server 52-2 does not record the predetermined content data, the server 52-1 or the server 52-2 transmits the received search request signal to the other via the
サーバ52−1またはサーバ52−2が検索要求信号を受信した場合と同様に、サーバ52−3乃至サーバ52−6のそれぞれは、検索要求信号を受信し、自分自身がコンテンツデータを記録している場合、コンテンツデータを記録している旨の信号を生成して、通信網53を介してクライアント51あてに送信し、自分自身がコンテンツデータを記録していない場合、受信した検索要求信号を、通信網53を介して他のサーバ52あてに送信する。
Similarly to the case where the server 52-1 or the server 52-2 receives the search request signal, each of the server 52-3 to the server 52-6 receives the search request signal and records its own content data. If the content data is recorded, it is transmitted to the
このようにすることで、クライアント51には、所望するコンテンツデータを記録しているサーバ52から、コンテンツデータを記録している旨の信号が送信されてくる。クライアント51は、このコンテンツデータを記録している旨の信号を受信することによって、サーバ52のうち、所望するコンテンツデータを記録しているサーバ52を検索することができる。
In this way, a signal indicating that the content data is recorded is transmitted to the
そして、クライアント51は、コンテンツデータを記録しているサーバ52が検索されると、所望するコンテンツデータを複数のデータに分割して(分けて)、分割したそれぞれのデータを、それぞれコンテンツデータを記録しているサーバ52からダウンロードする。例えば、サーバ52−1およびサーバ52−2が、所望するコンテンツデータを記録している場合、クライアント51は、コンテンツデータを複数のデータに分割する分割位置を指定し、それぞれのデータをサーバ52−1またはサーバ52−2からダウンロードする。
Then, when the
次に、図3乃至図5を参照して、クライアント51が、コンテンツデータを分割してダウンロードする方法について説明する。なお、図4および図5において、図3における場合と対応する部分には、同一の符号を付してあり、繰り返しになるのでその説明は、適宜、省略する。
Next, a method in which the
例えば、クライアント51が、これから受信しようとするコンテンツデータを分割して、2つのサーバ52−1およびサーバ52−2からダウンロードする場合、図3に示すように、コンテンツデータが、所定の大きさのデータであるセグメント71−1乃至セグメント71−6の、6つのデータに分割されるように、その分割位置を指定する。
For example, when the
コンテンツデータをセグメント71−1乃至セグメント71−6のそれぞれに分割する場合、例えば、セグメント71−1の大きさが、セグメント71−2乃至セグメント71−6のそれぞれの大きさよりも小さくなるように分割位置を指定するなど、セグメント71−1乃至セグメント71−6の大きさがそれぞれ異なるように分割位置を指定してもよく、また、セグメント71−1乃至セグメント71−6が、それぞれ同じ大きさのデータとなるように分割位置を指定してもよい。 When dividing the content data into the segments 71-1 to 71-6, for example, the segment 71-1 is divided so that the size is smaller than the sizes of the segments 71-2 to 71-6. The division positions may be specified so that the sizes of the segments 71-1 to 71-6 are different, such as specifying the position, and the segments 71-1 to 71-6 have the same size. The division position may be designated so as to be data.
例えば、セグメント71−1乃至セグメント71−6が、それぞれ同じ大きさのデータとなるように分割する場合、セグメント71−1乃至セグメント71−6のそれぞれの大きさは、例えば、コンテンツデータに対応するコンテンツを、1分間再生するために必要なデータの大きさなどとされる。以下、セグメント71−1乃至セグメント71−6のそれぞれを個々に区別する必要のない場合、単にセグメント71と称する。 For example, when the segments 71-1 to 71-6 are divided so as to have the same size, the sizes of the segments 71-1 to 71-6 correspond to the content data, for example. The size of data necessary for reproducing the content for one minute is set. Hereinafter, the segments 71-1 to 71-6 are simply referred to as segments 71 when it is not necessary to individually distinguish them.
次に、クライアント51は、セグメント71が、コンテンツデータをダウンロードするサーバ52の数のデータに分割されるように分割位置を指定する。したがって、図3の例においては、クライアント51は、コンテンツデータを、サーバ52−1およびサーバ52−2から分割してダウンロードするので、セグメント71がそれぞれ2つのデータに分割されるように、それぞれのデータの分割位置を指定する。なお、以下、セグメント71を分割したデータをパートと称する。
Next, the
すなわち、クライアント51は、セグメント71−1をパート81−1およびパート82−1に分割し、セグメント71−2をパート81−2およびパート82−2に分割し、セグメント71−3をパート81−3およびパート82−3に分割する。
That is, the
同様に、クライアント51は、セグメント71−4をパート81−4およびパート82−4に分割し、セグメント71−5をパート81−5およびパート82−5に分割し、セグメント71−6をパート81−6およびパート82−6に分割する。
Similarly, the
さらに、クライアント51は、パート81−1乃至パート81−6のそれぞれの送信を、サーバ52−1に割り当て、パート82−1乃至パート82−6のそれぞれの送信を、サーバ52−2に割り当てる。そして、クライアント51は、サーバ52−1およびサーバ52−2とそれぞれセッションを張り(コネクションを確立させ)、サーバ52−1からパート81−1乃至パート81−6をそれぞれダウンロードし、サーバ52−2からパート82−1乃至パート82−6をそれぞれダウンロードする。
Further, the
すなわち、クライアント51は、まず、サーバ52−1からパート81−1をダウンロードし、パート81−1のダウンロードが完了した後、サーバ52−1からパート81−2をダウンロードする。そして、パート81−2のダウンロードが完了した後、サーバ52−1からパート81−3をダウンロードし、同様にして、順番にパート81−4乃至パート81−6のそれぞれを、サーバ52−1からダウンロードする。
That is, the
また、クライアント51は、パート81−1乃至パート81−6のダウンロードと並行して、パート82−1乃至パート82−6のそれぞれを、サーバ52−2からダウンロードする。すなわち、クライアント51は、まず、サーバ52−2からパート82−1をダウンロードし、パート82−1のダウンロードが完了した後、サーバ52−2からパート82−2をダウンロードする。そして、パート82−2のダウンロードが完了した後、サーバ52−2からパート82−3をダウンロードし、同様にして、順番にパート82−4乃至パート82−6のそれぞれを、サーバ52−2からダウンロードする。
In addition, the
なお、以下、パート81−1乃至パート81−6のそれぞれを個々に区別する必要のない場合、単にパート81と称する。また、以下、パート82−1乃至パート82−6のそれぞれを個々に区別する必要のない場合、単にパート82と称する。 Hereinafter, when it is not necessary to individually distinguish each of the parts 81-1 to 81-6, they are simply referred to as part 81. Hereinafter, when it is not necessary to distinguish each of the parts 82-1 to 82-6, they are simply referred to as part 82.
また、以下、クライアント51がコンテンツデータを分割するとは、クライアント51がコンテンツデータそのものを分割するのではなく、クライアント51がこれから受信しようとするコンテンツデータを、所定の大きさ(量)のデータに分けるための大きさ(または分割位置)を指定することをいう。したがって、クライアント51は、コンテンツデータを分割する位置を指定することによって、すなわち、コンテンツデータのうちの送信を要求する部分(パート)を指定することによって、複数のサーバ52からコンテンツデータを分割してダウンロードする。
In the following description, the
ところで、セグメント71を、大きさの等しいパートに分割して、サーバ52−1およびサーバ52−2からダウンロードする場合、クライアント51は、例えば、図4に示すように、セグメント71を、大きさの等しい2つのパートに分割する。ここで、図中、横軸は、コンテンツデータを基に再生されるコンテンツの再生時刻を示しており、コンテンツ(コンテンツデータ)を再生する場合、コンテンツは、再生時刻t30の部分から再生が開始され、再生時刻t38の部分で再生が終了する。
By the way, when the segment 71 is divided into parts having the same size and downloaded from the server 52-1 and the server 52-2, the
また、パート101−1乃至パート101−6、およびパート102−1乃至パート102−6のそれぞれのうち、黒い部分は、既にサーバ52からのダウンロードが完了した部分を示しており、白い部分は、サーバ52からのダウンロードが完了していない部分、すなわち、まだダウンロードしていない部分を示している。
In each of the parts 101-1 to 101-6 and the parts 102-1 to 102-6, the black part indicates a part that has already been downloaded from the
クライアント51は、セグメント71−1を、それぞれ大きさが等しいパート101−1およびパート102−1に分割し、セグメント71−2を、それぞれ大きさが等しいパート101−2およびパート102−2に分割し、セグメント71−3を、それぞれ大きさが等しいパート101−3およびパート102−3に分割する。
The
同様に、クライアント51は、セグメント71−4を、それぞれ大きさが等しいパート101−4およびパート102−4に分割し、セグメント71−5を、それぞれ大きさが等しいパート101−5およびパート102−5に分割し、セグメント71−6を、それぞれ大きさが等しいパート101−6およびパート102−6に分割する。
Similarly, the
そして、クライアント51は、パート101−1乃至パート101−6のそれぞれの送信をサーバ52−1に割り当て、パート102−1乃至パート102−6のそれぞれの送信をサーバ52−2に割り当てる。そして、クライアント51は、図3における場合と同様に、パート101−1から順番に、パート101−1乃至パート101−6を、それぞれサーバ52−1からダウンロードし、パート102−1から順番に、パート102−1乃至パート102−6を、それぞれサーバ52−2からダウンロードする。
Then, the
なお、以下、パート101−1乃至パート101−6を個々に区別する必要のない場合、単に、パート101と称する。また、以下、パート102−1乃至パート102−6を個々に区別する必要のない場合、単に、パート102と称する。 Hereinafter, the parts 101-1 to 101-6 are simply referred to as parts 101 when it is not necessary to distinguish them individually. Hereinafter, when it is not necessary to individually distinguish the parts 102-1 to 102-6, they are simply referred to as part 102.
図4における例においては、クライアント51において、既にパート101−1乃至パート101−5のサーバ52−1からのダウンロードが完了しており、パート101−6のうちの、再生時刻t36から再生時刻t37までの部分のダウンロードが完了している。また、クライアント51において、既にパート102−1およびパート102−2のサーバ52−2からのダウンロードが完了しており、パート102−3のうちの、再生時刻t33から再生時刻t34までの部分のダウンロードが完了している。
In the example in FIG. 4, the
この場合、クライアント51は、セグメント71−1およびセグメント71−2と、セグメント71−3の再生時刻t32から再生時刻t34までの部分のデータとを用いて、コンテンツを連続して再生することができる。すなわち、ユーザは、再生時刻t30から再生時刻t34までのコンテンツデータに対応する部分のコンテンツを、連続して視聴することができる。
In this case, the
例えば、現時点において、コンテンツの再生時刻t31に対応する部分が再生されているとすると、コンテンツデータのうちの、再生時刻t30から再生時刻t34までの部分のダウンロードが完了しているので、サーバ52−2や通信網53に問題が発生して、パート102−3のダウンロードが中断されたとしても、クライアント51は、少なくとも、コンテンツを、再生時刻t34に対応する部分までは再生することができる。したがって、再生時刻t34に対応する部分のコンテンツの再生が終了するまでに、パート102−3のダウンロードが再開されれば、コンテンツを途切れさせることなく再生することができる。
For example, assuming that the portion corresponding to the reproduction time t31 of the content is being reproduced at the present time, the download of the portion of the content data from the reproduction time t30 to the reproduction time t34 has been completed. 2 or the
このように、コンテンツデータをセグメント71に分割してダウンロードすることによって、セグメント71のダウンロードが完了するごとに、コンテンツを連続して再生するために用いられるコンテンツデータ(キャッシュされたコンテンツデータ)が増加する。ここで、セグメント71を、大きさが等しいN個のパートに分割して、それぞれサーバ52−1乃至サーバ52−Nからダウンロードする場合における、コンテンツを連続して再生するために用いられる、キャッシュされたコンテンツデータが増加する速度(以下、キャッシュ増加速度と称する)をM1とすると、キャッシュ増加速度M1は、式(1)により近似される(式(1)により表される値に近づく)。 As described above, by dividing the content data into the segments 71 and downloading, the content data (cached content data) used for continuously playing the content increases every time the download of the segment 71 is completed. To do. Here, the segment 71 is divided into N parts having the same size, and cached, which is used to continuously play back the content when downloaded from the server 52-1 to the server 52-N, respectively. If the speed at which the content data increases (hereinafter referred to as the cache increase speed) is M1, the cache increase speed M1 is approximated by the expression (1) (approaches the value expressed by the expression (1)).
M1≒min(Si)×N ・・・(1) M1≈min (Si) × N (1)
ここで、Siは、クライアント51がサーバ52−i(但し、1≦i≦N)からパートをダウンロードするダウンロード速度であり、min(Si)は、S1乃至SNのうちの最も小さいダウンロード速度を示す。なお、ここで、ダウンロード速度とは、クライアント51がサーバ52からデータ(パート)をダウンロードするビットレートをいう。
Here, Si is a download speed at which the
したがって、例えば、図4の例においては、パート101のダウンロード速度S1よりもパート102のダウンロード速度S2の方が小さく(遅く)、セグメント71は、2つのパート(パート101およびパート102)に分割されるので、図4の例におけるキャッシュ増加速度M1は式(1)より、“2(S2)”((S2)×2)となる。 Therefore, for example, in the example of FIG. 4, the download speed S2 of the part 102 is smaller (slower) than the download speed S1 of the part 101, and the segment 71 is divided into two parts (part 101 and part 102). Therefore, the cache increase speed M1 in the example of FIG. 4 is “2 (S2)” ((S2) × 2) from the equation (1).
一方、図1に示したように、コンテンツデータを複数のデータ(図4の例におけるセグメント71)に分割して、分割したデータをそれぞれサーバ52からダウンロードする場合のキャッシュ増加速度M2は、例えば、式(2)により近似される。
On the other hand, as shown in FIG. 1, when the content data is divided into a plurality of data (segment 71 in the example of FIG. 4) and the divided data is downloaded from the
M2≒S1 ・・・(2) M2≈S1 (2)
ここで、S1は、コンテンツの再生を開始する部分のデータのダウンロード速度を示している。すなわち、図1の例においては、データ11−1のダウンロード速度となる。なお、より詳細には、図1の例において、データ11−1のダウンロードが完了すると、例えば、その後、データ11−2のダウンロードが完了するまでは、キャッシュ増加速度M2は、データ11−2のダウンロード速度となる。 Here, S1 indicates the download speed of the data at the part where the reproduction of the content is started. That is, in the example of FIG. 1, it becomes the download speed of the data 11-1. In more detail, in the example of FIG. 1, when the download of the data 11-1 is completed, for example, until the download of the data 11-2 is completed, the cache increase speed M2 is Download speed.
したがって、全てのパートまたはデータのダウンロード速度が等しいと仮定して、すなわち、式(1)におけるSiと、式(2)におけるS1とが等しい(例えば、“Si=S1”とする)と仮定して、キャッシュ増加速度M1と、キャッシュ増加速度M2とを比較すると、M1の値は“NS1”(S1×N)となり、M2の値はS1となるから、M1の値は、M2の値のN倍となる。 Therefore, it is assumed that the download speeds of all parts or data are equal, that is, Si in equation (1) is equal to S1 in equation (2) (eg, “Si = S1”). When the cache increase speed M1 and the cache increase speed M2 are compared, the value of M1 is “NS1” (S1 × N), and the value of M2 is S1, so that the value of M1 is N of the value of M2. Doubled.
このように、コンテンツデータをセグメント71に分割し、さらに、セグメント71をそれぞれ大きさが等しい複数のパートに分割して、それぞれのパートを複数のサーバ52からダウンロードすることによって、キャッシュ増加速度をより大きくすることができる。これにより、クライアント51は、コンテンツを連続して再生するために用いられる、キャッシュされたコンテンツデータを、より多く記憶(確保)しておくことができるので、サーバ52や通信網53に問題が発生した場合に、コンテンツの再生が途切れてしまう可能性をより低くすることができる。
In this way, the content data is divided into segments 71, and further, the segments 71 are divided into a plurality of parts each having the same size, and each part is downloaded from a plurality of
ところで、図4において、パート101−4およびパート101−5は、ダウンロードが完了しているにも関わらず、パート102−3の再生時刻t34から再生時刻t35までの部分がダウンロードされていないため、対応するコンテンツを再生するためのデータとして用いることができない。 By the way, in FIG. 4, since the part 101-4 and the part 101-5 are not downloaded, the part from the reproduction time t34 to the reproduction time t35 of the part 102-3 is not downloaded. It cannot be used as data for reproducing the corresponding content.
これは、パート101のダウンロード速度と、パート102のダウンロード速度が異なるにも関わらず、セグメント71をそれぞれ等しい大きさのパート101とパート102とに分割した(分けた)からである。そこで、図5に示すように、それぞれのパートの大きさを、パートのダウンロード速度に応じて定めることによって、キャッシュ増加速度をより大きくすることができる。すなわち、パートのダウンロード速度に応じてパートの大きさを変化させることによって、ダウンロードが完了したコンテンツデータの量に対する、連続したコンテンツの再生に用いることができるコンテンツデータ(キャッシュされたコンテンツデータ)の量の割合をより大きくすることができる。 This is because, even though the download speed of part 101 and the download speed of part 102 are different, segment 71 is divided (divided) into part 101 and part 102 of the same size. Therefore, as shown in FIG. 5, by determining the size of each part according to the download speed of the part, the cache increase rate can be further increased. That is, the amount of content data (cached content data) that can be used for continuous content playback relative to the amount of content data that has been downloaded by changing the size of the part according to the part download speed The ratio of can be increased.
図5において、横軸は、コンテンツデータを基に再生されるコンテンツの再生時刻を示しており、コンテンツ(コンテンツデータ)を再生する場合、コンテンツは、再生時刻t50の部分から再生が開始され、再生時刻t53の部分で再生が終了する。 In FIG. 5, the horizontal axis indicates the playback time of the content that is played back based on the content data. When playing back the content (content data), playback of the content starts from the playback time t50 portion. Playback ends at time t53.
また、パート111−1乃至パート111−6、およびパート112−1乃至パート112−6のうち、黒い部分は、既にサーバ52からのダウンロードが完了した部分を示しており、白い部分は、サーバ52からのダウンロードが完了していない部分、すなわち、まだダウンロードしていない部分を示している。
Also, among the parts 111-1 to 111-6 and the parts 112-1 to 112-6, the black part indicates a part that has already been downloaded from the
クライアント51は、まず、セグメント71−1を、それぞれ大きさが等しいパート111−1およびパート112−1に分割する。そして、クライアント51は、パート111−1の送信をサーバ52−1に割り当て、パート112−1の送信をサーバ52−2に割り当てて、パート111−1をサーバ52−1からダウンロードし、パート112−1をサーバ52−2からダウンロードする。
The
次に、パート111−1およびパート112−1のダウンロードが完了すると、クライアント51は、パート111−1のダウンロード速度、およびパート112−1のダウンロード速度に基づいて、セグメント71−2をパート111−2およびパート112−2に分割する。ここで、例えば、パート112−1のダウンロード速度よりも、パート111−1のダウンロード速度が大きい場合、クライアント51は、パート112−2の大きさよりもパート111−2の大きさが大きくなるように、セグメント71−2をパート111−2およびパート112−2に分割する。
Next, when the download of the part 111-1 and the part 112-1 is completed, the
なお、より詳細には、パート111−1およびパート112−1のダウンロードが完了すると、クライアント51は、パート111−1のダウンロード速度、およびパート112−1のダウンロード速度に基づいて、セグメント71−2乃至セグメント71−6を、それぞれ、パート111−2乃至パート111−6、およびパート112−2乃至パート112−6に分割する。
In more detail, when the download of part 111-1 and part 112-1 is completed, the
そして、クライアント51は、パート111−2の送信をサーバ52−1に割り当て、パート112−2の送信をサーバ52−2に割り当てて、パート111−2をサーバ52−1からダウンロードし、パート112−2をサーバ52−2からダウンロードする。
Then, the
パート111−2およびパート112−2のダウンロードが完了すると、クライアント51は、セグメント71−2をパート111−2およびパート112−2に分割した場合と同様に、パート111−2、およびパート112−2のそれぞれのダウンロード速度に基づいて、セグメント71−3をパート111−3およびパート112−3に分割して、パート111−3をサーバ52−1からダウンロードし、パート112−3をサーバ52−2からダウンロードする。
When the downloading of the part 111-2 and the part 112-2 is completed, the
さらに、クライアント51は、セグメント71−4乃至セグメント71−6のそれぞれを、パート111−3乃至パート111−5、およびパート112−3乃至パート112−5のそれぞれのダウンロード速度に基づいて、パート111−4乃至パート111−6、およびパート112−4乃至パート112−6にそれぞれ分割する。
Further, the
そして、クライアント51は、サーバ52−1から、パート111−4乃至パート111−6を、それぞれ順番にダウンロードし、サーバ52−2から、パート112−4乃至パート112−6を、それぞれ順番にダウンロードする。なお、以下、パート111−1乃至パート111−6のそれぞれを、個々に区別する必要のない場合、単に、パート111と称する。また、以下、パート112−1乃至パート112−6のそれぞれを、個々に区別する必要のない場合、単に、パート112と称する。
Then, the
図5の例においては、クライアント51において、既にパート111−1乃至パート111−4のサーバ52−1からのダウンロードが完了しており、また、パート112−1乃至パート112−4のサーバ52−2からのダウンロードが完了している。したがって、この場合、クライアント51は、セグメント71−1乃至セグメント71−4の部分のコンテンツデータを用いて、コンテンツを連続して再生することができる。すなわち、ユーザは、再生時刻t50から再生時刻t52までのコンテンツデータに対応するコンテンツを、連続して視聴することができる。
In the example of FIG. 5, the
例えば、現時点において、コンテンツの再生時刻t51に対応する部分が再生されているとすると、コンテンツデータのうち、再生時刻t50から再生時刻t52までの部分のダウンロードが完了しているので、サーバ52や通信網53に問題が発生して、パート111またはパート112のダウンロードが中断されたとしても、クライアント51は、少なくとも、コンテンツの再生時刻t52に対応する部分までは再生することができる。したがって、コンテンツの再生時刻t52に対応する部分の再生が終了するまでに、パート111またはパート112のダウンロードが再開されれば、コンテンツを途切れさせることなく再生することができる。
For example, assuming that the portion corresponding to the reproduction time t51 of the content is being reproduced at the present time, since the portion of the content data from the reproduction time t50 to the reproduction time t52 has been downloaded, the
ここで、図5に示したように、既にダウンロードが完了した、1つのセグメント71を構成するN個のパートのそれぞれのダウンロード速度に基づいて、次にダウンロードするセグメント71をN個のパートに分割して、サーバ52−1乃至サーバ52−Nからそれぞれパートをダウンロードする場合における、キャッシュ増加速度M3は、式(3)により近似することができる(サーバ52−1乃至サーバ52−Nのそれぞれの送信能力の分散が極小のとき、式(3)で表される値に近づく)。 Here, as shown in FIG. 5, the segment 71 to be downloaded next is divided into N parts based on the download speed of each of the N parts constituting one segment 71 that has already been downloaded. Then, the cache increase speed M3 when the parts are downloaded from the servers 52-1 to 52-N can be approximated by the equation (3) (each of the servers 52-1 to 52-N). When the variance of the transmission capability is minimal, it approaches the value represented by equation (3)).
M3≒ΣSi ・・・(3) M3≈ΣSi (3)
なお、式(3)において、Siは、クライアント51がサーバ52−i(但し、1≦i≦N)からパートをダウンロードするダウンロード速度であり、Σは、iを1からNに変えてのSiの和(合計)をとることを表す。
In Equation (3), Si is a download speed at which the
したがって、例えば、図5の例においては、パート111のダウンロード速度をS1とし、パート112のダウンロード速度をS2とすると、M3は(S1+S2)となる。
Therefore, for example, in the example of FIG. 5, if the download speed of
また、図4におけるパート101のダウンロード速度と、図5におけるパート111のダウンロード速度が等しく(例えば、S1とする)、さらに、図4におけるパート102のダウンロード速度と、図5におけるパート112のダウンロード速度が等しい(例えば、S2とする)と仮定して、図4の例におけるキャッシュ増加速度M1と、図5の例におけるキャッシュ増加速度M3とを比較する。このとき、例えば、S1がS2より大きいとすると、M1の値は“2(S2)”(S2×2)となり、M3の値は(S1+S2)となり、M3の値は、M1の値よりも“(S1−S2)”((S1+S2)−2(S2))だけ大きくなる。したがって、既にダウンロードしたパートのダウンロード速度に応じて、次にダウンロードするセグメントのパートの大きさを変化させることによって、ダウンロードが完了したコンテンツデータの量に対する、連続したコンテンツの再生に用いることができるコンテンツデータの量の割合をより大きくすることができる。すなわち、ダウンロードが完了したコンテンツデータのうちの、連続したコンテンツの再生に用いることができない部分を少なくして、キャッシュされたコンテンツデータの量を、ダウンロードが完了したコンテンツデータの量により近づけることができる。
Also, the download speed of part 101 in FIG. 4 is equal to the download speed of
このように、それぞれのパートの大きさを、パートのダウンロード速度に応じて定めることによって、キャッシュ増加速度をより大きくすることができる。これにより、クライアント51は、コンテンツを連続して再生するために用いられるコンテンツデータを、より多く記憶(確保)しておくことができるので、サーバ52や通信網53に問題が発生した場合に、コンテンツの再生が途切れてしまう可能性をより低くすることができる。
In this way, by determining the size of each part according to the download speed of the part, the cache increase speed can be further increased. As a result, the
次に、図6は、クライアント51の構成の例を示すブロック図である。
Next, FIG. 6 is a block diagram illustrating an example of the configuration of the
CPU131は、ROM(Read Only Memory)132、または記録部138に記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)133には、CPU131が実行するプログラムやデータなどが適宜記憶される。これらのCPU131、ROM132、およびRAM133は、バス134により相互に接続されている。
The
CPU131にはまた、バス134を介して入出力インターフェース135が接続されている。入出力インターフェース135には、キーボード、マウス、スイッチなどよりなる入力部136、ディスプレイ、スピーカ、ランプなどよりなる出力部137が接続されている。CPU131は、入力部136から入力される指令に対応して各種の処理を実行する。
An input /
入出力インターフェース135に接続されている記録部138は、例えばハードディスクなどで構成され、CPU131が実行するプログラムや各種のデータを記録する。通信部139は、例えば、ネットワークカードなどからなり、インターネット、その他のネットワークなどの通信網53を介して、外部の装置と通信する。
The
また、通信部139は、通信網53を介してプログラムを取得し、記録部138に記録させるようにしてもよい。
In addition, the
入出力インターフェース135に接続されているドライブ140は、磁気ディスク161、光ディスク162、光磁気ディスク163、或いは半導体メモリ164などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部138に転送され、記録される。
The
なお、サーバ52は、クライアント51と同様に構成されるので、その説明は省略する。
Since the
図7は、クライアント51のCPU131およびサーバ52のCPUが、それぞれプログラムを実行することによって実現される、クライアント51およびサーバ52の機能の構成を示すブロック図である。
FIG. 7 is a block diagram illustrating functional configurations of the
ユーザが、所定のコンテンツデータのダウンロードをクライアント51に指示すると、クライアント51は、ユーザによってダウンロードが指示されたコンテンツデータを記録しているサーバ52と通信するために、サーバ52とのコネクションを確立させる。なお、以下では、クライアント51がサーバ52とのコネクションを確立させる例として、いわゆる2wayでコネクションを確立させる場合について説明するが、いわゆる3wayでコネクションを確立させることも可能である。
When the user instructs the
すなわち、クライアント51は、通信の開始を要求する通信要求信号を生成し、生成した通信要求信号を、通信網53を介してサーバ52あてに送信する。サーバ52は、クライアント51から送信されてきた通信要求信号を受信する。サーバ52は、通信要求信号を受信すると、通信要求信号を受信した旨の応答信号を生成し、生成した応答信号を、通信網53を介してクライアント51あてに送信する。
That is, the
クライアント51は、サーバ52から応答信号が送信されてくるので、サーバ52から送信されてきた応答信号を受信する。そして、応答信号を受信することによって、サーバ52とのコネクションが確立されたので、クライアント51は、ユーザからダウンロードが指示されたコンテンツデータをセグメントに分け、さらにセグメントをパートに分けて、各パートの送信を、それぞれサーバ52−1乃至サーバ52−Nのいずれかに割り当てる。そして、クライアント51は、サーバ52のそれぞれに割り当てたパート(コンテンツデータ)の送信を要求する送信要求信号を生成する。
Since the response signal is transmitted from the
クライアント51は、生成した送信要求信号を、通信網53を介してサーバ52にそれぞれ送信する。サーバ52は、クライアント51から送信されてきた送信要求信号を受信し、記録しているコンテンツデータのうちのクライアント51から要求された部分(パート)を、通信網53を介してクライアント51あてに送信する。そして、クライアント51は、サーバ52から送信されてきたコンテンツデータ(パート)を受信する。
The
クライアント51は、管理部181、割り当て部182、通信制御部183−1乃至通信制御部183−N、および再構成部184を含むように構成される。
The
管理部181は、図示せぬアプリケーションプログラムなどの上位レイヤと、割り当て部182および再構成部184とのデータの授受を制御(仲介)する。管理部181は、登録制御部201およびコンテンツ出力部202を備えている。
The
ユーザが、所望のコンテンツデータのダウンロードを指示すると、例えば、管理部181には、アプリケーションプログラムから、通信網53を介してクライアント51に接続されている送信ノードとしてのサーバ52の数、すなわち、ユーザが所望するコンテンツデータを記録しているサーバ52の数、サーバ52のIP(Internet Protocol)アドレス、サーバ52の処理能力などから定められたデータの送信能力などが含まれている、ノード情報が供給される。また、アプリケーションプログラムから管理部181には、ノード情報とともに、ユーザによってダウンロードが指示されたコンテンツデータを特定する情報、コンテンツデータの大きさ(データのサイズ)、コンテンツデータを分割するセグメントの数、1つのセグメントの大きさ(データのサイズ)などが含まれている初期設定情報が供給される。
When the user instructs download of desired content data, for example, the
さらに、アプリケーションプログラムが、管理部181にノード情報を供給した後、新たに、ユーザが所望するコンテンツデータを記録しているサーバ52が検出されると、アプリケーションプログラムから管理部181には、新たに検出されたサーバ52のIPアドレス、サーバ52の送信能力などが含まれている追加ノード情報が供給される。
Further, after the application program supplies the node information to the
管理部181の登録制御部201は、アプリケーションプログラムから供給されたノード情報、初期設定情報、または追加ノード情報を割り当て部182に供給する。また、管理部181のコンテンツ出力部202は、再構成部184から供給されたコンテンツデータ(が格納されているパケット)をアプリケーションプログラムに供給する。
The
割り当て部182は、管理部181から供給されたノード情報を記憶する。割り当て部182は、管理部181から追加ノード情報が供給されると、供給された追加ノード情報に含まれている情報が、記憶しているノード情報に含まれるように、ノード情報を更新する。また、割り当て部182は、管理部181から供給された初期設定情報を記憶するとともに、初期設定情報を通信制御部183−1乃至通信制御部183−Nにそれぞれ供給する。
The
さらに、クライアント51と、サーバ52−1乃至サーバ52−Nのそれぞれとのコネクションが確立されると、割り当て部182には、通信制御部183−1乃至通信制御部183−Nのそれぞれから、コネクションが確立された旨の信号が供給される。割り当て部182は、通信制御部183−1乃至通信制御部183−Nのそれぞれから、コネクションが確立された旨の信号が供給されると、サーバ52にそれぞれ割り当てられた、コンテンツデータのパートを特定する情報が含まれている割り当て情報を生成し、生成した割り当て情報を、通信制御部183−1乃至通信制御部183−Nのそれぞれに供給する。
Furthermore, when the connection between the
すなわち、割り当て部182から、通信制御部183−1乃至通信制御部183−Nのそれぞれには、通信制御部183−1乃至通信制御部183−Nのそれぞれが通信するサーバ52−1乃至サーバ52−Nのそれぞれに割り当てられた、コンテンツデータのパートを特定する情報が含まれている割り当て情報が供給される。なお、以下、通信制御部183−1乃至通信制御部183−Nのそれぞれを個々に区別する必要のない場合、単に、通信制御部183と称する。
In other words, from the
割り当て部182は、通信制御部183−1乃至通信制御部183−Nのそれぞれから供給された受信情報を基に、受信履歴を更新する。ここで、受信情報とは、通信制御部183がサーバ52から受信したパートを特定する情報、パートのダウンロード速度などが含まれている情報であり、通信制御部183から割り当て部182には、通信制御部183がパートのダウンロード(受信)が完了するたびに、そのパートのダウンロード速度が含まれている受信情報が供給される。また、受信履歴の詳細は後述するが、受信履歴には、各サーバ52のセグメント(パート)ごとの受信情報が含まれている。
The
通信制御部183−1は、サーバ52−1とのデータの送受信を制御する。送信制御部183−1は、送信部203−1および受信部204−1を備えている。 The communication control unit 183-1 controls transmission / reception of data with the server 52-1. The transmission control unit 183-1 includes a transmission unit 203-1 and a reception unit 204-1.
通信制御部183−1は、割り当て部182から供給された初期設定情報を一時的に記憶するとともに、サーバ52−1とのコネクションを確立させるために、通信要求信号を生成する。通信制御部183−1の送信部203−1は、通信制御部183−1が生成した通信要求信号を、通信網53を介してサーバ52−1あてに送信する。
The communication control unit 183-1 temporarily stores the initial setting information supplied from the assigning
通信制御部183−1の受信部204−1は、サーバ52−1から送信されてきた応答信号を受信する。通信制御部183−1は、応答信号を受信すると、コネクションが確立された旨の信号を生成し、生成したコネクションが確立された旨の信号を、割り当て部182に供給する。
The receiving unit 204-1 of the communication control unit 183-1 receives the response signal transmitted from the server 52-1. When the communication control unit 183-1 receives the response signal, the communication control unit 183-1 generates a signal indicating that the connection has been established, and supplies the signal indicating that the generated connection has been established to the
通信制御部183−1は、割り当て部182から割り当て情報が供給されると、割り当て情報が含まれる送信要求信号を生成する。通信制御部183−1の送信部203−1は、通信制御部183−1が生成した送信要求信号を、通信網53を介してサーバ52−1あてに送信する。
When the allocation information is supplied from the
通信制御部183−1の受信部204−1は、サーバ52−1から送信されてきたコンテンツデータを受信する。より詳細には、通信制御部183−1の受信部204−1は、サーバ52−1から送信されてきた、コンテンツデータ(のパート)が格納されているパケットを受信する。通信制御部183−1は、受信したコンテンツデータが格納されているパケットを、再構成部184に供給する。
The receiving unit 204-1 of the communication control unit 183-1 receives the content data transmitted from the server 52-1. More specifically, the receiving unit 204-1 of the communication control unit 183-1 receives a packet storing content data (part thereof) transmitted from the server 52-1. The communication control unit 183-1 supplies the packet storing the received content data to the
また、サーバ52−1が、要求されたコンテンツデータ(のパート)を送信すると、サーバ52−1からパートの送信が終了した旨の終了通知信号が送信されてくるので、通信制御部183−1の受信部204−1は、サーバ52−1から送信されてきた終了通知信号を受信する。通信制御部183−1は、終了通知信号を受信すると、受信したパートのダウンロード速度などが含まれている受信情報を生成し、生成した受信情報を割り当て部182に供給する。
Further, when the server 52-1 transmits the requested content data (part thereof), an end notification signal indicating that the transmission of the part has ended is transmitted from the server 52-1, so that the communication control unit 183-1 is transmitted. The receiving unit 204-1 receives the end notification signal transmitted from the server 52-1. When receiving the end notification signal, the communication control unit 183-1 generates reception information including the download speed of the received part and supplies the generated reception information to the
通信制御部183−2乃至通信制御部183−Nのそれぞれは、サーバ52−2乃至サーバ52−Nのそれぞれとのデータの送受信を制御する。通信制御部183−2乃至通信制御部183−Nは、それぞれ送信部203−2乃至送信部203−N、および受信部204−2乃至受信部204−Nを備えている。 Each of the communication control units 183-2 to 183-N controls data transmission / reception with each of the servers 52-2 to 52-N. The communication control units 183-2 through 183-N include transmission units 203-2 through 203-N and reception units 204-2 through 204-N, respectively.
通信制御部183−2乃至通信制御部183−Nのそれぞれは、割り当て部182から供給された初期設定情報を一時的に記憶するとともに、それぞれ、サーバ52−2乃至サーバ52−Nとのコネクションを確立させるために、通信要求信号を生成する。通信制御部183−2の送信部203−2乃至通信制御部183−Nの送信部203−Nは、通信制御部183−2乃至通信制御部183−Nのそれぞれが生成した通信要求信号を、通信網53を介してサーバ52−2乃至サーバ52−Nあてにそれぞれ送信する。
Each of the communication control units 183-2 to 183 -N temporarily stores the initial setting information supplied from the
通信制御部183−2の受信部204−2乃至通信制御部183−Nの受信部204−Nのそれぞれは、サーバ52−2乃至サーバ52−Nのそれぞれから送信されてきた応答信号を受信する。通信制御部183−2乃至通信制御部183−Nのそれぞれは、応答信号を受信すると、コネクションが確立された旨の信号を生成し、生成したコネクションが確立された旨の信号を、割り当て部182に供給する。
Each of the receiving unit 204-2 through the communication control unit 183-2 through the receiving unit 204-N through the communication control unit 183-N receives a response signal transmitted from each of the server 52-2 through the server 52-N. . Upon receiving the response signal, each of the communication control units 183-2 to 183 -N generates a signal indicating that the connection has been established, and assigns the generated signal indicating that the connection has been established to the allocating
通信制御部183−2乃至通信制御部183−Nのそれぞれは、割り当て部182から割り当て情報が供給されると、割り当て情報が含まれる送信要求信号を生成する。通信制御部183−2の送信部203−2乃至通信制御部183−Nの送信部203−Nのそれぞれは、通信制御部183−2乃至通信制御部183−Nのそれぞれが生成した送信要求信号を、通信網53を介してサーバ52−2乃至サーバ52−Nあてに送信する。
When the allocation information is supplied from the
通信制御部183−2の受信部204−2乃至通信制御部183−Nの受信部204−Nは、サーバ52−2乃至サーバ52−Nから送信されてきたコンテンツデータを受信する。より詳細には、通信制御部183−2の受信部204−2乃至通信制御部183−Nの受信部204−Nは、サーバ52−2乃至サーバ52−Nから送信されてきた、コンテンツデータ(のパート)が格納されているパケットをそれぞれ受信する。通信制御部183−2乃至通信制御部183−Nは、受信したコンテンツデータが格納されているパケットを、再構成部184に供給する。
The receiving unit 204-2 of the communication control unit 183-2 to the receiving unit 204-N of the communication control unit 183-N receives the content data transmitted from the server 52-2 to the server 52-N. More specifically, the reception unit 204-2 of the communication control unit 183-2 to the reception unit 204-N of the communication control unit 183-N transmit content data (from the server 52-2 to the server 52-N) ( Each of the packets storing the part) is received. The communication control units 183-2 to 183 -N supply the packet storing the received content data to the
また、サーバ52−2乃至サーバ52−Nのそれぞれが、要求されたコンテンツデータ(のパート)を送信すると、サーバ52−2乃至サーバ52−Nのそれぞれからパートの送信が終了した旨の終了通知信号が送信されてくるので、通信制御部183−2の受信部204−2乃至通信制御部183−Nの受信部204−Nは、サーバ52−2乃至サーバ52−Nから送信されてきた終了通知信号を受信する。通信制御部183−2乃至通信制御部183−Nは、終了通知信号を受信すると、受信したパートのダウンロード速度などが含まれている受信情報を生成し、生成した受信情報を割り当て部182に供給する。
Further, when each of the servers 52-2 to 52-N transmits the requested content data (part thereof), an end notification that the transmission of the parts from each of the servers 52-2 to 52-N has ended. Since the signal is transmitted, the reception unit 204-2 of the communication control unit 183-2 to the reception unit 204-N of the communication control unit 183-N terminates transmitted from the server 52-2 to the server 52-N. Receive a notification signal. Upon receiving the end notification signal, the communication control units 183-2 to 183 -N generate reception information including the download speed of the received part and supply the generated reception information to the
以下、送信部203−1乃至送信部203−Nのそれぞれを、個々に区別する必要のない場合、単に送信部203と称する。また、以下、受信部204−1乃至受信部204−Nのそれぞれを、個々に区別する必要のない場合、単に受信部204と称する。
Hereinafter, when it is not necessary to distinguish each of the transmission unit 203-1 to the transmission unit 203-N, they are simply referred to as the
再構成部184は、通信制御部183から供給されたコンテンツデータのパート(パケット)を、必要に応じて一時的に記憶し、記憶しているパートを連続したコンテンツデータのストリームに再構成する。再構成部184は、出力制御部205および記憶部206を備えている。
The
再構成部184の出力制御部205は、通信制御部183からパケットが供給されると、パケットのヘッダに含まれている、コンテンツデータの再生の順番を示すシーケンス番号を検査する。そして、再構成部184の出力制御部205は、パケットに含まれているシーケンス番号が、再構成部184の出力制御部205が記憶している、出力すべきシーケンス番号と同じ番号である場合、通信制御部183からから供給されたパケットを管理部181に供給する。
When the packet is supplied from the communication control unit 183, the
例えば、パケットのヘッダに含まれているシーケンス番号は、パケットに格納されているパートの始点位置を表す値となっている。すなわち、例えば、コンテンツデータの位置を、コンテンツデータの先頭の位置を“0”として、データが1KB増えるごとにインクリメントした値で表し、パートの先頭の位置に対応するコンテンツデータのデータの位置を、パートの始点位置とする。例えば、パケットに格納されているパートの開始位置が“0”である場合、パケットのシーケンス番号は、“0”となる。 For example, the sequence number included in the header of the packet is a value representing the start point position of the part stored in the packet. That is, for example, the position of the content data is represented by a value that is incremented every time the data increases by 1 KB, with the leading position of the content data being “0”, and the position of the content data corresponding to the leading position of the part is The start point position of the part. For example, when the start position of the part stored in the packet is “0”, the sequence number of the packet is “0”.
したがって、例えば、再構成部184の出力制御部205が記憶している、出力すべきシーケンス番号が“0”であり、通信制御部183から供給されたパケットのシーケンス番号が“0”である場合、再構成部184の出力制御部205は、通信制御部183から供給された、シーケンス番号が“0”であるパケットを、管理部181に供給する。
Therefore, for example, when the sequence number to be output stored in the
また、再構成部184の出力制御部205は、管理部181にパケットを供給すると、出力すべきシーケンス番号を更新する。例えば、再構成部184の出力制御部205が、シーケンス番号が“0”であるパケットを管理部181に供給し、そのパケットに格納されているパートの大きさ(サイズ)が“1100KB”である場合、構成部184の出力制御部205は、出力すべきシーケンス番号を、1100だけ増加させて、“1100“とする。
Further, when the
一方、再構成部184の出力制御部205は、通信制御部183からから供給されたパケットのシーケンス番号が、出力すべきシーケンス番号と同じ番号でない場合、通信制御部183から供給されたパケットを、管理部181に供給せずに、再構成部184の記憶部206に供給する。
On the other hand, if the sequence number of the packet supplied from the communication control unit 183 is not the same as the sequence number to be output, the
また、再構成部184の出力制御部205は、記憶部206に記憶されているパケットのうち、パケットのシーケンス番号が、出力すべきシーケンス番号と同じ番号であるパケットを、記憶部206から取得し、管理部181に供給する。
In addition, the
再構成部184の記憶部206は、再構成部184の出力制御部205から供給されたパケットを一時的に記憶する。また、再構成部184の記憶部206は、記憶しているパケットを、再構成部184の出力制御部205に供給する。
The
サーバ52−1乃至サーバ52−Nのそれぞれは、受信部221−1乃至受信部221−N、取得部222−1乃至取得部222−N、記録部223−1乃至記録部223−N、および送信部224−1乃至送信部224−Nをそれぞれ備えている。 Each of the servers 52-1 to 52-N includes a receiving unit 221-1 to a receiving unit 221-N, an acquiring unit 222-1 to an acquiring unit 222-N, a recording unit 223-1 to a recording unit 223-N, and Transmitters 224-1 to 224-N are provided.
受信部221−1乃至受信部221−Nのそれぞれは、クライアント51から送信されてきた通信要求信号または送信要求信号をそれぞれ受信し、受信した通信要求信号または送信要求信号を、取得部222−1乃至取得部222−Nのそれぞれに供給する。
Each of the reception units 221-1 to 221 -N receives the communication request signal or the transmission request signal transmitted from the
取得部222−1乃至取得部222−Nのそれぞれは、受信部221−1乃至受信部221−Nのそれぞれから、通信要求信号が供給されると、通信要求信号を受信した旨の応答信号を生成し、生成した応答信号を送信部224−1乃至送信部224−Nのそれぞれに供給する。 Each of the acquisition units 222-1 to 222 -N receives a response signal indicating that the communication request signal has been received when the communication request signal is supplied from each of the reception units 221-1 to 221 -N. The generated response signal is supplied to each of the transmission units 224-1 to 224-N.
また、取得部222−1乃至取得部222−Nのそれぞれは、受信部221−1乃至受信部221−Nのそれぞれから、送信要求信号が供給されると、記録部223−1乃至記録部223−Nのそれぞれが記録しているコンテンツデータから、送信が要求されたコンテンツデータのパートを取得し、取得したパート(コンテンツデータ)を、例えば、TCP方式のパケットに格納する。なお、このとき、取得部222−1乃至取得部222−Nのそれぞれは、送信要求信号を基に、パートが格納されるパケットにシーケンス番号を付与し、そのシーケンス番号をパケットのヘッダに格納する。取得部222−1乃至取得部222−Nのそれぞれは、コンテンツデータのパートを格納したパケットを、送信部224−1乃至送信部224−Nのそれぞれに供給する。 Further, each of the acquisition units 222-1 to 222 -N receives the transmission request signal from each of the reception units 221-1 to 221 -N, the recording unit 223-1 to the recording unit 223. The part of the content data requested to be transmitted is acquired from the content data recorded in each of -N, and the acquired part (content data) is stored in, for example, a TCP packet. At this time, each of the acquisition units 222-1 to 222 -N assigns a sequence number to the packet storing the part based on the transmission request signal, and stores the sequence number in the packet header. . Each of the acquisition units 222-1 to 222 -N supplies a packet storing the content data part to each of the transmission units 224-1 to 224 -N.
記録部223−1乃至記録部223−Nのそれぞれは、コンテンツデータを記録している。記録部223−1乃至記録部223−Nのそれぞれは、記録しているコンテンツデータ(の一部(パート))を取得部222−1乃至取得部222−Nのそれぞれに供給する。 Each of the recording units 223-1 to 223-N records content data. Each of the recording units 223-1 to 223-N supplies the recorded content data (a part (part) thereof) to each of the acquisition units 222-1 to 222-N.
送信部224−1乃至送信部224−Nのそれぞれは、取得部222−1乃至取得部222−Nのそれぞれから供給された、コンテンツデータが格納されているパケット、または応答信号を、通信網53を介してクライアント51あてに送信する。
Each of the transmission unit 224-1 to transmission unit 224-N transmits the packet or the response signal stored in the content data supplied from each of the acquisition unit 222-1 to acquisition unit 222-N to the
なお、以下、受信部221−1乃至受信部221−Nのそれぞれを、個々に区別する必要のない場合、単に受信部221と称する。また、以下、取得部222−1乃至取得部222−Nのそれぞれを、個々に区別する必要のない場合、単に取得部222と称する。
Hereinafter, each of the reception units 221-1 to 221 -N is simply referred to as a
さらに、以下、記録部223−1乃至記録部223−Nのそれぞれを、個々に区別する必要のない場合、単に記録部223と称する。さらに、また、以下、送信部224−1乃至送信部224−Nのそれぞれを、個々に区別する必要のない場合、単に送信部224と称する。
Further, hereinafter, each of the recording units 223-1 to 223-N is simply referred to as a recording unit 223 when it is not necessary to individually distinguish them. Furthermore, hereinafter, each of the transmission units 224-1 to 224-N is simply referred to as a
図8は、図7の割り当て部182の機能の構成を示すブロック図である。
FIG. 8 is a block diagram illustrating a functional configuration of the
割り当て部182は、設定部251、ノード情報記憶部252、算出部253、再割り当て制御部254、および受信履歴記憶部255を含むように構成される。
The
設定部251は、管理部181から供給されたノード情報を、ノード情報記憶部252に供給して、記憶させる。また、設定部251は、管理部181から追加ノード情報が供給されると、供給された追加ノード情報をノード情報記憶部252に供給して、ノード情報記憶部252に、追加ノード情報を基にノード情報を更新させる。
The
さらに、設定部251は、管理部181から供給された初期設定情報を、算出部253および通信制御部183に供給する。設定部251は、通信制御部183からコネクションが確立された旨の信号が供給されると、コンテンツデータのダウンロードの開始を指示する信号を生成し、算出部253に供給する。
Further, the
ノード情報記憶部252は、設定部251の制御のもと、設定部251から供給されたノード情報を記憶する。なお、ノード情報には、上述したように、送信ノードとしてのサーバ52の数、サーバ52の送信能力、サーバ52のIPアドレスなどが含まれている。また、ノード情報記憶部252は、設定部251の制御のもと、設定部251から供給された追加ノード情報を基に、記憶しているノード情報を更新する。
The node information storage unit 252 stores the node information supplied from the
算出部253は、設定部251から供給された、初期設定情報を一時的に記憶する。また、算出部253は、設定部251から、コンテンツデータのダウンロードの開始を指示する信号が供給されると、初期設定情報、およびノード情報記憶部252が記憶しているノード情報を参照して、ダウンロードが指示されたコンテンツデータを、初期設定情報に従い複数のセグメントに分割し、さらに、それぞれのセグメントを、ノード情報に含まれている送信ノードとしてのサーバ52の数のパートに分割する。より詳細には、算出部253は、ダウンロードが指示されたコンテンツデータを、初期設定情報に従い複数のセグメントに分割する分割位置を指定し、さらに、それぞれのセグメントを、送信ノードとしてのサーバ52の数のパートに分割する分割位置を指定する。
The
そして、算出部253は、再生を開始する部分のデータ(コンテンツデータ)が含まれている、1番目のセグメント(例えば、図5の例におけるセグメント71−1)のパートの送信を、それぞれ異なるサーバ52に割り当てて、割り当てたパートを特定するための割り当て情報を生成する。そして、算出部253は、生成した割り当て情報を、通信制御部183に供給する。
Then, the
以下、再生を開始する部分のデータ(コンテンツデータ)が含まれているセグメントを、1番目のセグメントと称し、1番目のセグメントからダウンロードする順番に(再生される順番に)、n番目(nは整数)のセグメントと称する。 Hereinafter, the segment including the data (content data) of the portion where playback is started is referred to as the first segment, in the order of downloading from the first segment (in the order of playback), nth (where n is (Integer) segment.
また、算出部253は、再割り当て制御部254から、2番目以降のセグメント(例えば、図5の例におけるセグメント71−2乃至セグメント71−6)のパートをダウンロードするための、再割り当てを指示する信号が供給されると、初期設定情報、ノード情報記憶部252が記憶しているノード情報、および受信履歴記憶部255が記憶している受信履歴を参照して、まだダウンロードが完了していないセグメントを、ノード情報に含まれている、送信ノードとしてのサーバ52の数のパートに分割し直す(分割位置を指定し直す)。そして、算出部253は、次にダウンロードするセグメントのパートの送信を、それぞれ異なるサーバ52に割り当てて、割り当てたパートを特定するための割り当て情報を生成する。そして、算出部253は、生成した割り当て情報を、通信制御部183に供給する。
Further, the
なお、以下、2番目以降のセグメントを、複数のパートに分割し直して、それぞれのパートの送信をサーバ52に割り当てる処理を、再割り当てを行うとも称する。
Hereinafter, the process of re-dividing the second and subsequent segments into a plurality of parts and allocating the transmission of each part to the
再割り当て制御部254は、通信制御部183から供給された受信情報を、受信履歴記憶部255に供給して、供給した受信情報を基に、受信履歴記憶部255に、受信履歴記憶部255が記憶している受信履歴を更新させる。
The
再割り当て制御部254は、受信履歴記憶部255に受信履歴を更新させてから、再割り当てを指示する信号を生成し、生成した再割り当てを指示する信号を、算出部253に供給する。また、再割り当て制御部254は、コンテンツデータのダウンロードが完了(終了)すると、コンテンツデータのダウンロードが完了した旨の信号を生成し、生成したダウンロードが完了した旨の信号を設定部251に供給する。
The
受信履歴記憶部255は、受信履歴を記憶している。なお、上述したように、受信履歴には、各サーバ52のセグメント(パート)ごとの受信情報が含まれている。受信履歴記憶部255は、再割り当て制御部254の制御のもと、再割り当て制御部254から供給された受信情報を基に、記憶している受信履歴を更新する。
The reception history storage unit 255 stores a reception history. As described above, the reception history includes reception information for each segment (part) of each
次に、図9のフローチャートを参照して、コンテンツデータを2つのセグメントに分割する場合における、後述するクライアント51によるコンテンツデータの受信の処理、およびサーバ52が、クライアント51から要求されたコンテンツデータを送信する処理の概要を説明する。なお、図9のフローチャートの説明においては、クライアント51が、1つのサーバ52からコンテンツデータのパートをダウンロードする処理を説明するが、実際には、クライアント51は、これに並行して、複数のサーバ52からコンテンツデータのパートをダウンロードする処理を実行する。
Next, referring to the flowchart of FIG. 9, when content data is divided into two segments, the content data received by the
管理部181から割り当て部182に初期設定情報が供給されると、ステップS11において、割り当て部182は、供給された初期設定情報を記憶するとともに、初期設定情報を通信制御部183に供給する。割り当て部182から通信制御部183に初期設定情報が供給されると、ステップS12において、通信制御部183は、サーバ52とのコネクションを確立させるために、通信要求信号を生成し、通信網53を介して、サーバ52あてに送信する。
When the initial setting information is supplied from the
ステップS41において、サーバ52は、クライアント51から送信されてきた通信要求信号を受信し、通信要求信号を受信した旨の応答信号を生成する。ステップS42において、サーバ52は、生成した応答信号を、通信網53を介してクライアント51あてに送信する。
In step S41, the
ステップS13において、通信制御部183は、サーバ52から送信されてきた応答信号を受信する。これにより、クライアント51とサーバ52とのコネクションが確立されたので、ステップS14において、通信制御部183は、コネクションが確立された旨の信号を生成し、割り当て部182に供給する。
In step S <b> 13, the communication control unit 183 receives the response signal transmitted from the
通信制御部183から割り当て部182に、コネクションが確立された旨の信号が供給されると、ステップS15において、割り当て部182は、割り当て情報を生成し、生成した割り当て情報を通信制御部183に供給する。ステップS16において、通信制御部183は、割り当て部182から供給された割り当て情報を含む送信要求信号を生成し、生成した送信要求信号を、通信網53を介して、サーバ52あてに送信する。
When a signal indicating that a connection has been established is supplied from the communication control unit 183 to the
ステップS43において、サーバ52は、クライアント51から送信されてきた送信要求信号を受信する。ステップS44において、サーバ52は、クライアント51から送信が要求されたコンテンツデータのパートを、通信網53を介して、クライアント51あてに送信する。
In step S <b> 43, the
ステップS17において、通信制御部183は、サーバ52から送信されてきたパートを受信して、再構成部184に供給する。再構成部184は、通信制御部183から供給されたパートを、必要に応じて一時的に記憶し、管理部181を介してアプリケーションプログラムに供給する。
In step S <b> 17, the communication control unit 183 receives the part transmitted from the
また、パートの送信が終了すると、ステップS45において、サーバ52は、パートの送信が終了した旨の終了通知信号を、通信網53を介してクライアント51あてに送信する。そして、ステップS18において、通信制御部183は、サーバ52から送信されてきた終了通知信号を受信する。ステップS19において、通信制御部183は、受信情報を生成して、割り当て部182に供給する。
When the transmission of the part is completed, the
ステップS20において、割り当て部182は、通信制御部183から供給された、受信情報を基に、受信履歴を更新する。そして、割り当て部182は、2番目のセグメントのパートをダウンロードするために、再割り当てを行い、割り当て情報を生成して通信制御部183に供給する。なお、ステップS21乃至ステップS24の処理、およびステップS46乃至ステップS48の処理のそれぞれは、ステップS16乃至ステップS19の処理、およびステップS43乃至ステップS45の処理のそれぞれと同様であるので、その説明は省略する。
In step S <b> 20, the assigning
このようにして、クライアント51は、コンテンツデータを複数のセグメントに分割し、さらに、各セグメントを複数のパートに分割してサーバ52からダウンロードする。また、サーバ52は、記録しているコンテンツデータのうちの、クライアント51から要求された部分(パート)を、クライアント51あてに送信する。
In this way, the
管理部181から、割り当て部182の設定部251に、初期設定情報およびノード情報が供給されると、クライアント51は、ノード情報を更新する処理(後述するノード情報の更新の処理)と並行して、コンテンツデータの受信の処理を実行する。
When the initial setting information and the node information are supplied from the
まず、図10のフローチャートを参照して、図9で説明した、クライアント51による、コンテンツデータの受信の処理の詳細を説明する。
First, with reference to the flowchart of FIG. 10, the details of the content data reception processing by the
ステップS61において、設定部251は、管理部181から供給された初期設定情報を、算出部253および通信制御部183に供給する。算出部253は、設定部251から供給された初期設定情報を記憶する。
In step S <b> 61, the
ステップS62において、通信制御部183は、サーバ52とのコネクションを確立させる。すなわち、通信制御部183は、設定部251から供給された初期設定情報を記憶し、さらに、通信要求信号を生成する。通信制御部183の送信部203は、通信制御部183が生成した通信要求信号を、通信網53を介して、サーバ52あてに送信する。そして、これに応じてサーバ52から応答信号が送信されてくると、通信制御部183の受信部204は、サーバ52から送信されてきた応答信号を受信する。応答信号を受信すると、通信制御部183は、コネクションが確立された旨の信号を生成し、割り当て部182に供給する。
In step S <b> 62, the communication control unit 183 establishes a connection with the
通信制御部183から、コネクションが確立された旨の信号が供給されると、ステップS63において、設定部251は、ダウンロードの開始を指示する信号を生成し、生成したダウンロードの開始を指示する信号を、算出部253に供給する。
When a signal indicating that a connection has been established is supplied from the communication control unit 183, in step S63, the
設定部251から算出部253に、ダウンロードの開始を指示する信号が供給されると、ダウンロードの開始が指示されたので、ステップS64において、算出部253は、記憶している初期設定情報、およびノード情報記憶部252が記憶しているノード情報を参照して、割り当て情報を生成し、生成した割り当て情報を、通信制御部183に供給する。
When a signal instructing the start of download is supplied from the
例えば、初期設定情報に、1つのセグメントの大きさが“2300KB”であり、コンテンツデータを分割するセグメントの数が“6”である情報が含まれており、ノード情報に含まれている、送信ノードとしてのサーバ52の数が“2”である場合、算出部253は、1つのセグメントの大きさを2300KBとして、図5に示すように、ダウンロードが指示されたコンテンツデータを6つのセグメント71−1乃至セグメント71−6に分割する(セグメント71−1乃至セグメント71−6に分割されるように分割位置を指定する)。
For example, the initial setting information includes information in which the size of one segment is “2300 KB” and the number of segments into which content data is divided is “6”, and is included in the node information. When the number of
次に、算出部253は、セグメント71を、送信ノードとしてのサーバ52の数に分割する(分割位置を指定する)。すなわち、算出部253は、セグメント71が2つのパート111およびパート112に分割されるように分割位置を指定する。なお、このとき、算出部253は、パート111およびパート112の大きさがそれぞれ等しくなるようにセグメント71を分割する。したがって、この場合、算出部253は、パート111およびパート112の大きさが、それぞれ1150KB(2300/2)となるようにセグメント71を分割する。
Next, the
セグメント71を分割すると、算出部253は、パート111の送信を、例えば、サーバ52−1に割り当て、パート112の送信を、サーバ52−1とは異なるサーバ52−2に割り当てる。そして、算出部253は、パート111−1を特定するための割り当て情報、およびパート112−1を特定するための割り当て情報を、それぞれ生成する。算出部253は、生成したパート111−1を特定するための割り当て情報を、通信制御部183−1に供給し、パート112−1を特定するための割り当て情報を、通信制御部183−2に供給する。
When the segment 71 is divided, the
割り当て情報には、例えば、図11に示すように、ダウンロードするコンテンツデータを特定するための情報、コンテンツデータを分割するセグメントの大きさを示す情報、セグメントを特定するための情報、パートの始点位置を示す情報、およびパートの終点位置を示す情報が含まれている。 For example, as shown in FIG. 11, the allocation information includes information for specifying the content data to be downloaded, information indicating the size of the segment into which the content data is divided, information for specifying the segment, and the start position of the part And information indicating the end point position of the part.
図11の例においては、ダウンロードするコンテンツデータが、コンテンツデータAである情報が含まれており、コンテンツデータを分割するセグメントの大きさが、2300KBである情報が含まれている。 In the example of FIG. 11, the content data to be downloaded includes information that is content data A, and information that includes a segment size that divides the content data is 2300 KB.
また、セグメントを特定するための情報として“1/6”が含まれている。ここで、“1/6”は、この情報によって特定されるセグメントが、コンテンツデータを構成する6つのセグメントのうちの、1番目(先頭)のセグメントであることを示している。したがって、例えば、図5において、1番目のセグメントは、コンテンツデータを構成するセグメント71のうち、再生を開始する位置のデータ、すなわち、再性時刻t50に対応するデータが含まれているセグメント71−1をいう。
Further, “1/6” is included as information for specifying a segment. Here, “1/6” indicates that the segment specified by this information is the first (first) segment of the six segments constituting the content data. Therefore, for example, in FIG. 5, the first segment is a segment 71-that includes data at a position where reproduction is started among the segments 71 constituting the content data, that is, data corresponding to the recurrent time t50.
さらに、図11に示す割り当て情報には、パートの始点位置が“0”である情報、およびパートの終点位置が“1150”である情報が含まれている。ここで、パートの始点位置および終点位置は、コンテンツデータの先頭の位置を“0”として、データが1KB増えるごとにインクリメントした値で表されている。したがって、この場合、始点位置が“0”であり、終点位置が“1150”であるパートは、コンテンツデータの先頭から1150KBのデータである。すなわち、このパートは、コンテンツデータの先頭をパートの先頭(開始位置)とする、大きさが1150KBのデータとなる。 Further, the allocation information shown in FIG. 11 includes information where the start position of the part is “0” and information where the end position of the part is “1150”. Here, the start point position and end point position of the part are represented by values that are incremented every time the data increases by 1 KB, with the leading position of the content data being “0”. Therefore, in this case, the part having the start point position “0” and the end point position “1150” is data of 1150 KB from the top of the content data. That is, this part is data having a size of 1150 KB, with the beginning of the content data being the beginning (starting position) of the part.
図10のフローチャートの説明に戻り、ステップS65において、通信制御部183は、算出部253から供給された割り当て情報を含む、送信要求信号を生成し、通信制御部183の送信部203は、通信制御部183が生成した送信要求信号を、通信網53を介してサーバ52あてに送信する。
Returning to the description of the flowchart of FIG. 10, in step S65, the communication control unit 183 generates a transmission request signal including the allocation information supplied from the
サーバ52は、送信要求信号を受信すると、それに応じて送信が要求されたコンテンツデータのパートを送信してくるので、ステップS66において、通信制御部183の受信部204は、サーバ52から送信されてきたコンテンツデータのパートを受信する。そして、通信制御部183は、受信されたパートを再構成部184に供給する。
When the
また、サーバ52において、コンテンツデータのパートの送信が終了すると、サーバ52は、終了通知信号を送信してくるので、ステップS67において、通信制御部183の受信部204は、サーバ52から送信されてきた終了通知信号を受信する。
In addition, when the transmission of the content data part is completed in the
ステップS68において、通信制御部183は、通信制御部183の受信部204が受信したパートの受信情報を生成し、生成した受信情報を割り当て部182に供給する。例えば、ステップS68において、通信制御部183は、図12に示す受信情報を生成する。
In step S68, the communication control unit 183 generates part reception information received by the
受信情報には、パートを送信してきた、送信ノードとしてのサーバを特定する情報、受信したパートが含まれているセグメントを特定する情報、受信したパートの開始位置を示す情報、受信したパートの終点位置を示す情報、ダウンロードしたパートのダウンロード速度を示す情報、およびパートをダウンロードする処理のスループットの変動の大きさを示す情報が含まれている。 The received information includes information for identifying a server as a transmitting node that has transmitted the part, information for identifying a segment including the received part, information indicating a start position of the received part, and an end point of the received part Information indicating the position, information indicating the download speed of the downloaded part, and information indicating the magnitude of fluctuation in throughput of the process of downloading the part are included.
図12では、受信情報には、“サーバP”である、送信ノードとしてのサーバを特定する情報、および“1/6”であるセグメントを特定する情報が含まれている。ここで、“1/6”は、コンテンツデータを構成する6つのセグメントのうちの、1番目のセグメントを表している。また、受信情報には、“0”であるパートの始点位置を示す情報、“1150”であるパートの終点位置を示す情報、“3Mbps”であるダウンロード速度を示す情報、および“0Mbps”であるスループットの変動の大きさを示す情報が含まれている。 In FIG. 12, the reception information includes information specifying a server as a transmission node, which is “server P”, and information specifying a segment which is “1/6”. Here, “1/6” represents the first segment among the six segments constituting the content data. The received information includes information indicating the start position of the part that is “0”, information indicating the end position of the part that is “1150”, information indicating the download speed that is “3 Mbps”, and “0 Mbps”. Information indicating the magnitude of the variation in throughput is included.
なお、上述したように、始点位置が“0”であり、終点位置が“1150”であるパートは、コンテンツデータの先頭から1150KBのデータである。また、受信情報に、スループットの変動の大きさ(絶対値)ではなく、スループットの変動の分散値が含まれるようにしてもよい。 As described above, the part whose start point position is “0” and end point position is “1150” is data of 1150 KB from the top of the content data. Further, the received information may include a variance value of the variation in throughput instead of the magnitude (absolute value) of the variation in throughput.
図10の説明に戻り、ステップS69において、再割り当て制御部254は、通信制御部183から供給された受信情報を、受信履歴記憶部255に供給し、受信履歴記憶部255に、受信履歴を更新させる。
Returning to the description of FIG. 10, in step S69, the
ここで、受信履歴には、例えば、図13に示すように、各セグメントを構成するパートのそれぞれの受信情報が含まれている。図13では、1番目のセグメントを構成するパートの受信情報、および2番目のセグメントを構成するパートの受信情報が含まれている。また、1番目のセグメントを構成するパートの受信情報として、“サーバP”から受信したパートの受信情報、および“サーバQ”から受信したパートの受信情報が含まれている。 Here, for example, as shown in FIG. 13, the reception history includes the reception information of the parts constituting each segment. In FIG. 13, the reception information of the parts constituting the first segment and the reception information of the parts constituting the second segment are included. In addition, as the reception information of the parts constituting the first segment, the reception information of the parts received from “Server P” and the reception information of the parts received from “Server Q” are included.
1番目のセグメントを構成するパートの受信情報のうち、“サーバP”から受信したパートの受信情報には、“0”であるパートの始点位置を示す情報、“1150”であるパートの終点位置を示す情報、“3Mbps”であるダウンロード速度を示す情報、および“0Mbps”であるスループットの変動の大きさを示す情報が含まれており、“サーバQ”から受信したパートの受信情報には、“1150”であるパートの始点位置を示す情報、“2300”であるパートの終点位置を示す情報、“2Mbps”であるダウンロード速度を示す情報、および“0Mbps”であるスループットの変動の大きさを示す情報が含まれている。 Of the reception information of the parts constituting the first segment, the reception information of the part received from “Server P” includes information indicating the start point position of the part “0”, and the end point position of the part “1150”. , Information indicating the download speed of “3 Mbps”, and information indicating the magnitude of the variation in throughput of “0 Mbps” are included, and the reception information of the part received from “Server Q” includes: Information indicating the start position of the part that is “1150”, information that indicates the end position of the part that is “2300”, information that indicates the download speed that is “2 Mbps”, and the magnitude of the fluctuation of the throughput that is “0 Mbps” Contains information to indicate.
また、2番目のセグメントを構成するパートの受信情報として、“サーバP”から受信したパートの受信情報、および“サーバQ”から受信したパートの受信情報が含まれている。2番目のセグメントを構成するパートの受信情報のうち、“サーバP”から受信したパートの受信情報には、“2300”であるパートの始点位置を示す情報、“3680”であるパートの終点位置を示す情報、“3Mbps”であるダウンロード速度を示す情報、および“0Mbps”であるスループットの変動の大きさを示す情報が含まれており、“サーバQ”から受信したパートの受信情報には、“3680”であるパートの始点位置を示す情報、“4600”であるパートの終点位置を示す情報、“3Mbps”であるダウンロード速度を示す情報、および“1Mbps”であるスループットの変動の大きさを示す情報が含まれている。 In addition, as the reception information of the part constituting the second segment, the reception information of the part received from “Server P” and the reception information of the part received from “Server Q” are included. Among the reception information of the parts constituting the second segment, the reception information of the part received from “Server P” includes the information indicating the start position of the part “2300” and the end position of the part “3680”. , Information indicating the download speed of “3 Mbps”, and information indicating the magnitude of the variation in throughput of “0 Mbps” are included, and the reception information of the part received from “Server Q” includes: Information indicating the start position of the part that is “3680”, information that indicates the end position of the part that is “4600”, information that indicates the download speed that is “3 Mbps”, and the magnitude of the fluctuation of the throughput that is “1 Mbps” Contains information to indicate.
図10の説明に戻り、ステップS70において、再割り当て制御部254は、受信履歴記憶部255が記憶している受信履歴を参照して、コンテンツデータのダウンロードが完了(終了)したか否かを判定する。例えば、受信履歴記憶部255が、図13に示す受信履歴を記憶している場合、コンテンツデータが、6つのセグメントに分割されており、1番目のセグメントおよび2番目のセグメントのダウンロードが完了しているが、3番目乃至6番目のセグメントのダウンロードが完了していないので、再割り当て制御部254は、コンテンツデータのダウンロードが完了していないと判定する。
Returning to the description of FIG. 10, in step S <b> 70, the
ステップS70において、コンテンツデータのダウンロードが完了していないと判定された場合、ステップS71に進み、再割り当て制御部254は、パートの送信の割り当てをし直す、再割り当てを指示する信号を生成し、生成した再割り当てを指示する信号を、算出部253に供給する。
If it is determined in step S70 that the download of the content data has not been completed, the process proceeds to step S71, and the
再割り当て制御部254から算出部253に、再割り当てを指示する信号が供給されると、ステップS72において、算出部253は、パートの送信の再割り当てが指示されたので、初期設定情報、ノード情報記憶部252が記憶しているノード情報、および受信履歴記憶部255が記憶している受信履歴を参照して、まだダウンロードされていないセグメントを、パートに分割して、パートごとの割り当て情報を生成する。そして、算出部253は、生成した割り当て情報を、通信制御部183に供給して、ステップS65に戻り、上述した処理を繰り返す。
When a signal for instructing reassignment is supplied from the
例えば、図5に示すコンテンツデータのうち、セグメント71−1のダウンロードが終了しており、セグメント71−2乃至セグメント71−6のダウンロードが終了していない場合、算出部253は、ノード情報および受信履歴を参照して、セグメント71−2乃至セグメント71−6のそれぞれを、ノード情報に含まれている、送信ノードとしてのサーバ52の数によって示される数に分割する。
For example, in the content data illustrated in FIG. 5, when the download of the segment 71-1 is finished and the download of the segments 71-2 to 71-6 is not finished, the
例えば、ノード情報に含まれている、送信ノードとしてのサーバ52の数が“2”である場合、算出部253は、セグメント71−2乃至セグメント71−6を、それぞれ2つのパートに分割する。このとき、パートの大きさは、例えば、受信履歴に含まれている、パートのダウンロード速度を基に、式(4)を計算して定める。
For example, when the number of
Pi=Vi×D/(ΣVi) ・・・(4) Pi = Vi × D / (ΣVi) (4)
ここで、Piは、サーバ52−i(但し、1≦i≦N)に割り当てるパートの大きさを示しており、Viは、前回、サーバ52−iからダウンロードしたパートのダウンロード速度を示している。また、Σは、iを1からNに変えてのViの和(合計)をとることを表し、Dは、セグメントの大きさを示す。 Here, Pi represents the size of the part assigned to the server 52-i (where 1 ≦ i ≦ N), and Vi represents the download speed of the part downloaded from the server 52-i last time. . Σ represents taking the sum (total) of Vi by changing i from 1 to N, and D represents the size of the segment.
したがって、例えば、図5に示すセグメント71の大きさが2300KBであり、パート111−1のサーバ52−1からのダウンロード速度が“3Mbps”であり、パート112−1のサーバ52−2からのダウンロード速度が“2Mbps”であり、さらに、セグメント71−2乃至セグメント71−6を、それぞれ、パート111−2乃至パート111−6、およびパート112−2乃至パート112−6に分割して、パート111−2乃至パート111−6をサーバ52−1からダウンロードし、パート112−2乃至パート112−6をサーバ52−2からダウンロードする場合、パート111−2乃至パート111−6のそれぞれの大きさは、式(4)から、1380KB(3×2300/(2+3))と算出される。 Therefore, for example, the size of the segment 71 shown in FIG. 5 is 2300 KB, the download speed from the server 52-1 of the part 111-1 is “3 Mbps”, and the download from the server 52-2 of the part 112-1 is performed. The speed is “2 Mbps”, and the segments 71-2 through 71-6 are further divided into parts 111-2 through 111-6 and parts 112-2 through 112-6, respectively. -2 to part 111-6 are downloaded from the server 52-1, and when the parts 112-2 to 112-6 are downloaded from the server 52-2, the sizes of the parts 111-2 to 111-6 are as follows. From the formula (4), it is calculated as 1380 KB (3 × 2300 / (2 + 3)).
そして、算出部253は、セグメント71−2乃至セグメント71−6をそれぞれ分割すると、パート111の送信を、サーバ52−1に割り当て、パート112の送信を、サーバ52−2に割り当てる。そして、算出部253は、パート111−2を特定するための割り当て情報、およびパート112−2を特定するための割り当て情報を、それぞれ生成する。算出部253は、生成したパート111−2を特定するための割り当て情報を、通信制御部183−1に供給し、パート112−2を特定するための割り当て情報を、通信制御部183−2に供給する。
Then, when dividing the segments 71-2 to 71-6, the
なお、セグメントをパートに分割するとき、セグメントの大きさおよびダウンロード速度を基に、パートの大きさを定めると説明したが、例えば、受信履歴に含まれているスループットの変動の大きさを用いて、サーバ52に割り当てるパートの大きさを変化させるようにしてもよい。この場合、例えば、スループットの変動が少ないサーバ52に、より大きいパート(の送信)が割り当てられる。すなわち、スループットの変動が大きいサーバ52には、そのサーバ52の送信能力と比べて小さいパート(の送信)が割り当てられる。
In addition, when dividing a segment into parts, it was explained that the size of the part is determined based on the size of the segment and the download speed. For example, using the magnitude of the fluctuation of the throughput included in the reception history The part size allocated to the
また、再割り当てを行う場合、ノード情報記憶部252のノード情報が更新されて、新たな送信ノードとしてのサーバ52が追加されたとき、新たに追加されたサーバ52からのダウンロード速度として、予め定められた所定の値を用いて式(4)を算出し、再割り当てを行う。したがって、例えば、新たに、ノード情報にサーバ52−3の情報が追加された場合、式(4)において、ダウンロード速度V3の値を、例えば、2Mbpsとして式(4)を計算する。さらに、また、予め定められた所定の時間が経過するごとに、再割り当ての処理を行うようにすることも可能である。
When reassignment is performed, when the node information in the node information storage unit 252 is updated and the
図10の説明に戻り、ステップS70において、コンテンツデータのダウンロードが完了したと判定された場合、コンテンツデータの受信の処理は終了する。 Returning to the description of FIG. 10, if it is determined in step S70 that the download of the content data has been completed, the content data reception process ends.
このようにして、クライアント51は、コンテンツデータを複数のセグメントに分割(する分割位置を指定)し、さらに、各セグメントを複数のパートに分割(する分割位置を指定)して、1つのセグメントを構成するパートのそれぞれの送信を異なるサーバ52に割り当てる。そして、クライアント51は、サーバ52から、それぞれ割り当てたパートをダウンロードする。
In this way, the
このように、コンテンツデータを複数のセグメントに分割し、さらに、各セグメントを複数のパートに分割して、1つのセグメントを構成するパートのそれぞれを、異なるサーバ52からダウンロードするようにしたので、クライアント51は、コンテンツデータをより迅速にダウンロードすることができる。
In this way, the content data is divided into a plurality of segments, each segment is further divided into a plurality of parts, and each part constituting one segment is downloaded from a
また、各セグメントを、それぞれ複数のパートに分割し、それぞれのパートの大きさを、前回ダウンロードしたパートのダウンロード速度に応じて定めるようにしたので、コンテンツデータを、より効率よくダウンロードすることができ、その結果、ダウンロードが完了したコンテンツデータの量に対する、連続したコンテンツの再生に用いることができるコンテンツデータの量の割合をより大きくすることができる。これにより、サーバ52や通信網53に問題が発生した場合に、コンテンツの再生が途切れてしまう可能性をより低くすることができる。
In addition, each segment is divided into multiple parts, and the size of each part is determined according to the download speed of the part downloaded last time, so the content data can be downloaded more efficiently. As a result, the ratio of the amount of content data that can be used for continuous content reproduction to the amount of content data that has been downloaded can be further increased. Thereby, when a problem occurs in the
次に、図14のフローチャートを参照して、管理部181から、割り当て部182の設定部251に、初期設定情報およびノード情報が供給された場合に、コンテンツデータの受信の処理と並行して実行される、クライアント51によるノード情報の更新の処理を説明する。
Next, referring to the flowchart of FIG. 14, when initial setting information and node information are supplied from the
ステップS91において、設定部251は、管理部181から供給されたノード情報を、ノード情報記憶部252に供給し、供給したノード情報を、ノード情報記憶部252に記憶させる。ノード情報には、通信網53を介してクライアント51に接続されている、ユーザが所望するコンテンツデータを記録しているサーバ52の数、サーバ52のIPアドレス、サーバ52の送信能力などが含まれている。
In step S91, the
ステップS92において、設定部251は、管理部181から追加ノード情報が供給されたか否かを判定する。ステップS92において、追加ノード情報が供給されたと判定された場合、ステップS93に進み、設定部251は、管理部181から供給された追加ノード情報をノード情報記憶部252に供給し、ノード情報記憶部252に、供給した追加ノード情報を基に、ノード情報を更新させて、ステップS94に進む。
In step S <b> 92, the
例えば、ステップS93において、設定部251は、追加ノード情報に含まれている、新たに検出されたサーバ52の送信能力やIPアドレスなどの情報が、ノード情報記憶部252が記憶しているノード情報に追加されるように、ノード情報記憶部252にノード情報を更新させる。
For example, in step S <b> 93, the
一方、ステップS92において、追加ノード情報が供給されていないと判定された場合、ノード情報を更新させないので、ステップS93の処理はスキップされ、ステップS94に進む。 On the other hand, if it is determined in step S92 that the additional node information is not supplied, the node information is not updated, so the process of step S93 is skipped and the process proceeds to step S94.
ステップS94において、設定部251は、再割り当て制御部254から供給される、ダウンロードが完了した旨の信号を基に、コンテンツデータが完了したか否かを判定する。ステップS94において、ダウンロードが完了したと判定された場合、ノード情報を更新する必要がないので、ノード情報の更新の処理は終了する。
In step S94, the
一方、ステップS94において、ダウンロードが完了していないと判定された場合、ステップS92に戻り、上述した処理を繰り返す。 On the other hand, if it is determined in step S94 that the download has not been completed, the process returns to step S92 and the above-described processing is repeated.
このようにして、クライアント51は、記憶しているノード情報を更新する。このように、追加ノード情報が供給されるたびにノード情報を更新することによって、クライアント51は、より多くのサーバ52から、所望するコンテンツデータを分割してダウンロードすることができる。
In this way, the
図9のフローチャートを参照して説明したように、クライアント51が、サーバ52とのコネクションを確立させると、サーバ52にはクライアント51から、コンテンツデータのパートの送信を要求する、送信要求信号が送信されてくる。サーバ52は、クライアント51から送信要求信号が送信されてくるたびに、コンテンツデータの送信の処理を実行する。
As described with reference to the flowchart of FIG. 9, when the
図15のフローチャートを参照して、サーバ52による、コンテンツデータの送信の処理を説明する。
With reference to the flowchart of FIG. 15, the content data transmission processing by the
ステップS111において、受信部221は、クライアント51から送信されてきた、送信要求信号を受信し、受信した送信要求信号を取得部222に供給する。
In step S <b> 111, the
ステップS112において、取得部222は、受信部221から供給された送信要求信号を参照して、記憶部223から、送信が要求されたコンテンツデータのパートを取得し、取得したコンテンツデータのパートを、送信部224に供給する。また、取得部222は、コンテンツデータのパートを送信部224に供給してから、コンテンツデータの送信が終了した旨の終了通知信号を生成し、生成した終了通知信号を送信部224に供給する。
In step S112, the acquisition unit 222 refers to the transmission request signal supplied from the
例えば、受信部221から、図11に示す割り当て情報を含む送信要求信号が供給された場合、取得部222は、記録部223に記憶されているコンテンツデータAから、コンテンツデータAの先頭から、1150KBまでの部分のデータをパートとして取得(抽出)する。より詳細には、ステップS112において、取得部222は、記憶部223から取得したパートを、例えば、TCP方式のパケットに格納して、そのパケットを送信部224に供給する。また、例えば、取得部222は、パートを格納するパケットのヘッダに、格納するパートの始点位置と同じ値のシーケンス番号を格納する。
For example, when the transmission request signal including the allocation information shown in FIG. 11 is supplied from the
ステップS113において、送信部224は、取得部222から供給されたコンテンツデータのパートを、通信網53を介してクライアント51あてに送信する。
In step S <b> 113, the
ステップS114において、送信部224は、取得部222から供給された終了通知信号を、通信網53を介してクライアント51あてに送信し、コンテンツデータの送信の処理は終了する。
In step S114, the
このようにして、サーバ52は、クライアント51から送信が要求されたコンテンツデータのパートを取得し、クライアント51あてに送信する。このように、コンテンツデータから、クライアント51から送信が要求された部分をパートとして取得し、クライアント51あてに送信することで、サーバ52にかかる負荷を軽減させることができ、また、コンテンツデータを、より効率よくクライアント51に送信することができる。
In this way, the
以上のように、本発明によれば、コンテンツデータを複数のセグメントに分割し、さらに、各セグメントを複数のパートに分割して、1つのセグメントを構成するパートのそれぞれを、異なるサーバからダウンロードするようにしたので、クライアントは、コンテンツデータをより迅速にダウンロードすることができる。 As described above, according to the present invention, content data is divided into a plurality of segments, each segment is further divided into a plurality of parts, and each part constituting one segment is downloaded from a different server. As a result, the client can download the content data more quickly.
また、本発明によれば、各セグメントを、それぞれ複数のパートに分割し、それぞれのパートの大きさを、前回ダウンロードしたパートのダウンロード速度に応じて定めるようにしたので、コンテンツデータを、より効率よくダウンロードすることができ、これにより、ネットワークやサーバに問題が発生した場合においても、コンテンツの再生をより途切れにくくすることができる。 In addition, according to the present invention, each segment is divided into a plurality of parts, and the size of each part is determined according to the download speed of the part downloaded last time. The content can be downloaded well, and even when a problem occurs in the network or the server, the reproduction of the content can be made more difficult to interrupt.
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。 The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a recording medium in a general-purpose personal computer or the like.
この記録媒体は、図6に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク161(フレキシブルディスクを含む)、光ディスク162(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク163(MD(Mini-Disc)(商標)を含む)、若しくは半導体メモリ164などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM132や、記録部138に含まれるハードディスクなどで構成される。
As shown in FIG. 6, this recording medium is distributed to provide a program to the user separately from the computer, and includes a magnetic disk 161 (including a flexible disk) on which the program is recorded, an optical disk 162 (CD- ROM (Compact Disc-Read Only Memory), DVD (including Digital Versatile Disc)), magneto-optical disk 163 (including MD (Mini-Disc) (trademark)), or
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。 The program for executing the series of processes described above is installed in a computer via a wired or wireless communication medium such as a local area network, the Internet, or digital satellite broadcasting via an interface such as a router or a modem as necessary. You may be made to do.
また、クライアント51が、ピアツーピアネットワークに接続されていると説明したが、ピアツーピアネットワーク上に、いわゆるスーパーノードと称されるサーバ52、またはセンターサーバを設けて、クライアント51が、スーパーノードまたはセンターサーバから、他のサーバ52のノード情報を取得するようにしてもよい。
Further, the
さらに、例えば、図16に示すように、サーバクライアント方式のネットワークに、クライアント51を接続してコンテンツデータをダウンロードするようにしてもよい。
Furthermore, for example, as shown in FIG. 16, the
この場合、通信網301には、クライアント51、管理サーバ302、および配信サーバ303−1乃至配信サーバ303−3が、接続されている。クライアント51が、コンテンツデータをダウンロードする場合、クライアント51は、管理サーバ302から、クライアント51が所望するコンテンツデータを記録している、配信サーバ(例えば、配信サーバ303−1乃至配信サーバ303−3)のIPアドレスや、配信サーバの送信能力などの情報を取得する。クライント51は、管理サーバ302から取得した情報を参照して、所望するコンテンツデータを、複数のセグメントに分割し、さらに、セグメントを複数のパートに分割して、それぞれのパートの送信を、配信サーバ303−1乃至配信サーバ303−3にそれぞれ割り当てる。そして、クライアント51は、配信サーバ303−1乃至配信サーバ303−3のそれぞれから、送信を割り当てたパートをダウンロードする。
In this case, a
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing the program stored in the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。 Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
51 クライアント, 52−1乃至52−N,52 サーバ, 131 CPU, 132 ROM, 133 RAM, 138 記録部, 161 磁気ディスク, 162 光ディスク, 163 光磁気ディスク, 164 半導体メモリ, 182 割り当て部, 183−1乃至183−N,183 通信制御部, 203−1乃至203−N,203 送信部, 204−1乃至204−N,204 受信部, 221−1乃至221−N,221 受信部, 222−1乃至222−N,222 取得部, 223−1乃至223−N,223 記録部, 224−1乃至224−N,224 送信部, 251 設定部, 252 ノード情報記憶部, 253 算出部, 254 再割り当て制御部, 255 受信履歴記憶部 51 clients, 52-1 to 52 -N, 52 servers, 131 CPU, 132 ROM, 133 RAM, 138 recording unit, 161 magnetic disk, 162 optical disk, 163 magneto-optical disk, 164 semiconductor memory, 182 allocation unit, 183-1 Through 183-N, 183 communication control unit, 203-1 through 203-N, 203 transmission unit, 204-1 through 204-N, 204 reception unit, 221-1 through 221-N, 221 reception unit, 222-1 through 222-N, 222 acquisition unit, 223-1 to 223-N, 223 recording unit, 224-1 to 224-N, 224 transmission unit, 251 setting unit, 252 node information storage unit, 253 calculation unit, 254 reallocation control Section, 255 reception history storage section
Claims (10)
これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする前記第2のデータを、さらに前記送信装置のそれぞれに対応する第3のデータのそれぞれに分けることにより、前記第3のデータのそれぞれの送信を対応する前記送信装置のそれぞれに割り当てる割り当て手段と、
前記送信装置のそれぞれに割り当てた前記第3のデータのそれぞれの送信を要求する要求信号のそれぞれを、前記第3のデータに対応する前記送信装置にそれぞれ送信する送信手段と、
それぞれの前記送信装置から送信されてきた、前記第3のデータのそれぞれを受信する受信手段と
を備えることを特徴とする情報処理装置。 In an information processing device that receives data transmitted from each of a plurality of transmission devices connected via a communication network,
When receiving first data to be received from now on and second data divided into predetermined predetermined sizes in order, the second data to be received next is further transmitted Allocating means for allocating each transmission of the third data to each of the corresponding transmitting devices by dividing each of the third data corresponding to each of the devices;
Transmitting means for transmitting each of the request signals for requesting transmission of each of the third data assigned to each of the transmitting devices to the transmitting device corresponding to the third data;
An information processing apparatus comprising: a receiving unit configured to receive each of the third data transmitted from each of the transmission apparatuses.
前記割り当て手段は、前記情報を基に、前記第3のデータの大きさをそれぞれ変化させて、前記第2のデータを前記第3のデータのそれぞれに分ける
ことを特徴とする請求項1に記載の情報処理装置。 Storage means for storing information indicating a rate at which the third data is received from the transmission device;
2. The allocation unit according to claim 1, wherein, based on the information, the size of the third data is changed, and the second data is divided into the third data. Information processing device.
これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする前記第2のデータを、さらに前記送信装置のそれぞれに対応する第3のデータのそれぞれに分けることにより、前記第3のデータのそれぞれの送信を対応する前記送信装置のそれぞれに割り当てる割り当てステップと、
前記送信装置のそれぞれに割り当てた前記第3のデータのそれぞれの送信を要求する要求信号のそれぞれの、前記第3のデータに対応する前記送信装置のそれぞれへの送信を制御する送信制御ステップと、
それぞれの前記送信装置から送信されてきた、前記第3のデータのそれぞれの受信を制御する受信制御ステップと
を含むことを特徴とする情報処理方法。 In an information processing method of an information processing device that receives data transmitted from each of a plurality of transmission devices connected via a communication network,
When receiving first data to be received from now on and second data divided into predetermined predetermined sizes in order, the second data to be received next is further transmitted Assigning each transmission of the third data to each of the corresponding transmitting devices by dividing each of the third data corresponding to each of the devices;
A transmission control step for controlling transmission of each of the request signals for requesting transmission of each of the third data assigned to each of the transmission devices to each of the transmission devices corresponding to the third data;
A reception control step of controlling reception of each of the third data transmitted from each of the transmission devices.
これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする前記第2のデータを、さらに前記送信装置のそれぞれに対応する第3のデータのそれぞれに分けることにより、前記第3のデータのそれぞれの送信を対応する前記送信装置のそれぞれに割り当てる割り当てステップと、
前記送信装置のそれぞれに割り当てた前記第3のデータのそれぞれの送信を要求する要求信号のそれぞれの、前記第3のデータに対応する前記送信装置のそれぞれへの送信を制御する送信制御ステップと、
それぞれの前記送信装置から送信されてきた、前記第3のデータのそれぞれの受信を制御する受信制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 A program for reception processing for receiving data transmitted from each of a plurality of transmission devices connected via a communication network,
When receiving first data to be received from now on and second data divided into predetermined predetermined sizes in order, the second data to be received next is further transmitted Assigning each transmission of the third data to each of the corresponding transmitting devices by dividing each of the third data corresponding to each of the devices;
A transmission control step for controlling transmission of each of the request signals for requesting transmission of each of the third data assigned to each of the transmission devices to each of the transmission devices corresponding to the third data;
And a reception control step for controlling reception of each of the third data transmitted from each of the transmission devices. A recording medium on which a computer-readable program is recorded.
これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする前記第2のデータを、さらに前記送信装置のそれぞれに対応する第3のデータのそれぞれに分けることにより、前記第3のデータのそれぞれの送信を対応する前記送信装置のそれぞれに割り当てる割り当てステップと、
前記送信装置のそれぞれに割り当てた前記第3のデータのそれぞれの送信を要求する要求信号のそれぞれの、前記第3のデータに対応する前記送信装置のそれぞれへの送信を制御する送信制御ステップと、
それぞれの前記送信装置から送信されてきた、前記第3のデータのそれぞれの受信を制御する受信制御ステップと
を含むことを特徴とするプログラム。 In a program for causing a computer to perform reception processing for receiving data transmitted from each of a plurality of transmission devices connected via a communication network,
When receiving first data to be received from now on and second data divided into predetermined predetermined sizes in order, the second data to be received next is further transmitted Assigning each transmission of the third data to each of the corresponding transmitting devices by dividing each of the third data corresponding to each of the devices;
A transmission control step for controlling transmission of each of the request signals for requesting transmission of each of the third data assigned to each of the transmission devices to each of the transmission devices corresponding to the third data;
A reception control step of controlling the reception of each of the third data transmitted from each of the transmission devices.
相手がこれから受信しようとする前記第1のデータを予め定められた所定の大きさに分けた第2のデータを、前記相手がそれぞれ順番に受信する場合、前記相手から送信されてきた、前記相手が次に受信しようとする前記第2のデータをさらに所定の数に分けた第3のデータのうちの、1つの第3のデータの送信を要求する要求信号を受信する受信手段と、
前記要求信号に基づいて、記憶している前記第1のデータから、送信が要求された第3のデータを取得する取得手段と、
取得した第3のデータを、前記相手に送信する送信手段と
を備えることを特徴とする情報処理装置。 Storage means for storing first data;
When the other party sequentially receives second data obtained by dividing the first data to be received by the other party into predetermined sizes, the other party has been transmitted from the other party. Receiving means for receiving a request signal for requesting transmission of one third data among the third data obtained by dividing the second data to be received next into a predetermined number;
Acquiring means for acquiring third data requested to be transmitted from the stored first data based on the request signal;
An information processing apparatus comprising: transmission means for transmitting the acquired third data to the partner.
前記要求信号に基づいて、記憶している前記第1のデータから、送信が要求された第3のデータを取得する取得ステップと、
取得した第3のデータの前記相手への送信を制御する送信制御ステップと
を含むことを特徴とする情報処理方法。 When the other party sequentially receives the second data obtained by dividing the first data to be received by the other party into a predetermined size, the other party has been transmitted from the other party. A reception control step for controlling reception of a request signal for requesting transmission of one third data among the third data obtained by further dividing the second data to be received into a predetermined number;
Obtaining the third data requested to be transmitted from the stored first data based on the request signal;
A transmission control step of controlling transmission of the acquired third data to the other party.
前記要求信号に基づいて、記憶している前記第1のデータから、送信が要求された第3のデータを取得する取得ステップと、
取得した第3のデータの前記相手への送信を制御する送信制御ステップと
を含むことを特徴とする情報処理をコンピュータに実行させるプログラムが記録されている記録媒体。 When the other party sequentially receives the second data obtained by dividing the first data to be received by the other party into a predetermined size, the other party has been transmitted from the other party. A reception control step for controlling reception of a request signal for requesting transmission of one third data among the third data obtained by further dividing the second data to be received into a predetermined number;
Obtaining the third data requested to be transmitted from the stored first data based on the request signal;
And a transmission control step for controlling transmission of the acquired third data to the other party. A recording medium on which a program for causing a computer to execute information processing is recorded.
前記要求信号に基づいて、記憶している前記第1のデータから、送信が要求された第3のデータを取得する取得ステップと、
取得した第3のデータの前記相手への送信を制御する送信制御ステップと
をコンピュータに実行させることを特徴とするプログラム。 When the other party sequentially receives the second data obtained by dividing the first data to be received by the other party into a predetermined size, the other party has been transmitted from the other party. A reception control step for controlling reception of a request signal for requesting transmission of one third data among the third data obtained by further dividing the second data to be received into a predetermined number;
Obtaining the third data requested to be transmitted from the stored first data based on the request signal;
A program causing a computer to execute a transmission control step of controlling transmission of the acquired third data to the other party.
前記受信装置は、
これから受信しようとする第1のデータを、予め定められた所定の大きさに分けた第2のデータをそれぞれ順番に受信する場合、次に受信しようとする前記第2のデータを、さらに接続されている前記送信装置のそれぞれに対応する第3のデータのそれぞれに分けることにより、前記第3のデータのそれぞれの送信を対応する前記送信装置のそれぞれに割り当てる割り当て手段と、
前記送信装置のそれぞれに割り当てた前記第3のデータのそれぞれの送信を要求する要求信号のそれぞれを、前記第3のデータに対応する前記送信装置にそれぞれ送信する送信手段と
を備え、
前記送信装置のそれぞれは、
前記第1のデータを記憶する記憶手段と、
前記受信装置から送信されてきた、前記要求信号を受信する受信手段と、
前記要求信号に基づいて、記憶している前記第1のデータから、送信が要求された前記第3のデータを取得する取得手段と、
取得した前記第3のデータを、前記受信装置に送信する送信手段と
を備え、
前記受信装置は、
前記送信装置のそれぞれから送信されてきた、前記第3のデータのそれぞれを受信する受信手段をさらに備える
ことを特徴とする情報処理システム。 In an information processing system including a plurality of transmission devices connected via a communication network and a reception device that receives data transmitted from each of the transmission devices,
The receiving device is:
When the first data to be received from now on and the second data divided into predetermined predetermined sizes are received in order, the second data to be received next is further connected. Allocating means for allocating each transmission of the third data to each of the corresponding transmitting devices by dividing each of the third data corresponding to each of the transmitting devices being
Transmission means for transmitting each request signal for requesting transmission of each of the third data assigned to each of the transmission devices to the transmission device corresponding to the third data,
Each of the transmitting devices
Storage means for storing the first data;
Receiving means for receiving the request signal transmitted from the receiving device;
Obtaining means for obtaining the third data requested to be transmitted from the stored first data based on the request signal;
Transmitting means for transmitting the acquired third data to the receiving device;
The receiving device is:
An information processing system, further comprising receiving means for receiving each of the third data transmitted from each of the transmitting devices.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005057701A JP2006244054A (en) | 2005-03-02 | 2005-03-02 | Information processor and method, recording medium, program and information processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005057701A JP2006244054A (en) | 2005-03-02 | 2005-03-02 | Information processor and method, recording medium, program and information processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006244054A true JP2006244054A (en) | 2006-09-14 |
Family
ID=37050421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005057701A Withdrawn JP2006244054A (en) | 2005-03-02 | 2005-03-02 | Information processor and method, recording medium, program and information processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006244054A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008149030A (en) * | 2006-12-19 | 2008-07-03 | Honma Akio | Multimedia data delivery method and game parlor image/sound delivery system |
JP2009043129A (en) * | 2007-08-10 | 2009-02-26 | Brother Ind Ltd | Distributed content storing system, content data acquiring method, node device, and node processing program |
JP2009043128A (en) * | 2007-08-10 | 2009-02-26 | Brother Ind Ltd | Content distributed storage system, content data acquisition method, node device, and node processing program |
JP2013520119A (en) * | 2010-02-19 | 2013-05-30 | トムソン ライセンシング | Adaptive streaming multipath delivery |
JP2018023152A (en) * | 2017-09-23 | 2018-02-08 | Nl技研株式会社 | Content reception device and content distribution device |
-
2005
- 2005-03-02 JP JP2005057701A patent/JP2006244054A/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008149030A (en) * | 2006-12-19 | 2008-07-03 | Honma Akio | Multimedia data delivery method and game parlor image/sound delivery system |
JP2009043129A (en) * | 2007-08-10 | 2009-02-26 | Brother Ind Ltd | Distributed content storing system, content data acquiring method, node device, and node processing program |
JP2009043128A (en) * | 2007-08-10 | 2009-02-26 | Brother Ind Ltd | Content distributed storage system, content data acquisition method, node device, and node processing program |
JP2013520119A (en) * | 2010-02-19 | 2013-05-30 | トムソン ライセンシング | Adaptive streaming multipath delivery |
JP2016165134A (en) * | 2010-02-19 | 2016-09-08 | トムソン ライセンシングThomson Licensing | Multipath delivery for adaptive streaming |
US10034048B2 (en) | 2010-02-19 | 2018-07-24 | Thomson Licensing Dtv | Multipath delivery for adaptive streaming |
JP2018023152A (en) * | 2017-09-23 | 2018-02-08 | Nl技研株式会社 | Content reception device and content distribution device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11539768B2 (en) | System and method of minimizing network bandwidth retrieved from an external network | |
JP4177757B2 (en) | System and method for receiving multiple description media streams in fixed and mobile streaming media systems | |
JP4808925B2 (en) | Method for distributing multiple description encoded media streams to servers in fixed and mobile systems | |
JP4713831B2 (en) | Method for handing off a streaming media session between wireless base stations in a mobile streaming media system | |
JP4920220B2 (en) | Receiver-driven system and method in peer-to-peer network | |
JP5058468B2 (en) | Method for erasure resistant encoding of streaming media, media having computer-executable instructions for performing the method, and system | |
EP1633111B1 (en) | A system and method for distributed streaming of scalable media | |
TWI408924B (en) | Packet level prioritization in interconnection networks | |
KR101089562B1 (en) | P2p live streaming system for high-definition media broadcasting and the method therefor | |
US20110219114A1 (en) | Pod-based server backend infrastructure for peer-assisted applications | |
US20090106451A1 (en) | Methods and systems for boosting streaming from a distributed storage system | |
JPH09294121A (en) | Media server system and operation method therefor | |
JP2010522372A (en) | Hierarchically clustered P2P streaming system | |
EP2005704A1 (en) | Realtime media distribution in a p2p network | |
EP3207686B1 (en) | Adaptive bit rates during broadcast transmission in distributed content delivery networks | |
JP2006244054A (en) | Information processor and method, recording medium, program and information processing system | |
CN107251487B (en) | Bandwidth distribution method and device in network and computer readable storage medium | |
WO2014068863A1 (en) | Information processing device, information processing method and program | |
Malkawi et al. | AN ENHANCED FIRST SEGMENT CACHING SCHEME (EFSCS) FOR MOBILE AD-HOC NETWORK BASED ON VIDEO ON DEMAND SYSTEM | |
Kariminasab | A Simulation Study on Performance of Video-On-Demand Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080513 |