(57)【要約】【課題】本発明は、ＯＳのマルチタスクを使うことなく、テストシナリオを実行待ちの状態のまま実行されない擬似端末の発生を防ぐことを目的とする。【解決手段】本発明に係る端末シミュレータは、複数の擬似端末にＳＤＬ形式で作成されたテストシナリオを実行させる端末シミュレータであって、テストシナリオを、擬似端末ごとの予め定めた単位ブロックに分割するシナリオ変換部と、擬似端末のそれぞれに、予め定められた数の単位ブロックずつ、テストシナリオを実行させる実行制御部と、を備えることを特徴とする。単位ブロックは、テストシナリオを記述したチャートにおいて特定のシンボルとして表示される送信イベント及び処理イベントの組み合わせ又は受信イベント及び処理イベントの組み合わせと、単位ブロック間の情報の授受を行う分割イベントと、次の単位ブロックで実行するイベントを決定する分岐イベントと、を含む。【選択図】図２
2010178123.tif 000002
【特許請求の範囲】
【請求項１】
ＳＤＬ（Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ａｎｄ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）形式で作成されたテストシナリオを複数の擬似端末に実行させる端末シミュレータであって、
前記テストシナリオを、前記擬似端末ごとの予め定めた単位ブロックに分割するシナリオ変換部と、
前記擬似端末のそれぞれに、予め定められた数の前記単位ブロックずつ、前記テストシナリオを実行させる実行制御部と、を備えることを特徴とする端末シミュレータ。
【請求項２】
前記予め定めた単位ブロックは、最大で、テストシナリオを記述したチャートにおいて特定のシンボルとして表示される送信イベント及び処理イベントの組み合わせ又は受信イベント及び処理イベントの組み合わせと、単位ブロック間の情報の授受を行う分割イベントと、直前のイベントの実行結果によって次の単位ブロックで実行するイベントを決定する分岐イベントと、を含むことを特徴とする請求項１に記載の端末シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末シミュレータに関し、特に多数の端末装置が一斉に送受信する通信ネットワークの試験を行うための端末シミュレータに関する。
【背景技術】
【０００２】
通信ネットワークの試験においては、複数の端末装置を実際にＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で接続するなどしていた。一方で、通信ネットワークの試験を行うために、実際の端末装置を用いずにコンピュータ上に構成された擬似端末を用いる装置が提案されている（例えば、特許文献１参照。）。
【０００３】
図４は、従来のテストシナリオの一例である。擬似端末を用いる通信ネットワークの試験の場合、各擬似端末は、テストシナリオに記述された各イベント１１１〜１２９を実行する。例えば、イベント１１５の終了コマンドの取得の後、イベント１１６のＢｏｏＦｏｏ処理、イベント１１７のＦｏｏＷｏｏ処理、イベント１１８のリクエストメッセージ「ＢＹＥ」の送信を行う。そして、イベント１１９で呼出中の状態となる。このとき、各擬似端末の動作はコンピュータのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）で管理される。各擬似端末の動作はＯＳのマルチタスクで処理される。
【０００４】
図５に、従来の擬似端末の動作シーケンスの一例を示す。ＯＳのマルチタスクで処理を行う場合、テストシナリオで記載されたとおりに各イベントを順に実行していく。このため、擬似端末１１がテストシナリオＡの実行を終了した後に、擬似端末２１がテストシナリオＢを実行し、擬似端末３１がテストシナリオＣを実行する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１７４７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、擬似端末が１万台を超えるような場合、ＯＳのマルチタスクでは、各擬似端末の動作の並列処理は困難である。
【０００７】
また、ＯＳのマルチタスクを使用すると、複数の擬似端末に均等にＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）占有時間を割り当てるのが困難である。このため、テストシナリオを実行した擬似端末がある一方で、テストシナリオを全く実行することなく待ち状態となる擬似端末が発生する。この場合、シグナリングにおけるタイムアウトが生じ、端末シミュレータそのものが通信ネットワークの不具合を発生させてしまう可能性がある。
【０００８】
そこで、本発明は、ＯＳのマルチタスクを使うことなく、テストシナリオを実行待ちの状態のまま実行されない擬似端末の発生を防ぐことを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る端末シミュレータは、各擬似端末の待ち状態の継続を防止することを特徴とする。
【００１０】
具体的には、本発明に係る端末シミュレータは、ＳＤＬ（Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ａｎｄ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）形式で作成されたテストシナリオを複数の擬似端末に実行させる端末シミュレータであって、前記テストシナリオを、前記擬似端末ごとの予め定めた単位ブロックに分割するシナリオ変換部と、前記擬似端末のそれぞれに、予め定められた数の前記単位ブロックずつ、前記テストシナリオを実行させる実行制御部と、を備えることを特徴とする。
【００１１】
擬似端末のそれぞれに、単位ブロックずつ、テストシナリオを実行させるので、１つの擬似端末のテストシナリオの実行のためにＣＰＵを占有する時間が短くなる。このため、多くの擬似端末の並列処理を行うことができるとともに、シナリオの実行に付随する処理の割り込みが容易になる。これにより、ＯＳのマルチタスクを使うことなく、テストシナリオを実行待ちの状態のまま実行されない擬似端末の発生を防ぐことができる。
【００１２】
本発明に係る端末シミュレータでは、前記予め定めた単位ブロックは、最大で、テストシナリオを記述したチャートにおいて特定のシンボルとして表示される送信イベント及び処理イベントの組み合わせ又は受信イベント及び処理イベントの組み合わせと、単位ブロック間の情報の授受を行う分割イベントと、直前のイベントの実行結果によって次の単位ブロックで実行するイベントを決定する分岐イベントと、を含むことが好ましい。
送信イベント又は受信イベントとこれに付随する処理イベントの後では、一旦アイドル状態とすることができる。そして、送信イベント又は受信イベントとこれに付随する処理イベントの後では状態遷移の待ち時間が発生する場合がある。そのため、テストシナリオ実行時における待ち時間に、他の擬似端末のテストシナリオを実行させることができる。これによって、ＣＰＵのリソースを効率的に稼動させることができる。
【発明の効果】
【００１３】
本発明によれば、ＯＳのマルチタスクを使うことなく、テストシナリオを実行待ちの状態のまま実行されない擬似端末の発生を防ぐことができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る擬似ネットワーク装置の構成概略図である。
【図２】図４に示す従来のテストシナリオをシナリオ変換部によって変換した後のテストシナリオの一例である。
【図３】本実施形態に係る擬似端末の動作シーケンスの一例を示す。
【図４】従来のテストシナリオの一例である。
【図５】従来の擬似端末の動作シーケンスの一例を示す。
【発明を実施するための形態】
【００１５】
添付の図面を参照して本発明の実施の形態を説明する。以下に説明する実施の形態は本発明の構成の例であり、本発明は、以下の実施の形態に制限されるものではない。
【００１６】
図１は、本実施形態に係る端末シミュレータの構成概略図である。本実施形態に係る擬似ネットワーク装置は、擬似ＬＡＮ部４１と、擬似ＷＡＮ部４２と、シナリオ作成部９０と、シナリオ解析部９１と、実行制御部９２と、測定部９３と、を備える。擬似ＬＡＮ部４１及び擬似ＷＡＮ部４２は、試験対象である共通のネットワーク装置１０と接続される。
【００１７】
シナリオ作成部９０は、ＳＤＬ形式のテストシナリオを作成する。ＳＤＬとは、Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ａｎｄ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅの略で、図形表現の言語であり、通信プロトコルの設計に使われる仕様記述言語のことである。この言語を用いて、例えば、図４に示すテストシナリオを作成する。予め作成されているテストシナリオを取得してもよい。シナリオ解析部９１は、シナリオ変換部として、シナリオ作成部９０の作成したテストシナリオを、擬似端末ごとの予め定めた単位ブロックに分割した新たなシナリオに変換する。また、実行制御部９２でのテストシナリオの実行が可能なように、擬似ＬＡＮ部４１や擬似ＷＡＮ部４２などの設定を行う。実行制御部９２は、シナリオ解析部９１によって設定されたシナリオに従って、擬似端末のそれぞれに、予め定められた数の単位ブロックずつ、テストシナリオを実行させる。これにより、擬似ＬＡＮ部４１及び擬似ＷＡＮ部４２の擬似端末１１、１２、２１、２２、３１、３２、３３、３４に、パケットを送受信させ、ＬＡＮ上、ＷＡＮ上、又はＬＡＮ及びＷＡＮ上を構成するＳＤＬ形式で作成されたテストシナリオを複数の擬似端末に実行させることができる。
【００１８】
図２は、図４に示す従来のテストシナリオをシナリオ変換部によって変換した後のテストシナリオの一例である。変換後のテストシナリオにおいて、１つの列が１つの単位ブロックとして扱われる。単位ブロックは、テストシナリオが効率よく実行されるよう、最大で、１つの送信イベント又は受信イベントと、１つの処理イベントと、分割イベントと、分岐イベントと、を含むようになっている。送信イベント又は受信イベントに付随する処理イベントがある場合は、処理イベントと共通の単位ブロックとする。そして、単位ブロックを実行するたびに、一旦ＣＰＵを開放する。
【００１９】
ここで、送信イベント、受信イベント及び処理イベントは、いずれも、テストシナリオを記述したチャートにおいて特定のシンボルとして表示されるイベントである。分岐イベントは、直前のイベントの内容に応じて次のイベントを決定する。特に、本実施形態では、分岐イベントは、直前のイベントの実行結果によって次の単位ブロックで実行するイベントを決定する。例えば、受信メッセージパラメータのパラメータの内容により処理を分岐する。分割イベントは、シナリオ変換部により変換された変換後のテストシナリオに自動的に挿入されるものであり、単位ブロック間の情報の授受を行う。分割イベントを実行することで、各単位ブロックを擬似的に連続実行することができる。
【００２０】
イベント２１２からイベント２１５までの第１の単位ブロックは、処理イベントであるイベント２１３と、分割イベントであるイベント２１４を含む。イベント２１３では、ＢｏｏＦｏｏ処理を実行する。そして、イベント２１５で、アイドル状態となる。このように、第１の単位ブロックでは、１つの処理イベントを実行する。
【００２１】
イベント２１６からイベント２１９までの第２の単位ブロックは、分割イベントであるイベント２１６と、処理イベントであるイベント２１７と、送信イベントであるイベント２１８を含む。イベント２１７ではＦｏｏＷｏｏ処理を実行し、イベント２１８の送信イベントではリクエストメッセージ「ＢＹＥ」を送信する。そして、イベント２１９で、呼出中の状態となる。このように、第２の単位ブロックでは、１つの処理イベントと、１つの送信イベントを実行する。
【００２２】
イベント２２０からイベント２２６までの第３の単位ブロックは、受信イベントであるイベント２２０と、処理イベントであるイベント２２１と、分岐イベントであるイベント２２２と、分割イベントであるイベント２２３及び２２５を含む。イベント２２０ではリクエストメッセージ「ＩＮＶＩＴＥ」を受信し、イベント２２１ではＨｏｇｅ  Ｈｏｇｅ処理を実行する。そして、イベント２２４又は２２６で、アイドル状態となる。このように、第３の単位ブロックでは、１つの受信イベントと、１つの処理イベントを実行する。
【００２３】
イベント２２７からイベント２２９までの第４の単位ブロックは、分割イベントであるイベント２２７と、送信イベントであるイベント２２８を含む。イベント２２８ではレスポンスメッセージ「２００ＯＫ」を送信する。そして、イベント２２９で、テストシナリオを終了する。このように、第４の単位ブロックでは、１つの送信イベントを実行する。
【００２４】
イベント２３０からイベント２３３までの第５の単位ブロックは、分割イベントであるイベント２３０と、送信イベントであるイベント２３１を含む。イベント２３１では、レスポンスメッセージ「４３３エラー」を送信する。イベント２３２では、テストシナリオを記述したチャートにおいて特定のシンボルとしては表示されない任意処理を行う。任意処理は、例えば、イベント２３１で４３３エラーを受信したパケットのキャプチャーである。そして、イベント２３３で、アイドル状態となる。このように、第５の単位ブロックでは、１つの送信イベントを実行する。
【００２５】
イベント２３４からイベント２３５までの第６の単位ブロックでは、処理イベントであるイベント２３４を含む。イベント２３４では、タイマー処理を実行する。そして、イベント２３５で、アイドル状態となる。このように、第６の単位ブロックでは、１つの処理イベントを実行する。
【００２６】
上記のように、本実施形態に係るテストシナリオでは、図２に示す従来のテストシナリオで連続して実行していたＢｏｏＦｏｏ処理、ＦｏｏＷｏｏ処理及びリクエストメッセージ「ＢＹＥ」の送信を、それぞれ個別の単位ブロックに分割している。これにより、擬似端末の数が多数の場合であっても、各擬似端末の並列処理が可能になる。
【００２７】
ここで、本実施形態では、テストシナリオを単位ブロックに分割するための分割イベントを実行する。例えば、イベント２１４の分割イベントでは、直前のイベント２１３の次に実行するイベント２１７に必要な情報を分割情報αとして出力する。そして、他の単位ブロックの分割イベントであるイベント２１６で、イベント２１４で出力した分割情報αを取得する。イベント２１７では、イベント２１６で取得した分割情報αを用いてＦｏｏＷｏｏ処理を行う。
【００２８】
イベント２２０からイベント２２４または２２６の第３の単位ブロックでは、イベント２２２で実行する分岐イベントの結果によって、実行する分割イベントが異なる。イベント２２２では、イベント２２１でのＨｏｇｅ  Ｈｏｇｅ処理の後のレスポンスメッセージの内容を判定し、Ｈｏｇｅ  Ｈｏｇｅ処理の結果が正常であればイベント２２３への移行を決定し、イベント２２１のＨｏｇｅ  Ｈｏｇｅ処理の結果が異常であればイベント２２５への移行を決定する。イベント２２３の分割イベントでは、次に実行するイベント２２８に必要な分割情報βを出力する。イベント２２５の分割イベントでは、次に実行するイベント２３１に必要な分割情報γを出力する。
【００２９】
イベント２２３の分割イベントを実行した場合、次の単位ブロックの実行は、イベント２２７の分割イベントから開始される。このとき、イベント２２７において、イベント２２３で出力した分割情報βを取得する。イベント２２５の分割イベントを実行した場合、次の単位ブロックの実行は、イベント２３０の分割イベントから開始される。このとき、イベント２３０において、イベント２２５で出力した分割情報γを取得する。
【００３０】
図３は、本実施形態に係る擬似端末の動作シーケンスの一例を示す。擬似端末１１のシナリオＡは単位ブロックａ１、ａ２、ａ３及びａ４に分割されている。擬似端末２１のシナリオＢは単位ブロックｂ１及びｂ２に分割されている。擬似端末３１のシナリオＣは単位ブロックｃ１、ｃ２及びｃ３に分割されている。そして、擬似端末１１、２１、３１のそれぞれに、単位ブロックずつテストシナリオを実行させる。このため、単位ブロックａ１、ｂ１、ｃ１、ａ２、ｂ２、ｃ２、ａ３、ｃ３、ａ４の順にテストシナリオが実行される。これにより、各擬似端末１１、２１、３１の待ち状態の継続を防止することができる。
【００３１】
なお、本実施形態では、理解の容易のため擬似端末を省略したが、擬似端末の数が多数の場合であっても、本実施形態に係る構成とすることで、各擬似端末の待ち状態の継続を防止することができる。
また、図３では、各擬似端末が実行する単位ブロックの数が１つずつの場合を示したが、これに限定されるものではない。例えば、各擬似端末は、２以上の単位ブロックずつ実行してもよい。
【００３２】
以下、本実施形態に係る端末シミュレータの全体構成について説明する。
擬似ＬＡＮ部４１は、設定されたＩＰアドレスを有する複数の擬似端末１１、１２、２１、２２で構成される。擬似端末１１、１２、２１、２２は、互いにパケットを送受信する。擬似ＷＡＮ部４２は、複数の擬似端末３１、３２、３３、３４及びルータ５１で構成される。ルータ５１は、擬似端末３１、３２、３３、３４同士を接続する。擬似端末３１、３２、３３、３４は、設定されたＩＰアドレスを有し、擬似ＬＡＮ部４１の擬似端末１１、１２、２１、２２との間でパケットを送受信する。
【００３３】
ルータ５１は、ＰＰＰｏＥサーバ、マルチキャストＩＧＭＰ／ＭＬＤ又はＤＨＣＰサーバなどの各種サーバとして機能してもよい。これにより、ネットワーク装置１０のアドレス解決、ＮＡＴ／ＮＡＰＴ機能、ファイアウォール機能、マルチキャストスヌーピング機能などの試験を行うことができる。
【００３４】
擬似ＷＡＮ部４２は、端末データベース５３及び端末登録サーバ５２を備えることが好ましい。例えば、端末データベース５３は、擬似ＷＡＮ部４２の擬似端末３１、３２、３３、３４に設定されているＩＰアドレスを格納する。端末登録サーバ５２は、擬似ＬＡＮ部４１の擬似端末１１、１２、２１、２２からの登録要求があった場合に、当該擬似端末１１、１２、２１、２２のＩＰアドレスを端末データベース５３に登録する。これにより、パケットを送受信する通信ネットワークの試験を行うことができる。
【００３５】
例えば、端末データベース５３は、擬似端末１１、１２、２１、２２、３１、３２、３３、３４のＩＰアドレスを格納する。そして、端末データベース５３をロケーションサーバとして機能させ、端末登録サーバ５２をレジストラサーバなどのＳＩＰサーバとして機能させることで、ＳＩＰプロトコルの適合性の試験を、ＷＡＮを含めて行うことができる。
【００３６】
擬似ＷＡＮ部４２は、接続制御サーバ５４を備えることが好ましい。接続制御サーバ５４は、ルータ５１の受信したパケットに、シナリオで定められた処理を施してルータ５１に戻す。例えば、擬似ＬＡＮ部４１と擬似ＷＡＮ部４２との通信において中継する可能性の高い中継サーバが予め分かっている場合には、その中継サーバのＩＰアドレスなどの通信条件の設定を接続制御サーバ５４に行う。接続制御サーバ５４は、擬似ＷＡＮ部４２からルータ５１に送信されたパケットをシナリオで定められた中継サーバを経由した状態でルータ５１に戻す。こうすることで、実際のＷＡＮを介したパケットと同様のパケットを、ネットワーク装置１０に受信させることができる。これにより、実際に近い環境を、擬似ＬＡＮ部４１と擬似ＷＡＮ部４２との通信において再現することができる。
【００３７】
実行制御部９２は、設定されたシナリオに従って、擬似ＬＡＮ部４１及び擬似ＷＡＮ部４２の擬似端末１１、１２、２１、２２、３１、３２、３３、３４に、パケットを送受信させる。例えば、シナリオに従って、擬似端末１１、１２、２１、２２内で、互いにパケットの送受信を行わせる。または、擬似ＬＡＮ部４１の擬似端末１１、１２、２１、２２と擬似ＷＡＮ部４２の擬似端末３１、３２、３３、３４との間で、互いにパケットの送受信を行わせる。シナリオでは、各擬似端末の動作は、コマンドに対する返信の内容に応じて異なる。そのため、実行制御部９２は、各擬似端末が受信したパケットから情報を抽出して、すべての擬似端末の進捗管理を行う。
【００３８】
シナリオ解析部９１は、設定されたシナリオを解析し、ハードウェアが実行可能なコードに変換するとともに、擬似端末１１、１２、２１、２２、３１、３２、３３、３４ごとの通信条件の設定を行う。擬似ＬＡＮ部４１及び擬似ＷＡＮ部４２の両方のシナリオ及び通信条件の設定を共通のシナリオ解析部９１で行うことができるので、試験を行う通信ネットワークの全体での設定を容易に行うことができる。
【００３９】
シナリオ作成部９０は、擬似ＬＡＮ部４１の擬似端末間、又は、擬似ＬＡＮ部４１と擬似ＷＡＮ部４２の間で、各種プロトコルを用いた通信の設定の作成を行う。例えば、ＳＩＰを用いてセッションを開始、変更、又は終了する際の設定の作成を行う。このとき、リクエストメッセージやレスポンスメッセージに対する各擬似端末の動作の設定を作成することができる。
【００４０】
擬似ＬＡＮ部４１及び擬似ＷＡＮ部４２の擬似端末は、受信したパケットを収集し、当該パケットの解析を行う。ここで、各擬似端末の行うパケットの解析は、例えば、ＯＳＩ参照モデルのセッション層のコマンドに対する返信の内容の判定である。これにより、擬似端末１１、１２、２１、２２、３１、３２、３３、３４間で、ＳＩＰを用いて互いにパケットを送受信する通信ネットワークの試験を行うことができる。
【００４１】
測定部９３は、擬似ＬＡＮ部４１及び擬似ＷＡＮ部４２の擬似端末が送受信したパケットを収集し、当該パケットの解析を行う。ここで、測定部９３の行うパケットの解析には、パケットそのものが正しいか否か、パケットが正しく送受信されたか否か、通信ネットワークとして機能しているか否かを含む。例えば、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）フレーム、ＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）、ＩＰヘッダのチェックサム、又は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）シーケンス番号、パケットの遅延時間、ＢＥＲ（Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ）、パケットロス、ＡＰＲ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）によるアドレス解決、ｐｉｎｇコマンドによる接続確認、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）によるアドレス割当てがある。
【産業上の利用可能性】
【００４２】
本発明は、ホームゲートウェイなどの通信ネットワーク装置の試験に用いることができる。
【符号の説明】
【００４３】
１０：ネットワーク装置
１１、１２、２１、２２、３１、３２、３３、３４：擬似端末
４１：擬似ＬＡＮ部
４２：擬似ＷＡＮ部
５１：ルータ
５２：端末登録サーバ
５３：端末データベース
５４：接続制御サーバ
９０：シナリオ作成部
９１：シナリオ解析部
９２：実行制御部
９３：測定部
１１１〜１２９、２１１〜２３５：イベント
【図１】
2010178123.tif 000003
【図２】
2010178123.tif 000004
【図３】
2010178123.tif 000005
【図４】
2010178123.tif 000006
【図５】
2010178123.tif 000007