(57)【特許請求の範囲】
【請求項１】
データトラフィックを制限するための方法であって、
アプリケーション層において、サービスオブジェクトに対応する１つ又は複数の親プロセスオブジェクトを決定することと、
前記親プロセスオブジェクトをそれぞれ用いることにより、１つ又は複数の対応する子プロセスオブジェクトを生成し、且つ前記１つ又は複数の子プロセスオブジェクトのために最大入力／出力（Ｉ／Ｏ）帯域幅閾値を割り当てることと、
前記子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すことと
を含む方法。
【請求項２】
子プロセスは子プロセス識別子を有し、及び前記子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促す前記ステップの前に、前記方法は、前記子プロセスオブジェクトに対応するトラフィック制限規則を生成するように前記オペレーティングシステムカーネル層を促すために、前記親プロセスオブジェクトを用いることにより、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大Ｉ／Ｏ帯域幅閾値を前記オペレーティングシステムカーネル層に送信することであって、前記トラフィック制限規則は、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大Ｉ／Ｏ帯域幅閾値を含む、送信することを更に含む、請求項１に記載の方法。
【請求項３】
前記子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促す前記ステップは、
前記親プロセスオブジェクトを用いることにより、ソケット記述子ｆｄを予め生成することであって、前記ソケットｆｄは、前記子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、予め生成することと、
前記親プロセスオブジェクトを用いることにより、前記ソケットｆｄ及び前記対応する子プロセスオブジェクトの前記子プロセス識別子を前記オペレーティングシステムカーネル層に送信し、且つ前記親プロセスオブジェクトを用いることにより、前記対応する子プロセスに前記ソケットｆｄを送信することと、
前記子プロセスオブジェクトが前記ソケットｆｄを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、前記オペレーティングシステムカーネル層を、以下の操作：
前記オペレーティングシステムカーネル層を用いることにより、前記ソケットｆｄ及び前記対応する子プロセスオブジェクトの前記子プロセス識別子に従って対応するソケット構造体を取得する操作と、
前記ネットワークデータパケットが前記ソケット構造体を通過する場合、前記子プロセス識別子を前記ネットワークデータパケットに追加する操作と、
前記子プロセスオブジェクトに対応する前記最大Ｉ／Ｏ帯域幅閾値を取得するために、前記プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限する操作と
を完了するように促すことと
を含む、請求項２に記載の方法。
【請求項４】
前記子プロセスオブジェクトの前記最大Ｉ／Ｏ帯域幅閾値を適応的に調整することであって、
親レベルの最大Ｉ／Ｏ帯域幅閾値を決定することであって、前記親レベルは、サービスオブジェクト又は物理マシンを含む、前記子プロセスオブジェクトのレベルを超えるオブジェクトである、決定すること、
前記親レベルに含まれる全ての子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値の和が前記親レベルの前記最大Ｉ／Ｏ帯域幅閾値より大きい場合、前記子プロセスオブジェクトの数に従って、前記子プロセスオブジェクトのそれぞれのために割り当てられる第１の平均帯域幅閾値を計算すること、及び
前記子プロセスオブジェクトの前記最大Ｉ／Ｏ帯域幅閾値が前記第１の平均帯域幅閾値未満である場合、前記子プロセスオブジェクトの前記最大Ｉ／Ｏ帯域幅閾値を不変に維持すること、又は
前記子プロセスオブジェクトの前記最大Ｉ／Ｏ帯域幅閾値が前記第１の平均帯域幅閾値より大きい場合、第２の平均帯域幅閾値を計算し、且つ前記子プロセスオブジェクトの前記最大Ｉ／Ｏ帯域幅閾値を前記第２の平均帯域幅閾値に調整することであって、前記第２の平均帯域幅閾値は、以下の方法：（前記親レベルの前記最大Ｉ／Ｏ帯域幅閾値−最大Ｉ／Ｏ帯域幅閾値が前記第１の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大Ｉ／Ｏ帯域幅閾値）／（最大Ｉ／Ｏ帯域幅閾値が前記第１の平均帯域幅閾値より大きい子プロセスオブジェクトの数）で計算される、計算及び調整すること
を含む、調整することを更に含む、請求項１に記載の方法。
【請求項５】
データトラフィックを制限するための方法であって、
オペレーティングシステムカーネル層において、１つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力／出力（Ｉ／Ｏ）帯域幅閾値を受信することであって、前記親プロセスオブジェクトは、サービスオブジェクトに関連付けられ、前記子プロセスオブジェクトは、前記親プロセスオブジェクトを用いることによって生成されるプロセスオブジェクトであり、及び前記最大Ｉ／Ｏ帯域幅閾値は、前記子プロセスオブジェクトが前記親プロセスオブジェクトによって生成される場合、前記子プロセスオブジェクトのために割り当てられる帯域幅閾値である、受信することと、
前記子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、前記子プロセスオブジェクトに対応する前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限することと
を含む方法。
【請求項６】
前記子プロセスは子プロセス識別子を有し、及び前記子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、前記子プロセスオブジェクトに対応する前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限する前記ステップの前に、前記方法は、前記子プロセスオブジェクトに対応するトラフィック制限規則を生成することであって、前記トラフィック制限規則は、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大Ｉ／Ｏ帯域幅閾値を含む、生成することを更に含む、請求項５に記載の方法。
【請求項７】
前記子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、前記子プロセスオブジェクトに対応する前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限する前記ステップは、
前記親プロセスオブジェクトによって送信される予め生成されたソケットｆｄ及び前記対応する子プロセスオブジェクトの前記子プロセス識別子を受信することであって、前記ソケットｆｄは、前記子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、受信することと、
前記ソケットｆｄ及び前記対応する子プロセスオブジェクトの前記子プロセス識別子に従って対応するソケット構造体を取得することと、
前記ソケットｆｄを用いることにより、前記子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットを受信することと、
前記ネットワークデータパケットが前記ソケット構造体を通過する場合、前記子プロセス識別子を前記ネットワークデータパケットに追加することと、
前記子プロセスオブジェクトに対応する前記最大Ｉ／Ｏ帯域幅閾値を取得するために、前記子プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限することと
を含む、請求項６に記載の方法。
【請求項８】
前記子プロセスオブジェクトに対応する前記最大Ｉ／Ｏ帯域幅閾値を取得するために、前記子プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限する前記ステップは、
前記ネットワークデータパケットの実際のデータトラフィックを取得すること、
前記対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、前記子プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索すること、及び
前記実際のデータトラフィックが前記最大Ｉ／Ｏ帯域幅閾値未満である場合、前記実際のデータトラフィックに従って前記ネットワークデータパケットを送信すること、又は
前記実際のデータトラフィックが前記最大Ｉ／Ｏ帯域幅閾値より大きい場合、前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットを送信すること
を含む、請求項７に記載の方法。
【請求項９】
前記実際のデータトラフィックが前記最大Ｉ／Ｏ帯域幅閾値より大きい場合、前記最大Ｉ／Ｏ帯域幅閾値を超える前記実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置することと、
前記バッファに格納されたデータ量が前記事前設定サイズである場合、エラープロンプトを前記子プロセスオブジェクトに送信することと
を更に含む、請求項８に記載の方法。
【請求項１０】
前記子プロセスオブジェクトが削除されることが検出される場合、前記対応するトラフィック制限規則を削除することを更に含む、請求項６に記載の方法。
【請求項１１】
データトラフィックを制限するためのシステムであって、
アプリケーション層において、サービスオブジェクトに対応する１つ又は複数の親プロセスオブジェクトを決定するように構成された親プロセス決定モジュールと、
前記親プロセスオブジェクトをそれぞれ用いることにより、１つ又は複数の対応する子プロセスオブジェクトを生成し、且つ前記１つ又は複数の子プロセスオブジェクトのために最大入力／出力（Ｉ／Ｏ）帯域幅閾値を割り当てるように構成された子プロセス生成モジュールと、
前記子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すように構成された第１のトラフィック制限モジュールと
を含むシステム。
【請求項１２】
前記子プロセスは子プロセス識別子を有し、及び前記システムは、前記子プロセスオブジェクトに対応するトラフィック制限規則を生成するように前記オペレーティングシステムカーネル層を促すために、前記親プロセスオブジェクトを用いることにより、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大Ｉ／Ｏ帯域幅閾値を前記オペレーティングシステムカーネル層に送信するように構成された情報送信モジュールであって、前記トラフィック制限規則は、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大Ｉ／Ｏ帯域幅閾値を含む、情報送信モジュールを更に含む、請求項１１に記載のシステム。
【請求項１３】
前記第１のトラフィック制限モジュールは、
前記親プロセスオブジェクトを用いることにより、ソケット記述子ｆｄを予め生成するように構成された記述子取得サブモジュールあって、前記ソケットｆｄは、前記子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、記述子取得サブモジュールと、
前記親プロセスオブジェクトを用いることにより、前記ソケットｆｄ及び前記対応する子プロセスオブジェクトの前記子プロセス識別子を前記オペレーティングシステムカーネル層に送信し、且つ前記親プロセスオブジェクトを用いることにより、前記対応する子プロセスに前記ソケットｆｄを送信し、且つ前記子プロセスオブジェクトが前記ソケットｆｄを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、前記オペレーティングシステムカーネル層を、以下の操作：
前記オペレーティングシステムカーネル層により、前記ソケットｆｄ及び前記対応する子プロセスオブジェクトの前記子プロセス識別子に従って対応するソケット構造体を取得する操作と、
前記ネットワークデータパケットが前記ソケット構造体を通過する場合、前記子プロセス識別子を前記ネットワークデータパケットに追加する操作と、
前記子プロセスオブジェクトに対応する前記最大Ｉ／Ｏ帯域幅閾値を取得するために、前記プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限する操作と
を完了するように促すように構成された記述子送信サブモジュールと
を含む、請求項１２に記載のシステム。
【請求項１４】
前記子プロセスオブジェクトの前記最大Ｉ／Ｏ帯域幅閾値を適応的に調整するように構成された調整モジュールであって、
親レベルの最大Ｉ／Ｏ帯域幅閾値を決定するように構成された親レベル閾値決定サブモジュールであって、前記親レベルは、サービスオブジェクト又は物理マシンを含む、前記子プロセスオブジェクトのレベルを超えるオブジェクトである、親レベル閾値決定サブモジュールと、
前記親レベルに含まれる全ての子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値の和が前記親レベルの前記最大Ｉ／Ｏ帯域幅閾値より大きい場合、前記子プロセスオブジェクトの数に従って、前記子プロセスオブジェクトのそれぞれのために割り当てられる第１の平均帯域幅閾値を計算するように構成された平均値計算サブモジュールと、
前記子プロセスオブジェクトの前記最大Ｉ／Ｏ帯域幅閾値が前記第１の平均帯域幅閾値未満である場合、前記子プロセスオブジェクトの前記最大Ｉ／Ｏ帯域幅閾値を不変に維持するように構成された閾値維持サブモジュールと、
前記子プロセスオブジェクトの前記最大Ｉ／Ｏ帯域幅閾値が前記第１の平均帯域幅閾値より大きい場合、第２の平均帯域幅閾値を計算し、且つ前記子プロセスオブジェクトの前記最大Ｉ／Ｏ帯域幅閾値を前記第２の平均帯域幅閾値に調整するように構成された閾値調整サブモジュールであって、前記第２の平均帯域幅閾値は、以下の方法：（前記親レベルの前記最大Ｉ／Ｏ帯域幅閾値−最大Ｉ／Ｏ帯域幅閾値が前記第１の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大Ｉ／Ｏ帯域幅閾値）／（最大Ｉ／Ｏ帯域幅閾値が前記第１の平均帯域幅閾値より大きい子プロセスオブジェクトの数）で計算される、閾値調整サブモジュールと
を更に含む、調整モジュールを更に含む、請求項１１に記載のシステム。
【請求項１５】
データトラフィックを制限するためのシステムであって、
オペレーティングシステムカーネル層において、１つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力／出力（Ｉ／Ｏ）帯域幅閾値を受信するように構成された閾値受信モジュールであって、前記親プロセスオブジェクトは、サービスオブジェクトと関連付けられ、前記子プロセスオブジェクトは、前記親プロセスオブジェクトを用いることによって生成されたプロセスオブジェクトであり、及び前記最大Ｉ／Ｏ帯域幅閾値は、前記子プロセスオブジェクトが前記親プロセスオブジェクトによって生成される場合、前記子プロセスオブジェクトのために割り当てられる帯域幅閾値である、閾値受信モジュールと、
前記子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、前記子プロセスオブジェクトに対応する前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するように構成された第２のトラフィック制限モジュールと
を含むシステム。
【請求項１６】
前記子プロセスは子プロセス識別子を有し、及び前記システムは、前記子プロセスオブジェクトに対応するトラフィック制限規則を生成するように構成された規則生成モジュールであって、前記トラフィック制限規則は、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大Ｉ／Ｏ帯域幅閾値を含む、規則生成モジュールを更に含む、請求項１５に記載のシステム。
【請求項１７】
前記第２のトラフィック制限モジュールは、
前記親プロセスオブジェクトによって送信される予め生成されたソケットｆｄ及び前記対応する子プロセスオブジェクトの前記子プロセス識別子を受信するように構成された情報受信サブモジュールであって、前記ソケットｆｄは、前記子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、情報受信サブモジュールと、
前記ソケットｆｄ及び前記対応する子プロセスオブジェクトの前記子プロセス識別子に従って対応するソケット構造体を取得するように構成されたソケット取得サブモジュールと、
前記ソケットｆｄを用いることにより、前記子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットを受信し、且つ前記ネットワークデータパケットが前記ソケット構造体を通過する場合、前記子プロセス識別子を前記ネットワークデータパケットに追加するように構成された識別子追加サブモジュールと、
前記子プロセスオブジェクトに対応する前記最大Ｉ／Ｏ帯域幅閾値を取得するために、前記子プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するように構成されたトラフィック制限サブモジュールと
を含む、請求項１６に記載のシステム。
【請求項１８】
前記トラフィック制限サブモジュールは、
前記ネットワークデータパケットの実際のデータトラフィックを取得するように構成された実際トラフィック取得ユニットと、
前記対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、前記子プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索するように構成された規則検索ユニットと、
前記実際のデータトラフィックが前記最大Ｉ／Ｏ帯域幅閾値未満である場合、前記実際のデータトラフィックに従って前記ネットワークデータパケットを送信するように構成された第１の送信ユニットと、
前記実際のデータトラフィックが前記最大Ｉ／Ｏ帯域幅閾値より大きい場合、前記最大Ｉ／Ｏ帯域幅閾値に従って前記ネットワークデータパケットを送信するように構成された第２の送信ユニットと
を含む、請求項１７に記載のシステム。
【請求項１９】
前記実際のデータトラフィックが前記最大Ｉ／Ｏ帯域幅閾値より大きい場合、前記最大Ｉ／Ｏ帯域幅閾値を超える前記実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置するように構成されたバッファモジュールと、
前記バッファに格納されたデータ量が前記事前設定サイズである場合、エラープロンプトを前記子プロセスオブジェクトに送信するように構成されたエラープロンプト送信モジュールと
を更に含む、請求項１８に記載のシステム。
【請求項２０】
前記子プロセスオブジェクトが削除されることが検出される場合、前記対応するトラフィック制限規則を削除するように構成された規則削除モジュールを更に含む、請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１５年８月１１日出願の「METHOD AND SYSTEM FOR LIMITING DATA TRAFFIC」という名称の中国特許出願公開第２０１５１０４９１１００．３号に対する優先権を主張し、この特許出願は、その全体が参照により本明細書に援用される。
【０００２】
技術分野
本出願は、データ処理技術の分野に関し、特にデータトラフィックを制限するための方法及びデータトラフィックを制限するためのシステムに関する。
【背景技術】
【０００３】
背景技術
インターネット技術の普及と共に、生成されるデータ量が指数関数的に増大し、データ処理において要求される資源が一層膨大になっている。最近、クラウドコンピューティングプラットホームの大きい発展と共に、資源の効率的な利用が不可欠になっている。資源分離技術は、かかる目的を達成する重要部分である。資源分離は、資源が互いに干渉することを回避するために、独立して利用できるコンピューティング資源を異なるタスクに提供することを意味する。
【０００４】
既存の資源分離技術において、プロセスベースのCgroup（制御グループ）が広範囲に用いられる。Cgroupは、プロセスの物理資源（ＣＰＵ、メモリ及びＩＯなど）を分離できる、Linux（登録商標）カーネルによって提供される機構である。Cgroupは、既存のcpuset、Memory、net_cls及び他のサブシステムを統合し、その結果、Cgroupは、オペレーティングシステムレベルにおいて単一プロセスのための資源管理から仮想化までの様々なアプリケーションシナリオに適用可能である。
【０００５】
net_clsサブシステムは、単一プロセスのネットワーク帯域幅を制御するために用いられるが、net_clsサブシステムは、ネットワーク読み出し及び書き込みを調整制御するのではなく、クラス識別子classidを用いることによってネットワークデータパケットにマークを付け、その結果、linuxトラフィック制御（略してＴＣ）プログラムは、トラフィックを制限するためにCgroupにおけるタスクによって生成されたデータパケットを識別する。
【０００６】
しかしながら、linux cgroup及びトラフィック制御モジュールは、net_clsが用いられる前に構成されなければならない。幾つかの実験的試験において、ネットワーク分離効果は、Cgroupのみが用いられる場合に良好ではなく、ネットワーク帯域幅は使用中に大きく変動する。更に、Cgroupがカーネルの内蔵モジュールであるため、その柔軟性は本質的に制限され、ネットワーク資源に対する多様な要件は十分に満たされ得ない。
【０００７】
従って、現在、当業者によって早急に解決されるべき技術的問題は、ネットワーク分離の安定性を改善する、優れた適用可能性を備えたネットワーク分離解決法を提案する方法である。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
発明の概要
本出願の実施形態によって解決されるべき技術的問題は、ネットワーク分離の安定性を改善するためにデータトラフィックを制限するための方法を提供することである。
【課題を解決するための手段】
【０００９】
それに応じて、本出願の実施形態は、前述の方法の実装形態及び適用を保証するためにデータトラフィックを制限するためのシステムを更に提供する。
【００１０】
前述の問題を解決するために、本出願の実施形態は、データトラフィックを制限するための方法であって、
アプリケーション層において、サービスオブジェクトに対応する１つ又は複数の親プロセスオブジェクトを決定することと、
親プロセスオブジェクトをそれぞれ用いることにより、１つ又は複数の対応する子プロセスオブジェクトを生成し、且つ１つ又は複数の子プロセスオブジェクトのために最大入力／出力（Ｉ／Ｏ）帯域幅閾値を割り当てることと、
子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すことと
を含む方法を開示する。
【００１１】
好ましくは、子プロセスは子プロセス識別子を有し、及び子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すステップの前に、方法は、子プロセスオブジェクトに対応するトラフィック制限規則を生成するようにオペレーティングシステムカーネル層を促すために、親プロセスオブジェクトを用いることにより、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値をオペレーティングシステムカーネル層に送信することであって、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値を含む、送信することを更に含む。
【００１２】
好ましくは、子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すステップは、
親プロセスオブジェクトを用いることにより、ソケット記述子ｆｄを予め生成することであって、ソケットｆｄは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、予め生成することと、
親プロセスオブジェクトを用いることにより、ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子をオペレーティングシステムカーネル層に送信し、且つ親プロセスオブジェクトを用いることにより、対応する子プロセスにソケットｆｄを送信することと、
子プロセスオブジェクトがソケットｆｄを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層を、以下の操作：
オペレーティングシステムカーネル層を用いることにより、ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得する操作と、
ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加する操作と、
子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限する操作と
を完了するように促すことと
を含む。
【００１３】
好ましくは、方法は、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を適応的に調整することであって、
親レベルの最大Ｉ／Ｏ帯域幅閾値を決定することであって、親レベルは、サービスオブジェクト又は物理マシンを含む、子プロセスオブジェクトのレベルを超えるオブジェクトである、決定すること、
親レベルに含まれる全ての子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値の和が親レベルの最大Ｉ／Ｏ帯域幅閾値より大きい場合、子プロセスオブジェクトの数に従って、子プロセスオブジェクトのそれぞれのために割り当てられる第１の平均帯域幅閾値を計算すること、及び
子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値未満である場合、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を不変に維持すること、又は
子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい場合、第２の平均帯域幅閾値を計算し、且つ子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を第２の平均帯域幅閾値に調整することであって、第２の平均帯域幅閾値は、以下の方法：（親レベルの最大Ｉ／Ｏ帯域幅閾値−最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大Ｉ／Ｏ帯域幅閾値）／（最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい子プロセスオブジェクトの数）で計算される、計算及び調整すること
を含む、調製することを更に含む。
【００１４】
本出願の実施形態は、データトラフィックを制限するための方法であって、
オペレーティングシステムカーネル層において、１つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力／出力（Ｉ／Ｏ）帯域幅閾値を受信することであって、親プロセスオブジェクトは、サービスオブジェクトに関連付けられ、子プロセスオブジェクトは、親プロセスオブジェクトを用いることによって生成されるプロセスオブジェクトであり、及び最大Ｉ／Ｏ帯域幅閾値は、子プロセスオブジェクトが親プロセスオブジェクトによって生成される場合、子プロセスオブジェクトのために割り当てられる帯域幅閾値である、受信することと、
子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限することと
を含む方法を更に開示する。
【００１５】
好ましくは、子プロセスは子プロセス識別子を有し、及び子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するステップの前に、方法は、子プロセスオブジェクトに対応するトラフィック制限規則を生成することであって、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値を含む、生成することを更に含む。
【００１６】
好ましくは、子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するステップは、
親プロセスオブジェクトによって送信される予め生成されたソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子を受信することであって、ソケットｆｄは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、受信することと、
ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得することと、
ソケットｆｄを用いることにより、子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットを受信することと、
ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加することと、
子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限することと
を含む。
【００１７】
好ましくは、子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するステップは、
ネットワークデータパケットの実際のデータトラフィックを取得すること、
対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索すること、及び
実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値未満である場合、実際のデータトラフィックに従ってネットワークデータパケットを送信すること、又は
実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値より大きい場合、最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットを送信すること
を含む。
【００１８】
好ましくは、方法は、
実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値より大きい場合、最大Ｉ／Ｏ帯域幅閾値を超える実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置することと、
バッファに格納されたデータ量が前記事前設定サイズである場合、エラープロンプトを子プロセスオブジェクトに送信することと
を更に含む。
【００１９】
好ましくは、方法は、子プロセスオブジェクトが削除されることが検出される場合、対応するトラフィック制限規則を削除することを更に含む。
【００２０】
本出願の実施形態は、データトラフィックを制限するためのシステムであって、
アプリケーション層において、サービスオブジェクトに対応する１つ又は複数の親プロセスオブジェクトを決定するように構成された親プロセス決定モジュールと、
親プロセスオブジェクトをそれぞれ用いることにより、１つ又は複数の対応する子プロセスオブジェクトを生成し、且つ１つ又は複数の子プロセスオブジェクトのために最大入力／出力（Ｉ／Ｏ）帯域幅閾値を割り当てるように構成された子プロセス生成モジュールと、
子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すように構成された第１のトラフィック制限モジュールと
を含むシステムを更に開示する。
【００２１】
好ましくは、子プロセスは子プロセス識別子を有し、及びシステムは、子プロセスオブジェクトに対応するトラフィック制限規則を生成するようにオペレーティングシステムカーネル層を促すために、親プロセスオブジェクトを用いることにより、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値をオペレーティングシステムカーネル層に送信するように構成された情報送信モジュールであって、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値を含む、情報送信モジュールを更に含む。
【００２２】
好ましくは、第１のトラフィック制限モジュールは、
親プロセスオブジェクトを用いることにより、ソケット記述子ｆｄを予め生成するように構成された記述子取得サブモジュールあって、ソケットｆｄは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、記述子取得サブモジュールと、
親プロセスオブジェクトを用いることにより、ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子をオペレーティングシステムカーネル層に送信し、且つ親プロセスオブジェクトを用いることにより、対応する子プロセスにソケットｆｄを送信し、且つ子プロセスオブジェクトがソケットｆｄを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層を、以下の操作：
オペレーティングシステムカーネル層により、ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得する操作と、
ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加する操作と、
子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限する操作と
を完了するように促すように構成された記述子送信モジュールと
を含む。
【００２３】
好ましくは、システムは、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を適応的に調整するように構成された調整モジュールであって、
親レベルの最大Ｉ／Ｏ帯域幅閾値を決定するように構成された親レベル閾値決定サブモジュールであって、親レベルは、サービスオブジェクト又は物理マシンを含む、子プロセスオブジェクトのレベルを超えるオブジェクトである、親レベル閾値決定サブモジュールと、
親レベルに含まれる全ての子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値の和が親レベルの最大Ｉ／Ｏ帯域幅閾値より大きい場合、子プロセスオブジェクトの数に従って、子プロセスオブジェクトのそれぞれのために割り当てられる第１の平均帯域幅閾値を計算するように構成された平均値計算サブモジュールと、
子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値未満である場合、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を不変に維持するように構成された閾値維持サブモジュールと、
子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい場合、第２の平均帯域幅閾値を計算し、且つ子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を第２の平均帯域幅閾値に調整するように構成された閾値調整サブモジュールであって、第２の平均帯域幅閾値は、以下の方法：（親レベルの最大Ｉ／Ｏ帯域幅閾値−最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大Ｉ／Ｏ帯域幅閾値）／（最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい子プロセスオブジェクトの数）で計算される、閾値調整サブモジュールと
を更に含む、調整モジュールを更に含む。
【００２４】
本出願の実施形態は、データトラフィック制限するためのシステムであって、
オペレーティングシステムカーネル層において、１つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力／出力（Ｉ／Ｏ）帯域幅閾値を受信するように構成された閾値受信モジュールであって、親プロセスオブジェクトは、サービスオブジェクトと関連付けられ、子プロセスオブジェクトは、親プロセスオブジェクトを用いることによって生成された子プロセスオブジェクトであり、及び最大Ｉ／Ｏ帯域幅閾値は、子プロセスオブジェクトが親プロセスオブジェクトによって生成される場合、子プロセスオブジェクトのために割り当てられる帯域幅閾値である、閾値受信モジュールと、
子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するように構成された第２のトラフィック制限モジュールと
を含むシステムを更に開示する。
【００２５】
好ましくは、子プロセスは子プロセス識別子を有し、及びシステムは、子プロセスオブジェクトに対応するトラフィック制限規則を生成するように構成された規則生成モジュールであって、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値を含む、規則生成モジュールを更に含む。
【００２６】
好ましくは、第２のトラフィック制限モジュールは、
親プロセスオブジェクトによって送信される予め生成されたソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子を受信するように構成された情報受信サブモジュールであって、ソケットｆｄは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、情報受信サブモジュールと、
ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得するように構成されたソケット取得サブモジュールと、
ソケットｆｄを用いることにより、子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットを受信し、且つネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加するように構成された識別子追加サブモジュールと、
子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するように構成されたトラフィック制限サブモジュールと
を含む。
【００２７】
好ましくは、トラフィック制限サブモジュールは、
ネットワークデータパケットの実際のデータトラフィックを取得するように構成された実際のトラフィック取得ユニットと、
対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索するように構成された規則検索ユニットと、
実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値未満である場合、実際のデータトラフィックに従ってネットワークデータパケットを送信するように構成された第１の送信ユニットと、
実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値より大きい場合、最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットを送信するように構成された第２の送信ユニットと
を含む。
【００２８】
好ましくは、システムは、
実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値より大きい場合、最大Ｉ／Ｏ帯域幅閾値を超える実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置するように構成されたバッファモジュールと、
バッファに格納されたデータ量が前記事前設定サイズである場合、エラープロンプトを子プロセスオブジェクトに送信するように構成されたエラープロンプト送信モジュールと
を更に含む。
【００２９】
好ましくは、システムは、子プロセスオブジェクトが削除されることが検出される場合、対応するトラフィック制限規則を削除するように構成された規則削除モジュールを更に含む。
【００３０】
先行技術と比較して、本出願の実施形態は以下の利点を有する。
【００３１】
複数のテナントがクラスタ資源を共有し、且つ本出願の実施形態が適用される分散環境において、サービスオブジェクトに対応する１つ又は複数の親プロセスオブジェクトが決定された場合、親プロセスオブジェクトは、サービスオブジェクトを処理する子プロセスオブジェクトを生成し、最大Ｉ／Ｏ帯域幅閾値が子プロセスオブジェクトのために割り当てられる。このようにして、同じマシン上の様々なプロセスが利用できる最大ネットワーク入力／出力帯域幅は、指定された閾値を超過することができない。言い換えれば、トラフィックは、異なるサービスオブジェクトのネットワーク要件を満たすように、ネットワーク安定性に影響せずに多重プロセスネットワーク分離の目的を達成するために最大Ｉ／Ｏ帯域幅閾値未満に帯域幅を制御するように制限される。
【００３２】
加えて、本出願の実施形態は、プログラム可能な言語（例えば、Ｃ言語）で実施され、従って別のシステムに一層容易に統合することができる。
【図面の簡単な説明】
【００３３】
【図１】本出願に従ってデータトラフィックを制限するための方法の第１の実施形態におけるステップのフローチャートである。
【図２】本出願に従ってデータトラフィックを制限するための方法の第１の実施形態におけるデータトラフィックを制限する原理の概略図である。
【図３】本出願に従ってデータトラフィックを制限するための方法の第１の実施形態における多重プロセス帯域幅割り当ての概略図である。
【図４】本出願に従ってデータトラフィックを制限するための方法の第２の実施形態におけるステップのフローチャートである。
【図５】本出願に従ってデータトラフィックを制限するための方法の第３の実施形態におけるステップのフローチャートである。
【図６】本出願に従ってデータトラフィックを制限するためのシステムの第１の実施形態における構造ブロック図である。
【図７】本出願に従ってデータトラフィックを制限するためのシステムの第２の実施形態における構造ブロック図である。
【発明を実施するための形態】
【００３４】
詳細な説明
本出願の前述の目的、特徴及び利点をより分かりやすくするために、本出願は、添付の図面及び特定の実装形態の方法に関連して以下で更に詳細に説明される。
【００３５】
図１を参照すると、本出願によるデータトラフィックを制限するための方法の第１の実施形態におけるステップのフローチャートが示されている。本出願のこの実施形態は、アプリケーション層の観点から説明され、アプリケーション層は、以下のステップを含んでもよい。
【００３６】
ステップ１０１．アプリケーション層において、サービスオブジェクトに対応する１つ又は複数の親プロセスオブジェクトが決定される。
【００３７】
実際のサービスシナリオにおいて、ほとんどの大規模クラウドコンピューティングプラットホームは、一般に多重データセンタに配置される。各データセンタは、複数のクラスタを有し、各クラスタは、複数の物理マシンを含んでもよく、各物理マシンは、異なるサービスオブジェクトを実行してもよく、これは典型的なクラスタ多重テナントモードである。
【００３８】
本出願のこの実施形態における適用中、サービスオブジェクトのために機能する１つ又は複数の親プロセスオブジェクトが最初に決定されてもよい。親プロセスオブジェクトは、オペレーティングシステムによって予め生成されたプロセス、例えばデーモンプロセスとして一般に知られているプロセスであってもよく、デーモンプロセスは、通常、制御端末と無関係で比較的長い寿命を有し、且つタスクを周期的に実行するか又はイベントの発生時に幾つかのイベントを処理するのを待つ、Linuxにおけるバックグラウンドサービスプロセスである。
【００３９】
ステップ１０２．１つ又は複数の対応する子プロセスオブジェクトが親プロセスオブジェクトを用いることによってそれぞれ生成され、最大入力／出力（Ｉ／Ｏ）帯域幅閾値が１つ又は複数の子プロセスオブジェクトのために割り当てられる。
【００４０】
図２に示されているデータトラフィックを制限する原理の概略図を参照すると、親プロセスオブジェクトが決定された後、親プロセスオブジェクトは、サービスオブジェクトを処理する１つ又は複数の子プロセスオブジェクトを生成するために事前設定のＡＰＩインターフェースを更に呼び出し、且つ生成された子プロセスオブジェクトのために最大Ｉ／Ｏ帯域幅閾値を構成してもよい。最大Ｉ／Ｏ帯域幅閾値は、最大出力帯域幅閾値若しくは最大入力帯域幅閾値を指すか、又は最大出力帯域幅閾値と最大入力帯域幅閾値とを含む。
【００４１】
特に、物理マシンに割り当てられた全てのサービスオブジェクトは、Ｎ（Ｎ＞０）常駐システムデーモンプロセスに最初に分配されてもよい。これらのデーモンプロセスは、親プロセスオブジェクトとして、サービスオブジェクトの特定のコンピューティングロジックを実行するｍ（ｍ＞０）子プロセスオブジェクトを更に生成する。生成された子プロセスオブジェクトのそれぞれは、対応する子プロセス識別子を有し、本出願のこの実施形態において、子プロセス識別子はＳｕｂＰＩＤで表されてもよい。
【００４２】
子プロセスオブジェクトにおいて実行されるユーザロジックがセキュリティ及び資源分離のためにシステムに対して透過的であってもよいため、親プロセスオブジェクトは、子プロセスオブジェクトを生成する場合、各子プロセスオブジェクトのために最大入力／出力（Ｉ／Ｏ）帯域幅閾値を割り当ててもよい。即ち、使用中の各子プロセスの合計ネットワーク帯域幅は、各子プロセスのネットワーク資源の利用を制限するために、指定された割り当てを間違いなく超過しない。図３における多重プロセス帯域幅割り当ての概略図に示されているように、物理マシン上に２つのサービスがある。サービス１の親プロセスオブジェクト１が３つの子プロセスオブジェクトを生成し、それらのために、最大入力ネットワーク帯域幅は１０Ｍ／ｓ、４０Ｍ／ｓ及び８０Ｍ／ｓにそれぞれ指定され、最大出力ネットワーク帯域幅は４０Ｍ／ｓ、２０Ｍ／ｓ及び５０Ｍ／ｓにそれぞれ指定される。物理マシンの最大入力／出力帯域幅が１０００Ｍ／ｓであると仮定すると、３つの子プロセスオブジェクトが利用できるネットワーク帯域幅のための閾値は、指定された割り当てである。
【００４３】
子プロセスオブジェクトの数がlinuxオペレーティングシステムにおいてサポートされ得る限り、１つの親プロセスオブジェクトが多数の子プロセスオブジェクトを理論的に生成してもよいことに留意されたい。親プロセスオブジェクトは、子プロセスオブジェクトのライフサイクルを管理するように、例えば、子プロセスオブジェクトを生成及び破棄し、ネットワーク帯域幅を割り当て、各子プロセスオブジェクトのネットワーク利用を監視するなどを行うように主に機能する。
【００４４】
本出願のこの実施形態には、以下のステップ：子プロセスオブジェクトに対応するトラフィック制限規則を生成するようにオペレーティングシステムカーネル層を促すために、親プロセスオブジェクトを用いることにより、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値をオペレーティングシステムカーネル層に送信するステップが含まれてもよく、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値を含む。
【００４５】
特に、本出願のこの実施形態において、子プロセスオブジェクトを生成する場合、親プロセスオブジェクトは、子プロセスオブジェクトの子プロセス識別子ＳｕｂＰＩＤ及び対応する最大Ｉ／Ｏ帯域幅閾値をオペレーティングシステムカーネル層に更に送信してもよい。特定の実装形態において、図２に示されているように、親プロセスオブジェクトが子プロセスオブジェクトを生成するたびに、親プロセスオブジェクトは、子プロセスオブジェクトのＳｕｂＰＩＤ及び対応する最大Ｉ／Ｏ帯域幅閾値に従って対応するトラフィック制限規則を生成するようにオペレーティングシステムカーネル層を促すために、オペレーティングシステムアプリケーション層においてカプセル化されたＡＰＩインターフェース、例えばAddGroup（GroupInfo）インターフェースを呼び出し、GroupInfoを介してオペレーティングシステムカーネル層に子プロセスオブジェクトのＳｕｂＰＩＤ及び対応する最大Ｉ／Ｏ帯域幅閾値などの情報を送信するようにしてもよい。オペレーティングシステムカーネル層の特定の処理方法は、次の実施形態において詳細に説明される。
【００４６】
ステップ１０３．子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層は、最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するように促される。
【００４７】
本出願の好ましい実施形態において、ステップ１０３は、以下のサブステップを含んでもよい。
【００４８】
サブステップＳ１１．ソケット記述子ｆｄは、親プロセスオブジェクトを用いることによって予め生成され、ソケットｆｄは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である。
【００４９】
サブステップＳ１２．ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子は、親プロセスオブジェクトを用いることにより、オペレーティングシステムカーネル層に送信され、ソケットｆｄは、親プロセスオブジェクトを用いることにより、対応する子プロセスに送信される。
【００５０】
サブステップＳ１３．子プロセスオブジェクトがソケットｆｄを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層は、以下の操作：
オペレーティングシステムカーネル層により、ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得する操作と、
ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加する操作と、
子プロセスオブジェクトに対応し、且つ最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限する最大Ｉ／Ｏ帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索する操作と
を完了するように促される。
【００５１】
特に、親プロセスオブジェクトは、各子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求されるソケットｆｄを、予め生成し、且つ別のカプセル化されたＡＰＩインターフェース、例えばAddFd（ｓｕｂＰＩＤ、ｆｄ）を呼び出して、ソケットｆｄ及び対応する子プロセスオブジェクトのＳｕｂＰＩＤをオペレーティングシステムカーネル層に送信し、且つ同時にソケットｆｄを対応する子プロセスに送信してもよい。子プロセスオブジェクトがソケットｆｄを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層は、以下の操作：オペレーティングシステムカーネル層により、ソケットｆｄ及び対応する子プロセスオブジェクトのＳｕｂＰＩＤに従って対応するソケット構造体を取得する操作と、ネットワークデータパケットがソケット構造体を通過する場合、ネットワークデータパケットにＳｕｂＰＩＤを追加する操作と、子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、ＳｕｂＰＩＤに基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索する操作と、最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限する操作とを完了するように促される。オペレーティングシステムカーネル層の前述の操作は、次の実施形態において詳細に説明される。
【００５２】
本出願のこの実施形態における好ましい実装形態の方法において、以下のステップ：特に以下のサブステップを含む、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を適応的に調整するステップが含まれてもよい。
【００５３】
サブステップＳ２１．親レベルの最大Ｉ／Ｏ帯域幅閾値が決定され、親レベルは、サービスオブジェクト又は物理マシンを含む、子プロセスオブジェクトのレベルを超えるオブジェクトである。
【００５４】
本出願のこの実施形態における設定されるトラフィック制限規則は、階層的である。子レベルのトラフィック制限規則は、親レベルのトラフィック制限規則によって制約される。子レベルは子プロセスオブジェクトであってもよく、親レベルはサービスオブジェクト又は物理マシンであってもよい。
【００５５】
親レベルが物理マシンである場合、親レベルの最大Ｉ／Ｏ帯域幅閾値は、物理マシンの合計帯域幅である。
【００５６】
親レベルがサービスオブジェクトである場合、親レベルの最大Ｉ／Ｏ帯域幅閾値は、サービスオブジェクトの最大Ｉ／Ｏ帯域幅閾値である。特に、幾つかのシナリオにおいて、物理マシン上のサービスオブジェクトの全ての子プロセスオブジェクトが利用できる最大Ｉ／Ｏ帯域幅閾値は、他のサービスオブジェクトのネットワーク利用を妨害することを回避するように定義される必要があり得る。この場合、親グループを生成し、サービスオブジェクトが利用できる最大Ｉ／Ｏ帯域幅閾値を指定し、次にサービスオブジェクトのために機能する子プロセスオブジェクトを生成し、且つ親グループのＩＤを指定するために、同じＡＰＩを用いることが可能である。次に、サービスのために機能する全ての子プロセスは、サービスオブジェクトのために指定された最大Ｉ／Ｏ帯域幅閾値を共有する。
【００５７】
親レベルのために指定された異なる最大Ｉ／Ｏ帯域幅閾値に従って、子プロセスオブジェクトのための調整後に取得される最大Ｉ／Ｏ帯域幅閾値も異なる。例えば、物理マシンの合計帯域幅が２００Ｍ／ｓであり、次にトラフィック制限規則ｒ１が設定され、そこにおいて最大出力帯域幅閾値は１００Ｍ／ｓであり、次に２つのトラフィック制限規則ｒ２及びｒ３が更に生成され、そこにおいて最大出力帯域幅閾値は両方とも８０Ｍ／ｓである。ｒ２及びｒ３が属する親レベルが生成中に指定されない場合、親レベルは、ｒ１と同様にデフォルトによる物理マシンであり、親レベルの最大出力帯域幅閾値は２００Ｍ／ｓである。ｒ２及びｒ３が生成中に規則ｒ１に属することが指定される場合、ｒ２及びｒ３の親レベルはｒ１であり、親レベルの最大出力帯域幅閾値は１００Ｍ／ｓである。
【００５８】
サブステップＳ２２．親レベルに含まれる全ての子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値の和が親レベルの最大Ｉ／Ｏ帯域幅閾値より大きい場合、子プロセスオブジェクトのそれぞれのために割り当てられる第１の平均帯域幅閾値が、子プロセスオブジェクトの数に従って計算される。
【００５９】
親レベルの最大Ｉ／Ｏ帯域幅閾値が決定された後、親レベルに含まれる全ての子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値の和が親レベルの最大Ｉ／Ｏ帯域幅閾値より大きいかどうかが更に判定されてもよい。判定結果が否定である場合、それは、現在の親レベルの資源が全ての子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値の要件を満たし得ることを示す。判定結果が肯定である場合、それは、現在の親レベルの資源が全ての子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値の要件を満たし得ないことを示す。この時点で、子プロセスオブジェクトのそれぞれによって占められる平均帯域幅閾値（第１の平均帯域幅閾値）が更に計算される。
【００６０】
例えば、物理マシンの合計最大出力帯域幅が１００Ｍ／ｓであり、子プロセス１、２、３、４及び５が順に生成され、割り当てられた最大出力帯域幅はそれぞれ１０Ｍ／ｓ、２０Ｍ／ｓ、４０Ｍ／ｓ、８０Ｍ／ｓ及び１２０Ｍ／ｓである。５つの子プロセスオブジェクトの最大出力帯域幅閾値の和（１０Ｍ／ｓ＋２０Ｍ／ｓ＋４０Ｍ／ｓ＋８０Ｍ／ｓ＋１２０Ｍ／ｓ＝２７０Ｍ／ｓ）が物理マシンの合計最大出力帯域幅１００Ｍ／ｓより大きいため、子プロセスオブジェクトのそれぞれによって占められる第１の平均帯域幅閾値が１００／５＝２０Ｍ／ｓであることが、この時点で更に計算されてもよい。
【００６１】
サブステップＳ２３．子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値未満である場合、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値は不変に維持される。
【００６２】
サブステップＳ２４．子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい場合、第２の平均帯域幅閾値が計算され、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値は第２の平均帯域幅閾値に調整される。
【００６３】
特に、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値未満である場合、その最大Ｉ／Ｏ帯域幅閾値は不変に維持され得る。子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい場合、第２の平均帯域幅閾値が更に計算される。第２の平均帯域幅閾値は、以下の方法：（親レベルの最大Ｉ／Ｏ帯域幅閾値−最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大Ｉ／Ｏ帯域幅閾値）／（最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい子プロセスオブジェクトの数）で計算されてもよい。
【００６４】
例えば、上記の例において、順に生成された子プロセスオブジェクト１、２、３、４及び５に関し、新しい子プロセスオブジェクトが生成されるたびに、各プロセスが到達できる最大出力帯域幅閾値を適応的に調整するプロセスは以下の通りである。
【００６５】
子プロセスオブジェクト１が生成される場合、１０Ｍ／ｓの割り当てられた最大出力帯域幅が物理マシンの合計最大出力帯域幅１００Ｍ／ｓを超過しないため、子プロセスオブジェクト１の最大出力帯域幅は不変に維持される（１０Ｍ／ｓ）。
【００６６】
次に、子プロセスオブジェクト２が生成される。子プロセスオブジェクト１及び子プロセスオブジェクト２の最大出力帯域幅の和（１０＋２０＝３０Ｍ／ｓ）が物理マシンの合計最大出力帯域幅１００Ｍ／ｓを超過しないため、子プロセスオブジェクト１及び子プロセスオブジェクト２の最大出力帯域幅は不変に維持される（１０Ｍ／ｓ、２０Ｍ／ｓ）。
【００６７】
次に、子プロセスオブジェクト３が生成される。子プロセスオブジェクト１〜子プロセスオブジェクト３の最大出力帯域幅の和（１０＋２０＋４０＝７０Ｍ／ｓ）が物理マシンの合計最大出力帯域幅１００Ｍ／ｓを超過しないため、子プロセスオブジェクト１〜子プロセスオブジェクト３の最大出力帯域幅は不変に維持される（１０Ｍ／ｓ、２０Ｍ／ｓ、４０Ｍ／ｓ）。
【００６８】
次に、子プロセスオブジェクト４が生成される。子プロセスオブジェクト１〜子プロセスオブジェクト４の最大出力帯域幅の和（１０＋２０＋４０＋８０＝１５０Ｍ／ｓ）が物理マシンの合計最大出力帯域幅１００Ｍ／ｓを超過するため、最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値以下である子プロセスオブジェクトの最大出力帯域幅は不変に維持される。即ち、子プロセスオブジェクト１及び子プロセスオブジェクト２の最大出力帯域幅は不変に維持される。最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい子プロセスオブジェクトの最大出力帯域幅は、第２の平均帯域幅閾値に調整される。第２の平均帯域幅閾値を計算する方法は、（１００−１０−２０）／２＝３５である。即ち、子プロセス１〜４の調整された最大出力帯域幅閾値は、（１０Ｍ／ｓ、２０Ｍ／ｓ、３５Ｍ／ｓ、３５Ｍ／ｓ）である。
【００６９】
次に、子プロセスオブジェクト５が生成される。子プロセスオブジェクト１〜子プロセスオブジェクト５の最大出力帯域幅の和（１０＋２０＋４０＋８０＋１２０＝２７０Ｍ／ｓ）が物理マシンの合計最大出力帯域幅１００Ｍ／ｓを超過するため、最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値以下である子プロセスオブジェクトの最大出力帯域幅は不変に維持される。即ち、子プロセスオブジェクト１及び子プロセスオブジェクト２の最大出力帯域幅は不変に維持される。最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい子プロセスオブジェクトの最大出力帯域幅は、第２の平均帯域幅閾値に調整される。第２の平均帯域幅閾値を計算する方法は、（１００−１０−２０）／３＝２３である。即ち、子プロセス１〜５の調整された最大出力帯域幅閾値は、（１０Ｍ／ｓ、２０Ｍ／ｓ、２３Ｍ／ｓ、２３Ｍ／ｓ、２３Ｍ／ｓ）である。
【００７０】
実際に、上記で取得された各子プロセスオブジェクトの適応的な調整結果が約５％のわずかな変動誤差を有し得、且つ概して全てのプロセスが閾値範囲内の出力／入力帯域幅を共有することに留意されたい。
【００７１】
上記のように子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を適応的に調整することにより、プロセスの最大入力／出力帯域幅を柔軟且つ正確に制御する目的が達成され得る。
【００７２】
本出願のこの実施形態において、オペレーティングシステムがプラグ接続可能な方法でオンライン実行プロセスをアップグレードしてもよく、アップグレードプロセスがプロセスの正常な実行に影響しないことに留意されたい。実装形態の方法において、dlopen機能（主として動的リンクライブラリを開き、且つ動的リンクライブラリのハンドルを返す機能）は、プロセスをアップグレードするために、本出願のこの実施形態のコードを動的にロードするために用いられてもよく、その結果、実行プロセスは、本出願のこの実施形態のコードを透過的にロード及びアンロードすることができる。
【００７３】
複数のテナントがクラスタ資源を共有し、且つ本出願のこの実施形態が適用される分散環境において、サービスオブジェクトに対応する１つ又は複数の親プロセスオブジェクトが決定された場合、親プロセスオブジェクトは、サービスオブジェクトを処理する子プロセスオブジェクトを生成し、最大Ｉ／Ｏ帯域幅閾値が子プロセスオブジェクトのために割り当てられる。このようにして、同じマシン上の様々なプロセスが利用できる最大ネットワーク入力／出力帯域幅は、指定された閾値を超過することができない。言い換えれば、トラフィックは、異なるサービスオブジェクトのネットワーク要件を満たすように、ネットワークの安定性に影響せずに多重プロセスネットワーク分離の目的を達成するために最大Ｉ／Ｏ帯域幅閾値未満に帯域幅を制御するように制限される。
【００７４】
加えて、本出願のこの実施形態は、プログラム可能な言語（例えば、Ｃ言語）で実施され、従って別のシステムに一層容易に統合することができる。
【００７５】
図４を参照すると、本出願によるデータトラフィックを制限するための方法の第２の実施形態におけるステップのフローチャートが示されている。本出願のこの実施形態は、オペレーティングシステムカーネル層の観点から説明され、以下のプロセスを含んでもよい。
【００７６】
ステップ４０１．オペレーティングシステムカーネル層において、１つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力／出力（Ｉ／Ｏ）帯域幅閾値が受信される。
【００７７】
本出願のこの実施形態における適用中、親プロセスオブジェクトは、サービスオブジェクトに関連付けられるが、それは多対多の関係である。子プロセスオブジェクトは、親プロセスオブジェクトを用いることによって生成されたプロセスオブジェクトであり、１つの親プロセスオブジェクトは、１つ又は複数の子プロセスオブジェクトを生成してもよい。最大Ｉ／Ｏ帯域幅閾値は、子プロセスオブジェクトが親プロセスオブジェクトによって生成される場合、子プロセスオブジェクトのために割り当てられる帯域幅閾値である。最大Ｉ／Ｏ帯域幅閾値は、最大出力帯域幅閾値若しくは最大入力帯域幅閾値を指すか、又は最大出力帯域幅閾値と最大入力帯域幅閾値とを含む。
【００７８】
特に、サービスオブジェクトの親プロセスオブジェクトが決定された後、親プロセスオブジェクトは、サービスオブジェクトを処理する１つ又は複数の子プロセスオブジェクトを生成するために、且つ生成された子プロセスオブジェクトのために最大Ｉ／Ｏ帯域幅閾値を構成するために事前設定のＡＰＩインターフェースを更に呼び出してもよい。
【００７９】
親プロセスオブジェクトが子プロセスオブジェクトを生成するたびに、親プロセスオブジェクトは、オペレーティングシステムアプリケーション層においてカプセル化されたＡＰＩインターフェース、例えばAddGroup（GroupInfo）インターフェース）を更に呼び出し、GroupInfoを介して子プロセスオブジェクトのＳｕｂＰＩＤ及び対応する最大Ｉ／Ｏ帯域幅閾値などの情報をオペレーティングシステムカーネル層に送信してもよい。
【００８０】
オペレーティングシステムカーネル層において、子プロセスオブジェクトのＳｕｂＰＩＤ及び対応する最大Ｉ／Ｏ帯域幅閾値などの親プロセスオブジェクトによって送信された情報は、カーネルの内蔵トラフィック制御（略してＴＣ）を用いることによって受信されてもよい。
【００８１】
オペレーティングシステムカーネル層がアプリケーション層から情報を受信した後、本出願のこの実施形態は、更に以下のステップ：子プロセスオブジェクトに対応するトラフィック制限規則を生成するステップを含んでもよい。
【００８２】
特に、オペレーティングシステムカーネル層は、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値に従って、子プロセスオブジェクトに対応するトラフィック制限規則をＴＣにおいて生成してもよく、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値を含む。
【００８３】
実際に、ＴＣに格納されたトラフィック制限規則は、マシンの全体的に一意の規則ＩＤで識別されてもよい。子プロセスオブジェクトの子プロセス識別子が全体的に一意であるため、子プロセスオブジェクトの子プロセス識別子は、規則ＩＤとして用いられてもよい。実際に、ＴＣのclassidは子プロセス識別子を割り当てられる。
【００８４】
実際の適用において、親プロセスオブジェクトの数及び物理マシンにおいて各親プロセスオブジェクトによって生成された子プロセスオブジェクトの数にかかわらず、ＴＣにおいて各子プロセスオブジェクトに対応するトラフィック制限規則は、帯域幅を公平に用いる。しかしながら、linuxカーネルの内蔵ＴＣは、次の欠陥を有し得る。同じ親プロセスオブジェクト下の全ての子プロセスオブジェクトに対応するトラフィック制限規則は、親プロセスオブジェクトによって設定された規則帯域幅を完全に公平な方法で共有することができず、幾つかのトラフィック制限規則が帯域幅に不足することに帰着する。即ち、帯域幅は、他のトラフィック制限規則によって常に占められる。これに基づいて、本出願のこの実施形態における適用中、ホットフィックス（ホットフィックスは、脆弱性又はセキュリティ問題に特に取り組むために、特定のシステム脆弱性又はセキュリティ問題のためにリリースされた、一般にパッチと呼ばれるアプレットである）技術が欠陥を修正するために用いられてもよい。
【００８５】
特に、ホットフィックス技術は、デフォルトによりＴＣによって実現されたＨＴＢ（階層的トークンバケット）及びＳＦＱ（確率的公平待ち行列）を最適化するために用いられてもよく、その結果、全てのトラフィック制限規則は、帯域幅を公平に共有することができる。ＨＴＢ待ち行列は、ＴＣにおける一種の分類可能な待ち行列であり、且つトラフィック制御のためにＴＣと主として協働する。ＳＦＱは、公平待ち行列アルゴリズムファミリーにおける単純な実装形態であり、且つＴＣＰセッション又はＵＤＰフローに主として向けられる。トラフィックは、極めて多数のＦＩＦＯ（先入れ先出し）待ち行列に分割され、各待ち行列は、１つのセッションに対応し、データは、単純なラウンドロビン方式で送信され、各セッションは、送信する機会を順に取得する。かかる方法は非常に公平であり、各セッションが他のセッションによって排除されないことを保証する。
【００８６】
ステップ４０２．子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、ネットワークデータパケットのデータトラフィックは、子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値に従って制限される。
【００８７】
オペレーティングシステムカーネル層において、子プロセスオブジェクトに関連するトラフィック制限規則が生成された後、子プロセスオブジェクトによって生成された全てのネットワークフローは、トラフィック制限規則を用いることによってネットワークフローのデータトラフィックを制限するために、ＴＣにおいて生成されたトラフィック制限規則と関連付けることができる。
【００８８】
本出願のこの実施形態における好ましい実装形態の方法において、ステップ４０２は、以下のサブステップを含んでもよい。
【００８９】
サブステップＳ３１．親プロセスオブジェクトによって送信される予め生成されたソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子が受信され、ソケットｆｄは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である。
【００９０】
サブステップＳ３２．対応するソケット構造体が、ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子に従って取得される。
【００９１】
特定の実装形態において、親プロセスオブジェクトは、各子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求されるソケットｆｄを予め生成し、且つ別のカプセル化されたＡＰＩインターフェース、例えばAddFd（ｓｕｂＰＩＤ、ｆｄ）を呼び出して、ソケットｆｄ及び対応する子プロセスオブジェクトのＳｕｂＰＩＤをオペレーティングシステムカーネル層に送信してもよい。親プロセスオブジェクトがAddFD（ｓｕｂＰＩＤ、ｆｄ）を呼び出す場合、インターフェースは、ソケットｆｄに従い、且つlinuxシステムにより提供されるsetsockopt方法を用いることにより、カーネルネットワーク層においてｔｃｐ接続に対応するソケット構造体を見つけ、且つソケット構造体に子プロセス識別子でラベル付けしてもよい。
【００９２】
サブステップＳ３３．ソケットｆｄを用いることにより、子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットが受信される。
【００９３】
サブステップＳ３４．ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子はネットワークデータパケットに追加される。
【００９４】
子プロセスオブジェクトがソケットｆｄを用いることによってネットワークデータパケットを送信し、且つネットワークデータパケットがカーネルのネットワーク層プロトコルスタックソケット構造体を通過する場合、ネットワークデータパケットは子プロセス識別子でラベル付けされる。
【００９５】
サブステップＳ３５．子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、ネットワークデータパケットと一致するトラフィック制限規則が子プロセス識別子に基づいて検索され、ネットワークデータパケットのデータトラフィックは最大Ｉ／Ｏ帯域幅閾値に従って制限される。
【００９６】
図２に示されているように、ＳｕｂＰＩＤでラベル付けされたネットワークデータパケットがＴＣをもう一度通過する場合、ＴＣにおける対応するトラフィック制限規則は、ネットワークデータパケットのデータトラフィックを制限するために、ラベルに従って見つけられ得る。即ち、ネットワークデータパケットにおいてＳｕｂＰＩＤと同じであるトラフィック制限規則が見つけられ、ネットワークデータパケットのデータトラフィックは、トラフィック制限規則において定義された最大Ｉ／Ｏ帯域幅閾値に従って制限される。
【００９７】
本出願のこの実施形態における好ましい実装形態の方法において、サブステップＳ３５は、以下のサブステップを更に含んでもよい。
【００９８】
サブステップＳ３５１．ネットワークデータパケットの実際のデータトラフィックが取得される。
【００９９】
サブステップＳ３５２．対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、ネットワークデータパケットと一致するトラフィック制限規則が、子プロセス識別子に基づいて検索される。
【０１００】
サブステップＳ３５３．実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値未満である場合、ネットワークデータパケットは、実際のデータトラフィックに従って送信される。
【０１０１】
サブステップＳ３５４．実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値より大きい場合、ネットワークデータパケットは、最大Ｉ／Ｏ帯域幅閾値に従って送信される。
【０１０２】
特定の実装形態において、ネットワークデータパケットがトラフィック制限規則と関連付けられた後、ネットワークデータパケットの実際のデータトラフィックの速度が、トラフィック制限規則において設定された最大Ｉ／Ｏ帯域幅閾値を超えない場合、実際のデータトラフィックは、現在のネットワークデータ通信にほとんど影響を及ぼさず、この時点において、実際のデータトラフィックは、ネットワークデータパケットを送信するために利用され得る。
【０１０３】
ネットワークデータパケットの実際のデータトラフィックの速度が、トラフィック制限規則において設定された最大Ｉ／Ｏ帯域幅閾値を超過する場合、ネットワークデータパケットのデータトラフィックは、トラフィック制限規則において設定された最大Ｉ／Ｏ帯域幅閾値に制限される。
【０１０４】
好ましい実装形態の方法において、本出願のこの実施形態は、以下のステップ：実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値より大きい場合、最大Ｉ／Ｏ帯域幅閾値を超える実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置し、且つバッファに格納されたデータ量が事前設定サイズである場合、エラープロンプトを子プロセスオブジェクトに送信するステップを更に含んでもよい。
【０１０５】
特定の実装形態において、子プロセスオブジェクトの実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値を超過する場合、超過部分のデータは、送信されるべきネットワークデータパケットとして事前設定サイズのバッファに配置されてもよい。実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値未満に減少すると、バッファにおけるデータは優先的に送信される。
【０１０６】
実際のデータトラフィックが、設定された最大Ｉ／Ｏ帯域幅閾値を連続的に超過する場合、送信されるべきバッファされたネットワークデータパケットがlinuxカーネルのデフォルトバッファのサイズを超過するとき、超過データは直接廃棄されてもよく、エラープロンプトが子プロセスオブジェクトに送信される。エラープロンプトは、ネットワークデータパケットの送信が失敗したことを子プロセスに示す。この場合、子プロセスオブジェクトは、データを再送信することを選択してもよい。
【０１０７】
例えば、linuxカーネルのデフォルトバッファは５０Ｍのサイズを有し、子プロセスオブジェクトのために設定される最大出力帯域幅閾値は１００Ｍ／ｓであり、子プロセスオブジェクトの実際のデータトラフィックは最初に１００Ｍ／ｓを超過せず、データはバッファに配置されない。子プロセスオブジェクトの実際のデータトラフィックが瞬間的に１１０Ｍ／ｓになる場合、トラフィック制限規則において制限されるように、最大流速は最大で１００Ｍ／ｓであり、余分の１０Ｍ／ｓデータはバッファに配置されてもよい。かかる状況が５ｓ続く場合、即ち１０Ｍ／ｓ＊５ｓ＝５０Ｍである場合、バッファの容量５０Ｍはこの時点で完全に占められる。次に、実際のデータトラフィックが閾値を更に超過する場合、余分なデータを置く場所がなく、カーネルはデータを直接廃棄することができる。
【０１０８】
好ましい実装形態の方法において、本出願のこの実施形態は、以下のステップ：子プロセスオブジェクトが削除されることが検出される場合、対応するトラフィック制限規則を削除するステップを更に含んでもよい。
【０１０９】
特定の実装形態において、子プロセスオブジェクトが生成されるたびに、トラフィック制限規則がカーネルにおいて生成される。しかしながら、カーネルが収容できるトラフィック制限規則の数は限られ、従って、未使用のトラフィック制限規則によって占められたメモリ空間を再生利用することが重要である。
【０１１０】
本出願のこの実施形態における適用中、オペレーティングシステムは、アプリケーション層において規則の数の適切な上限を定義し、且つ無駄なトラフィック制限規則を特に破棄するために各親プロセスオブジェクトにおけるバックグラウンドスレッドを開始してもよい。好ましい実装形態の方法は、サービスオブジェクトの全ての既存のトラフィック制限規則を調べることであってもよい。トラフィック制限規則に対応する子プロセスオブジェクトの子プロセス識別子が存在しない場合、カーネルにおけるトラフィック制限規則を破棄するためにＡＰＩが呼び出されてもよい。このようにして、トラフィック制限規則によって占められた資源は再生利用され、それは、資源がリークされず、且つ子プロセスのクラッシュを考慮することさえせずに、システム性能を改善することを保証することができる。
【０１１１】
本出願のこの実施形態において、使用中の各プロセスの最大帯域幅は、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を設定することによって正確に制御され、ネットワーク安定性は影響されず、マシン上の各プロセスは、閾値範囲内でネットワーク帯域幅を公平に且つ安定して共有することができる。
【０１１２】
図５を参照すると、本出願によるデータトラフィックを制限するための方法の第３の実施形態におけるステップのフローチャートが示されている。本出願のこの実施形態は、図２と組み合わせて、アプリケーション層とオペレーティングシステムカーネル層との間の相互作用プロセスを説明し、それは以下のステップを含んでもよい。
【０１１３】
ステップ５０１．アプリケーション層において、サービスオブジェクトに対応する１つ又は複数の親プロセスオブジェクトが決定される。
【０１１４】
ステップ５０２．１つ又は複数の対応する子プロセスオブジェクトが親プロセスオブジェクトを用いることによってそれぞれ生成され、最大Ｉ／Ｏ帯域幅閾値が１つ又は複数の子プロセスオブジェクトのためにそれぞれ割り当てられる。
【０１１５】
ステップ５０３．親プロセスオブジェクトは、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値をオペレーティングシステムカーネル層に送信する。
【０１１６】
ステップ５０４．オペレーティングシステムカーネル層において、子プロセスオブジェクトに対応するトラフィック制限規則が生成される。
【０１１７】
ステップ５０５．ソケット記述子ｆｄが親プロセスオブジェクトを用いることによって予め生成され、ソケットｆｄは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である。
【０１１８】
ステップ５０６．ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子は、親プロセスオブジェクトを用いることによってオペレーティングシステムカーネル層に送信され、ソケットｆｄは、親プロセスオブジェクトを用いることにより、対応する子プロセスに送信される。
【０１１９】
ステップ５０７．子プロセスオブジェクトがソケットｆｄを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層は、ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得する。
【０１２０】
ステップ５０８．ネットワークデータパケットがソケット構造体を通過する場合、オペレーティングシステムカーネル層は、子プロセス識別子をネットワークデータパケットに追加する。
【０１２１】
ステップ５０９．子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、ネットワークデータパケットと一致するトラフィック制限規則が子プロセス識別子に基づいて検索され、ネットワークデータパケットのデータトラフィックは最大Ｉ／Ｏ帯域幅閾値に従って制限される。
【０１２２】
本出願のこの実施形態における好ましい実装形態の方法において、ステップ５０９は、以下のサブステップを更に含んでもよい。
【０１２３】
サブステップＳ４１．ネットワークデータパケットの実際のデータトラフィックが取得される。
【０１２４】
サブステップＳ４２．ネットワークデータパケットと一致するトラフィック制限規則が子プロセス識別子に基づいて検索される。
【０１２５】
サブステップＳ４３．実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値未満である場合、ネットワークデータパケットは実際のデータトラフィックに従って送信される。
【０１２６】
サブステップＳ４４．実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値より大きい場合、ネットワークデータパケットは最大Ｉ／Ｏ帯域幅閾値に従って送信される。
【０１２７】
本出願のこの実施形態における適用中、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値は、適応的に調整することができる。実装形態の方法において、適応的な調整のプロセスは以下の通りである。
【０１２８】
Ａ．親レベルの最大Ｉ／Ｏ帯域幅閾値が決定され、親レベルは、サービスオブジェクト又は物理マシンを含む、子プロセスオブジェクトのレベルを超えるオブジェクトである。
【０１２９】
Ｂ．親レベルに含まれる全ての子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値の和が親レベルの最大Ｉ／Ｏ帯域幅閾値より大きい場合、子プロセスオブジェクトのそれぞれのために割り当てられる第１の平均帯域幅閾値が、子プロセスオブジェクトの数に従って計算される。
【０１３０】
Ｃ．子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値未満である場合、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値は不変に維持される。
【０１３１】
Ｄ．子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい場合、第２の平均帯域幅閾値が計算され、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値は第２の平均帯域幅閾値に調整される。
【０１３２】
ステップ５１０．オペレーティングシステムカーネル層において、実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値より大きい場合、最大Ｉ／Ｏ帯域幅閾値を超える実際のデータトラフィックにおける残りのデータトラフィックに対応するデータは事前設定サイズのバッファに配置される。
【０１３３】
ステップ５１１．バッファに格納されたデータ量が事前設定サイズである場合、エラープロンプトが子プロセスオブジェクトに送信される。
【０１３４】
ステップ５１２．子プロセスオブジェクトが削除されることが検出される場合、対応するトラフィック制限規則はオペレーティングシステムカーネルにおいて削除される。
【０１３５】
図５の実施形態は、図１及び図４の実施形態に実質的に類似しており、従って比較的簡単に説明される。関連部分に関して、方法実施形態における説明を参照されたい。
【０１３６】
説明を簡単にするために、前述の方法実施形態は、一連の動作の組み合わせとして説明されていることに留意されたい。しかしながら、当業者は、本出願の実施形態が動作の説明される順序に限定されないことを理解されたい。なぜなら、幾つかのステップが本出願の実施形態に従って別の順序で又は同時に実行されてもよいからである。加えて、当業者はまた、本明細書で説明される実施形態が全て好ましい実施形態に属し、関係する動作が本出願の実施形態に必ずしも必須ではないことを理解されたい。
【０１３７】
図６を参照すると、本出願によるデータトラフィックを制限するためのシステムの第１の実施形態における構造ブロック図が示されており、それは、特に以下のモジュール：
アプリケーション層において、サービスオブジェクトに対応する１つ又は複数の親プロセスオブジェクトを決定するように構成された親プロセス決定モジュール６０１と、
親プロセスオブジェクトをそれぞれ用いることにより、１つ又は複数の対応する子プロセスオブジェクトを生成し、且つ１つ又は複数の子プロセスオブジェクトのために最大入力／出力（Ｉ／Ｏ）帯域幅閾値を割り当てるように構成された子プロセス生成モジュール６０２と、
子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すように構成された第１のトラフィック制限モジュール６０３と
を含んでもよい。
【０１３８】
本出願のこの実施形態における好ましい実装形態の方法において、子プロセスは子プロセス識別子を有し、及びシステムは、子プロセスオブジェクトに対応するトラフィック制限規則を生成するようにオペレーティングシステムカーネル層を促すために、親プロセスオブジェクトを用いることにより、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値をオペレーティングシステムカーネル層に送信するように構成された情報送信モジュールを更に含み、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値を含む。
【０１３９】
本出願のこの実施形態における好ましい実装形態の方法において、第１のトラフィック制限モジュール６０３は、以下のサブモジュール：
親プロセスオブジェクトを用いることにより、ソケット記述子ｆｄを予め生成するように構成された記述子取得サブモジュールであって、ソケットｆｄは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される記述子である、記述子取得サブモジュールと、
親プロセスオブジェクトを用いることにより、ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子をオペレーティングシステムカーネル層に送信し、且つ親プロセスオブジェクトを用いることにより、ソケットｆｄを対応する子プロセスに送信し、且つ子プロセスオブジェクトがソケットｆｄを用いることによってネットワークデータパケットを入力又は出力する場合、オペレーティングシステムカーネル層を、以下の操作：
オペレーティングシステムカーネル層により、ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得する操作と、
ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加する操作と、
子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限する操作と
を完了するように促すように構成された記述子送信サブモジュールと
を含んでもよい。
【０１４０】
本出願のこの実施形態における好ましい実装形態の方法において、システムは、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を適応的に調整するように構成された調整モジュールを含み、調整モジュールは、
親レベルの最大Ｉ／Ｏ帯域幅閾値を決定するように構成された親レベル閾値決定サブモジュールであって、親レベルは、サービスオブジェクト又は物理マシンを含む、子プロセスオブジェクトのレベルを超えるオブジェクトである、親レベル閾値決定サブモジュールと、
親レベルに含まれる全ての子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値の和が親レベルの最大Ｉ／Ｏ帯域幅閾値より大きい場合、子プロセスオブジェクトの数に従って、子プロセスオブジェクトのそれぞれのために割り当てられる第１の平均帯域幅閾値を計算するように構成された平均値計算サブモジュールと、
子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値未満である場合、子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を不変に維持するように構成された閾値維持サブモジュールと、
子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい場合、第２の平均帯域幅閾値を計算し、且つ子プロセスオブジェクトの最大Ｉ／Ｏ帯域幅閾値を第２の平均帯域幅閾値に調整するように構成された閾値調整サブモジュールであって、第２の平均帯域幅閾値は、以下の方法：（親レベルの最大Ｉ／Ｏ帯域幅閾値−最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大Ｉ／Ｏ帯域幅閾値）／（最大Ｉ／Ｏ帯域幅閾値が第１の平均帯域幅閾値より大きい子プロセスオブジェクトの数）で計算される、閾値調整サブモジュールと
を更に含む。
【０１４１】
システム実施形態は、前述の方法実施形態に実質的に類似しており、従って比較的簡単に説明される。関連部分に関して、方法実施形態における説明を参照されたい。
【０１４２】
図７を参照すると、本出願によるデータトラフィックを制限するためのシステムにおける第２の実施形態の構造ブロック図が示されており、それは、特に以下のモジュール：
１つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力／出力（Ｉ／Ｏ）帯域幅閾値をオペレーティングシステムカーネル層で受信するように構成された閾値受信モジュール７０１であって、親プロセスオブジェクトは、サービスオブジェクトと関連付けられ、子プロセスオブジェクトは、親プロセスオブジェクトを用いることによって生成されたプロセスオブジェクトであり、及び最大Ｉ／Ｏ帯域幅閾値は、親プロセスオブジェクトによって子プロセスオブジェクトが生成される場合、子プロセスオブジェクトのために割り当てられる帯域幅閾値である、閾値受信モジュール７０１と、
子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するように構成された第２のトラフィック制限モジュール７０２と
を含んでもよい。
【０１４３】
本出願のこの実施形態における好ましい実装形態の方法において、子プロセスは子プロセス識別子を有し、及びシステムは、子プロセスオブジェクトに対応するトラフィック制限規則を生成するように構成された規則生成モジュールを含み、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大Ｉ／Ｏ帯域幅閾値を含む。
【０１４４】
本出願のこの実施形態における好ましい実装形態の方法において、第２のトラフィック制限モジュール７０２は、以下のサブモジュール：
親プロセスオブジェクトによって送信される予め生成されたソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子を受信するように構成された情報受信サブモジュールであって、ソケットｆｄは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、情報受信サブモジュールと、
ソケットｆｄ及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得するように構成されたソケット取得サブモジュールと、
ソケットｆｄを用いることにより、子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットを受信し、且つネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加するように構成された識別子追加サブモジュールと、
子プロセスオブジェクトに対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するように構成されたトラフィック制限サブモジュールと
を更に含んでもよい。
【０１４５】
本出願のこの実施形態における好ましい実装形態の方法において、トラフィック制限サブモジュールは、以下のユニット：
ネットワークデータパケットの実際のデータトラフィックを取得するように構成された実際トラフィック取得ユニットと、
対応する最大Ｉ／Ｏ帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索するように構成された規則検索ユニットと、
実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値未満である場合、実際のデータトラフィックに従ってネットワークデータパケットを送信するように構成された第１の送信ユニットと、
実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値より大きい場合、最大Ｉ／Ｏ帯域幅閾値に従ってネットワークデータパケットを送信するように構成された第２の送信ユニットと
を更に含んでもよい。
【０１４６】
本出願のこの実施形態における好ましい実装形態の方法において、システムは、
実際のデータトラフィックが最大Ｉ／Ｏ帯域幅閾値より大きい場合、最大Ｉ／Ｏ帯域幅閾値を超える実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置するように構成されたバッファモジュールと、
バッファに格納されたデータ量が事前設定サイズである場合、エラープロンプトを子プロセスオブジェクトに送信するように構成されたエラープロンプト送信モジュールと
を更に含む。
【０１４７】
本出願のこの実施形態における好ましい実装形態の方法において、システムは、子プロセスオブジェクトが削除されることが検出される場合、対応するトラフィック制限規則を削除するように構成された規則削除モジュールを更に含む。
【０１４８】
システム実施形態は、前述の方法実施形態に実質的に類似しており、従って比較的簡単に説明される。関連部分に関して、方法実施形態における説明を参照されたい。
【０１４９】
本明細書における実施形態は、全て漸進的な方法で（in a progressive manner）説明され、各実施形態は他の実施形態との差に集中し、実施形態における同一又は類似の部分は互いに関連して取得されてもよい。
【０１５０】
当業者は、本出願の実施形態が方法、装置又はコンピュータプログラム製品として提供され得ることを理解すべきである。従って、本出願の実施形態は、完全なハードウェア実施形態、完全なソフトウェア実施形態、又はソフトウェア及びハードウェアを組み合わせる実施形態として実施されてもよい。更に、本出願の実施形態は、コンピュータ使用可能プログラムコードを含む１つ又は複数のコンピュータ使用可能記憶媒体（限定するものではないが、磁気ディスクメモリ、ＣＤ−ＲＯＭ、光メモリ等を含む）上で実現されるコンピュータプログラム製品の形態であってもよい。
【０１５１】
本出願の実施形態は、本出願の実施形態の方法、端末装置（システム）、及びコンピュータプログラム製品のフローチャート及び／又はブロック図に関連して説明される。コンピュータプログラム命令が、フローチャート及び／又はブロック図における各プロセス及び／又はブロック、並びにフローチャート及び／又はブロック図におけるプロセス及び／又はブロックの組み合わせを実行するために用いられてもよいことを理解されたい。コンピュータプログラム命令は、マシンを生成するために汎用コンピュータ、専用コンピュータ、埋め込み型プロセッサ、又は別のプログラマブルデータ処理端末装置のプロセッサに提供されてもよく、その結果、コンピュータ又は別のプログラマブルデータ処理端末装置のプロセッサは、フローチャートにおける１つ又は複数のプロセス及び／又はブロック図における１つ又は複数のブロックにおいて指定された機能を実行するように構成された装置を生成するための命令を実行する。
【０１５２】
特定の方法で機能するようにコンピュータ又は別のプログラマブルデータ処理端末装置を誘導できるコンピュータプログラム命令はまた、コンピュータ可読記憶装置に格納されてもよく、その結果、コンピュータ可読記憶装置に格納された命令は、命令装置を含む製造品を生成し、命令装置は、フローチャートにおける１つ若しくは複数のプロセス及び／又はブロック図における１つ若しくは複数のブロックによって指定された機能を実行する。
【０１５３】
コンピュータプログラム命令はまた、コンピュータ又は別のプログラマブルデータ処理端末装置にインストールされてもよく、その結果、一連の操作ステップは、コンピュータ実行処理を生成するためにコンピュータ又は別のプログラマブル端末装置上で実行され、従って、コンピュータ又は別のプログラマブル端末装置において実行される命令は、フローチャートにおける１つ若しくは複数のプロセス及び／又はブロック図における１つ若しくは複数のブロックにおいて指定された機能を実行するためのステップを提供する。
【０１５４】
本出願の実施形態における好ましい実施形態を説明した。しかしながら、基本的で創造的な概念を知れば、当業者は、実施形態に対する他の変形形態及び修正形態をなし得る。従って、添付の特許請求の範囲は、好ましい実施形態並びに本出願の実施形態の範囲内に入る全ての変形形態及び修正形態を含むように説明されることが意図されている。
【０１５５】
最後に、本明細書において、第１及び第２などの関係用語が単に１つのエンティティ又は操作を別のエンティティ又は操作から区別するために用いられ、エンティティ又は操作間のかかる実際の関係又は順序を必ずしも要求又は意味しないことに更に留意されたい。更に、「包含する」、「含む」という用語又はそれらの他の変形は、非排他的な包含を包含するように意図され、その結果、一連の要素を含むプロセス、方法、物品又は端末装置は、要素を含むだけでなく、明白に列挙されていない他の要素も含むか、又はプロセス、方法、物品若しくは端末装置の固有の要素を更に含む。更なる限定がない場合、「１つの（a）／１つの（an）〜を含む」によって定義される要素は、要素を含むプロセス、方法、物品又は端末装置が他の同一の要素を更に含むことを排除しない。
【０１５６】
本出願において提供されるデータトラフィックを制限するための方法及びシステムは、上記で詳細に説明され、本出願の原理及び実装形態の方法は、本明細書における特定の例を用いることによって説明される。実施形態に関する上記の説明は、本出願及びその中心的な考えの方法を理解するのを支援するために単に用いられる。一方で、当業者にとって、本出願の考えに従って特定の実装形態の方法及び適用範囲に対する修正形態が存在し得る。従って、本明細書の内容は、本出願に対する限定として解釈されるべきではない。
【図１】
0006783850.tif 000002
【図２】
0006783850.tif 000003
【図３】
0006783850.tif 000004
【図４】
0006783850.tif 000005
【図５】
0006783850.tif 000006
【図６】
0006783850.tif 000007
【図７】
0006783850.tif 000008