(57)【要約】【課題】制御ドライバの処理待ち状態の発生確率を低減する。【解決手段】周辺機器に接続され、ＯＳを備えたコンピュータが実行する周辺機器制御障害回避方法であって、周辺機器を制御する制御ドライバのエラー状態を検出する検出過程（Ｓ２２）と、エラー状態が検出された場合に、復旧処理を行う復旧処理過程（Ｓ３０）とを前記コンピュータが実行し、復旧処理過程は、ＯＳに再起動（Ｓ１６）を実行させる。このエラー状態は、制御ドライバ（ＴＷＡＩＮドライバ）よりも先に起動した制御モジュール（ＷＩＡモジュール）がフリーズし、制御ドライバが処理待ち状態になることにより発生する。【選択図】図５
2015102989.tif 000002
【特許請求の範囲】
【請求項１】
周辺機器に接続され、ＯＳを備えたコンピュータが実行する周辺機器制御障害回避方法であって、
前記周辺機器を制御する制御ドライバのエラー状態を検出する検出過程と、
前記エラー状態が検出された場合に、復旧処理を行う復旧処理過程とを前記コンピュータが実行し、
前記復旧処理過程は、前記ＯＳに再起動を実行させることを特徴とする周辺機器制御障害回避方法。
【請求項２】
周辺機器に接続され、ＯＳを備えたコンピュータが実行する周辺機器制御障害回避方法であって、
前記周辺機器を制御する制御ドライバのエラー状態を検出する検出過程と、
前記エラー状態が検出された場合に、復旧処理を行う復旧処理過程とを前記コンピュータが実行し、
前記復旧処理過程は、前記エラー状態の発生が所定回数未満のときに、前記ＯＳに再起動を実行させ、前記所定回数以上のときに前記周辺機器の再起動のための復旧処理を行う
ことを特徴とする周辺機器制御障害回避方法。
【請求項３】
請求項１又は請求項２に記載の周辺機器制御障害回避方法であって、
前記コンピュータは、前記周辺機器を制御する制御モジュールが常駐するものであり、
前記エラー状態は、前記制御ドライバよりも先に起動した前記制御モジュールがフリーズし、前記制御ドライバが処理待ち状態になることにより発生することを特徴とする周辺機器制御障害回避方法。
【請求項４】
請求項１乃至請求項３の何れか一項に記載の周辺機器制御障害回避方法であって、
前記ＯＳに再起動を実行させる前に、該再起動の実行を確認させる再起動画面を表示部に表示させることを特徴とする周辺機器制御障害回避方法。
【請求項５】
請求項２に記載の周辺機器制御障害回避方法であって、
前記周辺機器の再起動のための復旧処理は、前記周辺機器の再起動を依頼する旨の指示メッセージを表示部に表示させることであることを特徴とする周辺機器制御障害回避方法。
【請求項６】
請求項２に記載の周辺機器制御障害回避方法であって、
前記周辺機器の再起動のための復旧処理は、再起動命令を前記周辺機器に送信することである
ことを特徴とする周辺機器制御障害回避方法。
【請求項７】
請求項１乃至請求項６の何れか一項に記載の周辺機器制御障害回避方法を前記コンピュータに実行させることを特徴とする周辺機器制御障害回避プログラム。
【請求項８】
請求項７に記載の周辺機器制御障害回避プログラムであって、
前記ＯＳのスタートアップフォルダから起動するものであり、
前記検出過程は、前記制御モジュール、及び前記制御ドライバが予め起動してから実行されることを特徴とする周辺機器制御障害回避プログラム。
【請求項９】
処理装置本体に接続された周辺機器の制御状態を検出する検出部と、
前記周辺機器の制御がエラー状態であることを検出すると復旧処理を行う復旧処理部とを備え、
前記復旧処理部は、前記周辺機器がエラー状態の場合に、前記周辺機器が接続された処理装置本体の再起動を実行する処理装置。
【請求項１０】
処理装置本体に接続された周辺機器の制御状態を検出する検出部と、
前記周辺機器の制御がエラー状態であることを検出すると復旧処理を行う復旧処理部とを備え、
前記復旧処理部は、当該エラーが所定回数未満のときは処理装置本体の再起動を行い、前記所定回数以上のときに前記周辺機器の再起動のための処理を行う
ことを特徴とする処理装置。
【請求項１１】
請求項１０に記載の処理装置であって、
前記周辺機器の復旧処理は、前記周辺機器の再起動を依頼する旨の指示メッセージを表示部に表示させることを特徴とする処理装置。
【請求項１２】
請求項１０に記載の処理装置であって、
前記周辺機器の復旧処理は、再起動命令を前記周辺機器に送信することを特徴とする処理装置。
【請求項１３】
周辺機器と該周辺機器に接続された処理装置とを備えた処理システムであって、
前記処理装置は、
前記周辺機器の制御状態を検出する検出部と、
前記周辺機器の制御がエラー状態であることを検出すると復旧処理を行う復旧処理部とを備え、
前記復旧処理部は、当該エラーが所定回数未満のときは処理装置本体の再起動を行い、前記所定回数以上のときに前記周辺機器の再起動のための処理を行う
ことを特徴とする処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺機器制御障害回避方法、周辺機器制御障害回避プログラム、処理装置、及び処理システムに関し、特に、ＯＳ起動時の周辺機器の死活状態をチェックする技術に関する。
【背景技術】
【０００２】
銀行や郵便局等の金融機関では、顧客は、現金の預け入れや、引き出し、振込等の取引を行うために、該金融機関の営業店に来店し、来店目的に応じて諸事項を帳票に記入する。営業点の窓口端末では、スキャナが設置されており、スキャナが帳票画像を読み取り、ＰＣ（Personal Computer）が文字認識することが行われている。
【０００３】
これらスキャナやＰＣ等の機器やシステムに障害（エラー）が発生したときに対処する技術が従来から存在している。例えば、特許文献１には、同一のエラーコードが設定回数に到達したとき、障害発生部位の清掃、交換を促す貨幣処理機が記載されている。また、特許文献２には、システムの本体装置にＡＣ電力供給した後でシステム電源投入前に補助電源で動作する本体装置の動作状態を監視し、障害検知手段が本体装置の障害を検知したとき、本体装置へのＡＣ電力供給を一旦停止した後、再びＡＣ電力供給を開始する電源制御技術が記載されている。
【０００４】
また、ＰＣで使用されるＯＳ(Operations System)は、ＷＩＡ（Windows(登録商標) Image Acquisition）モジュールが含まれており、起動時にメモリに常駐することにより、ＷＩＡ対応のデジタルカメラやスキャナ等の周辺機器をパソコンに接続すると、パソコンが周辺機器を自動的に認識し、所定のフォルダに画像を取り込むことができるようになっている。また、前記周辺機器は、機器専用のＴＷＡＩＮ(Technology Without An Interesting Name)ドライバが用意されており、アプリケーションソフトとの連係操作が可能となっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２５７３２３号公報（請求項１１）
【特許文献２】特開２０１０−１５２４２１号公報（請求項１）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＰＣは、その起動時に、周辺機器の起動状態を確認するための起動チェックプログラムを実行することがある。この場合には、ＷＩＡモジュールによる周辺機器の自動認識の直後にＴＷＡＩＮドライバが実行され、ＷＩＡモジュールとＴＷＡＩＮドライバとが並列処理されることがある。このときには、ＷＩＡモジュール（制御モジュール）がフリーズすることがあり、結果的に、ＴＷＡＩＮドライバ（制御ドライバ）が処理待ち状態（制御障害発生状態）になってしまう。
【０００７】
そこで、本発明は、制御ドライバの処理待ち状態の発生確率を低減することができる周辺機器制御障害回避方法、周辺機器制御障害回避プログラム、処理装置、及び処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するため、本発明は、周辺機器（例えば、スキャナ２１０）に接続され、ＯＳを備えたコンピュータ（１００）が実行する周辺機器起動方法であって、前記周辺機器を制御する制御ドライバ（例えば、ＴＷＡＩＮドライバ５２０）のエラー状態を検出する検出過程（Ｓ２２）と、前記エラー状態が検出された場合に、復旧処理を行う復旧処理過程（Ｓ３０）とを前記コンピュータが実行し、前記復旧処理過程は、前記ＯＳに再起動（Ｓ１６）を実行させることを特徴とする。なお、（  ）内の符号等は例示である。
【０００９】
ＯＳは、起動時に制御モジュール（例えば、ＷＩＡモジュール５１４）が常駐し、制御ドライバも動作する。このため、先に起動する制御モジュールがスレッドを掴んだ状態になり、この結果、制御ドライバが処理待ち状態になることがある。この状態で、検出部は、制御ドライバに状態確認を求めても応答が無く、スキャナ起動エラーとなる。この障害を回避するため、ＯＳに再起動を促す確認画面を表示部に表示させ、ＯＳ再起動を行い、このＯＳ再起動によりエラー状態が解消される。スキャナ起動エラーの発生確率が１００％未満であれば、複数回のＯＳ再起動により、スキャナ起動エラーは解消する。また、電源投入時の起動（Cold-Start）とＯＳ再起動（例えば、Warm-Start）とでは、ハードウェアの初期設定が相違することがあるので、電源投入時にスキャナ起動エラーが発生しても、ＯＳ再起動によりスキャナ起動エラーが解消することがある。
【発明の効果】
【００１０】
本発明によれば、制御ドライバの処理待ち状態の発生確率を低減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態である事務処理用スキャナシステムの構成図である。
【図２】本発明の第１実施形態である処理装置（スキャナＰＣ）のハードウェア構成図である。
【図３】本発明の第１実施形態である処理装置（スキャナＰＣ）のソフトウェア構成図である。
【図４】ＯＳを再起動させる再起動画面の例である。
【図５】本発明の第１実施形態である処理装置（スキャナＰＣ）が実行する起動処理のフローチャートである。
【図６】本発明の第２実施形態である処理装置（スキャナＰＣ）のソフトウェア構成図である。
【図７】スキャナ及びＯＳを再起動を使用者に促す指示メッセージ画面の例である。
【図８】本発明の第２実施形態である処理装置（スキャナＰＣ）が実行する起動処理のフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施の形態（以下、「本実施形態」と称する）につき詳細に説明する。なお、各図は、本発明を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００１３】
(第１実施形態)
図１は、本発明の第１実施形態である事務処理用スキャナシステムの構成図である。
事務処理用スキャナシステム１０００は、マシン室３５０が併設された事務センタ３００とがＬＡＮ（Local Area Network）を介して接続されており、マシン室３５０は、ネットワークＮＷを介して複数の営業店２００，２０１、及びホストに接続されている。
【００１４】
営業店２００は、処理装置としてのスキャナＰＣ１００と、周辺機器としてのスキャナ２１０と、営業店プリンタ２２０とを備えて構成されている。なお、スキャナ２１０はマット部に載置された帳票をＣＣＤカメラで撮像する非接触スキャナであり、スキャナＰＣ１００は表示部としてのモニタ１１０を備え、スキャナ２１０が読み取った読取画像をＯＣＲ（Optical Character Recognition）変換し、使用者が帳票画像とＯＣＲ変換された認識文字との照合作業を行ったりするクライアントマシンである。また、スキャナＰＣ１００は、データをマシン室３５０に転送したり、データの照会を行ったりする。なお、スキャナ２１０で読み込む画像は、帳票画像だけでなく、免許証等の身分証明書の画像であったり、診療機関で用いられるレセプト（診療報酬明細書）の画像であったりする。
【００１５】
事務センタ３００は、エントリＰＣ３１０とセンタプリンタ３２０とを備え、エントリＰＣ３１０はデータの入力や、照会を実行するクライアントマシンである。マシン室３５０は、ＤＢ（Data Base）サーバ、ＡＰ（Application）サーバ、及びＧＷ（Gate Way）サーバを備え、互いにＬＡＮで接続されている。ＤＢサーバは、読取画像や取引データ等を格納し、ＡＰサーバは、アプリケーションソフトが格納されており、格納されたアプリケーションソフトをクライアントマシンがダウンロードして使用したり、ＡＰサーバ内で実行したりする。ＧＷサーバは、ＮＷを介してホストや営業店２００，２０１と通信を行うサーバである。以下、ＤＢサーバ、及びＡＰサーバは、ＧＷサーバを介して通信を行っているが、省略する。
【００１６】
事務処理用スキャナシステム１０００は、例えば、スキャンされた帳票画像のデータや、そのＯＣＲデータが営業店２００，２０１から事務センタ３００に送信され、データの集計、照会を行うことができる。また、ＤＢサーバは、これらのデータを格納することにより、紙媒体での保管を最小限にすることができる。なお、営業店２００のスキャナＰＣ１００は、スキャナ２１０を用いた読み取りのみを行い、スキャナＰＣ１００は、読取画像データをマシン室３５０のＤＢサーバに送信し、事務センタ３００のエントリＰＣがＤＢサーバに格納された読取画像データの画像をＯＣＲ変換し、使用者が照合等の事務処理を行うこともある。
【００１７】
図２は、本発明の第１実施形態である処理装置（スキャナＰＣ）のハードウェア構成図である。
スキャナＰＣ１００は、商用電源ＡＣに接続されたメイン電源１０、及びサブ電源１５と、メインＣＰＵ（Central Processing Unit）２０、及びパワー・マネジメント回路２５と、電源スイッチ２６と、ＲＡＭ（Random Access Memory）３０と、ブートＲＯＭ（Read Only Memory）３２と、不揮発性記憶部としてのＨＤＤ（Hard Disk Drive）３５と、ＵＳＢ（Universal Serial Bus）Ｉ／Ｆ４０と、モニタＩ／Ｆ４５とを備え、電源スイッチ２６の一時的な短絡により、起動し、ソフトウェア制御により再起動するように構成されている。
【００１８】
メイン電源１０、及びサブ電源１５は、商用電源ＡＣに接続されている。メイン電源１０は、外部のパワー・マネジメント回路２５からＰＳ＿ＯＮ信号が入力されると＋５Ｖ等の直流電圧を発生し、サブ電源１５は、常時、＋５Ｖの電圧（＋５ＶＳＢ（Stand By））を発生し、それぞれの電源が各部に直流電力を供給する。なお、メイン電源１０及びサブ電源１５は、一体化されており、一般的に「ＡＴＸ電源」と称している。
【００１９】
メインＣＰＵ２０は、マルチコアにより、マルチスレッドに対応することができたり（例えば、４コア４スレッド）、また、物理的に１つしかないコアに擬似的なコアを作り、２つの分割されたスレッドを同時に実行したりすることが可能になっている（例えば、２コア４スレッド）。ここで、「スレッド（thread）」とは、一連の命令が順番に処理されていく最小の処理単位のことであり、マルチスレッド（multithread）とは、アプリケーションなど、単一のプロセスを複数のスレッドに分けて並列処理することである。
【００２０】
パワー・マネジメント回路２５は、サブ電源１５により、常時、電力供給を受けており、電源スイッチ２６の短絡／開放状態を監視すると共に、メインＣＰＵ２０等の電源制御（省電力制御を含む）を行うサブＣＰＵである。電源スイッチ２６が一時的に短絡状態になることにより、パワー・マネジメント回路２５は、ＰＳ＿ＯＮ信号によりメイン電源１０を立ち上げると共に、リセット解除することにより、メインＣＰＵ２０、ＲＡＭ３０、及びブートＲＯＭ３２を起動させる。ここで、ブートＲＯＭ３２は、ＢＩＯＳ(Basic Input Output System)等が格納されている。
【００２１】
また、ＨＤＤ３５は、先頭領域がＭＢＲ(Master Boot Recode)になっており、ＯＳやアプリケーションプログラムが格納されている不揮発性記憶部である。このＭＢＲは、ハードディスク上でのパーティションの開始／終了位置や使用しているファイルシステム、アクティブかどうかなどを記録したパーティションテーブルや、イニシャルプログラムローダ（ブート  ストラップ  ローダともいう。）が格納されている。また、ＨＤＤ３５は、第２実施形態で使用されるカウンタが格納されており、カウンタの値はＯＳの再起動により初期化されることはない。
【００２２】
メインＣＰＵ２０、及びブートＲＯＭ３２の起動により、メインＣＰＵ２０は、周辺機器用インタフェース（ＵＳＢＩ／Ｆ４０やモニタＩ／Ｆ４５等）の検出・ハードウェア初期化・各種設定を行い、ＨＤＤ３５からイニシャルプログラムローダを読み込み、ＯＳやアプリケーションプログラムをＲＡＭ３０に展開し、ＲＡＭ３０上で処理を実行する。なお、再起動の場合は検査や初期化の一部を省略し、イニシャルプログラムローダの読み込みを開始したり、ＯＳから起動（Warm-Start）したりすることもある。つまり、スキャナＰＣ１００は、電源投入時の起動（Cold-Start）と再起動とで、ハードウェア設定が異なることがあり得る。
【００２３】
ＵＳＢ(Universal Serial Bus)Ｉ／Ｆ４０は、営業店プリンタ２２０やスキャナ２１０と接続するＵＳＢデバイスコントローラである。モニタＩ／Ｆ４５は、表示部としてのモニタ１１０と接続するインタフェースであり、ＶＲＡＭを含む。
【００２４】
図３は、本発明の第１実施形態である処理装置（スキャナＰＣ）のソフトウェア構成図である。
ＨＤＤ３５に格納されており、ＲＡＭ３０に展開されメインＣＰＵ２０により実行されるプログラムは、ＯＳ５１０と、アプリケーションソフト５５０と、ディスプレイドライバ５１６と、プリンタドライバ５１８とを備え、これらが、予めインストールされている。
【００２５】
ＯＳ５１０は、特に、再起動処理部５１２を備え、ＷＩＡモジュール５１４が組み込まれている。再起動処理部５１２は、ソフトウェアにより再起動（Warm-Start）を行う処理部であり、起動中のアプリケーションソフト５５０を終了させ、さらに、パワー・マネジメント回路２５に対して、ブートＲＯＭ３２を用いてメインＣＰＵ２０を起動（再起動）させるように指示するものである。なお、この再起動は、ＢＩＯＳによるハードウェアチェックや初期設定等を省略し、イニシャルプログラムローダの読み出しから実行することがある。
【００２６】
ＷＩＡモジュール５１４は、スキャナ２１０等の周辺機器の接続を認識し、読み込んだ画像データ等を所定のフォルダに格納する機能を有するＯＳでサポートされたプログラムである。なお、ＯＳのバージョンに応じて、ＷＩＡの代わりに、ＷＰＤ（Windows（登録商標） Portable Devices）が用いられることもある。
【００２７】
ディスプレイドライバ５１６は、モニタＩ／Ｆ４５を制御するプログラムである。プリンタドライバ５１８は、ＵＳＢＩ／Ｆ４０等を介して、営業店プリンタ２２０を制御する専用のプログラムであり、アプリケーションソフト５５０（特に、ＯＣＲプログラム５４５）から印刷するときに使用される。
【００２８】
アプリケーションソフト５５０は、スキャナ起動チェックプログラム５３０と、システム起動バッチ５４０（５４０ａ）と、ＯＣＲプログラム５４５とを備えている。ここで、システム起動バッチ５４０（５４０ａ）は、ＯＳ５１０が規定するスタートアップフォルダに格納され、起動時や再起動時に自動的に実行されるものである。
【００２９】
ＴＷＡＩＮ（Technology Without An Interesting Name）ドライバ５２０は、スキャナ２１０専用のＡＰＩ(Application Interface)であり、ＯＣＲプログラム５４５がＴＷＡＩＮ規格に準拠していれば、ＯＣＲプログラム５４５からＴＷＡＩＮドライバ５２０を読み出すことができ、連係操作が可能となる。また、ＷＩＡモジュール５１４とＴＷＡＩＮドライバ５２０との双方は、ＯＳ５１０の起動により立ち上がるものであるが、ＷＩＡモジュール５１４の方がＴＷＡＩＮドライバ５２０よりも先に起動する。なお、図３において、プリンタドライバ５１８及びＴＷＡＩＮドライバ５２０は破線で記載してあるが、この破線はハードウェア専用プログラムであることを示している。
【００３０】
スキャナ起動チェックプログラム５３０は、検出部５３２と、復旧処理部５３４（５３４ａ）とを備えて構成され、復旧処理部５３４（５３４ａ）は表示画像生成部５３６（５３６ａ）を含んでいる。検出部５３２は、スキャナ２１０の起動エラーを検出するものであり、ＴＷＡＩＮドライバ５２０を介してスキャナ２１０の状態確認を行っても応答が無いとき（所定時間以上検知できないとき）にスキャナ起動エラーとして検出する。
【００３１】
復旧処理部５３４は、検出部５３２がスキャナ起動エラーを検出したときに、ＯＳ再起動を促すメッセージ画面（ＯＳ再起動画面（図４））をモニタ１１０に表示させ、使用者に再起動の実行を確認し、その確認後、ＯＳ５１０の再起動処理部５１２に再起動処理を実行させる。この再起動により、検出部５３２は、再度、スキャナ起動エラーの検出を行うことになる。なお、検出部５３２がスキャナ起動エラーを検出しないときには、スキャナ起動チェックプログラム５３０（復旧処理部５３４）は、処理を終了し、システム起動バッチ５４０ａの記述にしたがって、ＯＣＲプログラム５４５を起動させる。
【００３２】
システム起動バッチ５４０ａは、ＯＳ５１０の場合にはスタートアップフォルダに格納させておくことにより、起動時に実行されるバッチファイルである。システム起動バッチ５４０ａは、プログラムのファイルパスが実行順に記述されており、本実施形態では、スキャナ起動チェックプログラム５３０のファイルパスと、ＯＣＲプログラム５４５のファイルパスとがこの順番で記述されている。
【００３３】
ＯＣＲプログラム５４５は、スキャナ２１０に帳票等を読み取らせる読取機能、読取画像（帳票画像、手書文字画像）を二値化し、二値画像をＯＣＲ変換する文字認識機能、読取画像及びＯＣＲデータの何れか一方又は双方を転送する転送機能を有する。なお、ＯＣＲプログラム５４５は、特定色を認識し、除去するドロップアウト機能や、印鑑を照合したりする照合機能を有している。この特定色は帳票の罫線に用いられ、罫線をドロップアウトすることができる。
【００３４】
（動作の説明）
図５は、本発明の第１実施形態である処理装置（スキャナＰＣ）が実行する起動処理のフローチャートである。
まず、使用者は、スキャナ２１０の電源スイッチをＯＮにし（Ｓ１０）、スキャナＰＣ１００の電源をＯＮにする（電源スイッチ２６を一時的に短絡させる）（Ｓ１２）。これにより、ＯＳ５１０が起動し、スタートアップフォルダに格納されたシステム起動バッチ５４０が実行される（Ｓ１４）。このシステム起動バッチ５４０の実行により、スキャナ起動チェックプログラム５３０が実行される。
【００３５】
ＯＳ５１０の起動に伴い、ＷＩＡモジュール５１４が常駐ソフトとして起動し、ＷＩＡモジュール５１４がスキャナ２１０を認識する。次に、ＯＳ５１０は、ＴＷＡＩＮドライバ５２０を起動する。このため、起動時に、ＯＳ５１０は、ＷＩＡモジュール５１４とＴＷＡＩＮドライバ５２０との双方を起動させるので、双方のプログラムが競合（衝突）することがある。つまり、先に起動するＷＩＡモジュール５１４がスレッドを掴んだフリーズ状態になり、この結果、ＴＷＡＩＮドライバ５２０が処理待ち状態になるので、スキャナ起動エラーが発生してしまう。なお、このスレッドは、メインＣＰＵ２０が複数のコアで並列処理するマルチスレッドを意味することがある。
【００３６】
検出部５３２は、このスキャナ起動エラーが発生したか否かを判定する（Ｓ２２）。スキャナ起動エラーが発生したときには（Ｙｅｓ）、表示画像生成部５３６ａは、「スキャナが起動エラーです。コンピュータを再起動して下さい。今すぐ再起動しますか？」というＯＳ再起動画面（図４）を「今すぐ再起動／後で再起動」の選択ボタンを含めて生成する。そして、復旧処理部５３４は、生成されたＯＳ再起動画面（ＯＳ再起動メッセージ）をモニタ１１０に表示させる（Ｓ３０）。
【００３７】
「今すぐ再起動」ボタンが押下されることにより（Ｓ２４でＹｅｓ）、ＯＳ５１０の再起動処理部５１２が再起動の処理を行う（Ｓ１６）。また、「後で再起動」ボタンが押下されたら、アプリケーションソフト５５０自体が終了する。なお、Ｓ２２において、スキャナ起動エラーが発生していなければ、処理は終了し、ＯＳ５１０は、システム起動バッチ５４０の記述に従い、ＯＣＲプログラム５４５の起動を開始する。
【００３８】
本実施形態によれば、スキャナ起動チェックプログラム５３０は、ＯＳ５１０の再起動を促すメッセージを表示し、ＯＳ５１０の再起動が実行されることで、ＷＩＡモジュール５１４のダンマリ現象（何らかのスレッドを掴んだ状態のままとなるフリーズ現象）を一度リフレッシュすることができる。リフレッシュされたことにより、ＴＷＡＩＮドライバ５２０の処理待ち状態（制御障害発生状態）が解消され、スキャナ２１０が応答できる状態となる。
【００３９】
つまり、スキャナ起動エラーの発生確率が低ければ、電源投入時のＯＳ起動、及びＯＳ再起動により、スキャナ起動エラーは解消し得る。また、ＯＳ５１０の再起動では、ＢＩＯＳによるハードウェアチェックや初期設定等を省略し、イニシャルブートプログラムの読み出しを開始したり、ＯＳから再起動（Warm-Start）したりすることがある。このため、ＷＩＡモジュール５１４やＴＷＡＩＮドライバ５２０等の初期状態が電源投入時と再起動時とで異なり、ＷＩＡモジュール５１４のリフレッシュが期待される。
【００４０】
（第２実施形態）
第１実施形態は、スキャナ起動エラーが検出されたら、ＯＳの再起動メッセージの表示後、ＯＳ５１０を再起動させたが、複数回のＯＳ再起動でもスキャナ起動エラーが発生することがある。この場合には、ＯＳ再起動だけでなくスキャナ２１０の電源スイッチのＯＦＦ／ＯＮを行うことにより、スキャナ起動エラーが解消することがある。
【００４１】
本実施形態のハードウェア構成は、第１実施形態と同様である。但し、ＨＤＤ３５にカウンタがレジストリとして格納されており、その値はＯＳ再起動によっても値がリセットされない。また、カウンタは、スキャナ起動エラーが生じていないときに初期値「１」に設定される。なお、レジストリとは、アプリケーション設定、ユーザパスワード、デバイスドライバ情報、ウィンドウズ（登録商標）設定、その他のＰＣ上の全ての設定を格納する階層型データベースである。また、カウンタの値は、レジストリとして格納することなく、ファイルとしてＨＤＤ３５に格納することもできる。
【００４２】
図６は、本発明の第２実施形態である処理装置（スキャナＰＣ）のソフトウェア構成図である。
本実施形態のソフトウェア構成図は、第１実施形態と同様であるが、スキャナ起動チェックプログラム５３０ｂ、復旧処理部５３４ｂ、表示画像生成部５３６ｂ、システム起動バッチ５４０ｂに変更されている点で相違する。
その相違点である表示画像生成部５３６ｂは、スキャナ及びＯＳの再起動を使用者に依頼する指示メッセージ画像（図７）を生成し、復旧処理部５３４ｂは、複数回のスキャナ起動エラーが発生したときに、生成された指示メッセージ画像をモニタ１１０に表示させ、スキャナ再起動を使用者に促す。また、システム起動バッチ５４０ｂは、先にスキャナ起動チェックプログラム５３０ｂを起動させ、その後、ＯＣＲプログラム５４５を起動するように記述されている。
【００４３】
図８は、本発明の第２実施形態である処理装置（スキャナＰＣ）が実行する起動処理のフローチャートである。
まず、前記第１実施形態と同様に、使用者は、スキャナ２１０の電源スイッチをＯＮにし（Ｓ１０）、スキャナＰＣ１００の電源をＯＮにする（電源スイッチ２６を短絡させる）（Ｓ１２）。これにより、ＯＳ５１０が起動し、スタートアップからシステム起動バッチ５４０が実行される（Ｓ１４）。このシステム起動バッチ５４０の実行により、スキャナ起動チェックプログラム５３０ｂが実行される。
【００４４】
検出部５３２は、ＴＷＡＩＮドライバ５２０のスキャナ起動エラーが発生したか否かを判定する（Ｓ２０）。スキャナ起動エラーが発生したときには（Ｓ２０でＹｅｓ）、復旧処理部５３４ｂは、カウンタの値が所定値「５」以下であるか否か判定する。カウンタの値が所定値「５」以下であるときには（Ｙｅｓ）、復旧処理部５３４ｂは、カウンタに「１」を加算する（Ｓ２８）。つまり、カウンタの値が初期値「１」＋１＝２になる。そして、表示画像生成部５３６は、第１実施形態と同様に、「スキャナが起動エラーです。コンピュータを再起動して下さい。今すぐ再起動しますか？」というＯＳ再起動を促すメッセージ画面（ＯＳ再起動画面（図４））を「今すぐ再起動／後で再起動」の選択ボタンを含めて生成する。そして、復旧処理部５３４は、ＯＳ再起動画面（ＯＳ再起動メッセージ）をモニタ１１０に表示させる（Ｓ３０）。
【００４５】
「今すぐ再起動」ボタンが押下されることにより（Ｓ３２でＹｅｓ）、復旧処理部５３４ｂは、ＯＳ５１０に再起動させ、ＯＳ５１０の再起動処理部５１２が再起動の処理を行う（Ｓ１６）。つまり、ＯＳ５１０は、スキャナ起動チェックプログラム５３０ｂの処理を終了させ、ＨＤＤ３５のＭＢＲからイニシャルブートプログラムを読み出し、ＯＳ５１０をＲＡＭ３０に展開する。これにより、再び、システム起動バッチ５４０ｂが実行され（Ｓ１４）、スキャナ起動エラーが発生したか否かが判定される（Ｓ２０）。また、「後で再起動」ボタンが押下されたら、アプリケーションソフト５５０自体が終了する。
【００４６】
また、Ｓ２６において、カウンタの値が所定値「５」を超えていたときには、表示画像生成部５３６は、「スキャナが起動エラーです。スキャナおよびコンピュータを再起動して下さい。今すぐ再起動しますか？」という指示メッセージ画像を「今すぐ再起動／あとで再起動」の選択ボタンを含めて生成する。そして、復旧処理部５３４ｂは、生成された指示メッセージ画像（スキャナ、ＯＳ再起動メッセージ画像）をモニタ１１０に表示させる（Ｓ３４）。
【００４７】
「今すぐ再起動」ボタンが押下されることにより（Ｓ３６でＹｅｓ）、処理はスキャナ起動チェックプログラム５３０ｂから離れる。そして、使用者は、スキャナ２１０の電源をＯＦＦにし、再投入（ＯＮ）することにより、スキャナ再起動を行い（Ｓ１８）、かつ、ＯＳ５１０の再起動処理部５１２は、再起動の処理を行う（Ｓ１６）。なお、図８においては、Ｓ１８のスキャナ再起動がＳ１６のＯＳ再起動よりも先に実行されるように記載しているが、ＯＳ再起動がスキャナ再起動よりも先に実行されてもよい。
【００４８】
また、Ｓ２０において、スキャナ起動エラーが発生していなければ（Ｎｏ）、復旧処理部５３４ｂは、カウンタの値を「１」に初期化し（Ｓ３８）、処理が終了する。そして、ＯＳ５１０は、システム起動バッチ５４０の記述に従い、ＯＣＲプログラム５４５の起動を開始する。つまり、このスキャナ起動チェックプログラム５３０ｂは、エラーが発生しないときにカウンタの初期化を行う。
【００４９】
本実施形態によれば、第１実施形態と同様に、ＯＳ５１０の再起動が実行されることで、ＷＩＡモジュール５１４のダンマリ現象（何らかのスレッドを掴んだ状態のままとなる現象）を一度リフレッシュすることができ、ＴＷＡＩＮドライバ５２０の処理待ち状態が解消される。また、スキャナ起動エラーの発生確率が１００％未満であれば、複数回の再起動により、スキャナ起動エラーが解消する。
【００５０】
また、複数回のＯＳ再起動を行っても、スキャナが正常応答せず、スキャナ起動エラーが発生したときには、スキャナ起動チェックプログラム５３０ｂ自体に何らかのエラーの可能性がある。このエラーをリフレッシュするには一度、スキャナ２１０の再起動が必要である。このため、スキャナ起動チェックプログラム５３０ｂは、ＯＳ５１０の再起動を実行すると共に、スキャナ２１０の電源を落とし、再投入するメッセージをモニタ１１０に表示させる。これにより、使用者は、スキャナ２１０の電源をＯＦＦ／ＯＮにして、スキャナ２１０を再起動させる。これにより、例えば、ＴＷＡＩＮドライバ５２０の処理待ち状態以外のエラー発生を解消することができる。
【００５１】
（変形例）
本発明は前記した実施形態に限定されるものではなく、例えば以下のような種々の変形が可能である。
（１）前記第１実施形態は、ＯＳ５１０がインストールされた処理装置（ＰＣ）でスキャナ起動チェックプログラム５３０を実行させて、復旧処理部５３４ａがＯＳ５１０の再起動処理部５１２に再起動を行わせたが、再起動処理部５１２の機能を有した他の復旧処理部５３４ｃが再起動を行ってもよい。つまり、新たなスキャナ起動チェックプログラム５３０は、ＯＳ５１０がＷＩＡモジュール５１４、及びＴＷＡＩＮドライバ５２０を起動させ、検出部５３２がＴＷＡＩＮドライバ５２０のエラーを検出したら、復旧処理部５３４ｃが再起動を実行するようにしてもよい。
【００５２】
（２）前記第２実施形態は、スキャナ２１０の電源ＯＦＦ／ＯＮを手動で行ったが、復旧処理部５３４ａがスキャナ２１０に再起動命令を送信するように構成することもできる。このとき、再起動処理部５１２は、指示メッセージ画像（図７）を表示させて、「今すぐ再起動」ボタンが押下されてから再起動命令を送信してもよい。また、指示メッセージ画像（図７）を表示させることなく再起動命令を送信してもよい。
【００５３】
（３）前記各実施形態は、システム起動バッチ５４０をスタートアップフォルダに格納することにより、ＷＩＡモジュール５１４、及びＴＷＡＩＮドライバ５１８の起動に引き続いて、検出部５３２が起動するようにした。しかしながら、ＯＳ５１０の起動後、アプリケーションソフト５５０と異なる他のアプリケーションソフトが起動され、その後、スキャナ起動チェックプログラム５３０ｂを起動してもよい。この場合には、他のアプリケーションソフトは、ＷＩＡモジュール５１４や、ＴＷＡＩＮドライバ５１８を使用することがない。
（４）前記各実施形態は、周辺機器としてスキャナ２１０を用いたが、他の周辺機器、例えば、ＷＩＡモジュール５１４やＴＷＡＩＮドライバ５１８が対応しているデジタルカメラであってもよい。また、ＷＩＡモジュール５１４やＴＷＡＩＮドライバ５１８が対応していない周辺機器、例えば、プリンタであってもよい。
【符号の説明】
【００５４】
１０  メイン電源
１５  サブ電源
２０  メインＣＰＵ
２５  パワー・マネジメント回路（サブＣＰＵ）
２６  電源スイッチ
３０  ＲＡＭ
３２  ブートＲＯＭ
３５  ＨＤＤ（不揮発性記憶媒体）
４０  ＵＳＢＩ／Ｆ（デバイスコントローラ）
４５  モニタＩ／Ｆ（ＶＲＡＭ）
１００  スキャナＰＣ（処理装置）
１１０  モニタ（表示部）
２００，２０１  営業店
２１０  スキャナ（周辺機器）
２２０  営業店プリンタ
３００  事務センタ
３１０  エントリＰＣ
３２０  センタプリンタ
３５０  マシン室
５１０  ＯＳ
５１２  再起動処理部
５１４  ＷＩＡモジュール（制御モジュール）
５１６  ディスプレイドライバ
５１８  プリンタドライバ
５２０  ＴＷＡＩＮドライバ（制御ドライバ）
５３０  スキャナ起動チェックプログラム
５３２  検出部
５３４，５３４ａ，５３４ｂ  復旧処理部
５３６，５３６ａ，５３６ｂ  表示画像生成部
５４０  システム起動バッチ
５５０  アプリケーションソフト
１０００  事務処理用スキャナシステム（処理システム）
ＤＢサーバ
ＡＰサーバ
ＧＷサーバ
ＮＷ  ネットワーク
【図１】
2015102989.tif 000003
【図２】
2015102989.tif 000004
【図３】
2015102989.tif 000005
【図４】
2015102989.tif 000006
【図５】
2015102989.tif 000007
【図６】
2015102989.tif 000008
【図７】
2015102989.tif 000009
【図８】
2015102989.tif 000010