説明

クライアント装置およびその制御方法

【課題】複数のクライアント装置間でデータの転送を行う通信ネットワークにおいて、データ転送を継続できない場合であっても、データの受信を継続することができる。
【解決手段】一のクライアント装置から転送されたデータを受信するクライアント装置において、当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持する接続候補保持手段と、前記一のクライアント装置に関する所定のイベントの発生を検知するイベント発生検知手段と、前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択する接続先選択手段と、前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するデータ転送要求手段と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストリーミング配信における技術に関する。
【背景技術】
【0002】
従来、ストリーミング配信は、各クライアントがストリーミング配信サーバへ配信要求を行い、配信サーバが各クライアントへストリーミング配信を実施していた。つまり、クライアントとストリーミング配信サーバとが1対1のユニキャスト配信を行う形態である。
【0003】
一般的にストリーミングに用いられる動画データ等は大容量であり、配信先であるクライアント数が増加すればそれに比例してネットワークの利用帯域は非常に大きくなり、配信サーバの処理負担も大きい。また、コンテンツの配信中は、これらネットワーク及び配信サーバの処理負担は大きいまま継続される。
【0004】
このネットワーク及び配信サーバの処理負担を軽減させる方法の一つとして、クライアントが受信したストリーミングデータを別のクライアントへ転送するP2P(Peer to Peer)を利用したストリーミング配信方法が考えられている(特許文献1等)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−82924号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記のP2Pを利用したストリーミング配信方法では、データ転送を請け負っていたクライアントが何らかの理由により当該データ転送を中止することがあることを考慮する必要がある。この場合、当該クライアントを介してストリーミングデータを受信していた別のクライアントは、転送を受けていたデータを受信することができなくなるという問題点がある。また、データ転送を受けていたクライアントが別ルートでデータ配信を受ける場合、配信ルートの変更に時間が掛かれば、配信ルート変更処理の間はストリーミングデータの受信が中断されてしまうという問題点がある。
【0007】
そこで、本発明では、複数のクライアント装置間でデータの転送を行う通信ネットワークにおいて、データ転送を行っていたクライアント装置が当該データ転送を継続できない場合であっても、データの受信を継続するクライアント装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
開示のクライアント装置の一形態では、データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置であって、当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持する接続候補保持手段と、前記一のクライアント装置に関する所定のイベントの発生を検知するイベント発生検知手段と、前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択する接続先選択手段と、前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するデータ転送要求手段と、を有することを特徴とする。
【発明の効果】
【0009】
開示のクライアント装置では、複数のクライアント装置間でデータの転送を行う通信ネットワークにおいて、データ転送を行っていたクライアント装置が当該データ転送を継続できない場合であっても、データの受信を継続することができる。
【図面の簡単な説明】
【0010】
【図1】本実施の形態に係るクライアント装置を含むデータ配信システムの機能ブロック図である。
【図2】本実施の形態に係るクライアント装置を含むデータ配信システムの構成図である。
【図3】本実施の形態に係るデータ構成の一例を示す図である。
【図4】本実施の形態に係る閲覧者リストの一例を示す図である。
【図5】本実施の形態に係る接続先候補リストの一例を示す図である。
【図6】本実施の形態に係る接続中子リストの一例を示す図である。
【図7】本実施の形態に係る受信データバッファの一例の模式図である。
【図8】本実施の形態に係る受信データバッファ管理情報リストの一例を示す図である。
【図9】本実施の形態に係るクライアント装置を含むデータ配信システムにおける配信処理の流れを示すシーケンス図である。
【図10】本実施の形態に係るクライアント装置を含むデータ配信システムにおける親クライアント切り替え処理(その1)の流れを示すシーケンス図である。
【図11】本実施の形態に係るクライアント装置を含むデータ配信システムにおける親クライアント切り替え処理(その2)の流れを示すシーケンス図である。
【図12】本実施の形態に係るクライアント装置を含むデータ配信システムにおけるセカンダリ接続先の変更処理の流れを示すシーケンス図である。
【図13】本実施の形態に係るクライアント装置を含むデータ配信システムにおける子クライアント停止時処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【0011】
図面を参照しながら、本発明を実施するための最良の形態について説明する。
【0012】
(本実施の形態に係るクライアント装置の動作原理)
図1を用いて、本実施の形態に係るクライアント装置100の動作原理について説明する。図1は、クライアント装置100を含むデータ配信システム200の機能ブロック図である。図1で示すように、データ配信システム200は、クライアント装置100、データ配信装置170、一のクライアント装置180、他のクライアント装置190を有する。
【0013】
データ配信システム200において、一のクライアント装置180はデータ配信装置170が配信するストリーミングデータ(以下、単にデータという。)を一旦受信し、受信したデータをクライアント装置100に転送する。また、他のクライアント装置190もデータ配信装置170が配信するデータを受信しており、クライアント装置100に転送することが可能である。
【0014】
図1で示すようにクライアント装置100は、接続先候補保持手段110、イベント発生検知手段120、接続先選択手段130、データ転送要求手段140、接続先候補情報150、バッファ160を有する。
【0015】
接続先候補保持手段110は、接続先候補情報150を保持する。ここで、接続先候補情報150とは、データ配信システム200内のクライアント装置のうち、クライアント装置100が接続しているクライアント装置であって、データ配信装置170により配信されるデータの転送を依頼することが可能なクライアント装置のリスト情報である。接続先候補情報150では複数のクライアント装置をリスト化し、各クライアント装置には優先順位を付与する。データ配信システム200における配信開始時の処理としては、クライアント装置100がデータ配信装置170に対してデータの配信要求を行い、データ配信装置170から接続先候補情報150を取得する。続いて、接続先候補情報150内で優先順位の最も高い一のクライアント装置180にデータの転送を要求(接続)し、一のクライアント装置180からデータの転送を受ける。
【0016】
また、接続先候補情報150では、クライアント装置100とのネットワーク距離(例えば、伝搬遅延時間)が近いクライアント装置ほど高い優先順位を付与される。さらに、接続先候補情報150では、当該ネットワーク距離の条件に加え、接続先となるクライアント装置の処理能力、通信経路のトラフィックを考慮して、優先順位を付与しても良い。
【0017】
また、接続先候補情報150は、クライアント装置間の接続状態、各クライアント装置の処理能力、及びデータ配信システム200内のトラフィック状況を保持する他の装置、例えば、データ配信装置170で生成され、クライアント装置100に通知される。こうすることによって、データ配信システム200内の各クライアント装置が接続先候補情報150を生成するための情報を個別に収集する必要がないため、データ配信システム200内のデータ通信量を低く抑えることができる。また、各クライアント装置に特別な機能を要求する必要がないため、データ配信システム200の構築が容易となる。
【0018】
バッファ160は、一のクライアント装置180から転送されるデータを受信した後、当該受信データを一時的に蓄積させるためのバッファであり、蓄積されたデータは、先入れ先出しの規則に従い、蓄積時から一定時間経過後消去される。
【0019】
イベント発生検知手段120は、データ転送を受けている一のクライアント装置180から、所定のイベントが発生した旨の通知を取得する。ここで、所定のイベントには、視聴停止等何らかの理由により、一のクライアント装置180がクライアント装置100に対するデータ転送を停止することが含まれる。そして、イベント発生検知手段120は、上記通知を取得した場合に、一のクライアント装置180で所定のイベントが発生したことを検知する。
【0020】
また、イベント発生検知手段120は、バッファ160に蓄積されるデータ量を監視し、当該蓄積されるデータ量が所定の閾値を下回った場合に、一のクライアント装置180又は通信経路上で所定のイベントが発生したことを検知する。このように、イベント発生検知手段120は、バッファ160に蓄積されるデータ量を監視することにより、一のクライアント装置180から正常にデータが転送されているか否かを確認することができる。そのため、イベント発生検知手段120は、バッファ160に蓄積されるデータ量が所定の閾値を下回った場合、一のクライアント装置180から正常にデータが転送されていないと判断する。
【0021】
また、イベント発生検知手段120は、バッファ160の使用率(=「バッファ160の蓄積データ量」/「バッファ160の記憶容量」)が所定の閾値を下回った場合に、一のクライアント装置180又は通信経路上で所定のイベントが発生したことを検知する形態としても良い。この場合も、接続先選択手段130は、バッファ160の使用率を監視することにより、一のクライアント装置180から正常にデータが転送されているか否かを確認することができる。
【0022】
接続先選択手段130は、一のクライアント装置180に関する所定のイベントの発生が検知された場合、接続先候補情報150の中から、一のクライアント装置180に代わってデータの転送を依頼する他のクライアント装置190を1つ選択する。また、接続先選択手段130は、接続先候補情報150の中から、一のクライアント装置180に次ぐ優先順位を付与されている他のクライアント装置190を選択する。
【0023】
データ転送要求手段140は、他のクライアント装置190に対し、クライアント装置100にデータの転送を行うよう依頼(要求)する。そして、他のクライアント装置190は、クライアント装置100からの依頼に応じ、クライアント装置100に対するデータの転送を開始する。
【0024】
ここで、装置間で転送するストリーミングデータは、動画像データ又は音声データであり、個々の画像データ又は音声データには各データを識別する識別情報が含まれている。当該識別情報は、時刻情報でも良く、一連の動画像データ又は音声データ内でデータの順序性を示すシーケンス番号でも良い。データ転送要求手段140の別形態では、特定の識別情報を含む画像データ又は音声データ以降のデータをクライアント装置100に転送するよう依頼(要求)する。こうすることにより、データ転送先の切り替え前後で、受信するデータが不連続とならないようにすることができる。
【0025】
上記のような動作原理に基づき、開示のクライアント装置100では、複数のクライアント装置間でデータの転送を行う通信ネットワークにおいて、データ転送を行っていたクライアント装置が当該データ転送を継続できない場合であっても、データの受信を継続することができる。
【0026】
ここで、クライアント装置100はCPU(Central Processing Unit)、ROM(Read-Only Memory)、HDD(Hard Disc Drive)等を備える。そして、クライアント装置100が有する各手段は、CPUがROM又はHDDに記憶された各手段に対応するプログラムを実行することにより実現される。また、クライアント装置100が有する各手段は、当該各手段に関する処理をハードウェアとして実現しても良い。
【0027】
(本実施の形態に係るクライアント装置を含むデータ配信システムによる処理例)
図2乃至図13を用いて、クライアント装置100を含むデータ配信システム200による処理例を説明する。図2で示すように、データ配信システム200は、ストリーミング配信サーバ170、クライアントA180、クライアントB100、クライアントC190、クライアントD、クライアントMを有する。
【0028】
ここで、ストリーミング配信サーバ170は、アクセスポイント1、10を介してクライアントA180、クライアントC190に、アクセスポイント1、11を介してクライアントMにそれぞれ接続し、各クライアントに対しストリーミングデータ(以下、単にデータという。)を配信する。そして、クライアントA180は、クライアントB100に対しデータを転送し、クライアントB100は、クライアントDに対しデータを転送する。
【0029】
また、図3で示すように、ストリーミング配信サーバ170は、閲覧者リスト210を有し、各クライアントは、接続先候補リスト150、接続中子リスト220、受信データバッファ160、受信データバッファ管理情報リスト230を有する。
【0030】
図4に閲覧者リスト210の一例を示す。閲覧者リスト210は、データ配信クライアントのネットワーク上のID(IPアドレス等)である「閲覧クライアント」、「閲覧クライアント」からストリーミング配信サーバ170までの接続経路である「ルート情報」を保持する。さらに、閲覧者リスト210では、「閲覧クライアント」毎に、その他の「閲覧クライアント」の中から所定の基準で決定される「接続先候補」を設定する。「接続候補先」は、接続済みである接続先を示す「プライマリ接続先」と、「プライマリ接続先」がストリーミング配信サーバ170との接続を停止する場合等、接続の切り替え先候補を示す「セカンダリ接続先」とで構成される。
【0031】
図5に接続先候補リスト150の一例を示す。図5では、クライアントB100が有する接続先候補リスト150の例を示し、クライアントA180からデータの転送を受けており、接続の切り替え先候補はクライアントC190で有ることを示している。また、接続先候補リスト150は、接続先候補保持手段110によって保持される。
【0032】
図6に接続中子リスト220の一例を示す。図6では、クライアントA180が有する接続中子リスト220の例を示し、クライアントA180はクライアントB100に対しデータの転送を行っていることを示している。
【0033】
図7に受信データバッファ160の一例を示す。図7では、識別情報として時刻「00:01:50」を含む受信データを先頭に配置し、時刻「00:02:20」を含む受信データを最後尾に配置して、データを一時蓄積していることを示す。また、図7では、受信データバッファ160の記憶領域には空きがあることを示している。
【0034】
図8に受信データバッファ管理情報リスト230の一例を示す。図8では、受信データバッファ160から抽出した先頭データの識別情報「00:01:50」、最後尾データの識別情報「00:02:20」、及び先頭データと最後尾データとの時刻差に適用する閾値を含む。当該閾値は、データ転送元である親クライアントとの接続異常を検知するために使用する。
【0035】
(1)データ配信システム200における配信処理
図9で示すシーケンス図を用いて、データ配信システム200におけるストリーミングデータ配信処理について説明する。ここでは、クライアントA180がストリーミング配信サーバ170からストリーミングを視聴している状態で、クライアントB100が新たにデータの配信要求を行う場合の処理の流れを説明する。
【0036】
S10でストリーミング配信サーバ170が、クライアントA180に対しデータの配信を行っている。S20でクライアントB100が、ストリーミング配信サーバ170に対しデータの配信開始を要求する。S30でストリーミング配信サーバ170が、クライアントB100の要求を受け付け、当該要求に応じて下記の処理を行う。
【0037】
S30でストリーミング配信サーバ170は、クライアントB100・ストリーミング配信サーバ170間の経路情報を収集する。そして、ストリーミング配信サーバ170は、図4で示すように閲覧者リスト210の「閲覧クライアント」としてクライアントB100を登録すると共に、収集した経路情報を「ルート情報」に登録する。次に、ストリーミング配信サーバ170は、閲覧者リスト210の「閲覧クライアント」に登録されているクライアントの中から、クライアントB100にデータ転送可能なクライアントを2つ選択し、「接続先候補」に登録する。図4で示すように、ストリーミング配信サーバ170は、クライアントB100にデータ転送可能なクライアントとしてクライアントA180及びクライアントC190を選択する。その後、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントA180を登録し、「セカンダリ接続先」としてクライアントC190を登録する。
【0038】
S40でストリーミング配信サーバ170が、クライアントB100に対し、閲覧者リスト210の「プライマリ接続先」及び「セカンダリ接続先」に登録された2つのクライアントを通知する。つまり、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントA180を通知し、「セカンダリ接続先」としてクライアントC190を通知する。
【0039】
S50でクライアントB100が、ストリーミング配信サーバ170の通知を受信し、受信した通知内容に基づき接続先候補リスト150を生成する。つまり、クライアントB100は、「プライマリ接続先」をクライアントA180とし、「セカンダリ接続先」をクライアントC190とする通知を受信し、図5で示すように受信内容に基づく接続先候補リスト150を生成、保持する。
【0040】
S60でクライアントB100が、接続先候補リスト150において「プライマリ接続先」に設定されるクライアントA180に対し、データ転送(配信)の開始要求を行う。S70でクライアントA180が、クライアントB100の要求を受信すると共に、データ転送先としてクライアントB100を登録する。つまり、クライアントA180は、図6で示すように、自身がデータ転送を行う子クライアントとしてクライアントB100を登録する。S80でクライアントA180が、図6で示す接続中子リスト220に登録されたクライアントB100に対し、データ転送を開始する。
【0041】
一方、S90でストリーミング配信サーバ170がデータの配信を終了する場合、S100でストリーミング配信サーバ170が、クライアントA180に対し「データ配信を終了する旨」を表す情報を含むデータを配信する。そして、S110でクライアントA180が、クライアントB100に対し、ストリーミング配信サーバ170から受信した「データ配信を終了する旨」を表す情報を含むデータを転送する。
【0042】
上記のような処理によって、データ配信システム200では、所謂P2Pを利用したストリーミングデータの配信を行うことができる。
【0043】
(2)データ配信システム200における親クライアント切り替え処理(その1)
図10で示すシーケンス図を用いて、データ配信システム200において親クライアントを切り替える処理について説明する。ここでは、上記(1)で説明したようにクライアントB100がクライアントA180からデータの転送を受けている状態において、クライアントB100のデータ転送元をクライアントC190に切り替える処理の流れを説明する。
【0044】
S120−S140では、ストリーミング配信サーバ170がクライアントA180及びクライアントC190にデータ配信を行い、クライアントA180がクライアントB100にデータ転送を行っている。S150、S160でクライアントA180が、図6で示す接続中子リスト220を参照し、接続中子リスト220に登録されているクライアントB100及びストリーミング配信サーバ170に対しデータの視聴停止を通知する。
【0045】
S170でクライアントB100が、クライアントA180の視聴停止通知を受信した後、図5で示す接続先候補リスト150において「セカンダリ接続先」に設定したクライアントC190に対しデータ転送の開始要求を行う。S170における処理は、イベント発生検知手段120、接続先選択手段130、及びデータ転送要求手段140による処理に該当する。
【0046】
さらに、クライアントB100は、クライアントC190に対し、図7で示す受信データバッファ160内の最後尾にあるデータの時刻情報を通知し、通知した時刻情報以降の時刻情報を含むデータを転送するよう要求する。つまり、クライアントB100は、受信データバッファ160内の最後尾にあるデータの時刻情報「00:02:20」を通知し、時刻情報「00:02:21」の識別情報を含むデータ以降のデータを転送するよう要求する。この処理は、データ転送要求手段140による処理に該当する。
【0047】
S190でクライアントC190が、クライアントB100の要求を受信すると共に、データ転送先としてクライアントB100を登録する。つまり、クライアントC190は、図6で示すように、自身がデータ転送を行う子クライアントとしてクライアントB100を登録する。
【0048】
S200でクライアントC190が、図6で示す接続中リスト220に登録されたクライアントB100に対し、時刻情報「00:02:21」以降の識別情報を含むデータの転送を開始する。こうすることにより、データ転送元の変更を行う場合でも、クライアントB100は連続性のあるデータを途切れ無く受信することができる。
【0049】
一方、S210でストリーミング配信サーバ170が、クライアントA180の視聴停止通知を受信した後、図4で示す閲覧者リスト210のうち視聴停止通知を行ったクライアントA180を「接続先候補」とする内容を更新する。具体的には、ストリーミング配信サーバ170は、閲覧者リスト210のクライアントB100に係る「プライマリ接続先」を従来「セカンダリ接続先」であったクライアントC190に設定し、「セカンダリ接続先」をクライアントA180以外のクライアントの中から適宜設定する。
【0050】
S220でストリーミング配信サーバ170が、クライアントB100に対し、閲覧者リスト210の「プライマリ接続先」及び「セカンダリ接続先」に登録された2つのクライアントを通知する。つまり、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントC190を通知し、「セカンダリ接続先」として新たに設定したクライアントを通知する。S230でクライアントB100が、ストリーミング配信サーバ170の通知を受信し、受信した通知内容に基づき接続先候補リスト150を更新する。S230における処理は、接続先候補保持手段110による処理に該当する。
【0051】
(3)データ配信システム200における親クライアント切り替え処理(その2)
図11で示すシーケンス図を用いて、データ配信システム200において親クライアントを切り替える処理について説明する。ここでは、上記(1)で説明したようにクライアントB100がクライアントA180からデータの転送を受けている状態において、クライアントB100のデータ転送元をクライアントC190に切り替える処理の流れを説明する。
【0052】
S240−S260では、ストリーミング配信サーバ170がクライアントA180及びクライアントC190にデータ配信を行い、クライアントA180がクライアントB100にデータ転送を行っている。
【0053】
S270でクライアントB100が、図7で示す受信データバッファ160に蓄積されるデータ量の監視を行う中で、蓄積されるデータ量の不足を検知する。具体的には、クライアントB100は、図8で示す受信データバッファ管理情報リスト230を参照し、蓄積データの「先頭時刻」と「最後尾時刻」との差を算出し、算出した差と検出閾値とを比較する。そして、クライアントB100は、算出した差が検出閾値より小さい場合、蓄積されるデータ量の不足、つまり、データ転送元との接続に不具合があることを検知する。こうすることにより、子クライアントは親クライアントからの受信データ不足を検知したことを切っ掛けにして、自律的に親クライアントの切り替えを行うことで、子クライアントはデータの受信を継続することができる。
【0054】
S280、S290でクライアントB100が、データ転送元であるクライアントA180との接続の不具合を検知した後、図5で示す接続先候補リスト150において「セカンダリ接続先」に設定したクライアントC190に対しデータ転送の開始要求を行う。S280、290における処理は、イベント発生検知手段120、接続先選択手段130、及びデータ転送要求手段140による処理に該当する。
【0055】
さらに、クライアントB100は、クライアントC190に対し、図7で示す受信データバッファ160内の最後尾にあるデータの時刻情報を通知し、通知した時刻情報以降の時刻情報を含むデータを転送するよう要求する。つまり、クライアントB100は、受信データバッファ160内の最後尾にあるデータの時刻情報「00:02:20」を通知し、時刻情報「00:02:21」以降の識別情報を含むデータを転送するよう要求する。この処理は、データ転送要求手段140による処理に該当する。
【0056】
S300でクライアントC190が、クライアントB100の要求を受信すると共に、データ転送先としてクライアントB100を登録する。つまり、クライアントC190は、図6で示すように、自身がデータ転送を行う子クライアントとしてクライアントB100を登録する。
【0057】
S310でクライアントC190が、図6で示す接続中子リスト220に登録されたクライアントB100に対し、時刻情報「00:02:21」以降の識別情報を含むデータの転送を開始する。こうすることにより、データ転送元の変更を行う場合でも、クライアントB100は連続性のあるデータを途切れ無く受信することができる。
【0058】
S320でクライアントB100が、ストリーミング配信サーバ170に対し、図4で示す閲覧者リスト210の「接続先候補」を変更するよう要求する。S330でストリーミング配信サーバ170が、クライアントB100の変更要求を受信した後、クライアントA180に対し、子クライアントであるクライアントB100へのデータ転送の停止要求を通知する。S340でクライアントA180が、ストリーミング配信サーバ170の停止要求を受信した後、図6で示す接続中子リスト220からクライアントB100を削除する。
【0059】
一方、S350でストリーミング配信サーバ170が、図4で示す閲覧者リスト210のうちクライアントA180を「接続先候補」とする内容を更新する。具体的には、ストリーミング配信サーバ170は、閲覧者リストのクライアントB100に係る「プライマリ接続先」を従来「セカンダリ接続先」であったクライアントC190に設定し、「セカンダリ接続先」をクライアントA180以外のクライアントの中から適宜設定する。
【0060】
S360でストリーミング配信サーバ170が、クライアントB100に対し、閲覧者リスト210の「プライマリ接続先」及び「セカンダリ接続先」に登録された2つのクライアントを通知する。つまり、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントC190を通知し、「セカンダリ接続先」として新たに設定したクライアントを通知する。S370でクライアントB100が、ストリーミング配信サーバ170の通知を受信し、受信した通知内容に基づき接続先候補リスト150を更新する。S370における処理は、接続先候補保持手段110による処理に該当する。
【0061】
(4)データ配信システム200におけるセカンダリ接続先の変更処理
図12で示すシーケンス図を用いて、データ配信システム200においてセカンダリ接続先を変更する処理について説明する。ここでは、上記(1)で説明したようにクライアントB100がクライアントA180からデータの転送を受けている状態において、クライアントB100の「セカンダリ接続先」であるクライアントC190を変更する処理の流れを説明する。
【0062】
S380−S400では、ストリーミング配信サーバ170がクライアントA180及びクライアントC190にデータ配信を行い、クライアントA180がクライアントB100にデータ転送を行っている。
【0063】
S410でクライアントC190が、ストリーミング配信サーバ170に対し、ストリーミングの視聴停止を通知する。S420でストリーミング配信サーバ170が、クライアントC190の視聴停止通知を受信した後、図4で示す閲覧者リスト210のうち視聴停止通知を行ったクライアントC190を「接続先候補」とする内容を更新する。具体的には、ストリーミング配信サーバ170は、閲覧者リスト210のクライアントB100に係る「セカンダリ接続先」をクライアントC190以外のクライアントの中から適宜設定する。
【0064】
S430でストリーミング配信サーバ170が、クライアントB100に対し、閲覧者リスト210の「プライマリ接続先」及び「セカンダリ接続先」に登録された2つのクライアントを通知する。つまり、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントA180を通知し、「セカンダリ接続先」として新たに設定したクライアントを通知する。S440でクライアントB100が、ストリーミング配信サーバ170の通知を受信し、受信した通知内容に基づき接続先候補リスト150を更新する。S440における処理は、接続先候補保持手段110による処理に該当する。
【0065】
(5)データ配信システム200における子クライアント停止時処理
図13で示すシーケンス図を用いて、データ配信システム200において子クライアントが視聴停止する場合の処理について説明する。ここでは、上記(1)で説明したようにクライアントB100がクライアントA180からデータ転送を受け、さらにクライアントB100がクライアントDにデータ転送を行っている状態において、クライアントB100が視聴停止する場合の処理の流れを説明する。
【0066】
S450−S470では、ストリーミング配信サーバ170がクライアントA180にデータ配信を行い、クライアントA180がクライアントB100にデータ転送を行い、クライアントB100がクライアントDにデータ転送を行っている。S480−500でクライアントB100が、図6で示すような接続中子リスト220を参照しクライアントDに視聴停止を通知し、親クライアントであるクライアントA180に視聴停止を通知する。
【0067】
S510でクライアントA180が、クライアントB100の視聴停止通知を受信した後、図6で示す接続中子リスト220からクライアントB100を削除し、クライアントB100へのデータ転送を停止する。S520でクライアントB100が、ストリーミング配信サーバ170に対し視聴停止を通知する。
【0068】
S530でストリーミング配信サーバ170が、クライアントB100の視聴停止通知を受信した後、図4で示す閲覧者リストのうち視聴停止通知を行ったクライアントB100を「接続先候補」とする内容を更新する。具体的には、ストリーミング配信サーバ170は、閲覧者リスト210のクライアントD100に係る「プライマリ接続先」を従来「セカンダリ接続先」であったクライアントE(図2では図示せず)に設定し、「セカンダリ接続先」をクライアントB100以外のクライアントの中から適宜設定する。
【0069】
S540でストリーミング配信サーバ170が、クライアントDに対し、閲覧者リスト210の「プライマリ接続先」及び「セカンダリ接続先」に登録された2つのクライアントを通知する。つまり、ストリーミング配信サーバ170は、「プライマリ接続先」としてクライアントEを通知し、「セカンダリ接続先」として新たに設定したクライアントを通知する。S550でクライアントDが、ストリーミング配信サーバ170の通知を受信し、受信した通知内容に基づき接続先候補リスト150を更新する。なお、S560において、クライアントDは、上記(2)で説明した親クライアント切り替え処理(その1)を実施することにより、データの受信を継続することができる。
【0070】
(総括)
開示のクライアント装置では、複数のクライアント装置間でデータの転送を行う通信ネットワークにおいて、データ転送を行っていたクライアント装置が当該データ転送を継続できない場合であっても、データの受信を継続することができる。
【0071】
また、上記では配信対象ストリーム(データ)が1つ場合で説明したが、配信対象ストリーム毎に上記の処理を行なうように構成することにより、多チャンネルのストリームに適用することも可能である。
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
(付記1)
データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置であって、
当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持する接続候補保持手段と、
前記一のクライアント装置に関する所定のイベントの発生を検知するイベント発生検知手段と、
前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択する接続先選択手段と、
前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するデータ転送要求手段と、を有することを特徴とするクライアント装置。
(付記2)
前記データは順序性を有する複数のデータであり、前記各データは該順序性を示す識別情報を含む場合、
前記データ転送要求手段は、一の前記識別情報に対応するデータ以降の前記複数のデータを、当該クライアント装置に転送するよう要求することを特徴とする付記1に記載のクライアント装置。
(付記3)
受信した前記データを一時的に蓄積するバッファを有し、
前記イベント発生検知手段は、前記バッファに蓄積された前記データの量が所定の閾値より少なくなった場合に、前記所定のイベントが発生したことを検知することを特徴とする付記1又は2の何れか一に記載のクライアント装置。
(付記4)
データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置の制御方法であって、
接続候補保持手段が、当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持するステップと、
イベント発生検知手段が、前記一のクライアント装置に関する所定のイベントの発生を検知するステップと、
接続先選択手段が、前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択するステップと、
データ転送要求手段が、前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するステップと、を有することを特徴とする制御方法。
(付記5)
前記データは順序性を有する複数のデータであり、前記各データは該順序性を示す識別情報を含む場合、
前記データ転送要求手段は、一の前記識別情報に対応するデータ以降の前記複数のデータを、当該クライアント装置に転送するよう要求することを特徴とする付記4に記載の制御方法。
(付記6)
受信した前記データを一時的に蓄積するバッファを有し、
前記イベント発生検知手段は、前記バッファに蓄積された前記データの量が所定の閾値より少なくなった場合に、前記所定のイベントが発生したことを検知することを特徴とする付記4又は5の何れか一に記載の制御方法。
(付記7)
データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置に、
接続候補保持手段が、当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持するステップと、
イベント発生検知手段が、前記一のクライアント装置に関する所定のイベントの発生を検知するステップと、
接続先選択手段が、前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択するステップと、
データ転送要求手段が、前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するステップと、を実行させるためのクライアント装置制御プログラム。
(付記8)
前記データは順序性を有する複数のデータであり、前記各データは該順序性を示す識別情報を含む場合、
前記データ転送要求手段は、一の前記識別情報に対応するデータ以降の前記複数のデータを、当該クライアント装置に転送するよう要求することを特徴とする付記7に記載のクライアント装置制御プログラム。
(付記9)
受信した前記データを一時的に蓄積するバッファを有し、
前記イベント発生検知手段は、前記バッファに蓄積された前記データの量が所定の閾値より少なくなった場合に、前記所定のイベントが発生したことを検知することを特徴とする付記7又は8の何れか一に記載のクライアント装置制御プログラム。
【符号の説明】
【0072】
100 クライアント装置(クライアントB)
110 接続先候補保持手段
120 イベント発生検知手段
130 接続先選択手段
140 データ転送要求手段
150 接続先候補情報(接続先候補リスト)
160 バッファ(受信データバッファ)
170 データ配信装置(ストリーミング配信サーバ)
180 一のクライアント装置(クライアントA)
190 他のクライアント装置(クライアントC)
200 データ配信システム
210 閲覧者リスト
220 接続中子リスト
230 受信データバッファ管理情報リスト

【特許請求の範囲】
【請求項1】
データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置であって、
当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持する接続候補保持手段と、
前記一のクライアント装置に関する所定のイベントの発生を検知するイベント発生検知手段と、
前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択する接続先選択手段と、
前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するデータ転送要求手段と、を有することを特徴とするクライアント装置。
【請求項2】
前記データは順序性を有する複数のデータであり、前記各データは該順序性を示す識別情報を含む場合、
前記データ転送要求手段は、一の前記識別情報に対応するデータ以降の前記複数のデータを、当該クライアント装置に転送するよう要求することを特徴とする請求項1に記載のクライアント装置。
【請求項3】
受信した前記データを一時的に蓄積するバッファを有し、
前記イベント発生検知手段は、前記バッファに蓄積された前記データの量が所定の閾値より少なくなった場合に、前記所定のイベントが発生したことを検知することを特徴とする請求項1乃至3の何れか一に記載のクライアント装置。
【請求項4】
データ配信装置と複数のクライアント装置とを有する通信ネットワークにおいて、一のクライアント装置に接続され、該データ配信装置から配信されるデータを受信した該一のクライアント装置から転送された該データを受信するクライアント装置の制御方法であって、
接続候補保持手段が、当該クライアント装置に前記データを転送する候補として、複数の前記クライアント装置に関する情報を保持するステップと、
イベント発生検知手段が、前記一のクライアント装置に関する所定のイベントの発生を検知するステップと、
接続先選択手段が、前記イベント発生検知手段により前記所定のイベントの発生が検知された場合、前記接続候補保持手段により保持する前記情報のうち一の前記候補を選択するステップと、
データ転送要求手段が、前記接続先選択手段により選択された前記候補に対し、当該クライアント装置に前記データを転送するよう要求するステップと、を有することを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2010−257305(P2010−257305A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2009−107779(P2009−107779)
【出願日】平成21年4月27日(2009.4.27)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】