(57)【要約】【課題】データ検証の再現テストを効率的に行えるようにすること。【解決手段】処理部１ａは、情報処理装置２が所定のデータ処理を行うことで出力する出力データを検証する。処理部１ｂは、情報処理装置２にデータ処理を実行させて処理部１ａによる検証を再現する。制御部１ｃは、ＩＣカード１が情報処理装置２に接続されると、処理部１ａに検証を実行させる。制御部１ｃは、当該検証により出力データに異常が検出された場合、ＩＣカード１が情報処理装置２（あるいは他の情報処理装置）に次に接続された際に処理部１ｂに検証を再現させる。【選択図】図１
2012159893.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が所定のデータ処理を行うことで出力する出力データを検証する第１の処理部と、
情報処理装置に前記データ処理を実行させて前記第１の処理部による検証を再現する第２の処理部と、
自装置が情報処理装置に接続されると、前記第１の処理部に検証を実行させ、当該検証により前記出力データに異常が検出された場合、自装置が情報処理装置に次に接続された際に前記第２の処理部に前記検証を再現させる制御部と、
を有することを特徴とするＩＣカード。
【請求項２】
情報処理装置に前記データ処理を行わせるために入力された入力データを記憶する記憶部、
を有し、
前記第１の処理部は、情報処理装置から前記入力データを取得して前記記憶部に格納するとともに、当該入力データを用いて前記データ処理を行うことで生成した第１の結果データおよび前記出力データを比較することで当該出力データの検証を行い、
前記第２の処理部は、前記記憶部に記憶された前記入力データを情報処理装置に入力して、当該情報処理装置が出力した再現出力データを取得し、前記入力データを用いて前記データ処理を行うことで生成した第２の結果データおよび前記再現出力データを比較することで前記第１の処理部の検証を再現する、
ことを特徴とする請求項１記載のＩＣカード。
【請求項３】
前記第２の処理部は、自装置と接続された情報処理装置から指定された速度で前記データ処理を行う、
ことを特徴とする請求項２記載のＩＣカード。
【請求項４】
前記制御部は、前記第１の処理部が前記検証を行った情報処理装置と、自装置が次に接続された情報処理装置とが異なる場合に、前記第２の処理部に前記検証を再現させる、
ことを特徴とする請求項１乃至３の何れか一項に記載のＩＣカード。
【請求項５】
前記第１の処理部による前記検証により前記出力データに異常が検出されたことを報知する報知部、
を更に有することを特徴とする請求項１乃至４の何れか一項に記載のＩＣカード。
【請求項６】
所定のデータ処理を行うことで出力データを生成するデータ処理部と、
自装置に接続されたＩＣカードに前記出力データを送信する通信部と、
を備える情報処理装置と、
情報処理装置が送信した前記出力データを検証する第１の処理部と、
情報処理装置に前記データ処理を実行させて前記第１の処理部による検証を再現する第２の処理部と、
自装置が情報処理装置に接続されると、前記第１の処理部に検証を実行させ、当該検証により前記出力データに異常が検出された場合、自装置が情報処理装置に次に接続された際に前記第２の処理部に前記検証を再現させる制御部と、
を備えるＩＣカードと、
を有することを特徴とする情報処理システム。
【請求項７】
ＩＣカードのデータ検証方法であって、
自装置が情報処理装置に接続されると、当該情報処理装置が所定のデータ処理を行うことで出力する出力データを検証する第１の処理部により前記出力データを検証し、
前記第１の処理部の検証により前記出力データに異常が検出された場合、自装置が情報処理装置に次に接続された際に当該情報処理装置に前記データ処理を実行させて前記第１の処理部による検証を再現する第２の処理部により前記検証を再現する、
ことを特徴とするデータ検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ検証を行うＩＣ（Integrated Circuit）カード、情報処理システムおよびデータ検証方法に関する。
【背景技術】
【０００２】
従来、小売店では販売時点情報管理（ＰＯＳ：Point Of Sales）という手法により商品の販売管理が行われている。ここで、ＰＯＳによる販売管理を行う情報処理システムをＰＯＳシステムとよぶ。ＰＯＳシステムは、複数のＰＯＳ端末装置と販売実績を管理するサーバ装置とを有し、サーバ装置によりＰＯＳ端末装置を用いた売上を一元管理する。ＰＯＳシステムを用いることで、商品の販売実績を効率的に管理できる。
【０００３】
ここで、ＰＯＳ端末装置では障害や違算（割引等の誤計算）が発生することがある。その場合、例えば保守員が障害対応を行う。その際、原因調査のために当該ＰＯＳ端末装置から調査用の情報を取得することがある。そして、動作検証用の装置で、取得した情報に基づく再現テストを実行し出力データを検証することで、障害解析を行うことがある。
【０００４】
調査用の情報を取得する方法としては、例えば、メモリーカードやＩＣカード等の外部記録媒体に当該情報を出力することが考えられる（例えば、特許文献１参照）。また、調査用の情報として、例えば、ＰＯＳ端末装置におけるキー操作を記録したキーコードを取得する技術がある（例えば、特許文献２参照）。
【０００５】
なお、ＩＣカードにおいて複数のアプリケーションを実行可能としたものがある（例えば、特許文献３，４参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平３−９８１９５号公報
【特許文献２】特開平５−３２４１５０号公報
【特許文献３】特開２００２−３６６９１４号公報
【特許文献４】特開２００４−３３４３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、調査用の情報をメモリーカードやＩＣカード等の外部記録媒体に出力した場合、保守員は複数の作業を行うことが考えられる。具体的には、動作検証用の装置に当該情報を入力する、障害解析用のアプリケーションを当該装置に実行させる、当該アプリケーションにより再現テストを実行させる、といった作業である。
【０００８】
しかしながら、これらの作業を行うには所定の操作を伴い、障害解析に時間がかかることがあるという問題がある。
本発明はこのような点に鑑みてなされたものであり、データ検証の再現テストを効率的に行えるようにしたＩＣカード、情報処理システムおよびデータ検証方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の処理部と第２の処理部と制御部とを有するＩＣカードが提供される。第１の処理部は、情報処理装置が所定のデータ処理を行うことで出力する出力データを検証する。第２の処理部は、情報処理装置にデータ処理を実行させて第１の処理部による検証を再現する。制御部は、自装置が情報処理装置に接続されると、第１の処理部に検証を実行させ、当該検証により出力データに異常が検出された場合、自装置が情報処理装置に次に接続された際に第２の処理部に検証を再現させる。
【００１０】
また、情報処理装置とＩＣカードとを有する情報処理システムが提供される。情報処理装置は、データ処理部と通信部とを備える。データ処理部は、所定のデータ処理を行うことで出力データを生成する。通信部は、自装置に接続されたＩＣカードに出力データを送信する。ＩＣカードは、第１の処理部と第２の処理部と制御部とを備える。第１の処理部は、情報処理装置が送信した出力データを検証する。第２の処理部は、情報処理装置にデータ処理を実行させて第１の処理部による検証を再現する。制御部は、自装置が情報処理装置に接続されると、第１の処理部に検証を実行させ、当該検証により出力データに異常が検出された場合、自装置が情報処理装置に次に接続された際に第２の処理部に検証を再現させる。
【００１１】
また、ＩＣカードのデータ検証方法が提供される。このデータ検証方法では、ＩＣカードが、情報処理装置に接続されると、当該情報処理装置が所定のデータ処理を行うことで出力する出力データを検証する第１の処理部により出力データを検証する。そして、第１の処理部の検証により出力データに異常が検出された場合、自装置が情報処理装置に次に接続された際に当該情報処理装置にデータ処理を実行させて第１の処理部による検証を再現する第２の処理部により検証を再現する。
【発明の効果】
【００１２】
上記ＩＣカード、情報処理システムおよびデータ検証方法によれば、データ検証の再現テストを効率的に行える。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態のＩＣカードを示す図である。
【図２】第２の実施の形態のＰＯＳシステムを示す図である。
【図３】ＩＣカードのハードウェア構成を示す図である。
【図４】ＰＯＳ端末装置のハードウェア構成を示す図である。
【図５】ＩＣカードの機能構成を示す図である。
【図６】ＰＯＳ端末装置の機能構成を示す図である。
【図７】リファレンステーブルのデータ構造例を示す図である。
【図８】商品マスタテーブルのデータ構造例を示す図である。
【図９】値引基準テーブルのデータ構造例を示す図である。
【図１０】値引設定テーブルのデータ構造例を示す図である。
【図１１】操作ログテーブルのデータ構造例を示す図である。
【図１２】出力イベントテーブルのデータ構造例を示す図である。
【図１３】処理モード設定テーブルのデータ構造例を示す図である。
【図１４】コマンドテーブルのデータ構造例を示す図である。
【図１５】コマンド電文の構造を例示する図である。
【図１６】検証実行制御を示すフローチャートである。
【図１７】収集時検証処理を示すフローチャートである。
【図１８】違算検証処理を例示する図である。
【図１９】再生時検証処理を示すフローチャートである。
【図２０】ＩＣカードのハードウェア構成の変形例を示す図である。
【図２１】ＩＣカードの機能構成の変形例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のＩＣカードを示す図である。ＩＣカード１は、情報処理装置２に対して接続・非接続とすることができる。例えば、情報処理装置２が備える（または、情報処理装置２に接続された）ＩＣカードのＲ／Ｗ（Reader / Writer）装置にＩＣカード１を挿入すると、ＩＣカード１と情報処理装置２は接続状態となる。一方、Ｒ／Ｗ装置からＩＣカード１を抜くと、ＩＣカード１と情報処理装置２は非接続状態となる。
【００１５】
ＩＣカード１は、処理部１ａ，１ｂおよび制御部１ｃを有する。
処理部１ａは、情報処理装置２がデータ処理を行うことで出力するデータ（出力データ）を検証する。処理部１ａは、例えば次の手順により出力データの検証を行える。（１）処理部１ａは情報処理装置２に入力された入力データを情報処理装置２から取得する。（２）処理部１ａは当該入力データにより情報処理装置２と同様のデータ処理を行い、そのデータ処理の結果である第１の結果データを得る。（３）処理部１ａは、取得した出力データと第１の結果データとを比較して、整合しているかを判断し、判断結果を情報処理装置２に通知する。
【００１６】
なお、処理部１ａは、例えば取得した入力データをＩＣカード１が備える記憶部（図示せず）に格納してもよい。
処理部１ｂは、情報処理装置２（あるいは他の情報処理装置）にデータ処理を実行させて処理部１ａによる検証を再現する。処理部１ｂは、例えば次の手順により検証の再現を行える。（１）処理部１ｂは、ＩＣカード１が備える記憶部を参照して処理部１ａが格納した入力データを取得する。（２）処理部１ｂは、情報処理装置２（あるいは他の情報処理装置）に入力データを入力し、データ処理を行わせ、情報処理装置２が出力した再現出力データを取得する。（３）処理部１ｂは、当該入力データにより同様のデータ処理を行い、そのデータ処理の結果である第２の結果データを得る。（４）処理部１ｂは、取得した再現出力データと第２の結果データとを比較して整合しているかを判断し、判断結果を情報処理装置２に通知する。
【００１７】
制御部１ｃは、自装置（ＩＣカード１）が情報処理装置２（あるいは他の情報処理装置）に接続されると、処理部１ａに出力データの検証を実行させる。そして、制御部１ｃは、当該検証によりデータの異常が検出された場合、自装置が情報処理装置２（あるいは他の情報処理装置）に次に接続された際に処理部１ｂに当該検証を再現させる。
【００１８】
ＩＣカード１によれば制御部１ｃの制御によって、自装置が情報処理装置２に接続されると、処理部１ａによる検証が行われる。当該検証によりデータに異常が検出された場合、自装置が情報処理装置２（あるいは他の情報処理装置）に次に接続された際に処理部１ｂによって検証が再現される。
【００１９】
これにより、データ検証の再現テストを効率的に行える。具体的には、処理部１ａによる出力データの検証で異常が検知された場合に、ＩＣカード１を情報処理装置２（あるいは他の情報処理装置）に接続しなおすと処理部１ｂにより出力データの検証を自動的に再現できる。このため、情報処理装置２の保守員によるデータ検証作業を簡略化できる。その結果、当該再現テストに基づく障害解析の時間を短縮できる。
【００２０】
なお、制御部１ｃは次に接続された情報処理装置に応じて、処理部１ａ，１ｂの何れに処理を行わせるかを制御してもよい。例えば、前回、情報処理装置２で処理部１ａによる検証を行った場合、次に接続された情報処理装置が、情報処理装置２とは異なる場合にのみ、次に接続された情報処理装置で処理部１ｂによる再現を実行させてもよい。一方、次に接続された情報処理装置が、前回と同様に情報処理装置２であれば、処理部１ａによる検証を継続してもよい。このようにすれば、処理部１ａによる検証を行う情報処理装置と、処理部１ｂによる再現を行う情報処理装置と、を区別できる。
【００２１】
以下に説明する第２の実施の形態では、ＩＣカード１をＰＯＳシステムに適用する場合を例示する。
［第２の実施の形態］
図２は、第２の実施の形態のＰＯＳシステムを示す図である。このＰＯＳシステムは、小売店の店舗に設けられる。このＰＯＳシステムは、ＩＣカード１００、ＰＯＳ端末装置２００、検証装置３００およびＤＢ（DataBase）サーバ４００を含む。当該ＰＯＳシステム装置は、ＰＯＳ端末装置２００以外にも複数のＰＯＳ端末装置を含む。ＰＯＳ端末装置２００、検証装置３００およびＤＢサーバ４００はネットワーク１０を介して接続されている。
【００２２】
ＩＣカード１００は、保守員がＰＯＳ端末装置２００で生じた障害に対応するために用いるものである。ここで、以下の説明では割引等の誤計算によって生じる違算に対する対応を想定する。違算は、例えば、ＰＯＳ端末装置２００において、ＰＯＳ機能を実現するアプリケーションプログラムの一部が、正常に動作していない、一部データの読み出しを正常に行えていない等の原因によって生じる。
【００２３】
ＩＣカード１００は、違算を検出するために違算検証を行う。ＩＣカード１００は、例えば次のようにして違算検証を行える。すなわち、ＰＯＳ端末装置２００によって計算された商品合計（割引含む）を取得するとともに、ＩＣカード１００も同様に商品合計（割引含む）を算出し、両者を比較する。両者が一致すれば、ＰＯＳ端末装置２００の計算結果は適正であると判断できる。一方、両者が不一致であれば、ＰＯＳ端末装置２００で違算が生じたと判断できる。
【００２４】
ＰＯＳ端末装置２００は、顧客により購入される商品および取引金額をＤＢサーバ４００に登録するための情報処理装置である。ＰＯＳ端末装置２００は、レジ係による入金および出金（お釣り）を管理する。ＰＯＳ端末装置２００は、ＤＢサーバ４００を参照することで、スキャンした商品の価格や値引等の情報を取得し、顧客との取引を行う。
【００２５】
ＰＯＳ端末装置２００には、Ｒ／Ｗ装置２１、モニタ２２、キーボード２３、スキャナ２４およびキャッシュドロア２５が接続されている。
Ｒ／Ｗ装置２１は、ＩＣカード１００が挿入されることで、ＩＣカード１００とＰＯＳ端末装置２００とを通信可能に接続する。
【００２６】
モニタ２２は、ＰＯＳ端末装置２００に対して行える操作内容や操作結果等を出力するための表示装置である。
キーボード２３は、ＰＯＳ端末装置２００に対して操作入力を行うための入力装置である。
【００２７】
スキャナ２４は、商品に付されたバーコードを読み取り、読み取り結果をＰＯＳ端末装置２００に入力するための入力装置である。
キャッシュドロア２５は、紙幣、貨幣および金券等を保管する収納庫である。
【００２８】
検証装置３００は、ＰＯＳ端末装置２００と同様の機能を備えたテスト用の情報処理装置である。検証装置３００は、ＩＣカード１００がＰＯＳ端末装置２００において違算を検出した場合に、違算検証を再現するために用いられる。検証装置３００にはＲ／Ｗ装置３１が接続されている。Ｒ／Ｗ装置３１は、ＩＣカード１００が挿入されることで、ＩＣカード１００と検証装置３００とを通信可能に接続する。
【００２９】
ＤＢサーバ４００は、店舗で販売される商品、商品の価格、商品の値引値および値引の条件等を定義したテーブルを記憶する。また、ＤＢサーバ４００は店舗内のＰＯＳ端末装置から売上データを取得し、一元管理する。
【００３０】
図３は、ＩＣカードのハードウェア構成を示す図である。ＩＣカード１００は、ＩＣ部１０１を有する。ＩＣ部１０１は、ＣＰＵ（Central Processing Unit）１０１ａ、メモリ１０１ｂおよび通信部１０１ｃを有する。
【００３１】
ＣＰＵ１０１ａは、ＯＳ（Operating System）プログラムやアプリケーションプログラムを実行して、ＩＣ部１０１全体を制御する。
メモリ１０１ｂは、ＣＰＵ１０１ａが実行するＯＳプログラムやアプリケーションプログラムを記憶する。また、メモリ１０１ｂは、ＣＰＵ１０１ａの処理に用いられるデータを記憶する。メモリ１０１ｂは、不揮発性のメモリ、または、不揮発性のメモリと揮発性のメモリとの組合せにより構成できる。メモリ１０１ｂとしては、例えば、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、フラッシュメモリおよびＦｅＲＡＭ（Ferroelectric Random Access Memory）等を利用できる。メモリ１０１ｂのメモリ容量は、例えば１ＭＢ（Mega Bytes）程度とすることができる。
【００３２】
通信部１０１ｃは、ＣＰＵ１０１ａから取得するデータをＲ／Ｗ装置２１，３１を介して、ＰＯＳ端末装置２００および検証装置３００に出力する。また、通信部１０１ｃは、Ｒ／Ｗ装置２１，３１を介して、ＰＯＳ端末装置２００および検証装置３００から取得したデータをＣＰＵ１０１ａに出力する。
【００３３】
図４は、ＰＯＳ端末装置のハードウェア構成を示す図である。ＰＯＳ端末装置２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ（Hard Disk Drive）２０４、ＩＣカードＲ／Ｗインタフェース２０５、グラフィック処理装置２０６、入力インタフェース２０７、ドロアインタフェース２０８および通信インタフェース２０９を有する。
【００３４】
ＣＰＵ２０１は、ＯＳプログラムやアプリケーションプログラムを実行して、ＰＯＳ端末装置２００全体を制御する。
ＲＯＭ２０２は、ＰＯＳ端末装置２００の起動時に実行されるＢＩＯＳ（Basic Input / Output System）プログラムなどの所定のプログラムを記憶する。ＲＯＭ２０２は、書き換え可能な不揮発性メモリであってもよい。
【００３５】
ＲＡＭ２０３は、ＣＰＵ２０１が実行するＯＳプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ２０３は、ＣＰＵ２０１の処理に用いられるデータの少なくとも一部を一時的に記憶する。
【００３６】
ＨＤＤ２０４は、ＯＳプログラムやアプリケーションプログラムを記憶する。また、ＨＤＤ２０４は、ＣＰＵ２０１の処理に用いられるデータを記憶する。なお、ＨＤＤ２０４に代えて（または、ＨＤＤ２０４と併せて）、ＳＳＤ（Solid State Drive）など他の種類の不揮発性の記憶装置を用いてもよい。
【００３７】
ＩＣカードＲ／Ｗインタフェース２０５は、Ｒ／Ｗ装置２１に接続される。ＩＣカードＲ／Ｗインタフェース２０５は、ＣＰＵ２０１からの命令に従って、Ｒ／Ｗ装置２１に挿入されたＩＣカード１００に対するデータの読み書きを行う。
【００３８】
グラフィック処理装置２０６は、モニタ２２に接続される。グラフィック処理装置２０６は、ＣＰＵ２０１からの命令に従って、画像をモニタ２２に表示させる。
入力インタフェース２０７は、キーボード２３やスキャナ２４などの入力デバイスに接続される。入力インタフェース２０７は、入力デバイスから送られる入力信号をＣＰＵ２０１に出力する。入力インタフェース２０７には、マウスやタッチパッド等のポインティングデバイスが接続されていてもよい。
【００３９】
ドロアインタフェース２０８は、キャッシュドロア２５に接続される。ドロアインタフェース２０８は、ＣＰＵ２０１からの命令に従ってキャッシュドロア２５の開閉を行う。
通信インタフェース２０９は、ネットワーク１０に接続される。通信インタフェース２０９は、ネットワーク１０を介して検証装置３００およびＤＢサーバ４００とデータ通信を行える。
【００４０】
なお、検証装置３００およびＤＢサーバ４００もＰＯＳ端末装置２００と同様のハードウェア構成によって実現できる。ただし、ＩＣカードＲ／Ｗインタフェース２０５やドロアインタフェース２０８はＤＢサーバ４００に無くてもよい。
【００４１】
ここで、以下の説明では、ＣＰＵ１０１ａ，２０１がアプリケーションプログラムを実行することで各装置に実現されるアプリケーションを“アプリ”と称することがある。
図５は、ＩＣカードの機能構成を示す図である。ＩＣカード１００は、操作ログ記憶部１１０、出力イベント記憶部１２０、制御情報記憶部１３０、制御部１４０、収集アプリ１５０および再生アプリ１６０を有する。これらのユニットの機能は、ＣＰＵ１０１ａが所定のプログラムを実行することによりＩＣカード１００上に実現される。ただし、これらのユニットの機能の全部または一部を専用のハードウェアで実現してもよい。
【００４２】
操作ログ記憶部１１０は、操作ログを記憶する。操作ログは、ＰＯＳ端末装置２００でのスキャン操作によって入力された入力データを記録したものである。
出力イベント記憶部１２０は、出力イベントを記憶する。出力イベントは、ＰＯＳ端末装置２００および検証装置３００が、操作ログに相当するデータ入力に対して行った処理結果を示すものである。
【００４３】
制御情報記憶部１３０は、制御情報を記憶する。制御情報には、現在の処理モードを定義した情報が含まれる。処理モードとは、収集アプリ１５０および再生アプリ１６０の何れを動作させるかを示すものである。具体的には、処理モードが収集モードであれば、収集アプリ１５０を動作させるモードである。他方、処理モードが再生モードであれば、再生アプリ１６０を動作させるモードである。また、制御情報には、ＩＣカード１００が前回接続されていた装置のＩＰ（Internet Protocol）アドレスを含む。
【００４４】
制御部１４０は、ＩＣカード１００がＰＯＳ端末装置２００または検証装置３００に接続された際に、制御情報記憶部１３０に格納された制御情報に基づいて、収集アプリ１５０または再生アプリ１６０の何れか一方を起動し、実行する。具体的には、処理モードが収集モードであれば、収集アプリ１５０を実行する。他方、処理モードが再生モードであれば、再生アプリ１６０を実行する。また、制御部１４０は、収集アプリ１５０および再生アプリ１６０の処理結果等に応じて、制御情報に含まれる処理モードを変更する。
【００４５】
また、制御部１４０は、収集アプリ１５０および再生アプリ１６０の要求に応じて、ＤＢサーバ４００に対する検索要求を送信する。制御部１４０は、ＰＯＳ端末装置２００および検証装置３００を介して当該検索要求を行える。
【００４６】
更に、制御部１４０は、ＩＣカード１００がＰＯＳ端末装置２００または検証装置３００に接続されると、接続された装置からＩＰアドレスを取得し、制御情報記憶部１３０に格納する。
【００４７】
更に、制御部１４０はＰＯＳ端末装置２００や検証装置３００との通信に用いる各種電文をＰＯＳ端末装置２００や検証装置３００に送信する。また、制御部１４０はＰＯＳ端末装置２００や検証装置３００が送信した各種電文を受信する。すなわち、ＩＣカード１００の各部とＰＯＳ端末装置２００および検証装置３００との間の通信は制御部１４０を介して行われる。
【００４８】
収集アプリ１５０は、ＰＯＳ端末装置２００でスキャンされた商品の操作ログに基づいて、違算検証を行うアプリケーションである。収集アプリ１５０は、操作ログ収集部１５１、出力イベント収集部１５２、違算検証部１５３およびモード切替部１５４を有する。
【００４９】
操作ログ収集部１５１は、ＰＯＳ端末装置２００から操作ログを取得し、操作ログ記憶部１１０に格納する。
出力イベント収集部１５２は、ＰＯＳ端末装置２００から出力イベントを取得し、出力イベント記憶部１２０に格納する。
【００５０】
違算検証部１５３は、操作ログ記憶部１１０に格納された操作ログに基づき、ＰＯＳ端末装置２００と同様のデータ処理を行う。違算検証部１５３は、当該データ処理の結果と出力イベント記憶部１２０に格納された出力イベントとを比較して、整合しているか否かを検証する。整合していない場合には、違算があったと判断して、ＰＯＳ端末装置２００にその旨を通知する。
【００５１】
モード切替部１５４は、違算検証部１５３が違算を検出すると、制御部１４０に処理モードの変更を指示する。
再生アプリ１６０は、検証装置３００に対して操作ログの入力を行い、当該操作ログに基づいて、違算検証を再現するアプリケーションである。再生アプリ１６０は、操作ログ再生部１６１、出力イベント収集部１６２、違算検証部１６３およびモード切替部１６４を有する。
【００５２】
操作ログ再生部１６１は、操作ログ記憶部１１０に格納された操作ログを検証装置３００に出力する。
出力イベント収集部１６２は、出力イベント収集部１５２に対応し、同一の機能を備える。
【００５３】
違算検証部１６３は、違算検証部１５３に対応する。ただし、違算検証部１６３は、違算検証部１５３とは異なるロジックで違算検証を行ってもよい。また、違算検証部１６３は、違算検証部１５３とは異なる方法で違算を検出した旨を通知してもよい。
【００５４】
例えば、違算検証部１６３は、違算検証部１５３よりも詳細に価格計算のプログラムにつき原因箇所を特定する処理を行ってもよい。また、そのような箇所を違算検証部１５３よりも詳細なＧＵＩ（Graphical User Interface）で、検証装置３００に表示させてもよい。再生アプリ１６０は、検証の再現を行うためのものであり、負荷の大きな処理を行ってもＰＯＳシステムの実運用への影響が小さいためである。
【００５５】
モード切替部１６４は、モード切替部１５４に対応し、同一の機能を備える。
図６は、ＰＯＳ端末装置の機能構成を示す図である。ＰＯＳ端末装置２００は、データ入力部２１０、ＰＯＳアプリ２２０、ＤＢ参照部２３０、データ出力部２４０およびＩＣカード通信部２５０を有する。これらのユニットの機能は、ＣＰＵ２０１が所定のプログラムを実行することにより、ＰＯＳ端末装置２００上に実現される。ただし、これらのユニットの機能の全部または一部を専用のハードウェアで実現してもよい。
【００５６】
データ入力部２１０は、キーボード２３およびスキャナ２４から入力された入力データ（商品の識別情報や顧客からの預り金額等）をＰＯＳアプリ２２０およびＩＣカード通信部２５０に出力する。
【００５７】
ＰＯＳアプリ２２０は、入力データに対応する商品の価格および値引値から取引につき合計金額を算出する、預り金額から釣銭を算出する等、顧客との取引を行うための機能を実現するアプリケーションである。ＰＯＳアプリ２２０は、入力データに基づいて、ＤＢ参照部２３０に当該商品の価格や値引値等の問い合わせを行うよう指示する。ＰＯＳアプリ２２０は、演算結果を出力イベントとしてデータ出力部２４０に出力する。
【００５８】
ＤＢ参照部２３０は、ＰＯＳアプリ２２０の指示に応じて、ＤＢサーバ４００に商品の価格や値引値等の問い合わせを行う。ＤＢ参照部２３０は、ＤＢサーバ４００の応答をＰＯＳアプリ２２０に出力する。
【００５９】
データ出力部２４０は、ＰＯＳアプリ２２０から取得した出力イベントの内容をモニタ２２に表示させる。また、データ出力部２４０は、当該出力イベントをＩＣカード通信部２５０に出力する。なお、データ出力部２４０は、出力イベントをＰＯＳ端末装置２００による売上を管理するための電子ジャーナルとしてＤＢサーバ４００に出力してもよい。
【００６０】
ＩＣカード通信部２５０はＩＣカード１００との通信に用いる各種電文を生成して、ＩＣカード１００に送信する。ＩＣカード通信部２５０は、データ入力部２１０から取得した入力データ（操作ログ）をＲ／Ｗ装置２１を介してＩＣカード１００に送信する。また、ＩＣカード通信部２５０は、データ出力部２４０から取得した出力イベントをＲ／Ｗ装置２１を介してＩＣカード１００に送信する。
【００６１】
また、ＩＣカード通信部２５０はＩＣカード１００が送信した各種電文を受信する。
なお、検証装置３００もＰＯＳ端末装置２００と同様の機能構成を有する。
図７は、リファレンステーブルのデータ構造例を示す図である。リファレンステーブル４１０は、ＤＢサーバ４００に予め格納される。リファレンステーブル４１０には、スキャンコード、スキャンタイプおよびＰＬＵ  ＩＤ（Price Look Up IDentifier）の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの商品に関する情報を示す。
【００６２】
スキャンコードの項目には、商品に付与された識別コードが設定される。当該識別コードは、例えば、バーコードによって商品に付される。スキャンタイプの項目には、スキャンの方法を示す情報が設定される。スキャンの方法としては、例えば、バーコードによるスキャン、無線タグによるスキャンおよび手入力によるスキャン等が考えられる。ＰＬＵ  ＩＤの項目には、商品マスタを参照するためのコードが設定される。
【００６３】
例えば、リファレンステーブル４１０には、スキャンコードが“Ａ００１”、スキャンタイプが“バーコード”、ＰＬＵ  ＩＤが“Ｐ１０１”という情報が設定される。
これは、商品に付された“バーコード”からスキャンコード“Ａ００１”がスキャンされた場合には、ＰＬＵ  ＩＤ“Ｐ１０１”で商品マスタを検索する旨を示している。
【００６４】
図８は、商品マスタテーブルのデータ構造例を示す図である。商品マスタテーブル４２０は、ＤＢサーバ４００に予め格納される。商品マスタテーブル４２０には、ＰＬＵ  ＩＤ、商品名、小売価格、原価およびディスカウントＩＤの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの商品に関する情報を示す。
【００６５】
ＰＬＵ  ＩＤの項目には、ＰＬＵ  ＩＤが設定される。商品名の項目には、商品の名称が設定される。小売価格の項目には、商品単品の小売価格が設定される。原価の項目には、商品単品の原価が設定される。ディスカウントＩＤの項目には、商品について適用可能な値引情報を定義した所定のテーブルを参照するためのコードが設定される。
【００６６】
例えば、商品マスタテーブル４２０には、ＰＬＵ  ＩＤが“Ｐ１０１”、商品名が“りんご”、小売価格が“１００”、原価が“５０”、ディスカウントＩＤが“ＤＳ００１”という情報が設定される。
【００６７】
これは、ＰＬＵ  ＩＤ“Ｐ１０１”の商品として“りんご”が対応付けられており、その単品の小売価格が“１００”円、原価が“５０”円であり、ディスカウントＩＤ“ＤＳ００１”によって値引情報を参照すべき旨を示している。
【００６８】
以下、値引情報を説明する。値引情報には、値引を行う基準となる条件を定義した値引基準テーブルと、具体的な値引値や値引を行う時間帯等を定義した値引設定テーブルが含まれる。
【００６９】
図９は、値引基準テーブルのデータ構造例を示す図である。値引基準テーブル４３０は、ＤＢサーバ４００に予め格納される。値引基準テーブル４３０には、ディスカウントＩＤ、最小販売数量および最低販売金額の項目が含まれる。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの値引条件を示す。
【００７０】
ディスカウントＩＤの項目には、ディスカウントＩＤが設定される。最小販売数量の項目には、値引を行う対象商品の最小販売数量（対象商品につき、最小販売数量よりも購入数量が少ないと値引を行わない）が設定される。最低販売金額の項目には、値引の対象となる取引につき値引を行う最低販売金額（対象取引の合計販売金額につき、最低販売金額よりも合計購入金額が少ないと値引を行わない）が設定される。
【００７１】
例えば、値引基準テーブル４３０には、ディスカウントＩＤが“ＤＳ００１”、最小販売数量が“２”個、最低販売金額が“３００”円という情報が設定される。
これは、ディスカウントＩＤ“ＤＳ００１”に対応する値引を行うためには、対応する商品を“２”個以上購入し、かつ、取引における合計購入金額が“３００”円以上であることを要することを示す。
【００７２】
図１０は、値引設定テーブルのデータ構造例を示す図である。値引設定テーブル４４０は、ＤＢサーバ４００に予め格納される。値引設定テーブル４４０には、ディスカウントＩＤ、値引値、商品制限、開始時刻および終了時刻の項目を含む。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの値引設定を示す。
【００７３】
ディスカウントＩＤの項目には、ディスカウントＩＤが設定される。値引値の項目には、値引値が円や割合等で設定される。商品制限の項目には、値引の対象とできる商品の分類が設定される。開始時刻の項目には、値引の開始時刻が設定される。終了時刻の項目には、値引の終了時刻が設定される。
【００７４】
例えば、値引設定テーブル４４０には、ディスカウントＩＤが“ＤＳ００１”、値引値が“−２０”、商品制限が“青果”、開始時刻が“１７：００”、終了時刻が“１８：３０”という情報が設定される。
【００７５】
これは、ディスカウントＩＤ“ＤＳ００１”に対応する具体的な値引の内容として、値引額が“−２０”円、値引の対象となる商品が“青果”に分類されるものであり、値引の開始時刻が１７時００分、終了時刻が１８時３０分であることを示す。
【００７６】
なお、値引値“−３割”というように、値引値が割合で設定されている場合には、小売価格の３割引きとすることを示す。
図１１は、操作ログテーブルのデータ構造例を示す図である。操作ログテーブル１１１は、操作ログ記憶部１１０に格納される。操作ログテーブル１１１は、操作ログ収集部１５１により更新される。操作ログテーブル１１１には、項番、取引通番、日時、機器コードおよびスキャンコードの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの操作ログレコードに関する情報を示す。
【００７７】
項番の項目には、レコードを識別するための番号が設定される。取引通番の項目には、取引を識別するための番号が設定される。日時の項目には、操作ログに相当するデータ入力がなされた時間が設定される。機器コードの項目には、入力に用いられた装置を識別するコードが設定される。スキャンコードの項目には、入力されたスキャンコードが設定される。
【００７８】
例えば、操作ログテーブル１１１には、項番が“１”、取引通番が“１”、日時が“２０１１／１／１０  １８：１５：００”、機器コードが“０１”、スキャンコードが“Ａ００１”という情報が設定される。
【００７９】
これは、項番“１”に対応する操作ログレコードが取引通番“１”で示される取引についてのものであることを示す。そして、当該取引において、２０１１年１月１０日１８時１５分００秒に、機器コード“０１”のスキャナ２４によりスキャンコード“Ａ００１”がスキャンされたことを示す。
【００８０】
図１２は、出力イベントテーブルのデータ構造例を示す図である。出力イベントテーブル１２１は、出力イベント記憶部１２０に格納される。出力イベントテーブル１２１は、出力イベント収集部１５２により更新される。出力イベントテーブル１２１には、項番、取引通番、イベント、単価、数量、合計、値引、値引後合計、入金および出金の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの出力イベントレコードに関する情報を示す。
【００８１】
項番の項目には、レコードを識別するための番号が設定される。取引通番の項目には、取引通番が設定される。イベントの項目には、出力イベントの内容が設定される。出力イベントの内容としては、例えば、商品のスキャン（商品名を表示）や出入金（小計、顧客からの金銭預りおよびお釣りの払い出し等）に関するものがある。単価の項目には、スキャンされた単価が設定される。数量の項目には、スキャンされた商品の数量が設定される。合計の項目には、スキャンされた商品の合計金額が設定される。値引の項目には、当該商品の値引額が設定される。値引後合計の項目には、値引後の合計金額が設定される。入金の項目には、入金額が設定される。出金の項目には、出金額が設定される。
【００８２】
例えば、出力イベントテーブル１２１には、項番が“１”、取引通番が“１”、イベントが“りんご”、単価が“１００”、数量が“２”、合計が“２００”、値引が“−４０”、値引後合計が“１６０”、入金および出金が“−”（ハイフン）という情報が設定される。
【００８３】
これは、項番“１”に対応する出力イベントレコードが取引通番“１”で示される取引についてのものであることを示す。そして、当該取引において、イベント「“りんご”のスキャン」が行われ、当該商品の単価“１００”円を取得したこと、当該商品を２個スキャンしたこと、当該商品の合計金額を“２００”円と算出したこと、値引額を“−４０”円と算出したこと、値引後合計金額を“１６０”円と算出したことを示す。なお、入金や出金を伴うイベントではないため、入金および出金の項目は設定なし（“−”（ハイフン）、以下同様）となる。
【００８４】
また、例えば出力イベントテーブル１２１には、項番が“４”、取引通番が“１”、イベントが“小計”、単価、数量、入金および出金が“−”（ハイフン）、合計が“８５０”、値引が“−１４０”、値引後合計が“７１０”という情報が設定されている。
【００８５】
これは、項番“４”に対応する出力イベントレコードが取引通番“１”で示される取引についてのものであることを示す。そして、当該取引において、イベント「“小計”の計算」が行われ、取引通番“１”の取引における商品の合計金額が“８５０”と算出したこと、値引額の合計を“１４０”円と算出したこと、値引後合計金額を“７１０”円と算出したことを示す。なお、商品スキャンのイベントではないため、単価および数量の項目は設定なしとなる。また、入金や出金を伴うイベントではないため、入金および出金の項目は設定なしとなる。
【００８６】
また、例えば出力イベントテーブル１２１には、項番が“５”、取引通番が“１”、イベントが“お預り”、単価、数量、合計、値引、値引後合計および出金が“−”（ハイフン）入金が“１０００”という情報が設定される。
【００８７】
これは、項番“５”に対応する出力イベントレコードが取引通番“１”で示される取引についてのものであることを示す。そして、当該取引において、イベント「顧客からの現金の“お預り”」が行われ、預り金額が“１０００”円であったことを示す。なお、商品スキャンおよび合計算出のイベントではないため、単価、数量、合計、値引および値引後合計の項目は設定なしとなる。更に、出金を伴うイベントではないため、出金の項目は設定なしとなる。
【００８８】
また、例えば出力イベントテーブル１２１には、項番が“６”、取引通番が“１”、イベントが“お釣り”、単価、数量、合計、値引、値引後合計および入金が“−”（ハイフン）、出金が“２９０”という情報が設定される。
【００８９】
これは、項番“６”に対応する出力イベントレコードが取引通番“１”で示される取引についてのものであることを示す。そして、当該取引において、イベント「顧客への“お釣り”の払い出し」が行われ、払出金額が“２９０”円であったことを示す。なお、商品スキャンおよび合計算出のイベントではないため、単価、数量、合計、値引および値引後合計の項目は設定なしとなる。更に、入金を伴うイベントではないため、入金の項目は設定なしとなる。
【００９０】
図１３は、処理モード設定テーブルのデータ構造例を示す図である。処理モード設定テーブル１３１は、制御情報記憶部１３０に格納される。処理モード設定テーブル１３１は、制御部１４０により更新される。処理モード設定テーブル１３１には、処理モード、前回処理モードおよびＩＰアドレスの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのモード設定に関する情報を示す。
【００９１】
処理モードの項目には、収集モードまたは再生モードの何れかを示す情報が設定される。具体的には、“０”が収集モードを、“１”が再生モードを示す。前回処理モードの項目には、ＩＣカード１００が前回接続されていた装置で実行した処理に対応する処理モードが設定される。ＩＰアドレスの項目には、ＩＰアドレスが設定される。
【００９２】
例えば、処理モード設定テーブル１３１には、処理モードが“１”、前回処理モードが“０”、ＩＰアドレスが“１．２．２５４．２５４”という情報が設定される。ここで、ＩＰアドレス“１．２．２５４．２５４”は、ＰＯＳ端末装置２００のＩＰアドレスである。なお、検証装置３００のＩＰアドレスは“１．２．２５４．２５５”であるとする。
【００９３】
処理モード“１”は、ＩＣカード１００が次にＰＯＳ端末装置２００または検証装置３００の何れかの装置に接続された場合に、再生モードで動作したことを示す。前回処理モード“０”は、ＩＣカード１００が前回接続されていた装置において収集モードで動作したことを示す。ＩＰアドレス“１．２．２５４．２５４”は前回ＩＣカード１００が接続されていた装置がＰＯＳ端末装置２００であったことを示す。
【００９４】
図１４は、コマンドテーブルのデータ構造例を示す図である。コマンドテーブル１３２は、制御情報記憶部１３０に格納される。ＰＯＳ端末装置２００および検証装置３００もコマンドテーブル１３２（あるいはこれに相当するデータ）を予め記憶しており、各装置はコマンドテーブル１３２を参照して通信を行う。
【００９５】
コマンドテーブル１３２には、項番、コマンド名、コマンドコードおよびパラメータの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのコマンドに関する情報を示す。
【００９６】
項番の項目には、レコードを識別するための番号が設定される。コマンド名の項目には、コマンドの名称が設定される。コマンドコードには、当該コマンドを示すコードが設定される。パラメータの項目には、当該コマンドで利用し得るパラメータの内容が設定される。
【００９７】
例えば、コマンドテーブル１３２には、項番が“１”、コマンド名が“リセットコマンド”、コマンドコードが“０１”、パラメータが“ＩＰアドレス”という情報が設定される。
【００９８】
これは、項番“１”のレコードが“リセットコマンド”を定義するものであり、当該コマンドを示す電文（コマンド電文）に含むべきコマンドコードが“０１”、当該コマンドコードと同時に通知可能なパラメータが“ＩＰアドレス”であることを示す。ここで、リセットコマンドとは、ＩＣカード１００がＰＯＳ端末装置２００または検証装置３００に接続されたときに、ＰＯＳ端末装置２００および検証装置３００が接続開始を通知するためにＩＣカード１００に送信するコマンドである。
【００９９】
また、例えばコマンドテーブル１３２には、項番が“２”、コマンド名が“操作ログ収集コマンド”、コマンドコードが“０２”、パラメータが“日時、機器コード、取引通番、スキャンコード”という情報が設定される。
【０１００】
これは、項番“２”のレコードが“操作ログ収集コマンド”を定義するものであり、当該コマンド電文に含むべきコマンドコードが“０２”、当該コマンドコードと同時に通知可能なパラメータが“日時、機器コード、取引通番、スキャンコード”であることを示す。ここで、操作ログ収集コマンドとは、ＰＯＳ端末装置２００および検証装置３００が操作ログの記録を指示する際にＩＣカード１００に送信するコマンドである。ＰＯＳ端末装置２００および検証装置３００は、商品のスキャンを行うたびに、当該操作ログ収集コマンドを発行してＩＣカード１００に送信する。操作ログ収集コマンドは、ＩＣカード１００が収集モードである場合にのみ利用可能なコマンドである。
【０１０１】
また、例えばコマンドテーブル１３２には、項番が“３”、コマンド名が“操作ログ再生コマンド”、コマンドコードが“０３”、パラメータが“再生速度”という情報が設定される。
【０１０２】
これは、項番“３”のレコードが“操作ログ再生コマンド”を定義するものであり、当該コマンド電文に含むべきコマンドコードが“０３”、当該コマンドコードと同時に通知可能なパラメータが“再生速度”（同時・倍速・低速の指定）であることを示す。ここで、操作ログ再生コマンドとは、ＰＯＳ端末装置２００および検証装置３００が操作ログの再生開始を指示する際にＩＣカード１００に送信するコマンドである。操作ログ再生コマンドは、ＩＣカード１００が再生モードの場合にのみ利用可能なコマンドである。
【０１０３】
また、例えばコマンドテーブル１３２には、項番が“４”、コマンド名が“出力イベント収集コマンド”、コマンドコードが“０４”、パラメータが“取引通番、イベント、単価、数量、合計、値引、値引後合計、入金、出金”という情報が設定される。
【０１０４】
これは、項番“４”のレコードが“出力イベント収集コマンド”を定義するものであり、当該コマンド電文に含むべきコマンドコードが“０４”、当該コマンドコードと同時に通知可能なパラメータが“取引通番、イベント、単価、数量、合計、値引、値引後合計、入金、出金”であることを示す。ここで、出力イベント収集コマンドとは、ＰＯＳ端末装置２００および検証装置３００が出力イベントの記録を指示する際にＩＣカード１００に送信するコマンドである。ＰＯＳ端末装置２００および検証装置３００は、スキャンされた商品や入出金した金額等に関する処理を行うたびに、当該出力イベント収集コマンドを発行してＩＣカード１００に送信する。
【０１０５】
また、例えばコマンドテーブル１３２には、項番が“５”、コマンド名が“違算検証コマンド”、コマンドコードが“０５”、パラメータが“−”（ハイフン）という情報が設定される。
【０１０６】
これは、項番“５”のレコードが“違算検証コマンド”を定義するものであり、当該コマンド電文に含むべきコマンドコードが“０５”、当該コマンドコードと同時に通知可能なパラメータが無しであることを示す。ここで、違算検証コマンドとは、ＰＯＳ端末装置２００および検証装置３００がＩＣカード１００に対して違算検証処理の開始を許可するために送信するコマンドである。
【０１０７】
また、例えば、コマンドテーブル１３２には、項番が“６”、コマンド名が“ＤＢ参照コマンド”、コマンドコードが“０６”、パラメータが“ＤＢ名、テーブル名、検索キー”という情報が設定される。
【０１０８】
これは、項番“６”のレコードが“ＤＢ参照コマンド”を定義するものであり、当該コマンド電文に含むべきコマンドコードが“０６”、当該コマンドコードと同時に通知可能なパラメータが“ＤＢ名、テーブル名、検索キー”であることを示す。ここで、ＤＢ参照コマンドとは、ＰＯＳ端末装置２００または検証装置３００に対してＤＢサーバ４００に格納された各テーブルの検索を依頼をするために、ＩＣカード１００がＰＯＳ端末装置２００または検証装置３００に送信するコマンドである。
【０１０９】
図１５は、コマンド電文の構造を例示する図である。コマンド電文５００は、ＩＣカード１００と、ＰＯＳ端末装置２００または検証装置３００と、の間で送受信される電文である。コマンド電文５００は、コマンドコードフィールド５１０およびパラメータフィールド５２０を含む。ここで、図１５では通信に必要なその他の情報（ヘッダ等）は図示を省略している。
【０１１０】
コマンドコードフィールド５１０はコマンドコードを格納するためのフィールドである。パラメータフィールドは、当該コマンドコードで利用可能なパラメータを格納するためのフィールドである。
【０１１１】
次に、以上のような構成のＩＣカード１００の処理手順を説明する。
図１６は、検証実行制御を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。なお、ステップＳ１１は説明を分かり易くするために保守員の操作を記載したものである。
【０１１２】
［ステップＳ１１］保守員は、ＩＣカード１００をＲ／Ｗ装置２１（またはＲ／Ｗ装置３１、本図において以下同様）に挿入する。これによって、ＩＣカード１００はＰＯＳ端末装置２００（または検証装置３００、本図において以下同様）と接続される。
【０１１３】
［ステップＳ１２］ＩＣカード１００は、Ｒ／Ｗ装置２１からの受電を開始する。すると、ＩＣカード１００で制御部１４０の機能が実現される。
［ステップＳ１３］制御部１４０は、ＰＯＳ端末装置２００からリセットコマンドのコマンド電文（コマンドコード“０１”）を受信する。当該コマンド電文には、ＰＯＳ端末装置２００のＩＰアドレスが含まれる。
【０１１４】
［ステップＳ１４］制御部１４０は、制御情報記憶部１３０に記憶された処理モード設定テーブル１３１に設定されたＩＰアドレスと、リセットコマンドのコマンド電文に含まれるＩＰアドレスと、が一致するか否かを判定する。一致しない場合、処理をステップＳ１５に進める。一致する場合、処理をステップＳ１６に進める。
【０１１５】
［ステップＳ１５］制御部１４０は、処理モード設定テーブル１３１の処理モードの項目の設定内容をＰＯＳ端末装置２００に応答する。
［ステップＳ１６］制御部１４０は、処理モード設定テーブル１３１の前回処理モードの項目の設定内容をＰＯＳ端末装置２００に応答する。
【０１１６】
［ステップＳ１７］制御部１４０は、ステップＳ１５，Ｓ１６でＰＯＳ端末装置２００に応答した処理モードが“０”（収集モード）か“１”（再生モード）かを判定する。“０”（収集モード）である場合、制御部１４０は収集アプリ１５０を起動して処理をステップＳ１８に進める。“１”（再生モード）である場合、制御部１４０は再生アプリ１６０を起動して処理をステップＳ１９に進める。
【０１１７】
［ステップＳ１８］収集アプリ１５０は、操作ログ収集を行い、違算検証を行う。
［ステップＳ１９］再生アプリ１６０は、操作ログ再生を行い、違算検証を行う。
［ステップＳ２０］制御部１４０は、ステップＳ１８，Ｓ１９の検証処理後に、収集アプリ１５０または再生アプリ１６０から処理モード変更の通知があるか否かを判定する。処理モード変更の通知がある場合、処理をステップＳ２１に進める。処理モード変更の通知がない場合、処理をステップＳ２２に進める。
【０１１８】
［ステップＳ２１］制御部１４０は、処理モード設定テーブル１３１の処理モードの項目の設定内容を変更する。具体的には、今回ステップＳ１８の収集時検証処理を行った場合（現在の処理モードの項目の設定が“０”の場合）には、再生モードを示す“１”を処理モードの項目に設定する。一方、今回ステップＳ１９の検証再現処理を行った場合（現在の処理モードの項目の設定が“１”の場合）には、収集モードを示す“０”を処理モードの項目に設定する。
【０１１９】
［ステップＳ２２］制御部１４０は、処理モード設定テーブル１３１の前回処理モードの項目に、今回行った検証処理に対応する処理モードを設定する。具体的には、今回ステップＳ１８の収集時検証処理を行った場合には、収集モードを示す“０”を前回処理モードの項目に設定する。一方、今回ステップＳ１９の検証再現処理を行った場合には、再生モードを示す“１”を前回処理モードの項目に設定する。
【０１２０】
このようにして、ＩＣカード１００は、ＰＯＳ端末装置２００または検証装置３００に接続された際に、処理モードに応じて収集アプリ１５０または再生アプリ１６０の何れかを実行する。そして、収集アプリ１５０または再生アプリ１６０による検証結果に応じて、処理モードを変更する。
【０１２１】
特に、ＩＣカード１００は、接続された装置のＩＰアドレスに基づいて、今回接続された装置と前回接続されていた装置との異同を検出する。そして、同一である場合には、ＩＣカード１００は前回処理モードによって動作するので、ＰＯＳ端末装置２００および検証装置３００の使い分けが可能となる。例えば、ＰＯＳ端末装置２００では収集アプリ１５０による収集時検証処理を行い、検証装置３００では検証再現処理を行うようにすることができる。その場合、ＩＣカード１００をＰＯＳ端末装置２００に接続して、収集モードで動作させればよい。すると、ＰＯＳ端末装置２００で違算を検出した場合に、再度ＰＯＳ端末装置２００にＩＣカード１００を接続しても、収集モードで動作させることができる。これにより、ＰＯＳ端末装置２００における再生モードでの動作を抑制できる。よって、運用中の誤操作等により、ＰＯＳ端末装置２００に対するＩＣカード１００の接続・非接続を繰り返し行ったとしても、ＰＯＳ端末装置２００の利用が妨げられる可能性を低減できる。
【０１２２】
なお、ＩＣカード１００の処理モードを保守員が確認・設定可能とするために、ＰＯＳ端末装置２００や検証装置３００に所定のＧＵＩを設けてもよい。
次に、上記ステップＳ１８で述べた収集アプリ１５０による収集時検証処理の手順を説明する。なお、以下の説明では収集アプリ１５０による処理は、上述したように制御部１４０によってＰＯＳ端末装置２００で行われるよう制御されているとする。
【０１２３】
図１７は、収集時検証処理を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
［ステップＳ３１］制御部１４０は、ＰＯＳ端末装置２００から操作ログ収集コマンドのコマンド電文（コマンドコード“０２”）を受信するたびに、当該コマンド電文を収集アプリ１５０に出力する。収集アプリ１５０の操作ログ収集部１５１は、コマンド電文に含まれるパラメータを操作ログ記憶部１１０に記憶された操作ログテーブル１１１に記録する。
【０１２４】
［ステップＳ３２］制御部１４０は、ＰＯＳ端末装置２００から出力イベント収集コマンドのコマンド電文（コマンドコード“０４”）を受信するたびに、当該コマンド電文を収集アプリ１５０に出力する。収集アプリ１５０の出力イベント収集部１５２は、コマンド電文に含まれるパラメータを出力イベント記憶部１２０に記憶された出力イベントテーブル１２１に記録する。
【０１２５】
［ステップＳ３３］制御部１４０は、ＰＯＳ端末装置２００から違算検証コマンドのコマンド電文（コマンドコード“０５”）を受信したか否かを判定する。違算検証コマンドのコマンド電文は、ＰＯＳ端末装置２００により１取引単位に発行される。違算検証コマンドのコマンド電文を受信した場合、制御部１４０は当該コマンド電文を違算検証部１５３に出力して処理をステップＳ３４に進める。違算検証コマンドのコマンド電文を受信しない場合、当該コマンド電文を受信するまで待機する。制御部１４０は、所定時間内に当該コマンド電文を受信できない場合、収集時検証処理を終了してもよい。
【０１２６】
［ステップＳ３４］違算検証部１５３は、制御部１４０から違算検証コマンドを取得する。すると、違算検証部１５３は、操作ログ記憶部１１０に記憶された操作ログと、出力イベント記憶部１２０に記憶された出力イベントと、を用いて違算検証を行う。違算検証処理の方法の詳細は後述する。
【０１２７】
［ステップＳ３５］違算検証部１５３は、違算検証の結果、出力イベントに異常を検出したか否かを判定する。異常を検出した場合、処理をステップＳ３６に進める。異常を検出しなかった場合、処理をステップＳ３７に進める。
【０１２８】
［ステップＳ３６］モード切替部１５４は、処理モード変更の通知を制御部１４０に出力する。モード切替部１５４は、出力イベント記憶部１２０に記憶されたデータを削除する。
【０１２９】
［ステップＳ３７］違算検証部１５３は、ＰＯＳ端末装置２００に対して違算検証結果を通知する。そして、処理を終了する。
このように、収集アプリ１５０は違算検証の結果、出力イベントに異常を検出した場合には、ＩＣカード１００の処理モードを変更する旨、制御部１４０に通知する。これによって、ＩＣカード１００は収集モードから再生モードへ移行する。
【０１３０】
ここで、違算検証部１５３による違算検証処理について説明する。以下に示す説明は、図１７のステップＳ３３以降に対応する。
図１８は、違算検証処理を例示する図である。以下、図１８に示す処理をステップ番号に沿って説明する。
【０１３１】
［ステップＳＴ１０１］ＰＯＳ端末装置２００は、違算検証コマンドのコマンド電文をＩＣカード１００に送信する。制御部１４０は、ＰＯＳ端末装置２００から違算検証コマンドのコマンド電文を受信する。違算検証コマンドのコマンド電文は、例えば、１つの取引が完了した時点でＰＯＳ端末装置２００からＩＣカード１００に送信される。あるいは、１つの取引が完了し、保守員やレジ係がＰＯＳ端末装置２００で所定の操作入力をした時点で、ＰＯＳ端末装置２００からＩＣカード１００に送信されるようにしてもよい。
【０１３２】
［ステップＳＴ１０２］制御部１４０は、受信したコマンド電文を違算検証部１５３に出力する。違算検証部１５３は、制御部１４０から当該コマンド電文を受け付ける。
［ステップＳＴ１０３］違算検証部１５３は、操作ログ記憶部１１０に記憶された操作ログテーブル１１１を参照して、最新の取引に関する操作ログを取得する。例えば、操作ログテーブル１１１の例において取引通番“１”が最新であれば、取引通番“１”に対応する操作ログ（項番“１”〜“４”のレコード）を取得する。なお、以下に示すステップＳＴ１０４〜ＳＴ１１１は単一の操作ログレコード（項番“１”のレコードを想定する）に関する処理を例示している。よって、操作ログレコードが４つであれば、時系列に順番に当該レコードを参照し、ステップＳＴ１０４〜ＳＴ１１１を４回行えばよい。
【０１３３】
［ステップＳＴ１０４］違算検証部１５３は、操作ログレコードに設定されたスキャンコードに基づいて、ＤＢ参照コマンドのコマンド電文（コマンドコード“０６”）を生成する。コマンド電文のパラメータには、リファレンステーブル４１０をスキャンコードによって検索するための設定がなされる。例えば、項番“１”の操作ログレコードには、スキャンコード“Ａ００１”が設定されているので、当該スキャンコードを検索キーとする。違算検証部１５３は、制御部１４０を介してＰＯＳ端末装置２００にＤＢ参照コマンドのコマンド電文を送信することでＤＢサーバ４００のテーブルを参照する。ＤＢ参照部２３０は、当該コマンド電文のパラメータに基づいて、ＤＢサーバ４００に格納されたテーブルから該当のレコードを検索する。なお、以下の説明において違算検証部１５３が行うＤＢ参照は同様にして実現される。
【０１３４】
［ステップＳＴ１０５］ＤＢサーバ４００は、ＰＯＳ端末装置２００および制御部１４０を介して、検索により得たリファレンスレコードを応答する。例えば、リファレンステーブル４１０からスキャンコード“Ａ００１”を含むレコードを応答する。
【０１３５】
［ステップＳＴ１０６］違算検証部１５３は、リファレンスレコードに含まれるＰＬＵ  ＩＤに基づいて、ＤＢ参照コマンドのコマンド電文を生成し、ＤＢサーバ４００の商品マスタテーブル４２０を参照する。このとき、例えば、スキャンコード“Ａ００１”のリファレンスレコードには、ＰＬＵ  ＩＤ“Ｐ１０１”が設定されているので、当該ＰＬＵ  ＩＤを検索キーとする。
【０１３６】
［ステップＳＴ１０７］ＤＢサーバ４００は、ＰＯＳ端末装置２００および制御部１４０を介して、検索により得た商品マスタレコードを応答する。例えば、商品マスタテーブル４２０からＰＬＵ  ＩＤ“Ｐ１０１”を含むレコードを応答する。
【０１３７】
［ステップＳＴ１０８］違算検証部１５３は、商品マスタレコードに含まれるディスカウントＩＤに基づいて、ＤＢ参照コマンドのコマンド電文を生成し、ＤＢサーバ４００の値引基準テーブル４３０を参照する。このとき、例えば、ＰＬＵ  ＩＤ“Ｐ１０１”の商品マスタレコードには、ディスカウントＩＤ“ＤＳ００１”が設定されているので、当該ディスカウントＩＤを検索キーとする。
【０１３８】
［ステップＳＴ１０９］ＤＢサーバ４００は、ＰＯＳ端末装置２００および制御部１４０を介して、検索により得た値引基準レコードを応答する。例えば、値引基準テーブル４３０からディスカウントＩＤ“ＤＳ００１”を含むレコードを応答する。
【０１３９】
［ステップＳＴ１１０］違算検証部１５３は、商品マスタレコードに含まれるディスカウントＩＤに基づいて、ＤＢ参照コマンドのコマンド電文を生成し、ＤＢサーバ４００の値引設定テーブル４４０を参照する。このとき、例えば、ＰＬＵ  ＩＤ“Ｐ１０１”の商品マスタレコードには、ディスカウントＩＤ“ＤＳ００１”が設定されているので、当該ディスカウントＩＤを検索キーとする。
【０１４０】
［ステップＳＴ１１１］ＤＢサーバ４００は、ＰＯＳ端末装置２００および制御部１４０を介して、検索により得た値引設定レコードを応答する。例えば、値引設定テーブル４４０からディスカウントＩＤ“ＤＳ００１”を含むレコードを応答する。
【０１４１】
［ステップＳＴ１１２］違算検証部１５３は、ステップＳＴ１０３〜ＳＴ１１１で取得した情報（操作ログレコードを複数取得している場合には、ステップＳＴ１０４〜ＳＴ１１１はその個数回繰り返す）に基づいて、対象の取引で行われた処理を再実行する。具体的には、違算検証部１５３は対象取引における商品の小売価格、数量、合計金額、値引値、値引後金額、入金額および出金額を算出する。更に、違算検証部１５３は、出力イベント記憶部１２０に格納された出力イベントテーブル１２１を参照して、対象取引の出力イベントの各項目値と、算出した各値とを比較する。違算検証部１５３は、比較の結果、両値が全て整合していれば、違算は生じていないと判断する。整合していない値があれば、違算が生じており、異常と判断する。
【０１４２】
［ステップＳＴ１１３］違算検証部１５３は、ステップＳＴ１１２の違算検証の結果をＰＯＳ端末装置２００に通知する。ＰＯＳ端末装置２００は、違算検証の結果をモニタ２２に表示させて保守員やレジ係に通知する。
【０１４３】
このようにして、違算検証部１５３は操作ログ記憶部１１０に記憶された操作ログに基づき、ＤＢサーバ４００に格納された各テーブルを参照して、取引の処理を再実行し、出力イベント記憶部１２０に記憶された出力イベントと比較することで違算検証を行う。
【０１４４】
保守員やレジ係は、異常が通知された場合にはＩＣカード１００をＲ／Ｗ装置２１から抜いて、Ｒ／Ｗ装置３１に挿入する。すると、ＩＣカード１００による違算検証の再現を行える。
【０１４５】
次に、図１６のステップＳ１９で述べた再生アプリ１６０による検証再現処理の手順を説明する。なお、以下の説明では再生アプリ１６０による処理は、上述したように制御部１４０によって検証装置３００で行われるよう制御されているとする。
【０１４６】
図１９は、再生時検証処理を示すフローチャートである。以下、図１９に示す処理をステップ番号に沿って説明する。
［ステップＳ４１］制御部１４０は、検証装置３００から操作ログ再生コマンドのコマンド電文（コマンドコード“０３”）を受信する。制御部１４０は、当該コマンド電文を操作ログ再生部１６１に出力する。
【０１４７】
［ステップＳ４２］操作ログ再生部１６１は、コマンド電文に含まれるパラメータに設定された再生速度を特定する。
［ステップＳ４３］操作ログ再生部１６１は、操作ログ記憶部１１０に記憶された操作ログテーブル１１１を参照して、最新の取引に関する操作ログレコードを時系列に特定する。そして、当該レコードに含まれるスキャンコードや入出金額の情報を、制御部１４０を介して検証装置３００に順次送信する。すると、検証装置３００のＰＯＳアプリにスキャンコード等が入力されて、ＰＯＳ端末装置２００での取引が再現される。ここで、操作ログ再生部１６１は、スキャンコード等を送信するタイミングを変更することで、再生速度を変更する。例えば、コマンド電文のパラメータに設定された再生速度が“同時”であれば、操作ログレコードに設定された時刻の間隔でスキャンコード等を送信する。設定された再生速度が“倍速”であれば、操作ログレコードに設定された時刻の間隔の半分の時間間隔でスキャンコード等を送信する。設定された再生速度が“低速”であれば、操作ログレコードに設定された時刻の間隔の２倍の時間間隔でスキャンコード等を送信する。検証装置３００は、受信した操作ログに基づいてＰＯＳアプリにより生成した出力イベントをＩＣカード１００に送信開始する。
【０１４８】
［ステップＳ４４］制御部１４０は、検証装置３００から出力イベント収集コマンドのコマンド電文（コマンドコード“０４”）を受信するたびに、当該コマンド電文を再生アプリ１６０に出力する。再生アプリ１６０の出力イベント収集部１６２は、コマンド電文に含まれるパラメータを出力イベント記憶部１２０に記憶された出力イベントテーブル１２１に記録する。
【０１４９】
［ステップＳ４５］制御部１４０は、検証装置３００から違算検証コマンドのコマンド電文（コマンドコード“０５”）を受信したか否かを判定する。違算検証コマンドのコマンド電文は、検証装置３００により１取引単位に発行される。違算検証コマンドのコマンド電文を受信した場合、制御部１４０は当該コマンド電文を違算検証部１６３に出力して処理をステップＳ４６に進める。違算検証コマンドのコマンド電文を受信しない場合、当該コマンド電文を受信するまで待機する。制御部１４０は、所定時間内に当該コマンド電文を受信できない場合、検証再現処理を終了してもよい。
【０１５０】
［ステップＳ４６］違算検証部１６３は、制御部１４０から違算検証コマンドを取得する。すると、違算検証部１６３は、操作ログ記憶部１１０に記憶された操作ログと、出力イベント記憶部１２０に記憶された出力イベントと、を用いて違算検証を行う。違算検証部１６３による違算検証も図１８で説明した違算検証部１５３による違算検証と同様にして行える。その際、ＩＣカード１００は検証装置３００に接続しているため、検証装置３００を介してＤＢ参照を行う。
【０１５１】
［ステップＳ４７］違算検証部１６３は、違算検証の結果、出力イベントに異常を検出したか否かを判定する。異常を検出した場合、処理をステップＳ４８に進める。異常を検出しなかった場合、処理をステップＳ４９に進める。
【０１５２】
［ステップＳ４８］モード切替部１６４は、処理モード変更の通知を制御部１４０に出力する。モード切替部１６４は、出力イベント記憶部１２０に記憶されたデータを削除する。
【０１５３】
［ステップＳ４９］違算検証部１６３は、検証装置３００に対して違算検証結果を通知する。そして、処理を終了する。
このようにして、再生アプリ１６０は検証装置３００にてＰＯＳ端末装置２００における違算検証を再現する。再生アプリ１６０は、違算検証の結果、出力イベントに異常を検出した場合には、ＩＣカード１００の処理モードを変更する旨、制御部１４０に通知する。これによって、ＩＣカード１００は再生モードから収集モードへ移行する。
【０１５４】
なお、ステップＳ４７，Ｓ４８において、モード切替部１６４は異常検出の有無に関わらず、保守員が検証装置３００で所定の操作入力を行った場合には、処理モード変更を制御部１４０に通知してもよい。このようにすれば、異常が検出されなかった場合でも、再生モードから収集モードへ変更できる。よって、その後、ＩＣカード１００をＰＯＳ端末装置２００に接続すれば収集時検証処理を再開することができる。
【０１５５】
以上で説明したように、ＩＣカード１００によれば、収集アプリ１５０による違算検証で異常（違算）が検出された場合、次回何れかの装置に接続された際に再生アプリ１６０による再現を行うよう処理モードを自動的に変更する。このため、保守員によるデータ検証作業を簡略化できる。具体的には、保守員はＩＣカード１００の挿抜を行うのみで違算検証の再現が可能なので、手順が容易になる。このため、再現テストに基づく障害解析の時間を短縮できる。
【０１５６】
また、ＩＣカード１００は、再現の際に、操作ログによる取引の再生速度を速めたり、遅くしたりすることが可能である。このため、例えば操作ログレコードによる再現を行いながら、操作ログレコードと、対応する出力イベントレコードとの比較をモニタに順次表示させるようにすると、取引中の異常箇所の特定を容易に行える。
【０１５７】
また、ＩＣカード１００に操作ログを記憶し、これを収集アプリ１５０および再生アプリ１６０の両方で利用可能とすることで、ＩＣカード１００が違算検証を行えるようにした。このため、ＰＯＳ端末装置２００や検証装置３００は違算検証の処理を行わなくてよい。よって、ＰＯＳ端末装置２００や検証装置３００の負荷を軽減できる。
【０１５８】
また、ＩＣカード１００は、今回接続された装置が前回接続された装置と同一の場合には、前回の処理モードで動作する。このため、例えば、収集モードで動作している場合に、誤操作等によりＰＯＳ端末装置２００において接続・非接続が繰り返されたとしても、再生モードで動作することがないので、ＰＯＳ端末装置２００で余計な処理を行わずに済む。よって、運用への影響を軽減できる。
【０１５９】
ＩＣカード１００によれば、このようにしてデータ検証の再現テストを効率的に行うことができる。
次に、ＩＣカード１００の変形例について説明する。
【０１６０】
図２０は、ＩＣカードのハードウェア構成の変形例を示す図である。ＩＣカード１００ａは、ＩＣ部１０１、バッテリ１０２およびＬＥＤ（Light Emitting Diode）１０３を有する。また、ＩＣ部１０１は、ＣＰＵ１０１ａ、メモリ１０１ｂ、通信部１０１ｃおよびＬＥＤ駆動部１０１ｄを有する。
【０１６１】
ここで、ＣＰＵ１０１ａ、メモリ１０１ｂおよび通信部１０１ｃは、図３において同一の符号を付して説明した構成と同一である。
ＬＥＤ駆動部１０１ｄは、ＩＣカード１００ａの現在の処理モードに応じてＬＥＤ１０３の発光・消光を制御する。例えば、処理モードが収集モードのときにＬＥＤ１０３を消光させる。一方、処理モードが再生モードのときにＬＥＤ１０３を発光させる。
【０１６２】
バッテリ１０２は、ＩＣ部１０１およびＬＥＤ１０３に電力を供給する。ここで、バッテリ１０２は主にＬＥＤ１０３を発光させるために用いられるものである。ＩＣ部１０１のその他の動作はＲ／Ｗ装置２１，３１から受電した電力によって行われる。
【０１６３】
ＬＥＤ１０３は、ＬＥＤ駆動部１０１ｄによって発光・消光が制御される。ＬＥＤ１０３は、ＩＣカード１００ａの現在の処理モードを報知するための報知部である。ここで、処理モードが再生モードであることは、収集モードでの違算検証で異常が発生したことを示す。
【０１６４】
このようにＩＣカード１００ａにＬＥＤ１０３を設けて処理モードに応じて発光させれば、ＩＣカード１００ａが現在何れの処理モードであるかを、視覚によって判断できる。
図２１は、ＩＣカードの機能構成の変形例を示す図である。ＩＣカード１００ａは、操作ログ記憶部１１０、出力イベント記憶部１２０、制御情報記憶部１３０、制御部１４０および収集／再生アプリ１７０を有する。これらのユニットの機能は、ＣＰＵ１０１ａが所定のプログラムを実行することによりＩＣカード１００ａ上に実現される。ただし、これらのユニットの機能の全部または一部を専用のハードウェアで実現してもよい。
【０１６５】
ここで、操作ログ記憶部１１０、出力イベント記憶部１２０、制御情報記憶部１３０および制御部１４０は、図５で同一の符号を付して説明した各ユニットと同一であるため説明を省略する。ただし、制御部１４０はＬＥＤ駆動部１０１ｄに現在の処理モードを通知する。
【０１６６】
収集／再生アプリ１７０は、収集アプリ１５０および再生アプリ１６０を単一のアプリケーション内で実現したものである。収集／再生アプリ１７０は、操作ログ収集部１７１、出力イベント収集部１７２、違算検証部１７３、操作ログ再生部１７４およびモード切替部１７５を有する。
【０１６７】
操作ログ収集部１７１は、操作ログ収集部１５１に対応する。出力イベント収集部１７２は、出力イベント収集部１５２，１６２に対応する。違算検証部１７３は、違算検証部１５３，１６３に対応する。操作ログ再生部１７４は、操作ログ再生部１６１に対応する。モード切替部１７５は、モード切替部１５４，１６４に対応する。
【０１６８】
このように、収集アプリ１５０および再生アプリ１６０において共通する機能をまとめて、これらアプリケーションを単一のアプリケーションとして実現してもよい。
この場合、収集モードでの動作時には操作ログ収集部１７１、出力イベント収集部１７２、違算検証部１７３およびモード切替部１７５によって収集時検証処理が行われる。一方、再生モードでの動作時には出力イベント収集部１７２、違算検証部１７３、操作ログ再生部１７４およびモード切替部１７５によって検証再現処理が行われる。各処理の手順は、図１７，１９で説明した手順と同様である。ただし、各ステップの処理は、図２１において同一名称で示した各ユニットによって実行される。
【０１６９】
このような構成のＩＣカード１００ａによっても、ＩＣカード１００と同様の効果を奏することができる。
【符号の説明】
【０１７０】
１  ＩＣカード
１ａ，１ｂ  処理部
１ｃ  制御部
２  情報処理装置
【図１】
2012159893.tif 000003
【図２】
2012159893.tif 000004
【図３】
2012159893.tif 000005
【図４】
2012159893.tif 000006
【図５】
2012159893.tif 000007
【図６】
2012159893.tif 000008
【図７】
2012159893.tif 000009
【図８】
2012159893.tif 000010
【図９】
2012159893.tif 000011
【図１０】
2012159893.tif 000012
【図１１】
2012159893.tif 000013
【図１２】
2012159893.tif 000014
【図１３】
2012159893.tif 000015
【図１４】
2012159893.tif 000016
【図１５】
2012159893.tif 000017
【図１６】
2012159893.tif 000018
【図１７】
2012159893.tif 000019
【図１８】
2012159893.tif 000020
【図１９】
2012159893.tif 000021
【図２０】
2012159893.tif 000022
【図２１】
2012159893.tif 000023