説明

エンドポイントデータを使用したネットワークにおけるパケット損失率の測定

ネットワークのパケット損失率は、入口および出口のネットワーク要素または仮想プライベートネットワーク(VPN)内の端部ネットワーク要素に接続されたすべての端部ルータから受け取った、エンドポイントのパケットカウンタまたはバイトカウンタデータのみを使用して測定される。エンドポイントからのパケットカウントデータを処理した後、データ信号に1つまたは複数のタップサイズの低域フィルタを通過させ、選択されたデータセットを同時にサンプリングできないことが原因の入口および出口のパケットカウントデータにおける高周波変動を除去する。フィルタリング後、データを統合して、少ない量のデータパケット損失の検出を増加させることができる。測定可能な損失が検出されたかどうかを判別するために、パケット損失率が算出されるウィンドウの前に、選択されたデータポイントセットにわたって信号の標準偏差が算出される。検出されたパケット損失が、一定のフィルタサイズのターゲットしきい値率について算出された標準偏差に基づく所定の検出可能性しきい値よりも大きい場合、その損失率が報告される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットプロトコル(IP)、非同期転送モード(ATM)、フレームリレー(FR)、あるいはマルチプロトコルラベルスイッチング(MPLS)ネットワークまたは仮想プライベートネットワーク(VPN)のいずれかである、パケットベースネットワークにおいて、パケット損失率(PLR)を測定するための方法およびシステムに関する。複数の管理ドメインを横切るエンドツーエンドPLRは、通過ネットワークの情報を必要とすることなく測定される。これは、ネットワークの入口/出口(ingress/egress)または端部のみでスループットデータを収集することによって達成される。収集されたデータは、損失情報を抽出するために処理される。
【背景技術】
【0002】
パケットベースネットワークでは、ネットワークユーザに提供されるサービス品質の測度の1つがパケット損失率(PLR)である。PLRは、失われたデータパケットの数と、ユーザによってネットワークに伝送されたパケットの合計数との比である。ATMでは、セル損失率とも呼ばれる。パケット損失率(PLR)は、サービス品質およびサービスレベルアグリーメント(SLA)における基本パラメータの1つであり、周知のように測定は困難である。
【0003】
パケット損失率を測定する既存の方法では、プローブを使用するか、またはホップバイホップ測定値(hop by hop measurement)を収集する。プローブは能動的または受動的のいずれかとすることができる。どちらの場合でも、中央局などの戦略上重要な場所に専用機器をインストールする必要がある。こうしたインストールには費用がかかる。ネットワークが大きく成長すると追加のインストールが必要である。言い換えれば、プローブの使用は本質的にスケーラブルではない。
【0004】
パケット損失を測定する第2の既存の方法は、ホップバイホップ測定値の収集を必要とする。これには詳細なトポロジ情報が必要であり、中間ネットワークオペレータの協力も必要である。パケットは競合企業が所有するネットワークをトラバースすることが可能であり、PLRの測定に必要なホップバイホップデータの提供を希望しないオペレータがいる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【0005】
ネットワーク間またはネットワークの一部の間でデータを共有する必要なしに、サービスに関するパケット損失率を測定することが可能な、システムおよび方法を有することが望ましいであろう。
【0006】
さらに、経済的であり能動的または受動的なプローブのインストールを必要とする所与のサービスに関するパケット損失率を測定するための、方法およびシステムを有することが望ましいであろう。
【0007】
さらに、本質的にスケーラブルであり、従来よりも大規模なネットワークで使用するために追加のプローブをインストールする必要がない、システムおよび方法を有することが望ましいであろう。
【0008】
最後に、パケット損失を測定するだけのためにさらにトラフィックを追加することのない方法およびシステムを有することが望ましいであろう。
【課題を解決するための手段】
【0009】
本発明は、ハードウェアまたはソフトウェアプローブを使用せずに、ネットワーク内のパケット(セル、データ)損失率を測定するための方法およびシステムを提供する。本発明のシステムおよび方法は、特定チャネルのパケットカウントまたはバイトカウントなどの、入口および出口のネットワーク要素トラフィック情報のみを使用する。この手順は、仮想プライベートネットワーク(VPN)でも使用可能である。本方法およびシステムは、入口および出口ネットワーク要素での(またはVPNの場合はすべての端部ネットワーク要素での)パケットカウントまたはバイトカウントに関するデータを使用する。このカウンタデータが事前処理され、失われたデータを完了し、データ差信号を生成するために収集間隔あたりの差を算出し、バイトカウントデータの場合のヘッダサイズ変動を修正し、望ましくない変動を除去し、カウンタをアップデートするためにネットワーク要素障害を調整する。データ差信号は事前処理されると、1つまたは複数のタップサイズの低域フィルタを介して送られ、統合することができる。所定のウィンドウまでの時間間隔内での、フィルタリング済みおよび/または統合済みデータの標準偏差が決定される。所定のウィンドウ内で計算されたデータ損失率が、算出された標準偏差に基づく検出可能性しきい値よりも大きい場合、このプロセスはウィンドウ内の検出可能損失を測定したことになる。損失が測定可能な場合、損失率が報告される。
【発明を実施するための最良の形態】
【0010】
図1は、本発明のパケット損失率測定のシステムおよび方法が使用可能な、典型的なネットワークを示す図である。入口ネットワーク要素110および出口ネットワーク要素120からなるネットワーク要素が、いくつかの他のネットワーク要素からなることが可能なネットワーク100に接続される。ネットワーク要素は、ATM、IP、FR、またはMPLSのうちのいずれかであるネットワーク100のタイプに特有のフォーマットおよびプロトコルでデータのパケットまたはバイトを伝送することが可能な、任意のタイプのパケットスイッチ、ルータ、ATMデバイス、または他の要素とすることができる。パケット損失率測定システム(PLRMS)130は、パケット損失率を決定するために必要なデータが以下で説明する計算を実行するために送信される、本発明の新規な諸態様を含む。PLRMS130の正確な働きについて、以下で説明する。
【0011】
本発明は、入口および出口のネットワーク要素(NE)からのパケットカウント(またはバイトカウント)データのみを使用した、特定チャネルに関するネットワーク内でのデータ損失の検出を可能にする。データは、ネットワークを横切って移送される際にいくつかの他のネットワーク要素を通過する可能性があるが、パケット損失データはこれらの中間ネットワーク要素から入手可能であるかまたは入手可能でない場合があり、あるいはデータ収集システムが端部データのみを収集するように選択する。本開示では、一方向の通信チャネル内でのパケット損失を決定するプロセスについて説明し、他方向は同じ方法で別個に扱われる。
【0012】
正しく動作するためには、本発明のいくつかの条件に合致しなければならない。入口および出口でのパケットカウントまたはバイトカウントは、損失なしという条件の下で、入口から入ったすべてのパケットが出口から出て行かなければならない1つの通信チャネルのことを指す。ネットワークは、チャネルにいかなるデータも追加してはならず、またはチャネルからデータを除去してはならない。パケットがネットワークを通過する際にネットワークがルーティングヘッダのサイズを修正した場合、本発明の方法は、ヘッダサイズの変更を修正し、それでもなお本方法を適用してネットワーク内でのユーザのトラフィック損失を測定することができる。データがネットワークを通過する経路は重要ではなく、様々なデータパケットが様々なルートをたどることさえも可能である。すべてのユーザデータの入口点および出口点が同じであることだけが重要である。
【0013】
パケットおよびバイトカウントは、入口および出口のネットワーク要素110および120で、通常、等間隔でサンプリングされる。サンプリング間隔は、ネットワークのハードウェアおよびソフトウェア構成によって異なる場合がある。しかしながら、収集間隔が短くなるほど、それに比例してPLRの測定値を取得するための処理遅延も短くなる。収集間隔が短いほど望ましいことは明らかである。サンプリング間隔は、およそ1分からおよそ10分までの間とすることができる。所与のサンプルペアpacket_count_inおよびpacket_count_outは、理論上、同時に採取される。これはもちろん実際には実行できず、入口ネットワーク要素110および出口ネットワーク要素120のパケットカウントはわずかに異なる時間に取られることになる。入口から出口までのデータパケットの移動時間は、ほぼ必ず、入口および出口のネットワーク要素でデータをサンプリングしている時間差よりもかなり短くなるため、ネットワークを通過するパケット移動時間は無視することができる。たとえ移動時間が、入口と出口のNE間でのデータサンプリングにおける典型的な同時性の欠如に匹敵する場合であっても、この手順は機能する。さらにこの手順は、サンプリング間隔が等間隔でない場合にも機能するが、ほとんどのネットワークでは、等間隔に配置されたサンプリング間隔が使用されることになる。
【0014】
損失なしという条件の下では、入口ネットワーク要素110でのすべてのユーザパケット(またはバイト)は、出力または出口ネットワーク要素120で所在が確認されなければならない。ネットワーク内での損失は、データサンプル間の各時間間隔中に入力と出力とのパケットまたはバイトカウントを比較することによって検出することができる。しかしながら、入口および出口では正確に同じ間隔で測定できないため、データ内にはノイズが存在する。この測定値内の同時性の欠如によって生じる信号内のほとんどのノイズを消去することが、本発明のシステムの特徴である。時間差が大きくなるほど、より小さな損失率を検出することが困難になるであろう。
【0015】
本発明の目的は、エンドポイントでの測定値のみを使用して、ネットワーク内の特定チャネル(または特定VPN)からのデータ損失があったかどうかを判別することである。生データは、ほぼ等しく配置された時間間隔での入口および出口ネットワーク要素でのパケットカウンタの値、すなわちpacket_count_in(byte_count_in)およびpacket_count_out(byte_count_out)からなる。この生データは、各収集間隔中にネットワークに入ったパケット数とネットワークから出たパケット数との差を取得するために、図3aおよび3bのステップ300〜350で説明する準備手順を通じて処理され、これは図2でKc(i)として示されている。この信号Kc(i)を使用してネットワーク内のデータ損失を検出することが可能であり、これは、1間隔あたりのpackets_inからpackets_outを引いたものである。しかしながら、端部NEからの生データの読み取りに同時性が欠如しているため、この信号は正の値と負の値の間を変動する。ネットワーク内に損失がない場合、最終的にすべての入力パケットが出力時に所在確認されるため、Kc(i)の平均値はゼロになる。ネットワーク内にデータ損失がある場合、入って行くパケットの方が出て行くパケットよりも多いため、信号の平均値は正となる。Kc(i)の平均値の上方シフトの大きさが、ネットワーク内のデータ損失の測定値である。Kc(i)における変動がデータ内のノイズを表す。
【0016】
信号内にノイズがあるため、平均値における上方シフトは明らかにノイズを上回る場合にのみ検出することができる。この手順の原理は、データをフィルタリングすることにより検出感度を上げることである。ステップ360では、タップサイズNの低域FIRフィルタが係数1/Nによって信号内のノイズを減少させる。図2は、N個の複数のタップサイズを使用して図3aおよび3bの流れ図を簡略化したものである。図2の参照番号は図3aおよび3bに関して以下で説明する様々なステップを指す。図2では、各タップサイズでフィルタリングされた信号はy1、y2、...yNで表される。損失なしの条件下では、信号yはゼロ平均値も有し、ネットワーク内にデータ損失がある場合、等価の上方シフトを示す。
【0017】
検出感度をさらに上昇させるために、ステップ370で各信号yが統合され、信号Iy1、Iy2、、...IyNが取得される。損失率が一定である場合、yは一定数だけ上方にシフトし、同じ時間間隔中にIyは上方への線形成長を示す。
【0018】
この点からこの手順は、ターゲットしきい値損失率について、所定のウィンドウ(ステップ380または450で設定されたデフォルトウィンドウ、あるいはステップ400で設定された選択済みウィンドウサイズのいずれか)より前に算出された(ステップ380、420、または440)データの標準偏差に基づく検出可能性基準を、ステップ410で適用することからなる。ウィンドウとは、ネットワーク内の損失率が測定されるいくつかの収集間隔をカバーする時間間隔のことである。所与のFIRフィルタについて、および以前に取得したトラフィックデータでの経験から、どのサイズのウィンドウがほぼ常時ターゲットしきい値損失率に合致するだけの十分な大きさであるかがわかる。しきい値損失率とは、ネットワーク内の実際の損失率がこれを超えた場合に検出できなければならないような値のことである。典型的なしきい値は、10-2、10-3、などのように与えられる。ウィンドウは、新しいデータが使用可能になるのに間に合って前方に移動する。
【0019】
検出可能性基準は、ウィンドウ内でのIyの増加が信号Iyにおいて算出された標準偏差のおよそ3倍よりも大きくなければならないというものである。この場合、およそ97%の信頼レベルでネットワーク内の損失率を測定することができる。
【0020】
データは、図2に示されるように、異なるタップサイズの低域フィルタを介して並行して処理することができる。これを実行する理由は、遅延と損失率のより低いターゲットしきい値との間にトレードオフが存在するためである。タップサイズが大きいフィルタほど、より大きな係数でノイズを削減することになり、それに伴うより低いターゲット損失率を検出することが可能であるが、タップサイズが大きいということは結果を得るまでにより長い間待たなければならないということである。したがって大きな損失率をより早く観察するためには、データにタップサイズの異なるフィルタを通過させることが有用である。いずれの場合でも、小さな損失率を検出するにはより長い時間がかかる。
【0021】
図3aおよび3bは、損失率検出プロセスを示す機能ブロック図である。ステップ300で、入口ネットワーク要素110および出口ネットワーク要素120からのカウンタデータ(すなわちpacket_count_inまたはbyte_count_inおよびpacket_count_outまたはbyte_count_out)が、プロセスに入力される。ネットワーク要素からのトラフィック監視に関するほぼすべてのデータ収集は、等しい時間間隔で実行される。本発明の場合、データはネットワーク要素内のパケットカウンタ値またはバイトカウンタ値と呼ばれる。時折、1つまたは数個の連続する収集間隔でデータが欠落する。カウンタ値は単調に増加するため、次のカウンタ値が、データが欠落した間隔の間にカウンタがどれだけ増分されたかを示し、ステップ310で線形補間により欠落したデータを充てんすることができる。いかなる場合でもステップ360で実行されるフィルタリングにデータの平均化が含まれるため、この手順がデータ損失率の計算に影響を与えることはない。欠落したデータに対して線形補間を実行する場合は、カウンタがその最大値に達して再度ゼロから開始される際の、カウンタのオーバフローの可能性を考慮に入れなければならない。一例として32ビットカウンタが想定されるが、実際のカウンタは異なるサイズであってもよく、オーバフローの修正も同様となる。
【0022】
1つの特定のカウンタ変数に注目すると、中断のないシーケンス(すなわち、C(i)、C(i+1)、C(i+2)、C(i+3)、...)が存在するはずである。C(i+1)、C(i+2)、...C(i+N)が欠落した値であり、C(i)およびC(i+N+1)が欠落した値の両端にある最初および最後の既知の値である場合、CrightをC(i+N+1)のプレースホルダ値として使用することが可能であり、以下の数式(1)を使用して決定することができる。
right=C(i+N+1)
(1)
(C(i+N+1)<C(i))の場合、Cright=C(i+N+1)+232
および
C(i+1)=(N*C(i)+Cright)/(N+1)
C(i+2)=((N−1)*C(i)+2*right)/(N+1)
C(i+3)=((N−2)*C(i)+3*right)/(N+1)
...
C(i+N)=(C(i)+N*right)/(N+1)
【0023】
32を加えることで、カウンタがオーバフローし、最低のカウンタ数から再度カウントを続行した状況を修正する。この技法は、以下の様々な数式でカウンタのオーバフローを修正するために適用される。
【0024】
ステップ310で何らかの欠落したデータが置き換えられると、ステップ320で収集間隔ごとに異なる計算が実行される。考察を簡略化するために、バイトカウントまたは他のデータ測定方法にパケットカウントの参照も適用する。Cin(i)=サンプル時間iの入口NE110でのパケットカウントであり、Cout(i)=サンプル時間iの出口NE120でのパケットカウントである場合、以下の数式(2)および(3)のセットを使用して、以下のようにパケットの差を取得することができる。
Diff_In(i+1)=Cin(i+1)−Cin(i)
(2)
(Cin(i+1)<Cin(i))の場合、Diff_In(i+1)=Diff_In(i+1)+232
Diff_Out(i+1)=Cout(i+1)−Cout(i)
(3)
(Cout(i+1)<Cout(i))の場合、Diff_Out(i+1)=Diff_Out(i+1)+(C(i+N+1)<C(i))の場合、Cright=C(i+N+1)+232
Diff_In(i+1)は、時間iから時間i+1の間に入口NEに入って行くユーザパケットの数である。Diff_Out(i+1)は、時間iから時間i+1の間に出口NEを出て行くユーザパケットの数である。
【0025】
この例では32ビットカウンタが想定されているが、カウンタサイズはネットワーク要素に応じて変更可能である。ここでも、232を加えることでカウンタのオーバフローを補償している。
【0026】
ステップ320で、各間隔についてネットワークに入るパケットからネットワークから出るパケットを引いた数が、Diff_In(i+1)とDiff_Out(i+1)との差、すなわち数式(4)にあるように、時間iから時間i+1の間にネットワークに入ったパケット数とネットワークから出たパケット数との差として算出される。
K(i+1)=[Diff_In(i+1)−Diff_Out(i+1)]
(4)
【0027】
サンプリング時間が不正確であることから、たとえ損失なしの状況下であってもK(i)はゼロにはならないが、正および負の値を取ることになる。しかしながら、損失なしの状況下では、入力時のあらゆるパケットが最終的に出力時に所在を確認されるため、損失なしの場合、K(i)は平均値ゼロのランダム変数である。K(i)の平均値における正の値方向へのシフトは、ネットワーク内でのデータの損失を示す。K(i)におけるランダムな変動は、測定しようとしている損失率サイズについて、信号内の変動に比べて平均値における上方シフトが小さいため、小さなデータ損失率の測定を困難または不可能にする。損失率は、所与の時間間隔において、損失したデータをユーザによってネットワークに送られたデータで割った数として定義される。
【0028】
(パケットカウントではなく)バイトカウントが使用されている場合、ステップ330を呼び出さなくてはならない。これは、バイトカウント特有の唯一のステップである。場合によっては、入口ネットワーク要素110および出口ネットワーク要素120の両方で、パケットカウントを取得できない可能性がある。入口および出口NEのデータパケットは異なるルーティングヘッダサイズを有する場合があり、NEはユーザデータおよびヘッダを含むバイトカウントを報告する。そこで、たとえネットワーク内にデータ損失がない場合であっても、入口および出口でカウントされたバイトの差の平均はゼロにならない。バイト数の差がパケットあたりで一定であるため、ヘッダサイズにおけるこの差を補償することができる。第1に、1間隔あたりのパケット数は、数式(5)のセットを使用して1間隔あたりで算出しなければならない。
P(i+1)=[Cp(i+1)−Cp(i)]
(5)
(Cp(i+1)<Cp(i))の場合、P(i+1)=P(i+1)+232
p(i)は、サンプル時間iの入口NE(または出口NE)でのパケットカウントである。Cp(i+1)=サンプル時間i+1の入口NE(または出口NE)でのパケットカウントである。この例では、32ビットカウンタが想定されている。
【0029】
1パケットあたりで除去または追加された1パケットあたりのバイト数は、以下の数式(6)で算出される。
(6)
【0030】
Nの典型的な値は約15から20であろう。上の公式における「丸め」関数が、最も近い整数に丸めている。修正後の入力バイト引く出力バイトは、数式(7)によって決定される。
new(i)=[K(i)−b*P(i)]
(7)
【0031】
ステップ340は、バイトデータまたはパケットデータが使用されようと実行され、時として通常よりも長いサンプリング時間、すなわち入口および出口での同時性の欠如を原因とする、データ内の大きな変動を除去することからなる。ステップ340は、以下のアルゴリズムからなる。
IF((ABS(K(i−1))<2*TH)&(K(i)>3*TH)&(−K(i+1)>3*TH))
New=(K(i)+K(i+1))/2;
c(i)=New;
c(i+1)=New;
ELSEIF((ABS(K(i−1))<2*TH)&(−K(i)>3*TH)&(K(i+1)>3*TH))
New=(K(i)+K(i+1))/2;
c(i)=New;
c(i+1)=New;
ELSE
c(i)=K(i);
END
変数「TH」は、しきい値または以下の数式(8)に従って算出されたK(i)の標準偏差(σ)である。Kcは修正後のパケット差である。
(8)
【0032】
「μ」の値は以下の数式(9)に従って算出される。
(9)
【0033】
上記で算出される標準偏差は、通常は約10であるいくつかの収集間隔(m−r+1)にわたるものである。このセットで最終のK(m)は時間間隔(i−1)の直前であるため、m=i−2である。
【0034】
時として、ルータなどのネットワーク要素が輻輳し、たとえトラフィックがルータを通り過ぎた場合であってもルータプロセッサがトラフィックカウンタを増分しない場合がある。任意のiについて、Kc(i)の絶対値が6つの隣接する合計入力パケットカウントの平均の10%よりも大きく、さらに5つの隣接するKc(i)値の平均の3倍よりも大きい場合、これは、カウンタの更新障害が原因であると想定されるであろう。この場合、Kc(i)値は他の5つの隣接するKc(i)値の平均に置き換えられるであろう。変更が行われた場合、Kc(i)の記号(正または負)は維持される。これは図3aのステップ350で実施される。
【0035】
以下の数式セット(10)に記載されるように、1間隔あたりの入力(または出力)パケットの数を第1に算出する必要がある。
B(i+1)=[Cin(i+1)−Cin(i)]
(10)
(Cin(i+1)<Cin(i))の場合、B(i+1)=B(i+1)+232
【0036】
in(i)はサンプル時間iの入口NE110でのパケットカウントである。Cin(i+1)=サンプル時間i+1の入口NE110でのパケットカウントである。B(i+1)=時間iから(i−1)の間の合計入力パケットである。このステップでは、以下のアルゴリズムが使用される。
【0037】
{(ABS(Kc(i))>(0.1*(B(i−3)+B(i−2)+B(i−1)+B(i)+B(i+1)+B(i+2))/6)AND((ABS(Kc(i))>3*(Kc(i−3)+Kc(i−2)+Kc(i−1)+Kc(i+1)+Kc(i+2))/5)}
の場合、
c(i)=(Kc(i)の符号)ABS(Kc(i−3)+Kc(i−2)+Kc(i−1)+Kc(i+1)+Kc(i+2))/5
その他の場合
c(i)=Kc(i)
【0038】
表記法を簡略化するために、この点から、ステップ310から350までデータを通過させた結果を表すためにK(i)が使用されることになる。小さな損失率を検出するための本発明の方法の基本原理は、デジタル信号処理技法を使用して信号中のノイズ(すなわち、K(i)内の変動)を減少させることである。K(i)はデジタル信号とみなすことができる。こうしたK(i)内の変動には1程度の変動期間があるため、すなわちKは1つのサンプルから次へと著しく変化している。これは変動の高周波構成要素であり、変動のほとんどが信号スペクトルの高周波側にある。低域デジタルフィルタをK(i)に適用すると高周波ノイズが大きく減少し、平均値の上方シフトがより容易に検出できるようになり、フィルタリング済み信号の平均値はフィルタリングされていない信号と同じ量だけシフトすることになる。
【0039】
ステップ360で、長さLのFIRフィルタが低域フィルタとして適用される。FIRフィルタの一般構造は数式(11)によって与えられ、ここでK(n)は入力サンプルであり、h(m)はFIRフィルタの重みである。
(11)
【0040】
例えば、すべての重みが1/Lに等しい移動平均FIRである低域フィルタの単純なケースは、数式(11)を数式(12)に単純化する。
(12)
【0041】
例えばLが6の場合、数式12は以下の数式(13)となる。
(13)
【0042】
Lの選択は平滑化の度合いと処理遅延との間のトレードオフに依存する。Lが大きいほどノイズは大きく減少するが、より多くのK(i)サンプルが必要であるため、結果を得るのにより長く時間がかかることになる。低域フィルタの他の例は、2つの移動平均FIRフィルタの連結である。これは、1つの平均化フィルタを適用した後、再度他の平均化フィルタを第1のフィルタを適用した結果に適用するものである。例えば、2つのL=3移動平均フィルタの連結を使用して、信号k(i)で開始すると(すなわち、k(1)、k(2)、k(3)、...)、第1のフィルタを適用して中間シーケンスZ(i)、すなわち、z(3)=(1/3)(k(3)+k(2)+k(1))、Z(4)=(1/3)(k(4)+k(3)+k(2))、z(5)=(1/3)(k(5)+k(4)+k(3))...を得ることができる。
【0043】
次に、第2のフィルタがZ(i)に適用され、シーケンスy(i)が得られる。y(5)=(1/3)(z(5)+z(4)+z(2))=(1/9)(k(5)+2k(4)+3k(3)+2k(2)+k(1))、y(6)=(1/3)(z(6)+z(5)+z(3))=(1/9)(k(6)+2k(5)+3k(4)+2k(3)+k(2))、y(7)=...
【0044】
したがって、2つの移動平均L=3フィルタの連結は、係数h():1/9、2/9、3/9、2/9、1/9の1つのL=5フィルタの適用と等化である。例えば、(上記とは)異なるL=5フィルタは、係数h():1/5、1/5、1/5、1/5、1/5を有する移動平均L=5フィルタとなる。
【0045】
データは、複数の低域フィルタを通じて並列に(同時に)処理することができる。図2に示されるように、複数Nの異なるタップサイズを使用することができる。これらそれぞれの並列処理について、ステップ370から460を実行することになる。より大きなタップサイズのフィルタには、より長い処理遅延が含まれるが、より小さな損失率を検出することができる。異なるタップサイズのフィルタを使用する理由は、より大きな損失率をより早く検出できることである。
【0046】
ステップ370では、フィルタリング済みデータの統合が行われる。前述のように、K(i)(またはy(i))の平均における上方シフトはデータ損失を示す。この損失はy(i)が数式(14)のように統合されると、さらにより簡単に検出される。y(i)の平均がゼロから上方にシフトすると、I(j)はy(i)グラフの下で領域を表す場合、上方に傾斜することになる。
【0047】
【数1】

【0048】
図4は、ルータから収集されたデータのサンプルの、統合信号I(j)420のプロットを示す。信号上に重ね合わせられるのは、信号を上方に傾斜させる何らかのデータ損失410である。これが測定しようと試みているI(j)の上方変位である。これは、図4のI(j)420の変動に見られるような信号中のノイズから識別されなければならない。
【0049】
ステップ380で、ウィンドウサイズはデフォルトウィンドウサイズに設定され、反復カウンタがゼロに設定され(n=0)、標準偏差σが算出される。ウィンドウとは、パケット損失率の測定が望ましい整数の収集間隔にわたる時間間隔である。これは、デジタル信号I(j)のいくつかのサンプルに関連付けられる。サンプル時間i=aからサンプル時間i=zまで、ウィンドウはサイズw=z−a+1である。信号がノイズより上に上昇した後、より小さな損失率はより長い期間にわたってしか検出できないため、1つの収集間隔またはウィンドウサイズ1以外の様々なウィンドウサイズを使用することが必要である。デフォルトウィンドウサイズは、NEからのデータの経験から選択される。デフォルトウィンドウサイズは、使用されている低域フィルタ、NEでの測定の同時性の度合い、およびトラフィックの特徴に依存する。デフォルトウィンドウサイズは、ステップ410の検出可能性テストに通常は適合し、ターゲット損失率に合致するためにより大きなウィンドウを使用する必要がないように選択される。
【0050】
以下に記載されるアルゴリズムループが実行された回数をカウントするために、反復カウンタnが使用される。各反復後、検出ウィンドウの左端が1収集間隔だけ右(時間的に先)へシフトされる。
【0051】
標準偏差は、数式(16)によって「μ」が定義された数式(15)によって与えられる。
(15)
(16)
【0052】
上記では、mはウィンドウの左端直前の時間値であり(m=a−1)、rはウィンドウの左端から15(例えば)を引いた値である。σを算出するのに使用されるデータポイントI(j)の数が小さいほど、算出されたσが許容不能な量だけ真の値を離れている確率が大きくなる。以下の検出可能性基準を97%の信頼レベルで適用するためには、およそ10またはそれ以上のデータポイントが必要である。最終的に、ステップ380で
【0053】
【数2】

【0054】
を設定する。このσは、
【0055】
【数3】

【0056】
のデフォルト初期設定にのみ使用されることに留意されたい。後続の
【0057】
【数4】

【0058】
の更新はステップ420で実行される。標準偏差は、損失率が測定されるウィンドウでは計算されず、ウィンドウの左(時間的に前)のいくつかのデータポイントを使用して計算されることに留意されたい。
【0059】
ステップ390で反復カウンタが増分される。ステップ400で、ターゲット損失率に合致する最も小さいウィンドウが選択される。指定されたターゲット損失率T(例えば10-2、10-3など)を測定するために、ウィンドウ内で失われたパケット数はTwMとなり、ここでwMはウィンドウ中にネットワークに入ったパケットの合計数であり、Mはウィンドウ内で1収集間隔あたりのネットワークに入ったパケットの平均数である。検出可能な損失TwMの量の場合、I(j)の算出された標準偏差の3倍より大きい、または
【0060】
【数5】

【0061】
でなければならない。ウィンドウサイズはターゲット率条件を満たす最も小さいサイズでなければならず、それより大きいウィンドウは明らかに不等式を満たすが、損失率測定値を取得する際のより大きな遅延につながる。Diff_In(a)+Diff_In(a+1)+...Diff_In(z)=wMによって与えられた時間aから時間zまでのパケットカウントを使用して、
【0062】
【数6】

【0063】
を満たす最も小さなウィンドウが選択される。
【0064】
標準偏差が算出される期間はI(j)信号を表すだけの十分な大きさでなければならないが、測定プロセスが遅延するほど長すぎてはならない。例えば、以前のI(j)の値10または15を使用することができる。σが算出されるI(j)のサンプルは、損失が検出されなかった連続する範囲でなければならない。データ損失はI(j)を上方にシフトさせ、σの値をスキュー(skew)させる。これは、以前のσがステップ440で使用されるからである。
【0065】
ステップ410で、ウィンドウ内に検出可能性テストが適用され、選択したウィンドウ内で損失が適切に測定できるかどうかが判別される。ウィンドウの期間中(aからz)、ネットワークに入ったパケットの合計数−出たパケットの合計数が、数式(17)に記載されている。
【0066】
D=I(z)−I(a−1)=y(a)+y(a+1)+...+y(z)
(17)
【0067】
これは失われたと想定されるパケットの数を測定するものである。しかしながら、推定された損失が統計的な変動によるものではないというある程度の確信を持つためには、Dが、時間i=a−1までの期間にわたって算出される信号I(j)の標準偏差の3倍よりも大きいことが必要である。この要件が、検出可能性基準またはしきい値である。したがって、
【0068】
【数7】

【0069】
の場合、損失が検出される。
【0070】
損失の検出可能性基準に合致しない場合、すなわち
【0071】
【数8】

【0072】
の場合、プロセスはステップ420に分岐する。ステップ420では、損失率がこの特定のFIRフィルタで使用されたターゲットTよりも小さいとして報告され、新しい標準偏差は、損失がないデータの最新の範囲にわたってステップ380で使用されたのと同じものを使用して算出され、以前のσとの平均値を取る。すなわち、以下の数式(18)が使用される。
【0073】
【数9】

【0074】
以前のσの値にわたって平均値を取る理由は、これがサンプリングエラーからの標準偏差における変動をなくすためのフィルタとして働くからである。
【0075】
検出可能性基準に合致した場合、すなわち
【0076】
【数10】

【0077】
の場合、ステップ430で、検出可能損失率測定を使用して数式(19)により損失率の値が決定および報告される。これは、ウィンドウ内で測定されたデータ損失をウィンドウ内の入力データで割ったものである。
LR=D/(wM)
(19)
【0078】
損失が適切に測定できた場合、この損失は信号中の統計的なノイズとは無関係な理由でσをより大きな値にスキューさせることになるため、以前に算出された標準偏差σがステップ440で使用され、したがって、
【0079】
【数11】

【0080】
となる。
【0081】
ステップ450へは、ステップ420または440のいずれかから到達する。ウィンドウの左端は1時間間隔だけ右へ移動し、すなわちaがa+1に置き換わる。ブロック380で論じたように、デフォルトウィンドウサイズが選択される。もう1つのデータポイントがまだ使用できない場合、プロセスはこれが事前処理ステップ410から480で使用できるようになるまで待機し、ステップ390に戻って手順が繰り返され、反復カウンタが増分される。
【0082】
仮想プライベートネットワーク(VPN)500では、図5に示されるように複数の加入者宅内機器(CPE)510が存在する。CPE510はリンク515によって端部ネットワーク要素520(ルータ以外のNEとすることができる)上のインターフェースに接続される。VPNを起源とするネットワーク内のデータ損失率を測定することが望まれる。各端部ネットワーク要素で、ネットワーク内に入って行くデータの量およびネットワークから出て行くデータの量が測定できると想定される。VPNでは、任意のサイトからのトラフィックを他のいずれかのサイトに分配することができる。エンドポイントデータのみが使用可能であると想定される。VPN全体の損失率は、VPN端部リンク全体にわたってネットワークに入るトラフィックを総計すること、およびVPN端部リンク全体にわたってネットワークから出るトラフィックを総計することによって、ポイントツーポイントのケースで使用されるものと同じ手順を使用して決定することができる。このプロセスは、非マルチキャストVPNにのみ適用されることになる。
【0083】
以下の測定値は、iとラベル表示されPLRMS130に送られる等しく配置された時間間隔について、アクセスインターフェース530で取られたものと想定する。Cpin(j,i)は、アクセスインターフェースj(j=1、2、...、M)に対する時間iでの入力パケットカウントである。Cpout(j,i)は、アクセスインターフェースj(j=1、2、...、M)に対する時間iでの出力パケットカウントである。これにより、各インターフェースjについて2つの時間シーケンス、(Cpin(j,1)、Cpin(j,2)、Cpin(j,3)、...)および(Cpout(j,1)、Cpout(j,2)、Cpout(j,3)、...)が生成されることになる。このデータは、図6の入力ステップ600で使用される。図3aおよび3bのポイントツーポイントケースでは、ステップ610で、欠落データは図3aの流れ図のステップ310として線形補間によって充てんされる。
【0084】
ステップ620で、各アクセスインターフェース(j)530でVPNネットワークに入るパケットは、数式(20)および(21)に従って決定される。
in(j,i+1)=[Cpin(j,i+1)−Cpin(j,i)] (20)
(Cpin(j,i+1)<Cpin(j,i))の場合、Pin(j,i+1)=Pin(j,i+1)+232 (21)
【0085】
pin(j,i)は、アクセスインターフェースjのサンプル時間iでの入力パケットカウンタ値である。Cpin(j,i+1)=アクセスインターフェースjのサンプル時間i+1での入力パケットカウンタ値である。
【0086】
in(j,i+1)=時間iから(i+1)の間にアクセスインターフェースjに入るパケットの数である。この例では、32ビットカウンタが想定されている。
【0087】
ステップ630で、各アクセスインターフェースjでネットワークから出るパケットは、数式(22)および(23)に従って算出される。
out(j,i+1)=[Cpout(j,i+1)−Cpout(j,i)] (22)
(Cpout(j,i+1)<Cpout(j,i))の場合、Pout(j,i 1)=Pout(j,i+1)+232 (23)
【0088】
pout(j,i)は、アクセスインターフェースjのサンプル時間iでの出力パケットカウンタ値である。Cpout(j,i+1)はアクセスインターフェースjのサンプル時間i+1での出力パケットカウンタ値である。
【0089】
out(j,i+1)は時間iから(i+1)の間にアクセスインターフェースjを出るパケットの数である。この例では、32ビットカウンタが想定されている。
【0090】
ステップ640で、公式(24)を使用して、時間iから時間i+1の間にネットワークに入るVPNの合計パケット数からネットワークから出るパケット数を引いた数が算出される。
(24)
【0091】
次に、VPNにおけるデータ損失を測定するために、図3aおよび3bの流れ図に示されたプロセスで、K(i)と同じ方法でKp(i)が使用される。Kp(i)データは、VPNのケースでの損失率を決定するために、図3aのステップ340から始まるプロセスによって使用される。
【0092】
この方法には、ネットワーク内のデータ損失率を測定するためのいくつかの簡略化および変形がある。バイトカウント以外のパケットカウントが使用されるステップ330は不要である。バイト数で表されたパケットサイズが入口および出口の測定ポイントで同じであることが分かっている場合、これは不要である。
【0093】
方法の簡略化として、1つの低域フィルタのみを使用することができる。これによって、検出可能な損失を適切に測定するためにプロセスが必要とする時間量を増加させてしまう可能性があるが、全体の複雑さは低下する。
【0094】
ステップ370は、簡略化として除外することができる。この場合、標準偏差はIシーケンスの代わりにKシーケンスを使用して算出される。Kシーケンスの標準偏差はIシーケンスのそれの約半分であることが、経験的にわかっている。そのため、ステップ370の統合はスキップされ、ステップ410で使用される検出可能性基準をD>6σに変更しなければならない。
【0095】
この方法の簡略化として、固定ウィンドウサイズを使用することができる。このケースでは、ステップ410の終わりに損失が測定できない場合、プロセスはステップ450へとスキップする。図7は、本発明に従ったPLR測定システム130の概略図である。プロセッサ710は、パーソナルコンピュータ、ワークステーション、ミニコンピュータ、または他の汎用コンピュータで見られるような中央処理ユニットである。プロセッサ710はメモリ720および入力/出力ユニット730に接続される。プロセッサ710は、様々なプログラミング言語からコンパイルまたは変換されたコンピュータプログラム命令を実行することができる。メモリ720は、入口ネットワーク要素110、出口ネットワーク要素120、またはVPNの場合は端部ルータ520の様々な端部ネットワーク要素510から受け取った、パケットカウントデータまたはバイトデータに加えて、前述の数式およびアルゴリズムの実施が可能なコンピュータプログラムを格納する。入力/出力ユニット730は、プロセッサ710が、入口ネットワーク要素110などの1つまたは複数のネットワーク要素からパケットまたはバイトカウントデータを受け取り、算出されたパケット損失率をディスプレイ740上でユーザに表示できるようにするものである。
【0096】
カウンタデータは、ネットワークサービス業界で十分に確立されている様々な方法で、ネットワーク要素から取得することができる。例えば、ネットワーク要素は内部インターネットワークまたは同等の内部通信システムによって接続される。ネットワーク要素は、所定の時間でデータをサンプリングし、それらのデータファイルを中央ロケーションに送る。別の方法として、ネットワーク要素は内部インターネットワークまたは同等の内部通信システムによって接続される。中央コンピュータは、(例えばSNMPによって)ネットワーク要素にデータを使用して応答するように要求を送信する。大規模なネットワークサービスプロバイダは、この損失率決定方法に必要なデータを収集することができるオペレーションサポートシステムをすでに備えている。
【0097】
上記の記述は、本発明を例示および説明するためだけに提示されたものである。これは本発明を網羅するか、または開示されたいかなる精密な形にも限定することを意図するものではない。上記の教示に鑑みて、多くの修正および変形が可能である。記載された適用範囲は、他の当業者が様々な応用例で、および企図された特定の用途に好適な様々な修正を利用して本発明を最も良く利用できるようにするために、本発明の原理およびその実際の応用例を最も良く説明するために選択および記載されたものである。
【図面の簡単な説明】
【0098】
【図1】典型的なネットワークに統合された本発明を示す図である。
【図2】パケットデータに関して複数のFIRフィルタを同時に使用する本発明の損失率測定プロセスを示す簡略化された流れ図である。
【図3a】損失率測定プロセスを示す完全な機能ブロック図である。
【図3b】損失率測定プロセスを示す完全な機能ブロック図である。
【図4】ネットワーク要素から収集されたデータのサンプルに関する統合信号I(j)のプロットを示す図である。
【図5】仮想プライベートネットワークに統合された本発明を示す図である。
【図6】仮想プライベートネットワークからのパケット(バイト)カウントデータに必要な事前処理を示す流れ図である。
【図7】本発明のパケット損失率測定システムを示す概略図である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットプロトコル(IP)、非同期転送モード(ATM)、フレームリレー(FR)、あるいはマルチプロトコルラベルスイッチング(MPLS)ネットワークまたは仮想プライベートネットワーク(VPN)のいずれかである、パケットベースネットワークにおいて、パケット損失率(PLR)を測定するための方法およびシステムに関する。複数の管理ドメインを横切るエンドツーエンドPLRは、通過ネットワークの情報を必要とすることなく測定される。これは、ネットワークの入口/出口(ingress/egress)または端部のみでスループットデータを収集することによって達成される。収集されたデータは、損失情報を抽出するために処理される。
【背景技術】
【0002】
パケットベースネットワークでは、ネットワークユーザに提供されるサービス品質の測度の1つがパケット損失率(PLR)である。PLRは、失われたデータパケットの数と、ユーザによってネットワークに伝送されたパケットの合計数との比である。ATMでは、セル損失率とも呼ばれる。パケット損失率(PLR)は、サービス品質およびサービスレベルアグリーメント(SLA)における基本パラメータの1つであり、周知のように測定は困難である。
【0003】
パケット損失率を測定する既存の方法では、プローブを使用するか、またはホップバイホップ測定値(hop by hop measurement)を収集する。プローブは能動的または受動的のいずれかとすることができる。どちらの場合でも、中央局などの戦略上重要な場所に専用機器をインストールする必要がある。こうしたインストールには費用がかかる。ネットワークが大きく成長すると追加のインストールが必要である。言い換えれば、プローブの使用は本質的にスケーラブルではない。
【0004】
パケット損失を測定する第2の既存の方法は、ホップバイホップ測定値の収集を必要とする。これには詳細なトポロジ情報が必要であり、中間ネットワークオペレータの協力も必要である。パケットは競合企業が所有するネットワークをトラバースすることが可能であり、PLRの測定に必要なホップバイホップデータの提供を希望しないオペレータがいる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【0005】
ネットワーク間またはネットワークの一部の間でデータを共有する必要なしに、サービスに関するパケット損失率を測定することが可能な、システムおよび方法を有することが望ましいであろう。
【0006】
さらに、経済的であり能動的または受動的なプローブのインストールを必要とする所与のサービスに関するパケット損失率を測定するための、方法およびシステムを有することが望ましいであろう。
【0007】
さらに、本質的にスケーラブルであり、従来よりも大規模なネットワークで使用するために追加のプローブをインストールする必要がない、システムおよび方法を有することが望ましいであろう。
【0008】
最後に、パケット損失を測定するだけのためにさらにトラフィックを追加することのない方法およびシステムを有することが望ましいであろう。
【課題を解決するための手段】
【0009】
本発明は、ハードウェアまたはソフトウェアプローブを使用せずに、ネットワーク内のパケット(セル、データ)損失率を測定するための方法およびシステムを提供する。本発明のシステムおよび方法は、特定チャネルのパケットカウントまたはバイトカウントなどの、入口および出口のネットワーク要素トラフィック情報のみを使用する。この手順は、仮想プライベートネットワーク(VPN)でも使用可能である。本方法およびシステムは、入口および出口ネットワーク要素での(またはVPNの場合はすべての端部ネットワーク要素での)パケットカウントまたはバイトカウントに関するデータを使用する。このカウンタデータが事前処理され、失われたデータを完了し、データ差信号を生成するために収集間隔あたりの差を算出し、バイトカウントデータの場合のヘッダサイズ変動を修正し、望ましくない変動を除去し、カウンタをアップデートするためにネットワーク要素障害を調整する。データ差信号は事前処理されると、1つまたは複数のタップサイズの低域フィルタを介して送られ、統合することができる。所定のウィンドウまでの時間間隔内での、フィルタリング済みおよび/または統合済みデータの標準偏差が決定される。所定のウィンドウ内で計算されたデータ損失率が、算出された標準偏差に基づく検出可能性しきい値よりも大きい場合、このプロセスはウィンドウ内の検出可能損失を測定したことになる。損失が測定可能な場合、損失率が報告される。
【発明を実施するための最良の形態】
【0010】
図1は、本発明のパケット損失率測定のシステムおよび方法が使用可能な、典型的なネットワークを示す図である。入口ネットワーク要素110および出口ネットワーク要素120からなるネットワーク要素が、いくつかの他のネットワーク要素からなることが可能なネットワーク100に接続される。ネットワーク要素は、ATM、IP、FR、またはMPLSのうちのいずれかであるネットワーク100のタイプに特有のフォーマットおよびプロトコルでデータのパケットまたはバイトを伝送することが可能な、任意のタイプのパケットスイッチ、ルータ、ATMデバイス、または他の要素とすることができる。パケット損失率測定システム(PLRMS)130は、パケット損失率を決定するために必要なデータが以下で説明する計算を実行するために送信される、本発明の新規な諸態様を含む。PLRMS130の正確な働きについて、以下で説明する。
【0011】
本発明は、入口および出口のネットワーク要素(NE)からのパケットカウント(またはバイトカウント)データのみを使用した、特定チャネルに関するネットワーク内でのデータ損失の検出を可能にする。データは、ネットワークを横切って移送される際にいくつかの他のネットワーク要素を通過する可能性があるが、パケット損失データはこれらの中間ネットワーク要素から入手可能であるかまたは入手可能でない場合があり、あるいはデータ収集システムが端部データのみを収集するように選択する。本開示では、一方向の通信チャネル内でのパケット損失を決定するプロセスについて説明し、他方向は同じ方法で別個に扱われる。
【0012】
正しく動作するためには、本発明のいくつかの条件に合致しなければならない。入口および出口でのパケットカウントまたはバイトカウントは、損失なしという条件の下で、入口から入ったすべてのパケットが出口から出て行かなければならない1つの通信チャネルのことを指す。ネットワークは、チャネルにいかなるデータも追加してはならず、またはチャネルからデータを除去してはならない。パケットがネットワークを通過する際にネットワークがルーティングヘッダのサイズを修正した場合、本発明の方法は、ヘッダサイズの変更を修正し、それでもなお本方法を適用してネットワーク内でのユーザのトラフィック損失を測定することができる。データがネットワークを通過する経路は重要ではなく、様々なデータパケットが様々なルートをたどることさえも可能である。すべてのユーザデータの入口点および出口点が同じであることだけが重要である。
【0013】
パケットおよびバイトカウントは、入口および出口のネットワーク要素110および120で、通常、等間隔でサンプリングされる。サンプリング間隔は、ネットワークのハードウェアおよびソフトウェア構成によって異なる場合がある。しかしながら、収集間隔が短くなるほど、それに比例してPLRの測定値を取得するための処理遅延も短くなる。収集間隔が短いほど望ましいことは明らかである。サンプリング間隔は、およそ1分からおよそ10分までの間とすることができる。所与のサンプルペアpacket_count_inおよびpacket_count_outは、理論上、同時に採取される。これはもちろん実際には実行できず、入口ネットワーク要素110および出口ネットワーク要素120のパケットカウントはわずかに異なる時間に取られることになる。入口から出口までのデータパケットの移動時間は、ほぼ必ず、入口および出口のネットワーク要素でデータをサンプリングしている時間差よりもかなり短くなるため、ネットワークを通過するパケット移動時間は無視することができる。たとえ移動時間が、入口と出口のNE間でのデータサンプリングにおける典型的な同時性の欠如に匹敵する場合であっても、この手順は機能する。さらにこの手順は、サンプリング間隔が等間隔でない場合にも機能するが、ほとんどのネットワークでは、等間隔に配置されたサンプリング間隔が使用されることになる。
【0014】
損失なしという条件の下では、入口ネットワーク要素110でのすべてのユーザパケット(またはバイト)は、出力または出口ネットワーク要素120で所在が確認されなければならない。ネットワーク内での損失は、データサンプル間の各時間間隔中に入力と出力とのパケットまたはバイトカウントを比較することによって検出することができる。しかしながら、入口および出口では正確に同じ間隔で測定できないため、データ内にはノイズが存在する。この測定値内の同時性の欠如によって生じる信号内のほとんどのノイズを消去することが、本発明のシステムの特徴である。時間差が大きくなるほど、より小さな損失率を検出することが困難になるであろう。
【0015】
本発明の目的は、エンドポイントでの測定値のみを使用して、ネットワーク内の特定チャネル(または特定VPN)からのデータ損失があったかどうかを判別することである。生データは、ほぼ等しく配置された時間間隔での入口および出口ネットワーク要素でのパケットカウンタの値、すなわちpacket_count_in(byte_count_in)およびpacket_count_out(byte_count_out)からなる。この生データは、各収集間隔中にネットワークに入ったパケット数とネットワークから出たパケット数との差を取得するために、図3aおよび3bのステップ300〜350で説明する準備手順を通じて処理され、これは図2でKc(i)として示されている。この信号Kc(i)を使用してネットワーク内のデータ損失を検出することが可能であり、これは、1間隔あたりのpackets_inからpackets_outを引いたものである。しかしながら、端部NEからの生データの読み取りに同時性が欠如しているため、この信号は正の値と負の値の間を変動する。ネットワーク内に損失がない場合、最終的にすべての入力パケットが出力時に所在確認されるため、Kc(i)の平均値はゼロになる。ネットワーク内にデータ損失がある場合、入って行くパケットの方が出て行くパケットよりも多いため、信号の平均値は正となる。Kc(i)の平均値の上方シフトの大きさが、ネットワーク内のデータ損失の測定値である。Kc(i)における変動がデータ内のノイズを表す。
【0016】
信号内にノイズがあるため、平均値における上方シフトは明らかにノイズを上回る場合にのみ検出することができる。この手順の原理は、データをフィルタリングすることにより検出感度を上げることである。ステップ360では、タップサイズNの低域FIRフィルタが係数1/Nによって信号内のノイズを減少させる。図2は、N個の複数のタップサイズを使用して図3aおよび3bの流れ図を簡略化したものである。図2の参照番号は図3aおよび3bに関して以下で説明する様々なステップを指す。図2では、各タップサイズでフィルタリングされた信号はy1、y2、...yNで表される。損失なしの条件下では、信号yはゼロ平均値も有し、ネットワーク内にデータ損失がある場合、等価の上方シフトを示す。
【0017】
検出感度をさらに上昇させるために、ステップ370で各信号yが統合され、信号Iy1、Iy2、、...IyNが取得される。損失率が一定である場合、yは一定数だけ上方にシフトし、同じ時間間隔中にIyは上方への線形成長を示す。
【0018】
この点からこの手順は、ターゲットしきい値損失率について、所定のウィンドウ(ステップ380または450で設定されたデフォルトウィンドウ、あるいはステップ400で設定された選択済みウィンドウサイズのいずれか)より前に算出された(ステップ380、420、または440)データの標準偏差に基づく検出可能性基準を、ステップ410で適用することからなる。ウィンドウとは、ネットワーク内の損失率が測定されるいくつかの収集間隔をカバーする時間間隔のことである。所与のFIRフィルタについて、および以前に取得したトラフィックデータでの経験から、どのサイズのウィンドウがほぼ常時ターゲットしきい値損失率に合致するだけの十分な大きさであるかがわかる。しきい値損失率とは、ネットワーク内の実際の損失率がこれを超えた場合に検出できなければならないような値のことである。典型的なしきい値は、10-2、10-3、などのように与えられる。ウィンドウは、新しいデータが使用可能になるのに間に合って前方に移動する。
【0019】
検出可能性基準は、ウィンドウ内でのIyの増加が信号Iyにおいて算出された標準偏差のおよそ3倍よりも大きくなければならないというものである。この場合、およそ97%の信頼レベルでネットワーク内の損失率を測定することができる。
【0020】
データは、図2に示されるように、異なるタップサイズの低域フィルタを介して並行して処理することができる。これを実行する理由は、遅延と損失率のより低いターゲットしきい値との間にトレードオフが存在するためである。タップサイズが大きいフィルタほど、より大きな係数でノイズを削減することになり、それに伴うより低いターゲット損失率を検出することが可能であるが、タップサイズが大きいということは結果を得るまでにより長い間待たなければならないということである。したがって大きな損失率をより早く観察するためには、データにタップサイズの異なるフィルタを通過させることが有用である。いずれの場合でも、小さな損失率を検出するにはより長い時間がかかる。
【0021】
図3aおよび3bは、損失率検出プロセスを示す機能ブロック図である。ステップ300で、入口ネットワーク要素110および出口ネットワーク要素120からのカウンタデータ(すなわちpacket_count_inまたはbyte_count_inおよびpacket_count_outまたはbyte_count_out)が、プロセスに入力される。ネットワーク要素からのトラフィック監視に関するほぼすべてのデータ収集は、等しい時間間隔で実行される。本発明の場合、データはネットワーク要素内のパケットカウンタ値またはバイトカウンタ値と呼ばれる。時折、1つまたは数個の連続する収集間隔でデータが欠落する。カウンタ値は単調に増加するため、次のカウンタ値が、データが欠落した間隔の間にカウンタがどれだけ増分されたかを示し、ステップ310で線形補間により欠落したデータを充てんすることができる。いかなる場合でもステップ360で実行されるフィルタリングにデータの平均化が含まれるため、この手順がデータ損失率の計算に影響を与えることはない。欠落したデータに対して線形補間を実行する場合は、カウンタがその最大値に達して再度ゼロから開始される際の、カウンタのオーバフローの可能性を考慮に入れなければならない。一例として32ビットカウンタが想定されるが、実際のカウンタは異なるサイズであってもよく、オーバフローの修正も同様となる。
【0022】
1つの特定のカウンタ変数に注目すると、中断のないシーケンス(すなわち、C(i)、C(i+1)、C(i+2)、C(i+3)、...)が存在するはずである。C(i+1)、C(i+2)、...C(i+N)が欠落した値であり、C(i)およびC(i+N+1)が欠落した値の両端にある最初および最後の既知の値である場合、CrightをC(i+N+1)のプレースホルダ値として使用することが可能であり、以下の数式(1)を使用して決定することができる。
right=C(i+N+1)
(1)
(C(i+N+1)<C(i))の場合、Cright=C(i+N+1)+232
および
C(i+1)=(N*C(i)+Cright)/(N+1)
C(i+2)=((N−1)*C(i)+2*right)/(N+1)
C(i+3)=((N−2)*C(i)+3*right)/(N+1)
...
C(i+N)=(C(i)+N*right)/(N+1)
【0023】
32を加えることで、カウンタがオーバフローし、最低のカウンタ数から再度カウントを続行した状況を修正する。この技法は、以下の様々な数式でカウンタのオーバフローを修正するために適用される。
【0024】
ステップ310で何らかの欠落したデータが置き換えられると、ステップ320で収集間隔ごとに異なる計算が実行される。考察を簡略化するために、バイトカウントまたは他のデータ測定方法にパケットカウントの参照も適用する。Cin(i)=サンプル時間iの入口NE110でのパケットカウントであり、Cout(i)=サンプル時間iの出口NE120でのパケットカウントである場合、以下の数式(2)および(3)のセットを使用して、以下のようにパケットの差を取得することができる。
Diff_In(i+1)=Cin(i+1)−Cin(i)
(2)
(Cin(i+1)<Cin(i))の場合、Diff_In(i+1)=Diff_In(i+1)+232
Diff_Out(i+1)=Cout(i+1)−Cout(i)
(3)
(Cout(i+1)<Cout(i))の場合、Diff_Out(i+1)=Diff_Out(i+1)+(C(i+N+1)<C(i))の場合、Cright=C(i+N+1)+232
Diff_In(i+1)は、時間iから時間i+1の間に入口NEに入って行くユーザパケットの数である。Diff_Out(i+1)は、時間iから時間i+1の間に出口NEを出て行くユーザパケットの数である。
【0025】
この例では32ビットカウンタが想定されているが、カウンタサイズはネットワーク要素に応じて変更可能である。ここでも、232を加えることでカウンタのオーバフローを補償している。
【0026】
ステップ320で、各間隔についてネットワークに入るパケットからネットワークから出るパケットを引いた数が、Diff_In(i+1)とDiff_Out(i+1)との差、すなわち数式(4)にあるように、時間iから時間i+1の間にネットワークに入ったパケット数とネットワークから出たパケット数との差として算出される。
K(i+1)=[Diff_In(i+1)−Diff_Out(i+1)]
(4)
【0027】
サンプリング時間が不正確であることから、たとえ損失なしの状況下であってもK(i)はゼロにはならないが、正および負の値を取ることになる。しかしながら、損失なしの状況下では、入力時のあらゆるパケットが最終的に出力時に所在を確認されるため、損失なしの場合、K(i)は平均値ゼロのランダム変数である。K(i)の平均値における正の値方向へのシフトは、ネットワーク内でのデータの損失を示す。K(i)におけるランダムな変動は、測定しようとしている損失率サイズについて、信号内の変動に比べて平均値における上方シフトが小さいため、小さなデータ損失率の測定を困難または不可能にする。損失率は、所与の時間間隔において、損失したデータをユーザによってネットワークに送られたデータで割った数として定義される。
【0028】
(パケットカウントではなく)バイトカウントが使用されている場合、ステップ330を呼び出さなくてはならない。これは、バイトカウント特有の唯一のステップである。場合によっては、入口ネットワーク要素110および出口ネットワーク要素120の両方で、パケットカウントを取得できない可能性がある。入口および出口NEのデータパケットは異なるルーティングヘッダサイズを有する場合があり、NEはユーザデータおよびヘッダを含むバイトカウントを報告する。そこで、たとえネットワーク内にデータ損失がない場合であっても、入口および出口でカウントされたバイトの差の平均はゼロにならない。バイト数の差がパケットあたりで一定であるため、ヘッダサイズにおけるこの差を補償することができる。第1に、1間隔あたりのパケット数は、数式(5)のセットを使用して1間隔あたりで算出しなければならない。
P(i+1)=[Cp(i+1)−Cp(i)]
(5)
(Cp(i+1)<Cp(i))の場合、P(i+1)=P(i+1)+232
p(i)は、サンプル時間iの入口NE(または出口NE)でのパケットカウントである。Cp(i+1)=サンプル時間i+1の入口NE(または出口NE)でのパケットカウントである。この例では、32ビットカウンタが想定されている。
【0029】
1パケットあたりで除去または追加された1パケットあたりのバイト数は、以下の数式(6)で算出される。
【0030】
【数1】

【0031】
Nの典型的な値は約15から20であろう。上の公式における「丸め」関数が、最も近い整数に丸めている。修正後の入力バイト引く出力バイトは、数式(7)によって決定される。
new(i)=[K(i)−b*P(i)]
(7)
【0032】
ステップ340は、バイトデータまたはパケットデータが使用されようと実行され、時として通常よりも長いサンプリング時間、すなわち入口および出口での同時性の欠如を原因とする、データ内の大きな変動を除去することからなる。ステップ340は、以下のアルゴリズムからなる。
IF((ABS(K(i−1))<2*TH)&(K(i)>3*TH)&(−K(i+1)>3*TH))
New=(K(i)+K(i+1))/2;
c(i)=New;
c(i+1)=New;
ELSEIF((ABS(K(i−1))<2*TH)&(−K(i)>3*TH)&(K(i+1)>3*TH))
New=(K(i)+K(i+1))/2;
c(i)=New;
c(i+1)=New;
ELSE
c(i)=K(i);
END
変数「TH」は、しきい値または以下の数式(8)に従って算出されたK(i)の標準偏差(σ)である。Kcは修正後のパケット差である。
【0033】
【数2】

【0034】
「μ」の値は以下の数式(9)に従って算出される。
【0035】
【数3】

【0036】
上記で算出される標準偏差は、通常は約10であるいくつかの収集間隔(m−r+1)にわたるものである。このセットで最終のK(m)は時間間隔(i−1)の直前であるため、m=i−2である。
【0037】
時として、ルータなどのネットワーク要素が輻輳し、たとえトラフィックがルータを通り過ぎた場合であってもルータプロセッサがトラフィックカウンタを増分しない場合がある。任意のiについて、Kc(i)の絶対値が6つの隣接する合計入力パケットカウントの平均の10%よりも大きく、さらに5つの隣接するKc(i)値の平均の3倍よりも大きい場合、これは、カウンタの更新障害が原因であると想定されるであろう。この場合、Kc(i)値は他の5つの隣接するKc(i)値の平均に置き換えられるであろう。変更が行われた場合、Kc(i)の記号(正または負)は維持される。これは図3aのステップ350で実施される。
【0038】
以下の数式セット(10)に記載されるように、1間隔あたりの入力(または出力)パケットの数を第1に算出する必要がある。
B(i+1)=[Cin(i+1)−Cin(i)]
(10)
(Cin(i+1)<Cin(i))の場合、B(i+1)=B(i+1)+232
【0039】
in(i)はサンプル時間iの入口NE110でのパケットカウントである。Cin(i+1)=サンプル時間i+1の入口NE110でのパケットカウントである。B(i+1)=時間iから(i−1)の間の合計入力パケットである。このステップでは、以下のアルゴリズムが使用される。
【0040】
{(ABS(Kc(i))>(0.1*(B(i−3)+B(i−2)+B(i−1)+B(i)+B(i+1)+B(i+2))/6)AND((ABS(Kc(i))>3*(Kc(i−3)+Kc(i−2)+Kc(i−1)+Kc(i+1)+Kc(i+2))/5)}
の場合、
c(i)=(Kc(i)の符号)ABS(Kc(i−3)+Kc(i−2)+Kc(i−1)+Kc(i+1)+Kc(i+2))/5
その他の場合
c(i)=Kc(i)
【0041】
表記法を簡略化するために、この点から、ステップ310から350までデータを通過させた結果を表すためにK(i)が使用されることになる。小さな損失率を検出するための本発明の方法の基本原理は、デジタル信号処理技法を使用して信号中のノイズ(すなわち、K(i)内の変動)を減少させることである。K(i)はデジタル信号とみなすことができる。こうしたK(i)内の変動には1程度の変動期間があるため、すなわちKは1つのサンプルから次へと著しく変化している。これは変動の高周波構成要素であり、変動のほとんどが信号スペクトルの高周波側にある。低域デジタルフィルタをK(i)に適用すると高周波ノイズが大きく減少し、平均値の上方シフトがより容易に検出できるようになり、フィルタリング済み信号の平均値はフィルタリングされていない信号と同じ量だけシフトすることになる。
【0042】
ステップ360で、長さLのFIRフィルタが低域フィルタとして適用される。FIRフィルタの一般構造は数式(11)によって与えられ、ここでK(n)は入力サンプルであり、h(m)はFIRフィルタの重みである。
【0043】
【数4】

【0044】
例えば、すべての重みが1/Lに等しい移動平均FIRである低域フィルタの単純なケースは、数式(11)を数式(12)に単純化する。
【0045】
【数5】

【0046】
例えばLが6の場合、数式12は以下の数式(13)となる。
【0047】
【数6】

【0048】
Lの選択は平滑化の度合いと処理遅延との間のトレードオフに依存する。Lが大きいほどノイズは大きく減少するが、より多くのK(i)サンプルが必要であるため、結果を得るのにより長く時間がかかることになる。低域フィルタの他の例は、2つの移動平均FIRフィルタの連結である。これは、1つの平均化フィルタを適用した後、再度他の平均化フィルタを第1のフィルタを適用した結果に適用するものである。例えば、2つのL=3移動平均フィルタの連結を使用して、信号k(i)で開始すると(すなわち、k(1)、k(2)、k(3)、...)、第1のフィルタを適用して中間シーケンスZ(i)、すなわち、z(3)=(1/3)(k(3)+k(2)+k(1))、Z(4)=(1/3)(k(4)+k(3)+k(2))、z(5)=(1/3)(k(5)+k(4)+k(3))...を得ることができる。
【0049】
次に、第2のフィルタがZ(i)に適用され、シーケンスy(i)が得られる。y(5)=(1/3)(z(5)+z(4)+z(2))=(1/9)(k(5)+2k(4)+3k(3)+2k(2)+k(1))、y(6)=(1/3)(z(6)+z(5)+z(3))=(1/9)(k(6)+2k(5)+3k(4)+2k(3)+k(2))、y(7)=...
【0050】
したがって、2つの移動平均L=3フィルタの連結は、係数h():1/9、2/9、3/9、2/9、1/9の1つのL=5フィルタの適用と等化である。例えば、(上記とは)異なるL=5フィルタは、係数h():1/5、1/5、1/5、1/5、1/5を有する移動平均L=5フィルタとなる。
【0051】
データは、複数の低域フィルタを通じて並列に(同時に)処理することができる。図2に示されるように、複数Nの異なるタップサイズを使用することができる。これらそれぞれの並列処理について、ステップ370から460を実行することになる。より大きなタップサイズのフィルタには、より長い処理遅延が含まれるが、より小さな損失率を検出することができる。異なるタップサイズのフィルタを使用する理由は、より大きな損失率をより早く検出できることである。
【0052】
ステップ370では、フィルタリング済みデータの統合が行われる。前述のように、K(i)(またはy(i))の平均における上方シフトはデータ損失を示す。この損失はy(i)が数式(14)のように統合されると、さらにより簡単に検出される。y(i)の平均がゼロから上方にシフトすると、I(j)はy(i)グラフの下で領域を表す場合、上方に傾斜することになる。
【0053】
【数7】

【0054】
図4は、ルータから収集されたデータのサンプルの、統合信号I(j)420のプロットを示す。信号上に重ね合わせられるのは、信号を上方に傾斜させる何らかのデータ損失410である。これが測定しようと試みているI(j)の上方変位である。これは、図4のI(j)420の変動に見られるような信号中のノイズから識別されなければならない。
【0055】
ステップ380で、ウィンドウサイズはデフォルトウィンドウサイズに設定され、反復カウンタがゼロに設定され(n=0)、標準偏差σが算出される。ウィンドウとは、パケット損失率の測定が望ましい整数の収集間隔にわたる時間間隔である。これは、デジタル信号I(j)のいくつかのサンプルに関連付けられる。サンプル時間i=aからサンプル時間i=zまで、ウィンドウはサイズw=z−a+1である。信号がノイズより上に上昇した後、より小さな損失率はより長い期間にわたってしか検出できないため、1つの収集間隔またはウィンドウサイズ1以外の様々なウィンドウサイズを使用することが必要である。デフォルトウィンドウサイズは、NEからのデータの経験から選択される。デフォルトウィンドウサイズは、使用されている低域フィルタ、NEでの測定の同時性の度合い、およびトラフィックの特徴に依存する。デフォルトウィンドウサイズは、ステップ410の検出可能性テストに通常は適合し、ターゲット損失率に合致するためにより大きなウィンドウを使用する必要がないように選択される。
【0056】
以下に記載されるアルゴリズムループが実行された回数をカウントするために、反復カウンタnが使用される。各反復後、検出ウィンドウの左端が1収集間隔だけ右(時間的に先)へシフトされる。
【0057】
標準偏差は、数式(16)によって「μ」が定義された数式(15)によって与えられる。
【0058】
【数8】

【0059】
【数9】

【0060】
上記では、mはウィンドウの左端直前の時間値であり(m=a−1)、rはウィンドウの左端から15(例えば)を引いた値である。σを算出するのに使用されるデータポイントI(j)の数が小さいほど、算出されたσが許容不能な量だけ真の値を離れている確率が大きくなる。以下の検出可能性基準を97%の信頼レベルで適用するためには、およそ10またはそれ以上のデータポイントが必要である。最終的に、ステップ380で
【0061】
【数10】

【0062】
を設定する。このσは、
【0063】
【数11】

【0064】
のデフォルト初期設定にのみ使用されることに留意されたい。後続の
【0065】
【数12】

【0066】
の更新はステップ420で実行される。標準偏差は、損失率が測定されるウィンドウでは計算されず、ウィンドウの左(時間的に前)のいくつかのデータポイントを使用して計算されることに留意されたい。
【0067】
ステップ390で反復カウンタが増分される。ステップ400で、ターゲット損失率に合致する最も小さいウィンドウが選択される。指定されたターゲット損失率T(例えば10-2、10-3など)を測定するために、ウィンドウ内で失われたパケット数はTwMとなり、ここでwMはウィンドウ中にネットワークに入ったパケットの合計数であり、Mはウィンドウ内で1収集間隔あたりのネットワークに入ったパケットの平均数である。検出可能な損失TwMの量の場合、I(j)の算出された標準偏差の3倍より大きい、または
【0068】
【数13】

【0069】
でなければならない。ウィンドウサイズはターゲット率条件を満たす最も小さいサイズでなければならず、それより大きいウィンドウは明らかに不等式を満たすが、損失率測定値を取得する際のより大きな遅延につながる。Diff_In(a)+Diff_In(a+1)+...Diff_In(z)=wMによって与えられた時間aから時間zまでのパケットカウントを使用して、
【0070】
【数14】

【0071】
を満たす最も小さなウィンドウが選択される。
【0072】
標準偏差が算出される期間はI(j)信号を表すだけの十分な大きさでなければならないが、測定プロセスが遅延するほど長すぎてはならない。例えば、以前のI(j)の値10または15を使用することができる。σが算出されるI(j)のサンプルは、損失が検出されなかった連続する範囲でなければならない。データ損失はI(j)を上方にシフトさせ、σの値をスキュー(skew)させる。これは、以前のσがステップ440で使用されるからである。
【0073】
ステップ410で、ウィンドウ内に検出可能性テストが適用され、選択したウィンドウ内で損失が適切に測定できるかどうかが判別される。ウィンドウの期間中(aからz)、ネットワークに入ったパケットの合計数−出たパケットの合計数が、数式(17)に記載されている。
【0074】
D=I(z)−I(a−1)=y(a)+y(a+1)+...+y(z)
(17)
【0075】
これは失われたと想定されるパケットの数を測定するものである。しかしながら、推定された損失が統計的な変動によるものではないというある程度の確信を持つためには、Dが、時間i=a−1までの期間にわたって算出される信号I(j)の標準偏差の3倍よりも大きいことが必要である。この要件が、検出可能性基準またはしきい値である。したがって、
【0076】
【数15】

【0077】
の場合、損失が検出される。
【0078】
損失の検出可能性基準に合致しない場合、すなわち
【0079】
【数16】

【0080】
の場合、プロセスはステップ420に分岐する。ステップ420では、損失率がこの特定のFIRフィルタで使用されたターゲットTよりも小さいとして報告され、新しい標準偏差は、損失がないデータの最新の範囲にわたってステップ380で使用されたのと同じものを使用して算出され、以前のσとの平均値を取る。すなわち、以下の数式(18)が使用される。
【0081】
【数17】

【0082】
以前のσの値にわたって平均値を取る理由は、これがサンプリングエラーからの標準偏差における変動をなくすためのフィルタとして働くからである。
【0083】
検出可能性基準に合致した場合、すなわち
【0084】
【数18】

【0085】
の場合、ステップ430で、検出可能損失率測定を使用して数式(19)により損失率の値が決定および報告される。これは、ウィンドウ内で測定されたデータ損失をウィンドウ内の入力データで割ったものである。
LR=D/(wM)
(19)
【0086】
損失が適切に測定できた場合、この損失は信号中の統計的なノイズとは無関係な理由でσをより大きな値にスキューさせることになるため、以前に算出された標準偏差σがステップ440で使用され、したがって、
【0087】
【数19】

【0088】
となる。
【0089】
ステップ450へは、ステップ420または440のいずれかから到達する。ウィンドウの左端は1時間間隔だけ右へ移動し、すなわちaがa+1に置き換わる。ブロック380で論じたように、デフォルトウィンドウサイズが選択される。もう1つのデータポイントがまだ使用できない場合、プロセスはこれが事前処理ステップ410から480で使用できるようになるまで待機し、ステップ390に戻って手順が繰り返され、反復カウンタが増分される。
【0090】
仮想プライベートネットワーク(VPN)500では、図5に示されるように複数の加入者宅内機器(CPE)510が存在する。CPE510はリンク515によって端部ネットワーク要素520(ルータ以外のNEとすることができる)上のインターフェースに接続される。VPNを起源とするネットワーク内のデータ損失率を測定することが望まれる。各端部ネットワーク要素で、ネットワーク内に入って行くデータの量およびネットワークから出て行くデータの量が測定できると想定される。VPNでは、任意のサイトからのトラフィックを他のいずれかのサイトに分配することができる。エンドポイントデータのみが使用可能であると想定される。VPN全体の損失率は、VPN端部リンク全体にわたってネットワークに入るトラフィックを総計すること、およびVPN端部リンク全体にわたってネットワークから出るトラフィックを総計することによって、ポイントツーポイントのケースで使用されるものと同じ手順を使用して決定することができる。このプロセスは、非マルチキャストVPNにのみ適用されることになる。
【0091】
以下の測定値は、iとラベル表示されPLRMS130に送られる等しく配置された時間間隔について、アクセスインターフェース530で取られたものと想定する。Cpin(j,i)は、アクセスインターフェースj(j=1、2、...、M)に対する時間iでの入力パケットカウントである。Cpout(j,i)は、アクセスインターフェースj(j=1、2、...、M)に対する時間iでの出力パケットカウントである。これにより、各インターフェースjについて2つの時間シーケンス、(Cpin(j,1)、Cpin(j,2)、Cpin(j,3)、...)および(Cpout(j,1)、Cpout(j,2)、Cpout(j,3)、...)が生成されることになる。このデータは、図6の入力ステップ600で使用される。図3aおよび3bのポイントツーポイントケースでは、ステップ610で、欠落データは図3aの流れ図のステップ310として線形補間によって充てんされる。
【0092】
ステップ620で、各アクセスインターフェース(j)530でVPNネットワークに入るパケットは、数式(20)および(21)に従って決定される。
in(j,i+1)=[Cpin(j,i+1)−Cpin(j,i)] (20)
(Cpin(j,i+1)<Cpin(j,i))の場合、Pin(j,i+1)=Pin(j,i+1)+232 (21)
【0093】
pin(j,i)は、アクセスインターフェースjのサンプル時間iでの入力パケットカウンタ値である。Cpin(j,i+1)=アクセスインターフェースjのサンプル時間i+1での入力パケットカウンタ値である。
【0094】
in(j,i+1)=時間iから(i+1)の間にアクセスインターフェースjに入るパケットの数である。この例では、32ビットカウンタが想定されている。
【0095】
ステップ630で、各アクセスインターフェースjでネットワークから出るパケットは、数式(22)および(23)に従って算出される。
out(j,i+1)=[Cpout(j,i+1)−Cpout(j,i)] (22)
(Cpout(j,i+1)<Cpout(j,i))の場合、Pout(j,i 1)=Pout(j,i+1)+232 (23)
【0096】
pout(j,i)は、アクセスインターフェースjのサンプル時間iでの出力パケットカウンタ値である。Cpout(j,i+1)はアクセスインターフェースjのサンプル時間i+1での出力パケットカウンタ値である。
【0097】
out(j,i+1)は時間iから(i+1)の間にアクセスインターフェースjを出るパケットの数である。この例では、32ビットカウンタが想定されている。
【0098】
ステップ640で、公式(24)を使用して、時間iから時間i+1の間にネットワークに入るVPNの合計パケット数からネットワークから出るパケット数を引いた数が算出される。
【0099】
【数20】

【0100】
次に、VPNにおけるデータ損失を測定するために、図3aおよび3bの流れ図に示されたプロセスで、K(i)と同じ方法でKp(i)が使用される。Kp(i)データは、VPNのケースでの損失率を決定するために、図3aのステップ340から始まるプロセスによって使用される。
【0101】
この方法には、ネットワーク内のデータ損失率を測定するためのいくつかの簡略化および変形がある。バイトカウント以外のパケットカウントが使用されるステップ330は不要である。バイト数で表されたパケットサイズが入口および出口の測定ポイントで同じであることが分かっている場合、これは不要である。
【0102】
方法の簡略化として、1つの低域フィルタのみを使用することができる。これによって、検出可能な損失を適切に測定するためにプロセスが必要とする時間量を増加させてしまう可能性があるが、全体の複雑さは低下する。
【0103】
ステップ370は、簡略化として除外することができる。この場合、標準偏差はIシーケンスの代わりにKシーケンスを使用して算出される。Kシーケンスの標準偏差はIシーケンスのそれの約半分であることが、経験的にわかっている。そのため、ステップ370の統合はスキップされ、ステップ410で使用される検出可能性基準をD>6σに変更しなければならない。
【0104】
この方法の簡略化として、固定ウィンドウサイズを使用することができる。このケースでは、ステップ410の終わりに損失が測定できない場合、プロセスはステップ450へとスキップする。図7は、本発明に従ったPLR測定システム130の概略図である。プロセッサ710は、パーソナルコンピュータ、ワークステーション、ミニコンピュータ、または他の汎用コンピュータで見られるような中央処理ユニットである。プロセッサ710はメモリ720および入力/出力ユニット730に接続される。プロセッサ710は、様々なプログラミング言語からコンパイルまたは変換されたコンピュータプログラム命令を実行することができる。メモリ720は、入口ネットワーク要素110、出口ネットワーク要素120、またはVPNの場合は端部ルータ520の様々な端部ネットワーク要素510から受け取った、パケットカウントデータまたはバイトデータに加えて、前述の数式およびアルゴリズムの実施が可能なコンピュータプログラムを格納する。入力/出力ユニット730は、プロセッサ710が、入口ネットワーク要素110などの1つまたは複数のネットワーク要素からパケットまたはバイトカウントデータを受け取り、算出されたパケット損失率をディスプレイ740上でユーザに表示できるようにするものである。
【0105】
カウンタデータは、ネットワークサービス業界で十分に確立されている様々な方法で、ネットワーク要素から取得することができる。例えば、ネットワーク要素は内部インターネットワークまたは同等の内部通信システムによって接続される。ネットワーク要素は、所定の時間でデータをサンプリングし、それらのデータファイルを中央ロケーションに送る。別の方法として、ネットワーク要素は内部インターネットワークまたは同等の内部通信システムによって接続される。中央コンピュータは、(例えばSNMPによって)ネットワーク要素にデータを使用して応答するように要求を送信する。大規模なネットワークサービスプロバイダは、この損失率決定方法に必要なデータを収集することができるオペレーションサポートシステムをすでに備えている。
【0106】
上記の記述は、本発明を例示および説明するためだけに提示されたものである。これは本発明を網羅するか、または開示されたいかなる精密な形にも限定することを意図するものではない。上記の教示に鑑みて、多くの修正および変形が可能である。記載された適用範囲は、他の当業者が様々な応用例で、および企図された特定の用途に好適な様々な修正を利用して本発明を最も良く利用できるようにするために、本発明の原理およびその実際の応用例を最も良く説明するために選択および記載されたものである。
【図面の簡単な説明】
【0107】
【図1】典型的なネットワークに統合された本発明を示す図である。
【図2】パケットデータに関して複数のFIRフィルタを同時に使用する本発明の損失率測定プロセスを示す簡略化された流れ図である。
【図3a】損失率測定プロセスを示す完全な機能ブロック図である。
【図3b】損失率測定プロセスを示す完全な機能ブロック図である。
【図4】ネットワーク要素から収集されたデータのサンプルに関する統合信号I(j)のプロットを示す図である。
【図5】仮想プライベートネットワークに統合された本発明を示す図である。
【図6】仮想プライベートネットワークからのパケット(バイト)カウントデータに必要な事前処理を示す流れ図である。
【図7】本発明のパケット損失率測定システムを示す概略図である。

【特許請求の範囲】
【請求項1】
入口ネットワーク要素および出口ネットワーク要素を有するネットワーク内のデータ損失率を測定する方法であって、
前記入口ネットワーク要素で前記ネットワークに入るデータカウントを測定するカウンタデータを入力するステップと、
前記出口ネットワーク要素で前記ネットワークから出るデータカウントを測定するカウンタデータを入力するステップと、
複数の所定の間隔それぞれについて、前記ネットワークに入る前記データカウントと前記ネットワークから出る前記データカウントとの差を算出してデータ差信号を生成するステップと、
前記データ差信号に低域フィルタを適用してフィルタリング済みデータ差信号を生成するステップと、
所定ウィンドウの直前のデータを使用して、前記フィルタリング済みデータ差信号の標準偏差を算出するステップと、
前記所定のウィンドウ内の前記フィルタリング済みデータ差信号に基づいて、前記データ損失率を算出するステップと、
前記フィルタリング済み差信号の前記算出された標準偏差に基づいて、前記データ損失率が所定の検出可能性しきい値を超えた場合、前記データ損失率を報告するステップと
を備えることを特徴とする方法。
【請求項2】
前記フィルタリング済み信号の前記標準偏差を算出する前に、前記フィルタリング済みデータ信号を統合するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項3】
前記ネットワークに入る前記データカウントと前記ネットワークから出る前記データカウントとの差を算出する前に、補間を介して欠落データカウントを再作成するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項4】
前記フィルタを適用する前に、バイトカウントデータの使用による前記入口ネットワーク要素および前記出口ネットワーク要素でのルーティングヘッダサイズの差が原因のデータカウントを修正するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項5】
前記フィルタを適用する前に、前記入口または出口ネットワーク要素での通常のサンプリング時間よりも長いことによる前記データカウントにおける変動を除去するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項6】
前記フィルタを適用する前に、前記ネットワーク要素がその内部カウンタを適切に更新できなかった場合、前記データカウンタを調整するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項7】
前記所定の検出可能性しきい値が、前記フィルタリング済み差データ信号の前記算出された標準偏差のほぼ6倍であることを特徴とする請求項1に記載の方法。
【請求項8】
前記所定の検出可能性しきい値が、前記フィルタリング済みおよび統合済み差データ信号の前記算出された標準偏差のほぼ3倍であることを特徴とする請求項2に記載の方法。
【請求項9】
前記データ損失が前記所定の検出可能性しきい値よりも小さいことを報告するステップと、
前記最後の2つの算出された標準偏差の移動平均に基づいて、前記フィルタリング済みデータ差信号の新しい算出された標準偏差を算出するステップと、
前記所定のウィンドウを1間隔だけ時間的に前方にシフトするステップと、
前記所定の検出可能性しきい値を超えるまで、上記ステップを反復するステップと
をさらに備えることを特徴とする請求項1に記載の方法。
【請求項10】
異なるタップサイズを有する追加の複数の低域フィルタを適用するステップと、後続の各ステップをそれぞれの前記フィルタリング済み差信号上で並行して実行するステップとをさらに備えることを特徴とする請求項1に記載の方法。
【請求項11】
前記所定のウィンドウのサイズは、所望のターゲット損失率および前記フィルタリング済みデータ差信号の前記算出された標準偏差に基づくものであることを特徴とする請求項1に記載の方法。
【請求項12】
複数の端部ネットワーク要素を有する仮想プライベートネットワーク内のデータ損失を測定する方法であって、
各端部ネットワーク要素からカウンタデータを入力するステップと、
複数の所定の間隔について、前記カウンタデータから、各端部ネットワーク要素で前記ネットワークに入るデータの量と、各端部ネットワーク要素で前記ネットワークから出るデータの量とを算出するステップと、
前記所定の間隔のそれぞれについて、前記ネットワークに入る合計データ量と前記ネットワークから出る合計データ量との差を算出してデータ差信号を生成するステップと、
前記データ差信号に低域フィルタを適用してフィルタリング済みデータ差信号を生成するステップと、
所定ウィンドウの直前のデータを使用して、前記フィルタリング済みデータ差信号の標準偏差を算出するステップと、
前記所定のウィンドウ内の前記フィルタリング済みデータ差信号に基づいて、前記データ損失率を算出するステップと、
前記フィルタリング済みデータ差信号の前記算出された標準偏差に基づいて、前記データ損失率が所定の検出可能性しきい値を超えた場合、前記データ損失率を報告するステップと
を備えることを特徴とする方法。
【請求項13】
前記フィルタリング済みデータ信号の前記算出された標準偏差を算出する前に、前記フィルタリング済みデータ信号を統合するステップをさらに備えることを特徴とする請求項12に記載の方法。
【請求項14】
前記ネットワークに入る前記合計データ量と前記ネットワークから出る前記合計データ量との差を算出する前に、補間を介して欠落データカウントを再作成するステップをさらに備えることを特徴とする請求項12に記載の方法。
【請求項15】
前記フィルタを適用する前に、1つまたは複数の端部ネットワーク要素での通常のサンプリング時間よりも長いことによる前記データカウントにおける変動を除去するステップをさらに備えることを特徴とする請求項12に記載の方法。
【請求項16】
前記フィルタを適用する前に、1つまたは複数の端部ネットワーク要素が内部カウンタを適切に更新できなかった場合、前記データカウンタを調整するステップをさらに備えることを特徴とする請求項12に記載の方法。
【請求項17】
前記所定の検出可能性しきい値が、前記フィルタリング済みデータ差信号の前記算出された標準偏差のほぼ6倍であることを特徴とする請求項12に記載の方法。
【請求項18】
前記所定の検出可能性しきい値が、前記フィルタリング済みおよび統合済みデータ差信号の前記算出された標準偏差のほぼ3倍であることを特徴とする請求項13に記載の方法。
【請求項19】
前記データ損失が前記所定のしきい値よりも小さいことを報告するステップと、
前記最後の2つの算出された標準偏差の平均に基づいて、前記フィルタリング済みデータ差信号の新しい算出された標準偏差を算出するステップと、
前記所定のウィンドウを1間隔だけ時間的に前方にシフトするステップと、
前記所定の検出可能性しきい値を超えるまで、上記ステップを反復するステップと
をさらに備えることを特徴とする請求項12に記載の方法。
【請求項20】
異なるタップサイズを有する追加の複数の低域フィルタを適用するステップと、後続の各ステップをそれぞれの前記フィルタリング済み差信号上で並行して実行するステップとをさらに備えることを特徴とする請求項12に記載の方法。
【請求項21】
入口ネットワーク要素および出口ネットワーク要素を有するネットワーク内のデータ損失率を測定するシステムであって、
前記入口ネットワーク要素で前記ネットワークに入るデータカウントおよび前記出口ネットワーク要素で前記ネットワークから出るデータカウントを測定するカウンタデータを入力する手段と、
複数の所定の間隔それぞれについて、前記ネットワークに入る前記データカウントと前記ネットワークから出る前記データカウントとの差を算出してデータ差信号を生成する手段と、
前記データ差信号に低域フィルタを適用してフィルタリング済みデータ差信号を生成する手段と、
所定ウィンドウの直前のデータポイントセットを介して、前記フィルタリング済みデータ差信号の標準偏差を算出する手段と、
前記所定のウィンドウ内の前記データ差信号に基づいて、前記データ損失率を算出する手段と、
前記フィルタリング済み差信号の前記算出された標準偏差に基づいて、前記データ損失が所定の検出可能性しきい値を超えた場合、前記データ損失率を報告する手段と
を備えることを特徴とするシステム。
【請求項22】
前記データ差信号の前記標準偏差を算出する前に、前記フィルタリング済みデータ信号を統合する手段をさらに備えることを特徴とする請求項21に記載のシステム。
【請求項23】
前記ネットワークに入る前記データカウントと前記ネットワークから出る前記データカウントとの差を算出する前に、補間を介して欠落データカウントを再作成する手段をさらに備えることを特徴とする請求項21に記載のシステム。
【請求項24】
バイトカウントデータの使用による前記入口ネットワーク要素および前記出口ネットワーク要素でのルーティングヘッダサイズの差が原因のデータカウントを修正する手段をさらに備えることを特徴とする請求項21に記載のシステム。
【請求項25】
前記入口または出口ネットワーク要素での通常のサンプリング時間よりも長いことによる前記データカウントにおける変動を除去する手段をさらに備えることを特徴とする請求項21に記載のシステム。
【請求項26】
前記ネットワーク要素がその内部カウンタを適切に更新できなかった場合、前記データカウンタを調整する手段をさらに備えることを特徴とする請求項21に記載のシステム。
【請求項27】
前記所定の検出可能性しきい値が、前記フィルタリング済みデータ差信号の前記算出された標準偏差のほぼ6倍であることを特徴とする請求項21に記載のシステム。
【請求項28】
前記所定の検出可能性しきい値が、前記フィルタリング済みおよび統合済みデータ差信号の前記算出された標準偏差のほぼ3倍であることを特徴とする請求項22に記載のシステム。
【請求項29】
前記データ損失が前記所定のしきい値よりも小さいことを報告する手段と、
前記最後の2つの算出された標準偏差の移動平均に基づいて、前記フィルタリング済みデータ差信号の新しい標準偏差を算出する手段と、
前記所定のウィンドウを1間隔だけ時間的に前方にシフトする手段と
をさらに備えることを特徴とする請求項21に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3a】
image rotate

【図3b】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2006−516855(P2006−516855A)
【公表日】平成18年7月6日(2006.7.6)
【国際特許分類】
【出願番号】特願2006−501125(P2006−501125)
【出願日】平成16年1月28日(2004.1.28)
【国際出願番号】PCT/US2004/002343
【国際公開番号】WO2004/070537
【国際公開日】平成16年8月19日(2004.8.19)
【出願人】(399047921)テルコーディア テクノロジーズ インコーポレイテッド (61)
【Fターム(参考)】