【手続補正書】
【提出日】平成29年9月13日(2017.9.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク環境における効率的なパケット処理をサポートするためのシステムであって、
１つ以上のマイクロプロセッサと、
前記１つ以上のマイクロプロセッサ上で動くスレッドスケジューリングエンジンとを含み、前記スレッドスケジューリングエンジンは、複数のソフトウェアスレッドにおける各ソフトウェアスレッドにスレッドキーを割当てるように動作し、前記システムはさらに、
前記ネットワーク環境においてパケットを処理するように動作する直接メモリアクセス（ＤＭＡ）リソースのプールを含み、
前記各ソフトウェアスレッドは、割当てられたスレッドキーを提示することによって、前記ＤＭＡリソースのプールにおけるあるＤＭＡリソースへのアクセスを要求するように動作する、システム。
【請求項２】
前記パケットは、仮想ファブリックによって生成される制御パケットである、請求項１に記載のシステム。
【請求項３】
前記ＤＭＡリソースのプールは、１つ以上のＤＭＡエンジンに関連付けられる、請求項１または２に記載のシステム。
【請求項４】
前記ＤＭＡリソースは、待ち時間要件と、各前記ＤＭＡエンジンが維持している必要があるデータレートとのうちの少なくとも１つに依存して割当てられる、請求項３に記載のシステム。
【請求項５】
前記スレッドスケジューリングエンジンは、オペレーティングシステム（ＯＳ）に基づいて構築されたスレッドスケジューラである、請求項１〜４のいずれか１項に記載のシステム。
【請求項６】
ソフトウェアスレッドから要求を受信し、物理的なＤＭＡリソースが利用可能な場合には当該ＤＭＡリソースを割当てるように動作するリソースマネージャをさらに含む、請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
別のソフトウェアスレッドが前記ＤＭＡリソースにすでに割当てられていた場合、前記ＤＭＡリソースへのアクセスは拒否される、請求項６に記載のシステム。
【請求項８】
すべてのＤＭＡリソースが使用されている場合、要求しているソフトウェアスレッドは待たされる、請求項６または７に記載のシステム。
【請求項９】
単一のソフトウェアスレッドが複数のＤＭＡリソースにアクセスすることが可能にされる、請求項１〜８のいずれか１項に記載のシステム。
【請求項１０】
前記単一のソフトウェアスレッドは、前記複数のＤＭＡリソース間の順序付けを決定するように動作する、請求項９に記載のシステム。
【請求項１１】
ネットワーク環境における効率的なパケット処理をサポートするための方法であって、
１つ以上のマイクロプロセッサ上で動くスレッドスケジューリングエンジンを提供するステップを含み、前記スレッドスケジューリングエンジンは、複数のソフトウェアスレッドにおける各ソフトウェアスレッドにスレッドキーを割当てるように動作し、前記方法はさらに、
前記ネットワーク環境においてパケットを処理するように動作する直接メモリアクセス（ＤＭＡ）リソースのプールを提供するステップと、
前記各ソフトウェアスレッドが、割当てられたスレッドキーを提示することによって、前記ＤＭＡリソースのプールにおけるあるＤＭＡリソースへのアクセスを要求することを可能にするステップとを含む、方法。
【請求項１２】
実行されると、以下のステップをシステムに行なわせる命令を含むマシン読取可能なプログラムであって、前記以下のステップは、
１つ以上のマイクロプロセッサ上で動くスレッドスケジューリングエンジンを提供するステップを含み、前記スレッドスケジューリングエンジンは、複数のソフトウェアスレッドにおける各ソフトウェアスレッドにスレッドキーを割当てるように動作し、前記以下のステップはさらに、
ネットワーク環境においてパケットを処理するように動作する直接メモリアクセス（ＤＭＡ）リソースのプールを提供するステップと、
前記各ソフトウェアスレッドが、割当てられたスレッドキーを提示することによって、
前記ＤＭＡリソースのプールにおけるあるＤＭＡリソースへのアクセスを要求することを可能にするステップとを含む、マシン読取可能なプログラム。
【請求項１３】
ネットワーク装置における効率的なパケット処理をサポートするためのシステムであって、
前記ネットワーク装置上のメモリにおける複数のパケットバッファと、
直接メモリアクセス（ＤＭＡ）リソースプールとを含み、前記ＤＭＡリソースプールは１つ以上のＤＭＡリソースを含み、前記ＤＭＡリソースプールにおける各前記ＤＭＡリソースは、前記メモリにおけるパケットバッファのチェーンを指し示し、
各前記ＤＭＡリソースは、パケット処理スレッドが、前記パケット処理スレッドに予め割当てられたスレッドキーを使用して、前記メモリにおけるパケットバッファのチェーンにアクセスすることを可能にする、システム。
【請求項１４】
前記パケット処理スレッドは、予め割当てられた同じスレッドキーを使用して、前記メモリにおけるパケットバッファの複数のチェーンにアクセスするように動作する、請求項１３に記載のシステム。
【請求項１５】
前記パケット処理スレッドは、前記パケットバッファの複数のチェーンにおけるパケットを処理するために依存リストを設定するように動作する、請求項１４に記載のシステム。
【請求項１６】
複数のパケット処理スレッドが、前記メモリにおけるパケットバッファの別々のチェーンに同時にアクセスするように動作する、請求項１３〜１５のいずれか１項に記載のシステム。
【請求項１７】
少なくとも１つのＤＭＡリソースは、パケットバッファのリンクリストを指し示す、請求項１３〜１６のいずれか１項に記載のシステム。
【請求項１８】
前記リンクリストにおける各パケットバッファは、識別子と連結している、請求項１７に記載のシステム。
【請求項１９】
少なくとも１つのＤＭＡリソースは、識別子のリニアアレイを指し示す、請求項１３〜１８のいずれか１項に記載のシステム。
【請求項２０】
前記識別子のリニアアレイにおける各識別子は、パケットバッファを指し示す、請求項１９に記載のシステム。
【請求項２１】
前記複数のパケットバッファは、リンクリストとリニアアレイとの混合に基づいて構成される、請求項１３〜２０のいずれか１項に記載のシステム。
【請求項２２】
前記ＤＭＡリソースプールは、パケット処理スレッドがリンクリストに基づいてバッファのチェーンにアクセスすべきか、またはリニアアレイに基づいてバッファのチェーンにアクセスすべきかを動的に判断するように動作する、請求項２１に記載のシステム。
【請求項２３】
ネットワーク環境における効率的なパケット処理をサポートするための方法であって、
ネットワーク装置上のメモリにおける複数のパケットバッファを提供するステップと、
直接メモリアクセス（ＤＭＡ）リソースプールを提供するステップとを含み、前記ＤＭＡリソースプールはＤＭＡリソースの１つ以上を含み、前記ＤＭＡリソースプールにおける各前記ＤＭＡリソースは、前記メモリにおけるパケットバッファのチェーンを指し示し、前記方法はさらに、
各前記ＤＭＡリソースを介して、パケット処理スレッドが、前記パケット処理スレッドに予め割当てられたスレッドキーを使用して、前記メモリにおけるパケットバッファのチェーンにアクセスすることを可能にするステップを含む、方法。
【請求項２４】
実行されると、以下のステップをシステムに行なわせる命令を含むマシン読取可能なプログラムであって、前記以下のステップは、
ネットワーク装置上のメモリにおける複数のパケットバッファを提供するステップと、
直接メモリアクセス（ＤＭＡ）リソースプールを提供するステップとを含み、前記ＤＭＡリソースプールはＤＭＡリソースの１つ以上を含み、前記ＤＭＡリソースプールにおける各前記ＤＭＡリソースは、前記メモリにおけるパケットバッファのチェーンを指し示し、前記以下のステップはさらに、
各前記ＤＭＡリソースを介して、パケット処理スレッドが、前記パケット処理スレッドに予め割当てられたスレッドキーを使用して、前記メモリにおけるパケットバッファのチ
ェーンにアクセスすることを可能にするステップを含む、マシン読取可能なプログラム。