【手続補正書】
【提出日】平成18年4月25日(2006.4.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  周辺機器からスイッチ層に至る第１のパスから、前記周辺機器から複数のソフトウェア層及び前記スイッチ層を通過する第２のパスに、オフロードされたネットワークスタックの状態オブジェクトをアップロードする方法であって、前記複数のソフトウェア層は中間層を含み、前記ネットワークスタックの状態オブジェクトは少なくとも１つのキャッシュされた状態及び少なくとも１つの委託された状態を有し、
前記少なくとも１つの委託された状態を受け取った後に前記少なくとも１つの委託された状態を管理するように前記中間層に命令するステップと、
前記第２のパスを通じてデータを送るステップと
を備えたことを特徴とするオフロードされたネットワークスタックの状態オブジェクトをアップロードする方法。
【請求項２】  前記オフロードされたネットワークスタックの状態オブジェクトのアップロードを開始するステップをさらに備えたことを特徴とする請求項１に記載のオフロードされたネットワークスタックの状態オブジェクトをアップロードする方法。
【請求項３】  前記複数の層はネットワーク層を含み、前記周辺機器はネットワークの委託された状態を有し、
前記ネットワークの委託された状態についてのオフロードされたいくつかのトランスポートコネクションのカウントをデクリメントするステップと、
前記カウントをデクリメントしてゼロになった場合、
前記ネットワークの委託された状態を前記ネットワーク層に送るように前記周辺機器にメッセージを送るステップと
をさらに備えたことを特徴とする請求項１に記載のオフロードされたネットワークスタックの状態オブジェクトをアップロードする方法。
【請求項４】  前記複数の層はフレーミング層を含み、前記周辺機器は、フレーミングの委託された状態を有し、
前記フレーミングの委託された状態についてのオフロードされたいくつかのネットワーク層の状態のフレーミングカウントをデクリメントするステップと、
前記フレーミングカウントをデクリメントしてゼロになった場合、
前記フレーミングの委託された状態を前記フレーミング層に送るように前記周辺機器にメッセージを送るステップと
をさらに備えたことを特徴とする請求項１に記載のオフロードされたネットワークスタックの状態オブジェクトをアップロードする方法。
【請求項５】  前記アップロードを開始すべきかどうかを判定するステップをさらに備えたことを特徴とする請求項１に記載のオフロードされたネットワークスタックの状態オブジェクトをアップロードする方法。
【請求項６】  周辺機器からスイッチ層に至る第１のパスから、前記周辺機器から複数のソフトウェア層及び前記スイッチ層を通過する第２のパスに、オフロードされたネットワークスタックの状態オブジェクト及び少なくとも１つの関連付けられたプロトコルをアップロードする方法であって、前記複数のソフトウェア層は中間層を含み、前記ネットワークスタック状態オブジェクトは、キャッシュされた状態及び委託された状態を有し、
未処理の要求を転送ステータスで完了するステップと、
前記委託された状態を前記スイッチ層に渡すステップと、
前記中間層のための前記周辺機器中のリソースを開放するステップと、
前記第２のパスを通じてデータを送るステップと
を備えたことを特徴とするオフロードされたネットワークスタックの状態オブジェクト及び少なくとも１つの関連付けられたプロトコルをアップロードする方法。
【請求項７】  前記複数の層はネットワーク層を含み、前記周辺機器はネットワークの委託された状態を有し、
前記トランスポート層からのオフロードされたコネクションがすべてアップロードされた場合に、前記ネットワークの委託された状態を前記ネットワーク層に送るステップ
をさらに備えたことを特徴とする請求項６に記載のオフロードされたネットワークスタックの状態オブジェクト及び少なくとも１つの関連付けられたプロトコルをアップロードする方法。
【請求項８】  請求項６に記載のステップを行うコンピュータ実行可能命令を備えたことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項９】  複数のソフトウェア層を有するホスト中で、ホストと周辺機器との間でオフロードされたネットワークスタックの状態オブジェクトを同期する方法であって、各ソフトウェア層は少なくとも１つの状態変数を有し、
前記複数のソフトウェア層の各ソフトウェア層について、
前記少なくとも１つの状態変数を、不変変数、キャッシュされた変数、及び委託された変数の１つに分類するステップと、
前記少なくとも１つの状態変数を前記周辺機器に送るステップと、
前記少なくとも１つの状態変数がキャッシュされた変数に分類された場合は、
前記キャッシュされた変数を前記ホストによって処理するステップと、
前記キャッシュされた変数が変化した場合は前記周辺機器中の前記キャッシュされた変数を更新するステップと
を備えたことを特徴とするオフロードされたネットワークスタックの状態オブジェクトを同期する方法。
【請求項１０】  前記複数のソフトウェア層の１つはトランスポート層であり、前記少なくとも１つの状態変数は不変変数に分類され、前記少なくとも１つの状態変数は、宛先ポート、送信元ポート、ウィンドウのスケール係数、及びオフロードハンドルの少なくとも１つを含むことを特徴とする請求項９に記載のオフロードされたネットワークスタックの状態オブジェクトを同期する方法。
【請求項１１】  前記複数のソフトウェア層の１つはネットワーク層であり、前記少なくとも１つの状態変数は不変変数と分類され、前記少なくとも１つの状態変数は、宛先ＩＰアドレス及び送信元ＩＰアドレスの少なくとも１つを含むことを特徴とする請求項９に記載のオフロードされたネットワークスタックの状態オブジェクトを同期する方法。
【請求項１２】  前記複数のソフトウェア層の１つはＴＣＰ層であり、前記少なくとも１つの状態変数はキャッシュされた変数に分類され、前記少なくとも１つの状態変数は、ＴＣＰ変数及びＩＰ変数の少なくとも１つを含むことを特徴とする請求項９に記載のオフロードされたネットワークスタックの状態オブジェクトを同期する方法。
【請求項１３】  前記複数のソフトウェア層の１つはネットワーク層であり、前記少なくとも１つの状態変数はキャッシュされた変数に分類され、前記少なくとも１つの状態変数はオフロードハンドルを含むことを特徴とする請求項９に記載のオフロードされたネットワークスタックの状態オブジェクトを同期する方法。
【請求項１４】  前記複数のソフトウェア層の１つはＩＰセキュリティ層であり、前記不変変数は、送信元ポート、宛先ポート、プロトコルタイプ、及びセキュリティアソシエーション変数の少なくとも１つを含むことを特徴とする請求項９に記載のオフロードされたネットワークスタックの状態オブジェクトを同期する方法。
【請求項１５】  前記少なくとも１つの状態変数が委託された変数に分類された場合、
前記少なくとも１つの状態変数を前記周辺機器によって処理するステップと、
前記委託された変数が変化した場合は前記少なくとも１つの状態変数を更新するステップと
をさらに備えたことを特徴とする請求項９に記載のオフロードされたネットワークスタックの状態オブジェクトを同期する方法。
【請求項１６】  複数の中間ソフトウェア層についての少なくとも１つのオフロードされた状態及び関連付けられたプロトコルを処理している周辺機器中でリソースを節減する方法であって、前記少なくとも１つのオフロードされた状態は状態オブジェクトを有し、
第１のオフロードされた状態の初期状態オブジェクトを格納するステップと、
前記周辺機器から前記初期状態オブジェクトの初期オフロードハンドルを受け取るステップと、
前記状態オブジェクトが前記初期状態オブジェクトである場合、次のオフロード時に前記初期オフロードハンドルを前記周辺機器に渡すステップと、
前記状態オブジェクトが新しい状態オブジェクトである場合、前記次のオフロード時に新しいオフロードハンドルを受け取るステップと
を備えたことを特徴とするリソースを節減する方法。
【請求項１７】  前記初期状態オブジェクトは初期トランスポート状態オブジェクトを含み、前記初期オフロードハンドルは初期トランスポートオフロードハンドルを含み、前記新しいオフロードハンドルは新しいトランスポートオフロードハンドルを含み、前記状態オブジェクトが前記初期状態オブジェクトである場合に次のオフロード時に前記初期オフロードハンドルを前記周辺機器に渡すステップと、前記状態オブジェクトが新しい状態オブジェクトである場合に前記次のオフロード時に新しいオフロードハンドルを受け取るステップとは、
前記トランスポート状態オブジェクトが前記初期トランスポート状態オブジェクトである場合、次のオフロード時に前記初期トランスポートオフロードハンドルを前記周辺機器に渡すステップと、
前記トランスポート状態オブジェクトが新しいトランスポート状態オブジェクトである場合、前記次のオフロード時に新しいトランスポートオフロードハンドルを受け取るステップと
を含むことを特徴とする請求項１６に記載のリソースを節減する方法。
【請求項１８】  前記初期状態オブジェクトは初期ネットワーク状態オブジェクトを含み、前記初期オフロードハンドルは初期ネットワーク層オフロードハンドルを含み、前記新しいオフロードハンドルは新しいネットワーク層オフロードハンドルを含み、前記状態オブジェクトが前記初期状態オブジェクトである場合に次のオフロード時に前記初期オフロードハンドルを前記周辺機器に渡すステップと、前記状態オブジェクトが新しい状態オブジェクトである場合に前記次のオフロード時に新しい状態オフロードを受け取るステップとは、
前記ネットワーク状態オブジェクトが前記初期ネットワーク状態オブジェクトである場合は、次のオフロード時に前記初期ネットワーク層オフロードハンドルを前記周辺機器に渡すステップと、
前記ネットワーク状態オブジェクトが新しいネットワーク状態オブジェクトである場合は、前記次のオフロード時に新しいネットワーク層オフロードハンドルを受け取るステップと
を含むことを特徴とする請求項１６に記載のリソースを節減する方法。
【請求項１９】  前記初期状態オブジェクトは初期フレーミング状態オブジェクトを含み、前記初期オフロードハンドルは初期フレーミング層オフロードハンドルを含み、前記新しいオフロードハンドルは新しいフレーミング層オフロードハンドルを含み、前記状態オブジェクトが前記初期状態オブジェクトである場合に次のオフロード時に前記初期オフロードハンドルを前記周辺機器に渡すステップと、前記状態オブジェクトが新しい状態オブジェクトである場合に前記次のオフロード時に新しいオフロードハンドルを受け取るステップとは、
前記フレーミング状態オブジェクトが前記初期フレーミング状態オブジェクトである場合は、次のオフロード時に前記初期フレーミング層オフロードハンドルを前記周辺機器に渡すステップと、
前記フレーミング状態オブジェクトが新しいフレーミング状態オブジェクトである場合、前記次のオフロード時に新しいフレーミング層オフロードハンドルを受け取るステップと
を含むことを特徴とする請求項１６に記載のリソースを節減する方法。
【請求項２０】  請求項１６に記載のステップを行うことを特徴とするコンピュータ読み取り可能な記録媒体。