【手続補正書】
【提出日】平成19年3月22日(2007.3.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つまたは複数のメッセージトランスポートを介してメッセージを送信または受信するための、所与のバッファサイズを有するメッセージングシステムにおいて、前記メッセージの少なくとも一部分についてバッファ要件を削減することにより、前記メッセージングシステムが前記所与のバッファサイズを使用して比較的大きなメッセージを送信または受信することを可能にするメッセージ処理方法であって、
ストリーム指向インターフェースを有する少なくとも１つのストリーム化部分を含むメッセージオブジェクトに対して実行するための対応する処理演算をそれぞれ識別する１つまたは複数のメッセージハンドラを定義する動作と、
複数のメッセージパイプラインの少なくとも１つであって別のメッセージパイプライン内で入れ子にされるメッセージパイプライン内に含まれることになる１つまたは複数のメッセージハンドラを識別し、順序付ける動作と、
前記メッセージオブジェクトを処理するために前記メッセージパイプラインの各々の前記１つまたは複数のメッセージハンドラを呼び出す動作であって、バッファ内で前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を具現化することなしに、少なくとも１つのメッセージハンドラが、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を、将来実行される、前記少なくとも１つのメッセージハンドラに対応する処理演算で、ラップする動作とを含むことを特徴とする方法。
【請求項２】
前記メッセージパイプラインの１つまたは複数は複数のメッセージハンドラを含むこと、ならびに、前記複数のメッセージハンドラの各々は、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を、前記複数のメッセージハンドラの各々に対応する処理演算で連続的にラップし、その結果、複数の処理演算が、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分上でレイヤリングされることを特徴とする請求項１に記載の方法。
【請求項３】
前記メッセージオブジェクトは、１つまたは複数のヘッダ部分と少なくとも１つのボディ部分とを備えること、ならびに、前記ボディ部分は、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記メッセージオブジェクトは、シンプルオブジェクトアクセスプロトコルメッセージオブジェクトを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記メッセージングシステムは、前記メッセージオブジェクトを経路指定する責任を負う中間部であることを特徴とする請求項４に記載の方法。
【請求項６】
前記中間部は、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を具現化することを必要とせずに、前記メッセージを経路指定するために少なくとも１つのヘッダを具現化することを特徴とする請求項５に記載の方法。
【請求項７】
前記メッセージングシステムはエンドポイントであり、前記方法はさらに、前記メッセージオブジェクトをメッセージトランスポートストリームに書き込む動作を含み、前記メッセージオブジェクトを前記メッセージトランスポートストリームに書き込む前記動作は、前記少なくとも１つの処理動作を前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分に対して実行させることを特徴とする請求項１に記載の方法。
【請求項８】
前記メッセージングシステムはメッセージコンシューマを含み、前記方法はさらに、前記メッセージコンシューマが前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分をオンデマンドで具現化する動作を含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記メッセージオブジェクトについて前記少なくとも１つのストリーム化部分と、対応するストリーム指向インターフェースとを定義する、前記メッセージオブジェクト用のメッセージオブジェクト定義を作成する動作をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
１つまたは複数のメッセージトランスポートを介してメッセージを送信または受信するための、所与のバッファサイズを有するメッセージングシステム用として、前記メッセージの少なくとも一部分についてバッファ要件を削減することにより、前記メッセージングシステムが前記所与のバッファサイズを使用して比較的大きなメッセージを送信または受信することを可能にするメッセージ処理方法をコンピュータに実行させるための実行可能命令を含むコンピュータプログラムであって、前記方法が、
ストリーム指向インターフェースを有する少なくとも１つのストリーム化部分を含むメッセージオブジェクトに対して実行するための対応する処理演算をそれぞれ識別する１つまたは複数のメッセージハンドラを定義する動作と、
複数のメッセージパイプラインの少なくとも１つであって別のメッセージパイプライン内で入れ子にされるメッセージパイプライン内に含まれることになる１つまたは複数のメッセージハンドラを識別し、順序付ける動作と、
前記メッセージオブジェクトを処理するために前記メッセージパイプラインの各々の前記１つまたは複数のメッセージハンドラを呼び出す動作であって、バッファ内で前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を具現化することなしに、少なくとも１つのメッセージハンドラが、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を、将来実行される、前記少なくとも１つのメッセージハンドラに対応する処理演算でラップする動作とを含むことを特徴とするコンピュータプログラム。
【請求項１１】
前記メッセージパイプラインの１つまたは複数は複数のメッセージハンドラを含むこと、ならびに、前記複数のメッセージハンドラの各々は、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を、前記複数のメッセージハンドラの各々に対応する処理演算で連続的にラップし、その結果、複数の処理演算が、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分上でレイヤリングされることを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１２】
前記メッセージオブジェクトは、１つまたは複数のアタッチメント部分を備えることを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１３】
前記メッセージパイプラインの前記１つまたは複数のメッセージハンドラを呼び出すことが、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分にストリームが割り当てられる前に行われることを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１４】
前記メッセージングシステムはエンドポイントであり、前記方法はさらに、前記メッセージオブジェクトをメッセージトランスポートストリームから読み取る動作を含み、前記メッセージオブジェクトを前記メッセージトランスポートストリームから読み取る前記動作は、前記少なくとも１つの処理動作を前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分に対して実行させることを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１５】
前記メッセージオブジェクトは、１つまたは複数の非ストリーム化部分を備え、前記方法はさらに、前記１つまたは複数の非ストリーム化部分をバッファ内に格納する動作を含むことを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１６】
前記メッセージングシステムはメッセージコンシューマを含み、前記方法はさらに、前記メッセージコンシューマが前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分をオンデマンドで具現化する動作を含むことを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１７】
前記方法は、バッファ内で前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を具現化することなしに、複数のエンドポイントに送達するために、前記メッセージオブジェクトを複数のトランスポートストリームに書き込む動作を含むことを特徴とする請求項１０に記載のコンピュータプログラム。
【請求項１８】
１つまたは複数のメッセージトランスポートを介してメッセージを送信または受信するための、所与のバッファサイズを有するメッセージングシステムにおいて、前記メッセージの少なくとも一部分についてバッファ要件を削減することにより、前記メッセージングシステムが前記所与のバッファサイズを使用して比較的大きなメッセージを送信または受信することを可能にするメッセージ処理方法であって、
ストリーム指向インターフェースを有する少なくとも１つのストリーム化部分を含むメッセージオブジェクトに対して実行するための対応する処理演算をそれぞれ識別する１つまたは複数のメッセージハンドラを提供するステップと、
前記１つまたは複数のメッセージハンドラからなる順序付けられた集成体を備える第１のメッセージパイプラインであって、第２のメッセージパイプライン内で入れ子にされる第１のメッセージパイプラインを提供するステップと、
前記メッセージオブジェクトを前記第１のメッセージパイプラインの前記１つまたは複数のメッセージハンドラで処理するステップであって、バッファ内で前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を具現化することなしに、少なくとも１つのメッセージハンドラが、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を、前記少なくとも１つのメッセージハンドラに対応する処理演算でカプセル化するステップとを含むことを特徴とする方法。
【請求項１９】
第１のメッセージパイプラインを提供する前記ステップは、前記１つまたは複数のメッセージハンドラを識別し、順序付ける動作を含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記第１のメッセージパイプラインは複数のメッセージハンドラを含むこと、ならびに、前記複数のメッセージハンドラの各々は、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を、前記複数のメッセージハンドラの各々に対応する処理演算で連続的にラップし、その結果、複数の処理演算が、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分上でレイヤリングされることを特徴とする請求項１８に記載の方法。
【請求項２１】
前記メッセージオブジェクトは、１つまたは複数のアタッチメント部分を備えることを特徴とする請求項１８に記載の方法。
【請求項２２】
前記第１のメッセージパイプラインの前記１つまたは複数のメッセージハンドラを呼び出すことが、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分にストリームが割り当てられる前に行われることを特徴とする請求項１８に記載の方法。
【請求項２３】
前記メッセージングシステムはエンドポイントであり、前記方法はさらに、前記メッセージオブジェクトを別のエンドポイントまたは中間部から受信するステップを含み、前記メッセージオブジェクトを受信する前記ステップは、前記少なくとも１つの処理動作を前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分に対して実行させることを特徴とする請求項１８に記載の方法。
【請求項２４】
前記メッセージオブジェクトは、１つまたは複数の非ストリーム化部分を備え、前記方法はさらに、前記１つまたは複数の非ストリーム化部分をバッファするステップを含むことを特徴とする請求項１８に記載の方法。
【請求項２５】
前記メッセージングシステムはメッセージコンシューマを含み、前記方法はさらに、前記メッセージコンシューマが前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分をオンデマンドで具現化する動作を含むことを特徴とする請求項１８に記載の方法。
【請求項２６】
バッファ内で前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を具現化することなしに、複数のエンドポイントに送達するために、前記メッセージオブジェクトを複製するステップを含むことを特徴とする請求項１８に記載の方法。
【請求項２７】
各メッセージパイプラインの前記１つまたは複数のメッセージハンドラのそれぞれで前記メッセージオブジェクトを処理するステップを含むことを特徴とする請求項１８に記載の方法。
【請求項２８】
１つまたは複数のメッセージトランスポートを介してメッセージを送信または受信するための、所与のバッファサイズを有するメッセージングシステム用として、前記メッセージの少なくとも一部分についてバッファ要件を削減することにより、前記メッセージングシステムが前記所与のバッファサイズを使用して比較的大きなメッセージを送信または受信することを可能にするメッセージ処理方法をコンピュータに実行させるための実行可能命令を含むコンピュータプログラムであって、前記方法は、
ストリーム指向インターフェースを有する少なくとも１つのストリーム化部分を含むメッセージオブジェクトに対して実行するための対応する処理演算をそれぞれ識別する１つまたは複数のメッセージハンドラを提供するステップと、
前記１つまたは複数のメッセージハンドラからなる順序付けられた集成体を備える第１のメッセージパイプラインであって、第２のメッセージパイプライン内で入れ子にされる第１のメッセージパイプラインを提供するステップと、
前記メッセージオブジェクトを前記第１のメッセージパイプラインの前記１つまたは複数のメッセージハンドラで処理するステップであって、バッファ内で前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を具現化することなしに、少なくとも１つのメッセージハンドラが、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を、前記少なくとも１つのメッセージハンドラに対応する処理演算でカプセル化するステップとを含むことを特徴とするコンピュータプログラム。
【請求項２９】
第１のメッセージパイプラインを提供する前記ステップは、前記１つまたは複数のメッセージハンドラを識別し、順序付ける動作を含むことを特徴とする請求項２８に記載のコンピュータプログラム。
【請求項３０】
前記第１のメッセージパイプラインは複数のメッセージハンドラを含むこと、ならびに、前記複数のメッセージハンドラの各々は、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を、前記複数のメッセージハンドラの各々に対応する処理演算で連続的にラップし、その結果、複数の処理演算が、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分上でレイヤリングされることを特徴とする請求項２８に記載のコンピュータプログラム。
【請求項３１】
前記メッセージオブジェクトは、１つまたは複数のヘッダ部分と少なくとも１つのボディ部分とを備えること、ならびに、前記ボディ部分は、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を備えることを特徴とする請求項２８に記載のコンピュータプログラム。
【請求項３２】
前記メッセージオブジェクトは、シンプルオブジェクトアクセスプロトコルメッセージオブジェクトを含むことを特徴とする請求項３１に記載のコンピュータプログラム。
【請求項３３】
前記メッセージングシステムは、前記メッセージオブジェクトを経路指定する責任を負う中間部であることを特徴とする請求項３２に記載のコンピュータプログラム。
【請求項３４】
前記中間部は、前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分を具現化することを必要とせずに、前記メッセージを経路指定するために少なくとも１つのヘッダを具現化することを特徴とする請求項３３に記載のコンピュータプログラム。
【請求項３５】
前記メッセージングシステムはエンドポイントであり、前記方法はさらに、前記メッセージオブジェクトを別のエンドポイントに送信するステップを含み、前記メッセージオブジェクトを送信する前記ステップは、前記少なくとも１つの処理動作を前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分に対して実行させることを特徴とする請求項２８に記載のコンピュータプログラム。
【請求項３６】
前記メッセージングシステムはメッセージコンシューマを含み、前記方法はさらに、前記メッセージコンシューマが前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分をオンデマンドで具現化する動作を含むことを特徴とする請求項２８に記載のコンピュータプログラム。
【請求項３７】
前記方法はさらに、前記メッセージオブジェクトについて前記少なくとも１つのストリーム化部分と、対応するストリーム指向インターフェースとを定義する、前記メッセージオブジェクト用のメッセージオブジェクト定義を指定するステップをさらに含むことを特徴とする請求項２８に記載のコンピュータプログラム。
【請求項３８】
各メッセージパイプラインの前記１つまたは複数のメッセージハンドラのそれぞれで前記メッセージオブジェクトを処理するステップを含むことを特徴とする請求項２８に記載のコンピュータプログラム。
【請求項３９】
前記メッセージオブジェクトの前記少なくとも１つのストリーム化部分をオンデマンドで具現化する前記動作はストリーム化部分の参照を渡す動作を含むことを特徴とする請求項８に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
ボディ６２０のチャンク６２４は、転送コード６６０にストリーム６２４Ａとして見える。転送コード６６０はストリーム６２４Ａから読み取り、転送コード６６０内でチャンク６２４を形成する。転送コード６６０は、ボディ６２０のチャンク６２４をバッファすることに留意されたい。しかし、上記のように、ストリームのチャンクをバッファすることは、有限のバッファサイズを意味し、無制限のバッファを意味するボディ６２０すべてをバッファすることとは対象である。転送コード６６０は、チャンク６２４を宛先１メッセージコンテント６５２−１および宛先２メッセージコンテント６５２−２に書き込み（６６４）、チャンク６２４は、それぞれストリーム６２４Ａ−１およびストリーム６２４Ａ−２として現れる。次いで、ストリーム６２４Ａ−１および６２４Ａ−２は、宛先１ワイヤメッセージ６００−１および宛先２ワイヤメッセージ６００−２でチャンク６２４−１および６２４−２として書き込まれる。転送コード６６０がソースワイヤメッセージ６００をすべて処理したとき、宛先１も宛先２は共にコピーを有することになる。