(57)【要約】  本発明は、電子計算機（１００）が通信ミドルウェア（１０）を実行して実現される情報処理装置であり、アプリケーションソフトウェア（４０）からの指示に従い外部機器（２００）と通信を行う通信処理部（１２）と、アプリケーションソフトウェア（４０）が動作する環境に関する情報である環境情報をオペレーティングシステム（３０）から取得して環境情報ログファイル（２１）に書き込む第１の情報トレース処理を、予め定められた第１の条件を満たした場合に実行し、通信処理部（１２）が外部機器（２００）と行った通信の手順を表す情報を通信ログファイル（２２）に書き込むとともに、環境情報をオペレーティングシステム（３０）から取得して環境情報ログファイル（２１）に書き込む第２の情報トレース処理を、予め定められた第２の条件を満たした場合に実行するトレース処理部（１１）と、を備える。
2019180794.tif 000002
【特許請求の範囲】
【請求項１】
電子計算機がミドルウェアを実行して実現される情報処理装置であって、
前記電子計算機にインストールされているアプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理部と、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報を前記電子計算機にインストールされているオペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を、予め定められた第１の条件を満たした場合に実行し、前記通信処理部が前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を、予め定められた第２の条件を満たした場合に実行するトレース処理部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記環境情報を、前記オペレーティングシステムの動作状態を表す情報とする、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記環境情報は、メインメモリの使用状況を表す情報を含む、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記トレース処理部は、前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１から３のいずれか一つに記載の情報処理装置。
【請求項５】
前記トレース処理部は、前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１から４のいずれか一つに記載の情報処理装置。
【請求項６】
前記トレース処理部は、前記第１の情報トレース処理を前回実施してから予め定められた時間が経過すると前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１から５のいずれか一つに記載の情報処理装置。
【請求項７】
前記トレース処理部は、前記予め定められた時間を、前記第１の情報トレース処理を実行するごとに、それまでよりも短い時間に変更する、
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記トレース処理部は、前記第１の情報トレース処理を前回実施した後に通信を行った回数が予め定められた回数になると前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１から５のいずれか一つに記載の情報処理装置。
【請求項９】
前記トレース処理部は、前記予め定められた回数を、前記第１の情報トレース処理を実行するごとに、それまでよりも少ない回数に変更する、
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記トレース処理部は、前記通信処理部が前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項１から９のいずれか一つに記載の情報処理装置。
【請求項１１】
前記トレース処理部は、前記通信処理部が前記外部機器との通信に失敗した理由に基づいて、前記第２の情報トレース処理で前記オペレーティングシステムから取得する前記環境情報の内容を変更する、
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
オペレーティングシステムおよびアプリケーションソフトウェアとともに電子計算機にインストールされ、外部機器と通信を行うミドルウェアであって、
前記アプリケーションソフトウェアからの指示に従い前記外部機器と通信を行う通信処理ステップと、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を予め定められた第１の条件を満たした場合に実行する第１の情報トレースステップと、
前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を予め定められた第２の条件を満たした場合に実行する第２の情報トレースステップと、
を実行することを特徴とするミドルウェア。
【請求項１３】
前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１２に記載のミドルウェア。
【請求項１４】
前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１２または１３に記載のミドルウェア。
【請求項１５】
前記通信処理ステップで前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項１２から１４のいずれか一つに記載のミドルウェア。
【請求項１６】
オペレーティングシステムおよびアプリケーションソフトウェアを実行する情報処理装置で実行される情報処理方法であって、
前記アプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理ステップと、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を予め定められた第１の条件を満たした場合に実行する第１の情報トレースステップと、
前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を予め定められた第２の条件を満たした場合に実行する第２の情報トレースステップと、
を含むことを特徴とする情報処理方法。
【請求項１７】
前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１６に記載の情報処理方法。
【請求項１８】
前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１６または１７に記載の情報処理方法。
【請求項１９】
前記通信処理ステップで前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項１６から１８のいずれか一つに記載の情報処理方法。
【請求項２０】
アプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理ステップと、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報をオペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を予め定められた第１の条件を満たした場合に実行する第１の情報トレースステップと、
前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を予め定められた第２の条件を満たした場合に実行する第２の情報トレースステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項２１】
第１の情報トレースステップ前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項２０に記載のプログラム。
【請求項２２】
前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項２０または２１に記載のプログラム。
【請求項２３】
前記通信処理ステップで前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項２０から２２のいずれか一つに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションソフトウェアと他の機器との間の通信を実現するミドルウェアを使用する情報処理装置、ミドルウェア、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
ミドルウェアは、オペレーティングシステム（ＯＳ：Operating  System）とアプリケーションソフトウェア（以下、アプリケーションと称する）との間に介在し、特定の機能を各種アプリケーションに提供する。通信用のミドルウェアは、アプリケーションが外部の他の機器（以下、外部機器と称する）と通信を行いたい場合に、外部機器との間で必要な情報をやりとりして接続を確立し、アプリケーションの代わりに外部機器との間でデータの送受信を行う。通信用のミドルウェアが外部機器との通信を行うため、外部機器と通信するための機能を各アプリケーションが個別に備える必要が無くなる。【０００３】
一般的に、ミドルウェアを含む各種のソフトウェアは、動作の検証に用いるため、および、不具合が発生した場合にその原因を特定する調査に用いるために、実行した処理内容および処理の結果といった、ソフトウェアの動作に関連する各種の情報を含んだデータを生成し、記憶装置に記憶させるなどして残しておくロギング機能を有する。【０００４】
特許文献１には、クライアント端末で実行されるプログラムの不具合を解析するための不具合情報を収集して記憶しておく発明が記載されている。特許文献１に記載の発明では、クライアント端末で実行されるソフトウェアが、不具合の発生を検知すると、不具合の解析に有用な各種の情報を収集し、収集した情報をまとめたものを不具合情報としてサーバへ送信し、サーバは、クライアント端末から不具合情報を受信するとこれを記憶媒体に保存する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２５６２４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の発明は、不具合が発生した時の情報を収集して記憶しておくものであるため、不具合の発生箇所が分かる。しかし、不具合の発生が他のソフトウェアの動作に起因する場合、例えば、他のアプリケーションの動作に伴い発生するメモリリーク、ウイルスチェックソフトが行う動作監視に伴い発生する割り込み処理などが原因の場合、不具合が発生した時の情報だけでは原因を特定することが難しい。例えば、不具合発生時にメモリリークが発生しているか否かは、メモリの状態の変化を知る必要があるが、不具合発生時の情報だけではそれまでの経過が分からないため、変化を知ることができない。【０００７】
本発明は、上記に鑑みてなされたものであって、アプリケーションの動作の影響によって発生した不具合の原因を解析するための情報を収集可能な情報処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、電子計算機がミドルウェアを実行して実現される情報処理装置であり、電子計算機にインストールされているアプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理部を備える。また、情報処理装置は、アプリケーションソフトウェアが動作する環境に関する情報である環境情報を電子計算機にインストールされているオペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を、予め定められた第１の条件を満たした場合に実行し、通信処理部が外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、環境情報をオペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を、予め定められた第２の条件を満たした場合に実行するトレース処理部を備える。
【発明の効果】
【０００９】
本発明にかかる情報処理装置は、アプリケーションの動作の影響によって発生した不具合の原因を解析するための情報を収集することができる、という効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態にかかるミドルウェアを実行する電子計算機のハードウェア構成例を示す図
【図２】実施の形態にかかる情報処理装置の要部構成を示す図
【図３】実施の形態にかかる通信ミドルウェアの動作の一例を示すシーケンス図
【図４】実施の形態にかかる通信ミドルウェアの動作の一例を示すフローチャート
【図５】実施の形態にかかる通信ミドルウェアが情報トレース処理を実行するタイミングの一例を示す図
【図６】実施の形態にかかる通信ミドルウェアが情報トレース処理を実行するタイミングの他の例を示す図
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかる情報処理装置、ミドルウェア、情報処理方法およびプログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態．
図１は、本発明の実施の形態にかかるミドルウェアを実行する電子計算機のハードウェア構成例を示す図である。本実施の形態にかかるミドルウェアを実行する電子計算機１００は、プロセッサ１０１、主記憶装置１０２、補助記憶装置１０３、入力装置１０４、表示装置１０５および通信インタフェース１０６を備える。
【００１３】
プロセッサ１０１は、ＣＰＵ（Central  Processing  Unit、中央処理装置、演算装置、などともいう）である。
【００１４】
主記憶装置１０２は、プロセッサ１０１のワークエリアとして機能するメインメモリである。主記憶装置１０２は、ＲＡＭ（Random  Access  Memory）によって構成され、補助記憶装置１０３よりも高速に動作する。  
【００１５】
補助記憶装置１０３は、ソフトウェアおよび各種データを記憶する。補助記憶装置１０３は、ＲＯＭ（Read  Only  Memory）、ハードディスクドライブ、ＳＳＤ（Solid  State  Drive）、着脱可能なメモリデバイス、またはこれらの組み合わせによって構成される。本実施の形態にかかるミドルウェアは、補助記憶装置１０３で記憶されている。プロセッサ１０１は、本実施の形態にかかるミドルウェアを補助記憶装置１０３から読み出して実行する。本実施の形態にかかるミドルウェアは、光ディスクなどの記憶媒体に書き込まれた状態で提供され、電子計算機１００にインストールされることにより補助記憶装置１０３に書き込まれる。これにより、プロセッサ１０１がミドルウェアを実行可能な状態となる。
【００１６】
入力装置１０４は、マウス、キーボード、タッチパネルなどである。表示装置１０５は、液晶モニタ、ディスプレイなどである。通信インタフェース１０６は、ネットワークインタフェースカードなどであり、電子計算機１００が図示を省略したネットワークを介して他の電子計算機等の外部機器と通信する際に使用される。
【００１７】
図２は、本実施の形態にかかる情報処理装置の要部構成を示す図である。本実施の形態にかかる情報処理装置は、図１に示した電子計算機１００が本実施の形態にかかるミドルウェアを実行することにより実現される。すなわち、本実施の形態にかかるミドルウェアを実行中の電子計算機１００が、本実施の形態にかかる情報処理装置に相当する。以下の説明では、本実施の形態にかかるミドルウェアを実行中の電子計算機１００を情報処理装置１００と称する場合がある。本実施の形態にかかるミドルウェアは通信ミドルウェア１０であり、情報処理装置１００のトレース処理部１１および通信処理部１２を実現する。図２に示した通信ミドルウェア１０、ＯＳ３０および複数のアプリケーション４０は、図１に示したプロセッサ１０１により実行される。また、記憶部２０は図１に示した補助記憶装置１０３により実現される。記憶部２０は、通信ミドルウェア１０のトレース処理部１１によって生成および更新が行われる環境情報ログファイル２１および通信ログファイル２２を保持する。環境情報ログファイル２１および通信ログファイル２２は、通信ミドルウェア１０で発生した動作の不具合を解析する作業で必要な各種情報が書き込まれたファイルである。環境情報ログファイル２１は、後述する環境情報が日時の情報と対応付けられた状態で書き込まれたファイルである。通信ログファイル２２は、通信ミドルウェア１０が外部機器２００との間で行った通信の手順を表す情報が日時の情報と対応付けられた状態で書き込まれたファイルである。
【００１８】
通信ミドルウェア１０のトレース処理部１１は、予め定められた第１の条件を満たした場合、ＯＳ３０から情報を取得して環境情報ログファイル２１に書き込む。また、トレース処理部１１は、予め定められた第２の条件を満たした場合、通信処理部１２によってバッファ領域に書き込まれた情報を読み出して通信ログファイル２２に書き込むとともに、ＯＳ３０から後述する環境情報を取得して環境情報ログファイル２１に書き込む。トレース処理部１１が通信ログファイル２２に書き込む情報は、通信処理部１２と外部機器２００との間で行った通信の手順を表す情報である。通信処理部１２は、アプリケーション４０と外部機器２００との間の通信を実現する。通信処理部１２は、図１に示した通信インタフェース１０６を使用して外部機器２００と通信を行う。また、通信処理部１２は、外部機器２００との通信に失敗した場合、通信に失敗したことをトレース処理部１１に通知する。また、通信処理部１２は、外部機器２００と通信を行った場合、外部機器２００との間で行った通信の手順を表す情報を、バッファ領域に書き込む。
【００１９】
図３は、本実施の形態にかかる通信ミドルウェアの動作の一例を示すシーケンス図である。電子計算機１００のユーザがアプリケーション４０に対して操作を行うなどし、これに伴い外部機器２００との通信が必要になると、アプリケーション４０が通信ミドルウェア１０へ起動要求を送信する（ステップＳ１１）。通信ミドルウェア１０は、起動要求を受けると、情報トレース処理を行う（ステップＳ１２）。具体的には、まず、通信ミドルウェア１０のトレース処理部１１が、ＯＳ３０に対して、アプリケーション４０が動作する環境に関する情報である環境情報を要求して環境情報を取得する。なお、環境情報は、通信ミドルウェア１０が動作する環境に関する情報でもある。すなわち、環境情報は、アプリケーション４０および通信ミドルウェア１０が動作する環境に関する情報ともいえる。ここで、環境情報の例は、実行中のプロセスの情報、メインメモリの使用状況の情報、および使用中の通信ポートの情報である。メインメモリの使用状況は、物理メモリの使用状況および仮想メモリの使用状況の双方である。トレース処理部１１は、ＯＳ３０がサポートしているコマンドを使用して環境情報を取得する。トレース処理部１１は、次に、取得した環境情報を日時の情報とともに、記憶部２０内の環境情報ログファイル２１に書き込む。ここでの書き込みは追加書込みである。なお、トレース処理部１１は、記憶部２０内の環境情報ログファイル２１が存在しない場合、環境情報ログファイル２１を生成する。なお、通信ミドルウェア１０は、情報トレース処理の他に、外部機器２００との通信を開始するために必要な設定を行う。この設定内容については一般的な通信ミドルウェアが行うものと同様であるため、詳細説明については省略する。ステップＳ１２でトレース処理部１１が実行する情報トレース処理は第１の情報トレース処理である。
【００２０】
通信ミドルウェア１０は、情報トレース処理および通信を開始するために必要な設定を行う処理が終了すると、起動が完了したこと、すなわち通信を開始する準備が完了したことを表す起動応答をアプリケーション４０へ送信する（ステップＳ１３）。起動応答を受信したアプリケーション４０は、通信要求を通信ミドルウェア１０へ送信する（ステップＳ１４）。アプリケーション４０が通信ミドルウェア１０へ送信する通信要求には、通信相手の外部機器２００の情報および外部機器２００へ送信するデータが含まれる。通信ミドルウェア１０は、アプリケーション４０から通信要求を受け取るとこれを確認し、通信相手の外部機器２００へ通信要求を送信する（ステップＳ１５）。外部機器２００への通信要求の送信は通信処理部１２が行う。外部機器２００へ送信する通信要求にはアプリケーション４０が外部機器２００に向けて出力したデータが含まれる。なお、図３ではステップＳ１５の通信ミドルウェア１０による通信要求の送信およびステップＳ１６の外部機器２００による通信応答の送信のみを記載したが、通信ミドルウェア１０と外部機器２００との間では、使用する通信プロトコルに従った手順で信号の送受信が複数回実行される。
【００２１】
通信ミドルウェア１０は、外部機器２００から通信応答を受け取ると（ステップＳ１６）、バッファリング処理を行う（ステップＳ１７）。ステップＳ１７で実行するバッファリング処理は、通信処理部１２が、ステップＳ１５およびＳ１６で行った外部機器２００との通信手順を表す情報をバッファ領域に格納する処理である。バッファ領域は主記憶装置１０２内に確保されている。通信ミドルウェア１０は、バッファリング処理が終了すると、通信が成功したか否かを判定する。通信処理部１２は、通信プロトコルで規定されている正しい手順で通信が行われた場合、通信成功と判定する。通信処理部１２は、正しい手順で通信が行われなかった場合、通信失敗と判定する。正しい手順で通信が行われなかった場合には、外部機器２００からの信号を予め定められた時間内に受信できないケースも含まれる。通信が成功したか否かの判定方法はこれに限定されない。ここでは通信が成功したものとして説明を続ける。通信が成功した場合、通信ミドルウェア１０は、通信応答をアプリケーション４０へ送信する（ステップＳ１８）。これにより、アプリケーション４０と外部機器２００との１回の通信処理が終了する。ステップＳ１８で通信ミドルウェア１０が送信する通信応答には、通信が成功したことを示す情報が含まれる。
【００２２】
その後、通信ミドルウェア１０は、アプリケーション４０から通信要求を再度受け取ると（ステップＳ１９）、通信要求を外部機器２００へ送信するとともに通信応答を外部機器２００から受信することで、外部機器２００と通信を行う（ステップＳ２０，Ｓ２１）。また、通信ミドルウェア１０は、バッファリング処理を行う（ステップＳ２２）。これらのステップＳ２０、Ｓ２１およびＳ２２は、上記のステップＳ１５、Ｓ１６およびＳ１７と同様の処理である。通信ミドルウェア１０は、バッファリング処理が終了すると、通信が成功したか否かを判定する。ここでは、ステップＳ２０およびＳ２１で示した外部機器２００と通信が失敗したものとして説明を続ける。通信が失敗した場合、通信ミドルウェア１０は、情報トレース処理を行う（ステップＳ２３）。具体的には、まず、トレース処理部１１が、上記のバッファリング処理を実行した時に情報が格納されるバッファ領域から、格納されている情報を読み出し、読み出した情報である通信ログ情報を、読み出した日時の情報とともに、記憶部２０内の通信ログファイル２２に書き込む。ここでの書き込みは追加書込みである。なお、トレース処理部１１は、記憶部２０内の通信ログファイル２２が存在しない場合、通信ログファイル２２を生成する。上記の「読み出した日時の情報」は通信が失敗した日時を示す情報でもある。トレース処理部１１は、次に、ＯＳ３０に対して、アプリケーション４０が動作する環境に関する情報である環境情報を要求して環境情報を取得し、取得した環境情報を環境情報ログファイル２１に書き込む。この処理は、上記のステップＳ１２に示した情報トレース処理である第１の情報トレース処理で環境情報ログファイル２１に環境情報を書き込む処理と同様である。ステップＳ２３でトレース処理部１１が実行する情報トレース処理は第２の情報トレース処理である。なお、通信処理部１２は、外部機器２００と通信が失敗した場合、通信が失敗したことをトレース処理部１１に通知する。この通知を受けたトレース処理部１１は第２の情報トレース処理を実行する。
【００２３】
通信ミドルウェア１０は、ステップＳ２３で情報トレース処理を実行した後、通信応答をアプリケーション４０へ送信する（ステップＳ２４）。ステップＳ２４で通信ミドルウェア１０が送信する通信応答には、通信が失敗したことを示す情報が含まれる。
【００２４】
通信ミドルウェア１０は、また、上記のステップＳ１１で起動要求を受けてから、予め定められた一定時間Ｔが経過するごとに、情報トレース処理を行う（ステップＳ２５，Ｓ２６）。これらのステップＳ２５およびＳ２６で行う情報トレース処理は、上記のステップＳ１２で行う情報トレース処理と同様である。すなわち、第１の情報トレース処理である。したがって、通信ミドルウェア１０は、第１の情報トレース処理を前回実行してから一定時間Ｔが経過した場合に、第１の情報トレース処理を実行する。
【００２５】
その後、電子計算機１００のユーザがアプリケーション４０に対して操作を行い、これに伴い外部機器２００との通信が必要なくなると、アプリケーション４０が通信ミドルウェア１０へ終了要求を送信する（ステップＳ２７）。通信ミドルウェア１０は、終了要求を受けると、情報トレース処理を行い（ステップＳ２８）、終了応答をアプリケーション４０へ送信する（ステップＳ２９）。ステップＳ２８で通信ミドルウェア１０が行う情報トレース処理は、上記のステップＳ１２で行う情報トレース処理と同様である。すなわち、第１の情報トレース処理である。
【００２６】
ここで、本実施の形態では、通信ミドルウェア１０がアプリケーション４０から起動要求を受信した場合、通信ミドルウェア１０がアプリケーション４０から終了要求を受信した場合、および、通信ミドルウェア１０が第１の情報トレース処理を前回実行してから一定時間Ｔが経過した場合が、「予め定められた第１の条件を満たした場合」に該当する。第１の情報トレース処理は、予め定められたタイミングで実行する情報トレース処理である。また、通信ミドルウェア１０が外部機器２００との通信に失敗した場合が、「予め定められた第２の条件を満たした場合」に該当する。第２の情報トレース処理は、通信ミドルウェア１０が外部機器２００との通信を失敗した場合に実行する情報トレース処理である。
【００２７】
上述した通信ミドルウェア１０の動作をフローチャートで示すと図４のようになる。図４は、本実施の形態にかかる通信ミドルウェア１０の動作の一例を示すフローチャートである。
【００２８】
通信ミドルウェア１０は、動作を開始すると、まず、アプリケーション４０から起動要求を受信したか否かを確認し（ステップＳ５１）、起動要求を受信しない場合（ステップＳ５１：Ｎｏ）、ステップＳ５１の処理を繰り返す。
【００２９】
起動要求を受信した場合（ステップＳ５１：Ｙｅｓ）、通信ミドルウェア１０は、環境情報を取得し（ステップＳ５２）、環境情報ログファイル２１を更新する（ステップＳ５３）。これらのステップＳ５２およびＳ５３の処理は、上述した第１の情報トレース処理に相当する。
【００３０】
通信ミドルウェア１０は、次に、アプリケーション４０から通信要求を受信したか否かを確認し（ステップＳ５４）、通信要求を受信しない場合（ステップＳ５４：Ｎｏ）、ステップＳ６１に遷移し、通信要求を受信した場合（ステップＳ５４：Ｙｅｓ）、外部機器２００との間で通信処理を行う（ステップＳ５５）。
【００３１】
通信ミドルウェア１０は、次に、バッファリング処理を行う（ステップＳ５６）。バッファリング処理は、図３に示したステップＳ１７およびＳ２２のバッファリング処理に相当する。通信ミドルウェア１０は、バッファリング処理が終了後すると、上記のステップＳ５５で行った通信が成功か否かを確認し、通信が成功の場合（ステップＳ５７：Ｙｅｓ）、ステップＳ６１に遷移する。
【００３２】
通信ミドルウェア１０は、通信が失敗した場合（ステップＳ５７：Ｎｏ）、通信ログファイル２２を更新する（ステップＳ５８）。また、通信ミドルウェア１０は、環境情報を取得し（ステップＳ５９）、環境情報ログファイル２１を更新する（ステップＳ６０）。ステップＳ５８〜Ｓ６０の処理は図３に示したステップＳ２３の情報トレース処理、すなわち第２の情報トレース処理に相当する。
【００３３】
通信ミドルウェア１０は、上記のステップＳ５４で通信要求を受信していないと判定するか、ステップＳ６０を実行した場合、情報トレース処理の実行タイミングであるか否かを確認する（ステップＳ６１）。通信ミドルウェア１０は、ステップＳ５１で起動要求を受信したと判定してからの経過時間が、予め定められた一定時間の整数倍に達した場合、情報トレース処理の実行タイミングであると判断する。
【００３４】
通信ミドルウェア１０は、情報トレース処理の実行タイミングである場合（ステップＳ６１：Ｙｅｓ）、環境情報を取得し（ステップＳ６２）、環境情報ログファイル２１を更新する（ステップＳ６３）。ステップＳ６２およびＳ６３は、図３に示したステップＳ２５およびＳ２６の情報トレース処理に相当する。
【００３５】
通信ミドルウェア１０は、情報トレース処理の実行タイミングではない場合（ステップＳ６１：Ｎｏ）、または、ステップＳ６３を実行した場合、終了要求を受信したか否かを確認する（ステップＳ６４）。
【００３６】
通信ミドルウェア１０は、終了要求を受信していない場合（ステップＳ６４：Ｎｏ）、ステップＳ５４に遷移する。また、通信ミドルウェア１０は、終了要求を受信した場合（ステップＳ６４：Ｙｅｓ）、環境情報を取得し（ステップＳ６５）、環境情報ログファイル２１を更新する（ステップＳ６６）。ステップＳ６５およびＳ６６は、図３に示したステップＳ２８の情報トレース処理に相当する。通信ミドルウェア１０は、ステップＳ６６を実行後、ステップＳ５１に遷移する。
【００３７】
以上の通信ミドルウェア１０の動作は、複数のアプリケーション４０に対して実行する。すなわち、通信ミドルウェア１０は、アプリケーション４０から起動要求を受信するごとに、起動要求の送信元のアプリケーション４０を対象として、図３および図４に従った動作を実行する。例えば、通信ミドルウェア１０は、アプリケーションＡより起動要求を受けた場合は第１の情報トレース処理を行う。その後、通信ミドルウェア１０は、アプリケーションＡから終了要求を受信するまでの間、通信を失敗した場合には第２の情報トレース処理を行い、また、一定時間が経過するごとに第１の情報トレース処理を行う。通信ミドルウェア１０は、アプリケーションＡから起動要求を受け、その後、終了要求を受信する前に、アプリケーションＢよりさらに起動要求を受けた場合、第１の情報トレース処理を実行する。その後、通信ミドルウェア１０は、アプリケーションＢと外部機器２００との間の通信が失敗した場合には第２の情報トレース処理を行い、また、アプリケーションＢより起動要求を受けてから一定時間が経過するごとに第１の情報トレース処理を行う。通信ミドルウェア１０は、環境情報ログファイル２１および通信ログファイル２２をアプリケーションごとに個別に作成してもよいし、環境情報ログファイル２１および通信ログファイル２２のそれぞれを１つだけ作成するようにしてもよい。環境情報ログファイル２１および通信ログファイル２２のそれぞれを１つだけ作成する場合、すなわち、各アプリケーションを対象として実行した第１の情報トレース処理および第２の情報トレース処理の結果を１つの環境情報ログファイルおよび通信ログファイルに書き込む場合、通信ミドルウェア１０は、アプリケーションの情報、例えば名称も一緒にファイルに書き込むようにする。
【００３８】
上述した第２の情報トレース処理においては、通信を失敗した理由に基づいて、環境情報ログファイル２１に書き込む情報を変更してもよい。通信を失敗した理由が違う場合、その原因を特定するために必要な情報が異なるためである。たとえば、通信ミドルウェア１０は、通信相手の外部機器２００からの信号が決められた期間内に送信されてこないために通信失敗となるような、ハードウェアに問題がある場合、メインメモリの状態、通信ポートの状態および通信ドライバの状態といった情報をＯＳ３０から取得する。また、正しい通信手順が実行されないために通信失敗となるような、ソフトウェアに問題がある場合、メインメモリの状態および実行中のタスクといった情報をＯＳ３０から取得する。このようにすることで、ログファイルのサイズが必要以上に大きくなるのを防止できる。
【００３９】
図３および図４に示した通信ミドルウェア１０の動作では、アプリケーション４０より起動要求を受信して動作を開始してから一定時間が経過するごとに情報トレース処理を実行する、すなわち、情報トレース処理を通信実行の有無に関係なく一定間隔で繰り返し行うこととした。しかし、情報トレース処理を実行する間隔を時間の経過とともに変更するようにしてもよい。
【００４０】
例えば、図５に示すように、通信ミドルウェア１０が起動要求を受けて起動してから、第１の情報トレース処理を繰り返し実行する場合の処理の実行間隔を、時間の経過とともに短くするようにしてもよい。なお、図５では、情報トレース処理を「トレース処理」と記載している。図６も同様である。通信ミドルウェアが使用されるシステムにおいて、通信ミドルウェア１０が起動後、しばらくは、それまでの間にアプリケーション４０および通信ミドルウェア１０が動作していなかったため、システムが安定していることが多く、トレース処理を実行してログを残す必要性が少ない。そのため、起動してから一定時間が経過するまでトレース処理を実行せずに、一定時間が経過してから、徐々に第１の情報トレース処理の実行間隔を小さくする処理をすることで、ログファイルの容量が増大するのを防止しつつ、不具合に繋がる可能性のある情報をログファイルに残すことが出来る。
【００４１】
また、他の例として、図６に示すように、通信ミドルウェア１０が起動要求を受けて起動してから、第１の情報トレース処理を繰り返し実行する場合の処理の実行間隔を、時間ではなく通信処理の実行回数に基づいて変化させるようにしてもよい。すなわち、通信ミドルウェア１０は、通信処理をＮ回行うごとに第１の情報トレース処理を実行することとし、かつＮを徐々に小さな値に変化させる。この場合、アプリケーション４０からの通信が一定間隔で発生せず、ユーザの操作に伴い発生する要求でのみ通信が行われるようなシステムにおいて、ログファイルの容量が増大するのを防止しつつ、不具合に繋がる可能性のある情報をログファイルに残すことが出来る。
【００４２】
以上のように、本実施の形態にかかる通信ミドルウェアは、予め定められた第１の条件を満たした場合に第１の情報トレース処理を実行し、予め定められた第２の条件を満たした場合に第２の情報トレース処理を実行する。通信ミドルウェアは、アプリケーションから起動要求を受けた場合、アプリケーションから終了要求を受けた場合、および、第１の情報トレース処理を前回実施してから時間Ｔが経過した場合、第１の条件を満たしたと判断する。通信ミドルウェアは、第１の情報トレース処理では、ＯＳから環境情報を取得して環境情報ログファイルに書き込む。また、通信ミドルウェアは、外部機器との通信に失敗した場合、第２の条件を満たしたと判断する。通信ミドルウェアは、第２の情報トレース処理では、バッファ領域から通信ログ情報を読み出して通信ログファイルに書き込むとともに、ＯＳから環境情報を取得して環境情報ログファイルに書き込む。通信ミドルウェアは、上記の時間Ｔの値を、第１の情報トレース処理を実行するごとに、それまでよりも小さい値に変更してもよい。また、通信ミドルウェアは、第１の情報トレース処理を前回実施してから外部機器との通信を実行した回数が予め定められた回数Ｎとなった場合に第１の条件を満たしたと判断してもよい。このとき、通信ミドルウェアは、回数Ｎの値を、第１の情報トレース処理を実行するごとに、それまでよりも小さい値に変更してもよい。本実施の形態にかかる通信ミドルウェアは、通信を失敗した時の環境情報に加えて通信を失敗する前の環境情報をログファイルに記憶して残しておくようにしたので、メインメモリの使用状況、他のアプリケーションの動作状況などの影響が原因で通信が失敗した場合でも、原因を特定することが可能となる。
【００４３】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００４４】
１０  通信ミドルウェア、１１  トレース処理部、１２  通信処理部、２０  記憶部、２１  環境情報ログファイル、２２  通信ログファイル、３０  オペレーティングシステム（ＯＳ）、４０  アプリケーション、１００  電子計算機、２００  外部機器。
【図１】
2019180794.tif 000003
【図２】
2019180794.tif 000004
【図３】
2019180794.tif 000005
【図４】
2019180794.tif 000006
【図５】
2019180794.tif 000007
【図６】
2019180794.tif 000008
【手続補正書】
【提出日】平成30年11月2日(2018.11.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子計算機がミドルウェアを実行して実現される情報処理装置であって、
前記電子計算機にインストールされているアプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理部と、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報を前記電子計算機にインストールされているオペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を、予め定められた第１の条件を満たした場合に実行し、前記通信処理部が過去の予め定められた一定期間において前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を、予め定められた第２の条件を満たした場合に実行するトレース処理部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記環境情報を、前記オペレーティングシステムの動作状態を表す情報とする、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記環境情報は、メインメモリの使用状況を表す情報を含む、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記トレース処理部は、前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１から３のいずれか一つに記載の情報処理装置。
【請求項５】
前記トレース処理部は、前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１から４のいずれか一つに記載の情報処理装置。
【請求項６】
前記トレース処理部は、前記第１の情報トレース処理を前回実施してから予め定められた時間が経過すると前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１から５のいずれか一つに記載の情報処理装置。
【請求項７】
前記トレース処理部は、前記予め定められた時間を、前記第１の情報トレース処理を実行するごとに、それまでよりも短い時間に変更する、
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
電子計算機がミドルウェアを実行して実現される情報処理装置であって、
前記電子計算機にインストールされているアプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理部と、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報を前記電子計算機にインストールされているオペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を、予め定められた第１の条件を満たした場合に実行し、前記通信処理部が前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を、予め定められた第２の条件を満たした場合に実行するトレース処理部と、
を備え、
前記トレース処理部は、前記第１の情報トレース処理を前回実施した後に通信を行った回数が予め定められた回数になると前記第１の条件を満たしたと判定する、
ことを特徴とする情報処理装置。
【請求項９】
前記トレース処理部は、前記予め定められた回数を、前記第１の情報トレース処理を実行するごとに、それまでよりも少ない回数に変更する、
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記トレース処理部は、前記通信処理部が前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項１から９のいずれか一つに記載の情報処理装置。
【請求項１１】
前記トレース処理部は、前記通信処理部が前記外部機器との通信に失敗した理由に基づいて、前記第２の情報トレース処理で前記オペレーティングシステムから取得する前記環境情報の内容を変更する、
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
オペレーティングシステムおよびアプリケーションソフトウェアとともに電子計算機にインストールされ、外部機器と通信を行うミドルウェアであって、
前記アプリケーションソフトウェアからの指示に従い前記外部機器と通信を行う通信処理ステップと、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を予め定められた第１の条件を満たした場合に実行する第１の情報トレースステップと、
過去の予め定められた一定期間において前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を予め定められた第２の条件を満たした場合に実行する第２の情報トレースステップと、
を実行することを特徴とするミドルウェア。
【請求項１３】
前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１２に記載のミドルウェア。
【請求項１４】
前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１２または１３に記載のミドルウェア。
【請求項１５】
前記通信処理ステップで前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項１２から１４のいずれか一つに記載のミドルウェア。
【請求項１６】
オペレーティングシステムおよびアプリケーションソフトウェアがインストールされている電子計算機がミドルウェアを実行して実現される情報処理装置で実行される情報処理方法であって、
前記アプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理ステップと、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を予め定められた第１の条件を満たした場合に実行する第１の情報トレースステップと、
過去の予め定められた一定期間において前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を予め定められた第２の条件を満たした場合に実行する第２の情報トレースステップと、
を含むことを特徴とする情報処理方法。
【請求項１７】
前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１６に記載の情報処理方法。
【請求項１８】
前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１６または１７に記載の情報処理方法。
【請求項１９】
前記通信処理ステップで前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項１６から１８のいずれか一つに記載の情報処理方法。
【請求項２０】
アプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理ステップと、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報をオペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を予め定められた第１の条件を満たした場合に実行する第１の情報トレースステップと、
過去の予め定められた一定期間において前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を予め定められた第２の条件を満たした場合に実行する第２の情報トレースステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項２１】
前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項２０に記載のプログラム。
【請求項２２】
前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項２０または２１に記載のプログラム。
【請求項２３】
前記通信処理ステップで前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項２０から２２のいずれか一つに記載のプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、電子計算機がミドルウェアを実行して実現される情報処理装置であり、電子計算機にインストールされているアプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理部を備える。また、情報処理装置は、アプリケーションソフトウェアが動作する環境に関する情報である環境情報を電子計算機にインストールされているオペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を、予め定められた第１の条件を満たした場合に実行し、通信処理部が過去の予め定められた一定期間において外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、環境情報をオペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を、予め定められた第２の条件を満たした場合に実行するトレース処理部を備える。
【手続補正書】
【提出日】平成31年3月8日(2019.3.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子計算機がミドルウェアを実行して実現される情報処理装置であって、
前記電子計算機にインストールされているアプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理部と、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報を前記電子計算機にインストールされているオペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を、予め定められた第１の条件を満たした場合に実行し、前記通信処理部が前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を、予め定められた第２の条件を満たした場合に実行するトレース処理部と、
を備え、
前記トレース処理部は、前記第１の情報トレース処理を前回実施した後に通信を行った回数が予め定められた回数になると前記第１の条件を満たしたと判定する、
ことを特徴とする情報処理装置。
【請求項２】
前記環境情報を、前記オペレーティングシステムの動作状態を表す情報とする、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記環境情報は、メインメモリの使用状況を表す情報を含む、
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記トレース処理部は、前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１から３のいずれか一つに記載の情報処理装置。
【請求項５】
前記トレース処理部は、前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１から４のいずれか一つに記載の情報処理装置。
【請求項６】
前記トレース処理部は、前記第１の情報トレース処理を前回実施してから予め定められた時間が経過すると前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１から５のいずれか一つに記載の情報処理装置。
【請求項７】
前記トレース処理部は、前記予め定められた時間を、前記第１の情報トレース処理を実行するごとに、それまでよりも短い時間に変更する、
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記トレース処理部は、前記予め定められた回数を、前記第１の情報トレース処理を実行するごとに、それまでよりも少ない回数に変更する、
ことを特徴とする請求項１から７のいずれか一つに記載の情報処理装置。
【請求項９】
前記トレース処理部は、前記通信処理部が前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項１から８のいずれか一つに記載の情報処理装置。
【請求項１０】
前記トレース処理部は、前記通信処理部が前記外部機器との通信に失敗した理由に基づいて、前記第２の情報トレース処理で前記オペレーティングシステムから取得する前記環境情報の内容を変更する、
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
オペレーティングシステムおよびアプリケーションソフトウェアがインストールされている電子計算機がミドルウェアを実行して実現される情報処理装置で実行される情報処理方法であって、
前記アプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理ステップと、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を予め定められた第１の条件を満たした場合に実行する第１の情報トレースステップと、
前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を予め定められた第２の条件を満たした場合に実行する第２の情報トレースステップと、
を含み、
前記第１の情報トレースステップでは、前記第１の情報トレースステップを前回実行した後に通信を行った回数が予め定められた回数になると前記第１の条件を満たしたと判定する、
ことを特徴とする情報処理方法。
【請求項１２】
前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１１に記載の情報処理方法。
【請求項１３】
前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１１または１２に記載の情報処理方法。
【請求項１４】
前記通信処理ステップで前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項１１から１３のいずれか一つに記載の情報処理方法。
【請求項１５】
アプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理ステップと、
前記アプリケーションソフトウェアが動作する環境に関する情報である環境情報をオペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を予め定められた第１の条件を満たした場合に実行する第１の情報トレースステップと、
前記外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、前記環境情報を前記オペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を予め定められた第２の条件を満たした場合に実行する第２の情報トレースステップと、
をコンピュータに実行させ、
前記第１の情報トレースステップでは、前記第１の情報トレースステップを前回実行した後に通信を行った回数が予め定められた回数になると前記第１の条件を満たしたと判定する、
ることを特徴とするプログラム。
【請求項１６】
前記アプリケーションソフトウェアから起動要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１５に記載のプログラム。
【請求項１７】
前記アプリケーションソフトウェアから終了要求を受けた場合に前記第１の条件を満たしたと判定する、
ことを特徴とする請求項１５または１６に記載のプログラム。
【請求項１８】
前記通信処理ステップで前記外部機器との通信に失敗した場合に前記第２の条件を満たしたと判定する、
ことを特徴とする請求項１５から１７のいずれか一つに記載のプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、電子計算機がミドルウェアを実行して実現される情報処理装置であり、電子計算機にインストールされているアプリケーションソフトウェアからの指示に従い外部機器と通信を行う通信処理部を備える。また、情報処理装置は、アプリケーションソフトウェアが動作する環境に関する情報である環境情報を電子計算機にインストールされているオペレーティングシステムから取得して環境情報ログファイルに書き込む第１の情報トレース処理を、予め定められた第１の条件を満たした場合に実行し、通信処理部が外部機器と行った通信の手順を表す情報を通信ログファイルに書き込むとともに、環境情報をオペレーティングシステムから取得して環境情報ログファイルに書き込む第２の情報トレース処理を、予め定められた第２の条件を満たした場合に実行するトレース処理部を備える。トレース処理部は、第１の情報トレース処理を前回実施した後に通信を行った回数が予め定められた回数になると第１の条件を満たしたと判定する。
【国際調査報告】
2019180794.tif 000009
2019180794.tif 000010
2019180794.tif 000011