【手続補正書】
【提出日】平成20年6月27日(2008.6.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
共有データ要素への既存の参照が除去されるまで前記共有データ要素の除去を据え置くための猶予時間を検出する方法であって、
前記共有データ要素へのアクセスを共有する処理エンティティ間で循環されるトークンを確立するステップと、
前記トークンが前記処理エンティティ間を周回したときに、前記猶予時間が経過したと判断するステップと、
前記処理エンティティによって共有される前記共有データ要素又は他のデータ要素に関する除去処理を行う必要があるかどうかを示す分散インジケータを、前記処理エンティティの各々と関連付けるステップと、
前記処理エンティティにおいてトークン処理を行う前に、前記処理エンティティの各々において前記分散インジケータを処理するステップと、
前記分散インジケータによって保証されたときだけ、前記処理エンティティにおいてトークン処理を行うステップと、
を含み、
前記分散インジケータがこうした処理を保証しないときは、不要なトークン処理を回避することが可能な方法。
【請求項２】
前記分散インジケータの各々は、前記処理エンティティの１つと関連付けられたキャッシュ・メモリにローカル変数として格納される、請求項１に記載の方法。
【請求項３】
前記分散インジケータは、前記処理エンティティによって共有されるデータ要素を除去するための保留要求を有する前記処理エンティティの数、又は、前記処理エンティティによって共有されるデータ要素を除去するための保留要求の数を表す、請求項１に記載の方法。
【請求項４】
前記分散インジケータは、前記処理エンティティによって共有されるデータ要素を除去するための保留要求を有する前記処理エンティティを特定するビットマップを表す、請求項１、請求項２、又は請求項３に記載の方法。
【請求項５】
前記処理エンティティのうちの１つにおける前記分散インジケータの１つに生じた変化が、前記処理エンティティのうちの他の処理エンティティに伝搬される、請求項１〜４のいずれか１つの請求項に記載の方法。
【請求項６】
前記処理エンティティのうちの第１の処理エンティティにおける前記分散インジケータの１つの値が、前記処理エンティティのうちの前記第１の処理エンティティにおけるデータ要素除去要求行為を反映させるため必要に応じて調整される、前記処理エンティティの隣接する第２の処理エンティティにおける前記分散インジケータのうちの第２の分散インジケータの値を反映する、請求項１〜５のいずれか１つの請求項に記載の方法。
【請求項７】
前記分散インジケータの前記処理は、前記トークンの循環を保証するために前記処理エンティティのうちの１つにおいてしきい数の保留データ要素除去要求が存在するかどうかを判断すること、又は、前記処理エンティティのうちの１つにおいていずれかの保留データ要素除去要求が存在するかどうかを判断することを含む、請求項１〜６のいずれか１つの請求項に記載の方法。
【請求項８】
リード・コピー・アップデート相互排他技術の一部として実装され、前記共有データ要素の除去は、前記処理エンティティにおいてコールバックを登録することによって実行され、前記分散インジケータは、リード・コピー・アップデート・サブシステムにおけるコールバック行為を反映する分散コールバック・インジケータである、請求項１〜７のいずれか１つの請求項に記載の方法。
【請求項９】
１つ又は複数のプロセッサ、メモリ、及び、前記１つ又は複数のプロセッサと前記メモリとの間の通信経路を有し、前記プロセッサのうちの１つによる共有データ要素の除去を、前記プロセッサのうちの他のプロセッサによって維持される前記共有データ要素への既存の参照が除去されるまで据え置くための猶予時間を検出するように適合されたデータ処理システムであって、
前記プロセッサ間で循環されるトークンと、
前記トークンを循環させ、前記プロセッサ間を周回する前記トークンにより前記猶予時間が経過したかどうかを判断するように適合された、前記プロセッサの各々と関連付けられたトークン・マニピュレータと、
前記プロセッサによって共有される前記共有データ要素又は他のデータ要素に関する除去処理を行う必要があるかどうかを示す、前記プロセッサの各々と関連付けられた分散インジケータと、
前記トークン・マニピュレータによるトークン処理の前に前記分散インジケータを処理するように適合された、前記プロセッサの各々と関連付けられた分散インジケータ処理機構と、
前記分散インジケータによって保証されたときだけ、前記トークン・マニピュレータが前記プロセッサにおいてトークン処理を行うことができるようにさらに適合された、前記分散インジケータ処理機構と、
を備え、
前記分散インジケータがこうした処理を保証しないときは、不要なトークン処理を回避することが可能なデータ処理システム。
【請求項１０】
共有データ要素への既存の参照が除去されるまで前記共有データ要素の除去を据え置くための猶予時間を検出するコンピュータ・プログラム製品であって、
１つ又は複数のデータ記憶媒体と、
前記共有データ要素へのアクセスを共有する処理エンティティ間で循環されるトークンを確立すること、
前記トークンが前記処理エンティティ間を周回したときに、前記猶予時間が経過したと判断すること、
前記処理エンティティによって共有される前記共有データ要素又は他のデータ要素に関する除去処理を行う必要があるかどうかを示す分散インジケータを、前記処理エンティティの各々と関連付けること、
前記処理エンティティにおいてトークン処理を行う前に、前記処理エンティティの各々において前記分散インジケータを処理すること、及び、
前記分散インジケータによって保証されたときだけ、前記処理エンティティにおいてトークン処理を行うこと、
によって動作するようにデータ処理プラットフォームをプログラムするための、前記データ記憶媒体に記録される手段と、
を含み、
前記分散インジケータがこうした処理を保証しないときは、不要なトークン処理を回避することが可能なコンピュータ・プログラム製品。
【請求項１１】
保留コールバックをいつ実行することができるかを判断するために、リード・コピー・アップデート・サブシステムにおいて猶予時間を検出する方法であって、
データ要素へのアクセスを共有するプロセッサの組の各々に静止状態カウンタを実装するステップと、
前記静止状態カウンタによって維持されるカウント値の不連続として猶予時間トークンを確立するステップと、
前記トークンが前記プロセッサの組の間を周回して前記プロセッサの１つに戻ったときに、前記プロセッサの前記１つにおいて前記猶予時間が経過したと判断するステップと、
前記コールバックを処理する必要があるかどうかを示す分散コールバック・インジケータを、前記プロセッサの各々と関連付けられたキャッシュ・メモリ内のローカル変数として関連付けるステップと、
前記プロセッサにおいてトークン処理を行う前に、前記プロセッサの各々において前記分散コールバック・インジケータを処理するステップと、
前記分散コールバック・インジケータによって保証されたときだけ、前記プロセッサにおいてトークン処理を行うステップと、
を含み、
前記分散コールバック・インジケータがこうした処理を保証しないときは、不要なトークン処理を回避することが可能な方法。
【請求項１２】
共有データ要素への既存の参照が除去されるまで前記共有データ要素の除去を据え置くための猶予時間を検出する方法であって、
前記共有データ要素へのアクセスを共有する処理エンティティ間で循環されるトークンを確立するステップと、
前記トークンが前記処理エンティティ間を周回したときに、前記猶予時間が経過したと判断するステップと、
前記処理エンティティによって共有されるデータ要素を除去するための保留要求を有する前記処理エンティティの数を表す分散インジケータを、前記処理エンティティの各々と関連付けるステップと、
前記処理エンティティにおいてトークン処理を行う前に、前記処理エンティティの各々において前記分散インジケータを処理するステップであって、前記処理は、前記処理エンティティの隣接する１つにおける前記分散インジケータの値に従って前記分散インジケータを修正することを含み、前記分散インジケータの修正は、（１）現在の猶予時間と関連付けられた除去要求が存在し、前の猶予時間と関連付けられた除去要求が存在しないかどうかに応じて行われ、この場合には前記分散インジケータを増加させ、（２）現在の猶予時間と関連付けられた除去要求が存在せず、前の猶予時間と関連付けられた除去要求が存在したかどうかに応じて行われ、この場合には前記分散インジケータを減少させ、又は、（３）現在の猶予時間と前の猶予時間の両方について除去要求が存在するかどうか、若しくは、現在の猶予時間と前の猶予時間の両方について除去要求が存在しないかどうかに応じて行われ、この場合には前記分散インジケータは同じままである、ステップと、
前記分散インジケータによって保証されたときだけ、前記処理エンティティにおいてトークン処理を行うステップと、
を含み、
前記分散インジケータがこうした処理を保証しないときは、不要なトークン処理を回避することが可能な方法。
【請求項１３】
共有データ要素への既存の参照が除去されるまで前記共有データ要素の除去を据え置くための猶予時間を検出する方法であって、
前記共有データ要素へのアクセスを共有する処理エンティティ間で循環されるトークンを確立するステップと、
前記トークンが前記処理エンティティ間を周回したときに、前記猶予時間が経過したと判断するステップと、
前記処理エンティティによって共有されるデータ要素を除去するための保留要求の総数を表す分散インジケータを、前記処理エンティティの各々と関連付けるステップと、
前記処理エンティティにおいてトークン処理を行う前に、前記処理エンティティの各々において前記分散インジケータを処理するステップであって、前記処理は、前記処理エンティティの隣接する１つにおける前記分散インジケータの値に従って前記分散インジケータを修正することを含み、前記値の修正は、現在の猶予時間の間に追加された除去要求の数と以前の猶予時間の間に処理された除去要求の数との間の差に応じて行われる、ステップと、
前記分散インジケータによって保証されたときだけ、前記処理エンティティにおいてトークン処理を行うステップと、
を含み、
前記分散インジケータがこうした処理を保証しないときは、不要なトークン処理を回避することが可能な方法。
【請求項１４】
共有データ要素への既存の参照が除去されるまで前記共有データ要素の除去を据え置くための猶予時間を検出する方法であって、
前記共有データ要素へのアクセスを共有する処理エンティティ間で循環されるトークンを確立するステップと、
前記トークンが前記処理エンティティ間を周回したときに、前記猶予時間が経過したと判断するステップと、
前記処理エンティティによって共有されるデータ要素を除去するための保留要求を有する前記処理エンティティのビットマップを表す分散インジケータを、前記処理エンティティの各々と関連付けるステップと、
前記処理エンティティにおいてトークン処理を行う前に、前記処理エンティティの各々において前記分散インジケータを処理するステップであって、前記処理は、前記処理エンティティの隣接する１つにおける前記分散インジケータの値に従って前記分散インジケータを修正することと、（１）現在の猶予時間と関連付けられた除去要求が存在するかどうかに応じて、評価している処理エンティティに対応するビットを１に設定するか、又は、（２）現在の猶予時間と関連付けられた除去要求が存在しないかどうかに応じて、評価している処理エンティティに対応するビットを０に設定することとを含む、ステップと、
前記分散インジケータによって保証されたときだけ、前記処理エンティティにおいてトークン処理を行うステップと、
を含み、
前記分散インジケータがこうした処理を保証しないときは、不要なトークン処理を回避することが可能な方法。