(57)【特許請求の範囲】
【請求項１】
ネットワークの性能を検査する方法であって、
ネットワークを介して、第一のホストで実行中の第一のアプリケーションから送信される、少なくとも第一のデータ・パケットを、前記第一のホスト上で検出するステップであって、前記第一のデータ・パケットが第一のプロトコルに従って書式設定され、前記第一のアプリケーションがネイティブ・トラフィックのソースであり、前記ネイティブ・トラフィックが前記第一のデータ・パケットを含み、前記第一のデータ・パケットがネットワーク検査データを含まず、前記第一のデータ・パケットが第二のホストのみにアドレス指定され、前記第一のプロトコルが第一のネットワーク層に対応するプロトコルを含む、ステップ、
前記第一のホスト上で実行中の第一のカプセル化装置が、前記第一のデータ・パケットを傍受するステップ、
第一の検査データ・パケットを形成するために、前記第一のホスト上の第一のカプセル化装置により、前記第一のデータ・パケットを、第二のデータ・パケット内にカプセル化するステップであって、前記第二のデータ・パケットが第二のプロトコルに従って書式設定され、前記第二のプロトコルが前記第一のネットワーク層に対応するプロトコルを含み、前記第一の検査データ・パケットが前記第二のホストのみにアドレス指定され、前記第一の検査データ・パケットが前記第一のデータ・パケット及び性能検査情報を有する第一の情報を含む、ステップ、そして、
前記第一の検査データ・パケットを、前記第一のホストから前記ネットワークに伝送用に供給するステップ
を含む方法。
【請求項２】
前記第一の検査データ・パケットを前記第二のプロトコルに従って前記ネットワークを通じて第二のホストに伝送するステップ
をさらに含む、請求項１に記載の方法。
【請求項３】
前記第一のデータ・パケットが前記第二のホスト上の第一のポートに宛てられ、前記第一の検査データ・パケットが前記第二のホスト上の第二のポートに宛てられる、請求項２に記載の方法。
【請求項４】
前記第二のホストにおいて、
前記第一の検査データ・パケットを受信するステップ、
前記第一のデータ・バケットを検出するステップ、そして、
第二のカプセル化装置により、前記第一の検査データ・パケットから、前記第一のデータ・パケット及び第一の情報を取り出すステップであって、前記第一の情報が少なくとも第一の、ネットワークの性能の測定基準に関連する、ステップ、
をさらに含む、請求項２に記載の方法。
【請求項５】
前記第二のホストにおいて、
前記第二のプロトコルに従って書式設定された応答パケットを形成するステップであって、前記応答パケットが前記第一の情報のうちの少なくともいくつかを含む、ステップと、
前記応答パケットを前記ネットワークに伝送用に供給するステップと、
前記応答パケットを前記第二のプロトコルに従って前記ネットワークを通じて前記第一のホストに伝送するステップと、
前記第一のホストにおいて、
前記応答パケットを受信するステップと、
前記応答パケットから前記第一の情報のうちの前記少なくともいくつかを取り出すステップと
をさらに含む、請求項４に記載の方法。
【請求項６】
前記の取り出した第一のデータを第二のアプリケーションに送るステップ
をさらに含む、請求項４に記載の方法。
【請求項７】
前記第一の情報が識別子およびタイム・スタンプを含む、請求項１に記載の方法。
【請求項８】
前記第一のデータが、前記第一の検査データ・パケットを処理することが可能な第二のホストに送信されることを決定するステップと、
前記第一のホスト上で、前記第一のプロトコルに従って前記第一のネットワークを介して前記第一のアプリケーションから送信される第二のデータを検出するステップと、
前記第二のデータが、前記第二のデータおよび第二の情報を含む第二の検査データ・パケットを処理することができない第三のホストに送信されることを決定するステップと、
前記第二のデータを前記第一のプロトコルに従って前記ネットワークを通じて前記第三のホストに伝送するステップと
をさらに含む、請求項１に記載の方法。
【請求項９】
ネットワークの性能を検査するシステムであって、
第一のホストであって、
第一のデータを提供する手段、
前記第一のデータを含み、第一のプロトコルに従って書式設定された、少なくとも第一のデータ・パケットを形成するための手段であって、前記第一のデータ・パケットが階層化された通信プロトコルの少なくとも第一の層に関して完全であり、前記第一のデータ・パケットが既存のトラフィックであるが検査パケットでは無く、前記少なくとも第一のデータ・パケットが第二のホストにのみアドレス指定される、手段、
前記第一のホストを通信手段と連動させる手段、
前記第一のプロトコルに従って書式設定された前記第一のデータ・パケットを、第二のプロトコルに従って書式設定された第二のデータ・パケット内にカプセル化するため、および第一の計装情報を前記第二のプロトコルに従って書式設定された前記第二のデータ・パケット内に挿入するための手段であって、前記第二のデータ・パケットが前記の階層化された通信プロトコルの前記の少なくとも第一の層に関して完全であり、前記第二のプロトコルに従って書式設定された前記第二のデータ・パケットのペイロードが前記第一のデータ・パケットを含み、前記第二のデータ・パケットが前記第二のホストのみにアドレス指定される、手段、
前記第１のホストを連動させる手段と相互接続する通信ネットワーク手段、及び、
第二のホストを含むシステムであって、
前記第二のホストは、
前記第二のホストを前記通信ネットワーク手段と連動させる手段、
前記第一のプロトコルに従って書式設定された前記第一のデータ・パケットを、前記第二のプロトコルに従って書式設定された前記第二のデータ・パケットから取り出し、前記第一の計装情報及び前記第二のプロトコルに従って書式設定された前記第二のデータ・パケット内に挿入された前記第一のデータを取り出す手段、および、
前記第一のデータを受信する手段を備える、システム。
【請求項１０】
前記第二のホストにおいて応答パケットを形成するための手段であって、前記応答パケットが前記第一の情報のうちの少なくともいくつかおよび第二の情報を含む、手段をさらに備えた、請求項９に記載のシステム。
【請求項１１】
データを消費するための手段であって、それに対して前記第二のホストに伝送された前記データが送られる、手段と
をさらに備えた、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの性能を検査することに関する。具体的には、ネットワークの性能は、第一のプロトコルを使用して伝送する予定のデータを、第二のプロトコルに従って書式設定されたデータ・パケット内にカプセル化する（ｅｎｃａｐｓｕｌａｔｉｎｇ）ことと、検査情報を含めることとによって検査される。
【背景技術】
【０００２】
コンピュータや他のホスト・コンピュータを相互に接続するネットワークは、データ・ファイルの転送に加えて、実時間通信をサポートするためにますます利用されている。音声電話、テレビ電話またはその他の実時間通信に関連したコンピュータ・ネットワークの利用が望まれる場合には、かかる利用のために十分なレベルまたは品質のサービスが実現され得るかどうかを決定するためにネットワークを検査することが多くの場合に望ましい。例えば、許容可能レベルの実時間通信のためのサービスを実現するためには、パケット損失率、伝送時間（遅延）およびデータ・パケットの着信時間変動（ジッタ）の全てが一定の範囲内になければならない。さらにネットワークは、リソース予約プロトコル（ｒｅｓｏｕｒｃｅ  ｒｅｓｅｒｖａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）（ＲＳＶＰ）などの１つまたは複数の、サービス品質をイネーブルする技術（ｑｕａｌｉｔｙ  ｏｆ  ｓｅｒｖｉｃｅ  ｅｎａｂｌｉｎｇ  ｔｅｃｈｎｏｌｏｇｉｅｓ）をサポートすることが可能でなければならない。
【０００３】
インターネット・プロトコル（ＩＰ）電話などの実時間通信をサポートするデータ・ネットワークの能力を評価するためには、ネットワーク・トラフィックを発生させて、パケット損失、ジッタ、遅延、サービス品質をイネーブルする技術のサポートなどの特性を観察することによってネットワーク性能を測定するプローブおよびスニファ（ｓｎｉｆｆｅｒ）が通常配備されなければならない。しかし、ＩＰｖ．４ネットワークなどの多くの現行のインターネット・プロトコル・ネットワークは、割当てに残されている予備ＩＰアドレスの数が限られている。したがって、ネットワーク上へのプローブまたは新たなトラフィックの導入は、既存のトラフィックおよびネットワーク容量に悪影響を与える恐れがある。具体的には、ネットワーク上へのプローブおよびスニファの配備は、そのネットワークの性能の測定値を悪化させる恐れがある。さらに、新たなトラフィックを追加することによって、いっそう多くの利用可能なネットワーク帯域幅および処理能力が消費される。
【０００４】
プローブを追加することによってもたらされる恐れのあるネットワークの混雑および容量の問題に加え、システムによっては、かかる検査を行うためにハードウェアのネットワークへの追加が要求される。かかるハードウェアは、独立型のコンピュータ、シングルボード・コンピュータまたはサーバの形となる場合がある。 さらに、たとえプローブがソフトウェア・アプリケーションとして既存のネットワーク・エンティティ（ｎｅｔｗｏｒｋ  ｅｎｔｉｔｉｅｓ）上に配備されたとしても、ネットワーク・トラフィックの追加およびネットワーク・エンティティに関する上述の問題が残る。さらに、さらなるアプリケーションとして既存のネットワーク・エンティティにソフトウェアとして追加された検査設備は、ネットワーク・エンティティ上の他のアプリケーションとリソースを奪い合い、潜在的にネットワーク・エンティティの性能に悪影響を与える。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、これらおよびその他の問題ならびに先行技術の不利点を解決することに関する。本発明の実施形態によれば、ネットワーク内のネットワーク・ホスト（ｎｅｔｗｏｒｋ  ｈｏｓｔ）間で送信される既存のトラフィックがネットワークの性能を検査するために使用される。具体的には、本発明の実施形態は、他のホストにデータを送信する際に通常、使用されるデータ転送プロトコルとは異なるデータ転送プロトコルに従って書式設定された、１つまたは複数の検査データ・パケットの形にデータまたはトラフィックをカプセル化する、または包み込むために、ネットワーク・ホストのネットワーク・スタック（ｎｅｔｗｏｒｋ  ｓｔａｃｋ）に計装を行う。さらに本発明の実施形態は、カプセル化されたデータ・パケットと共に伝送用情報を追加して、この情報が性能検査に関連して使用される。したがって、既存のトラフィックまたはネイティブ・トラフィック（ｎａｔｉｖｅ  ｔｒａｆｆｉｃ）は、他の場合にそのトラフィックの伝送に使用されるプロトコルに従ってではなく、検査を行うプロトコルに従って送信され得る。
【課題を解決するための手段】
【０００６】
本発明の別の実施形態によれば、受信ホストにおけるネットワーク・スタックに追加された計装（ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎ）は、受信アプリケーションに送るために、カプセル化されたデータをアンパックするように機能する。さらに受信ホストにおける計装は、検査のために送信ホストにおいて追加された情報を取り出す。本発明の別の実施形態によれば、受信ホストは、ネットワークの検査に関する情報を包装し直して、さらなる検査情報を追加することができる。次いで、検査情報は、検査が行われているプロトコルに従って書式設定された応答パケット内に入れられて、発信元ホストに返送されてよい。応答パケットが発信元ホストで受信されると、往復経過時間（ｒｏｕｎｄｔｒｉｐ  ｔｒａｎｓｉｔ  ｔｉｍｅ）（遅延）およびジッタなどのネットワーク性能の測定基準を決定することができる。さらに、データ・パケットの数が関わるデータの流れに関連して、パケット損失に関する情報を得ることができる。
【０００７】
本発明のさらなる実施形態によれば、発信元ホストのネットワーク・スタック内の計装は、元のデータ・トラフィックをカプセル化しているパケットを、そのトラフィックまたはデータが本来宛てられた受信ホスト上のポートではなく、検査が行われているプロトコルに関連する受信ホスト上のポートに向ける。次いで受信ホスト上のネットワーク計装は、伝送されたデータを検査が行われたポートに宛てられたデータ・パケットからアンパックした後に、そのデータを受信アプリケーションに送る。
本発明の実施形態のさらなる特徴および利点は、特に添付図面と合わせて、以下の議論からより容易に明らかになるであろう。
【発明を実施するための最良の形態】
【０００８】
ここで図１を参照して、ネットワーク・プロトコル性能評価のためのシステム１００の構成要素を例示する。一般に、システム１００は、ネットワーク１０８によって相互接続された、いくつかのネットワーク・ホスト１０４ａ〜ｂを含む。一般に、各ネットワーク・ホスト１０４は、アプリケーション１１２を含み、またはこれと関連する。アプリケーション１１２は、データのソースおよび／またはシンク（ｓｉｎｋ）を含んでよい。例えば、アプリケーション１１２は、データを生成してよく、他のアプリケーションやネットワーク・エンティティから供給されたデータを処理してよく、あるいはデータ転送のための通信アプリケーションを含んでよい。
【０００９】
各ネットワーク・ホスト１０４はまた、一般に、ネットワーク・プロトコル・スタック１１６を含む。ネットワーク・プロトコル・スタック１１６は特定の構成に制限されないが、ネットワーク・プロトコル・スタック１１６の例は、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）プロトコル・スタックを含む。ネットワーク・ホスト１０４のネットワーク・プロトコル・スタック１１６は、ネットワーク・ホスト１０４と関連するアプリケーション１１２からデータを受け取って、ネットワーク・プロトコル・スタック１１６によって実装されるプロトコルに従ってデータ・パケットを生成して、受信ネットワーク・ホスト１０４への伝送用の第一のポート１２０を介してネットワーク１０８にこれらのデータ・パケットを提供するように機能してよいことを当業者であれば理解することができる。例えば、第一のネットワーク・ホスト１０４ａのネットワーク・プロトコル・スタック１１６ａにおいて生成されたパケットは一般に、第一のポート１２０ａを介してネットワーク１０８に送られる。さらに第一のネットワーク・ホスト１０４ａのネットワーク・プロトコル・スタック１１６ａにおいて生成されたパケットは一般に、受信ネットワーク・ホスト１０４ｂの対応する第一のポート１２０ｂに宛てられる。さらにネットワーク・プロトコル・スタック１１６は一般に、関連するネットワーク・ホスト１０４の第一のポート１２０に送られたデータ・パケットを含む、データ・パケットを受け取って、これらのデータ・パケットの中に含まれるデータを取り出して、関連するアプリケーション１１２にデータを送るように機能する。例えば、第二のネットワーク・ホスト１０４ｂの第一のポート１２０ｂに宛てられたデータ・パケットは、第二のネットワーク・ホスト１０４ｂと関連するネットワーク・プロトコル・スタック１１６ｂによって処理されてよく、かかるデータ・パケット内に含まれるデータは関連するアプリケーション１１２ｂに送られてよい。
【００１０】
本発明の実施形態によれば、各ネットワーク・ホスト１０４は、ネットワーク・プロトコル・スタック１１６内に挿入された、本明細書ではカプセル化装置（ｅｎｃａｐｓｕｌａｔｏｒ）１２４と呼ばれるシム（ｓｈｉｍ）をさらに含む。カプセル化装置１２４は一般に、プロトコル・スタック１１６からの、アプリケーション１１２によって生成されたトラフィック（すなわちデータ・パケット）を傍受するように機能する。傍受されたデータは、カプセル化装置１２４によって、検査またはラッパ（ｗｒａｐｐｅｒ）・データ・パケット内にカプセル化され、これらのデータ・パケットは、データ・パケットの形成にネットワーク・プロトコル・スタック１１６によって一般に使用されるプロトコルとは異なるプロトコルに従って書式設定される。カプセル化装置１２４はまた、傍受したデータ・パケットをカプセル化している検査データ・パケット内に情報を挿入する。かかる情報は、識別子、タイム・スタンプまたはネットワーク１０８の性能を測定することに関連して使用されるその他のデータを含んでよい。次いでカプセル化装置１２４は、第二のプロトコルに従って書式設定された検査データ・パケットを、例えば第二のポート１２８を介して、ネットワーク１０８に送る。例示として、第一のホスト１０４ａ上のネットワーク・プロトコル・スタック１１６ａは、アプリケーション１１２ａから伝送用に受け取ったデータをＴＣＰ／ＩＰプロトコルなどの第一のプロトコルに従って書式設定してよい。次いで１つまたはいくつかのＴＣＰ／ＩＰデータ・パケットがカプセル化装置１２４ａによって傍受されて、例えば実時間プロトコル（ＲＴＰ）などの第二のプロトコルに従って書式設定された１つまたは複数の検査データ・パケット内にカプセル化される。ＴＣＰ／ＩＰデータ・パケット、すなわちアプリケーション１１２ａによって生成されたトラフィックを運ぶパケットに加えて、検査データ・パケット、すなわちカプセル化装置１２４ａによって形成されたパケットは、識別子およびタイム・スタンプを含む。次いでペイロード（ｐａｙｌｏａｄ）として１つまたは複数のカプセル化されたデータ・パケットを運ぶ、１つまたは複数の検査データ・パケットは、カプセル化装置１２４ａによって第二のポート１２８ａを介してネットワーク１０８に送られる。
【００１１】
カプセル化装置１２４はまた、関連するネットワーク・ホスト１０４の第二のポート１２８で受信したデータ・パケットを処理するようにも機能する。具体的には、カプセル化装置１２４は、第二のポート１２８で受信した検査データ・パケットからカプセル化されたデータを取り出す。カプセル化されたデータは、第二のポート１２８で受信した検査データ・パケットから取り出した際に、第一のポート１２０を介してホスト１０４に通常着信する、第一のプロトコルに従って書式設定されたデータ・パケットの形であってよい。次いで取り出されたデータ・パケットは、あたかもそのデータが第一のポート１２０を介して送られたかのように、アプリケーション１１２に送るためにネットワーク・プロトコル・スタック１１６に供給される。さらにカプセル化装置１２４は、受信したデータ・パケットから、ネットワーク１０８の性能検査に関連して使用することが可能な情報を取り出す。一例として、第二のプロトコルに従って、第一のネットワーク・ホスト１０４ａの第二のポート１２８ａを介して送信された検査データ・パケットは、第二のネットワーク・ホスト１０４ｂの第二のポート１２８ｂで受信されてよい。次いでカプセル化装置１２４ｂは、１つのまたは複数のカプセル化されたデータ・パケットおよび追加されたネットワーク性能に関する情報をアンパックする。次いで１つまたは複数のカプセル化されていたデータ・パケットは、これらのデータ・パケットからのデータを取り出すため、および受信アプリケーション１１２ｂに送るためにカプセル化装置１２４ｂからプロトコル・スタック１１６ｂへと送られる。
【００１２】
ネットワーク・ホスト１０４のカプセル化装置１２４はまた、応答パケットを供給するように機能してよい。応答パケットを送信することにより、より完全なネットワーク性能情報を得ることができる。例えば、往復経過時間を決定することができる。一般に、カプセル化装置１２４は、検査が行われるプロトコルに従って応答パケットを書式設定する。さらにかかるパケットは、ネットワーク１０８の性能の検査に関連して使用される情報を含んでよい。かかる情報は、カプセル化されたデータと共に当初伝送された情報、カプセル化されたデータと共に当初伝送された情報から派生した情報および／または応答パケットを生成するカプセル化装置１２４によって追加された情報を含んでよい。例えば、第二のネットワーク・ホスト１０４ｂ上のカプセル化装置１２４ｂは、カプセル化されたデータ・パケットをアンパックして、ネットワーク・プロトコル・スタック１１６ｂに送り、識別子および、情報を含んだデータ・パケットが第一のネットワーク・ホスト１０４ａから当初送信された時刻を示すタイム・スタンプを含めた、ネットワーク性能に関する情報を取り出した後に、応答パケットを生成してよい。応答パケットは、受信した識別子、第一のネットワーク・ホスト１０４ａからのタイム・スタンプ、応答パケットが第二のネットワーク・ホスト１０４ｂから送信された時刻を示す新たなタイム・スタンプおよび／またはその他の情報を含んでよい。応答パケットは、第二のネットワーク・ホスト１０４ｂの第二のポート１２８ｂを介して第一のネットワーク・ホスト１０４ａに送信される。第一のネットワーク・ホスト１０４ａの第二のポート１２８ａで応答パケットを受信すると、カプセル化装置１２４ａは、ネットワーク１０８の性能検査に関する情報を取り出してよく、応答が第一のネットワーク・ホスト１０４ａで受信された時刻を示すタイム・スタンプを関連づけてよく、この情報を検査アプリケーションまたはデータベースに供給してよい。本発明の実施形態によれば、応答パケットは、受信ホスト１０４に送られるいくつかの、または全てのカプセル化されたデータ・パケットについて受信されてよい。
【００１３】
ここで図２を参照すると、本発明の実施形態に従ってカプセル化装置１２４を内蔵するネットワーク・ホスト１０４の構成要素が構成図の形で表されている。構成要素は、プログラム命令を実行することが可能なプロセッサ２０４を含んでよい。したがって、プロセッサ２０４は、汎用プログラム可能プロセッサ、デジタル・シグナル・プロセッサ（ＤＳＰ）またはアプリケーション・プログラミングを実行するためのコントローラを含んでよい。あるいは、プロセッサ２０４は、特別に構成された特定用途向け集積回路（ＡＳＩＣ）を含んでよい。一般にプロセッサ２０４は、本明細書に記載のカプセル化および検査演算を含む、ネットワーク・ホスト１０４によって行われる様々な機能を実装するプログラミング・コードを実行するように機能する。
【００１４】
ネットワーク・ホスト１０４はさらに、プロセッサ２０４によるプログラミングの実行に関連して使用するため、およびデータまたはプログラム命令を一時的または長期に格納するためのメモリ２０８を含んでよい。メモリ２０８は、ＤＲＡＭやＳＤＲＡＭなどの常駐型、脱着型または遠隔型のソリッド・ステート・メモリを含んでよい。プロセッサ２０４がコントローラを備える場合、メモリ２０８はプロセッサ２０４と一体化していてよい。
【００１５】
さらにネットワーク・ホスト１０４は、ユーザ入力を受信する１つまたは複数のユーザ入力装置２１２または手段および出力するための１つまたは複数のユーザ出力装置２１６または手段を含んでよい。ユーザ入力装置２１２の例は、キーボード、キーパッド、タッチ・スクリーン、タッチパッドおよびマイクを含む。ユーザ出力装置２１６の例は、スピーカー、表示画面（タッチ・スクリーン式表示画面を含む）および表示灯を含む。さらに、ユーザ入力装置２１２は、ユーザ出力装置２１６と組み合わせて、あるいはこれと連動して機能させてもよいことを当業者であれば理解することができる。かかる統合されたユーザ入力装置２１２およびユーザ出力装置２１６の一例が、ユーザへの視覚情報を呈示すると共にユーザからの入力選択を受信することが可能なタッチ・スクリーン式表示画面である。
【００１６】
通信装置またはサーバはまた、アプリケーション・プログラミングおよび／またはデータの格納用のデータ記憶装置２２０を含んでよい。さらにオペレーティング・システム・ソフトウェア２２４は、データ記憶装置２２０内に格納されてよい。データ記憶装置２２０は例えば、電磁記憶装置、ソリッド・ステート記憶装置、光学式記憶装置、論理回路またはかかる装置類の組合せを含んでよい。データ記憶装置２２０内で保存されてよいプログラムおよびデータは、データ記憶装置２２０の特定の実装に応じて、ソフトウェア、ファームウェアまたはハードウェア論理を含むことが可能であることをさらに理解されたい。
【００１７】
データ記憶装置２２０は一般に、１つまたは複数のアプリケーション１１２を含む。アプリケーション１１２の例は、文書処理、表計算もしくは出版アプリケーションなどのデータの生成または変更に使用することが可能なアプリケーション、あるいはこの他の種類の、データの生成または変更が可能なアプリケーションを含む。アプリケーション１１２のその他の例は、通信アプリケーションおよび大容量記憶アプリケーションを含む。さらに、本発明の実施形態によるネットワーク・ホスト１０４のデータ記憶装置２２０は、本明細書に記載されるようにカプセル化装置１２４を含むように計装されたネットワーク・スタック１１６を含んでよい。カプセル化装置１２４は、ネットワーク・プロトコル・スタック１１６内に統合されてよく、またネットワーク・プロトコル・スタック１１６およびカプセル化装置１２４は独立したプログラムまたはアプリケーションとして存在してもよい。
【００１８】
通信装置またはサーバはまた、１つまたは複数の通信ネットワーク・インターフェース２３６を含んでよい。通信ネットワーク・インターフェース２３６の例は、ネットワーク・インターフェース・カード、モデム、ワイヤライン（ｗｉｒｅｌｉｎｅ）電話ポート、シリアルもしくはパラレル・データ・ポートまたはその他のワイヤラインもしくはワイヤレス通信ネットワーク・インターフェースを含む。
【００１９】
ここで図３を参照して、ネットワーク・ホスト１０４と関連するソフトウェアとネットワーク１０８との関係を例示する。具体的には、図３は、ネットワーク・ホスト１０４上の他のソフトウェア構成要素に対するカプセル化装置１２４の機能を例示する。ネットワーク・ホスト１０４上で、またはこれと関連して実行されるアプリケーション１１２は、他のネットワーク・ホスト１０４上で、またはこれと関連して実行される他のアプリケーション１１２との通信を行う。アプリケーション１１２は、通信にネットワーク１０８を使用することを求めるとき、一般にネットワーク・プロトコル・スタック１１６の部分として提供されるアプリケーション・プログラミング・インターフェース３０４を介してこれを行う。カプセル化装置１２４は一般に、通信要求および／またはデータ・パケットがアプリケーション１１２からネットワーク・スタックを介してネットワーク１０８層に送られる際にそれらを観察して、傍受するように実行されるソフトウェアを含む。さらにネットワーク・ホスト１０４で受信されたパケットに関して、カプセル化装置１２４は、他のデータ・パケットをカプセル化している検査データ・パケットを観察して、傍受して、ネットワーク１０８層からプロトコル・スタックを介してアプリケーション１１２に送られる際にカプセル化されたデータ・パケットを取り出す。
【００２０】
アプリケーション・プログラミング・インターフェース３０４とカプセル化装置１２４との間のインターフェース（場所１  ３０８）で、カプセル化装置１２４は、ネットワーク要求がカプセル化装置１２４がインストールされている他のホスト１０４に向けられているか、送信されるトラフィックが検査の行われているプロトコルのタイプのパケット内へのカプセル化に適しているか、検査をスケジュールする時であるか、および／またはその他の適格性基準が満たされているかを決定する。ネットワーク転送がカプセル化装置１２４の要件を満たさない場合、その転送を含むトラフィックは、第一のポート１２０を介してネットワーク１０８に送るために、アプリケーション・プログラミング・インターフェース３０４から直接ソケット・ライブラリ３１２へと場所２  ３１０を進むことによって、ネットワーク・スタックを通常、通過する。
【００２１】
ネットワーク転送がカプセル化装置１２４の要件を満たす場合、カプセル化装置１２４は、転送されるデータ・パケット（すなわち送信されるトラフィック）を、検査が行われているプロトコルに従って書式設定されたデータ・パケット内にカプセル化して、性能検査に関連して使用されるさらなる情報を追加して、検査データ・パケットを形成する。したがって、本明細書において、「検査データ・パケット」とは、検査が行われるプロトコルに従って書式設定された、別のプロトコルに従って書式設定されたデータ・パケットを含み、検査情報を含んだ、データ・パケットである。次いで検査データ・パケットは、第二のポート１２０を介してネットワーク１０８に送るために、カプセル化装置１２４とソケット・ライブラリ３１２との間のインターフェース（場所３  ３１１）においてソケット・ライブラリ３１２に供給される。
【００２２】
ここで図４を参照して、本発明の実施形態によるネットワーク・プロトコル性能評価のためのシステム１００の運用の態様を例示する。初めに工程４００で、ネットワーク・ホスト１０４におけるネットワーク・トラフィックの計装がイネーブルされる。次いでネットワーク・ホスト１０４上のアプリケーション１１２が通信のためにネットワーク１０８の使用を要求するかどうかに関する決定が行われてよい（工程４０４）。アプリケーション１１２によるネットワーク１０８の使用の要求が検出されない場合、そのプロセスは工程４０４において空転してよい。
【００２３】
アプリケーション１１２による、例えばデータ転送を行う、通信のためにネットワーク１０８を使用する要求を検出すると、カプセル化装置１２４はその要求がネットワーク・プロトコル・スタック１１６を通過する際にその要求を傍受する（工程４０８）。次いでそのネットワーク通信がカプセル化装置１２４を備えた別のネットワーク・ホスト１０４宛てであるかどうかに関する決定が行われてよい（工程４１２）。この決定は、送信ネットワーク・ホスト１０４上のカプセル化装置１２４によって行われてよい。あるいは、送信ホスト１０４におけるカプセル化装置１２４は、送信中のトラフィックの全てまたはいくらかの小部分をカプセル化してよい。
【００２４】
通信がカプセル化装置１２４を備えたネットワーク・ホスト１０４宛てである場合、送信ホスト１０４からの通信または転送および検査情報を含む１つまたは複数のデータ・パケットが、カプセル化装置１２４によって、またはカプセル化装置１２４の指示で検査を行うタイプの１つまたは複数の検査データ・パケット内にカプセル化される（工程４１６）。例えば、ネットワーク１０８が実時間プロトコル性能について検査される場合、通信を含むデータ・パケットはＲＴＰ検査データ・パケット内にカプセル化される。転送のための１つまたは複数のデータ・パケットと共に検査データ・パケットに挿入される検査情報は、識別子を含んでよい。さらに計装情報は、タイム・スタンプなどの検査目的についての情報を含んでよい。次いでサービスのタイプおよび検査データ・パケットについての、例えばＲＴＰパラメータなどのその他のパラメータを検査を行うストリームについて必要に応じて設定する（工程４２４）。さらにアプリケーション１１２が送信することを求めるトラフィックについての元のＩＰヘッダ・パラメータに関する情報が挿入されてよい（工程４２８）。次いで検査データ・パケットは、検査を行うポート上の受信ホスト１０４へと送信される（工程４３２）。元のトラフィックをカプセル化している検査データ・パケットが送信される受信ホスト１０４上のポートは、そのトラフィックの元来の宛先とされるポートとは異なることを当業者であれば本明細書の記載の考察後に理解することができる。さらに識別情報、タイム・スタンプおよび／またはネットワーク１０８の性能の検査に関するその他の情報が、送信ホストにおいて記録される（工程４３６）。
【００２５】
工程４１２においてアプリケーション１１２によって要求されたネットワーク通信がカプセル化装置１２４を備えた別のホスト１０４宛てでないと決定された場合、またはその通信が他の理由でカプセル化に不適格であると決定された場合、元のＩＰヘッダ・パラメータを使用したデータ・パケットが伝送用にネットワークに送られてよい（工程４４０）。次いで元のＩＰヘッダ・パラメータを使用したデータ・パケットは、元のポート上の受信ネットワーク・ホスト１０４へと送信されてよい（工程４４４）。（工程４４４において）通常のデータ・パケットを受信ホスト１０４へと送信した後、または（工程４３２において）検査パケットを受信ホストに送信して、（工程４３６において）識別情報を記録した後、ネットワーク・トラフィックを送信するプロセスは終了してよい。
【００２６】
ここで図５を参照して、本発明の実施形態によるネットワーク性能の検査のためのシステム１００の運用のさらなる態様を例示する。工程５００では、カプセル化装置１２４を備えたネットワーク・ホスト１０４においてデータ・パケットが受信される。次いで受信されたデータ・パケットが、計装情報を有し、そのホスト１０４上のアプリケーション１１２用のデータを有するＲＴＰ検査パケット（またはネットワーク１０８上で性能の検査が行われているプロトコルのその他のタイプの検査パケット）であるかどうかの決定が行われる。検査データ・パケットが受信されたと決定された場合、計装情報が応答パケットのペイロードにコピーされ、ローカル・タイム・スタンプなどさらなる計装情報がペイロードに追加される（工程５０８）。次いで応答パケットが元のパケットを送信したネットワーク・ホスト１０４に送信される（工程５１２）。応答パケットが送信されるとき、識別子および／またはタイム・スタンプ情報などの計装情報が受信ホストにおいて元のパケットから記録される（工程５１６）。
【００２７】
次いでアプリケーション１１２用のデータを含んだデータ・パケットを含んだ検査パケットのペイロードが受信ホスト１０４上のカプセル化装置１２４によってアンパックされる（工程５２４）。さらに、ペイロードを含むデータがいくつかのデータ・パケット間で断片化している場合は、ネットワーク・プロトコル・スタック１１６によって再構成されてよい。次いでデータ・パケットは、アプリケーション１１２に送るためにスタック１１６内に送られる（工程５２８）。
【００２８】
受信ネットワーク・ホスト１０４において受信されたデータ・パケットが計装情報を含んでいないと決定された場合、そのパケットはカプセル化装置１２４によって処理されなくてよい。その代わりに、このデータ・パケットは、通常の（すなわち非検査）データ・パケットとして、アプリケーション１１２に送るためにネットワーク・プロトコル・スタック１１６に送られる（工程５２８）。 
【００２９】
ここで図６を参照して、本発明の実施形態によるプロセスの流れを例示する。具体的には、開始パケットの流れ６０４および応答パケットの流れ６０８を含む本発明の実施形態によるプロセスの流れを例示する。図６に示すように、送信ホスト・アプリケーション１１２ａは、ＩＰデータ・パケット６１２のペイロードとして伝送用データを供給する。ＩＰデータ・パケット６１２は、送信ホスト・アプリケーション１１２ａと関連するプロトコル・スタック１１６ａの機能によって形成されてよい。次いでＩＰデータ・パケッ６１２は、１つまたは複数の検査またはラッパ・パケット内にカプセル化されて、計装情報が検査データ・パケットに関連づけられる（図６においてプロセス矢印６１６で図示）。カプセル化および計装は、元のＩＰデータ・パケット６１２を形成したプロトコル・スタック１１６ａと関連するカプセル化装置１２４ａの運用によって行われてよい。カプセル化および計装の結果として、検査またはラッパ・データ・パケット６２０が形成される。さらに、検査またはラッパ・パケット６２０によってカプセル化されたＩＰデータ・パケット６１２は、さまざま検査またはラッパ・パケット６２０と関連する断片に分割されてよい。例えば、図６では、第一のラッパ・パケット６２０ａがＩＰデータ・パケットの断片１  ６１２ａを含み、断片Ｎ  ６１２ｂがラッパ・パケットＮ  ６２０ｂに含まれている。
【００３０】
検査またはラッパ・データ・パケット６２０は、開始の流れ６０４としてネットワーク１０８を通じて伝送される。次いでラッパ・パケット６２０が受信ホストのアプリケーション１１２ｂと関連するカプセル化装置１２４ｂにおいて受信されて、元のＩＰデータ・パケット６１２の再構成または回収が行われる（プロセス矢印６２４で図示）。次いで回収されたデータ・パケット６２０ａは、受信ホストのアプリケーション１１２ｂに送られる。回収されたデータ・パケット６２０ａは、送信ホストのアプリケーション１１２ａに関連するプロトコル・スタック１１６ａによって初めに形成された際のそのパケットの形と同一であってよいことを当業者であれば本明細書の記載から理解することができる。
【００３１】
計装情報がカプセル化プロセス６１６の一環として追加された場合には、計装情報も測定基準コレクタ６１８ａ内に格納される。測定基準コレクタ６１８ａ内に保存される情報は、カプセル化プロセスの一環として追加されたタイム・スタンプ情報および、形成された１つまたは複数のカプセル化パケットと関連する識別子を含んでよい。
【００３２】
ラッパ・パケット６２０に含められた計装データは、受信ホスト１０４ｂと関連してよい測定基準コレクタ６１８ｂに送られる。次いで収集された情報は、応答パケット生成プロセス６３２の一環として変更および／またはさらなる計装情報に追加されてよい。本発明の実施形態によれば、応答パケット６３６は、受信ホスト１０４ｂにおいて受信された各ラッパ・パケット６２０に対応するように生成されてよい。例えば、受信ホスト１０４ｂにおいて受信されたラッパ・パケット１  ６２０ａに対応する応答パケット１  ６３６ａが生成されてよい。応答パケット１  ６３６ａは、識別子、連続番号、タイム・スタンプまたは、ラッパ・パケット６２０ａおよび／または応答パケット６３６ａの計装情報の一部として追加されたその他の情報を含んでよい。同様に、ラッパ・パケットＮ  ６２０ｂに対応させて応答パケットＮ  ６３６ｂが生成されてよい。
【００３３】
送信ホスト１０４ａでは、受信した応答パケット６３６から計装情報が回収される。かかる計装情報は、送信ホスト１０４ａと関連するカプセル化装置１２４ａによって回収されてよい。応答パケット６３６から回収された計装情報は、測定基準コレクタ６１８ａに送られてよい。
【００３４】
本明細書の中で提供されている一部の例は、ＲＴＰデータ・パケットを含む、検査またはラッパ・パケット内へのＴＣＰ／ＩＰデータ・パケットのカプセル化を論じているが、本発明の実施形態はそのように制限されないことを理解されたい。具体的には、本発明の実施形態は、任意のプロトコルに従って書式設定されたデータ・パケットを他のプロトコルに従って書式設定された別のデータ・パケット内に包み込むことまたはカプセル化すること、および計装情報を含むことに関連して応用してよい。したがって、本発明の実施形態は、第一のプロトコルに従って書式設定されたデータ・パケットを使用して第二のプロトコルに従って書式設定されたデータを伝送することによって、第一のプロトコルに従って書式設定されたデータ・ストリームを送ることに関するネットワークの性能を検査することに応用してよい。さらに、第一および第二のプロトコルは共に、当該ネットワークの階層型モデルに従って同じネットワーク層またはレベルにおいて機能してよい。
【００３５】
本発明の前述の議論は、例示および説明のために提供されている。さらにこの説明は、本明細書で開示された形に本発明を制限することを意図したものではない。したがって、関連技術分野の技術または知識の範囲内における、上記の教示と同等の変更形態および改変形態は、本発明の範囲内である。本明細書の上述の実施形態はさらに、現在周知の本発明の実践の最良の態様を説明すること、および他の当業者が、かかる実施形態およびその他の実施形態において、特定の応用または本発明の使用によって求められる様々な改変を加えて、本発明を利用できるようにすることを意図したものである。添付の特許請求の範囲は、従来技術によって認められる範囲内で代替実施形態を含むと解釈されることが意図されている。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態による、ネットワークによって相互接続されたネットワーク・ホストを例示する図である。
【図２】本発明の実施形態による、ネットワーク・ホストの構成要素を例示する図である。
【図３】本発明の実施形態による、ネットワーク・ホストと関連するソフトウェアとネットワーク媒体との関係を例示する図である。
【図４】本発明の実施形態による、ネットワーク性能の検査のためのシステムの運用の態様を例示する流れ図である。
【図５】本発明の実施形態による、ネットワーク性能の検査のためのシステムの運用の別の態様を例示する流れ図である。
【図６】本発明の実施形態による、プロセスの流れを例示する構成図である。
【図１】
0004431128.tif 000002
【図２】
0004431128.tif 000003
【図３】
0004431128.tif 000004
【図４】
0004431128.tif 000005
【図５】
0004431128.tif 000006
【図６】
0004431128.tif 000007