JPH07219792A - ロック装置及び方法 - Google Patents
ロック装置及び方法Info
- Publication number
- JPH07219792A JPH07219792A JP6289415A JP28941594A JPH07219792A JP H07219792 A JPH07219792 A JP H07219792A JP 6289415 A JP6289415 A JP 6289415A JP 28941594 A JP28941594 A JP 28941594A JP H07219792 A JPH07219792 A JP H07219792A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- data object
- node
- access
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/52—Indexing scheme relating to G06F9/52
- G06F2209/522—Manager
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/52—Indexing scheme relating to G06F9/52
- G06F2209/523—Mode
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 マルチコンピュータ・システム用のロック装
置を提供する。 【構成】 ローカル・ロック・マネージャは、特定の資
源に関して指定モードのトークンを必要とする場合、ロ
ック制御サーバからトークンを取得する。トークン同士
が競合しない場合、ロック制御サーバはトークンを授与
する。しかし、トークン同士が競合する場合は、ロック
制御サーバは競合するトークンを持つローカル・ロック
・マネージャのリストで応答する。要求側のロック・マ
ネージャは、競合するトークンを持つローカル・ロック
・マネージャのそれぞれに対し、そのトークンを放棄
し、放棄が完了したときに肯定応答するよう要求する。
肯定応答を受け取ると、ローカル・ロック・マネージャ
は、そのテーブルを更新して、要求されたトークンを授
与するよう、ロック制御サーバに要求する。
置を提供する。 【構成】 ローカル・ロック・マネージャは、特定の資
源に関して指定モードのトークンを必要とする場合、ロ
ック制御サーバからトークンを取得する。トークン同士
が競合しない場合、ロック制御サーバはトークンを授与
する。しかし、トークン同士が競合する場合は、ロック
制御サーバは競合するトークンを持つローカル・ロック
・マネージャのリストで応答する。要求側のロック・マ
ネージャは、競合するトークンを持つローカル・ロック
・マネージャのそれぞれに対し、そのトークンを放棄
し、放棄が完了したときに肯定応答するよう要求する。
肯定応答を受け取ると、ローカル・ロック・マネージャ
は、そのテーブルを更新して、要求されたトークンを授
与するよう、ロック制御サーバに要求する。
Description
【0001】
【産業上の利用分野】本発明は、共用ファイルにアクセ
スできるマルチコンピュータ・システムで使用するため
の分散ロック・マネージャに関する。
スできるマルチコンピュータ・システムで使用するため
の分散ロック・マネージャに関する。
【0002】
【従来の技術】密結合システムでは、それぞれが専用の
オペレーティング・システムの制御下にある複数のデー
タ処理ノードが、通信ネットワークで結合され、ディス
クに格納された共用ファイルを持っている。この共用フ
ァイルへのアクセスは、それぞれのシステムのソフトウ
ェアで実現された1組のプロトコルで調整される。
オペレーティング・システムの制御下にある複数のデー
タ処理ノードが、通信ネットワークで結合され、ディス
クに格納された共用ファイルを持っている。この共用フ
ァイルへのアクセスは、それぞれのシステムのソフトウ
ェアで実現された1組のプロトコルで調整される。
【0003】密結合システムにおける関心事は、共用フ
ァイル・アクセスを正しく同期させて、タスク間で競合
が発生しないようにすることである。たとえば、銀行業
務システムでは、あるタスクとして顧客が自動預金支払
機を使用して自分の口座から現金を引き出し、別のタス
クとして銀行が小切手処理のために顧客の口座を更新す
る場合が考えられる。これらのタスクが同期していない
場合、処理後の口座残高が不正確になる可能性がある。
ァイル・アクセスを正しく同期させて、タスク間で競合
が発生しないようにすることである。たとえば、銀行業
務システムでは、あるタスクとして顧客が自動預金支払
機を使用して自分の口座から現金を引き出し、別のタス
クとして銀行が小切手処理のために顧客の口座を更新す
る場合が考えられる。これらのタスクが同期していない
場合、処理後の口座残高が不正確になる可能性がある。
【0004】ファイル共用環境で複数のタスクを同期さ
せる方法の1つは、ロッキングと呼ばれている。この方
法によると、タスクはまず、ロックと呼ばれるデータ構
造へのアクセス権を取得し、ロックで保護されているフ
ァイル、データベース、またはその他のデータ・オブジ
ェクトに入っているデータを読み取るかまたは変更する
ために必要なアクセスのタイプを指定する。この場合、
一方のアクセスが所望のアクセス・タイプの指定を変更
し、他のタスクがそれにアクセスできるようにロックを
解除するまで、他のタスクは保護データにアクセスでき
ないか、保護データへの限定アクセス(たとえば、読取
りアクセスのみ)だけが与えられる。
せる方法の1つは、ロッキングと呼ばれている。この方
法によると、タスクはまず、ロックと呼ばれるデータ構
造へのアクセス権を取得し、ロックで保護されているフ
ァイル、データベース、またはその他のデータ・オブジ
ェクトに入っているデータを読み取るかまたは変更する
ために必要なアクセスのタイプを指定する。この場合、
一方のアクセスが所望のアクセス・タイプの指定を変更
し、他のタスクがそれにアクセスできるようにロックを
解除するまで、他のタスクは保護データにアクセスでき
ないか、保護データへの限定アクセス(たとえば、読取
りアクセスのみ)だけが与えられる。
【0005】一般に、別々のプロセッサ上で実行される
複数のタスク間のロック要求を解決し、特定のロック・
エンティティへのアクセスを待っているタスクの待ち行
列を管理するため、グローバル・ロック・マネージャが
提供されている。グローバル・ロック管理への取組み方
としては、結合された複数のプロセッサ間でロック機能
を分散させる方法がある。この方法は、分散ロック管理
と呼ばれる。分散ロック・マネージャを有する密結合シ
ステムについては、米国特許第5161227号および
米国特許第5226143号などに記載されている。
複数のタスク間のロック要求を解決し、特定のロック・
エンティティへのアクセスを待っているタスクの待ち行
列を管理するため、グローバル・ロック・マネージャが
提供されている。グローバル・ロック管理への取組み方
としては、結合された複数のプロセッサ間でロック機能
を分散させる方法がある。この方法は、分散ロック管理
と呼ばれる。分散ロック・マネージャを有する密結合シ
ステムについては、米国特許第5161227号および
米国特許第5226143号などに記載されている。
【0006】
【発明が解決しようとする課題】分散ロック・マネージ
ャを有するシステムでは、通常、プロセッサ内からロッ
ク要求を解決しようと試みる。この試みが不可能な場合
は、必ず、ロック要求を解決するために遠隔プロセッサ
との通信が開始される。
ャを有するシステムでは、通常、プロセッサ内からロッ
ク要求を解決しようと試みる。この試みが不可能な場合
は、必ず、ロック要求を解決するために遠隔プロセッサ
との通信が開始される。
【0007】一般に分散ロック・プロトコルは、ロック
空間を、結合されたプロセッサのそれぞれに割り当てら
れた複数の区画に分割する。あるエンティティ(すなわ
ち、特定のロック・データ構造)に関する要求は、その
エンティティが属す区画を所有しているプロセッサに送
られ、そのプロセッサによって解決される。
空間を、結合されたプロセッサのそれぞれに割り当てら
れた複数の区画に分割する。あるエンティティ(すなわ
ち、特定のロック・データ構造)に関する要求は、その
エンティティが属す区画を所有しているプロセッサに送
られ、そのプロセッサによって解決される。
【0008】分散ロック・マネージャでは、ロック・プ
ロトコルを実施するためにノード間の調整が必要であ
る。この調整は、通常、ノード間で制御メッセージを交
換することで行われる。
ロトコルを実施するためにノード間の調整が必要であ
る。この調整は、通常、ノード間で制御メッセージを交
換することで行われる。
【0009】
【課題を解決するための手段】本発明の一実施例によれ
ば、マルチコンピュータ・システムは、ファイルの所有
者であるロック制御サーバ(LCS)から適切なロック
授与権限(「トークン」という)を取得した場合に限
り、その取得後にローカル・ロック・マネージャがファ
イルにロックを授与するという、2レベルのロック・シ
ステムを含む。ロック制御サーバは受動的で、所有する
ファイルに関する制御情報をすべて持っている。ローカ
ル・ロック・マネージャ(LLM)が特定のファイルに
ついて指定モードのトークンを必要とする場合、ロック
制御サーバに対し、トークンの授与を要求する。未解決
のトークン同士の競合がなければ、ロック制御サーバは
要求されたトークンを授与する。しかし、トークン同士
が競合する場合は、ロック制御サーバは、競合するトー
クンを持つローカル・ロック・マネージャのリストで応
答する。その場合、要求側のローカル・ロック・マネー
ジャは、競合するトークンを持つ各ローカル・ロック・
マネージャに対し、そのトークンを放棄し、放棄が完了
したときに肯定応答するよう要求する。肯定応答を受け
取ると、要求側のローカル・ロック・マネージャは、ロ
ック制御サーバに対し、そのテーブルを更新してトーク
ンを授与するよう要求する。
ば、マルチコンピュータ・システムは、ファイルの所有
者であるロック制御サーバ(LCS)から適切なロック
授与権限(「トークン」という)を取得した場合に限
り、その取得後にローカル・ロック・マネージャがファ
イルにロックを授与するという、2レベルのロック・シ
ステムを含む。ロック制御サーバは受動的で、所有する
ファイルに関する制御情報をすべて持っている。ローカ
ル・ロック・マネージャ(LLM)が特定のファイルに
ついて指定モードのトークンを必要とする場合、ロック
制御サーバに対し、トークンの授与を要求する。未解決
のトークン同士の競合がなければ、ロック制御サーバは
要求されたトークンを授与する。しかし、トークン同士
が競合する場合は、ロック制御サーバは、競合するトー
クンを持つローカル・ロック・マネージャのリストで応
答する。その場合、要求側のローカル・ロック・マネー
ジャは、競合するトークンを持つ各ローカル・ロック・
マネージャに対し、そのトークンを放棄し、放棄が完了
したときに肯定応答するよう要求する。肯定応答を受け
取ると、要求側のローカル・ロック・マネージャは、ロ
ック制御サーバに対し、そのテーブルを更新してトーク
ンを授与するよう要求する。
【0010】
【実施例】本システムの分散ロック・マネージャは、ロ
ックおよびロック解除呼出しを使用して2つまたはそれ
以上の処理ノード間で共通データ・オブジェクトに対し
て行う並行操作を直列化する場合に使用する。実施例で
は、READ(共用)モードまたはWRITE(排他)
モードでロックを取得できる。必要なモードのロックが
使用できない場合は、ロックが使用可能になるまで実行
の呼出しスレッドがブロックされる。
ックおよびロック解除呼出しを使用して2つまたはそれ
以上の処理ノード間で共通データ・オブジェクトに対し
て行う並行操作を直列化する場合に使用する。実施例で
は、READ(共用)モードまたはWRITE(排他)
モードでロックを取得できる。必要なモードのロックが
使用できない場合は、ロックが使用可能になるまで実行
の呼出しスレッドがブロックされる。
【0011】どの処理ノードも、ロックおよびロック解
除呼出しを実施する専用のローカル・ロック・マネージ
ャ(LLM)を持っている。このローカル・ロック・マ
ネージャは非活動エンティティであるが、ロックを授与
する際にロック・マネージャとして機能するノードにつ
いて述べておくと都合がよいので、以下に説明する。
除呼出しを実施する専用のローカル・ロック・マネージ
ャ(LLM)を持っている。このローカル・ロック・マ
ネージャは非活動エンティティであるが、ロックを授与
する際にロック・マネージャとして機能するノードにつ
いて述べておくと都合がよいので、以下に説明する。
【0012】ノードがREADまたはWRITEロック
を授与するのは、そのノードが必要なモードでファイル
に関するロック授与権限(「トークン」という)を持っ
ている場合に限られる。このため、ファイルに関する最
初のロック呼出しが行われると、ノードはまず必要なモ
ードでファイルに関するトークンを取得しなければなら
ない。所与の時点で1つのファイルについて、複数のR
EADトークンまたは単一のWRITEトークンが未解
決になっている可能性がある。どのファイルについて
も、既知の所有者が存在し(すなわち、どのノードも、
すべての共用ファイルとその所有者をリストしたテーブ
ルを含む)、ファイルの所有者と接触することでトーク
ンを取得する。ノードが所有者に接触したときに、すで
に所有者が他のノードにトークンを与えてしまっている
可能性があり、その場合はトークンを取得するのにさら
にアービトレーションが必要な場合もある。
を授与するのは、そのノードが必要なモードでファイル
に関するロック授与権限(「トークン」という)を持っ
ている場合に限られる。このため、ファイルに関する最
初のロック呼出しが行われると、ノードはまず必要なモ
ードでファイルに関するトークンを取得しなければなら
ない。所与の時点で1つのファイルについて、複数のR
EADトークンまたは単一のWRITEトークンが未解
決になっている可能性がある。どのファイルについて
も、既知の所有者が存在し(すなわち、どのノードも、
すべての共用ファイルとその所有者をリストしたテーブ
ルを含む)、ファイルの所有者と接触することでトーク
ンを取得する。ノードが所有者に接触したときに、すで
に所有者が他のノードにトークンを与えてしまっている
可能性があり、その場合はトークンを取得するのにさら
にアービトレーションが必要な場合もある。
【0013】本発明での使用に適した密結合システムを
図1に示す。このシステムは、通信ネットワーク110
により相互接続された複数の処理ノード(場合によって
はノードと呼ぶ)102〜108を含む。処理ノード1
02〜108は、AIX 3.2を使用するIBM R
ISCシステム/6000などで実現できる。通信プロ
トコルは、サン・マイクロシステムズ社のRPC(遠隔
プロシージャ呼出し)にすることができるが、このプロ
トコルはUDPまたはTCPのいずれかで実行できる。
ネットワーク110は、トークン・リングなどの従来タ
イプのものにすることができる。
図1に示す。このシステムは、通信ネットワーク110
により相互接続された複数の処理ノード(場合によって
はノードと呼ぶ)102〜108を含む。処理ノード1
02〜108は、AIX 3.2を使用するIBM R
ISCシステム/6000などで実現できる。通信プロ
トコルは、サン・マイクロシステムズ社のRPC(遠隔
プロシージャ呼出し)にすることができるが、このプロ
トコルはUDPまたはTCPのいずれかで実行できる。
ネットワーク110は、トークン・リングなどの従来タ
イプのものにすることができる。
【0014】本発明の実施例によれば、処理ノード10
2〜108のそれぞれは、ロック制御サーバ112とロ
ーカル・ロック・マネージャ114とを含む。各処理ノ
ード内のLCSは、そのノードが所有する共用ファイル
116へのアクセスを制御する。ローカル・ロック・マ
ネージャ114(1)〜114(3)は、ファイルの所
有者であるロック制御サーバから適切なロック授与権限
を取得した後でなければ、ファイルに関するロックを授
与しない。説明のため、LCSと共用ファイルは1つの
処理ノードにのみ示すが、LLMはその他の処理ノード
すべてに示す。ただし、それぞれの処理ノードには1組
または複数組の共用ファイル、1つのLLM、および1
つのLCSが存在することに留意されたい。
2〜108のそれぞれは、ロック制御サーバ112とロ
ーカル・ロック・マネージャ114とを含む。各処理ノ
ード内のLCSは、そのノードが所有する共用ファイル
116へのアクセスを制御する。ローカル・ロック・マ
ネージャ114(1)〜114(3)は、ファイルの所
有者であるロック制御サーバから適切なロック授与権限
を取得した後でなければ、ファイルに関するロックを授
与しない。説明のため、LCSと共用ファイルは1つの
処理ノードにのみ示すが、LLMはその他の処理ノード
すべてに示す。ただし、それぞれの処理ノードには1組
または複数組の共用ファイル、1つのLLM、および1
つのLCSが存在することに留意されたい。
【0015】ロック制御サーバ112は、所有している
資源に関するすべての制御情報を状態テーブル1004
に入れて管理する。ロック制御サーバは受動的で満杯状
態のロック・マネージャである。受動的というのは、ロ
ック制御サーバが、他のノードに対して独力でメッセー
ジを一切送信しないことを意味する。「満杯状態(stat
e-full)」というのは、ロック制御サーバが、そのモー
ドとともにトークンの位置に関する正確な状態情報をい
つも管理していることを意味する。ロック制御サーバに
は、すべての未解決要求に関するすべての情報を必ず保
持できるように、その状態テーブルに十分なスペースが
設けられている。このため、ロック制御サーバは、デー
タ構造内のスペースが不足しても通信を開始する必要は
ない。プロトコル全体では、ロック制御サーバはメッセ
ージに応答するだけであるが、自分で通信を開始するこ
とはない。
資源に関するすべての制御情報を状態テーブル1004
に入れて管理する。ロック制御サーバは受動的で満杯状
態のロック・マネージャである。受動的というのは、ロ
ック制御サーバが、他のノードに対して独力でメッセー
ジを一切送信しないことを意味する。「満杯状態(stat
e-full)」というのは、ロック制御サーバが、そのモー
ドとともにトークンの位置に関する正確な状態情報をい
つも管理していることを意味する。ロック制御サーバに
は、すべての未解決要求に関するすべての情報を必ず保
持できるように、その状態テーブルに十分なスペースが
設けられている。このため、ロック制御サーバは、デー
タ構造内のスペースが不足しても通信を開始する必要は
ない。プロトコル全体では、ロック制御サーバはメッセ
ージに応答するだけであるが、自分で通信を開始するこ
とはない。
【0016】ローカル・ロック・マネージャの機能ブロ
ック図を図13に示す。LLM114(1)〜114
(3)のそれぞれは、ファイル/所有者ディレクトリ9
02と、ロック状態テーブル904を含む。これらの構
造体902および904のそれぞれは、処理ノードのラ
ンダム・アクセス・メモリに形成されている。ファイル
所有者ディレクトリ902は、システム内のすべての共
用ファイルとそのそれぞれの所有者のリストを含む。L
LMが必要とするどのファイルについても、ディレクト
リ902を参照すれば、所有者のネットワーク・アドレ
スを判別できる。
ック図を図13に示す。LLM114(1)〜114
(3)のそれぞれは、ファイル/所有者ディレクトリ9
02と、ロック状態テーブル904を含む。これらの構
造体902および904のそれぞれは、処理ノードのラ
ンダム・アクセス・メモリに形成されている。ファイル
所有者ディレクトリ902は、システム内のすべての共
用ファイルとそのそれぞれの所有者のリストを含む。L
LMが必要とするどのファイルについても、ディレクト
リ902を参照すれば、所有者のネットワーク・アドレ
スを判別できる。
【0017】ロック状態テーブル904は、LLMが把
握しているトークンごとに項目を1つずつ含む。それぞ
れの項目は3つのフィールドを含む。トークンIDフィ
ールドはトークンを識別するものである。モード・フィ
ールドはトークンのモード(読取り、書込み、または変
位)を示す。ロック・ビット・フィールドは、LLMを
含む特定のノードで実行されているプロセスがファイル
に関するロックを持っているかどうかを示す。
握しているトークンごとに項目を1つずつ含む。それぞ
れの項目は3つのフィールドを含む。トークンIDフィ
ールドはトークンを識別するものである。モード・フィ
ールドはトークンのモード(読取り、書込み、または変
位)を示す。ロック・ビット・フィールドは、LLMを
含む特定のノードで実行されているプロセスがファイル
に関するロックを持っているかどうかを示す。
【0018】LCS要求生成ブロック906は、ネット
ワーク上で適切なロック要求を生成するためのメッセー
ジを形成する。LLMが生成できるロック要求メッセー
ジとしては、ACQUIRE、UPGRADE、GIV
EUP、CHANGE−TOKENがある。使用する特
定のタイプのメッセージは、ロック状態テーブル904
内の情報に基づいてノードが選択する。
ワーク上で適切なロック要求を生成するためのメッセー
ジを形成する。LLMが生成できるロック要求メッセー
ジとしては、ACQUIRE、UPGRADE、GIV
EUP、CHANGE−TOKENがある。使用する特
定のタイプのメッセージは、ロック状態テーブル904
内の情報に基づいてノードが選択する。
【0019】ノードは、対象ファイル用のトークンを持
っていない場合にACQUIRE制御メッセージを使用
する。また、読取りトークンを持っているが、書込みト
ークンが必要な場合は、UPGRADE制御メッセージ
を使用する。GIVEUP制御メッセージは、ノードが
自発的にトークンを解放するための機構である。ローカ
ル状態用のメモリが不足している場合などに、ノードは
トークンを解放することができる。特に、ノードが新し
いファイルに関するトークンを取得する必要がある場合
に、そのローカル状態テーブルが満杯であれば、ノード
は、他のファイルの1つに関するトークンを放棄して、
新しいファイル用のスペースを用意する。最後に、ノー
ドは、LCSでのトークンの状態を変更したい場合にC
HANGE−TOKEN制御メッセージを使用する。
っていない場合にACQUIRE制御メッセージを使用
する。また、読取りトークンを持っているが、書込みト
ークンが必要な場合は、UPGRADE制御メッセージ
を使用する。GIVEUP制御メッセージは、ノードが
自発的にトークンを解放するための機構である。ローカ
ル状態用のメモリが不足している場合などに、ノードは
トークンを解放することができる。特に、ノードが新し
いファイルに関するトークンを取得する必要がある場合
に、そのローカル状態テーブルが満杯であれば、ノード
は、他のファイルの1つに関するトークンを放棄して、
新しいファイル用のスペースを用意する。最後に、ノー
ドは、LCSでのトークンの状態を変更したい場合にC
HANGE−TOKEN制御メッセージを使用する。
【0020】ロック細分性判別ブロック910は、トー
クンの適切な細分性を判別する。LLMがロック要求を
受け取ると、トークン細分性判別ブロック910は、フ
ァイル全体に関するトークンを取得するか、ファイルの
一部だけに関するトークンを取得するかを判別する。こ
の判別ブロック910は、前述の判別に応じてLCS要
求生成ブロック906に信号を送出し、LCS要求生成
ブロック906は、その信号に応じて要求メッセージを
生成する。ロック細分性判別ブロックが使用する特定の
方法を図2に示す。
クンの適切な細分性を判別する。LLMがロック要求を
受け取ると、トークン細分性判別ブロック910は、フ
ァイル全体に関するトークンを取得するか、ファイルの
一部だけに関するトークンを取得するかを判別する。こ
の判別ブロック910は、前述の判別に応じてLCS要
求生成ブロック906に信号を送出し、LCS要求生成
ブロック906は、その信号に応じて要求メッセージを
生成する。ロック細分性判別ブロックが使用する特定の
方法を図2に示す。
【0021】ロック状態比較ブロック908は、ノード
で実行中のプロセスからロック要求を受け取る。ロック
要求を受け取ると、ロック状態比較ブロックは、ロック
状態テーブル904を走査して、要求されたファイル用
の項目があるかどうか、ならびに要求されたロック状態
が現在のロック状態と両立するかどうかを判別する。項
目が存在し、両方のロック状態が両立する場合、ロック
状態比較ブロック908は状態テーブル更新ブロック9
10に信号を送出し、このブロックがその信号に応じて
ロック状態テーブルを更新する。項目が存在しないか、
ロック状態が両立しない場合、ロック状態比較ブロック
はLCS要求生成ブロック906に信号を送出する。L
CS要求生成ブロック906は、ロック要求細分性判別
ブロック910からの信号に基づいて、適切なロック要
求を生成し、それをLCSに送る。
で実行中のプロセスからロック要求を受け取る。ロック
要求を受け取ると、ロック状態比較ブロックは、ロック
状態テーブル904を走査して、要求されたファイル用
の項目があるかどうか、ならびに要求されたロック状態
が現在のロック状態と両立するかどうかを判別する。項
目が存在し、両方のロック状態が両立する場合、ロック
状態比較ブロック908は状態テーブル更新ブロック9
10に信号を送出し、このブロックがその信号に応じて
ロック状態テーブルを更新する。項目が存在しないか、
ロック状態が両立しない場合、ロック状態比較ブロック
はLCS要求生成ブロック906に信号を送出する。L
CS要求生成ブロック906は、ロック要求細分性判別
ブロック910からの信号に基づいて、適切なロック要
求を生成し、それをLCSに送る。
【0022】トークン同士が競合しない場合、ロック制
御サーバ112は、OKメッセージで応答することで要
求されたトークンを授与する。しかし、トークン同士が
競合する場合、ロック制御サーバ112は、NOT O
Kメッセージと、競合するトークンを持つローカル・ロ
ック・マネージャのリスト(「コピーセット」)とを使
って応答する。
御サーバ112は、OKメッセージで応答することで要
求されたトークンを授与する。しかし、トークン同士が
競合する場合、ロック制御サーバ112は、NOT O
Kメッセージと、競合するトークンを持つローカル・ロ
ック・マネージャのリスト(「コピーセット」)とを使
って応答する。
【0023】応答分析ブロック914は、ネットワーク
から応答メッセージを受け取り、それを分析して図3の
流れ図に示すLLMの適切な処置を判別する。ACQU
IRE、UPGRADE、またはCHANGE−TOK
EN要求に対する応答として、LCSからOKメッセー
ジを受け取った場合、応答分析ブロック914は、状態
テーブル更新ブロックに信号を送出する。状態テーブル
更新ブロック912は、ロック状態テーブルを更新し、
ロックを授与する。ACQUIREまたはUPGRAD
E要求に対する応答として、LCSからNOT OKメ
ッセージを受け取った場合は、応答分析ブロック914
がLLMダウングレード/取消し要求生成ブロック91
6に信号を送出する。LLMダウングレード/取消し要
求生成ブロック916は、LCSによって供給されるコ
ピーセット内のすべてのLLMに取消し/ダウングレー
ド・メッセージを送る。
から応答メッセージを受け取り、それを分析して図3の
流れ図に示すLLMの適切な処置を判別する。ACQU
IRE、UPGRADE、またはCHANGE−TOK
EN要求に対する応答として、LCSからOKメッセー
ジを受け取った場合、応答分析ブロック914は、状態
テーブル更新ブロックに信号を送出する。状態テーブル
更新ブロック912は、ロック状態テーブルを更新し、
ロックを授与する。ACQUIREまたはUPGRAD
E要求に対する応答として、LCSからNOT OKメ
ッセージを受け取った場合は、応答分析ブロック914
がLLMダウングレード/取消し要求生成ブロック91
6に信号を送出する。LLMダウングレード/取消し要
求生成ブロック916は、LCSによって供給されるコ
ピーセット内のすべてのLLMに取消し/ダウングレー
ド・メッセージを送る。
【0024】応答分析ブロック914は、別のLLMか
らOKメッセージを受け取った場合、コピーセット内の
すべてのLLMが肯定応答済みかどうかを検査する。肯
定応答済みであれば、応答分析ブロックは、LCS要求
生成ブロック906に信号を送出する。LCS要求生成
ブロック906は、LCSにトークン変更メッセージを
送る。すべてのLLMが肯定応答済みでなければ、応答
分析ブロック914は何も行わない。
らOKメッセージを受け取った場合、コピーセット内の
すべてのLLMが肯定応答済みかどうかを検査する。肯
定応答済みであれば、応答分析ブロックは、LCS要求
生成ブロック906に信号を送出する。LCS要求生成
ブロック906は、LCSにトークン変更メッセージを
送る。すべてのLLMが肯定応答済みでなければ、応答
分析ブロック914は何も行わない。
【0025】応答分析ブロック914は、ダウングレー
ド/取消しメッセージを受け取った場合、状態テーブル
更新ブロック912に信号を送出する。状態テーブル更
新ブロック912は、その信号に応じてロック状態テー
ブル904を更新し、ネットワーク上のLLMにOKメ
ッセージを送る。
ド/取消しメッセージを受け取った場合、状態テーブル
更新ブロック912に信号を送出する。状態テーブル更
新ブロック912は、その信号に応じてロック状態テー
ブル904を更新し、ネットワーク上のLLMにOKメ
ッセージを送る。
【0026】ロック制御サーバ112の機能ブロック図
を図14に示す。それぞれのLCSはロック状態テーブ
ル1004を含むが、このテーブルは処理ノードのラン
ダム・アクセス・メモリに形成されている。ロック状態
テーブル1004の各項目には3つのフィールドが含ま
れている。トークンIDフィールドはトークンを識別す
るものである。モード・フィールドはトークンのモード
(読取り、書込み、または変位)を示す。コピーセット
・フィールドは、トークンが授与された処理ノードのリ
ストを含む。
を図14に示す。それぞれのLCSはロック状態テーブ
ル1004を含むが、このテーブルは処理ノードのラン
ダム・アクセス・メモリに形成されている。ロック状態
テーブル1004の各項目には3つのフィールドが含ま
れている。トークンIDフィールドはトークンを識別す
るものである。モード・フィールドはトークンのモード
(読取り、書込み、または変位)を示す。コピーセット
・フィールドは、トークンが授与された処理ノードのリ
ストを含む。
【0027】LCSがロック要求メッセージを受け取る
と、ロック状態比較ブロック1002がロック状態テー
ブル1004を検査して、トークンを授与できるかどう
かを確認する。トークンを授与できる場合は、ロック状
態比較ブロックが状態テーブル更新ブロック1008に
信号を送出し、その信号に応じて状態テーブル更新ブロ
ックがロック状態テーブルを更新する。その後、状態テ
ーブル更新ブロック1008は要求側のLLMにOKメ
ッセージを送る。トークンを授与できない場合は、ロッ
ク状態比較ブロック1002がLLMコピーセット生成
ブロック1006に信号を送出し、その比較ブロック
が、競合モードのトークンを持っている処理ノードのリ
ストを生成し、そのリストとNOT OKメッセージを
要求側のLLMに送る。
と、ロック状態比較ブロック1002がロック状態テー
ブル1004を検査して、トークンを授与できるかどう
かを確認する。トークンを授与できる場合は、ロック状
態比較ブロックが状態テーブル更新ブロック1008に
信号を送出し、その信号に応じて状態テーブル更新ブロ
ックがロック状態テーブルを更新する。その後、状態テ
ーブル更新ブロック1008は要求側のLLMにOKメ
ッセージを送る。トークンを授与できない場合は、ロッ
ク状態比較ブロック1002がLLMコピーセット生成
ブロック1006に信号を送出し、その比較ブロック
が、競合モードのトークンを持っている処理ノードのリ
ストを生成し、そのリストとNOT OKメッセージを
要求側のLLMに送る。
【0028】応答分析ブロック1010は、ネットワー
クから(トークン変更メッセージの形式で)応答を受け
取り、それを分析する。応答分析ブロック1010は状
態テーブル更新ブロック1008に信号を送出し、その
信号に応じて状態テーブル更新ブロックがロック状態テ
ーブルを更新する。その後、状態テーブル更新ブロック
1008は、要求側のLLMにOKメッセージを送る。
クから(トークン変更メッセージの形式で)応答を受け
取り、それを分析する。応答分析ブロック1010は状
態テーブル更新ブロック1008に信号を送出し、その
信号に応じて状態テーブル更新ブロックがロック状態テ
ーブルを更新する。その後、状態テーブル更新ブロック
1008は、要求側のLLMにOKメッセージを送る。
【0029】ローカル・ロック・マネージャ114
(1)〜114(3)のそれぞれは、システムの主制御
プログラム(オペレーティング・システム)の制御下で
実行されるソフトウェア・タスクと、システムが所有す
る共用ファイルに関する制御情報を格納した1つまたは
複数のデータ構造体(ロック・テーブル)とを含む。具
体的には、それぞれのローカル・ロック・マネージャ
は、トークンの細分性を判別するために1組の規則を適
用する細分性タスクと、トークン要求を行い、システム
のためにロック制御プロトコルを管理するロック管理タ
スクの2つのタスクを含む。
(1)〜114(3)のそれぞれは、システムの主制御
プログラム(オペレーティング・システム)の制御下で
実行されるソフトウェア・タスクと、システムが所有す
る共用ファイルに関する制御情報を格納した1つまたは
複数のデータ構造体(ロック・テーブル)とを含む。具
体的には、それぞれのローカル・ロック・マネージャ
は、トークンの細分性を判別するために1組の規則を適
用する細分性タスクと、トークン要求を行い、システム
のためにロック制御プロトコルを管理するロック管理タ
スクの2つのタスクを含む。
【0030】トークン細分性タスクの流れ図を図2に示
す。ステップ202でLLMは、ファイルのアクセス対
象部分を指定する開始オフセット(Xバイト)と長さ
(Yバイト)を全ページに変換する。この場合、開始ペ
ージ番号はP、終了ページ番号はQとする。次にステッ
プ204でLLMは、ファイルがディレクトリ・タイプ
かどうかを判別する。(正規テキストの代わりに、その
他のファイルの名前と内部アドレスを格納するためにシ
ステムがファイルを使用する場合は、そのファイルはデ
ィレクトリ・タイプである。ファイルはシステムによっ
てディレクトリ・タイプと指定される。)YESの場
合、LLMはステップ206でファイル・レベルのトー
クンを要求する。NOの場合、LLMはステップ208
で、ファイル・サイズが128Kバイト未満かどうかを
判別する。YESの場合、LLMはファイル・レベルの
トークンを要求する。NOの場合、LLMはステップ2
10で、開始ページ番号がファイルの先頭ページ(P=
0)かどうかを判別する。YESの場合、LLMはファ
イル・レベルのトークンを要求する。NOの場合、LL
Mはステップ212で、現在のアクセスがそのファイル
への直前のアクセスに連続するものかどうかを判別す
る。YESの場合、LLMはファイル・レベルのトーク
ンを要求する。NOの場合、LLMはステップ214
で、アクセスするページの総数が8を超えているかどう
かを判別する。YESの場合、LLMはファイル・レベ
ルのトークンを要求する。NOの場合、LLMはステッ
プ216で、アクセスする各ページごとにページ・レベ
ルのトークンを要求する。
す。ステップ202でLLMは、ファイルのアクセス対
象部分を指定する開始オフセット(Xバイト)と長さ
(Yバイト)を全ページに変換する。この場合、開始ペ
ージ番号はP、終了ページ番号はQとする。次にステッ
プ204でLLMは、ファイルがディレクトリ・タイプ
かどうかを判別する。(正規テキストの代わりに、その
他のファイルの名前と内部アドレスを格納するためにシ
ステムがファイルを使用する場合は、そのファイルはデ
ィレクトリ・タイプである。ファイルはシステムによっ
てディレクトリ・タイプと指定される。)YESの場
合、LLMはステップ206でファイル・レベルのトー
クンを要求する。NOの場合、LLMはステップ208
で、ファイル・サイズが128Kバイト未満かどうかを
判別する。YESの場合、LLMはファイル・レベルの
トークンを要求する。NOの場合、LLMはステップ2
10で、開始ページ番号がファイルの先頭ページ(P=
0)かどうかを判別する。YESの場合、LLMはファ
イル・レベルのトークンを要求する。NOの場合、LL
Mはステップ212で、現在のアクセスがそのファイル
への直前のアクセスに連続するものかどうかを判別す
る。YESの場合、LLMはファイル・レベルのトーク
ンを要求する。NOの場合、LLMはステップ214
で、アクセスするページの総数が8を超えているかどう
かを判別する。YESの場合、LLMはファイル・レベ
ルのトークンを要求する。NOの場合、LLMはステッ
プ216で、アクセスする各ページごとにページ・レベ
ルのトークンを要求する。
【0031】ローカル・ロック・マネージャのロック管
理タスクの流れ図を図3に示す。所与のノード(要求側
ノード)で実行中の要求側プロセスが、モードXの所与
のファイルAに関するロックの取得を希望していると想
定する。この場合、Xは読取りまたは書込みである。ス
テップ302でLLMは、その状態テーブル904を調
べて、ファイルA用の項目があるかどうかを判別する。
ステップ304でLLMがこのような項目がないことを
判別すると、ステップ306でLLMは、図2の細分性
タスクを実行して、トークン要求に適した細分性を判別
する。次に、ステップ308でLLMは、ファイルAを
所有しているLCSにACQUIRE要求を送り、応答
を待つ。
理タスクの流れ図を図3に示す。所与のノード(要求側
ノード)で実行中の要求側プロセスが、モードXの所与
のファイルAに関するロックの取得を希望していると想
定する。この場合、Xは読取りまたは書込みである。ス
テップ302でLLMは、その状態テーブル904を調
べて、ファイルA用の項目があるかどうかを判別する。
ステップ304でLLMがこのような項目がないことを
判別すると、ステップ306でLLMは、図2の細分性
タスクを実行して、トークン要求に適した細分性を判別
する。次に、ステップ308でLLMは、ファイルAを
所有しているLCSにACQUIRE要求を送り、応答
を待つ。
【0032】応答を受け取ると、LLMはステップ31
0でその応答を調べ、トークンが授与されたかどうか
(応答がOKかどうか)を判別する。トークンが授与さ
れた場合、LLMはステップ312でその状態テーブル
904に項目を追加し(トークン・モードを示す)、ス
テップ314でロック・ビットをセットする。これで、
ロック要求に関するトークンの取得と授与が完了する。
トークンが授与されていない(応答がNOT OKであ
る)場合、LCSからの応答には現行トークン保有者の
コピーセットが含まれる。この場合、ステップ316で
LLMは、コピーセット・ノードにDOWNGRADE
またはREVOKEメッセージを送る。読取りトークン
を取得する必要がある場合は、LLMはDOWNGRA
DEメッセージを送る。書込みトークンを取得する必要
がある場合は、LLMはREVOKEメッセージを送
る。
0でその応答を調べ、トークンが授与されたかどうか
(応答がOKかどうか)を判別する。トークンが授与さ
れた場合、LLMはステップ312でその状態テーブル
904に項目を追加し(トークン・モードを示す)、ス
テップ314でロック・ビットをセットする。これで、
ロック要求に関するトークンの取得と授与が完了する。
トークンが授与されていない(応答がNOT OKであ
る)場合、LCSからの応答には現行トークン保有者の
コピーセットが含まれる。この場合、ステップ316で
LLMは、コピーセット・ノードにDOWNGRADE
またはREVOKEメッセージを送る。読取りトークン
を取得する必要がある場合は、LLMはDOWNGRA
DEメッセージを送る。書込みトークンを取得する必要
がある場合は、LLMはREVOKEメッセージを送
る。
【0033】すべてのコピーセット・ノードから肯定応
答(OKメッセージ)を受け取ると、ステップ318で
LLMは、トークンがダウングレードされたか、または
取り消されたことをLCSに通知する。これに対する応
答として、LCSは、要求側LLMがトークンの保有者
であり、そのトークンが要求されたモードになっている
ことを反映するために、状態テーブル1004のそのト
ークン用の項目を変更する。次に、LCSは、要求側L
LMに肯定応答を送る。
答(OKメッセージ)を受け取ると、ステップ318で
LLMは、トークンがダウングレードされたか、または
取り消されたことをLCSに通知する。これに対する応
答として、LCSは、要求側LLMがトークンの保有者
であり、そのトークンが要求されたモードになっている
ことを反映するために、状態テーブル1004のそのト
ークン用の項目を変更する。次に、LCSは、要求側L
LMに肯定応答を送る。
【0034】ステップ320でLCSから肯定応答を受
け取った後で、LLMはステップ312でその状態テー
ブル904に項目を追加し、ステップ314でその項目
用のロック・ビットをセットする。これで、ロック要求
に関するトークンの取得と授与が完了する。
け取った後で、LLMはステップ312でその状態テー
ブル904に項目を追加し、ステップ314でその項目
用のロック・ビットをセットする。これで、ロック要求
に関するトークンの取得と授与が完了する。
【0035】ステップ304でトークンがLLM状態テ
ーブル904から見つかった場合、LLMはステップ3
22で(モード・フィールドの)トークン状態を検査し
て、変位中であるかどうかを判別する。トークン状態を
変更するための前提条件として、別のプロセスが別のL
LMからの応答を待っている場合、トークン状態は変位
中である。状態テーブルのモード・フィールドは、その
項目について行われている変位の具体的なタイプを示す
(たとえば、読取りから書込みへの変更中、取得中な
ど)。トークン状態が変位中の場合、要求側プロセスは
ステップ324で、変位状態が終了するのを待つ。
ーブル904から見つかった場合、LLMはステップ3
22で(モード・フィールドの)トークン状態を検査し
て、変位中であるかどうかを判別する。トークン状態を
変更するための前提条件として、別のプロセスが別のL
LMからの応答を待っている場合、トークン状態は変位
中である。状態テーブルのモード・フィールドは、その
項目について行われている変位の具体的なタイプを示す
(たとえば、読取りから書込みへの変更中、取得中な
ど)。トークン状態が変位中の場合、要求側プロセスは
ステップ324で、変位状態が終了するのを待つ。
【0036】トークン状態が変位中ではない場合、LL
Mはステップ326で、同じノードで実行中の別のプロ
セスによってファイルがロックされているかどうかを判
別する。これは、そのトークン用の状態テーブル項目に
ロック・ビットがセットされている(論理1)ことによ
って示される。トークンがロックされている場合、要求
側プロセスはステップ324で、そのプロセスがロック
を解放するのを待つ。
Mはステップ326で、同じノードで実行中の別のプロ
セスによってファイルがロックされているかどうかを判
別する。これは、そのトークン用の状態テーブル項目に
ロック・ビットがセットされている(論理1)ことによ
って示される。トークンがロックされている場合、要求
側プロセスはステップ324で、そのプロセスがロック
を解放するのを待つ。
【0037】ロック・ビットがセットされていない場
合、LLMはステップ328で、トークン状態が要求さ
れた状態と両立するかどうかを判別する。たとえば、ノ
ードがREADトークンを持っている場合、これは、そ
のノードで実行中のプロセスによる読取りロックの要求
と両立する。これに対して、READトークンは、書込
みロックの要求とは両立しない。トークン状態が要求さ
れた状態と両立する場合、LLMはステップ314で、
そのファイル用のLLM状態テーブル項目にロック・ビ
ットをセットし、その資源がロックされたことを要求側
プロセスに示す表示を返す。これで、ロックの授与が完
了する。要求された状態がトークン状態と両立しない場
合、LLMは、前述のステップ306と308を実行す
る。
合、LLMはステップ328で、トークン状態が要求さ
れた状態と両立するかどうかを判別する。たとえば、ノ
ードがREADトークンを持っている場合、これは、そ
のノードで実行中のプロセスによる読取りロックの要求
と両立する。これに対して、READトークンは、書込
みロックの要求とは両立しない。トークン状態が要求さ
れた状態と両立する場合、LLMはステップ314で、
そのファイル用のLLM状態テーブル項目にロック・ビ
ットをセットし、その資源がロックされたことを要求側
プロセスに示す表示を返す。これで、ロックの授与が完
了する。要求された状態がトークン状態と両立しない場
合、LLMは、前述のステップ306と308を実行す
る。
【0038】LLMがトークンのアップグレードを希望
する(すなわち、READトークンを持っているとき
に、WRITEトークンを希望する)場合、そのLLM
は、LCSにUPGRADE要求を送って、応答を待
つ。応答を受け取ると、LLMは、トークンがアップグ
レードされたかどうかを検査する。トークンがアップグ
レードされた場合、LLMはそのテーブルのトークンの
状態を更新して、トークンのアップグレードを完了す
る。トークンがアップグレードされていない場合、LC
Sからの応答には、現行トークン保有者のコピーセット
が含まれているので、それに対する応答として、LLM
はコピーセット・ノードに取消しメッセージを送る。
する(すなわち、READトークンを持っているとき
に、WRITEトークンを希望する)場合、そのLLM
は、LCSにUPGRADE要求を送って、応答を待
つ。応答を受け取ると、LLMは、トークンがアップグ
レードされたかどうかを検査する。トークンがアップグ
レードされた場合、LLMはそのテーブルのトークンの
状態を更新して、トークンのアップグレードを完了す
る。トークンがアップグレードされていない場合、LC
Sからの応答には、現行トークン保有者のコピーセット
が含まれているので、それに対する応答として、LLM
はコピーセット・ノードに取消しメッセージを送る。
【0039】コピーセット・ノードから肯定応答を受け
取った後で、LLMは、トークンが取り消されたことを
LCSに通知する。これに対する応答として、LCS
は、要求側LLMがそのトークンの唯一の保有者であ
り、そのトークンが要求されたモードになっていること
を反映するため、そのトークンのLCS状態テーブル項
目を変更する。次にLCSは、要求側LLMに肯定応答
を送る。肯定応答を受け取った後で、LLMは、自分の
状態テーブル904のトークンの状態を更新して、トー
クンのアップグレードを完了する。
取った後で、LLMは、トークンが取り消されたことを
LCSに通知する。これに対する応答として、LCS
は、要求側LLMがそのトークンの唯一の保有者であ
り、そのトークンが要求されたモードになっていること
を反映するため、そのトークンのLCS状態テーブル項
目を変更する。次にLCSは、要求側LLMに肯定応答
を送る。肯定応答を受け取った後で、LLMは、自分の
状態テーブル904のトークンの状態を更新して、トー
クンのアップグレードを完了する。
【0040】LLMがトークンを放棄する場合、そのL
LMは、必ずLCSにGIVEUP要求を送って、応答
を待つ。これに対する応答として、LCSは、要求側L
LMが今後はトークンを持たないことを反映するため、
その状態テーブルを変更し、肯定応答を送る。肯定応答
を受け取ると、LLMは、そのテーブルからトークン項
目を削除して、トークンの放棄を完了する。
LMは、必ずLCSにGIVEUP要求を送って、応答
を待つ。これに対する応答として、LCSは、要求側L
LMが今後はトークンを持たないことを反映するため、
その状態テーブルを変更し、肯定応答を送る。肯定応答
を受け取ると、LLMは、そのテーブルからトークン項
目を削除して、トークンの放棄を完了する。
【0041】LCSタスクの流れ図を図4に示す。LC
SがLLMからACQUIREまたはUPGRADE要
求を受け取ると、LCSタスクはステップ402で、L
CS状態テーブル1004内のトークンを調べる。ステ
ップ404でそのトークンの項目が見つかった場合、L
CSタスクはステップ406で、トークン状態が別のノ
ードによって変位移行状態になっているかどうかを検査
する。YESの場合、変位が消去されるまで、LCSタ
スクのこのスレッドがステップ408で休止する。NO
の場合、LCSタスクはステップ410で、トークン状
態と要求された状態を比較して、両方の状態が両立する
かどうかを判別する。YESの場合、LCSタスクはス
テップ412で、そのトークンのLCS状態テーブル項
目のコピーセットに要求側ノードを追加し、要求側LL
Mに肯定応答を送る。NOの場合、LCSタスクはステ
ップ414で、その項目に変位中のマークを付け、現在
のコピーセットを要求側LLMに返す。
SがLLMからACQUIREまたはUPGRADE要
求を受け取ると、LCSタスクはステップ402で、L
CS状態テーブル1004内のトークンを調べる。ステ
ップ404でそのトークンの項目が見つかった場合、L
CSタスクはステップ406で、トークン状態が別のノ
ードによって変位移行状態になっているかどうかを検査
する。YESの場合、変位が消去されるまで、LCSタ
スクのこのスレッドがステップ408で休止する。NO
の場合、LCSタスクはステップ410で、トークン状
態と要求された状態を比較して、両方の状態が両立する
かどうかを判別する。YESの場合、LCSタスクはス
テップ412で、そのトークンのLCS状態テーブル項
目のコピーセットに要求側ノードを追加し、要求側LL
Mに肯定応答を送る。NOの場合、LCSタスクはステ
ップ414で、その項目に変位中のマークを付け、現在
のコピーセットを要求側LLMに返す。
【0042】ステップ404でそのトークンの項目が見
つからなかった場合、LCSタスクは、ステップ416
でその状態テーブルに(このトークン用の)項目を追加
し、ステップ412でこの項目のコピーセットに要求側
ノードを追加し、要求側LLMに肯定応答(OK)メッ
セージを返して、トークンが授与されたことを示す。
つからなかった場合、LCSタスクは、ステップ416
でその状態テーブルに(このトークン用の)項目を追加
し、ステップ412でこの項目のコピーセットに要求側
ノードを追加し、要求側LLMに肯定応答(OK)メッ
セージを返して、トークンが授与されたことを示す。
【0043】図5は、LLMによるCHANGE−TO
KEN要求処理を示す。このような要求を受け取ると、
LCSタスクはステップ502で、そのLCSテーブル
内のトークン項目を突き止める。次に、LCSタスクは
ステップ504で、モード・フィールドから移行フラグ
を消去し、コピーセットを更新する。次に、LCSタス
クはステップ506で、コピーセットに要求側ノードを
追加し、要求側LLMに肯定応答(OK)メッセージを
返す。
KEN要求処理を示す。このような要求を受け取ると、
LCSタスクはステップ502で、そのLCSテーブル
内のトークン項目を突き止める。次に、LCSタスクは
ステップ504で、モード・フィールドから移行フラグ
を消去し、コピーセットを更新する。次に、LCSタス
クはステップ506で、コピーセットに要求側ノードを
追加し、要求側LLMに肯定応答(OK)メッセージを
返す。
【0044】ここで、本システムおよび方法を示す例に
ついて、図6〜図10を参照して説明する。図6は初期
状態を示す。図7〜図10は、一連のトークン要求によ
るLLMおよびLCSテーブルの状態変化を示す。
ついて、図6〜図10を参照して説明する。図6は初期
状態を示す。図7〜図10は、一連のトークン要求によ
るLLMおよびLCSテーブルの状態変化を示す。
【0045】状態変化は、単一のトークンAについて例
示する。最初に、ノード1が読取りモードのトークンA
を取得するための要求を出す。この要求はLCSに送ら
れ、LCSがその状態テーブルを調べて、トークンAの
項目が存在するかどうかを判別する。この場合は項目が
存在しないので、LCSはトークンを授与し、その状態
テーブルを更新し、応答としてOKメッセージをノード
1に送る。このOKメッセージを受け取ると、ノード1
はそのLLM状態テーブル904(1)を更新して、R
EADモードのトークンAを所有していることを示す。
この状態を図7に示す。
示する。最初に、ノード1が読取りモードのトークンA
を取得するための要求を出す。この要求はLCSに送ら
れ、LCSがその状態テーブルを調べて、トークンAの
項目が存在するかどうかを判別する。この場合は項目が
存在しないので、LCSはトークンを授与し、その状態
テーブルを更新し、応答としてOKメッセージをノード
1に送る。このOKメッセージを受け取ると、ノード1
はそのLLM状態テーブル904(1)を更新して、R
EADモードのトークンAを所有していることを示す。
この状態を図7に示す。
【0046】次に、ノード2および3が読取りモードの
トークンAを取得するための要求を出す。これらの要求
がLCSに届くと、LCSは受け取った順に要求を処理
する。ノード2からの要求がノード3からの要求より先
に届いたと想定すると、LCSはその状態テーブル10
04を調べて、トークンAの項目が存在するかどうかを
判別する。ここでは項目が存在するので、LCSは新し
い要求のモードがトークンの現行モードと両立するかど
うかを検査する。この場合、2つのモードは両立する
(どちらもREADである)。このため、LCSはトー
クンを授与し、トークン項目のコピーセットを更新し、
応答としてOKメッセージをノード2に送る。OKメッ
セージを受け取ると、ノード2はそのLLMテーブルを
更新して、読取りモードのトークンAを所有しているこ
とを示す。次に、LCSはノード3からの要求を処理
し、ノード3にトークンAを授与する。図8は、3つの
ACQUIREトークン要求を処理した後のLLMおよ
びLCSテーブルの状態を示す。
トークンAを取得するための要求を出す。これらの要求
がLCSに届くと、LCSは受け取った順に要求を処理
する。ノード2からの要求がノード3からの要求より先
に届いたと想定すると、LCSはその状態テーブル10
04を調べて、トークンAの項目が存在するかどうかを
判別する。ここでは項目が存在するので、LCSは新し
い要求のモードがトークンの現行モードと両立するかど
うかを検査する。この場合、2つのモードは両立する
(どちらもREADである)。このため、LCSはトー
クンを授与し、トークン項目のコピーセットを更新し、
応答としてOKメッセージをノード2に送る。OKメッ
セージを受け取ると、ノード2はそのLLMテーブルを
更新して、読取りモードのトークンAを所有しているこ
とを示す。次に、LCSはノード3からの要求を処理
し、ノード3にトークンAを授与する。図8は、3つの
ACQUIREトークン要求を処理した後のLLMおよ
びLCSテーブルの状態を示す。
【0047】図9では、ノード1がトークンAに関する
UPGRADEトークン要求を出す。項目に変位中のマ
ークを付けた後で、ノード1はLCSにアップグレード
要求を送る。LCSは、そのテーブルを調べ、ノード2
と3もトークンAに関して未解決の読取りトークンを持
っていることを判別する。そこで、LCSは、そのトー
クン項目に移行中のマークを付け、(ノード2と3を含
む)コピーセットをノード1に返す。ノード1は、トー
クンAの放棄を要求するREVOKEメッセージをノー
ド2および3に送る。REVOKE要求を受け取ると、
ノード2および3はそれぞれのLLMテーブルからトー
クン項目を削除し、応答としてOKメッセージをノード
1に送る。ノード2および3から確認としてOKメッセ
ージを受け取った後で、ノード1は、取消しが正常に完
了したことを示すメッセージをLCSに送る。LCS
は、トークン項目の変位中フラグを消去し、トークンの
状態を更新し、OKメッセージをノード1に返す。OK
メッセージを受け取ると、ノード1は自分のLLMテー
ブル項目の変位中フラグを消去し、その項目を更新す
る。図10は、アップグレード・トークン要求が完了し
た時点のLLMおよびLCSテーブルの状態を示す。
UPGRADEトークン要求を出す。項目に変位中のマ
ークを付けた後で、ノード1はLCSにアップグレード
要求を送る。LCSは、そのテーブルを調べ、ノード2
と3もトークンAに関して未解決の読取りトークンを持
っていることを判別する。そこで、LCSは、そのトー
クン項目に移行中のマークを付け、(ノード2と3を含
む)コピーセットをノード1に返す。ノード1は、トー
クンAの放棄を要求するREVOKEメッセージをノー
ド2および3に送る。REVOKE要求を受け取ると、
ノード2および3はそれぞれのLLMテーブルからトー
クン項目を削除し、応答としてOKメッセージをノード
1に送る。ノード2および3から確認としてOKメッセ
ージを受け取った後で、ノード1は、取消しが正常に完
了したことを示すメッセージをLCSに送る。LCS
は、トークン項目の変位中フラグを消去し、トークンの
状態を更新し、OKメッセージをノード1に返す。OK
メッセージを受け取ると、ノード1は自分のLLMテー
ブル項目の変位中フラグを消去し、その項目を更新す
る。図10は、アップグレード・トークン要求が完了し
た時点のLLMおよびLCSテーブルの状態を示す。
【0048】図11は、LLMおよびLCS間の一連の
メッセージの流れを示す。
メッセージの流れを示す。
【0049】本システムのメッセージ形式を図12に示
す。このメッセージ構造は、(1)LLMまたはLCS
で実行する動作を識別するためのコマンド802a、
(2)要求した動作の対象となるファイルを識別するた
めのファイルID802b、(3)有効であれば、要求
したトークンのモードを識別するためのモード802
c、(4)有効であれば、トークンが有効なファイルの
開始ページ番号を識別するための開始ページ番号802
d、(5)有効であれば、トークンが有効なファイルの
終了ページ番号を識別するための終了ページ番号802
e、(6)有効であれば、競合モードのトークンを持つ
LLMを識別するためのコピーセット802fの各種フ
ィールドで構成される。すべてのメッセージは、要求元
ノード・アドレスと、宛先ノード・アドレスを含む。
す。このメッセージ構造は、(1)LLMまたはLCS
で実行する動作を識別するためのコマンド802a、
(2)要求した動作の対象となるファイルを識別するた
めのファイルID802b、(3)有効であれば、要求
したトークンのモードを識別するためのモード802
c、(4)有効であれば、トークンが有効なファイルの
開始ページ番号を識別するための開始ページ番号802
d、(5)有効であれば、トークンが有効なファイルの
終了ページ番号を識別するための終了ページ番号802
e、(6)有効であれば、競合モードのトークンを持つ
LLMを識別するためのコピーセット802fの各種フ
ィールドで構成される。すべてのメッセージは、要求元
ノード・アドレスと、宛先ノード・アドレスを含む。
【0050】コマンド・フィールド802aに指定でき
る動作としては、ACQUIRE804、UPGRAD
E 806、GIVEUP 808、CHANGE−T
OKEN 810、OK 812、NOT OK 81
4、REVOKE 816、およびDOWNGRADE
818がある。
る動作としては、ACQUIRE804、UPGRAD
E 806、GIVEUP 808、CHANGE−T
OKEN 810、OK 812、NOT OK 81
4、REVOKE 816、およびDOWNGRADE
818がある。
【0051】ACQUIRE 804は、クライアント
が読取りモードまたは書込みモードのトークンの取得を
希望していることを示す、クライアントからサーバへの
メッセージである。このメッセージは、これを取得要求
として識別するためのコマンド(フィールド802
a)、要求したトークンの対象となるファイルを識別す
るためのファイルID(フィールド802b)、読取り
モードまたは書込みモードのどちらのトークンを要求し
たかを識別するためのモード(フィールド802c)、
ファイルIDフィールド802bによって識別されたフ
ァイル内でトークン要求の対象となる開始(先頭)ペー
ジ番号と終了(最終)ページ番号をそれぞれ識別するた
めの範囲(フィールド802dおよび802e)を含
む。このメッセージ・タイプでは、コピーセット・フィ
ールド802fは使用しない。
が読取りモードまたは書込みモードのトークンの取得を
希望していることを示す、クライアントからサーバへの
メッセージである。このメッセージは、これを取得要求
として識別するためのコマンド(フィールド802
a)、要求したトークンの対象となるファイルを識別す
るためのファイルID(フィールド802b)、読取り
モードまたは書込みモードのどちらのトークンを要求し
たかを識別するためのモード(フィールド802c)、
ファイルIDフィールド802bによって識別されたフ
ァイル内でトークン要求の対象となる開始(先頭)ペー
ジ番号と終了(最終)ページ番号をそれぞれ識別するた
めの範囲(フィールド802dおよび802e)を含
む。このメッセージ・タイプでは、コピーセット・フィ
ールド802fは使用しない。
【0052】UPGRADE 806は、クライアント
が特定のファイルに関するトークンについて読取りモー
ドから書込みモードへのアップグレードを希望している
ことを示す、クライアントからサーバへのメッセージで
ある。このメッセージは、これをアップグレード要求と
して識別するためのコマンド(フィールド802a)、
要求したトークン・アップグレードの対象となるファイ
ルを識別するためのファイルID(フィールド802
b)、ファイルIDフィールド802bによって識別さ
れたファイル内でトークン・アップグレード要求の対象
となる開始(先頭)ページ番号と終了(最終)ページ番
号をそれぞれ識別するための範囲(フィールド802d
および802e)を含む。このメッセージ・タイプで
は、モード・フィールド802cおよびコピーセット・
フィールド802fは使用しない。
が特定のファイルに関するトークンについて読取りモー
ドから書込みモードへのアップグレードを希望している
ことを示す、クライアントからサーバへのメッセージで
ある。このメッセージは、これをアップグレード要求と
して識別するためのコマンド(フィールド802a)、
要求したトークン・アップグレードの対象となるファイ
ルを識別するためのファイルID(フィールド802
b)、ファイルIDフィールド802bによって識別さ
れたファイル内でトークン・アップグレード要求の対象
となる開始(先頭)ページ番号と終了(最終)ページ番
号をそれぞれ識別するための範囲(フィールド802d
および802e)を含む。このメッセージ・タイプで
は、モード・フィールド802cおよびコピーセット・
フィールド802fは使用しない。
【0053】GIVEUP(トークンの放棄)808
は、クライアントが特定のファイルまたはファイル内の
特定のページ範囲に関するトークンの放棄を希望してい
る(すなわち、今後はそのファイルに関するトークンの
保有を希望しない)ことを示す、クライアントからサー
バへのメッセージである。このメッセージは、これを放
棄要求として識別するためのコマンド(フィールド80
2a)、要求した放棄の対象となるファイルを識別する
ためのファイルID(フィールド802b)、ファイル
IDフィールド802bによって識別されたファイル内
でトークン放棄要求の対象となる開始(先頭)ページ番
号と終了(最終)ページ番号をそれぞれ識別するための
範囲(フィールド802dおよび802e)を含む。こ
のメッセージ・タイプでは、モード・フィールド802
cおよびコピーセット・フィールド802fは使用しな
い。
は、クライアントが特定のファイルまたはファイル内の
特定のページ範囲に関するトークンの放棄を希望してい
る(すなわち、今後はそのファイルに関するトークンの
保有を希望しない)ことを示す、クライアントからサー
バへのメッセージである。このメッセージは、これを放
棄要求として識別するためのコマンド(フィールド80
2a)、要求した放棄の対象となるファイルを識別する
ためのファイルID(フィールド802b)、ファイル
IDフィールド802bによって識別されたファイル内
でトークン放棄要求の対象となる開始(先頭)ページ番
号と終了(最終)ページ番号をそれぞれ識別するための
範囲(フィールド802dおよび802e)を含む。こ
のメッセージ・タイプでは、モード・フィールド802
cおよびコピーセット・フィールド802fは使用しな
い。
【0054】CHANGE−TOKEN 810は、ク
ライアントがモード変更のためにサーバ側から要求され
た何らかの事前処置をすでに実行し、そのモード変更を
反映するためにロック制御サーバの項目を変更するよう
サーバに要求することを示す、クライアントからサーバ
へのメッセージである。このメッセージは、これをCH
ANGE−TOKEN要求として識別するためのコマン
ド(フィールド802a)、要求したモード変更の対象
となるファイルを識別するためのファイルID(フィー
ルド802b)、新しいモード(読取りまたは書込み)
を示すためのモード(フィールド802c)、ファイル
IDフィールド802bによって識別されたファイル内
でトークン状態変更要求の対象となる開始(先頭)ペー
ジ番号と終了(最終)ページ番号をそれぞれ識別するた
めの範囲(フィールド802dおよび802e)、ファ
イルIDフィールド802bで識別されたファイル内の
ページ範囲(フィールド802dおよび802eで識
別)に対応する新しいコピーセットを指定するためのコ
ピーセット(フィールド802f)を含む。
ライアントがモード変更のためにサーバ側から要求され
た何らかの事前処置をすでに実行し、そのモード変更を
反映するためにロック制御サーバの項目を変更するよう
サーバに要求することを示す、クライアントからサーバ
へのメッセージである。このメッセージは、これをCH
ANGE−TOKEN要求として識別するためのコマン
ド(フィールド802a)、要求したモード変更の対象
となるファイルを識別するためのファイルID(フィー
ルド802b)、新しいモード(読取りまたは書込み)
を示すためのモード(フィールド802c)、ファイル
IDフィールド802bによって識別されたファイル内
でトークン状態変更要求の対象となる開始(先頭)ペー
ジ番号と終了(最終)ページ番号をそれぞれ識別するた
めの範囲(フィールド802dおよび802e)、ファ
イルIDフィールド802bで識別されたファイル内の
ページ範囲(フィールド802dおよび802eで識
別)に対応する新しいコピーセットを指定するためのコ
ピーセット(フィールド802f)を含む。
【0055】OK(肯定応答)812は、第一のノード
からの要求が受け取られ授与されたことを示す、第一の
ノードから第二のノードへのメッセージである。このメ
ッセージは、これを肯定応答として識別するためのコマ
ンド(フィールド802a)、要求に対する肯定応答の
対象となるファイルを識別するためのファイルID(フ
ィールド802b)、ファイルIDフィールド802b
によって識別されたファイル内で肯定応答が適用される
開始(先頭)ページ番号と終了(最終)ページ番号をそ
れぞれ識別するための範囲(フィールド802dおよび
802e)を含む。このメッセージ・タイプでは、モー
ド・フィールド802cおよびコピーセット・フィール
ド802fは使用しない。
からの要求が受け取られ授与されたことを示す、第一の
ノードから第二のノードへのメッセージである。このメ
ッセージは、これを肯定応答として識別するためのコマ
ンド(フィールド802a)、要求に対する肯定応答の
対象となるファイルを識別するためのファイルID(フ
ィールド802b)、ファイルIDフィールド802b
によって識別されたファイル内で肯定応答が適用される
開始(先頭)ページ番号と終了(最終)ページ番号をそ
れぞれ識別するための範囲(フィールド802dおよび
802e)を含む。このメッセージ・タイプでは、モー
ド・フィールド802cおよびコピーセット・フィール
ド802fは使用しない。
【0056】NOT OK(否定応答)814は、クラ
イアントからの要求が授与されなかったことを示す、サ
ーバからクライアントへのメッセージである。このメッ
セージは、これを否定応答として識別するためのコマン
ド(フィールド802a)、トークン・クライアント要
求に対する否定の対象となるファイルを識別するための
ファイルID(フィールド802b)、ファイルIDフ
ィールド802bによって指定されたファイル内の対象
ページ(範囲フィールド802dおよび802eで指
定)の現行トークン・モードを識別するためのモード
(フィールド802c)、ファイルIDフィールド80
2bによって識別されたファイル内で否定応答が適用さ
れる開始(先頭)ページ番号と終了(最終)ページ番号
をそれぞれ識別するための範囲(フィールド802dお
よび802e)、モード・フィールド802cで指定さ
れたトークン・モードを持つノードを識別するためのコ
ピーセット(フィールド802f)を含む。
イアントからの要求が授与されなかったことを示す、サ
ーバからクライアントへのメッセージである。このメッ
セージは、これを否定応答として識別するためのコマン
ド(フィールド802a)、トークン・クライアント要
求に対する否定の対象となるファイルを識別するための
ファイルID(フィールド802b)、ファイルIDフ
ィールド802bによって指定されたファイル内の対象
ページ(範囲フィールド802dおよび802eで指
定)の現行トークン・モードを識別するためのモード
(フィールド802c)、ファイルIDフィールド80
2bによって識別されたファイル内で否定応答が適用さ
れる開始(先頭)ページ番号と終了(最終)ページ番号
をそれぞれ識別するための範囲(フィールド802dお
よび802e)、モード・フィールド802cで指定さ
れたトークン・モードを持つノードを識別するためのコ
ピーセット(フィールド802f)を含む。
【0057】REVOKE 816は、第二のクライア
ントが特定のファイルまたはファイル内の特定のページ
範囲に関するトークンを放棄するよう要求する、第一の
クライアントから第二のクライアントへのメッセージで
ある。このメッセージは、これを取消し要求として識別
するためのコマンド(フィールド802a)、要求した
取消しの対象となるファイルを識別するためのファイル
ID(フィールド802b)、ロック制御サーバ側でト
ークンの現在のモードを識別するためのモード(フィー
ルド802c)、ファイルIDフィールド802bによ
って識別されたファイル内でトークン取消し要求の対象
となる開始(先頭)ページ番号と終了(最終)ページ番
号をそれぞれ識別するための範囲(フィールド802d
および802e)を含む。このメッセージ・タイプで
は、コピーセット・フィールド802fは使用しない。
ントが特定のファイルまたはファイル内の特定のページ
範囲に関するトークンを放棄するよう要求する、第一の
クライアントから第二のクライアントへのメッセージで
ある。このメッセージは、これを取消し要求として識別
するためのコマンド(フィールド802a)、要求した
取消しの対象となるファイルを識別するためのファイル
ID(フィールド802b)、ロック制御サーバ側でト
ークンの現在のモードを識別するためのモード(フィー
ルド802c)、ファイルIDフィールド802bによ
って識別されたファイル内でトークン取消し要求の対象
となる開始(先頭)ページ番号と終了(最終)ページ番
号をそれぞれ識別するための範囲(フィールド802d
および802e)を含む。このメッセージ・タイプで
は、コピーセット・フィールド802fは使用しない。
【0058】DOWNGRADE 818は、第二のク
ライアントが特定のファイルまたはファイル内の特定の
ページ範囲に関するトークンを書込みモードから読取り
モードへダウングレードするよう要求する、第一のクラ
イアントから第二のクライアントへのメッセージであ
る。このメッセージは、これをダウングレード要求とし
て識別するためのコマンド(フィールド802a)、要
求したダウングレードの対象となるファイルを識別する
ためのファイルID(フィールド802b)、ロック制
御サーバ側でトークンの現在のモードを識別するための
モード(フィールド802c)、ファイルIDフィール
ド802bによって識別されたファイル内でトークン・
ダウングレード要求の対象となる開始(先頭)ページ番
号と終了(最終)ページ番号をそれぞれ識別するための
範囲(フィールド802dおよび802e)を含む。こ
のメッセージ・タイプでは、コピーセット・フィールド
802fは使用しない。
ライアントが特定のファイルまたはファイル内の特定の
ページ範囲に関するトークンを書込みモードから読取り
モードへダウングレードするよう要求する、第一のクラ
イアントから第二のクライアントへのメッセージであ
る。このメッセージは、これをダウングレード要求とし
て識別するためのコマンド(フィールド802a)、要
求したダウングレードの対象となるファイルを識別する
ためのファイルID(フィールド802b)、ロック制
御サーバ側でトークンの現在のモードを識別するための
モード(フィールド802c)、ファイルIDフィール
ド802bによって識別されたファイル内でトークン・
ダウングレード要求の対象となる開始(先頭)ページ番
号と終了(最終)ページ番号をそれぞれ識別するための
範囲(フィールド802dおよび802e)を含む。こ
のメッセージ・タイプでは、コピーセット・フィールド
802fは使用しない。
【0059】実施例を使用して本発明を説明してきた
が、当業者は各種の変更態様および改良態様を思いつく
だろう。したがって、実施例は例として示したもので、
限定のために示したものではないことに留意されたい。
が、当業者は各種の変更態様および改良態様を思いつく
だろう。したがって、実施例は例として示したもので、
限定のために示したものではないことに留意されたい。
【0060】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0061】(1)1つまたは複数の連結プロセッサを
含む処理複合体で実行される2つまたはそれ以上のデー
タマネージャによって制御された共用データへのアクセ
ス権を有する複数のプロセスによる共用データ資源への
アクセスを管理するためのロック装置において、前記装
置が a)共用データ資源に関連するロック制御サーバであっ
て、前記ロック制御サーバが i)共用データ資源のデータ・オブジェクトのロック制
御状況を記録するためのテーブル手段と、 ii)データ・オブジェクトに関して要求されたロック
に応じて、データ・オブジェクトの競合ロック状況を報
告するための手段とを含むロック制御サーバと、 b)複数のロック・マネージャであって、前記ロック・
マネージャのそれぞれが i)データ・オブジェクトに関して指定モードのロック
制御をロック制御サーバから授与するよう要求し、授与
されない場合は、データ・オブジェクトに関して競合す
る制御権を持つロック・マネージャのリストを受け取る
ための手段と、 ii)データ・オブジェクトに関して競合する制御権の
放棄を他のロック・マネージャに要求し、他のロック・
マネージャから肯定応答を受け取るための手段と、 iii)このロック・マネージャがデータ・オブジェク
トに関して指定モードのロック制御権を持っていること
を反映するために、前記テーブル手段を更新するようロ
ック制御サーバに要求するための手段と、 iv)データ・オブジェクトに関する適切なモードのロ
ック制御をロック制御サーバから取得した後で、データ
・オブジェクトに関して指定モードのロックをローカル
で授与するための手段とを含むロック・マネージャとを
含むロック装置。 (2)それぞれが専用のオペレーティング・システムの
制御下にある複数のデータ処理ノードが通信ネットワー
クによって結合され、処理ノードの少なくとも一部が共
用資源へのアクセスを制御するマルチコンピュータ・シ
ステムで使用するためのロック装置において、前記ロッ
ク装置が a)共用資源を所有する各処理ノードに関連するロック
制御サーバであって、前記ロック制御サーバが i)共用資源のデータ・オブジェクトのロック制御状況
を記録するためのテーブル手段と、 ii)データ・オブジェクトに関して要求されたロック
に応じて、データ・オブジェクトの競合ロック状況を報
告するための手段とを含むロック制御サーバと、 b)複数のロック・マネージャであって、前記ロック・
マネージャのそれぞれが別のノードによってアクセスが
制御されるデータ・オブジェクトへのアクセスを要求す
る1つのノードに関連し、さらに前記ロック・マネージ
ャのそれぞれが i)データ・オブジェクトに関して指定モードのロック
制御をロック制御サーバから授与するよう要求し、授与
されない場合は、データ・オブジェクトに関して競合す
る制御権を持つロック・マネージャのリストを受け取る
ための手段と、 ii)データ・オブジェクトに関して競合する制御権の
放棄を他のロック・マネージャに要求し、他のロック・
マネージャから肯定応答を受け取るための手段と、 iii)データ・オブジェクトに関する適切なモードの
ロック制御をロック制御サーバから取得した後で、デー
タ・オブジェクトに関して指定モードのロックをローカ
ルで授与するための手段とを含むロック・マネージャと
を含むロック装置。 (3)それぞれのノードがロック状態テーブルを含み、
そのロック状態テーブルがノードが把握しているロック
ごとに項目を1つずつ含み、それぞれの項目がロックさ
れている共用資源を識別するためのトークンIDフィー
ルドと、ロックのモードを示すモード・フィールドと、
そのノードで実行中のプロセスがデータ・オブジェクト
に関するロックを持っているかどうかを示すロック・ビ
ット・フィールドとを含むことを特徴とする、上記
(2)に記載の装置。 (4)データ・オブジェクトに関するロック制御を取得
した後で、別のノードによってアクセスが制御されるデ
ータ・オブジェクトに関するロックをノードによってロ
ーカルで授与するための手段をさらに含むことを特徴と
する、上記(2)に記載の装置。 (5)それぞれが専用のオペレーティング・システムの
制御下にある複数のデータ処理ノードが通信ネットワー
クによって結合され、処理ノードの少なくとも1つがそ
の中に複数のデータ・オブジェクトが格納されている共
用資源へのアクセスを制御するマルチコンピュータ・シ
ステムのクライアント・ノードで使用するためのロック
装置において、前記ロック装置がクライアント・ノード
で実行中のプロセスから指定のデータ・オブジェクトに
関するロック要求を受け取るための要求受取り手段と、
データ・オブジェクトの現在のロック状態を判別するた
めのロック状態判別手段と、現在のロック状態がロック
要求と両立するかどうかを判別するためのロック比較手
段と、現在のロック状態が要求されたロックと両立しな
いというロック比較手段による判別に対する応答とし
て、別のノードが両立しないロックを放棄し、放棄が完
了したときに肯定応答を行うよう要求するメッセージを
クライアント・ノードからロックを有する別のノードに
ネットワーク上で送るためのロック要求生成手段と、ネ
ットワークからの応答を分析し、別のノードからの肯定
応答に対する応答として、そのノードが指定のデータ・
オブジェクトに関するロックを持っていることを示すた
めにロック状態を更新するための更新手段とを含むロッ
ク装置。 (6)ノードが所有していないデータ・オブジェクトの
少なくとも一部について現在のロック状態を格納するた
めのロック状態格納手段をさらに含み、ロック比較手段
が、ロック要求に対する応答として、要求されたロック
状態とロック状態格納手段に格納された現在のロック状
態とを比較し、データ・オブジェクト・ロック要求と両
立する現在のロック状態がロック状態格納手段に格納さ
れているかどうかを示すための手段を含むことを特徴と
する、上記(5)に記載のロック装置。 (7)ロック要求手段に連結されたファイル所有者ディ
レクトリをさらに含み、ファイル所有者ディレクトリが
システム内の共用資源とその資源のそれぞれの所有者の
リストを含むことを特徴とする、上記(5)に記載のロ
ック装置。 (8)それぞれが専用のオペレーティング・システムの
制御下にある複数のデータ処理ノードが通信ネットワー
クによって結合され、少なくとも1つのサーバが共用資
源へのアクセスを制御するマルチコンピュータ・システ
ムにおいて、共用データ資源のデータ・オブジェクトの
ロック制御状況をサーバ側で記録するステップと、特定
のデータ・オブジェクトに関して指定のモードのロック
制御を授与するよう第一のノードが要求するステップ
と、データ・オブジェクトに関して要求されたロックに
対する応答として、データ・オブジェクトの競合ロック
状況を有するノードのリストをサーバ側が報告するステ
ップと、リストの受取りに対する応答として、リストに
記載されている他のノードがデータ・オブジェクトに関
して競合する制御権を放棄するよう第一のノードが要求
するステップと、競合する制御権を放棄したという他の
ノードからの肯定応答に対する応答として、第一のノー
ドがデータ・オブジェクトに関して特定のモードのロッ
ク制御を持っていることを反映するために、サーバがロ
ック制御状況を更新するよう第一のノードが要求するス
テップとを含むロック方法。 (9)データ・オブジェクトに関するロック制御を取得
した後で、データ・オブジェクトに関して第一のノード
がローカルでロックを授与するステップをさらに含むこ
とを特徴とする、上記(8)に記載の方法。 (10)少なくとも1つのプロセッサ上で実行中の2つ
またはそれ以上のプロセスによって共用されるデータ・
オブジェクトに関するロック要求の細分性を判別するた
めの方法において、ロックが必要な特定のデータ・オブ
ジェクトを識別するステップと、(a)データ・オブジ
ェクトがディレクトリ・タイプのファイルかどうかを判
別するステップと、(b)データ・オブジェクトが所定
のサイズより小さいかどうかを判別するステップと、
(c)データ・オブジェクトの先頭ページへのアクセス
が必要かどうかを判別するステップと、(d)そのアク
セスが前のアクセスに連続するものかどうかを判別する
ステップと、(e)そのアクセスが所定のページ数を超
えるページ数へのアクセスかどうかを判別するステップ
と、(f)ステップ(a)、(b)、(c)、(d)、
および(e)のいずれかに対して肯定応答が得られたと
きに、データ・オブジェクト全体に関するロックを要求
し、肯定応答が得られなかったときに、アクセス対象の
特定のページに関するロックを要求するステップとを含
む方法。 (11)少なくとも1つのプロセッサ上で実行中の2つ
またはそれ以上のプロセスによって共用されるデータ・
オブジェクトに関するロック要求の細分性を判別するた
めのシステムにおいて、ロックが必要な特定のデータ・
オブジェクトを識別するためのプロセス手段と、識別用
の手段に結合され、要求対象のロックの細分性を判別す
るための細分性手段であって、データ・オブジェクトが
ディレクトリ・タイプのファイルかどうか、データ・オ
ブジェクトのサイズ、データ・オブジェクトの先頭ペー
ジへのアクセスが必要かどうか、そのアクセスが前のア
クセスに連続するものかどうか、およびそのアクセスが
所定のページ数を超えるページ数へのアクセスかどうか
に応じて細分性を判別する細分性手段と、細分性手段に
結合され、細分性手段によって指定されたデータ・オブ
ジェクトの特定ページに関するロックを要求するための
ロック要求手段とを含むシステム。 (12)ロック要求手段が、データ・オブジェクトの現
在のロック状態を判別するためのロック状態判別手段
と、現在のロック状態がロック要求と両立するかどうか
を判別するためのロック比較手段と、現在のロック状態
が要求されたロックと両立しないというロック比較手段
による判別に対する応答として、ロックを有する別のノ
ードが両立しないロックを放棄し、放棄が完了したとき
に肯定応答するよう要求するメッセージをその別のノー
ドにネットワーク上で送るためのロック要求生成手段
と、ネットワークからの応答を分析し、別のノードから
の肯定応答に対する応答として、ノードが指定のデータ
・オブジェクトに関するロックを持っていることを示す
ためにロック状態を更新するための更新手段とを含むこ
とを特徴とする、上記(11)に記載のシステム。 (13)少なくとも1つのプロセッサ上で実行中の2つ
またはそれ以上のプロセスによって共用されるデータ・
オブジェクトに関するロック要求の細分性を判別するた
めのシステムにおいて、ロックが必要な特定のデータ・
オブジェクトを識別するためのプロセス手段と、識別用
の手段に結合され、要求対象のロックの細分性を判別す
るための細分性手段であって、1組のヒューリスティッ
クな規則に応じて細分性を判別する細分性手段と、細分
性手段に結合され、細分性手段によって指定されたデー
タ・オブジェクトの特定ページに関するロックを要求す
るためのロック要求手段とを含むシステム。 (14)1組のヒューリスティックな規則が、データ・
オブジェクトの属性と、要求されたアクセスの属性に適
用されることを特徴とする、上記(13)に記載のシス
テム。 (15)要求されたアクセスの属性が、データ・オブジ
ェクトの先頭ページへのアクセスが必要かどうか、アク
セスが前のアクセスに連続するものかどうか、およびア
クセスが所定のページ数を超えるページ数へのアクセス
かどうかを含むことを特徴とする、上記(14)に記載
のシステム。 (16)データ・オブジェクトの属性が、データ・オブ
ジェクトがディレクトリ・タイプのファイルかどうかお
よびデータ・オブジェクトのサイズを含むことを特徴と
する、上記(14)に記載のシステム。 (17)それぞれが専用のオペレーティング・システム
の制御下にある複数のデータ処理ノードが通信ネットワ
ークによって結合され、少なくとも1つのサーバが共用
資源へのアクセスを制御するマルチコンピュータ・シス
テムにおいて、共用データ資源のデータ・オブジェクト
のロック制御状況をサーバ側で記録するステップと、ロ
ックが必要なデータ・オブジェクトを識別するステップ
と、データ・オブジェクトのロック要求対象部分を判別
するステップと、データ・オブジェクトのロック対象部
分に関して指定のモードのロック制御を授与するよう第
一のノードが要求するステップと、データ・オブジェク
トに関して要求されたロックに対する応答として、デー
タ・オブジェクトの競合ロック状況を有するノードのリ
ストをサーバ側が報告するステップと、リストの受取り
に対する応答として、リストに記載されている他のノー
ドがデータ・オブジェクトに関して競合する制御権を放
棄するよう第一のノードが要求するステップと、競合す
る制御権を放棄したという他のノードからの肯定応答に
対する応答として、第一のノードがデータ・オブジェク
トに関して特定のモードのロック制御を持っていること
を反映するために、サーバがロック制御状況を更新する
よう第一のノードが要求するステップとを含むロック方
法。 (18)判別ステップが、データ・オブジェクトの属性
と、要求されたデータ・オブジェクトへのアクセスの特
性とに1組のヒューリスティックな規則を適用するステ
ップを含むことを特徴とする、上記(17)に記載の方
法。 (19)1組のヒューリスティックな規則を適用するス
テップが、データ・オブジェクトの先頭ページへのアク
セスが必要かどうか、アクセスが前のアクセスに連続す
るものかどうか、およびアクセスが所定のページ数を超
えるページ数へのアクセスかどうかを判別するステップ
を含むことを特徴とする、上記(15)に記載の方法。 (20)判別ステップが、(a)データ・オブジェクト
がディレクトリ・タイプのファイルかどうかを判別する
ステップと、(b)データ・オブジェクトが所定のサイ
ズより小さいかどうかを判別するステップと、(c)デ
ータ・オブジェクトの先頭ページへのアクセスが必要か
どうかを判別するステップと、(d)そのアクセスが前
のアクセスに連続するものかどうかを判別するステップ
と、(e)そのアクセスが所定のページ数を超えるペー
ジ数へのアクセスかどうかを判別するステップと、
(f)ステップ(a)、(b)、(c)、(d)、およ
び(e)のいずれかに対して肯定応答が得られたとき
に、データ・オブジェクト全体に関するロックを要求
し、肯定応答が得られなかったときに、アクセス対象の
特定のページに関するロックを要求するステップとを含
むことを特徴とする、上記(17)に記載の方法。
含む処理複合体で実行される2つまたはそれ以上のデー
タマネージャによって制御された共用データへのアクセ
ス権を有する複数のプロセスによる共用データ資源への
アクセスを管理するためのロック装置において、前記装
置が a)共用データ資源に関連するロック制御サーバであっ
て、前記ロック制御サーバが i)共用データ資源のデータ・オブジェクトのロック制
御状況を記録するためのテーブル手段と、 ii)データ・オブジェクトに関して要求されたロック
に応じて、データ・オブジェクトの競合ロック状況を報
告するための手段とを含むロック制御サーバと、 b)複数のロック・マネージャであって、前記ロック・
マネージャのそれぞれが i)データ・オブジェクトに関して指定モードのロック
制御をロック制御サーバから授与するよう要求し、授与
されない場合は、データ・オブジェクトに関して競合す
る制御権を持つロック・マネージャのリストを受け取る
ための手段と、 ii)データ・オブジェクトに関して競合する制御権の
放棄を他のロック・マネージャに要求し、他のロック・
マネージャから肯定応答を受け取るための手段と、 iii)このロック・マネージャがデータ・オブジェク
トに関して指定モードのロック制御権を持っていること
を反映するために、前記テーブル手段を更新するようロ
ック制御サーバに要求するための手段と、 iv)データ・オブジェクトに関する適切なモードのロ
ック制御をロック制御サーバから取得した後で、データ
・オブジェクトに関して指定モードのロックをローカル
で授与するための手段とを含むロック・マネージャとを
含むロック装置。 (2)それぞれが専用のオペレーティング・システムの
制御下にある複数のデータ処理ノードが通信ネットワー
クによって結合され、処理ノードの少なくとも一部が共
用資源へのアクセスを制御するマルチコンピュータ・シ
ステムで使用するためのロック装置において、前記ロッ
ク装置が a)共用資源を所有する各処理ノードに関連するロック
制御サーバであって、前記ロック制御サーバが i)共用資源のデータ・オブジェクトのロック制御状況
を記録するためのテーブル手段と、 ii)データ・オブジェクトに関して要求されたロック
に応じて、データ・オブジェクトの競合ロック状況を報
告するための手段とを含むロック制御サーバと、 b)複数のロック・マネージャであって、前記ロック・
マネージャのそれぞれが別のノードによってアクセスが
制御されるデータ・オブジェクトへのアクセスを要求す
る1つのノードに関連し、さらに前記ロック・マネージ
ャのそれぞれが i)データ・オブジェクトに関して指定モードのロック
制御をロック制御サーバから授与するよう要求し、授与
されない場合は、データ・オブジェクトに関して競合す
る制御権を持つロック・マネージャのリストを受け取る
ための手段と、 ii)データ・オブジェクトに関して競合する制御権の
放棄を他のロック・マネージャに要求し、他のロック・
マネージャから肯定応答を受け取るための手段と、 iii)データ・オブジェクトに関する適切なモードの
ロック制御をロック制御サーバから取得した後で、デー
タ・オブジェクトに関して指定モードのロックをローカ
ルで授与するための手段とを含むロック・マネージャと
を含むロック装置。 (3)それぞれのノードがロック状態テーブルを含み、
そのロック状態テーブルがノードが把握しているロック
ごとに項目を1つずつ含み、それぞれの項目がロックさ
れている共用資源を識別するためのトークンIDフィー
ルドと、ロックのモードを示すモード・フィールドと、
そのノードで実行中のプロセスがデータ・オブジェクト
に関するロックを持っているかどうかを示すロック・ビ
ット・フィールドとを含むことを特徴とする、上記
(2)に記載の装置。 (4)データ・オブジェクトに関するロック制御を取得
した後で、別のノードによってアクセスが制御されるデ
ータ・オブジェクトに関するロックをノードによってロ
ーカルで授与するための手段をさらに含むことを特徴と
する、上記(2)に記載の装置。 (5)それぞれが専用のオペレーティング・システムの
制御下にある複数のデータ処理ノードが通信ネットワー
クによって結合され、処理ノードの少なくとも1つがそ
の中に複数のデータ・オブジェクトが格納されている共
用資源へのアクセスを制御するマルチコンピュータ・シ
ステムのクライアント・ノードで使用するためのロック
装置において、前記ロック装置がクライアント・ノード
で実行中のプロセスから指定のデータ・オブジェクトに
関するロック要求を受け取るための要求受取り手段と、
データ・オブジェクトの現在のロック状態を判別するた
めのロック状態判別手段と、現在のロック状態がロック
要求と両立するかどうかを判別するためのロック比較手
段と、現在のロック状態が要求されたロックと両立しな
いというロック比較手段による判別に対する応答とし
て、別のノードが両立しないロックを放棄し、放棄が完
了したときに肯定応答を行うよう要求するメッセージを
クライアント・ノードからロックを有する別のノードに
ネットワーク上で送るためのロック要求生成手段と、ネ
ットワークからの応答を分析し、別のノードからの肯定
応答に対する応答として、そのノードが指定のデータ・
オブジェクトに関するロックを持っていることを示すた
めにロック状態を更新するための更新手段とを含むロッ
ク装置。 (6)ノードが所有していないデータ・オブジェクトの
少なくとも一部について現在のロック状態を格納するた
めのロック状態格納手段をさらに含み、ロック比較手段
が、ロック要求に対する応答として、要求されたロック
状態とロック状態格納手段に格納された現在のロック状
態とを比較し、データ・オブジェクト・ロック要求と両
立する現在のロック状態がロック状態格納手段に格納さ
れているかどうかを示すための手段を含むことを特徴と
する、上記(5)に記載のロック装置。 (7)ロック要求手段に連結されたファイル所有者ディ
レクトリをさらに含み、ファイル所有者ディレクトリが
システム内の共用資源とその資源のそれぞれの所有者の
リストを含むことを特徴とする、上記(5)に記載のロ
ック装置。 (8)それぞれが専用のオペレーティング・システムの
制御下にある複数のデータ処理ノードが通信ネットワー
クによって結合され、少なくとも1つのサーバが共用資
源へのアクセスを制御するマルチコンピュータ・システ
ムにおいて、共用データ資源のデータ・オブジェクトの
ロック制御状況をサーバ側で記録するステップと、特定
のデータ・オブジェクトに関して指定のモードのロック
制御を授与するよう第一のノードが要求するステップ
と、データ・オブジェクトに関して要求されたロックに
対する応答として、データ・オブジェクトの競合ロック
状況を有するノードのリストをサーバ側が報告するステ
ップと、リストの受取りに対する応答として、リストに
記載されている他のノードがデータ・オブジェクトに関
して競合する制御権を放棄するよう第一のノードが要求
するステップと、競合する制御権を放棄したという他の
ノードからの肯定応答に対する応答として、第一のノー
ドがデータ・オブジェクトに関して特定のモードのロッ
ク制御を持っていることを反映するために、サーバがロ
ック制御状況を更新するよう第一のノードが要求するス
テップとを含むロック方法。 (9)データ・オブジェクトに関するロック制御を取得
した後で、データ・オブジェクトに関して第一のノード
がローカルでロックを授与するステップをさらに含むこ
とを特徴とする、上記(8)に記載の方法。 (10)少なくとも1つのプロセッサ上で実行中の2つ
またはそれ以上のプロセスによって共用されるデータ・
オブジェクトに関するロック要求の細分性を判別するた
めの方法において、ロックが必要な特定のデータ・オブ
ジェクトを識別するステップと、(a)データ・オブジ
ェクトがディレクトリ・タイプのファイルかどうかを判
別するステップと、(b)データ・オブジェクトが所定
のサイズより小さいかどうかを判別するステップと、
(c)データ・オブジェクトの先頭ページへのアクセス
が必要かどうかを判別するステップと、(d)そのアク
セスが前のアクセスに連続するものかどうかを判別する
ステップと、(e)そのアクセスが所定のページ数を超
えるページ数へのアクセスかどうかを判別するステップ
と、(f)ステップ(a)、(b)、(c)、(d)、
および(e)のいずれかに対して肯定応答が得られたと
きに、データ・オブジェクト全体に関するロックを要求
し、肯定応答が得られなかったときに、アクセス対象の
特定のページに関するロックを要求するステップとを含
む方法。 (11)少なくとも1つのプロセッサ上で実行中の2つ
またはそれ以上のプロセスによって共用されるデータ・
オブジェクトに関するロック要求の細分性を判別するた
めのシステムにおいて、ロックが必要な特定のデータ・
オブジェクトを識別するためのプロセス手段と、識別用
の手段に結合され、要求対象のロックの細分性を判別す
るための細分性手段であって、データ・オブジェクトが
ディレクトリ・タイプのファイルかどうか、データ・オ
ブジェクトのサイズ、データ・オブジェクトの先頭ペー
ジへのアクセスが必要かどうか、そのアクセスが前のア
クセスに連続するものかどうか、およびそのアクセスが
所定のページ数を超えるページ数へのアクセスかどうか
に応じて細分性を判別する細分性手段と、細分性手段に
結合され、細分性手段によって指定されたデータ・オブ
ジェクトの特定ページに関するロックを要求するための
ロック要求手段とを含むシステム。 (12)ロック要求手段が、データ・オブジェクトの現
在のロック状態を判別するためのロック状態判別手段
と、現在のロック状態がロック要求と両立するかどうか
を判別するためのロック比較手段と、現在のロック状態
が要求されたロックと両立しないというロック比較手段
による判別に対する応答として、ロックを有する別のノ
ードが両立しないロックを放棄し、放棄が完了したとき
に肯定応答するよう要求するメッセージをその別のノー
ドにネットワーク上で送るためのロック要求生成手段
と、ネットワークからの応答を分析し、別のノードから
の肯定応答に対する応答として、ノードが指定のデータ
・オブジェクトに関するロックを持っていることを示す
ためにロック状態を更新するための更新手段とを含むこ
とを特徴とする、上記(11)に記載のシステム。 (13)少なくとも1つのプロセッサ上で実行中の2つ
またはそれ以上のプロセスによって共用されるデータ・
オブジェクトに関するロック要求の細分性を判別するた
めのシステムにおいて、ロックが必要な特定のデータ・
オブジェクトを識別するためのプロセス手段と、識別用
の手段に結合され、要求対象のロックの細分性を判別す
るための細分性手段であって、1組のヒューリスティッ
クな規則に応じて細分性を判別する細分性手段と、細分
性手段に結合され、細分性手段によって指定されたデー
タ・オブジェクトの特定ページに関するロックを要求す
るためのロック要求手段とを含むシステム。 (14)1組のヒューリスティックな規則が、データ・
オブジェクトの属性と、要求されたアクセスの属性に適
用されることを特徴とする、上記(13)に記載のシス
テム。 (15)要求されたアクセスの属性が、データ・オブジ
ェクトの先頭ページへのアクセスが必要かどうか、アク
セスが前のアクセスに連続するものかどうか、およびア
クセスが所定のページ数を超えるページ数へのアクセス
かどうかを含むことを特徴とする、上記(14)に記載
のシステム。 (16)データ・オブジェクトの属性が、データ・オブ
ジェクトがディレクトリ・タイプのファイルかどうかお
よびデータ・オブジェクトのサイズを含むことを特徴と
する、上記(14)に記載のシステム。 (17)それぞれが専用のオペレーティング・システム
の制御下にある複数のデータ処理ノードが通信ネットワ
ークによって結合され、少なくとも1つのサーバが共用
資源へのアクセスを制御するマルチコンピュータ・シス
テムにおいて、共用データ資源のデータ・オブジェクト
のロック制御状況をサーバ側で記録するステップと、ロ
ックが必要なデータ・オブジェクトを識別するステップ
と、データ・オブジェクトのロック要求対象部分を判別
するステップと、データ・オブジェクトのロック対象部
分に関して指定のモードのロック制御を授与するよう第
一のノードが要求するステップと、データ・オブジェク
トに関して要求されたロックに対する応答として、デー
タ・オブジェクトの競合ロック状況を有するノードのリ
ストをサーバ側が報告するステップと、リストの受取り
に対する応答として、リストに記載されている他のノー
ドがデータ・オブジェクトに関して競合する制御権を放
棄するよう第一のノードが要求するステップと、競合す
る制御権を放棄したという他のノードからの肯定応答に
対する応答として、第一のノードがデータ・オブジェク
トに関して特定のモードのロック制御を持っていること
を反映するために、サーバがロック制御状況を更新する
よう第一のノードが要求するステップとを含むロック方
法。 (18)判別ステップが、データ・オブジェクトの属性
と、要求されたデータ・オブジェクトへのアクセスの特
性とに1組のヒューリスティックな規則を適用するステ
ップを含むことを特徴とする、上記(17)に記載の方
法。 (19)1組のヒューリスティックな規則を適用するス
テップが、データ・オブジェクトの先頭ページへのアク
セスが必要かどうか、アクセスが前のアクセスに連続す
るものかどうか、およびアクセスが所定のページ数を超
えるページ数へのアクセスかどうかを判別するステップ
を含むことを特徴とする、上記(15)に記載の方法。 (20)判別ステップが、(a)データ・オブジェクト
がディレクトリ・タイプのファイルかどうかを判別する
ステップと、(b)データ・オブジェクトが所定のサイ
ズより小さいかどうかを判別するステップと、(c)デ
ータ・オブジェクトの先頭ページへのアクセスが必要か
どうかを判別するステップと、(d)そのアクセスが前
のアクセスに連続するものかどうかを判別するステップ
と、(e)そのアクセスが所定のページ数を超えるペー
ジ数へのアクセスかどうかを判別するステップと、
(f)ステップ(a)、(b)、(c)、(d)、およ
び(e)のいずれかに対して肯定応答が得られたとき
に、データ・オブジェクト全体に関するロックを要求
し、肯定応答が得られなかったときに、アクセス対象の
特定のページに関するロックを要求するステップとを含
むことを特徴とする、上記(17)に記載の方法。
【図1】本発明での使用に適した密結合システムを示す
図である。
図である。
【図2】本システムのトークン細分性タスクの流れ図で
ある。
ある。
【図3】本システムのローカル・ロック・マネージャの
ロック要求タスクの流れ図である。
ロック要求タスクの流れ図である。
【図4】LCSによるACQUIREおよびUPGRA
DE要求処理の流れ図である。
DE要求処理の流れ図である。
【図5】LCSによるCHANGE−TOKEN要求処
理の流れ図である。
理の流れ図である。
【図6】一連のトークン要求によるLLMおよびLCS
テーブルの状態変化を示す図である。
テーブルの状態変化を示す図である。
【図7】一連のトークン要求によるLLMおよびLCS
テーブルの状態変化を示す図である。
テーブルの状態変化を示す図である。
【図8】一連のトークン要求によるLLMおよびLCS
テーブルの状態変化を示す図である。
テーブルの状態変化を示す図である。
【図9】一連のトークン要求によるLLMおよびLCS
テーブルの状態変化を示す図である。
テーブルの状態変化を示す図である。
【図10】一連のトークン要求によるLLMおよびLC
Sテーブルの状態変化を示す図である。
Sテーブルの状態変化を示す図である。
【図11】LLMおよびLCS間の一連のメッセージの
流れを示す図である。
流れを示す図である。
【図12】本システムのメッセージ形式を示す図であ
る。
る。
【図13】LLMの機能ブロック図である。
【図14】LCSの機能ブロック図である。
102 処理ノード 104 処理ノード 106 処理ノード 108 処理ノード 110 通信ネットワーク 112 ロック制御サーバ 114 ローカル・ロック・マネージャ 116 共用ファイル 904 LLMロック状態テーブル 1004 LCSロック状態テーブル
フロントページの続き (72)発明者 アジャイ・モヒンドラ アメリカ合衆国10591 ニューヨーク州タ リータウン サウス・ブロードウェイ ナ ンバー・シックス・ビー 240
Claims (20)
- 【請求項1】1つまたは複数の連結プロセッサを含む処
理複合体で実行される2つまたはそれ以上のデータマネ
ージャによって制御された共用データへのアクセス権を
有する複数のプロセスによる共用データ資源へのアクセ
スを管理するためのロック装置において、前記装置が a)共用データ資源に関連するロック制御サーバであっ
て、前記ロック制御サーバが i)共用データ資源のデータ・オブジェクトのロック制
御状況を記録するためのテーブル手段と、 ii)データ・オブジェクトに関して要求されたロック
に応じて、データ・オブジェクトの競合ロック状況を報
告するための手段とを含むロック制御サーバと、 b)複数のロック・マネージャであって、前記ロック・
マネージャのそれぞれが i)データ・オブジェクトに関して指定モードのロック
制御をロック制御サーバから授与するよう要求し、授与
されない場合は、データ・オブジェクトに関して競合す
る制御権を持つロック・マネージャのリストを受け取る
ための手段と、 ii)データ・オブジェクトに関して競合する制御権の
放棄を他のロック・マネージャに要求し、他のロック・
マネージャから肯定応答を受け取るための手段と、 iii)このロック・マネージャがデータ・オブジェク
トに関して指定モードのロック制御権を持っていること
を反映するために、前記テーブル手段を更新するようロ
ック制御サーバに要求するための手段と、 iv)データ・オブジェクトに関する適切なモードのロ
ック制御をロック制御サーバから取得した後で、データ
・オブジェクトに関して指定モードのロックをローカル
で授与するための手段とを含むロック・マネージャとを
含むロック装置。 - 【請求項2】それぞれが専用のオペレーティング・シス
テムの制御下にある複数のデータ処理ノードが通信ネッ
トワークによって結合され、処理ノードの少なくとも一
部が共用資源へのアクセスを制御するマルチコンピュー
タ・システムで使用するためのロック装置において、前
記ロック装置が a)共用資源を所有する各処理ノードに関連するロック
制御サーバであって、前記ロック制御サーバが i)共用資源のデータ・オブジェクトのロック制御状況
を記録するためのテーブル手段と、 ii)データ・オブジェクトに関して要求されたロック
に応じて、データ・オブジェクトの競合ロック状況を報
告するための手段とを含むロック制御サーバと、 b)複数のロック・マネージャであって、前記ロック・
マネージャのそれぞれが別のノードによってアクセスが
制御されるデータ・オブジェクトへのアクセスを要求す
る1つのノードに関連し、さらに前記ロック・マネージ
ャのそれぞれが i)データ・オブジェクトに関して指定モードのロック
制御をロック制御サーバから授与するよう要求し、授与
されない場合は、データ・オブジェクトに関して競合す
る制御権を持つロック・マネージャのリストを受け取る
ための手段と、 ii)データ・オブジェクトに関して競合する制御権の
放棄を他のロック・マネージャに要求し、他のロック・
マネージャから肯定応答を受け取るための手段と、 iii)データ・オブジェクトに関する適切なモードの
ロック制御をロック制御サーバから取得した後で、デー
タ・オブジェクトに関して指定モードのロックをローカ
ルで授与するための手段とを含むロック・マネージャと
を含むロック装置。 - 【請求項3】それぞれのノードがロック状態テーブルを
含み、そのロック状態テーブルがノードが把握している
ロックごとに項目を1つずつ含み、それぞれの項目がロ
ックされている共用資源を識別するためのトークンID
フィールドと、ロックのモードを示すモード・フィール
ドと、そのノードで実行中のプロセスがデータ・オブジ
ェクトに関するロックを持っているかどうかを示すロッ
ク・ビット・フィールドとを含むことを特徴とする、請
求項2に記載の装置。 - 【請求項4】データ・オブジェクトに関するロック制御
を取得した後で、別のノードによってアクセスが制御さ
れるデータ・オブジェクトに関するロックをノードによ
ってローカルで授与するための手段をさらに含むことを
特徴とする、請求項2に記載の装置。 - 【請求項5】それぞれが専用のオペレーティング・シス
テムの制御下にある複数のデータ処理ノードが通信ネッ
トワークによって結合され、処理ノードの少なくとも1
つがその中に複数のデータ・オブジェクトが格納されて
いる共用資源へのアクセスを制御するマルチコンピュー
タ・システムのクライアント・ノードで使用するための
ロック装置において、前記ロック装置がクライアント・
ノードで実行中のプロセスから指定のデータ・オブジェ
クトに関するロック要求を受け取るための要求受取り手
段と、 データ・オブジェクトの現在のロック状態を判別するた
めのロック状態判別手段と、 現在のロック状態がロック要求と両立するかどうかを判
別するためのロック比較手段と、 現在のロック状態が要求されたロックと両立しないとい
うロック比較手段による判別に対する応答として、別の
ノードが両立しないロックを放棄し、放棄が完了したと
きに肯定応答を行うよう要求するメッセージをクライア
ント・ノードからロックを有する別のノードにネットワ
ーク上で送るためのロック要求生成手段と、 ネットワークからの応答を分析し、別のノードからの肯
定応答に対する応答として、そのノードが指定のデータ
・オブジェクトに関するロックを持っていることを示す
ためにロック状態を更新するための更新手段とを含むロ
ック装置。 - 【請求項6】ノードが所有していないデータ・オブジェ
クトの少なくとも一部について現在のロック状態を格納
するためのロック状態格納手段をさらに含み、 ロック比較手段が、ロック要求に対する応答として、要
求されたロック状態とロック状態格納手段に格納された
現在のロック状態とを比較し、データ・オブジェクト・
ロック要求と両立する現在のロック状態がロック状態格
納手段に格納されているかどうかを示すための手段を含
むことを特徴とする、請求項5に記載のロック装置。 - 【請求項7】ロック要求手段に連結されたファイル所有
者ディレクトリをさらに含み、ファイル所有者ディレク
トリがシステム内の共用資源とその資源のそれぞれの所
有者のリストを含むことを特徴とする、請求項5に記載
のロック装置。 - 【請求項8】それぞれが専用のオペレーティング・シス
テムの制御下にある複数のデータ処理ノードが通信ネッ
トワークによって結合され、少なくとも1つのサーバが
共用資源へのアクセスを制御するマルチコンピュータ・
システムにおいて、 共用データ資源のデータ・オブジェクトのロック制御状
況をサーバ側で記録するステップと、 特定のデータ・オブジェクトに関して指定のモードのロ
ック制御を授与するよう第一のノードが要求するステッ
プと、 データ・オブジェクトに関して要求されたロックに対す
る応答として、データ・オブジェクトの競合ロック状況
を有するノードのリストをサーバ側が報告するステップ
と、 リストの受取りに対する応答として、リストに記載され
ている他のノードがデータ・オブジェクトに関して競合
する制御権を放棄するよう第一のノードが要求するステ
ップと、 競合する制御権を放棄したという他のノードからの肯定
応答に対する応答として、第一のノードがデータ・オブ
ジェクトに関して特定のモードのロック制御を持ってい
ることを反映するために、サーバがロック制御状況を更
新するよう第一のノードが要求するステップとを含むロ
ック方法。 - 【請求項9】データ・オブジェクトに関するロック制御
を取得した後で、データ・オブジェクトに関して第一の
ノードがローカルでロックを授与するステップをさらに
含むことを特徴とする、請求項8に記載の方法。 - 【請求項10】少なくとも1つのプロセッサ上で実行中
の2つまたはそれ以上のプロセスによって共用されるデ
ータ・オブジェクトに関するロック要求の細分性を判別
するための方法において、 ロックが必要な特定のデータ・オブジェクトを識別する
ステップと、 (a)データ・オブジェクトがディレクトリ・タイプの
ファイルかどうかを判別するステップと、 (b)データ・オブジェクトが所定のサイズより小さい
かどうかを判別するステップと、 (c)データ・オブジェクトの先頭ページへのアクセス
が必要かどうかを判別するステップと、 (d)そのアクセスが前のアクセスに連続するものかど
うかを判別するステップと、 (e)そのアクセスが所定のページ数を超えるページ数
へのアクセスかどうかを判別するステップと、 (f)ステップ(a)、(b)、(c)、(d)、およ
び(e)のいずれかに対して肯定応答が得られたとき
に、データ・オブジェクト全体に関するロックを要求
し、肯定応答が得られなかったときに、アクセス対象の
特定のページに関するロックを要求するステップとを含
む方法。 - 【請求項11】少なくとも1つのプロセッサ上で実行中
の2つまたはそれ以上のプロセスによって共用されるデ
ータ・オブジェクトに関するロック要求の細分性を判別
するためのシステムにおいて、 ロックが必要な特定のデータ・オブジェクトを識別する
ためのプロセス手段と、 識別用の手段に結合され、要求対象のロックの細分性を
判別するための細分性手段であって、データ・オブジェ
クトがディレクトリ・タイプのファイルかどうか、デー
タ・オブジェクトのサイズ、データ・オブジェクトの先
頭ページへのアクセスが必要かどうか、そのアクセスが
前のアクセスに連続するものかどうか、およびそのアク
セスが所定のページ数を超えるページ数へのアクセスか
どうかに応じて細分性を判別する細分性手段と、 細分性手段に結合され、細分性手段によって指定された
データ・オブジェクトの特定ページに関するロックを要
求するためのロック要求手段とを含むシステム。 - 【請求項12】ロック要求手段が、 データ・オブジェクトの現在のロック状態を判別するた
めのロック状態判別手段と、 現在のロック状態がロック要求と両立するかどうかを判
別するためのロック比較手段と、 現在のロック状態が要求されたロックと両立しないとい
うロック比較手段による判別に対する応答として、ロッ
クを有する別のノードが両立しないロックを放棄し、放
棄が完了したときに肯定応答するよう要求するメッセー
ジをその別のノードにネットワーク上で送るためのロッ
ク要求生成手段と、 ネットワークからの応答を分析し、別のノードからの肯
定応答に対する応答として、ノードが指定のデータ・オ
ブジェクトに関するロックを持っていることを示すため
にロック状態を更新するための更新手段とを含むことを
特徴とする、請求項11に記載のシステム。 - 【請求項13】少なくとも1つのプロセッサ上で実行中
の2つまたはそれ以上のプロセスによって共用されるデ
ータ・オブジェクトに関するロック要求の細分性を判別
するためのシステムにおいて、 ロックが必要な特定のデータ・オブジェクトを識別する
ためのプロセス手段と、 識別用の手段に結合され、要求対象のロックの細分性を
判別するための細分性手段であって、1組の規則に応じ
て細分性を判別する細分性手段と、 細分性手段に結合され、細分性手段によって指定された
データ・オブジェクトの特定ページに関するロックを要
求するためのロック要求手段とを含むシステム。 - 【請求項14】1組の規則が、データ・オブジェクトの
属性と、要求されたアクセスの属性に適用されることを
特徴とする、請求項13に記載のシステム。 - 【請求項15】要求されたアクセスの属性が、データ・
オブジェクトの先頭ページへのアクセスが必要かどう
か、アクセスが前のアクセスに連続するものかどうか、
およびアクセスが所定のページ数を超えるページ数への
アクセスかどうかを含むことを特徴とする、請求項14
に記載のシステム。 - 【請求項16】データ・オブジェクトの属性が、データ
・オブジェクトがディレクトリ・タイプのファイルかど
うかおよびデータ・オブジェクトのサイズを含むことを
特徴とする、請求項14に記載のシステム。 - 【請求項17】それぞれが専用のオペレーティング・シ
ステムの制御下にある複数のデータ処理ノードが通信ネ
ットワークによって結合され、少なくとも1つのサーバ
が共用資源へのアクセスを制御するマルチコンピュータ
・システムにおいて、 共用データ資源のデータ・オブジェクトのロック制御状
況をサーバ側で記録するステップと、 ロックが必要なデータ・オブジェクトを識別するステッ
プと、 データ・オブジェクトのロック要求対象部分を判別する
ステップと、 データ・オブジェクトのロック対象部分に関して指定の
モードのロック制御を授与するよう第一のノードが要求
するステップと、 データ・オブジェクトに関して要求されたロックに対す
る応答として、データ・オブジェクトの競合ロック状況
を有するノードのリストをサーバ側が報告するステップ
と、 リストの受取りに対する応答として、リストに記載され
ている他のノードがデータ・オブジェクトに関して競合
する制御権を放棄するよう第一のノードが要求するステ
ップと、 競合する制御権を放棄したという他のノードからの肯定
応答に対する応答として、第一のノードがデータ・オブ
ジェクトに関して特定のモードのロック制御を持ってい
ることを反映するために、サーバがロック制御状況を更
新するよう第一のノードが要求するステップとを含むロ
ック方法。 - 【請求項18】判別ステップが、データ・オブジェクト
の属性と、要求されたデータ・オブジェクトへのアクセ
スの特性とに1組のヒューリスティックな規則を適用す
るステップを含むことを特徴とする、請求項17に記載
の方法。 - 【請求項19】1組のヒューリスティックな規則を適用
するステップが、データ・オブジェクトの先頭ページへ
のアクセスが必要かどうか、アクセスが前のアクセスに
連続するものかどうか、およびアクセスが所定のページ
数を超えるページ数へのアクセスかどうかを判別するス
テップを含むことを特徴とする、請求項15に記載の方
法。 - 【請求項20】判別ステップが、 (a)データ・オブジェクトがディレクトリ・タイプの
ファイルかどうかを判別するステップと、 (b)データ・オブジェクトが所定のサイズより小さい
かどうかを判別するステップと、 (c)データ・オブジェクトの先頭ページへのアクセス
が必要かどうかを判別するステップと、 (d)そのアクセスが前のアクセスに連続するものかど
うかを判別するステップと、 (e)そのアクセスが所定のページ数を超えるページ数
へのアクセスかどうかを判別するステップと、 (f)ステップ(a)、(b)、(c)、(d)、およ
び(e)のいずれかに対して肯定応答が得られたとき
に、データ・オブジェクト全体に関するロックを要求
し、肯定応答が得られなかったときに、アクセス対象の
特定のページに関するロックを要求するステップとを含
むことを特徴とする、請求項17に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US187432 | 1994-01-26 | ||
| US08/187,432 US5454108A (en) | 1994-01-26 | 1994-01-26 | Distributed lock manager using a passive, state-full control-server |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07219792A true JPH07219792A (ja) | 1995-08-18 |
| JP2705717B2 JP2705717B2 (ja) | 1998-01-28 |
Family
ID=22688964
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6289415A Expired - Fee Related JP2705717B2 (ja) | 1994-01-26 | 1994-11-24 | ロック装置及び方法、ロック要求の細分性を判別するための装置及び方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5454108A (ja) |
| EP (1) | EP0665495A3 (ja) |
| JP (1) | JP2705717B2 (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004529443A (ja) * | 2001-05-31 | 2004-09-24 | オラクル・インターナショナル・コーポレイション | マルチノードシステム内でのデータおよびロック転送中の呼出し時間およびメッセージトラフィックの減少 |
| JP2008544371A (ja) * | 2005-06-16 | 2008-12-04 | オラクル・インターナショナル・コーポレーション | ロック関連の一貫性欠如を処理する方法 |
| JP2013057996A (ja) * | 2011-09-07 | 2013-03-28 | Internatl Business Mach Corp <Ibm> | トランザクションの処理時間を算出する装置及び方法 |
| JP2014038657A (ja) * | 2000-10-13 | 2014-02-27 | Miosoft Corp | 持続的データ記憶技術 |
| US8935225B2 (en) | 2000-10-13 | 2015-01-13 | Miosoft Corporation | Persistent data storage techniques |
| US9189536B2 (en) | 2000-10-13 | 2015-11-17 | Miosoft Corporation | Maintaining a relationship between two different items of data |
| WO2017056172A1 (ja) * | 2015-09-29 | 2017-04-06 | 株式会社日立製作所 | メモリ領域の排他制御を実行する計算機システム |
Families Citing this family (116)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5774731A (en) * | 1995-03-22 | 1998-06-30 | Hitachi, Ltd. | Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage |
| US5715395A (en) * | 1994-09-12 | 1998-02-03 | International Business Machines Corporation | Method and apparatus for reducing network resource location traffic in a network |
| US5577261A (en) * | 1995-01-23 | 1996-11-19 | Tandem Computers Incorporated | Ordered and reliable maintenance of inter-process relationships in a distributed multiprocessor |
| US5630140A (en) * | 1995-01-23 | 1997-05-13 | Tandem Computers Incorporated | Ordered and reliable signal delivery in a distributed multiprocessor |
| US6269389B1 (en) * | 1995-05-05 | 2001-07-31 | Apple Computer, Inc. | Method and system for controlling the copying and insertion of contents of documents |
| US6574654B1 (en) * | 1996-06-24 | 2003-06-03 | Oracle Corporation | Method and apparatus for lock caching |
| US5835906A (en) * | 1996-07-01 | 1998-11-10 | Sun Microsystems, Inc. | Methods and apparatus for sharing stored data objects in a computer system |
| US6041383A (en) * | 1996-07-22 | 2000-03-21 | Cabletron Systems, Inc. | Establishing control of lock token for shared objects upon approval messages from all other processes |
| US5805900A (en) * | 1996-09-26 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for serializing resource access requests in a multisystem complex |
| US7480653B2 (en) * | 1996-10-22 | 2009-01-20 | International Business Machines Corporation | System and method for selective partition locking |
| US6141720A (en) * | 1997-06-12 | 2000-10-31 | Cabletron Systems, Inc. | Method and apparatus for coordination of a shared object in a distributed system |
| US5913213A (en) * | 1997-06-16 | 1999-06-15 | Telefonaktiebolaget L M Ericsson | Lingering locks for replicated data objects |
| GB2326492B (en) * | 1997-06-20 | 2002-03-20 | Ibm | Apparatus, method and computer program for providing arbitrary locking modes for controlling concurrent access to server resources |
| US5987477A (en) * | 1997-07-11 | 1999-11-16 | International Business Machines Corporation | Parallel file system and method for parallel write sharing |
| US5963963A (en) * | 1997-07-11 | 1999-10-05 | International Business Machines Corporation | Parallel file system and buffer management arbitration |
| US5974424A (en) * | 1997-07-11 | 1999-10-26 | International Business Machines Corporation | Parallel file system and method with a metadata node |
| US5960446A (en) * | 1997-07-11 | 1999-09-28 | International Business Machines Corporation | Parallel file system and method with allocation map |
| US5950199A (en) * | 1997-07-11 | 1999-09-07 | International Business Machines Corporation | Parallel file system and method for granting byte range tokens |
| US5956734A (en) * | 1997-07-11 | 1999-09-21 | International Business Machines Corporation | Parallel file system with a quota check utility |
| US5999976A (en) * | 1997-07-11 | 1999-12-07 | International Business Machines Corporation | Parallel file system and method with byte range API locking |
| US5940838A (en) * | 1997-07-11 | 1999-08-17 | International Business Machines Corporation | Parallel file system and method anticipating cache usage patterns |
| US5940841A (en) * | 1997-07-11 | 1999-08-17 | International Business Machines Corporation | Parallel file system with extended file attributes |
| US5893086A (en) * | 1997-07-11 | 1999-04-06 | International Business Machines Corporation | Parallel file system and method with extensible hashing |
| US5946686A (en) * | 1997-07-11 | 1999-08-31 | International Business Machines Corporation | Parallel file system and method with quota allocation |
| US6021508A (en) * | 1997-07-11 | 2000-02-01 | International Business Machines Corporation | Parallel file system and method for independent metadata loggin |
| US6032216A (en) * | 1997-07-11 | 2000-02-29 | International Business Machines Corporation | Parallel file system with method using tokens for locking modes |
| US5931919A (en) * | 1997-11-07 | 1999-08-03 | Xerox Corporation | State-based object transition control and attribute-based locking |
| US6546412B1 (en) * | 1997-11-07 | 2003-04-08 | Xerox Corporation | State-based object transition control and nested locking |
| US6249879B1 (en) * | 1997-11-11 | 2001-06-19 | Compaq Computer Corp. | Root filesystem failover in a single system image environment |
| US6247139B1 (en) | 1997-11-11 | 2001-06-12 | Compaq Computer Corp. | Filesystem failover in a single system image environment |
| US7200623B2 (en) * | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
| AU2003213536B2 (en) * | 1998-02-13 | 2007-05-10 | Oracle International Corporation | Method and apparatus for transferring data from the cache of one node to the cache of another node |
| AU2007202589B2 (en) * | 1998-02-13 | 2008-11-06 | Oracle International Corporation | Method and apparatus for transferring data from the cache of one node to the cache of another node |
| US7930278B2 (en) * | 1998-02-13 | 2011-04-19 | Oracle International Corporation | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
| US6122629A (en) * | 1998-04-30 | 2000-09-19 | Compaq Computer Corporation | Filesystem data integrity in a single system image environment |
| US6189007B1 (en) | 1998-08-28 | 2001-02-13 | International Business Machines Corporation | Method and apparatus for conducting a high performance locking facility in a loosely coupled environment |
| US6253274B1 (en) * | 1998-08-28 | 2001-06-26 | International Business Machines Corporation | Apparatus for a high performance locking facility |
| US6185650B1 (en) | 1998-08-28 | 2001-02-06 | International Business Machines Corporation | High performance locking facility |
| US7065540B2 (en) * | 1998-11-24 | 2006-06-20 | Oracle International Corporation | Managing checkpoint queues in a multiple node system |
| US6401110B1 (en) * | 1998-11-30 | 2002-06-04 | International Business Machines Corporation | Method for managing concurrent processes using dual locking |
| US6405274B1 (en) * | 1998-12-30 | 2002-06-11 | Oracle Corporation | Anticipatory lock mode conversions in a lock management system |
| US6438548B1 (en) * | 1999-06-30 | 2002-08-20 | International Business Machines Corporation | Method of and system for managing documents in a bandwidth constrained environment |
| US6330560B1 (en) | 1999-09-10 | 2001-12-11 | International Business Machines Corporation | Multiple manager to multiple server IP locking mechanism in a directory-enabled network |
| US7596563B1 (en) * | 1999-10-28 | 2009-09-29 | Hewlett-Packard Development Company, L.P. | Computerized file system and method |
| US6865549B1 (en) | 1999-11-15 | 2005-03-08 | Sun Microsystems, Inc. | Method and apparatus for concurrency control in a policy-based management system |
| US7188344B1 (en) | 1999-12-21 | 2007-03-06 | Unisys Corporation | Architecture for a read/write thread lock |
| US6917942B1 (en) | 2000-03-15 | 2005-07-12 | International Business Machines Corporation | System for dynamically evaluating locks in a distributed data storage system |
| US6829678B1 (en) * | 2000-07-18 | 2004-12-07 | International Business Machines Corporation | System for determining the order and frequency in which space is allocated on individual storage devices |
| US6826570B1 (en) | 2000-07-18 | 2004-11-30 | International Business Machines Corporation | Dynamically switching between different types of concurrency control techniques to provide an adaptive access strategy for a parallel file system |
| US7844823B2 (en) * | 2000-08-10 | 2010-11-30 | Shield Security Systems, Llc | Interactive security control system with conflict checking |
| US6704767B1 (en) * | 2000-09-26 | 2004-03-09 | Oracle International Corporation | Using distributed information about lock conversion requests to efficiently manage lock state transitions |
| US6965893B1 (en) | 2000-12-20 | 2005-11-15 | Oracle International Corporation | Techniques for granting shared locks more efficiently |
| US7159006B2 (en) * | 2001-03-28 | 2007-01-02 | Siemens Communications, Inc. | Method and apparatus for proprietary data interface in a distributed telecommunications system |
| US7640582B2 (en) * | 2003-04-16 | 2009-12-29 | Silicon Graphics International | Clustered filesystem for mix of trusted and untrusted nodes |
| US20030018606A1 (en) * | 2001-07-17 | 2003-01-23 | International Business Machines Corporation | Revocation of tokens without communication between the token holders and the token server |
| US7085815B2 (en) * | 2001-07-17 | 2006-08-01 | International Business Machines Corporation | Scalable memory management of token state for distributed lock managers |
| US7325064B2 (en) * | 2001-07-17 | 2008-01-29 | International Business Machines Corporation | Distributed locking protocol with asynchronous token prefetch and relinquish |
| AU2002341784A1 (en) * | 2001-09-21 | 2003-04-01 | Polyserve, Inc. | A system and method for efficient lock recovery |
| US20030088659A1 (en) * | 2001-11-08 | 2003-05-08 | Susarla Hanumantha Rao | System and method for distributed state management |
| US7130905B2 (en) * | 2002-01-10 | 2006-10-31 | Sun Microsystems, Inc. | System and method for coordinating access to data for a distributed application |
| US8086579B1 (en) * | 2002-01-22 | 2011-12-27 | Oracle International Corporation | Semantic response to lock requests to reduce coherence overhead in multi-node systems |
| US20030154202A1 (en) * | 2002-02-12 | 2003-08-14 | Darpan Dinker | Distributed data system with process co-location and out -of -process communication |
| US7320035B2 (en) | 2002-03-01 | 2008-01-15 | Sun Microsystems, Inc. | Object mutation determination for incremental state saves |
| US7370329B2 (en) | 2002-03-01 | 2008-05-06 | Sun Microsystems, Inc. | System and method for state saves in a distributed data system |
| US7139925B2 (en) * | 2002-04-29 | 2006-11-21 | Sun Microsystems, Inc. | System and method for dynamic cluster adjustment to node failures in a distributed data system |
| US20040019640A1 (en) * | 2002-07-25 | 2004-01-29 | Bartram Linda Ruth | System and method for distributing shared storage for collaboration across multiple devices |
| US7239605B2 (en) * | 2002-09-23 | 2007-07-03 | Sun Microsystems, Inc. | Item and method for performing a cluster topology self-healing process in a distributed data system cluster |
| US7206836B2 (en) * | 2002-09-23 | 2007-04-17 | Sun Microsystems, Inc. | System and method for reforming a distributed data system cluster after temporary node failures or restarts |
| US8495131B2 (en) * | 2002-10-08 | 2013-07-23 | International Business Machines Corporation | Method, system, and program for managing locks enabling access to a shared resource |
| US8005979B2 (en) * | 2002-10-28 | 2011-08-23 | Oracle America, Inc. | System and method for uniquely identifying processes and entities in clusters |
| JP2004171299A (ja) * | 2002-11-20 | 2004-06-17 | Fujitsu Ltd | ネットワーク間中継ストレージ装置及びネットワーク間中継方法 |
| DE10256148A1 (de) * | 2002-11-29 | 2004-06-17 | Basf Ag | Gegenstand der vorliegenden Erfindung sind Zusammensetzungen enthaltend mindestens ein Copolymer (A) und mindestens ein Copolymer (B) sowie deren Verwendung in kosmetischen Zubereitungen |
| US6990560B2 (en) * | 2003-01-16 | 2006-01-24 | International Business Machines Corporation | Task synchronization mechanism and method |
| US8001142B2 (en) | 2003-04-02 | 2011-08-16 | Oracle America, Inc. | Distributed data system with incremental data updates |
| US7178065B2 (en) * | 2003-04-02 | 2007-02-13 | Sun Microsystems, Inc. | System and method for measuring performance with distributed agents |
| US7337290B2 (en) * | 2003-04-03 | 2008-02-26 | Oracle International Corporation | Deadlock resolution through lock requeing |
| US7281050B2 (en) | 2003-04-08 | 2007-10-09 | Sun Microsystems, Inc. | Distributed token manager with transactional properties |
| JP4257785B2 (ja) * | 2003-04-22 | 2009-04-22 | 株式会社日立製作所 | キャッシュストレージ装置 |
| US7289992B2 (en) * | 2003-05-01 | 2007-10-30 | International Business Machines Corporation | Method, system, and program for lock and transaction management |
| US7496574B2 (en) * | 2003-05-01 | 2009-02-24 | International Business Machines Corporation | Managing locks and transactions |
| US7376744B2 (en) | 2003-05-09 | 2008-05-20 | Oracle International Corporation | Using local locks for global synchronization in multi-node systems |
| US7447786B2 (en) * | 2003-05-09 | 2008-11-04 | Oracle International Corporation | Efficient locking of shared data that is accessed for reads in a cluster database |
| US20050289143A1 (en) * | 2004-06-23 | 2005-12-29 | Exanet Ltd. | Method for managing lock resources in a distributed storage system |
| US8495266B2 (en) * | 2004-12-10 | 2013-07-23 | Hewlett-Packard Development Company, L.P. | Distributed lock |
| US8332485B1 (en) * | 2005-03-04 | 2012-12-11 | Cisco Technology, Inc. | Lock optimization and lock prediction approaches for reducing client-server messages |
| DE102005014775B4 (de) * | 2005-03-31 | 2008-12-11 | Nokia Siemens Networks Gmbh & Co.Kg | Verfahren, Kommunikationsanordnung und Kommunikationseinrichtung zur Steuerung des Zugriffs auf zumindest eine Kommunikationseinrichtung |
| US7209990B2 (en) * | 2005-04-05 | 2007-04-24 | Oracle International Corporation | Maintain fairness of resource allocation in a multi-node environment |
| US7853962B1 (en) | 2005-05-31 | 2010-12-14 | Cisco Technology, Inc. | Method and apparatus for optimization of remote procedure call communications |
| US7716307B1 (en) | 2005-10-21 | 2010-05-11 | Cisco Technology, Inc. | Method and apparatus for reducing client-server messages associated with opening a file |
| US7636767B2 (en) * | 2005-11-29 | 2009-12-22 | Cisco Technology, Inc. | Method and apparatus for reducing network traffic over low bandwidth links |
| US7679443B2 (en) | 2006-08-31 | 2010-03-16 | Texas Instruments Incorporated | System and method for common mode translation |
| US8150870B1 (en) * | 2006-12-22 | 2012-04-03 | Amazon Technologies, Inc. | Scalable partitioning in a multilayered data service framework |
| US7996421B2 (en) * | 2007-01-03 | 2011-08-09 | International Business Machines Corporation | Method, computer program product, and system for coordinating access to locally and remotely exported file systems |
| US8996484B2 (en) * | 2007-02-13 | 2015-03-31 | Red Hat, Inc. | Recursive lock-and-propagate operation |
| US8990954B2 (en) * | 2007-06-20 | 2015-03-24 | International Business Machines Corporation | Distributed lock manager for file system objects in a shared file system |
| US7958200B2 (en) * | 2007-08-14 | 2011-06-07 | International Business Machines Corporation | Methods, computer program products, and apparatuses for providing remote client access to exported file systems |
| US8595202B2 (en) * | 2007-10-03 | 2013-11-26 | Siemens Aktiengesellschaft | Method and system for intra-document object locking in collaborative authoring |
| US9026993B2 (en) * | 2008-06-27 | 2015-05-05 | Microsoft Technology Licensing, Llc | Immutable types in imperitive language |
| US9569282B2 (en) | 2009-04-24 | 2017-02-14 | Microsoft Technology Licensing, Llc | Concurrent mutation of isolated object graphs |
| US8510334B2 (en) | 2009-11-05 | 2013-08-13 | Oracle International Corporation | Lock manager on disk |
| CN102103523A (zh) * | 2009-12-22 | 2011-06-22 | 国际商业机器公司 | 锁分配控制的方法和装置 |
| US8566544B2 (en) * | 2009-12-29 | 2013-10-22 | Microsoft Corporation | Compiler-enforced agent access restriction |
| US8316369B2 (en) * | 2009-12-29 | 2012-11-20 | Microsoft Corporation | Dataflow component scheduling using reader/writer semantics |
| US8695003B2 (en) * | 2009-12-29 | 2014-04-08 | Microsoft Corporation | Method for managing data accessibility by scheduling three types of executable agents associated with pre-defined access rights within a domain |
| US8868748B2 (en) | 2010-10-11 | 2014-10-21 | International Business Machines Corporation | Two-level management of locks on shared resources |
| US9542237B2 (en) * | 2012-09-04 | 2017-01-10 | Red Hat Israel, Ltd. | Shared locking for storage centric exclusive locks |
| US9244868B2 (en) * | 2012-09-21 | 2016-01-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Leased lock in active-active high availability DAS systems |
| US9779220B1 (en) * | 2012-09-28 | 2017-10-03 | EMC IP Holding Company LLC | Obscuring data using on-the-fly retokenizable tokens |
| WO2014185837A1 (en) * | 2013-05-14 | 2014-11-20 | Telefonaktiebolaget L M Ericsson (Publ) | Conflicting data storage requirements |
| US9213660B2 (en) * | 2013-06-14 | 2015-12-15 | Arm Limited | Receiver based communication permission token allocation |
| US10264071B2 (en) * | 2014-03-31 | 2019-04-16 | Amazon Technologies, Inc. | Session management in distributed storage systems |
| US10372685B2 (en) | 2014-03-31 | 2019-08-06 | Amazon Technologies, Inc. | Scalable file storage service |
| US9697227B2 (en) | 2014-10-27 | 2017-07-04 | Cohesity, Inc. | Concurrent access and transactions in a distributed file system |
| US10459810B2 (en) | 2017-07-06 | 2019-10-29 | Oracle International Corporation | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery |
| CN114172890B (zh) * | 2021-11-03 | 2024-02-27 | 阿里巴巴(中国)有限公司 | 文件秒传处理方法、装置、存储介质及电子设备 |
| CN114884961B (zh) * | 2022-04-21 | 2024-04-16 | 京东科技信息技术有限公司 | 分布式锁移交方法、装置、电子设备和计算机可读介质 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2963264D1 (en) * | 1978-12-04 | 1982-08-19 | Ibm | Multiprocessor system with enqueue facility for access to sharable data facilities |
| US4716528A (en) * | 1986-02-03 | 1987-12-29 | International Business Machines Corporation | Method for managing lock escalation in a multiprocessing, multiprogramming environment |
| US5202971A (en) * | 1987-02-13 | 1993-04-13 | International Business Machines Corporation | System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock |
| US5319780A (en) * | 1987-10-19 | 1994-06-07 | International Business Machines Corporation | System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued |
| US4965719A (en) * | 1988-02-16 | 1990-10-23 | International Business Machines Corporation | Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system |
| US5175837A (en) * | 1989-02-03 | 1992-12-29 | Digital Equipment Corporation | Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits |
| US5210848A (en) * | 1989-02-22 | 1993-05-11 | International Business Machines Corporation | Multi-processor caches with large granularity exclusivity locking |
| US5226159A (en) * | 1989-05-15 | 1993-07-06 | International Business Machines Corporation | File lock management in a distributed data processing system |
| US5161227A (en) * | 1989-11-13 | 1992-11-03 | International Business Machines Corporation | Multilevel locking system and method |
| US5063504A (en) * | 1989-12-18 | 1991-11-05 | At&T Bell Laboratories | Information control system for reserve locking infrastructure nodes for subsequent exclusive and share locking by the system |
| US5063502A (en) * | 1989-12-18 | 1991-11-05 | At&T Bell Laborabories | Information control system for counting lock application against composite information infrastructure |
| US5226143A (en) * | 1990-03-14 | 1993-07-06 | International Business Machines Corporation | Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager |
| JP2533266B2 (ja) * | 1991-06-14 | 1996-09-11 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法 |
-
1994
- 1994-01-26 US US08/187,432 patent/US5454108A/en not_active Expired - Fee Related
- 1994-11-24 JP JP6289415A patent/JP2705717B2/ja not_active Expired - Fee Related
-
1995
- 1995-01-09 EP EP95100193A patent/EP0665495A3/en not_active Withdrawn
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014038657A (ja) * | 2000-10-13 | 2014-02-27 | Miosoft Corp | 持続的データ記憶技術 |
| US8935225B2 (en) | 2000-10-13 | 2015-01-13 | Miosoft Corporation | Persistent data storage techniques |
| US9189536B2 (en) | 2000-10-13 | 2015-11-17 | Miosoft Corporation | Maintaining a relationship between two different items of data |
| US9830348B2 (en) | 2000-10-13 | 2017-11-28 | Miosoft Corporation | Persistent data storage techniques |
| JP2004529443A (ja) * | 2001-05-31 | 2004-09-24 | オラクル・インターナショナル・コーポレイション | マルチノードシステム内でのデータおよびロック転送中の呼出し時間およびメッセージトラフィックの減少 |
| JP2008544371A (ja) * | 2005-06-16 | 2008-12-04 | オラクル・インターナショナル・コーポレーション | ロック関連の一貫性欠如を処理する方法 |
| JP2013057996A (ja) * | 2011-09-07 | 2013-03-28 | Internatl Business Mach Corp <Ibm> | トランザクションの処理時間を算出する装置及び方法 |
| WO2017056172A1 (ja) * | 2015-09-29 | 2017-04-06 | 株式会社日立製作所 | メモリ領域の排他制御を実行する計算機システム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0665495A3 (en) | 1997-05-07 |
| JP2705717B2 (ja) | 1998-01-28 |
| US5454108A (en) | 1995-09-26 |
| EP0665495A2 (en) | 1995-08-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2705717B2 (ja) | ロック装置及び方法、ロック要求の細分性を判別するための装置及び方法 | |
| US5161227A (en) | Multilevel locking system and method | |
| US7325064B2 (en) | Distributed locking protocol with asynchronous token prefetch and relinquish | |
| US5490270A (en) | Simultaneous updates to the modification time attribute of a shared file in a cluster having a server and client nodes | |
| US5913227A (en) | Agent-implemented locking mechanism | |
| US5522077A (en) | Object oriented network system for allocating ranges of globally unique object identifiers from a server process to client processes which release unused identifiers | |
| US8768905B2 (en) | Managing locks and transactions | |
| US7289992B2 (en) | Method, system, and program for lock and transaction management | |
| US8224977B2 (en) | Using local locks for global synchronization in multi-node systems | |
| JP4842279B2 (ja) | データベースサーバによるファイル操作を実行するためのインフラストラクチャ | |
| US5987550A (en) | Lock mechanism for shared resources in a data processing system | |
| CN100449489C (zh) | 允许对共享资源的访问的方法和装置 | |
| US5459862A (en) | Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer | |
| EP0682312A2 (en) | Hardware implemented locking mechanism for parallel/distributed computer system | |
| US20080319996A1 (en) | Distributed Lock Manager For File System Objects In A Shared File System | |
| JPH07104813B2 (ja) | 分散型コンピュータ・データベースの打ち込み時刻を一致させるシステムおよび方法 | |
| JP2002521766A (ja) | データベースにおける並行したトランザクションのストリームを調停するための方法およびシステム | |
| JPH10301834A (ja) | 共用メモリの管理方法 | |
| Lam et al. | On using real-time static locking protocols for distributed real-time databases | |
| Aranha et al. | Implementation of a real-time database system | |
| JPS62232064A (ja) | 分散デ−タベ−スシステムのデツドロツク防止方式 | |
| JPH0330027A (ja) | 排他制御方式 | |
| JPH04116731A (ja) | 共有資源排他制御方式 | |
| JPH06266572A (ja) | 共通資源排他使用方法 | |
| JPS63178365A (ja) | 多重系計算機システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |