JP2018527668A - データトラフィックを制限するための方法及びシステム - Google Patents

データトラフィックを制限するための方法及びシステム Download PDF

Info

Publication number
JP2018527668A
JP2018527668A JP2018506868A JP2018506868A JP2018527668A JP 2018527668 A JP2018527668 A JP 2018527668A JP 2018506868 A JP2018506868 A JP 2018506868A JP 2018506868 A JP2018506868 A JP 2018506868A JP 2018527668 A JP2018527668 A JP 2018527668A
Authority
JP
Japan
Prior art keywords
child process
maximum
bandwidth threshold
process object
data packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018506868A
Other languages
English (en)
Other versions
JP6783850B2 (ja
Inventor
ユ,クイ
ドゥアン,ペイラ
リ,シャン
ファン,ジャンウェイ
Original Assignee
アリババ グループ ホウルディング リミテッド
アリババ グループ ホウルディング リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アリババ グループ ホウルディング リミテッド, アリババ グループ ホウルディング リミテッド filed Critical アリババ グループ ホウルディング リミテッド
Priority claimed from PCT/CN2016/092818 external-priority patent/WO2017024965A1/zh
Publication of JP2018527668A publication Critical patent/JP2018527668A/ja
Application granted granted Critical
Publication of JP6783850B2 publication Critical patent/JP6783850B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本出願の実施形態は、データトラフィックを制限するための方法及びシステムを提供する。方法は、アプリケーション層において、サービスオブジェクトに対応する1つ又は複数の親プロセスオブジェクトを決定することと、親プロセスオブジェクトをそれぞれ用いることにより、1つ又は複数の対応する子プロセスオブジェクトを生成し、且つ1つ又は複数の子プロセスオブジェクトのために最大入力/出力(I/O)帯域幅閾値を割り当てることと、子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すこととを含む。本出願は、ネットワーク分離の安定性を改善することができる。

Description

本出願は、2015年8月11日出願の「METHOD AND SYSTEM FOR LIMITING DATA TRAFFIC」という名称の中国特許出願公開第201510491100.3号に対する優先権を主張し、この特許出願は、その全体が参照により本明細書に援用される。
技術分野
本出願は、データ処理技術の分野に関し、特にデータトラフィックを制限するための方法及びデータトラフィックを制限するためのシステムに関する。
背景技術
インターネット技術の普及と共に、生成されるデータ量が指数関数的に増大し、データ処理において要求される資源が一層膨大になっている。最近、クラウドコンピューティングプラットホームの大きい発展と共に、資源の効率的な利用が不可欠になっている。資源分離技術は、かかる目的を達成する重要部分である。資源分離は、資源が互いに干渉することを回避するために、独立して利用できるコンピューティング資源を異なるタスクに提供することを意味する。
既存の資源分離技術において、プロセスベースのCgroup(制御グループ)が広範囲に用いられる。Cgroupは、プロセスの物理資源(CPU、メモリ及びIOなど)を分離できる、Linux(登録商標)カーネルによって提供される機構である。Cgroupは、既存のcpuset、Memory、net_cls及び他のサブシステムを統合し、その結果、Cgroupは、オペレーティングシステムレベルにおいて単一プロセスのための資源管理から仮想化までの様々なアプリケーションシナリオに適用可能である。
net_clsサブシステムは、単一プロセスのネットワーク帯域幅を制御するために用いられるが、net_clsサブシステムは、ネットワーク読み出し及び書き込みを調整制御するのではなく、クラス識別子classidを用いることによってネットワークデータパケットにマークを付け、その結果、linuxトラフィック制御(略してTC)プログラムは、トラフィックを制限するためにCgroupにおけるタスクによって生成されたデータパケットを識別する。
しかしながら、linux cgroup及びトラフィック制御モジュールは、net_clsが用いられる前に構成されなければならない。幾つかの実験的試験において、ネットワーク分離効果は、Cgroupのみが用いられる場合に良好ではなく、ネットワーク帯域幅は使用中に大きく変動する。更に、Cgroupがカーネルの内蔵モジュールであるため、その柔軟性は本質的に制限され、ネットワーク資源に対する多様な要件は十分に満たされ得ない。
従って、現在、当業者によって早急に解決されるべき技術的問題は、ネットワーク分離の安定性を改善する、優れた適用可能性を備えたネットワーク分離解決法を提案する方法である。
発明の概要
本出願の実施形態によって解決されるべき技術的問題は、ネットワーク分離の安定性を改善するためにデータトラフィックを制限するための方法を提供することである。
それに応じて、本出願の実施形態は、前述の方法の実装形態及び適用を保証するためにデータトラフィックを制限するためのシステムを更に提供する。
前述の問題を解決するために、本出願の実施形態は、データトラフィックを制限するための方法であって、
アプリケーション層において、サービスオブジェクトに対応する1つ又は複数の親プロセスオブジェクトを決定することと、
親プロセスオブジェクトをそれぞれ用いることにより、1つ又は複数の対応する子プロセスオブジェクトを生成し、且つ1つ又は複数の子プロセスオブジェクトのために最大入力/出力(I/O)帯域幅閾値を割り当てることと、
子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すことと
を含む方法を開示する。
好ましくは、子プロセスは子プロセス識別子を有し、及び子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すステップの前に、方法は、子プロセスオブジェクトに対応するトラフィック制限規則を生成するようにオペレーティングシステムカーネル層を促すために、親プロセスオブジェクトを用いることにより、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値をオペレーティングシステムカーネル層に送信することであって、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値を含む、送信することを更に含む。
好ましくは、子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すステップは、
親プロセスオブジェクトを用いることにより、ソケット記述子fdを予め生成することであって、ソケットfdは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、予め生成することと、
親プロセスオブジェクトを用いることにより、ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子をオペレーティングシステムカーネル層に送信し、且つ親プロセスオブジェクトを用いることにより、対応する子プロセスにソケットfdを送信することと、
子プロセスオブジェクトがソケットfdを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層を、以下の操作:
オペレーティングシステムカーネル層を用いることにより、ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得する操作と、
ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加する操作と、
子プロセスオブジェクトに対応する最大I/O帯域幅閾値を取得するために、プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限する操作と
を完了するように促すことと
を含む。
好ましくは、方法は、子プロセスオブジェクトの最大I/O帯域幅閾値を適応的に調整することであって、
親レベルの最大I/O帯域幅閾値を決定することであって、親レベルは、サービスオブジェクト又は物理マシンを含む、子プロセスオブジェクトのレベルを超えるオブジェクトである、決定すること、
親レベルに含まれる全ての子プロセスオブジェクトの最大I/O帯域幅閾値の和が親レベルの最大I/O帯域幅閾値より大きい場合、子プロセスオブジェクトの数に従って、子プロセスオブジェクトのそれぞれのために割り当てられる第1の平均帯域幅閾値を計算すること、及び
子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値未満である場合、子プロセスオブジェクトの最大I/O帯域幅閾値を不変に維持すること、又は
子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい場合、第2の平均帯域幅閾値を計算し、且つ子プロセスオブジェクトの最大I/O帯域幅閾値を第2の平均帯域幅閾値に調整することであって、第2の平均帯域幅閾値は、以下の方法:(親レベルの最大I/O帯域幅閾値−最大I/O帯域幅閾値が第1の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大I/O帯域幅閾値)/(最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい子プロセスオブジェクトの数)で計算される、計算及び調整すること
を含む、調製することを更に含む。
本出願の実施形態は、データトラフィックを制限するための方法であって、
オペレーティングシステムカーネル層において、1つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力/出力(I/O)帯域幅閾値を受信することであって、親プロセスオブジェクトは、サービスオブジェクトに関連付けられ、子プロセスオブジェクトは、親プロセスオブジェクトを用いることによって生成されるプロセスオブジェクトであり、及び最大I/O帯域幅閾値は、子プロセスオブジェクトが親プロセスオブジェクトによって生成される場合、子プロセスオブジェクトのために割り当てられる帯域幅閾値である、受信することと、
子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、子プロセスオブジェクトに対応する最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限することと
を含む方法を更に開示する。
好ましくは、子プロセスは子プロセス識別子を有し、及び子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、子プロセスオブジェクトに対応する最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するステップの前に、方法は、子プロセスオブジェクトに対応するトラフィック制限規則を生成することであって、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値を含む、生成することを更に含む。
好ましくは、子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、子プロセスオブジェクトに対応する最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するステップは、
親プロセスオブジェクトによって送信される予め生成されたソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子を受信することであって、ソケットfdは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、受信することと、
ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得することと、
ソケットfdを用いることにより、子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットを受信することと、
ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加することと、
子プロセスオブジェクトに対応する最大I/O帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限することと
を含む。
好ましくは、子プロセスオブジェクトに対応する最大I/O帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するステップは、
ネットワークデータパケットの実際のデータトラフィックを取得すること、
対応する最大I/O帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索すること、及び
実際のデータトラフィックが最大I/O帯域幅閾値未満である場合、実際のデータトラフィックに従ってネットワークデータパケットを送信すること、又は
実際のデータトラフィックが最大I/O帯域幅閾値より大きい場合、最大I/O帯域幅閾値に従ってネットワークデータパケットを送信すること
を含む。
好ましくは、方法は、
実際のデータトラフィックが最大I/O帯域幅閾値より大きい場合、最大I/O帯域幅閾値を超える実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置することと、
バッファに格納されたデータ量が前記事前設定サイズである場合、エラープロンプトを子プロセスオブジェクトに送信することと
を更に含む。
好ましくは、方法は、子プロセスオブジェクトが削除されることが検出される場合、対応するトラフィック制限規則を削除することを更に含む。
本出願の実施形態は、データトラフィックを制限するためのシステムであって、
アプリケーション層において、サービスオブジェクトに対応する1つ又は複数の親プロセスオブジェクトを決定するように構成された親プロセス決定モジュールと、
親プロセスオブジェクトをそれぞれ用いることにより、1つ又は複数の対応する子プロセスオブジェクトを生成し、且つ1つ又は複数の子プロセスオブジェクトのために最大入力/出力(I/O)帯域幅閾値を割り当てるように構成された子プロセス生成モジュールと、
子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すように構成された第1のトラフィック制限モジュールと
を含むシステムを更に開示する。
好ましくは、子プロセスは子プロセス識別子を有し、及びシステムは、子プロセスオブジェクトに対応するトラフィック制限規則を生成するようにオペレーティングシステムカーネル層を促すために、親プロセスオブジェクトを用いることにより、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値をオペレーティングシステムカーネル層に送信するように構成された情報送信モジュールであって、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値を含む、情報送信モジュールを更に含む。
好ましくは、第1のトラフィック制限モジュールは、
親プロセスオブジェクトを用いることにより、ソケット記述子fdを予め生成するように構成された記述子取得サブモジュールあって、ソケットfdは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、記述子取得サブモジュールと、
親プロセスオブジェクトを用いることにより、ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子をオペレーティングシステムカーネル層に送信し、且つ親プロセスオブジェクトを用いることにより、対応する子プロセスにソケットfdを送信し、且つ子プロセスオブジェクトがソケットfdを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層を、以下の操作:
オペレーティングシステムカーネル層により、ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得する操作と、
ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加する操作と、
子プロセスオブジェクトに対応する最大I/O帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限する操作と
を完了するように促すように構成された記述子送信モジュールと
を含む。
好ましくは、システムは、子プロセスオブジェクトの最大I/O帯域幅閾値を適応的に調整するように構成された調整モジュールであって、
親レベルの最大I/O帯域幅閾値を決定するように構成された親レベル閾値決定サブモジュールであって、親レベルは、サービスオブジェクト又は物理マシンを含む、子プロセスオブジェクトのレベルを超えるオブジェクトである、親レベル閾値決定サブモジュールと、
親レベルに含まれる全ての子プロセスオブジェクトの最大I/O帯域幅閾値の和が親レベルの最大I/O帯域幅閾値より大きい場合、子プロセスオブジェクトの数に従って、子プロセスオブジェクトのそれぞれのために割り当てられる第1の平均帯域幅閾値を計算するように構成された平均値計算サブモジュールと、
子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値未満である場合、子プロセスオブジェクトの最大I/O帯域幅閾値を不変に維持するように構成された閾値維持サブモジュールと、
子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい場合、第2の平均帯域幅閾値を計算し、且つ子プロセスオブジェクトの最大I/O帯域幅閾値を第2の平均帯域幅閾値に調整するように構成された閾値調整サブモジュールであって、第2の平均帯域幅閾値は、以下の方法:(親レベルの最大I/O帯域幅閾値−最大I/O帯域幅閾値が第1の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大I/O帯域幅閾値)/(最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい子プロセスオブジェクトの数)で計算される、閾値調整サブモジュールと
を更に含む、調整モジュールを更に含む。
本出願の実施形態は、データトラフィック制限するためのシステムであって、
オペレーティングシステムカーネル層において、1つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力/出力(I/O)帯域幅閾値を受信するように構成された閾値受信モジュールであって、親プロセスオブジェクトは、サービスオブジェクトと関連付けられ、子プロセスオブジェクトは、親プロセスオブジェクトを用いることによって生成された子プロセスオブジェクトであり、及び最大I/O帯域幅閾値は、子プロセスオブジェクトが親プロセスオブジェクトによって生成される場合、子プロセスオブジェクトのために割り当てられる帯域幅閾値である、閾値受信モジュールと、
子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、子プロセスオブジェクトに対応する最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するように構成された第2のトラフィック制限モジュールと
を含むシステムを更に開示する。
好ましくは、子プロセスは子プロセス識別子を有し、及びシステムは、子プロセスオブジェクトに対応するトラフィック制限規則を生成するように構成された規則生成モジュールであって、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値を含む、規則生成モジュールを更に含む。
好ましくは、第2のトラフィック制限モジュールは、
親プロセスオブジェクトによって送信される予め生成されたソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子を受信するように構成された情報受信サブモジュールであって、ソケットfdは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、情報受信サブモジュールと、
ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得するように構成されたソケット取得サブモジュールと、
ソケットfdを用いることにより、子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットを受信し、且つネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加するように構成された識別子追加サブモジュールと、
子プロセスオブジェクトに対応する最大I/O帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するように構成されたトラフィック制限サブモジュールと
を含む。
好ましくは、トラフィック制限サブモジュールは、
ネットワークデータパケットの実際のデータトラフィックを取得するように構成された実際のトラフィック取得ユニットと、
対応する最大I/O帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索するように構成された規則検索ユニットと、
実際のデータトラフィックが最大I/O帯域幅閾値未満である場合、実際のデータトラフィックに従ってネットワークデータパケットを送信するように構成された第1の送信ユニットと、
実際のデータトラフィックが最大I/O帯域幅閾値より大きい場合、最大I/O帯域幅閾値に従ってネットワークデータパケットを送信するように構成された第2の送信ユニットと
を含む。
好ましくは、システムは、
実際のデータトラフィックが最大I/O帯域幅閾値より大きい場合、最大I/O帯域幅閾値を超える実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置するように構成されたバッファモジュールと、
バッファに格納されたデータ量が前記事前設定サイズである場合、エラープロンプトを子プロセスオブジェクトに送信するように構成されたエラープロンプト送信モジュールと
を更に含む。
好ましくは、システムは、子プロセスオブジェクトが削除されることが検出される場合、対応するトラフィック制限規則を削除するように構成された規則削除モジュールを更に含む。
先行技術と比較して、本出願の実施形態は以下の利点を有する。
複数のテナントがクラスタ資源を共有し、且つ本出願の実施形態が適用される分散環境において、サービスオブジェクトに対応する1つ又は複数の親プロセスオブジェクトが決定された場合、親プロセスオブジェクトは、サービスオブジェクトを処理する子プロセスオブジェクトを生成し、最大I/O帯域幅閾値が子プロセスオブジェクトのために割り当てられる。このようにして、同じマシン上の様々なプロセスが利用できる最大ネットワーク入力/出力帯域幅は、指定された閾値を超過することができない。言い換えれば、トラフィックは、異なるサービスオブジェクトのネットワーク要件を満たすように、ネットワーク安定性に影響せずに多重プロセスネットワーク分離の目的を達成するために最大I/O帯域幅閾値未満に帯域幅を制御するように制限される。
加えて、本出願の実施形態は、プログラム可能な言語(例えば、C言語)で実施され、従って別のシステムに一層容易に統合することができる。
本出願に従ってデータトラフィックを制限するための方法の第1の実施形態におけるステップのフローチャートである。 本出願に従ってデータトラフィックを制限するための方法の第1の実施形態におけるデータトラフィックを制限する原理の概略図である。 本出願に従ってデータトラフィックを制限するための方法の第1の実施形態における多重プロセス帯域幅割り当ての概略図である。 本出願に従ってデータトラフィックを制限するための方法の第2の実施形態におけるステップのフローチャートである。 本出願に従ってデータトラフィックを制限するための方法の第3の実施形態におけるステップのフローチャートである。 本出願に従ってデータトラフィックを制限するためのシステムの第1の実施形態における構造ブロック図である。 本出願に従ってデータトラフィックを制限するためのシステムの第2の実施形態における構造ブロック図である。
詳細な説明
本出願の前述の目的、特徴及び利点をより分かりやすくするために、本出願は、添付の図面及び特定の実装形態の方法に関連して以下で更に詳細に説明される。
図1を参照すると、本出願によるデータトラフィックを制限するための方法の第1の実施形態におけるステップのフローチャートが示されている。本出願のこの実施形態は、アプリケーション層の観点から説明され、アプリケーション層は、以下のステップを含んでもよい。
ステップ101.アプリケーション層において、サービスオブジェクトに対応する1つ又は複数の親プロセスオブジェクトが決定される。
実際のサービスシナリオにおいて、ほとんどの大規模クラウドコンピューティングプラットホームは、一般に多重データセンタに配置される。各データセンタは、複数のクラスタを有し、各クラスタは、複数の物理マシンを含んでもよく、各物理マシンは、異なるサービスオブジェクトを実行してもよく、これは典型的なクラスタ多重テナントモードである。
本出願のこの実施形態における適用中、サービスオブジェクトのために機能する1つ又は複数の親プロセスオブジェクトが最初に決定されてもよい。親プロセスオブジェクトは、オペレーティングシステムによって予め生成されたプロセス、例えばデーモンプロセスとして一般に知られているプロセスであってもよく、デーモンプロセスは、通常、制御端末と無関係で比較的長い寿命を有し、且つタスクを周期的に実行するか又はイベントの発生時に幾つかのイベントを処理するのを待つ、Linuxにおけるバックグラウンドサービスプロセスである。
ステップ102.1つ又は複数の対応する子プロセスオブジェクトが親プロセスオブジェクトを用いることによってそれぞれ生成され、最大入力/出力(I/O)帯域幅閾値が1つ又は複数の子プロセスオブジェクトのために割り当てられる。
図2に示されているデータトラフィックを制限する原理の概略図を参照すると、親プロセスオブジェクトが決定された後、親プロセスオブジェクトは、サービスオブジェクトを処理する1つ又は複数の子プロセスオブジェクトを生成するために事前設定のAPIインターフェースを更に呼び出し、且つ生成された子プロセスオブジェクトのために最大I/O帯域幅閾値を構成してもよい。最大I/O帯域幅閾値は、最大出力帯域幅閾値若しくは最大入力帯域幅閾値を指すか、又は最大出力帯域幅閾値と最大入力帯域幅閾値とを含む。
特に、物理マシンに割り当てられた全てのサービスオブジェクトは、N(N>0)常駐システムデーモンプロセスに最初に分配されてもよい。これらのデーモンプロセスは、親プロセスオブジェクトとして、サービスオブジェクトの特定のコンピューティングロジックを実行するm(m>0)子プロセスオブジェクトを更に生成する。生成された子プロセスオブジェクトのそれぞれは、対応する子プロセス識別子を有し、本出願のこの実施形態において、子プロセス識別子はSubPIDで表されてもよい。
子プロセスオブジェクトにおいて実行されるユーザロジックがセキュリティ及び資源分離のためにシステムに対して透過的であってもよいため、親プロセスオブジェクトは、子プロセスオブジェクトを生成する場合、各子プロセスオブジェクトのために最大入力/出力(I/O)帯域幅閾値を割り当ててもよい。即ち、使用中の各子プロセスの合計ネットワーク帯域幅は、各子プロセスのネットワーク資源の利用を制限するために、指定された割り当てを間違いなく超過しない。図3における多重プロセス帯域幅割り当ての概略図に示されているように、物理マシン上に2つのサービスがある。サービス1の親プロセスオブジェクト1が3つの子プロセスオブジェクトを生成し、それらのために、最大入力ネットワーク帯域幅は10M/s、40M/s及び80M/sにそれぞれ指定され、最大出力ネットワーク帯域幅は40M/s、20M/s及び50M/sにそれぞれ指定される。物理マシンの最大入力/出力帯域幅が1000M/sであると仮定すると、3つの子プロセスオブジェクトが利用できるネットワーク帯域幅のための閾値は、指定された割り当てである。
子プロセスオブジェクトの数がlinuxオペレーティングシステムにおいてサポートされ得る限り、1つの親プロセスオブジェクトが多数の子プロセスオブジェクトを理論的に生成してもよいことに留意されたい。親プロセスオブジェクトは、子プロセスオブジェクトのライフサイクルを管理するように、例えば、子プロセスオブジェクトを生成及び破棄し、ネットワーク帯域幅を割り当て、各子プロセスオブジェクトのネットワーク利用を監視するなどを行うように主に機能する。
本出願のこの実施形態には、以下のステップ:子プロセスオブジェクトに対応するトラフィック制限規則を生成するようにオペレーティングシステムカーネル層を促すために、親プロセスオブジェクトを用いることにより、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値をオペレーティングシステムカーネル層に送信するステップが含まれてもよく、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値を含む。
特に、本出願のこの実施形態において、子プロセスオブジェクトを生成する場合、親プロセスオブジェクトは、子プロセスオブジェクトの子プロセス識別子SubPID及び対応する最大I/O帯域幅閾値をオペレーティングシステムカーネル層に更に送信してもよい。特定の実装形態において、図2に示されているように、親プロセスオブジェクトが子プロセスオブジェクトを生成するたびに、親プロセスオブジェクトは、子プロセスオブジェクトのSubPID及び対応する最大I/O帯域幅閾値に従って対応するトラフィック制限規則を生成するようにオペレーティングシステムカーネル層を促すために、オペレーティングシステムアプリケーション層においてカプセル化されたAPIインターフェース、例えばAddGroup(GroupInfo)インターフェースを呼び出し、GroupInfoを介してオペレーティングシステムカーネル層に子プロセスオブジェクトのSubPID及び対応する最大I/O帯域幅閾値などの情報を送信するようにしてもよい。オペレーティングシステムカーネル層の特定の処理方法は、次の実施形態において詳細に説明される。
ステップ103.子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層は、最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するように促される。
本出願の好ましい実施形態において、ステップ103は、以下のサブステップを含んでもよい。
サブステップS11.ソケット記述子fdは、親プロセスオブジェクトを用いることによって予め生成され、ソケットfdは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である。
サブステップS12.ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子は、親プロセスオブジェクトを用いることにより、オペレーティングシステムカーネル層に送信され、ソケットfdは、親プロセスオブジェクトを用いることにより、対応する子プロセスに送信される。
サブステップS13.子プロセスオブジェクトがソケットfdを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層は、以下の操作:
オペレーティングシステムカーネル層により、ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得する操作と、
ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加する操作と、
子プロセスオブジェクトに対応し、且つ最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限する最大I/O帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索する操作と
を完了するように促される。
特に、親プロセスオブジェクトは、各子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求されるソケットfdを、予め生成し、且つ別のカプセル化されたAPIインターフェース、例えばAddFd(subPID、fd)を呼び出して、ソケットfd及び対応する子プロセスオブジェクトのSubPIDをオペレーティングシステムカーネル層に送信し、且つ同時にソケットfdを対応する子プロセスに送信してもよい。子プロセスオブジェクトがソケットfdを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層は、以下の操作:オペレーティングシステムカーネル層により、ソケットfd及び対応する子プロセスオブジェクトのSubPIDに従って対応するソケット構造体を取得する操作と、ネットワークデータパケットがソケット構造体を通過する場合、ネットワークデータパケットにSubPIDを追加する操作と、子プロセスオブジェクトに対応する最大I/O帯域幅閾値を取得するために、SubPIDに基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索する操作と、最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限する操作とを完了するように促される。オペレーティングシステムカーネル層の前述の操作は、次の実施形態において詳細に説明される。
本出願のこの実施形態における好ましい実装形態の方法において、以下のステップ:特に以下のサブステップを含む、子プロセスオブジェクトの最大I/O帯域幅閾値を適応的に調整するステップが含まれてもよい。
サブステップS21.親レベルの最大I/O帯域幅閾値が決定され、親レベルは、サービスオブジェクト又は物理マシンを含む、子プロセスオブジェクトのレベルを超えるオブジェクトである。
本出願のこの実施形態における設定されるトラフィック制限規則は、階層的である。子レベルのトラフィック制限規則は、親レベルのトラフィック制限規則によって制約される。子レベルは子プロセスオブジェクトであってもよく、親レベルはサービスオブジェクト又は物理マシンであってもよい。
親レベルが物理マシンである場合、親レベルの最大I/O帯域幅閾値は、物理マシンの合計帯域幅である。
親レベルがサービスオブジェクトである場合、親レベルの最大I/O帯域幅閾値は、サービスオブジェクトの最大I/O帯域幅閾値である。特に、幾つかのシナリオにおいて、物理マシン上のサービスオブジェクトの全ての子プロセスオブジェクトが利用できる最大I/O帯域幅閾値は、他のサービスオブジェクトのネットワーク利用を妨害することを回避するように定義される必要があり得る。この場合、親グループを生成し、サービスオブジェクトが利用できる最大I/O帯域幅閾値を指定し、次にサービスオブジェクトのために機能する子プロセスオブジェクトを生成し、且つ親グループのIDを指定するために、同じAPIを用いることが可能である。次に、サービスのために機能する全ての子プロセスは、サービスオブジェクトのために指定された最大I/O帯域幅閾値を共有する。
親レベルのために指定された異なる最大I/O帯域幅閾値に従って、子プロセスオブジェクトのための調整後に取得される最大I/O帯域幅閾値も異なる。例えば、物理マシンの合計帯域幅が200M/sであり、次にトラフィック制限規則r1が設定され、そこにおいて最大出力帯域幅閾値は100M/sであり、次に2つのトラフィック制限規則r2及びr3が更に生成され、そこにおいて最大出力帯域幅閾値は両方とも80M/sである。r2及びr3が属する親レベルが生成中に指定されない場合、親レベルは、r1と同様にデフォルトによる物理マシンであり、親レベルの最大出力帯域幅閾値は200M/sである。r2及びr3が生成中に規則r1に属することが指定される場合、r2及びr3の親レベルはr1であり、親レベルの最大出力帯域幅閾値は100M/sである。
サブステップS22.親レベルに含まれる全ての子プロセスオブジェクトの最大I/O帯域幅閾値の和が親レベルの最大I/O帯域幅閾値より大きい場合、子プロセスオブジェクトのそれぞれのために割り当てられる第1の平均帯域幅閾値が、子プロセスオブジェクトの数に従って計算される。
親レベルの最大I/O帯域幅閾値が決定された後、親レベルに含まれる全ての子プロセスオブジェクトの最大I/O帯域幅閾値の和が親レベルの最大I/O帯域幅閾値より大きいかどうかが更に判定されてもよい。判定結果が否定である場合、それは、現在の親レベルの資源が全ての子プロセスオブジェクトの最大I/O帯域幅閾値の要件を満たし得ることを示す。判定結果が肯定である場合、それは、現在の親レベルの資源が全ての子プロセスオブジェクトの最大I/O帯域幅閾値の要件を満たし得ないことを示す。この時点で、子プロセスオブジェクトのそれぞれによって占められる平均帯域幅閾値(第1の平均帯域幅閾値)が更に計算される。
例えば、物理マシンの合計最大出力帯域幅が100M/sであり、子プロセス1、2、3、4及び5が順に生成され、割り当てられた最大出力帯域幅はそれぞれ10M/s、20M/s、40M/s、80M/s及び120M/sである。5つの子プロセスオブジェクトの最大出力帯域幅閾値の和(10M/s+20M/s+40M/s+80M/s+120M/s=270M/s)が物理マシンの合計最大出力帯域幅100M/sより大きいため、子プロセスオブジェクトのそれぞれによって占められる第1の平均帯域幅閾値が100/5=20M/sであることが、この時点で更に計算されてもよい。
サブステップS23.子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値未満である場合、子プロセスオブジェクトの最大I/O帯域幅閾値は不変に維持される。
サブステップS24.子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい場合、第2の平均帯域幅閾値が計算され、子プロセスオブジェクトの最大I/O帯域幅閾値は第2の平均帯域幅閾値に調整される。
特に、子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値未満である場合、その最大I/O帯域幅閾値は不変に維持され得る。子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい場合、第2の平均帯域幅閾値が更に計算される。第2の平均帯域幅閾値は、以下の方法:(親レベルの最大I/O帯域幅閾値−最大I/O帯域幅閾値が第1の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大I/O帯域幅閾値)/(最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい子プロセスオブジェクトの数)で計算されてもよい。
例えば、上記の例において、順に生成された子プロセスオブジェクト1、2、3、4及び5に関し、新しい子プロセスオブジェクトが生成されるたびに、各プロセスが到達できる最大出力帯域幅閾値を適応的に調整するプロセスは以下の通りである。
子プロセスオブジェクト1が生成される場合、10M/sの割り当てられた最大出力帯域幅が物理マシンの合計最大出力帯域幅100M/sを超過しないため、子プロセスオブジェクト1の最大出力帯域幅は不変に維持される(10M/s)。
次に、子プロセスオブジェクト2が生成される。子プロセスオブジェクト1及び子プロセスオブジェクト2の最大出力帯域幅の和(10+20=30M/s)が物理マシンの合計最大出力帯域幅100M/sを超過しないため、子プロセスオブジェクト1及び子プロセスオブジェクト2の最大出力帯域幅は不変に維持される(10M/s、20M/s)。
次に、子プロセスオブジェクト3が生成される。子プロセスオブジェクト1〜子プロセスオブジェクト3の最大出力帯域幅の和(10+20+40=70M/s)が物理マシンの合計最大出力帯域幅100M/sを超過しないため、子プロセスオブジェクト1〜子プロセスオブジェクト3の最大出力帯域幅は不変に維持される(10M/s、20M/s、40M/s)。
次に、子プロセスオブジェクト4が生成される。子プロセスオブジェクト1〜子プロセスオブジェクト4の最大出力帯域幅の和(10+20+40+80=150M/s)が物理マシンの合計最大出力帯域幅100M/sを超過するため、最大I/O帯域幅閾値が第1の平均帯域幅閾値以下である子プロセスオブジェクトの最大出力帯域幅は不変に維持される。即ち、子プロセスオブジェクト1及び子プロセスオブジェクト2の最大出力帯域幅は不変に維持される。最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい子プロセスオブジェクトの最大出力帯域幅は、第2の平均帯域幅閾値に調整される。第2の平均帯域幅閾値を計算する方法は、(100−10−20)/2=35である。即ち、子プロセス1〜4の調整された最大出力帯域幅閾値は、(10M/s、20M/s、35M/s、35M/s)である。
次に、子プロセスオブジェクト5が生成される。子プロセスオブジェクト1〜子プロセスオブジェクト5の最大出力帯域幅の和(10+20+40+80+120=270M/s)が物理マシンの合計最大出力帯域幅100M/sを超過するため、最大I/O帯域幅閾値が第1の平均帯域幅閾値以下である子プロセスオブジェクトの最大出力帯域幅は不変に維持される。即ち、子プロセスオブジェクト1及び子プロセスオブジェクト2の最大出力帯域幅は不変に維持される。最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい子プロセスオブジェクトの最大出力帯域幅は、第2の平均帯域幅閾値に調整される。第2の平均帯域幅閾値を計算する方法は、(100−10−20)/3=23である。即ち、子プロセス1〜5の調整された最大出力帯域幅閾値は、(10M/s、20M/s、23M/s、23M/s、23M/s)である。
実際に、上記で取得された各子プロセスオブジェクトの適応的な調整結果が約5%のわずかな変動誤差を有し得、且つ概して全てのプロセスが閾値範囲内の出力/入力帯域幅を共有することに留意されたい。
上記のように子プロセスオブジェクトの最大I/O帯域幅閾値を適応的に調整することにより、プロセスの最大入力/出力帯域幅を柔軟且つ正確に制御する目的が達成され得る。
本出願のこの実施形態において、オペレーティングシステムがプラグ接続可能な方法でオンライン実行プロセスをアップグレードしてもよく、アップグレードプロセスがプロセスの正常な実行に影響しないことに留意されたい。実装形態の方法において、dlopen機能(主として動的リンクライブラリを開き、且つ動的リンクライブラリのハンドルを返す機能)は、プロセスをアップグレードするために、本出願のこの実施形態のコードを動的にロードするために用いられてもよく、その結果、実行プロセスは、本出願のこの実施形態のコードを透過的にロード及びアンロードすることができる。
複数のテナントがクラスタ資源を共有し、且つ本出願のこの実施形態が適用される分散環境において、サービスオブジェクトに対応する1つ又は複数の親プロセスオブジェクトが決定された場合、親プロセスオブジェクトは、サービスオブジェクトを処理する子プロセスオブジェクトを生成し、最大I/O帯域幅閾値が子プロセスオブジェクトのために割り当てられる。このようにして、同じマシン上の様々なプロセスが利用できる最大ネットワーク入力/出力帯域幅は、指定された閾値を超過することができない。言い換えれば、トラフィックは、異なるサービスオブジェクトのネットワーク要件を満たすように、ネットワークの安定性に影響せずに多重プロセスネットワーク分離の目的を達成するために最大I/O帯域幅閾値未満に帯域幅を制御するように制限される。
加えて、本出願のこの実施形態は、プログラム可能な言語(例えば、C言語)で実施され、従って別のシステムに一層容易に統合することができる。
図4を参照すると、本出願によるデータトラフィックを制限するための方法の第2の実施形態におけるステップのフローチャートが示されている。本出願のこの実施形態は、オペレーティングシステムカーネル層の観点から説明され、以下のプロセスを含んでもよい。
ステップ401.オペレーティングシステムカーネル層において、1つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力/出力(I/O)帯域幅閾値が受信される。
本出願のこの実施形態における適用中、親プロセスオブジェクトは、サービスオブジェクトに関連付けられるが、それは多対多の関係である。子プロセスオブジェクトは、親プロセスオブジェクトを用いることによって生成されたプロセスオブジェクトであり、1つの親プロセスオブジェクトは、1つ又は複数の子プロセスオブジェクトを生成してもよい。最大I/O帯域幅閾値は、子プロセスオブジェクトが親プロセスオブジェクトによって生成される場合、子プロセスオブジェクトのために割り当てられる帯域幅閾値である。最大I/O帯域幅閾値は、最大出力帯域幅閾値若しくは最大入力帯域幅閾値を指すか、又は最大出力帯域幅閾値と最大入力帯域幅閾値とを含む。
特に、サービスオブジェクトの親プロセスオブジェクトが決定された後、親プロセスオブジェクトは、サービスオブジェクトを処理する1つ又は複数の子プロセスオブジェクトを生成するために、且つ生成された子プロセスオブジェクトのために最大I/O帯域幅閾値を構成するために事前設定のAPIインターフェースを更に呼び出してもよい。
親プロセスオブジェクトが子プロセスオブジェクトを生成するたびに、親プロセスオブジェクトは、オペレーティングシステムアプリケーション層においてカプセル化されたAPIインターフェース、例えばAddGroup(GroupInfo)インターフェース)を更に呼び出し、GroupInfoを介して子プロセスオブジェクトのSubPID及び対応する最大I/O帯域幅閾値などの情報をオペレーティングシステムカーネル層に送信してもよい。
オペレーティングシステムカーネル層において、子プロセスオブジェクトのSubPID及び対応する最大I/O帯域幅閾値などの親プロセスオブジェクトによって送信された情報は、カーネルの内蔵トラフィック制御(略してTC)を用いることによって受信されてもよい。
オペレーティングシステムカーネル層がアプリケーション層から情報を受信した後、本出願のこの実施形態は、更に以下のステップ:子プロセスオブジェクトに対応するトラフィック制限規則を生成するステップを含んでもよい。
特に、オペレーティングシステムカーネル層は、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値に従って、子プロセスオブジェクトに対応するトラフィック制限規則をTCにおいて生成してもよく、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値を含む。
実際に、TCに格納されたトラフィック制限規則は、マシンの全体的に一意の規則IDで識別されてもよい。子プロセスオブジェクトの子プロセス識別子が全体的に一意であるため、子プロセスオブジェクトの子プロセス識別子は、規則IDとして用いられてもよい。実際に、TCのclassidは子プロセス識別子を割り当てられる。
実際の適用において、親プロセスオブジェクトの数及び物理マシンにおいて各親プロセスオブジェクトによって生成された子プロセスオブジェクトの数にかかわらず、TCにおいて各子プロセスオブジェクトに対応するトラフィック制限規則は、帯域幅を公平に用いる。しかしながら、linuxカーネルの内蔵TCは、次の欠陥を有し得る。同じ親プロセスオブジェクト下の全ての子プロセスオブジェクトに対応するトラフィック制限規則は、親プロセスオブジェクトによって設定された規則帯域幅を完全に公平な方法で共有することができず、幾つかのトラフィック制限規則が帯域幅に不足することに帰着する。即ち、帯域幅は、他のトラフィック制限規則によって常に占められる。これに基づいて、本出願のこの実施形態における適用中、ホットフィックス(ホットフィックスは、脆弱性又はセキュリティ問題に特に取り組むために、特定のシステム脆弱性又はセキュリティ問題のためにリリースされた、一般にパッチと呼ばれるアプレットである)技術が欠陥を修正するために用いられてもよい。
特に、ホットフィックス技術は、デフォルトによりTCによって実現されたHTB(階層的トークンバケット)及びSFQ(確率的公平待ち行列)を最適化するために用いられてもよく、その結果、全てのトラフィック制限規則は、帯域幅を公平に共有することができる。HTB待ち行列は、TCにおける一種の分類可能な待ち行列であり、且つトラフィック制御のためにTCと主として協働する。SFQは、公平待ち行列アルゴリズムファミリーにおける単純な実装形態であり、且つTCPセッション又はUDPフローに主として向けられる。トラフィックは、極めて多数のFIFO(先入れ先出し)待ち行列に分割され、各待ち行列は、1つのセッションに対応し、データは、単純なラウンドロビン方式で送信され、各セッションは、送信する機会を順に取得する。かかる方法は非常に公平であり、各セッションが他のセッションによって排除されないことを保証する。
ステップ402.子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、ネットワークデータパケットのデータトラフィックは、子プロセスオブジェクトに対応する最大I/O帯域幅閾値に従って制限される。
オペレーティングシステムカーネル層において、子プロセスオブジェクトに関連するトラフィック制限規則が生成された後、子プロセスオブジェクトによって生成された全てのネットワークフローは、トラフィック制限規則を用いることによってネットワークフローのデータトラフィックを制限するために、TCにおいて生成されたトラフィック制限規則と関連付けることができる。
本出願のこの実施形態における好ましい実装形態の方法において、ステップ402は、以下のサブステップを含んでもよい。
サブステップS31.親プロセスオブジェクトによって送信される予め生成されたソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子が受信され、ソケットfdは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である。
サブステップS32.対応するソケット構造体が、ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子に従って取得される。
特定の実装形態において、親プロセスオブジェクトは、各子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求されるソケットfdを予め生成し、且つ別のカプセル化されたAPIインターフェース、例えばAddFd(subPID、fd)を呼び出して、ソケットfd及び対応する子プロセスオブジェクトのSubPIDをオペレーティングシステムカーネル層に送信してもよい。親プロセスオブジェクトがAddFD(subPID、fd)を呼び出す場合、インターフェースは、ソケットfdに従い、且つlinuxシステムにより提供されるsetsockopt方法を用いることにより、カーネルネットワーク層においてtcp接続に対応するソケット構造体を見つけ、且つソケット構造体に子プロセス識別子でラベル付けしてもよい。
サブステップS33.ソケットfdを用いることにより、子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットが受信される。
サブステップS34.ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子はネットワークデータパケットに追加される。
子プロセスオブジェクトがソケットfdを用いることによってネットワークデータパケットを送信し、且つネットワークデータパケットがカーネルのネットワーク層プロトコルスタックソケット構造体を通過する場合、ネットワークデータパケットは子プロセス識別子でラベル付けされる。
サブステップS35.子プロセスオブジェクトに対応する最大I/O帯域幅閾値を取得するために、ネットワークデータパケットと一致するトラフィック制限規則が子プロセス識別子に基づいて検索され、ネットワークデータパケットのデータトラフィックは最大I/O帯域幅閾値に従って制限される。
図2に示されているように、SubPIDでラベル付けされたネットワークデータパケットがTCをもう一度通過する場合、TCにおける対応するトラフィック制限規則は、ネットワークデータパケットのデータトラフィックを制限するために、ラベルに従って見つけられ得る。即ち、ネットワークデータパケットにおいてSubPIDと同じであるトラフィック制限規則が見つけられ、ネットワークデータパケットのデータトラフィックは、トラフィック制限規則において定義された最大I/O帯域幅閾値に従って制限される。
本出願のこの実施形態における好ましい実装形態の方法において、サブステップS35は、以下のサブステップを更に含んでもよい。
サブステップS351.ネットワークデータパケットの実際のデータトラフィックが取得される。
サブステップS352.対応する最大I/O帯域幅閾値を取得するために、ネットワークデータパケットと一致するトラフィック制限規則が、子プロセス識別子に基づいて検索される。
サブステップS353.実際のデータトラフィックが最大I/O帯域幅閾値未満である場合、ネットワークデータパケットは、実際のデータトラフィックに従って送信される。
サブステップS354.実際のデータトラフィックが最大I/O帯域幅閾値より大きい場合、ネットワークデータパケットは、最大I/O帯域幅閾値に従って送信される。
特定の実装形態において、ネットワークデータパケットがトラフィック制限規則と関連付けられた後、ネットワークデータパケットの実際のデータトラフィックの速度が、トラフィック制限規則において設定された最大I/O帯域幅閾値を超えない場合、実際のデータトラフィックは、現在のネットワークデータ通信にほとんど影響を及ぼさず、この時点において、実際のデータトラフィックは、ネットワークデータパケットを送信するために利用され得る。
ネットワークデータパケットの実際のデータトラフィックの速度が、トラフィック制限規則において設定された最大I/O帯域幅閾値を超過する場合、ネットワークデータパケットのデータトラフィックは、トラフィック制限規則において設定された最大I/O帯域幅閾値に制限される。
好ましい実装形態の方法において、本出願のこの実施形態は、以下のステップ:実際のデータトラフィックが最大I/O帯域幅閾値より大きい場合、最大I/O帯域幅閾値を超える実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置し、且つバッファに格納されたデータ量が事前設定サイズである場合、エラープロンプトを子プロセスオブジェクトに送信するステップを更に含んでもよい。
特定の実装形態において、子プロセスオブジェクトの実際のデータトラフィックが最大I/O帯域幅閾値を超過する場合、超過部分のデータは、送信されるべきネットワークデータパケットとして事前設定サイズのバッファに配置されてもよい。実際のデータトラフィックが最大I/O帯域幅閾値未満に減少すると、バッファにおけるデータは優先的に送信される。
実際のデータトラフィックが、設定された最大I/O帯域幅閾値を連続的に超過する場合、送信されるべきバッファされたネットワークデータパケットがlinuxカーネルのデフォルトバッファのサイズを超過するとき、超過データは直接廃棄されてもよく、エラープロンプトが子プロセスオブジェクトに送信される。エラープロンプトは、ネットワークデータパケットの送信が失敗したことを子プロセスに示す。この場合、子プロセスオブジェクトは、データを再送信することを選択してもよい。
例えば、linuxカーネルのデフォルトバッファは50Mのサイズを有し、子プロセスオブジェクトのために設定される最大出力帯域幅閾値は100M/sであり、子プロセスオブジェクトの実際のデータトラフィックは最初に100M/sを超過せず、データはバッファに配置されない。子プロセスオブジェクトの実際のデータトラフィックが瞬間的に110M/sになる場合、トラフィック制限規則において制限されるように、最大流速は最大で100M/sであり、余分の10M/sデータはバッファに配置されてもよい。かかる状況が5s続く場合、即ち10M/s5s=50Mである場合、バッファの容量50Mはこの時点で完全に占められる。次に、実際のデータトラフィックが閾値を更に超過する場合、余分なデータを置く場所がなく、カーネルはデータを直接廃棄することができる。
好ましい実装形態の方法において、本出願のこの実施形態は、以下のステップ:子プロセスオブジェクトが削除されることが検出される場合、対応するトラフィック制限規則を削除するステップを更に含んでもよい。
特定の実装形態において、子プロセスオブジェクトが生成されるたびに、トラフィック制限規則がカーネルにおいて生成される。しかしながら、カーネルが収容できるトラフィック制限規則の数は限られ、従って、未使用のトラフィック制限規則によって占められたメモリ空間を再生利用することが重要である。
本出願のこの実施形態における適用中、オペレーティングシステムは、アプリケーション層において規則の数の適切な上限を定義し、且つ無駄なトラフィック制限規則を特に破棄するために各親プロセスオブジェクトにおけるバックグラウンドスレッドを開始してもよい。好ましい実装形態の方法は、サービスオブジェクトの全ての既存のトラフィック制限規則を調べることであってもよい。トラフィック制限規則に対応する子プロセスオブジェクトの子プロセス識別子が存在しない場合、カーネルにおけるトラフィック制限規則を破棄するためにAPIが呼び出されてもよい。このようにして、トラフィック制限規則によって占められた資源は再生利用され、それは、資源がリークされず、且つ子プロセスのクラッシュを考慮することさえせずに、システム性能を改善することを保証することができる。
本出願のこの実施形態において、使用中の各プロセスの最大帯域幅は、子プロセスオブジェクトの最大I/O帯域幅閾値を設定することによって正確に制御され、ネットワーク安定性は影響されず、マシン上の各プロセスは、閾値範囲内でネットワーク帯域幅を公平に且つ安定して共有することができる。
図5を参照すると、本出願によるデータトラフィックを制限するための方法の第3の実施形態におけるステップのフローチャートが示されている。本出願のこの実施形態は、図2と組み合わせて、アプリケーション層とオペレーティングシステムカーネル層との間の相互作用プロセスを説明し、それは以下のステップを含んでもよい。
ステップ501.アプリケーション層において、サービスオブジェクトに対応する1つ又は複数の親プロセスオブジェクトが決定される。
ステップ502.1つ又は複数の対応する子プロセスオブジェクトが親プロセスオブジェクトを用いることによってそれぞれ生成され、最大I/O帯域幅閾値が1つ又は複数の子プロセスオブジェクトのためにそれぞれ割り当てられる。
ステップ503.親プロセスオブジェクトは、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値をオペレーティングシステムカーネル層に送信する。
ステップ504.オペレーティングシステムカーネル層において、子プロセスオブジェクトに対応するトラフィック制限規則が生成される。
ステップ505.ソケット記述子fdが親プロセスオブジェクトを用いることによって予め生成され、ソケットfdは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である。
ステップ506.ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子は、親プロセスオブジェクトを用いることによってオペレーティングシステムカーネル層に送信され、ソケットfdは、親プロセスオブジェクトを用いることにより、対応する子プロセスに送信される。
ステップ507.子プロセスオブジェクトがソケットfdを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、オペレーティングシステムカーネル層は、ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得する。
ステップ508.ネットワークデータパケットがソケット構造体を通過する場合、オペレーティングシステムカーネル層は、子プロセス識別子をネットワークデータパケットに追加する。
ステップ509.子プロセスオブジェクトに対応する最大I/O帯域幅閾値を取得するために、ネットワークデータパケットと一致するトラフィック制限規則が子プロセス識別子に基づいて検索され、ネットワークデータパケットのデータトラフィックは最大I/O帯域幅閾値に従って制限される。
本出願のこの実施形態における好ましい実装形態の方法において、ステップ509は、以下のサブステップを更に含んでもよい。
サブステップS41.ネットワークデータパケットの実際のデータトラフィックが取得される。
サブステップS42.ネットワークデータパケットと一致するトラフィック制限規則が子プロセス識別子に基づいて検索される。
サブステップS43.実際のデータトラフィックが最大I/O帯域幅閾値未満である場合、ネットワークデータパケットは実際のデータトラフィックに従って送信される。
サブステップS44.実際のデータトラフィックが最大I/O帯域幅閾値より大きい場合、ネットワークデータパケットは最大I/O帯域幅閾値に従って送信される。
本出願のこの実施形態における適用中、子プロセスオブジェクトの最大I/O帯域幅閾値は、適応的に調整することができる。実装形態の方法において、適応的な調整のプロセスは以下の通りである。
A.親レベルの最大I/O帯域幅閾値が決定され、親レベルは、サービスオブジェクト又は物理マシンを含む、子プロセスオブジェクトのレベルを超えるオブジェクトである。
B.親レベルに含まれる全ての子プロセスオブジェクトの最大I/O帯域幅閾値の和が親レベルの最大I/O帯域幅閾値より大きい場合、子プロセスオブジェクトのそれぞれのために割り当てられる第1の平均帯域幅閾値が、子プロセスオブジェクトの数に従って計算される。
C.子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値未満である場合、子プロセスオブジェクトの最大I/O帯域幅閾値は不変に維持される。
D.子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい場合、第2の平均帯域幅閾値が計算され、子プロセスオブジェクトの最大I/O帯域幅閾値は第2の平均帯域幅閾値に調整される。
ステップ510.オペレーティングシステムカーネル層において、実際のデータトラフィックが最大I/O帯域幅閾値より大きい場合、最大I/O帯域幅閾値を超える実際のデータトラフィックにおける残りのデータトラフィックに対応するデータは事前設定サイズのバッファに配置される。
ステップ511.バッファに格納されたデータ量が事前設定サイズである場合、エラープロンプトが子プロセスオブジェクトに送信される。
ステップ512.子プロセスオブジェクトが削除されることが検出される場合、対応するトラフィック制限規則はオペレーティングシステムカーネルにおいて削除される。
図5の実施形態は、図1及び図4の実施形態に実質的に類似しており、従って比較的簡単に説明される。関連部分に関して、方法実施形態における説明を参照されたい。
説明を簡単にするために、前述の方法実施形態は、一連の動作の組み合わせとして説明されていることに留意されたい。しかしながら、当業者は、本出願の実施形態が動作の説明される順序に限定されないことを理解されたい。なぜなら、幾つかのステップが本出願の実施形態に従って別の順序で又は同時に実行されてもよいからである。加えて、当業者はまた、本明細書で説明される実施形態が全て好ましい実施形態に属し、関係する動作が本出願の実施形態に必ずしも必須ではないことを理解されたい。
図6を参照すると、本出願によるデータトラフィックを制限するためのシステムの第1の実施形態における構造ブロック図が示されており、それは、特に以下のモジュール:
アプリケーション層において、サービスオブジェクトに対応する1つ又は複数の親プロセスオブジェクトを決定するように構成された親プロセス決定モジュール601と、
親プロセスオブジェクトをそれぞれ用いることにより、1つ又は複数の対応する子プロセスオブジェクトを生成し、且つ1つ又は複数の子プロセスオブジェクトのために最大入力/出力(I/O)帯域幅閾値を割り当てるように構成された子プロセス生成モジュール602と、
子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すように構成された第1のトラフィック制限モジュール603と
を含んでもよい。
本出願のこの実施形態における好ましい実装形態の方法において、子プロセスは子プロセス識別子を有し、及びシステムは、子プロセスオブジェクトに対応するトラフィック制限規則を生成するようにオペレーティングシステムカーネル層を促すために、親プロセスオブジェクトを用いることにより、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値をオペレーティングシステムカーネル層に送信するように構成された情報送信モジュールを更に含み、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値を含む。
本出願のこの実施形態における好ましい実装形態の方法において、第1のトラフィック制限モジュール603は、以下のサブモジュール:
親プロセスオブジェクトを用いることにより、ソケット記述子fdを予め生成するように構成された記述子取得サブモジュールであって、ソケットfdは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される記述子である、記述子取得サブモジュールと、
親プロセスオブジェクトを用いることにより、ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子をオペレーティングシステムカーネル層に送信し、且つ親プロセスオブジェクトを用いることにより、ソケットfdを対応する子プロセスに送信し、且つ子プロセスオブジェクトがソケットfdを用いることによってネットワークデータパケットを入力又は出力する場合、オペレーティングシステムカーネル層を、以下の操作:
オペレーティングシステムカーネル層により、ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得する操作と、
ネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加する操作と、
子プロセスオブジェクトに対応する最大I/O帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限する操作と
を完了するように促すように構成された記述子送信サブモジュールと
を含んでもよい。
本出願のこの実施形態における好ましい実装形態の方法において、システムは、子プロセスオブジェクトの最大I/O帯域幅閾値を適応的に調整するように構成された調整モジュールを含み、調整モジュールは、
親レベルの最大I/O帯域幅閾値を決定するように構成された親レベル閾値決定サブモジュールであって、親レベルは、サービスオブジェクト又は物理マシンを含む、子プロセスオブジェクトのレベルを超えるオブジェクトである、親レベル閾値決定サブモジュールと、
親レベルに含まれる全ての子プロセスオブジェクトの最大I/O帯域幅閾値の和が親レベルの最大I/O帯域幅閾値より大きい場合、子プロセスオブジェクトの数に従って、子プロセスオブジェクトのそれぞれのために割り当てられる第1の平均帯域幅閾値を計算するように構成された平均値計算サブモジュールと、
子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値未満である場合、子プロセスオブジェクトの最大I/O帯域幅閾値を不変に維持するように構成された閾値維持サブモジュールと、
子プロセスオブジェクトの最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい場合、第2の平均帯域幅閾値を計算し、且つ子プロセスオブジェクトの最大I/O帯域幅閾値を第2の平均帯域幅閾値に調整するように構成された閾値調整サブモジュールであって、第2の平均帯域幅閾値は、以下の方法:(親レベルの最大I/O帯域幅閾値−最大I/O帯域幅閾値が第1の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大I/O帯域幅閾値)/(最大I/O帯域幅閾値が第1の平均帯域幅閾値より大きい子プロセスオブジェクトの数)で計算される、閾値調整サブモジュールと
を更に含む。
システム実施形態は、前述の方法実施形態に実質的に類似しており、従って比較的簡単に説明される。関連部分に関して、方法実施形態における説明を参照されたい。
図7を参照すると、本出願によるデータトラフィックを制限するためのシステムにおける第2の実施形態の構造ブロック図が示されており、それは、特に以下のモジュール:
1つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力/出力(I/O)帯域幅閾値をオペレーティングシステムカーネル層で受信するように構成された閾値受信モジュール701であって、親プロセスオブジェクトは、サービスオブジェクトと関連付けられ、子プロセスオブジェクトは、親プロセスオブジェクトを用いることによって生成されたプロセスオブジェクトであり、及び最大I/O帯域幅閾値は、親プロセスオブジェクトによって子プロセスオブジェクトが生成される場合、子プロセスオブジェクトのために割り当てられる帯域幅閾値である、閾値受信モジュール701と、
子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、子プロセスオブジェクトに対応する最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するように構成された第2のトラフィック制限モジュール702と
を含んでもよい。
本出願のこの実施形態における好ましい実装形態の方法において、子プロセスは子プロセス識別子を有し、及びシステムは、子プロセスオブジェクトに対応するトラフィック制限規則を生成するように構成された規則生成モジュールを含み、トラフィック制限規則は、子プロセスオブジェクトの子プロセス識別子及び対応する最大I/O帯域幅閾値を含む。
本出願のこの実施形態における好ましい実装形態の方法において、第2のトラフィック制限モジュール702は、以下のサブモジュール:
親プロセスオブジェクトによって送信される予め生成されたソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子を受信するように構成された情報受信サブモジュールであって、ソケットfdは、子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、情報受信サブモジュールと、
ソケットfd及び対応する子プロセスオブジェクトの子プロセス識別子に従って対応するソケット構造体を取得するように構成されたソケット取得サブモジュールと、
ソケットfdを用いることにより、子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットを受信し、且つネットワークデータパケットがソケット構造体を通過する場合、子プロセス識別子をネットワークデータパケットに追加するように構成された識別子追加サブモジュールと、
子プロセスオブジェクトに対応する最大I/O帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ最大I/O帯域幅閾値に従ってネットワークデータパケットのデータトラフィックを制限するように構成されたトラフィック制限サブモジュールと
を更に含んでもよい。
本出願のこの実施形態における好ましい実装形態の方法において、トラフィック制限サブモジュールは、以下のユニット:
ネットワークデータパケットの実際のデータトラフィックを取得するように構成された実際トラフィック取得ユニットと、
対応する最大I/O帯域幅閾値を取得するために、子プロセス識別子に基づいて、ネットワークデータパケットと一致するトラフィック制限規則を検索するように構成された規則検索ユニットと、
実際のデータトラフィックが最大I/O帯域幅閾値未満である場合、実際のデータトラフィックに従ってネットワークデータパケットを送信するように構成された第1の送信ユニットと、
実際のデータトラフィックが最大I/O帯域幅閾値より大きい場合、最大I/O帯域幅閾値に従ってネットワークデータパケットを送信するように構成された第2の送信ユニットと
を更に含んでもよい。
本出願のこの実施形態における好ましい実装形態の方法において、システムは、
実際のデータトラフィックが最大I/O帯域幅閾値より大きい場合、最大I/O帯域幅閾値を超える実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置するように構成されたバッファモジュールと、
バッファに格納されたデータ量が事前設定サイズである場合、エラープロンプトを子プロセスオブジェクトに送信するように構成されたエラープロンプト送信モジュールと
を更に含む。
本出願のこの実施形態における好ましい実装形態の方法において、システムは、子プロセスオブジェクトが削除されることが検出される場合、対応するトラフィック制限規則を削除するように構成された規則削除モジュールを更に含む。
システム実施形態は、前述の方法実施形態に実質的に類似しており、従って比較的簡単に説明される。関連部分に関して、方法実施形態における説明を参照されたい。
本明細書における実施形態は、全て漸進的な方法で(in a progressive manner)説明され、各実施形態は他の実施形態との差に集中し、実施形態における同一又は類似の部分は互いに関連して取得されてもよい。
当業者は、本出願の実施形態が方法、装置又はコンピュータプログラム製品として提供され得ることを理解すべきである。従って、本出願の実施形態は、完全なハードウェア実施形態、完全なソフトウェア実施形態、又はソフトウェア及びハードウェアを組み合わせる実施形態として実施されてもよい。更に、本出願の実施形態は、コンピュータ使用可能プログラムコードを含む1つ又は複数のコンピュータ使用可能記憶媒体(限定するものではないが、磁気ディスクメモリ、CD−ROM、光メモリ等を含む)上で実現されるコンピュータプログラム製品の形態であってもよい。
本出願の実施形態は、本出願の実施形態の方法、端末装置(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図に関連して説明される。コンピュータプログラム命令が、フローチャート及び/又はブロック図における各プロセス及び/又はブロック、並びにフローチャート及び/又はブロック図におけるプロセス及び/又はブロックの組み合わせを実行するために用いられてもよいことを理解されたい。コンピュータプログラム命令は、マシンを生成するために汎用コンピュータ、専用コンピュータ、埋め込み型プロセッサ、又は別のプログラマブルデータ処理端末装置のプロセッサに提供されてもよく、その結果、コンピュータ又は別のプログラマブルデータ処理端末装置のプロセッサは、フローチャートにおける1つ又は複数のプロセス及び/又はブロック図における1つ又は複数のブロックにおいて指定された機能を実行するように構成された装置を生成するための命令を実行する。
特定の方法で機能するようにコンピュータ又は別のプログラマブルデータ処理端末装置を誘導できるコンピュータプログラム命令はまた、コンピュータ可読記憶装置に格納されてもよく、その結果、コンピュータ可読記憶装置に格納された命令は、命令装置を含む製造品を生成し、命令装置は、フローチャートにおける1つ若しくは複数のプロセス及び/又はブロック図における1つ若しくは複数のブロックによって指定された機能を実行する。
コンピュータプログラム命令はまた、コンピュータ又は別のプログラマブルデータ処理端末装置にインストールされてもよく、その結果、一連の操作ステップは、コンピュータ実行処理を生成するためにコンピュータ又は別のプログラマブル端末装置上で実行され、従って、コンピュータ又は別のプログラマブル端末装置において実行される命令は、フローチャートにおける1つ若しくは複数のプロセス及び/又はブロック図における1つ若しくは複数のブロックにおいて指定された機能を実行するためのステップを提供する。
本出願の実施形態における好ましい実施形態を説明した。しかしながら、基本的で創造的な概念を知れば、当業者は、実施形態に対する他の変形形態及び修正形態をなし得る。従って、添付の特許請求の範囲は、好ましい実施形態並びに本出願の実施形態の範囲内に入る全ての変形形態及び修正形態を含むように説明されることが意図されている。
最後に、本明細書において、第1及び第2などの関係用語が単に1つのエンティティ又は操作を別のエンティティ又は操作から区別するために用いられ、エンティティ又は操作間のかかる実際の関係又は順序を必ずしも要求又は意味しないことに更に留意されたい。更に、「包含する」、「含む」という用語又はそれらの他の変形は、非排他的な包含を包含するように意図され、その結果、一連の要素を含むプロセス、方法、物品又は端末装置は、要素を含むだけでなく、明白に列挙されていない他の要素も含むか、又はプロセス、方法、物品若しくは端末装置の固有の要素を更に含む。更なる限定がない場合、「1つの(a)/1つの(an)〜を含む」によって定義される要素は、要素を含むプロセス、方法、物品又は端末装置が他の同一の要素を更に含むことを排除しない。
本出願において提供されるデータトラフィックを制限するための方法及びシステムは、上記で詳細に説明され、本出願の原理及び実装形態の方法は、本明細書における特定の例を用いることによって説明される。実施形態に関する上記の説明は、本出願及びその中心的な考えの方法を理解するのを支援するために単に用いられる。一方で、当業者にとって、本出願の考えに従って特定の実装形態の方法及び適用範囲に対する修正形態が存在し得る。従って、本明細書の内容は、本出願に対する限定として解釈されるべきではない。

Claims (20)

  1. データトラフィックを制限するための方法であって、
    アプリケーション層において、サービスオブジェクトに対応する1つ又は複数の親プロセスオブジェクトを決定することと、
    前記親プロセスオブジェクトをそれぞれ用いることにより、1つ又は複数の対応する子プロセスオブジェクトを生成し、且つ前記1つ又は複数の子プロセスオブジェクトのために最大入力/出力(I/O)帯域幅閾値を割り当てることと、
    前記子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すことと
    を含む方法。
  2. 子プロセスは子プロセス識別子を有し、及び前記子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促す前記ステップの前に、前記方法は、前記子プロセスオブジェクトに対応するトラフィック制限規則を生成するように前記オペレーティングシステムカーネル層を促すために、前記親プロセスオブジェクトを用いることにより、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大I/O帯域幅閾値を前記オペレーティングシステムカーネル層に送信することであって、前記トラフィック制限規則は、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大I/O帯域幅閾値を含む、送信することを更に含む、請求項1に記載の方法。
  3. 前記子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促す前記ステップは、
    前記親プロセスオブジェクトを用いることにより、ソケット記述子fdを予め生成することであって、前記ソケットfdは、前記子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、予め生成することと、
    前記親プロセスオブジェクトを用いることにより、前記ソケットfd及び前記対応する子プロセスオブジェクトの前記子プロセス識別子を前記オペレーティングシステムカーネル層に送信し、且つ前記親プロセスオブジェクトを用いることにより、前記対応する子プロセスに前記ソケットfdを送信することと、
    前記子プロセスオブジェクトが前記ソケットfdを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、前記オペレーティングシステムカーネル層を、以下の操作:
    前記オペレーティングシステムカーネル層を用いることにより、前記ソケットfd及び前記対応する子プロセスオブジェクトの前記子プロセス識別子に従って対応するソケット構造体を取得する操作と、
    前記ネットワークデータパケットが前記ソケット構造体を通過する場合、前記子プロセス識別子を前記ネットワークデータパケットに追加する操作と、
    前記子プロセスオブジェクトに対応する前記最大I/O帯域幅閾値を取得するために、前記プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限する操作と
    を完了するように促すことと
    を含む、請求項2に記載の方法。
  4. 前記子プロセスオブジェクトの前記最大I/O帯域幅閾値を適応的に調整することであって、
    親レベルの最大I/O帯域幅閾値を決定することであって、前記親レベルは、サービスオブジェクト又は物理マシンを含む、前記子プロセスオブジェクトのレベルを超えるオブジェクトである、決定すること、
    前記親レベルに含まれる全ての子プロセスオブジェクトの最大I/O帯域幅閾値の和が前記親レベルの前記最大I/O帯域幅閾値より大きい場合、前記子プロセスオブジェクトの数に従って、前記子プロセスオブジェクトのそれぞれのために割り当てられる第1の平均帯域幅閾値を計算すること、及び
    前記子プロセスオブジェクトの前記最大I/O帯域幅閾値が前記第1の平均帯域幅閾値未満である場合、前記子プロセスオブジェクトの前記最大I/O帯域幅閾値を不変に維持すること、又は
    前記子プロセスオブジェクトの前記最大I/O帯域幅閾値が前記第1の平均帯域幅閾値より大きい場合、第2の平均帯域幅閾値を計算し、且つ前記子プロセスオブジェクトの前記最大I/O帯域幅閾値を前記第2の平均帯域幅閾値に調整することであって、前記第2の平均帯域幅閾値は、以下の方法:(前記親レベルの前記最大I/O帯域幅閾値−最大I/O帯域幅閾値が前記第1の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大I/O帯域幅閾値)/(最大I/O帯域幅閾値が前記第1の平均帯域幅閾値より大きい子プロセスオブジェクトの数)で計算される、計算及び調整すること
    を含む、調整することを更に含む、請求項1に記載の方法。
  5. データトラフィックを制限するための方法であって、
    オペレーティングシステムカーネル層において、1つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力/出力(I/O)帯域幅閾値を受信することであって、前記親プロセスオブジェクトは、サービスオブジェクトに関連付けられ、前記子プロセスオブジェクトは、前記親プロセスオブジェクトを用いることによって生成されるプロセスオブジェクトであり、及び前記最大I/O帯域幅閾値は、前記子プロセスオブジェクトが前記親プロセスオブジェクトによって生成される場合、前記子プロセスオブジェクトのために割り当てられる帯域幅閾値である、受信することと、
    前記子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、前記子プロセスオブジェクトに対応する前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限することと
    を含む方法。
  6. 前記子プロセスは子プロセス識別子を有し、及び前記子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、前記子プロセスオブジェクトに対応する前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限する前記ステップの前に、前記方法は、前記子プロセスオブジェクトに対応するトラフィック制限規則を生成することであって、前記トラフィック制限規則は、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大I/O帯域幅閾値を含む、生成することを更に含む、請求項5に記載の方法。
  7. 前記子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、前記子プロセスオブジェクトに対応する前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限する前記ステップは、
    前記親プロセスオブジェクトによって送信される予め生成されたソケットfd及び前記対応する子プロセスオブジェクトの前記子プロセス識別子を受信することであって、前記ソケットfdは、前記子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、受信することと、
    前記ソケットfd及び前記対応する子プロセスオブジェクトの前記子プロセス識別子に従って対応するソケット構造体を取得することと、
    前記ソケットfdを用いることにより、前記子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットを受信することと、
    前記ネットワークデータパケットが前記ソケット構造体を通過する場合、前記子プロセス識別子を前記ネットワークデータパケットに追加することと、
    前記子プロセスオブジェクトに対応する前記最大I/O帯域幅閾値を取得するために、前記子プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限することと
    を含む、請求項6に記載の方法。
  8. 前記子プロセスオブジェクトに対応する前記最大I/O帯域幅閾値を取得するために、前記子プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限する前記ステップは、
    前記ネットワークデータパケットの実際のデータトラフィックを取得すること、
    前記対応する最大I/O帯域幅閾値を取得するために、前記子プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索すること、及び
    前記実際のデータトラフィックが前記最大I/O帯域幅閾値未満である場合、前記実際のデータトラフィックに従って前記ネットワークデータパケットを送信すること、又は
    前記実際のデータトラフィックが前記最大I/O帯域幅閾値より大きい場合、前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットを送信すること
    を含む、請求項7に記載の方法。
  9. 前記実際のデータトラフィックが前記最大I/O帯域幅閾値より大きい場合、前記最大I/O帯域幅閾値を超える前記実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置することと、
    前記バッファに格納されたデータ量が前記事前設定サイズである場合、エラープロンプトを前記子プロセスオブジェクトに送信することと
    を更に含む、請求項8に記載の方法。
  10. 前記子プロセスオブジェクトが削除されることが検出される場合、前記対応するトラフィック制限規則を削除することを更に含む、請求項6に記載の方法。
  11. データトラフィックを制限するためのシステムであって、
    アプリケーション層において、サービスオブジェクトに対応する1つ又は複数の親プロセスオブジェクトを決定するように構成された親プロセス決定モジュールと、
    前記親プロセスオブジェクトをそれぞれ用いることにより、1つ又は複数の対応する子プロセスオブジェクトを生成し、且つ前記1つ又は複数の子プロセスオブジェクトのために最大入力/出力(I/O)帯域幅閾値を割り当てるように構成された子プロセス生成モジュールと、
    前記子プロセスオブジェクトがネットワークデータパケットを入力又は出力することが検出される場合、前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するようにオペレーティングシステムカーネル層を促すように構成された第1のトラフィック制限モジュールと
    を含むシステム。
  12. 前記子プロセスは子プロセス識別子を有し、及び前記システムは、前記子プロセスオブジェクトに対応するトラフィック制限規則を生成するように前記オペレーティングシステムカーネル層を促すために、前記親プロセスオブジェクトを用いることにより、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大I/O帯域幅閾値を前記オペレーティングシステムカーネル層に送信するように構成された情報送信モジュールであって、前記トラフィック制限規則は、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大I/O帯域幅閾値を含む、情報送信モジュールを更に含む、請求項11に記載のシステム。
  13. 前記第1のトラフィック制限モジュールは、
    前記親プロセスオブジェクトを用いることにより、ソケット記述子fdを予め生成するように構成された記述子取得サブモジュールあって、前記ソケットfdは、前記子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、記述子取得サブモジュールと、
    前記親プロセスオブジェクトを用いることにより、前記ソケットfd及び前記対応する子プロセスオブジェクトの前記子プロセス識別子を前記オペレーティングシステムカーネル層に送信し、且つ前記親プロセスオブジェクトを用いることにより、前記対応する子プロセスに前記ソケットfdを送信し、且つ前記子プロセスオブジェクトが前記ソケットfdを用いることによってネットワークデータパケットを入力又は出力することが検出される場合、前記オペレーティングシステムカーネル層を、以下の操作:
    前記オペレーティングシステムカーネル層により、前記ソケットfd及び前記対応する子プロセスオブジェクトの前記子プロセス識別子に従って対応するソケット構造体を取得する操作と、
    前記ネットワークデータパケットが前記ソケット構造体を通過する場合、前記子プロセス識別子を前記ネットワークデータパケットに追加する操作と、
    前記子プロセスオブジェクトに対応する前記最大I/O帯域幅閾値を取得するために、前記プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限する操作と
    を完了するように促すように構成された記述子送信サブモジュールと
    を含む、請求項12に記載のシステム。
  14. 前記子プロセスオブジェクトの前記最大I/O帯域幅閾値を適応的に調整するように構成された調整モジュールであって、
    親レベルの最大I/O帯域幅閾値を決定するように構成された親レベル閾値決定サブモジュールであって、前記親レベルは、サービスオブジェクト又は物理マシンを含む、前記子プロセスオブジェクトのレベルを超えるオブジェクトである、親レベル閾値決定サブモジュールと、
    前記親レベルに含まれる全ての子プロセスオブジェクトの最大I/O帯域幅閾値の和が前記親レベルの前記最大I/O帯域幅閾値より大きい場合、前記子プロセスオブジェクトの数に従って、前記子プロセスオブジェクトのそれぞれのために割り当てられる第1の平均帯域幅閾値を計算するように構成された平均値計算サブモジュールと、
    前記子プロセスオブジェクトの前記最大I/O帯域幅閾値が前記第1の平均帯域幅閾値未満である場合、前記子プロセスオブジェクトの前記最大I/O帯域幅閾値を不変に維持するように構成された閾値維持サブモジュールと、
    前記子プロセスオブジェクトの前記最大I/O帯域幅閾値が前記第1の平均帯域幅閾値より大きい場合、第2の平均帯域幅閾値を計算し、且つ前記子プロセスオブジェクトの前記最大I/O帯域幅閾値を前記第2の平均帯域幅閾値に調整するように構成された閾値調整サブモジュールであって、前記第2の平均帯域幅閾値は、以下の方法:(前記親レベルの前記最大I/O帯域幅閾値−最大I/O帯域幅閾値が前記第1の平均帯域幅閾値未満である子プロセスオブジェクトの全ての最大I/O帯域幅閾値)/(最大I/O帯域幅閾値が前記第1の平均帯域幅閾値より大きい子プロセスオブジェクトの数)で計算される、閾値調整サブモジュールと
    を更に含む、調整モジュールを更に含む、請求項11に記載のシステム。
  15. データトラフィックを制限するためのシステムであって、
    オペレーティングシステムカーネル層において、1つ又は複数の子プロセスオブジェクトに対応し、且つ親プロセスオブジェクトによって送信された最大入力/出力(I/O)帯域幅閾値を受信するように構成された閾値受信モジュールであって、前記親プロセスオブジェクトは、サービスオブジェクトと関連付けられ、前記子プロセスオブジェクトは、前記親プロセスオブジェクトを用いることによって生成されたプロセスオブジェクトであり、及び前記最大I/O帯域幅閾値は、前記子プロセスオブジェクトが前記親プロセスオブジェクトによって生成される場合、前記子プロセスオブジェクトのために割り当てられる帯域幅閾値である、閾値受信モジュールと、
    前記子プロセスオブジェクトによって送信された入力又は出力ネットワークデータパケットを受信すると、前記子プロセスオブジェクトに対応する前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するように構成された第2のトラフィック制限モジュールと
    を含むシステム。
  16. 前記子プロセスは子プロセス識別子を有し、及び前記システムは、前記子プロセスオブジェクトに対応するトラフィック制限規則を生成するように構成された規則生成モジュールであって、前記トラフィック制限規則は、前記子プロセスオブジェクトの前記子プロセス識別子及び前記対応する最大I/O帯域幅閾値を含む、規則生成モジュールを更に含む、請求項15に記載のシステム。
  17. 前記第2のトラフィック制限モジュールは、
    前記親プロセスオブジェクトによって送信される予め生成されたソケットfd及び前記対応する子プロセスオブジェクトの前記子プロセス識別子を受信するように構成された情報受信サブモジュールであって、前記ソケットfdは、前記子プロセスオブジェクトがネットワーク接続ソケットを生成する場合に要求される情報である、情報受信サブモジュールと、
    前記ソケットfd及び前記対応する子プロセスオブジェクトの前記子プロセス識別子に従って対応するソケット構造体を取得するように構成されたソケット取得サブモジュールと、
    前記ソケットfdを用いることにより、前記子プロセスオブジェクトによって入力又は出力されるネットワークデータパケットを受信し、且つ前記ネットワークデータパケットが前記ソケット構造体を通過する場合、前記子プロセス識別子を前記ネットワークデータパケットに追加するように構成された識別子追加サブモジュールと、
    前記子プロセスオブジェクトに対応する前記最大I/O帯域幅閾値を取得するために、前記子プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索し、且つ前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットのデータトラフィックを制限するように構成されたトラフィック制限サブモジュールと
    を含む、請求項16に記載のシステム。
  18. 前記トラフィック制限サブモジュールは、
    前記ネットワークデータパケットの実際のデータトラフィックを取得するように構成された実際トラフィック取得ユニットと、
    前記対応する最大I/O帯域幅閾値を取得するために、前記子プロセス識別子に基づいて、前記ネットワークデータパケットと一致するトラフィック制限規則を検索するように構成された規則検索ユニットと、
    前記実際のデータトラフィックが前記最大I/O帯域幅閾値未満である場合、前記実際のデータトラフィックに従って前記ネットワークデータパケットを送信するように構成された第1の送信ユニットと、
    前記実際のデータトラフィックが前記最大I/O帯域幅閾値より大きい場合、前記最大I/O帯域幅閾値に従って前記ネットワークデータパケットを送信するように構成された第2の送信ユニットと
    を含む、請求項17に記載のシステム。
  19. 前記実際のデータトラフィックが前記最大I/O帯域幅閾値より大きい場合、前記最大I/O帯域幅閾値を超える前記実際のデータトラフィックにおける残りのデータトラフィックに対応するデータを事前設定サイズのバッファに配置するように構成されたバッファモジュールと、
    前記バッファに格納されたデータ量が前記事前設定サイズである場合、エラープロンプトを前記子プロセスオブジェクトに送信するように構成されたエラープロンプト送信モジュールと
    を更に含む、請求項18に記載のシステム。
  20. 前記子プロセスオブジェクトが削除されることが検出される場合、前記対応するトラフィック制限規則を削除するように構成された規則削除モジュールを更に含む、請求項16に記載のシステム。
JP2018506868A 2015-07-27 2016-08-02 データトラフィックを制限するための方法及びシステム Active JP6783850B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201510447139 2015-07-27
CN201510491100.3 2015-08-11
CN201510491100.3A CN106411558B (zh) 2015-07-27 2015-08-11 一种数据流量限制的方法及系统
PCT/CN2016/092818 WO2017024965A1 (zh) 2015-08-11 2016-08-02 一种数据流量限制的方法及系统

Publications (2)

Publication Number Publication Date
JP2018527668A true JP2018527668A (ja) 2018-09-20
JP6783850B2 JP6783850B2 (ja) 2020-11-11

Family

ID=58007994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018506868A Active JP6783850B2 (ja) 2015-07-27 2016-08-02 データトラフィックを制限するための方法及びシステム

Country Status (2)

Country Link
JP (1) JP6783850B2 (ja)
CN (1) CN106411558B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459774A (zh) * 2019-01-21 2020-07-28 中国移动通信有限公司研究院 一种应用程序的流量的获取方法、装置、设备及存储介质
CN115712544A (zh) * 2022-11-24 2023-02-24 杭州中电安科现代科技有限公司 一种监控系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971532B (zh) * 2018-09-30 2023-07-21 阿里巴巴集团控股有限公司 一种网络资源管理方法、装置及设备
CN111328021B (zh) * 2018-12-14 2021-08-27 中国移动通信集团河南有限公司 一种面向物联网防控的超业务场景预警方法及系统
CN109462663B (zh) * 2018-12-24 2022-04-15 出门问问创新科技有限公司 一种限制系统资源占用的方法、语音交互系统及存储介质
CN109756490B (zh) * 2018-12-26 2021-09-21 新华三技术有限公司 一种mdc实现方法及装置
CN112783641A (zh) * 2019-11-11 2021-05-11 马上消费金融股份有限公司 一种服务接口流控方法及装置
CN111277640B (zh) * 2020-01-17 2022-03-01 平安科技(深圳)有限公司 用户请求处理方法、装置、系统、计算机设备和存储介质
CN111722979B (zh) * 2020-06-10 2024-02-13 北京百度网讯科技有限公司 质量监测方法、装置、服务器及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9392291B2 (en) * 2007-10-15 2016-07-12 Chih-Ta Star Sung Method and apparatus of temporary image frame compression
KR101179628B1 (ko) * 2009-03-05 2012-09-04 한국전자통신연구원 구간 대역폭을 제공하는 디스크 입출력 제어 방법 및 시스템
CN103533032B (zh) * 2013-09-26 2019-03-05 北京奇虎科技有限公司 带宽调节装置及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459774A (zh) * 2019-01-21 2020-07-28 中国移动通信有限公司研究院 一种应用程序的流量的获取方法、装置、设备及存储介质
CN111459774B (zh) * 2019-01-21 2023-05-12 中国移动通信有限公司研究院 一种应用程序的流量的获取方法、装置、设备及存储介质
CN115712544A (zh) * 2022-11-24 2023-02-24 杭州中电安科现代科技有限公司 一种监控系统
CN115712544B (zh) * 2022-11-24 2024-04-12 杭州中电安科现代科技有限公司 一种监控系统

Also Published As

Publication number Publication date
JP6783850B2 (ja) 2020-11-11
CN106411558B (zh) 2020-02-21
CN106411558A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
JP2018527668A (ja) データトラフィックを制限するための方法及びシステム
US10445140B1 (en) Serializing duration-limited task executions in an on demand code execution system
KR102199278B1 (ko) 가속 자원 처리 방법 및 장치, 및 네트워크 기능 가상화 시스템
US11734073B2 (en) Systems and methods for automatically scaling compute resources based on demand
US10560385B2 (en) Method and system for controlling network data traffic in a hierarchical system
US20170031622A1 (en) Methods for allocating storage cluster hardware resources and devices thereof
US10230591B2 (en) Network resource governance in multi-tenant datacenters
US9785522B2 (en) Adaptive datacenter topology for distributed frameworks job control through network awareness
US11561817B2 (en) High availability for virtual network functions
JP6881575B2 (ja) 資源割当システム、管理装置、方法およびプログラム
EP4002138A1 (en) Native cloud computing via network segmentation
JP2015115059A (ja) クラウド・コンピューティング環境を動的に変更する方法、情報処理システム、およびコンピュータ・プログラム
US9495269B1 (en) Mobility validation by trial boot using snap shot
US11792275B2 (en) Dynamic connection capacity management
US20200186475A1 (en) Network resource management for hyper-converged infrastructures
US20150058474A1 (en) Quality of service agreement and service level agreement enforcement in a cloud computing environment
CN115396377B (zh) 对象存储的服务质量优化方法、装置、设备及存储介质
WO2018054271A1 (zh) 一种数据传输方法及装置
US8958420B1 (en) Methods and apparatus for virtualizing switch control plane engine
Xu et al. Stateful serverless application placement in MEC with function and state dependencies
US9998377B2 (en) Adaptive setting of the quantized congestion notification equilibrium setpoint in converged enhanced ethernet networks
CN113760549A (zh) 一种pod部署方法及装置
KR20160025926A (ko) 가상 응용서버들로 부하를 분산하는 장치 및 방법
US20200278889A1 (en) Task management using a virtual node
US10630554B1 (en) Input/output (I/O) performance of hosts through bi-directional bandwidth feedback optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200820

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201022

R150 Certificate of patent or registration of utility model

Ref document number: 6783850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250