説明

周辺装置

【課題】周辺装置からソフトウエアをコンピュータにインストールできるようにしつつ、周辺装置に記憶されているソフトウエアを更新できるようにする。
【解決手段】周辺装置は、情報処理装置の外部記憶装置としての機能と該情報処理装置の外部周辺機器としての機能とを備えている。周辺装置は、外部周辺機器としての機能を情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに、外部記憶装置として記憶領域を該情報処理装置に提供する記憶手段と、記憶手段に記憶されている制御ソフトウエアモジュールよりも新しいバージョンの制御ソフトウエアモジュールが情報処理装置に記憶されているときに、情報処理装置から送信される該新しいバージョンの制御ソフトウエアモジュールを受信して、記憶手段に書き込む書き込み手段とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に接続されて利用される周辺装置に関する。
【背景技術】
【0002】
イメージスキャナ、プリンタまたは複合機などの周辺装置は広く普及している。これらの周辺装置に接続するインターフェースとして、シリアルインタフェース、パラレルインタフェース、USB、IEEE1394、LANなどが知られている。
【0003】
ところで、周辺装置をパーソナルコンピュータ(PC)上で使用できるようにするためには、その周辺装置用のデバイスドライバやアプリケーションソフトウエアをパーソナルコンピュータにインストールしなければならない(特許文献1)。
【特許文献1】特開2004−334449号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来、周辺装置用のデバイスドライバやアプリケーションソフトウエアは、一般に、CD−ROMにより頒布されている。よって、このCD−ROMを用意しなければ、デバイスドライバをインストールすることができなかった。例えば、CD−ROMを紛失してしまうと、デバイスドライバをインストールすることができなかった。インターネットを介してデバイスドライバを入手できるケースもあるが、そのためにインターネットに接続できる環境が必要である。また、デバイスドライバを提供しているWEBサイトのURLや、周辺装置の種類や名称を正確に入力しなければならず、面倒であった。とりわけ、ユーザによっては、1つの周辺装置を自己のオフィースや自宅にあるPCだけでなく、出張先のPCに接続して使用することもある。このような場合、毎度毎度、ドライバを格納したCD−ROMを持参することは面倒であろう。
【0005】
そこで、本願発明者は、周辺装置に予め必要なソフトウエアを格納しておき、周辺装置からパーソナルコンピュータにソフトウエアをインストールする発明を想起した。すなわち、初期状態において周辺装置を外部記憶装置(例:USBメモリやUSB接続型CD−ROMドライブなど)としてパーソナルコンピュータに認識させ、デバイスドライバやアプリケーションソフトウエアを周辺装置からパーソナルコンピュータにインストールし、インストールが完了すると、パーソナルコンピュータは、周辺装置を外部記憶装置から本来の機能(例:スキャナやプリンタなどの外部周辺機器)に切り替える。このような構成には、事前にデバイスドライバやアプリケーションソフトウエアをパーソナルコンピュータにインストールしておく必要がなくなるといった利点がある。すなわち、製品に添付されていたCD−ROMを用意する必要はないし、CD−ROMを紛失してしまってもよい。究極的には、CD−ROMを製品に添付する必要もないだろう。さらに、インターネットに接続する必要もない。
【0006】
しかし、デバイスドライバやアプリケーションソフトウエアは、月日が経つにつれてバージョンアップが進むため、周辺装置に格納されているソフトウエアが最新のソフトウエアでなくなってしまうことが予想される。最新のソフトウエアは、一般に、機能の向上や動作の安定性の向上が図られているため、ユーザは最新のソフトウエアを使用することが望ましい。このような最新のソフトウエアは、インターネットからダウンロードされ、パーソナルコンピュータにインストールされることになろう。周辺装置は、特定のパーソナルコンピュータだけでなく、他のパーソナルコンピュータに接続されることもある。よって、周辺装置に格納されているソフトウエアも最新のソフトウエアに維持されていれば、周辺装置をどのようなパーソナルコンピュータに接続しても最新のソフトエアが使用されることになろう。
【0007】
そこで、本発明は、このような課題および他の課題のうち、少なくとも1つを解決することを目的とする。例えば、本発明は、周辺装置からソフトウエアをコンピュータにインストールできるようにしつつ、周辺装置に記憶されているソフトウエアを更新できるようにすることを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【0008】
本願発明は、例えば、情報処理装置の外部記憶装置としての機能と該情報処理装置の外部周辺機器としての機能とを備えた周辺装置に適用できる。周辺装置は、
前記外部周辺機器としての機能を前記情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに、前記外部記憶装置として記憶領域を該情報処理装置に提供する記憶手段と、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールよりも新しいバージョンの制御ソフトウエアモジュールが前記情報処理装置に記憶されているときに、該新しいバージョンの制御ソフトウエアモジュールを前記情報処理装置から受信して、前記記憶手段に書き込む書き込み手段と
を含むことを特徴とする。
【発明の効果】
【0009】
本発明によれば、周辺装置からソフトウエアをコンピュータにインストールできるようにしつつ、周辺装置に記憶されているソフトウエアを更新できるようになる。
【発明を実施するための最良の形態】
【0010】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0011】
<本発明の基本的な技術思想>
はじめに本発明の基本的な技術思想について列挙する。
【0012】
[観点1]
情報処理装置の外部記憶装置としての機能と該情報処理装置の外部周辺機器としての機能とを備えた周辺装置であって、
前記外部周辺機器としての機能を前記情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに、前記外部記憶装置として記憶領域を該情報処理装置に提供する記憶手段と、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールよりも新しいバージョンの制御ソフトウエアモジュールが前記情報処理装置に記憶されているときに、前記情報処理装置から送信される該新しいバージョンの制御ソフトウエアモジュールを受信して、前記記憶手段に書き込む書き込み手段と
を含むことを特徴とする周辺装置。
【0013】
本発明によれば、周辺装置から制御ソフトウエアモジュールを情報処理装置にインストールできるため、従来のように、事前に制御ソフトウエアモジュールをインストールしておく必要はない。同様に、制御ソフトウエアモジュールを記憶したCD−ROMなどを用意する手間を省ける。このように、インストール作業が非常に簡略化されるメリットがある。さらに、パーソナルコンピュータ側により新しいバージョンのソフトウエアが存在するときは、それを周辺装置に書き込む。よって、周辺装置に格納されているソフトウエアをより新しいものに更新することが可能となる。
【0014】
[観点2]
前記記憶手段に記憶されている制御ソフトウエアモジュールと同一バージョンの制御ソフトウエアモジュールまたはより新しいバージョンの制御ソフトウエアモジュールのいずれもが前記情報処理装置にインストールされていないときに、前記記憶手段に記憶されている制御ソフトウエアモジュールを前記情報処理装置にインストールするために転送する転送手段
をさらに含むことを特徴とする観点1に記載の周辺装置。
【0015】
本発明によれば、情報処理装置に制御ソフトウエアモジュールがインストールされていないケースや、情報処理装置にインストールされている制御ソフトウエアモジュールのバージョンが相対的に古いケースに限り、周辺装置から情報処理装置への制御ソフトウエアモジュールのインストールが実行される。よって、情報処理装置が記憶している制御ソフトウエアモジュールが相対的に新しいにもかかわらず、古い制御ソフトウエアモジュールを上書きインストールしてしまう事態を回避できよう。
【0016】
[観点3]
前記情報処理装置に前記外部記憶装置として認識させるか、前記外部周辺機器として認識させるかを切り替える切り替え手段をさらに備え、
前記記憶手段は、前記制御ソフトウエアモジュールのインストールを制御するコンピュータプログラムを記憶しており、
前記コンピュータプログラムは、前記周辺装置を前記外部記憶装置として認識している前記情報処理装置によって前記記憶手段から読み出されて実行されるコンピュータプログラムであり、
さらに、前記コンピュータプログラムは、前記情報処理装置を、
前記記憶手段に記憶されている制御ソフトウエアモジュールのバージョンと、前記情報処理装置にインストールされている制御ソフトウエアモジュールのバージョンとを比較する比較手段と、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールが前記情報処理装置にインストールされていないとき、または該制御ソフトウエアモジュールよりも古いバージョンの制御ソフトウエアモジュールが前記情報処理装置にインストールされているときに、前記記憶手段から制御ソフトウエアモジュールを読み出して前記情報処理装置にインストールするインストール手段と、
前記情報処理装置にインストールされている制御ソフトウエアモジュールのバージョンが前記記憶手段に記憶されている制御ソフトウエアモジュールのバージョンよりも古くないと判定されたとき、または、前記記憶手段から制御ソフトウエアモジュールが前記情報処理装置にインストールされたときに、前記切り替え手段に切り替え命令を送信することで、前記周辺装置を前記外部周辺機器として認識させる認識制御手段
として機能させるコンピュータプログラムであることを特徴とする観点1または2に記載の周辺装置。
【0017】
本発明によれば、周辺装置に記憶されているコンピュータプログラムによって、古いバージョンの制御ソフトウエアモジュールが情報処理装置に存在すると判定されると、周辺装置から制御ソフトウエアモジュールが情報処理装置にインストールされることになる。逆に、同一またはより新しい制御ソフトウエアモジュールが情報処理装置に存在すれば、インストールは実行されない。とりわけ、周辺装置は、当初、外部記憶装置(例:USBメモリやUSBタイプのCDドライブなど)として認識されているため、情報処理装置に簡単な手法で、インストール制御用のコンピュータプログラムを転送することができる。そして、同一または新しい制御ソフトウエアモジュールが存在しているか、または、インストールが完了すれば、周辺装置が、外部周辺機器(例:イメージスキャナなど)として認識される。このように、情報処理装置が、周辺装置の認識を切り替えることで、ユーザの負担を緩和しつつ、周辺装置を外部周辺機器として利用できるようになる。
【0018】
[観点4]
前記情報処理装置は、前記周辺装置が接続された直後は該周辺装置をCDドライブとして認識し、
前記コンピュータプログラムは、前記記憶手段のうち前記CDドライブとして認識される記憶領域に記憶されているAutorun.infによって自動的に起動されるように記述されていることを特徴とする観点3に記載の周辺装置。
【0019】
Autorun.infは、自動的にコンピュータプログラムを起動するためのファイルとしてよく知られているため、比較的に簡単な方法で、本発明を実現できる。
【0020】
[観点5]
前記コンピュータプログラムは、前記情報処理装置を、
前記記憶手段に記憶されている制御ソフトウエアモジュールの更新履歴を記録する記録手段として機能させることを特徴とする観点3または4に記載の周辺装置。
【0021】
本発明によれば、周辺装置に記憶されている制御ソフトウエアモジュールの更新履歴を記録することで、ユーザは、周辺装置に記憶されている制御ソフトウエアモジュールの更新の変遷を把握することができる。
【0022】
[観点6]
前記周辺装置は、画像を読み取る画像取装置であり、
前記制御ソフトウエアモジュールは、前記画像取装置を制御するためのドライバソフトウエアまたはアプリケーションソフトウエアであることを特徴とする観点1ないし5のいずれか1項に記載の周辺装置。
【0023】
本発明は、画像読取装置において、好適に利用されよう。なぜなら、画像読取装置などの周辺装置は、様々なパーソナルコンピュータに接続されて利用される可能性があるからである。なお、画像読取装置は単なる一例に過ぎず、プリンタ、デジタルカメラ、ビデオカメラ、音楽再生装置、その他の周辺装置に本発明を適用できることはいうまでもない。
【0024】
[観点7]
情報処理装置の外部記憶装置としての機能と、該情報処理装置の外部周辺機器としての機能と、該外部周辺機器としての機能を前記情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに前記情報処理装置の外部記憶装置として記憶領域を該情報処理装置に提供する記憶手段と、を備えた周辺装置の制御方法であって、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールよりも新しいバージョンの制御ソフトウエアモジュールが前記情報処理装置に記憶されているときに、前記情報処理装置から送信される該新しいバージョンの制御ソフトウエアモジュールを受信する受信工程と、
前記新しいバージョンの制御ソフトウエアモジュールを前記記憶手段に書き込む書き込み工程と
を含むことを特徴とする周辺装置の制御方法。
【0025】
本発明の制御方法によれば、観点1と同様の効果が得られる。
【0026】
図1は、コンピュータとスキャナ装置とのソフトウエアブロック図である。パーソナルコンピュータ100は、例えば、一般的なパーソナルコンピュータ(PC)などのホストコンピュータである。ここでは、情報処理装置の一例として、パーソナルコンピュータ100について説明する。
【0027】
パーソナルコンピュータ100には、オペレーティングシステム101、ファイルシステム201、USBマスストレージドライバ202及びUSBドライバ103がインストールされている。オペレーティングシステム101は、いわゆるOSのことであり、パーソナルコンピュータ100の基本ソフトウエアである。ここでは、マイクロソフトウインドウズ(登録商標)オペレーティングシステムがOSとして採用されているものとする。ファイルシステム201は、ハードディスクドライブなどの記憶装置にファイルを格納するためのソフトウエアである。USBマスストレージドライバ202は、ハードディスクドライブ、CD−ROM、DVD−ROM、CD−R、CD−RW、DVD−R、DVD−RW、DVD+RW、DVD−RAM、USBメモリなどのマスストレージを制御するためのソフトウエアである。USBドライバ103は、USBインターフェースに接続されたUSBデバイスを制御するためのソフトウエアである。なお、これらのソフトウエアはOSの一部であってもよい。
【0028】
スイッチ220を切り替えることで、USBマスストレージドライバ202以外のデバイスドライバへ接続を切り替えることができるものとする。スイッチ220は、ソフトウエアで実現されてもよいし、電気的に切り替え可能な電子スイッチを用いてハードウエアによって実現されてよい。また、ソフトウエア及びハードウエアの両方を用いてスイッチ220が実現されてもよい。
【0029】
スキャナ装置106は、情報処理装置の外部記憶装置としての機能と情報処理装置の外部周辺機器としての機能とを備えた周辺装置の一例である。スキャナ装置106には、USBスキャナクラスインターフェース108、CDドライブインターフェース205、USBマスストレージクラスインターフェース206、スイッチ221、オートランファイル207、判断アプリケーション224、インストーラ225、キャプチャアプリケーション231、USBスキャナドライバ226、スキャナドライバ更新履歴情報ファイル227などを備えている。スキャナドライバ更新履歴情報ファイル227は、USBスキャナドライバ226の更新履歴を保持するためのファイルである。
【0030】
USBスキャナクラスインターフェース108は、スキャナ装置106をUSB接続型の画像読取装置として使用するためのインターフェースである。CDドライブインターフェース205は、スキャナ装置106に備えられているメモリ(フラッシュメモリ、EEPROMなど)の少なくとも1部をCDドライブとして使用するためのソフトウエアである。USBマスストレージクラスインターフェース206は、CDドライブインターフェース205を介してメモリをUSBマスストレージとして使用するためのソフトウエアである。スイッチ221は、パーソナルコンピュータに接続されるインターフェースを、USBマスストレージクラスインターフェース206と、USBスキャナクラスインターフェース108とのいずれか一方に切り替えるためのスイッチである。スイッチ221は、情報処理装置に外部記憶装置として認識させるか、外部周辺機器として認識させるかを切り替える切り替え手段の一例である。スイッチ221は、ソフトウエアによって実現されてもよいし、ハードウエアによって実現されてもよい。また両者の組み合わせでもよい。
【0031】
オートランファイル207は、例えば、Autorun.infなどで、スキャナ装置106がCDドライブとして認識されたときに、パーソナルコンピュータによって自動的に読み出されるファイルである。オートランファイル207の内部には、自動的に起動すべきソフトウエアを指定するための記述が含まれている。
【0032】
判断アプリケーション224は、スキャナ装置106用のスキャナドライバやキャプチャアプリケーションなどがパーソナルコンピュータにインストールされているかどうかを判定するコンピュータプログラムである。また、判断アプリケーション224は、記憶手段に記憶されている制御ソフトウエアモジュールのバージョンと、情報処理装置にインストールされている制御ソフトウエアモジュールのバージョンとを比較する比較手段の一例である。なお、判断アプリケーション224は、制御ソフトウエアモジュールのインストールを制御するコンピュータプログラムの一例である。また、判断アプリケーション224やインストーラ225は、周辺装置を外部記憶装置として認識しているパーソナルコンピュータ(情報処理装置)によって記憶手段から読み出されてRAM32等にロードされ実行されるコンピュータプログラムである。
【0033】
インストーラ225は、USBスキャナドライバ226やキャプチャアプリケーション231をパーソナルコンピュータにインストールするためのコンピュータプログラムである。よって、判断アプリケーション224、インストーラ225及びCPU121は、記憶手段に記憶されている制御ソフトウエアモジュールが情報処理装置にインストールされていないとき、または記憶手段に記憶されている制御ソフトウエアモジュールよりも古いバージョンの制御ソフトウエアモジュールが情報処理装置にインストールされているときに、記憶手段から制御ソフトウエアモジュールを読み出して情報処理装置にインストールするインストール手段の一例である。
【0034】
キャプチャアプリケーション231は、スキャナ装置106によって読み取られた画像データを編集したり、任意の圧縮形式のファイルに変換したりするためのコンピュータプログラムである。USBスキャナドライバ226は、パーソナルコンピュータがパーソナルコンピュータに接続されたスキャナ装置106を制御するためのコンピュータプログラムである。両者は、必要に応じてパーソナルコンピュータ100によって記憶手段から読み出され、インストーラ225によってパーソナルコンピュータ100にインストールされる。
【0035】
図2は、キャプチャアプリケーションおよびスキャナドライバをインストールした状態のパーソナルコンピュータとスキャナ装置とについてのソフトウエアブロック図である。すでに説明した箇所には同一の参照符号を付与することで、説明を簡潔にする。
【0036】
図1と比較すると、図2では、パーソナルコンピュータにキャプチャアプリケーション222およびUSBスキャナドライバ102がインストールされている。スイッチ221がパーソナルコンピュータ100によって実行されている判断アプリケーション224によって図2のように切り替えられると、USBスキャナクラスインターフェース108が有効になる。パーソナルコンピュータ100は、スキャナ装置106が接続されたことを認識し、スイッチ220を切り替える。これにより、USBドライバ103とUSBスキャナドライバ102が結合される。パーソナルコンピュータ100は、USBスキャナドライバ102やキャプチャアプリケーション222を使用してスキャナ装置106を制御できるようになる。
【0037】
図3は、パーソナルコンピュータとスキャナ装置とについてのハードウエアブロック図である。
【0038】
パーソナルコンピュータ100は、CPU121、ROM123、RAM124、ハードディスクドライブ122、USBインターフェース104で構成される。パーソナルコンピュータ100は、USBケーブル105を介してスキャナ装置106と接続される。また、パーソナルコンピュータ100には、キーボード/マウス125とディスプレイ126が接続されている。
【0039】
パーソナルコンピュータ100に電力が投入されると、CPU121は、ROM123からファームウエアを読み出して起動し、ハードディスクドライブ122からマイクロソフトウインドウズ(登録商標)等のオペレーティングシステム101を起動する。OSなどの必要なソフトウエアは、RAM124にロードされる。
【0040】
一方、スキャナ装置106は、CPU110、ROM127、RAM203、画像読み取り部112、USBコントローラ128、USBインターフェース107で構成され、スキャナ装置106を制御する不図示のファームウエアがROM127から起動する。
【0041】
ROM123は、外部周辺機器としての機能を情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに、外部記憶装置として記憶領域を提供する記憶手段の一例である。ROM123は、例えば、純粋なリードオンリーメモリ、EEPROM、SRAM、フラッシュメモリなどを組み合わせて実現されている。RAM124は、例えば、DRAMなどである。
【0042】
パーソナルコンピュータ100上のオペレーティングシステム101は、USBインターフェース104にUSBケーブル105を介して何らかの周辺装置が接続されたことを検出すると、周辺装置のクラスインターフェースにアクセスし、周辺装置の種類を確定する。
【0043】
ここで、スキャナ装置106は、CPU121及びオペレーティングシステム101にマスストレージデバイスクラスとして認識してもらうために、USBマスストレージクラスインターフェース206を備えている。また、スキャナ装置106は、CPU121やオペレーティングシステム101に、スキャナデバイスクラスとして認識してもらうために、USBスキャナクラスインターフェース108を有している。これら2つのクラスインターフェースは、スイッチ221を矢印Bの方向に切り替えることで、択一的に選択される。
【0044】
一方、パーソナルコンピュータ100上で動作するオペレーティングシステム101は、標準で、マスストレージクラスのUSBデバイスをサポートしている。すなわち、オペレーティングシステム101がマスストレージクラスのUSBデバイスドライバ(USBマスストレージドライバ202)を含んでいるため、パーソナルコンピュータ100へ特別なドライバ等をインストールせずに、CPU121は、マスストレージクラスのUSBデバイスにアクセスできる。また、マスストレージクラスデバイスへの標準アクセスは、オペレーティングシステム101を使用して、管理者権限なしに実行可能である。
【0045】
このように、パーソナルコンピュータ100にスキャナ装置106を接続すると、接続の時点ではスイッチ221はUSBマスストレージクラスインターフェース206に切り替えられているため、パーソナルコンピュータ100へ特別なドライバ等をインストールすることなく、スキャナ装置106は、マスストレージデバイスとしてオペレーティングシステム101に認識され、パーソナルコンピュータからのアクセスが可能となる。これは、予めUSBマスストレージドライバ202がパーソナルコンピュータにインストールされており、かつ、スキャナ装置106がUSBマスストレージクラスインターフェース206を有しているためである。
【0046】
なお、パーソナルコンピュータ100内のスイッチ220を矢印Aの方向に切り替えることで、USBマスストレージドライバ202以外のドライバをUDBドライバに接続することができる。このようなスイッチ220は、ソフトウエアによって実現されていてもよいし、ハードウエアによって実現されていてもよく、例えばUSBインターフェース104を備えたパーソナルコンピュータ100の標準的な機能を表現したものと考えてもよい。
【0047】
パーソナルコンピュータ100にスキャナ装置106が接続されると、オペレーティングシステム101(CPU121)は、USBインターフェース104により何らかの周辺装置が接続されたことを検知する。USBインターフェース104は、USBケーブル105を介して、スキャナ装置106のUSBインターフェース107にアクセスする。
【0048】
この際、オペレーティングシステム101は、どのような周辺装置が接続されたのかを判別するため、コントロール転送のセットアップステージにて、GET_DESCRIPTOR標準デバイスリクエストを発行する。スキャナ装置106のUSBインターフェース107は、GET_DESCRIPTOR標準デバイスリクエストを受信すると、要求されたディスクリプタを返す。ディスクリプタは、デバイスの種類や特性や属性などの情報を表現するために使用される情報であり、この情報のフォーマットは予め定義されている。
【0049】
オペレーティングシステム101は、スキャナ装置106から受信したGET_DESCRIPTOR標準デバイスリクエストのうち、標準デバイスディスクリプタ、標準構成(コンフィグレーション)ディスクリプタ、標準インターフェースディスクリプタによって、接続されたデバイスの種類や特性や属性などの情報を取得する。
【0050】
スキャナ装置106のCPU110は、パーソナルコンピュータ100からUSBインターフェース107へのアクセスを検出すると、スイッチ221を切り替え、初期インターフェースとして、USBマスストレージクラスインターフェース206を選択する。なお、スイッチ221は、デフォルトの状態でUSBマスストレージクラスインターフェース206が有効となるように設定されていてもよい。このように、スキャナ装置106がパーソナルコンピュータ100に接続された直後において、パーソナルコンピュータ100は、USBマスストレージクラスインターフェース206にアクセスする。
【0051】
オペレーティングシステム101は、スキャナ装置106のUSBマスストレージクラスインターフェース206にアクセスしたことを認識すると、スイッチ220を切り替え、USBドライバ103とUSBマスストレージドライバ202とを接続する。これにより、USBインターフェース104は、USBケーブル105を介してスキャナ装置106にアクセス可能になる。
【0052】
スキャナ装置106は、前述のように初期状態においてスイッチ221がUSBマスストレージクラスインターフェース206に切り替えられているため、オペレーティングシステム101にマスストレージクラスデバイスとして認識されるようになっている。そのため、パーソナルコンピュータ100は、スキャナ装置106のUSBインターフェース107、USBマスストレージクラスインターフェース206、CDドライブインターフェース205を介して、スキャナ装置106にアクセスができる。オペレーティングシステム101への管理者権限のログインを要求されることはない。ただし、この状態で、パーソナルコンピュータがアクセスできるのは、スキャナ装置106が備える外部記憶装置としての機能のみである。
【0053】
上述したように、スキャナ装置106のROM127には、オペレーティングシステム101上で動作するキャプチャアプリケーション222およびUSBスキャナドライバ102をインストールするインストーラ225と、USBスキャナドライバ226と、キャプチャアプリケーション231と、スキャナドライバ更新履歴情報ファイル227と、パーソナルコンピュータ100にUSBスキャナドライバ102がインストールされているかどうかを判断する判断アプリケーション224と、スキャナ装置106をパーソナルコンピュータ100に接続した際に判断アプリケーション224を自動実行するための記述を備えたオートランファイル207とが予め保存されている。
【0054】
なお、ROM127上のインストーラ225とUSBスキャナドライバ226とキャプチャアプリケーション231と判断アプリケーション224とオートランファイル207とスキャナドライバ更新履歴情報ファイル227とは、CDドライブインターフェース205を介して、パーソナルコンピュータ100からアクセスできる。
【0055】
上述したように、オペレーティングシステム101は、CDドライブ内にデータCDが挿入された場合、「autorun.inf」と呼ばれる、データCD上のファイルを検出して自動実行する機能を備えている。よって、オートランファイル207は、CDドライブインターフェース205を介してアクセスされ、CPU121によって自動的に実行されるものとする。
【0056】
スキャナ装置106のCPU110は、パーソナルコンピュータ100に接続した時点ではCDドライブ内にデータCDが挿入されていないと見なされる状態となるように制御し、その後に、CDが挿入されたと見なされる状態へと遷移する制御を行う。例えば、スキャナ装置106のCPU110は、パーソナルコンピュータ100に接続されたと認識した後、USBインターフェース107を介して、データCDが挿入されたことをパーソナルコンピュータ100に仮想的に検出させるための信号を送信する。この状態遷移が必要となるのは、次の理由のためである。すなわち、一般的に、パーソナルコンピュータ100のCPU121は、CDが挿入されたことを検出しなければ、データCDの内容を読みに行かないからである。これにより、CPU121は、外部記憶装置(ここではUSB接続タイプのCDROMドライブ)として認識しているスキャナ装置106からオートランファイル207を読み出して自動実行することができる。
【0057】
さらに、パーソナルコンピュータ100は、スキャナ装置106内に保存してあるファイルに対応するテーブルをファイルシステム201のファイルフォルダ内に形成する。このファイルは、上述したインストーラ225とUSBスキャナドライバ226とキャプチャアプリケーション231と判断アプリケーション224とオートランファイル207とスキャナドライバ更新履歴情報ファイル227などである。
【0058】
<インストール動作>
図4は、制御ソフトウエアモジュールのインストール処理の一例を示したフローチャートである。本インストール処理の主要な制御は、オートランファイル207および判断アプリケーション224がCDドライブインターフェース等を介して、パーソナルコンピュータ100のRAM124にロードされて実行されると、CPU121が行うようになっている。
【0059】
ステップS3001で、パーソナルコンピュータ100のCPU121は、オペレーティングシステム101にしたがって、USBインターフェース104にて何らかの周辺装置の接続を検知したか否かを判定する。何らかの周辺装置の接続を検知すると、ステップS3002に進む。
【0060】
ステップS3002で、CPU121は、図示しない標準的な周辺装置のクラスインターフェースにUSBドライバ103を接続するよう、スイッチ220を切り替える。
【0061】
図5は、パーソナルコンピュータ100に接続された際にスキャナ装置において行われるマスストレージデバイスへの切り替え処理の詳細を示した図である。
【0062】
ステップS9001で、スキャナ装置106のCPU110は、USBインターフェース107を介してパーソナルコンピュータ100と接続したことを検出したか否かを判定する。パーソナルコンピュータ100との接続を検出すると、ステップS9002に進む。
【0063】
ステップS9002で、CPU110は、スイッチ221を切り替えて、初期インターフェースとしてUSBマスストレージクラスインターフェース206を有効にする。
【0064】
図4の説明に戻る。ステップS3003で、CPU121は、オペレーティングシステム101にしたがって、どのような周辺装置が接続されたのかを判別するため、周辺装置から情報を取得する。
【0065】
図6は、パーソナルコンピュータにおいて行われるマスストレージデバイスを認識した状態への切り替え処理の詳細を示した図である。
【0066】
ステップS8001で、CPU121は、オペレーティングシステム101にしたがって、GET_DESCRIPTORリクエストを発行する。これは、どのような周辺装置が接続されたのかを判別するため、周辺装置から情報を取得するためである。
【0067】
一方、スキャナ装置106のCPU110は、ステップS9003で、GET_DESCRIPTORリクエストを受信したか否かを判定する。GET_DESCRIPTORリクエストを受信すると、ステップ9004に進む。
【0068】
ステップS9004で、CPU110は、ディスクリプタをパーソナルコンピュータ100に送信する。GET_DESCRIPTORリクエストに対して返信する標準デバイスディスクリプタのデバイスクラスコード、あるいは、標準インターフェースディスクリプタのインターフェースクラスコードには、USBマスストレージクラスコードが指定される。
【0069】
ステップS8002で、パーソナルコンピュータ100のCPU121は、スキャナ装置106が送信したディスクリプタを受信する。標準デバイスディスクリプタのデバイスクラスコード、あるいは、インターフェースクラスコードにて、USBマスストレージクラスコードが指定される。これにより、CPU121は、接続された周辺装置がマスストレージデバイスであると認識する。
【0070】
ステップS3004で、パーソナルコンピュータ100のCPU121は、スキャナ装置106から受信したディスクリプタを解析し、接続された周辺装置がマスストレージデバイスであると認識する。これは、ディスクリプタに標準デバイスディスクリプタのデバイスクラスコードまたはインターフェースクラスコードにて、USBマスストレージクラスコードが指定されているためである。
【0071】
ステップS3005で、CPU121は、スキャナ装置106のUSBマスストレージクラスインターフェース206にアクセスするため、スイッチ220を切り替える。これにより、予めオペレーティングシステム101に含まれているUSBマスストレージドライバ202がUSBドライバ103と結合される。また、CPU121は、USBインターフェース104及びUSBケーブル105を介してスキャナ装置106にアクセスする。
【0072】
ステップS3006で、CPU121は、スキャナ装置106をCDドライブとして認識する。これは、スキャナ装置106は、USBマスストレージクラスインターフェース206のサブクラスとして、USB CDドライブインターフェース205を有しているためである。このように、情報処理装置は、周辺装置が接続された直後はこの周辺装置をCDドライブとして認識することになる。
【0073】
また、CPU121は、CDドライブとして機能しているスキャナ装置106の記憶領域に記憶されているファイルに対応したテーブルをファイルシステム201のファイルフォルダ内に保存する。このファイルは、インストーラ225、USBスキャナドライバ226、キャプチャアプリケーション231、スキャナドライバ更新履歴情報ファイル227、判断アプリケーション224及びオートランファイル207などである。
【0074】
図7は、CDドライブに挿入されたと見なされる仮想的なデータCDに相当するフォルダの一例を示した図である。フォルダ304には、上述したインストーラ225、USBスキャナドライバ226、キャプチャアプリケーション231、判断アプリケーション224、オートランファイル207及びスキャナドライバ更新履歴情報ファイル227が格納されている。ユーザは、パーソナルコンピュータ100に接続されたキーボード/マウス125を使用して、フォルダ304を開き、さらに、スキャナドライバ更新履歴情報ファイル227をダブルクリックしてその内容を読むことができる。
【0075】
ステップS3007で、CPU121は、CDドライブにデータCDが挿入されたと判断し、オートランファイル207を読み出して実行する。オートランファイル207には、判断アプリケーション224を起動するための記述が存在している。このように、判断アプリケーション224は、記憶手段のうちCDドライブとして認識される記憶領域に記憶されているAutorun.infによって自動的に起動されるように記述されている。
【0076】
ステップS3008で、CPU121は、オートランファイル207にしたがって判断アプリケーション224を起動する。
【0077】
ステップS3009で、CPU121は、判断アプリケーション224にしたがって、USBスキャナドライバ102がパーソナルコンピュータ100にインストールされているかどうかを判断する。インストールされていないと判断すると、ステップS3012に進む。
【0078】
ステップS3012で、CPU121は、インストーラ225をスキャナ装置106から読み出して起動する。
【0079】
ステップS3013で、CPU121は、インストーラ225にしたがって、スキャナ装置106からキャプチャアプリケーション231およびUSBスキャナドライバ226を読み出して、それぞれキャプチャアプリケーション222およびUSBスキャナドライバ102としてパーソナルコンピュータ100にインストールする。なお、スキャナ装置106のCPU110は、キャプチャアプリケーション231およびUSBスキャナドライバ226をパーソナルコンピュータ100へ転送する。このように、CPU110は、記憶手段に記憶されている制御ソフトウエアモジュールと同一バージョンの制御ソフトウエアモジュールまたはより新しいバージョンの制御ソフトウエアモジュールのいずれもが情報処理装置にインストールされていないと判断アプリケーションにより判断して、パーソナルコンピュータ100が転送を要求したときに、記憶手段に記憶されている制御ソフトウエアモジュールを情報処理装置にインストールするために転送する転送手段の一例である。なお、他の一例として、USBコントローラ128にフラッシュメモリ等が接続されていてもよい。この場合はUSBコントローラ128を転送手段とみなすこともできる。
【0080】
ところで、ソフトウエアのインストールは、管理者権限を持つユーザがログインしていなければ、実行できない。すなわち、制限ユーザまたは一般ユーザは、ソフトウエアのインストールを実行できない。よって、管理者権限を持つユーザがログインしていなければ、CPU121は、管理者権限を持つユーザがログインするよう促す必要がある。
【0081】
図8は、管理者権限を持つユーザによるログインを求める旨のダイアログの一例を示した図である。
【0082】
CPU121は、現在のユーザが管理者権限を有していないと判定すると、このダイアログボックスをディスプレイ126に表示する。当該ダイアログには、ユーザIDの入力部1301と、パスワードの入力部1302とが配置されている。なお、管理者権限を持つユーザによるログインを求める旨のダイアログを表示する代わりに、CPU121は、インストール作業を中止してもよい。同様に、CPU121は、Cancelボタンを押下されたことを検出したときも、インストール作業を中止する。その後、ステップS3016に進む。
【0083】
ステップS3009でUSBスキャナドライバ102がパーソナルコンピュータ100にインストールされていると判断されると、ステップS3010に進む。
【0084】
ステップS3010で、CPU121は、判断アプリケーション224にしたがって、パーソナルコンピュータに記憶されているUSBスキャナドライバ102のバージョンと、スキャナ装置106に記憶されているUSBスキャナドライバ226のバージョンとを比較し、USBスキャナドライバ102がより古いか否かを判定する。同様に、判断アプリケーション224は、スキャナ装置106に記憶されているキャプチャアプリケーション231のバージョンと、パーソナルコンピュータ100に記憶されているキャプチャアプリケーション222のバージョンとを比較してもよい。パーソナルコンピュータにインストール済みのソフトウエアのバージョンがより古ければ、ステップS3012に進む。これにより、スキャナ装置106に記憶されているキャプチャアプリケーション231がパーソナルコンピュータ100へ更新インストールされることになる。このように、複数の制御ソフトウエアモジュールが存在する場合、相対的に古い制御ソフトウエアモジュールのみがスキャナ装置106からパーソナルコンピュータ100にインストールされることになる。すなわち、キャプチャアプリケーションのみが更新されることもあるし、ドライバのみが更新されることもある。
【0085】
一方、パーソナルコンピュータ100にインストールされているUSBスキャナドライバ102がスキャナ装置106に記憶されているUSBスキャナドライバ226より古くなければ、ステップS3011に進む。
【0086】
ステップS3011で、CPU121は、判断アプリケーション224にしたがって、パーソナルコンピュータに記憶されているUSBスキャナドライバ102のバージョンと、スキャナ装置106に記憶されているUSBスキャナドライバ226のバージョンとを比較し、USBスキャナドライバ102がより新しいか否かを判定する。パーソナルコンピュータにインストールされているUSBスキャナドライバ102がスキャナ装置106に記憶されているUSBスキャナドライバ226より新しければ、ステップS3014に進む。
【0087】
ステップS3014で、CPU121は、判断アプリケーション224にしたがって、パーソナルコンピュータ100のハードディスクドライブ122からUSBスキャナドライバ102を読み出し、スキャナ装置106のROM127に上書きするために転送する。このようにROM127はフラッシュメモリ等を用いて、書き換え可能な構成になっている。スキャナ装置106のCPU110は、USBインターフェース107を介して受信したUSBスキャナドライバ102をROM127に書き込む。このように、CPU110は、記憶手段に記憶されている制御ソフトウエアモジュールよりも新しいバージョンの制御ソフトウエアモジュールが情報処理装置に記憶されているときに、情報処理装置から送信される新しいバージョンの制御ソフトウエアモジュールを受信して、記憶手段に書き込む書き込み手段の一例である。自動更新の対象となる複数の制御ソフトウエアモジュールが存在する場合、ROM127に記憶されたものよりバージョンアップされていると判断された制御ソフトウエアモジュールのみがパーソナルコンピュータ100からスキャナ装置106に送信されてくるので、ROM127に上書きされることになる。すなわち、キャプチャアプリケーションのみが更新されることもあるし、ドライバのみが更新されることもある。なお、CDドライブインタフェースが有効となった状態でソフトウエアの更新ができない場合、CPU121及びCPU110は、CDドライブインタフェースからUSBメモリなどの書き込み可能なマスストレージインターフェースに切り替えることになろう。また、ソフトウエアの更新を可能とするために、読み取り専用のCDドライブとして認識されるのではなく、CD−Rドライブ等の読み書き可能なディスク装置に、CD−R等の読み書き可能なディスクが装填されているものとして認識されるように構成しても良い。
【0088】
ステップS3015で、CPU121は、判断アプリケーション224にしたがって、スキャナドライバ更新履歴情報ファイル227に更新履歴を書き込む。このように、CPU121及び判断アプリケーション224は、記憶手段に記憶された制御ソフトウエアモジュールの更新履歴を記録する記録手段の一例である。
【0089】
図9は、スキャナドライバ更新履歴情報ファイルの内容の一例を示した図である。更新履歴には、例えば、更新日付、更新時刻、更新されたファイルの名称、更新前のバージョン、更新後のバージョンなどの情報が含まれる。スキャナドライバ更新履歴情報ファイルをテキストファイルとすれば、標準的なテキストエディタにより内容を確認できるだろう。
【0090】
例えば、パーソナルコンピュータ100にインストールされているUSBスキャナドライバ102のバージョンが1.0.5で、スキャナ装置106に記憶されているUSBスキャナドライバ226のバージョンが1.0.4であったと仮定する。この場合は、S3014で、スキャナ装置106に記憶されている古いUSBスキャナドライバ226は、USBスキャナドライバ102によって上書きされる。図9には、この更新結果が3行目に記載されている。
【0091】
一方、ステップS3011でパーソナルコンピュータにインストールされているUSBスキャナドライバ102がスキャナ装置106に記憶されているUSBスキャナドライバ226より新しくないと判定されると、ステップS3016に進む。すなわち、双方のバージョンが同一であれば、USBスキャナドライバ102のインストールや、スキャナ装置106に記憶されているUSBスキャナドライバ226の更新は、省略される。
【0092】
ステップS3016で、CPU121は、判断アプリケーション224にしたがって、USBスキャナドライバのインストールが完了したか否か(インストール済みか否か)を判定する。インストールが完了していれば、後述する画像読取処理に進む。一方、インストール済みでなければ、CPU121は、インストール処理を終了する。この際に、CPU121は、インストール時にエラーが発生した旨のエラーメッセージ等をディスプレイ126に表示してもよい。
【0093】
本発明によれば、周辺装置から制御ソフトウエアモジュールを情報処理装置にインストールできるため、従来のように、事前に制御ソフトウエアモジュールをインストールしておく必要はない。同様に、制御ソフトウエアモジュールを記憶したCD−ROMなどを用意する手間を省ける。このように、インストール作業が非常に簡略化されるメリットがある。さらに、パーソナルコンピュータ側により新しいバージョンのソフトウエアが存在するときは、それを周辺装置に書き込む。よって、インストールされるために周辺装置に格納されているソフトウエアをより新しいものに維持することが可能となる。
【0094】
本実施形態では、USBスキャナドライバのインストールとその更新について説明したが、キャプチャアプリケーションなどの他のソフトに本発明を適用してもよい。
【0095】
<画像の読取動作>
図10は、実施形態に係る画像読取処理の一例を示したフローチャートである。
【0096】
ステップS3017で、CPU121は、判断アプリケーション224にしたがって、USBスキャナクラスインターフェース108で接続しなおすようスキャナ装置106に指示(命令)を送出する。この指示は、例えば、制御ファイルとして、書き替え可能なROM127やRAM203等に書き込まれる。スキャナ装置106のCPU110は、ROM127等を監視し、ROM127等に制御ファイルが書き込まれると、制御ファイルから指示を読み出す。CPU110は、指示を実行する。このように、判断アプリケーション224及びCPU121は、情報処理装置にインストールされている制御ソフトウエアモジュールのバージョンが記憶手段に記憶されている制御ソフトウエアモジュールのバージョンよりも古くないと判定されたとき、または、記憶手段から制御ソフトウエアモジュールが情報処理装置にインストールされたときに、切り替え手段に切り替え命令を送信することで、周辺装置を前記外部周辺機器として認識させる認識制御手段の一例である。
【0097】
図11は、スキャナ装置におけるスキャナクラスデバイスへの切り替え処理を示したフローチャートである。
【0098】
ステップS9005で、スキャナ装置106のCPU110は、クラスインターフェースの切り替えがパーソナルコンピュータにより指示されると、パーソナルコンピュータ100からの接続の切り離しを実行する。例えば、CPU110は、USBバスのD+信号とD−信号をともに0にする。
【0099】
ステップS9006で、CPU110は、USBインターフェースを介して、パーソナルコンピュータ100に再接続を実行する。例えば、CPU110は、USBバスリセットステートに移行する。
【0100】
ステップS3018で、CPU121は、オペレーティングシステム101にしたがって、USBインターフェース104にて何らかの周辺装置の接続を検知したか否かを判定する。周辺装置の接続を検知すると、ステップS3019に進む。
【0101】
ステップS3019で、CPU121は、スイッチ221を切り替え、USBドライバ103を標準的な周辺装置のクラスインターフェースに接続する。
【0102】
ステップS9007で、CPU110は、ソフト的にスイッチ221を切り替え、USBスキャナクラスインターフェース108を有効とし、USBマスストレージクラスインターフェース206を無効にする。
【0103】
ステップS3020で、CPU121は、オペレーティングシステム101にしたがって、周辺装置から情報を取得する。これは、どのような周辺装置が接続されたのかを判別するためである。上述したように、CPU121は、GET_DESCRIPTORリクエストを発行する(S8001)。
【0104】
ステップS9008で、CPU110は、GET_DESCRIPTORリクエストを受信したか否かを判定する。GET_DESCRIPTORリクエストを受信したことを検知すると、ステップS9009に進む。
【0105】
ステップS9009で、CPU110は、ディスクリプタをパーソナルコンピュータ100に送信する。なお、GET_DESCRIPTORリクエストに対して返信する標準デバイスディスクリプタのデバイスクラスコードまたは標準インターフェースディスクリプタのインターフェースクラスコードには、USBスキャナクラスコードが指定される。
【0106】
なお、本実施形態では、デバイスクラスコードまたはインターフェースクラスコードで、USBスキャナクラスコードを送信した。しかし、CPU110は、クラスなし(0)を送信し、CPU121は、標準デバイスディスクリプタのベンダIDとプロダクトIDから、予めパーソナルコンピュータ100にインストールしてある定義ファイルを参照してクラスを確定してもよい。
【0107】
CPU121は、ステップS8002で、ディスクリプタを受信する。標準デバイスディスクリプタのデバイスクラスコードまたはインターフェースクラスコードには、USBスキャナクラスコードが指定されている。
【0108】
ステップS3021で、CPU121は、ディスクリプタの解析結果に応じて、接続された周辺装置がUSBスキャナクラスデバイスであると認識する。
【0109】
ステップS3022で、CPU121は、判断アプリケーション224にしたがって、スイッチ220を切り替え、USBドライバ103に接続すべきドライバを標準的な周辺装置のクラスインターフェースからUSBスキャナドライバ102に切り替える。これにより、CPU121は、USBスキャナドライバ102を使用してスキャナ装置106を制御できるようになる。
【0110】
ステップS3023で、CPU121は、キャプチャアプリケーション222の起動指示がキーボードやマウスを通じて入力されたか否かを判定する。キャプチャアプリケーション222の起動指示が入力されると、ステップS3024に進む。
【0111】
ステップS3024で、CPU121は、キャプチャアプリケーション222を起動する。
【0112】
図12は、キャプチャアプリケーションが起動したときにディスプレイに表示されるユーザインターフェースの一例を示した図である。キャプチャアプリケーション222のユーザインターフェースが表示されると、ユーザは、キーボード/マウス125を操作して、スキャン設定を実行する。例えば、読み取りモード(本実施形態では、白黒)、用紙サイズ(本実施形態では、A4)、解像度(本実施形態では、300dpi)、読み取り面(本実施形態では、両面)がキーボード/マウス125を使用して選択される。さらに、読み取った画像を保存するための画像ファイルのファイル名(本実施形態では、test1)もキーボード/マウス125を操作して入力される。最後に、スキャンボタン301がキーボード/マウス125を使用してクリックされる。
【0113】
スキャンボタン301がキーボード/マウス125によりクリックされると、ステップS3025に進む。
【0114】
ステップS3025で、キャプチャアプリケーション222(CPU121)は、USBスキャナドライバ102からUSBドライバ103とUSBインターフェース104を介して、スキャナ装置106にスキャン設定を送信し、さらにスキャン開始コマンドを送信する。
【0115】
スキャナ装置106のCPU110は、USBインターフェース107からUSBスキャナクラスインターフェース108を介して、スキャン設定およびスキャン開始コマンドデータを受信したことを検出すると、スキャン設定にしたがって画像読み取り部112を用いて原稿のスキャンを開始する。スキャナ装置106は、スキャンを開始すると、画像読み取り部112で読み取った画像をUSBスキャナクラスインターフェース108からUSBインターフェース107を介して、パーソナルコンピュータ100に送信する。
【0116】
ステップS3026で、CPU121は、キャプチャアプリケーション222にしたがって、画像データの受信を開始したか否かを判定する。画像データの受信が開始されると、ステップS3027に進む。
【0117】
ステップS3027で、CPU121は、すべての画像データを受信し終えるまで、受信を継続する。
【0118】
ステップS3028で、受信した画像データを指定された保存ファイル名(本実施形態では、test1)でハードディスクドライブ122に保存する。
【0119】
以上説明したように、本実施形態によれば、スキャナ装置106から制御ソフトウエアモジュールをパーソナルコンピュータ100にインストールできる。そのため、従来のように、事前に制御ソフトウエアをインストールしておく必要はない。また、制御ソフトウエアを記憶したCD−ROMなどを用意する手間を省ける。このように、インストール作業が非常に簡略化されるメリットがある。さらに、パーソナルコンピュータ100側に、より新しいバージョンのソフトウエアが存在するときは、それをスキャナ装置106に書き込むことで、スキャナ装置106に格納されているソフトウエアをより新しいものに更新できる(S3015)。
【0120】
とりわけ、ステップS3009ないしS3013に関して説明したように、スキャナ装置106の記憶手段に記憶されている制御ソフトウエアと同一バージョンの制御ソフトウエアまたはより新しいバージョンの制御ソフトウエアのいずれもがパーソナルコンピュータ100にインストールされていないときに(S3009でNo、S3010でYes)、スキャナ装置106は、記憶手段に記憶されている制御ソフトウエアをパーソナルコンピュータ100に転送してインストールする。よって、インストール作業が非常に簡略化され、ユーザの負担が著しく軽減されよう。
【0121】
また、本実施形態のスキャナ装置106は、パーソナルコンピュータ100に外部記憶装置として認識させるか、外部周辺機器として認識させるかを切り替えるスイッチ221を備えている。また、スキャナ装置106の記憶手段は、スキャナドライバやキャプチャアプリケーションのインストールを制御する判断アプリケーションやインストーラを記憶している。これらのコンピュータプログラムは、CPU121に、バージョンの比較、インストール処理、周辺装置に関する認識制御を実行させるため、ユーザは、パーソナルコンピュータ100にスキャナ装置106を接続することで、スキャナ装置106の制御ソフトウエアをインストールできる。とりわけ、本実施形態では、スキャナ装置106が初期状態において外部記憶装置として認識されるため、ドライバやアプリケーションをスキャナ装置106からパーソナルコンピュータ100へインストールできる。また、パーソナルコンピュータ100がスキャナ装置106を使用できる状態になると、スキャナ装置106の内部構成が変更されるため、スキャナ装置106は本来の画像読取装置としてパーソナルコンピュータ100により認識される。
【0122】
とりわけ、スキャナ装置106をCDドライブとして認識されるようにしておき、かつ、Autorun.infによって判断アプリケーション224を自動的に起動されるようにしておくことで、比較的に実装しやすい方法によって本発明を実現できる.
また、ソフトウエアの更新履歴を記録することで(S3015)、ユーザは、どのようにソフトウエアが更新されたのかを知ることができる。ユーザは、更新履歴から把握した、スキャナ装置106が保持しているソフトウエアのバージョンと、インターネットのWEBサイトで公開されている最新のソフトウエアのバージョンとを比較してもよい。もし、両者が異なれば、ユーザは、最新のソフトウエアをパーソナルコンピュータ100にダウンロードして、パーソナルコンピュータ100にインストールしてもよい。この場合、次にパーソナルコンピュータ100にスキャナ装置106が接続されたときに、最新のソフトウエアがスキャナ装置106のROM127に書き込まれることになる。
【0123】
本実施形態では、周辺装置の一例として画像読取装置を取り上げた。なぜなら、画像読取装置などの周辺装置は、様々なパーソナルコンピュータに接続されて利用される可能性があるからである。なお、画像読取装置は単なる一例に過ぎず、プリンタ、デジタルカメラ、ビデオカメラ、音楽再生装置、その他の周辺装置に本発明を適用できることはいうまでもない。
【0124】
また、本実施形態においては、キャプチャアプリケーション222は画像表示機能を備えていない。もちろん、キャプチャアプリケーション222が画像表示機能を備えていてもよい。
【0125】
本実施形態においては、マイクロソフトウインドウズ(登録商標)オペレーティングシステムを一例として説明した。しかし、マック(登録商標)オペレーティングシステムやリナックス(登録商標)オペレーティングシステムなど、その他のオペレーティングシステムであっても本発明を同様に適用可能である。
【図面の簡単な説明】
【0126】
【図1】コンピュータとスキャナ装置とのソフトウエアブロック図である。
【図2】キャプチャアプリケーションおよびスキャナドライバをインストールした状態のパーソナルコンピュータとスキャナ装置とについてのソフトウエアブロック図である。
【図3】パーソナルコンピュータとスキャナ装置とについてのハードウエアブロック図である。
【図4】制御ソフトウエアモジュールのインストールの一例を示したフローチャートである。
【図5】スキャナ装置におけるマスストレージデバイスへの切り替え処理の詳細を示した図である。
【図6】パーソナルコンピュータにおけるマスストレージデバイスへの切り替え処理の詳細を示した図である。
【図7】CDドライブに相当するフォルダの一例を示した図である。
【図8】管理者権限を持つユーザによるログインを求める旨のダイアログの一例を示した図である。
【図9】スキャナドライバ更新履歴情報ファイルの内容の一例を示した図である。
【図10】実施形態に係る画像読取処理の一例を示したフローチャートである。
【図11】スキャナ装置におけるスキャナクラスデバイスへの切り替え処理を示したフローチャートである。
【図12】キャプチャアプリケーションが起動したときにディスプレイに表示されるユーザインターフェースの一例を示した図である。
【符号の説明】
【0127】
100 パーソナルコンピュータ
101 オペレーティングシステム
102 USBスキャナドライバ
103 USBインターフェースドライバ
104 パーソナルコンピュータ100内のUSBインターフェース
105 USBケーブル
106 スキャナ
107 スキャナ装置106内のUSBインターフェース
108 USBスキャナクラスインターフェース
110 スキャナ装置106内のCPU
112 画像読み取り部
121 パーソナルコンピュータ100内のCPU
122 パーソナルコンピュータ100内のハードディスク
123 パーソナルコンピュータ100内のROM
124 パーソナルコンピュータ100内のRAM
125 キーボード/マウス
126 ディスプレイ
127 スキャナ装置106内のROM
128 USBコントローラ
201 ファイルシステム
202 USBマスストレージドライバ
203 スキャナ装置106内のRAM
205 USB CDドライブインターフェース
206 USBマスストレージインターフェース
207 スキャナ装置106内のオートランファイル
220 パーソナルコンピュータ100内のUSBインターフェーススイッチ
221 スキャナ装置106内のUSBインターフェーススイッチ
222 パーソナルコンピュータ100内のキャプチャアプリケーション
224 スキャナ装置106内の判断アプリケーション
225 スキャナ装置106内のインストーラ
226 スキャナ装置106内のUSBスキャナドライバ
227 スキャナ装置106内のUSBスキャナドライバ更新履歴情報
231 スキャナ装置106内のキャプチャアプリケーション
301 キャプチャアプリケーション222でスキャンを開始するスキャンボタン
304 CDドライブとして認識されたときのフォルダ

【特許請求の範囲】
【請求項1】
情報処理装置の外部記憶装置としての機能と該情報処理装置の外部周辺機器としての機能とを備えた周辺装置であって、
前記外部周辺機器としての機能を前記情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに、前記外部記憶装置として記憶領域を該情報処理装置に提供する記憶手段と、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールよりも新しいバージョンの制御ソフトウエアモジュールが前記情報処理装置に記憶されているときに、前記情報処理装置から送信される該新しいバージョンの制御ソフトウエアモジュールを受信して、前記記憶手段に書き込む書き込み手段と
を含むことを特徴とする周辺装置。
【請求項2】
前記記憶手段に記憶されている制御ソフトウエアモジュールと同一バージョンの制御ソフトウエアモジュールまたはより新しいバージョンの制御ソフトウエアモジュールのいずれもが前記情報処理装置にインストールされていないときに、前記記憶手段に記憶されている制御ソフトウエアモジュールを前記情報処理装置にインストールするために転送する転送手段
をさらに含むことを特徴とする請求項1に記載の周辺装置。
【請求項3】
前記情報処理装置に前記外部記憶装置として認識させるか、前記外部周辺機器として認識させるかを切り替える切り替え手段をさらに備え、
前記記憶手段は、前記制御ソフトウエアモジュールのインストールを制御するコンピュータプログラムを記憶しており、
前記コンピュータプログラムは、前記周辺装置を前記外部記憶装置として認識している前記情報処理装置によって前記記憶手段から読み出されて実行されるコンピュータプログラムであり、
さらに、前記コンピュータプログラムは、前記情報処理装置を、
前記記憶手段に記憶されている制御ソフトウエアモジュールのバージョンと、前記情報処理装置にインストールされている制御ソフトウエアモジュールのバージョンとを比較する比較手段と、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールが前記情報処理装置にインストールされていないとき、または該制御ソフトウエアモジュールよりも古いバージョンの制御ソフトウエアモジュールが前記情報処理装置にインストールされているときに、前記記憶手段から制御ソフトウエアモジュールを読み出して前記情報処理装置にインストールするインストール手段と、
前記情報処理装置にインストールされている制御ソフトウエアモジュールのバージョンが前記記憶手段に記憶されている制御ソフトウエアモジュールのバージョンよりも古くないと判定されたとき、または、前記記憶手段から制御ソフトウエアモジュールが前記情報処理装置にインストールされたときに、前記切り替え手段に切り替え命令を送信することで、前記周辺装置を前記外部周辺機器として認識させる認識制御手段
として機能させるコンピュータプログラムであることを特徴とする請求項1または2に記載の周辺装置。
【請求項4】
前記情報処理装置は、前記周辺装置が接続された直後は該周辺装置をCDドライブとして認識し、
前記コンピュータプログラムは、前記記憶手段のうち前記CDドライブとして認識される記憶領域に記憶されているAutorun.infによって自動的に起動されるように記述されていることを特徴とする請求項3に記載の周辺装置。
【請求項5】
前記コンピュータプログラムは、前記情報処理装置を、
前記記憶手段に記憶された制御ソフトウエアモジュールの更新履歴を記録する記録手段として機能させることを特徴とする請求項3または4に記載の周辺装置。
【請求項6】
前記周辺装置は、画像を読み取る画像取装置であり、
前記制御ソフトウエアモジュールは、前記画像取装置を制御するためのドライバソフトウエアまたはアプリケーションソフトウエアであることを特徴とする請求項1ないし5のいずれか1項に記載の周辺装置。
【請求項7】
情報処理装置の外部記憶装置としての機能と、該情報処理装置の外部周辺機器としての機能と、該外部周辺機器としての機能を前記情報処理装置が制御するために使用する制御ソフトウエアモジュールを記憶するとともに前記情報処理装置の外部記憶装置として記憶領域を該情報処理装置に提供する記憶手段と、を備えた周辺装置の制御方法であって、
前記記憶手段に記憶されている前記制御ソフトウエアモジュールよりも新しいバージョンの制御ソフトウエアモジュールが前記情報処理装置に記憶されているときに、前記情報処理装置から送信される該新しいバージョンの制御ソフトウエアモジュールを受信する受信工程と、
前記新しいバージョンの制御ソフトウエアモジュールを前記記憶手段に書き込む書き込み工程と
を含むことを特徴とする周辺装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−108426(P2010−108426A)
【公開日】平成22年5月13日(2010.5.13)
【国際特許分類】
【出願番号】特願2008−282385(P2008−282385)
【出願日】平成20年10月31日(2008.10.31)
【出願人】(000104652)キヤノン電子株式会社 (876)
【Fターム(参考)】