【手続補正書】
【提出日】平成19年4月13日(2007.4.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータの共有リソースにアクセスする方法であって、共有リソースを使用する複数の要求を非同期的に発することが可能な複数のプロセスのうちの第１のプロセスにおいて、
共有リソースを使用する現在の要求に固有の識別子をアトミックに割当てるステップであって、前記固有の識別子を、前記複数のプロセスによって発せられた他の要求に対し現在の要求が受け取られる順番に基づいて現在の要求に割当てるステップと、
前記固有の識別子を用いる現在の要求のプロセスを完了させるステップと、
前記現在の要求のプロセスが完了した後に、完了した要求のカウントをアトミックに増分させるステップと、
前記現在の要求のプロセスが完了した後に、最近完了した要求より前に発せられた他の要求のプロセスが完了したかどうかをアトミックに判別するステップと、
前記最近完了した要求より前に発せられた他の要求のプロセスが完了したという判別に応答して、プロセスが完了したディスパッチされていない要求の各々をディスパッチするステップと、
を含む方法。
【請求項２】
前記現在の要求のプロセスの完了が非アトミックに行われる、請求項１に記載の方法。
【請求項３】
前記第１のプロセスにおいて、前記現在の要求が、前記現在の要求のプロセスが完了し
た後の、最近完了した要求であるかどうかをアトミックに判別するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記第１のプロセスにおいて、前記現在の要求のプロセスが完了した後に、前記現在の要求が最後のディスパッチ動作の後に発せられた最初の要求であるかどうかをアトミックに判別するステップと、前記現在の要求が最後のディスパッチ動作の後に発せられた最初の要求であるという判別に応答して前記現在の要求をディスパッチするステップをさらに含む、請求項１に記載の方法。
【請求項５】
プロセスが完了したディスパッチされていない要求の各々をディスパッチする前記ステップが、複数の要求をバッチでディスパッチするステップを含む、請求項１に記載の方法。
【請求項６】
現在の要求に固有の識別子をアトミックに割当てる前記ステップが要求カウンタを増分させるステップを含み、前記完了した要求のカウントをアトミックに増分させるステップが、完了カウンタを増分させるステップを含み、前記方法がさらに、前記現在の要求が最近完了した要求であるという判別に応答して、最後の完了カウンタを、前記現在の要求のプロセスが完了した後の現在の要求の固有の識別子にアトミックに更新し、前記最近完了した要求より前に発せられた他の要求のプロセスが完了したかどうかをアトミックに判別する前記ステップが、前記最後の完了カウンタを前記完了カウンタと比較するステップを含み、前記プロセスが完了したディスパッチされていない要求の各々をディスパッチする前記ステップが、最後のディスパッチ・カウンタを前記最後の完了カウンタと同値になるように更新することを含む、請求項１に記載の方法。
【請求項７】
前記要求カウンタ、前記完了カウンタ、前記最後の完了カウンタ、及び前記最後のディスパッチ・カウンタの各々が、単調に増加する一連の番号を用いて更新される、請求項６に記載の方法。
【請求項８】
前記最近完了した要求より前に発せられた他の要求のプロセスがまだ完了されていないという判別に応答して、プロセスが完了したディスパッチされていない要求の各々のディスパッチを据え置くステップをさらに含み、
前記複数のプロセスのうちの第２のプロセスにおいて、
前記現在の要求より前に割当てられた固有の識別子を有する、前記現在の要求に対し先行する要求のプロセスを完了させるステップと、
前記先行する要求のプロセスが完了した後に、前記最近完了した要求より前に発せられた他の要求のプロセスが完了されたことをアトミックに判別するステップと、
前記最近完了した要求より前に発せられた他の要求のプロセスが完了されたという判別に応答して、プロセスが完了したディスパッチされていない要求の各々をディスパッチするステップと、
を含む、請求項１に記載の方法。
【請求項９】
前記現在の要求のプロセスを完了するステップが、前記現在の要求を準備するステップを含む、請求項１に記載の方法。
【請求項１０】
前記共有リソースが、入力／出力アダプタのフレーム・バッファの少なくとも１つのスロットを含み、前記現在の要求のプロセスを完了するステップが、前記スロットを用いてデータを通信するステップを含み、前記ディスパッチされていない要求の各々をディスパッチするステップが、クライアントに前記通信されるデータの受信を通知するステップを含む、請求項１に記載の方法。
【請求項１１】
前記コンピュータが、論理的に区画化されたコンピュータを含み、前記入力／出力アダプタが、前記論理的に区画化されたコンピュータの区画間通信のために用いられる仮想ローカル・エリア・ネットワークに結合された仮想入力／出力アダプタである、請求項１０に記載の方法。
【請求項１２】
前記共有リソースが、プロセッサ、ハードウェア・デバイス、入力／出力デバイス、ストレージ・デバイス、アダプタ、コントローラ、データベース、ファイルシステム、サービス、及びこれらのコンポーネントからなる群から選択される、請求項１に記載の方法。
【請求項１３】
共有リソースと、
前記共有リソースを使用する要求を非同期的に発することも可能な複数のプロセスを実行するように構成された少なくとも１つのプロセッサと、
第１のプロセスにおいて、共有リソースを使用する現在の要求に固有の識別子をアトミックに割当てるステップと、固有の識別子を用いる現在の要求のプロセスを完了させるステップと、前記現在の要求のプロセスが完了した後に、完了した要求のカウントをアトミックに増分させるステップと、前記現在の要求のプロセスが完了した後に、最近完了した要求より前に発せられた他の要求のプロセスが完了したかどうかをアトミックに判別するステップと、前記最近完了した要求より前に発せられた他の要求のプロセスが完了されたという判別に応答して、プロセスが完了したディスパッチされていない要求の各々をディスパッチするステップとを行うために、前記少なくとも１つのプロセッサ上で実行されるように構成されたプログラム・コードと、
を含み、前記固有の識別子は、複数のプロセスによって発せられた他の要求に対し現在の要求が受け取られる順番に基づいて現在の要求に割当てられる、装置。
【請求項１４】
共有リソースを使用する要求を非同期的に発することが可能なコンピュータの複数のプロセスのうちの第１のプロセスにおいて、共有リソースを使用する現在の要求に固有の識別子をアトミックに割当てるステップと、前記固有の識別子を用いる現在の要求のプロセスを完了させるステップと、前記現在の要求のプロセスが完了した後に、完了した要求のカウントをアトミックに増分させるステップと、前記現在の要求のプロセスが完了した後に、最近完了した要求より前に発せられた他の要求のプロセスが完了したかどうかをアトミックに判別するステップと、前記最近完了した要求より前に発せられた他の要求のプロセスが完了されたという判別に応答して、プロセスが完了したディスパッチされていない要求の各々をディスパッチするステップとをコンピュータに実行させるように構成されたプログラム。