(57)【特許請求の範囲】
【請求項１】
モバイルネットワークに接続され、該モバイルネットワークを介して、仮想的な移動体である仮想移動体と所定の端末装置との間で通信を行わせる通信検証装置であって、
当該の通信検証装置によって生成される仮想的なネットワークである仮想ネットワーク内における複数の仮想的なエリアである仮想エリアに対応する通信状態を識別するための状態番号に対応付けて該通信状態時に発生するエラー内容と、前記仮想移動体を前記仮想ネットワーク内における複数の仮想エリアのいずれかに移動させる移動条件と、複数の前記仮想ネットワークを識別するためのネットワーク番号に対応付けて該仮想ネットワークのホームアドレスと、が定義されているシナリオに基づいて、前記仮想移動体を前記複数の仮想ネットワークに属する前記複数の仮想エリアのいずれかに移動させる移動体移動手段と、
前記移動体移動手段によって移動された仮想移動体が位置する仮想エリアに対応するエラー内容を発生させて、前記仮想移動体と前記端末装置との間で該仮想エリアが属する仮想ネットワークのホームアドレスを用いた通信を行わせる通信手段と
を備えたことを特徴とする通信検証装置。
【請求項２】
前記通信手段は、前記移動体移動手段によって、前記仮想移動体が、該仮想移動体が現在位置する仮想エリアである現仮想エリアから、該現仮想エリアが属する仮想ネットワークと異なる仮想ネットワークに属する仮想エリアである新仮想エリアへ移動された場合に、前記新仮想エリアが属する仮想ネットワークのホームアドレスを含むパケットを、前記仮想移動体からホームエージェントへ送信させることを特徴とする請求項１に記載の通信検証装置。
【請求項３】
前記通信手段は、前記端末装置から受信したパケットである受信パケットの宛先アドレスが、前記シナリオに定義されているホームアドレスに含まれない場合に、前記受信パケットを廃棄するアドレスフィルタ手段をさらに備えたことを特徴とする請求項１または２に記載の通信検証装置。
【請求項４】
前記シナリオは、前記エラー内容として、前記端末装置と送受信を行うパケットのロス率およびエラー率と、パケットを送受信する場合に発生させる遅延時間とが定義され、
前記通信手段は、前記仮想移動体から前記端末装置に対してパケットを送信させる場合に、前記シナリオに定義されているロス率およびエラー率に従って、送信パケットにロスおよびエラーを発生させ、前記遅延時間が経過した後に該送信パケットを送信させ、前記仮想移動体が前記端末装置からパケットを受信した場合に、前記シナリオに定義されているロス率およびエラー率に従って、受信パケットにロスおよびエラーを発生させ、前記遅延時間が経過した後に該受信パケットを受信したものとして受信処理を行わせることを特徴とする請求項１〜３のいずれか一つに記載の通信検証装置。
【請求項５】
前記通信手段は、前記端末装置との間における通信の状況を所定のファイルに出力するログ出力手段をさらに備えたことを特徴とする請求項１〜４のいずれか一つに記載の通信検証装置。
【請求項６】
モバイルネットワークに接続され、該モバイルネットワークを介して、仮想的な移動体である仮想移動体と所定の端末装置との間で通信を行わせる通信検証装置であって、
当該の通信検証装置によって生成される仮想的なネットワークである仮想ネットワーク内における複数の仮想的なエリアである仮想エリアに対応する通信状態を識別するための状態番号に対応付けて該通信状態時に発生するエラー内容として前記端末装置と送受信を行うパケットのロス率およびエラー率と、パケットを送受信する場合に発生させる遅延時間と、前記仮想移動体を前記仮想ネットワーク内における複数の仮想エリアのいずれかに移動させる移動条件と、が定義されているシナリオに基づいて、前記仮想移動体を前記複数の仮想エリアのいずれかに移動させる移動体移動手段と、
前記移動体移動手段によって移動された仮想移動体が位置する仮想エリアに対応するエラー内容を前記シナリオから取得し、前記仮想移動体から前記端末装置に対してパケットを送信させる場合に、前記シナリオに定義されているロス率およびエラー率に従って、送信パケットにロスおよびエラーを発生させ、前記遅延時間が経過した後に該送信パケットを送信させ、前記仮想移動体が前記端末装置からパケットを受信した場合に、前記シナリオに定義されているロス率およびエラー率に従って、受信パケットにロスおよびエラーを発生させ、前記遅延時間が経過した後に該受信パケットを受信したものとして受信処理を行わせる通信手段と
を備えたことを特徴とする通信検証装置。
【請求項７】
モバイルネットワークを介して、該モバイルネットワークに接続された通信検証装置によって生成される仮想的な移動体である仮想移動体と、所定の端末装置との間で通信を行わせる通信検証方法であって、
前記通信検証装置が、
当該の通信検証装置によって生成される仮想的なネットワークである仮想ネットワーク内における複数の仮想的なエリアである仮想エリアに対応する通信状態を識別するための状態番号に対応付けて該通信状態時に発生するエラー内容と、前記仮想移動体を前記仮想ネットワーク内における複数の仮想エリアのいずれかに移動させる移動条件と、複数の前記仮想ネットワークを識別するためのネットワーク番号に対応付けて該仮想ネットワークのホームアドレスと、が定義されているシナリオに基づいて、前記仮想移動体を前記複数の仮想ネットワークに属する前記複数の仮想エリアのいずれかに移動させる移動体移動工程と、
前記移動体移動工程によって移動された仮想移動体が位置する仮想エリアに対応するエラー内容を発生させて、前記仮想移動体と前記端末装置との間で該仮想エリアが属する仮想ネットワークのホームアドレスを用いた通信を行わせる通信工程と
を含んだことを特徴とする通信検証方法。
【請求項８】
モバイルネットワークを介して、該モバイルネットワークに接続された通信検証装置によって生成される仮想的な移動体である仮想移動体と、所定の端末装置との間で通信を行わせる通信検証方法をコンピュータに実行させる通信検証プログラムであって、
前記通信検証装置によって生成される仮想的なネットワークである仮想ネットワーク内における複数の仮想的なエリアである仮想エリアに対応する通信状態を識別するための状態番号に対応付けて該通信状態時に発生するエラー内容と、前記仮想移動体を前記仮想ネットワーク内における複数の仮想エリアのいずれかに移動させる移動条件と、複数の前記仮想ネットワークを識別するためのネットワーク番号に対応付けて該仮想ネットワークのホームアドレスと、が定義されているシナリオに基づいて、前記仮想移動体を前記複数の仮想ネットワークに属する前記複数の仮想エリアのいずれかに移動させる移動体移動手順と、
前記移動体移動手順によって移動された仮想移動体が位置する仮想エリアに対応するエラー内容を発生させて、前記仮想移動体と前記端末装置との間で該仮想エリアが属する仮想ネットワークのホームアドレスを用いた通信を行わせる通信手順と
をコンピュータに実行させることを特徴とする通信検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信検証装置、通信検証方法および通信検証プログラムに関する。
【背景技術】
【０００２】
近年、端末の片方または両方を移動させながら通信可能な通信方式である移動体通信が普及している。この移動体通信は、無線ネットワーク制御装置（ＲＮＣ：Radio  Network  Controller）や、無線基地局装置（ＢＴＳ：Base  Transceiver  Station）や、交換機や、移動体などの機器（以下、「モバイルネットワーク関連機器」という）によって実現される。
【０００３】
このようなモバイルネットワーク関連機器の研究開発や検証は、実際にモバイルネットワークを構築して行われる。また、移動体が移動する場合における通信の検証（例えば、ハンドオーバ発生時の検証）は、実際に移動体を移動させて行われる。
【０００４】
このように、モバイルネットワーク関連機器の検証を行うためには、実際にモバイルネットワークを構築したり、実際に移動体を移動させたりすることが必要であり、非常に手間がかかる。そこで、近年では、この種の煩雑な作業を低減するための技術がいくつか提案されている。例えば、無線基地局装置にて複数のスロットの伝送レベルを変更することにより、ハンドオーバを擬似的に発生させる擬似基地局装置が開示されている。この技術を用いることにより、１台の擬似基地局装置によってハンドオーバの検証を行うことが可能となる。
【０００５】
【特許文献１】特開平９−２０５６７０号公報
【特許文献２】特開平６−０６９８４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来技術を用いたとしても、様々なエラーを意図的かつ容易に発生させることができないという問題があった。具体的には、上記の従来技術を用いたとしても、モバイルネットワーク内を流れるパケットの遅延時間や、かかるパケットのロス率およびエラー率等を意図的に所望する値に制御することが困難であった。
【０００７】
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、実際に大規模なネットワークを構築したり、実際に移動体を移動させたりすることなく、通信時の様々なエラーを意図的かつ容易に発生させることができる通信検証装置、通信検証方法および通信検証プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本願に開示する通信検証装置は、モバイルネットワークに接続され、該モバイルネットワークを介して、仮想的な移動体である仮想移動体と所定の端末装置との間で通信を行わせる通信検証装置であって、当該の通信検証装置によって生成される仮想的なネットワークである仮想ネットワーク内における複数の仮想的なエリアである仮想エリアに対応する通信状態を識別するための状態番号に対応付けて該通信状態時に発生するエラー内容と、前記仮想移動体を前記仮想ネットワーク内における複数の仮想エリアのいずれかに移動させる移動条件と、複数の前記仮想ネットワークを識別するためのネットワーク番号に対応付けて該仮想ネットワークのホームアドレスと、が定義されているシナリオに基づいて、前記仮想移動体を前記複数の仮想ネットワークに属する前記複数の仮想エリアのいずれかに移動させる移動体移動手段と、前記移動体移動手段によって移動された仮想移動体が位置する仮想エリアに対応するエラー内容を発生させて、前記仮想移動体と前記端末装置との間で該仮想エリアが属する仮想ネットワークのホームアドレスを用いた通信を行わせる通信手段とを備えたことを要件とする。
【０００９】
なお、本願に開示する通信検証装置の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも、他の態様として有効である。
【発明の効果】
【００１０】
本願に開示した通信検証装置によれば、実際に大規模なネットワークを構築したり、実際に移動体を移動させたりすることなく、通信時の様々なエラーを意図的かつ容易に発生させることができるという効果を奏する。その結果、大規模なネットワークを実際に構築したり、移動体を実際に移動させたりすることなく、様々な環境でモバイルネットワーク関連機器の研究開発や検証等を行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下に、本願に開示する通信検証装置、通信検証方法および通信検証プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本願に開示する通信検証装置、通信検証方法および通信検証プログラムが限定されるものではない。
【実施例】
【００１２】
まず、本実施例に係る通信検証装置の概要について説明する。図１は、本実施例に係る通信検証装置が適用されるモバイルネットワークの構成例を示す図である。同図に示したモバイルネットワーク１は、所定の端末装置（以下、「ＣＮ：Correspondent  Node」という）１０と、ホームエージェント（以下、「ＨＡ：Home  Agent」という）２０と、通信検証装置１００とが、ネットワークを介して有線接続または無線接続されている。
【００１３】
ＣＮ１０は、通信検証装置１００と通信を行う端末装置であり、例えば、移動可能な携帯情報端末（ＰＤＡ：Personal  Digital  Assistant）や、移動体でないパーソナルコンピュータなどである。なお、図１では、１台のＣＮ１０のみを示したが、通信検証装置１００は、複数のＣＮと通信を行ってもよい。
【００１４】
ＨＡ２０は、モバイルＩＰにおける移動体のホームネットワーク上のルータである。このＨＡ２０は、移動体がホームネットワーク外に移動した場合に、かかる移動体宛のパケットを捕獲して移動体へ転送したり、移動体の位置情報を管理したりする。
【００１５】
通信検証装置１００は、検証用の仮想的なネットワーク（以下、「仮想ネットワーク」という）と、仮想的な移動体（以下、「仮想移動体」という）とを生成して、仮想移動体を仮想ネットワーク内で移動させながら、仮想移動体とＣＮ１０との間で通信を行わせる装置である。
【００１６】
ここで、図２を用いて、通信検証装置１００が生成する仮想ネットワークについて説明する。図２は、通信検証装置１００が生成する仮想ネットワークの一例を示す図である。
【００１７】
同図に示した例では、通信検証装置１００は、３つの仮想ネットワークＮ１〜Ｎ３を生成している。そして、通信検証装置１００は、仮想ネットワークＮ１内に、３つの通信状態Ｊ１〜Ｊ３を生成し、仮想ネットワークＮ２内に、３つの通信状態Ｊ４〜Ｊ６を生成し、仮想ネットワークＮ３内に、３つの通信状態Ｊ７〜Ｊ９を生成している。
【００１８】
仮想ネットワークＮ１〜Ｎ３は、仮想的な無線基地局装置（以下、「仮想基地局」という）が仮想移動体と通信可能な仮想的な範囲を示している。例えば、仮想ネットワークＮ１は、仮想基地局Ａが仮想移動体と通信可能な仮想的な範囲を示しており、仮想ネットワークＮ２は、仮想基地局Ｂが仮想移動体と通信可能な仮想的な範囲を示しており、仮想ネットワークＮ３は、仮想基地局Ｃが仮想移動体と通信可能な仮想的な範囲を示している。すなわち、仮想移動体が、仮想ネットワークＮ１から仮想ネットワークＮ２へ移動した場合、仮想移動体と通信する無線基地局装置が切り替わる「ハンドオーバ」が発生することになる。
【００１９】
通信状態Ｊ１〜Ｊ３は、仮想ネットワークＮ１内の通信状態を示しており、言い換えれば、仮想ネットワークＮ１内における仮想的なエリア（以下、「仮想エリア」という）を示している。つまり、通信状態Ｊ１〜Ｊ３は、実際の移動体の通信状態が、実際のネットワーク内における場所によって変化するように、仮想移動体の通信状態が、仮想ネットワークＮ１内で位置する仮想エリアによって変化することを実現する。なお、ここでいう、通信状態とは、仮想移動体が送受信するパケットの遅延時間や、パケットロス率や、パケットエラー率などを意味する。
【００２０】
同様に、通信状態Ｊ４〜Ｊ６は、仮想ネットワークＮ２内の通信状態を示しており、言い換えれば、仮想ネットワークＮ２内における仮想エリアを示している。同様に、通信状態Ｊ７〜Ｊ９は、仮想ネットワークＮ３内の通信状態、言い換えれば、仮想ネットワークＮ３内における仮想エリアを示している。
【００２１】
図２に示した例を用いて具体的に説明すると、通信状態が通信状態Ｊ１である仮想エリアに仮想移動体が位置する場合、仮想移動体が送受信するパケットの遅延時間が「１０ｍｓ（ミリ秒）」になり、パケットロス率が「０％」になり、パケットエラー率が「０％」になることを示している。
【００２２】
また、通信状態が通信状態Ｊ２である仮想エリアに仮想移動体が位置する場合、仮想移動体が送受信するパケットの遅延時間が「５０ｍｓ（ミリ秒）」になり、パケットロス率が「１％」になり、パケットエラー率が「５％」になることを示している。
【００２３】
通信検証装置１００は、このような仮想ネットワークＮ１〜Ｎ３を生成して、仮想移動体を、通信状態Ｊ１〜Ｊ９が示す仮想エリアに移動させながら、仮想移動体とＣＮ１０との間で通信を行わせる。例えば、通信状態が通信状態Ｊ３である仮想エリアに仮想移動体が位置する場合、通信検証装置１００は、パケットロス率が「２０％」かつパケットエラー率が「４０％」であるパケットを生成し、生成したパケットを「２００ｍｓ」遅延させてＣＮ１０へ送信する。
【００２４】
また、通信検証装置１００は、仮想移動体を仮想ネットワークＮ１の所定の仮想エリアから仮想ネットワークＮ２内の所定の仮想エリアへ移動させた場合、すなわち、仮想ネットワークを跨って仮想移動体を移動させた場合、位置登録（Registration  Request）メッセージをＨＡ２０へ送信したり、ＨＡ２０から位置登録応答メッセージを受信したりする。なお、本実施例では、図１に示したＨＡ２０は、図２に示した仮想ネットワークＮ１をホームネットとする。
【００２５】
このように、本実施例に係る通信検証装置１００は、自装置内に様々な通信状態を有する仮想ネットワークを生成して、仮想移動体を仮想ネットワーク内で移動させ、かかる仮想移動体が位置する仮想エリアの通信状態（遅延時間、ロス率、エラー率など）に従って、仮想移動体とＣＮ１０やＨＡ２０との間で通信を行わせるので、様々な通信状態によってＣＮ１０やＨＡ２０と通信を行うことができる。すなわち、本実施例に係る通信検証装置１００を用いれば、大規模なネットワークを実際に構築したり、移動体を実際に移動させたりすることなく、通信時に様々なエラーを意図的かつ容易に発生させることができ、その結果、様々な環境でモバイルネットワーク関連機器の研究開発や検証等を行うことができる。
【００２６】
次に、通信検証装置１００の構成について説明する。図３は、通信検証装置１００の構成を示すブロック図である。なお、以下に説明する通信検証装置１００は、仮想ネットワークとして、図２に示した仮想ネットワークＮ１〜Ｎ３を生成するものとする。
【００２７】
図３に示すように、通信検証装置１００は、情報処理装置３０と接続されており、インタフェース（以下、（「Ｉ／Ｆ」）という）部１１０と、Ｉ／Ｆ部１２０と、記憶部１３０と、状態設定部１４０と、通信部１５０とを有する。
【００２８】
情報処理装置３０は、通信検証装置１００に各種情報や各種指示を送信するパーソナルコンピュータ等の装置であり、シナリオ３１を有する。シナリオ３１は、通信検証装置１００によって生成される仮想ネットワークや、仮想ネットワーク内の通信状態や、仮想移動体などに関する情報が定義されている設定ファイルである。
【００２９】
シナリオ３１の一例を図４に示す。同図に示したシナリオ３１は、図２に示した仮想ネットワークＮ１〜Ｎ３に関する各種情報が定義されている。具体的には、図４に示したシナリオ３１は、「／＊ネットワーク定義＊／」に、仮想ネットワークＮ１〜Ｎ３のＨｏＡ（Home  Address：ホームアドレス）が定義されている。同図に示した例では、「ｎｅｔｗｏｒｋ＿ｎｏ＝Ｘ」が１つの仮想ネットワークを示している。以下では、図４中の「ｎｅｔｗｏｒｋ＿ｎｏ＝Ｘ」が、図２に示した仮想ネットワークＮ「Ｘ」に対応するものとする。例えば、図４中の「ｎｅｔｗｏｒｋ＿ｎｏ＝１」は、図２中の仮想ネットワークＮ１に対応する。すなわち、図４に示した例では、仮想ネットワークＮ１のＨｏＡが「１９２．１６８．１．０」であり、仮想ネットワークＮ２のＨｏＡが「１９２．１６８．２．０」であり、仮想ネットワークＮ３のＨｏＡが「１９２．１６８．２０．０」であることが定義されている。
【００３０】
また、同図に示したシナリオ３１は、「／＊各状態のネットワーク特性＊／」に、通信状態Ｊ１〜Ｊ９が属する仮想ネットワークや、通信状態Ｊ１〜Ｊ９の具体的な通信状態が定義されている。同図に示した例では、「ｓｔａｔｅ＿Ｎ」が１つの通信状態を示している。以下では、図４中の「ｓｔａｔｅ＿Ｎ」が、図２中の通信状態Ｊ「Ｎ」に対応するものとする。例えば、図４中の「ｓｔａｔｅ＿１」は、図２中の通信状態Ｊ１に対応する。
【００３１】
すなわち、同図に示した例では、通信状態Ｊ１（ｓｔａｔｅ＿１）が、仮想ネットワークＮ１（ｎｅｔｗｏｒｋ＿ｎｏ＝１）内の通信状態であることが定義されている。さらに、通信状態が通信状態Ｊ１である仮想エリアに仮想移動体が位置する場合、仮想移動体が送受信するパケットの遅延時間（Ｄｅｌａｙ）が「１０ｍｓ」になり、かかるパケットのロス率（Ｌｏｓｓ）が「０％」になり、エラー率（Ｅｒｒｏｒ）が「０％」になることが定義されている。
【００３２】
同様に、同図に示した例では、通信状態Ｊ２（ｓｔａｔｅ＿２）が、仮想ネットワークＮ１（ｎｅｔｗｏｒｋ＿ｎｏ＝１）内の通信状態であることが定義されている。さらに、通信状態が通信状態Ｊ２である仮想エリアに仮想移動体が位置する場合、仮想移動体が送受信するパケットの遅延時間が「５０ｍｓ」になり、かかるパケットのロス率が「１％」になり、エラー率が「５％」になることが定義されている。
【００３３】
また、同図に示したシナリオ３１は、「／＊移動ノード初期状態定義＊／」に、仮想移動体が、通信状態が通信状態Ｊ１〜Ｊ９である仮想エリアのうち、最初にどの仮想エリアに位置するかが定義されている。同図に示した例では、「ｍｎ＿Ｘ」が１つの仮想移動体を示している。以下では、図４中の「ｍｎ＿Ｘ」が、仮想移動体ＭＮ「Ｘ」であるとする。例えば、図４中の「ｍｎ＿１」は、仮想移動体ＭＮ（Mobile  Node）１であるとする。すなわち、同図に示した例では、仮想移動体ＭＮ１が、最初に通信状態が通信状態Ｊ１である仮想エリアに位置することが定義されている。なお、上述したように、通信状態Ｊ１は、「／＊各状態のネットワーク特性＊／」において、仮想ネットワークＮ１内の通信状態であることが定義されているので、仮想移動体ＭＮ１は、最初に、仮想ネットワークＮ１内の通信状態が通信状態Ｊ１である仮想エリアに位置することになる。
【００３４】
なお、以下では、仮想移動体ＭＮ１〜ＭＮ３のホームリンクは、シナリオ３１の「／＊移動ノード初期状態定義＊／」に定義されている通信状態が属する仮想ネットワークであるとする。つまり、仮想移動体ＭＮ１のホームリンクは仮想ネットワークＮ１であり、仮想移動体ＭＮ２のホームリンクは仮想ネットワークＮ２であり、仮想移動体ＭＮ３のホームリンクは仮想ネットワークＮ３であるものとする。
【００３５】
同様に、同図に示した例では、仮想移動体ＭＮ２が、最初に仮想ネットワークＮ２内の通信状態が通信状態Ｊ４である仮想エリアに位置することが定義されており、仮想移動体ＭＮ３が、最初に仮想ネットワークＮ３内の通信状態が通信状態Ｊ７である仮想エリアに位置することが定義されている。
【００３６】
また、同図に示したシナリオ３１には、「／＊移動ノード時間変化＊／」に、仮想移動体ＭＮ１〜３が、仮想エリアを移動させる条件（以下、この条件を「移動条件」という）と、仮想移動体ＭＮ１〜３の移動先の仮想エリアが定義されている。同図に示した例では、「ｔｉｍｅ」に移動条件が定義されており、具体的には、「１０ｓ（秒）」経過した場合に、仮想移動体ＭＮ１を、通信状態が通信状態Ｊ１である仮想エリアから、通信状態が通信状態Ｊ３である仮想エリアへ移動させることが定義されている。また、さらに「１５秒」経過した場合に、仮想移動体ＭＮ１を、通信状態が通信状態Ｊ３である仮想エリアから、通信状態が通信状態Ｊ５である仮想エリアへ移動させることが定義されている。
【００３７】
なお、上述したシナリオ３１では、所定の時間が経過することを移動条件として定義したが、移動する確率（例えば、「５秒おきに１０％の確率で移動する」）などを移動条件としてもよい。また、上述したシナリオ３１の定義形式はあくまで一例であり、定義形式は図４に示した例に限られない。例えば、シナリオ３１は、各種情報をＣＳＶ（Comma  Separated  Values）形式や、ＸＭＬ（Extensible  Markup  Language）形式などによって定義されてもよい。
【００３８】
図３の説明に戻って、Ｉ／Ｆ部１１０は、情報処理装置３０と通信検証装置１００との間におけるデータの送受信を行うインタフェースであり、情報処理装置３０は、このＩ／Ｆ部１１０を介して、シナリオ３１を状態設定部１４０へ送信する。
【００３９】
Ｉ／Ｆ部１２０は、通信検証装置１００とＣＮ１０やＨＡ２０等との間におけるデータの送受信を行うインタフェースであり、通信検証装置１００は、このＩ／Ｆ部１２０を介して、ＣＮ１０やＨＡ２０との間で通信を行う。
【００４０】
記憶部１３０は、不揮発性メモリやハードディスク装置などの記憶デバイスであり、アドレス記憶部１３１と、エラー内容記憶部１３２と、現通信状態記憶部１３３とを有する。アドレス記憶部１３１は、通信検証装置１００が生成する仮想ネットワークのＨｏＡを記憶する。このアドレス記憶部１３１は、後述する初期設定部１４１によって初期設定される。
【００４１】
アドレス記憶部１３１の一例を図５に示す。同図に示すように、アドレス記憶部１３１は、ネットワーク番号に対応付けて、ＨｏＡといった項目を有する。ネットワーク番号は、仮想ネットワークを識別するための番号を示す。なお、同図に示したアドレス記憶部１３１では、図２に示した仮想ネットワークに付した参照符号をネットワーク番号としている。ＨｏＡは、仮想ネットワークのＨｏＡを示す。
【００４２】
すなわち、図５に示したアドレス記憶部１３１の１行目は、仮想ネットワークＮ１のＨｏＡが「１９２．１６８．１．０」であることを示し、図５に示したアドレス記憶部１３１の２行目は、仮想ネットワークＮ２のＨｏＡが「１９２．１６８．２．０」であることを示している。
【００４３】
エラー内容記憶部１３２は、仮想ネットワーク内の各通信状態におけるエラー内容を記憶する。このエラー内容記憶部１３２は、初期設定部１４１によって初期設定される。エラー内容記憶部１３２の一例を図６に示す。同図に示すように、エラー内容記憶部１３２は、状態番号に対応付けて、遅延時間と、ロス率と、エラー率といった項目を有する。
【００４４】
状態番号は、仮想ネットワーク内の通信状態を識別するための番号を示す。なお、同図に示したエラー内容記憶部１３２では、図２に示した通信状態に付した参照符号を状態番号としている。遅延時間は、仮想移動体ＭＮ１〜ＭＮ３とＣＮ１０等との間で行われる通信の遅延時間を示す。
【００４５】
ロス率は、仮想移動体ＭＮ１〜ＭＮ３とＣＮ１０等との間で送受信されるパケットのパケットロス率を示す。例えば、ロス率が「１０％」である場合、仮想移動体ＭＮ１〜ＭＮ３は、生成したパケットのうち「１０％」を送信しない。言い換えれば、ロス率が「１０％」である場合、仮想移動体ＭＮ１〜ＭＮ３は、生成したパケットのうち「９０％」をＣＮ１０等へ送信する。
【００４６】
エラー率は、仮想移動体ＭＮ１〜ＭＮ３とＣＮ１０等との間で送受信されるパケットのパケットエラー率を示す。例えば、エラー率が「５％」である場合、仮想移動体ＭＮ１〜ＭＮ３は、生成したパケット内の「５％」のデータを化けさせて（誤りデータにさせて）、ＣＮ１０等へ送信する。
【００４７】
すなわち、図６に示したエラー内容記憶部１３２の１行目は、通信状態が通信状態Ｊ１である仮想エリアに仮想移動体ＭＮ１〜ＭＮ３が位置する場合、仮想移動体ＭＮ１〜ＭＮ３が、ロス率「０％」かつエラー率「０％」のパケットを、「１０ｍｓ」遅延させて送受信することを示している。また、図６に示したエラー内容記憶部１３２の２行目は、通信状態が通信状態Ｊ２である仮想エリアに仮想移動体ＭＮ１〜ＭＮ３が位置する場合、仮想移動体ＭＮ１〜ＭＮ３が、ロス率「１％」かつエラー率「５％」のパケットを、「５０ｍｓ」遅延させて送受信することを示している。
【００４８】
現通信状態記憶部１３３は、仮想移動体ＭＮ１〜ＭＮ３が現在位置している仮想エリアを記憶する。この現通信状態記憶部１３３は、初期設定部１４１によって初期設定され、また、後述する移動体移動部１４２によって更新される。
【００４９】
現通信状態記憶部１３３の一例を図７に示す。同図に示すように、現通信状態記憶部１３３は、仮想移動体番号に対応付けて、ネットワーク番号と、状態番号といった項目を有する。
【００５０】
仮想移動体番号は、通信検証装置１００が生成する仮想移動体ＭＮ１〜ＭＮ３を識別するための番号を示す。なお、同図に示した現通信状態記憶部１３３、上述した仮想移動体に付した参照符号を仮想移動体番号としている。ネットワーク番号は、図５に示したアドレス記憶部１３１のネットワーク番号に対応する。状態番号は、図６に示したエラー内容記憶部１３２の状態番号に対応する。
【００５１】
すなわち、図７に示した現通信状態記憶部１３３の１行目は、仮想移動体ＭＮ１が、現在、仮想ネットワークＮ１内の通信状態が通信状態Ｊ１である仮想エリアに位置していることを示している。また、図７に示した現通信状態記憶部１３３の２行目は、仮想移動体ＭＮ２が、現在、仮想ネットワークＮ２内の通信状態が通信状態Ｊ４である仮想エリアに位置していることを示している。
【００５２】
図３に示した状態設定部１４０は、記憶部１３０に各種情報を初期設定したり、更新したりする処理部であり、初期設定部１４１と、移動体移動部１４２とを有する。初期設定部１４１は、情報処理装置３０から受け付けたシナリオ３１に定義されている各種情報に基づいて、記憶部１３０の各種記憶部に初期情報を設定する処理部である。ここで、図４に示したシナリオ３１を受け付けた場合を例に挙げて、初期設定部１４１による初期情報設定処理について具体的に説明する。
【００５３】
図４に示したシナリオ３１を受け付けた場合、初期設定部１４１は、シナリオ３１の「／＊ネットワーク定義＊／」に定義されている仮想ネットワークＮ１〜Ｎ３のＨｏＡを、アドレス記憶部１３１に設定する。すなわち、初期設定部１４１は、図５に示したアドレス記憶部１３１のように、ネットワーク番号「Ｎ１」に対応付けて、ＨｏＡ「１９２．１６８．１．０」を設定する。同様に、初期設定部１４１は、ネットワーク番号「Ｎ２」に対応付けて、ＨｏＡ「１９２．１６８．２．０」を設定し、ネットワーク番号「Ｎ３」に対応付けて、ＨｏＡ「１９２．１６８．２０．０」を設定する。
【００５４】
また、初期設定部１４１は、図４に示したシナリオ３１の「／＊各状態のネットワーク特性＊／」に定義されている通信状態Ｊ１〜Ｊ９のエラー内容（遅延時間等）を、エラー内容記憶部１３２に設定する。すなわち、初期設定部１４１は、図６に示したエラー内容記憶部１３２のように、状態番号「Ｊ１」に対応付けて、遅延時間「１０ｍｓ」と、ロス率「０％」と、エラー率「０％」とを設定する。同様に、初期設定部１４１は、状態番号「Ｊ２」〜「Ｊ９」に対応付けて、遅延時間と、ロス率と、エラー率とを設定する。
【００５５】
また、初期設定部１４１は、図４に示したシナリオ３１の「／＊移動ノード初期状態定義＊／」に定義されている仮想移動体が最初に位置する仮想エリアの通信状態を、現通信状態記憶部１３３に設定する。すなわち、初期設定部１４１は、図７に示した現通信状態記憶部１３３のように、仮想移動体番号「ＭＮ１」に対応付けて、状態番号「Ｊ１」を設定する。このとき、初期設定部１４１は、シナリオ３１の「／＊各状態のネットワーク特性＊／」に定義されている「ｎｅｔｗｏｒｋ＿ｎｏ＝Ｘ」に基づいて、状態番号「Ｊ１」が仮想ネットワークＮ１内の通信状態であることを取得して、現通信状態記憶部１３３のネットワーク番号に「Ｎ１」を設定する。同様に、初期設定部１４１は、仮想移動体番号「ＭＮ２」に対応付けて、ネットワーク番号「Ｎ２」と、状態番号「Ｊ４」とを設定する。
【００５６】
移動体移動部１４２は、情報処理装置３０から受け付けたシナリオ３１に定義されている各種情報に基づいて、仮想移動体が位置する仮想エリアを移動させる処理部である。ここで、図４に示したシナリオ３１を受け付けた場合を例に挙げて、移動体移動部１４２による移動体移動処理について具体的に説明する。
【００５７】
図４に示したように、シナリオ３１の「／＊移動ノード時間変化＊／」には、「１０秒」経過した場合に、仮想移動体ＭＮ１を、通信状態が通信状態Ｊ１である仮想エリアから、通信状態が通信状態Ｊ３である仮想エリアへ移動させることが定義されている。したがって、移動体移動部１４２は、初期設定部１４１による初期設定処理が終了してから「１０秒」経過した後に、仮想移動体番号「ＭＮ１」に対応する現通信状態記憶部１３３の状態番号を、「Ｊ１」から「Ｊ３」へ更新する。なお、通信状態Ｊ３は、仮想ネットワークＮ１内の通信状態であるため、移動体移動部１４２は、仮想移動体番号「ＭＮ１」に対応する現通信状態記憶部１３３のネットワーク番号を「Ｎ１」のままとする。
【００５８】
さらに、図４に示したシナリオ３１には、「１５秒」経過した場合に、仮想移動体ＭＮ１を、通信状態が通信状態Ｊ３である仮想エリアから、通信状態が通信状態Ｊ４である仮想エリアへ移動させることが定義されている。したがって、移動体移動部１４２は、前述した仮想移動体ＭＮ１を通信状態Ｊ１から通信状態Ｊ３へ移動させる処理が終了してから「１５秒」経過した後に、仮想移動体番号「ＭＮ１」に対応する現通信状態記憶部１３３の状態番号を、「Ｊ３」から「Ｊ５」へ更新する。このとき、状態Ｊ５が仮想ネットワークＮ２内の通信状態であるため、移動体移動部１４２は、仮想移動体番号「ＭＮ１」に対応する現通信状態記憶部１３３のネットワーク番号を「Ｎ１」から「Ｎ２」へ更新する。
【００５９】
通信部１５０は、情報処理装置３０からの指示に従って、仮想移動体と、ＣＮ１０やＨＡ２０との間で通信を行わせる処理部であり、通信モジュール１５１と、アドレスフィルタ部１５２と、エミュレート部１５３と、ログ出力部１５４とを有する。
【００６０】
通信モジュール１５１は、ＣＮ通信部１５１ａと、ＨＡ通信部１５１ｂとを有する。ＣＮ通信部１５１ａは、仮想移動体ＭＮ１〜ＭＮ３とＣＮ１０との間の通信を実現するためのモジュールである。
【００６１】
具体的には、ＣＮ通信部１５１ａは、情報処理装置３０から、所定の仮想移動体ＭＮ１〜ＭＮ３とＣＮ１０との間で通信を行うよう指示を受け付けた場合に、かかる所定の仮想移動体ＭＮ１〜ＭＮ３が現在位置している仮想ネットワークのネットワーク番号を、現通信状態記憶部１３３から取得する。続いて、ＣＮ通信部１５１ａは、アドレス記憶部１３１から、前述において取得したネットワーク番号に対応するＨｏＡを取得する。続いて、ＣＮ通信部１５１ａは、取得したＨｏＡを、送信元アドレスに設定したパケットを生成して、生成したパケットをエミュレート部１５３へ出力する。
【００６２】
また、ＣＮ通信部１５１ａは、ＣＮ１０から通信検証装置１００に対して所定のパケットが送信された場合に、かかるパケットを、Ｉ／Ｆ部１２０と、エミュレート部１５３と、アドレスフィルタ部１５２とを介して受信する。
【００６３】
例えば、情報処理装置３０が、ＣＮ通信部１５１ａに対して、仮想移動体ＭＮ１からＣＮ１０に対してパケットを送信するように指示をしたとする。なお、ここでは、アドレス記憶部１３１は、図５に示した状態であるものとする。また、現通信状態記憶部１３３は、図７に示した状態であるものとする。かかる場合、ＣＮ通信部１５１ａは、現通信状態記憶部１３３から、仮想移動体ＭＮ１が現在位置している仮想ネットワークのネットワーク番号「Ｎ１」を取得する。続いて、ＣＮ通信部１５１ａは、アドレス記憶部１３１から、ネットワーク番号「Ｎ１」に対応するＨｏＡ「１９２．１６８．１．０」を取得する。そして、ＣＮ通信部１５１ａは、取得したＨｏＡ「１９２．１６８．１．０」を、送信元アドレスに設定したパケットを生成する。
【００６４】
ＨＡ通信部１５１ｂは、仮想移動体ＭＮ１〜ＭＮ３とＨＡ２０との間の通信を実現するためのモジュールである。具体的には、ＨＡ通信部１５１ｂは、情報処理装置３０から、所定の仮想移動体ＭＮ１〜ＭＮ３とＨＡ２０との間で通信を行うよう指示を受け付けた場合に、かかる所定の仮想移動体ＭＮ１〜ＭＮ３が現在位置している仮想ネットワークのネットワーク番号を、現通信状態記憶部１３３から取得する。続いて、ＨＡ通信部１５１ｂは、アドレス記憶部１３１から、前述において取得したネットワーク番号に対応するＨｏＡを取得する。続いて、ＨＡ通信部１５１ｂは、取得したＨｏＡを含む位置登録メッセージを生成して、生成した位置登録メッセージをエミュレート部１５３へ出力する。
【００６５】
また、ＨＡ通信部１５１ｂは、ＨＡ２０から通信検証装置１００に対して位置登録応答（Registration  Response）メッセージが送信された場合に、かかる位置登録応答メッセージを、Ｉ／Ｆ部１２０と、エミュレート部１５３と、アドレスフィルタ部１５２とを介して受信する。また、ＨＡ通信部１５１ｂは、ＨＡ２０から通信検証装置１００に対してカプセル化されたパケットが送信された場合に、かかるパケットを、Ｉ／Ｆ部１２０と、エミュレート部１５３と、アドレスフィルタ部１５２とを介して受信する。
【００６６】
例えば、情報処理装置３０が、ＨＡ通信部１５１ｂに対して、仮想移動体ＭＮ１からＨＡ２０に対して位置登録メッセージを送信するように指示をしたとする。なお、ここでは、アドレス記憶部１３１は、図５に示した状態であるものとする。また、現通信状態記憶部１３３は、図７に示した状態ではなく、仮想移動体番号「ＭＮ１」に対応するネットワーク番号に「Ｎ２」が記憶されており、状態番号に「Ｊ５」が記憶されているものとする。かかる場合、ＨＡ通信部１５１ｂは、現通信状態記憶部１３３から、仮想移動体ＭＮ１が現在位置している仮想ネットワークのネットワーク番号「Ｎ２」を取得する。続いて、ＨＡ通信部１５１ｂは、アドレス記憶部１３１から、ネットワーク番号「Ｎ２」に対応するＨｏＡ「１９２．１６８．２．０」を取得する。そして、ＨＡ通信部１５１ｂは、取得したＨｏＡ「１９２．１６８．２．０」を含む位置登録メッセージを生成する。
【００６７】
アドレスフィルタ部１５２は、ＣＮ１０またはＨＡ２０から受信したパケットや位置登録応答メッセージのうち、通信検証装置１００が生成した仮想移動体ＭＮ１〜ＭＮ３宛のパケット等以外を廃棄する処理部である。
【００６８】
具体的には、アドレスフィルタ部１５２は、ＣＮ１０またはＨＡ２０から受信したパケット等に設定されている宛先アドレスが、アドレス記憶部１３１に記憶されているＨｏＡに含まれているか否かを判定する。そして、受信したパケット等に設定されている宛先アドレスが、アドレス記憶部１３１のＨｏＡに含まれている場合、アドレスフィルタ部１５２は、かかるパケット等を通信モジュール１５１へ出力する。一方、受信したパケット等に設定されている宛先アドレスが、アドレス記憶部１３１のＨｏＡに含まれていない場合、アドレスフィルタ部１５２は、かかるパケット等を廃棄する。
【００６９】
エミュレート部１５３は、仮想移動体が位置する仮想エリアの通信状態に基づいて、仮想移動体と、ＣＮ１０やＨＡ２０との間で行われる通信に様々なエラーを発生させる処理部である。
【００７０】
具体的には、エミュレート部１５３は、通信モジュール１５１からパケットや位置登録メッセージを受け付けた場合に、かかるパケットの送信元の仮想移動体が現在位置する仮想エリアの状態番号を、現通信状態記憶部１３３から取得する。そして、取得した状態番号に対応する遅延時間等のエラー内容をエラー内容記憶部１３２から取得して、取得したエラー内容に従って、通信モジュール１５１から受け付けたパケット等にエラーを発生させる。
【００７１】
また、エミュレート部１５３は、Ｉ／Ｆ部１２０を介して、ＣＮ１０やＨＡ２０から所定のパケットや位置登録応答メッセージを受け付けた場合に、かかるパケット等の宛先の仮想移動体が現在位置する仮想エリアに対応する通信状態を、現通信状態記憶部１３３から取得する。そして、取得した通信状態に対応するエラー内容をエラー内容記憶部１３２から取得して、取得したエラー内容を受信したパケット等に発生させる。
【００７２】
例えば、情報処理装置３０が、仮想移動体ＭＮ１からＣＮ１０に対してパケットを送信するように指示をしたとする。なお、ここでは、エラー内容記憶部１３２は図６に示した状態であり、現通信状態記憶部１３３は図７に示した状態であるものとする。かかる場合、ＣＮ通信部１５１ａは、所定のパケットをエミュレート部１５３へ出力する。
【００７３】
ＣＮ通信部１５１ａからパケットを受け付けたエミュレート部１５３は、まず、現通信状態記憶部１３３から、仮想移動体ＭＮ１が現在位置している仮想エリアの通信状態として、状態番号「Ｊ１」を取得する。続いて、エミュレート部１５３は、エラー内容記憶部１３２から、状態番号「Ｊ１」に対応する遅延時間「１０ｍｓ」と、ロス率「０％」と、エラー率「０％」とを取得する。続いて、エミュレート部１５３は、「１０ｍｓ」待機した後に、ＣＮ通信部１５１ａから受け取ったパケットを、ＣＮ１０へ送信する。なお、ここでは、ロス率が「０％」であり、エラー率が「０％」であるため、エミュレート部１５３は、送信するパケットにロスおよびエラーを発生させない。
【００７４】
また、例えば、情報処理装置３０が、仮想移動体ＭＮ１からＨＡ２０に対して位置登録メッセージを送信するように指示をしたとする。なお、ここでは、エラー内容記憶部１３２は、図６に示した状態であるものとする。また、現通信状態記憶部１３３は、図７に示した状態ではなく、仮想移動体番号「ＭＮ１」に対応するネットワーク番号に「Ｎ２」が記憶されており、状態番号に「Ｊ５」が記憶されているものとする。かかる場合、ＨＡ通信部１５１ｂは、所定の位置登録メッセージをエミュレート部１５３へ出力する。
【００７５】
ＨＡ通信部１５１ｂから位置登録メッセージを受け付けたエミュレート部１５３は、まず、現通信状態記憶部１３３から、仮想移動体ＭＮ１が現在位置している仮想エリアの通信状態として、状態番号「Ｊ５」を取得する。続いて、エミュレート部１５３は、エラー内容記憶部１３２から、状態番号「Ｊ５」に対応する遅延時間「７０ｍｓ」と、ロス率「５％」と、エラー率「５％」とを取得する。続いて、エミュレート部１５３は、ＨＡ通信部１５１ｂから受け取った位置登録メッセージの「５％」をロスさせるとともに、位置登録メッセージ内の「５％」のデータを化けさせる。そして、エミュレート部１５３は、「７０ｍｓ」待機した後に、ロスおよびエラーを発生させた位置登録メッセージを、ＨＡ２０へ送信する。
【００７６】
また、例えば、ＣＮ１０から仮想移動体ＭＮ１宛のパケットを受信したとする。なお、ここでは、エラー内容記憶部１３２は、図６に示した状態であるものとする。また、現通信状態記憶部１３３は、図７に示した状態ではなく、仮想移動体番号「ＭＮ１」に対応するネットワーク番号に「Ｎ２」が記憶されており、状態番号に「Ｊ５」が記憶されているものとする。
【００７７】
かかる場合、エミュレート部１５３は、まず、現通信状態記憶部１３３から、仮想移動体ＭＮ１が現在位置している仮想エリアに対応する通信状態として、状態番号「Ｊ５」を取得する。続いて、エミュレート部１５３は、エラー内容記憶部１３２から、状態番号「Ｊ５」に対応する遅延時間「７０ｍｓ」と、ロス率「５％」と、エラー率「５％」とを取得する。続いて、エミュレート部１５３は、ＣＮ１０から受信したパケットの「５％」をロスさせるとともに、ＣＮ１０から受信したパケットの「５％」のデータを化けさせる。そして、エミュレート部１５３は、「７０ｍｓ」待機した後に、ロスおよびエラーを発生させたパケットを、アドレスフィルタ部１５２へ送信する。
【００７８】
ログ出力部１５４は、仮想端末装置ＭＮ１〜ＭＮ３と、ＣＮ１０やＨＡ２０との間における通信の状況を所定のファイルに出力する処理部である。例えば、ログ出力部１５４は、ＣＮ１０やＨＡ２０から受信したパケットや位置登録応答メッセージのロス率やエラー率を所定のファイルに出力する。また、例えば、ログ出力部１５４は、所定のパケット等をＣＮ１０やＨＡ２０へ送信してから、アクノリッジが返ってくるまでの時間をファイルに出力する。
【００７９】
次に、通信検証装置１００およびＨＡ２０による位置登録処理について説明する。図８は、通信検証装置１００およびＨＡ２０による位置登録処理手順を示すシーケンス図である。ここでは、仮想移動体ＭＮ１がＨＡ２０へ位置登録メッセージを送信する場合における位置登録処理手順について説明する。
【００８０】
同図に示すように、情報処理装置３０によって、仮想移動体ＭＮ１からＨＡ２０へ位置登録メッセージを送信するように指示された場合、通信検証装置１００は、仮想移動体ＭＮ１が現在位置している仮想エリアが属する仮想ネットワークのＨｏＡを含む位置登録メッセージをＨＡ２０へ送信する（ステップＳ１０１）。
【００８１】
かかる位置登録メッセージを受信したＨＡ２０は、ＨｏＡとＣｏＡ（Care  of  Address：気付アドレス）とを対応付けて所定記憶部に記憶した後、位置登録応答メッセージを通信検証装置１００へ送信する（ステップＳ１０２）。
【００８２】
その後、ＣＮ１０が仮想移動体ＭＮ１宛へパケットを送信すると（ステップＳ１０３）、ＨＡ２０は、かかるパケットを捕獲してパケットをカプセル化した後に、カプセル化したパケットを通信検証装置１００へ送信する（ステップＳ１０４）。
【００８３】
次に、図３に示した初期設定部１４１による初期情報設定処理について説明する。図９は、図３に示した初期設定部１４１による初期情報設定処理手順を示すフローチャートである。図９に示すように、情報処理装置３０からシナリオ３１を受け付けた場合に（ステップＳ２０１肯定）、通信検証装置１００の初期設定部１４１は、シナリオ３１に定義されている仮想ネットワークのＨｏＡを、アドレス記憶部１３１に設定する（ステップＳ２０２）。
【００８４】
続いて、初期設定部１４１は、シナリオ３１に定義されている遅延時間等のエラー内容を、エラー内容記憶部１３２に設定する（ステップＳ２０３）。続いて、初期設定部１４１は、シナリオ３１に定義されている仮想移動体が最初に位置する仮想エリアの通信状態を、現通信状態記憶部１３３に設定する（ステップＳ２０４）。
【００８５】
次に、図３に示した移動体移動部１４２による移動体移動処理について説明する。図１０は、図３に示した移動体移動部１４２による移動体移動処理手順を示すフローチャートである。図１０に示すように、移動体移動部１４２は、シナリオ３１に定義されている移動条件を満たした場合に（ステップＳ３０１肯定）、シナリオ３１に定義されている情報に基づいて、現通信状態記憶部１３３の状態番号に更新する（ステップＳ３０２）。
【００８６】
このとき、仮想ネットワークを跨って仮想移動体を移動させた場合（ステップＳ３０３肯定）、移動体移動部１４２は、現通信状態記憶部１３３のネットワーク番号を、仮想移動体の移動先の仮想エリアが属する仮想ネットワークのネットワーク番号に更新する（ステップＳ３０４）。
【００８７】
次に、図３に示した通信部１５０によるパケット等の送信処理について説明する。図１１は、図３に示した通信部１５０によるパケット等の送信処理手順を示すフローチャートである。ここでは、仮想移動体がＣＮ１０へパケットを送信する場合における送信処理手順について説明する。
【００８８】
図１１に示すように、情報処理装置３０から、所定の仮想移動体とＣＮ１０との間で通信を行うように指示された場合（ステップＳ４０１肯定）、通信部１５０のＣＮ通信部１５１ａは、かかる所定の仮想移動体が現在位置している仮想ネットワークのネットワーク番号を、現通信状態記憶部１３３から取得する（ステップＳ４０２）。
【００８９】
続いて、ＣＮ通信部１５１ａは、アドレス記憶部１３１から、上記ステップＳ４０２において取得したネットワーク番号に対応するＨｏＡを取得して（ステップＳ４０３）、取得したＨｏＡを送信元アドレスに設定したパケットを生成する（ステップＳ４０４）。
【００９０】
続いて、エミュレート部１５３は、かかる所定の仮想移動体が現在位置している仮想エリアの状態番号を、現通信状態記憶部１３３から取得する（ステップＳ４０５）。続いて、エミュレート部１５３は、取得した状態番号に対応する遅延時間、ロス率、エラー率をエラー内容記憶部１３２から取得する（ステップＳ４０６）。
【００９１】
続いて、エミュレート部１５３は、エラー内容記憶部１３２から取得したロス率に従って、ＣＮ通信部１５１ａによって生成されたパケットにロスを発生させる（ステップＳ４０７）。続いて、エミュレート部１５３は、エラー内容記憶部１３２から取得したエラー率に従って、ＣＮ通信部１５１ａによって生成されたパケットにエラーを発生させる（ステップＳ４０８）。そして、エミュレート部１５３は、エラー内容記憶部１３２から取得した遅延時間が経過した後に（ステップＳ４０９肯定）、エラーを発生させたパケットを、Ｉ／Ｆ部１２０を介して、ＣＮ１０へ送信する（ステップＳ４１０）。
【００９２】
次に、図３に示した通信部１５０によるパケット等の受信処理について説明する。図１２は、図３に示した通信部１５０によるパケット等の受信処理手順を示すフローチャートである。なお、ここでは、通信検証装置１００がＣＮ１０から所定のパケットを受信した場合における受信処理手順ついて説明する。
【００９３】
図１２に示すように、ＣＮ１０からパケットを受信した場合（ステップＳ５０１肯定）、通信検証装置１００のエミュレート部１５３は、現通信状態記憶部１３３から、受信したパケットの宛先の仮想移動体が現在位置している仮想エリアに対応する状態番号を取得する（ステップＳ５０２）。続いて、エミュレート部１５３は、エラー内容記憶部１３２から、上記ステップＳ５０２において取得した状態番号に対応する遅延時間、ロス率、エラー率を取得する（ステップＳ５０３）。
【００９４】
続いて、エミュレート部１５３は、エラー内容記憶部１３２から取得したロス率に従って、ＣＮ１０から受信したパケットにロスを発生させるとともに（ステップＳ５０４）、エラー内容記憶部１３２から取得したエラー率に従って、ＣＮ１０から受信したパケットにエラーを発生させる（ステップＳ５０５）。続いて、エミュレート部１５３は、エラー内容記憶部１３２から取得した遅延時間が経過した後に（ステップＳ５０６肯定）、ロスおよびエラーを発生させたパケットを、アドレスフィルタ部１５２へ出力する（ステップＳ５０７）。
【００９５】
エミュレート部１５３からパケットを受け付けたアドレスフィルタ部１５２は、かかるパケットに設定されている宛先アドレスが、アドレス記憶部１３１に記憶されているＨｏＡに含まれているか否かを判定する。受信したパケットに設定されている宛先アドレスが、アドレス記憶部１３１のＨｏＡに含まれている場合（ステップＳ５０８肯定）、アドレスフィルタ部１５２は、かかるパケット等を通信モジュール１５１へ出力する（ステップＳ５０９）。一方、受信したパケット等に設定されている宛先アドレスが、アドレス記憶部１３１のＨｏＡに含まれていない場合（ステップＳ５０８否定）、アドレスフィルタ部１５２は、かかるパケット等を廃棄する（ステップＳ５１０）。
【００９６】
アドレスフィルタ部１５２からパケットを受け付けた通信モジュール１５１のＣＮ通信部１５１ａは、パケットに含まれているユーザデータの取得などの所定の受信処理を行う（ステップＳ５１１）。そして、ログ出力部１５４は、仮想移動体ＭＮ１とＣＮ１０との間における通信の状況を所定のファイルに出力する（ステップＳ５１２）。
【００９７】
上述してきたように、本実施例に係る通信検証装置１００は、シナリオ３１に基づいて、仮想ネットワークＮ１〜Ｎ３と、仮想移動体ＭＮ１〜ＭＮ３とを生成し、仮想移動体ＭＮ１〜ＭＮ３を仮想ネットワークＮ１〜Ｎ３内で移動させ、仮想移動体が位置する仮想エリアの通信状態（遅延時間、ロス率、エラー率など）に従って、仮想移動体とＣＮ１０等との間で通信を行わせるので、様々な通信状態によってＣＮ１０等と通信を行うことができる。すなわち、本実施例に係る通信検証装置１００を用いれば、大規模なネットワークを実際に構築したり、移動体を実際に移動させたりすることなく、様々なエラーを意図的かつ容易に発生させることができ、その結果、様々な環境でモバイルネットワーク関連機器の研究開発や検証等を行うことができる。
【００９８】
また、本実施例に係る通信検証装置１００は、複数の仮想ネットワークＮ１〜Ｎ３を生成することが可能であるため、大規模なネットワークを実際に構築したり、移動体を実際に移動させたりすることなく、通信中に移動体のＩＰアドレスが変更される環境や、ハンドオーバが発生する環境を容易に構築することができ、かかる環境下で、モバイルネットワーク関連機器の研究開発や検証を行うことができる。
【００９９】
また、本実施例に係る通信検証装置１００は、シナリオ３１に定義されている情報を変更するだけで、仮想ネットワークの構成や、各通信状態におけるエラー内容や、仮想移動体の構成等を極めて容易に変更することができる。
【０１００】
なお、上記実施例では、情報処理装置３０からの指示に従って、通信検証装置１００がＣＮ１０に対してパケットを送信したり、ＨＡ２０に対して位置登録メッセージを送信したりする例を示したが、通信検証装置１００は、定期的に（例えば、１分に１回）、ＣＮ１０に対してパケットを送信したり、ＨＡ２０に対して位置登録メッセージを送信するようにしてもよい。
【０１０１】
また、上記実施例では、情報処理装置３０からの指示に従って、通信検証装置１００がＨＡ２０に対して位置登録メッセージを送信する例を示したが、通信検証装置１００は、仮想移動体が仮想ネットワークを跨って仮想エリアを移動した場合に、自動的に、ＨＡ２０に対して位置登録メッセージを送信するようにしてもよい。かかる場合、通信検証装置１００のＨＡ通信部１５１ｂが現通信状態記憶部１３３を監視して、現通信状態記憶部１３３のネットワーク番号が更新された場合に、ＨＡ２０に対して位置登録メッセージを送信する。
【０１０２】
また、上記実施例では、エミュレート部１５３が、パケット等の送信時および受信時の両方において、遅延時間等のエラーを発生させる例を示したが、エミュレート部１５３は、送信時の場合のみパケット等にエラーを発生させてもよいし、受信時の場合のみパケット等にエラーを発生させてもよい。
【０１０３】
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散、統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散、統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０４】
また、図３に示した通信検証装置１００の構成は、要旨を逸脱しない範囲で種々に変更することができる。例えば、通信検証装置１００の状態設定部１４０および通信部１５０の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、通信検証装置１００と同等の機能を実現することもできる。以下に、状態設定部１４０および通信部１５０の機能をソフトウェアとして実装した通信検証プログラム１０７１を実行するコンピュータの一例を示す。
【０１０５】
図１３は、通信検証プログラム１０７１を実行するコンピュータ１０００を示す機能ブロック図である。このコンピュータ１０００は、各種演算処理を実行するＣＰＵ１０１０と、ユーザからのデータの入力を受け付ける入力装置１０２０と、各種情報を表示するモニタ１０３０と、記録媒体からプログラム等を読み取る媒体読取り装置１０４０と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置１０５０と、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）１０６０と、ハードディスク装置１０７０とをバス１０８０で接続して構成される。
【０１０６】
そして、ハードディスク装置１０７０には、図３に示した状態設定部１４０および通信部１５０と同様の機能を有する通信検証プログラム１０７１と、図３に示した記憶部１３０に記憶される各種データに対応する通信検証用データ１０７２と、図３に示したシナリオ３１とが記憶される。なお、通信検証用データ１０７２またはシナリオ３１を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。
【０１０７】
そして、ＣＰＵ１０１０が通信検証プログラム１０７１をハードディスク装置１０７０から読み出してＲＡＭ１０６０に展開することにより、通信検証プログラム１０７１は、通信検証プロセス１０６１として機能するようになる。そして、通信検証プロセス１０６１は、通信検証用データ１０７２およびシナリオ３１から読み出した情報等を適宜ＲＡＭ１０６０上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
【０１０８】
なお、上記の通信検証プログラム１０７１は、必ずしもハードディスク装置１０７０に格納されている必要はなく、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたこのプログラムを、コンピュータ１０００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等を介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）等にこのプログラムを記憶させておき、コンピュータ１０００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１０９】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
【０１１０】
（付記１）モバイルネットワークに接続され、該モバイルネットワークを介して、仮想的な移動体である仮想移動体と所定の端末装置との間で通信を行わせる通信検証装置であって、
当該の通信検証装置によって生成される仮想的なネットワークである仮想ネットワーク内における複数の仮想的なエリアである仮想エリアに対応する通信状態を識別するための状態番号に対応付けて該通信状態時に発生するエラー内容と、前記仮想移動体を前記仮想ネットワーク内における複数の仮想エリアのいずれかに移動させる移動条件と、が定義されているシナリオに基づいて、前記仮想移動体を前記複数の仮想エリアのいずれかに移動させる移動体移動手段と、
前記移動体移動手段によって移動された仮想移動体が位置する仮想エリアに対応するエラー内容を発生させて、前記仮想移動体と前記端末装置との間で通信を行わせる通信手段と
を備えたことを特徴とする通信検証装置。
【０１１１】
（付記２）前記シナリオは、複数の仮想ネットワークを識別するためのネットワーク番号に対応付けて、該仮想ネットワークのホームアドレスがさらに定義され、
前記移動体移動手段は、前記仮想移動体を、前記複数の仮想ネットワークに属する複数の仮想エリアのいずれかに移動させ、
前記通信手段は、前記移動体移動手段によって移動された仮想移動体が位置する仮想エリアが属する仮想ネットワークのホームアドレスを用いて、前記仮想移動体と前記端末装置との間で通信を行わせることを特徴とする付記１に記載の通信検証装置。
【０１１２】
（付記３）前記通信手段は、前記移動体移動手段によって、前記仮想移動体が、該仮想移動体が現在位置する仮想エリアである現仮想エリアから、該現仮想エリアが属する仮想ネットワークと異なる仮想ネットワークに属する仮想エリアである新仮想エリアへ移動された場合に、前記新仮想エリアが属する仮想ネットワークのホームアドレスを含むパケットを、前記仮想移動体から前記端末装置であるホームエージェントへ送信させることを特徴とする付記２に記載の通信検証装置。
【０１１３】
（付記４）前記通信手段は、前記端末装置から受信したパケットである受信パケットの宛先アドレスが、前記シナリオに定義されているホームアドレスに含まれない場合に、前記受信パケットを廃棄するアドレスフィルタ手段をさらに備えたことを特徴とする付記２または３に記載の通信検証装置。
【０１１４】
（付記５）前記シナリオは、前記エラー内容として、前記端末装置と送受信を行うパケットのロス率およびエラー率と、パケットを送受信する場合に発生させる遅延時間とが定義され、
前記通信手段は、前記仮想移動体から前記端末装置に対してパケットを送信させる場合に、前記シナリオに定義されているロス率およびエラー率に従って、送信パケットにロスおよびエラーを発生させ、前記遅延時間が経過した後に該送信パケットを送信させ、前記仮想移動体が前記端末装置からパケットを受信した場合に、前記シナリオに定義されているロス率およびエラー率に従って、受信パケットにロスおよびエラーを発生させ、前記遅延時間が経過した後に該受信パケットを受信したものとして受信処理を行わせることを特徴とする付記１〜４のいずれか一つに記載の通信検証装置。
【０１１５】
（付記６）前記通信手段は、前記端末装置との間における通信の状況を所定のファイルに出力するログ出力手段をさらに備えたことを特徴とする付記１〜５のいずれか一つに記載の通信検証装置。
【０１１６】
（付記７）前記ネットワーク番号に対応付けて、前記ホームアドレスを記憶するアドレス記憶手段と、
前記ネットワーク番号に対応付けて、現仮想エリアに対応する通信状態の状態番号を記憶する現通信状態記憶手段と、
前記状態番号に対応付けて、前記エラー内容を記憶するエラー内容記憶手段とをさらに備え、
前記アドレスフィルタ手段は、前記受信パケットの宛先アドレスが、前記アドレス記憶手段に記憶されているホームアドレスに含まれない場合に、前記受信パケットを廃棄し、
前記通信手段は、前記エラー内容記憶手段から、前記現通信状態記憶手段に記憶されている状態番号に対応するエラー内容を取得し、該エラー内容に従ってエラーを発生させて、前記仮想移動体と前記端末装置との間で通信を行わせることを特徴とする付記１〜６のいずれか一つに記載の通信検証装置。
【０１１７】
（付記８）モバイルネットワークを介して、該モバイルネットワークに接続された通信検証装置によって生成される仮想的な移動体である仮想移動体と、所定の端末装置との間で通信を行わせる通信検証方法であって、
前記通信検証装置が、
当該の通信検証装置によって生成される仮想的なネットワークである仮想ネットワーク内における複数の仮想的なエリアである仮想エリアに対応する通信状態を識別するための状態番号に対応付けて該通信状態時に発生するエラー内容と、前記仮想移動体を前記仮想ネットワーク内における複数の仮想エリアのいずれかに移動させる移動条件と、が定義されているシナリオに基づいて、前記仮想移動体を前記複数の仮想エリアのいずれかに移動させる移動体移動工程と、
前記移動体移動工程によって移動された仮想移動体が位置する仮想エリアに対応するエラー内容を発生させて、前記仮想移動体と前記端末装置との間で通信を行わせる通信工程と
を含んだことを特徴とする通信検証方法。
【０１１８】
（付記９）モバイルネットワークを介して、該モバイルネットワークに接続された通信検証装置によって生成される仮想的な移動体である仮想移動体と、所定の端末装置との間で通信を行わせる通信検証方法をコンピュータに実行させる通信検証プログラムであって、
前記通信検証装置によって生成される仮想的なネットワークである仮想ネットワーク内における複数の仮想的なエリアである仮想エリアに対応する通信状態を識別するための状態番号に対応付けて該通信状態時に発生するエラー内容と、前記仮想移動体を前記仮想ネットワーク内における複数の仮想エリアのいずれかに移動させる移動条件と、が定義されているシナリオに基づいて、前記仮想移動体を前記複数の仮想エリアのいずれかに移動させる移動体移動手順と、
前記移動体移動手順によって移動された仮想移動体が位置する仮想エリアに対応するエラー内容を発生させて、前記仮想移動体と前記端末装置との間で通信を行わせる通信手順と
をコンピュータに実行させることを特徴とする通信検証プログラム。
【図面の簡単な説明】
【０１１９】
【図１】通信検証装置が適用されるモバイルネットワークの構成例を示す図である。
【図２】通信検証装置が生成する仮想ネットワークの一例を示す図である。
【図３】通信検証装置の構成を示すブロック図である。
【図４】シナリオの一例を示す図である。
【図５】アドレス記憶部の一例を示す図である。
【図６】エラー内容記憶部の一例を示す図である。
【図７】現通信状態記憶部の一例を示す図である。
【図８】通信検証装置およびＨＡによる位置登録処理手順を示すシーケンス図である。
【図９】図３に示した初期設定部による初期情報設定処理手順を示すフローチャートである。
【図１０】図３に示した移動体移動部による移動体移動処理手順を示すフローチャートである。
【図１１】図３に示した通信部によるパケット等の送信処理手順を示すフローチャートである。
【図１２】図３に示した通信部によるパケット等の受信処理手順を示すフローチャートである。
【図１３】通信検証プログラムを実行するコンピュータを示す機能ブロック図である。
【符号の説明】
【０１２０】
１        モバイルネットワーク
１０      ＣＮ
２０      ＨＡ
３０      情報処理装置
３１      シナリオ
１００    通信検証装置
１１０    Ｉ／Ｆ部
１２０    Ｉ／Ｆ部
１３０    記憶部
１３１    アドレス記憶部
１３２    エラー内容記憶部
１３３    現通信状態記憶部
１４０    状態設定部
１４１    初期設定部
１４２    移動体移動部
１５０    通信部
１５１    通信モジュール
１５１ａ  ＣＮ通信部
１５１ｂ  ＨＡ通信部
１５２    アドレスフィルタ部
１５３    エミュレート部
１５４    ログ出力部
１０００  コンピュータ
１０１０  ＣＰＵ
１０２０  入力装置
１０３０  モニタ
１０４０  媒体読取り装置
１０５０  ネットワークインターフェース装置
１０６０  ＲＡＭ
１０６１  通信検証プロセス
１０７０  ハードディスク装置
１０７１  通信検証プログラム
１０７２  通信検証用データ
１０８０  バス
【図１】
0004819077.tif 000002
【図２】
0004819077.tif 000003
【図３】
0004819077.tif 000004
【図４】
0004819077.tif 000005
【図５】
0004819077.tif 000006
【図６】
0004819077.tif 000007
【図７】
0004819077.tif 000008
【図８】
0004819077.tif 000009
【図９】
0004819077.tif 000010
【図１０】
0004819077.tif 000011
【図１１】
0004819077.tif 000012
【図１２】
0004819077.tif 000013
【図１３】
0004819077.tif 000014