処理回路により読み取り可能であり、かつ、方法を実行するために前記処理回路により実行するための命令を格納するストレージ媒体を含む、コンピュータ環境における処理を容易にするためのコンピュータプログラム製品であって、前記方法は、前記コンピュータ環境の受信アダプタにおいて、前記コンピュータ環境の送信アダプタから、前記受信アダプタが実行すべき操作を受信することと、前記受信アダプタにより前記操作を実行することと、前記受信アダプタにより、前記操作が完了したかどうかを判断することであって、前記判断することは、前記操作の完了を確認する読み取り操作を前記受信アダプタにより実行することを含み、前記読み取り操作は、前記受信アダプタにより局所的に開始される、前記判断することと、前記読み取り操作を介して前記操作の完了を判断することに応答して、肯定応答を前記送信アダプタに送ることと、を含む、コンピュータプログラム製品。前記操作の肯定応答は、前記読み取り操作が前記操作の完了を確認するまで遅延される、請求項1に記載のコンピュータプログラム製品。前記読み取り操作が前記操作の完了を確認する前の前記操作の肯定応答は回避される、請求項2に記載のコンピュータプログラム製品。前記操作は、リモートダイレクトメモリアクセス書き込み操作又はメモリに書き込む送信操作を含む、請求項1に記載のコンピュータプログラム製品。前記方法は、前記受信アダプタにより、前記肯定応答の前記送信を遅延すべきかどうかをチェックすることと、前記チェックすることが、前記肯定応答の前記送信を遅延すべきであることを示したことに応答して、前記判断することを実行することとをさらに含む、請求項1に記載のコンピュータプログラム製品。前記方法は、前記肯定応答に基づいて、前記操作の完了を示すために用いられる完了待ち行列要素を生成することをさらに含む、請求項1に記載のコンピュータプログラム製品。前記読み取り操作は、前記送信アダプタに対してトランスペアレントである、請求項1に記載のコンピュータプログラム製品。コンピュータ環境における処理を容易にするためのコンピュータシステムであって、前記コンピュータシステムは、方法を実行するように構成された受信アダプタを含み、前記方法は、前記受信アダプタにおいて、送信アダプタから、前記受信アダプタが実行すべき操作を受信することと、前記受信アダプタにより前記操作を実行することと、前記受信アダプタにより、前記操作が完了したかどうかを判断することであって、前記判断することは、前記操作が完了したことを確認する読み取り操作を前記受信アダプタにより実行することを含み、前記読み取り操作は、前記受信アダプタにより局所的に開始される、前記判断することと、前記読み取り操作を介して前記操作の完了を判断することに応答して、肯定応答を前記送信アダプタに送ることと、を含む、コンピュータシステム。前記操作の肯定応答は、前記読み取り操作が前記操作の完了を確認するまで遅延される、請求項8に記載のシステム。前記読み取り操作が前記操作の完了を確認する前の前記操作の肯定応答は回避される、請求項9に記載のシステム。前記操作は、リモートダイレクトメモリアクセス書き込み操作又はメモリに書き込む送信操作を含む、請求項8に記載のシステム。前記操作は、データをメモリに書き込み、前記メモリは、前記操作を容易にする相互接続を介して前記受信アダプタに結合され、前記相互接続は、前記送信アダプタへの前記操作の完了の表示が存在しない構成を有する、請求項8に記載のシステム。前記相互接続は、周辺機器相互接続PCIである、請求項12に記載のシステム。前記読み取り操作は、前記操作によって書き込まれたメモリ内の1つ又は複数の位置を読み取り、前記操作は、前記受信アダプタと前記メモリを結合させる相互接続を介して実行され、前記相互接続は、順序付け規則による構成を有し、前記順序付け規則は、前記操作によって前記データが前記メモリに書き込まれるまで、前記読み取りが成功裡に完了しないことを示す、請求項8に記載のシステム。コンピュータ環境における処理を容易にするための方法であって、前記方法は、前記コンピュータ環境の受信アダプタにおいて、前記コンピュータ環境の送信アダプタから、前記受信アダプタが実行すべき操作を受信することと、前記受信アダプタにより前記操作を実行することと、前記受信アダプタにより、前記操作が完了したかどうかを判断することであって、前記判断することは、前記操作が完了したことを確認する読み取り操作を前記受信アダプタにより実行することを含み、前記読み取り操作は、前記受信アダプタにより局所的に開始される、前記判断することと、前記読み取り操作を介して前記操作の完了を判断することに応答して、肯定応答を前記送信アダプタに送ることと、を含む、前記方法。前記操作の肯定応答は前記読み取り操作が前記操作の完了を確認するまで遅延され、前記読み取り操作が前記操作の完了を確認する前の前記操作の肯定応答は回避される、請求項15に記載の方法。前記方法は、前記受信アダプタにより、前記肯定応答の前記送信を遅延すべきかどうかをチェックすることと、前記チェックすることが、前記肯定応答の前記送信を遅延すべきべきであることを示したことに応答して、前記判断することを実行することとをさらに含む、請求項15に記載の方法。処理回路により読み取り可能であり、かつ、方法を実行するために前記処理回路により実行するための命令を格納するストレージ媒体を含む、コンピュータ環境における処理を容易にするためのコンピュータプログラム製品であって、前記方法は、前記コンピュータ環境の受信アダプタにおいて、前記コンピュータ環境の送信アダプタから、前記受信アダプタが実行すべき、第1の肯定応答タイプと関連した第1の操作を受信することと、前記受信アダプタにより、前記第1の操作を実行することと、前記第1の肯定応答タイプが非遅延型肯定応答を示すことに応答して、前記第1の操作の受信を示し、かつ、前記第1の操作の完了を示さない、受信肯定応答を前記送信アダプタに送ることと、前記受信アダプタにおいて、前記送信アダプタから、前記受信アダプタが実行すべき、第2の肯定応答タイプと関連した第2の操作を受信することと、前記受信アダプタにより、前記第2の操作を実行することと、前記第2の肯定応答タイプが遅延型肯定応答を示すことに応答して、前記受信アダプタにより、前記第2の操作が完了したかどうかを判断することであって、前記判断することは、前記第2の操作の完了を確認する読み取り操作を前記受信アダプタにより実行することを含み、前記読み取り操作は、前記受信アダプタにより局所的に開始される、前記判断することと、前記読み取り操作を介して前記第2の操作の完了を判断することに応答して、完了肯定応答を前記送信アダプタに送ることと、を含む、コンピュータプログラム製品。コンピュータ環境における処理を容易にするためのコンピュータプログラムを提供することにより、従来技術の欠点が克服され、付加的な利点がもたらされる。コンピュータプログラム製品が、処理回路により読み取り可能であり、かつ、方法を実行するために処理回路により実行するための命令を格納するストレージ媒体を含む。この方法は、例えば、コンピューティング環境の受信アダプタにおいて、コンピューティング環境の送信アダプタから、受信アダプタが実行すべき操作を受信することと、受信アダプタにより操作を実行することと、受信アダプタにより、操作が完了したかどうかを判断することであって、この判断することは、操作が完了したことを確認する読み取り操作を受信アダプタにより実行することを含み、この読み取り操作は、受信アダプタにより局所的に開始される、その判断することと、読み取り操作を介して操作の完了を判断することに応答して、肯定応答を送信アダプタに送ることとを含む。更に別の態様において、コンピュータ環境における処理を容易にするためのコンピュータプログラム製品が提供される。コンピュータプログラム製品は、処理回路により読み取り可能であり、かつ、方法を実行するために処理回路により実行するための命令を格納するストレージ媒体を含む。この方法は、例えば、コンピュータ環境の受信アダプタにおいて、コンピュータ環境の送信アダプタから、受信アダプタが実行すべき、第1の肯定応答タイプと関連した第1の操作を受信することと、受信アダプタにより第1の操作を実行することと、第1の肯定応答タイプが非遅延型肯定応答を示すことに応答して、第1の操作の受信を示し、かつ、第1の操作の完了を示さない、受信肯定応答を送信アダプタに送ることと、受信アダプタにおいて、送信アダプタから、受信アダプタが実行すべき、第2の肯定応答タイプと関連した第2の操作を受信することと、受信アダプタにより第2の操作を実行することと、第2の肯定応答タイプが遅延型肯定応答を示すことに応答して、受信アダプタにより、第2の操作の完了を判断することであって、この判断することは、第2の操作の完了を確認する読み取り操作を受信アダプタにより実行することを含み、この読み取り操作は、受信アダプタにより局所的に開始される、その判断することと、読み取り操作を介して第2の操作の完了を判断することに応答して、完了肯定応答を送信アダプタに送ることとを含む。本発明の1つ又は複数の態様に関連する方法及びシステムも、ここに説明され、特許請求される。さらに、本発明の1つ又は複数の態様に関連するサービスも説明され、ここに特許請求され得る。本発明の技術を通して、付加的な特徴及び利点が実現される。本発明の他の実施形態及び態様が、ここに詳細に説明され、特許請求された本発明の一部と見なされる。本発明の1つ又は複数の態様が、明細書の最後にある特許請求の範囲に例として具体的に示され、明確に特許請求されている。本発明の上記及び他の目的、特徴、並びに利点は、添付の図面と併用される以下の詳細な説明から明らかである。本発明の1つの態様によると、受信アダプタが開始する読み取り操作が、要求された操作例えば、RDMA書き込み操作又は送信操作の完了を示すまで、受信アダプタ例えば、RDMA可能アダプタが受信した要求に関する肯定応答の送信が遅延される。局所的に開始される読み取り操作が示すように、操作の肯定応答は、操作が完了するまで、即ちメモリが更新されるまで例えば、データがリモートプロセッサに見えるようになるまで遅延される。これは、受信時に受信アダプタが要求に肯定応答する、これまでのRDMA技術とは対照的である。つまり、肯定応答は、リモートアダプタにおける実行される操作の受信を保証するものにすぎない。肯定応答は、操作が完了したことを保証するものでも、又は、データがリモートプロセッサに見えることを保証するものでもない。要求された操作が実行されるまで肯定応答を遅延させることにより、送信アダプタは、操作が完了したかどうかについて尋ねる必要がなくなり、従って、送信アダプタによる要求、及び、それに対応する肯定応答が排除される。これにより、アダプタ間の待ち時間が改善される。一実施形態において、処理に関与するアダプタは、リモートダイレクトメモリアクセスRDMA可能なアダプタである。RDMA可能なアダプタは、InfiniBand商標アーキテクチャ仕様書により定められるもののようなRDMAチャネルアダプタとすることができ、又は、RDMAコンソーシアムからのiWARPにより定められるもののようなRDMAネットワークインターフェースカードRNICとすることができる。InfiniBand商標アーキテクチャ仕様書の一実施形態は、非特許文献1に詳細に記載されており、その全体を引用によりここに組み入れる。RDMA及びRDMA可能なアダプタが参照されているが、当業者であれば、本発明の1つ又は複数の態様は、RDMAを使用する操作に限定されないことを理解するであろう。本発明の1つ又は複数の態様を組み込み、使用するためのコンピューティング環境の1つの実施形態が、図1を参照して説明される。図1は、システムエリアネットワークSANファブリック116を用いる分散型コンピュータシステム100の一例を示す。分散型コンピュータシステム100及び/又はSANファブリック116は、例示のみを目的として提供されたものである。本発明の1つ又は複数の態様は、多数の他のタイプ及び構成のコンピュータシステム上で実施することができる。例えば、1つ又は複数の実施形態を実施するコンピュータシステムは、1つのプロセッサと、少数の入力/出力I/Oアダプタを有する小さなサーバから、数百個又は数千個のプロセッサと、数千個のI/Oアダプタとを有する大規模並行処理スーパーコンピュータシステムまでの範囲に及ぶものとすることができる。図1を参照すると、SANファブリック116は、分散型コンピュータシステム内のノードを相互接続するための、高帯域幅低待ち時間のネットワークである。ノードは、ネットワークの1つ又は複数のリンクに取り付けられ、ネットワーク内のメッセージの送信元及び/又は宛先を形成する、任意の構成要素である。図1に示される例において、分散型コンピュータシステム100は、ホストプロセッサノード102、ホストプロセッサノード104、冗長アレイ独立ディスクredundantarrayindependentdisk、RAIDサブシステムノード106、及びI/Oシャシーノード108の形態のノードを含む。SANファブリック116は、任意の数の及びあらゆるタイプの独立したプロセッサノード、I/Oアダプタノード、及び/又はI/O装置ノードを相互接続することができるので、図1に示されるノードは、例示のみを目的としている。これらのノードのどれもが、本明細書では、SANファブリック116内でメッセージ又はパケットを発信するか、又は最終的に消費する装置と定義されるエンドノードとして機能することができる。一実施形態においては、エンドノード間での信頼できる接続及び/又は信頼できるデータグラムの通信を可能にする、エラー処理機構が存在する。本明細書で用いられるメッセージという用語は、協働するプロセス間での通信の基本単位である、アプリケーション定義によるデータ交換の単位である。パケットは、ネットワーキングプロトコルのヘッダ及び/又はトレーラによってカプセル化される1単位のデータである。ヘッダは、一般に、SANファブリック116を介してパケットを導くための制御及び経路指定情報を提供する。トレーラは、一般に、パケットが、破壊した内容を伴ってパケットが配信されないことを検証するための制御及び巡回冗長検査cyclicredundancycheck、CRCデータを含む。図1に示される分散型コンピュータシステム100は、分散型コンピュータシステム内のI/O及びプロセッサ間通信IPCの両方をサポートする通信及び管理インフラストラクチャを含む。分散型コンピュータシステム100は、例えば、セ待ち行列リティ保護されたリモート管理環境において、多くの装置が、高帯域幅、低待ち時間でデータを同時に転送することを可能にするスイッチドswitched通信ファブリック116を含む。エンドノードは、複数のポートを介して通信し、SANファブリック116を介して複数の経路を使用することができる。複数のポート及びSANファブリック116を介した経路は、耐故障性で帯域幅が向上したデータ転送のために使用することができる。一例においては、SANファブリック116は、3つのスイッチ112、114、及び146と、ルータ117とを含む。スイッチは、複数のリンクを互いに接続し、小さなヘッダの宛先ローカル識別子DestinationLocalIdentifier、DLIDフィールドを使用して、サブネット内の1つのリンクから別のリンクへのパケットの経路指定を可能にする装置である。ルータは、複数のサブネットを互いに接続し、大きなヘッダの宛先グローバル一意識別子DestinationGloballyUniqueIdentifier、DGUIDを使用して、第1のサブネット内の1つのリンクから第2のサブネット内の別のリンクへとパケットを経路指定することができる装置である。一実施形態において、リンクが、エンドノード、スイッチ、又はルータなどの、いずれかの2つのネットワークファブリック要素の間の全二重チャネルである。好適なリンクの例には、これらに限定されるものではないが、銅線ケーブル、光ケーブル、並びにバックプレーン及びプリント回路基板上のプリント回路銅トレースが含まれる。信頼できるサービスタイプの場合、ホストプロセッサエンドノード及びI/Oアダプタエンドノードのようなエンドノードが、要求パケットを生成し、肯定応答パケットを返信する。スイッチ及びルータは、送信元から宛先にパケットを渡す。ネットワークの各ステージで更新される変形CRCトレーラフィールドを除いて、スイッチは、パケットを変更せずに渡す。ルータは、変形CRCトレーラフィールドを更新し、パケットが経路指定される際にヘッダ内の他のフィールドを変更する。図1に示される例示的な分散型コンピュータシステム100においては、ホストプロセッサノード102、ホストプロセッサノード104、及びI/Oシャシー108は、SANファブリック116とインターフェースするために少なくとも1つのRDMA可能なチャネルアダプタCAを含む。1つ又は複数の実施形態においては、各CAは、SANファブリック116上で伝送された送信元又は受信側パケットに対して十分詳細にCAインターフェースを実施するエンドポイントである。ホストプロセッサノード102は、例えば、RDMA可能なホストチャネルアダプタHCA118及び120の形態のCAを含む。ホストプロセッサノード104は、例えば、HCA122及び124を含む。ホストプロセッサノード102はまた、中央演算処理装置126-130、バスシステム134により相互接続されるメモリ132も含む。ホストプロセッサノード104も同様に、中央演算処理装置136-140、及びバスシステム144により相互接続されるメモリ142を含む。ホストプロセッサノード102においては、メモリ132は、例えば、周辺機器相互接続peripheralcomponentinterconnect、PCIを介して、HCA118及び120に通信可能に結合され、ホストプロセッサノード104においては、メモリ142も同様に、例えば、PCI相互接続を介して、HCA122及び124に通信可能に結合される。HCA118及び120は、ホストプロセッサノード102からスイッチ112への接続を提供し、HCA122及び124は、ホストプロセッサノード104からスイッチ112及び114への接続を提供する。1つ又は複数の実施形態において、HCAは、ハードウェアで実装される。この実装においては、HCAハードウェアは、中央演算処理装置のI/Oアダプタの通信オーバーヘッドの大部分の負荷を軽減する。HCAのこのハードウェア実装により、通信プロトコルと関連した従来のオーバーヘッドなしにスイッチドネットワークを介した複数の同時通信も可能になる。一実施形態においては、図1のHCA及びSANファブリック116は、分散型コンピュータシステムのI/O及びIPCのコンシューマconsumerに、オペレーティングシステムカーネルプロセスを必要とせずに、ゼロプロセッサコピーzeroprocessorcopyデータ転送を提供し、信頼できる耐故障性通信を提供するためにハードウェアを利用する。図1に示されるように、ルータ117は、他のホスト又は他のルータへの広域エリアネットワークWAN及び/又はローカルエリアネットワークLAN接続に結合されている。さらに、I/Oシャシー108は、I/Oスイッチ146と複数のI/Oモジュール148-156とを含む。これらの例では、I/Oモジュール148-156は、アダプタカードの形態を取る。アダプタカードの例には、I/Oモジュール148用のSCSIアダプタカード、I/Oモジュール150用のイーサネットアダプタカード、I/Oモジュール152用のファイバチャネルハブ及びファイバチャネルアービトレート型ループfibrechannelarbitratedloop、FC-AL装置へのアダプタカード、I/Oモジュール154用のグラフィックスアダプタカード、及びI/Oモジュール156用のビデオアダプタカードが含まれる。いずれの周知のタイプのアダプタカードを実装することもできる。I/Oアダプタは、アダプタカードをSANファブリック116に結合するためのI/Oアダプタのスイッチも含む。これらのモジュールは、RDMA可能なターゲットチャネルアダプタTCA158-166を含む。図1に示される例においては、RAIDサブシステムノード106は、プロセッサ168、メモリ170、TCA172、及び複数の冗長及び/又はストライプ化ディスク記憶装置174を含む。TCA172は、完全に機能するHCAであってもよい。SANファブリック116は、I/O及びプロセッサ間通信用のデータ通信を処理する。SANファブリック116は、I/Oに要求される高帯域幅とスケーラビリティをサポートし、プロセッサ間通信に要求される非常に少ない待ち時間と低いCPUオーバーヘッドもサポートする。ユーザクライアントは、オペレーティングシステムのカーネルプロセスをバイパスし、効率的なメッセージの受け渡しプロトコルを可能にする、HCAのようなネットワーク通信ハードウェアに直接アクセスすることができる。SANファブリック116は、現在のコンピューティングモデルに適合され、I/O及びコンピュータクラスタ通信の新しい形態の構成単位である。さらに、一実施形態においては、SANファブリック116は、I/Oアダプタノードが、それらの間で通信するか、又は分散型コンピータシステムのプロセッサノードのいずれかと通信することを可能にする。I/OアダプタがSANファブリック116に取り付けられると、結果としてもたらされるI/Oアダプタノードは、分散型コンピュータシステム100のいかなるホストプロセッサノードとも実質的に同じ通信機能を有する。1つ又は複数の実施形態において、SANファブリック116は、チャネルセマンティクス及びメモリセマンティクスをサポートする。チャネルセマンティクスは、送信/受信操作又はプッシュ通信操作と呼ばれることがある。チャネルセマンティックは、送信元装置がデータをプッシュ配信し、宛先装置がそのデータの最終宛先を決定する、従来のI/Oチャネルに用いられる通信のタイプである。チャネルセマンティクスにおいては、送信元プロセスから伝送されたパケットは、宛先プロセスの通信ポートを指定するが、宛先プロセスのメモリ空間のどこにパケットが書き込まれるかは指定しない。従って、チャネルセマンティクスにおいて、宛先プロセスは、伝送されるデータをどこに置くかを予め割り当てる。メモリセマンティクスにおいては、送信元プロセスは、直接、リモートノードの宛先プロセスの仮想アドレス空間を読み取るか又はこれに書き込む。リモート宛先プロセスは、データに関するバッファの位置を通信することだけを必要とし、どのようなデータ転送にも関与する必要がない。従って、メモリセマンティクスにおいて、送信元プロセスは、宛先プロセスの宛先バッファメモリアドレスを含むデータパケットを送る。メモリセマンティクスにおいて、宛先プロセスは、送信元プロセスがそのメモリにアクセスしてもよいという許可を前もって与える。チャネルセマンティクス及びメモリセマンティクスの両方とも、典型的には、I/O及びプロセッサ間通信のために用いられる。典型的なI/O操作は、チャネルセマンティクスとメモリセマンティクスの組み合わせを用いる。例えば、ホストプロセッサノード102などのホストプロセッサノードは、チャネルセマンティクスを用いて、ディスク書き込みコマンドを、RAIDサブシステムのTCA172のようなディスクI/Oアダプタに送ることにより、I/O操作を開始する。ディスクI/Oアダプタは、コマンドを調べ、メモリセマンティクスを用いて、ホストプロセッサノードのメモリ空間からデータバッファを直接読み取る。データバッファを読み取った後、ディスクI/Oアダプタは、チャネルセマンティクスを用いて、I/O完了メッセージを再びホストプロセッサノードにプッシュ配信する。1つ又は複数の実施形態においては、図1に示される分散型コンピュータシステムは、仮想アドレス及び仮想メモリ保護機構を用いる操作を実行し、全てのメモリへの正確かつ適切なアクセスを保証する。こうした分散型コンピュータシステム内で実行されるアプリケーションは、いずれの操作にも物理的アドレス指定の使用を必要としない。ここで図2を参照すると、ホストチャネルアダプタに関する更なる詳細が説明される。一例においては、ホストチャネルアダプタHCA200は、メッセージをHCAポート212-216に転送するために使用される、1組の待ち行列対QP202-210を含む。データのHCAポート212-216へのバッファリングは、各々がそれぞれ流れ制御を有する仮想レーンVL218-234を通して送られる。サブネットマネージャは、各物理ポートに対するローカルアドレス、即ちポートのローカル識別子LIDによってチャネルアダプタを構成する。サブネットマネージャエージェントSMA236は、チャネルアダプタを構成するためにサブネットマネージャと通信するエンティティである。メモリ変換及び保護MTP238は、仮想アドレスを物理アドレスに変換し、アクセス権の妥当性検査を行う機構である。ダイレクトメモリアクセスDMA240は、QP202-210に関してメモリ242を使用するDMA動作を提供する。図2に示されるHCA200のような単一のチャネルアダプタは、数千個ものQPをサポートすることができる。対照的に、I/OアダプタのTCAは、典型的には、これよりもかなり少数のQPをサポートする。各QPは、例えば、2つの作業待ち行列、即ち送信待ち行列SQ及び受信待ち行列RQを含む。SQは、チャネルセマンティックメッセージ及びメモリセマンティックメッセージを送信するために使用される。RQは、チャネルセマンティックメッセージを受信する。コンシューマは、作業要求WRを作業待ち行列に出すために、本明細書ではverbインターフェースと呼ぶオペレーティングシステム特有のプログラミングインターフェースを呼び出す。ここで図3を参照すると、作業要求の処理に関する更なる詳細が説明される。図3の例では、コンシューマ306からの要求及びコンシューマ306に対する要求例えば、待ち行列と関連したHCAに結合された中央演算処理装置内で実行されている、ユーザプロセスなどのプロセスを処理するために、メモリ内に、受信待ち行列RQ300、送信待ち行列SQ302、及び完了待ち行列CQ304が存在する。コンシューマ306からのこれらの要求は、最終的にハードウェア308に送られるハードウェア308は別のHCAのハードウェアと結合され、そのハードウェアは、他のHCAのRQ、SQ、及びCQに結合される。この例では、コンシューマ306は、作業要求310及び312を生成し、作業完了314を受信する。作業待ち行列の上に置かれた作業要求は、作業待ち行列要素WQEと呼ばれる。一例において、送信待ち行列302は、SANファブリック116上で伝送されるべきデータを記述しているWQE322-328を含む。受信待ち行列300は、SANファブリック116からの着信チャネルセマンティックデータをどこに置くかを記述しているWQE316-320を含む。WQEは、HCAのハードウェア308によって処理される。各QPは、現行WQE、パケットシーケンス番号、伝送パラメータ等のような、特定のQPに関する情報のブロックであるQPコンテキストを通して管理される。verbインターフェースは、完了した作業を完了待ち行列304から取り出すための機構も提供する。図3に示されるように、完了待ち行列304は、完了待ち行列要素CQE330-336を含む。CQEは、既に完了しているWQEに関する情報を含む。CQ304は、複数のQPに関する完了通知の単一点を作成するために使用される。CQEは、完了したQP及び特定のWQEを決定するのに十分な情報を含む。CQコンテキストは、ポインタ、長さ、及び個々のCQを管理するのに必要な他の情報を含む1ブロックの情報である。SQ302によりサポートされる作業要求の例は、次のものを含む。即ち、チャネルセマンティック操作である送信作業要求は、リモートノードの受信WQEが参照するデータセグメントに1組のローカルデータセグメントをプッシュする。例えば、WQE328は、データセグメント4338、データセグメント5340、及びデータセグメント6342への参照を含む。送信作業要求のデータセグメントの各々は、事実上連続しているメモリ空間を含む。ローカルデータセグメントを参照するために使用される仮想アドレスは、ローカルQPを作成したプロセスのアドレスコンテキスト内にある。SQWQEにおいて指定することができる他のタイプの操作は、RDMA書き込み操作及びRDMA読み取り操作である。これらは、メモリセマンティック操作である。一実施形態においては、RQ300は、受信WQEと呼ばれる1つのタイプのWQEをサポートする。受信WQEは、着信する送信メッセージが書き込まれるローカルメモリ空間を記述しているチャネルセマンティック操作を提供する。受信WQEは、幾つかの事実上連続しているメモリ空間を記述している散乱リストscatterlistを含む。着信する送信メッセージは、これらのメモリ空間に書き込まれる。仮想アドレスは、ローカルQPを作成したプロセスのアドレスコンテキスト内にある。プロセッサ間通信の場合、ユーザモードソフトウェアプロセスは、QPを介して、メモリにおいてバッファがある場所から直接データを転送する。1つ又は複数の実施形態においては、QPを介する転送は、オペレーティングシステムをバイパスし、ホスト命令サイクルをほとんど消費しない。QPは、オペレーティングシステムカーネルの関与がない、ゼロプロセッサコピーデータ転送を可能にする。ゼロプロセッサコピーデータ転送は、高帯域幅、低待ち時間の通信の効率的なサポートを提供する。QPが作成されると、選択されたタイプのトランスポートサービスを提供するように、QPが設定される。例として、4つのタイプのトランスポートサービスがサポートされる。即ち、信頼できる接続reliableconnection、信頼できない接続unreliableconnection、信頼できるデータグラムreliabledatagram、及び信頼できないデータグラムunreliabledatagramである。図4において、分散型プロセス間の通信のために信頼できる接続サービスを用いる分散型コンピュータシステムの一部が、一般的に示される。一例において、分散型コンピュータシステム400は、ホストプロセッサノード1、ホストプロセッサノード2、及びホストプロセッサノード3を含む。ホストプロセッサノード1は、プロセスA410を含む。ホストプロセッサノード3は、プロセスC420及びプロセスD430を含む。ホストプロセッサノード2は、プロセスE440を含む。ホストプロセッサノード1は、各々が送信待ち行列及び受信待ち行列を有するQP4、6、及び7を含む。ホストプロセッサノード2はQP9を有し、ホストプロセッサノード3は、QP2及び5を有する。分散型コンピュータシステム400の信頼できる接続サービスは、ポート及びQP番号によりリモートQPを識別するためにローカルQPコンテキストを構成することにより、ローカルQPを1つのリモートQPと関連付ける。従って、QP4は、QP2と通信するために使用され、QP7は、QP5と通信するために使用され、QP6は、QP9と通信するために使用される。信頼できる接続サービス内の1つのQP上に置かれたWQEにより、接続されたQPの受信WQEが参照する受信メモリ空間にデータが書き込まれる。RDMA操作は、接続されたQPのアドレス空間上で動作する。1つ又は複数の実施形態においては、ハードウェアがシーケンス番号を保持し、全てのパケット転送に肯定応答するので、信頼できる接続サービスを信頼できるものにする。ハードウェアとSANファブリック116のドライバソフトウェアとの組み合わせは、あらゆる失敗に終わった通信を再試行する。QPのプロセスクライアントは、ビット誤り、受信アンダーラン、及びネットワーク輻輳がある状態でさえ、信頼できる通信を取得する。SANファブリック116内に代替的な経路が存在する場合には、ファブリックスイッチ、リンク、又はチャネルアダプタポートの故障がある状態でさえ、信頼できる通信を維持することができる。図5において、分散型コンピュータシステムで用いるための階層化された通信アーキテクチャ500の一例が、一般的に示される。階層化アーキテクチャの図は、種々の層のデータ通信経路と、層間で送られるデータ及び制御情報の構成を示す。HCAエンドノードプロトコル層例えば、エンドノード511により用いられるは、コンシューマ503が定めた上位レベルプロトコル502と、トランスポート層504と、ネットワーク層506と、リンク層508と、物理層510とを含む。スイッチ層例えばスイッチ513により用いられるは、リンク層508と、物理層510とを含む。ルータ層例えば、ルータ515により用いられるは、ネットワーク層506と、リンク層508と、物理層510とを含む。階層化アーキテクチャ500は、一般に、標準的な通信スタックの概要にほぼ従ったものである。例えば、エンドノード511のプロトコル層に関して、上位層プロトコル502は、トランスポート層504においてメッセージを作成するために、verbインターフェースを用いる。ネットワーク506は、ネットワークサブネット516間でパケットを経路指定する。リンク層508は、ネットワークサブネット518内でパケットを経路指定する。物理層510は、ビット又はビットグループを他のデバイスの物理層に送る。各々の層は、上位層又は下位層がそれらの機能をどのように実行するかを認識していない。コンシューマ503及び505は、エンドノード間で通信するために他の層を用いるアプリケーション又はプロセスを表す。トランスポート層504は、エンドツーエンド式のメッセージ移動を提供する。上述されたように、トランスポート層は、例えば、信頼できる接続サービス、信頼できるデータグラムサービス、信頼できないデータグラムサービス、及び信頼できない接続サービスを含む4つのタイプのトランスポートサービスを提供する。ネットワーク層506は、サブネット又は複数のサブネットを介した宛先エンドノードへのパケット経路指定を行う。リンク層508は、リンク間で、流れ制御され、誤り検査され、及び優先順位付けされたパケット配信を行う。物理層510は、技術依存のビット伝送を行う。ビット又はビットグループは、リンク522、524、及び526を介して、物理層間で送られる。リンクは、プリント回路の銅トレース、銅ケーブル、光ケーブルを用いて、又は他の適切なリンクを用いて実装することができる。上述されたように、ホストチャネルアダプタなどのアダプタは、リモートダイレクトメモリアクセス書き込み又は送信を含む特定の操作を実行するために、互いに通信する。この通信の一部として、1つのアダプタから別のアダプタへの肯定応答が用いられる。肯定応答の提供を含む、操作の実行に関する更なる詳細が、図6及び図7を参照して説明される。特に、図6は、本発明の1つ又は複数の態様が存在しない、肯定応答非遅延型肯定応答を用いる処理の一実施形態を示し、図7は、本発明の1つの態様に従った遅延型肯定応答の使用を示す。最初に図6を参照すると、プロセッサ600上で実行されるプロセスが、送信操作又はRDMA書き込み操作のような、メモリ書き込み操作などの操作の実行を要求する。この要求は、作業待ち行列要素WQE内に置かれ、作業待ち行列要素は、送信アダプタによりアクセス可能なメモリ内の送信待ち行列上に置かれる。RDMA可能なホストチャネルアダプタのような送信統合型ネットワークアダプタCNA602が、WQE610と、WQE内のポインタにより示される対応するデータ612とをフェッチし、リンク及びファブリック604上で、別のRDMA可能なホストチャネルアダプタのようなリモート受信CNA606に送られるべきパケットを構築する。リモートアダプタは、メモリへの書き込みを行う。送信操作の場合、データを書き込むためのメモリ位置が、受信WQE内に示される。PCIの場合、メモリへの書き込みは、ポスト済みのメモリ書き込み要求であるつまり、DMA書込みに対する応答はない。さらに、リモートアダプタは、肯定応答614を再び送信アダプタに送る。この肯定応答は、リモートアダプタが要求及びデータを受信したことを示すが、そのデータがリモートメモリ内に存在することを示すものではない。肯定応答の受信に応答して、送信アダプタは、CQEを生成し、このCQEは完了待ち行列上に置かれる。CQEから、作業が完了した即ち、リモートアダプタにおいて書き込み又は送信が受信されたことが、アプリケーションに通知される。その後、リモートプロセッサがデータを利用できるかどうか即ち、メモリ内に格納されたかどうかを判断することをアプリケーションが望む場合、アプリケーションは、有効なメモリ位置例えば、書込み操作により書き込まれた位置の1つに対するRDMA読み取り操作616を行って、データがそこにあるかどうかを判断する。リモートアダプタは、送信アダプタが要求したRDMA読み取り操作を実行する。データが利用可能であるとき、リモートアダプタは、読み取り操作の完了を示す別の肯定応答即ち、RDMA読み取りデータ618を送信アダプタに送る。肯定応答の受信に応答して、送信アダプタは、再びCQEを生成し、このCQEは、完了待ち行列上に置かれ、受信アダプタにより、送信アダプタが生成したリモート読み取り要求が実行されたことをアプリケーションに通知する。上述されたように、要求された操作例えばメモリ書き込み、送信が実行されたことを示すために、2つの肯定応答、及び、送信アダプタが開始し、かつ、リモートアダプタが実行したリモート読み取り操作が使用された。2つの肯定応答及びリモートで開始された読み取り要求を使用することにより、要求された操作を実行するためのアダプタ間の待ち時間が増大する。従って、本発明の1つの態様によると、リモートアダプタは、要求された操作が完了するまで即ち、データがメモリ内に格納され、プロセッサに見えるようになるまで要求された操作の肯定応答を行わない遅延型肯定応答技術が提供される。図7を参照して、遅延型肯定応答と関連した処理の1つの実施形態が説明される。図7を参照すると、図6の非遅延型肯定応答と同様に、プロセッサ600上で実行されるプロセスが、送信操作又はRDMA書き込み操作のような操作の実行を要求する。要求は、作業待ち行列要素WQE610内に置かれ、作業待ち行列要素は、送信待ち行列上に置かれる。送信アダプタ602は、WQE610と、WQE内のポインタによって示される対応するデータ612とをフェッチし、リンク及びファブリック604上でリモートアダプタ606に送られるパケットを構築する。リモートアダプタは、ポスト済みのメモリ書き込み要求であるメモリへの書き込みを実行するが、リモートアダプタは、この時点では肯定応答を送らない。代わりに、リモートアダプタは、リモートアダプタにより局所的に開始される読み取り操作630を実行する。この読み取りは、送信アダプタが要求するものではなく、送信アダプタに対してトランスペアレントである。読み取り操作は、例えば、RDMA書き込み操作の最終バイト又はキャッシュラインのDMA読み取りである。通常のPCI順序付け規則は、DMA読み取りデータが戻される前に、全ての先行するDMA書き込みを完了すべきであることを示す。データがメモリに書き込まれ、リモートプロセッサに見えることを示すDMA読み取り操作の完了に応答して、リモートアダプタは、肯定応答632を送信アダプタに送る。アダプタとメモリとの間の相互接続例えばPCIが準拠する順序付け規則は、読み取りが成功裡に完了するために、全てのデータをメモリ内に格納すべきであることを示すので、DMA読み取り操作の完了に応答して生成されるこの肯定応答は、データがメモリ内にあることを保証する。書き込み操作又は送信操作が完了したときに1回だけ肯定応答を送ること、及び、送られた要求が、送信アダプタから、読み取りを要求しているリモートアダプタに送られるのを回避することによって、待ち時間は低減し、従って、システム性能が向上する。図8を参照して、遅延型肯定応答の処理に関する更なる詳細が説明される。この処理は、受信アダプタにより実行される。最初に、受信アダプタは、RDMA書き込み操作又はデータをメモリに書き込む送信操作のような操作を実行する要求を、送信アダプタから受信するステップ700。要求に応答して、受信アダプタは操作を開始するステップ702。例えば、受信アダプタは、メモリへのデータの書き込みを始める。一例において、この書き込みは、ポスト済みのメモリ書き込み要求である。この実施形態においては、データは、PCI相互接続を介してメモリに書き込まれる。しかしながら、PCIは、DMA書き込み操作への応答を提供しない。さらに、アダプタ例えば、InfiniBand商標のアーキテクチャは、要求の受信に応答して肯定応答が送られた場合、その肯定応答はアダプタによる要求及びデータの受信に肯定応答するにすぎず、データがメモリ内に格納されたことを保証するものではないことを規定する。この時点において、受信アダプタは、肯定応答を送ることも、送らないこともある。本発明の1つの態様によると、遅延処理が指示されるかどうかの判断が行われる問い合わせ704。例として、この判断は、要求と関連した待ち行列対コンテキスト内のインジケータ、又は送信WQEから生成されたパケット内のインジケータをチェックすることより行うことができる。遅延処理が指示される場合、送信アダプタには未知の受信アダプタが、ローカル読み取り操作を実行し、データがメモリ内に格納されたかどうかを判断する。読み取り操作は、例えば、受信アダプタが書き込んだ最終メモリ位置へのDMA読み取りである。別の例においては、DMA読み取りは、別の有効なメモリ位置即ち、前に書き込まれたメモリ位置のものとすることができる。読み取りが成功し、メモリ内でデータが利用可能である問い合わせ708ことが示される場合、肯定応答が、送信アダプタに送られるステップ710。従って、この肯定応答は、読み取り操作によりデータが利用可能であることが判断されるまで、遅延される。問い合わせ708に戻ると、データが現在利用可能ではない場合、受信アダプタは、データが利用可能になるまで待つ。問い合わせ704に戻ると、遅延処理が指示されていない即ち、この特定の待ち行列対又は要求に関して、利用可能でないか又はイネーブルにされていないと判断された場合には、書き込み操作又は送信操作の受信を示す肯定応答が送られるステップ712。肯定応答は遅延されず、書き込み操作又は送信操作によりデータがメモリに書き込まれたことを保証するものではない。これにより処理が終了する。当業者によって理解されるように、本発明の態様は、システム、方法、又はコンピュータプログラム製品として具体化することができる。従って、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、又はソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形態を取ることができ、これらは全て、本明細書において一般的に回路、モジュール、又はシステムと呼ぶことができる。さらに、本発明の態様は、媒体に具体化されたコンピュータ使用可能プログラムコードを有する、1つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータプログラム製品の形態を取ることができる。1つ又は複数のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体、又は、コンピュータ可読ストレージ媒体とすることができる。コンピュータ可読信号媒体は、例えば、ベースバンド内に又は搬送波の一部として、その中で具体化されたコンピュータ可読プログラムコードを有する伝搬データ信号を含むことができる。このような伝搬信号は、これらに限られるものではないが、電磁気信号、光信号、又はそれらのいずれかの適切な組み合わせを含む、いずれかの種々の異なる形態を取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム、装置、若しくはデバイスによって、又はそれらと接続して用いるための、プログラムを通信し、伝搬し、又は移送することが可能ないずれかのコンピュータ可読媒体とすることができる。コンピュータ可読ストレージ媒体は、これらに限られるものではないが、例えば、電子的、磁気的、光学的、電磁的、赤外線、又は半導体のシステム、装置、デバイス、或いは上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例非網羅的なリストとして、以下のもの、すなわち、1つ又は複数の配線を有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み取り専用メモリROM、消去可能プログラム可能読み取り専用メモリEPROM又はフラッシュメモリ、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリCD-ROM、光記憶装置、磁気記憶装置、又は上記のいずれかの適切な組み合わせが挙げられる。本明細書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、又はデバイスによって、或いはそれらと接続して使用するために、プログラムを収容又は格納することができる任意の有形媒体である。ここで図9を参照すると、一例において、コンピュータプログラム製品800が、例えば、本発明の1つ又は複数の態様を提供し、容易にするように、コンピュータ可読プログラムコード手段又は論理804をその上に格納するための1つ又は複数のコンピュータ可読ストレージ媒体802を含む。一実施形態においては、ストレージ媒体は、有形であり、一時的なものではないnontransitory。一例において、ストレージ媒体は、記憶装置である。コンピュータ可読媒体上に具体化されたプログラムコードは、これらに限られるものではないが、無線、有線、光ファイバケーブル、RF等、或いは上記のいずれかの適切な組み合わせを含む、適切な媒体を用いて伝送することができる。本発明の態様に関する操作を実行するためのコンピュータプログラムコードは、Java、SmallTalk、Cなどのオブジェクト指向プログラミング言語、及び、Cプログラミング言語、アセンブラ、又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組み合わせで書くことができる。プログラムコードは、ユーザのコンピュータ上で完全に実行するか、ユーザのコンピュータ上で部分的に実行するか、独立型のソフトウェアパッケージとして実行するか、ユーザのコンピュータ上で部分的に実行し、リモートコンピュータ上で部分的に実行するか、又は、リモートコンピュータ若しくはサーバ上で完全に実行することができる。後者のシナリオにおいては、リモートコンピュータは、ローカルエリアネットワークLAN又は広域エリアネットワークWANを含むいずれかのタイプのネットワークを通してユーザのコンピュータに接続するか、或いは、例えば、インターネットサービスプロバイダを用いたインターネットを通して外部のコンピュータに接続することができる。本発明の態様が、本発明の実施形態による方法、装置システム、及びコンピュータプログラムのフローチャート説明図及び/又はブロック図を参照して、ここに説明される。フローチャート説明図及び/又はブロック図の各ブロック、並びに、フローチャート説明図及び/又はブロック図中のブロックの組み合わせは、コンピュータプログラム命令によって実装できることが理解されるであろう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに供給してマシンを生成し、その結果、コンピュータ又は他のプログラム可能データ処理装置のプロセッサにより実行される命令が、フローチャート及び/又はブロック図のブロック又はブロック群において指定される機能/動作を実装するための手段を生成するようにすることができる。これらのコンピュータプログラム命令はまた、フローチャート及び/又はブロック図のブロック又はブロック群において指定される機能/動作を実装する命令を含む製品を生成するように、コンピュータ又は他のプログラム可能なデータ処理装置、又は他のデバイスに特定の方法で機能するように命令することが可能なこれらのコンピュータプログラム命令を、コンピュータ可読媒体に格納することもできる。コンピュータ又は他のプログラム可能な装置上で実行される命令が、フローチャート及び/又はブロック図のブロック又はブロック群において指定される機能/動作を実装するためのプロセスを提供するように、コンピュータプログラム命令をコンピュータ、他のプログラム可能データ処理装置、又は他のデバイスにロードし、一連の操作ステップをコンピュータ、他のプログラム可能装置、又は他のデバイス上で実行させて、コンピュータに実装されるプロセスを生成することもできる。図中のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法及びコンピュータプログラムの可能な実装のアーキテクチャ、機能及び動作を示す。これに関して、フローチャート又はブロック図中の各ブロックは、モジュール、セグメント、又はコードの部分を表すことができ、これは、指定された論理機能を実行するための1つ又は複数の実行可能命令を含む。幾つかの代替的な実施においては、ブロック内に示された機能は、図中に示された順番とは異なる順番で行なうことができることにも留意すべきである。例えば、連続して示される2つのブロックを、実際には、実質的に同時に実行することができ、或いは場合により、関与する機能に応じてブロックを逆の順番で実行することもできる。また、ブロック図及び/又はフローチャート説明図中の各ブロック、並びにブロック図及び/又はフローチャート説明図中のブロックの組み合わせは、指定された機能又は行為を実行する専用のハードウェアベースのシステム、或いは専用のハードウェアとコンピュータ命令の組み合わせによって実行できることにも留意されたい。上記に加えて、本発明の1つ又は複数の態様は、顧客環境の管理を提供するサービスプロバイダによって、供与、提供、配置、管理、サービス等を行うことができる。例えば、サービスプロバイダは、1又は複数の顧客のために本発明の1つ又は複数の態様を実施するコンピュータコード及び/又はコンピュータインフラストラクチャの作成、保持、サポート等を行うことができる。見返りに、サービスプロバイダは、例として、予約申し込み及び/又は報酬契約の下で顧客から支払いを受けることができる。付加的に又は代替的に、サービスプロバイダは、1又は複数の第三者に対する広告コンテンツの販売からの支払いを受けることができる。本発明の1つの態様において、本発明の1つ又は複数の態様を実施するために、アプリケーションを配置することができる。一例として、アプリケーションの配置は、本発明の1つ又は複数の態様を実施するように動作可能なコンピュータインフラストラクチャを提供することを含む。本発明の更に別の態様として、コンピュータ可読コードをコンピュータシステムに統合することを含む、コンピュータインフラストラクチャを配置することができ、そこでは、コードは、コンピューティングシステムと協働して、本発明の1つ又は複数の態様を実施することができる。本発明の更に別の態様として、コンピュータ可読コードをコンピュータシステムに統合することを含む、コンピューティングインフラストラクチャを統合するためのプロセスを提供することができる。コンピュータシステムは、コンピュータ可読媒体を含み、ここで、コンピュータ媒体は、本発明の1つ又は複数の態様を含む。コードは、コンピュータシステムと協働して、本発明の1つ又は複数の態様を実施することができる。種々の実施形態が上述されたが、これらはただ1つの例にすぎない。例えば、他のアーキテクチャのコンピューティング環境が、本発明の1つ又は複数の態様を組み込み、使用することが可能である。付加的に、本発明の1つ又は複数の態様は、メモリ書き込み及び/又は送信以外の操作に関連することもある。さらに、メモリ書き込みが、RDMA書き込みである必要はなく、及び/又は、アダプタは、RDMA可能なもの以外のものであってもよい。さらに、アダプタとメモリの間の相互接続は、これらに限られるものではないが、メモリ書き込みへの応答を提供しない他の相互接続を含む、PCI以外のものであってもよい。さらに、アダプタのアーキテクチャは、InfiniBand商標以外のものにすることができる。多数の他の変形も可能である。さらに、他のタイプのコンピューティング環境が、本発明の1つ又は複数の態様から利益を得ることができる。一例として、環境は、特定のアーキテクチャ例えば、命令実行、アドレス変換などのアーキテクチャ化された機能、及びアーキテクチャ化されたレジスタを含む又はそのサブセットをエミュレートする例えば、プロセッサ及びメモリを有するネイティブコンピュータシステム上でエミュレータ例えば、ソフトウェア又は他のエミュレーション機構を含むことができる。このような環境においては、エミュレータを実行しているコンピュータが、エミュレートされる機能とは異なるアーキテクチャを有することができたとしても、エミュレータの1つ又は複数のエミュレーション機能が、本発明の1つ又は複数の態様を実施することができる。一例として、エミュレーションモードにおいては、エミュレートされる特定の命令又は操作がデコードされ、適切なエミュレーション機能が構築され、個々の命令又は操作を実施する。エミュレーション環境においては、ホストコンピュータは、例えば、命令及びデータを格納するためのメモリと、メモリから命令をフェッチし、随意的に、フェッチされた命令のためのローカルバッファリングを提供するための命令フェッチユニットと、フェッチされた命令を受信し、フェッチされた命令のタイプを判断するための命令デコードユニットと、命令を実行するための命令実行ユニットとを含む。実行は、メモリからデータをレジスタ内にロードすること、レジスタからデータを再びメモリに格納すること、又はデコードユニットにより判断されるように、幾つかのタイプの算術演算又は論理演算を実行することを含むことができる。一例においては、各ユニットは、ソフトウェアで実施される。例えば、ユニットが実行する演算は、エミュレータソフトウェア内の1つ又は複数のサブルーチンとして実施される。さらに、システムバスを通してメモリ要素に直接的に又は間接的に接続された少なくとも1つのプロセッサを含むプログラムコードを格納及び/又は実行するのに適したデータ処理システムが使用可能である。メモリ要素は、例えば、プログラムコードの実際の実行時に使用されるローカルメモリと、大容量記憶装置と、実行時に大容量記憶装置からコードを取得しなければならない回数を減少させるために少なくとも幾つかのプログラムコードの一時的な記憶場所を提供するキャッシュメモリとを含む。入力/出力即ちI/O装置キーボード、ディスプレイ、ポインティング装置、DASD、テープ、CD、DVD、親指ドライブ、及び他のメモリ媒体等を含むが、これらに限定されるものではないは、直接的に、又は介在するI/Oコントローラを通して、システムに結合することができる。データ処理システムが、介在するプライベートネットワーク又は公衆ネットワークを通して、データ処理システムを、他のデータ処理システム又はリモートプリンタ若しくはストレージ装置に結合できるように、ネットワークアダプタをシステムに結合することもできる。モデム、ケーブルモデム及びイーサネットカードは、現時点で利用可能なごくわずかなタイプのネットワークアダプタである。本明細書において用いられる用語は、特定の実施形態を説明する目的のためのものにすぎず、本発明を限定することを意図するものではない。本明細書において用いられる場合、文脈から明らかにそうでないことが示されていない限り、単数形は、複数形も同様に含むことが意図されている。含む及び/又は含んでいるという用語は、本明細書において用いられる場合、言明された特徴、整数、ステップ、動作、要素、及び/又はコンポーネントの存在を特定するものではあるが、1つ又は複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び/又はそれらの群の存在又は追加を排除するものではないこともさらに理解されるであろう。以下の特許請求の範囲における全ての手段又はステップと機能との組み合わせミーンズ又はステッププラスファンクション要素の対応する構造、材料、行為、及び均等物は、明確に特許請求されているように他の特許請求された要素と組み合わせて実行するための、いかなる構造、材料、又は行為をも含むことを意図される。本発明の説明は、例示及び説明の目的で提示されたものであるが、網羅的であることを意図するものではなく、本発明を開示された形態に限定することを意図するものでもない。本発明の範囲及び思想から逸脱することのない多くの変更及び変形が、当業者には明らかであろう。実施形態は、本発明の原理及び実際の用途を最も良く説明するため、及び、他の当業者が本発明を、種々の変更を有する種々の実施形態について企図される特定の使用に好適なものとして理解することを可能にするために、選択及び記載された。