JP4228193B2 - 情報共有方法、ネットワークシステム及びノード装置 - Google Patents
情報共有方法、ネットワークシステム及びノード装置 Download PDFInfo
- Publication number
- JP4228193B2 JP4228193B2 JP2002333741A JP2002333741A JP4228193B2 JP 4228193 B2 JP4228193 B2 JP 4228193B2 JP 2002333741 A JP2002333741 A JP 2002333741A JP 2002333741 A JP2002333741 A JP 2002333741A JP 4228193 B2 JP4228193 B2 JP 4228193B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- node
- transmission
- list
- nodes
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
- Information Transfer Between Computers (AREA)
Description
【発明の属する技術分野】
本発明は、情報共有方法に関し、特に、複数のコンピュータあるいはプロセッサがネットワークで接続されたシステムにおいて、各コンピュータあるいはプロセッサがローカルに持つ情報をスケーラブルに共有する情報共有方法に関する。
【0002】
【従来の技術】
従来、並列・分散システムなどの複数のコンピュータあるいはプロセッサがネットワークで接続されたシステムにおいては、負荷の分散や、障害の検出を行うために、各コンピュータあるいはプロセッサがローカルに保持する情報を共有することが行われている。負荷情報としては、例えば、CPU(中央処理ユニット)のレディキューの長さ、メモリの使用量、ディスクアクセス数等が共有されており、障害情報としては、例えば、正常に動作しているディスクの数やCPUの数等が共有されている。本発明が適用されるシステムにおいても、このような情報が共有されるものとする。
【0003】
負荷分散・障害検出を行うために広く用いられている方法として、負荷・障害情報を収集するマスターノードを設置する方法がある。この方法は負荷・障害情報をマスターノードにおいて集中管理するものであることから、以下、この方法のことをCENTRAL(セントラル)と呼ぶ。
【0004】
CENTRALでは、情報共有を行うノードはマスターノードのみである。そのため、マスターノードが管理すべきスレーブノードの数が増えるにつれて、マスターノードの負荷が増大してしまう。また、マスターノードに情報を集めておき、スレーブノードは必要なときにマスターノードへ情報問い合わせを行うので、この情報問い合わせの際の遅延がスレーブノードの数によらず発生するという問題も生じる。これらの二つの問題は、例えば、スレーブノードにタスクが到着し、スレーブノードがマスターノードに対して負荷の問い合わせと負荷分散を行う場合などに顕著になる。さらにノード障害の発生のことも考慮すると、マスターノードに障害が発生した場合、その障害発生から、スレーブノードによりその障害が検出され、新たなマスターノードが選出されるまで、スレーブノードは情報を取得できなくなる。マスターノードの多重化は障害対策として考えられるものの一つであるが、余分なマスターノードの設置と、各マスターノードへのスレーブノードからの情報送信という、2種類のコストが付加される。
【0005】
ここで、マスターノードが情報共有だけでなくその共有した情報を使った処理も行う場合、例えば、負荷分散を行う場合においてマスターノードが負荷情報を集めるだけでなく負荷分散も行う場合を考える。すると、スレーブノードからの情報問い合わせはなくなるものの、マスターノードが行う処理の増加によって、マスターノードでの処理がボトルネックになる傾向が一層強まる。さらに、各スレーブノードにタスクが到着する時には不均衡を解消する分のタスクの移送しか起こらないが、マスターノードで負荷分散を行う場合には、スレーブノードへのタスクの移送が常に生じること、バースト的にタスクが到着したときに生じる移送待ちタスクのキューイングによって遅延が生じてしまうことの二つが問題として生じる。また、マスターノードの障害が起こると、スレーブノードにタスクが到着しないのでタスクが全く実行されず、その結果、情報が取得できずに負荷の不均衡が生じる場合よりも、より重大な障害がもたらされることになる。
【0006】
一方で、S. Zhouによる論文、「A Trace-Driven Simulation Study of Dynamic Load Balancing」、IEEE Transaction on Software Engineering, 14(9), pp. 1327-1341, September, 1988(非特許文献1)にあるDISTEDという負荷分散アルゴリズムでは、周期的に自ノードの負荷情報を他の全ノードにノード毎に情報を送信して情報共有を図っている。この方法では全ノードが情報が等しく情報を分担するので、以下、この情報共有方法のことをFLAT(フラット)と呼ぶ。
【0007】
FLATでは、CENTRALとは異なってマスターノードが存在しないため、CENTRALで情報共有を行った場合に生じる、特定のノードへの負荷の集中や障害の問題は発生しない。全ノードが等しく情報共有の負荷を分担しているので、障害が発生しても、障害が起きなかったノードに関しては、障害が発生したノードの数の分だけ処理を行うノード数が減少したという以上の影響はないためである。しかしながらFLATでは、情報共有コストが問題となる。ノード数をnとすると、FLATでは、ノード数が増えるにつれて単位時間あたりの負荷情報の送信量がO(n2)で増加し、情報共有のためのコストが高くなってしまう。情報共有コストとは、情報共有のために使用される計算及びネットワーク資源の量を指すが、ここでは単位時間あたりにノード間で生じる通信の回数でこれらを近似する。FLATのように各ノードが他の全ノードの情報を頻繁に収集する情報共有方法は、情報共有コスト以外の問題点を持たないため、ノード数が少ない場合には適切な情報共有方法である。ところが、ノード数が増えるにつれて、情報共有コストは大きな負荷となる。だからといってコスト低減のために情報更新の周期を長くする等の方策で更新頻度を削減すると、不正確な情報に基づいて負荷分散をしなければならなくなる。そのため、例えば情報更新時には低負荷であったが負荷分散を行う時には高負荷であるノードにタスクを移動してしまうことや、障害検出に時間がかかることが問題として生じる。
【0008】
FLATでは各ノードが全ノードの情報を共有しているが、各ノードが全ノードではなくて一部のノードの情報を共有することで、情報共有コストを引き下げることができる。つまりノードのグループを作成して、グループ内で情報共有を行うことが考えられる。以下、この方法をGROUP(グループ)と呼ぶ。GROUPは、定数個のグループ内のノードと情報共有を行うので、その情報共有コストはシステムのノード数に依存せず、スケーラブルな情報共有方法である。ところがGROUPでは、情報共有の範囲が問題となる。グループ間での情報の共有が行われないため、例えばグループ間の情報共有なしに負荷分散を行うための負荷情報を共有した場合、グループ内での負荷の均衡は図れてもグループ間では負荷が不均衡になってしまうので、システム全体としての負荷分散が行えなくなってしまう。
【0009】
米国特許第5,539,883号、「LOAD BALANCING OF NETWORK BY MAINTAINING IN EACH COMPUTER INFORMATION REGARDING CURRENT LOAD ON THE COMPUTER AND LOAD ON SOME OTHER COMPUTERS IN THE NETWORK」、July, 1996、(特許文献1)にあるように、ノードを(論理的に)木構造に配置して周期的にリンク方向に情報の共有を行い、階層的な情報共有を図る方法もある。この方法では木構造に基づいて階層的にノードの情報を共有するので、以下、この方法をHIERARCHICAL(ヒエラルキカル)と呼ぶ。HIERARCHICALでは、下位のノードが情報を上位のノードに伝え、上位のノードが集めた情報を下位のノードに送信すれば、FLATと同様に各ノードが他の全ノードの情報を持つことができる。HIERARCHICALでの情報共有コストは、O(n log n)であるが、HIERARCHICALでは、上位ノードがマスター的な役割を果たすため、上位ノードで障害が生じると、その下位のノードは、障害が起きたノードより下の階層の情報しか取得できなくなる。そして、障害の発生から、障害検出がなされ、障害が起きたノードの代わりを務めるノードが選択されるまで、下位のノードは上位のノードから情報を取得できない。さらに、情報が木構造でのリンク方向のみに移動するために、より離れたノード間ほど、つまり、より多くのリンクを経由して情報の交換を行うノード間ほど、通信遅延が大きくなる。したがって、HIERARCHICALで情報を共有して負荷分散を行う場合、離れたノード間の負荷の均衡がとりにくいという問題がある。つまり、情報の精度が問題となる。
【0010】
従来の情報共有方法に関する問題点として、情報共有におけるマスター・スレーブの従属関係と範囲、精度、情報共有コストの四つがある。各ノードが独立に、他の全ノードの正しい情報を十分低いコストで収集できるような情報共有方法あるいはシステムが望ましいが、従来の方法あるいはシステムでは、ノードの独立性、範囲、コストの少なくとも一つが問題となっている。
【0011】
なお、この技術に関連する従来技術文献としては、上述したもののほか、以下に列挙する特許文献2〜6がある。
【0012】
【特許文献1】
米国特許第5,539,883号明細書
【特許文献2】
特開2001−326664
【特許文献3】
特開2002−158709
【特許文献4】
特開2002−189644
【特許文献5】
特開平9−190394
【特許文献6】
特開平11−53325
【非特許文献1】
S. Zhou et al., "A Trace-Driven Simulation Study of Dynamic Load Balancing", IEEE Transaction on Software Engineering, 14(9), pp. 1327-1341, September, 1988
【非特許文献2】
J. A. Stankovic, "Simulations of Three Adaptive Decentralized Controlled, Job Scheduling Algorithms", Computer Networks, 8(3), pp. 199-217, June, 1984
【0013】
【発明が解決しようとする課題】
そこで本発明の目的は、ネットワークやスイッチなどに接続された複数のノードからなるシステムにおいて情報を共有する際に、ノード数によらず、効率的にノード間での情報共有を達成できるようにすることにある。具体的には、情報共有方法および装置であって、(1)スケーラブルであり、(2)情報共有の範囲が広く、(3)各ノードの独立性が高い、という従来方法が同時に満たすことができなかった3つの条件を同時に満たす、情報共有方法及び装置を提供することにある。
【0014】
【課題を解決するための手段】
本発明では、送信先ノードに応じて、送信する情報の精度を変え、これによって、ノード数によらずにノード間で効率的に情報を共有できるようにする。具体的には、各ノードが独立に広範囲の情報を共有するが、以下の4つの手法を用い、ノードが送信する情報の精度を送信先ノードごとに制御することで、情報共有コストを削減し、スケーラブルな情報共有方法を提供する。この4つの手法とは、
1. 周期指定(period)、
2. 範囲指定(range)、
3. 要約化(summarize)及び
4. 間接転送(indirect)である。
【0015】
「周期指定(period)」は、送信先ノードによって異なる周期で情報を送信するための方法であり、あるノードへの情報送信間隔は短く、別のノードへの情報送信間隔は長くすることで、短い情報送信間隔を持つノードを残しつつ、全てのノードへの送信間隔が短い場合に比べて単位時間あたりの情報送信回数を削減する方法である。これは、周期的なタイムドリブン型の情報送信回数を削減する方法であり、古い情報を送るノードがある代わりに、情報共有コストを削減できる。
【0016】
「範囲指定(range)」は、共有する情報が取り得る値をいくつかの集合に分割して、値が属する集合が変化したときに情報を送信する方法である。例えば、共有する情報がノードのレディキューにつながれたタスクの数であるとし、レディキューの長さが変化したら情報を送信するイベントドリブン型の情報共有を考える。この方法では、[0,2),[2,5),[5,∞)というように、共有する情報が取り得る値をいくつかの集合に分割して、値が属する集合が変化したときに(例えば、レディキューの長さが1であれば、この値は集合[0,2)に属するが、レディキューの長さが2になると、この値は集合[2,5)に属する)、情報を送信する。この場合、情報送信先ノードごとに、集合を設定できるようにする。これによって、あるノードへは情報の変化は細かく伝え(情報送信回数は多い)、別のノードへは粗く伝える(情報送信回数は少ない)ことができる。これは、イベントドリブン型の情報送信回数を削減する方法であり、細かい値の変化を検出できないノードを作って、情報共有コストを削減する。
【0017】
「要約化(summarize)」は、あるノードに対して複数のノードの情報を送信する際に、送信する情報の情報量を削減して、情報共有コストを削減する方法である。例えば、複数ノードの情報の平均値をそれらのノードの情報として扱うことや、ある特定のノードの情報を複数のノードを代表する情報として扱うことを行う。個々のノードの状態を正確に知ることはできない代わり、コストを削減できる。また、情報の削減量も送信先ノードによって変えることができる。例えばノード4は、ノード4,5,6,7の情報を持つとする。そして、ノード3にはノード4の情報を送り(情報量の削減はない)、ノード2にはノード4,5の情報の平均を送り(情報量は1/2)、ノード0にはノード4,5,6,7の情報の平均を送る(情報量は1/4)、ということができる。
【0018】
「間接転送(Indirect)」は、他のノードから受け取った情報を転送する方法である。転送を伴うために情報伝達遅延は大きくなるが、他ノードを使って自ノードの情報を送信できるので、コストを分散できる。また、送信先ノードごとに転送する情報を選択できる。
【0019】
本発明では、以上の4つの手法を組み合わせることにより、(1)スケーラブルであり、(2)情報共有の範囲が広く、(3)各ノードの独立性が高い、という3つの条件を同時に満たす情報共有が可能になる。
【0020】
【発明の実施の形態】
次に、本発明の好ましい実施の形態について、図面を参照して詳細に説明する。図1は、本発明の実施の一形態の情報共有方法が適用されるシステムの構成例を示すブロック図である。
【0021】
このシステムでは、スイッチ、LAN(ローカルエリアネットワーク)、WAN(広域ネットワーク)、インターネット等のスイッチング装置1に対し、コンピュータ等のn台の情報処理装置2−1,2−2,…,2−nが接続している。ただしnは2以上の自然数である。
【0022】
各情報処理装置2−i(i=1,…,n)は、IP(Internet Protocol)アドレス等とノードID(識別番号)との間の変換機構を有し(ただしノードIDは、ノードを識別するための、0から始まる連続した非負の整数である)、外部とのデータ通信を行う通信部21−iと、共有する情報の送受信を行う情報制御部22−iと、データの蓄積を行う記憶部23−iとを備えている。記憶部23−iには、情報の交換方法が定義された情報共有リスト24−iが含まれている。
【0023】
図2は、図1に示した情報制御部22−iの構成例を示すブロック図である。情報制御部22−iは、要約化制御部31−i、間接転送制御部32−i、周期指定制御部33−i、範囲指定制御部34−i、情報管理部35−i、障害検出部36−i、送信情報管理部37−i、受信情報管理部38−iを含んでいる。要約化制御部31−iは、複数のノードに関する情報についてその情報量を削減するものであり、要約化処理前後での情報量の比は送信先ノードごとに制御できる。間接転送制御部32−iは、他のノードから受け取った情報をさらに別のノードにフォワードするためのものであり、フォワードする情報は送信先ノードごとに制御できる。周期指定制御部33−iは、送信先ノードごとに異なる周期で情報を送信するためのものである。範囲指定制御部34−iは、情報が属する集合が何かを決定し、また情報が属する集合が変化したことを検出するものである。
【0024】
情報管理部35−iは、ノードIDの決定、情報共有参加ノードの検出、情報共有に関する制約条件が与えられたときの条件のパース(構文解析)を行う。障害検出部36−iは、受け取るべき情報が正しく到着しているかどうかをチェックするためのものである。送信情報管理部37−iは、通信部23−iへの情報送信依頼、送信情報の記憶部23−iへの格納を行う。
【0025】
受信情報管理部38−iは、通信部23−iへの情報の到着を検知し、その情報を読み出し、記憶部23−iに格納する。そして、更新された情報がどのノードによって送られた情報なのかを記憶し、記憶部23−i内の情報共有リスト24−iへの情報更新時刻の書き込みを行う。自ノードの情報の更新も行う。また、受信した情報がどのノードから送られた情報なのか、更新された情報がどの情報から送られた情報なのか、という間接転送制御部32−iからの問い合わせに答える。
【0026】
次に、図1、図2、図3、図5及び図6を参照して、この実施の形態における情報共有の動作について詳細に説明する。
【0027】
情報処理装置2−k(k=0,1,…,n:以下、ノードkとも書く)は、それぞれ通信部21−kにおいて、スイッチング装置1を介して情報共有に関する制約条件を受け取り、情報管理部35−kは、制約条件を通信部21−kから受け取る。または、あらかじめ記憶部23−kに制約条件が保存されていれば、通信部21−kは、情報共有を開始するメッセージを受け取り、これを情報管理部35−kに通知し、情報管理部35−kは記憶部23−kから制約条件を読み込む(ステップA1)。制約条件には、少なくとも、情報共有に参加するノード、各ノードの情報送信先ノード、送信する情報、送信する条件を特定するのに必要な情報が含まれる。一つの制約条件の書き方としては、下記(表1参照)のように参加ノードごとに、情報送信先ノード、送信する情報、送信する条件、を指定していく方法がある。
【0028】
【表1】
【0029】
ここで、「nodes={10.56.32.1, 10.56.32.2, …, 10.56.32.8}」は、ブレイス内に指定されたIPアドレス10.56.32.1から10.56.32.8までを有するノードが情報共有に参加することを表している。ここでは便宜上、連続するIPアドレスが指定されているが、任意のIPアドレスを指定することができる。また、表記上の簡便さのため省略した表現でノードが指定されているが、実際には、「nodes={10.56.32.1, 10.56.32.2, 10.56.32.3, 10.56.32.4, 10.56.32.5, 10.56.32.6, 10.56.32.7, 10.56.32.8}」と記述する。ノードの指定に用いるものとしては、情報処理装置のIPアドレスやMAC(Media Access Control)アドレス等、各情報処理装置が一意に持つものであればよいが、ここではIPアドレスを用いている。また、IPアドレスは、別のノード識別子であるノードIDに、情報管理部35−kによって対応づけられている。
【0030】
「nodes」の指定の後に書かれているのは、「情報送信元ノードID:(送信先ノードID,送信する情報,送信する条件)」というフォーマットで記述された制約条件である。上記の条件では、ノード0は、ノード7にノード0の情報を周期1で送信し、ノード6にノード0とノード1の情報の平均を周期2で送信し、ノード4にノード0,1,2,3の情報の平均を周期4で送ることが指定されている。また、「period=」という記述は、情報を送信する周期を指定し、「avg(ノードID,ノードID,…)」は、引数のノードIDを持つノードの情報の平均を表す。また、引数のノードIDを持つノードを表す情報でもある。
【0031】
また、送信条件はセミコロンで区切って複数書ける。例えば、「period=4」に「offset=1」、という条件を加えて、「period=4; offset=1」という記述をしてもよい。これは、情報送信時刻の指定を行う記述であって、前記の記述は、時刻9,17,25,…というように、時刻が(4t+1)の時に情報を送信することを表す(tは自然数)。ただし、「offset」は省略可能で、省略時には「offset=0」が指定されているものとして扱う。さらに、「interval=4」という条件を加えて、「period=4; offset=2; interval=8」といった記述をしてもよい。「interval=8」という条件は、最大送信間隔を指定している。最大送信間隔以下の間隔で情報が更新されている限り、情報送信元ノードに障害が起きていないことを表す。例えば、「0:(7, avg(0), period=1; interval=2), (6, avg(0,1), period=2; offset=1; interval=4), (4, avg(0,1,2,3), period=4; offset=2; interval=8)」という条件が与えられたら、ノード0がノード7に送信する情報の送信間隔が時間2よりも長くなった場合、ノード7は、ノード0に障害が起きた、と判断することを表す。同様にノード6、4は、ノード0から送信される情報の送信間隔がそれぞれ時間4、8よりも長くなった場合に、ノード0に障害が起きた、と判断する。
【0032】
送信条件に「set =[0,1), [0.5,2), [1,3), [2,4.3), [3,6), [6,∞)」といった記述を入れて範囲指定管理部34−kを用いた情報送信を行うこともできるが、これについては後述する。
【0033】
情報管理部35−kは、通信部21−kを用いて、他の情報共有参加ノードにノードIDを送信する。通信部21−kでIDを受信した場合は、これを情報管理部35−kに渡し、情報管理部35−kは、受け取ったIDが情報共有に参加するノードのIDであれば、通信部35−kを用いて自ノードのIDをアクノレッジ(acknowledge)として返信する。情報共有参加ノードであるが返信を返さないノードは無効なノードと判断し、存在しないものとして扱う。無効なノードには情報を送信せず、そのノードの情報を転送することになっていても無視する。
【0034】
そして、情報管理部35−kは、IPアドレスとノードIDの対応を通信部21−kに伝える。以降、情報処理装置2−kが送受信するメッセージに関して、送信部21−kはIPアドレスとノードIDの変換を自動的に行う(ステップA2)。
【0035】
情報管理部35−kは、与えられた制約条件をパースする。このとき、ノードごとに少なくとも、情報送信先ノードID、送信する情報、情報送信条件、情報送信元ノードID、受信情報が分かる。そこで情報管理部35−kは、情報送信先ノードID、送信する情報、情報送信条件からなる送信リストと、受信条件、情報送信元ノード、受信情報、情報更新時刻からなる受信リストを作成する。ただし受信情報は、送信された情報がどのノードの情報に基づいたものであるかを示すので、受信情報には一つ以上のノードIDが入る。これらのリストを一つにしたものが情報共有リスト24−kである(ステップA3)。情報共有リストの例を、図4に示す。ただし、「interval」が送信条件として指定されていない場合は、受信条件は常に成功するように指定される。そして情報管理部35−kによって、情報共有リスト24−kは記憶部23−kに保存される。
【0036】
また、情報管理部35−kは、制約条件をパースする際、送信条件で「period」の指定があれば、周期指定制御部33−kにタイムドリブン型の情報更新があることを、「set」の指定があれば、範囲指定制御部34−kにイベントドリブン型の情報更新があることを通知する。
【0037】
ステップA4では、受信情報の更新と障害検出を行う。ステップA4での動作は、図5に示す通りである。受信情報管理部38−kは、通信部21−kに新たに受信した情報があるかを監視し(ステップA4−1)、なければ、障害検出部36−kが記憶部23−kに含まれる受信リストの中に受信条件を満たしていないものがあるかを調べる(ステップA4−5)。そして、受信条件に反するものがあればステップA2へ移行し、なければステップA7に進む。ステップA4−1で受信した情報があれば、障害検出部36−kは、受信した情報が受信条件を満たしているかを調べ(ステップA4−2)、満たしていなければステップA2へ進む。受信条件が満たされていれば、受信情報管理部38−kは、受信した情報を記憶部23−kに格納し(ステップA4−3)、情報更新時刻を記憶部23−k内の受信リスト(上述したように受信リストは情報共有リスト24−kの一部を構成している)に書き込み、更新された情報が何かを記憶する(ステップA4−4)。ステップA5−5においては更新されていない情報の受信条件も障害検出部36−kが調べ、受信条件に反するものがあればステップA2へ進み、なければステップA5に進む。
【0038】
ステップA5では、送信情報管理部37−kによって、自ノードの情報が更新される。その後、ステップA6が実行される。ステップA6では、情報共有リスト24−kに書かれる送信条件に基づいて情報送信を行う。ステップA6での動作は、図6に示す通りである。
【0039】
まず、周期指定制御部33−kは、タイムドリブン型の送信条件を調べる(ステップA6−1)。満たされた条件がなければ、ステップA6−4へと進む。満たされた条件があれば、その条件に対応する送信情報に対して、要約化制御部31−k及び間接転送制御部32−kが演算を施し、送信情報管理部37−kに渡す(ステップA6−2)。送信情報管理部37−kは、受け取った演算結果の送信を通信部21−kに依頼し、通信部21−kは演算結果を他のノードに送信し(ステップA6−3)、ステップA6−4に移行する。
【0040】
ステップA6−4において、範囲指定制御部34−kは、ステップA3においてイベントドリブン型の条件があるかどうかを既に知っているから、イベントドリブン型の条件が存在しなければ、ステップA4に進む。イベントドリブン型の条件が存在すれば、更新された情報に対して要約化制御部31−k及び間接転送制御部32−kが演算を施し、その結果を送信情報管理部に渡す(ステップA6−5)。範囲指定制御部34−kは、その結果に対して送信条件が満たされたかどうかを調べ、満たされた条件に対応する送信情報がどれかを送信情報管理部37−kに通知する(ステップA6−6)。送信情報管理部37−kは、通知された演算結果の送信を通信部21−kに依頼し、通信部21−kは演算結果を他のノードに送信する(ステップA6−7)。そして、ステップA4に進む。
【0041】
以上のようにして、この実施形態によれば、スケーラブルな情報共有が達成される。
【0042】
【実施例】
以下、本発明について、具体的な例を挙げて説明する。以下の実施例は、上述した本発明の好ましい実施の形態に対応するものである。
【0043】
《実施例1》
ここでは、図1に示すシステムにおいて、自ノードが持つノード情報の一部の平均を送るという制約条件を与えられて、情報共有を行うものとする。ただし、一つのノードから送る情報であっても、送信先ノードによって、平均をとるノードの集合が異なるようにしている。また、図1におけるスイッチング装置1としてスイッチを、情報処理装置2−1〜2−nとしてパーソナルコンピュータまたはワークステーション(ノード)を備えているものとする。
【0044】
各ノードは、互いにバスで接続された一つ以上のネットワークカード、プロセッサ、記憶装置(キャッシュメモリ、メインメモリ、ディスク等)を有しており、これらを用いて通信部、情報制御部、記憶部が実現されている。各ノードの性能は同一であるとする。また、各ノード間の通信にかかるコストは等しく、各ノードはIPアドレスを持つものとする。以下、上述の実施の形態の説明にフローチャート(図3、図5、図6)に対応させながら、この実施例の説明を行う。
【0045】
始めに、情報共有開始メッセージが、情報を共有するノード全てに送信される。以下、情報共有開始メッセージを受け取ったノードkの動作について述べる。情報共有開始メッセージは、通信部21−kから情報管理部35−kに渡され、情報管理部35−kは、あらかじめ記憶部23−kに蓄えられたファイルから、制約条件を得る(ステップA1)。制約条件として以下の条件(表2参照)が与えられたとする。ただし以下に示した条件は、上述の実施の形態での制約条件、「ノードID:(送信先ノードID,送信する情報,送信する条件)」という書き方の省略形で記載されている。また、myIDは自ノードのIDを表す。
【0046】
【表2】
【0047】
ここで「modulo=8」は、ノードIDの演算を法8で行うことを表す。「i=[0,2]」はiが0,1,2の値をとることを表す。「cond=(myID-2i, avg(myID, myID+1, …, myID+2i-1), period=2i)」は、(送信先ノードID,送信する情報,送信する条件)のフォーマットで書かれた制約条件であり、ノード(myID-2i)にavg(myID, myID+1, …, myID+2i-1)を周期2iで送信することを表す。前記のノードIDごとに制約条件を記述する場合と同様に、送信条件には複数の条件を記述してよい。iが0,1,2をとるので、上記の「cond」以下に指定された条件と「interval」で指定された条件は、3つの送信先ノードに関する条件である。なお、iがとる値を直接指定したければ、ブレイスの中に書く。例えば、「i=[0, 1, 2]」となる。なお、無効なノードIDは、それが存在しないものとして扱われ、送信先ノードIDが無効な場合、及び送信情報を提供するノードのIDが全て無効だった場合には、情報送信は行われない。
【0048】
情報共有開始メッセージを受け取ったノードkは、自ノードが情報共有に参加することが制約条件に書かれていれば、情報共有に参加することを他の情報共有参加ノードに送信する。また、他のノードから情報共有参加メッセージを受け取ったらアクノレッジを返信する。参加メッセージの返信を受け取ったら、返信したノードをIPアドレス順にソートして、ソートした順にIPアドレスをノード0、ノード1、…、と対応させる。上記動作のうち、情報の送受信は通信部21−kで、それ以外の動作は情報管理部35−kで行われる。また、参加メッセージを送っても返信しないノードがあれば、例えばIPアドレスが10.56.32.4のノードが返信してこなかった場合、そのIPアドレスを飛ばして次のIPアドレスである10.56.32.5のノードにIDとして3が割り当てられる、というようにする。そして、通信部21−kにノードIDとIPアドレスの対応表を送る。通信部21−kは、以降は送られた対応表にしたがってIPアドレスとノードIDの変換を自動的に行う(ステップA2)。
【0049】
上記制約条件を満たし、8ノードで情報を共有する場合を図7に図示する。図7では、ノードkを向く矢印が、実線であればノードk+1の情報の流れを、長鎖線であればノードk+2,k+3の情報の平均の流れを、点線であればノードk+4,k+5,k+6,k+7の情報の平均の流れをあらわしている。図7は、実施例1におけるデータの流れを示している。
【0050】
情報管理部35−kは、上記の制約条件をパースして、情報共有リスト24−kを作成する。与えられた情報送信条件は、送信先ノードによらず時刻1000t(tは自然数、また、以降は時間の単位をmsとする)において情報を送信する、となっているので、ノードkは送信条件でまとめて、「送信条件:(送信先ノードID,送信する情報),(送信先ノードID,送信する情報),…」という形の以下の送信リストを作る。
【0051】
current>=1000t: (k-1, avg(k)), (k-2, avg(k,k+1)), (k-4, avg(k,k+1,k+2,k+3))
ただし、「current>=1000t」は、現在時刻が1000tよりも大きければ成り立つ送信条件であり、送信条件が成り立った時に、コロン以下に書かれた送信先ノードに情報を送信する。情報管理部35−kは、上記制約条件をパースしているときに、タイムドリブン型の情報更新があることを周期指定制御部33−kに通知する。イベントドリブン型の情報更新はないので、範囲指定制御部34−kには何も通知されない。
【0052】
また、情報管理部35−kは、「受信条件:(情報送信元ノードID、受信情報、情報更新時刻),(情報送信元ノードID、受信情報、情報更新時刻),…」という形の以下の受信リストも作る。
【0053】
2000: (k+1, (k+1), lastk+1), (k+2, (k+2, k+3), lastk+2), (k+4, (k+4, k+5, k+6, k+7), lastk+4)
ただし、受信条件で指定されているのは最大更新間隔であり、最大更新間隔より長い間隔において情報更新がなければ、情報送信元ノードに障害が起きたとみなす。また、受信情報には、送られた情報がどのノードの情報に基づいて作られたかが書かれている。例えば、ノードk+2から送られた情報はノードk+2とk+3の情報に基づいたものであることを、上記の受信リストは表わしている。また、lastk+1はノードk+1から受け取った情報の更新時刻を表す。更新時刻の初期値は0である(ステップA3)。
【0054】
ステップA4では、受信情報管理部38−kは、新たに受信した情報があるかを調べる(ステップA4−1)。新たな受信情報がなければステップA4−5に進み、新たな受信情報があれば、障害検出部36−kがその情報の受信条件、すなわち時間2000よりも長い間情報が更新されていないかを受信リスト中の情報更新時刻を用いてチェックする。時間2000以上にわたって情報が更新されていなければ、ステップA2からやり直す(ステップA4−2)。正しく情報が更新されていれば、受信情報管理部38−kは、通信部21−kから受信した情報を受け取って記憶部23−kに格納する(ステップA4−3)。さらに、受信情報管理部38−kは、更新時刻も記憶部23−kに書き込み、どのノードから受け取った情報が更新されたのかを覚えておく(ステップA4−4)。ステップA4−5では、障害検出部36−kが、更新されていない情報で時間2000より長い間更新されていないものがあるかをチェックする。もしあれば、その情報の送信元ノードに障害が発生したとみなして、ステップA2へ進む。全ての受信条件が満たされていれば、つまり全ての情報の更新間隔が2000以下であれば、ステップA5に進む。
【0055】
ステップA5では、受信情報管理部38−kが、自ノードの情報を更新する。そしてステップA6では、情報送信を行う。時刻が1000tを過ぎると送信条件が満たされる(ただし、tは情報送信が行われる度に周期指定制御部33−kによってインクリメントされ、tの値は周期指定制御部33−kによって保持される)が、満たされた条件の検出は周期指定制御部33−kによって行われる。満たされた送信条件がなければステップA6−4に進む(ステップA6−1)。満たされた条件があれば、間接転送制御部32−kが、送信する情報を作成するのに必要な情報を要約化制御部31−kに渡す。例えば、この実施例の送信条件が満たされるときにはノードk−1に自ノードの情報を送信することが情報共有リスト24−kから分かるので、間接転送制御部32−kは、自ノードの情報を要約化制御部31−kに渡すように、受信情報管理部38−kに依頼する。要約化制御部31−kは、受け取った情報の平均をとり、これを送信情報管理部37−kに送る。また、ノードk−2に自ノードとノードk+1の情報を送るので、間接転送制御部32−kは、自ノードの情報とノードk+1から受け取った情報を要約化制御部31−kに送るように、受信情報管理部38−kに依頼する。要約化制御部31−kは、受け取った情報の平均をとり、これを送信情報管理部37−kに送る。そして、ノードk−4に自ノードとノードk+1,k+2,k+3の情報を送るので、間接転送制御部32−kは、自ノードの情報とノードk+1,k+2から受け取った情報を要約化制御部31−kに送るように、受信情報管理部38−kに依頼する。要約化制御部31−kは、受け取った情報の平均をとる。ただしこの時、ノードk+2から受け取った情報はノードk+2,k+3の情報の平均なので、自ノードの情報とノードk+1から受け取った情報とノードk+2から受け取った情報を2倍したものを足して、4で割った値が平均となる。これを送信情報管理部37−kに送る(ステップA6−2)。
【0056】
送信情報管理部37−kは、要約化制御部31−kから受け取った情報を、通信部21−kに送って、情報共有リスト24−kに指定されたノードへ送信する(ステップA6−3)。
【0057】
ここでは、範囲指定制御部34−kは、イベントドリブン型の送信条件はないこと(ステップA3で情報管理部から何の通知も受けていないこと)を知っているので、ステップA4に戻る(ステップA6−4)。
【0058】
このようにしてこの実施例1ではスケーラブルな情報共有が行われる。
【0059】
従来の情報共有方法の1つであるFLATでは、全対全の通信が行われるので、一周期あたりの情報送信回数は、8×8=64となるが、実施例1の方法では、8 log2 8=24にしかならない。また、ノード数がn個の時には、制約条件において、
【0060】
【数1】
【0061】
という指定を行うことにより、情報共有コストをO(n2)からO(n log n)に削減できる。この情報共有コストの削減は、要約化制御部31−kによるものである。一方で、送信先ノードによって異なる要約化を行うことは、送信先ノードによって異なる情報を転送することを意味する。間接転送制御部32−kは、この機能を要約化制御部32−kに提供する。
【0062】
この実施例の情報共有方法の実行中に負荷の不均衡が生じ、負荷分散を行う場合について考える。負荷分散アルゴリズムとしては、J. A. Stankovicの論文、「Simulations of Three Adaptive Decentralized Controlled, Job Scheduling Algorithms」、Computer Networks, 8(3), pp. 199-217, June, 1984(非特許文献2)、で用いられるアルゴリズム(以下、これをSTANKOVICと呼ぶ)を適用する。STANKOVICでは、最もタスク数が少ないノードと自ノードが持つタスク数の差がある値bias以上であれば、タスクが一つ移送される。簡便のため、ここではbias=2を仮定する。bias=1とするとタスクの移送が繰り返されることがある。
【0063】
ノードkが持つタスクの数をx(k)と書き、{x(0),x(1),…,x(7)}という形でシステムの負荷の状態を表すとする。そして、2のd乗個のノードの情報を要約化して送るノードは距離dにあるとする。ただし、情報更新周期は十分細かい、つまり正しい情報が得られるとする。まず、距離1のノードの間でのみタスクの移送が生じるケース、例えば負荷が{7,1,6,2,5,3,4,4}を考える。このときノード0が持つ情報は、「avg(1)=0, avg(2, 3)=4, avg(4, 5, 6, 7)=4」であるので、ノード0からノード1へタスクが一つ移送される。同様に各ノードについて考えて、{6,2,5,3,4,4,4,4}という負荷状態になる。負荷が完全に均衡しているケースは{4,4,4,4,4,4,4,4}であり、上記状態を完全均衡するために動かさなければならないタスクの最小数(以下、これを不均衡数と呼ぶ)は3である。ところが、上記情報共有方法と同様の周期で、従来技術であるFLATで情報共有を行うとすると、ノード3以外のノードがノード1にタスクを一つずつ移送するので、{6,7,5,2,4,2,3,3}となって、不均衡数は6である。このケースでは、実施例1の情報共有方法によって、より少ないコストでより均衡した負荷が実現される。これは、情報を要約化していることに起因する。情報量が削減されているにもかかわらず負荷の均衡をとることができるのは、送信先ノードごとに異なる精度の情報を送信することで、ノードごとに異なるシステム負荷イメージを持っていることに起因する。一つの低負荷なノードと多数の高負荷なノードがある場合に、従来技術のように、各ノードが同一の情報に基づいて負荷分散を行うとすると、たとえ正確な情報に基づいて負荷分散を行っていても、低負荷なノードにいっせいにタスクが移送され、あまり負荷の均衡がとれない、ということが起こる。
【0064】
さらに、距離2でのタスクの移送が生じるケース、例えば負荷が{7,6,1,2,5,4,4,3}であるケースを考える。これは距離1でのタスクの移送のみが生じる負荷の例、{7,1,6,2,5,3,4,4}の順序を入れ替えたものである。FLATを情報共有方法としている場合は、不均衡数はノードIDと負荷の組み合わせに依存しないので、不均衡数は変わらず6である。実施例1の情報共有方法においては、ノード0が持つ情報は、「avg(1)=6, avg(2, 3)=1.5, avg(4, 5, 6, 7)=4」なので、ノード0からノード2(各距離の情報送信ノードをタスク移送先として選択する方針をとっている)にタスクが一つ移送される。そして各ノードの振る舞いを考えると、最終的に{6,5,3,2,5,4,4,3}となり、不均衡数は4となる。不均衡数の悪化は不正確な情報に基づいたタスク移送を行ったことに起因するが、それでもFLATの不均衡数よりはよいし、情報共有コストも低いままである。
【0065】
距離3でのタスクの移送が生じるケース、例えば負荷が{7,6,5,4,4,3,2,1}であるケースを考える。ノード0が持つ情報は「avg(1)=6, avg(2, 3)=4.5, avg(4, 5, 6, 7)=3」であるため、ノード0からノード4へ一つタスクが移送される。各ノードの振る舞いを同様に考えて、{6,5,5,4,5,4,2,1}が最終的な負荷の状態となり、実施例1による不均衡数は5となる。距離2でのタスク移送を行った場合と同様、不均衡数の悪化は不正確な情報に基づいたタスク移送を行ったことに起因するが、それでも従来技術であるFLATの不均衡数よりはよいし、情報共有コストも低いままである。
【0066】
本実施例では、負荷分散において上述した情報共有方法を用いて、情報共有コストをO(n2)からO(n log n) に削減したにもかかわらず、負荷の均衡はより強く図られた。これは、局所的な負荷の均衡を正確な情報に基づいてとり、大域的な負荷の均衡は精度の低い情報に基づいて行うことと、ノードごとに異なるシステムの負荷イメージを持たせることが、情報制御部22−kにより送信先ノードによって異なる精度の情報を送ることで、可能となっているためである。
【0067】
《実施例2》
実施例2では、周期的に情報を更新するが、あるノードから複数のノードに情報を送信するにあたっては送信先ノードによっては周期が異なる、という制約条件が与えられて、情報共有を行う。構成要素、動作において、実施例1と実施例2の違いは、情報共有リスト24−kの構成とステップA4−2、ステップA4−5、ステップA6−1での処理のみであるので、これらについてのみ述べる。
【0068】
今、以下(表3参照)の制約条件が与えられたとする。
【0069】
【表3】
【0070】
このときのノードkへの情報の流れは図8に示す通りとなる。実施例1と同様に、ノードkにおいて以下(表4参照)の情報共有リストを作成する。
【0071】
【表4】
【0072】
また、実施例1と同様に受信リストも作る。ただし、受信条件が2周期以内に情報を受け取ることなので、送信元ノードごとに成功とみなされる情報受信間隔が異なることとなり、この情報受信間隔で受信情報を分ける。すると、以下(表5)のリストが作成できる。
【0073】
【表5】
【0074】
実施例1のステップA4−2、A4−5では、一つの受信条件に基づいて障害を検出していたが、本実施例では、送信元によって異なる受信条件が設定され、障害検出部36−kは複数の受信条件をチェックする。
【0075】
実施例1のステップA6−1においては送信条件が単一の周期であったが、実施例2のステップA7−1では送信条件は複数の周期であり、周期指定制御部33−kはこれらの条件が成り立っているかをチェックする。周期指定制御部33−kは、時刻500t1,1000t2,2000t3が現在時刻以上となったときに送信条件の成立を検出する。ただし、t1,t2,t3は、現在時刻が500t1,1000t2,2000t3以上になった時に、それぞれ周期指定制御部33−kによってインクリメントされる。
【0076】
本実施例では、実施例1のようには送信情報の平均をとっていないが、送信ノードの情報を平均の代わりに代表値として用いている。例えば、ノードk+9がノードkに送る情報はノードk+9の情報であるが、ノードk+9〜k+17の情報の平均をノードk+9の情報で置き換えるとすれば、本実施例では各ノードが他の全ノードの情報を集めていることとなる。このような方法が有効な例として、ノードk+9〜k+17のCPUレディキューの長さを情報として共有するとし、ノード番号が近いノードの間でCPU負荷の均衡がよく取られているケースがある。なぜならば、ノードk+9〜k+17のCPUレディキュー長の平均と、ノードk+9のCPUレディキュー長の差は少ないと考えられるからである。
【0077】
この実施例2では27ノードで情報共有を行っているので、従来技術であるFLATで情報共有を行い、周期500(本実施例の方法における最短の情報送信周期と等しい周期)で情報更新を行う場合、27×27=729で500msあたり729ノードへの情報の送受信が行われる。一方、本実施例の方法では、27×(2×1+2×0.5+2×0.25)=94.5で、500msあたり94.5ノードへの情報の送受信を行うだけで済む。また、ノード数がnの時には、制約条件において、
【0078】
【数2】
【0079】
という指定を行うことになる。この時、従来技術であるFLATの情報共有コストはO(n2)であるのに対し、この実施例2の方法のコストはo(n)である。なぜなら、送信先ノードが増えても情報送信周期を倍の長さにするため、情報共有コストは、n×2×((1−(1/2)n)/(1−1/2))<n×2×2=4nで抑えられるためである。一部のノードの情報は、実施例1と同様に、FLATで情報共有を行った場合と同じ精度で共有される。
【0080】
従来技術であるFLATにおける周期とこの実施例の方法における最短の情報送信周期が等しい場合、この実施例では、1ノード及び2ノードの同時障害はFLATと同じ時間で検出できる。ただし、3ノード及び4ノードの同時障害はFLATの2倍、5ノード及び6ノードの同時障害は4倍の検出時間がかかる。これは情報共有コストを削減したために生じることであるが、3、4ノードの同時障害が起きる確率は相当に小さく、万が一それが起きたときには長い時間がかかってもこれを検出したい、という要求に答えることができる。5、6ノードの同時障害はより低い確率でおきるため、検出までにはさらに長い時間を要する。しかしながら、障害のほとんどのケースを占めるであろう1,2ノードの障害検出に関しては、情報共有コストが削減されているにもかかわらず、FLATと同様に行える。
【0081】
《実施例3》
実施例3では、タイムドリブン型の周期的な情報更新ではなく、情報の値が変化したときに情報を更新するイベントドリブン型の送信条件が与えられた場合の情報共有について述べる。
【0082】
この実施例では、ステップA1においては実施例1に書かれた動作と同様の動作を行うが、図1のスイッチング装置1としてスイッチを仮定し、各ノード間の通信コストは同等であるとしていた実施例1とは異なり、スイッチング装置1が5つの8ポートスイッチとそれらをつなぐ上位のスイッチからなり、8ポートスイッチを越える通信には上位スイッチを経由する通信コストが付加されるものとする。そして、ここではIPアドレスで表わされる合計40個のノード10.56.32.1〜10.56.32.8,10.56.32.9〜10.56.32.16,10.56.32.17〜10.56.32.24,10.56.32.25〜10.56.32.32,10.56.32.33〜10.56.32.40がそれぞれ5つの8ポートスイッチに接続され、同じ8ポートスイッチに接続されたノード同士でノードグループを作るとする。
【0083】
今、以下(表6参照)の制約条件が与えられたとする。
【0084】
【表6】
【0085】
この制約条件は、グループ内のノードには、自ノードの情報を、「set=[0,1), [1,3), [3,6), [6,∞)」という条件で送信することを、また、グループでi番目に若いIDを持つノードは、他のグループのi番目に若いIDを持つノードに、自ノードの情報を、「set=[0,2), [2,6), [6,10), [10,∞)」という条件で送信することを表している。上記では、前述した実施の形態と同様のフォーマットで制約条件を記述しているが、煩雑さを避けるため、ノード0とノード39に対する制約条件を書くにとどめる。このときのノードkへの情報の流れは図9に示す通りである。
【0086】
送信条件に関しては、送信先ノードが同じグループ内である場合には、「set=[0,1), [1,3), [3,6), [6,∞)」となっている。これは、情報の値は0以上1未満、1以上3未満、3以上6未満、6以上、の四つの状態のいずれかに属するものとして、情報の値が異なる状態に移った時に満たされる条件である。例えば、ノード情報の値が2であれば、1以上3未満の状態に属しているが、その値が3に変化すると、3以上6未満という異なる状態に変化する。このとき、条件「set=[0,1), [1,3), [3,6), [6,∞)」が満たされる、と定める。また、送信条件にsetの記述があるので、情報管理部35−0は、範囲指定制御部34−0にイベントドリブン型の送信条件があることを通知する。
【0087】
ここで、「x(0)=[0,1), x(1)=[1,3), x(2)=[3,6), x(3)=[6,∞)」と、状態state(=0, 1, 2, 3)に対して集合x(state)を定め、ノード情報の値がx(state)に属するときに、その値はxに関して状態stateをとる、という言い方をする。例えば、2はsに関して状態1をとる、という。すると、送信条件「set=[0,1), [1,3), [3,6), [6,∞)」は、状態に対する集合を定め(上記のx(state))、変化する値に対して直前の状態がstateであったとすると、現在の値がstateに属していないときに成立する条件である。なお、状態に対する集合は、各状態に対する集合の和が値の値域を包含し、範囲指定制御部34−kが、値から一意に値が属する状態を判別できれば、自由に決めることができる。
【0088】
上記の制約条件では、二種類のsetの指定、つまり送信条件がある。そこで、状態に対する集合x(s),y(s)を次のように生成する(ただし、s=0,1,2,3)。x(s),y(s)がどのような集合なのかは、範囲指定制御部34−kに記憶される。
【0089】
x(0)=[0,1), x(1)=[1,3), x(2)=[3,6), x(3)=[6,∞)
y(0)=[0,2), y(1)=[2,6), y(2)=[6,10), y(3)= [10,∞)
そして、以下の情報共有リストを作成する(図3のステップA3。ステップA1、ステップA2については、実施例1と同様)。ただし煩雑さを避けるため、ノード0の情報共有リストの作成についてのみ述べる。まず、送信リストは以下(表7参照)の通りである。
【0090】
【表7】
【0091】
ただし、上記条件のチェックは、ノード0の情報avg(0)の値が変化した時に行われる。上記のavg(0)は、値が変化した直後(現在)のavg(0)であり、stateは値が変化する直前(前回チェック時)のavg(0)のxに関する状態を表す。同様に、g-stateは過去のavg(0)のyに関する状態を表す。state,g-stateの値に関しては、範囲指定制御部34−0が検出し、記憶する。
【0092】
受信リストは以下の通りである。ただし、受信条件の「∞」は、常に成立する条件を表す。
∞: (1,(1),last1), (2,(2),last2), (3,(3),last3), (4,(4),last4), (5,(5),last5), (6,(6),last6), (7,(7),last7), (8,(8),last8), (16,(16),last16), (24,(24),last24), (32,(32),last32)
ステップA4、ステップA5に関しては、実施例1と同様である。その後、ステップA6においては、周期指定制御部33−0がタイムドリブン型の条件チェックを行うが、この実施例では、タイムドリブン型の条件がないことを周期指定制御部33−0は既に知っているので、ステップA6−4に進む(ステップA6−1)。また、範囲指定制御部34−0はイベントドリブン型の条件があることをステップA3で知っているので、ステップA6−5に進む(ステップA6−4)。
【0093】
そして間接転送制御部32−0は、受信情報管理部38−0に更新された情報を問い合わせ、更新された情報を含む送信情報の更新を、要約化制御部31−0に依頼する。要約化制御部31−0は、演算結果を送信情報管理部37−0に渡す(ステップA6−5)。範囲指定制御部34−0は、各イベントドリブン型の送信条件が満たされたかどうかの判定を行う。ここで、範囲制定制御部34−0は、前回条件チェック時のstateとg-stateとを記憶しており、値が属していた状態を判別できるので、前回条件チェック時の値が属する状態に、現在の値も属するかどうかを判定する。なお、範囲指定制御部34−0は、状態変化が起きて送信条件が成立したら、記憶している状態を更新する(ステップA6−6)。そして、送信情報管理部37−0に、状態が変化した情報の送信を依頼し、送信情報管理部37−0は通信部21−0に送信する情報を渡す(ステップA6−7)。
【0094】
この実施例3の情報共有方法では、グループ間をまたぐ情報更新の頻度は、グループ内の情報更新の頻度以下である。なぜなら、任意の値aが与えられて、aがx(state)かつy(g-state)に属するとすると、任意のaの変化に対して、g-stateが変化すればstateも必ず変化するためである。これは、グループ内のノード間での情報共有を緊密に行いつつ、上位スイッチのトラフィックを削減するためである。このようなことができるのは、情報送信先ノードごとに異なるイベントで情報を送信できるようにする範囲指定制御部34−0があるからである。
【0095】
タイムドリブン型の情報更新では、不要なつまり情報が変化していない時に情報更新を行ってしまう一方で、送信時刻が来ないと情報の変化を送信できない、という欠点がある。この実施例で述べたイベントドリブン型情報更新方法によれば、このタイムドリブン型の情報更新方法が有する問題点は解決する。
【0096】
《実施例4》
実施例4では、自ノードが持つノード情報の一部の平均を送るという制約条件が与えられて、情報共有を行う。ただし、一つのノードから送る情報であっても、送信先ノードによって、平均をとるノードの集合が異なっている。また、周期的に情報を更新するが、あるノードから複数のノードに情報を送信するにあたっては、送信先ノードによって周期が異なる。実施例2と異なるのは、制約条件と情報共有リストの作成(ステップA3)であるので、与えられる制約条件と情報共有リストの作成方法についてのみ述べる。また、ステップA7では、実施例2では行われていない情報の平均をとるという操作を加えるが、これについては実施例1で述べられているので、説明を省略する。
【0097】
今、以下(表8参照)の制約条件が与えられたとする。
【0098】
【表8】
【0099】
このときのノードkへの情報の流れは、図10に示す通りとなる。そして、情報共有リストに含まれる送信リスト作成すると、以下(表9参照)のようになる。
【0100】
【表9】
【0101】
そして、以下(表10参照)の受信リストが作成できる。
【0102】
【表10】
【0103】
この実施例4は、実施例1と実施例3が有する利点を併せ持っている。
【0104】
《実施例5》
実施例5では、自ノードが持つノード情報の一部の平均を送るという制約条件を与えられて、情報共有を行う。ただし、一つのノードから送る情報であっても、送信先ノードによって、平均をとるノードの集合が異なる。また、情報更新はイベントドリブンで行う。実施例3とこの実施例5との違いは、制約条件と情報共有リスト(ステップA3)であるので、制約条件と情報共有リストの作成方法について述べる。また、ステップA7では実施例3では行われていない情報の平均をとるという操作を加えるが、これについては実施例1で述べられているので、説明を省略する。
【0105】
今、以下(表11参照)の制約条件が与えられたとする。
【0106】
【表11】
【0107】
このときのノードkへの情報の流れは、図11に示す通りとなる。また、ノードの情報はスカラー値で表されるとする。state,g1-state,g2-stateは、それぞれavg(k), avg(k,k+1,k+2,k+3), avg(k,k+1, …, k+11)の更新前の状態であり、stateに対して集合x(s)を、g1-stateとg2-stateに対して集合y(s)を生成する(s=0,1,…,5)。実施例3では、記憶すべき状態の数は2つであったが、本実施例では、state,g1-state,g2-stateの三つである。これは、記憶すべき状態の数が、condで指定される送信情報とsetで指定される送信条件との組み合わせの数に等しいためである。
【0108】
【表12】
【0109】
上記のようにx(s)が与えられると、s’(s’≠s)に対して、x(s)とx(s’)のインターセクション(共通集合)は空集合ではない。したがって、ノードの情報の値が属する状態が、その値とxだけからでは一意に決まらない。しかし、ノードの情報の値が変化する直前にとっていた状態がdであり、ノードの情報の値が、変化後に、x(e1),…,x(em)に含まれるとすると、ノードの情報の値の変化後の状態は|s−ei|を最小にするeiであるとして、実施例3においてだけではなく、この実施例5においても、ノードの情報の値が属する状態は一意に定まる。y(s)についても同様である。範囲指定制御部34−kは、stateとg1-state,g2-stateを記憶しているので、上記のノード情報の値が属する状態を決定する。
【0110】
その結果、情報共有リストに含まれる送信リストは以下(表13参照)のようになる。
【0111】
【表13】
【0112】
受信リストは、以下(表14)の通りとなる。
【0113】
【表14】
【0114】
実施例5は、実施例1と実施例3が有する利点を併せ持つだけでなく、状態に対して定められる集合がインターセクションを有する、という利点も有する。インターセクションを持たない集合を定めると、集合の境界をまたいでノード情報の値が小さく頻繁に変化した場合に、値の変化が小さいにも関らず、情報送信が頻繁に行われてしまう。状態に対して定められる集合にインターセクションを持たせたこの実施例では、状態の変化時に集合の境界も変化するため、上記の問題を解決できる。例えば上記x(s)からインターセクションを除いて、次のようにx’(u)を作る(u=0,1,2,3)。
【0115】
x'(0)=[0,1), x'(1)=[1,3), x'(2)=[3, 6), x'(3)=[6,∞)
すると、情報の値が2と3を交互にとった場合、x’に関する状態は値が変化するたびに1と2の状態を交互に変化し、頻繁に情報送信が起こる。一方、xに関する状態に関しては、情報の値が最初に属する状態から状態3への変化は起こりえるが、その後は状態変化が起こらず、結果的に情報送信の頻度が減る。
【0116】
《実施例6》
実施例6では、自ノードが持つノード情報の一部の平均を送るという制約条件が与えられて、情報共有を行う。ただし、一つのノードから送る情報であっても、送信先ノードによって、平均をとるノードの集合が異なる。また、ノードの情報そのものではなくノード情報の集合を考え、情報がどの集合に属するかをイベントドリブンで更新する。ただし送信先ノードによって、これらの情報の集合の決められ方は異なる。さらに、送信先ノードによっては周期的な情報更新を行い、この周期も情報送信先ノードによって異なる。実施例5とこの実施例6の違いは、制約条件と情報共有リスト(ステップA3)であるので、制約条件と情報共有リストの作成方法のみについて述べる。また、ステップA6では実施例5では行われていないイベントドリブン型の情報送信に加えてタイムドリブン型の情報送信が行われるので、実施例5では行われなかった図6のステップA6−2とA6−3の処理が追加される。ここでの処理は実施例2と同様に行う。
【0117】
今、以下(表15参照)の制約条件が与えられたとする。
【0118】
【表15】
【0119】
この制約条件下でのノードkへの情報の流れは、図12に示す通りである。そして、実施例2,3にならって、この制約条件から、情報共有リストに含まれる送信リストを作成する。ただし、stateはavg(k)がxに関してとる状態であり、g-stateはavg(k, k+1)がyに対してとる状態である。x,yに関しては実施例5と同様である。
【0120】
【表16】
【0121】
そして、以下(表17参照)の受信情報のリストも作成できる。
【0122】
【表17】
【0123】
この実施例6は、実施例4,5が有する利点を併せ持ち、タイムドリブン型の情報更新が適切なノードにはタイムドリブン型の情報更新を、イベントドリブン型の情報更新が適切なノードにはイベントドリブン型の情報更新を適用できる。《実施例7》
実施例7では、自ノードが持つノード情報の一部の平均を送るという制約条件が与えられて、情報共有を行う。ただし、一つのノードから送る情報であっても、送信先ノードによって、平均をとるノードの集合が異なる。また、ノードの情報そのものではなくノード情報の集合を考え、情報がどの集合に属するかをイベントドリブンで更新する。送信先ノードによっては周期的な情報更新を行い、周期的な情報更新とイベントドリブンで行われる情報更新とが併用される。実施例6とこの実施例7との違いは、制約条件と情報共有リスト(ステップA3)のところのみであるので、制約条件と情報共有リストの作成方法のみについて述べる。
【0124】
今、以下の制約条件が与えられたとする。
【0125】
【表18】
【0126】
この制約条件下での情報の流れは、図3に示す通りとなる。そしてこの制約条件から、以下(表19参照)の送信リストが作成される。
【0127】
【表19】
【0128】
そして、以下(表20参照)の受信情報のリストも作る。
【0129】
【表20】
【0130】
実施例6では、一つの情報送信先ノードに対しては、タイムドリブン型またはイベントドリブン型のいずれか一方の送信条件しか指定されていなかったが、この実施例7では、一つの情報送信先ノードに対して、タイムドリブン型とイベントドリブン型の送信条件の両者が指定されている。このことによって、周期よりも短い時間における情報の変化を知ることができる。さらに、イベントドリブン型の情報更新方法では、情報が送信されないのは情報の変化がないからなのかそれとも障害が発生しているかを見分けることができないために障害検出はできなかったが、本実施例では、タイムドリブン型の情報更新も併せて行うため、障害検出が可能となっている。
【0131】
《実施例8》
実施例8では、実施例1において、送信先ノードによって周期の開始時刻をずらした場合について述べる。実施例1とこの実施例8との違いは、制約条件と情報共有リスト(ステップA3)のところのみであるので、制約条件と情報共有リストの作成方法のみについて述べる。
【0132】
今、以下(表21参照)の制約条件が与えられたとする。
【0133】
【表21】
【0134】
ここで、「period=1000, offset=400」というのは、時刻1000t+400において情報送信を行うことを表す。上記制約条件から以下(表22参照)の送信リストを作成する。
【0135】
【表22】
【0136】
その結果、受信リストは、以下の通りとなる。
2000: (k+1,(k+1),lastk+1), (k+2,(k+2,k+3),lastk+2), (k+4,(k+4,k+5,k+6,k+7),lastk+4)
この実施例8において、全てのoffsetを同じ値にして情報の転送を行うと、ノードkがノードk−4に送る情報は、現在のノードkの情報と、1000ms前のノードk+1の情報と、1000ms前のノードk+2の情報と、2000ms前のノードk+3の情報の平均となる。そして、転送による遅延の最大値は2000msとなる。この実施例のように、送信先ノード毎に異なるoffsetを指定すれば、ノードkがノードk+4に送る情報は、ノードkがノードk−4に送る情報は、現在のノードkの情報と、600ms前のノードk+1の情報と、300ms前のノードk+2の情報と、600ms前のノードk+3の情報の平均になり、転送による遅延の最大値は600msとなる。したがって、情報の最大遅延を2000msから600msに削減することができる。また、ノード0から送信される情報のoffsetは0ms、ノード1から送信される情報のoffsetは100ms、…、というように、異なるノードに対して異なるoffsetを指定する方法をとっても同様の効果を得られる。
【0137】
【発明の効果】
以上説明したように本発明は、ノード数によらず、効率的にノード間での情報共有を達成できるようになる、という効果がある。
【図面の簡単な説明】
【図1】本発明の実施の一形態の情報共有方法が適用されるシステムの構成の一例を示すブロック図である。
【図2】情報制御部の構成例を示すブロック図である。
【図3】本発明の実施の一形態の情報共有方法での動作を示すフローチャートである。
【図4】情報共有リストの構成例を示す図である。
【図5】図3のステップA4の動作を示すフローチャートである。
【図6】図3のステップA6の動作を示すフローチャートである。
【図7】実施例1を説明するための図である。
【図8】実施例2を説明するための図である。
【図9】実施例3を説明するための図である。
【図10】実施例4を説明するための図である。
【図11】実施例5を説明するための図である。
【図12】実施例6を説明するための図である。
【符号の説明】
1 スイッチング装置
2−1〜2−n 情報処理装置
21−1〜21−n 通信部
22−1〜22−n 演算部
23−1〜23−n 記憶部
24−1〜24−n 情報共有リスト
31−1〜31−n 要約化制御部
32−1〜32−n 間接転送制御部
33−1〜33−n 周期指定制御部
34−1〜34−n 範囲指定制御部
35−1〜35−n 情報管理部
36−1〜36−n 障害検出部
37−1〜37−n 送信情報管理部
38−1〜38−n 受信情報管理部
Claims (21)
- 複数のノード間でノード情報を共有する方法において、
少なくとも前記ノードの1つは、少なくとも送信先ノードと送信情報と送信条件とからなる送信リストを記憶する記憶装置と、制御手段とを有し、
前記送信条件は、送信周期、最大送信間隔、送信周期の開始時刻、前記ノード情報の値域または受信情報の値域の部分集合の少なくとも1つに関するものであり、
前記送信情報は、前記複数のノード間でノード情報を共有するための情報であって自ノードから他ノードに実際に受信しようとする情報であり、前記受信情報は他ノードから当該自ノードが実際に受信した情報であり、
前記制御手段が、自ノードの記憶装置に記憶されている前記送信リストを参照し、前記参照により取得した送信条件が満たされていると判断される送信リストの送信先ノードに対し、当該送信リストにおける前記送信情報を送信する制御を行うことを特徴とする情報共有方法。 - 前記記憶装置が、さらに、少なくとも送信元ノードと前記受信情報と最大更新間隔に関する受信条件とからなる受信リストを記憶し、
前記送信元ノードは前記受信情報を当該自ノードに送信したノードであり、
前記制御手段が、前記記憶装置に記憶されている前記受信リストを参照し、前記参照により得た、受信条件が満たされていると判断される受信リストの送信元ノードに応じて、当該送信元ノードからのノード情報を共有するための情報を受信するか否かを決定することを特徴とする請求項1に記載の情報共有方法。 - 前記送信先ノードに送信する送信情報の精度を削減する場合に、前記制御手段が、前記送信リストで指定されたノード情報または受信情報からなる複数の情報に対して演算を施して得た値を送信情報とすることにより、個々のノード情報または受信情報をそのまま送信情報とする場合よりも、前記相手先ノードに送信される送信情報の情報量を削減することを特徴とする請求項1または2に記載の情報共有方法。
- 前記制御手段が、前記送信リストの参照により取得した前記送信条件に前記送信周期が含まれるときに、前記送信先ノードに応じてノード情報の送信周期を変えることにより、前記ノード情報を共有するための情報であって前記送信先ノードに送信する情報の精度を当該送信先ノードに応じて変えることを特徴とする請求項1乃至3のいずれか1項に記載の情報共有方法。
- 前記送信先ノードが複数ある場合に、前記制御手段が、前記送信リストの参照により取得した前記送信条件に前記送信周期の開始時刻が含まれるときに、前記送信先ノードに応じて前記送信周期の開始時刻を設定することにより、送信先ノードに応じて前記送信周期の開始時刻を異ならせることを特徴とする請求項4に記載の情報共有方法。
- 前記制御手段が、前記送信リストの参照により取得した前記送信条件に含まれる値の範囲に関する複数の領域によって、範囲指定制御部に保持された前記ノード情報の値の取り得る値域を分割し、他のノード情報の変化によってノード情報の値が変化して以前とは異なる領域に属した時に当該ノード情報を送信することを特徴とする請求項1乃至5のいずれか1項に記載の情報共有方法。
- 前記送信リストの参照により取得した前記送信条件に含まれる前記送信先ノードに関する前記値の範囲に関する複数の領域を前記送信先ノードに応じて設定することにより、前記値域を分割する領域の設定を送信先ノードに応じて異ならせることを特徴とする請求項6に記載の情報共有方法。
- 複数のノードから構成され、前記複数のノード間でノード情報を共有するネットワークシステムにおいて、
少なくとも前記ノードの1つは、
少なくとも送信先ノードと送信情報と送信条件とからなり、前記送信条件が送信周期、最大送信間隔、送信周期の開始時刻、前記ノード情報の値域または受信情報の値域の部分集合の少なくとも1つに関するものである送信リストを記憶する記憶装置と、
前記記憶装置に記憶された前記送信リストを参照して送信条件と送信情報とを取得し、前記取得した送信条件がで満たされていると判断される送信リストの送信先ノードに対し、当該送信リストにおける前記送信情報を送信する制御を行う制御手段と、
を有し、
前記送信情報は、前記複数のノード間でノード情報を共有するための情報であって自ノードから他ノードに実際に受信しようとする情報であり、前記受信情報は他ノードから当該自ノードが実際に受信した情報であることを特徴とするネットワークシステム。 - 前記記憶装置には、さらに、少なくとも送信元ノードと前記受信情報と最大更新間隔に関する受信条件とからなる受信リストが記憶されており、
前記送信元ノードは前記受信情報を当該自ノードに送信したノードであり、
前記制御手段は、前記記憶装置に記憶された前記受信リストを参照し、前記参照により得た、受信条件が満たされていると判断される受信リストの送信元ノードに応じて、当該送信元ノードからのノード情報を共有するための情報を受信するか否かを決定することを特徴とする、請求項8に記載のネットワークシステム。 - 前記制御手段は、前記送信先ノードに送信する送信情報の精度を削減する場合に、前記送信リストで指定されたノード情報または受信情報からなる複数の情報に対して演算を施して得た値を送信情報とすることにより、個々のノード情報または受信情報をそのまま送信情報とする場合よりも、前記相手先ノードに送信される送信情報の情報量を削減することを特徴とする請求項8または9に記載のネットワークシステム。
- 前記制御手段は、前記送信リストの参照により取得した送信条件に前記送信周期が含まれるときに、前記送信先ノードに応じてノード情報の送信周期を変えることにより、前記送信先ノードに送信する情報の精度を当該送信先ノードに応じて変えることを特徴とする請求項8乃至10のいずれかに1項に記載のネットワークシステム。
- 前記送信先ノードが複数ある場合に、前記制御手段は、前記送信リストの参照により取得した前記送信条件に前記送信周期の開始時刻が含まれるときに、前記送信先ノードに応じて前記送信周期の開始時刻を設定することにより、前記送信周期の開始時刻を送信先ノードに応じて異ならせることを特徴とする請求項11に記載のネットワークシステム。
- 前記制御手段は、前記送信リストの参照により取得した前記送信条件に含まれる値の範囲に関する複数の領域によって、範囲指定制御部に保持された前記ノード情報の値の取り得る値域を分割し、他のノード情報の変化によってノード情報の値が変化して以前とは異なる領域に属した時に当該ノード情報を送信する制御を行うことを特徴とする請求項8乃至12のいずれかに1項に記載のネットワークシステム。
- 前記送信リストの参照により取得した前記送信条件に含まれる前記送信先ノードに関する前記値の範囲に関する複数の領域を前記送信先ノードに応じて設定することにより、前記値域を分割する領域の設定を送信先ノードに応じて異ならせることを特徴とする請求項13に記載のネットワークシステム。
- 複数のノードから構成され前記複数のノード間でノード情報を共有するネットワークシステムに設けられるノード装置において、
少なくとも送信先ノードと送信情報と送信条件とからなり、前記送信条件が送信周期、最大送信間隔、送信周期の開始時刻、前記ノード情報の値域または受信情報の値域の部分集合の少なくとも1つに関するものである送信リストを記憶する記憶装置と、
前記記憶装置に記憶された前記送信リストを参照して送信条件と送信情報とを取得し、前記取得した送信条件が満たされていると判断される送信リストの送信先ノードに対し、当該送信リストにおける前記送信情報を送信する制御を行う制御手段と、
を有し、
前記送信情報は、前記複数のノード間でノード情報を共有するための情報であって自ノードから他ノードに実際に受信しようとする情報であり、前記受信情報は他ノードから当該自ノードが実際に受信した情報であることを特徴とするノード装置。 - 前記記憶装置には、さらに、少なくとも送信元ノードと前記受信情報と最大更新間隔に関する受信条件とからなる受信リストが記憶されており、
前記送信元ノードは前記受信情報を当該自ノードに送信したノードであり、
前記制御手段は、前記記憶装置に記憶された前記受信リストを参照し、前記参照により得た、受信条件が満たされていると判断される受信リストの送信元ノードに応じて、当該送信元ノードからのノード情報を共有するための情報を受信するか否かを決定することを特徴とする、請求項15に記載のノード装置。 - 前記制御手段は、前記送信先ノードに送信する送信情報の精度を削減する場合に、前記送信リストで指定されたノード情報または受信情報からなる複数の情報に対して演算を施して得た値を送信情報とすることにより、個々のノード情報または受信情報をそのまま送信情報とする場合よりも、前記相手先ノードに送信される送信情報の情報量を削減することを特徴とする請求項15または16に記載のノード装置。
- 前記制御手段は、前記送信リストの参照により取得した送信条件に前記送信周期が含まれるときに、前記送信先ノードに応じて前記ノード情報の送信周期を変えることにより、前記送信先ノードに送信する情報の精度を当該送信先ノードに応じて変えることを特徴とする請求項15乃至17のいずれか1項に記載のノード装置。
- 前記送信先ノードが複数ある場合に、前記制御手段は、前記送信リストの参照により取得した前記送信条件に前記送信周期の開始時刻が含まれるときに、前記送信先ノードに応じて前記送信周期の開始時刻を設定することにより、前記送信周期の開始時刻を送信先ノードに応じて異ならせることを特徴とする請求項18に記載のノード装置。
- 前記制御手段は、前記送信リストの参照により取得した前記送信条件に含まれる値の範囲に関する複数の領域によって、範囲指定制御部に保持された前記ノード情報の値の取り得る値域を分割し、他のノード情報の変化によってノード情報の値が変化して以前とは異なる領域に属した時に当該ノード情報を送信する制御を行うことを特徴とする請求項15または19に記載のノード装置。
- 前記送信リストの参照により取得した前記送信条件に含まれる前記送信先ノードに関する前記値の範囲に関する複数の領域を前記送信先ノードに応じて設定することにより、前記値域を分割する領域の設定を送信先ノードに応じて異ならせることを特徴とする請求項20に記載のノード装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002333741A JP4228193B2 (ja) | 2002-11-18 | 2002-11-18 | 情報共有方法、ネットワークシステム及びノード装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002333741A JP4228193B2 (ja) | 2002-11-18 | 2002-11-18 | 情報共有方法、ネットワークシステム及びノード装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004171123A JP2004171123A (ja) | 2004-06-17 |
JP4228193B2 true JP4228193B2 (ja) | 2009-02-25 |
Family
ID=32698372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002333741A Expired - Fee Related JP4228193B2 (ja) | 2002-11-18 | 2002-11-18 | 情報共有方法、ネットワークシステム及びノード装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4228193B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5038589B2 (ja) * | 2004-10-04 | 2012-10-03 | 株式会社日立製作所 | ディスクアレイ装置及びその負荷分散方法 |
JP7193429B2 (ja) * | 2019-08-15 | 2022-12-20 | Kddi株式会社 | デバイスシステム、デバイス、コンピュータプログラム及びデバイスシステム制御方法 |
-
2002
- 2002-11-18 JP JP2002333741A patent/JP4228193B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004171123A (ja) | 2004-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8032578B2 (en) | Using distributed queues in an overlay network | |
JP5450547B2 (ja) | 自己管理型分散メディエーションネットワーク | |
AU2004301718B9 (en) | Self-managed mediated information flow | |
US20140280398A1 (en) | Distributed database management | |
US20050055418A1 (en) | Method to manage high availability equipments | |
US8176200B2 (en) | Distributed aggregation on an overlay network | |
US20120297056A1 (en) | Extensible centralized dynamic resource distribution in a clustered data grid | |
CN104205756A (zh) | 并发进程执行 | |
JP2004518335A (ja) | 大量データの処理方法 | |
KR19980070065A (ko) | 통신 스택의 상대적으로 대규모인 데이터 객체의 처리를 관리하기 위한 시스템 및 그 방법 | |
US7774642B1 (en) | Fault zones for interconnect fabrics | |
JP2007529066A (ja) | アフィニティ管理のための方法およびシステム | |
JP2006340354A (ja) | 分散カーネルオペレーティングシステム | |
Yoon et al. | Foundations for highly available content-based publish/subscribe overlays | |
US7783786B1 (en) | Replicated service architecture | |
Corradi et al. | A DDS-compliant infrastructure for fault-tolerant and scalable data dissemination | |
US20060271663A1 (en) | A Fault-tolerant Distributed Data Processing System | |
JP5945543B2 (ja) | ミドルウェアマシン環境を含むシステム | |
JP4228193B2 (ja) | 情報共有方法、ネットワークシステム及びノード装置 | |
JP6740543B2 (ja) | 通信装置、システム、ロールバック方法及びプログラム | |
JP4818379B2 (ja) | フェイルオーバ機能を持つ分散システムおよび同システムにおけるフェイルオーバ方法 | |
JP2000200245A (ja) | 情報利用システム及び情報利用方法 | |
JP2006287919A (ja) | 通信ネットワーク、コンテンツ配信ノード、ツリー構築方法、コンテンツ配信制御プログラム | |
WO2013147829A1 (en) | Efficient distribution of subnet administration data over an rdma network | |
JP6915434B2 (ja) | 情報処理システム、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20041222 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041222 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051014 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070425 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080813 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081014 |
|
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: 20081105 |
|
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: 20081118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4228193 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |