(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6166445
(24)【登録日】2017年6月30日
(45)【発行日】2017年7月19日
(54)【発明の名称】アプリケーション層マルチキャスト配信方法
(51)【国際特許分類】
H04N 21/266 20110101AFI20170710BHJP
H04N 21/6405 20110101ALI20170710BHJP
H04N 21/4788 20110101ALI20170710BHJP
H04N 21/442 20110101ALI20170710BHJP
G06F 13/00 20060101ALI20170710BHJP
【FI】
H04N21/266
H04N21/6405
H04N21/4788
H04N21/442
G06F13/00 520C
【請求項の数】28
【全頁数】24
(21)【出願番号】特願2016-186718(P2016-186718)
(22)【出願日】2016年9月26日
【審査請求日】2016年10月3日
(31)【優先権主張番号】特願2016-140666(P2016-140666)
(32)【優先日】2016年7月15日
(33)【優先権主張国】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】501064343
【氏名又は名称】株式会社プランネット・アソシエイツ
(74)【代理人】
【識別番号】110000486
【氏名又は名称】とこしえ特許業務法人
(72)【発明者】
【氏名】齊藤 衛
【審査官】
古川 哲也
(56)【参考文献】
【文献】
特開2012−175684(JP,A)
【文献】
特開2009−117944(JP,A)
【文献】
特開2013−258657(JP,A)
【文献】
首藤一幸,アプリケーション層マルチキャスト:基本と応用,UNIX magazine,日本,株式会社アスキー,2006年10月 1日,Vol.21, No.6,p.34-43
【文献】
久保広行 他,モバイル端末のためのオーバレイマルチキャストアーキテクチャ,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2009年 2月24日,Vol.108, No.457,p.51-56,ISSN 0913-5685
【文献】
橋本太郎 他,中継段数に着目した適応中継マルチキャストツリー再構成手法,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2005年 2月24日,Vol.104, No.689,p.211-216,ISSN 0913-5685
【文献】
KUBO, Hiroyuki et al.,Mobile Overlay Multicast Using Information on Physical Stability for Robust Video Streaming,2009 IEEE 20th International Symposium on Personal, Indoor and Mobile Radio Communications,米国,IEEE,2009年 9月13日,p.2960-2964,URL,http://ieeexplore.ieee.org/document/5450307/
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 − 21/858
G06F 13/00
H04L 12/70 − 12/955
H04W 4/06
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、いずれの無線通信携帯端末機器とも接続していない状態から、最初に配信要求を送信した無線通信携帯端末機器に対して前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を第1のチェインとしてチェイン接続し、
当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信し、
前記配信サーバは、前記第1のチェインの最後尾の無線通信携帯端末機器の通信状態が所定の通信状態閾値未満である場合に、次に配信要求を送信した他の無線通信携帯端末機器に対して、前記第1のチェインとは異なる第2のチェインとして前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を前記第2のチェインとしてチェイン接続し、
当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信方法。
【請求項2】
前記配信サーバは、互いに異なる複数のビットレートでエンコードした複数のコンテンツデータを取得し、
前記コンテンツデータのビットレート毎に一又は複数のチェインを出力ポートに割り当て、複数のチェインを用意する請求項1に記載のアプリケーション層マルチキャスト配信方法。
【請求項3】
前記複数のチェインは、前記モバイル通信回線を介して前記コンテンツデータを配信するチェイン群と、前記無線LANを介して前記コンテンツデータを配信するチェイン群とを含む請求項2に記載のアプリケーション層マルチキャスト配信方法。
【請求項4】
前記配信サーバは、前記電気通信回線網の通信帯域を検出し、検出された通信帯域に応じたビットレートのチェインを切換え制御する請求項2又は3に記載のアプリケーション層マルチキャスト配信方法。
【請求項5】
前記無線通信携帯端末機器は、配信要求を送信する際又は前記配信サーバ又は先行する無線通信携帯端末機器と接続中に、自機の通信状態を検出し、当該通信状態に応じたビットレートのチェインへの接続要求を前記配信サーバに送信し、
前記配信サーバは、前記接続要求を送信した無線通信携帯端末機器を、接続中のチェインから離脱させるとともに、前記通信状態に応じたビットレートのチェインの最後尾に接続する請求項2〜4のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【請求項6】
前記無線通信携帯端末機器の通信状態は、当該無線通信携帯端末機器が受信する単位時間当たりのデータ数、及び/又は、当該無線通信携帯端末機器が受信したデータのエラー値に基づいて検出する請求項1〜5のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【請求項7】
前記無線通信携帯端末機器の通信状態は、一のチェインに接続された各無線通信携帯端末機器で発生した最大GOPスキップ数をM、前記一のチェインに接続された全ての無線通信携帯端末機器で発生したGOPスキップ数の総数をTとしたときに、T/Mで定義する波及係数に基づいて検出する請求項1〜5のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【請求項8】
前記波及係数が所定のリセット閾値を超えた場合に、前記一のチェインに接続された、少なくともGOPスキップが発生した無線通信携帯端末機器を当該チェインから離脱させたのち、当該各無線通信携帯端末機器の通信状態に応じたチェインに再接続する請求項7に記載のアプリケーション層マルチキャスト配信方法。
【請求項9】
前記再接続した無線通信携帯端末機器を含むチェインの波及係数が前記所定のリセット閾値以下になった場合に、前記再接続した無線通信携帯端末機器を元のチェインに接続する請求項8に記載のアプリケーション層マルチキャスト配信方法。
【請求項10】
前記無線通信携帯端末機器は、受信したコンテンツデータにパケットエラーが発生した場合に、エラーが発生したパケット又は当該パケットが属するGOPデータの再送要求を、当該エラーが発生したパケット又は当該パケットが属するGOPデータを保有する、先行する無線通信端末機器又は前記配信サーバに対して、送信し、
前記再送要求を受信した前記無線通信端末機器又は前記配信サーバは、前記再送要求を送信した無線通信携帯端末機器に対して、前記エラーが発生したパケット又は当該パケットが属するGOPデータを配信する請求項6〜9のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【請求項11】
前記配信サーバは、一のチェインに接続された無線通信携帯端末機器のパケットエラー数を所定時間間隔で取得し、
前記パケットエラー数が少ない順に、前記一のチェインに接続された無線通信携帯端末機器の順序を入れ替える請求項10に記載のアプリケーション層マルチキャスト配信方法。
【請求項12】
少なくとも一の無線通信携帯端末機器が一のチェインにチェイン接続されている場合に他の無線通信携帯端末機器がチェイン接続された場合であって、当該他の無線通信携帯端末機器の直前の無線通信携帯端末機器のデータバッファに前記コンテンツデータが蓄積されているとき、
前記直前の無線通信携帯端末機器は、自機の現在の受信データ位置になるまで、前記他の無線通信携帯端末機器に対して、前記データバッファに蓄積された前記コンテンツデータを、送信速度を段階的に増速して送信し、
前記他の無線通信携帯端末機器は、前記直前の無線通信携帯端末機器から受信したコンテンツデータのエラー値又は通信速度を検出して、当該エラー値を前記直前の無線通信携帯端末機器に送信し、
前記直前の無線通信携帯端末機器は、前記他の無線通信携帯端末機器から受信した前記エラー値が所定のエラー閾値を超えたら又は前記通信速度が所定の速度閾値未満になったら、当該エラー値が前記所定のエラー閾値以下になるまで又は前記通信速度が前記所定の速度閾値以上になるまで、前記コンテンツデータの送信速度を段階的に減速する請求項1〜11のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【請求項13】
前記直前の無線通信携帯端末機器が前記コンテンツデータの送信速度を増速から減速に切り換えた際の、前記他の無線通信携帯端末機器の通信状態が、当該チェインのビットレートに応じていない場合に、
前記配信サーバは、前記他の無線通信携帯端末機器をその通信状態に応じたビットレートのチェインに切換制御する請求項12に記載のアプリケーション層マルチキャスト配信方法。
【請求項14】
直後の無線通信携帯端末機器は、自機のデータバッファに再生可能量のコンテンツデータが蓄積された時点で、当該コンテンツデータの再生を開始する請求項12又は13に記載のアプリケーション層マルチキャスト配信方法。
【請求項15】
前記無線通信携帯端末機器が現在のチェインを離脱して他のチェインに接続された場合に、
前記無線通信携帯端末機器は、現在のチェインにて受信を完了したコンテンツの位置を記憶し、前記他のチェインに接続した際に、当該他のチェインの直前の無線通信携帯端末機器に対して、前記受信を完了したコンテンツの位置に連続するコンテンツの送信要求をする請求項2〜14のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【請求項16】
一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、前記無線通信携帯端末機器から配信要求を受信したとき及び所定時間間隔で、当該無線通信携帯端末機器のID、IPアドレス、通信状態及び自機が有する情報取得器により取得した情報を含む情報を受信して、これらの情報を含むインデックステーブルを生成又は更新するとともに、
前記配信サーバは、配信要求を送信した無線通信携帯端末機器がチェイン接続されたチェインに対し、前記インデックステーブルを前記コンテンツデータに定期的に含ませてデータカルーセル配信し、
前記チェインを構成する各無線通信携帯端末機器は、受信したインデックステーブルを用いて又は前記配信サーバに要求することで、直前の無線通信携帯端末機器及び直後の無線通信携帯端末機器のIDの情報及びIPアドレスの情報を取得するアプリケーション層マルチキャスト配信方法。
【請求項17】
チェインを構成する各無線通信携帯端末機器は、受信したインデックステーブルに、現在の自機の通信状態を上書きして更新し、直後の無線通信携帯端末機器に送信し、
前記チェインを構成する無線通信携帯端末機器のうち最終の無線通信携帯端末機器は、更新したインデックステーブルを前記配信サーバに送信する請求項16に記載のアプリケーション層マルチキャスト配信方法。
【請求項18】
前記配信サーバは、受信したインデックステーブルに含まれる情報を時系列で蓄積記録し、
前記無線通信携帯端末機器は、前記配信サーバに時系列で蓄積記録された情報を時系列で読み出して閲覧する請求項17に記載のアプリケーション層マルチキャスト配信方法。
【請求項19】
チェインを構成する各無線通信携帯端末機器は、受信したインデックステーブルに、現在の自機の通信状態を上書きして更新し、更新したインデックステーブルを前記配信サーバに送信する請求項16に記載のアプリケーション層マルチキャスト配信方法。
【請求項20】
チェインを構成する無線通信携帯端末機器のうちのいずれかが配信の停止要求を前記配信サーバへ送信し、前記配信サーバが当該配信の停止要求を受信した場合に、
前記配信サーバは、前記配信の停止要求を送信した無線通信携帯端末機器を消去するとともに、これに後続する無線通信携帯端末機器のチェイン接続を繰り上げる情報を前記インデックステーブルに反映し、当該更新されたインデックステーブルをデータカルーセル配信する請求項16〜19のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【請求項21】
前記配信の停止要求を送信した無線通信携帯端末機器の直前の無線通信携帯端末機器又は配信サーバは、前記データカルーセル配信したインデックステーブルから、新たに後続する無線通信携帯端末機器のIPアドレス情報を読み出し、当該IPアドレスに前記コンテンツデータを送信する請求項20に記載のアプリケーション層マルチキャスト配信方法。
【請求項22】
チェインを構成する無線通信携帯端末機器のうち、いずれかの無線通信携帯端末機器に後続する無線通信携帯端末機器が、直前の無線通信携帯端末機器から送信される前記コンテンツデータ又は前記インデックステーブルを受信できない場合に、
当該後続する無線通信携帯端末機器は、前記配信サーバへ前記直前の無線通信携帯端末機器の通信状態の問い合わせ要求を送信し、
前記配信サーバは、前記直前の無線通信携帯端末機器へ接続応答コマンドを送信することで前記チェインに接続しているか否かを検出し、
前記配信サーバは、前記直前の無線通信携帯端末機器が前記チェインに接続していないことを検出した場合に、前記後続する一又は複数の無線通信携帯端末機器へ、再接続すべき無線通信携帯端末機器のIPアドレスを送信し、
前記後続する一又は複数の無線通信携帯端末機器は、受信した再接続すべき無線通信携帯端末機器との間でIPアドレスを交換し、前記コンテンツデータを受信する請求項16〜21のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【請求項23】
前記無線通信携帯端末機器が、現在の直前の無線通信携帯端末機器から他の無線通信携帯端末機器に接続された場合に、
前記無線通信携帯端末機器は、現在の直前の無線通信携帯端末機器から受信を完了したコンテンツの位置を記憶し、前記他の無線通信携帯端末機器に接続した際に、当該他の無線通信携帯端末機器に対して、前記受信を完了したコンテンツの位置に連続するコンテンツの送信要求をする請求項16〜22のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【請求項24】
一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、いずれの無線通信携帯端末機器とも接続していない状態から、最初に配信要求を送信した無線通信携帯端末機器に対して前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を第1のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信し、
チェイン接続されている無線通信携帯端末機器は、チェイン接続中に自機の通信状態を検出し、自機の通信状態が所定の接続閾値未満である場合に、前記配信サーバに一時的にチェインから離脱する要求を送信し、
前記配信サーバは、前記一時的にチェインから離脱する要求を送信した無線通信携帯端末機器を前記チェインから一時的に離脱させるアプリケーション層マルチキャスト配信方法。
【請求項25】
前記一時的にチェインを離脱した無線通信携帯端末機器は、自機の通信状態が前記所定の接続閾値以上に回復した場合に、前記配信サーバに再び配信要求を送信し、
前記配信サーバは、前記配信要求を送信した無線通信携帯端末機器を当該無線通信携帯端末機器の通信状態に応じたチェインの最後尾に接続する請求項24に記載のアプリケーション層マルチキャスト配信方法。
【請求項26】
前記配信サーバは、前記一時的にチェインから離脱する要求を送信した無線通信携帯端末機器を前記チェインから一時的に離脱させる前に、当該無線通信携帯端末機器を当該チェインの最後尾に接続する請求項24又は25に記載のアプリケーション層マルチキャスト配信方法。
【請求項27】
前記無線通信携帯端末機器の通信状態は、当該無線通信携帯端末機器が受信する単位時間当たりのデータ数、及び/又は、当該無線通信携帯端末機器が受信したデータのエラー値に基づいて検出する請求項24〜26のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【請求項28】
前記無線通信携帯端末機器の通信状態は、一のチェインに接続された各無線通信携帯端末機器で発生した最大GOPスキップ数をM、前記一のチェインに接続された全ての無線通信携帯端末機器で発生したGOPスキップ数の総数をTとしたときに、T/Mで定義する波及係数に基づいて検出する請求項24〜26のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーション層マルチキャスト配信方法に関し、特に一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、動画像、静止画像、音声データ、GPS情報その他のテキストデータなど所定のコンテンツデータを、ピアツーピア方式かつチェイン接続でアプリケーション層マルチキャスト配信する方法に関する。
【背景技術】
【0002】
配信サーバから複数のクライアントコンピュータに、一のコンテンツデータを同時送信する方法として、アプリケーション層マルチキャスト配信方法(アプリケーションレイヤーマルチキャスト配信方法ALM,又は、オーバーレイマルチキャスト配信方法とも称される)が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−272801号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一の配信サーバから複数の定置型コンピュータへ、有線回線などを介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する場合は、各ノードを構成する定置型コンピュータの通信状態が変動することはきわめて稀である。そのため、各ノードを構成する定置型コンピュータの通信状態が、他のノードに対して悪影響を及ぼすことは殆どない。しかしながら、一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する場合には、各ノードを構成する無線通信携帯端末機器の通信状態が他のノードに対して大きく影響する。すなわち、先行する無線通信携帯端末機器の通信状態が低下したり途絶えたりすると、後続の無線通信携帯端末機器にコンテンツデータが送信されなくなる。
【0005】
本発明の目的は、ノードを構成する無線通信携帯端末機器の通信状態が低下しても、コンテンツのマルチキャスト配信の品質が低下するのを抑制できるアプリケーション層マルチキャスト配信方法を提供することにある。
【課題を解決するための手段】
【0006】
本発明は、一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、いずれの無線通信携帯端末機器とも接続していない状態から、最初に配信要求を送信した無線通信携帯端末機器に対して前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を第1のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信し、
前記配信サーバは、前記第1のチェインの最後尾の無線通信携帯端末機器の通信状態が所定の通信状態閾値未満である場合に、次に配信要求を送信した他の無線通信携帯端末機器に対して、前記第1チェインとは異なる第2チェインとして前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を前記第2のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信する方法、によって上記課題を解決する。
【0007】
また本発明は、一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、前記無線通信携帯端末機器から配信要求を受信したとき及び所定時間間隔で、当該無線通信携帯端末機器のID、IPアドレス及び通信状態を含む情報を受信して、これらの情報を含むインデックステーブルを生成又は更新するアプリケーション層マルチキャスト配信方法、によって上記課題を解決する。
【0008】
また本発明は、一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、いずれの無線通信携帯端末機器とも接続していない状態から、最初に配信要求を送信した無線通信携帯端末機器に対して前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を第1のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信し、
チェイン接続されている無線通信携帯端末機器は、チェイン接続中に自機の通信状態を検出し、自機の通信状態が所定の接続閾値未満である場合に、前記配信サーバに一時的にチェインから離脱する要求を送信し、
前記配信サーバは、前記一時的にチェインから離脱する要求を送信した無線通信携帯端末機器を前記チェインから一時的に離脱させるアプリケーション層マルチキャスト配信方法、によって上記課題を解決する。
【発明の効果】
【0009】
本発明によれば、最後尾の無線通信携帯端末機器の通信状態が所定の通信状態閾値未満になるまで、換言すれば通信状態が所定の通信状態閾値以上の無線通信携帯端末機器のみを、配信要求を送信した順に一つのチェインとしてチェイン接続して、ピアツーピア方式で所定のコンテンツデータを各無線通信携帯端末機器にアプリケーション層マルチキャスト配信するので、チェインを構成する無線通信携帯端末機器の通信状態が低下しても、コンテンツのマルチキャスト配信の品質が低下するのを抑制することができる。
【0010】
また本発明によれば、配信サーバが、無線通信携帯端末機器から配信要求を受信したとき及び所定時間間隔で、当該無線通信携帯端末機器のID、IPアドレス及び通信状態を含む情報を受信して、これらの情報を含むインデックステーブルを生成又は更新するので、チェインを構成する無線通信携帯端末機器の通信状態が低下してもこれをインデックステーブルにより即時把握することができる。その結果、チェインのノード構成を変更したりすることで、コンテンツのマルチキャスト配信の品質が低下するのを抑制することができる。
【0011】
また本発明によれば、チェイン接続されている無線通信携帯端末機器は、チェイン接続中に自機の通信状態を検出し、自機の通信状態が所定の接続閾値未満である場合にチェインから一時的に離脱するので、チェインを構成する無線通信携帯端末機器の通信状態が低下しても、コンテンツのマルチキャスト配信の品質が低下するのを抑制することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法を実現するコンテンツの配信システムを示すブロック図である。
【
図2】本発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法で使用されるインデックステーブル(カルーセルデータ)の一例を示す図である。
【
図3】本発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法の基本配信ルーチンを示すフローチャートである。
【
図4】本発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法のチェイン接続のノード数の有限化に関する、配信サーバにおける処理手順を示すフローチャートである。
【
図5】本発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法の回線の通信帯域及び属性によるチェインの選定と配信するコンテンツデータの適正化に関する、配信サーバにおける処理手順を示すフローチャートである。
【
図6】本発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法のノード監視とノード切換制御に関する、配信サーバ及び無線通信携帯端末機器における処理手順を示すフローチャートである。
【
図7】本発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法のノード監視とノード切換制御に関する、配信サーバ及び無線通信携帯端末機器における他の処理手順を示すフローチャートである。
【
図8】本発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法のアイドルモードに関する、配信サーバ及び無線通信携帯端末機器における処理手順を示すフローチャートである。
【
図9】本発明の他の実施の形態に係るアプリケーション層マルチキャスト配信方法を実現するコンテンツの配信システム(ノードの配信サーバ化)を示すブロック図である。
【
図10】
図9のコンテンツの配信システムにおけるインデックステーブル(カルーセルデータ)のカルーセル配信を説明する図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施の形態を図面に基づいて説明する。
図1は、発明のアプリケーション層マルチキャスト配信方法を実現するコンテンツの配信システム1の一実施の形態を示すブロック図である。本実施形態のコンテンツの配信システム1は、リアルタイムエンコーダ11と、配信サーバ21と、無線通信携帯端末機器31と、電気通信回線網41とを備える。なお、本実施形態のコンテンツの配信システム1において、無線通信携帯端末機器31はノードともいう。また、本実施形態のコンテンツとは、動画像、静止画像、音声データ、GPS情報その他のテキストデータ、及びこれらの多重化データが含まれる。こうしたコンテンツデータは下記実施形態で説明するライブ映像の配信のほか、IoT(Internet of Things)機器などへの展開を想定すると、(1)IoT機器等のクライアントソフトウエアのアップデート用データ、(2)各IoT機器への制御データ又は地図情報などのグラフィックデータ等、(3)各IoT機器からの自情報データ(例えば、各IoT機器が撮影した動画や静止画データ等、車載機器のプローブデータ(位置情報、速度情報、ブレーキその他のセンサー情報、路面情報等)、GPS情報、センサー情報、テキストデータ等)がコンテンツデータとしての配信対象となり得る。以下においては、動画像をコンテンツデータの一例として本発明の実施形態を説明する。
【0014】
リアルタイムエンコーダ11は、ハードウェアとして、CPU又はMPUなどの演算器と、ソフトウェアがインストールされるROMと、入出力データが一時的に保存されるRAMと、入出力データのI/Oポートとを備えるコンピュータで構成されている。リアルタイムエンコーダ11は、ソフトウェアにより実現されるエンコード機能を備え、コンテンツデータである、例えばライブ映像(動画像)を撮影するビデオカメラから、ビデオキャプチャーボードを介して映像を取り込み、後述するアダプティブ・ビットレート方式(ABR,Adaptive Bitrate,以下、ABR方式ともいう)に対応させるために、互いに異なるビットレートでエンコードする。例えば
図1に示す例では、1Mbpsの高画質データと、600bpsの中画質データと、300bpsの低画質データの3種のビットレートのコンテンツデータにエンコードされる。なお、画質エンコードの種類は2種以下でも、4種以上でもよい。エンコードにあたっては、H.264/MPEG−4 AVC規格やH.265/HEVC(High Efficiency Video Coding)規格でリアルタイムエンコードされ、配信サーバ21へ送信される。また、リアルタイムエンコーダ11は、ソフトウェアによりエンコードするもの以外にも、ハードウェアとしてのエンコード回路を含むエンコンーダ装置も用いることができる。また、コンテンツデータが動画像以外の、静止画像、音声データである場合には、そのデータ容量に応じてリアルタイムエンコーダ11により複数種類のビットレートデータ(画質など)にエンコードしてもよいし、これに代えて単一種類のコンテンツデータとしてもよい。
【0015】
配信サーバ21は、ハードウェアとして、CPU又はMPUなどの演算器と、ソフトウェアがインストールされるROMと、入出力データが一時的に保存されるRAMと、入出力データのI/Oポートとを備えるコンピュータで構成されている。配信サーバ21は、ソフトウェアにより実現される、リアルタイムエンコーダ11でエンコードされたコンテンツデータの配信機能と、ピアツーピア(P2P)の配信サーバ機能と、インデックステーブル(カルーセル配信されるデータ)の作成及び更新並びに送信機能と、チェインの切換え機能と、ノードの制御機能とを備える。
【0016】
配信サーバ21のコンテンツデータの配信機能は、リアルタイムエンコーダ11から送信される、互いに異なるビットレートのコンテンツデータを、ビットレート毎に一又は複数の出力ポートに割り当て、当該出力ポートに対応する複数のチェインを用意するものである。そして、各ビットレートのコンテンツデータを、配信すべきチェーンに最初に接続する無線通信携帯端末機器31(ノード1)に対して配信する(ABR方式)。また、配信サーバ21は、モバイル通信回線を介してコンテンツデータを配信するチェイン群と、Wi−Fi(登録商標)などの無線LANを介してコンテンツデータを配信するチェイン群とに対応する出力ポートを用意する。
図1に示す例では、モバイル回線を介して配信するチェイン群が、チェイン1(高画質)、チェイン2(高画質)、チェイン3(中画質)、チェイン4(低画質)の4つを含み、無線LANを介して配信するチェイン群が、チェイン5(高画質)、チェイン6(中画質)、チェイン7(低画質)の3つを含む状態を示している。これらのチェイン数、すなわち出力ポート数は、接続される無線通信携帯端末機器31の数に応じて増減することができる。なお、例えば駅などの公衆場所に設置されたWi−Fi(登録商標)回線は通信品質も通信速度も低いため、同一のコンテンツデータを時間差を設けて配信し、パケットエラーが生じた場合は他方のコンテンツデータのパケットで補填するようにしてもよい。
【0017】
配信サーバ21のピアツーピア(P2P)の配信サーバ機能は、各無線通信携帯端末機器31から配信要求(接続要求ともいう)があった場合に、モバイル回線か無線LANかの回線属性を判断し、対応するチェーン群を選択するとともに、その電気通信回線網41(モバイル回線、無線LAN)の通信帯域を検出し、検出された通信帯域に応じたビットレートのチェインを切換え制御するものである。無線通信携帯端末機器31から配信要求があった場合に、その接続回線がモバイル回線か無線LANかは、無線通信携帯端末機器31側が検出し、配信サーバ21に送信する。また、その電気通信回線網41の通信帯域は配信サーバ21が検出する。
【0018】
配信サーバ21のインデックステーブルの作成及び更新並びに送信機能は、当該配信サーバ21でチェイン毎のインデックステーブルを作成及び更新し、そのチェインに接続された無線通信携帯端末機器31に当該インデックステーブルをデータカルーセル配信し、当該チェインの最後尾又は各無線通信携帯端末機器31から配信サーバへ返信させるものである。あるいはこれに代えて又はこれに加えて、配信サーバ21と各無線通信携帯端末機器31との間で、配信サーバ21にて作成したインデックステーブルを送受信してもよい。
【0019】
インデックステーブルのデータ構造の一例を
図2に示す。
図2の上段は、配信サーバ21から2つのチェインにインデックステーブルがデータカルーセル配信される様子を示し、
図2の中段は、チェイン1のインデックステーブルのデータ構造の一例を示し、
図2の下段は。チェイン2のインデックステーブルのデータ構造の一例を示す。
図2に示す例では、無線通信携帯端末機器31のID、IPアドレス及び通信状態を含む情報群であるインデックステーブルが、各チェイン毎に用意される。例えば、
図2の中段のチェイン1のインデックステーブルは、コンテンツデータのソースノード(受信元)、ノード番号、デストノード(送信先)、クライアントID、IPアドレス、ノード情報が含まれる。ノード情報には、SIMキャリア情報、GPS信号を利用したノードの移動速度、通信遮断履歴、通信状態(通信速度又はパケットエラー)、回線属性などのノードの回線状況データが含まれる。各チェイン毎に用意されたインデックステーブルは、配信するコンテンツデータに定期的に(例えば0.5秒間隔)挿入して各ノードへ送信されるか、必要に応じて配信サーバ21から直接各ノードへ送信される。
【0020】
その際に、各ノードは、受信元ノードID(IPアドレスを含む)及び送信先ノードID(IPアドレスを含む)を読み出すとともに、自機のノード情報を上書きし、送信先ノードID(IPアドレス)の無線通信携帯端末機器31及び/又は配信サーバ21へ送信する。これにより、一つのチェインを構成する各無線通信携帯端末機器31は、受信元ノードと送信先ノードのIPアドレスを定期的に把握することができ、直前ノードや直後ノードがチェインから離脱しても、インデックステーブルを参照することで新たな受信元ノードと送信先ノードのIPアドレスを把握し、即座に接続してコンテンツデータを受信し、送信することができる。また配信サーバ21は、各チェインを構成する無線通信携帯端末機器31のノード情報を定期的に把握することができ、各ノード情報に応じた適切な対処策を実行することができる。なお、各チェインの最後尾の無線通信携帯端末機器31は、インデックステーブルを配信サーバ21へ戻す。
【0021】
配信サーバ21のチェインの切換え機能及びノード制御機能は、各ノードを構成する無線通信携帯端末機器31から送信される状態遷移要求により各ノードの接続先の指定などの制御を行うものである。各ノードを構成する無線通信携帯端末機器31から送信される状態遷移要求には、例えばモバイル通信回線と無線LANの回線属性変更に関する遷移要求、通信状態の変動によるABR方式のビットレートの変更要求、接続中の無線通信携帯端末機器31が配信停止要求を送信したり通信が遮断されたりすることにより、無線通信携帯端末機器31を変更するノードチェンジ要求、通信状態の低下により一時的にチェインを離脱するアイドルモード要求などが含まれる。この機能は、無線通信携帯端末機器31の移動中などに多々生じる、モバイル回線と無線LANとの切換えや、無線通信携帯端末機器31の通信状態の変動に対応するための機能である。なお、配信サーバ21は、定置型コンピュータで構成するほか、各ノードを構成する無線通信携帯端末機器31に、以下に説明する配信サーバ21の各機能を実現するソフトウェアをインストールし、無線通信携帯端末機器自体を配信サーバ21として機能させてもよい。すなわち、本発明に係る配信サーバ21には無線通信携帯端末機器31も含まれる趣旨である。この実施形態については後述する。
【0022】
無線通信携帯端末機器31は、ハードウェアとして、CPU又はMPUなどの演算器と、ソフトウェアがインストールされるROMと、入出力データが一時的に保存されるRAMと、入出力データのI/Oポートとを備えるコンピュータで構成され、使用者が携帯して移動可能とされたものである。例えば、スマートフォン、ノート型又はタブレット型パーソナルコンピュータなどを用いることができる。無線通信携帯端末機器31は、ソフトウェアで実現される、ピアツーピア接続及びIPアドレス交換機能、ピアツーピアホールパンチング方式接続機能、コンテンツデータを受信した場合にパケットエラーが発生したときの再送制御機能、無線LANチェインにおける多重化されたコンテンツ(時間差を設けて配信されたコンテンツデータ)のデコード機能(特許第5159973号参照)、インデックステーブル及びコンテンツデータの受信及び中継機能、モバイル回線か無線LANかの検出機能、通信状態の検出機能、通信状態に応じたチェインの切換え要求又はノードチェンジ要求機能、コンテンツデータのバッファリング機能、後続ノードへのコンテンツの最大速転送機能、H.264/MPEG−4 AVC規格やH.265/HEVC(High Efficiency Video Coding)規格でエンコードされたコンテンツデータのデコード機能を備える。各機能の詳細は後述する。
【0023】
次に、
図1に示す配信システムにより実現される各種のアプリケーション層マルチキャスト配信方法を説明する。
【0024】
《基本配信》
配信サーバ21が、いずれの無線通信携帯端末機器31とも接続していない状態から、モバイル通信回線及び無線LANを含む電気通信回線網41を介して、複数の無線通信携帯端末機器31からの配信要求を順次受信し、所定のコンテンツデータをピアツーピア方式でアプリケーション層マルチキャスト配信する基本手順を説明する。
図3は、発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法の基本配信ルーチンを示すフローチャートである。コンテンツデータの一例としては、スポーツ中継やレーシング中継などのライブ画像が挙げられる。配信サーバ21が起動し、リアルタイムエンコーダ11によるコンテンツデータ(ストリームデータなど)のエンコードが開始すると、配信準備が完了する(ステップS1)。ここで、複数個存在する無線通信携帯端末機器31の一つであるノード1.1のアプリケーションソフトが起動し(ステップS2)、配信サーバ21へのコンテンツデータの配信要求が送信されると(ステップS3)、当該配信要求とともに、当該ノード1.1のクライアントID、IPアドレス、ノード情報が配信サーバ21に送信される。ノード情報には、SIMキャリア情報、GPS信号を利用したノードの移動速度、通信遮断履歴、通信状態、回線属性などのノードの回線状況データが含まれる。
【0025】
ノード1.1から配信要求を受信した配信サーバ21は、ノードIDを含むインデックステーブルを作成し、記憶する(ステップS4〜S5)。このノード1.1のノードIDは、例えば1.1である。
図1の右側に記載した複数のチェイン1〜7を構成するノードの1.1〜1.E、2.1〜2.E…がノードIDの一例を示し、例えば最初の数字がチェインIDを意味し、次の数字がそのチェインにおける先頭からの順序を意味する。例えば、ノード4.6は、チェイン4(モバイル回線の低画質コンテンツの出力ポートに割り当てられたチェイン)の6番目の無線通信携帯端末機器31を意味する。配信サーバ21で付与されたノードIDは、ノード1.1にも送信され、ノード1.1は自機のノードIDを取得する(ステップS6)。なお、ステップS5のインデックステーブルの自機ポートは、当該無線通信携帯端末機器31の入出力ポートを意味し、入力IDは、配信元(自機に対してコンテンツデータを配信する機器)の機器のIDを意味し、出力IDは配信先(自機がコンテンツデータを配信する機器)の機器のIDを意味する。
【0026】
配信サーバ21は、作成したインデックステーブルをカルーセル配信するとともに(ステップS7)、コンテンツデータの配信を開始する(ステップS8)。ノード1.1は受信したコンテンツデータを自機のデータバッファにバッファリングしつつ、再生可能となるデータ量を受信したら再生を開始する(ステップS9)。なお、インデックステーブルは、配信するコンテンツデータに定期的に(例えば0.5秒間隔)挿入してカルーセル配信され(ステップS10)、インデックステーブルを受信したノード1.1は、自機の最新情報を上書きしたのち後続ノードが存在する場合は当該後続ノードへ送信し、後続ノードが存在しない場合は配信サーバ21へ戻す(ステップS11)。
【0027】
ステップS11の状態から、ノード1.1とは別の無線通信携帯端末機器31であるノード1.2のアプリケーションソフトが起動し(ステップS12)、配信サーバ21へのコンテンツデータの配信要求が送信されると(ステップS13)、当該配信要求とともに、当該ノード1.2のクライアントID、IPアドレス、ノード情報が配信サーバ21に送信される。このノード情報にも、SIMキャリア情報、GPS信号を利用したノードの移動速度、通信遮断履歴、通信状態、回線属性などのノードの回線状況データが含まれる。
【0028】
ノード1.2から配信要求を受信した配信サーバ21は、ノードIDを含むインデックステーブルを作成し、記憶する(ステップS14〜S15)。厳密には、ステップS15に示すように、ステップS5で作成したインデックステーブルにノード1.2の情報を追加する。このノード1.2のノードIDは、例えば1.2である。配信サーバ21で付与されたノードIDはノード1.2にも送信され、ノード1.2は自機のノードIDを取得する(ステップS16)。なお、ステップS15のインデックステーブルのノード1.1の出力IDがID1.2に更新され、ノード1.2の入力IDがID1.1に設定される。これにより、ノード1.2は、ノード1.1に配信されたコンテンツデータを受信することになる。
【0029】
配信サーバ21は、作成したインデックステーブルをカルーセル配信する(ステップS17)。ノード1.1は、受信したコンテンツデータを自機のデータバッファにバッファリングしつつ再生を継続しているが、受信したインデックステーブルの自機のノード1.1の出力IDが、ID1.2に更新されている。したがって、ノード1.1はこれに従い、バッファリングしてるコンテンツデータの、ノード1.2への送信を開始する(ステップS18)。ノード1.2は、ノード1.1から受信したコンテンツデータを自機のデータバッファにバッファリングしつつ、再生可能となるデータ量を受信したら再生を開始する(ステップS19)。また、インデックステーブルを受信したノード1.2は、自機の最新情報を上書きしたのち後続ノードが存在する場合は当該後続ノードへ送信し、後続ノードが存在しない場合は配信サーバ21へ戻す(ステップS20)。
【0030】
ステップ20の状態から、ノード1.1及びノード1.2とは別の無線通信携帯端末機器31であるノード1.3,1.4…のアプリケーションソフトが起動し、配信サーバ21へのコンテンツデータの配信要求が送信されると、上述したノード1.2の処理と同じ処理が実行され、ノード1.2にバッファリングされているコンテンツデータを受信し、再生可能となるデータ量を受信したら再生を開始する。このようにして、一の配信サーバ21から複数の無線通信携帯端末機器31(ノード1.1〜1.E)へ、モバイル通信回線及び無線LANを含む電気通信回線網41を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信することができる。
【0031】
このピアツーピア方式でアプリケーション層マルチキャスト配信する場合に、複数のノード1.1〜1.Eをツリー方式で接続したりメッシュ方式で接続したりすることもできる。しかしながら、本実施形態のように複数のノードを一つのチェインにチェイン接続すると、ツリー方式やメッシュ方式で接続する場合に比べて、各ノードの監視が容易となる。すなわち、ツリー方式やメッシュ方式で接続した場合には接続経路が多く、これらの接続経路を辿って監視する演算負荷が大きい。これに対し、チェイン方式では経路が1つであるチェインを監視すればよいので、ツリー方式やメッシュ方式に比べて監視負荷が軽減される。また、ツリー方式又はメッシュ方式による接続の場合には、自機のノードが複数のノードと接続することになるため、無線通信携帯端末機器31の無線環境下における回線帯域の確保が困難になるのに対し、チェイン接続では先行ノードも後続ノードもそれぞれ一つであるため回線帯域の確保が容易になるといったメリットがある。
【0032】
ちなみに、
図3に示すように、配信サーバ21に複数(同図では3つ)のノード1.1,〜1.Eが接続されている状態から、一つ又は複数のノードから配信停止要求がされた場合には、配信停止要求がされたノードに後続するノードはそれぞれ繰り上げて再接続され、コンテンツデータの配信は継続される。たとえば、
図3において先頭のノード1.1から配信サーバ21へ配信停止要求が送信されると、配信サーバ21は、インデックステーブルのノード1.1に関する情報列を削除するとともに、これに後続するノード1.2及びノード1.3のチェイン接続をそれぞれノード1.1及びノード1.2に繰り上げる旨の情報をインデックステーブルに反映し、これを当該チェインのノードにカルーセル配信する。インデックステーブルを受信した各ノードは、自機のクライアントIDに基づいて自機の受信先ノードと配信先ノードのIPアドレスを読み出す。そして、新たな受信先ノードからは、先ほどまで受信していたコンテンツデータの最終データに続くデータの配信要求を送信し、その部分から受信する。また新たな配信先ノードに対しては、新たな配信先ノードから要求されたコンテンツデータの部分から配信を再開する。
【0033】
また、ノード間におけるコンテンツデータの配信は、以下のように実行される。すなわち、各無線通信携帯端末機器31は、受信したコンテンツデータをバッファリングしておくデータバッファを備え、例えば5〜30秒程度のコンテンツデータがバッファリングされる。したがって、コンテンツデータを再生中において通信速度が低下してもバッファリングされたコンテンツデータがあるため、これを吸収することができる。ただし、バッファリング容量が大き過ぎると、現実場面とのリアルタイム差が大きくなるので好ましくない。逆にバッファリング容量が小さすぎると、通信速度の低下を吸収できず画像停止や画像飛びなどの不具合が生じる。このため、適度なバッファリング容量とされている。
【0034】
ここで、チェイン接続されたノードに新たなノードが接続された場合(先行ノードを1.1,新たに接続されたノードを1.2とする)、このようにバッファリングされたデータの全て、すなわち先行ノード1.1が現在受信しているデータ位置になるまで、新たに接続されたノード1.2に対して送信速度を段階的に増速して送信する。この場合に、新たに接続されたノード1.2は、受信したコンテンツデータのエラー値(受信したコンテンツデータのパケットエラー)を検出し、当該エラー値を先行ノード1.1に送信し、先行ノード1.1は、エラー値が所定のエラー閾値を超えたら、コンテンツデータの送信速度の増速を停止し、新たに接続したノード1.2のエラー値が所定のエラー閾値以下になるまで、逆に段階的に減速する。コンテンツデータの送信速度の増速は、GOP(Group of Picture)単位又はパケット単位とする。これにより、新たに接続された無線通信携帯端末機器31は、短時間で再生が可能となるだけでなく、短時間で現在受信しているデータ位置に追い付くことができる。なお、新たに接続されたノード1.2に対して送信速度を段階的に増速して送信している場合に、新たに接続されたノード1.2は、受信したコンテンツデータの通信速度を検出し、当該通信速度を先行ノード1.1に送信し、先行ノード1.1は、通信速度が所定の速度閾値未満になったら、コンテンツデータの送信速度の増速を停止し、新たに接続したノード1.2のエラー値が所定の速度閾値以上になるまで、逆に段階的に減速してもよい。
【0035】
また、先行ノード1.1から新たに接続されたノード1.2にコンテンツデータを送信する場合に、先行ノード1.1がコンテンツデータの送信速度の増速を停止し、減速に切り換えた際の、ノード1.2の通信状態が、当該チェインのビットレートに応じていない場合には、配信サーバ21は、新たに接続されたノード1.2をその通信状態に応じたビットレートのチェインに切換制御する。このチェインの切換え制御は、新たに接続されたノード1.2の通信状態が良好である場合には高画質のチェインに切り換えることも、新たに接続されたノード1.2の通信状態が不良である場合には低画質のチェインに切り換えることも含まれる。そして、新たに接続されたノード1.2は、自機のデータバッファに再生可能量のコンテンツデータが蓄積された時点で、当該コンテンツデータの再生を開始する。
【0036】
ちなみに、各無線通信携帯端末機器31は、先行ノードからコンテンツデータを受信した場合にパケットエラーが発生したときに再送要求を送信する再送制御機能を有する。すなわち、後続ノードは、先行ノードに対して当該パケット又は当該パケットが属するGOPデータの再送要求を送信する。先行ノードは、後続ノードからこの再送要求を受信すると、要求されたパケット又は当該パケットが属するGOPデータを後続ノードに送信する。ここで、後続ノードからの再送要求が時間的に遅れ、先行ノードに要求パケット又は要求GOPデータが残っていない場合(データバッファに次のコンテンツデータが上書きされている場合など)には、当該先行ノードのさらにその前のノードに同様の再送要求を送信する。この再送要求は、要求パケット又は要求GOPデータが残っているノードまで遡及して行われる。もし、チェインを構成する全ての先行するノードに、要求パケット又は要求GOPデータが残っていない場合には、配信サーバ21に再送要求を送信する。
【0037】
また、上述したように、無線通信携帯端末機器31にパケットエラーが発生し、先行ノードに対して当該パケット又は当該パケットが属するGOPデータの再送要求を送信し、新たに当該パケット又は当該パケットが属するGOPデータを受信するように構成しても、例えばパケットエラー数が多過ぎる場合には、再送要求及びその受信に時間がかかり過ぎ、後続ノードに影響を及ぼすおそれがある。このような場合の対策として、当該チェインのノードのソーティング(並べ替え、順序の入れ替え)を実施してもよい。すなわち、データカルーセル配信されるインデックステーブルに、各無線通信携帯端末機器31は自機のパケットエラー数を書き込む。配信サーバ21は、インデックステーブルのパケットエラー数のデータを判断し、パケットエラー数が小さい順に当該チェインの先頭から接続する。すなわち、パケットエラー数が大きいノードほど最後尾に近い位置に接続する。こうすることで、後続ノードへの影響を最小限に抑制することができる。
【0038】
《チェイン接続のノード数の有限化》
本実施形態では、ピアツーピア方式でアプリケーション層マルチキャスト配信する場合に、複数のノード1.1〜1.Eをチェイン接続するが、チェイン接続するノード数を無限にするのではなく有限とする。
図4は、チェイン接続のノード数の有限化に関する、配信サーバ21における処理手順を示すフローチャートである。すなわち、配信サーバ21は、新たなノードから配信要求を受信した場合に、現在のチェインの最後尾のノードの通信状態が所定閾値以上か否かを判断し(ステップS41)、最後尾のノードの通信状態が所定の通信状態閾値以上(良好)である場合はそのチェインの最後尾にチェイン接続するが(ステップS42)、その最後尾のノードの通信状態が所定の通信状態閾値未満(不良)である場合はそのチェインには接続せず、新たなチェインの先頭、すなわち配信サーバ21の他の出力ポートに直接接続する(ステップS43)。
【0039】
各チェインの最後尾のノードの通信状態を監視し、その通信状態が良好でない場合には配信サーバ21から他のチェインにより直接配信することで、直近に配信要求したノード及びこれに続くノードに対する配信品質が向上する。なお、無線通信携帯端末機器31(ノード)の通信状態は、当該無線通信携帯端末機器31が受信する単位時間当たりのデータ数、及び/又は、当該無線通信携帯端末機器31が受信したデータのエラー値に基づいて、無線通信携帯端末機器31が検出し、これを配信サーバ21へ、直接及びインデックステーブルに書き込むことで送信する。またはこれに代えて、無線通信携帯端末機器31(ノード)の通信状態は、後述する波及係数に基づいて配信サーバ21が検出してもよい。波及係数については後述する。
【0040】
《回線の通信帯域及び属性によるチェインの選定と配信するコンテンツデータの適正化》
本実施形態では、ピアツーピア方式でアプリケーション層マルチキャスト配信する場合に、コンテンツデータの配信の適正化を実行する。
図5は、回線の通信帯域及び属性によるチェインの選定と配信するコンテンツデータの適正化に関する、配信サーバ21における処理手順を示すフローチャートである。すなわち、いずれかの無線通信携帯端末機器31から配信サーバ21へ配信要求があった場合に、そのタイミングがコンテンツデータの配信中か配信停止中かに拘わらず(すなわち、既にいくつかのチェインが接続されている場合であっても)、無線通信携帯端末機器31は、その回線がモバイル回線か無線LANかの回線属性を検出して配信サーバ21に送信するとともに(ステップS51)、配信サーバ21は、その電気通信回線網41(モバイル回線、無線LAN)の通信帯域を検出する(ステップS52)。そして、配信サーバ21は、検出された回線属性に対応するチェーン群を選択するとともに、検出された通信帯域に応じたビットレートのチェインを選定し、そのチェインの最後尾に接続する(ステップS53)。
図1に示す例でいえば、検出された回線属性が無線LANであり、通信帯域が大きい場合には、チェイン5が割り当てられ、検出された回線属性がモバイル回線であり、通信帯域が中程度である場合には、チェイン3が割り当てられる。
【0041】
そして、選定したチェインの最後尾に無線通信携帯端末機器31をチェイン接続したら、当該チェインに応じたビットレートのコンテンツデータを先行する無線通信携帯端末機器31から配信する(ステップS54)。
図1に示す例でいえば、検出された回線属性が無線LANであり、通信帯域が大きい場合には、チェイン5が割り当てられるので、1Mbpsの高画質のコンテンツデータが配信される。同様に、検出された回線属性がモバイル回線であり、通信帯域が中程度である場合には、チェイン3が割り当てられるので、600bpsの中画質のコンテンツデータが配信される。
【0042】
本実施形態のクライアントは無線通信携帯端末機器31であるため、移動にともなって通信状態が時々刻々と変動する。このため、自機の通信状態の低下は自機のみならず後続するノードへの配信にも影響するが、本実施形態では、まず基本的に配信サーバ21から配信される回線属性と通信状態に基づいて、複数用意されたチェインから適切なチェインを選定し、そこに応じたビットレートのコンテンツデータを配信するので、無線通信携帯端末機器31における画像の一時停止や画像飛びといった再生不具合を未然に防止することができる。
【0043】
《ノード監視とノード切換制御》
無線通信携帯端末機器31が配信要求を送信したときは、上述したとおり、そのときの通信状態に応じた最適なチェイン接続が実行される。しかしながら、既述したように本実施形態のクライアントは無線通信携帯端末機器31であるため、配信中にも、移動にともなって通信状態が時々刻々と変動する。このため、接続後においても無線通信携帯端末機器31の通信状態を監視し、通信状態に応じてチェイン、ひいては異なるビットレートのコンテンツデータを切換える制御を実行する。このノード監視とノード切換制御は、具体的にはインデックステーブルの更新によって実行される。
図6は、ノード監視とノード切換制御に関する、配信サーバ21及び無線通信携帯端末機器31(ノードn)における処理手順を示すフローチャートである。
【0044】
まず、配信サーバ21は、各チェインに接続されている各無線通信携帯端末機器31から情報を取得し、インデックステーブルを作成してこれら無線通信携帯端末機器31にカルーセル配信する(ステップS61)。各チェイン接続されている各無線通信携帯端末機器31は、それぞれ自機の通信状態を検出し(ステップS62)、当該通信状態を含めて、所定の時間間隔でカルーセル配信されてくるインデックステーブルを更新する(ステップS63)。なお、無線通信携帯端末機器31(ノード)の通信状態は、当該無線通信携帯端末機器31が受信する単位時間当たりのデータ数、及び/又は、当該無線通信携帯端末機器31が受信したデータのエラー値に基づいて、無線通信携帯端末機器31が検出する。またはこれに代えて後述する波及係数を用いてもよい。次いで配信サーバ21は、カルーセル配信されて戻されたインデックステーブルを受信したら(ステップS64)、各無線通信携帯端末機器31(ノードn)の通信状態の変動を判定する(ステップS65)。具体的には通信状態が所定の通信状態閾値未満になっていないかを判定する。またはこれに代えて、通信速度を判定する。
【0045】
このとき、各無線通信携帯端末機器31の通信状態が所定の通信状態閾値以上となっている場合、すなわち通信状態が良好な場合はインデックステーブルの受信元と送信先のIDは維持する。またはこれに代えて、各無線通信携帯端末機器31の通信速度が変動していない場合はインデックステーブルの受信元と送信先のIDは維持する。
【0046】
これに対して、配信サーバ21が、インデックステーブルにより、通信状態が所定の通信状態閾値未満(例えば通信遮断又はこれに近い状態)となっている無線通信携帯端末機器31の存在を確認したら、当該通信状態が不良となっている無線通信携帯端末機器31をチェインから離脱させるとともに、その前後の無線通信携帯端末機器31を接続させる。このため、インデックステーブルから通信状態が不良となっている無線通信携帯端末機器31を削除するとともに、その直前の無線通信携帯端末機器31の送信先ID(IPアドレスを含む)と、その直後の無線通信携帯端末機器31の受信元のID(IPアドレスを含む)を書き換える(ステップS66)。ステップS66にて書き換えられたインデックステーブルがそのチェインにカルーセル配信されると(ステップS67)、各無線通信携帯端末機器31は、受信元のIDと送信先のIDを確認し、変更されている場合は変更後の無線通信携帯端末機器31との間でコンテンツデータを送受信する(ステップS68)。なお、無線通信携帯端末機器31が自機の通信状態の良否を検出し、通信状態が所定の通信状態閾値未満である場合には、当該無線通信携帯端末機器31が自主的に配信サーバ21へ当該チェインからの離脱要求を送信することで、通信状態に適合する他のチェインにノードチェンジしたり、後述するアイドルモードに遷移してもよい。
【0047】
このように、所定の時間間隔(例えば0.5秒)で各無線通信携帯端末機器31の通信状態を監視し、通信不良が生じたらその前後の無線通信携帯端末機器31の通信に悪影響を及ぼさないように、通信不良の無線通信携帯端末機器31を離脱させるとともにその前後の無線通信携帯端末機器31を接続し直すので、後続する無線通信携帯端末機器31に配信されるコンテンツデータが途絶えたり、画像の一時停止や画像飛びといった再生不具合を抑制することができる。
【0048】
ステップS65において、通信速度が以前よりも遅く又は速くなっている無線通信携帯端末機器31の存在を確認したら、現在のチェインから離脱させるとともに、その通信速度に応じたチェインの最後尾に接続させてもよい。例えば、
図1においてノード1.3は、モバイル回線のチェイン1(高画質)の三番目に接続されているが、通信速度が低下したら、チェイン1から離脱させ、同じモバイル回線のチェイン3(中画質)又はチェイン4(低画質)の最後尾に接続する。このようにすることで、無線通信携帯端末機器31の通信速度に応じたコンテンツデータを受信することができる。逆に、
図1においてノード4.3は、モバイル回線のチェイン4(低画質)の三番目に接続されているが、通信速度が増加したら、チェイン4から離脱させ、同じモバイル回線のチェイン1若しくは2(高画質)又はチェイン3(中画質)の最後尾に接続する。このようにすることで、無線通信携帯端末機器31の通信速度に応じたコンテンツデータを受信することができる。
【0049】
図7は、ノード監視とノード切換制御に関する、配信サーバ21及び無線通信携帯端末機器31(ノードn)における他の処理手順を示すフローチャートである。現時点において、配信サーバ21の一のチェインに3つのノードがチェイン接続され、コンテンツデータがピアツーピア方式でマルチキャスト配信されているものとする(ステップS71)。ここで、ノード1.1に何らかの通信不具合が生じ、これにより後続するノード1.2にコンテンツデータ及びインデックステーブルが配信されないことを当該ノード1.2が検出したら(ステップS72,具体的にはカルーセル配信間隔の0.5秒がタイムアップしても受信しなかったら)、当該ノード1.2は、配信サーバ21に対してノード1.1の状況の問い合わせ要求を送信する(ステップ73)。ノード1.2は、配信サーバ21がインデックステーブルを更新するまでの間、それまでバッファリングされているコンテンツデータを再生しながら(ステップS75)、後続するノード1.3とのセッションは維持する(ステップS76)。後続するノード1.3は、自機のデータバッファにバッファリングされているコンテンツデータを再生する(ステップS77)。
【0050】
配信サーバ21は、ステップ73においてノード1.2から送信されたノード1.1の通信不良の信号を受信すると、ノード1.1へ接続応答コマンドを送信することで当該チェインに接続しているか否かを検出する。そして、ノード1.1が当該チェインに接続していない場合には、ステップS74に示すようにインデックステーブルを書き換える。すなわち、通信不良とされたノード1.1を当該チェインから離脱させるとともに、ノード1.2及びノード1.3を、それぞれノード1.1及びノード1.2にノードシフトさせる。そのため、ステップS74のインデックステーブルに示すように、各データを書き換え、これをノード1.2に送信する(ステップ78)。ノード1.2は、書き換えられたインデックステーブルにより、受信元が配信サーバ21に変更されていることを確認し、配信サーバ21からコンテンツデータを受信する。このとき、ノード1.2は、先にノード1.1から配信され自機のデータバッファにバッファリングされているコンテンツデータの最終位置を記憶しておき、受信元が配信サーバ21に切り換わった時に受信するコンテンツデータは、その最終位置に連続する位置からとする。
【0051】
《アイドルモード》
本実施形態では、無線通信携帯端末機器31を使用しているので、有線回線を使用したコンテンツ配信方式に比べ、通信環境の影響から接続するノードとの通信が完全に途絶えたり、著しく回線品質が悪くなる場合が発生する。そこで、自ノードから後続ノードへ影響が波及する頻度が高くなるのを抑制するため、自ノードの回線状況が著しく悪い場合には、自ノードをチェーンから離脱させ、後続ノードに影響を波及させないアイドルモードに設定する。
図8は、アイドルモードに関する、配信サーバ21及び無線通信携帯端末機器31(ノードn)における処理手順を示すフローチャートである。
【0052】
複数の無線通信携帯端末機器31(ノード)がチェイン接続され、所定のコンテンツデータが各ノードにマルチキャスト配信されている場合において、各ノードは自機の通信状態を検出し、それをインデックステーブルに上書きして配信サーバ21に直接送信するか、後続ノードにデータカルーセル配信する。配信サーバ21は、各ノードの通信状態が所定の通信状態閾値以上か否かを判定し(ステップS81)、所定の通信状態閾値以上で通信状態に問題がなければステップS81を繰り返す。これに対して、通信状態が所定の通信状態閾値未満のノードが存在するとステップS82へ進み、当該通信状態が不良なノードを一旦、当該チェインの最後尾にノードチェンジさせる。そして、所定時間経過しても通信状態が所定の通信状態閾値以上にならない場合は、一時的に当該チェインから離脱させる(ステップS82)。チェインからの離脱は、上述したとおりインデックステーブルによる当該ノードの情報の削除と、後続するノードを順次繰り上げる情報の書き換え処理による。これにより、通信状態が不良なノードに後続するノードにコンテンツデータが配信されないといった不具合を抑制することができる。なお、ステップS82において、通信状態が不良なノードを一旦、当該チェインの最後尾にノードチェンジさせ、所定時間が経過するまでに通信状態が所定の通信状態閾値以上に回復したら、当該最後尾の接続を維持する。
【0053】
一方、一時的に離脱した通信状態が不良のノードは、インデックステーブルのカルーセル配信間隔と同じく定期的に、通信状態を検出し、配信サーバ21に送信する。配信サーバ21は、当該ノードの通信状態が所定の通信状態閾値以上か否かを判定し(ステップS83)、当該ノードの通信状態が所定の通信状態閾値以上に再度復帰したら、そのチェインの最後尾にチェイン接続する(ステップS84)。なお、ステップS83において、当該ノードの通信状態が所定の通信状態閾値未満である場合はステップS83を繰り返す。なお、
図8に示すアイドルモードの実施形態において、ステップS81、S82及びS85を省略し、ノードの通信状態が所定の通信状態閾値未満の場合は、直接当該チェインから離脱させてもよい。
【0054】
《波及係数による通信状態の検出》
上述したとおり、本実施形態のアプリケーション層マルチキャスト配信方法によれば、チェイン接続されている無線通信携帯端末機器31のいずれかの通信状態が不良になると、後続する無線通信携帯端末機器31へのコンテンツデータの配信が不可能になりる。通信状態が不良になり受信したコンテンツデータにパケットエラーが発生すると、当該無線通信携帯端末機器31は、パケットエラーとなった当該パケット又は当該パケットが属するGOPデータの再送を、先行する無線通信携帯端末機器31又は配信サーバ21に要求する。パケットエラーが残ったまま再生するとGOPデータが成立しないので、GOPスキップと呼ばれる再生画像の飛びが発生して再生画像の品質が低下するからである。
【0055】
こうしたGOPスキップが発生すると、そのノードに後続する全てのノードにGOPスキップが発生するので、これを防止するために、上述したとおりパケットエラーが発生した無線通信携帯端末機器31は、先行ノード又は配信サーバ21に対して、当該パケット又は当該パケットが属するGOPデータの再送要求を送信し、パケットエラーを補填する。
【0056】
本実施形態のアプリケーション層マルチキャスト配信方法においては、GOPスキップの監視方法として、各ノードでGOPスキップが何個発生したかをカウントし、これをそれぞれのノードのGOPスキップ数としてインデックステーブルに書き込み、当該インデックステーブルを配信サーバ21に返送する。例えば、GOP長が0.5秒、インデックステーブルのカルーセル配信間隔が0.5秒、2秒間のGOPスキップが発生した場合には、GOPスキップが発生している間は「0」を書き込み、正常なGOPデータを受信した時点で「4」(=2秒/0.5秒)を書き込む。そして、配信サーバ21は、各ノードのGOPスキップを監視する。
【0057】
この場合において、本実施形態のアプリケーション層マルチキャスト配信方法では、波及係数として定義した値によりGOPスキップがチェインを構成するノードにどれだけ波及しているかを定量的に把握し、無線通信携帯端末機器31の通信状態の検出やチェインリセット及び再構築に利用する。
【0058】
本実施形態に係る波及係数は、一のチェインに接続された各無線通信携帯端末機器31で発生した最大GOPスキップ数をM、当該一のチェインに接続された全ての無線通信携帯端末機器31で発生したGOPスキップ数の総数をTとしたときに、T/Mで定義される。そして、特に限定はされないが、例えば波及係数>1の場合に複数ノードへの波及が「有り」と判断し、波及係数が0又は1の場合は、複数ノードへの波及は「無し」と判断する。
【0059】
1つの無線通信携帯端末機器31にて4つ(0.5秒のGOP長であれば2秒)のGOPスキップが発生した場合には、最大GOPスキップ数M=4、GOPスキップ数の総数T=4であるから、波及係数は4/4=1となる。この例では、1つの無線通信携帯端末機器31においてのみGOPスキップが発生し、他の無線通信携帯端末機器31には波及していないので、複数ノードへの波及は「無し」となる。これに対して、1つの無線通信携帯端末機器31にて1つ(0.5秒のGOP長であれば0.5秒)のGOPスキップが発生し、これに後続する3つの無線通信携帯端末機器31にもそれぞれ1つのGOPスキップが発生した場合には、最大GOPスキップ数M=1、GOPスキップ数の総数T=4であるから、波及係数は4/1=4となる。この例では、先行する1つの無線通信携帯端末機器31のGOPスキップが後続する3つの無線通信携帯端末機器31にまで波及しているので、複数ノードへの波及は「有り」となる。
【0060】
上述した波及係数は、
図4のステップS41,
図6のステップS62,
図8のステップS81,S83,S86などにおいて、無線通信携帯端末機器31の通信状態を検出する際に用いられ、配信サーバ21によって波及係数が演算され、例えば波及係数が0又は1の場合は通信状態が所定の通信状態閾値以上(良好)と判断し、波及係数が1を超えた場合は通信状態が所定の通信状態閾値未満(不良)と判断する。また、複数の無線通信携帯端末機器31がチェイン接続されている場合に、配信サーバ21が、所定の時間間隔(例えば0.5秒)で波及係数を演算し、その波及係数が所定のリセット閾値(例えば上述した1)を超えた場合に、当該チェインに接続された、少なくともGOPスキップが発生した無線通信携帯端末機器31を当該チェインから離脱させたのち(チェインリセット)、各無線通信携帯端末機器31の通信状態に応じたチェインに再接続するようにしてもよい。また、チェインの増加は配信サーバ21の負荷の増加につながることから、チェイン数をなるべく最小限にすることが望ましい。そのため、再接続した無線通信携帯端末機器31を含むチェインの波及係数が、所定のリセット閾値以下に回復した場合には、再接続した無線通信携帯端末機器31を元のチェインに再接続するようにしてもよい。
【0061】
《ノードの配信サーバ化》
上述した実施形態の配信サーバ21は、定置型コンピュータで構成し、コンテンツデータは配信サーバ21からのみ配信したが、これに加えて又はこれに代えて、各ノードを構成する無線通信携帯端末機器31自体を配信サーバ21として機能させてもよい。この実施形態を説明する。
図9は、発明の他の実施の形態に係るアプリケーション層マルチキャスト配信方法を実現するコンテンツの配信システム(ノードの配信サーバ化)を示すブロック図、
図10は、
図9のコンテンツの配信システムにおけるインデックステーブル(カルーセルデータ)のカルーセル配信を説明する図である。
【0062】
図9に示すように、本実施形態では、ノード1(無線通信携帯端末機器31)〜ノードn(無線通信携帯端末機器31)がチェイン接続され、例えば各ノード1の自機が有するカメラやGPSセンサで取得した自機情報を、現在接続されているチェインにアップロードし、後続の各ノード2〜ノードnにピアツーピア方式でアプリケーション層マルチキャスト配信する。この場合、自機情報のみを当該チェインにアプリケーション層マルチキャスト配信してもよいし、メインの配信サーバ21からアプリケーション層マルチキャスト配信されているコンテンツに加える形で自機情報を配信してもよい。
【0063】
図9に示す実施形態において、配信サーバ21からアプリケーション層マルチキャスト配信されているコンテンツに自機情報を加える形で配信する場合、配信サーバ21は、各ノード1〜ノードnのID、IPアドレス及び通信状態を含む情報に、上述した自機が有するカメラやGPSセンサで取得した自機情報を加え、これらの情報を含むインデックステーブルを生成し、当該インデックステーブルをコンテンツデータに定期的に含ませてデータカルーセル配信する。そして、配信サーバ21は、各チェインの最終段ノードn又は任意のノードから戻されたインデックステーブルを更新するが、このとき、
図10に示すように所定時間間隔の時系列に、インデックステーブルを蓄積記録してもよい。こうすることで、例えば、各ノード1〜nの自機情報がカメラで撮影した映像であった場合、各ノード1〜nの時系列情報を縦に閲覧することで、各ノードの連続静止画再生(モーションJPEG等動画情報)となる。なお、各ノード1〜nの自機情報の画質やフレームレート等は、インデックスデータの容量又はデータカルーセル配信の間隔により決定する。
【符号の説明】
【0064】
1…コンテンツの配信システム
11…リアルタイムエンコーダ
21…配信サーバ
31…無線通信携帯端末機器
41…電気通信回線網
【要約】
【課題】ノードを構成する無線通信携帯端末機器の通信状態が低下しても、コンテンツのマルチキャスト配信の品質が低下するのを抑制する。
【解決手段】配信サーバ21は、第1のチェインの最後尾の無線通信携帯端末機器31の通信状態が所定の通信状態閾値未満である場合に、次に配信要求を送信した他の無線通信携帯端末機器31に対して、第1チェインとは異なる第2チェインとして所定のコンテンツデータを配信し、配信サーバ21は、その後に配信要求を送信した順に無線通信携帯端末機器31を第2のチェインとしてチェイン接続して、ピアツーピア方式で前記所定のコンテンツデータを各無線通信携帯端末機器31にアプリケーション層マルチキャスト配信する。
【選択図】
図1