(57)【要約】【課題】デバイスの通信状態をより容易に評価する。【解決手段】評価ＰＣ４０は、プリンタ２０及びユーザＰＣ３０の通信内容を含むパケットを取得し、取得したパケットの内容を用いて、テスト対象としての評価ＰＣ４０とユーザＰＣ３０との間の通信を実行する際に実行する第１評価ソースコード５４を作成する。第１評価ソースコード５４を実行し評価ＰＣ４０とユーザＰＣ３０との間で通信を行った実行結果として実行の可否を示す総合結果５７及びテスト概要５８を作成すると共に、このときの通信内容に基づいて第２評価ソースコード５５を作成し、複数の評価ソースコード間の差分を差分情報５９として出力する。このように、実際に通信したパケットを利用してデバイスの通信状態を評価する。また、差分情報５９を利用して評価条件を変更した評価ソースコードを作成してもよい。【選択図】図１
2010128559.tif 000002
【特許請求の範囲】
【請求項１】
デバイスの通信状態を評価する情報処理方法であって、
（ａ）複数のデバイス間の通信内容を含む通信データを取得するステップと、
（ｂ）テスト対象のデバイスと他のデバイスとの間の通信を実行する際に実行される第１のテスト用プログラムを前記ステップ（ａ）で取得した通信データに含まれる通信内容に基づいて作成するステップと、
（ｃ）前記ステップ（ｂ）で作成した第１テスト用プログラムを実行し前記テスト対象デバイスと他のデバイスとの間で通信を行った実行結果を作成するステップと、
を含む情報処理方法。
【請求項２】
請求項１に記載の情報処理方法であって、
（ｄ）前記ステップ（ｂ）で作成した第１テスト用プログラムを実行しているときのテスト対象のデバイスと他のデバイスとの間の通信内容を含む通信データを取得するステップと、
（ｅ）前記テスト対象デバイスと他のデバイスとの間の通信を実行する際に実行される第２テスト用プログラムを前記ステップ（ｄ）で取得した通信データに含まれる通信内容に基づいて作成するステップと、
（ｆ）前記ステップ（ｂ）で作成した第１テスト用プログラムと前記ステップ（ｅ）で作成した第２テスト用プログラムとの間の少なくとも一部の内容を比較した差分情報を出力するステップと、
を含む情報処理方法。
【請求項３】
請求項２に記載の情報処理方法であって、
（ｇ）前記テスト対象デバイスと他のデバイスとの間の通信を実行する際に実行される第３テスト用プログラムを前記差分情報を用いて評価条件から所定のテスト条件を除いて作成するステップ、を含む、情報処理方法。
【請求項４】
前記ステップ（ａ）では、前記テスト対象デバイスとは異なるデバイスと他のデバイスとの間の通信内容を含む通信データを取得し、
前記ステップ（ｂ）では、前記ステップ（ａ）で取得した前記テスト対象デバイスとは異なるデバイスと他のデバイスとの間の通信内容に基づいて前記第１テスト用プログラムを作成し、
前記ステップ（ｃ）では、前記ステップ（ｂ）で作成した第１テスト用プログラムを実行しテスト対象のデバイスと他のデバイスとの間で通信を行った実行結果を作成する、請求項１〜３のいずれか１項に記載の情報処理方法。
【請求項５】
前記ステップ（ａ）では、前記テスト対象デバイスと他のデバイスとの間の通信内容を含む通信データを取得する、請求項１〜３のいずれか１項に記載の情報処理方法。
【請求項６】
請求項１に記載の情報処理方法であって、
前記ステップ（ａ）及び前記ステップ（ｂ）を繰り返し実行し前記第１テスト用プログラムを複数作成し、
（ｈ）前記ステップ（ｂ）で作成した複数の第１テスト用プログラムの間の少なくとも一部の内容を比較し該複数の第１テスト用プログラムの間で常時一致しない評価条件及び常時変化する評価条件のうち少なくとも１以上を含む差分情報を出力するステップ、を含む情報処理方法。
【請求項７】
請求項６に記載の情報処理方法であって、
（ｉ）前記テスト対象デバイスと他のデバイスとの間の通信を実行する際に実行される第４テスト用プログラムを前記差分情報を用いて評価対象から所定のテスト条件を除いて作成するステップ、を含む、情報処理方法。
【請求項８】
前記ステップ（ｃ）では、前記ステップ（ｂ）で作成した第１テスト用プログラムを実行しているときのテスト対象のデバイスと他のデバイスとの間の通信内容を含む通信データを取得し、該取得した通信データに含まれる通信内容が実行できたか否かの実行結果を作成し、該作成した実行結果を視認可能な態様で出力する、請求項１〜７のいずれか１項に記載の情報処理方法。
【請求項９】
前記ステップ（ｂ）では、前記通信データに含まれる通信内容が再現される内容のテスト用プログラムを作成する、請求項１〜８のいずれか１項に記載の情報処理方法。
【請求項１０】
前記ステップ（ｂ）では、前記テスト対象デバイスと他のデバイスとの間の通信をテストする評価条件を記載した評価条件領域と該テストに用いない評価条件を記載した参考情報領域とを含む第１テスト用プログラムを作成する、請求項１〜９のいずれか１項に記載の情報処理方法。
【請求項１１】
請求項１〜１０のいずれか１項に記載の情報処理方法の各ステップを１又は複数のコンピュータに実現させるためのプログラム。
【請求項１２】
デバイスの通信状態を評価する情報処理装置であって、
複数のデバイス間の通信内容を含む通信データを取得する通信取得手段と、
テスト対象のデバイスと他のデバイスとの間の通信を実行する際に実行される第１のテスト用プログラムを前記取得した通信データに含まれる通信内容に基づいて作成するプログラム作成手段と、
前記作成した第１テスト用プログラムを実行し前記テスト対象デバイスと他のデバイスとの間で通信を行った実行結果を作成する結果作成手段と、
を備えた情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、そのプログラム及び情報処理装置に関し、より詳しくは、デバイスの通信状態を評価する情報処理方法、そのプログラム及び情報処理装置に関する。
【背景技術】
【０００２】
従来、情報処理方法としては、シリアル形式で配列され、シミュレートされる各プロトコル層に対応するデータ中において、下位レベル層を表すデータが上位レベル層を表すデータの前に配置されるデータ構造を有するパケットを利用することにより、ネットワークプロトコル装置を種々の局面からテストするものが提案されている（例えば、特許文献１参照）。
【特許文献１】特開平９−３２６７９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、この特許文献１に記載された情報処理方法では、ネットワークプロトコル層やトランスポート層など異なる層域でもパケットを利用可能となるが、パケットは例えばバイナリデータや特別なフォーマットで記述されるため、その通信内容の解析が容易ではなかった。
【０００４】
本発明は、このような課題に鑑みなされたものであり、デバイスの通信状態をより容易に評価することができる情報処理方法、そのプログラム及び情報処理装置を提供することを主目的とする。
【課題を解決するための手段】
【０００５】
本発明は、上述の目的を達成するために以下の手段を採った。
【０００６】
本発明の情報処理方法は、
デバイスの通信状態を評価する情報処理方法であって、
（ａ）複数のデバイス間の通信内容を含む通信データを取得するステップと、
（ｂ）テスト対象のデバイスと他のデバイスとの間の通信を実行する際に実行される第１のテスト用プログラムを前記ステップ（ａ）で取得した通信データに含まれる通信内容に基づいて作成するステップと、
（ｃ）前記ステップ（ｂ）で作成した第１テスト用プログラムを実行し前記テスト対象デバイスと他のデバイスとの間で通信を行った実行結果を作成するステップと、
を含むものである。
【０００７】
この情報処理方法は、複数のデバイス間の通信内容を含む通信データを取得し、テスト対象のデバイスと他のデバイスとの間の通信を実行する際に実行される第１のテスト用プログラムを、この取得した通信データに含まれる通信内容に基づいて作成し、この作成した第１テスト用プログラムを実行しテスト対象デバイスと他のデバイスとの間で通信を行った実行結果を作成することにより、デバイスの通信状態を評価する。このように、実際に通信した通信データを利用してテスト用プログラムを作成し、これを利用してテスト対象デバイスの通信テストを実行する。このため、例えば、より通信テストを自動化可能であり、通信を行った実行結果を用いてテスト対象のデバイスと他のデバイスとの間の通信を適正化可能であり、新規デバイスの開発にこのテスト用プログラムを利用可能である。したがって、デバイスの通信状態をより容易に評価することができる。ここで、この情報処理方法は、テスト対象のデバイスと他のデバイスとの間の通信データを取得できるものであれば特に限定されず、前記テスト対象デバイスで実行されるものとしてもよいし、該テスト対象デバイスと通信する他のデバイスで実行されるものとしてもよいし、該テスト対象デバイスと通信しない他のデバイスで実行されるものとしてもよいし、これらの代理としての第三のデバイスで実行されるものとしてもよい。また、テスト用プログラムには、通信内容に基づいて定められた評価条件が含まれているものとしてもよい。
【０００８】
本発明の情報処理方法は、（ｄ）前記ステップ（ｂ）で作成した第１テスト用プログラムを実行しているときのテスト対象のデバイスと他のデバイスとの間の通信内容を含む通信データを取得するステップと、（ｅ）前記テスト対象デバイスと他のデバイスとの間の通信を実行する際に実行される第２テスト用プログラムを前記ステップ（ｄ）で取得した通信データに含まれる通信内容に基づいて作成するステップと、（ｆ）前記ステップ（ｂ）で作成した第１テスト用プログラムと前記ステップ（ｅ）で作成した第２テスト用プログラムとの間の少なくとも一部の内容を比較した差分情報を出力するステップと、を含むものとしてもよい。こうすれば、差分情報を用いて第１テスト用プログラムでの通信内容と、第２テスト用プログラムでの通信内容との違いをより容易に評価することができる。例えば、第１テスト用プログラムを旧デバイスで作成し、第２テスト用プログラムを新デバイスで作成した場合には、新デバイスでの通信状態の違いを差分情報によって容易に把握可能であるため、デバイス開発がより容易となる。このとき、前記ステップ（ｆ）では、前記第１及び第２テスト用プログラムの間の少なくとも一部の内容を比較し該第１及び第２テスト用プログラムの間で一致しない評価条件及び変化した評価条件のうち少なくとも１以上を含む差分情報を出力するものとしてもよい。このとき、（ｇ）前記テスト対象デバイスと他のデバイスとの間の通信を実行する際に実行される第３テスト用プログラムを前記差分情報を用いて評価条件から所定のテスト条件を除いて作成するステップ、を含むものとしてもよい。こうすれば、差分情報を用いて新たなテスト用プログラムを作成可能であるため、通信状態を評価する手法をより多様化することができる。このとき、第１及び第２テスト用プログラムの間で一致しないテスト条件を評価条件から除いて第３テスト用プログラムを作成するものとしてもよい。
【０００９】
本発明の情報処理方法において、前記ステップ（ａ）では、前記テスト対象デバイスとは異なるデバイスと他のデバイスとの間の通信内容を含む通信データを取得し、前記ステップ（ｂ）では、前記ステップ（ａ）で取得した前記テスト対象デバイスとは異なるデバイスと他のデバイスとの間の通信内容に基づいて前記第１テスト用プログラムを作成し、前記ステップ（ｃ）では、前記ステップ（ｂ）で作成した第１テスト用プログラムを実行しテスト対象のデバイスと他のデバイスとの間で通信を行った実行結果を作成するものとしてもよい。こうすれば、テスト対象デバイスとは異なるデバイスとの通信内容とテスト対象デバイスとの通信内容との違いをより容易に評価することができる。
【００１０】
本発明の情報処理方法において前記ステップ（ａ）では、前記テスト対象デバイスと他のデバイスとの間の通信内容を含む通信データを取得するものとしてもよい。こうすれば、テスト対象デバイスの通信内容をテスト用プログラムにより再現することができる。
【００１１】
あるいは、本発明の情報処理方法は、前記ステップ（ａ）及び前記ステップ（ｂ）を繰り返し実行し前記第１テスト用プログラムを複数作成し、（ｈ）前記ステップ（ｂ）で作成した複数の第１テスト用プログラムの間の少なくとも一部の内容を比較し該複数の第１テスト用プログラムの間で常時一致しない評価条件及び常時変化する評価条件のうち少なくとも１以上を含む差分情報を出力するステップ、を含むものとしてもよい。こうすれば、繰り返し行われる通信内容についての評価をより容易に行うことができる。このとき、本発明の情報処理方法は、（ｉ）前記テスト対象デバイスと他のデバイスとの間の通信を実行する際に実行される第４テスト用プログラムを前記差分情報を用いて評価対象から所定のテスト条件を除いて作成するステップ、を含むものとしてもよい。繰り返し通信することにより、例えば、常時一致しない評価条件や常時変化する評価条件などを抽出することが可能であるため、より評価したい通信内容に絞ったテスト用プログラムを作成して、デバイスの通信状態をより容易に評価することができる。
【００１２】
本発明の情報処理方法において、前記ステップ（ｃ）では、前記ステップ（ｂ）で作成した第１テスト用プログラムを実行しているときのテスト対象のデバイスと他のデバイスとの間の通信内容を含む通信データを取得し、該取得した通信データに含まれる通信内容が実行できたか否かの実行結果を作成し、該作成した実行結果を視認可能な態様で出力するものとしてもよい。こうすれば、デバイス間の通信が実行できたか否かの実行結果を視認することができる。
【００１３】
本発明の情報処理方法において、前記ステップ（ｂ）では、前記通信データに含まれる通信内容が再現される内容のテスト用プログラムを作成するものとしてもよい。こうすれば、デバイスの通信状態が正常に再現されているか否かをより容易に評価することができる。
【００１４】
本発明の情報処理方法において、前記ステップ（ｂ）では、前記テスト対象デバイスと他のデバイスとの間の通信をテストする評価条件を記載した評価条件領域と該テストに用いない評価条件を記載した参考情報領域とを含む第１テスト用プログラムを作成するものとしてもよい。例えば、通信データから取得した通信内容には、評価したい評価条件以外の条件も含まれてしまうことがあるが、こうすれば、評価に用いない条件を参考情報領域へ移動させればよいため、評価した結果をテスト用プログラムへより反映しやすい。
【００１５】
本発明のプログラムは、上述した情報処理方法の各ステップを１又は複数のコンピュータに実現させるためのものである。このプログラムは、コンピュータが読み取り可能な記録媒体（例えばハードディスク、ＲＯＭ、ＦＤ、ＣＤ、ＤＶＤなど）に記録されていてもよいし、伝送媒体（インターネットやＬＡＮなどの通信網）を介してあるコンピュータから別のコンピュータへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを一つのコンピュータに実行させるか又は複数のコンピュータに各ステップを分担して実行させれば、上述した情報処理方法の各ステップが実行されるため、この情報処理方法と同様の作用効果が得られる。
【００１６】
本発明の情報処理装置は、
デバイスの通信状態を評価する情報処理装置であって、
複数のデバイス間の通信内容を含む通信データを取得する通信取得手段と、
テスト対象のデバイスと他のデバイスとの間の通信を実行する際に実行される第１のテスト用プログラムを前記取得した通信データに含まれる通信内容に基づいて作成するプログラム作成手段と、
前記作成した第１テスト用プログラムを実行し前記テスト対象デバイスと他のデバイスとの間で通信を行った実行結果を作成する結果作成手段と、
を備えたものである。
【００１７】
この情報処理装置は、上述した情報処理方法と同様に、実際に通信した通信データを利用して第１テスト用プログラムを作成し、これを利用してテスト対象デバイスのテストを実行する。このため、デバイスの通信状態をより容易に評価することができる。なお、この情報処理装置において、上述した情報処理方法の種々のステップを実行する態様を採用してもよいし、また、上述した情報処理方法の各機能を実現するような構成を追加してもよい。
【００１８】
例えば、本発明の情報処理装置において、前記通信取得手段は、前記作成した第１テスト用プログラムを実行しているときのテスト対象のデバイスと他のデバイスとの間の通信内容を含む通信データを取得し、前記プログラム作成手段は、前記テスト対象デバイスと他のデバイスとの間の通信を実行する際に実行される第２テスト用プログラムを前記第１テスト用プログラムを実行しているときに取得した通信データに含まれる通信内容に基づいて作成し、前記作成した第１テスト用プログラムと前記作成した第２テスト用プログラムとの間の少なくとも一部の内容を比較した差分情報を出力する差分情報出力手段、を備えたものとしてもよい。このとき、前記プログラム作成手段は、前記テスト対象デバイスと他のデバイスとの間の通信を実行する際に実行される第３テスト用プログラムを前記差分情報を用いて評価条件から所定のテスト条件を除いて作成するものとしてもよい。本発明の情報処理装置において、前記通信取得手段は、前記テスト対象デバイスとは異なるデバイスと他のデバイスとの間の通信内容を含む通信データを取得し、前記プログラム作成手段は、前記取得した前記テスト対象デバイスとは異なるデバイスと他のデバイスとの間の通信内容に基づいて前記第１テスト用プログラムを作成し、前記結果作成手段は、前記作成した第１テスト用プログラムを実行しテスト対象のデバイスと他のデバイスとの間で通信を行った実行結果を作成するものとしてもよい。あるいは、本発明の情報処理装置において、前記通信取得手段は、前記テスト対象デバイスと他のデバイスとの間の通信内容を含む通信データを取得するものとしてもよい。このとき、前記通信取得手段及びプログラム作成手段は、複数のデバイス間の通信内容を含む通信データを取得し、テスト対象のデバイスと他のデバイスとの間の通信を実行する第１のテスト用プログラムを前記取得した通信データに含まれる通信内容に基づいて作成する処理を繰り返し実行し前記第１テスト用プログラムを複数作成し、前記作成した複数の第１テスト用プログラムの間の少なくとも一部の内容を比較し該複数の第１テスト用プログラムの間で常時一致しない評価条件及び常時変化する評価条件のうち少なくとも１以上を含む差分情報を出力する差分情報出力手段、を備えたものとしてもよい。このとき、前記プログラム作成手段は、前記テスト対象のデバイスと他のデバイスとの間の通信を実行する際に実行される第４テスト用プログラムを前記差分情報を用いて評価対象から所定のテスト条件を除いて作成するものとしてもよい。本発明の情報処理装置において、前記結果作成手段は、前記作成した第１テスト用プログラムを実行しているときのテスト対象のデバイスと他のデバイスとの間の通信内容を含む通信データを取得し、前記通信取得手段が取得した通信データに含まれる通信内容が実行できたか否かの実行結果を作成し、該作成した実行結果を視認可能な態様で出力するものとしてもよい。本発明の情報処理装置において、前記プログラム作成手段は、前記通信データに含まれる通信内容が再現される内容のテスト用プログラムを作成するものとしてもよい。本発明の情報処理装置において、前記プログラム作成手段は、前記テスト対象デバイスと他のデバイスとの間の通信をテストする評価条件を記載した評価条件領域と該テストに用いない評価条件を記載した参考情報領域とを含む第１テスト用プログラムを作成するものとしてもよい。
【発明を実施するための最良の形態】
【００１９】
次に、本発明を実施するための最良の形態を図面を用いて説明する。図１は、本発明の一実施形態である通信評価システム１０の構成の概略を示す構成図であり、図２は、評価ＰＣ４０の機能構成の一例を示すブロック図である。本実施例の通信評価システム１０は、ネットワークとしてのＬＡＮ１２に接続されたプリンタ２０と、ＬＡＮ１２を介して接続されたユーザパソコン（以下ユーザＰＣとする）３０と、ＬＡＮ１２を介して接続された通信状態を評価する評価パソコン（以下評価ＰＣとする）ＰＣ４０と、によって構成されている。ここでは、通信評価システム１０は、既存の印刷装置であるプリンタ２０の通信動作を参考として新しい通信態様を実行するプリンタを開発する開発環境で用いられるシステムであるものとして説明する。ここでは、プリンタ２０は既存のプリンタであり、評価ＰＣ４０は新規プリンタの有する新たな通信態様が組み込まれた模擬プリンタの機能を備えたものとして説明する。なお、この通信評価システム１０では、プリンタ、ユーザＰＣ、評価ＰＣをそれぞれ１台ずつ示したが、プリンタ、ユーザＰＣ及び評価ＰＣは、それぞれ任意の数を備えているものとしてもかまわない。
【００２０】
プリンタ２０は、ＬＡＮ１２を介して得られた印刷ジョブを記録紙Ｓに印刷する装置であり、装置全体の制御を司るＣＰＵ２２と、データを記憶するフラッシュメモリ２５と、各種処理プログラムを記憶したＲＯＭ２３と、一時的にデータを記憶するＲＡＭ２４と、ＬＡＮ１２に接続された外部機器との間で信号の送受信が可能なネットワークインタフェース（Ｉ／Ｆ）２６と、着色剤としてトナーを用いて記録紙Ｓに印刷を行う印刷機構２７と、を備えている。印刷機構２７は、単一感光体方式と中間転写方式とを採用したフルカラーの電子写真方式の印刷機構として構成されている。なお、この印刷機構２７は、プリントヘッド内に設けられた圧電素子又はヒータによりインクカートリッジ内のインクを加圧して記録紙Ｓに向かって吐出するインクジェット方式を採用してもよい。
【００２１】
ユーザＰＣ３０は、ユーザが使用する情報処理装置として構成された周知の汎用パソコンであり、各種制御を実行するＣＰＵ３２と、各種制御プログラムを記憶するＲＯＭ３３と、データを一時記憶するＲＡＭ３４と、各種アプリケーションプログラムや各種データファイルを記憶する大容量メモリであるＨＤＤ３５と、ＬＡＮ１２に接続された外部機器との間で情報の送受信が可能なＩ／Ｆ３６とを備えている。ＨＤＤ３５には、通信データとしての、特定のパケットを取得する際に用いるフィルタ情報３５ａや、通信状態を評価する評価ソースコード類３５ｃを生成する評価ソースコード生成プログラム３５ｂ、通信状態を評価する際に実行される評価ソースコード類３５ｃなどのデータが記憶されている。このユーザＰＣ３０は、インストールされたプログラムによりプリンタ２０に対して印刷ジョブを送信したりプリンタ２０からステータス情報を受信したりする。このユーザＰＣ３０は、各種情報を画面表示するディスプレイ３７や、ユーザが各種指令を入力するキーボード等の入力装置３８などを備え、ディスプレイ３７に表示されたカーソル等をユーザが入力装置３８を介して入力操作するとその入力操作に応じた動作を実行する機能を有している。
【００２２】
評価ＰＣ４０は、複数のデバイス（例えばプリンタ２０やユーザＰＣ３０）の間の通信状態を評価する機能を有しているサーバである。この評価ＰＣ４０は、各種制御を実行するＣＰＵ４２と、各種制御プログラムを記憶するＲＯＭ４３と、データを一時記憶するＲＡＭ４４と、各種アプリケーションプログラムや各種データファイルを記憶する大容量メモリであるＨＤＤ４５と、ＬＡＮ１２に接続された外部機器との間で信号の送受信が可能なＩ／Ｆ４６とを備えている。また、評価ＰＣ４０は、各種情報を画面表示するディスプレイ４７や、ユーザが各種指令を入力するキーボード等の入力装置４８などを備えている。この評価ＰＣ４０は、ＬＡＮ１２を介してプリンタ２０やユーザＰＣ３０などとデータを送受信する際には、ＲＡＭ４４の所定領域に設けられた受信バッファ及び送信バッファを利用して行う。ＨＤＤ４５には、特定のパケットを抽出する際に用いるフィルタ情報５０や、フィルタ情報５０を用いて取得したパケット群５１、通信状態を評価する評価ソースコード類５３を生成する評価ソースコード生成プログラム５２、通信状態を評価する際に実行される評価ソースコード類５３、通信の評価結果である総合結果５７、テスト概要５８、差分結果５９などのデータが記憶されている。評価ソースコード類５３には、第１評価ソースコード５４や第２評価ソースコード５５、第３評価ソースコード５６などが含まれている。
【００２３】
また、評価ＰＣ４０は、図２に示すように、そのコントローラの機能構成として、パケット取得部６０、フィルタ実行部６１、ソースコード生成部６２、ソースコード実行部６３、テスト結果作成部６４、差分結果作成部６５、テスト結果出力部６６などを備えている。パケット取得部６０は、ＬＡＮ１２に流れているすべてのパケットをＩ／Ｆ４６から取得する処理を実行可能である。フィルタ実行部６１は、フィルタ情報５０（図１参照）などを用いパケット取得部６０が取得したパケットのうち所定条件を満たすものだけを抽出する処理を行う。ソースコード生成部６２は、フィルタ実行部６１により抽出されたパケットに格納された通信内容としての通信情報を取り出し、この通信情報に基づいてこの通信内容が再現される評価条件を含めて、ＣＰＵ４２により実行可能な評価ソースコードを作成しＨＤＤ４５の所定領域へ格納する処理を行う。このソースコード生成部６２は、ソースコード実行部６３が評価ソースコードを実行した際に取得されたパケットからも評価ソースコードを作成可能であり、テスト結果作成部６４や差分結果作成部６５によって作成された評価結果を受けてこれを反映した評価ソースコードをも作成可能となっている。ソースコード実行部６３は、ソースコード生成部６２により作成された評価ソースコードを実行する処理を行う。このソースコード実行部６３は、評価ソースコードの実行時にパケット取得部６０にパケットを取得させる処理も行う。テスト結果作成部６４は、評価ソースコードを実行した総合結果５７およびテスト概要５８（図１参照）を作成する処理を行う。詳しくは後述するが（後述図６参照）、総合結果５７は評価ソースコードの実行が適正に行われたか否かを含むテキストデータであり、テスト概要５８は評価ソースコードの実行内容の概要を含むテキストデータである。このテスト結果作成部６４は、総合結果５７及びテスト概要５８をソースコード生成部６２やテスト結果出力部６６へ出力する処理を行う。差分結果作成部６５は、複数のソースコードの差分をとった内容である差分結果５９（図１参照）を作成する処理を行う。差分結果５９は、２つのソースコードのうち異なる部分の内容を記載したテキストデータである。この差分結果作成部６５は、作成した差分結果５９をソースコード生成部６２やテスト結果出力部６６へ出力する処理を行う。テスト結果出力部６６は、総合結果５７、テスト概要５８及び差分結果５９などの評価結果をディスプレイ４７やプリンタ２０へ出力する処理を行う。
【００２４】
次に、こうして構成された本実施形態の通信評価システム１０の動作について、まず、評価ソースコードを作成して実行する処理について説明する。ここでは、具体例として、プリンタ２０とユーザＰＣ３０との通信内容を評価ＰＣ４０が取得して評価ソースコードを作成し、その後、評価ＰＣ４０が評価ソースコードを実行して通信内容を評価する処理を主として説明する。図３は、評価ＰＣ４０のＣＰＵ４２により実行される評価実行処理ルーチンの一例を表すフローチャートである。このルーチンは、ＨＤＤ４５に記憶され、図示しないメイン画面で実行指令がされたあと実行される。また、このルーチンは、ＣＰＵ４２が、上述したパケット取得部６０、フィルタ実行部６１、ソースコード生成部６２、ソースコード実行部６３、テスト結果作成部６４、差分結果作成部６５、テスト結果出力部６６などを適宜利用して実行するものとした。なお、このルーチンの実行中には、プリンタ２０とユーザＰＣ３０との間の目的の通信を実行するものとした。
【００２５】
このルーチンを実行すると、ＣＰＵ４２は、まず実行条件を取得する（ステップＳ１００）。実行条件は、図示しないメイン画面でどのデバイス間の通信のパケットを取得するかなどの情報をユーザが入力したもの、例えばフィルタ情報５０（図１参照）などを読み出すことにより取得するものとした。このフィルタ情報５０には、クライアント（プリンタ２０）のＩＰアドレスや、サーバ（ユーザＰＣ３０）のＩＰアドレス、テストソースを生成するサーバの対象ポートなどの情報が格納されているものとした。次に、ＣＰＵ４２は、パケット取得部６０によりパケット取得処理を実行し（ステップＳ１１０）、フィルタ実行部６１によりフィルタリング処理を実行する（ステップＳ１２０）。図４は、パケット取得処理及びフィルタリング処理の一例を表す説明図である。このパケット取得処理では、ＬＡＮ１２を流れているパケットすべてを取得し（図４上段）、パケット群５１としてＨＤＤ４５に記憶させる。そして、フィルタリング処理では、フィルタ情報５０に記載されているＩＰアドレスやポート番号に適合するものをこのパケット群５１に含まれるパケットから抽出する（図４下段）。
【００２６】
次に、ＣＰＵ４２は、ソースコード生成部６２を用い、今回の評価の目的となる抽出したパケットに含まれている通信内容を読み出すことによりフロー情報を取得し（ステップＳ１３０）、評価ソースコードを作成しこれをＨＤＤ４５に記憶する（ステップＳ１４０）。このフロー情報には、どのＩＰアドレスに対してどの情報をどの順番で送受信したかを含む情報が含まれている。ここで、評価ソースコードの作成処理について具体的に説明する。図５は、ソースコード生成部６２が作成した第１評価ソースコード５４の一例を表す説明図である。まず、ソースコード生成部６２は、所定のフォーマットに基づいて第１評価ソースコード５４を新規に作成し、フィルタ情報５０の内容を基本情報として参考情報領域５４ａに書き込む処理を行う。次に、ソースコード生成部６２は、例えば図４に示すように、抽出したパケットに格納されている情報を読み出す処理を行う。ここでは、ユーザＰＣ３０からプリンタ２０に対して「あなたは××サービスを提供していますか？」という内容のパケットを送信し、続いて、プリンタ２０からユーザＰＣ３０へ「はい、提供しています」、ユーザＰＣ３０からプリンタ２０へ「あなたは誰ですか？」、プリンタ２０からユーザＰＣ３０へ「私はＬＰ−５００です」という内容のパケットを送受信した通信内容が含まれている。そして、ソースコード生成部６２は、これらの通信内容を各パケットから読み出し、それをフロー情報として第１評価ソースコード５４の参考情報領域５４ａに書き込む処理を行う。次に、ソースコード生成部６２は、その通信内容がソースコード実行部６３により再現されるようなソースコードをフロー情報に基づいて作成し、これを評価条件領域５４ｂに書き込む処理を行う。このようにして、図５に示す実行可能な第１評価ソースコード５４を作成するのである。なお、ここでは、あとからユーザによりコメント等を書き込み可能なように、「＃概要」の欄を各フローの行末ごとに設けるよう評価ソースコードのフォーマットが定められているものとした。また、ソースコード生成部６２は所定の条件値にも基づいてソースコードを生成することとしてもよい。具体的には、例えば、今回のフローと次回のフローとの間隔が１００ｍｓであれば、１００ｍｓ単位でスリープを入れるなどの処理を含めたソースコードを生成するものとしてもよい。
【００２７】
次に、ＣＰＵ４２は、評価ソースコードの実行指令があったか否かを図示しないメイン画面で入力されたか否かに基づいて判定し（ステップＳ１５０）、実行指令がないときには、評価ソースコードの実行後であるか否かを判定する（ステップＳ１６０）。評価ソースコードの実行後でないときには、ＣＰＵ４２は、２つの評価ソースコードの新たな差分を取ることができるか否かを評価ソースコード類５３に格納された個数等に基づいて判定し（ステップＳ１７０）、新たな差分を取得できないときには、処理が終了したか否かを図示しないメイン画面で入力されたか否かに基づいて判定する（ステップＳ１８０）。処理が終了していないときには、ステップＳ１５０以降の処理を繰り返し実行する。そして、ステップＳ１５０で評価ソースコードの実行指令があったときには、ＣＰＵ４２は、ソースコード実行部６３を用いて評価ソースコードの実行処理を行い（ステップＳ１９０）ステップＳ１１０以降の処理を実行する。ここでは、図５のフロー情報に示した内容を評価ＰＣ４０がプリンタ２０に成り代わったものとして実行するものとした。また、この評価ソースコードの実行処理と並行してパケット取得処理やフィルタリング処理、評価ソースコードの作成処理を実行するものとした。即ち、プリンタ２０とユーザＰＣ３０との間の通信内容を、評価ＰＣ４０とユーザＰＣ３０との間で再現し、その通信パケットを抽出して取得するものとし、この取得したパケットの内容から新たな評価ソースコード（ここでは第２評価ソースコード５５）を作成するものとした。
【００２８】
ステップＳ１９０で評価ソースコードが実行されたあと、ＣＰＵ４２は、ステップＳ１６０で評価ソースコードの実行後であると判定し、その実行結果である総合結果５７及びテスト概要５８をテスト結果作成部６４により作成し、これをテスト結果出力部６６によりＨＤＤ４５に記憶出力すると共にディスプレイ４７に表示出力する（ステップＳ２００）。図６は、総合結果５７、テスト概要５８、差分結果５９の一例を表す説明図である。図６に示すように、総合結果５７には、第１評価ソースコード５４の条件で実行可能であったか否かを表す情報が記載され、テスト概要５８には、第１評価ソースコード５４で実行した内容（送信か受信か）及び概要のテキストが記載されているものとした。この内容をユーザが確認することにより、プリンタ２０とユーザＰＣ３０との通信内容が、評価ＰＣ４０とユーザＰＣ３０との間の通信内容として再現されているか否かを容易に判定することができる。
【００２９】
一方、評価ソースコード類５３に第１評価ソースコード５４と第２評価ソースコード５５とが含まれるようになるので、ＣＰＵ４２は、ステップＳ１７０で差分を取得可能であると判定し、差分結果作成部６５を用いて第１評価ソースコード５４と第２評価ソースコード５５との間の差分結果５９を作成し、これをテスト結果出力部６６によりＨＤＤ４５に記憶出力すると共にディスプレイ４７に表示出力する（ステップＳ２１０）。図６に示すように、差分結果５９の内容をユーザが確認することにより、プリンタ２０とユーザＰＣ３０との通信内容と、評価ＰＣ４０とユーザＰＣ３０との間の通信内容との異なる部分が明確になる。そして、これらの評価結果を検討し、第１評価ソースコード５４や第２評価ソースコード５５の必要な部分を書き換える処理をユーザが行い、この書き換えた評価ソースコードを実行することなどにより、問題点を明らかにし、より適切な通信内容を構築していくことができる。例えば、評価ＰＣ４０とは異なる、プリンタ２０の「機種名」など、差分により常時異なると判定される内容は、評価条件領域５４ｂの評価条件から参考情報領域５４ａの参考情報へ移動するなどの処理を行えばよい。
【００３０】
なお、ステップＳ１５０で第２評価ソースコード５５の実行指令があったときには、ＣＰＵ４２は、上述した処理と同様にステップＳ１９０で第２評価ソースコード５５の実行処理を行い、ステップＳ１１０〜Ｓ１４０で、このときの通信内容を含むパケットを抽出して新たな評価ソースコード（ここでは第３評価ソースコード５６）を作成する処理を実行する。このように、繰り返し評価ソースコードを作成することができるため、その差分を検討すれば、常時異なる評価条件（例えば機種名や印刷ジョブＩＤ）や常時変動する評価条件（例えば繰返数ｎで繰り返される処理や待機時間）などを明確なものとすることができる。そして、その内容をユーザが把握して、第１評価ソースコード５４や第２評価ソースコード５５、第３評価ソースコード５６などに反映させることが可能である。また、その反映させた評価ソースコードを実行し、期待される評価結果と、今回の実行結果との差分を差分結果などの評価結果により把握し、把握した内容を次の評価ソースコードに組み込むことにより、新規装置の改良・通信状態の評価をサイクルさせて新規装置の開発や通信状態の改善をより容易に進めることができる。
【００３１】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態のパケットが本発明の通信データに相当し、パケット取得部６０が通信取得手段に相当し、プログラム作成手段がソースコード生成部６２に相当し、テスト結果作成部６４及び差分結果作成部６５が結果作成手段に相当し、評価ソースコードがテスト用プログラムに相当する。なお、本発明の第１テスト用プログラムを作成する際の「複数のデバイス」は、プリンタ２０及びユーザＰＣ３０が該当し、本発明の第２テスト用プログラムを作成する際の「テスト対象のデバイスと他のデバイス」は、それぞれ評価ＰＣ４０とユーザＰＣ３０が該当する。
【００３２】
以上詳述した本実施形態の通信評価システム１０によれば、複数のデバイス間（プリンタ２０及びユーザＰＣ３０）の通信内容を含むパケットを取得し、テスト対象のデバイスとしての評価ＰＣ４０と他のデバイスとしてのユーザＰＣ３０との間の通信を実行する際に実行する第１評価ソースコード５４を、この取得したパケットに含まれる通信内容に基づいて作成し、この作成した第１評価ソースコード５４を実行し評価ＰＣ４０とユーザＰＣ３０との間で通信を行った実行結果を作成することにより、デバイスの通信状態を評価する。このように、実際に通信したパケットを利用して評価ソースコードを作成し、これを利用して評価ＰＣ４０のテストを実行する。このため、例えば、より通信テストを自動化可能であり、通信を行った実行結果を用いてテスト対象のデバイスと他のデバイスとの間の通信を適正化可能であり、新規デバイスの開発にこのテスト用プログラムを利用可能である。したがって、デバイスの通信状態をより容易に評価することができる。また、第１評価ソースコード５４と第２評価ソースコード５５との差分結果５９を出力するため、差分情報５９を用いて第１評価ソースコード５４での通信内容と、第２評価ソースコードでの通信内容との違いをより容易に評価することができる。また、第１評価ソースコード５４を旧デバイスで作成し、第２評価ソースコードを新デバイスで作成することにより、新デバイスでの通信状態の違いを差分情報５９によって容易に把握可能であるため、デバイス開発がより容易となる。
【００３３】
更に、プリンタ２０とユーザＰＣ３０との間の通信の評価結果と評価ＰＣ４０とユーザＰＣ３０との間の通信の評価結果を得ることができるため、評価ＰＣ４０とは異なるデバイスの通信内容と他のデバイスとの通信内容の違いをより容易に評価することができる。更にまた、第１評価ソースコード５４を実行しているときの評価ＰＣ４０とユーザＰＣ３０との間の通信内容を含むパケットを取得し、この取得したパケットに含まれる通信内容が実行できたか否かの総合結果５７を作成し、作成した総合結果５７をテキストでディスプレイ４７へ表示出力するため、デバイス間の通信が実行できたか否かの実行結果を視認することができる。そして、パケットに含まれる通信内容が再現される内容の評価ソースコードを作成するため、デバイスの通信状態が正常に再現されているか否かをより容易に評価することができる。そしてまた、評価条件を記載した評価条件領域５４ｂとテストに用いない評価条件を記載した参考情報領域５４ａとを含む第１評価ソースコード５４を作成するため、評価に用いない条件を参考情報領域５４ａへ移動させればよく、評価した結果を評価ソースコードへより反映しやすい。
【００３４】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００３５】
例えば、上述した実施形態では、プリンタ２０とユーザＰＣ３０との間で通信したものを評価ＰＣ４０が取得して第１評価ソースコード５４を作成するものとしたが、ユーザＰＣ３０が備える評価ソースコード生成プログラム３５ｂを利用してユーザＰＣ３０で第１評価ソースコード５４を作成してもよい。また、プリンタ２０に評価ソースコード生成プログラムをインストールし、プリンタ２０で第１評価ソースコード５４を生成してもよい。即ち、ＬＡＮ１２に流れるパケットを取得可能であれば、どのデバイスで評価ソースコード生成プログラムを実行するものとしてもよい。同様に、評価ＰＣ４０とユーザＰＣ３０との間の通信内容に基づいて第２評価ソースコード５５を作成するものとしたが、ユーザＰＣ３０で第２評価ソースコード５５を作成するものとしてもよいし、新規に開発中のプリンタに評価ソースコード生成プログラムをインストールし、この新規プリンタで第２評価ソースコード５５を作成するものとしてもよい。
【００３６】
上述した実施形態では、総合結果５７及び差分結果５９を評価結果として出力するものとしたが、いずれか一方を出力するものとしてもよい。こうしても、総合結果５７と差分結果５９とのいずれか一方を用いてデバイスの通信状態をより容易に評価することができる。また、第１評価ソースコード５４や第２評価ソースコード５５により通信内容を具体化することができる。
【００３７】
上述した実施形態では、第２評価ソースコード５５や第３評価ソースコード５６を作成するものとしたが、これらを省略してもよい。こうしても、総合結果５７やテスト概要５８を利用することにより、デバイスの通信状態をより容易に評価することができる。また、評価ＰＣ４０とユーザＰＣ３０との間の通信内容を含むパケットを取得して第１評価ソースコード５４を作成するものとしてもよい。こうすれば、評価ＰＣ４０の通信内容を評価ソースコードにより再現することができる。
【００３８】
上述した実施形態では、パケットの内容をそのまま用いて、第２評価ソースコード５５や第３評価ソースコード５６を作成するものとしたが、総合結果５７や差分結果５９の内容を反映させた第２評価ソースコード５５や第３評価ソースコード５６を作成するものとしてもよい。例えば、第１評価ソースコード５４と第２評価ソースコード５５で差分値がある場合は、この差分になっている一致しないテスト条件及び変化したテスト条件のうちいずれか一方を省略した（評価条件領域５４ｂに記載しない）評価ソースコードを作成するものとしてもよい。こうすれば、差分情報を用いて新たな評価ソースコードを作成可能であるため、通信状態を評価する手法をより多様化することができる。また、評価対象として必要ないテスト条件を省略してデバイスの通信状態をより容易に評価することができる。このとき、評価ソースコードを繰り返し作成し、繰り返し作成した差分結果を用いて常時一致しない評価条件及び常時変化する評価条件のうち少なくとも１以上を含む差分情報を出力し、この差分情報を用いてテスト条件を省略するものとするのが好ましい。こうすれば、より評価しなくてもよいテスト条件を絞ることができる。また、省略した条件は、参考情報領域５４ａに書き込むことが好ましい。こうすれば、あとでユーザが確認した際に、評価条件領域５４ｂへ移動するなどの改良を行いやすい。
【００３９】
上述した実施形態では、新たなデバイスの開発時の通信評価に用いるものとして説明したが、特にこれに限られず、通常のＬＡＮ１２で利用されている状態の通信デバイスに対して適用してもよい。この場合、評価ソースコード生成プログラムは、通常の通信動作での不具合箇所の特定に役立つ。
【００４０】
上述した実施形態では、プリンタ２０とユーザＰＣ３０との通信内容を元に評価ＰＣ４０（テスト対象）とユーザＰＣ３０との通信内容を評価するものとしたが、テスト対象デバイスと他のデバイスとの通信内容を繰り返し行い、評価に必要なテスト条件と評価に不必要なテスト条件とを抽出するものとしてもよい。図７は、別の評価実行処理ルーチンの一例を表すフローチャートであり、図８及び図９は、ユーザＰＣ３０とプリンタ２０との通信を表すタイムチャート及び評価ソースコード１５４である。図７の評価実行処理ルーチンでは、上述した実施形態と同様のステップは同様のステップ番号を付与してその説明を省略する。ここでは、テスト対象デバイスをプリンタ２０とし、他のデバイスをユーザＰＣ３０とし、評価実行処理ルーチンをユーザＰＣ３０のＣＰＵ３２が実行するものとして説明する。このルーチンは、ＨＤＤ３５に記憶され、図示しないメイン画面で評価条件設定の指令を受けた後実行される。このルーチンを開始すると、ＣＰＵ３２は、ステップＳ１００で繰返数ｎを含む実行条件を取得し、ステップＳ１１０でプリンタ２０とユーザＰＣ３０とが通信しているときにパケット取得処理を実行し、ステップＳ１２０でフィルタリング処理を実行し、ステップＳ１３０でパケットからフロー情報を取得し、ステップＳ１４０で評価ソースコードを作成・記憶し、繰返数ｎに至ったか否かを判定する（ステップＳ３００）。繰返数ｎに至っていないときには、ステップＳ１９０で評価ソースコード実行処理を実行し、ステップＳ２００で総合結果及びテスト概要を作成・出力し、ステップＳ１１０以降の処理を繰り返し、第１評価ソースコードと総合結果とテスト概要とを複数生成する。そして、ステップＳ３００で繰返数ｎに至ったときには、ステップＳ２１０ですべての差分結果を作成・出力する。そして、差分結果の内容を解析し、常時成立しないテスト条件や常時変動するテスト条件を抽出する（ステップＳ３１０）。常時成立しないテスト条件としては、機種名や印刷ジョブＩＤなどが挙げられ、常時変動するテスト条件には、例えば待機時間や依頼・回答の処理の繰返数などが挙げられる。そして、抽出したテスト条件を除いた評価条件とすることで、抽出したテスト条件を反映した第１評価ソースコードを作成してＨＤＤ３５に記憶し（ステップＳ３２０）。このルーチンを終了する。図８に示すように、プリンタステータス取得（ステップＳ４００〜Ｓ４２０）とその回答であるビジー出力（ステップＳ５００〜５１０）が繰り返されたあと所定待機時間経過後にプリンタ２０からアイドル出力され（ステップＳ５２０）、ユーザＰＣ３０から印刷データが送信される場合などでは、例えば、図９に示すように、ステータス取得とビジー出力の繰返数や待機時間が異なるケースを、繰り返し行い評価ソースコード及び評価結果を出力すれば、この繰返数が任意の数であることや待機時間が変動することをＣＰＵ３２が判定することができる。そして、常時成立しない条件や常時変動する条件などを評価条件領域ではなく参考情報領域に書き込むことによって、評価結果の内容を必要なものに絞ることができる。このように、繰り返し通信することにより、例えば、常時一致しない評価条件や常時変化する評価条件などをＣＰＵ３２が抽出することが可能であるため、より評価したい通信内容に絞ったテスト用プログラムをＣＰＵ３２が作成して、デバイスの通信状態をより容易に評価することができる。また、仮に評価ソースコード生成プログラムの繰り返しによるテスト条件の除外が間違ってたとしても、評価ソースコード自体の内容や評価結果（総合結果、テスト概要及び差分結果）をユーザが解析すれば、より容易に評価条件に加えたりする修正を行うことができる。
【００４１】
上述した実施形態では、プリンタ２０やユーザＰＣ３０、評価ＰＣ４０を本発明のデバイスとして説明したが、デバイス間で通信を行うものであれば特にこれに限定されず、例えば、固定式のデスクトップ型や携帯式のノート型などのサーバやワークステーションを含むコンピュータ類、テレビやビデオ、ＨＤＤレコーダ、ＤＶＤプレーヤ、フォトビューアなどの映像機器類、デジタルカメラ、デジタルビデオ、スキャナー、プリンタなどの画像処理機器類、固定電話や携帯電話、ＦＡＸなどの通信機器類、固定式または携帯式のゲーム機器類などを本発明のデバイスとしてもよい。また、このデバイスをコントローラなどとしてもよい。
【図面の簡単な説明】
【００４２】
【図１】通信評価システム１０の構成の概略を示す構成図。
【図２】評価ＰＣ４０の機能構成の一例を示すブロック図。
【図３】評価実行処理ルーチンの一例を表すフローチャート
【図４】パケット取得処理及びフィルタリング処理の一例を表す説明図。
【図５】第１評価ソースコード５４の一例を表す説明図。
【図６】総合結果５７、テスト概要５８、差分結果５９の一例を表す説明図。
【図７】別の評価実行処理ルーチンの一例を表すフローチャート。
【図８】ユーザＰＣ３０とプリンタ２０との通信内容及び評価ソースコード。
【図９】ユーザＰＣ３０とプリンタ２０との通信内容及び評価ソースコード。
【符号の説明】
【００４３】
１０  通信評価システム、１２  ＬＡＮ、２０  プリンタ、２２，３２，４２  ＣＰＵ、２３，３３，４３  ＲＯＭ、２４，３４，４４  ＲＡＭ、２５  フラッシュメモリ、２６，３６，４６  ネットワークインタフェース（Ｉ／Ｆ）、３０  ユーザＰＣ、３５，４５  ＨＤＤ、３５ａ  フィルタ情報、３５ｂ  評価ソースコード生成プログラム、３５ｃ  評価ソースコード類、３７，４７  ディスプレイ、３８，４８  入力装置、４０  評価ＰＣ、５０  フィルタ情報、５１  パケット群、５２  評価ソースコード生成プログラム、５３  評価ソースコード類、５４  第１評価ソースコード、５４ａ  参考情報領域５４ａ、５４ｂ  評価条件領域、５５  第２評価ソースコード、５６  第３評価ソースコード、５７  総合結果、５８  テスト概要、５９  差分結果、６０  パケット取得部、６１  フィルタ実行部、６２  ソースコード生成部、６３  ソースコード実行部、６４  テスト結果作成部、６５  差分結果作成部、６６  テスト結果出力部、１５４  評価ソースコード。
【図１】
2010128559.tif 000003
【図２】
2010128559.tif 000004
【図３】
2010128559.tif 000005
【図４】
2010128559.tif 000006
【図５】
2010128559.tif 000007
【図６】
2010128559.tif 000008
【図７】
2010128559.tif 000009
【図８】
2010128559.tif 000010
【図９】
2010128559.tif 000011