初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
上述の通り、適切な環境において、疑似障害を容易に発生させることに寄与する端末装置が望まれる。
そこで、一例として、図1に示す端末装置100を提供する。図1(a)は、端末装置100の内部構成の一例を示すブロック図である。また、図1(b)は、端末装置100の動作の一例を示すフローチャートである。図1(a)を参照すると、端末装置100は、疑似障害情報取得部101と、障害環境決定部102と、疑似障害管理部103と、を備える。
まず、疑似障害情報取得部101は、疑似障害の内容、及び疑似障害の種類に関する情報を含む、疑似障害情報を取得する(ステップS1001)。
ここで、疑似障害とは、端末装置100に疑似的に発生させる障害を意味する。ただし、端末装置100が疑似障害を発生させた場合であっても、端末装置100は動作不良を発生させないこととする。
そして、障害環境決定部102は、疑似障害プログラムを制御する疑似障害環境を、前記疑似障害の内容、前記疑似障害の種類に関する情報の少なくともいずれかに基づいて決定する(ステップS1002)。
ここで、疑似障害プログラムとは、疑似障害を発生させるプログラムを意味する。疑似障害プログラムは、疑似障害の発生に特化した処理を実行するプログラムであっても良い。また、疑似障害プログラムは、疑似障害の発生に特化した処理を実行するプログラムではなくとも、疑似障害を発生できれば、端末装置100の疑似障害以外の動作を制御するプログラムであっても良い。
また、疑似障害環境とは、疑似障害プログラムを制御するプログラムを意味する。例えば、疑似障害環境は、疑似障害プログラムを制御するOS(Operating System)等を含む。
例えば、疑似障害が、端末装置100の基本機能に影響を与える種類の障害である場合、障害環境決定部102は、疑似障害環境を、端末装置100の基本OSと異なるOSとしても良い。これは、端末装置100の基本OSと異なるOS上で、疑似障害を発生させることで、端末装置100の基本機能に対して、疑似障害が影響を与えることを防止するためである。
そして、疑似障害管理部103は、障害環境決定部102の決定する疑似障害環境において、疑似障害プログラムを用いて、疑似障害情報に応じた疑似障害を発生させる(ステップS1003)。
以上のように、端末装置100は、疑似障害の内容、種類を特定せず、疑似障害の内容、種類に応じて、発生させる疑似障害を容易に切り替えることができる。
さらに、端末装置100は、疑似障害の内容、種類に応じて、疑似障害を発生させる環境を切り替える。そのため、端末装置100は、疑似障害の内容、種類に応じて、適切な環境で疑似障害を発生させることができる。
従って、端末装置100は、適切な環境において、疑似障害を容易に発生させることに寄与する。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
図2は、本実施形態に係るシミュレーションシステム1の全体構成の一例を示すブロック図である。シミュレーションシステム1は、管理装置10と、1又は2以上の端末装置20と、を含んで構成される。また、管理装置10は、疑似障害情報データベース11を含んで構成される。なお、図2は、シミュレーションシステム1の全体構成を、図2で示す構成に限定する趣旨ではない。
管理装置10、及び端末装置20は、電子機器の障害の対象に関する教育用の装置である。管理装置10、及び端末装置20は、疑似的に端末装置20をエラー状態とする。そして、教育対象の保守技術者等は、端末装置20の疑似的なエラー状態に、実際に対処することを通じて、端末装置20の保守方法を学習できる。例えば、端末装置20は、CPU(Central Processing Unit)、ハードディスク、メモリ等を、疑似的にエラー状態としても良い。ただし、疑似的なエラー状態においては、端末装置20は、実際には、動作不良等を発生しないとする。
端末装置20は、管理装置10と通信する。端末装置20は、シリアル通信、電話回線、インターネット、LAN(Local Area Network)等を介して、管理装置10と通信する。通信形態は各種あるが、その詳細は問わない。
管理装置10は、コンピュータを備える情報処理装置であり、疑似障害情報を管理する。具体的には、管理装置10は、端末装置20に発生させる疑似障害を決定する。そして、管理装置10は、端末装置20に疑似障害の発生を要求する信号、及び当該疑似障害に対応する疑似障害情報を送信する。
疑似障害情報データベース11は、疑似障害情報を格納する。具体的には、疑似障害情報データベース11は、疑似障害の内容、疑似障害の種類に応じた、疑似障害の発生を指示するための情報を、疑似障害情報として格納する。疑似障害の発生を指示するための情報は、所定のフォーマットのファイルデータであっても良い。
端末装置20は、コンピュータを備える情報処理装置であり、疑似障害を発生する。端末装置20は、パーソナルコンピュータ、タブレット端末、携帯電話、スマートフォン、PHS(Personal Handy-phone System)であっても良い。
端末装置20は、管理装置10からの疑似障害の発生を要求する信号、及び当該疑似障害に対応する疑似障害情報を受信する。端末装置20は、疑似障害を制御するプログラムを実行し、疑似障害を発生させる。
例えば、端末装置20は、受信した疑似障害情報に基づいて、障害の発生を示すログ、エラーメッセージ等を生成しても良い。また、端末装置20は、所定の操作を無効にしても良い。あるいは、端末装置20は、ユーザの操作に対して、正常な処理結果と異なる結果を出力しても良い。ここで、端末装置20は、実際に障害を発生せずに、障害発生に相当する処理結果を出力することが好ましい。
教育対象者が疑似障害に対して処置を行った場合、端末装置20は、疑似障害を制御するプログラムに基づいて、教育対象者の疑似障害に対する処置の正誤を判断しても良い。その結果、端末装置20は、自端末装置20を壊れた状態にしなくとも、教育対象者に端末装置20を実際に操作させながら、障害に対処する方法を学習させることができる。
次に、本実施形態に係る管理装置10の内部構成について説明する。
図3は、本実施形態に係る管理装置10の内部構成の一例を示すブロック図である。管理装置10は、管理装置記憶部110と、管理装置通信部120と、管理装置表示部130と、管理装置操作部140と、管理装置制御部150と、を含んで構成される。管理装置制御部150は、稼働状態情報取得部151と、疑似障害情報登録部152と、疑似障害決定部153と、を含んで構成される。なお、図3は、本実施形態に係る管理装置10に関係するモジュールを主に記載する。
図3に示す各モジュールは、管理装置10に搭載されたコンピュータに、そのハードウェアを用いて、管理装置10の処理を実行させるコンピュータプログラムにより実現しても良い。
管理装置記憶部110は、ROM(Read Only Memory)、RAM(Random Access Memory)、及びハードディスク等のストレージデバイスを含んで構成される。管理装置記憶部110において、ROMは、管理装置制御部150の実行する各種の制御用プログラム等、固定的なデータを格納する。管理装置記憶部110において、RAMは、管理装置制御部150がプログラムを実行する際に、一時的に必要とするデータを格納する。また、管理装置記憶部110において、ハードディスク等のストレージデバイスは、疑似障害情報データベース11を格納する。
上述の通り、疑似障害情報データベース11は、疑似障害情報を格納する。特に、疑似障害情報データベース11は、稼働状態情報と、疑似障害情報と、を対応付けて格納する。ここで、稼働状態情報とは、端末装置20を構成する部品等の稼働状態を示す情報である。
管理装置通信部120は、管理装置10と、端末装置20との通信を制御する。
管理装置表示部130は、ユーザの認識できる形態で、各種情報を提示する。例えば、管理装置表示部130は、液晶パネル、有機EL(Electro Luminescence)パネル等であっても良い。
管理装置操作部140は、ユーザの操作を受け付ける。管理装置操作部140は、ユーザの操作を受け付けることができれば良いため、管理装置操作部140は、キーボード、タッチパネル等であっても良く、その詳細は問わない。
管理装置制御部150は、管理装置10の全体を制御すると共に、図3に示す各部を制御する。例えば、管理装置制御部150はCPUを用いて実現可能である。
稼働状態情報取得部151は、端末装置20から、当該端末装置20の稼働状態情報を取得する。具体的には、稼働状態情報取得部151は、端末装置20の稼働状態情報を要求する信号を、管理装置通信部120を介して当該端末装置20に送信する。そして、稼働状態情報を要求する信号を受信した端末装置20は、自端末装置20の稼働状態情報を管理装置10に返信する。
疑似障害情報登録部152は、疑似障害情報を疑似障害情報データベース11に登録する。例えば、管理装置10の管理者等は、管理装置操作部140を用いて、疑似障害の内容、疑似障害の種類等を入力しても良い。そして、疑似障害情報登録部152は、入力された疑似障害の内容、疑似障害の種類等と、端末装置20の稼働状態情報と、を対応付けて、疑似障害情報データベース11に登録しても良い。
疑似障害決定部153は、端末装置20に発生させる疑似障害を決定する。具体的には、疑似障害決定部153は、稼働状態情報取得部151の取得する稼働状態情報に基づいて、疑似障害情報データベース11から、1又は2以上の疑似障害情報を抽出する。より具体的には、疑似障害決定部153は、稼働状態情報取得部151の取得する稼働状態情報に対応する疑似障害情報を、疑似障害情報データベース11から検索し、抽出する。
そして、疑似障害決定部153は、1または2以上の抽出した疑似障害情報を、管理装置表示部130に表示する。管理装置10の操作者は、管理装置操作部140を用いて、管理装置表示部130に表示された疑似障害情報から、端末装置20に発生させる疑似障害の内容を選択する。疑似障害決定部153は、選択された疑似障害の内容に対応する疑似障害情報を、管理装置通信部120を介して、端末装置20に送信する。
次に、端末装置20の内部構成について説明する。
図4は、本実施形態に係る端末装置20の内部構成の一例を示すブロック図である。端末装置20は、端末装置記憶部210と、端末装置通信部220と、端末装置表示部230と、端末装置制御部240と、を含んで構成される。端末装置制御部240は、疑似障害情報取得部241と、エミュレータ制御部242と、障害環境決定部243と、疑似障害管理部244と、を含んで構成される。なお、図4は、本実施形態に係る端末装置20に関係するモジュールを主に記載する。
図4に示す各モジュールは、端末装置20に搭載されたコンピュータに、そのハードウェアを用いて、端末装置20の処理を実行させるコンピュータプログラムにより実現しても良い。
端末装置記憶部210は、ROM、RAM、及びハードディスク等のストレージデバイスを含んで構成される。端末装置記憶部210において、ROMは、端末装置制御部240の実行する各種の制御用プログラム等、固定的なデータを格納する。また、端末装置記憶部210において、ROMは、端末装置20のエミュレータ環境を動作させるプログラム等を格納する。さらに、端末装置記憶部210において、ROMは、疑似障害を発生するプログラムを格納する。また、端末装置記憶部210において、RAMは、端末装置制御部240がプログラムを実行する際に、一時的に必要とするデータを格納する。
端末装置通信部220は、端末装置20と、管理装置10と、の通信を制御する。
端末装置表示部230は、各種情報を、ユーザの認識できる形態で提示する。特に、端末装置表示部230は、疑似障害としてエラーメッセージ等をユーザに提示する。また、端末装置表示部230は、疑似障害に対する処置の処理結果、ユーザに提示する。端末装置表示部230は、液晶パネル、有機ELパネル等であっても良い。
端末装置制御部240は、端末装置20の全体を制御するとともに図4に示す各部を制御する。例えば、端末装置制御部240は、CPUを用いて実現可能である。
疑似障害情報取得部241は、疑似障害の内容、及び疑似障害の種類に関する情報を含む、疑似障害情報を、管理装置10から取得する。具体的には、疑似障害情報取得部241は、端末装置通信部220を介して、管理装置10から疑似障害情報を取得する。
エミュレータ制御部242は、エミュレータ環境を制御する。ここで、エミュレータ環境とは、端末装置20で動作する正常なOS、CPUの動作と同様の動作を実現するが、正常なOS等の動作から独立した処理を実行するプログラムを意味する。
また、エミュレータ制御部242は、正常なOSであるとユーザに誤認させる表示画像を、端末装置表示部230に提示することが好ましい。しかし、エミュレータ制御部242は、エミュレータ環境で疑似障害を発生させても、自端末装置20の基本機能を阻害しないとする。なお、端末装置20の基本機能とは、端末装置20を動作させるために、必要な機能を意味する。
障害環境決定部243は、疑似障害情報に含まれる、疑似障害の内容、疑似障害の種類の少なくともいずれかに基づいて、疑似障害プログラムを制御する疑似障害環境を決定する。
ここで、疑似障害プログラムとは、疑似障害を発生させることに限定したプログラムでなくても良い。端末装置20の機能を動作させるプログラムであって、所定のパラメータ等を入力して、疑似障害を発生させるプログラムを、疑似障害プログラムとしても良い。
障害環境決定部243は、疑似障害情報が所定の条件を満たす場合、エミュレータ環境を疑似障害環境として決定しても良い。障害環境決定部243は、疑似障害情報が所定の条件を満たさない場合、実環境を、疑似障害環境として決定しても良い。一方、ここで、実環境とは、端末装置20の基本機能を動作させるためのOS等の実行環境を意味する。
例えば、疑似障害情報取得部241の取得する疑似障害情報が、所定の内容、種類の疑似障害であることを示す場合、障害環境決定部243は、エミュレータ環境を疑似障害環境として決定しても良い。一方、疑似障害情報取得部241の取得する疑似障害情報が、所定の内容以外、又は所定の種類以外の疑似障害であることを示す場合、実環境を、疑似障害環境として決定しても良い。
また、障害環境決定部243は、疑似障害が、自端末装置20の基本機能に影響を与えない種類の障害である場合、実環境を、疑似障害環境として決定しても良い。
一方、障害環境決定部243は、疑似障害が、自端末装置20の基本機能に影響を与える種類の障害である場合、エミュレータ環境を、疑似障害環境として決定しても良い。
疑似障害管理部244は、障害環境決定部243の決定する疑似障害環境において、疑似障害情報に応じた疑似障害を、疑似障害プログラムを用いて発生させる。具体的には、疑似障害管理部244は、疑似障害情報に応じて、疑似障害プログラムを、端末装置記憶部210から読みだす。そして、疑似障害管理部244は、読みだした疑似障害プログラムを実行し、疑似障害を発生させる。
また、疑似障害管理部244は、疑似障害環境において、警告処理の実行、又はユーザの操作に対する不良動作の実行の少なくともいずれかの処理を、疑似障害として発生させる。
ここで、警告処理の実行とは、所定のランプのON/OFF、障害の発生を示すログの生成、エラーメッセージの表示等であっても良い。
また、ユーザの操作に対する不良動作とは、所定の指示に対する動作を実行しないことであっても良い。または、ユーザの操作に対する不良動作とは、所定の指示に対して、誤った動作を実行することであっても良い。
例えば、疑似障害管理部244が、ハードディスク不良を示す疑似障害を発生させるとする。その場合、疑似障害管理部244は当該疑似障害を発生させた場合、ディスクアクセス指示に対してディスクアクセスを実行しないように動作しても良い。
ここで、疑似障害管理部244が、ディスクアクセスを実行しない疑似障害を発生させるとする。その場合、疑似障害管理部244は、疑似障害プログラムがディスクアクセスをブロックしても良い。または、疑似障害管理部244は、ディスクアクセスを実行しても、アクセス結果を表示しないように動作しても良い。
また、例えば、疑似障害管理部244が、I/O不良を示す疑似障害を発生させるとする。その場合、疑似障害管理部244が当該疑似障害を発生させた場合、疑似障害プログラムが、入出力データを所定の値に限定しても良い。または、疑似障害管理部244は、データの入出力結果の表示において、所定の値に限定して表示しても良い。
さらに、疑似障害管理部244は、疑似障害の発生後に、疑似障害発生環境において、当該疑似障害に対応する第1の処理が行われた場合、第1の処理に応じて、疑似障害発生環境において第2の処理を実行する。ただし、疑似障害管理部244は、第1の処理、第2の処理が、端末装置20の基本機能を阻害しないように、第1の処理、及び第2の処理を実行することが好ましい。
そこで、第1の処理、第2の処理の少なくともいずれかが、端末装置20の基本機能を阻害する種類の処理である場合、疑似障害管理部244は、エミュレータ環境で第1の処理、及び第2の処理を実行することが好ましい。
例えば、教育対象者が、疑似障害に対する処置として、端末装置20の操作部(図示せず)を用いて、ソフトウェアのインストール、アンインストール等の操作を行ったとする。その場合、疑似障害管理部244は、ソフトウェアのインストール等の操作に基づいて、第1の処理として、ソフトウェアの疑似的なインストール処理を実行しても良い。そして、第1の処理が疑似障害を解決するために適切な処理であるか否かを、疑似障害管理部244は判断しても良い。
そして、第1の処理が疑似障害を解決するために適切な処理である場合には、疑似障害管理部244は、第2の処理として、疑似障害を解決したことを示すメッセージ等を表示しても良い。一方、第1の処理が疑似障害を解決するために不適切な処理である場合には、疑似障害管理部244は、第2の処理として、疑似障害を解決しないことを示す、新たな疑似障害を発生させてもよい。
なお、2以上の端末装置20が管理装置10と接続する場合、各端末装置20は、同一の指示、同一の順番の指示に対して、同一の疑似障害を発生させることが好ましい。
次に、本実施形態に係るシミュレーションシステム1の動作について説明する。
まず、疑似障害情報を決定する処理について説明する。
図5は、疑似障害情報を決定する処理の一例を示すフローチャートである。
まず、ステップS1において、稼働状態情報取得部151は、管理装置通信部120を介して、端末装置20に稼働状態情報の要求信号を送信する。ここで、稼働状態情報取得部151は、予め、稼働状態情報を要求する対象とする、端末装置20を特定しておいても良い。または、稼働状態情報取得部151は、自管理装置10と同一ネットワーク内の全ての端末装置20に、稼働状態情報を要求しても良く、端末装置20の特定方法の詳細は問わない。
そして、端末装置20は、稼働状態情報の要求信号を受信した場合(ステップS2)には、稼働状態情報を管理装置10に送信する(ステップS3)。具体的には、端末装置制御部240は、自端末装置20のメモリ等にアクセスし、CPU、メモリ等の稼働状態に関する情報を、稼働状態情報として取得する。そして、端末装置制御部240は、端末装置通信部220を介して、稼働状態情報を管理装置10に送信する。そして、稼働状態情報取得部151は、稼働状態情報を受信する(ステップS4)。
そして、疑似障害決定部153は、受信した稼働状態情報に対応する、1又は2以上の疑似障害情報を疑似障害情報データベース11から抽出する(ステップS5)。そして、疑似障害決定部153は、稼働状態情報、及び抽出された1又は2以上の疑似障害情報を表示する(ステップS6)。
そして、管理装置10の操作者は、表示された疑似障害情報から、端末装置20に発生させる疑似障害を、管理装置操作部140を用いて選択する。例えば、疑似障害に対処する教育対象者自身が、表示された疑似障害情報から、端末装置20に発生させる疑似障害を選択しても良い。または、教育対象者の指導者等が、表示された疑似障害情報から、端末装置20に発生させる疑似障害を選択しても良い。
そして、ユーザの操作に基づいて、疑似障害情報が選択されたか否かを、疑似障害決定部153は判断する(ステップS7)。疑似障害情報が選択された場合(ステップS7のYes分岐)には、ステップS8に遷移する。一方、疑似障害情報が選択されていない場合(ステップS7のNo分岐)には、疑似障害決定部153は、疑似障害情報が選択されたか否かを判断する処理(ステップS7)を繰り返す。
ステップS8において、疑似障害決定部153は、管理装置通信部120を介して、端末装置20に、選択された疑似障害情報を送信する。そして、疑似障害情報取得部241は、端末装置通信部220を介して、選択された疑似障害情報を受信する(ステップS9)。そして、図8に示すステップS21に遷移する。
図6は、稼働状態情報の表示画像の一例を示す図である。具体的には、図6は、CPU、メモリ、ディスク、ランプ、ファイルの項目に関して、各項目が正常に稼働していることを示す。例えば、端末装置20において、正常に稼働していない回路等が存在する場合には、端末装置20は、その回路等に関する疑似障害を発生させないことが好ましい。そのため、図6に示すように、操作者が疑似障害を選択する前に、管理装置10が稼働状態情報を表示することで、操作者は疑似障害の発生の可否を判断できる。
また、図7は、疑似障害の候補の表示画像の一例を示す図である。具体的には、図7は、疑似障害ID「エラー1001」〜「エラー1006」の疑似障害に関して、夫々、疑似障害の内容と、疑似障害の選択結果を示す。例えば、操作者が、管理装置操作部140を用いて、図7に示す疑似障害の候補から、疑似障害ID「エラー1001」の疑似障害を選択したとする。その場合,疑似障害決定部153は、疑似障害ID「エラー1001」が選択されたことを、図7に示すようにチェックマーク等で示しても良い。そして、図7に示す「Yes」ボタンが選択されたとする。その場合、疑似障害決定部153は、疑似障害ID「エラー1001」の疑似障害に関する疑似障害情報を、端末装置20に送信する。
次に、疑似障害の発生を制御する処理について説明する。
図8は、疑似障害の発生を制御する処理の一例を示すフローチャートである。
ここで、疑似障害情報取得部241は、端末装置通信部220を介して、選択された疑似障害情報を受信した状態である(図5に示すステップS9)とする。その場合、障害環境決定部243は、受信した疑似障害情報に基づいて、疑似障害環境を決定する(ステップS21)。
そして、疑似障害管理部244は、受信した疑似障害情報に基づいて、決定された疑似障害環境において、疑似障害を発生させる(ステップS22)。具体的には、疑似障害管理部244は、疑似障害情報に基づいて、疑似的な障害の発生を示すエラーメッセージの生成、ユーザの操作に対する不良動作等を実行する。
そして、疑似障害に対応する操作が実行されたか否かを、疑似障害管理部244は判断する(ステップS23)。例えば、疑似障害に関係するソフトウェアのインストール、アンインストール等を指示する操作が検出された場合、疑似障害管理部244は、疑似障害に対応する操作が実行されたと判断しても良い。また、疑似障害に関係する部品等が交換されたことを検出した場合、疑似障害管理部244は、疑似障害に対応する操作が実行されたと判断しても良い。疑似障害に対応する操作は、疑似障害の内容等に応じて異なり、その詳細は問わない。
疑似障害に対応する操作が実行された場合(ステップS23のYes分岐)には、疑似障害管理部244は、疑似障害に対応する操作に応じて、疑似障害に対応する第1の処理を実行する(ステップS24)。そして、ステップS25に遷移する。一方、疑似障害に対応する操作が実行されていない場合(ステップS23のNo分岐)には、疑似障害管理部244は、疑似障害に対応する操作の実行を判断する処理(ステップS23)を繰り返す。
例えば、疑似障害に関係するソフトウェアのインストール、アンインストール等を指示する操作が検出されたとする。その場合、疑似障害管理部244は、ソフトウェアのインストール、アンインストール等の正誤を判断する処理を、第1の処理として実行しても良い。ここで、疑似障害管理部244は、実際には、ソフトウェアのインストール、アンインストール等の処理を実行するわけではない。
または、疑似障害に関係する部品等が交換されたことを検出したとする。その場合、疑似障害管理部244は、部品等の交換の正誤を判断する処理を、第1の処理として実行してもよい。ここで、疑似障害管理部244は、実際には、部品等の交換に応じて、内部の動作を変更するわけではない。
そして、ステップS25において、疑似障害管理部244は、第1の処理の結果を示す第2の処理を実行する。そして、ステップS26に遷移する。
例えば、疑似障害管理部244は、ソフトウェアのインストール、アンインストール等の正誤を判断する処理を、第1の処理として実行したとする。その場合、疑似障害管理部244は、ソフトウェアのインストール、アンインストール等の正誤を示すメッセージの生成、表示等を、第2の処理として実行する。
または、疑似障害管理部244は、部品等の交換の正誤を判断する処理を、第1の処理として実行したとする。その場合、疑似障害管理部244は、部品等の交換の正誤を示すメッセージの生成、表示等を、第2の処理として実行する。また、第1の処理が不適切である場合、疑似障害管理部244は、第2の処理として、新たな疑似障害を生成しても良い。
そして、ステップS26において、疑似障害が解消されたか否かを、疑似障害管理部244は判断する。疑似障害が解決された、と疑似障害管理部244が判断する場合(ステップS26のYes分岐)には、疑似障害を制御する処理を終了する。一方、疑似障害が解決されていない、と疑似障害管理部244が判断する場合(ステップS26のNo分岐)には、ステップS23に戻り、処理を継続する。
図9は、疑似障害を示すエラーメッセージの一例を示す図である。具体的には、図9は、POST(Power On Save Test)処理において障害が発生したことを示す、エラーメッセージの一例である。なお、POST処理とは、起動時に、メモリの確認、CPU等の各回路、各デバイスの設定等の確認、その正常性の確認を実行することを意味する。
ここで、図9は疑似障害を示しており、端末装置20に実際に障害が発生しているわけではない。しかし、端末装置20において、教育対象者は、図9に示す疑似障害に対処するために、部品等の交換、ソフトウェアのインストール等の操作を実行できる。そして、疑似障害管理部244は、実行された操作に応じて、操作の正誤を判断し、操作内容に応じたメッセージの表示等を実行する。また、疑似障害管理部244は、疑似障害に対する対処が不適切である場合、新たな疑似障害を生成しても良い。
その結果、端末装置20においては、実際に端末装置20を壊れた状態にしないにもかかわらず、教育対象者は、端末装置20の障害に対処する方法を、実作業を通して学習できる。
以上のように、本実施形態に係る端末装置20は、疑似障害を発生させる。さらに、本実施形態に係る端末装置20は、疑似障害の内容、疑似障害の種類に応じて、異なるプログラムの管理下で、疑似障害を発生させる。具体的には本実施形態に係る端末装置20は、疑似障害の内容、種類に応じて、疑似障害を発生させるプログラム、疑似障害発生環境を切り替えることができる。さらに、本実施形態に係る端末装置20は、疑似障害を発生させる装置を、実際に壊れた状態にする必要がない。従って、本実施形態に係る端末装置20は、適切な環境において、疑似障害を容易に発生させることに寄与する。
また、本実施形態に係る端末装置20は、疑似障害に対する操作に応じて、操作の正誤を判断し、操作内容に応じたメッセージの表示等を実行する。そのため、本実施形態に係るシミュレーションシステム1は、教育対象者に、障害に実際に対処させることを通じて、教育対象者に、障害の対処方法を学習させることに寄与する。
また、本実施形態に係る端末装置20においては、疑似障害を制御するプログラムが存在すれば良く、疑似障害の内容、種類を限定しない。そのため、本実施形態に係る端末装置20は、目的に応じた疑似障害を発生させることができる。従って、本実施形態に係る端末装置20においては、多様な障害に対処できるように、教育対象者を教育することに寄与する。
また、本実施形態に係る端末装置20は、障害を発生させるために、人手でファイルを書き換えるコスト(時間、人件費)を削減できる。また、実際に端末装置20を壊れた状態にする場合、障害から復帰するためのコスト(時間、人件費)がかかる。しかし、本実施形態に係る端末装置20は、実際に端末装置20を壊れた状態にはしないため、障害から復帰するためのコストを削減できる。従って、保守技術者に対して、異なる種類の障害に対処するための教育において、本実施形態に係る端末装置20は、教育に係る時間、費用を低減することに貢献する。
[第2の実施形態]
続いて、第2の実施形態について、図面を用いて詳細に説明する。
本実施形態は、管理装置が、疑似障害を発生させるソフトウェアを、端末装置にインストールする形態である。なお、本実施形態における説明では、上記の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、上記の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。また、本実施形態における説明では、上記の実施形態と同一の作用効果についても、その説明を省略する。
図10は、本実施形態に係るシミュレーションシステム1aの全体構成の一例を示すブロック図である。図10に示すシミュレーションシステム1aと、図2に示すシミュレーションシステム1との相違点は、図10に示すシミュレーションシステム1aにおいては、管理装置10aが疑似障害プログラムデータベース12を含む点である。
疑似障害プログラムデータベース12は、疑似障害を発生させるプログラムデータ(以下、疑似障害プログラムデータと呼ぶ)を格納する。
本実施形態に係る管理装置10aは、選択された疑似障害情報に応じた疑似障害プログラムデータを、疑似障害の発生対象の端末装置20にインストールする。そして、本実施形態に係る端末装置20は、インストールされた疑似障害プログラムデータを実行し、疑似障害を発生させる。
ここで、プログラムデータとは、所定のフォーマットに従ったXML(Extensible Markup Language)等のテキストデータ、所定のプログラム言語で書かれたプログラムデータを含む。例えば、所定のプログラム言語で書かれたプログラムデータとは、コンパイル及びリンケージ済みの実行可能なオブジェクトファイルであっても良い。また、所定のプログラム言語で書かれたプログラムデータとは、所定のインタープリタで実行可能なスクリプトファイルであっても良い。あるいは、所定のプログラム言語で書かれたプログラムデータとは、所定の実行エンジン上で動作するコンパイル済みファイルであっても良い。
図11は、本実施形態に係る管理装置10aの内部構成の一例を示すブロック図である。図11に示す管理装置10aと、図3に示す管理装置10との相違点は、図11に示す管理装置10aは、疑似障害プログラムデータベース12と、疑似障害プログラム管理部154と、を含む点である。なお、本実施形態に係る端末装置20の内部構成は、図4に示す通りであるため、第1の実施形態と同一の構成要素については、詳細な説明は省略する。
上述のとおり、疑似障害プログラムデータベース12は、疑似障害プログラムデータを格納する。具体的には、疑似障害プログラムデータベース12は、疑似障害情報と、疑似障害プログラムデータと、を対応付けて格納する。疑似障害プログラムデータベース12は、疑似障害情報と、疑似障害プログラムデータと、を対応付けたテーブル(以下、疑似障害プログラムデータと呼ぶ)を格納しても良い。
疑似障害プログラム管理部154は、疑似障害情報に基づいて、疑似障害プログラムデータベース12から疑似障害プログラムデータを抽出する。さらに、疑似障害プログラム管理部154は、抽出した疑似障害プログラムデータに基づいて、端末装置20に、疑似障害プログラムをインストールする。
具体的には、疑似障害プログラム管理部154は、抽出した疑似障害プログラムデータ、及びインストールを指示する信号を、端末装置20に送信する。そして、疑似障害プログラムデータ等を受信した端末装置20の疑似障害管理部244は、当該疑似障害プログラムデータに基づいて、、自端末装置20に、疑似障害プログラムをインストールする。そして、疑似障害管理部244は、管理装置10からインストールされた疑似障害プログラムを、障害環境決定部243の決定した疑似障害環境において実行する。
次に、本実施形態に係るシミュレーションシステム1aの動作について説明する。
図12は、本実施形態に係るシミュレーションシステム1aの動作の一例を示すフローチャートである。
ここで、ユーザの操作に基づいて、疑似障害情報が選択された状態である(図5に示すステップS7のYes分岐)とする。その場合、疑似障害プログラム管理部154は、選択された疑似障害情報をキーとして、疑似障害プログラムデータベース12から、疑似障害プログラムデータを検索する(ステップS101)。
そして、疑似障害プログラム管理部154は、疑似障害プログラムデータベース12から疑似障害プログラムデータを取得する(ステップS102)。
そして、疑似障害プログラム管理部154は、疑似障害プログラムのインストール処理を端末装置20に指示する(ステップS103)。インストール指示を受信した端末装置20の疑似障害管理部244は、疑似障害プログラムをインストールする(ステップS104)。そして、疑似障害管理部244は、インストールした疑似障害プログラムを実行し、疑似障害を発生させる(ステップS105)。そして、図8に示すステップS22に遷移する。
図13は、疑似障害プログラムテーブルの一例を示す図である。具体的には、図13は、疑似障害IDと、疑似障害を発生させる部品と、疑似障害プログラムデータと、を対応付けた疑似障害プログラムテーブルを示す。特に、図13は、疑似障害を発生させる部品として、BMC(Base Management Controller)、BIOS(Basic Input/Output System)、SDR(Software-Defined Radio)、I/O、CPUに関して、疑似障害IDと、疑似障害プログラムと、を対応付けた疑似障害プログラムテーブルを示す。なお、図13は、疑似障害プログラムテーブルを、図13に形式に限定する趣旨ではない。
例えば、疑似障害決定部153が、BMCに関する疑似障害ID「疑似障害2001」を、疑似障害として決定したとする。その場合、疑似障害プログラム管理部154は、図13に示す疑似障害プログラムテーブルを参照する。そして、疑似障害プログラム管理部154は、図13に示す疑似障害プログラムテーブルに基づいて、疑似障害プログラムデータ「プログラム1」を抽出する。そして、疑似障害プログラム管理部154は、疑似障害プログラムデータ「プログラム1」を端末装置20にインストールする。
[変形例1]
本実施形態に係るシミュレーションシステム1aの変形例1として、端末装置20は、疑似障害が解決された場合、対応する疑似障害プログラムデータをアンインストールしても良い。その結果、端末装置20は、疑似障害の解決後に、不要なプログラムデータを保持することを防止でき、不要なメモリ消費を抑制できる。
以上のように、本実施形態に係る端末装置20は、管理装置10からインストールされた疑似障害プログラムを実行する。従って、本実施形態に係る端末装置20は、上記の実施形態と同様の効果を奏するとともに、より一層、目的に応じた疑似障害を容易に発生させることに寄与する。
また、本実施形態に係る端末装置20は、疑似障害の内容に応じて異なるプログラムデータを記憶する必要がない。そのため、第1の実施形態に係る端末装置20より少ないディスク容量の装置で実現することができる。
[第3の実施形態]
続いて、第3の実施形態について、図面を用いて詳細に説明する。
本実施形態は、端末装置が自己診断を実施し、自己診断の結果に応じた疑似障害を発生させる形態である。なお、本実施形態における説明では、上記の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、上記の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。また、本実施形態における説明では、上記の実施形態と同一の作用効果についても、その説明を省略する。
本実施形態に係るシミュレーションシステム1の全体構成は、図2に示す通りであるため、詳細な説明は省略する。また、本実施形態に係る管理装置10の内部構成は、図3に示す通りであるため、詳細な説明は省略する。
図14は、本実施形態に係る端末装置20bの内部構成の一例を示すブロック図である。図14に示す端末装置20bと、図4に示す端末装置20との相違点は、図14に示す端末装置20bは、自己診断部245を含む点である。
自己診断部245は、自己診断を実行する。ここで、自己診断処理とは、所謂、POST処理を意味する。具体的には、自己診断部245は、自己診断として、メモリの確認、CPU等の各回路、各デバイスの設定等の確認、その正常性の確認を実行する。
本実施形態に係る疑似障害管理部244は、自己診断部245の自己診断結果、及び疑似障害情報に基づいて、疑似障害を発生させる。具体的には、疑似障害管理部244は、自己診断結果、及び疑似障害情報に基づいて、CPU、ハードディスク等の障害に関する疑似障害を発生させる。
次に、本実施形態に係る端末装置20bの動作について説明する。
図15は、本実施形態に係る端末装置20bの動作の一例を示すフローチャートである。
ここで、疑似障害情報取得部241は、端末装置通信部220を介して、選択された疑似障害情報を受信した状態である(図5に示すステップS9)とする。その場合、自己診断部245は、自己診断処理を実行する(ステップS201)。そして、疑似障害管理部244は、自己診断結果、及び疑似障害情報に基づいて、疑似障害を発生させる(ステップS202)。そして、図8に示すステップS22に遷移する。
以上のように、本実施形態に係る端末装置20bは、自己診断の結果に基づいて、疑似障害を発生させる。そのため、本実施形態に係る端末装置20bは、実際には当該端末装置20bにおいて発生し得ない障害を、疑似障害として発生させることを防止できる。従って、本実施形態に係る端末装置20bは、第1の実施形態に係る端末装置20と同様の効果を奏するとともに、より一層、実際の装置構成等に適合した疑似障害を発生させることに寄与する。
なお、上記した実施形態においては、管理装置の内部に疑似障害情報データベースを備える形態について説明した。しかし、疑似障害情報データベースは、管理装置と異なる装置に配置されても良い。その場合、疑似障害情報データベースを備える装置と、管理装置と、は所定のネットワークを介して通信しても良い。
上述の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)上記第1の視点に係る端末装置の通りである。
(付記2)エミュレータ環境を制御するエミュレータ制御部を備え、前記障害環境決定部は、前記疑似障害情報が所定の条件を満たす場合、前記エミュレータ環境を疑似障害環境として決定し、前記疑似障害情報が所定の条件を満たさない場合、実環境を前記疑似障害環境として決定する付記1に記載の端末装置。
(付記3)前記障害環境決定部は、前記疑似障害が、前記所定の条件を満たす場合、又は自端末装置の基本機能に影響を与える種類の障害である場合、前記エミュレータ環境を、前記疑似障害環境として決定し、前記疑似障害が、前記所定の条件を満たさない場合、又は自端末装置の基本機能に影響を与えない種類の障害である場合、前記実環境を、前記疑似障害環境として決定する付記2に記載の端末装置。
(付記4)前記疑似障害管理部は、前記疑似障害の発生後に、前記疑似障害環境において当該疑似障害に対応する第1の処理が行われた場合、前記第1の処理に応じて、前記疑似障害環境において第2の処理を実行する付記1乃至3のいずれか一に記載の端末装置。
(付記5)自己診断を実行する自己診断部を備え、前記疑似障害管理部は、前記自己診断部の自己診断結果、及び前記疑似障害情報に基づいて、前記疑似障害を発生させる付記1乃至4のいずれか一に記載の端末装置。
(付記6)上記第2の視点に係るシミュレーションシステムの通りである。
(付記7)前記管理装置は、前記疑似障害情報と、疑似障害プログラムデータと、を対応付けて格納する疑似障害プログラムデータベースと、前記疑似障害決定部の決定する前記疑似障害情報に基づいて、前記疑似障害プログラムデータベースから前記疑似障害プログラムデータを抽出するとともに、抽出した前記疑似障害プログラムデータに基づいて、前記端末装置に、前記疑似障害プログラムをインストールする疑似障害プログラム管理部と、を備え、前記疑似障害管理部は、前記管理装置からインストールされた前記疑似障害プログラムデータを、前記疑似障害環境において実行する付記6に記載のシミュレーションシステム。
(付記8)前記管理装置は、稼働状態情報と、前記疑似障害情報と、を対応付けて格納する疑似障害情報データベースと、前記端末装置から、当該端末装置の前記稼働状態情報を取得する前記稼働状態情報を取得する稼働状態情報取得部と、前記稼働状態情報に基づいて、前記疑似障害情報データベースから、1又は2以上の疑似障害情報を抽出する疑似障害決定部と、を備える付記6又は7に記載のシミュレーションシステム。
(付記9)上記第3の視点に係る端末装置の制御方法の通りである。
(付記10)エミュレータ環境を制御する工程を含み、前記障害環境決定工程において、前記疑似障害情報が所定の条件を満たす場合、前記エミュレータ環境を疑似障害環境として決定し、前記疑似障害情報が所定の条件を満たさない場合、実環境を前記疑似障害環境として決定する付記9に記載の端末装置の制御方法。
(付記11)前記障害環境決定工程において、前記疑似障害が、前記所定の条件を満たす場合、又は自端末装置の基本機能に影響を与える種類の障害である場合、前記エミュレータ環境を、前記疑似障害環境として決定し、前記疑似障害が、前記所定の条件を満たさない場合、又は自端末装置の基本機能に影響を与えない種類の障害である場合、前記実環境を、前記疑似障害環境として決定する付記10に記載の端末装置の制御方法。
(付記12)前記疑似障害管理工程において、前記疑似障害の発生後に、前記疑似障害環境において当該疑似障害に対応する第1の処理が行われた場合、前記第1の処理に応じて、前記疑似障害環境において第2の処理を実行する付記9乃至11のいずれか一に記載の端末装置の制御方法。
(付記13)自己診断を実行する工程を含み、前記疑似障害管理工程において、前記自己診断の結果、及び前記疑似障害情報に基づいて、前記疑似障害を発生させる付記9乃至12のいずれか一に記載の端末装置の制御方法。
(付記14)上記第4の視点に係る端末装置の制御プログラムの通りである。
(付記15)エミュレータ環境を制御する処理を実行し、前記障害環境決定処理において、前記疑似障害情報が所定の条件を満たす場合、前記エミュレータ環境を疑似障害環境として決定し、前記疑似障害情報が所定の条件を満たさない場合、実環境を前記疑似障害環境として決定する付記14に記載の端末装置の制御プログラム。
(付記16)前記障害環境決定処理において、前記疑似障害が、前記所定の条件を満たす場合、又は自端末装置の基本機能に影響を与える種類の障害である場合、前記エミュレータ環境を、前記疑似障害環境として決定し、前記疑似障害が、前記所定の条件を満たさない場合、又は自端末装置の基本機能に影響を与えない種類の障害である場合、前記実環境を、前記疑似障害環境として決定する付記15に記載の端末装置の制御プログラム。
(付記17)前記疑似障害管理処理において、前記疑似障害の発生後に、前記疑似障害環境において当該疑似障害に対応する第1の処理が行われた場合、前記第1の処理に応じて、前記疑似障害環境において第2の処理を実行する付記14乃至16のいずれか一に記載の端末装置の制御プログラム。
(付記18)自己診断を実行する処理を実行し、前記疑似障害管理処理において、前記自己診断の結果、及び前記疑似障害情報に基づいて、前記疑似障害を発生させる付記14乃至17のいずれか一に記載の端末装置の制御プログラム。
(付記19)端末装置と通信する管理装置通信部と、疑似障害情報と、疑似障害プログラムデータと、を対応付けて格納する疑似障害プログラムデータベースと、前記疑似障害情報に基づいて、前記疑似障害プログラムデータベースから前記疑似障害プログラムデータを抽出するとともに、抽出した前記疑似障害プログラムデータに基づいて、前記端末装置に、前記疑似障害プログラムをインストールする疑似障害プログラム管理部と、を備える管理装置。
(付記20)端末装置と通信する管理装置通信部を備える管理装置の制御方法であって、疑似障害情報と、疑似障害プログラムデータと、を対応付けて、疑似障害プログラムデータベースとして格納する工程と、前記疑似障害情報に基づいて、前記疑似障害プログラムデータベースから前記疑似障害プログラムデータを抽出するとともに、抽出した前記疑似障害プログラムデータに基づいて、前記端末装置に、前記疑似障害プログラムをインストールする疑似障害プログラム管理工程と、を含む管理装置の制御方法。
(付記21)端末装置と通信する管理装置通信部を備える管理装置を制御するコンピュータに実行させるプログラムであって、疑似障害情報と、疑似障害プログラムデータと、を対応付けて、疑似障害プログラムデータベースとして格納する処理と、前記疑似障害情報に基づいて、前記疑似障害プログラムデータベースから前記疑似障害プログラムデータを抽出するとともに、抽出した前記疑似障害プログラムデータに基づいて、前記端末装置に、前記疑似障害プログラムをインストールする疑似障害プログラム管理処理と、を実行する管理装置の制御プログラム。
なお、第2の視点に係るシミュレーションシステムを、上記付記2乃至5と同様に展開しても良い。
なお、引用した上述の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。