JP7091847B2 - データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム - Google Patents

データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム Download PDF

Info

Publication number
JP7091847B2
JP7091847B2 JP2018103856A JP2018103856A JP7091847B2 JP 7091847 B2 JP7091847 B2 JP 7091847B2 JP 2018103856 A JP2018103856 A JP 2018103856A JP 2018103856 A JP2018103856 A JP 2018103856A JP 7091847 B2 JP7091847 B2 JP 7091847B2
Authority
JP
Japan
Prior art keywords
node
distribution
receiving
parent
parent node
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.)
Active
Application number
JP2018103856A
Other languages
English (en)
Other versions
JP2019207644A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2018103856A priority Critical patent/JP7091847B2/ja
Priority to PCT/JP2019/019142 priority patent/WO2019230375A1/ja
Publication of JP2019207644A publication Critical patent/JP2019207644A/ja
Application granted granted Critical
Publication of JP7091847B2 publication Critical patent/JP7091847B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Description

この発明は、データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラムに関し、例えば、映像情報や音声情報等のマルチメディアデータを配信元から複数ユーザへ配信するシステムに適用し得る。
近年、情報通信技術の発達により、遠隔の離れた場所にいる者同士があたかも同じ場所にいるかのようにコミュニケーションしたり、共同作業を行ったりする技術が注目されている。従来の複数の映像や音声等の情報を、複数の場所や複数のユーザに配信することによりこれら遠隔の複数者間のコミュニケーションを実現している。従来、映像や音声等のデータを複数のユーザに配信する場合、ビデオカメラ等の映像ソースや、マイク等の音声ソースからのマルチメディアデータを持つ配信元から、これらのデータを要求するユーザに対してIPパケット等を用いたユニキャスト通信で配信する方法が用いられる。
従来、このようなユニキャスト通信では、同じデータを要求するユーザ数が増加すると、配信サーバでは、ユーザ数に応じたユニキャスト通信路の数だけ同じデータを複製して配信するため、ネットワークの帯域幅を浪費して十分な数のユーザに配信できないという問題がある(図6参照)。また、従来、ユニキャスト通信ではなくマルチキャスト通信を用いてデータの複製を配信経路の途中のルータで行うことによりネットワーク帯域の浪費を防止する方法もあるが、経路上のすべてのルータがマルチキャスト通信に対応する必要があり、一般には普及していない(図7参照)。
従来、上述のような問題への対策として、アプリケーションレベルマルチキャストと呼ばれる技術が知られている。アプリケーションマルチキャストとは、配信を受けているユーザ(ユーザコンピュータ)が中継ノードとなり、さらに別のユーザに対して再配信することにより、ユーザ間のアプリケーションのみで多数のユーザへのマルチキャストを実現する方法である(図8参照)。
従来、アプリケーションレベルマルチキャストを用いてデータ配信するシステムでは、配信経路をいかに構築するかがシステム全体の配信性能に大きく影響する。
特許文献1では、アプリケーションレベルマルチキャストを用いてデータ配信を行う配信ツリーを、配信パスのスループット等を計測することによって、状況に応じて配信ツリーを切り替えていく方法が開示されている。また、従来のアプリケーションマルチキャストを用いたデータ配信システムにおいて、初期の配信ツリーの構築方法としては、例えば、新規のノードと各ノードとのネットワーク遅延に基づく計測結果を用いる方法が挙げられる。特許文献1では、過去のスループットの記憶から推定して、実際のスループット等の計測結果に基づき配信ツリーを構築する方法が開示されている。
特開2007-235681号公報
しかしながら、従来のアプリケーションマルチキャストを用いたデータ配信システムでは、実際のルータなどの物理的なネットワーク構成を把握しない状態で、スループットの計測結果などが得られていない新規のノードを配信ツリーに参加させる場合は、ランダムに配信可能なノードを新規ノードの親ノードとして選出するなどにより配信ツリーを構築するしかない。したがって、従来のアプリケーションマルチキャストを用いたデータ配信システムでは、十分な計測結果が得られるまでは非効率な配信ツリーとなってしまうなどの問題があった。
また、従来のアプリケーションマルチキャストを用いたデータ配信システムでは、実際の配信データ以外のデータをスループット等の計測の目的で多数のノードと送受信することは好ましくない。特に、従来のアプリケーションマルチキャストを用いたデータ配信システムでは、リアルタイムの映像配信など、計測結果が収集できるよりも早期に配信ツリーに参加させたい場合や、配信を受けていた親ノードが離脱してしまった場合に迅速に配信ツリーを再構築することができない恐れがある。
そのため、配信データの配信元となる配信元ノードと、配信データの配信を受ける複数の受信ノードにより構成される配信ツリーをより効率的に構築することができるデータ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラムが望まれている。
第1の本発明は、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置とを有するデータ配信システムにおいて、(1)前記通信制御装置は、(1-1)前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得手段と、(1-2)それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択手段と、(1-3)前記親ノード選択手段の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理手段と、(1-4)前記配信ツリー管理手段が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御する通信制御手段とを有し、(2)それぞれの前記配信元ノードは、前記通信制御装置の通信制御に従って配信データの送信を行う配信データ送信手段を有し、(3)それぞれの前記受信ノードは、前記通信制御装置の制御に従って、配信データの送受信を行う配信データ送受信手段を有し、(4)前記通信制御装置は、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、親ノードの選択対象となる前記受信ノードとそれぞれの前記候補ノードとの間のネットワーク的な近さを示す距離を算出する距離計算手段をさらに備え、(5)前記親ノード選択手段は、親ノードの選択対象となる前記受信ノードと前記距離計算手段が計算した距離の最も近い前記候補ノードを、親ノードの選択対象となる前記受信ノードの親ノードとして選択し、(6)前記通信制御装置は、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、それぞれの前記候補ノードについて親ノードの選択対象となる前記受信ノードと同一のサブネットワークに属するか否かを判断し、その判断結果に応じて前記距離計算手段で計算した距離を補正する距離補正手段とをさらに有することを特徴とする。
第2の本発明は、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置とを有するデータ配信システムのデータ配信方法において、(1)前記通信制御装置は、ノード情報取得手段、親ノード選択手段、配信ツリー管理手段、通信制御手段、距離計算手段及び距離補正手段を有し、(2)前記配信元ノードは、配信データ送信手段を有し、(3)それぞれの前記受信ノードは、配信データ送受信手段を有し、(4)前記ノード情報取得手段は、前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得し、(5)前記親ノード選択手段は、それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択し、(6)前記配信ツリー管理手段は、前記親ノード選択手段の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理し、(7)前記通信制御手段は、前記配信ツリー管理手段が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御し、(8)前記配信データ送信手段は、前記通信制御装置の通信制御に従って配信データの送信を行い、(9)前記配信データ送受信手段は、前記通信制御装置の制御に従って、配信データの送受信を行い、(10)前記距離計算手段は、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、親ノードの選択対象となる前記受信ノードとそれぞれの前記候補ノードとの間のネットワーク的な近さを示す距離を算出し、(11)前記親ノード選択手段は、親ノードの選択対象となる前記受信ノードと前記距離計算手段が計算した距離の最も近い前記候補ノードを、親ノードの選択対象となる前記受信ノードの親ノードとして選択し、(12)前記距離補正手段は、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、それぞれの前記候補ノードについて親ノードの選択対象となる前記受信ノードと同一のサブネットワークに属するか否かを判断し、その判断結果に応じて前記距離計算手段で計算した距離を補正することを特徴とする。
第3の本発明は、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置において、(1)前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得手段と、(2)それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択手段と、(4)前記親ノード選択手段の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理手段と、(5)親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、親ノードの選択対象となる前記受信ノードとそれぞれの前記候補ノードとの間のネットワーク的な近さを示す距離を算出する距離計算手段とを有し、(6)前記親ノード選択手段は、親ノードの選択対象となる前記受信ノードと前記距離計算手段が計算した距離の最も近い前記候補ノードを、親ノードの選択対象となる前記受信ノードの親ノードとして選択し、(7)親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、それぞれの前記候補ノードについて親ノードの選択対象となる前記受信ノードと同一のサブネットワークに属するか否かを判断し、その判断結果に応じて前記距離計算手段で計算した距離を補正する距離補正手段をさらに有することを特徴とする。
第4の本発明の通信制御プログラムは、配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置に搭載されたコンピュータを、(1)前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得手段と、(2)それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択手段と、(3)前記親ノード選択手段の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理手段と、(4)親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、親ノードの選択対象となる前記受信ノードとそれぞれの前記候補ノードとの間のネットワーク的な近さを示す距離を算出する距離計算手段として機能させ、(5)前記親ノード選択手段は、親ノードの選択対象となる前記受信ノードと前記距離計算手段が計算した距離の最も近い前記候補ノードを、親ノードの選択対象となる前記受信ノードの親ノードとして選択し、(6)前記コンピュータをさらに、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、それぞれの前記候補ノードについて親ノードの選択対象となる前記受信ノードと同一のサブネットワークに属するか否かを判断し、その判断結果に応じて前記距離計算手段で計算した距離を補正する距離補正手段としても機能させることを特徴とする。
第5の本発明の配信元ノードは、第2の本発明の通信制御装置の通信制御に従って配信データの送信を行う配信データ送信手段を有することを特徴とする。
第6の本発明の配信処理プログラムは、配信元ノードに搭載されたコンピュータを、第2の本発明の通信制御装置の通信制御に従って配信データの送信する配信データ送信手段として機能させることを特徴とする。
第7の本発明の受信ノードは、第2の本発明の通信制御装置の通信制御に従って配信データの送受信を行う配信データ送受信手段を有することを特徴とする。
第8の本発明の受信処理プログラムは、受信ノードに搭載されたコンピュータを、第2の本発明の通信制御装置の通信制御に従って配信データの送受信を行う配信出た―送受信手段として機能させることを特徴とする。
本発明によれば、配信データの配信元となる配信元ノードと、配信データの配信を受ける複数の受信ノードにより構成される配信ツリーをより効率的に構築することができる。
実施形態に係る配信構成管理サーバの機能的構成について示したブロック図である。 実施形態に係るデータ配信システムの全体構成の例について示したブロック図である。 実施形態に係る受信ノードの機能的構成について示したブロック図である。 実施形態に係る配信元ノードの機能的構成について示したブロック図である。 実施形態に係るデータ配信システムを構成するネットワークの物理構成及びIPアドレス構成の例について示した説明図である。 従来のユニキャストによるデータ配信の例について示した説明図である。 従来のマルチキャストによるデータ配信の例について示した説明図である。 従来のアプリケーションレベルマルチキャストによるデータ配信の例について示した説明図である。
(A)主たる実施形態
以下、本発明によるデータ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラムの一実施形態を、図面を参照しながら詳述する。以下では、本発明の通信制御装置及び通信制御プログラムを、配信構成管理サーバに適用した例について説明する。
(A-1)実施形態の構成
図2は、この実施形態のデータ配信システム1の全体構成(論理的な接続構成)を示すブロック図である。
図2に示すように、データ配信システム1には、配信構成管理サーバ10、配信元ノード20、及び5つの受信ノード30(30-1~30-5)が配置されている。なお、データ配信システム1において、配置される各装置の数は限定されないものである。また、データ配信システム1において、各装置間の接続手段(ネットワーク構成)については限定されないものであり、例えば、インターネット、広域LAN、無線IPネットワーク等を適用することができる。
配信構成管理サーバ10は、配信元ノード20と各受信ノード30により形成される配信ツリーの構成を管理する装置である。
配信元ノード20は、各受信ノード30に配信するデータ(以下、「配信データ」とも呼ぶ)の配信元となる装置である。配信データの内容や形式は限定されないものであるが、例えば、映像や音声等のコンテンツデータ(例えば、ファイル形式の映像データに基づいてストリーミング形式に変換されたデータ)や、ビデオカメラ等の映像ソースからの映像データや、マイク等の音声ソースからの音響データ等のマルチメディアデータ(マルチメディア情報)が挙げられる。また、配信データは、例えば、映像や音声データ以外に文書やプレゼンテーション等のデータとしてもよい。配信元ノード20は、配信構成管理サーバ10の制御に応じて、複数の受信ノード30の内、配信ツリー上の子ノード(直接の配信先となる受信ノード30)に対して配信データの送信を行う。
受信ノード30は、配信構成管理サーバ10の制御に応じて、親ノード(配信元ノード20もしくは他の受信ノード30)から配信データを受信して所定の処理(例えば、ディスプレイやスピーカ等を用いた出力処理)を行うと共に、受信した配信データを子ノード(他の受信ノード30)に対して再配信する装置である。
配信構成管理サーバ10は、配信元ノード20と受信ノード30の間の配信ツリーの構成を管理し、新規の受信ノード30の参加の場合や、受信ノード30の離脱に伴う配信ツリーの再構成の際に、配信元ノード20や受信ノード30に対して通信制御(例えば、配信ツリーの構成指示等)を行う。
なお、配信元ノード20は複数存在してもよく、配信構成管理サーバ10では配信ツリーをそれぞれの配信元ごとに管理するようにしてもよい。例えば、複数の拠点にそれぞれ配信元ノード20を配置し、複数拠点間で双方向にデータを配信しあうことでコミュニケーションを実現するような構成としてもよい。
次に、配信構成管理サーバ10の内部構成について図1を用いて説明する。
図1は、配信構成管理サーバ10の機能的構成について示したブロック図である。
配信構成管理サーバ10は、少なくとも配信元ノード20を起点とする配信ツリーの構成を管理する配信構成管理部11を有している。また、配信構成管理部11は、親ノード決定処理部110、対象ノード情報取得部120、及び情報送信部130を有している。
配信構成管理サーバ10は、例えば、PCやワークステーション等のコンピュータにプログラム(実施形態に係る通信制御プログラムを含む)をインストールすることにより構成するようにしてもよい。
親ノード決定処理部110は、配信ツリーの構成時/再構成時に、各受信ノード30の親ノード(配信データを直接受信するノード)を決定する処理を行う。
対象ノード情報取得部120は、親ノードを決定する対象となる受信ノード30(以下、「対象ノード」とも呼ぶ)に関する情報(以下、「ノード情報」と呼ぶ)を取得する処理を行う。
情報送信部130は、各受信ノード30に対して、親ノード決定処理部110で決定した親ノードに関する情報(以下、「親ノード情報」とも呼ぶ)に基づいた通信制御処理(親ノード情報に対応する配信パス(親ノードと子ノードの組)を設定する通信制御処理)を行う。例えば、情報送信部130は、その親ノード情報における対象ノード(子ノード)に、親ノードに関する情報(例えば、ネットワークアドレスを含む情報)を送信し、その親ノード情報における親ノード(対象ノードの親ノード)に、子ノード(対象ノード)に関する情報(例えば、ネットワークアドレスを含む情報)を送信することにより、配信パスを設定するようにしてもよい。以上のように、情報送信部130により、配信元ノード20及び各受信ノード30の通信制御が行われ、配信ツリーの構成/再構成が行われる。
次に、親ノード決定処理部110の内部構成について説明する。
親ノード決定処理部110は、ネットワークアドレス間距離計算部111、親ノード選択部112、配信ツリー記憶部113、親ノード候補生成部114、及びサブネット判定・距離補正部115を有している。
配信ツリー記憶部113は、配信ツリーを構成する各ノード(配信元ノード20及び各受信ノード30)に関するノード情報と、配信元ノード20を起点(ルート)とする配信ツリーの構成状態の情報(以下、「配信ツリー構成情報」と呼ぶ)等を記憶するものである。
親ノード候補生成部114は、配信ツリー記憶部113に記憶された配信ツリー構成情報に基づく配信ツリーに参加しているノード(配信元ノード20、及び各受信ノード30)の内から、新規追加などの配信パスの割り当て(親ノード等の決定)が必要な対象ノード(ノード情報)に対して、配信元の親ノードとなりうるノード(以下、「候補ノード」と呼ぶ)のリストを含む情報(以下、「候補ノードの情報」と呼ぶ)を生成するものである。
ネットワークアドレス間距離計算部111は、入力される対象ノードのノード情報に含まれるネットワークアドレス情報(対象ノードのネットワークアドレス情報)と、親ノード候補生成部114で生成される候補ノード情報に含まれる各候補ノードのネットワークアドレス情報から、対象ノードと各候補ノードとのネットワークアドレス間の近さを示す距離を算出するものである。
サブネット判定・距離補正部115は、ネットワークアドレス間距離計算部111で計算された距離に基づいて、対象ノードと候補ノードが同一サブネットワークに属するかを判定して、ネットワークアドレス間の距離を補正するものである。サブネット判定・距離補正部115による補正処理の詳細については後述する。
親ノード選択部112は、サブネット判定・距離補正部115で得られた、補正されたネットワークアドレス間の距離情報を用いて、候補ノードの内から対象ノードの親ノードとするノードを決定するものである。
親ノード選択部112は、対象ノードに対する親ノードの選択結果を示す親ノード情報を情報送信部130に供給すると共に、親ノード選択部112の選択結果にしたがって、配信ツリー記憶部113の配信ツリー構成情報を更新させる処理を行う。親ノード情報には、例えば、対象ノード及び当該対象ノードの親ノードにより構成される配信パスを特定する情報(例えば、対象ノード及び当該対象ノードの親ノードのネットワークアドレス情報を含む情報)を含むようにしてもよい。
次に、各受信ノード30の内部構成について図3を用いて説明する。
各受信ノード30は、受信部301、受信データ処理部302、再送信部303、及び配信制御部304を有している。
受信ノード30は、例えば、PC、ワークステーション、モバイルデバイス(例えば、スマートホンやタブレット端末等)等のコンピュータにプログラム(実施形態に係る通信制御プログラムを含む)をインストールすることにより構成(例えば、WebブラウザのJavaScript(登録商標)のように、都度ダウンロードして実行する構成を含む)するようにしてもよい。
受信部301は、親ノードからの配信データを受信するものである。
受信データ処理部302は、親ノードから受信した配信データに対して所定の処理(例えば、ディスプレイやスピーカを用いたユーザへの表示出力処理等)を行う。
再送信部303は、配信制御部304の制御に応じて、他の受信ノード30(子ノード)に対して配信データの再送信の処理を行う。
配信制御部304は、送受信処理(受信部301及び再送信部303による処理)を制御する処理等を行う。
受信ノード30では、受信部301、再送信部303、及び配信制御部304により、配信データを送受信する配信データ送受信手段が構成されている。
次に、各配信元ノード20の内部構成について図4を用いて説明する。
各配信元ノード20は送信部201、取得部202、及び配信制御部203を有している。
配信元ノード20は、例えば、PC、ワークステーション、モバイル端末(例えば、スマートホンやタブレット端末等)等のコンピュータにプログラム(実施形態に係る配信処理プログラムを含む)をインストールすることにより構成(例えば、WebブラウザのJavaScriptのように、都度ダウンロードして実行する構成を含む)するようにしてもよい。
取得部202は、配信データを保持する。取得部202が、配信データを保持する方法は限定されないものである。取得部202は、例えば、配信データを一括したデータ(例えば、外部ストレージに記録された映像のデータファイル等)として取得るようにしてもよいし、配信データをカメラやマイク等のソースから逐次取得るようにしてもよい。
送信部201は、取得部202が取得した配信データを配信制御部203の制御に応じた配信先(子ノードとなる受信ノード30)に配信(送信)する処理を行う。
配信制御部203は、送信部201による配信処理を制御する処理等を行う。
配信元ノード20では、送信部201、及び配信制御部203により、配信データを送信する配信データ送信手段が構成されている。
(A-2)実施形態の動作
次に、以上のような構成を有するこの実施形態のデータ配信システム1の動作を説明する。
まず、データ配信システム1における配信ツリーの構成手順の概要について説明する。
図2に示すように、データ配信システム1では、配信データの配信元である配信元ノード20から、配信データの配信先(受信者)である(複数の)受信ノード30に対してアプリケーションレベルマルチキャストを用いて配信データの配信が行われる。
データ配信システム1において、配信ツリー構造情報は、配信構成管理サーバ10が管理している。配信構成管理サーバ10は、配信ツリーを構成する各ノード(配信元ノード20や受信ノード30)との間で、各ノードに関するノード情報や、配信ツリーの構成に関わる情報をやり取りすることにより、動的なノードの追加や離脱に応じた配信ツリーの再構築を行う。なお、以下では、配信ツリーの構成に関わる事項のみを説明するが、具体的な配信パスとなる通信路を設定するためのシグナリング等については任意の方法を用いることができる。例えば、配信構成管理サーバ10がノード間のシグナリングを中継するシグナリングサーバを兼務するような構成としても良い。
まず、配信元ノード20の配信制御部203が、自身のネットワークアドレス情報としてのIPアドレス情報を含むノード情報を配信構成管理サーバ10に通知したものとする。また、受信ノード30の配信制御部304が、自身のネットワークアドレス情報としてIPアドレス情報を含むノード情報を配信構成管理サーバ10に通知したものとする。以下、データ配信システム1において、ネットワークアドレスとしてはIPアドレス(IPv4のアドレス)を用いる例で説明する。
配信構成管理サーバ10は、その主たる構成要素である配信構成管理部11において、配信元ノード20や(複数の)受信ノード30からのノード情報を記憶して配信ツリーの構成を決定し、それぞれのノードに対して配信パスの接続相手に関わる情報を通知する。
配信元ノード20や受信ノード30の各ノードは、配信ツリーを構成する配信パスに従った接続相手との通信路を確保し、配信元ノード20は自身が持つ配信データの送信を、受信ノード30は親ノードからの配信データの受信と、自身が子ノードを持つ場合は、受信した配信データの再送信を行う。新規に受信ノード30が配信ツリーに参加する場合、配信構成管理サーバ10は、新規参加の受信ノード30(対象ノード)から通知されるノード情報にしたがって、その新規参加の受信ノード30の親ノードを割り当てる。そして、その割り当てられた親ノードが、新規の受信ノード30への配信を開始することにより、配信ツリーの構築(再構築)が行われる。
配信ツリーに参加している受信ノード30の内の1つが配信ツリーから離脱した場合、離脱した受信ノード30を親ノード(や祖先ノード)としていた受信ノード30への配信が停止してしまう。したがって、配信構成管理サーバ10は、配信が停止してしまう受信ノード30に対して新たな親ノードの割り当てを行う。配信構成管理サーバ10において、親ノードの再割り当ては、離脱ノードの直接の子ノードに対してのみ行っても良いし、直接の子ノード以外にも、子ノードの子孫のノードに対しても再割り当てを行っても良い。配信構成管理サーバ10は、これらの受信ノード30に対して、親ノードの再割り当てを行うことにより、配信ツリーの再構築を行う。
次に、配信構成管理サーバ10の配信構成管理部11が、各ノードに対して親ノードを決定する処理の詳細について説明する。
上述の通り、配信構成管理部11では、親ノード決定処理部110が、親ノードの割り当てが必要となったノードに対して、配信元となる親ノードを決定する処理を行う。
親ノード決定処理部110では、親ノードの割り当て対象となったノードに関する情報(対象ノード情報)が入力されると、その対象ノード情報からIPアドレス情報を含む情報を取得する。そして、親ノード決定処理部110は、取得した対象ノード情報に基づいて親ノードを選択し、その選択結果を示す親ノード情報を出力する。
配信ツリー記憶部113では、現在の配信ツリーの構成状態(接続状態)を示す配信ツリー構成情報と、配信ツリーに参加している各ノードのノード情報が記憶されている。
対象ノードのノード情報が入力されると、親ノード候補生成部114は、配信ツリー記憶部113に記憶されている情報を参照して、配信ツリーに参加している各ノード(配信元ノード20及び各受信ノード30)の内で、対象ノードに対して配信データを配信可能なノードを候補ノードとして検出する。ノードの離脱に伴う再構成の場合は、対象ノードの子孫ノードを親ノードとしても配信可能なノード(配信元ノード20に到達できるノード)ではないため、候補ノードには含めない。また、この時、親ノード選択部112において、例えばあらかじめ設定したツリーの分岐数(子ノードの数)の上限や、配信元ノード20からの配信ツリーの深さ(経由ノード数)の上限などの条件を満たさないノードは候補ノードとしないように構成しても良い。
次に、ネットワークアドレス間距離計算部111が、それぞれの候補ノードに対して、対象ノードのIPアドレス情報と、各候補ノードのIPアドレス情報をもとにIPアドレス間の近さに相当するIPアドレス間距離を算出する。IPアドレス間距離の算出方法については後述する。
次に、サブネット判定・距離補正部115では、ネットワークアドレス間距離計算部111で算出されたIPアドレス間距離をもとに、対象ノードと各候補ノードが同一サブネットワークに属するかを判定し、同一サブネットワークに属すると判定した場合はIPアドレス間距離を補正する。
次に、親ノード選択部112が、得られた各候補ノードに対する補正されたIPアドレス間距離等の情報を用いて候補ノードの内から対象ノードに対する最適な親ノードを選択し、選択結果に基づく親ノード情報を出力する。また、親ノード選択部112は、決定された対象ノードと親ノードの接続関係に基づき、配信ツリー記憶部113の配信ツリー構成情報を更新する。さらに、親ノード選択部112は、対象ノードに関するノード情報を配信ツリー記憶部113上で管理(配信ツリー記憶部113上でノード情報の追加記憶又は削除)する。
以上のように、親ノード選択部112は、配信ツリー記憶部113に記憶される情報を更新することで配信ツリーを管理する。
次に、ネットワークアドレス間距離計算部111でのIPアドレス間距離の算出方法について説明する。
IPアドレスは、それ自身では物理なネットワークの接続状態に関する情報は持っていない。しかし、一般的なIPネットワークのルータではIPアドレスのプレフィックス(上位ビット部分)ごとの経路テーブルによってルーティング先を決定するなどの処理が用いられる。そのため、一般的なIPネットワークでは、同じ組織や同じ拠点では共通のプレフィックスのIPアドレスを付与したり、ルータの経路テーブルの集約(同じ経路へのテーブルエントリの集約)のために同じ物理的な経路を通るネットワークに対して共通のプレフィックスとなるIPアドレスを付与することが多い。また、一般的なIPネットワークでは、同じルータ配下の同じサブネットワークではIPアドレスの内のネットワーク部であるプレフィックス部分(ネットワークアドレスの部分)は同じ値となる。言い換えると、一般的なIPネットワークを構成する2つのサブネットワーク間では、プレフィックスの共通部分が多いほど、より少ないホップ数やパスコストで到達可能な傾向にある。
そこで、この実施形態では、2つのIPアドレス間(2つのノード間)の距離に相当する指標として、IPアドレスを構成するプレフィックス一致長(2つのIPアドレスの上位ビットから何ビットが一致しているか)を用いるものとする。この場合、2つのIPアドレス間で、プレフィックス一致長(最上位ビットから連続して一致するビット数)が長くなるほど、距離が短いことを示すことになる。すなわち、対象ノードとの間で、プレフィックス一致長が長い候補ノードを優先して親ノードとして選択することになる。
なお、距離という意味(近いほど小さな値となるような)では、一致したプレフィックス部分を除くサフィックス部分のビット長(最上位の不一致ビットの最下位ビットから数えた位置)を用いても良い。この場合は、対象ノードと任意の候補ノードとの間で、サフィックス部分のビット長が短いものを優先して親ノードとして選択することになる。
図5に、各ノードの物理的なネットワークの構成とIPアドレスの一例を示す。
例えば、図5に示すネットワークでは、3つの地区B1~B3があり、それぞれ10.1.0.0/16、10.2.0.0/16、10.3.0.0/16という16ビットプレフィックスのアドレス空間を利用しているとする。また、地区B1内には、3つのサブネットワークSN1~SN3が設定されているものとする。ここでは、サブネットワークSN1~SN3では、それぞれ10.1.1.0/24、10.1.2.0/24、10.1.3.0/24という24ビットプレフィックスのアドレス空間が利用されているものとする。また、図5では、5つのノードNA、NB、NC、ND、NEが配置されている。さらに、図5では、地区B2内にノードNDが配置されている。さらにまた、図5では、地区B1のサブネットワークSN1(10.1.1.0/24)に、ノードNA、NB、NEが配置されている。また、図5では、地区B1のサブネットワークSN2(10.1.2.0/24)に、ノードNCが配置されている。
ノードNAに対して、同じサブネット内のノードNB、サブネットは異なるが同じ地区内のノードNC、異なる地区内のノードNDを考えると、それぞれが持つIPアドレスは、例えば、以下のようになる。なお、以下において、aa、bb、ccにはそれぞれ任意の8ビットの値が設定されるものとする。また、以下において、「dd.dd」には任意の16ビットの値が設定されるものとする。
ノードNAのIPアドレス:10.1.1.aa
ノードNBのIPアドレス:10.1.1.bb
ノードNCのIPアドレス:10.1.2.cc
ノードNDのIPアドレス:10.2.dd.dd
この時のノードNAのIPアドレスに対する、ノードNB、NC、NDのプレフィックス一致長を検証する。ノードNAとノードNBで一致するプレフィックス一致長は24ビット以上となり、ノードNAとノードNCで一致するプレフィックス一致長は16ビット以上24ビット未満となり、ノードNAとノードNDで一致するプレフィックス一致長は16ビット未満となる。すなわち、ノードNAから、物理ネットワーク的により近いノード(例えば、ホップ数やパスコストが少ないノード)ほど、プレフィックス一致長は大きな値となる。
以上のように、ネットワークアドレス間距離計算部111で算出されたプレフィックス一致長が最大となるような候補ノードを親ノードとして選出すれば、物理ネットワーク的により近いノードを親ノードとして選出することが可能となる。
しかし、例えば、ノードNA、NBと同一サブネットワーク内に、ノードNBよりも配信能力が高いノード(例えば、より多くのCPUを有するなど)、あるいは、ノードNBよりも再配信している子ノードの数が少ない(再配信可能数に余裕がある)ノードであるノードNEが存在していたとしても、ノードNEのIPアドレス(例えば、10.1.1.ee;eeは任意の8ビットの値)よりもノードNBのIPアドレスのほうがノードNAのIPアドレスとの一致長が長い(IPアドレスのホスト部のビットパターンが似ている)と、ノードNBのほうを選択してしまうことになる。
そこで、この実施形態のサブネット判定・距離補正部115では、ネットワークアドレス間距離計算部111で算出されたプレフィックス一致長に基づいて、対象ノードと候補ノードが同一サブネットワークに属するかを判定し、同一サブネットワークに属すると判定した場合は、プレフィックスのサブネットワークアドレス部分のみが一致したものとしてネットワークアドレス間距離を補正し、同一サブネットワーク内の他のノードと距離としては対等となるように補正を行う。
サブネット判定・距離補正部115では、まずIPアドレスのプレフィックス一致長が最大値(IPv4アドレスでは32ビット)であるか(すべてのビットパターンが一致したか)を判定する。この場合は対象ノードと候補ノードが同じ装置内(例えば、ユーザ端末内)にあることを意味し、サブネットワーク内の別の装置と区別するために、距離の補正は行わない。次に、サブネット判定・距離補正部115は、プレフィックス一致長があらかじめ設定したサブネットワークプレフィックス長(例えば、24ビットに固定)より大きな値であった場合は、サブネットワークプレフィックス長を補正後の距離とする。すなわち、サブネット判定・距離補正部115は、同じサブネットワーク内の複数の候補ノードとの距離が、それぞれ同等の値となるよう補正する。プレフィックス一致長が所定のサブネットワークプレフィックス長より短い場合は、特に補正は行わない。サブネットワーク判定に用いるサブネットワークプレフィックス長は、実際のネットワークでは個々のサブネットワークごとに異なる場合があるが、あらかじめ既知のサブネットワークについてはデータベースを参照するなどして個々の実際のプレフィックス長を用いたり、未知のサブネットワークの場合は24ビットなどの既定の固定値を用いて判定してもよい。また、IPv6ネットワークの場合は、サブネットワークプレフィックス長として64ビットなどの既定の値を用いてもよい。
親ノード決定処理部110では、例えば、単純にはネットワークアドレス間距離計算部111で算出されたプレフィックス一致長が最大となる候補ノードを親ノードとして選択する。すなわち、図5の例では、親ノード決定処理部110は、ノードNAに対する親ノードとしてノードNBを選択するようにしてもよい。親ノード決定処理部110は、サブネット判定・距離補正部115により補正されたプレフィックス一致長が最大となるノードが複数存在する場合は、例えば、これらのノードのうちから乱数等を用いてランダムに親ノードを選択してもよい。さらに、親ノード決定処理部110は、ノード情報に付帯するその他の情報(例えば、ノードの処理能力など)も加味して、プレフィックス一致長が同一の候補ノードから親ノードを決定するようにしても良い。すなわち、この場合親ノード決定処理部110は、ノードNBよりもノードNEの方に処理能力等の余裕があれば、ノードNEを選択することになる。
以上のように、配信構成管理サーバ10(親ノード決定処理部110)では、各ノードのIPアドレス情報を用いることで、実際のスループット等の計測を行わずに、物理ネットワーク的により近いことが期待できる候補ノードを親ノードとして選択して配信ツリーを構築することができる。
次に、各受信ノード30内の動作について説明する。
配信制御部304は、自身のIPアドレス情報を含むノード情報を、配信構成管理サーバ10の内の配信構成管理部11に通知する。
配信制御部304では、配信構成管理サーバ10(配信構成管理部11)から、通信制御に係る情報(例えば、親ノードや子ノードのネットワークアドレス情報の配信パスを定義する情報)が通知される。
配信制御部304は、親ノードと受信部301の間の通信路を確保して、受信部301による親ノードからの配信データの受信が開始される。
受信データ処理部302は、受信した配信データに対して所定の処理(例えば、映像データの場合は表示したり、音声データの場合は再生したりする等の処理)を行う。
配信制御部304は、自身を親ノードとするような他の受信ノード30(子ノード)が存在することが配信構成管理サーバ10(配信構成管理部11)から通知されている場合、再送信部303から、自身の子ノードに対して配信データの再送信を行う。配信制御部304は、子ノードが存在しない場合は、再送信の制御は行わない。
以上のような処理により、データ配信システム1では、アプリケーションマルチキャストを用いた配信データの配信が行われる。
(A-3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
この実施形態のデータ配信システム1では、アプリケーションマルチキャストを用いた情報の配信ツリーに、新規に参加する、あるいは、親ノードの離脱による配信ツリーの再構築の際に、配信元となる親ノードの選択が必要となった対象ノードに対して、物理的なネットワークトポロジー的に近い位置であることが期待できる親ノードを選定することができる。これにより、この実施形態のデータ配信システム1では、配信ツリーが非効率となってしまうという課題を軽減することが可能となる。
また、この実施形態のデータ配信システム1では、実際のスループットの計測等を行わずに選択が可能であるので、迅速に配信ツリーを構築でき、さらに、スループット計測等のための余分なトラフィックの発生量も低減することができる。
さらに、この実施形態のデータ配信システム1では、同一サブネット内に親ノードの候補が複数ある場合に、ランダムに選択したり、候補ノードの処理能力等を加味した選択を行うことにより、再接続等で接続されるノードが分散され、より効率的な配信ツリーを構築することが可能となる。
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B-1)上記の実施形態のデータ配信システム1では、ネットワークアドレスとして、IPv4アドレスを用いる例を説明したが、IPv6アドレスでも同様にプレフィックス一致長を用いることによりIPアドレス間の距離を算出することが可能である。上記のデータ配信システム1において、IPv6ネットワークや、その他のネットワーク、IPv4とIPv6が混在するネットワークなど、様々なネットワーク上での配信システムにも適用可能である。
(B-2)上記の実施形態のデータ配信システム1において、実際に配信を開始してからの配信パスごとの配信データ送受信のスループット等の計測結果(通信履歴)に基づいて、動的に配信経路を更新していくような方法も併用するように構成してもよい。例えば、上記の実施形態の配信構成管理サーバ10において、スループットの出ていない配信パスから受信している受信ノード30を検出し、この受信ノード30を対象ノードとして、現在の親ノード(と対象ノードの子孫ノード)を除外した親ノード候補から上記と同様な選択を行うなどして動的に配信経路を更新する構成としてもよい。
1…データ配信システム、10…配信構成管理サーバ、11…配信構成管理部、110…親ノード決定処理部、111…ネットワークアドレス間距離計算部、112…親ノード選択部、113…配信ツリー記憶部、114…親ノード候補生成部、115…サブネット判定・距離補正部、120…対象ノード情報取得部、130…情報送信部、20…配信元ノード、201…送信部、202…取得部、203…配信制御部、30、30-1~30-5…受信ノード、301…受信部、302…受信データ処理部、303…再送信部、304…配信制御部。

Claims (21)

  1. 配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置とを有するデータ配信システムにおいて、
    前記通信制御装置は、
    前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得手段と、
    それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択手段と、
    前記親ノード選択手段の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理手段と、
    前記配信ツリー管理手段が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御する通信制御手段とを有し、
    それぞれの前記配信元ノードは、前記通信制御装置の通信制御に従って配信データの送信を行う配信データ送信手段を有し、
    それぞれの前記受信ノードは、前記通信制御装置の制御に従って、配信データの送受信を行う配信データ送受信手段を有し、
    前記通信制御装置は、
    親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、親ノードの選択対象となる前記受信ノードとそれぞれの前記候補ノードとの間のネットワーク的な近さを示す距離を算出する距離計算手段をさらに備え、
    前記親ノード選択手段は、親ノードの選択対象となる前記受信ノードと前記距離計算手段が計算した距離の最も近い前記候補ノードを、親ノードの選択対象となる前記受信ノードの親ノードとして選択し、
    前記通信制御装置は、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、それぞれの前記候補ノードについて親ノードの選択対象となる前記受信ノードと同一のサブネットワークに属するか否かを判断し、その判断結果に応じて前記距離計算手段で計算した距離を補正する距離補正手段とをさらに有する
    ことを特徴とするデータ配信システム。
  2. 前記距離補正手段は、親ノードの選択対象となる前記受信ノードのIPアドレスと、プレフィックス部分の一致長が所定以上の前記候補ノードの距離については、親ノードの選択対象となる前記受信ノードと同じサブネットワークに属すると判断して、当該サブネットワークのプレフィックス長さに応じた距離に補正することを特徴とする請求項に記載のデータ配信システム。
  3. 前記親ノード選択手段は、少なくとも、ツリー分岐数が所定の第1の閾値以上の前記候補ノード、又は前記配信元ノードからの前記配信ツリーの深さが第2の閾値以上のいずれかの条件に該当する前記候補ノードを親ノードとして選択しないことを特徴とする請求項に記載のデータ配信システム。
  4. 前記ノード情報取得手段が取得するノード情報には、付帯情報が含まれており、
    前記親ノード選択手段は、それぞれの前記候補ノードの付帯情報も考慮して親ノードを決定する
    ことを特徴とする請求項に記載のデータ配信システム。
  5. 前記親ノード選択手段は、距離が最小となる前記候補ノードが複数存在する場合には、付帯情報も考慮して親ノードを選択することを特徴とする請求項に記載のデータ配信システム。
  6. 前記ノード情報取得手段は、付帯情報として、少なくとも、前記配信元ノード及びそれぞれの前記受信ノードの処理能力を示す処理能力情報を取得することを特徴とする請求項に記載のデータ配信システム。
  7. 前記親ノード選択手段は、距離が最小となる前記候補ノードが複数存在する場合には、距離が最小となる前記候補ノードからランダムに親ノードを選択することを特徴とする請求項に記載のデータ配信システム。
  8. 前記親ノード選択手段は、全ての前記受信ノードについて親ノードを決定した後、前記配信ツリーの配信パスごとの通信履歴に基づいて、それぞれの前記受信ノードの親ノードを変更することを特徴とする請求項1~のいずれかに記載のデータ配信システム。
  9. 前記親ノード選択手段は、全ての前記受信ノードについて親ノードを決定した後、前記配信ツリーの配信パスごとの通信履歴に基づいて、経路変更の必要な配信パスを検出し、前記経路変更の必要な配信パスの下位側の前記受信ノードについて、前記候補ノードから現在の親ノード及び子孫ノードを除外して親ノードを選択することを特徴とする請求項に記載のデータ配信システム。
  10. 前記配信元ノード及びそれぞれの前記受信ノードは、自装置のIPアドレスを含むノード情報を前記通信制御装置に送信することを特徴とする請求項1~のいずれかに記載のデータ配信システム。
  11. 前記通信制御装置は、前記配信ツリー管理手段で管理されている前記配信ツリーの構成に基づき、前記配信元ノード及びそれぞれの前記受信ノードに子ノードの情報を通知する通信制御手段を有し、
    前記配信元ノードは、前記通信制御装置から通知される子ノードに対応する前記受信ノードに対して、配信データを送信し
    それぞれの前記受信ノードは、前記通信制御装置から通知される子ノードに対応する前記受信ノードに対して、親ノードから受信した配信データを送信する
    ことを特徴とする請求項10に記載のデータ配信システム。
  12. 前記親ノード選択手段は、前記配信ツリーに参加している前記受信ノードが離脱した場合、離脱した前記受信ノードから直接配信データを受信していた受信ノードに対して、新たな親ノードを選択する処理を行うことを特徴とする請求項1~11のいずれかに記載のデータ配信システム。
  13. 前記親ノード選択手段は、前記配信ツリーに参加している前記受信ノードが離脱した場合、離脱した前記受信ノードの子ノードを含む子孫ノードについても新たな親ノードを選択する処理を行うことを特徴とする請求項12に記載のデータ配信システム。
  14. 当該データ配信システムは、複数の前記配信元ノードを備え、
    前記親ノード選択手段は、それぞれの前記受信ノードについて、ノード情報に含まれる配信を受けたい配信データを特定する特定情報に応じた前記配信元ノードを起点とする前記配信ツリーを選択し、それぞれの前記受信ノードについて選択した前記配信ツリーから親ノードを選択し、
    前記配信ツリー管理手段は、それぞれの前記配信元ノードを起点とする複数の前記配信ツリーを管理する
    ことを特徴とする請求項1~13のいずれかに記載のデータ配信システム。
  15. 配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードと、前記配信元ノードとそれぞれの前記受信ノードの通信を制御する通信制御装置とを有するデータ配信システムのデータ配信方法において、
    前記通信制御装置は、ノード情報取得手段、親ノード選択手段、配信ツリー管理手段、通信制御手段、距離計算手段及び距離補正手段を有し、
    前記配信元ノードは、配信データ送信手段を有し、
    それぞれの前記受信ノードは、配信データ送受信手段を有し、
    前記ノード情報取得手段は、前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得し、
    前記親ノード選択手段は、それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択し、
    前記配信ツリー管理手段は、前記親ノード選択手段の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理し、
    前記通信制御手段は、前記配信ツリー管理手段が管理している前記配信ツリーの構成に従って、前記配信元ノード及びそれぞれの前記受信ノードの通信を制御し、
    前記配信データ送信手段は、前記通信制御装置の通信制御に従って配信データの送信を行い、
    前記配信データ送受信手段は、前記通信制御装置の制御に従って、配信データの送受信を行い、
    前記距離計算手段は、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、親ノードの選択対象となる前記受信ノードとそれぞれの前記候補ノードとの間のネットワーク的な近さを示す距離を算出し、
    前記親ノード選択手段は、親ノードの選択対象となる前記受信ノードと前記距離計算手段が計算した距離の最も近い前記候補ノードを、親ノードの選択対象となる前記受信ノードの親ノードとして選択し、
    前記距離補正手段は、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、それぞれの前記候補ノードについて親ノードの選択対象となる前記受信ノードと同一のサブネットワークに属するか否かを判断し、その判断結果に応じて前記距離計算手段で計算した距離を補正する
    ことを特徴とするデータ配信方法。
  16. 配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノード
    から配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置において、
    前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得手段と、
    それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択手段と、
    前記親ノード選択手段の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理手段と
    親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、親ノードの選択対象となる前記受信ノードとそれぞれの前記候補ノードとの間のネットワーク的な近さを示す距離を算出する距離計算手段とを有し、
    前記親ノード選択手段は、親ノードの選択対象となる前記受信ノードと前記距離計算手段が計算した距離の最も近い前記候補ノードを、親ノードの選択対象となる前記受信ノードの親ノードとして選択し、
    親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、それぞれの前記候補ノードについて親ノードの選択対象となる前記受信ノードと同一のサブネットワークに属するか否かを判断し、その判断結果に応じて前記距離計算手段で計算した距離を補正する距離補正手段をさらに有する
    ことを特徴とする通信制御装置。
  17. 配信データの配信元である配信元ノードと、前記配信元ノードもしくは他の受信ノードから配信データを受信して所定の処理を行うと共に、受信した配信データを他の受信ノードに対して再配信することが可能な複数の受信ノードにより構成される配信ツリーの制御を行う通信制御装置に搭載されたコンピュータを、
    前記配信元ノードとそれぞれの前記受信ノードについて、IPアドレスを含むノード情報を取得するノード情報取得手段と、
    それぞれの前記受信ノードに対して、前記配信元ノードと他の前記受信ノードから親ノードの候補となる候補ノードから、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとで一致するビット長に応じて、前記候補ノードから親ノードの選択対象となる前記受信ノードの親ノードを選択する親ノード選択手段と、
    前記親ノード選択手段の決定に従って、前記配信元ノードと前記受信ノードにより構成される配信ツリーの構成を管理する配信ツリー管理手段と
    親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、親ノードの選択対象となる前記受信ノードとそれぞれの前記候補ノードとの間のネットワーク的な近さを示す距離を算出する距離計算手段として機能させ、
    前記親ノード選択手段は、親ノードの選択対象となる前記受信ノードと前記距離計算手段が計算した距離の最も近い前記候補ノードを、親ノードの選択対象となる前記受信ノードの親ノードとして選択し、
    前記コンピュータをさらに、親ノードの選択対象となる前記受信ノードのIPアドレスと、それぞれの前記候補ノードのIPアドレスとのプレフィックス部分の一致長に応じて、それぞれの前記候補ノードについて親ノードの選択対象となる前記受信ノードと同一のサブネットワークに属するか否かを判断し、その判断結果に応じて前記距離計算手段で計算した距離を補正する距離補正手段としても機能させる
    ことを特徴とする通信制御プログラム。
  18. 請求項16に記載の通信制御装置の通信制御に従って配信データの送信を行う配信データ送信手段を有することを特徴とする配信元ノード。
  19. 配信元ノードに搭載されたコンピュータを、
    請求項16に記載の通信制御装置の通信制御に従って配信データの送信する配信データ送信手段として機能させることを特徴とする配信処理プログラム。
  20. 請求項6に記載の通信制御装置の通信制御に従って配信データの送受信を行う配信データ送受信手段を有することを特徴とする受信ノード。
  21. 受信ノードに搭載されたコンピュータを、
    請求項16に記載の通信制御装置の通信制御に従って配信データの送受信を行う配信データ送受信手段として機能させることを特徴とする受信処理プログラム。
JP2018103856A 2018-05-30 2018-05-30 データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム Active JP7091847B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018103856A JP7091847B2 (ja) 2018-05-30 2018-05-30 データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム
PCT/JP2019/019142 WO2019230375A1 (ja) 2018-05-30 2019-05-14 データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018103856A JP7091847B2 (ja) 2018-05-30 2018-05-30 データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム

Publications (2)

Publication Number Publication Date
JP2019207644A JP2019207644A (ja) 2019-12-05
JP7091847B2 true JP7091847B2 (ja) 2022-06-28

Family

ID=68698754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018103856A Active JP7091847B2 (ja) 2018-05-30 2018-05-30 データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム

Country Status (2)

Country Link
JP (1) JP7091847B2 (ja)
WO (1) WO2019230375A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041784A (ja) 2004-07-26 2006-02-09 Brother Ind Ltd 接続態様設定装置及び接続態様設定方法、並びに接続態様制御装置及び接続態様制御方法等
JP2006099296A (ja) 2004-09-29 2006-04-13 Nec Corp 翻訳システム、翻訳通信システム、機械翻訳方法、および、プログラム
CN1968164A (zh) 2005-11-17 2007-05-23 中国科学院计算技术研究所 基于全局Internet拓扑知识的P2P应用构建方法
JP2007235681A (ja) 2006-03-02 2007-09-13 Nec Corp 配信ツリー構成装置、配信ツリー構成方法、及び配信ツリー構成用プログラム
JP2010191746A (ja) 2009-02-19 2010-09-02 Nippon Hoso Kyokai <Nhk> 利用者端末、利用者端末プログラム及び配信ツリーの接続切替方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041784A (ja) 2004-07-26 2006-02-09 Brother Ind Ltd 接続態様設定装置及び接続態様設定方法、並びに接続態様制御装置及び接続態様制御方法等
JP2006099296A (ja) 2004-09-29 2006-04-13 Nec Corp 翻訳システム、翻訳通信システム、機械翻訳方法、および、プログラム
CN1968164A (zh) 2005-11-17 2007-05-23 中国科学院计算技术研究所 基于全局Internet拓扑知识的P2P应用构建方法
JP2007235681A (ja) 2006-03-02 2007-09-13 Nec Corp 配信ツリー構成装置、配信ツリー構成方法、及び配信ツリー構成用プログラム
JP2010191746A (ja) 2009-02-19 2010-09-02 Nippon Hoso Kyokai <Nhk> 利用者端末、利用者端末プログラム及び配信ツリーの接続切替方法

Also Published As

Publication number Publication date
WO2019230375A1 (ja) 2019-12-05
JP2019207644A (ja) 2019-12-05

Similar Documents

Publication Publication Date Title
US10708856B2 (en) Gateway advertisement in a wireless mesh
CN1491507B (zh) 用于多个主机任意播放路由选择的方法和系统
US9185070B2 (en) MANET with DNS database resource management and related methods
KR101086111B1 (ko) 메시 네트워크에서의 멀티캐스트를 위한 라우팅 프로토콜
JP5607252B2 (ja) 処理方法、代理処理エージェント、dhtクライアントノードのルーティングテーブルを埋めるシステムおよび方法、ルータ、ならびにdhtクライアントノード
US10255621B2 (en) Services advertisement in a wireless mesh
CN105450788A (zh) 网络的地址产生
CN106059917B (zh) 一种路由信息处理方法和装置
CN103825826A (zh) 一种动态路由的实现方法和装置
US20140317271A1 (en) Method and node apparatus for collecting information in content network based on information-centric networking
US11032185B2 (en) Communication system, edge node, communication method and program
JP6561656B2 (ja) 端末およびマルチキャスト・アドレス配布サーバ
CN103037361A (zh) 基于Ad-hoc的无线Mesh网络中的IP分配系统及方法
CN110380977B (zh) 一种面向移动自组网与因特网混合环境的路由融合方法
Singh et al. Address allocation for MANET merge and partition using cluster based routing
JP7091847B2 (ja) データ配信システム、データ配信方法、通信制御装置、通信制御プログラム、配信元ノード、配信処理プログラム、受信ノード、及び受信処理プログラム
CN105723687A (zh) Ip网络的配置及管理方法、相对应设备及计算机程序
JP7094086B2 (ja) 配信構成管理装置、配信構成管理プログラム、及び情報配信システム
Gottron et al. A cluster-based locality-aware mobile peer-to-peer architecture
KR102437289B1 (ko) 정보 중심 네트워크에서 프로듀서 이동성 지원을 위한 패킷 경로 설정 방법 및 장치
CN109922442B (zh) 无线多跳网络与全连接网络的异构网络的地址解析方法
CN1973520B (zh) 通信网络中针对服务器检测的路由
JP4242752B2 (ja) アドレス表管理方法、及び、端末
Azgin et al. Hash-based overlay routing architecture for information centric networks
KR101022532B1 (ko) 무선통신시스템에서 패킷 라우팅 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220406

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: 20220517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220530

R150 Certificate of patent or registration of utility model

Ref document number: 7091847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150