(57)【要約】  本発明は、Ｎ個のエントリをもつ大きなデータ構造のために、エントリを表す値に対してハッシュ関数を実行し、ハッシュ値１乃至Ｍに変換させることによって、上記エントリに対応するロックのためのメモリ空間がセーブされ得るという考えに基づく。このハッシュ値は、Ｍロックのテーブルに索引を付けるために用いられる。Ｍの値は、通常、Ｎの値よりもずっと小さく、そのためにメモリ空間の必要性を減らす。十分大きいＭが選定され、良好なハッシュ関数が選択されるならば、衝突を伴う問題は非常に小さくなるであろう。加えて、第２のエントリのハッシュ値が第１のエントリのハッシュ値と等しい場合に生じるデッドロックに関する問題は、第２のエントリのハッシュ値が第１のエントリのハッシュ値より小さい場合、第１のエントリのハッシュ値を第２のエントリのハッシュ値とスワップすることによって対処される。
2005509944.tif 000002
【特許請求の範囲】
【請求項１】
再帰的なロックが用いられる、複数のプロセスからアクセス可能なエントリ、特に大きなデータ構造におけるエントリをロックするための方法であって、
第１のエントリを、１とＭとの間の第１の値にハッシュするステップと、
第２のエントリを、１とＭとの間の第２の値にハッシュするステップと、
前記第２の値が前記第１の値より小さい場合、前記第１のハッシュ値を前記第２のハッシュ値とスワップするステップと、
第１のプロセスによって、前記ハッシュされた第１の値に対応する第１のロックを取得するステップと、
第２のプロセスによって、前記ハッシュされた第２の値に対応する第２のロックを取得するステップと、を有する方法において、
前記第１のプロセスは、前記ハッシュされた第１の値に基づいて、前記第１のエントリへの排他的なアクセスを許可され、
前記第２のプロセスは、前記ハッシュされた第２の値に基づいて、前記第２のエントリへの排他的なアクセスを許可され、
前記第１のプロセスは、前記第１のエントリに対して処理を実行した後、前記第１のロックを解除することが可能にされ、
前記第２のプロセスは、前記第２のエントリに対して処理を実行した後、前記第２のロックを解除することが可能にされる方法。
【請求項２】
非再帰的なロックが用いられる、複数のプロセスからアクセス可能なエントリ、特に大きなデータ構造におけるエントリをロックするための方法であって、
第１のエントリを、１とＭとの間の第１の値にハッシュするステップと、
第２のエントリを、１とＭとの間の第２の値にハッシュするステップと、
前記第２の値が前記第１の値より小さい場合、前記第１のハッシュ値を前記第２のハッシュ値とスワップするステップと、
第１のプロセスによって、前記ハッシュされた第１の値に対応する第１のロックを取得するステップと、
前記第１のハッシュ値が前記第２のハッシュ値と等しくない場合、第２のプロセスによって、前記ハッシュされた第２の値に対応する第２のロックを取得するステップと、を有する方法において、
前記第１のプロセスは、前記ハッシュされた第１の値に基づいて、前記第１のエントリへの排他的なアクセスを許可され、
前記第２のプロセスは、前記ハッシュされた第２の値に基づいて、前記第２のエントリへの排他的なアクセスを許可され、
前記第１のプロセスは、前記第１のエントリに対して処理を実行した後、前記第１のロックを解除することが可能にされ、
前記第１のハッシュ値が前記第２のハッシュ値と等しくない場合、前記第２のプロセスは、前記第２のエントリに対して処理を実行した後、前記第２のロックを解除することが可能にされる方法。  
【請求項３】
前記Ｍの値が、前記データ構造に同時にアクセスしているプロセスの数と、前記プロセスが処理を実行するために平均的にロックを行う必要があるエントリの数との乗数に比例する、請求項１又は２に記載の方法。
【請求項４】
再帰的なロックが用いられる、複数のプロセスからアクセス可能なエントリ、特に大きなデータ構造におけるエントリをロックするための装置であって、
第１のエントリを１とＭとの間の第１の値にハッシュし、第２のエントリを１とＭとの間の第２の値にハッシュするためのハッシュ手段と、
前記第１のハッシュ値を前記第２のハッシュ値と比較するための比較手段と、
前記比較手段が、前記第２の値が前記第１の値より小さいと決定した場合、前記第１のハッシュ値を前記第２のハッシュ値とスワップするためのスワップ手段と、
第１のプロセスが、前記ハッシュされた第１の値に対応する第１のロックを取得することを可能にするための第１のロック取得手段と、
第２のプロセスが、前記ハッシュされた第２の値に対応する第２のロックを取得することを可能にするための第２のロック取得手段と、
前記ハッシュされた第１の値に基づいて、前記第１のエントリへの前記第１のプロセスの排他的なアクセスを許可すると共に、前記ハッシュされた第２の値に基づいて、前記第２のエントリへの前記第２のプロセスの排他的なアクセスを許可するためのアクセス許可手段と、
前記第１のプロセスが、前記第１のエントリに対して処理を実行した後、前記第１のロックを解除することを可能にすると共に、前記第２のプロセスが、前記第２のエントリに対して処理を実行した後、前記第２のロックを解除することを可能にするためのロック解除手段と、を有する装置。  
【請求項５】
非再帰的なロックが用いられる、複数のプロセスからアクセス可能なエントリ、特に大きなデータ構造におけるエントリをロックするための装置であって、
第１のエントリを１とＭとの間の第１の値にハッシュし、第２のエントリを１とＭとの間の第２の値にハッシュするためのハッシュ手段と、
前記第１のハッシュ値を前記第２のハッシュ値と比較するための比較手段と、
前記比較手段が、前記第２の値が前記第１の値より小さいと決定した場合、前記第１のハッシュ値を前記第２のハッシュ値とスワップするためのスワップ手段と、
第１のプロセスが、前記ハッシュされた第１の値に対応する第１のロックを取得することを可能にするための第１のロック取得手段と、
前記比較手段が、前記第１のハッシュ値が前記第２のハッシュ値と等しくないと決定した場合、第２のプロセスが、前記ハッシュされた第２の値に対応する第２のロックを取得することを可能にするための第２のロック取得手段と、
前記ハッシュされた第１の値に基づいて、前記第１のエントリへの前記第１のプロセスの排他的なアクセスを許可すると共に、前記ハッシュされた第２の値に基づいて、前記第２のエントリへの前記第２のプロセスの排他的なアクセスを許可するためのアクセス許可手段と、
前記比較手段が、前記第１のハッシュ値が前記第２のハッシュ値と等しくないと決定した場合、前記第１のプロセスが、前記第１のエントリに対して処理を実行した後、前記第１のロックを解除することを可能にすると共に、前記第２のプロセスが、前記第２のエントリに対して処理を実行した後、前記第２のロックを解除することを可能にするためのロック解除手段と、を有する装置。
【請求項６】
Ｎ個のエントリを有するデータ構造との並行処理のためのコンピュータシステムであって、
請求項４に記載の再帰的なロックを用いて、複数のプロセスからアクセス可能なエントリ、特に大きなデータ構造におけるエントリをロックするための装置、及び／又は、
請求項５に記載の非再帰的なロックを用いて、複数のプロセスからアクセス可能なエントリ、特に大きなデータ構造におけるエントリをロックするための装置を有するコンピュータシステム。  
【請求項７】
請求項１、２又は３に記載の方法の各ステップをコンピュータに実行させるためのコンピュータプログラムコード手段を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再帰的なロックを用いてエントリをロックするための方法、非再帰的なロックを用いてエントリをロックする方法、上記方法それぞれに対応する装置、コンピュータシステム及びコンピュータプログラムに関する。
【背景技術】
【０００２】
演算効率を高めるために、データ構造は、種々のタスクを実行するように同じ情報を要求する複数のプロセスによって共用され得る。共用データ構造へのアクセスを同期させることは、複数のプロセッサを備えるコンピュータの演算にとって大きな課題であり、とりわけ、複数のプロセッサがデータ構造の情報を更新（アップデート）しようとするときはいつも重要である。効率的な同期化がなくては、共用データ構造を含むシステムの性能は大幅に低下する。あるプロセッサがデータ構造の更新を実行する場合、全てのデータ構造が、アクセス不可能であるか又は他のプロセッサに「ロックされる」ことは一般的である。換言すれば、未更新の(non-updating，ノンアップデート)プロセッサは、こうした構造に含まれる情報がアクセスされ得るか又は更新され得る前に、データ構造がアンロックされるまで待たなければならない。
【０００３】
従って、複数のプロセスを同時に実行するデータ処理システムは、複数のプロセッサによって共用される共通のリソースへのアクセスを同期させるための手段をもたなければならない。通常、データ処理システムは、ビジー待機の方策を採用することによって共用リソースへのこのような同期化アクセスを供給している。ビジー待機中、各々のプロセスはリソースに対するリクエストを行い、結果が使用可能になるまでアイドル待機する。結果が最終的に使用可能になる場合、アイドルプロセスはリソースへのアクセスを得る。このアプローチは、十分な同期化を供給するけれども、プロセッサがリソースについて待機中にアイドル状態でいなければならないという欠点をもつ。
【０００４】
データ処理リソースとしてのデータ構造は、値を保持するための値フィールドと、メモリアドレスにおける値フィールドのロック状態を示すためのロックフィールドとを含む単一のメモリアドレスを有する。このロックフィールドが、値フィールドがロックされることを示す場合、値フィールドをロックしたプロセス以外のプロセスは、値フィールドへのアクセスを得ることができない。ロック状態がアンロックされる場合、いかなるプロセスでもリソースへのアクセスを得ることができる。値フィールドは、データを保持してもよく、又は代替例として、この値フィールドは、ロック又はアンロックのリクエストの延ばされたリストへのポインタを保持してもよい。これらの２種類の値は、値フィールドの使用を共用して、効率を最適化する。これらが値フィールドに同時に記憶されることは決してないであろうことから、これらは同じ値フィールドを共用することができる。２つの値の性質は、これらの値を本質的に互いに排他的にする。代替例として、ポインタは、データをもつ値フィールドを共用しないが、むしろ値フィールドとは異なる別個のフィールドに記憶される。
【０００５】
複数のプロセスからアクセスされるには必要である多数のエントリをもつ大きなデータ構造において、このデータ構造の各々のエントリは、プロセスが上記エントリを排他的に用いることができる前に該プロセスが取得しなければならないロックを有する。データ構造のエントリが上記プロセスによって用いられているとき、このプロセスはロックを再び解除(release，解放)しなければならないので、他のプロセスが上記エントリにアクセスすることができる。プロセスが、多数のエントリに対して何らかの演算を実行しなければならない場合、このプロセスは、通常、上記演算を実行するための全てのロックを取得すると共に、その後こうしたロックを解除しなければならないであろう。ロックの取得は、デッドロックを避けるために固定オーダーで行われなければならない。
【０００６】
このロックは、ロックされた状態又はロックされていない状態を表すブール（Boolean，論理）変数であり得るが、ロックによってブロックされる他のプロセスのリストを含むこともよくある。Ｎ個のエントリのデータ構造は、Ｎ個のロックを必要とする。こうしたロックは、データ構造の一部であり得るか、又は別個のデータ構造内に記憶され得る。ロックテーブルはオブジェクトのシーケンスであり、ロックテーブルエントリと呼ばれる。ロックテーブルエントリの数は、テーブルが生成されるときに決定される。ロックテーブルエントリは、０から始まり、１を減じたロックテーブルエントリカウントまで数えられる。
【０００７】
米国特許第５，３３９，４２７号公報は、共用メモリへのアクセスをもつプロセスにおいて実行される複数の共用するロック管理によって用いられる、分配されたロックプロトコルをサポートするためのロック管理手段に関する。ロックマネージャの間で共用されるリソースをロックするよう求めるリクエストは、まず、ローカルハッシュテーブルと照合され、その後、必要に応じてシステムロック管理手段（ＳＬＭ）に転送される。このＳＬＭは、共用データ構造内のエントリの回復及びロックに関するインタフェースを提供する。ＳＬＭの制御構造は、ハッシュテーブルと、直列化（serialize，シリアライズ）されたリソースの状態を表すハッシュテーブルエントリから連鎖された制御ブロックとから成る。ＳＬＭは、ロックテーブルエントリを各々のハッシュテーブルエントリと関連させる。ハッシュテーブル値は、ハッシュテーブル内のどのエントリが、特定のリソースの直列化を管理するために用いられるべきかを示す。ただし、これらのロックは、連鎖（チェーン）内に置かれることによって、オープンハッシュテーブル内に置かれる。ハッシュ値に従って、どの連鎖が用いられるべきかが決定されるか又は判断される。
【０００８】
ハッシング(hashing，ハッシュ法)は、文字のストリングを、元のストリングを表す又は通常より短い固定長の値又はキーに変換するためのよく知られた技法である。より短いハッシュキーを用いてアイテムを見つけ出すことは、元の値を用いて該アイテムを見つけ出すことより速いので、ハッシングは、データベースにおいてアイテムを索引（インデックス）付け且つ検索するために用いられる。ハッシュ関数は、元の値又はキーに索引を付けるために用いられ、その後、こうした値又はキーと関連するデータが検索されるたびに用いられる。このように、ハッシングは常に一方向の演算である。良好なハッシュ関数は、更に、２つの異なる入力部から同じハッシュ値を生成するべきでない。もし生成するならば、これは衝突(collision，コリジョン)として知られる。ただし、衝突の極めて低いリスクを提供するハッシュ関数は、許容可能であるとみなされてもよい。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、複数のプロセスからアクセスされる大きなデータソースのためのエントリロックを改善することにある。
【課題を解決するための手段】
【００１０】
この目的は、請求項１に記載の再帰的なロックを用いてエントリをロックするための方法と、請求項２に記載の非再帰的なロックを用いてエントリをロックするための方法と、請求項４及び５に記載の上記方法それぞれに対応する装置とによって解決される。
【００１１】
本発明は、Ｎ個のエントリをもつ大きなデータ構造のために、エントリを表す値に対してハッシュ関数を実行し、ハッシュ値１乃至Ｍに変換させることによって、上記エントリに対応するロックのためのメモリ空間がセーブされ得るという考えに基づく。このハッシュ値は、Ｍロックのテーブルに索引を付けるために用いられる。Ｍの値は、通常、Ｎの値よりもずっと小さく、そのためにメモリ空間の必要性を減らす。十分大きいＭが選定され、良好なハッシュ関数が選択されるならば、衝突を伴う問題は非常に小さくなるであろう。加えて、第２のエントリのハッシュ値が第１のエントリのハッシュ値と等しい場合に生じるデッドロックに関する問題は、第２のエントリのハッシュ値が第１のエントリのハッシュ値より小さい場合、第１のエントリのハッシュ値を第２のエントリのハッシュ値とスワップすることによって対処される。
【００１２】
再帰的なロックが用いられる場合、第１のプロセスが取得するものは、第１のハッシュ値に対応する第１のロックであり、第２のプロセスが取得するものは、第２のハッシュ値に対応する第２のロックである。第１のプロセス及び第２のプロセスは、第１のロック及び第２のロックをそれぞれ取得した後、上記データ構造において第１のエントリ及び第２のエントリへの排他的なアクセスを許可される。他のプロセスが上記エントリにアクセスすることができるように、上記第１のプロセス及び第２のプロセスは、必要な処理を実行し、その後、第１のロック及び第２のロックを再び解除する。
【００１３】
非再帰的なロックが用いられる場合、エントリロックは、再帰的なロックの場合と非常に類似した態様で実行されるであろうが、第２のプロセスは、第１のハッシュ値が第２のハッシュ値と等しくない場合、第２のエントリに対応する第２のロックを取得することができるだけであろう。更に、第２のプロセスは、第１のハッシュ値が第２のハッシュ値と等しくない場合、第２のロックを解除することができるだけであろう。
【００１４】
本発明の好ましい実施形態において、Ｍの値は、上記データ構造に同時にアクセスしているプロセスの数と、上記プロセスが処理を実行するために平均的にロックを行う必要があるエントリの数との乗数に比例する。
【００１５】
本発明によれば、請求項６に記載のコンピュータシステムが更に提供される。
【００１６】
更に、本発明は、請求項７に記載のコンピュータプログラム（プロダクト）を提供する。
本発明は、以下に添付の図面を参照して更に詳細に説明されるであろう。
【発明を実施するための最良の形態】
【００１７】
図１には、大きなデータ構造においてエントリをロックするための装置のブロック図が示されている。この装置は、ハッシュ手段１０と、比較手段２０と、スワップ手段３０と、第１のロック取得手段４０と、第２のロック取得手段５０と、アクセス許可手段６０と、ロック解除手段７０とを有している。
【００１８】
ハッシュ手段１０は、上記データ構造におけるエントリを表す値を入力信号として受け取り、この入力信号のハッシュ値を比較手段２０及びスワップ手段３０に出力する。比較手段２０は、上記入力信号の比較結果をスワップ手段３０に出力する。スワップ手段３０は、比較手段２０からの比較結果と、ハッシュ手段１０からの出力信号とを受け取り、これらのハッシュ値を第１のロック取得手段４０及び第２のロック取得手段５０に出力する。第１のロック取得手段４０及び第２のロック取得手段５０は、第１のプロセス及び第２のプロセスにそれぞれ接続されると共に、アクセス許可手段６０に接続される。このアクセス許可手段６０が、順に、第１のプロセス及び第２のプロセスに接続されると共に、ロック解除手段７０に接続される。ロック解除手段７０は、更に、第１のプロセス及び第２のプロセスに接続される。
【００１９】
本発明の第１の実施形態によれば、同じプロセスによって複数回ロックされることができる再帰的なロックが用いられる。ハッシュ手段１０は、第１のエントリｅ１を表す値及び第２のエントリｅ２を表す値を入力信号として受け取る。ハッシュ手段１０は、第１のエントリｅ１及び第２のエントリｅ２を表している上記受け取られた値に対してハッシュ関数を実行し、１とＭとの間の第１のハッシュ値ｉ及び第２のハッシュ値ｊに変換する。これらのハッシュ値は、Ｍ個のロックのテーブルに索引を付けるために用いられる。比較手段２０は、第１のハッシュ値ｉ及び第２のハッシュ値ｊを受け取り、これらの値を比較し、比較結果を出力する。スワップ手段３０は、比較手段２０からの比較結果と、第１のハッシュ値ｉ及び第２のハッシュ値ｊとを受け取り、比較手段２０からの比較結果に従って、第２の値ｊが第１の値ｉよりも小さい場合、第１のハッシュ値ｉを第２のハッシュ値ｊとスワップする。この第１のハッシュ値及び第２のハッシュ値のスワップ（swap，交換）は、第１のハッシュ値が第２のハッシュ値に等しい場合のデッドロックを避けるために、第２の値ｊが第１の値ｉより小さい場合に実行される。その後、スワップ手段３０は、第１のハッシュ値ｉを第１のロック取得手段４０に出力し、第２のハッシュ値ｊを第２のロック取得手段５０に出力する。
【００２０】
第１のロック取得手段４０は、第１のプロセスが第１のハッシュ値ｉに対応する第１のエントリｅ１について第１のロックであるロック（ｉ）を取得することを可能にする。第２のロック取得手段５０は、第２のプロセスが第２のハッシュ値ｊに対応する第２のエントリｅ２について第２のロックであるロック（ｊ）を取得することを可能にする。アクセス許可手段６０は、取得された第１のロックであるロック（ｉ）に基づいて、第１のエントリｅ１への排他的なアクセスを第１のプロセスに対して許可すると共に、取得された第２のロックであるロック（ｊ）に基づいて、第２のエントリｅ２への排他的なアクセスを第２のプロセスに対して許可する。
【００２１】
第１のプロセス及び第２のプロセスが、第１のロック（ｉ）及び第２のロック（ｊ）を取得したとき、これらの第１のプロセス及び第２のプロセスは、上記データ構造において第１のエントリｅ１及び第２のエントリｅ２に対して必要な処理を実行することができる。第１のプロセス及び第２のプロセスが、第１のエントリｅ１及び第２のエントリｅ２に対して処理を実行したとき、これらの第１のプロセス及び第２のプロセスは、第１のエントリｅ１の第１のロックであるロック（ｉ）及び第２のエントリｅ２の第２のロックであるロック（ｊ）を解除するよう要求される。ロック解除手段７０は、第１のプロセス及び第２のプロセスが、第１のエントリｅ１に対する第１のロックであるロック（ｉ）及び第２のエントリｅ２に対する第２のロックであるロック（ｊ）を解除することを可能にする。
【００２２】
上記第１のエントリ及び上記第２のエントリは、この場合、他のプロセスによって排他的にアクセスされるために解放される。
【００２３】
本発明の第２の実施形態によれば、同じプロセスによって複数回ロックされることができない非再帰的なロックが用いられる。第２のロック取得手段５０は、更に、比較手段２０に接続される。ロック解除手段７０は、更に、比較手段２０に接続される。ハッシュ手段１０は、第１のエントリｅ１を表す値及び第２のエントリｅ２を表す値を入力信号として受け取る。ハッシュ手段１０は、第１のエントリｅ１及び第２のエントリｅ２を表している上記受け取られた値に対してハッシュ関数を実行し、１とＭとの間の第１のハッシュ値ｉ及び第２のハッシュ値ｊに変換する。これらのハッシュ値は、Ｍ個のロックのテーブルに索引を付けるために用いられる。比較手段２０は、第１のハッシュ値ｉ及び第２のハッシュ値ｊを受け取り、これらの値を比較し、比較結果を出力する。スワップ手段３０は、比較手段２０からの比較結果と、第１のハッシュ値ｉ及び第２のハッシュ値ｊとを受け取り、比較手段２０からの比較結果に従って、第２の値ｊが第１の値ｉよりも小さい場合、第１のハッシュ値ｉを第２のハッシュ値ｊとスワップする。この第１のハッシュ値及び第２のハッシュ値のスワップは、第１のハッシュ値が第２のハッシュ値に等しい場合のデッドロックを避けるために、第２の値ｊが第１の値ｉより小さい場合に実行される。その後、スワップ手段３０は、第１のハッシュ値ｉを第１のロック取得手段４０に出力し、第２のハッシュ値ｊを第２のロック取得手段５０に出力する。
【００２４】
第１のロック取得手段４０は、第１のプロセスが第１のハッシュ値ｉに対応する第１のエントリｅ１について第１のロックであるロック（ｉ）を取得することを可能にする。第２のロック取得手段５０は、第２のハッシュ値ｊが第１のハッシュ値ｉと等しくない場合、第２のプロセスが第２のハッシュ値ｊに対応する第２のエントリｅ２について第２のロックであるロック（ｊ）を取得することを可能にする。アクセス許可手段６０は、取得された第１のロックであるロック（ｉ）に基づいて、第１のエントリｅ１への排他的なアクセスを第１のプロセスに対して許可すると共に、取得された第２のロックであるロック（ｊ）に基づいて、第２のエントリｅ２への排他的なアクセスを第２のプロセスに対して許可する。  
【００２５】
第１のプロセス及び第２のプロセスが、第１のロック（ｉ）及び第２のロック（ｊ）を取得したとき、これらの第１のプロセス及び第２のプロセスは、上記データ構造において第１のエントリｅ１及び第２のエントリｅ２に対して必要な処理を実行することができる。第１のプロセス及び第２のプロセスが、第１のエントリ及び第２のエントリに対して処理を実行したとき、これらの第１のプロセス及び第２のプロセスは、第１のエントリｅ１の第１のロック及び第２のエントリｅ２の第２のロックを解除するよう要求される。ロック解除手段７０は、比較手段２０によって決定されるのに応じて第２のハッシュ値ｊが第１のハッシュ値ｉと等しくない場合、第１のプロセスが第１のエントリｅ１に対する第１のロックであるロック（ｉ）を解除することを可能にすると共に、第２のプロセスが第２のエントリｅ２に対する第２のロックであるロック（ｊ）を解除することを可能にする。
【００２６】
第１のエントリｅ１及び第２のエントリｅ２は、この場合、他のプロセスによって排他的にアクセスされるために解放される。
【００２７】
好ましくは、Ｍの値は、上記データ構造に同時にアクセスしているプロセスの数と、上記プロセスが処理を実行するために平均的にロックを行う必要があるエントリの数との乗数に比例する。
【００２８】
本発明の原理を適用することによって、同じ値にハッシュされた種々の異なるエントリへのアクセスが直列化されるので、ロックのためのメモリをセーブすることが可能になるが、 並列性は低減され得る。しかし、良好なハッシュ関数を用いること及び十分に大きいＭを選定することによって、並列性の低減は非常に小さくなるであろう。
【００２９】
エントリをロックするための上記装置は、好ましくは、複数のプロセスのハンドリング及び並行（コンカレント）処理が可能であるコンピュータシステムにおいて用いられる。
【００３０】
当業者には明瞭であろうが、２つのエントリ用の装置のみが上記に説明されているけれども、２つを上回るエントリをもつ装置が、本発明の原則に従って配されることも可能である。
【図面の簡単な説明】
【００３１】
【図１】データ構造においてエントリをロックするための装置を示すブロック図である。
【図１】
2005509944.tif 000003
【国際調査報告】
2005509944.tif 000004
2005509944.tif 000005