JP2009193358A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2009193358A JP2009193358A JP2008033608A JP2008033608A JP2009193358A JP 2009193358 A JP2009193358 A JP 2009193358A JP 2008033608 A JP2008033608 A JP 2008033608A JP 2008033608 A JP2008033608 A JP 2008033608A JP 2009193358 A JP2009193358 A JP 2009193358A
- Authority
- JP
- Japan
- Prior art keywords
- information
- pos terminal
- storage device
- usb
- usb storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】情報処理装置及びUSB記憶装置の間に発生することが予想される通信エラーを未然に防ぐ。
【解決手段】USB記憶装置には、機種を特定する機種特定情報が記憶されている。また、記憶部には、通信エラーの発生が予想される不適合USB記憶装置の機種特定情報が記憶されている。情報処理装置の情報処理部は、情報処理装置のコネクタにUSB記憶装置が装着されていると判定した場合(ステップS101のY)、エニュメレーションを実行し(ステップS102)、その中で取得したUSB記憶装置の機種特定情報が記憶部に記憶されているかどうかを判定する(ステップS103)。記憶部に当該機種特定情報が記憶されていると判定した場合(ステップS103Y)、情報処理装置の情報処理部は、装着されているUSB記憶装置が不適合USB記憶装置であるとして、報知部に報知動作を行わせる(ステップS104)。
【選択図】図6
【解決手段】USB記憶装置には、機種を特定する機種特定情報が記憶されている。また、記憶部には、通信エラーの発生が予想される不適合USB記憶装置の機種特定情報が記憶されている。情報処理装置の情報処理部は、情報処理装置のコネクタにUSB記憶装置が装着されていると判定した場合(ステップS101のY)、エニュメレーションを実行し(ステップS102)、その中で取得したUSB記憶装置の機種特定情報が記憶部に記憶されているかどうかを判定する(ステップS103)。記憶部に当該機種特定情報が記憶されていると判定した場合(ステップS103Y)、情報処理装置の情報処理部は、装着されているUSB記憶装置が不適合USB記憶装置であるとして、報知部に報知動作を行わせる(ステップS104)。
【選択図】図6
Description
本発明は、USBメモリやUSB−HDDなどのUSB記憶装置の装着が可能な情報処理装置に関する。
従来、情報処理装置と各種の周辺機器とを接続してデータ通信を実現するための規格として、USB(Universal Serial Bus)が普及している。USBでは、情報処理装置の電源をオンにしたままの状態で、周辺機器の装着及び取り外しをして情報処理装置に周辺機器とのデータ通信を行わせることが可能になる。そこで、メンテナンス担当者が、POS端末、ECR機器、PC等の情報処理装置の修理やメンテナンスに用いるプログラムをUSBメモリ、USB−HDDなどのUSB記憶装置に記憶して店舗に赴き、店舗で運用中のPOS端末等にUSB記憶装置を装着してそのプログラムを起動して情報処理装置の修理やメンテナンスを行うという運用がなされている。
USB記憶装置には、製造業者や販売納品業者を特定するベンダIDと、製品の種類を特定するプロダクトIDと、を含むディスクリプタ情報が記憶保存されている(特許文献1の段落番号0002〜0005参照)。情報処理装置は、USB記憶装置の装着を確認すると、ディスクリプタ情報を読込み、USB記憶装置のバッファ領域に通信を行うためのアドレスを割り当て、ディスクリプタ情報に基づく各種設定(コンフィグレーション)を行うという一連の処理(エニュメレーション)を実行する。エニュメレーションの結果、情報処理装置は、USB記憶装置との通信に必要な情報を取得し、USB記憶装置との間に論理的な通信経路(パイプ)を確立する。その後、情報処理装置は、エニュメレーションによって取得したUSB記憶装置のベンダID及びプロダクトIDを用いてUSB記憶装置の機種を特定し、この機種のUSB記憶装置に適したドライバを読み込んで、アプリケーションプログラムを実行する中でのUSB記憶装置に対する通信を実現する。
従来のシリアルポートやパラレルポートと比較すると、USBの仕様は複雑である。そのため、情報処理装置がエニュメレーションを実行してUSB記憶装置との間に論理的な通信経路(パイプ)を確立したとしても、情報処理装置にインストールされているドライバに不備や曖昧な定義が存在し、情報処理装置がアプリケーションプログラムを実行する中でUSB記憶装置との間に通信エラーが発生する場合がある。このような通信エラーは、一般に、情報処理装置及びUSB記憶装置の間の「相性」の問題であると言われ、特定の情報処理装置及びUSB記憶装置の組合せによって高頻度で発生する。
本発明の目的は、情報処理装置及びUSB記憶装置の間に発生することが予想される通信エラーを未然に防ぐことである。
本願の発明者は、さまざまなUSB記憶装置を用いて、情報処理装置にUSB記憶装置を装着してデータ書込みやデータ読込みを繰り返し実行させデータ通信における情報処理装置の安定性を確認するエイジングテストを行った。このエイジングテストの中で、本願の発明者は、情報処理装置に装着されているUSB記憶装置のベンダID及びプロダクトIDが特定のものである場合に通信エラーが発生しやすいことを確認した。
本発明の情報処理装置は、情報処理を実行する情報処理部と、機種を特定する機種特定情報を記憶しているUSB記憶装置を装着するためのコネクタと、報知動作を行う報知部と、前記情報処理部が、前記コネクタに前記USB記憶装置が装着されていると判定した場合、当該USB記憶装置に記憶されている機種特定情報を取得する手段と、前記情報処理部が、通信エラーの発生が予想される不適合USB記憶装置の機種特定情報を記憶する記憶部にアクセスし、前記取得した機種特定情報と一致する機種特定情報が当該記憶部に記憶されていると判定した場合、前記報知部に対し報知動作を行わせるための報知信号を送信する手段と、を備える。
本発明によれば、通信エラーの発生が予想される不適合USB記憶装置がコネクタに装着された場合には報知部で報知動作が行われ、このUSB記憶装置及び情報処理装置の組合せでは通信エラーの発生が予想されることをユーザが早期に知ることができ、従って、情報処理装置及びUSB記憶装置の間に発生することが予想される通信エラーを未然に防ぐことができる。
本発明の実施の一形態を図1ないし図8に基づいて説明する。本実施の形態は、USBメモリを装着可能なPOS端末への適用例である。そして、本実施の形態では、メンテナンス担当者がPOS端末のメンテナンス用プログラムを記憶したUSBメモリをPOS端末に装着してメンテナンスを行う場合について紹介する。ここで、特許請求の範囲の各請求項における「USB記憶装置」は、本実施の形態におけるUSBメモリに相当する。なお、USB記憶装置としては、USBメモリの他にも、例えばUSB−HDDであってもよい。
図1は、POS端末101の外観を示す斜視図である。POS端末101は、ドロワ102の上に載置されており、ドロワ102の引出し103の開放動作を制御することができる。POS端末101の上面右側には入力部としてのキーボード104と、出力部としてのオペレータ用表示器105とが設けられている。キーボード104には、テンキー110が含まれている。POS端末101の上面左側にはレシートプリンタ106が配置されている。POS端末101の上面後方には、出力部及び報知部としての客用表示器107が立設されている。POS端末101の右側面近傍には、カード読取溝109が切られている。カード読取溝109は、ユーザがカードを挿入してカードリーダライタ108(図3参照)にカード情報の読み取り等を行わせるための溝である。POS端末101の背面には、入力部としてのポインティングデバイス111が接続されている。
POS端末101は、HDD201、磁気ディスクドライブ(FDD)202、CD−ROMドライブ203、USBポート204を備えている(いずれも図3参照)。そこで、オペレータから見てPOS端末101の右側面には、磁気ディスク202a(図3参照)を装着するための磁気ディスクスロット112、CD−ROM203a(図3参照)を装着するためのCD−ROMトレイ113、USBメモリ204aを装着するためのUSB装着部114がそれぞれ設けられている。USB装着部114は、USBメモリ204aの着脱を許容するコネクタとしての役割を果たす。なお、図1に示す例では、POS端末101にはUSB装着部114が一つ設けられているが、USB装着部114は複数設けられていても構わない。
図2は、USBメモリ204aに格納されているデータの構成を示す模式図である。USBメモリ204aは、フラッシュメモリや小型ハードディスクドライブなどの不揮発性の記憶媒体を主体として構成されている。USBメモリ204aは、ディスクリプタ領域204aaと、データ領域204abとを備えている(図2(a))。データ領域204abには、アプリケーションプログラム204ad及びデータ204aeが格納されている。データ領域204abに格納されるアプリケーションプログラム204adには、POS端末101の修理やメンテナンスの際に行うメンテナンス担当者の作業を支援するメンテナンス用プログラムが含まれている。POS端末101のCPU205は、オペレーティングシステムOSを起動した状態で、USBメモリ204aからアプリケーションプログラム204adの全部又は一部をRAM207に読込み、このアプリケーションプログラム204adの記述に従って処理を実行する。また、データ領域204abに格納されるデータ204aeは、アプリケーションプログラム204adに用いられる作業用データの他、汎用のソフトウェアで作成された各種の文書や画像を示すものである。
ディスクリプタ領域204aaについて、図2(b)に基づいて説明する。ディスクリプタ領域204aaは、ディスクリプタ情報204acを格納している。ディスクリプタ情報204acは、USBメモリ204aの特性をPOS端末101に正しく認識させるための情報群であり、デバイスディスクリプタ204af、コンフィグレーションディスクリプタ204ag、インタフェイスディスクリプタ204ah、エンドポイントディスクリプタ204aiを含んでいる。
デバイスディスクリプタ204afは、USB規格に対応している周辺機器には必ず備わっており、ベンダIDやプロダクトIDを含むUSBメモリ204a全体に関する情報を格納している。ベンダIDは、企業や会社毎に発行される、製造業者や販売納品業者を特定するコード情報である。プロダクトIDは、ベンダIDを持つ企業や会社によって機種毎に重複しないよう割り振られている、製品の種類を特定するコード情報である。この、ベンダID及びプロダクトIDを組合せることによって、USB記憶装置の機種を特定することができる。ここに、ベンダID及びプロダクトIDは、USB記憶装置の機種を特定する機種特定情報212を構成する。その他のコンフィグレーションディスクリプタ204ag、インタフェイスディスクリプタ204ahなどの各ディスクリプタ情報204acについては、その内容は周知のものであるため、説明を省略する。
また、USBメモリ204aには、POS端末101をはじめとする情報処理装置との通信内容を一時的に記憶保持する、エンドポイントと呼ばれるバッファ領域(図示せず)が複数確保されている。
図3は、POS端末101のハードウェア構成を示すブロック図である。POS端末101は、各種情報処理を実行するCPU205と、固定データを記憶保存しているROM206と、可変データを書き換え自在に記憶しワークエリアとして利用されるRAM207とを備えている。RAM207には、USBメモリ204aのバッファ領域(エンドポイント)とともにパイプ(後述)を構成するバッファ領域(図示せず)が確保されている。CPU205、ROM206及びRAM207は、マザーボード209に搭載されている。CPU205は、ROM206及びRAM207のそれぞれとデータ通信自在となっており、情報処理を実行する情報処理部200を構成する。
CPU205は、HDD201、磁気ディスクドライブ202、CD−ROMドライブ203及びUSBポート204とバス接続している。USBポート204は、USB装着部114を構成する。また、CPU205は、ドロワ102、キーボード104、オペレータ用表示器105、レシートプリンタ106、客用表示器107、カードリーダライタ108、ポインティングデバイス111と、入出力回路(図示せず)を介してバス接続している。CPU205は、入出力回路(図示せず)を制御して各部を駆動制御する。さらに、POS端末101は、当該POS端末101が設置される店舗に設けられるLANネットワーク網211等に接続するための通信インタフェイス210を備えている。この通信インタフェイス210も、CPU205にバス接続されている。
HDD201は、オペレーティングシステムOS、ドライバDP、アプリケーションプログラムAPなどの各種プログラム、デバイス情報テーブルDT(図4も参照)、カウントテーブルCT(図5も参照)、及び、各種のデータ(図示せず)を記憶しており、記憶部としての役割を果たす。
オペレーティングシステムOSは、様々なアプリケーションプログラムAPに共通するデータ入出力などの基本的な機能を提供するプログラムであり、POS端末101の起動時にCPU205が実行する処理によってその全部又は一部がRAM207に読み込まれる。本実施の形態のPOS端末101では、オペレーティングシステムOSによって、プラグアンドプレイ機能が実現される。プラグアンドプレイ機能は、ユーザが手動で設定作業を行うことなく、POS端末101に周辺機器が装着されるとともにPOS端末101が周辺機器の種類を認識して使用可能な状態にする機能である。プラグアンドプレイ機能を実現するにあたって、CPU205は、オペレーティングシステムOSの記述に従って、POS端末101に対する周辺機器の装着を監視し、周辺機器の装着を確認した場合、その周辺機器に対応するドライバDPの全部又は一部をRAM207に読み込む。
ドライバDPは、POS端末101に装着されている周辺機器を動作させるための機能を提供するプログラムである。ドライバDPは、CPU205がオペレーティングシステムOSに従った処理を実行する中で、その全部又は一部がRAM207に読み込まれる。
ここで、プラグアンドプレイ機能によって、POS端末101にUSBメモリ204aが装着されてからUSBメモリ204aが使用可能になるまでの流れについて説明する。CPU205は、プラグアンドプレイ機能に従って、USBポート204の入出力回路(図示せず)を監視している。USB装着部114にUSBメモリ204aが装着されてUSBポート204にUSBメモリ204aが電気的に接続されたことを判定すると、CPU205は、USBメモリ204aに備わる所定のバッファ領域(エンドポイント0)を介したUSBメモリ204aに対する通信(コントロール通信)を行い、USBメモリ204aからディスクリプタ情報204acを取得する。続いて、CPU205は、取得したディスクリプタ情報204acに含まれるUSBメモリ204aのバッファ構成や転送モードの設定事項などの各種情報に基づいて、USBメモリ204aのエンドポイント0以外のバッファ領域に対し1〜127の間の値のアドレスを割り当てて、RAM207に確保されたバッファ領域とUSBメモリ204aに備わるバッファ領域とをつなぐ論理的な通信経路(パイプ)を確立する。なお、CPU205がUSBメモリ204aに対しコントロール通信を実行してからパイプを確立するまでの処理は、一般に、エニュメレーションと呼ばれる。
パイプを確立した後、CPU205は、USBメモリ204aのディスクリプタ情報204acに含まれているベンダID及びプロダクトIDを基に、装着されたUSBメモリ204aに適したドライバDPをHDD201から検索し、検索したドライバDPの全部又は一部をRAM207に読み込む処理を実行する。装着されたUSBメモリ204aに適したドライバDPを発見できない場合、CPU205は、インターネットを介して接続するWEBサーバ(図示せず)から装着されたUSBメモリ204aに適したドライバDPをダウンロードするなどのドライバDPを入手する処理を実行し、続いてそのドライバDPを読み込む処理を実行する。RAM207に読み込まれたドライバDPは、CPU205が実行しているアプリケーションプログラムAPの中で行われるUSBメモリ204aに対する通信の内容をオペレーティングシステムOSに受け渡し、パイプを介してUSBメモリ204aに通信できるように変換するプロトコルとして機能する。変換された通信内容は、オペレーティングシステムOSによる処理によってパイプを経由してUSBメモリ204aに送信される。
上記の一連の処理によって、CPU205がアプリケーションプログラムAPに従った処理を実行する中でのUSBメモリ204aに対する通信が実現される。なお、このようなプラグアンドプレイ機能を実現する一連の処理は、オペレーティングシステムOSに予め記述されている。さらに、オペレーティングシステムOSには、コントロール通信からパイプの確立までの処理の内容が、USB記憶装置に対するプラグアンドプレイ機能の特有の処理として記述されている。
図3に基づく説明に戻る。アプリケーションプログラムAPには、CPU205に実行させる各種の処理内容が記述されている。本実施の形態のアプリケーションプログラムAPには、POS端末101で実行される商品販売データ処理の処理内容を記述した商品販売データ処理用プログラムが含まれている。CPU205は、オペレーティングシステムOSに従った処理を実行する中で、自動的に又はキーボード104等からの操作入力をトリガとして、商品販売データ処理用プログラムの全部又は一部をRAM207にコピーし、その記述内容に従った処理を実行する。
また、本実施の形態のアプリケーションプログラムAPには、上記のUSB記憶装置に特有のプラグアンドプレイ機能の一部を変更する処理内容を記述したプログラム(図6参照)、及び、デバイス情報テーブルDTの内容を更新するための処理内容を記述したプログラム(図7及び図8)も含まれている。
図4は、デバイス情報テーブルDTのデータ構成を示す模式図である。デバイス情報テーブルDTは、不適合デバイス特定情報251を書き換え自在に記憶可能な構造を有している。このデバイス情報テーブルDTに記憶される不適合デバイス特定情報251は、POS端末101がUSB装着部114に装着されたUSBメモリ204aとデータ通信を行う際に通信エラーが発生することが予想されるものであるか否かの判定に用いられる。この判定に関する処理の詳細は、図6に基づいて後述する。
不適合デバイス特定情報251は、少なくとも、ベンダID及びプロダクトIDを含んで構成されている。この不適合デバイス特定情報251は、ベンダID及びプロダクトID以外にも、クラスを特定する情報、サブクラスを特定する情報、プロトコルを特定する情報などの各種の情報を含んでいても良い。
デバイス情報テーブルDTに格納される不適合デバイス特定情報251は、一例として、以下に示すエイジングテストによって決定される。このエイジングテストは、POS端末101の開発段階で行われる試験であり、POS端末101を運用する上で不利な条件の下でも、安定した動作をするか否かを確かめるものである。本実施の形態の場合、様々な機種のUSB記憶装置を用意し、POS端末101のUSB装着部114にUSB記憶装置を装着した状態で、USB記憶装置に対しデータ書込みやデータ読込みを繰り返す処理をPOS端末101に実行させる。データ書込みやデータ読込みの過程で所定の割合以上通信エラーが発生し、試験者がこのPOS端末101及びUSB記憶装置の組合せでは今後も通信エラーが発生すると判断した場合、このUSB記憶装置をPOS端末101に対して不適合なUSB記憶装置であるとすることができる。そして、POS端末101の製造者は、POS端末101に対して不適合であると判断されたUSB記憶装置のディスクリプタ情報に格納されているUSBメモリ204aのディスクリプタ領域204aaに記憶されているベンダID及びプロダクトIDを、不適合デバイス特定情報251としてデバイス情報テーブルDTに記憶して、POS端末101を出荷する。
なお、上記のエイジングテストによらず、試験者や製造者は、既知の各種の情報を基に独自に不適合デバイス特定情報251の内容を定めてデバイス情報テーブルDTに記憶しても良い。
また、デバイス情報テーブルDTに格納されている不適合デバイス特定情報251は、POS端末101の出荷後にも書き換え更新することができる。一例として、USBメモリ204aに新たなデバイス情報テーブルDTと、この新たなデバイス情報テーブルDTをPOS端末101のHDD201に書き換え更新するための更新プログラムとを記憶しておき、このUSBメモリ204aをPOS端末101に装着してPOS端末101から更新プログラムを実行するようにしてもよい。別の一例として、POS端末101がLANネットワーク網211を介して接続している上位機としてのストアコントローラや本部サーバ(いずれも図示せず)からデバイス情報テーブルDTを更新するための更新プログラムをPOS端末101に送信し、POS端末101のCPU205が受信した更新プログラムを実行するようにしてもよい。さらに別の一例として、POS端末101のCPU205が実行する図7に示す処理を実行して、POS端末101で行われたUSB記憶装置に対する通信において発生した通信エラーの回数を機種別にカウントしておき、その後に、図8に示す処理を実行して、この通信エラーの発生回数が所定回数以上になったUSB記憶装置の機種特定情報をデバイス情報テーブルDTに不適合デバイス特定情報251として追加記憶するようにしてもよい。
図5は、カウントテーブルCTのデータ構成を示す模式図である。カウントテーブルCTは、不適合デバイス候補情報252を書き換え自在に記憶可能な構造を有している。 不適合デバイス候補情報252は、ベンダID、プロダクトID及びエラー発生回数を含んで構成されている。この不適合デバイス候補情報252は、POS端末101がUSB装着部114に装着されたUSBメモリ204aに対する通信の際に発生した通信エラーの発生回数をUSBメモリ204aの機種別にカウントする処理(図7参照)を実行する際に用いられる。
図6は、USBメモリ204aが装着された際にPOS端末101で行われる処理の流れを示すフローチャートである。図6に示す処理は、オペレーティングシステムOSが提供するUSB記憶装置についてのプラグアンドプレイ機能を実現する処理(ステップS101、ステップS102及びステップS105)を主体に構成されている。そして、図6に示す処理のうちステップS103及びステップS104の処理は、HDD201のアプリケーションプログラムAPに記載されている処理である。CPU205は、オペレーティングシステムOSの起動時にステップS102及びステップS105の間にステップS103による分岐処理を挿入するようRAM207上に展開したプラグアンドプレイ機能を実現するプログラムの内容を書き換え、ステップS103における分岐によってステップS104に示す処理が実行されるようにする。このプラグアンドプレイ機能を実現するプログラムを書き換える処理は、オペレーティングシステムOSの起動時でなくても、ユーザがPOS端末101のキーボード104やポインティングデバイス111による操作命令に応じて実行されるようにしてもよい。
POS端末101のCPU205は、プラグアンドプレイ機能によって、POS端末101にUSBメモリ204aが装着されたかどうかを判定している。CPU205は、USB装着部114にUSBメモリ204aが装着されたことを判定した場合(ステップS101のY)、USB記憶装置に対する特有のプラグアンドプレイ機能によって、エニュメレーションを実行してUSBメモリ204aとの通信に必要なすべての情報を取得する(ステップS102)。エニュメレーションにおいて、POS端末101のCPU205は、USBメモリ204aからディスクリプタ情報204acに含まれる設定に関する情報を読込んでRAM207に一時的に記憶し、この取得した各種設定項目に基づいて論理的な通信経路(パイプ)を形成する。ここで重要なのは、POS端末101のCPU205は、エニュメレーション(ステップS102)において、USBメモリ204aから機種を特定する機種特定情報212となるベンダID及びプロダクトIDを取得するということである。
ステップS102に続く処理として、POS端末101のCPU205は、HDD201にアクセスして、デバイス情報テーブルDTに記憶されている不適合デバイス特定情報251の中に、ステップS102で取得した機種特定情報212(ベンダID及びプロダクトID)が記憶されているかどうかを判定する(ステップS103)。より詳細には、POS端末101のCPU205は、デバイス情報テーブルDTの先頭レコードから順に不適合デバイス特定情報251を抽出し、不適合デバイス特定情報251に含まれるベンダID及びプロダクトIDの組合せと、USBメモリ204aから取得した機種特定情報212を構成するベンダID及びプロダクトIDの組合せとの一致不一致を確認する。一致するものが存在することを確認した場合、POS端末101のCPU205は、POS端末101に装着されたUSBメモリ204aを、このPOS端末101には適さない不適合USB記憶装置であると判定する。
ステップS103において、USBメモリ204aが不適合USB記憶装置であると判定した場合(ステップS103のY)、POS端末101のCPU205は、報知処理を実行する(ステップS104)。報知処理は、報知部に対し報知動作を行わせるための報知信号を送信する処理である。報知部の報知動作によって、ユーザは、USB装着部114に装着されたUSBメモリ204aに対するデータ書込みやデータ読込みをPOS端末101から行うと通信エラーが発生する可能性があることを知ることができる。この報知処理の一例として、POS端末101のCPU205は、オペレータ用表示器105に対し、「このUSB記憶装置にデータ書込み/読込みを行うと、通信エラーが発生するおそれがあります。」という警告メッセージの情報を含む報知信号を送信する。その結果、オペレータ用表示器105には、上記の警告メッセージが表示される。別の一例として、POS端末101のCPU205は、ブザー回路(図示せず)に対し、報知信号として所定の警告音を発生させるための制御信号を送信するようにしてもよい。さらに別の一例として、POS端末101のCPU205は、LEDランプ(図示せず)に対し点灯させるための制御信号を報知信号として送信するようにしてもよい。すなわち、上記のオペレータ用表示器105、ブザー回路(図示せず)、LED(図示せず)及びこれらの入出力回路(図示せず)は、報知動作を行う報知部としての役割を果たす。
ステップS104(報知処理)を実行した後、POS端末101のCPU205は、一連の処理を終了する。
一方、ステップS103において、USBメモリ204aが不適合USB記憶装置であるとは判定しなかった場合(ステップS103のN)、POS端末101のCPU205は、プラグアンドプレイ機能によって、取得したUSBメモリ204aのベンダID及びプロダクトIDに適したドライバDPをHDD201から探し、そのドライバDPの全部又は一部をRAM207に読み込んで実行し、アプリケーションプログラムAPに従った処理を実行する際のUSBメモリ204aに対する通信を実現する(ステップS105)。ステップS105の処理を実行した後、POS端末101のCPU205は、一連の処理を終了する。
図7は、USBメモリ204aとの通信でエラーが発生した際にPOS端末101で行われる処理の流れを示すフローチャートである。図7に基づく説明の前提として、USBメモリ204aはUSB装着部114に装着されてエニュメレーション(図6のステップS102)が行われ、USB装着部114に装着されたUSBメモリ204aの機種特定情報212(ベンダID及びプロダクトID)がRAM207に記憶されているものとする。
図7に示す処理の内容は、HDD201に格納されているアプリケーションプログラムAPに含まれている。POS端末101のCPU205は、オペレーティングシステムOSの起動時に、アプリケーションプログラムAPをHDD201から読み込んでその全部又は一部をRAM207に展開し、図7に示す処理を実行する。なお、ユーザがPOS端末101のキーボード104やポインティングデバイス111から処理開始命令を入力した際に同様にしてRAM207に処理内容を展開して図7に示す処理を実行するようにしてもよい。
POS端末101のCPU205は、図7に示す処理を開始し、USBメモリ204aとの間の通信エラーを監視している(ステップS201)。USBメモリ204aとの間の通信エラーを検出した場合(ステップS201のY)、CPU205は、カウントテーブルCTに対して、RAM207に記憶しているベンダID及びプロダクトIDに対応付けて、通信エラーが発生した旨を記憶する(ステップS202)。ステップS202の処理の一例として、POS端末101のCPU205は、カウントテーブルCTに格納されている不適合デバイス候補情報252から、RAM207に記憶されているベンダID及びプロダクトIDの両方と一致する不適合デバイス候補情報252を探し出し、その不適合デバイス候補情報252に含まれるエラー発生回数の情報をインクリメントする。ここで、RAM207に記憶しているベンダID及びプロダクトIDの両方と一致する不適合デバイス候補情報252を発見できなかった場合には、POS端末101のCPU205は、カウントテーブルCTの最後尾に、当該ベンダID、当該プロダクトID及びエラー発生回数「1」から構成されるレコードを追加する。ステップS202の処理を実行した後、POS端末101のCPU205は一連の処理を終了する。
図8は、POS端末101で行われる、機種別のエラー発生回数に基づいてデバイス情報テーブルDTを更新する処理の流れを示すフローチャートである。図8に示す処理の内容は、HDD201に格納されているアプリケーションプログラムAPに含まれている。POS端末101のCPU205は、オペレーティングシステムOSの起動時に、アプリケーションプログラムAPをHDD201から読み込んでその全部又は一部をRAM207に展開する。なお、CPU205は、ユーザがPOS端末101のキーボード104やポインティングデバイス111から処理開始命令を入力した際に同様にしてRAM207に処理内容を展開するようにしてもよい。
POS端末101のCPU205は、RAM207に展開されている処理内容に従った図8に示す処理を所定周期で開始する。なお、POS端末101のCPU205が図8に示す処理は、POS端末101の起動時やシャットダウン時に開始されるようにしてもよいし、また、キーボード104やポインティングデバイス111から入力される処理開始命令に応じて開始されるようにしてもよい。
POS端末101のCPU205は、まず、カウントテーブルCTを参照して、カウントテーブルCTから通信エラーの発生回数が所定回数以上である不適合デバイス候補情報252を抽出する(ステップS301)。不適合デバイス候補情報252を抽出するための判断基準となる通信エラーの発生回数は、例えば、5回以上である。
続く処理として、POS端末101のCPU205は、ステップS301で抽出した不適合デバイス候補情報252に含まれるベンダID及びプロダクトIDをデバイス情報テーブルDTに追加記憶する(ステップS302)。
ステップS302に示す処理を実行した後、POS端末101のCPU205は一連の処理を終了する。なお、一連の処理を終了する前に、POS端末101のCPU205は、カウントテーブルCTに記憶されている不適合デバイス候補情報252のうち、抽出した不適合デバイス候補情報252を消去するようにしてもよい。
このような構成を備える本実施の形態のPOS端末101を用いて、ユーザ(例えば、メンテナンス担当者)は、修理やメンテナンスを行うためのメンテナンス用プログラムをUSBメモリ204aに格納して店舗に赴き、このUSBメモリ204aをPOS端末101のUSB装着部114に装着してPOS端末101上でこのアプリケーションプログラム204adを起動し、POS端末101を再起動することなくPOS端末101の修理やメンテナンスを実行することができる。そして、POS端末101に装着したUSBメモリ204aが、そのPOS端末101との間で通信エラーが発生するおそれがあるものである場合、報知部による報知動作(例えば、オペレータ用表示器105への警告メッセージの表示)が行われる。ユーザ(メンテナンス担当者)は、このような報知動作によって、このUSBメモリ204aではデータ書込みやデータ読込みの途中で通信エラーが発生し、POS端末101の修理履歴データや持ち帰って分析する分析対象データなどの各種データをUSBメモリ204aに記憶保存できないおそれがあることを早期に認識することができる。
また、本実施の形態のPOS端末101では、USBメモリ204aに対するデータ書込みやデータ読込みの過程で通信エラーが発生した回数がベンダID及びプロダクトIDと対応付けて記憶される。そして、所定回数以上通信エラーが発生した機種については、デバイス情報テーブルDTに不適合デバイス特定情報251としてそのベンダID及びプロダクトIDが記憶される。図5に示す例において、POS端末101のCPU205が図8に示す処理を実行して、エラー発生回数が5回以上であるUSBメモリ204aを不適合USB記憶装置であると判定するようにした場合には、ベンダIDが「WWW」であってプロダクトIDが「9999」であるUSBメモリ204aが不適合USB記憶装置であると判定され、デバイス情報テーブルDTに不適合デバイス特定情報251として、ベンダID=「WWW」及びプロダクトID=「9999」が対応付けて記憶される。その結果、ベンダID=「WWW」及びプロダクトID=「9999」である機種のUSBメモリ204aがPOS端末101に装着された場合、オペレータ用表示器105では、例えば、報知部による報知動作(例えば、上記のような警告メッセージ表示)が行われる。
このように、本実施の形態のPOS端末101によれば、通信エラーの発生が予想される不適合USB記憶装置であるUSBメモリ204aがUSB装着部114に装着された場合には報知部で報知動作が行われ、このUSBメモリ204a及びPOS端末101の組合せでは通信エラーの発生が予想されることをユーザ(メンテナンス担当者)が早期に知ることができ、従って、POS端末101及びUSBメモリ204aの間に発生することが予想される通信エラーを未然に防ぐことができる。
また、本実施の形態のPOS端末101によれば、USBメモリ204aに対する通信エラーの発生回数が機種別にカウントされ、所定回数以上通信エラーが発生した機種の機種特定情報212がデバイス情報テーブルDTに記憶されるため、POS端末101の製造時では不適合USB記憶装置であると判断されなかったUSBメモリ204aについても、POS端末101及びUSBメモリ204aの間に発生することが予想される通信エラーを未然に防ぐことができる。
なお、別の実施の形態として、POS端末101のCPU205が図7のステップS202に示す処理の代わりに、各種のエラーを記録するエラーログにベンダID及びプロダクトIDを含んだ通信エラー情報を出力するようにし、図8のステップS301に示す処理の代わりにエラーログの中からベンダID及びプロダクトIDとともに記録された通信エラーを抽出して集計し、所定回数以上カウントされたベンダID及びプロダクトIDの組合せのUSBメモリ204aを不適合USB記憶装置として取り扱うようにしてもよい。
また、別の実施の形態として、POS端末101のCPU205は、カウントテーブルCTに記憶した不適合デバイス候補情報252を、LANネットワーク網211を介して上位機としてのストアコンピュータや本部サーバ(いずれも図示せず)に送信し、ストアコンピュータや本部サーバに送信された不適合デバイス候補情報252を収集して分析させ、新たに不適合USB記憶装置であると判断されたUSBメモリ204aの機種特定情報212を各店舗のPOS端末101に配信することも可能である。この場合、POS端末101では、配信された機種特定情報212を受信して、デバイス情報テーブルDTの内容を更新する。このようにすることで、POS端末101が運用されている複数の店舗で発生したUSBメモリ204aに対する通信エラーに関する情報を共有して、より確実にPOS端末101及びUSBメモリ204aの間に発生することが予想される通信エラーを未然に防ぐことができる。
101…POS端末(情報処理装置)、105…オペレータ用表示器(報知部)、114…USB装着部、200…情報処理部、201…HDD(記憶部)、204a…USBメモリ(USB記憶装置)、212…機種特定情報、CT…カウントテーブル(カウント部)
Claims (3)
- 情報処理を実行する情報処理部と、
機種を特定する機種特定情報を記憶しているUSB記憶装置を装着するためのコネクタと、
報知動作を行う報知部と、
前記情報処理部が、前記コネクタに前記USB記憶装置が装着されていると判定した場合、当該USB記憶装置に記憶されている機種特定情報を取得する手段と、
前記情報処理部が、通信エラーの発生が予想される不適合USB記憶装置の機種特定情報を記憶する記憶部にアクセスし、前記取得した機種特定情報と一致する機種特定情報が当該記憶部に記憶されていると判定した場合、前記報知部に対し報知動作を行わせるための報知信号を送信する手段と、
を備える情報処理装置。 - 前記情報処理部が、前記コネクタに装着されているUSB記憶装置に対する通信エラーを検出し当該通信エラーの発生回数を機種別にカウントする手段と、
前記情報処理部が、前記カウントした通信エラーの発生回数が所定回数以上になったUSB記憶装置の機種の機種特定情報を前記記憶部に記憶する手段と、
を備える請求項1記載の情報処理装置。 - 前記機種特定情報は、ベンダID及びプロダクトIDを含む、請求項1又は2記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008033608A JP2009193358A (ja) | 2008-02-14 | 2008-02-14 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008033608A JP2009193358A (ja) | 2008-02-14 | 2008-02-14 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009193358A true JP2009193358A (ja) | 2009-08-27 |
Family
ID=41075308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008033608A Pending JP2009193358A (ja) | 2008-02-14 | 2008-02-14 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009193358A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012093926A (ja) * | 2010-10-27 | 2012-05-17 | Alpine Electronics Inc | 通信速度制御装置および通信速度制御方法 |
US8190798B1 (en) * | 2011-03-09 | 2012-05-29 | Apple Inc. | Client device configuration based on information stored by host device |
JP2015207208A (ja) * | 2014-04-22 | 2015-11-19 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
JP2022158860A (ja) * | 2021-03-31 | 2022-10-17 | 瑞▲いー▼半導體股▲ふん▼有限公司 | 音声制御回路、ホスト装置及び関連する制御方法 |
US11647143B2 (en) | 2021-07-26 | 2023-05-09 | Seiko Epson Corporation | Print control device, print control method, and print control program |
-
2008
- 2008-02-14 JP JP2008033608A patent/JP2009193358A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012093926A (ja) * | 2010-10-27 | 2012-05-17 | Alpine Electronics Inc | 通信速度制御装置および通信速度制御方法 |
US8578065B2 (en) | 2010-10-27 | 2013-11-05 | Alpine Electronics, Inc. | Communication speed control apparatus and communication speed control method |
US8190798B1 (en) * | 2011-03-09 | 2012-05-29 | Apple Inc. | Client device configuration based on information stored by host device |
US8943232B2 (en) | 2011-03-09 | 2015-01-27 | Apple Inc. | System method for enumerating client devices embedded in a user device during reboot, wake up or restart of user device |
JP2015207208A (ja) * | 2014-04-22 | 2015-11-19 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
JP2022158860A (ja) * | 2021-03-31 | 2022-10-17 | 瑞▲いー▼半導體股▲ふん▼有限公司 | 音声制御回路、ホスト装置及び関連する制御方法 |
JP7300493B2 (ja) | 2021-03-31 | 2023-06-29 | 瑞▲いー▼半導體股▲ふん▼有限公司 | 音声制御回路、ホスト装置及び関連する制御方法 |
US11861260B2 (en) | 2021-03-31 | 2024-01-02 | Realtek Semiconductor Corp. | Audio control circuit, host device and associated control method |
US11647143B2 (en) | 2021-07-26 | 2023-05-09 | Seiko Epson Corporation | Print control device, print control method, and print control program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI578233B (zh) | 統一韌體管理系統、非揮發電腦可讀取媒體以及統一韌體管理方法 | |
US8132055B2 (en) | Operating system-firmware interface update recovery | |
TWI450103B (zh) | 伺服器之遠端管理系統及方法,及其電腦程式產品 | |
JP2018128790A (ja) | 情報処理装置、プログラム、インストール方法 | |
WO2018076792A1 (zh) | 一种arm设备中磁盘管理的方法、装置和arm设备 | |
US20090013335A1 (en) | Sensor process management methods and systems | |
JP2010152704A (ja) | 計算機システムの運用管理システム及び管理方法 | |
JP5413514B2 (ja) | 管理装置、情報処理装置、制御方法及びプログラム | |
TWI261748B (en) | Policy-based response to system errors occurring during OS runtime | |
US20170286097A1 (en) | Method to prevent operating system digital product key activation failures | |
JPWO2012117556A1 (ja) | 情報処理装置及び情報処理装置制御方法 | |
JP2009193358A (ja) | 情報処理装置 | |
CN114995860B (zh) | 图形处理器固件升级的方法和图形处理器 | |
CN107450953B (zh) | 一种更新bios的方法及装置 | |
JP2007183837A (ja) | 環境設定プログラム、環境設定システムおよび環境設定方法 | |
US20070294430A1 (en) | Generating a device address persistent across different instantiations of an electronic device | |
TWI553490B (zh) | 遠端系統配置管理方法、遠端系統配置管理系統及非暫態電腦可讀式儲存多媒體 | |
TWI501090B (zh) | 伺服器系統與節點偵測方法 | |
US20060026415A1 (en) | Method of updating a portion BIOS | |
TW201250677A (en) | Burning method | |
US20100121909A1 (en) | Storage apparatus and on-line client service system, software and method thereof | |
JP2006079155A (ja) | 情報処理装置 | |
JP6331505B2 (ja) | 起動制御装置、起動制御方法、及び起動制御プログラム | |
US8001313B2 (en) | Insertion and removal of computing cards in server I/O slots | |
TWI480799B (zh) | 嵌入式系統之韌體更新方法及設備 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20091030 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100202 |