JP2002041488A - クラスタ化コンピューティング環境を管理するための方法、システム、およびプログラム製品 - Google Patents

クラスタ化コンピューティング環境を管理するための方法、システム、およびプログラム製品

Info

Publication number
JP2002041488A
JP2002041488A JP2001159977A JP2001159977A JP2002041488A JP 2002041488 A JP2002041488 A JP 2002041488A JP 2001159977 A JP2001159977 A JP 2001159977A JP 2001159977 A JP2001159977 A JP 2001159977A JP 2002041488 A JP2002041488 A JP 2002041488A
Authority
JP
Japan
Prior art keywords
cluster
component
node
registry
configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001159977A
Other languages
English (en)
Inventor
N Novaes Markos
マルコス・エヌ・ノヴァエス
Gregory D Laib
グレゴリー・ディー・レイブ
T Gering Ronald
ロナルド・ティー・ゲーリング
Jeffrey S Lucash
ジェフリー・エス・ルカシュ
R Badovinatsu Peter
ピーター・アール・バドヴィナツ
A Schmidt Michael
マイケル・エイ・シュミット
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002041488A publication Critical patent/JP2002041488A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 コンピューティング環境のクラスタを管理す
るシステムおよび方法を提供すること。 【解決手段】 クラスタ化環境を管理するために様々な
コンポーネントを提供する。これらとしては、グローバ
ル・データ記憶域を提供するシステム・レジストリと、
クラスタ化環境のノード上にローカルにデータを記憶
し、システム・レジストリ内でグローバルにデータを記
憶する構成マネージャと、クラスタの通信経路の状況を
提供するための活性コンポーネントと、クラスタ化環境
の1つまたは複数の他のコンポーネントにサービスを提
供するグループ・サービス・コンポーネントと、クラス
タ化環境の1つまたは複数のリソース・コントローラと
通信するリソース管理コンポーネントとを含む。クラス
タ化環境の各コンポーネントは、その環境の1つまたは
複数の他のコンポーネントに対する1つまたは複数のデ
ータ依存関係または機能依存関係あるいはその両方を有
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に分散コンピ
ューティング環境に関し、特に、分散コンピューティン
グ環境の複数ノードからなる1つまたは複数のクラスタ
を管理することに関する。
【0002】
【従来の技術】分散システムは、システムに対して高ス
ループットの作業あるいは連続的またはほぼ連続的な可
用性を必要とする状況を含む、様々な状況で使用する高
可用性のスケーラブル・システムである。
【0003】リソースを共用する能力を有する分散シス
テムはクラスタと呼ばれる。1つのクラスタは、リソー
スを共用し、互いに共同してシステム・タスクを実行す
る複数のオペレーティング・システム・インスタンスを
含む。現在、様々なクラスタ・システム(IBMが提供
するRS/6000SPシステムなど)が存在するが、
依然として既存のクラスタ・システムに対してさらに機
能強化を図ることが望ましい。たとえば、クラスタ・シ
ステムの管理を容易にするための機能強化が望ましい。
【0004】
【発明が解決しようとする課題】コンピューティング環
境のクラスタを管理するシステムおよび方法を提供する
ことである。
【0005】
【課題を解決するための手段】コンピューティング環境
のクラスタを管理するシステムを提供することにより、
従来技術の欠点が克服され、追加の利点が得られる。こ
のシステムは、たとえば、コンピューティング環境のク
ラスタのデータ用のグローバル・データ記憶域を提供す
るためのレジストリ・コンポーネントであって、そのク
ラスタがコンピューティング環境の1つまたは複数のノ
ードを含むレジストリ・コンポーネントと、1つまたは
複数のノードのうちの少なくとも1つのノード上にロー
カルにデータを維持し、レジストリ・コンポーネントに
グローバル・データを記憶するための構成コンポーネン
トと、クラスタの1つまたは複数の通信経路の状況を提
供するための活性コンポーネントであって、レジストリ
・コンポーネントおよび構成コンポーネントに依存する
活性コンポーネントと、クラスタの1つまたは複数の他
のコンポーネントに1つまたは複数のサービスを提供す
るためのグループ・サービス・コンポーネントであっ
て、レジストリ・コンポーネント、構成コンポーネン
ト、および活性コンポーネントに依存するグループ・サ
ービス・コンポーネントと、クラスタの1つまたは複数
のリソース・コントローラへの通信を可能にするための
リソース管理コンポーネントであって、レジストリ・コ
ンポーネント、構成コンポーネント、およびグループ・
サービス・コンポーネントに依存するリソース管理コン
ポーネントとを含む。
【0006】上記で要約したシステムに対応する方法お
よびコンピュータ・プログラム製品についても本明細書
に記載し、本明細書で請求する。
【0007】本発明の技法により、追加の特徴および利
点が実現される。本発明のその他の実施形態および態様
については、本明細書で詳述し、請求する本発明の一部
と見なす。
【0008】
【発明の実施の形態】本発明の1つまたは複数の態様に
よれば、オペレーティング・システムの1つまたは複数
のコピーを使用する分散コンピューティング環境が管理
される。オペレーティング・システムの各コピーは、そ
れが1組のリソース(たとえば、プロセッサ、ネットワ
ーク・インタフェース、ファイル、ファイル・システ
ム、記憶装置、周辺装置など)にアクセスできるように
構成される。このアクセスは、排他的なものにするか、
またはオペレーティング・システムの他のコピーと共用
することができる。リソースを共用する場合、オペレー
ティング・システムの個別コピーは共同し、それが管理
するシステム・リソースを共用する。リソースを共用す
るために、オペレーティング・システムのコピーは、リ
ソースの保全性が保持されるように、そのアクセスにつ
いて折衝する。たとえば、記憶装置の所与のセグメント
に複数のデータ・ブロックを書き込む必要があるオペレ
ーティング・システムの2つのコピーはそのセグメント
へのアクセスについて折衝するが、さもなければ、書込
み動作の順序により書込み中のデータの保全性が損なわ
れる恐れがある。
【0009】本発明の諸態様を組み込み使用する分散コ
ンピューティング環境の一例を図1に示し、本明細書で
説明する。分散コンピューティング環境100は、たと
えば、複数のLANゲート104により互いに結合され
た複数のフレーム102を含む。フレーム102および
LANゲート104については以下に詳述する。
【0010】一例の分散コンピューティング環境100
は8個のフレームを含み、そのそれぞれは複数の処理ノ
ード106を含む。ある事例では、各フレームは16個
の処理ノード(それぞれが1つまたは複数のプロセッサ
を有する)を含む。各処理ノードはたとえば、UNIX
(登録商標)ベースのオペレーティング・システムであ
るAIXを実行するRISC/6000コンピュータで
ある。1つのフレーム内の各処理ノードは、たとえば内
部LAN接続により、そのフレームの他の処理ノードに
結合される。その上、各フレームはLANゲート104
により他のフレームに結合される。
【0011】例として、各LANゲート104は、RI
SC/6000コンピュータ、LANへのコンピュータ
・ネットワーク接続、またはネットワーク・ルータのい
ずれかを含む。しかし、これらは例にすぎない。他のタ
イプのLANゲートが存在すること、ならびに他のメカ
ニズムを使用してフレームを互いに結合できることは、
当業者にとって明らかになるだろう。
【0012】図1の分散コンピューティング環境は一例
にすぎない。9個以上または7個以下のフレームあるい
はフレームあたり17個以上または15個以下のノード
を備えることは可能である。さらに、処理ノードはAI
Xを実行するRISC/6000コンピュータである必
要はない。処理ノードの一部または全部は、異なるタイ
プのコンピュータまたは異なるオペレーティング・シス
テムあるいはその両方を含むことができる。さらに、そ
の環境のノードまたはオペレーティング・システムのう
ちの1つまたは複数がその環境の他のノードまたはオペ
レーティング・システムとは異なる異種環境が本発明の
諸態様を含み使用することもできる。このような異種環
境のノードは、本明細書に記載するように、互いに共同
し、リソースを共用するという点で相互動作する。さら
に、本発明の諸態様は単一コンピュータ・システム内で
使用することもできる。これらの変形形態はいずれも、
ここで請求する本発明の一部と見なされる。
【0013】リソースを共用する能力を有する分散コン
ピューティング環境をクラスタと呼ぶ。特に、1つのコ
ンピューティング環境は1つまたは複数のクラスタを含
むことができる。たとえば、図2に示すように、コンピ
ューティング環境200は、クラスタA 202とクラ
スタB 204という2つのクラスタを含む。各クラス
タは1つまたは複数のノード206を含み、そのノード
はリソースを共用し、互いに共同してシステム・タスク
を実行する。各ノードはオペレーティング・システムの
個別コピーを含む。
【0014】特定のクラスタに対するノードのメンバシ
ップを検討する際に2通りの態様が存在する。一方の態
様は、そのクラスタの静的構成に関するものである。こ
の態様はノード定義と呼ばれる(図3を参照)。あるノ
ードをクラスタに対して定義すると、そのクラスタ内の
他のノードはこのノードを認識する。ノードは、正常な
ノード定義動作(以下に詳述する)後にクラスタに対し
て定義される。逆に、ノード削除動作後に、ノードはク
ラスタに対して定義解除される。
【0015】ノードの静的態様は、クラスタ・メンバシ
ップと呼ばれる動的(またはランタイム)属性とは異な
る。クラスタ・メンバシップとは、ノードが定義され、
作動可能(すなわち、オンライン)であるときにそのノ
ードがクラスタのメンバであると見なされることを意味
する。ここで、作動可能という用語は、そのノードがそ
のクラスタの他のメンバによって機能ノード、すなわ
ち、活性タスクと呼ばれる基本機能を実行可能なノード
として知覚されることをほのめかす。一例として、1つ
のノードは1組の活性タスクを連続的に実行し、一定の
間隔でクラスタの他メンバにハートビート・メッセージ
を送信することにより、そのノードがこのようなタスク
を実行できることを他のノードに報告する。
【0016】クラスタ・メンバシップは、任意の時点で
そのクラスタの一体部分として機能しているノードのリ
ストと見なすことができる。このリストはすべてのノー
ドにとって使用可能なものであり、本発明の一態様で
は、クラスタ・アーキテクチャにより、無共用分散シス
テムでも任意の時点ですべてのノードが同じメンバシッ
プ・リストにアクセスできることが保証される。(無共
用分散システムとは、そのノードがディスクまたはメモ
リなどの共用物理リソースを一切持たないシステムであ
る。)このようなシステムで特定のデータの同一ビュー
を維持するために、高度な同期プロトコルを使用する。
というのは、アトミック・トランザクションですべての
ノードにそのデータを分散しなければならないからであ
る。
【0017】メンバシップ・リストに対してノードを追
加するかまたはノードを削除するために、特定のプロト
コルを使用する。たとえば、メンバシップ・リストにノ
ードを追加するプロセスはノード加入プロセスと呼ばれ
る。逆に、ノード離脱プロセスにより、メンバシップ・
リストからノードを削除する。あるノードがクラスタ・
メンバシップにリストされない場合、そのノードはすで
にクラスタを離脱している。
【0018】各クラスタは、複数のコンポーネントを含
むクラスタ・アーキテクチャによって管理される。各コ
ンポーネントは、本明細書で詳述するように、そのクラ
スタの1つまたは複数のノード上で1つまたは複数の対
応プロセスを実行する。そのコンポーネントが複数のノ
ード上で複数のプロセスを実行する場合、そのアーキテ
クチャはこれらのノード間に分散される。しかし、分散
アーキテクチャは一例にすぎない。本発明の1つまたは
複数の態様を単一または非分散システムで使用すること
ができる。
【0019】一例では、クラスタ・アーキテクチャのコ
ンポーネントは、クラスタ・システムを構成し、ノード
がクラスタに加入するかまたはクラスタを離脱するとき
に発生するクラスタ構成データベース(後述する)の同
期を調整するために使用する分散構成マネージャ(DC
M)400(図4)と、クラスタ構成データベース内に
記憶されたデータを供給する1つまたは複数のプロセス
を含むシステム・レジストリ・サーバ・サブシステム4
02と、クラスタのメンバ間の通信経路の可用性に関す
る情報を提供するクラスタ・メンバシップ・リストを維
持する活性サブシステム404と、他のクラスタ・プロ
セスが論理グループを形成し、整合性のあるグループ状
態およびプロセス・メンバシップを維持できる機構を提
供するグループ・サービス・サブシステム406と、ク
ラスタ・リソースのアクセスおよび制御を管理する機構
であり、それによりクラスタ・クライアントがクラスタ
・リソースの状態および構成を監視できる機構も提供す
るリソース・マネージャ・サブシステム408とを含
む。
【0020】一実施形態では、図4に示すように、各コ
ンポーネントが複数のノード410間に分散される。す
なわち、各コンポーネントは、複数のノード上で1つの
プロセスを実行している。たとえば、DCM400は図
示した3つのノード上で1つのDCMプロセス412を
実行している。他のコンポーネントについても同じこと
が当てはまり、それぞれについては以下に詳述する。
【0021】分散構成マネージャ(DCM)サブシステ
ム400は、そのクラスタの一部として構成すべき各ノ
ード上で、分散構成マネージャ・デーモン(DCMD)
412と呼ばれるコンピュータ・プログラムのコピーを
提供する。DCMDは、クラスタのブートストラップ・
エージェントである。このため、DCMDプロセスは、
適切なクラスタ構成により他のクラスタ・コンポーネン
トを始動することを担当する。また、DCMDは、1つ
のノードをあるクラスタから他のクラスタに移動する場
合など、適切なときに他のクラスタ・コンポーネントを
停止するプロセスでもある。DCMD自体は、そのノー
ドのベース・オペレーティング・システムによってブー
トストラッピングされ、この例ではオペレーティング・
システムによって直接ブートストラッピングすべき唯一
のクラスタ・コンポーネントである。
【0022】DCMDは、各ノードのローカル記憶域内
にあって、1つまたは複数のクラスタ構成に関連するフ
ァイルの集合を維持する。このローカル構成データに加
え、DCMDは、グローバル構成データもサーバ・リポ
ジトリに記憶する。このクラスタ構成データについては
以下に詳述する。
【0023】システム・レジストリ・コンポーネント4
02は、グローバル・データ記憶の機能を提供する。こ
れは、可用性が高く、一例では、システム・レジストリ
・プロセス414(図4)として複数のノード間で複製
される。しかし、一実施形態では、図5に示すように、
あるクラスタのすべてのノード上にシステム・レジスト
リが複製されるわけではない。図5に示すように、ノー
ド(すなわち、オペレーティング・システム・インスタ
ンス)1、2、3はシステム・レジストリ・プロセス5
00を含むが、ノード4〜8は含まない。しかし、この
特定の例のノードはいずれも他のコア・クラスタ・プロ
セス(たとえば、DCMプロセス、活性プロセス、グル
ープ・サービス・プロセス、リソース・マネージャ・プ
ロセス)を含む。ノード4〜8はレジストリ・クライア
ント・ノードと見なされ、ノード1〜3はレジストリ・
サーバ・ノードと見なされる。というのは、レジストリ
機能がこれらのノード上で実行されるからである。
【0024】活性コンポーネント404(図4)は、通
信アダプタの状況と、そのクラスタ内のノード間の通信
経路の可用性を提供する。各ノードは、1つまたは複数
の通信アダプタを介して通信ネットワーク502(図5
に示すもの)に接続される。このようなアダプタのいず
れかが故障し、クラスタ・ノードを相互接続するネット
ワーク内の1つまたは複数の通信経路に影響する可能性
もある。活性コンポーネントはそのクラスタの1つまた
は複数のノード内でプロセスを実行するが、そのプロセ
スは各ノード内の各通信アダプタからハートビートとい
う定期検証メッセージを送信する。ノード内の活性プロ
セスの集合は各アダプタの可用性に関する部分的な知識
に関するメッセージを交換し、これらのメッセージによ
り活性システムは、クラスタ・システム内の各通信アダ
プタの状態と、任意の2つのアダプタ間の通信経路の可
用性についても論理的に推論することができる。
【0025】グループ・サービス・コンポーネント40
6は、他のコンポーネントに対して総称メンバシップ・
サービスを提供する。このようなサービスとしては、ア
トミック・ブロードキャストとも呼ばれる2フェーズ・
コミット・プロトコルを実行するための機構を含む。こ
れは、あるグループのメンバがそのグループのメンバシ
ップを制御し、グループ状態を維持できるようにする機
構も含む。
【0026】リソース管理コンポーネント408は、コ
ア・クラスタ・サービス(たとえば、DCM、システム
・レジストリ、活性、グループ・サービスおよびリソー
ス・マネージャ)の一部ではない他のクラスタ・サービ
スへの基本通信層を提供する。これらのサービスは、後
述するように追加のリソース・コントローラのカテゴリ
に分類される。一例では、この通信プロトコルはオブジ
ェクト指向のものである。したがって、リソース管理コ
ンポーネントによって制御すべきリソース・コントロー
ラは、それが制御するリソース・オブジェクトを定義す
るリソース記述ファイルをリソース管理コンポーネント
に提供する。この定義は、1組の属性またはデータ・フ
ィールドならびに各リソース・コントローラがサポート
する1組の機能によって行われる。
【0027】クラスタ・アーキテクチャの各コンポーネ
ントは、そのアーキテクチャの1つまたは複数の他のコ
ンポーネントに対する1つまたは複数のデータ依存関係
または機能依存関係あるいはその両方を有し、それは様
々なコンポーネント間の関係(すなわち、コンポーネン
ト間関係)を定義するものである。このような関係は、
本発明の一態様により、データ依存関係および機能依存
関係が非周期グラフを形成する(すなわち、依存関係の
循環が回避される)ように設計されている。
【0028】各コンポーネントのデータ依存関係の一例
を図6に図示し、以下に詳述する。 (A)システム・レジストリ: システム・レジストリ
は、クラスタの他のコンポーネントに対していかなるデ
ータ依存関係600も持っておらず、これはシステム・
レジストリの固有の特性である。システム・レジストリ
自体は、その構成データをすべて記憶することができ
る。システム・レジストリ・コンポーネントは、依存関
係グラフ内のリーフとして使用でき、その結果、いかな
る循環関係も回避できるように設計されている。システ
ム・レジストリは、可用性が高くなるようにそれ自体の
構成データを記憶する能力を有する。また、システム・
レジストリは、トランザクション論理を使用して要求が
伝播される複製データ・リポジトリとして設計されてい
る。 (B)分散構成マネージャ(DCM): DCMコンポ
ーネントは、すべてのノード上でローカルにコア・クラ
スタ構成データのローカル・バージョンを記憶する能力
ならびにシステム・レジストリにグローバル・データを
記憶する能力を有する。一例では、ローカル構成データ
の少なくとも一部分はグローバル・データと整合性のあ
るものでなければならない。しかし、場合によっては、
DCMサブシステムによって記憶されたローカル構成デ
ータがシステム・レジストリ・サブシステムにグローバ
ルに記憶されたデータにより順序が乱れる可能性も考え
られる。これは、たとえば、そのノードが一例としてメ
ンテナンスのためにクラスタから切断されている間に更
新を逸した場合に発生することになる。たとえば、ノー
ドは誤動作し、修理のために送られる場合がある。その
間、クラスタ化システムのシステム管理者は、損傷した
ノードを定義解除し、したがって、ノード定義解除動作
によりその定義をグローバル・レジストリから削除する
ことを決定することができる。損傷したノードが修理さ
れ、クラスタに再接続されると、それはクラスタに対し
て定義解除されているので、もはやクラスタ・リソース
を共用できなくなるはずである。それにもかかわらず、
最近修理したノード内のローカル・クラスタ構成は時代
遅れになっており、依然としてそのノードをクラスタに
対して定義済みのものとして示す。このような場合を削
除するため、他のすべてのクラスタ・コンポーネント用
のブートストラップ・エージェントであるDCMDデー
モンは、ノード加入プロセスを開始する前にローカル・
クラスタ定義の妥当性をチェックする。これにより、シ
ステム・レジストリ・コンポーネントに対するDCMD
デーモンのデータ依存関係602が作成される。 (C)残りのコア・クラスタ・コンポーネント(活性、
グループ・サービス、およびリソース管理)は、DCM
によって記憶されたローカル・クラスタ構成を使用する
ので、分散構成マネージャ・コンポーネントに対して共
通のデータ依存関係604を有する。たとえば、ローカ
ル・クラスタ構成は、このアーキテクチャ内のクラスタ
・コンポーネントが使用する、レジスタ・サーバ・プロ
セスを実行するノードのリストならびにノード名および
番号などのブートストラップ情報を含む。システム・レ
ジストリ・コンポーネント自体を除き、他のコンポーネ
ントは、レジストリ・サーバに接続し、後述するグロー
バル・クラスタ構成を検索するために、そのノード・リ
ストを使用する。 (D)システム・レジストリ自体を除き、すべてのコン
ポーネントは、グローバル・クラスタ構成に対するデー
タ依存関係を有する。
【0029】各コンポーネントの機能依存関係の一例を
図7に図示し、以下に詳述する。 (A)分散構成マネージャ(DCM): DCMは、シ
ステム・レジストリ・コンポーネントによって提供され
るグローバル記憶機能の可用性に依存する(参照番号7
00を参照)。 (B)システム・レジストリ: システム・レジストリ
は、グループ・サービス・コンポーネントに対する機能
依存関係702を有する。この依存関係は、書込み動作
を伝播するために、システム・レジストリがグループ・
サービス・コンポーネントのメンバシップ・サービスを
使用することによって発生する。グローバル・クラスタ
構成データはレジストリ・サーバ・ノードとして機能す
る各ノード内で複製されるので、それに対する修正は複
製書込み動作を必要とする。このような書込み動作中に
は、複製の1つが故障し、複製動作の分散回復のための
論理を実現することが望ましくなる恐れがある。グルー
プ・サービス・コンポーネントによって提供されるメン
バシップ・サービスは、このような分散回復論理の一例
を含む。しかし、グループ・サービス・コンポーネント
に対する機能依存関係は書込み動作のみに影響する。シ
ステム・レジストリ・コンポーネントは、読取りタイプ
の動作の場合にグループ・サービス・コンポーネントに
対する依存関係を一切持たない。したがって、システム
・レジストリ・コンポーネントは、DCMDコンポーネ
ントによってブートストラッピングした後、その初期設
定の第1のフェーズ(以下に詳述する)を完了すること
ができる。このフェーズが完了した後、システム・レジ
ストリは、クラスタ構成データベースの最も最近更新し
たコピーをすでに検索しており、他のコンポーネントが
クラスタ構成データを読み取れるようにすることができ
る。次に、これにより、グループ・サービス・コンポー
ネントはそれ自体の初期設定を完了することができ、そ
れにより、後述するようにシステム・レジストリ・コン
ポーネントがその初期設定の第2のフェーズを続行する
ことを可能にする。 (C)活性コンポーネント: 活性コンポーネントは、
DCMDによってブートストラッピングされ(参照番号
704を参照)、活性サブシステムの構成をレジストリ
に記憶する(参照番号705を参照)。これは、他のコ
ンポーネントに対する他の機能依存関係を一切持ってい
ない。 (D)グループ・サービス・コンポーネント: グルー
プ・サービス・コンポーネントはDCMDによってブー
トストラッピングされる(706)。これは、クラスタ
内のノード間の通信経路の可用性を知る必要があるの
で、活性コンポーネントに対する機能依存関係(70
8)も有する。 (E)リソース・マネージャ・コンポーネント: リソ
ース・マネージャ・コンポーネントはDCMDによって
ブートストラッピングされる(710)。これは、グル
ープ・サービス・コンポーネントによってエクスポート
されるグループ・メンバシップ機能に対する依存関係
(712)も有する。これは、その構成データベースの
バージョン番号を決定するためにメンバシップ機能を使
用する。また、追加のリソース・マネージャも、DCM
に対する機能依存関係(714)ならびにリソース・マ
ネージャ・コンポーネントに対する機能依存関係(71
6)を有する。
【0030】コンポーネントのデータ依存関係または機
能依存関係あるいはその両方は、クラスタ化技法のブー
トストラップ・プロセス中に満足される。一例では、ク
ラスタ・ブートストラップ・プロセス中に依存関係を満
足するために、特定のシーケンスのイベントおよびメッ
セージを使用する。このシーケンスの一例については図
8に示し、本明細書で説明する。
【0031】ステップ0でブートストラップ・シーケン
スを開始する。クラスタ・アーキテクチャは、たとえ
ば、オペレーティング・システムによって開始されるソ
フトウェアの層として設計されている。基本オペレーテ
ィング・システム・ブートストラップ・プロセス後に、
オペレーティング・システムは、分散構成マネージャ・
プロセスを始動することによりクラスタ・ソフトウェア
をブートストラッピングする。次に、DCMDデーモン
を始動し、オペレーティング・システム・インスタンス
の存続期間にわたってそれを実行する。
【0032】前述したように、DCMは、(一例とし
て)各ノードのローカル記憶域に記憶された1組のデー
タ構造を維持する。このデータ構造としては、たとえ
ば、クラスタ・データ構造900(図9)、ノード定義
データ構造902(図10)、レジストリ・サーバ・ノ
ード・データ構造904(図11)を含み、そのそれぞ
れについては後述する。
【0033】クラスタ・データ構造900は、たとえ
ば、クラスタ名906と固有クラスタ識別子908を含
む。一例では、固有識別子をキー・フィールド(固有フ
ィールド)として使用する。クラスタ・データ構造内の
キー・フィールドは、同じクラスタ名でラベルを付け替
えられないようにオペレーティング・システムの個別イ
ンスタンスを保護する。クラスタは、人間の管理者によ
って作成される場合が多く、多数のプロセッサの構成プ
ロセス中に同一名で容易にラベルを付けられる可能性が
ある。さらに、本明細書に記載するクラスタ構成インフ
ラストラクチャは、非常に動的なものであり、したがっ
て、クラスタの作成および削除を可能にするものであ
る。クラスタは、分散システムのニーズに応じて動的に
作成し破壊することができる。固有識別子は、後述する
クラスタ定義動作によってクラスタが作成されたときに
生成される。この特徴により、クラスタ名の再利用の検
出が可能になる。たとえば、Aというラベルが付いたク
ラスタを作成し、削除し、もう一度作成した場合、固有
識別子フィールドが別個のものになるので、Aに関する
この2通りの定義のデータ構造は異なるものになるだろ
う。
【0034】さらに、クラスタ定義データ構造内の固有
識別子は他のクラスタ・リソースのマッピングのルート
にある。このシステムでは、クラスタ・データ構造用の
固有識別子はクラスタ・リソース内のラベルの接頭部に
ある。固有識別子マッピングと本明細書に記載するアー
キテクチャの使用により、クラスタ構成の間違った想定
のもとにクラスタ・リソースがクライアントによってア
クセスされるのを防止する。
【0035】ノード定義データ構造902は、たとえ
ば、ノード番号910と、人間の管理者にとってノード
識別をより容易にするために便利なものとして使用する
が、いずれのクラスタ・リソース・マネージャもノード
の構成にアクセスする手段として使用しないノード名9
12と、ノードの定義を識別する固有ノード識別子91
4とを含む。固有識別子は、特定のオペレーティング・
システム・インスタンスに関連する。この識別子は、あ
るノードがクラスタに対して定義されるたびに生成され
る。この固有識別子により、同じ名前を持つ2つのノー
ド間の区別、ならびにすでにクラスタに対して定義さ
れ、定義解除され、その後、同じ名前でもう一度定義さ
れた(再定義された)ノードとの区別が可能になる。
【0036】レジストリ・サーバ・ノード・データ構造
904は、クラスタに対して定義されるレジストリ・サ
ーバ・ノードのリストを含む。一例では、このデータ構
造は、レジストリ・サーバの順序付きリスト916と、
1次レジストリ・サーバの表示918とを含む。このリ
ストは、後述するように、システムのグローバル構成デ
ータを読み取るためにシステム・レジストリ・プロセス
へのアクセスを希望する他のクラスタ・コンポーネント
によって検索される。
【0037】上記のローカル・データ構造に加え、各ク
ラスタ・コンポーネントはローカル記憶域データ構造を
維持し、各コンポーネントはローカル・ノードに関連す
る情報を記憶するための予約空間である。ローカル・デ
ータ構成の一例を図12に示し、以下に説明する。
【0038】ただし、図12に示すデータ構造はUNI
X(登録商標)オペレーティング・システムにおける本
発明の具体的な実施例から導出されたものであるが、他
のオペレーティング・システムにおける同様の実施例も
可能であり、本発明の精神から逸脱するものではないこ
とに留意されたい。
【0039】ローカル記憶域データ・フィールドの一例
について以下に説明する。 1.「/」(1000)は、オペレーティング・システ
ム内のルート・ファイル・システムを示す。 2.「/var」(1002)は、オペレーティング・シス
テム拡張機能に関連するデータが記憶されるファイル・
システムである。 3.クラスタ論理は、「/var/ct」(1004)にロー
カル構成情報を記憶する。 4.「/var/ct/dcm」ディレクトリ(1006)は分散
構成マネージャ・コンポーネントによって所有される。
この例では、DCMコンポーネントは、他のクラスタ・
コンポーネントとしてクラスタID以下のディレクトリ
にそれを記憶するのとは対照的に、それ自体のデータを
記憶するためにより上位レベルのディレクトリを有する
唯一のコンポーネントである。これは、この特定の例で
は、DCMが、1つのノードを複数のクラスタに定義で
きることを認識している唯一のクラスタ・コンポーネン
トであるからである。 5.「/var/ct/dcm/configuration」ディレクトリ(1
008)には、DCMはそのノードを定義する対象とな
るクラスタのリストを記憶する。また、DCMは、その
ノードが現在属しているクラスタのIDもこのディレク
トリに記憶する。このIDは、ローカル構成データをど
こから読み取るべきかを決定するために他のクラスタ・
コンポーネントが使用する。 6.「/var/ct/dcm/logs」ディレクトリ(1010)に
は、DCMコンポーネントは、監査機構として使用す
る、そのランタイム・ログを記憶する。 7.ノードを定義する対象となるクラスタごとに、DC
Mは、「/var/ct」の下に「/var/ct/cluster_ID」とい
うラベルが付いたディレクトリ(1012)を作成する
が、「cluster_ID」というリテラルは以下に説明するよ
うに固有クラスタ識別子によって置換される。このディ
レクトリの下にDCMは他に4つのディレクトリも作成
し、そこには他のクラスタ・コンポーネントがそれぞれ
のランタイム・ロック1014、ランタイム・ログ10
16、ランタイム・コア情報1018、構成データ10
20を記憶することができる。
【0040】ローカル構成データに加え、DCMは、グ
ローバル構成データも記憶する。サーバ・リポジトリに
記憶されるグローバル構成データとしては、たとえば、
クラスタ定義データ構造のコピーならびにノード定義デ
ータ構造のコピーを含む。クラスタ・データ構造および
ノード定義データ構造のフィールドの値は、あるノード
がそのクラスタに対して定義されたときに設定され、依
然として整合性のあるものでなければならない。処理中
にローカル・データ構造のデータ・フィールドはグロー
バル・データ構造のデータ・フィールドと比較される。
この比較により何らかの差が得られた場合、これは、ノ
ード定義がそのクラスタではもはや有効ではないことを
示す可能性がある。
【0041】図8に戻ると、DCMDプロセスを開始し
た後、DCMDプロセスはシステム・レジストリ・プロ
セスを開始し、レジストリ・サーバ・ノードとして構成
されたノードを始動する(ステップ1)。このステップ
は、システム・レジストリ・コンポーネントのブートス
トラップ要件を満足するものである。
【0042】ステップ2〜4でDCMDデーモンは、た
とえば、そのクラスタのすべてのノード内の活性コンポ
ーネント、グループ・サービス・コンポーネント、リソ
ース・マネージャ・コンポーネントを始動する。
【0043】次にステップ5でシステム・レジストリ・
サブシステムはその初期設定の第1のフェーズを実行す
る。特にこのサブシステムは、最も最近使用可能になっ
たグローバル構成データベースのコピーを検索する手順
を実行する。このフェーズ中、DCMDによってブート
ストラッピングされたシステム・レジストリ・プロセス
は、グローバル構成データベースの実現番号を含むメッ
セージを交換する。次にシステム・レジストリ・コンポ
ーネントは、最高の実現番号を有する構成データベース
のコピーを選択する。このようなコピーは、後述するよ
うにコンポーネントの初期設定の第2のフェーズを続行
することができる。
【0044】初期設定の第1のフェーズの完了後、シス
テム・レジストリ・コンポーネントにより他のコンポー
ネントは読取りタイプの動作を発行することができ、そ
れにより他のコア・クラスタ・コンポーネントはそれぞ
れの初期設定を完了することができる。すなわち、第1
の初期設定フェーズが完了した後、システム・レジスト
リ・サブシステムは、他のクラスタ・コンポーネントに
グローバル・クラスタ構成データを供給できるようにな
る。システム・レジストリ・コンポーネントにより、他
のコンポーネントはグローバル構成データを読み取るこ
とができるが、グローバル構成に修正を加えることはで
きない。これは、グローバル構成データに対する修正が
書込み動作によって行われるからであり、システム・レ
ジストリ・コンポーネントが書込み動作を実行するため
にグループ・メンバシップ機能に対する依存関係を有す
るからである。このため、グローバル・クラスタ構成デ
ータを修正する動作は、後述するようにシステム・レジ
ストリ初期設定の第2のフェーズが完了するのを待つ必
要がある。
【0045】ステップ6でDCMDは、システム・レジ
ストリからグローバル・クラスタ構成データを読み取る
ことができる。したがって、ステップ7でDCMDは、
それが各ノードに記憶するローカル構成がシステム・レ
ジストリに記憶されたグローバル・クラスタ構成と整合
性のあるものであるかどうかを検証することができる。
DCMDコンポーネントはこの時点でもグローバル・ク
ラスタ構成に変更を加えることができない。というの
は、システム・レジストリはまだ動作を書き込むことが
できないからである。それにもかかわらず、DCMD
は、ローカル構成がグローバル・クラスタ構成と整合性
のあるものであるかどうかを判定し、次にクラスタ・ブ
ートストラップ・プロセスを続行し、最終的に他の依存
関係を満足することになる他のコンポーネントを始動す
ることができ、次にシステム・レジストリはその初期設
定の第2のフェーズを完了することができ、書込み可能
状態になる。
【0046】ステップ8で活性コンポーネントはグロー
バル構成データを読み取るはずである。しかし、そのコ
ンポーネントはまず、システム・レジストリ・サーバの
位置を把握し、情報がローカル・クラスタ構成内にある
ことを把握する必要がある。したがって、活性コンポー
ネントは、この情報を検索するためにDCMDへの呼出
しを行う。
【0047】ステップ9では、前のステップと同様の手
順でグループ・サービス・コンポーネントがDCMDコ
ンポーネントからローカル・クラスタ構成データも検索
する。
【0048】ステップ10で活性サブシステムは、シス
テム・レジストリ・サーバからグローバル構成データを
読み取ることにより、グローバル構成データに対するそ
の依存関係を満足する。さらにステップ11で活性コン
ポーネントは、すでにその依存関係をすべて履行してい
るので、その初期設定を終結し、他のクラスタ・コンポ
ーネントがその活性機能を使用できるようにすることが
できる。
【0049】ステップ12でグループ・サービス・コン
ポーネントはシステム・レジストリからグローバル構成
データを読み取ることもできる。次にグループ・サービ
ス・コンポーネントは、ステップ13に示すように、活
性コンポーネントからの活性機能を使用することができ
る。
【0050】ステップ14でグループ・サービス・コン
ポーネントは、その初期設定を完了し、他のクラスタ・
コンポーネントがグループ・メンバシップ機能を使用で
きるようにすることができる。
【0051】ステップ15でシステム・レジストリ・コ
ンポーネントはそのメンバシップ・サービスの要件を満
足し、それによりシステム・レジストリは初期設定手順
の第2のフェーズを実行できるようになる。このフェー
ズでは、第1のフェーズで決定したようにより低い実現
番号を有するグローバル構成データベースのコピーが、
グループ・サービス・コンポーネントによって提供され
るメンバシップ・サービスを使用して更新される。これ
により、システム・レジストリ・コンポーネントは、そ
の初期設定の第2のフェーズを終了することができ、グ
ローバル・クラスタ構成に照らし合わせて書込み動作を
発行することができる。
【0052】ステップ16でシステム・レジストリ・コ
ンポーネントは、その初期設定の第2のフェーズを終結
する。このフェーズが完了した後、システム・レジスト
リ・コンポーネントは、複製書込み動作を実行するため
にメンバシップ・サービスを使用することができ、した
がって、他のクラスタ・コンポーネントがそれぞれのグ
ローバル・クラスタ構成データベースに修正を加えるこ
とができるようになる。
【0053】ステップ17でリソース・マネージャ・コ
ンポーネントは、DCMDコンポーネントからローカル
構成データを検索する。リソース・マネージャ・コンポ
ーネントは、システム・レジストリからグローバル構成
データを読み取り、それに対して所望の修正を加える
(ステップ18)。
【0054】さらに、ステップ19でリソース・マネー
ジャ・コンポーネントは、グループ・サービス・コンポ
ーネントのメンバ・サービスを使用して、その公正デー
タベースのバージョン番号を決定する。その時点でリソ
ース・マネージャ・コンポーネントは、そのデータおよ
び機能要件がすべて履行されており、その初期設定を完
了している(ステップ20)。したがって、リソース・
マネージャ・コンポーネントは、他の構成済みリソース
・コントローラをブートストラッピングすることができ
る(ステップ21)。
【0055】追加のリソース・コントローラは、DCM
Dコンポーネントからローカル・クラスタ構成を読み取
り(ステップ22)、システム・レジストリからグロー
バル・クラスタ構成を読み取る(ステップ23)。さら
に、これらのコントローラは所望の修正を実行する。ス
テップ24で追加のリソース・コントローラはそれぞれ
の初期設定を終結する。
【0056】上記のブートストラップ・プロセスの実行
後、すべてのクラスタ・コンポーネントは完全に使用可
能になり、コンポーネントのデータおよび機能要件はす
べて履行される。
【0057】クラスタを管理するため、本発明の少なく
とも一態様により様々な定義動作を使用する。このよう
な動作としてはたとえば以下のものを含む。 (A)新しいクラスタ定義を作成するクラスタ定義動
作。特に、この動作が発行されるノードにローカル・ク
ラスタ構成を記憶するために新しいクラスタ識別子と新
しいローカル記憶域が作成される。この新しいローカル
記憶域は、ディレクトリ・パス内の新しいクラスタ識別
子を有するディレクトリに置かれる。また、この動作
は、新しいグローバル記憶域も作成する。DCMコンポ
ーネントは、この動作が発行されるノードをレジストリ
・サーバ・ノードとする。また、このプロセスでDCM
コンポーネントは、システム・レジストリ・プロセスを
ブートストラッピングし、前述のように本明細書で定義
するグローバル・クラスタ・データ構造を作成する。 (B)クラスタ定義解除動作は、クラスタ定義を消去す
るために使用する。この動作は、クラスタの一部になる
よう定義されたすべてのノード内のローカル・クラスタ
定義を消去する。また、これは、システム・レジストリ
・コンポーネントによって管理されるグローバル・クラ
スタ記憶域のすべてのコピーも消去する。 (C)クラスタ修正動作は、クラスタ定義の属性を修正
するために使用する。修正可能な属性の1つはクラスタ
名である。この属性は、クラスタ・コンポーネントが内
部で使用しないので修正することができる。むしろ、ク
ラスタの識別に内部で使用するのはクラスタIDであ
る。 (D)ノード定義動作は、クラスタに対してノードを定
義するために使用する。クラスタはクラスタ定義動作に
よってすでに確立されている。新しいローカル記憶域は
新たに定義したノード内に作成される。また、グローバ
ル記憶域に記憶されるクラスタ定義も新しいノード定義
によって更新される。 (E)ノード定義解除動作は、ノードの定義をグローバ
ル・クラスタ構成およびグローバル記憶域から消去する
ために使用する。また、この動作は、特定のクラスタの
ノードの定義に関連する、そのノード内のローカル記憶
域も消去する。 (F)レジストリ・サーバ・ノード定義動作は、クラス
タ内の特定のノードをレジストリ・サーバ・ノードとし
て定義する。この動作後、DCMコンポーネントはその
ノードをレジストリ・サーバ・ノードとして識別し、必
要であるかまたは望ましいかあるいはその両方の場合に
ノード内でレジストリ・サーバ・プロセスをブートスト
ラッピングする。 (G)レジストリ・サーバ・ノード定義解除は、レジス
トリ・サーバ・ノードとしてのノード定義を除去する動
作である。この動作後、システム・レジストリ・プロセ
スはもはやそのノード上でブートストラッピングされな
くなる。 (H)ノード修正動作は、グローバル・クラスタ構成な
らびにローカル記憶域内の両方でノード定義の属性を変
更する。変更可能なノード構成の属性の1つは、ノード
の名前である。
【0058】様々な定義動作に加え、様々な制御動作を
使用して、クラスタ、ノード、レジストリ・サーバを管
理する。このような動作としてはたとえば以下のものを
含む。 (A)オンライン・クラスタ動作は、クラスタに対して
定義されることが分かっている他のすべてのノードへの
接触を試みるためにノード内でプロセスを開始し、それ
らのノードがオンラインに移行することを要求する。 (B)オフライン・クラスタ動作は、クラスタに対して
定義されることが分かっている他のすべてのノードに接
触し、それらのノードがオフラインに移行することを要
求する。 (C)オンライン・ノード(加入)動作は、ノードをオ
ンラインで特定のクラスタに移動するようDCMプロセ
スに要求する。この要求により、DCMコンポーネント
はクラスタ・ブートストラップ手順で前述したアクショ
ン・シーケンスを開始することになる。 (D)オフライン・ノード動作は、オフラインになるよ
う特定のノードに要求する。この動作は、ノード上で動
作している他のすべてのクラスタ・コンポーネントを停
止するようDCMコンポーネントに要求する。 (E)オンライン・レジストリ・サーバ動作は、特定の
ノードでシステム・レジストリ・プロセスをブートスト
ラッピングするようDCMコンポーネントに要求する。 (F)オフライン・レジストリ・サーバ動作は、特定の
ノードでシステム・レジストリ・プロセスを停止するよ
うDCMコンポーネントに要求する。
【0059】クラスタを管理するために、上記の定義お
よび制御動作のそれぞれを使用することができる。これ
らの動作の1つまたは複数については以下に詳述する。
【0060】本明細書に記載するように、本発明の一態
様のクラスタ・アーキテクチャは、オペレーティング・
システム・インスタンス(すなわち、ノード)がクラス
タに対して定義されたときに生成される固有識別子を使
用する。固有識別子は、クラスタ・システムの実施例に
とって意味のあるものになるように生成される(図13
を参照)。たとえば、単一オペレーティング・システム
・コンピュータ1100の場合、ある事例では、システ
ムのマザー・ボード内の読取り専用メモリ(ROM)に
記憶された番号から固有識別子が導出される。
【0061】複数オペレーティング・システム・コンピ
ュータ1102の場合、オペレーティング・システム・
インスタンスは、既知の固有識別子生成技法を使用し
て、そのノードが定義されたときに固有識別子を生成す
るだけの可能性がある。
【0062】さらに、区別された1つのハードウェアを
有するコンピューティング装置1104の場合、オペレ
ーティング・システムのアイデンティティはその単一ハ
ードウェアから導出される。このような実施例は、許可
ユーザの識別にスマート・カードを使用する装置内な
ど、様々な応用例では意味のあるものである。
【0063】この識別子は、ローカル構成記憶域ならび
にグローバル構成データベースの両方に記憶される。両
方のタイプの記憶域を使用するので、いずれかに理由
(たとえば、メンテナンス手順)によりデータの順序が
乱れる場合にデータを調整するために、本発明の一態様
により1組の規則が提供される。たとえば、順序が乱れ
たデータがノードの識別子である場合、その識別子を調
整するために1組の規則が提供される。この特定の例に
ついては以下に詳述する。しかし、他の不整合データを
調整するために同様の規則を使用することを理解された
い。
【0064】分散クラスタ・システムは1組のマシンで
あり、そのそれぞれは別々の時期に通信ネットワークか
ら切断することができるので、オペレーティング・シス
テムの1つのインスタンスは、それが所与のクラスタの
1つのノードとして定義されたときに識別される。しか
し、オペレーティング・システムのそのインスタンスは
電源異常またはメンテナンス動作のために停止する可能
性があり、それが所与のクラスタのメンバとして定義さ
れている場合にそれ自体をそうであると理解することが
できるはずである。したがって、ノードがクラスタに加
入するたびに、それは、ローカル記憶域内の固有識別子
がそのノード用のグローバル識別子と一致するかどうか
をチェックする。
【0065】特に、一実施形態では、基本オペレーティ
ング・システムの基本ブートストラップ・プロセス中に
オペレーティング・システムによって固有識別子が読み
取られる。次に基本オペレーティング・システムは、ク
ラスタ・ブートストラップ・シーケンスの開始時に分散
構成マネージャに固有識別子を渡す。次に分散構成マネ
ージャは、クラスタに対してそれが定義されたときにグ
ローバル記憶域1106とローカル記憶域1108の両
方にこの固有識別子を記憶する。分散構成マネージャ
は、クラスタにノードを加入する動作を実行するたび
に、固有識別子の3通りのインスタンス(すなわち、ブ
ートストラップ・シーケンスの際にオペレーティング・
システムが渡す識別子であって、ここでオリジナル・コ
ピーと呼ぶ識別子(UID)1110、ローカルで記憶
した(キャッシュした)コピー1108、グローバルで
記憶したコピー1106)の妥当性をチェックする。
【0066】ノードがクラスタに加入するプロセス中
に、この3つの識別子を以下のように比較する。 1)オリジナル識別子をローカル識別子と比較する。 2)ローカル識別子をグローバル識別子と比較する。
【0067】この比較により、以下に示す4通りの結果
が得られる可能性がある。
【0068】
【表1】
【0069】次に分散構成マネージャは、たとえば、上
記のシナリオのそれぞれに応じて以下のアクションを採
用する。 シナリオ1: この場合、3つの識別子はすべて同じで
あり、したがって、ノード定義は正しいものである。こ
れは通常ケースである。他の3通りのケースは、メンテ
ナンス動作など、ノード定義に影響する動作の結果とし
て存在するだけである。 シナリオ2: この場合、オリジナル識別子はローカル
識別子と等しいが、ローカル識別子はグローバル識別子
と同じではない。これは、ノードがクラスタに接続され
ていない間にノード定義を削除したときに発生する。ノ
ードはクラスタに接続されていないので、ノード削除プ
ロセスに関与することができない。したがって、ノード
が削除されたという趣旨で、ローカル・データ構造の更
新は行われない。ノード上でのメンテナンスが終了し、
ノードが再加入しようと試みると、そのノードはそれ自
体の削除を通知し、したがって、そのノードが特定のク
ラスタから削除されたという趣旨で、ローカル・データ
定義をクリーンアップできるようになる。 シナリオ3: この場合、オリジナル識別子はローカル
識別子と一致せず、ローカル識別子はグローバル識別子
と一致する。したがって、オリジナル識別子は、たとえ
ば、メンテナンス動作時に置き換えられている。これ
は、置き換えなければならないハードウェア・リソース
からオリジナル識別子が得られたときに発生する。この
ようなリソースの例は、それぞれの固有識別子が読取り
専用メモリ(ROM)に記憶されているマザー・ボード
およびスマート・カードである。オリジナル識別子が記
憶されているハードウェアを置換することが必要になる
かまたは望ましくなる場合、クラスタ論理は、このケー
スをシナリオ2および4のような間違った定義とは区別
しなければならない。この場合、ローカル識別子とグロ
ーバル識別子は一致しており、ノード定義が依然として
クラスタ内で有効であることを示す。したがって、実行
するアクションは、オリジナル識別子が置き換えられた
という趣旨で、ノード定義を訂正することになる。した
がって、分散構成マネージャは、新しいオリジナル識別
子と一致するようにローカル識別子とグローバル識別子
を両方とも変更する。 シナリオ4: この場合、オリジナル・ノード識別子は
ローカル識別子と一致せず、ローカル識別子はグローバ
ル識別子と一致しない。したがって、このノードには2
回のメンテナンス動作が行われている。これは、ノード
がクラスタから切断されている間にグローバル構成から
削除されており、オリジナル識別子も置き換えられてい
る。このケースは上記のシナリオ2に類似している。と
いうのは、グローバル構成がローカル記憶域に最後にキ
ャッシュされた値と一致しないことが決定要因になるか
らである。したがって、実行するアクションは、ノード
がクラスタから削除されたという趣旨で、ローカル・デ
ータ定義をクリーンアップすることになる。
【0070】一実施形態では、シナリオ3などの所与の
シナリオで分散クラスタ・マネージャはオリジナル識別
子の自動訂正を実行することができるが、これはそのク
ラスタを識別する固有ハードウェアがメンテナンス動作
で置き換えられた場合に所望の効果である。この特徴に
より、たとえば、前のカードを紛失した場合に他のスマ
ート・カードを使用できるようになるだろう。分散構成
マネージャは、グローバル・データベースで値を調べる
ことにより、クラスタに対して前に定義されたマシンを
識別することができる。しかし、シナリオ4に例示する
ように、事前にクラスタに対して定義されていないマシ
ンで新しいカードを使用することはできないだろう。こ
の特徴も所望のものである。というのは、クラスタ定義
動作は、クラスタに対して定義すべきマシンが実行しな
ければならない明示動作であるからである。
【0071】クラスタ・システムのメンバとしてノード
を確実に定義し、クラスタを加入するためのデータ整合
性の維持に関する詳細について、以下に説明する。
【0072】ローカル構成とグローバル・クラスタ構成
データベースの両方に変更が加えられ、両方のリポジト
リのデータが整合性を維持しなければならないので、ノ
ード定義動作などの動作はアトミック方式で実行される
(すなわち、その動作は完了まで実行されるかまたは打
ち切られる)。動作が打ち切られる場合、両方のリポジ
トリのデータは、クラスタ化アーキテクチャと整合性の
ある状態に復帰される。これは、1つのノードを何回も
定義し定義解除できることと、定義解除動作が行われた
ときにそのノードをクラスタから切断できることを考慮
に入れたものである。
【0073】クラスタに対するノード定義の整合性を執
行するために、ノード定義動作は、そのノード自体をノ
ード定義プロトコルに関与させる。この動作中にそのノ
ードの固有識別子はノード番号に関連付けられるが、こ
のノード番号もそのノードが定義される特定のクラスタ
に固有のものである。しかし、ノード番号はすべてのク
ラスタにわたって固有であるわけではない。したがっ
て、複数ノードのプールを複数クラスタ配置(後述す
る)に使用する場合、各クラスタで同じ番号または異な
る番号を付けて1つのノードを定義する場合も考えられ
る。しかし、この実施形態では、1つのノードは任意の
特定の時点で1つのクラスタのみでオンライン(アクテ
ィブ)になることができる。
【0074】ノード番号識別子は、それによってクラス
タに対してノードを把握させる内部識別子である。ノー
ド定義プロセスは、一例では、所与のノード番号が、当
初は特定の固有識別子で定義されたオペレーティング・
システムの1つのインスタンスに関連するように保証す
るものである。ノード定義プロセスの詳細については、
図14および図15に示す例に関連して説明する。
【0075】図14を参照すると、ノード定義プロセス
に関与するプロセス(たとえば、コンピュータ・プログ
ラム)として、レジストリ・サーバとして定義されるク
ラスタ1204の1つまたは複数のノード1202内に
位置するシステム・レジストリ・サーバ・プロセス12
00(図14)と、ノード定義要求1208が発行され
るノードまたはその動作の経路指定先になるノードで動
作する分散構成マネージャ1206(すなわち、メンバ
DCMプロセス)と、クラスタに追加されるノードで動
作する分散構成マネージャ1210(すなわち、非メン
バDCM)という3つのプロセスが存在する。図15に
関連して後述するように、この3つのプロセスは定義プ
ロトコルに関与する。
【0076】ステップ1では、ノード定義要求がメンバ
DCMプロセスに渡される。一例では、定義すべきノー
ドのノード(たとえば、IP)アドレスが要求とともに
渡される。任意選択のパラメータとして、固有ノード識
別子、ノード番号、ノード名も渡すことができる。明示
的に設定されていない場合、固有識別子、ノード番号、
ノード名の値はメンバDCMプロセスによって生成され
る。
【0077】ステップ1で得られたノード・アドレス
は、非メンバDCMプロセスに接触するためにメンバD
CMが使用する(ステップ2)。このメッセージでメン
バDCMプロセスは非メンバDCMプロセスにクラスタ
識別子を渡す。
【0078】ステップ3で非メンバDCMプロセスは、
その要求を受け取り、受け取ったクラスタ識別子で識別
されるクラスタのメンバとして定義される。非メンバD
CMは、それが固有クラスタ識別子によってすでに識別
されたローカル構成を一切持っていないことをチェック
する。(前述のシナリオの中には、そのノードが古い定
義を有する可能性があるものもある。)非メンバDCM
は、ホスト・オペレーティング・システムによって渡さ
れたそれ自体の固有識別子でこの要求に応答する。ま
た、これは、そのクラスタIDに関する前の定義がロー
カル記憶域で見つかったかどうかを示す状況コードもこ
の応答に含める。
【0079】メンバDCMは、非メンバDCMノードの
固有識別子を含む応答を非メンバDCMから受け取る
(ステップ4)。メンバDCMは、この値を保管し、ノ
ード識別子がグローバル記憶域で報告されたかどうかを
チェックする(ステップ5)。たとえば、メンバDCM
は、システム・レジストリ・プロセスに対してルックア
ップ要求を行って、その特定の固有識別子で定義された
ノードをクラスタ内で見つける。システム・レジストリ
は、ステップ4で渡された固有ノード識別子に対応する
可能なノード定義を含むメッセージまたはこのような定
義がまったく存在しないことを示す戻りコードで応答す
る(ステップ6)。
【0080】ステップ7でメンバDCMは前述のメッセ
ージを受け取る。このような定義が見つかった場合、メ
ンバDCMは、この定義が非メンバDCMによって報告
されたものと同じであるかどうかをチェックする。これ
らの定義が同一である場合、非メンバ・ノードがそのク
ラスタに対してすでに定義されている(このノード定義
要求は誤って発行されたものであり、この場合の「非メ
ンバ」というラベルは適切ではない)という趣旨のメッ
セージがノード定義要求側に返送される。これらの定義
が同一ではない場合、ローカル定義とグローバル定義が
ともに削除され、ノード定義プロセスが続行される。残
る可能性として、非メンバ・ノードはグローバル・クラ
スタ構成で見つけることができないローカル定義を報告
する。この場合、定義が一致しない場合と同様に、非メ
ンバDCMは前の定義を消去するよう要求される。
【0081】ステップ8でメンバDCMは、当初はステ
ップ1で与えられるノード・アドレスと、固有ノード識
別子、ノード番号、ノード名をシステム・レジストリに
渡し、新しいノード用の項目を作成するようシステム・
レジストリに要求する。システム・レジストリは、グロ
ーバル・クラスタ構成に対して前述の項目をコミット
し、動作の成功を通知するメッセージをメンバDCMに
返送する(ステップ9)。
【0082】ステップ10でメンバDCMは上記のメッ
セージを受け取る。動作が成功しなかった場合、ノード
定義プロセスは打ち切られ、プロセスが失敗したという
メッセージがノード定義の要求側に返送される。成功し
た場合、プロセスは続行される。次にメンバDCMは、
ローカル記憶域に対して新しいノード定義をコミット
し、適切であれば前の定義を消去するよう非メンバDC
Mに要求する(ステップ11)。
【0083】ステップ12で非メンバDCMは、前述の
要求を実行し、要求された動作の成功を通知するメッセ
ージをメンバDCMに返送する。メンバDCMはこのメ
ッセージを受け取る(ステップ13)。非メンバDCM
によって報告される結果が失敗である場合、メンバDC
Mは定義動作を打ち切り、ノード定義動作の要求側に失
敗を報告する。メンバDCMは、ステップ8で作成され
たグローバル記憶域内の定義を消去する試みも行う。失
敗ではない場合、プロセスは続行される。
【0084】メンバDCMプロセスはノード定義動作を
正常に完了しており、次に、動作の成功を示すメッセー
ジを要求側に返す(ステップ14)。
【0085】クラスタに対してノードを定義した後、た
とえば、本発明の自動クラスタ構成技法を使用すること
により、システム管理者の側で追加のアクションを行う
必要なしに、そのノードをクラスタに挿入(加入)する
ことができる。この技法は、たとえば、ノード定義の直
後またはオンライン・ノード要求を発行したときに開始
することができる。
【0086】自動クラスタ構成技法の一実施形態につい
て図16および図17に関連して説明する。具体的に
は、図16はこの技法で使用する様々なプロセスの一例
を示し、図17はプロセス間のメッセージ・フローの一
例を示す。
【0087】図16を参照すると、たとえば、オンライ
ン・ノード要求1400によりクラスタに対して新しい
ノードを構成するアクションは、新しいノード1404
上のDCMプロセス1402によって調整される。これ
は、それが初めてクラスタに加入するまで、クラスタ内
の他のプロセスはそのノードの構成に関する知識がない
からである。
【0088】ノード定義の時点では、新しいノードとク
ラスタとの間で最小量のデータしか交換されない(図1
7、ステップ1)。交換されるデータは、新しいノード
の固有識別子の保証に関するものであり、レジストリ・
サーバのリスト1406をシードするためのものでもあ
る。ローカル識別子/ノード番号の対は、グローバル・
リポジトリの識別子/ノードの対と比較される。この比
較が成功すると、加入を続行することができる。
【0089】クラスタに加入するよう新しいノードに要
求すると(図17、ステップ2)、新しいノード上のD
CMプロセスは、新しいノード内のリソース・マネージ
ャ1408に対して(図17、ステップ3)、リソース
・コントローラ1410にメッセージを送り(図17、
ステップ4)それぞれの構成をシステム・レジストリ1
412に書き込むよう要求する。このプロセスはノード
がクラスタに加入するたびに繰り返され、このプロセス
によりノード構成の自動更新も可能になる。
【0090】したがって、リソース・コントローラはそ
れらが制御するリソース(たとえば、ハードウェア)用
の構成によりシステム・レジストリを更新し(図17、
ステップ5)、更新が完了したことを新しいノード上の
リソース・マネージャに通知する(図17、ステップ
6)。次にリソース・マネージャ・プロセスは、それに
登録されたリソース・コントローラに関するこの動作の
完了状況を受け取ったときにDCMに通知する(図1
7、ステップ8)。
【0091】新しいノード上のDCMプロセスは、更新
が完了したという通知をリソース・マネージャから受け
取り(図17、ステップ9)、加入プロセスを続行す
る。
【0092】並列アクションで、クラスタ1416上の
システム・レジストリ・プロセス1414は、構成が更
新されたという趣旨でイベント加入者が受け取ることが
できるイベントを送る(図17、ステップ7)。初めて
クラスタにノードを追加する場合、このイベントによ
り、他のクラスタ・コンポーネントが新しいノードをク
ラスタ・メンバとして理解することが可能になる。
【0093】上記の手順により、システム管理者からの
情報を必要とせずに、ノードはそれ自体をクラスタのメ
ンバとして構成することができる。管理者は、一例で
は、ノード定義手順用のノード・アドレスのみを供給す
る。ノード定義手順中にレジストリ・サーバのリストが
新しいノードにシードされる。クラスタに加入するよう
新しいノードに要求すると、そのノードはレジストリ・
サーバのリストを使用して作業システム・レジストリ・
プロセスを見つける。次に、新しいノード上のリソース
・コントローラは、それが制御するリソースの構成を発
見し、この情報をグローバル・クラスタ構成データベー
スに書き込むよう要求される。(リソース・コントロー
ラは、特定のリソースに関して書き込まれ、それぞれの
構成を発見する方法を把握しているプロセスである。)
有利なことに、この動作は新しいノードによって開始さ
れ、この情報を手動で提供することをシステム管理者に
要求しない。
【0094】一例では、そのノードの構成がグローバル
・リポジトリと整合性のあるものであることを保証する
ために、ノードがクラスタに加入するたびに上記の手順
が繰り返される。たとえば、この手順により、システム
管理者はクラスタからノードを切断し、新しい通信アダ
プタなどの何らかのハードウェアを追加し、ノード構成
に変更を加え、ノードがクラスタからオフラインになっ
ていた間に行われたいずれの変更もクラスタに通知する
必要なしにそれをクラスタに再接続することができる。
【0095】本発明の少なくとも一態様によれば、コン
ピューティング環境はそこに定義された1つまたは複数
のクラスタを有することができる。たとえば、コンピュ
ーティング環境1600(図18)は、クラスタA 1
602とクラスタB 1604とを含む。それぞれのク
ラスタはそれに対して定義された1つまたは複数のノー
ド1606を有する。さらに、図18に示すように、1
つまたは複数のノードを両方のクラスタに対して定義す
ることもできる。
【0096】各クラスタは、それに関連する1つまたは
複数のレジストリ・サーバを有する。たとえば、クラス
タAはレジストリ・サーバ1608を有し、クラスタB
はレジストリ・サーバ1610を有する。レジストリ・
サーバ1608は1つまたは複数のサーバ・ノード16
12を含む。同様に、レジストリ・サーバ1610は1
つまたは複数のサーバ・ノード1614を含む。1組の
レジストリ・サーバのサーバ・ノードのうちの1つまた
は複数は、他の1組のレジストリ・サーバの1つまたは
複数のノードとオーバラップすることができる。
【0097】本発明の他の態様では、あるクラスタから
他のクラスタへノードを迅速に移動することができる。
この能力により、あるクラスタが所与の瞬間に経験する
作業負荷間でノードをシフトすることが可能になる。た
とえば、ウェブ・サービングおよびデータベース・サー
ビスなど、2通りのアプリケーションに使用するノード
のプールを有する企業について検討する。この企業は、
本発明のクラスタ化技法を使用すれば、それぞれが1つ
のアプリケーション専用である2つのクラスタ、すなわ
ちクラスタAとクラスタBを定義することができるだろ
う。次に、このようなアプリケーションでの作業負荷は
時刻に応じて変動し、日中はウェブ・サービングの方が
アクティブであり、夜間はデータベース・サービスの方
がアクティブであると想定する。この企業は、クラスタ
Bの負荷の方が大きいときにクラスタAからいくつかの
ノードをクラスタBに移動し、逆も同様に行いたいと希
望するだろう。
【0098】従来のクラスタ化システムでは、システム
管理者は、まず、クラスタAでノードをオフラインに移
行し、次にそのノードをクラスタAで定義解除し、次に
それをクラスタBに対して定義し(通常、多大な手動構
成を必要とする)、その後、クラスタBでそのノードを
オンラインに移行しなければならないだろう。従来のシ
ステムは、手動介入を必要とし、非常に時間のかかるも
のである。作業負荷平衡アプリケーションについて検討
する場合、ノードを移動するプロセスに費やす時間は非
常に重要なものである。というのは、通常、作業負荷
は、この例のように夜間と日中だけでなく、ものの数分
で変化する非常に動的な尺度だからである。したがっ
て、作業負荷平衡アプリケーションで価値を有するため
に、あるクラスタから他のクラスタへノードを移動する
動作は非常に高速になる。
【0099】したがって、本発明の一態様によれば、ク
ラスタ定義のオーバラップを可能にすることにより、あ
るクラスタから他のクラスタへノードを急速に移動す
る。すなわち、1つのノードは、複数のクラスタに対し
て定義することができるが、一実施形態では特定の時点
で単一クラスタ内のみでアクティブになる。
【0100】1つのノードがクラスタに対して定義され
ると、DCMは、そのノードが定義されたクラスタに関
するローカル構成を保持するための特殊記憶域を作成す
る。DCMコンポーネントはローカル・クラスタ構成を
このローカル記憶域に記憶する。ローカル・クラスタ構
成に記憶される値の中には、たとえば、特定のクラスタ
のクラスタ名、クラスタID、ノード名、ノードID、
レジストリ・サーバのリストがある。他の例としては、
DCMは、ローカル記憶域内に以下の2つのフィールド
も保持する。すなわち、そのノードが現在オンラインに
なっているクラスタの識別子(ID)を含む現行クラス
タ・ポインタと、ノードの移動先であるクラスタのID
を含むターゲット・クラスタ・ポインタである。
【0101】これらのポインタの値は、ノードをあるク
ラスタから他のクラスタへ移動する動作中のみ異なるも
のになる。ノードを所与のクラスタ内へ移動できるよう
にするために、そのクラスタ用の少なくとも1つのレジ
ストリ・サーバ・ノードはオンラインでなければならな
い。ノードを移動するために、DCMは、ノードの加入
先として想定されたクラスタを指し示すためにターゲッ
ト・クラスタ・ポインタを移動し、次に移動中のノード
内で動作する他のクラスタ・コンポーネントにリフレッ
シュ信号を送る。あるコンポーネントは、このリフレッ
シュ信号を受け取ると、その構成をリフレッシュし、す
なわち、その構成をグローバル・クラスタ・リポジトリ
から読み取る。そのリポジトリに到達するために、その
コンポーネントは、特定のクラスタに対して定義された
レジストリ・サーバのリストを検索する。移動中のノー
ド内のレジストリ・サーバのリストを検索するプロセス
では、以下に詳述するように、どのリストを使用するか
を決定するために、ターゲット・クラスタ・ポインタを
使用する。
【0102】あるクラスタから他のクラスタへ移動する
ノードに関連する論理の一実施形態について、図19お
よび図20に関連して以下に説明する。図19の点線矢
印は、クラスタAの構成に対するシステム・コンポーネ
ントの事前接続を示す(ローカルとグローバルの両
方)。移動プロセス中、これらの矢印は、クラスタBの
構成を指し示す実線矢印で置き換えられる。
【0103】ステップ1(図20)で、他のクラスタへ
ノードを移動するための要求1700(図19)は、移
動すべきノード上のDCMプロセス1702に送られ
る。DCMプロセスは、ノードを移動するための要求を
受け取り(図20、ステップ2)、それがノードの移動
先であるクラスタのクラスタIDを含むようにターゲッ
ト・クラスタ・ポインタ1704の値を変更する。移動
中のノード上のDCMプロセスは、そのノード上で動作
する他のクラスタ・コンポーネント1706にリフレッ
シュ・メッセージを送る(図20、ステップ3)。
【0104】他のクラスタ・コンポーネントは、グロー
バル・クラスタ構成1710を読み取れるようにレジス
トリ・サーバのリスト1708を検索する(図20、ス
テップ4)。このリストは、ターゲット・クラスタ・ポ
インタに記憶されたクラスタIDを特定のクラスタ用の
レジストリ・サーバのリストに関連付けるマッピングを
使用して検索される。次に、他のクラスタ・コンポーネ
ントは、前のステップで受け取ったレジストリ・サーバ
のリストにリストされたレジストリ・サーバを使用し
て、グローバル・レジストリに記憶されたそれぞれの具
体的な構成を要求する(図20、ステップ5)。
【0105】このレジストリ・サーバは、移動中のノー
ド内の他のクラスタ・コンポーネントに対してターゲッ
ト・クラスタ内のそれぞれの役割に関するそれぞれの適
切な構成を提供する(図20、ステップ6)。移動中の
ノード上の他のクラスタ・コンポーネントは、それらが
移動動作を完了し、ターゲット・クラスタ内でオンライ
ンになっていることをDCMプロセスに通知する(図2
0、ステップ7)。
【0106】次にDCMは、そのノードが他のクラスタ
へ正常に移動されたことを反映するために現行クラスタ
の値を変更する(図20、ステップ8)。そうではな
く、いずれかのクラスタ・コンポーネントがリフレッシ
ュ動作の実行に失敗した場合、DCMは、そのノードを
現行クラスタ・ポインタの前の値に戻し、ターゲット・
クラスタ・ポインタの値も復旧し、リフレッシュ・メッ
セージを再発行し、移動の効果を効果的に取り消す。そ
の後、DCMプロセスは、動作の結果を移動動作の要求
側に通知する(図20、ステップ9)。
【0107】すべてのコンポーネントがリフレッシュ動
作を終了し、クラスタBで正常にオンラインになってい
ることをDCMに報告すると、現行クラスタ・ポインタ
はクラスタBを指し示すように移動する。そのノードが
何らかの理由でクラスタBに加入できない場合、そのノ
ードは現行クラスタ・ポインタに指名されたクラスタに
復帰する。
【0108】上記の手順により、あるクラスタから他の
クラスタへノードを非常に迅速に移動することが可能に
なる。このような高速移動が可能になる理由は、このア
ーキテクチャにより1つのノードを複数のクラスタに定
義できることによる。
【0109】クラスタ・アーキテクチャの様々なコンポ
ーネントは、メッセージを送受信し、いたるところでシ
ステム通信トラフィックを引き起こす。「システム通
信」という用語は、クラスタ化システム内で動作するア
プリケーションによって生成されるトラフィックである
サービス・トラフィックとは対照的に、クラスタ化論理
自体によって生成されるネットワーク・トラフィックを
参照するために本明細書で使用する。たとえば、システ
ム・トラフィックは、すべてのノード上の対等機能に定
期検証メッセージを送る活性サブシステムによって生成
されるネットワーク・トラフィックを含む。他の例とし
ては、他のコンポーネントにそのクラスタのグローバル
構成を送るシステム・レジストリ・コンポーネントによ
って生成されるネットワーク・トラフィックを含む。ク
ラスタ・システムの典型的な配置では、複数の相互接続
ネットワークを使用し、その結果、ノード間に複数の通
信経路が作成される。したがって、システム内で動作す
る他のアプリケーションに干渉しないように、システム
・トラフィックを特定の通信経路に制限できる機構をシ
ステム管理者に提供することが望ましい。
【0110】本発明の一態様によれば、クラスタ化論理
によって生成されるネットワーク・トラフィックを制御
するために、クラスタ・アーキテクチャはネットワーク
・オブジェクトを定義する。システム・トラフィックを
生成する各クラスタ・コンポーネントは、このようなト
ラフィックに使用すべきネットワーク・オブジェクトに
関するプリファレンスを指定する。たとえば、1つのク
ラスタは1つまたは複数のネットワークを含むことがで
き、各ネットワークは1つまたは複数のサブネットワー
クを含み、各サブネットワークは1つまたは複数のノー
ドを含む。
【0111】前述のように、ノードはノード定義動作に
よってクラスタに対して定義される。同様に、サブネッ
トワーク・オブジェクトはサブネットワーク定義動作に
よって定義される。サブネットワークは、そのノード・
アドレスが既存のサブネットワーク・オブジェクトにマ
ッピングされていないクラスタ内で新しい通信アダプタ
が発見されたという通知を受け取った場合に、DCMプ
ロセスによって暗黙のうちに定義することができる。さ
らに、サブネットワーク定義解除動作はグローバル・ク
ラスタ構成からサブネットワーク定義を削除し、サブネ
ットワーク修正動作はサブネットワーク定義の属性を修
正する。修正可能な属性としては、たとえば、サブネッ
トワーク名ならびにサブネットワークがマッピングされ
るネットワーク定義を含む。
【0112】同様に、ネットワーク定義動作は1つまた
は複数のサブネットワーク定義にマッピングされるネッ
トワーク定義を作成し、ネットワーク定義解除動作はグ
ローバル・クラスタ・データベースからネットワーク定
義を消去する。さらに、ネットワーク修正動作は、ネッ
トワーク定義の属性を修正するために使用する。変更可
能な属性の1つは、たとえば、ネットワーク名である。
【0113】各ノード、サブネットワーク、ネットワー
クは、後述するように、少なくとも1つの対応データ構
造によって定義される。これらのデータ構造は、たとえ
ば、グローバル・リポジトリに記憶される。
【0114】一実施形態では、各ノードは1つまたは複
数のノード・アドレス定義データ構造によって表され
る。一例のノード・アドレス定義データ構造1900
(図21)は、ノード・アドレス・データ定義の1次キ
ー・フィールドとして使用し、本明細書で説明するよう
にノード・アドレス・オブジェクトが作成されたときに
生成される固有識別子1902と、そのノードに到達す
るために使用するノード・インタフェースのノード・ア
ドレスを含むノード・アドレス1904(以下に詳述す
る)と、クラスタ・システムの特定のサブネットワーク
にノード・アドレスをマッピングするために使用するサ
ブネットワーク・マスク1906と、フィールド190
4内のノード・アドレスに関連するノードの番号を含む
ノード番号1908とを含む。
【0115】ノード・アドレスは、やはり固有のもので
ある2次キー・フィールドである。分散構成マネージャ
・コンポーネントでは同じノード・アドレスを有する2
つのノード・アドレスの定義は不可能なので、ノード・
アドレスは固有のものになる。本発明の諸態様の特定の
一実施例でノード間の通信手段としてインターネット・
プロトコルを使用するので、本明細書に記載する例で
は、アドレスはインターネット・プロトコル(IP)ア
ドレスである。しかし、他のどの通信プロトコルでも使
用できることは当業者には分かることである。どのイベ
ントでも、選択したプロトコルを使用して各ノードに到
達できるように、そのノードについて識別されたアドレ
スが少なくとも1つ存在するはずである。複数の通信プ
ロトコルを使用する場合、プロトコル・タイプがノード
・アドレス定義の追加フィールドになる場合もある。
【0116】本発明の一態様によれば、各ノード・アド
レス定義はサブネットワーク定義にマッピングされる。
サブネットワーク定義データ構造の一例について図22
に関連して説明する。
【0117】一例として、サブネットワーク定義データ
構造2000は、たとえば、サブネットワーク定義の固
有性を示す固有識別子2002と、この特定の実施例で
はサブネットワークの接頭部を識別するノード・アドレ
スを含むサブネットワーク接頭部2004と、サブネッ
トワーク接頭部内のいくつのビットが関連するかを示す
ビット・マスクであるサブネットワーク・マスク200
6と、サブネットワーク定義を既存のネットワーク定義
にマッピングするネットワーク名2008とを含む。
【0118】本明細書に記載する例では、サブネットワ
ーク・オブジェクトは、IPプロトコルに規定されてい
る、そのコンピュータの相互接続の方法から導出され
る。たとえば、IPネットワークでは、IPアドレスと
サブネットワーク・マスクによってノードが構成され
る。同じサブネットワークに接続されたすべてのノード
は同じ接頭部を備えたアドレスを有するはずであり、接
頭部の長さはサブネットワーク・マスクによって決定さ
れる。ここに示す実施例では、IPネットワークのこの
態様を使用してノード・アドレスをグループ単位にグル
ープ化するが、この場合、各グループは同じサブネット
ワーク内にあるすべてのノードを含む。サブネットワー
クはネットワーク定義にマッピングされており、クラス
タ・トラフィックの経路指定は、後述するように、ネッ
トワーク・オブジェクトのパラメータを修正することに
よって制御される。
【0119】ネットワーク定義データ構造の一例を図2
3に示す。ネットワーク定義データ構造2100は、た
とえば、ネットワーク定義の固有性を示す固有識別子2
102と、サブネットワーク・オブジェクトをネットワ
ーク・オブジェクトにマッピングするために使用するネ
ットワーク名2104と、様々なクラスタ・サービスを
求める要求の伝送時にどのネットワークを使用するかを
決定する際に使用する値のテーブルであるサービス経路
指定テーブル2106とを含む。サービス経路指定テー
ブルは、たとえば、システム・トラフィックを生成する
クラスタ・コンポーネントの名前と、このようなサービ
スにそのネットワークを使用する場合の優先順位とを含
む。
【0120】たとえば、1つのクラスタをA、B、Cと
いう3つのネットワーク・オブジェクトによって定義す
ることができる。あるクラスタ・コンポーネントがシス
テム・レジストリからグローバル構成を読み取ることを
必要としていると仮定する。そのコンポーネントはまず
特定のクラスタに関するレジストリ・サーバのリストを
検索する。この例では、このリストは1、2、3という
ラベルが付いた3つのアドレスを含む。次にそのコンポ
ーネントは、システム管理者が設定した優先順位に応じ
てどれを使用するかを選択する。このコンポーネント
は、後述するマッピングに従い、サービス・ノード・ア
ドレス(レジストリ・サーバのリストにリストされてい
るもの)をネットワーク・オブジェクトにマッピングす
る。
【0121】この例では、アドレス1はネットワークA
にマッピングされ、アドレス2はネットワークBにマッ
ピングされ、アドレス3はネットワークCにマッピング
される。次に、このコンポーネントは、各ネットワーク
・オブジェクトのサービス経路指定テーブルに記憶さ
れ、それが使用する必要があるサービス(たとえば、シ
ステム・レジストリ)を参照する優先順位値を読み取
る。この値は、そのシステムに関してシステム管理者の
プリファレンスに応じてシステム管理者が設定したもの
である。この例では、システム・レジストリ優先順位の
値がネットワークAでは3、ネットワークBでは2、ネ
ットワークCでは1であると想定する。最高の優先順位
番号はネットワークAで見つかり、したがって、このコ
ンポーネントは、ネットワークAにマッピングされるア
ドレス(上記の1)をまず使用して、システム・レジス
トリ・コンポーネントに到達しようと試みる。次に、そ
れが失敗した場合、このコンポーネントは、ネットワー
クBにマッピングされるアドレスを使用し、最後にネッ
トワークCにマッピングされるアドレスを使用しようと
試みる。
【0122】クラスタ・サービスのクライアントがある
サービス用の特定アドレスを選択する方法に関する詳細
について、図24に示す例に関連して説明する。
【0123】一実施形態では、最初にクライアントは、
ステップ2200(図24)でサービスが存在する可能
性のあるアドレスのリストを検索する。アドレスのリス
トを検索する方法は各サービスごとに異なる。システム
・レジストリの場合、ローカル構成ファイルからレジス
トリ・サーバ・ノードのリストを検索する。他のサービ
スは、たとえばグローバル・クラスタ構成でノード・ア
ドレスのリストを公表する場合もある。
【0124】ノード・アドレスのリストの取得後、クラ
イアントは、グローバル・クラスタ構成に記憶されたノ
ード・アドレス定義データ構造内の各ノード・アドレス
を調べる。各アドレスごとに、クライアントは、ステッ
プ2202(図24)でノード・アドレスとサブネット
ワーク・マスクの論理AND演算を実行し(図25を参
照)、その結果として各アドレスごとにサブネットワー
クIDを取得する。
【0125】その後、クライアントは、ステップ220
4で各アドレスごとにサブネットワーク・オブジェクト
を検索し、各サブネットワーク・オブジェクトごとにス
テップ2206でそのサブネットワークに関連するネッ
トワーク名を検索する。
【0126】その後、クライアントは、ステップ220
8でサービス・アドレスがマッピングされる各ネットワ
ークを検索する。次にクライアントはステップ2210
で、各ネットワーク・オブジェクトに記憶されたサービ
ス経路指定テーブルからサービス優先順位番号を読み取
る。次にクライアントはステップ2212で、ネットワ
ーク・オブジェクトにシステム管理者によって設定され
た優先順位に応じてノード・アドレスのリストを順序付
ける。
【0127】その後、クライアントはステップ2214
で、優先順位の順にサービスに接触しようと試みる。
【0128】上記の技法は、特定のネットワークへの特
定の種類のサービスに関連するトラフィックを含むメカ
ニズムをクラスタの管理者に提供するものである。この
技法は、管理者にとって意味のあるようにネットワーク
・トラフィック制御を提供する。クライアントがこのサ
ービス用のノード・アドレスのリストを検索することに
留意されたい。このリストはサービス自体によって公表
されるので、最初は順序付けられていない。上記の例で
は、DCMコンポーネントによりそのノード・アドレス
のリストを公表するのはシステム・レジストリである。
しかし、システム・レジストリは、ネットワーク構造ま
たはシステム管理者のプリファレンスに関する知識をま
ったく持っておらず、したがって、順序付きリストを提
供することができない。したがって、システム管理者
は、上記のマッピングが示すように、サブネットワーク
・オブジェクトをネットワーク・オブジェクトに割り当
てることができる。
【0129】システム・マネージャが行った変更は、移
動したサブネットワークにマッピングされるすべてのア
ドレスのサービス優先順位割当てに影響する。この動作
は、他のコンポーネントによって理解されるサブネット
ワーク・テーブル内の変更に局所化される。この機構
は、それによってシステム管理者がクラスタ・システム
のすべてのコンポーネントのシステム・トラフィックを
制御できる中央制御点を提供する。
【0130】前述したものは、システム管理者によって
設定された優先順位に応じてサービス・アドレスのリス
トに順序付けるための一技法である。しかし、場合によ
ってはシステム管理者は、それに関する優先順位プリフ
ァレンスが存在しない、複数の同等ネットワークを使用
する場合もある。この場合、たとえば、経路指定ステッ
プまたはホップによって、クライアントへの近接順にサ
ービス・アドレスのリストを順序付けることが望まし
い。標準のIPプロトコルでは、特定のサブネットワー
クから送られるデータグラムは、それが経路指定されて
いない場合、その特定のサブネットワーク内のノードの
みに到達することになる。そのデータグラムが他のノー
ドに到達するためには、それは経路指定される(すなわ
ち、それは、そのデータグラムが発信されたサブネット
ワークとターゲット・ネットワークの両方あるいは他の
ルータまたはそのうちの1つがターゲット・ネットワー
クにアクセス可能な一連のルータに接続されたルータま
たはパッケージ・スイッチング・ノードを通過する)。
パッケージ・スイッチング・ノードによりパッケージを
経路指定するステップはホップと呼ぶ。パッケージ・ス
イッチング動作はターゲット・サブネットワークでのパ
ケットの受信を遅らせるので、ホップに関連してパフォ
ーマンスの損害が発生する。
【0131】したがって、システム管理者が特定サービ
スへのクラスタ・ネットワークの使用に関して優先順位
プリファレンスを設定しない場合、サーバからクライア
ントに経路指定する際にデータグラムが被る最小数のホ
ップに応じてリストを順序付けることが有益である。さ
らに、複数のサーバがクライアントと同等である場合
(すなわち、正確に同じ数のホップを使用して複数のサ
ーバに到達できる場合)、サービス負荷が等距離サーバ
間に等しく広がるように、各クライアントごとに異なる
ようにリストを順序付けることが有益になる。
【0132】以下の技法は、低距離および負荷平衡の基
準に応じてサービス・アドレスのリストを順序付ける機
構を提供するものである。この技法は、DCMが各ノー
ドにレジストリ・サーバのリストを記憶するときに(シ
ステム管理者がクラスタ・ネットワークの使用に関する
優先順位を設定していない場合)DCMが使用する。後
述するように、この技法では、クライアントからサーバ
までの距離と、作業負荷をサーバ間に等しく分散するマ
ッピングを使用する。この作業負荷分散は、各サブネッ
トワーク内のノードの総数と、各ノードの個別ノード番
号と、等距離サーバの数から導出される公式に基づくも
のである。
【0133】特定サービスに到達するためにクラスタ内
の特定のノードが使用すべきアドレスの順序付きリスト
を生成するために使用する論理の一実施形態について、
図26に関連して説明する。一例では、この技法のため
の入力パラメータとして、特定サービス用のアドレスの
リストと、特定サービスのクライアントになるノードの
ノード番号と、そのノード上に存在する通信インタフェ
ース用のアドレス(ノード・アドレス)と、ホップ数に
よる他の各サーバからそのノードまでの距離とを含む。
このパラメータは標準のIPトレース・ルート機構を使
用して推定できることに留意されたい。
【0134】出力は、固有ノード番号によって識別され
る特定ノード用に調整されたサービス・アドレスの順序
付きリストになる。このリストは、最小コストに応じて
順序付けられ、等距離サーバに負荷平衡を使用する。
【0135】図26を参照すると、最初にステップ24
00で、入力リスト内のいずれかのアドレスがそのノー
ド自体に存在するノード・インタフェースに対応する場
合、これらのアドレスは結果として得られる順序付きリ
スト上にまず置かれる。この結果、同一ノード上に共存
する複数サーバを使用するプリファレンスをローカル・
クライアントが有し、その結果、可能な限り最善のパフ
ォーマンスが得られる。次にステップ2402で、最低
距離(ホップ数による)を備えたサーバのアドレスがリ
ストされる。
【0136】複数の等距離サーバ(すなわち、同じ数の
ホップを使用して到達可能なサーバ)が存在する場合、
順序付けをさらに最適化することが可能である。2つの
等距離サーバが存在する場合、クライアントの半分に一
方のサーバを最初にリストし、残り半分にもう一方のサ
ーバを最初にリストすることが有益である。これにより
クライアントの半分は一方のサーバに関するプリファレ
ンスを有し、残り半分はもう一方のサーバに関するプリ
ファレンスを有し、理想的な負荷平衡方式を達成する。
サーバが3つ存在する場合、第1の位置は3通りに分割
することができる。
【0137】どのサーバを最初にリストするかを決定す
るための一技法については、ステップ2404で説明す
る。特に、最初はステップ2406で、1組の等距離サ
ーバ(すなわち、同じ数のホップを有する1組のサー
バ)に対して、それぞれのノード・アドレスに応じて最
低から最高の順に0、1、2などのインデックスを付け
る。ノード・アドレスは固有のものなので、このマッピ
ングも固有のものになる。
【0138】次にステップ2408で、事前定義された
式を使用して等距離サーバの1つのマッピング・インデ
ックスを計算する。特に、kが0から等距離サーバの数
までの場合、マッピング・インデックスは[(node_numbe
r)mod(number_of_equidistant_servers)+k]mod(number_
of_equidistant_servers)]に等しくなり、式中、mod
は、除算演算の整数剰余として定義されるモジュロ演算
を意味する。
【0139】マッピング・インデックスの計算後、ステ
ップ2410でマッピング・インデックスの対応アドレ
スをリストに追加する。
【0140】その後、照会2412で、その組内により
多くの等距離サーバが存在するかどうかの判定を行う。
その組内により多くの等距離サーバが存在する場合、ス
テップ2408で処理が続行される。存在しない場合、
処理は照会2414に継続し、そこで、より多くの処理
すべきサーバが入力リストに存在するかどうかの判定を
行う。より多くのサーバが存在する場合、プロセスはス
テップ2402に継続する。存在しない場合、サービス
・アドレスの最終順序付きリストが提供され、ステップ
2416で手順が完了する。
【0141】上記の手順を実証する一例について以下に
説明する。以下の入力を想定する。 ノード番号=5 サービス・リスト(括弧内に距離を示した象徴的なノー
ド・アドレスを使用する)は{1(0)、3(1)、7
(1)、9(1)、12(2)、2(2)}を含む。
【0142】順序付けを取得するために、以下のように
上記の規則に従う。 1)この技法では、ノード5に関して定義されたノード
・アドレス定義テーブルのいずれかを調べ、入力アドレ
スのいずれかがこれらのテーブルのノード・アドレス・
フィールド内にあるかどうかを判定する。距離が0のア
ドレス1がこのノードにとってローカルであり、したが
って、上記の規則1により最初にリストされることを発
見する。 2)3つの等距離サーバはノード・アドレスによって順
序付けられ、0→3、1→7、2→9というマッピング
になる。これらのノードは規則3〜7を使用して再順序
付けされる。この場合の等距離サーバの数は3であり、
ノード番号は5であり、その結果、以下のようになる。 a)第1のサーバを選択するために、k=0として規則
5を適用し、以下の結果が得られる。 [(5mod3+0)mod3]=2 この結果は上記のステップで得られたリストに対するマ
ッピング・インデックスである。この場合、マッピング
・インデックス2はサーバ・アドレス9にマッピングさ
れる。 b)第2のサーバの場合、kを1にして規則5を反復
し、以下の結果が得られる。 [(5mod3+1)mod3] これは[(2+1)mod3]=Oになり、サーバ3にマッピングさ
れる。 c)同様に、k=2として規則5の次の反復を行い、以
下の結果が得られる。 [(5mod3+2)mod3] これは[(2+2)mod3]=1になり、サーバ7にマッピングさ
れる。 3)同じ手順(規則2〜5)を第2の組の等距離サーバ
に使用する。まず、マッピング・インデックスは0→1
2、1→2というように割り当てる。この場合、等距離
サーバの数は2である。 a)規則5の第1の反復により以下の結果が得られる。 [(5mod2+O)mod2]=1 これはサーバ2にマッピングされる。 b)k=1とした第2の反復により以下の結果が得られ
る。 [(5mod2+1)mod2]=O これはサーバ12にマッピングされる。 4)最終結果は以下のようなリストになる。 {1、9、3、7、2、12}
【0143】出力リストは各クライアント・ノード番号
ごとに異なり、その結果、各クライアントごとに平衡リ
ストが得られることが認められる。
【0144】上記に加え、DCMは順序付きリストを維
持する。一例では、DCMは、新しいサービス・ノード
が追加または削除されたという通知を受け取ると必ずロ
ーカル・リストをリフレッシュする。
【0145】前述したものは、クラスタ化環境を管理す
る場合の様々な態様である。クラスタ化アーキテクチャ
ならびにクラスタを管理するための技法も提供される。
本発明の様々な技法は、単一システム、同種システム、
ならびに異種システムにも適用可能である。一例とし
て、異種環境のシステムの相互運用性を容易にするため
の機能が提供される。
【0146】本明細書に記載した実施形態では、グロー
バル・データはノードから1つまたは複数のリポジトリ
(グローバル記憶域)にリモートで記憶される。しか
し、他の例では、各リポジトリは1つまたは複数のノー
ドに対してローカルなものにすることができる。さら
に、各リポジトリはそのリポジトリのユーザにとってリ
モートまたはローカルなものにすることができる。
【0147】本発明は、たとえば、コンピュータで使用
可能な媒体を有する製品(たとえば、1つまたは複数の
コンピュータ・プログラム)に含めることができる。こ
の媒体では、たとえば、本発明の諸機能を提供し容易に
するためのコンピュータ可読プログラム・コード手段が
そこで実施されている。この製品は、コンピュータ・シ
ステムの一部として含めるか、別々に販売することがで
きる。
【0148】その上、本発明の諸機能を実行するために
マシンによって実行可能な複数命令からなる少なくとも
1つのプログラムを具体的に実施し、マシンによって読
取り可能な少なくとも1つのプログラム記憶装置を提供
することができる。
【0149】ここに示した流れ図は例にすぎない。本発
明の精神を逸脱せずに、これらの図またはそこに記載さ
れたステップ(または動作)の変形形態は多数存在する
可能性がある。たとえば、そのステップは異なる順序で
実行することができ、ステップの追加、削除、または修
正も可能である。これらの変形形態はいずれも、ここで
請求する本発明の一部と見なす。
【0150】好ましい実施形態について本明細書で詳し
く描写し説明してきたが、本発明の精神を逸脱せずに、
様々な修正、追加、置換などが可能であり、したがっ
て、それらは特許請求の範囲に定義した本発明の範囲内
であると見なされることは、当業者にとって明らかにな
るだろう。
【0151】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0152】(1)コンピューティング環境のクラスタ
を管理するシステムであって、前記システムが、前記コ
ンピューティング環境のクラスタのデータ用のグローバ
ル・データ記憶域を提供するためのレジストリ・コンポ
ーネントであって、前記クラスタが前記コンピューティ
ング環境の1つまたは複数のノードを含むレジストリ・
コンポーネントと、前記1つまたは複数のノードのうち
の少なくとも1つのノード上にローカルにデータを維持
し、前記レジストリ・コンポーネントにグローバル・デ
ータを記憶するための構成コンポーネントと、前記クラ
スタの1つまたは複数の通信経路の状況を提供するため
の活性コンポーネントであって、前記レジストリ・コン
ポーネントおよび前記構成コンポーネントに依存する活
性コンポーネントと、前記クラスタの1つまたは複数の
他のコンポーネントに1つまたは複数のサービスを提供
するためのグループ・サービス・コンポーネントであっ
て、前記レジストリ・コンポーネント、前記構成コンポ
ーネント、および前記活性コンポーネントに依存するグ
ループ・サービス・コンポーネントと、前記クラスタの
1つまたは複数のリソース・コントローラへの通信を可
能にするためのリソース管理コンポーネントであって、
前記レジストリ・コンポーネント、前記構成コンポーネ
ント、および前記グループ・サービス・コンポーネント
に依存するリソース管理コンポーネントとを含むシステ
ム。 (2)前記レジストリ・コンポーネントが少なくとも1
つのタイプの動作の場合に前記グループ・サービス・コ
ンポーネントに依存する、上記(1)に記載のシステ
ム。 (3)前記1つのタイプの動作が書込み動作である、上
記(2)に記載のシステム。 (4)コンピューティング環境のクラスタを管理する方
法であって、前記方法が、レジストリ・コンポーネント
により、前記コンピューティング環境のクラスタのデー
タ用のグローバル・データ記憶域を提供するステップで
あって、前記クラスタが前記コンピューティング環境の
1つまたは複数のノードを含むステップと、構成コンポ
ーネントにより、前記1つまたは複数のノードのうちの
少なくとも1つのノード上にローカルにデータを維持
し、前記レジストリ・コンポーネントにグローバル・デ
ータを記憶するステップと、活性コンポーネントによ
り、前記クラスタの1つまたは複数の通信経路の状況を
提供するステップであって、前記活性コンポーネントが
前記レジストリ・コンポーネントおよび前記構成コンポ
ーネントに依存するステップと、グループ・サービス・
コンポーネントにより、前記クラスタの1つまたは複数
の他のコンポーネントに1つまたは複数のサービスを提
供するステップであって、前記グループ・サービス・コ
ンポーネントが前記レジストリ・コンポーネント、前記
構成コンポーネント、および前記活性コンポーネントに
依存するステップと、リソース管理コンポーネントによ
り、前記クラスタの1つまたは複数のリソース・コント
ローラへの通信を可能にするステップであって、前記リ
ソース管理コンポーネントが前記レジストリ・コンポー
ネント、前記構成コンポーネント、および前記グループ
・サービス・コンポーネントに依存するステップとを含
む方法。 (5)コンピューティング環境のクラスタを管理する方
法を実行するためにマシンによって実行可能な複数命令
からなる少なくとも1つのプログラムを具体的に実施
し、マシンによって読取り可能な少なくとも1つのプロ
グラム記憶装置であって、前記方法が、レジストリ・コ
ンポーネントにより、前記コンピューティング環境のク
ラスタのデータ用のグローバル・データ記憶域を提供す
るステップであって、前記クラスタが前記コンピューテ
ィング環境の1つまたは複数のノードを含むステップ
と、構成コンポーネントにより、前記1つまたは複数の
ノードのうちの少なくとも1つのノード上にローカルに
データを維持し、前記レジストリ・コンポーネントにグ
ローバル・データを記憶するステップと、活性コンポー
ネントにより、前記クラスタの1つまたは複数の通信経
路の状況を提供するステップであって、前記活性コンポ
ーネントが前記レジストリ・コンポーネントおよび前記
構成コンポーネントに依存するステップと、グループ・
サービス・コンポーネントにより、前記クラスタの1つ
または複数の他のコンポーネントに1つまたは複数のサ
ービスを提供するステップであって、前記グループ・サ
ービス・コンポーネントが前記レジストリ・コンポーネ
ント、前記構成コンポーネント、および前記活性コンポ
ーネントに依存するステップと、リソース管理コンポー
ネントにより、前記クラスタの1つまたは複数のリソー
ス・コントローラへの通信を可能にするステップであっ
て、前記リソース管理コンポーネントが前記レジストリ
・コンポーネント、前記構成コンポーネント、および前
記グループ・サービス・コンポーネントに依存するステ
ップとを含む、少なくとも1つのプログラム記憶装置。
【図面の簡単な説明】
【図1】本発明の諸態様を組み込み使用するコンピュー
ティング環境の一例を示す図である。
【図2】本発明の一態様により、複数のクラスタを有す
るコンピューティング環境の一実施形態を示す図であ
る。
【図3】本発明の一態様により、クラスタのノードの状
態の一実施形態を示す図である。
【図4】本発明の一態様により使用するクラスタ・アー
キテクチャのコンポーネントの一実施形態を示す図であ
る。
【図5】本発明の一態様により、その環境の全ノードの
一部分にのみ図4のシステム・レジストリ・コンポーネ
ントが位置する、クラスタ化環境の一実施形態を示す図
である。
【図6】本発明の一態様により、クラスタ化アーキテク
チャの様々なコンポーネントのデータ依存関係の一例を
示す図である。
【図7】本発明の一態様により、クラスタ化アーキテク
チャの様々なコンポーネントの機能依存関係の一例を示
す図である。
【図8】本発明の一態様により、ブートストラップ・プ
ロセスのイベントおよびメッセージ・フローのシーケン
スの一実施形態を示す図である。
【図9】本発明の一態様により、クラスタ定義データ構
造の一実施形態を示す図である。
【図10】本発明の一態様により、ノード定義データ構
造の一実施形態を示す図である。
【図11】本発明の一態様により、レジストリ・サーバ
・ノードのリストの一実施形態を示す図である。
【図12】本発明の一態様により、ローカル記憶域デー
タ・フィールドの一例を示す図である。
【図13】本発明の一態様により、クラスタ化システム
の固有ノード識別子の一実施形態を示す図である。
【図14】本発明のノード定義プロセスに関与するプロ
セスの一実施形態を示す図である。
【図15】本発明の一態様により、ノード定義プロセス
のイベントおよびメッセージ・フローのシーケンスの一
実施形態を示す図である。
【図16】本発明の自動クラスタ構成技法が使用する様
々なプロセスの一例を示す図である。
【図17】本発明の自動クラスタ構成を可能にするため
の図16のプロセス間のメッセージ・フローの一例を示
す図である。
【図18】本発明の一態様により、複数のクラスタに対
して定義中のノードの一例を示す図である。
【図19】本発明の一態様により、あるクラスタから他
のクラスタへ移動するノードの一例を示す図である。
【図20】本発明の一態様により、あるクラスタから他
のクラスタ内へ移動するためのプロセスのイベントおよ
びメッセージ・フローのシーケンスの一実施形態を示す
図である。
【図21】本発明の一態様により、ノード・アドレス定
義データ構造の一例を示す図である。
【図22】本発明の一態様により、サブネットワーク定
義データ構造の一例を示す図である。
【図23】本発明の一態様により、ネットワーク定義デ
ータ構造の一態様を示す図である。
【図24】本発明の一態様により、サービスを位置指定
するための特定アドレスを選択するためにクラスタ化環
境のクライアントが使用する論理の一実施形態を示す図
である。
【図25】本発明の一態様により、ノード・アドレス定
義をサブネットワーク定義およびネットワーク定義にマ
ッピングする場合の一例を示す図である。
【図26】本発明の一態様により、特定サービスに到達
するためにクラスタ内の特定のノードが使用すべきアド
レスの順序付きリストを生成するために使用する論理の
他の実施形態を示す図である。
【符号の説明】
400 分散構成マネージャ・サブシステム 402 システム・レジストリ・サブシステム 404 活性サブシステム 406 グループ・サービス・サブシステム 408 リソース・マネージャ・サブシステム 410 オペレーティング・システム・インスタンス1
プロセス空間、オペレーティング・システム・インスタ
ンス2プロセス空間、オペレーティング・システム・イ
ンスタンス3プロセス空間 412 DCMプロセス 414 システム・レジストリ・プロセス
フロントページの続き (72)発明者 マルコス・エヌ・ノヴァエス アメリカ合衆国12533 ニューヨーク州ホ ープウェル・ジャンクション リッジ・ビ ュー・ロード 10 (72)発明者 グレゴリー・ディー・レイブ アメリカ合衆国12401 ニューヨーク州キ ングストン オークウッド・ドライブ 775 アール・ディー3 (72)発明者 ロナルド・ティー・ゲーリング アメリカ合衆国78703 テキサス州オース チン エルトン・レーン 1907 (72)発明者 ジェフリー・エス・ルカシュ アメリカ合衆国12443 ニューヨーク州ハ ーリー アルタモント・ドライブ 129 (72)発明者 ピーター・アール・バドヴィナツ アメリカ合衆国97008−8622 オレゴン州 ビーヴァートン サウスウェスト・トエン ティーセブンス・コート 13740 (72)発明者 マイケル・エイ・シュミット アメリカ合衆国12484 ニューヨーク州ス トーン・リッジ パイン・ブッシュ・ロー ド 113 Fターム(参考) 5B045 BB17 BB42 CC06 DD15 GG01 5B098 AA10 GA02 GA04 GD02 GD14

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】コンピューティング環境のクラスタを管理
    するシステムであって、前記システムが、 前記コンピューティング環境のクラスタのデータ用のグ
    ローバル・データ記憶域を提供するためのレジストリ・
    コンポーネントであって、前記クラスタが前記コンピュ
    ーティング環境の1つまたは複数のノードを含むレジス
    トリ・コンポーネントと、 前記1つまたは複数のノードのうちの少なくとも1つの
    ノード上にローカルにデータを維持し、前記レジストリ
    ・コンポーネントにグローバル・データを記憶するため
    の構成コンポーネントと、 前記クラスタの1つまたは複数の通信経路の状況を提供
    するための活性コンポーネントであって、前記レジスト
    リ・コンポーネントおよび前記構成コンポーネントに依
    存する活性コンポーネントと、 前記クラスタの1つまたは複数の他のコンポーネントに
    1つまたは複数のサービスを提供するためのグループ・
    サービス・コンポーネントであって、前記レジストリ・
    コンポーネント、前記構成コンポーネント、および前記
    活性コンポーネントに依存するグループ・サービス・コ
    ンポーネントと、 前記クラスタの1つまたは複数のリソース・コントロー
    ラへの通信を可能にするためのリソース管理コンポーネ
    ントであって、前記レジストリ・コンポーネント、前記
    構成コンポーネント、および前記グループ・サービス・
    コンポーネントに依存するリソース管理コンポーネント
    とを含むシステム。
  2. 【請求項2】前記レジストリ・コンポーネントが少なく
    とも1つのタイプの動作の場合に前記グループ・サービ
    ス・コンポーネントに依存する、請求項1に記載のシス
    テム。
  3. 【請求項3】前記1つのタイプの動作が書込み動作であ
    る、請求項2に記載のシステム。
  4. 【請求項4】コンピューティング環境のクラスタを管理
    する方法であって、前記方法が、 レジストリ・コンポーネントにより、前記コンピューテ
    ィング環境のクラスタのデータ用のグローバル・データ
    記憶域を提供するステップであって、前記クラスタが前
    記コンピューティング環境の1つまたは複数のノードを
    含むステップと、 構成コンポーネントにより、前記1つまたは複数のノー
    ドのうちの少なくとも1つのノード上にローカルにデー
    タを維持し、前記レジストリ・コンポーネントにグロー
    バル・データを記憶するステップと、 活性コンポーネントにより、前記クラスタの1つまたは
    複数の通信経路の状況を提供するステップであって、前
    記活性コンポーネントが前記レジストリ・コンポーネン
    トおよび前記構成コンポーネントに依存するステップ
    と、 グループ・サービス・コンポーネントにより、前記クラ
    スタの1つまたは複数の他のコンポーネントに1つまた
    は複数のサービスを提供するステップであって、前記グ
    ループ・サービス・コンポーネントが前記レジストリ・
    コンポーネント、前記構成コンポーネント、および前記
    活性コンポーネントに依存するステップと、 リソース管理コンポーネントにより、前記クラスタの1
    つまたは複数のリソース・コントローラへの通信を可能
    にするステップであって、前記リソース管理コンポーネ
    ントが前記レジストリ・コンポーネント、前記構成コン
    ポーネント、および前記グループ・サービス・コンポー
    ネントに依存するステップとを含む方法。
  5. 【請求項5】コンピューティング環境のクラスタを管理
    する方法を実行するためにマシンによって実行可能な複
    数命令からなる少なくとも1つのプログラムを具体的に
    実施し、マシンによって読取り可能な少なくとも1つの
    プログラム記憶装置であって、前記方法が、 レジストリ・コンポーネントにより、前記コンピューテ
    ィング環境のクラスタのデータ用のグローバル・データ
    記憶域を提供するステップであって、前記クラスタが前
    記コンピューティング環境の1つまたは複数のノードを
    含むステップと、 構成コンポーネントにより、前記1つまたは複数のノー
    ドのうちの少なくとも1つのノード上にローカルにデー
    タを維持し、前記レジストリ・コンポーネントにグロー
    バル・データを記憶するステップと、 活性コンポーネントにより、前記クラスタの1つまたは
    複数の通信経路の状況を提供するステップであって、前
    記活性コンポーネントが前記レジストリ・コンポーネン
    トおよび前記構成コンポーネントに依存するステップ
    と、 グループ・サービス・コンポーネントにより、前記クラ
    スタの1つまたは複数の他のコンポーネントに1つまた
    は複数のサービスを提供するステップであって、前記グ
    ループ・サービス・コンポーネントが前記レジストリ・
    コンポーネント、前記構成コンポーネント、および前記
    活性コンポーネントに依存するステップと、 リソース管理コンポーネントにより、前記クラスタの1
    つまたは複数のリソース・コントローラへの通信を可能
    にするステップであって、前記リソース管理コンポーネ
    ントが前記レジストリ・コンポーネント、前記構成コン
    ポーネント、および前記グループ・サービス・コンポー
    ネントに依存するステップとを含む、少なくとも1つの
    プログラム記憶装置。
JP2001159977A 2000-05-31 2001-05-29 クラスタ化コンピューティング環境を管理するための方法、システム、およびプログラム製品 Pending JP2002041488A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/583677 2000-05-31
US09/583,677 US7185076B1 (en) 2000-05-31 2000-05-31 Method, system and program products for managing a clustered computing environment

Publications (1)

Publication Number Publication Date
JP2002041488A true JP2002041488A (ja) 2002-02-08

Family

ID=24334126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001159977A Pending JP2002041488A (ja) 2000-05-31 2001-05-29 クラスタ化コンピューティング環境を管理するための方法、システム、およびプログラム製品

Country Status (4)

Country Link
US (1) US7185076B1 (ja)
JP (1) JP2002041488A (ja)
KR (1) KR100491802B1 (ja)
GB (1) GB2368683B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094834A (ja) * 2005-09-29 2007-04-12 Nec Corp 制約条件に基づいた資源選択システム、資源選択方法および資源選択プログラム
JP2008192139A (ja) * 2007-01-31 2008-08-21 Hewlett-Packard Development Co Lp ノードクラスタの管理
JP2012521685A (ja) * 2009-03-26 2012-09-13 エックスペッド ホールディングス ピーティワイ リミテッド 装置間の無線通信を管理するための構成
JP2015535970A (ja) * 2012-09-07 2015-12-17 アビジロン コーポレイション 複数のサーバノードを有する物理的セキュリティシステム
US9959109B2 (en) 2015-04-10 2018-05-01 Avigilon Corporation Upgrading a physical security system having multiple server nodes

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487152B1 (en) 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
US20040139125A1 (en) 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
US7617292B2 (en) * 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
US6917951B2 (en) * 2001-07-26 2005-07-12 Microsoft Corporation System and method for replicating data in resource sets
US7096459B2 (en) * 2002-09-11 2006-08-22 International Business Machines Corporation Methods and apparatus for root cause identification and problem determination in distributed systems
US7822708B1 (en) * 2004-01-28 2010-10-26 Oracle America, Inc. Global attribute mapping data in an enterprise information system
US7483870B1 (en) 2004-01-28 2009-01-27 Sun Microsystems, Inc. Fractional data synchronization and consolidation in an enterprise information system
US8898330B2 (en) * 2004-05-28 2014-11-25 Sap Se Server node configuration using a configuration tool
US7757236B1 (en) 2004-06-28 2010-07-13 Oracle America, Inc. Load-balancing framework for a cluster
US8601101B1 (en) * 2004-06-28 2013-12-03 Oracle America, Inc. Cluster communications framework using peer-to-peer connections
US7668957B2 (en) * 2004-06-30 2010-02-23 Microsoft Corporation Partitioning social networks
US8990365B1 (en) 2004-09-27 2015-03-24 Alcatel Lucent Processing management packets
US9495381B2 (en) 2005-01-12 2016-11-15 Wandisco, Inc. Geographically-distributed file system using coordinated namespace replication over a wide area network
US9424272B2 (en) 2005-01-12 2016-08-23 Wandisco, Inc. Distributed file system using consensus nodes
US8364633B2 (en) * 2005-01-12 2013-01-29 Wandisco, Inc. Distributed computing systems and system components thereof
US9361311B2 (en) 2005-01-12 2016-06-07 Wandisco, Inc. Distributed file system using consensus nodes
US9332069B2 (en) 2012-12-28 2016-05-03 Wandisco, Inc. Methods, devices and systems for initiating, forming and joining memberships in distributed computing systems
US20060174320A1 (en) * 2005-01-31 2006-08-03 Microsoft Corporation System and method for efficient configuration of group policies
US8117155B2 (en) * 2006-06-30 2012-02-14 Microsoft Corporation Collection-based object replication
US8429400B2 (en) * 2007-06-21 2013-04-23 Cisco Technology, Inc. VPN processing via service insertion architecture
US20090049172A1 (en) * 2007-08-16 2009-02-19 Robert Miller Concurrent Node Self-Start in a Peer Cluster
US7822841B2 (en) * 2007-10-30 2010-10-26 Modern Grids, Inc. Method and system for hosting multiple, customized computing clusters
US8863278B2 (en) * 2008-05-28 2014-10-14 International Business Machines Corporation Grid security intrusion detection configuration mechanism
WO2010034608A1 (en) * 2008-09-24 2010-04-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for configuration of processing clusters
US8392496B2 (en) * 2008-12-19 2013-03-05 Watchguard Technologies, Inc. Cluster architecture for network security processing
US8359592B2 (en) * 2009-03-19 2013-01-22 Microsoft Corporation Identifying groups and subgroups
US20100293555A1 (en) * 2009-05-14 2010-11-18 Nokia Corporation Method and apparatus of message routing
US8543800B2 (en) * 2009-06-10 2013-09-24 International Business Machines Corporation Hierarchical services startup sequencing
US20100322264A1 (en) * 2009-06-18 2010-12-23 Nokia Corporation Method and apparatus for message routing to services
US20100322236A1 (en) * 2009-06-18 2010-12-23 Nokia Corporation Method and apparatus for message routing between clusters using proxy channels
US8667122B2 (en) * 2009-06-18 2014-03-04 Nokia Corporation Method and apparatus for message routing optimization
US8065419B2 (en) * 2009-06-23 2011-11-22 Core Wireless Licensing S.A.R.L. Method and apparatus for a keep alive probe service
US8190947B1 (en) * 2010-02-11 2012-05-29 Network Appliance, Inc. Method and system for automatically constructing a replica catalog for maintaining protection relationship information between primary and secondary storage objects in a network storage system
US8768973B2 (en) 2010-05-26 2014-07-01 Pivotal Software, Inc. Apparatus and method for expanding a shared-nothing system
CN102340410B (zh) * 2010-07-21 2014-09-10 中兴通讯股份有限公司 集群管理系统及方法
US20130144590A1 (en) * 2010-07-30 2013-06-06 Mathias Salle Configuration management
US10108630B2 (en) * 2011-04-07 2018-10-23 Microsoft Technology Licensing, Llc Cluster unique identifier
US20120324456A1 (en) 2011-06-16 2012-12-20 Microsoft Corporation Managing nodes in a high-performance computing system using a node registrar
KR101352699B1 (ko) 2011-11-30 2014-01-17 삼성에스디에스 주식회사 병렬 처리 기반의 가상 클러스터 컴퓨팅 시스템의 프로비저닝 방법 및 장치
US10547693B2 (en) 2012-09-07 2020-01-28 Avigilon Corporation Security device capability discovery and device selection
US9264516B2 (en) * 2012-12-28 2016-02-16 Wandisco, Inc. Methods, devices and systems enabling a secure and authorized induction of a node into a group of nodes in a distributed computing environment
US9009215B2 (en) 2013-03-15 2015-04-14 Wandisco, Inc. Methods, devices and systems for dynamically managing memberships in replicated state machines within a distributed computing environment
AU2015241457B2 (en) 2014-03-31 2019-10-10 Cirata, Inc. Geographically-distributed file system using coordinated namespace replication
US10241775B2 (en) 2016-01-14 2019-03-26 Ca, Inc. Dynamic release baselines in a continuous delivery environment
US10001981B2 (en) 2016-05-26 2018-06-19 At&T Intellectual Property I, L.P. Autonomous server installation
US10305970B2 (en) * 2016-12-13 2019-05-28 International Business Machines Corporation Self-recoverable multitenant distributed clustered systems
US11360942B2 (en) 2017-03-13 2022-06-14 Wandisco Inc. Methods, devices and systems for maintaining consistency of metadata and data across data centers
US10666714B2 (en) * 2017-04-04 2020-05-26 International Business Machines Corporation Data integration application execution management
US10609130B2 (en) 2017-04-28 2020-03-31 Microsoft Technology Licensing, Llc Cluster resource management in distributed computing systems
US10911336B2 (en) * 2018-10-22 2021-02-02 Juniper Networks, Inc. Scalable visualization of health data for network devices

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958273A (en) 1987-08-26 1990-09-18 International Business Machines Corporation Multiprocessor system architecture with high availability
US5291480A (en) 1991-06-18 1994-03-01 Dsc Communications Corporation Synchronous node controllers for switching network
US5555404A (en) * 1992-03-17 1996-09-10 Telenor As Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas
JPH0695906A (ja) 1992-09-17 1994-04-08 Fujitsu Ltd Scmpシステムおけるsvpのssu制御権の自動切り替え方法
JP2625385B2 (ja) 1994-06-30 1997-07-02 日本電気株式会社 マルチプロセッサシステム
JPH08235141A (ja) 1995-02-28 1996-09-13 Kofu Nippon Denki Kk 情報処理システム
US5752264A (en) 1995-03-31 1998-05-12 International Business Machines Corporation Computer architecture incorporating processor clusters and hierarchical cache memories
US5666486A (en) * 1995-06-23 1997-09-09 Data General Corporation Multiprocessor cluster membership manager framework
US5748958A (en) 1996-04-30 1998-05-05 International Business Machines Corporation System for utilizing batch requests to present membership changes to process groups
JPH10187638A (ja) 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
US5842034A (en) 1996-12-20 1998-11-24 Raytheon Company Two dimensional crossbar mesh for multi-processor interconnect
US5950228A (en) 1997-02-03 1999-09-07 Digital Equipment Corporation Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables
US6151688A (en) * 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US5964838A (en) * 1997-09-30 1999-10-12 Tandem Computers Incorporated Method for sequential and consistent startup and/or reload of multiple processor nodes in a multiple node cluster
US6192483B1 (en) 1997-10-21 2001-02-20 Sun Microsystems, Inc. Data integrity and availability in a distributed computer system
US6163855A (en) * 1998-04-17 2000-12-19 Microsoft Corporation Method and system for replicated and consistent modifications in a server cluster
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6453426B1 (en) 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
US6748429B1 (en) 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method to dynamically change cluster or distributed system configuration
AU2001255795A1 (en) 2000-05-02 2001-11-12 Sun Microsystems, Inc. Cluster configuration repository

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094834A (ja) * 2005-09-29 2007-04-12 Nec Corp 制約条件に基づいた資源選択システム、資源選択方法および資源選択プログラム
JP2008192139A (ja) * 2007-01-31 2008-08-21 Hewlett-Packard Development Co Lp ノードクラスタの管理
JP4505763B2 (ja) * 2007-01-31 2010-07-21 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ノードクラスタの管理
JP2012521685A (ja) * 2009-03-26 2012-09-13 エックスペッド ホールディングス ピーティワイ リミテッド 装置間の無線通信を管理するための構成
JP2015535970A (ja) * 2012-09-07 2015-12-17 アビジロン コーポレイション 複数のサーバノードを有する物理的セキュリティシステム
US10454997B2 (en) 2012-09-07 2019-10-22 Avigilon Corporation Distributed physical security system
US9959109B2 (en) 2015-04-10 2018-05-01 Avigilon Corporation Upgrading a physical security system having multiple server nodes
US10474449B2 (en) 2015-04-10 2019-11-12 Avigilon Corporation Upgrading a physical security system having multiple server nodes

Also Published As

Publication number Publication date
GB2368683A (en) 2002-05-08
GB0112039D0 (en) 2001-07-11
US7185076B1 (en) 2007-02-27
KR100491802B1 (ko) 2005-05-27
KR20010109086A (ko) 2001-12-08
GB2368683B (en) 2004-09-15

Similar Documents

Publication Publication Date Title
JP3707728B2 (ja) コンピューティング環境のクラスタを自動的に構成するための方法、システム、およびプログラム製品
JP2002041488A (ja) クラスタ化コンピューティング環境を管理するための方法、システム、およびプログラム製品
US6925490B1 (en) Method, system and program products for controlling system traffic of a clustered computing environment
US6847993B1 (en) Method, system and program products for managing cluster configurations
US6801937B1 (en) Method, system and program products for defining nodes to a cluster
US7103664B1 (en) Method, system and program products for ordering lists of service addresses to provide load balancing of a clustered environment
US6973473B1 (en) Method, system and program products for managing identifiers of components of a clustered environment
US11687555B2 (en) Conditional master election in distributed databases
US10891267B2 (en) Versioning of database partition maps
US6807557B1 (en) Method, system and program products for providing clusters of a computing environment
US8386540B1 (en) Scalable relational database service
US9460185B2 (en) Storage device selection for database partition replicas
Wei et al. CloudTPS: Scalable transactions for Web applications in the cloud
US9489443B1 (en) Scheduling of splits and moves of database partitions
US7933882B2 (en) Dynamic cluster database architecture
US20120102506A1 (en) Web service patterns for globally distributed service fabric
JPH04230567A (ja) 計算システムのための分散型構成プロフィル
US11263270B1 (en) Heat balancing in a distributed time-series database
US10747739B1 (en) Implicit checkpoint for generating a secondary index of a table
US11409771B1 (en) Splitting partitions across clusters in a time-series database
US20090100082A1 (en) Replication and mapping mechanism for recreating memory durations
US11366598B1 (en) Dynamic lease assignments in a time-series database
Jiménez-Peris et al. Enterprise grids: Challenges ahead
Sarr et al. Transpeer: Adaptive distributed transaction monitoring for web2. 0 applications
van Renesse et al. Autonomic computing: A system-wide perspective

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041018

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050726