【手続補正書】
【提出日】平成15年12月17日(2003.12.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
関連メモリを有しているＣＰＵｓの形式の複数のデータ・ソース/シンク、関連コントローラを有しているメモリ・ユニット、及び、ネットワークにノードとして結合されたデータ・ソース/シンクを伴いかつネットワーク上でグローバル・メモリ・アドレスによってアクセス可能なデータ位置を伴う、ネットワーク上の全てのリソースに対して利用可能なグローバル・メモリを含む分散型メモリ・アーキテクチャを有しているデータ処理システムにおいて、複数のデータ・ソース/シンク間に分散されたデータ・セグメントを含んでいる、データ・ストリームを分散データ・ストリーム構築処理中に複数のデータ・ソース/シンクのそれぞれに分散されたデータ・セグメントをコピーすることなくリクエスタに転送する方法であって、
関連メモリを有しているＣＰＵの形式の第１のデータ・ソース／シンクにアプリケーション・サーバ処理を供給する段階であり、該アプリケーション・サーバ処理は、リクエスタからデータ・ストリームに対する要求を受け取りかつリクエスタに要求されたデータ・ストリームの転送を指向する、該段階と、
少なくとも前記要求されたデータ・ストリームの部分を記憶するためにグローバル・メモリの第１のバッファの割り当ての要求を含んでいる、前記第１のデータ・ソース/シンクで、第１のメッセージを生成する段階と、
前記要求を前記グローバル・メモリに転送する段階と、
前記グローバル・メモリで、前記第１のバッファを割り当てる第１のメッセージ・ディスクリプタを生成するためにＧＥＴ＿ＭＤ（）ルーチンを呼び出す段階と、
少なくとも前記要求されたデータ・ストリームの部分を前記グローバル・メモリの前記第１のバッファに転送する段階と、
前記第１のバッファに記憶された前記要求されたデータ・ストリームの部分ではなく、前記第１のメッセージ・ディスクリプタを、前記第１のデータ・ソース/シンクに転送するために前記グローバル・メモリでＰＵＴ＿ＭＤ（）ルーチンを呼び出す段階と、
前記第２のバッファを記述しかつメッセージ・ディスクリプタが生成されるときに所定の値に対する参照カウント・セットを含んでいる包含バッファ・ディスクリプタを有している前記第２のメッセージ・ディスクリプタにより、前記第１のデータ・ソース/シンクにおける第２のバッファを割り当てる第２のメッセージ・ディスクリプタを生成するために前記第１のデータ・ソース/シンクでＧＥＴ＿ＭＤ（）ルーチンを呼び出す段階と
前記第２のメッセージ・ディスクリプタに含まれたバッファ・ディスクリプタの参照カウンタが所定の値に等しくなるまで第１のバッファの解放を予防する段階と、
前記要求されたデータ・ストリームとは異なる、アプリケーション特定データを、前記第２のバッファに転送する段階と、
複製された第２のメッセージ・ディスクリプタを生成しかつ前記包含バッファ・ディスクリプタの前記参照カウンタを増分するために前記第２のメッセージ・ディスクリプタを複製する段階と、
第１の連鎖メッセージ・ディスクリプタを形成するために前記第１のメッセージ・ディスクリプタ及び前記複製された第２のメッセージ・ディスクリプタを、前記第１のデータ・ソース/シンクで、連鎖する段階と、
前記第１のバッファの前記要求されたデータの部分または前記第２のバッファの前記アプリケーション特定データではなく、前記第１の連鎖メッセージ・ディスクリプタを、第３のデータ・ソース/シンクに転送する段階と、
リクセスタに、前記要求されたデータ・ストリームの前記部分を前記第１のバッファから直接転送しかつ前記アプリケーション特定データを前記第２のバッファから直接転送するために前記第１の連鎖メッセージ・ディスクリプタを、前記第３のデータ・ソース/シンクで、利用する段階と；及び
前記第１のデータ・ソース/シンクで第２のメッセージ・ディスクリプタの第１のコピーを解放しかつ前記包含バッファ・ディスクリプタの前記参照カウントを減分するために前記第３のデータ・ソース/シンクで、前記データを転送することに後続して、ＲＥＴＵＲＮ＿ＭＤ（）ルーチンを呼び出す段階と
を具備することを特徴とする方法。
【請求項２】
関連メモリを有しているＣＰＵｓの形式の複数のデータ・ソース/シンク、関連コントローラを有しているメモリ・ユニット、及び、ネットワークにノードとして結合されたデータ・ソース/シンクを伴いかつネットワーク上でグローバル・メモリ・アドレスによってアクセス可能なデータ位置を伴う、ネットワーク上の全てのリソースに対して利用可能なグローバル・メモリを含む分散型メモリ・アーキテクチャを有しているデータ処理システムにおいて、複数のデータ・ソース/シンク間に分散されたデータ・セグメントを含んでいる、データ・ストリームを分散データ・ストリーム構築処理中に複数のデータ・ソース/シンクのそれぞれに分散されたデータ・セグメントをコピーすることなくリクエスタに転送する方法であって、
関連メモリを有しているＣＰＵの形式の第１のデータ・ソース／シンクにアプリケーション・サーバ処理を供給する段階であり、該アプリケーション・サーバ処理は、リクエスタからデータ・ストリームに対する要求を受け取りかつリクエスタに要求されたデータ・ストリームの転送を指向する、該段階と、
少なくとも前記要求されたデータ・ストリームの部分を記憶するためにグローバル・メモリの第１のバッファの割り当ての要求を含んでいる、前記第１のデータ・ソース/シンクで、第１のメッセージを生成する段階と、
前記要求を前記グローバル・メモリに転送する段階と、
前記グローバル・メモリで、前記第１のバッファを割り当てる第１のメッセージ・ディスクリプタを生成する段階と、
少なくとも前記要求されたデータ・ストリームの部分を前記グローバル・メモリの前記第１のバッファに転送する段階と、
前記グローバル・メモリから前記第１のデータ・ソース/シンクに、前記要求されたデータ・ストリームではなく、前記第１のメッセージ・ディスクリプタを転送する段階と、
前記第２のバッファを記述しかつメッセージ・ディスクリプタが生成されるときに所定の値に対する参照カウンタ・セットを含んでいる包含バッファ・ディスクリプタを有している前記第２のメッセージ・ディスクリプタで、前記第１のデータ・ソース/シンクにおける第２のバッファを割り当てる、前記第１のデータ・ソース/シンクで、第２のメッセージ・ディスクリプタを生成する段階と、
前記第２のメッセージ・ディスクリプタに含まれたバッファ・ディスクリプタの参照カウンタが所定の値に等しくなるまで第１のバッファの解放を予防する段階と、
前記要求されたデータ・ストリームとは異なる、アプリケーション特定データを、前記第２のバッファに転送する段階と、
複製された第２のメッセージ・ディスクリプタを生成しかつ前記包含バッファ・ディスクリプタの前記参照カウンタを増分するために前記第２のメッセージ・ディスクリプタを複製する段階と、
第１の連鎖メッセージ・ディスクリプタを形成するために前記第１のメッセージ・ディスクリプタ及び前記複製された第２のメッセージ・ディスクリプタを、前記第１のデータ・ソース/シンクで、連鎖する段階と、
前記第１及び第２のバッファに記憶されたデータではなく、前記第１の連鎖メッセージ・ディスクリプタを、第３のデータ・ソース/シンクに転送する段階と、
リクセスタに、前記要求されたデータ・ストリームの前記部分を前記第１のバッファから直接転送しかつ前記アプリケーション特定データを前記第２のバッファから直接転送するために前記第１の連鎖メッセージ・ディスクリプタを、前記第３のデータ・ソース/シンクで、利用する段階と；及び
前記第１のデータ・ソース/シンクで第２のメッセージ・ディスクリプタの第１のコピーを解放しかつ前記包含バッファ・ディスクリプタの前記参照カウントを減分するために前記第３のデータ・ソース/シンクで、前記データを転送することに後続して、ＲＥＴＵＲＮ＿ＭＤ（）ルーチンを呼び出す段階と
を具備することを特徴とする方法。