JP4534047B2 - 移動ノードシミュレータおよびこれを実装するプログラム - Google Patents

移動ノードシミュレータおよびこれを実装するプログラム Download PDF

Info

Publication number
JP4534047B2
JP4534047B2 JP2006532725A JP2006532725A JP4534047B2 JP 4534047 B2 JP4534047 B2 JP 4534047B2 JP 2006532725 A JP2006532725 A JP 2006532725A JP 2006532725 A JP2006532725 A JP 2006532725A JP 4534047 B2 JP4534047 B2 JP 4534047B2
Authority
JP
Japan
Prior art keywords
behavior
simulator
network
simulation
mobile node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006532725A
Other languages
English (en)
Other versions
JPWO2006025392A1 (ja
Inventor
輝夫 東野
弘純 山口
慶一 安本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Osaka University NUC
Original Assignee
Osaka University NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Osaka University NUC filed Critical Osaka University NUC
Publication of JPWO2006025392A1 publication Critical patent/JPWO2006025392A1/ja
Application granted granted Critical
Publication of JP4534047B2 publication Critical patent/JP4534047B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions

Landscapes

  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、移動ノードシミュレータおよびこれを実装するプログラムに関する。
近年の計算機システムのユビキタス化および無線技術の普及に伴い、移動通信端末(以下、移動端末)または移動ノードが無線LANなどを介して通信するモバイルネットワークの研究が盛んに行われてきている。モバイルネットワークアプリケーションおよびプロトコルの設計および実装の際には、計算機によるネットワークシミュレーションが不可欠であるが、従来のネットワークシミュレータでは、移動端末の移動は完全なランダム移動およびランダムな目的地選定に基づく移動などに限定しているものが多い。例えば、ns−2(非特許文献1を参照)ではrandom mobility、random waypoint mobility(非特許文献2を参照)に従った動作のトレースを出力する独立したプログラムを提供している程度である。商用シミュレータQualNet(非特許文献3を参照)は、group mobility、random waypoint mobility、trace mobilityに基づく動きのみを提供し、GloMoSim(非特許文献4を参照)でもそれらに加えrandom drunken mobility、ECRV mobility、reference point group mobilityなどのサポートにとどまっている。また、商用シミュレータOPNET(非特許文献5を参照)は拡張モジュールとして提供するWireless Moduleにおいて、3次元空間における地上または衛星での移動ノードの動きをユーザ定義可能である。
しかし、ネットワークアプリケーションから得られる情報および自身の環境情報(視覚情報など)により移動ノードが行動を変化させる状況のシミュレーションは考慮されていない。実際のアプリケーションにおいては、移動端末を保持する人間の行動は、アプリケーションから得られる情報、視覚情報および心理状況などに左右される。例えば、イベント会場の来場者が携帯端末を保持しているもとで、それら携帯端末間でのマルチホップアドホックネットワークを介して、ナビゲーション情報を配信するアプリケーションの性能評価を行う場合を考える。そのアプリケーションのナビゲーション情報(例えば時間限定のイベントの情報)に従い、移動端末がそのイベントの開催場所に集中したとすれば、それに伴いネットワークトポロジも変化し、移動端末密度が不均一なネットワークとなる可能性もある。その結果、移動端末密度がおおよそ均一なランダム移動を仮定して設計されたアプリケーションでは、移動端末密度が疎である場所への情報到達率が減少し、逆に移動端末密度が密である場所では不必要なパケットが生じるなどの問題が発生する可能性もあるが、既存のシミュレータではこのような問題を発見することは容易ではない。
さらに、従来の移動ノードシミュレータは、特定の移動ノードに対する特定の行動に特化していた。そのため、新たに別の行動モデルを有するシミュレータを開発する際には、開発の度にシミュレータを一から構築する必要があり、膨大な費用および時間が要求されてきた。
本発明の目的の1つは、ユーザ定義可能な行動モデルに従って、複数の移動ノードの行動をシミュレートする行動シミュレータ部と、複数の移動ノードを含むネットワークのトポロジとネットワーク上での該複数の通信とをシミュレートするネットワークシミュレータ部とを備え、行動シミュレータ部とネットワークシミュレータ部とがインタラクティブに動作する移動ノードシミュレータ、および、これを実装するプログラムを提供することにある。
http://www.isi.edu/nsnam/ Tracy,T.、Jeff,B.、Vanessa D.、"A Surveyof Mobility Models for Ad Hoc NetworkResearch"、Wireless Comm. & Mobile Computing(WCMC):Special Issue on Mobile Ad HocNetworking:Research,Trends,and Applications、vol.2、no.5、pp.483-502(2002) http://www.scalable−networks.com/ Zeng,X.、Bagrodia,R.、Gerla,M.:"Glo−MoSim:A Library for the Parallel Simulation of Large−scale Wireless Networks"、Proc. of ACM Parallel and Distributeal Simulation(PADS’98)、pp.154-161(1998) http://www.opnet.com/ 岡田公孝、和田剛、高橋幸雄、"個人行動をベースにした歩行モデルと歩行流シミュレーション"、日本オペレーションズ・リサーチ学会、春季研究発表会(2003) Riley,G.F.、"The Georgia Tech Network Simulator"、Proc. of the ACM SIGCOMM Workshopon Models,Methods and Tools for ReproducibleNetwork Research、pp.5-12(2003)
本発明では、モバイルネットワークアプリケーションのより現実的かつ詳細な評価を可能とするために、各移動ノードが、アプリケーションおよび自分の周辺環境から得られる情報を元にその行動を変化させる様子を記述可能であり、その記述に基づくシミュレーションが可能な移動ノードシミュレータの設計を行う。本発明による移動ノードシミュレータは、移動ノードの位置情報、出現および消滅に関する情報、ならびにアプリケーションに対するユーザ入力など、移動ノード(携帯端末を保持する人間または車両など)の行動に関する部分をシミュレートする行動シミュレータ部と、行動シミュレータ部とインタラクティブに動作し、ネットワークおよびアプリケーションをシミュレートするネットワークシミュレータ部と、行動シミュレータ部およびネットワークシミュレータ部がシミュレーション結果を出力する出力部との3つのコンポーネントにより構成される。好ましい実施形態では、シミュレーション結果は、グラフィカルユーザインターフェース(GUI)により視覚的に表示される。本発明によるシミュレータにより、以下のような状況を表現可能となる。例えば、前述のイベントナビゲーションアプリケーションにおいて、人気のあるイベント会場の前に人が集中することで移動速度が落ちる状況、互いの衝突回避により人が自然に左側通行で対面通行する状況、また、アプリケーションからの情報により、特定のイベント会場に多数の人が移動し、人の分布に偏りがでる状況などが表現できる。これらの状況は、ネットワークトポロジおよびその流動性に影響を与えるため、ルーティングプロトコルの堅牢性および再送制御の妥当性など様々なメトリックを実際のアプリケーションに即して評価できる。その結果に基づき、アプリケーションにおける情報再送のタイミングおよび情報送信間隔などのパラメータの設定ならびにアプリケーションの再設計を行うことができる。
本発明の移動ノードシミュレータは、ユーザ定義可能な行動モデルに従って複数の移動ノードの行動をシミュレートする行動シミュレータ部と、該複数の移動ノードを含むネットワーク上の通信をシミュレートするネットワークシミュレータ部とを備え、該ネットワークシミュレータ部には、シミュレーションの評価対象であるネットワークアプリケーションが実装されており、該ネットワークシミュレータ部は、シミュレーション時間tごとに、該ネットワークアプリケーションからの出力を該行動シミュレータ部に出力するように構成されており、該行動シミュレータ部は、該ネットワークアプリケーションからの出力に応じて、該行動モデルに従って該複数の移動ノードのうちの少なくとも1つの行動を変化させることが可能なように構成されており、該ネットワークシミュレータ部は、シミュレーション時間tごとに、該少なくとも1つの移動ノードの行動の変化を該ネットワーク上の通信のシミュレーションに反映させるように構成されており、これにより、上記目的が達成される。
前記行動シミュレータ部は、シミュレーション時間tごとに、前記ネットワークアプリケーションへの入力と、前記複数の移動ノードのそれぞれの位置情報および速度情報とを前記ネットワークシミュレータ部に出力するように構成されており、前記ネットワークシミュレータ部は、該ネットワークアプリケーションへの入力と、該複数の移動ノードのそれぞれの位置情報および速度情報とに応じて、前記ネットワーク上の通信をシミュレートするように構成されていてもよい。
前記行動モデルは、確率つきイベント発生モデル(CPEモデル)に従って記述されていてもよい。
前記行動モデルは、前記移動ノードの状態遷移を表す状態遷移図によって定義されていてもよい。
前記行動シミュレータ部は、前記行動モデルと、ユーザ定義可能な領域情報であって、前記移動ノードが移動可能な領域の範囲を定義する領域情報とに従って、前記複数の移動ノードの行動をシミュレートしてもよい。
前記行動シミュレータ部は、前記行動モデルと、前記領域情報と、ユーザ定義可能な行動シナリオであって、ノードオブジェクトを生成するタイミングを少なくとも定義する行動シナリオとに従って、前記複数の移動ノードの行動をシミュレートしてもよい。
前記ネットワークは、移動ノード間通信を実現するアドホックなネットワークであってもよい。
前記ネットワークシミュレータ部によるシミュレーションの結果を出力する出力部をさらに備えていてもよい。
前記出力部は、グラフィカルユーザインターフェースを用いて、前記シミュレーション結果を表示する表示部であってもよい。
前記移動ノードが、携帯端末を持った人であってもよい。
前記移動ノードが、車両であってもよい。
本発明のプログラムは、移動ノードシミュレータを用いて、ネットワーク上の通信をシミュレートするシミュレーション処理をコンピュータに実行させるプログラムであって、該移動ノードシミュレータは、ユーザ定義可能な行動モデルに従って複数の移動ノードの行動をシミュレートする行動シミュレータ部と、該複数の移動ノードを含むネットワーク上の通信をシミュレートするネットワークシミュレータ部とを含み、該ネットワークシミュレータ部には、シミュレーションの評価対象であるネットワークアプリケーションが実装されており、該シミュレーション処理は、該ネットワークシミュレータ部が、シミュレーション時間tごとに、該ネットワークアプリケーションからの出力を該行動シミュレータ部に出力するステップと、該行動シミュレータ部が、該ネットワークアプリケーションからの出力に応じて、該行動モデルに従って該複数の移動ノードの行動のうちの少なくとも1つを変化させるステップと、該ネットワークシミュレータ部が、シミュレーション時間tごとに、該少なくとも1つの移動ノードの行動の変化を該ネットワーク上の通信のシミュレーションに反映させるステップとを包含し、これにより、上記目的が達成される。
本発明によれば、移動ノードの行動モデルをユーザ定義可能にすることにより、特定の移動ノードの行動モデルに応じて容易にカスタマイズ可能なシミュレータを提供することができる。さらに、移動ノードの移動可能な領域情報をユーザ定義可能にすることにより、特定の移動ノードの移動可能な領域情報に応じて容易にカスタマイズ可能なシミュレータを提供することができる。さらに、移動ノードの行動のシミュレーションと、ネットワークのトポロジおよび複数の通信のシミュレーションとがインタラクティブに実行されることにより、より現実の世界に近い状況をシミュレーションすることができる。
図1は、本発明による移動ノードシミュレータの図である。 図2は、本発明による図1に示される移動ノードシミュレータ100の機能を実現するコンピュータ200を示す図である。 図3は、本発明によるネットワークシミュレータ部120と行動シミュレータ部140とのインタラクションを表す図である。 図4は、本発明による行動シミュレータ部140の構成を表す図である。 図5は、本発明による典型的な歩行者の行動モデルの例を示す図である。 図6は、本発明による出力部としてGUIを用いた場合のGUI画面例の図である。 図7は、MobiREALシミュレータの構成の概略を示す図である。 図8は、シミュレーション領域のモデル化の例を示す図である。 図9は、歩行者(ノード)の行動モデルをCPEモデルに基づいて記述した例を示す図である。 図10は、シミュレーションシナリオの概念を示す図である。
符号の説明
100 移動ノードシミュレータ
120 ネットワークシミュレータ部
140 行動シミュレータ部
160 出力部
180 ネットワークアプリケーション
以下、図面を参照しながら、本発明の実施形態を説明する。
(1 全体設計)
本明細書中では、現実世界の人物行動などに基づく移動ノードの行動をユーザ定義でき、それに基づいたモバイルネットワークアプリケーションの評価を可能とするネットワークシミュレータである移動ノードシミュレータの設計について述べる。本発明による移動ノードシミュレータは、移動ノードに関するシミュレーションを行う行動シミュレータ部140と、ネットワークに関するシミュレーションを行うネットワークシミュレータ部120とがインタラクティブに動作することにより、ネットワークアプリケーションによる移動ノードの行動への影響、およびその結果生じるネットワークトポロジの変化を再現でき、より現実的なシミュレーションを行うことが可能となる。
図1は、本発明による移動ノードシミュレータ100を示す。移動ノードは、携帯端末を持った人、車両、移動ロボット、センサー(タグ)の埋め込まれた動物、移動可能または固定のセンサー(タグ)、飛行機、あるいは、その他の任意の通信機能を有する移動体であり得る。移動ノードの通信は、移動ノードとネットワーク上の基地局などの任意の通信機能を有するポイントとの通信、および、移動ノード間の通信を含む。移動ノードシミュレータ100は、ネットワークシミュレータ部120と、行動シミュレータ部140と、出力部160とを備える。出力部160は、GUI(グラフィカルユーザインターフェース)であってもよいし、シミュレーション結果を出力する他の任意のコンポーネントであってもよい。
移動ノードシミュレータ100を利用するアプリケーション開発者は、行動シミュレータ部140に対し、各移動ノードの行動(これを行動モデルと呼ぶ)を指定し得る。ある実施形態では、行動モデルは、状態遷移図により指定される。各状態遷移の遷移条件として、シミュレーション評価対象とするネットワークアプリケーションから得られる情報、ならびに自身のノードの周辺に存在する障害物および他の移動ノードなどの情報(外部情報)に関する条件を指定し得る。また、各遷移図はいくつかの内部パラメータ(経由地および目的地、ならびに特定の地点に対する興味度など)を保持し得、その内部パラメータも遷移条件として利用し得る。また、遷移の実行によりそれらのパラメータ値を変更することもできる。この遷移図に基づき、行動シミュレータ部140は、各時間ごとの移動ノードの位置および速度ベクトル等の移動ノードに関する情報を計算する。遷移条件として、障害物情報を含むシミュレーションフィールドの情報(領域情報)および移動ノードの初期配置なども指定し得る。これらの情報は、ネットワークシミュレータ部120に渡される。ネットワークシミュレータ部120、行動シミュレータ部140、および出力部160などの本シミュレータに含まれるコンポーネントは、別々の場所に存在し無線リンクを介して通信してもよいし、一体化されて有線リンクにより通信してもよい。ある実施形態では、多数の移動ノードごとに内部パラメータを指定することは非効率的であるため、これらの内部パラメータを、例えば一定の分布に基づきランダムに生成して、複数の移動ノードに対し一括指定することもできる(これを行動シナリオと呼ぶ)。また、アプリケーション開発者は、通常のネットワークシミュレータと同様に、評価対象とするアプリケーション180を移動ノードシミュレータ100上に実装し得る。さらに、移動ノードシミュレータ100を利用するアプリケーション開発者は、各移動ノードの行動領域を表す情報(領域情報と呼ぶ)を指定し得る。ある実施形態では、領域情報は、地理領域を表す矩形と、その地理領域上に配置され、個々が線分の集合で表される建造物などのオブジェクトの集合とで表される。各オブジェクトには、そのオブジェクト内を移動ノードが通行可能か、あるいはそのオブジェクトを越えて無線を伝播させることが可能かなどを表す属性値を与えることができる。
ここで図3を参照する。図3は、ネットワークシミュレータ部120と行動シミュレータ部140との相互連携(インタラクション)を表す図である。ある好ましい実施形態では、ネットワークシミュレータ部120および行動シミュレータ部140は、それぞれ独立にシミュレーション時間t毎のシミュレーションを行い、そのシミュレーション結果を交換した後に次のtシミュレーション時間のシミュレーションをそれぞれ独立に行う。これを繰り返しながらシミュレーションを進行させる。これについては、以下で詳細に説明する。シミュレーション結果は、例えば、トレースファイルとして出力され、出力部160に渡される。好ましい実施形態では、GUIを用いて、視覚的にシミュレーション結果を再現することができる。GUIでは、行動シミュレータから渡された情報、例えば、トレースファイルを入力として、移動ノードの移動および情報伝達の様子などを可視化することができる。GUIを用いた実施形態では、拡大および縮小ならびにステップ実行などにより、シミュレーション結果をより詳細に検討することができる。
本発明による移動ノードシミュレータの実施形態は、例えば、図1に示される各コンポーネントを有する装置である。図1に示される移動ノードシミュレータの各コンポーネントの機能は、ソフトウェア(例えば、コンピュータプログラム)によって実現される。しかし、本発明は、これに限定されない。図1に示される各コンポーネントの機能をハードウェア(例えば、回路、ボード、半導体チップ)によって実現してもよいし、ソフトウェアとハードウェアとの組み合わせによって実現してもよい。
図2は、図1に示される移動ノードシミュレータ100の機能を実現するコンピュータ200を示す。コンピュータ200は、CPU210と、メモリ220と、入力インターフェース部230と、出力インターフェース部240と、バス250とを含む。
CPU210は、プログラムを実行する。例えば、そのプログラムは、図1の各コンポーネントの機能を実行するプログラムである。そのプログラムおよびそのプログラムの実行に必要なデータは、例えば、メモリ220に格納される。そのプログラムは、任意の様態でメモリ220に含まれ得る。例えば、メモリ220が書き換え可能なメモリである場合には、コンピュータ200の外部からプログラムをローディングすることにより、そのプログラムをメモリ220に格納してもよい。あるいは、メモリ220が読み出し専用メモリである場合には、メモリ220に焼き付ける形式でそのプログラムをメモリ220に格納してもよい。
さらに、入力インターフェース部230は、ユーザからの入力を受け取るインターフェースとして機能する。出力インターフェース部240は、計算結果を出力するためのインターフェースとして機能する。バス250は、コンピュータ200内のコンポーネント210〜240を相互に接続するために使用される。
(1.1 行動シミュレータとネットワークシミュレータとの相互連携)
さらに、図3を参照する。好ましい実施形態では、行動シミュレータ部140とネットワークシミュレータ部120とは、連携しながら相互に情報交換を行い、シミュレーションを実行する。情報交換は、任意に指定可能なシミュレーション時間tごとに実行され得る。
具体的には、例えば、以下のように実行され得る。シミュレーション開始時には、障害物の配置、シミュレーション時刻0における各ノードの座標および速度ベクトル、ならびにアプリケーション180への入力が、行動シミュレータ部140からネットワークシミュレータ部120へ渡される。しかし、行動シミュレータ部140とネットワークシミュレータ部120との間で交換される情報は、これらの情報に限定されない。その後、各シミュレーション時刻n*t(n=0,1,...)において、行動シミュレータ部140は、各移動ノードごと、直前のtシミュレーション時間[(n−1)*t,n*t)の行動シミュレーション中において得られた、(a)ネットワークアプリケーション180への入力(ユーザ入力)、(b)時刻n*tにおける座標および速度ベクトル、をネットワークシミュレータ部120に渡す(図3の(a)の矢印)。同様に、シミュレーション時刻n*tにおいて、ネットワークシミュレータ部120は移動ノードごとに、[(n−1)*t;n*t)のネットワークシミュレーション中において得られたネットワークアプリケーション180からの出力を行動シミュレータ部140に渡す(図3の(b)の矢印)。このように、行動シミュレータ部140とネットワークシミュレータ部120は互いに独立にシミュレーション時間[(n−1)*t;n*t)のシミュレーションを行い、その結果をシミュレーション時刻n*tに交換し、それを用いてシミュレーション時間[n*t;(n+1)*t)のシミュレーションを行う。
なお、シミュレーション時間tの間は、ネットワークシミュレータ部120は、受け取った速度ベクトルを用いて行動シミュレータ部140とは独立にノードの位置計算を行う。ただし、この間に行動シミュレータ部140でノードの速度ベクトルを変更している可能性があるため、t時間毎の情報交換において、正確な現在位置座標を行動シミュレータ部140から適宜受け取り位置を補正する。tの大きさの決定は、アプリケーション180に求められるシミュレーション精度とシミュレーションに要する時間とのトレードオフに基づき、シミュレータ使用者が設定し得る。
(2 行動シミュレータ部)
図4は、行動シミュレータ部140の構成を表す図である。行動シミュレータ部140を実装するためには、現実の行動を記述するための言語およびその処理系の開発が必要とされる。行動シミュレータ部140に対し、移動ノードの行動は、行動シナリオおよび行動モデルにより与えられる。行動シナリオは、個々のノードの出現確率および目的地の決定などを一括して指定し得る。また、上述したように、行動モデルは個々の移動ノードの行動を記述した状態遷移図(拡張有限状態機械)であってもよい。
(2.1 行動シナリオ)
移動ノードが歩行者に対応する場合を例として、行動シナリオについて説明する。歩行者全体を考えた場合、どのような状況においてもある一定の歩行流(多数の歩行者の流れ)が発生することが多い。例えば駅の改札口では、電車の到着前には改札口へ向かう歩行者が多いため、改札口へ向かう歩行流が発生するが、電車の到着後には改札口を出る歩行者が多いため、改札口から離れる歩行流が発生する。また商業空間では店によって客の出入りする人数は異なるため、店によって付近の歩行流も異なる。このような歩行流を制御するためのパラメータを行動シナリオとして与えることで、マクロの視点においても現実に近いシミュレーションを行うことができる。図4の行動シナリオとして、ノードの出現確率、どの目的地にどの程度の割合のノードが向かうかを表す値、ならびに個人の行動に影響を与える情報活用度および興味度といったパラメータの基本値などを与える。これらの値を基本に、以下で述べる行動モデルの内部パラメータを決定する。
(2.2 行動モデル)
行動モデルは、通常、アプリケーションとの入出力インターフェースおよび視覚情報の入力インターフェースを入出力ポートとし、目的地リストなどを内部変数として保持する状態遷移図である。シミュレータ使用者は、いくつかの状態遷移図と、それにしたがって行動するノードの集合とを指定し得る。これと行動シナリオで指定された基本値を基に、内部変数の初期値が与えられたインスタンスがノードごとに生成され得る。
図5は、典型的な歩行者の行動モデルの例を示す。図5の歩行者の典型的行動を表す行動モデルの例に従って、行動モデルの機能を詳述する。一般に、人が行動する際にはある目的地へ向かって移動する。そこで、その目的地を優先順位付きのパラメータとして持たせる。この際、ネットワークアプリケーションからの情報がある場合には、その内容に従って優先順位を変更するか、または新規に目的地を持たせることにより、行動を変化させる。例えば、イベントの宣伝をネットワークアプリケーションにより行いたい場合には、あるノード(例えば固定端末)がアプリケーションへの入力として、イベントの開催時刻および開催場所などを与える。アプリケーションを介して、この情報を受け取った他のノードは、情報を活用するかどうかを情報活用度に応じて決定し、活用するならばこの開催時刻に合わせて開催場所へと向かうようになる。また、目的地として交差点などの経由地点を指定することにより、曲がり角などを含む複雑な経路を通る歩行を実現することができる。
(2.3 領域情報)
領域情報とは、移動ノードが移動可能な領域の範囲と定義される。領域情報は、例えば図4に示されるように、地理領域を表す矩形と、その地理領域上に配置され、個々が線分の集合で表される建造物などのオブジェクトの集合とで表される。ある実施形態では、領域は、長方形であり、各辺の長さ[m]を指定することにより定義され得る。建造物などのオブジェクトは、座標集合で指定し得る。例えば、長方形のオブジェクトの場合には4点の座標を指定し、円形の場合には中心と半径との組などを指定することにより、領域情報を定義できる。オブジェクトには、単なる障害物および進入可能な建物などの種類も指定し得る。各オブジェクトには、そのオブジェクト内を移動ノードが通行可能か、あるいはそのオブジェクトを越えて無線を伝播させることが可能かなどを表す属性値を指定することができる。上記の様々な値の指定は、ユーザによってなされ得る。
領域情報が指定されている場合の移動ノードのシミュレーションを考える。シミュレーション対象となる領域には、建造物および道路などのオブジェクトが配置され、これらのオブジェクトには、無線を伝播させるかさせないかを表す属性値、または、移動ノードが移動できるかできないかを表す属性値などが指定されている。初期状態として、携帯電話を持った人などの移動ノードは、シミュレーション対象の領域上のある点Aにあるとする。行動シミュレータ部140は、領域情報を参照して、地点Aの周りにあるオブジェクトとその属性値とに基づき、移動ノードが無線を伝播させる方向および無線を伝播させない方向を計算する。さらに、行動シミュレータ部140は、領域情報を参照して、地点Aの周りにあるオブジェクトとその属性値とに基づき、移動ノードが進み得る方向および進み得ない方向を判断するとともに、移動ノードの行動モデルを参照して、移動ノードが実際に進む方向を計算する。行動シミュレータ部140は、これらの計算結果をネットワークシミュレータ部120に送る。
(2.4 現実的な行動モデルのためのライブラリ群)
本発明による移動ノードシミュレータは、より現実的な行動を容易に記述するために、グループ行動および衝突回避処理を行うライブラリを含み得る。
(2.4.1 グループ行動)
街中では、人は1人で歩いているだけでなく、友人等と一緒にも歩いている。そこで、グループとしての挙動を表現できるように、グループ行動の要素を導入しライブラリとして利用できる。グループ行動を実現するために、例えば、非特許文献2で紹介されている、グループ行動におけるreference pointを導入し得る。reference point自体は、個々のノードのように移動するが、そのreference pointを持つグループ中のノードが、reference pointの動きに従って行動することで、グループの行動を統一化できる。このグループ行動のライブラリは、例えば、図5の状態”通常移動”および”寄り道”において速度ベクトルを決定する際に用いることができる。
(2.4.2 衝突回避)
現実に人と人がすれ違うときにはぶつからないように歩くのが自然である。その行動を行動シミュレータで実現するために非特許文献6で紹介されているような衝突回避処理を導入し得る。衝突を避ける対象者が、図5中のneighborに相当する。これは自分の移動ベクトルから決定した視野範囲内に存在するノードである。この衝突回避処理では、自分とneighborの位置および速度ベクトルならびに人体円半径などによって、そのままの速度ベクトルで進んだときに衝突する領域を求め、その領域には進まないように、速度ベクトルを変化させることができる。また壁などの障害物に対しても、障害物を動かないノードの集合とみなすことで同様の処理を用いて衝突を回避することができる。この衝突回避のライブラリは図5の状態”衝突回避”において速度ベクトルを決定する際に用いることができる。
(3 ネットワークシミュレータ部)
本発明によるネットワークシミュレータ部120では、行動モデルシミュレーション部140による移動ノードの行動に従い、移動ノードを含むネットワークのトポロジを変化させる。また、そのもとで移動端末間のネットワーク通信をシミュレートする。以下、使用するネットワークシミュレータ部120の概要、ネットワークシミュレータ部120と行動シミュレータ部140の連携について詳しく説明する。
(3.1 GTNetS)
本発明による移動ノードシミュレータでは、ネットワークシミュレータ部120として、例えば、米Georgia Institute of Technologyで開発されたGTNetS(非特許文献7を参照)を使用し得る。しかし、本発明において利用されるネットワークシミュレータは、GTNetSに限定されず、その他の任意のネットワークシミュレーション機能を有するネットワークシミュレータであり得る。GTNetSは、既存のネットワークシミュレータのスケーラビリティにおける問題点を克服し、より高速に大規模なネットワークのシミュレーションを行うという思想で設計されており、C++による実装、並列実行等の特長を持つ。GTNetSは、ネットワークシミュレーションを構成する各部品をC++言語により実装し、ライブラリとして提供している。これらのライブラリを利用しシミュレーションシナリオを記述することで、GTNetSが提供するネットワークシミュレーション環境を利用することができる。また、必要に応じてクラスを作成することで、シミュレータの拡張を容易に行うことができる。
(3.2 GTNetSを利用したネットワークシミュレータ部の実現)
以下に、GTNetSを用いた場合を例に、ネットワークシミュレータ部を説明する。本発明による移動ノードシミュレータでは、行動シミュレータ部140とのインタラクション部分を独自のクラスとして実装しGTNetSに組み込むことで、行動シミュレータ部140とネットワークシミュレータ部120との連携を実現し得る。また、同様に、ノードの移動等を扱うクラスも実装してGTNetSに組み込み、行動シミュレータ部140から受け取るノードの速度情報にもとづきノードの位置を更新し得る。インタラクション部分では、行動シミュレータ部とのデータ交換、および入力データに対する処理を行い得る。行動シミュレータ部140からインタラクション部分への入力は、ノードの発生、消滅および移動などのノードに関する入力と、アプリケーションへの入力との2種類に分けられる。アプリケーションへの入力は、実装されているネットワークアプリケーション180への入力となる。以下、インタラクション部分の実装および入力処理について説明する。
(3.2.1 行動シミュレータ部とのインタラクション)
GTNetSは、discrete−eventタイプのネットワークシミュレータとして実装されている。パケットの送受信等のシミュレーションイベントは、その実行時刻と共にイベントキューに挿入される。その後、イベントキューに挿入されたイベントは、シミュレーション時間順に取り出され処理される。これらイベントキューへのイベント挿入および処理の繰り返しによりシミュレーションが構成される。本発明による移動ノードシミュレータでは、行動シミュレータ部140とのデータ交換と、行動シミュレータ部140から渡されるノード情報およびアプリケーション情報に対する処理とを行うために、インタラクションイベントを作成し、シミュレーション時間tごとに処理する。まずシミュレーション開始前に、インタラクションイベントを時刻tにスケジューリングする。このスケジューリングにより、[0,t]のシミュレーションを行った後、時刻tでインタラクションイベントが処理され、行動シミュレータ部140とのデータの受け渡しおよび受け取ったデータに対する処理が行われる。インタラクションイベントの最後には、次のインタラクションイベントを時刻2tにスケジューリングし、次回の行動シミュレータ部140とのデータ受け渡しに備える。このような一連の処理を、行動シミュレータ部140によってシミュレーション終了の情報が渡されるまで繰り返す。
(3.2.2 ノードの発生、消滅に対する拡張)
GTNetSは、ネットワークトポロジの変化に乏しい有線ネットワークを主な対象としているため、ネットワーク通信を行うノードを、シミュレーション開始前に全て生成しておき、シミュレーション中に新規ノードの追加、既存ノードの削除は行わないことが好ましい。一方、無線ネットワークにおいては、ノードの移動だけでなく、ノードの発生および消滅も頻繁に発生するため、これらのノードの変化に対しGTNetSで適切に対処する必要がある。例えば、あらかじめノードを十分な数だけ生成しておき、行動シミュレータ部140のノードとネットワークシミュレータ部120のノードとのマッピングを行うノード管理クラスを導入し、行動シミュレータ部140からのノード追加および削除情報に対して、あらかじめ生成しておいたノードをネットワークトポロジに追加および削除することで、ノードの発生および消滅に対処し得る。
(3.2.3 ノードの移動に対する拡張)
GTNetSではノード移動を計算および管理するモビリティクラスが用意されており、各ノードの移動は、ノードに割り当てられたモビリティクラスのインスタンスに依存する。本発明による移動ノードシミュレータでは、行動シミュレータ部140から受け取ったノードの移動情報(例えば、速度ベクトル)をネットワークシミュレータ部120に反映させるため、速度および変化時刻の組を蓄積出来るようなモビリティクラスを作成し、GTNetSに組み込んでいる。行動シミュレータ部140からノードの速度ベクトルを受け取った時点では、ノード位置を更新せずに、蓄積情報の更新を行う。無線計算等でノードの現在位置が必要になった場合のみ、ノード位置および速度、ならびに蓄積情報によって位置計算が行われる。ただし、このように速度ベクトルのみを受け取り行動シミュレータと連携する方法では、ベクトルの精度および位置計算が原因で誤差が生じる可能性がある。そこで、定期的にノードの位置情報を受け取り、誤差を修正する。位置情報を受け取った場合は、過去の速度ベクトルが必要なくなるため、蓄積情報の初期化を行う。
(4 出力部)
本発明による移動ノードシミュレータは、出力部160を有する。出力部160は、好ましくはGUIを用いるが、他の任意のシミュレーション結果を出力することができるコンポーネントであり得る。
図6は、本発明による出力部としてGUIを用いた場合のGUI画面例である。GUI部では移動ノードの動きおよびネットワークの可視化を行い、わかりやすい形でシミュレーション結果を提示し、その理解を視覚的に手助けすることを目指している。
(4.1 GUIの機能)
Windows(登録商標)上で動作する本発明による移動ノードシミュレータのGUIには、処理速度および描画能力の観点から、例えば、DirectX9を採用している。図6のように、GUIは、俯瞰視点での人の行動の可視化を実装され得、シミュレーションフィールドを表す地図画像の上で、人を表す小さい円と、その人が持つ無線端末の電波が届く範囲を表す大きい円とが、その人の行動に従って移動する(図6)。地図画像の上には、ビルなどの電波の伝達を妨害する障害物を表示することができ、無線伝達範囲を表す大きい円とあわせて、おおまかにではあるが各ノード間における通信の可否を確認することができる。GUIは、行動シミュレータ部140およびネットワークシミュレータ部120から出力されたシミュレーション結果(例えば、トレースファイル)を入力とし、またそのファイルで地図画像に任意のビットマップ画像を指定することが可能である。GUIには拡大および縮小機能(1cm/pixel〜100m/pixel)、再生速度の変更機能(実時間比で0〜256倍)、ならびにステップ実行機能など一通りの機能が備わっている。
GUIではノードの状況の違いを一目で見分けられるよう、人を表す円を色分けする機能を実装し得る。例えば、ネットワークアプリケーション180でブロードキャスト中のある特定の情報に着目し、その情報が伝わっているか否かで色分けを行えば、情報が伝達していく様子を視覚的に把握することが可能である。またその情報が伝わる事により行動が変化した人を色分けすることで、その情報の伝達が人の行動にどう影響を及ぼすかを見ることもできる。また、本発明による移動ノードシミュレータでは、将来的に何千、何万ノードレベルでの大規模なシミュレーションを対象とし得、GUIにおける表現上の抽象化により、GUI上で相当数のノードを同時に表示しても、見やすく、かつわかりやすいようにし得る。これらに加え、ユーザからの入力、例えば、地図情報およびシナリオの入力、ならびにノードの初期配置の入力に対し、GUIによる補助を行い得る。
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
(5 移動ノードシミュレータ100の実装例、MobiREAL)
以下、ノードが自身の周辺環境やネットワークアプリケーションの振る舞いに応じて行動を変化させる動的な挙動が記述可能な確率つきイベント発生モデル(Condition Probability Event Model、以下、「CPEモデル」という)について説明し、CPEモデルに基づくノードの行動のシミュレートと、そのノードの行動に基づいたネットワークアプリケーションのシミュレートとが可能なネットワークシミュレータMobiREALの設計および実装について説明する。MobiREALシミュレータは、図1に示される移動ノードシミュレータ100の1つの実装例である。
CPEモデルは、現実的なノードの行動を記述するのに好適なモデルとして発明者らが提案しているモデルである。CPEモデルに基づいて現実的なノードの行動をシミュレートすることにより、ノードの行動がネットワークアプリケーションや他のノードに与える影響を再現し、より現実的なシステム性能評価を行うことができる。
(5.1 MobiREALシミュレータの構成)
図7は、MobiREALシミュレータの構成の概略を示す。MobiREALシミュレータは、移動ノード群のアドホック通信をシミュレートすることができる。また、MobiREALシミュレータは、固定の有線ネットワークと移動ノード群が基地局を介して通信するような有線・無線混在型のネットワークもシミュレートすることができる。
MobiREALシミュレータは、ノードの行動をシミュレートする行動シミュレータと、ネットワーク上の通信をシミュレートするネットワークシミュレータとを含む。ここで、行動シミュレータは、図1に示される行動シミュレータ部140の1つの実装例であり、ネットワークシミュレータは、図1に示されるネットワークシミュレータ部120の1つの実装例である。
MobiREALシミュレータでは、行動シミュレータとネットワークシミュレータとは2つの独立したプログラムとして実現されている。このように、行動シミュレータとネットワークシミュレータとを2つの独立したプログラムとして実現することにより、MobiREALシミュレータの行動シミュレータを他のネットワークシミュレータで利用することが可能になる。例えば、ns−2(非特許文献1を参照)やGloMoSim(非特許文献4を参照)などのオープンソースシミュレータに行動シミュレータとのインターフェース部を実装することにより、それらのシミュレータでも現実的な移動ノードの行動を容易にシミュレートすることができる。また、2つのプログラムを異なる計算機上で実現することで、負荷分散も可能となる。
図7において色付きのコンポーネントは、ユーザによりその内容を指定することが可能なコンポーネント(すなわち、ユーザ定義可能なコンポーネント)である。行動シミュレータに対しては、シミュレーション領域情報と、CPEモデルと、ノードの生成を指定するシミュレーションシナリオとをユーザが指定することが可能である。ここで、シミュレーション領域情報は、図4に示される領域情報の1つの実装例であり、CPEモデルは、図4に示される行動モデルの1つの実装例であり、シミュレーションシナリオは、図4に示される行動シナリオの1つの実装例である。ネットワークシミュレータに対しては、ネットワークシステム(ネットワークアプリケーションやトランスポート層/ネットワーク層プロトコルなど)の記述をユーザが指定することが可能である。主要なプロトコルはライブラリとして提供されており、ユーザは下位層のプロトコルにそれらを利用することもできる。
行動シミュレータとネットワークシミュレータとは、TCP接続を介して相互通信を行いながら並行に実行される。シミュレーションの実行開始時には、行動シミュレータからネットワークシミュレータにシミュレーション領域情報が渡され、それぞれが独立して領域情報を保持する。シミュレーション開始後には、行動シミュレータで生成されたノードオブジェクトの情報がネットワークシミュレータに随時通知され、ネットワークシミュレータ側で対応するノードオブジェクトが生成される。また、ノードの位置および速度ベクトルの更新情報を行動シミュレータからネットワークシミュレータに随時与えることで、ネットワークシミュレータ側でノードの位置が更新される。ネットワークシミュレータは、現在のノード位置と領域情報とからノード間の電波の伝播計算、パケットルーティングなどのネットワーク上の通信のシミュレーションを行う。また、ノードがネットワークアプリケーションを利用する振る舞い(ネットワークアプリケーションに対するデータ入力)を行動シミュレータからネットワークシミュレータに与え、ネットワークアプリケーションからのノードへのデータ出力をネットワークシミュレータから行動シミュレータに渡すことで、ネットワークアプリケーションによるノードの行動へのフィードバックを可能にしている。
(5.2 行動シミュレータとノードのモデル化)
以下、現実世界の環境やノードの行動をモデル化する手法について説明し、それに基づく行動シミュレータの設計および実装について説明する。
(5.2.1 シミュレーション領域のモデル化)
建物、広場などの通行不可能な閉空間は、閉多角形(例えば、図8における色付きの領域)で指定し、進入可能な閉空間については、図8のEやJのようにポイントを境界線上に設定することで領域の出入り口をユーザが指定することが可能である。その他の領域は、道路などの自由移動領域として定義される。また、ユーザは、交差点や領域の出入り口に設定されたポイントを線分で結んだ仮想グラフを合わせて指定することが可能である。このような仮想グラフを指定することにより、道路の論理的な構造情報を行動シミュレータに与えることができ、目的地や経路計算を簡単化することができる。
このようなシミュレーション領域のモデル化は、GUI入力支援ツールを用いて行うと効率的である。例えば、地図上の点をマウスで選択することにより上述した通行可能な閉空間や領域の出入り口を含むシミュレーション領域を定義し、その定義されたシミュレーション領域を表すプログラム(例えば、C++で記述したプログラム)を出力する機能を有するGUI入力支援ツールを提供することができる。
(5.2.2 ノードの行動のモデル化)
一般に、ノード(例えば、携帯端末ユーザ)は、自身の周辺の情報(例えば、障害物や近隣ノードの行動)や自身の携帯端末上で動作するネットワークアプリケーションの出力に基づいて目的地などを動的に変更する場合がある。例えば、混雑している目的地は後で訪問する、あるいは、近隣の店舗を検索するナビゲーションシステムに購入したい商品の情報を入力し、システムが提示した店舗に向かう、といった行動変更が考えられる。また、ノードは、目的地や経路、到着予定時刻や滞在時間などをある程度計画して行動することが多い一方、行動が確率的である場合も多い。
以上のような観点から、本発明者らは、ノードの動的な行動変化規則を変数を用いて記述する確率つきイベント発生モデル(CPEモデル)を提案し、さらにそのCPEモデルを用いたノードの行動のモデル化手法を提案している。すなわち、ノードの行動のモデル化は、以下の手順で行われる。まず、ノードの行動種別(例えば、通勤者、買い物客など)ごとに、動的な行動変化規則などが、CPEモデルを用いて変数を利用した汎用的な形式で記述される。次に、シミュレーション実行時において、目的地などの具体的な変数値が指定されたノードオブジェクトがシミュレーションシナリオに従って生成される。
CPEモデルは、”ルール”の並びと、内部変数の集合と、外部変数の集合とによって定義される。各ルールは、「条件」、「確率」および「行動」の組から構成されており、「条件」が満たされた場合には、ノードが「確率」に従って「行動」をとることを記述したものである。内部変数とは、CPEモデルの内部からのみ更新または参照可能な変数をいい、外部変数とは、CPEモデルの内部および外部から更新または参照可能な変数をいう。
外部変数には、例えば、シミュレーション時刻T、近隣ノードや障害物などの周辺情報E、ネットワークアプリケーションへの入力AI、ネットワークアプリケーションからの出力AO、ノードの現在位置Pおよびノードの速度ベクトルVが含まれる。
各ルールの「条件」には、外部変数または内部変数を用いた論理式が指定される。各ルールの「確率」には、0から1までの定数、または、確率関数が指定される。
CPEモデルに基づいてノードの行動を記述した行動モデルは、行動シミュレータによって実行可能な形式(例えば、C++で記述したプログラムの形式)で行動シミュレータに組み込まれる。行動シミュレータは、ルールの並びを先頭から検索し、指定された条件が満たされる最初のルールによって指定された行動を指定された確率で実行することを繰り返す。
以下、シミュレーションの評価対象であるネットワークアプリケーションが、IEEE802.11などの近距離な端末間通信デバイスを装備した情報端末を保持する歩行者がいくつかの店舗を買い物などの目的で訪れ、店舗に関して入手した情報(例えば、セール情報)を移動中に遭遇した他の歩行者に配布することで有用な情報の共有を行うモバイルアドホックネットワーク(MANET)上のネットワークアプリケーションである場合を考える。このようなネットワークアプリケーションは、ネットワークシミュレータ上に実装されている。
図9は、歩行者(ノード)の行動モデルをCPEモデルに基づいて記述した例を示す。図9に示される例では、目的地情報(目的地の位置を示すポイント名p、現在地から目的地までの経路を表すポイント列r、予定到着時刻t、滞在時間sなど)が内部変数の構造体として保持されており、現在の目的地情報が変数dstに格納されており、その後訪れる予定の目的地群が目的地情報のリストとして変数Dlistに訪問順に格納されている。
例えば、ルールE3では、急いで歩いたとしても間に合わないほど予定から遅れている場合には、0.2の確率で到着予定時刻dst.tを10分遅らせ、速度ベクトルVに急いで歩く場合の値を計算し代入している。一般に、歩行者は接近してくる歩行者や小さな障害物などを回避しながら歩行することから一時的に移動方向を変えることがある。速度ベクトルVの計算は、このような衝突回避を考慮して行われる。
ルールE7、E8では、目的地の滞在中に滞在予定時刻を過ぎたときの行動を同じ条件を用いて指定している。ルールE7はルールE8の上位にあるため、これらのルールの条件が真である場合には、0.8の確率でルールE7の行動が実行され、ルールE7の行動が実行されない場合には、ルールE8の行動が必ず実行される。
ルールE5では、ネットワークを介して他の歩行者から店舗情報new_dstを入手した場合、0.5の確率でその店舗を目的地リストに追加する行動を記述している。さらに、ルールE9では、滞在を延長した目的地(店舗)を出発するときに、その目的地情報(店舗情報)をネットワークを介して他の歩行者に配布するようにしている。
ルールE1では、行動が実行される確率を定数ではなく、平均6分、標準偏差2分の正規分布に従う確率関数を用いて表している。確率関数として任意の関数を用いることが可能であり、ある条件が成立してからノードが行動を起こすまでの時間のばらつきや、行動を起こす頻度を指定することもできる。
なお、頻繁に用いられる条件や行動は、ライブラリとして提供され得る。これにより、CPEモデルを容易に記述することが可能になる。
(5.2.3 シミュレーションシナリオ)
シミュレーションシナリオでは、シミュレーション実行時間などのパラメータが設定されるとともに、各CPEモデルに対応するノードオブジェクトを生成するタイミングや変数の初期値などが指定される。
図10は、シミュレーションシナリオの概念を示す。図10の前半では、CPEモデル”customer”に対応するノードオブジェクトが15秒ごとに生成され、その生成されるノードオブジェクトは、その速度Vが1.0m/sから1.8m/sのランダム、その発生位置PがAまたはQ、その最初の目的地dstがEまたはJ、それ以降の目的地がDlistであることが記述されている。また、図10の後半では、CPEモデル”worker”に対応するノードオブジェクトが8秒ごとに生成されることが記述されている。ノードオブジェクトごとに、各変数の初期値やノードの生成条件を変更することも可能である。各変数の初期値やノードの生成条件は様々な定義済み関数を利用して設定することができる。
このようなシミュレーションシナリオは、例えば、歩行流(Urban Pedestrian Flow)に基づいて生成することができる。歩行流とは、シミュレーション領域内に定義された各経路をたどる歩行者(ノード)の発生量(人/秒)を示したものである。歩行流の生成は、GUI入力支援ツールを用いて行うと効率的である。例えば、地図上の点をマウスで選択することにより、シミュレーション領域内のいくつかの点における歩行者(ノード)の密度を入力し、目的地(ノードの発生・消滅地点)の候補を入力することにより、歩行流を自動的に生成し、その歩行流に従って記述されたシミュレーションシナリオを表すプログラム(例えば、C++で記述したプログラム)を出力する機能を有するGUI入力支援ツールを提供することができる。
例えば、現実世界において実際に測定された歩行者の密度を上述した歩行者(ノード)の密度として入力し、実際の地図の端、建物の入り口、地下街などへの入り口にあたるポイントを上述した目的地(ノードの発生・消滅地点)の候補として入力することにより、現実の歩行流に近い歩行流を生成することが可能である。
(5.3 ネットワークシミュレータ)
MobiREALシミュレータのネットワークシミュレータは、ネットワーク上の通信をシミュレートする基本機能に加えて、行動シミュレータと周期的に連携し、行動シミュレータから渡されたノードの生成や削除に関する情報、ノードの位置や速度に関する情報などをネットワークのシミュレーションに反映させる機能と、ネットワークシミュレータに実装されているネットワークアプリケーションへの入力やネットワークアプリケーションからの出力を行動シミュレータと交換する機能とが必要となる。
本発明者らは、GTNetS(非特許文献7を参照)に上述した機能を実装することにより、MobiREALシミュレータのネットワークシミュレータを開発した。
一般に、GTNetSを含む多くのネットワークシミュレータは、シミュレーション実行中の新規ノードの追加や既存のノードの削除を想定せずに実装されている。これに対し、本発明者らは、GTNetSのノード管理プロセスの修正を行うことにより、ノードの動的な生成や動的な削除を実現した。また、シミュレーションの現実性を向上させるために、障害物の影響を考慮した電波伝搬を計算できるように物理層シミュレーションモジュールの拡張を行った。
MobiREALシミュレータの行動シミュレータとネットワークシミュレータとは、シミュレーション領域情報と、ノードオブジェクトと、ノードの位置や速度とをそれぞれが保持する2つの独立したシミュレーションプログラムである。行動シミュレータは、ノード移動のシミュレーションのみを行い、ネットワークシミュレータは、自身が把握するノードの位置と速度とに基づいてノードを単純に移動させ、ネットワーク上の通信のシミュレーションを行動シミュレータから独立して行う。そのため、tシミュレーション時間間隔で、周期的に、行動シミュレータによって更新されたノード位置情報や、ネットワークシミュレータによって計算されたネットワークアプリケーションからのデータ出力などを交換し、2つのシミュレータ間の整合性を保っている。一方がデータ交換時までのシミュレーションを早く終えた場合には、他方がシミュレーションを終えデータ交換が完了するまで待機する。
なお、tを可能な限り小さい値に設定すれば、行動シミュレータが決定するノードの位置や速度などがネットワークシミュレータ側にほぼ完全に反映された正確なシミュレーションが可能であるが、その分通信頻度が増加し、シミュレーション実行時間を多く要する。tの値の決定は、シミュレーションに求める精度と実行時間とのトレードオフに基づいて行う。tは、通常、1.0秒に設定されている。
なお、行動シミュレータにおける各CPEモデル走査の周期は0.2秒に設定されている。ネットワークシミュレータ(GTNetS)については、シミュレーション精度は各層の実装に依存するが、シミュレーション時刻は倍精度浮動小数点型の変数で表現されている(単位は秒)。
(5.4 アニメータ)
シミュレーション結果の視覚化は、ネットワークシミュレータにとって極めて重要である。特に、ノードの動きを可視化することは、ネットワークシステムがノードの行動に与える影響を確認するために不可欠である。そこで、MobiREALシミュレータでは、シミュレーション結果の視覚化を行なうアニメータを提供している。アニメータは、図1に示される出力部160の1つの実装例である。
アニメータは、Windows(登録商標)上で動作し、ノードやリンク、無線到達半径、パケット伝搬の様子などをアニメーションで表示できる。これらは項目ごとに表示か非表示かの選択が可能であり、パケットは種類(データパケットや制御パケットなど)別に色表示できる。また、ノードの色表示は、ネットワークシミュレータ上のネットワークアプリケーション実装内で自由に指定可能である。例えば、ネットワークアプリケーションから特定の情報を受け取ったノードを赤で、それ以外のノードを青で表示するといったことが可能となる。
本発明は、特定の移動ノードの行動モデルに応じて容易にカスタマイズ可能であり、より現実の世界に近い状況をシミュレーションすることができるシミュレータ等として有用である。

Claims (12)

  1. ユーザ定義可能な行動モデルに従って複数の移動ノードの行動をシミュレートする行動シミュレータ部と、
    該複数の移動ノードを含むネットワーク上の通信をシミュレートするネットワークシミュレータ部と
    を備え、
    該ネットワークシミュレータ部には、シミュレーションの評価対象であるネットワークアプリケーションが実装されており、
    該ネットワークシミュレータ部は、シミュレーション時間tごとに、該ネットワークアプリケーションからの出力を該行動シミュレータ部に出力するように構成されており、
    該行動シミュレータ部は、該ネットワークアプリケーションからの出力に応じて、該行動モデルに従って該複数の移動ノードのうちの少なくとも1つの行動を変化させることが可能なように構成されており、
    該ネットワークシミュレータ部は、シミュレーション時間tごとに、該少なくとも1つの移動ノードの行動の変化を該ネットワーク上の通信のシミュレーションに反映させるように構成されている、移動ノードシミュレータ。
  2. 前記行動シミュレータ部は、シミュレーション時間tごとに、前記ネットワークアプリケーションへの入力と、前記複数の移動ノードのそれぞれの位置情報および速度情報とを前記ネットワークシミュレータ部に出力するように構成されており、
    前記ネットワークシミュレータ部は、該ネットワークアプリケーションへの入力と、該複数の移動ノードのそれぞれの位置情報および速度情報とに応じて、前記ネットワーク上の通信をシミュレートするように構成されている、請求項1に記載の移動ノードシミュレータ。
  3. 前記行動モデルは、確率つきイベント発生モデル(CPEモデル)に従って記述されている、請求項1に記載の移動ノードシミュレータ。
  4. 前記行動モデルは、前記移動ノードの状態遷移を表す状態遷移図によって定義される、請求項1に記載の移動ノードシミュレータ。
  5. 前記行動シミュレータ部は、前記行動モデルと、ユーザ定義可能な領域情報であって、前記移動ノードが移動可能な領域の範囲を定義する領域情報とに従って、前記複数の移動ノードの行動をシミュレートする、請求項1に記載の移動ノードシミュレータ。
  6. 前記行動シミュレータ部は、前記行動モデルと、前記領域情報と、ユーザ定義可能な行動シナリオであって、ノードオブジェクトを生成するタイミングを少なくとも定義する行動シナリオとに従って、前記複数の移動ノードの行動をシミュレートする、請求項5に記載の移動ノードシミュレータ。
  7. 前記ネットワークは、移動ノード間通信を実現するアドホックなネットワークである、請求項1に記載の移動ノードシミュレータ。
  8. 前記ネットワークシミュレータ部によるシミュレーションの結果を出力する出力部をさらに備えた、請求項1に記載の移動ノードシミュレータ。
  9. 前記出力部は、グラフィカルユーザインターフェースを用いて、前記シミュレーション結果を表示する表示部である、請求項8に記載の移動ノードシミュレータ。
  10. 前記移動ノードが、携帯端末を持った人である、請求項1に記載の移動ノードシミュレータ。
  11. 前記移動ノードが、車両である、請求項1に記載の移動ノードシミュレータ。
  12. 移動ノードシミュレータを用いて、ネットワーク上の通信をシミュレートするシミュレーション処理をコンピュータに実行させるプログラムであって、
    該移動ノードシミュレータは、ユーザ定義可能な行動モデルに従って複数の移動ノードの行動をシミュレートする行動シミュレータ部と、該複数の移動ノードを含むネットワーク上の通信をシミュレートするネットワークシミュレータ部とを含み、
    該ネットワークシミュレータ部には、シミュレーションの評価対象であるネットワークアプリケーションが実装されており、
    該シミュレーション処理は、
    該ネットワークシミュレータ部が、シミュレーション時間tごとに、該ネットワークアプリケーションからの出力を該行動シミュレータ部に出力するステップと、
    該行動シミュレータ部が、該ネットワークアプリケーションからの出力に応じて、該行動モデルに従って該複数の移動ノードの行動のうちの少なくとも1つを変化させるステップと、
    該ネットワークシミュレータ部が、シミュレーション時間tごとに、該少なくとも1つの移動ノードの行動の変化を該ネットワーク上の通信のシミュレーションに反映させるステップと
    を包含する、プログラム。
JP2006532725A 2004-08-31 2005-08-30 移動ノードシミュレータおよびこれを実装するプログラム Active JP4534047B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004253457 2004-08-31
JP2004253457 2004-08-31
PCT/JP2005/015774 WO2006025392A1 (ja) 2004-08-31 2005-08-30 移動ノードシミュレータおよびこれを実装するプログラム

Publications (2)

Publication Number Publication Date
JPWO2006025392A1 JPWO2006025392A1 (ja) 2008-05-08
JP4534047B2 true JP4534047B2 (ja) 2010-09-01

Family

ID=36000042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006532725A Active JP4534047B2 (ja) 2004-08-31 2005-08-30 移動ノードシミュレータおよびこれを実装するプログラム

Country Status (4)

Country Link
US (1) US20090216510A1 (ja)
EP (1) EP1788537B1 (ja)
JP (1) JP4534047B2 (ja)
WO (1) WO2006025392A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015132863A1 (ja) * 2014-03-03 2015-09-11 三菱電機株式会社 シミュレーションシステム及びシミュレーション設定装置及びシミュレーション方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7916142B2 (en) * 2006-08-21 2011-03-29 Geo-Softworks, LLC Systems and methods for generating user specified information from a map
US20100057422A1 (en) * 2006-10-06 2010-03-04 Nec Corporation Communication quality evaluation method, communication quality evaluation device and communication quality evaluation program for wireless lan system
JP5018661B2 (ja) * 2008-06-12 2012-09-05 トヨタ自動車株式会社 歩行者シミュレーション装置、交通シミュレーション装置、歩行者シミュレーション方法
JP5581829B2 (ja) * 2010-06-10 2014-09-03 富士通株式会社 シミュレーション開発支援装置、シミュレーション開発支援方法およびプログラム
US9547747B2 (en) * 2011-12-08 2017-01-17 Futurewei Technologies, Inc. Distributed internet protocol network analysis model with real time response performance
KR101404904B1 (ko) * 2012-11-22 2014-06-09 건국대학교 산학협력단 객체 이동 시뮬레이션 장치 및 방법
JP5981354B2 (ja) * 2013-01-16 2016-08-31 株式会社東芝 端末移動先決定装置、シミュレーション装置、移動端末装置、端末移動先決定方法及びプログラム
US20180188057A1 (en) * 2017-01-03 2018-07-05 International Business Machines Corporation Detecting and simulating a moving event for an affected vehicle
US11563644B2 (en) 2019-01-04 2023-01-24 GoTenna, Inc. Method and apparatus for modeling mobility and dynamic connectivity on a stationary wireless testbed

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2687520B1 (fr) * 1992-02-14 1994-05-06 France Telecom Procede d'implantation de l'infrastructure d'un reseau cellulaire de communication.
JPH07283778A (ja) * 1994-02-18 1995-10-27 Nippon Telegr & Teleph Corp <Ntt> 移動通信網総合評価シミュレーション方法及び移動通信網総合評価シミュレーションシステム
US6965851B2 (en) * 2001-11-26 2005-11-15 The Boeing Company Apparatus and method for analyzing performance of a mobile network
JP2004213098A (ja) * 2002-12-26 2004-07-29 Toshiba Corp 混雑予測システム、混雑予測方法及び混雑予測プログラム
US20050004787A1 (en) * 2003-03-31 2005-01-06 Kubischta Marvin D. System and method for real time simulation
US7231330B2 (en) * 2003-07-31 2007-06-12 University Of Florida Research Foundation, Inc. Rapid mobility network emulator method and system
US7624383B2 (en) * 2004-04-30 2009-11-24 Cornell University System for and method of improving discrete event simulation using virtual machines
US8027273B2 (en) * 2008-09-24 2011-09-27 The United States Of America As Represented By The Secretary Of The Army System and method for visually creating, editing, manipulating, verifying, and/or animating desired topologies of a mobile ad hoc network and/or for generating mobility-pattern data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015132863A1 (ja) * 2014-03-03 2015-09-11 三菱電機株式会社 シミュレーションシステム及びシミュレーション設定装置及びシミュレーション方法

Also Published As

Publication number Publication date
JPWO2006025392A1 (ja) 2008-05-08
EP1788537A4 (en) 2011-06-15
US20090216510A1 (en) 2009-08-27
EP1788537B1 (en) 2013-04-24
WO2006025392A1 (ja) 2006-03-09
EP1788537A1 (en) 2007-05-23

Similar Documents

Publication Publication Date Title
JP4534047B2 (ja) 移動ノードシミュレータおよびこれを実装するプログラム
Dijkstra et al. A multi-agent cellular automata system for visualising simulated pedestrian activity
Aschenbruck et al. Bonnmotion: a mobility scenario generation and analysis tool
Pigné et al. A vehicular mobility model based on real traffic counting data
Mangharam et al. Groovenet: A hybrid simulator for vehicle-to-vehicle networks
Solmaz et al. A mobility model of theme park visitors
Maeda et al. Urban pedestrian mobility for mobile wireless network simulation
Mathew et al. Urban walkability design using virtual population simulation
Ninomiya et al. Planning approaches to constraint‐aware navigation in dynamic environments
TWI512679B (zh) 為群眾模擬環境中之行為者計算無碰撞速度之方法
Regis et al. Implementation of 3d obstacle compliant mobility models for uav networks in ns-3
Cerqueira et al. RoutesMobilityModel: easy realistic mobility simulation using external information services
US8660828B2 (en) Looking glass: a hybrid simulation system to model cascading events within a black box system
Aravind et al. Towards modeling realistic mobility for performance evaluations in MANET
Liu et al. Simulation of real-time path planning for large-scale transportation network using parallel computation
Lämmel et al. Large-scale and microscopic: a fast simulation approach for urban areas
EP2660756A1 (en) Method, apparatus and computer program product for simulating the movement of entities in an area
Wilkie et al. Participatory route planning
Roy et al. Random walk mobility
Hassan et al. On the requirements on models and simulator design for integrated VANET Simulation
Lan MOVE: a practical simulator for mobility model in VANET
Johansson Pedestrian traffic simulation platform
Amiot et al. Improved mobility modeling for indoor localization applications
Belue et al. Research and analysis of simulation-based networks through multi-objective visualization
Dijkstra et al. Towards a multi-agent system for visualizing simulated behavior within the built environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100513

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150