JP2010257305A - Client device and method of controlling the same - Google Patents

Client device and method of controlling the same Download PDF

Info

Publication number
JP2010257305A
JP2010257305A JP2009107779A JP2009107779A JP2010257305A JP 2010257305 A JP2010257305 A JP 2010257305A JP 2009107779 A JP2009107779 A JP 2009107779A JP 2009107779 A JP2009107779 A JP 2009107779A JP 2010257305 A JP2010257305 A JP 2010257305A
Authority
JP
Japan
Prior art keywords
data
client
client device
connection destination
transfer
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.)
Granted
Application number
JP2009107779A
Other languages
Japanese (ja)
Other versions
JP5240048B2 (en
Inventor
Koji Momijitani
幸治 椛谷
Soji Kodaira
荘治 小平
Tomoko Iwatani
智子 岩谷
Hideki Iwamura
秀樹 岩村
Kazunari Ishikawa
一成 石川
Daisuke Yamakawa
大介 山川
Tsukasa Ogata
司 緒方
Sunao Ota
直 太田
Kazuo Takahashi
一男 高橋
雅季 ▲高▼橋
Masaki Takahashi
Yasuhiro Seta
泰弘 瀬田
Noriomi Nakajima
則臣 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009107779A priority Critical patent/JP5240048B2/en
Publication of JP2010257305A publication Critical patent/JP2010257305A/en
Application granted granted Critical
Publication of JP5240048B2 publication Critical patent/JP5240048B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To continue the reception of data even when data can not be transferred in a communication network in which data are transferred between a plurality of client devices. <P>SOLUTION: The client device for receiving data transferred from one client device is provided with: a connection candidate storage means for storing information related with a plurality of client devices as candidates for transferring data to the client device; an event occurrent detection means for detecting the occurrence of a prescribed event related with one client device; an access point selection means for, when the occurrence of the prescribed event is detected by the event occurrence detection means, selecting one candidate of the information stored by the connection candidate storage means; and a data transfer requesting means for requesting the candidate selected by the access point selection means to transfer the data to the client device. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、ストリーミング配信における技術に関する。   The present invention relates to a technique in streaming distribution.

従来、ストリーミング配信は、各クライアントがストリーミング配信サーバへ配信要求を行い、配信サーバが各クライアントへストリーミング配信を実施していた。つまり、クライアントとストリーミング配信サーバとが1対1のユニキャスト配信を行う形態である。   Conventionally, in streaming distribution, each client makes a distribution request to the streaming distribution server, and the distribution server performs streaming distribution to each client. That is, the client and the streaming distribution server perform one-to-one unicast distribution.

一般的にストリーミングに用いられる動画データ等は大容量であり、配信先であるクライアント数が増加すればそれに比例してネットワークの利用帯域は非常に大きくなり、配信サーバの処理負担も大きい。また、コンテンツの配信中は、これらネットワーク及び配信サーバの処理負担は大きいまま継続される。   In general, moving image data and the like used for streaming has a large capacity, and if the number of clients as distribution destinations increases, the network usage band increases in proportion to it, and the processing load on the distribution server increases. Further, during the distribution of content, the processing load on these networks and distribution servers is kept large.

このネットワーク及び配信サーバの処理負担を軽減させる方法の一つとして、クライアントが受信したストリーミングデータを別のクライアントへ転送するP2P(Peer to Peer)を利用したストリーミング配信方法が考えられている(特許文献1等)。   As a method for reducing the processing load on the network and the distribution server, a streaming distribution method using P2P (Peer to Peer) for transferring streaming data received by a client to another client is considered (Patent Literature). 1).

特開2002−82924号公報JP 2002-82924 A

しかし、上記のP2Pを利用したストリーミング配信方法では、データ転送を請け負っていたクライアントが何らかの理由により当該データ転送を中止することがあることを考慮する必要がある。この場合、当該クライアントを介してストリーミングデータを受信していた別のクライアントは、転送を受けていたデータを受信することができなくなるという問題点がある。また、データ転送を受けていたクライアントが別ルートでデータ配信を受ける場合、配信ルートの変更に時間が掛かれば、配信ルート変更処理の間はストリーミングデータの受信が中断されてしまうという問題点がある。   However, in the above streaming distribution method using P2P, it is necessary to consider that the client that has been undertaking the data transfer may stop the data transfer for some reason. In this case, there is a problem that another client that has received the streaming data via the client cannot receive the transferred data. In addition, when a client that has received data transfer receives data distribution by another route, if it takes time to change the distribution route, reception of streaming data is interrupted during the distribution route change processing. .

そこで、本発明では、複数のクライアント装置間でデータの転送を行う通信ネットワークにおいて、データ転送を行っていたクライアント装置が当該データ転送を継続できない場合であっても、データの受信を継続するクライアント装置およびその制御方法を提供することを目的とする。   Therefore, in the present invention, in a communication network that transfers data between a plurality of client devices, the client device that continues to receive data even if the client device that was transferring data cannot continue the data transfer And it aims at providing the control method.

開示のクライアント装置の一形態では、データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置であって、当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持する接続候補保持手段と、前記一のクライアント装置に関する所定のイベントの発生を検知するイベント発生検知手段と、前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択する接続先選択手段と、前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するデータ転送要求手段と、を有することを特徴とする。   In one form of the disclosed client device, in a communication network having a data distribution device and a plurality of client devices, the client device is connected to one client device and receives data distributed from the data distribution device. A client device that receives the transferred data, and a candidate connection unit that holds information about the plurality of client devices as candidates for transferring the data to the client device; An event occurrence detecting means for detecting the occurrence of an event, and a connection for selecting one of the information held by the connection candidate holding means when the occurrence of the predetermined event is detected by the event occurrence detecting means Selected by the destination selection means and the connection destination selection means. To said candidate, and having a data transfer request means for requesting to transfer the data to the client device.

開示のクライアント装置では、複数のクライアント装置間でデータの転送を行う通信ネットワークにおいて、データ転送を行っていたクライアント装置が当該データ転送を継続できない場合であっても、データの受信を継続することができる。   In the disclosed client device, in a communication network that transfers data between a plurality of client devices, even if the client device that has performed data transfer cannot continue the data transfer, the client device may continue to receive data. it can.

本実施の形態に係るクライアント装置を含むデータ配信システムの機能ブロック図である。It is a functional block diagram of a data distribution system including a client device according to the present embodiment. 本実施の形態に係るクライアント装置を含むデータ配信システムの構成図である。It is a block diagram of the data delivery system containing the client apparatus which concerns on this Embodiment. 本実施の形態に係るデータ構成の一例を示す図である。It is a figure which shows an example of the data structure which concerns on this Embodiment. 本実施の形態に係る閲覧者リストの一例を示す図である。It is a figure which shows an example of the viewer list | wrist which concerns on this Embodiment. 本実施の形態に係る接続先候補リストの一例を示す図である。It is a figure which shows an example of the connection destination candidate list | wrist which concerns on this Embodiment. 本実施の形態に係る接続中子リストの一例を示す図である。It is a figure which shows an example of the connection core list | wrist which concerns on this Embodiment. 本実施の形態に係る受信データバッファの一例の模式図である。It is a schematic diagram of an example of the reception data buffer which concerns on this Embodiment. 本実施の形態に係る受信データバッファ管理情報リストの一例を示す図である。It is a figure which shows an example of the reception data buffer management information list | wrist which concerns on this Embodiment. 本実施の形態に係るクライアント装置を含むデータ配信システムにおける配信処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the delivery process in the data delivery system containing the client apparatus which concerns on this Embodiment. 本実施の形態に係るクライアント装置を含むデータ配信システムにおける親クライアント切り替え処理(その1)の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the parent client switching process (the 1) in the data delivery system containing the client apparatus which concerns on this Embodiment. 本実施の形態に係るクライアント装置を含むデータ配信システムにおける親クライアント切り替え処理(その2)の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the parent client switching process (the 2) in the data delivery system containing the client apparatus which concerns on this Embodiment. 本実施の形態に係るクライアント装置を含むデータ配信システムにおけるセカンダリ接続先の変更処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the change process of the secondary connection destination in the data delivery system containing the client apparatus which concerns on this Embodiment. 本実施の形態に係るクライアント装置を含むデータ配信システムにおける子クライアント停止時処理の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of a process at the time of a child client stop in the data delivery system containing the client apparatus which concerns on this Embodiment.

図面を参照しながら、本発明を実施するための最良の形態について説明する。   The best mode for carrying out the present invention will be described with reference to the drawings.

(本実施の形態に係るクライアント装置の動作原理)
図1を用いて、本実施の形態に係るクライアント装置100の動作原理について説明する。図1は、クライアント装置100を含むデータ配信システム200の機能ブロック図である。図1で示すように、データ配信システム200は、クライアント装置100、データ配信装置170、一のクライアント装置180、他のクライアント装置190を有する。
(Operation Principle of Client Device According to this Embodiment)
The operation principle of the client device 100 according to the present embodiment will be described with reference to FIG. FIG. 1 is a functional block diagram of a data distribution system 200 including the client device 100. As shown in FIG. 1, the data distribution system 200 includes a client device 100, a data distribution device 170, one client device 180, and another client device 190.

データ配信システム200において、一のクライアント装置180はデータ配信装置170が配信するストリーミングデータ(以下、単にデータという。)を一旦受信し、受信したデータをクライアント装置100に転送する。また、他のクライアント装置190もデータ配信装置170が配信するデータを受信しており、クライアント装置100に転送することが可能である。   In the data distribution system 200, one client device 180 once receives streaming data (hereinafter simply referred to as data) distributed by the data distribution device 170, and transfers the received data to the client device 100. Other client devices 190 also receive data distributed by the data distribution device 170 and can transfer the data to the client device 100.

図1で示すようにクライアント装置100は、接続先候補保持手段110、イベント発生検知手段120、接続先選択手段130、データ転送要求手段140、接続先候補情報150、バッファ160を有する。   As shown in FIG. 1, the client apparatus 100 includes a connection destination candidate holding unit 110, an event occurrence detection unit 120, a connection destination selection unit 130, a data transfer request unit 140, connection destination candidate information 150, and a buffer 160.

接続先候補保持手段110は、接続先候補情報150を保持する。ここで、接続先候補情報150とは、データ配信システム200内のクライアント装置のうち、クライアント装置100が接続しているクライアント装置であって、データ配信装置170により配信されるデータの転送を依頼することが可能なクライアント装置のリスト情報である。接続先候補情報150では複数のクライアント装置をリスト化し、各クライアント装置には優先順位を付与する。データ配信システム200における配信開始時の処理としては、クライアント装置100がデータ配信装置170に対してデータの配信要求を行い、データ配信装置170から接続先候補情報150を取得する。続いて、接続先候補情報150内で優先順位の最も高い一のクライアント装置180にデータの転送を要求(接続)し、一のクライアント装置180からデータの転送を受ける。   The connection destination candidate holding unit 110 holds connection destination candidate information 150. Here, the connection destination candidate information 150 is a client device to which the client device 100 is connected among the client devices in the data distribution system 200, and requests transfer of data distributed by the data distribution device 170. This is list information of client devices that can be used. In the connection destination candidate information 150, a plurality of client devices are listed, and priority is given to each client device. As processing at the time of starting distribution in the data distribution system 200, the client apparatus 100 makes a data distribution request to the data distribution apparatus 170 and acquires the connection destination candidate information 150 from the data distribution apparatus 170. Subsequently, data transfer is requested (connected) to the one client device 180 having the highest priority in the connection destination candidate information 150, and data transfer is received from the one client device 180.

また、接続先候補情報150では、クライアント装置100とのネットワーク距離(例えば、伝搬遅延時間)が近いクライアント装置ほど高い優先順位を付与される。さらに、接続先候補情報150では、当該ネットワーク距離の条件に加え、接続先となるクライアント装置の処理能力、通信経路のトラフィックを考慮して、優先順位を付与しても良い。   Further, in the connection destination candidate information 150, a higher priority is given to a client device having a shorter network distance (for example, propagation delay time) from the client device 100. Further, in the connection destination candidate information 150, in addition to the network distance condition, priority may be given in consideration of the processing capability of the client device that is the connection destination and the traffic on the communication path.

また、接続先候補情報150は、クライアント装置間の接続状態、各クライアント装置の処理能力、及びデータ配信システム200内のトラフィック状況を保持する他の装置、例えば、データ配信装置170で生成され、クライアント装置100に通知される。こうすることによって、データ配信システム200内の各クライアント装置が接続先候補情報150を生成するための情報を個別に収集する必要がないため、データ配信システム200内のデータ通信量を低く抑えることができる。また、各クライアント装置に特別な機能を要求する必要がないため、データ配信システム200の構築が容易となる。   Further, the connection destination candidate information 150 is generated by another device that holds the connection state between the client devices, the processing capability of each client device, and the traffic status in the data distribution system 200, for example, the data distribution device 170, and the client The device 100 is notified. By doing so, it is not necessary for each client device in the data distribution system 200 to individually collect information for generating the connection destination candidate information 150, so that the amount of data communication in the data distribution system 200 can be kept low. it can. In addition, since it is not necessary to request a special function for each client device, the data distribution system 200 can be easily constructed.

バッファ160は、一のクライアント装置180から転送されるデータを受信した後、当該受信データを一時的に蓄積させるためのバッファであり、蓄積されたデータは、先入れ先出しの規則に従い、蓄積時から一定時間経過後消去される。   The buffer 160 is a buffer for temporarily storing the received data after receiving the data transferred from one client device 180. The stored data is stored for a certain time from the time of storage according to the first-in first-out rule. It is erased after elapse.

イベント発生検知手段120は、データ転送を受けている一のクライアント装置180から、所定のイベントが発生した旨の通知を取得する。ここで、所定のイベントには、視聴停止等何らかの理由により、一のクライアント装置180がクライアント装置100に対するデータ転送を停止することが含まれる。そして、イベント発生検知手段120は、上記通知を取得した場合に、一のクライアント装置180で所定のイベントが発生したことを検知する。   The event occurrence detection unit 120 acquires a notification that a predetermined event has occurred from one client device 180 that is receiving data transfer. Here, the predetermined event includes that one client device 180 stops data transfer to the client device 100 for some reason such as viewing stoppage. The event occurrence detection unit 120 detects that a predetermined event has occurred in one client device 180 when the notification is acquired.

また、イベント発生検知手段120は、バッファ160に蓄積されるデータ量を監視し、当該蓄積されるデータ量が所定の閾値を下回った場合に、一のクライアント装置180又は通信経路上で所定のイベントが発生したことを検知する。このように、イベント発生検知手段120は、バッファ160に蓄積されるデータ量を監視することにより、一のクライアント装置180から正常にデータが転送されているか否かを確認することができる。そのため、イベント発生検知手段120は、バッファ160に蓄積されるデータ量が所定の閾値を下回った場合、一のクライアント装置180から正常にデータが転送されていないと判断する。   The event occurrence detection unit 120 monitors the amount of data stored in the buffer 160, and when the amount of stored data falls below a predetermined threshold, a predetermined event on one client device 180 or a communication path. Detects that has occurred. In this manner, the event occurrence detection unit 120 can check whether data is normally transferred from one client device 180 by monitoring the amount of data stored in the buffer 160. Therefore, the event occurrence detection unit 120 determines that data is not normally transferred from one client device 180 when the amount of data stored in the buffer 160 falls below a predetermined threshold.

また、イベント発生検知手段120は、バッファ160の使用率(=「バッファ160の蓄積データ量」/「バッファ160の記憶容量」)が所定の閾値を下回った場合に、一のクライアント装置180又は通信経路上で所定のイベントが発生したことを検知する形態としても良い。この場合も、接続先選択手段130は、バッファ160の使用率を監視することにより、一のクライアント装置180から正常にデータが転送されているか否かを確認することができる。   In addition, the event occurrence detection unit 120 determines whether the usage rate of the buffer 160 (= “the amount of data stored in the buffer 160” / “the storage capacity of the buffer 160”) is less than a predetermined threshold value. It may be configured to detect that a predetermined event has occurred on the route. Also in this case, the connection destination selection unit 130 can confirm whether data is normally transferred from one client device 180 by monitoring the usage rate of the buffer 160.

接続先選択手段130は、一のクライアント装置180に関する所定のイベントの発生が検知された場合、接続先候補情報150の中から、一のクライアント装置180に代わってデータの転送を依頼する他のクライアント装置190を1つ選択する。また、接続先選択手段130は、接続先候補情報150の中から、一のクライアント装置180に次ぐ優先順位を付与されている他のクライアント装置190を選択する。   When the occurrence of a predetermined event related to one client device 180 is detected, the connection destination selecting unit 130 requests other clients from the connection destination candidate information 150 to transfer data on behalf of the one client device 180. One device 190 is selected. In addition, the connection destination selection unit 130 selects, from the connection destination candidate information 150, another client device 190 that is given the next priority after the one client device 180.

データ転送要求手段140は、他のクライアント装置190に対し、クライアント装置100にデータの転送を行うよう依頼(要求)する。そして、他のクライアント装置190は、クライアント装置100からの依頼に応じ、クライアント装置100に対するデータの転送を開始する。   The data transfer request unit 140 requests (requests) another client device 190 to transfer data to the client device 100. Then, the other client device 190 starts data transfer to the client device 100 in response to a request from the client device 100.

ここで、装置間で転送するストリーミングデータは、動画像データ又は音声データであり、個々の画像データ又は音声データには各データを識別する識別情報が含まれている。当該識別情報は、時刻情報でも良く、一連の動画像データ又は音声データ内でデータの順序性を示すシーケンス番号でも良い。データ転送要求手段140の別形態では、特定の識別情報を含む画像データ又は音声データ以降のデータをクライアント装置100に転送するよう依頼(要求)する。こうすることにより、データ転送先の切り替え前後で、受信するデータが不連続とならないようにすることができる。   Here, the streaming data transferred between the devices is moving image data or audio data, and each image data or audio data includes identification information for identifying each data. The identification information may be time information or a sequence number indicating the order of data in a series of moving image data or audio data. In another form of the data transfer request unit 140, a request (request) is made to transfer image data or audio data including specific identification information to the client device 100. By doing so, it is possible to prevent the received data from becoming discontinuous before and after the data transfer destination is switched.

上記のような動作原理に基づき、開示のクライアント装置100では、複数のクライアント装置間でデータの転送を行う通信ネットワークにおいて、データ転送を行っていたクライアント装置が当該データ転送を継続できない場合であっても、データの受信を継続することができる。   In the disclosed client device 100 based on the above operation principle, in a communication network that transfers data between a plurality of client devices, the client device that has been transferring data cannot continue the data transfer. Can continue to receive data.

ここで、クライアント装置100はCPU(Central Processing Unit)、ROM(Read-Only Memory)、HDD(Hard Disc Drive)等を備える。そして、クライアント装置100が有する各手段は、CPUがROM又はHDDに記憶された各手段に対応するプログラムを実行することにより実現される。また、クライアント装置100が有する各手段は、当該各手段に関する処理をハードウェアとして実現しても良い。   Here, the client device 100 includes a CPU (Central Processing Unit), a ROM (Read-Only Memory), an HDD (Hard Disc Drive), and the like. Each unit included in the client device 100 is realized by the CPU executing a program corresponding to each unit stored in the ROM or the HDD. In addition, each unit included in the client device 100 may realize processing related to each unit as hardware.

(本実施の形態に係るクライアント装置を含むデータ配信システムによる処理例)
図2乃至図13を用いて、クライアント装置100を含むデータ配信システム200による処理例を説明する。図2で示すように、データ配信システム200は、ストリーミング配信サーバ170、クライアントA180、クライアントB100、クライアントC190、クライアントD、クライアントMを有する。
(Processing example by data distribution system including client device according to the present embodiment)
A processing example by the data distribution system 200 including the client device 100 will be described with reference to FIGS. As shown in FIG. 2, the data distribution system 200 includes a streaming distribution server 170, a client A 180, a client B 100, a client C 190, a client D, and a client M.

ここで、ストリーミング配信サーバ170は、アクセスポイント1、10を介してクライアントA180、クライアントC190に、アクセスポイント1、11を介してクライアントMにそれぞれ接続し、各クライアントに対しストリーミングデータ(以下、単にデータという。)を配信する。そして、クライアントA180は、クライアントB100に対しデータを転送し、クライアントB100は、クライアントDに対しデータを転送する。   Here, the streaming distribution server 170 is connected to the client A 180 and the client C 190 via the access points 1 and 10 and to the client M via the access points 1 and 11, respectively, and streaming data (hereinafter simply referred to as data) is connected to each client. Will be distributed. Client A 180 transfers data to client B 100, and client B 100 transfers data to client D.

また、図3で示すように、ストリーミング配信サーバ170は、閲覧者リスト210を有し、各クライアントは、接続先候補リスト150、接続中子リスト220、受信データバッファ160、受信データバッファ管理情報リスト230を有する。   As shown in FIG. 3, the streaming distribution server 170 has a viewer list 210, and each client has a connection destination candidate list 150, a connection core list 220, a reception data buffer 160, a reception data buffer management information list. 230.

図4に閲覧者リスト210の一例を示す。閲覧者リスト210は、データ配信クライアントのネットワーク上のID(IPアドレス等)である「閲覧クライアント」、「閲覧クライアント」からストリーミング配信サーバ170までの接続経路である「ルート情報」を保持する。さらに、閲覧者リスト210では、「閲覧クライアント」毎に、その他の「閲覧クライアント」の中から所定の基準で決定される「接続先候補」を設定する。「接続候補先」は、接続済みである接続先を示す「プライマリ接続先」と、「プライマリ接続先」がストリーミング配信サーバ170との接続を停止する場合等、接続の切り替え先候補を示す「セカンダリ接続先」とで構成される。   FIG. 4 shows an example of the viewer list 210. The viewer list 210 holds “viewing client” that is an ID (IP address or the like) on the network of the data distribution client, and “route information” that is a connection path from the “browsing client” to the streaming distribution server 170. Further, in the viewer list 210, for each “browsing client”, a “connection destination candidate” determined based on a predetermined standard from other “browsing clients” is set. The “connection candidate destination” includes a “primary connection destination” that indicates a connection destination that has already been connected, and a “secondary connection destination” that indicates a connection switching destination candidate such as when the “primary connection destination” stops the connection with the streaming delivery server 170. Connected to ".

図5に接続先候補リスト150の一例を示す。図5では、クライアントB100が有する接続先候補リスト150の例を示し、クライアントA180からデータの転送を受けており、接続の切り替え先候補はクライアントC190で有ることを示している。また、接続先候補リスト150は、接続先候補保持手段110によって保持される。   FIG. 5 shows an example of the connection destination candidate list 150. FIG. 5 shows an example of the connection destination candidate list 150 that the client B 100 has, which has received data transfer from the client A 180 and indicates that the connection switching destination candidate is the client C 190. The connection destination candidate list 150 is held by the connection destination candidate holding unit 110.

図6に接続中子リスト220の一例を示す。図6では、クライアントA180が有する接続中子リスト220の例を示し、クライアントA180はクライアントB100に対しデータの転送を行っていることを示している。   FIG. 6 shows an example of the connected core list 220. FIG. 6 shows an example of the connection core list 220 that the client A 180 has, and shows that the client A 180 is transferring data to the client B 100.

図7に受信データバッファ160の一例を示す。図7では、識別情報として時刻「00:01:50」を含む受信データを先頭に配置し、時刻「00:02:20」を含む受信データを最後尾に配置して、データを一時蓄積していることを示す。また、図7では、受信データバッファ160の記憶領域には空きがあることを示している。   FIG. 7 shows an example of the reception data buffer 160. In FIG. 7, received data including time “00:01:50” as the identification information is arranged at the beginning, and received data including time “00:02:20” is arranged at the end, and the data is temporarily stored. Indicates that Further, FIG. 7 shows that the storage area of the reception data buffer 160 has a free space.

図8に受信データバッファ管理情報リスト230の一例を示す。図8では、受信データバッファ160から抽出した先頭データの識別情報「00:01:50」、最後尾データの識別情報「00:02:20」、及び先頭データと最後尾データとの時刻差に適用する閾値を含む。当該閾値は、データ転送元である親クライアントとの接続異常を検知するために使用する。   FIG. 8 shows an example of the received data buffer management information list 230. In FIG. 8, the identification information “00:01:50” of the leading data extracted from the reception data buffer 160, the identification information “00:02:20” of the trailing data, and the time difference between the leading data and the trailing data. Contains the threshold to apply. The threshold value is used to detect an abnormal connection with the parent client that is the data transfer source.

(1)データ配信システム200における配信処理
図9で示すシーケンス図を用いて、データ配信システム200におけるストリーミングデータ配信処理について説明する。ここでは、クライアントA180がストリーミング配信サーバ170からストリーミングを視聴している状態で、クライアントB100が新たにデータの配信要求を行う場合の処理の流れを説明する。
(1) Distribution Processing in Data Distribution System 200 Streaming data distribution processing in the data distribution system 200 will be described using the sequence diagram shown in FIG. Here, a flow of processing when the client B 100 newly requests data distribution while the client A 180 is viewing streaming from the streaming distribution server 170 will be described.

S10でストリーミング配信サーバ170が、クライアントA180に対しデータの配信を行っている。S20でクライアントB100が、ストリーミング配信サーバ170に対しデータの配信開始を要求する。S30でストリーミング配信サーバ170が、クライアントB100の要求を受け付け、当該要求に応じて下記の処理を行う。   In S10, the streaming distribution server 170 distributes data to the client A180. In S20, the client B100 requests the streaming distribution server 170 to start data distribution. In S30, the streaming delivery server 170 accepts the request from the client B100 and performs the following processing in response to the request.

S30でストリーミング配信サーバ170は、クライアントB100・ストリーミング配信サーバ170間の経路情報を収集する。そして、ストリーミング配信サーバ170は、図4で示すように閲覧者リスト210の「閲覧クライアント」としてクライアントB100を登録すると共に、収集した経路情報を「ルート情報」に登録する。次に、ストリーミング配信サーバ170は、閲覧者リスト210の「閲覧クライアント」に登録されているクライアントの中から、クライアントB100にデータ転送可能なクライアントを2つ選択し、「接続先候補」に登録する。図4で示すように、ストリーミング配信サーバ170は、クライアントB100にデータ転送可能なクライアントとしてクライアントA180及びクライアントC190を選択する。その後、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントA180を登録し、「セカンダリ接続先」としてクライアントC190を登録する。   In S30, the streaming distribution server 170 collects route information between the client B100 and the streaming distribution server 170. Then, the streaming delivery server 170 registers the client B 100 as “browsing client” in the viewer list 210 as shown in FIG. 4, and registers the collected route information in “route information”. Next, the streaming delivery server 170 selects two clients that can transfer data to the client B 100 from among the clients registered in the “viewing client” in the viewer list 210 and registers them in the “connection destination candidate”. . As shown in FIG. 4, the streaming distribution server 170 selects the client A 180 and the client C 190 as clients that can transfer data to the client B 100. Thereafter, the streaming distribution server 170 registers the client A 180 as the “primary connection destination” and the client C 190 as the “secondary connection destination”.

S40でストリーミング配信サーバ170が、クライアントB100に対し、閲覧者リスト210の「プライマリ接続先」及び「セカンダリ接続先」に登録された2つのクライアントを通知する。つまり、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントA180を通知し、「セカンダリ接続先」としてクライアントC190を通知する。   In S <b> 40, the streaming delivery server 170 notifies the client B 100 of the two clients registered in the “primary connection destination” and the “secondary connection destination” in the viewer list 210. That is, the streaming delivery server 170 notifies the client A 180 as “primary connection destination” and notifies the client C 190 as “secondary connection destination”.

S50でクライアントB100が、ストリーミング配信サーバ170の通知を受信し、受信した通知内容に基づき接続先候補リスト150を生成する。つまり、クライアントB100は、「プライマリ接続先」をクライアントA180とし、「セカンダリ接続先」をクライアントC190とする通知を受信し、図5で示すように受信内容に基づく接続先候補リスト150を生成、保持する。   In S50, the client B100 receives the notification from the streaming distribution server 170, and generates the connection destination candidate list 150 based on the received notification content. That is, the client B 100 receives the notification that the “primary connection destination” is the client A 180 and the “secondary connection destination” is the client C 190, and generates and holds the connection destination candidate list 150 based on the received content as shown in FIG. To do.

S60でクライアントB100が、接続先候補リスト150において「プライマリ接続先」に設定されるクライアントA180に対し、データ転送(配信)の開始要求を行う。S70でクライアントA180が、クライアントB100の要求を受信すると共に、データ転送先としてクライアントB100を登録する。つまり、クライアントA180は、図6で示すように、自身がデータ転送を行う子クライアントとしてクライアントB100を登録する。S80でクライアントA180が、図6で示す接続中子リスト220に登録されたクライアントB100に対し、データ転送を開始する。   In S <b> 60, the client B <b> 100 issues a data transfer (distribution) start request to the client A <b> 180 set as “primary connection destination” in the connection destination candidate list 150. In S70, the client A 180 receives the request from the client B 100 and registers the client B 100 as a data transfer destination. That is, as shown in FIG. 6, the client A 180 registers the client B 100 as a child client that performs data transfer. In S80, the client A 180 starts data transfer to the client B 100 registered in the connected core list 220 shown in FIG.

一方、S90でストリーミング配信サーバ170がデータの配信を終了する場合、S100でストリーミング配信サーバ170が、クライアントA180に対し「データ配信を終了する旨」を表す情報を含むデータを配信する。そして、S110でクライアントA180が、クライアントB100に対し、ストリーミング配信サーバ170から受信した「データ配信を終了する旨」を表す情報を含むデータを転送する。   On the other hand, when the streaming distribution server 170 ends the distribution of data in S90, the streaming distribution server 170 distributes data including information indicating “to end the data distribution” to the client A 180 in S100. In step S <b> 110, the client A 180 transfers data including information indicating “data distribution is terminated” received from the streaming distribution server 170 to the client B 100.

上記のような処理によって、データ配信システム200では、所謂P2Pを利用したストリーミングデータの配信を行うことができる。   Through the processing as described above, the data distribution system 200 can distribute streaming data using so-called P2P.

(2)データ配信システム200における親クライアント切り替え処理(その1)
図10で示すシーケンス図を用いて、データ配信システム200において親クライアントを切り替える処理について説明する。ここでは、上記(1)で説明したようにクライアントB100がクライアントA180からデータの転送を受けている状態において、クライアントB100のデータ転送元をクライアントC190に切り替える処理の流れを説明する。
(2) Parent client switching process in data distribution system 200 (part 1)
Processing for switching the parent client in the data distribution system 200 will be described using the sequence diagram shown in FIG. Here, the flow of processing for switching the data transfer source of the client B 100 to the client C 190 in a state where the client B 100 is receiving data transfer from the client A 180 as described in (1) above will be described.

S120−S140では、ストリーミング配信サーバ170がクライアントA180及びクライアントC190にデータ配信を行い、クライアントA180がクライアントB100にデータ転送を行っている。S150、S160でクライアントA180が、図6で示す接続中子リスト220を参照し、接続中子リスト220に登録されているクライアントB100及びストリーミング配信サーバ170に対しデータの視聴停止を通知する。   In S120 to S140, the streaming distribution server 170 distributes data to the client A 180 and the client C 190, and the client A 180 transfers data to the client B 100. In S150 and S160, the client A 180 refers to the connected core list 220 shown in FIG. 6 and notifies the client B 100 and the streaming distribution server 170 registered in the connected core list 220 of the stop of data viewing.

S170でクライアントB100が、クライアントA180の視聴停止通知を受信した後、図5で示す接続先候補リスト150において「セカンダリ接続先」に設定したクライアントC190に対しデータ転送の開始要求を行う。S170における処理は、イベント発生検知手段120、接続先選択手段130、及びデータ転送要求手段140による処理に該当する。   After the client B 100 receives the viewing stop notification of the client A 180 in S170, the client B 100 makes a data transfer start request to the client C 190 set as “secondary connection destination” in the connection destination candidate list 150 shown in FIG. The processing in S170 corresponds to processing by the event occurrence detection unit 120, the connection destination selection unit 130, and the data transfer request unit 140.

さらに、クライアントB100は、クライアントC190に対し、図7で示す受信データバッファ160内の最後尾にあるデータの時刻情報を通知し、通知した時刻情報以降の時刻情報を含むデータを転送するよう要求する。つまり、クライアントB100は、受信データバッファ160内の最後尾にあるデータの時刻情報「00:02:20」を通知し、時刻情報「00:02:21」の識別情報を含むデータ以降のデータを転送するよう要求する。この処理は、データ転送要求手段140による処理に該当する。   Further, the client B 100 notifies the client C 190 of the time information of the data at the tail end in the reception data buffer 160 shown in FIG. 7, and requests to transfer the data including the time information after the notified time information. . That is, the client B 100 notifies the time information “00:02:20” of the data at the tail in the reception data buffer 160, and the data after the data including the identification information of the time information “00:02:21”. Request to transfer. This processing corresponds to the processing by the data transfer request unit 140.

S190でクライアントC190が、クライアントB100の要求を受信すると共に、データ転送先としてクライアントB100を登録する。つまり、クライアントC190は、図6で示すように、自身がデータ転送を行う子クライアントとしてクライアントB100を登録する。   In step S190, the client C190 receives the request from the client B100 and registers the client B100 as a data transfer destination. That is, as shown in FIG. 6, the client C190 registers the client B100 as a child client that performs data transfer by itself.

S200でクライアントC190が、図6で示す接続中リスト220に登録されたクライアントB100に対し、時刻情報「00:02:21」以降の識別情報を含むデータの転送を開始する。こうすることにより、データ転送元の変更を行う場合でも、クライアントB100は連続性のあるデータを途切れ無く受信することができる。   In S200, the client C190 starts transferring data including identification information after the time information “00:02:21” to the client B100 registered in the connected list 220 shown in FIG. By doing this, even when changing the data transfer source, the client B 100 can receive continuous data without interruption.

一方、S210でストリーミング配信サーバ170が、クライアントA180の視聴停止通知を受信した後、図4で示す閲覧者リスト210のうち視聴停止通知を行ったクライアントA180を「接続先候補」とする内容を更新する。具体的には、ストリーミング配信サーバ170は、閲覧者リスト210のクライアントB100に係る「プライマリ接続先」を従来「セカンダリ接続先」であったクライアントC190に設定し、「セカンダリ接続先」をクライアントA180以外のクライアントの中から適宜設定する。   On the other hand, after the streaming distribution server 170 receives the viewing stop notification of the client A 180 in S210, the content that sets the client A 180 that has made the viewing stop notification in the viewer list 210 shown in FIG. To do. Specifically, the streaming delivery server 170 sets the “primary connection destination” related to the client B 100 in the viewer list 210 to the client C 190 that has been the “secondary connection destination”, and sets the “secondary connection destination” other than the client A 180. Set as appropriate from among clients.

S220でストリーミング配信サーバ170が、クライアントB100に対し、閲覧者リスト210の「プライマリ接続先」及び「セカンダリ接続先」に登録された2つのクライアントを通知する。つまり、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントC190を通知し、「セカンダリ接続先」として新たに設定したクライアントを通知する。S230でクライアントB100が、ストリーミング配信サーバ170の通知を受信し、受信した通知内容に基づき接続先候補リスト150を更新する。S230における処理は、接続先候補保持手段110による処理に該当する。   In S220, the streaming delivery server 170 notifies the client B100 of the two clients registered in the “primary connection destination” and the “secondary connection destination” in the viewer list 210. That is, the streaming distribution server 170 notifies the client C 190 as “primary connection destination” and notifies the newly set client as “secondary connection destination”. In S230, the client B100 receives the notification from the streaming distribution server 170, and updates the connection destination candidate list 150 based on the received notification content. The process in S230 corresponds to the process by the connection destination candidate holding unit 110.

(3)データ配信システム200における親クライアント切り替え処理(その2)
図11で示すシーケンス図を用いて、データ配信システム200において親クライアントを切り替える処理について説明する。ここでは、上記(1)で説明したようにクライアントB100がクライアントA180からデータの転送を受けている状態において、クライアントB100のデータ転送元をクライアントC190に切り替える処理の流れを説明する。
(3) Parent client switching process in data distribution system 200 (part 2)
Processing for switching parent clients in the data distribution system 200 will be described using the sequence diagram shown in FIG. Here, the flow of processing for switching the data transfer source of the client B 100 to the client C 190 in a state where the client B 100 is receiving data transfer from the client A 180 as described in (1) above will be described.

S240−S260では、ストリーミング配信サーバ170がクライアントA180及びクライアントC190にデータ配信を行い、クライアントA180がクライアントB100にデータ転送を行っている。   In S240 to S260, the streaming distribution server 170 distributes data to the client A 180 and the client C 190, and the client A 180 transfers data to the client B 100.

S270でクライアントB100が、図7で示す受信データバッファ160に蓄積されるデータ量の監視を行う中で、蓄積されるデータ量の不足を検知する。具体的には、クライアントB100は、図8で示す受信データバッファ管理情報リスト230を参照し、蓄積データの「先頭時刻」と「最後尾時刻」との差を算出し、算出した差と検出閾値とを比較する。そして、クライアントB100は、算出した差が検出閾値より小さい場合、蓄積されるデータ量の不足、つまり、データ転送元との接続に不具合があることを検知する。こうすることにより、子クライアントは親クライアントからの受信データ不足を検知したことを切っ掛けにして、自律的に親クライアントの切り替えを行うことで、子クライアントはデータの受信を継続することができる。   In step S270, the client B 100 detects a shortage of the accumulated data amount while monitoring the amount of data accumulated in the reception data buffer 160 shown in FIG. Specifically, the client B 100 refers to the received data buffer management information list 230 shown in FIG. 8, calculates the difference between the “first time” and “last time” of the stored data, and calculates the calculated difference and the detection threshold value. And compare. When the calculated difference is smaller than the detection threshold, the client B 100 detects that the amount of accumulated data is insufficient, that is, that there is a problem in connection with the data transfer source. By doing so, the child client can continue to receive data by autonomously switching the parent client, triggered by detecting the lack of received data from the parent client.

S280、S290でクライアントB100が、データ転送元であるクライアントA180との接続の不具合を検知した後、図5で示す接続先候補リスト150において「セカンダリ接続先」に設定したクライアントC190に対しデータ転送の開始要求を行う。S280、290における処理は、イベント発生検知手段120、接続先選択手段130、及びデータ転送要求手段140による処理に該当する。   After the client B 100 detects a connection failure with the data transfer source client A 180 in S 280 and S 290, the client B 100 performs data transfer to the client C 190 set as “secondary connection destination” in the connection destination candidate list 150 shown in FIG. Make a start request. The processing in S280 and 290 corresponds to processing by the event occurrence detection unit 120, the connection destination selection unit 130, and the data transfer request unit 140.

さらに、クライアントB100は、クライアントC190に対し、図7で示す受信データバッファ160内の最後尾にあるデータの時刻情報を通知し、通知した時刻情報以降の時刻情報を含むデータを転送するよう要求する。つまり、クライアントB100は、受信データバッファ160内の最後尾にあるデータの時刻情報「00:02:20」を通知し、時刻情報「00:02:21」以降の識別情報を含むデータを転送するよう要求する。この処理は、データ転送要求手段140による処理に該当する。   Further, the client B 100 notifies the client C 190 of the time information of the data at the tail end in the reception data buffer 160 shown in FIG. 7, and requests to transfer the data including the time information after the notified time information. . That is, the client B 100 notifies the time information “00:02:20” of the last data in the reception data buffer 160 and transfers the data including the identification information after the time information “00:02:21”. Request that. This processing corresponds to the processing by the data transfer request unit 140.

S300でクライアントC190が、クライアントB100の要求を受信すると共に、データ転送先としてクライアントB100を登録する。つまり、クライアントC190は、図6で示すように、自身がデータ転送を行う子クライアントとしてクライアントB100を登録する。   In step S300, the client C190 receives the request from the client B100 and registers the client B100 as a data transfer destination. That is, as shown in FIG. 6, the client C190 registers the client B100 as a child client that performs data transfer by itself.

S310でクライアントC190が、図6で示す接続中子リスト220に登録されたクライアントB100に対し、時刻情報「00:02:21」以降の識別情報を含むデータの転送を開始する。こうすることにより、データ転送元の変更を行う場合でも、クライアントB100は連続性のあるデータを途切れ無く受信することができる。   In S310, the client C190 starts transferring data including identification information after the time information “00:02:21” to the client B100 registered in the connected core list 220 shown in FIG. By doing this, even when changing the data transfer source, the client B 100 can receive continuous data without interruption.

S320でクライアントB100が、ストリーミング配信サーバ170に対し、図4で示す閲覧者リスト210の「接続先候補」を変更するよう要求する。S330でストリーミング配信サーバ170が、クライアントB100の変更要求を受信した後、クライアントA180に対し、子クライアントであるクライアントB100へのデータ転送の停止要求を通知する。S340でクライアントA180が、ストリーミング配信サーバ170の停止要求を受信した後、図6で示す接続中子リスト220からクライアントB100を削除する。   In S320, the client B100 requests the streaming distribution server 170 to change the “connection destination candidate” in the viewer list 210 shown in FIG. In S330, after the streaming distribution server 170 receives the change request for the client B100, the streaming delivery server 170 notifies the client A180 of a request to stop data transfer to the client B100 that is the child client. In step S340, after the client A 180 receives the stop request from the streaming delivery server 170, the client A 180 deletes the client B 100 from the connected core list 220 shown in FIG.

一方、S350でストリーミング配信サーバ170が、図4で示す閲覧者リスト210のうちクライアントA180を「接続先候補」とする内容を更新する。具体的には、ストリーミング配信サーバ170は、閲覧者リストのクライアントB100に係る「プライマリ接続先」を従来「セカンダリ接続先」であったクライアントC190に設定し、「セカンダリ接続先」をクライアントA180以外のクライアントの中から適宜設定する。   On the other hand, in S350, the streaming distribution server 170 updates the content that sets the client A 180 as the “connection destination candidate” in the viewer list 210 shown in FIG. Specifically, the streaming distribution server 170 sets the “primary connection destination” related to the client B 100 in the viewer list to the client C 190 that has been the “secondary connection destination”, and sets the “secondary connection destination” other than the client A 180. Set as appropriate from within the client.

S360でストリーミング配信サーバ170が、クライアントB100に対し、閲覧者リスト210の「プライマリ接続先」及び「セカンダリ接続先」に登録された2つのクライアントを通知する。つまり、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントC190を通知し、「セカンダリ接続先」として新たに設定したクライアントを通知する。S370でクライアントB100が、ストリーミング配信サーバ170の通知を受信し、受信した通知内容に基づき接続先候補リスト150を更新する。S370における処理は、接続先候補保持手段110による処理に該当する。   In S360, the streaming delivery server 170 notifies the client B100 of the two clients registered in the “primary connection destination” and the “secondary connection destination” in the viewer list 210. That is, the streaming distribution server 170 notifies the client C 190 as “primary connection destination” and notifies the newly set client as “secondary connection destination”. In S370, the client B100 receives the notification from the streaming distribution server 170, and updates the connection destination candidate list 150 based on the received notification content. The process in S370 corresponds to the process by the connection destination candidate holding unit 110.

(4)データ配信システム200におけるセカンダリ接続先の変更処理
図12で示すシーケンス図を用いて、データ配信システム200においてセカンダリ接続先を変更する処理について説明する。ここでは、上記(1)で説明したようにクライアントB100がクライアントA180からデータの転送を受けている状態において、クライアントB100の「セカンダリ接続先」であるクライアントC190を変更する処理の流れを説明する。
(4) Secondary Connection Destination Change Processing in Data Distribution System 200 Processing for changing the secondary connection destination in the data distribution system 200 will be described using the sequence diagram shown in FIG. Here, as described in (1) above, the flow of processing for changing the client C 190 that is the “secondary connection destination” of the client B 100 in a state where the client B 100 is receiving data transfer from the client A 180 will be described.

S380−S400では、ストリーミング配信サーバ170がクライアントA180及びクライアントC190にデータ配信を行い、クライアントA180がクライアントB100にデータ転送を行っている。   In S380 to S400, the streaming distribution server 170 distributes data to the client A 180 and the client C 190, and the client A 180 transfers data to the client B 100.

S410でクライアントC190が、ストリーミング配信サーバ170に対し、ストリーミングの視聴停止を通知する。S420でストリーミング配信サーバ170が、クライアントC190の視聴停止通知を受信した後、図4で示す閲覧者リスト210のうち視聴停止通知を行ったクライアントC190を「接続先候補」とする内容を更新する。具体的には、ストリーミング配信サーバ170は、閲覧者リスト210のクライアントB100に係る「セカンダリ接続先」をクライアントC190以外のクライアントの中から適宜設定する。   In S410, the client C190 notifies the streaming distribution server 170 that streaming viewing is stopped. In step S420, after the streaming distribution server 170 receives the viewing stop notification of the client C190, the streaming server 170 updates the content of the client list 190 shown in FIG. Specifically, the streaming distribution server 170 appropriately sets the “secondary connection destination” related to the client B 100 in the viewer list 210 from the clients other than the client C 190.

S430でストリーミング配信サーバ170が、クライアントB100に対し、閲覧者リスト210の「プライマリ接続先」及び「セカンダリ接続先」に登録された2つのクライアントを通知する。つまり、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントA180を通知し、「セカンダリ接続先」として新たに設定したクライアントを通知する。S440でクライアントB100が、ストリーミング配信サーバ170の通知を受信し、受信した通知内容に基づき接続先候補リスト150を更新する。S440における処理は、接続先候補保持手段110による処理に該当する。   In S430, the streaming delivery server 170 notifies the client B100 of the two clients registered in the “primary connection destination” and the “secondary connection destination” in the viewer list 210. That is, the streaming delivery server 170 notifies the client A 180 as “primary connection destination” and notifies the newly set client as “secondary connection destination”. In S440, the client B100 receives the notification of the streaming distribution server 170, and updates the connection destination candidate list 150 based on the received notification content. The process in S440 corresponds to the process performed by the connection destination candidate holding unit 110.

(5)データ配信システム200における子クライアント停止時処理
図13で示すシーケンス図を用いて、データ配信システム200において子クライアントが視聴停止する場合の処理について説明する。ここでは、上記(1)で説明したようにクライアントB100がクライアントA180からデータ転送を受け、さらにクライアントB100がクライアントDにデータ転送を行っている状態において、クライアントB100が視聴停止する場合の処理の流れを説明する。
(5) Child Client Stop Processing in Data Distribution System 200 Processing when the child client stops viewing in the data distribution system 200 will be described using the sequence diagram shown in FIG. Here, as described in (1) above, the flow of processing when the client B 100 stops viewing while the client B 100 receives data transfer from the client A 180 and the client B 100 is transferring data to the client D. Will be explained.

S450−S470では、ストリーミング配信サーバ170がクライアントA180にデータ配信を行い、クライアントA180がクライアントB100にデータ転送を行い、クライアントB100がクライアントDにデータ転送を行っている。S480−500でクライアントB100が、図6で示すような接続中子リスト220を参照しクライアントDに視聴停止を通知し、親クライアントであるクライアントA180に視聴停止を通知する。   In S450 to S470, the streaming distribution server 170 distributes data to the client A 180, the client A 180 transfers data to the client B 100, and the client B 100 transfers data to the client D. In S480-500, the client B100 refers to the connected core list 220 as shown in FIG. 6 to notify the client D of the viewing stop, and notifies the parent client A180 of the viewing stop.

S510でクライアントA180が、クライアントB100の視聴停止通知を受信した後、図6で示す接続中子リスト220からクライアントB100を削除し、クライアントB100へのデータ転送を停止する。S520でクライアントB100が、ストリーミング配信サーバ170に対し視聴停止を通知する。   In step S510, the client A 180 receives the client B 100 viewing stop notification, deletes the client B 100 from the connected core list 220 shown in FIG. 6, and stops data transfer to the client B 100. In S520, the client B100 notifies the streaming distribution server 170 that viewing is stopped.

S530でストリーミング配信サーバ170が、クライアントB100の視聴停止通知を受信した後、図4で示す閲覧者リストのうち視聴停止通知を行ったクライアントB100を「接続先候補」とする内容を更新する。具体的には、ストリーミング配信サーバ170は、閲覧者リスト210のクライアントD100に係る「プライマリ接続先」を従来「セカンダリ接続先」であったクライアントE(図2では図示せず)に設定し、「セカンダリ接続先」をクライアントB100以外のクライアントの中から適宜設定する。   In step S530, after the streaming distribution server 170 receives the viewing stop notification of the client B100, the streaming distribution server 170 updates the content that sets the client B100 that has made the viewing stop notification in the viewer list shown in FIG. Specifically, the streaming distribution server 170 sets the “primary connection destination” related to the client D100 in the viewer list 210 to the client E (not shown in FIG. 2) that has been the “secondary connection destination” in the past. The “secondary connection destination” is appropriately set from the clients other than the client B100.

S540でストリーミング配信サーバ170が、クライアントDに対し、閲覧者リスト210の「プライマリ接続先」及び「セカンダリ接続先」に登録された2つのクライアントを通知する。つまり、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントEを通知し、「セカンダリ接続先」として新たに設定したクライアントを通知する。S550でクライアントDが、ストリーミング配信サーバ170の通知を受信し、受信した通知内容に基づき接続先候補リスト150を更新する。なお、S560において、クライアントDは、上記(2)で説明した親クライアント切り替え処理(その1)を実施することにより、データの受信を継続することができる。   In S540, the streaming distribution server 170 notifies the client D of the two clients registered in the “primary connection destination” and the “secondary connection destination” in the viewer list 210. That is, the streaming distribution server 170 notifies the client E as the “primary connection destination” and notifies the newly set client as the “secondary connection destination”. In S550, the client D receives the notification of the streaming distribution server 170, and updates the connection destination candidate list 150 based on the received notification content. In S560, the client D can continue to receive data by performing the parent client switching process (part 1) described in (2) above.

(総括)
開示のクライアント装置では、複数のクライアント装置間でデータの転送を行う通信ネットワークにおいて、データ転送を行っていたクライアント装置が当該データ転送を継続できない場合であっても、データの受信を継続することができる。
(Summary)
In the disclosed client device, in a communication network that transfers data between a plurality of client devices, even if the client device that has performed data transfer cannot continue the data transfer, the client device may continue to receive data. it can.

また、上記では配信対象ストリーム(データ)が1つ場合で説明したが、配信対象ストリーム毎に上記の処理を行なうように構成することにより、多チャンネルのストリームに適用することも可能である。
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
(付記1)
データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置であって、
当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持する接続候補保持手段と、
前記一のクライアント装置に関する所定のイベントの発生を検知するイベント発生検知手段と、
前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択する接続先選択手段と、
前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するデータ転送要求手段と、を有することを特徴とするクライアント装置。
(付記2)
前記データは順序性を有する複数のデータであり、前記各データは該順序性を示す識別情報を含む場合、
前記データ転送要求手段は、一の前記識別情報に対応するデータ以降の前記複数のデータを、当該クライアント装置に転送するよう要求することを特徴とする付記1に記載のクライアント装置。
(付記3)
受信した前記データを一時的に蓄積するバッファを有し、
前記イベント発生検知手段は、前記バッファに蓄積された前記データの量が所定の閾値より少なくなった場合に、前記所定のイベントが発生したことを検知することを特徴とする付記1又は2の何れか一に記載のクライアント装置。
(付記4)
データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置の制御方法であって、
接続候補保持手段が、当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持するステップと、
イベント発生検知手段が、前記一のクライアント装置に関する所定のイベントの発生を検知するステップと、
接続先選択手段が、前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択するステップと、
データ転送要求手段が、前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するステップと、を有することを特徴とする制御方法。
(付記5)
前記データは順序性を有する複数のデータであり、前記各データは該順序性を示す識別情報を含む場合、
前記データ転送要求手段は、一の前記識別情報に対応するデータ以降の前記複数のデータを、当該クライアント装置に転送するよう要求することを特徴とする付記4に記載の制御方法。
(付記6)
受信した前記データを一時的に蓄積するバッファを有し、
前記イベント発生検知手段は、前記バッファに蓄積された前記データの量が所定の閾値より少なくなった場合に、前記所定のイベントが発生したことを検知することを特徴とする付記4又は5の何れか一に記載の制御方法。
(付記7)
データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置に、
接続候補保持手段が、当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持するステップと、
イベント発生検知手段が、前記一のクライアント装置に関する所定のイベントの発生を検知するステップと、
接続先選択手段が、前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択するステップと、
データ転送要求手段が、前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するステップと、を実行させるためのクライアント装置制御プログラム。
(付記8)
前記データは順序性を有する複数のデータであり、前記各データは該順序性を示す識別情報を含む場合、
前記データ転送要求手段は、一の前記識別情報に対応するデータ以降の前記複数のデータを、当該クライアント装置に転送するよう要求することを特徴とする付記7に記載のクライアント装置制御プログラム。
(付記9)
受信した前記データを一時的に蓄積するバッファを有し、
前記イベント発生検知手段は、前記バッファに蓄積された前記データの量が所定の閾値より少なくなった場合に、前記所定のイベントが発生したことを検知することを特徴とする付記7又は8の何れか一に記載のクライアント装置制御プログラム。
In the above description, the case where there is one distribution target stream (data) has been described. However, it is also possible to apply to a multi-channel stream by configuring the above processing for each distribution target stream.
Although the embodiment of the present invention has been described in detail above, the present invention is not limited to the specific embodiment, and various modifications are possible within the scope of the gist of the present invention described in the claims.・ Change is possible.
(Appendix 1)
In a communication network having a data distribution device and a plurality of client devices, the client is connected to one client device and receives the data distributed from the data distribution device and receives the data transferred from the one client device A device,
Connection candidate holding means for holding information related to a plurality of client devices as candidates for transferring the data to the client device;
Event occurrence detection means for detecting occurrence of a predetermined event related to the one client device;
A connection destination selecting means for selecting one of the information held by the connection candidate holding means when the event occurrence detecting means detects the occurrence of the predetermined event;
Data transfer requesting means for requesting the candidate selected by the connection destination selecting means to transfer the data to the client apparatus.
(Appendix 2)
When the data is a plurality of data having order, and each piece of data includes identification information indicating the order,
2. The client device according to appendix 1, wherein the data transfer requesting unit requests the client device to transfer the plurality of data after the data corresponding to the one identification information.
(Appendix 3)
A buffer for temporarily storing the received data;
The event occurrence detection means detects that the predetermined event has occurred when the amount of the data accumulated in the buffer is less than a predetermined threshold value. The client device according to claim 1.
(Appendix 4)
In a communication network having a data distribution device and a plurality of client devices, the client is connected to one client device and receives the data distributed from the data distribution device and receives the data transferred from the one client device An apparatus control method comprising:
A connection candidate holding unit holding information on a plurality of client devices as candidates for transferring the data to the client device;
An event occurrence detecting means for detecting occurrence of a predetermined event related to the one client device;
A connection destination selecting means, when the occurrence of the predetermined event is detected by the event occurrence detecting means, selecting one candidate among the information held by the connection candidate holding means;
A data transfer requesting unit that requests the candidate selected by the connection destination selecting unit to transfer the data to the client device.
(Appendix 5)
When the data is a plurality of data having order, and each piece of data includes identification information indicating the order,
The control method according to appendix 4, wherein the data transfer request unit requests the client device to transfer the plurality of data subsequent to the data corresponding to the one identification information.
(Appendix 6)
A buffer for temporarily storing the received data;
Any one of appendix 4 or 5, wherein the event occurrence detection means detects that the predetermined event has occurred when the amount of the data accumulated in the buffer is less than a predetermined threshold. The control method as described in one.
(Appendix 7)
In a communication network having a data distribution device and a plurality of client devices, the client is connected to one client device and receives the data transferred from the data distribution device and receives the data transferred from the one client device To the device,
A connection candidate holding unit holding information on a plurality of client devices as candidates for transferring the data to the client device;
An event occurrence detecting means for detecting occurrence of a predetermined event related to the one client device;
A connection destination selecting unit that selects one of the information held by the connection candidate holding unit when the occurrence of the predetermined event is detected by the event occurrence detection unit;
A client device control program for causing a data transfer request unit to request the candidate selected by the connection destination selection unit to transfer the data to the client device.
(Appendix 8)
When the data is a plurality of data having order, and each piece of data includes identification information indicating the order,
8. The client device control program according to appendix 7, wherein the data transfer request unit requests the client device to transfer the plurality of data after the data corresponding to the one identification information.
(Appendix 9)
A buffer for temporarily storing the received data;
The event occurrence detection means detects that the predetermined event has occurred when the amount of the data stored in the buffer is less than a predetermined threshold value. The client device control program according to claim 1.

100 クライアント装置(クライアントB)
110 接続先候補保持手段
120 イベント発生検知手段
130 接続先選択手段
140 データ転送要求手段
150 接続先候補情報(接続先候補リスト)
160 バッファ(受信データバッファ)
170 データ配信装置(ストリーミング配信サーバ)
180 一のクライアント装置(クライアントA)
190 他のクライアント装置(クライアントC)
200 データ配信システム
210 閲覧者リスト
220 接続中子リスト
230 受信データバッファ管理情報リスト
100 Client device (Client B)
110 connection destination candidate holding means 120 event occurrence detection means 130 connection destination selection means 140 data transfer request means 150 connection destination candidate information (connection destination candidate list)
160 Buffer (Reception data buffer)
170 Data distribution device (streaming distribution server)
180 One client device (client A)
190 Other client device (client C)
200 Data Distribution System 210 Viewer List 220 Connected Core List 230 Reception Data Buffer Management Information List

Claims (4)

データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置であって、
当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持する接続候補保持手段と、
前記一のクライアント装置に関する所定のイベントの発生を検知するイベント発生検知手段と、
前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択する接続先選択手段と、
前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するデータ転送要求手段と、を有することを特徴とするクライアント装置。
In a communication network having a data distribution device and a plurality of client devices, the client is connected to one client device and receives the data distributed from the data distribution device and receives the data transferred from the one client device A device,
Connection candidate holding means for holding information related to a plurality of client devices as candidates for transferring the data to the client device;
Event occurrence detection means for detecting occurrence of a predetermined event related to the one client device;
A connection destination selecting means for selecting one of the information held by the connection candidate holding means when the event occurrence detecting means detects the occurrence of the predetermined event;
Data transfer requesting means for requesting the candidate selected by the connection destination selecting means to transfer the data to the client apparatus.
前記データは順序性を有する複数のデータであり、前記各データは該順序性を示す識別情報を含む場合、
前記データ転送要求手段は、一の前記識別情報に対応するデータ以降の前記複数のデータを、当該クライアント装置に転送するよう要求することを特徴とする請求項1に記載のクライアント装置。
When the data is a plurality of data having order, and each piece of data includes identification information indicating the order,
The client device according to claim 1, wherein the data transfer request unit requests the client device to transfer the plurality of data after the data corresponding to the one identification information.
受信した前記データを一時的に蓄積するバッファを有し、
前記イベント発生検知手段は、前記バッファに蓄積された前記データの量が所定の閾値より少なくなった場合に、前記所定のイベントが発生したことを検知することを特徴とする請求項1乃至3の何れか一に記載のクライアント装置。
A buffer for temporarily storing the received data;
4. The event occurrence detection unit detects that the predetermined event has occurred when the amount of the data accumulated in the buffer becomes smaller than a predetermined threshold. The client device according to any one of the above.
データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置の制御方法であって、
接続候補保持手段が、当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持するステップと、
イベント発生検知手段が、前記一のクライアント装置に関する所定のイベントの発生を検知するステップと、
接続先選択手段が、前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択するステップと、
データ転送要求手段が、前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するステップと、を有することを特徴とする制御方法。
In a communication network having a data distribution device and a plurality of client devices, the client is connected to one client device and receives the data distributed from the data distribution device and receives the data transferred from the one client device An apparatus control method comprising:
A connection candidate holding unit holding information on a plurality of client devices as candidates for transferring the data to the client device;
An event occurrence detecting means for detecting occurrence of a predetermined event related to the one client device;
A connection destination selecting means, when the occurrence of the predetermined event is detected by the event occurrence detecting means, selecting one candidate among the information held by the connection candidate holding means;
A data transfer requesting unit that requests the candidate selected by the connection destination selecting unit to transfer the data to the client device.
JP2009107779A 2009-04-27 2009-04-27 Client device and control method thereof Expired - Fee Related JP5240048B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009107779A JP5240048B2 (en) 2009-04-27 2009-04-27 Client device and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009107779A JP5240048B2 (en) 2009-04-27 2009-04-27 Client device and control method thereof

Publications (2)

Publication Number Publication Date
JP2010257305A true JP2010257305A (en) 2010-11-11
JP5240048B2 JP5240048B2 (en) 2013-07-17

Family

ID=43318121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009107779A Expired - Fee Related JP5240048B2 (en) 2009-04-27 2009-04-27 Client device and control method thereof

Country Status (1)

Country Link
JP (1) JP5240048B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015082142A (en) * 2013-10-21 2015-04-27 富士ゼロックス株式会社 Document management system, server device, client terminal, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001016140A (en) * 1999-07-01 2001-01-19 Kdd Corp Line switching device
JP2003006085A (en) * 2001-06-20 2003-01-10 Nec Corp Contents distribution system, its method and contents distribution program
JP2003309600A (en) * 2002-04-17 2003-10-31 Bios:Kk Contents distribution/reproduction system and reproduction management system
JP2008141361A (en) * 2006-11-30 2008-06-19 Hitachi Ltd Data distribution method, data distribution system and node device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001016140A (en) * 1999-07-01 2001-01-19 Kdd Corp Line switching device
JP2003006085A (en) * 2001-06-20 2003-01-10 Nec Corp Contents distribution system, its method and contents distribution program
JP2003309600A (en) * 2002-04-17 2003-10-31 Bios:Kk Contents distribution/reproduction system and reproduction management system
JP2008141361A (en) * 2006-11-30 2008-06-19 Hitachi Ltd Data distribution method, data distribution system and node device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200200314007; 安東 一真: 'PtoP型の動画配信サービスを日本のベンチャー2社が開発 配信トポロジの分散管理で大規模配信を可能に' 日経インターネットテクノロジー 第56号, 20020222, p.23, 日経BP社 *
JPN6012054406; 安東 一真: 'PtoP型の動画配信サービスを日本のベンチャー2社が開発 配信トポロジの分散管理で大規模配信を可能に' 日経インターネットテクノロジー 第56号, 20020222, p.23, 日経BP社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015082142A (en) * 2013-10-21 2015-04-27 富士ゼロックス株式会社 Document management system, server device, client terminal, and program

Also Published As

Publication number Publication date
JP5240048B2 (en) 2013-07-17

Similar Documents

Publication Publication Date Title
US8949436B2 (en) System and method for controlling peer-to-peer connections
JP4951706B2 (en) Queue-based adaptive chunk scheduling for peer-to-peer live streaming
US9525727B2 (en) Efficient and scalable pull-based load distribution
JP2011124868A (en) Path control method, communication system, and communication equipment
US20140010079A1 (en) Traffic control on an on-chip network
WO2015195159A1 (en) Automatic re-routing of network traffic in a software-defined network
JP2008263436A (en) Load distribution device and network apparatus
JP2015043479A (en) Network device and method for monitoring processor
JP2007158818A (en) Route setting method and route setting device
JP2008060971A (en) Information processing system, information processor, information processing method and program
JP5240048B2 (en) Client device and control method thereof
JP2009237918A (en) Distributed content delivery system, center server, distributed content delivery method and distributed content delivery program
JP2018148477A (en) Selection device, device selection method and program
JP5522801B2 (en) Receiving terminal and control program thereof
KR101883671B1 (en) Method and management server for dtitributing node
JP5526748B2 (en) Packet processing device, packet distribution device, control program, and packet distribution method
JP2006197470A (en) Data stream distribution system, node, distribution route deciding apparatus, and distribution route deciding program
JP5588376B2 (en) TERMINAL DEVICE, TERMINAL DEVICE PROGRAM, AND CONTENT DISTRIBUTION SYSTEM
JP2010182017A (en) Distributed computer system, manager succession method and manager succession program
JP2009171305A (en) Communication apparatus and program
US20120002565A1 (en) Communication apparatus, communication system, communication method, and a computer-readable medium
JP5062203B2 (en) Transaction processing device, congestion control method in transaction processing device, and program
EP2981027B1 (en) Resource management for stream reservations
JP2008245114A (en) Content distribution system
JP6163094B2 (en) Message delivery system, message delivery method, and message delivery program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130318

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5240048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees