JP2018148430A - データ配信システム、通信装置、通信制御方法、およびプログラム - Google Patents
データ配信システム、通信装置、通信制御方法、およびプログラム Download PDFInfo
- Publication number
- JP2018148430A JP2018148430A JP2017042196A JP2017042196A JP2018148430A JP 2018148430 A JP2018148430 A JP 2018148430A JP 2017042196 A JP2017042196 A JP 2017042196A JP 2017042196 A JP2017042196 A JP 2017042196A JP 2018148430 A JP2018148430 A JP 2018148430A
- Authority
- JP
- Japan
- Prior art keywords
- communication device
- tree
- logical network
- data
- level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/20—Repeater circuits; Relay circuits
- H04L25/26—Circuits with optical sensing means, i.e. using opto-couplers for isolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】異常の発生時に、迅速に代替経路に切り替えること。
【解決手段】実施形態のデータ配信システムは、複数の通信装置を含む。また、データ配信システムは、木構造の論理ネットワークを用いてデータ配信を行う。複数の通信装置の少なくとも一部は、監視部と、接続切替部とを持つ。監視部は、木構造の論理ネットワークにおける一つ上位の通信装置であって、自装置にデータを送信する通信装置の稼働状態を確認する。接続切替部は、前記監視部により前記一つ上位の通信装置の稼働状態が確認されない場合、前記木構造の論理ネットワークにおいて二つ以上上位の通信装置であって前記一つ上位の通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する。
【選択図】図12
【解決手段】実施形態のデータ配信システムは、複数の通信装置を含む。また、データ配信システムは、木構造の論理ネットワークを用いてデータ配信を行う。複数の通信装置の少なくとも一部は、監視部と、接続切替部とを持つ。監視部は、木構造の論理ネットワークにおける一つ上位の通信装置であって、自装置にデータを送信する通信装置の稼働状態を確認する。接続切替部は、前記監視部により前記一つ上位の通信装置の稼働状態が確認されない場合、前記木構造の論理ネットワークにおいて二つ以上上位の通信装置であって前記一つ上位の通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する。
【選択図】図12
Description
本発明の実施形態は、データ配信システム、通信装置、通信制御方法、およびプログラムに関する。
情報配信主から端末装置に情報を配信するデータ配信システムが実用化されている。データ配信システムにおいて、通信障害が発生した場合でも情報配信を停止しないように、配信経路にある通信装置を冗長化することが考えられている。しかしながら、近年のIoT(Internet of Things)技術の世界では、ネットワークの規模が大きくなることが想定されるため、これに適用する際に、通信機器を冗長化すると、コストが膨大となってしまう。また、従来の技術では、データ配信における上流側からの監視を行っていたため、最下流までの通信経路を上流側で全て把握していない場合には、代替可能な通信経路を特定できない場合があった。
本発明が解決しようとする課題は、異常の発生時に、迅速に代替経路に切り替えることができるデータ配信システム、通信装置、通信制御方法、およびプログラムを提供することである。
実施形態のデータ配信システムは、複数の通信装置を含む。また、データ配信システムは、木構造の論理ネットワークを用いてデータ配信を行う。複数の通信装置の少なくとも一部は、監視部と、接続切替部とを持つ。監視部は、木構造の論理ネットワークにおける一つ上位の通信装置であって、自装置にデータを送信する通信装置の稼働状態を確認する。接続切替部は、前記監視部により前記一つ上位の通信装置の稼働状態が確認されない場合、前記木構造の論理ネットワークにおいて二つ以上上位の通信装置であって前記一つ上位の通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する。
以下、実施形態のデータ配信システム、通信装置、通信制御方法、およびプログラムを、図面を参照して説明する。以下の説明において、「自装置」と記載した場合、その主体が属する通信装置を意味するものとする。
[ネットワーク、定義]
図1は、実施形態のデータ配信システムが形成する木構造の論理ネットワークを示す図である。データ配信システムには、少なくとも以下の三種類の通信装置が含まれる。
図1は、実施形態のデータ配信システムが形成する木構造の論理ネットワークを示す図である。データ配信システムには、少なくとも以下の三種類の通信装置が含まれる。
(1)ルートブローカ:パブリッシャから配信依頼を受け、データを配信する装置。パブ−サブ型データの配信システムにおけるパブリッシャ機能とブローカ機能を有する。
(2)サブブローカ(中継装置):上位のブローカ(ルートブローカまたはサブブローカ)から配信されたデータを、下位のブローカまたはデバイスに送信する装置。パブ−サブ型のデータ配信システムにおけるブローカ機能を有する。
(3)クライアント(受信装置):上位のブローカ(同上)から配信されたデータを受け取り、必要に応じてユーザに視聴させる装置。パブ−サブ型のデータ配信システムにおけるサブスクライバ機能を有する。
(2)サブブローカ(中継装置):上位のブローカ(ルートブローカまたはサブブローカ)から配信されたデータを、下位のブローカまたはデバイスに送信する装置。パブ−サブ型のデータ配信システムにおけるブローカ機能を有する。
(3)クライアント(受信装置):上位のブローカ(同上)から配信されたデータを受け取り、必要に応じてユーザに視聴させる装置。パブ−サブ型のデータ配信システムにおけるサブスクライバ機能を有する。
パブ−サブ型のデータ配信システムとは、あるクライアントが登録された場合、そのクライアント宛のデータが生成されると、自動的にクライアントにデータを配信するシステムである。
ルートブローカからクライアントへは、木構造の論理ネットワークによってデータが配信される。木構造の論理ネットワークとは、各通信装置において動作するソフトウェアが認識する各通信装置の論理アドレス(以下、URIという)が、ルートブローカからクライアントに向けて分岐する木構造を形成しているネットワークをいう。図中、[0001]などと表記されているのは、各通信装置のURIを示している。URIは、例えばグローバルIPアドレスとローカルIPアドレスの関係のように、上位桁が上位の通信装置を表す構造となっている。以下の説明において、単に「0001」などと表記した場合、そのURIを有する通信装置を指すものとする。
このネットワークにおいて、上位の通信装置は、必ずしもクライアントまでの全ての通信装置のURIを把握している必要はなく、自装置がデータを送信する一つ下位の通信装置のURIを把握していればデータ配信を行うことができる。そのために、各階層の通信装置は、自装置がデータを送信する下位の通信装置のURIを把握している。
特許請求の範囲における「通信装置」は、少なくとも(2)サブブローカを含み、更に(3)クライアントを含んでもよい。
本実施形態のデータ配信システムを構成する物理ネットワークは、以下の条件を満たす必要がある。
(A)各通信装置は、自装置がデータを送信する下位の通信装置と接続されている。
(B)各通信装置(ルートブローカと、ルートブローカに直接接続されたサブブローカを除く)は、二つ以上上位の通信装置と、自装置にデータを送信する一つ上位の通信装置を介さずに接続されている。
(A)各通信装置は、自装置がデータを送信する下位の通信装置と接続されている。
(B)各通信装置(ルートブローカと、ルートブローカに直接接続されたサブブローカを除く)は、二つ以上上位の通信装置と、自装置にデータを送信する一つ上位の通信装置を介さずに接続されている。
上記(A)、(B)を満たす物理ネットワークとして、例えば図2に示すネットワークが考えられる。図2は、データ配信システムが形成する物理ネットワークの一例を示す図である。なお、図2に示す構成は、上位と下位の関係にある通信装置同士を接続した構成であるが、これに限らず、データ配信システムには、同位の関係にある通信装置同士を接続した部分があってもよい。また、データ配信システムの中に、特に信頼性の高い通信装置が存在する場合、その通信装置がデータを送信する下位の通信装置は、(B)の条件を満たさなくてもよい。
以下の説明では、データ配信システムが配信するデータを「イベント」、イベントの宛先判断に用いられるイベントのラベル情報を「トピック」と称する。
[ルートブローカ]
図3は、ルートブローカRBの構成図である。ルートブローカRBは、例えば、機器管理部10と、ブローカ機能部20と、通信継続機能部40とを備える。なお、以下に説明する機器管理テーブル12、トピック管理テーブル23、イベントプール25、配信先リスト27、および接続リスト43は、HDD(Hard Disk Drive)やフラッシュメモリ、RAM(Random Access Memory)などの記憶媒体に格納されデータである。また、それ以外の構成は、例えば、CPU(Central Processing Unit)などのプロセッサがプログラムを実行することにより実現されてもよいし、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよい。
図3は、ルートブローカRBの構成図である。ルートブローカRBは、例えば、機器管理部10と、ブローカ機能部20と、通信継続機能部40とを備える。なお、以下に説明する機器管理テーブル12、トピック管理テーブル23、イベントプール25、配信先リスト27、および接続リスト43は、HDD(Hard Disk Drive)やフラッシュメモリ、RAM(Random Access Memory)などの記憶媒体に格納されデータである。また、それ以外の構成は、例えば、CPU(Central Processing Unit)などのプロセッサがプログラムを実行することにより実現されてもよいし、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよい。
機器管理部10は、例えば、機器登録・削除部11と、機器管理テーブル12とを備える。機器登録・削除部11は、下位の通信装置からの要求に応じて、下位の通信装置のURI(Uniform Resource Identifier)を取得し、機器管理テーブル12に登録する。URIは、ルートブローカRBによって設定される。図4は、機器管理テーブル12に登録されるデータの内容の一例を示す図である。機器管理テーブル12は、例えば、下位の通信装置のURIである機器URIと、IPアドレスと、イベントの配信を受ける状態であるか否かを示す稼働状態と、ブローカであるかクライアントであるかを示すタイプとが、互いに対応付けられたデータである。稼働状態は、例えば1である場合に受信中を示し、0である場合に受信停止中を示すものとする。
図3に戻り、ブローカ機能部20は、例えば、イベント受信部21と、トピック登録部22と、トピック管理テーブル23と、トピック配信先登録部24と、イベントプール25と、配信先決定部26と、配信先リスト27と、イベント配信部28とを備える。
イベント受信部21は、上位の装置から、トピックとイベントの組み合わせデータを受信する。トピック登録部22は、イベント受信部21が受信した組み合わせデータからトピックを抽出し、トピック管理テーブル23に登録する。
図5は、トピック管理テーブル23に登録されるデータの内容の一例を示す図である。図示するように、トピック管理テーブル23は、トピックに対して配信先URIが対応付けられたデータである。トピックは、「/Japan/Tokyo/Temperature(東京の天気)」のように、配信されるイベントの内容を表す場合もあるし、配信先のURIを表す場合もある。図5における「#」は、それ以前のURIを満たす全てのURIに送信するという意味である。また、トピックには、「send all(接続されている全ての下位の通信装置に送信)」のようなものが含まれてもよい。
トピックに対応する配信先URIは、トピック配信先登録部24によって登録される。トピック配信先登録部24は、予め受信されている下位の通信装置からの要求と、トピックの内容とに基づいて、配信先URIをトピック管理テーブル23に登録する。例えば、「/Japan/Tokyo/Temperature」に関しては、予めその内容のイベントを受信する旨を通知している配信先(図5の例では「0001/0002」)をトピック管理テーブル23に登録する。また、「0001/0001/#」に関しては、その条件を満たす配信先を機器管理テーブル12から取得し、取得した配信先のURIをトピック管理テーブル23に登録する。
また、イベント受信部21は、上位の装置から受信した組み合わせデータを、イベントプール25に格納する。イベントプール25には、何世代か前までの組み合わせデータが保管される。これによって、通信障害時に再配信が要求された場合に、スムーズに応答することができる。
配信先決定部26は、イベント受信部21からの指示に基づいて、トピック管理テーブル23に登録されたトピックに基づいて、イベントの配信先(例えばIPアドレス)を決定し、配信先リスト27に登録する。イベント配信部28は、配信先リスト27に基づいて、イベントを下位の通信装置に配信する。
ルートブローカRBの通信継続機能部40は、例えば、下位ノード応答部41と、接続切替部42(R)と、接続リスト43とを備える。下位ノード応答部41は、下位の通信装置の上位ノード監視部44(後述)からの確認信号に応答する。この応答は、pingに応答するような機械的なものではなく、ルートブローカRBのソフトウェアが正常に機能していることを示すものであると好適である。例えば、下位ノード応答部41は、確認信号に対して予め定められた演算を行った結果を下位の通信装置に返信する。接続切替部42(R)は、下位の通信装置からの要求に応じて、イベントの配信先を変更する。接続リスト43は、イベントの配信先として接続されている下位の通信装置のリストである。
[サブブローカ]
図6は、サブブローカSBの構成図である。図6において、ルートブローカRBと共通する構成については同じ符号を付している。サブブローカSBの通信継続機能部40は、例えば、上位ノード監視部44と、上位ノードリスト45とを更に備える。上位ノード監視部44は、前述した確認信号を、自装置にイベント配信する上位の通信装置に送信する。そして、上位の通信装置から適切な応答が無かった場合、すなわち自装置にイベントを送信する通信装置の稼働状態が確認されない場合、その旨を示す通知を接続切替部42(S)に出力する。サブブローカSBの接続切替部42(S)は、ルートブローカRBの接続切替部42(R)と同様の機能を有する他、上記の通知がなされた場合、上位ノードリスト45を参照し、論理ネットワークにおける2つ以上上位の通信装置であって、可動状態が確認されなかった通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する機能を有する。上位ノードリスト45の内容については後述する。
図6は、サブブローカSBの構成図である。図6において、ルートブローカRBと共通する構成については同じ符号を付している。サブブローカSBの通信継続機能部40は、例えば、上位ノード監視部44と、上位ノードリスト45とを更に備える。上位ノード監視部44は、前述した確認信号を、自装置にイベント配信する上位の通信装置に送信する。そして、上位の通信装置から適切な応答が無かった場合、すなわち自装置にイベントを送信する通信装置の稼働状態が確認されない場合、その旨を示す通知を接続切替部42(S)に出力する。サブブローカSBの接続切替部42(S)は、ルートブローカRBの接続切替部42(R)と同様の機能を有する他、上記の通知がなされた場合、上位ノードリスト45を参照し、論理ネットワークにおける2つ以上上位の通信装置であって、可動状態が確認されなかった通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する機能を有する。上位ノードリスト45の内容については後述する。
また、サブブローカSBは、上位ブローカ通知部50を更に備える。上位ブローカ通知部50は、例えば、機器登録・削除要請部51と、受信トピック登録要請部52とを備える。機器登録・削除要請部51は、上位の通信装置の機器登録・削除部11に対して、自装置のURIの登録または削除を要請する。受信トピック登録要請部52は、特定のトピックの送信を上位の通信装置のトピック配信先登録部24に依頼する。
[クライアント]
図7は、クライアントCLの構成図である。図7において、サブブローカSBと共通する構成については同じ符号を付している。クライアントCLの接続切替部42(C)は、上位ノード監視部44からの通知がなされた場合、上位ノードリスト45を参照し、論理ネットワークにおける2つ以上上位の通信装置であって、可動状態が確認されなかった通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する。
図7は、クライアントCLの構成図である。図7において、サブブローカSBと共通する構成については同じ符号を付している。クライアントCLの接続切替部42(C)は、上位ノード監視部44からの通知がなされた場合、上位ノードリスト45を参照し、論理ネットワークにおける2つ以上上位の通信装置であって、可動状態が確認されなかった通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する。
クライアントCLは、更に、イベント受信・通知部60を備える。イベント受信・通知部60は、イベント受信部61と、イベント通知部62とを備える。イベント受信部61は、上位の通信装置からイベントを受信する。イベント通知部62は、イベント受信部61により受信されたイベントに関してエンドユーザに通知する。
[処理の流れ]
以下、データ配信システムにおける代表的な処理について説明する。
以下、データ配信システムにおける代表的な処理について説明する。
(1.機器登録、配信)
図8は、ブローカ間で機器登録処理が行われる様子を示す図である。図8および図9では、データ配信システムが、ルートブローカRB−サブブローカSB−クライアントCLの3階層であるものとして説明する。また、図8は、サブブローカSBとルートブローカRBの間の機器登録処理を示しているが、サブブローカSB間でも同様の処理が行われる。
図8は、ブローカ間で機器登録処理が行われる様子を示す図である。図8および図9では、データ配信システムが、ルートブローカRB−サブブローカSB−クライアントCLの3階層であるものとして説明する。また、図8は、サブブローカSBとルートブローカRBの間の機器登録処理を示しているが、サブブローカSB間でも同様の処理が行われる。
まず、サブブローカSBの機器登録・削除要請部51から、ルートブローカRBの機器登録・削除部11に対して、登録要請がなされる。ルートブローカRBの機器登録・削除部11は、機器管理テーブル12に、サブブローカSBの機器URI[0001/0001]などを登録する。ここでは、通信が成立したばかりであるので、稼働状態は1に設定される。
ルートブローカRBの機器登録・削除部11は、登録した旨の応答を返信する。サブブローカSBの上位ノード監視部44は、確認信号をルートブローカRBの下位ノード応答部41に送信する。確認信号に対してルートブローカRBの下位ノード応答部41が適切に応答すると、サブブローカSBの上位ノード監視部44は、ルートブローカRBの機器URI[0001]などを上位ノードリスト45に登録する。
上位ノードリスト45には、ルートブローカRBから自装置にイベントを伝送する経路上の全ての通信装置の情報が登録される。上位ノードリスト45は、例えば、機器URI、IPアドレス、稼働状態、接続フラグなどの情報が互いに対応付けられた情報である。機器URIやIPアドレスは、機器登録・削除要請部51から上位ノード監視部44に提供される。稼働状態とは、該当する上位の通信装置が稼働状態であるか否かを示す情報である。稼働状態には、確認信号に適切に応答した場合に1が、そうでない場合に0が設定される。また、接続フラグとは、自装置に直接、イベントを送信する通信装置であるか否かを示す情報である。接続フラグには、自装置に直接イベントを送信する通信装置である場合に1が、そうでない場合に0が設定される。図8の例では、[0001]は、稼働状態にあるため稼働状態が1に設定され、[0001/0001]に対して直接、イベントを送信する通信装置であるため接続フラグが1に設定される。
図9は、クライアントとブローカの間で機器登録処理が行われる様子を示す図である。まず、クライアントCLの機器登録・削除要請部51から、サブブローカSBの機器登録・削除部11に対して、登録要請がなされる。サブブローカSBの機器登録・削除部11は、機器管理テーブル12に、クライアントCLの機器URI[0001/0001/0001]などを登録する。ここでは、通信が成立したばかりであるので、稼働状態は1に設定される。
サブブローカSBの機器登録・削除部11は、登録した旨の応答を返信する。クライアントCLの上位ノード監視部44は、確認信号をサブブローカSBの下位ノード応答部41に送信する。確認信号に対してサブブローカSBの下位ノード応答部41が適切に応答すると、クライアントCLの上位ノード監視部44は、ルートブローカRBの機器URI[0001]、サブブローカSBの機器URI[0001/0001]などを上位ノードリスト45に登録する。ここで、クライアントCLは、ルートブローカRBの機器URIを直接知り得る訳では無いため、例えば、サブブローカSBの機器登録・削除部11または下位ノード応答部41が、自装置の上位ノードリスト45に保持している情報を、クライアントCLに提供する。この点はサブブローカRB間の機器登録処理においても同様である。
図9の例では、クライアントCLの上位ノードリスト45においては、ルートブローカRBの機器URI[0001]に対して稼働状態が1、接続フラグが0に設定される。また、サブブローカSBの機器URI[0001/0001]に対して稼働状態が1、接続フラグが1に設定される。
図10は、ある形態のデータ配信ネットワークにおいて、各通信装置の機器管理テーブル12に設定される情報の一例を示す図である。図示するクライアントCLのうち[0001/0001/0002]が受信を停止している。停止している原因には種々のものが考えられるが、クライアントCLの利用者が手動操作でクライアントCLを停止させた、或いはクライアントCLに故障等が生じたなどがあり得る。前者の場合はクライアントCLから上位の通信装置に通知がなされることで認識され、後者の場合はクライアントCLからのイベント受領通知(例えばACK)が受信されないことで認識される。上位の通信装置は、受信を停止しているクライアントCLに対して、機器管理テーブル12の稼働状態を0に設定し、イベントの送信を停止する。
図11は、図10と同じ形態のデータ配信ネットワークにおいて、あるイベントがクライアントCLに配信される様子を示す図である。図11では、[0001/0002/0002/0001]で表されるトピックに対応付けられたイベントが配信されるものとする。
この場合、ルートブローカRBのトピック管理テーブル23における[0001/0002/#]が、このトピックに該当する。ルートブローカRBのイベント配信部28は、トピック管理テーブル23において[0001/0002/#]に対応付けられている配信先URIの示す[0001/0002]にイベントを送信する。
[0001/0002]が保持するトピック管理テーブル23では、[0001/0002/0002/#]がトピックに該当する。[0001/0002]のイベント配信部28は、トピック管理テーブル23において[0001/0002/0002/#]に対応付けられている配信先URIの示す[0001/0002/0002]にイベントを送信する。
[0001/0002/0002]が保持するトピック管理テーブル23では、[0001/0002/0002/0001]がトピックに該当する。[0001/0002/0002]のイベント配信部28は、トピック管理テーブル23において[0001/0002/0002/0001]に対応付けられている配信先URIの示す[0001/0002/0002/0001]にイベントを送信する。このようにして、特定のクライアントCLにイベントが届けられる。
(2.代替配信)
図12は、図10と同じ形態のデータ配信ネットワークにおいて、ある通信装置に異常が発生したときに代替送信が行われる様子を示す図である。図では、[0001/0002/0002]に異常が発生している。この場合、[0001/0002/0002/0001]は、前述したように、上位ノード監視部44の機能によって、上記のサブブローカSBが稼働状態でないことを検知する。[0001/0002/0002/0001]の接続切替部42(C)は、自装置の上位ノードリスト45を参照し、[0001/0002/0002]の一つ上位の、[0001/0002]に代替送信を依頼する。この場合のクライアントCLの上位ノードリスト45は図示の通りであり、[0001/0002/0002]の稼働状態と接続フラグが0に変更されると共に、[0001/0002]の接続フラグが1に変更される。このとき、[0001/0002/0002/0001]の上位ノード監視部は、[0001/0002/0002]に対する確認信号の送信を停止すると共に、[0001/0002]に対する確認信号の送信を開始する。なお、[0001/0002]から代替送信の依頼に対する適切な応答が無かった場合、[0001/0002/0002/0001]の接続切替部42(C)は、更に上位の[0001]に代替送信を依頼する。
図12は、図10と同じ形態のデータ配信ネットワークにおいて、ある通信装置に異常が発生したときに代替送信が行われる様子を示す図である。図では、[0001/0002/0002]に異常が発生している。この場合、[0001/0002/0002/0001]は、前述したように、上位ノード監視部44の機能によって、上記のサブブローカSBが稼働状態でないことを検知する。[0001/0002/0002/0001]の接続切替部42(C)は、自装置の上位ノードリスト45を参照し、[0001/0002/0002]の一つ上位の、[0001/0002]に代替送信を依頼する。この場合のクライアントCLの上位ノードリスト45は図示の通りであり、[0001/0002/0002]の稼働状態と接続フラグが0に変更されると共に、[0001/0002]の接続フラグが1に変更される。このとき、[0001/0002/0002/0001]の上位ノード監視部は、[0001/0002/0002]に対する確認信号の送信を停止すると共に、[0001/0002]に対する確認信号の送信を開始する。なお、[0001/0002]から代替送信の依頼に対する適切な応答が無かった場合、[0001/0002/0002/0001]の接続切替部42(C)は、更に上位の[0001]に代替送信を依頼する。
一方、代替送信を受諾した[0001/0002]では、図示するように接続リスト43が変更される。接続リスト43は、例えば、機器URIと、IPアドレスと、代替元親ノードと、稼働状態と、離脱フラグとが、互いに対応付けられたデータである。代替元親ノードとは、代替送信の元となった通信装置(異常が生じた通信装置)のURIである。離脱フラグとは、データ配信ネットワークから離脱した状態であるか否かを示す情報である。このような設定の下、[0001/0002]は、[0001/0002/0002/0001]宛のイベントを、[0001/0002/0002]を介さずに[0001/0002/0002/0001]に送信する。
接続リスト43は、不揮発性記憶装置に格納される。これによって、異常が生じた通信装置が復旧するときに、不揮発性記憶装置に格納された接続リスト43を読み出すことで、復旧通知(後述)を速やかに行うことができる。
図13は、通信継続機能部40により実行される第1の処理の流れの一例を示すフローチャートである。本フローチャートの処理は、例えば、所定周期で繰り返し実行される。まず、上位ノード監視部44が、自装置にイベントを送信する上位の通信装置が稼働状態であるか否かを判定する(ステップS100)。上位ノード監視部44は、例えば、確認信号に対して一定時間、適切な応答が無い場合に、稼働状態でないと判定する。自装置にイベントを送信する上位の通信装置が稼働状態であると判定された場合、本フローチャートの1ルーチンが終了する。
自装置にイベントを送信する上位の通信装置が稼働状態でないと判定された場合、通信切替部42(SまたはC)が、稼働状態でないと判定された通信装置よりも一つ上位の通信装置に対して代替送信依頼を送信する(ステップS102)。次に、通信切替部42(SまたはC)は、代替送信依頼に対する応答があったか否かを判定する(ステップS104)。代替送信依頼に対する応答が無かった場合、通信切替部42(SまたはC)は、ステップS102に戻り、更に上位の通信装置に対して代替送信依頼を送信する。
代替送信依頼に対する応答があった場合、通信切替部42(SまたはC)は、上位ノードリスト45を更新し(ステップS106)、確認信号の送信先を切り替える(ステップS108)。こうして代替送信によるイベント配信を受けることができる。なお、上位ノードリスト45が更新されることで、サブブローカSBまたはクライアントCLが新たな配信要求等を送信する際に、上位ノードリスト45における接続フラグが1に設定されている通信装置が、配信要求等の送信先として扱われる。
図14は、異常が発生した通信装置が復帰する様子を示す図である。[0001/0002/0002]は、異常状態から復帰すると、復帰通知を下位の[0001/0002/0002/0001]に送信する。これを受けて[0001/0002/0002/0001]の接続切替部42(C)は、代替送信の停止依頼を[0001/0002]に送信する。更に、[0001/0002/0002]は、接続リスト43の送信要求を[0001/0002]に送信する。[0001/0002]は、その時点で自装置が保持している接続リスト43を[0001/0002/0002]に返信する。
イベント送信を行っていた[0001/0002]は、代替送信の停止依頼を受けて、接続リスト43を元の状態に戻す。[0001/0002/0002]では、稼働フラグまたは離脱フラグが1になっている下位の通信装置が存在するか否か検索し、存在する場合、自装置が保持する接続リスト43においても稼働フラグまたは離脱フラグを同様に1に変更する。これによって、受信を停止している下位の装置に対するイベント送信を停止することができ、不要な通信を抑制することができる。
[適用例]
図15は、実施形態のデータ配信システムを信号機の制御システムに適用した例を示す図である。図示するように、信号機SMの制御信号は、ルートブローカRBによって一階層以上のサブブローカSBを介してクライアントCLに配信され、クライアントCLによって信号機SMが制御されるようにしてよい。この場合、信号機SMの制御部をクライアントCLとしてもよい。これによって、緊急車両の通過時に一部の信号群を一括して赤点灯に変更するような制御を容易に行うことができる。また、災害時などにおいて、一部の通信装置で障害が発生しても、代替送信によって確実にデータを配信することができる。
図15は、実施形態のデータ配信システムを信号機の制御システムに適用した例を示す図である。図示するように、信号機SMの制御信号は、ルートブローカRBによって一階層以上のサブブローカSBを介してクライアントCLに配信され、クライアントCLによって信号機SMが制御されるようにしてよい。この場合、信号機SMの制御部をクライアントCLとしてもよい。これによって、緊急車両の通過時に一部の信号群を一括して赤点灯に変更するような制御を容易に行うことができる。また、災害時などにおいて、一部の通信装置で障害が発生しても、代替送信によって確実にデータを配信することができる。
以上の説明では、異常が発生した通信装置は、代替送信に関与しないものとした。これに限らず、例えば、「ブローカとしてのソフトウェアは正常に動作しないが、URIを見て転送する機能は故障せずに残っている」場合、その通信装置は、代替送信の中継を行ってもよい。
以上説明した少なくともひとつの実施形態によれば、複数の通信装置を含み、木構造の論理ネットワークを用いてデータ配信を行うデータ配信システムにおいて、複数の通信装置の少なくとも一部は、木構造の論理ネットワークにおける一つ上位の通信装置であって、自装置にデータを送信する通信装置の稼働状態を確認する上位ノード監視部44と、上位ノード監視部44により一つ上位の通信装置の稼働状態が確認されない場合、木構造の論理ネットワークにおいて二つ以上上位の通信装置であって一つ上位の通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する接続切替部42と、を持つことにより、異常の発生時に、迅速に代替経路に切り替えることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…データ配信システム、40…通信継続機能部、41…下位ノード応答部、42…接続切替部、43…接続リスト、44…上位ノード監視部、45…上位ノードリスト、RB…ルートブローカ、SB…サブブローカ、CL…クライアント
Claims (8)
- 複数の通信装置を含み、木構造の論理ネットワークを用いてデータ配信を行うデータ配信システムであって、
前記複数の通信装置の少なくとも一部は、
前記木構造の論理ネットワークにおける一つ上位の通信装置であって、自装置にデータを送信する通信装置の稼働状態を確認する監視部と、
前記監視部により前記一つ上位の通信装置の稼働状態が確認されない場合、前記木構造の論理ネットワークにおいて二つ以上上位の通信装置であって前記一つ上位の通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する接続切替部と、を備える、
データ配信システム。 - 前記複数の通信装置の少なくとも一部は、
上位の通信装置のリストである第1のリストを保持し、
前記接続切替部は、前記監視部により前記一つ上位の通信装置の稼働状態が確認されない場合、前記第1のリストを参照して、前記木構造の論理ネットワークにおいて二つ以上上位の通信装置を特定する、
請求項1記載のデータ配信システム。 - 前記監視部は、前記木構造の論理ネットワークにおける一つ上位の通信装置であって、自装置にデータを送信する通信装置の稼働状態を定期的に確認する、
請求項1または2記載のデータ配信システム。 - 前記複数の通信装置の少なくとも一部は、
下位の通信ノードの稼働状態を示すリストである第2のリストを保持し、
前記木構造の論理ネットワークにおいて二つ以上下位の通信装置からの要求に応じて、前記二つ以上下位の通信装置にデータを送信している間、前記二つ以上下位の通信装置の状態に応じて前記第2のリストを更新し、
前記木構造の論理ネットワークにおいて一つ下位の通信装置が稼働状態に復帰した場合、前記第2のリストを、前記木構造の論理ネットワークにおいて一つ下位の通信装置に送信する、
請求項1から3のうちいずれか1項記載のデータ配信システム。 - 前記複数の通信装置のうち、
前記木構造の論理ネットワークにおける最上位の通信装置にパブリッシャ機能とブローカ機能を、
前記木構造の論理ネットワークにおける中間位の通信装置にブローカ機能を、
前記木構造の論理ネットワークにおける最下位の通信装置にサブスクライバ機能を備える、
請求項1から4のうちいずれか1項記載のデータ配信システム。 - 木構造の論理ネットワークにおける一つ上位の通信装置であって、自装置にデータを送信する通信装置の稼働状態を確認する監視部と、
前記監視部により前記一つ上位の通信装置の稼働状態が確認されない場合、前記木構造の論理ネットワークにおいて二つ以上上位の通信装置であって前記一つ上位の通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する接続切替部と、
を備える通信装置。 - 複数の通信装置を含み、木構造の論理ネットワークを用いてデータ配信を行うデータ配信システムにおける通信装置が、
前記木構造の論理ネットワークにおける一つ上位の通信装置であって、自装置にデータを送信する通信装置の稼働状態を確認し、
前記一つ上位の通信装置の稼働状態が確認されない場合、前記木構造の論理ネットワークにおいて二つ以上上位の通信装置であって前記一つ上位の通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求する、
通信制御方法。 - 複数の通信装置を含み、木構造の論理ネットワークを用いてデータ配信を行うデータ配信システムにおける通信装置に、
木構造の論理ネットワークにおける一つ上位の通信装置であって、自装置にデータを送信する通信装置の稼働状態を確認させ、
前記一つ上位の通信装置の稼働状態が確認されない場合、前記木構造の論理ネットワークにおいて二つ以上上位の通信装置であって前記一つ上位の通信装置を介さずに自装置にデータを送信可能な通信装置に対して、自装置にデータを送信するよう要求させる、
プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017042196A JP2018148430A (ja) | 2017-03-06 | 2017-03-06 | データ配信システム、通信装置、通信制御方法、およびプログラム |
US15/876,458 US20180254978A1 (en) | 2017-03-06 | 2018-01-22 | Data delivery system, communication device, and communication control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017042196A JP2018148430A (ja) | 2017-03-06 | 2017-03-06 | データ配信システム、通信装置、通信制御方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018148430A true JP2018148430A (ja) | 2018-09-20 |
Family
ID=63356004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017042196A Pending JP2018148430A (ja) | 2017-03-06 | 2017-03-06 | データ配信システム、通信装置、通信制御方法、およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180254978A1 (ja) |
JP (1) | JP2018148430A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004282346A (ja) * | 2003-03-14 | 2004-10-07 | Nippon Telegr & Teleph Corp <Ntt> | エンティティ装置、障害回復方法、及び、コンピュータプログラム |
JP2006033514A (ja) * | 2004-07-16 | 2006-02-02 | Brother Ind Ltd | 接続態様制御装置、接続態様制御方法及び接続態様制御用プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7839786B2 (en) * | 2006-10-06 | 2010-11-23 | International Business Machines Corporation | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by semi-randomly varying routing policies for different packets |
DE102007031341A1 (de) * | 2006-11-13 | 2008-05-15 | Siemens Ag | Verfahren zum Einrichten bidirektionaler Datenübertragungspfade in einem drahtlosen vermaschten Kommunikationsnetzwerk |
JP4894590B2 (ja) * | 2007-03-30 | 2012-03-14 | ブラザー工業株式会社 | ネットワークシステム、情報処理装置及び情報処理用プログラム |
US9521074B2 (en) * | 2012-05-10 | 2016-12-13 | Sonos, Inc. | Methods and apparatus for direct routing between nodes of networks |
US9179197B2 (en) * | 2012-10-10 | 2015-11-03 | Sonos, Inc. | Methods and apparatus for multicast optimization |
-
2017
- 2017-03-06 JP JP2017042196A patent/JP2018148430A/ja active Pending
-
2018
- 2018-01-22 US US15/876,458 patent/US20180254978A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004282346A (ja) * | 2003-03-14 | 2004-10-07 | Nippon Telegr & Teleph Corp <Ntt> | エンティティ装置、障害回復方法、及び、コンピュータプログラム |
JP2006033514A (ja) * | 2004-07-16 | 2006-02-02 | Brother Ind Ltd | 接続態様制御装置、接続態様制御方法及び接続態様制御用プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20180254978A1 (en) | 2018-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11388123B2 (en) | Method and system for providing resiliency in interaction servicing across data centers | |
CN109344014B (zh) | 一种主备切换方法、装置及通信设备 | |
CN110166356A (zh) | 发送报文的方法和网络设备 | |
US9929941B2 (en) | Fast convergence for redundant edge devices | |
US9838245B2 (en) | Systems and methods for improved fault tolerance in solicited information handling systems | |
CN112217847A (zh) | 微服务平台及其实现方法、电子设备及存储介质 | |
US11424978B2 (en) | Fast forwarding re-convergence of switch fabric multi-destination packets triggered by link failures | |
WO2016206502A1 (zh) | 一种业务控制方法及装置、计算机存储介质 | |
WO2022033586A1 (zh) | 一种消息发送方法及装置 | |
US8250140B2 (en) | Enabling connections for use with a network | |
US9426115B1 (en) | Message delivery system and method with queue notification | |
JP2018148430A (ja) | データ配信システム、通信装置、通信制御方法、およびプログラム | |
CN104348737A (zh) | 一种组播报文的传输方法及交换机 | |
US20200290657A1 (en) | Railway automation network and method for transmitting messages in a railway automation network | |
US10382301B2 (en) | Efficiently calculating per service impact of ethernet ring status changes | |
EP3346671B1 (en) | Service processing method and equipment | |
KR101696911B1 (ko) | 분산 데이터 베이스 장치 및 그 장치에서의 스트림 데이터 처리 방법 | |
CN114900526A (zh) | 负载均衡方法及系统、计算机存储介质、电子设备 | |
JP6787576B2 (ja) | クラウド中継システムおよび中継サーバ | |
EP3456030B1 (en) | Updating a transport stack in a content centric network | |
US9019964B2 (en) | Methods and systems for routing application traffic | |
US10122588B2 (en) | Ring network uplink designation | |
KR101659579B1 (ko) | 퍼블리쉬-서브스크라이브 방식을 이용한 서버 다중화 서비스 제공장치 및 그 방법 | |
US20230208923A1 (en) | System and method for transferring a client connection | |
WO2020063251A1 (zh) | 一种通信方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200129 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200901 |