JP6191466B2 - 映像配信システム及び映像配信システムにおいて使用されるノード装置 - Google Patents

映像配信システム及び映像配信システムにおいて使用されるノード装置 Download PDF

Info

Publication number
JP6191466B2
JP6191466B2 JP2014002317A JP2014002317A JP6191466B2 JP 6191466 B2 JP6191466 B2 JP 6191466B2 JP 2014002317 A JP2014002317 A JP 2014002317A JP 2014002317 A JP2014002317 A JP 2014002317A JP 6191466 B2 JP6191466 B2 JP 6191466B2
Authority
JP
Japan
Prior art keywords
node device
confirmation request
stream
participating
stream data
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.)
Expired - Fee Related
Application number
JP2014002317A
Other languages
English (en)
Other versions
JP2015133530A (ja
Inventor
美和 嶋田
美和 嶋田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014002317A priority Critical patent/JP6191466B2/ja
Priority to US14/542,927 priority patent/US20150195361A1/en
Priority to CN201410743511.2A priority patent/CN104780468B/zh
Publication of JP2015133530A publication Critical patent/JP2015133530A/ja
Application granted granted Critical
Publication of JP6191466B2 publication Critical patent/JP6191466B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、映像配信システムおよび映像配信システムにおいて使用されるノード装置に係わる。
映像データを配信する方法の1つとして、ストリーム配信(または、ストリーミング)が普及してきている。ストリーム配信においては、端末装置は、映像データファイルをダウンロードしながらその映像を再生することができる。このため、ストリーム配信は、ライブ配信を実現することができる。また、映像データファイルのサイズが大きい場合であっても、端末装置は、大容量のストレージを用意することなくその映像を再生できる。
ストリーム配信を提供する通信方式の1つとして、P2P(peer to peer)通信が実用化されている。P2P通信においては、通信を行う複数の端末装置は対等である。すなわち、各端末装置は、データを受信する受信装置として動作することができ、また、データを他の端末装置へ送信(または、転送)する送信装置として動作することもできる。したがって、P2P通信は、柔軟なネットワークを提供することができる。
P2Pを利用するストリーム配信を提供する配信システムにおいては、根ノード装置が設けられる。根ノード装置は、配信サービスにより提供されるストリームデータを受信する参加ノード装置を管理する。ここで、新たなノード装置(以下、新規参加ノード装置)が配信サービスを受けようとするときは、その新規参加ノード装置は、根ノード装置に参加要求を送信する。そうすると、根ノード装置は、新規参加ノード装置に対して、親候補ノード情報を提供する。そして、新規参加ノード装置は、その親候補ノード情報を利用して親ノード装置を選択し、その親ノード装置からストリームデータを受信する。
なお、関連技術として、サーバからユーザに対し最も効率的に情報伝達できる通信経路を選択して通信網リソースの利用効率を改善する情報配信システムが提案されている。また、P2Pのリレー方式の配信網を適切な状態に維持可能にするサーバシステムが提案されている。(例えば、特許文献1、2)
特開2013−118425号公報 特開2011−150618号公報
P2Pストリーム配信においては、参加ノード装置は、親候補ノード情報を利用して選択した親ノード装置からストリームデータを受信することができる。ところが、参加ノード装置は、親ノード装置として必ずしも最適または好適なノード装置を選択できるわけではない。例えば、参加ノード装置は、ストリームデータを配信可能なノード装置が近くに存在しているにもかかわらず、遠くに位置するノード装置からストリームデータを受信してしまうことがある。この場合、ストリームデータの受信が遅延することがあり、また、必要以上に通信資源を使用することになる。
一つの側面では、本発明は、P2Pでストリーム配信を行う映像配信システムにおいて、参加ノード装置が好適な親ノード装置からストリームデータを受信できるようにすることを目的とする。
1つの態様では、ストリーム配信サービスを提供する映像配信システムにおいて使用されるノード装置は、ストリームデータの送信元である第1のノード装置との間の往復遅延時間を表す第1の応答時間を測定する測定部と、所定の範囲内のノード装置に対してストリームデータの配信が可能か否かを確認する確認要求を送信する確認要求生成部と、前記確認要求生成部が前記確認要求を送信したときから前記第1の応答時間が経過するまでの間に前記確認要求に対応する確認応答を最初に返送してきた第2のノード装置に対してストリーム配信要求を送信する送信部と、を有する。
1つの側面として、P2Pでストリーム配信を行う映像配信システムにおいて、参加ノード装置が好適な親ノード装置からストリームデータを受信できるという効果を有する。
映像配信システムの動作の概要を説明する図(その1)である。 映像配信システムの動作の概要を説明する図(その2)である。 映像配信システムの動作の概要を説明する図(その3)である。 映像配信システムの動作の概要を説明する図(その4)である。 映像配信システムの動作の概要を説明する図(その5)である。 ノード装置の機能を示すブロック図である。 ノード装置の動作を示すフローチャートである。 好適な親ノード装置を選択するシーケンスを示す図である。 本発明の実施形態に係わるノード装置のハードウェア構成の一例を示す図である。
図1〜図5は、本発明の1つの実施形態に係る映像配信システム200の動作の概要を説明する図である。映像配信システム200は、ユーザからの要求に応じてストリーム配信サービスを提供することができる。
映像配信システム200は、複数のノード装置を含む。各ノード装置は、映像配信システム200が提供するストリーム配信サービスに参加することができる。この例では、図1に示すように、ノード装置1A、1B、1C、1D、1Eがストリーム配信サービスに参加している。すなわち、ノード装置1A、1B、1C、1D、1Eは、ストリームデータを受信している。なお、以下の説明では、ストリーム配信サービスに参加しているノード装置を「参加ノード装置(または、参加ノード)」と呼ぶことがある。
映像配信システム200は、根ノード装置2を有する。根ノード装置2は、ストリーム配信の状態を管理する。例えば、根ノード装置2は、参加ノード装置の接続状態を表す配信ツリーを管理する。すなわち、根ノード装置2は、各参加ノード装置へストリームデータが配信される経路を管理している。また、根ノード装置2は、この実施例では、ストリーム配信の最上流に位置する。そして、根ノード装置2は、コンテンツサーバから映像データを取得して参加ノード装置へストリーム配信する。或いは、コンテンツサーバが根ノード装置として動作してもよい。
各ノード装置は、P2P通信を実現するための機能を実装している。そして、根ノード装置2から送信されるストリームデータは、1または複数の参加ノード装置を介して各参加ノードに配信される。図1に示す例では、根ノード装置2は、参加ノード装置1Aへストリームデータを送信する。参加ノード装置1Aは、受信したストリームデータを参加ノード装置1Bおよび参加ノード装置1Eへ転送する。同様に、参加ノード装置1Bは、受信したストリームデータを参加ノード装置1Cへ転送し、参加ノード装置1Cは、受信したストリームデータを参加ノード装置1Dへ転送する。このストリーミングにより、参加ノード装置1A〜1Eは、根ノード装置2から配信される映像データをほぼ同時に受信することができる。
各ノード装置は、ルータに収容されている。この実施例では、各ルータに収容されている複数のノード装置がそれぞれネットワークを構成する。たとえば、図1に示すように、参加ノード装置1A、1B、根ノード装置2は、ネットワークXに属している。また、参加ノード装置1C、1D、1Eは、ネットワークYに属している。各ネットワークX、Yの中では、ノード装置間の距離は1ホップである。なお、ネットワークXおよびネットワークYは、ゲートウェイ4により互いに接続されている。
上記構成の映像配信システム200において、各参加ノード装置1A〜1Eは、好適な親ノード装置からストリームデータを受信しているか否かを判定する。すなわち、各参加ノード装置1A〜1Eは、好適な親ノード装置を選択しているか否かを判定する。なお、親ノード装置(または、親ノード)は、ストリームデータの送信元のノード装置を意味する。例えば、参加ノード装置1Dの親ノード装置は参加ノード装置1Cであり、参加ノード装置1Eの親ノード装置は参加ノード装置1Aである。以下、参加ノード装置1Eが好適な親ノード装置からストリームデータを受信しているか否かを判定するケースについて説明する。
参加ノード装置1Eは、図1に示すように、親ノード装置との間の往復遅延時間(RTT:Round Trip Time)を測定する。すなわち、参加ノード装置1Eは、参加ノード装置1Aとの間のRTTを測定する。RTTは、例えば、参加ノード装置1Eから参加ノード装置1AへPingを送信することにより測定される。ただし、RTTは、他の方法で測定してもよい。
つづいて、参加ノード装置1Eは、図2に示すように、ネットワークYに属するすべてのノード装置に対してマルチキャスト確認要求を送信する。確認要求は、ストリームデータを配信可能か否か(或いは、親ノード装置として動作可能か否か)を問い合わせることができる。そして、このマルチキャスト確認要求は、例えば、送信先アドレスとしてネットワークY内で一意なマルチキャストアドレスが付与されたパケットに格納されて送信される。また、このマルチキャスト確認要求には、「生存時間(TTL:Time To Live)=1」が付与される。TTLは、データ転送過程において、そのデータを受信したゲートウェイ(ルータ)により1だけデクリメントされる。そして、データに付与されているTTLがゼロになると、そのデータは、それ以上は転送されない。したがって、TTL=1が設定されたマルチキャスト確認要求は、参加ノード装置1Eから1ホップの範囲内のノード装置により受信される。即ち、参加ノード装置1Eから送信されるマルチキャスト確認要求は、ネットワークYの中の各ノード装置(図2では、参加ノード装置1C、1D)により受信される。
なお、このマルチキャスト確認要求は、ゲートウェイ4によっても受信される。但し、マルチキャスト確認要求のTTLは、ゲートウェイ4において1からゼロに更新される。したがって、マルチキャスト確認要求は、ネットワークXへ転送されることはない。
参加ノード装置1Eは、上述のマルチキャスト確認要求を送信するときに、タイマを起動する。このタイマは、参加ノード装置1Eと親ノード装置(すなわち、参加ノード装置1A)との間のRTTを計時する。そして、参加ノード装置1Eは、このタイマがタイムアウトするまで、マルチキャスト確認要求に対応する確認応答を待ち受ける。
マルチキャスト確認要求を受信した参加ノード装置は、それぞれ、その確認要求に対して応答するか否かを判定する。ここで、参加ノード装置は、新たなノード装置に対してストリームデータを配信できるときには、受信した確認要求に対して応答する。この場合、確認要求を受信した参加ノード装置は、その確認要求の送信元ノードへ確認応答を返送する。図3に示す例では、マルチキャスト確認要求を受信した参加ノード装置1C、1Dのうち、参加ノード装置1Dが参加ノード装置1Eへ確認応答を返送している。なお、参加ノード装置は、新たなノード装置に対してストリームデータを配信できないときには、受信した確認要求を廃棄する。また、ストリーム配信サービスに参加していないノード装置も、受信した確認要求を廃棄する。
参加ノード装置1Eは、上述のタイマがタイムアウトする前に、参加ノード装置1Dから確認応答を受信するものとする。ここで、このタイマは、上述したように、参加ノード装置1Eと親ノード装置(すなわち、参加ノード装置1A)との間のRTTを計時する。したがって、タイマがタイムアウトする前に参加ノード装置1Eが確認応答を受信したときは、参加ノード装置1Eは、ストリームデータを配信可能な参加ノード装置が、現在の親ノード装置よりも近くに存在すると判定する。この場合、参加ノード装置1Eは、確認応答を返送してきた参加ノード装置を特定し、その特定した参加ノード装置に対してストリーム配信要求を送信する。図3に示す例では、参加ノード装置1Eは、参加ノード装置1Dに対してストリーム配信要求を送信している。
参加ノード装置1Dは、図4に示すように、ストリーム配信要求に応じて参加ノード装置1Eへのストリーム配信を開始する。そうすると、参加ノード装置1Eは、参加ノード装置1Aおよび参加ノード装置1Dの双方からストリームデータを受信することになる。そして、参加ノード装置1Eは、参加ノード装置1Dから受信するストリームデータが安定すると、参加ノード装置1Aへストリーム配信停止要求を送信する。この手順により、参加ノード装置1Eにおいてストリームデータが途切れることなく、親ノード装置の切替えが実現される。以降、参加ノード装置1Dは、参加ノード装置1Eに対して親ノード装置として動作する。
この後、参加ノード装置1Eは、根ノード装置2へ接続情報を送信する。この接続情報は、ストリームデータの送信元ノードを識別する情報を含む。この実施例では、接続情報は、ノード装置1Dを識別する情報を含む。根ノード装置2は、参加ノード装置1Eから接続情報を受信すると、配信ツリー情報を更新する。配信ツリー情報は、ストリーム配信サービスに参加しているノード装置の接続関係を表す。すなわち、配信ツリー情報は、根ノード装置2から各参加ノード装置へのストリームデータの配信経路を表す。
なお、参加ノード装置1Eは、タイマがタイムアウトする前に複数の確認応答を受信したときには、確認応答を最初に返送してきた参加ノード装置に対してストリーム配信要求を送信する。この場合、参加ノード装置1Eは、最も近くに存在する参加ノード装置からストリームデータを受信することができる。
このように、参加ノード装置1Eは、現在の親ノード装置よりも近くにストリームデータを配信可能な参加ノード装置(すなわち、より好ましい親ノード装置の候補)が存在するか否かを判定する。そして、そのようなノード装置が存在するときには、参加ノード装置1Eは、親ノード装置の切替えを行なう。したがって、この方法によれば、ストリームデータの遅延時間が改善する。
各参加ノード装置は、上述のマルチキャスト確認要求を利用して好適な親ノード装置をサーチする手順を定期的に実行してもよい。ただし、参加ノード装置の近くに親ノード装置が位置しているときは、このサーチを行わなくてもよい。そこで、一例として、参加ノード装置は、当該参加ノード装置を収容するルータまたはゲートウェイよりも近くに親ノード装置が位置しているか否かを判定する。
この場合、参加ノード装置1Eは、図5に示すように、ゲートウェイ4との間のRTTを測定する。また、参加ノード装置1Eは、親ノード装置(ここでは、参加ノード装置1D)との間のRTTも測定する。そして、ゲートウェイ4との間のRTTよりも参加ノード装置1Dとの間のRTTの方が短いときは、参加ノード装置1Eは、現在の親ノード装置が好適な親ノード装置であると判定する。この場合、参加ノード装置1Eは、新たな親ノード装置のサーチを行わない。すなわち、参加ノード装置1Eは、参加ノード装置1Dからストリームデータを受信し続ける。一方、ゲートウェイ4との間のRTTよりも参加ノード装置1Dとの間のRTTの方が長いときは、参加ノード装置1Eは、現在の親ノード装置が好適な親ノード装置でないと判定する。この場合、参加ノード装置1Eは、新たな親ノード装置のサーチを行う。すなわち、参加ノード装置1Eは、図1〜図4を参照しながら説明したように、マルチキャスト確認要求を利用して好適な親ノード装置をサーチする。
なお、各参加ノード装置は、新たなノード装置に対してストリームデータを配信可能か否かを予め判定しておく。例えば、自装置のハードウェア資源(CPU、メモリ等)の能力が十分に高いときは、参加ノード装置は、ストリームデータを配信可能と判定する。ただし、自装置のハードウェア資源の使用率が高いときは、参加ノード装置は、ストリームデータを配信できないと判定する。また、参加ノード装置は、配信ツリーの構成に基づいて上述の判定を行ってもよい。例えば、根ノード装置2から自ノードまでの間に存在する参加ノード装置の数が多いときは、参加ノード装置は、ストリームデータを配信できないと判定する。配信ツリーの構成を表す配信ツリー情報は、根ノード装置2から各参加ノード装置に通知される。そして、ストリームデータを配信可能と判定している参加ノード装置は、マルチキャスト確認要求を受信したときに、確認応答を返送する。一方、ストリームデータを配信できないと判定している参加ノード装置は、マルチキャスト確認要求を受信しても確認応答を返送しない。
図6は、ノード装置の機能を示すブロック図である。ノード装置1(1A〜1E)は、図6に示すように、ストリーム受信部11、ストリームバッファ12、ストリーム送信部13、管理パケット受信部14、ゲートウェイRTT測定部15、親ノードRTT測定部16、タイマ17、確認要求送信判定部18、親ノード変更判定部19、ノードスペック生成部20、管理パケット送信部21、コントローラ22を有する。なお、ノード装置1は、図6に示していない他の機能を有していてもよい。
ストリーム受信部11は、根ノード装置2または上流側の参加ノード装置からストリームデータを受信する。そして、ストリーム受信部11は、そのストリームデータをストリームバッファ12に格納する。ストリーム送信部13は、ストリームバッファ12からストリームデータを読み出して下流側の参加ノード装置へ送信する。なお、ノード装置1には、不図示の表示装置および/またはスピーカが接続されていてもよい。この場合、ストリームバッファ12に書き込まれたストリームデータに基づいて、動画像が表示装置に表示され、音声がスピーカを介して出力される。
管理パケット受信部14は、根ノード装置2または他のノード装置から管理パケットを受信する。管理パケット受信部14は、確認要求受信部14aおよび確認応答受信部14bを有する。確認要求受信部14aは、他の参加ノード装置から送信されるマルチキャスト確認要求を含む管理パケットを受信する。確認応答受信部14bは、マルチキャスト確認要求に対応する確認応答を含む管理パケットを受信する。ただし、後述するタイマ17がタイムアウトした後は、確認応答受信部14bは、確認応答を含む管理パケットを廃棄する。また、確認応答を含む複数の管理パケットを受信したときは、確認応答受信部14bは、最初の管理パケットを受け入れ、後続の管理パケットを廃棄する。なお、管理パケット受信部14は、他の管理パケットを受信することができる。例えば、管理パケット受信部14は、ストリーム配信要求を含む管理パケット等を受信する。
ゲートウェイRTT測定部15は、ノード装置1を収容するルータまたはゲートウェイとの間のRTTを測定する。図5に示す例では、ゲートウェイRTT測定部15は、ゲートウェイ4との間のRTTを測定している。親ノードRTT測定部16は、親ノード装置との間のRTTを測定する。図1に示す例では、参加ノード装置1Aとの間のRTTが測定され、図5に示す例では、参加ノード装置1Dとの間のRTTが測定されている。尚、ゲートウェイRTT測定部15および親ノードRTT測定部16は、例えば、Pingを用いてRTTを測定してもよい。
タイマ17には、親ノードRTT測定部16により測定されたRTTが設定される。タイマ17は、管理パケット送信部21がマルチキャスト確認要求を含む管理パケットを送信したときに起動される。そして、タイマ17がタイムアウトすると、確認応答受信部14bにタイムアウト通知が与えられる。
確認要求送信判定部18は、ゲートウェイRTT測定部15により測定されたRTT(ゲートウェイRTT)と親ノードRTT測定部16により測定されたRTT(親ノードRTT)とを比較する。そして、図5を参照しながら説明したように、ゲートウェイRTTよりも親ノードRTTの方が短いときは、確認要求送信判定部18は、マルチキャスト確認要求を利用して新たな親ノード装置をサーチする必要はないと判定する。一方、ゲートウェイRTTよりも親ノードRTTの方が長いときは、確認要求送信判定部18は、マルチキャスト確認要求を送信する指示を管理パケット送信部21に与える。
親ノード変更判定部19は、管理パケット送信部21がマルチキャスト確認要求を送信したときからタイマ17がタイムアウトするまでの期間に確認応答受信部14bが対応する確認応答を受信したときは、親ノード装置を変更する処理を実行する。このとき、親ノード変更判定部19は、ストリーム配信要求を生成する。このストリーム配信要求の宛先は、確認応答受信部14bが最初に受信した確認応答の送信元ノード装置である。また、親ノード変更判定部19は、ストリーム配信停止要求を生成する。このストリーム配信停止要求の宛先は、現在の親ノード装置である。
ノードスペック生成部20は、ノード装置1(すなわち、自装置)がストリームデータを配信できるか否かを判定するためのノードスペック情報を管理する。ノードスペック情報は、ノード装置1のハードウェアの能力および状態を表す情報、配信ツリーの状態を表す情報などを含む。
管理パケット送信部21は、根ノード装置2および他のノード装置へ管理パケットを送信する。管理パケット送信部21は、確認要求生成部21aおよび確認応答生成部21bを含む。確認要求生成部21aは、図2に示すマルチキャスト確認要求を含む管理パケットを所定の範囲内のノード装置へ送信する。すなわち、この管理パケットには、送信先アドレスとして所定の範囲を指定するマルチキャストアドレスが設定される。また、確認要求生成部21aは、この管理パケットに「TTL=1」を付与する。確認応答生成部21bは、確認要求受信部14aが他の参加ノード装置から確認要求を受信したときに、その確認要求に対応する確認応答を含む管理パケットを返送する。ただし、ノード装置1(すなわち、自装置)がストリームデータを配信できないときは、確認応答生成部21bは確認応答を返送しない。
管理パケット送信部21は、他の管理パケットを送信することもできる。すなわち、管理パケット送信部21は、図3に示すストリーム配信要求を含む管理パケット、図4に示すストリーム配信停止要求を含む管理パケット、図4に示す接続要求を含む管理パケットなどを送信することができる。
コントローラ22は、ノード装置1の動作を制御する。また、コントローラ22は、ストリーム配信に係わる他の機能を提供する。例えば、コントローラ22は、根ノード装置2から受信する親候補ノード情報に基づいて親ノード装置を選択することができる。
図7は、ノード装置の動作を示すフローチャートである。このフローチャートの処理は、ノード装置がストリームデータの受信を開始した後に実行される。
S1において、ゲートウェイRTT測定部15は、デフォルトゲートウェイのRTTを測定する。デフォルトゲートウェイは、当該ノード装置を収容するルータまたゲートウェイである。図1〜図5に示す例では、ゲートウェイ4との間のRTTが測定されている。S2において、親ノードRTT測定部16は、親ノード装置のRTTを測定する。図1に示す例では、参加ノード装置1Aとの間のRTTが測定されている。
S3において、確認要求送信判定部18は、ゲートウェイRTT測定部15により測定されたRTT(測定値G)と親ノードRTT測定部16により測定されたRTT(測定値P)とを比較する。そして、測定値Gが測定値P以上であるときは、確認要求送信判定部18は、マルチキャスト確認要求を送信する必要はないと判定する。この場合、参加ノード装置の処理は終了する。一方、測定値Gよりも測定値Pの方が長いときは、確認要求送信判定部18は、マルチキャスト確認要求を送信する指示を管理パケット送信部21に与える。
S4において、確認要求生成部21aは、所定範囲内のノード装置へマルチキャスト確認要求を送信する。マルチキャスト確認要求を含む管理パケットには「TTL=1」が設定される。よって、このマルチキャスト確認要求は、当該参加ノード装置から1ホップの範囲内のノード装置によって受信される。また、確認要求生成部21aは、マルチキャスト確認要求の送信時に、S5において、タイマ17を起動する。タイマ17は、S2で測定された親ノード装置のRTTが経過したときにタイムアウトする。
S6において、確認応答受信部14bは、S4で送信されたマルチキャスト確認要求に対応する確認応答を待ち受ける。そして、タイマ17がタイムアウトする前に確認応答受信部14bが確認応答を受信したときには、ノード装置の処理はS7に進む。S7において、確認応答受信部14bは、受信した確認応答が最初の確認応答であるか否かを判定する。そして、確認応答受信部14bが最初の確認応答を受信したときは、ノード装置の処理はS8へ進む。一方、確認応答受信部14bが2番目以降の確認応答を受信したときには、S12において、受信した確認応答は破棄される。
S8において、コントローラ22は、新たな親ノード装置を特定する。この場合、最初の確認応答の送信元ノード装置が新たな親ノード装置として特定される。そして、管理パケット送信部21は、コントローラ22により特定された新たな親ノード装置にストリーム配信要求を送信する。そうすると、この新たな親ノード装置は、要求されたストリームデータの配信を開始する。
S9において、ストリーム受信部11は、新たな親ノード装置からストリームデータを受信する。そうすると、ストリーム受信部11は、現在の親ノード装置および新たな親ノード装置の双方からストリームデータを受信することになる。そして、新たな親ノード装置から受信するストリームデータが安定すると、S10において、コントローラ22は、管理パケット送信部21を介して現在の親ノード装置へストリーム配信停止要求を送信する。この後、S11において、コントローラ22は、管理パケット送信部21を介して根ノード装置2へ接続要求を送信する。これにより、根ノード装置2において、配信ツリー情報が更新される。
図8は、好適な親ノード装置を選択するシーケンスを示す図である。以下の説明では、図1〜図5に示す映像配信システム200において、根ノード装置2から参加ノード装置1A〜1Dにストリームデータが配信されているものとする。そして、ノード装置1Eが新たにストリーム配信サービスに参加するものとする。
この場合、ノード装置1Eは、根ノード装置2へ参加要求を送信する。そうすると、根ノード装置2は、親候補ノード情報を生成してノード装置1Eへ返送する。この場合、親候補ノード情報は、ノード装置1Eに対して親ノード装置として動作することが可能な参加ノード装置のリストを含む。そして、ノード装置1Eは、根ノード装置2から受信した親候補ノード情報を利用して親ノード装置を選択し、その親ノード装置へストリーム配信要求を送信する。図8に示す実施例では、ノード装置1Eは参加ノード装置1Aへストリーム配信要求を送信し、参加ノード装置1Aからノード装置1Eへストリームデータが配信されている。この後、ノード装置1Eは、参加ノード装置1Aが親ノード装置であることを表す接続情報を根ノード装置2へ送信する。この結果、図1に示す状態が得られる。
ノード装置1Eは、ゲートウェイ4との間の往復遅延時間を表すゲートウェイRTTを測定する。また、ノード装置1Eは、親ノード装置(ここでは、参加ノード装置1A)との間の往復遅延時間を表す親ノードRTTを測定する。そして、ノード装置1Eは、ゲートウェイRTTと親ノードRTTとを比較することにより、現在の親ノード装置よりも好ましい親ノード装置をサーチする処理を実行するか否かを判定する。ここでは、ゲートウェイRTTよりも親ノードRTTの方が長く、ノード装置1Eがサーチを実行するものとする。
ノード装置1Eは、ネットワークYに属するノード装置に対してマルチキャスト確認要求を送信する。このとき、タイマ17が起動される。そして、このマルチキャスト確認要求は、参加ノード装置1C、1Dにより受信される。ここで、この実施例では、図3に示すように、参加ノード装置1Dのみがノード装置1Eへ確認応答を返送する。
ノード装置1Eは、タイマ17がタイムアウトする前に、参加ノード装置1Dから返送されてくる確認応答を受信する。この場合、ノード装置1Eは、現在の親ノード装置(すなわち、参加ノード装置1A)よりも近くに、ストリームデータを配信可能な参加ノード装置(すなわち、参加ノード装置1D)が存在すると判定する。そうすると、ノード装置1Eは、参加ノード装置1Dへストリーム配信要求を送信する。そして、参加ノード装置1Dは、ノード装置1Eへのストリームデータの配信を開始する。また、ノード装置1Eは、現在の親ノード装置(すなわち、参加ノード装置1A)へストリーム配信停止要求を送信する。さらに、ノード装置1Eは、参加ノード装置1Dが親ノード装置であることを表す接続情報を根ノード装置2へ送信する。根ノード装置2は、この接続情報に応じて配信ツリー情報を更新する。この手順により、親ノード装置の切替えが完了する。
さらに、ノード装置1Eは、新たな親ノード装置(すなわち、参加ノード装置1D)との間の往復遅延時間を表す新親ノードRTTを測定する。そして、ノード装置1Eは、ゲートウェイRTTと新親ノードRTTとを比較する。ここでは、ゲートウェイRTTよりも新親ノードRTTの方が短いものとする。この場合、新たな親ノード装置は好ましい親ノード装置であると判定される。よって、以降、ノード装置1Eは、参加ノード装置1Dからストリームデータを受信する。
なお、上述の実施例では、マルチキャスト確認要求に「TTL=1」が付与されるが、本発明は、この方法に限定されるものではない。すなわち、マルチキャスト確認要求にTTLが設定されていなくてもよい。マルチキャスト確認要求にTTLが設定されていない場合、マルチキャスト確認要求を送信するノード装置は、自装置から2ホップ以上離れた位置にある参加ノード装置から確認応答を受信し得る。しかしながら、複数の確認応答を受信したときは、ノード装置は、最初に受信した確認応答に基づいて新たな親ノード装置を決定する。よって、マルチキャスト確認要求を送信するノード装置から2ホップ以上離れた位置にある参加ノード装置は、親ノード装置として選択される可能性は低い。
<ノード装置のハードウェア構成>
図9は、本発明の実施形態に係わるノード装置のハードウェア構成の一例を示す。ノード装置は、図9に示すコンピュータシステム100を含む。コンピュータシステム100は、CPU101、メモリ102、記憶装置103、読み取り装置104、通信インタフェース106、および入出力装置107を備える。CPU101、メモリ102、記憶装置103、読み取り装置104、通信インタフェース106、入出力装置107は、例えば、バス108を介して互いに接続されている。
CPU101は、メモリ102を利用して、図7に示すフローチャートの処理を記述したストリームデータ受信プログラムを実行する。これにより、上述したストリームデータ受信方法が実現される。メモリ102は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。記憶装置103は、例えばハードディスク装置であり、上述のストリームデータ受信プログラムを格納する。また、記憶装置103は、ストリームデータを格納してもよい。なお、記憶装置103は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置103は、外部記録装置であってもよい。
読み取り装置104は、CPU101の指示に従って着脱可能記録媒体105にアクセスする。着脱可能記録媒体105は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。通信インタフェース106は、CPU101の指示に従ってネットワークを介してデータを送信および受信することができる。入出力装置107は、ユーザからの指示を受け付けるデバイス、ストリームデータを出力するデバイスなどを含む。
実施形態のストリームデータ受信プログラムは、例えば、下記の形態でコンピュータシステム100に提供される。
(1)記憶装置103に予めインストールされている。
(2)着脱可能記録媒体105により提供される。
(3)プログラムサーバ110から提供される。
1A〜1E 参加ノード装置
2 根ノード装置
4 ゲートウェイ
15 ゲートウェイRTT測定部
16 親ノードRTT測定部
17 タイマ
18 確認要求送信判定部
19 親ノード変更判定部
21a 確認要求生成部
21b 確認応答生成部
200 映像配信システム

Claims (7)

  1. ノード装置に対してストリーム配信サービスを提供する映像配信システムにおいて使用されるノード装置であって、
    ストリームデータの送信元である第1のノード装置との間の往復遅延時間を表す第1の応答時間を測定する測定部と、
    所定の範囲内のノード装置に対してストリームデータの配信が可能か否かを確認する確認要求を送信する確認要求生成部と、
    前記確認要求生成部が前記確認要求を送信したときから前記第1の応答時間が経過するまでの間に前記確認要求に対応する確認応答を最初に返送してきた第2のノード装置に対してストリーム配信要求を送信する送信部と、
    を有するノード装置。
  2. 前記確認要求生成部は、TTL(Time To Live)が1である範囲内のノード装置に対して前記確認要求を送信する
    ことを特徴とする請求項1に記載のノード装置。
  3. 前記測定部は、当該ノード装置と当該ノード装置を収容するルータまたはゲートウェイとの間の往復遅延時間を表す第2の応答時間を測定し、
    前記第2の応答時間よりも前記第1の応答時間の方が長いときに、前記確認要求生成部は前記確認要求を送信する
    ことを特徴とする請求項1または2に記載のノード装置。
  4. 前記送信部は、前記第2のノード装置から配信されるストリームデータの受信を開始した後に、前記第1のノード装置に対してストリーム配信の停止を要求する
    ことを特徴とする請求項1〜3のいずれか1つに記載のノード装置。
  5. 映像配信システムにおいてストリーム配信サービスに参加するノード装置において使用されるストリームデータ受信方法であって、
    ストリームデータの送信元である第1のノード装置との間の往復遅延時間を測定し、
    所定の範囲内のノード装置に対してストリームデータの配信が可能か否かを確認する確認要求を送信し、
    前記確認要求を送信したときから前記往復遅延時間が経過するまでの間に前記確認要求に対応する確認応答を最初に返送してきた第2のノード装置に対してストリーム配信要求を送信する、
    ことを特徴とするストリームデータ受信方法。
  6. 映像配信システムにおいてストリーム配信サービスに参加するノード装置に、
    ストリームデータの送信元である第1のノード装置との間の往復遅延時間を測定し、
    所定の範囲内のノード装置に対してストリームデータの配信が可能か否かを確認する確認要求を送信し、
    前記確認要求を送信したときから前記往復遅延時間が経過するまでの間に前記確認要求に対応する確認応答を最初に返送してきた第2のノード装置に対してストリーム配信要求を送信する、
    処理を実行させるストリームデータ受信プログラム。
  7. ノード装置に対してストリーム配信サービスを提供する映像配信システムであって、
    前記ストリーム配信サービスに参加している参加ノード装置は、ストリームデータの送信元である第1のノード装置との間の往復遅延時間を測定し、
    前記参加ノード装置は、所定の範囲内のノード装置に対してストリームデータの配信が可能か否かを確認する確認要求を送信し、
    前記参加ノード装置は、前記確認要求を送信したときから前記往復遅延時間が経過するまでの間に前記確認要求に対応する確認応答を最初に返送してきた第2のノード装置に対してストリーム配信要求を送信し、
    前記第2のノード装置は、前記ストリーム配信要求に応じてストリームデータを前記参加ノード装置へ配信する
    ことを特徴とする映像配信システム。
JP2014002317A 2014-01-09 2014-01-09 映像配信システム及び映像配信システムにおいて使用されるノード装置 Expired - Fee Related JP6191466B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014002317A JP6191466B2 (ja) 2014-01-09 2014-01-09 映像配信システム及び映像配信システムにおいて使用されるノード装置
US14/542,927 US20150195361A1 (en) 2014-01-09 2014-11-17 Streaming system and node device used in streaming system
CN201410743511.2A CN104780468B (zh) 2014-01-09 2014-12-08 流媒体数据接收方法、流媒体系统及用在流媒体系统中的节点装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014002317A JP6191466B2 (ja) 2014-01-09 2014-01-09 映像配信システム及び映像配信システムにおいて使用されるノード装置

Publications (2)

Publication Number Publication Date
JP2015133530A JP2015133530A (ja) 2015-07-23
JP6191466B2 true JP6191466B2 (ja) 2017-09-06

Family

ID=53496118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014002317A Expired - Fee Related JP6191466B2 (ja) 2014-01-09 2014-01-09 映像配信システム及び映像配信システムにおいて使用されるノード装置

Country Status (3)

Country Link
US (1) US20150195361A1 (ja)
JP (1) JP6191466B2 (ja)
CN (1) CN104780468B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018207363A1 (ja) * 2017-05-12 2018-11-15 三菱電機株式会社 制御装置、通信管理方法及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
JP2000099435A (ja) * 1998-09-18 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> サーバ切り替え装置および方法とサーバ切り替えプログラムを記録した記録媒体
US20030233540A1 (en) * 2002-06-13 2003-12-18 International Business Machines Corporation System and method for secured delivery of content stream across multiple channels
EP2084881B1 (en) * 2006-09-28 2012-03-28 Rayv Inc. System and methods for Peer-to-Peer Media Streaming
JP4661751B2 (ja) * 2006-09-29 2011-03-30 ブラザー工業株式会社 離脱可否制御装置、ツリー型配信システム、ノード装置離脱制御方法、離脱可否制御プログラム及び情報処理プログラム
CN101102312B (zh) * 2007-06-11 2010-06-02 华为技术有限公司 一种网络通信数据处理方法、网络通信系统及客户端
CN101499914B (zh) * 2008-01-28 2012-07-04 华为技术有限公司 一种组播系统的父节点选择方法、系统及节点
US8204915B2 (en) * 2009-02-13 2012-06-19 Alcatel Lucent Apparatus and method for generating a database that maps metadata to P2P content
CN101902284B (zh) * 2010-04-02 2012-10-24 深圳市普联技术有限公司 一种通信参数校准方法和装置
CN101827416A (zh) * 2010-04-02 2010-09-08 华为技术有限公司 无线传感器网络中节点切换方法、网络及网络节点
JP5732919B2 (ja) * 2011-03-04 2015-06-10 富士通株式会社 データ配信システム,ノード,及びデータ配信方法
US20120270576A1 (en) * 2011-04-22 2012-10-25 Intuitive Research And Technology Corporation System and method for partnered media streaming
US8995338B2 (en) * 2011-05-26 2015-03-31 Qualcomm Incorporated Multipath overlay network and its multipath management protocol
EP3442247A1 (en) * 2011-12-14 2019-02-13 Interdigital Patent Holdings, Inc. Method and apparatus for triggering machine type communications applications

Also Published As

Publication number Publication date
CN104780468A (zh) 2015-07-15
JP2015133530A (ja) 2015-07-23
US20150195361A1 (en) 2015-07-09
CN104780468B (zh) 2018-06-12

Similar Documents

Publication Publication Date Title
CN103004147B (zh) 报文转发路径确定方法及网络设备、控制设备
CN101741750B (zh) P2p中资源下载方法及其系统
JP2014501978A5 (ja) ファイルシステムセッションにおけるマルチコネクションのための方法及びシステム
JP6540892B2 (ja) 無線ピアツーピアネットワーク内のデバイス、無線通信システム及び制御方法
TWI599201B (zh) 網路系統及建立資料連線的方法
CN106453460A (zh) 一种文件分发方法、装置和系统
WO2023226949A1 (zh) 实时流媒体数据传输的方法、设备及存储介质
JP6369024B2 (ja) 映像配信システム及び映像配信システムにおいて使用されるノード装置
KR20120138546A (ko) 분산 네트워크에서 우선순위에 기반한 디스커버리를 수행하는 장치 및 방법과, 디스커버리 백오프 타임 결정 방법
JP6191466B2 (ja) 映像配信システム及び映像配信システムにおいて使用されるノード装置
CN105657570B (zh) 缓存平台的资源传输方法及装置
JP5732919B2 (ja) データ配信システム,ノード,及びデータ配信方法
WO2017059709A1 (zh) 能力协商方法及装置
CN101355512B (zh) 数据传输系统、方法及传输控制服务器
JP2016046785A (ja) キャッシュサーバ選択装置、分散キャッシュシステム、及びキャッシュサーバ選択方法
JP2012124647A (ja) 通信システム及びノード装置
JP5673268B2 (ja) 通信装置、およびプログラム
JP6348377B2 (ja) コンテンツ配信ネットワークの通信装置及びプログラム
Awiphan et al. Outbound face selection considering response time and buffer usage for CCN adaptive video streaming
JP2008206028A (ja) 機能分散型通信装置、構成要素結合制御方法、およびプログラム
JP6596266B2 (ja) 通信方法、端末装置、中継装置及びコンテンツ提供装置
JP5376155B2 (ja) 通信システム、ノード、通信方法、及びプログラム
Gao et al. Design and implementation of SDN multicast for distributed shared memory
JP6195785B2 (ja) 転送したコンテンツを保存する通信装置、サーバ装置及びプログラム
JP6310264B2 (ja) コンテンツ配信システム及びアドレス情報通知サーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170628

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170724

R150 Certificate of patent or registration of utility model

Ref document number: 6191466

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees