(57)【特許請求の範囲】
【請求項１】
サーバー装置と通信可能な情報処理装置であって、
前記サーバー装置から検索スクリプトを受信する第１の受信手段と、
前記第１の受信手段で受信した検索スクリプトを実行して、画像入力装置を撮影する撮影手段と、
前記撮影手段によって撮影された前記画像入力装置を特定するデバイス特定情報を前記サーバー装置に送信する第１の送信手段と、
前記第１の送信手段によって送信された前記デバイス特定情報によって特定される画像入力装置に対応するスキャンスクリプトを前記サーバー装置から受信する第２の受信手段と、
前記スキャンスクリプトの実行によって、前記画像入力装置において実行されるジョブの設定を行うためのジョブ設定画面を表示する表示手段と、
前記ジョブ設定画面を介して受け付けたスキャン設定を示すスキャン設定情報を前記サーバー装置に送信する第２の送信手段と、
前記第２の送信手段によって送信されたスキャン設定情報に対応するスキャンジョブ処理要求を前記サーバー装置から受信する第３の受信手段と、
前記スキャンジョブ処理要求を前記画像入力装置に送信する第３の送信手段と、
前記スキャンジョブ処理要求に応じて前記画像入力装置で実行されたスキャンによって得られた画像データを、前記画像入力装置から受信する第４の受信手段と、
前記画像データを前記サーバー装置に送信する第４の送信手段を有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は携帯端末であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
画像入力装置およびサーバー装置と通信可能な情報処理装置の制御方法であって、
前記サーバー装置から検索スクリプトを受信する第１の受信ステップと、
前記第１の受信ステップで受信した検索スクリプトを実行して、画像入力装置を撮影する撮影ステップと、
前記撮影ステップによって撮影された前記画像入力装置を特定するデバイス特定情報を前記サーバー装置に送信する第１の送信ステップと、
前記第１の送信ステップによって送信された前記デバイス特定情報によって特定される画像入力装置に対応するスキャンスクリプトを前記サーバー装置から受信する第２の受信ステップと、
前記スキャンスクリプトの実行によって、前記画像入力装置において実行されるジョブの設定を行うためのジョブ設定画面を表示する表示ステップと、
前記ジョブ設定画面を介して受け付けたスキャン設定を示すスキャン設定情報を前記サーバー装置に送信する第２の送信ステップと、
前記第２の送信ステップによって送信されたスキャン設定情報に対応するスキャンジョブ処理要求を前記サーバー装置から受信する第３の受信ステップと、
前記スキャンジョブ処理要求を前記画像入力装置に送信する第３の送信ステップと、
前記スキャンジョブ処理要求に応じて前記画像入力装置で実行されたスキャンによって得られた画像データを、前記画像入力装置から受信する第４の受信ステップと、
前記画像データを前記サーバー装置に送信する第４の送信ステップを有することを特徴とする制御方法。
【請求項４】
請求項３に記載の情報処理装置の制御方法をコンピュータに実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像入力装置においてスキャンされた画像データをサーバー装置に転送するために用いられる情報処理装置およびその制御方法、並びに制御プログラムに関する。
【背景技術】
【０００２】
一般に、情報処理装置において周辺機器を利用する際には、当該周辺機器に対応したデバイスドライバーを、情報処理装置上で動作する処理システム（ＯＳ）に組み込む必要がある。周辺機器が画像入力装置である場合には、デバイスドライバーはスキャナードライバーである。
【０００３】
そして、画像入力装置を利用する際には、まず、スキャナードライバーをアプリケーションから起動して、スキャンに必要な設定を行って、画像入力装置を駆動する。続いて、画像入力装置から取得した画像データがアプリケーションに転送されて、これによって、アプリケーションは画像データを扱うことが可能となる。
【０００４】
従来、画像入力装置を利用する際には、画像入力装置と情報処理装置上で動作するＯＳとの双方に対応したスキャナードライバーを準備する必要がある。このため、ユーザーはＯＳと画像入力装置との組み合わせに応じて適切なスキャナードライバーを探さなければならないという状況も起こりうる。加えて、画像入力装置を利用するに当たっては、ＯＳにスキャナードライバーをインストールするなどの面倒な作業が必要になることもある。
【０００５】
このため、画像入力装置を製造・販売する側では、ＯＳの種類に応じたスキャナードライバーを供給しなければならず、スキャナードライバーに関する作業が増大してしまうことになる。
【０００６】
一方、画像入力装置で取得した画像データを直接送信する際、送信先のアドレス選択を容易とするとともに誤選択を防止するようにしたものがある（例えば、特許文献１参照）。ここでは、アドレス情報を抽出するため、バーコード又はＱＲ（Ｑｕｉｃｋ  Ｒｅｓｐｏｎｓｅ）コード（登録商標）を用いる。そして、ネットワークデバイスであるネットワークスキャナから読み込んだ画像データを所望のインターネットサーバ−装置に送信する。これによって、スキャナードライバーによって画像データの取り込みおよび送信操作と同等の機能を実現するようにしている。この場合、ウェブページにアクセスする情報処理装置側においてデバイスドライバーを必要としない。
【０００７】
さらに、クラウドコンピューティングと呼ばれるネットワークシステムがある。クラウドコンピューティングでは、インターネット上のサーバー装置におけるウェブサービスアプリケーションによる画像処理によって、広範囲で画像データの利用を行うことができる。
【０００８】
クラウドコンピューティングにおいて、インターネット上のサーバー装置に画像データを転送する手法では、例えば、ウェブブラウザアプリケーション上で開いたウェブページに組み込まれた画像アップロード等のメニューを用いる。そして、情報処理装置から画像ファイル（画像データ）を所望のサーバー装置に転送する。または、ファイル転送を行う専用のアプリケーションによって画像ファイルの転送を行っている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−２７５６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところが、特許文献１のように、バーコード又は２次元のＱＲコード等の情報を付加した画像データを用いた画像入力装置では、画像入力システムを構築する際、画像入力装置がバーコード情報などを復号する機能が必要になる。さらに、読み取るべき原稿自体に予めバーコード情報などを付加しておく必要がある。
【００１１】
加えて、情報処理装置において当該画像入力装置が利用できるか否かついて、ユーザーは容易に判定することが困難である。例えば、カメラおよびＷｉ−Ｆｉ対応の情報処理装置を有し、情報所装置がアクセス可能でかつ画像送付機能を備えないスキャナ装置が存在する状況において、ユーザーは容易に原稿を電子化する画像入力システム環境を構築することができない。
【００１２】
従って、本発明の目的は、ユーザーが容易に画像入力を行うことのできる仕組みを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明による情報処理装置は、サーバー装置と通信可能な情報処理装置であって、前記サーバー装置から検索スクリプトを受信する第１の受信手段と、前記第１の受信手段で受信した検索スクリプトを実行して、画像入力装置を撮影する撮影手段と、前記撮影手段によって撮影された前記画像入力装置を特定するデバイス特定情報を前記サーバー装置に送信する第１の送信手段と、前記第１の送信手段によって送信された前記デバイス特定情報によって特定される画像入力装置に対応するスキャンスクリプトを前記サーバー装置から受信する第２の受信手段と、前記スキャンスクリプトの実行によって、前記画像入力装置において実行されるジョブの設定を行うためのジョブ設定画面を表示する表示手段と、前記ジョブ設定画面を介して受け付けたスキャン設定を示すスキャン設定情報を前記サーバー装置に送信する第２の送信手段と、前記第２の送信手段によって送信されたスキャン設定情報に対応するスキャンジョブ処理要求を前記サーバー装置から受信する第３の受信手段と、前記スキャンジョブ処理要求を前記画像入力装置に送信する第３の送信手段と、前記スキャンジョブ処理要求に応じて前記画像入力装置で実行されたスキャンによって得られた画像データを、前記画像入力装置から受信する第４の受信手段と、前記画像データを前記サーバー装置に送信する第４の送信手段を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、情報処理装置での事前の環境設定の作業を強いられることなく、簡単な構成で、画像入力装置のスキャン機能を利用することができるという効果がある。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態による情報処理装置およびサーバー装置を用いた画像入力システムの構成を概略的に示すブロック図である。
【図２】図１に示す情報処理装置および画像入力装置の構成を示すブロック図である。
【図３】図１に示すサーバー装置の構成を示すブロック図である。
【図４】図１に示す画像入力システムにおけるスキャン処理を説明するためのシーケンス図である。
【図５】図２に示す情報処理装置で行われるスキャン処理の一例を説明するためのフローチャートである。
【図６】図３に示すサーバー装置で行われるスキャン処理の一例を説明するためのフローチャートである。
【図７】図２に示す画像入力装置で行われるスキャン処理の一例を説明するためのフローチャートである。
【図８】図２に示す情報処理装置で動作するスクリプトによる処理の一例を説明するための図である。
【図９】本発明の第２の実施形態による画像入力システムにおけるスキャン処理を説明するためのシーケンス図である。
【図１０】本発明の第２の実施形態による画像入力システムで用いられる画像入力装置で行われるスキャン処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態による画像入力装置の一例について図面を参照して説明する。
【００１８】
［第１の実施形態］
図１は、本発明の第１の実施形態による情報処理装置およびサーバー装置が用いられた画像入力システムの構成を概略的に示すブロック図である。
【００１９】
図１を参照して、図示の画像入力システム（以下ネットワークシステムとも呼ぶ）では、情報処理システムがインターネット１０７などのネットワークを介してサーバー装置１０３に接続されている。情報処理システムは、複数の情報処理装置１０１ａおよび１０１ｂを有するとともに、複数の画像入力装置１０２ａおよび１０２ｂを有している。画像入力装置１０２ａおよび１０２ｂの各々は、例えば、画像データを送信する際に原稿のスキャンを行う。
【００２０】
情報処理装置１０１ａおよび１０１ｂと画像入力装置１０２ａおよび１０２ｂは相互にＥｔｈｅｒｎｅｔ（登録商標）などのローカルネットワーク１０４（例えば、無線回線）によって接続されている。なお、情報処理装置１０１ａおよび１０１ｂの各々は、例えば、携帯電話機などの携帯型の情報処理装置（情報処理端末）である。
【００２１】
図示のように、情報処理システムにはゲートウェイ装置１０５が備えられている。図示の例では、情報処理装置１０１ａは、例えば、携帯電話通信網などのデータ通信網１０６でインターネット１０７を介してサーバー装置１０３に接続される。また、情報処理装置１０１ｂはゲートウェイ装置１０５を介してインターネット１０７に接続される。
【００２２】
このように、情報処理装置１０１ａおよび１０１ｂは画像入力装置１０２ａおよび１０２ｂとサーバー装置１０３と通信可能である。また、サーバー装置１０３は情報処理装置１０１ａおよび１０１ｂと通信可能である。
【００２３】
図２は、図１に示す情報処理装置および画像入力装置の構成を示すブロック図である。なお、図１に示す情報処理装置１０１ａおよび１０１ｂの構成は同一であるので、ここでは情報処理装置を参照番号１０１で示す。同様に、画像入力装置１０２ａおよび１０２ｂの構成は同一であるので、ここでは画像入力装置を参照番号１０２で示す。
【００２４】
図２において、情報処理装置１０１はＣＰＵ１１１を有しており、ＣＰＵ１１１はＲＡＭ１１２にロードされたプログラムに応じて、システムバス１２２に接続される各デバイスを総括的に制御する。また、ＲＡＭ１１２はＣＰＵ１１１の主メモリおよびワークエリア等として用いられる。
【００２５】
ＲＯＭ１１３には、各種プログラムおよびデータが格納されている。カメラ部インターフェース（Ｉ／Ｆ）１１６はカメラ部１２１を制御して、撮影によって得られた画像をカメラ部１２１から入力する。表示部Ｉ／Ｆ１１７は表示部１２２に対する画像表示を制御する。操作部Ｉ／Ｆ１１８は操作部１２３およびポインティングデバイス（タッチパネル等：図示せず）から入力されるキー入力を制御する。
【００２６】
外部メモリＩ／Ｆ１１９は、例えば、フラッシュメモリー又はＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ）等の外部メモリ１３０のアクセス制御を行う。外部メモリ１３０には、例えば、オペレーティングシステム（以下ＯＳという）１３１、カメラアプリケーション１３２、認識アプリケーション１３３、およびウェブブラウザー１３４が記憶されている。
【００２７】
第１の通信Ｉ／Ｆ１１４は、携帯通信網等との通信のための制御部であり、アンテナ１１５を介して無線基地局とネットワーク接続を行う。第２通信Ｉ／Ｆ１２０は、Ｗｉ−Ｆｉ等のワイヤレスネットワークおよび優先ネットワークの制御部であり、Ｗｉ−Ｆｉ用のアンテナ（図示せず）およびネットワーク端子を介してローカルネットワークに接続される。
【００２８】
ここで、ウェブブラウザー１３４上で動作するスクリプトファイルは、ユーザーが新規に用いる情報処理装置１０１上の外部メモリ１３０には当初から保存されていない。具体的には、図示の例では、画像入力システムの構築を司るスクリプトが外部メモリ１３０に保存されていない場合には、ＯＳ１３１上で実行されるウェブブラウザー１３４がサーバー装置１０３からスクリプトをダウンロードして、ＲＡＭ１１２に格納して起動する。なお、ウェブブラウザー１３４におけるスクリプト実行処理については後述する。
【００２９】
画像入力装置はＣＰＵ２０２を備えており、ＣＰＵ２０２は画像入力装置１０２の制御を司る。ＲＡＭ２０３はＣＰＵ２０２の主メモリおよびワークエリア等として用いられるとともに、入力情報展開領域および環境データ格納領域として用いられる。さらに、ＲＡＭ２０３には、ＮＶＲＡＭ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  ＲＡＭ：不揮発性ＲＡＭ）領域が備えられ、増設ポート（図示せず）に接続されるオプションＲＡＭによってメモリ容量の拡張を行うことができる。
【００３０】
ＲＯＭ２０４には、各種フォント、そして、ＣＰＵ２０２によって実行される制御プログラムおよび各種データなどが記憶されている。ネットワークＩ／Ｆ２０５は情報処理装置１０１との間でデータの送受信を行う。プリンターＩ／Ｆ２０８はプリンターエンジンである印刷部２０９とのインターフェースを制御する。スキャン部Ｉ／Ｆ２１０はスキャナーエンジンであるスキャン部２１１とのインターフェースを制御する。
【００３１】
操作部Ｉ／Ｆ２０６は画像入力装置１０２におけるスキャン処理を設定するための操作部２０７とのインターフェースを制御する。操作部２０７には、ユーザーによる操作を受け付ける操作パネルが設けられ、この操作パネルには操作のためのスイッチおよびＬＥＤ表示器等が配置されている。なお、操作部２０７にＮＶＲＡＭ（図示せず）を備えて、操作パネルからのスキャン設定情報をＮＶＲＡＭに記憶するようにしてもよい。
【００３２】
外部メモリ２２０は、外部メモリＩ／Ｆ（２１２）によりアクセスが制御される。外部メモリ２２０はフラッシュメモリーおよびＳＳＤ等を含んでおり、後述するハードウェア情報２２１（デバイス特定情報）およびバーコードアプリケーション２２２を記憶することができる。なお、画像入力装置１０２に外部メモリ２２０が接続されていない場合には、ＲＯＭ２０４に情報処理装置１０１で用いられる情報等が記憶されることになる。
【００３３】
ネットワークアドレス情報がコード化されて付加情報（コード情報）として埋め込まれている画像をスキャンした際、バーコードアプリケーション２２２がコード化された付加情報を復号してアドレス情報を取得する。さらに、バーコードアプリケーション２２２は、ネットワークアドレス情報およびデバイス名称等の情報をコード化して、コード化された情報を操作部２０７に備えられたＬＥＤ表示器に表示する。
【００３４】
ＣＰＵ２０２はＲＯＭ２０４に記憶された制御プログラム等に基づいて、スキャン部Ｉ／Ｆ（２１０）を介してスキャン部（２１１）から画像データを取得する。また、ＣＰＵ２０２はネットワークＩ／Ｆ２０５を介して情報処理装置１０１との通信を行う。そして、ＣＰＵ１０２は情報処理装置１０１に画像データを送信するととともに、画像入力装置１０２に記憶された各種情報を情報処理装置１０１に通知する。
【００３５】
図示の例では、ネットワークＩ／Ｆ２０５には、対応するウェブサービスプロトコル又は独自検索のウェブサービスプロトコルとスキャン用プロトコルとが実装されている。
【００３６】
図３は、図１に示すサーバー装置１０３の構成を示すブロック図である。
【００３７】
図３において、サーバー装置１０３はＣＰＵ３０１を有しており、ＣＰＵ３０１はＲＡＭ３０２にロードされたプログラムに従って、システムバス３００に接続される各デバイスを総括的に制御する。ＲＡＭ３０２はＣＰＵ３０１の主メモリおわびワークエリア等としても用いられる。ＲＯＭ３０３には、各種プログラムおよびデータが格納されている。キーボードコントローラＩ／Ｆ３０５はキーボード（３０９）およびポインティングデバイス（マウス：図示せず）からのキー入力を制御する。表示部Ｉ／Ｆ３０４は表示部３０８に対する画像表示を制御する。
【００３８】
外部メモリＩ／Ｆ３０６は、例えば、ハードディスク（ＨＤ）又はＳＳＤなどの外部メモリ３２０のアクセス制御を行う。外部メモリ３２０にはＯＳ３２１、ウェブサービスライブラリ３２２、および各種スキャン処理関連プログラム３２３が記憶されるとともに、ユーザーファイルおよび編集ファイル等（ともに図示せず）が記憶される。
【００３９】
スキャン処理関連プログラム３２３には、後述する検索プログラム３２４、検索スクリプト３２５、画像入力装置管理プログラム３２６、スキャンジョブ生成プログラム３２７、スキャンスクリプト３２８、画像受信プログラム３２９、およびバーコードプログラム３３０が含まれている。
【００４０】
ネットワークＩ／Ｆ３０７は、インターネット１０７又は携帯電話通信網のような無線通信網１０６を介して情報処理装置１０１に接続され、情報処理装置１０１を介して画像入力装置１０２と間接的に通信を行う。
【００４１】
図４は、図１に示す画像入力システムにおけるスキャン処理を説明するためのシーケンス図である。
【００４２】
図２〜図４を参照して、ここでは、情報処理装置１０１はローカルネットワーク１０４を介して画像入力装置１０２にアクセス可能である。また、画像入力装置１０２は、操作部２０７にバーコード情報を表示できる状態であるか又は操作部２０７にバーコードが貼り付けられている状態である。つまり、画像入力装置１０２はバーコード情報を参照できる状態となっている。これによって、ユーザーはバーコードの存在に容易に気付く状態となっている。
【００４３】
さらに、情報処理装置１０１においてはウェブブラウザー１３４がＲＡＭ１１２にロードされた状態となっており、情報処理装置１０１はサーバー装置１０３にアクセス可能な状態となっている。
【００４４】
まず、ユーザーは情報処理装置１０１の操作部１２０を用いて、ウェブブラウザー１３４を起動する（ステップＳ２００）。これによって、情報処理装置１０１はサーバー装置１０３のＵＲＬにアクセスして、スキャン処理のサービスを利用のために当該ＵＲＬにログインする（ステップＳ２０１）。
【００４５】
ログインに成功すると、サーバー装置１０３は検索スクリプト３２５をウェブブラウザー１３４にダウンロードする（ステップＳ２０２）。ダウンロードされた検索スクリプトがウェブブラウザー１３４上で実行されて（ステップＳ２０３）、カメラアプリケーション１３２の起動用アプリケーションプログラムインターフェース（ＡＰＩ）が呼び出される。
【００４６】
なお、カメラアプリケーション１３２はウェブブラウザー１３４からの起動も可能であり、ウェブブラウザー１３４上で動作している検索スクリプトはカメラアプリケーション１３２を呼び出すことができる。また、カメラアプリケーション１３２は、撮影した画像データなどがバーコード等の認識可能な画像データである際には、認識アプリケーション１３３によって認識された文字情報を、カメラアプリケーション１３２を呼び出した検索スクリプトに返値として受け渡す。
【００４７】
検索スクリプトがカメラアプリケーション１３２のＡＰＩ呼び出しに成功すると、カメラアプリケーション１３２が起動される（ステップＳ２０４）。続いて、ユーザーはカメラアプリケーション１３２を用いて画像入力装置１０２に貼り付けられたバーコードの撮影を行う（ステップＳ２０５）。なお、操作部２０７にバーコード情報が表示されている場合には、ユーザーは表示されたバーコードの撮影を行う。
【００４８】
カメラアプリケーション１３２は認識アプリケーション１３３を起動して、バーコード撮影によって得られた画像データを認識アプリケーション１３３に渡す。認識アプリケーション１３３は画像データをバーコードと認識すると、認識結果である文字情報を、カメラアプリケーション１３２を呼び出した検索スクリプトに返値として渡す。検索スクリプトは、受け取った文字情報を環境情報として扱い、情報処理装置１０１のローカルネットワーク１０４上のネットワークアドレス情報等を付加して環境情報メッセージとする（ステップＳ２０６）。そして、検索スクリプトは当該環境情報メッセージをサーバー装置１０３に送信する（ステップＳ２０７）。
【００４９】
サーバー装置１０３は環境情報メッセージを画像入力装置管理プログラム３２６によって解析する（ステップＳ２０８）。なお、環境情報メッセージには、機種情報、ローカルネットワーク１０４上における情報処理開始、および画像入力装置を特定するためのネットワークアドレスおよびＵＲＬ等が含まれる。
【００５０】
サーバー装置１０３において、検索プログラム３２４は装置確認メッセージ（デバイス確認通知）を情報処理装置１０１に送信する（ステップＳ２０９）。装置確認メッセージ（検索メッセージとも呼ぶ）を受けると、情報処理装置１０１において検索スクリプトはパケットデータのＩＰヘッダー変換処理等の転送手法を用いて装置確認コマンドを画像入力装置１０２に送信する（ステップＳ２１０）。なお、検索スクリプトで行われるパケットデータの変換処理については後述する。
【００５１】
装置確認コマンドを受信すると、画像入力装置１０２が起動されて（ステップＳ２１１）、画像入力装置１０２は検索プロトコルに対応する装置であるか否かを判定する。そして、検索プロトコルに対応する装置であると、画像入力装置１０２はレスポンスを送信元である情報処理装置１０１に送信する（ステップＳ２１２）。
【００５２】
レスポンスを受信すると、情報処理装置１０１上のウェブブラウザー１３４で動作する検索スクリプトは、レスポンスを確認結果メッセージに変換してサーバー装置１０３に転送する（ステップＳ２１３）。なお、検索スクリプトで行われるレスポンスの変換処理については後述する。
【００５３】
続いて、画像入力装置管理プログラム３２６は、確認結果メッセージを受領した画像入力装置１０２に適したスキャンスクリプトを選択する。そして、サーバー装置１０３から当該スキャンスクリプトがウェブブラウザー１３４にダウンロードされる（ステップＳ２２０）。ダウンロードされたスキャンスクリプトはウェブブラウザー１３４で実行されて、表示部１２２にスキャン設定を行う画面（スキャン設定画面）が表示される（ステップＳ２２１）。スキャン設定画面に応じて、ユーザーは画像入力装置１０２に原稿をセットする（ステップＳ２２２）。そして、ユーザーはスキャン設定画面でスキャン用設定を入力する（ステップＳ２２３）。
【００５４】
なお、図示はしないが、スキャンスクリプトが実行されている間においては、情報処理装置１０１は定期的にサーバー装置１０３にＨＴＭＬファイルの更新メッセージを送信する。更新メッセージを送ることによって、サーバー装置１０３の状態が変化した場合には、ＨＴＭＬファイル更新による対応が行われる。
【００５５】
スキャンスクリプトは、ユーザーによって設定されたユーザー設定を設定メッセージとしてサーバー装置１０３に送信する（ステップＳ２２４）。サーバー装置１０３において、スキャンジョブ生成プログラム（３２７）はユーザー設定に応じたスキャンジョブを生成する（ステップＳ２２５）。そして、サーバー装置１０３はスキャンジョブをスキャンジョブメッセージとして情報処理装置１０１に送信する（ステップＳ２２６）。
【００５６】
スキャンジョブメッセージを受けると、情報処理装置１０１ではスキャンスクリプトがスキャンジョブメッセージをスキャンジョブコマンドとして画像入力装置１０２に送信する（ステップＳ２２７）。そして、画像入力装置１０２はスキャンジョブコマンドに応じてスキャン動作を実行する（ステップＳ２２８）。
【００５７】
画像入力装置１０２がスキャン動作を行った結果得られた画像データを情報処理装置に送信する（ステップＳ２２９）。情報処理装置においてはスキャンスクリプトが画像データをそのままパケットデータのＩＰヘッダー変換処理等の転送手法を用いてサーバー装置１０３に送信する（ステップＳ２３０）。前述のように、サーバー装置１０３は画像入力装置を判別しているので、画像データの種類に応じた適切な画像変換処理を画像受信プログラム３２９によって行うことができる。なお、画像処理および画像保存処理についてはサーバー装置１０３において画像受信プログラム３２９で実行される（ステップＳ２３１）。
【００５８】
画像保存処理が終了すると、サーバー装置１０３ではＨＴＭＬファイルが更新されて、サーバー装置１０３から情報処理装置１０１に終了メッセージが送信される（ステップＳ２３２）。そして、スキャンスクリプトは当該終了メッセージを終了コマンドに変換して画像入力装置１０２に送信する（Ｓ２３３）。また、終了メッセージによってウェブブラウザー１３４は作業終了表示画面を表示する（ステップＳ２３４）。これによって、ユーザーはスキャンが終了した原稿を、画像入力装置１０２に取りに行くことになる（ステップＳ２３５）。
【００５９】
このようなスキャン処理のシーケンスによって、原稿をスキャンした結果得られた画像データがサーバー装置１０３に転送されることになる。
【００６０】
図５は、図２に示す情報処理装置で行われるスキャン処理の一例を説明するためのフローチャートである。
【００６１】
図２および図５を参照して、スキャン処理が開始されると、情報処理装置１０１ではＯＳ１３１がウェブブラウザー１３４を起動して、サーバー装置１０３のＵＲＬにアクセスする（ステップＳ３００）。続いて、ウェブブラウザー１３４はサーバー装置１０３のウェブサービスライブラリ３２２によってホストされたウェブページにログインを行って、ログインが成功したか否かを判定する（ステップＳ３０１）。
【００６２】
ログインが成功すると（ステップＳ３０１において、ＹＥＳ）、ウェブブラウザー１３４はサーバー装置１０３から検索スクリプト３２５をインターネット１０７を介してダウンロードして、検索スクリプト３２５を実行する（ステップＳ３０２）。検索スクリプト３２５が実行されると、検索スクリプト３２５はカメラアプリケーション１３２の起動ＡＰＩを呼び出して、呼び出しに成功したか否かを判定する（ステップＳ３０３）。
【００６３】
カメラアプリケーション（１３２）の起動ＡＰＩ呼び出しに成功すると（ステップＳ３０３において、ＹＥＳ）、カメラアプリケーション１３２がウェブブラウザー（１３４）上で起動されて、カメラアプリケーション１３２はユーザーインターフェース（ＵＩ）画面を表示する（ステップＳ３０４）。
【００６４】
ユーザーはＵＩ画面を用いて画像入力装置１０２に貼り付けられたバーコード又は操作部２０７に表示されたバーコードを撮影する（ステップＳ３０５）。カメラアプリケーション１３２は、撮影の結果得られた画像データがバーコード等の認識可能な画像データであるか否かを確認して、バーコードの取得に成功したか否かを判定する（ステップＳ３０６）。撮影した画像データがバーコード等の認識可能な画像データであると（ステップＳ３０６において、ＹＥＳ）、カメラアプリケーションは認識アプリケーション１３３を起動して、バーコード情報の復号を行う。そして、カメラアプリケーション１３２は、復号結果である文字情報を呼び出し元の検索スクリプト３２５に返値として渡す。検索スクリプト３２５は文字情報と情報処理装置１０１のローカルネットワーク１０４上のネットワークアドレス情報等とが付加された環境情報メッセージをサーバー装置１０３に送信する（ステップＳ３０７）。そして、サーバー装置１０３では、環境情報メッセージから得られた画像入力装置１０２に対応したスキャンスクリプト３２８が準備される。
【００６５】
ステップＳ３０３において、起動ＡＰＩの呼び出しに失敗すると（ステップＳ３０３において、ＮＯ）、検索スクリプト３２５は検索ＵＩ画面を表示して（ステップＳ３１０）、画像入力装置を検索プロトコルによって検索する。これによって、バーコードによって直接画像入力装置を選択することができない場合においても動作可能な画像入力装置を選択することができる。
【００６６】
続いて、検索スクリプト３２５はサーバー装置１０３に検索要求メッセージを送る（ステップＳ３１１）。この検索要求メッセージによってレスポンスとして検索ネットワークメッセージ（ネットワークパケット）をサーバー装置１０３から受信すると、検索スクリプト３２５はネットワークパケットのＩＰヘッダーを変換して、ローカルネットワークにブロードキャスト送信を行う。
【００６７】
当該ブロードキャスト送信に応じて画像処理装置１０２ａ又は１０２ｂからレスポンスが返送されると、検索スクリプト３２５はレスポンスをネットワークパケットのＩＰヘッダーを変換してレスポンスメッセージとしてサーバー装置１０３に転送する。
【００６８】
続いて、検索スクリプト３２５は、サーバー装置１０３において所定の期間レスレスポンスを受け付けるポーリング処理がタイムアウトしたか否か又は所定の終了条件（キャンセルなど）となったか否かを判定する（ステップＳ３１２）。タイムアウトせずかつ終了条件となっていないと（ステップＳ３１２において、ＮＯ）、検索スクリプト３２５はステップＳ３１０の処理に戻る。
【００６９】
一方、終了条件となると（ステップＳ３１２において、ＹＥＳ）、ウェブブラウザー１３４が「画像入力装置の用意ができません」などのエラーを示すＨＴＭＬファイルを表示する（ステップＳ３３０）。そして、ウェブブラウザー１３４はスキャン処理を終了する。
【００７０】
また、タイムアウトとなると、サーバー装置１０３からＨＴＭＬファイルの更新が行われて、ウェブブラウザー１３４は画像入力装置１０２を選択するユーザーＵＩ画面を表示する（ステップＳ３１３）。そして、ユーザーはこのユーザーＵＩ画面によって画像入力装置のリストの中から所望の画像入力装置を選択する（ステップＳ３１４）。
【００７１】
なお、ステップＳ３０６において、撮影した画像データがバーコード等の認識可能な画像データでないと（ステップＳ３０６において、ＮＯ）、処理はステップＳ３１０に移行する。また、ステップＳ３０１において、ログインに失敗すると（ステップＳ３０１において、ＮＯ）、処理はステップＳ３３０に移行する。
【００７２】
ステップＳ３１４に続いて、ウェブブラウザー１３４は選択された画像入力装置を示す選択結果メッセージをサーバー装置１０３に通知する。そして、選択された画像入力装置に対応したスキャンスクリプト３２８がサーバー装置１０３に準備される。
【００７３】
次に、サーバー装置１０３は準備したスキャンスクリプト３２８を情報処理装置１０１に送信する。そして、ウェブブラウザー１３４は当該スキャンスクリプト３２８を実行する（ステップＳ３１５）。なお、ステップＳ３０７に続いてステップＳ３１５の処理が行われる。スキャンスクリプト３２８が実行されると、情報処理装置１０１においてスキャン設定を行うためのＵＩ画面が表示される（ステップＳ３１６）。
【００７４】
これによって、ユーザーにスキャン設定およびスキャン処理を開始するためのスキャンボタンの押下が促される。ユーザーがスキャンボタンを押下げると（ステップＳ３１７）、スキャンスクリプト３２８は情報処理装置上のスキャン設定メッセージをサーバー装置１０３に送信する。そして、サーバー装置１０３からスキャンジョブメッセージが送信されると、スキャンスクリプト３２８は当該スキャンジョブメッセージを、ローカルネットワーク１０４を介して選択された画像入力装置１０２に送信する。さらに、スキャンスクリプト３２８は画像入力装置１０２から返信されたレスポンスをサーバー装置１０３に転送する（ステップＳ３１８）。これによって、レスポンスに含まれるスキャン画像データがサーバー装置１０３に送信されることになる。
【００７５】
続いて、サーバー装置１０３はレスポンスを受け付ける画像保存処理が終了したか又はスキャン画像データを受信するためのタイムアウト時間が経過したか否かを判定する。つまり、サーバー装置１０３は終了条件が満たされたか否かについて判定する（ステップＳ３１９）。
【００７６】
終了条件が満たされないと（ステップＳ３１９において、ＮＯ）、処理はステップＳ３１８に戻る。一方、キャンセル等のエラーが発生すると、ウェブブラウザー１３４が「スキャン処理に失敗しました」などのエラーを示すＨＴＭＬファイルをサーバー装置１０３から受信して表示する（ステップＳ３３１）。そして、ウェブブラウザー１３４はスキャン処理を終了する。
【００７７】
一方、終了条件が満たされると（ステップＳ３１９において、ＹＥＳ）、つまり、正常に画像データが保存されると、ウェブブラウザーはスキャン画像データがサーバー装置１０３に保存されたことを示すスキャン後状況通知をＵＩ画面で表示する。つまり、ウェブブラウザー１３４は最終画像のウェブページに移行して当該ウェブページを表示する（ステップＳ３２０）。そして、そして、ウェブブラウザー１３４はスキャン処理を終了する。
【００７８】
図６は、図３に示すサーバー装置１０３で行われるスキャン処理の一例を説明するためのフローチャートである。
【００７９】
図３および図６を参照して、スキャン処理が開始されると、サーバー装置１０３は、情報処理装置１０１から送信されたリクエストメッセージからユーザーログインがあるか否かを確認する（ステップＳ４００）。ユーザーログインがないと（ステップＳ４００において、ＮＯ）、サーバー装置１０３は待機する。一方、ユーザーログインがあると（ステップＳ４００において、ＹＥＳ）、検索プログラム３２４は検索スクリプト３２５を情報処理装置１０２にダウンロードする（ステップＳ４０１）。
【００８０】
続いて、サーバー装置１０３は所定のタイムアウト時間の間、情報処理装置１０１からのメッセージ受信を待つ。つまり、サーバー装置１０３は検索要求メッセージ又は環境情報メッセージを受信したか否かを判定する（ステップＳ４０２）。
【００８１】
タイムアウトすると、画像入力管理プログラム３２６は「画像入力装置の用意ができません」などのメッセージを含むＨＴＭＬファイルを作成して、ウェブブラウザー１３４送って、ウェブブラウザー１３４に表示させる（ステップＳ４３０）。そして、サーバー装置１０３はスキャン処理を終了する。
【００８２】
一方、前述の環境情報メッセージを受信すると、画像入力管理プログラム３２６はハードウェア情報を解析して、情報処理装置１０１に係るローカルネットワーク１０４上のネットワークアドレス情報、そして、画像入力装置１０２に係るネットワークアドレスおよび機種情報等の情報を取り出す（ステップＳ４０３）。
【００８３】
続いて、画像入力管理プログラム３２６は、解析結果に応じて選択された装置に適した検索スクリプト３２８の検索する（ステップＳ４０４）。そして、画像入力管理プログラム３２６は検索に成功したか否かについて判定する（ステップＳ４０５）。検索に成功すると（ステップＳ４０５において、ＹＥＳ）、実際に使用できるか否かを試す目的で、サーバー装置１０３から装置確認メッセージが情報処理装置１０１に送られる（ステップＳ４０６）。
【００８４】
画像入力管理プログラム３２６は、結果確認メッセージを情報処理装置１０１から受信したか否かについて所定の期間ポーリングを行って確認する（ステップＳ４０７）。結果確認メッセージを受信しないと（ステップＳ４０７において、ＮＯ）、画像入力管理プログラム３２６は利用できないという状況であると扱う。そして、検索プログラム３２４は検索メッセージを情報処理装置１０１に送信して、所定の期間レスポンスを受信する受信ポーリングを行う（ステップＳ４０８）。
【００８５】
なお、ステップＳ４０２において、検索要求メッセージを受信すると、処理はステップＳ４０８に進む。また、ステップＳ４０５において、検索に失敗すると（ステップＳ４０５において、ＮＯ）、処理はステップＳ４０８に進む。
【００８６】
続いて、検索プログラム３２４は検索結果を受信したか否かを確認する（ステップＳ４０９）。検索結果を受信しないと（ステップＳ４０９において、ＮＯ）、処理はステップＳ４３０に進む。一方、検索結果を受信すると（ステップＳ４０９において、ＹＥＳ）、画像入力管理プログラム３２６が起動されて、画像入力管理プログラム３２６は画像入力装置選択画面ＨＴＭＬファイルを作成しウェブブラウザー１３４に送って、ウェブブラウザー（１３４）に当該選択画面を表示させる。そして、画像入力管理プログラム３２６は、所定の期間の間、選択画面に応じたレスポンスの受信ポーリングを実行する（ステップＳ４１０）。
【００８７】
続いて、画像入力管理プログラム３２６は装置選択メッセージを受信したか否かについて確認する（ステップＳ４１１）。装置選択メッセージを受信しないと（ステップＳ４１１において、ＮＯ）、処理はステップＳ４３０に進む。
【００８８】
一方、装置選択メッセージを受信すると（ステップＳ４１１において、ＹＥＳ）、画像入力管理プログラム３２６は選択された装置に適したスキャンスクリプト３２８の検索を行って、検索されたスクリプトを情報処理装置１０１のウェブブラウザー１３４に送信する（ステップＳ４２０）。なお、ステップＳ４０７において、確認結果メッセージを受信すると（ステップＳ４０７において、ＹＥＳ）、処理はステップＳ４２０に進む。
【００８９】
次に、画像入力管理プログラム３２６はスキャン設定メッセージを受信したか否かを確認する（ステップＳ４２１）。そして、所定のタイムアウト時間中にスキャン設定メッセージを受信しないと（ステップＳ４２１において、ＮＯ）、処理はステップＳ４３０に進む。
【００９０】
一方、所定のタイムアウト時間中にスキャン設定メッセージを受信すると（ステップＳ４２１において、ＹＥＳ）、スキャンジョブ生成プログラム３２７が起動されて、スキャンジョブ生成プログラム３２７はスキャン設定メッセージに応じてスキャンジョブを作成して、情報処理装置１０１のウェブブラウザー１３４に送信する（ステップＳ４２２）。
【００９１】
続いて、サーバー装置は１０３では画像受信プログラム３２９が起動され、画像受信プログラム３２９はスキャン画像データを受信したか否かを確認する（ステップＳ４２３）。所定のタイムアウト時間中にスキャン画像データを受信しないと（ステップＳ４２３において、ＮＯ）、画像受信プログラム３２９は、「スキャン設定エラー」およびスキャン処理環境が生成できない旨のメッセージ含むＨＴＭＬファイルを作成する（ステップＳ４２５）。そして、画像受信プログラム３２９は、スキャンスクリプトが定期的にＨＴＭＬファイルの更新メッセージをサーバー装置１０３に送付することを利用して、ウェブブラウザー１３４にＨＴＭＬファイルを表示させる。そして、サーバー装置１０３はスキャン処理を終了する。
【００９２】
スキャン画像データを受信すると（ステップＳ４２３において、ＹＥＳ）、画像受信プログラム３２９はスキャン画像データＳ２３１から最終スキャン画像を生成して、情報処理装置１０１に表示可能な縮小画像を含んだＨＴＭＬファイル作成する（ステップＳ４２４）。そして、画像受信プログラム３２９は最後の画像データ送信のレスポンスメッセージとしてこのＨＴＭＬファイルを情報処理装置１０１に送信する。これによって、スキャン作業完了および最終画像データをユーザーに伝える画面がウェブブラウザー１３４によって表示される。そして、サーバー装置１０３はスキャン処理を終了する。
【００９３】
図７は、図２に示す画像入力装置１０２におけるスキャン処理の一例を説明するためのフローチャートである。
【００９４】
図２および図７を参照して、ここでは、画像入力装置１０２に関するネットワークアドレス情報がバーコード等のようにコード化されて付加情報（コード情報）される。そして、このコード情報が埋め込まれている画像が画像入力装置１０２に貼り付けられているものとする。また、画像入力装置１０２の操作部２０７にバーコード等の画像を表示できる場合には、当該画像の撮影を行えるものとする。
【００９５】
スキャン処理が開始されると、画像入力装置１０２は、ネットワークＩ／Ｆ２０５でローカルネットワーク１０４を介してアクセスを受けたか否かを確認する（ステップＳ５００）。アクセスを受けないと（ステップＳ５００において、ＮＯ）、画像入力装置１０２は待機する。
【００９６】
一方、アクセスを受けると（ステップＳ５００において、ＹＥＳ）、ＣＰＵ２０２は当該アクセスが検索コマンドであるか否かを判定する（ステップＳ５０１）。アクセスが検索コマンドであると（ステップＳ５０１において、ＹＥＳ）、ＣＰＵ２０２は外部メモリ２２０に保存されたハードウェア情報２２１を参照して、情報処理装置１０１にレスポンスを送信する（ステップＳ５０２）。そして、ＣＰＵ２０２はステップＳ５００の処理に戻る。
【００９７】
アクセスが検索コマンドでないと（ステップＳ５０１において、ＮＯ）、ＣＰＵ２０２は情報処理装置１０１からのスキャンジョブメッセージであるか否かを判定する（ステップＳ５０３）。スキャンジョブメッセージであると（ステップＳ５０３において、ＹＥＳ）、ＣＰＵ２０２はスキャン部２１１を制御してスキャン動作を行って、その結果得られた画像データを情報処理装置１０１に転送する（ステップＳ５０４）。
【００９８】
続いて、ＣＰＵ２０２は画像データの転送が終了した否かを示す終了コマンドを情報処理装置１０１から受信したか否かを確認する（ステップＳ５０５）。所定のタイムアウト時間の間、終了コマンドを受信しないと（ステップＳ５０５において、ＮＯ）、ＣＰＵ２０２はエラー情報を情報処理装置１０１に送信する（ステップＳ５０６）。そして、ＣＰＵ２０２はスキャン処理を終了する。終了コマンドを受信すれば（ステップＳ５０５において、ＹＥＳ）、ＣＰＵ２０２はスキャン処理を終了する。
【００９９】
なお、ステップＳ５０３において、スキャンジョブメッセージでないと（ステップＳ５０３において、ＮＯ）、ＣＰＵ２０２はステップＳ５００の処理に戻る。
【０１００】
図８は、図２に示す情報処理装置１０１で動作するスクリプトによる処理の一例を説明するための図である。
【０１０１】
いま、図１に示すネットワークシステムにおいて、サーバー装置１０３がネットワークＩ／Ｆ３０７でインターネット１０７に接続された際のネットワークアドレスを”Ｓ”とする。また、情報処理装置１０１が第１の通信Ｉ／Ｆ１１４でインターネット１０７に接続された際のネットワークアドレスを”ＴＩ”とする。そして、情報処理装置１０１が第２の通信Ｉ／Ｆ１０２でローカルネットワーク１０４に接続された際のネットワークアドレスを”ＴＬ”とする。加えて、画像入力装置１０２が、ネットワークＩ／Ｆ２０５でローカルネットワーク（１０４）に接続された場合のネットワークアドレスを”Ｄ”とする。
【０１０２】
図８において、ブロック６００は、図４に示すステップＳ２０７において、ウェブブラウザー１３４上で動作する検索スクリプト３２５から環境情報メッセージとしてサーバー装置１０３に送信されるデータの一例である。前述のように、環境情報メッセージは文字情報と情報処理装置１０１のローカルネットワーク１０４上のネットワークアドレス情報等を有している。つまり、環境情報メッセージは、画像入力装置１０２のハードウェア情報、情報処理装置１０１および画像入力装置１０２のローカルネットワーク１０４上のネットワークアドレス情報等をペイロードとして含むパケットデータである。
【０１０３】
検索スクリプト３２５は、パケットデータのヘッダーにインターネット経由のネットワーク１０６で送信される形式で環境情報メッセージを生成する。
【０１０４】
ブロック６０１は、図４に示すステップＳ２０９において、サーバー装置１０３から装置確認メッセージとしてウェブブラウザー１３４上で動作している検索スクリプト３２５に送信されるデータの一例である。
【０１０５】
サーバー装置１０３は、装置確認コマンド等をペイロードとして含むパケットデータのヘッダーにローカルネットワーク１０４で送信される形式で生成する。そして、サーバー装置１０３は当該パケットを内包するようにして、ネットワークアドレス”Ｓ”からネットワークアドレス”ＴＩ”に送信するパケットデータを生成する。パケットデータ６０１を受信した検索スクリプト３２５は、内包されたパケットデータ部のみを取り出して、当該パケットデータ部６０２をローカルネットワーク１０４に転送する。この際、パケットデータ部６０２の宛先は画像入力装置１０２のネットワークアドレス”Ｄ”とされる。
【０１０６】
このような検索スクリプト３２５によるパケットデータの取り出し処理によって、図４に示すステップＳ２１０で説明した装置確認コマンドの送信が行われることになる。
【０１０７】
ブロック６０３は画像入力装置１０２が装置確認コマンドに応答してレスポンスを返信する際のパケットデータの一例である。パケットデータ６０３は、画像入力装置１０２のアドレス”Ｄ”から情報処理装置１０１のローカルネットワーク１０４上のアドレス”ＴＬ”に送信するためのヘッダーを有している。そして、パケットデータ６０３において、ペイロードにはレスポンス情報等が含まれている。パケットデータ６０３を受信した検索スクリプト３２５は、当該パケットデータ６０３を内包するパケットデータを生成する。そして、検索スクリプト３２５は、このパケットデータ６０４をサーバー装置１０３に接続されたインターネット１０７を経由してネットワークアドレス”ＴＩ”でサーバー装置１０３に転送する。
【０１０８】
上記のパケットデータ構造で、検索スクリプト３２５がサーバー装置１０３にパケットデータ６０４を送信することによって、サーバー装置１０３は情報処理装置１０１のローカルネットワーク１０４上におけるネットワークアドレス”ＴＬ”と検索に応答した画像入力装置１０２のネットワークアドレス”Ｄ”を取得することができる。
【０１０９】
ブロック６０５は、図４に示すステップＳ２２６で説明したスキャンジョブメッセージの一例である。スキャンジョブメッセージ６０５は、装置確認メッセージ６０１と同様のパケットデータ構造を有している。このスキャンジョブメッセージ６０５はスキャンコマンド等をペイロードとして含むパケットデータのヘッダーにローカルネットワーク１０４において送信される形式で生成される。そして、このパケットデータを内包するようにして、サーバー装置１０３はネットワークアドレス”Ｓ”から情報処理装置１０１のネットワークアドレス”ＴＩ”に送信するパケットデータを生成する。
【０１１０】
パケットデータ６０５を受信したスキャンスクリプト３２８は、内包されたパケットデータ部のみを取り出して、このパケットデータ部６０６をローカルネットワーク１０４に転送する。
【０１１１】
サーバー装置１０３は、パケットデータ６００などで得られたネットワークアドレス”ＴＬ”とネットワークアドレス”Ｄ”を利用して、パケットデータ６０５を生成している。このため、スキャンスクリプト３２８は内包されたパケットデータ部６０６を取り出すのみで、容易にローカルネットワーク１０４に送信するデータを生成することができる。
【０１１２】
ブロック６０７は画像入力装置１０２がスキャンコマンドに応答してスキャン動作を行って画像データを送信する際のパケットデータの一例である。パケットデータ６０７は、画像入力装置１０２のアドレス”Ｄ”から情報処理装置１０１のローカルネットワーク１０４上のアドレス”ＴＬ”に送信される。パケットデータ６０７はヘッダーを有し、ペイロードには画像データなど等を含む。
【０１１３】
パケットデータ６０７を受信したスキャンスクリプト３２８は、当該パケットデータ６０７を内包するパケットデータを生成する。そして、スキャンスクリプト３２８はこのパケットデータ６０８を、サーバー装置１０３に接続されたインターネット１０７を経由してネットワークアドレス”ＴＩ”でサーバー装置１０３に転送する。
【０１１４】
なお、画像データはスキャンコマンドの指定に応じて、画像データ全体を分割してパケットデータ６０７が生成される。従って、スキャンスクリプト３２８は複数のパケットデータ６０７を順次処理して、パケットデータ６０８としてサーバー装置１０３に送信する。これによって、スキャンスクリプト３２８が使用するＲＡＭ１１２の容量が少ない場合においても対応することができる。
【０１１５】
ここでは図示されていないが、ネットワークポートの制御が必要である場合には、必要に応じてパケットデータの宛先部にネットワークアドレスと併記してネットワークポートの切り替えが記述される。これによって、検索スクリプト３２５およびスキャンスクリプト３２８の各々は変換を含めてパケットデータの生成を行うことができる。
【０１１６】
さらに、ここでは、スキャンスクリプト３２８は、「スキャン設定」画面を表示して、ユーザーが設定した情報をメッセージとしてサーバー装置１０３に送信する。検索スクリプト３２５およびスキャンスクリプト３２８の各々は、定期的にサーバー装置１０３の状況を確認するため、表示画面の更新を定期的にサーバー装置１０３に行う。サーバー装置１０３は表示画面の更新メッセージを受けて、サーバー装置におけるエラー処理などの通知メッセージを情報処理装置１０１に送信する。検索スクリプト３２５およびスキャンスクリプト３２８は当該通知メッセージに対応することができる。
【０１１７】
［第２の実施形態］
続いて、本発明の第２の実施形態による画像入力システムについて説明する。
【０１１８】
図９は、本発明の第２の実施形態による画像入力システムにおけるスキャン処理を説明するためのシーケンス図である。なお、第２の実施形態における画像入力システムの構成は、図１〜図３で説明した構成と同様である。
【０１１９】
図２、図３、および図９を参照して、ここでは、画像入力装置１０２にはバーコードをスキャンするためのバーコードスキャンボタンが操作部２０７に装備されている。そして、バーコードスキャンボタンの押下によって、画像入力装置１０２はスキャン部２１１のバックライト光量をオフにする等調節を行って、情報処理装置１０１の表示部１２２で表示されるバーコード画像をスキャンすることができる。さらに、画像入力装置１０２の外部メモリ２２０に格納されたバーコードアプリケーション２２２によってアドレス情報がコード化されて付加情報コード情報として埋め込まれている画像を読み取る。そして、付加情報が復号されてアドレス情報が取得される。
【０１２０】
まず、ウェブブラウザー１３４が起動され（ステップＳ７００）、情報処理装置１０１はサーバー装置１０３のＵＲＬにアクセスして、スキャン処理のサービスを利用のために当該ＵＲＬにログインする（ステップＳ７０１）。
【０１２１】
ログインに成功すると、サーバー装置１０３は検索スクリプト３２５をウェブブラウザー１３４にダウンロードする（ステップＳ７０２）。ダウンロードされた検索スクリプト３２５がウェブブラウザー１３４上で実行される（ステップＳ７０３）。これによって、検索スクリプト３２５は情報処理装置１０１のローカルネットワーク１０４におけるネットワークアドレス情報を収集する。続いて、検索スクリプト３２５は当該ネットワークアドレス情報をアドレス情報メッセージとしてサーバー装置１０３に送信する（ステップＳ７０４）。
【０１２２】
サーバー装置１０３においては、バーコードプログラム３３０がアドレス情報メッセージに応じて、情報処理装置１０１のローカルネットワーク１０４上のネットワークアドレス情報をコード化して付加情報（コード情報）とする。そして、バーコードプログラム３３０は付加情報を画像中に埋め込む処理をバーコード生成処理として実行する（ステップＳ７０５）。
【０１２３】
続いて、バーコードプログラム３３０は、生成したバーコードを含むＨＴＭＬファイルを更新して、情報処理装置１０１にアドレス情報メッセージに対するレスポンスとして送信する。これによって、情報処理装置１０１においてはバーコードが表示部１２２に表示され（ステップＳ７０７）、ユーザーに対して画像入力装置１０２にセットするように指示する。ユーザーは画像入力装置１０２の原稿台に表示部１２２（この表示部は例えば携帯電話機の表示部である）がスキャンされるようにセットする（ステップＳ７０８）。
【０１２４】
続いて、画像入力装置１０２においてバーコードスキャンモードで表示部１２２をスキャンする（ステップＳ７０９）。そして、画像入力装置１０２では、バーコードアプリケーション２２２が認識結果である文字情報を抽出する（ステップＳ７１０）。バーコードアプリケーション２２２は文字情報を送信先の情報処理装置１０１のネットワークアドレスとして扱って、ハードウェア情報２１１を送信する宛先として当該宛先にハードウェア情報を送信する（ステップＳ７１１）。
【０１２５】
次に、情報処理装置１０１で動作する検索スクリプト３２５はハードウェア情報を受信して、このハードウェア情報をハードウェア情報メッセージとしてサーバー装置１０３に送信する（ステップＳ７１２）。サーバー装置１０３において、画像入力装置管理プログラム３２６は受信したハードウェア情報メッセージを解析する（ステップＳ７１３）。そして、検索プログラム３２４が装置確認メッセージを情報処理装置１０１に送信する（ステップＳ７１４）。
【０１２６】
装置確認メッセージを受けると、情報処理装置では検索スクリプト３２５は、ローカルネットワーク１０４にパケットデータのＩＰヘッダー変換処理等の転送手法を用いて、装置確認メッセージを装置確認コマンドとして画像入力装置１０２に送信する（ステップＳ７１５）。
【０１２７】
装置確認コマンドを受信すると、画像入力装置１０２において、ＣＰＵ２０２は検索プロトコルに対応する装置であるか否かについて応答を行う（ステップＳ７１６）。つまり、検索プロトコルに対応する装置であると、ＣＰＵ２０２はレスポンスを送信元である情報処理装置１０１に送信する（ステップＳ７１７）。
【０１２８】
このレスポンスを受信すると、情報処理装置１０１上のウェブブラウザー１３４で動作する検索スクリプト３２５は、レスポンスを確認結果メッセージに変換して、当該確認結果メッセージをサーバー装置１０３に転送する（ステップＳ７１８）。
【０１２９】
続いて、画像入力装置管理プログラム３２６は、確認結果メッセージを受領した画像入力装置１０２に適したスキャンスクリプトを選択する。そして、サーバー装置１０３から当該スキャンスクリプトがウェブブラウザー１３４にダウンロードされる（ステップＳ７２０）。
【０１３０】
図９に示すステップＳ７２０〜Ｓ７３５における処理は、図４に示すステップＳ２２０〜Ｓ２３５の処理と同様であるので、ステップＳ７２０〜Ｓ７３５における処理については説明を省略する。
【０１３１】
このように、第２の実施形態においては、画像入力装置１０２がバーコードをスキャンする機能を備えている場合には、情報処理装置１０１に備えられたカメラ機能を用いることなく、画像入力装置１０２を指定して、第１の実施形態と同様にスキャン処理を行うことができる。
【０１３２】
図１０は、本発明の第２の実施形態による画像入力システムで用いられる画像入力装置で行われるスキャン処理の一例を説明するためのフローチャートである。
【０１３３】
図２および図１０を参照して、スキャン処理が開始されると、画像入力装置１０２は、イヘントが発生したか否かを確認する（ステップＳ８００）。つまり、ＣＰＵ２０２は、ネットワークＩ／Ｆ２０５に外部からローカルネットワーク１０４を介してアクセスが到着するか又は操作部２０７からの入力があったかを確認する。そして、イベントが発生しないと（ステップＳ８００において、ＮＯ）、ＣＰＵ２０２は待機する。
【０１３４】
一方、イベントが発生すると（ステップＳ８００において、ＹＥＳ）、ＣＰＵ２０２はイベントがバーコードスキャンボタンの押し下げであるか否かを判定する（ステップＳ８０１）。バーコードスキャンボタンの押し下げであると（ステップＳ８０１において、ＹＥＳ）、ＣＰＵ２０２はスキャン部２１１のバックライトをオフにして、原稿台に載置された表示部１２２のスキャンを行う（ステップＳ８０２）。
【０１３５】
次に、ＣＰＵ２０２上でバーコードアプリケーション２２２が起動されて、バーコードアプリケーション２２２によって付加情報（コード情報）が埋め込まれた画像が読み取られる。そして、バーコードアプリケーション２２２は付加情報を復号して装置のアドレス情報を得る（ステップＳ８０３）。
【０１３６】
続いて、バーコードアプリケーション２２２が復号が成功したか否かを確認する（ステップＳ８０４）。復号が成功すると（ステップＳ８０４において、ＹＥＳ）、ＣＰＵ２０２は復号の結果得られたアドレス情報を宛先情報として、ハードウェア情報を情報処理装置１０１に送信する（ステップＳ８０５）。そして、ＣＰＵ２０２はスキャン処理を終了する。
【０１３７】
復号に失敗すると（ステップＳ８０４において、ＮＯ）、ＣＰＵ２０２は所定のタイムアウト時間（一定期間）が経過したか否かを判定する（ステップＳ８１０）。一定期間が経過していないと（ステップＳ８１０において、ＹＥＳ）、ＣＰＵ２０２はスキャン部２１１のバックライトの調整を行う（キャリブレーション：ステップＳ８１１）。そして、処理はステップＳ８０２に戻る。
【０１３８】
一方、一定期間が経過すると（ステップＳ８１０において、ＮＯ）、ＣＰＵ２０２はタイムアウトと看做して、再試行を行うか否かを示す画面を操作部２０７に表示する。そして、ＣＰＵ２０２は操作部２０７から再試行を行う旨の入力があったか否かを確認する（ステップＳ８１２）。
【０１３９】
再試行を行う旨の入力があると（ステップＳ８１２において、ＹＥＳ）、ＣＰＵ２０２は情報処理装置１０１の表示部１２２のバックライトについて再設定を行うように催促する旨を操作部２０７に表示する。つまり、表示部１２２のバックライトは時間の経過によって変化することが多い。このため、再設定によって再度バーコードスキャン処理を試みることになる。そして、ユーザーが再設定を行った旨の入力を操作部２０７から入力すると（ステップＳ８１３）、ＣＰＵ２０２はステップＳ８０１の処理に戻る。
【０１４０】
再試行を行わない旨の入力又は所定の時間が経過しても再試行を行う旨の入力がないと（ステップＳ８１２において、ＮＯ）、ＣＰＵ２０２は操作部２０７に「情報取得失敗」などのエラー表示を行って（ステップＳ８２０）、スキャン処理を終了する。
【０１４１】
なお、ステップＳ８０１において、イベントがバーコードスキャンボタンの押し下げでないと（ステップＳ８０１において、ＮＯ）、ＣＰＵ２０２はスキャン処理を終了する。
【０１４２】
上述の第１および第２の実施形態において、情報処理装置および画像入力装置の間では、バーコード又は２次元バーコードの他にＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）又は別のワイヤレス通信で用いられる識別体を用いるようにしてもよい。そして、サーバー装置において複数の実行手法のうちいずれかを選択して、情報処理装置および画像入力装置の機能に対応するようにすれば効率的である。
【０１４３】
さらに、通信の際には、双方向通信を簡易にかつ効率良く行うため、Ｗｅｂ  Ｓｏｃｋｅｔｓ（ｈｔｔｐ：／／ｄｅｖ．ｗ３．ｏｒｇ／ｈｔｍｌ５／ＷｅｂＳｏｃｋｅｔｓ）等の双方向通信技術を用いるようにしてもよい。Ｗｅｂ  Ｓｏｃｋｅｔｓ等の通信技術を用いた場合には、スクリプトが定期的にＨＴＭＬファイルの更新メッセージをサーバー装置１０３に送付するように対応する必要はない。このため、サーバー装置１０３からのメッセージを情報処理装置１０１の要求なく更新することが可能となる。
【０１４４】
ここでは、送信等の通知についてＷＳ−Ｅｖｅｎｔｉｎｇで定義されるプロトコルを用いているが、例えば、ＧＥＮＡ（Ｇｅｎｅｒａｌ  Ｅｖｅｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ）等を用いるようにしてもよい。また、情報処理装置上で動作する検索スクリプトに、適切にハードウェア情報を伝える機能があって、同様の結果が得られるプロトコルであれば、いずれのプロトコルをもちいるようにしてよい。
【０１４５】
また、ここでは、画像入力装置においてスキャンを行う際、スキャンジョブを生成して画像入力装置に送信するようにしたが、例えば、スキャンジョブチケット等の汎用情報を画像入力装置に送信する方ようにしてもよい。
【０１４６】
このように、本発明の実施の形態では、携帯電話機などのように良好な通信機能を備えている反面、画面およびメモリなどの機能が低い情報処理装置を用いた際、そのウェブブラウザーによってインターネット上のサーバー装置が有する情報保存機能を利用して最適な画像入力装置の検索および最適な画像入力システム環境を構築することができる。
【０１４７】
さらに、本発明の実施の形態では、ユーザーは情報処理装置又はローカルネットワークにおいて事前に環境設定等の作業を強いられることなく、ユーザーが初めて使用する画像入力装置であってもウェブブラウザーの操作のみで画像入力装置のスキャン機能を利用することができる。
【０１４８】
また、本発明の実施の形態では、スキャンサーバーをサブネットに必要とせず、よって、ユーザーにとって簡単な構成である。そして、画像データの保存のために情報処理装置に大容量のストレージを必要としないばかりでなく、例えば、クラウドサービスに直接展開することができる。
【０１４９】
上述の説明から明らかなように、図２において、ＣＰＵ１１１が第１のダウンロード手段、第１の転送手段、第２のダウンロード手段、第２の転送手段、および第３の転送手段として機能する。そして、ＣＰＵ１１１はアドレス取得手段、画像取得手段、および送信手段としても機能する。
【０１５０】
また、図３において、ＣＰＵ３０１はスキャン処理関連プログラム３２３とともに、第１のダウンロード手段、第２のダウンロード手段、スキャンジョブ送信手段、および受信手段として機能する。
【０１５１】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【０１５２】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を、情報処理装置およびサーバー装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、この制御プログラムを情報処理装置およびサーバー装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【０１５３】
この際、制御方法および制御プログラムは、少なくとも第１のダウンロードステップ、第１の転送ステップ、第２のダウンロードステップ、第２の転送ステップ、および第３の転送ステップを有することになる。
【０１５４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１５５】
１０１  情報処理装置
１０２  画像入力装置
１０３  サーバー装置
１０４  イサーネット
１０７  インターネット
１１１，２０２，３０１  ＣＰＵ
１３０，２２０，３２０  外部メモリ
１３４  ウェブブラウザー
２２２  バーコードアプリケーション
３２４  スキャン関連プログラム
【図１】
0005847440.tif 000002
【図２】
0005847440.tif 000003
【図３】
0005847440.tif 000004
【図４】
0005847440.tif 000005
【図５】
0005847440.tif 000006
【図６】
0005847440.tif 000007
【図７】
0005847440.tif 000008
【図８】
0005847440.tif 000009
【図９】
0005847440.tif 000010
【図１０】
0005847440.tif 000011