(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-09
(45)【発行日】2024-07-18
(54)【発明の名称】情報処理装置、情報処理方法、プログラム、および情報処理システム
(51)【国際特許分類】
H04L 43/00 20220101AFI20240710BHJP
G06F 11/36 20060101ALI20240710BHJP
【FI】
H04L43/00
G06F11/36 164
(21)【出願番号】P 2020204338
(22)【出願日】2020-12-09
【審査請求日】2023-02-17
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118876
【氏名又は名称】鈴木 順生
(74)【代理人】
【識別番号】100206243
【氏名又は名称】片桐 貴士
(72)【発明者】
【氏名】坂井 弓子
(72)【発明者】
【氏名】前川 智則
【審査官】中川 幸洋
(56)【参考文献】
【文献】特開2012-156853(JP,A)
【文献】米国特許出願公開第2006/0041415(US,A1)
【文献】特開2020-191498(JP,A)
【文献】特表2017-525291(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/00
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
第1装置から第2装置宛てに送信されたデータを受信する受信部と、
受信されたデータに対して解析を行う解析部と、
前記解析の結果に基づき、前記受信されたデータに対応するテスト通信データを生成する生成部と、
前記テスト通信データを、前記テスト通信データの送信元が前記第1装置であると
して、前記第2装置に送信する送信部と、
を備え、
前記受信されたデータには、前記受信されたデータの前記第1装置からの送信時刻と、前記第2装置の処理に必要なデータと、前記第2装置の処理に必要なデータの取得時刻と、が含まれ、
前記解析部は、前記送信時刻と、前記取得時刻と、を前記受信されたデータから検出し、
前記生成部は、前記送信時刻および前記取得時刻の差分は同じであるが、前記送信時刻および前記取得時刻が前記受信されたデータとは異なるテスト通信データを生成する、
情報処理装置。
【請求項2】
前記解析部は、複数の前記受信されたデータに対して統計処理を実行し、
前記生成部は、前記統計処理の結果に基づいて複数のテスト通信データを生成し、
前記複数の受信されたデータおよび前記複数のテスト通信データの、前記統計処理の対象とされた1以上の項目の分布が一致する、
請求項
1に記載の情報処理装置。
【請求項3】
前記複数の受信されたデータおよび前記複数のテスト通信データの送信間隔の分布が一致する、
請求項
2に記載の情報処理装置。
【請求項4】
前記複数の受信されたデータおよび前記複数のテスト通信データの前記第2装置の処理に必要なデータの値の分布が一致する、
請求項
2に記載の情報処理装置。
【請求項5】
前記第1装置、または、前記第1装置から第2装置への通信に関
してあらかじめ判明している項目の情報を記憶する記憶部を備え、
前記解析部は、
前記記憶部における前記情報に含まれていない項目に対して、前記統計処理を実行する、
請求項
2ないし
4のいずれか一項に記載の情報処理装置。
【請求項6】
前記第1装置から第2装置への通信の実績に基づく
、前記通信に関して予め判明している項目の統計データを
記憶する記憶部を備え、
前記解析部は、前記
記憶部における前記統計データに含まれていない項目に対して、前記統計処理を実行する、
請求項
2ないし
5のいずれか一項に記載の情報処理装置。
【請求項7】
前記受信部は、前記受信されたデータの受信時刻を記録し、
前記生成部は、前記テスト通信データに、前記
受信されたデータに含まれる前記送信時刻とは異なるが前記差分が同じ前記送信時刻を含め、
前記送信部は、前記
テスト通信データに含まれる前記送信時刻から、前記受信されたデータに含まれる前記送信時刻と前記受信時刻の差分ほど経過したときに、前記テスト通信データを前記第2装置に送信する、
請求項1
~6のいずれか一項に記載の情報処理装置。
【請求項8】
前記受信されたデータには、前記第1装置または前記第2装置が属する通信ネットワークを示すデータが含まれ、
前記解析部は、前記第1装置または前記第2装置が属する通信ネットワークを示すデータを検出して、前記第1装置および前記第2装置のいずれが自身と同じ通信ネットワークに属しているかを判定し、
前記生成部は、前記テスト通信データに、
前記受信されたデータに含まれる前記送信時刻とは異なるが前記差分が同じ前記送信時刻を含め、
前記送信部は、
前記第1装置が自身と同じ通信ネットワークに属していると判定された場合は、前記
テスト通信データに含まれる前記送信時刻から、第1所定時間ほど経過したときに、前記テスト通信データを前記第2装置に送信し、
前記第2装置が自身と同じ通信ネットワークに属していると判定された場合は、前記
テスト通信データに含まれる前記送信時刻から、前記第1所定時間よりも長い第2所定時間ほど経過したときに、前記テスト通信データを前記第2装置に送信する、
請求項1
~6のいずれか一項に記載の情報処理装置。
【請求項9】
前記
解析の結果を記憶する記憶部をさらに備え、
前記生成部は、前記記憶部から前記解
析の結果を取得し、前記解析の結果に基づくテスト通信データを生成する
請求項1ないし
8のいずれか一項に記載の情報処理装置。
【請求項10】
第1装置から第2装置宛てに送信されたデータを受信し
、受信されたデータには、前記受信されたデータの前記第1装置からの送信時刻と、前記第2装置の処理に必要なデータと、前記第2装置の処理に必要なデータの取得時刻と、が含まれ、
前記受信されたデータに対して解析を行い、
前記送信時刻と、前記取得時刻と、を前記受信されたデータから検出し、
前記解析の結果に基づき、
前記送信時刻および前記取得時刻の差分は同じであるが、前記送信時刻および前記取得時刻が前記受信されたデータとは異なるテスト通信データを生成し、
前記テスト通信データを、前記テスト通信データの送信元が前記第1装置であると
して、前記第2装置に送信する、
情報処理方法。
【請求項11】
第1装置から第2装置宛てに送信されたデータを受信させ
、受信されたデータには、前記受信されたデータの前記第1装置からの送信時刻と、前記第2装置の処理に必要なデータと、前記第2装置の処理に必要なデータの取得時刻と、が含まれ、
前記受信されたデータに対して解析を行わせ、
前記送信時刻と、前記取得時刻と、を前記受信されたデータから検出させ、
前記解析の結果に基づき、
前記送信時刻および前記取得時刻の差分は同じであるが、前記送信時刻および前記取得時刻が前記受信されたデータとは異なるテスト通信データを生成させ、
前記テスト通信データを、前記テスト通信データの送信元が前記第1装置であると
して、前記第2装置に送信させる、
プログラム。
【請求項12】
第1装置と、
前記第1装置から処理に必要なデータを受信する第2装置と、
情報処理装置と、
を備え、
前記情報処理装置は、
前記第1装置から前記第2装置宛てに送信された前記データを受信し、前記受信されたデータには、前記受信されたデータの前記第1装置からの送信時刻と、前記第2装置の処理に必要なデータと、前記第2装置の処理に必要なデータの取得時刻と、が含まれる、受信部と、
前記受信されたデータに対して解析を行い、前記送信時刻と、前記取得時刻と、を前記受信されたデータから検出する、解析部と、
前記解析の結果に基づき、前記受信されたデータに対応するテスト通信データとして、前記送信時刻および前記取得時刻の差分は同じであるが、前記送信時刻および前記取得時刻が前記受信されたデータとは異なるテスト通信データを生成する生成部と、
前記テスト通信データを、前記テスト通信データの送信元が前記第1装置であるとして、前記第2装置に送信する送信部と、
を備える、
情報処理システム。
【請求項13】
前記第1装置および前記第2装置は、異なる通信セグメントに属し、
前記
情報処理装置は、前記第1装置または前記第2装置が属する通信セグメントに属する
請求項
12に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法、プログラム、および情報処理システムに関する。
【背景技術】
【0002】
近年、IoT(Internet of Things)分野の発展に伴い、様々なデータを大量に収集することが可能となり、収集されたデータの活用が注目されている。例えば、収集されたデータの分布などに基づいて異常を検出するサービスが実施されている。また、収集されたデータに基づいて、渋滞、天気、株式などといった今後の変動を予測するサービスも実施されている。
【0003】
このようなサービスの信頼性を向上させるためには、十分にテストを行うことが必要不可欠である。しかし、テスト用のデータを十分に用意することは難しい。例えば、高価な産業用装置を監視するサービスを開始しようとして、当該産業用装置のデータを得るために当該産業用装置を開発機として大量に購入することは、コスト面から現実的ではない。また、当該産業用装置があまり流通していない場合、当該産業用装置のデータを入手する機会もあまりない。
【0004】
そのため、実際のデータをテスト用のデータとして用いるのではなく、疑似的に生成されたデータをテスト用のデータとして用いることも行われている。また、テスト用のデータを読み込ませるのではなく、サービスを実現するプログラムにエラーを疑似的に発生させることによってテストを行うことも行われている。
【0005】
しかし、これらの方法では、ユーザがテスト用のデータを生成するためのシナリオを作成したり、発生させるエラーの種類や頻度を指定したりする必要があり、ユーザの負担が大きい。また、サービスにエラーが発生したために再現テストを行ったが、エラーが発生せず、サービス運用者を悩ませる事態も起きている。これは、テストのデータと、実際のデータとの内容の相違が原因ではなく、通信環境、処理のタイミングなどが問題であることも多い。ゆえに、苦労してテスト用のデータを用意しても、テストの信頼性が向上しないこともあり得る。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明の一実施形態は、受信したデータに基づいて処理を行う装置に対するテストの信頼性および効率を高める装置などを提供する。
【課題を解決するための手段】
【0008】
本発明の一実施形態である情報処理装置は、受信部と、解析部と、生成部と、送信部と、を備える。前記受信部は、第1装置から第2装置宛てに送信されたデータを受信する。前記解析部は、受信されたデータに対して解析を行う。前記生成部は、前記解析の結果に基づき、前記受信されたデータに対応するテスト通信データを生成する。前記送信部は、前記テスト通信データを、前記テスト通信データの送信元が前記第1装置であると偽装して、前記第2装置に送信する。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態に係わる情報処理システムを示すブロック図。
【
図2】テストの準備のための処理の概略フローチャート。
【
図3】受信された通信データに対する処理について説明する図。
【
図8】本発明の一実施形態におけるハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、本発明の実施形態について説明する。
【0011】
(本発明の一実施形態)
図1は、本発明の一実施形態に係わる情報処理システムを示すブロック図である。本実施形態に関する情報処理システム1は、データ提供装置(第1装置)11と、データ処理装置(第2装置)12と、情報処理装置13と、を備える。情報処理装置13は、受信部131と、解析部132と、記憶部133と、生成部134と、送信部135と、を備える。
【0012】
情報処理システム1は、データ提供装置11から提供されたデータに基づき、データ処理装置12が所定の処理を行うシステムである。当該処理は、特に限られるものではない。例えば、データ提供装置11から提供されたデータに基づき、データ提供装置11が正常か異常どうかの判定が行われてもよい。あるいは、当該データまたは当該データに関連するデータの今後の値の推定が行われてもよい。また、データ処理装置12が、データ提供装置11に処理結果を返してもよいし、返さなくてもよい。
【0013】
データ提供装置11が提供するデータは、データ提供装置11に関するものでもよい。例えば、データ提供装置11の負荷、入出力の値などを示すものでもよい。あるいは、データ提供装置11が監視装置であり、データ提供装置11が提供するデータが監視対象に関するものであってもよい。例えば、データ提供装置11が備えるセンサによって測定された情報、例えば、温度、湿度、風速などの環境に関するものであってもよい。あるいは、データ提供装置11が備えるカメラによって撮影された物体に関する情報、例えば、位置、色彩、移動速度などでもよい。
【0014】
なお、データ提供装置11が提供するデータが、必ずしも実際に測定された値で構成されているとは限らない。例えば、当該データに、データ提供装置11による推定値が含まれていてもよいし、テスト用に予め定められた値が含まれていてもよい。
【0015】
なお、データ提供装置11は、複数台であってもよい。例えば、複数のIoT端末を用いて監視対象を監視し、複数のIoT端末それぞれが取得したデータをデータ処理装置12に送信する場合もあり得る。後述するが、そのような場合であっても、本実施形態の処理に影響はない。
【0016】
なお、データ提供装置11から提供されるデータは、通信ネットワークを介して、データ処理装置12に送信される。そのため、データ提供装置11は、提供するデータを通信規格に準じた形式にして送信する。当該形式のデータは、通信レイヤによってパケット、フレームなどと呼称が異なるが、本説明では区別せず、「通信データ」と記載する。さらに、データ提供装置11から提供されるデータを「実データ」と記載し、実データを含む通信データを「実通信データ」と記載する。
【0017】
すなわち、データ提供装置11とデータ処理装置12との間の通信ネットワーク内を流れる通信データには、データ提供装置11から送信されてデータ処理装置12を宛先(送信先)とする実通信データがあり、実通信データの内部には実データが含まれている。
【0018】
また、情報処理システム1は、データ処理装置12に対してテストを行う。情報処理装置13は、当該テストを行うための装置である。
【0019】
情報処理装置13は、実通信データを受信し、実通信データに基づいてテスト用の通信データを生成する。テスト用の通信データには、実データに対応するテスト用のデータが含まれる。以降、テスト用の通信データを「テスト通信データ」と記載し、テスト用のデータを「テストデータ」と記載する。テスト通信データの生成の詳細については、情報処理装置13の構成要素とともに後述する。
【0020】
なお、実通信データの宛先は、データ処理装置12であって情報処理装置13ではない。ゆえに、情報処理装置13は、実通信データを傍受しなくてはならないが、傍受については公知の技術を用いればよい。
【0021】
例えば、データ提供装置11と情報処理装置13とが同じLAN(ローカルエリアネットワーク)に存在する場合は、情報処理装置13は、データ提供装置11から実通信データに該当するフレームを受信することができる。通常は、宛先が自分でないフレームは廃棄されるが、宛先がデータ処理装置12であるか否かを受信したフレームに含まれる宛先を示す情報(例えばIPアドレス)などで確認し、宛先がデータ処理装置12であるフレームは廃棄しないとすれば、情報処理装置13が実通信データを受信することができる。また、データ処理装置12と情報処理装置13とが同じLANに存在する場合は、情報処理装置13は、同一LAN内のスイッチなどの通信機器によって生成された、データ処理装置12が受信するフレームのコピーを受信することができる。ゆえに、この場合も、宛先がデータ処理装置12であるフレームは廃棄しないことにより、情報処理装置13が実通信データを受信することができる。また、情報処理装置13がデータ提供装置11と同じLANにもデータ処理装置12と同じLANにも存在しない場合は、データ提供装置11からデータ処理装置12までの通信ルート上に存在するルータなどの通信機器に、データ処理装置12宛のパケットを情報処理装置13に転送するように設定しておけば、情報処理装置13が当該パケット内の実通信データを受信することができる。
【0022】
情報処理装置13は、テストの際は、テスト通信データを生成し、データ処理装置12に送信する。データ処理装置12は、情報処理装置13からのテスト通信データを、実通信データと区別することなく処理する。こうして、テスト通信データによるテストを実行することができる。
【0023】
情報処理装置13の構成要素およびその処理の詳細を、その流れとともに説明する。
図2は、テストの準備のための処理の概略フローチャートである。
【0024】
情報処理装置13の受信部131は、通信ネットワークを流れる通信データを受信する(S101)。なお、通信機器による転送によって実通信データのみを受信できる場合もあれば、データ提供装置11以外からのデータ処理装置12宛の通信データを受信する場合もあり得る。また、データ提供装置11からのデータ処理装置12宛の通信データであっても、実通信データではなく、対象としているデータ処理装置12の処理に関係ないものもあり得る。ゆえに、情報処理装置13の解析部132は、受信部131が受信した通信データに対して解析処理を実行し(S102)、テスト通信データの生成に必要な情報を取得する
【0025】
図3は、受信された通信データに対する処理について説明する図である。
図3(A)に、受信部131が受信した通信データが示されている。
図3(A)の表の各行が、一つの通信データに対応する。
図3(A)の例では、受信された通信データには、通信データが送信された送信時刻と、送信元を示すIPアドレスと、送信先を示すIPアドレスと、ペイロードと、が含まれている。ペイロードは、通信データからヘッダなどの付加情報を除いたデータ本体のことである。ゆえに、実通信データのペイロードは、実データに相当する。
【0026】
なお、データ提供装置11のIPアドレスは「10.0.0.1」とし、データ処理装置12のIPアドレスは「10.0.1.1」とする。ゆえに、
図3(A)の表の1、3、および5行目が実通信データに該当し、その他の行は実通信データに該当しない。このように、実通信データでない通信データも受信される場合、解析部132は、解析処理の一つとして、データ提供装置11およびデータ処理装置12のIPアドレスに基づいて、実通信データに関する通信を抽出する。
図3(B)に、解析部132によって抽出された実通信データが示されている。なお、IPアドレスではなく、ペイロードに含まれるデータの値に基づいて抽出が行われてもよい。
【0027】
図3(B)の1行目のペイロードには、{"device_id":"001","time":"09:00:00",data":"1.9"}というデータが示されているが、これは、「device_id」が「001」のデバイスにおける収集対象項目の値が「1.9」であり、当該値の測定時刻が「09:00:00」である、ということが示されている。当該値がデータ処理装置12の処理に用いられる。このように、実通信データのペイロードには、データ処理装置12の処理に用いられる値と、当該値がデータ提供装置11によって取得された時刻と、が含まれる。なお、当該デバイスは、データ提供装置11を意味していてもよいし、データ提供装置11の一部の器具などを意味していてもよい。
【0028】
なお、ペイロードには、その他の情報、例えば、測定に用いたセンサの種類を示す情報などが含まれていてもよい。また、1つの実通信データに複数の値が含まれていてもよい。例えば、データ提供装置11が、数回分の測定値をまとめて1回でデータ処理装置12に送信することもあり得る。また。複数のデータ提供装置11が存在し、そのうちの1台が代表して、各データ提供装置11の値を収集し、まとめてデータ処理装置12に送信することもあり得る。ゆえに、複数のデータ提供装置11ごとの数回分の測定値が一つのペイロードに含まれていることもあり得る。
【0029】
解析部132は、テスト通信データを作成のために、さらに、実通信データを加工してもよい。
図3(C)は、加工例を示す図である。
図3(C)の例では、送信時刻が加工されており、1行目の送信時刻が「00:00:00.000」という基準時刻に設定され、1行目以外の送信時刻は、一つ前の行の送信時刻との差分、言い換えれば、送信間隔が示されている。また、ペイロード内の時刻に関する値が変更され、送信時刻との差分を示す値に変更されている。このような加工をしておくことにより、テスト通信データの生成の際に、これらの値を、テストの実行時刻に応じた値に容易に変更できる。
図3(C)に示された加工された実通信データは、テスト通信データのテンプレートとも言える。解析部132は、解析処理の一つとして、このように、時刻などの予め指定された項目を実通信データから検出して変更してもよい。
【0030】
なお、
図3(C)のペイロード内の時刻は、同一行内の送信時刻を基準としたマイナス表記で表されている。これは、ペイロード内の時刻は、ペイロード内の値がデータ提供装置11などによって取得された時刻であり、データ提供装置11による実通信データの送信時刻よりも前であるからである。
【0031】
記憶部133は、
図3(B)および(C)に示されたような、解析部132の処理結果を記憶する(S103)。なお、記憶部133に記憶されるデータは特に限られるものではない。例えば、テストの管理者などが予め定めたテストに関する設定値などが記憶されていてもよい。例えば、テストを自動的に実行する場合に、テストの開始時刻が記憶されていてもよい。
【0032】
このようにして、テストのための準備が整えられた後に、テストが実行される。
図4は、テストのための処理の概略フローチャートである。
【0033】
受信部131は、テストの実行時刻など、テストの実行に必要な情報とともに、テストの実行指示を受信する(S201)。なお、定期的にテストを自動で行う場合などでは、S201の処理は省略される。また、テストの実行に必要な情報は、予め記憶部133に記憶されていればよい。
【0034】
生成部134は、記憶部133から、テスト通信データの生成に必要な情報を取得する(S202)。そして、取得した情報を用いて、テスト通信データを生成する(S203)。例えば、
図3(C)に示したテンプレートを取得して、送信時刻、ペイロード内の時刻などを設定する。この場合、テスト通信データは、実通信データに含まれる時刻などの値が偽装されたデータと言える。
【0035】
図3(D)は、生成されたテスト通信データを示す。各行が一つのテスト通信データに相当する。
図3(D)の例では、テスト通信データの送信時刻には、
図3(C)で示されたテンプレートの送信時刻と、所定時刻と、を加算した時刻が示されている。所定時刻は、テストに応じて定められる。例えば、テストの開始時刻でもよい。
【0036】
図3(C)の1行目のテンプレートの送信時刻は「00:00:00.000」であり、
図3(D)の1行目のテスト通信データの送信時刻は「11:00:17.169」であるため、「11:00:17.169」が加算されていることが分かる。
図3(C)の2行目のテンプレートの送信時刻は「00:01:00.006」であるので、「00:01:00.006」に「11:00:17.169」が加算された「11:01:17.175」が
図3(D)の2行目のテスト通信データの送信時刻となっている。
図3(C)の3行目のテンプレートの送信時刻も「00:01:00.006」であるが、前述の通り、一つ前の行との差分であるため、「00:01:00.006」に、
図3(D)の2行目の送信時刻「11:01:17.175」が加算された「11:02:17.181」が
図3(D)の3行目のテスト通信データの送信時刻となっている。
【0037】
なお、
図3(B)の実通信データから、直接、
図3(D)のテスト通信データも生成してもよい。
図3(B)の各時刻に、「09:00:05.158」から「11:00:17.169」までの時間差を加算してもよい。つまり、
図3(C)のような加工が行われなくてもよい。
【0038】
情報処理装置13の送信部135は、テスト通信データに含まれる送信時刻に基づき、生成されたテスト通信データをデータ処理装置12に送信する(S204)。その際、送信部135は、IPスプーフィングなどの技術を用いて、テスト通信データの送信元がデータ提供装置であると偽装して送信するほうが好ましい。あるいは、テストデータに送信元に関する項目を含めておき、当該項目に、情報処理装置13ではなくデータ提供装置11を示す情報を設定することにより、データ処理装置12の処理を行うソフトウェアが、データ提供装置11からのデータと誤解するようにしてもよい。
【0039】
また、送信部135は、例えば、テスト通信データに含まれる送信時刻で送信を行ってもよいし、テスト通信データに含まれる送信時刻から所定時間経過後に送信を行ってもよい。これにより、データ処理装置12に対するテスト通信データによるテストが実行される。
【0040】
なお、一つのテスト通信データを用いてテストが行われてもよいが、複数のテスト通信データを順に送信してテストが行われるほうが、エラーの再現性が向上するため、好ましい。
図3(D)の例では、三つのテスト通信データが示されており、各テスト通信データの送信時刻が設定されている。このような場合に、送信部135は、各テスト通信データの送信時刻の間隔と同じ間隔で、各テスト通信データを送信したほうが好ましい。例えば、
図3(D)の1行目のテスト通信データを、その送信時刻「11:00:17.169」から1秒後の「11:00:18.169」に送信した場合、
図3(D)の2行目のテスト通信データも、同様に、その送信時刻「11:01:17.175」から1秒後の「11:01:18.175」に送信する。このように、各テスト通信データの送信間隔を変えないように送信すると、データ提供装置は実通信データと同じようにテスト通信データを受信する。ゆえに、このような実通信データと同じ送信間隔のテスト通信データを複数用いてテストを行うほうが、実際のデータ処理装置12の処理との違いが少なくなるため、一つのテスト通信データによるテストよりも好ましい。
【0041】
なお、上記のフローは一例であり、他にも様々な処理が行われ得る。例えば、上記では、ペイロード内の時刻以外の値は、変更されていない。ゆえに、データ処理装置が用いるデータは、実データと、テストデータと、で変わらない。しかし、送信間隔を変えてテストを行いたい場合もあり得る。そこで、解析部132は、解析処理の一つとして、実通信データの送信間隔の統計を取り、生成部134は統計結果に基づいてテスト通信データの送信時刻を決定してもよい。また、解析部132は、解析処理の一つとして、実通信データの送信間隔の平均、当該平均よりも所定時間以上外れて送信される事象の発生する確率を算出してもよい。また、当該確率の分布を、正規分布、ポアソン分布などによって正規化してもよい。また、グラブス検定などを用いて、外れ値、つまり、平均よりも所定時間以上外れて送信されたときの送信間隔を決定してもよい。生成部134は、このような解析結果を用いて、実データとは異なる送信間隔でテスト通信データを送信してもよい。また、同様にして、解析部132は、測定時刻、測定値に対しても統計を取り、生成部134は、統計結果に基づいてこれらの値を決定し、新しいテスト通信データに設定してもよい。
【0042】
図5は、解析結果の例を示す図である。
図5の例では、複数の機種がデータ提供装置として登録されている場合を示す。また、各行には、データ提供装置それぞれの実通信データの統計の結果が示されている。生成部134は、このような統計結果に基づき、テストデータの値を生成してもよい。例えば、機種Aに関するテスト通信データは、テストデータに示された測定時刻よりも5秒ほど遅れて送信するとし、0.001%の割合で測定時刻よりも5秒よりも遅れずに、または5秒よりも遅れて、送信するとしてもよい。
【0043】
なお、
図5のような解析結果を、実通信データ以外から取得することもあり得る。例えば、データ提供装置11の製造メーカーなどが、送信間隔、データ形式などの情報を提供する場合もあり得る。また、データ提供装置11と同じ機種の統計データを事前に入手できる場合もあり得る。そのような場合に、既に判明している情報は、予め記憶部133に記憶して起き、解析部は、判明していない項目に関して、統計処理を行えばよい。また、生成部134は、データ提供装置11の製造メーカーなどが提供したデータを正常系とみなし、実通信データに基づく統計結果を準正常系とみなし、正常系のテスト通信データと、準正常系のテスト通信データと、を生成してもよい。このようにして、正常系のテスト通信データに基づく正常系のテストと、準正常系のテスト通信データに基づく、準正常系のテストと、が実行されてもよい。
【0044】
また、送信部135がテスト通信データを送信するタイミングも、調整したほうが好ましい。例えば、データ提供装置11からデータ処理装置12までの送信に係る時間と、情報処理装置13からデータ処理装置12までの送信に係る時間と、を考慮して、送信のタイミングを変えることが好ましい。
【0045】
情報処理装置13は、実通信データを受信することが可能な場所に存在すればよく、データ提供装置11と同じLANにも存在できるし、データ提供装置11と同じLANにも存在できるし、データ提供装置11およびデータ提供装置11とは別の通信ネットワーク内にも存在することができる。しかし、情報処理装置13の位置によって、テスト通信データが情報処理装置13からデータ処理装置12に到達するまでの時間は異なる。ゆえに、当該時間についても考慮したほうが好ましい。
【0046】
図6は、情報処理装置13の配置の第1例を示す図である。
図6の例の場合、情報処理装置13と、データ提供装置11とは、ルータなどといった同じ通信機器21Aに接続されており、同じLAN2Aに存在している。この場合、実通信データとテスト通信データの通信時間はほぼ同じである。ゆえに、この場合、送信部135は、テスト通信データ内の設定した送信時刻にテスト通信データをデータ処理装置12に送信すればよい。
【0047】
図7は、情報処理装置13の配置の第2例を示す図である。
図7の例の場合、情報処理装置13と、データ処理装置12とが、同じ通信機器21Bに接続されており、同じLAN2Bに存在している。この場合は、実通信データは、データ提供装置11からLAN2Bに到達するまでにある程度の時間を要する。ゆえに、送信部135がテスト通信データ内の設定した送信時刻にテスト通信データをデータ処理装置12に送信してしまうと、実際との通信時間にある程度の差が出てしまう。そこで、送信部135は、テスト通信データ内の設定した送信時刻から、データ提供装置11からLAN2Bに到達するまでの時間分経過した時刻にテスト通信データを送信する。このようにすることにより、データ提供装置11がテスト通信データ内の設定した送信時刻に実通信データを送信したと仮定した場合にデータ処理装置12が実通信データを受信する時刻に、データ処理装置12がテスト通信データを受信するようにする。
【0048】
なお、情報処理装置13の設置位置に関する情報は予め記憶部133に記憶されていてもよい。あるいは、情報処理装置13の解析部132が、情報処理装置13のIPアドレスと、データ提供装置11またはデータ処理装置12のIPアドレスと、を比較することにより、データ提供装置11またはデータ処理装置12と同一LANに存在するか否かを判定してもよい。また、情報処理装置13の受信部131は、実通信データの受信時刻を記録しておき、解析部132が実通信データの送信時刻との差分を算出することにより、データ提供装置11から情報処理装置13までの通信時間を算出することができる。ゆえに、データ提供装置11から情報処理装置13までの通信時間を用いて、送信タイミングは調整可能である。
【0049】
以上のように、本実施形態によれば、データ提供装置11が送信した実通信データに基づいてテスト通信データを自動で作成できる。また、テスト通信データの内容を実通信データのように正常系、準正常系、および異常系が混合したものにすることができる。さらに、テスト通信データの内容だけでなく、テスト通信データの送信間隔、データ処理装置12によるテスト通信データの受信時間とのテスト通信データに含まれる測定時間との関係なども、実際の状況に近づけるため、再現性の高いテストを行うことができる。
【0050】
なお、上記の実施形態の少なくとも一部は、プロセッサ、メモリなどを実装しているIC(Integrated Circuit:集積回路)などの専用の電子回路(すなわちハードウェア)により実現されてもよい。また、上記の実施形態の少なくとも一部は、ソフトウェア(プログラム)を実行することにより、実現されてもよい。例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載されたCPUなどのプロセッサにプログラムを実行させることにより、上記の実施形態の処理を実現することが可能である。
【0051】
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
【0052】
図8は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。情報処理装置1は、プロセッサ41と、主記憶装置42と、補助記憶装置43と、ネットワークインタフェース44と、デバイスインタフェース45と、を備え、これらがバス46を介して接続されたコンピュータ装置4として実現できる。記憶部133は、主記憶装置42または補助記憶装置43により実現可能であり、その他の構成要素は、プロセッサ41により実現可能である。
【0053】
なお、
図8のコンピュータ装置4は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図8では、1台のコンピュータ装置4が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
【0054】
プロセッサ41は、コンピュータの制御装置および演算装置を含む電子回路である。プロセッサ41は、コンピュータ装置4の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ41は、コンピュータ装置4のOS(オペレーティングシステム)や、アプリケーションなどを実行し、コンピュータ装置4を構成する各装置を制御する。プロセッサ41は、上記の処理を行うことができれば特に限られるものではない。
【0055】
主記憶装置42は、プロセッサ41が実行する命令および各種データなどを記憶する記憶装置であり、主記憶装置42に記憶された情報がプロセッサ41により直接読み出される。補助記憶装置43は、主記憶装置42以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。
【0056】
ネットワークインタフェース44は、無線または有線により、通信ネットワーク5に接続するためのインタフェースである。ネットワークインタフェース44は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース44により、通信ネットワーク5を介して通信接続された外部装置6Aと情報のやり取りが行われてもよい。
【0057】
デバイスインタフェース45は、外部装置6Bと直接接続するUSBなどのインタフェースである。外部装置6Bは、外部記憶媒体でもよいし、データベースなどのストレージ装置でもよい。
【0058】
外部装置6Aおよび6Bは、前述のシミュレータ107でもよいし、出力装置でもよいし、入力装置でもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声などを出力する装置などでもよい。例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、スピーカなどがあるが、これらに限られるものではない。入力装置は、キーボード、マウス、タッチパネルなどのデバイスを備え、これらのデバイスにより入力された情報をコンピュータ装置4に与える。入力装置からの信号はプロセッサ41に出力される。
【0059】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、移行を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0060】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、移行を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0061】
1 情報処理システム
11 データ提供装置(第1装置)
12 データ処理装置(第2装置)
13 情報処理装置
131 受信部
132 解析部
133 記憶部
134 生成部
135 送信部
2A、2B LAN
21A、21B 通信機器
3 WAN
4 コンピュータ装置
41 プロセッサ
42 主記憶装置
43 補助記憶装置
44 ネットワークインタフェース
45 デバイスインタフェース
46 バス
5 通信ネットワーク
6Aおよび6B 外部装置