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
Application number
JP6289415A
Other languages
English (en)
Other versions
JP2705717B2 (ja
Inventor
Murthy Devarakonda
マーシィ・デバラコンダ
Ajay Mohindra
アジャイ・モヒンドラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07219792A publication Critical patent/JPH07219792A/ja
Application granted granted Critical
Publication of JP2705717B2 publication Critical patent/JP2705717B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/522Manager
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/523Mode

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組のプロトコルで調整される。
【0003】密結合システムにおける関心事は、共用フ
ァイル・アクセスを正しく同期させて、タスク間で競合
が発生しないようにすることである。たとえば、銀行業
務システムでは、あるタスクとして顧客が自動預金支払
機を使用して自分の口座から現金を引き出し、別のタス
クとして銀行が小切手処理のために顧客の口座を更新す
る場合が考えられる。これらのタスクが同期していない
場合、処理後の口座残高が不正確になる可能性がある。
【0004】ファイル共用環境で複数のタスクを同期さ
せる方法の1つは、ロッキングと呼ばれている。この方
法によると、タスクはまず、ロックと呼ばれるデータ構
造へのアクセス権を取得し、ロックで保護されているフ
ァイル、データベース、またはその他のデータ・オブジ
ェクトに入っているデータを読み取るかまたは変更する
ために必要なアクセスのタイプを指定する。この場合、
一方のアクセスが所望のアクセス・タイプの指定を変更
し、他のタスクがそれにアクセスできるようにロックを
解除するまで、他のタスクは保護データにアクセスでき
ないか、保護データへの限定アクセス(たとえば、読取
りアクセスのみ)だけが与えられる。
【0005】一般に、別々のプロセッサ上で実行される
複数のタスク間のロック要求を解決し、特定のロック・
エンティティへのアクセスを待っているタスクの待ち行
列を管理するため、グローバル・ロック・マネージャが
提供されている。グローバル・ロック管理への取組み方
としては、結合された複数のプロセッサ間でロック機能
を分散させる方法がある。この方法は、分散ロック管理
と呼ばれる。分散ロック・マネージャを有する密結合シ
ステムについては、米国特許第5161227号および
米国特許第5226143号などに記載されている。
【0006】
【発明が解決しようとする課題】分散ロック・マネージ
ャを有するシステムでは、通常、プロセッサ内からロッ
ク要求を解決しようと試みる。この試みが不可能な場合
は、必ず、ロック要求を解決するために遠隔プロセッサ
との通信が開始される。
【0007】一般に分散ロック・プロトコルは、ロック
空間を、結合されたプロセッサのそれぞれに割り当てら
れた複数の区画に分割する。あるエンティティ(すなわ
ち、特定のロック・データ構造)に関する要求は、その
エンティティが属す区画を所有しているプロセッサに送
られ、そのプロセッサによって解決される。
【0008】分散ロック・マネージャでは、ロック・プ
ロトコルを実施するためにノード間の調整が必要であ
る。この調整は、通常、ノード間で制御メッセージを交
換することで行われる。
【0009】
【課題を解決するための手段】本発明の一実施例によれ
ば、マルチコンピュータ・システムは、ファイルの所有
者であるロック制御サーバ(LCS)から適切なロック
授与権限(「トークン」という)を取得した場合に限
り、その取得後にローカル・ロック・マネージャがファ
イルにロックを授与するという、2レベルのロック・シ
ステムを含む。ロック制御サーバは受動的で、所有する
ファイルに関する制御情報をすべて持っている。ローカ
ル・ロック・マネージャ(LLM)が特定のファイルに
ついて指定モードのトークンを必要とする場合、ロック
制御サーバに対し、トークンの授与を要求する。未解決
のトークン同士の競合がなければ、ロック制御サーバは
要求されたトークンを授与する。しかし、トークン同士
が競合する場合は、ロック制御サーバは、競合するトー
クンを持つローカル・ロック・マネージャのリストで応
答する。その場合、要求側のローカル・ロック・マネー
ジャは、競合するトークンを持つ各ローカル・ロック・
マネージャに対し、そのトークンを放棄し、放棄が完了
したときに肯定応答するよう要求する。肯定応答を受け
取ると、要求側のローカル・ロック・マネージャは、ロ
ック制御サーバに対し、そのテーブルを更新してトーク
ンを授与するよう要求する。
【0010】
【実施例】本システムの分散ロック・マネージャは、ロ
ックおよびロック解除呼出しを使用して2つまたはそれ
以上の処理ノード間で共通データ・オブジェクトに対し
て行う並行操作を直列化する場合に使用する。実施例で
は、READ(共用)モードまたはWRITE(排他)
モードでロックを取得できる。必要なモードのロックが
使用できない場合は、ロックが使用可能になるまで実行
の呼出しスレッドがブロックされる。
【0011】どの処理ノードも、ロックおよびロック解
除呼出しを実施する専用のローカル・ロック・マネージ
ャ(LLM)を持っている。このローカル・ロック・マ
ネージャは非活動エンティティであるが、ロックを授与
する際にロック・マネージャとして機能するノードにつ
いて述べておくと都合がよいので、以下に説明する。
【0012】ノードがREADまたはWRITEロック
を授与するのは、そのノードが必要なモードでファイル
に関するロック授与権限(「トークン」という)を持っ
ている場合に限られる。このため、ファイルに関する最
初のロック呼出しが行われると、ノードはまず必要なモ
ードでファイルに関するトークンを取得しなければなら
ない。所与の時点で1つのファイルについて、複数のR
EADトークンまたは単一のWRITEトークンが未解
決になっている可能性がある。どのファイルについて
も、既知の所有者が存在し(すなわち、どのノードも、
すべての共用ファイルとその所有者をリストしたテーブ
ルを含む)、ファイルの所有者と接触することでトーク
ンを取得する。ノードが所有者に接触したときに、すで
に所有者が他のノードにトークンを与えてしまっている
可能性があり、その場合はトークンを取得するのにさら
にアービトレーションが必要な場合もある。
【0013】本発明での使用に適した密結合システムを
図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が存在することに留意されたい。
【0015】ロック制御サーバ112は、所有している
資源に関するすべての制御情報を状態テーブル1004
に入れて管理する。ロック制御サーバは受動的で満杯状
態のロック・マネージャである。受動的というのは、ロ
ック制御サーバが、他のノードに対して独力でメッセー
ジを一切送信しないことを意味する。「満杯状態(stat
e-full)」というのは、ロック制御サーバが、そのモー
ドとともにトークンの位置に関する正確な状態情報をい
つも管理していることを意味する。ロック制御サーバに
は、すべての未解決要求に関するすべての情報を必ず保
持できるように、その状態テーブルに十分なスペースが
設けられている。このため、ロック制御サーバは、デー
タ構造内のスペースが不足しても通信を開始する必要は
ない。プロトコル全体では、ロック制御サーバはメッセ
ージに応答するだけであるが、自分で通信を開始するこ
とはない。
【0016】ローカル・ロック・マネージャの機能ブロ
ック図を図13に示す。LLM114(1)〜114
(3)のそれぞれは、ファイル/所有者ディレクトリ9
02と、ロック状態テーブル904を含む。これらの構
造体902および904のそれぞれは、処理ノードのラ
ンダム・アクセス・メモリに形成されている。ファイル
所有者ディレクトリ902は、システム内のすべての共
用ファイルとそのそれぞれの所有者のリストを含む。L
LMが必要とするどのファイルについても、ディレクト
リ902を参照すれば、所有者のネットワーク・アドレ
スを判別できる。
【0017】ロック状態テーブル904は、LLMが把
握しているトークンごとに項目を1つずつ含む。それぞ
れの項目は3つのフィールドを含む。トークンIDフィ
ールドはトークンを識別するものである。モード・フィ
ールドはトークンのモード(読取り、書込み、または変
位)を示す。ロック・ビット・フィールドは、LLMを
含む特定のノードで実行されているプロセスがファイル
に関するロックを持っているかどうかを示す。
【0018】LCS要求生成ブロック906は、ネット
ワーク上で適切なロック要求を生成するためのメッセー
ジを形成する。LLMが生成できるロック要求メッセー
ジとしては、ACQUIRE、UPGRADE、GIV
EUP、CHANGE−TOKENがある。使用する特
定のタイプのメッセージは、ロック状態テーブル904
内の情報に基づいてノードが選択する。
【0019】ノードは、対象ファイル用のトークンを持
っていない場合にACQUIRE制御メッセージを使用
する。また、読取りトークンを持っているが、書込みト
ークンが必要な場合は、UPGRADE制御メッセージ
を使用する。GIVEUP制御メッセージは、ノードが
自発的にトークンを解放するための機構である。ローカ
ル状態用のメモリが不足している場合などに、ノードは
トークンを解放することができる。特に、ノードが新し
いファイルに関するトークンを取得する必要がある場合
に、そのローカル状態テーブルが満杯であれば、ノード
は、他のファイルの1つに関するトークンを放棄して、
新しいファイル用のスペースを用意する。最後に、ノー
ドは、LCSでのトークンの状態を変更したい場合にC
HANGE−TOKEN制御メッセージを使用する。
【0020】ロック細分性判別ブロック910は、トー
クンの適切な細分性を判別する。LLMがロック要求を
受け取ると、トークン細分性判別ブロック910は、フ
ァイル全体に関するトークンを取得するか、ファイルの
一部だけに関するトークンを取得するかを判別する。こ
の判別ブロック910は、前述の判別に応じてLCS要
求生成ブロック906に信号を送出し、LCS要求生成
ブロック906は、その信号に応じて要求メッセージを
生成する。ロック細分性判別ブロックが使用する特定の
方法を図2に示す。
【0021】ロック状態比較ブロック908は、ノード
で実行中のプロセスからロック要求を受け取る。ロック
要求を受け取ると、ロック状態比較ブロックは、ロック
状態テーブル904を走査して、要求されたファイル用
の項目があるかどうか、ならびに要求されたロック状態
が現在のロック状態と両立するかどうかを判別する。項
目が存在し、両方のロック状態が両立する場合、ロック
状態比較ブロック908は状態テーブル更新ブロック9
10に信号を送出し、このブロックがその信号に応じて
ロック状態テーブルを更新する。項目が存在しないか、
ロック状態が両立しない場合、ロック状態比較ブロック
はLCS要求生成ブロック906に信号を送出する。L
CS要求生成ブロック906は、ロック要求細分性判別
ブロック910からの信号に基づいて、適切なロック要
求を生成し、それをLCSに送る。
【0022】トークン同士が競合しない場合、ロック制
御サーバ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に取消し/ダウングレー
ド・メッセージを送る。
【0024】応答分析ブロック914は、別のLLMか
らOKメッセージを受け取った場合、コピーセット内の
すべてのLLMが肯定応答済みかどうかを検査する。肯
定応答済みであれば、応答分析ブロックは、LCS要求
生成ブロック906に信号を送出する。LCS要求生成
ブロック906は、LCSにトークン変更メッセージを
送る。すべてのLLMが肯定応答済みでなければ、応答
分析ブロック914は何も行わない。
【0025】応答分析ブロック914は、ダウングレー
ド/取消しメッセージを受け取った場合、状態テーブル
更新ブロック912に信号を送出する。状態テーブル更
新ブロック912は、その信号に応じてロック状態テー
ブル904を更新し、ネットワーク上のLLMにOKメ
ッセージを送る。
【0026】ロック制御サーバ112の機能ブロック図
を図14に示す。それぞれのLCSはロック状態テーブ
ル1004を含むが、このテーブルは処理ノードのラン
ダム・アクセス・メモリに形成されている。ロック状態
テーブル1004の各項目には3つのフィールドが含ま
れている。トークンIDフィールドはトークンを識別す
るものである。モード・フィールドはトークンのモード
(読取り、書込み、または変位)を示す。コピーセット
・フィールドは、トークンが授与された処理ノードのリ
ストを含む。
【0027】LCSがロック要求メッセージを受け取る
と、ロック状態比較ブロック1002がロック状態テー
ブル1004を検査して、トークンを授与できるかどう
かを確認する。トークンを授与できる場合は、ロック状
態比較ブロックが状態テーブル更新ブロック1008に
信号を送出し、その信号に応じて状態テーブル更新ブロ
ックがロック状態テーブルを更新する。その後、状態テ
ーブル更新ブロック1008は要求側のLLMにOKメ
ッセージを送る。トークンを授与できない場合は、ロッ
ク状態比較ブロック1002がLLMコピーセット生成
ブロック1006に信号を送出し、その比較ブロック
が、競合モードのトークンを持っている処理ノードのリ
ストを生成し、そのリストとNOT OKメッセージを
要求側のLLMに送る。
【0028】応答分析ブロック1010は、ネットワー
クから(トークン変更メッセージの形式で)応答を受け
取り、それを分析する。応答分析ブロック1010は状
態テーブル更新ブロック1008に信号を送出し、その
信号に応じて状態テーブル更新ブロックがロック状態テ
ーブルを更新する。その後、状態テーブル更新ブロック
1008は、要求側のLLMにOKメッセージを送る。
【0029】ローカル・ロック・マネージャ114
(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で、アクセスする各ページごとにページ・レベ
ルのトークンを要求する。
【0031】ローカル・ロック・マネージャのロック管
理タスクの流れ図を図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メッセージを送
る。
【0033】すべてのコピーセット・ノードから肯定応
答(OKメッセージ)を受け取ると、ステップ318で
LLMは、トークンがダウングレードされたか、または
取り消されたことをLCSに通知する。これに対する応
答として、LCSは、要求側LLMがトークンの保有者
であり、そのトークンが要求されたモードになっている
ことを反映するために、状態テーブル1004のそのト
ークン用の項目を変更する。次に、LCSは、要求側L
LMに肯定応答を送る。
【0034】ステップ320でLCSから肯定応答を受
け取った後で、LLMはステップ312でその状態テー
ブル904に項目を追加し、ステップ314でその項目
用のロック・ビットをセットする。これで、ロック要求
に関するトークンの取得と授与が完了する。
【0035】ステップ304でトークンがLLM状態テ
ーブル904から見つかった場合、LLMはステップ3
22で(モード・フィールドの)トークン状態を検査し
て、変位中であるかどうかを判別する。トークン状態を
変更するための前提条件として、別のプロセスが別のL
LMからの応答を待っている場合、トークン状態は変位
中である。状態テーブルのモード・フィールドは、その
項目について行われている変位の具体的なタイプを示す
(たとえば、読取りから書込みへの変更中、取得中な
ど)。トークン状態が変位中の場合、要求側プロセスは
ステップ324で、変位状態が終了するのを待つ。
【0036】トークン状態が変位中ではない場合、LL
Mはステップ326で、同じノードで実行中の別のプロ
セスによってファイルがロックされているかどうかを判
別する。これは、そのトークン用の状態テーブル項目に
ロック・ビットがセットされている(論理1)ことによ
って示される。トークンがロックされている場合、要求
側プロセスはステップ324で、そのプロセスがロック
を解放するのを待つ。
【0037】ロック・ビットがセットされていない場
合、LLMはステップ328で、トークン状態が要求さ
れた状態と両立するかどうかを判別する。たとえば、ノ
ードがREADトークンを持っている場合、これは、そ
のノードで実行中のプロセスによる読取りロックの要求
と両立する。これに対して、READトークンは、書込
みロックの要求とは両立しない。トークン状態が要求さ
れた状態と両立する場合、LLMはステップ314で、
そのファイル用のLLM状態テーブル項目にロック・ビ
ットをセットし、その資源がロックされたことを要求側
プロセスに示す表示を返す。これで、ロックの授与が完
了する。要求された状態がトークン状態と両立しない場
合、LLMは、前述のステップ306と308を実行す
る。
【0038】LLMがトークンのアップグレードを希望
する(すなわち、READトークンを持っているとき
に、WRITEトークンを希望する)場合、そのLLM
は、LCSにUPGRADE要求を送って、応答を待
つ。応答を受け取ると、LLMは、トークンがアップグ
レードされたかどうかを検査する。トークンがアップグ
レードされた場合、LLMはそのテーブルのトークンの
状態を更新して、トークンのアップグレードを完了す
る。トークンがアップグレードされていない場合、LC
Sからの応答には、現行トークン保有者のコピーセット
が含まれているので、それに対する応答として、LLM
はコピーセット・ノードに取消しメッセージを送る。
【0039】コピーセット・ノードから肯定応答を受け
取った後で、LLMは、トークンが取り消されたことを
LCSに通知する。これに対する応答として、LCS
は、要求側LLMがそのトークンの唯一の保有者であ
り、そのトークンが要求されたモードになっていること
を反映するため、そのトークンのLCS状態テーブル項
目を変更する。次にLCSは、要求側LLMに肯定応答
を送る。肯定応答を受け取った後で、LLMは、自分の
状態テーブル904のトークンの状態を更新して、トー
クンのアップグレードを完了する。
【0040】LLMがトークンを放棄する場合、そのL
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に返す。
【0042】ステップ404でそのトークンの項目が見
つからなかった場合、LCSタスクは、ステップ416
でその状態テーブルに(このトークン用の)項目を追加
し、ステップ412でこの項目のコピーセットに要求側
ノードを追加し、要求側LLMに肯定応答(OK)メッ
セージを返して、トークンが授与されたことを示す。
【0043】図5は、LLMによるCHANGE−TO
KEN要求処理を示す。このような要求を受け取ると、
LCSタスクはステップ502で、そのLCSテーブル
内のトークン項目を突き止める。次に、LCSタスクは
ステップ504で、モード・フィールドから移行フラグ
を消去し、コピーセットを更新する。次に、LCSタス
クはステップ506で、コピーセットに要求側ノードを
追加し、要求側LLMに肯定応答(OK)メッセージを
返す。
【0044】ここで、本システムおよび方法を示す例に
ついて、図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に示す。
【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テーブルの状態を示す。
【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テーブルの状態を示す。
【0048】図11は、LLMおよびLCS間の一連の
メッセージの流れを示す。
【0049】本システムのメッセージ形式を図12に示
す。このメッセージ構造は、(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がある。
【0051】ACQUIRE 804は、クライアント
が読取りモードまたは書込みモードのトークンの取得を
希望していることを示す、クライアントからサーバへの
メッセージである。このメッセージは、これを取得要求
として識別するためのコマンド(フィールド802
a)、要求したトークンの対象となるファイルを識別す
るためのファイルID(フィールド802b)、読取り
モードまたは書込みモードのどちらのトークンを要求し
たかを識別するためのモード(フィールド802c)、
ファイルIDフィールド802bによって識別されたフ
ァイル内でトークン要求の対象となる開始(先頭)ペー
ジ番号と終了(最終)ページ番号をそれぞれ識別するた
めの範囲(フィールド802dおよび802e)を含
む。このメッセージ・タイプでは、コピーセット・フィ
ールド802fは使用しない。
【0052】UPGRADE 806は、クライアント
が特定のファイルに関するトークンについて読取りモー
ドから書込みモードへのアップグレードを希望している
ことを示す、クライアントからサーバへのメッセージで
ある。このメッセージは、これをアップグレード要求と
して識別するためのコマンド(フィールド802a)、
要求したトークン・アップグレードの対象となるファイ
ルを識別するためのファイルID(フィールド802
b)、ファイルIDフィールド802bによって識別さ
れたファイル内でトークン・アップグレード要求の対象
となる開始(先頭)ページ番号と終了(最終)ページ番
号をそれぞれ識別するための範囲(フィールド802d
および802e)を含む。このメッセージ・タイプで
は、モード・フィールド802cおよびコピーセット・
フィールド802fは使用しない。
【0053】GIVEUP(トークンの放棄)808
は、クライアントが特定のファイルまたはファイル内の
特定のページ範囲に関するトークンの放棄を希望してい
る(すなわち、今後はそのファイルに関するトークンの
保有を希望しない)ことを示す、クライアントからサー
バへのメッセージである。このメッセージは、これを放
棄要求として識別するためのコマンド(フィールド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)を含む。
【0055】OK(肯定応答)812は、第一のノード
からの要求が受け取られ授与されたことを示す、第一の
ノードから第二のノードへのメッセージである。このメ
ッセージは、これを肯定応答として識別するためのコマ
ンド(フィールド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)を含む。
【0057】REVOKE 816は、第二のクライア
ントが特定のファイルまたはファイル内の特定のページ
範囲に関するトークンを放棄するよう要求する、第一の
クライアントから第二のクライアントへのメッセージで
ある。このメッセージは、これを取消し要求として識別
するためのコマンド(フィールド802a)、要求した
取消しの対象となるファイルを識別するためのファイル
ID(フィールド802b)、ロック制御サーバ側でト
ークンの現在のモードを識別するためのモード(フィー
ルド802c)、ファイルIDフィールド802bによ
って識別されたファイル内でトークン取消し要求の対象
となる開始(先頭)ページ番号と終了(最終)ページ番
号をそれぞれ識別するための範囲(フィールド802d
および802e)を含む。このメッセージ・タイプで
は、コピーセット・フィールド802fは使用しない。
【0058】DOWNGRADE 818は、第二のク
ライアントが特定のファイルまたはファイル内の特定の
ページ範囲に関するトークンを書込みモードから読取り
モードへダウングレードするよう要求する、第一のクラ
イアントから第二のクライアントへのメッセージであ
る。このメッセージは、これをダウングレード要求とし
て識別するためのコマンド(フィールド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)に記載の方法。
【図面の簡単な説明】
【図1】本発明での使用に適した密結合システムを示す
図である。
【図2】本システムのトークン細分性タスクの流れ図で
ある。
【図3】本システムのローカル・ロック・マネージャの
ロック要求タスクの流れ図である。
【図4】LCSによるACQUIREおよびUPGRA
DE要求処理の流れ図である。
【図5】LCSによるCHANGE−TOKEN要求処
理の流れ図である。
【図6】一連のトークン要求によるLLMおよびLCS
テーブルの状態変化を示す図である。
【図7】一連のトークン要求によるLLMおよびLCS
テーブルの状態変化を示す図である。
【図8】一連のトークン要求によるLLMおよびLCS
テーブルの状態変化を示す図である。
【図9】一連のトークン要求によるLLMおよびLCS
テーブルの状態変化を示す図である。
【図10】一連のトークン要求によるLLMおよびLC
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】1つまたは複数の連結プロセッサを含む処
    理複合体で実行される2つまたはそれ以上のデータマネ
    ージャによって制御された共用データへのアクセス権を
    有する複数のプロセスによる共用データ資源へのアクセ
    スを管理するためのロック装置において、前記装置が a)共用データ資源に関連するロック制御サーバであっ
    て、前記ロック制御サーバが i)共用データ資源のデータ・オブジェクトのロック制
    御状況を記録するためのテーブル手段と、 ii)データ・オブジェクトに関して要求されたロック
    に応じて、データ・オブジェクトの競合ロック状況を報
    告するための手段とを含むロック制御サーバと、 b)複数のロック・マネージャであって、前記ロック・
    マネージャのそれぞれが i)データ・オブジェクトに関して指定モードのロック
    制御をロック制御サーバから授与するよう要求し、授与
    されない場合は、データ・オブジェクトに関して競合す
    る制御権を持つロック・マネージャのリストを受け取る
    ための手段と、 ii)データ・オブジェクトに関して競合する制御権の
    放棄を他のロック・マネージャに要求し、他のロック・
    マネージャから肯定応答を受け取るための手段と、 iii)このロック・マネージャがデータ・オブジェク
    トに関して指定モードのロック制御権を持っていること
    を反映するために、前記テーブル手段を更新するようロ
    ック制御サーバに要求するための手段と、 iv)データ・オブジェクトに関する適切なモードのロ
    ック制御をロック制御サーバから取得した後で、データ
    ・オブジェクトに関して指定モードのロックをローカル
    で授与するための手段とを含むロック・マネージャとを
    含むロック装置。
  2. 【請求項2】それぞれが専用のオペレーティング・シス
    テムの制御下にある複数のデータ処理ノードが通信ネッ
    トワークによって結合され、処理ノードの少なくとも一
    部が共用資源へのアクセスを制御するマルチコンピュー
    タ・システムで使用するためのロック装置において、前
    記ロック装置が a)共用資源を所有する各処理ノードに関連するロック
    制御サーバであって、前記ロック制御サーバが i)共用資源のデータ・オブジェクトのロック制御状況
    を記録するためのテーブル手段と、 ii)データ・オブジェクトに関して要求されたロック
    に応じて、データ・オブジェクトの競合ロック状況を報
    告するための手段とを含むロック制御サーバと、 b)複数のロック・マネージャであって、前記ロック・
    マネージャのそれぞれが別のノードによってアクセスが
    制御されるデータ・オブジェクトへのアクセスを要求す
    る1つのノードに関連し、さらに前記ロック・マネージ
    ャのそれぞれが i)データ・オブジェクトに関して指定モードのロック
    制御をロック制御サーバから授与するよう要求し、授与
    されない場合は、データ・オブジェクトに関して競合す
    る制御権を持つロック・マネージャのリストを受け取る
    ための手段と、 ii)データ・オブジェクトに関して競合する制御権の
    放棄を他のロック・マネージャに要求し、他のロック・
    マネージャから肯定応答を受け取るための手段と、 iii)データ・オブジェクトに関する適切なモードの
    ロック制御をロック制御サーバから取得した後で、デー
    タ・オブジェクトに関して指定モードのロックをローカ
    ルで授与するための手段とを含むロック・マネージャと
    を含むロック装置。
  3. 【請求項3】それぞれのノードがロック状態テーブルを
    含み、そのロック状態テーブルがノードが把握している
    ロックごとに項目を1つずつ含み、それぞれの項目がロ
    ックされている共用資源を識別するためのトークンID
    フィールドと、ロックのモードを示すモード・フィール
    ドと、そのノードで実行中のプロセスがデータ・オブジ
    ェクトに関するロックを持っているかどうかを示すロッ
    ク・ビット・フィールドとを含むことを特徴とする、請
    求項2に記載の装置。
  4. 【請求項4】データ・オブジェクトに関するロック制御
    を取得した後で、別のノードによってアクセスが制御さ
    れるデータ・オブジェクトに関するロックをノードによ
    ってローカルで授与するための手段をさらに含むことを
    特徴とする、請求項2に記載の装置。
  5. 【請求項5】それぞれが専用のオペレーティング・シス
    テムの制御下にある複数のデータ処理ノードが通信ネッ
    トワークによって結合され、処理ノードの少なくとも1
    つがその中に複数のデータ・オブジェクトが格納されて
    いる共用資源へのアクセスを制御するマルチコンピュー
    タ・システムのクライアント・ノードで使用するための
    ロック装置において、前記ロック装置がクライアント・
    ノードで実行中のプロセスから指定のデータ・オブジェ
    クトに関するロック要求を受け取るための要求受取り手
    段と、 データ・オブジェクトの現在のロック状態を判別するた
    めのロック状態判別手段と、 現在のロック状態がロック要求と両立するかどうかを判
    別するためのロック比較手段と、 現在のロック状態が要求されたロックと両立しないとい
    うロック比較手段による判別に対する応答として、別の
    ノードが両立しないロックを放棄し、放棄が完了したと
    きに肯定応答を行うよう要求するメッセージをクライア
    ント・ノードからロックを有する別のノードにネットワ
    ーク上で送るためのロック要求生成手段と、 ネットワークからの応答を分析し、別のノードからの肯
    定応答に対する応答として、そのノードが指定のデータ
    ・オブジェクトに関するロックを持っていることを示す
    ためにロック状態を更新するための更新手段とを含むロ
    ック装置。
  6. 【請求項6】ノードが所有していないデータ・オブジェ
    クトの少なくとも一部について現在のロック状態を格納
    するためのロック状態格納手段をさらに含み、 ロック比較手段が、ロック要求に対する応答として、要
    求されたロック状態とロック状態格納手段に格納された
    現在のロック状態とを比較し、データ・オブジェクト・
    ロック要求と両立する現在のロック状態がロック状態格
    納手段に格納されているかどうかを示すための手段を含
    むことを特徴とする、請求項5に記載のロック装置。
  7. 【請求項7】ロック要求手段に連結されたファイル所有
    者ディレクトリをさらに含み、ファイル所有者ディレク
    トリがシステム内の共用資源とその資源のそれぞれの所
    有者のリストを含むことを特徴とする、請求項5に記載
    のロック装置。
  8. 【請求項8】それぞれが専用のオペレーティング・シス
    テムの制御下にある複数のデータ処理ノードが通信ネッ
    トワークによって結合され、少なくとも1つのサーバが
    共用資源へのアクセスを制御するマルチコンピュータ・
    システムにおいて、 共用データ資源のデータ・オブジェクトのロック制御状
    況をサーバ側で記録するステップと、 特定のデータ・オブジェクトに関して指定のモードのロ
    ック制御を授与するよう第一のノードが要求するステッ
    プと、 データ・オブジェクトに関して要求されたロックに対す
    る応答として、データ・オブジェクトの競合ロック状況
    を有するノードのリストをサーバ側が報告するステップ
    と、 リストの受取りに対する応答として、リストに記載され
    ている他のノードがデータ・オブジェクトに関して競合
    する制御権を放棄するよう第一のノードが要求するステ
    ップと、 競合する制御権を放棄したという他のノードからの肯定
    応答に対する応答として、第一のノードがデータ・オブ
    ジェクトに関して特定のモードのロック制御を持ってい
    ることを反映するために、サーバがロック制御状況を更
    新するよう第一のノードが要求するステップとを含むロ
    ック方法。
  9. 【請求項9】データ・オブジェクトに関するロック制御
    を取得した後で、データ・オブジェクトに関して第一の
    ノードがローカルでロックを授与するステップをさらに
    含むことを特徴とする、請求項8に記載の方法。
  10. 【請求項10】少なくとも1つのプロセッサ上で実行中
    の2つまたはそれ以上のプロセスによって共用されるデ
    ータ・オブジェクトに関するロック要求の細分性を判別
    するための方法において、 ロックが必要な特定のデータ・オブジェクトを識別する
    ステップと、 (a)データ・オブジェクトがディレクトリ・タイプの
    ファイルかどうかを判別するステップと、 (b)データ・オブジェクトが所定のサイズより小さい
    かどうかを判別するステップと、 (c)データ・オブジェクトの先頭ページへのアクセス
    が必要かどうかを判別するステップと、 (d)そのアクセスが前のアクセスに連続するものかど
    うかを判別するステップと、 (e)そのアクセスが所定のページ数を超えるページ数
    へのアクセスかどうかを判別するステップと、 (f)ステップ(a)、(b)、(c)、(d)、およ
    び(e)のいずれかに対して肯定応答が得られたとき
    に、データ・オブジェクト全体に関するロックを要求
    し、肯定応答が得られなかったときに、アクセス対象の
    特定のページに関するロックを要求するステップとを含
    む方法。
  11. 【請求項11】少なくとも1つのプロセッサ上で実行中
    の2つまたはそれ以上のプロセスによって共用されるデ
    ータ・オブジェクトに関するロック要求の細分性を判別
    するためのシステムにおいて、 ロックが必要な特定のデータ・オブジェクトを識別する
    ためのプロセス手段と、 識別用の手段に結合され、要求対象のロックの細分性を
    判別するための細分性手段であって、データ・オブジェ
    クトがディレクトリ・タイプのファイルかどうか、デー
    タ・オブジェクトのサイズ、データ・オブジェクトの先
    頭ページへのアクセスが必要かどうか、そのアクセスが
    前のアクセスに連続するものかどうか、およびそのアク
    セスが所定のページ数を超えるページ数へのアクセスか
    どうかに応じて細分性を判別する細分性手段と、 細分性手段に結合され、細分性手段によって指定された
    データ・オブジェクトの特定ページに関するロックを要
    求するためのロック要求手段とを含むシステム。
  12. 【請求項12】ロック要求手段が、 データ・オブジェクトの現在のロック状態を判別するた
    めのロック状態判別手段と、 現在のロック状態がロック要求と両立するかどうかを判
    別するためのロック比較手段と、 現在のロック状態が要求されたロックと両立しないとい
    うロック比較手段による判別に対する応答として、ロッ
    クを有する別のノードが両立しないロックを放棄し、放
    棄が完了したときに肯定応答するよう要求するメッセー
    ジをその別のノードにネットワーク上で送るためのロッ
    ク要求生成手段と、 ネットワークからの応答を分析し、別のノードからの肯
    定応答に対する応答として、ノードが指定のデータ・オ
    ブジェクトに関するロックを持っていることを示すため
    にロック状態を更新するための更新手段とを含むことを
    特徴とする、請求項11に記載のシステム。
  13. 【請求項13】少なくとも1つのプロセッサ上で実行中
    の2つまたはそれ以上のプロセスによって共用されるデ
    ータ・オブジェクトに関するロック要求の細分性を判別
    するためのシステムにおいて、 ロックが必要な特定のデータ・オブジェクトを識別する
    ためのプロセス手段と、 識別用の手段に結合され、要求対象のロックの細分性を
    判別するための細分性手段であって、1組の規則に応じ
    て細分性を判別する細分性手段と、 細分性手段に結合され、細分性手段によって指定された
    データ・オブジェクトの特定ページに関するロックを要
    求するためのロック要求手段とを含むシステム。
  14. 【請求項14】1組の規則が、データ・オブジェクトの
    属性と、要求されたアクセスの属性に適用されることを
    特徴とする、請求項13に記載のシステム。
  15. 【請求項15】要求されたアクセスの属性が、データ・
    オブジェクトの先頭ページへのアクセスが必要かどう
    か、アクセスが前のアクセスに連続するものかどうか、
    およびアクセスが所定のページ数を超えるページ数への
    アクセスかどうかを含むことを特徴とする、請求項14
    に記載のシステム。
  16. 【請求項16】データ・オブジェクトの属性が、データ
    ・オブジェクトがディレクトリ・タイプのファイルかど
    うかおよびデータ・オブジェクトのサイズを含むことを
    特徴とする、請求項14に記載のシステム。
  17. 【請求項17】それぞれが専用のオペレーティング・シ
    ステムの制御下にある複数のデータ処理ノードが通信ネ
    ットワークによって結合され、少なくとも1つのサーバ
    が共用資源へのアクセスを制御するマルチコンピュータ
    ・システムにおいて、 共用データ資源のデータ・オブジェクトのロック制御状
    況をサーバ側で記録するステップと、 ロックが必要なデータ・オブジェクトを識別するステッ
    プと、 データ・オブジェクトのロック要求対象部分を判別する
    ステップと、 データ・オブジェクトのロック対象部分に関して指定の
    モードのロック制御を授与するよう第一のノードが要求
    するステップと、 データ・オブジェクトに関して要求されたロックに対す
    る応答として、データ・オブジェクトの競合ロック状況
    を有するノードのリストをサーバ側が報告するステップ
    と、 リストの受取りに対する応答として、リストに記載され
    ている他のノードがデータ・オブジェクトに関して競合
    する制御権を放棄するよう第一のノードが要求するステ
    ップと、 競合する制御権を放棄したという他のノードからの肯定
    応答に対する応答として、第一のノードがデータ・オブ
    ジェクトに関して特定のモードのロック制御を持ってい
    ることを反映するために、サーバがロック制御状況を更
    新するよう第一のノードが要求するステップとを含むロ
    ック方法。
  18. 【請求項18】判別ステップが、データ・オブジェクト
    の属性と、要求されたデータ・オブジェクトへのアクセ
    スの特性とに1組のヒューリスティックな規則を適用す
    るステップを含むことを特徴とする、請求項17に記載
    の方法。
  19. 【請求項19】1組のヒューリスティックな規則を適用
    するステップが、データ・オブジェクトの先頭ページへ
    のアクセスが必要かどうか、アクセスが前のアクセスに
    連続するものかどうか、およびアクセスが所定のページ
    数を超えるページ数へのアクセスかどうかを判別するス
    テップを含むことを特徴とする、請求項15に記載の方
    法。
  20. 【請求項20】判別ステップが、 (a)データ・オブジェクトがディレクトリ・タイプの
    ファイルかどうかを判別するステップと、 (b)データ・オブジェクトが所定のサイズより小さい
    かどうかを判別するステップと、 (c)データ・オブジェクトの先頭ページへのアクセス
    が必要かどうかを判別するステップと、 (d)そのアクセスが前のアクセスに連続するものかど
    うかを判別するステップと、 (e)そのアクセスが所定のページ数を超えるページ数
    へのアクセスかどうかを判別するステップと、 (f)ステップ(a)、(b)、(c)、(d)、およ
    び(e)のいずれかに対して肯定応答が得られたとき
    に、データ・オブジェクト全体に関するロックを要求
    し、肯定応答が得られなかったときに、アクセス対象の
    特定のページに関するロックを要求するステップとを含
    むことを特徴とする、請求項17に記載の方法。
JP6289415A 1994-01-26 1994-11-24 ロック装置及び方法、ロック要求の細分性を判別するための装置及び方法 Expired - Fee Related JP2705717B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 インターナショナル・ビジネス・マシーンズ・コーポレイション 共用デ―タシステムにおけるデ―タ資源のロッキング方法及びシステム間のデ―タロック管理方法

Cited By (8)

* Cited by examiner, † Cited by third party
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