JP2020529171A - トラフィック測定方法、デバイス、およびシステム - Google Patents

トラフィック測定方法、デバイス、およびシステム Download PDF

Info

Publication number
JP2020529171A
JP2020529171A JP2020505776A JP2020505776A JP2020529171A JP 2020529171 A JP2020529171 A JP 2020529171A JP 2020505776 A JP2020505776 A JP 2020505776A JP 2020505776 A JP2020505776 A JP 2020505776A JP 2020529171 A JP2020529171 A JP 2020529171A
Authority
JP
Japan
Prior art keywords
data
measurement
packet
flow
measurement target
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
JP2020505776A
Other languages
English (en)
Other versions
JP7039685B2 (ja
Inventor
群 黄
群 黄
▲潤▼▲輝▼ 李
▲潤▼▲輝▼ 李
勇 黄
勇 黄
弓 ▲張▼
弓 ▲張▼
柏晴 李
柏晴 李
▲ル▼ ▲唐▼
▲ル▼ ▲唐▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2020529171A publication Critical patent/JP2020529171A/ja
Application granted granted Critical
Publication of JP7039685B2 publication Critical patent/JP7039685B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本出願の実施形態は、リソースオーバーヘッドを低減し、ネットワークスループットを改善するためのトラフィック測定方法、デバイス、およびシステムを提供し、通信技術の分野に関する。具体的な解決策は次のとおりであり、すなわち、パケット処理デバイスがバッファを備え、パケット処理デバイスは測定対象パケットを取得する。バッファ内の占有記憶空間が事前設定閾値未満である場合、パケット処理デバイスは、測定対象パケットの測定対象情報をバッファに書き込み、測定対象情報が測定対象パケットのフロー識別子と測定対象パケットのトラフィック量とを含み、バッファから測定対象情報を読み取り、測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける測定対象パケットに対応するa個のデータを変更し、aが正の整数である。あるいは、バッファ内の占有記憶空間が事前設定閾値以上である場合、パケット処理デバイスは、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更し、wは正の整数であり、wはa未満である。本出願の実施形態はトラフィック測定に使用される。

Description

本出願は、2017年8月4日に中国専利局に出願された「TRAFFIC MEASUREMENT METHOD,DEVICE,AND SYSTEM」と題する中国特許出願第201710662793.7号の優先権を主張するものであり、同中国特許出願は、参照によりその全体が本明細書に組み込まれる。
本出願の実施形態は、通信技術の分野に関し、詳細には、トラフィック測定方法、デバイス、およびシステムに関する。
ビッグデータ技術および人工知能技術の進歩は、ネットワークインテリジェンスの開発を促進する。ネットワークインテリジェンスの基礎は、ネットワーク規模のデータ測定である。ネットワーク規模のデータ測定は、各パケットに基づいて実行される情報の抽象化および情報に関する統計の収集を必要とする。
現在、従来技術には、スケッチベース(sketch−based)アルゴリズムに基づくトラフィック測定技術が存在する。図1に示されるように、sketch−basedアルゴリズムでは、測定対象標識に関して高精度クエリを維持するために、大量の高次元データ情報が低次元線形部分空間にマッピングされ、低次元線形部分空間のデータ構造に対して動作が実行され得る。線形部分空間は、指定されたデータ構造で形成され、通常は2次元またはそれより高次元の行列である。
sketch−basedアルゴリズムは、限られたクエリを通常サポートする。例えば、「フローfのサイズが閾値を超えているか否か」を問い合わせるために、sketch−basedアルゴリズムの中でもCount−Min Sketchアルゴリズムを使用することができるが、「閾値を超えるすべてのフローを見つける」ためにCount−Min Sketchアルゴリズムを使用する場合は、すべての可能なデータフローを数え上げる必要がある。しかしながら、大量のデータフローを数え上げることは計算の観点から許されない。sketch−basedアルゴリズムのクエリ能力を改善するには、多くのsketch−basedアルゴリズムが追加のデータ構造を維持する必要があり、したがって、追加のリソースオーバーヘッドが発生する。加えて、行う測定に応じて、異なるsketch−based測定アルゴリズムが必要とされる。1つの実際の測定タスクで様々な測定を行う必要がある場合、複数のsketch−basedアルゴリズムが同時にデプロイされる必要がある。複数のsketch−basedアルゴリズムを同時に実行すると、非常に大きいリソースオーバーヘッドが発生する。
sketch−basedアルゴリズムは大きなリソースオーバーヘッドおよび比較的低い処理効率をもたらすため、大量の測定されていないパケットが通常蓄積され、パケット測定に大量のリソースが使用される。その結果、正常なパケット転送が影響を受け、ネットワークスループットが比較的低くなる。
本出願の実施形態は、リソースオーバーヘッドを低減し、ネットワークスループットを改善するためのトラフィック測定方法、デバイス、およびシステムを提供する。
上記の目的を達成するために、以下の技術的な解決策が本出願の実施形態において使用される。
第1の態様によれば、本出願の一実施形態は、パケット処理デバイスに適用されるトラフィック測定方法を提供し、パケット処理デバイスはバッファを備え、本方法は以下のステップ、すなわち、パケット処理デバイスによって、測定対象パケットをまず取得するステップと、バッファ内の占有記憶空間が事前設定閾値未満である場合、パケット処理デバイスによって、測定対象パケットの測定対象情報をバッファに書き込むステップであって、測定対象情報が、測定対象パケットのフロー識別子および測定対象パケットのトラフィック量を含む、ステップと、パケット処理デバイスによって、バッファから測定対象情報を次いで読み取るステップと、パケット処理デバイスによって、測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける測定対象パケットに対応するa個のデータをさらに変更するステップであって、aが正の整数である、ステップとを含む、またはバッファ内の占有記憶空間が事前設定閾値以上である場合、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更するステップであって、wが正の整数であり、wがa未満である、ステップとを含む。
このように、wはa未満であるため、測定対象パケットを処理するために第2のアルゴリズムが使用される場合、第1のアルゴリズムが使用される場合よりも少ない個数だけ、測定データにおける測定対象パケットに対応するデータを変更すれば済む。したがって、第2のアルゴリズムを使用することにより測定対象パケットを処理することは、より高速かつ効率的であり、より小さいリソースオーバーヘッドをもたらす。パケット処理デバイスは、第1のアルゴリズムに基づいて測定対象パケットを処理する際のパケット処理デバイスの負荷が比較的重いか否かを判定するために、バッファが比較的いっぱいであるか否かを判定し、その結果、第1のアルゴリズムに基づいて測定対象パケットを処理する際のパケット処理デバイスの負荷が比較的重い場合、パケット処理デバイスは、より高速な第2のアルゴリズムを使用することにより測定対象パケットを処理するように切り替え、これにより、正常なパケット転送サービスを確保し、ネットワークスループットを改善する。
第1の態様に関連して、可能な実装形態では、a個のデータはa個のカウンタの値であり、w個のデータはw個のカウンタの値である。
このように、測定対象パケットの処理中に、パケット処理デバイスによって変更される第1の測定データおよび第2の測定データにおけるデータは、具体的にはカウンタの値である。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、第1のアルゴリズムはハッシュ関数を含み、第1の測定データはc個の場所におけるデータを含み、cは正の整数である。パケット処理デバイスによって、測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける測定対象パケットに対応するa個のデータを変更するステップは、パケット処理デバイスによって、測定対象パケットのフロー識別子およびハッシュ関数に基づいて、c個の場所からu個の場所を判定するステップであって、uが正の整数であり、uがc以下である、ステップと、パケット処理デバイスによって、測定対象パケットのトラフィック量に基づいて、u個の場所におけるa個のデータを変更するステップであって、uがa以下である、ステップとを含む。
換言すれば、測定対象パケットの処理中に、パケット処理デバイスは、u個の場所におけるa個のデータを変更する。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、バッファから測定対象情報を読み取るステップの後、本方法は、バッファから測定対象パケットの測定対象情報を削除するステップをさらに含む。
このように、バッファは、新しく取得された測定対象パケットの測定対象情報を格納するために空間を解放することができる。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルがパケット処理デバイスに格納され、第2の測定データはフローテーブルにおけるデータを含み、フローテーブルはフロー識別子と第1のデータrとの間の対応関係を含む。パケット処理デバイスによって、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更するステップは、測定対象情報および第2のアルゴリズムに基づいて、測定対象パケットに対応し、かつ第2の測定データにある第1のデータrfを変更するステップを含む。
この場合、パケット処理デバイスは、測定対象パケットに対応し、かつ第1の測定データにあるデータを変更する。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、パケット処理デバイスによって、測定対象情報および第2のアルゴリズムに基づいて、測定対象パケットに対応し、かつ第2の測定データにある第1のデータrfを変更するステップは、フローテーブルが測定対象パケットのフロー識別子fを含む場合、測定対象パケットに対応し、かつフローテーブルにある第1のデータrfを、測定対象パケットに対応する第1のデータrfと測定対象パケットのトラフィック量との和に更新するステップを含む。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルがパケット処理デバイスに格納され、フローテーブルはフロー識別子と第1のデータrおよび第2のデータdのそれぞれとの間の対応関係を含む。フローテーブルが測定対象パケットのフロー識別子fを含まず、フローテーブルがいっぱいである場合、パケット処理デバイスによって、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更するステップの前に、本方法は、デクリメント値
Figure 2020529171
を計算するステップと、フローテーブルに含まれる各フロー識別子に対応する第1のデータrを、第1のデータrとデクリメント値
Figure 2020529171
との差に更新するステップと、フローテーブルに含まれる各フロー識別子に対応する第2のデータdを、第2のデータdとデクリメント値
Figure 2020529171
との和に更新するステップと、第1の事前設定条件を満たすフロー識別子と第1のデータrおよび第2のデータdのそれぞれとの間の対応関係をフローテーブルから削除するステップであって、第1の事前設定条件を満たすフロー識別子が、対応する更新された第1のデータrが0以下であるフロー識別子である、ステップとをさらに含む。
第1のデータrの値は、フロー識別子に対応するデータフローのトラフィック量を示し得る。フローテーブルが測定対象パケットのフロー識別子fを含まず、かつフローテーブルがいっぱいである場合、パケット処理デバイスは、対応する第1のデータrが比較的小さい1つまたは複数のフロー識別子をフローテーブルから削除し得る。フローテーブルの空間は、比較的トラフィック量の多いデータフローのフロー識別子を格納するために使用されるように削除動作によって解放される。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルはフロー識別子と第1のデータr、第2のデータd、および第3のデータeのそれぞれとの間の対応関係を含む。フローテーブルが測定対象パケットのフロー識別子fを含まず、フローテーブルがいっぱいである場合、パケット処理デバイスによって、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更するステップは、測定対象パケットのトラフィック量がデクリメント値
Figure 2020529171
よりも大きい場合、測定対象パケットのトラフィック量とデクリメント値
Figure 2020529171
との差を、測定対象パケットに対応する第1のデータrfに設定するステップと、デクリメント値
Figure 2020529171
を、測定対象パケットに対応する第2のデータdfに設定するステップと、総デクリメントトラフィック量Eを、測定対象パケットに対応する第3のデータefに設定するステップと、測定対象パケットのフロー識別子fと、測定対象パケットに対応する第1のデータrf、測定対象パケットに対応する第2のデータdf、および測定対象パケットに対応する第3のデータefのそれぞれとの間の対応関係をフローテーブルに挿入するステップとを含む。
フローテーブルが測定対象パケットのフロー識別子fを含まず、かつフローテーブルがいっぱいである場合、パケット処理デバイスは、削除動作を実行した後、測定対象パケットのフロー識別子をフローテーブルに挿入し得る。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、本方法は、パケット処理デバイスによって、総デクリメントトラフィック量Eを、総デクリメントトラフィック量Eとデクリメント値
Figure 2020529171
との和に更新するステップをさらに含む。
削除動作の後、デクリメント値は総デクリメントトラフィック量Eに加えられ得る。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、パケット処理デバイスによって、デクリメント値
Figure 2020529171
を計算するステップは、測定対象パケットのトラフィック量およびフローテーブルに含まれるフロー識別子に対応する第1のデータrを値の順に並べ替え、並べ替えた後の最初の2つの値をR1およびR2として、また並べ替えた後の最後の値をRkとして示す、ステップと、デクリメント値
Figure 2020529171
をR1、R2、Rk、および次式
Figure 2020529171
に基づいて計算するステップであって、
Figure 2020529171
Figure 2020529171
であり、δは定数を表す、ステップとを含む。
このように、すべての第1のデータrの値に基づいてフィッティングによりロングテール分布が取得され、フィッティングにより取得された分布から閾値(つまり、デクリメント値)を選択することによりロングテール部分が削除される。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルがパケット処理デバイスに格納され、フローテーブルはフロー識別子と第1のデータrおよび第3のデータeのそれぞれとの間の対応関係を含む。フローテーブルが測定対象パケットのフロー識別子fを含まず、フローテーブルがいっぱいではない場合、パケット処理デバイスによって、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更するステップは、測定対象パケットのトラフィック量を、測定対象パケットに対応する第1のデータrfに設定するステップと、総デクリメントトラフィック量Eを、測定対象パケットに対応する第3のデータefに設定するステップと、測定対象パケットのフロー識別子fと、測定対象パケットに対応する第1のデータrfおよび測定対象パケットに対応する第3のデータefのそれぞれとの間の対応関係をフローテーブルに挿入するステップとを含む。
フローテーブルが測定対象パケットのフロー識別子fを含まず、かつフローテーブルがいっぱいではない場合、測定対象パケットに対応するフロー識別子はフローテーブルに挿入され得る。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルはエントリを含み、エントリは、フロー識別子と第1のデータr、第2のデータd、および第3のデータeのそれぞれとの間の対応関係を含み、第1のデータr、第2のデータd、および第3データeはそれぞれ3つのカウンタの値である。
このように、フロー識別子に対応する第1のデータr、第2のデータd、および第3のデータeは、具体的にはカウンタの値であり得る。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、第2の測定データはローカルな総トラフィック量を含み、バッファ内の占有記憶空間が事前設定閾値以上である場合、本方法は、パケット処理デバイスによって、ローカルな総トラフィック量を、ローカルな総トラフィック量と測定対象パケットのトラフィック量との和に更新するステップをさらに含む。
換言すれば、新しい測定対象パケットが取得されるたびに、パケット処理デバイスは、新しい測定対象パケットのトラフィック量をローカルな総トラフィック量に加え得る。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フロー識別子は5タプルであり、5タプルは、送信元インターネットプロトコル(internet protocol、IP)アドレスと、送信元ポートと、宛先IPアドレスと、宛先ポートと、トランスポート層プロトコルとを含む、またはフロー識別子は2タプルであり、2タプルは、送信元IPアドレスと宛先IPアドレスとを含む。
このように、データフローを識別するために使用されるフロー識別子は比較的柔軟であり得る。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、本方法は、パケット処理デバイスによって、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信するステップであって、第1の測定データおよび/または第2の測定データが、目的の測定データを計算するためにネットワークコントローラによって使用される、ステップをさらに含む。
このように、ネットワークコントローラは、受信した第1の測定データおよび/または第2の測定データに基づいて目的の測定データを計算し、他の何らかの処理を実行することができる。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、パケット処理デバイスによって、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信するステップは、事前設定期間に基づいて、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信するステップ、またはパケット処理デバイスによって、ネットワークコントローラによって送信された測定データ要求メッセージを受信し、測定データ要求メッセージに応じて、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信する、ステップを含む。
このように、パケット処理デバイスは、ネットワークコントローラに測定データを周期的に送信してもよいし、ネットワークコントローラから命令を受信した後にネットワークコントローラに測定データを送信してもよい。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、測定対象パケットのフロー識別子が目的のフロー識別子であり、測定対象パケットを取得するステップの前に、本方法は、ネットワークコントローラによって送信された命令メッセージを受信するステップであって、命令メッセージが目的のフロー識別子を含む、ステップをさらに含む。
このように、パケット処理デバイスは、目的のフロー識別子を持つ測定対象パケットのみについてトラフィック測定を実行する。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルに対応するデータ構造はハッシュテーブルまたはバイナリツリーである。
このように、フローテーブルは、ハッシュテーブルまたはバイナリツリーの形式で特に実装され得る。
第1の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、ソフトウェア定義ネットワーク(software defined network、SDN)ソフトウェアスイッチがパケット処理デバイス上に構成される。
このように、パケット処理デバイスは、具体的にはソフトウェア定義ネットワークSDNのデータプレーン上のデバイスであり得る。
第2の態様によれば、本出願の一実施形態は、ネットワークコントローラによって、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信するステップであって、第1の測定データが第1のアルゴリズムに基づいて取得され、第2の測定データが第2のアルゴリズムに基づいて取得され、mとnとは両方とも非負の整数である、ステップと、ネットワークコントローラによって、グローバルな第1の測定データを取得するためにm個の第1の測定データを組み合わせるステップと、ネットワークコントローラによって、グローバルな第2の測定データを取得するためにn個の第2の測定データを組み合わせるステップと、ネットワークコントローラによって、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて目的の測定データを計算するステップとを含む、トラフィック測定方法を提供する。
このように、ネットワークコントローラは、パケット処理デバイスによって報告された第1の測定データおよび第2の測定データに基づいて、ネットワーク内のトラフィックデータを包括的に計算できる。
第2の態様に関連して、可能な実装形態では、目的の測定データおよびグローバルな第1の測定データは同じデータ構造を有する。
このように、ネットワークコントローラによって取得された目的の測定データ、第1のアルゴリズムに基づいて取得された第1の測定データ、およびグローバルな第1の測定データは同じデータ構造を有する。ネットワークコントローラは、第2のアルゴリズムの削除動作で失われたトラフィック情報を回復するために、第2のアルゴリズムに基づいて取得されたグローバルな第2の測定データをグローバルな第1の測定データの形式に変換し、その結果、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて取得された目的の測定データは、第1のアルゴリズムに対応する測定精度と同等の測定精度を有することができると理解できる。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、第1の測定データのそれぞれがp行q列の要素を含む。ネットワークコントローラによって、グローバルな第1の測定データを取得するためにm個の第1の測定データを組み合わせるステップは、グローバルな第1の測定データを取得するために、m個の第1の測定データのものであり、かつ対応する場所にある各m個の要素を組み合わせるステップであって、グローバルな第1の測定データがp行q列の要素を含む、ステップを含む。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、第2の測定データのそれぞれがローカルな総トラフィック量およびフローテーブルを含み、フローテーブルは少なくとも1つのエントリを含み、エントリはフロー識別子と1対1の対応関係にある。ネットワークコントローラによって、グローバルな第2の測定データを取得するためにn個の第2の測定データを組み合わせるステップは、グローバルな総トラフィック量を取得するために、n個の第2の測定データにおけるn個のローカルな総トラフィック量を加えるステップと、グローバルなフローテーブルを取得するためにn個の第2の測定データに対応するn個のフローテーブルのエントリを組み合わせるステップであって、グローバルなフローテーブルにおいて、フロー識別子はエントリと1対1の対応関係にある、ステップとを含む。グローバルな総トラフィック量およびグローバルなフローテーブルは、グローバルな第2の測定データである。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、エントリはフロー識別子とフロー識別子に対応するトラフィックデータとを含む。ネットワークコントローラによって、n個の第2の測定データに対応するn個のフローテーブルのエントリを組み合わせるステップは、n個の第2の測定データに対応するn個のフローテーブルのエントリにおいて、同じフロー識別子を有する複数のエントリについて、複数のエントリをグローバルなフローテーブルの1つのエントリに組み合わせるために、複数のエントリにおけるトラフィックデータを加えるステップと、異なるフロー識別子を有するエントリのそれぞれをグローバルなフローテーブルの1つのエントリとして使用するステップとを含む。
このように、グローバルなフローテーブルにおいて、フロー識別子は同じエントリに対応する。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、ネットワークコントローラによって、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて目的の測定データを計算するステップは、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて最適化目的関数を構築するステップと、凸最適化アルゴリズムおよび最適化目的関数に基づいて目的の測定データを計算するステップであって、最適化目的関数の式が、minimize
Figure 2020529171
であり、最適化目的関数が次の制約、すなわち、制約1:T=N+sk(x+y)、制約2:|x|1+|y|1=V、および制約3:∀s∈H、rs+ds≦xs≦rs+ds+esを満たし、「minimize」は最適化目的関数を最小化する独立変数値の計算を表し、Tは目的の測定データを表し、Nはグローバルなフローテーブルを表し、Vはグローバルな総トラフィック量を表し、Hはグローバルな第1の測定データを表し、xはHに含まれるフロー識別子に対応するデータフローのトラフィック量を表し、xsはフロー識別子sに対応するデータフローのトラフィック量を表し、yは、Hに含まれないデータフローのものであり、かつ第2のアルゴリズムに基づいて測定されたデータフローのトラフィック量にあるトラフィック量を表し、x+yは第2のアルゴリズムに基づいて測定されたデータフローのトラフィック量を表し、sk(x+y)は入力としてx+yを使用することにより、また第1のアルゴリズムを呼び出すことにより取得された結果を表す。|T|は、Tの核型ノルムを表し、かつ行列のすべての特異値の和として定義され、|x|1は、ベクトルxのL1ノルムを表し、かつxのすべてのデータの絶対値の和として定義され、
Figure 2020529171
は、ベクトルyのフロベニウスノルムを表し、かつxのすべてのデータの二乗和として定義され、α、β、およびγの計算式はそれぞれ、
Figure 2020529171
Figure 2020529171
およびγ=10σyであり、PNおよびQNはそれぞれ行列Nの長さおよび幅を表し、η(N)はNのデータの平均を表し、mxおよびnxはそれぞれベクトルxの長さおよび幅を表し、σyはyのすべてのデータの標準偏差を表す、ステップとを含む。
一般的な凸最適化問題に対する閉形式の解はない、つまり、出力と入力との間の関数関係の式を明示的に与えることはできない。この解を見つける仕方においては、予想されるグローバルな最適解の代わりに使用するために、制約規則に基づいて特定の範囲内で探索することにより、近似的な局所最適解を見つけるための近似法が使用される。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、凸最適化アルゴリズムは、内点法、交互方向乗数法(alternating direction method of multipliers、ADMM)、または劣勾配アルゴリズムを含む。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、ネットワークコントローラによって、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて目的の測定データを計算するステップは、グローバルな第1の測定データ、グローバルな第2の測定データ、および次式:T=N+sk(x)に基づいて目的の測定データを計算するステップであって、Tは目的の測定データを表し、Nはグローバルなフローテーブルを表し、xはHに含まれるフロー識別子に対応するデータフローのトラフィック量を表し、xは第2のアルゴリズムに基づいて測定されたデータフローのトラフィック量を表し、sk(x)は、入力としてxを使用することにより、かつ第1のアルゴリズムを呼び出すことにより取得された結果を表す、ステップを含む。
このように、ネットワークコントローラは、xおよびNに基づいた簡単な計算によって目的の測定データを取得できる。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、グローバルなフローテーブルはエントリを含み、エントリはフロー識別子と第1のデータrおよび第2のデータdのそれぞれとの間の対応関係を含み、xに対応するデータフローのトラフィック量は、データフローのフロー識別子に対応する第1のデータrと第2のデータdとの和である。
このように、ネットワークコントローラは、rおよびdに基づいてxを取得し、xおよびNに基づいた簡単な計算によって目的の測定データを取得できる。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、グローバルなフローテーブルはエントリを含み、エントリはフロー識別子と第1のデータr、第2のデータd、および第3のデータeのそれぞれとの間の対応関係を含み、xに対応するデータフローのトラフィック量は、データフローのフロー識別子に対応する第1のデータrと第2のデータdと第3のデータeとの和である。
このように、ネットワークコントローラは、r、d、およびeに基づいてxを取得し、xおよびNに基づいた簡単な計算によって目的の測定データを取得できる。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、ネットワークコントローラによって、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信するステップは、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを周期的に受信するステップを含む。あるいは、ネットワークデバイスによって、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信するステップの前に、本方法は、各パケット処理デバイスに測定データ要求メッセージを送信するステップをさらに含む。
このように、ネットワークコントローラは、パケット処理デバイスによって送信された測定データを周期的に受信してもよいし、測定データを収集する必要があるときにパケット処理デバイスのそれぞれに測定データ要求メッセージを送信してもよい。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、ネットワークコントローラによって、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信するステップの前に、本方法は、各パケット処理デバイスに命令メッセージを送信するステップであって、命令メッセージが、測定対象パケット処理デバイスに対応する目的のフロー識別子を運ぶ、ステップをさらに含む。測定対象パケット処理デバイスが目的のフロー識別子に対応するということは以下を意味する、すなわち、測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローのラストホップデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローのファーストホップデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローの受信エンドデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローの送信エンドデバイスであることを意味する。
このように、ネットワークコントローラは、構成ポリシーを使用することによりパケット処理デバイスと目的のフロー識別子との間の対応関係を事前構成することができ、その結果、ネットワーク内の1つのパケットのトラフィック量が、複数のパケット処理デバイスによって測定および報告される代わりに、ネットワーク内の1つのパケット処理デバイスのみによって測定および報告される。したがって、ネットワーク内のパケット処理デバイスによって個別に測定されたパケットは互いに重複せず、これにより、測定の繰り返しを避け、正確なネットワークトラフィックの測定を実現する。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、ソフトウェア定義ネットワークSDNコントローラがネットワークコントローラ上に構成される。
このように、ネットワークコントローラは、具体的にはソフトウェア定義ネットワークSDNの制御プレーン上のコントローラであり得る。
第3の態様によれば、本出願の一実施形態は、少なくとも1つのプロセッサと、メモリと、バッファと、通信インターフェースと、バスとを備えるパケット処理デバイスを提供し、少なくとも1つのプロセッサ、メモリ、およびバッファはバスを使用することにより互いに接続される。通信インターフェースは、パケット処理デバイスがパケット転送デバイスまたはパケット受信デバイスであるときに、測定対象パケットを取得するように構成される。メモリは、命令を格納するように構成される。プロセッサは、以下の動作、すなわち、パケット処理デバイスがパケット送信デバイスである場合、測定対象パケットを取得する動作と、バッファ内の占有記憶空間が事前設定閾値未満である場合、測定対象パケットの測定対象情報をバッファに書き込む動作であって、測定対象情報が、測定対象パケットのフロー識別子および測定対象パケットのトラフィック量を含む、動作と、バッファから測定対象情報を読み取る動作と、測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける測定対象パケットに対応するa個のデータを変更する動作であって、aが正の整数である、動作とを実施する、またはバッファ内の占有記憶空間が事前設定閾値以上である場合、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更する動作であって、wが正の整数であり、wがa未満である、動作とを実施するためにメモリに格納された命令を呼び出すように構成される。バッファは、プロセッサが測定対象パケットの測定対象情報をバッファに書き込んだ後、測定対象情報を格納するように構成される。
第3の態様に関連して、可能な実装形態では、a個のデータはa個のカウンタの値であり、w個のデータはw個のカウンタの値である。
第3の態様および上述の可能な実装に関して、別の可能な実装では、第1のアルゴリズムはハッシュ関数を含み、第1の測定データはc個の場所におけるデータを含み、cは正の整数であり、プロセッサは、測定対象パケットのフロー識別子およびハッシュ関数に基づいて、c個の場所からu個の場所を判定し、uが正の整数であり、uがc以下であり、測定対象パケットのトラフィック量に基づいて、u個の場所におけるa個のデータを変更し、uがa以下である、ように特に構成される。
第3の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、通信インターフェースは、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信し、第1の測定データおよび/または第2の測定データが、目的の測定データを計算するためにネットワークコントローラによって使用される、ようにさらに構成される。
第3の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、測定対象パケットのフロー識別子が目的のフロー識別子であり、通信インターフェースは、測定対象パケットを取得する前に、ネットワークコントローラによって送信された命令メッセージを受信し、命令メッセージが目的のフロー識別子を含む、ようにさらに構成される。
第4の態様によれば、本出願の一実施形態は、少なくとも1つのプロセッサと、メモリと、通信インターフェースと、バスとを備えるネットワークコントローラを提供し、少なくとも1つのプロセッサおよびメモリはバスを使用することにより互いに接続される。通信インターフェースは、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信し、第1の測定データが第1のアルゴリズムに基づいて取得され、第2の測定データが第2のアルゴリズムに基づいて取得され、mとnとは両方とも非負の整数である、ように構成される。メモリは、命令を格納するように構成される。プロセッサは、以下の動作、すなわち、グローバルな第1の測定データを取得するためにm個の第1の測定データを組み合わせる動作と、グローバルな第2の測定データを取得するためにn個の第2の測定データを組み合わせる動作と、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて目的の測定データを計算する動作とを実施するためにメモリに格納された命令を呼び出すように構成される。
第4の態様に関連して、可能な実装形態では、目的の測定データおよびグローバルな第1の測定データは同じデータ構造を有する。
第4の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、第1の測定データのそれぞれがp行q列の要素を含み、プロセッサは、グローバルな第1の測定データを取得するために、m個の第1の測定データのものであり、かつ対応する場所にある各m個の要素を組み合わせ、グローバルな第1の測定データがp行q列の要素を含む、ように特に構成される。
第4の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、第2の測定データのそれぞれがローカルな総トラフィック量およびフローテーブルを含み、フローテーブルは少なくとも1つのエントリを含み、エントリはフロー識別子と1対1の対応関係にあり、プロセッサは、グローバルな総トラフィック量を取得するために、n個の第2の測定データにおけるn個のローカルな総トラフィック量を加え、グローバルなフローテーブルを取得するためにn個の第2の測定データに対応するn個のフローテーブルのエントリを組み合わせ、グローバルなフローテーブルにおいて、フロー識別子はエントリと1対1の対応関係にあり、グローバルな総トラフィック量およびグローバルなフローテーブルはグローバルな第2の測定データである、ように特に構成される。
第4の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、通信インターフェースは、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信する前に、各パケット処理デバイスに命令メッセージを送信し、命令メッセージが、測定対象パケット処理デバイスに対応する目的のフロー識別子を運ぶ、ようにさらに構成される。測定対象パケット処理デバイスが目的のフロー識別子に対応するということは以下を意味する、すなわち、測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローのラストホップデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローのファーストホップデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローの受信エンドデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローの送信エンドデバイスであることを意味する。
第5の態様によれば、本出願の一実施形態は、バッファと、取得ユニットと、書き込みユニットと、読み取りユニットと、第1の変更ユニットと、第2の変更ユニットとを備えるパケット処理デバイスを提供する。取得ユニットは、測定対象パケットを取得するように構成される。書き込みユニットは、バッファ内の占有記憶空間が事前設定閾値未満である場合、測定対象パケットの測定対象情報をバッファに書き込み、測定対象情報が測定対象パケットのフロー識別子と測定対象パケットのトラフィック量とを含む、ように構成される。バッファは、書き込みユニットが測定対象情報をバッファに書き込んだ後、測定対象情報を格納するように構成される。読み取りユニットは、バッファから測定対象情報を読み取るように構成される。第1の変更ユニットは、測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける測定対象パケットに対応するa個のデータを変更し、aは正の整数である、ように構成される。第2の変更ユニットは、バッファ内の占有記憶空間が事前設定閾値以上である場合、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更し、wは正の整数であり、wはa未満である、ように構成される。
第5の態様に関連して、可能な実装形態では、a個のデータはa個のカウンタの値であり、w個のデータはw個のカウンタの値である。
第5の態様および上述の可能な実装に関して、別の可能な実装では、第1のアルゴリズムはハッシュ関数を含み、第1の測定データはc個の場所におけるデータを含み、cは正の整数であり、第1の変更ユニットは、測定対象パケットのフロー識別子およびハッシュ関数に基づいて、c個の場所からu個の場所を判定し、uが正の整数であり、uがc以下であり、測定対象パケットのトラフィック量に基づいて、u個の場所におけるa個のデータを変更し、uがa以下である、ように特に構成される。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、本デバイスは、読み取りユニットがバッファから測定対象情報を読み取った後、バッファから測定対象パケットの測定対象情報を削除するように構成された削除ユニットをさらに備える。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルがパケット処理デバイスに格納され、第2の測定データはフローテーブルにおけるデータを含み、フローテーブルはフロー識別子と第1のデータrとの間の対応関係を含み、第2の変更ユニットは、測定対象情報および第2のアルゴリズムに基づいて、測定対象パケットに対応し、かつ第2の測定データにある第1のデータrfを変更するように特に構成される。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、第2の変更ユニットは、フローテーブルが測定対象パケットのフロー識別子fを含む場合、測定対象パケットに対応し、かつフローテーブルにある第1のデータrfを、測定対象パケットに対応する第1のデータrfと測定対象パケットのトラフィック量との和に更新するように特に構成される。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルは、フロー識別子と第1のデータrおよび第2のデータdのそれぞれとの間の対応関係を含み、本デバイスは、フローテーブルが測定対象パケットのフロー識別子fを含まず、かつフローテーブルがいっぱいである場合、第2の変更ユニットが測定対象情報および第2のアルゴリズムに基づいて第2の測定データにおける測定対象パケットに対応するw個のデータを変更するステップの前に、デクリメント値
Figure 2020529171
を計算し、フローテーブルに含まれる各フロー識別子に対応する第1のデータrを、第1のデータrとデクリメント値
Figure 2020529171
との差に更新し、フローテーブルに含まれる各フロー識別子に対応する第2のデータdを、第2のデータdとデクリメント値
Figure 2020529171
との和に更新し、第1の事前設定条件を満たすフロー識別子と第1のデータrおよび第2のデータdのそれぞれとの間の対応関係をフローテーブルから削除する、ように構成された処理ユニットをさらに備える。第1の事前設定条件を満たすフロー識別子は、対応する更新された第1のデータrが0以下であるフロー識別子である。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルは、フロー識別子と第1のデータr、第2のデータd、および第3のデータeのそれぞれとの間の対応関係を含み、第2の変更ユニットは、フローテーブルが測定対象パケットのフロー識別子fを含まず、かつフローテーブルがいっぱいである場合、測定対象パケットのトラフィック量がデクリメント値
Figure 2020529171
よりも大きい場合、測定対象パケットのトラフィック量とデクリメント値
Figure 2020529171
との差を、測定対象パケットに対応する第1のデータrfに設定し、デクリメント値
Figure 2020529171
を、測定対象パケットに対応する第2のデータdfに設定し、総デクリメントトラフィック量Eを、測定対象パケットに対応する第3のデータefに設定し、測定対象パケットのフロー識別子fと、測定対象パケットに対応する第1のデータrf、測定対象パケットに対応する第2のデータdf、および測定対象パケットに対応する第3のデータefのそれぞれとの間の対応関係をフローテーブルに挿入する、ように特に構成される。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、本デバイスは、総デクリメントトラフィック量Eを、総デクリメントトラフィック量Eとデクリメント値
Figure 2020529171
との和に更新するように構成された更新ユニットをさらに備える。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、処理ユニットは、測定対象パケットのトラフィック量およびフローテーブルに含まれるフロー識別子に対応する第1のデータrを値の順に並べ替え、並べ替えた後の最初の2つの値をR1およびR2として、また並べ替えた後の最後の値をRkとして示し、デクリメント値
Figure 2020529171
をR1、R2、Rk、および次式
Figure 2020529171
に基づいて計算し、
Figure 2020529171
Figure 2020529171
であり、δは定数を表す、ように特に構成される。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルは、フロー識別子と第1のデータrおよび第3のデータeのそれぞれとの間の対応関係を含み、第2の変更ユニットは、フローテーブルが測定対象パケットのフロー識別子fを含まず、かつフローテーブルがいっぱいではない場合、測定対象パケットのトラフィック量を、測定対象パケットに対応する第1のデータrfに設定し、総デクリメントトラフィック量Eを、測定対象パケットに対応する第3のデータefに設定し、測定対象パケットのフロー識別子fと、測定対象パケットに対応する第1のデータrfおよび測定対象パケットに対応する第3のデータefのそれぞれとの間の対応関係をフローテーブルに挿入する、ように特に構成される。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フローテーブルはエントリを含み、エントリは、フロー識別子と第1のデータr、第2のデータd、および第3のデータeのそれぞれとの間の対応関係を含み、第1のデータr、第2のデータd、および第3データeはそれぞれ3つのカウンタの値である。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、第2の測定データはローカルな総トラフィック量を含み、更新ユニットは、ローカルな総トラフィック量を、ローカルな総トラフィック量と測定対象パケットのトラフィック量との和に更新するようにさらに構成される。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、フロー識別子は5タプルであり、5タプルは、送信元インターネットプロトコルIPアドレスと、送信元ポートと、宛先IPアドレスと、宛先ポートと、トランスポート層プロトコルとを含む、またはフロー識別子は2タプルであり、2タプルは、送信元IPアドレスと宛先IPアドレスとを含む。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、本デバイスは、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信し、第1の測定データおよび/または第2の測定データが、目的の測定データを計算するためにネットワークコントローラによって使用される、ように構成された送信ユニットをさらに備える。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、送信ユニットは、事前設定期間に基づいて第1の測定データおよび/または第2の測定データをネットワークコントローラに送信するように特に構成される。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、本デバイスは、ネットワークコントローラによって送信された測定データ要求メッセージを受信するように構成された受信ユニットをさらに備える。送信ユニットは、第1の受信ユニットによって受信された測定データ要求メッセージに応じて、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信するように特に構成される。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、測定対象パケットのフロー識別子が目的のフロー識別子であり、受信ユニットは、取得ユニットが測定対象パケットを取得する前に、ネットワークコントローラによって送信された命令メッセージを受信し、命令メッセージが目的のフロー識別子を含む、ようにさらに構成される。
第6の態様によれば、本出願の一実施形態は、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信し、第1の測定データが第1のアルゴリズムに基づいて取得され、第2の測定データが第2のアルゴリズムに基づいて取得され、mとnとは両方とも非負の整数である、ように構成された受信ユニットと、グローバルな第1の測定データを取得するためにm個の第1の測定データを組み合わせるように構成された第1の組み合わせユニットと、グローバルな第2の測定データを取得するためにn個の第2の測定データを組み合わせるように構成された第2の組み合わせユニットと、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて目的の測定データを計算するように構成された計算ユニットとを備える、ネットワークコントローラを提供する。
第6の態様に関連して、可能な実装形態では、目的の測定データおよびグローバルな第1の測定データは同じデータ構造を有する。
第6の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、第1の測定データのそれぞれがp行q列の要素を含み、第1の組み合わせユニットは、グローバルな第1の測定データを取得するために、m個の第1の測定データのものであり、かつ対応する場所にある各m個の要素を組み合わせ、グローバルな第1の測定データがp行q列の要素を含む、ように特に構成される。
第6の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、第2の測定データのそれぞれがローカルな総トラフィック量およびフローテーブルを含み、フローテーブルは少なくとも1つのエントリを含み、エントリはフロー識別子と1対1の対応関係にあり、第2の組み合わせユニットは、グローバルな総トラフィック量を取得するために、n個の第2の測定データにおけるn個のローカルな総トラフィック量を加え、グローバルなフローテーブルを取得するためにn個の第2の測定データに対応するn個のフローテーブルのエントリを組み合わせ、グローバルなフローテーブルにおいて、フロー識別子はエントリと1対1の対応関係にあり、グローバルな総トラフィック量およびグローバルなフローテーブルはグローバルな第2の測定データである、ように特に構成される。
第6の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、エントリはフロー識別子とフロー識別子に対応するトラフィックデータとを含み、第2の組み合わせユニットは、n個の第2の測定データに対応するn個のフローテーブルのエントリにおいて、同じフロー識別子を有する複数のエントリについて、複数のエントリをグローバルなフローテーブルの1つのエントリに組み合わせるために、複数のエントリにおけるトラフィックデータを加え、異なるフロー識別子を有するエントリのそれぞれをグローバルなフローテーブルの1つのエントリとして使用する、ように特に構成される。
第6の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、計算ユニットは、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて最適化目的関数を構築し、凸最適化アルゴリズムおよび最適化目的関数に基づいて目的の測定データを計算する、ように特に構成される。最適化目的関数の式が、minimize
Figure 2020529171
であり、最適化目的関数が次の制約、すなわち、制約1:T=N+sk(x+y)、制約2:|x|1+|y|1=V、および制約3:∀s∈H、rs+ds≦xs≦rs+ds+esを満たし、「minimize」は最適化目的関数を最小化する独立変数値の計算を表し、Tは目的の測定データを表し、Nはグローバルなフローテーブルを表し、Vはグローバルな総トラフィック量を表し、Hはグローバルな第1の測定データを表し、xはHに含まれるフロー識別子に対応するデータフローのトラフィック量を表し、xsはフロー識別子sに対応するデータフローのトラフィック量を表し、yは、Hに含まれないデータフローのものであり、かつ第2のアルゴリズムに基づいて測定されたデータフローのトラフィック量にあるトラフィック量を表し、x+yは第2のアルゴリズムに基づいて測定されたデータフローのトラフィック量を表し、sk(x+y)は入力としてx+yを使用することにより、また第1のアルゴリズムを呼び出すことにより取得された結果を表し、|T|は、Tの核型ノルムを表し、かつ行列のすべての特異値の和として定義され、|x|1は、ベクトルxのL1ノルムを表し、かつxのすべてのデータの絶対値の和として定義され、
Figure 2020529171
は、ベクトルyのフロベニウスノルムを表し、かつxのすべてのデータの二乗和として定義され、α、β、およびγの計算式はそれぞれ、
Figure 2020529171
Figure 2020529171
およびγ=10σyであり、PNおよびQNはそれぞれ行列Nの長さおよび幅を表し、η(N)はNのデータの平均を表し、mxおよびnxはそれぞれベクトルxの長さおよび幅を表し、σyはyのすべてのデータの標準偏差を表す。
第6の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、計算ユニットは、グローバルな第1の測定データ、グローバルな第2の測定データ、および次式:T=N+sk(x)に基づいて目的の測定データを計算し、Tは目的の測定データを表し、Nはグローバルなフローテーブルを表し、xはHに含まれるフロー識別子に対応するデータフローのトラフィック量を表し、xは第2のアルゴリズムに基づいて測定されたデータフローのトラフィック量を表し、sk(x)は、入力としてxを使用することにより、かつ第1のアルゴリズムを呼び出すことにより取得された結果を表す、ように特に構成される。
第6の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、グローバルなフローテーブルはエントリを含み、エントリはフロー識別子と第1のデータrおよび第2のデータdのそれぞれとの間の対応関係を含み、xに対応するデータフローのトラフィック量は、データフローのフロー識別子に対応する第1のデータrと第2のデータdとの和である。
第6の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、エントリはフロー識別子と第1のデータr、第2のデータd、および第3のデータeのそれぞれとの間の対応関係を含み、xに対応するデータフローのトラフィック量は、データフローのフロー識別子に対応する第1のデータrと第2のデータdと第3のデータeとの和である。
第6の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、受信ユニットは、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを周期的に受信するように特に構成される。
第6の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、ネットワークコントローラは、測定データ要求メッセージを各パケット処理デバイスに送信するように構成された送信ユニットをさらに備える。
第6の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、送信ユニットは、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信ユニットが受信する前に、各パケット処理デバイスに命令メッセージを送信し、命令メッセージが、測定対象パケット処理デバイスに対応する目的のフロー識別子を運ぶ、ようにさらに構成される。測定対象パケット処理デバイスが目的のフロー識別子に対応するということは以下を意味する、すなわち、測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローのラストホップデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローのファーストホップデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローの受信エンドデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローの送信エンドデバイスであることを意味する。
第7の態様によれば、本出願の一実施形態は、1つまたは複数のプロセッサと1つまたは複数のメモリとを備えるパケット処理デバイスを提供する。1つまたは複数のメモリは、1つまたは複数のプロセッサに接続される。1つまたは複数のメモリはコンピュータプログラムコードを格納するように構成され、コンピュータプログラムコードはコンピュータ命令を含む。1つまたは複数のプロセッサがコンピュータ命令を実行すると、パケット処理デバイスは、第1の態様および第1の態様の実装形態のいずれか1つによるトラフィック測定方法を実行する。
第8の態様によれば、本出願の一実施形態は、1つまたは複数のプロセッサと1つまたは複数のメモリとを備えるネットワークコントローラを提供する。1つまたは複数のメモリは、1つまたは複数のプロセッサに接続される。1つまたは複数のメモリはコンピュータプログラムコードを格納するように構成され、コンピュータプログラムコードはコンピュータ命令を含む。1つまたは複数のプロセッサがコンピュータ命令を実行すると、ネットワークコントローラは、第2の態様および第2の態様の実装形態のいずれか1つによるトラフィック測定方法を実行する。
第9の態様によれば、本出願の一実施形態は、命令を含むコンピュータ可読記憶媒体を提供し、命令がパケット処理デバイスで実行されると、パケット処理デバイスは、第1の態様および第1の態様の実装形態のいずれか1つによるトラフィック測定方法を実行する。
第10の態様によれば、本出願の一実施形態は、命令を含むコンピュータ可読記憶媒体を提供し、命令がネットワークコントローラで実行されると、ネットワークコントローラは、第2の態様および第2の態様の実装形態のいずれか1つによるトラフィック測定方法を実行する。
第11の態様によれば、本出願の一実施形態は、命令を含むコンピュータプログラム製品を提供し、製品がパケット処理デバイスで実行されると、パケット処理デバイスは、第1の態様および第1の態様の実装形態のいずれか1つによるトラフィック測定方法を実行する。
第12の態様によれば、本出願の一実施形態は、命令を含むコンピュータプログラム製品を提供し、製品がネットワークコントローラで実行されると、ネットワークコントローラは、第2の態様および第2の態様の実装形態のいずれか1つによるトラフィック測定方法を実行する。
第13の態様によれば、本出願の一実施形態はシステムを提供し、本システムはネットワークコントローラと少なくとも1つのパケット処理デバイスとを備え、パケット処理デバイスは、第1の態様および第1の態様の実装形態のいずれか1つによるトラフィック測定方法を実行するように構成され、ネットワークコントローラは、第2の態様および第2の態様の実装形態のいずれか1つによるトラフィック測定方法を実行するように構成される。
第3の態様から第13の態様の有益な効果については、第1の態様および第2の態様の対応する説明を参照されたい。ここでは細部を繰り返し説明しない。
従来技術におけるsketch−basedアルゴリズムの原理図である。 本出願の一実施形態によるネットワークシステムの概略的なアーキテクチャ図である。 本出願の一実施形態によるパケット処理デバイスの概略構成図である。 本出願の一実施形態によるネットワークコントローラの概略構成図である。 本出願の一実施形態によるトラフィック測定方法の流れ図である。 本出願の一実施形態によるロックフリー循環キューの概略図である。 本出願の一実施形態によるマッピング関係の概略図である。 本出願の一実施形態による別のトラフィック測定方法の流れ図である。 本出願の一実施形態によるフローテーブルの概略図である。 本出願の一実施形態による変更プロセスの流れ図である。 本出願の一実施形態によるsketch−basedアルゴリズムとCPUクロックサイクル数との間の対応関係の図である。 本出願の一実施形態による別のトラフィック測定方法の流れ図である。 本出願の一実施形態による別のトラフィック測定方法の流れ図である。 本出願の一実施形態によるトラフィック測定方法とネットワークスループットとの間の対応関係の図である。 本出願の一実施形態によるトラフィック測定方法と再現率との間の対応関係の図である。 本出願の一実施形態によるトラフィック測定方法と誤検出率との間の対応関係の図である。 本出願の一実施形態によるトラフィック測定方法と相対誤差との間の対応関係の図である。 本出願の一実施形態による別のトラフィック測定方法と再現率との間の対応関係の図である。 本出願の一実施形態による別のトラフィック測定方法と誤検出率との間の対応関係の図である。 本出願の一実施形態による別のトラフィック測定方法と相対誤差との間の対応関係の図である。 本出願の一実施形態による別のパケット処理デバイスの概略構成図である。 本出願の一実施形態による別のネットワークコントローラの概略構成図である。 本出願の一実施形態による別のパケット処理デバイスの概略構成図である。 本出願の一実施形態による別のネットワークコントローラの概略構成図である。
理解を容易にするために、本出願の実施形態に関連するいくつかの概念の説明は、参考のための例として与えられている。詳細を以下に示す。
ローカルエリアネットワークは、エリア内の複数のコンピュータを相互接続することにより形成されるコンピュータグループである。
パケット送信エンドデバイスは、パケットを生成して送信するデバイスである。
パケット転送デバイスは、あるデバイスによって送信されたパケットを受信し、そのパケットを別のデバイスに転送するデバイスである。
パケット受信エンドデバイスは、パケットの宛先エンド受信デバイスである。
キューは、テーブルの前方(front)での削除動作およびテーブルの後方(rear)での挿入動作のみを許可する特別な線形テーブルである。
ソフトウェア定義ネットワークは、ネットワークデバイスの制御プレーンとデータプレーンとがネットワークトラフィックを柔軟に制御するために分離され、ネットワークをパイプラインとしてよりインテリジェントにすることを意味する。
以下、本出願の実施形態の技術的解決策を、本出願の実施形態における添付の図面を参照して説明する。本出願の実施形態の説明において、別段の指定のない限り、「/」は「または」を意味する。例えば、A/BはAまたはBを意味し得る。本明細書における「および/または」は、関連する対象を記述するための関連関係のみを記述し、3つの関係が含まれ得ることを表している。例えば、Aおよび/またはBは、以下の3つの場合、すなわちAのみが含まれる場合と、AとBとの両方が含まれる場合と、Bのみが含まれる場合とを表し得る。加えて、本出願の実施形態の説明において、「複数」とは、2つ以上を意味する。
本出願の実施形態におけるネットワークシステムの基本的な概略的なアーキテクチャ図については、図2を参照されたい。ネットワークシステム01は、少なくとも1つのパケット処理デバイス100とネットワークコントローラ200とを備え得る。例えば、ネットワークシステム01は、具体的にはローカルエリアネットワーク(例えば、企業ネットワークまたはキャンパスネットワーク)またはデータセンタネットワークであってもよいし、ワイドエリアネットワークなどの通信ネットワークであってもよい。パケット処理デバイス100は、パケットを送信、受信、または転送するように構成され、具体的には、ホスト、ルータ、またはスイッチなどのデバイスであり得る。ネットワークコントローラ200は、パケット処理デバイスおよびネットワーク内の別のデバイスを制御および管理するように構成される。
例えば、パケット処理デバイス100はスイッチである。図3aは、スイッチ10の概略構成図を提示している。スイッチ10は、ラインカードと転送モジュールとを備え得る。ラインカードは、ネットワーク回線とスイッチとの間のインターフェースであり得る。転送モジュールは、ラインカード間でパケットを送信するように構成される。
図3bは、ネットワークコントローラ200の概略構成図を提示している。ネットワークコントローラ200は、インターフェースと、ネットワーク機能モジュールと、命令転送モジュールと、ネットワーク監視および管理モジュールとを備え得る。ネットワークインターフェースは、ネットワーク管理者がネットワーク機能、例えば、リソース管理、経路計算、および制御ポリシーをデプロイおよび開発することを可能にする。ネットワーク機能モジュールは、様々なネットワーク管理および制御プログラムを含む。転送命令配信モジュールは、様々な管理および制御プログラムに対応する命令を、データプレーン上のスイッチおよびルータに配信する。ネットワーク監視および管理モジュールは、ネットワークの状態を監視するように構成され得る。
本出願の一実施形態はトラフィック測定方法を提供し、本方法は、図2に示されるネットワークシステムにおけるパケット処理デバイスおよびネットワークコントローラに関する。バッファがパケット処理デバイスに配置される。図4を参照すると、本方法は以下のステップを含み得る。
101.パケット処理デバイスは測定対象パケットを取得する。
測定対象パケットは、トラフィック量が測定されるパケットである。トラフィック量は、ネットワークでのパケットの送信中に生成されるトラフィックの量であり、具体的にはパケットのサイズ、例えばパケットのバイト数であり得る。パケットは、任意の形式または任意の定義のパケット、例えば、IPパケット、媒体アクセス制御(media access control、MAC)パケット、インターネット・コントロール・メッセージ・プロトコル(internet control message protocol、ICMP)パケット、伝送制御プロトコル(transmission control protocol、TCP)パケット、またはユーザ・データグラム・プロトコル(user datagram protocol、UDP)パケットを含み得る。
パケット処理デバイスが異なるデバイスである場合、パケット処理デバイスにより測定対象パケットを取得する方式も異なる。例えば、パケット処理デバイスがパケット送信エンドデバイスである場合、パケット処理デバイスは、具体的にはパケットを生成するホストであり得る。この場合、パケット処理デバイスは、ホスト上のプログラムによって生成されたネットワークパケットを直接取得できる。パケット処理デバイスがパケット受信エンドデバイスまたはパケット転送デバイスである場合、パケット処理デバイスが測定対象パケットを取得することは、パケット処理デバイスが別のデバイスから測定対象パケットを受信することを意味する。
ステップ101の後、処理を実行するために、すなわち測定対象パケットのトラフィック量を測定するために、ステップ102またはステップ105に進む。
102.バッファ内の占有記憶空間が事前設定閾値未満である場合、パケット処理デバイスは、測定対象パケットの測定対象情報をバッファに書き込み、測定対象情報が測定対象パケットのフロー識別子と測定対象パケットのトラフィック量とを含む。
フロー識別子は、測定対象パケットに対応するデータフローを識別するために使用される。異なるフロー識別子は、測定対象パケットの(測定対象パケットに対応する)異なるデータフローを示す。各測定対象パケットは1つのフロー識別子に対応していてもよく、各フロー識別子は複数の測定対象パケットに対応していてもよい。同様に、各測定対象パケットは1つのデータフローに対応していてもよく、各データフローは複数の測定対象パケットに対応していてもよい。
測定対象パケットの測定対象情報は、測定対象パケットのトラフィック量と、測定対象パケットに対応するフロー識別子とを含み得る。例えば、測定対象情報は、具体的には測定対象パケットにあり、かつトラフィック量を表すために使用されるフィールド、および測定対象パケットにあり、かつフロー識別子を表すために使用されるフィールドであり得る。あるいは、測定対象情報は、具体的には測定対象パケットのヘッダ情報であってもよく、ヘッダ情報は、トラフィック量を表すために使用されるフィールドと、フロー識別子を表すために使用されるフィールドとを含む。あるいは、測定対象情報は、具体的には測定対象パケットであってもよく、測定対象パケットは、トラフィック量を表すために使用されるフィールドと、フロー識別子を表すために使用されるフィールドとを含む。
事前設定閾値は、実際の要件に応じて設定されてよく、例えば90%であり得る。ステップ101の後、バッファ内の占有記憶空間が事前設定閾値未満である場合、すなわちバッファが完全にいっぱいではない場合、パケット処理デバイスは、測定対象パケットの測定対象情報を一時的に格納するために、測定対象パケットの測定対象情報をバッファに書き込むことができる。
例えば、バッファは数十または数百の測定対象パケットの測定対象情報を収容できる。バッファのサイズは、測定対象情報によって占有される空間のサイズの整数倍に設定され得る。例えば、測定対象情報が測定対象パケットのヘッダ情報であり、ヘッダ情報のサイズが17バイトである場合、バッファのサイズは17バイトの整数倍に設定されてよく、例えば1700バイトであり得る。このように、バッファは整数の数の完全な測定対象情報を収容できる。
現在の測定対象パケットが測定対象パケット1である場合、測定対象パケット1の測定対象情報がバッファに書き込まれる前に、バッファは空であってもよいし、バッファは別の測定対象パケットの測定対象情報を格納していてもよいことに留意されたい。
103.パケット処理デバイスはバッファから測定対象情報を読み取る。
ステップ102において測定対象パケット1の測定対象情報をバッファに書き込んだ後、パケット処理デバイスは、ステップ102においてバッファに書き込まれた測定対象パケット1の測定対象情報をバッファから読み取ることができる。
測定対象パケット1の測定対象情報がバッファに書き込まれる前にバッファが空である場合、パケット処理デバイスは、測定対象パケット1の測定対象情報をバッファに書き込んだ後、測定対象パケット1の測定対象情報を直接読み取ってもよい。あるいは、測定対象パケット1がバッファに書き込まれる前にバッファが別の測定対象パケットの測定対象情報を格納している場合、測定対象パケット1の測定対象情報をバッファに書き込んだ後、パケット処理デバイスは、別の測定対象パケットの測定対象情報をまず読み取り、測定対象パケット1の測定対象情報を次いで読み取ることができる。
例えば、一実装形態では、バッファにおけるデータ構造は具体的には先入れ先出しキューであり得る。このように、パケット処理デバイスは、測定対象パケットの測定対象情報がバッファに書き込まれる順に測定対象パケットを測定し得る。
104.パケット処理デバイスは、測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける測定対象パケットに対応するa個のデータを変更し、aは正の整数である。
第1の測定データは第1のアルゴリズムに対応している。第1の測定データは、第1のアルゴリズムに基づいて測定される少なくとも1つの測定対象パケットのトラフィック量を保存するために使用される。パケット処理デバイスが測定対象パケット1の測定対象情報をバッファから読み取った後、パケット処理デバイスは、第1のアルゴリズムならびに測定対象パケット1の測定対象情報にあるフロー識別子およびトラフィック量に基づいて、第1の測定データにおける測定対象パケット1に対応するa個のデータを変更することができる。
105.バッファ内の占有記憶空間が事前設定閾値以上である場合、パケット処理デバイスは、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更し、wは正の整数であり、wはa未満である。
第2の測定データは第2のアルゴリズムに対応している。第2の測定データは、第2のアルゴリズムに基づいて測定される少なくとも1つの測定対象パケットのトラフィック量を保存するために使用される。ステップ101の後、バッファ内の占有記憶空間が事前設定閾値以上である場合、すなわちバッファが比較的いっぱいである場合、パケット処理デバイスは、第2のアルゴリズムならびに測定対象パケット1の測定対象情報にあるフロー識別子およびトラフィック量に基づいて、第2の測定データにおける測定対象パケット1に対応するw個のデータを変更することができる。
本出願の本実施形態では、wはa未満であることに留意されたい。具体的には、測定対象パケットを処理するために第2のアルゴリズムが使用される場合、第1のアルゴリズムが使用される場合よりも少ない個数だけ、測定データにおける測定対象パケットに対応するデータを変更すれば済む。したがって、第2のアルゴリズムを使用することにより測定対象パケットを処理することは、より高速かつ効率的であり、より小さいリソースオーバーヘッドをもたらす。したがって、本出願の本実施形態では、バッファおよび第1のアルゴリズムを使用することにより測定対象パケットを処理する方式は、低速チャネル処理方式と呼ばれ、第2のアルゴリズムを使用することにより測定対象パケットを処理する方式は、高速チャネル処理方式と呼ばれ得る。
本出願の本実施形態における「測定対象パケットを処理すること」における「処理すること」は、測定対象パケットのフロー識別子に基づいて測定対象パケットのトラフィック量を収集または測定することであることに留意されたい。
具体的には、本出願の本実施形態では、測定対象パケットが取得された後、バッファが完全にいっぱいでない場合、パケット処理デバイスは、第1のアルゴリズムに基づいて測定対象パケットを処理し得る。しかしながら、バッファが比較的いっぱいである場合、このことは、測定対象パケットが第1のアルゴリズムに基づいて処理されるときに測定対象パケットが蓄積され、その結果、測定対象パケットを処理するタスクが第1のアルゴリズムに基づいて適時完了できないことを意味し得る。この場合、パケット処理デバイスは、第1のアルゴリズムが測定対象パケットを処理するために継続的に使用されるために大量の測定対象パケットが蓄積するのを防ぐために、高速の第2のアルゴリズムに基づいて測定対象パケットを測定することができ、それにより、占有リソースの過剰なオーバーヘッドを回避し、パケット処理デバイスの正常なパケット転送サービスへの影響とネットワークスループットへの影響とを回避する。
したがって、本出願の本実施形態において提供されるトラフィック測定方法によれば、第1のアルゴリズムに基づいて測定対象パケットを処理する際のパケット処理デバイスの負荷が比較的重いか否かを判定するために、バッファが比較的いっぱいであるか否かが判定され、その結果、第1のアルゴリズムに基づいて測定対象パケットを処理する際のパケット処理デバイスの負荷が比較的重い場合、パケット処理デバイスは、より高速な第2のアルゴリズムを使用することにより測定対象パケットを処理するように切り替え、これにより、正常なパケット転送サービスを確保し、ネットワークスループットを改善する。
本出願の本実施形態では、図5を参照すると、バッファに対応するデータ構造はロックフリー循環キューであり得る。リーダ(ライタ)は、それぞれの読み取り(書き込み)場所を記録する。読み取り(書き込み)動作が完了するたびに、場所は1ビットずつ前方に移動する。別の形式のバッファでは、通常、ロックを保持する動作を実行でき、ロックを保持しない動作を実行できない。別の動作がロックを解除するまで動作を実行できない。したがって、通常、読み取り動作と書き込み動作とをバッファで同時に実行することはできない。しかしながら、本出願の本実施形態で提供される図5に示されるロックフリー循環キューでは、通常、読み取り動作と書き込み動作とは同時に実行することができ、読み取り動作と書き込み動作とは、読み取り場所と書き込み場所とが互いに比較的近い場合にのみ同時に実行することはできない。したがって、ロックフリーの循環キューを使用することは、処理効率を向上させることができる。
本出願の本実施形態では、第1のアルゴリズムはハッシュ関数を含むことができ、第1の測定データはc個の場所におけるデータを含むことができ、ここでcは正の整数である。図6に示されるマッピング関係を参照すると、ステップ104において、パケット処理デバイスが、測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける測定対象パケットに対応するa個のデータを変更することは、以下のステップを含み得る。
1041.パケット処理デバイスは、測定対象パケットのフロー識別子およびハッシュ関数に基づいて、c個の場所からu個の場所を判定し、uは正の整数であり、uはc以下である。
1042.パケット処理デバイスは、測定対象パケットのトラフィック量に基づいて、u個の場所におけるa個のデータを変更する。
本明細書では、uはa以下である。具体的には、u個の場所のそれぞれがa個のデータの少なくとも1つに対応し得る。
本出願の本実施形態では、特定の実装形態は次のようになり得る、すなわち、ステップ104の第1のアルゴリズムに対応する第1の測定データにおけるa個のデータは、具体的にはa個のカウンタの値であり得、ステップ105の第2のアルゴリズムに対応する第2の測定データにおけるw個のデータは、具体的にはw個のカウンタの値であり得る。この場合、測定対象パケットの処理中に、第1のアルゴリズムを使用するにはa個のカウンタの値を更新する必要があり、第2のアルゴリズムを使用するにはw個のカウンタの値を更新する必要があり、wはa未満である。
本出願の本実施形態における第1のアルゴリズムは、比較的高い測定精度を有するアルゴリズムであり得、例えばsketch−basedアルゴリズムであり得る。具体的には、複数のタイプのsketch−basedアルゴリズムがあり得、例えばFlowRadarアルゴリズム、RevSketchアルゴリズム、UnivMonアルゴリズム、Deltoidアルゴリズム、TwoLevelアルゴリズム、FMアルゴリズム、kMinアルゴリズム、LCアルゴリズム、およびMRACアルゴリズムがあり得る。このように、従来技術と比較して、本出願の本実施形態で提供されるトラフィック測定方法によれば、sketch−basedアルゴリズムを使用することにより測定対象パケットを処理するタスクを適時完了できないとバッファを使用することにより判定された場合、測定対象パケットはより高速な処理速度の第2のアルゴリズムを使用することにより処理され、それにより、大量の測定対象パケットが蓄積するのを防ぎ、ネットワークスループットを改善する。
以下では説明のために、第1のアルゴリズムがsketch−basedアルゴリズムである例が使用される。
第1のアルゴリズムがsketch−basedアルゴリズムである場合、第1の測定データはsketchデータ構造に対応し得る。sketchデータ構造の概略図については、図6を参照されたい。sketchデータ構造における第1の測定データは、行列形式で表され得る。sketch−basedアルゴリズムでは、測定対象パケットのフロー識別子が抽出され、ハッシュ結果を取得するために複数のハッシュ関数に基づいて測定対象パケットのフロー識別子に対して計算が実行され、複数のセルが行列から選択され、選択されたセルのそれぞれにおけるデータが測定対象パケットのトラフィック量に基づいて更新される。一実装形態では、行列内の各セルが1つまたは複数のカウンタを含む。通常、セルにおけるカウンタの初期値は、変更されない限り0であり得る。別の実装形態では、行列内の各セルは、例えば、ビットデータ構造またはキー値マッピング構造にあり得る。
行列内の各セルが1つまたは複数のカウンタを含む場合、ステップ104でパケット処理デバイスによって変更されるa個のデータは、行列内の少なくとも1つのセルに対応するa個のカウンタの値であり得、aは通常は4以上である。
加えて、本出願の本実施形態で提供される測定アルゴリズムでは、パケット処理デバイスにデプロイされた複数の第1のアルゴリズムがあり得、すなわち、複数のsketch−basedアルゴリズムがパケット処理デバイスに同時にデプロイされ得、各sketch−basedアルゴリズムが1つのsketchデータ構造に対応しているため、1つの第1の測定データに対応している。ステップ104において、sketch−basedアルゴリズムごとに、パケット処理デバイスは、このsketch−basedアルゴリズムに対応する第1の測定データにおけるa個のデータを個別に変更することができる。異なるsketch−basedアルゴリズムは、aの異なる特定の値に対応し得る。
さらに、図7を参照すると、ステップ103の後、トラフィック測定方法は以下のステップを含み得る。
106.パケット処理デバイスは、測定対象パケットの測定対象情報をバッファから削除する。
測定対象パケットの測定対象情報を読み取った後、パケット処理デバイスは、新しく取得された別の測定対象パケットの測定対象情報を書き込むために記憶空間を解放するために、測定対象パケットの測定対象情報をバッファから削除し得る。
本出願の本実施形態では、第2の測定データはフローテーブルに対応し、フローテーブルはパケット処理デバイスに格納され、第2の測定データはフローテーブルにおけるデータを含み得る。例えば、フローテーブルに対応するデータ構造は、具体的にはハッシュテーブルまたはバイナリツリーであり得る。フローテーブルにより占有される記憶空間は比較的小さく、例えば数キロバイトであり得る。
ある場合では、フローテーブルは、フロー識別子と第1のデータrとの間の対応関係を含む、すなわち、フロー識別子に対応するデータフローと第1のデータrとの間の対応関係を含む。ステップ105において、パケット処理デバイスが、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更することは、以下のステップを特に含み得る。
1051.パケット処理デバイスは、測定対象情報および第2のアルゴリズムに基づいて、測定対象パケットに対応し、かつ第2の測定データにある第1のデータrfを変更する。
この場合、第2の測定データは、フロー識別子と第1のデータrとの間の対応関係を含む。パケット処理デバイスは、測定対象情報における測定対象パケットのフロー識別子および第2のアルゴリズムに基づいて、測定対象パケットのフロー識別子fに対応する第1のデータrを判定することができ、測定対象情報における測定対象パケットのトラフィック量に基づいて、第1のデータrを変更する。この場合、wは1であり得る。具体的には、パケット処理デバイスは、1つのデータ、すなわち、測定対象パケットに対応し、かつ第2の測定データにある第1のデータrfを変更する。
フローテーブルはカウンタを含むことができ、測定対象パケットに対応する第1のデータrfは、具体的にはカウンタの値であり得る。具体的には、パケット処理デバイスは、1つのカウンタの値を更新できる。この場合、wは1である。
具体的には、ステップ1051は次のステップを含み得る。
1052.フローテーブルが測定対象パケットのフロー識別子fを含む場合、測定対象パケットに対応し、かつフローテーブルにある第1のデータrfを、測定対象パケットに対応する第1のデータrfと測定対象パケットのトラフィック量との和に更新する。
測定対象パケットのフロー識別子fがフローテーブルに既に存在し、測定対象パケットに対応するフロー識別子fと測定対象パケットに対応する第1のデータrfとの間の対応関係もフローテーブルに存在する場合、パケット処理デバイスは、測定対象パケットに対応する第1のデータrfを、測定対象パケットに対応する第1のデータrfと測定対象パケットのトラフィック量との和に更新し得る。したがって、1つのデータのみ、すなわち測定対象パケットに対応する第1のデータrfのみが、測定対象パケットの処理中に変更される。
別の例では、フローテーブルは、フロー識別子と第1のデータrおよび第2のデータdのそれぞれとの間の対応関係を含む、すなわち、フロー識別子に対応するデータフローと第1のデータrおよび第2のデータdのそれぞれとの間の対応関係を含む。フローテーブルが測定対象パケットのフロー識別子fを含まず、かつフローテーブルがいっぱいである場合、パケット処理デバイスは、比較的小さいトラフィック量を有するデータフローに対応するフロー識別子、第1のデータr、および第2のデータdをフローテーブルから削除し得る。具体的には、ステップ105の前に、本方法は以下のステップをさらに含み得る。
201.パケット処理デバイスはデクリメント値
Figure 2020529171
を計算する。
202.パケット処理デバイスは、フローテーブルに含まれる各フロー識別子に対応する第1のデータrを、第1のデータrとデクリメント値
Figure 2020529171
との差に更新する。
203.パケット処理デバイスは、フローテーブルに含まれる各フロー識別子に対応する第2のデータdを、第2のデータdとデクリメント値
Figure 2020529171
との和に更新する。
204.パケット処理デバイスは、第1の事前設定条件を満たすフロー識別子と、第1のデータrおよび第2のデータdのそれぞれとの間の対応関係を削除する。
第1の事前設定条件を満たすフロー識別子は、対応する更新された第1のデータrが0以下であるフロー識別子である。
ステップ201から204に対応する動作は削除動作と呼ばれ得る。削除動作により一部のトラフィック情報が失われる。削除動作において、パケット処理デバイスは、対応する第1のデータrがデクリメント値
Figure 2020529171
未満であるデータフローに対応するフロー識別子、第1のデータr、および第2のデータdを削除し得る。換言すれば、パケット処理デバイスは、第1のデータrが比較的小さいデータフローをフローテーブルから削除し、その結果、フローテーブルは、第1のデータrが比較的大きいデータフローに対応するフロー識別子を保存できる。
さらに、フローテーブルは、フロー識別子と第1のデータr、第2のデータd、および第3のデータeのそれぞれとの間の対応関係を含み得る。フローテーブルが測定対象パケットのフロー識別子fを含まず、かつフローテーブルがいっぱいである場合、ステップ201から204に基づいて、ステップ105は以下のステップを特に含み得る。
1053.測定対象パケットのトラフィック量がデクリメント値
Figure 2020529171
よりも大きい場合、パケット処理デバイスは、測定対象パケットのトラフィック量とデクリメント値
Figure 2020529171
との差を、測定対象パケットに対応する第1のデータrfに設定する。
1054.パケット処理デバイスは、デクリメント値
Figure 2020529171
を、測定対象パケットに対応する第2のデータdfに設定する。
1055.パケット処理デバイスは、総デクリメントトラフィック量Eを、測定対象パケットに対応する第3のデータefに設定する。
1056.パケット処理デバイスは、測定対象パケットのフロー識別子fと測定対象パケットに対応する第1のデータrf、測定対象パケットに対応する第2のデータdf、および測定対象パケットに対応する第3のデータefのそれぞれとの間の対応関係をフローテーブルに挿入する。
測定対象パケットのトラフィック量がデクリメント値
Figure 2020529171
よりも大きい場合、このことは、測定対象パケットのデータフローのトラフィック量が比較的大きいことを示すことができ、データフローに対応するフロー識別子、第1のデータr、および第2のデータdがフローテーブルに保存され得る。したがって、測定対象パケットのフロー識別子fと測定対象パケットに対応する第1のデータrf、測定対象パケットに対応する第2のデータdf、および測定対象パケットに対応する第3のデータefのそれぞれとの間の対応関係がフローテーブルに挿入され得る。
この場合、パケット処理デバイスは、ステップ105において測定対象パケットに対応する第1のデータrf、第2のデータdf、および第3のデータefを変更することができる、すなわちw=3個のデータを変更する必要がある。
本出願の本実施形態では、第1のデータrは、削除動作後の対応するデータフローの残りのトラフィック量として理解され得る。削除動作がゼロ回実行される場合、第1のデータrは測定対象パケットのトラフィック量であり得、測定対象パケットに対応するデータフローのフロー識別子は第1のデータrに対応する。第2のデータdは、削除動作中の対応するデータフローの失われたトラフィック量として理解され得る。第3のデータeは、対応するフロー識別子が今回フローテーブルに挿入される前の最大トラフィック損失の推定値として理解され得る。
ステップ1055において、パケット処理デバイスは、総デクリメントトラフィック量Eを、測定対象パケットに対応する第3のデータefに設定する。具体的には、フロー識別子fのフローテーブルへの挿入中、フロー識別子fが今回フローテーブルに挿入される前の最大トラフィック損失の推定値は、総デクリメントトラフィック量Eである。
ステップ201から204およびステップ1056の後、本方法は以下のステップをさらに含み得る。
205.パケット処理デバイスは、総デクリメントトラフィック量Eを、総デクリメントトラフィック量Eとデクリメント値
Figure 2020529171
との和に更新する。
削除動作を実行した後、パケット処理デバイスは、デクリメント値
Figure 2020529171
を総デクリメントトラフィック量Eにさらに加え、その結果、次回のフロー識別子のフローテーブルへの挿入中、フロー識別子に対応する第3のデータeは、総デクリメントトラフィック量Eに設定され得る。総デクリメントトラフィック量Eは、具体的にはカウンタの値であり得る。
具体的には、総デクリメントトラフィック量Eは、パケット処理デバイスが削除動作を実行するたびに失われるデクリメント値
Figure 2020529171
の和である。フロー識別子fのフローテーブルへの挿入中、フロー識別子fが今回フローテーブルに挿入される前の最大トラフィック損失の推定値は、パケット処理デバイスが削除動作を実行するたびに失われるデクリメント値
Figure 2020529171
の和である。
ステップ201において、パケット処理デバイスがデクリメント値
Figure 2020529171
を計算することは、以下のステップを含み得る。
2011.パケット処理デバイスは、測定対象パケットのトラフィック量およびフローテーブルに含まれるフロー識別子に対応する第1のデータrを値の順に並べ替え、並べ替えた後の最初の2つの値をR1およびR2として、また並べ替えた後の最後の値をRkとして示す。
2012.パケット処理デバイスは、デクリメント値
Figure 2020529171
をR1、R2、Rk、および次の式
Figure 2020529171
に基づいて計算し、
Figure 2020529171
Figure 2020529171
であり、δは定数を表す。
ステップ2011および2012の主な原則は、フローテーブルにおけるすべての第1のデータrの値をフィッティングすることによりロングテール分布を取得し、フィッティングにより取得された分布からロングテール部分を、閾値(つまり、デクリメント値
Figure 2020529171
)を選択することにより削除することである。
別の場合では、フローテーブルが測定対象パケットのフロー識別子fを含まず、かつフローテーブルがいっぱいではない場合、ステップ105において、パケット処理デバイスが、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更することは、以下のステップを含み得る。
1057.パケット処理デバイスは、測定対象パケットのトラフィック量を、測定対象パケットに対応する第1のデータrfに設定する。
1058.パケット処理デバイスは、総デクリメントトラフィック量Eを、測定対象パケットに対応する第3のデータefに設定する。
1059.パケット処理デバイスは、測定対象パケットのフロー識別子fと測定対象パケットに対応する第1のデータrfおよび測定対象パケットに対応する第3のデータefのそれぞれとの間の対応関係をフローテーブルに挿入する。
この場合、パケット処理デバイスは、2つのデータ、すなわち測定対象パケットに対応する第1のデータrfおよび第3のデータefを変更することができ、つまりw=2である。加えて、パケット処理デバイスは、測定対象パケットのフロー識別子fと測定対象パケットに対応する第1のデータrfおよび測定対象パケットに対応する第3のデータefのそれぞれとの間の対応関係をフローテーブルに挿入する。
加えて、本出願の本実施形態では、図8を参照すると、フローテーブルはエントリを特に含むことができ、エントリは、フロー識別子と第1のデータr、第2のデータd、および第3のデータeのそれぞれとの間の対応関係を含み得る。加えて、エントリ内の第1のデータr、第2のデータd、および第3のデータeは、具体的にはそれぞれ3つのカウンタの値であり得る。具体的には、各測定対象パケットについて、パケット処理デバイスは、第2のアルゴリズムに基づいて、1つのカウンタの値(r)、2つのカウンタの値(eおよびr)、または3つのカウンタの値(e、r、およびd)を変更し得る。通常、フローテーブルにおけるカウンタの初期値は0に設定され得る。
ステップ105の具体的な実施プロセスについては、図9を参照されたい。
さらに、第2の測定データは、ローカルな総トラフィック量を含み得る。図7と参照すると、バッファ内の占有記憶空間が事前設定閾値以上である場合、本方法は以下のステップをさらに含み得る。
107.パケット処理デバイスは、ローカルな総トラフィック量を、ローカルな総トラフィック量と測定対象パケットのトラフィック量との和に更新する。
本出願の本実施形態では、パケット処理デバイスは、各測定対象パケットの取得されたトラフィック量をローカルな総トラフィック量に加えることができる。具体的には、ローカルな総トラフィック量は、第2のアルゴリズムに基づいて測定される必要があるトラフィック量、つまり高速チャネルに入る総トラフィック量として理解され得る。具体的には、ローカルな総トラフィック量はまたカウンタの値であり得る。
ステップ107とステップ105との間に特定の順序関係はない。つまり、ステップ107は、ステップ105の前であってもステップ105の後であってもよい。
本出願の上述の実施形態で提供される第2のアルゴリズムの内容は、ステップ105、ステップ1051から1059、ステップ201から205、ステップ2011および2012、ならびにステップ107の対応する内容を特に含み得ることに留意されたい。
加えて、従来技術の測定方法が使用される場合に、各パケットが4つのsketch−basedアルゴリズム、すなわちFlowRadarアルゴリズム、RevSketchアルゴリズム、UnivMonアルゴリズム、およびDeltoidアルゴリズムにより処理されるときに使用される対応する中央処理装置(central processing unit、CPU)クロックサイクルを示す実験データが図10に示され得る。sketch−basedアルゴリズムを使用することにより1つのパケットを処理することは、数千の、または数万にもなるCPUクロックサイクルに対応することが図10からわかる。しかしながら、本出願の本実施形態において提供される第2のアルゴリズムを使用することにより、1つのパケットを処理するのに必要とされるのは数十のCPUクロックサイクルだけである。本出願で提供される第2のアルゴリズムの処理効率がより高いことがわかる。本出願の本実施形態では、sketch−basedアルゴリズムと第2のアルゴリズムとの間で切り替えが実行され、それにより、リソースオーバーヘッドを低減し、パケット処理デバイスの全体的な処理効率を改善する。
本出願の本実施形態では、データフローを識別するために使用され、かつ測定対象パケットに対応するフロー識別子は、複数の特定の形式にあり得る。例えば、フロー識別子は5タプルであってよく、5タプルは、送信元インターネットプロトコルIPアドレスと、送信元ポートと、宛先IPアドレスと、宛先ポートと、トランスポート層プロトコルとを含む。あるいは、フロー識別子は2タプルであり、2タプルは送信元IPアドレスと宛先IPアドレスとを含む。あるいは、測定対象パケットがIPパケットである場合、フロー識別子はTOSフィールドの最初の3文字であり得る。あるいは、測定対象パケットがマルチプロトコル・ラベル・スイッチング(multi−protocol label switching、MPLS)パケットである場合、フロー識別子はEXPフィールドであり得る。あるいは、フロー識別子はイーサネット送信元アドレスとイーサネット宛先アドレスとを含み得る。
さらに、ステップ105の後、図11を参照すると、本出願の本実施形態において提供されるトラフィック測定方法は、以下のステップをさらに含み得る。
108.パケット処理デバイスは、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信し、第1の測定データおよび/または第2の測定データが、目的の測定データを計算するためにネットワークコントローラによって使用される。
パケット処理デバイスは、第1の測定データおよび/または第2の測定データをネットワークコントローラに報告することができ、その結果、ネットワークコントローラは、トラフィックに関する統計値を収集したり、ネットワーク管理を実行したりなどするために、第1の測定データおよび/または第2の測定データに基づいて目的の測定データを計算することができる。
具体的には、可能な実装形態では、ステップ108は以下のステップを含み得る。
1081.パケット処理デバイスは、事前設定期間に基づいて、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信する。
本実装形態では、報告期間が到来すると、パケット処理デバイスは、取得した第1の測定データおよび/または第2の測定データをネットワークコントローラに報告することができる。
別の可能な実装形態では、ステップ108は以下のステップを含み得る。
1082.パケット処理デバイスは、ネットワークコントローラによって送信された測定データ要求メッセージを受信する。
1083.パケット処理デバイスは、測定データ要求メッセージに応じて、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信する。
本実装形態では、パケット処理デバイスは、ネットワークコントローラによって送信された測定データ要求メッセージを受信した後に、取得した第1の測定データおよび/または第2の測定データをネットワークコントローラに報告することができる。
具体的には、第1の測定データは第1のアルゴリズムおよび低速チャネルに対応し、第2の測定データは第2のアルゴリズムおよび高速チャネルに対応する。パケット処理デバイスが、測定データが最後に報告された後に第1のアルゴリズムのみに基づいて測定対象パケットを処理する場合、パケット処理デバイスは第1の測定データのみを報告する。パケット処理デバイスが、測定データが最後に報告された後に第2のアルゴリズムのみに基づいて測定対象パケットを処理する場合、パケット処理デバイスは第2の測定データのみを報告する。パケット処理デバイスが、測定データが最後に報告された後に、第1のアルゴリズムおよび第2のアルゴリズムに基づいて測定対象パケットを処理する場合、パケット処理デバイスは第1の測定データおよび第2の測定データの両方を報告する。換言すれば、パケット処理デバイスは、報告の各時点で第1の測定データおよび第2の測定データの少なくとも一方を報告することができる。
さらに、ステップ108の後、パケット処理デバイスは、今回報告された第1の測定データおよび/または第2の測定データをさらに削除し得る。例えば、第1の測定データがsketchデータ構造に対応する行列内のデータであり、第2の測定データがフローテーブル内のデータであり、行列セルおよびフローテーブルがそれぞれ1つまたは複数のカウンタを含む場合、第1の測定データおよび/または第2の測定データを周期的に報告した後、パケット処理デバイスは、行列セルおよびフローテーブル内のカウンタの値、ならびにローカルな総トラフィック量に対応するカウンタの値を初期値にさらにリセットすることができ、例えば、第1の測定データおよび/または第2の測定データを削除するために、すべての値を0にリセットすることができる。加えて、総デクリメントトラフィック量Eのカウンタの値も初期値にリセットされ得る。
あるいは、ステップ108の後、パケット処理デバイスは、第1の測定データおよび/または第2の測定データを削除しないが、今回報告された第1の測定データおよび/または第2の測定データを記録してもよく、その結果、次回の報告時に、パケット処理デバイスは、新しい第1の測定データおよび/または第2の測定データ、ならびに今回報告された第1の測定データおよび/または第2の測定データに基づいて、2つの報告期間中に実際のトラフィック値を取得することができる。あるいは、ネットワークコントローラは、パケット処理デバイスによって2回報告された第1の測定データおよび/または第2の測定データに基づいて、2つの報告期間中に実際のトラフィック値を取得することができる。
上述のプロセスは、例として図2に示されるアーキテクチャにおける1つのパケット処理デバイスを使用することによって説明されていることに留意されたい。図2に示されるアーキテクチャにおける別のパケット処理デバイスの処理プロセスは、上述のプロセスと同様である。つまり、複数のパケット処理デバイスはそれぞれ、第1の測定データおよび/または第2の測定データをネットワークプロセッサに送信することができる。
複数のパケット処理デバイスの報告プロセスに対応して、ネットワークコントローラは、複数のパケット処理デバイスによって送信された第1の測定データおよび/または第2の測定データを受信し得る。これは、次のステップを特に含み得る。
109.ネットワークコントローラは、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信し、第1の測定データが第1のアルゴリズムに基づいて取得され、第2の測定データが第2のアルゴリズムに基づいて取得され、mとnとは両方とも非負の整数である。
ここで、m個のパケット処理デバイスおよびn個のパケット処理デバイスは、図2に示されるアーキテクチャにおけるパケット処理デバイスであり、m個のパケット処理デバイスとn個のパケット処理デバイスとは、異なるパケット処理デバイスであってもよいし、同じパケット処理デバイスであってもよいし、部分的に重複してもよい。例えば、ここでのm個のパケット処理デバイスは、パケット処理デバイス1およびパケット処理デバイス2であってもよく、ここでのn個のパケット処理デバイスは、パケット処理デバイス3およびパケット処理デバイス4であってもよい。別の例として、ここでのm個のパケット処理デバイスは、パケット処理デバイス1およびパケット処理デバイス2であってもよく、ここでのn個のパケット処理デバイスは、パケット処理デバイス2、パケット処理デバイス3、およびパケット処理デバイス4であってもよい。別の例として、ここで、m=nであり、m個のパケット処理デバイスおよびn個のパケット処理デバイスの両方ともパケット処理デバイス1、パケット処理デバイス2、パケット処理デバイス3、およびパケット処理デバイス4である。
図2に示されるアーキテクチャにおける各パケット処理デバイスは、第1の測定データおよび第2の測定データの少なくとも一方をネットワークコントローラに報告することができ、これは、2つの報告期間中にパケット処理デバイスが、第1の測定データを更新するために第1のアルゴリズムのみに基づいて測定対象パケットを処理するため、または第2の測定データを更新するために第2のアルゴリズムのみに基づいて測定対象パケットを処理するため、または第1のアルゴリズムおよび第2のアルゴリズムに基づいて第1の測定データおよび第2の測定データの両方を更新するためである。
具体的には、図2に示されるアーキテクチャにおけるすべてのパケット処理デバイスが第1の測定データおよび第2の測定データをネットワークコントローラに報告できる、または図2に示されるアーキテクチャにおけるいくつかのパケット処理デバイスが第1の測定データをネットワークコントローラに報告でき、図2に示されるアーキテクチャにおけるいくつかのパケット処理デバイスが第2の測定データをネットワークコントローラに報告できる。図2に示されるアーキテクチャにおけるすべてのパケット処理デバイスが第1の測定データのみをネットワークコントローラに報告する場合、nは0であり得る。図2に示されるアーキテクチャにおけるすべてのパケット処理デバイスが第2の測定データのみをネットワークコントローラに報告する場合、mは0であり得る。
110.ネットワークコントローラは、グローバルな第1の測定データを取得するためにm個の第1の測定データを組み合わせる。
m個のパケット処理デバイスによって報告されたm個の第1の測定データを受信した後、ネットワークコントローラは、グローバルな第1の測定データと呼ばれる第1の測定データの合計を取得するために、m個の第1の測定データを組み合わせることができる。
111.ネットワークコントローラは、グローバルな第2の測定データを取得するためにn個の第2の測定データを組み合わせる。
n個のパケット処理デバイスによって報告されたn個の第2の測定データを受信した後、ネットワークコントローラは、グローバルな第2の測定データと呼ばれる第2の測定データの合計を取得するために、n個の第2の測定データを組み合わせることができる。
112.ネットワークコントローラは、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて目的の測定データを計算する。
グローバルな第1の測定データおよびグローバルな第2の測定データを取得した後、ネットワークコントローラは、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて目的の測定データを計算し得る。
このように、ネットワークコントローラは、パケット処理デバイスによって報告された第1の測定データおよび第2の測定データに基づいて、ネットワーク内のトラフィックデータに関する統計値、すなわち目的の測定データを包括的に収集できる。
ステップ112において計算された目的の測定データは、グローバルな第1の測定データと同じデータ構造を有し得る。具体的には、ネットワークコントローラによって取得された目的の測定データ、第1のアルゴリズムに基づいて取得された第1の測定データ、およびグローバルな第1の測定データは同じデータ構造を有する。ネットワークコントローラは、第2のアルゴリズムの削除動作で失われたトラフィック情報を回復するために、第2のアルゴリズムに基づいて取得されたグローバルな第2の測定データをグローバルな第1の測定データの形式に変換し、その結果、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて取得された目的の測定データは、第1のアルゴリズムに対応する測定精度と同等の測定精度を有することができると理解できる。
したがって、本出願の本実施形態において提供される測定方法では、第1のアルゴリズムに基づく測定対象パケットの処理の負荷が比較的大きい場合、より高速な処理速度の第2のアルゴリズムに基づく処理への切り替えがバッファを使用することにより実行され、それによりネットワークスループットを改善し得る。加えて、第1のアルゴリズムおよび第2のアルゴリズムに基づいて取得された目的の測定データは、第1のアルゴリズムに基づいて取得された第1の測定データと同じデータ構造を有し、それにより、第1のアルゴリズムに対応する測定精度と同等の比較的高い測定精度を維持することができる。
例えば、第1のアルゴリズムはsketch−basedアルゴリズムであり、第1の測定データはsketchデータ構造であり、第2の測定データはハッシュテーブル構造である。この場合、グローバルな第1の測定データもsketchデータ構造であり、グローバルな第2の測定データもハッシュテーブル構造であり、計算によって取得された目的の測定データはsketchデータ構造である。
具体的には、ステップ1081から1083の送信方式に対応して、ステップ109は次のステップを特に含み得る。
1091.ネットワークコントローラは、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを周期的に受信する。
あるいは、別の実装形態では、ステップ109の前に、本方法は以下のステップをさらに含み得る。
1092.ネットワークコントローラは、測定データ要求メッセージを各パケット処理デバイスに送信する。
ステップ1092において、ネットワークコントローラは、図2に示されるアーキテクチャにおける各パケット処理デバイスに測定データ要求メッセージを実際に送信することができる。図2に示されるアーキテクチャがA個のパケット処理デバイスを含むとき、Aはmとnとの和以下である。
本出願の本実施形態では、第1の測定データのそれぞれがp行q列の要素を含む場合、ステップ110は以下のステップを特に含み得る。
1100.ネットワークコントローラは、グローバルな第1の測定データを取得するために、m個の第1の測定データのものであり、かつ対応する場所にある各m個の要素を組み合わせ、グローバルな第1の測定データがp行q列の要素を含む。
グローバルな第1の測定データは、m個の第1の測定データのそれぞれと同じデータ構造および同じ量の要素を有する。ネットワークコントローラは、グローバルな第1の測定データを取得するために、p×q個の場所のそれぞれに対応するm個の第1の測定データであるm個の要素を単に加える。p行q列の要素はp×q行列として理解され、組み合わせプロセスは行列加算として理解され得る。本明細書における要素は場所に対応し、各場所に対応する要素は、1つまたは複数のデータを特に含み得ることに留意されたい。例えば、第1の測定データのデータ構造が図6に示されるsketchデータ構造である場合、第1の測定データは4×5行列として表され、各セルのデータは1つの要素を参照し、各セルは複数のデータを含み得る。
本出願の本実施形態では、第2の測定データのそれぞれがローカルな総トラフィック量およびフローテーブルを含む。フローテーブルが少なくとも1つのエントリを含み、かつエントリがフロー識別子と1対1の対応関係にある場合、ステップ111は次のステップを特に含み得る。
1111.ネットワークコントローラは、グローバルな総トラフィック量を取得するために、n個の第2の測定データにおけるn個のローカルな総トラフィック量を加える。
1112.ネットワークコントローラは、グローバルなフローテーブルを取得するためにn個の第2の測定データに対応するn個のフローテーブルのエントリを組み合わせ、グローバルなフローテーブルにおいて、フロー識別子はエントリと1対1の対応関係にある。
1113.ネットワークコントローラによって取得されたグローバルな総トラフィック量およびグローバルなフローテーブルは、グローバルな第2の測定データである。
ステップ1112において、エントリは、フロー識別子とフロー識別子に対応するトラフィックデータとを特に含むことができ、n個の第2の測定データに対応するn個のフローテーブルのエントリを組み合わせるステップは以下のステップを含む。
301.n個の第2の測定データに対応するn個のフローテーブルのエントリにおいて、同じフロー識別子を有する複数のエントリについて、ネットワークコントローラは、複数のエントリをグローバルなフローテーブルの1つのエントリに組み合わせるために、複数のエントリにおけるトラフィックデータを加える。
302.ネットワークコントローラは、グローバルなフローテーブルの1つのエントリとして、異なるフロー識別子を有するエントリのそれぞれを使用する。
例えば、次の表1を参照すると、フローテーブル1がエントリ1およびエントリ2を含む場合、エントリ1はフロー識別子1に対応し、エントリ2はフロー識別子2に対応し、フローテーブル2がエントリ3およびエントリ4を含み、エントリ3はフロー識別子2に対応し、エントリ4はフロー識別子3に対応し、エントリ2およびエントリ3は同じフロー識別子2に対応する。したがって、組み合わされたグローバルなフローテーブルでは、エントリ2およびエントリ3が1つのエントリに組み合わされ、エントリ1およびエントリ4はそれぞれグローバルなフローテーブルの1つのエントリである。
Figure 2020529171
本出願の本実施形態は、パケット処理デバイスに1つの第1のアルゴリズムのみがデプロイされる例を使用することにより説明されていることに留意されたい。複数の第1のアルゴリズムがパケット処理デバイスにデプロイされる場合、各第1のアルゴリズムは1つの第1の測定データに対応し、したがって1つのグローバルな第1の測定データに対応する。したがって、ネットワークコントローラは、複数の第1のアルゴリズムに基づいて複数のグローバルな第1の測定データを取得することができ、複数の目的の測定データを取得するために、複数のグローバルな第1の測定データのそれぞれをグローバルな第2の測定データと組み合わせることができる。
本出願の本実施形態では、グローバルな第1の測定データおよびグローバルな第2の測定データを取得した後、ネットワークコントローラは、圧縮センシングベースの最適化問題を構築することにより、第1の測定データと同じデータ構造を有する目的の測定データを取得し得る。具体的には、ステップ112は次のステップを含み得る。
1121.ネットワークコントローラは、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて、最適化目的関数を構築する。
1122.ネットワークコントローラは、凸最適化アルゴリズムおよび最適化目的関数に基づいて目的の測定データを計算する。
最適化目的関数の式が、
minimize
Figure 2020529171
であり、
最適化目的関数が次の制約、すなわち、
制約1:T=N+sk(x+y)、
制約2:|x|1+|y|1=V、および
制約3:∀s∈H、rs+ds≦xs≦rs+ds+esを満たし、
「minimize」は最適化目的関数を最小化する独立変数値の計算を表し、Tは目的の測定データを表し、Nはグローバルなフローテーブルを表し、Vはグローバルな総トラフィック量を表し、Hはグローバルな第1の測定データを表し、xはHに含まれるフロー識別子に対応するデータフローのトラフィック量を表し、xsはフロー識別子sに対応するデータフローのトラフィック量を表し、yは、Hに含まれないデータフローのものであり、かつ第2のアルゴリズムに基づいて測定されたデータフローのトラフィック量にあるトラフィック量を表し、x+yは第2のアルゴリズムに基づいて測定されたデータフローのトラフィック量を表し、sk(x+y)は入力としてx+yを使用することにより、また第1のアルゴリズムを呼び出すことにより取得された結果を表し、rsは、フロー識別子sに対応する第1のデータrを表し、dsは、フロー識別子sに対応する第2のデータdを表し、esは、フロー識別子sに対応する第3のデータeを表し、
|T|は、Tの核型ノルムを表し、かつ行列のすべての特異値の和として定義され、|x|1は、ベクトルxのL1ノルムを表し、かつxのすべてのデータの絶対値の和として定義され、
Figure 2020529171
は、ベクトルyのフロベニウスノルムを表し、かつxのすべてのデータの二乗和として定義され、
α、β、およびγの計算式はそれぞれ、
Figure 2020529171
Figure 2020529171
および
γ=10σyであり、
PNおよびQNはそれぞれ行列Nの長さおよび幅を表し、η(N)はNのデータの平均を表し、mxおよびnxはそれぞれベクトルxの長さおよび幅を表し、σyはyのすべてのデータの標準偏差を表す。
ここで、xおよびyはベクトルとして表されてもよく、ベクトルの第iのデータはフロー識別子iのトラフィック量である。フロー識別子iがxまたはyにない場合、第iのデータx[i]またはy[i]は0である。例えば、フロー識別子が5タプルの場合、合計2104の異なる5タプルの可能性があり、グローバルなフローテーブルNは合計2104個のデータを有し、mxおよびnxの値はそれぞれ2104と1であり、xおよびyは両方とも長さが2104の5タプルベクトルである。
ここでは、複数の凸最適化アルゴリズムがある。例えば、凸最適化アルゴリズムは、内点法、交互方向乗数法ADMM、または劣勾配法であり得る。
一般的な凸最適化問題に対する閉形式の解はない、つまり、出力と入力との間の関数関係の式を明示的に与えることはできない。したがって、ステップ1121および1122では、予想されるグローバルな最適解の代わりに使用するために、制約規則に基づいて特定の範囲内で探索することにより、近似的な局所最適解を見つけるための近似法が使用され得る。
sk(x+y)は入力としてx+yを使用することにより、また第1のアルゴリズムを呼び出すことにより取得された結果を表す。したがって、sk(x+y)は、第1のアルゴリズムに基づいて取得されたグローバルな第1の測定データNと同じデータ構造を持ち、sk(x+y)、N、およびこれら2つの和、すなわち目的の測定関数も同じデータ構造を有する。このように、計算された目的の測定データは、第1のアルゴリズムの精度と同等の高い精度によって特徴付けられる。
目的の測定データが取得された後、目的の測定データは、ネットワーク例外検出、ネットワークトラフィック分布統計値、ネットワークトモグラフィ、分散型サービス妨害(distributed denial of service、DDoS)攻撃検出などのうちの少なくとも1つに使用され得る。異なる第1のアルゴリズムでは、計算された目的の測定データの機能も異なり得る。例えば、第1のアルゴリズムがDeltoid、RevSketch、またはFlowRadarである場合、計算された目的の測定データはエレファントフロー検出に使用され、第1のアルゴリズムがTwoLevelである場合、計算された目的の測定データはDDoS検出に使用され、第1のアルゴリズムがLC、kMin、またはFMの場合、計算された目的の測定データはフロー量統計に使用され得る、などである。
さらに、本出願の本実施形態では、ステップ101で取得された測定対象パケットのフロー識別子は、目的のフロー識別子であり得る。換言すれば、測定対象パケットは、目的のフロー識別子を有するパケットである。パケット処理デバイスが複数のパケットを受信する場合、目的のフロー識別子を有するパケットが測定対象パケットであり、目的のフロー識別子を持たないパケットのトラフィックは測定されない。したがって、図12を参照すると、ステップ101の前に、本方法は以下のステップをさらに含み得る。
113.ネットワークコントローラは、各パケット処理デバイスに命令メッセージを送信し、命令メッセージは、測定対象パケット処理デバイスに対応する目的のフロー識別子を運ぶ。
114.パケット処理デバイスは、ネットワークコントローラによって送信された命令メッセージを受信し、命令メッセージは目的のフロー識別子を含む。
具体的には、ネットワークコントローラは、パケット処理デバイスが目的のフロー識別子に対応するパケットのトラフィック量を測定および報告することを規定するために、目的のフロー識別子を送信し得る。
加えて、ネットワークコントローラは、構成ポリシーを使用することによりパケット処理デバイスと目的のフロー識別子との間の対応関係を事前構成することができ、その結果、ネットワーク内の1つのパケットのトラフィック量が、複数のパケット処理デバイスによって測定および報告される代わりに、ネットワーク内の1つのパケット処理デバイスのみによって測定および報告される。したがって、ネットワーク内のパケット処理デバイスによって測定されたパケットは互いに重複せず、これにより、測定の繰り返しを避け、正確なネットワークトラフィックの測定を実現する。
例えば、測定対象パケット処理デバイスが目的のフロー識別子に対応するということは以下を含み得る、すなわち、測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローのラストホップデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローのファーストホップデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローの受信エンドデバイスである、または測定対象パケット処理デバイスが目的のフロー識別子に対応するデータフローの送信エンドデバイスであることを含み得る。当然のことながら、パケット処理デバイスと目的のフロー識別子との間には別の対応関係もあるが、ここでは細部を繰り返し説明しない。
加えて、本出願の本実施形態の特定の実装形態では、図2に示されるネットワークシステムはSDNネットワークであり得、ネットワークコントローラはSDNネットワーク内のSDNコントローラであり得、パケット処理デバイスはSDNソフトウェアスイッチと共に配置されたSDNネットワーク内のデバイスであり得る。
加えて、本出願の上述の実施形態は、第2のアルゴリズムが、本明細書において第1のフローテーブルアルゴリズムと呼ばれるフローテーブルベースのアルゴリズムである例を使用することにより主に説明されていることに留意されたい。本出願の本実施形態の別の実装形態では、第2のアルゴリズムは、代替的に、第2のフローテーブルアルゴリズム、すなわちMisraGriesアルゴリズムであってもよい。第2のフローテーブルアルゴリズムの主な原則は、フロー識別子を1つのフローテーブルに記録することであり、各エントリは現在のトラフィック量を表すカウンタが1つしかない。フローテーブルがいっぱいになると、トラフィック量が最小のエントリが削除される。本出願の本実施形態において提供される第1のフローテーブルアルゴリズムと比較して、第2のフローテーブルアルゴリズムでは、毎回1つのエントリのみが削除されるため、削除の量が非常に多く、大量のリソースを必要とし、アルゴリズムの効率に影響を与える。加えて、各フローテーブルエントリにはカウンタが1つしかないため、削除動作により起因するエラーは記録できないため、最終結果の精度は比較的低くなる。
本明細書では、従来技術におけるsketch−basedアルゴリズムのみに基づくトラフィック測定方法が方法1と呼ばれ、sketch−basedアルゴリズムが第1のアルゴリズムとして使用され、第2のフローテーブルアルゴリズムが第2のアルゴリズムとして使用される測定方法が方法2と呼ばれ、sketch−basedアルゴリズムが第1のアルゴリズムとして使用され、第1のフローテーブルアルゴリズムが第2のアルゴリズムとして使用される測定方法が方法3と呼ばれる。この場合、sketch−basedアルゴリズムであるDeltoid、UnivMon、TwoLevel、RevSketch、FlowRadar、FM、kMin、LC、およびMRACを個別に使用すると、実験により取得され、かつ方法1、方法2、および方法3にそれぞれ対応するネットワークスループットが図13に示される。図13において、縦線で塗りつぶされた部分は方法1に対応し、斜線で塗りつぶされた部分は方法2に対応し、格子で塗りつぶされた部分は方法3に対応する。図13の実験データは、方法3を使用することでより高いネットワークスループットに到達できることを示し得る。
加えて、ステップ112において、ステップ1121および1122は、凸最適化アルゴリズムを使用することにより目的の測定関数Tを解くための特定の実装形態を提供する。ステップ112の別の実装形態では、ネットワークコントローラは、処理の複雑さを低減するために、凸最適化アルゴリズムの代わりに単純な計算により目的の測定関数Tを解くことができる。例えばT=N+sk(x)であり、Nはグローバルなフローテーブルを表し、xはHに含まれるフロー識別子に対応するデータフローのトラフィック量を表し、sk(x)は入力としてxを使用することにより、また第1のアルゴリズムを呼び出すことにより取得された結果を表す。特定の実装形態では、xの各フロー識別子に対応するデータフローのトラフィック量は、フロー識別子に対応する第1のデータrと第2のデータdとの和であり得る。別の特定の実装形態では、xの各フロー識別子に対応するデータフローのトラフィック量は、フロー識別子に対応する第1のデータrと第2のデータdと第3のデータeとの和であり得る。実験データは、ステップ1121および1122において提供される目的の測定関数を計算するためのアルゴリズムを使用すると、より良好なパフォーマンスが達成され得ることを示している。
例えば、ネットワーク例外検出の精度が説明のための例として使用される。従来技術におけるsketch−basedアルゴリズムのみに基づくトラフィック測定方法が方法Aと呼ばれ、sketch−basedアルゴリズムが第1のアルゴリズムとして使用され、第1のフローテーブルアルゴリズムが第2のアルゴリズムとして使用され、目的の測定関数が式T=N+sk(x)に基づいて計算され、xはrとdとの和である、対応するトラフィック測定方法が方法Bと呼ばれ、sketch−basedアルゴリズムが第1のアルゴリズムとして使用され、第1のフローテーブルアルゴリズムが第2のアルゴリズムとして使用され、目的の測定関数が式T=N+sk(x)に基づいて計算され、xがrとdとeとの和である、対応するトラフィック測定方法が方法Cと呼ばれ、sketch−basedアルゴリズムが第1のアルゴリズムとして使用され、第1のフローテーブルアルゴリズムが第2のアルゴリズムとして使用され、目的の測定関数が上述の凸最適化アルゴリズムを使用することにより計算されるトラフィック測定方法が方法Dと呼ばれると仮定される。この場合、heavy hitterフローまたはheavy changerフローに基づいてネットワーク例外を検出するためにsketch−basedアルゴリズムであるFlowRadar、RevSketch、UnivMon、およびDeltoidが個別に使用されるときに、再現(recall)率、誤検出率(precision)、および相対誤差(relative error)の観点から方法Aから方法Dまでの場合および理想的な精度の場合が図14aから図14fに示されている。図14aから図14fにおいて、縦線で塗りつぶされた部分は方法Aに対応し、横線で塗りつぶされた部分は方法Bに対応し、点で塗りつぶされた部分は方法Cに対応し、格子で塗りつぶされた部分は方法Dに対応し、バックスラッシュで塗りつぶされた部分は、理想的な精度値を表す。加えて、図14aから図14cはheavy hitterフローに対応しており、図14dから図14fはheavy changerフローに対応している。図14aから図14fにより、方法Dに対応する検出精度がより高く、理想的な精度値に近いことがわかる。
上記は、ネットワーク要素間の相互作用の観点から、本出願の実施形態で提供される解決策を主に説明している。上述の機能を実施するために、各ネットワーク要素、例えばパケット処理デバイスまたはネットワークコントローラは、機能を実行するための対応するハードウェア構造および/またはソフトウェアモジュールを含むことが理解できる。当業者であれば、本明細書で開示した各実施形態に関連して説明した例におけるアルゴリズムステップは、本出願において、ハードウェアまたはハードウェアとコンピュータソフトウェアとの組み合わせを使用することによって実施され得ることを容易に承知するはずである。機能がハードウェアで行われるかコンピュータソフトウェアによって駆動されるハードウェアで行われるかは、技術的解決策の具体的な応用形態および設計制約によって決まる。当業者は、それぞれの具体的な応用形態に対して説明された機能を実施するために、異なる方法を使用することができるが、こうした実施が、本出願の範囲を超えるものであると見なされるべきではない。
本出願の実施形態では、パケット処理デバイスおよびネットワークコントローラは、上述の方法例に基づいて機能モジュールに分割されてもよい。例えば、機能モジュールは、各機能の分割によって取得されてもよいし、2つ以上の機能が1つの処理モジュールに統合されてもよい。統合されたモジュールはハードウェアの形態で実施されてもよいし、ソフトウェア機能モジュールの形態で実施されてもよい。本出願の実施形態におけるモジュール分割は一例であり、単に論理的な機能分割であり、実際の実装では他の分割であってもよいことに留意されたい。
本出願の一実施形態は、パケット処理デバイス1500をさらに提供する。図15を参照すると、パケット処理デバイス1500は、少なくとも1つのプロセッサ1501と、メモリ1502と、バッファ1503と、通信インターフェース1504と、バス1505とを備え、少なくとも1つのプロセッサ1501、メモリ1502、およびバッファ1503はバス1505を使用することにより互いに接続される。通信インターフェース1504は、パケット処理デバイス1500がパケット転送デバイスまたはパケット受信エンドデバイスであるときに、測定対象パケットを取得するように構成される。メモリ1502は、命令を格納するように構成される。プロセッサ1501は、以下の動作、すなわち、パケット処理デバイス1500がパケット送信エンドデバイスである場合、測定対象パケットを取得する動作と、バッファ1503内の占有記憶空間が事前設定閾値未満である場合、測定対象パケットの測定対象情報をバッファ1503に書き込む動作であって、測定対象情報が、測定対象パケットのフロー識別子および測定対象パケットのトラフィック量を含む、動作と、バッファ1503から測定対象情報を読み取る動作と、測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける測定対象パケットに対応するa個のデータを変更する動作であって、aが正の整数である、動作とを実施するために、またはバッファ1503内の占有記憶空間が事前設定閾値以上である場合、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更する動作であって、wが正の整数であり、wがa未満である、動作とを実施するためにメモリ1502に格納された命令を呼び出すように構成される。バッファ1503は、プロセッサ1501が測定対象パケットの測定対象情報をバッファ1503に書き込んだ後、測定対象情報を格納するように構成される。
本明細書のバッファ1503およびメモリ1502は、2つの独立したハードウェアモジュールであってもよいし、1つのハードウェアモジュールに統合されてもよいことに留意されたい。
プロセッサ1501は、図4、図7、および図11のステップ101から105、図7のステップ106および107、図9のステップ1052および1059を実行する際にパケット処理デバイス1500をサポートするように構成されてもよい。通信インターフェース1504は、図4および図7のステップ101(パケット処理デバイス1500がパケット転送デバイスまたはパケット受信エンドデバイスである場合)、図11のステップ108、ならびに図12のステップ114を実行する際にパケット処理デバイス1500をサポートするように構成される。加えて、図15の構成要素は、本明細書で説明される技術の別のプロセスを実行する際にパケット処理デバイス1500をサポートするようにさらに構成され得る。
本出願の一実施形態は、ネットワークコントローラ1600をさらに提供する。図16を参照すると、ネットワークコントローラ1600は、少なくとも1つのプロセッサ1601と、メモリ1602と、通信インターフェース1603と、バス1604とを備えることができ、少なくとも1つのプロセッサ1601およびメモリ1602はバス1604を使用することにより互いに接続される。通信インターフェース1603は、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信し、第1の測定データが第1のアルゴリズムに基づいて取得され、第2の測定データが第2のアルゴリズムに基づいて取得され、mとnとは両方とも非負の整数である、ように構成される。メモリ1602は、命令を格納するように構成される。プロセッサ1601は、以下の動作、すなわち、グローバルな第1の測定データを取得するためにm個の第1の測定データを組み合わせる動作と、グローバルな第2の測定データを取得するためにn個の第2の測定データを組み合わせる動作と、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて目的の測定データを計算する動作とを実施するためにメモリ1602に格納された命令を呼び出すように構成される。
プロセッサ1601は、図11および図12のステップ110から112を実行する際にネットワークコントローラ1600をサポートするように構成されてもよい。通信インターフェース1603は、図11および図12のステップ109ならびに図12のステップ113を実行する際にネットワークコントローラ1600をサポートするように構成される。加えて、図16の構成要素は、本明細書で説明される技術の別のプロセスを実行する際にネットワークコントローラ1600をサポートするようにさらに構成され得る。
図15および図16のプロセッサは、それぞれ異なるタイプのプロセッサを含むことも同じタイプのプロセッサを含むこともでき、具体的には、計算処理能力を備えた次のデバイス、すなわち中央処理装置CPU、ARMプロセッサ、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、および専用プロセッサのいずれか1つであり得る。あるいは、プロセッサはメニーコアプロセッサとして統合されてもよい。
図15および図16のメモリは、それぞれ以下の記憶媒体、すなわちランダムアクセスメモリ(random access memory、RAM)、読み取り専用メモリ(read only memory、ROM)、不揮発性メモリ(non−volatile memory、NVM)、ソリッドステートドライブ(solid state drive、SSD)、機械的ハードディスク、磁気ディスク、ディスクアレイなどのいずれか1つまたは任意の組み合わせであり得る。
図15および図16の通信インターフェースはそれぞれ別のデバイスとデータを交換するように構成される。通信インターフェースは、ネットワークアクセス機能を備えた次のデバイス、すなわちネットワークインターフェース(例えば、イーサネットインターフェース)、ワイヤレスネットワークインターフェースカードなどのいずれか1つまたは任意の組み合わせであり得る。
図15および図16のバスはそれぞれ、アドレスバス、データバス、制御バスなどを含むことができる。表現を簡単にするため、図10ではバスを表すために太線が使用されている。バスは、有線データ伝送に使用される次のデバイス、すなわち、インダストリ・スタンダード・アーキテクチャ(industry standard architecture、ISA)バス、ペリフェラル・コンポーネント・インターコネクト(peripheral component interconnect、PCI)バス、エクステンデッド・インダストリ・スタンダード・アーキテクチャ(extended industry standard architecture、EISA)バスなどのいずれか1つまたは任意の組み合わせであり得る。
本出願の一実施形態は、パケット処理デバイス1700をさらに提供する。図17を参照すると、パケット処理デバイス1700は、バッファ1701と、取得ユニット1702と、書き込みユニット1703と、読み取りユニット1704と、第1の変更ユニット1705と、第2の変更ユニット1706と、削除ユニット1707と、更新ユニット1708と、処理ユニット1709と、送信ユニット1710と、受信ユニット1711とを備え得る。取得ユニット1702は、測定対象パケットを取得するように構成される。書き込みユニット1703は、バッファ内の占有記憶空間が事前設定閾値未満である場合、測定対象パケットの測定対象情報をバッファに書き込み、測定対象情報が測定対象パケットのフロー識別子と測定対象パケットのトラフィック量とを含む、ように構成される。バッファ1701は、書き込みユニット1703が測定対象情報をバッファ1701に書き込んだ後、測定対象情報を格納するように構成される。読み取りユニット1704は、バッファ1701から測定対象情報を読み取るように構成される。第1の変更ユニット1705は、測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける測定対象パケットに対応するa個のデータを変更し、aは正の整数である、ように構成される。第2の変更ユニット1706は、バッファ1701内の占有記憶空間が事前設定閾値以上である場合、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更し、wは正の整数であり、wはa未満である、ように構成される。
送信ユニット1710および受信ユニット1711は、図15に示される通信インターフェース1504の機能に対応し得る。書き込みユニット1703、読み取りユニット1704、第1の変更ユニット1705、第2の変更ユニット1706、削除ユニット1707、処理ユニット1708、および更新ユニット1709は、プロセッサ1501の機能に対応し得る。取得ユニット1702は、図15に示される通信インターフェース1504またはプロセッサ1501のいくつかの機能に対応し得る。ここでは細部を繰り返し説明しない。
本出願の一実施形態は、ネットワークコントローラ1800をさらに提供する。図18を参照すると、ネットワークコントローラ1800は、受信ユニット1801と、第1の組み合わせユニット1802と、第2の組み合わせユニット1803と、計算ユニット1804と、送信ユニット1805とを備え得る。受信ユニット1801は、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信し、第1の測定データが第1のアルゴリズムに基づいて取得され、第2の測定データが第2のアルゴリズムに基づいて取得され、mとnとは両方とも非負の整数である、ように構成される。第1の組み合わせユニット1802は、グローバルな第1の測定データを取得するためにm個の第1の測定データを組み合わせるように構成される。第2の組み合わせユニット1803は、グローバルな第2の測定データを取得するためにn個の第2の測定データを組み合わせるように構成される。計算ユニット1804は、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて目的の測定データを計算するように構成される。
送信ユニット1805および受信ユニット1801は、図16に示される通信インターフェース1603の機能に対応し得る。第1の組み合わせユニット1802、第2の組み合わせユニット1803、および計算ユニット1804は、図16に示されるプロセッサ1601の機能に対応し得る。ここでは細部を繰り返し説明しない。
上述の方法の実施形態におけるステップのすべての関連する内容が、対応する機能モジュールの機能の説明において記載され得ることに留意されたい。ここでは細部を繰り返し説明しない。
実装形態に関する上の説明を通して、説明を簡便にする目的で上記機能モジュールの分割が説明のための一例として使用されているに過ぎないことを当業者は明確に知ることができる。実際の適用においては、上記各機能を、異なる機能モジュールに割り振り、要件に従って実装することができる、すなわち、装置の内部構造が上記の各機能の全部または一部を実装するための異なる機能モジュールに分割される。
本出願の一実施形態は、上述のパケット処理デバイスによって使用されるコンピュータソフトウェア命令を格納するように構成されたコンピュータ記憶媒体をさらに提供する。命令がパケット処理デバイスで実行されると、パケット処理デバイスは、上述の実施形態のトラフィック測定方法を実行する。例えば、記憶媒体は具体的には上述のメモリであってもよい。
本出願の一実施形態は、上述のネットワークコントローラによって使用されるコンピュータソフトウェア命令を格納するように構成されたコンピュータ記憶媒体をさらに提供する。命令がネットワークコントローラで実行されると、ネットワークコントローラは、上述の実施形態のトラフィック測定方法を実行する。
本出願の一実施形態は、命令を含むコンピュータプログラム製品をさらに提供し、製品が上述のパケット処理デバイスで実行されると、パケット処理デバイスは、上述の実施形態のトラフィック測定方法を実行する。
本出願の一実施形態は、命令を含むコンピュータプログラム製品をさらに提供し、製品が上述のネットワークコントローラで実行されると、ネットワークコントローラは、上述の実施形態のトラフィック測定方法を実行する。
本出願の一実施形態は、システムをさらに提供する。システムの基本アーキテクチャについては、図2を参照されたい。システムは、ネットワークコントローラと少なくとも1つのパケット処理デバイスとを備え得る。システム内のアクセスネットワークデバイスおよび端末は、本出願の上述の実施形態で提供されるトラフィック測定方法を実行し得る。
パケット処理デバイスは、測定対象パケットを取得し、バッファ内の占有記憶空間が事前設定閾値未満である場合、測定対象パケットの測定対象情報をバッファに書き込み、測定対象情報が、測定対象パケットのフロー識別子および測定対象パケットのトラフィック量を含み、バッファから測定対象情報を読み取り、測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける測定対象パケットに対応するa個のデータを変更し、aが正の整数である、ように構成され得る、またはバッファ内の占有記憶空間が事前設定閾値以上である場合、測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける測定対象パケットに対応するw個のデータを変更し、wが正の整数であり、wがa未満である、ように構成され得る。
ネットワークコントローラは、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信し、第1の測定データが第1のアルゴリズムに基づいて取得され、第2の測定データが第2のアルゴリズムに基づいて取得され、mとnとは両方とも非負の整数であり、グローバルな第1の測定データを取得するためにm個の第1の測定データを組み合わせ、グローバルな第2の測定データを取得するためにn個の第2の測定データを組み合わせ、グローバルな第1の測定データおよびグローバルな第2の測定データに基づいて目的の測定データを計算する、ように構成され得る。
システムの1つの分割方式では、システムは制御プレーンとデータプレーンとを含み得る。少なくとも1つのパケット処理デバイスは、制御プレーンの機能に対応していてもよく、ネットワークコントローラは、制御プレーンの機能に対応していてもよい。
上記の実施形態の全部または一部は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせを使用することによって実施されてもよい。ソフトウェアプログラムが実施形態を実施するために使用される場合、実施形態は、コンピュータプログラム製品の形態で完全にまたは部分的に実施されてもよい。コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされて実行されると、本出願の実施形態による手順または機能がすべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラマブル装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてもよいし、あるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに、有線(例えば、同軸ケーブル、光ファイバ、またはデジタル加入者線(digital subscriber line、DSL))または無線(例えば、赤外線、電波、またはマイクロ波)方式で送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体であってもよく、または1つまたは複数の使用可能な媒体を一体化するサーバまたはデータセンタなどのデータ記憶装置であってもよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、または磁気テープ)、光学媒体(例えば、DVD)、半導体媒体(例えば、ソリッドステートディスク(solid state disk(SSD)))などであってもよい。
本出願を実施形態に関連して説明したが、保護を請求する本出願を実施する過程において、当業者であれば、添付の図面、開示内容、および添付の特許請求の範囲を検討することにより本開示の実施形態の他の変形を理解し実施することができる。特許請求の範囲において、「含む」(comprising)は別の構成要素または別のステップを排除せず、「a」または「one」は「複数の」場合を排除しない。単一のプロセッサまたは別のユニットが、特許請求の範囲に列挙されたいくつかの機能を実装することができる。一部の手段が互いに異なる従属請求項に記録されているが、このことは、より良い効果を生み出すためにこれらの手段を組み合わせることができないことを意味しない。
上記の説明は、単に本出願の具体的な実装形態に過ぎず、本出願の保護範囲を限定することを意図するものではない。本出願において開示された技術的範囲内のあらゆる変形や置き換えは、本出願の保護範囲内に含まれるものとする。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲に属する。
01 ネットワークシステム
10 スイッチ
100 パケット処理デバイス
200 ネットワークコントローラ
1500 パケット処理デバイス
1501 プロセッサ
1502 メモリ
1503 バッファ
1504 通信インターフェース
1505 バス
1600 ネットワークコントローラ
1601 プロセッサ
1602 メモリ
1603 通信インターフェース
1604 バス
1700 パケット処理デバイス
1701 バッファ
1702 取得ユニット
1703 書き込みユニット
1704 読み取りユニット
1705 第1の変更ユニット
1706 第2の変更ユニット
1707 削除ユニット
1708 更新ユニット
1709 処理ユニット
1710 送信ユニット
1711 受信ユニット
1800 ネットワークコントローラ
1801 受信ユニット
1802 第1の組み合わせユニット
1803 第2の組み合わせユニット
1804 計算ユニット
1805 送信ユニット
この場合、パケット処理デバイスは、測定対象パケットに対応し、かつ第2の測定データにあるデータを変更する。
第2の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、ネットワークコントローラによって、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信するステップは、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを周期的に受信するステップを含む。あるいは、ネットワークコントローラによって、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信するステップの前に、本方法は、各パケット処理デバイスに測定データ要求メッセージを送信するステップをさらに含む。
第5の態様および上述の可能な実装形態に関連して、別の可能な実装形態では、本デバイスは、ネットワークコントローラによって送信された測定データ要求メッセージを受信するように構成された受信ユニットをさらに備える。送信ユニットは、受信ユニットによって受信された測定データ要求メッセージに応じて、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信するように特に構成される。
さらに、図7を参照すると、ステップ104の後、トラフィック測定方法は以下のステップを含み得る。
上述のプロセスは、例として図2に示されるアーキテクチャにおける1つのパケット処理デバイスを使用することによって説明されていることに留意されたい。図2に示されるアーキテクチャにおける別のパケット処理デバイスの処理プロセスは、上述のプロセスと同様である。つまり、複数のパケット処理デバイスはそれぞれ、第1の測定データおよび/または第2の測定データをネットワークコントローラに送信することができる。
送信ユニット1710および受信ユニット1711は、図15に示される通信インターフェース1504の機能に対応し得る。書き込みユニット1703、読み取りユニット1704、第1の変更ユニット1705、第2の変更ユニット1706、削除ユニット1707、処理ユニット1709、および更新ユニット1708は、プロセッサ1501の機能に対応し得る。取得ユニット1702は、図15に示される通信インターフェース1504またはプロセッサ1501のいくつかの機能に対応し得る。ここでは細部を繰り返し説明しない。
本出願の一実施形態は、システムをさらに提供する。システムの基本アーキテクチャについては、図2を参照されたい。システムは、ネットワークコントローラと少なくとも1つのパケット処理デバイスとを備え得る。システム内のネットワークコントローラおよびパケット処理デバイスは、本出願の上述の実施形態で提供されるトラフィック測定方法を実行し得る。
システムの1つの分割方式では、システムは制御プレーンとデータプレーンとを含み得る。少なくとも1つのパケット処理デバイスは、データプレーンの機能に対応していてもよく、ネットワークコントローラは、制御プレーンの機能に対応していてもよい。

Claims (35)

  1. パケット処理デバイスに適用されるトラフィック測定方法であって、前記パケット処理デバイスがバッファを備え、前記方法は、
    測定対象パケットを取得するステップと、
    前記バッファ内の占有記憶空間が事前設定閾値未満である場合、前記測定対象パケットの測定対象情報を前記バッファに書き込むステップであって、前記測定対象情報が、前記測定対象パケットのフロー識別子および前記測定対象パケットのトラフィック量を含む、ステップと、
    前記バッファから前記測定対象情報を読み取るステップと、
    前記測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける前記測定対象パケットに対応するa個のデータを変更するステップであって、aが正の整数である、ステップとを含む、または
    前記バッファ内の占有記憶空間が前記事前設定閾値以上である場合、前記測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける前記測定対象パケットに対応するw個のデータを変更するステップであって、wが正の整数であり、wがa未満である、ステップとを含む、トラフィック測定方法。
  2. 前記a個のデータはa個のカウンタの値であり、前記w個のデータはw個のカウンタの値である、請求項1に記載のトラフィック測定方法。
  3. 前記第1のアルゴリズムはハッシュ関数を含み、前記第1の測定データはc個の場所におけるデータを含み、cは正の整数であり、前記測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける前記測定対象パケットに対応するa個のデータを変更する前記ステップは、
    前記測定対象パケットの前記フロー識別子および前記ハッシュ関数に基づいて、前記c個の場所からu個の場所を判定するステップであって、uが正の整数であり、uがc以下である、ステップと、
    前記測定対象パケットの前記トラフィック量に基づいて、前記u個の場所におけるa個のデータを変更するステップであって、uがa以下である、ステップとを含む、請求項1または2に記載のトラフィック測定方法。
  4. フローテーブルが前記パケット処理デバイスに格納され、前記第2の測定データは前記フローテーブルにおけるデータを含み、前記フローテーブルは前記フロー識別子と第1のデータrとの間の対応関係を含み、前記測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける前記測定対象パケットに対応するw個のデータを変更する前記ステップは、
    前記測定対象情報および前記第2のアルゴリズムに基づいて、前記測定対象パケットに対応し、かつ前記第2の測定データにある第1のデータrfを変更するステップを含む、請求項1から3のいずれか一項に記載のトラフィック測定方法。
  5. 前記測定対象情報および前記第2のアルゴリズムに基づいて、前記測定対象パケットに対応し、かつ前記第2の測定データにある第1のデータrfを変更する前記ステップは、
    前記フローテーブルが前記測定対象パケットのフロー識別子fを含む場合、前記測定対象パケットに対応し、かつ前記フローテーブルにある第1のデータrfを、前記測定対象パケットに対応する前記第1のデータrfと前記測定対象パケットの前記トラフィック量との和に更新するステップを含む、請求項4に記載のトラフィック測定方法。
  6. フローテーブルが前記パケット処理デバイスに格納され、前記第2の測定データは前記フローテーブルにおけるデータを含み、前記フローテーブルは前記フロー識別子と第1のデータrおよび第2のデータdのそれぞれとの間の対応関係を含み、前記フローテーブルが前記測定対象パケットのフロー識別子fを含まず、かつ前記フローテーブルがいっぱいである場合、前記測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける前記測定対象パケットに対応するw個のデータを変更する前記ステップの前に、前記方法は、
    デクリメント値
    Figure 2020529171
    を計算するステップと、
    前記フローテーブルに含まれる各フロー識別子に対応する第1のデータrを、前記第1のデータrと前記デクリメント値
    Figure 2020529171
    との差に更新するステップと、
    前記フローテーブルに含まれる各フロー識別子に対応する第2のデータdを、前記第2のデータdと前記デクリメント値
    Figure 2020529171
    との和に更新するステップと、
    第1の事前設定条件を満たすフロー識別子と前記第1のデータrおよび前記第2のデータdのそれぞれとの間の対応関係を前記フローテーブルから削除するステップとをさらに含み、
    前記第1の事前設定条件を満たす前記フロー識別子が、対応する更新された第1のデータrが0以下であるフロー識別子である、請求項1から3のいずれか一項に記載のトラフィック測定方法。
  7. 前記フローテーブルは前記フロー識別子と前記第1のデータr、前記第2のデータd、および第3のデータeのそれぞれとの間の対応関係を含み、前記フローテーブルが前記測定対象パケットの前記フロー識別子fを含まず、かつ前記フローテーブルがいっぱいである場合、前記測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける前記測定対象パケットに対応するw個のデータを変更する前記ステップは、
    前記測定対象パケットの前記トラフィック量が前記デクリメント値
    Figure 2020529171
    よりも大きい場合、前記測定対象パケットの前記トラフィック量と前記デクリメント値
    Figure 2020529171
    との差を、前記測定対象パケットに対応する第1のデータrfに設定するステップと、
    前記デクリメント値
    Figure 2020529171
    を、前記測定対象パケットに対応する第2のデータdfに設定するステップと、
    総デクリメントトラフィック量Eを、前記測定対象パケットに対応する第3のデータefに設定するステップと、
    前記測定対象パケットの前記フロー識別子fと、前記測定対象パケットに対応する前記第1のデータrf、前記測定対象パケットに対応する前記第2のデータdf、および前記測定対象パケットに対応する前記第3のデータefのそれぞれとの間の対応関係を前記フローテーブルに挿入するステップとを含む、請求項6に記載のトラフィック測定方法。
  8. 前記方法は、
    前記総デクリメントトラフィック量Eを、前記総デクリメントトラフィック量Eと前記デクリメント値
    Figure 2020529171
    との和に更新するステップをさらに含む、請求項6または7に記載のトラフィック測定方法。
  9. デクリメント値
    Figure 2020529171
    を計算する前記ステップは、
    前記測定対象パケットの前記トラフィック量および前記フローテーブルに含まれる前記フロー識別子に対応する前記第1のデータrを値の順に並べ替え、並べ替えた後の最初の2つの値をR1およびR2として、また並べ替えた後の最後の値をRkとして示すステップと、
    前記デクリメント値
    Figure 2020529171
    をR1、R2、Rk、および次式
    Figure 2020529171
    に基づいて計算するステップであって、
    Figure 2020529171
    Figure 2020529171
    であり、δは定数を表す、ステップとを含む、請求項6から8のいずれか一項に記載のトラフィック測定方法。
  10. フローテーブルが前記パケット処理デバイスに格納され、前記第2の測定データは前記フローテーブルのデータを含み、前記フローテーブルは、前記フロー識別子と第1のデータrおよび第3のデータeのそれぞれとの間の対応関係を含み、前記フローテーブルが前記測定対象パケットのフロー識別子fを含まず、かつ前記フローテーブルがいっぱいではない場合、前記測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける前記測定対象パケットに対応するw個のデータを変更する前記ステップは、
    前記測定対象パケットの前記トラフィック量を、前記測定対象パケットに対応する第1のデータrfに設定するステップと、
    総デクリメントトラフィック量Eを、前記測定対象パケットに対応する第3のデータefに設定するステップと、
    前記測定対象パケットの前記フロー識別子fと、前記測定対象パケットに対応する前記第1のデータrfおよび前記測定対象パケットに対応する前記第3のデータefのそれぞれとの間の対応関係を前記フローテーブルに挿入するステップとを含む、請求項1から3のいずれか一項に記載のトラフィック測定方法。
  11. 前記フローテーブルはエントリを含み、前記エントリは、前記フロー識別子と前記第1のデータr、前記第2のデータd、および前記第3のデータeのそれぞれとの間の対応関係を含み、前記第1のデータr、前記第2のデータd、および前記第3データeはそれぞれ3つのカウンタの値である、請求項4から10のいずれか一項に記載のトラフィック測定方法。
  12. 前記第2の測定データはローカルな総トラフィック量を含み、前記バッファ内の前記占有記憶空間が前記事前設定閾値以上である場合、前記方法は、
    前記ローカルな総トラフィック量を、前記ローカルな総トラフィック量と前記測定対象パケットの前記トラフィック量との和に更新するステップをさらに含む、請求項1から11のいずれか一項に記載のトラフィック測定方法。
  13. 前記方法は、
    前記第1の測定データおよび/または前記第2の測定データをネットワークコントローラに送信するステップであって、前記第1の測定データおよび/または前記第2の測定データが、目的の測定データを計算するために前記ネットワークコントローラによって使用される、ステップをさらに含む、請求項1から12のいずれか一項に記載のトラフィック測定方法。
  14. 前記測定対象パケットの前記フロー識別子が目的のフロー識別子であり、測定対象パケットを取得する前記ステップの前に、前記方法は、
    前記ネットワークコントローラによって送信された命令メッセージを受信するステップであって、前記命令メッセージが前記目的のフロー識別子を含む、ステップをさらに含む、請求項1から13のいずれか一項に記載のトラフィック測定方法。
  15. m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信するステップであって、前記第1の測定データが第1のアルゴリズムに基づいて取得され、前記第2の測定データが第2のアルゴリズムに基づいて取得され、mとnとは両方とも非負の整数である、ステップと、
    グローバルな第1の測定データを取得するために前記m個の第1の測定データを組み合わせるステップと、
    グローバルな第2の測定データを取得するために前記n個の第2の測定データを組み合わせるステップと、
    前記グローバルな第1の測定データおよび前記グローバルな第2の測定データに基づいて目的の測定データを計算するステップとを含む、トラフィック測定方法。
  16. 前記目的の測定データおよび前記グローバルな第1の測定データは同じデータ構造を有する、請求項15に記載のトラフィック測定方法。
  17. 第1の測定データのそれぞれがp行q列の要素を含み、グローバルな第1の測定データを取得するために前記m個の第1の測定データを組み合わせる前記ステップは、
    前記グローバルな第1の測定データを取得するために、前記m個の第1の測定データのものであり、かつ対応する場所にある各m個の要素を組み合わせるステップであって、前記グローバルな第1の測定データがp行q列の要素を含む、ステップを含む、請求項15または16に記載のトラフィック測定方法。
  18. 第2の測定データのそれぞれがローカルな総トラフィック量およびフローテーブルを含み、前記フローテーブルは少なくとも1つのエントリを含み、前記エントリは前記フロー識別子と1対1の対応関係にあり、グローバルな第2の測定データを取得するために前記n個の第2の測定データを組み合わせる前記ステップは、
    グローバルな総トラフィック量を取得するために、前記n個の第2の測定データにおけるn個のローカルな総トラフィック量を加えるステップと、
    グローバルなフローテーブルを取得するために前記n個の第2の測定データに対応するn個のフローテーブルのエントリを組み合わせるステップであって、前記グローバルなフローテーブルにおいて、前記フロー識別子は前記エントリと1対1の対応関係にある、ステップとを含み、
    前記グローバルな総トラフィック量および前記グローバルなフローテーブルは前記グローバルな第2の測定データである、請求項15から17のいずれか一項に記載のトラフィック測定方法。
  19. 前記エントリはフロー識別子と前記フロー識別子に対応するトラフィックデータとを含み、前記n個の第2の測定データに対応するn個のフローテーブルのエントリを組み合わせる前記ステップは、
    前記n個の第2の測定データに対応する前記n個のフローテーブルの前記エントリにおいて、同じフロー識別子を有する複数のエントリについて、前記複数のエントリを前記グローバルなフローテーブルの1つのエントリに組み合わせるために、前記複数のエントリにおけるトラフィックデータを加えるステップと、
    異なるフロー識別子を有するエントリのそれぞれを前記グローバルなフローテーブルの1つのエントリとして使用するステップとを含む、請求項18に記載のトラフィック測定方法。
  20. 前記グローバルな第1の測定データおよび前記グローバルな第2の測定データに基づいて目的の測定データを計算する前記ステップは、
    前記グローバルな第1の測定データおよび前記グローバルな第2の測定データに基づいて最適化目的関数を構築するステップと、
    凸最適化アルゴリズムおよび前記最適化目的関数に基づいて前記目的の測定データを計算するステップとを含み、
    前記最適化目的関数の式が、
    minimize
    Figure 2020529171
    であり、
    前記最適化目的関数が次の制約、すなわち、
    制約1:T=N+sk(x+y)、
    制約2:|x|1+|y|1=V、および
    制約3:∀s∈H、rs+ds≦xs≦rs+ds+esを満たし、
    「minimize」は前記最適化目的関数を最小化する独立変数値の計算を表し、Tは前記目的の測定データを表し、Nは前記グローバルなフローテーブルを表し、Vは前記グローバルな総トラフィック量を表し、Hは前記グローバルな第1の測定データを表し、xはHに含まれるフロー識別子に対応するデータフローのトラフィック量を表し、xsはフロー識別子sに対応するデータフローのトラフィック量を表し、yは、Hに含まれないデータフローのものであり、かつ前記第2のアルゴリズムに基づいて測定されたデータフローのトラフィック量にあるトラフィック量を表し、x+yは前記第2のアルゴリズムに基づいて測定された前記データフローの前記トラフィック量を表し、sk(x+y)は入力としてx+yを使用することにより、また前記第1のアルゴリズムを呼び出すことにより取得された結果を表し、
    |T|は、Tの核型ノルムを表し、かつ行列のすべての特異値の和として定義され、|x|1は、ベクトルxのL1ノルムを表し、かつxのすべてのデータの絶対値の和として定義され、
    Figure 2020529171
    は、ベクトルyのフロベニウスノルムを表し、かつxのすべての前記データの二乗和として定義され、
    α、β、およびγの計算式はそれぞれ、
    Figure 2020529171
    Figure 2020529171
    および
    γ=10σyであり、
    PNおよびQNはそれぞれ行列Nの長さおよび幅を表し、η(N)はNのデータの平均を表し、mxおよびnxはそれぞれ前記ベクトルxの長さおよび幅を表し、σyはyのすべてのデータの標準偏差を表す、請求項18または19に記載のトラフィック測定方法。
  21. 前記グローバルな第1の測定データおよび前記グローバルな第2の測定データに基づいて目的の測定データを計算する前記ステップは、
    前記グローバルな第1の測定データ、前記グローバルな第2の測定データ、および次式:
    T=N+sk(x)
    に基づいて前記目的の測定データを計算するステップを含み、
    Tは前記目的の測定データを表し、Nは前記グローバルなフローテーブルを表し、xはHに含まれるフロー識別子に対応するデータフローのトラフィック量を表し、xは前記第2のアルゴリズムに基づいて測定されたデータフローのトラフィック量を表し、sk(x)は、入力としてxを使用することにより、かつ前記第1のアルゴリズムを呼び出すことにより取得された結果を表す、請求項18または19に記載のトラフィック測定方法。
  22. 前記グローバルなフローテーブルはエントリを含み、前記エントリはフロー識別子と第1のデータrおよび第2のデータdのそれぞれとの間の対応関係を含み、xに対応する前記データフローの前記トラフィック量は、前記データフローのフロー識別子に対応する前記第1のデータrと前記第2のデータdとの和である、請求項21に記載のトラフィック測定方法。
  23. 前記グローバルなフローテーブルはエントリを含み、前記エントリはフロー識別子と第1のデータr、第2のデータd、および第3のデータeのそれぞれとの間の対応関係を含み、xに対応する前記データフローの前記トラフィック量は、前記データフローのフロー識別子に対応する前記第1のデータrと前記第2のデータdと前記第3のデータeとの和である、請求項21に記載のトラフィック測定方法。
  24. m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信する前記ステップの前に、前記方法は、
    各パケット処理デバイスに命令メッセージを送信するステップであって、前記命令メッセージは、前記測定対象パケット処理デバイスに対応する目的のフロー識別子を運ぶ、ステップをさらに含み、
    前記測定対象パケット処理デバイスが前記目的のフロー識別子に対応するということは以下を意味する、すなわち、
    前記測定対象パケット処理デバイスが前記目的のフロー識別子に対応するデータフローのラストホップデバイスである、または
    前記測定対象パケット処理デバイスが前記目的のフロー識別子に対応するデータフローのファーストホップデバイスである、または
    前記測定対象パケット処理デバイスが前記目的のフロー識別子に対応するデータフローの受信エンドデバイスである、または
    前記測定対象パケット処理デバイスが前記目的のフロー識別子に対応するデータフローの送信エンドデバイスであることを意味する、請求項15から23のいずれか一項に記載のトラフィック測定方法。
  25. 少なくとも1つのプロセッサと、メモリと、バッファと、通信インターフェースと、バスとを備えるパケット処理デバイスであって、前記少なくとも1つのプロセッサ、前記メモリ、および前記バッファは前記バスを使用することにより互いに接続され、
    前記通信インターフェースは、前記パケット処理デバイスがパケット転送デバイスまたはパケット受信エンドデバイスであるときに、測定対象パケットを取得するように構成され、
    前記メモリは、命令を格納するように構成され、
    前記プロセッサは、以下の動作、すなわち、
    前記パケット処理デバイスがパケット送信エンドデバイスである場合、測定対象パケットを取得する動作と、
    前記バッファ内の占有記憶空間が事前設定閾値未満である場合、前記測定対象パケットの測定対象情報を前記バッファに書き込む動作であって、前記測定対象情報が、前記測定対象パケットのフロー識別子および前記測定対象パケットのトラフィック量を含む、動作と、
    前記バッファから前記測定対象情報を読み取る動作と、
    前記測定対象情報および第1のアルゴリズムに基づいて、第1の測定データにおける前記測定対象パケットに対応するa個のデータを変更する動作であって、aが正の整数である、動作とを実施するために、または
    前記バッファ内の占有記憶空間が前記事前設定閾値以上である場合、前記測定対象情報および第2のアルゴリズムに基づいて、第2の測定データにおける前記測定対象パケットに対応するw個のデータを変更する動作であって、wが正の整数であり、wがa未満である、動作とを実施するために前記メモリに格納された前記命令を呼び出すように構成され、
    前記バッファは、前記プロセッサが前記測定対象パケットの前記測定対象情報を前記バッファに書き込んだ後、前記測定対象情報を格納するように構成される、パケット処理デバイス。
  26. 前記a個のデータはa個のカウンタの値であり、前記w個のデータはw個のカウンタの値である、請求項25に記載のパケット処理デバイス。
  27. 前記第1のアルゴリズムはハッシュ関数を含み、前記第1の測定データはc個の場所におけるデータを含み、cは正の整数であり、前記プロセッサは、
    前記測定対象パケットの前記フロー識別子および前記ハッシュ関数に基づいて、前記c個の場所からu個の場所を判定し、uが正の整数であり、uがc以下であり、
    前記測定対象パケットの前記トラフィック量に基づいて、前記u個の場所におけるa個のデータを変更し、uがa以下である、ように特に構成される、請求項25または26に記載のパケット処理デバイス。
  28. 前記通信インターフェースは、
    前記第1の測定データおよび/または前記第2の測定データをネットワークコントローラに送信し、前記第1の測定データおよび/または前記第2の測定データが、目的の測定データを計算するために前記ネットワークコントローラによって使用される、ようにさらに構成される、請求項25から27のいずれか一項に記載のパケット処理デバイス。
  29. 前記測定対象パケットの前記フロー識別子が目的のフロー識別子であり、前記通信インターフェースは、
    前記測定対象パケットを取得する前に、前記ネットワークコントローラによって送信された命令メッセージを受信し、前記命令メッセージが前記目的のフロー識別子を含む、ようにさらに構成される、請求項25から28のいずれか一項に記載のパケット処理デバイス。
  30. 少なくとも1つのプロセッサと、メモリと、通信インターフェースと、バスとを備えるネットワークコントローラであって、前記少なくとも1つのプロセッサおよび前記メモリは前記バスを使用することにより互いに接続され、
    前記通信インターフェースは、m個のパケット処理デバイスによってそれぞれ送信されたm個の第1の測定データと、n個のパケット処理デバイスによってそれぞれ送信されたn個の第2の測定データとを受信し、前記第1の測定データが第1のアルゴリズムに基づいて取得され、前記第2の測定データが第2のアルゴリズムに基づいて取得され、mとnとは両方とも非負の整数である、ように構成され、
    前記メモリは、命令を格納するように構成され、
    前記プロセッサは、以下の動作、すなわち、
    グローバルな第1の測定データを取得するために前記m個の第1の測定データを組み合わせる動作と、
    グローバルな第2の測定データを取得するために前記n個の第2の測定データを組み合わせる動作と、
    前記グローバルな第1の測定データおよび前記グローバルな第2の測定データに基づいて目的の測定データを計算する動作とを実施するために前記メモリに格納された前記命令を呼び出すように構成される、ネットワークコントローラ。
  31. 前記目的の測定データおよび前記グローバルな第1の測定データは同じデータ構造を有する、請求項30に記載のネットワークコントローラ。
  32. 第1の測定データのそれぞれがp行q列の要素を含み、前記プロセッサは、
    前記グローバルな第1の測定データを取得するために、前記m個の第1の測定データのものであり、かつ対応する場所にある各m個の要素を組み合わせ、前記グローバルな第1の測定データがp行q列の要素を含む、ように特に構成される、請求項30または31に記載のネットワークコントローラ。
  33. 第2の測定データのそれぞれがローカルな総トラフィック量およびフローテーブルを含み、前記フローテーブルは少なくとも1つのエントリを含み、前記エントリは前記フロー識別子と1対1の対応関係にあり、前記プロセッサは、
    グローバルな総トラフィック量を取得するために、前記n個の第2の測定データにおけるn個のローカルな総トラフィック量を加え、
    グローバルなフローテーブルを取得するために前記n個の第2の測定データに対応するn個のフローテーブルのエントリを組み合わせ、前記グローバルなフローテーブルにおいて、前記フロー識別子は前記エントリと1対1の対応関係にある、ように特に構成され、
    前記総トラフィック量および前記グローバルなフローテーブルは前記グローバルな第2の測定データである、請求項30から32のいずれか一項に記載のネットワークコントローラ。
  34. 前記通信インターフェースは、
    前記m個のパケット処理デバイスによってそれぞれ送信された前記m個の第1の測定データと、前記n個のパケット処理デバイスによってそれぞれ送信された前記n個の第2の測定データとを受信する前に、各パケット処理デバイスに命令メッセージを送信し、前記命令メッセージは、前記測定対象パケット処理デバイスに対応する目的のフロー識別子を運ぶ、ようにさらに構成され、
    前記測定対象パケット処理デバイスが前記目的のフロー識別子に対応するということは以下を意味する、すなわち、
    前記測定対象パケット処理デバイスが前記目的のフロー識別子に対応するデータフローのラストホップデバイスである、または
    前記測定対象パケット処理デバイスが前記目的のフロー識別子に対応するデータフローのファーストホップデバイスである、または
    前記測定対象パケット処理デバイスが前記目的のフロー識別子に対応するデータフローの受信エンドデバイスである、または
    前記測定対象パケット処理デバイスが前記目的のフロー識別子に対応するデータフローの送信エンドデバイスであることを意味する、請求項30から33のいずれか一項に記載のネットワークコントローラ。
  35. システムであって、前記システムは、ネットワークコントローラと少なくとも1つのパケット処理デバイスとを備え、前記パケット処理デバイスは、請求項1から14のいずれか一項に記載のトラフィック測定方法を実行するように構成され、前記ネットワークコントローラは、請求項15から24のいずれか一項に記載のトラフィック測定方法を実行するように構成される、システム。
JP2020505776A 2017-08-04 2018-06-22 トラフィック測定方法、デバイス、およびシステム Active JP7039685B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710662793.7 2017-08-04
CN201710662793.7A CN107566206B (zh) 2017-08-04 2017-08-04 一种流量测量方法、设备及系统
PCT/CN2018/092519 WO2019024623A1 (zh) 2017-08-04 2018-06-22 一种流量测量方法、设备及系统

Publications (2)

Publication Number Publication Date
JP2020529171A true JP2020529171A (ja) 2020-10-01
JP7039685B2 JP7039685B2 (ja) 2022-03-22

Family

ID=60974006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020505776A Active JP7039685B2 (ja) 2017-08-04 2018-06-22 トラフィック測定方法、デバイス、およびシステム

Country Status (6)

Country Link
US (1) US11228513B2 (ja)
EP (1) EP3648410A4 (ja)
JP (1) JP7039685B2 (ja)
KR (1) KR102337092B1 (ja)
CN (1) CN107566206B (ja)
WO (1) WO2019024623A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566206B (zh) * 2017-08-04 2020-09-04 华为技术有限公司 一种流量测量方法、设备及系统
US10880206B2 (en) * 2018-06-13 2020-12-29 Futurewei Technologies, Inc. Multipath selection system and method for datacenter-centric metro networks
CN110768856B (zh) * 2018-07-27 2022-01-14 华为技术有限公司 网络流测量的方法、网络测量设备以及控制面设备
CN109600393A (zh) * 2019-01-17 2019-04-09 安徽云探索网络科技有限公司 一种用于网络安全的监测方法
CN110049061B (zh) * 2019-04-29 2021-08-17 南京邮电大学 高速网络上轻量级DDoS攻击检测装置及检测方法
CN110502815A (zh) * 2019-08-13 2019-11-26 华东师范大学 一种基于sketch的时钟约束规范语言方法
CN110830322B (zh) * 2019-09-16 2021-07-06 北京大学 一种基于概率测量数据结构Sketch的网络流量测量方法和系统
CN110752968B (zh) * 2019-10-16 2021-12-07 北京百度网讯科技有限公司 性能基准测试方法、装置、电子设备及存储介质
CN110912767B (zh) * 2019-10-25 2022-03-25 电子科技大学 一种网络流量的单点测量方法
CN110868332B (zh) * 2019-10-25 2021-08-13 电子科技大学 一种基于sdn的网络级流量测量方法
US11671429B1 (en) * 2020-02-26 2023-06-06 Equinix, Inc. Authorization automation in procurement of interconnections within a data center
CN111555974B (zh) * 2020-03-19 2023-05-02 视联动力信息技术股份有限公司 一种数据包的处理方法、装置、终端设备和存储介质
CN113452657B (zh) * 2020-03-26 2023-03-28 华为技术有限公司 大流量数据流的检测方法以及检测装置
CN111757041B (zh) * 2020-06-17 2022-01-07 许继集团有限公司 一种网络视频会议流量识别方法及装置
WO2022041696A1 (zh) * 2020-08-26 2022-03-03 华为技术有限公司 流量监控方法、装置、集成电路及网络设备
WO2022041695A1 (zh) * 2020-08-26 2022-03-03 华为技术有限公司 流量监控方法、装置、集成电路、网络设备及网络系统
CN112597201A (zh) * 2020-12-25 2021-04-02 中国农业银行股份有限公司 元素的计数方法、装置、可读介质以及设备
CN113660209B (zh) * 2021-07-16 2023-04-25 华东师范大学 一种基于sketch与联邦学习的DDoS攻击检测系统及应用
CN113890840A (zh) * 2021-09-29 2022-01-04 深信服科技股份有限公司 流量异常检测方法、装置、电子设备和存储介质
CN115225540B (zh) * 2022-05-02 2023-07-18 东北大学 一种面向软件定义网络的数据平面故障检测与恢复方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004032714A (ja) * 2002-04-30 2004-01-29 Nippon Telegr & Teleph Corp <Ntt> 通信品質測定装置及びその方法
US6928054B1 (en) * 2000-09-20 2005-08-09 Nortel Networks Limited Apparatus, method, media and signals for connection-class parameter control of packet flow
JP2012043409A (ja) * 2010-08-20 2012-03-01 Internatl Business Mach Corp <Ibm> データ・ストリームを処理するためのコンピュータ実装方法、システム及びコンピュータ・プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL122271A (en) * 1997-11-21 2001-01-11 Eci Telecom Ltd Apparatus and method for managing network congestion
US7873991B1 (en) * 2000-02-11 2011-01-18 International Business Machines Corporation Technique of defending against network flooding attacks using a connectionless protocol
US6820129B1 (en) * 2000-09-22 2004-11-16 Hewlett-Packard Development Company, L.P. System and method of managing network buffers
US20020116397A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
KR20030038089A (ko) * 2001-11-08 2003-05-16 엘지전자 주식회사 데이터 버퍼를 이용한 네트워크 요소관리 시스템 및 그데이터 서비스 방법
US7330434B2 (en) * 2002-04-30 2008-02-12 Nippon Telegraph And Telephone Corporation Traffic quality measurement apparatus and method
US7669241B2 (en) * 2004-09-30 2010-02-23 Alcatel-Lucent Usa Inc. Streaming algorithms for robust, real-time detection of DDoS attacks
US7636769B2 (en) * 2006-04-14 2009-12-22 Microsoft Corporation Managing network response buffering behavior
US7697519B2 (en) * 2006-10-31 2010-04-13 Hewlett-Packard Development Company, L.P. Packet processing
CN101459560B (zh) * 2009-01-09 2011-04-13 中国人民解放军信息工程大学 长流的识别方法、数据流量的测量方法及其设备
CN102026141B (zh) * 2010-12-27 2014-09-10 中兴通讯股份有限公司 一种流量统计方法、终端和系统
CN103647670B (zh) * 2013-12-20 2017-12-26 北京理工大学 一种基于sketch的数据中心网络流量分析方法
CN104301248B (zh) * 2014-10-31 2018-04-06 新华三技术有限公司 报文限速方法和装置
CN106937052B (zh) * 2017-03-29 2019-01-22 维沃移动通信有限公司 一种图像数据的处理方法及移动终端
CN107566206B (zh) * 2017-08-04 2020-09-04 华为技术有限公司 一种流量测量方法、设备及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928054B1 (en) * 2000-09-20 2005-08-09 Nortel Networks Limited Apparatus, method, media and signals for connection-class parameter control of packet flow
JP2004032714A (ja) * 2002-04-30 2004-01-29 Nippon Telegr & Teleph Corp <Ntt> 通信品質測定装置及びその方法
JP2012043409A (ja) * 2010-08-20 2012-03-01 Internatl Business Mach Corp <Ibm> データ・ストリームを処理するためのコンピュータ実装方法、システム及びコンピュータ・プログラム
CN102375877A (zh) * 2010-08-20 2012-03-14 国际商业机器公司 使用属性特征化预测性地移除运行时数据的方法和系统

Also Published As

Publication number Publication date
EP3648410A1 (en) 2020-05-06
EP3648410A4 (en) 2020-07-01
WO2019024623A1 (zh) 2019-02-07
CN107566206B (zh) 2020-09-04
CN107566206A (zh) 2018-01-09
JP7039685B2 (ja) 2022-03-22
US20200169485A1 (en) 2020-05-28
KR102337092B1 (ko) 2021-12-07
KR20200028477A (ko) 2020-03-16
US11228513B2 (en) 2022-01-18

Similar Documents

Publication Publication Date Title
JP7039685B2 (ja) トラフィック測定方法、デバイス、およびシステム
US11863458B1 (en) Reflected packets
CN112511325B (zh) 网络拥塞控制方法、节点、系统及存储介质
US20230037170A1 (en) Network monitoring tool for allocating nodes of supercomputers
CN112688837B (zh) 基于时间滑动窗口的网络测量方法与装置
US11171869B2 (en) Microburst detection and management
US11652750B2 (en) Automatic flow management
US11050649B2 (en) Delay measurement method of network node device, apparatus, and network node device
US11706114B2 (en) Network flow measurement method, network measurement device, and control plane device
CN110851371A (zh) 报文处理方法及相关设备
CN110912826A (zh) 利用acl扩充ipfix表项的方法及装置
CN113328953B (zh) 网络拥塞调整的方法、装置和存储介质
CN115396345A (zh) 流量测量方法、装置及相关设备
CN110622467A (zh) 用于标识网络对象组的设备和方法
CN114884893A (zh) 一种转发和控制可定义的协同流量调度方法与系统
CN113965492A (zh) 一种数据流统计方法及装置
CN115988574B (zh) 基于流表的数据处理方法、系统、设备和存储介质
WO2022111596A1 (zh) 数据流测量的方法和装置
US20230396541A1 (en) Network metadata reporting
CN115701049A (zh) 通信时延估计方法及相关装置
CN115695254A (zh) 一种网络遥测方法、系统、存储介质及电子设备
CN115729719A (zh) 数据处理方法及相关设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220202

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: 20220228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220309

R150 Certificate of patent or registration of utility model

Ref document number: 7039685

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150