JPH0713939A - リソースの制御方法及び装置 - Google Patents
リソースの制御方法及び装置Info
- Publication number
- JPH0713939A JPH0713939A JP6102390A JP10239094A JPH0713939A JP H0713939 A JPH0713939 A JP H0713939A JP 6102390 A JP6102390 A JP 6102390A JP 10239094 A JP10239094 A JP 10239094A JP H0713939 A JPH0713939 A JP H0713939A
- Authority
- JP
- Japan
- Prior art keywords
- resource control
- shared resource
- shared
- control file
- master
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】 分散コンピユータ・システムにおいて、共有
されたリソースを制御するためのマスタ・プロセス(処
理ノード)を効率よく決定すること。 【構成】 本発明のマスタ・プロセスの決定方法は、共
有リソース制御フアイルの排他的アクセスを間欠的にし
か保持しないように、マスタ・プロセスに要求する。マ
スタ・プロセスは、共有リソース制御フアイルを、新し
いタイムスタンプ時間で周期的に更新する。共有リソー
スへアクセスを求めるプロセスは共有リソース制御フア
イルを読み取り、そして、他のプロセスがマスタとして
指定されているか否かを決定する。最後のタイムスタン
プ時間からの経過時間が、予め設定されている時間長よ
りも長ければ、その共有リソース制御フアイルは無効に
され、アクセスを求めたプロセスによつて新しい共有リ
ソース制御フアイルが作成される。
されたリソースを制御するためのマスタ・プロセス(処
理ノード)を効率よく決定すること。 【構成】 本発明のマスタ・プロセスの決定方法は、共
有リソース制御フアイルの排他的アクセスを間欠的にし
か保持しないように、マスタ・プロセスに要求する。マ
スタ・プロセスは、共有リソース制御フアイルを、新し
いタイムスタンプ時間で周期的に更新する。共有リソー
スへアクセスを求めるプロセスは共有リソース制御フア
イルを読み取り、そして、他のプロセスがマスタとして
指定されているか否かを決定する。最後のタイムスタン
プ時間からの経過時間が、予め設定されている時間長よ
りも長ければ、その共有リソース制御フアイルは無効に
され、アクセスを求めたプロセスによつて新しい共有リ
ソース制御フアイルが作成される。
Description
【0001】
【産業上の利用分野】本発明は、分散処理コンピユータ
・システムの動作に関する。より詳細に言えば、本発明
は、各処理ノードが複数個の共有されたリソース(以
下、共有リソースと言う)を持つている複数個の処理ノ
ードを有し、かつ、共有リソースへのアクセスを管理す
る装置または方法を必要とする分散処理コンピユータ・
システムに関する。更に具体的に言えば、本発明は、複
数個の分散された処理ノード(プロセス)のうちの1つ
の処理ノードを、共有リソースへのアクセスを管理する
ためのマスタ処理ノードとして指定する共有リソース制
御フアイルの管理に関する。
・システムの動作に関する。より詳細に言えば、本発明
は、各処理ノードが複数個の共有されたリソース(以
下、共有リソースと言う)を持つている複数個の処理ノ
ードを有し、かつ、共有リソースへのアクセスを管理す
る装置または方法を必要とする分散処理コンピユータ・
システムに関する。更に具体的に言えば、本発明は、複
数個の分散された処理ノード(プロセス)のうちの1つ
の処理ノードを、共有リソースへのアクセスを管理する
ためのマスタ処理ノードとして指定する共有リソース制
御フアイルの管理に関する。
【0002】
【従来の技術】分散された処理を行なうコンピユータ・
システム(以下、分散コンピユータ・システムという)
は、通信ネツトワークを用いて複数個のコンピユータ・
システムをリンクすることによつて作られている。分散
コンピユータ・システムは、しばしば、独立したコンピ
ユータ・システムの中に常駐するデータを共有する能力
を持つている。共有は多くの型式を持つている。フアイ
ルを共有する簡単な型式は、フアイルが存在する物理的
なコンピユータ・システムとは無関係に、分散された複
数個の処理ノードのうちの任意の1つの処理ノードによ
つてフアイルをアクセスすることが可能である。同様
に、装置を共有する型式は、装置の設置位置とは無関係
に、物理的な装置を使用することが可能である。複製デ
ータ・システムは、データ・オブジエクトを用いた各処
理ノードにそのデータ・オブジエクトの複製のコピーを
与えることによつてデータの共有を実現している。複製
されたデータのコンピユータ・システムは、必要なデー
タを検索し、あるいは供給するためにネツトワークを介
してメツセージを送る必要を無くすことによつて、各プ
ロセツサに対するアクセスの時間を小さくすることがで
きる。複製されたデータ・オブジエクトは、複数個の分
散コンピユータ・システムのために物理的に複製された
ものであつて、複数のコンピユータ・システムの1つに
存在するデータの論理的単位である。通常、複製された
データ・オブジエクトのコピーは、分散コンピユータ・
システムのメモリ中に保持されている。
システム(以下、分散コンピユータ・システムという)
は、通信ネツトワークを用いて複数個のコンピユータ・
システムをリンクすることによつて作られている。分散
コンピユータ・システムは、しばしば、独立したコンピ
ユータ・システムの中に常駐するデータを共有する能力
を持つている。共有は多くの型式を持つている。フアイ
ルを共有する簡単な型式は、フアイルが存在する物理的
なコンピユータ・システムとは無関係に、分散された複
数個の処理ノードのうちの任意の1つの処理ノードによ
つてフアイルをアクセスすることが可能である。同様
に、装置を共有する型式は、装置の設置位置とは無関係
に、物理的な装置を使用することが可能である。複製デ
ータ・システムは、データ・オブジエクトを用いた各処
理ノードにそのデータ・オブジエクトの複製のコピーを
与えることによつてデータの共有を実現している。複製
されたデータのコンピユータ・システムは、必要なデー
タを検索し、あるいは供給するためにネツトワークを介
してメツセージを送る必要を無くすことによつて、各プ
ロセツサに対するアクセスの時間を小さくすることがで
きる。複製されたデータ・オブジエクトは、複数個の分
散コンピユータ・システムのために物理的に複製された
ものであつて、複数のコンピユータ・システムの1つに
存在するデータの論理的単位である。通常、複製された
データ・オブジエクトのコピーは、分散コンピユータ・
システムのメモリ中に保持されている。
【0003】また、複製されたデータ・オブジエクト
は、データ・オブジエクトをローカルで(局所的に)直
接に更新するのを可能とすることによつて更新処理速度
を向上する。然しながら、複製されたデータのコンピユ
ータ・システムは、多数のデータ・オブジエクトのコピ
ーを作ることになるから、制御に関して問題を生じる。
分散コンピユータ・システムは、データのすべてのコピ
ーが一貫性を保つていることを保証するために、データ
の更新を制御するための何らかの手段を持たなければな
らない。
は、データ・オブジエクトをローカルで(局所的に)直
接に更新するのを可能とすることによつて更新処理速度
を向上する。然しながら、複製されたデータのコンピユ
ータ・システムは、多数のデータ・オブジエクトのコピ
ーを作ることになるから、制御に関して問題を生じる。
分散コンピユータ・システムは、データのすべてのコピ
ーが一貫性を保つていることを保証するために、データ
の更新を制御するための何らかの手段を持たなければな
らない。
【0004】従来のシステムは、分散コンピユータ・シ
ステムの1つのコンピユータ・システムの中に、マスタ
(親の)データ・オブジエクト・コピーを設定すること
によつてデータの一貫性を制御している。マスタ・デー
タ・オブジエクト・コピーは、常に有効であると見做さ
れる。マスタ・データ・オブジエクト・コピーの更新以
外の、システムによるデータ・オブジエクトの更新は、
データ・オブジエクトを更新し、かつ、それをすべての
複製処理装置に転送するために、マスタ処理ノードに更
新要求を送ることが必要である。この方法は、マスタ・
データ・オブジエクトの更新及びその更新データの転送
が行なわれるので、ローカルの応答時間を低下する短所
を持つている。
ステムの1つのコンピユータ・システムの中に、マスタ
(親の)データ・オブジエクト・コピーを設定すること
によつてデータの一貫性を制御している。マスタ・デー
タ・オブジエクト・コピーは、常に有効であると見做さ
れる。マスタ・データ・オブジエクト・コピーの更新以
外の、システムによるデータ・オブジエクトの更新は、
データ・オブジエクトを更新し、かつ、それをすべての
複製処理装置に転送するために、マスタ処理ノードに更
新要求を送ることが必要である。この方法は、マスタ・
データ・オブジエクトの更新及びその更新データの転送
が行なわれるので、ローカルの応答時間を低下する短所
を持つている。
【0005】複製されたデータを制御する他の手段は、
例えば、1992年10月16日に出願され、「複製さ
れたオブジエクト用の移動書込みロツク(Moving Write
Lock for Riplicated Objects)」と題する発明の名称
を付された米国特許出願第07/961757号(特願
平5−240012号)に記載されている。この米国特
許出願の発明は、ただ1つの「書込みロツク」が分散コ
ンピユータ・システム中に存在することと、要求時に各
プロセスに書込みロツクを渡すこととが要求される。デ
ータ・オブジエクトの更新は、「書込みロツク」を保持
しているプロセスだけしか遂行することができない。
「書込みロツク」を保持しているプロセスは、ローカル
のデータ・オブジエクト・コピーを更新することができ
る。従つて、「書込みロツク」を保持しているプロセス
は、データ・オブジエクト・コピーを更新して、他のプ
ロセスに転送するために、マスタ・プロセツサにその更
新されたデータ・オブジエクト・コピーを送る。
例えば、1992年10月16日に出願され、「複製さ
れたオブジエクト用の移動書込みロツク(Moving Write
Lock for Riplicated Objects)」と題する発明の名称
を付された米国特許出願第07/961757号(特願
平5−240012号)に記載されている。この米国特
許出願の発明は、ただ1つの「書込みロツク」が分散コ
ンピユータ・システム中に存在することと、要求時に各
プロセスに書込みロツクを渡すこととが要求される。デ
ータ・オブジエクトの更新は、「書込みロツク」を保持
しているプロセスだけしか遂行することができない。
「書込みロツク」を保持しているプロセスは、ローカル
のデータ・オブジエクト・コピーを更新することができ
る。従つて、「書込みロツク」を保持しているプロセス
は、データ・オブジエクト・コピーを更新して、他のプ
ロセスに転送するために、マスタ・プロセツサにその更
新されたデータ・オブジエクト・コピーを送る。
【0006】複数個の分散プロセスのうち、どのプロセ
スをマスタにするかを決める方法の1例は、1992年
10月16日に出願され、「データ処理システムにおけ
る競争の勝利者の決定(Determining a Winner of a Ra
ce in a Data Processing System)」と題する発明の名
称を付された米国特許出願第07/961750号に記
載されている。リソースを将来的に制御する各プロセス
の間で起きる「競争(race)」は、「共有制御フアイル
(shared control file)」中において、書込み制御を
最先に設定するプロセスをマスタ・プロセスの地位に任
命することになる。1つの処理ノードによつてこの共有
制御フアイルが設定された後には、他のプロセスは「影
の(shadow)」地位に任命される。マスタ処理ノードの
エラーはマスタ処理ノードを再評価する動作を生じる。
スをマスタにするかを決める方法の1例は、1992年
10月16日に出願され、「データ処理システムにおけ
る競争の勝利者の決定(Determining a Winner of a Ra
ce in a Data Processing System)」と題する発明の名
称を付された米国特許出願第07/961750号に記
載されている。リソースを将来的に制御する各プロセス
の間で起きる「競争(race)」は、「共有制御フアイル
(shared control file)」中において、書込み制御を
最先に設定するプロセスをマスタ・プロセスの地位に任
命することになる。1つの処理ノードによつてこの共有
制御フアイルが設定された後には、他のプロセスは「影
の(shadow)」地位に任命される。マスタ処理ノードの
エラーはマスタ処理ノードを再評価する動作を生じる。
【0007】本発明によつて取り上げられた技術的な課
題は、複製されたデータ・オブジエクトの書き込みロツ
ク管理を使用して分散コンピユータ・システムに対して
誤動作許容特性(フオールトトレラント)を与えること
である。フオールトトレラント特性は、マスタ・プロセ
スのエラーに起因して、データ、または更新データが喪
失しないことを保証することが要求される。従来のシス
テムは、再初期化されなければならないマスタ・プロセ
スの決定処理動作と、書込みロツク制御とを必要とす
る。この方法は、若しローカルに更新されたデータ・オ
ブジエクトの複製がマスタ・プロセス、または他の複製
プロセスに転送されなければ、データの喪失を生じるこ
とになる。
題は、複製されたデータ・オブジエクトの書き込みロツ
ク管理を使用して分散コンピユータ・システムに対して
誤動作許容特性(フオールトトレラント)を与えること
である。フオールトトレラント特性は、マスタ・プロセ
スのエラーに起因して、データ、または更新データが喪
失しないことを保証することが要求される。従来のシス
テムは、再初期化されなければならないマスタ・プロセ
スの決定処理動作と、書込みロツク制御とを必要とす
る。この方法は、若しローカルに更新されたデータ・オ
ブジエクトの複製がマスタ・プロセス、または他の複製
プロセスに転送されなければ、データの喪失を生じるこ
とになる。
【0008】
【発明が解決しようとする課題】本発明の目的は、マス
タ・プロセスの排他的制御に必要な時間を短縮すること
によつて、マスタ・プロセスの効率を改善することにあ
る。
タ・プロセスの排他的制御に必要な時間を短縮すること
によつて、マスタ・プロセスの効率を改善することにあ
る。
【0009】
【課題を解決するための手段】本発明は、分散コンピユ
ータ・システムを管理する装置及び方法に向けられてい
る。マスタの地位(マスタ状況)を示すためのマスタ・
プロセス標識の能力を維持するとともに、当該マスタ・
プロセス標識の排他的制御を必要する時間の長さを短縮
することによつて、データ・オブジエクトのマスタ・プ
ロセス(処理ノード)を指定する装置が改良される。排
他的制御競争の勝者であるマスタ・プロセスは、そのマ
スタ・データを更新するための、制御標識への一時的な
排他的書き込みアクセスを保持し、その後、排他的制御
を放棄する。その後定期的に、このマスタ・プロセスは
制御標識を更新する。制御標識にアクセスする任意の他
のプロセスは、最後のマスタ更新が陳腐化(stale)し
ていなければ、他のプロセスがマスタ・プロセスである
ことを知ることができる。陳腐化している場合、残りの
プロセスは、再度、排他的制御競争を行なう。
ータ・システムを管理する装置及び方法に向けられてい
る。マスタの地位(マスタ状況)を示すためのマスタ・
プロセス標識の能力を維持するとともに、当該マスタ・
プロセス標識の排他的制御を必要する時間の長さを短縮
することによつて、データ・オブジエクトのマスタ・プ
ロセス(処理ノード)を指定する装置が改良される。排
他的制御競争の勝者であるマスタ・プロセスは、そのマ
スタ・データを更新するための、制御標識への一時的な
排他的書き込みアクセスを保持し、その後、排他的制御
を放棄する。その後定期的に、このマスタ・プロセスは
制御標識を更新する。制御標識にアクセスする任意の他
のプロセスは、最後のマスタ更新が陳腐化(stale)し
ていなければ、他のプロセスがマスタ・プロセスである
ことを知ることができる。陳腐化している場合、残りの
プロセスは、再度、排他的制御競争を行なう。
【0010】本発明は、メモリを有する少なくとも1つ
のプロセツサ中で動作し、共有データ・ストレージ手段
にアクセスする複数個のプロセスを持つコンピユータ・
システムにおいて、共有リソースを制御するためのマス
タ・プロセスを決定する処理を含んでいる。この処理
は、共有リソース用の共有リソース制御フアイルが共有
データ・ストレージ手段の中に存在するか否かをテスト
することを含んでいる。若し共有リソース制御フアイル
が存在しなければ、共有データ・ストレージ手段中に共
有リソース制御フアイルを作成し、マスタ処理ノード標
識の情報を共有リソース制御フアイルに書き込み、そし
て、当該共有リソース制御フアイル中にタイムスタンプ
値(タイムスタンプの時間)を書き込む。若し共有リソ
ース制御フアイルが存在するならば、共有リソース制御
フアイルへの排他的アクセスを要求する。若しアクセス
が拒絶されたならば、待機し、そしてそのアクセスを再
試行し、若し排他的アクセスが与えられたならば、現在
の時間と、最後のタイムスタンプの時間との差分を決定
し、若しその差分が、事前に設定した第1の時間よりも
短かければ、要求したプロセスを影のプロセスとして指
定し、若し上述の差分が、事前に設定した第1の時間よ
りも長ければ、共有リソース制御フアイルを無効とし、
新しい共有リソース制御フアイルを作成し、マスタ・プ
ロセス標識の情報を共有リソース制御フアイルに書き込
み、共有リソース制御フアイルにタイムスタンプ値を書
き込む。若し要求したプロセスが共有リソースのマスタ
・プロセスであれば、事前に設定した第2の時間が経過
した後に、共有リソース制御フアイル中のタイムスタン
プ値を現在のタイムスタンプ値に置き換える。
のプロセツサ中で動作し、共有データ・ストレージ手段
にアクセスする複数個のプロセスを持つコンピユータ・
システムにおいて、共有リソースを制御するためのマス
タ・プロセスを決定する処理を含んでいる。この処理
は、共有リソース用の共有リソース制御フアイルが共有
データ・ストレージ手段の中に存在するか否かをテスト
することを含んでいる。若し共有リソース制御フアイル
が存在しなければ、共有データ・ストレージ手段中に共
有リソース制御フアイルを作成し、マスタ処理ノード標
識の情報を共有リソース制御フアイルに書き込み、そし
て、当該共有リソース制御フアイル中にタイムスタンプ
値(タイムスタンプの時間)を書き込む。若し共有リソ
ース制御フアイルが存在するならば、共有リソース制御
フアイルへの排他的アクセスを要求する。若しアクセス
が拒絶されたならば、待機し、そしてそのアクセスを再
試行し、若し排他的アクセスが与えられたならば、現在
の時間と、最後のタイムスタンプの時間との差分を決定
し、若しその差分が、事前に設定した第1の時間よりも
短かければ、要求したプロセスを影のプロセスとして指
定し、若し上述の差分が、事前に設定した第1の時間よ
りも長ければ、共有リソース制御フアイルを無効とし、
新しい共有リソース制御フアイルを作成し、マスタ・プ
ロセス標識の情報を共有リソース制御フアイルに書き込
み、共有リソース制御フアイルにタイムスタンプ値を書
き込む。若し要求したプロセスが共有リソースのマスタ
・プロセスであれば、事前に設定した第2の時間が経過
した後に、共有リソース制御フアイル中のタイムスタン
プ値を現在のタイムスタンプ値に置き換える。
【0011】
【実施例】本発明は分散処理を行なうコンピユータ・シ
ステムの環境において実行される。この環境は通信ネツ
トワークによつてリンクされた複数個のコンピユータを
含んでいる。他の実施例として、本発明は、夫々のプロ
セス(処理ノード)が独立したアドレス空間を持つてい
る複数個のプロセスの実行を、単一のコンピユータ(例
えば単一のCPU)がサポートするマルチプログラミン
グ・システムにおいても適用することができる。
ステムの環境において実行される。この環境は通信ネツ
トワークによつてリンクされた複数個のコンピユータを
含んでいる。他の実施例として、本発明は、夫々のプロ
セス(処理ノード)が独立したアドレス空間を持つてい
る複数個のプロセスの実行を、単一のコンピユータ(例
えば単一のCPU)がサポートするマルチプログラミン
グ・システムにおいても適用することができる。
【0012】本発明の良好な実施例はリンクされた複数
のコンピユータにより実施される。各コンピユータ・シ
ステムは図1に示したコンピユータ・システム100を
構成するために示された装置を持つている。処理ノード
は中央処理装置、即ちCPU102により与えられる。
CPU102はランダム・アクセス・メモリ(RAM)
104の中にストアされたインストラクシヨン及びデー
タを用いて動作する。長いデータ項目をストアするスト
レージ装置はデイスク制御装置120によつて制御され
る1台、またはそれ以上のデイスク・ストレージ装置1
22で与えられる。ストレージ媒体の他の種類として、
テープ、CD−ROM、またはWORM(write once,
Read Many)装置を含む他のストレージ装置を用いるこ
とができる。また、データ、またはコンピユータを動作
するインストラクシヨンをストアするために、交換可能
なストレージ媒体を用いることができる。システムの操
作者はI/O制御装置112によつて制御されるI/O
装置を介してシステムと対話することができる。表示装
置114は操作者にデータを表示し、他方、キーボード
及び指示装置118によつて、システムの操作者はコン
ピユータ・システムを管理することができる。通信アダ
プタ106はこの処理装置と、ネツトワーク・インター
フエース108によつて接続されているネツトワーク中
の他のシステムとの間の通信を制御する。
のコンピユータにより実施される。各コンピユータ・シ
ステムは図1に示したコンピユータ・システム100を
構成するために示された装置を持つている。処理ノード
は中央処理装置、即ちCPU102により与えられる。
CPU102はランダム・アクセス・メモリ(RAM)
104の中にストアされたインストラクシヨン及びデー
タを用いて動作する。長いデータ項目をストアするスト
レージ装置はデイスク制御装置120によつて制御され
る1台、またはそれ以上のデイスク・ストレージ装置1
22で与えられる。ストレージ媒体の他の種類として、
テープ、CD−ROM、またはWORM(write once,
Read Many)装置を含む他のストレージ装置を用いるこ
とができる。また、データ、またはコンピユータを動作
するインストラクシヨンをストアするために、交換可能
なストレージ媒体を用いることができる。システムの操
作者はI/O制御装置112によつて制御されるI/O
装置を介してシステムと対話することができる。表示装
置114は操作者にデータを表示し、他方、キーボード
及び指示装置118によつて、システムの操作者はコン
ピユータ・システムを管理することができる。通信アダ
プタ106はこの処理装置と、ネツトワーク・インター
フエース108によつて接続されているネツトワーク中
の他のシステムとの間の通信を制御する。
【0013】コンピユータ・システム100は、マイク
ロコンピユータ、ミニコンピユータ及びメインフレーム
・コンピユータを含む任意の公知のコンピユータ・シス
テムであつてよい。本発明の良好な実施例において、I
BM社のパーソナル・コンピユータ・システム、PS/2、
またはIBM社のRISC SYSTEM/6000のフアミリー(PS/
2、RISC SYSTEM/6000はIBM社の商標)等のコンピユ
ータ・システムの使用を想定している。然しながら、サ
ン社(Sun)、またはヒユーレツト・パツカード社など
の他の会社のワークステーシヨン及びコンパツク社(Co
mpaq)、またはアツプル社のコンピユータも使用するこ
とができる。
ロコンピユータ、ミニコンピユータ及びメインフレーム
・コンピユータを含む任意の公知のコンピユータ・シス
テムであつてよい。本発明の良好な実施例において、I
BM社のパーソナル・コンピユータ・システム、PS/2、
またはIBM社のRISC SYSTEM/6000のフアミリー(PS/
2、RISC SYSTEM/6000はIBM社の商標)等のコンピユ
ータ・システムの使用を想定している。然しながら、サ
ン社(Sun)、またはヒユーレツト・パツカード社など
の他の会社のワークステーシヨン及びコンパツク社(Co
mpaq)、またはアツプル社のコンピユータも使用するこ
とができる。
【0014】分散処理システムは図2に示されている。
各処理ノード202、204、206、208、210
は、プロセツサ間の通信を行なうネツトワーク200に
接続されている。図2のデイスク・ストレージ装置21
2によつて示されたように、付加的な不揮発性ストレー
ジ装置をネツトワークに関連付けることができる。他の
例として、処理ノードの1つの中の不揮発性ストレージ
装置をネツトワークの不揮発性ストレージ装置として使
用することもできる。
各処理ノード202、204、206、208、210
は、プロセツサ間の通信を行なうネツトワーク200に
接続されている。図2のデイスク・ストレージ装置21
2によつて示されたように、付加的な不揮発性ストレー
ジ装置をネツトワークに関連付けることができる。他の
例として、処理ノードの1つの中の不揮発性ストレージ
装置をネツトワークの不揮発性ストレージ装置として使
用することもできる。
【0015】ネツトワーク200はLAN、WAN、A
TM等を含む任意の型式のネツトワークであつてよい。
物理的ネツトワークのプロトコルは、イーサネツト、ま
たはトークン・リング等のプロトコルを用いることがで
き、そして、TCP/IP、またはNetbios、ま
たはNovell Netware等の通信プロトコル
がネツトワークを制御することができる。サン・マイク
ロシステムズのNFS技術、またはCMU AFS技術
に基づくプログラムによつて、ネツトワーク・フアイル
・システムの管理を与えることができる。これらのフア
イル・システムの各プログラムは、分散されたプロセス
によつて、遠隔システム中に常駐するデータにアクセス
し、これらのデータを管理することを可能にする。これ
らのネツトワーク・フアイル・システムは、個々のフア
イルの物理的なロケーシヨンとは無関係に、各プロセツ
サ用に単一の論理的フアイル・システムを創設する。N
FS技術は例えば、IBM社の刊行物「Communication
Concepts and Procedures」(注文番号SC23−22
03−00)等の中で詳細に説明されている。
TM等を含む任意の型式のネツトワークであつてよい。
物理的ネツトワークのプロトコルは、イーサネツト、ま
たはトークン・リング等のプロトコルを用いることがで
き、そして、TCP/IP、またはNetbios、ま
たはNovell Netware等の通信プロトコル
がネツトワークを制御することができる。サン・マイク
ロシステムズのNFS技術、またはCMU AFS技術
に基づくプログラムによつて、ネツトワーク・フアイル
・システムの管理を与えることができる。これらのフア
イル・システムの各プログラムは、分散されたプロセス
によつて、遠隔システム中に常駐するデータにアクセス
し、これらのデータを管理することを可能にする。これ
らのネツトワーク・フアイル・システムは、個々のフア
イルの物理的なロケーシヨンとは無関係に、各プロセツ
サ用に単一の論理的フアイル・システムを創設する。N
FS技術は例えば、IBM社の刊行物「Communication
Concepts and Procedures」(注文番号SC23−22
03−00)等の中で詳細に説明されている。
【0016】本発明の適用可能なネツトワークは、処理
ノードが屋内全体に分散され、または遠隔地に分散さ
れ、あるいは国境に跨がつて分散され得るネツトワーク
であることを意味する。
ノードが屋内全体に分散され、または遠隔地に分散さ
れ、あるいは国境に跨がつて分散され得るネツトワーク
であることを意味する。
【0017】本発明の良好な実施例は、対等のノード
(node)、即ち、ピア(peer)ノードの分散ネツトワー
クにおいて実施されている。ピア・ノードとは、各ノー
ドのどれもがマスタ・ノードではなく、かつ、どれもが
スレーブ・ノードでもないノードを持つネツトワークに
おいて、同等の地位を持つ対等のノードを意味する。ピ
ア・ノードを使用することは、要求が通過しなければな
らない唯1つのボトルネツクを持たないから、ネツトワ
ークの効率を改善する。従来の装置とは異なつて、各ノ
ードは各ノードの機能を遂行するために独立して動作す
ることができる。他の利点として、任意特定のノードの
エラーは、マスタ・プロセツサが存在する場合に生じる
ようなネツトワーク全体のエラーを生じない。ピア・ネ
ツトワークの欠点は、複製されたデータのデータ保全性
を制御する中心がないことである。
(node)、即ち、ピア(peer)ノードの分散ネツトワー
クにおいて実施されている。ピア・ノードとは、各ノー
ドのどれもがマスタ・ノードではなく、かつ、どれもが
スレーブ・ノードでもないノードを持つネツトワークに
おいて、同等の地位を持つ対等のノードを意味する。ピ
ア・ノードを使用することは、要求が通過しなければな
らない唯1つのボトルネツクを持たないから、ネツトワ
ークの効率を改善する。従来の装置とは異なつて、各ノ
ードは各ノードの機能を遂行するために独立して動作す
ることができる。他の利点として、任意特定のノードの
エラーは、マスタ・プロセツサが存在する場合に生じる
ようなネツトワーク全体のエラーを生じない。ピア・ネ
ツトワークの欠点は、複製されたデータのデータ保全性
を制御する中心がないことである。
【0018】上述の米国特許出願第07/961750
号は、リソースの制御に関する「競争」のプロシージヤ
を教示している。図3はこの処理のステツプを示す流れ
図である。この処理は、共通のリソースの要求を発生す
るステツプ150において開始する。ステツプ152に
おいて、リソースを必要とするプロセスは、共有リソー
ス制御フアイルが存在するか否かを決定するテストを行
なう。若し共有リソース制御フアイルが存在しなけれ
ば、プロセスは共有リソース制御フアイル(SCF)を
作成する処理ステツプ154に進む。上述のテストの結
果がイエスの場合も、ノーである場合にも、プロセスは
排他的書込みアクセス獲得を試行するステツプ156に
進む。ステツプ158において、若しこの試行が成功裡
に終了したならば、ステツプ160において、このプロ
セスは共有リソース制御フアイルを更新し、そして、ス
テツプ162において、マスタ・プロセスとなる。若し
排他的書込みロツクを獲得する試行が不成功に終つたな
らば、そのプロセスはマスタ・プロセスではない(ステ
ツプ164)ので、ステツプ166において、共有リソ
ース制御フアイルからマスタ・プロセスの名称を読取
り、競争の勝者の情報を読み取るために共有リソース制
御フアイルをオープンする。そして、ステツプ168に
おいて、マスタ・プロセスに接続し、ステツプ170に
おいて、影のプロセスとなる。若し要求プロセスがマス
タ・プロセスであれば、そのプロセスは、そのリソース
を直接にアクセスすることができるが、そうでなけれ
ば、要求プロセスは影のプロセスであり、ステツプ17
6において、アクセスのマスタと交渉(協議)しなけれ
ばならない。
号は、リソースの制御に関する「競争」のプロシージヤ
を教示している。図3はこの処理のステツプを示す流れ
図である。この処理は、共通のリソースの要求を発生す
るステツプ150において開始する。ステツプ152に
おいて、リソースを必要とするプロセスは、共有リソー
ス制御フアイルが存在するか否かを決定するテストを行
なう。若し共有リソース制御フアイルが存在しなけれ
ば、プロセスは共有リソース制御フアイル(SCF)を
作成する処理ステツプ154に進む。上述のテストの結
果がイエスの場合も、ノーである場合にも、プロセスは
排他的書込みアクセス獲得を試行するステツプ156に
進む。ステツプ158において、若しこの試行が成功裡
に終了したならば、ステツプ160において、このプロ
セスは共有リソース制御フアイルを更新し、そして、ス
テツプ162において、マスタ・プロセスとなる。若し
排他的書込みロツクを獲得する試行が不成功に終つたな
らば、そのプロセスはマスタ・プロセスではない(ステ
ツプ164)ので、ステツプ166において、共有リソ
ース制御フアイルからマスタ・プロセスの名称を読取
り、競争の勝者の情報を読み取るために共有リソース制
御フアイルをオープンする。そして、ステツプ168に
おいて、マスタ・プロセスに接続し、ステツプ170に
おいて、影のプロセスとなる。若し要求プロセスがマス
タ・プロセスであれば、そのプロセスは、そのリソース
を直接にアクセスすることができるが、そうでなけれ
ば、要求プロセスは影のプロセスであり、ステツプ17
6において、アクセスのマスタと交渉(協議)しなけれ
ばならない。
【0019】本発明の良好な実施例の共有リソース制御
フアイルは論理的フアイル・システム中のストレージ・
フアイルである。従つて、共有リソース制御フアイルは
分散コンピユータ・システム中の不揮発性ストレージ装
置の1つの中に常駐している。然しながら、本発明は分
散コンピユータ・システムの間で共有されている揮発性
メモリ(RAM)において管理されている共有リソース
の制御フアイルにも同じように適用することができる。
フアイルは論理的フアイル・システム中のストレージ・
フアイルである。従つて、共有リソース制御フアイルは
分散コンピユータ・システム中の不揮発性ストレージ装
置の1つの中に常駐している。然しながら、本発明は分
散コンピユータ・システムの間で共有されている揮発性
メモリ(RAM)において管理されている共有リソース
の制御フアイルにも同じように適用することができる。
【0020】ステツプ156において、マスタ・プロセ
スが共有リソース制御フアイルの排他的書き込みロツク
を維持する要件は多くの分散コンピユータ・システムに
おいては望ましくない。各プロセスは多数のリソースの
マスタであつてよい。複製された各データ・オブジエク
トはマスタを持ち、特定のユーザは、多数のデータ・オ
ブジエクトの1つのプロセスをマスタにすることができ
る。各排他的書き込みロツクは、プロセス・フアイル記
述子(file descriptor)を拘束する。多くのオペレー
テイング・システムにおいて、各プロセスに割り当てら
れているフアイル記述子の数は制限されている。例え
ば、UNIXオペレーテイング・システム(UNIXは
ユニツクス・システム・ラボラトリ社の商標)の古いバ
ージヨンでは、1つのプロセス当り4個、または5個の
フアイル記述子しかオープンできない。従つて、フアイ
ル記述子の数に制限があるので、特定のプロセスはアク
セスするリソースの数に制限を受ける。
スが共有リソース制御フアイルの排他的書き込みロツク
を維持する要件は多くの分散コンピユータ・システムに
おいては望ましくない。各プロセスは多数のリソースの
マスタであつてよい。複製された各データ・オブジエク
トはマスタを持ち、特定のユーザは、多数のデータ・オ
ブジエクトの1つのプロセスをマスタにすることができ
る。各排他的書き込みロツクは、プロセス・フアイル記
述子(file descriptor)を拘束する。多くのオペレー
テイング・システムにおいて、各プロセスに割り当てら
れているフアイル記述子の数は制限されている。例え
ば、UNIXオペレーテイング・システム(UNIXは
ユニツクス・システム・ラボラトリ社の商標)の古いバ
ージヨンでは、1つのプロセス当り4個、または5個の
フアイル記述子しかオープンできない。従つて、フアイ
ル記述子の数に制限があるので、特定のプロセスはアク
セスするリソースの数に制限を受ける。
【0021】本発明は、マスタ・プロセスが、そのリソ
ースに対しては依然としてマスタ・プロセスとしてとど
まる一方で排他的書き込みモードをリリースすることを
可能にすることにより上述の制限を取り除くことを目的
としている。従来のシステムは、共有リソース制御フア
イルへの排他的書き込みアクセスを拒否することによつ
て、制御競争の失敗を影のプロセスに示していた。本発
明は、このマスタの地位(マスタ状況)標識を、タイム
スタンプと制御フアイルの経過時間(age)チエツクに
置き換えている。この変更によつて、各プロセスに対し
て複製されるオブジエクトの数には制限がなくなる。
ースに対しては依然としてマスタ・プロセスとしてとど
まる一方で排他的書き込みモードをリリースすることを
可能にすることにより上述の制限を取り除くことを目的
としている。従来のシステムは、共有リソース制御フア
イルへの排他的書き込みアクセスを拒否することによつ
て、制御競争の失敗を影のプロセスに示していた。本発
明は、このマスタの地位(マスタ状況)標識を、タイム
スタンプと制御フアイルの経過時間(age)チエツクに
置き換えている。この変更によつて、各プロセスに対し
て複製されるオブジエクトの数には制限がなくなる。
【0022】本発明の良好な実施例におけるマスタ・プ
ロセスの選択(制御競争の勝者)は図4を参照して以下
に説明する。図4において、図3に示した処理動作と対
応する処理動作は、図3の参照番号と同じ参照番号を用
いている。
ロセスの選択(制御競争の勝者)は図4を参照して以下
に説明する。図4において、図3に示した処理動作と対
応する処理動作は、図3の参照番号と同じ参照番号を用
いている。
【0023】プロセツサが共有リソースを要求した時
に、プロセスはステツプ150で開始する。ステツプ1
52において、共有リソース制御フアイルが存在するか
否かがテストされる。若し共有リソース制御フアイルが
存在しなければ、ステツプ154において、プロセス
は、ステツプ180において、共有リソース制御フアイ
ル(SCF)を作成し、排他的書き込みアクセスを獲得
して、マスタ識別及びタイムスタンプ値を含む識別デー
タを書き込む。プロセスは、アクセスする前に、地位
(マスタ状況)がチエツクされるステツプ172に進
む。
に、プロセスはステツプ150で開始する。ステツプ1
52において、共有リソース制御フアイルが存在するか
否かがテストされる。若し共有リソース制御フアイルが
存在しなければ、ステツプ154において、プロセス
は、ステツプ180において、共有リソース制御フアイ
ル(SCF)を作成し、排他的書き込みアクセスを獲得
して、マスタ識別及びタイムスタンプ値を含む識別デー
タを書き込む。プロセスは、アクセスする前に、地位
(マスタ状況)がチエツクされるステツプ172に進
む。
【0024】共有リソース制御フアイルが存在する時に
は、ステツプ156'において、プロセスは排他的書き
込みアクセスを獲得するよう試行する。アクセスの獲得
が不成功に終れば、それは他のプロセスが共有リソース
制御フアイルに対する排他的アクセス権を有することを
意味する。本発明の良好な実施例では、ステツプ15
8'において、そのプロセスがその地位をチエツクする
ために排他的アクセスを実際に獲得するまで、排他的ア
クセスのしうるマスタ・プロセスか、影のプロセスの何
れかが再試行しなければならない。
は、ステツプ156'において、プロセスは排他的書き
込みアクセスを獲得するよう試行する。アクセスの獲得
が不成功に終れば、それは他のプロセスが共有リソース
制御フアイルに対する排他的アクセス権を有することを
意味する。本発明の良好な実施例では、ステツプ15
8'において、そのプロセスがその地位をチエツクする
ために排他的アクセスを実際に獲得するまで、排他的ア
クセスのしうるマスタ・プロセスか、影のプロセスの何
れかが再試行しなければならない。
【0025】この場合の競争の成功は、そのプロセスが
マスタであることを保証するものではない。そうではな
く、ステツプ182において、プロセスは共有リソース
制御フアイルからタイムスタンプ値を読み取り、そして
ステツプ184において、そのタイムスタンプ値と現在
のタイムスタンプ値とを比較しなければならない。若し
現在のタイムスタンプ値と、読み取つたタイムスタンプ
値との間の差分が、設定時間INTER_BEATよりも短かけれ
ば、指定されたマスタ・プロセスが依然として制御中で
あり、要求プロセスは影のプロセスである(ステツプ1
86)。若し上述の差分が設定時間INTER_BEATよりも長
ければ、共有リソース制御フアイルは無効とされる。ス
テツプ188において、要求プロセスは古い共有リソー
ス制御フアイルを放棄し、ステツプ189において、そ
のプロセスがそれ自身のマスタ・プロセス識別とタイム
スタンプ値とを書き込んだ新しい共有リソース制御フア
イルを作成する。次に、処理はステツプ172に続く。
マスタであることを保証するものではない。そうではな
く、ステツプ182において、プロセスは共有リソース
制御フアイルからタイムスタンプ値を読み取り、そして
ステツプ184において、そのタイムスタンプ値と現在
のタイムスタンプ値とを比較しなければならない。若し
現在のタイムスタンプ値と、読み取つたタイムスタンプ
値との間の差分が、設定時間INTER_BEATよりも短かけれ
ば、指定されたマスタ・プロセスが依然として制御中で
あり、要求プロセスは影のプロセスである(ステツプ1
86)。若し上述の差分が設定時間INTER_BEATよりも長
ければ、共有リソース制御フアイルは無効とされる。ス
テツプ188において、要求プロセスは古い共有リソー
ス制御フアイルを放棄し、ステツプ189において、そ
のプロセスがそれ自身のマスタ・プロセス識別とタイム
スタンプ値とを書き込んだ新しい共有リソース制御フア
イルを作成する。次に、処理はステツプ172に続く。
【0026】ステツプ172において、リソースへのア
クセスを要求したプロセスは、そのリソースのマスタで
あるか否かがテストされる。若しそのプロセスがマスタ
・プロセスであれば、ステツプ174において、そのプ
ロセスはリソースにアクセスすることができる。若しそ
のプロセスがマスタ・プロセスでなければ、そのプロセ
スは影のプロセスであり、ステツプ176において、ア
クセスについて協議しなければならない。ステツプ19
0において、マスタ・プロセスは、HEART_BEAT時間(秒
単位の時間)毎に、共有アクセス制御フアイルへの排他
的アクセスを獲得するよう試行する(ステツプ19
2)。影のプロセスがマスタ・プロセスの地位をチエツ
クするために排他的アクセスを保留したことに起因し
て、その排他的アクセス要求は、ステツプ193におい
て不成功に終わるかもしれない。若しこの要求が不成功
に終われば、マスタ・プロセスは待機し、そして、再試
行する。若しこの要求が成功裡に終われば、マスタ・プ
ロセスはタイムスタンプ値を置き換える。
クセスを要求したプロセスは、そのリソースのマスタで
あるか否かがテストされる。若しそのプロセスがマスタ
・プロセスであれば、ステツプ174において、そのプ
ロセスはリソースにアクセスすることができる。若しそ
のプロセスがマスタ・プロセスでなければ、そのプロセ
スは影のプロセスであり、ステツプ176において、ア
クセスについて協議しなければならない。ステツプ19
0において、マスタ・プロセスは、HEART_BEAT時間(秒
単位の時間)毎に、共有アクセス制御フアイルへの排他
的アクセスを獲得するよう試行する(ステツプ19
2)。影のプロセスがマスタ・プロセスの地位をチエツ
クするために排他的アクセスを保留したことに起因し
て、その排他的アクセス要求は、ステツプ193におい
て不成功に終わるかもしれない。若しこの要求が不成功
に終われば、マスタ・プロセスは待機し、そして、再試
行する。若しこの要求が成功裡に終われば、マスタ・プ
ロセスはタイムスタンプ値を置き換える。
【0027】INTER_BEAT時間及びHEART_BEAT時間はアプ
リケーシヨンの開発者によつて設定される。INTER_BEAT
時間−HEART_BEAT時間は、ステツプ192においてマス
タ・プロセスが排他的書き込みアクセスを得るための予
想待ち時間よりも長くなければならない。若しINTER_BE
AT時間−HEART_BEAT時間が上述の待ち時間よりも短かけ
れば、共有リソース制御フアイルは早期に無効化され
る。他方、若しINTER_BEAT時間が長過ぎるならば、影の
プロセスの1つへ制御を転送するのが遅れる。本発明の
良好な実施例において、HEART_BEAT時間は30秒に設定
され、INTER_BEAT時間は90秒に設定されている。これ
らの値は、タイムスタンプ値の頻発する更新で、プロセ
スがシステムのリソースを拘束することがなく、しか
も、マスタ・プロセスの誤動作を充分早期に発見するこ
とを保証する。
リケーシヨンの開発者によつて設定される。INTER_BEAT
時間−HEART_BEAT時間は、ステツプ192においてマス
タ・プロセスが排他的書き込みアクセスを得るための予
想待ち時間よりも長くなければならない。若しINTER_BE
AT時間−HEART_BEAT時間が上述の待ち時間よりも短かけ
れば、共有リソース制御フアイルは早期に無効化され
る。他方、若しINTER_BEAT時間が長過ぎるならば、影の
プロセスの1つへ制御を転送するのが遅れる。本発明の
良好な実施例において、HEART_BEAT時間は30秒に設定
され、INTER_BEAT時間は90秒に設定されている。これ
らの値は、タイムスタンプ値の頻発する更新で、プロセ
スがシステムのリソースを拘束することがなく、しか
も、マスタ・プロセスの誤動作を充分早期に発見するこ
とを保証する。
【0028】本発明の分散コンピユータ・システムは、
プロセスが排他的ロツクを保持しなければならない時間
の長さを短縮する長所を持つている。更に、本発明の分
散コンピユータ・システムは、マスタ・プロセスの誤動
作を検出することができ、不当に長い遅延を生じること
なく他のマスタ・プロセスを設定することを保証する。
プロセスが排他的ロツクを保持しなければならない時間
の長さを短縮する長所を持つている。更に、本発明の分
散コンピユータ・システムは、マスタ・プロセスの誤動
作を検出することができ、不当に長い遅延を生じること
なく他のマスタ・プロセスを設定することを保証する。
【0029】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0030】(1)メモリを持つ少なくとも1つのプロ
セツサ中で動作し、共有データ・ストレージ手段にアク
セスする複数個のプロセスを有するコンピユータ・シス
テムにおいて、共有リソースを制御するマスタ・プロセ
スを決定するための方法において、(a)上記共有リソー
ス用の共有リソース制御フアイルが上記共有データ・ス
トレージ手段中に存在するか否かをテストするステツプ
と、(b)若し上記共有リソース制御フアイルが存在しな
ければ、上記共有データ・ストレージ手段中に共有リソ
ース制御フアイルを作成し、マスタ・プロセス識別情報
を上記共有リソース制御フアイルに書き込み、かつ、タ
イムスタンプ値を上記共有リソース制御フアイルに書き
込むステツプと、(c)若し上記共有リソース制御フアイ
ルが存在すれば、上記共有リソース制御フアイルに排他
的アクセスを要求するステツプと、(c-1)若し上記排他
的アクセスが拒絶されたならば、待機して、再試行する
ステツプと、(c-2)若し上記排他的アクセスが認められ
たならば、現在の時間値と最後のタイムスタンプ値との
間の差分を決定するステツプと、(i)若し上記差分が第
1の設定時間よりも短かければ、要求プロセスを影のプ
ロセスとして指定するステツプと、(ii)若し上記差分が
上記第1の設定時間よりも長ければ、上記共有リソース
制御フアイルを無効とし、新しい共有リソース制御フア
イルを作成し、マスタ・プロセス識別情報を上記共有リ
ソース制御フアイルに書き込み、かつ、タイムスタンプ
値を上記共有リソース制御フアイルに書き込むステツプ
と、(d)若し要求プロセスが上記共有リソースのマスタ
・プロセスであれば、第2の設定時間が経過した後に、
上記共有リソース制御フアイル中のタイムスタンプ値を
現在のタイムスタンプ値に置き換えるステツプとを含む
リソースの制御方法。 (2)上記共有データ・ストレージ手段はネツトワーク
・フアイル・システムであることを特徴とする(1)に
記載の方法。 (3)上記共有データ・ストレージ手段は共有された揮
発性メモリであることを特徴とする(1)に記載の方
法。 (4)通信手段によつて接続された複数個のプロセツサ
を有する分散コンピユータ・システムにおける複数個の
共有リソースの共有を制御する装置において、上記複数
個の共有リソースの各々に対する制御プロセスとしてプ
ロセスを指示するデータと、上記制御プロセスによる最
後の更新時間を指示するデータとをストアする共有リソ
ース制御手段と、上記共有リソース制御手段に対する排
他的アクセスを、最大1つのプロセスに制限するための
アクセス制御手段と、上記共有リソース制御手段からの
データを読み取るための共有リソース制御フアイル読み
取り手段と、最後の更新時間を指示する上記データと現
在の時間とを比較する比較して経過時間を決定する比較
手段と、若し上記経過時間があらかじめ定められた値よ
りも長ければ、上記共有リソース制御フアイルを無効に
する無効手段と、上記制御プロセスに、最後の更新時間
を指示する上記データを現在の時間に周期的に置換させ
る更新手段とを具備する、リソースの制御装置。
セツサ中で動作し、共有データ・ストレージ手段にアク
セスする複数個のプロセスを有するコンピユータ・シス
テムにおいて、共有リソースを制御するマスタ・プロセ
スを決定するための方法において、(a)上記共有リソー
ス用の共有リソース制御フアイルが上記共有データ・ス
トレージ手段中に存在するか否かをテストするステツプ
と、(b)若し上記共有リソース制御フアイルが存在しな
ければ、上記共有データ・ストレージ手段中に共有リソ
ース制御フアイルを作成し、マスタ・プロセス識別情報
を上記共有リソース制御フアイルに書き込み、かつ、タ
イムスタンプ値を上記共有リソース制御フアイルに書き
込むステツプと、(c)若し上記共有リソース制御フアイ
ルが存在すれば、上記共有リソース制御フアイルに排他
的アクセスを要求するステツプと、(c-1)若し上記排他
的アクセスが拒絶されたならば、待機して、再試行する
ステツプと、(c-2)若し上記排他的アクセスが認められ
たならば、現在の時間値と最後のタイムスタンプ値との
間の差分を決定するステツプと、(i)若し上記差分が第
1の設定時間よりも短かければ、要求プロセスを影のプ
ロセスとして指定するステツプと、(ii)若し上記差分が
上記第1の設定時間よりも長ければ、上記共有リソース
制御フアイルを無効とし、新しい共有リソース制御フア
イルを作成し、マスタ・プロセス識別情報を上記共有リ
ソース制御フアイルに書き込み、かつ、タイムスタンプ
値を上記共有リソース制御フアイルに書き込むステツプ
と、(d)若し要求プロセスが上記共有リソースのマスタ
・プロセスであれば、第2の設定時間が経過した後に、
上記共有リソース制御フアイル中のタイムスタンプ値を
現在のタイムスタンプ値に置き換えるステツプとを含む
リソースの制御方法。 (2)上記共有データ・ストレージ手段はネツトワーク
・フアイル・システムであることを特徴とする(1)に
記載の方法。 (3)上記共有データ・ストレージ手段は共有された揮
発性メモリであることを特徴とする(1)に記載の方
法。 (4)通信手段によつて接続された複数個のプロセツサ
を有する分散コンピユータ・システムにおける複数個の
共有リソースの共有を制御する装置において、上記複数
個の共有リソースの各々に対する制御プロセスとしてプ
ロセスを指示するデータと、上記制御プロセスによる最
後の更新時間を指示するデータとをストアする共有リソ
ース制御手段と、上記共有リソース制御手段に対する排
他的アクセスを、最大1つのプロセスに制限するための
アクセス制御手段と、上記共有リソース制御手段からの
データを読み取るための共有リソース制御フアイル読み
取り手段と、最後の更新時間を指示する上記データと現
在の時間とを比較する比較して経過時間を決定する比較
手段と、若し上記経過時間があらかじめ定められた値よ
りも長ければ、上記共有リソース制御フアイルを無効に
する無効手段と、上記制御プロセスに、最後の更新時間
を指示する上記データを現在の時間に周期的に置換させ
る更新手段とを具備する、リソースの制御装置。
【0031】
【発明の効果】本発明によれば、マスタ・プロセス(処
理ノード)が排他的ロツクを保持しなければならない時
間の長さを短縮し、しかも、マスタ・プロセスの誤動作
を検出することができ、不当に長い遅延を生じることな
く他のマスタ・プロセスを設定することを保証する分散
コンピユータ・システムを与える。
理ノード)が排他的ロツクを保持しなければならない時
間の長さを短縮し、しかも、マスタ・プロセスの誤動作
を検出することができ、不当に長い遅延を生じることな
く他のマスタ・プロセスを設定することを保証する分散
コンピユータ・システムを与える。
【図1】本発明を実行するコンピユータ・システムを示
すブロツク図である。
すブロツク図である。
【図2】本発明に従つた分散ネツトワークのブロツク図
である。
である。
【図3】従来のシステムのマスタ処理ノードのエラー回
復論理を説明するための流れ図である。
復論理を説明するための流れ図である。
【図4】本発明の実施例のマスタ・プロセスを決定する
論理的処理を説明するための流れ図である。
論理的処理を説明するための流れ図である。
100 コンピユータ・システム 102 中央処理装置(CPU) 104 ランダム・アクセス・メモリ 106 通信アダプタ 108 ネツトワーク・インターフエース 112 I/O制御装置 114 表示装置 116 キーボード 118 指示装置 120 デイスク制御装置 122、212 デイスク・ストレージ装置 200 ネツトワーク 202乃至210 処理ノード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハリ・ハラナス・マッドウリイ アメリカ合衆国 テキサス州、オースチ ン、アナクゥア 7004
Claims (4)
- 【請求項1】メモリを持つ少なくとも1つのプロセツサ
中で動作し、共有データ・ストレージ手段にアクセスす
る複数個のプロセスを有するコンピユータ・システムに
おいて、共有リソースを制御するマスタ・プロセスを決
定するための方法において、 (a)上記共有リソース用の共有リソース制御フアイルが
上記共有データ・ストレージ手段中に存在するか否かを
テストするステツプと、 (b)若し上記共有リソース制御フアイルが存在しなけれ
ば、上記共有データ・ストレージ手段中に共有リソース
制御フアイルを作成し、マスタ・プロセス識別情報を上
記共有リソース制御フアイルに書き込み、かつ、タイム
スタンプ値を上記共有リソース制御フアイルに書き込む
ステツプと、 (c)若し上記共有リソース制御フアイルが存在すれば、
上記共有リソース制御フアイルに排他的アクセスを要求
するステツプと、(c-1)若し上記排他的アクセスが拒絶
されたならば、待機して、再試行するステツプと、(c-
2)若し上記排他的アクセスが認められたならば、現在の
時間値と最後のタイムスタンプ値との間の差分を決定す
るステツプと、(i)若し上記差分が第1の設定時間より
も短かければ、要求プロセスを影のプロセスとして指定
するステツプと、(ii)若し上記差分が上記第1の設定時
間よりも長ければ、上記共有リソース制御フアイルを無
効とし、新しい共有リソース制御フアイルを作成し、マ
スタ・プロセス識別情報を上記共有リソース制御フアイ
ルに書き込み、かつ、タイムスタンプ値を上記共有リソ
ース制御フアイルに書き込むステツプと、 (d)若し要求プロセスが上記共有リソースのマスタ・プ
ロセスであれば、第2の設定時間が経過した後に、上記
共有リソース制御フアイル中のタイムスタンプ値を現在
のタイムスタンプ値に置き換えるステツプと を含むリソースの制御方法。 - 【請求項2】上記共有データ・ストレージ手段はネツト
ワーク・フアイル・システムであることを特徴とする請
求項1に記載の方法。 - 【請求項3】上記共有データ・ストレージ手段は共有さ
れた揮発性メモリであることを特徴とする請求項1に記
載の方法。 - 【請求項4】通信手段によつて接続された複数個のプロ
セツサを有する分散コンピユータ・システムにおける複
数個の共有リソースの共有を制御する装置において、 上記複数個の共有リソースの各々に対する制御プロセス
としてプロセスを指示するデータと、上記制御プロセス
による最後の更新時間を指示するデータとをストアする
共有リソース制御手段と、 上記共有リソース制御手段に対する排他的アクセスを、
最大1つのプロセスに制限するためのアクセス制御手段
と、 上記共有リソース制御手段からのデータを読み取るため
の共有リソース制御フアイル読み取り手段と、 最後の更新時間を指示する上記データと現在の時間とを
比較する比較して経過時間を決定する比較手段と、 若し上記経過時間があらかじめ定められた値よりも長け
れば、上記共有リソース制御フアイルを無効にする無効
手段と、 上記制御プロセスに、最後の更新時間を指示する上記デ
ータを現在の時間に周期的に置換させる更新手段とを具
備する、リソースの制御装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US077211 | 1993-06-14 | ||
US08/077,211 US5544353A (en) | 1993-06-14 | 1993-06-14 | Distributed processing object shared resource control apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0713939A true JPH0713939A (ja) | 1995-01-17 |
JP2565658B2 JP2565658B2 (ja) | 1996-12-18 |
Family
ID=22136713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6102390A Expired - Fee Related JP2565658B2 (ja) | 1993-06-14 | 1994-05-17 | リソースの制御方法及び装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5544353A (ja) |
EP (1) | EP0629947A3 (ja) |
JP (1) | JP2565658B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374362B1 (en) | 1998-01-14 | 2002-04-16 | Nec Corporation | Device and method for shared process control |
JP2010218198A (ja) * | 2009-03-17 | 2010-09-30 | Bank Of Tokyo-Mitsubishi Ufj Ltd | 障害管理装置及びプログラム |
JP2011227936A (ja) * | 2011-08-16 | 2011-11-10 | Bank Of Tokyo-Mitsubishi Ufj Ltd | 障害管理装置及びプログラム |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1146816A (zh) * | 1994-04-21 | 1997-04-02 | 英国电讯有限公司 | 数据存储器 |
JP3516362B2 (ja) * | 1995-03-01 | 2004-04-05 | 富士通株式会社 | 共有データ処理装置及び共有データ処理システム |
US5892954A (en) * | 1995-07-07 | 1999-04-06 | Sun Microsystems, Inc. | Method and apparatus for refreshing file locks to minimize conflicting accesses to data files |
US5664196A (en) * | 1995-12-07 | 1997-09-02 | Emc Corporation | Media access scheduler method and apparatus |
US5812793A (en) * | 1996-06-26 | 1998-09-22 | Microsoft Corporation | System and method for asynchronous store and forward data replication |
US5835908A (en) * | 1996-11-19 | 1998-11-10 | Microsoft Corporation | Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers |
US6209090B1 (en) | 1997-05-29 | 2001-03-27 | Sol Aisenberg | Method and apparatus for providing secure time stamps for documents and computer files |
WO1999008209A1 (en) * | 1997-08-08 | 1999-02-18 | Bell Communications Research, Inc. | High performance asynchronous data replication |
US6032153A (en) * | 1997-11-13 | 2000-02-29 | Electric Data Systems Corporation | Method and system for maintaining persistence in a shared object system |
US6145094A (en) * | 1998-05-12 | 2000-11-07 | Sun Microsystems, Inc. | Transaction locks for high availability |
US6725244B1 (en) * | 2000-02-25 | 2004-04-20 | Sun Microsystems, Inc. | Method and system for allocation of file descriptors |
EP1205847A1 (en) * | 2000-10-23 | 2002-05-15 | Sony International (Europe) GmbH | Resource conflict resolution |
US7127565B2 (en) * | 2001-08-20 | 2006-10-24 | Spinnaker Networks, Inc. | Method and system for safely arbitrating disk drive ownership using a timestamp voting algorithm |
US20030101160A1 (en) * | 2001-11-26 | 2003-05-29 | International Business Machines Corporation | Method for safely accessing shared storage |
US7428732B2 (en) * | 2001-12-05 | 2008-09-23 | Intel Corporation | Method and apparatus for controlling access to shared resources in an environment with multiple logical processors |
US7228545B2 (en) * | 2003-01-23 | 2007-06-05 | Hewlett-Packard Development Company, L.P. | Methods and apparatus for managing the execution of a task among a plurality of autonomous processes |
JP2005141672A (ja) * | 2003-11-10 | 2005-06-02 | Hitachi Ltd | 共有リソースの使用の排他制御方式及び方法 |
US8135636B2 (en) | 2003-11-25 | 2012-03-13 | International Business Machines Corporation | System for metering in an on-demand utility environment |
EP1977617A2 (en) | 2006-01-16 | 2008-10-08 | Zlango Ltd. | Activating an application |
US10725997B1 (en) * | 2012-06-18 | 2020-07-28 | EMC IP Holding Company LLC | Method and systems for concurrent collection and generation of shared data |
US9141669B2 (en) * | 2013-01-22 | 2015-09-22 | Go Daddy Operating Company, LLC | Configuring an origin server content delivery using a pulled data list |
US10530706B2 (en) * | 2016-03-25 | 2020-01-07 | Microsoft Technology Licensing, Llc | Arbitrating control access to a shared resource across multiple consumers |
CN111782412B (zh) * | 2019-04-03 | 2024-09-06 | 阿里巴巴集团控股有限公司 | 一种数据的获取方法、服务器及相关系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01300366A (ja) * | 1988-05-30 | 1989-12-04 | Ube Ind Ltd | 共有データ競合制御方式 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4961224A (en) * | 1989-03-06 | 1990-10-02 | Darby Yung | Controlling access to network resources |
JPH06342396A (ja) * | 1990-07-02 | 1994-12-13 | Internatl Business Mach Corp <Ibm> | 共有データのアクセスを直列化する方法及び装置 |
US5206952A (en) * | 1990-09-12 | 1993-04-27 | Cray Research, Inc. | Fault tolerant networking architecture |
US5333316A (en) * | 1991-08-16 | 1994-07-26 | International Business Machines Corporation | Locking and row by row modification of a database stored in a single master table and multiple virtual tables of a plurality of concurrent users |
US5388255A (en) * | 1991-12-19 | 1995-02-07 | Wang Laboratories, Inc. | System for updating local views from a global database using time stamps to determine when a change has occurred |
-
1993
- 1993-06-14 US US08/077,211 patent/US5544353A/en not_active Expired - Fee Related
-
1994
- 1994-05-17 JP JP6102390A patent/JP2565658B2/ja not_active Expired - Fee Related
- 1994-06-07 EP EP94304097A patent/EP0629947A3/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01300366A (ja) * | 1988-05-30 | 1989-12-04 | Ube Ind Ltd | 共有データ競合制御方式 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374362B1 (en) | 1998-01-14 | 2002-04-16 | Nec Corporation | Device and method for shared process control |
JP2010218198A (ja) * | 2009-03-17 | 2010-09-30 | Bank Of Tokyo-Mitsubishi Ufj Ltd | 障害管理装置及びプログラム |
JP2011227936A (ja) * | 2011-08-16 | 2011-11-10 | Bank Of Tokyo-Mitsubishi Ufj Ltd | 障害管理装置及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US5544353A (en) | 1996-08-06 |
EP0629947A2 (en) | 1994-12-21 |
JP2565658B2 (ja) | 1996-12-18 |
EP0629947A3 (en) | 1995-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2565658B2 (ja) | リソースの制御方法及び装置 | |
US7024525B2 (en) | Distributed background track processing | |
EP1131715B1 (en) | Distributed transactional processing system and method | |
US7113945B1 (en) | Virtual storage device that uses volatile memory | |
US9031984B2 (en) | Providing multiple concurrent access to a file system | |
US5463733A (en) | Failure recovery apparatus and method for distributed processing shared resource control | |
US7814065B2 (en) | Affinity-based recovery/failover in a cluster environment | |
US8788878B2 (en) | Data migration without interrupting host access | |
US10540119B2 (en) | Distributed shared log storage system having an adapter for heterogenous big data workloads | |
JP6588080B2 (ja) | 分散型共有メモリアプリケーションのメモリ破損の検出サポート | |
US6711559B1 (en) | Distributed processing system, apparatus for operating shared file system and computer readable medium | |
JP2005532611A (ja) | 仮想記憶装置 | |
US10127054B2 (en) | Bootstrapping server using configuration file stored in server-managed storage | |
WO1998044423A1 (en) | Data storage controller providing multiple hosts with access to multiple storage subsystems | |
JPH01188965A (ja) | データ処理方法 | |
US7149922B2 (en) | Storage system | |
US5550973A (en) | System and method for failure recovery in a shared resource system having a moving write lock | |
US6076126A (en) | Software locking mechanism for locking shared resources in a data processing system | |
EP0536375A1 (en) | Fault tolerant network file system | |
US5692120A (en) | Failure recovery apparatus and method for distributed processing shared resource control | |
US11513716B2 (en) | Write first to winner in a metro cluster | |
US20040107176A1 (en) | Method and apparatus for providing storage control in a network of storage controllers | |
US9952941B2 (en) | Elastic virtual multipath resource access using sequestered partitions | |
JP4286857B2 (ja) | ノード間共用ファイル制御方法 | |
JP2726001B2 (ja) | コンピユータ・システムにおける誤り回復方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |