米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 日本電気株式会社

発明の名称 信頼度を用いた複数のノード間における共有情報の管理方法
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2001−7825(P2001−7825A)
公開日 平成13年1月12日(2001.1.12)
出願番号 特願平11−175148
出願日 平成11年6月22日(1999.6.22)
代理人 【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
【テーマコード(参考)】
5K030
5K032
5K042
9A001
【Fターム(参考)】
5K030 GA11 HB08 KA07 LD02 LE05 
5K032 BA08 CC10
5K042 AA01 CA05 CA13 CA16 DA11 EA02 EA14 FA08 FA15 GA01 GA11 GA17
9A001 BB04 CC07 CC08 FF03 JJ12 LL02 LL09
発明者 城島 貴弘
要約 目的


構成
特許請求の範囲
【請求項1】 他ノードとの間でブロードキャスト型通信およびユニキャスト型通信が可能なネットワーク上に分散配置された個々のノードで、同じ通信グループに所属するノードの情報を保持して管理する方法において、(a)各ノードのノード表に付与したその保持情報の信頼度を示す数値を、その信頼度の変動要因の発生時に変更するステップと、(b)同じ通信グループに所属するノード間において、より信頼度の高いノード表の内容に他ノードのノード表を一致させるステップと、を含むことを特徴とする信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項2】 自ノードと同じグループへの参加を希望する新たなノードからブロードキャストされた登録要求電文の受信、自ノードと同じグループに所属する他ノードからブロードキャストされた脱退要求電文の受信の少なくとも一方を、自ノード表の保持情報の信頼度を向上させる変動要因とすることを特徴とする請求項1記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項3】 時間の経過を、自ノード表の保持情報の信頼度を低下させる変動要因とすることを特徴とする請求項1または2記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項4】 前記ステップbは、自ノードと同じグループへの参加を希望する新たなノードからブロードキャストされた検索要求電文を受信したノードが複数存在した場合に、その複数のノードのうちノード表の信頼度が最も高いノードが、自ノードのノード表の保持情報および自ノード表の信頼度を含む検索結果電文を優先的にブロードキャストする処理を含むことを特徴とする請求項1記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項5】 前記ステップbは、自ノードと同じグループへの参加を希望する新たなノードからブロードキャストされた検索要求電文を受信したノードが、自ノード表の信頼度が低いほど長くなる遅延時間を求め、その遅延時間以内に他ノードからの検索結果電文を受信しなかった場合に限って、自ノードのノード表の保持情報および自ノード表の信頼度を含む検索結果電文をブロードキャストする処理を含むことを特徴とする請求項1記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項6】 他ノードから検索結果電文を受信したノードが検索要求電文をブロードキャストしたノードの場合は、受信した検索結果電文中のノード表の内容およびノード表の信頼度を、それぞれ自ノード表の内容および信頼度として設定することを特徴とする請求項4または5記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項7】 他ノードから検索結果電文を受信したノードが検索要求電文をブロードキャストしたノード以外のノードの場合は、受信した検索結果電文中のノード表の信頼度と自ノード表の信頼度とを比較し、自ノード表の方が信頼度が低いときは、受信したノード表の内容およびノード表の信頼度を、それぞれ自ノード表の内容および信頼度として設定することを特徴とする請求項4または5記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項8】 自ノード表の方が受信した検索結果電文中のノード表より信頼度が高いときは、受信したノード表の内容で自ノード表を更新しないことを特徴とする請求項7記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項9】 自ノード表の信頼度と受信した検索結果電文中のノード表の信頼度とが等しいときは、相違するノードの情報を洗い出し、相違するノードの情報毎にそのノードの情報を使って実際に通信を試みて真偽を判定し、その判定結果に基づいて自ノード表の保持情報を訂正することを特徴とする請求項7または8記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項10】 前記ステップbは、各ノードが、自ノード表の信頼度が高いほど短くなる時間間隔で、自ノードのノード表の保持情報および自ノード表の信頼度を含む同期検索結果電文をブロードキャストし、且つ、自ノード表の信頼度を示す数値を、信頼度が低下する側に変更する処理を含むことを特徴とする請求項1記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項11】 前記ステップbは、各ノードが、自ノード表の信頼度が低いほど長くなるタイマ時間を求めてタイマに設定し、タイマがタイムアップするまでに他ノードから同期検索結果電文を受信しなかった場合に限って、自ノードのノード表の保持情報および自ノード表の信頼度を含む同期検索結果電文をブロードキャストし、且つ、自ノード表の信頼度を示す数値を、信頼度が低下する側に変更し、タイマ時間を再計算してタイマを再設定する処理を含むことを特徴とする請求項1記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項12】 他ノードから同期検索結果電文を受信したノードは、受信した同期検索結果電文中のノード表の信頼度と自ノード表の信頼度とを比較し、自ノード表の方が信頼度が低いときは、受信したノード表の内容およびノード表の信頼度を、それぞれ自ノード表の内容および信頼度として設定し、更に自ノード表の信頼度を示す数値を、信頼度が低下する側に変更し、タイマ時間を再計算してタイマを再設定する処理を含むことを特徴とする請求項11記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項13】 自ノード表の方が受信した同期検索結果電文中のノード表より信頼度が高いときは、受信したノード表の内容および信頼度で自ノード表の内容および信頼度を更新しないことを特徴とする請求項12記載の信頼度を用いた複数のノード間における共有情報の管理方法。
【請求項14】 自ノード表の信頼度と受信した同期検索結果電文中のノード表の信頼度とが等しいときは、相違するノードの情報を洗い出し、相違するノードの情報毎にそのノードの情報を使って実際に通信を試みて真偽を判定し、その判定結果に基づいて自ノード表の保持情報を訂正し、更に自ノード表の信頼度を示す数値を、信頼度が低下する側に変更し、タイマ時間を再計算してタイマを再設定する処理を含むことを特徴とする請求項12または13記載の信頼度を用いた複数のノード間における共有情報の管理方法。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、ネットワーク上に分散された複数のノード間で、通信を行うための情報を共有する方法に関し、特に共有情報を現状に合致するように管理する方法に関する。
【0002】
【従来の技術】多数のノード(コンピュータ)が接続されたネットワークにおけるノード間通信には、1つのノードからネットワーク内の複数のノードに向けて一斉に電文を送信し、複数のホストが同時に同じ電文を受け取るブロードキャスト型通信と、1つのノードからネットワーク内の1つのノードに向けて電文を送信する1対1の2者間によるユニキャスト型通信の2種類が存在する。後者のユニキャスト型通信では、ネットワーク上に多数存在するノードの内から或る1つのノードを宛先情報で指定して通信する。このため、ブロードキャスト型通信以外にユニキャスト型通信をサポートするネットワークでは、ネットワークに接続している個々のノードは、他にどのようなノードがネットワークに接続されているかを認識できる必要がある。
【0003】ネットワークにどのようなノードが接続されているかを、各ノードが知りえるようにする仕組みに、ネットワークに接続されているノードの情報を全ノードで共有化する方法がある。そして、その共有化には集中型と分散型との2通りの方法がある。
【0004】集中型の共有化方法は、特定のノードをネットワーク管理サーバとし、このネットワーク管理サーバでノード情報を管理し、他のノードはネットワーク管理サーバから必要な情報を参照する方法である。しかし、この方法では、全ノードがネットワーク管理サーバの所在を記憶しておく必要があり、またネットワーク管理サーバを常に立ち上げて動作させておく必要がある。更に、ネットワーク管理サーバが停止した場合に他のノードはノード情報を一切入手できなくなる。共有化による方法の一変形例を開示した特開平4−157940号公報に記載の技術では、全てのノードにネットワーク管理サーバとしての機能を付加し、任意のノードを必要に応じてネットワーク管理サーバに変更し、機能させることにより、ネットワーク管理サーバを何れかのノードに固定化することによる問題を解消している。しかし、現にネットワーク管理サーバとなっているノードが、その権限を他のノードに委譲する前に突然異常終了(アボート等)したり、一時的に動作できない(電源OFF等)状態になった場合、他のノードがノード情報を一切入手できなくなる点に変わりはない。
【0005】他方、分散型の共有化方法では、ネットワークに接続する個々のノード側で、当該ネットワークに接続されているノードの情報を保持、管理する。従って、特定のノードをネットワーク管理サーバとして稼働させておく必要がなく、また特定のノードの異常停止によってノード情報が得られなくなるという問題もない。但し、この分散型の共有化方法では、ノード情報が分散しているが故に、各ノードの保有するノード情報を維持管理する仕組みの善し悪しが共有化情報の精度を大きく左右することになる。
【0006】ネットワークに接続されたノードの情報を分散型で共有化する方法の一例が、特願平10−053988号に添付の明細書および図面(以下、文献1と称す)に記載されている。以下、文献1に記載の技術について説明する。
【0007】文献1に記載の通信形態では、ネットワーク上に分散して配置されている複数のノードが動的にグループを作って、グループ内でのユニキャスト通信を実現する。今、動的に作成されるグループをGとし、グループGに所属するノードが1つも存在しない初期の状態を考える。この状態で、ノードAがグループGに参加する場合、自ノードのノード情報とグループGの指定とを含む登録要求電文をネットワークにブロードキャストする。今の場合、他の参加者は存在しないため、ノードAは登録要求電文に対する応答を受信できない。このようなとき、ノードAは自身が最初の参加者であるため初期ノードとなり、自身のノード表aに自ノードAの情報を登録する。図26(a)はこの時点の状態を示している。
【0008】次にノードBがグループGに参加するものとする。ノードAと同様にノードBは、自ノードの情報とグループGの指定を含む登録要求電文をネットワークにブロードキャストし、その応答を待つ。今の場合、ノードAが既にグループGに参加しているので、ノードAが登録要求電文を受信し、この電文からノードBの情報を取得してノード表aに追加し、登録完了電文をネットワークにブロードキャストする。ノードBは登録完了電文を受信することにより、既参加者の存在を認識し、次に、保有するノード情報を送信するよう要求する検索要求電文をネットワークにブロードキャストし、その応答を待つ。ノードAは検索要求電文を受信すると、ノード表aの内容を含む検索結果電文をネットワークにブロードキャストする。ノードBは検索結果電文を受信すると、その電文からノード情報を取り出し、自ノードのノード表bに格納する。図26(b)はこの時点の状態を示しており、ノードA,Bのノード表a,bにそれぞれのノード情報が登録されている。
【0009】以上のようにして、新たな参加ノードが生じる毎に、登録要求電文によって既存ノードのノード表が更新され、その更新後のノード表の内容が検索結果電文によって新参加者に通知されることで、全参加者で同じノード情報を共有することができる。
【0010】また、グループからの脱退時には、脱退したノードの情報が他のノードのノード表から削除される。例えば、ノードA,B,C,Dの4つのノードが参加しているグループGにおいて、ノードDが脱退する場合、ノードDは自ノード情報とグループGとを指定した脱退要求電文をネットワーク上にブロードキャストする。他のノードA,B,Cは脱退要求電文を受信すると、各自のノード表からノードDのノード情報を削除する。これにより、グループに参加中の各ノードの保有するノード情報が最新の状態を示すように維持される。
【0011】さらに、文献1では、応答電文の氾濫による一時的なネットワークの飽和を防止する為と、ネットワーク障害などにより登録要求電文や脱退要求電文を受信し損ねたノードにおける現状に合致しないノード表の訂正とを実現するために、以下のような方法を採用している。
【0012】まず、登録要求電文に対する登録完了電文、検索要求電文に対する検索結果電文をブロードキャストしようとする各ノードは、乱数によって遅延時間を求め、その遅延時間以内に同じ内容の電文を受信しなかった場合に限って、当該電文をブロードキャストする。検索結果電文のブロードキャストを例にすると、その動作は以下のようになる。
【0013】例えば、グループGにノードA,B,Cが参加している状態で、ノードDが新たに参加するために登録要求電文をブロードキャストし、その応答として何れかのノードA,B,Cから登録完了電文を受信したために、検索要求電文をブロードキャストしたとする。この状態を図26(c)に示す。図中の実線がノードDからブロードキャストされた検索要求電文である。各ノードA,B,Cでは自ノードのノード表の内容を含む検索結果電文をブロードキャストするまでの遅延時間を乱数によって求める。今、ノードA,B,Cで求められた遅延時間をそれぞれtA、tB、tCとし、tA<tB<tCとすると、先ず最初にノードAが検索結果電文をブロードキャストする。図26(c)の破線がそれである。ノードB,Cでは、このノードAがブロードキャストした検索結果電文を受信すると、自ノードからの検索結果電文のブロードキャストを中止する。これにより、一次的なネットワークの飽和を防ぐ。このような送信方法を文献1では遅延送信と呼んでいる。
【0014】また、ブロードキャストされた検索結果電文を既存ノードが受信したとき、自ノードのノード表と比較し、受信した検索結果電文中のノード情報に、自ノードのノード表にないノードの情報が含まれていた場合、その情報を自ノード表に追加する。例えば、図26(c)の状態において、ノードDがブロードキャストした登録要求電文を、例えばノードA,Bは受信できたが、ノードCは受信できなかった場合、ノードCのノード表にはノードDの情報は追加されない。しかし、ノードDがノードAまたはノードBから登録完了電文を受信したために検索要求電文をブロードキャストしたとき、例えば前述のようにノードAが自ノード表の内容を含む検索結果電文をブロードキャストしたとすると、ノードCがこれを受信して自ノード表と比較し、ノードDの情報が抜けていることが分かり、自ノード表にノードDの情報を追加することで、現状に合致したノード表に訂正することが可能である。図26(d)にこのような訂正が行われている様子を示す。図中、点線がノードAからブロードキャストされた図26(c)の検索結果電文であり、c’はノードCの訂正されたノード表である。
【0015】
【発明が解決しようとする課題】ネットワーク上にどのようなノードが接続されているかを示すノード情報を分散型で共有する方法では、前述したように、各ノードの保有するノード情報を維持管理する仕組みの善し悪しが共有化情報の精度を大きく左右することになる。かかる観点から見ると、上述した文献1記載の技術には、解決すべき課題が残されている。
【0016】その1つは、文献1に記載の技術では、現状に合致しないノード表、つまり誤ったノード表が他のノードに伝染する危険性が高いことである。
【0017】例えば、グループGにノードA,B,C,Dが存在し、全てのノードのノード表が同じ内容になっている理想的な状態において、ノードDがグループから脱退した際、ノードDからブロードキャストされる脱退要求電文をノードAのみが受信し損なったとすると、ノードAのノード表aが現状に合致しないものとなる。このような状態で、図27に示すように、新たなノードEがグループGに参加したときに、ノードAがノードEからの検索要求電文に応答してノード表aの内容を含む検索結果電文を他のノードB,Cより先にブロードキャストしたとすると、ノードEのノード表、ノードB,Cのノード表はそれぞれ図27のe,b’,c’のようになってしまう。つまり、現状に合致しない誤ったノード表が全ノードに伝染してしまう。
【0018】そこで本発明の1つの目的は、誤ったノード表が他のノードに伝染する危険性を少なくすることにある。
【0019】また文献1記載の技術の他の課題は、検索結果電文が新規ノードの起動時(参加時)にしかブロードキャストされないため、新規にノードが起動しない場合には、各ノードのノード表が誤ったままの状態で長期間にわたって放置される可能性があることである。
【0020】そこで本発明の別の目的は、各ノードのノード表が誤ったままの状態で長期間放置されるのを防止することにある。
【0021】
【課題を解決するための手段】本発明は、他ノードとの間でブロードキャスト型通信およびユニキャスト型通信が可能なネットワーク上に分散配置された個々のノードで、同じ通信グループに所属するノードの情報を保持して管理する方法において、(a)各ノードのノード表に付与したその保持情報の信頼度を示す数値を、その信頼度の変動要因の発生時に変更するステップと、(b)同じ通信グループに所属するノード間において、より信頼度の高いノード表の内容に他ノードのノード表を一致させるステップと、を含むことを特徴とする。
【0022】このように、各ノードのノード表にその保持情報の信頼度を示す数値を付与し、その信頼度の変動要因の発生時に当該数値を変更することで、各ノード表の信頼度を管理し、同じ通信グループに所属するノード間において、より信頼度の高いノード表の内容に他ノードのノード表を一致させる処理を実行することにより、誤ったノード表が他のノードに伝染する危険性を少なくできるのは勿論のこと、現状により合致したノード表で他ノードの誤ったノード表を訂正することが可能となる。
【0023】各ノードのノード表に付与した信頼度の変動要因には、信頼度を向上させる変動要因と低下させる変動要因とがある。
【0024】自ノードと同じグループへの参加を希望する新たなノードからブロードキャストされた登録要求電文を受信したという事象は、その電文を受信し損なったノードに比べて正常に機能していたことを示し、そのノード表に参加者のノード情報が追加される契機となるので、信頼度を向上させる変動要因の1つとすることができる。また、自ノードと同じグループに所属する他ノードからブロードキャストされた脱退要求電文を受信したという事象も、その電文を受信し損なったノードに比べて正常に機能していたことを示し、そのノード表から脱退者のノード情報が削除される契機となるので、信頼度を向上させる変動要因の1つとすることができる。
【0025】他方、信頼度を低下させる変動要因は、信頼度を向上させる変動要因と異なって検出することが不可能な事象が多い。例えば、自ノードが登録要求電文や脱退要求電文を受信し損なったという事象を自ノードで検出するのは困難である。そこで本発明では、時間が経過すればするほど、受信し損なっている確率が高まる等の観点や一般に情報は時の経過につれ古くなるという考えに基づき、時間の経過を、ノード表の信頼度を低下させる変動要因としている。
【0026】なお、本明細書において、通信グループとは、文献1に示されるように、ネットワーク上に分散して配置されている複数のノードが互いに関係付けられて動的なグループを形成する通信形態では、その個々のグループを意味する。また、このような動的なグループ形成を行わず、ネットワークに接続されたノード全ての間でノード間通信を行う通信形態では、ネットワーク全体を意味する。
【0027】同じ通信グループに属するノード間において、より信頼度の高いノード表の内容に他ノードのノード表を一致させる処理は、種々考えられる。
【0028】本発明では、その1つとして、自ノードと同じグループへの参加を希望する新たなノードからブロードキャストされた検索要求電文を受信したノードが複数存在した場合に、その複数のノードのうちノード表の信頼度が最も高いノードが、自ノードのノード表の保持情報および自ノード表の信頼度を含む検索結果電文を優先的にブロードキャストする処理を採用している。より具体的には、自ノードと同じグループへの参加を希望する新たなノードからブロードキャストされた検索要求電文を受信したノードが、自ノード表の信頼度が低いほど長くなる遅延時間を求め、その遅延時間以内に他ノードからの検索結果電文を受信しなかった場合に限って、自ノードのノード表の保持情報および自ノード表の信頼度を含む検索結果電文をブロードキャストする。
【0029】このように検索要求電文に対する応答である検索結果電文を、より信頼度の高いノードから信頼度の情報を付けてブロードキャストすることにより、他ノードから検索結果電文を受信したノードが検索要求電文をブロードキャストしたノード(つまり新規に参加したノード)の場合は、受信した検索結果電文中のノード表の内容およびノード表の信頼度を、それぞれ自ノード表の内容および信頼度として設定することで、より信頼度の高いノード表の内容を、グループに参加するノードに設定することができる。また、他ノードから検索結果電文を受信したノードが検索要求電文をブロードキャストしたノード以外のノード(つまり既に参加中のノード)の場合は、受信した検索結果電文中のノード表の信頼度と自ノード表の信頼度とを比較し、自ノード表の方が信頼度が低いときは、受信したノード表の内容およびノード表の信頼度を、それぞれ自ノード表の内容および信頼度として設定することで、より信頼度の高いノード表の内容で、既に参加中のノードのノード表を訂正することができる。なお、自ノード表の方が受信した検索結果電文中のノード表より信頼度が高いときは、受信したノード表の内容で自ノード表を更新しない。さらに、自ノード表の信頼度と受信した検索結果電文中のノード表の信頼度とが等しいときは、一実施例として今回受信したノード表を無視するようにしても良く、他の実施例として、相違するノードの情報を洗い出し、相違するノードの情報毎にそのノードの情報を使って実際に通信を試みて真偽を判定し、その判定結果に基づいて自ノード表の保持情報を訂正するようにしても良い。
【0030】また、同じ通信グループに属するノード間においてより信頼度の高いノード表の内容に他ノードのノード表を一致させる他の処理として、本発明は、各ノードが、自ノード表の信頼度が高いほど短くなる時間間隔で、自ノードのノード表の保持情報および自ノード表の信頼度を含む同期検索結果電文をブロードキャストする処理を採用している。より具体的には、各ノードが、自ノード表の信頼度が低いほど長くなるタイマ時間を求めてタイマに設定し、タイマがタイムアップするまでに他ノードから同期検索結果電文を受信しなかった場合に限って、自ノードのノード表の保持情報および自ノード表の信頼度を含む同期検索結果電文をブロードキャストする。なお、このとき、自ノード表の信頼度を示す数値を、信頼度が低下する側に変更し、タイマ時間を再計算してタイマを再設定する。信頼度を低下させるのは時間が経過したためであり、タイマ時間を再計算するのは信頼度が変わったためであり、タイマを再設定するのは新たに求められたタイマ時間の計時を開始するためである。
【0031】このように同期検索結果電文を、より信頼度の高いノードほど短い時間間隔でブロードキャストすることにより、他ノードから同期検索結果電文を受信したノードが、受信した同期検索結果電文中のノード表の信頼度と自ノード表の信頼度とを比較し、自ノード表の方が信頼度が低いときに、受信したノード表の内容およびノード表の信頼度を、それぞれ自ノード表の内容および信頼度として設定することにより、より信頼度の高いノード表の内容で、既に参加中のノードのノード表を訂正することができる。そしてこのとき、訂正したノード側では、自ノード表の信頼度を示す数値を、信頼度が低下する側に変更し、タイマ時間を再計算してタイマを再設定する。信頼度を低下させるのは、時間が経過したからであり、タイマ時間を再計算するのは信頼度が変わったからであり、タイマを再設定するのは、自ノードからのブロードキャストを行う時間間隔を延長する為と新たに再計算したタイマ時間で計時を始める為である。つまり、各ノードが定期的にノード情報を送信することにより、新規ノードが参加した場合以外でもノード表の訂正処理を行えるが、それと同時にノード情報の送出間隔を各ノードの信頼度に基づき決定するため、信頼度の低いノードのノード情報をネットワークに送信せずに済み、ネットワークの通信量を減少させることが可能である。
【0032】また、自ノード表の方が受信した同期検索結果電文中のノード表より信頼度が高いときは、受信したノード表の内容および信頼度で自ノード表の内容および信頼度を更新しない。更に、自ノード表の信頼度と受信した同期検索結果電文中のノード表の信頼度とが等しいときは、一実施例として今回受信したノード表を無視するようにしても良く、他の実施例として、相違するノードの情報を洗い出し、相違するノードの情報毎にそのノードの情報を使って実際に通信を試みて真偽を判定し、その判定結果に基づいて自ノード表の保持情報を訂正する。そして、自ノード表の信頼度を示す数値を、信頼度が低下する側に変更し、タイマ時間を再計算してタイマを再設定するようにしても良い。
【0033】
【発明の実施の形態】次に本発明の実施の形態の例について図面を参照して詳細に説明する。
【0034】図1は本発明を適用した通信ネットワークの一例を示すブロック図である。この例の通信ネットワークでは、ネットワーク1上に分散して配置された複数のノード2が動的にグループGを形成しており、各ノード2はグループG内の全てのノードに対するブロードキャスト型通信、およびグループG内の任意の1つのノードに対するユニキャスト型通信を行う。図では、4つのノードがグループGに所属しているが、グループを構成するノード数は任意であり、他のノードがグループGに参加したり、既に参加中のノードがグループGから脱退することも可能である。
【0035】図2は各ノード2の構成例を示す。各ノード2は、ネットワーク1を介して他ノードと通信するための2種類の通信手段、すなわちネットワーク1を介してブロードキャスト型通信を行う同報通信手段3およびネットワーク1を介してユニキャスト型通信を行う単一通信手段4と、自ノードが参加しているグループに属する全ノードのノード情報を保持するノード表データベース(以下、単にノード表と称す)5と、自ノードが参加しているグループに属するノードとブロードキャスト通信やユニキャスト通信を行いつつ各種のアプリケーションを遂行するプログラム本体6と、主にノード情報の維持管理に関連する手段、つまり、信頼度管理手段7、ノード構築手段8、登録脱退要求電文検知手段9、検索結果電文抽出手段10、遅延時間決定手段11、タイマ12、同期周期管理手段13、同期情報送信手段14、ノード情報評価手段15、ノード表修正手段16、ノード情報真偽判定手段17、ノード表管理手段18、アドレス取得手段19、識別子取得手段20を備えている。
【0036】図3にノード表5に保持される情報の例を示す。この例では、3つのノード情報が保持されている。各ノード情報は、グループGに属するノードと1対1に対応しており、ノードの識別子、ノードのアドレス及びポート番号(通信番号)を含んでいる。例えば、「sirosima」という識別子のノード2は、アドレスが「123.45.67.90」、ポート番号が「17655」として記憶されている。
【0037】信頼度管理手段7は、自ノードのノード表5の信頼度を保持して管理する部分である。本実施例の場合、信頼度は、0以上の値をとる数値で表現し、数値が大きくなるほど信頼度が低いとみなす。自ノードが何れのグループにも参加していない場合、ノード表5は空であり、信頼度管理手段7も信頼度を保持していない。自ノードがグループGに参加した時点で、ノード表5にノード情報が登録されると共に信頼度管理手段7に初期の信頼度が設定される。初期の信頼度は、自ノードがグループGの最初の参加者である場合(初期ノードである場合)、十分に大きな値であり、初期ノード以外の通常のノードが持つ信頼度よりも大きい。他方、自ノードが初期ノード以外であった場合、自ノードからブロードキャストした検索要求電文の応答として返信される検索結果電文中の信頼度が、初期の信頼度として設定される。以後、その信頼度の変動要因の発生時に、信頼度管理手段7は信頼度を変更していく。
【0038】登録脱退要求電文検知手段9は、ネットワーク1経由でグループGにブロードキャストされた他ノードからの登録要求電文および脱退要求電文を検知する等の処理を行う。
【0039】検索結果電文抽出手段10は、ネットワーク1経由でグループGにブロードキャストされた他ノードからの信頼度付き検索結果電文および同期検索結果電文を検知する等の処理を行う。
【0040】遅延時間決定手段11は、遅延送信にかかる遅延時間を決定する手段である。特に本実施例では、信頼度付き検索結果電文のブロードキャストに際する遅延時間は信頼度管理手段7に保持されている信頼度に基づき決定する。
【0041】同期情報送信手段14は、自ノードのノード表5の内容に信頼度を付けた同期検索結果電文をネットワーク1経由でグループGに周期的にブロードキャストする等の処理を行う。信頼度を付けた検索結果電文は、自ノードが他ノードから検索要求電文を受信したときに出される検索結果電文(信頼度付き検索結果電文)と、この同期情報送信手段14が出す検索結果電文との2種類があり、両者は電文中で明確に区別される。
【0042】タイマ12は、設定された時間の経過を監視する部分である。また、同期周期管理手段13は、タイマ12に設定するタイマ時間の計算、タイムアウト時における同期情報送信手段14の起動等の処理を司る部分である。タイマ時間は、信頼度管理手段7で現に保持されている信頼度に基づき計算する。また、信頼度が変更されると、タイマ時間の再計算とタイマ12への再設定を行う。
【0043】ノード情報真偽判定手段17は、或るノードの情報を使って実際にネットワーク1経由でユニキャスト通信を試みることにより、そのノードの情報の真偽を判定する手段である。
【0044】ノード表修正手段16は、他ノードから受信した検索結果電文に基づき、自ノードのノード表5にノード情報を追加したり、ノード表5からノード情報を削除する手段である。
【0045】ノード情報評価手段15は、他ノードから受信した検索結果電文中のノード表の信頼度が自ノード表5の信頼度と同じであった場合に、双方のノード表の間で相違するノードの情報を洗い出し、相違するノードの情報毎にノード情報真偽判定手段17でそのノードの情報の真偽を判定し、その判定結果に基づいてノード表修正手段16を使って自ノード表5を訂正する等の処理を司る手段である。
【0046】アドレス取得手段19は、図示しない記憶部に記憶された自ノードのアドレス及びポート番号を取得する手段であり、識別子取得手段20は、図示しない記憶部に記憶された自ノードの識別子を取得する手段である。
【0047】ノード表管理手段18は、ノード表5に記憶されたノード情報の入出力を管理する手段である。
【0048】ノード構築手段8は、自ノードから送信する登録要求電文の作成、他ノードから受信した登録要求電文や脱退要求電文に基づくノード表5の更新、他ノードから受信した検索要求電文に対する検索結果電文の作成、その遅延送信の制御、他ノードから受信した検索結果電文に基づくノード表5の更新、プログラム本体6と同報通信手段3及び単一通信手段4との間のインターフェースなどを行う手段である。
【0049】以下、上述のように構成された各ノードの動作について図面を参照して詳細に説明する。
【0050】(1)新規ノードがグループGへ参加したときの動作図4はグループGに参加していないノードがグループGに参加する際の処理例を示すフローチャートである。
【0051】グループGに参加を希望する新規ノード2のノード構築手段8は、グループG内のノードに対して自己のノード情報の登録を要求する登録要求電文を作成する(ステップS1)。即ち、ノード構築手段8は、アドレス取得手段19を介して自ノードのアドレス及びポート番号を取得すると共に、識別子取得手段20を介して自ノードの識別子を取得し、これらを使用して図5に示すような登録要求電文を作成する。図5において、’register−ADT’は、各ノード2に対して「以下のノード情報をノード表に追加せよ」という命令を示す。’:item ”sirosima+123.45.67.90+17655”’は、追加するノード情報が「識別子がsirosima、アドレスが123.45.67.90、ポート番号が17655」であることを示す。’:domain ”obp.cl.nec.co.jp”’は、「参加するグループ名がobp.cl.nec.co.jp」であることを示す。
【0052】次にノード構築手段8は、作成した登録要求電文を同報通信手段3を介してグループG内の各ノード2にブロードキャストする(ステップS2)。そして、登録要求電文に対する応答を待つ。グループGへのブロードキャストでは、ブロードキャストアドレスとして、obp.cl.nec.co.jpが使用される。
【0053】自ノード以外にグループGに参加している他ノードが存在していた場合、登録要求電文を受信した他ノードのそれぞれにおいて、図6に示す処理が実行される。先ず、ネットワーク1経由で同報通信手段3で受信された電文が、登録要求電文であることが登録脱退要求電文検知手段9で検知され、ノード構築手段8と信頼度管理手段7に通知される(ステップS21)。この通知により、ノード構築手段8はステップS22〜S28の処理を実行し、信頼度管理手段7および同期周期管理手段13はステップS29〜S32の処理を実行する。以下、各々について説明する。
【0054】ノード構築手段8は、登録要求電文から新規ノード2のノード情報を構成する識別子、アドレスおよびポート番号を抽出して取得し(ステップS22)、この取得した識別子が自ノードのノード表5に既に登録されているか否かを調べる(ステップS23)。同じ識別子がノード表5に登録されていない場合、当該登録要求電文は受理可能と判断し、前記取得した識別子、アドレスおよびポート番号からなるノード情報をノード表5に登録する(ステップS24)。次に、ノード構築手段8は、登録完了電文を作成し(ステップS25)、この登録完了電文を、同報通信手段3を介して新規ノード2に遅延送信する(ステップS26)。
【0055】図7に登録完了電文の例を示す。図において、’registered’は、「以下のノードの追加を完了した」ということを示す。’:item ”sirosima+123.45.67.90+17655”’は、追加したノードが「識別子がsirosimaで、アドレスが123.45.67.90で、ポート番号が17655である」ことを示す。’:domain ”obp.cl.nec.co.jp”’は、「参加したグループ名がobp.cl.nec.co.jp」であることを示す。
【0056】また、ノード構築手段8は、取得したノード情報の識別子がノード表5に既に登録されていると判別した場合(ステップS23でYES)、エラー電文を生成し(ステップS27)、新規ノード2へ遅延送信する(ステップS28)。図8にエラー電文の例を示す。’:error”true”’は、「エラーが発生した」ことを示す。’:reason”already−registered”’は、「既に識別子が登録されている」ことを示す。
【0057】他方、信頼度管理手段7は、他ノードからの登録要求電文が自ノードで受信されたので、登録要求時信頼度計算式に従って、新しい信頼度を計算し(ステップS29)、この新しい信頼度を自己ノード表5の信頼度とする(ステップS30)。登録要求時信頼度計算式の例を以下に示す。
【0058】Cup=Cold −Cadd …式(1)
但し、Cup,Cadd ≧0Cold は計算される前の信頼度、Cupは計算後の新しい信頼度である。Caddは信頼度の値の減算を制御する係数で、様々な値を使用することができる。例えば、Cadd =Cold とした場合、登録要求電文を一度受信すると信頼度は最高値の0になる。また、Cadd =1とした場合、登録要求電文を受信する毎に1ずつ信頼度が上がっていく。また、Cadd =Cold ÷2とした場合、登録要求電文を受信する毎に信頼度が2倍となる。Cadd の値は、ネットワークの状態や新規参加ノードの参加頻度に応じて最適な値を設定するのが望ましい。
【0059】信頼度管理手段7は、自己ノードの信頼度を上述のようにして更新すると、同期周期管理手段13に制御を移す。同期周期管理手段13では、以下の同期周期計算式を用いて同期周期を再計算する(ステップS31)。
【0060】
Tnew =Tbase+Tp ×C …式(2)
但し、Tbase>0かつTp >0Tnew は計算された結果新たに導き出された同期周期を示す。Tbaseは、信頼度の値が0(最高値)の場合に用いる同期周期であり、Cは信頼度管理手段7で保持している信頼度を表す。また、Tp は信頼度の同期周期への反映方法を制御する係数である。以上の式よりわかるように、同期周期は信頼度が高く(Cの値が小さく)なればなるほど短くなり、信頼度が低く(Cの値が大きく)なればなるほど長くなる。つまり信頼度が高いノードほど同期周期が短くなる。
【0061】ここで、Tp は様々な例が考えられる。例えば、Tp =Cとした場合、信頼度の2乗に比例して同期周期が大きくなる。また、Tp に乱数を指定すると、同一の計算式を用いても各ノードで異なる同期周期を持つことが可能である。以上、Tnew 、Tbase、Tp の値および同期周期が表す値の単位は、適応領域毎に最適な値を設定するのが望ましい。また、前記同期周期計算式および値および単位は、適応領域中の全てのノードで同一であっても、異なっていてもかまわない。
【0062】同期周期管理手段13は以上のようにして同期周期を計算すると、新たに計算して導き出したTnew でタイマ12を再起動する(ステップS32)。
【0063】以上が、新規参加ノードから登録要求電文を受信したノード側における処理である。
【0064】さて、登録要求電文をブロードキャストした新規ノード2におけるノード構築手段8は、その応答としてエラー電文を同報通信手段3を介して受信したときは(図4のステップS4でYES)、処理を終了する。他方、登録完了電文を同報通信手段3を介して受信したときは(図4のステップS3でYES)、グループG内の各ノードのノード表に記憶されているノード情報に対する検索要求電文を作成し(ステップS5)、同報通信手段3を介してグループGにブロードキャストする(ステップS6)。そして、その応答を待つ。
【0065】図9に検索要求電文の例を示す。’query−ADT’は、各ノード2に対して「以下のノード情報の検索結果を知らせよ」という命令を示す。’:identifier”ALL”’は、「検索対象がグループ内の全てのノード情報である」ことを示す。’:domain”obp.cl.nec.co.jp”’は、「検索するグループ名がobp.cl.nec.co.jpである」ことを示す。
【0066】新規ノード2からブロードキャストされた検索要求電文を受信した他ノードのそれぞれにおいては、図10に示す処理が実行される。先ず、同報通信手段3を介して検索要求電文を受信したノード構築手段8は、ノード表管理手段18を介して、自己のノード表5に記憶されているノード情報を検索し、この検索して取得したノード情報から検索結果電文を作成し(ステップS41)、次に、信頼度管理手段7から自己ノードの信頼度を取得して、上記作成した検索結果電文に付加することで(ステップS42)、信頼度付き検索結果電文を作成する。そして、この信頼度付き検索結果電文を同報通信手段3を介して新規ノード2に遅延送信でブロードキャストする(ステップS43)。
【0067】図11に信頼度付き検索結果電文の例を示す。’inform−ADT’は当該電文が検索結果電文であることを示し、’munber’は次に続く数字が検索結果電文に含まれるノード情報の個数を表していることを示す。’:items’は次に続く文字列がノード情報であることを示し、’:confidence’は次に続く数字が検索結果電文に含まれているノード情報の信頼度を表していることを示す。図11の例では、信頼度付き検索結果電文にノード情報が2つ含まれていることを示し、ノード情報は、“sirosima+123.45.67.90+17655,asakura+123.45.67.89+15436”であり、このノード情報の信頼度は10である。例におけるノード情報は、”,”で区切られた文字列が1つのノードを示し、各ノードの文字列はさらに”+”で区切られた項目を持つ。例における最初のノードは、ノードの識別子が”sirosima”であり、ノードのアドレスが”123.45.67.90”、ノードのポート番号が”17655”であることを示す。
【0068】信頼度付き検索結果電文は、同報通信手段3を用いてグループGにブロードキャスト送信されるため、新規参加ノードのみならず、ネットワーク上のグループGに既に参加している全ノードで受信される。以下、新規参加ノード側の処理と既参加ノード側の処理とにわけて動作を説明する。
【0069】新規ノード2では、信頼度付き検索結果電文が同報通信手段3で受信されると、検索結果電文抽出手段10がそれを検知し、その信頼度付き検索結果電文に含まれるノード情報(以下、受信ノード情報と称す)と信頼度(以下、受信信頼度と称す)を抽出する(図4のステップS7)。抽出された受信ノード情報の一例を図12に示す。この例の受信ノード情報は、各ノードの識別子とそのノードが存在するアドレス、通信に使用するポート番号を項目として含み、例えば図12の1つ目のノード情報では、ノード識別子が“sirosima”で、ノードsirosimaは123.45.67.90が示すアドレスに存在し、ポート番号17655を使用していることがわかる。次いで検索結果電文抽出手段10は、受信ノード情報をノード構築手段8に通知し、受信信頼度を信頼度管理手段7に通知する。
【0070】ノード構築手段8は、通知された受信ノード情報をノード表管理手段18を介してノード表5に登録することにより、ノード表5を構築する(ステップS8)。他方、信頼度管理手段7は、通知された受信信頼度を自己ノードのノード表5の信頼度として登録する(ステップS9)。そして、信頼度管理手段7は同期周期管理手段13を起動する。同期周期管理手段13では、前述した同期周期計算式(2)を用いて同期周期を計算し(ステップS10)、計算して導き出した周期Tnew でタイマ12を起動する(ステップS11)。
【0071】他方、他ノードから信頼度付き検索結果電文を受信した既参加ノードのそれぞれにおいては、図13に示す処理が実行される。先ず、検索結果電文抽出手段10は、同報通信手段3を介して受信した信頼度付き検索結果電文から受信ノード情報と受信信頼度を抽出し(ステップS51)、この抽出された受信ノード情報と受信信頼度をノード構築手段8経由でノード表修正手段16に通知する。
【0072】ノード表修正手段16は、信頼度管理手段7に保持されている自ノード表5の信頼度(以下、自己信頼度と称す)と受信信頼度とを比較し(ステップS52)、自己信頼度の方が受信信頼度より高い(数値的には自己信頼度<受信信頼度)場合には(ステップS52でYES)、受信ノード情報を無視し処理を終了する。
【0073】自己信頼度より受信信頼度の方が高い(数値的には自己信頼度>受信信頼度)場合には(ステップS53でYES)、ノード表修正手段16はノード構築手段8に受信ノード情報を通知し、自ノード表5を修正させる(ステップS54)。つまり、ノード構築手段8は、ノード表5に蓄積されたグループGのノード情報を一旦全て削除し、受信ノード情報をグループGのノード情報としてノード表5に登録する。また、ノード表修正手段16は信頼度管理手段7に受信信頼度を通知し、自ノード表5の信頼度を受信信頼度に変更させる(ステップS55)。そして、自ノード表5の信頼度が変更されたので、信頼度管理手段7は同期周期管理手段13を起動することにより、同期周期の再計算(ステップS56)とタイマ12の再起動(ステップS57)とを行わせる。つまり、同期周期管理手段13は、前述した同期周期計算式(2)を用いて同期周期を計算し、導き出した周期Tnew でタイマ12を再起動する。
【0074】他方、自己信頼度と受信信頼度とが同一の場合(ステップS53でNO)、本実施例においては、受信ノード情報をノード情報評価手段15に通知し、ノード情報評価処理を実行させる(ステップS58)。このノード情報評価処理では、相違するノードの情報を洗い出し、相違するノードの情報毎にそのノードの情報を使って実際に通信を試みて真偽を判定し、その判定結果に基づいて自ノード表5を訂正する処理が行われる。図14にノード情報評価処理の一例を示す。
【0075】先ずノード情報評価手段15は、自己ノード情報と受信ノード情報とを比較することで、双方の情報に相違があるかどうかを検出する(ステップS61)。この比較の方法については様々な手法が考えられる。1つは、各ノード情報に含まれるノード情報の個数を比較し、一致していれば相違無しとして処理を終了し、不一致であれば相違有りとして更に処理を続ける手法である。この手法は処理が簡単である反面、個々のノード情報の相違が識別できない。逆に、1つ1つのノードの情報を比較していき、1つでも相違するノード情報があれば相違有り、無ければ相違無しとする手法を採用しても良い。この手法は正確な比較が可能になるが処理に時間がかかる。よって、本技術の適用領域に応じて、何れかの手法もしくは複数の手法を組み合わせた手法を選択するのが望ましい。
【0076】次に、ステップS61の比較処理において、受信ノード情報と自己ノード情報とに不一致が見られた場合(ステップS62でNO)、相違があるノードの情報(以下、相違ノード情報と称す)を作成する(ステップS63)。例えば、自ノード表5の内容が図15に示すものであり、受信ノード情報が図12に示すものであった場合、作成される相違ノード情報は図16のようになる。図16に示されるように、相違ノード情報は、相違ノードの識別子を示す相違ノード名と、相違ノード名が示すノードの自己ノード情報におけるアドレスとポート番号、受信ノード情報におけるアドレスとポート番号が示されている。例では、自己ノード情報(図15)と受信ノード情報(図12)との相違点であるノードsirosimaとノードiwataに関する情報が記述されている。ノードiwataは受信ノード情報には存在しないため、受信ノード情報に関する項目にはノードが存在しないことを示す”−”が設定されている。
【0077】次にノード情報評価手段15は、相違ノード情報をノード情報真偽判定手段17に通知し、相違点の確認を指示する。ノード情報真偽判定手段17は、相違ノード情報に記された相違ノード名に対してネットワーク1経由でユニキャスト通信の接続を試みる(ステップS64)。相違ノード情報における受信ノードアドレス及び受信ノードポート番号が示すノードに対して接続が成功した場合(ステップS65でYES)、ノード情報評価手段15は、自己ノード情報における当該ノードの情報を受信ノードアドレスおよび受信ノードポート番号に変更するような訂正ノード情報を作成する(ステップS66)。また、相違ノード情報における自己ノードアドレスおよび自己ノードポート番号に対して接続が成功した場合(ステップS67でYES)、何もせず、相違ノード情報におけるどのノード情報に対しても接続が成功しない場合(ステップS67でNO)、自己ノード情報における当該ノード情報を削除するような訂正ノード情報を作成する(ステップS68)。
【0078】ノード情報評価手段15は、全ての相違ノード情報に対して通信を試みた後(ステップS69でNO)、訂正ノード情報が作成されていなければ(ステップS70でNO)、処理を終了する。訂正ノード情報が作成されている場合(ステップS70でYES)、ノード表修正手段16に訂正ノード情報を渡し、ノード表修正手段16はノード構築手段8経由で、ノード表5に保持されている自己ノード情報を訂正ノード情報に従って訂正する(ステップS71)。
【0079】図17に訂正ノード情報の一例を示す。訂正ノード情報は項目として訂正ノード名、アドレス、ポート番号を持つ。例における1行目のノードは、ノード名が”sirosima”であり、このノードの訂正すべきアドレスは”123.45.67.90”であり、通信番号は”17655”であることを示している。また、2行目はノード名”iwata”の情報を削除することを示す。従って、このような訂正ノード情報に基づく訂正が行われることにより、図15に示される自己ノード情報は、図18に示すように訂正される。
【0080】以上により、新規参加ノードが出現した際に発生する検索結果電文に信頼度情報を持たせることができ、信頼度付きの検索結果電文を既参加中ノードが受信した際、検索結果電文に含まれるノード情報が信頼するに足る精度を持っているかどうかの判断が可能となる。よって、信頼度の低い不正確なノード情報を受信しても除外することができ、誤った情報の伝搬を防ぐことが可能となる。
【0081】なお、自ノード以外にグループGに参加しているノードが1つも存在しない場合、登録要求電文に対する応答は返ってこない。この場合(図4のステップS4でNO)、ノード構築手段8は、自ノードが初期ノードであると判断し、ステップS8においてノード表管理手段18を介してノード表5に自ノードの情報を登録し、次のステップS9において信頼度管理手段7に初期の信頼度を設定する。そして、同期周期管理手段13に対して信頼度を設定した旨を通知することにより、同期周期管理手段13で同期周期の計算処理(ステップS10)とタイマ12の起動処理(ステップS11)とを実行させた後、処理を終える。
【0082】次に、新規参加ノードからブロードキャストされた検索要求電文に対する応答である信頼度付き検索結果電文を、図10のステップS43で遅延送信するときの遅延時間の決定方法について説明する。
【0083】同報通信手段3で検索要求電文を受信すると、ノード構築手段8は、後の遅延送信のための遅延時間を決定するため、遅延時間決定手段11に遅延時間の決定を依頼する。遅延時間決定手段11は、信頼度管理手段7から自ノード表5の信頼度を取得し、またシステムに組み込まれている乱数発生手段より乱数を取得し、以下の遅延時間決定計算式を用いて遅延時間を決定する。
D=C÷Cmax ×Rand …式(3)
但し、Cmax >0,Rand ≧0【0084】Dは計算の結果得られた遅延時間であり、Cは自ノード表5の信頼度である。また、Cmax は信頼度の最大値であり、Rand はシステムに組み込まれている乱数発生手段より取得した乱数、もしくは何らかの計算式で得ることができる分散した値である。この計算式からわかるように、信頼度が高い(数値的には値が小さい)ノードほど短い遅延時間を導き出す可能性が高くなる。
【0085】以上の計算の結果導き出された遅延時間Dはノード構築手段8に渡され、遅延送信時の遅延時間として利用される。つまり、ノード構築手段8は、その遅延時間以内に他ノードから検索結果電文を受信しなかった場合に限って、自ノードで作成した信頼度付き検索結果電文をブロードキャストする。
【0086】以上のように、ノードが信頼度付き検索結果電文を遅延送信で返信する際、信頼度のより高いノード情報を持っているノードの遅延時間をより短くすることにより、より精度の高いノード情報が返信される確率を高くすることができる。
【0087】なお、新規参加ノードからブロードキャストされた登録要求電文に対する応答電文の遅延送信における遅延時間は、文献1記載と同様に乱数で決定するようにしても良く、信頼度付き検索結果電文の場合と同様に信頼度に基づいて決定しても良い。
【0088】(2)ノードがグループGから脱退するときの動作図19はグループGに参加していたノードがグループGから脱退する際の処理例を示すフローチャートである。
【0089】グループGから脱退する脱退ノード2のノード構築手段8は、識別子取得手段20を介して自ノードの識別子を取得し、グループG内のノードに対して自己のノード情報の削除を要求する脱退要求電文を作成し(ステップS81)、同報通信手段3を介してグループGの各ノードにブロードキャストする(ステップS82)。
【0090】図20に脱退要求電文の例を示す。’deregister−ADT’は、各ノード2に対して「以下のノード情報をノード表から削除せよ」という命令を示す。’:identifier”sirosima”’は、「削除するノード情報の識別子がsirosimaである」ことを示す。
【0091】この脱退要求電文を受信したグループGの各ノードは、図21に示す処理を実行する。先ず、ネットワーク1経由で同報通信手段3で受信された電文が、脱退要求電文であることが登録脱退要求電文検知手段9で検知され(ステップS91)、ノード構築手段8と信頼度管理手段7に通知される。この通知により、ノード構築手段8はステップS92〜S94の処理を実行し、信頼度管理手段7および同期周期管理手段13はステップS95〜S98の処理を実行する。以下、各々について説明する。
【0092】ノード構築手段8は、脱退要求電文から脱退ノード2の識別子を抽出して取得し(ステップS92)、この取得した識別子が自ノードのノード表5に既に登録されていれば、ノード表5に当該識別子にかかるノード情報を削除する(ステップS93,S94)。
【0093】他方、信頼度管理手段7は、他ノードからの脱退要求電文が自ノードで受信されたので、脱退要求時信頼度計算式に従って、新しい信頼度を計算し(ステップS95)、この新しい信頼度を自己ノード表5の信頼度とする(ステップS96)。脱退要求時信頼度計算式は、前述した登録要求時信頼度計算式を示す式(1)と同じ式を用いることができる。
【0094】信頼度管理手段7は、自己ノードの信頼度を上述のようにして更新すると、同期周期管理手段13に制御を移す。同期周期管理手段13では、前述した式(2)を用いて同期周期を再計算する(ステップS97)。そして、新たに計算して導き出したTnew でタイマ12を再起動する(ステップS98)。
【0095】以上が、脱退ノードから脱退要求電文を受信したノード側における処理である。
【0096】次に、グループGに参加中の各ノードから周期的にブロードキャストされる同期検索結果電文にかかる処理について説明する。
【0097】グループGに参加中の各ノードにおけるタイマ12では、同期周期管理手段13によって同期周期が設定ないし再設定されると、図22に示すように、設定された同期周期を示す時間を一定時間毎に減らしていく(ステップS102)。そして、同期周期の残り時間が0になると(ステップS101でYES)、同期周期管理手段13に対してアラーム情報を通知する(ステップS103)。アラーム情報が同期周期管理手段13に通知された後の当該ノードでの処理例を図23に示す。
【0098】タイマ12からアラーム情報が通知されると、同期周期管理手段13は、まず同期情報送信手段14を起動する。同期情報送信手段14は、ノード構築手段8を介してノード表5の内容、自ノードの識別子、自ノードのアドレス及びポート番号をそれぞれ取得すると共に、信頼度管理手段7から信頼度を取得して、検索要求電文を受信したときに作成する電文と同じ信頼度付き検索結果電文を作成する(ステップS111)。次に、この信頼度付き検索結果電文に同期情報の送信であることを示す情報を付加して同期検索結果電文を作成し(ステップS112)、この同期検索結果電文を同報通信手段3を介してグループG内の全ノードに対してブロードキャストする(ステップS113)。
【0099】同期検索結果電文の例を図24に示す。’:sync on’の文字列が同期検索結果電文であることを示し、その他の項目は信頼度付き検索結果電文と同一である。
【0100】その後、同期周期管理手段13は、同期信頼度計算式に従って自ノード表5の信頼度を再計算し、以前の信頼度より低い(値が大きい)信頼度を導き出す(ステップS114)。同期信頼度計算式の例を次に示す。
Cnew =C+Csub …式(4)
但し、Csub >0【0101】Cnew は計算の結果新たに導き出された信頼度を示す。Csub は信頼度の更新の際にどの程度信頼度を下げるかを決定する係数である。Csub は様々な例が考えられる。例えば、Csub =Cとして良い。この場合、信頼度の更新の度に信頼度が2倍ずつ下がる。また、Csub に乱数を用いても良いし、Csub を前回、同期信頼度計算式で信頼度を計算し直した時刻からの経過時間としても良い。
【0102】同期周期管理手段13は、上述のように新たな信頼度を求めると、それを自ノード表5の信頼度として信頼度管理手段7に設定する(ステップS115)。そして、同期周期管理手段13は、前述した式(2)を用いて同期周期を再計算し(ステップS116)、新たに計算して導き出したTnew でタイマ12を再起動する(ステップS117)。以上により、時間の経過に従って自己ノード情報の信頼度を低くしていく。
【0103】次にブロードキャストされた同期検索結果電文を受信したノード側の処理を、図25のフローチャートを参照して、以下説明する。
【0104】同期検索結果電文はグループGの各ノードの同報通信手段3で受信されて検索結果電文抽出手段10に通知される。検索結果電文抽出手段10は、電文中に同期情報を示す文字列(図24の例では、’:sync on’)が存在することにより同期検索結果電文であることを認識し、その電文に含まれるノード情報(以下、同期ノード情報と称す)と信頼度(以下、同期信頼度と称す)を抽出し(ステップS121)、ノード構築手段8経由でノード表修正手段16に通知する。
【0105】ノード表修正手段16は、信頼度管理手段7に保持されている自ノード表5の自己信頼度と同期信頼度とを比較し(ステップS122)、自己信頼度の方が同期信頼度より高い(数値的には自己信頼度<同期信頼度)場合には(ステップS122でYES)、同期ノード情報を無視し処理を終了する。
【0106】自己信頼度より同期信頼度の方が高い(数値的には自己信頼度>同期信頼度)場合には(ステップS123でYES)、ノード表修正手段16はノード構築手段8に同期ノード情報を通知し、自ノード表5を修正させる(ステップS124)。つまり、ノード構築手段8は、ノード表5に蓄積されたグループGのノード情報を一旦全て削除し、同期ノード情報をグループGのノード情報としてノード表5に登録する。また、ノード表修正手段16は信頼度管理手段7に同期信頼度を通知し、自ノード表5の信頼度を同期信頼度に変更させる(ステップS125)。そして、ステップS127以降の処理へと進む。
【0107】他方、自己信頼度と同期信頼度とが同一の場合(ステップS123でNO)、同期ノード情報をノード情報評価手段15に通知し、ノード情報評価処理を実行させる(ステップS126)。このノード情報評価処理S126の処理は、信頼度付き検索結果電文に対するノード情報評価処理S58と同じく、図14に示すようにして実行される。そして、ステップS127以降の処理へと進む。
【0108】ステップS127以降では、同期検索結果電文の送信側で実施されたステップS114〜S117と同様の処理が実行される。つまり、同期周期管理手段13により同期信頼度計算式(式(4))に従って自ノード表5の信頼度を再計算して以前の信頼度より低い(値が大きい)信頼度を導き出し(ステップS127)、それを自ノード表5の信頼度として信頼度管理手段7に設定する(ステップS128)。次に、同期周期管理手段13は、前述した式(2)を用いて同期周期を再計算し(ステップS129)、新たに計算して導き出したTnew でタイマ12を再起動する(ステップS130)。
【0109】以上の同期検索結果電文による処理は、ネットワーク1上で動作している全てのノードで行う。よって全ノードで同一の同期周期計算式、同期信頼度計算式を用いた場合、或る時点で大量の同期検索結果電文が発生する可能性がある。しかし、同期周期計算式におけるTp もしくは同期信頼度計算式におけるCsub に乱数を用いた場合、各ノードの同期周期が若干ずれる。そうすると、他のノードより若干短い同期周期を持つノードが同期検索結果電文をブロードキャストすると、その電文を受信した各ノードでは信頼度が更新され、新たな同期周期がタイマ12に設定し直される。これにより、同時期に多数の同期検索結果電文が発生するのが防ぐことができる。また、各ノードの同期周期の計算に乱数を用いれば、同期検索結果電文を送信するノードも任意に決定され、処理の分散が可能である。
【0110】
【発明の効果】以上説明したように本発明によれば以下のような効果が得られる。
【0111】各ノードのノード表にその保持情報の信頼度を示す数値を付与し、その信頼度の変動要因の発生時に当該数値を変更することで、各ノード表の信頼度を管理しており、同じ通信グループに所属するノード間において、より信頼度の高いノード表の内容に他ノードのノード表を一致させる処理を実行するため、誤ったノード表が他のノードに伝染する危険性を少なくできるのは勿論のこと、現状により合致したノード表で他ノードの誤ったノード表を訂正することが可能となる。
【0112】検索要求電文に対する応答である信頼度付き検索結果電文を、遅延送信によって、より信頼度の高いノードが優先的にブロードキャストするため、新規に参加したノードに対し、より信頼度の高いノード表の内容を設定することができる。また、既に参加中のノードに対しては、新参加者が出現する毎に、より信頼度の高いノード情報を反映させることができる。
【0113】同期検索結果電文を、より信頼度の高いノードほど短い時間間隔でブロードキャストするようにしたため、各ノードのノード表が誤ったままの状態で長期間にわたって放置されるのが防止される。また、ノード情報の送出間隔を各ノードの信頼度に基づき決定して遅延送信するため、信頼度の低いノードのノード情報をネットワークに送信せずに済み、ネットワークの通信量を減少させることが可能である。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013