【手続補正書】
【提出日】平成26年7月16日(2014.7.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサ・デバイスを使用してデータを書き込むための方法であって、
複数の書き込み間隔に配置された前記データを複数のバッファにロードすることであって、前記複数のバッファの全体が前記複数の書き込み間隔に対応するための移動に適合させたスライディング書き込みウィンドウ・メカニズムとして構成され、前記データが順不同に前記複数のバッファに到達する可能性があるが、前記スライディング書き込みウィンドウ・メカニズム内の前記複数のバッファ内に順次、順序付けられることと、
前記スライディング書き込みウィンドウ・メカニズム内に順序通りに保管された前記複数のバッファのうちの少なくとも１つに前記データを満たすと同時に前記スライディング書き込みウィンドウ・メカニズム内の前記データを単一ライタに伝達することであって、参照情報を使用して順次間隔の前記データを前記スライディング書き込みウィンドウ・メカニズムからストレージ環境にフラッシュすることにより、前記単一ライタがフラッシュ・メカニズムとしての機能的役割を引き受けるように適合されること
を含み、
前記スライディング書き込みウィンドウ・メカニズム内で、バッファの除去および追加のための操作を含む、前記スライディング書き込みウィンドウの構造を変更する操作と、着信データを書き込むための前記スライディング書き込みウィンドウ・メカニズム内の位置を計算する操作との間でのみ、クリティカル・セクションを介して相互排除が適用される、
方法。
【請求項２】
前記単一ライタおよび前記スライディング書き込みウィンドウ・メカニズムが、
前記複数の書き込み間隔を前記スライディング書き込みウィンドウ・メカニズムに提供することであって、前記スライディング書き込みウィンドウ・メカニズムが前記複数の書き込み間隔に対応するために複数のバッファ間隔を計算して返し、前記複数のバッファ間隔が前記複数のバッファに対応することと、
前記複数のバッファ間隔のうちの１つの関連バッファ間隔の複数の完全チャンク間隔の数を１だけ増分することと、
前記複数のバッファ間隔のうちの少なくとも１つを前記スライディング書き込みウィンドウ・メカニズムに追加することと除去することのうちの一方を実行することであって、前記複数のバッファ間隔のうちの１つの空のバッファ間隔の追加が順序通りに前記複数のバッファ間隔のうちの１つの既存のバッファ間隔に続く可能性があり、前記スライディング書き込みウィンドウ・メカニズムのサイズが追加時に増加し、前記複数のバッファ間隔のうちの１つを除去するときに減少すること
のうちの少なくとも１つを実行することにより、前記クリティカル・セクションの１つに入る、請求項１記載の方法。
【請求項３】
前記複数の完全チャンク間隔の新しい値が前記複数のバッファ間隔のうちの１つにおいて定数に到達し、前記複数のバッファ間隔のうちの１つが前記スライディング書き込みウィンドウ・メカニズム内の第１の間隔である場合に、前記単一ライタに提供されるフラグを設定し、第１のバッファ間隔がフラッシュの準備ができていることを示す、請求項２記載の方法。
【請求項４】
前記第１のバッファ間隔が完全であることを前記フラグが示す場合に、
前記スライディング書き込みウィンドウ・メカニズム内の前記複数のバッファ間隔をスキャンすることと、
前記複数のチャンク間隔のすべてが完全である前記複数のバッファ間隔のうちの第１のバッファ間隔から始まり、前記複数のバッファ間隔のうちの次の連続バッファ間隔に複数の参照を追加することと、
前記複数のバッファ間隔が前記スライディング書き込みウィンドウ・メカニズム内に常駐する順序に基づいて、前記複数のバッファ間隔を適切な順序でフラッシュ待ち行列内に置くことと、
前記スライディング書き込みウィンドウ・メカニズムから除去された前記複数のバッファ間隔のうちの前記１つのバッファ間隔のサイズだけ開始オフセットを増分することにより、前記スライディング書き込みウィンドウ・メカニズムを順方向に移動すること
のうちの少なくとも１つを前記単一ライタにより実行することをさらに含む、請求項３記載の方法。
【請求項５】
前記クリティカル・セクションのうちの１つの間に入手された複数のバッファ間隔のうちの戻りバッファ間隔のそれぞれについて、
前記複数のバッファの開始オフセットに基づいて、前記複数の書き込み間隔からバッファ・コンテキストにデータをコピーすることと、
前記単一ライタにより、前記複数のバッファ間隔のうちの１つへの前記複数の書き込み間隔の書き込みが完了したことを前記スライディング書き込みウィンドウ・メカニズムに通知することと、
前記単一ライタにより、前記複数のバッファ間隔内部の複数のチャンク間隔について繰り返すことであって、前記複数のチャンク間隔のそれぞれについて、特定の操作の間中、インスタント・ロックによってアトミック操作を実装し、前記複数のチャンク間隔への書き込みサイズによる占有バイトの数の値がアトミックに更新され、前記値がゼロに初期設定されることと、
フラッシュ待ち行列への配置の順序で現在の実行スレッドによって前記フラッシュ待ち行列内に置かれた数の前記複数のバッファ間隔を前記フラッシュ待ち行列からフラッシュすることであって、前記複数のバッファ間隔の内容が前記ストレージ環境にフラッシュされ、前記複数のチャンク間隔に基づく着信データに基づいて巡回冗長検査（ＣＲＣ）が計算されることと、
フラッシュにより空になった前記複数のバッファ間隔を取得することであって、取得された前記複数のバッファ間隔の数が前記現在の実行スレッドによってフラッシュされる前記複数のバッファの数であること
のうちの少なくとも１つを前記クリティカル・セクションのうちの前記１つの外部で実行することをさらに含む、請求項１記載の方法。
【請求項６】
前記単一ライタを、前記スライディング書き込みウィンドウ・メカニズムの現在位置によって反映される前記複数の書き込み間隔と同期させることであって、書き込むべきデータが前記スライディング書き込みウィンドウ・メカニズムの現行間隔に収まるときに前記単一ライタが前記データを前記スライディング書き込みウィンドウ・メカニズムに送信することをさらに含む、請求項１記載の方法。
【請求項７】
コンピュータ環境においてデータを書き込むためのシステムであって、
コンピュータ環境において動作可能な少なくとも１つのプロセッサ・デバイスを含み、前記少なくとも１つのプロセッサ・デバイスが、
複数の書き込み間隔に配置された前記データを複数のバッファにロードすることであって、前記複数のバッファの全体が前記書き込み間隔に対応するための移動に適合させたスライディング書き込みウィンドウ・メカニズムとして構成され、前記データが順不同に前記複数のバッファに到達する可能性があるが、前記スライディング書き込みウィンドウ・メカニズム内の前記複数のバッファ内に順次、順序付けられることと、
前記スライディング書き込みウィンドウ・メカニズム内に順序通りに保管された前記複数のバッファのうちの少なくとも１つに前記データを満たすと同時に前記スライディング書き込みウィンドウ・メカニズム内の前記データを単一ライタに伝達することであって、参照情報を使用して順次間隔の前記データを前記スライディング書き込みウィンドウ・メカニズムからストレージ環境にフラッシュすることにより、前記単一ライタがフラッシュ・メカニズムとしての機能的役割を引き受けるように適合されることと、
前記スライディング書き込みウィンドウ・メカニズム内で、バッファの除去および追加のための操作を含む、前記スライディング書き込みウィンドウの構造を変更する操作と、着信データを書き込むための前記スライディング書き込みウィンドウ・メカニズム内の位置を計算する操作との間でのみ、クリティカル・セクションを介して相互排除が適用されること、
のために適合される、システム。
【請求項８】
前記単一ライタおよび前記スライディング書き込みウィンドウ・メカニズムが、
前記複数の書き込み間隔を前記スライディング書き込みウィンドウ・メカニズムに提供することであって、前記スライディング書き込みウィンドウ・メカニズムが前記複数の書き込み間隔に対応するために複数のバッファ間隔を計算して返すことと、
前記複数のバッファ間隔のうちの１つの関連バッファ間隔の複数の完全チャンク間隔の数を１だけ増分することと、
前記複数のバッファ間隔のうちの少なくとも１つを前記スライディング書き込みウィンドウ・メカニズムに追加することと除去することのうちの一方を実行することであって、前記複数のバッファ間隔のうちの１つの空のバッファ間隔の追加が順序通りに前記複数のバッファ間隔のうちの１つの既存のバッファ間隔に続く可能性があり、前記スライディング書き込みウィンドウ・メカニズムのサイズが追加時に増加し、前記複数のバッファ間隔のうちの１つを除去するときに減少すること
のうちの少なくとも１つを実行することにより、前記クリティカル・セクションの１つに入ることを容易にするために、前記少なくとも１つのプロセッサ・デバイスがさらに適合される、請求項７記載のシステム。
【請求項９】
前記複数の完全チャンク間隔の新しい値が前記複数のバッファ間隔のうちの１つにおいて定数に到達し、前記複数のバッファ間隔のうちの１つが前記スライディング書き込みウィンドウ・メカニズム内の第１の間隔である場合に、前記単一ライタに提供されるフラグを設定し、第１のバッファ間隔がフラッシュの準備ができていることを示すために、前記少なくとも１つのプロセッサ・デバイスがさらに適合される、請求項８記載のシステム。
【請求項１０】
前記第１のバッファ間隔が完全であることを前記フラグが示す場合に、
前記スライディング書き込みウィンドウ・メカニズム内の前記複数のバッファ間隔をスキャンすることと、
前記複数のチャンク間隔のすべてが完全である前記複数のバッファ間隔のうちの第１のバッファ間隔から始まり、前記複数のバッファ間隔のうちの次の連続バッファ間隔に複数の参照を追加することと、
前記複数のバッファ間隔が前記スライディング書き込みウィンドウ・メカニズム内に常駐する順序に基づいて、前記複数のバッファ間隔を適切な順序でフラッシュ待ち行列内に置くことと、
前記スライディング書き込みウィンドウ・メカニズムから除去された前記複数のバッファ間隔のうちの前記１つのバッファ間隔のサイズだけ開始オフセットを増分することにより、前記スライディング書き込みウィンドウ・メカニズムを順方向に移動すること
のうちの少なくとも１つを前記単一ライタにより実行するために、前記少なくとも１つのプロセッサ・デバイスがさらに適合される、請求項９記載のシステム。
【請求項１１】
前記クリティカル・セクションのうちの１つの間に入手された複数のバッファ間隔のうちの戻りバッファ間隔のそれぞれについて、
前記複数のバッファの開始オフセットに基づいて、前記複数の書き込み間隔からバッファ・コンテキストにデータをコピーすることと、
前記単一ライタにより、前記複数のバッファ間隔のうちの１つへの前記複数の書き込み間隔の書き込みが完了したことを前記スライディング書き込みウィンドウ・メカニズムに通知することと、
前記単一ライタにより、前記複数のバッファ間隔内部の複数のチャンク間隔について繰り返すことであって、前記複数のチャンク間隔のそれぞれについて、特定の操作の間中、インスタント・ロックによってアトミック操作を実装し、前記複数のチャンク間隔への書き込みサイズによる占有バイトの数の値がアトミックに更新され、ゼロに初期設定されることと、
フラッシュ待ち行列への配置の順序で現在の実行スレッドによって前記フラッシュ待ち行列内に置かれた数の前記複数のバッファ間隔を前記フラッシュ待ち行列からフラッシュすることであって、前記複数のバッファ間隔の内容が前記ストレージ環境にフラッシュされ、前記複数のチャンク間隔に基づく着信データに基づいて巡回冗長検査（ＣＲＣ）が計算されることと、
フラッシュにより空になった前記複数のバッファ間隔を取得することであって、取得された前記複数のバッファ間隔の数が前記現在の実行スレッドによってフラッシュされる前記複数のバッファの数に等しいこと
のうちの少なくとも１つを前記クリティカル・セクションのうちの前記１つの外部で実行するために、前記少なくとも１つのプロセッサ・デバイスがさらに適合される、請求項７記載のシステム。
【請求項１２】
前記単一ライタを、前記スライディング書き込みウィンドウ・メカニズムの現在位置によって反映される前記複数の書き込み間隔と同期させ、書き込むべきデータが前記スライディング書き込みウィンドウ・メカニズムの現行間隔に収まるときに前記単一ライタが前記データを前記スライディング書き込みウィンドウ・メカニズムに送信するために、前記少なくとも１つのプロセッサ・デバイスがさらに適合される、請求項７記載のシステム。
【請求項１３】
プロセッサ・デバイスを使用してコンピュータ環境においてデータを書き込むコンピュータ・プログラムであって、前記コンピュータ・プログラムがそこに保管されたコンピュータ可読プログラム・コード部分を有するコンピュータ可読記憶媒体を含み、前記コンピュータ可読プログラム・コード部分が、
複数の書き込み間隔に配置された前記データを複数のバッファにロードするための第１の実行可能部分であって、前記複数のバッファの全体が前記書き込み間隔に対応するための移動に適合させたスライディング書き込みウィンドウ・メカニズムとして構成され、前記データが順不同に前記複数のバッファに到達する可能性があるが、前記スライディング書き込みウィンドウ・メカニズム内の前記複数のバッファ内に順次、順序付けられる第１の実行可能部分と、
前記スライディング書き込みウィンドウ・メカニズム内に順序通りに保管された前記複数のバッファのうちの少なくとも１つに前記データを満たすと同時に前記スライディング書き込みウィンドウ・メカニズム内の前記データを単一ライタに伝達するための第２の実行可能部分であって、参照情報を使用して順次間隔の前記データを前記スライディング書き込みウィンドウ・メカニズムからストレージ環境にフラッシュすることにより、前記単一ライタがフラッシュ・メカニズムとしての機能的役割を引き受けるように適合される第２の実行可能部分と
を含み、
前記スライディング書き込みウィンドウ・メカニズム内で、バッファの除去および追加のための操作を含む、前記スライディング書き込みウィンドウの構造を変更する操作と、着信データを書き込むための前記スライディング書き込みウィンドウ・メカニズム内の位置を計算する操作との間でのみ、クリティカル・セクションを介して相互排除が適用される、
コンピュータ・プログラム。
【請求項１４】
前記単一ライタおよび前記スライディング書き込みウィンドウ・メカニズムが、
前記複数の書き込み間隔を前記スライディング書き込みウィンドウ・メカニズムに提供することであって、前記スライディング書き込みウィンドウ・メカニズムが前記複数の書き込み間隔に対応するために複数のバッファ間隔を計算して返すことと、
前記複数のバッファ間隔のうちの１つの関連バッファ間隔の複数の完全チャンク間隔の数を１だけ増分することと、
前記複数のバッファ間隔のうちの少なくとも１つを前記スライディング書き込みウィンドウ・メカニズムに追加することと除去することのうちの一方を実行することであって、前記複数のバッファ間隔のうちの１つの空のバッファ間隔の追加が順序通りに前記複数のバッファ間隔のうちの１つの既存のバッファ間隔に続く可能性があり、前記スライディング書き込みウィンドウ・メカニズムのサイズが追加時に増加し、前記複数のバッファ間隔のうちの１つを除去するときに減少すること
のうちの少なくとも１つを実行することにより、前記クリティカル・セクションの１つに入ることを容易にするための第３の実行可能部分をさらに含む、請求項１３記載のコンピュータ・プログラム。
【請求項１５】
前記複数の完全チャンク間隔の新しい値が前記複数のバッファ間隔のうちの１つにおいて定数に到達し、前記複数のバッファ間隔のうちの１つが前記スライディング書き込みウィンドウ・メカニズム内の第１の間隔である場合に、前記単一ライタに提供されるフラグを設定し、第１のバッファ間隔がフラッシュの準備ができていることを示すための第４の実行可能部分をさらに含む、請求項１４記載のコンピュータ・プログラム。
【請求項１６】
前記第１のバッファ間隔が完全であることを前記フラグが示す場合に、
前記スライディング書き込みウィンドウ・メカニズム内の前記複数のバッファ間隔をスキャンすることと、
前記複数のチャンク間隔のすべてが完全である前記複数のバッファ間隔のうちの第１のバッファ間隔から始まり、前記複数のバッファ間隔のうちの次の連続バッファ間隔に複数の参照を追加することと、
前記複数のバッファ間隔が前記スライディング書き込みウィンドウ・メカニズム内に常駐する順序に基づいて、前記複数のバッファ間隔を適切な順序でフラッシュ待ち行列内に置くことと、
前記スライディング書き込みウィンドウ・メカニズムから除去された前記複数のバッファ間隔のうちの前記１つのバッファ間隔のサイズだけ開始オフセットを増分することにより、前記スライディング書き込みウィンドウ・メカニズムを順方向に移動すること
のうちの少なくとも１つを前記単一ライタにより実行するための第５の実行可能部分をさらに含む、請求項１５記載のコンピュータ・プログラム。
【請求項１７】
前記クリティカル・セクションのうちの１つの間に入手された複数のバッファ間隔のうちの戻りバッファ間隔のそれぞれについて、
前記複数のバッファの開始オフセットに基づいて、前記複数の書き込み間隔からバッファ・コンテキストにデータをコピーすることと、
前記単一ライタにより、前記複数のバッファ間隔のうちの１つへの前記複数の書き込み間隔の書き込みが完了したことを前記スライディング書き込みウィンドウ・メカニズムに通知することと、
前記単一ライタにより、前記複数のバッファ間隔内部の複数のチャンク間隔について繰り返すことであって、前記複数のチャンク間隔のそれぞれについて、特定の操作の間中、インスタント・ロックによってアトミック操作を実装し、前記複数のチャンク間隔への書き込みサイズによる占有バイトの数の値がアトミックに更新され、ゼロに初期設定されることと、
フラッシュ待ち行列への配置の順序で現在の実行スレッドによって前記フラッシュ待ち行列内に置かれた数の前記複数のバッファ間隔を前記フラッシュ待ち行列からフラッシュすることであって、前記複数のバッファ間隔の内容が前記ストレージ環境にフラッシュされ、前記複数のチャンク間隔に基づく着信データに基づいて巡回冗長検査（ＣＲＣ）が計算されることと、
フラッシュにより空になった前記複数のバッファ間隔を取得することであって、取得された前記複数のバッファ間隔の数が前記現在の実行スレッドによってフラッシュされる前記複数のバッファの数に等しいこと
のうちの少なくとも１つを前記クリティカル・セクションのうちの前記１つの外部で実行するための第３の実行可能部分をさらに含む、請求項１３記載のコンピュータ・プログラム。
【請求項１８】
前記単一ライタを、前記スライディング書き込みウィンドウ・メカニズムの現在位置によって反映される前記複数の書き込み間隔と同期させるための第３の実行可能部分であって、書き込むべきデータが前記スライディング書き込みウィンドウ・メカニズムの現行間隔に収まるときに前記単一ライタが前記データを前記スライディング書き込みウィンドウ・メカニズムに送信する第３の実行可能部分をさらに含む、請求項１３記載のコンピュータ・プログラム。
【請求項１９】
さらに、
もし前記スライディング書き込みウィンドウ・メカニズムが前方向に移動した後に複数のバッファの取得が行なわれていない場合には、書き込みウィンドウのサイズが低減される、請求項１記載の方法。
【請求項２０】
少なくとも１つのプロセッサ装置が、
もし前記スライディング書き込みウィンドウ・メカニズムが前方向に移動した後に複数のバッファの取得が行なわれていない場合には、書き込みウィンドウのサイズが低減されるように適合されている、請求項７記載のシステム。
【請求項２１】
もし前記スライディング書き込みウィンドウ・メカニズムが前方向に移動した後に複数のバッファの取得が行なわれていない場合には、書き込みウィンドウのサイズが低減する第４の実行可能部分をさらに含む、請求項１３記載のコンピュータ・プログラム。