(57)【要約】【課題】情報処理装置及びＵＳＢ記憶装置の間に発生することが予想される通信エラーを未然に防ぐ。【解決手段】ＵＳＢ記憶装置には、機種を特定する機種特定情報が記憶されている。また、記憶部には、通信エラーの発生が予想される不適合ＵＳＢ記憶装置の機種特定情報が記憶されている。情報処理装置の情報処理部は、情報処理装置のコネクタにＵＳＢ記憶装置が装着されていると判定した場合（ステップＳ１０１のＹ）、エニュメレーションを実行し（ステップＳ１０２）、その中で取得したＵＳＢ記憶装置の機種特定情報が記憶部に記憶されているかどうかを判定する（ステップＳ１０３）。記憶部に当該機種特定情報が記憶されていると判定した場合（ステップＳ１０３Ｙ）、情報処理装置の情報処理部は、装着されているＵＳＢ記憶装置が不適合ＵＳＢ記憶装置であるとして、報知部に報知動作を行わせる（ステップＳ１０４）。【選択図】図６
2009193358.tif 000002
【特許請求の範囲】
【請求項１】
情報処理を実行する情報処理部と、
機種を特定する機種特定情報を記憶しているＵＳＢ記憶装置を装着するためのコネクタと、
報知動作を行う報知部と、
前記情報処理部が、前記コネクタに前記ＵＳＢ記憶装置が装着されていると判定した場合、当該ＵＳＢ記憶装置に記憶されている機種特定情報を取得する手段と、
前記情報処理部が、通信エラーの発生が予想される不適合ＵＳＢ記憶装置の機種特定情報を記憶する記憶部にアクセスし、前記取得した機種特定情報と一致する機種特定情報が当該記憶部に記憶されていると判定した場合、前記報知部に対し報知動作を行わせるための報知信号を送信する手段と、
を備える情報処理装置。
【請求項２】
前記情報処理部が、前記コネクタに装着されているＵＳＢ記憶装置に対する通信エラーを検出し当該通信エラーの発生回数を機種別にカウントする手段と、
前記情報処理部が、前記カウントした通信エラーの発生回数が所定回数以上になったＵＳＢ記憶装置の機種の機種特定情報を前記記憶部に記憶する手段と、
を備える請求項１記載の情報処理装置。
【請求項３】
前記機種特定情報は、ベンダＩＤ及びプロダクトＩＤを含む、請求項１又は２記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢメモリやＵＳＢ−ＨＤＤなどのＵＳＢ記憶装置の装着が可能な情報処理装置に関する。
【背景技術】
【０００２】
従来、情報処理装置と各種の周辺機器とを接続してデータ通信を実現するための規格として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）が普及している。ＵＳＢでは、情報処理装置の電源をオンにしたままの状態で、周辺機器の装着及び取り外しをして情報処理装置に周辺機器とのデータ通信を行わせることが可能になる。そこで、メンテナンス担当者が、ＰＯＳ端末、ＥＣＲ機器、ＰＣ等の情報処理装置の修理やメンテナンスに用いるプログラムをＵＳＢメモリ、ＵＳＢ−ＨＤＤなどのＵＳＢ記憶装置に記憶して店舗に赴き、店舗で運用中のＰＯＳ端末等にＵＳＢ記憶装置を装着してそのプログラムを起動して情報処理装置の修理やメンテナンスを行うという運用がなされている。
【０００３】
ＵＳＢ記憶装置には、製造業者や販売納品業者を特定するベンダＩＤと、製品の種類を特定するプロダクトＩＤと、を含むディスクリプタ情報が記憶保存されている（特許文献１の段落番号０００２〜０００５参照）。情報処理装置は、ＵＳＢ記憶装置の装着を確認すると、ディスクリプタ情報を読込み、ＵＳＢ記憶装置のバッファ領域に通信を行うためのアドレスを割り当て、ディスクリプタ情報に基づく各種設定（コンフィグレーション）を行うという一連の処理（エニュメレーション）を実行する。エニュメレーションの結果、情報処理装置は、ＵＳＢ記憶装置との通信に必要な情報を取得し、ＵＳＢ記憶装置との間に論理的な通信経路（パイプ）を確立する。その後、情報処理装置は、エニュメレーションによって取得したＵＳＢ記憶装置のベンダＩＤ及びプロダクトＩＤを用いてＵＳＢ記憶装置の機種を特定し、この機種のＵＳＢ記憶装置に適したドライバを読み込んで、アプリケーションプログラムを実行する中でのＵＳＢ記憶装置に対する通信を実現する。
【０００４】
【特許文献１】特開２００６−１３４０９３公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のシリアルポートやパラレルポートと比較すると、ＵＳＢの仕様は複雑である。そのため、情報処理装置がエニュメレーションを実行してＵＳＢ記憶装置との間に論理的な通信経路（パイプ）を確立したとしても、情報処理装置にインストールされているドライバに不備や曖昧な定義が存在し、情報処理装置がアプリケーションプログラムを実行する中でＵＳＢ記憶装置との間に通信エラーが発生する場合がある。このような通信エラーは、一般に、情報処理装置及びＵＳＢ記憶装置の間の「相性」の問題であると言われ、特定の情報処理装置及びＵＳＢ記憶装置の組合せによって高頻度で発生する。
【０００６】
本発明の目的は、情報処理装置及びＵＳＢ記憶装置の間に発生することが予想される通信エラーを未然に防ぐことである。
【課題を解決するための手段】
【０００７】
本願の発明者は、さまざまなＵＳＢ記憶装置を用いて、情報処理装置にＵＳＢ記憶装置を装着してデータ書込みやデータ読込みを繰り返し実行させデータ通信における情報処理装置の安定性を確認するエイジングテストを行った。このエイジングテストの中で、本願の発明者は、情報処理装置に装着されているＵＳＢ記憶装置のベンダＩＤ及びプロダクトＩＤが特定のものである場合に通信エラーが発生しやすいことを確認した。
【０００８】
本発明の情報処理装置は、情報処理を実行する情報処理部と、機種を特定する機種特定情報を記憶しているＵＳＢ記憶装置を装着するためのコネクタと、報知動作を行う報知部と、前記情報処理部が、前記コネクタに前記ＵＳＢ記憶装置が装着されていると判定した場合、当該ＵＳＢ記憶装置に記憶されている機種特定情報を取得する手段と、前記情報処理部が、通信エラーの発生が予想される不適合ＵＳＢ記憶装置の機種特定情報を記憶する記憶部にアクセスし、前記取得した機種特定情報と一致する機種特定情報が当該記憶部に記憶されていると判定した場合、前記報知部に対し報知動作を行わせるための報知信号を送信する手段と、を備える。
【発明の効果】
【０００９】
本発明によれば、通信エラーの発生が予想される不適合ＵＳＢ記憶装置がコネクタに装着された場合には報知部で報知動作が行われ、このＵＳＢ記憶装置及び情報処理装置の組合せでは通信エラーの発生が予想されることをユーザが早期に知ることができ、従って、情報処理装置及びＵＳＢ記憶装置の間に発生することが予想される通信エラーを未然に防ぐことができる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施の一形態を図１ないし図８に基づいて説明する。本実施の形態は、ＵＳＢメモリを装着可能なＰＯＳ端末への適用例である。そして、本実施の形態では、メンテナンス担当者がＰＯＳ端末のメンテナンス用プログラムを記憶したＵＳＢメモリをＰＯＳ端末に装着してメンテナンスを行う場合について紹介する。ここで、特許請求の範囲の各請求項における「ＵＳＢ記憶装置」は、本実施の形態におけるＵＳＢメモリに相当する。なお、ＵＳＢ記憶装置としては、ＵＳＢメモリの他にも、例えばＵＳＢ−ＨＤＤであってもよい。
【００１１】
図１は、ＰＯＳ端末１０１の外観を示す斜視図である。ＰＯＳ端末１０１は、ドロワ１０２の上に載置されており、ドロワ１０２の引出し１０３の開放動作を制御することができる。ＰＯＳ端末１０１の上面右側には入力部としてのキーボード１０４と、出力部としてのオペレータ用表示器１０５とが設けられている。キーボード１０４には、テンキー１１０が含まれている。ＰＯＳ端末１０１の上面左側にはレシートプリンタ１０６が配置されている。ＰＯＳ端末１０１の上面後方には、出力部及び報知部としての客用表示器１０７が立設されている。ＰＯＳ端末１０１の右側面近傍には、カード読取溝１０９が切られている。カード読取溝１０９は、ユーザがカードを挿入してカードリーダライタ１０８（図３参照）にカード情報の読み取り等を行わせるための溝である。ＰＯＳ端末１０１の背面には、入力部としてのポインティングデバイス１１１が接続されている。
【００１２】
ＰＯＳ端末１０１は、ＨＤＤ２０１、磁気ディスクドライブ（ＦＤＤ）２０２、ＣＤ−ＲＯＭドライブ２０３、ＵＳＢポート２０４を備えている（いずれも図３参照）。そこで、オペレータから見てＰＯＳ端末１０１の右側面には、磁気ディスク２０２ａ（図３参照）を装着するための磁気ディスクスロット１１２、ＣＤ−ＲＯＭ２０３ａ（図３参照）を装着するためのＣＤ−ＲＯＭトレイ１１３、ＵＳＢメモリ２０４ａを装着するためのＵＳＢ装着部１１４がそれぞれ設けられている。ＵＳＢ装着部１１４は、ＵＳＢメモリ２０４ａの着脱を許容するコネクタとしての役割を果たす。なお、図１に示す例では、ＰＯＳ端末１０１にはＵＳＢ装着部１１４が一つ設けられているが、ＵＳＢ装着部１１４は複数設けられていても構わない。
【００１３】
図２は、ＵＳＢメモリ２０４ａに格納されているデータの構成を示す模式図である。ＵＳＢメモリ２０４ａは、フラッシュメモリや小型ハードディスクドライブなどの不揮発性の記憶媒体を主体として構成されている。ＵＳＢメモリ２０４ａは、ディスクリプタ領域２０４ａａと、データ領域２０４ａｂとを備えている（図２（ａ））。データ領域２０４ａｂには、アプリケーションプログラム２０４ａｄ及びデータ２０４ａｅが格納されている。データ領域２０４ａｂに格納されるアプリケーションプログラム２０４ａｄには、ＰＯＳ端末１０１の修理やメンテナンスの際に行うメンテナンス担当者の作業を支援するメンテナンス用プログラムが含まれている。ＰＯＳ端末１０１のＣＰＵ２０５は、オペレーティングシステムＯＳを起動した状態で、ＵＳＢメモリ２０４ａからアプリケーションプログラム２０４ａｄの全部又は一部をＲＡＭ２０７に読込み、このアプリケーションプログラム２０４ａｄの記述に従って処理を実行する。また、データ領域２０４ａｂに格納されるデータ２０４ａｅは、アプリケーションプログラム２０４ａｄに用いられる作業用データの他、汎用のソフトウェアで作成された各種の文書や画像を示すものである。
【００１４】
ディスクリプタ領域２０４ａａについて、図２（ｂ）に基づいて説明する。ディスクリプタ領域２０４ａａは、ディスクリプタ情報２０４ａｃを格納している。ディスクリプタ情報２０４ａｃは、ＵＳＢメモリ２０４ａの特性をＰＯＳ端末１０１に正しく認識させるための情報群であり、デバイスディスクリプタ２０４ａｆ、コンフィグレーションディスクリプタ２０４ａｇ、インタフェイスディスクリプタ２０４ａｈ、エンドポイントディスクリプタ２０４ａｉを含んでいる。
【００１５】
デバイスディスクリプタ２０４ａｆは、ＵＳＢ規格に対応している周辺機器には必ず備わっており、ベンダＩＤやプロダクトＩＤを含むＵＳＢメモリ２０４ａ全体に関する情報を格納している。ベンダＩＤは、企業や会社毎に発行される、製造業者や販売納品業者を特定するコード情報である。プロダクトＩＤは、ベンダＩＤを持つ企業や会社によって機種毎に重複しないよう割り振られている、製品の種類を特定するコード情報である。この、ベンダＩＤ及びプロダクトＩＤを組合せることによって、ＵＳＢ記憶装置の機種を特定することができる。ここに、ベンダＩＤ及びプロダクトＩＤは、ＵＳＢ記憶装置の機種を特定する機種特定情報２１２を構成する。その他のコンフィグレーションディスクリプタ２０４ａｇ、インタフェイスディスクリプタ２０４ａｈなどの各ディスクリプタ情報２０４ａｃについては、その内容は周知のものであるため、説明を省略する。
【００１６】
また、ＵＳＢメモリ２０４ａには、ＰＯＳ端末１０１をはじめとする情報処理装置との通信内容を一時的に記憶保持する、エンドポイントと呼ばれるバッファ領域（図示せず）が複数確保されている。
【００１７】
図３は、ＰＯＳ端末１０１のハードウェア構成を示すブロック図である。ＰＯＳ端末１０１は、各種情報処理を実行するＣＰＵ２０５と、固定データを記憶保存しているＲＯＭ２０６と、可変データを書き換え自在に記憶しワークエリアとして利用されるＲＡＭ２０７とを備えている。ＲＡＭ２０７には、ＵＳＢメモリ２０４ａのバッファ領域（エンドポイント）とともにパイプ（後述）を構成するバッファ領域（図示せず）が確保されている。ＣＰＵ２０５、ＲＯＭ２０６及びＲＡＭ２０７は、マザーボード２０９に搭載されている。ＣＰＵ２０５は、ＲＯＭ２０６及びＲＡＭ２０７のそれぞれとデータ通信自在となっており、情報処理を実行する情報処理部２００を構成する。
【００１８】
ＣＰＵ２０５は、ＨＤＤ２０１、磁気ディスクドライブ２０２、ＣＤ−ＲＯＭドライブ２０３及びＵＳＢポート２０４とバス接続している。ＵＳＢポート２０４は、ＵＳＢ装着部１１４を構成する。また、ＣＰＵ２０５は、ドロワ１０２、キーボード１０４、オペレータ用表示器１０５、レシートプリンタ１０６、客用表示器１０７、カードリーダライタ１０８、ポインティングデバイス１１１と、入出力回路（図示せず）を介してバス接続している。ＣＰＵ２０５は、入出力回路（図示せず）を制御して各部を駆動制御する。さらに、ＰＯＳ端末１０１は、当該ＰＯＳ端末１０１が設置される店舗に設けられるＬＡＮネットワーク網２１１等に接続するための通信インタフェイス２１０を備えている。この通信インタフェイス２１０も、ＣＰＵ２０５にバス接続されている。
【００１９】
ＨＤＤ２０１は、オペレーティングシステムＯＳ、ドライバＤＰ、アプリケーションプログラムＡＰなどの各種プログラム、デバイス情報テーブルＤＴ（図４も参照）、カウントテーブルＣＴ（図５も参照）、及び、各種のデータ（図示せず）を記憶しており、記憶部としての役割を果たす。
【００２０】
オペレーティングシステムＯＳは、様々なアプリケーションプログラムＡＰに共通するデータ入出力などの基本的な機能を提供するプログラムであり、ＰＯＳ端末１０１の起動時にＣＰＵ２０５が実行する処理によってその全部又は一部がＲＡＭ２０７に読み込まれる。本実施の形態のＰＯＳ端末１０１では、オペレーティングシステムＯＳによって、プラグアンドプレイ機能が実現される。プラグアンドプレイ機能は、ユーザが手動で設定作業を行うことなく、ＰＯＳ端末１０１に周辺機器が装着されるとともにＰＯＳ端末１０１が周辺機器の種類を認識して使用可能な状態にする機能である。プラグアンドプレイ機能を実現するにあたって、ＣＰＵ２０５は、オペレーティングシステムＯＳの記述に従って、ＰＯＳ端末１０１に対する周辺機器の装着を監視し、周辺機器の装着を確認した場合、その周辺機器に対応するドライバＤＰの全部又は一部をＲＡＭ２０７に読み込む。
【００２１】
ドライバＤＰは、ＰＯＳ端末１０１に装着されている周辺機器を動作させるための機能を提供するプログラムである。ドライバＤＰは、ＣＰＵ２０５がオペレーティングシステムＯＳに従った処理を実行する中で、その全部又は一部がＲＡＭ２０７に読み込まれる。
【００２２】
ここで、プラグアンドプレイ機能によって、ＰＯＳ端末１０１にＵＳＢメモリ２０４ａが装着されてからＵＳＢメモリ２０４ａが使用可能になるまでの流れについて説明する。ＣＰＵ２０５は、プラグアンドプレイ機能に従って、ＵＳＢポート２０４の入出力回路（図示せず）を監視している。ＵＳＢ装着部１１４にＵＳＢメモリ２０４ａが装着されてＵＳＢポート２０４にＵＳＢメモリ２０４ａが電気的に接続されたことを判定すると、ＣＰＵ２０５は、ＵＳＢメモリ２０４ａに備わる所定のバッファ領域（エンドポイント０）を介したＵＳＢメモリ２０４ａに対する通信（コントロール通信）を行い、ＵＳＢメモリ２０４ａからディスクリプタ情報２０４ａｃを取得する。続いて、ＣＰＵ２０５は、取得したディスクリプタ情報２０４ａｃに含まれるＵＳＢメモリ２０４ａのバッファ構成や転送モードの設定事項などの各種情報に基づいて、ＵＳＢメモリ２０４ａのエンドポイント０以外のバッファ領域に対し１〜１２７の間の値のアドレスを割り当てて、ＲＡＭ２０７に確保されたバッファ領域とＵＳＢメモリ２０４ａに備わるバッファ領域とをつなぐ論理的な通信経路（パイプ）を確立する。なお、ＣＰＵ２０５がＵＳＢメモリ２０４ａに対しコントロール通信を実行してからパイプを確立するまでの処理は、一般に、エニュメレーションと呼ばれる。
【００２３】
パイプを確立した後、ＣＰＵ２０５は、ＵＳＢメモリ２０４ａのディスクリプタ情報２０４ａｃに含まれているベンダＩＤ及びプロダクトＩＤを基に、装着されたＵＳＢメモリ２０４ａに適したドライバＤＰをＨＤＤ２０１から検索し、検索したドライバＤＰの全部又は一部をＲＡＭ２０７に読み込む処理を実行する。装着されたＵＳＢメモリ２０４ａに適したドライバＤＰを発見できない場合、ＣＰＵ２０５は、インターネットを介して接続するＷＥＢサーバ（図示せず）から装着されたＵＳＢメモリ２０４ａに適したドライバＤＰをダウンロードするなどのドライバＤＰを入手する処理を実行し、続いてそのドライバＤＰを読み込む処理を実行する。ＲＡＭ２０７に読み込まれたドライバＤＰは、ＣＰＵ２０５が実行しているアプリケーションプログラムＡＰの中で行われるＵＳＢメモリ２０４ａに対する通信の内容をオペレーティングシステムＯＳに受け渡し、パイプを介してＵＳＢメモリ２０４ａに通信できるように変換するプロトコルとして機能する。変換された通信内容は、オペレーティングシステムＯＳによる処理によってパイプを経由してＵＳＢメモリ２０４ａに送信される。
【００２４】
上記の一連の処理によって、ＣＰＵ２０５がアプリケーションプログラムＡＰに従った処理を実行する中でのＵＳＢメモリ２０４ａに対する通信が実現される。なお、このようなプラグアンドプレイ機能を実現する一連の処理は、オペレーティングシステムＯＳに予め記述されている。さらに、オペレーティングシステムＯＳには、コントロール通信からパイプの確立までの処理の内容が、ＵＳＢ記憶装置に対するプラグアンドプレイ機能の特有の処理として記述されている。
【００２５】
図３に基づく説明に戻る。アプリケーションプログラムＡＰには、ＣＰＵ２０５に実行させる各種の処理内容が記述されている。本実施の形態のアプリケーションプログラムＡＰには、ＰＯＳ端末１０１で実行される商品販売データ処理の処理内容を記述した商品販売データ処理用プログラムが含まれている。ＣＰＵ２０５は、オペレーティングシステムＯＳに従った処理を実行する中で、自動的に又はキーボード１０４等からの操作入力をトリガとして、商品販売データ処理用プログラムの全部又は一部をＲＡＭ２０７にコピーし、その記述内容に従った処理を実行する。
【００２６】
また、本実施の形態のアプリケーションプログラムＡＰには、上記のＵＳＢ記憶装置に特有のプラグアンドプレイ機能の一部を変更する処理内容を記述したプログラム（図６参照）、及び、デバイス情報テーブルＤＴの内容を更新するための処理内容を記述したプログラム（図７及び図８）も含まれている。
【００２７】
図４は、デバイス情報テーブルＤＴのデータ構成を示す模式図である。デバイス情報テーブルＤＴは、不適合デバイス特定情報２５１を書き換え自在に記憶可能な構造を有している。このデバイス情報テーブルＤＴに記憶される不適合デバイス特定情報２５１は、ＰＯＳ端末１０１がＵＳＢ装着部１１４に装着されたＵＳＢメモリ２０４ａとデータ通信を行う際に通信エラーが発生することが予想されるものであるか否かの判定に用いられる。この判定に関する処理の詳細は、図６に基づいて後述する。
【００２８】
不適合デバイス特定情報２５１は、少なくとも、ベンダＩＤ及びプロダクトＩＤを含んで構成されている。この不適合デバイス特定情報２５１は、ベンダＩＤ及びプロダクトＩＤ以外にも、クラスを特定する情報、サブクラスを特定する情報、プロトコルを特定する情報などの各種の情報を含んでいても良い。
【００２９】
デバイス情報テーブルＤＴに格納される不適合デバイス特定情報２５１は、一例として、以下に示すエイジングテストによって決定される。このエイジングテストは、ＰＯＳ端末１０１の開発段階で行われる試験であり、ＰＯＳ端末１０１を運用する上で不利な条件の下でも、安定した動作をするか否かを確かめるものである。本実施の形態の場合、様々な機種のＵＳＢ記憶装置を用意し、ＰＯＳ端末１０１のＵＳＢ装着部１１４にＵＳＢ記憶装置を装着した状態で、ＵＳＢ記憶装置に対しデータ書込みやデータ読込みを繰り返す処理をＰＯＳ端末１０１に実行させる。データ書込みやデータ読込みの過程で所定の割合以上通信エラーが発生し、試験者がこのＰＯＳ端末１０１及びＵＳＢ記憶装置の組合せでは今後も通信エラーが発生すると判断した場合、このＵＳＢ記憶装置をＰＯＳ端末１０１に対して不適合なＵＳＢ記憶装置であるとすることができる。そして、ＰＯＳ端末１０１の製造者は、ＰＯＳ端末１０１に対して不適合であると判断されたＵＳＢ記憶装置のディスクリプタ情報に格納されているＵＳＢメモリ２０４ａのディスクリプタ領域２０４ａａに記憶されているベンダＩＤ及びプロダクトＩＤを、不適合デバイス特定情報２５１としてデバイス情報テーブルＤＴに記憶して、ＰＯＳ端末１０１を出荷する。
【００３０】
なお、上記のエイジングテストによらず、試験者や製造者は、既知の各種の情報を基に独自に不適合デバイス特定情報２５１の内容を定めてデバイス情報テーブルＤＴに記憶しても良い。
【００３１】
また、デバイス情報テーブルＤＴに格納されている不適合デバイス特定情報２５１は、ＰＯＳ端末１０１の出荷後にも書き換え更新することができる。一例として、ＵＳＢメモリ２０４ａに新たなデバイス情報テーブルＤＴと、この新たなデバイス情報テーブルＤＴをＰＯＳ端末１０１のＨＤＤ２０１に書き換え更新するための更新プログラムとを記憶しておき、このＵＳＢメモリ２０４ａをＰＯＳ端末１０１に装着してＰＯＳ端末１０１から更新プログラムを実行するようにしてもよい。別の一例として、ＰＯＳ端末１０１がＬＡＮネットワーク網２１１を介して接続している上位機としてのストアコントローラや本部サーバ（いずれも図示せず）からデバイス情報テーブルＤＴを更新するための更新プログラムをＰＯＳ端末１０１に送信し、ＰＯＳ端末１０１のＣＰＵ２０５が受信した更新プログラムを実行するようにしてもよい。さらに別の一例として、ＰＯＳ端末１０１のＣＰＵ２０５が実行する図７に示す処理を実行して、ＰＯＳ端末１０１で行われたＵＳＢ記憶装置に対する通信において発生した通信エラーの回数を機種別にカウントしておき、その後に、図８に示す処理を実行して、この通信エラーの発生回数が所定回数以上になったＵＳＢ記憶装置の機種特定情報をデバイス情報テーブルＤＴに不適合デバイス特定情報２５１として追加記憶するようにしてもよい。
【００３２】
図５は、カウントテーブルＣＴのデータ構成を示す模式図である。カウントテーブルＣＴは、不適合デバイス候補情報２５２を書き換え自在に記憶可能な構造を有している。  不適合デバイス候補情報２５２は、ベンダＩＤ、プロダクトＩＤ及びエラー発生回数を含んで構成されている。この不適合デバイス候補情報２５２は、ＰＯＳ端末１０１がＵＳＢ装着部１１４に装着されたＵＳＢメモリ２０４ａに対する通信の際に発生した通信エラーの発生回数をＵＳＢメモリ２０４ａの機種別にカウントする処理（図７参照）を実行する際に用いられる。
【００３３】
図６は、ＵＳＢメモリ２０４ａが装着された際にＰＯＳ端末１０１で行われる処理の流れを示すフローチャートである。図６に示す処理は、オペレーティングシステムＯＳが提供するＵＳＢ記憶装置についてのプラグアンドプレイ機能を実現する処理（ステップＳ１０１、ステップＳ１０２及びステップＳ１０５）を主体に構成されている。そして、図６に示す処理のうちステップＳ１０３及びステップＳ１０４の処理は、ＨＤＤ２０１のアプリケーションプログラムＡＰに記載されている処理である。ＣＰＵ２０５は、オペレーティングシステムＯＳの起動時にステップＳ１０２及びステップＳ１０５の間にステップＳ１０３による分岐処理を挿入するようＲＡＭ２０７上に展開したプラグアンドプレイ機能を実現するプログラムの内容を書き換え、ステップＳ１０３における分岐によってステップＳ１０４に示す処理が実行されるようにする。このプラグアンドプレイ機能を実現するプログラムを書き換える処理は、オペレーティングシステムＯＳの起動時でなくても、ユーザがＰＯＳ端末１０１のキーボード１０４やポインティングデバイス１１１による操作命令に応じて実行されるようにしてもよい。
【００３４】
ＰＯＳ端末１０１のＣＰＵ２０５は、プラグアンドプレイ機能によって、ＰＯＳ端末１０１にＵＳＢメモリ２０４ａが装着されたかどうかを判定している。ＣＰＵ２０５は、ＵＳＢ装着部１１４にＵＳＢメモリ２０４ａが装着されたことを判定した場合（ステップＳ１０１のＹ）、ＵＳＢ記憶装置に対する特有のプラグアンドプレイ機能によって、エニュメレーションを実行してＵＳＢメモリ２０４ａとの通信に必要なすべての情報を取得する（ステップＳ１０２）。エニュメレーションにおいて、ＰＯＳ端末１０１のＣＰＵ２０５は、ＵＳＢメモリ２０４ａからディスクリプタ情報２０４ａｃに含まれる設定に関する情報を読込んでＲＡＭ２０７に一時的に記憶し、この取得した各種設定項目に基づいて論理的な通信経路（パイプ）を形成する。ここで重要なのは、ＰＯＳ端末１０１のＣＰＵ２０５は、エニュメレーション（ステップＳ１０２）において、ＵＳＢメモリ２０４ａから機種を特定する機種特定情報２１２となるベンダＩＤ及びプロダクトＩＤを取得するということである。
【００３５】
ステップＳ１０２に続く処理として、ＰＯＳ端末１０１のＣＰＵ２０５は、ＨＤＤ２０１にアクセスして、デバイス情報テーブルＤＴに記憶されている不適合デバイス特定情報２５１の中に、ステップＳ１０２で取得した機種特定情報２１２（ベンダＩＤ及びプロダクトＩＤ）が記憶されているかどうかを判定する（ステップＳ１０３）。より詳細には、ＰＯＳ端末１０１のＣＰＵ２０５は、デバイス情報テーブルＤＴの先頭レコードから順に不適合デバイス特定情報２５１を抽出し、不適合デバイス特定情報２５１に含まれるベンダＩＤ及びプロダクトＩＤの組合せと、ＵＳＢメモリ２０４ａから取得した機種特定情報２１２を構成するベンダＩＤ及びプロダクトＩＤの組合せとの一致不一致を確認する。一致するものが存在することを確認した場合、ＰＯＳ端末１０１のＣＰＵ２０５は、ＰＯＳ端末１０１に装着されたＵＳＢメモリ２０４ａを、このＰＯＳ端末１０１には適さない不適合ＵＳＢ記憶装置であると判定する。
【００３６】
ステップＳ１０３において、ＵＳＢメモリ２０４ａが不適合ＵＳＢ記憶装置であると判定した場合（ステップＳ１０３のＹ）、ＰＯＳ端末１０１のＣＰＵ２０５は、報知処理を実行する（ステップＳ１０４）。報知処理は、報知部に対し報知動作を行わせるための報知信号を送信する処理である。報知部の報知動作によって、ユーザは、ＵＳＢ装着部１１４に装着されたＵＳＢメモリ２０４ａに対するデータ書込みやデータ読込みをＰＯＳ端末１０１から行うと通信エラーが発生する可能性があることを知ることができる。この報知処理の一例として、ＰＯＳ端末１０１のＣＰＵ２０５は、オペレータ用表示器１０５に対し、「このＵＳＢ記憶装置にデータ書込み／読込みを行うと、通信エラーが発生するおそれがあります。」という警告メッセージの情報を含む報知信号を送信する。その結果、オペレータ用表示器１０５には、上記の警告メッセージが表示される。別の一例として、ＰＯＳ端末１０１のＣＰＵ２０５は、ブザー回路（図示せず）に対し、報知信号として所定の警告音を発生させるための制御信号を送信するようにしてもよい。さらに別の一例として、ＰＯＳ端末１０１のＣＰＵ２０５は、ＬＥＤランプ（図示せず）に対し点灯させるための制御信号を報知信号として送信するようにしてもよい。すなわち、上記のオペレータ用表示器１０５、ブザー回路（図示せず）、ＬＥＤ（図示せず）及びこれらの入出力回路（図示せず）は、報知動作を行う報知部としての役割を果たす。
【００３７】
ステップＳ１０４（報知処理）を実行した後、ＰＯＳ端末１０１のＣＰＵ２０５は、一連の処理を終了する。
【００３８】
一方、ステップＳ１０３において、ＵＳＢメモリ２０４ａが不適合ＵＳＢ記憶装置であるとは判定しなかった場合（ステップＳ１０３のＮ）、ＰＯＳ端末１０１のＣＰＵ２０５は、プラグアンドプレイ機能によって、取得したＵＳＢメモリ２０４ａのベンダＩＤ及びプロダクトＩＤに適したドライバＤＰをＨＤＤ２０１から探し、そのドライバＤＰの全部又は一部をＲＡＭ２０７に読み込んで実行し、アプリケーションプログラムＡＰに従った処理を実行する際のＵＳＢメモリ２０４ａに対する通信を実現する（ステップＳ１０５）。ステップＳ１０５の処理を実行した後、ＰＯＳ端末１０１のＣＰＵ２０５は、一連の処理を終了する。
【００３９】
図７は、ＵＳＢメモリ２０４ａとの通信でエラーが発生した際にＰＯＳ端末１０１で行われる処理の流れを示すフローチャートである。図７に基づく説明の前提として、ＵＳＢメモリ２０４ａはＵＳＢ装着部１１４に装着されてエニュメレーション（図６のステップＳ１０２）が行われ、ＵＳＢ装着部１１４に装着されたＵＳＢメモリ２０４ａの機種特定情報２１２（ベンダＩＤ及びプロダクトＩＤ）がＲＡＭ２０７に記憶されているものとする。
【００４０】
図７に示す処理の内容は、ＨＤＤ２０１に格納されているアプリケーションプログラムＡＰに含まれている。ＰＯＳ端末１０１のＣＰＵ２０５は、オペレーティングシステムＯＳの起動時に、アプリケーションプログラムＡＰをＨＤＤ２０１から読み込んでその全部又は一部をＲＡＭ２０７に展開し、図７に示す処理を実行する。なお、ユーザがＰＯＳ端末１０１のキーボード１０４やポインティングデバイス１１１から処理開始命令を入力した際に同様にしてＲＡＭ２０７に処理内容を展開して図７に示す処理を実行するようにしてもよい。
【００４１】
ＰＯＳ端末１０１のＣＰＵ２０５は、図７に示す処理を開始し、ＵＳＢメモリ２０４ａとの間の通信エラーを監視している（ステップＳ２０１）。ＵＳＢメモリ２０４ａとの間の通信エラーを検出した場合（ステップＳ２０１のＹ）、ＣＰＵ２０５は、カウントテーブルＣＴに対して、ＲＡＭ２０７に記憶しているベンダＩＤ及びプロダクトＩＤに対応付けて、通信エラーが発生した旨を記憶する（ステップＳ２０２）。ステップＳ２０２の処理の一例として、ＰＯＳ端末１０１のＣＰＵ２０５は、カウントテーブルＣＴに格納されている不適合デバイス候補情報２５２から、ＲＡＭ２０７に記憶されているベンダＩＤ及びプロダクトＩＤの両方と一致する不適合デバイス候補情報２５２を探し出し、その不適合デバイス候補情報２５２に含まれるエラー発生回数の情報をインクリメントする。ここで、ＲＡＭ２０７に記憶しているベンダＩＤ及びプロダクトＩＤの両方と一致する不適合デバイス候補情報２５２を発見できなかった場合には、ＰＯＳ端末１０１のＣＰＵ２０５は、カウントテーブルＣＴの最後尾に、当該ベンダＩＤ、当該プロダクトＩＤ及びエラー発生回数「１」から構成されるレコードを追加する。ステップＳ２０２の処理を実行した後、ＰＯＳ端末１０１のＣＰＵ２０５は一連の処理を終了する。
【００４２】
図８は、ＰＯＳ端末１０１で行われる、機種別のエラー発生回数に基づいてデバイス情報テーブルＤＴを更新する処理の流れを示すフローチャートである。図８に示す処理の内容は、ＨＤＤ２０１に格納されているアプリケーションプログラムＡＰに含まれている。ＰＯＳ端末１０１のＣＰＵ２０５は、オペレーティングシステムＯＳの起動時に、アプリケーションプログラムＡＰをＨＤＤ２０１から読み込んでその全部又は一部をＲＡＭ２０７に展開する。なお、ＣＰＵ２０５は、ユーザがＰＯＳ端末１０１のキーボード１０４やポインティングデバイス１１１から処理開始命令を入力した際に同様にしてＲＡＭ２０７に処理内容を展開するようにしてもよい。
【００４３】
ＰＯＳ端末１０１のＣＰＵ２０５は、ＲＡＭ２０７に展開されている処理内容に従った図８に示す処理を所定周期で開始する。なお、ＰＯＳ端末１０１のＣＰＵ２０５が図８に示す処理は、ＰＯＳ端末１０１の起動時やシャットダウン時に開始されるようにしてもよいし、また、キーボード１０４やポインティングデバイス１１１から入力される処理開始命令に応じて開始されるようにしてもよい。
【００４４】
ＰＯＳ端末１０１のＣＰＵ２０５は、まず、カウントテーブルＣＴを参照して、カウントテーブルＣＴから通信エラーの発生回数が所定回数以上である不適合デバイス候補情報２５２を抽出する（ステップＳ３０１）。不適合デバイス候補情報２５２を抽出するための判断基準となる通信エラーの発生回数は、例えば、５回以上である。
【００４５】
続く処理として、ＰＯＳ端末１０１のＣＰＵ２０５は、ステップＳ３０１で抽出した不適合デバイス候補情報２５２に含まれるベンダＩＤ及びプロダクトＩＤをデバイス情報テーブルＤＴに追加記憶する（ステップＳ３０２）。
【００４６】
ステップＳ３０２に示す処理を実行した後、ＰＯＳ端末１０１のＣＰＵ２０５は一連の処理を終了する。なお、一連の処理を終了する前に、ＰＯＳ端末１０１のＣＰＵ２０５は、カウントテーブルＣＴに記憶されている不適合デバイス候補情報２５２のうち、抽出した不適合デバイス候補情報２５２を消去するようにしてもよい。
【００４７】
このような構成を備える本実施の形態のＰＯＳ端末１０１を用いて、ユーザ（例えば、メンテナンス担当者）は、修理やメンテナンスを行うためのメンテナンス用プログラムをＵＳＢメモリ２０４ａに格納して店舗に赴き、このＵＳＢメモリ２０４ａをＰＯＳ端末１０１のＵＳＢ装着部１１４に装着してＰＯＳ端末１０１上でこのアプリケーションプログラム２０４ａｄを起動し、ＰＯＳ端末１０１を再起動することなくＰＯＳ端末１０１の修理やメンテナンスを実行することができる。そして、ＰＯＳ端末１０１に装着したＵＳＢメモリ２０４ａが、そのＰＯＳ端末１０１との間で通信エラーが発生するおそれがあるものである場合、報知部による報知動作（例えば、オペレータ用表示器１０５への警告メッセージの表示）が行われる。ユーザ（メンテナンス担当者）は、このような報知動作によって、このＵＳＢメモリ２０４ａではデータ書込みやデータ読込みの途中で通信エラーが発生し、ＰＯＳ端末１０１の修理履歴データや持ち帰って分析する分析対象データなどの各種データをＵＳＢメモリ２０４ａに記憶保存できないおそれがあることを早期に認識することができる。
【００４８】
また、本実施の形態のＰＯＳ端末１０１では、ＵＳＢメモリ２０４ａに対するデータ書込みやデータ読込みの過程で通信エラーが発生した回数がベンダＩＤ及びプロダクトＩＤと対応付けて記憶される。そして、所定回数以上通信エラーが発生した機種については、デバイス情報テーブルＤＴに不適合デバイス特定情報２５１としてそのベンダＩＤ及びプロダクトＩＤが記憶される。図５に示す例において、ＰＯＳ端末１０１のＣＰＵ２０５が図８に示す処理を実行して、エラー発生回数が５回以上であるＵＳＢメモリ２０４ａを不適合ＵＳＢ記憶装置であると判定するようにした場合には、ベンダＩＤが「ＷＷＷ」であってプロダクトＩＤが「９９９９」であるＵＳＢメモリ２０４ａが不適合ＵＳＢ記憶装置であると判定され、デバイス情報テーブルＤＴに不適合デバイス特定情報２５１として、ベンダＩＤ＝「ＷＷＷ」及びプロダクトＩＤ＝「９９９９」が対応付けて記憶される。その結果、ベンダＩＤ＝「ＷＷＷ」及びプロダクトＩＤ＝「９９９９」である機種のＵＳＢメモリ２０４ａがＰＯＳ端末１０１に装着された場合、オペレータ用表示器１０５では、例えば、報知部による報知動作（例えば、上記のような警告メッセージ表示）が行われる。
【００４９】
このように、本実施の形態のＰＯＳ端末１０１によれば、通信エラーの発生が予想される不適合ＵＳＢ記憶装置であるＵＳＢメモリ２０４ａがＵＳＢ装着部１１４に装着された場合には報知部で報知動作が行われ、このＵＳＢメモリ２０４ａ及びＰＯＳ端末１０１の組合せでは通信エラーの発生が予想されることをユーザ（メンテナンス担当者）が早期に知ることができ、従って、ＰＯＳ端末１０１及びＵＳＢメモリ２０４ａの間に発生することが予想される通信エラーを未然に防ぐことができる。
【００５０】
また、本実施の形態のＰＯＳ端末１０１によれば、ＵＳＢメモリ２０４ａに対する通信エラーの発生回数が機種別にカウントされ、所定回数以上通信エラーが発生した機種の機種特定情報２１２がデバイス情報テーブルＤＴに記憶されるため、ＰＯＳ端末１０１の製造時では不適合ＵＳＢ記憶装置であると判断されなかったＵＳＢメモリ２０４ａについても、ＰＯＳ端末１０１及びＵＳＢメモリ２０４ａの間に発生することが予想される通信エラーを未然に防ぐことができる。
【００５１】
なお、別の実施の形態として、ＰＯＳ端末１０１のＣＰＵ２０５が図７のステップＳ２０２に示す処理の代わりに、各種のエラーを記録するエラーログにベンダＩＤ及びプロダクトＩＤを含んだ通信エラー情報を出力するようにし、図８のステップＳ３０１に示す処理の代わりにエラーログの中からベンダＩＤ及びプロダクトＩＤとともに記録された通信エラーを抽出して集計し、所定回数以上カウントされたベンダＩＤ及びプロダクトＩＤの組合せのＵＳＢメモリ２０４ａを不適合ＵＳＢ記憶装置として取り扱うようにしてもよい。
【００５２】
また、別の実施の形態として、ＰＯＳ端末１０１のＣＰＵ２０５は、カウントテーブルＣＴに記憶した不適合デバイス候補情報２５２を、ＬＡＮネットワーク網２１１を介して上位機としてのストアコンピュータや本部サーバ（いずれも図示せず）に送信し、ストアコンピュータや本部サーバに送信された不適合デバイス候補情報２５２を収集して分析させ、新たに不適合ＵＳＢ記憶装置であると判断されたＵＳＢメモリ２０４ａの機種特定情報２１２を各店舗のＰＯＳ端末１０１に配信することも可能である。この場合、ＰＯＳ端末１０１では、配信された機種特定情報２１２を受信して、デバイス情報テーブルＤＴの内容を更新する。このようにすることで、ＰＯＳ端末１０１が運用されている複数の店舗で発生したＵＳＢメモリ２０４ａに対する通信エラーに関する情報を共有して、より確実にＰＯＳ端末１０１及びＵＳＢメモリ２０４ａの間に発生することが予想される通信エラーを未然に防ぐことができる。
【図面の簡単な説明】
【００５３】
【図１】ＰＯＳ端末の外観を示す斜視図である。
【図２】ＵＳＢメモリに格納されているデータの構成を示す模式図である。
【図３】ＰＯＳ端末のハードウェア構成を示すブロック図である。
【図４】デバイス情報テーブルのデータ構成を示す模式図である。
【図５】カウントテーブルのデータ構成を示す模式図である。
【図６】ＵＳＢメモリが装着された際にＰＯＳ端末で行われる処理の流れを示すフローチャートである。
【図７】ＵＳＢメモリとの通信でエラーが発生した際にＰＯＳ端末で行われる処理の流れを示すフローチャートである。
【図８】ＰＯＳ端末で行われる、機種別のエラー発生回数に基づいてデバイス情報テーブルを更新する処理の流れを示すフローチャートである。
【符号の説明】
【００５４】
１０１…ＰＯＳ端末（情報処理装置）、１０５…オペレータ用表示器（報知部）、１１４…ＵＳＢ装着部、２００…情報処理部、２０１…ＨＤＤ（記憶部）、２０４ａ…ＵＳＢメモリ（ＵＳＢ記憶装置）、２１２…機種特定情報、ＣＴ…カウントテーブル（カウント部）
【図１】
2009193358.tif 000003
【図２】
2009193358.tif 000004
【図３】
2009193358.tif 000005
【図４】
2009193358.tif 000006
【図５】
2009193358.tif 000007
【図６】
2009193358.tif 000008
【図７】
2009193358.tif 000009
【図８】
2009193358.tif 000010