(57)【特許請求の範囲】
【請求項１】
複数の情報処理装置と、特定のスキャンモードを実行可能な画像読取装置とを含む画像読取システムであって、
前記画像読取装置は、
原稿から読み取った画像データを送信する送信先の情報処理装置を選択する送信先選択手段と、
予めメモリに登録されている登録情報を参照して、選択された前記送信先の情報処理装置が特定のスキャンモード用の情報処理装置として登録されていなければ、前記画像読取装置を特定するための特定情報を、前記送信先選択手段によって選択された前記送信先の情報処理装置に送信する送信手段と、
前記送信先の情報処理装置が特定のスキャンモード用の情報処理装置となった旨の通知を受信すると、スキャンの実行を指示するための画面を表示部に表示する表示制御手段とを備え、
各情報処理装置は、
前記送信手段によって送信された特定情報を受信すると、前記特定情報によって特定される前記画像読取装置に対応するドライバソフトウェアをインストールするインストール手段と、
前記インストール手段によってドライバソフトウェアがインストールされた場合、前記情報処理装置が前記特定のスキャンモード用の情報処理装置になった旨を前記画像読取装置に通知する通知手段とを備えることを特徴とする画像読取システム。
【請求項２】
前記インストール手段は、
自装置の記憶手段又は該自装置に接続された外部の記憶手段から、前記画像読取装置に対応するドライバソフトウェアを検索する検索手段を備え、
前記検索手段によって検索されたドライバソフトウェアをインストールすることを特徴とする請求項１に記載の画像読取システム。
【請求項３】
前記特定情報には、少なくとも前記送信先の情報処理装置と前記画像読取装置との間で通信を行うための複数のプロトコルを示す情報及び該複数のプロトコルを使用する優先順位を示す情報を含み、
前記インストール手段は、
前記検索手段によって複数のドライバソフトウェアが検索されると、該複数のドライバソフトウェアから前記優先順位に従ってインストールするドライバソフトウェアを選択するドライバ選択手段をさらに備えることを特徴とする請求項２に記載の画像読取システム。
【請求項４】
前記インストール手段は、
前記検索手段によって前記ドライバソフトウェアが検索されなかった場合に、前記送信先の情報処理装置におけるオペレーティングシステムで動作する汎用のドライバソフトウェアを使用することを特徴とする請求項２に記載の画像読取システム。
【請求項５】
複数の情報処理装置と接続可能であって、特定のスキャンモードを実行可能な画像読取装置であって、
原稿から読み取った画像データを送信する送信先の情報処理装置を選択する送信先選択手段と、
予めメモリに登録されている登録情報を参照して、選択された前記送信先の情報処理装置が特定のスキャンモード用の情報処理装置として登録されていなければ、前記画像読取装置を特定するための特定情報を、前記送信先選択手段によって選択された前記送信先の情報処理装置に送信する送信手段と、
前記送信先の情報処理装置が特定のスキャンモード用の情報処理装置となった旨の通知を受信すると、スキャンの実行を指示するための画面を表示部に表示する表示制御手段と
を備えることを特徴とする画像読取装置。
【請求項６】
複数の情報処理装置と、特定のスキャンモードを実行可能な画像読取装置とを含む画像読取システムの制御方法であって、
前記画像読取装置は、
原稿から読み取った画像データを送信する送信先の情報処理装置を選択する送信先選択ステップと、
予めメモリに登録されている登録情報を参照して、選択された前記送信先の情報処理装置が特定のスキャンモード用の情報処理装置として登録されていなければ、前記画像読取装置を特定するための特定情報を、前記送信先選択ステップにおいて選択された前記送信先の情報処理装置に送信する送信ステップと、
前記送信先の情報処理装置が特定のスキャンモード用の情報処理装置となった旨の通知を受信すると、スキャンの実行を指示するための画面を表示部に表示する表示制御ステップと
を実行し、
各情報処理装置は、
前記送信ステップにおいて送信された特定情報を受信すると、前記特定情報によって特定される前記画像読取装置に対応するドライバソフトウェアをインストールするインストールステップと、
前記インストールステップにおいてドライバソフトウェアがインストールされた場合、前記情報処理装置が前記特定のスキャンモード用の情報処理装置になった旨を、前記画像読取装置に通知する通知ステップと
を実行することを特徴とする画像読取システムの制御方法。
【請求項７】
複数の情報処理装置と接続可能であって、特定のスキャンモードを実行可能な画像読取装置の制御方法であって、
原稿から読み取った画像データを送信する送信先の情報処理装置を選択する送信先選択ステップと、
予めメモリに登録されている登録情報を参照して、選択された前記送信先の情報処理装置が特定のスキャンモード用の情報処理装置として登録されていなければ、前記画像読取装置を特定するための特定情報を、前記送信先選択ステップにおいて選択された前記送信先の情報処理装置に送信する送信ステップと、
前記送信先の情報処理装置が特定のスキャンモード用の情報処理装置となった旨の通知を受信すると、スキャンの実行を指示するための画面を表示部に表示する表示制御ステップと
を実行することを特徴とする画像読取装置の制御方法。
【請求項８】
請求項６に記載の画像読取システムの制御方法をコンピュータに実行させるためのプログラム。
【請求項９】
請求項７に記載の画像読取装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置、その制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
情報処理装置からスキャナデバイスなどの周辺機器を利用するには、その周辺機器に対応した特定のデバイスドライバ（スキャナデバイスであればスキャナドライバ）を、情報処理装置上で動作するオペレーションシステム（ＯＳ）に組み込む必要がある。したがって、利用するスキャナデバイスが複数台ある場合はその台数分だけスキャナドライバを組み込む必要があった。そしてユーザはその度にＩＰアドレスを調べたり、対応するスキャナドライバを探してきたり、といった面倒なインストール作業を強いられてきた。
【０００３】
そこで、近年、スキャナデバイスの種類によらず共通して利用可能なスキャナドライバである「汎用スキャナドライバ」が研究・開発されている。例えば、アプリケーションからＯＳ汎用スキャナドライバに対してスキャン指示を出した後に、入力可能なネットワークスキャナデバイスを選んでスキャンする方法が提案されている。この方法であれば、予めＯＳ汎用スキャナドライバのみを情報処理装置に組み込んでおくだけで、ＯＳ汎用スキャナドライバが対応する全てのスキャナデバイスを利用することが可能である。また、特許文献１では、デバイスから、ネットワーク参加メッセージをユニキャストで管理サーバが受信すると、各クライアントPCに対応するドライバをプッシュインストールすることで、使用環境を構築、管理するシステムが提案されている。
【０００４】
また、ネットワーク上のスキャナデバイスでスキャナドライバを使用して実行される各種スキャン処理では、ユーザは、情報処理装置とスキャナデバイスとの間を往来する必要があった。例えば、ユーザは、情報処理装置側で、スキャナデバイスを特定し、対象スキャナデバイスとの関連付けや、スキャン設定、スキャナドライバの起動を行った後に、スキャナデバイスに行き原稿をセットした後に、情報処理装置に戻ってスキャン処理を実行する必要がある。さらに、ユーザは、スキャン処理の実行後に、再びスキャナデバイスに行き、原稿を取り出す必要がある。
【０００５】
そこで、近年、ＵＳＢインタフェース対応のスキャナデバイスで気軽に使用できる特定のスキャンモードの一つとして疑似プッシュスキャン機能をネットワーク対応スキャナドライバで行うシステムが提案されている。疑似プッシュスキャンとは、スキャナデバイスから画像データをあたかもプッシュするように情報処理装置に送信するスキャン処理の１つである。内部動作としては、ユーザの操作により、スキャナデバイスからスキャン先の情報処理装置にスキャン処理をスタートさせるきっかけとなる信号を送信し、信号を受信した情報処理装置がスキャナドライバを介して画像データを取得する。疑似プッシュスキャンシステムは、ＯＳに設けられたプルスキャン用のスキャナドライバを利用でき、さらには真正のプッシュスキャンシステムと比べ、スキャナデバイス側の機能実装も負荷を軽減できる可能性があり注目されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１４５９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、例えば、複数の情報処理装置と、特定のスキャンモードを実行可能な画像読取装置とを含む画像読取システムであって、前記画像読取装置は、原稿から読み取った画像データを送信する送信先の情報処理装置を選択する送信先選択手段と、予めメモリに登録されている登録情報を参照して、選択された前記送信先の情報処理装置が特定のスキャンモード用の情報処理装置として登録されていなければ、前記画像読取装置を特定するための特定情報を、前記送信先選択手段によって選択された前記送信先の情報処理装置に送信する送信手段と、前記送信先の情報処理装置が特定のスキャンモード用の情報処理装置となった旨の通知を受信すると、スキャンの実行を指示するための画面を表示部に表示する表示制御手段とを備え、各情報処理装置は、前記送信手段によって送信された特定情報を受信すると、前記特定情報によって特定される前記画像読取装置に対応するドライバソフトウェアをインストールするインストール手段と、前記インストール手段によってドライバソフトウェアがインストールされた場合、前記情報処理装置が前記特定のスキャンモード用の情報処理装置になった旨を前記画像読取装置に通知する通知手段とを備えることを特徴とする。
【０００８】
本発明は、上述の問題に鑑みて成されたものであり、接続された情報処理装置にユーザが立ち寄ることなく、画像読取装置を使用するための環境の構築を情報処理装置に行わせる画像読取システム、画像読取装置、それらの制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、例えば、複数の情報処理装置と、特定のスキャンモードを実行可能な画像読取装置とが接続された画像読取システムとして実現できる。画像読取装置は、原稿から読み取った画像データを送信する送信先の情報処理装置を選択する送信先選択手段と、予めメモリに登録されている登録情報を参照して、選択された送信先の情報処理装置が特定のスキャンモード用の情報処理装置として登録されていなければ、送信先の情報処理装置が画像読取装置を使用するためのハードウェア情報とともに、送信先の情報処理装置が画像読取装置を使用するための環境を構築することを指示する第１イベントを送信先の情報処理装置に送信する送信手段と、送信先の情報処理装置から環境の構築が成功した旨の通知を受信すると、スキャンの実行を促す旨を表示部に表示する表示制御手段とを備え、各情報処理装置は、ハードウェア情報とともに、第１イベントを受信すると、ハードウェア情報に適合するドライバをインストールするとともに、画像読取装置を使用するための環境を構築する構築手段と、構築手段による環境の構築が成功したか否かを示す情報を、画像読取装置に通知する通知手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明は、接続された情報処理装置にユーザが立ち寄ることなく、画像読取装置を使用するための環境の構築を情報処理装置に行わせる画像読取システム、画像読取装置、それらの制御方法及びプログラムを提供できる。
【図面の簡単な説明】
【００１１】
【図１Ａ】本実施形態に係る画像読取システムの構成例を示す図である。
【図１Ｂ】本実施形態に係る情報処理装置及びスキャナデバイスの装置構成例を示すブロック図である。
【図２】プルスキャン処理の比較例を示すフローチャートである。
【図３】疑似プッシュスキャン処理の比較例を示すフローチャートである。
【図４】本実施形態に係るスキャナデバイスの疑似プッシュスキャン処理の一例を示すフローチャートである。
【図５】本実施形態に係る情報処理装置でのシステム設定アプリケーションのインストール処理の一例を示すフローチャートである。
【図６】本実施形態に係るスキャナデバイスでの画面例を示す図である。
【図７】本実施形態に係るスキャナデバイスでの画面例を示す図である。
【図８】本実施形態に係るスキャナデバイスでの画面例を示す図である。
【図９】本実施形態に係るスキャナデバイスでの画面遷移例を示す図である。
【図１０】本実施形態に係るスキャン処理の処理手順を示すシーケンス図である。
【図１１】本実施形態に係るハードウェア情報の一例を示す図である。
【図１２】本実施形態に係る疑似プッシュスキャンの設定処理を示すフローチャートである。
【図１３】本実施形態に係るスキャナドライバのインストール処理を示すフローチャートである。
【図１４】本実施形態に係るスキャン設定処理を示すフローチャートである。
【図１５】本実施形態に係るスキャン環境構築イベントの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１３】
＜第１の実施形態＞
＜画像読取システムの構成＞
まず、図１Ａを参照して、本実施形態における画像読取システムについて説明する。なお、以下で説明する構成は、一例であり本発明を限定する意図はない。また、以下で記載する、Ｓｉｍｐｌｅ Ｏｂｊｅｃｔ Ａｃｃｅｓｓ ＰｒｏｔｏｃｏｌＳＯＡＰ）に関しては、Ｗ３Ｃ（ｈｔｔｐ:／／ｗｗｗ．ｗ３．ｏｒｇ／）で公開されており、ＷＳ−Ｅｖｅｎｔｉｎｇに関しては、（ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／Ｓｕｂｍｉｓｓｉｏｎ／ＷＳ−Ｅｖｅｎｔｉｎｇ／）で公開されている情報であるため、その説明を省略する。
【００１４】
図１Ａに示すように、画像読取システム１００は、情報処理装置（パーソナルコンピュータ：ＰＣ）１０１ａ、１０１ｂ、画像読取装置であるスキャナデバイス１０２ａ、１０２ｂ、及びドライバ配信サーバ１０３を含む。各装置は、Ｅｔｈｅｒｎｅｔ（登録商標）で構成されるネットワーク（ＬＡＮ）１０４を介して接続される。なお、以下では、特に限定する必要がない場合は、情報処理装置１０１ａ、１０１ｂを単に情報処理装置１０１と記載し、スキャナデバイス１０２ａ、１０２ｂをスキャナデバイス１０２と記載する。スキャナデバイス１０２は、原稿を読み取って画像データを生成し、情報処理装置１０１に送信する。
【００１５】
＜各装置の構成例＞
次に、図１Ｂを参照して、情報処理装置１０１とスキャナデバイス１０２との装置構成について説明する。情報処理装置１０１において、ＣＰＵ１１１は、ＲＡＭ１１２に記憶されているプログラムに従って、システムバス１１４に接続される各デバイスを統括的に制御する。ＲＡＭ１１２は、ＣＰＵ１１１の主メモリ、ワークエリア等としても機能する。ＲＯＭ１１３は、各種プログラム及びデータを格納する。
【００１６】
キーボードコントローラＩ／Ｆ１１５は、キーボード１１９や不図示のポインティングデバイス（マウス）からのキー入力を制御する。ディスプレイＩ／Ｆ１１６は、ディスプレイ１２０への表示を制御する。外部メモリＩ／Ｆ１１７は、例えばハードディスク（ＨＤ）、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ）等の外部メモリ１２１とのアクセスを制御する。外部メモリ１２１は、オペレーティングシステムプログラム（以下、ＯＳ）１２２、各種アプリケーション１２３、スキャン処理関連プログラム１２４、ユーザファイル、編集ファイル等を記憶するコンピュータが保存又は、読み取り可能な記憶媒体として機能する。
【００１７】
スキャン処理関連プログラム１２４は、本実施形態に係るシステム設定アプリケーション１２５、専用スキャナドライバ１２６、ＯＳ汎用スキャナドライバ１２７、ＯＳ汎用アプリケーション１２８、ハードウェア情報１２９及び専用アプリケーション１３０を含む。なお、これらスキャン処理関連プログラム１２４は、ユーザが新しく使用する情報処理装置１０１上の外部メモリ１２１には初めから保存されていない場合もある。本実施形態では、スキャンシステム環境の構築を司るシステム設定アプリケーション１２５が保存されていない場合は、スキャナデバイス１０２からの遠隔操作により、情報処理装置１０１内でＯＳ１２２がＯＳ汎用スキャナドライバの更新インストール作業を行う。さらに、スキャナデバイス１０２の遠隔操作により、当該インストール作業に合わせて、システム設定アプリケーション１２５を外部メモリ１２１にコピーし、ＲＡＭ１１２で起動させる。このシステム設定アプリケーション１２５が保存又は起動されていない場合のスキャン先の情報処理装置１０１でのシステム設定アプリケーション１２５のインストール処理については、図５を参照して詳細に後述する。
【００１８】
外部メモリ１２１には、さらに、更新インストールされたＯＳ汎用スキャナドライバ１２７とＯＳ汎用アプリケーション１２８とも保存される。ＯＳ汎用スキャナドライバ１２７とＯＳ汎用アプリケーション１２８とは、対応するデバイスモデルが共通で持つ機能を利用することができる。一方、専用スキャナドライバ１２６とは、単一のデバイスモデルにのみ対応したスキャナドライバである。専用スキャナドライバ１２６は、対応するスキャナデバイスの機能を最大限に引き出すことが可能である。専用アプリケーション１３０は、システム設定アプリケーション１２５、専用スキャナドライバ１２６と連携して動作することに最適化された、疑似プッシュスキャンを実行可能なアプリケーションである。専用スキャナドライバ１２６と専用アプリケーション１３０とが外部メモリ１２１に保存されていない場合は、システム設定アプリケーション１２５がインストール処理を行う。
【００１９】
ハードウェア情報１２９は、スキャナデバイス１０２から送付される情報で、システム設定アプリケーション１２５がスキャナデバイス１０２から受信した内容を、外部メモリ１２１に一時保存する。ネットワークＩ／Ｆ１１８は、ＬＡＮ１０４を介してスキャナデバイス１０２に接続され、スキャナデバイス１０２との間で通信制御処理を行なう。なお、本実施形態では、スキャナデバイス１０２から送信するイベント信号に、ＷＳ−Ｅｖｅｎｔｉｎｇを使用するため、ネットワークＩ／Ｆ１１８は対応するＷｅｂ Ｓｅｒｖｉｃｅプロトコルを実装している。ドライバ配信サーバ１０３も情報処理装置１０１と同様の装置構成を備える。
【００２０】
次に、スキャナデバイス１０２の構成例について説明する。ＣＰＵ１３２は、スキャナデバイス１０２の動作を統括的に制御する。ＲＡＭ１３３は、ＣＰＵ１３２の主メモリ、ワークエリア等として機能するとともに、入力情報展開領域、環境データ格納領域としても用いられる。ＲＡＭ１３３は、ＮＶＲＡＭ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  ＲＡＭ：不揮発性ＲＡＭ）領域も備えており、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができる。ＲＡＭ１３４は、各種フォント、ＣＰＵ１３２により実行される制御プログラム等、及び各種データを記憶している。
【００２１】
ネットワークＩ／Ｆ１３８は、情報処理装置１０１との間でデータの送受信を行なう。プリンタＩ／Ｆ１３８は、プリンタエンジンである印刷部１３９とのインタフェースを制御する。スキャナＩ／Ｆ１４０は、スキャナエンジンであるスキャン部１４１とのインタフェースを制御している。
【００２２】
外部メモリ１４３は、外部メモリＩ／Ｆ１４２によりアクセスが制御され、オプションとして接続されるハードディスク（ＨＤ）、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ）等を含み、画像読取システム１００のハードウェア情報１４４を記憶してもよい。なお、ハードディスク等の外部メモリ１４３が接続されていない場合には、ＲＡＭ１３４に、情報処理装置１０１で利用される情報等を記憶することになる。
【００２３】
操作部Ｉ／Ｆ１３６は、スキャナデバイス１０２のスキャン処理を設定する操作部１３７とのインタフェースを制御する。操作部１３７には、ユーザによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びＬＥＤ表示器等が配されている。また、不図示のＮＶＲＡＭを有し、操作パネルからのスキャン設定情報を記憶するようにしてもよい。
【００２４】
ＣＰＵ１３２は、ＲＡＭ１３４に記憶された制御プログラム等に基づき、スキャナＩ／Ｆ１４０を介してスキャン部１４１から画像データを取得する。また、ＣＰＵ１３２は、ネットワークＩ／Ｆ１３８を介して情報処理装置１０１との通信処理が可能となっており、情報処理装置１０１に画像データを送信すると共に、スキャナデバイス１０２内の情報等を情報処理装置１０１に通知する。本実施形態では、スキャナデバイス１０２から送信するイベント信号に、ＷＳ−Ｅｖｅｎｔｉｎｇを使用するため、ネットワークＩ／Ｆ１３８は対応するＷｅｂ Ｓｅｒｖｉｃｅプロトコルを実装している。
【００２５】
＜プルスキャン処理（比較例）＞
次に、図２を参照して、情報処理装置１０１のＯＳ１２２によるプルスキャン処理の比較例について説明する。ユーザは、適切なスキャナドライバをインストールし、スキャン処理の設定をすることで、プルスキャン処理を行うことができる。なお、以下で説明する処理は、ＣＰＵ１１１によって統括的に制御される。また、図２では、ユーザ操作が含まれる処理を台形で示している。
【００２６】
プルスキャン処理を開始すると、Ｓ２０１において、ＣＰＵ１１１は、使用する適切な専用スキャナドライバ１２６の選択と、インストールの指示とをユーザから受け付ける。Ｓ２０２において、ＣＰＵ１１１は、ユーザからのインストール指示に従ってＯＳ１２２にスキャナドライバをインストールする。
【００２７】
次に、Ｓ２０３において、ＣＰＵ１１１は、ユーザ操作を受け付けて、スキャナデバイス１０２をＯＳ１２２の機能を使用して検索し、選択する。その後、Ｓ２０４において、ユーザは、対象のスキャナデバイス１０２に原稿を持って移動し、スキャナデバイス１０２のスキャン部１４１に原稿をセットする。
【００２８】
次に、Ｓ２０５において、ユーザは情報処理装置１０１に戻り、アプリケーション１２３を開き、専用スキャナドライバ１２６を呼び出し、スキャンの実行を指示する。ここで、ＣＰＵ１１１は、ユーザからのスキャンの実行指示を受け付けてスキャン処理を開始する。さらに、スキャンが終了すると、Ｓ２０６において、ユーザはスキャナデバイス１０２に再度移動し、原稿を取り除き、情報処理装置１０１に戻り、アプリケーション１２３に取り込まれた画像データを使用し画像処理などの作業を行う。ここで、ＣＰＵ１１１は、ユーザがアプリケーション１２３での作業が終えると、プルスキャン処理を終了する。
【００２９】
＜疑似プッシュスキャン処理（比較例）＞
次に、図３を参照して、情報処理装置１０１のＯＳ１２２によるＯＳ汎用スキャナドライバ１２７の疑似プッシュスキャン処理の比較例について説明する。なお、疑似プッシュスキャン処理とは、本実施例における特定のスキャンモードの一例である。ユーザが情報処理装置１０１上で使用したいスキャナデバイス１０２を選択した場合、ＯＳ汎用スキャナドライバ１２７が、ＯＳ１２２の内部メモリ、外部メモリ１２１、あるいは他の記憶装置からインストールされる。インストールされたＯＳ汎用スキャナドライバ１２７は、アプリケーション１２３から起動され、ＲＡＭ１１２上で動作し、疑似プッシュスキャン処理を行うことができる。なお、以下で説明する処理は、ＣＰＵ１１１によって統括的に制御される。また、図３では、ユーザ操作が含まれる処理を台形で示している。
【００３０】
疑似プッシュスキャン処理を開始すると、Ｓ３０１において、ＣＰＵ１１１は、ユーザ操作を受け付けて、使用するスキャナデバイス１０２を検索し、選択する。スキャナデバイス１０２が選択されると、Ｓ３０２において、ＣＰＵ１１１は、内部メモリ、外部メモリ１２１、あるいは他の記憶装置からＯＳ汎用スキャナドライバをＯＳ１２２にインストールする。さらに、Ｓ３０２では、ＣＰＵ１１１は、上記ＯＳ汎用スキャナドライバ１２７のインストール処理に続き、ＯＳ汎用アプリケーション１２８におけるスキャン処理の設定、及び疑似プッシュスキャン処理の設定も行う。
【００３１】
次に、Ｓ３０３において、ユーザは、スキャナデバイス１０２に原稿を持って移動し、操作部１３７でスキャン先の情報処理装置１０１を選択する。ここで、ＣＰＵ１１１は、ユーザ操作により選択された情報を受け付けるとともに、スキャンする設定を更新する必要があれば更新してもよい。続いて、Ｓ３０４において、ユーザは、スキャナデバイス１０２のスキャン部１４１に原稿をセットし、疑似プッシュスキャンの開始を指示する。
【００３２】
スキャン処理が終了すると、Ｓ３０５において、ユーザは、スキャナデバイス１０２の原稿を取り除き、情報処理装置１０１に戻り、ＯＳ汎用アプリケーション１２８に取り込まれた画像データを使用し画像処理などの作業を行う。ここで、ＣＰＵ１１１は、ユーザがＯＳ汎用アプリケーション１２８での作業が終えると、疑似プッシュスキャン処理を終了する。
【００３３】
以上のように通常のネットワークを介してのスキャン処理を説明したが、図２及び図３に示すプルスキャン処理、疑似プッシュスキャン処理にはどちらも課題が２つある。１つは、必ずユーザが情報処理装置１０１に移動し、設定操作Ｓ２０１、Ｓ３０１を行わなければいけないことである。２つ目は、ユーザが上記設定操作のために複数回にわたり、情報処理装置１０１とスキャナデバイス１０２との間を移動する必要があるという課題である。
【００３４】
＜疑似プッシュスキャン処理（本実施例）＞
次に、図４を参照して、スキャナデバイス１０２による、本実施形態に係る疑似プッシュスキャン処理について説明する。なお、以下で説明する処理は、ＣＰＵ１３２によって統括的に制御される。また、図４では、ユーザ操作が含まれる処理を台形で示している。
【００３５】
スキャナデバイス１０２による疑似プッシュスキャン処理を開始すると、ＣＰＵ１３２は、送信先選択手段として機能し、まず操作部１３７を介してユーザ操作を受け付け、スキャンデータを送信する先の送信先の情報処理装置を選択する。送信先の情報処理装置の選択には、ユーザによるＩＰアドレス又は情報処理装置名称等の情報入力を受け付ける。続いて、Ｓ４０２において、ＣＰＵ１３２は、選択された情報処理装置１０１が、スキャナデバイス１０２内に、既に疑似プッシュスキャン用（特定のスキャンモード用）のスキャン先に登録されているかをＲＡＭ１３３又は外部メモリ１４３の設定情報（登録情報）を検索して確認する。
【００３６】
登録されていない場合は、Ｓ４０３に進み、ＣＰＵ１３２は、ハードウェア情報をパラメータとして含むＷＳ−Ｅｖｅｎｔｉｎｇ準拠のＰｕｓｈ Ｍｏｄｅイベント（第１イベント）を、選択された情報処理装置１０１へ送信する。ハードウェア情報の詳細については、図１１を参照して後述する。その後、Ｓ４０４において、ＣＰＵ１３２は、イベントを送信した情報処理装置１０１からの返答イベントであるスキャン環境構築イベントを受信するまで一定期間の間待機する。スキャン環境構築イベントの詳細については、図１５を参照して後述する。
【００３７】
一定期間内にスキャン環境構築イベントを受信しない場合、或いは、エラーを情報処理装置１０１から受信した場合は、ＣＰＵ１３２は、情報処理装置１０１でシステム設定アプリケーションが動作していない状態であると判断し、Ｓ４０５に進む。この場合、以前に使用したことがない情報処理装置１０１が選択されたとして、その後の動作を行う。具体的には、Ｓ４０５において、ＣＰＵ１３２は、情報処理装置１０１のＯＳ１２２に、システム設定アプリケーションのインストール処理を起動させるイベント（第２イベント）を送信する。ここで、情報処理装置１０１は、上記イベントを受信すると、外部メモリ１２１、ドライバ配信サーバ１０３などの参照可能な記憶装置から、システム設定アプリケーションをＯＳ１２２にインストールし、ＲＡＭ１１２で起動させる処理を開始させる。Ｓ４０５のスキャナデバイス１０２からの指示によって行われる情報処理装置１０１によるシステム設定アプリケーションのインストール処理については、図５を用いて後述する。
【００３８】
次に、Ｓ４０６において、ＣＰＵ１３２は、情報処理装置１０１のＯＳ１２２にシステム設定アプリケーションがインストールされ、ＲＡＭ１１２での起動が成功した後に、情報処理装置１０１から応答として送信されるイベントを受信したか否かを判定する。当該イベントには、上記ハードウェア情報がパラメータとして含まれる。当該イベントを受信した場合はＳ４０３に戻り、ＣＰＵ１３２は、再度ハードウェア情報をパラメータとして含むイベントを、選択された情報処理装置へ送信する。一方、Ｓ４０６で当該イベントを受信していない場合は、Ｓ４０９に進む。
【００３９】
また、Ｓ４０４でスキャン環境構築イベントを受信したと判定すると、Ｓ４０７において、ＣＰＵ１３２は、当該イベントの内容から、スキャン環境構築が完了したか否かを判定する。ここで、スキャン環境が構築されていない場合はＳ４０９に進み、ＣＰＵ１３２は、表示制御手段として機能し、操作部１３７に情報処理装置の用意ができなかったという内容を伝えるメッセージを表示し、ユーザに他のスキャナデバイスでのスキャン実行を促し、処理を終了する。
【００４０】
一方、スキャン環境が構築された場合はＳ４０８に進み、ＣＰＵ１３２は、表示制御手段として機能し、情報処理装置１０１の用意ができたという旨のメッセージを操作部１３７に表示し、スキャンを実行するボタンを有効にすることで、ユーザにスキャン実行を促す。その後、Ｓ４１０において、ＣＰＵ１３２は、ユーザがスキャン実行をするためのスキャンボタンを押下するまで待機する。
【００４１】
スキャンボタンが押下されると、Ｓ４１１において、ＣＰＵ１３２は、情報処理装置１０１に対して、プッシュスキャンイベントを送信する。その後、Ｓ４１２において、ＣＰＵ１３２は、情報処理装置１０１からスキャンコマンドが送信されて来るまで待機し、スキャンコマンドを受信するとＳ４１３に進み、スキャン部１４１によるスキャン処理を実行し、処理を終了する。Ｓ４０９でメッセージを表示した後、及び、Ｓ４１３でスキャン処理を実行した後、スキャナデバイス１０２の疑似プッシュスキャン処理が終了Ｓ４１４する。
【００４２】
＜インストール処理＞
次に、図５を参照して、情報処理装置１０１におけるシステム設定アプリケーションのインストール処理について説明する。ここでは、各情報処理装置１０１ａ、１０１ｂのＯＳ１２２上のポリシー及び設定を統一しておくことを前提とする。具体的には、２つの設定を予め疑似プッシュスキャンシステムに施しておく。１つ目は、ＯＳ汎用スキャナドライバの自動インストール機能を可能にする設定をしておく。２つ目は、本実施形態で使用するシステム設定アプリケーションと、ＯＳ汎用スキャナドライバが共存した更新版のＯＳ標準スキャナドライバパッケージを、各情報処理装置がアクセス可能な記憶装置に準備しておく。更新版のＯＳ標準スキャナドライバパッケージとは、更新されたインストール設定ファイルと同時に関連アプリケーションをインストールさせるＣｏ−Ｉｎｓｔａｌｌｅｒの対象アプリケーションとしてシステム設定アプリケーションの設定を施したパッケージである。なお、更新版のＯＳ標準スキャナドライバパッケージでは、ＯＳ標準スキャナドライバ自体は変更されない。以下で説明する処理は、ＣＰＵ１１１によって統括的に制御される。
【００４３】
まず、Ｓ５０１において、ＣＰＵ１１１は、所定のスキャナデバイスからＯＳ１２２へのインストール用イベントを受信する状態で待機する。インストール用イベントを受信すると、Ｓ５０２において、ＣＰＵ１１１は、ＯＳ汎用スキャナドライバ対応用デバイスＩＤを含んだインストール用イベントか否かを判定する。ＯＳ汎用スキャナドライバ対応用デバイスＩＤを含んだイベントである場合はＳ５０３に進み、ＣＰＵ１１１は、当該デバイスに対するＯＳ汎用スキャナドライバのインストールを開始する。ここでのインストール処理は、ＯＳ１２２の内部に保存されているＯＳ標準スキャナドライバパッケージだけではなく、更新されたＯＳ標準スキャナドライバを検索する。ここで、予め設定された更新版のＯＳ標準スキャナドライバパッケージがＯＳ１２２にインストールされる。
【００４４】
次に、Ｓ５０４において、ＣＰＵ１１１は、Ｃｏ−Ｉｎｓｔａｌｌｅｒを起動し、同時にシステム設定アプリケーションを外部メモリ１２１にコピーし、インストールする。続いて、Ｓ５０５において、ＣＰＵ１１１は、インストールされたシステム設定アプリケーション１２５を起動し、ＲＡＭ１１２にロードする。さらに、ＣＰＵ１１１は、スキャナデバイス１０２のハードウェア情報をパラメータとして含むＷＳ−Ｅｖｅｎｔｉｎｇ準拠のＰｕｓｈ Ｍｏｄｅイベントを受信するためのポートを、ネットワークＩ／Ｆ１１８に設定する。ここで、システム設定アプリケーションは、スキャナデバイス１０２に対して、Ｓｕｂｓｃｒｉｂｅイベントを送信する。以上の処理によりシステム設定アプリケーションとＯＳ汎用スキャナドライバとのインストール処理を終了する。
【００４５】
＜画面例＞
次に、図６乃至図８を参照して、スキャナデバイス１０２における操作部１３７に表示する画面例について説明する。図６は、操作部１３７が備えるユーザインタフェース（画面）６００を示す。当該画面６００は、ユーザが操作部１３７でスキャンメニューを選択すると表示される。
【００４６】
スキャン宛先一覧６０１には、現在設定されているスキャン先の情報処理装置の一覧が表示される。ユーザが、スキャン実行ボタン６０２を押下することで、６０１で指定したスキャン先の情報処理装置に疑似プッシュスキャンを行う設定で、スキャナデバイス１０２はスキャン処理を実行する。画面６００には、本実施形態特有の設定として、新しくスキャン先の情報処理装置を選択するボタン６０３が表示される。ユーザが、６０３のボタンを押下することで、これまでユーザが使用、設定を行ったことがない情報処理装置を選択することが可能になり、「新しく情報処理装置を選択」画面６１０が操作部１３７に表示される。
【００４７】
画面６１０では、ユーザが任意の情報処理装置をＩＰアドレス設定ボックス６１１又は情報処理装置名称設定ボックス６１２で選択し、選択ボタン６１４を押下することで、図４の疑似プッシュスキャン処理がスキャナデバイス１０２において開始される。選択ボタン６１４を押下する前に、ユーザが、スキャン先情報処理装置の環境設定ボタン６１３押下した場合は、図７の「スキャン先の情報処理装置の環境設定」画面７００が操作部１３７に表示される。
【００４８】
図７は、スキャン先の情報処理装置にユーザが希望する疑似プッシュスキャン処理の方法を選択するための「スキャン先の情報処理装置の環境設定」画面７００を示す。スキャナドライバとしてスキャナデバイス１０２専用のスキャナドライバを優先して使用するかを選択するチェックボックス７０１と、優先して使用するスキャン用のアプリケーションを選択するラジオボタン７０２、７０３、７０４をユーザが選択できる。ユーザが設定ボタン７０５を押下することで、図６の「新しく情報処理装置を選択」画面６１０に戻り、新しいスキャン先の情報処理装置に対して、画面７００を介した設定を反映することができる。また、戻るボタン７０６を押下した場合は、変更を保存せず画面６１０に戻る。
【００４９】
図８は、図６の画面６１０で、選択ボタン６１４を押下した後、スキャン先となる情報処理装置での環境設定が完了した場合に表示される「情報処理装置の用意ができました」画面８００を示す。画面８００は、スキャナデバイス１０２で、図４の疑似プッシュスキャン処理が開始され、Ｓ４０７のステップに到達したときの、操作部１３７の表示例である。
【００５０】
主な環境の設定である、使用するアプリケーション名、画像タイプ、解像度、及び画像サイズが８０１に表示される。これらの内容は、ユーザの「変更…」ボタン８０２押下により他の設定可能な値に変更することが可能な設定となる。スキャナデバイス１０２は、ボタン８０２が押下されて変更された変更内容を反映したハードウェア情報１４４を作成する。その後、再度図４のＳ４０３の処理が行われ、結果として、更新された内容で、「情報処理装置の用意ができました」画面８００が操作部１３７に表示される。スキャン設定を確認したユーザは、スキャンボタン８０２押下を行い、スキャナデバイス１０２が疑似プッシュスキャン処理を開始する。
【００５１】
画面８００で設定した内容の疑似プッシュスキャン処理が行われ、Ｓ４１３のスキャン処理を終了すると、新たな情報処理装置とスキャン設定についての情報とが、スキャナデバイス１０２によりＲＡＭ１３３に記憶され、画面６００が表示される。この場合、図８の画面６２０のように、スキャン宛先一覧６２１に直前のスキャン処理の設定（新たな情報処理装置の情報）が追加表示される。
【００５２】
＜画面遷移＞
次に、図９を参照して、スキャナデバイス１０２の操作部１３７における画面遷移について説明する。まず、操作部１３７は、「宛先指定」画面６００を表示する。「新しい情報処理装置を選択…」のボタン６０３が押下されると、操作部１３７は、「新しく情報処理装置を選択」画面６１０を表示する。「新しく情報処理装置を選択」画面６１０では、全く新しい情報処理装置へスキャンする設定が可能である。スキャン先情報処理装置の特定と「選択」ボタン６１４が押下されると、操作部１３７は、指定先情報処理装置へ疑似プッシュスキャン環境構築処理を実行し、「情報処理装置の用意ができました」画面８００を表示する。
【００５３】
また、「新しく情報処理装置を選択」画面６１０には、「スキャン先情報処理装置の環境設定…」ボタン６１３が表示される。当該ボタン６１が押下されると、「スキャン先の情報処理装置の環境設定」画面７００が表示される。「設定」ボタン７０５で設定が反映され、また「戻る」ボタン７０６で設定が反映されず、どちらも元の「新しく情報処理装置を選択」画面６１０に戻る。
【００５４】
また、「情報処理装置の用意ができました」画面８００で、「スキャン」ボタン８０６が押下されると、疑似プッシュスキャン処理を開始するとともに、「宛先指定」画面６００が表示される。その時に疑似プッシュスキャン処理が終了したときには、「宛先指定」画面６００のスキャン宛先一覧６２１に直前のスキャン処理の設定が追加表示され、再度設定した内容の指定が可能になる。
【００５５】
＜スキャン処理＞
次に、図１０を参照して、スキャン処理の処理手順について説明する。また、ここでは、一連のスキャン処理中に各関連プログラムの間でどのようなシステム環境構築処理が行われているかについても説明する。まず、前提として、既にシステム設定アプリケーションがスキャン先情報処理装置１０１にインストールされ、ＲＡＭ１１２で起動されている状態を前提とする。
【００５６】
まず、Ｓ１０００において、ユーザがスキャナデバイス１０２の操作部１３７に表示された画面６１０を通じてをスキャン先の情報処理装置を選択する。次に、Ｓ１００１において、スキャナデバイス１０２は、スキャン先の情報処理装置に対して、ハードウェア情報１４４をパラメータとして含むＷＳ−Ｅｖｅｎｔｉｎｇ準拠のＰｕｓｈ Ｍｏｄｅイベントを送信する。続いて、Ｓ１００２において、スキャン先の情報処理装置１０１のＲＡＭ１１２で起動されているシステム設定アプリケーション１２５は、ＯＳ１２２に問い合わせ、インストールされているプッシュスキャン対応アプリケーションを検索する。システム設定アプリケーション１２５は、このように任意のスキャナデバイス１０２からイベントが送信されてきたときに動作を開始するプログラムであり、後述する疑似プッシュスキャン環境の構築、汎用・専用スキャナドライバの管理など固有の処理を担う。
【００５７】
次に、Ｓ１００３において、システム設定アプリケーション１２５は、適切なアプリケーション１２３、１３０を選択し、必要であればインストールし、Ｓ１００４において起動する。続いて、Ｓ１００５において、システム設定アプリケーション１２５は、適切なスキャナドライバがあるか検索し、選択したスキャナドライバ１２６、１２７が必要であればＳ１００６でインストールし、Ｓ１００７で起動する。起動した専用スキャナドライバ１２６又はＯＳ汎用スキャナドライバ１２７は、Ｓ１００８で自身の初期設定を行い、Ｓ１００９で必要に応じてアプリケーション１２３、１３０にスキャン設定を通知する。
【００５８】
次に、Ｓ１０１１において、システム設定アプリケーション１２５は、アプリケーション１２３、１２８、１３０の１つに、ハードウェア情報１２９に従ったスキャン設定及びプッシュイベント設定を行う。以上により、疑似プッシュスキャン環境が構築される。その後、Ｓ１０１２において、システム設定アプリケーション１２５は、構築した環境の結果情報をスキャン環境構築イベントとして作成し、Ｓ１０１３でスキャン環境構築イベントをスキャナデバイス１０２に送信し、処理を終了する。
【００５９】
スキャン環境構築イベントを受信すると、Ｓ１０１４において、スキャナデバイス１０２は、操作部１３７に画面８００を表示する。その後、Ｓ１０１５において、ユーザは、当該表示を確認し、原稿をセットし、スキャンボタン８０６を押下する。スキャンボタン８０６が押下されると、Ｓ１０１６において、スキャナデバイス１０２は、スキャン先の情報処理装置に、プッシュスキャンイベントを送信する。情報処理装置１０１では、必要に応じて専用スキャナドライバ１２６又はＯＳ汎用スキャナドライバ１２７が介在し、送信されたプッシュスキャンイベントは、ＯＳ１２２経由で、アプリケーションに送信される。上記プッシュスキャンイベントを受信したアプリケーションは、Ｓ１０１７で起動してスキャン処理を開始し、Ｓ１０１８で専用スキャナドライバ１２６又はＯＳ汎用スキャナドライバ１２７を起動する。
【００６０】
Ｓ１０１９において、専用スキャナドライバ１２６又はＯＳ汎用スキャナドライバ１２７は、アプリケーション１２３、１２８、１３０の１つからの指示によりスキャン処理を開始し、Ｓ１０２０でスキャンコマンドをスキャナデバイス１０２に送信する。Ｓ１０２１において、スキャナデバイス１０２は、スキャン処理を開始し、Ｓ１０２２で専用スキャナドライバ１２６又はＯＳ汎用スキャナドライバ１２７に読み取った画像データを転送する。Ｓ１０２３において、専用スキャナドライバ１２６又はＯＳ汎用スキャナドライバ１２７は、受け取った画像データをアプリケーション１２３、１２８、１３０の１つに画像処理を指示するとともに、Ｓ１０２４で当該アプリケーションに画像データを転送する。
【００６１】
Ｓ１０２５において、アプリケーション１２３、１２８、１３０の１つは、受信した画像データを一時的に外部メモリ１２１に保存するか、又は、ＲＡＭ１１２にロードし、ユーザがスキャン先の情報処理装置に来るまで待機する。続いて、Ｓ１０２６において、アプリケーション１２３、１２８、１３０の１つは、スキャン処理が完了した旨を専用スキャナドライバ１２６又はＯＳ汎用スキャナドライバ１２７にメッセージ送信する。Ｓ１０２７において、専用スキャナドライバ１２６又はＯＳ汎用スキャナドライバ１２７は、スキャン完了メッセージをスキャナデバイス１０２に送信する。その後、Ｓ１０２８において、スキャナデバイス１０２は、操作部１３７にスキャン処理が終了したことを伝えるメッセージを表示する。
【００６２】
＜ハードウェア情報＞
次に、図１１を参照して、本実施形態のハードウェア情報の一例について説明する。ハードウェア情報１４４は、システム設定アプリケーション１２５が情報処理装置１０１側に疑似プッシュスキャン環境を構築するために必要な情報をまとめたものである。また、ハードウェア情報１４４は、スキャナデバイス１０２上の外部メモリに１４３等に静的に保存されているデータと、ユーザが操作部１３７で操作した操作情報を動的に付加して生成される。生成されたハードウェア情報１４４は、スキャナデバイス１０２が、スキャン先の情報処理装置１０１に送信するイベントに付与されて送られる。
【００６３】
図１１に示すように、ハードウェア情報１４４には、例えば、ハードウェアＩＤ、ＭＡＣアドレス、ＩＰアドレス、プロトコル、推奨アプリケーション、及びスキャン設定情報が含まれる。ハードウェアＩＤ及びＭＡＣアドレスは、スキャナデバイス１０２において固有の値であり、静的にＲＡＭ１３４に保持されている。ＩＰアドレスは、スキャナデバイス１０２が接続されているＬＡＮ１０４の環境で設定された値であり、外部メモリ１４３に保持されている。
【００６４】
プロトコル＃１、プロトコル＃２は、スキャナデバイス１０２が動作するために使用するスキャナプロトコル名称であり、スキャン先の情報処理装置１０１のＲＡＭ１１２で動作するシステム設定アプリケーション１２５が扱う。複数のスキャナプロトコルがサポートされている場合は、＃１のプロトコルを優先的に使用する。また、プロトコルを使用する優先順位は、ユーザの操作により変更が可能で、例えば、図７の「専用ドライバを優先する」チェックボックス７０１の結果が反映される。チェックボックス７０１がチェックされている場合は、例えばプロトコル＃１の値が、Ｖｅｎｄｏｒ Ｎｅｔｗｏｒｋ Ｐｒｏｔｏｃｏｌという専用ドライバが使用されるように、ハードウェア情報１４４のスキャナプロトコル名称が変更される。
【００６５】
推奨アプリケーションは、疑似プッシュスキャンで使用するアプリケーションを指定する。設定は、例えば、ユーザの操作により変更が可能で、図７の「優先使用アプリケーション」ラジオボタン７０２、７０３、７０４の結果が反映される。この推奨アプリケーションの設定は、情報処理装置１０１の設定状況により推奨以外のアプリケーションが動作することを許容してもよい。スキャン設定情報はユーザが希望する設定をリストで保持する。設定は、例えば、図６の「スキャン設定…」ボタン６０４押下により表示されるスキャン設定の結果が反映される。
【００６６】
＜疑似プッシュスキャンの設定処理＞
次に、図１２を参照して、システム設定アプリケーション１２５による本実施形態特有のアプリケーション及びプッシュイベントの設定処理について説明する。なお、以下で説明する処理は、ハードウェア情報１４４を含むイベントをシステム設定アプリケーション１２５が受信すると開始される。
【００６７】
まず、Ｓ１２０１において、システム設定アプリケーション１２５は、受信したハードウェア情報１２９をＲＡＭ１１２にロードする。続いて、Ｓ１２０２において、システム設定アプリケーション１２５は、ＯＳ１２２に問い合わせ、インストールされているプッシュスキャンに対応するアプリケーションがどれだけインストールされているかリストアップする。さらに、Ｓ１２０３において、システム設定アプリケーション１２５は、ハードウェア情報１２９の推奨アプリケーション項目を参照し、専用アプリケーションを使用するか否かを判定する。専用アプリケーションを使用する場合はＳ１２０４に進み、専用アプリケーションを使用しない場合はＳ１２０８に進む。
【００６８】
Ｓ１２０４において、システム設定アプリケーション１２５は、専用アプリケーションがインストールされているか否かを判定する。インストールされている場合はＳ１２０６に進む。一方、インストールされていない場合はＳ１２０５に進み、システム設定アプリケーション１２５は、専用アプリケーション１３０を外部メモリ１２１又は参照可能な記憶装置からインストールプログラムを呼び出し、インストールし、Ｓ１２０６に進む。Ｓ１２０６において、システム設定アプリケーション１２５は、スキャナドライバの選択、インストール処理を行う。Ｓ１２０６の詳細な処理については、図１３で後述する。
【００６９】
次に、Ｓ１２０７において、システム設定アプリケーション１２５は、専用アプリケーション１３０へのプッシュイベントの設定をＯＳ１２２に行い、スキャン環境構築イベントに各設定情報を設定する。その後、Ｓ１２１２において、システム設定アプリケーション１２５は、スキャン環境構築イベントをスキャナデバイス１０２に送信し、処理を終了する。
【００７０】
一方、Ｓ１２０３で専用アプリケーションを使用しないと判断した場合は、Ｓ１２０８において、システム設定アプリケーション１２５は、ハードウェア情報１２９を参照し、ＯＳ汎用アプリケーションを使用するか否かを判定する。ＯＳ汎用アプリケーションを使用する場合はＳ１２１０に進み、システム設定アプリケーション１２５は、ＯＳ１２２に対して、ＯＳ汎用アプリケーション１２８を使用するように設定させる。一方、Ｓ１２０８で別のアプリケーションを使用すると判定した場合はＳ１２０９に進み、システム設定アプリケーション１２５は、スキャナドライバのセットアップ記述ファイルに記述されているアプリケーションを確認する。Ｓ１２０９で対象のアプリケーションが見つからなかった場合はＳ１２１０に進み、システム設定アプリケーション１２５は、ＯＳ汎用アプリケーション１２８を使用するようにＯＳ１２２に設定する。対象のアプリケーションが見つかった場合はＳ１２１１に進み、システム設定アプリケーション１２５は、当該アプリケーションを使用するようにＳ１２１０と同様に設定する。Ｓ１２１０及びＳ１２１１において、それぞれ使用するアプリケーションが設定されると、Ｓ１２０６に進み、専用アプリケーションを使用する場合と同様の処理が行われる。
【００７１】
＜スキャナドライバのインストール＞
次に、図１３を参照して、システム設定アプリケーション１２５による本実施形態特有のスキャナドライバの選択及びインストール処理について説明する。なお、以下で説明する処理は図１２のＳ１２０６の詳細な処理である。
【００７２】
まず、Ｓ１３０１において、システム設定アプリケーション１２５は、ＯＳ１２２にインストール済みのドライバ内にハードウェアＩＤに適合するドライバがあるか否かを判定する。具体的には、システム設定アプリケーション１２５は、ＯＳ１２２に登録されている各スキャナドライバのハードウェア情報１２９と、Ｓ１２０１で取得したスキャナデバイス１０２のハードウェア情報とを比較し、一致するものがあればすべて取得する。本実施形態では、ハードウェア情報として、プラグアンドプレイ・インストールに用いられるハードウェアＩＤが取得される。なお、適合するドライバがあればＳ１３０８に進み、適合するドライバがなければＳ１３０２に進む。
【００７３】
Ｓ１３０２において、システム設定アプリケーション１２５は、ドライバストア内、ドライバ配信サーバ１０３内、スキャナデバイス１０２内の外部メモリ１４３に適合するスキャナドライバがあるか否か判定する。ここで、適合するドライバがあればＳ１３０３に進み、適合するドライバがなければＳ１３１０に進む。上記ドライバストアとは、Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａで導入されたデバイスドライバのデータベースシステムであり、インストール前のデバイスドライバのパッケージをＯＳ１２２に格納する仕組みである。システム設定アプリケーション１２５は、このドライバストアに格納されているスキャナドライバの中に、Ｓ１２０１で取得したスキャナデバイス１０２のハードウェア情報に一致するものがないかＯＳ１２２に問い合わせることができる。さらに、システム設定アプリケーション１２５は、ドライバ配信サーバ１０３に、ＲＰＣ（Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ）やＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などを用いて、ＬＡＮ１０４を経由して、所定のハードウェア情報に適合するスキャナドライバがあるか問い合わせることができる。また、システム設定アプリケーション１２５は、スキャナデバイス１０２内を検索し、適合するドライバがあるかどうか判定する。スキャナデバイス１０２は、その外部メモリ１４３に、スキャナデバイス自身を利用するために必要な専用スキャナドライバを記憶することができる。システム設定アプリケーション１２５は、このスキャナデバイス１０２に記憶されたスキャナドライバも、ドライバ配信サーバ１０３と同様にＬＡＮ１０４を経由して、問い合わせることが可能である。問い合わせの結果、１つ以上適合するものがあればドライバ配信サーバ１０３等からスキャナドライバのパッケージを情報処理装置１０１に転送して、外部メモリ１２１に記憶する。
【００７４】
Ｓ１３０２で適合するスキャナドライバが見つかった場合は、Ｓ１３０３において、システム設定アプリケーション１２５は、見つかったドライバが複数個あるか否か判定する。複数適合するものがあればＳ１３０４に進み、１つであればＳ１３０５に進む。Ｓ１３０４において、システム設定アプリケーション１２５は、その中から最も適切なスキャナドライバを選択する。本実施形態では、Ｓ１２０１でＲＡＭ１１２にロードしたハードウェア情報の優先度項目、スキャナプロトコル名称、バージョン情報などからインストールすべき対象のドライバを自動選択する。例えば、各スキャナドライバにはバージョンが付与されており、たとえ同じデバイスモデルのスキャナドライバであっても作成された時期が違えば、通常は異なるバージョンを有する。バージョンの表現方法としては例えば「１０／１０／２００９．２．６．１．０」のように日付と数値の組み合わせで表現し、どちらの方が新しく作成されたものか容易に判断することができる。このような情報を用いてシステム設定アプリケーション１２５はインストールすべき対象のドライバを選択する。その後、Ｓ１３０５において、システム設定アプリケーション１２５は、選択されたスキャナドライバをＯＳ１２２にインストールし、Ｓ１３０６に進む。
【００７５】
Ｓ１３０８及びＳ１３０９は、Ｓ１３０３乃至Ｓ１３０５の特殊なケースに関しての処理である。すなわち、インストール済みスキャナドライバ内に適合するスキャナドライバがあった場合に処理されるステップであり、Ｓ１３０８はＳ１３０３と、またＳ１３０９はＳ１３０４と同様の処理である。Ｓ１３０５が不要なのは、既にスキャナドライバがインストールされているためである。
【００７６】
Ｓ１３１０乃至Ｓ１３１２では、Ｓ１３０１及びＳ１３０２の一連の処理の結果、適合するスキャナドライバがどこにも見つからない場合の処理であり、予めＳ１００３でインストールされたＯＳ汎用スキャナドライバ（汎用ドライバ）のポートを作成する。まず、Ｓ１３１０において、システム設定アプリケーション１２５は、Ｓ１２０１でＲＡＭ１１２にロードしたハードウェア情報から、プロトコル情報を取得し、汎用スキャナサービスがプロトコルとしてサポートしているか否かを判定する。サポートしている場合はＳ１３１１に進み、それ以外の場合はＳ１３１２に進む。Ｓ１３１１において、システム設定アプリケーション１２５は、スキャナデバイス１０２に対応した汎用ポートをＯＳ１２２に設定し、Ｓ１３０６に進む。一方、Ｓ１３１２において、システム設定アプリケーション１２５は、対応するスキャナドライバが見つからなかったため、スキャン環境イベントのインストール結果にＦａｉｌ（失敗）をセットし、処理を終了する。
【００７７】
最後に、Ｓ１３０６において、システム設定アプリケーション１２５は、Ｓ１２０１でＲＡＭ１１２にロードしたハードウェア情報から、スキャン設定情報を取得し、対象アプリケーションにスキャン設定を施す。スキャン設定処理の詳細については、図１４参照して後述する。続いて、Ｓ１３０７において、システム設定アプリケーション１２５は、スキャン環境構築イベントのインストール結果にＳｕｃｃｅｓｓ（成功）、各設定情報をセットし、処理を終了する。
【００７８】
＜スキャン設定処理＞
次に、図１４を参照して、システム設定アプリケーション１２５による本実施形態特有のスキャン設定処理について説明する。以下で説明する処理は、図１３のＳ１３０６の詳細な処理である。
【００７９】
まず、Ｓ１４０１において、システム設定アプリケーション１２５は、使用するアプリケーションを外部メモリ１２１から起動する。続いて、Ｓ１４０２において、システム設定アプリケーション１２５は、アプリケーション、スキャナドライバから取得されるスキャン情報と、Ｓ１２０１でＲＡＭ１１２にロードしたハードウェア情報から、スキャン設定情報を比較する。スキャン設定は、ＯＳ１２２の設定プロファイルとして取得可能である場合もあり、スキャナドライバの設定ファイルとして反映できる場合もある。また、本実施形態特有の専用アプリケーションでは、システム設定アプリケーション１２５が自由にスキャン設定の参照、設定が可能である。
【００８０】
次に、Ｓ１４０３において、システム設定アプリケーション１２５は、Ｓ１４０２で比較した結果、ハードウェア情報と同じ情報であるか否かを判定する。ハードウェア情報と内容が違う場合はＳ１０４０４に進み、システム設定アプリケーション１２５は、反映可能なスキャン設定をアプリケーションに設定し、Ｓ１４０６に進む。一方、比較結果が同じ場合はＳ１４０５に進み、システム設定アプリケーション１２５は、スキャン設定をデフォルトの設定にし、Ｓ１４０６に進む。最後に、Ｓ１４０６において、システム設定アプリケーション１２５は、スキャン環境構築イベントのスキャン設定結果に最終的なアプリケーションの各スキャン設定情報をセットし、スキャン設定処理を終了する。
【００８１】
＜スキャン環境構築イベント＞
次に、図１５を参照して、本実施形態のスキャン環境構築イベントの情報の一例について説明する。本実施形態のスキャン環境構築イベントは、ＸＭＬ−ＳＯＡＰで記述されているメッセージである。図１５に示す値は、疑似プッシュスキャン環境を情報処理装置１０１側にシステム設定アプリケーション１２５が構築したときの結果情報をまとめたものであり、情報処理装置１０１上のＲＡＭ１１２等に動的に保存されている。
【００８２】
システム設定アプリケーション１２５は、スキャナデバイス１０２に送信するスキャン環境構築イベントのＳＯＡＰメッセージ部分に図１５に示す情報を設定する。インストール結果は、Ｓ１３０７又はＳ１３１２において、システム設定アプリケーション１２５によって設定される。スキャナドライバ名、ドライババージョン、スキャナドライバ日付は、図１３のスキャナドライバ選択、インストール処理の結果が反映される。登録アプリケーションは、図１２のアプリケーション、プッシュイベント設定処理の結果が反映される。スキャン設定結果は、図１４のスキャン設定処理の結果が反映される。
【００８３】
スキャナデバイス１０２が、スキャン環境構築イベントを受信すると、操作部１３７の表示部に疑似プッシュスキャン環境の設定結果内容が表示される。例えば、スキャン先情報処理装置での環境設定が完了した場合に表示される図８の画面８００に表示されるように、８０１の使用するアプリケーション名、画像タイプ、解像度、画像サイズで表示される値は、スキャン環境構築イベントの情報から参照される。
【００８４】
以上説明したように、本実施形態によれば、スキャン先として選択された情報処理装置で動作するシステム設定アプリケーションが、自動的に最適なスキャナドライバとアプリケーションをその場でインストールし、各疑似プッシュスキャン環境設定も行う。これにより、ユーザは、面倒な情報処理装置側での、事前のスキャン環境設定作業を強いられることなく、ユーザが初めて使用する情報処理装置でも、初めに立ち寄ることなくスキャナデバイスに直接行くことで疑似プッシュスキャン機能を利用することが可能になる。
【００８５】
＜その他の実施形態＞
上記実施形態においては、情報制御装置とスキャナデバイスの間のイベント送信などの通知をＷＳ−Ｅｖｅｎｔｉｎｇで定義されるプロトコルを採用している、しかしながら、本発明はこの限りではなく例えばＧＥＮＡ（Ｇｅｎｅｒａｌ Ｅｖｅｎｔ Ｎｏｔｉｆｉｃａｔｉｏｎ Ａｒｃｈｉｔｅｃｔｕｒｅ）などを利用することでも実現可能である。また、情報処理装置上で動作するシステム設定アプリケーションに、適切にハードウェア情報を伝えることができ、同様の結果が得られるプロトコルであればいずれのプロトコルでも運用可能である。このように、本発明は上記実施形態に限定されず、様々な変形が可能である。また、上記実施形態では、システム設定アプリケーションをインストールする方法として、発見したネットワークスキャナデバイスに対応したＯＳ汎用スキャナドライバのインストールを採用している。しかしながら、本発明は、ネットワークサービスやネットワークアプリケーションなどを、情報処理装置１０１に自動的にインストールする方法を採用しても運用可能である。
【００８６】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１Ａ】
0005584555.tif 000002
【図１Ｂ】
0005584555.tif 000003
【図２】
0005584555.tif 000004
【図３】
0005584555.tif 000005
【図４】
0005584555.tif 000006
【図５】
0005584555.tif 000007
【図６】
0005584555.tif 000008
【図７】
0005584555.tif 000009
【図８】
0005584555.tif 000010
【図９】
0005584555.tif 000011
【図１０】
0005584555.tif 000012
【図１１】
0005584555.tif 000013
【図１２】
0005584555.tif 000014
【図１３】
0005584555.tif 000015
【図１４】
0005584555.tif 000016
【図１５】
0005584555.tif 000017