特許第5694717号(P5694717)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ イクシアの特許一覧

<>
  • 特許5694717-トラフィック分散制御プロセス及び装置 図000002
  • 特許5694717-トラフィック分散制御プロセス及び装置 図000003
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5694717
(24)【登録日】2015年2月13日
(45)【発行日】2015年4月1日
(54)【発明の名称】トラフィック分散制御プロセス及び装置
(51)【国際特許分類】
   H04L 12/70 20130101AFI20150312BHJP
   H04L 12/26 20060101ALI20150312BHJP
【FI】
   H04L12/70 100Z
   H04L12/26
【請求項の数】17
【全頁数】13
(21)【出願番号】特願2010-212648(P2010-212648)
(22)【出願日】2010年9月22日
(65)【公開番号】特開2011-71989(P2011-71989A)
(43)【公開日】2011年4月7日
【審査請求日】2013年8月23日
(31)【優先権主張番号】12/564,851
(32)【優先日】2009年9月22日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】504090400
【氏名又は名称】イクシア
(74)【代理人】
【識別番号】100116872
【弁理士】
【氏名又は名称】藤田 和子
(72)【発明者】
【氏名】ギンティス ノア
(72)【発明者】
【氏名】ジョセフ ヴィノッド
【審査官】 佐々木 洋
(56)【参考文献】
【文献】 特開2005−348405(JP,A)
【文献】 特開2008−131640(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00−12/26
H04L 12/50−12/955
(57)【特許請求の範囲】
【請求項1】
保存されたテストトラフィックの定義から、疑似ネットワークテストトラフィックを生成するプロセスにおいて、
前記テストトラフィックの定義は、1つ又はそれ以上のエンドポイントのペア間にてパケットを生成するためのものであり、
前記テストトラフィックの定義は、各々のパケットに対し、当該パケット及び当該パケットに関するメタデータの値の複数のフィールドに含まれるよう、データの値の複数のフィールドを含み、
前記テストトラフィックの定義における前記値は、符号化され
前記データのフィールドは、発信元のエンドポイントアドレス、宛先のエンドポイントアドレス、及びトラフィックのプロトコルを含むプロセスであって、
少なくとも1つのフィールドのユーザ選択に従って前記テストトラフィックをフローへグループ化し、当該グループ化は、前記エンドポイントアドレスのフィールドに独立して達成され、
ユーザの選択に従って、前記テストトラフィックが、フローへ論理的にグループ化され、及び、ストリームとして構築されるよう、当該テストトラフィックの定義を自動的に修正し、
前記テストトラフィックの定義の自動的な修正は、
前記テストトラフィックの定義を、選択されたフィールドに従って切り出し、
前記切り出しは、前記選択されたフィールドの各々の値の発生をインデックスのセットにまとめると共に、幾つかの符号化された値を符号化された他のフィールドの値への依存性をもったフィールド間のアンワインドリンクへ復号化することを含み、
前記切り出したものを、前記選択されたフィールドに従って並び換え、
前記並び換えられたテストトラフィックの定義を抽出し、
前記テストトラフィックの小型化及び効率的な生成のために再符号化するよう構成され、
前記構築されたストリームとして前記テストトラフィックを伝送するため、ネットワークテスト装置へ信号送出するよう構成されるプロセス。
【請求項2】
請求項1に記載のプロセスにおいて、更に、
少なくとも1つのフローのグループのレート、フレームサイズ、カプセル化の少なくとも1つを指定するための、ユーザの修正要求を受け取り、
前記フローのグループの前記テストトラフィックを、前記ユーザの要求に従って修正するよう構成されるプロセス。
【請求項3】
請求項に記載のプロセスにおいて、
ユーザの修正要求の受け取りは、前記テストトラフィックが伝送される前に行われるプロセス。
【請求項4】
請求項に記載のプロセスにおいて、
ユーザの修正要求の受け取りは、前記テストトラフィックの伝送が開始した後に行われ、
前記プロセスが、修正されたものとして前記テストトラフィックを伝送するよう、前記ネットワークテスト装置に信号送出することを含むプロセス。
【請求項5】
請求項1に記載のプロセスにおいて、
前記データのフィールドは、レート、フレームサイズ、及びカプセル化の方式を含み、
前記メタデータのフィールドは、トラフィックの名称、発信元のエンドポイントの名称、及び宛先のエンドポイントの名称を含むプロセス。
【請求項6】
請求項に記載のプロセスにおいて、
前記データのフィールドは、更に、ルートエンドポイントを含むプロセス。
【請求項7】
請求項に記載のプロセスにおいて、
前記カプセル化の方式の値は、MPLS、VPN、6PE、BGP−MPLS、及びMAC−in−MACを含む工業規格であるプロセス。
【請求項8】
請求項1に記載のプロセスにおいて、
前記トラフィックのプロトコルの値は、少なくともIPv4、IPv6、イーサネット(登録商標)/VLAN、フレームリレー、ATM、HDLC、PPP、及びFcoEのうちの1つを含む工業規格であるプロセス。
【請求項9】
保存されたテストトラフィックの定義から、疑似ネットワークテストトラフィックを生成する装置において、
前記テストトラフィックの定義は、複数のエンドポイントのペア間にて複数のパケットを生成するためのものであり、
前記テストトラフィックの定義は、各々のパケットに対し、当該パケット及び当該パケットに関するメタデータの値の複数のフィールドに含まれるよう、データの値の複数のフィールドを含み、
前記テストトラフィックの定義における前記値は、符号化され、
前記データのフィールドは、発信元のエンドポイントアドレス、宛先のエンドポイントアドレス、及びトラフィックのプロトコルを含む装置であって、
ユーザの入力デバイスと、
表示デバイスと、
プロセッサと、
メモリと、を備え、
前記プロセッサ及び前記メモリは、
前記テストトラフィックのフローをグループ化するため、ユーザの少なくとも1つのフィールドの選択を受け取り、前記エンドポイントアドレスのフィールド及び前記プロトコルのフィールドに独立して前記グループ化し、
前記テストトラフィックが、前記ユーザの選択に従って、論理的にフローにグループ化され、ストリームとして構築されるように、自動的に当該テストトラフィックの定義を修正し、
前記テストトラフィックの定義の自動的な修正は、
前記テストトラフィックの定義を、選択されたフィールドに従って切り出し、
前記切り出しは、前記選択されたフィールドの各々の値の発生をインデックスのセットにまとめると共に、幾つかの符号化された値を符号化された他のフィールドの値への依存性をもったフィールド間のアンワインドリンクへ復号化することを含み、
前記切り出したものを、前記選択されたフィールドに従って並び換え、
前記並び換えられたテストトラフィックの定義を抽出し、
前記テストトラフィックの小型化及び効率的な生成のために再符号化するように構成さ、
前記テストトラフィックが、前記構築されたストリームとして伝送されることをもたらすための回路及びソフトウェアを備えた装置。
【請求項10】
請求項に記載の装置において、
前記回路及びソフトウェアは、更に、
少なくとも1つのフローのグループのレート、フレームサイズ、及びカプセル化の少なくとも1つの修正のユーザの要求を受け取り、
前記フローのグループの前記テストトラフィックを、前記ユーザの要求に従って自動的に修正するように構成される装置。
【請求項11】
請求項に記載の装置において、
前記データのフィールドは、レート、フレームサイズ、及びカプセル化の方式を含み、
前記メタデータのフィールドは、トラフィックの名称、発信元のエンドポイントの名称、及び宛先のエンドポイントの名称を含む装置。
【請求項12】
請求項に記載の装置において、
ネットワークテスト装置及びクライアントコンピュータを含む装置。
【請求項13】
プロセッサにより実行されたとき、ネットワークのテストシステムに、保存されたテストトラフィックの定義から、疑似ネットワークテストトラフィックを生成させる指令を有するネットワークのテストプログラムを保存する保存媒体を備える装置であって、
前記テストトラフィックの定義は、1つ又はそれ以上のエンドポイントのペア間にて複数のパケットを生成するためのものであり、
前記テストトラフィックの定義は、各々のパケットに対し、当該パケット及び当該パケットに関するメタデータの値の複数のフィールドに含まれるよう、データの値の複数のフィールドを含み、
前記テストトラフィックの定義における前記値は、符号化され
前記データのフィールドは、発信元のエンドポイントアドレス、宛先のエンドポイントアドレス、及びトラフィックのプロトコルを含み、
前記ネットワークのテストプログラムの前記指令は、
前記テストトラフィックのフローをグループ化するため、ユーザの少なくとも1つのフィールドの選択を受け取り、前記エンドポイントアドレスのフィールド及び前記プロトコルのフィールドに独立して前記グループ化し、
前記テストトラフィックが、前記ユーザの選択に従って、論理的にフローにグループ化され、ストリームとして構築されるように、自動的に当該テストトラフィックの定義を修正し、
前記テストトラフィックの定義の自動的な修正は、
前記テストトラフィックの定義を、選択されたフィールドに従って切り出し、
前記切り出しは、前記選択されたフィールドの各々の値の発生をインデックスのセットにまとめると共に、幾つかの符号化された値を符号化された他のフィールドの値への依存性をもったフィールド間のアンワインドリンクへ復号化することを含み、
前記切り出したものを、前記選択されたフィールドに従って並び換え、
前記並び換えられたテストトラフィックの定義を抽出し、
前記テストトラフィックの小型化及び効率的な生成のために再符号化するよう構成され、
前記テストトラフィックを前記構築されたストリームとして伝送させる装置。
【請求項14】
請求項13に記載の装置であって、
前記指令は、更に、
少なくとも1つのフローのグループのレート、フレームサイズ、及びカプセル化の少なくとも1つの修正のユーザの要求を受け取り、
前記フローのグループの前記テストトラフィックを、前記ユーザの要求に従って自動的に修正するよう構成される装置。
【請求項15】
請求項13に記載の装置において、
前記データのフィールドは、レート、フレームサイズ、及びカプセル化の方式を含み、
前記メタデータのフィールドは、トラフィックの名称、発信元のエンドポイントの名称、及び宛先のエンドポイントの名称を含む装置。
【請求項16】
請求項13に記載の装置において、
ネットワークテストシステムを含む装置。
【請求項17】
請求項13に記載の装置において、
前記保存媒体から成る装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ネットワーク、ネットワークのサブセット、ネットワークのデバイス、又は、一群のデバイスをテストするための、疑似ネットワークトラフィックの生成に関する。
【背景技術】
【0002】
[著作権とトレードドレスの表示]
本特許文献の開示の一部は、著作権保護の対象となるものを含む。本特許文献は、所有者のトレードドレスである、又は、所有者のトレードドレスとなり得る事項を示し、及び/又は、表している。著作権及びトレードドレスの所有者は、特許庁のファイル又は記録どおりに表示された特許開示の、何れの者による複製物の複製にも異議はないが、さもなければ、如何なる全ての著作権及びトレードドレス権を留保する。
【0003】
多くの通信ネットワークの方式では、送信される各々のメッセージが、一定の長さの、又は、不定の長さの部分に分けられる。各々の部分は、パケット、セル、データグラム、データユニット、又は、他の情報単位として参照される。これらの部分は、ヘッダを用いてフレームへパッケージ化され得、上記ネットワークを介した伝送の間に分割及び再パッケージ化され得る。これらバリエーションの全ては、ここにおいてパケットとして参照される。
【0004】
各々のパケットは、通常、通称パケットのペイロードと呼ばれる、元のメッセージの一部を含む。上記パケットのペイロードは、データを含み得、又は、音声若しくは映像情報を含み得る。上記パケットのペイロードはまた、ネットワーク管理及び制御の情報を含み得る。加えて、各々のパケットは、通称パケットヘッダと呼ばれる、識別情報及びルーチング情報を含む。上記パケットは、多重交換又はノードを介し、上記ネットワークを通じて個々に送信される。上記パケットは、メッセージがターゲット装置又はエンドユーザに配信される前に、最終宛先にて上記パケットヘッダに含まれている情報を用いて、上記メッセージに再構築される。受信端では、上記再構築されたメッセージが、上記ユーザの機器に適合するフォーマットにて、上記エンドユーザへ送られる。
【0005】
パケットとしてメッセージを伝送する通信ネットワークは、パケット交換ネットワークと呼ばれる。通信ネットワークに含まれるパケット交換ネットワーク又はデバイスをテストするために、ネットワーク通信路又はデバイスの、伝送路レート又は最大可能データレートと等しいデータレートを有する、ネットワークトラフィックを自動的に伝送することが大抵好ましい。
【0006】
単一の発信元に由来し、且つ、パケットの特定形式及び特定レートを有する一連のパケットは、ここにおいて「ストリーム」として参照される。発信元は、例えば、ネットワークのインターフェイスカードにおけるポートであり得る。発信元は、例えば、複数のパケット形式又は速度に適応するために、複数の発信ストリームを同時に、及び一斉にサポートし得る。「同時に」は「厳密に同じ時間に」を意味している。「一斉に」は「同じ時間の範囲内に」を意味している。
【0007】
ネットワークトラフィックのデータをレポートする目的のために、ストリーム内の上記パケットは、フローへ組織化され得る。ここにおいて、「フロー」は、ネットワークトラフィックの統計値が蓄積及びレポートされる、何れの複数パケットである。所定のフローにおける上記パケットは、各々のパケットに含まれるフロー識別子により、区別され得る。上記フロー識別子は、例えば、アドレス、ポート番号、タグ、又は、幾つかの他のフィールド若しくは各々のデータユニット内でのフィールドの組み合わせ、に基づく数値、又は、由来する数値であり得、また、ユーザ定義の数値であり得、また、上記パケットに関するメタデータに基づく数値であり得る。
【0008】
複数の同時ストリームは、トラフィックジェネレータからの出力を形成するために結合され得、ここにおいて、それは「テストトラフィック」として参照される。上記テストトラフィック内のストリームは、インターリービングを介して結合され得る。上記インターリービングは、表された上記ストリームの間で、均衡、不均衡、及び分散型であり得る。上記テストトラフィックのデータレートは、上記出力が伝送されるネットワーク通信路の上記伝送路レートに等しくなり得る。最新の「トリプルプレイ」ネットワーク、及びネットワーク装置をテストするために、上記テストトラフィックは、疑似的な電子メール及び他のデータメッセージング、データ、画像、音声、並びに映像ストリームを含む。
【0009】
テストトラフィックは、多くの異なる手法で生成され得る。1つの従来技術のプロセスによれば、ユーザは、上記テストトラフィックを定義するためにコンピュータを用い、そして、同一ユーザインターフェイスから、上記ユーザは、上記定義されたテストトラフィックの伝送を開始する。上記テストトラフィックは、上記ユーザのコンピュータに接続された専門のハードウェアにより生成される。この従来技術のプロセスでは、上記ユーザは、(各)プロトコル(例えば、IPv4、IPv6、フレームリレー、ATM)を選択すること、及びエンドポイントを組み合わせることにより、上記テストトラフィックを定義する。選択された上記プロトコル及びエンドポイントのペアにより、上記プロセスは、通常では、次に、ユーザがフレームサイズ及び各々のトラフィックアイテムのパケットレートを選択することを伴う。
【0010】
概念的には、テストトラフィックを生成することは、簡易なことである。上記ユーザは、上記テストトラフィックを定義し、そして上記専門のハードウェアがそのトラフィックを伝送させる。伝送されるトラフィックの量が小さい場合、それは簡単なタスクとなり得る。いずれにしても、実際のところは、これは大いに複雑である。
【0011】
現実的に実世界の環境をシミュレートするテストトラフィックを生成することは、盛衰(ebbs and flows)、エラー、バースト(bursts)等をもって、トラフィックの複雑な混合を必要とする。上記シミュレーションは、数百の発信元及び宛先のエンドポイントを含み得る。キャリアクラスの装置のテストをすることは、何百万又は何十億ものパケットを生成することを伴い得る。これらのパケットは、結果が不自然さなく見えるほど十分に速く生成及び伝送されなければならない−例えば、全体の大都市の挙動の様に。小規模のテストに対しては、それは、全てのパケットを作成し、メモリにてそれらを保存するのに十分であり、そして、ユーザの定義に従ってそれらを伝送し得る。大規模のテストに対しては、このことは実際的に不可能である。
【0012】
1つの従来技術のトラフィック生成システムでは、上記ユーザは、同一の単一発信元のエンドポイント、又は、同一の単一プロトコルを有する、VLANテストトラフィックのみのフローをグループ化するための、限られた設備以外ない。更に、上記グループのフィールドが修正されることがあれば、上記従来技術のシステムは、プロトコル、エンドポイントのペア、フレームサイズ、及びパケットレートの選択をやり直すことを必要とした。複雑さ、及び、非常に小規模とは程遠いテストのリソース要求のため、それ以上のことを実行するのは不可能と考えられる。
【0013】
大量のテストトラフィックを十分に速く生成するために、1つの従来技術の解決法は、異なるプロトコルに特有の上記専門のハードウェアを最適化することであった。その他の解決法は、上記テストトラフィックを効率的に記述する特注のデータ構造を作成することであった。これらのうちの1つの後者の解決法によれば、上記テストトラフィックは、1つ又はそれ以上のアレイとして記述される。上記アレイは、上記パケットのフィールドに対応するフィールドを有し、上記トラフィックの生成システムが上記パケットに関して知得する、メタデータに対応する追加的なフィールドを加える。例えば、IPパケットに対し、上記フィールドは、発信元のIPアドレス、宛先のIPアドレス、及びサービスの質を含んでいる。上記メタデータのフィールドは、発信元のエンドポイント識別子、及び宛先のエンドポイント識別子を含んでいる。
【0014】
これらのフィールドでアレイを有することは、小規模テスト以外に対して十分なものとはほど遠い。このため、上記アレイにおける値は、より多くの情報が限られたメモリに効率的に収容され得、上記パケットが限られた処理リソースで効率的に生成され得るように、代わりに簡略表記を用いて記述(即ち、符号化)される。これを達成するために、ソフトウェアは、上記ユーザのテストトラフィックの定義を、簡略表記−符号化された値のアレイに変換する。1つの従来技術の簡略表記によれば、上記値は、「アレイ」、「メッシュ」、「ネスト」、「カウンタ」、又は「リミット」の何れかの形式をとり得る。他の形式もまた含まれ得る。上記アレイ形式は、1、210、44、23の様な、単一の値の羅列である。上記メッシュ形式は、「リピート」値及び「カウント」値と共に簡略表記−符号化された値を有している。上記リピート値は、セットを何回繰り返したかを決定づける。上記カウント値は、上記セットにおける次回のメンバを用いる前に、上記セットの各々のメンバを何回繰り返すかを示す。上記ネスト形式は、2つの簡略表記値を有し、一方の簡略表記値が他方の中にネストされていることを決定づける。上記カウンタの形式は、開始値、増分値、及びカウント値を有する。上記開始値は、セットにおいて最初の値を決定づけ、上記増分は、各々のメンバを次回へ向けてどのようにインクリメントするかを決定づけ、上記カウント値は、上記セットにおけるメンバの数を決定づける。上記リミット形式は、簡略表記値、「開始」値、及び「終了」値を有する。上記リミット形式では、上記値は、上記開始値から開始し且つ上記終了値まで連続する上記特定の簡略表記値のサブセットである。
【発明の概要】
【発明が解決しようとする課題】
【0015】
簡略表記値のアレイを使用することは、テストトラフィックの定義を保存すること、及びそれらからトラフィックを生成することに対して役に立つが、それは、単に上記定義の修正を困難なくするわけではない。特に、大量のトラフィック(例えば、何百万又はそれ以上のパケット)を処理する場合、テストトラフィックの定義を修正することは、可能であるならば、時間のかかる作業となっていた。
【図面の簡単な説明】
【0016】
図1】ネットワーク環境のブロック図である。
図2】保存されたテストトラフィックの定義から、疑似ネットワークテストトラフィックを生成するための、プロセスのフローチャートである。
【発明を実施するための形態】
【0017】
図1を参照すると、示されたネットワーク環境のブロック図がある。なお、本記載を通じて、各図中に表示した各要素は、3桁の参照指示子で割り当てられ、最上位桁は図番号であり、2つの最下位桁は、上記要素に特有のものである。図に併せて説明がなされない要素は、同一の最下位桁の参照指示子を有する前述した要素と、同一の特徴及び機能を有すると推定され得る。
【0018】
上記環境は、ネットワークテスト装置100、ネットワーク190、及び複数のネットワークデバイス195を含む。上記ネットワークテスト装置100は、ネットワーク190の全て若しくは一部、又は、1つ若しくはそれ以上のネットワークデバイス195をテストするために用いられ得る。上記ネットワークテスト装置100は、ネットワークのテストシステム、又は、トラフィックの生成システムとして参照され得る。
【0019】
上記ネットワークテスト装置100は、ネットワークをテストするデバイス、性能分析器、適合性検証システム、ネットワーク分析器、又は、ネットワークの管理システムであり得る。上記ネットワークテスト装置100は、シャシ110の中に収容された又は入れられた、1つ又はそれ以上のネットワークカード114及びバックプレーン112を含み得る。上記シャシ110は、固定式の又は持ち運び可能なシャシ、キャビネット、又は、上記ネットワークテスト装置を収容するのに適した筺体であり得る。上記ネットワークテスト装置100は、図1に示されるように、統合ユニットであり得る。代替的には、上記ネットワークテスト装置100は、トラフィックの生成、及び/又は、分析を提供するのに協調的な、多数の分離ユニットを備え得る。上記ネットワークテスト装置100、及び上記ネットワークカード114は、1つ又はそれ以上の、良く知られた規格又はプロトコル(例えば、種々のイーサネット(登録商標)及びファイバチャネル規格等)をサポートし得、専用のプロトコルも同様にサポートし得る。
【0020】
上記ネットワークカード114は、1つ又はそれ以上の、フィールドプログラマブルゲートアレイ(FPGAs)、特定用途向け集積回路(ASICs)、プログラマブルロジックデバイス(PLDs)、プログラマブルロジックアレイ(PLAs)、プロセッサ、及び他の種類のデバイスを含み得る。加えて、上記ネットワークカード114は、ソフトウェア、及び/又は、ファームウェアを含み得る。上記ネットワークカードの語は、ラインカード、テストカード、アナリシスカード、ネットワークラインカード、ロードモジュール、インターフェイスカード、ネットワークインターフェイスカード、データインターフェイスカード、パケットエンジンカード、サービスカード、スマートカード、スウィッチカード、リレーアクセスカード、及び、同様のものを含む。上記ネットワークカードの語はまた、モジュール、ユニット、及び複数のプリント回路基盤を含むアセンブリを含む。各々のネットワークカード114は、1つ又はそれ以上のネットワークポートを提供し得る。上記ネットワークカード114のポートは、上記ネットワークに通信媒体185を介して接続され得、上記通信媒体185は、ワイヤ、光学ファイバ、ワイヤレスリンク、又は、他の通信媒体であり得る。各々のネットワークカード114は、単一の通信プロトコルをサポートし得、多数の関連するプロトコルをサポートし得、又は、多数の関連しないプロトコルをサポートし得る。上記ネットワークカード114は、取り外せないように上記ネットワークテスト装置100に組み込まれ得、又は、取り外し可能とされ得る。
【0021】
上記バックプレーン112は、上記ネットワークカード114に対するバス又は通信媒体として機能し得る。上記バックプレーン112はまた、ネットワークカード120へ電力を提供し得る。
【0022】
上記ネットワークデバイス195は、上記ネットワーク190を通じて通信することが可能な何れのデバイスであり得る。上記ネットワークデバイス195は、コンピュータデバイス、例えば、ワークステーション、パーソナルコンピュータ、サーバ、ポータブルコンピュータ、パーソナルデジタルアシスタント(PDAs)、コンピューティングタブレット、セル方式の/移動式の電話、電子メール機器、及びそれらと同様なもの等であり得;周辺機器のデバイス、例えば、プリンタ、スキャナ、ファクシミリ機器、及びそれらと同様なもの等であり得;ディスクドライブを含むネットワークの保存可能なデバイス、例えば、ネットワーク接続ストレージ(NAS)、及びストレージエリアネットワーク(SAN)デバイス等であり得;ネットワークデバイス、例えば、ルータ、リレー、ハブ、スウィッチ、ブリッジ、及びマルチプレクサ等であり得る。加えて、上記ネットワークデバイス195は、電気機器、アラームシステム、及びネットワークを通じて通信可能なその他のデバイス又はシステムを含み得る。
【0023】
上記ネットワーク190は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ストレージエリアネットワーク(SAN)、有線、無線、又はこれらの組み合わせであり得、更にインターネットを含み得、又は、インターネットであり得る。上記ネットワークテスト装置100及び上記ネットワークデバイス195は、互いに瞬時的に通信し得、更に、そこには、上記ネットワークテスト装置100と所定のネットワークデバイス195との間の複数の論理的通信が存在し得る。上記ネットワークそのものは、多数の物理的及び論理的な、データを通信させるためのパスを提供する多数のノードを備え得る。
【0024】
上記ネットワークデバイス195(例えば、PC又は他の形式の様なもの)の内の1つ、又は、クライアントコンピュータは、ユーザにより、上記ネットワークテスト装置100を制御するために用いられ得る。代替的には、上記ネットワークテスト装置100は、ユーザインターフェイス(例えば、付属するクライアントコンピュータ等)に対しハードウェア及びソフトウェアを含み得る。クライアントコンピュータ及び上記ネットワークテスト装置は、一緒に又は分離しての何れかで、ここに記述された機能性及び特徴を提供するためのソフトウェア及び/又はハードウェアを含み得る。従って、これらのシステムは、1つ又はそれ以上の、論理アレイ、メモリ、アナログ回路、デジタル回路、ソフトウェア、フェアウェア、及びプロセッサ(例えば、マイクロプロセッサ、フィールドプログラマブルゲートアレイ(FPGAs)、特定用途向け集積回路(ASICs)、プログラマブルロジックデバイス(PLDs)、及びプログラマブルロジックアレイ(PLAs)等)を含み得る。上記ネットワークテスト装置及びクライアントコンピュータの、上記ハードウェア及びファームウェアは、種々の専門のユニット、回路、ソフトウェア、及び、インターフェイスを、ここに記載した機能性及び特徴を提供するために含み得る。上記プロセス、機能性、及び特徴は、ソフトウェアの全体又は一部で具体化され得、そのソフトウェアは、上記ネットワークテスト装置、及び/又は、クライアントコンピュータ上にて作動するものであり、上記プロセス、機能性、及び特徴は、フェアウェア、アプリケーションプログラム、アプレット(例えば、Java(登録商標)アプレット)、ブラウザプラグイン、COMオブジェクト、ダイナミックリンクライブラリ(DLL)、スクリプト、1つ又はそれ以上のサブルーチン、又は、オペレーティングシステムのコンポーネント若しくはサービスの形式であり得る。上記ハードウェア及びソフトウェア、並びにそれらの機能は、以下のように区分けされ得、幾つかのコンポーネントが上記ネットワークテスト装置により実行され、他のものは上記クライアントコンピュータにより実行され、及び、他のものは他デバイスにより実行される。
【0025】
図2を参照すると、保存されたテストトラフィックの定義から模擬されるネットワークのテストトラフィックを生成するためのプロセスについて示されたフローチャートがある。上記プロセスは、図1の上記環境により及び同環境と共に、上記クライアントコンピュータにより提供される上記ユーザインターフェイス及び上記ネットワークテスト装置によるテストトラフィックの生成と共に、適切なソフトウェアを実行している上記クライアントコンピュータ又は上記ネットワークテスト装置の何れかにより提供される上記他の機能性と共に、実行され得る。このプロセスでは、ユーザは、テストトラフィックのフローをストリームへグループ化するための任意の方法を選択することができ、上記ネットワークテスト装置100によりテストトラフィックを伝送する前及び間に、これらのストリームを修正することができる。図2の上記フローチャートは、スタート205及びエンド295の両方を有しているが、上記プロセスは、実際には循環するものである。
【0026】
このプロセスにおける上記テストトラフィックの定義は、1つから数百万又はそれ以上までのパケットを、1つから数百又はそれ以上までのエンドポイントのペア間で伝送するためのものである。上記プロセスを、大量のパケット及び大量のエンドポイントのペアに対して実現可能とするために、上記テストトラフィックの定義における値が、上記テストトラフィックの、コンパクト性、効率的なマネジメント、及び効率的な生成のために符号化される。上記符号化は、背景技術の欄にて上述した通りになされ得る。
【0027】
スタート後、上記テストトラフィックは、テストトラフィックの定義を生成するために210で初めに定義され得る。上記テストトラフィックの定義は、最初から準備され、又は、存在する定義からロードされ、更に、もし希望があれば修正され得る。1つ又はそれ以上の保存されたテストトラフィックの定義は、組み合わされ得る。上記テストトラフィックの定義における各々のパケットに対して、値のフィールドがある。上記フィールドは、上記パケットにおけるデータ及び上記パケットに関する情報(即ち、メタデータ)の両方を定義する。上記データフィールドは、発信元のエンドポイントアドレス、宛先のエンドポイントアドレス、トラフィックのプロトコル、レート、フレームサイズ、カプセル化方式、及びルートエンドポイントを含み得る。上記トラフィックのプロトコルの値は、IPv4、IPv6、イーサネット(登録商標)/VLAN、フレームリレー、ATM、HDLC、PPP、及びFcoEを含む工業規格であり得る。上記カプセル化方式の値は、MPLS、VPN、6PE、BGP−MPLS、及びMAC−in−MACを含む工業規格であり得る。上記メタデータのフィールドは、トラフィックの名称、発信元のエンドポイントの名称、及び宛先のエンドポイントの名称を含み得る。
【0028】
ユーザが上記テストトラフィックの定義を容易に修正できるよう、上記テストトラフィックの定義は表示され得る(215)。上記表示は、種々のビューにて提供され、例えば、ツリー、テーブル、又はスプレッドシート等であり得、ビューを変更するためにタブを備え得る。上記表示は、フィールドの値、及び/又は、アイコン若しくは表記のような値の表現を含み得る。上記表示はまた、上記ユーザに、上記テストトラフィックの定義からテストトラフィックのフローをグループ化するための、ユーザインターフェイスを提供し得る。フローのグループは、全てのフローが少なくとも1つの共通の特徴を有し、上記グループ化することが上記特徴に基づくことで、特徴付けられる。グループ化されたフローは、上記グループ化を反映する手法にて、上記ユーザに表示され得る。上記テストトラフィックの定義は、同一グループのフローに関連する上記定義の一部を、物理的に一緒にしておくための手法にて保存され得る。上記テストトラフィックが伝送される場合、フローのグループがストリームである。
【0029】
もし上記ユーザが、フローをグループ化することを選択しない場合(220)、上記トラフィック生成システムは、システムを初期設定のグルーピングとし、及び、ユーザによる上記テストトラフィックの伝送の開始を待つ(225)。上記ユーザが、テストトラフィックの伝送を開始すべきと指示した後、上記ネットワークテスト装置は、上記トラフィックの伝送を開始する(230)。これを達成するため、上記クライアントコンピュータにおける制御アプリケーションは、自動的に信号を上記ネットワークテスト装置に送出する。上記信号送出は、上記テストトラフィックの定義の全部の又は一部を、上記ネットワークテスト装置に書き込む、又は、上記テストトラフィックそれ自身に書き込むことを含み得る。上記テストトラフィックの伝送は、完了するまで、又は、ユーザからの伝送停止の入力(240)が受け取られるまで、無限に続き得る。上記クライアントコンピュータは、上記トラフィックの伝送のステータス及び進捗をモニタするため、上記ネットワークテスト装置と通信し得る。
【0030】
もし上記ユーザが、フローをグループ化することを選択する場合(220)、上記テストトラフィックのフローをグループ化するための、少なくとも1つのフィールドの上記ユーザの選択が受け入れられる(270)。フローをグループ化するための上記ユーザインターフェイスは、上記テストトラフィックの定義の表示及び修正のために備えられた同一のインターフェイスによって、提供され得る。上記フローのグループ化は、上記エンドポイントアドレスのフィールド及びプロトコルのフィールドから独立であり得る。上記フローは、上記エンドポイントアドレスのフィールドを含む、又は、含まない、上記テストトラフィックの定義におけるフィールドの何れによってもグループ化され得る。このことは、フローのグループ化を典型的なテストトラフィックの管理と差別化させ、なぜならば、テストトラフィックの定義が、同一の発信元エンドポイント(例えば、ルート範囲)、宛先エンドポイント、又は、プロトコル方式での、トラフィックのグループ化に限定されていたと考えられるからである。同様に、もし上記ユーザがフローをグループ化することを選択しない場合(220)、上記トラフィック生成システムは、システムに、上記エンドポイントアドレスのフィールド、及び上記プロトコルのフィールド(即ち、上記エンドポイントアドレスを除くフィールド)から独立したフローの初期設定のグルーピングをさせ得る。
【0031】
上記選択されたフィールドにより、上記テストトラフィックの定義は、上記ユーザの選択に従って、上記テストトラフィックが論理的にフローへグループ化されるように、自動的に修正される(275)。実用目的のため、十分に速く上記テストトラフィックの定義の自動的な修正を達成するために、効率的なアプローチが必要とされ、そのアプローチは、実用的な処理リソースで上記修正を成し遂げ得るものである。
【0032】
このアプローチは、2つの部分を有しており、それは、切り出し及び抽出として参照され得る。第1に、上記テストトラフィックの定義は、上記選択されたフィールドに従って切り出される。切り出しは、上記選択されたフィールドの各々の値の全ての発生を、インデックスのセットにまとめる操作である。切り出しは、概念的に単純であるが、上記テストトラフィックの定義における値の、潜在的に非常に複雑な符号化のため、実際のところ、切り出しは、幾つかの上記符号化された値を、符号化された他のフィールドの値への依存性をもったフィールド間の、アンワインドリンク(unwind links)へ復号することを伴う。切り出しは、他のフィールドから値を抽出するのに用いられるメッシュ化外部インデックスを生成するため、符号化パターンツリーの内での内部マッチにおけるリバースレンズを実行することにより、達成され得る上記復号された切り出しは、上記選択されたフィールドに従って並べ換えられ得る。第2に、上記並べ換えられた切り出しは、上記テストトラフィックの定義から抽出され、並びに、上記テストトラフィックのコンパクト性及び効率的な生成のために再符号化される。上記再符号化された切り出しは、もとの上記テストトラフィックの定義へ付け加えられ得る。
【0033】
上記ユーザは、1つ又はそれ以上のフローグループにおけるフィールドの値を修正するためのインターフェイスが提供され得る。もし上記ユーザが上記フローを修正することを選択する場合(235)、上記ユーザは、上記フィールドを選択及び修正するためのユーザインターフェイスが提供される(255)。何れの上記フィールドの値も修正され得、例えばレート、フレームサイズ、及びカプセル化等でもよい。上記修正は、上記テストトラフィックの定義における値を再符号化することを介して、自動的に実行される(260)。上記ユーザが修正されたテストトラフィックの定義に満足するとき、上記ユーザは、上記修正されたトラフィックの定義に基づきトラフィックの伝送を開始し得る(235)。
【0034】
生成されたとき、上記論理的なフローのグループは、1つ又はそれ以上のストリームとして構築される。上記プロセスは、上述したステップをたどり−ユーザによる開始を受け入れ(225)、自動的に伝送を開始し(230)、自動的にトラフィックを伝送し、及び伝送を停止するためのユーザによる入力を受け入れる(240)。
【0035】
加えて、上記ユーザは、上記テストトラフィックが伝送される前のフローの修正を要求することが許可され、上記ユーザはまた、上記テストトラフィックの伝送が開始したがそれが完了する前の同伝送の後に、上記要求をするためのユーザインターフェイスが提供され得る(235)。上記修正が完了した後、上記ネットワークテスト装置は、修正されたものとして上記テストトラフィックを伝送するよう指示される。
【0036】
[まとめ]
この記載を通じて、示された上記実施形態及び例は、公開又は請求される装置及び手段での制限としてよりはむしろ、事例として考慮されるべきである。ここに示された多くの例は、手法の行為又はシステムの要素の特有の組み合わせを伴うが、それらの行為及びそれらの上記要素は、同一の目的を達成するための他の方法で組み合され得ると理解されるべきである。フローチャートに関しては、追加的な及びより少ないステップが挙げられ得、上記ステップは、図のように組み合わされ得、又は、ここに記載の手法を達成するために更に改良され得る。1つの実施形態に関連してのみ議論された行為、要素、及び特徴は、他の実施形態と同様の役割から除外されることを目的としていない。
【0037】
次の用語の、「複数」は、2又はそれ以上を意味する。次の用語の、項目の「セット」は、1又はそれ以上の上記項目を含み得る。記載された説明又は請求項にかかわらず、次の用語の、「構成している」、「含んでいる」、「持っている」、「有している」、「収容している」、「伴う」の語、及びそれらと同様のものは制約がない、即ち、含んでいるが限定されないということを意味するものと理解される。上記移行句の「から成る」及び「から要素的に成る」のみは、請求項に関し、それぞれ限定的な、又は、半限定的な移行句である。請求項の要素を修飾するための、順序の語、例えば「第1の」、「第2の」、「第3の」等の請求項での使用は、単独で、1つの請求項の要素の他のものに対しての何れの優先度、先行性、又は、順序を暗示せず、また、実行される手法の行為における時間的順序を暗示しないが、請求項の要素を区別するために、明白な名称を有する1つの請求項の要素を、(上記順序の語の使用がなければ)同一の名称を有する他の要素から区別するためのラベルとして利用されるにすぎない。次の用語の、「及び/又は」は、列記された語が代替手段であるが、上記代替手段はまた、上記列記された語の何れの組み合わせも含むことを意味している。この説明の中では、「ユニット」の語はまた、ハードウェア、ファームウェア、及び/又は、ソフトウェアの集積体を意味しており、それは、「エンジン」よりも大きなスケールであり得る。例えば、ユニットは、複数のエンジンを収容し得、そのうち幾つかは、並列的に同様の機能を実行し得る。上記「エンジン」及び「ユニット」の語は、何れの物理的分離又は区別を暗示しない。1つ又はそれ以上の、ユニット及び/又はエンジンの全て又は一部は、共通のカードに(例えば、ネットワークカード114等)、又は、共通のFPGA、ASIC、又は、他の回路の内に、共に配置され得る。
図1
図2