図1は、本発明の実施の一形態であるログ表示システム1の概略の構成を模式的に示す。履歴情報表示装置であるログ表示システム1は、ターゲット機10とサポート機20とを含む。履歴情報表示方法は、ログ表示システム1によって処理される。ターゲット機10は、たとえば流通あるいはガソリンスタンドなどで用いられるPOS(Point Of Sales)端末によって構成され、入出力部11およびログファイル部15を含む。サポート機20は、たとえばパーソナルコンピュータによって構成され、表示部S25を含む。ターゲット機10とサポート機20とは、ネットワークたとえばLAN(Local Area Network)
30あるいは公衆回線などによって接続される。図1には、1台のターゲット機10しか記載していないが、複数台のターゲット機10が接続される。
ターゲット機10の入出力部11は、たとえば操作者がターゲット機10を操作するタッチパネルおよび操作者への情報を表示する液晶ディスプレイを含む。ログファイル部T15は、たとえばハードディスク装置によって構成され、操作者が入出力部11に対して行った操作などの履歴情報(以下「ログ」という)を記憶する。サポート機20の表示部S25は、たとえばサポート機20の操作者への情報を表示する液晶ディスプレイによって構成される。
ターゲット機10は、操作者が入出力部11を操作すると、操作者が行った操作を表すログを生成し、生成したログをログファイル部T15に記憶する。サポート機20は、ログファイル部T15から読み出されて送信されるログを受信すると、受信したログに基づいて、ターゲット機10で行われた操作を解析し、解析結果を表示部S25に表示する。表示部S25には、たとえばターゲット機10の入出力部11のタッチパネルが画像として表示され、そのタッチパネルを操作する操作者の手などの画像が合成されて表示され、ターゲット機10で行われた操作が表示部S25上で再現される。
図2は、図1に示したターゲット機10の外観を示す斜視図である。図2に示したターゲット機10は、ガソリンスタンドに設置されるPOS端末の例であり、従業員が操作を行い、ガソリンの給油指定あるいは決済に用いられる。図2に示したターゲット機10は、情報入力のためのタッチパネル部111およびキー部112、情報表示のための表示部T113、プリンタ31、ならびに磁気カードリーダライタ33を含む。プリンタ31および磁気カードリーダライタ33は、ターゲット機10に組み込まれている必要はなく、外付けであってもよい。
図3は、図1に示したターゲット機10の構成の一例を示すブロック図である。ターゲット機10は、入出力部11、ログ記録制御部12、システムタイマ部13、アプリケーション部14、ログファイル部T15、表示制御部16、制御部17、図示しないCPU(Central Processing Unit)、および図示しないメモリを含む。ターゲット機10には、プリンタ31、スキャナ32、磁気カードリーダライタ33、暗証番号入力装置34、計量機35、釣銭機36、油面計37、および洗車機38が接続される。
入出力部11は、ターゲット機10に内蔵されるデバイスおよび外付けのデバイスとデータの送受信を行う通信部であり、タッチパネル部111、キー部112、表示部T113、LAN通信部114、パラレル通信部115、シリアル通信部116、無線通信部117、およびSS(Service Station)−LAN通信部118を含む。内蔵されるデバイスは、たとえばタッチパネル部111、キー部112、および表示部T113であり、外付けのデバイスは、たとえばプリンタ31、スキャナ32、磁気カードリーダライタ33、暗証番号入力装置34、計量機35、釣銭機36、油面計37、および洗車機38である。
タッチパネル部111は、操作者が画面にタッチすることによって情報を入力するタッチパネルである。キー部112は、操作者がキーを押下することによって情報を入力するキー入力装置である。表示部T113は、液晶ディスプレイなどの表示装置であり、情報を表示する。
LAN通信部114は、LAN30に接続される機器たとえばサポート機20とデータを送受信する通信部である。パラレル通信部115は、パラレルインタフェースによってターゲット機10に接続されるプリンタなどの装置と、パラレル通信によってデータを送受信する通信部である。シリアル通信部116は、シリアルインタフェースによってターゲット機10に接続されるスキャナ32および磁気カードリーダライタ33と、シリアル通信によってデータを送受信する通信部である。無線通信部117は、無線によってターゲット機10に接続される暗証番号入力装置34と、無線通信によってデータを送受信する通信部である。SS−LAN通信部118は、SS−LANによってターゲット機10に接続される計量機35、釣銭機36、油面計37、および洗車機38とデータを送受信する通信部である。外部デバイスとの通信は有線でも無線でもかまわない。
ログ記録制御部12は、ログ生成部121、文字列変換テーブル部T122、ログ記録部123、およびログ設定部124を含み、入出力部11、アプリケーション部14、あるいは表示制御部16からの情報に基づいて、ログを生成し記録する。ログ生成部121は、入出力部11、アプリケーション部14、あるいは表示制御部16からログ指示つまりログの生成指示を受け取ると、または入出力部11にログ対象の動作が発生したか否かを監視し、ログ対象の動作が発生すると、ログ指示または発生したログ対象の動作に基づくログを生成する。ログ対象の動作は、たとえば操作者がターゲット機10に取付けられたデバイスを直接指などで触ったり押したりしたことによってターゲット機10上に入力が発生すること、各通信部と接続される外部デバイスとの通信が発生すること、通信路の状態が変わること、各部でエラーが発生することなどの動作である。文字列変換テーブル部T122は、たとえば図示しないメモリに含まれ、ログ生成部121がログを生成するために用いる後述する変換テーブルを記憶する。ログ記録部123は、ログ生成部121が生成したログを、ログファイル部T15に記憶する。ログ設定部124は、たとえば図示しないメモリに含まれ、ログを生成するログ対象およびログを記憶させるログファイルの指定などが設定されている。
システムタイマ部13は、ターゲット機10の時刻を計時するタイマである。ログ生成部121は、ログを生成する際、システムタイマ部13が示す時刻を参照して、時刻をログに残す。アプリケーション部14は、ターゲット機10の用途に応じた機能を実現する部位であり、画像データ部141およびアプリケーション制御部142を含む。画像データ部141は、たとえば図示しないメモリに含まれ、表示部T113に表示する画像イメージとその画像イメージを管理するための後述する画像管理テーブル51を記憶する。アプリケーション制御部142は、ターゲット機10の用途に応じて実行されるプログラムによって実現される機能である。
ログファイル部T15は、たとえば図示しないメモリに含まれ、標準ログファイル151および指定ログファイル152を含む。ログファイルは、複数のログをまとめてファイル化したものである。1台のターゲット機10が出力するログをログファイルに記録する場合、ログファイルは1つだけではなく複数のファイルに分割することが可能である。たとえば、入出力デバイス毎あるいは動作毎に分割することができる。図3に示した例では、まず、大きく2つのログファイル、つまり標準ログファイル151と指定ログファイル152とに分割している。標準ログファイル151は、要求のあったデバイス別にログを記憶するためのログファイルであり、指定ログファイル152は、デバイス共通にログを記憶するためのログファイルである。そして、標準ログファイル151の中は、デバイス別のログファイルに分割されている。さらに、ファイルの分割は、ログファイルのファイルサイズがシステム上の制限あるいは任意に指定した最大値まで達した場合にも行われる。
表示制御部16は、表示部T113を制御する。たとえばアプリケーション制御部142から指示された画像イメージを表示部T113に表示する。制御部17は、図示しないメモリによって記憶されるプログラムが、図示しないCPUによって実行されることによって実現される機能であり、入出力部11、ログ記録制御部12、アプリケーション部14、および表示制御部16を制御する。入出力部11、ログ記録制御部12、アプリケーション部14、および表示制御部16も、図示しないメモリによって記憶されるプログラムが、図示しないCPUによって実行されることによって実現される機能である。図示しないメモリは、たとえばROM(Read Only Memory)あるいはRAM(Random
Access Memory)などの半導体メモリあるいはハードディスク装置によって構成される記憶装置である。
プリンタ31は、たとえば印刷装置であり、スキャナ32は、たとえば原稿読取装置あるいはバーコード読取装置であり、磁気カードリーダライタ33は、磁気カードの読み込みおよび書き込みを行う装置であり、暗証番号入力装置34は、暗証番号を入力するための入力装置である。計量機35、釣銭機36、油面計37、および洗車機38は、ガソリンスタンドで用いられる装置であり、計量機35は、ポンプによる給油量を計量する装置であり、釣銭機36は、釣銭を払い出す装置であり、油面計37は、タンクに貯蔵されている油量を計量する装置であり、洗車機38は、車の洗車を行う装置である。
入出力部11は、タッチパネル部111、キー部112、表示部T113、LAN通信部114、パラレル通信部115、シリアル通信部116、無線通信部117、およびSS−LAN通信部118からのハードウェアまたはソフトウェアによる割込みによって処理を開始する。割込み要因に基づいて、ログの生成を指示するログ指示を作成し、作成したログ指示をログ生成部121に送る。
図4は、図3に示した画像データ部141が管理する画像管理テーブル51の一例を示す。画像管理テーブル51は、表示部T113に表示する表示画面を特定する表示画面番号ごとのデータを示すテーブルである。このデータは、表示部T113の画面全体に表示する画像そのもののデータ、表示部T113の画面の一部に表示する画像の、あるいは画像を生成するためのメタデータである。図4には、表示画面番号「0001」について、データ「開始画像データ」が示され、表示画面番号「0002」について、データ「業務画像1データ」が示され、表示画面番号「0003」について、データ「業務画像2データ」が示されている。
アプリケーション制御部142は、表示制御部16に対して表示画面番号を指示すると、表示制御部16は、アプリケーション制御部142から指示された表示画面番号の画像を表示部T113に表示させる。そして、表示制御部16は、指示された表示画面番号を示すログ指示を作成し、作成したログ指示をログ生成部121に送る。
ログ記録制御部12は、入出力部11内で、割り込み以外のログ対象の動作が発生しているか否かを監視する。ログ対象の動作が発生していると、そのログ対象の動作のログを生成し、生成したログをログファイル部T15に記憶する。さらに、入出力部11、アプリケーション部14、あるいは表示制御部16から、ログ設定部124に設定されているログ対象のログ指示を受け取ると、ログ指示に基づくログを生成し、ログファイル部T15に記憶する。ログファイル部T15のうちの標準ログファイルに記憶するか指定ログファイルに記憶するか否かは、ログ設定部124の設定に基づいて判断される。
図5は、図3に示した入出力部11または表示制御部16からログ生成部121に通知されるログ指示例52を示す。ログ指示は、基本的には、1行で1つのログ指示を示し、図5には、6つのログ指示が示されている。1つのログ指示は、カンマで区切られた複数の数値または文字列から構成される。最初の数値は、図6で後述する入出力部番号を示し、2番目の数値は、図7で後述する動作番号を示し、3番目の数値は、図8で後述するキャプチャ制御フラグを示し、4番目以降の数値または文字列は、動作の詳細である。
たとえば、1行目のログ指示「1,1,1,142,244」は、入出力番号「1」つまりタッチパネル部111で、動作番号「1」の動作つまり「触れる」動作が発生し、キャプチャ制御フラグが「1」で表示部T113に表示されている画像をキャプチャする指示があり、動作詳細が「142,244」つまり触れた位置が座標(142,244)であったことを示している。2行目のログ指示は「1,2,0,145,242」であり、3行目のログ指示は「11,11,0,01F45CCD4EF10E042」であり、4行目のログ指示は「21,31,1,130」であり、5行目のログ指示は「1,1,1,582,289」であり、6行目のログ指示は「1,2,0,573,295」である。
図6は、図3に示した文字列変換テーブル部T122に記憶される入出力部名定義テーブル53である。入出力部名定義テーブル53は、入出力部を特定するための「入出力部番号」ごとに、対応する「入出力部名ログ文字列」を示すテーブルである。入出力部名定義テーブル53の右側に「備考:対応する入出力」として、それぞれの入出力部名が記載されている。テーブルの入出力部名ログ文字列欄の文字列は任意に設定することができるので、入出力部名ログ文字列を、全く関係のない文字列に設定してもよい。
入出力部番号「001」は、入出力部名ログ文字列が「“operation”」であり、備考が「タッチパネル」つまりタッチパネル部111であることを示している。同様に、入出力部番号に対する入出力部名ログ文字列および備考は、それぞれ「011」については、「“serial1”」および「シリアル通信部1」であり、「012」については、「“serial2”」および「シリアル通信部2」であり、「013」については、「“extserial”」および「シリアル通信部3」であり、「021」については、「“display”」および「表示部」であり、「031」については、「“sslan”」および「SS−LAN通信部」であり、「100」については、「“core”」および「アプリケーション」である。
「シリアル通信部1」、「シリアル通信部2」、および「シリアル通信部3」は、いずれもシリアル通信部116であり、同一デバイスで複数の入出力チャネルを利用している場合を示している。複数の入出力チャネルのそれぞれに入出力部番号を割り当てて区別している。
図7は、図3に示した文字列変換テーブル部T122に記憶される動作名定義テーブル54である。動作名定義テーブル54は、動作を特定するための「動作番号」ごとに、対応する「動作名ログ文字列」を示すテーブルである。動作名定義テーブル54の右側に「備考:対応する動作」として、それぞれの動作名が記載されている。テーブルの動作名ログ文字列欄の文字列は任意に設定することができるので、動作名ログ文字列を、全く関係のない文字列に設定してもよい。
動作番号「000」は、動作名ログ文字列が「“message” 」であり、備考が「情報」であることを示している。同様に、動作番号に対する動作名ログ文字列および備考は、それぞれ「001」については、「“pressed” 」および「触れる」であり、「002」については、「“released” 」および「離す」であり、「011」については、「“read” 」および「入力」であり、「012」については、「“write” 」および「出力」であり、「021」については、「“error” 」および「エラー」であり、「031」については、「“change” 」および「画面変更」である。
図8は、図3に示した文字列変換テーブル部T122に記憶されるキャプチャ制御テーブル66である。キャプチャ制御テーブル66は、表示部T113に表示されている画面の画像をキャプチャするか否かを示す「キャプチャ制御フラグ」の値ごとに、対応する「キャプチャログ文字列」を示すテーブルである。キャプチャ制御テーブル66の右側に「備考:対応する入出力」として、画面をキャプチャするか否かが示されている。すなわち、キャプチャ制御フラグは、図6に示した入出力および図7に示した動作に関連づけられた事象が発生した時に、画面をキャプチャするか否かを制御するためのフラグである。キャプチャ制御フラグが、「1」の場合はその時に表示部T113に表示されているフル画面をキャプチャし、キャプチャした画面の画像データをログファイル部T15に保存つまり記憶し、「0」の場合はキャプチャを行わない。たとえば、タッチパネル部111に対する操作を伴う画面を表示した場合、またはタッチパネル部111もしくはキー部112に対する操作が行われたことによって画面が変わった場合に、キャプチャ制御フラグが「1」のログ指示が作成される。タッチパネル部111もしくはキー部112に対する操作が行われても画面が変わらなかった場合に、キャプチャ制御フラグが「0」のログ指示が作成される。
図8には、キャプチャ制御フラグ「0」について、キャプチャログ文字列「“ ”」と示され、キャプチャ制御フラグ「1」について、キャプチャログ文字列「“capture:%s”」と示されている。「capture:%s」は、キャプチャした画面の画像データのファイル名を示すものであり、ファイル名はログ生成部121によって命名される。ファイル名は、ユニークな情報たとえばキャプチャしたときの年月日時分秒などの日時によって命名される。ログファイル部T15に記憶される画像データは、たとえばJPEG(Joint Photographic Experts Group)フォーマットで記録される。
図9は、図3に示した文字列変換テーブル部T122に記憶される動作詳細作成ルールテーブル55である。動作詳細作成ルールテーブル55は、「入出力部」、「動作」、および「キャプチャ制御フラグ」の組合せごとに、「動作詳細のログ作成ルール」を示すテーブルである。動作詳細作成ルールテーブル55の右側に「備考:意味」として、それぞれ「入出力部」および「動作」の組合せで決まる意味が記載されている。
たとえば、入出力部「001」、動作「001」、およびキャプチャ制御フラグ「0」の組合せについては、動作詳細のログ作成ルールが「第4、第5引数を座標“x=%04d,y=%04d”形式にし、画面キャプチャしない。」であり、備考が「タッチパネルに触れた」である。同様に、入出力部、動作、およびキャプチャ制御フラグの各組合せについての動作詳細のログ作成ルールおよび備考は、入出力部「001」、動作「001」、およびキャプチャ制御フラグ「1」の組合せについては、「第4、第5引数を座標“x=%04d,y=%04d”形式にし、画面キャプチャ%s」および「タッチパネルに触れた」であり、入出力部「001」、動作「002」、およびキャプチャ制御フラグ「0」の組合せについては、「第4、第5引数を座標“x=%04d,y=%04d”形式にし、画面キャプチャしない。」および「タッチパネルを離した」であり、入出力部「001」、動作「002」、およびキャプチャ制御フラグ「1」の組合せについては、「第4、第5引数を座標“x=%04d,y=%04d”形式にし、画面キャプチャ%s」および「タッチパネルを離した」であり、入出力部「012」、動作「011」、およびキャプチャ制御フラグ「0」の組合せについては、「第4引数を16進数にし、画面キャプチャしない。」および「シリアル通信部1で入力」であり、入出力部「012」、動作「011」、およびキャプチャ制御フラグ「1」の組合せについては、「第4引数を16進数にし、画面キャプチャ%s」および「シリアル通信部1で入力」であり、入出力部「012」、動作「012」、およびキャプチャ制御フラグ「0」の組合せについては、「第4引数を16進数にし、画面キャプチャしない。」および「シリアル通信部1で出力」であり、入出力部「012」、動作「012」、およびキャプチャ制御フラグ「1」の組合せについては、「第4引数を16進数にし、画面キャプチャ%s」および「シリアル通信部1で出力」であり、入出力部「100」、動作「000」、およびキャプチャ制御フラグ「0」の組合せについては、「第4引数を文字のまま出力し、画面キャプチャしない。」および「アプリケーション情報」である。
ログ生成部121は、入出力部11、アプリケーション部14、あるいは表示制御部16から、ログ設定部124に設定されているログ対象のログ指示を受け取ると、まず、システムタイマ部13から日時を取得し、日時を表す日時ログ文字列を生成する。次に、受け取ったログ指示の1番目の数値に基づいて、図6に示した入出力部名定義テーブル53から入出力部名ログ文字列、2番目の数値に基づいて、図7に示した動作名定義テーブル54から動作名ログ文字列、そして3番目の数値に基づいて、図8に示したキャプチャ制御テーブル66からキャプチャログ文字列を取得する。さらに、受け取ったログ指示の1番目の数値、2番目の数値、3番目の数値、および4番目以降の数値または文字列に基づいて、図9に示した動作詳細作成ルールテーブル55の動作詳細のログ作成ルールに従って、動作の詳細を表す動作詳細ログを作成する。取得した日時ログ文字列、入出力部名ログ文字列、動作名ログ文字列、およびキャプチャログ文字列、ならびに作成した動作詳細ログを合成して、ログ指示に対応するログを生成する。生成したログは、ログファイル部T15に記憶する。
たとえば、操作者がタッチパネルに触れたことを示すログを生成する場合、指示ログは、図5に示した指示ログ例52の1行目の指示ログ「1,1,1,142,244」である。第1引数「1」が示す入出力部「タッチパネル」を表す番号「001」と、第2引数「1」が示す動作「触れる」を表す番号「001」と、第3引数「1」が示す画面をキャプチャするキャプチャ制御フラグとの組合せについて、図9に示した動作詳細作成ルールテーブル55を参照すると、動作詳細のログ作成ルール「第4、第5引数を座標“x=%04d,y=%04d”形式にし、画面キャプチャ%s」が得られる。ここで「%04d」とは、4桁の10進数を示し、C言語を使用するプログラムにおいて文字出力に関する標準的な出力形式を示す一例である。日時を2006年5月18日15時15分01.120秒とすると、第4引数「142」および第5引数「244」から、ログは、「2006/05/18,15:05:01.120,“operation”,“pressed”,“capture:20060518150501120.jpg” , “x=0142,y=0244”」となる。
図10は、図3に示したログファイル部T15に記憶されたログ例56を示す。ログ例56は、基本的には、1行で1つのログつまりターゲット機10上での1動作についてのログを示し、図10には、6つのログが示されている。1つのログは、カンマで区切られた複数の数値または文字列から構成される。最初の数値または文字列は、ログ対象の動作があった日時、2番目の数値または文字列は、入出力部名、3番目の数値または文字列は、動作名、4番目の数値または文字列は、画像のキャプチャの有無および画像がキャプチャされているときは、キャプチャされた画像のファイル名、5番目の数値または文字列は、各動作の内容を詳細に示す動作詳細である。図10に示した例では、5つの項目を例示したが、これら以外に、ログには関連するプログラム名、ユーザ名、ログの文字数、あるいはマシン名などターゲット機10に関連する情報、および使用状況あるいは場所を特定する情報などを含めてもよい。さらに、1つのログの情報量が多くなる場合、2行以上にログを分割してもよい。
図10には、図5に示した指示ログ例52に対応するログ例56が示されている。1行目には、「2006/05/18,15:05:01.120,“operation”,“pressed”,“capture:20060518150501120.jpg” , “x=0142,y=0244”」と示され、2行目には、「2006/05/18,15:05:01.541,“operation”,“released”,“
” ,“x=0145,y=0242”」と示され、3行目には、「2006/05/18,15:05:02.951,“serial1”,“read”,“ ” ,“01F45CCD4EF10E042”」と示され、4行目には、「2006/05/18,15:05:04.092,“display”,“change”,“capture:20060518150504092.jpg” , “display=0130”」と示され、5行目には、「2006/05/18,15:05:08.735,“operation”,“pressed”,“capture:20060518150508735.jpg” ,“x=0582,y=0289”」と示され、6行目には、「2006/05/18,15:05:09.089,“operation”,“released”,“ ” ,“x=0573,y=0295”」と示されている。
図10に示した例では、ログに日時を特定する情報を含んでいる例を示したが、ログに日時を特定するための情報を含まない場合、ログファイル部T15のログファイルにログを記録する際、ログが生成された順またはログ対象の動作が発生した順に記憶する。ログに日時を特定するための情報を含む場合は順不同でもよい。
図11は、図3に示したアプリケーション部14がログ指示作成のために用いるログ事象変換テーブル57である。ログ事象変換テーブル57は、アプリケーション制御部142において発生した「事象」ごとに、対応する「ログ文字列」を示すテーブルである。ログ文字列欄には、事象に合わせて任意のログ文字列を設定することができる。したがって、アプリケーションについては、入出力部11とは独立したログとして、つまりアプリケーションのみの情報をログとして記録することができる。
図11には、事象「プログラムAの開始」について、ログ文字列「“プログラムA開始”」が示され、事象「プログラムAの終了」について、ログ文字列「“プログラムA終了(終了コード=%03d)”」が示され、事象「操作する従業員の指定」について、ログ文字列「“従業員コード=%06d”」が示され、事象「精算処理の開始」について、ログ文字列「“精算処理開始”」が示されている。
図12は、図3に示したアプリケーション部14からログ生成部121に通知するログ指示例58およびそれに基づくログ例59を示す。たとえば、ターゲット機10が複数の従業員で構成される飲食店で使用する端末である場合、端末の操作者を特定するために、アプリケーションは、従業員情報たとえば従業員コードを用いて従業員を管理する。タッチパネルの操作は、端末を使用する従業員が関連する動作であり、タッチパネルで行われた入出力操作と従業員情報とを関連付けてログに記録しておきたいケースが発生する。ログ記録制御部12がこの従業員情報に関知する構成となっていない場合、ログに記録するため、アプリケーション制御部142は、アプリケーションにのみ存在する情報、たとえば従業員情報を、任意の文字列として、ログ指示でログ生成部121に指示する。
ログ指示例58に示した個々のログ指示は、図5に示した例と同様に、カンマで区切られた複数の数値または文字列から構成される。最初の数値は、図6に示した入出力部番号を示し、2番目の数値は、図7に示した動作番号を示し、3番目以降の数値または文字列は、動作の詳細である。動作の詳細は、図11に示した事象に対応する情報である。たとえば、1行目のログ指示「100,0,“プログラムA開始”」は、入出力番号「100」つまりアプリケーションで、動作番号「0」の動作つまり「情報」を生成し、動作詳細が「プログラムA開始」つまりプログラムAが開始されたことを示している。2行目のログ指示は「100,0,“従業員コード=%06d”,138」であり、3行目のログ指示は「100,0,“プログラムA終了(終了コード=%03d)”,0」である。
ログ例59に示した個々のログは、それぞれログ指示例58に示したログ指示に対応するログであり、図10に示した例と同様に、カンマで区切られた複数の数値または文字列から構成される。最初の数値または文字列は、ログ対象の動作があった日時、2番目の数値または文字列は、入出力部名、3番目の数値または文字列は、動作名、4番目の数値または文字列は、各動作の内容を詳細に示す動作詳細である。たとえば、1行目には、「2006/05/26,10:13:59.022,“core”,“message”,“プログラムA開始”」と示され、2行目には、「2006/05/26,10:14:21.924,“core”,“message”,“従業員コード=000138”」と示され、3行目には、「2006/05/26,10:20:11.311,“core”,“message”,“プログラムA終了(終了コード=000)”」と示されている。
図13は、図1に示したサポート機20の構成の一例を示すブロック図である。サポート機20は、ログ読取部21、バッファ部22、ログ解析部23、表示部S25、操作部26、文字列変換テーブル部S27、ログ再生制御部28、図示しないCPU、および図示しないメモリを含む。サポート機20は、LAN30を介して、ターゲット機10に接続される。
ログ読取部21は、ターゲット機10に含まれるログファイル部T15からログを読み取る。バッファ部22は、ログ読取部21によって読み取られたログを記憶する。ログ解析部23は、ログの解析を行う。表示部S25は、たとえば液晶ディスプレイなどで構成され、画像を表示する。操作部26は、たとえばキーボードあるいはマウスなどよって構成され、ログ再生および表示内容について指示を入力するための入力装置である。文字列変換テーブル部S27は、たとえば図示しないメモリに含まれ、ログ文字列から動作を特定するためにログ解析部23によって参照される後述する変換テーブルを記憶する。
ログ再生制御部28は、図示しないメモリによって記憶されるプログラムが、図示しないCPUによって実行されることによって実現される機能であり、ログ読取部21、バッファ部22、ログ解析部23、表示部S25、および操作部26を制御する。ログ解析部23も、図示しないメモリによって記憶されるプログラムが、図示しないCPUによって実行されることによって実現される機能である。図示しないメモリは、たとえばROMあるいはRAMなどの半導体メモリあるいはハードディスク装置によって構成される記憶装置である。バッファ部22は、図示しないメモリに含まれる。
図14は、図13に示した表示部S25に表示される再生画面70を示す。再生画面70は、画面表示部71、キー操作表示部72、入出力表示部73、および再生ポインタ74を含む。画面表示部71は、ターゲット機10の表示部T113に表示され、キャプチャされた画面の画像を表示する領域である。キー操作表示部72は、ターゲット機10のキー部112を表す画像を表示する領域である。入出力表示部73は、ターゲット機10の入出力部11に入出力された情報のうちタッチパネル部111およびキー部112によって入力された情報を除く入出力情報、たとえば入出力部11に含まれる各通信部によって入出力された情報、あるいはアプリケーション部14の情報を表示するための領域である。再生ポインタ74は、すべてのログを再生する場合、現在再生しているログの相対位置を示すポインタである。
ログ再生制御部28は、ログ再生を行う際、ターゲット機10上の表示部T113に表示され、キャプチャされた画面の画像データ(以下、「画面イメージ」もいう)を、ログファイル部T15から取得して、画面表示部71に表示する。ターゲット機10上でタッチパネルあるいはマウスによって座標指定が行なわれた場合、指定された座標位置を、指、矢印、あるいは記号などのポインタを画面表示部71に合成して表示することによって特定する。ターゲット機10のキー部112で入力されたキーが操作された場合、入力値がポインタによって特定されるようにキー操作表示部72に表示する。さらに、ターゲット機10の入出力部11に含まれる各通信部で通信された情報あるいはアプリケーション部14の情報を、入出力表示部73に文字列化して表示する。
図15は、図13に示したログ再生制御部28で用いられる検索方法定義テーブル60を示す。検索方法定義テーブル60は、指定された再生条件に基づいて、ログの検索方法を決定するためのテーブルであり、「再生条件指定」ごとに「検索方法」が示されている。図15には、再生条件指定「再生開始日時の指定」について、検索方法「ログ行の日時と指定日時の比較」が示され、再生条件指定「特定従業員の指定」について、検索方法「“従業員コード=”文字列との一致を検索」が示され、再生条件指定「外部デバイスの特定通信内容」について、検索方法「入出力部ログ文字列と動作詳細文字列との一致を検索」が示されている。
操作者が操作部26からログの再生を指示すると、ログ再生制御部28は、表示部S25に再生させるログのログファイル名を選択させる画面を、表示部S25に表示する。操作部26によってログファイル名が選択されると、選択されたログファイル名のログファイルを、ログ読取部21によって、ターゲット機10に含まれるログファイル部T15からバッファ部22に読み込む。選択されたログファイル名が複数である場合、選択された全ログファイル名のログファイルをバッファ部22に読み込み、日時によってログをソートする。
次に、ログ再生制御部28は、再生条件を入力させる画面を、表示部S25に表示する。再生条件には、図15に示した再生条件があり、たとえばログの開始から終了までのうちの任意の日時のログを再生するという条件、あるいはログ中で指定の文字列と一致するログを再生するという条件を指定することができる。再生条件が指定されると、指定された再生条件を満たすログを検索する。
図16は、図13に示した文字列変換テーブル部S27に記憶される入出力部特定テーブル63を示す。入出力部特定テーブル63は、「入出力部名ログ文字列」に対応する「入出力部番号」を示すテーブルである。入出力部特定テーブル63の右側に「備考:対応する入出力部」として、それぞれの入出力部名が記載されている。入出力部特定テーブル63は、ログ解析部23が解析を行う際に用いるテーブルであり、図6に示した入出力部名定義テーブル53による変換と逆の変換を行なうためのテーブルである。
図16には、入出力部名ログ文字列「“operation”」に対して、入出力部番号「001」および備考「タッチパネル」が示され、入出力部名ログ文字列「“serial1”」に対して、入出力部番号「011」および備考「シリアル通信部1」が示され、入出力部名ログ文字列「“serial2”」に対して、入出力部番号「012」および備考「シリアル通信部2」が示され、入出力部名ログ文字列「“extserial”」に対して、入出力部番号「013」および備考「シリアル通信部3」が示され、入出力部名ログ文字列「“display”」に対して、入出力部番号「021」および備考「表示部」が示され、入出力部名ログ文字列「“sslan”」に対して、入出力部番号「031」および備考「SS−LAN通信部」が示され、入出力部名ログ文字列「“core”」に対して、入出力部番号「100」および備考「アプリケーション」が示されている。
図17は、図13に示した文字列変換テーブル部S27に記憶される動作特定テーブル64を示す。動作特定テーブル64は、「動作名ログ文字列」に対応する「動作番号」を示すテーブルである。動作特定テーブル64の右側に「備考:対応する動作」として、それぞれの動作名が記載されている。動作特定テーブル64は、図7に示した動作名定義テーブル54による変換と逆の変換を行なうためのテーブルである。
図17には、動作名ログ文字列「“message”」に対して、動作番号「000」および備考「情報」が示され、動作名ログ文字列「“pressed”」に対して、動作番号「001」および備考「触れる」が示され、動作名ログ文字列「“released”」に対して、動作番号「002」および備考「離す」が示され、動作名ログ文字列「“read”」に対して、動作番号「011」および備考「入力」が示され、動作名ログ文字列「“write”」に対して、動作番号「012」および備考「出力」が示され、動作名ログ文字列「“error”」に対して、動作番号「021」および備考「エラー」が示され、動作名ログ文字列「“change”」に対して、動作番号「031」および備考「画面変更」が示されている。
図18は、図13に示した文字列変換テーブル部S27に記憶される動作解析テーブル65を示す。動作解析テーブル65は、「入出力部」と「動作」との組合せごとに、「動作詳細ログの意味」を示すテーブルであり、ログに動作詳細文字列として記録されたものから、各入出力部でどのような動作が行われたかを特定するために用いられる。動作解析テーブル65の右側に「備考:ログの意味」として、それぞれのログの意味が記載されている。動作解析テーブル65は、ログ解析部23が解析を行う際に用いるテーブルであり、入出力部と動作との組合せについて、図9に示した動作詳細作成ルールテーブル55で行われた変換と逆の変換を行うためのものである。
図18には、入出力部「001」と動作「001」との組合せについては、動作詳細ログの意味が「“x=%04d,y=%04d”形式で数値は座標X、Y」および、備考が「タッチパネル座標(X,Y)に触れた」と示されている。同様に、入出力部と動作との各組合せについての動作詳細ログの意味および備考は、入出力部「001」と動作「002」との組合せについては、「“x=%04d,y=%04d”形式で数値は座標X、Y」および「タッチパネル座標(X,Y)で離した」であり、入出力部「012」と動作「011」との組合せについては、「16進数形式で通信内容」および「シリアル通信部1において外部機器との通信で入力があった」であり、入出力部「012」と動作「012」との組合せについては、「16進数形式で通信内容」および「シリアル通信部1において外部機器に通信で出力した」であり、入出力部「012」と動作「021」との組合せについては、「10進数形式でエラーコード」および「シリアル通信部1においてエラー発生」であり、入出力部「021」と動作「031」との組合せについては、「“display=%04d”形式で数値は画面番号D」および「表示部で画面Dを表示した」であり、入出力部「031」と動作「011」との組合せについては、「16進数形式で通信内容」および「SS−LAN通信部において外部機器との通信で入力があった」であり、入出力部「031」と動作「012」との組合せについては、「16進数形式で通信内容」および「SS−LAN通信部において外部機器に通信で出力した」であり、入出力部「100」と動作「000」との組合せについては、「アプリケーション情報文字列」および「アプリケーションが情報を記録した」である。
ログ再生制御部28は、再生条件によって検索したログについて、ログ解析部23によって、ログが示す動作がどのようなものであったかを解析する。ログ解析部23は、ログの入出力名に対応する入出力部番号を図16に示した入出力部特定テーブル63から抽出し、ログの動作名に対応する動作番号を図17に示した動作特定テーブル64から抽出し、さらに抽出した入出力部番号および動作番号の組合せに対応する動作を図18に示した動作解析テーブル65によって特定する。
ログ再生制御部28は、ログ解析部23によって解析されたログが、ターゲット機10の入出力部11に含まれる各通信部あるいはアプリケーション部14のログの場合、ログの動作詳細に示された情報を、入出力表示部73に文字列化して表示する。ログがタッチパネル部111またはキー部112に対する操作のログの場合、ログの動作詳細が示す位置に基づいて、表示部S25に表示された画面イメージの中の操作ボタンまたはキーのうち、操作された操作ボタンまたはキーを示すように、表示されている画面イメージに、その操作の操作位置を示すための指などのポインタを合成して表示する。
ログに画面がキャプチャされたことが示されていると、具体的には、“capture:”という文字列がログに含まれていると、表示制御部16のログについては、ログ読取部21によって、ターゲット機10に含まれるログファイル部T15から、そのログの“capture:”で示されるファイル名の画面イメージを取得し、取得した画面イメージを画面表示部71に表示する。タッチパネル部111あるいはキー部112のログについては、ポインタを合成して表示した後、キャプチャされた画面イメージを画面表示部71に表示する。入出力部11に含まれる各通信部あるいはアプリケーション部14のログについては、ログの動作詳細に示された情報を表示した後、キャプチャされた画面イメージを画面表示部71に表示する。
ログ再生制御部28は、バッファ部22に読み込んだログを時系列に順次再生する。ユーザは、操作部26によって、順次再生されているログを任意の時点で停止することができ、さらに停止時点から再開することができる。1つのログを表示してから次のログを表示する時間を、ログの日時に基づいて調整することによって、実時間での動作として再現することができる。その時間を短くすることによって高速再生、あるいはその時間を長くすることによってスロー再生も可能である。
上述した実施の形態では、ターゲット機10として、流通あるいはガソリンスタンドなどで用いられるPOS端末を例に挙げたが、これに限定されるものではなく、ATM(
automated teller machine)、自動販売機、キオスク端末、セルフガソリンスタンドにおける安全監視装置、あるいは遠隔地へのPOS端末講習支援装置、さらにパーソナルコンピュータあるいは携帯端末などの情報機器など、人が操作することによって動作する装置であればよい。遠隔地へのPOS端末講習支援装置は、予め講師が行った操作をログとして残しておき、講習時にその操作ログを用いて講師の操作手順を再現するための装置である。
さらに、ログ表示システム1は、ターゲット機10とサポート機20とをLAN30によって接続することによって接続して構成されたが、サポート機20の機能をターゲット機10に含めて、ターゲット機10とサポート機20と一体として構成してもよい。ターゲット機10が複数ある場合は、いずれか1つのターゲット機10のみを一体とすればよい。
図19は、本発明の実施の他の形態であるログ表示システム2の概略の構成を示す。履歴情報表示装置であるログ表示システム2は、ログファイルをターゲット機外の記憶装置に記憶するものであり、LAN30でそれぞれ接続されるターゲット機10a、サポート機20、およびネットワークディスク40を含む。履歴情報表示方法は、ログ表示システム2によって処理される。サポート機20は、図3に示したサポート機20と同じであり、図示していない。ターゲット機10aは、図3に示したターゲット機10のログファイル部T15をなくしたものである。ログ送信部18は、図3に示したLAN通信部114と同じであり、ログ生成部121で生成されたログを、LAN30などのネットワークあるいは公衆回線に接続されているネットワークディスク40に送信する。
ネットワークディスク40は、LAN30に接続され、ログファイル部N41およびログ通信部N42を含む。ログファイル部N41は、たとえばハードディスク装置などの記憶装置によって構成され、ログ通信部N42がターゲット機10aから受信したログを記憶する。ログ通信部N42は、LAN30に接続される他の機器たとえばターゲット機10aおよびサポート機20と、データを送受信する通信部である。これによって、ターゲット機10a内部に記憶領域を設けなくても、ログ記録を行うことができる。
図20は、本発明の実施のさらに他の形態であるログ表示システム3の概略の構成を示す。履歴情報表示装置であるログ表示システム3は、ログファイルをなくしたシステムであり、LAN30によってそれぞれ接続されるターゲット機10bおよびサポート機20aを含む。履歴情報表示方法は、ログ表示システム3によって処理される。ターゲット機10bは、図19に示したターゲット機10aと同じであり説明は省略する。サポート機20aは、図21で詳述するが、図13に示したサポート機20のログ読取部21およびバッファ部22の代わりにログ受信部S29を設けたものである。ターゲット機10bは、生成したログを記憶することなく、ログ送信部18によってサポート機20aに送信する。
図21は、図20に示したサポート機20aの構成の一例を示すブロック図である。図13に示したサポート機20のログ読取部21およびバッファ部22の代わりにログ受信部S29を設けたものである。サポート機20aのログ受信部S29は、ターゲット機10bから送信されたログを受信し、ログ解析部23に送る。ログ解析部23は、ログ受信部S29から受け取ったログを解析し、解析結果をログ再生制御部28に送る。ログ再生制御部28は、ログ解析部23から受け取った解析結果に基づいて表示を行う。すなわち、ログ表示システム3は、ターゲット機10bで行われた操作を、リアルタイムでサポート機20aの表示部S25に表示することができる。したがって、ターゲット機10bと離れた場所で、ターゲット機10bでの動作を監視することができる。ログを監視する用途に使用することが簡単になる。
図22は、図3に示した入出力部11の入出力ログ指示作成処理のフローチャートである。入出力部11がログ指示に関する処理を行うとき、ステップA1に移る。ステップA1では、ハードウェアまたはソフトウェア割込みを待つ。ステップA2では、割込みがあったか否かを判定する。割込みがあると、ステップA3に進み、割込みがないと、ステップA1に戻る。ステップA3では、割込みについて処理を行う。ステップA4では、割込みを発生した処理内容に基づいてログ指示を作成する。ステップA5では、ログ指示をログ生成部121に通知して終了する。
図23は、図3に示したアプリケーション部14のログ指示作成処理のフローチャートである。アプリケーション部14が、表示部T113の画面に表示を行うとき、ステップB1に移る。画面表示を行うには、表示制御部16に対して表示画像番号を通知することによって、表示する画面を指定する。この指定は、ターゲット機10上で動作する任意のアプリケーションによって行われる。
ステップB1では、表示画像番号を基に画像データ部141から、図4に示した画像管理テーブル51によって特定される画像データを取得する。ステップB2では、表示部T113に合わせて画像データを調整する。調整とは、画像は全体または一部であり、表示部T113の表示能力に合わせて、画像を拡大、縮小、あるいは重ね合せることである。ステップB3では、調整した画像データを表示部T113に表示する。ステップB4では、表示画像番号に基づいてログ指示を作成する。ステップB5では、生成したログ指示をログ生成部121へ通知して終了する。
図24は、図3に示したログ記録制御部12のログ監視処理のフローチャートである。ログ記録制御部12は、入出力部11内の各部を監視し、ログ対象の動作のログを生成するために、ステップC1に移る。ステップC1では、ログ設定部124からログ設定を取得する。ログ設定には、ログの対象、たとえば入出力部11に関する動作全て、あるいはエラーが設定されており、ログ設定にログ対象を設定しておくことによって、ログ対象の動作を選択することができる。ステップC2では、入出力部11の動作を確認する。すなわち、入出力部11内の各部の動作を監視する。ステップC3では、ログ対象動作があったか否かを判定する。ログ対象動作があると、ステップC4に進み、ログ対象動作がないと、ステップC2に戻る。
ステップC4では、ログ対象の動作について、ログを生成する。ステップC5では、ログ設定に記録先ログファイルの指定があるか否かを判定する。指定があると、ステップC7に進み、指定がないと、ステップC6に進む。ステップC6では、生成したログを標準ログファイル151に記録して終了する。ステップC7では、生成したログを指定ログファイル152に記録して終了する。
図25は、図3に示したログ記録制御部12のログ記録処理のフローチャートである。入出力部11または表示制御部16からのログ指示を監視するとき、ステップD1に移る。ステップD1では、ログ指示を待つ。ステップD2では、ログ指示があったか否かを判定する。ログ指示があると、ステップD3に進み、ログ指示がないと、ステップD1に戻る。ステップD3では、ログ設定部124からログ設定を取得する。ステップD4では、ログ指示がログ対象のログ指示か否かを判定する。ログ対象であると、ステップD5に進み、ログ対象でないと、ステップD1に戻る。
ステップD5では、検出したログ対象の動作について、ログを生成する。ステップD6では、ログ設定に記録先ログファイルの指定があるか否かを判定する。指定があると、ステップD8に進み、指定がないと、ステップD7に進む。ステップC7では、生成したログを標準ログファイル151に記録して終了する。ステップC8では、生成したログを指定ログファイル152に記録して終了する。
図24と図25とに示した両フローチャートは、ともにログ記録制御部12による処理であるが、別々のタスクで動作する。しかし、各フローチャートの開始を他のフローチャートの終了に繋げて1つのタスクとして連続して動作してもよい。
図26は、図3に示したログ生成部121のログ生成処理のフローチャートである。
図24に示したステップC4または図25に示したステップD5でログを生成する際に、呼び出され、ステップE1に移る。したがって、ログ対象のログ指示またはログ対象の動作が特定された状態で処理が開始される。
ステップE1では、システムタイマ部13から現在の日時を取得する。日時は、必ずしもシステムタイマ部13による日時である必要はなく、ログの対象となる動作が発生した日時を特定することができる何らかの一意な日時を使用してもよい。一意な日時とは、たとえばターゲット機10が動作を開始してからの経過時間、同一ネットワーク上のサーバ機の時計による日時あるいはそのサーバの稼動時間である。
ステップE2では、取得した日時から日時ログ文字列を作成する。ステップE3では、図6に示した入出力部名定義テーブル53を参照して、入出力部番号に対応する入出力部ログ文字列を取得する。ステップE4では、図7に示した動作名定義テーブル54を参照して、動作番号に対応する動作ログ文字列を取得し、さらに、図8に示したキャプチャ制御テーブル66から、キャプチャログ文字列を取得する。ステップE5では、図9に示した動作詳細作成ルールテーブル55を参照して、入出力部番号と動作番号とキャプチャ制御フラグとの組合せに対応する動作詳細ログ文字列の作成ルールつまり動作詳細のログ作成ルールを取得する。
ステップE6では、キャプチャ制御フラグが「1」であるか否かを判定する。キャプチャ制御フラグが「1」であると、ステップE9に進み、キャプチャ制御フラグが「1」でないと、ステップE7に進む。ステップE7では、取得した動作詳細のログ作成ルールに基づき、動作詳細のログ文字列を作成する。ステップE8では、ステップE2で作成した日時ログ文字列、ステップE3で取得した入出力部ログ文字列、ステップE4で取得した動作ログ文字列およびキャプチャログ文字列、ならびにステップE6で作成した動作詳細ログ文字列を結合してログを生成し、終了する。
ステップE9では、画面をキャプチャする。すなわち、表示部113に表示されている画面を表示制御部16によってキャプチャし、表示制御部16がキャプチャした画面の画像データつまり画面イメージを表示制御部16から取得する。ステップE10では、ステップE1で取得した日時をファイル名とし、表示制御部16から取得した画面イメージを、ログファイル部T15に保存つまり記憶して、ステップE7に進む。たとえば、2006年7月19日20時22分23.000秒にキャプチャした画面イメージのファイル名は、「20060719202223000.jpg」である。
図27は、図13に示したログ再生制御部28のログ再生処理のフローチャートである。たとえば操作部26によって、ログの再生を行う機能が選択されると、ステップF1に移る。ステップF1では、表示部S25に、再生するログファイル名を選択させるためのログファイル名選択画面を表示する。ステップF2では、操作部26によってログファイル名が選択されるのを待つ。ステップF1に移る前に、たとえばログの再生を行う機能が選択される前に、再生するログファイルが指定されていれば、ステップF1およびステップF2をスキップしてもよい。
ステップF3では、複数のログファイルが選択されたか否かを判定する。複数のログファイルが選択されると、ステップF19に進み、1つのログファイルが選択されると、ステップF4に進む。ステップF4では、選択されたログファイルをバッファ部22に読み込む。ステップF5では、バッファ部22から、ログの記録が開始された日時と終了した日時つまり最後に記録された日時とを取得する。バッファ部22内のログは、日時順にソートされているので、それぞれ先頭行の日時と最終行の日時とを取得する。
ステップF6では、再生条件を入力させるための再生条件入力画面を表示する。再生条件は、たとえばログの開始から終了までのうちの入力された日時のログを再生するという条件、あるいは入力された文字列と一致するまたは含むログを再生するという条件である。ステップF7では、再生条件の指定があるか否かを判定する。再生条件の指定があると、ステップF8に進み、再生条件の指定がないと、ステップF20に進む。ステップF8では、バッファ部22内のログから指定された再生条件に合致するログを検索し、バッファ部22の先頭のログを第1行としたとき、検索されたログの行番号の値から「1」引いた値をカウンタ「n」に代入する。
ステップF9では、カウンタ「n」に「1」を加え、ポインタを次の行に進める。ステップF10では、バッファ部22から「n」行目のログを1行分読取る。ステップF11では、読み取ったログをログ解析部23で解析する。解析によって、ログが示す動作がどのようなものであったかを明らかにする。ステップF12では、再生に別の行のログが必要であるか否かを判定する。1つの動作が2行以上のログに分割記録されていることがあるので、別の行が必要であるか否かを判定する。ログが不足すると再生することができないケースがある。別の行のログが必要であると、ステップF9に戻り、別の行のログが必要でないと、ステップF13に進む。
ステップF13では、キャプチャデータがあるか否か、つまりログが“capture:”という文字列を含むか否かを判定する。ログが“capture:”という文字列を含むと、キャプチャデータがあると判定して、ステップF14に進み、ログが“capture:”という文字列を含まないと、キャプチャデータがないと判定し、ステップF15に進む。ステップF14では、該当するキャプチャデータ画面を取得する。すなわち、そのログの“capture:”で示されるファイル名の画面イメージを、ログ読取部21によって、ターゲット機10に含まれるログファイル部T15から取得する。ステップF15では、取得した画面イメージとログが示す動作とから表示する再生画面イメージを生成する。ステップF16では、生成した再生画面イメージを表示部S25に表示する。
ステップF17では、バッファ部22内のログを全て読み取ったか否かを判定する。ログを全て読み取っていない場合、ステップF18に進み、ログを全て読み取った場合、終了する。終了と同時に開始に戻り、ログファイル選択画面の表示を行うこともできる。ステップF18では、ウェイトw秒待ち、ステップF9に戻る。ステップF19では、選択された全ログファイルをバッファ部22に読み込み、ログ各行の日時をキーとしてログをソートし、ステップF5に進む。ステップF20では、カウンタ「n」に「0」を代入して、ステップF9に進む。
このように、複数の操作部によって、予め定める情報が入力され、履歴情報生成手段によって、前記複数の操作部のうちで操作された操作部を時系列的に表す履歴情報が、操作部が操作される度に生成され、第1の表示手段によって、画像情報が表示され、取得手段によって、第1の表示手段に表示されている画像情報が取得され、記憶手段によって、履歴情報生成手段によって生成された履歴情報および取得手段によって取得された画像情報が記憶され、第2の表示手段によって、画像情報および履歴情報が表示される。さらに、制御手段によって、履歴情報生成手段によって履歴情報が生成される度に、履歴情報生成手段によって生成された履歴情報が記憶手段に記憶され、履歴情報生成手段によって履歴情報が生成される際に、画像を取得すべき条件を表す予め定める画像取得条件が成立する場合、第1の表示手段に表示されている画像情報が取得手段によって取得され、取得手段によって取得された画像情報が、その画像情報が取得された際に生成された履歴情報に対応付けて記憶手段に記憶され、前記操作部によって履歴情報の表示を指示する表示指示情報が入力されると、記憶手段に記憶された履歴情報が時系列的に第2の表示手段に表示され、履歴情報に対応付けられた画像情報がある場合、履歴情報がその履歴情報に対応付けられた画像情報とともに第2の表示手段に表示される。すなわち、操作が行われた際に表示されていた画像情報が取得つまりキャプチャされて履歴情報とともに記憶され、記憶された画像情報が障害解析時に履歴情報とともに表示されるので、操作を行うために必要な画像情報つまり画像のデータをすべて記憶しておかなくても、画像情報とともに記憶されている履歴情報に基づいて操作手順を再現することができる。したがって、本発明に係る履歴情報表示装置を用いれば、履歴情報を表示する第2の表示手段が、操作を行うために必要な画像情報を記憶していない装置、たとえばパーソナルコンピュータで構成されるサポート機に設けられていても、履歴情報に基づいて操作手順を再現して、障害解析を行うことができる。
複数の操作部は、たとえばタッチパネル部111の操作ボタンあるいはキー部112のキーであり、履歴情報生成手段は、たとえばログ生成部121であり、第1の表示手段は、たとえば表示制御部16および表示部T113であり、取得手段は、たとえばログ生成部121であり、記憶手段は、たとえばログファイル部T15であり、第2の表示手段は、たとえば表示部S25であり、制御手段は、たとえばログ記録制御部12およびログ再生制御部28であり、通信回線は、たとえばLAN30であり、通信手段は、たとえばLAN通信部114、パラレル通信部115、シリアル通信部116、無線通信部117、およびSS−LAN通信部118であり、処理手段は、たとえばアプリケーション部14である。予め定める画像取得条件は、たとえばキャプチャ制御フラグが「1」であるという条件であり、予め定めるフォーマットは、たとえばJPEGフォーマットである。
さらに、通信手段によって、通信回線を介して接続される他の装置と情報が送受信され、処理手段によって、予め定める処理が実行され、前記履歴情報生成手段によって、通信手段によって送受信される情報を時系列的に表す送受信履歴情報および処理手段が実行する処理に関する情報を時系列的に表す処理履歴情報が前記履歴情報に含めて生成されるので、操作部以外の部位で入出力される情報、および装置内部で実行される処理たとえばアプリケーションプログラムで実行される処理に関連する情報についても、履歴情報とともに関連する画像情報を記憶することができる。したがって、記憶された履歴情報と画像情報とに基づいてより正確に障害解析を行うことができる。
さらにまた、操作手段によって、前記複数の操作部が含まれ、いずれかの操作部が操作される際に第1の表示手段に表示される画像情報が、履歴情報生成手段によって生成される履歴情報に関連する場合、制御手段に画像の取得が指示され、前記通信手段および前記処理手段によって、第1の表示手段に表示される画像情報が履歴情報生成手段によって生成される履歴情報に関連する場合、制御手段に画像の取得が指示され、前記予め定める画像取得条件は、操作手段、通信手段、または処理手段によって画像の取得が指示されたことであるので、各手段について記憶される履歴情報のうち、各手段に適した条件の履歴情報についてのみ画像情報を記憶することができる。したがって、すべての履歴情報について画像情報を記憶する必要がなく、記憶する画像情報の情報量を削減することができる。操作手段は、たとえばタッチパネル部111あるいはキー部112である。
さらに、前記制御手段によって、前記取得手段によって取得された画像情報が、予め定めるフォーマットで記憶手段に記憶されるので、予め定めるフォーマットたとえばJPEGフォーマットの画像情報を表示することができるビューワがあれば、記憶した画像情報を表示することができる。したがって、市販のビューワを用いることができるパーソナルコンピュータなどでも操作手順を再現して、障害解析を行うことができる。
さらにまた、複数の操作部によって、予め定める情報が入力され、履歴情報生成手段によって、前記複数の操作部のうちで操作された操作部を時系列的に表す履歴情報が生成され、第1の表示手段によって、画像情報が表示され、取得手段によって、履歴情報生成手段によって履歴情報が生成される際に、画像を取得すべき条件を表す予め定める画像取得条件が成立すると、第1の表示手段に表示されている画像情報が取得され、第2の表示手段によって、画像情報および履歴情報が表示される。さらに、制御手段によって、履歴情報生成手段によって生成された履歴情報に応答して、履歴情報生成手段によって生成された履歴情報が時系列的に第2の表示手段に表示され、その履歴情報が生成される際に取得手段によって取得された画像情報がある場合、履歴情報がその履歴情報が生成された際に取得手段によって取得された画像情報とともに第2の表示手段に表示される。すなわち、操作が行われた際に表示されていた画像情報が取得つまりキャプチャされ、キャプチャされた画像情報が履歴情報とともに表示されるので、操作を行うために必要な画像情報つまり画像のデータをすべて記憶しておかなくても、履歴情報に基づいて操作手順をリアルタイムで再現することができる。したがって、本発明に係る履歴情報表示装置を用いれば、履歴情報を表示する第2の表示手段が、操作を行うために必要な画像情報を記憶していない装置、たとえばパーソナルコンピュータで構成されるサポート機に設けられていても、履歴情報に基づいて操作手順をリアルタイムで再現することができる。さらに、サポート機が、操作部が設けられているターゲット機と離れた場所に設置されていても、つまり遠隔地にあっても、操作手順をリアルタイムで再現することができる。
さらに、本発明に係る履歴情報表示方法によれば、履歴情報生成工程で、予め定める情報を入力するための複数の操作部のうちでいずれかの操作部が操作されると、操作された操作部を時系列的に表す履歴情報を生成し、記憶工程で、履歴情報生成工程で履歴情報が生成される度に、履歴情報生成工程で生成された履歴情報を記憶部に記憶し、履歴情報生成工程で履歴情報が生成される際に、画像を取得すべき条件を表す予め定める画像取得条件が成立する場合、画像情報を表示する第1の表示部に表示されている画像情報を取得し、取得した画像情報をその画像情報を取得した際に生成された履歴情報に対応付けて記憶部に記憶する。さらに、表示工程で、前記操作部によって履歴情報の表示を指示する表示指示情報が入力されると、記憶部に記憶された履歴情報を時系列的に第1の表示部とは異なる第2の表示部に表示し、履歴情報に対応付けられた画像情報がある場合、履歴情報をその履歴情報に対応付けられた画像情報とともに第2の表示部に表示する。すなわち、操作が行われた際に表示されていた画像情報が取得つまりキャプチャされて履歴情報とともに記憶され、記憶された画像情報が障害解析時に履歴情報とともに表示されるので、操作を行うために必要な画像情報つまり画像のデータをすべて記憶しておかなくても、画像情報とともに記憶されている履歴情報に基づいて操作手順を再現することができる。したがって、本発明に係る履歴情報表示方法を用いれば、履歴情報を表示する第2の表示部が、たとえば操作を行うために必要な画像情報を記憶していないパーソナルコンピュータで構成されるサポート機に設けられていても、履歴情報に基づいて操作手順を再現して、障害解析を行うことができる。
履歴情報生成工程は、たとえば入出力ログ指示作成処理、ログ指示作成処理、ログ監視処理、ログ記録処理、およびログ生成処理の工程であり、記憶工程は、たとえばログ監視処理およびログ記録処理の工程であり、表示工程は、たとえばログ再生処理の工程である。