図1は、本発明の実施の一形態であるログ表示システム1の概略の構成を模式的に示す。図1〜図27によって、ログ表示システム1のうち、履歴情報(以下「ログ」という)の生成および再生の基本的な部分について説明し、図28〜図39によって、ログ除外に関する部分について説明する。履歴情報表示装置であるログ表示システム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番目以降の数値または文字列は、動作の詳細である。
たとえば、1行目のログ指示「1,1,142,244」は、入出力番号「1」つまりタッチパネル部111で、動作番号「1」の動作つまり「触れる」動作が発生し、動作詳細が「142,244」つまり触れた位置が座標(142,244)であったことを示している。2行目のログ指示は「1,2,145,242」であり、3行目のログ指示は「11,11,01F45CCD4EF10E042」であり、4行目のログ指示は「21,31,130」であり、5行目のログ指示は「1,1,582,289」であり、6行目のログ指示は「1,2,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に記憶される動作詳細作成ルールテーブル55である。動作詳細作成ルールテーブル55は、「入出力部」と「動作」との組合せごとに、「動作詳細のログ作成ルール」を示すテーブルである。動作詳細作成ルールテーブル55の右側に「備考:意味」として、それぞれの組合せの意味が記載されている。
たとえば、入出力部「001」と動作「001」との組合せについては、動作詳細のログ作成ルールが「第3、第4引数を座標“x=%04d,y=%04d”形式にする」であり、備考が「タッチパネルに触れた」である。同様に、入出力部と動作との各組合せについての動作詳細のログ作成ルールおよび備考は、入出力部「001」と動作「002」との組合せについては、「第3、第4引数を座標“x=%04d,y=%04d”形式にする」および「タッチパネルを離した」であり、入出力部「012」と動作「011」との組合せについては、「第3引数を16進数にする」および「シリアル通信部1で入力」であり、入出力部「012」と動作「012」との組合せについては、「第3引数を16進数にする」および「シリアル通信部1で出力」であり、入出力部「012」と動作「021」との組合せについては、「第3引数を10進数にする」および「シリアル通信部1でエラー」であり、入出力部「021」と動作「031」との組合せについては、「第3引数を“display=%04d”形式にする」および「表示部で画面変化」であり、入出力部「031」と動作「011」との組合せについては、「第3引数を16進数にする」および「SS−LAN通信部で入力」であり、入出力部「031」と動作「012」との組合せについては、「第3引数を16進数にする」および「SS−LAN通信部で出力」であり、入出力部「100」と動作「000」との組合せについては、「第3引数を文字のまま出力する」および「アプリケーション情報」である。
ログ生成部121は、入出力部11、アプリケーション部14、あるいは表示制御部16から、ログ設定部124に設定されているログ対象のログ指示を受け取ると、まず、システムタイマ部13から日時を取得し、日時を表す日時ログ文字列を生成する。次に、受け取ったログ指示の1番目の数値に基づいて、図6に示した入出力部名定義テーブル53から入出力部名ログ文字列、そして2番目の数値に基づいて、図7に示した動作名定義テーブル54から動作名ログ文字列を取得する。さらに、受け取ったログ指示の1番目の数値、2番目の数値、および3番目以降の数値または文字列に基づいて、図8に示した動作詳細作成ルールテーブル55の動作詳細のログ作成ルールによって、動作の詳細を表す動作詳細ログを作成する。取得した日時ログ文字列、入出力部名ログ文字列、および動作名ログ文字列、ならびに作成した動作詳細ログを合成して、ログ指示に対応するログを生成する。生成したログは、ログファイル部T15に記憶する。
たとえば、操作者がタッチパネルに触れたことを示すログを生成する場合、指示ログは、図5に示した指示ログ例52の1行目の指示ログ「1,1,142,244」である。第1引数「1」が示す入出力部「タッチパネル」を表す番号「001」と、第2引数「1」が示す動作「触れる」を表す番号「001」との組合せについて、図8に示した動作詳細作成ルールテーブル55を参照すると、動作詳細のログ作成ルール「第3、第4引数を座標“x=%04d,y=%04d”形式にする」が得られる。ここで「%04d」とは、4桁の10進数を示し、C言語を使用するプログラムにおいて文字出力に関する標準的な出力形式を示す一例である。日時を2006年5月18日15時15分01.120秒とすると、第3引数「142」および第4引数「244」から、ログは、「2006/05/18,15:05:01.120,“operation”,“pressed”,“x=0142,y=0244”」となる。
図9は、図3に示したログファイル部T15に記憶されたログ例56を示す。ログ例56は、基本的には、1行で1つのログつまりターゲット機10上での1動作についてのログを示し、図9には、6つのログが示されている。1つのログは、カンマで区切られた複数の数値または文字列から構成される。最初の数値または文字列は、ログ対象の動作があった日時、2番目の数値または文字列は、入出力部名、3番目の数値または文字列は、動作名、4番目の数値または文字列は、各動作の内容を詳細に示す動作詳細である。図9に示した例では、4つの項目を例示したが、これら以外に、ログには関連するプログラム名、ユーザ名、ログの文字数、あるいはマシン名などターゲット機10に関連する情報、および使用状況あるいは場所を特定する情報などを含めてもよい。さらに、1つのログの情報量が多くなる場合、2行以上にログを分割してもよい。
図9には、図5に示した指示ログ例52に対応するログ例56が示されている。1行目には、「2006/05/18,15:05:01.120,“operation”,“pressed”,“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”,“display=0130”」と示され、5行目には、「2006/05/18,15:05:08.735,“operation”,“pressed”,“x=0582,y=0289”」と示され、6行目には、「2006/05/18,15:05:09.089,“operation”,“released”,“x=0573,y=0295”」と示されている。
図9に示した例では、ログに日時を特定する情報を含んでいる例を示したが、ログに日時を特定するための情報を含まない場合、ログファイル部T15のログファイルにログを記録する際、ログが生成された順またはログ対象の動作が発生した順に記憶する。ログに日時を特定するための情報を含む場合は順不同でもよい。
図10は、図3に示したアプリケーション部14がログ指示作成のために用いるログ事象変換テーブル57である。ログ事象変換テーブル57は、アプリケーション制御部142において発生した「事象」ごとに、対応する「ログ文字列」を示すテーブルである。ログ文字列欄には、事象に合わせて任意のログ文字列を設定することができる。したがって、アプリケーションについては、入出力部11とは独立したログとして、つまりアプリケーションのみの情報をログとして記録することができる。
図10には、事象「プログラムAの開始」について、ログ文字列「“プログラムA開始”」が示され、事象「プログラムAの終了」について、ログ文字列「“プログラムA終了(終了コード=%03d)”」が示され、事象「操作する従業員の指定」について、ログ文字列「“従業員コード=%06d”」が示され、事象「精算処理の開始」について、ログ文字列「“精算処理開始”」が示されている。
図11は、図3に示したアプリケーション部14からログ生成部121に通知するログ指示例58およびそれに基づくログ例59を示す。たとえば、ターゲット機10が複数の従業員で構成される飲食店で使用する端末である場合、端末の操作者を特定するために、アプリケーションは、従業員情報たとえば従業員コードを用いて従業員を管理する。タッチパネルの操作は、端末を使用する従業員が関連する動作であり、タッチパネルで行われた入出力操作と従業員情報とを関連付けてログに記録しておきたいケースが発生する。ログ記録制御部12がこの従業員情報に関知する構成となっていない場合、ログに記録するため、アプリケーション制御部142は、アプリケーションにのみ存在する情報、たとえば従業員情報を、任意の文字列として、ログ指示でログ生成部121に指示する。
ログ指示例58に示した個々のログ指示は、図5に示した例と同様に、カンマで区切られた複数の数値または文字列から構成される。最初の数値は、図6に示した入出力部番号を示し、2番目の数値は、図7に示した動作番号を示し、3番目以降の数値または文字列は、動作の詳細である。動作の詳細は、図10に示した事象に対応する情報である。たとえば、1行目のログ指示「100,0,“プログラムA開始”」は、入出力番号「100」つまりアプリケーションで、動作番号「0」の動作つまり「情報」を生成し、動作詳細が「プログラムA開始」つまりプログラムAが開始されたことを示している。2行目のログ指示は「100,0,“従業員コード=%06d”,138」であり、3行目のログ指示は「100,0,“プログラムA終了(終了コード=%03d)”,0」である。
ログ例59に示した個々のログは、それぞれログ指示例58に示したログ指示に対応するログであり、図9に示した例と同様に、カンマで区切られた複数の数値または文字列から構成される。最初の数値または文字列は、ログ対象の動作があった日時、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)”」と示されている。
図12は、図1に示したサポート機20の構成の一例を示すブロック図である。サポート機20は、ログ読取部21、バッファ部22、ログ解析部23、画面イメージファイルDB(database)24、表示部S25、操作部26、文字列変換テーブル部S27、ログ再生制御部28、図示しないCPU、および図示しないメモリを含む。サポート機20は、LAN30を介して、ターゲット機10に接続される。
ログ読取部21は、ターゲット機10に含まれるログファイル部T15からログを読み取る。バッファ部22は、ログ読取部21に読み取られたログを記憶する。ログ解析部23は、ログの解析を行う。画面イメージファイルDB(以下「画面イメージファイルデータベース」ともいう)24は、ログを記録したターゲット機10の表示画面と同じまたは同等の複数の画面の画像イメージ(以下「画面イメージ」ともいう)およびその画像イメージを管理するための後述する画面テーブルを記憶する。表示部S25は、たとえば液晶ディスプレイなどで構成され、画像を表示する。操作部26は、たとえばキーボードあるいはマウスなどよって構成され、ログ再生および表示内容について指示を入力するための入力装置である。文字列変換テーブル部S27は、たとえば図示しないメモリに含まれ、ログ文字列から動作を特定するためにログ解析部23によって参照される後述する変換テーブルを記憶する。
ログ再生制御部28は、図示しないメモリによって記憶されるプログラムが、図示しないCPUによって実行されることによって実現される機能であり、ログ読取部21、バッファ部22、ログ解析部23、画面イメージファイルDB24、表示部S25、および操作部26を制御する。ログ解析部23も、図示しないメモリによって記憶されるプログラムが、図示しないCPUによって実行されることによって実現される機能である。図示しないメモリは、たとえばROMあるいはRAMなどの半導体メモリあるいはハードディスク装置によって構成される記憶装置である。バッファ部22および画面イメージファイルDB24は、図示しないメモリに含まれる。
図13は、図12に示した表示部S25に表示される再生画面70を示す。再生画面70は、画面表示部71、キー操作表示部72、入出力表示部73、および再生ポインタ74を含む。画面表示部71は、ターゲット機10の表示部T113に表示される画像と同じ画像を表示する領域である。キー操作表示部72は、ターゲット機10のキー部112を表す画像を表示する領域である。入出力表示部73は、ターゲット機10の入出力部11に入出力された情報のうちタッチパネル部111およびキー部112によって入力された情報を除く入出力情報、たとえば入出力部11に含まれる各通信部によって入出力された情報、あるいはアプリケーション部14の情報を表示するための領域である。再生ポインタ74は、すべてのログを再生する場合、現在再生しているログの相対位置を示すポインタである。
ログ再生制御部28は、ログ再生を行う際、ターゲット機10上の表示部T113に表示されていた画面を、画面表示部71に表示する。ターゲット機10上でタッチパネルあるいはマウスによって座標指定が行なわれた場合、指定された座標位置を、指、矢印、あるいは記号などのポインタを画面表示部71に合成して表示することによって特定する。ターゲット機10のキー部112で入力されたキーが操作された場合、入力値がポインタによって特定されるようにキー操作表示部72に表示する。さらに、ターゲット機10の入出力部11に含まれる各通信部で通信された情報あるいはアプリケーション部14の情報を、入出力表示部73に文字列化して表示する。
図14は、図12に示したログ再生制御部28で用いられる検索方法定義テーブル60を示す。検索方法定義テーブル60は、指定された再生条件に基づいて、ログの検索方法を決定するためのテーブルであり、「再生条件指定」ごとに「検索方法」が示されている。図14には、再生条件指定「再生開始日時の指定」について、検索方法「ログ行の日時と指定日時の比較」が示され、再生条件指定「特定従業員の指定」について、検索方法「“従業員コード=”文字列との一致を検索」が示され、再生条件指定「外部デバイスの特定通信内容」について、検索方法「入出力部ログ文字列と動作詳細文字列との一致を検索」が示されている。
操作者が操作部26からログの再生を指示すると、ログ再生制御部28は、表示部S25に再生させるログのログファイル名を選択させる画面を、表示部S25に表示する。操作部26によってログファイル名が選択されると、選択されたログファイル名のログファイルを、ログ読取部21によって、ターゲット機10に含まれるログファイル部T15からバッファ部22に読み込む。選択されたログファイル名が複数である場合、選択された全ログファイル名のログファイルをバッファ部22に読み込み、日時によってログをソートする。
次に、ログ再生制御部28は、再生条件を入力させる画面を、表示部S25に表示する。再生条件には、図14に示した再生条件があり、たとえばログの開始から終了までのうちの任意の日時のログを再生するという条件、あるいはログ中で指定の文字列と一致するログを再生するという条件を指定することができる。再生条件が指定されると、指定された再生条件を満たすログを検索する。
ログ再生制御部28は、検索したログについて、ログ解析部23によって、ログが示す動作がどのようなものであったかを解析する。ログの示す動作が画面表示に関係するものである場合、画面イメージファイルDB24から、ログに含まれる画面表示についての情報が示す画面イメージを取得し、取得した画面イメージを画面表示部71に表示する。操作が伴っていれば、表示されている画面イメージに重畳して、その操作の操作位置を示すための指などのポインタを表示する。ログ再生制御部28は、検索したログを時系列に順次再生する。
ユーザは、操作部26によって、順次再生されているログを任意の時点で停止することができ、さらに停止時点から再開することができる。1つのログを表示してから次のログを表示する時間を、ログの日時に基づいて調整することによって、実時間での動作として再現することができる。その時間を短くすることによって高速再生、あるいはその時間を長くすることによってスロー再生も可能である。
図15は、図12に示した画面イメージファイルDB24に記憶される画面テーブル61の一例を示す。画面テーブル61は、画面を特定するための情報である画面情報と、画面イメージを格納するファイルを特定するための画面イメージファイル名とを対にして構成したテーブルであり、ログに基づいて、ログ記録時に表示されていた画面を特定して、再生イメージを生成するために使用される。画面イメージファイル名は、予め画面イメージ毎に定められたファイルの名称であり、画面イメージファイル名が示すファイルに、ターゲット機10上で表示される画面と同じまたは同等の画面の画像イメージが記録される。
図15に示した画面情報を、図4に示した画像管理テーブル51における表示画像番号と同じ画像番号にすることによって、ログ記録時の表示画面とログ再生時の表示画面とを一致させることができる。ログに含まれる画面表示についての情報は、ログが記録された時点でターゲット機10の画面に表示されていた画面イメージを導き出せる一意の情報であり、画面テーブル61における画面情報のいずれかの画面情報を特定している。ログが記録された時点でターゲット機10の画面に表示されていた画面イメージを収めたファイルのファイル名、またはそのイメージを特定することができるなんらかの情報を収めたファイルのファイル名が、画面テーブル61の画面イメージファイル名に示されている。したがって、特定された画面情報に対応する画面イメージファイル名の画面イメージを、画面イメージファイルDB24から読み出して、表示部S25に表示すれば、ログが記録された時点でターゲット機10の画面に表示されていた画面イメージを再生することができる。
画面イメージファイル名の画面イメージのイメージ形式は、たとえばPNG(
Portable Network Graphics)形式、GIF(Graphic Interchange Format)形式、あるいはJPEG(Joint Photographic Experts Group)形式など様々なフォーマットを利用することができる。図15には、画面情報「画面0001」の画面イメージファイルとして「0001.PNG」が示され、画面情報「画面0002」の画面イメージファイルとして「0002.GIF」が示され、画面情報「画面0003」の画面イメージファイルとして「0003.JPG」が示されている。
図16は、図13に示した画面表示部71に表示される再生画面70の生成手順の一例を模式的に示す。ログ再生制御部28は、図15に示した画面テーブル61を使用して、ターゲット機10からバッファ部22に読み込んだログファイルのログから、ログが記録された際に表示されていたターゲット機10上の画面を導き出す。
図16には、ログファイル15a、画面イメージファイルデータベース24a、および再生イメージ70a、および再生イメージ70bが示されている。ログファイル15aには、2つのログ「 2006/05/22,14:49:42.789,“display”,“change”,“display=画面0001”」および「2006/05/22,14:53:02.024,“display”,“change”,“display=画面0002”」が記録されている。画面イメージファイルデータベース24aには、画面テーブル61、画面イメージ「0001.PNG」、画面イメージ「0002.GIF」、および画面イメージ「0003.JPG」が記憶されている。
ログ再生制御部28は、たとえばバッファ部22に読み込んだログファイル15aの最初のログを、ログ解析部23によって解析すると、「2006年5月22日14時49分42.789秒」に「画面0001」を表示したことが判明する。画面情報「画面0001」をキーとして、画面イメージファイルデータベース24aで検索を行い、関連する画面イメージファイル名「0001.PNG」を得る。すなわち、当該ログ記録時にターゲット機10上で表示された画面はファイル「0001.PNG」の画像イメージであることが導かれる。ログ再生制御部28は、画面イメージファイル名「0001.PNG」の画像イメージを、画面イメージファイルデータベース24aから取得し、再生イメージ70aとして表示部S25に表示する。同様に、2つ目のログについて、再生イメージ70bを表示部S25に表示する。
再生イメージ70aは、「2006年5月22日14時49分42.789秒」にターゲット機10の表示部T113に表示された画像イメージ「画面0001」であり、再生イメージ70bは、「2006年5月22日14時53分02.024秒」にターゲット機10の表示部T113に表示された画像イメージ「画面0002」である。
図17は、図12に示した画面イメージファイルDB24に記憶される他の画面テーブル62の例を示す。画面テーブル62は、画面のうち背景を特定するための情報、または部品となるウィンドウを特定するための情報によって定義される画面情報と、画面イメージを格納するファイルを特定するための画面イメージファイル名とを対にして構成したテーブルであり、図15に示した画面テーブル61と同様に、ログからログ記録時に表示されていた画面を特定して、再生イメージを生成するために使用される。画面イメージファイル名は、予め画面イメージ毎に定められたファイルの名称であり、画面イメージファイル名が示すファイルに、ターゲット機10上で表示される画面の背景またはウィンドウ・ボタン・テキストなどの部品と同じまたは同等の画像イメージが記録される。
図17には、画面情報「背景0001」の画面イメージファイルとして「B0001.PNG」が示され、画面情報「背景0002」の画面イメージファイルとして「B0002.PNG」が示され、画面情報「背景0003」の画面イメージファイルとして「B0003.PNG」が示され、画面情報「ウィンドウ0001」の画面イメージファイルとして「W0001.PNG」が示され、画面情報「ウィンドウ0002」の画面イメージファイルとして「W0002.PNG」が示されている。
画面テーブル62が、図15に示した画面テーブル61と異なる点は、画面テーブル62のイメージファイル名が指すイメージファイルは、画面に表示される画像イメージ全体のうち一部を示す構成要素となっているところである。再生イメージの生成は、背景として使用される画像イメージと背景の前方に表示するウィンドウの画像イメージとを組み合わせて生成される。すなわち、ログに記録される複数の画面情報から得られる複数の画像イメージが重畳されたものである。したがって、画像イメージを共通に利用することができるので、画面イメージファイルデータベース24に記憶する画像イメージの数の削減あるいは各データのデータサイズを減少させることができる。
図18は、図13に示した画面表示部71に表示される再生画面の生成手順の他の例を模式的に示す。ログ再生制御部28は、図17に示した画面テーブル62を使用して、ターゲット機10からバッファ部22に読み込んだログファイルのログから、ログが記録された際に表示されていたターゲット機10上の画面を導き出す。
図18には、ログファイル15b、画面イメージファイルデータベース24b、および再生イメージ70c、および再生イメージ70dが示されている。ログファイル15bには、2つのログ「2006/05/22,14:49:42.789, “display”,“display=背景0001,ウィンドウ0001(x=0132,y=0024”」および「2006/05/22,14:53:02.024, “display”,“display=背景0001,ウィンドウ0002(x=0132,y=0024”」が記録されている。画面イメージファイルデータベース24bには、画面テーブル62、画面イメージ「B0001.PNG」、画面イメージ「W0001.PNG」、および画面イメージ「W0002.PNG」が記憶されている。
ログ再生制御部28は、たとえばバッファ部22に読み込んだログファイル15bの最初のログを、ログ解析部23によって解析すると、「2006年5月22日14時49分42.789秒」に「背景0001」と「ウィンドウ0001」とを表示したことがわかる。画面情報「背景0001」をキーとして、画面イメージファイルデータベース24bで検索を行い、関連する画面イメージファイル名「B0001.PNG」を得る。同様に、画面情報「ウィンドウ0001」をキーとして検索し、画面イメージファイル名「W0001.PNG」を得る。ログ再生制御部28は、画面イメージファイル名「B0001.PNG」の画像イメージと、画面イメージファイル名「W0001.PNG」の画像イメージとを、画面イメージファイルデータベース24bから取得し、2つの画像イメージを重畳して、再生イメージ70cとして表示部S25に表示し、該ログ記録時にターゲット機上で表示された画面を再生する。同様に、2つ目のログについて、再生イメージ70dを表示部S25に表示する。
再生イメージ70cは、「2006年5月22日14時49分42.789秒」にターゲット機10の表示部T113に表示された画像イメージ「背景0001」および「ウィンドウ0001」であり、再生イメージ70dは、「2006年5月22日14時53分02.024秒」にターゲット機10の表示部T113に表示された画像イメージ「背景0001」および「ウィンドウ0002」である。
図19は、図12に示した文字列変換テーブル部S27に記憶される入出力部特定テーブル63を示す。入出力部特定テーブル63は、「入出力部名ログ文字列」に対応する「入出力部番号」を示すテーブルである。入出力部特定テーブル63の右側に「備考:対応する入出力部」として、それぞれの入出力部名が記載されている。入出力部特定テーブル63は、ログ解析部23が解析を行う際に用いるテーブルであり、図6に示した入出力部名定義テーブル53による変換と逆の変換を行なうためのテーブルである。
図19には、入出力部名ログ文字列「“operation”」に対して、入出力部番号「001」および備考「タッチパネル」が示され、入出力部名ログ文字列「“serial1”」に対して、入出力部番号「011」および備考「シリアル通信部1」が示され、入出力部名ログ文字列「“serial2”」に対して、入出力部番号「012」および備考「シリアル通信部2」が示され、入出力部名ログ文字列「“extserial”」に対して、入出力部番号「013」および備考「シリアル通信部3」が示され、入出力部名ログ文字列「“display”」に対して、入出力部番号「021」および備考「表示部」が示され、入出力部名ログ文字列「“sslan”」に対して、入出力部番号「031」および備考「SS−LAN通信部」が示され、入出力部名ログ文字列「“core”」に対して、入出力部番号「100」および備考「アプリケーション」が示されている。
図20は、図12に示した文字列変換テーブル部S27に記憶される動作特定テーブル64を示す。動作特定テーブル64は、「動作名ログ文字列」に対応する「動作番号」を示すテーブルである。動作特定テーブル64の右側に「備考:対応する動作」として、それぞれの動作名が記載されている。動作特定テーブル64は、図7に示した動作名定義テーブル54による変換と逆の変換を行なうためのテーブルである。
図20には、動作名ログ文字列「“message”」に対して、動作番号「000」および備考「情報」が示され、動作名ログ文字列「“pressed”」に対して、動作番号「001」および備考「触れる」が示され、動作名ログ文字列「“released”」に対して、動作番号「002」および備考「離す」が示され、動作名ログ文字列「“read”」に対して、動作番号「011」および備考「入力」が示され、動作名ログ文字列「“write”」に対して、動作番号「012」および備考「出力」が示され、動作名ログ文字列「“error”」に対して、動作番号「021」および備考「エラー」が示され、動作名ログ文字列「“change”」に対して、動作番号「031」および備考「画面変更」が示されている。
図21は、図12に示した文字列変換テーブル部S27に記憶される動作解析テーブル65を示す。動作解析テーブル65は、「入出力部」と「動作」との組合せごとに、「動作詳細ログの意味」を示すテーブルであり、ログに動作詳細文字列として記録されたものから、各入出力部でどのような動作が行われたかを特定するために用いられる。動作解析テーブル65の右側に「備考:ログの意味」として、それぞれのログの意味が記載されている。動作解析テーブル65は、ログ解析部23が解析を行う際に用いるテーブルであり、図8に示した動作詳細作成ルールテーブル55で行われた変換と逆の変換を行うためのものである。
図21には、入出力部「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」との組合せについては、「アプリケーション情報文字列」および「アプリケーションが情報を記録した」である。
ログ解析部23は、ログの入出力名に対応する入出力部番号を図19に示した入出力部特定テーブル63から抽出し、ログの動作名に対応する動作番号を図20に示した動作特定テーブル64から抽出し、さらに抽出した入出力部番号および動作番号の組合せに対応する動作を図21に示した動作解析テーブル65によって特定する。
ログ再生制御部28は、ターゲット機10の入出力部11に含まれる各通信部で通信された情報の場合、ログの動作詳細に示された情報を、入出力表示部73に文字列化して表示する。画面の表示が行われたログである場合、図16または図18に示したように、ログの動作詳細に対応する画面番号を画面イメージファイルDB24から取得し、取得した表示画面を表示部S25に再生表示する。
さらに、タッチパネル部111またはキー部112に対する操作のログの場合、ログの動作詳細が示す位置をポインタによって特定して示すことによって、表示部S25に表示された画面イメージの中の操作ボタンまたはキーのうち、操作された操作ボタンまたはキーを示すことができる。
図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、アプリケーション部14、または表示制御部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を参照して、動作番号に対応する動作ログ文字列を取得する。ステップE5では、図8に示した動作詳細作成ルールテーブル55を参照して、入出力部番号と動作番号との組合せに対応する動作詳細ログ文字列の作成ルールつまり動作詳細のログ作成ルールを取得する。
ステップE6では、取得した動作詳細のログ作成ルールに基づき、動作詳細のログ文字列を作成する。ステップE7では、ステップE2で作成した日時ログ文字列、ステップE3で取得した入出力部ログ文字列、ステップE4で取得した動作ログ文字列、およびステップE6で作成した動作詳細ログ文字列を結合してログを生成し、終了する。
図27は、図12に示したログ再生制御部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では、画面表示のログか否か、つまりログの示す動作が画面表示に関係するものである否かを判定する。画面表示のログの場合、ステップF14に進み、画面表示のログでない場合、ステップF15に進む。ステップF14では、ログに画面イメージについての情報が含まれているので、その情報が示す画面イメージを画面イメージファイルDB24から取得する。ステップF15では、取得した画面イメージとログが示す動作とから表示する再生画面イメージを生成する。ステップF16では、生成した再生画面イメージを表示部S25に表示する。
ステップF17では、バッファ部22内のログを全て読み取ったか否かを判定する。ログを全て読み取っていない場合、ステップF18に進み、ログを全て読み取った場合、終了する。終了と同時に開始に戻り、ログファイル選択画面の表示を行うこともできる。ステップF18では、ウェイトw秒待ち、ステップF9に戻る。ステップF19では、選択された全ログファイルをバッファ部22に読み込み、ログ各行の日時をキーとしてログをソートし、ステップF5に進む。ステップF20では、カウンタ「n」に「0」を代入して、ステップF9に進む。
図27に示した処理は、操作部26による操作によって任意の場面で終了することができ、さらに一時的に停止および一時停止からの再実行を行うことができる。さらに、ログファイルの選択とともに、ログファイル内のログをファイルサイズ、行数、またはログに記録された日時によって指定することができ、ログファイルからのログの読み取りを、ログファイル中の任意のログから開始することも可能である。
再生速度については、図27に示した各ステップ間、ループ中、あるいはジャンプ前後に、操作部26によって指定した任意時間または一定時間、たとえばウェイトw秒を挿入することも可能であり、これによって再生速度の調整を行うことができる。ウェイトに使用する時間wを、ログに記録された日時に基づいて設定することによって、ログの実時間再生も可能である。wの値は、フローチャートの処理を開始する時に、またはステップF9からステップF18のループ処理中に、操作部26によって任意に変更することができる。以上、ログの生成および再生の基本的な部分について説明したが、以下、図28〜図39によって、ログ除外に関する部分について説明する。
図28は、図3に示した表示部T113に表示される暗証番号入力画面75の一例を示す。暗証番号入力画面75は、アプリケーション部14によって表示される画面である。暗証番号入力画面75は、暗証番号入力画面75に表示される数字の操作ボタンに対応するタッチパネル部111の部分にタッチすることによって、暗証番号を入力する画面である。暗証番号入力画面75には、数字の操作ボタンを表示する操作ボタン表示部76、メッセージを表示するメッセージ部77、および入力された数字を表示する入力表示部78がある。図28には、操作ボタン表示部76に「0」〜「9」の数字の操作ボタンが表示され、メッセージ部77に「暗証番号を入力してください」という文言のメッセージが表示され、入力表示部78に「****」が表示されている。「*(アスタリスク)」は、数字が入力されたが、入力された数字を開示しないためにマスクしたことを示している。
操作された数字の操作ボタンをログとして記憶する際、操作ボタンが示す数字の値を記憶するのではなく、数字の操作ボタンを操作するためにユーザがタッチしたタッチパネル部111内の位置、たとえばXY座標で表される位置を記憶する。したがって、ログを再生する際、ログとして記憶されている位置に基づいて、操作されたときに表示されていた画面の操作ボタンの中から、操作された操作ボタンを特定することができる。すなわち、表示されている画面と、ユーザがタッチしたタッチパネル部111内の位置とが特定することができれば、操作された操作ボタンがわかり、暗証番号を特定することができる。
図29は、図3に示したログ設定部124に記憶されるログ対象管理テーブル66の一例を示す。ログ対象管理テーブル66は、ログ生成部124がログを生成する際に参照するテーブルであり、「入出力部」、「番号」、「ログ対象」、「ログ除外指定」、および「設定変更ログ」の項目を含み、入出力部ごとに他の項目が設定される。ログ対象管理テーブル66は、システム起動時に設定しておいてもよいし、システム実行中にアプリケーションから設定あるいは変更することができるようにしてもよい。
「入出力部」は、図6に示した入出力部名定義テーブル53の備考に記載された入出力部を示し、「番号」は、入出力部名定義テーブル53の入出力部番号を示す。「ログ対象」は、その入出力部がログ対象であるか否かを示す項目である。ログ対象の項目が、「対象」に設定されていれば、その入出力部はログの対象であり、「対象外」に設定されていれば、その入出力部はログの対象ではない。「ログ除外指定」は、ログを生成する際に、ログとして記録しない情報の指定が有るか否か、および指定が有る場合は、ログとして記録しない情報を特定する除外情報を示す項目である。「設定変更ログ」は、ログ対象管理テーブル66のその入出力部の項目の設定変更を行った際に、設定変更を行った旨のログを記録するか否かを示す項目である。
図29には、入出力部「タッチパネル」について、番号「001」、ログ対象「対象」、ログ除外指定「(350,100)−(600,380)、(100,524)−(125,600)」、および設定変更ログ「記録する」が示されている。ログ除外指定「(350,100)−(600,380)、(100,524)−(125,600)」は、XY座標で、座標(350,100)と座標(600,380)とを対角線の頂点とする矩形で表される領域、および座標(100,524)と座標(125,600)とを対角線の頂点とする矩形で表される領域に含まれる操作ボタンの操作については、ログとして記録しないことを示す。入出力部「シリアル通信部1」について、番号「011」、ログ対象「対象外」、ログ除外指定「なし」、および設定変更ログ「記録しない」が示され、入出力部「シリアル通信部2」について、番号「012」、ログ対象「対象」、ログ除外指定「なし」、および設定変更ログ「記録しない」が示され、入出力部「シリアル通信部3」について、番号「013」、ログ対象「対象」、ログ除外指定「全データ」、および設定変更ログ「記録しない」が示されている。このログ除外指定「全データ」は、シリアル通信部3で送受信されるすべてのデータは、ログとして記録しないことを示す。
図30は、図4に示した画像管理テーブル51にログ除外指定の項目を追加した画像管理テーブル51aの一例を示す。通常、アプリケーションは、処理毎に表示画面を切替えることが多いので、表示画面ごとにログ設定の変更を可能とするために、画像番号ごとに「ログ除外指定」の項目を設けている。画像番号は、図4に示した表示画像番号のことである。画像管理テーブル51aの「ログ除外指定」は、その画像番号の画面が表示されているときに生成されるログについて、ログとして記録しない情報を指定するものであり、複数の条件を指定することができる。アプリケーション部14は、画像管理テーブル51aにログ除外指定のある画面に変更する際、ログ除外指定のログ設定変更を指示するログ指示を作成する。
図30には、画像番号「0001」について、データ「開始画像データ」およびログ除外指定「タッチパネル:なし、シリアル通信部1:なし」と示され、開始画像データが表示されているときは、タッチパネル部111に対する操作およびシリアル通信部1で送受信される情報ともに、ログ除外指定がないことを示す。画像番号「0002」については、データ「業務画像1データ」およびログ除外指定「タッチパネル:(350,100)−(600,380)、シリアル通信部1:全データ」と示され、業務画像1データが表示されているときは、タッチパネル部111に対する操作のうち、XY座標で、座標(350,100)と座標(600,380)とを対角線の頂点とする矩形で表される領域に含まれる操作ボタンに対する操作、およびシリアル通信部1で送受信されるすべてのデータは、ログとして記録されないことを示す。画像番号「0003」については、データ「業務画像2データ」およびログ除外指定「タッチパネル:(350,100)−(600,380)、タッチパネル:(100,524)−(125,600)、シリアル通信部1:なし」と示され、業務画像2データが表示されているときは、タッチパネル部111に対する操作のうち、XY座標で、座標(350,100)と座標(600,380)とを対角線の頂点とする矩形で表される領域、および座標(100,524)と座標(125,600)とを対角線の頂点とする矩形で表される領域に含まれる操作ボタンに対する操作は、ログとして記録されず、シリアル通信部1で送受信される情報は、ログ除外指定がないことを示す。
図31は、図7に示した動作名定義テーブル54にログ設定変更の動作を追加した動作名定義テーブル54aの一例である。「ログ設定変更」は、動作番号「999」が割り当てられ、動作名ログ文字列が「“config”」である。動作番号「999」のログ指示を作成して、ログ生成部121に送ることによって、ログ設定部124に設定されているログ対象管理テーブル66の内容を変更することができる。動作番号「999」のログ指示は、ログ設定を変更するためのものであり、必ずしもログが生成されるとは限らない。ログが生成されるのは、ログ対象管理テーブル66の設定変更ログの項目が「記録する」となっている入出力部についてである。
図32は、図3に示した文字列変換テーブル部T122に記憶されるログ抑制ルールテーブル67である。ログ抑制ルールテーブル67は、ログ記録制御部12が、ログ指示に基づいてログ設定部124の設定を変更する際のルールを示すテーブルである。ログ記録制御部12は、このルールに従って設定を変更する。ログ抑制ルールテーブル67は、「入出力部」、「動作」、「動作詳細」、および「ログ抑制ルール」の項目を含み、動作番号が「999」つまりログ設定変更の動作について、動作詳細ごとのログ抑制ルールが、入出力部ごとにまとめられている。「入出力部」は、図6に示した入出力部名定義テーブル53の入出力部番号を示し、「動作」は、図31に示した動作名定義テーブル54aの動作番号を示す。
たとえば、入出力部「001」および動作「999」についての動作詳細は、「ALL」、「RECT(rectangle)」、および「NONE」がある。ログ抑制ルールは、動作詳細「ALL」については「全てのタッチパネル操作についてログしない」であり、動作詳細「RECT」については「第4〜7引数を順に左上X・左上Y・右下X・右下Y座標とする矩形内のタッチパネル入力をログしない」であり、動作詳細「NONE」については「全てのタッチパネル操作をログする」である。「第4〜7引数を順に左上X・左上Y・右下X・右下Y座標とする矩形内のタッチパネル入力をログしない」とは、第4引数を矩形の左上の頂点のX座標、第5引数を矩形の左上の頂点のY座標、第6引数を矩形の右下の頂点のX座標、第7引数を矩形の右下の頂点のY座標とする矩形の領域内にあるタッチパネル部111の操作ボタンに対する操作についてはログとして記録しないことである。
入出力部「011」および動作「999」についての動作詳細は、「ALL」、「READ」、「WRITE」、および「NONE」がある。ログ抑制ルールは、動作詳細「ALL」については「シリアル通信部1での全ての通信をログしない」であり、動作詳細「READ」については「シリアル通信部1での入力データをログしない」であり、動作詳細「WRITE」については「シリアル通信部1での出力データをログしない」であり、
動作詳細「NONE」については「シリアル通信部1での全ての通信をログする」である。
図33は、図3に示したログ生成部121に通知される他のログ指示例68を示す。1つのログ指示は、カンマで区切られた複数の数値または文字列から構成される。最初の数値は、図6に示した入出力部番号を示し、2番目の数値は、図31に示した動作番号を示し、3番目以降の数値または文字列は、動作詳細である。動作番号「999」についての動作詳細は、図32に示した動作詳細である。
たとえば、1行目のログ指示「21,31,3」は、入出力番号「21」つまり表示部113で、動作番号「31」の動作つまり「画面変更」動作が発生し、動作詳細が「3」であり、画像番号「0003」つまり「業務画像2データ」に画面が変更されたことを示している。2行目のログ指示「1,999,RECT,350,100,600,380」は、入出力番号「1」つまりタッチパネル部111について、動作番号「999」つまりログ設定変更が指示されたことを示している。動作詳細「RECT,350,100,600,380」は、座標(350,100)と座標(600,380)とを対角線の頂点とする矩形で表される領域に含まれる操作ボタンに対する操作についてはログとして記録しないを示す。したがって、2行目のログ指示によって、ログ設定部124に記憶されるログ対象管理テーブル66のタッチパネル部111について、座標(350,100)と座標(600,380)とを対角線の頂点とする矩形で表される領域に含まれる操作ボタンに対する操作についてはログとして記録しない設定がなされる。
3行目のログ指示「1,999,RECT,100,524,125,600」は、入出力番号「1」つまりタッチパネル部111について、動作番号「999」つまりログ設定変更が指示されたことを示している。動作詳細「RECT,100,524,125,600」は、座標(100,524)と座標(125,600)とを対角線の頂点とする矩形で表される領域に含まれる操作ボタンに対する操作についてはログとして記録しないことを示す。したがって、3行目のログ指示によって、ログ設定部124に記憶されるログ対象管理テーブル66のタッチパネル部111について、座標(100,524)と座標(125,600)とを対角線の頂点とする矩形で表される領域に含まれる操作ボタンに対する操作についてはログとして記録しない設定がなされる。
4行目のログ指示「11,999,ALL」は、入出力番号「11」つまりシリアル通信部1について、動作番号「999」つまりログ設定変更が指示されたことを示している。動作詳細「ALL」は、シリアル通信部1での全ての通信をログしないことを示す。5行目のログ指示は「1,1,348,153」であり、タッチパネル部111が座標(348,153)の位置で触れられたことを示している。6行目のログ指示は「1,2,351,155」であり、タッチパネル部111が座標(351,155)の位置で離されたことを示している。
図34は、図3に示したログファイル部T15に記憶された他のログ例69を示す。ログ例69は、図33に示したログ指示例68に対応するログである。1行目には、「2006/07/22,19:10:24.582,“display”,“change”,“display=0003”」と示され、2行目には、「2006/07/22,19:10:25.894,“operation”,“config”,“ログ設定を変更しました”」と示され、3行目には、「2006/07/22,19:10:25.896,“operation”,“config”,“ログ設定を変更しました”」と示され、4行目には、「2006/07/22,19:10:25.914,“serial1”,“config”,“ログ設定を変更しました”」と示され、5行目には、「2006/07/22,19:10:40.751,“operation”,“pressed”,“x=0348,y=0153”」と示され、6行目には、「2006/07/22,19:10:40.782,“operation”,“released”,“x=****,y=****”」と示されている。
2行目〜4行目のログは、ログ設定変更が行われたことを示すログである。6行目のログは、図33に示したログ指示では、タッチパネル部111が座標(351,155)の位置で離されたことを示しているが、2行目のログ設定変更で、座標(350,100)と座標(600,380)とを対角線の頂点とする矩形で表される領域に含まれる操作ボタンに対する操作についてはログとして記録しない設定がなされており、座標(351,155)がこの矩形の領域内にあるので、このログのX座標およびY座標は、「****」でマスクされている。
図35は、図23に示したログ指示作成処理にログ除外に関する処理を追加したフローチャートである。アプリケーション部14が、表示部T113の画面に表示を行うとき、ステップG1に移る。ステップG1では、表示画像番号を基に画像データ部141から、図30に示した画像管理テーブル51aによって特定される画像データを取得するとともに、画像管理テーブル51aからログ除外指定を取得する。ステップG2〜ステップG5は、それぞれ図23に示したステップB2〜ステップB5と同じであり、説明は重複を避けるために省略する。
ステップG6では、ログ除外指定からログ指示を作成する。すなわち、ステップG1で取得したログ除外指定に基づいて、ログ設定部124に設定されているログ除外に関する設定を変更するためのログ指示を作成する。ステップG7では、生成されたログ指示「ログ設定変更」をログ生成部121に通知する。ステップG8では、ログ除外指定を全て処理したか否かを判定する。画像管理テーブル51aのログ除外指定には、複数のログ除外指定が示されていることがあるので、複数のログ除外指定を全て処理したか否かを判定する。全てのログ除外指定を処理すると、終了し、全てのログ除外指定を処理していないと、ステップG6に戻る。
図36は、図25に示したログ記録処理にログ除外に関する処理を追加したフローチャートである。入出力部11、アプリケーション部14、または表示制御部16からのログ指示を監視するとき、ステップD1に移る。ステップH1〜ステップH3は、それぞれ図25に示したステップD1〜ステップD3と同じであり、ステップH9〜ステップH11は、それぞれ図25に示したステップD6〜ステップD8と同じであり、説明は重複を避けるために省略する。
ステップH4では、ログ設定変更のログ指示であるか否かを判定する。ログ設定変更のログ指示であると、ステップH12に進み、ログ設定変更のログ指示でないと、ステップH5に進む。ステップH5では、ログ指示がログ対象のログ指示か否かを判定する。ログ指示がログ対象のログ指示であると、ステップH6に進み、ログ指示がログ対象のログ指示でないと、ステップH1に戻る。ステップH6では、ログ除外指定に合致するか否かを判定する。ログ指示で示される入出力部の動作がログ対象管理テーブル66のログ除外指定に該当すると、ログ除外指定に合致すると判定して、ステップH7に進み、ログ指示で示される入出力部の動作がログ対象管理テーブル66のログ除外指定に該当しないと、ログ除外指定に合致しないと判定して、ステップH8に進む。
ステップH7では、ログ指示から動作詳細を示す部分を削除する。たとえば図33に示した6行目のログ指示「1,2,351,155」については、動作詳細である「351,155」を削除し、ログ指示「1,2」とする。ステップH8では、検出したログ対象の動作について、ログを生成する。ステップH7で動作詳細が削除されている場合は、動作詳細を含まないログを生成する。具体的には、詳細を示す文字列の部分を「*」表示に置換えることによって、詳細を示す文字列を隠蔽し、動作詳細を含まないログを生成する。たとえば図33に示した6行目のログ指示であれば、ステップH7でログ指示「1,2」とされているので、詳細を示す文字列の部分は「x=****,y=****」となる。
ステップH12では、ログ設定を変更する。具体的には、ログ設定変更のログ指示の内容に基づいて、ログ対象管理テーブル66の内容を変更する。ステップH13では、ログ設定変更したことをログに記録するか否かを判定する。ログ対象管理テーブル66の設定変更ログのうち、ログ設定変更を行った入出力部の設定変更ログが「記録する」であると、ログ設定変更したことをログに記録すると判定し、ステップH8に進み、ステップH8で、ログ設定変更したことを示すログを生成し、ステップH10またはステップH11でログファイル部T15に記録する。ログ対象管理テーブル66の設定変更ログのうち、ログ設定変更を行った入出力部の設定変更ログが「記録しない」であると、ログ設定変更したことをログに記録しないと判定し、ステップH1に戻る。
図37は、図3に示した表示部T113に表示される他の暗証番号入力画面75aの例を示す。暗証番号入力画面75aは、図28に示した暗証番号入力画面75の操作ボタン表示部76を含む除外領域79を、除外領域79を除く領域の色またはパターンと異なる色またはパターンにして表示したものである。除外領域79は、除外領域79内にある操作ボタンに対する操作の動作詳細がログとして記録されない領域である。暗証番号入力画面75aに表示される操作ボタンに対する操作の動作詳細は、たとえば操作ボタンを操作するためにタッチパネル部111にタッチされた位置、具体的には、暗証番号入力画面75a内におけるXY座標で示される座標位置を示す情報である。
図38は、図24に示したログ監視処理にログ除外に関する処理を追加したフローチャートである。ログ記録制御部12は、入出力部11内の各部を監視し、ログ対象の動作のログを生成するために、ステップJ1に移る。ステップJ1およびステップJ2はそれぞれ図24に示したステップC1およびステップC2と同じであり、ステップJ4〜ステップJ7は、それぞれ図24に示したステップC4〜ステップC7と同じであり、説明は重複を避けるために省略する。
ステップJ3では、ログ対象動作があったか否かを判定する。ログ対象動作があると、ステップJ4に進み、ログ対象動作がないと、ステップJ8に進む。ステップJ8では表示部113に表示されている画面に変更があったか否かを判定する。表示部113に表示されている画面に変更があると、ステップJ9に進み、表示部113に表示されている画面に変更がないと、ステップJ2に戻る。ステップJ9では、表示部113に表示された画面の内容を確認する。具体的には、表示部113に表示された画面の画像情報を表示制御部16から取得し、取得した画像情報に基づいて、表示部113に表示された画面の中に特定の色たとえば青色の領域あるいは特定のパターンたとえば網掛けパターンの領域があるか確認する。
ステップJ10では、表示画面に特定の色またはパターンで描画された領域があるか否かを判定する。表示画面に特定の色またはパターンで描画された領域があると、ステップJ11に進み、表示画面に特定の色またはパターンで描画された領域がないと、ステップJ12に進む。ステップJ11では、表示部113に特定の色またはパターンで描画された領域をタッチパネルログ除外指示としてログ設定して、ステップJ2に戻る。すなわち、その領域におけるタッチパネルの入力をログ記録しないものとして、ログ除外指示によってログ設定を変更する。具体的には、入出力部「タッチパネル」について、ログ対象管理テーブル66のログ除外指定の項目を、特定の色またはパターンで描画された領域におけるタッチパネル部111に対する操作をログ記録しない設定にして、ステップJ2に戻る。ステップJ12では、タッチパネルログ除外指示のログ設定を解除して、ステップJ2に戻る。具体的には、入出力部「タッチパネル」について、ログ対象管理テーブル66のログ除外指定の項目を、ログ除外指定がない設定にして、ステップJ2に戻る。
図39は、図24に示したログ監視処理にログ除外に関する他の処理を追加したフローチャートである。ログ記録制御部12は、入出力部11内の各部を監視し、ログ対象の動作のログを生成するために、ステップK1に移る。ステップK1〜ステップK8はそれぞれ図38に示したステップJ1〜ステップJ8と同じであり、ステップK12は、図38に示したステップJ12と同じであり、説明は重複を避けるために省略する。
ステップK9では、表示部113に表示された画面の内容を確認する。具体的には、表示部113に表示された画面の画像情報を表示制御部16から取得し、取得した画像情報に基づいて、表示部113に表示された画面の中に特定の文字列たとえば「暗証番号」という文字列があるか確認する。文字列の確認は、まず画像の中から文字列を抽出し、抽出した文字列を「暗証番号」などの特定の文字列と比較して、特定の文字列の有無を確認する。ステップJ10では、表示画面に特定の文字列があるか否かを判定する。表示画面に特定の文字列があると、ステップK11に進み、表示画面に特定の文字列がないと、ステップK12に進む。ステップK11では、表示部113に特定の文字列が表示されている画面でのタッチパネルログ除外指示としてログ設定して、ステップK2に戻る。具体的には、入出力部「タッチパネル」について、ログ対象管理テーブル66のログ除外指定の項目を、全てのタッチパネル操作についてログしない設定にして、ステップK2に戻る。
上述した実施の形態では、ターゲット機10として、流通あるいはガソリンスタンドなどで用いられるPOS端末を例に挙げたが、これに限定されるものではなく、ATM(
automated teller machine)、自動販売機、キオスク端末、セルフガソリンスタンドにおける安全監視装置、あるいは遠隔地へのPOS端末講習支援装置、さらにパーソナルコンピュータあるいは携帯端末などの情報機器など、人が操作することによって動作する装置であればよい。遠隔地へのPOS端末講習支援装置は、予め講師が行った操作をログとして残しておき、講習時にその操作ログを用いて講師の操作手順を再現するための装置である。
さらに、ログ表示システム1は、ターゲット機10とサポート機20とをLAN30によって接続することによって接続して構成されたが、サポート機20の機能をターゲット機10に含めて、ターゲット機10とサポート機20と一体として構成してもよい。ターゲット機10が複数ある場合は、いずれか1つのターゲット機10のみを一体とすればよい。
図40は、本発明の実施の他の形態であるログ表示システム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内部に記憶領域を設けなくても、ログ記録を行うことができる。
図41は、本発明の実施のさらに他の形態であるログ表示システム3の概略の構成を示す。履歴情報表示装置であるログ表示システム3は、ログファイルをなくしたシステムであり、LAN30によってそれぞれ接続されるターゲット機10bおよびサポート機20aを含む。履歴情報表示方法は、ログ表示システム3によって処理される。ターゲット機10bは、図40に示したターゲット機10aと同じであり説明は省略する。サポート機20aは、図41で詳述するが、図12に示したサポート機20のログ読取部21およびバッファ部22の代わりにログ受信部S29を設けたものである。ターゲット機10bは、生成したログを記憶することなく、ログ送信部18によってサポート機20aに送信する。
図42は、図41に示したサポート機20aの構成の一例を示すブロック図である。図12に示したサポート機20のログ読取部21およびバッファ部22の代わりにログ受信部S29を設けたものである。サポート機20aのログ受信部S29は、ターゲット機10bから送信されたログを受信し、ログ解析部23に送る。ログ解析部23は、ログ受信部S29から受け取ったログを解析し、解析結果をログ再生制御部28に送る。ログ再生制御部28は、ログ解析部23から受け取った解析結果に基づいて表示を行う。すなわち、ログ表示システム3は、ターゲット機10bで行われた操作を、リアルタイムでサポート機20aの表示部S25に表示することができる。したがって、ターゲット機10bと離れた場所で、ターゲット機10bでの動作を監視することができる。ログを監視する用途に使用することが簡単になる。
このように、操作手段によって、予め定める情報を入力するための複数の操作部が有され、履歴情報生成手段によって、操作手段の前記複数の操作部のうちでいずれかの操作部が操作されると、操作された操作部に関連する関連情報を含む履歴情報が時系列的に生成され、制御手段によって、履歴情報生成手段によって生成された履歴情報が記憶手段に記憶され、操作手段によって履歴情報の表示を指示する表示指示情報が入力されると、記憶手段に記憶された履歴情報が表示手段に表示される。さらに、履歴情報生成手段によって、履歴情報を生成する際に、操作された操作部が予め定める条件に合致しない操作部であると、その操作された操作部を特定するための特定情報を前記関連情報に含めて履歴情報が生成され、操作された操作部が予め定める条件に合致する操作部であると、その操作された操作部の特定情報を前記関連情報に含めずに履歴情報が生成される。すなわち、予め定める条件に合致する操作部を特定する特定情報が記憶されないので、その操作部によって入力された情報、たとえば個人情報など秘密を維持する必要がある情報が履歴情報に基づいて開示されることを防止することができる。したがって、本発明に係る履歴情報表示装置を用いれば、履歴情報を表示する際に、個人情報は表示されず、個人情報の第三者への漏出を防止することができる。
操作手段は、たとえばタッチパネル部111またはキー部112であり、履歴情報生成手段は、たとえばログ生成部121であり、記憶手段は、たとえばログファイル部T15であり、表示手段は、たとえば表示部S25であり、制御手段は、たとえばログ記録部123およびログ再生制御部28であり、特定情報は、たとえば座標位置である。
さらに、操作手段によって、予め定める情報を入力するための複数の操作部が有され、履歴情報生成手段によって、操作手段の前記複数の操作部のうちでいずれかの操作部が操作されると、操作された操作部に関連する関連情報を含む履歴情報が時系列的に生成され、制御手段によって、履歴情報生成手段によって生成された履歴情報が記憶手段に記憶され、操作手段によって履歴情報の表示を指示する表示指示情報が入力されると、記憶手段に記憶された履歴情報が表示手段に表示される。さらに、履歴情報生成手段によって、履歴情報を生成する際に、操作された操作部が予め定める条件に合致しない操作部であると、その操作された操作部を特定するための特定情報を前記関連情報に含めて履歴情報が生成され、操作された操作部が予め定める条件に合致する操作部であると、その操作された操作部の特定情報に代えて、予め定める置換情報を前記関連情報に含めて履歴情報が生成される。すなわち、予め定める条件に合致する操作部を特定する特定情報を、予め定める置換情報たとえば「*」で表される情報に代えて記憶するので、履歴情報を表示する際、置換情報によって、操作が行われたことのみが示され、その操作部によって入力された情報、たとえば個人情報など秘密を維持する必要がある情報が履歴情報に基づいて開示されることを防止することができる。したがって、履歴情報を参照する際に、個人情報の第三者への漏出を防止し、かつ個人情報の入力操作が行われたことを認識することができる。
さらにまた、前記操作手段は、予め定める第1の領域と第1の領域を除く第2の領域とに分割され、第1の領域は、第2の領域と区別可能であり、前記予め定める条件は、前記複数の操作部が第1の領域に配置されていることであるので、他の領域と区別可能な予め定める領域たとえば異なる色あるいはパターンで他の領域と区別可能にした領域に配置された操作部を特定する特定情報が履歴情報として記憶されないことを、ユーザに認識させることができる。したがって、ユーザは、入力する個人情報の秘密が保たれることがわかり、安心して個人情報を入力することができる。
さらに、前記予め定める条件は、予め定める文字列を表す文字列情報が表示手段に表示されているときに操作されることであるので、予め定める文字列を表す文字列情報たとえば個人情報など秘密にすべき情報の入力を促すために表示される「暗証番号」などの文字列の文字列情報が表示されているときは、操作された操作部を特定する特定情報は履歴情報に含まれない。したがって、画面に特定の色あるいはパターンを描画しなくても、操作された操作部を特定する特定情報の記憶を制御することができる。
さらにまた、履歴情報生成工程で、予め定める情報を入力するための複数の操作部のうちいずれかの操作部が操作されると、操作された操作部に関連する関連情報を含む履歴情報を時系列的に生成し、記憶工程で、履歴情報生成工程で生成された履歴情報を記憶部に記憶し、表示工程で、前記複数の操作部によって履歴情報の表示を指示する表示指示情報が入力されると、記憶部に記憶された履歴情報を表示部に表示させる。さらに、履歴情報生成工程では、履歴情報を生成する際に、操作された操作部が予め定める条件に合致しないと、その操作された操作部を特定するための特定情報を前記関連情報に含めて履歴情報を生成し、操作された操作部が予め定める条件に合致すると、その操作された操作部の特定情報を前記関連情報に含めずに履歴情報を生成する。すなわち、予め定める条件に合致する操作部を特定する特定情報が記憶されないので、その操作部によって入力された情報、たとえば個人情報など秘密を維持する必要がある情報が履歴情報に基づいて開示されることを防止することができる。したがって、本発明に係る履歴情報表示方法を用いれば、履歴情報を表示する際に、個人情報は表示されず、個人情報の第三者への漏出を防止することができる。
履歴情報生成工程は、たとえばログ除外に関する処理が追加されたログ記録処理の一部の工程であり、記憶工程は、たとえばログ除外に関する処理が追加されたログ記録処理の一部の工程であり、表示工程は、たとえばログ再生処理の工程である。