JP2006343970A - 通信システム、ノード、変更通知方法及びプログラム並びに記憶媒体 - Google Patents
通信システム、ノード、変更通知方法及びプログラム並びに記憶媒体 Download PDFInfo
- Publication number
- JP2006343970A JP2006343970A JP2005168547A JP2005168547A JP2006343970A JP 2006343970 A JP2006343970 A JP 2006343970A JP 2005168547 A JP2005168547 A JP 2005168547A JP 2005168547 A JP2005168547 A JP 2005168547A JP 2006343970 A JP2006343970 A JP 2006343970A
- Authority
- JP
- Japan
- Prior art keywords
- node
- information
- nodes
- notification
- unit
- 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
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】 情報提供側のノードが自ら提供する情報の変更を通知する一方で、この通知を必要とするノードのみに送信すると共に同じノードに同じ通知が繰り返し送信されるのを抑制して提供情報の種類の変化に対する処理時間を削減することができる通信システムを提供する。
【解決手段】 論理的ネットワークを構成するノードが、他ノードからの情報提供に関する情報を保持する他ノード提供情報保持部12と、他ノード提供情報保持部12に記憶した情報に基づいて自ノードに必要な情報を提供するノードを検索する他ノード情報提供検索部13と、他ノードに情報提供する情報提供部10と、他ノードと自律的に情報をやり取りするネットワークを構成し、当該ネットワーク上の他ノードに対して、自ノードの情報提供部が提供する情報の変更通知を送信する自律的ネットワーク構成部15とを備える。
【選択図】 図1
【解決手段】 論理的ネットワークを構成するノードが、他ノードからの情報提供に関する情報を保持する他ノード提供情報保持部12と、他ノード提供情報保持部12に記憶した情報に基づいて自ノードに必要な情報を提供するノードを検索する他ノード情報提供検索部13と、他ノードに情報提供する情報提供部10と、他ノードと自律的に情報をやり取りするネットワークを構成し、当該ネットワーク上の他ノードに対して、自ノードの情報提供部が提供する情報の変更通知を送信する自律的ネットワーク構成部15とを備える。
【選択図】 図1
Description
この発明は、ピアツーピア(Peer to Peer:PtoP、P2P)型ネットワークを構成する通信システム、そのノード、変更通知方法及びこの機能をコンピュータに実現させるプログラム並びにこれを記憶する記憶媒体に関するものである。
従来のクライアントサーバ型モデルと異なり、ノード自らがサーバにもなりクライアントにもなるP2P型ネットワークが近年注目を集めている。これは、P2P型ネットワークシステムでは、各ノードが必要な情報(例えば、共有ファイルなど)を提供する他のノードを自らの検索機能によって見つけ出し、また他のノードからの検索要求を別のノードに転送することにより、必要な情報を提供するノードの検索範囲を広げることもできるからである。
P2Pネットワークシステムの代表的な構築技術として、JXTAがある(非特許文献1)。このJXTAでは、例えば非特許文献2に示すように、システム内のノードは必要な情報を提供する他のノードを以下の手順で検索する。
(1)ノードが構成するネットワーク(論理ネットワーク)全体から、必要な情報を提供する対象ノードを検索する。
(2)(1)の処理で対象ノードが見つからない場合、当該ネットワークにおいて、情報提供等して他のノードから利用されているノードから対象ノードを検索する。
(3)(2)の処理でも対象ノードが見つからない場合、(2)で検索範囲としたノードを利用していたノード(前記他のノード)を検索範囲として対象ノードを検索する。
(4)必要な情報を提供する対象ノードが見つかるまで(3)を一定回数繰り返す。
(1)ノードが構成するネットワーク(論理ネットワーク)全体から、必要な情報を提供する対象ノードを検索する。
(2)(1)の処理で対象ノードが見つからない場合、当該ネットワークにおいて、情報提供等して他のノードから利用されているノードから対象ノードを検索する。
(3)(2)の処理でも対象ノードが見つからない場合、(2)で検索範囲としたノードを利用していたノード(前記他のノード)を検索範囲として対象ノードを検索する。
(4)必要な情報を提供する対象ノードが見つかるまで(3)を一定回数繰り返す。
このような検索において、上記(3)、(4)の処理の繰り返し回数が少なければ少ないほど検索時間は短くなる。すなわち、各ノードが他のノードの提供する情報を多く知っていればいるほど早く検索できることになる。
丸山不二夫,"連載PtoPの本命JXTAを追跡する第3回JXTAのDiscoveryの働き",http://www.atmarkit.co.jp/fjava/rensai/jxta03/jxta03.html
L.Gong, "JXTA: A Network Programming Environment",IEEE Internet Computing, v.5,pp 88-95,June 2001
従来のシステムでは、非特許文献2に開示されるように、あるノードの提供する情報について他の多くのノードが知っていれば、必要な情報を提供するノードの検索が短時間で可能になる。しかしながら、あるノードの提供する情報の種類が変化した場合、それまでの情報を知っていた他の多くのノードにその変化について通知しなければ、検索の短時間化の効果を得ることができない。このため、ノードの提供する情報の種類が変化するたびに、その変化についての通知が多くなるという課題がある。
また、非特許文献2に開示される上記(1)の検索処理では、必要な情報を提供するノードを検索するたびに、当該情報を提供しない関係のないノードが検索要求を処理しなくてはならない。さらに、上記(3)、(4)の検索処理では、頻繁に情報のやり取りがなさている等、ノード間で互いに密に結合をしていると、同じノードが同じ検索要求を何度も処理しなくてはならない場合が発生するという課題もある。
この発明は、上記のような課題を解決するためになされたもので、P2P型ネットワークにおいて情報提供側のノードが自ら提供する情報の変更を通知する一方で、この通知を必要とするノードのみに送信すると共に同じノードに同じ通知が繰り返し送信されるのを抑制して提供情報の種類の変化に対する処理時間を削減することができる通信システム、そのノード、変更通知方法及びこの機能をコンピュータに実現させるプログラム並びにこれを記憶する記憶媒体を得ることを目的とする。
この発明に係る通信システムは、論理的ネットワークを構成するノードが、他ノードからの情報提供に関する情報を保持する他ノード提供情報保持部と、他ノード提供情報保持部に記憶した情報に基づいて自ノードに必要な情報を提供するノードを検索する他ノード情報提供検索部と、他ノードに情報提供する情報提供部と、他ノードと自律的に情報をやり取りするネットワークを構成し、当該ネットワーク上の他ノードに対して、自ノードの情報提供部が提供する情報の変更通知を送信する自律的ネットワーク構成部とを備えるものである。
この発明によれば、必要な情報を提供するサービスを行っているノードを効率的に検索することができ、また無駄な通知を削減できることから、システム内のノードの処理性能を有効に活用できるという効果がある。
実施の形態1.
図1は、この発明の実施の形態1による通信システムのノードの構成を示すブロック図である。実施の形態1によるノード1は、情報提供部10、利用ノード記憶部11、他ノード提供情報保持部12、他ノード提供情報検索部13、ノード数保持部14及び自律的ネットワーク構成部15からなり、他ノードからの情報を受け取って処理を行うアプリケーション50を有している。
図1は、この発明の実施の形態1による通信システムのノードの構成を示すブロック図である。実施の形態1によるノード1は、情報提供部10、利用ノード記憶部11、他ノード提供情報保持部12、他ノード提供情報検索部13、ノード数保持部14及び自律的ネットワーク構成部15からなり、他ノードからの情報を受け取って処理を行うアプリケーション50を有している。
情報提供部10は、他ノードへ情報提供する機能を有し、他ノードから受信した情報提供要求20に応じた情報を送信元のノードに提供する一方で、記憶要求21を利用ノード記憶部11に出力して自ノード1の情報提供機能を利用した当該ノードに関する情報を記憶させる。利用ノード記憶部11は、情報提供部10からの記憶要求21に応じて、自ノード1を利用するノードに関する情報を記憶する。このノードに関する情報は、当該ノードを特定するための情報であり、例えばそのIPアドレスなどの物理ネットワーク上における位置を特定する情報があげられる。
他ノード提供情報保持部12は、自ノード1が他ノードから情報提供を受けると、当該他ノードが有する情報提供機能に関する情報を保持する。他ノードが有する情報提供機能に関する情報としては、他ノードが情報提供するにあたり特定される、他ノードの物理ネットワーク位置、情報提供に際して自ノードから他ノードに与えるパラメータの値、それに応じて提供される値や情報の個数、その種類(整数なのか、文字列なのか等)に関する情報が考えられる。他ノード提供情報検索部13は、ネットワーク内のノードへ検索要求22を送信し、要求22に合致する情報を提供するノードを検索対象のノードとしてその情報の提供を受ける。
つまり、ノード1上のアプリケーション50による処理において他ノードの情報を必要とする場合、他ノード提供情報検索部13が、当該必要な情報を提供するノードを検索するための要求22をネットワークに送信し、検索結果として抽出されたノードから提供される情報をアプリケーション50が受け取る一方で、他ノード提供情報保持部12には当該情報を提供したノードの提供情報に関する情報が保持される。
ノード数保持部14は、自律的ネットワーク構成部15により構成されたネットワーク内のノード数を保持する。自律的ネットワーク構成部15は、他ノード提供情報検索部13が他ノードに対して検索要求22を転送できるようにするため、アプリケーション50とは独立に他のノードとネットワークを構成するための要求又は返答に関する信号23を随時やり取りする。これにより、アプリケーション50とは独立に必要な情報を提供するノードを検索可能な自律的ネットワークが構成される。
ノード1の構成要素である情報提供部10、利用ノード記憶部11、他ノード提供情報保持部12、他ノード提供情報検索部13、ノード数保持部14及び自律的ネットワーク構成部15は、本発明の趣旨に従うプログラムをコンピュータに読み込ませてその動作を制御することにより、当該コンピュータ上でソフトウエアとハードウエアが協働した具体的な手段として実現することもできる。また、利用ノード記憶部11、他ノード提供情報保持部12、ノード数保持部14は、当該コンピュータに搭載されたメモリ上に構成される。なお、コンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。
図2は、実施の形態1による通信システムの構成を概略的に示す図であり、上述した手順でノード間で互いの提供する情報を検索又は利用することにより、各ノード間で情報の取得に関する関連付けを示す論理ネットワークが構成されている。図において、ノード100〜106が論理ネットワークを構成している。図中の矢印は、ノード間での情報のやり取りを示しており、例えばノード100がノード102の情報を取得していることを示している。
この関連付けによって構成される論理ネットワークのうち物理的に近いノードで構成されるネットワークが、本発明で対象とするネットワークである。例えば、IPマルチキャストを利用して何らかのノード検索パケットを定義して検索要求22として送出すると、当該要求22に対応するノードが特定されるネットワークが考えられる。この他、同一のIPネットワークアドレスを有するノードから構成されるネットワーク(IPブロードキャストである情報が全てのノードに通知されるネットワーク)なども対象とすることができる。このように、本発明は、基本的に同一の物理ネットワークに属するノードを対象としている。
自律的ネットワーク構成部15では、上述のような論理ネットワークを構成し、このとき論理ネットワーク内に存在するノードの数を同時に計算し、ネットワーク内のノード数を保持するノード数保持部14に対して通知する。ノード数保持部14は、この通知を受けるたびに内部で保持するノード数を更新する。なお、例としてIPネットワークをあげたが、本発明はこれに限定されるものではなく、他のアドレス体系のネットワークであってもよい。
次に動作について説明する。
図2において、ノード100が提供する情報の種類に変化が起きたものと仮定すると、ノード100は、ノード101,102,104と情報をやり取りしていることから、「必要な情報が取得できない」といった変化が生じる。例えば、ノード102がノード100に対して情報提供要求20を送出したとき、上述のような変化が発生すると、それまで何らかの正規の情報が取得できたにもかかわらず、情報提供不能となりエラーが返信される場合がある。
図2において、ノード100が提供する情報の種類に変化が起きたものと仮定すると、ノード100は、ノード101,102,104と情報をやり取りしていることから、「必要な情報が取得できない」といった変化が生じる。例えば、ノード102がノード100に対して情報提供要求20を送出したとき、上述のような変化が発生すると、それまで何らかの正規の情報が取得できたにもかかわらず、情報提供不能となりエラーが返信される場合がある。
このような場合、ノード100とノード101,102,104との間のように情報のやり取りを直接行っているノード間ならば、情報の提供を受けようとするノードは、情報提供側のノードが他のノードとの間で何らかの通信を行っており、さらに自ノードへ情報を提供するための通信ができない状態にあると仮定される。このため、その際に情報提供側のノードが、自己の提供する情報の種類に変化が生じたことを通知すれば、情報の提供を受けようとするノード側でその変化を知ることができる。
これに対して、例えばノード100と直接情報のやり取りをしていないノード105がノード100の情報の種類の変化を識別する場合は、上述のようにノード100側から直接通知することができない。つまり、ノード間で直接情報をやり取りしているならば、上述のように提供される情報の種類に変化があっても互いの通信により直ちに認識することができるが、ノード105のように直接のやり取りがない場合、ノード100が提供する情報の種類にいつ変化が発生したかを認識することができない。
この場合、ノード105が、ノード100の提供する情報の種類の変化を知るための一つの方法としては、ノード105が他の全てのノード(図2におけるノード100〜107)に問い合わせることが考えられる。しかしながら、上述のように、ノード105側では、ノード100の提供する情報の種類に変化が発生したことを直接知ることができないため、変化のあるなしにかかわらず、全てのノードに問い合わせるなどの無駄な処理が必要となる。また、ノード105以外にノード100と直接情報をやり取りしておらず、その提供する情報の変化を直接知ることができない他の全てのノードが同様に問い合わせを行わなければならないことを考えると現実的ではない。
そこで、本実施の形態1では、自ノードの提供する情報の種類に変化があったノード100側で当該変化があった旨を他のノードに通知する。以降では、ノード100による当該通知の方法を通知先を制限する条件によって分類し、条件毎の方法を順に説明する。
先ず、ノード100は、利用ノード記憶部11が他のノードへ情報を提供するたびに情報提供要求20を受信した時刻(情報提供処理の開始時刻)と当該要求20の送信元のノードが情報を受信した時刻(情報提供処理の終了時刻)を保持する。この情報提供処理の開始時刻及び終了時刻をそれぞれTs(100,y)及びTl(100,y)とする。ここで、yは他のノードを示しており、例えばノード100の情報提供部10が直近で最後にノード101へ情報提供した場合、ノード100の情報提供部10における最終適用時刻はTl(100,101)となる。
さらに、ノード100では、自律的ネットワーク構成部15が対象ネットワーク内にあるノード数を逐次計算してノード数保持部14に保持する。図2の例では、ノード数は7ということになる。また、当該ネットワーク内の各ノードの利用ノード記憶部11は、自ノードの情報提供部10が他ノードから利用された場合、当該利用したノードを特定する情報と利用されたノード数とを逐次記憶する。図2の例では、ノード100の利用ノード記憶部11には、自ノードの情報提供部10を利用したノード101,102,104を特定する情報及び利用ノード数(3つ、ノード101,102,104)が記憶される。
ノード100では、自ノードの提供する情報の種類が変化した時刻がT2である場合、当該時刻と情報提供の開始時刻との差であるT2−Ts(100,y)、当該時刻と情報提供の終了時刻との差であるT2−Tl(100,y)、利用ノード数Nu、及びネットワーク内の全てのノード数Naを用いて、当該情報の種類が変化した旨の通知先を決定する。但し、yはノード100から情報提供を受けた任意のノードを示している。また、図2の例では、Nuが3、Naが7となる。
また、各ノードには、変化発生時刻と情報提供の開始時刻との差に関する閾値Txs、変化発生時刻と情報提供の終了時刻との差に関する閾値Txl、利用ノード数に関する閾値Nxが設定されているものとする。これらの閾値は、通知先に絞りをかけるか否かを判定するためのものであり、例えば通信先を絞らないでも許容範囲の検索効率を実現できる前記パラメータの最大値を閾値として予め決定しておく。但し、この値はネットワークの構成や利用状況に応じて変化させてもかまわないし、恣意的な固定値でもかまわない。
図3は、実施の形態1のノードによる変更通知処理の流れを示すフローチャートであり、図中のパラメータは上述の定義に従うものとする。
ノード100の自律的ネットワーク構成部15は、自ノードの情報提供部10が提供する情報の種類に変化が生じると、先ずノード数保持部14に保持しておいた対象ネットワーク内のノード数Naを読み出す(ステップST1)。このあと、自律的ネットワーク構成部15は、ノード数Naと閾値Nxを比較してNaがNxを超えているか否かを判定する(ステップST2)。このとき、NaがNxを超えていれば、通知先ノードの数を絞る処理に移行する(ステップST5)。
ノード100の自律的ネットワーク構成部15は、自ノードの情報提供部10が提供する情報の種類に変化が生じると、先ずノード数保持部14に保持しておいた対象ネットワーク内のノード数Naを読み出す(ステップST1)。このあと、自律的ネットワーク構成部15は、ノード数Naと閾値Nxを比較してNaがNxを超えているか否かを判定する(ステップST2)。このとき、NaがNxを超えていれば、通知先ノードの数を絞る処理に移行する(ステップST5)。
一方、NaがNxを超えていなければ、自律的ネットワーク構成部15は、利用ノード記憶部11から各ノードについて自ノードが情報提供した開始時刻Ts(100,y)を読み出して、情報の種類に変化があった時刻T2との差T2−Ts(100,y)をそれぞれ算出する。そして、自ノードに保持されている全てのTs(100,y)に対するT2−Ts(100,y)のうちの最大値Tmを求める(ステップST3)。
続いて、自律的ネットワーク構成部15は、T2−Ts(100,y)の最大値Tmと閾値Txsとを比較して、TmがTxsを超えているか否かを判定する(ステップST4)。ここで、TmがTxsを超えていれば、ステップST5の処理に移行して通知先ノードの数を制限する。また、TmがTxsを超えていなければ、ステップST6に進み、対象ネットワーク内の全てのノードに通知を行う処理を実行する。
図4は、図3中のステップST5における通知先のノードを絞る通知先制限処理の流れを示すフローチャートであり、通知を受けたノードが別のノードに当該通知をリレーする処理を示している。
先ず、ノード100の情報提供部10は、利用ノード記憶部11に記憶させた情報に基づいて自己を利用したノード101,102,104を特定し、自己が提供する情報の種類に変化があった旨の変更通知をノード101,102,104に送信する。このとき、ノード100の自律的ネットワーク構成部15は、利用ノード記憶部11から利用ノード数Nuを読み出し、ノード数保持部14から対象ネットワーク内のノード数Naを読み出して、Nu及びNaの値から通知ポップ数を算出し、前記変更通知と同時にノード101,102,104に送信する。
先ず、ノード100の情報提供部10は、利用ノード記憶部11に記憶させた情報に基づいて自己を利用したノード101,102,104を特定し、自己が提供する情報の種類に変化があった旨の変更通知をノード101,102,104に送信する。このとき、ノード100の自律的ネットワーク構成部15は、利用ノード記憶部11から利用ノード数Nuを読み出し、ノード数保持部14から対象ネットワーク内のノード数Naを読み出して、Nu及びNaの値から通知ポップ数を算出し、前記変更通知と同時にノード101,102,104に送信する。
例えば、Na/Nuを通知ポップ数とすることが考えられる。この通知ポップ数Na/Nu値は、対象のネットワーク内で全てのノードが均一に情報のやり取りを行っている、つまり、どのノードもNu個のノードと情報のやり取りを行っていると仮定した場合の、平均ポップ数に相当する。これにより、平均してNa/Nu値に相当する数だけノードを中継すれば他の任意のノードに対しても変更通知を伝えることができる。
なお、通知ポップ数としては、例えば対象のネットワーク内で情報のやり取りが行われている全てのノードに対して通知するためにNa値自体を設定したり、情報のやり取りが限定した範囲のノードに限られている場合であれば、Na,Nuの値に依存しない固定値を設定するようにしてもよい。
これらの処理により、ノード101,102,104は、ノード100からの変更通知と通知ポップ数を受け取ることになる(ステップST1a)。この通知を受けた各ノードの自律的ネットワーク構成部15は、他ノード提供情報保持部12に保持した情報から、当該受信した通知が以前に受信したものと同じであるか否かを判定する(ステップST2a)。このとき、受信した通知が以前に受信したものと同じであり、他のノードへの通知リレー処理を既に行ったものであると判定されれば、自律的ネットワーク構成部15は、当該受信した通知を破棄して処理を終了する(ステップST6a)。
一方、受信した通知が以前に受信したものと同一でなければ、自律的ネットワーク構成部15は、受信した通知ポップ数が1未満であるか否かを判定する(ステップST3a)。ここで、通知ポップ数が1未満であるならば、当該通知を伝えるべきノードがないものと判断して他のノードに変更通知をリレーせず、ステップST6aに進んで処理を終了する。
また、通知ポップ数が1以上であれば、自律的ネットワーク構成部15は、利用ノード記憶部11から読み出した自ノードを利用したノード数Nuと、通知された通知ポップ数から1を減じた値とから新たな通知ポップ数を再計算する(ステップST4a)。例えば、情報の種類が変化した旨を通知したノード100からの通知ポップ数がNa/Nu値で与えられている場合、当該通知を受けたノードの自律的ネットワーク構成部15は、(受信した通知ポップ数−1)/(自ノードを利用したノード数Nu)を新たな通知ポップ数として算出し、これら自己を利用したノードの全てに対してノード100からの変更通知と当該再計算した通知ポップ数とを送信する(ステップST5a)。なお、送信した変更通知は他ノード提供情報保持部12に保持され、ステップST2aでの一致判定に利用される。
これら処理を通知を受けた各ノードが逐次実行することにより、変更通知の送信元のノード(例えば、図2中のノード100)との間で直接情報をやり取りするノード(例えば、図2中のノード101,102,104)が当該変更通知を受け取り、さらにこれらのノードとの間では直接情報のやり取りをするが、変更通知の送信元のノードとの間では直接情報をやり取りしない他ノード(例えば、図2中のノード103,105,106)に対して変更通知と通知ポップ数がリレーされることになる。
図2を用いて具体的に説明する。例えば、ノード100からの変更通知は、通知先を制限する条件ではノード101,102,104に通知される。このとき、一緒に通知される通知ホップ数は、対象ネットワーク内の全ノード数Na/利用ノード数Nu=7/3=2.33である。この通知を受けたノード101は、ステップST4aの処理に従って、通知ホップ数を再計算し、ノード103とノード106にノード100からの変更通知と共に再計算した通知ホップ数0.67を通知する。ノード103は、受けた通知ホップ数が1未満であるため終了となり、ノード103を利用しているノード105には通知しない。
一方、ノード101は、ノード100とノード104との2つから通知を受けるが、同一の通知であるので処理をするのは片方だけで、もう片方は受け取った直後に破棄する。つまり、ノード101からノード103へ通知されるのは1度のみである。なお、この場合、ノード100からの変更通知がノード105に通知されないことになる。しかしながら、これは、ノード105自体がノード100の提供する情報の変化を知る必要性が薄いということを意味するため、通知が届かないことによるデメリットは少ない。
上述した図3の処理においては、各ノードのうち、直近最後に情報提供を受けた時刻が最も早いノードの開始時刻Ts(100,y)が、T2−Txsより早かったら通信先を制限する。つまり、他のノードからはじめて情報提供を要求された時刻からどのくらい時間が経過したかを通知先を制限するか否かの判定基準としている。これにより、他のノードから自ノードが利用されてある程度の時間をおくことにより、自ノードとの間での情報の流れが定まった状態となり、ネットワークの構成ノードや情報のやり取りが安定化することが期待される。このような状態になるのを待って図3中の処理を実行することにより変更通知の効率的な伝達を実現することができる。
このように、対象のネットワーク内における全てのノードが他のノードからの情報提供を頻繁に受ける状態(常に通信相手のノードから自ノードの提供する情報を要求されている状態)にある場合に図3の処理は適している。しかしながら、このような状態ではない場合、例えばあるノードAが一旦あるノードBからの情報提供を受けた後に全くノードBからの情報提供を要求しない場合を考える。このとき、ノードBが提供する情報の変更通知は、図3の処理に従うとノードBからの情報提供をずっと要求していなかったノードAに対しても通知される。
つまり、図3の処理だけでは、通信相手が自ノードの情報を随時必要としているのか、一時的に必要な情報を取得するために通信してきたのかを判定することができないので、あるノードから過去に情報提供を受けたが、既に当該ノードからの情報提供を必要としていない状態にあるノードに対しても変更通知がなされることになり、通知に無駄が生じてしまう。
図5は、実施の形態1のノードによる変更通知処理の他の例を示すフローチャートであり、既に情報のやり取りがなくその情報の変更通知を通知する必要がないノードを判定し変更通知の通知先から除外するものである。図5に示す処理と図3の処理との違いは、情報提供したノードが変更通知の通知先を個別に判別し、その判別条件を満足するノードのみを通知対象とすることである。
先ず、ノード100の自律的ネットワーク構成部15は、自ノードの情報提供部10が提供する情報の種類に変化が発生すると、ノード数保持部14から対象ネットワーク内のノード数Naを読み出す(ステップST1b)。このあと、自律的ネットワーク構成部15は、ノード数Naと閾値Nxを比較してNaがNxを超えているか否かを判定する(ステップST2b)。このとき、NaがNxを超えていれば、通知先ノードの数を絞る処理に移行する(ステップST5b)。
一方、NaがNxを超えていなければ、自律的ネットワーク構成部15は、利用ノード記憶部11に保持している全てのノードについて自ノードによる情報提供が終了した終了時刻Tl(100,y)をそれぞれ読み出して、自ノードの情報提供部10が提供する情報の種類に変化があった時刻T2との差T2−Tl(100,y)を算出する。そして、自ノードに保持されている全てのTl(100,y)についてT2−Tl(100,y)が閾値Txl未満となるノードを特定し、この条件を満たすノード数nを求める(ステップST3b)。
続いて、自律的ネットワーク構成部15は、nが0より大きいか否かを判定する(ステップST4b)。ここで、nが0を超えていれば、ステップST5bの処理に移行して通知先ノードの数を制限する。また、nが0以下であれば、ステップST6bに進み、対象ネットワーク内の全てのノードに通知を行う処理を実行する。
これにより、直近で自ノードを利用したノードに対してのみ通知を行うことができ、直近に提供した情報により関連性の高いノードのみを変更通知の通知対象とすることができる。この結果、ノード100が提供する情報の種類の変化に関して、変更通知が必要とされるノードに対してのみ順次通知され、必要のないノードには通知が届かず、余分な処理を行わないで済む。
ノード100と直接情報のやり取りをしないノード105が当該ノード100の提供する情報を必要とした場合、ノード105の他ノード提供情報検索部13が対象ネットワーク内の全てのノードに対して一度検索を実行し、検索結果として発見したノード100から情報を受ける。これにより、この後にノード100の提供情報に変更があっても、ノード105は、その変更通知を上述のようにして受けることができる。
この場合、ネットワーク内のノード全てに検索要求22を出しその返答を待つため、ネットワーク全体に対する検索には時間がかかるが、それまでノード100とノード105との関連が薄く、ノード100に関する情報をノード105が受けることに対する処理能力、処理時間の減少も同時に達成されている。これにより、全体としてノード105の処理効率の向上が見込まれることになる。
以上のように、この実施の形態1によれば、他ノードからの情報提供に関する情報を保持する他ノード提供情報保持部12と、他ノード提供情報保持部12に記憶した情報に基づいて自ノードに必要な情報を提供するノードを検索する他ノード情報提供検索部13と、他ノードに情報提供する情報提供部10と、他ノードと自律的に情報をやり取りするネットワークを構成し、当該ネットワーク上の他ノードに対して、自ノードの情報提供部が提供する情報の変更通知を送信する自律的ネットワーク構成部15とを備えるので、必要な情報を提供するサービスを行っているノードを効率的に検索することができ、また無駄な通知を削減できることから、システム内のノードの処理性能を有効に活用できる。
なお、上記実施の形態1では、ノードの構成として図1に示すような情報提供部10を有するものを示したが、本発明は図1のノード1のみから対象ネットワークを構成する態様に限定されるものではない。例えば、図6に示すノード構成が考えられる。図6中のノード1Aでは、図1の構成のうち、情報提供に関する情報提供部10及び利用ノード記憶部11、他ノード提供情報保持部12、ノード数保持部14を省略している。
なお、図6で示されるノード1Aは、アプリケーション50による処理で他ノードからの情報提供が必要になった場合、その都度他ノード提供情報検索部13がネットワーク内の全てのノードを検索して必要な情報を提供するノードを検索することになる。このように情報提供が必要なときにその都度検索するのであれば、情報の提供側でその情報に変更があったとしても、その変更後の情報を検索要求すればよいのであるから、変更通知を送信するのは無駄である。
そこで、ノード1Aが他のノードから情報提供を受けた場合、この情報を提供をした側のノードでは、自己を利用したノードとしてノード1Aに関する情報を利用ノード記憶部11に保持しないようにする。これにより、変更通知を送る必要のないノードを通知先から除外することができ、上記実施の形態1と同様の処理を行うことができ、同様の効果が得られる。
また、上述した図6に示す構成の他、対象ネットワーク内に図7に示すような構成のノードが存在しても良い。図7に示す構成は、図6と同様に情報提供に関する構成要素が一切省略されているが、他ノード提供情報保持部12を有する点で異なる。このノード1Bでは、アプリケーション50による処理で他ノードからの情報提供が必要になった場合、他ノード提供情報保持部12に保持される情報に基づいて他ノード提供情報検索部13がネットワーク内の必要な情報を提供するノードを検索することになる。この構成であっても、情報提供が必要なときにその都度検索するので、その変更後の情報を検索要求すればよいのであるから、変更通知を送信するのは無駄である。
そこで、ノード1Bが他のノードから情報提供を受けた場合、この情報を提供をした側のノードでは、自己を利用したノードとしてノード1Bに関する情報を利用ノード記憶部11に保持しないようにする。これにより、変更通知を送る必要のないノードを通知先から除外することができ、同様の効果が得られる。
なお、上記実施の形態1において、適用対象とするネットワークの形態等に応じて、通知ホップ数の計算式を適宜改良することで、変更通知が不必要なノードに対して当該変更が通知されることを減少させることができ、この結果として各ノードにおける無駄な通知に要する処理を減らすことができる。
このように、各ノードにおける不必要な処理が削減することにより、各ノードの処理性能を他に振り分けることが可能となる。つまり、本発明を適用することにより、同じ性能のノードに多くの処理を行わせることができたり、また稼働時間の減少が見込めるため、例えば、ノードがバッテリ駆動してる場合のバッテリのもちを長くするといった効果も期待できる。
1,100〜106 ノード、10 情報提供部、11 利用ノード記憶部、12 他ノード提供情報保持部、13 他ノード提供情報検索部、14 ノード数保持部、15 自律的ネットワーク構成部、20 情報提供要求信号、21 記憶要求信号、22 検索要求信号、23 ネットワーク構成に関する信号、50 アプリケーション。
Claims (9)
- 論理的ネットワーク上の複数のノードからなる通信システムにおいて、
前記ノードは、他ノードからの情報提供に関する情報を保持する手段と、その情報に基づいて自ノードに必要な情報を提供するノードを検索する手段と、自ノードが提供する情報に発生した変更を通知する手段とを備えた通信システム。 - 他ノードからの情報提供に関する情報を保持する他ノード提供情報保持部と、
前記他ノード提供情報保持部に記憶した情報に基づいて自ノードに必要な情報を提供するノードを検索する他ノード情報提供検索部と、
他ノードに情報提供する情報提供部と、
他ノードと自律的に情報をやり取りするネットワークを構成し、当該ネットワーク上の他ノードに対して、自ノードの情報提供部が提供する情報の変更通知を送信する自律的ネットワーク構成部とを備えたノード。 - 自ノードの情報提供部が情報提供したノード、そのノードによる前記情報提供部の利用時刻及び利用ノード数に関する情報を記憶する利用ノード記憶部を備え、
自律的ネットワーク構成部は、情報の変更時刻と他ノードによる利用時刻とに基づいて、自ノードの情報提供部が情報提供したノードのうちから当該変更に係る情報と関連性のあるノードを判定し、変更通知の通知先ノードとすることを特徴とする請求項2記載のノード。 - 自律的ネットワーク構成部により構成されたネットワーク上のノード数を保持するノード数保持部を備え、
前記自律的ネットワーク構成部は、ノード数保持部のノード数と自ノードの利用ノード数とに基づいてネットワーク内のノードが情報のやり取りを行うノード数を示す通知ポップ数を算出し、自ノードの情報提供部が情報提供したノードとの間で前記通知ポップ数をやり取りする毎にその値を減算すると共に、自ノードに通知された通知ポップ数に応じて他ノードから受信した変更通知の通知可否を判定することを特徴とする請求項2又は請求項3記載のノード。 - 自律的ネットワーク構成部は、情報提供部を有さず、ネットワーク内のノードを検索してその情報提供を受ける他ノード提供情報検索部を有するノードを変更通知の通知先ノードから除外することを特徴とする請求項2から請求項4のうちのいずれか1項記載のノード。
- 自律的ネットワーク構成部は、情報提供部を有さず、他ノードからの情報提供に関する情報を保持する他ノード提供情報保持部と、前記他ノード提供情報保持部に記憶した情報に基づいて自ノードに必要な情報を提供するノードを検索する他ノード情報提供検索部を有するノードを変更通知の通知先ノードから除外することを特徴とする請求項2から請求項4のうちのいずれか1項記載のノード。
- 論理的ネットワーク上の複数のノードでやり取りされる情報の変更通知方法において、
前記ノードが、自ノードの提供情報に変更が発生するとその変更通知と共に、前記利用ノード数及び前記ネットワーク内のノード数に基づいて前記ネットワーク内のノードが情報のやり取りを行うノード数を示す通知ポップ数を算出して送信するステップと、
前記変更通知及び前記通知ポップ数を受信したノードが、前記変更通知によって前記ノードの提供情報に変更が生じたことを認識すると共に、当該変更通知を他ノードに送信するか否かを前記通知ポップ数に応じて判定し、送信する場合には当該通知ポップ数を減算した値を新たな通知ポップ数として算出して送信するステップとを備えた変更通知方法。 - 論理的ネットワーク上のノードを構成するコンピュータに実行させるプログラムにおいて、請求項2から請求項6のうちのいずれか1項記載のノードとして前記コンピュータを機能させるプログラム。
- 請求項8記載のプログラムを記憶するコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005168547A JP2006343970A (ja) | 2005-06-08 | 2005-06-08 | 通信システム、ノード、変更通知方法及びプログラム並びに記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005168547A JP2006343970A (ja) | 2005-06-08 | 2005-06-08 | 通信システム、ノード、変更通知方法及びプログラム並びに記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006343970A true JP2006343970A (ja) | 2006-12-21 |
Family
ID=37640902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005168547A Pending JP2006343970A (ja) | 2005-06-08 | 2005-06-08 | 通信システム、ノード、変更通知方法及びプログラム並びに記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006343970A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010044483A (ja) * | 2008-08-11 | 2010-02-25 | Kddi Corp | 膨大なノード群で構成されるネットワークを制御する方法、該方法を実行するノードおよび制御プログラム |
-
2005
- 2005-06-08 JP JP2005168547A patent/JP2006343970A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010044483A (ja) * | 2008-08-11 | 2010-02-25 | Kddi Corp | 膨大なノード群で構成されるネットワークを制御する方法、該方法を実行するノードおよび制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5722455B2 (ja) | ネットワークにおけるメッセージおよび計算オーバーヘッドの軽減 | |
JP6204510B2 (ja) | ハイブリッドネットワーク内のトポロジ発見 | |
JP6047229B2 (ja) | 情報中心ネットワークにおける名前ベースの近隣探索及びマルチホップサービス探索 | |
JP5438225B2 (ja) | 群知能を利用する大規模分散型システムにおける情報ルーティングのために枠組みを利用するシステムおよび方法 | |
US8447849B2 (en) | Negotiated parent joining in directed acyclic graphs (DAGS) | |
EP2892188B1 (en) | Method for determining packet forwarding path, network device and control device | |
EP3041198B1 (en) | Finding services in a service-oriented architecture (soa) network | |
WO2015043413A1 (en) | Method and device for sending requests | |
EP3338416B1 (en) | Reducing flooding of link state changes in networks | |
JP5622942B2 (ja) | ルーティング情報のルックアヘッド計算 | |
US10979340B2 (en) | Link state addition and deletion based on reception of a single message in link state vector routing | |
WO2015027406A1 (zh) | 一种无线传感网络中首选父节点的选择方法及装置 | |
JP2008052340A (ja) | オーバーレイネットワークでピア・ツー・ピアのファイル送受信を行うコンピュータプログラム | |
CN112039775A (zh) | 一种实现kad网络节点快速路由的方法和系统 | |
WO2017059699A1 (zh) | 路径计算方法及装置 | |
US8045545B2 (en) | Intelligent database exchange for OSPF | |
US11088937B1 (en) | System and method for synchronized route update | |
JP2006343970A (ja) | 通信システム、ノード、変更通知方法及びプログラム並びに記憶媒体 | |
JP2009218811A (ja) | 無線通信装置、無線通信方法及び無線通信プログラム | |
EP3020163B1 (en) | Interworking between first protocol entity of stream reservation protocol and second protocol entity of routing protocol | |
US8798050B1 (en) | Re-optimization of loosely routed P2MP-TE sub-trees | |
JP2015220699A (ja) | キャッシュノードの探索方法 | |
US11909623B2 (en) | Device presence method and system for mesh network management | |
JP2007158907A (ja) | 経路選択方法、経路選択プログラムおよび経路選択装置 | |
CN110830370B (zh) | 一种基于ospf协议的ibgp传递路由更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071005 |