(57)【要約】【課題】周辺装置の利用に際してユーザの負荷を低減すること。また従来に比べて周辺装置に搭載する不揮発性メモリの容量を抑えること。さらにドライバーのインストールに関連する不要なメッセージの表示を抑えること。【解決手段】スキャナー1内にインストーラー121とキー情報122をスキャナー1内に格納し、スキャナーインターフェース112とマスストレージクラスインターフェース111を設ける。ホストPC2と接続したときにスキャナー1はまずスキャナーインターフェース112を起動し（S1001）、時間内にインストール済みコマンドをホストPC2から受信しない場合（S1002でNo）にはマスストレージクラスインターフェース111を起動し（S1003）、ホストPC2で実行されるインストーラー121からインストール完了コマンドを受信した場合、スキャナーインターフェース112を起動する（S1001）。【選択図】図５
2019174906.tif 000002
【特許請求の範囲】
【請求項１】
所定のインターフェースを介して情報処理装置と接続可能な周辺装置であって、
前記情報処理装置から前記周辺装置に対して所定の情報を送信して前記周辺装置が有する機能を制御する制御プログラムを、前記情報処理装置が所定のネットワークを経由して外部装置から取得するときに使用するソフトウェアを記憶する記憶部と、
前記周辺装置を外部記憶装置以外のデバイスとして前記情報処理装置に認識させる第１モード、及び前記周辺装置を外部記憶装置として前記情報処理装置に認識させて前記情報処理装置から前記記憶部の前記ソフトウェアが記憶された記憶領域にアクセス可能となる第２モードの何れかのモードで前記周辺装置を制御する制御部と、を有し、
前記制御部は、前記周辺装置と前記情報処理装置とを接続したときに前記所定のインターフェースを通じて前記第１モードで認識させた後、前記情報処理装置から前記所定の情報を受信しない場合には前記第２モードで認識させることを特徴とする周辺装置。
【請求項２】
前記制御部は、前記第２モードにおいて、前記情報処理装置で前記ソフトウェアが実行された場合に送信される情報を受信した場合、前記第１モードで認識させることを特徴とする請求項１に記載の周辺装置。
【請求項３】
所定のインターフェースを介して情報処理装置と接続可能な周辺装置であって、
前記情報処理装置から前記周辺装置に対して所定の情報を送信して前記周辺装置が有する機能を制御するプログラムを、前記情報処理装置が所定のネットワークを経由して外部装置から取得するときに使用するソフトウェアを記憶する記憶部と、
前記周辺装置を外部記憶装置以外のデバイスとして前記情報処理装置に認識させる第１モードと、前記周辺装置を外部記憶装置として前記情報処理装置に認識させて前記情報処理装置から前記記憶部の前記ソフトウェアが記憶された記憶領域にアクセス可能となる第２モードの何れかのモードで前記周辺装置とを切り替えるためのスイッチと、
前記スイッチの状態に応じて前記第１モードと前記第２モードとを切り替え制御する制御部と、
メッセージを出力可能な出力部と、を有し、
前記制御部は、前記第１モードでは所定の時間内に前記所定の情報を前記情報処理装置から受信しない場合には、前記出力部に対して、前記スイッチにより前記第２モードに切り替える旨のメッセージを出力することを特徴とする周辺装置。
【請求項４】
前記プログラムは、前記情報処理装置において実行された際に、前記周辺装置が外部記憶装置として認識されている場合、前記スイッチにより第２モードに切り替える旨のメッセージを出力することを特徴とする請求項３に記載の周辺装置。
【請求項５】
前記ソフトウェアは、前記外部装置から取得したプログラムを前記情報処理装置にインストールする機能を有することを特徴とする請求項１〜４のいずれか１項に記載の周辺装置。
【請求項６】
前記ソフトウェアは、ネットワーク上のサービスに登録を行う機能を有することを特徴とする請求項１〜５のいずれか１項に記載の周辺装置。
【請求項７】
前記サービスは、クラウドコンピューティングサービスを含むことを特徴とする請求項６に記載の周辺装置。
【請求項８】
前記記憶部は、前記プログラムが用いるキー情報を記憶することを特徴とする請求項１〜７のいずれか１項に記載の周辺装置。
【請求項９】
前記記憶部は、前記周辺装置に着脱自在であることを特徴とする請求項１〜８のいずれか１項に記載の周辺装置。
【請求項１０】
前記ソフトウェアは、前記情報処理装置に前記周辺装置が接続されていない状態では前記情報処理装置において機能しないことを特徴とする請求項１〜９のいずれか１項に記載の周辺装置。
【請求項１１】
前記周辺装置は、画像読取装置であることを特徴とする請求項１〜１０のいずれか１項に記載の周辺装置。
【請求項１２】
所定のインターフェースを介して情報処理装置と接続可能な周辺装置であり、前記情報処理装置から前記周辺装置に対して所定の情報を送信して前記周辺装置が有する機能を制御するプログラムを、前記情報処理装置が所定のネットワークを経由して外部装置から取得するときに使用するソフトウェアを記憶する記憶部と、前記周辺装置を外部記憶装置以外のデバイスとして前記情報処理装置に認識させる第１モード、及び前記周辺装置を外部記憶装置として前記情報処理装置に認識させて前記情報処理装置から前記記憶部の前記ソフトウェアが記憶された記憶領域にアクセス可能となる第２モードのいずれかのモードで前記周辺装置を制御する制御部と、を有する周辺装置の制御方法であって、
前記周辺装置と前記情報処理装置とを接続したときに前記所定のインターフェースを通じて前記第１モードで認識させるステップと、
該第１モードで認識させた後、前記情報処理装置から前記所定の情報を受信しない場合には前記第２モードで認識させるステップと、
を有することを特徴とする周辺装置の制御方法。
【請求項１３】
所定のインターフェースを介して情報処理装置と接続可能な周辺装置であり、前記情報処理装置から前記周辺装置に対して所定の情報を送信して前記周辺装置が有する機能を制御するプログラムを、前記情報処理装置が所定のネットワークを経由して取得するときに使用するソフトウェアを記憶する記憶部と、前記周辺装置を外部装置以外のデバイスとして前記情報処理装置に認識させる第１モードと、前記周辺装置を外部記憶装置として前記情報処理装置に認識させて前記情報処理装置から前記記憶部の前記ソフトウェアが記憶された記憶領域にアクセス可能となる第２モードとを切り替えるためのスイッチと、前記スイッチの状態に応じて前記第１モードと前記第２モードとを切り替え制御する制御部と、メッセージを出力可能な出力部と、を有する周辺装置の制御方法であって、
前記第１モードでは所定の時間内に前記所定の情報を前記情報処理装置から受信しない場合には、前記出力部に対して、前記スイッチにより第２モードに切り替える旨のメッセージを出力するステップを有することを特徴とする周辺装置の制御方法。
【請求項１４】
コンピュータを、請求項１〜１１のいずれか１項に記載の制御部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺装置、周辺装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（PC）等の情報処理装置にディスクの読み取りドライブ（CDドライブ、DVDドライブ等）が標準で搭載されない構成が増えてきている。また、情報処理装置では、画像読取装置などの周辺装置のドライバーやアプリケーションを、インターネットを介して外部サーバーからダウンロードすることが一般的になってきている。なお、外部サーバーからダウンロード可能なアプリケーションには、サードパーティから汎用品として販売されているアプリケーションが含まれている場合がある。このアプリケーションは、サードパーティからライセンス購入等されたものであり、周辺装置の購入者だけがソフトウェアを利用できるものである。
【０００３】
外部サーバーへのアクセスは、PCにインストールされているWebブラウザにURLを入力して行う。しかし、通常、ユーザは、そのURLを知らないため、製品に同梱されたドキュメントに記載のダウンロードサイトURLを見て手入力することや、ウェブ検索サービスを使ってダウンロードサイトを検索していた。
【０００４】
また、ダウンロードまたはインストール時に、周辺装置の購入者だけがソフトウェアを利用できるように、ライセンスキーやシリアル番号などのキー情報の入力を必要とする場合がある。この場合、ユーザはキー情報の入力の手間が必要になることもあった。また、周辺装置と一緒に梱包されていたキー情報を紛失してしまい、インストールできない等の場合もあった。
【０００５】
そこで、従来より、ソフトウェアのダウンロードおよびインストールにかかるユーザの手間を軽減する技術が提案されている。
特許文献１では、情報処理装置に外部サーバーから紹介プログラムをダウンロードおよびインストールし、実行することで、ユーザが容易かつ低コストに機能拡張用プログラムをダウンロードおよびインストールできる技術が提案されている。この技術では、紹介プログラムに格納されているラインセンスキーなどの識別情報を用いて拡張プログラムをダウンロードおよびインストールすることが可能となる。
【０００６】
ところで、情報処理装置のオペレーティングシステム（OS）には、CDドライブなどのドライバーが標準で供えられているが、OSに標準で供えられていない周辺装置のドライバーやアプリケーションは、情報処理装置へのインストールが求められる。
【０００７】
特許文献２では、このインストールの手間を軽減することを目的とする技術が提案されている。特許文献２では、周辺装置にファイルシステムエミュレーション手段を設け、情報処理装置から周辺装置にファイルシステムとしてアクセス可能にし、そのファイルシステムにドライバーやアプリケーションを格納する構成となっている。このような構成にすることで、周辺装置に格納されているソフトウェアを情報処理装置にインストールできるようになる。このため、特許文献２の方法を取れば、周辺装置のメーカ等では、ドライバーやアプリケーションを格納したCD-ROMなどの同梱を省くことができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１６−３５７１３号公報
【特許文献２】特開２００１−２５６１７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１の技術は、複合機（MFP：Multi Function Peripheral）などの単独で機能を実行できる装置が対象である。このため、特許文献１の技術は、PCと周辺装置を接続して使用する構成の場合に用いるドライバーなどのソフトウェアのインストールにかかる手間を省けるものではない。
【００１０】
また、特許文献２の技術では、周辺装置にドライバーやアプリケーションを格納しているため、周辺装置に搭載する不揮発性メモリのサイズを大きくする必要があり、結果的に、コストアップにつながっていた。
【００１１】
また、近年のOSでは、セキュリティの観点からマスストレージクラスデバイスの自動実行が許可されておらず、マスストレージクラスデバイスが検出されても、ユーザに対するメッセージが表示されるだけに留まるものが多い。なお、特許文献２の技術では、ドライバー等の必要なソフトウェアが既にインストールされている状態でも、周辺装置が最初にマスストレージクラスデバイスとして認識される。このため、特許文献２の技術では、周辺装置の起動のたびにメッセージ表示がされ、ユーザの操作の妨げとなってしまう可能性があった。
【００１２】
さらに、最近になって、クラウドサービス（クラウドコンピューティングサービス）が著しい普及を遂げている。このため、周辺装置のベンダーがライセンス購入等により、周辺装置の購入者だけにクラウドサービスを利用可能にするといったサービスを行うことも考えられる。例えば、通常は有償利用のクラウドサービスを周辺装置の購入者だけに無償利用可能にする等のサービスがある。このような場合にも、上述のソフトウェアのダウンロードの場合と同様に、クラウドサービスの利用時にユーザ登録等にかかるユーザの手間（サイト検索やキー情報入力の手間等）を軽減していくことが求められる。また、周辺装置の購入者のベンダーへのユーザ登録にかかるユーザの手間についても同様に軽減していくことが求められる。
【００１３】
本発明は、周辺装置の利用に際してユーザの負荷を低減することにある。例えば、周辺装置を使用するユーザによるデバイスドライバーやアプリケーションのセットアップ等にかかる手間を軽減して容易に行うことが可能になり、また、従来の構成に比べて周辺装置に搭載する不揮発性メモリの容量を抑え、製品のコストアップを防ぐことができ、また、ソフトウェアのインストール等を行わないときに不要なメッセージが表示されることを抑制できる等、周辺装置の利用に際してユーザの負荷を低減する仕組みを提供することである。
【課題を解決するための手段】
【００１４】
本発明は、所定のインターフェースを介して情報処理装置と接続可能な周辺装置であって、前記情報処理装置から前記周辺装置に対して所定の情報を送信して前記周辺装置が有する機能を制御する制御プログラムを、前記情報処理装置が所定のネットワークを経由して外部装置から取得するときに使用するソフトウェアを記憶する記憶部と、前記周辺装置を外部記憶装置以外のデバイスとして前記情報処理装置に認識させる第１モード、及び前記周辺装置を外部記憶装置として前記情報処理装置に認識させて前記情報処理装置から前記記憶部の前記ソフトウェアが記憶された記憶領域にアクセス可能となる第２モードの何れかのモードで前記周辺装置を制御する制御部と、を有し、前記制御部は、前記周辺装置と前記情報処理装置とを接続したときに前記所定のインターフェースを通じて前記第１モードで認識させた後、前記情報処理装置から前記所定の情報を受信しない場合には前記第２モードで認識させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、周辺装置の利用に際してユーザの負荷を低減することができる。例えば、周辺装置を使用するユーザによるデバイスドライバーやアプリケーションのセットアップ等にかかる手間を軽減して容易に行うことが可能になる。また、従来の構成に比べて周辺装置に搭載する不揮発性メモリの容量を抑えることが可能となり、製品のコストアップを防ぐことができる。また、ソフトウェアのインストール等を行わないときに不要なメッセージが表示されることを抑制できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態を示す周辺装置を含むシステムの構成図
【図２】第１実施形態におけるスキャナーのソフトウェア構成図
【図３】ホストPCの周辺装置に係るソフトウェアインストール前のソフトウェア構成図
【図４】ホストPCの周辺装置に係るソフトウェアインストール後のソフトウェア構成図
【図５】第１実施形態に係るソフトウェアのインストール処理におけるスキャナーの動作手順の一例を示すフローチャート
【図６】第１実施形態に係るソフトウェアのインストール処理におけるホストPCの動作手順の一例を示すフローチャート
【図７】本実施形態のインストーラーを実行した場合の表示画面の一例を示す図
【図８】第２実施形態におけるスキャナーの構成の一例を示すブロック図
【図９】第２実施形態に係るソフトウェアのインストール処理におけるスキャナーの動作手順の一例を示すフローチャート
【図１０】第２実施形態に係るソフトウェアのインストール処理におけるホストPCの動作手順の一例を示すフローチャート
【図１１】第１実施形態に係るスキャナー及びホストPCのハードウェア構成図
【図１２】第２実施形態に係るスキャナー及びホストPCのハードウェア構成図
【発明を実施するための形態】
【００１７】
以下、発明を実施するための形態について、周辺装置の一例としてスキャナー（画像読取装置）を用いて説明する。なお、本発明は周辺装置としてスキャナーに限定されるものではなく、同様の環境において使用されるプリンターや他の周辺装置においても適用され得るものである。
【００１８】
〔第１実施形態〕
図１は、本発明の第１実施形態を示す周辺装置を含む情報処理システムの構成の一例を示す図である。
図１において、スキャナー1は、本実施形態の周辺装置の一例を示すものである。ホストPC2は、周辺装置と所定のインターフェースを介して接続可能な情報処理装置である。なお、このホストPC2としては、例えば、ノート型のパーソナルコンピューターやデスクトップ型のパーソナルコンピューターだけでなく、スマートフォンやタブレット型端末などの携帯型端末でもよい。スキャナー1とホストPC2とは、USBケーブル等のケーブル4を介して接続しており、データのやり取りが可能である。また、ホストPC2は、優先又は無線LAN等を介してインターネット5等に接続している。
【００１９】
インターネット5上には、ダウンロードサーバー3等が存在している。ダウンロードサーバー3は、スキャナー1のスキャナードライバー、キャプチャーアプリケーション、マニュアル等の各種アプリケーションをダウンロード可能なサーバーである。この各種アプリケーションには、スキャナー1の製造元・販売元等（以下「ベンダー」）とは異なるサードパーティから汎用品として販売されているアプリケーション等も含まれる。また、インターネット5上には、クラウドコンピューティングサービス（以下「クラウドサービス」）6等が複数存在している。各クラウドサービス6は、インターネット5を介して、ホストPCに対して所定のサービスを提供する。
【００２０】
［ハードウェア構成］
図１１は、第１実施形態に係るスキャナー1及びホストPC2のハードウェア構成の一例を示すブロック図であり、図１と同一のものには同一の符号を付してある。
図１１に示すように、スキャナー1は、CPU101、ROM102、RAM103、外部I/Fコントローラ104、物理的なケーブル接続を行うための外部インターフェース105、スキャナーエンジン13を備えている。スキャナー1に電力が投入されると、CPU101は、ファームウェアをROM102から起動する。または、ファームウェアは不図示の不揮発性メモリ等から起動してもよい。外部インターフェース105は、ケーブル4を介してスキャナー1とPC2とを接続可能にする。スキャナーエンジン13は、スキャナー1が画像の読み取りを行うための画像読取部である。CPU101は、スキャナーエンジン13の動作制御を行うことにより画像の読み取りを実行し、該読み取った画像データを、外部インターフェース105を介してホストPC2に転送する。外部I/Fコントローラ104は、外部インターフェース105を介して接続される装置との通信を制御する。
【００２１】
また、ホストPC2は、CPU201、ROM202、RAM203、ハードディスクドライブ（HDD）204、外部インターフェース205を備えている。外部インターフェース205は、ケーブル4を介してPC2とスキャナー1とを接続可能にする。また、CPU201には、キーボード／マウス206とディスプレイ207とが接続される。
【００２２】
なお、本実施形態では、外部インターフェース105、205はUSBインターフェース、ケーブル4はUSBケーブル、外部I/Fコントローラ104はUSBコントローラとして説明するが、本発明はこれに限定するものではなく、他のインターフェースであってもよい。
【００２３】
また、本実施形態では、周辺装置の一例としてスキャナーを用いる構成を説明するが、スキャナー以外のプリンターやプロジェクター、録音装置等の周辺装置でもよい。すなわち、本発明は各種周辺装置のデバイスドライバー等のソフトウェアのインストール処理に適用可能である。この場合、以下で説明する「スキャナードライバー」を、周辺装置の「デバイスドライバー」に読み替える等により説明可能である。
【００２４】
［スキャナー1のソフトウェア構成］
図２は、第１実施形態におけるスキャナー1のソフトウェア構成の一例を示すブロック図である。なお、図２には一部のハードウェアも記載してある。
図２に示すように、スキャナー1は、インターフェースセレクター11、格納データ12、スキャナーエンジン13（ハードウェア）を備える。
【００２５】
インターフェースセレクター11は、マスストレージクラスインターフェース111とスキャナーインターフェース112とを含み、マスストレージクラスインターフェース111またはスキャナーインターフェース112を起動するためのソフトウェアである。
【００２６】
マスストレージクラスインターフェース111は、例えばUSBインターフェース等のインターフェースを介してスキャナー1をマスストレージとして使用するためのソフトウェアである。マスストレージクラスインターフェース111が起動しているとき、スキャナー1は、外部記憶装置モードとなり、ホストPC2からはマスストレージクラスデバイスとして認識される。このとき、ホストPC2からは、格納データ12が記憶される記憶領域にアクセス可能となる。
【００２７】
スキャナーインターフェース112は、例えばUSBインターフェース等のインターフェースを介してスキャナー1をスキャナーデバイスとして使用するためのソフトウェアである。スキャナーインターフェース112が起動しているとき、スキャナー1は、周辺装置モードとなり、ホストPC2からスキャナーデバイスとして認識される。この場合、ホストPC2は、ホストPC2にインストールされるスキャナードライバー223（図４）を用いて画像の読み取り処理を行うことができる。この画像読み取り処理によりスキャナーエンジン13で読み取られた画像データは、スキャナーインターフェース112を介してホストPC2に転送される。
【００２８】
格納データ12は、図１１に示したROM102等の記憶部に格納されるデータである。なお、スキャナー1にフラッシュメモリ等の着脱自在の記憶装置を接続し、該記憶装置に格納データ12を格納する構成でもよい。格納データ12には、インストーラー121、キー情報122等が含まれる。インストーラー121は、ホストPC2で実行された場合に、スキャナードライバー、キャプチャーアプリケーション、マニュアル等のソフトウェアを、ネットワークを経由してダウンロードサーバー3等の外部装置からホストPC2にダウンロード（取得）する機能を有する。また、インストーラー121は、ネットワーク上のサービスに登録を行う機能を有していてもよい。例えばインストーラー121は、クラウドサービス6に登録を行う機能や、スキャナー1のベンダー等にユーザ登録を行う機能等を有していてもよい。なお、クラウドサービス6への登録やベンダーへのユーザ登録のためのURL等の情報も格納データ12に格納されていてもよい。
【００２９】
また、格納データ12にキー情報（複数の文字情報等）は含めるが、インストーラー121は含めないようにしてもよい。この場合、ユーザが自ら上述したソフトウェアのダウンロードサイトを検索等してダウンロードサーバー3にアクセスしてダウンロードサーバー3からソフトウェアのダウンロードを行い、キー情報は格納データ12内のものを用いるものとする。また、上述したソフトウェアのダウンロードサイトのURL等の情報を格納データ12に格納してもよい。
【００３０】
なお、インストーラー121は、ダウンロードサーバー3からソフトウェアをダウンロード又はクラウドサービス6やスキャナー1のベンダー等にユーザ登録する際にライセンスキーなどのキー情報を必要とする場合、格納されているキー情報122を用いてダウンロードやユーザ登録を行う。このため、ソフトウェアのダウンロードやユーザ登録に、ユーザがキー情報を入力する手間を省くことができる。さらに、インストーラー121は、ダウンロードされたソフトウェアをホストPC2にインストールする機能を有している。なお、インストールする際にライセンスキーなどのキー情報を必要とする場合にも、インストーラー121が格納されているキー情報122を用いてインストールするため、ユーザがキー情報を入力する手間を省くことができる。
【００３１】
なお、インストーラー121は、該インストーラー121を実行するコンピュータとスキャナー1とが接続されている状態でなければ動作しないように構成してもよい。また、キー情報122は暗号化されて記憶されているものとしてもよい。これらにより、インストーラー121やキー情報がスキャナー1からコピーされて第三者（スキャナー1の利用者以外）に渡った場合でも、該第三者が勝手にインストーラー121やキー情報を用いて、サードパーティが提供するアプリケーションや、クラウドサービス6にユーザ登録を行って利用するといった不正利用を防ぐことが可能となる。
【００３２】
また、Webブラウザを用いて、ダウンロードサーバー3からスキャナー1のドライバーのインストーラーをダウンロードしてコンピュータにスキャナー1のドライバーをインストールする場合でも、該インストーラーは、該コンピュータとスキャナー1が接続されている状態でなければ動作しないように構成してもよい。また、この場合も、該インストーラーがスキャナー1内のキー情報122を利用してダウンロードやインストールを行うように構成してもよい。
【００３３】
スキャナー1は、CPU101がROM102等に格納された、上述のインターフェースセレクター11、マスストレージクラスインターフェース111、スキャナーインターフェース112の各ソフトウェアに対応するプログラムを、ROM102等から読み出して実行することにより、上記各ソフトウェアの機能を実現する。
【００３４】
［ホストPC2のソフトウェア構成］
図３、図４は、ホストPC2のソフトウェア構成の一例を示すブロック図である。
図３に示すように、ホストPC2には、オペレーシングシステム21、デバイスドライバー22等の制御プログラムがインストールされている。なお、デバイスドライバー22には、ネットワークアダプタードライバー221、マスストレージクラスドライバー222が含まれる。
【００３５】
オペレーティングシステム（OS）21は、ホストPC2の基本ソフトウェアである。ネットワークアダプタードライバー221は、ネットワークに接続するためのソフトウェアであり、ホストPC2をインターネットにLAN等を介して接続する。マスストレージクラスドライバー222は、ハードディスクドライブ（HDD）、ソリッドステートドライブ（SSD）、CD-ROM、DVD-ROM、CD-R、DVD-R、USBメモリ等のマスストレージクラスデバイスを制御するためのソフトウェアである。ネットワークアダプタードライバー221及びマスストレージクラスドライバー222は、OS付属の機能として予め利用可能な環境になっている場合があり、本実施形態でもこれらはOS21付属の機能として提供されているものとする。なお、ネットワークアダプタードライバー221及びマスストレージクラスドライバー222がOS21とは別にインストールされる構成であっても本発明は適用可能である。
【００３６】
なお、後に説明するソフトウェアのインストールを行った後のホストPCには、図４に示すように、スキャナードライバー223、キャプチャーアプリケーション23、マニュアル24、・・・、その他のアプリケーション25がインストールされる。その他のアプリケーション25には、例えば、サードパーティが提供するドキュメント管理ソフトや、名刺管理ソフト、OCRソフト等が含まれる。
【００３７】
なお、ホストPC2は、CPU201がHDD204等に格納された、上記図３、図４に示したデバイスドライバー22、OS21、キャプチャーアプリケーション23、マニュアル24、・・・、その他のアプリケーション25等の各ソフトウェアに対応するプログラムを実行することにより、上記各ソフトウェアの機能を実現する。
【００３８】
［スキャナー1の処理］
以下、第１実施形態に係るスキャナードライバー223を含むソフトウェアのインストール処理におけるスキャナー1の動作手順を、図５を用いて説明する。
図５は、第１実施形態に係るソフトウェアのインストール処理におけるスキャナー1の動作手順の一例を示すフローチャートである。この処理は、図２に示した各ソフトウェアにより実行される。すなわち、この処理は図１１に示したスキャナー1のCPU101がROM102等に格納されたプログラムを実行することにより実現される。
【００３９】
まずスキャナー1の電源がON又は電源ON済みのスキャナー1がケーブル4を介してホストPC2と電気的に接続されると、CPU101は、図５のフローチャートの処理を開始する。
S1001において、インターフェースセレクター11は、スキャナーインターフェース112を起動する。これにより、スキャナー1は、ホストPC2に、スキャナーデバイスとして認識される。
【００４０】
次に、S1002において、CPU101は、ホストPC2から送信されるインストール済みコマンドの受信待ちを一定時間行う。インストール済みコマンドは、ホストPC2にスキャナードライバー223がインストールされている場合に、スキャナードライバー223から送信されるコマンドのことである。この機能は、スキャナードライバー223に、ホストPC2のユーザログオン時に自動でスタートし常駐する機能を設けることで実現している。この機能により、ホストPC2のスキャナードライバー223はスキャナー1を検出すると、スキャナー1にインストール済みコマンドを発行することができる。
【００４１】
なお、本実施形態において、インストール済みコマンドを発行する機能をドライバーに設けている理由は、以下のような理由である。キャプチャーアプリケーション23は、サードパーティが提供するものをユーザは任意に選択できるため、ベンダーが提供するキャプチャーアプリケーションが必ずしもインストールされるわけではない。同様に、マニュアル24や、その他のアプリケーション25も必ずしもインストールされるものではない。それに対して、周辺装置のドライバー（ここではスキャナードライバー223）は基本的にインストールを行うことが求められ、ドライバーがインストールされていれば、周辺装置を使用する環境が整っていると判断できるためである。なお、本実施形態ではインストール済みコマンドの発行機能をスキャナードライバー223の機能の一部としたが、独立したプログラムとして提供されてもよいが、このプログラムはスキャナードライバー223とともにホストPC2にインストールされるものとする。
【００４２】
上記S1002において、一定時間内にインストール済みコマンドを受信したと判定した場合（S1002でYesの場合）、CPU101は、本フローチャートの処理を終了する。以降、スキャナー1は、ホストPC2からの読み取り開始指示に応じてスキャナーの動作を行う。
【００４３】
一方、S1002において、一定時間内にインストール済みコマンドを受信しないと判定した場合（S1002でNoの場合）、CPU101は、S1003に処理を進める。
【００４４】
S1003において、インターフェースセレクター11は、マスストレージクラスインターフェース111を起動する。これにより、スキャナー1は、ホストPC2に、マスストレージクラスデバイスとして認識され、ホストPC2からインストーラー121、キー情報122が取得可能になる。なお、マスストレージクラスインターフェースを起動する際、必要に応じてバスリセットが行われる。
【００４５】
また、上記S1003でマスストレージクラスデバイスを起動する際、スキャナーインターフェースを終了することで、スキャナー1をマスストレージクラスデバイスのみをホストPC2に認識させることができる。しかし、スキャナーインターフェースを継続して起動しておき、マスストレージクラスデバイスとスキャナーデバイスの複合デバイスとして、スキャナー1をホストPCに認識させることもできる。本実施形態では、一例としてマスストレージクラスデバイスのみをホストPCに認識させる構成を説明する。
【００４６】
次にS1004において、CPU101は、ホストPC2からの指示に応じて、インストーラー121をホストPC2に転送する。周辺装置が主体となってホストPC2にデータを転送することはできないため、後述の［ホストPC2の処理］で説明するホストPC2からの指示によって、CPU101は、インストーラー121のホストPC2への転送を行う。
【００４７】
次にS1005において、CPU101は、ホストPC2に転送されたインストーラー121がホストPC2で実行されて、ホストPC2からソフトウェアのインストール完了コマンドを受信するまで待つ。インストール完了コマンドを発行する方法は、後述の［ホストPC2の処理］で説明する。インストール完了コマンドを受信すると、CPU101は、S1006に処理を進める。
【００４８】
S1006において、インターフェースセレクター11は、マスストレージクラスインターフェース111を終了する。なお、このとき、必要に応じてバスリセットが行われる。S1006の処理の後、CPU101は、S1001に処理を戻す。これにより、ホストPC2にソフトウェアがインストールされた状態で、S1001の処理に戻ることになるため、一定時間内にインストール済みコマンドがホストPC2より発行されようになる。すなわち、S1002において、Yesと判定し、CPU101は、本フローチャートの処理を終了する。
【００４９】
［ホストPC2の処理］
以下、図６を用いて、第１実施形態に係るソフトウェアのインストール処理におけるホストPC2の動作手順について説明する。
図６は、第１実施形態に係るソフトウェアのインストール処理におけるホストPC2の動作手順の一例を示すフローチャートである。この処理は、図３に示した各ソフトウェアにより実行される。すなわち、この処理は図１１に示したホストPC2のCPU201がHDD204等に格納されたプログラムを実行することにより実現される。
【００５０】
まずスキャナー1の電源がON又は電源ON済みのスキャナー1がケーブル4を介してホストPC2に物理的に接続されて図５のS1001でインターフェースセレクター11がスキャナーインターフェース112を起動すると、ホストPC2のCPU201は、スキャナーデバイスとしてのスキャナー1が接続されたことを検出する（S2001）。
【００５１】
ここで、ホストPC2にスキャナードライバー223がインストールされている場合（S2002でYesの場合）、スキャナードライバー223にはインストール済みコマンドの発行機能が設けられているため、スキャナードライバー223は、スキャナー1にインストール済みコマンドを送信する（S2003）。これにより、スキャナー1は、図５のS1002でインストール済みコマンドを受信するため、以降は一般的なスキャナーと同様の動作をし、ホストPC2からの指示に基づいてスキャン処理を行うようになる。
【００５２】
なお、スキャナードライバー223にインストール済みコマンドの発行機能が設けられている理由は、スキャナードライバー223はスキャナー1の使用に使われるが、キャプチャーアプリケーション23、マニュアル24及びその他のアプリケーション25は、ユーザが任意にインストールするものであり、必ずしもインストールされるわけではないためである。スキャナードライバー223のように、周辺装置のデバイスドライバーはインストールを行うことが求められ、ドライバーがインストールされていれば周辺装置を使用する環境が整っていると判断できるためである。なお、スキャナードライバー223にインストール済みコマンド発行機能を設けず、インストール済みコマンド発行機能を独立したプログラムとして提供する場合では、インストール済みコマンド発行プログラムがインストールされているかどうかでホストPC2の処理が変化することになる。
【００５３】
また、ホストPC2にスキャナードライバー223がインストールされていない場合（S2002でNoの場合）、スキャナー1では図５のS1003においてマスストレージクラスデバイスが起動されるため、CPU201は、マスストレージクラスデバイスを検出する（S2004）。
【００５４】
このとき、検出したマスストレージクラスデバイスに格納されているデータ（格納データ12）に自動実行情報ファイルが含まれている場合、ホストPC2のOS21が自動実行情報ファイルの記述に従って、自動的にプログラムを実行する場合がある。しかし、近年のOSにおいては、セキュリティの観点から、このような自動実行は行われない構成になっているものがある。近年のOSでは、例えば、マスストレージクラスデバイスが検出されたことをホストPC2に接続されたディスプレイ207にメッセージ表示するなど、ユーザに通知するだけに留まることもあり、本実施形態でも、OS21がそのような動作をするものとして説明する。
【００５５】
ディスプレイ207にマスストレージクラスデバイスが検出されたことを伝える旨のメッセージが表示されたことに気付いたユーザは、マスストレージクラスデバイスにアクセスし、格納されているインストーラー121を容易に発見し、実行することができる。
【００５６】
S2005において、ユーザ指示に応じて、CPU201によりインストーラー121が実行されると、インストーラー121は、図７のような画面をディスプレイ207に表示し、スキャナードライバー223、キャプチャーアプリケーション23、マニュアル24、・・・、その他のアプリケーション25のダウンロードおよびインストール、またクラウドサービスやベンダーへのユーザ登録等の選択をユーザに促す。
【００５７】
図７は、インストーラー121を実行した場合の表示画面の一例を示す図である。
ユーザは、画面52において、ダウンロード及びインストールを行うソフトウェアや、ユーザ登録を行うクラウドサービス、ベンダー等のユーザ登録の有無を選択して、OKボタン50を押下する。これにより、ユーザは、ソフトウェアのダウンロードおよびインストール、クラウドサービスやベンダーへのユーザ登録等を指示可能である。なお、スキャナードライバーへのチェックがONになって初めて他の選択肢のチェックが可能となるように構成してもよい。
【００５８】
なお、前述したように、スキャナードライバー223は、インストールすることが求められるので、デフォルトでダウンロードおよびインストールをする構成とし、選択画面に表示しない構成でもよい。
画面52で、ダウンロードおよびインストールするソフトウェア等が選択されてOKボタン50が押下されると、インストーラー121は、S2006に処理を進める。
なお、画面52でキャンセルボタン51が押された場合は、CPU201は、本フローチャートの処理を終了することになるが、本実施形態で詳細な説明の必要はないため省略する。
【００５９】
S2006において、インストーラー121は、インターネット上のダウンロードサーバー3にアクセスし、選択されたソフトウェアをダウンロードする。なお、インストーラー121は一般的なWebブラウザと同等の機能を有しており、http通信などを用いてダウンロードサーバー3からソフトウェアをダウンロードすることが可能である。また、ダウンロードサーバー3には、スキャナードライバー223、キャプチャーアプリケーション23、マニュアル24、・・・、その他のアプリケーション25などのソフトウェアが予め格納されており、インストーラー121からの要求に応じてソフトウェアを転送することができる。
【００６０】
インストーラー121は、ダウンロードサーバー3からソフトウェアをダウンロードすると、ダウンロードしたソフトウェアをホストPC2にインストールする。なお、全てのソフトウェアはダウンロードサーバー3からのダウンロードされるものでなくてもよく、一部のソフトウェアがスキャナー1の格納データ12から取得される構成でもよい。
なお、インストーラー121は、ダウンロードまたはインストールの際、シリアルキーなどのキー情報を必要とする場合は、スキャナー1からキー情報122を取得して用いるものとする。これにより、ユーザによるキー情報の入力なしにダウンロードおよびインストールが可能となる。
【００６１】
なお、インストーラー121は、ダウンロード可能なソフトウェアとして、スキャナードライバー223、キャプチャーアプリケーション23、マニュアル24等を示したが、必要に応じてダウンロード可能なソフトウェアを増減させてもよい。また、インストーラー121はダウンロード可能なソフトウェアのリストをダウンロードサーバー3から取得して、図７の画面に表示する構成にしてもよい。
また、インストーラー121は、図５の画面52で、クラウドサービスへの登録や、ベンダーへのユーザ登録が選択されている場合、Webブラウザと同等の機能を用いて、キー情報122を用いるなどしてクラウドサービス6への登録処理や、ベンダーへのユーザ登録処理を行う。
【００６２】
上述のインストール等の処理が完了すると、S2007において、インストーラー121は、スキャナー1にインストール完了コマンドを送信する。これに応じて、スキャナー1は、図５のS1005において、インストール完了コマンドの受信待ちを抜け、インターフェースセレクター11がマスストレージクラスインターフェースを終了し（S1006）、スキャナーインターフェースを起動する（S1001）。これにより、ホストPC2では、CPU201が、スキャナーデバイスを検出する（S2001）。この際、ホストPC2はスキャナードライバー223がインストールされた図４の状態となっているため、スキャナードライバー223は、インストール済みコマンドを発行する（S2003）。
【００６３】
以上により、ソフトウェアのインストールを行う際に、ユーザがシリアルキーなどのキー情報を入力することなく簡単にダウンロードサーバーからソフトウェアをダウンロードして、ホストPC2にインストールすることが可能になる。また、クラウドサービスへの登録やベンダーへのユーザ登録等も同時に行うことが可能となる。さらに、OS21にマスストレージクラスデバイスとして認識される状況が、ソフトウェアがインストールされていない初回だけとなるため、マスストレージクラスデバイスが検出された旨の表示を必要最小限にできる。これにより、マスストレージクラスデバイスが検出された旨の表示がユーザ操作の妨げになるといったことも防止できる。
【００６４】
〔第２実施形態〕
第２実施形態は、第１実施形態で説明したスキャナー1の構成に、表示器、インターフェーススイッチが追加された構成である。以下、詳細に説明する。なお、第１実施形態で説明した構成と同様の部分については同一の符号を付与しているため説明を省略する。
【００６５】
［スキャナー1の構成］
図８は、第２実施形態におけるスキャナー1の構成の一例を示すブロック図であり、図２と同一のものには同一の符号を付してある。
図１２は、第２実施形態に係るスキャナー1及びホストPC2のハードウェア構成の一例を示すブロック図であり、図１と同一のものには同一の符号を付してある。
図８及び図１２に示すように、第２実施形態のスキャナー1には、図１及び図２で説明した構成に、ハードウェアとして、表示器14、インターフェーススイッチ15が追加されている。
【００６６】
表示器14は、スキャナー1の前面などに配置されたLCDパネル等であり、メッセージ等を出力可能な出力部である。スキャナー1では、この表示器14にメッセージやアイコンを表示することで、ユーザへの通知を行う。なお、表示器の代わりに音声出力器を設けて音声によりメッセージ等を出力可能な構成でもよい。
【００６７】
インターフェーススイッチ15は、スキャナー1の背面などに配置された物理スイッチである。インターフェースセレクター11は、インターフェーススイッチ15のスイッチの状態によって、マスストレージクラスインターフェース111を起動するか、スキャナーインターフェース112を起動するかを決定する。
【００６８】
［スキャナー1の処理］
以下、第２実施形態に係るスキャナードライバー223を含むソフトウェアのインストール処理におけるスキャナー1の動作手順を、図９を用いて説明する。
図９は、第２実施形態に係るソフトウェアのインストール処理におけるスキャナー1の動作手順の一例を示すフローチャートである。この処理は、図８に示した各ソフトウェアにより実行される。すなわち、この処理は図１２に示したスキャナー1のCPU101がROM102等に格納されたプログラムを実行することにより実現される。
【００６９】
図８及び図１２に示したスキャナー1の構成において、ホストPC2にスキャナードライバー223などのソフトウェアがインストールされていない図３の状態で、スキャナー1のインターフェーススイッチ15がスキャナーインターフェース112に選択される状況が起こりうる。しかし、ホストPC2にはスキャナードライバー223等がインストールされていないため、スキャナー1を使用することができない。本実施形態では、この状況をユーザに通知してインターフェーススイッチ15の切り替えを促すことにより、この状況を解消する構成について説明する。以下、その動作手順を図９のフローチャートに示す。
【００７０】
まずスキャナー1の電源がON、電源ON済みのスキャナー1がケーブル4を介してホストPC2に物理的に接続された又はインターフェーススイッチ15を切り替えがあると、CPU101は、図９のフローチャートの処理を開始する。
【００７１】
S3001において、インターフェースセレクター11は、インターフェーススイッチ15の状態に応じて、マスストレージクラスインターフェース111、または、スキャナーインターフェース112のいずれかを起動する（S3002又はS3005）。
【００７２】
インターフェースセレクター11は、インターフェーススイッチ15の状態がマスストレージクラスインターフェース111を選択している状態と判定した場合（S3001でNoの場合）、S3005に処理を進める。
S3005において、インターフェースセレクター11は、マスストレージクラスインターフェース111を起動し、本フローチャートの処理を終了する。この場合、スキャナー1は、ホストPC2からマスストレージデバイスとして認識される。
【００７３】
一方、インターフェースセレクター11は、インターフェーススイッチ15の状態がスキャナーインターフェース112を選択している状態と判定した場合（S3001でYesの場合）、S3002に処理を進める。
S3002において、インターフェースセレクター11は、スキャナーインターフェース112を起動し、S3003に処理を進める。
【００７４】
S3003において、CPU101は、図５のS1002と同様に、ホストPC2から送信されるインストール済みコマンドの受信待ちを一定時間行う。
上記S3003において、一定時間内にインストール済みコマンドを受信したと判定した場合（S3003でYesの場合）、CPU101は、本フローチャートの処理を終了する。以降、スキャナー1は、ホストPC2からの読み取り開始指示に応じてスキャナーの動作を行う。
【００７５】
一方、S3003において、一定時間内にインストール済みコマンドを受信しないと判定した場合（S3003でNoの場合）、CPU101は、S3004に処理を進める。
S3004において、CPU101は、表示器14に、インターフェーススイッチ15をマスストレージクラスインターフェース側に切り替えてソフトウェアをインストールするよう促すメッセージを表示し、本フローチャートの処理を終了する。インターフェーススイッチ15を切り替えがされると、再度、図９の処理が開始される。これにより、スキャナー1ではマスストレージクラスインターフェース111が起動され（S3005）、ホストPC2からマスストレージデバイスとして認識される。
【００７６】
［ホストPC2の処理］
以下、図１０を用いて、第２実施形態に係るソフトウェアのインストール処理におけるホストPC2の動作手順について説明する。
図１０は、第２実施形態に係るソフトウェアのインストール処理におけるホストPC2の動作手順の一例を示すフローチャートである。この処理は、図８に示した各ソフトウェアにより実行される。すなわち、この処理は図１２に示したホストPC2のCPU201がHDD204等に格納されたプログラムを実行することにより実現される。
【００７７】
図８及び図１２に示したスキャナー1の構成において、ホストPC2にスキャナードライバー223などのソフトウェアがインストールされている図４の状態で、スキャナー1のインターフェーススイッチ15がマスストレージクラスインターフェース111に選択される状況が起こり得る。しかし、ホストPC2には既にスキャナードライバー223等がインストールされており、ホストPC2からスキャナー1を使用するためには、スキャナー1をスキャナーデバイスとして認識する。本実施形態では、この状況をユーザに通知してインターフェーススイッチ15の切り替えを促すことにより、この状況を解消する構成について説明する。以下、その動作手順を図１０のフローチャートに示す。
【００７８】
まずスキャナー1の電源がON、電源ON済みのスキャナー1がケーブル4を介してホストPC2に物理的に接続された又はインターフェーススイッチ15を切り替えがあった場合、マスストレージクラスインターフェース111に選択されていると、スキャナー1はマスストレージクラスデバイスとして起動する。そのため、ホストPC2のCPU201は、マスターストレージクラスとしてのスキャナー1が接続されたことを検出する（S4001）。
【００７９】
ここで、ホストPC2にスキャナードライバー223がインストールされている場合（S4002でYesの場合）、スキャナードライバー223は、ホストPC2に接続されたディスプレイ207に、インターフェーススイッチ15を切り替えるよう促すメッセージを表示し（S4004）、本フローチャートの処理を終了する。
【００８０】
また、ホストPC2にスキャナードライバー223がインストールされていない場合（S4002でNoの場合）、CPU201は、図６に示した第１実施形態のS2005〜S2006で述べたソフトウェアのインストール処理が行われる（S4003）。インストールが完了すると、スキャナードライバー223は、S4004において、ホストPC2に接続されたディスプレイ207に、インターフェーススイッチ15を切り替えるよう促すメッセージを表示し、本フローチャートの処理を終了する。
【００８１】
以上により、第２実施形態によれば、スキャナー1にインターフェーススイッチ15が付属する構成において、インターフェーススイッチ15の状態が間違っているときに、ユーザに通知し、適切なスイッチの状態に戻すことができるようになる。
【００８２】
以上、各実施形態によれば、周辺装置の利用に際してユーザの負荷を低減することができる。例えば、周辺装置を使用するユーザによるデバイスドライバーやアプリケーションのセットアップ等にかかる手間を軽減して容易に行うことが可能になる。また、従来の構成に比べて周辺装置に搭載する不揮発性メモリの容量を抑えることが可能となり、製品のコストアップを防ぐことができる。また、ソフトウェアのインストール等を行わないときに不要なメッセージが表示されることを抑制できる。この結果、周辺装置のベンダー等では、従来では周辺装置の出荷時に同封していた周辺装置に係る各種ソフトウェアを記録したCD-ROM等の作成の手間や、CD-ROM等を周辺装置に同封するといった作業の手間を、該ソフトウェアの不正使用を抑えた上で省くことができ、出荷等にかかるコストの低下に繋げることができる。
【００８３】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【００８４】
（その他の実施例）
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路（例えば、ASIC）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００８５】
1    スキャナー
2    ホストPC
3    ダウンロードサーバー
11    インターフェースセレクター
12    格納データ
22    デバイスドライバー
121    インストーラー
122    キー情報
221    ネットワークアダプタードライバー
222    マスストレージクラスドライバー
223    スキャナードライバー
【図１】
2019174906.tif 000003
【図２】
2019174906.tif 000004
【図３】
2019174906.tif 000005
【図４】
2019174906.tif 000006
【図５】
2019174906.tif 000007
【図６】
2019174906.tif 000008
【図７】
2019174906.tif 000009
【図８】
2019174906.tif 000010
【図９】
2019174906.tif 000011
【図１０】
2019174906.tif 000012
【図１１】
2019174906.tif 000013
【図１２】
2019174906.tif 000014