JP3554471B2 - 分散コンピュータ環境におけるグループ・イベント管理方法及び装置 - Google Patents
分散コンピュータ環境におけるグループ・イベント管理方法及び装置 Download PDFInfo
- Publication number
- JP3554471B2 JP3554471B2 JP18212697A JP18212697A JP3554471B2 JP 3554471 B2 JP3554471 B2 JP 3554471B2 JP 18212697 A JP18212697 A JP 18212697A JP 18212697 A JP18212697 A JP 18212697A JP 3554471 B2 JP3554471 B2 JP 3554471B2
- Authority
- JP
- Japan
- Prior art keywords
- group
- event
- processor
- entry
- leader
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、分散コンピュータ環境に関し、特に、分散コンピュータ環境における1又は複数のプロセッサ(以下「ノード」とも称する)のグループについてネーム・サーバによりグループ・イベントを管理することに関する。
【0002】
【従来の技術】
分散コンピュータ環境におけるコンピュータは、並行にデータを処理する複数のコンピュータ・ノードを含む。このようなシステムの多くは、これらのノードを複数の区画へと組織化することができ、各区画が1又は複数のドメインを有する。各ドメインにおけるノードは、グループとして組織化される。1つのノードは、ただ1つのドメインに含まれてもよいが、複数のグループに含まれてもよい。そして、必要に応じてノードをグループに追加したりグループから取り除いたりできる。
【0003】
分散コンピュータ環境におけるプロセッサは並行に実行するので、複数のノードについて同時に同じグループに追加したり、削除したり、データを調べたりすることが可能である。グループが前の要求のために未だビジー状態であるときに、ノードからそのグループへ到着した要求を保持できることが重要である。しかも、後の要求が失われたりせず、あるいは、再度その要求を送るよう要求したりしないことが重要である。
【0004】
【発明が解決しようとする課題】
従って本発明の主な目的は、グループについてのメッセージを送信するノードの識別情報を記憶するために、各プロセッサ・グループの関係パーティ・セットを設けることである。
【0005】
本発明の更なる目的は、関係パーティ・セットに記憶されたノード識別情報の数及びグループ・リーダーの状態を決定することにより、そのグループの状態を決定することである。
【0006】
本発明の更なる目的は、グループ・リーダーが設定されていないグループに届くメッセージを記憶するルックアップ・キューを設けること、及び、グループ・リーダーが設定されたときそのルックアップ・キュー内のメッセージを処理することである。
【0007】
本発明の更なる目的は、テーブル内のエントリの索引番号によりプロセッサ・グループが識別されるように、各エントリが1つのプロセッサ・グループに対応する複数のエントリを有するテーブルを設けることである。
【0008】
本発明の更なる目的は、テーブルの各エントリに対応するグループが解消される毎にそのエントリ内の実体番号が増分されることにより、そのエントリが新しいグループのために再使用できるように、各エントリ内に実体番号を設けることである。
【0009】
本発明の更なる目的は、ドメイン内のグループに対して、そのグループ索引と実体番号との組合せである固有のトークンを設けることである。
【0010】
【課題を解決するための手段】
本発明においては、分散コンピュータ環境におけるプロセッサ・グループについてのグループ・イベントが、ネーム・サーバにより管理される。ネーム・サーバは、イベントを要求するノードの1つからメッセージを受信する。ネーム・サーバは、そのメッセージによりいずれのイベントが要求されているのかを判断し、そのイベントがいずれのグループについてのものかを判断し、そしてそのグループについての関係パーティ・セット内に、その要求しているノードの識別情報を記憶する。ネーム・サーバは、そのグループがグループ・リーダーを有するか否かを判断し、そしてグループ・リーダーがいない場合は、グループ・リーダーが設定されたときに処理されるルックアップ・キュー内のメッセージに応じてそのイベントが実行されるように記憶しておく。グループについてのイベントを要求する最初のノードは、ネーム・サーバによりグループ・リーダーとして設定される。グループの状態は、全くグループが成立していない状態を第1の状態とし、グループは成立しているがグループ・リーダーがいない状態を第2の状態とし、グループが成立しかつグループ・リーダーがいる状態を第3の状態とすることができる。グループの状態は、関係パーティ・セット内のノード識別情報の数及びグループ・リーダーの状態により決定することができる。
【0011】
本発明の上記及び他の目的、特徴及び利点は、図面と共に説明される以下の好適例についての記述により明らかとされる。
【0012】
【発明の実施の形態】
図1は、本発明により使用可能な分散コンピュータ・システム100の概略的構成図である。分散コンピュータ・システム100としては、International Business Machines Corporationから市販されているIBM RISC System/6000 Scalable POWERparallel System(SP)分散コンピュータ・システムがある。図1に開示された実施例は、全部で8フレームを有するSPコンピュータであり、各フレームが16個までのノードを有し、全部で128のノードが可能である。全てのノード106は、ローカル・エリア・ネットワーク(LAN)102により結合される。当業者には周知の通り、各ノード106はコンピュータそのものであり、RISC System/6000ワークステーションとすることができる。
【0013】
SPコンピュータ100のフレーム内の全てのノードはLANセグメントに含まれ、LANセグメントは、LANゲート104を介して他のLANセグメントと結合される。さらに、LAN102には制御ワークステーション(CWS)112が接続され、これは、SPコンピュータのオペレーションを制御する。制御ワークステーションは、直接アクセス記憶装置(DASD)114を有し、ここにシステム・データ・リポジトリー・ファイル(SDR)が記憶される。SDRファイルは、システム内のノードのリスト及びそれらの設定等の情報を含む。各ノード106もまた、SPコンピュータ100により処理されたデータを記憶するDASD装置107を含む。
【0014】
一実施例においては、各フレーム内のノードがさらに、IBM Scalable POWERparallel switch(SPS)105へ接続される。各フレームのSPSスイッチ105の各々は、バス110により他のフレームの隣のSPSスイッチ105へ接続される。
【0015】
周知の通り、CWSノード112が、LAN102を用いてノード106へメッセージ及びデータを送る一方、ノード106は、SPスイッチ105を用いて互いにメッセージ及びデータを送ることができる。
【0016】
SPコンピュータ・システムの各ノード106及びCWS112は、米国特許出願第08/640412号「A Method for Managing Membership of a Group of Processors in a Distributed Computing Environment」に記載されたグループ・サービス・デーモンを含む。各ノード106は、ソフトウェア若しくはハードウェア、又はこれらの組合せによるものを含んでおり、いずれのノードが立ち上がり使用可能となったかを他の全てのノードに対して報告する。いずれかのノード106が故障した場合、ハートビート機能として知られるプロセスによりその識別が他のノードへ知らされる。周知の通り、SPコンピュータ・システム100のノード106は、複数の区画へ分けることができる。
【0017】
図2は、ノード106の区画200を示す構成図である。区画200は、さらに1又は複数のドメインへと小さく分けられる。例えば、図2の区画200は、4個のドメイン201A〜201Dへと分けられている。各ドメイン201は、ネーム・サーバ(NS)202を含む。例えば、図2の例では、ドメイン201A〜201Dが各々ネーム・サーバ202A〜202Dを有している。ドメイン201内のノードは、1又は複数のグループのメンバーとなることができ、各グループはグループ・リーダー(GL)により支援される。例えば、ドメイン201A内のノードは、3つのグループのメンバーであり、各グループはグループ・リーダー204、205及び206により支援される。ドメイン201B内のノードは、2つのグループのメンバーであり、各グループはグループ・リーダー208及び209により支援される。同様に、ドメイン201C内のノードは、4つのグループのメンバーであり、各グループはグループ・リーダー210、211、212及び213により支援される。ドメイン201D内のノードは、1つのグループのメンバーであり、このグループはグループ・リーダー215により支援される。ネーム・サーバの主な機能は、そのドメイン内のグループに加わろうとする各ノードをそのグループのグループ・リーダー(GL)へ知らせ、そしてグループ・ネームがそのドメイン内で固有であるように保証することである。プロセッサのグループのメンバーを管理すること及びグループ・リーダーの機能は、前述の米国特許出願第08/640412号に詳細に開示されている。あるグループに参加しようとしているノードをそのグループのグループ・リーダーに教えるために必要な情報は、そのドメイン内のグループのために各ネーム・サーバにより保持されるテーブルTに記憶されている。
【0018】
図3は、ドメイン内のプロセッサ・グループのイベントを管理するためにネーム・サーバにより用いられるテーブル300の構成図である。テーブル300は、図2の各ネーム・サーバの各々についてのテーブルTと同じものである。テーブル300は複数のエントリを含み、各エントリはプロセッサ・グループを表す。テーブルTは、グループを識別するために用いられる固有のネームであるグループ・ネームについての列301、そのグループのグループ・リーダー(GL)の識別情報についての列302、及びそのグループについての実体番号についての列303を含む。後述のように、グループの全てのメンバーが故障するか又はグループから除かれた場合、そのエントリは、別のグループが成立するときに再使用することができる。この再使用は、実体番号303を増分するすなわち上げることにより行われる。古いグループについてのイベントが発生された場合、そのイベントは古い実体番号を含んでいるのでネーム・サーバにより無視され、そのイベントが目的とするグループはもはや存在しないことから、新しいグループについてのそのテーブル・エントリは変更されることはない。
【0019】
テーブル300はさらに、関係パーティ・セット(IPS)についての列305を含む。これは、そのグループ内の関係する全てのノードの識別情報をリストするために用いられる。これは、そのグループのメンバーである全てのノードを示すことと似ている。さらに、連続番号の列307も含まれ、ここに有効な更新メッセージの連続番号を格納することにより、ネーム・サーバはその受信するメッセージが現在のものか否かを判断できる。最後に、テーブル300はルックアップ・キューの列310を含む。この中には、そのグループについて受信された全てのルックアップ・イベントの識別情報が記憶されるが、それらは現時点では処理されない。
【0020】
テーブル300内のエントリの索引番号は、イベントが目的とするグループを識別するためのトークンの一部として用いることができることは明らかであろう。
【0021】
テーブル300の利用について説明する。例えば、ノードXが、IBM の製品である仮想共有ディスク(Virtual Shared Disk:VSD)等の機能を利用するためにグループを形成したい場合、VSDを使用したいとするノードは、自分がVSDグループに参加することを要求するメッセージをネーム・サーバに対して送信する。これは、そのグループについての最初の要求であるから、ネーム・サーバは新しいグループを設立し、そのグループを「VSD」と命名することができる。このネームは、第1のエントリ311のグループ・ネーム・フィールド301に入れられる(符合312)。VSDグループについてのトークンは「1」を含み、これはVSDグループがテーブル300の第1のエントリに見出されることを示す。
【0022】
この時点ではグループ・リーダーがいないので、GLフィールドは空エントリのままとなる。しかしながら、テーブル300にエントリを設定することは、VSDグループを設立することである。実体番号313は「0」にセットされ、これが第1のエントリを使用する最初のグループであることを示す。実体番号313は、VSDグループを識別するトークンの一部ともなる。連続番号316が「0」にセットされることにより、そのグループへ送られるいずれのメッセージについても正しい連続番号が識別され、その結果、古いメッセージが処理されないことを確保する。この時点で、ネーム・サーバは、ノードXに対してルックアップ応答メッセージを送ることにより、ノードXがグループ・リーダーであることを伝える。なぜなら、ノードXは、そのグループを要求した最初のノードだからである。しかしながらノードXは、自分がグループ・リーダーであることを示す更新メッセージを有効連続番号と共にネーム・サーバに対して送るまでは、テーブル300にVSD GLとして導入されない。一方、ネーム・サーバにより受信されるVSDグループについてのルックアップ・メッセージは、グループ・リーダーが割り当てられるまでは全てルックアップ・キュー・フィールド318に記憶される。従って、GLフィールド320にノード識別情報が入る以前に受信されたVSDグループについてのルックアップ・イベントは、いずれも、後に処理するためにルックアップ・キュー318に記憶されることとなる。
【0023】
ノードXがVSDグループのグループ・リーダーであることを示す更新メッセージがノードXから受信されると、GLフィールド320へ「X」が追加される。ルックアップ・キュー318に記憶されたいずれのルックアップ・メッセージも、この時点で処理されることとなる。
【0024】
図4は、ネーム・サーバにより受信され得るイベント、グループがなり得る状態、及び、グループを適切に管理するためにネーム・サーバが採るべき適切な対応動作を示す状態表である。各グループは、グループが設立されていない「状態0」(ST0)、グループが設立されかつグループ・リーダーがいない「状態1」(ST1)、グループが設立されかつグループ・リーダーが割り当てられた「状態2」(ST2)を有する。
【0025】
図4の表のイベント列に示すように、各イベントは、所与の要求を行うメッセージをネーム・サーバが受信することにより開始される。
【0026】
イベント401は、グループ(VSD等)についてのノードからのルックアップであるが、この場合、そのノードはIPS内にない。イベント401におけるグループが状態0にある場合、そのグループが設立されかつその要求ノードへルックアップ応答メッセージが送られ、そしてそのグループについての状態は状態1へと移行する。イベント401におけるグループが状態1にある場合、その要求はルックアップ・キューへ入れられる。グループが状態0若しくは状態2へ移行すると、ルックアップ・キュー内のメッセージが処理され、その結果が送られる。イベント401におけるグループが状態2にある場合、ルックアップ応答メッセージがその要求ノードへ送られることにより、その要求ノードは、どのノードがグループ・リーダーであるかを伝えられる。全てのグループ状態において、その要求ノードの識別情報は、関係パーティとしてIPSに記憶される。
【0027】
イベント402は、グループについてのルックアップであるが、この場合、そのノードはIPS内にある。イベントについて状態0にあるエントリはない。なぜならこれは、生じるはずのない状態だからである。イベント402におけるグループが状態1にある場合、その要求ノードはIPSから除かれる。その要求はルックアップ・キューに記憶される。状態が、状態0又は状態2に移行すると、ルックアップ・キュー内のメッセージが処理され、その結果が送られる。イベント402におけるグループが状態2にある場合、その要求ノードは、どのノードがグループ・リーダーであるかを伝えられる。
【0028】
イベント404は削除であり、そのノードがIPS内にある。イベント404におけるグループが状態1にある場合、要求ノードはIPSから除かれる。そしてこれがIPS内の最後のエントリであれば、そのグループは状態0へ移行すると共にこのグループにはもはやグループ・リーダーがいなくなる。こうしてそのグループは解消されるので、前述のようにそのエントリが再使用可能となる。イベント404におけるグループが状態2にある場合、要求ノードはIPSから除かれる。そしてこれが最後のエントリであれば、そのグループは状態0へ移行する。あるいは要求ノードがグループ・リーダーであれば、そのグループは状態1へ移行する。
【0029】
イベント405はグループからノードを削除するものであり、かつそのノードはIPS内にない。このイベントにおいては、グループが状態0、状態1又は状態2のいずれかにある場合、エラーが発生される。このイベントは、ノードがメッセージを送信してから故障したときに発生されることがあり、ネーム・サーバはその故障を調べ、そのイベントが処理される前にそのノードをグループから削除する。
【0030】
イベント407は更新であるが、そのノードはグループ・リーダーではない。このイベントについてのメッセージは、ネーム・サーバにより処理されるべく正しいグループ連続番号を含んでいなければならない。このメッセージは、米国特許出願第08/640219号「METHOD FOR GROUP LEADER RECOVERY IN A DISTRIBUTRED COMPUTING ENVIRONMENT」に記載されたグループ・リーダーの故障の結果としての回復プロセスにより発生することができる。このメッセージは、前述の通り、グループを形成したルックアップ・メッセージに応答する更新メッセージとしてもよい。イベント407においてグループが状態0にある場合、エラーが発生される。グループが状態1にありかつ更新メッセージ中の連続番号が保存された連続番号よりも新しい場合、そのノードがグループ・リーダーとして記録され、グループは状態2へ移行する。連続番号が古い場合、エラーが発生される。イベント407においてグループが状態2にありかつ連続番号がより新しい場合、そのノードが新しいグループ・リーダーとして記録される。メッセージの連続番号の方が古い場合、エラーが発生される。
【0031】
イベント408は更新であり、そのノードが既にグループ・リーダーである。このイベントについてのメッセージは、グループ連続番号を含まなければならない。イベント408においてグループが状態0にある場合、エラーが発生される。イベント408において状態1にあるエントリはない。この状態は発生し得ないからである。イベント408においてグループが状態2にあり、かつ連続番号が、保存されている連続番号よりも新しい場合、その要求しているノードがグループ・リーダーとして保持され、その連続番号が保存される。連続番号が、保存されている連続番号よりも古い場合、エラーが発生される。このイベントは、例えば連続番号が重なるときなどに古い連続番号が正しい連続番号として認識されないように、連続番号を増分するために用いることができる。
【0032】
イベント410は、故障が検知されたときに送信される。例えば、前述の米国特許出願第08/640219号に記載がある。イベント410においてグループが状態1にある場合、故障したノードは、IPS及びルックアップ・キューの全てのエントリから除かれる。もしこれがIPS内の最後のエントリであれば、状態が、状態0へ変更される。もしグループが状態2にある場合、故障したノードは、IPS及びルックアップ・キューの全てのエントリから除かれる。もしこれがIPS内の最後のエントリであれば、状態が、状態0へ変更される。このノードがグループ・リーダーであるならば、状態が、状態1へ変更される。
【0033】
図5は、本発明を実施するためにネーム・サーバにより実行されるプログラム500の流れ図である。図5の流れ図は、説明を簡単にするために単純なブロック図としてある。各イベントにおいて採られる実際の対応動作については、図4の状態図及び以下の説明を参照されたい。
【0034】
プログラム500は、ブロック501で開始される。ブロック502において、ネーム・サーバがメッセージを受信する。ブロック503において、プログラムは、そのグループに対してどのイベントが要求されているかを判断し、そのグループのグループ状態を判断し、そしてもし存在するならばグループ・リーダーを判断する。イベントは、ブロック505においてルックアップ・イベントヘ、ブロック506におい更新イベントへ、ブロック507において削除イベントへ、そしてブロック508においてノード故障イベントへと分割される。
【0035】
ブロック505のルックアップ・イベントにおいてプログラムは、図4のイベント401及び402について説明した処理を実行する。ブロック528においてプログラムは、グループ状態の変化からルックアップ・キューを処理するべきか否かを決定する。最後に、いずれの要求メッセージもブロック514において送信され、プログラムは、次のメッセージを受信するべくブロック502へ戻る。
【0036】
ブロック506の更新イベントにおいてプログラムは、ブロック520においてそのメッセージのネーム、トークン、及び連続番号を検査する。これらが正しくない場合、ブロック522においてエラーが発生される。そしてプログラムは、次のメッセージを受信するべくブロック502へ戻る。ネーム、トークン、及び連続番号が正しい場合、ブロック524においてプログラムは、イベントにより要求されたとおりにグループ・リーダー及び保存された連続番号を更新する。その後プログラムはブロック526へ進み、そのグループ状態を変更すべきか否かを決定する。ブロック528においてプログラムは、ルックアップ・キューを処理すべきか否かを決定する。グループ状態の変更により必要となる場合があるからである。ブロック514においてプログラムは、イベントにより要求された全てのメッセージを送信し、そして次のメッセージを受信するべくブロック502へ戻る。
【0037】
ブロック507の削除イベントである場合、プログラムは、ネーム及びトークンが正しいか否か、及び、削除されるべきノードがIPS内にあるか否かを判断する。ネーム及びトークンが正しくないか、又は、削除されるべきノードがIPS内にない場合、ブロック522においてプログラムはエラーを発生し、次のメッセージを受信するべくブロック502へ戻る。ネーム及びトークンが正しく、かつ、ノードがIPS内にある場合、ブロック532においてプログラムは、ノードをIPSから取り除く。その後プログラムはブロック526において、グループ状態を変更すべきか否か決定する。さらにブロック528において、ルックアップ・キューを処理すべきか否かを決定し、ブロック514においてイベントにより要求された全てのメッセージを送信する。
【0038】
ブロック508のノード故障である場合、ブロック532においてプログラムは、全てのグループについてIPSからそのノードを取り除く。その後プログラムはブロック526、528、及び514へ移行し、そして次のメッセージを受信するためにブロック502へ戻る。
【0039】
以上、本発明を好適例について説明したが、本発明をここに開示された詳細な構成に限定することを意図しておらず、これらの変形及び修正は本発明の範囲に含まれる。
【図面の簡単な説明】
【図1】本発明の分散コンピュータ・システムの概略的構成図である。
【図2】図2の分散コンピュータ・システムにおけるプロセッサ・ドメインの構成図である。
【図3】図2のドメイン上のプロセッサ・グループを管理するネーム・サーバのテーブルを示す構成図である。
【図4】図3のテーブルにより管理されるプロセッサ・グループのイベント及び状態を示す状態図である。
【図5】本発明を実施する図2のドメインのネーム・サーバにおけるプログラムの流れ図である。
【符合の説明】
100 分散コンピュータ・システム
102 ローカル・エリア・ネットワーク(LAN)
104 LANゲート
105 SPスイッチ
106 ノード
112 制御ワークステーション
114 直接アクセス記憶装置
200 区画
201 ドメイン
202 ネーム・サーバ
204、205、206 グループ・リーダー
300 テーブル
【発明の属する技術分野】
本発明は、分散コンピュータ環境に関し、特に、分散コンピュータ環境における1又は複数のプロセッサ(以下「ノード」とも称する)のグループについてネーム・サーバによりグループ・イベントを管理することに関する。
【0002】
【従来の技術】
分散コンピュータ環境におけるコンピュータは、並行にデータを処理する複数のコンピュータ・ノードを含む。このようなシステムの多くは、これらのノードを複数の区画へと組織化することができ、各区画が1又は複数のドメインを有する。各ドメインにおけるノードは、グループとして組織化される。1つのノードは、ただ1つのドメインに含まれてもよいが、複数のグループに含まれてもよい。そして、必要に応じてノードをグループに追加したりグループから取り除いたりできる。
【0003】
分散コンピュータ環境におけるプロセッサは並行に実行するので、複数のノードについて同時に同じグループに追加したり、削除したり、データを調べたりすることが可能である。グループが前の要求のために未だビジー状態であるときに、ノードからそのグループへ到着した要求を保持できることが重要である。しかも、後の要求が失われたりせず、あるいは、再度その要求を送るよう要求したりしないことが重要である。
【0004】
【発明が解決しようとする課題】
従って本発明の主な目的は、グループについてのメッセージを送信するノードの識別情報を記憶するために、各プロセッサ・グループの関係パーティ・セットを設けることである。
【0005】
本発明の更なる目的は、関係パーティ・セットに記憶されたノード識別情報の数及びグループ・リーダーの状態を決定することにより、そのグループの状態を決定することである。
【0006】
本発明の更なる目的は、グループ・リーダーが設定されていないグループに届くメッセージを記憶するルックアップ・キューを設けること、及び、グループ・リーダーが設定されたときそのルックアップ・キュー内のメッセージを処理することである。
【0007】
本発明の更なる目的は、テーブル内のエントリの索引番号によりプロセッサ・グループが識別されるように、各エントリが1つのプロセッサ・グループに対応する複数のエントリを有するテーブルを設けることである。
【0008】
本発明の更なる目的は、テーブルの各エントリに対応するグループが解消される毎にそのエントリ内の実体番号が増分されることにより、そのエントリが新しいグループのために再使用できるように、各エントリ内に実体番号を設けることである。
【0009】
本発明の更なる目的は、ドメイン内のグループに対して、そのグループ索引と実体番号との組合せである固有のトークンを設けることである。
【0010】
【課題を解決するための手段】
本発明においては、分散コンピュータ環境におけるプロセッサ・グループについてのグループ・イベントが、ネーム・サーバにより管理される。ネーム・サーバは、イベントを要求するノードの1つからメッセージを受信する。ネーム・サーバは、そのメッセージによりいずれのイベントが要求されているのかを判断し、そのイベントがいずれのグループについてのものかを判断し、そしてそのグループについての関係パーティ・セット内に、その要求しているノードの識別情報を記憶する。ネーム・サーバは、そのグループがグループ・リーダーを有するか否かを判断し、そしてグループ・リーダーがいない場合は、グループ・リーダーが設定されたときに処理されるルックアップ・キュー内のメッセージに応じてそのイベントが実行されるように記憶しておく。グループについてのイベントを要求する最初のノードは、ネーム・サーバによりグループ・リーダーとして設定される。グループの状態は、全くグループが成立していない状態を第1の状態とし、グループは成立しているがグループ・リーダーがいない状態を第2の状態とし、グループが成立しかつグループ・リーダーがいる状態を第3の状態とすることができる。グループの状態は、関係パーティ・セット内のノード識別情報の数及びグループ・リーダーの状態により決定することができる。
【0011】
本発明の上記及び他の目的、特徴及び利点は、図面と共に説明される以下の好適例についての記述により明らかとされる。
【0012】
【発明の実施の形態】
図1は、本発明により使用可能な分散コンピュータ・システム100の概略的構成図である。分散コンピュータ・システム100としては、International Business Machines Corporationから市販されているIBM RISC System/6000 Scalable POWERparallel System(SP)分散コンピュータ・システムがある。図1に開示された実施例は、全部で8フレームを有するSPコンピュータであり、各フレームが16個までのノードを有し、全部で128のノードが可能である。全てのノード106は、ローカル・エリア・ネットワーク(LAN)102により結合される。当業者には周知の通り、各ノード106はコンピュータそのものであり、RISC System/6000ワークステーションとすることができる。
【0013】
SPコンピュータ100のフレーム内の全てのノードはLANセグメントに含まれ、LANセグメントは、LANゲート104を介して他のLANセグメントと結合される。さらに、LAN102には制御ワークステーション(CWS)112が接続され、これは、SPコンピュータのオペレーションを制御する。制御ワークステーションは、直接アクセス記憶装置(DASD)114を有し、ここにシステム・データ・リポジトリー・ファイル(SDR)が記憶される。SDRファイルは、システム内のノードのリスト及びそれらの設定等の情報を含む。各ノード106もまた、SPコンピュータ100により処理されたデータを記憶するDASD装置107を含む。
【0014】
一実施例においては、各フレーム内のノードがさらに、IBM Scalable POWERparallel switch(SPS)105へ接続される。各フレームのSPSスイッチ105の各々は、バス110により他のフレームの隣のSPSスイッチ105へ接続される。
【0015】
周知の通り、CWSノード112が、LAN102を用いてノード106へメッセージ及びデータを送る一方、ノード106は、SPスイッチ105を用いて互いにメッセージ及びデータを送ることができる。
【0016】
SPコンピュータ・システムの各ノード106及びCWS112は、米国特許出願第08/640412号「A Method for Managing Membership of a Group of Processors in a Distributed Computing Environment」に記載されたグループ・サービス・デーモンを含む。各ノード106は、ソフトウェア若しくはハードウェア、又はこれらの組合せによるものを含んでおり、いずれのノードが立ち上がり使用可能となったかを他の全てのノードに対して報告する。いずれかのノード106が故障した場合、ハートビート機能として知られるプロセスによりその識別が他のノードへ知らされる。周知の通り、SPコンピュータ・システム100のノード106は、複数の区画へ分けることができる。
【0017】
図2は、ノード106の区画200を示す構成図である。区画200は、さらに1又は複数のドメインへと小さく分けられる。例えば、図2の区画200は、4個のドメイン201A〜201Dへと分けられている。各ドメイン201は、ネーム・サーバ(NS)202を含む。例えば、図2の例では、ドメイン201A〜201Dが各々ネーム・サーバ202A〜202Dを有している。ドメイン201内のノードは、1又は複数のグループのメンバーとなることができ、各グループはグループ・リーダー(GL)により支援される。例えば、ドメイン201A内のノードは、3つのグループのメンバーであり、各グループはグループ・リーダー204、205及び206により支援される。ドメイン201B内のノードは、2つのグループのメンバーであり、各グループはグループ・リーダー208及び209により支援される。同様に、ドメイン201C内のノードは、4つのグループのメンバーであり、各グループはグループ・リーダー210、211、212及び213により支援される。ドメイン201D内のノードは、1つのグループのメンバーであり、このグループはグループ・リーダー215により支援される。ネーム・サーバの主な機能は、そのドメイン内のグループに加わろうとする各ノードをそのグループのグループ・リーダー(GL)へ知らせ、そしてグループ・ネームがそのドメイン内で固有であるように保証することである。プロセッサのグループのメンバーを管理すること及びグループ・リーダーの機能は、前述の米国特許出願第08/640412号に詳細に開示されている。あるグループに参加しようとしているノードをそのグループのグループ・リーダーに教えるために必要な情報は、そのドメイン内のグループのために各ネーム・サーバにより保持されるテーブルTに記憶されている。
【0018】
図3は、ドメイン内のプロセッサ・グループのイベントを管理するためにネーム・サーバにより用いられるテーブル300の構成図である。テーブル300は、図2の各ネーム・サーバの各々についてのテーブルTと同じものである。テーブル300は複数のエントリを含み、各エントリはプロセッサ・グループを表す。テーブルTは、グループを識別するために用いられる固有のネームであるグループ・ネームについての列301、そのグループのグループ・リーダー(GL)の識別情報についての列302、及びそのグループについての実体番号についての列303を含む。後述のように、グループの全てのメンバーが故障するか又はグループから除かれた場合、そのエントリは、別のグループが成立するときに再使用することができる。この再使用は、実体番号303を増分するすなわち上げることにより行われる。古いグループについてのイベントが発生された場合、そのイベントは古い実体番号を含んでいるのでネーム・サーバにより無視され、そのイベントが目的とするグループはもはや存在しないことから、新しいグループについてのそのテーブル・エントリは変更されることはない。
【0019】
テーブル300はさらに、関係パーティ・セット(IPS)についての列305を含む。これは、そのグループ内の関係する全てのノードの識別情報をリストするために用いられる。これは、そのグループのメンバーである全てのノードを示すことと似ている。さらに、連続番号の列307も含まれ、ここに有効な更新メッセージの連続番号を格納することにより、ネーム・サーバはその受信するメッセージが現在のものか否かを判断できる。最後に、テーブル300はルックアップ・キューの列310を含む。この中には、そのグループについて受信された全てのルックアップ・イベントの識別情報が記憶されるが、それらは現時点では処理されない。
【0020】
テーブル300内のエントリの索引番号は、イベントが目的とするグループを識別するためのトークンの一部として用いることができることは明らかであろう。
【0021】
テーブル300の利用について説明する。例えば、ノードXが、IBM の製品である仮想共有ディスク(Virtual Shared Disk:VSD)等の機能を利用するためにグループを形成したい場合、VSDを使用したいとするノードは、自分がVSDグループに参加することを要求するメッセージをネーム・サーバに対して送信する。これは、そのグループについての最初の要求であるから、ネーム・サーバは新しいグループを設立し、そのグループを「VSD」と命名することができる。このネームは、第1のエントリ311のグループ・ネーム・フィールド301に入れられる(符合312)。VSDグループについてのトークンは「1」を含み、これはVSDグループがテーブル300の第1のエントリに見出されることを示す。
【0022】
この時点ではグループ・リーダーがいないので、GLフィールドは空エントリのままとなる。しかしながら、テーブル300にエントリを設定することは、VSDグループを設立することである。実体番号313は「0」にセットされ、これが第1のエントリを使用する最初のグループであることを示す。実体番号313は、VSDグループを識別するトークンの一部ともなる。連続番号316が「0」にセットされることにより、そのグループへ送られるいずれのメッセージについても正しい連続番号が識別され、その結果、古いメッセージが処理されないことを確保する。この時点で、ネーム・サーバは、ノードXに対してルックアップ応答メッセージを送ることにより、ノードXがグループ・リーダーであることを伝える。なぜなら、ノードXは、そのグループを要求した最初のノードだからである。しかしながらノードXは、自分がグループ・リーダーであることを示す更新メッセージを有効連続番号と共にネーム・サーバに対して送るまでは、テーブル300にVSD GLとして導入されない。一方、ネーム・サーバにより受信されるVSDグループについてのルックアップ・メッセージは、グループ・リーダーが割り当てられるまでは全てルックアップ・キュー・フィールド318に記憶される。従って、GLフィールド320にノード識別情報が入る以前に受信されたVSDグループについてのルックアップ・イベントは、いずれも、後に処理するためにルックアップ・キュー318に記憶されることとなる。
【0023】
ノードXがVSDグループのグループ・リーダーであることを示す更新メッセージがノードXから受信されると、GLフィールド320へ「X」が追加される。ルックアップ・キュー318に記憶されたいずれのルックアップ・メッセージも、この時点で処理されることとなる。
【0024】
図4は、ネーム・サーバにより受信され得るイベント、グループがなり得る状態、及び、グループを適切に管理するためにネーム・サーバが採るべき適切な対応動作を示す状態表である。各グループは、グループが設立されていない「状態0」(ST0)、グループが設立されかつグループ・リーダーがいない「状態1」(ST1)、グループが設立されかつグループ・リーダーが割り当てられた「状態2」(ST2)を有する。
【0025】
図4の表のイベント列に示すように、各イベントは、所与の要求を行うメッセージをネーム・サーバが受信することにより開始される。
【0026】
イベント401は、グループ(VSD等)についてのノードからのルックアップであるが、この場合、そのノードはIPS内にない。イベント401におけるグループが状態0にある場合、そのグループが設立されかつその要求ノードへルックアップ応答メッセージが送られ、そしてそのグループについての状態は状態1へと移行する。イベント401におけるグループが状態1にある場合、その要求はルックアップ・キューへ入れられる。グループが状態0若しくは状態2へ移行すると、ルックアップ・キュー内のメッセージが処理され、その結果が送られる。イベント401におけるグループが状態2にある場合、ルックアップ応答メッセージがその要求ノードへ送られることにより、その要求ノードは、どのノードがグループ・リーダーであるかを伝えられる。全てのグループ状態において、その要求ノードの識別情報は、関係パーティとしてIPSに記憶される。
【0027】
イベント402は、グループについてのルックアップであるが、この場合、そのノードはIPS内にある。イベントについて状態0にあるエントリはない。なぜならこれは、生じるはずのない状態だからである。イベント402におけるグループが状態1にある場合、その要求ノードはIPSから除かれる。その要求はルックアップ・キューに記憶される。状態が、状態0又は状態2に移行すると、ルックアップ・キュー内のメッセージが処理され、その結果が送られる。イベント402におけるグループが状態2にある場合、その要求ノードは、どのノードがグループ・リーダーであるかを伝えられる。
【0028】
イベント404は削除であり、そのノードがIPS内にある。イベント404におけるグループが状態1にある場合、要求ノードはIPSから除かれる。そしてこれがIPS内の最後のエントリであれば、そのグループは状態0へ移行すると共にこのグループにはもはやグループ・リーダーがいなくなる。こうしてそのグループは解消されるので、前述のようにそのエントリが再使用可能となる。イベント404におけるグループが状態2にある場合、要求ノードはIPSから除かれる。そしてこれが最後のエントリであれば、そのグループは状態0へ移行する。あるいは要求ノードがグループ・リーダーであれば、そのグループは状態1へ移行する。
【0029】
イベント405はグループからノードを削除するものであり、かつそのノードはIPS内にない。このイベントにおいては、グループが状態0、状態1又は状態2のいずれかにある場合、エラーが発生される。このイベントは、ノードがメッセージを送信してから故障したときに発生されることがあり、ネーム・サーバはその故障を調べ、そのイベントが処理される前にそのノードをグループから削除する。
【0030】
イベント407は更新であるが、そのノードはグループ・リーダーではない。このイベントについてのメッセージは、ネーム・サーバにより処理されるべく正しいグループ連続番号を含んでいなければならない。このメッセージは、米国特許出願第08/640219号「METHOD FOR GROUP LEADER RECOVERY IN A DISTRIBUTRED COMPUTING ENVIRONMENT」に記載されたグループ・リーダーの故障の結果としての回復プロセスにより発生することができる。このメッセージは、前述の通り、グループを形成したルックアップ・メッセージに応答する更新メッセージとしてもよい。イベント407においてグループが状態0にある場合、エラーが発生される。グループが状態1にありかつ更新メッセージ中の連続番号が保存された連続番号よりも新しい場合、そのノードがグループ・リーダーとして記録され、グループは状態2へ移行する。連続番号が古い場合、エラーが発生される。イベント407においてグループが状態2にありかつ連続番号がより新しい場合、そのノードが新しいグループ・リーダーとして記録される。メッセージの連続番号の方が古い場合、エラーが発生される。
【0031】
イベント408は更新であり、そのノードが既にグループ・リーダーである。このイベントについてのメッセージは、グループ連続番号を含まなければならない。イベント408においてグループが状態0にある場合、エラーが発生される。イベント408において状態1にあるエントリはない。この状態は発生し得ないからである。イベント408においてグループが状態2にあり、かつ連続番号が、保存されている連続番号よりも新しい場合、その要求しているノードがグループ・リーダーとして保持され、その連続番号が保存される。連続番号が、保存されている連続番号よりも古い場合、エラーが発生される。このイベントは、例えば連続番号が重なるときなどに古い連続番号が正しい連続番号として認識されないように、連続番号を増分するために用いることができる。
【0032】
イベント410は、故障が検知されたときに送信される。例えば、前述の米国特許出願第08/640219号に記載がある。イベント410においてグループが状態1にある場合、故障したノードは、IPS及びルックアップ・キューの全てのエントリから除かれる。もしこれがIPS内の最後のエントリであれば、状態が、状態0へ変更される。もしグループが状態2にある場合、故障したノードは、IPS及びルックアップ・キューの全てのエントリから除かれる。もしこれがIPS内の最後のエントリであれば、状態が、状態0へ変更される。このノードがグループ・リーダーであるならば、状態が、状態1へ変更される。
【0033】
図5は、本発明を実施するためにネーム・サーバにより実行されるプログラム500の流れ図である。図5の流れ図は、説明を簡単にするために単純なブロック図としてある。各イベントにおいて採られる実際の対応動作については、図4の状態図及び以下の説明を参照されたい。
【0034】
プログラム500は、ブロック501で開始される。ブロック502において、ネーム・サーバがメッセージを受信する。ブロック503において、プログラムは、そのグループに対してどのイベントが要求されているかを判断し、そのグループのグループ状態を判断し、そしてもし存在するならばグループ・リーダーを判断する。イベントは、ブロック505においてルックアップ・イベントヘ、ブロック506におい更新イベントへ、ブロック507において削除イベントへ、そしてブロック508においてノード故障イベントへと分割される。
【0035】
ブロック505のルックアップ・イベントにおいてプログラムは、図4のイベント401及び402について説明した処理を実行する。ブロック528においてプログラムは、グループ状態の変化からルックアップ・キューを処理するべきか否かを決定する。最後に、いずれの要求メッセージもブロック514において送信され、プログラムは、次のメッセージを受信するべくブロック502へ戻る。
【0036】
ブロック506の更新イベントにおいてプログラムは、ブロック520においてそのメッセージのネーム、トークン、及び連続番号を検査する。これらが正しくない場合、ブロック522においてエラーが発生される。そしてプログラムは、次のメッセージを受信するべくブロック502へ戻る。ネーム、トークン、及び連続番号が正しい場合、ブロック524においてプログラムは、イベントにより要求されたとおりにグループ・リーダー及び保存された連続番号を更新する。その後プログラムはブロック526へ進み、そのグループ状態を変更すべきか否かを決定する。ブロック528においてプログラムは、ルックアップ・キューを処理すべきか否かを決定する。グループ状態の変更により必要となる場合があるからである。ブロック514においてプログラムは、イベントにより要求された全てのメッセージを送信し、そして次のメッセージを受信するべくブロック502へ戻る。
【0037】
ブロック507の削除イベントである場合、プログラムは、ネーム及びトークンが正しいか否か、及び、削除されるべきノードがIPS内にあるか否かを判断する。ネーム及びトークンが正しくないか、又は、削除されるべきノードがIPS内にない場合、ブロック522においてプログラムはエラーを発生し、次のメッセージを受信するべくブロック502へ戻る。ネーム及びトークンが正しく、かつ、ノードがIPS内にある場合、ブロック532においてプログラムは、ノードをIPSから取り除く。その後プログラムはブロック526において、グループ状態を変更すべきか否か決定する。さらにブロック528において、ルックアップ・キューを処理すべきか否かを決定し、ブロック514においてイベントにより要求された全てのメッセージを送信する。
【0038】
ブロック508のノード故障である場合、ブロック532においてプログラムは、全てのグループについてIPSからそのノードを取り除く。その後プログラムはブロック526、528、及び514へ移行し、そして次のメッセージを受信するためにブロック502へ戻る。
【0039】
以上、本発明を好適例について説明したが、本発明をここに開示された詳細な構成に限定することを意図しておらず、これらの変形及び修正は本発明の範囲に含まれる。
【図面の簡単な説明】
【図1】本発明の分散コンピュータ・システムの概略的構成図である。
【図2】図2の分散コンピュータ・システムにおけるプロセッサ・ドメインの構成図である。
【図3】図2のドメイン上のプロセッサ・グループを管理するネーム・サーバのテーブルを示す構成図である。
【図4】図3のテーブルにより管理されるプロセッサ・グループのイベント及び状態を示す状態図である。
【図5】本発明を実施する図2のドメインのネーム・サーバにおけるプログラムの流れ図である。
【符合の説明】
100 分散コンピュータ・システム
102 ローカル・エリア・ネットワーク(LAN)
104 LANゲート
105 SPスイッチ
106 ノード
112 制御ワークステーション
114 直接アクセス記憶装置
200 区画
201 ドメイン
202 ネーム・サーバ
204、205、206 グループ・リーダー
300 テーブル
Claims (10)
- 分散コンピュータ環境における機能を利用するために該機能ごとに設立されるプロセッサ・グループについてネーム・サーバがグループ・イベントを管理する方法であって、
(a)イベントを要求している1つのプロセッサからのメッセージを前記ネーム・サーバが受信するステップと、
(b)前記メッセージによりいずれのイベントが要求されているかを判断するステップと、
(c)前記イベントがいずれのグループを目的とするものであるかを判断するステップと、
(d)前記目的とするグループがすでに存在するか否かを判断し、存在しない場合は、当該グループを設立するステップと、
(e)前記イベントが前記目的とするグループに参加することを要求するためのルックアップ・イベントである場合、当該グループに参加することを要求しているプロセッサの識別情報を、当該グループ内の関係する全てのプロセッサをリストするための関係パーティ・セット内に記憶するステップと、
(f)前記目的とするグループがグループ・リーダーを有するか否かを判断するステップと、
(g)前記目的とするグループがグループ・リーダーを有していない場合、グループ・リーダーが設定されたときに処理するため、ルックアップ・キュー内にそのメッセージに応答して実行されるべきルックアップ・イベントを記憶するステップと、
(h)前記目的とするグループを要求した最初のプロセッサを前記グループ・リーダーとして設定するステップと、
(i)前記目的とするグループについて前記グループ・リーダーが設定された後、前記ルックアップ・キュー内に記憶された全てのルックアップ・イベントを処理するステップとを含む
分散コンピュータ環境におけるグループ・イベント管理方法。 - 各エントリが1つのプロセッサ・グループを表している複数のエントリを有するテーブルが前記ネーム・サーバ内に設けられ、
各プロセッサ・グループについての前記テーブル内のエントリの索引番号により当該各プロセッサ・グループを識別するステップを含む
請求項1に記載の方法。 - 前記テーブルの各エントリに実体番号が保持され、
前記各エントリのプロセッサ・グループが解消される毎に、当該各エントリを新しいプロセッサ・グループのために再使用可能とするべく前記実体番号を増分するステップを含む
請求項2に記載の方法。 - 前記テーブルの各エントリに連続番号が保持され、
前記テーブル内のグループ・エントリを識別しかつ前記テーブル内の識別されたグループについてその更新イベントを要求する更新メッセージを前記ネーム・サーバに送信するとき、当該更新メッセージに新しい連続番号を含めるステップと、
前記更新メッセージに含まれる新しい連続番号と、前記テーブル・エントリ内の連続番号とを比較し、当該更新メッセージにより識別グループについての前記テーブル・エントリ内の連続番号より前記新しい連続番号が大きい更新イベントのみを実行するステップとを含む
請求項3に記載の方法。 - 前記イベントが前記目的とするグループからプロセッサを削除するための削除イベントである場合、当該グループから削除することを要求しているプロセッサの識別情報を、前記関係パーティ・セットから削除するステップと、
グループが設立されていない第1の状態と、グループが設立されているがグループ・リーダーのいない第2の状態と、グループが設立されかつグループ・リーダーのいる第3の状態とからなるグループの状態のうち、前記関係パーティ・セット内のエントリから前記グループの状態を判断するステップとを含む
請求項4に記載の方法。 - 分散コンピュータ環境における機能を利用するために該機能ごとに設立されるプロセッサ・グループについてネーム・サーバがグループ・イベントを管理する装置であって、
(a)イベントを要求している1つのプロセッサからのメッセージを前記ネーム・サーバが受信する手段と、
(b)前記メッセージによりいずれのイベントが要求されているかを判断する第1の判断手段と、
(c)前記イベントがいずれのグループを目的とするものであるかを判断する第2の判断手段と、
(d)前記目的とするグループがすでに存在するか否かを判断し、存在しない場合は、当該グループを設立する手段と、
(e)前記イベントが前記目的とするグループに参加することを要求するためのルックアップ・イベントである場合、当該グループに参加することを要求しているプロセッサの識別情報を、当該グループ内の関係する全てのプロセッサをリストするための関係パーティ・セット内に記憶する手段と、
(f)前記目的とするグループがグループ・リーダーを有するか否かを判断する第3の判断手段と、
(g)前記目的とするグループがグループ・リーダーを有していない場合、グループ・リーダーが設定されたときに処理するため、ルックアップ・キュー内にそのメッセージに応答して実行されるべきルックアップ・イベントを記憶する手段と、
(h)前記目的とするグループを要求した最初のプロセッサを前記グループ・リーダーとして設定する手段と、
(i)前記目的とするグループについて前記グループ・リーダーが設定された後、前記ルックアップ・キュー内に記憶された全てのルックアップ・イベントを処理する手段とを有する
分散コンピュータ環境におけるグループ・イベント管理装置。 - 前記ネーム・サーバ内に設けられ、各エントリが1つのプロセッサ・グループを表している複数のエントリを有するテーブルを有し、
各プロセッサ・グループについての前記テーブル内のエントリの索引番号により当該各プロセッサ・グループが識別される
請求項6に記載の装置。 - 前記テーブルの各エントリにおける実体番号と、
前記各エントリのプロセッサ・グループが解消される毎に、当該各エントリを新しいプロセッサ・グループのために再使用可能とするべく前記実体番号を増分する手段とを有する
請求項7に記載の装置。 - 前記テーブルの各エントリに連続番号と、
前記テーブル内のグループ・エントリを識別しかつ前記テーブル内の識別されたグループについてその更新イベントを要求する前記ネーム・サーバに対して送信される更新メッセージに含まれる新しい連続番号と、
前記更新メッセージに含まれる新しい連続番号と、前記テーブル・エントリ内の連続番号とを比較し、当該更新メッセージにより識別グループについての前記テーブル・エントリ内の連続番号より前記新しい連続番号が大きい更新イベントのみを実行する手段とを含む
請求項8に記載の装置。 - 前記イベントが前記目的とするグループからプロセッサを削除するための削除イベントである場合、当該グループから削除することを要求しているプロセッサの識別情報を、前記関係パーティ・セットから削除する手段と、
グループが設立されていない第1の状態と、グループが設立されているがグループ・リーダーのいない第2の状態と、グループが設立されかつグループ・リーダーのいる第3の状態とからなるグループの状態のうち、前記関係パーティ・セット内のエントリから前記グループの状態を判断する第4の判断手段とを含む
請求項9に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/684,246 US5790788A (en) | 1996-07-23 | 1996-07-23 | Managing group events by a name server for a group of processors in a distributed computing environment |
US08/684246 | 1996-07-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1078943A JPH1078943A (ja) | 1998-03-24 |
JP3554471B2 true JP3554471B2 (ja) | 2004-08-18 |
Family
ID=24747285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18212697A Expired - Fee Related JP3554471B2 (ja) | 1996-07-23 | 1997-07-08 | 分散コンピュータ環境におけるグループ・イベント管理方法及び装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5790788A (ja) |
JP (1) | JP3554471B2 (ja) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805786A (en) * | 1996-07-23 | 1998-09-08 | International Business Machines Corporation | Recovery of a name server managing membership of a domain of processors in a distributed computing environment |
US5896503A (en) * | 1996-07-23 | 1999-04-20 | International Business Machines Corporation | Managing membership of a domain of processors in a distributed computing environment |
US6012092A (en) * | 1997-04-30 | 2000-01-04 | International Business Machines Corp. | Method and system for managing multi-user data flows in environments having minimal bandwidth and computational resources |
SE520101C2 (sv) * | 1998-05-13 | 2003-05-27 | Axis Ab | Integrerad krets och metod för att förmå en intgrerad krets att exekvera instruktioner |
US6263433B1 (en) * | 1998-09-30 | 2001-07-17 | Ncr Corporation | Provision of continuous database service and scalable query performance using active redundant copies |
US6272525B1 (en) * | 1999-01-07 | 2001-08-07 | Iq Net Solutions, Inc. | Distributed processing systems including processing zones which subscribe and unsubscribe to mailing lists |
US6272524B1 (en) * | 1999-01-07 | 2001-08-07 | Iq Netsolutions Inc. | Distributed processing systems incorporating a plurality of cells which process information in response to single events |
US6424990B1 (en) | 1999-01-07 | 2002-07-23 | Jeffrey I. Robinson | Distributed processing systems incorporating a plurality of cells which process information in response to single events |
US6272526B1 (en) * | 1999-01-07 | 2001-08-07 | Iq Netsolutions, Inc. | Distributed processing systems having self-advertising cells |
US6272527B1 (en) * | 1999-01-07 | 2001-08-07 | Iq Net Solutions, Inc. | Distributed processing systems incorporating nodes having processing cells which execute scripts causing a message to be sent internodally |
US6275847B1 (en) * | 1999-01-07 | 2001-08-14 | Iq Net Solutions, Inc. | Distributed processing systems incorporating processing zones which communicate according to both streaming and event-reaction protocols |
US6941360B1 (en) * | 1999-02-25 | 2005-09-06 | Oracle International Corporation | Determining and registering participants in a distributed transaction in response to commencing participation in said distributed transaction |
US6807557B1 (en) | 2000-05-31 | 2004-10-19 | International Business Machines Corporation | Method, system and program products for providing clusters of a computing environment |
JP2003167862A (ja) * | 2001-11-30 | 2003-06-13 | Nec Corp | 分散オブジェクト・システムにおけるオブジェクトの所在を特定するための装置、方法及びプログラム |
US7254815B2 (en) * | 2003-04-24 | 2007-08-07 | International Business Machines Corporation | Method and apparatus for implementing distributed event management in an embedded support processor computer system |
US20050039184A1 (en) * | 2003-08-13 | 2005-02-17 | Intel Corporation | Assigning a process to a processor for execution |
US7269645B2 (en) * | 2003-10-31 | 2007-09-11 | International Business Machines Corporation | Seamless migration of one or more business processes and their work environment between computing devices and a network |
US20050144299A1 (en) * | 2003-12-04 | 2005-06-30 | Blevins Delmar E. | System and method for supporting XA 2-phase commit protocols with a loosely coupled clustered database server |
US7260589B2 (en) * | 2003-12-04 | 2007-08-21 | International Business Machines Corporation | High performance support for XA protocols in a clustered shared database |
US20060045101A1 (en) * | 2004-08-31 | 2006-03-02 | International Business Machines Corporation | Efficient fault-tolerant messaging for group communication systems |
JP2007200361A (ja) * | 2007-05-07 | 2007-08-09 | Omron Corp | イベント共有システム、イベント共有方法及びイベント共有プログラム |
US8316113B2 (en) * | 2008-12-19 | 2012-11-20 | Watchguard Technologies, Inc. | Cluster architecture and configuration for network security devices |
CN106062717B (zh) * | 2014-11-06 | 2019-05-03 | 华为技术有限公司 | 一种分布式存储复制系统和方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58176742A (ja) * | 1982-04-09 | 1983-10-17 | Tokyo Electric Co Ltd | センタ−伝送システムにおける精算デ−タの処理方式 |
JPS6249560A (ja) * | 1985-08-29 | 1987-03-04 | Fujitsu Ltd | デ−タ送信方式 |
US4780821A (en) * | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
US5179715A (en) * | 1987-03-11 | 1993-01-12 | Toyo Communication Co., Ltd. | Multiprocessor computer system with process execution allocated by process managers in a ring configuration |
JP2594979B2 (ja) * | 1987-10-23 | 1997-03-26 | 株式会社日立製作所 | マルチプロセツサシステム |
US5341477A (en) * | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
JPH02275563A (ja) * | 1989-04-17 | 1990-11-09 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理システムにおけるサーバ利用方式 |
EP0475282B1 (en) * | 1990-09-14 | 1998-12-16 | Hitachi, Ltd. | Synchronous method and apparatus for processors |
JP2770603B2 (ja) * | 1991-03-14 | 1998-07-02 | 三菱電機株式会社 | 並列計算機 |
US5414845A (en) * | 1992-06-26 | 1995-05-09 | International Business Machines Corporation | Network-based computer system with improved network scheduling system |
JPH06266600A (ja) * | 1993-03-12 | 1994-09-22 | Hitachi Ltd | 分散ファイルシステム |
JP2814880B2 (ja) * | 1993-06-04 | 1998-10-27 | 日本電気株式会社 | 異なる命令特性を持つ複数のcpuによって構成される計算機システムの制御装置 |
US5404523A (en) * | 1993-11-10 | 1995-04-04 | Digital Equipment Corporation | Method of managing requests in a transaction processing system |
JP2788599B2 (ja) * | 1993-12-27 | 1998-08-20 | コナミ株式会社 | コンピュータ装置及び該コンピュータ装置を複数台接続した際のコンピュータ装置の識別方法 |
JP2624161B2 (ja) * | 1993-12-28 | 1997-06-25 | 日本電気株式会社 | ネットワークアドレス動的管理装置 |
JPH07219898A (ja) * | 1994-02-01 | 1995-08-18 | Nec Corp | 統計情報収集方法とその装置 |
JP3300776B2 (ja) * | 1994-03-15 | 2002-07-08 | 株式会社日立製作所 | 並列プロセッサの切替え制御方式 |
US5619656A (en) * | 1994-05-05 | 1997-04-08 | Openservice, Inc. | System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed |
CA2145921A1 (en) * | 1994-05-10 | 1995-11-11 | Vijay Pochampalli Kumar | Method and apparatus for executing a distributed algorithm or service on a simple network management protocol based computer network |
US5655081A (en) * | 1995-03-08 | 1997-08-05 | Bmc Software, Inc. | System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture |
US5621892A (en) * | 1995-10-10 | 1997-04-15 | Intel Corporation | Method and apparatus for managing alerts and events in a networked computer system |
-
1996
- 1996-07-23 US US08/684,246 patent/US5790788A/en not_active Expired - Fee Related
-
1997
- 1997-07-08 JP JP18212697A patent/JP3554471B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1078943A (ja) | 1998-03-24 |
US5790788A (en) | 1998-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3554471B2 (ja) | 分散コンピュータ環境におけるグループ・イベント管理方法及び装置 | |
JP2948496B2 (ja) | データ処理システム内で複写データ一貫性を維持するためのシステムおよび方法 | |
US6892316B2 (en) | Switchable resource management in clustered computer system | |
US6839752B1 (en) | Group data sharing during membership change in clustered computer system | |
US7231461B2 (en) | Synchronization of group state data when rejoining a member to a primary-backup group in a clustered computer system | |
CN111538763B (zh) | 一种确定集群中主节点的方法、电子设备和存储介质 | |
CN109886693B (zh) | 区块链系统的共识实现方法、装置、设备和介质 | |
JPH0535903B2 (ja) | ||
US6968359B1 (en) | Merge protocol for clustered computer system | |
JP2006500693A (ja) | 動的rdfグループ | |
JPH10224395A (ja) | 電子会議システム | |
US20110179422A1 (en) | Shared Resource Management | |
US10924550B2 (en) | Framework for distributed key-value store in a wide area network | |
US20090049172A1 (en) | Concurrent Node Self-Start in a Peer Cluster | |
KR100250464B1 (ko) | 고속병렬컴퓨터의 노드 부트 방법 | |
CN112148798A (zh) | 应用于分布式系统的数据处理方法及装置 | |
US8230086B2 (en) | Hidden group membership in clustered computer system | |
CN112363980A (zh) | 一种分布式系统的数据处理方法及装置 | |
JP2005502957A (ja) | 厳密に一回のキャッシュフレームワーク | |
US7299265B2 (en) | Distributed computing system selecting a service master for each service by an elected global master for managing requests for that service | |
US11474857B1 (en) | Accelerated migration of compute instances using offload cards | |
CN110290215B (zh) | 一种信号传输方法及装置 | |
CN114205354A (zh) | 事件管理系统、事件管理方法、服务器及存储介质 | |
CN112948348B (zh) | 运维管控方法、装置、电子设备及存储介质 | |
US7515553B2 (en) | Group synchronization by subgroups |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040507 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080514 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |