(57)【要約】      （修正有）【課題】周辺装置を制御する制御プログラムを情報処理装置にインストールすることなく、周辺装置を利用可能とすると共に、周辺装置を利用するユーザ等の利便性を向上した周辺装置、及び周辺装置の制御方法、並びに情報処理システムを提供する。【解決手段】情報処理装置１００に周辺装置１１０（装置本体１１１）の動作を制御させるための制御プログラムを記憶する記憶部と、記憶部から情報処理装置１００に制御プログラムを送信する通信部と、情報処理装置１００による制御プログラムの実行により記憶部に書き込まれる指示情報に基づいて周辺装置１１０の動作を制御する制御部とを備えており、制御部は、情報処理装置１００による制御プログラムの使用状況に基づいて、情報処理装置１００に接続した状態での周辺装置１００の操作により情報処理装置１００に対して制御プログラムを再送させる。【選択図】図１
2011024057.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に装置本体の動作を制御させるための制御プログラムを記憶する記憶部と、
前記記憶部から前記情報処理装置に前記制御プログラムを送信する通信部と、
前記情報処理装置による前記制御プログラムの実行により前記記憶部に書き込まれる指示情報に基づいて前記装置本体の動作を制御する制御部とを備えており、
前記制御部は、前記情報処理装置による前記制御プログラムの使用状況に基づいて、前記情報処理装置に接続した状態での前記装置本体の操作により前記情報処理装置に対して前記制御プログラムを再送させることを特徴とする周辺装置。
【請求項２】
前記制御部は、前記情報処理装置と前記装置本体との接続を一旦切断してから再接続させて前記制御プログラムを前記情報処理装置に再送させることを特徴とする請求項１記載の周辺装置。
【請求項３】
前記制御部は、前記情報処理装置から前記装置本体への電源供給を一旦停止してから再供給させて前記制御プログラムを前記情報処理装置に再送させることを特徴とする請求項１又は２記載の周辺装置。
【請求項４】
再送される前記制御プログラムは、前記情報処理装置で再実行されることにより前記情報処理装置において前記装置本体の動作を制御させる制御画面を再表示させることを特徴とする請求項１〜３の何れか１項に記載の周辺装置。
【請求項５】
前記制御部は、前記情報処理装置で前記制御プログラムの使用が終了されたことを示す終了情報が前記記憶部に書き込まれているか否かを確認し、前記終了情報を確認したことを条件として、前記制御プログラムを前記情報処理装置に再送させることを特徴とする請求項１〜４の何れか１項に記載の周辺装置。
【請求項６】
情報処理装置に装置本体の動作を制御させるための制御プログラムを記憶させておき、前記情報処理装置による前記制御プログラムの使用状況に基づいて、前記情報処理装置に接続した状態での前記装置本体の操作により前記情報処理装置に前記制御プログラムを再送させ、前記情報処理装置による前記制御プログラムの再実行により書き込まれる指示情報に基づいて前記装置本体の動作を制御することを特徴とする周辺装置の制御方法。
【請求項７】
情報処理装置と、前記情報処理装置に接続して使用される周辺装置とを含む情報処理システムであって、
前記周辺装置は、前記情報処理装置に装置本体の動作を制御させるための制御プログラムを記憶する記憶部と、前記記憶部から前記情報処理装置に前記制御プログラムを送信する通信部と、前記情報処理装置による前記制御プログラムの実行により前記記憶部に書き込まれる指示情報に基づいて前記装置本体の動作を制御する制御部とを備えており、
前記周辺装置は、前記情報処理装置による前記制御プログラムの使用状況に基づいて前記情報処理装置に接続した状態での前記装置本体の操作により前記情報処理装置に対して前記制御プログラムを再送させるよう前記制御部を制御させる一方、前記情報処理装置は、再送される前記制御プログラムの再実行により前記周辺装置の前記装置本体の動作について制御可能となることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、イメージスキャナ、イメージリーダまたは複合機などの周辺装置、及び周辺装置の制御方法、並びに情報処理システムに関する。
【背景技術】
【０００２】
イメージスキャナ、イメージリーダまたは複合機などの画像読み取り装置は広く普及している。一般に、画像読み取り装置をコンピュータ上で使用できるようにするためには、その画像読み取り装置用のデバイスドライバやアプリケーションプログラムをインストールしなければならない。従来は、デバイスドライバやアプリケーションプログラムを記憶したＣＤ−ＲＯＭをＣＤ−ＲＯＭドライブに挿入してハードディスクドライブへインストールする必要があり、面倒であった。  
【０００３】
そこで、プリンタをＣＤ−ＲＯＭドライブとしてコンピュータに認識させ、オートランによってプリンタドライバやアプリケーションプログラムをパソコンにインストールする技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１１５４２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、周辺装置用のデバイスドライバやアプリケーションプログラムをインストールすることが制限されているコンピュータが存在する。この制限はセキュリティ対策で課されることが多い。例えば、マイクロソフトウインドウズ（登録商標）等のオペレーティングシステム（ＯＳ）では、管理者権限を有しているユーザのみがデバイスドライバをインストールできる。したがって、一般ユーザはデバイスドライバやアプリケーションプログラムをインストールできない。このような状況は、外出先のコンピュータを使用する場合に度々発生することが予想される。よって、このような制限のある状況下では、特許文献１に記載の発明は有効ではない。  
【０００６】
そこで、本発明では、周辺装置を制御する制御プログラムを情報処理装置にインストールすることなく、周辺装置を利用可能とすると共に、周辺装置を利用するユーザ等の利便性を向上した周辺装置、及び周辺装置の制御方法、並びに情報処理システムを提供することを目的とする。また、本発明は、ユーザによる周辺装置の再駆動時における手間を簡略化することも目的とする。
【課題を解決するための手段】
【０００７】
本発明は、情報処理装置に装置本体の動作を制御させるための制御プログラムを記憶する記憶部と、前記記憶部から前記情報処理装置に前記制御プログラムを送信する通信部と、前記情報処理装置による前記制御プログラムの実行により前記記憶部に書き込まれる指示情報に基づいて前記装置本体の動作を制御する制御部とを備えており、前記制御部は、前記情報処理装置による前記制御プログラムの使用状況に基づいて、前記情報処理装置に接続した状態での前記装置本体の操作により前記情報処理装置に対して前記制御プログラムを再送させることを特徴とする。
【発明の効果】
【０００８】
本発明は、周辺装置を制御する制御プログラムを情報処理装置にインストールすることなく周辺装置の利用を可能としつつ、周辺装置を利用するユーザ等の利便性を向上させることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態１に係る情報処理装置と周辺装置とからなる情報処理システムの概略構成図である。
【図２】パーソナルコンピュータとして例示するコンピュータとスキャナのハードウエアブロック図である。
【図３】本発明の実施形態１に係るコンピュータとスキャナ装置とのソフトウエアブロック図である。
【図４】コンピュータからキャプチャアプリケーションを利用してスキャナ装置で画像読み取りを行う処理のフローチャートである。
【図５】ドライブレターを割り当てられたディスクドライブ（スキャナ装置）をファイル管理ソフトで開いた様子を示す図である。
【図６】キャプチャアプリケーションが起動したときに表示されるユーザインターフェースの一例を示した図である。
【図７】イベント監視モジュールの動作を説明するための図である。
【図８】非表示状態で待機しているキャプチャアプリケーションの動作を示したフローチャートである。
【図９】イベント監視モジュールの動作を示したフローチャートである。
【図１０】イベント監視モジュールの別動作を示したフローチャートである。
【発明を実施するための形態】
【００１０】
以下に本発明を実施の形態に基づいて詳細に説明する。なお、以下に説明する本発明の実施の形態は、本発明の上位概念、中位概念および下位概念など種々の概念を説明するための一例である。したがって、本発明の技術的範囲は、以下の実施の形態に限定されるものではない。  
【００１１】
（実施形態１）  図１は、本発明の実施形態１に係る情報処理装置と周辺装置とからなる情報処理システムの概略構成図である。  
【００１２】
図１に示すように、本実施形態の情報処理システムは、情報処理装置の一例であるコンピュータ１００と、周辺装置の一例であるスキャナ装置１１０とをＵＳＢケーブル等の通信ケーブル１０１により接続した構成からなる。  
【００１３】
スキャナ装置１１０には、原稿（シート）を積載する給紙トレイ１１２が装置本体１１１に対してヒンジ部を介して開閉可能に支持されている。給紙トレイ１１２は、閉じた状態で原稿の給紙口１１３を覆い、開放された状態で積載面１１４に原稿が積載される。  
【００１４】
そして、給紙トレイ１１２に載置される原稿は、１枚ずつ給送されるようになっている。例えば、給紙トレイ１１２に積載された複数枚の原稿は、フィードローラと分離パッドとによって最も下の原稿から１枚ずつ搬送路に分離給送される。  
【００１５】
ここで、このように給紙トレイ１１２に載置される原稿の分離給送は、スキャナ装置１１０の本体に設けられた操作ボタン１１５の押下により実行されるようになっている。  
【００１６】
また、搬送路に給送された原稿は、搬送ローラ対により下流側に搬送される。さらに原稿は、読取センサにより表裏両面の画像が読み取られ、その後、搬送ローラ対により排紙口１１６から排紙される。  
【００１７】
なお、スキャナ装置１１０は、ＵＳＢケーブルなどの通信ケーブル１０１を介してコンピュータ１００に接続する。情報処理装置であるコンピュータ１００は、例えば、パーソナルコンピュータ（ＰＣ）である。例えば、本実施形態では、ＵＳＢケーブルによりコンピュータ１００とスキャナ装置１１０とを接続した。また、スキャナ装置１１０への電源供給は、コンピュータ１００からＵＳＢケーブルを介して行うようにした。すなわち、コンピュータ１００からＵＳＢバスパワーによりスキャナ装置１１０の電源供給を行うようにした。  
【００１８】
ここで、本実施形態のスキャナ装置１１０は読み書き可能なディスクドライブとしてコンピュータに認識されたまま、画像の読み取りを行い、画像データを自身の記憶装置に保存しておく。このスキャナ装置１１０の記憶装置は、コンピュータ１００からも外付けの記憶装置としてアクセス可能である。よって、コンピュータ１００は、スキャナ装置１１０の記憶装置を介して画像データを読み出すことができる。  
【００１９】
一方、コンピュータ１００は、スキャナ装置１１０に対する読取設定の情報や制御コマンドなどの指示情報をスキャナ装置１１０の記憶装置に記憶された制御ファイルに書き込むことによりスキャナ装置１１０を制御する。すなわち、スキャナ装置１１０は、自己の記憶装置に書き込まれる制御ファイルから読取設定の情報や制御コマンドなどの指示情報を抽出して画像の読み取りを実行するようになっている。  
【００２０】
また、本実施形態では、スキャナ装置１１０の記憶領域には、コンピュータ１００にスキャナ装置１１０を制御可能とするための制御プログラムが記憶されている。  
【００２１】
そして、コンピュータ１００とスキャナ装置１１０とを通信ケーブル１０１により接続した際、スキャナ装置１１０の記憶領域（記憶部）から制御プログラムがコンピュータ１００のメモリに送られる。コンピュータ１００は、スキャナ装置１１０から受け取る制御プログラムを実行することで、スキャナ装置１１０の制御が可能な状態となる。  
【００２２】
すなわち、本実施形態においては、詳細は後述するが、コンピュータ１００のハードディスクドライブに制御プログラム等のソフトウエアをインストールしなくても、スキャナ装置１１０を利用することができる。これはユーザにとって極めて便利な反面、一旦、制御プログラムの使用を完全終了してしまうと、再び、制御プログラムをスキャナ装置１１０からコンピュータ１００のメモリへと再ロードしなければ、スキャナ装置１１０の制御画面を表示してその制御画面からスキャナ装置１１０を制御することができない。  
【００２３】
上述した事情から、制御プログラムの使用を完全に終了した後、上記のいわゆるオートラン機能を再現するためには、スキャナ装置１１０の電源のオフ・オンや通信ケーブル１０１の物理的なケーブルの抜き差し、あるいはファイルシステムを利用してコンピュータ１００のメモリ内の制御プログラムを検索して再実行しなければならない。本実施形態では、このようなユーザの作業負担を軽減し、ユーザの利便性を向上するものである。
【００２４】
そして、本実施形態では、ユーザが制御プログラムの使用を完全に終了させた後であっても、上述したようにスキャナ装置１１０の記憶領域に制御プログラムを記憶させているので、この記憶領域から制御プログラムの再送信することにより、再び、スキャナ装置１１０の制御を可能とするものである。以下、制御プログラムの再送について説明する。
【００２５】
ここで、制御プログラムの再送は、コンピュータ１００とスキャナ装置１１０とを接続した状態において、スキャナ装置１１０の操作に合わせて実行される。例えば、ここでいうスキャナ装置１１０の操作とは、スキャナ装置１１０を構成する部材を操作すること等が挙げられる。
【００２６】
具体的には、スキャナ装置１１０の本体に設けられた操作ボタン１１５の押下等が挙げられる。なお、このような制御プログラムの再送は、上記の場合に限定されず、例えば、給紙トレイ１１２の開閉動作に合わせてもよいし、給紙口近傍に原稿検知センサを設けて給紙口の原稿検知に合わせてもよい。あるいは、操作ボタン１１５とは異なる専用の再送ボタンを装置本体１１１に別途設けてもよい。いずれにしても、スキャナ装置１１０側で所定の操作が行われたことを検知した場合に、制御プログラムの再送を実行するようにすればよい。
【００２７】
また、制御プログラムの再送においては、上述したスキャナ装置１１０の操作により、スキャナ装置１１０の制御部が、コンピュータ１００とスキャナ装置１１０との接続をソフト的に一旦切断してから再接続させて制御プログラムをコンピュータ１００に再送させるようにしてもよい。さらに、本実施形態では、スキャナ装置１１０への電源供給をコンピュータ１００からのＵＳＢバスパワーとしているので、例えば、スキャナ装置１１０の制御部は、コンピュータ１００からスキャナ装置１１０への電源供給を一旦停止してから再供給させることで、制御プログラムをコンピュータ１００に再送させるようにしてもよい。これにより、上述した何れの場合においても、コンピュータ１００とスキャナ装置１１０との物理的な接続ケーブルの抜き差し等の煩雑な作業を行う必要がなく、制御プログラムを確実に再送し、コンピュータ１００側で制御プログラムを再起動させることができる。したがって、ユーザの利便性を向上することができる。
【００２８】
また、制御プログラムの再送に際しては、コンピュータ１００により制御プログラムの使用が完全終了していることを事前に判断することが好ましい。例えば、スキャナ装置１１０の制御部は、コンピュータ１００で制御プログラムの使用が完全に終了したことを示す終了情報が記憶領域（実際には制御ファイル等）に書き込まれているか否かを確認することが好ましい。
【００２９】
すなわち、スキャナ装置１１０の制御部は、記憶領域を参照して制御プログラムの終了情報を事前確認し、制御プログラムの終了情報を確認したことを条件として、制御プログラムを再送するようにする。これにより、制御プログラムの重複起動を防止しつつ、ユーザの利便性を向上することができる。
【００３０】
また、上記の制御プログラムの終了情報は、制御プログラムがユーザによる使用の終了を自ら検知できるようにし、制御プログラムがメモリ開放される前にスキャナ装置１１０の記憶領域に書き込まれるようにしてもよい。または、制御プログラムの使用の終了状況を管理する管理プログラムを別途、スキャナ装置１１０に常駐させておいてもよいし、管理プログラムを制御プログラムと一緒にコンピュータ１００に送信して実行させておいてもよい。なお、制御プログラムの終了情報は、例えば、スキャナ装置１１０の記憶領域に制御部が確認できるように保存されていればよい。例えば、後述するスキャナ装置１１０のＲＡＭ等に記憶された制御ファイル等に制御プログラムの終了情報を書き込み、これを制御部がリアルタイム又は定期的に確認するようにしてもよいし、制御ファイル以外の専用ファイルで管理するようにしてもよい。いずれにしても、制御プログラムの終了情報をスキャナ装置１１０の制御部に知らせることができればよい。また、制御プログラムの終了情報についての確認は、スキャナ装置１１０の操作時又はその後で行うようにしてもよいし、スキャナ装置１１０の操作前に行っていてもよい。いずれにしても、制御プログラムの再送前に制御プログラムの終了情報を確認することが好ましい。そして、管理プログラムは、制御プログラムの使用終了状況を監視し、制御プログラムの使用終了を検知した場合には、当該制御プログラムの終了情報をスキャナ装置１１０の記憶領域に書き込むようにしてもよい。いずれの場合においても、スキャナ装置１１０の記憶領域に書き込まれた制御プログラムの終了情報を制御部が事前確認し、制御プログラムを再送することができる。これにより、コンピュータ１００で制御プログラムが重複起動してしまうことを有効に防止することができる。
【００３１】
以上のようにして制御プログラムの再送が行われた場合には、コンピュータ１００は、受信した制御プログラムを再実行することにより、スキャナ装置１１０の動作を制御するための制御画面を再表示させることが可能となる。すなわち、コンピュータ１００は、再び、制御画面に基づいてスキャナ装置１１０の制御が可能となる。
【００３２】
ここで、本実施形態では、上述した制御プログラムの実行後、再送前の状況においても、管理プログラムに制御プログラムを管理させ、制御プログラムの実行によりコンピュータ１００に表示するスキャナ装置１１０の制御画面の表示状態を制御するようにしてもよい。
【００３３】
本実施形態では、管理プログラムを上述したようにスキャナ装置１１０の記憶領域に制御プログラムと共に記憶されている。管理プログラムは、例えば、情報処理装置（本実施形態ではコンピュータ１００）で実行されると、当該情報処理装置において周辺装置（本実施形態ではスキャナ装置１１０）の制御画面の状態を制御する。すなわち、このような管理プログラムは、情報処理装置での制御プログラムの使用が終了されたか否かを判断して情報処理装置の表示画面を制御するプログラムである。
【００３４】
具体的には、管理プログラムは、ユーザ等の操作により制御プログラムの使用が終了したか否かを管理し、制御プログラムの使用状況に基づいて周辺装置の制御画面の表示形態を制御するよう情報処理装置を機能させるためのプログラムとなる。なお、このような管理プログラムは、制御プログラムと共に周辺装置から情報処理装置に送信されて情報処理装置で実行されるようにしてもよいし、周辺装置に常駐させて情報処理装置で実行される制御プログラムを遠隔で管理するようにしてもよい。
【００３５】
ここで、本実施形態では、上記の「制御プログラムの使用が終了する」とは、制御プログラムが完全に終了する場合（この状態を完全終了状態と呼べる。）、例えば、メモリから開放される場合と、制御プログラム自体は終了せずに起動状態（例えば、メモリに常駐した状態で実行状態）を維持しながらも制御プログラムの実行に基づく周辺装置の制御画面を非表示状態とする場合（この状態を非完全終了状態、一時的終了状態、停止状態または待機状態と呼べる。）を少なくとも含む。また、上記の「制御プログラムの使用状況」とは、少なくとも制御プログラムが完全に終了している状況と、制御プログラムが完全に終了せずに周辺装置の制御画面を非表示状態としている状況とを少なくとも含む。
【００３６】
ここで、本実施形態をさらに具体的に説明すると、図１及び図２に示すように、スキャナ装置１１０の本体に設けられた操作ボタン１１５は、例えば、スキャナ装置１１０にスキャンの開始を指示するための指示部（スキャン実行ボタン）である。例えば、本実施形態では、詳細は後述するが、スキャナ装置１１０の読取操作を制御するアプリケーションプログラム（以下、キャプチャアプリケーション）の実行によりコンピュータ１００においてスキャナ装置１１０の制御画面を表示するようになっている。なお、キャプチャアプリケーションは、上述した制御プログラムの一例である。  
【００３７】
そして、本実施形態では、ユーザ等がスキャナ装置１１０の制御画面を終了操作（キャンセルボタンや閉じるボタンの押し下げ操作）すると、管理プログラムは、当該制御画面を非表示状態として待機させるようコンピュータ１００を機能させる。次に、この状態からスキャナ装置１００の操作ボタン１１５が操作されると、管理プログラムは、コンピュータ１００においてスキャナ装置１１０の制御画面を再び表示状態に切り替えるようコンピュータ１００を機能させる。これにより、例えば、上記のオートラン機能を再現する際の操作者の負担を軽減できる。このように、操作ボタン１１５は、キャプチャアプリケーションの実行により表示されるスキャナ装置１１０の制御画面を非表示状態から表示状態へ復帰させるための指示を発行するための指示部の一例である。  
【００３８】
図２は、本実施形態においてパーソナルコンピュータとして例示するコンピュータとスキャナのハードウエアブロック図である。図２において、コンピュータ１００は、ＣＰＵ２０１、ＲＯＭ２０３、ＲＡＭ２０４、ハードディスクドライブ２０２、ＵＳＢインターフェース２０５を備えている。ＵＳＢインターフェース２０５は、情報処理装置と通信するための通信部の一例であり、ＵＳＢケーブルである通信ケーブル１０１を介してスキャナ装置１１０と接続される。また、キーボード／マウス２３０とディスプレイ２３１は、ＣＰＵ２０１に接続されている。  
【００３９】
コンピュータ１００に電力が投入されると、ＣＰＵ２０１は、ＲＯＭ２０３からファームウエアを起動し、ハードディスクドライブ２０２から、例えば、マイクロソフト社などが提供しているオペレーティングシステム（ＯＳ）を起動する。ＯＳなどの必要なソフトウエアは、ＲＡＭ２０４にロードされる。ハードディスクドライブ２０２は、ソリッド・ステート・ドライブ（ＳＳＤ）などのメモリ型の記憶装置であってもよい。  
【００４０】
一方、スキャナ装置１１０は、ＣＰＵ２１１、ＲＯＭ２１３、ＲＡＭ２１４、画像読み取り部２１６、ＵＳＢコントローラ２１２、ＵＳＢインターフェース２１５及び操作ボタン１１５を備えている。スキャナ装置１１０に電力が投入されると、ＣＰＵ２１１は、ファームウエアをＲＯＭ２１３から起動する。本実施形態で、ＲＯＭ２１３は、不揮発性のメモリであり、コンピュータ１００によって情報を書き込むことが可能なメモリである。ＲＯＭ２１３には、少なくとも、後述するキャプチャアプリケーション３１９とイベント監視モジュール３１８が記憶される。ここで、上述した制御プログラム及び管理プログラムの機能は、例えば、本実施形態では、これらキャプチャアプリケーション３１９及びイベント管理モジュール３１８、及びＣＰＵ２１１により機能分散して実現される。  
【００４１】
また、ＲＯＭ２１３やＲＡＭ２１４の両方または一方は、画像読み取り装置を使用するために情報処理装置で実行されるソフトウエアを記憶したソフトウエア記憶手段や制御ファイル等を記憶するデータ記憶手段の一例である。なお、ＲＯＭ２１３やＲＡＭ２１４は、フラッシュメモリやＥＥＰＲＯＭなどの不揮発性メモリによって実現されてもよい。特にＲＯＭ２１３にソフトウエアを記憶し、バージョンアップを可能とする場合は、ＲＯＭ２１３を不揮発性メモリにすることが望ましい。  
【００４２】
また、１つの不揮発性メモリによってＲＯＭ２１３とＲＡＭ２１４が実現されてもよい。なお、ＲＡＭ２１４には、画像読み取り部２１６によって取得された画像データを一時的に格納するためのバッファ領域が確保されてもよい。  
【００４３】
図３は、本発明の第１の実施例に係るコンピュータとスキャナ装置とのソフトウエアブロック図である。  
【００４４】
コンピュータ１００のハードディスクドライブ２０２には、オペレーティングシステム３０１、ファイルシステム３０２、ＵＳＢマスストレージドライバ３０３及びＵＳＢインターフェースドライバ３０４がインストールされている。オペレーティングシステム３０１は、コンピュータ１００の基本ソフトウエアである。ファイルシステム３０２は、ハードディスクドライブなどの記憶装置にファイルを格納するためのソフトウエアである。  
【００４５】
ＵＳＢマスストレージドライバ３０３は、ハードディスクドライブ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−Ｒ、ＵＳＢメモリなどのマスストレージを制御するためのソフトウエアである。ＵＳＢインターフェースドライバ３０４は、ＵＳＢインターフェースに接続されたＵＳＢデバイスを制御するためのソフトウエアである。一般に、これらのソフトウエアはＯＳの一部として提供される。  
【００４６】
スキャナ装置１１０には、スキャナドライバ３１０、キャプチャアプリケーション３１９、イベント監視モジュール３１８、オートランファイル３１７、制御ファイル３１５、ＵＳＢディスクドライブインターフェース３１４及びＵＳＢマスストレージクラスインターフェース３１３が備えられている。  
【００４７】
すなわち、スキャナ装置１１０の記憶領域には、ＵＳＢマスストレージクラスインターフェース３１３のサブクラスとして、ＵＳＢディスクドライブインターフェース３１４だけでなく、スキャナドライバ３１０、オートランファイル３１７、イベント監視モジュール３１８、及びキャプチャアプリケーション３１９が記憶されている。  
【００４８】
スキャナドライバ３１０は、コンピュータ１００とスキャナ装置１１０との通信を行うためのソフトウエアであるが、例えば、スキャナドライバＤＬＬ（ドライバモジュール）としてもよい。また、このようなスキャナドライバ３１０は、イベント発生毎に、制御ファイル等のイベントキューに各種イベント情報を登録する。なお、制御ファイル等は、スキャナ装置１１０のＲＡＭ２１４等の記憶領域に記憶されている。  
【００４９】
そして、スキャナドライバ３１０は、イベント監視モジュール３１８からスキャナ装置１１０のイベント情報を聞かれた場合、イベントキューからイベント情報を取り出し、イベント監視モジュール３１８に渡すよう機能する。なお、本実施形態では、キャプチャアプリケーション３１９とスキャナドライバ３１０とを別々としたが、勿論、スキャナドライバの機能を備えたキャプチャアプリケーションとしてもよい。  
【００５０】
オートランファイル３１７は、キャプチャアプリケーション３１９をコンピュータ１００で自動的に実行することを指示するための情報を含んでいる。オートランファイル３１７は、例えば、ａｕｔｏｒｕｎ．ｉｎｆである。オペレーティングシステム３０１がマイクロソフト（登録商標）ウインドウズであれば、ＵＳＢディスクドライブインターフェース３１４にＵＳＢメモリが挿入されると「ａｕｔｏｒｕｎ．ｉｎｆ」を実行するようになっている。オートランファイル３１７は、ＵＳＢディスクドライブインターフェース３１４を介してアクセスされるため、自動的に起動されることになる。  
【００５１】
なお、本実施形態では、オートランファイル３１７をコンピュータ１００が読み出して実行することで、キャプチャアプリケーション３１９とイベント監視モジュール３１８がコンピュータ１００のＲＡＭ２０４にロードされ起動される。すなわち、キャプチャアプリケーション３１９は、通信部を介して情報処理装置に転送されるプログラムであって情報処理装置で実行されるアプリケーションプログラムの一例である。  
【００５２】
本実施形態では、このようなキャプチャアプリケーション３１９やイベント監視モジュール３１８は、スキャナ装置１１０のＲＯＭ２１３からコンピュータ１００のＲＡＭ２０４に送るようにしてもよいが、スキャナ装置１１０のＲＯＭ２１３から一旦、同装置のＲＡＭ２１４に移し、このスキャナ装置１１０のＲＡＭ２１４からコンピュータ１００のＲＡＭ２０４へ送られるようにしてもよい。  
【００５３】
ここで、キャプチャアプリケーション３１９は、コンピュータ１００で実行されて画像を読み取るための制御を行うソフトウエアである。キャプチャアプリケーション３１９は、コンピュータ１００で実行されて、スキャナ装置１１０において画像を読み取るための制御を行うソフトウエアである。  
【００５４】
キャプチャアプリケーション３１９は、デバイスドライバを備えていないＰＣや、デバイスドライバやアプリケーションのインストールを制限されているＰＣにおいて有効である。なぜなら、キャプチャアプリケーション３１９は、ＰＣにデバイスドライバや任意のキャプチャアプリケーションをインストールすることなく、スキャナドライバ３１０を介して、直接スキャナ装置１１０を制御できるソフトウエアだからである。  
【００５５】
そして、上述したキャプチャアプリケーションは、本実施形態では、コンピュータ１００で実行されると、コンピュータ１００の画面にスキャナ装置１１０の制御画面を表示する。この制御画面は、ユーザ等により操作可能な画面であり、画面表示終了のための画面表示終了ボタン（例えば、「キャンセルボタン」、「×ボタン」等任意に設定可能）が含まれている。  
【００５６】
本実施形態においては、キャプチャアプリケーションは、このような制御画面上の画面終了ボタンがユーザにより押下されたことを検知する機能を備えている。また、キャプチャアプリケーションは、画面終了ボタンがユーザにより押下されたことを検知すると、起動状態を完全終了の状態に移行せず、上述した管理プログラムの一部の機能を発揮し、スキャナ装置１１０の制御画面を非表示化するようコンピュータ１００を機能させるようになっている。  
【００５７】
一方、イベント監視モジュール３１８は、通信部を介して情報処理装置に転送されるプログラムであって情報処理装置で実行され周辺装置の動作を監視するための監視プログラムの一例である。  
【００５８】
ここで、イベント監視モジュール３１８は、スキャナ装置１１０の操作ボタン１１５が押下されたか否かを定期的に監視するプログラムである。スキャナ装置１１０のファームウエアは、操作ボタン１１５が押下されているか否かを示す情報を制御ファイル３１５に書き込む。この情報は、通常、操作ボタン１１５が押下されたときに更新される。そして、イベント監視モジュール３１８は、制御ファイル３１５に含まれているこの情報を監視することで、操作ボタン１１５が押下されたか否かを判定する。  
【００５９】
なお、スキャナ装置１１０を制御するための制御ファイル３１５は、キャプチャアプリケーション３１９を実行しているコンピュータ１００からの制御コマンドなどが書き込まれるファイルである。制御コマンドは、通信部を介して転送されてきたアプリケーションプログラムを情報処理装置が実行することで情報処理装置から書き込まれる制御コマンドに相当する。制御ファイル３１５に、画像読み取り部２１６が生成した画像データが書き込まれる。よって、画像データは、制御コマンドに応じて周辺装置により生成されたデータの一例である。なお、制御ファイル３１５は、目的別に異なるファイルとして用意されてもよい。  
【００６０】
ＵＳＢディスクドライブインターフェース３１４は、スキャナ装置１１０に備えられているメモリ（フラッシュメモリ、ＥＥＰＲＯＭなど）をディスクドライブとして使用するためのソフトウエアである。ＵＳＢマスストレージクラスインターフェース３１３は、ＵＳＢディスクドライブインターフェース３１４を介してメモリをＵＳＢマスストレー
ジとして使用するためのソフトウエアである。  
【００６１】
スキャナ装置１１０は、オプションとして、ＵＳＢスキャナクラスインターフェース３１２とスイッチ３１１とを備えていてもよい。スイッチ３１１は、スキャナ装置１１０の筐体設けられた切り替えスイッチと連動する。すなわち、切り替えスイッチがスキャナモード側に切り替えられていると、ＵＳＢスキャナクラスインターフェース３１２をコンピュータ１００と接続させる。スキャナ装置１１０は、従来どおりのスキャナとしてコンピュータ１００に認識される。スキャナモードで動作しているスキャナ装置１１０を使用するには、コンピュータ１００はスキャナドライバを必要とする。  
【００６２】
一方、切り替えスイッチがドライブモード側に切り替えられていると、スイッチ３１１は、コンピュータ１００をＵＳＢマスストレージクラスインターフェース３１３と接続する。すなわち、スキャナ装置１１０は、外部記憶装置としてコンピュータ１００によって認識され、キャプチャアプリケーション３１９と制御ファイル３１５を通じて画像読み取り装置として機能する。  
【００６３】
ところで、コンピュータ１００上のオペレーティングシステム３０１は、ＵＳＢインターフェース２０５に通信ケーブル１０１を介して何らかの周辺装置が接続された場合、周辺装置のインターフェースにアクセスしてインターフェースクラスの情報取得し、周辺装置の種類を確定する。  
【００６４】
図４は、コンピュータ１００からキャプチャアプリケーション３１９を利用してスキャナ装置１１０で画像読み取りを行う処理のフローチャートである。  
【００６５】
コンピュータ１００のＣＰＵ２０１は、ＵＳＢインターフェース２０５に何からの周辺装置が接続されたか否かを判定する（Ｓ４０１）。周辺装置が接続されると、Ｓ４０２に進む。コンピュータ１００のＣＰＵ２０１は、ＵＳＢインターフェースドライバ３０４を通じて、接続された周辺装置のインターフェース（ＵＳＢマスストレージクラスインターフェース３１３）に接続する（Ｓ４０２）。  
【００６６】
コンピュータ１００のＣＰＵ２０１は、インターフェースクラスの情報をスキャナ装置１１０のＵＳＢマスストレージクラスインターフェース３１３から取得する（Ｓ４０３）。ＣＰＵ２０１は、この情報に基づいて、接続された周辺装置の種類を認識できる（Ｓ４０４）。ここでは、周辺装置がディスクドライブ（ＵＳＢマスストレージデバイス）であることが判明する。  
【００６７】
ＣＰＵ２０１は、オペレーティングシステム３０１及びＣＰＵ２０１は、接続されたスキャナ装置１１０をディスクドライブとしてファイルシステムに追加する（Ｓ４０５）。すなわち、オペレーティングシステム３０１は、スキャナ装置１１０内に保存してある制御ファイル３１５とオートランファイル３１７とキャプチャアプリケーション３１９に対応するテーブルを、ファイルシステム３０２に関連付けたファイルフォルダ内に形成する。  
【００６８】
これより、ＣＰＵ２０１は、スキャナ装置１１０内に格納してある制御ファイル３１５を、ドライブレター（例：Ｄ）を割り当てたディスクドライブ上のファイルとして認識する。このように、周辺装置は、情報処理装置に外部記憶装置として認識されて使用される。  
【００６９】
図５は、ドライブレターを割り当てられたディスクドライブ（スキャナ装置１１０）をファイル管理ソフトで開いた様子を示す図である。スキャナ装置１１０が提供するメモリは、フォルダ５００に対応している。フォルダ５００は、コンピュータ１００に接続されたキーボード／マウス２３０を使用して開くことができる。フォルダ５００は読み書き可能なフォルダであり、制御ファイル３１５（ファイル名：Ｃｏｎｔｒｏｌ．ｄａｔ）と、キャプチャアプリケーション３１９（ファイル名：ＣａｐｔｕｒｅＡｐｐｌｉｃａｔｉｏｎ．ｅｘｅ）と、オートランファイル３１７（ファイル名：Ａｕｔｏｒｕｎ．ｉｎｆ）とが格納されている。また、イベント監視モジュール３１８（ファイル名：ＥｖｅｎｔＭｏｎｉｔｏｒＭｏｄｕｌｅ．ｅｘｅ）も格納されている。  
【００７０】
なお、上述したイベント監視モジュール３１８は、ｅｘｅ形式の実行ファイルとして例示したが、勿論、本発明はこれに限定されず、例えば、ｄｌｌ形式のライブラリファイルとして、キャプチャアプリケーション３１９にロードされる構成であってもよい。  
【００７１】
次に、オペレーティングシステム３０１（ＣＰＵ２０１）は、ＵＳＢディスクドライブ内にデータＵＳＢメモリが挿入されたと判定し、スキャナ装置１１０内にあるオートランファイル３１７をＲＡＭ２０４にロードして実行する（Ｓ４０６）。オートランファイル３１７には、キャプチャアプリケーション３１９とイベント監視モジュール３１８を起動するよう記載されている。よって、オペレーティングシステム３０１（ＣＰＵ２０１）は、オートランファイル３１７にしたがってキャプチャアプリケーション３１９とイベント監視モジュール３１８を起動する（Ｓ４０７）。  
【００７２】
すなわち、オペレーティングシステム３０１及びＣＰＵ２０１は、スキャナ装置１１０内にあるキャプチャアプリケーション３１９とイベント監視モジュール３１８をＲＡＭ２０４にロードして起動する。ＣＰＵ２０１は、スキャナ装置１１０を外部記憶装置として認識されているため、キャプチャアプリケーション３１９およびイベント監視モジュール３１８を直接起動することができる。  
【００７３】
コンピュータ１００には、ディスプレイ２３１が接続されており、各種ユーザインターフェースの表示ができる。  
【００７４】
図６は、キャプチャアプリケーション３１９が起動したときに表示されるスキャナ装置１１０の制御画面であるユーザインターフェース６００の一例を示した図である。  
【００７５】
ユーザインターフェース６００には、スキャン設定を行うためのプルダウンメニュー、ファイル名を入力するためのテキストボックス、スキャンボタン６０１、キャンセルボタン６０２、終了ボタン６０３などが配置されている。スキャンボタン６０１は、画像の読み取りを開始させるための指示を発行するためのボタンである。  
【００７６】
キャンセルボタン６０２は、キャプチャアプリケーション３１９をＲＡＭに常駐させたままユーザインターフェース６００を非表示状態に切り替えるための指示を発行するボタンである。終了ボタン６０３は、キャプチャアプリケーション３１９をＲＡＭから開放して完全に終了させるための指示を発行するボタンである。  
【００７７】
図６に示すようなキャプチャアプリケーション３１９のユーザインターフェースが表示されると、ユーザは、キーボード／マウス２３０を操作して、スキャン設定を実行する。  
【００７８】
例えば、読み取りモード（本実施形態では、白黒）、用紙サイズ（本実施形態では、Ａ４）、解像度（本実施形態では、３００ｄｐｉ）、読み取り面（本実施形態では、両面）がキーボード／マウス２３０を使用して選択される。さらに、読み取った画像を保存するための画像ファイルのファイル名（本実施形態では、ｔｅｓｔ１）もキーボード／マウス２３０を操作して入力される。最後に、スキャンボタン６０１がキーボード／マウス２３０を使用してクリックされる。  
【００７９】
スキャンボタン６０１がキーボード／マウス２３０によりクリックされると、キャプチャアプリケーション３１９（ＣＰＵ２０１）は、スキャン設定を受け付け、スキャナ装置１１０内の制御ファイル３１５にスキャン設定を書き込む。さらに、ＣＰＵ２０１は、スキャン開始コマンドデータも制御ファイル３１５に書き込むよう制御する（Ｓ４０８）。  
【００８０】
スキャナ装置１１０のＣＰＵ２１１は、制御ファイル３１５を監視している。そうして、ＣＰＵ２１１は、スキャン設定およびスキャン開始コマンドデータが制御ファイル３１５に書かれたことを検出すると、制御ファイル３１５を読み込んで、そこに書かれているスキャン設定にしたがって画像読み取り部２１６を制御し、スキャンを開始する。スキャナ装置１１０はスキャンを開始すると、画像読み取り部２１６で読み取った画像を制御ファイル３１５に書き込む。制御コマンドに対応するステータスデータなども制御ファイル３１５に書き込まれる。この制御ファイルは、スキャン設定を可能としている制御ファイルと同一であってもよいし、異なってもよい。  
【００８１】
なお、スキャナ装置１１０においては、原稿の給紙口１１３に原稿検知センサ（図示なし）を設け、原稿検知センサにより原稿がないと判断された場合には、上述したＳ４０８の動作を実行しないように設定してもよい。具体的には、スキャナ装置１１０とコンピュータ１００とが接続している状態で、操作ボタン１１５を押下すると、キャプチャアプリケーション３１９が起動する。  
【００８２】
この際、原稿検知センサにより原稿がない旨の判断がされている状態においては、スキャンを開始しないようにする。再び、操作ボタン１１５が押下されると、スキャン動作を開始し、その際、原稿がない状態であれば、キャプチャアプリケーション３１９を介して原稿なしのエラー表示を行わせるようにしてもよい。  
【００８３】
コンピュータ１００のＣＰＵ２０１（キャプチャアプリケーション３１９）は、画像データが制御ファイル３１５に書き込まれたか否かを監視する（Ｓ４０９）。画像データが制御ファイル３１５に書き込まれたことを検出すると、ＣＰＵ２０１（キャプチャアプリケーション３１９）は、制御ファイル３１５から画像データを読み出す（Ｓ４１０）。  
【００８４】
キャプチャアプリケーション３１９は、読み出した画像データから、指定されたファイル名（本実施形態では、ｔｅｓｔ１）を付与した画像ファイルを生成してハードディスクドライブ２０２などに保存する（Ｓ４１１）。  
【００８５】
このように、本実施形態によれば、デバイスドライバやソフトウエアをコンピュータにインストールすることなく、画像読み取り装置が利用可能となる。これは、画像読み取り装置を外部記憶装置として情報処理装置に認識させ、この外部記憶装置に画像ファイルを書き込み、情報処理装置がこの画像ファイルを読み出すことで実現される。  
【００８６】
情報処理装置を制御するオペレーティングシステム（ＯＳ）は、画像読み取り装置のデバイスドライバを有していないが、外部記憶装置のデバイスドライバであれば有しているからである。この点に着目し、本実施形態では、画像読み取り装置を外部記憶装置として情報処理装置に認識させたまた、画像の読み取り処理を実現できる。したがって、デバイスドライバやアプリケーションプログラムを情報処理装置にインストールする手間を省ける。  
【００８７】
また、管理者権限を有していないユーザであっても、画像の読み取りを実行できる。また、デバイスドライバやアプリケーションプログラムを準備する必要はなく、これらを記憶したＣＤ−ＲＯＭを持ち運ぶ必要はないし、紛失してしまってもよい。メーカーは、ＣＤ−ＲＯＭを製品パッケージに同梱する必要がなくなるため、製造コスト面で有利である。  
【００８８】
画像ファイルの保存が完了すると、コンピュータ１００のＣＰＵ２０１（キャプチャアプリケーション３１９）は、表示状態にあるキャプチャアプリケーション３１９の非表示状態への移行が指示されたか否かを判定する（Ｓ４１２）。たとえば、キャンセルボタン６０２の押し下げを検出したときは、非表示状態への移行が指示されたと判定する。非表示状態への移行が指示されると、Ｓ４１３に進む。  
【００８９】
キャプチャアプリケーション３１９は、ユーザインターフェース６００を非表示に切り替えるようＣＰＵ２０１を機能させる（Ｓ４１３）。すなわち、ここでのキャプチャアプリケーション３１９は、上述した管理プログラムの一部の機能を発揮するようになっている。  
【００９０】
このように、アプリケーションプログラムは周辺装置の使用が終了した後で非表示状態に切り換わる。キャプチャアプリケーション３１９はバックグラウンドで動作を継続し、再開または表示状態への移行の指示を待つ
ことになる（図７、図８）。後述するように、非表示状態から表示状態に復帰すると、Ｓ４１４に進み、ＣＰＵ２０１は、終了ボタン６０３が押し下げられたか否かを判定する。  
【００９１】
なお、キャプチャアプリケーション３１９の非表示状態への移行は一種のイベントである。よって、イベント監視モジュール３１８は、キャプチャアプリケーション３１９の非表示状態への移行したことを検出する。  
【００９２】
非表示状態には、いくつかの手法がある。例えば、タスクバーに表示される最小表示状態、タスクトレイにアイコンとして表示される状態、デスクトップ上には一切表示されない状態などがある。  
【００９３】
ここで、イベント監視モジュール３１８にキャプチャアプリケーション３１９の実行状態に関するイベントを知らせる方法としては、例えば、ユーザインターフェースからキャンセルボタンや終了ボタン等を押下された場合、または、コンピュータ１００から「Ａｌｔ＋Ｆ４」や「Ｅｓｃ」等が押下されてキャプチャアプリケーション３１９の終了指示がなされた場合において、メモリから開放される前に、イベント監視モジュール３１８に対して、何らかのメッセージ（ＷＭ＿ＡＰＰＬＩＣＡＴＩＯＮ＿ＥＮＤ等の独自メッセージ）を送信する等の方法が挙げられる。  
【００９４】
なお、上記以外の方法としては、コンピュータ１００のオペレーションシステムを利用し、実行中のアプリケーションについて、イベント監視モジュール３１８からキャプチャアプリケーション３１９の終了状態を確認するようにしてもよい。  
【００９５】
一方、非表示状態への移行が指示されていなければ、Ｓ４１４に進む。ＣＰＵ２０１（キャプチャアプリケーション３１９）は、終了ボタン６０３が押し下げられたか否かを判定する（Ｓ４１４）。終了ボタン６０３が押し下げられていなければ、Ｓ４０８に戻り、ＣＰＵ２０１は、キャプチャアプリケーション３１９の表示状態を継続する。一方、終了ボタン６０３が押し下げられたことを検出すると、Ｓ４１５に進む。ＣＰＵ２０１は、ＲＡＭ２０４からキャプチャアプリケーション３１９を消去し、ＲＡＭ２０４を開放する（Ｓ４１５）。  
【００９６】
図７は、イベント監視モジュール３１８の動作を説明するための図である。ＣＰＵ２０１は、イベント監視モジュール３１８にしたがって、所定周期（例：５００ミリ秒）ごと（Ｓ７０１）、スキャナ装置１１０の操作ボタン１１５の状態を確認する(Ｓ７０２)。スキャナ装置１１０のＣＰＵ２１１は、操作ボタン１１５の押し下げを監視している。  
【００９７】
ＣＰＵ２１１は、押し下げを検出すると、制御ファイル３１５に操作ボタン１１５の押し下げられたことを意味する指示情報を書き込む。ここでは、操作ボタン１１５の押し下げは、キャプチャアプリケーション３１９の再開または表示状態への移行を意味する操作である。このように、スキャナ装置１１０のＣＰＵ２１１は、指示部により指示が発行されると指示情報をデータ記憶部に書き込む書込部の一例である。  
【００９８】
コンピュータ１００のＣＰＵ２０１は、イベント監視モジュール３１８にしたがって、制御ファイル３１５から指示情報を読み出し、指示情報に基づいて操作ボタンが押し下げられたか否かを判定する（Ｓ７０３）。  
【００９９】
このように、ＣＰＵ２０１は、データ記憶部に指示情報が書き込まれたか否かを判定する判定手段の一例である。操作ボタン１１５が押下されたことを検出すると、ＣＰＵ２１１は、キャプチャアプリケーション３１９に対して、操作ボタン１１５が押下されたことを意味するWM_BUTTON_PUSHメッセージを送信する(Ｓ７０４)。WM_BUTTON_PUSHメッセージは、実質的に、キャプチャアプリケーション３１９の再開または表示状態への移行を指示するために発行される情報である。このように、ＣＰＵ２０１は、指示情報が書き込まれるとアプリケーションプログラムを非表示状態から表示状態へ切り替える表示切替手段の一例である。  
【０１００】
図８は、非表示状態で待機しているキャプチャアプリケーションの動作を示したフローチャートである。このフローチャートは、Ｓ４１３をサブルーチンとして示したものである。  
【０１０１】
ＣＰＵ２０１は、キャプチャアプリケーション３１９にしたがって、WM_BUTTON_PUSHメッセージを受信したか否かを判定する（Ｓ８０１）。イベント監視モジュール３１８がWM_BUTTON_PUSHメッセージを送信してくると、Ｓ８０２に進む。ＣＰＵ２０１は、キャプチャアプリケーション３１９にしたがってユーザインターフェース６００を非表示状態から表示状態に切り替える（Ｓ８０２）。これにより、ユーザの利便性を向上することができる。例えば、操作者は、キャプチャアプリケーション３１９を再度利用して画像の読み取りを実行できるようになる。  
【０１０２】
ここでは、イベント監視モジュール３１８が制御ファイル３１５を通じて操作ボタン１１５の監視を行うものとして説明した。しかし、イベント監視モジュール３１８はキャプチャアプリケーション３１９に内蔵されていてもよい。この場合、キャプチャアプリケーション３１９が制御ファイル３１５を通じて操作ボタン１１５の監視を行う。  
【０１０３】
いずれにしても、本実施形態においては、各アプリケーション等のソフトウエア、周辺装置側のＣＰＵ、情報処理装置側のＣＰＵ等を適宜連携させて、上述した制御プログラム及び管理プログラムの機能を発揮するようにすればよく、上述したものに限定されるものではない。  
【０１０４】
本実施形態においては、キャプチャアプリケーション３１９からスキャンを開始する例を説明した。しかし、スキャナ装置１１０に設けられた操作ボタン１１５が押下されたことをＣＰＵ２１１が検知すると、スキャナ装置１１０がスキャンを開始してもよい。キャプチャアプリケーション３１９は、操作ボタン１１５が押下されたことを、制御ファイル３１５を介して監視する。この場合は、ＣＰＵ２１１が操作ボタン１１５を押下されたことを制御ファイル３１５に書き込むことになる。  
【０１０５】
なお、キャプチャアプリケーション３１９（ＣＰＵ２０１）が、制御ファイル３１５に画像データが格納されたことを検知してスキャンが開始されたと判断してもよい。  
【０１０６】
ところで、図６に示すユーザインターフェース６００の終了ボタン６０３が操作されると、上述したように、キャプチャアプリケーション３１９はＲＡＭ２０４から開放される。よって、キャプチャアプリケーション３１９を再起動するには、再度、キャプチャアプリケーション３１９をＲＡＭ２０４にロードしなければならない。  
【０１０７】
そこで、本実施形態では、キャプチャアプリケーション３１９が完全に終了した後でもイベント監視モジュール３１８をＲＡＭ２０４に常駐させておき、イベント監視モジュール３１８が操作ボタン１１５の操作を検出すると、キャプチャアプリケーション３１９を起動させる。この場合、ＣＰＵ２０１は、アプリケーションプログラムが終了状態にあれば、ソフトウエア記憶部に記憶されているアプリケーションプログラムを情報処理装置のメモリに再度ロードする再ロード手段として機能する。  
【０１０８】
また、コンピュータ１００のＣＰＵ２０１は、スキャナ装置１１０とコンピュータ１００との接続状態を一旦解除（ソフト的に）してから再接続させることで、スキャナ装置１１０とコンピュータ１００とのケーブル接続を物理的に抜き差しすることなく、コンピュータ１００のオートラン機能を働かせ、キャプチャアプリケーション３１９を再起動させることも可能である。なお、このようなキャプチャアプリケーション３１９の再起動に伴う制御は、例えば、コンピュータ１００からの電源供給を一旦停止し、供給することでも実現することができる。これにより、ユーザの利便性を向上することができる。  
【０１０９】
図９は、イベント監視モジュール３１８の動作を示したフローチャートである。すでに説明した箇所には同一の参照符号を付与することで、説明を簡潔にする。上述したＳ７０１ないしＳ７０３を実行したあとで、Ｓ９０１に進む。  
【０１１０】
ＣＰＵ２０１は、イベント監視モジュール３１８にしたがって、キャプチャアプリケーション３１９が起動中か否かを確認する(Ｓ９０１)。起動中か否かの確認は、プリケーションプログラムが終了した状態かどうかを判別する処理に相当する。よって、ＣＰＵ２０１は、アプリケーションプログラムが終了した状態かどうかを判別する判別手段として機能している。キャプチャアプリケーション３１９がＲＡＭ２０４にロードされていれば、Ｓ７０１に戻る。なお、キャプチャアプリケーション３１９が非表示状態にあれば、ＣＰＵ２０１は、Ｓ７０４を実行してからＳ７０１に戻る。  
【０１１１】
キャプチャアプリケーション３１９がＲＡＭ２０４にロードされていなければ、Ｓ９０２に進む。ＣＰＵ２０１は、イベント監視モジュール３１８にしたがって、スキャナ装置１１０との接続を解除する（Ｓ９０２）。例えば、ＣＰＵ２０１は、ＵＳＢインターフェース２０５を制御して、ＵＳＢバスのＤ＋信号とＤ−信号を共に０にする。これにより、コンピュータ１００からスキャナ装置１１０を切り離す。なお、ＵＳＢケーブルの挿抜は不要である。さらに、ＣＰＵ２０１は、ＵＳＢインターフェース２０５をＵＳＢバスリセットステートに移行させることで、スキャナ装置１１０が接続状態に移行する（Ｓ９０３）。これにより、図４に示したＳ４０１ないしＳ４０７が実行され、キャプチャアプリケーション３１９が起動する。このように、ＣＰＵ２０１は、アプリケーションプログラムが終了した状態にあれば、通信部と情報処理装置との接続を一旦切断してから再接続する再接続制御手段として機能する。  
【０１１２】
本実施例においては、操作ボタン１１５が押下されたときに、周辺装置と情報処理装置との接続（切断及び再接続）をシミュレーションすることによって、スキャナ装置１１０からキャプチャアプリケーション３１９等をコンピュータ１００に再度ロードし、コンピュータ１００によりキャプチャアプリケーション３１９を再起動することができる。これにより、ユーザの利便性を格段に向上することができる。  
【０１１３】
以上の説明は、基本的にユーザの利便性を考慮し、周辺装置（スキャナ装置１１０）の制御画面（ユーザインターフェース）に基づくユーザ操作によって制御プログラム（キャプチャアプリケーション３１９）の使用の終了操作が行われた場合に周辺装置の制御画面を制御するようにした。具体的には、制御プログラムを実質的に起動状態を維持したまま上記制御画面を非表示状態とし、その後この非表示状態から表示状態に切り替えるよう情報処理装置（コンピュータ）を機能させるようにした例について説明した。このような制御画面の制御は行わなくてもよく、例えば、図４のステップＳ４１２及びステップＳ４１３は省略可能である。すなわち、本発明は、上述した制御画面の制御に限定されず、制御プログラムの完全終了後であっても、制御プログラムの再送を可能とし、周辺装置を再び制御することができるようした点に特徴があるものである。  
【０１１４】
以下、本実施形態における制御プログラムの一例であるキャプチャアプリケーション３１９の再送、再起動について一例を挙げて詳細に説明する。  
【０１１５】
具体的には、キャプチャアプリケーション３１９が完全に終了した状態からの再起動について説明する。上述したように、終了ボタン６０３が操作されると、キャプチャアプリケーション３１９はＲＡＭ２０４から開放される。よって、キャプチャアプリケーション３１９を再起動するには、再度、キャプチャアプリケーション３１９をコンピュータ１００のＲＡＭ２０４に再送しなければならない。  
【０１１６】
このようなキャプチャアプリケーション３１９の再送は、情報処理装置の一例であるコンピュータ１００によるキャプチャアプリケーション３１９の使用状況に基づいて、実行される。  
【０１１７】
ここで、「キャプチャアプリケーション３１９の使用状況」とは、少なくともキャプチャアプリケーション３１９が完全に終了している状況と、
制御プログラムが完全に終了せずにスキャナ装置１１０の制御画面を非表示状態としている状況とを少なくとも含む。キャプチャアプリケーション３１９の再送は、上記のキャプチャアプリケーション３１９が完全に終了している状況、具体的には、キャプチャアプリケーション３１９がＲＡＭ２０４から開放されている場合に実行される。
【０１１８】
そして、キャプチャアプリケーション３１９の再送は、コンピュータ１００とスキャナ装置１１０とを接続した状態において、スキャナ装置１１０の操作に合わせて実行される。例えば、ここでいうスキャナ装置１１０の操作とは、スキャナ装置１１０を構成する部材を操作すること等が挙げられる。
【０１１９】
具体的には、スキャナ装置１１０の本体に設けられた操作ボタン１１５の押下等が挙げられる。なお、このようなキャプチャアプリケーション３１９の再送は、上記の場合に限定されず、例えば、給紙トレイ１１２の開閉動作に合わせてもよいし、給紙口近傍に原稿検知センサを設けて給紙口の原稿検知に合わせてもよい。あるいは、操作ボタン１１５とは異なる専用の再送ボタンを装置本体１１１に別途設けてもよい。いずれにしても、スキャナ装置１１０側で所定の操作が行われたことを検知した場合に、制御プログラムの再送を実行するようにすればよい。  
【０１２０】
そして、スキャナ装置１１０の制御部であるＣＰＵ２１１は、キャプチャアプリケーション３１９の再送を上述したスキャナ装置１１０の操作に連動して実行するよう制御する。  
【０１２１】
また、キャプチャアプリケーション３１９の再送においては、上述したスキャナ装置１１０の操作により、スキャナ装置１１０のＣＰＵ２１１が、コンピュータ１００とスキャナ装置１１０との接続をソフト的に一旦切断してから再接続させてキャプチャアプリケーション３１９をコンピュータ１００に再送させるようにしてもよい。
【０１２２】
勿論、上述した場合に限定されず、本実施形態では、スキャナ装置１１０への電源供給をコンピュータ１００からのＵＳＢバスパワーとしているので、例えば、スキャナ装置１１０のＣＰＵ２１１は、コンピュータ１００からスキャナ装置１１０への電源供給を一旦停止してから再供給させることで、キャプチャアプリケーション３１９をコンピュータ１００に再送させるようにしてもよい。
【０１２３】
これにより、上述した何れの場合においても、コンピュータ１００とスキャナ装置１１０との物理的な接続ケーブルの抜き差し等の煩雑な作業を行う必要がなく、キャプチャアプリケーション３１９を確実に再送し、コンピュータ１００側で制御プログラムを再起動させることができる。したがって、ユーザの利便性を向上することができ、ユーザによるスキャナ装置１１０の再駆動に要する手間を簡略化することができる。
【０１２４】
また、キャプチャアプリケーション３１９の再送に際しては、コンピュータ１００によりキャプチャアプリケーション３１９の使用が完全終了していることを事前に判断することが好ましい。例えば、スキャナ装置１１０のＣＰＵ２１１は、コンピュータ１００でキャプチャアプリケーション３１９の使用が完全に終了したことを示す終了情報が記憶領域（実際には制御ファイル等）に書き込まれているか否かを確認することが好ましい。
【０１２５】
すなわち、スキャナ装置１１０のＣＰＵ２１１は、記憶領域を参照してキャプチャアプリケーション３１９の終了情報を事前確認し、キャプチャアプリケーション３１９の終了情報を確認したことを条件として、キャプチャアプリケーション３１９を再送するようにする。これにより、キャプチャアプリケーション３１９の重複起動を防止しつつ、ユーザの利便性を向上することができる。
【０１２６】
また、上記のキャプチャアプリケーション３１９の終了情報は、キャプチャアプリケーション３１９がユーザによる使用の終了を自ら検知できるようにし、キャプチャアプリケーション３１９がメモリ開放される前にスキャナ装置１１０の記憶領域に書き込まれるようにしてもよい。  
【０１２７】
さらに、キャプチャアプリケーション３１９の使用の終了状況を管理する管理プログラム（例えば、イベント監視モジュール３１８等）を別途、スキャナ装置１１０に常駐させておいてもよいし、このような管理プログラムをキャプチャアプリケーション３１９と一緒にコンピュータ１００に送信して実行させておいてもよい。  
【０１２８】
そして、管理プログラムは、キャプチャアプリケーション３１９の使用終了状況を監視し、キャプチャアプリケーション３１９の使用終了を検知した場合には、当該キャプチャアプリケーション３１９の終了情報をスキャナ装置１１０の記憶領域に書き込むようにしてもよい。  
【０１２９】
いずれの場合においても、スキャナ装置１１０の記憶領域に書き込まれたキャプチャアプリケーション３１９の終了情報を制御部が事前確認し、キャプチャアプリケーション３１９を再送することができる。これにより、コンピュータ１００でキャプチャアプリケーション３１９が重複起動してしまうことを有効に防止することができる。  
【０１３０】
ここで、キャプチャアプリケーション３１９の使用の終了状況を管理する管理プログラムとして、例えば、イベント監視モジュール３１８を適用した場合について、以下説明する。例えば、キャプチャアプリケーション３１９が完全に終了した後でもイベント監視モジュール３１８をＲＡＭ２０４に常駐させておき、イベント監視モジュール３１８が操作ボタン１１５の操作を検出すると、キャプチャアプリケーション３１９を再送させて起動させる。この場合、スキャナ装置１１０のＣＰＵ２１１は、アプリケーションプログラムが終了状態にあれば、ソフトウエア記憶部に記憶されているアプリケーションプログラムを情報処理装置のメモリに再度ロードする再ロード手段として機能する。  
【０１３１】
ここで、スキャナ装置１１０のＣＰＵ２１１は、スキャナ装置１１０とコンピュータ１００との接続状態を一旦解除（ソフト的に）してから再接続させることで、スキャナ装置１１０とコンピュータ１００とのケーブル接続を物理的に抜き差しすることなく、コンピュータ１００のオートラン機能を働かせ、キャプチャアプリケーション３１９を再起動させることが可能である。なお、このようなキャプチャアプリケーション３１９の再起動に伴う制御は、例えば、コンピュータ１００からの電源供給を一旦停止し、供給することでも実現することができる。これにより、ユーザの利便性を向上することができる。  
【０１３２】
図１０は、イベント監視モジュール３１８の動作を示したフローチャートである。  
【０１３３】
まず、スキャナ装置１１０のＣＰＵ２１１は、イベント監視モジュール３１８にしたがって、キャプチャアプリケーション３１９が起動中か否かを確認する(Ｓ１００１)。起動中か否かの確認は、プリケーションプログラムが終了した状態かどうかを判別する処理に相当する。よって、スキャナ装置１１０のＣＰＵ２１１は、アプリケーションプログラムが終了した状態かどうかを判別する判別手段として機能している。  
【０１３４】
次に、ステップＳ１００１でキャプチャアプリケーション３１９の使用状態が完全に終了されていると判断された場合には、Ｓ１００２に進む。ここでは、スキャナ装置１１０のＣＰＵ２１１は、キャプチャアプリケーション３１９の終了情報がスキャナ装置１１０の記憶領域（例えば、制御ファイル等）に書き込まれているかを確認する。続いて、ユーザによるスキャナ装置１１０の操作（具体的には操作ボタン１１５等の押下）を検知すると、スキャナ装置１１０のＣＰＵ２１１は、イベント監視モジュール３１８の判断にしたがって、コンピュータ１００とスキャナ装置１１０との接続を解除する（Ｓ１００２）。例えば、スキャナ装置１１０のＣＰＵ２１１は、ＵＳＢインターフェース２１５を制御して、ＵＳＢバスのＤ＋信号とＤ−信号を共に０にする。これにより、コンピュータ１００からスキャナ装置１１０を切り離す。なお、ＵＳＢケーブルの挿抜は不要である。  
【０１３５】
さらに、ＵＳＢインターフェース２１５をＵＳＢバスリセットステートに移行させることで、スキャナ装置１１０が接続状態に移行する（Ｓ１００３）。これにより、図４に示したＳ４０１ないしＳ４０７が実行され、キャプチャアプリケーション３１９が再送され起動する。このように、スキャナ装置１１０のＣＰＵ２１１は、アプリケーションプログラムが終了した状態にあれば、通信部と情報処理装置との接続を一旦切断してから再接続する再接続制御手段として機能する。  
【０１３６】
本実施形態においては、操作ボタン１１５等が押下されたときに、周辺装置と情報処理装置との接続（切断及び再接続）をシミュレーションすることによって、スキャナ装置１１０からキャプチャアプリケーション３１９等をコンピュータ１００に再度ロードし、コンピュータ１００によりキャプチャアプリケーション３１９を再起動することができる。これにより、ユーザの利便性を向上することができる。なお、上述したキャプチャアプリケーション３１９の再送制御は、本実施形態ではスキャナ装置１１０のＣＰＵ２１１により制御するようにしたが、情報処理装置であるコンピュータ１００のＣＰＵ２０１で同様の制御をさせるようにしてもよいし、スキャナ装置１１０（ＣＰＵ２１１）とコンピュータ１００（ＣＰＵ２０１）とで上述した制御をさせるようにしてもよい。  
【０１３７】
なお、セキュリティの観点からスキャン機能を実行させたくない場合であれば、コンピュータ１００のオートラン機能をオフに設定することによって、スキャン機能の実行を制限することもできる。一般に、マイクロソフトウインドウズ（登録商標）よれば、レジストリの設定を書き替えることによって、容易にオートラン機能の設定を変更することが可能である。  
【０１３８】
＜他の実施形態＞  以上、本発明を実施形態１に基づいて説明したが、本発明は上述した実施形態１に限定されるものではない。例えば、上述した実施形態１では、スキャナ装置１１０への電源供給は情報処理装置１００から行う場合について説明したが、この場合、スキャナ装置から送信された制御プログラムの使用が完全に終了した場合に、これを管理プログラム等により監視してスキャナ装置の電源をオフするように制御してもよい。  
【０１３９】
ここで、スキャナ装置の電源オフ状態において、スキャナ装置の操作に基づいて、電源オフからオンに切り替える際、情報処理装置とスキャナ装置とが接続されている状態であれば、スキャナ装置の記憶領域から制御プログラムを再送するようにしてもよい。この場合、スキャナ装置の電源は基本的にはオフされているが、スキャナ装置の電源オフに要する待機電力は、バッテリーで確保してもよいし情報処理装置から受けていてもよい。あるいは、別途、商用電源からＡＣアダプタ等によりスキャナ装置に供給されていてもよい。  
【０１４０】
さらに、スキャナ装置の電源オフからオンへの切り替えに伴う制御プログラムの再送については、例えば、スキャナ装置の本体に設けられるスキャン動作のスタートボタン（実施形態１では操作ボタン１１５）の押下により、電源のオンオフ制御と連動させるようにすることが好ましい。これにより、ユーザは１度の操作で、電源オンと制御プログラムの再送とを実行することができ、ユーザの利便性をさらに向上することができる。  
【０１４１】
また、上述した実施形態１では、周辺装置としてスキャナ装置１１０を例示して説明したが、本発明は勿論これに限定されず、情報処理装置に接続される１つ又は複数の周辺装置を制御するための制御プログラムを何れかの周辺装置に記憶させておき、情報処理装置に制御プログラムを送信し、情報処理装置による制御プログラムの実行により、情報処理装置に接続される１つ又は複数の周辺装置を制御可能とするような態様であれば適用可能である。具体的には、各種制御プログラムを記憶したＵＳＢメモリ、イメージリーダまたは画像読取装置、複合機や、その他、複写機、プリンタ等の周辺装置、あるいは周辺装置の制御方法、制御プログラム、又は周辺装置と情報処理装置とからなる情報処理システムにも広く適用可能である。
【符号の説明】
【０１４２】
１００  パーソナルコンピュータ  １０１  ＵＳＢ通信ケーブル  １１０  スキャナ装置  ２０１  コンピュータ１００内のＣＰＵ  ２０２  コンピュータ１００内のハードディスクドライブ  ２０３  コンピュータ１００内のＲＯＭ  ２０４  コンピュータ１００内のＲＡＭ  ２０５  コンピュータ１００内のＵＳＢインターフェース  ２１１  スキャナ装置１１０内のＣＰＵ  ２１２  スキャナ装置１１０内のＵＳＢコントローラ  ２１３  スキャナ装置１１０内のＲＯＭ  ２１４  スキャナ装置１１０内のＲＡＭ  ２１５  スキャナ装置１１０内のＵＳＢインターフェース  ２１６  スキャナ装置１１０内の画像読み取り部  ２２２  コンピュータ１００にインストールされたキャプチャアプリケーション  ２３０  キーボード/マウス  ２３１  ディスプレイ  ３０１  オペレーティングシステム  ３０２  ファイルシステム  ３０３  ＵＳＢマスストレージドライバ  ３０４  ＵＳＢインターフェースドライバ  ３１１  切り替えスイッチ  ３１２  ＵＳＢスキャナクラスインターフェース  ３１３  ＵＳＢマスストレージインターフェース  ３１４  ＵＳＢディスクドライブインターフェース  ３１５  制御ファイル  ３１７  オートランファイル  ３１８  イベント監視モジュール  ３１９  キャプチャアプリケーション  ５００  ドライブレターを割り当てられたディスクドライブ  ６００  キャプチャアプリケーションのユーザインターフェース  ６０１  キャプチャアプリケーション上のスキャンボタン  ６０２  キャプチャアプリケーション上のキャンセルボタン  ６０３  キャプチャアプリケーション上の閉じるボタン
【図１】
2011024057.tif 000003
【図２】
2011024057.tif 000004
【図３】
2011024057.tif 000005
【図４】
2011024057.tif 000006
【図５】
2011024057.tif 000007
【図６】
2011024057.tif 000008
【図７】
2011024057.tif 000009
【図８】
2011024057.tif 000010
【図９】
2011024057.tif 000011
【図１０】
2011024057.tif 000012