JP4339286B2 - ノード間情報共有システム - Google Patents

ノード間情報共有システム Download PDF

Info

Publication number
JP4339286B2
JP4339286B2 JP2005194256A JP2005194256A JP4339286B2 JP 4339286 B2 JP4339286 B2 JP 4339286B2 JP 2005194256 A JP2005194256 A JP 2005194256A JP 2005194256 A JP2005194256 A JP 2005194256A JP 4339286 B2 JP4339286 B2 JP 4339286B2
Authority
JP
Japan
Prior art keywords
node
address
storage unit
group
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005194256A
Other languages
English (en)
Other versions
JP2007011888A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2005194256A priority Critical patent/JP4339286B2/ja
Publication of JP2007011888A publication Critical patent/JP2007011888A/ja
Application granted granted Critical
Publication of JP4339286B2 publication Critical patent/JP4339286B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、ネットワークで接続された分散共有メモリによりノード間でデータ共有を行い、ノード構成を容易に変更可能なノード間情報共有システムに関する。
従来、ネットワークを接続された分散共有メモリにより、ノード間で情報の共有を行うシステムにおいては、該システムにノードが参加/離脱する際には、参加/離脱の情報を特定のノードが、全ノードに並行して通知していた。また、各ノードは、参加/離脱の情報を受けると、ノード内の専用機能を用いて処理することで、内部データを更新して、分散共有メモリの管理を行っていた(例えば、特許文献1)。
特開平7−141303号公報
従来このようなノード間情報共有システムにおいては、次のような欠点がある。小型のデバイスをノードとして接続するときのように極めて多数のノードを接続する場合やユビキタスコンピューティング環境のように広域にわたって接続を行う場合等では、例え、現状のメモリ空間で十分余裕があり仮想番地により冗長な割り当てを回避できても、番地処理が増えてしまい、ノードの参加離脱によるノード増減を、ネットワーク上のノード識別子とメモリ番地の変換処理に反映する負荷が増加する場合があった。
本発明は、このような事情に鑑みてなされたもので、その目的は、多数のノードを接続可能なノード間情報共有システムを提供することである。また、本発明の他の目的は、新たなノードが参加したり離脱したりする際の処理が容易なノード間情報共有システムを提供することである。
この発明は上述した課題を解決するためになされたもので、発明は、先頭ノードを先頭として複数のノードが通信路を介して一列に接続されたノード集団を形成するノード間情報共有システムにおいて、前記各ノードは、先頭ノードへの参照アドレスを格納する先頭ノード記憶部と、次ノードへの参照アドレスを格納する次ノード記憶部と、 前記ノード間情報共有システムにおいて共有する共有情報を記憶する分散共有メモリと、自ノードにおいて生成された共有情報を、前記先頭ノード記憶部内の参照アドレスに基づいて前記先頭ノードへ送信する第1の送信手段と、他のノードから受信した共有情報を前記分散共有メモリへ記憶させると共に、該共有情報を前記次ノード記憶部内の参照アドレスに基づいて次ノードへ送信する第2の送信手段と、前記ノード集団に属する各ノードの接続関係の変更に基づいて生成された変更データであって、前記先頭ノード記憶部に格納する前記先頭ノードへの参照アドレス、または前記次ノード記憶部に格納する前記次ノードへの参照アドレスの何れか一方または両方を格納した前記変更データを受信する変更データ受信手段と、前記変更データに基づいて前記先頭ノード記憶部に格納する前記先頭ノードへの参照アドレス、または前記次ノード記憶部に格納する前記次ノードへの参照アドレスの何れか一方または両方の変更を行い、前記変更データが前記次ノードへ通知するデータである場合には前記次ノード記憶部内の参照アドレスへ当該変更データを通知する参照アドレス変更手段と、を具備することを特徴とするノード間情報共有システムである。
また、本発明は、上述のノード間情報共有システムにおいて、前記ノードは、自ノードが前記ノード間情報共有システムから離脱するために、自ノードの参照アドレスを第1アドレスとして格納し、前記次ノード記憶部内の参照アドレスを第2のアドレスとして格納した変更データを、前記先頭ノード記憶部内の参照アドレスに基づき、先頭ノードへ通知する第1の手段を具備し、前記参照アドレス変更手段内に、他ノードの離脱処理のために、前記第1のアドレスと前記第2のアドレスとを格納した変更データを受信した時は、前記次ノード記憶部内の次ノードアドレスと前記第1のアドレスとを比較し、両アドレスが一致した時は、前記第2のアドレスを前記次ノード記憶部に書込み、一致しない時は、前記第1のアドレスと前記第2のアドレスを格納した変更データを、前記次ノード記憶部内の参照アドレスに基づき、次ノードへ通知する第2の手段を具備することを特徴とする。
また、本発明は、上述のノード間情報共有システムにおいて、前記ノードは、自ノードが先頭ノードであって、前記ノード間情報共有システムから離脱するために、前記次ノード記憶部内の次ノードアドレスを第3のアドレスとして格納した変更データを、前記次ノード記憶部内の参照アドレスに基づき、次ノードへ通知する第3の手段を具備し、前記参照アドレス変更手段内に、先頭ノードの離脱処理のために、前記第3のアドレスを格納した変更データを受信した時は、前記第3のアドレスを前記先頭ノード記憶部に書込むと共に、前記次ノード記憶部内の参照アドレスに基づき、前記第3のアドレスを格納した変更データを次ノードへ通知する第4の手段を具備することを特徴とする。
また、本発明は、上述のノード間情報共有システムにおいて、前記ノードは、自ノードを先頭ノードとして前記ノード間情報共有システムに追加するために、前記先頭ノードへの参照アドレスをユーザに指定された時は、前記次ノード記憶部に前記指定された参照アドレスを格納し、自ノードアドレスを第4のアドレスとして格納した変更データを、前記指定された参照アドレスに基づき、前記先頭ノードへ通知する第5の手段を具備し、前記参照アドレス変更手段内に、他ノードの先頭ノードへの追加処理のために、前記第4のアドレスを格納した変更データを受信した時は、前記第4のアドレスを前記先頭ノード記憶部に書込むと共に、前記次ノード記憶部内の参照アドレスに基づき、前記第4のアドレスを格納した変更データを次ノードへ通知する第6の手段を具備することを特徴とする。
また、本発明は、上述のノード間情報共有システムにおいて、前記ノードは、自ノードを前記ノード間情報共有システムに追加するために、追加する箇所として前記ノード間情報共有システム内の末尾以外のノードをユーザに指定された時は、自ノードアドレスを第5のアドレスとして格納した変更データを、前記指定されたノードへ通知する第7の手段を具備し、前記参照アドレス変更手段内に、他ノードの追加処理のために、前記第5のアドレスを格納した変更データを受信した時は、前記次ノード記憶部内の次ノードアドレスを第6のアドレスとして格納し、前記先頭ノード記憶部内の先頭ノードアドレスを第7のアドレスとして格納した変更データを、前記第5のアドレスにより示されるノードへ通知するとともに、前記次ノード記憶部に、前記第5のアドレスを書込む第8の手段を具備し、前記参照アドレス変更手段内に、自ノードの追加処理のために、前記第6のアドレスと第7のアドレスを格納した変更データを受信した場合は、前記第6のアドレスを前記次ノード記憶部に書込むとともに、前記第7のアドレスを前記先頭ノード記憶部に書込む第9の手段を具備していることを特徴とする。
また、本発明は、上述のノード間情報共有システムにおいて、前記ノードは、自ノードを前記ノード間情報共有システムの末尾に追加するために、追加される箇所として末尾のノードをユーザに指定された時は、自ノードアドレスを第8のアドレスとして格納した変更データを、前記指定された末尾のノードに宛てて通知する第10の手段を具備し、前記参照アドレス変更手段内に、他ノードの追加処理のために、前記第8のアドレスを格納した変更データを受信した時は、前記先頭ノード記憶部内の先頭ノードアドレスを第9のアドレスとして格納した変更データを、前記第8のアドレスにより示されるノードに宛てて通知するとともに、前記次ノード記憶部に、前記第8のアドレスを書込む第11の手段を具備し、前記参照アドレス変更手段内に、自ノードを前記ノード間情報共有システムの末尾に追加するために、前記第9のアドレスを格納した変更データを受信した時は、前記第9のアドレスを前記先頭ノード記憶部に書込む第12の手段を具備することを特徴とする。
また、本発明は、上述のノード間情報共有システムにおいて、前記ノードは、1つ以上の任意個のノード集団に所属し、前記先頭ノード記憶部は、所属する全てのノード集団の先頭ノードへの参照アドレスを格納し、前記次ノード記憶部は、所属する全てのノード集団の次ノードへの参照アドレスを格納し、第2の送信手段は、他のノードから受信した共有情報を前記分散共有メモリへ記憶させると共に、前記次ノード記憶部内の参照アドレスに基づいて、前記共有情報を送信したノードと同じノード集団の次ノードへ、前記共有情報を送信し、さらに、前記先頭ノード記憶部内の参照アドレスに基づいて、前記共有情報を自ノードへ送信したノードの所属するノード集団を除き、自ノードが所属する全てのノード集団の先頭ノードへ、前記共有情報を送信し、さらに、参照アドレス変更手段は、前記変更データが前記次ノードへ通知するデータである場合には、前記次ノード記憶部内の参照アドレスに基づいて、当該変更データを送信したノードと同じノード集団の次ノードへ、前記変更データを送信し、さらに、前記先頭ノード記憶部内の参照アドレスに基づいて、当該変更データを自ノードへ送信したノードの所属するノード集団を除き、自ノードが所属する全てのノード集団の先頭ノードへ、前記変更データを送信することを特徴とする。
また、本発明は、上述のノード間情報共有システムにおいて、前記参照アドレスは、IPアドレスであることを特徴とする。
本発明によれば、特定のノードに処理が集中することなく、全てのノードに情報を受け渡すことができるので、多数のノードを接続することが可能である。また、新たにノードが参加或いは離脱する場合、全てのノードに参加或いは離脱情報を送ることなく、召集のノードに情報を送るだけであり、ノード集団への参加離脱の処理を容易にすることが可能である。
本発明の実施の形態として、第1と第2の実施形態を説明する。
〔実施形態1〕
以下、図面を参照して、本発明の第1の実施形態について説明する。図1は、物理的にネットワークにより接続されているノード間情報共有システムにおけるノード間の論理的な参照関係を表している。10〜14は、ノードであり、先頭ノードが受けた情報を、順に直列に繋がった末尾ノードまで受け渡すことで、全てのノード間で情報を共有するノード集団を形成している。これらのノード10〜14のうち、ノード10は先頭ノードであり、ノード14は末尾ノードである。
ここで、各ノードが、いずれかのノードへ情報を送信するためには、目的とするノードへの参照を保持している必要がある。20〜23は、各ノードの次ノードへの参照であり、矢印の始点となっているノードが、自ノードが備える次ノード参照領域に、矢印の終点となっているノードのノード番地を格納していることを表している。末尾ノードであるノード14は、次ノードが存在しないため、次ノード参照領域にてノードを参照していない。31〜34は、該グループの先頭ノードへの参照であり、矢印の始点となっているノードが、自ノードが備える先頭ノード参照領域に、矢印の終点となっているノード10のノード番地を格納していることを表している。
次に、本実施形態の動作を説明する。本実施形態の動作ケースとして、(1)データ共有、(2)ノード離脱、(3)先頭ノード離脱、(4)先頭ノード参加、(5)ノード参加、(6)末尾ノード参加の6ケースを説明する。
(1)データ共有
ここでは、ノード12にてデータが生成され、該データを共有情報として、全てのノード間で共有する場合を説明する。まず、ノード12にてデータが生成されると、ノード12は、その先頭ノード参照領域32を参照して、ノード10に該データを送信する(S10)。ノード10は、該データを受信すると、それを自ノード内の分散共有メモリに取り込むとともに、次ノード参照領域20を参照して、ノード11に該データを送信する(S11)。ノード11は、該データを受信すると、それを自ノード内の分散共有メモリに取り込むとともに、その次ノード参照領域21を参照して、ノード12に該データを送信する(S12)。ノード12は、該データを受信すると、該データは自らが生成したデータではあるが、該データを自ノード内の分散共有メモリに取り込むとともに、次ノード参照領域22を参照して、ノード13に該データを送信する(S13)。以下、同様にして、該データは、ノード14にも送信される(S14)。ノード14は、該データを受信すると、該データを自ノード内の分散共有メモリに取り込むとともに、自ノード内の次ノード参照領域を参照するが、次ノードへの参照は記述されていないので、該データの送信は行わない。その他のノードにて生成されたデータについても、同様にすることで、全ノードに通知し、共有情報とすることができる。
(2)ノード離脱
ノード13が、他ノードとの情報の共有を中止する、すなわち、ノード集団から離脱する場合の動作を図2の(a)を用いて説明する。なお、図2および図3において、点線は該動作によって無くなる部分、太線は該動作によって追加される部分を表す。
ノード13は、ノード集団から離脱することが決まると、次ノード参照領域23を参照してノード14への参照を得る。次に、先頭ノード参照領域33を参照して、ノード10に“離脱:ノード13”と“次ノード:ノード14”である旨のデータを送信する(S20)。ノード10は、該データを受信すると、次ノード参照領域20が参照するノードと、受信したデータのうち離脱の項目とを比較する。ここでは、次ノード参照領域20はノード11であり、離脱の項目はノード13であり、一致しないので、次ノード参照領域20から取得したノード11へ、受信したデータをそのまま送信する(S21)。ノード11は、該データを受信すると、ノード10と同様にして、次ノード参照領域21が参照するノードと、受信したデータのうち離脱の項目とを比較する。ここでは、次ノード参照領域21はノード12であり、離脱の項目はノード13であり、一致しないので、次ノード参照領域21から取得したノード12へ、受信したデータをそのまま送信する(S22)。ノード12は、該データを受信すると、ノード10およびノード11と同様にして、次ノード参照領域22が参照するノードと、受信したデータのうち離脱の項目とを比較する。ここでは、次ノード参照領域22はノード13であり、離脱の項目もノード13であり、一致するので、受信したデータのうち次ノードの項目を参照して、ノード14を自身の次ノード参照領域22に格納する。
(3)先頭ノード離脱
先頭ノードであるノード10が、他ノードとの情報の共有を中止する、すなわち、ノード集団から離脱する場合の動作を図2の(b)を用いて説明する。ノード10は、ノード集団から離脱することが決まると、次ノード参照領域20を参照してノード11への参照を得て、そのノード11に“先頭ノード:ノード11”に変更である旨のデータを送信する(S30)。さらに、ノード10は、次ノード参照領域20をクリアする。ノード11は、該データを受信すると、自ノードが先頭ノードに指定されているので、自ノードの先頭ノード参照領域31をクリアするとともに、次ノード参照領域21を参照して、ノード12に、受信した該データを送信する(S31)。ノード12は、該データを受信すると、先頭ノードの項目で指定されたノード11を、先頭ノード参照領域32に格納するとともに、次ノード参照領域22を参照して、ノード13に、受信した該データを送信する(S32)。ノード13、14も同様にして、各先頭ノード参照領域33、34にノード11を格納する(S33)。
(4)先頭ノード追加
ノード15が、先頭ノードとして、他ノードとの情報の共有を開始する、すなわち、先頭ノードがノード集団に加わる場合の動作を図3の(a)を用いて説明する。まず、現在のノード集団の先頭ノードであるノード10のノード番地を、管理者がノード15に通知先として、設定する。ノード15は、ノード10のノード番地を設定されると、これを次ノード参照領域に設定するとともに、“先頭ノード:ノード15”に変更である旨のデータを、通知先として設定されたノード10に送信する(S40)。ノード10は、該データを受信すると、先頭ノードとして指定されたノード15を、先頭ノード参照領域30に格納するとともに、次ノード参照領域20を参照して、ノード11に、受信した該データを送信する(S41)。ノード11は、該データを受信すると、ノード10と同様に、先頭ノードとして指定されたノード15を、先頭ノード参照領域31に格納するとともに、次ノード参照領域21を参照して、ノード12に、受信した該データを送信する(S42)。以下、ノード12〜14も同様にして、ノード15を、各ノードの先頭ノード参照領域に格納する(S43、S44)。
(5)ノード参加
ノード16が、通常のノードとして、他ノードとの情報の共有を開始する、すなわち、ノードがノード集団に加わる場合の動作を図3の(b)を用いて説明する。まず、ノード16の挿入ポイントとして、ノード12を、管理者がノード16に設定する。ノード16は、挿入ポイントを設定されると、該ノード12に、“追加ノード:ノード16”である旨のデータを送信する(S50)。ノード12は、該データを受信すると、“先頭ノード:ノード10”および“次ノード:ノード13”である旨のデータを、ノード16に送信する(S51)とともに、次ノード参照領域22に、ノード16を格納する。ノード16は、該データを受信すると、先頭ノードの項目であるノード10を、先頭ノード参照領域36に格納し、次ノードの項目であるノード13を、次ノード参照領域26に格納する。
(6)末尾ノード参加
ノード17が、末尾ノードとして、他ノードとの情報の共有を開始する、すなわち、末尾ノードがノード集団に加わる場合の動作を図3の(c)を用いて説明する。まず、現在の末尾ノードとして、ノード14を、管理者がノード17に設定する。ノード17は、末尾ノードを設定されると、該ノード14に、“末尾ノード:ノード17”である旨のデータを送信する(S60)。ノード14は、該データを受信すると、“先頭ノード:ノード10”である旨のデータを、ノード17に送信する(S61)とともに、次ノード参照領域24に、ノード17を格納する。ノード17は、該データを受信すると、先頭ノードの項目であるノード10を、先頭ノード参照領域36に格納する。次ノード参照領域については、クリアされた状態にしておく。
〔実施形態2〕
以下、図面を参照して、本発明の第2の実施形態について説明する。図4は、物理的には、ネットワークにより接続されているノード間情報共有システムにおけるノード間の論理的な参照関係を表している。110〜114、210〜213、310〜315、410〜413は、ノードである。100は、ノード110〜ノード114から構成され、先頭ノードであるノード110が受け取った情報を、順に一列に繋がった末尾ノードであるノード114まで受け渡すことで、情報共有するノード集団であり、200、300および400も、同様のノード集団である。第1の実施形態と同様に、ノード集団内で情報を共有すると同時に、これらのノード集団間でも、先頭ノード集団であるノード集団100から順に末尾ノード集団まで、情報を受け渡すことで、情報を共有するノード間情報共有システムを構成している。120〜123、220〜222、320〜324、420〜422は、各ノードの次ノードへの参照であり、矢印の始点となっているノードが、自ノードが備える次ノード参照領域に、矢印の終点となっているノードのノード番地を格納していることを表している。131〜134、231〜233、331〜335、431〜433は、各ノードの先頭ノードへの参照であり、矢印の始点となっているノードが、自ノードが備える先頭ノード参照領域に、矢印の終点となっているノードのノード番地を格納していることを表している。
101、201、301は、各ノード集団の次ノード集団への参照であり、矢印の始点となっているノードが、自ノードが備える次ノード集団参照領域に、矢印の終点となっているノードのノード番地を格納していることを表している。202、302、402は、各ノード集団の先頭ノード集団への参照であり、矢印の始点となっているノードが、自ノードが備える先頭ノード集団参照領域に、矢印の終点となっているノードのノード番地を格納していることを表している。
次に、本実施形態の動作を説明する。本実施形態の動作ケースとして、(1)データ共有、(2)先頭ノード離脱、(3)先頭ノード集団の先頭ノード離脱、(4)先頭ノード集団の先頭ノード参加、(5)先頭ノード参加の5ケースを説明する。
(1)データ共有
ここでは、ノード212にてデータが生成され、該データを共有情報として、全てのノード間で共有する場合を説明する。まず、ノード212にてデータが生成されると、ノード212は、その先頭ノード参照領域232を参照して、ノード210に該データを送信する(S100)。ノード210は、該データを受信すると、それを自ノードに取込むとともに、先頭ノード集団参照領域202を参照して、ノード集団100の先頭ノードであるノード110にも該データを送信し(S101)、さらに、次ノード参照領域220を参照して、ノード211に該データを送信する(S110)。ノード211は、該データを受信すると、それを自ノード内に取り込むとともに、その次ノード参照領域221を参照して、ノード212に該データを送信する(S111)。ノード212は、該データを受信すると、該データは自らが生成したデータではあるが、該データを自ノード内に取り込むとともに、次ノード参照領域222を参照して、ノード213に該データを送信する(S112)。ノード213は、該データを受信すると、該データを自ノード内に取り込むとともに、自ノード内の次ノード参照領域を参照するが、次ノードへの参照は記述されていないので、該データの送信は行わない。このようにして、ノード集団200内の全てのノードに、データを受け渡し、該データを共有する。
一方、ステップS101にてノード210からデータを受信したノード110は、該データを自ノードに取込むとともに、次ノード集団参照領域101を参照して、ノード210に該データを送信し(S102)、さらに、次ノード参照領域120を参照して、ノード111に該データを送信する(S120)。ノード111は、該データを受信すると、それを自ノード内に取り込むとともに、その次ノード参照領域121を参照して、ノード112に該データを送信する(S121)。以下、同様にして、ノード113、114にも該データが受け渡される。このようにして、ノード集団100内の全てのノードに、データを受け渡し、該データを共有する。
一方、ステップS102にてノード110からデータを受信したノード210は、所属しているノード集団200に、該データを反映済みなので、次ノードには送信しないが、次ノード集団参照領域201を参照して、ノード310に、該データを送信する(S103)。ノード310は、該データを受信すると、それを自ノード内に取り込むとともに、その次ノード集団参照領域301を参照して、ノード410に該データを送信し(S104)、さらに、次ノード参照領域320を参照して、ノード311に該データを送信する(S130)。ノード311は、該データを受信すると、それを自ノード内に取り込むとともに、その次ノード参照領域321を参照して、ノード312に該データを送信する(S131)。以下、同様にして、ノード313、314、315にも該データが受け渡される。このようにして、ノード集団300内の全てのノードに、データを受け渡し、該データを共有する。また、ステップS104にてノード310から該データを受信したノード410も同様にして、ノード集団400内の全てのノードにデータを受け渡す。このようにして、ノード集団100、200、300、400の全てのノードにデータを受け渡し、該データを共有することができる。
(2)先頭ノード離脱
ノード集団300の先頭ノードであるノード310が、他ノードとの情報の共有を中止する、すなわち、ノード集団から離脱する場合の動作を、図5を用いて説明する。ノード310は、ノード集団から離脱することが決まると、先頭ノード集団参照領域302を参照して、ノード110に、“ノード集団300の先頭ノード:ノード310からノード311へ変更”というデータを送信するとともに(S200)、次ノード参照領域320を参照して、ノード311に、“先頭ノード:ノード310からノード311へ変更” および“先頭ノード集団:ノード110、次ノード集団:ノード410”というデータを送信する(S201)。さらに、ノード310は、次ノード参照領域320、先頭ノード集団参照領域302、次ノード集団参照領域301をクリアする。ノード311は、該データを受信すると、自ノードが先頭ノードとなるので、先頭ノード参照領域331をクリアし、先頭ノード集団参照領域304にノード110を、次ノード集団参照領域303にノード410を格納するとともに、次ノード参照領域321を参照して、ノード312に該データを送信する(S202)。ノード312は、該データを受信すると、先頭ノードが変更されているので、先頭ノード参照領域332にノード311を格納するとともに、次ノード参照領域322を参照して、ノード313に該データを送信する(S203)。以下、ノード313、314、315は、同様にして、該データを受信し、先頭ノード参照領域333、334、335にノード311を格納する(S204、S205)。ノード315は、次ノード参照領域に次ノードへの参照が記述されていないので、該データの送信は行わない。
一方、ステップS200にてノード310から“ノード集団300の先頭ノード:ノード310からノード311へ変更”を受信したノード110は、次ノード集団参照領域101を参照して、ノード210に該データを送信する(S210)。ノード210は、該データを受信すると、ノード310を格納している次ノード集団参照領域201にノード311を格納する。
これにより、ノード310が離脱しても、(1)データ共有のシーケンスを同様に行い、データを共有できる構成を維持している。
(3)先頭ノード集団の先頭ノード離脱
先頭ノード集団の先頭ノードであるノード110が、他ノードとの情報の共有を中止する、すなわち、ノード集団から離脱する場合の動作を、図6を用いて説明する。ノード110は、ノード集団から離脱することが決まると、次ノード集団参照領域101を参照して、ノード210に、“先頭ノード集団の先頭ノード:ノード111”に変更である旨のデータを送信するとともに(S300)、次ノード参照領域120を参照して、ノード111に、“先頭ノード:ノード111”と“次ノード集団:ノード210”である旨のデータを送信する(S301)。さらに、ノード110は、次ノード参照領域120、次ノード集団参照領域101をクリアする。ノード111は、該データを受信すると、自ノードが先頭ノードとなるので、先頭ノード参照領域131をクリアし、次ノード集団参照領域103にノード210を格納するとともに、次ノード参照領域121を参照して、ノード112に、該データを送信する(S302)。ノード112は、該データを受信すると、先頭ノード参照領域132にノード111を格納するとともに、次ノード参照領域122を参照して、ノード113に、該データを送信する(S303)。以下、同様にして、ノード113、114は、先頭ノード参照領域133、134にノード111を格納する(S304)。
一方、ステップS300にて“先頭ノード集団の先頭ノード:ノード111”を受信したノード210は、先頭ノード集団参照領域202にノード111を格納するとともに、次ノード集団参照領域201を参照して、ノード310に該データを送信する(S310)。ノード310は、該データを受信すると、先頭ノード集団参照領域302にノード111を格納するとともに、次ノード集団参照領域301を参照して、ノード410に該データを送信する(S320)。ノード410は、該データを受信すると、先頭ノード集団参照領域402にノード111を格納する。ノード410は、次ノード集団参照領域に次ノード集団への参照がないので、該データの送信は行わない。
これにより、ノード110が離脱しても、(1)データ共有のシーケンスを同様に行い、データを共有できる構成を維持している。
(4)先頭ノード集団の先頭ノード参加
ノード115が、先頭ノード集団であるノード集団100の先頭ノードとして、他ノードとの共有を開始する、すなわち、先頭ノード集団の先頭ノードがノード集団に加わる場合の動作を図7を用いて説明する。まず、現在の先頭ノード集団の先頭ノードであるノード110を、管理者がノード115に通知先として、設定する。ノード115は、ノード110を設定されると、これを次ノード参照領域125に格納するとともに、“先頭ノード集団の先頭ノード:ノード115”に変更である旨のデータを送信する(S401)。ノード110は、該データを受信すると、自ノードが先頭ノード集団の先頭ノードであるので、次ノード集団参照領域101を参照して、ノード210への参照を得て、“次ノード集団:ノード210”である旨のデータを、ノード115に送信する(S400)。さらに、次ノード集団参照領域101をクリアし、先頭ノード参照領域130にノード115を格納するとともに、次ノード参照領域120を参照して、ノード111に、受信した該データを送信する(S402)。ノード111は、該データを受信すると、先頭ノード参照領域131にノード115を格納するとともに、次ノード参照領域121を参照して、ノード112に、該データを送信する(S403)。以下、同様にして、ノード112、113、114は、先頭ノード領域132、133、134に、ノード115を格納する(S404、S405)。
一方、ステップ125にて、“次ノード集団:ノード210”である旨のデータを受信したノード115は、次ノード集団参照領域105にノード210を格納するとともに、該ノード210に、“先頭ノード集団の先頭ノード:ノード115”に変更である旨のデータを送信する(S410)。ノード210は、該データを受信すると、先頭ノード集団参照領域202にノード115を格納するとともに、次ノード集団参照領域201を参照して、ノード310に該データを送信する(S411)。以下、同様にして、ノード310、410は、先頭ノード集団参照領域302、402に、ノード115を格納する(S412)。
これにより、ノード115が先頭ノード集団の先頭ノードとして追加されても、(1)データ共有のシーケンスを同様に行い、データを共有できる構成を維持している。
(5)先頭ノード参加
ノード214が、ノード集団200の先頭ノードとして、他ノードとの共有を開始する、すなわち、先頭ノード集団の先頭ノードがノード集団に加わる場合の動作を図8を用いて説明する。まず、現在のノード集団200の先頭ノードであるノード210を、管理者がノード214に通知先として、設定する。ノード214は、ノード210を設定されると、これを次ノード参照領域224に格納するとともに、“ノード集団200の先頭ノード:ノード210からノード214に変更”である旨のデータを、ノード210に送信する(S500)。ノード210は、該データを受信すると、自ノードがノード集団200の先頭ノードであるので、次ノード集団参照領域201を参照してノード310を得て、“次ノード集団:ノード310”とともに、受信した“ノード集団200の先頭ノード:ノード210からノード214に変更”を、先頭ノード集団参照領域202を参照して、ノード110に送信する(S510)。ノード210は、さらに、先頭ノード集団参照領域202と次ノード集団参照領域201をクリアし、先頭ノード参照領域230にノード214を格納するとともに、次ノード参照領域220を参照して、ノード211に、受信したデータである“ノード集団200の先頭ノード:ノード210からノード214に変更”を送信する(S501)。ノード211は、該データを受信すると、先頭ノード参照領域231にノード214を格納するとともに、次ノード参照領域221を参照して、ノード212に該データを送信する(S502)。以下、同様にして、ノード212、213は、先頭ノード参照領域232、233にノード214を格納する。
一方、ステップS510にて、“次ノード集団:ノード310”と“ノード集団200の先頭ノード:ノード210からノード214に変更”を受信したノード110は、次ノード集団参照領域101に格納している参照が、ノード210であるので、これをノード214に変更するとともに、ノード214に、これらのデータを送信する(S520)。ノード214は、これらのデータを受信すると、次ノード集団参照領域205にノード310を格納する。
これにより、ノード214がノード集団200の先頭ノードとして追加されても、(1)データ共有のシーケンスを同様に行い、データを共有できる構成を維持している。
本実施形態は、第1の実施形態にて定義されたノード集団が複数あり、さらにそれらのノード集団の先頭ノードのみからなるノード集団を形成するという2階層のノード集団になっている。これは、各先頭ノードは、第1の実施形態にて定義されたノード集団と同様のノード集団と、先頭ノードのみから構成されるノード集団と、双方のノード集団に所属しているとみなすこともできる。本実施形態では、先頭ノードのみからなるノード集団を形成することで2階層目のノード集団としたが、先頭ノードではなく、末尾ノードやその他の通常のノードからなるノード集団を形成して2階層目としてもよい。
なお、例えば、本実施形態の先頭ノード集団の先頭ノードを接続して、さらにノード集団を形成することで、3階層のノード集団を形成することができる。そして、この方法により、4階層、5階層・・・というように、次々と多階層のノード集団を形成することができる。
なお、第1および第2の実施形態において、参照アドレスは、IPアドレス、MACアドレス等の他、各ノードが識別できる情報であれば良い。また、参照アドレスとしてIPアドレスを用いると、各ノードを接続するネットワークとして、一般的なIPネットワークを用いることができる。
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
この発明の第1の実施形態による共有メモリ通信システムの構成を示す図である。 同実施形態における動作を説明する図である。 同実施形態における動作を説明する図である。 この発明の第2の実施形態による共有メモリ通信システムの構成を示す図である。 同実施形態における動作を説明する図である。 同実施形態における動作を説明する図である。 同実施形態における動作を説明する図である。 同実施形態における動作を説明する図である。
符号の説明
10〜17…ノード
20〜26…次ノードへの参照
31〜37…先頭ノードへの参照
100…ノード集団
110〜114…ノード
120〜124…次ノードへの参照
131〜134…先頭ノードへの参照
140…次ノード集団への参照
200…ノード集団
210〜213…ノード
220〜222…次ノードへの参照
231〜233…先頭ノードへの参照
240…次ノード集団への参照
250…先頭ノード集団への参照
300…ノード集団
310…ノード
340…次ノード集団への参照
350…先頭ノード集団への参照
400…ノード集団
410…ノード
450…先頭ノード集団への参照

Claims (8)

  1. 先頭ノードを先頭として複数のノードが通信路を介して一列に接続されたノード集団を形成するノード間情報共有システムにおいて、
    前記各ノードは、
    先頭ノードへの参照アドレスを格納する先頭ノード記憶部と、
    次ノードへの参照アドレスを格納する次ノード記憶部と、
    前記ノード間情報共有システムにおいて共有する共有情報を記憶する分散共有メモリと、
    自ノードにおいて生成された共有情報を、前記先頭ノード記憶部内の参照アドレスに基づいて前記先頭ノードへ送信する第1の送信手段と、
    他のノードから受信した共有情報を前記分散共有メモリへ記憶させると共に、該共有情報を前記次ノード記憶部内の参照アドレスに基づいて次ノードへ送信する第2の送信手段と、
    前記ノード集団に属する各ノードの接続関係の変更に基づいて生成された変更データであって、前記先頭ノード記憶部に格納する前記先頭ノードへの参照アドレス、または前記次ノード記憶部に格納する前記次ノードへの参照アドレスの何れか一方または両方を格納した前記変更データを受信する変更データ受信手段と、
    前記変更データに基づいて前記先頭ノード記憶部に格納する前記先頭ノードへの参照アドレス、または前記次ノード記憶部に格納する前記次ノードへの参照アドレスの何れか一方または両方の変更を行い、前記変更データが前記次ノードへ通知するデータである場合には前記次ノード記憶部内の参照アドレスへ当該変更データを通知する参照アドレス変更手段と、
    を具備することを特徴とするノード間情報共有システム。
  2. 前記ノードは、
    自ノードが前記ノード間情報共有システムから離脱するために、自ノードの参照アドレスを第1のアドレスとして格納し、前記次ノード記憶部内の参照アドレスを第2のアドレスとして格納した変更データを、前記先頭ノード記憶部内の参照アドレスに基づき、先頭ノードへ通知する第1の手段を具備し、
    前記参照アドレス変更手段内に、他ノードの離脱処理のために、前記第1のアドレスと前記第2のアドレスとを格納した変更データを受信した時は、前記次ノード記憶部内の次ノードアドレスと前記第1のアドレスとを比較し、両アドレスが一致した時は、前記第2のアドレスを前記次ノード記憶部に書込み、一致しない時は、前記第1のアドレスと前記第2のアドレスを格納した変更データを、前記次ノード記憶部内の参照アドレスに基づき、次ノードへ通知する第2の手段を具備することを特徴とする請求項1に記載のノード間情報共有システム。
  3. 前記ノードは、
    自ノードが先頭ノードであって、前記ノード間情報共有システムから離脱するために、前記次ノード記憶部内の次ノードアドレスを第3のアドレスとして格納した変更データを、前記次ノード記憶部内の参照アドレスに基づき、次ノードへ通知する第3の手段を具備し、
    前記参照アドレス変更手段内に、先頭ノードの離脱処理のために、前記第3のアドレスを格納した変更データを受信した時は、前記第3のアドレスを前記先頭ノード記憶部に書込むと共に、前記次ノード記憶部内の参照アドレスに基づき、前記第3のアドレスを格納した変更データを次ノードへ通知する第4の手段を具備することを特徴とする請求項1または2のいずれかの項に記載のノード間情報共有システム。
  4. 前記ノードは、
    自ノードを先頭ノードとして前記ノード間情報共有システムに追加するために、前記先頭ノードへの参照アドレスをユーザに指定された時は、前記次ノード記憶部に前記指定された参照アドレスを格納し、自ノードアドレスを第4のアドレスとして格納した変更データを、前記指定された参照アドレスに基づき、前記先頭ノードへ通知する第5の手段を具備し、
    前記参照アドレス変更手段内に、他ノードの先頭ノードへの追加処理のために、前記第4のアドレスを格納した変更データを受信した時は、前記第4のアドレスを前記先頭ノード記憶部に書込むと共に、前記次ノード記憶部内の参照アドレスに基づき、前記第4のアドレスを格納した変更データを次ノードへ通知する第6の手段を具備することを特徴とする請求項1〜3のいずれかの項に記載のノード間情報共有システム。
  5. 前記ノードは、
    自ノードを前記ノード間情報共有システムに追加するために、追加する箇所として前記ノード間情報共有システム内の末尾以外のノードをユーザに指定された時は、自ノードアドレスを第5のアドレスとして格納した変更データを、前記指定されたノードへ通知する第7の手段を具備し、
    前記参照アドレス変更手段内に、他ノードの追加処理のために、前記第5のアドレスを格納した変更データを受信した時は、前記次ノード記憶部内の次ノードアドレスを第6のアドレスとして格納し、前記先頭ノード記憶部内の先頭ノードアドレスを第7のアドレスとして格納した変更データを、前記第5のアドレスにより示されるノードへ通知するとともに、前記次ノード記憶部に、前記第5のアドレスを書込む第8の手段を具備し、
    前記参照アドレス変更手段内に、自ノードの追加処理のために、前記第6のアドレスと第7のアドレスを格納した変更データを受信した場合は、前記第6のアドレスを前記次ノード記憶部に書込むとともに、前記第7のアドレスを前記先頭ノード記憶部に書込む第9の手段を具備していることを特徴とする請求項1〜4のいずれかの項に記載のノード間情報共有システム。
  6. 前記ノードは、
    自ノードを前記ノード間情報共有システムの末尾に追加するために、追加される箇所として末尾のノードをユーザに指定された時は、自ノードアドレスを第8のアドレスとして格納した変更データを、前記指定された末尾のノードに宛てて通知する第10の手段を具備し、
    前記参照アドレス変更手段内に、他ノードの追加処理のために、前記第8のアドレスを格納した変更データを受信した時は、前記先頭ノード記憶部内の先頭ノードアドレスを第9のアドレスとして格納した変更データを、前記第8のアドレスにより示されるノードに宛てて通知するとともに、前記次ノード記憶部に、前記第8のアドレスを書込む第11の手段を具備し、
    前記参照アドレス変更手段内に、自ノードを前記ノード間情報共有システムの末尾に追加するために、前記第9のアドレスを格納した変更データを受信した時は、前記第9のアドレスを前記先頭ノード記憶部に書込む第12の手段を具備することを特徴とする請求項1〜5のいずれかの項に記載のノード間情報共有システム。
  7. 前記ノードは、
    1つ以上の任意個のノード集団に所属し、
    前記先頭ノード記憶部は、所属する全てのノード集団の先頭ノードへの参照アドレスを格納し、
    前記次ノード記憶部は、所属する全てのノード集団の次ノードへの参照アドレスを格納し、
    第2の送信手段は、他のノードから受信した共有情報を前記分散共有メモリへ記憶させると共に、前記次ノード記憶部内の参照アドレスに基づいて、前記共有情報を送信したノードと同じノード集団の次ノードへ、前記共有情報を送信し、さらに、前記先頭ノード記憶部内の参照アドレスに基づいて、前記共有情報を自ノードへ送信したノードの所属するノード集団を除き、自ノードが所属する全てのノード集団の先頭ノードへ、前記共有情報を送信し、
    さらに、参照アドレス変更手段は、前記変更データが前記次ノードへ通知するデータである場合には、前記次ノード記憶部内の参照アドレスに基づいて、当該変更データを送信したノードと同じノード集団の次ノードへ、前記変更データを送信し、さらに、前記先頭ノード記憶部内の参照アドレスに基づいて、当該変更データを自ノードへ送信したノードの所属するノード集団を除き、自ノードが所属する全てのノード集団の先頭ノードへ、前記変更データを送信すること
    を特徴とする請求項1〜6のいずれかの項に記載のノード間情報共有システム。
  8. 前記参照アドレスは、IPアドレスであることを特徴とする請求項1〜7のいずれかの項に記載のノード間情報共有システム。
JP2005194256A 2005-07-01 2005-07-01 ノード間情報共有システム Expired - Fee Related JP4339286B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005194256A JP4339286B2 (ja) 2005-07-01 2005-07-01 ノード間情報共有システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005194256A JP4339286B2 (ja) 2005-07-01 2005-07-01 ノード間情報共有システム

Publications (2)

Publication Number Publication Date
JP2007011888A JP2007011888A (ja) 2007-01-18
JP4339286B2 true JP4339286B2 (ja) 2009-10-07

Family

ID=37750252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005194256A Expired - Fee Related JP4339286B2 (ja) 2005-07-01 2005-07-01 ノード間情報共有システム

Country Status (1)

Country Link
JP (1) JP4339286B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4479930B2 (ja) * 2007-12-21 2010-06-09 日本電気株式会社 ノードシステム、サーバ切換え方法、サーバ装置、データ引き継ぎ方法、およびプログラム

Also Published As

Publication number Publication date
JP2007011888A (ja) 2007-01-18

Similar Documents

Publication Publication Date Title
US10397139B2 (en) Storage device in which forwarding-function-equipped memory nodes are mutually connected and data processing method
US7536467B2 (en) Peer-to-peer (P2P) mobility system, and method
RU2408064C2 (ru) Маршрутизация в одноранговых сетях
US7975016B2 (en) Method to manage high availability equipments
EP1986380B1 (en) Packet transmitting method, relay node and receiving node
JP6989621B2 (ja) パケット伝送方法、エッジデバイス及び機械可読記憶媒体
RU2441331C2 (ru) Соединение ячеистых сетей с множеством узлов-ретрансляторов с использованием сетевого моста подуровня управления доступом к среде передачи
JPH01126760A (ja) 並列計算機システム
JPH09153892A (ja) ワームホール・ネットワークにおけるメッセージ送達方法およびシステム
US20060239290A1 (en) Multicast/broadcast extension to a point-to-point unicast-only packet switch system
JP7046983B2 (ja) パケット伝送方法及び装置
KR20080029683A (ko) 지그비 네트워크 상의 통신 불가 노드에 대한 주소 공간관리 방법
KR20060045776A (ko) 클러스터-트리 구조로 연결된 이후에 어드레스를 할당하는지그비 네트워크 디바이스, 그 어드레스 할당 방법, 및,라우팅 방법
CN106375211B (zh) Vrrp负载均衡场景中的交换机数据处理方法和交换机
CN102088407B (zh) 一种一体化标识网络移动性管理系统、方法及路由方法
JP4339286B2 (ja) ノード間情報共有システム
CN111385211B (zh) 基于SpaceWire总线的路由通信方法和网络设备
JP2006174399A (ja) グループ内通信方法、システム及び記録媒体
JP4638849B2 (ja) 機能分散型通信装置および経路制御方法
JP2008252192A (ja) フレーム中継装置および通信ネットワークシステム
Cheng et al. Towards distributed hash tables (de) composition in ambient networks
JP2000215076A (ja) クラスタシステム及びクラスタシステムにおけるフェ―ルオ―バ処理方法
CN102413038B (zh) 一种路由下一跳不可达的处理方法及系统
JP5228369B2 (ja) 通信システム、通信方法、及び通信プログラム
JP4369882B2 (ja) ルーティング方法、および、ネットワークシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090601

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090701

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130710

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees