JP2011199644A - Streaming delivery method - Google Patents
Streaming delivery method Download PDFInfo
- Publication number
- JP2011199644A JP2011199644A JP2010064786A JP2010064786A JP2011199644A JP 2011199644 A JP2011199644 A JP 2011199644A JP 2010064786 A JP2010064786 A JP 2010064786A JP 2010064786 A JP2010064786 A JP 2010064786A JP 2011199644 A JP2011199644 A JP 2011199644A
- Authority
- JP
- Japan
- Prior art keywords
- data block
- peer
- client
- distribution server
- request
- 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.)
- Pending
Links
- 238000002716 delivery method Methods 0.000 title claims description 6
- 238000009826 distribution Methods 0.000 claims abstract description 187
- 230000004044 response Effects 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 description 31
- 230000000717 retained effect Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 23
- 230000005540 biological transmission Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】ピアツーピアによるストリーミング配信方法、配信サーバ装置及びクライアント装置に関し、ネットワークに分散するピアによって保持されるデータブロックの偏りをなくし、配信サーバへの負荷集中を回避する。
【解決手段】コンテンツの実データを複数のデータブロックに分割し、各データブロックを配信サーバ10及び複数のピア21〜25で保持し、クライアント11にコンテンツの各データブロックを各ピア21〜25又は配信サーバ10から配信する。クライアント11は、データブロックの配信要求を各ピア21〜25に対して行い、ピアから配信不可を示す応答が返送されたとき、該配信不可のデータブロックの配信要求を配信サーバ10に送信する。配信サーバ10は、データブロックの配信要求を受けたとき、該データブロックを該クライアント11に配信すると共に、該データブロックを当該クライアント11で保持するよう指示する。
【選択図】図1The present invention relates to a peer-to-peer streaming distribution method, a distribution server device, and a client device, which eliminate the bias of data blocks held by peers distributed in a network and avoid load concentration on the distribution server.
Real data of content is divided into a plurality of data blocks, each data block is held by a distribution server 10 and a plurality of peers 21 to 25, and each data block of content is stored in a client 11 by each peer 21 to 25 or Delivered from the delivery server 10. The client 11 sends a data block distribution request to each of the peers 21 to 25, and when a response indicating that distribution is not possible is returned from the peer, the client 11 transmits a distribution request for the non-distributable data block to the distribution server 10. When receiving a data block distribution request, the distribution server 10 distributes the data block to the client 11 and instructs the client 11 to hold the data block.
[Selection] Figure 1
Description
本発明は、ストリーミング配信方法、配信サーバ装置及びクライアント装置に関する。本発明は、ピアツーピア(P2P)によるストリーミング配信に好適に適用することができる。 The present invention relates to a streaming distribution method, a distribution server device, and a client device. The present invention can be suitably applied to streaming distribution by peer-to-peer (P2P).
従来のサーバ・クライアント型ストリーミング配信では、配信サーバが全クライアントにコンテンツ配信を行うので、配信サーバに負荷が集中する。そのため、クライアント数の増加に合わせて、配信サーバの性能や帯域の増強を行っていた。配信サーバへの負荷の集中を回避するため、配信サーバを介さないピアツーピア(P2P)によるストリーミング配信が発案されている。 In the conventional server / client type streaming distribution, the distribution server distributes contents to all clients, so the load is concentrated on the distribution server. For this reason, the performance and bandwidth of the distribution server have been increased in accordance with the increase in the number of clients. In order to avoid the concentration of load on the distribution server, streaming distribution by peer-to-peer (P2P) not via the distribution server has been proposed.
ピアツーピア(P2P)によるストリーミング配信では、コンテンツを複数のデータブロックに分割し、各ピアは能力(CPU、ハードディスク容量、ネットワーク帯域等)に応じて、コンテンツの一部のデータブロックを保持する。クライアントは、配信サーバではなく、幾つかのピアからコンテンツの配信を受けることにより、配信サーバの負荷集中を回避する。 In streaming distribution by peer-to-peer (P2P), content is divided into a plurality of data blocks, and each peer holds a partial data block of the content according to capability (CPU, hard disk capacity, network bandwidth, etc.). The client avoids the load concentration of the distribution server by receiving the distribution of content from some peers instead of the distribution server.
緩やかに結合されたピアの集合体からクライアントへのメディアストリーミングの、受信側主導の制御の分散ストリーミング配信方法等は、下記の特許文献1等により知られている。
A distributed streaming delivery method under the control of the reception side of media streaming from a group of loosely coupled peers to a client is known from
特許文献1等に記載された従来のストリーミング配信では、保持する各データブロックをクライアントがランダムに決定するため、ネットワーク上に分散している各クライアント(ピア)によって保持されるデータブロックに偏りが生じることがある。特にデータブロックを保持するピア数が少ない場合は、ピアに保持されたデータブロックの偏りが顕著である。
In the conventional streaming distribution described in
ネットワーク上のピアに保持されたデータブロックに偏りが生じた場合、少ないデータブロックに関しては、クライアント−ピア間で配信が行なえず、配信サーバから配信することとなるため、配信サーバに負荷が集中する。その結果、ストリーミング視聴において遅延などの問題が発生する場合がある。本発明では、ピア数に関係なく、ネットワークに分散しているピアによって保持されるデータブロックの偏りをなくし、配信サーバへの負荷集中を回避することを目的とする。 If there is a bias in the data blocks held by the peers on the network, a small number of data blocks cannot be distributed between the client and the peer and are distributed from the distribution server, so the load is concentrated on the distribution server. . As a result, problems such as delay may occur in streaming viewing. An object of the present invention is to eliminate the bias of data blocks held by peers distributed in a network regardless of the number of peers, and to avoid load concentration on a distribution server.
上記課題を解決する一形態としてのストリーミング配信方法は、コンテンツの実データを複数のデータブロックに分割し、各データブロックを配信サーバ装置及び複数のピア装置で保持し、クライアント装置からのコンテンツの視聴要求に対して、該コンテンツの各データブロックを、前記各ピア装置又は配信サーバ装置から配信するストリーミング配信方法において、前記クライアント装置は、前記データブロックの配信要求を、前記配信サーバ装置から通知された各ピア装置に対して行い、該データブロックの配信要求に対して、配信不可を示す応答が返送されたとき、該配信不可のデータブロックの配信要求を前記配信サーバ装置に送信するステップと、前記配信サーバ装置は、前記クライアント装置からのデータブロックの配信要求を受けたとき、該データブロックを該クライアントに配信すると共に、該データブロックをピア装置に優先的に保持するよう指示するステップと、を含むものである。 A streaming distribution method as one form for solving the above problem is to divide actual data of content into a plurality of data blocks, hold each data block in a distribution server device and a plurality of peer devices, and view content from a client device. In response to the request, in the streaming delivery method of delivering each data block of the content from each peer device or delivery server device, the client device is notified of the delivery request for the data block from the delivery server device Transmitting to the distribution server device a distribution request for the non-deliverable data block when a response indicating non-distribution is returned to the data block distribution request for each peer device; and The distribution server device sends a data block distribution request from the client device. When received, the data block as well as delivered to the client, is intended to include a step of instructing to preferentially retained the data blocks to the peer device.
また、他の一形態としての配信サーバ装置は、コンテンツの実データを分割した各データブロックを保持するとともに、各データブロックを保持したピア装置の識別情報を示すピアリストを保持し、クライアント装置からのコンテンツの視聴要求に対して、データブロックを保持したピア装置の識別情報を通知する配信サーバにおいて、前記クライアント装置に、前記ピア装置の識別情報を通知する際に、該クライアントに保持させるデータブロックを指示する手段と、前記クライアント装置からデータブロックの配信要求を受信したとき、該データブロックを該クライアント装置に配信すると共に、該データブロックをピア装置に優先的に保持するよう指示する手段と、を備えたものである。 In addition, the distribution server device as another embodiment holds each data block obtained by dividing the actual data of the content, and also holds a peer list indicating identification information of the peer device holding each data block. In the distribution server for notifying the identification information of the peer device holding the data block in response to the content viewing request, the data block to be held by the client device when notifying the identification information of the peer device to the client device And means for instructing, when receiving a data block delivery request from the client device, delivering the data block to the client device and preferentially holding the data block to the peer device; It is equipped with.
また、他の一形態としてのクライアント装置は、コンテンツの視聴要求に対して、該コンテンツの実データを分割した各データブロックを保持するピア装置の識別情報を配信サーバから受信し、該ピア装置に対して各データブロックの配信要求を送信するクライアント装置において、前記ピア装置から配信不可の応答を受けたとき、該データブロック配信不可のピア装置の識別情報を記録し、前記配信サーバ装置に通知する手段と、前記配信サーバ又は前記ピア装置から配信されたデータブロックのうち、前記配信サーバから指示されたデータブロックを保持する手段と、を備えたものである。 Further, in response to the content viewing request, the client device as another embodiment receives the identification information of the peer device holding each data block obtained by dividing the actual data of the content from the distribution server, and receives the peer device. On the other hand, when a client device that transmits a distribution request for each data block receives a response indicating that distribution is not possible from the peer device, the identification information of the peer device that is not capable of data block distribution is recorded and notified to the distribution server device. And means for holding a data block instructed from the distribution server among the data blocks distributed from the distribution server or the peer device.
コンテンツの各データブロックに対して、当該データブロックを保持するピア数が少ないデータブロックを優先的にピア装置に保持させることができ、ネットワークに分散しているピア装置により保持されるデータブロックの偏りを防ぎ、配信サーバへの負荷集中を回避することができる。 For each data block of content, a data block with a small number of peers holding the data block can be preferentially held in the peer device, and the bias of data blocks held by peer devices distributed in the network Can be avoided, and load concentration on the distribution server can be avoided.
開示のストリーミング配信が適用されるネットワーク構成例を図1に示している。図1において、各クライアント11〜13からのコンテンツの配信要求に対して、配信サーバ10又は各ピア21〜25から、該コンテンツの実データを分割した各データブロックを配信する。なお、以下の説明において、配信サーバ装置、クライアント装置及びピア装置は、単に配信サーバ、クライアント及びピアと記す。
A network configuration example to which the disclosed streaming distribution is applied is shown in FIG. In FIG. 1, in response to a content distribution request from each
図1の例では、データブロックIDが“1”のデータブロックは、配信サーバ10、ピア21及び22に保持され、データブロックIDが“2”のデータブロックは、配信サーバ10、ピア22及び23に保持され、データブロックIDが“3”のデータブロックは、配信サーバ10、ピア21及び25に保持され、データブロックIDが“4”のデータブロックは、配信サーバ1、ピア23及び24に保持されている例を示している。
In the example of FIG. 1, the data block whose data block ID is “1” is held in the
配信サーバで保持される情報を図2に示す。配信サーバは、コンテンツ情報(S1)、コンテンツの実体データ(S2)、ピアリスト(S3)、通常保持指示リスト(S4)、優先保持指示リスト(S5)、及び要求不可ピアリスト(S6)を保持する。 Information held in the distribution server is shown in FIG. The distribution server holds content information (S1), content entity data (S2), peer list (S3), normal holding instruction list (S4), priority holding instruction list (S5), and unrequestable peer list (S6). To do.
コンテンツ情報(S1)は、配信サーバが配信する動画などの各コンテンツの実体データの構成を示す情報である。各コンテンツの実体データは、複数のデータブロックという配信単位のデータに細分化され、コンテンツ情報(S1)は、該データブロックの構成情報を示す。コンテンツ情報(S1)は、各コンテンツ対応に、コンテンツID及び各データブロックIDを含んでいる。 The content information (S1) is information indicating a configuration of entity data of each content such as a moving image distributed by the distribution server. The substance data of each content is subdivided into data of a delivery unit called a plurality of data blocks, and the content information (S1) indicates configuration information of the data block. The content information (S1) includes a content ID and each data block ID corresponding to each content.
コンテンツの実体データ(S2)は、視聴に供される動画などのストリーミングコンテンツの実体データ群であり、データブロックの集合体である。ピアリスト(S3)は、各コンテンツ対応に、どのピアがどのデータブロックを保持しているかを示す情報である。ピアリスト(S3)には、ピアの識別情報(IPアドレス及びポート番号)と、該ピアに保持されているデータブロックの識別情報(保持データブロックID)とが対応付けて格納される。 The content entity data (S2) is an entity data group of streaming content such as a moving image to be viewed, and is an aggregate of data blocks. The peer list (S3) is information indicating which peer holds which data block corresponding to each content. In the peer list (S3), peer identification information (IP address and port number) and data block identification information (held data block ID) held in the peer are stored in association with each other.
通常保持指示リスト(S4)は、クライアントに対して保持を指示するデータブロックのデータブロックIDを格納する。コンテンツの配信要求を行ったクライアントに対して、該クライアントがピアとして機能するよう、配信したデータブロックの一部を保持するよう指示するために使用される。なお、以下では、通常保持指示リストを簡明化のために単に通常リストともいう。 The normal holding instruction list (S4) stores the data block ID of the data block instructing the client to hold. It is used to instruct a client that has made a content distribution request to retain a part of the distributed data block so that the client functions as a peer. Hereinafter, the normal holding instruction list is also simply referred to as a normal list for the sake of brevity.
優先保持指示リスト(S5)は、通常保持指示リスト(S4)と同様に、クライアントに対して保持を指示するデータブロックのデータブロックIDを格納する。但し、通常保持指示リスト(S4)に格納されたデータブロックIDより優先的に保持するよう指示するデータブロックIDを格納する。なお、以下では、優先保持指示リストを簡明化のために単に優先リストともいう。 Similar to the normal holding instruction list (S4), the priority holding instruction list (S5) stores the data block ID of the data block instructing the client to hold. However, the data block ID instructing to preferentially hold the data block ID stored in the normal holding instruction list (S4) is stored. Hereinafter, the priority holding instruction list is also simply referred to as a priority list for the sake of simplicity.
要求不可ピアリスト(S6)は、クライアントからピアへのデータブロックの配信要求に対して、該ピアから配信要求が不可となったデータブロックID及び該ピアのIPアドレスを格納する。該要求不可ピアリスト(S6)は、クライアントから配信サーバに通知される。なお、以下では、要求不可ピアリストを簡明化のために要求NGピアリストともいう。 In response to a data block distribution request from the client to the peer, the request-impossible peer list (S6) stores the data block ID and the IP address of the peer that cannot be distributed from the peer. The request impossible peer list (S6) is notified from the client to the distribution server. Hereinafter, the unrequired peer list is also referred to as a request NG peer list for the sake of simplicity.
コンテンツの視聴要求を行ったクライアントで保持される情報を図3に示す。コンテンツの視聴要求を行ったクライアントでは、コンテンツ情報(C1)、要求先ピア候補リスト(C2)、保持データブロックIDリスト(C3)、保持データブロックの実体データ(C4)及び要求不可ピアリスト(C5)を保持する。 FIG. 3 shows information held by the client that has requested the content viewing. In the client that has requested the content viewing, the content information (C1), the requested peer candidate list (C2), the retained data block ID list (C3), the actual data (C4) of the retained data block, and the unrequired peer list (C5) ).
コンテンツ情報(C1)は、コンテンツ視聴要求に対する応答として配信サーバから取得される。このコンテンツ情報(C1)は、配信サーバに保持された複数のコンテンツのコンテンツ情報(S1)の中から、当該クライアントから視聴要求されたコンテンツのみのコンテンツ情報が取得される。 The content information (C1) is acquired from the distribution server as a response to the content viewing request. As the content information (C1), content information of only the content requested to be viewed by the client is acquired from the content information (S1) of a plurality of contents held in the distribution server.
要求先ピア候補リスト(C2)は、視聴要求されたコンテンツの実体データを構成するデータブロックが保持されているピアを示す情報を格納する。該データブロック毎に、データブロックIDと、該データブロックが保持されている1又は2以上のピアのIPアドレス及びポート番号を格納する。これらの情報は、配信サーバにより生成され、視聴要求したクライアントに通知される。 The request destination peer candidate list (C2) stores information indicating peers that hold data blocks constituting entity data of content requested to be viewed. For each data block, the data block ID and the IP address and port number of one or more peers holding the data block are stored. These pieces of information are generated by the distribution server and notified to the client who requested viewing.
保持データブロックIDリスト(C3)は、当該クライアントで保持するデータブロックのコンテンツID及びデータブロックIDを格納する。保持データブロックの実体データ(C4)は、配信サーバから保持するよう指示され、当該クライアントで保持するデータブロックの実体データである。要求不可ピアリスト(C5)は、クライアントからピアへのデータブロックの配信要求に対して、該ピアから配信要求が不可となったデータブロックID及び該ピアのIPアドレスを格納する。 The retained data block ID list (C3) stores the content ID and data block ID of the data block retained by the client. The entity data (C4) of the retained data block is the entity data of the data block that is instructed to be retained from the distribution server and retained by the client. In response to a data block distribution request from the client to the peer, the request-disabled peer list (C5) stores the data block ID and the IP address of the peer that cannot be distributed from the peer.
配信サーバの機能ブロック構成例を図4に示す。図4において、配信コンテンツ登録受付部4−1は、配信サーバから配信するコンテンツの登録要求を受け付ける。配信コンテンツ登録処理部4−2は、コンテンツの登録要求に基づき、コンテンツの実体データと合わせてコンテンツ情報を生成し、それらの保持及び管理を行う。 A functional block configuration example of the distribution server is shown in FIG. In FIG. 4, a distribution content registration receiving unit 4-1 receives a registration request for content to be distributed from a distribution server. Based on the content registration request, the distribution content registration processing unit 4-2 generates content information together with the content entity data, and stores and manages the content information.
クライアント要求分析制御部4−3は、クライアントからのコンテンツ視聴要求等の要求を分析し、ピアリスト管理部4−5、配信コンテンツ状態管理部4−6、送信信号制御部4−7の各機能部への処理要求を行う。受信信号分析部4−4は、クライアントからの信号を受信・分析し、クライアント要求分析制御部4−3へ処理要求を行う。 The client request analysis control unit 4-3 analyzes a request such as a content viewing request from the client, and each function of the peer list management unit 4-5, the distribution content state management unit 4-6, and the transmission signal control unit 4-7 Request processing to the department. The reception signal analysis unit 4-4 receives and analyzes a signal from the client and makes a processing request to the client request analysis control unit 4-3.
ピアリスト管理部4−5は、クライアントからのコンテンツの視聴完了通知を基に、ピアリスト(S3)の更新を行う。また、クライアントからコンテンツの視聴要求が有ったとき、該要求元クライアントに対して返信する要求先ピア候補リスト(C2)を編集・生成する。 The peer list management unit 4-5 updates the peer list (S3) based on the content viewing completion notification from the client. Further, when there is a content viewing request from the client, the request destination peer candidate list (C2) to be returned to the request source client is edited and generated.
配信コンテンツ状態管理部4−6は、クライアントからのコンテンツの視聴要求又は或るデータブロックの送信要求の受信時に、通常保持指示リスト(S4)又は優先保持指示リスト(S5)の内容の更新管理を行う。送信信号制御部4−7は、クライアントへ送信する信号の制御を行う。データブロック送信制御部4−8は、クライアントからのデータブロック送信要求に基づき、データブロックの実体データの送信制御を行う。 The distribution content state management unit 4-6 manages the update of the contents of the normal holding instruction list (S4) or the priority holding instruction list (S5) when receiving a content viewing request or a transmission request for a certain data block from the client. Do. The transmission signal control unit 4-7 controls a signal to be transmitted to the client. The data block transmission control unit 4-8 performs transmission control of the actual data of the data block based on the data block transmission request from the client.
クライアントの機能ブロック構成例を図5に示す。図5において、ユーザインタフェース部5−1は、クライアント機能を使用するコンテンツ視聴ユーザからの要求の受付・処理を行う。要求先ピア候補リスト管理部5−2は、配信サーバから配信される要求先ピア候補リスト(C2)の管理を行う。 An example of the functional block configuration of the client is shown in FIG. In FIG. 5, a user interface unit 5-1 receives and processes a request from a content viewing user who uses a client function. The request destination peer candidate list management unit 5-2 manages the request destination peer candidate list (C2) distributed from the distribution server.
配信コンテンツ取得制御部5−3は、コンテンツ視聴ユーザが要求したコンテンツの取得を行うため、配信サーバへの視聴要求を指示し、配信サーバから返送される各種情報(コンテンツ情報(C1)、要求先ピア候補リスト(C2)、保持データブロックIDリスト(C3)等)の取得を制御する。 The distribution content acquisition control unit 5-3 instructs the viewing request to the distribution server in order to acquire the content requested by the content viewing user, and receives various information (content information (C1), request destination) returned from the distribution server. The acquisition of the peer candidate list (C2), the retained data block ID list (C3), etc.) is controlled.
データブロック取得制御部5−4は、要求先ピア候補リスト(C2)を参照し、該要求先ピア候補リスト(C2)に格納された各ピアからのデータブロック(ストリーミングデータ)の取得制御を行う。データブロック管理部5−5は、配信されたデータブロック(ストリーミングデータ)の管理を行う。 The data block acquisition control unit 5-4 refers to the request destination peer candidate list (C2) and performs acquisition control of data blocks (streaming data) from each peer stored in the request destination peer candidate list (C2). . The data block management unit 5-5 manages the distributed data block (streaming data).
データブロック送信制御部5−6は、他のクライアントからのデータブロック配信要求に対するデータブロックの配信制御を行う。信号受信分析部5−7は、視聴要求に対する配信サーバからの応答、及び他のクライアントからのデータブロック転送要求等を受信・分析し、配信コンテンツ取得制御部5−3、データブロック取得制御部5−4、又はデータブロック送信制御部5−6の機能部へ処理要求を行う。 The data block transmission control unit 5-6 performs data block distribution control in response to a data block distribution request from another client. The signal reception analysis unit 5-7 receives and analyzes a response from the distribution server to the viewing request, a data block transfer request from another client, and the like, and the distribution content acquisition control unit 5-3 and the data block acquisition control unit 5 -4 or a processing request to the functional unit of the data block transmission control unit 5-6.
送信信号制御部5−8は、配信サーバや他のクライアントへの信号の送信の制御を行う。コンテンツ再生部5−9は、取得したデータブロック(ストリーミングデータ)を元に、コンテンツの再生を行う。 The transmission signal control unit 5-8 controls transmission of signals to the distribution server and other clients. The content reproduction unit 5-9 reproduces the content based on the acquired data block (streaming data).
このストリーミング配信の動作例について以下に説明する。
[クライアントと配信サーバとを取り巻くピアの環境]
ピアツーピア(P2P)通信を利用したストリーミング配信サービスにおいては、クライアントと配信サーバとを取り巻くピアの状況が、配信サービス提供開始を起点として時系列に時々刻々変化する。この変化の状況は、ピア環境拡充期とピア環境成熟期との2つのパターンに分類される。
An example of the streaming distribution operation will be described below.
[Peer environment surrounding client and distribution server]
In a streaming distribution service using peer-to-peer (P2P) communication, the status of peers surrounding a client and a distribution server changes from time to time from the start of distribution service provision. The situation of this change is classified into two patterns, a peer environment expansion period and a peer environment maturity period.
[ピア環境拡充期]
ピア環境拡充期は、各クライアントが送出するコンテンツ視聴要求に対して、そのコンテンツのデータブロックを配信し得る十分な数のピアが未だ出揃っていない状況である。配信サーバがコンテンツ配信サービスを開始した直後はこの状況となる。
[Peer environment expansion period]
In the peer environment expansion period, there is not yet a sufficient number of peers that can deliver data blocks of content in response to content viewing requests sent by each client. This situation occurs immediately after the distribution server starts the content distribution service.
[ピア環境成熟期]
各クライアントが送出するコンテンツ視聴要求に対して、コンテンツのデータブロックを配信し得る十分な数のピアが出揃っている状況である。コンテンツ視聴を要求するクライアントが、何れかのピアからコンテンツの各データブロックの配信を受けることができ、配信サーバが直接コンテンツ配信しなくても、ストリーミング配信サービスが維持される状況である。
[Peer environment maturity]
A sufficient number of peers capable of delivering content data blocks are available for content viewing requests sent by each client. A client requesting content viewing can receive distribution of each data block of content from any peer, and the streaming distribution service is maintained even if the distribution server does not directly distribute the content.
[ピア環境の移行]
クライアントは、ストリーミング配信サービスを利用した後に、ピアの仲間入りをする。時系列的にこのようなピアが増加するにつれて、ピア環境拡充期からピア環境成熟期に移行していく。一方、クライアントは、一旦ピアとなっても、保持したデータブロックを随時、削除することが可能であり、古くなったコンテンツのデータブロックは削除され、配信可能なピアの総数が減少していくと、ピア環境成熟期からピア環境拡充期へと移行する。
[Migration of peer environment]
The client joins the peer after using the streaming distribution service. As such peers increase in time series, the transition from the peer environment expansion period to the peer environment maturity period will begin. On the other hand, once a client becomes a peer, it is possible to delete the retained data block at any time. When the data block of the old content is deleted, the total number of peers that can be distributed decreases. Transition from peer maturity period to peer environment expansion period.
ストリーミング配信サービスが提供されている期間を通じて、ピア環境はピア環境拡充期とピア環境成熟期の2つの状況パターンを行き来する。なお以下では、データブロックを保持し、該データブロックの配信が可能なピアをアクティブなピア、データブロックを保持していないピアをノンアクティブなピアとも称する。 Throughout the period in which the streaming distribution service is provided, the peer environment goes back and forth between two situation patterns: a peer environment expansion period and a peer environment maturity period. Hereinafter, a peer that holds a data block and can deliver the data block is also referred to as an active peer, and a peer that does not hold a data block is also referred to as a non-active peer.
[コンテンツ視聴要求に対する配信サーバの処理]
クライアントからのコンテンツ視聴要求に対する配信サーバの処理について図6を参照して説明する。ここでは、ピアへの配信要求が可能な場合について説明する。コンテンツ配信サービスを希望するクライアント11が、配信サーバ10に対して、視聴希望のコンテンツ特定したコンテンツ視聴要求(6−1)を送信することからコンテンツ配信サービスが開始される。配信サーバ10は、クライアント11で使用される要求先ピア候補リスト(C2)及び保持データブロックIDリスト(C3)を作成する(6−2,6−3)。
[Processing of distribution server for content viewing request]
Processing of the distribution server in response to a content viewing request from the client will be described with reference to FIG. Here, a case where a distribution request to a peer is possible will be described. The content distribution service is started when the
[要求先ピア候補リスト(C2)の生成]
配信サーバ10は、コンテンツ視聴要求(6−1)に含まれるコンテンツIDのコンテンツ情報(S1)と、該コンテンツIDのピアリスト(S3)とを保持している。コンテンツ情報(S1)は、コンテンツIDにより特定されるコンテンツの実体データ(S2)の構成情報を示し、後にクライアント11が各ピアから該実体データ(S2)のデータブロックを収集し、該コンテンツを再構成するために使用される。
[Generation of Requested Peer Candidate List (C2)]
The
ピアリスト(S3)は、コンテンツID毎に各ピアで保持されているデータブロックのデータブロックIDと、該ピアのIPアドレス等とが対応付けてされている。これらは、過去にコンテンツ配信サービスを利用したクライアント(ピア)の情報を基に配信サーバ10により生成され、保持される。
In the peer list (S3), for each content ID, the data block ID of the data block held by each peer is associated with the IP address of the peer. These are generated and held by the
配信サーバ10は、コンテンツ視聴要求(6−1)に含まれるコンテンツIDを元に、コンテンツ情報(S1)とピアリスト(S3)とを参照して、クライアント11で使用される要求先ピア候補リスト(C2)を生成する。要求先ピア候補リスト(C2)は、クライアント11が視聴要求したコンテンツの各データブロックを配信するピアの候補をリスト化したものである。要求先ピア候補リスト(C2)は、図9のフロー処理により生成される。クライアント11は、該要求先ピア候補リスト(C2)を基に、各データブロックの配信を各ピアに問い合わせて収集する。
The
[保持データブロックIDリスト(C3)の生成]
クライアント11は、配信サービスの利用が終了した後に、自らもピアの1つとなる。このときに、コンテンツの一部のデータブロックを保持することとなるが、どのデータブロックを保持するかを配信サーバ10が指定する。
[Generation of retained data block ID list (C3)]
The
配信サーバ10は、コンテンツ視聴要求(6−1)に含まれるコンテンツIDを元に、コンテンツ情報(S1)と、通常保持指示リスト(S4)又は優先保持指示リスト(S5)とを用い、保持データブロックIDリスト(C3)を生成する。保持データブロックIDリスト(C3)は、図10のフロー処理により生成される。
The
[コンテンツ情報及び生成情報のクライアントへの返却]
配信サーバ10は、クライアント11に対して、コンテンツ視聴要求(6−1)のレスポンス(6−4)を返却する。このレスポンス(6−4)には、要求先ピア候補リスト(C2)、コンテンツ情報(C1)及び保持データブロックIDリスト(C3)が含まれる。
[Returning content information and generation information to the client]
The
図6に示した動作例では、通常保持指示リスト(S4)に登録されたデータブロックID“1”〜“4”のうち、データブロックID“1”を取り出して保持データブロックIDリスト(C3)に設定し、クライアント11に返却した例を示している。これにより、通常保持指示リスト(S4)から、データブロックID“1”が消去される。 In the operation example shown in FIG. 6, the data block ID “1” is extracted from the data block IDs “1” to “4” registered in the normal holding instruction list (S4), and the holding data block ID list (C3). In the example shown in FIG. As a result, the data block ID “1” is erased from the normal holding instruction list (S4).
[クライアントにおけるデータブロックの収集処理]
クライアント11は、配信サーバ10から受信した情報(要求先ピア候補リスト(C2)、コンテンツ情報(C1)及び保持データブロックIDリスト(C3))を保持し(6−5)、それらの情報を基に、図11に示すフロー処理によって、データブロックを取得し、ストリーミングを視聴可能なように再構成する処理を実施する。
[Data block collection processing at the client]
The
以下にクライアント11における動作を、図6を参照して説明する。クライアント11は、コンテンツ情報(C1)から、該コンテンツを構成するデータブロックIDを得る。要求先ピア候補リスト(C2)から、前述のデータブロックIDのデータブロックの配信を要求するピアの候補の情報を得る(6−6)。
The operation in the
まず、データブロックID“1”を保持するピアの1つであるピア21に対して、ストリーミング視聴要求(6−7)を送信する。ここでは、ピア環境成熟期であることを前提とし、ピア21は、データブロックID“1”のデータブロックを保持しているアクティブなピアであるとする。ピア21は、自身が保持しているデータブロックID“1”のデータブロックを抽出し(6−8)、配信サーバ10の代わりにクライアント11に配信する(6−9)。
First, a streaming viewing request (6-7) is transmitted to the
クライアント11は、配信されたデータブロックのデータブロックIDが、保持データブロックIDリスト(C3)に設定されたデータブロックIDと一致するか判定し、一致する場合は、該データブロックIDのデータブロックを保持する(6−10)。
The
同様に、データブロックID“2”を保持するピア22に対して、ストリーミング視聴要求(6−11)を送信する。ピア22は、自身が保持しているデータブロックID“2”のデータブロックを抽出し(6−12)、配信サーバ10の代わりにクライアント11に配信する(6−13)。
上述の処理をデータブロックの数だけ繰り返し実施する。この処理を実行する期間において、クライアント11では、保持データブロックIDリスト(C3)により指示されたデータブロックを保持する。クライアント11は、コンテンツ視聴が完了した後、配信サーバ10に対して完了通知(6−14)を送信する。
Similarly, a streaming viewing request (6-11) is transmitted to the
The above process is repeated for the number of data blocks. In the period for executing this process, the
[クライアントからの完了通知に対する配信サーバの処理]
完了通知(6−14)には、コンテンツID、クライアント11のIPアドレス、ポート番号及び保持データブロックIDリスト(C3)が含まれる。配信サーバ10は、該完了通知(6−14)を基に、ピアリスト(S3)の最後にクライアント(ピア)11の情報を追加し、ピアリスト(S3)を更新する(6−15)。つまり、ピアリスト(S3)の後方に登録されているほど、追加時刻が新しいことになる。この動作は、図12に示すフロー処理によって行われる。
[Processing of distribution server for completion notification from client]
The completion notification (6-14) includes the content ID, the IP address of the
[ピアがデータブロックをストリーミングする動作]
クライアント11から送信されるストリーミング視聴要求(6−7,6−11)には、コンテンツID及びデータブロックIDが含まれる。ピア21,22は、それぞれ、要求されたコンテンツID及びデータブロックIDを入力し、自身が保持しているデータブロックの有無をチェックする。
[Operation of peer streaming data block]
The streaming viewing request (6-7, 6-11) transmitted from the
ここでは、ピア環境成熟期であることを前提とし、ピア21,22は、クライアント11の要求するデータブロックID“1”,“2”を保持しているものとする。ピア21,22は、自身が保持しているデータブロックを、配信サーバ10の代わりに、クライアント11に配信する。この動作は図13に示すフロー処理によって実施される。
Here, it is assumed that the peer environment is mature, and the
次に、ピアへの配信要求に対して不可(NG)の応答が返送される場合のシーケンスについて図7を参照して説明する。 Next, a sequence in a case where a response of “NG” is returned in response to the distribution request to the peer will be described with reference to FIG.
[クライアントからのコンテンツ視聴要求に対する配信サーバの処理]
コンテンツ配信サービスの利用を希望するクライアント12は、配信サーバ10に対してコンテンツ視聴要求(7−1)を送信する。配信サーバ10は、クライアント12で使用される要求先ピア候補リスト(C2)及び保持データブロックIDリスト(C3)を作成する(7−2,7−3)。
[Processing of distribution server in response to content viewing request from client]
The
[保持データブロックIDリスト(C3)の生成]
[要求先ピア候補リスト(C2)の生成]
要求先ピア候補リスト(C2)及び保持データブロックIDリスト(C3)の作成(7−2,7−3)は、図6を参照して説明した要求先ピア候補リスト(C2)及び保持データブロックIDリスト(C3)の作成(6−2,6−3)と同様である。
[Generation of retained data block ID list (C3)]
[Generation of Requested Peer Candidate List (C2)]
The creation (7-2, 7-3) of the requested peer candidate list (C2) and the retained data block ID list (C3) is the same as the requested peer candidate list (C2) and the retained data block described with reference to FIG. This is the same as the creation (6-2, 6-3) of the ID list (C3).
[コンテンツ情報及び生成情報のクライアントへの返却]
配信サーバ10は、クライアント12に対して、コンテンツ視聴要求(7−1)のレスポンス(7−4)を返却する。このレスポンス(7−4)には、要求先ピア候補リスト(C2)、コンテンツ情報(C1)及び保持データブロックIDリスト(C3)が含まれる。
[Returning content information and generation information to the client]
The
図7に示した動作例では、通常保持指示リスト(S4)に登録されたデータブロックID“2”〜“4”のうち、データブロックID“2”を取り出して保持データブロックIDリスト(C3)に設定し、クライアント12に返却した例を示している。これにより、通常保持指示リスト(S4)から、データブロックID“2”が消去される。
In the operation example shown in FIG. 7, the data block ID “2” is extracted from the data block IDs “2” to “4” registered in the normal holding instruction list (S4), and the holding data block ID list (C3). It shows an example of being set to and returned to the
[クライアントにおけるデータブロックの収集処理]
クライアント12は、配信サーバ10から受信した情報(要求先ピア候補リスト(C2)、コンテンツ情報(C1)及び保持データブロックIDリスト(C3))を元に、図11に示すフロー処理によって、データブロックを取得し、ストリーミングを視聴可能なように再構成する処理を実施する。
[Data block collection processing at the client]
Based on the information received from the distribution server 10 (requested peer candidate list (C2), content information (C1), and retained data block ID list (C3)), the
以下にクライアント12における動作を、図7を参照して説明する。クライアント12は、コンテンツ情報(C1)から、該コンテンツを構成するデータブロックIDを得る。要求先ピア候補リスト(C2)から、前述のデータブロックIDのデータブロックの配信を要求するピアの候補の情報を得る。
The operation in the
ここで、データブロック“4”を保持するピアの1つであるピア23に対して、ストリーミング視聴要求(7−5)を送信する。ここでは、ピア環境拡充期であることを前提とし、ピア23は、クライアント12の要求するデータブロックID“4”のデータブロックを保持していないノンアクティブなピアであるとする。
Here, a streaming viewing request (7-5) is transmitted to the
ピア23は、クライアント12に対して、配信不可(要求NG)の応答を返却する(7−6)。クライアント12は、ピア23からの配信不可(要求NG)の応答を受けて、データブロックをピア23から入手できないことを認識し、要求先ピア候補リスト(C2)から次の候補のピア24の情報を得る。このときクライアント12は、ピア23が要求不可ピアであったので、要求不可ピアリスト(C5)にピア23を登録し、更新する(7−7)。
The
クライアント12は、次の候補のピア24に対してストリーミング視聴要求(7−8))を送信する。ここでも、ピア環境拡充期を前提としているので、ピア24はデータブロックID“4”のデータブロックを保持しないノンアクティブなピアであるとする。ピア24もまたクライアント12に対して配信不可(要求NG)の応答(7−9)を返却する。このときクライアント12は、ピア24が要求不可ピアであったので、要求不可ピアリスト(C5)にピア24を登録し、更新する(7−10)。
The
上述の処理を要求先ピア候補の数だけ繰り返し、最終的にデータブロックID“4”をピアから入手できないと認識した場合に、クライアント12は、配信サーバ10に対して該データブロックの配信要求を含むストリーミング視聴要求(7−11)を送信する。
When the above process is repeated as many times as the number of requested peer candidates, and when it is finally recognized that the data block ID “4” cannot be obtained from the peer, the
配信サーバ10は、要求されたデータブロックをクライアント12に配信することが常に可能である。ここで、クライアント12からのストリーミング視聴要求(7−11)には、要求不可のピア23,24の情報が設定された要求不可ピアリスト(C5)が含まれている。
The
配信サーバ10は、クライアント12から受信された要求不可ピアリスト(C5)により、自身の要求不可ピアリスト(S6)を更新する。配信サーバ10は、データブロックID“4”について、ピアに保持されていない、又はネットワーク上にアクティブなピアが不足していると認識し、以後、データブロックID“4”のデータブロックを保持するピアを増やすように指示する動作を開始する。
The
具体的にこのタイミングで行う動作は、ピアリスト(S3)から要求不可ピア23,24を削除し(7−12)、優先保持指示リスト(S5)に該データブロックID“4”を登録する(7−13)。そして、データブロックID“4”のデータブロックをクライアント12に配信する(7−14)。 Specifically, the operation performed at this timing is to delete the non-requestable peers 23 and 24 from the peer list (S3) (7-12) and register the data block ID “4” in the priority holding instruction list (S5) ( 7-13). Then, the data block with the data block ID “4” is distributed to the client 12 (7-14).
クライアント12は、コンテンツの実体データ(S2)を再構成するためのデータブロックが全て揃うまで、ピア21〜24又は配信サーバ10に対して、コンテンツ視聴要求の送信を行い、そのレスポンスとしてデータブロックを入手する。上述の処理の実行期間において、クライアント12は、は、配信サーバからの保持データブロックIDリスト(C3)により指示されたデータブロックの実データを保持する。クライアント12は、コンテンツ視聴が完了した後、配信サーバ10に対して完了通知を送信する。
The
[ピアがクライアントに対してコンテンツ視聴要求NGを返却する動作]
クライアント12から送信されるストリーミング視聴要求(7−5,7−8)には、コンテンツID及びデータブロックIDが含まれる。ピア23,24は、それぞれ、要求されたコンテンツID及びデータブロックIDを入力し、自身が保持しているデータブロックの有無をチェックする。
[Operation in which peer returns content viewing request NG to client]
The streaming viewing request (7-5, 7-8) transmitted from the
ここでは、ピア環境拡充期を前提とし、ピア23,24はクライアント12の要求するデータブロックID“4”を保持していないノンアクティブなピアであるとする。又はデータブロックを保持しているが、他のクライアントからの要求に対して配信中であるなどの理由により、該データブロックの配信要求に応じられない状態であるとする。ピア23,24は、クライアント12に対して配信不可(要求NG)の応答を返送する。この動作は図13に示すフロー処理によって行われる。
Here, it is assumed that the peer environment expansion period is assumed, and the
[配信サーバがクライアントにデータブロックをストリーミングする動作]
クライアント12から配信サーバ10に対して送信されるストリーミング視聴要求(7−11)には、コンテンツID及びデータブロックIDが含まれると共に、配信要求不可のピア情報が設定された要求不可ピアリスト(C5)が含まれる。この要求不可ピアリスト(C5)により自身の要求不可ピアリスト(S6)を更新する。
[Operation of distribution server streaming data block to client]
The streaming viewing request (7-11) transmitted from the
配信サーバ10は、要求されたデータブロックをクライアント12に配信する。また、配信サーバ10は、要求不可ピアリスト(S6)を元に、ノンアクティブなピアの情報をピアリスト(S3)から削除する。また、クライアント12から要求されたデータブロックID“4”について、アクティブなピアが不足しているものと見なし、データブロックID“4”のデータブロックを保持するアクティブなピアを増やすように指示する。具体的には、優先保持指示リスト(S5)にデータブロックID“4”を登録する。この動作は図14に示すフロー処理によって行われる。
The
ここで優先保持指示リスト(S5)に登録されることによって、以下の動作が実施され、次回以降のクライアントからのコンテンツ配信要求に対する処理において、配信サーバ10が返却するレスポンスに含まれる保持データブロックIDリスト(C3)に該データブロックID“4”を設定する。この動作は図10に示すフロー処理によって行われる。
Here, by registering in the priority holding instruction list (S5), the following operation is performed, and the holding data block ID included in the response returned by the
[クライアントからのコンテンツ視聴要求に対する配信サーバの処理]
クライアントからのコンテンツ視聴要求に対する配信サーバの処理について、図8を参照して説明する。コンテンツ配信サービスの利用を希望するクライアント13が、配信サーバ10に対して、視聴希望のコンテンツを特定したコンテンツ視聴要求(8−1)を送信する。配信サーバ10は、クライアント13で使用される要求先ピア候補リスト(C2)及び保持データブロックIDリスト(C3)を作成する(8−2,8−3)。
[Processing of distribution server in response to content viewing request from client]
Processing of the distribution server in response to a content viewing request from the client will be described with reference to FIG. The
[保持データブロックIDリスト(C3)の生成]
[要求先ピア候補リスト(C2)の生成]
要求先ピア候補リスト(C2)及び保持データブロックIDリスト(C3)の作成(8−2,8−3)は、図6を参照して説明した要求先ピア候補リスト(C2)及び保持データブロックIDリスト(C3)の作成(6−2,6−3)と同様である。
[Generation of retained data block ID list (C3)]
[Generation of Requested Peer Candidate List (C2)]
The request destination peer candidate list (C2) and the retained data block ID list (C3) are created (8-2, 8-3) according to the request destination peer candidate list (C2) and the retained data block described with reference to FIG. This is the same as the creation (6-2, 6-3) of the ID list (C3).
ここでは、優先保持指示リスト(S5)にデータブロックID“4”が登録されているため、配信サーバ10が返却するレスポンス(8−4)に含まれる保持データブロックIDリスト(C3)に、該データブロックID“4”を設定する。この設定は、通常保持指示リスト(S4)のデータブロックIDより優先して設定する。保持データブロックIDリスト(C3)にデータブロックID“4”を設定すると、該データブロックID“4”を優先保持指示リスト(S5)から消去する。この生成は、図10に示すフロー処理によって行われる。
Here, since the data block ID “4” is registered in the priority holding instruction list (S5), the holding data block ID list (C3) included in the response (8-4) returned by the
[コンテンツ情報及び生成情報をクライアントへの返却]
配信サーバ10は、クライアント13に対して、コンテンツ視聴要求(8−1)のレスポンス(8−4)を返却する。このレスポンス(8−4)には、要求先ピア候補リスト(C2)、コンテンツ情報(C1)及び保持データブロックIDリスト(C3)が情報として含まれている。
[Return content information and generation information to the client]
The
この際、保持データブロックIDリスト(C3)によって指定されるデータブロックID“4”は、配信サーバ10がネットワーク上で保持しているピアが不足していると見なしたものである。この構成によって、ネットワーク上のアクティブなピアが保持するデータブロックIDが均一化されることになり、ピア環境拡充期からピア環境成熟期への早期移行が可能となり、配信サーバに負担を掛けないストリーミング配信サービスが可能となる。
At this time, the data block ID “4” specified by the retained data block ID list (C3) is regarded as a shortage of peers that the
[要求先ピア候補リスト(C2)生成フロー]
要求先ピア候補リスト(C2)生成のフロー処理を、図9を参照して説明する。配信サーバは、コンテンツ配信情報を参照し(9−1)、データブロックIDの最初から最後までに対して以下の処理を繰り返し実施する(9−2)。ピアリスト(S3)を参照し(9−3)、要求先ピア候補数だけ以下の処理を繰り返し実施する(9−4)。
[Requested Peer Candidate List (C2) Generation Flow]
The flow process for generating the request destination peer candidate list (C2) will be described with reference to FIG. The distribution server refers to the content distribution information (9-1), and repeatedly performs the following processing on the data block ID from the beginning to the end (9-2). The peer list (S3) is referred to (9-3), and the following process is repeated for the number of requested peer candidates (9-4).
ピアリスト(S3)に最後に格納されたピアから順番に、データブロックIDに対応するピアのIPアドレス及びポート番号を取得する(9−5)。この処理において、ピアリスト(S3)に最後に格納されたピアから順番にピア候補を検索していることに注目されたい。 The peer IP address and port number corresponding to the data block ID are obtained in order from the last peer stored in the peer list (S3) (9-5). It should be noted that in this process, peer candidates are searched in order from the last peer stored in the peer list (S3).
データブロックを保持したピアの情報がピアリスト(S3)に次々と格納されていく中で、より新しく登録されたピアをデータブロック配信のピア候補とする。これによって、ピア候補に選定されたピアが、実際にデータブロック配信可能なアクティブピアとなる可能性が高まり、ストリーム配信サービスがスムーズに提供されることとなる。 As information on peers holding data blocks is successively stored in the peer list (S3), more newly registered peers are set as peer candidates for data block distribution. As a result, the possibility that the peer selected as the peer candidate becomes an active peer that can actually deliver the data block increases, and the stream delivery service is smoothly provided.
[保持データブロックID決定フロー]
保持データブロックIDリスト(C3)生成のフロー処理を、図10を参照して説明する。配信サーバは、まず、優先保持指示リスト(S5)を参照し(10−1)、優先保持指示リスト(S5)が空か否かを判定する(10−2)。優先保持指示リスト(S5)が空でない場合、優先保持指示リスト(S5)に格納されたデータブロックIDの少なくとも1つを取り出し(10−3)、該データブロックIDをクライアントへの保持データブロックIDリスト(C3)に設定する(10−4)。このとき優先保持指示リスト(S5)から取り出したデータブロックIDは、優先保持指示リスト(S5)から消去する。
[Retention Data Block ID Determination Flow]
The flow process for generating the retained data block ID list (C3) will be described with reference to FIG. The distribution server first refers to the priority holding instruction list (S5) (10-1) and determines whether the priority holding instruction list (S5) is empty (10-2). When the priority holding instruction list (S5) is not empty, at least one of the data block IDs stored in the priority holding instruction list (S5) is extracted (10-3), and the data block ID is stored in the client. Set to list (C3) (10-4). At this time, the data block ID extracted from the priority holding instruction list (S5) is deleted from the priority holding instruction list (S5).
また、優先保持指示リスト(S5)が空の場合、通常保持指示リスト(S4)を参照し(10−5)、通常保持指示リスト(S4)が空か否かを判定する(10−6)。通常保持指示リスト(S4)が空の場合、通常保持指示リスト(S4)に当該コンテンツのデータブロックIDを登録する(10−7)。 When the priority holding instruction list (S5) is empty, the normal holding instruction list (S4) is referred to (10-5), and it is determined whether the normal holding instruction list (S4) is empty (10-6). . When the normal holding instruction list (S4) is empty, the data block ID of the content is registered in the normal holding instruction list (S4) (10-7).
次に、通常保持指示リスト(S4)からデータブロックIDの少なくとも1つを取り出し(10−8)、取り出したデータブロックIDをクライアントへの保持データブロックIDリスト(C3)に設定する(10−9)。このとき通常保持指示リスト(S4)から取り出したデータブロックIDは、通常保持指示リスト(S4)から消去する。 Next, at least one data block ID is extracted from the normal holding instruction list (S4) (10-8), and the extracted data block ID is set in the holding data block ID list (C3) to the client (10-9). ). At this time, the data block ID extracted from the normal holding instruction list (S4) is deleted from the normal holding instruction list (S4).
[クライアントにおけるストリーミング視聴要求フロー]
クライアントにおけるストリーミング視聴要求の処理フローを、図11を参照して説明する。クライアントは、コンテンツ情報(C1)を参照し(11−1)、データブロックIDの最初から最後までに対して以下の処理を繰り返し実施する(11−2)。まず、要求先ピア候補リスト(C2)を参照し(11−3)、データブロックIDに対応する接続先ピア候補を取り出す(11−4)。
[Streaming view request flow at the client]
A processing flow of a streaming viewing request in the client will be described with reference to FIG. The client refers to the content information (C1) (11-1), and repeats the following processing from the beginning to the end of the data block ID (11-2). First, the request destination peer candidate list (C2) is referred to (11-3), and a connection destination peer candidate corresponding to the data block ID is extracted (11-4).
取り出した要求先ピア候補にストリーミング視聴要求を送信する(11−5)。該ストリーミング視聴要求に対する応答として、視聴要求が可(OK)であるか判定する(11−6)。不可(NG)である場合、該ピア候補を要求不可ピアリスト(C5)に登録して更新する(11−7)。そして、要求先ピア候補リスト(C2)の最後の要求先ピア候補かを判定し(11−8)、最後でなければ、次の要求先ピア候補を取り出し(11−9)、フロー11−5に戻って同様の処理を繰り返す。 A streaming viewing request is transmitted to the retrieved request destination peer candidate (11-5). As a response to the streaming viewing request, it is determined whether the viewing request is permitted (OK) (11-6). If it is not possible (NG), the peer candidate is registered in the request impossible peer list (C5) and updated (11-7). Then, it is determined whether it is the last request destination peer candidate in the request destination peer candidate list (C2) (11-8), and if it is not the last, the next request destination peer candidate is extracted (11-9), and the flow 11-5. Go back to and repeat the same process.
一方、最後の要求先ピア候補である場合、配信サーバにストリーミング視聴要求を送信する(11−10)。処理フロー11−6で視聴要求が可(OK)であった場合、又は配信サーバにストリーミング視聴要求を行った後、保持データブロックIDとストリーミング視聴要求を行ったデータブロックIDとが一致するかを判定する(11−11)。 On the other hand, if it is the last request destination peer candidate, a streaming viewing request is transmitted to the distribution server (11-10). If the viewing request is acceptable (OK) in the processing flow 11-6, or after making a streaming viewing request to the distribution server, whether the retained data block ID matches the data block ID that made the streaming viewing request. Determine (11-11).
一致した場合、クライアントでは、ストリーミング視聴処理と共に、該データブロックの保持を実施する(11−12)。一方、不一致の場合、ストリーミング視聴処理のみを行う(11−13)。以上までの処理を、データブロックIDの最初から最後までに対して繰り返し実施する(11−14)。これらの処理の終了後、配信サーバに完了通知を送信する(11−15)。 If they match, the client holds the data block together with the streaming viewing process (11-12). On the other hand, if they do not match, only streaming viewing processing is performed (11-13). The above processing is repeated for the data block ID from the beginning to the end (11-14). After completion of these processes, a completion notice is transmitted to the distribution server (11-15).
[配信サーバにおけるピアリストの更新フロー]
配信サーバにおけるピアリストの更新の処理フローを、図12を参照して説明する。配信サーバは、クライアントから完了通知を受信すると(12−1)、受信した完了通知のピアの情報をピアリスト(S3)の最後に追加する(12−2)。
[Peer list update flow on distribution server]
A processing flow for updating the peer list in the distribution server will be described with reference to FIG. When the distribution server receives the completion notification from the client (12-1), it adds the peer information of the received completion notification to the end of the peer list (S3) (12-2).
[ピアにおけるストリーミング視聴要求受信フロー]
ピアにおけるストリーミング視聴要求受信の処理フローを、図13を参照して説明する。ピアは、ストリーミング視聴要求を受信すると(13−1)、要求されたコンテンツID及びデータブロックIDを取得する(13−2)。
[Streaming request reception flow at peer]
A processing flow for receiving a streaming viewing request at the peer will be described with reference to FIG. Upon receiving the streaming viewing request (13-1), the peer acquires the requested content ID and data block ID (13-2).
そして、保持データブロックIDリスト(C3)を参照し(13−3)、要求されたコンテンツID及びデータブロックIDに対応するデータブロックを保持しているか判定する(13−4)。保持していない場合は、要求不可(NG)の応答を送信する(13−5)。保持している場合は、要求されたデータブロックIDに対応するストリーミングデータを抽出する(13−6)。そして、該ストリーミングデータの配信を実施する(13−7)。 Then, the stored data block ID list (C3) is referred to (13-3), and it is determined whether the data block corresponding to the requested content ID and data block ID is stored (13-4). If not held, a request impossible (NG) response is transmitted (13-5). If it is held, the streaming data corresponding to the requested data block ID is extracted (13-6). Then, the streaming data is distributed (13-7).
[配信サーバにおけるストリーミング視聴要求受信フロー]
配信サーバにおけるストリーミング視聴要求受信の処理フローを、図14を参照して説明する。配信サーバは、ストリーミング視聴要求を受信し(14−1)、要求不可(NG)ピアリスト(S6)の情報を取得する(14−2)。
[Streaming request reception flow in distribution server]
A processing flow for receiving a streaming viewing request in the distribution server will be described with reference to FIG. The distribution server receives the streaming viewing request (14-1), and obtains information of the request impossible (NG) peer list (S6) (14-2).
要求不可(NG)ピアリスト(S6)に設定されたピア数だけ、以下の処理を繰り返し実施する(14−3)。まず、ピアリスト(S3)を参照し(14−4)、要求不可(NG)ピアリスト(S6)に設定されたピアと、コンテンツID、データブロックID及びIPアドレスが一致するピアがピアリスト(S3)に存在するか判定する(14−5)。 The following processing is repeated for the number of peers set in the request impossible (NG) peer list (S6) (14-3). First, referring to the peer list (S3) (14-4), the peers set in the request-impossible (NG) peer list (S6) and the peers whose content ID, data block ID, and IP address match are peer lists ( It is determined whether it exists in S3) (14-5).
存在する場合、ピアリスト(S3)から該当のピア情報を削除する(14−6)。以上の処理を、要求不可(NG)ピアリスト(S6)に設定されたピア数だけ繰り返し実施する(14−7)。次に、ピアリスト(S3)に一定数以上のピアが登録されているかを判定する(14−8)。 If it exists, the corresponding peer information is deleted from the peer list (S3) (14-6). The above processing is repeated for the number of peers set in the request impossible (NG) peer list (S6) (14-7). Next, it is determined whether a certain number or more of peers are registered in the peer list (S3) (14-8).
ピアリスト(S3)に一定数以上のピアが登録されている場合、即ち、ピア環境成熟期である場合、要求不可(NG)ピアリスト(S6)に設定されたデータブロックIDを、優先保持指示リスト(S5)に登録する(14−9)。 When a predetermined number or more of peers are registered in the peer list (S3), that is, when the peer environment is mature, the data block ID set in the non-requestable (NG) peer list (S6) Register in the list (S5) (14-9).
ピアリスト(S3)に一定数以上のピアが登録されていない場合、即ち、コンテンツ配信初期のピア環境拡充期である場合、優先保持指示リスト(S5)を使用せず、通常保持指示リスト(S4)のみを使用することとするため、優先保持指示リスト(S5)には何も登録しない。 When a certain number or more of the peers are not registered in the peer list (S3), that is, when the peer environment expansion period is the initial stage of content distribution, the priority holding instruction list (S5) is not used and the normal holding instruction list (S4) is used. ) Is used, nothing is registered in the priority holding instruction list (S5).
次に、要求されたデータブロックIDに対応するストリーミングデータを抽出する(14−10)。そして、該ストリーミングデータを、ストリーミング視聴要求を送信したクライアントに配信する(14−11)。 Next, streaming data corresponding to the requested data block ID is extracted (14-10). Then, the streaming data is distributed to the client that transmitted the streaming viewing request (14-11).
10 配信サーバ
11〜13 クライアント
21〜25 ピア
S1 コンテンツ情報
S2 コンテンツの実体データ
S3 ピアリスト
S4 通常保持指示リスト
S5 優先保持指示リスト
S6 要求不可ピアリスト
C1 コンテンツ情報
C2 要求先ピア候補リスト
C3 保持データブロックIDリスト
C4 保持データブロックの実体データ
C5 要求不可ピアリスト
DESCRIPTION OF
Claims (7)
前記クライアント装置は、前記データブロックの配信要求を、前記配信サーバ装置から通知された各ピア装置に対して行い、該データブロックの配信要求に対して、配信不可を示す応答が返送されたとき、該配信不可のデータブロックの配信要求を前記配信サーバ装置に送信するステップと、
前記配信サーバ装置は、前記クライアント装置からのデータブロックの配信要求を受けたとき、該データブロックを該クライアントに配信すると共に、該データブロックをピア装置に優先的に保持するよう指示するステップと、
を含むことを特徴とするストリーミング配信方法。 The actual data of the content is divided into a plurality of data blocks, each data block is held by the distribution server device and the plurality of peer devices, and each data block of the content is received in response to a content viewing request from the client device. In the streaming distribution method of distributing from each peer device or distribution server device,
The client device makes a delivery request for the data block to each peer device notified from the delivery server device, and when a response indicating that delivery is impossible is returned to the delivery request for the data block, Transmitting a distribution request for the non-distributable data block to the distribution server device;
When the distribution server device receives a data block distribution request from the client device, the distribution server device distributes the data block to the client and instructs the peer device to preferentially hold the data block;
A streaming distribution method comprising:
前記クライアント装置からの前記データブロックの保持結果の通知を受け、該データブロックの保持結果を基に、前記ピア装置のデータブロック保持状況を示すピアリストに、該クライアント装置をピア装置として登録するステップと、
を含むことを特徴とする請求項1又は2に記載のストリーミング配信方法。 The distribution server device instructs the client device to hold a partial data block of the content;
Receiving a notification of the data block holding result from the client device, and registering the client device as a peer device in a peer list indicating a data block holding status of the peer device based on the data block holding result When,
The streaming delivery method according to claim 1 or 2, characterized by comprising:
前記配信サーバで、前記データブロック配信不可のピア装置を、前記ピアリストから消去するステップと、
を含むことを特徴とする請求項3に記載のストリーミング配信方法。 In response to a data block delivery request from the client device to the peer device, when receiving a response indicating that delivery is not possible from the peer device, the identification information of the peer device that is unable to deliver the data block is recorded by the client device. Notifying the server device;
Deleting from the peer list the peer device that is unable to deliver the data block at the distribution server;
The streaming delivery method according to claim 3, further comprising:
前記クライアント装置に、前記ピア装置の識別情報を通知する際に、該クライアントに保持させるデータブロックを指示する手段と、
前記クライアント装置からデータブロックの配信要求を受信したとき、該データブロックを該クライアント装置に配信すると共に、該データブロックをピア装置に優先的に保持するよう指示する手段と、
を備えたことを特徴とする配信サーバ装置。 Holds each data block obtained by dividing the actual content data, and also holds a peer list indicating the identification information of the peer device that holds each data block, and holds the data block in response to a content viewing request from the client device. In the distribution server that notifies the identification information of the peer device
Means for instructing data blocks to be held by the client device when notifying the identification information of the peer device to the client device;
Means for instructing the peer device to preferentially hold the data block while delivering the data block to the client device upon receiving a data block delivery request from the client device;
A distribution server device comprising:
前記ピア装置から配信不可の応答を受けたとき、該データブロック配信不可のピア装置の識別情報を記録し、前記配信サーバ装置に通知する手段と、
前記配信サーバ又は前記ピア装置から配信されたデータブロックのうち、前記配信サーバから指示されたデータブロックを保持する手段と、
を備えたことを特徴とするクライアント装置。 In response to a content viewing request, a client that receives identification information of a peer device that holds each data block obtained by dividing the actual data of the content from a distribution server, and transmits a distribution request for each data block to the peer device In the device
Means for recording identification information of the peer device that cannot deliver the data block and notifying the delivery server device when receiving a non-delivery response from the peer device;
Means for holding a data block instructed from the distribution server among data blocks distributed from the distribution server or the peer device;
A client device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010064786A JP2011199644A (en) | 2010-03-19 | 2010-03-19 | Streaming delivery method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010064786A JP2011199644A (en) | 2010-03-19 | 2010-03-19 | Streaming delivery method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011199644A true JP2011199644A (en) | 2011-10-06 |
Family
ID=44877274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010064786A Pending JP2011199644A (en) | 2010-03-19 | 2010-03-19 | Streaming delivery method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011199644A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013187638A (en) * | 2012-03-06 | 2013-09-19 | Nippon Hoso Kyokai <Nhk> | Terminal device used for p2p network service, communication system and program |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006074744A (en) * | 2004-09-03 | 2006-03-16 | Microsoft Corp | System and method for distributed streaming of scalable media |
JP2006178782A (en) * | 2004-12-22 | 2006-07-06 | Fuji Xerox Co Ltd | Information processing method, delivery information processing method, delivery information processing program and delivery processor |
JP2009031894A (en) * | 2007-07-25 | 2009-02-12 | Himacs Ltd | Content distribution system, management server content distribution program, and client content distribution program |
WO2009029071A1 (en) * | 2007-08-30 | 2009-03-05 | Thomson Licensing | A unified peer-to-peer and cache system for content services in wireless mesh networks |
JP2009205197A (en) * | 2008-02-26 | 2009-09-10 | Nippon Telegr & Teleph Corp <Ntt> | Cgm distribution system and cgm distribution method |
-
2010
- 2010-03-19 JP JP2010064786A patent/JP2011199644A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006074744A (en) * | 2004-09-03 | 2006-03-16 | Microsoft Corp | System and method for distributed streaming of scalable media |
JP2006178782A (en) * | 2004-12-22 | 2006-07-06 | Fuji Xerox Co Ltd | Information processing method, delivery information processing method, delivery information processing program and delivery processor |
JP2009031894A (en) * | 2007-07-25 | 2009-02-12 | Himacs Ltd | Content distribution system, management server content distribution program, and client content distribution program |
WO2009029071A1 (en) * | 2007-08-30 | 2009-03-05 | Thomson Licensing | A unified peer-to-peer and cache system for content services in wireless mesh networks |
JP2009205197A (en) * | 2008-02-26 | 2009-09-10 | Nippon Telegr & Teleph Corp <Ntt> | Cgm distribution system and cgm distribution method |
Non-Patent Citations (2)
Title |
---|
JPN6013055430; 中村聡史ほか: 'P2P型ウェブコンテンツ共有における相関性を考慮したキャッシングシステムの実現' 第15回データ工学ワークショップ(DEWS2004)論文集 , 2004 * |
JPN6013055433; Ying, L. and Basu, A.: pcVOD: Internet Peer-to-Peer Video-On-Demand with Storage Caching on Peers , 2005 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013187638A (en) * | 2012-03-06 | 2013-09-19 | Nippon Hoso Kyokai <Nhk> | Terminal device used for p2p network service, communication system and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7379967B2 (en) | Download method for file by bit torrent protocol | |
JP5223480B2 (en) | Content distribution method and communication terminal device | |
US10506062B2 (en) | Network-optimized content delivery for high demand non-live contents | |
US8838811B2 (en) | Method and system for scalable content storage and delivery | |
JP4920038B2 (en) | User log information management method and system using location servers belonging to a plurality of groups | |
US9635107B2 (en) | System and method for managing data delivery in a peer-to-peer network | |
CN100588172C (en) | System and method for realizing network reserved storage | |
CN101938508B (en) | Method and system for shortening time delay in peer-to-peer network streaming media live broadcast system | |
KR101485610B1 (en) | Distributed content delivery system based on network awareness and method thereof | |
CN100544261C (en) | A Data Distribution/Acquisition Method Based on Network Information | |
EP3242463B1 (en) | Content distribution method and system for mobile terminal application | |
WO2007026443A1 (en) | Content delivery method, content delivery server, communication terminal apparatus, and content delivery system | |
EP3087722B1 (en) | Peer-to-peer network prioritizing propagation of objects through the network | |
CN102067102A (en) | Installed game software sharing via peer-to-peer networkfield of the invention | |
CN102420863B (en) | Rapid file distribution system, method thereof and apparatus thereof | |
CN101841557B (en) | P2P streaming media downloading method and system based on orthogonal list | |
JP2012216973A (en) | P2p advertisement distribution method and system | |
CN101883124B (en) | Data downloading method, device and system of on-demand system | |
JP2011199644A (en) | Streaming delivery method | |
KR100823730B1 (en) | P2P based streaming service providing method and apparatus, streaming service system using same | |
JP2006099723A (en) | Content distribution system | |
JP5470148B2 (en) | Node device and computer program | |
CN102651757A (en) | Method and system for distributing peer-to-peer (P2P) contents | |
JP4894838B2 (en) | Karaoke network system and karaoke device | |
KR101257579B1 (en) | Peer-to-peer overlay system and method for real time streaming service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110915 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130108 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131025 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140513 |