【手続補正書】
【提出日】平成27年4月30日(2015.4.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データセンター、ミドルウェアマシンシステムまたは同様の環境等のコンピューティング環境において使用されるメッセージングアプリケーションプログラムインターフェイス（ＡＰＩ）を提供するためのシステムであって、
１つ以上のアプリケーション環境を実行するための１つ以上のプロセッサノードを含むコンピューティングアプライアンスと、
前記１つ以上のプロセッサノードとその上で実行している前記アプリケーション環境とを接続する通信ファブリックと、
前記通信ファブリックを利用して前記コンピューティングアプライアンス内でのメッセージングを可能にするメッセージバスインプリメンテーションおよびメッセージングＡＰＩとを備え、
前記メッセージバスインプリメンテーションおよびメッセージングＡＰＩは、
送信側における第１のアプリケーション環境が、メッセージデータを受信側における第２のアプリケーション環境に伝送することを求める要求を、発行できるようにすること、
前記メッセージデータを格納するために前記送信側のメモリ内の空間を割当てること、
前記メッセージデータの場所を示す通知を前記受信側に伝送すること、
前記メッセージデータが前記送信側における前記場所から取出されることを、前記受信側から要求すること、および、
前記メッセージデータを前記第２のアプリケーション環境に与えることおよび受取を前記第１のアプリケーション環境に与えることと非同期で、前記メッセージデータを前記送信側から前記受信側に転送することを含む、システム。
【請求項２】
前記送信側および前記受信側に位置する、または、前記送信側と前記受信側の間に位置するリモートダイレクトメモリアクセス（ＲＤＭＡ）コンポーネントをさらに備え、
前記メッセージングＡＰＩは、前記ＲＤＭＡコンポーネントを用いて、
前記メッセージデータの送信動作を受け、
ＲＤＭＡ書込動作をスケジュールし、前記送信動作をリリースし、
前記第１のアプリケーション環境に対する前記受取と非同期で、ＲＤＭＡ読取動作をスケジュールする、請求項１に記載のシステム。
【請求項３】
複数のダイレクトバイトバッファと、前記メッセージバスインプリメンテーションによって制御されるバッファマネージャとをさらに備え、
前記送信側における第１のアプリケーション環境が前記メッセージデータを前記受信側における第２のアプリケーション環境に伝送することを求める要求を発行したことを受けて、前記バッファマネージャは、前記メッセージデータを格納するために、前記ダイレクトバイトバッファ内メモリのバッファを割当てる、請求項１または２に記載のシステム。
【請求項４】
前記メッセージバスインプリメンテーションにある、イベント発生時に前記イベントを収集し前記イベントをアプリケーション層内のアプリケーションに上げるためのコレクタをさらに備える、請求項１〜３のいずれかに記載のシステム。
【請求項５】
前記コンピューティング環境は、データセンターまたはミドルウェアマシンシステムであり、前記１つ以上のアプリケーション環境は、１つ以上のミドルウェア、アプリケーションサーバ、またはデータグリッドであり、前記１つ以上のミドルウェア、アプリケーションサーバ、データグリッド、または同様のアプリケーション環境は、前記メッセージバスインプリメンテーションおよびメッセージングＡＰＩと通信するためにエンドユーザアプリケーションが使用する、コヒーレンスデータグリッドおよび／またはウェブロジック
アプリケーションサーバコンポーネントのうちの１つを含む、請求項１〜４のいずれかに記載のシステム。
【請求項６】
通信ファブリックを利用してコンピューティングアプライアンス内でのメッセージングを可能にするメッセージバスインプリメンテーションおよびメッセージングＡＰＩを使用するためのシステムであって、前記通信ファブリックは、１つ以上のプロセッサノードと前記コンピューティングアプライアンス上で実行しているアプリケーション環境とを接続し、前記システムは、
送信側における第１のアプリケーション環境が、メッセージデータを受信側における第２のアプリケーション環境に伝送することを求める要求を、発行できるようにするための手段と、
前記メッセージデータを格納するために前記送信側のメモリ内の空間を割当て、前記メッセージデータの場所を示す通知を前記受信側に伝送するための手段と、
前記メッセージデータが前記送信側における前記場所から取出されることを、前記受信側から要求するための手段と、
前記メッセージデータを前記第２のアプリケーション環境に与えることおよび受取を前記第１のアプリケーション環境に与えることと非同期で、前記メッセージデータを前記送信側から前記受信側に転送するための手段とを備える、システム。
【請求項７】
リモートダイレクトメモリアクセス（ＲＤＭＡ）コンポーネントが、前記送信側および前記受信側に位置し、または、前記送信側と前記受信側の間に位置し、
前記メッセージングＡＰＩは、前記ＲＤＭＡコンポーネントを用いて、
前記メッセージデータの送信動作を受け、
ＲＤＭＡ書込動作をスケジュールし、前記送信動作をリリースし、
前記第１のアプリケーション環境に対する前記受取と非同期で、ＲＤＭＡ読取動作をスケジュールする、請求項６に記載のシステム。
【請求項８】
前記送信側における第１のアプリケーション環境が前記メッセージデータを前記受信側における第２のアプリケーション環境に伝送することを求める要求を発行したことを受けて、バッファマネージャが、前記メッセージデータを格納するために、ダイレクトバイトバッファ内のメモリのプールを割当てる、請求項６または７に記載のシステム。
【請求項９】
前記メッセージバスインプリメンテーションは、イベント発生時に前記イベントを収集し前記イベントをアプリケーション層内のアプリケーションに上げるためのコレクタさらに含む、請求項６〜８のいずれか１項に記載のシステム。
【請求項１０】
第１のノードと、
第２のノードと、
前記第１のノードと前記第２のノードを接続する通信ファブリックとを備えるシステムであって、
前記第１のノードは第１のメッセージングアプリケーションプログラムインターフェイス（ＡＰＩ）を有し、
前記第２のノードは第２のメッセージングＡＰＩを有し、
前記第１のメッセージングＡＰＩは、前記第１のノードが、
メッセージデータを前記第２のノードに伝送することを求める要求を発行すること、
前記メッセージデータを格納するために前記第１のノードのメモリ内の空間を割当てること、
前記メッセージデータの場所を示す通知を前記第２のノードに伝送すること、
前記メッセージデータを受信側に与えることと非同期で、前記メッセージデータを前記第１のノードから前記第２のノードに転送すること、を可能にし、
前記第２のメッセージングＡＰＩは、前記第２のノードが、
前記メッセージデータが前記第１のノードの前記場所から取出されることを要求すること、および、
受取を前記第１のノードに与えることを、可能にする、システム。
【請求項１１】
データセンター、ミドルウェアマシンシステムまたは同様の環境等のコンピューティング環境において使用されるメッセージングアプリケーションプログラムインターフェイス（ＡＰＩ）を提供するための方法であって、
１つ以上のアプリケーション環境を実行するための１つ以上のプロセッサノードを含むコンピューティングアプライアンスを提供するステップと、
前記１つ以上のプロセッサノードとその上で実行している前記アプリケーション環境とを接続する通信ファブリックを提供するステップと、
前記通信ファブリックを利用して前記コンピューティングアプライアンス内でのメッセージングを可能にするメッセージバスインプリメンテーションおよびメッセージングＡＰＩを提供するステップとを含み、
前記メッセージバスインプリメンテーションおよびメッセージングＡＰＩを提供するステップは、
送信側における第１のアプリケーション環境が、メッセージデータを受信側における第２のアプリケーション環境に伝送することを求める要求を、発行できるようにすること、
前記メッセージデータを格納するために前記送信側のメモリ内の空間を割当てること、
前記メッセージデータの場所を示す通知を前記受信側に伝送すること、
前記メッセージデータが前記送信側における前記場所から取出されることを、前記受信側から要求すること、および、
前記メッセージデータを前記第２のアプリケーション環境に与えることおよび受取を前記第１のアプリケーション環境に与えることと非同期で、前記メッセージデータを前記送信側から前記受信側に転送することを含む、方法。
【請求項１２】
通信ファブリックを利用してコンピューティングアプライアンス内でのメッセージングを可能にするメッセージバスインプリメンテーションおよびメッセージングＡＰＩを使用する方法であって、前記通信ファブリックは、１つ以上のプロセッサノードと前記コンピューティングアプライアンス上で実行しているアプリケーション環境とを接続し、前記方法は、
送信側における第１のアプリケーション環境が、メッセージデータを受信側における第２のアプリケーション環境に伝送することを求める要求を、発行できるようにすること、
前記メッセージデータを格納するために前記送信側のメモリ内の空間を割当て、前記メッセージデータの場所を示す通知を前記受信側に伝送すること、
前記メッセージデータが前記送信側における前記場所から取出されることを、前記受信側から要求すること、および、
前記メッセージデータを前記第２のアプリケーション環境に与えることおよび受取を前記第１のアプリケーション環境に与えることと非同期で、前記メッセージデータを前記送信側から前記受信側に転送することを含む、方法。
【請求項１３】
１つ以上のプロセッサにより実行される命令を含むコンピュータプログラムであって、前記命令は、前記１つ以上のプロセッサに、請求項１１または１２に記載の方法を実行させる、コンピュータプログラム。