画像入力システム、サーバ装置、サーバ装置の制御方法、及び制御プログラム
【課題】情報処理装置を経由せずに画像情報を画像入力装置からサーバ装置へ送信することができる仕組みを提供する。
【解決手段】画像入力システムは、情報処理装置101と、情報処理装置101と無線通信網106及びインターネット107を介して通信するサーバ装置103と、情報処理装置101とローカルネットワーク104を介して通信すると共にサーバ装置103とインターネット107を介して通信する画像入力装置102を備え、情報処理装置101のウェブブラウザ133がサーバ装置103で生成したスキャンコマンドを中継して画像入力装置102と通信し、画像入力装置102で生成した画像情報をサーバ装置103に保存する。画像入力装置102が画像情報をサーバ装置103に直接送信する能力を備える場合、この直接送信を行う。
【解決手段】画像入力システムは、情報処理装置101と、情報処理装置101と無線通信網106及びインターネット107を介して通信するサーバ装置103と、情報処理装置101とローカルネットワーク104を介して通信すると共にサーバ装置103とインターネット107を介して通信する画像入力装置102を備え、情報処理装置101のウェブブラウザ133がサーバ装置103で生成したスキャンコマンドを中継して画像入力装置102と通信し、画像入力装置102で生成した画像情報をサーバ装置103に保存する。画像入力装置102が画像情報をサーバ装置103に直接送信する能力を備える場合、この直接送信を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、携帯電話等の情報処理装置でのウェブブラウザ操作により、インターネット上のサーバ装置が有する情報保存機能に対して、最適な画像入力システム環境を構築し、画像入力指示や画像送信、画像保存を可能にする画像入力システム、サーバ装置、サーバ装置の制御方法、及び制御プログラムに関する。
【背景技術】
【0002】
一般的に、情報処理装置から画像入力装置等の周辺機器を利用するためには、その周辺機器に対応した特定のデバイスドライバを情報処理装置上で動作する処理システム(以下「OS」と記す)に組み込む必要がある。例えば、情報処理装置としてのパーソナルコンピュータ(PC)で、周辺機器としての画像入力装置(スキャナ)を利用する場合、PCにおいて、スキャナドライバを起動させ、スキャンに必要な設定を行い、スキャナを駆動させる。PCでは、こうしてスキャナで取得した画像データをアプリケーションに転送することで、そのアプリケーションでその画像データを自由に扱うことが可能になる。
【0003】
このように、従来は、利用する画像入力装置と情報処理装置上で動作するOSの両方に相互に対応したドライバが準備されている必要がある。そして、ユーザには、OSと画像入力装置の組み合わせで動作する適切なドライバを探し出す作業や、探し出したドライバをOSにインストールする作業等の面倒な作業を行うことが必要になる場合がある。また、画像入力装置の製造者や販売者に対して、最近特に種類が増加しているOSの種類に対応したドライバを随時供給していくための作業が増大する一途である。
【0004】
これに対して、画像入力装置に直接接続されているPCがホストするウェブページにアクセスすることで、ドライバでの操作と同等の機能を実現する発案がなされている(特許文献1参照)。この場合、ウェブページにアクセスする情報処理装置のOSにドライバを組み込む必要がなく、ユーザの作業が軽減される。
【0005】
また、近年、クラウドコンピューティングと呼ばれる、インターネット上のサーバ装置でのウェブサービスアプリケーションによる画像処理により、画像を幅広く利用することができるようになってきている。インターネット上のサーバ装置への画像転送方法としては、ウェブブラウザプリケーション上で開いたウェブページに組み込まれた画像アップロード等のメニューを利用して、使用している情報処理装置から画像ファイルをサーバ装置へ転送する方法がある。また、ファイル転送を行う専用のアプリケーションにより画像ファイルを転送する方法も広く利用されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2000−148649号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記の先行技術文献に示されたウェブブラウザを使用する画像入力システムでは、画像入力システムを構築するために、ローカルネットワーク内に画像入力装置に接続されたサーバ装置が必要になる。また、そのサーバ装置の処理システムには、予め、各画像入力装置が動作するようにスキャナドライバ等の設定が行われている必要がある。更に、携帯端末のように画像を受信できるだけの十分なメモリ容量が確保できていない情報処理装置の場合、スキャンされた画像データ全体を情報処理装置に保存することができない場合がある。これに対して、サーバ装置に画像データを保存することも考えられるが、保存作業の後に画像データを取り出し目的の場所に移すというような、スキャン処理とは異なる新たな仕組みや作業が必要になる。
【0008】
このような問題を解決するために、次のような画像入力システムが考えられる。すなわち、最初に、情報処理装置内のウェブブラウザでインターネット上のサーバ装置にある画像入力サービスを起動する。そして、このサーバ装置から検索スクリプトがダウンロードされたら、これを実行し、検索プロトコルをローカルネットワークに転送する。情報処理装置は、こうして検索された画像入力装置の情報をサーバ装置に転送し、次に、サーバ装置から送信されるスキャンコマンド信号を画像入力装置に転送する。これにより、画像入力装置がスキャンや送信処理を行い、情報処理装置は、画像入力装置から送信される画像情報(画像データ)をサーバ装置に転送する。このような構成により、十分な保存領域を持たない情報処理装置でも、予めサーバ装置等での複雑な設定を必要とすることなく、インターネット上の豊富な保存機能を利用できる画像入力システムを構築することができると考えられる。
【0009】
しかしながら、この画像入力システムでは、生成された画像情報が、情報処理装置を経由してサーバ装置へ転送される。つまり、画像入力装置が画像情報をサーバ装置へ直接送信することが可能な場合であっても、十分なメモリ容量を持たず大容量データの転送には不向きであるといえる情報処理装置を経由するデータ転送経路を用いる。これは、パフォーマンスや通信効率の面で、好適なデータ転送経路を用いているとは言えない。また、情報処理装置とサーバ装置が携帯電話回線網で結ばれている場合、通信処理の負担(負荷)が著しく増してしまうという問題もある。加えて、画像情報分のパケット通信料金が発生してしまい、ユーザの経済的な負担が大きくなる可能性もある。
【0010】
本発明は、情報処理装置を経由せずに画像情報を画像入力装置からサーバ装置へ送信することができる仕組みを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係る画像入力システムは、情報処理装置と、前記情報処理装置と無線通信網及びインターネットを介して通信するサーバ装置と、前記情報処理装置とローカルネットワークを介して通信すると共に前記サーバ装置と前記インターネットを介して通信する画像入力装置とを備え、前記画像入力装置で生成した画像情報を前記サーバ装置に保存する画像入力システムであって、前記サーバ装置は、前記情報処理装置からの前記画像入力装置を検索する検索要求によって検索された前記画像入力装置の送信能力情報を取得する取得手段と、前記送信能力情報に基づいて、前記検索された前記画像入力装置の中から画像情報を生成させるために前記情報処理装置において選択された画像入力装置が、前記画像情報を前記サーバ装置へ直接送信することができる場合には前記選択された画像入力装置は前記画像情報を前記サーバ装置へ直接送信し、前記画像情報を前記サーバ装置へ直接送信することができない場合には前記選択された画像入力装置は前記画像情報を前記情報処理装置を経由して前記サーバ装置へ転送するように、送信方法を決定する決定手段と、前記選択された画像入力装置に前記画像情報の生成及び前記決定手段により決定された送信方法による前記画像情報の送信を実行させるジョブメッセージを前記情報処理装置へ送信するジョブメッセージ送信手段とを有し、前記情報処理装置は、前記ジョブメッセージをジョブコマンドとして前記選択された画像入力装置に送信するジョブ送信手段を有し、前記画像入力装置は、前記ジョブコマンドに従って、前記画像情報の生成及び前記サーバ装置への送信を行う実行手段を有することを特徴とする。
【発明の効果】
【0012】
本発明によれば、情報処理装置を経由せずに画像情報を送信することができるため、情報処理装置が処理する情報量が軽減され、パフォーマンスを向上させ、また、通信負荷を軽減することができる。また、情報処理装置が通信、処理する情報量が軽減されることで、情報処理装置の使い勝手が向上し、ユーザが情報処理装置の通信費として支払うコストを低減することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係る画像入力システムの概略構成を示すブロック図である。
【図2】図1の画像入力システムが備える情報処理装置と画像入力装置の概略構成を示すブロック図である。
【図3】図1の画像入力システムが備えるサーバ装置の概略構成を示すブロック図である。
【図4】図1の画像入力システムにおけるスキャン処理のシーケンス図である。
【図5】図1の画像入力システムで実行されるスキャン処理における、情報処理装置での処理を示すフローチャートである。
【図6】図1の画像入力システムで実行されるスキャン処理における、サーバ装置での処理を示すフローチャートである。
【図7】図1の画像入力システムで実行されるスキャン処理における、画像入力装置での処理を示すフローチャートである。
【図8】情報処理装置の表示部に表示される、使用可能な画像入力装置を検索中である旨の画面(ユーザインタフェース)の例である。
【図9】情報処理装置の表示部に表示される、画像入力装置の選択のためのリスト表示画面(ユーザインタフェース)の例である。
【図10】情報処理装置の表示部に表示される、スキャン設定画面(ユーザインタフェース)の例である。
【図11】情報処理装置の表示部に表示される、スキャン処理の進行状況を通知する画面(ユーザインタフェース)の例である。
【図12】情報処理装置の表示部に表示される、スキャン処理の終了通知画面(ユーザインタフェース)の例である。
【図13】サーバ装置の検索スクリプト、スキャンスクリプトが情報処理装置で実行されたときのデータ送受信の内容と処理の一例を示す概要図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
【0015】
[画像入力システムの概略構成]
図1は、本発明の実施形態に係る画像入力システムの概略構成を示すブロック図である。画像入力システムは、ユーザが使用する情報処理装置101と、スキャン処理を行うことによって生成した画像情報(画像データ)を外部へ送信する2つの画像入力装置102a,102bを備えている。
【0016】
なお、本実施形態では、本発明の理解を容易にするために、後述の通り、ユーザが使用する情報処理装置が情報処理装置101であるとして説明を行うため、1台のみの情報処理装置を備える構成としているが、より多くの情報処理装置を備えていてもよい。また、画像入力装置も、画像入力装置102a,102bの2台に限定されず、より多くの画像入力装置を備えていてもよい。
【0017】
情報処理装置101と画像入力装置102a,102bとは、Ethernet(登録商標)で構成されるローカルネットワーク104を介して接続されている。情報処理装置101と通信し、画像情報を受信するサーバ装置103とを備えている。情報処理装置101とサーバ装置103とは、データ通信を行う携帯通信網等の無線通信網106及びインターネット107を介して接続されている。また、情報処理装置101とサーバ装置103とは、ローカルネットワーク104上に存在するゲートウェイ装置105とゲートウェイ装置105が接続されているインターネット107とを介しても接続されている。
【0018】
[情報処理装置101と画像入力装置102a,102bの概略構成]
図2は、情報処理装置101と画像入力装置102aの概略構成を示すブロック図である。なお、画像入力装置102bの装置構成は画像入力装置102aの装置構成と同じであり、以下、画像入力装置102aと画像入力装置102bとを区別しない場合に、適宜、「画像入力装置102」と記す。
【0019】
情報処理装置101では、CPU111が、ROM113に記憶されているプログラムをRAM112のワークエリアに展開、実行することにより、システムバス122に接続される各デバイスを総括的に制御している。ROM113には、プログラムに加えて、各種の制御に必要なデータ等が記憶されている。RAM112は、主メモリとして機能するが、前述の通りにCPU111のワークエリアとしても機能する。
【0020】
操作部I/F117は、操作部121やタッチパネル等のポインティングデバイス(不図示)からの入力を制御する。表示部I/F116は、表示部120への各種情報の表示を制御する。なお、表示部120は、タッチパネル機能を備え、操作部121としても機能する。外部メモリ130は、例えば、フラッシュメモリー、Solid State Disk(SSD)等で構成されており、外部メモリI/F130が外部メモリ130に対するアクセスを制御する。
【0021】
外部メモリ130は、オペレーティングシステムプログラム(以下「OS」と記す)131を始め、各種のアプリケーション132、ウェブブラウザ133を記憶すると共に、情報処理装置101が保存又は読み取り可能な各種データの記憶媒体として機能する。なお、外部メモリ130の役割をROM113及びRAM112に持たせればよい。
【0022】
ウェブブラウザ133上で動作するスクリプトファイルは、ユーザが新しく使用する情報処理装置101上の外部メモリ130に、初めからは保存されていない。本実施形態では、スキャンシステム環境の構築を司るスクリプトが情報処理装置101に保存されていない場合、サーバ装置103からの遠隔操作により、情報処理装置101のOS131上で実行されるウェブブラウザ133がRAM112で起動する。ウェブブラウザ133でのスクリプト実行処理については、図5を参照して後に詳細に説明する。
【0023】
第1の通信I/F114は、無線通信網106を利用した通信を行うための制御部であり、アンテナ115を通じて無線基地局とのネットワーク接続を行う。第2の通信I/F119は、Wi−Fi等のワイヤレスネットワークや優先ネットワークの制御部であり、Wi−Fi用のアンテナやネットワーク端子(共に不図示)を通じてローカルネットワーク104への接続を可能にする。
【0024】
画像入力装置102では、CPU202が画像入力装置102の全体動作を制御している。RAM203は、CPU202の主メモリ、ワークエリア等として機能する共に、入力情報の展開領域やスキャン環境データの格納領域としても用いられる。また、RAM203は、NVRAM(Non−volatile RAM:不揮発性RAM)領域を備えており、不図示の増設ポートに接続されるオプションRAMにより、メモリ容量を拡張することができるように構成されている。
【0025】
ROM204は、各種のフォント、CPU202により実行される制御プログラムや各種のデータを記憶している。ネットワークI/F205は、ローカルネットワーク104と接続されており、情報処理装置101との間でデータの送受信を可能にする。プリンタI/F208は、プリンタエンジンである印刷部209とのインタフェースを制御する。スキャン部I/F210は、スキャナエンジンであるスキャン部211とのインタフェースを制御している。
【0026】
外部メモリ220は、例えば、フラッシュメモリー、Solid State Disk(SSD)等で構成されており、外部メモリI/F212により外部メモリ220に対するアクセスが制御されている。本実施形態では、外部メモリ220にハードウェア情報221を記憶させることが可能である。ハードウェア情報221は、例えば、画像入力装置102の名称、サポートする解像度や用紙サイズ等の入力能力情報、サーバ装置103等の外部装置への送信能力情報(例えば、SMBやWebDAV)等である。なお、画像入力装置102に外部メモリ220が接続されていない場合、ROM204に、情報処理装置101で利用される情報等が記憶されることになる。
【0027】
画像入力装置102のスキャン処理を設定する操作部207には、ユーザによる操作を受け付ける操作パネルが設けられており、その操作パネルには操作のためのスイッチ及びLED表示器等が配置されている。なお、NVRAM(不図示)を設け、これに操作パネルからのスキャン設定情報を記憶するようにしてもよい。操作部I/F206は、操作部207とのインタフェースを制御する。
【0028】
CPU202は、ROM204に記憶された制御プログラム等に基づき、スキャン部I/F210を介してスキャン部211から画像情報を取得する。また、CPU202はネットワークI/F205を介して情報処理装置101との通信処理が可能となっており、情報処理装置101に画像情報を送信すると共に、画像入力装置102内の情報等を情報処理装置101に通知する。本実施形態では、ネットワークI/F205は、対応するウェブサービスプロトコルを実装している。
【0029】
[サーバ装置103の概略構成]
図3は、サーバ装置103の概略構成を示すブロック図である。サーバ装置103では、CPU(301)は、ROM303に記憶されているプログラムをRAM302のワークエリアに展開、実行することによって、システムバス300に接続される各種のデバイスを総括的に制御する。ROM303には、プログラムに加えて、各種の制御に必要なデータ等が記憶されている。RAM302は、主メモリとして機能するが、前述の通りにCPU301のワークエリアとしても機能する。
【0030】
キーボードコントローラI/F305は、キーボード309やマウス等のポインティングデバイス(不図示)からの入力を制御する。表示部I/F304は、表示部308への各種の情報の表示を制御する。外部メモリ320は、例えばハードディスク(HD)、Solid State Disk(SSD)等で構成されており、外部メモリI/F306は、外部メモリ320とのアクセスを制御する。
【0031】
外部メモリ320は、オペレーティングシステムプログラム(OS)321を始め、ウェブサービスライブラリ322、各種のスキャン処理関連プログラム323を記憶している。また、外部メモリ320は、不図示のユーザファイルや編集ファイル等を記憶するコンピューターが保存又は読み取り可能な記憶媒体として機能する。
【0032】
スキャン処理関連プログラム323は、検索プログラム324、検索スクリプト325、画像入力装置管理プログラム326、スキャンジョブ生成プログラム327、スキャンスクリプト328及び画像受信プログラム329を含む。これらのプログラムの機能については、後に図4等を参照した説明の際に併せて説明する。
【0033】
ネットワークI/F307は、インターネット107及び無線通信網106(図3に不図示)を介して情報処理装置101に接続されている。これにより、サーバ装置103は、情報処理装置101及びローカルネットワーク104を介して画像入力装置102との間で間接的に通信を行うことができる。なお、ネットワークI/F307は、インターネット107、ゲートウェイ装置105及びローカルネットワーク104を介して、画像入力装置102との間で通信を行うことができる。
【0034】
[スキャン処理のシーケンス]
図4は、図1の画像入力システムにおけるスキャン処理のシーケンス図であり、画像入力システムを構成する各装置がどのようなシステム環境下で一連のスキャン処理を行っているかを示している。なお、情報処理装置101のウェブブラウザ133がローカルネットワーク104を介して画像入力装置102にアクセス可能な環境が既に整っているものとする。
【0035】
最初に、ユーザは、情報処理装置101の操作部121を操作し、ウェブブラウザ133を起動する(ステップS200)。ウェブブラウザ133はサーバ装置103の画像入力サービスを起動、利用するために、サーバ装置103のURLにアクセスし(ステップS201)、画像入力サービスURLにログインする。ログインに成功すると、画像入力装置を検索するための検索スクリプト325が、サーバ装置103から情報処理装置101のウェブブラウザ133にダウンロードされる(ステップS202)。ダウンロードされた検索スクリプト325は、ウェブブラウザ133上で実行され、同時に、図8に示されるような、使用可能な画像入力装置を検索中である旨の画面(ユーザインタフェース)が表示部120に表示される(ステップS203,S204)。なお、図8の詳細については、後に説明する。
【0036】
ステップS204で検索スクリプト325が実行されると、情報処理装置101からサーバ装置103に対して検索要求が行われる(ステップS205)。なお、不図示であるが、検索スクリプト325が実行されている間は、情報処理装置101は、定期的にサーバ装置103にHTMLファイルの更新メッセージを送信し、サーバ装置103は更新したHTMLファイルを情報処理装置101へ送信する。これによりウェブブラウザ133上でHTMLファイルが更新され、その表示内容からユーザはサーバ装置103の状態の変化を知ることができる。
【0037】
サーバ装置103は、検索要求を受信すると、検索プロトコルを生成すると共に(ステップS206)、検索プログラム324により情報処理装置101に検索メッセージを送信する(ステップS207)。情報処理装置101で実行されている検索スクリプト325は、受信した検索メッセージをローカルネットワーク104にネットワークパケットのIPヘッダ変換処理等の転送手段を用いて、ブロードキャストで画像入力装置に送信する(ステップS208)。ステップS208では、ブロードキャストの検索プロトコルは、ローカルネットワーク104上に存在する全ての画像入力装置に対して送信されるため、本実施形態では、画像入力装置102a,102bが送信対象となる。検索スクリプト325が行うパケットデータの変換処理の例については、図13を参照して後に説明する。
【0038】
画像入力装置102は、このブロードキャストの検索プロトコルを受信することで起動する(ステップS209)。画像入力装置102は、検索プロトコルに対応する装置であるか否かを判断し、その判断結果を示すレスポンスをブロードキャスト送信元の情報処理装置101へ送信する(ステップS210)。なお、ステップS210では、ローカルネットワーク104上に存在する全ての画像入力装置がレスポンスを返す。以下の説明では、画像入力装置102a,102bが共に、対応する装置であることを示すレスポンスを返したものとする。
【0039】
ステップS210では、情報処理装置101は、ブロードキャスト送信で発見された画像入力装置102から画像入力装置102のハードウェア情報221を取得する。このような画像入力装置の検索処理におけるブロードキャスト送信の方法は特に限定されるものではない。ブロードキャスト送信には、例えば、SSDP(Simple Service Discovery Protocol)やWSD(Web Services On Devices)で使用されているようなマルチキャスト送信等も含まれる。
【0040】
情報処理装置101内のウェブブラウザ133で動作している検索スクリプト325は、画像入力装置102からのレスポンスを受信すると、レスポンスをレスポンスメッセージに変換し、サーバ装置103へ逐次転送する(ステップS211)。検索スクリプト325が行うレスポンスをレスポンスメッセージに変換する処理の例については、図13を参照して後に説明する。
【0041】
ステップS211の後、サーバ装置103では、画像入力装置管理プログラム326により、情報処理装置101から受信したレスポンスメッセージが解析され、画像入力装置の検索結果に基づいて画像入力装置リストが作成される(ステップS220)。作成された画像入力装置リストの情報処理装置101へのリスト送信が行われる。具体的には、作成された画像入力装置リストは、画像入力装置管理プログラム326により、HTMLファイルに変換、更新され、情報処理装置101に送信される(ステップS221)。これにより、情報処理装置101では、図9に示されるような画像入力装置のリスト表示画面が、ウェブブラウザ133により表示部120に表示される(ステップS222)。なお、図9の詳細については、後に説明する。
【0042】
ユーザがリスト表示画面に示された画像入力装置の中から使用する画像入力装置を選択すると(ステップS223)、ウェブブラウザ133は、その選択結果を選択結果メッセージとしてサーバ装置103へ送信する(ステップS224)。サーバ装置103では、画像入力装置管理プログラム326により、ステップS211で取得済みの画像入力装置の送信能力情報に基づいて、画像情報の送信方法(送信ルート)が判断される(ステップS230)。送信ルートには、選択された画像入力装置が画像情報を、サーバ装置103へ直接送信するルート(以下「ルートA」という)と、情報処理装置101を経由してサーバ装置103へ転送するルート(以下「ルートB」という)とがある。なお、ルートAは、選択された画像入力装置のハードウェア情報221に含まれる送信能力情報に基づき、選択された画像入力装置からサーバ装置103への画像情報の直接送信が可能と判断された場合にのみ用いられる。
【0043】
なお、次のような確認方法を行った結果に基づいてステップS230の判断を行ってもよい。すなわち、サーバ装置103から情報処理装置101のウェブブラウザ133に接続確認スクリプトがダウンロードされる。この接続確認スクリプトが実行されると、接続確認プロトコルをウェブブラウザ133から画像入力装置に送信する。画像入力装置は、受信した接続確認プロトコルに従って、指定されたURLへ指定された送信プロトコルで接続を試みる。画像入力装置は、その接続結果をレスポンスとして情報処理装置101のウェブブラウザ133に返す。レスポンスを受信した情報処理装置101のウェブブラウザ133で動作している接続確認スクリプトにより、レスポンスメッセージがサーバ装置103に転送される。このレスポンスの結果により、サーバ装置103がステップS230の判断を行う。
【0044】
また、次のような確認方法を行った結果に基づいてステップS230の判断を行ってもよい。すなわち、サーバ装置103は、サーバ装置103と情報処理装置101とを結ぶ通信回線が、3G等の携帯電話回線網であるのか、Wi−Fi等の無線LANであるかを確認する。前者の場合には、前述した接続確認スクリプトにより画像入力装置からサーバ装置103へ接続可能かどうかを確認し、可能であればルートAを、不可能であればルートBを用いると判断し、後者の場合はルートBを用いると判断する。これは、携帯電話回線網の場合は、回線が一般的に貧弱であることと、ユーザが支払う通信パケット料金が増加してしまうおそれがあるので、これを回避することを目的としている。
【0045】
ステップS230の後、サーバ装置103はステップS223で選択された画像入力装置に適したスキャンスクリプト328を選択する。こうして選択されたスキャンスクリプト328は、情報処理装置101のウェブブラウザ133にダウンロードされる(ステップS231)。ステップS231では、ステップS230でルートAが選択された場合には、画像入力装置が画像情報を情報処理装置101を経由せずにサーバ装置103に直接送信するためのスクリプトがダウンロードされる。一方、ステップS230でルートBが選択された場合には、画像情報を情報処理装置101を経由してサーバ装置103に転送するためのスクリプトがダウンロードされる。以下、図示は、前者(ルートA)が選択された場合について記している。
【0046】
情報処理装置101では、スキャンスクリプト328が実行されると共に、図10に示されるようなスキャン設定画面が表示部120に表示される(ステップS232,S233)。なお、図10のスキャン設定画面の詳細については、後に説明する。
【0047】
ユーザは、選択した画像入力装置に原稿をセットし(ステップS234)、また、情報処理装置101でスキャン設定の入力を行う(ステップS235)。なお、図示しないが、情報処理装置101は、スキャンスクリプト328が実行されている間は、定期的にサーバ装置103にHTMLファイルの更新メッセージを送信し、サーバ装置103は更新したHTMLファイルを情報処理装置101へ送信する。これによりウェブブラウザ133上でHTMLファイルが更新され、その表示内容からユーザはサーバ装置103の状態の変化を知ることができる。
【0048】
ステップS235で設定された内容は、スキャンスクリプト328によりスキャン設定メッセージとしてサーバ装置103に送信される(ステップS236)。サーバ装置103のスキャンジョブ生成プログラム327は、画像受信設定を行う(ステップS240)。具体的には、スキャンジョブ生成プログラム327は、ステップS236の設定メッセージに基づいて、保存先となるサーバ装置103のURLを特定し、画像入力装置からそのURLへの画像情報の送信を許可する状態にする。このとき、サーバ装置103は、画像の送信元を認証するための一意の認証IDを保持しておく。
【0049】
続いて、サーバ装置103は、ステップS236の設定メッセージに基づいてスキャンジョブを生成する(ステップS241)。そして、サーバ装置103は、生成したスキャンジョブをスキャンジョブメッセージとして情報処理装置101に送信するジョブメッセージ送信を行う(ステップS242)。情報処理装置101は、スキャンスクリプト328により、受信したスキャンジョブメッセージをスキャンジョブコマンドとして選択された画像入力装置へ送信するジョブ送信を行う(ステップS243)。このスキャンジョブコマンドを受信した画像入力装置はスキャン動作を実行し、画像生成を行う(ステップS244)。
【0050】
ステップS244後の処理は、ステップS230の判断結果によって異なる。ルートAが選択されている場合、図4に示されるように、画像入力装置は、生成した画像情報をサーバ装置103の宛先URLへ指定された送信プロトコル(例えば、WebDAV等)で直接送信する(ステップS245)。このとき、画像入力装置がサーバ装置103により認証される必要があるため、送信するデータには認証ID等の認証に必要な情報が含まれている。
【0051】
一方、ルートBを用いる場合には、不図示であるが、情報処理装置101で実行されているスキャンスクリプト328が、一旦、画像入力装置からの画像情報を受信する。そして、スキャンスクリプト328は、データ内容をそのままにネットワークパケットのIPヘッダ変換処理等の転送手段を用いて、サーバ装置103に送信する。
【0052】
サーバ装置103では、画像受信プログラム329が、ステップS240で保持していた認証ID等の認証用の情報を使用して画像送信元の画像入力装置の認証を行い、認証が成功した場合に、画像情報を受信する。そして、受信した画像情報に適切な画像変換処理を行い、最終的な画像情報を保存する処理を行う(ステップS246)。こうして画像情報が保存されると、サーバ装置103は、送信元の画像入力装置に送信結果をレスポンスとして返信し(ステップS247)、画像入力装置は、このレスポンスを受けて、終了処理を行う(ステップS248)。
【0053】
スキャンジョブが実行されるステップS242以降、情報処理装置101のウェブブラウザ133は定期的にサーバ装置103にHTMLファイルの更新メッセージを送信することで、サーバ装置103のステータス確認を行っている。サーバ装置103の状態が変化するとHTMLファイルが更新されるので、情報処理装置101の操作部121には、図11に示されるような、スキャン処理の進行状況を示す画面が表示される。なお、図11の画面の詳細については、後に説明する。
【0054】
ステップS246の画像保存処理が終了すると、サーバ装置103は、情報処理装置101によるステータス確認のためのHTMLファイルの更新メッセージ(ステップS249)に対して、HTMLファイルを更新する(ステップS250)。これにより、情報処理装置101のウェブブラウザ133は、図12に示されるようなスキャン処理の終了通知画面を表示部120に表示する(ステップS251)。なお、図12の画面の詳細については、後に説明する。
【0055】
ユーザは、操作部121にスキャン終了通知の画面が表示されると、スキャン作業が終了した原稿を画像入力装置に取りに行き(ステップS252)、これによりスキャン処理シーケンスは終了する。以上のスキャン処理シーケンスにより、原稿をスキャンして得られた画像情報がサーバ装置103に格納される。
【0056】
[情報処理装置101での処理フロー]
図5は、画像入力システムでのスキャン処理における、情報処理装置101での処理の一例を示すフローチャートであり、情報処理装置101のOS131及びウェブブラウザ133による処理の一例を示している。図5に示される各処理は、CPU111がROM113に記憶されているプログラムをRAM112のワークエリアに展開し、実行することにより、情報処理装置101を構成する各部の機能を制御することで実現される。
【0057】
最初に、CPU111は、ウェブブラウザ133を起動し、ウェブブラウザ133によりサーバ装置103のURLにアクセスする(ステップS300)。そして、CPU111は、サーバ装置103のウェブサービスライブラリ322によりホストされているウェブページにログインリクエスト(メッセージ)を送信してログインを試み、ログインが成功したか否かを判断する(ステップS301)。
【0058】
ログインに失敗した場合(S301で“NO”)、CPU111は、ウェブブラウザ133に「画像入力装置の準備ができません。」というエラー表示を行い(ステップS320)、その後、処理を終了させる。ログインに成功した場合(S301で“YES”)、CPU111は、画像入力装置を検索するための検索スクリプト325をインターネット107経由でサーバ装置103からダウンロードし、ウェブブラウザ133上で実行する(ステップS302)。
【0059】
図5には不図示であるが、検索スクリプト325が実行されると、情報処理装置101からサーバ装置103に検索要求のメッセージが送信され、情報処理装置101は、そのレスポンスとして検索メッセージを受信する。CPU111は、検索スクリプト325により、検索メッセージに係るネットワークパケットのIPヘッダを変換し、ローカルネットワーク104に接続されている画像入力装置へのブロードキャスト送信を行う。この検索処理でのブロードキャスト送信は、SSDPやWSDで使用されているようなマルチキャスト送信等で行ってもよい。CPU111は、検索スクリプト325により、ブロードキャスト送信によって画像入力装置が返すレスポンスに対し、ネットワークパケットのIPヘッダを変換し、レスポンスメッセージとしてサーバ装置103へ転送する。また、CPU111は、検索スクリプト325により、ブロードキャスト送信で発見された画像入力装置のハードウェア情報221を取得する。
【0060】
CPU111は、検索スクリプト325による処理を実行している間、図4のステップS205で説明した通り、定期的にサーバ装置103にHTMLファイルの更新メッセージを送信し、更新されたHTMLファイルを受信する。よって、CPU111は、ウェブブラウザ133により、画像入力装置の検索中を示す画面(ユーザインタフェース;UI)を表示部120に表示する(ステップS303)。図8は、ステップS303で表示部120に表示される、使用可能な画像入力装置を検索中である旨の画面(検索UI)の例である。
【0061】
画面600の表示は、CPU111が、RAM112で実行されているウェブブラウザ133上で検索スクリプト325が実行されている状況で、サーバ装置103から更新を受けたHTMLファイルを表示することによって実現される。ユーザが画面600に表示されている中止ボタン601が押下した場合、CPU111は、検索スクリプト325により、中止メッセージをサーバ装置103に送信する。これにより、検索処理は中止される。
【0062】
サーバ装置103からのHTMLファイル更新により、CPU111は、検索スクリプト325により、サーバ装置103による画像入力装置の検索処理が終了しているか否かを判断する(ステップS304)。ここで、中止ボタン601の押下によるキャンセル等が発生がした場合(S304で“キャンセル”)、CPU111は処理をステップS320に進める。ステップS320の処理については、既に説明しているので、ここでの説明を省略する。
【0063】
画像入力装置の検索処理が終了していない場合(S304で“NO”)、CPU111は処理をステップS303に戻す。サーバ装置103において画像入力装置の検索処理が終了すると、サーバ装置103では、画像入力装置管理プログラム326により、画像入力装置を選択するためのHTMLファイルが作成されている。そこで、画像入力装置の検索処理が終了した場合(S304で“YES”)、CPU111は、サーバ装置103から像入力装置を選択するためのHTMLファイルを受信する。そして、CPU111は、ウェブブラウザ133により、使用する画像入力装置を選択するための画面を表示部120に表示する(ステップS305)。図9は、ステップS305で表示部120に表示される、画像入力装置の選択のためのリスト表示画面の例である。
【0064】
リスト表示画面700には、画像入力装置の検索処理で発見された画像入力装置を示すリストボタン701が表示される。本実施形態では、画像入力装置102a,102bにそれぞれ対応するリストボタン701が表示されている。ユーザがリストボタン701の中から使用する画像入力装置を選択した後、選択ボタン702を押下すると、CPU111は、検索スクリプト325により、選択結果メッセージをサーバ装置103に送信する(ステップS306)。この選択結果メッセージを受信したサーバ装置103は、選択された画像入力装置に対応したスキャンスクリプト328を準備する。
【0065】
なお、ユーザがリスト表示画面700に表示されている再検索ボタン703を押下すると、CPU111は、検索スクリプト325を再実行する。これにより、検索スクリプト325は、再度、画像入力装置の検索要求をメッセージとしてサーバ装置103に送信する。こうして、ステップS303〜S305(図4のステップS206〜S222)が再実行され、リスト表示画面700におけるリストボタン701の表示が更新される。
【0066】
ステップS306において使用する画像入力装置が選択されると、CPU111は、サーバ装置103から対応するスキャンスクリプト328をダウンロードし、ウェブブラウザ133で実行する(ステップS307)。なお、ダウンロードされるスキャンスクリプト328は、ステップS302〜S304で取得済みの画像入力装置のハードウェア情報221に基づいて決定される。例えば、選択された画像入力装置がサーバ装置103への送信能力を持つ場合、スキャンされた画像情報を情報処理装置101を経由せずにサーバ装置103へ直接送信するスキャンスクリプト328がダウンロードされる。
【0067】
CPU111がステップS307においてスキャンスクリプト328を実行することにより、図10に示されるような、スキャン設定を行うためのスキャン設定画面が表示部120に表示される(ステップS308)。図10は、ステップS308で表示部120に表示される、スキャン設定画面の例である。
【0068】
スキャン設定画面800は、スキャンした画像情報の保存先を指定するためのウェブサービス選択ドロップダウンコンボボックス801を有している。画像情報の保存先指定方法としては、保存先を識別することができるURLを直接入力する方法や、Webから画像情報保存機能を持つサービスを検索する方法、或いは、履歴から所望の保存先を選択する方法等がある。
【0069】
スキャン設定画面800に表示されている画像タイプドロップダウンコンボボックス802は、スキャン時のカラーモードを指定するものであり、白黒やカラー、グレースケール等の指定を行うことができるようになっている。また、解像度ドロップダウンコンボボックス803は、スキャン時の解像度を指定するためのものであり、解像度の指定方法としては、リストで表示されるものから所望の解像度を選択する方法や、ユーザが値を直接入力する方法等が用いられる。画像サイズドロップダウンコンボボックス804は、スキャン時の画像サイズを指定するためのものである。画像サイズの指定方法としては、例えば、A4、Legal等の定型サイズを指定して設定する方法や、サイズを検知センサで自動判別して設定する自動指定方法等を用いることができる。
【0070】
各種コンボボックスでのスキャン設定にしたがうスキャン処理は、スキャンボタン806の押下によって開始される。すなわち、スキャンボタン806が押下されると、CPU111は、スキャンスクリプト328により、スキャンボタン806の押下時における各種コンボボックスでの設定内容をスキャン設定メッセージとしてサーバ装置103に送信する。
【0071】
スキャン設定画面800に表示されている詳細ボタン805が押下されると、スキャン設定を追加で更に詳細に行うためのオプション画面(不図示)が表示される。このオプション画面は、例えば、CPU111が、スキャンスクリプト328により、スキャン設定画面用のHTMLファイルを更新することで表示部120に表示する。オプション画面で、ユーザが設定内容を更新し、更新した設定を保存するためのボタンを押下すると、表示はスキャン設定画面800に戻る。このように、CPU111は、スキャンスクリプト328により、ウェブブラウザ133上の表示を制御する。
【0072】
スキャン設定画面800は、ユーザにスキャン設定とスキャン処理のスタートを促す。スキャン設定が行われてスキャンボタン806が押下されると(ステップS309)、CPU111は、スキャンスクリプト328により、作成したスキャン設定メッセージをサーバ装置103に送信する(ステップS310)。次に、CPU111は、サーバ装置103から送信されてくるスキャンジョブメッセージをローカルネットワーク104を介してステップS306にて選択された画像入力装置に転送する(ステップS311)。このスキャンジョブメッセージにより、画像入力装置に対してスキャン処理と画像情報の送信処理の実行が指示される。
【0073】
送信処理の指示では、画像情報を上述のルートAで送信する場合、画像入力装置が情報処理装置101を経由せずにサーバ装置103と直接やり取りする指示がなされる。このときスキャンジョブメッセージに含まれる情報は、解像度や用紙サイズ等のスキャン処理に必要な入力情報、画像情報の宛先URL、送信プロトコル(WebDAV等)、送信時の認証で使用される認証ID等である。画像入力装置は、これらの情報を用いて、サーバ装置103に対して直接接続による画像情報の送信を行う。
【0074】
一方、画像情報を上述のルートBで送信する場合、不図示であるが、画像情報が情報処理装置101を経由してサーバ装置103に転送する指示がなされる。この場合には、CPU111が、画像入力装置から返信されたレスポンスをサーバ装置103に転送することを繰り返すことで、結果としてレスポンスに含まれた画像情報がサーバ装置103に転送される。以下、図5のフローチャートにおいて、ステップS312以降には、ルートAを用いた場合の処理が記載されている。
【0075】
スキャン処理や画像情報の送信が行われているときに、CPU111は、サーバ装置103にHTMLファイルの更新メッセージを定期的に送信する(ステップS312)。サーバ装置103の状態が変化するとHTMLファイルが更新されるので、ステップS312により、CPU111は、更新されたHTMLファイルに基づいてウェブブラウザ133で処理状況を表示部120に表示する。図11は、ステップS312で表示部120に表示される、スキャン処理の進行状況を通知する画面の例である。
【0076】
進行状況の通知画面900は、図10のスキャン設定画面でスキャンボタン806が押下されることで、表示部120に表示される。通知画面900は、画像入力装置でのスキャン動作(ステップS244)の開始時からスキャンされた画像情報がサーバ装置103に保存されるまでの間、CPU111が、ウェブブラウザ133上で実行しているスキャンスクリプト328により表示される。
【0077】
通知画面900内の中止ボタン901は、実行されているスキャン処理を中止するためのボタンである。中止ボタン901が押下されると、CPU111は、スキャンスクリプト328により、スキャン中止メッセージをサーバ装置103に送信する。これにより、サーバ装置103から中止内容を含んだスキャンジョブメッセージがステップS242と同様に情報処理装置101に送信され、更に一連のジョブ中止コマンドがステップS243と同様に画像入力装置に送信される。
【0078】
通知画面900内のスキャン処理進行インジケーター902は、ステップS244(図4参照)のスキャン処理での進行状況を逐次表示するものであり、CPU111がスキャンスクリプト328により通知画面900を更新することにより更新表示される。なお、ステップS245(図4参照)での画像情報送信処理についても、その進行状況が図11の通知画面に準じた画面によりユーザに通知される。
【0079】
ステップS312の後、CPU111は、画像情報の保存処理(図4のステップS246)が終了したか、又は、一定期間に対する画像情報受信がタイムアウトしたかを判断する(ステップS313)。画像情報の保存処理が終了しておらず、タイムアウトもしていない場合(S313で“NO”)、CPU111は、処理をステップS312に戻す。画像情報の保存処理が終了していないが、タイムアウトした場合(S313で“エラー”)、CPU111は、エラーを示すHTMLファイルをサーバ装置103から受信する。これにより、CPU111は、ウェブブラウザ133により操作部121に「スキャン処理に失敗しました。」の表示を行い(ステップS321)、その後、処理を終了させる。なお、通知画面900内の中止ボタン901が押下された場合は、CPU111は、このエラー処理に準じた処理を実行する。
【0080】
タイムアウトせずに画像情報の保存処理が正常に終了した場合(S313で“YES”)、CPU111は、ウェブブラウザ133により、図12のようなスキャン処理の終了通知の画面を表示部120に表示する(ステップS314)。図12は、ステップS314で表示部120に表示される、スキャン処理の終了通知画面の例である。
【0081】
スキャン処理の終了通知画面1000は、以下のようにして表示される。すなわち、サーバ装置103による画像情報の受信が終了すると、サーバ装置103で画像受信プログラム329が、受信した画像情報から情報処理装置101で表示できる縮小画像を含んだHTMLファイルを作成する。そして、サーバ装置103は、作成したHTMLファイルを情報処理装置101へ送信する。CPU111は、受信したHTMLファイルに基づいてウェブブラウザ133により操作部121に終了通知画面1000を表示する。これにより、ユーザにスキャン処理が正常に完了したことが伝えられる。
【0082】
終了通知画面1000には、最終的にサーバ装置に保存されたスキャン画像の内容をユーザに伝えるために、HTMLファイルに含まれる縮小画像に基づく縮小画像表示領域1003が表示される。ユーザが終了通知画面1000内の閉じるボタン1001を押下すると、CPU111は、ウェブブラウザ133上で実行されているスキャンスクリプト328を終了させ、これにより終了通知画面1000は閉じられる。こうして、情報処理装置101での一連の処理が終了する。なお、続けてスキャンボタン1002をユーザが押下すると、CPU111は、図9に示したスキャン設定画面800の表示(図4のステップS231)に処理を戻す。
【0083】
[サーバ装置103における処理フロー]
図6は、画像入力システムでのスキャン処理における、サーバ装置103での処理の一例を示すフローチャートである。図6に示される各処理は、CPU301がROM303に記憶されているプログラムをRAM302のワークエリアに展開し、実行することにより、サーバ装置103を構成する各部の機能を制御することで実現される。
【0084】
最初に、サーバ装置103のCPU301は、情報処理装置101からログインリクエストを受信した否かを判断し(ステップS400)、ログインリクエストが送信されてくるまで待機する(S400で“NO”)。ログインリクエストを受信し、ログインを許可する場合(S400で“YES”)、CPU301は、検索スクリプト325を情報処理装置101に送信する(ステップS401)。
【0085】
情報処理装置101のウェブブラウザ133上で検索スクリプト325が実行されると、情報処理装置101からサーバ装置103へ検索要求が送信される。そこで、CPU301は、情報処理装置101から検索要求を受信したか否かを判断する(ステップS402)。一定時間が経過しても検索要求を受信しない場合(S402で“NO”)、CPU301は、処理をステップS420へ進める。
【0086】
ステップS420の処理では、情報処理装置101で実行されている検索スクリプト325が定期的にサーバ装置103にHTMLファイルの更新メッセージを送信してくることを利用する。具体的には、このHTMLファイルの更新メッセージのレスポンスとして、CPU301は、検索プログラム324により、「画像入力装置の準備ができません。」等のスキャン処理環境を作成できない内容のメッセージを含んだHTMLファイルを作成する。こうして作成されたHTMLファイルが情報処理装置101に送信されると、情報処理装置101のウェブブラウザ133により、同内容が表示部120に表示される。CPU301は、ステップS420の終了後、処理を終了させる。
【0087】
検索要求を受信した場合(S402で“YES”)、CPU301は、検索プログラム324により、検索メッセージを情報処理装置101に送信し、一定期間、レスポンスを受信して解析する(ステップS403)。レスポンスの受信が終了したか又は一定期間が経過すると、CPU301は、検索プログラム324により検索結果を受信したか否かを確認する(ステップS404)。
【0088】
一定期間内に検索結果を受信しなかった場合(S404で“NO”)、CPU301は、処理をステップS420へ進める。ステップS420については、既に説明済みであるので、ここでの説明を省略する。一定期間内に検索結果を受信した場合(S404で“YES”)、CPU301は、画像入力装置管理プログラム326を起動する(ステップS405)。具体的には、CPU301は、画像入力装置管理プログラム326により、画像入力装置を選択するためのリスト表示画面用のHTMLファイルを作成、更新し、情報処理装置101のウェブブラウザ133へ送信する。CPU301は、情報処理装置101においてウェブブラウザ133により表示された画像入力装置のリスト表示画面からのユーザによるレスポンスを、一定期間、ポーリング動作により受信する。
【0089】
CPU301は、画像入力装置管理プログラム326により、情報処理装置101から画像入力装置の選択結果メッセージ(図4のステップS224参照)を受信したか否かを確認する(ステップS406)。ユーザによる画像入力装置の選択が行われない等の理由により、一定期間が過ぎても選択結果メッセージを受信しない場合(S406で“NO”)、CPU301は、処理をステップS420に進める。ステップS420については、既に説明済みであるので、ここでの説明を省略する。選択結果メッセージを受信した場合(S406で“YES”)、CPU301は、選択された画像入力装置について、ステップS403で取得した画像入力装置の送信能力情報等に基づいて、画像情報の送信方法を判断する(ステップS407)。
【0090】
画像情報の送信方法としては、図4を参照して説明したルートA及びルートBとがある。選択された画像入力装置がサーバ装置103へ画像情報を直接送信する能力がある場合には、その送信能力の送信プロトコルによる直接送信を行うものと判断され、ルートAが選択される。一方、選択された画像入力装置がサーバ装置103へ画像情報を直接送信する能力を持たない場合は、情報処理装置101を経由して画像情報をサーバ装置103へ転送するルートBが選択される。
【0091】
なお、ステップS407の判断手法は、図4のステップS230の判断手法と同等である。よって、ステップS230の判断手法として、既に説明した別の判断手法をステップS407においても用いることができる。これら別の判断手法については、ここでの説明を省略する。
【0092】
ステップS407の後、CPU301は、画像入力装置管理プログラム326により、ステップS407の判断結果に基づいて、選択された画像入力装置に適したスキャンスクリプト328の検索を行う。更に、CPU301は、検索されたスキャンスクリプト328を情報処理装置101内のウェブブラウザ133へ送信する(ステップS408)。
【0093】
なお、検索されたスキャンスクリプト328は、ステップS407でルートAを用いると判断された場合には、画像情報を選択された画像入力装置からサーバ装置103へと情報処理装置101を経由せずに直接送信するためのスクリプトになる。一方、図6に不図示であるが、ステップS407でルートBを用いると判断された場合、検索されたスキャンスクリプト328は、画像情報を選択された画像入力装置から情報処理装置101を経由してサーバ装置103へ転送するためのスクリプトになる。
【0094】
画像情報の送信方法には、選択された画像入力装置が実行可能なWebDAV等の送信プロトコルでサーバ装置103への直接送信する方法がある。また、情報処理装置101がWSDのようなWebサービスプロトコルで選択された画像入力装置に対して指示を行う際の画像情報の受信先をサーバ装置103の保存先URLに変換しておくことで、情報処理装置101を経由せずに画像情報を送信する方法がある。
【0095】
以下、ルートAを用いると判断されたものとする。この場合、CPU301は、画像入力装置管理プログラム326により、スキャン設定メッセージ(図4のステップS220参照)を受信したか否かを確認する(ステップS409)。一定期間内にスキャン設定メッセージ受信しなかった場合(S409で“NO”)、CPU301は、処理をステップS420へ進める。ステップS420については、既に説明済みであるので、ここでの説明を省略する。一定期間内にスキャン設定メッセージを受信した場合(S409で“YES”)、CPU301は、処理をステップS410へ進める。
【0096】
ステップS410において、CPU301は、スキャン設定メッセージから宛先URLを取得し、取得した宛先URLに対して画像入力装置からの画像情報受信を許可する設定を行う(ステップS410)。このとき、CPU301は、画像情報の送信元となる画像入力装置を認証するための一意の認証IDを生成し、保持しておく。続いて、CPU301は、スキャンジョブ生成プログラム327を起動し、スキャン設定メッセージに従ったスキャンジョブを作成し、情報処理装置101のウェブブラウザ133へ送信する(ステップS411)。このスキャンジョブには、スキャン処理及び送信処理の手続き並びに各処理に必要な情報、例えば、スキャン設定、宛先URL、送信プロトコル、認証ID等が含まれる。
【0097】
次に、CPU301は、画像受信プログラム329を起動し、画像情報の受信要求を受けたか否かを確認する(ステップS412)。一定期間内に画像情報の受信要求を受けなかった場合(S421で“NO(タイムアウト)”)、CPU301は、処理をステップS421へ進める。
【0098】
ステップS421では、情報処理装置101で実行されている検索スクリプト325が定期的にサーバ装置103にHTMLファイルの更新メッセージを送信することを利用する。すなわち、このHTMLファイル更新メッセージのレスポンスとして、CPU301は、画像受信プログラム329により、「スキャン実行エラー」等のスキャン実行処理環境を作成することができない内容のメッセージを含むHTMLファイルを作成する。こうして作成されたHTMLファイルが情報処理装置101に送信されることで、情報処理装置101のウェブブラウザ133により同内容が表示部120に表示される。CPU301は、ステップS421の終了後、処理を終了させる。
【0099】
画像情報の受信要求を受けた場合(S412で“YES”)、CPU301は、画像受信プログラム329により、ステップS410で生成し、保持している認証IDにより送信元の認証を行う(ステップS413)。認証が成功すると、CPU301は、画像入力装置から画像情報を受信し、受信した画像情報から最終的な画像情報を作成、保存し、受信結果を送信元である画像入力装置へレスポンスとして返す。そして、CPU301は、情報処理装置101で表示可能な縮小画像を含んだHTMLファイルを作成する(ステップS414)。以上で、サーバ装置103でのスキャン処理及び送信処理は終了する。
【0100】
なお、CPU301は、スキャン処理と送信処理が行われている間は、定期的に情報処理装置101のウェブブラウザ133からHTMLファイルの更新メッセージを受信し、サーバ装置103は更新したHTMLファイルを情報処理装置101へ送信する。これによりウェブブラウザ133上でHTMLファイルが更新され、その表示内容からユーザはサーバ装置103の状態の変化を知ることができる。既に説明した通り、情報処理装置101のCPU111は、ウェブブラウザ133によりスキャン処理と送信処理の完了を確認する。更に、CPU111は、ウェブブラウザ133により、スキャン処理と送信処理が完了した旨と最終的な画像情報の内容をユーザに伝える終了通知画面1000(図12参照)を表示する。
【0101】
また、サーバ装置103では、上記実施形態に限られず、次のような処理を行うようにしてもよい。例えば、ステップS409で受信するスキャン設定メッセージには、解像度やカラーモード、用紙サイズ、枚数等の情報等の画像情報の生成条件が含まれる。そこで、スキャン設定メッセージの内容を解析して、選択された画像入力装置で生成される画像情報量を計算し、その画像情報量によりステップS407の送信方法を決定するようにしてもよい。
【0102】
この場合、CPU301は、画像情報量の基準値を予め設けておき、処理する画像情報量がこの基準値以上の場合、画像入力装置がサーバ装置103へ画像情報を直接送信するように送信方法を決定する。一方、CPU301は、処理する画像情報量が基準値未満の場合、画像入力装置が情報処理装置101を経由してサーバ装置103へ画像情報を送信するように送信方法を決定する。
【0103】
[画像入力装置102における処理フロー]
図7は、画像入力システムでのスキャン処理における、画像入力装置102での処理の一例を示すフローチャートである。画像入力装置102のCPU202は、ローカルネットワーク104を介して外部からネットワークI/F205にアクセスが到着したか否かを判断し(ステップS500)、ネットワークアクセスが到着するまで待機する(S500で“NO”)。ネットワークアクセスが到着すると(S500で“YES”)、CPU202は、ネットワークアクセスの内容が検索コマンドであるか否かを確認する(ステップS501)。
【0104】
検索コマンドである場合(S501で“YES”)、CPU202は、外部メモリ220に保存してあるハードウェア情報221を参照し、情報処理装置101にレスポンスを送信する(図4のステップS210参照)。その後、CPU202は、処理をステップS500に戻して、次のネットワークアクセスが到着するまで待機する。検索コマンドではない場合(S501で“NO”)、CPU202は、情報処理装置101からスキャンジョブが送信されて来たか否かを確認する(ステップS503)。
【0105】
スキャンジョブが到着しない場合(S503で“NO”)、CPU202は、処理をステップS500に戻す。スキャンジョブが到着した場合(S503で“YES”)、CPU202は、情報処理装置101から送信されたスキャンジョブに従ってスキャンジョブ(図4のステップS244参照)のスキャン動作を行い、画像情報を作成する(ステップS504)。
【0106】
その後、CPU202は、図4のS230(=図6のS407)の判断結果に従って、画像情報の送信を行う(ステップS504)。ルートAで画像情報を送信する場合、CPU202は、情報処理装置101により指示されたサーバ装置103の宛先URLへ、指示された送信プロトコルで接続を行い、スキャンジョブに含まれている認証IDで認証処理を行う。そして、認証が成功した場合にスキャンされた画像情報の送信を行う。
【0107】
一方、ルートBで画像情報を送信する場合、CPU202は、画像情報を情報処理装置101で実行されているスキャンスクリプト328へ送信する。情報処理装置101では、CPU111がスキャンスクリプト328により、画像情報の内容をそのままにネットワークパケットのIPヘッダ変換処理等の転送手段を用い、サーバ装置103に転送する。
【0108】
ルートAで画像情報を送信する場合について、以下に説明を続ける。CPU202は、サーバ装置103からのレスポンスに応じて、画像情報の送信が終了したか否かを終了コマンドを受信したか否かにより確認する(ステップS506)。一定期間内に終了コマンドを受信しなかった場合(S506で“NO”)、CPU202は、タイムアウトとみなしてエラー処理を行う(ステップS507)。一定期間内に終了コマンドを受信した場合(S506で“YES”)、CPU202はスキャン処理を終了させる。
【0109】
[スクリプトによるデータ送受信の概要]
図13は、サーバ装置103の外部メモリ320に格納されている検索スクリプト325とスキャンスクリプト328がそれぞれ、情報処理装置101内のウェブブラウザ133で実行されたときのデータ送受信の内容と処理の一例を示す概要図である。本実施形態に係る画像入力システムにおいて、サーバ装置103のネットワークI/F307でインターネット107に接続しているアドレスを“S”とする。情報処理装置101の第1の通信I/F114により接続されている無線通信網106のネットワークアドレスを“TI”とする。また、情報処理装置101の第2の通信I/F119がローカルネットワーク104に接続する場合のネットワークアドレスを“TL”とする。更に、画像情報の生成と送信を行う画像入力装置として画像入力装置102aが選択されるものとして、画像入力装置102aのネットワークI/F205でローカルネットワーク104に接続する場合のネットワークアドレスを“D”とする。
【0110】
パケットデータ1101は、図4のステップS207において、サーバ装置103から情報処理装置101のウェブブラウザ133上で動作している検索スクリプト(以下「情報処理装置101上の検索スクリプト」と記す)325へ検索メッセージとして送信されるパケットデータの一例である。サーバ装置103は、ローカルネットワーク104で送信される形式で、ヘッダと検索コマンド等を含むペイロードとからなるデータ構造のパケットデータ1101を作成する。そして、サーバ装置103は、パケットデータ1101が内包されるように、サーバ装置103のネットワークアドレス“S”から情報処理装置101のネットワークアドレス“TI”へ送信するパケットデータを生成する。
【0111】
パケットデータ1101を含むパケットデータを受信した情報処理装置101上の検索スクリプト325は、内包されているパケットデータ1101だけを取り出し、パケットデータ1101をパケットデータ1102として、ローカルネットワーク104に転送する。この場合のパケットデータ1102の宛先は“BC”となっており、ブロードキャストを行うものとする。このような情報処理装置101上の検索スクリプト325によるパケットデータからのデータの取り出し処理により、図4を参照して説明したステップS208の検索プロトコルのブロードキャストが実現される。
【0112】
画像入力装置102aが検索コマンドに応答してレスポンスを返す場合のパケットデータ1103は、画像入力装置102aのアドレス“D”から情報処理装置101のローカルネットワーク104上のアドレス“TL”へ送信するヘッダを有する。また、パケットデータ1103のペイロードには、ハードウェア情報221を含んだレスポンス情報等が含まれる。
【0113】
パケットデータ1103を受信した情報処理装置101上の検索スクリプト325は、パケットデータ1103を内包したパケットデータ1104を生成する。そして、情報処理装置101上の検索スクリプト325は、パケットデータ1104をサーバ装置103へ無線通信網106を経由するネットワークアドレス“TI”からサーバ装置103に転送する。これにより、サーバ装置103は、情報処理装置101のローカルネットワーク104上でのネットワークアドレス“TL”と、検索に応答した画像入力装置102aのネットワークアドレス“D”を情報として取得することができる。
【0114】
パケットデータ1105は、図4のステップS242で用いられるスキャンジョブメッセージの一例である。パケットデータ1105はパケットデータ1101と同様のデータデータ構造を有している。すなわち、サーバ装置103は、ヘッダとスキャンコマンド等を含むペイロードとからなるデータ構造のパケットデータ1105を作成する。そして、サーバ装置103は、パケットデータ1105を内包するように、ネットワークアドレス“S”から情報処理装置101のネットワークアドレス“TI”に送信するパケットデータを生成する。
【0115】
パケットデータ1105を内包するパケットデータを受信した情報処理装置101のウェブブラウザ133上で動作しているスキャンスクリプト(以下「情報処理装置101上のスキャンスクリプト」と記す)328は、パケットデータ1105だけを取り出す。そして、情報処理装置101上のスキャンスクリプト328は、取り出したパケットデータ1105をパケットデータ1106として、ローカルネットワーク104に転送する。
【0116】
サーバ装置103は、パケットデータ1104等から得られた、ローカルネットワーク104上でのネットワークアドレス“TL”と検索に応答した画像入力装置102aのネットワークアドレス“D”の情報を利用し、パケットデータ1105を生成している。そのため、情報処理装置101上のスキャンスクリプト328は、内包されているパケットデータ部を機械的に取り出すだけで、容易にローカルネットワーク104に送信可能なパケットデータを生成することができる。
【0117】
画像入力装置102aは、スキャンコマンドに従ってスキャン動作を行い、画像情報を生成して、情報処理装置101へ送信するパケットデータ1107を作成する。パケットデータ1107は、画像入力装置102aのアドレス“D”から情報処理装置101のローカルネットワーク104上のアドレス“TL”へ送信するヘッダを有し、ペイロードには画像情報等の情報が含まれる。
【0118】
パケットデータ1107を受信した情報処理装置101上のスキャンスクリプト328は、パケットデータ1107を内包したパケットデータ1108を生成する。そして、情報処理装置101上のスキャンスクリプト328は、パケットデータ1108をネットワークアドレス“TI”からサーバ装置103へ、無線通信網106及びインターネット107を介して転送する。
【0119】
なお、スキャンコマンドの指定により、画像情報が分割された形でパケットデータ1107が生成される。スキャンスクリプト328は複数回送られてくるパケットデータ1107と同等のパケットを順次処理し、パケットデータ1108と同様のデータ構造としてサーバ装置103に送信する。これにより、スキャンスクリプト328が使用するRAM112の容量が少ない場合でも、十分な対応が可能になる。
【0120】
また、図示と詳細な説明は省略するが、ネットワークポートの制御が必要な場合には、必要に応じてパケットデータの宛先部にネットワークアドレスと併記してネットワークポートの切り替えを記述すればよい。検索スクリプト325とスキャンスクリプト328はそれぞれ、その変換を含めたパケットデータの生成を行うことで、対応が可能になる。
【0121】
更に、本実施形態の検索スクリプト325とスキャンスクリプト328はその他の機能を実行することができる。例えば、スキャンスクリプト328は、図10に示したスキャン設定画面800を表示し、ユーザが設定した情報をメッセージとしてサーバ装置103へ送信する。情報処理装置101上の検索スクリプト325とスキャンスクリプト328は、定期的にサーバ装置103の状況を確認するため、表示の更新を定期的にサーバ装置103に対して行う。サーバ装置103は表示の更新のメッセージをきっかけにして、サーバ装置103でのエラー処理等の通知をメッセージとして情報処理装置101に送信し、検索スクリプト325とスキャンスクリプト328はそのメッセージに対応することができる。
【0122】
以上、本実施形態によれば、情報処理装置101が、携帯電話等のように十分なメモリ容量を持たないために大容量データ転送に不向きな場合であっても、情報処理装置101を経由せずに容量が大きな画像情報を送信することができる。これにより、情報処理装置101が処理する情報量が軽減され、パフォーマンスを向上させ、また、通信負荷を軽減することができる。
【0123】
[その他の実施形態]
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【0124】
例えば、情報処理装置101を介したサーバ装置103と画像入力装置102との間の通信は、情報処理装置101で実行できる方法であれば何でもよい。例えば、ActiveX(登録商標)コントロールやJava(登録商標)script、Java(登録商標)アプレットや各種プラグイン等を用いることができる。但し、サーバ装置103が複数の実行手段の選択肢を持ち、多くの機能を必要としない情報処理装置101を利用することができるという点から、優先順位を持ち、情報処理装置101上で実行する準備を行うことができる通信方法を用いると効率的である。
【0125】
画像入力システムにおける通信には、双方向通信を簡易にかつ効率良く行うために、WebSockets(http://dev.w3.org/html5/WebSockets)等の双方向通信技術を用いることも有効である。WebSockets等の技術を導入した場合、情報処理装置101で実行されている検索スクリプト325やスキャンスクリプト328が定期的にHTMLファイルの更新メッセージをサーバ装置103に送付するような対応は必要なくなる。すなわち、サーバ装置103からのメッセージを情報処理装置101の要求無しに更新することが可能となる。
【0126】
また、送信等の通知はWS−Eventingで定義されるプロトコルや、GENA(General Event Notification Architecture)等を利用することで実現することもできる。本発明に係る画像入力システムでは、情報処理装置101上で動作する検索スクリプト325に適切にハードウェア情報221を伝える手段が別にあり、同様の結果が得られるプロトコルであればいずれのプロトコルであっても運用が可能である。
【0127】
更に、上述した実施形態においては、サーバ装置103でスキャンジョブを生成して、画像入力装置102に送信する方式を採用した。これに限られず、画像入力装置102がスキャンジョブを受け付けることが可能な場合、スキャンジョブチケット等の汎用情報を画像入力装置102に送信する方法を採用してもよい。
【0128】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0129】
101 情報処理装置
102(102a,102b) 画像入力装置
103 サーバ装置
104 ローカルネットワーク
106 無線通信網
107 インターネット
111,202,301 CPU
120 表示部
130,320 外部メモリ
133 ウェブブラウザ
221 ハードウェア情報
325 検索スクリプト
328 スキャンスクリプト
【技術分野】
【0001】
本発明は、例えば、携帯電話等の情報処理装置でのウェブブラウザ操作により、インターネット上のサーバ装置が有する情報保存機能に対して、最適な画像入力システム環境を構築し、画像入力指示や画像送信、画像保存を可能にする画像入力システム、サーバ装置、サーバ装置の制御方法、及び制御プログラムに関する。
【背景技術】
【0002】
一般的に、情報処理装置から画像入力装置等の周辺機器を利用するためには、その周辺機器に対応した特定のデバイスドライバを情報処理装置上で動作する処理システム(以下「OS」と記す)に組み込む必要がある。例えば、情報処理装置としてのパーソナルコンピュータ(PC)で、周辺機器としての画像入力装置(スキャナ)を利用する場合、PCにおいて、スキャナドライバを起動させ、スキャンに必要な設定を行い、スキャナを駆動させる。PCでは、こうしてスキャナで取得した画像データをアプリケーションに転送することで、そのアプリケーションでその画像データを自由に扱うことが可能になる。
【0003】
このように、従来は、利用する画像入力装置と情報処理装置上で動作するOSの両方に相互に対応したドライバが準備されている必要がある。そして、ユーザには、OSと画像入力装置の組み合わせで動作する適切なドライバを探し出す作業や、探し出したドライバをOSにインストールする作業等の面倒な作業を行うことが必要になる場合がある。また、画像入力装置の製造者や販売者に対して、最近特に種類が増加しているOSの種類に対応したドライバを随時供給していくための作業が増大する一途である。
【0004】
これに対して、画像入力装置に直接接続されているPCがホストするウェブページにアクセスすることで、ドライバでの操作と同等の機能を実現する発案がなされている(特許文献1参照)。この場合、ウェブページにアクセスする情報処理装置のOSにドライバを組み込む必要がなく、ユーザの作業が軽減される。
【0005】
また、近年、クラウドコンピューティングと呼ばれる、インターネット上のサーバ装置でのウェブサービスアプリケーションによる画像処理により、画像を幅広く利用することができるようになってきている。インターネット上のサーバ装置への画像転送方法としては、ウェブブラウザプリケーション上で開いたウェブページに組み込まれた画像アップロード等のメニューを利用して、使用している情報処理装置から画像ファイルをサーバ装置へ転送する方法がある。また、ファイル転送を行う専用のアプリケーションにより画像ファイルを転送する方法も広く利用されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2000−148649号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記の先行技術文献に示されたウェブブラウザを使用する画像入力システムでは、画像入力システムを構築するために、ローカルネットワーク内に画像入力装置に接続されたサーバ装置が必要になる。また、そのサーバ装置の処理システムには、予め、各画像入力装置が動作するようにスキャナドライバ等の設定が行われている必要がある。更に、携帯端末のように画像を受信できるだけの十分なメモリ容量が確保できていない情報処理装置の場合、スキャンされた画像データ全体を情報処理装置に保存することができない場合がある。これに対して、サーバ装置に画像データを保存することも考えられるが、保存作業の後に画像データを取り出し目的の場所に移すというような、スキャン処理とは異なる新たな仕組みや作業が必要になる。
【0008】
このような問題を解決するために、次のような画像入力システムが考えられる。すなわち、最初に、情報処理装置内のウェブブラウザでインターネット上のサーバ装置にある画像入力サービスを起動する。そして、このサーバ装置から検索スクリプトがダウンロードされたら、これを実行し、検索プロトコルをローカルネットワークに転送する。情報処理装置は、こうして検索された画像入力装置の情報をサーバ装置に転送し、次に、サーバ装置から送信されるスキャンコマンド信号を画像入力装置に転送する。これにより、画像入力装置がスキャンや送信処理を行い、情報処理装置は、画像入力装置から送信される画像情報(画像データ)をサーバ装置に転送する。このような構成により、十分な保存領域を持たない情報処理装置でも、予めサーバ装置等での複雑な設定を必要とすることなく、インターネット上の豊富な保存機能を利用できる画像入力システムを構築することができると考えられる。
【0009】
しかしながら、この画像入力システムでは、生成された画像情報が、情報処理装置を経由してサーバ装置へ転送される。つまり、画像入力装置が画像情報をサーバ装置へ直接送信することが可能な場合であっても、十分なメモリ容量を持たず大容量データの転送には不向きであるといえる情報処理装置を経由するデータ転送経路を用いる。これは、パフォーマンスや通信効率の面で、好適なデータ転送経路を用いているとは言えない。また、情報処理装置とサーバ装置が携帯電話回線網で結ばれている場合、通信処理の負担(負荷)が著しく増してしまうという問題もある。加えて、画像情報分のパケット通信料金が発生してしまい、ユーザの経済的な負担が大きくなる可能性もある。
【0010】
本発明は、情報処理装置を経由せずに画像情報を画像入力装置からサーバ装置へ送信することができる仕組みを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係る画像入力システムは、情報処理装置と、前記情報処理装置と無線通信網及びインターネットを介して通信するサーバ装置と、前記情報処理装置とローカルネットワークを介して通信すると共に前記サーバ装置と前記インターネットを介して通信する画像入力装置とを備え、前記画像入力装置で生成した画像情報を前記サーバ装置に保存する画像入力システムであって、前記サーバ装置は、前記情報処理装置からの前記画像入力装置を検索する検索要求によって検索された前記画像入力装置の送信能力情報を取得する取得手段と、前記送信能力情報に基づいて、前記検索された前記画像入力装置の中から画像情報を生成させるために前記情報処理装置において選択された画像入力装置が、前記画像情報を前記サーバ装置へ直接送信することができる場合には前記選択された画像入力装置は前記画像情報を前記サーバ装置へ直接送信し、前記画像情報を前記サーバ装置へ直接送信することができない場合には前記選択された画像入力装置は前記画像情報を前記情報処理装置を経由して前記サーバ装置へ転送するように、送信方法を決定する決定手段と、前記選択された画像入力装置に前記画像情報の生成及び前記決定手段により決定された送信方法による前記画像情報の送信を実行させるジョブメッセージを前記情報処理装置へ送信するジョブメッセージ送信手段とを有し、前記情報処理装置は、前記ジョブメッセージをジョブコマンドとして前記選択された画像入力装置に送信するジョブ送信手段を有し、前記画像入力装置は、前記ジョブコマンドに従って、前記画像情報の生成及び前記サーバ装置への送信を行う実行手段を有することを特徴とする。
【発明の効果】
【0012】
本発明によれば、情報処理装置を経由せずに画像情報を送信することができるため、情報処理装置が処理する情報量が軽減され、パフォーマンスを向上させ、また、通信負荷を軽減することができる。また、情報処理装置が通信、処理する情報量が軽減されることで、情報処理装置の使い勝手が向上し、ユーザが情報処理装置の通信費として支払うコストを低減することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係る画像入力システムの概略構成を示すブロック図である。
【図2】図1の画像入力システムが備える情報処理装置と画像入力装置の概略構成を示すブロック図である。
【図3】図1の画像入力システムが備えるサーバ装置の概略構成を示すブロック図である。
【図4】図1の画像入力システムにおけるスキャン処理のシーケンス図である。
【図5】図1の画像入力システムで実行されるスキャン処理における、情報処理装置での処理を示すフローチャートである。
【図6】図1の画像入力システムで実行されるスキャン処理における、サーバ装置での処理を示すフローチャートである。
【図7】図1の画像入力システムで実行されるスキャン処理における、画像入力装置での処理を示すフローチャートである。
【図8】情報処理装置の表示部に表示される、使用可能な画像入力装置を検索中である旨の画面(ユーザインタフェース)の例である。
【図9】情報処理装置の表示部に表示される、画像入力装置の選択のためのリスト表示画面(ユーザインタフェース)の例である。
【図10】情報処理装置の表示部に表示される、スキャン設定画面(ユーザインタフェース)の例である。
【図11】情報処理装置の表示部に表示される、スキャン処理の進行状況を通知する画面(ユーザインタフェース)の例である。
【図12】情報処理装置の表示部に表示される、スキャン処理の終了通知画面(ユーザインタフェース)の例である。
【図13】サーバ装置の検索スクリプト、スキャンスクリプトが情報処理装置で実行されたときのデータ送受信の内容と処理の一例を示す概要図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
【0015】
[画像入力システムの概略構成]
図1は、本発明の実施形態に係る画像入力システムの概略構成を示すブロック図である。画像入力システムは、ユーザが使用する情報処理装置101と、スキャン処理を行うことによって生成した画像情報(画像データ)を外部へ送信する2つの画像入力装置102a,102bを備えている。
【0016】
なお、本実施形態では、本発明の理解を容易にするために、後述の通り、ユーザが使用する情報処理装置が情報処理装置101であるとして説明を行うため、1台のみの情報処理装置を備える構成としているが、より多くの情報処理装置を備えていてもよい。また、画像入力装置も、画像入力装置102a,102bの2台に限定されず、より多くの画像入力装置を備えていてもよい。
【0017】
情報処理装置101と画像入力装置102a,102bとは、Ethernet(登録商標)で構成されるローカルネットワーク104を介して接続されている。情報処理装置101と通信し、画像情報を受信するサーバ装置103とを備えている。情報処理装置101とサーバ装置103とは、データ通信を行う携帯通信網等の無線通信網106及びインターネット107を介して接続されている。また、情報処理装置101とサーバ装置103とは、ローカルネットワーク104上に存在するゲートウェイ装置105とゲートウェイ装置105が接続されているインターネット107とを介しても接続されている。
【0018】
[情報処理装置101と画像入力装置102a,102bの概略構成]
図2は、情報処理装置101と画像入力装置102aの概略構成を示すブロック図である。なお、画像入力装置102bの装置構成は画像入力装置102aの装置構成と同じであり、以下、画像入力装置102aと画像入力装置102bとを区別しない場合に、適宜、「画像入力装置102」と記す。
【0019】
情報処理装置101では、CPU111が、ROM113に記憶されているプログラムをRAM112のワークエリアに展開、実行することにより、システムバス122に接続される各デバイスを総括的に制御している。ROM113には、プログラムに加えて、各種の制御に必要なデータ等が記憶されている。RAM112は、主メモリとして機能するが、前述の通りにCPU111のワークエリアとしても機能する。
【0020】
操作部I/F117は、操作部121やタッチパネル等のポインティングデバイス(不図示)からの入力を制御する。表示部I/F116は、表示部120への各種情報の表示を制御する。なお、表示部120は、タッチパネル機能を備え、操作部121としても機能する。外部メモリ130は、例えば、フラッシュメモリー、Solid State Disk(SSD)等で構成されており、外部メモリI/F130が外部メモリ130に対するアクセスを制御する。
【0021】
外部メモリ130は、オペレーティングシステムプログラム(以下「OS」と記す)131を始め、各種のアプリケーション132、ウェブブラウザ133を記憶すると共に、情報処理装置101が保存又は読み取り可能な各種データの記憶媒体として機能する。なお、外部メモリ130の役割をROM113及びRAM112に持たせればよい。
【0022】
ウェブブラウザ133上で動作するスクリプトファイルは、ユーザが新しく使用する情報処理装置101上の外部メモリ130に、初めからは保存されていない。本実施形態では、スキャンシステム環境の構築を司るスクリプトが情報処理装置101に保存されていない場合、サーバ装置103からの遠隔操作により、情報処理装置101のOS131上で実行されるウェブブラウザ133がRAM112で起動する。ウェブブラウザ133でのスクリプト実行処理については、図5を参照して後に詳細に説明する。
【0023】
第1の通信I/F114は、無線通信網106を利用した通信を行うための制御部であり、アンテナ115を通じて無線基地局とのネットワーク接続を行う。第2の通信I/F119は、Wi−Fi等のワイヤレスネットワークや優先ネットワークの制御部であり、Wi−Fi用のアンテナやネットワーク端子(共に不図示)を通じてローカルネットワーク104への接続を可能にする。
【0024】
画像入力装置102では、CPU202が画像入力装置102の全体動作を制御している。RAM203は、CPU202の主メモリ、ワークエリア等として機能する共に、入力情報の展開領域やスキャン環境データの格納領域としても用いられる。また、RAM203は、NVRAM(Non−volatile RAM:不揮発性RAM)領域を備えており、不図示の増設ポートに接続されるオプションRAMにより、メモリ容量を拡張することができるように構成されている。
【0025】
ROM204は、各種のフォント、CPU202により実行される制御プログラムや各種のデータを記憶している。ネットワークI/F205は、ローカルネットワーク104と接続されており、情報処理装置101との間でデータの送受信を可能にする。プリンタI/F208は、プリンタエンジンである印刷部209とのインタフェースを制御する。スキャン部I/F210は、スキャナエンジンであるスキャン部211とのインタフェースを制御している。
【0026】
外部メモリ220は、例えば、フラッシュメモリー、Solid State Disk(SSD)等で構成されており、外部メモリI/F212により外部メモリ220に対するアクセスが制御されている。本実施形態では、外部メモリ220にハードウェア情報221を記憶させることが可能である。ハードウェア情報221は、例えば、画像入力装置102の名称、サポートする解像度や用紙サイズ等の入力能力情報、サーバ装置103等の外部装置への送信能力情報(例えば、SMBやWebDAV)等である。なお、画像入力装置102に外部メモリ220が接続されていない場合、ROM204に、情報処理装置101で利用される情報等が記憶されることになる。
【0027】
画像入力装置102のスキャン処理を設定する操作部207には、ユーザによる操作を受け付ける操作パネルが設けられており、その操作パネルには操作のためのスイッチ及びLED表示器等が配置されている。なお、NVRAM(不図示)を設け、これに操作パネルからのスキャン設定情報を記憶するようにしてもよい。操作部I/F206は、操作部207とのインタフェースを制御する。
【0028】
CPU202は、ROM204に記憶された制御プログラム等に基づき、スキャン部I/F210を介してスキャン部211から画像情報を取得する。また、CPU202はネットワークI/F205を介して情報処理装置101との通信処理が可能となっており、情報処理装置101に画像情報を送信すると共に、画像入力装置102内の情報等を情報処理装置101に通知する。本実施形態では、ネットワークI/F205は、対応するウェブサービスプロトコルを実装している。
【0029】
[サーバ装置103の概略構成]
図3は、サーバ装置103の概略構成を示すブロック図である。サーバ装置103では、CPU(301)は、ROM303に記憶されているプログラムをRAM302のワークエリアに展開、実行することによって、システムバス300に接続される各種のデバイスを総括的に制御する。ROM303には、プログラムに加えて、各種の制御に必要なデータ等が記憶されている。RAM302は、主メモリとして機能するが、前述の通りにCPU301のワークエリアとしても機能する。
【0030】
キーボードコントローラI/F305は、キーボード309やマウス等のポインティングデバイス(不図示)からの入力を制御する。表示部I/F304は、表示部308への各種の情報の表示を制御する。外部メモリ320は、例えばハードディスク(HD)、Solid State Disk(SSD)等で構成されており、外部メモリI/F306は、外部メモリ320とのアクセスを制御する。
【0031】
外部メモリ320は、オペレーティングシステムプログラム(OS)321を始め、ウェブサービスライブラリ322、各種のスキャン処理関連プログラム323を記憶している。また、外部メモリ320は、不図示のユーザファイルや編集ファイル等を記憶するコンピューターが保存又は読み取り可能な記憶媒体として機能する。
【0032】
スキャン処理関連プログラム323は、検索プログラム324、検索スクリプト325、画像入力装置管理プログラム326、スキャンジョブ生成プログラム327、スキャンスクリプト328及び画像受信プログラム329を含む。これらのプログラムの機能については、後に図4等を参照した説明の際に併せて説明する。
【0033】
ネットワークI/F307は、インターネット107及び無線通信網106(図3に不図示)を介して情報処理装置101に接続されている。これにより、サーバ装置103は、情報処理装置101及びローカルネットワーク104を介して画像入力装置102との間で間接的に通信を行うことができる。なお、ネットワークI/F307は、インターネット107、ゲートウェイ装置105及びローカルネットワーク104を介して、画像入力装置102との間で通信を行うことができる。
【0034】
[スキャン処理のシーケンス]
図4は、図1の画像入力システムにおけるスキャン処理のシーケンス図であり、画像入力システムを構成する各装置がどのようなシステム環境下で一連のスキャン処理を行っているかを示している。なお、情報処理装置101のウェブブラウザ133がローカルネットワーク104を介して画像入力装置102にアクセス可能な環境が既に整っているものとする。
【0035】
最初に、ユーザは、情報処理装置101の操作部121を操作し、ウェブブラウザ133を起動する(ステップS200)。ウェブブラウザ133はサーバ装置103の画像入力サービスを起動、利用するために、サーバ装置103のURLにアクセスし(ステップS201)、画像入力サービスURLにログインする。ログインに成功すると、画像入力装置を検索するための検索スクリプト325が、サーバ装置103から情報処理装置101のウェブブラウザ133にダウンロードされる(ステップS202)。ダウンロードされた検索スクリプト325は、ウェブブラウザ133上で実行され、同時に、図8に示されるような、使用可能な画像入力装置を検索中である旨の画面(ユーザインタフェース)が表示部120に表示される(ステップS203,S204)。なお、図8の詳細については、後に説明する。
【0036】
ステップS204で検索スクリプト325が実行されると、情報処理装置101からサーバ装置103に対して検索要求が行われる(ステップS205)。なお、不図示であるが、検索スクリプト325が実行されている間は、情報処理装置101は、定期的にサーバ装置103にHTMLファイルの更新メッセージを送信し、サーバ装置103は更新したHTMLファイルを情報処理装置101へ送信する。これによりウェブブラウザ133上でHTMLファイルが更新され、その表示内容からユーザはサーバ装置103の状態の変化を知ることができる。
【0037】
サーバ装置103は、検索要求を受信すると、検索プロトコルを生成すると共に(ステップS206)、検索プログラム324により情報処理装置101に検索メッセージを送信する(ステップS207)。情報処理装置101で実行されている検索スクリプト325は、受信した検索メッセージをローカルネットワーク104にネットワークパケットのIPヘッダ変換処理等の転送手段を用いて、ブロードキャストで画像入力装置に送信する(ステップS208)。ステップS208では、ブロードキャストの検索プロトコルは、ローカルネットワーク104上に存在する全ての画像入力装置に対して送信されるため、本実施形態では、画像入力装置102a,102bが送信対象となる。検索スクリプト325が行うパケットデータの変換処理の例については、図13を参照して後に説明する。
【0038】
画像入力装置102は、このブロードキャストの検索プロトコルを受信することで起動する(ステップS209)。画像入力装置102は、検索プロトコルに対応する装置であるか否かを判断し、その判断結果を示すレスポンスをブロードキャスト送信元の情報処理装置101へ送信する(ステップS210)。なお、ステップS210では、ローカルネットワーク104上に存在する全ての画像入力装置がレスポンスを返す。以下の説明では、画像入力装置102a,102bが共に、対応する装置であることを示すレスポンスを返したものとする。
【0039】
ステップS210では、情報処理装置101は、ブロードキャスト送信で発見された画像入力装置102から画像入力装置102のハードウェア情報221を取得する。このような画像入力装置の検索処理におけるブロードキャスト送信の方法は特に限定されるものではない。ブロードキャスト送信には、例えば、SSDP(Simple Service Discovery Protocol)やWSD(Web Services On Devices)で使用されているようなマルチキャスト送信等も含まれる。
【0040】
情報処理装置101内のウェブブラウザ133で動作している検索スクリプト325は、画像入力装置102からのレスポンスを受信すると、レスポンスをレスポンスメッセージに変換し、サーバ装置103へ逐次転送する(ステップS211)。検索スクリプト325が行うレスポンスをレスポンスメッセージに変換する処理の例については、図13を参照して後に説明する。
【0041】
ステップS211の後、サーバ装置103では、画像入力装置管理プログラム326により、情報処理装置101から受信したレスポンスメッセージが解析され、画像入力装置の検索結果に基づいて画像入力装置リストが作成される(ステップS220)。作成された画像入力装置リストの情報処理装置101へのリスト送信が行われる。具体的には、作成された画像入力装置リストは、画像入力装置管理プログラム326により、HTMLファイルに変換、更新され、情報処理装置101に送信される(ステップS221)。これにより、情報処理装置101では、図9に示されるような画像入力装置のリスト表示画面が、ウェブブラウザ133により表示部120に表示される(ステップS222)。なお、図9の詳細については、後に説明する。
【0042】
ユーザがリスト表示画面に示された画像入力装置の中から使用する画像入力装置を選択すると(ステップS223)、ウェブブラウザ133は、その選択結果を選択結果メッセージとしてサーバ装置103へ送信する(ステップS224)。サーバ装置103では、画像入力装置管理プログラム326により、ステップS211で取得済みの画像入力装置の送信能力情報に基づいて、画像情報の送信方法(送信ルート)が判断される(ステップS230)。送信ルートには、選択された画像入力装置が画像情報を、サーバ装置103へ直接送信するルート(以下「ルートA」という)と、情報処理装置101を経由してサーバ装置103へ転送するルート(以下「ルートB」という)とがある。なお、ルートAは、選択された画像入力装置のハードウェア情報221に含まれる送信能力情報に基づき、選択された画像入力装置からサーバ装置103への画像情報の直接送信が可能と判断された場合にのみ用いられる。
【0043】
なお、次のような確認方法を行った結果に基づいてステップS230の判断を行ってもよい。すなわち、サーバ装置103から情報処理装置101のウェブブラウザ133に接続確認スクリプトがダウンロードされる。この接続確認スクリプトが実行されると、接続確認プロトコルをウェブブラウザ133から画像入力装置に送信する。画像入力装置は、受信した接続確認プロトコルに従って、指定されたURLへ指定された送信プロトコルで接続を試みる。画像入力装置は、その接続結果をレスポンスとして情報処理装置101のウェブブラウザ133に返す。レスポンスを受信した情報処理装置101のウェブブラウザ133で動作している接続確認スクリプトにより、レスポンスメッセージがサーバ装置103に転送される。このレスポンスの結果により、サーバ装置103がステップS230の判断を行う。
【0044】
また、次のような確認方法を行った結果に基づいてステップS230の判断を行ってもよい。すなわち、サーバ装置103は、サーバ装置103と情報処理装置101とを結ぶ通信回線が、3G等の携帯電話回線網であるのか、Wi−Fi等の無線LANであるかを確認する。前者の場合には、前述した接続確認スクリプトにより画像入力装置からサーバ装置103へ接続可能かどうかを確認し、可能であればルートAを、不可能であればルートBを用いると判断し、後者の場合はルートBを用いると判断する。これは、携帯電話回線網の場合は、回線が一般的に貧弱であることと、ユーザが支払う通信パケット料金が増加してしまうおそれがあるので、これを回避することを目的としている。
【0045】
ステップS230の後、サーバ装置103はステップS223で選択された画像入力装置に適したスキャンスクリプト328を選択する。こうして選択されたスキャンスクリプト328は、情報処理装置101のウェブブラウザ133にダウンロードされる(ステップS231)。ステップS231では、ステップS230でルートAが選択された場合には、画像入力装置が画像情報を情報処理装置101を経由せずにサーバ装置103に直接送信するためのスクリプトがダウンロードされる。一方、ステップS230でルートBが選択された場合には、画像情報を情報処理装置101を経由してサーバ装置103に転送するためのスクリプトがダウンロードされる。以下、図示は、前者(ルートA)が選択された場合について記している。
【0046】
情報処理装置101では、スキャンスクリプト328が実行されると共に、図10に示されるようなスキャン設定画面が表示部120に表示される(ステップS232,S233)。なお、図10のスキャン設定画面の詳細については、後に説明する。
【0047】
ユーザは、選択した画像入力装置に原稿をセットし(ステップS234)、また、情報処理装置101でスキャン設定の入力を行う(ステップS235)。なお、図示しないが、情報処理装置101は、スキャンスクリプト328が実行されている間は、定期的にサーバ装置103にHTMLファイルの更新メッセージを送信し、サーバ装置103は更新したHTMLファイルを情報処理装置101へ送信する。これによりウェブブラウザ133上でHTMLファイルが更新され、その表示内容からユーザはサーバ装置103の状態の変化を知ることができる。
【0048】
ステップS235で設定された内容は、スキャンスクリプト328によりスキャン設定メッセージとしてサーバ装置103に送信される(ステップS236)。サーバ装置103のスキャンジョブ生成プログラム327は、画像受信設定を行う(ステップS240)。具体的には、スキャンジョブ生成プログラム327は、ステップS236の設定メッセージに基づいて、保存先となるサーバ装置103のURLを特定し、画像入力装置からそのURLへの画像情報の送信を許可する状態にする。このとき、サーバ装置103は、画像の送信元を認証するための一意の認証IDを保持しておく。
【0049】
続いて、サーバ装置103は、ステップS236の設定メッセージに基づいてスキャンジョブを生成する(ステップS241)。そして、サーバ装置103は、生成したスキャンジョブをスキャンジョブメッセージとして情報処理装置101に送信するジョブメッセージ送信を行う(ステップS242)。情報処理装置101は、スキャンスクリプト328により、受信したスキャンジョブメッセージをスキャンジョブコマンドとして選択された画像入力装置へ送信するジョブ送信を行う(ステップS243)。このスキャンジョブコマンドを受信した画像入力装置はスキャン動作を実行し、画像生成を行う(ステップS244)。
【0050】
ステップS244後の処理は、ステップS230の判断結果によって異なる。ルートAが選択されている場合、図4に示されるように、画像入力装置は、生成した画像情報をサーバ装置103の宛先URLへ指定された送信プロトコル(例えば、WebDAV等)で直接送信する(ステップS245)。このとき、画像入力装置がサーバ装置103により認証される必要があるため、送信するデータには認証ID等の認証に必要な情報が含まれている。
【0051】
一方、ルートBを用いる場合には、不図示であるが、情報処理装置101で実行されているスキャンスクリプト328が、一旦、画像入力装置からの画像情報を受信する。そして、スキャンスクリプト328は、データ内容をそのままにネットワークパケットのIPヘッダ変換処理等の転送手段を用いて、サーバ装置103に送信する。
【0052】
サーバ装置103では、画像受信プログラム329が、ステップS240で保持していた認証ID等の認証用の情報を使用して画像送信元の画像入力装置の認証を行い、認証が成功した場合に、画像情報を受信する。そして、受信した画像情報に適切な画像変換処理を行い、最終的な画像情報を保存する処理を行う(ステップS246)。こうして画像情報が保存されると、サーバ装置103は、送信元の画像入力装置に送信結果をレスポンスとして返信し(ステップS247)、画像入力装置は、このレスポンスを受けて、終了処理を行う(ステップS248)。
【0053】
スキャンジョブが実行されるステップS242以降、情報処理装置101のウェブブラウザ133は定期的にサーバ装置103にHTMLファイルの更新メッセージを送信することで、サーバ装置103のステータス確認を行っている。サーバ装置103の状態が変化するとHTMLファイルが更新されるので、情報処理装置101の操作部121には、図11に示されるような、スキャン処理の進行状況を示す画面が表示される。なお、図11の画面の詳細については、後に説明する。
【0054】
ステップS246の画像保存処理が終了すると、サーバ装置103は、情報処理装置101によるステータス確認のためのHTMLファイルの更新メッセージ(ステップS249)に対して、HTMLファイルを更新する(ステップS250)。これにより、情報処理装置101のウェブブラウザ133は、図12に示されるようなスキャン処理の終了通知画面を表示部120に表示する(ステップS251)。なお、図12の画面の詳細については、後に説明する。
【0055】
ユーザは、操作部121にスキャン終了通知の画面が表示されると、スキャン作業が終了した原稿を画像入力装置に取りに行き(ステップS252)、これによりスキャン処理シーケンスは終了する。以上のスキャン処理シーケンスにより、原稿をスキャンして得られた画像情報がサーバ装置103に格納される。
【0056】
[情報処理装置101での処理フロー]
図5は、画像入力システムでのスキャン処理における、情報処理装置101での処理の一例を示すフローチャートであり、情報処理装置101のOS131及びウェブブラウザ133による処理の一例を示している。図5に示される各処理は、CPU111がROM113に記憶されているプログラムをRAM112のワークエリアに展開し、実行することにより、情報処理装置101を構成する各部の機能を制御することで実現される。
【0057】
最初に、CPU111は、ウェブブラウザ133を起動し、ウェブブラウザ133によりサーバ装置103のURLにアクセスする(ステップS300)。そして、CPU111は、サーバ装置103のウェブサービスライブラリ322によりホストされているウェブページにログインリクエスト(メッセージ)を送信してログインを試み、ログインが成功したか否かを判断する(ステップS301)。
【0058】
ログインに失敗した場合(S301で“NO”)、CPU111は、ウェブブラウザ133に「画像入力装置の準備ができません。」というエラー表示を行い(ステップS320)、その後、処理を終了させる。ログインに成功した場合(S301で“YES”)、CPU111は、画像入力装置を検索するための検索スクリプト325をインターネット107経由でサーバ装置103からダウンロードし、ウェブブラウザ133上で実行する(ステップS302)。
【0059】
図5には不図示であるが、検索スクリプト325が実行されると、情報処理装置101からサーバ装置103に検索要求のメッセージが送信され、情報処理装置101は、そのレスポンスとして検索メッセージを受信する。CPU111は、検索スクリプト325により、検索メッセージに係るネットワークパケットのIPヘッダを変換し、ローカルネットワーク104に接続されている画像入力装置へのブロードキャスト送信を行う。この検索処理でのブロードキャスト送信は、SSDPやWSDで使用されているようなマルチキャスト送信等で行ってもよい。CPU111は、検索スクリプト325により、ブロードキャスト送信によって画像入力装置が返すレスポンスに対し、ネットワークパケットのIPヘッダを変換し、レスポンスメッセージとしてサーバ装置103へ転送する。また、CPU111は、検索スクリプト325により、ブロードキャスト送信で発見された画像入力装置のハードウェア情報221を取得する。
【0060】
CPU111は、検索スクリプト325による処理を実行している間、図4のステップS205で説明した通り、定期的にサーバ装置103にHTMLファイルの更新メッセージを送信し、更新されたHTMLファイルを受信する。よって、CPU111は、ウェブブラウザ133により、画像入力装置の検索中を示す画面(ユーザインタフェース;UI)を表示部120に表示する(ステップS303)。図8は、ステップS303で表示部120に表示される、使用可能な画像入力装置を検索中である旨の画面(検索UI)の例である。
【0061】
画面600の表示は、CPU111が、RAM112で実行されているウェブブラウザ133上で検索スクリプト325が実行されている状況で、サーバ装置103から更新を受けたHTMLファイルを表示することによって実現される。ユーザが画面600に表示されている中止ボタン601が押下した場合、CPU111は、検索スクリプト325により、中止メッセージをサーバ装置103に送信する。これにより、検索処理は中止される。
【0062】
サーバ装置103からのHTMLファイル更新により、CPU111は、検索スクリプト325により、サーバ装置103による画像入力装置の検索処理が終了しているか否かを判断する(ステップS304)。ここで、中止ボタン601の押下によるキャンセル等が発生がした場合(S304で“キャンセル”)、CPU111は処理をステップS320に進める。ステップS320の処理については、既に説明しているので、ここでの説明を省略する。
【0063】
画像入力装置の検索処理が終了していない場合(S304で“NO”)、CPU111は処理をステップS303に戻す。サーバ装置103において画像入力装置の検索処理が終了すると、サーバ装置103では、画像入力装置管理プログラム326により、画像入力装置を選択するためのHTMLファイルが作成されている。そこで、画像入力装置の検索処理が終了した場合(S304で“YES”)、CPU111は、サーバ装置103から像入力装置を選択するためのHTMLファイルを受信する。そして、CPU111は、ウェブブラウザ133により、使用する画像入力装置を選択するための画面を表示部120に表示する(ステップS305)。図9は、ステップS305で表示部120に表示される、画像入力装置の選択のためのリスト表示画面の例である。
【0064】
リスト表示画面700には、画像入力装置の検索処理で発見された画像入力装置を示すリストボタン701が表示される。本実施形態では、画像入力装置102a,102bにそれぞれ対応するリストボタン701が表示されている。ユーザがリストボタン701の中から使用する画像入力装置を選択した後、選択ボタン702を押下すると、CPU111は、検索スクリプト325により、選択結果メッセージをサーバ装置103に送信する(ステップS306)。この選択結果メッセージを受信したサーバ装置103は、選択された画像入力装置に対応したスキャンスクリプト328を準備する。
【0065】
なお、ユーザがリスト表示画面700に表示されている再検索ボタン703を押下すると、CPU111は、検索スクリプト325を再実行する。これにより、検索スクリプト325は、再度、画像入力装置の検索要求をメッセージとしてサーバ装置103に送信する。こうして、ステップS303〜S305(図4のステップS206〜S222)が再実行され、リスト表示画面700におけるリストボタン701の表示が更新される。
【0066】
ステップS306において使用する画像入力装置が選択されると、CPU111は、サーバ装置103から対応するスキャンスクリプト328をダウンロードし、ウェブブラウザ133で実行する(ステップS307)。なお、ダウンロードされるスキャンスクリプト328は、ステップS302〜S304で取得済みの画像入力装置のハードウェア情報221に基づいて決定される。例えば、選択された画像入力装置がサーバ装置103への送信能力を持つ場合、スキャンされた画像情報を情報処理装置101を経由せずにサーバ装置103へ直接送信するスキャンスクリプト328がダウンロードされる。
【0067】
CPU111がステップS307においてスキャンスクリプト328を実行することにより、図10に示されるような、スキャン設定を行うためのスキャン設定画面が表示部120に表示される(ステップS308)。図10は、ステップS308で表示部120に表示される、スキャン設定画面の例である。
【0068】
スキャン設定画面800は、スキャンした画像情報の保存先を指定するためのウェブサービス選択ドロップダウンコンボボックス801を有している。画像情報の保存先指定方法としては、保存先を識別することができるURLを直接入力する方法や、Webから画像情報保存機能を持つサービスを検索する方法、或いは、履歴から所望の保存先を選択する方法等がある。
【0069】
スキャン設定画面800に表示されている画像タイプドロップダウンコンボボックス802は、スキャン時のカラーモードを指定するものであり、白黒やカラー、グレースケール等の指定を行うことができるようになっている。また、解像度ドロップダウンコンボボックス803は、スキャン時の解像度を指定するためのものであり、解像度の指定方法としては、リストで表示されるものから所望の解像度を選択する方法や、ユーザが値を直接入力する方法等が用いられる。画像サイズドロップダウンコンボボックス804は、スキャン時の画像サイズを指定するためのものである。画像サイズの指定方法としては、例えば、A4、Legal等の定型サイズを指定して設定する方法や、サイズを検知センサで自動判別して設定する自動指定方法等を用いることができる。
【0070】
各種コンボボックスでのスキャン設定にしたがうスキャン処理は、スキャンボタン806の押下によって開始される。すなわち、スキャンボタン806が押下されると、CPU111は、スキャンスクリプト328により、スキャンボタン806の押下時における各種コンボボックスでの設定内容をスキャン設定メッセージとしてサーバ装置103に送信する。
【0071】
スキャン設定画面800に表示されている詳細ボタン805が押下されると、スキャン設定を追加で更に詳細に行うためのオプション画面(不図示)が表示される。このオプション画面は、例えば、CPU111が、スキャンスクリプト328により、スキャン設定画面用のHTMLファイルを更新することで表示部120に表示する。オプション画面で、ユーザが設定内容を更新し、更新した設定を保存するためのボタンを押下すると、表示はスキャン設定画面800に戻る。このように、CPU111は、スキャンスクリプト328により、ウェブブラウザ133上の表示を制御する。
【0072】
スキャン設定画面800は、ユーザにスキャン設定とスキャン処理のスタートを促す。スキャン設定が行われてスキャンボタン806が押下されると(ステップS309)、CPU111は、スキャンスクリプト328により、作成したスキャン設定メッセージをサーバ装置103に送信する(ステップS310)。次に、CPU111は、サーバ装置103から送信されてくるスキャンジョブメッセージをローカルネットワーク104を介してステップS306にて選択された画像入力装置に転送する(ステップS311)。このスキャンジョブメッセージにより、画像入力装置に対してスキャン処理と画像情報の送信処理の実行が指示される。
【0073】
送信処理の指示では、画像情報を上述のルートAで送信する場合、画像入力装置が情報処理装置101を経由せずにサーバ装置103と直接やり取りする指示がなされる。このときスキャンジョブメッセージに含まれる情報は、解像度や用紙サイズ等のスキャン処理に必要な入力情報、画像情報の宛先URL、送信プロトコル(WebDAV等)、送信時の認証で使用される認証ID等である。画像入力装置は、これらの情報を用いて、サーバ装置103に対して直接接続による画像情報の送信を行う。
【0074】
一方、画像情報を上述のルートBで送信する場合、不図示であるが、画像情報が情報処理装置101を経由してサーバ装置103に転送する指示がなされる。この場合には、CPU111が、画像入力装置から返信されたレスポンスをサーバ装置103に転送することを繰り返すことで、結果としてレスポンスに含まれた画像情報がサーバ装置103に転送される。以下、図5のフローチャートにおいて、ステップS312以降には、ルートAを用いた場合の処理が記載されている。
【0075】
スキャン処理や画像情報の送信が行われているときに、CPU111は、サーバ装置103にHTMLファイルの更新メッセージを定期的に送信する(ステップS312)。サーバ装置103の状態が変化するとHTMLファイルが更新されるので、ステップS312により、CPU111は、更新されたHTMLファイルに基づいてウェブブラウザ133で処理状況を表示部120に表示する。図11は、ステップS312で表示部120に表示される、スキャン処理の進行状況を通知する画面の例である。
【0076】
進行状況の通知画面900は、図10のスキャン設定画面でスキャンボタン806が押下されることで、表示部120に表示される。通知画面900は、画像入力装置でのスキャン動作(ステップS244)の開始時からスキャンされた画像情報がサーバ装置103に保存されるまでの間、CPU111が、ウェブブラウザ133上で実行しているスキャンスクリプト328により表示される。
【0077】
通知画面900内の中止ボタン901は、実行されているスキャン処理を中止するためのボタンである。中止ボタン901が押下されると、CPU111は、スキャンスクリプト328により、スキャン中止メッセージをサーバ装置103に送信する。これにより、サーバ装置103から中止内容を含んだスキャンジョブメッセージがステップS242と同様に情報処理装置101に送信され、更に一連のジョブ中止コマンドがステップS243と同様に画像入力装置に送信される。
【0078】
通知画面900内のスキャン処理進行インジケーター902は、ステップS244(図4参照)のスキャン処理での進行状況を逐次表示するものであり、CPU111がスキャンスクリプト328により通知画面900を更新することにより更新表示される。なお、ステップS245(図4参照)での画像情報送信処理についても、その進行状況が図11の通知画面に準じた画面によりユーザに通知される。
【0079】
ステップS312の後、CPU111は、画像情報の保存処理(図4のステップS246)が終了したか、又は、一定期間に対する画像情報受信がタイムアウトしたかを判断する(ステップS313)。画像情報の保存処理が終了しておらず、タイムアウトもしていない場合(S313で“NO”)、CPU111は、処理をステップS312に戻す。画像情報の保存処理が終了していないが、タイムアウトした場合(S313で“エラー”)、CPU111は、エラーを示すHTMLファイルをサーバ装置103から受信する。これにより、CPU111は、ウェブブラウザ133により操作部121に「スキャン処理に失敗しました。」の表示を行い(ステップS321)、その後、処理を終了させる。なお、通知画面900内の中止ボタン901が押下された場合は、CPU111は、このエラー処理に準じた処理を実行する。
【0080】
タイムアウトせずに画像情報の保存処理が正常に終了した場合(S313で“YES”)、CPU111は、ウェブブラウザ133により、図12のようなスキャン処理の終了通知の画面を表示部120に表示する(ステップS314)。図12は、ステップS314で表示部120に表示される、スキャン処理の終了通知画面の例である。
【0081】
スキャン処理の終了通知画面1000は、以下のようにして表示される。すなわち、サーバ装置103による画像情報の受信が終了すると、サーバ装置103で画像受信プログラム329が、受信した画像情報から情報処理装置101で表示できる縮小画像を含んだHTMLファイルを作成する。そして、サーバ装置103は、作成したHTMLファイルを情報処理装置101へ送信する。CPU111は、受信したHTMLファイルに基づいてウェブブラウザ133により操作部121に終了通知画面1000を表示する。これにより、ユーザにスキャン処理が正常に完了したことが伝えられる。
【0082】
終了通知画面1000には、最終的にサーバ装置に保存されたスキャン画像の内容をユーザに伝えるために、HTMLファイルに含まれる縮小画像に基づく縮小画像表示領域1003が表示される。ユーザが終了通知画面1000内の閉じるボタン1001を押下すると、CPU111は、ウェブブラウザ133上で実行されているスキャンスクリプト328を終了させ、これにより終了通知画面1000は閉じられる。こうして、情報処理装置101での一連の処理が終了する。なお、続けてスキャンボタン1002をユーザが押下すると、CPU111は、図9に示したスキャン設定画面800の表示(図4のステップS231)に処理を戻す。
【0083】
[サーバ装置103における処理フロー]
図6は、画像入力システムでのスキャン処理における、サーバ装置103での処理の一例を示すフローチャートである。図6に示される各処理は、CPU301がROM303に記憶されているプログラムをRAM302のワークエリアに展開し、実行することにより、サーバ装置103を構成する各部の機能を制御することで実現される。
【0084】
最初に、サーバ装置103のCPU301は、情報処理装置101からログインリクエストを受信した否かを判断し(ステップS400)、ログインリクエストが送信されてくるまで待機する(S400で“NO”)。ログインリクエストを受信し、ログインを許可する場合(S400で“YES”)、CPU301は、検索スクリプト325を情報処理装置101に送信する(ステップS401)。
【0085】
情報処理装置101のウェブブラウザ133上で検索スクリプト325が実行されると、情報処理装置101からサーバ装置103へ検索要求が送信される。そこで、CPU301は、情報処理装置101から検索要求を受信したか否かを判断する(ステップS402)。一定時間が経過しても検索要求を受信しない場合(S402で“NO”)、CPU301は、処理をステップS420へ進める。
【0086】
ステップS420の処理では、情報処理装置101で実行されている検索スクリプト325が定期的にサーバ装置103にHTMLファイルの更新メッセージを送信してくることを利用する。具体的には、このHTMLファイルの更新メッセージのレスポンスとして、CPU301は、検索プログラム324により、「画像入力装置の準備ができません。」等のスキャン処理環境を作成できない内容のメッセージを含んだHTMLファイルを作成する。こうして作成されたHTMLファイルが情報処理装置101に送信されると、情報処理装置101のウェブブラウザ133により、同内容が表示部120に表示される。CPU301は、ステップS420の終了後、処理を終了させる。
【0087】
検索要求を受信した場合(S402で“YES”)、CPU301は、検索プログラム324により、検索メッセージを情報処理装置101に送信し、一定期間、レスポンスを受信して解析する(ステップS403)。レスポンスの受信が終了したか又は一定期間が経過すると、CPU301は、検索プログラム324により検索結果を受信したか否かを確認する(ステップS404)。
【0088】
一定期間内に検索結果を受信しなかった場合(S404で“NO”)、CPU301は、処理をステップS420へ進める。ステップS420については、既に説明済みであるので、ここでの説明を省略する。一定期間内に検索結果を受信した場合(S404で“YES”)、CPU301は、画像入力装置管理プログラム326を起動する(ステップS405)。具体的には、CPU301は、画像入力装置管理プログラム326により、画像入力装置を選択するためのリスト表示画面用のHTMLファイルを作成、更新し、情報処理装置101のウェブブラウザ133へ送信する。CPU301は、情報処理装置101においてウェブブラウザ133により表示された画像入力装置のリスト表示画面からのユーザによるレスポンスを、一定期間、ポーリング動作により受信する。
【0089】
CPU301は、画像入力装置管理プログラム326により、情報処理装置101から画像入力装置の選択結果メッセージ(図4のステップS224参照)を受信したか否かを確認する(ステップS406)。ユーザによる画像入力装置の選択が行われない等の理由により、一定期間が過ぎても選択結果メッセージを受信しない場合(S406で“NO”)、CPU301は、処理をステップS420に進める。ステップS420については、既に説明済みであるので、ここでの説明を省略する。選択結果メッセージを受信した場合(S406で“YES”)、CPU301は、選択された画像入力装置について、ステップS403で取得した画像入力装置の送信能力情報等に基づいて、画像情報の送信方法を判断する(ステップS407)。
【0090】
画像情報の送信方法としては、図4を参照して説明したルートA及びルートBとがある。選択された画像入力装置がサーバ装置103へ画像情報を直接送信する能力がある場合には、その送信能力の送信プロトコルによる直接送信を行うものと判断され、ルートAが選択される。一方、選択された画像入力装置がサーバ装置103へ画像情報を直接送信する能力を持たない場合は、情報処理装置101を経由して画像情報をサーバ装置103へ転送するルートBが選択される。
【0091】
なお、ステップS407の判断手法は、図4のステップS230の判断手法と同等である。よって、ステップS230の判断手法として、既に説明した別の判断手法をステップS407においても用いることができる。これら別の判断手法については、ここでの説明を省略する。
【0092】
ステップS407の後、CPU301は、画像入力装置管理プログラム326により、ステップS407の判断結果に基づいて、選択された画像入力装置に適したスキャンスクリプト328の検索を行う。更に、CPU301は、検索されたスキャンスクリプト328を情報処理装置101内のウェブブラウザ133へ送信する(ステップS408)。
【0093】
なお、検索されたスキャンスクリプト328は、ステップS407でルートAを用いると判断された場合には、画像情報を選択された画像入力装置からサーバ装置103へと情報処理装置101を経由せずに直接送信するためのスクリプトになる。一方、図6に不図示であるが、ステップS407でルートBを用いると判断された場合、検索されたスキャンスクリプト328は、画像情報を選択された画像入力装置から情報処理装置101を経由してサーバ装置103へ転送するためのスクリプトになる。
【0094】
画像情報の送信方法には、選択された画像入力装置が実行可能なWebDAV等の送信プロトコルでサーバ装置103への直接送信する方法がある。また、情報処理装置101がWSDのようなWebサービスプロトコルで選択された画像入力装置に対して指示を行う際の画像情報の受信先をサーバ装置103の保存先URLに変換しておくことで、情報処理装置101を経由せずに画像情報を送信する方法がある。
【0095】
以下、ルートAを用いると判断されたものとする。この場合、CPU301は、画像入力装置管理プログラム326により、スキャン設定メッセージ(図4のステップS220参照)を受信したか否かを確認する(ステップS409)。一定期間内にスキャン設定メッセージ受信しなかった場合(S409で“NO”)、CPU301は、処理をステップS420へ進める。ステップS420については、既に説明済みであるので、ここでの説明を省略する。一定期間内にスキャン設定メッセージを受信した場合(S409で“YES”)、CPU301は、処理をステップS410へ進める。
【0096】
ステップS410において、CPU301は、スキャン設定メッセージから宛先URLを取得し、取得した宛先URLに対して画像入力装置からの画像情報受信を許可する設定を行う(ステップS410)。このとき、CPU301は、画像情報の送信元となる画像入力装置を認証するための一意の認証IDを生成し、保持しておく。続いて、CPU301は、スキャンジョブ生成プログラム327を起動し、スキャン設定メッセージに従ったスキャンジョブを作成し、情報処理装置101のウェブブラウザ133へ送信する(ステップS411)。このスキャンジョブには、スキャン処理及び送信処理の手続き並びに各処理に必要な情報、例えば、スキャン設定、宛先URL、送信プロトコル、認証ID等が含まれる。
【0097】
次に、CPU301は、画像受信プログラム329を起動し、画像情報の受信要求を受けたか否かを確認する(ステップS412)。一定期間内に画像情報の受信要求を受けなかった場合(S421で“NO(タイムアウト)”)、CPU301は、処理をステップS421へ進める。
【0098】
ステップS421では、情報処理装置101で実行されている検索スクリプト325が定期的にサーバ装置103にHTMLファイルの更新メッセージを送信することを利用する。すなわち、このHTMLファイル更新メッセージのレスポンスとして、CPU301は、画像受信プログラム329により、「スキャン実行エラー」等のスキャン実行処理環境を作成することができない内容のメッセージを含むHTMLファイルを作成する。こうして作成されたHTMLファイルが情報処理装置101に送信されることで、情報処理装置101のウェブブラウザ133により同内容が表示部120に表示される。CPU301は、ステップS421の終了後、処理を終了させる。
【0099】
画像情報の受信要求を受けた場合(S412で“YES”)、CPU301は、画像受信プログラム329により、ステップS410で生成し、保持している認証IDにより送信元の認証を行う(ステップS413)。認証が成功すると、CPU301は、画像入力装置から画像情報を受信し、受信した画像情報から最終的な画像情報を作成、保存し、受信結果を送信元である画像入力装置へレスポンスとして返す。そして、CPU301は、情報処理装置101で表示可能な縮小画像を含んだHTMLファイルを作成する(ステップS414)。以上で、サーバ装置103でのスキャン処理及び送信処理は終了する。
【0100】
なお、CPU301は、スキャン処理と送信処理が行われている間は、定期的に情報処理装置101のウェブブラウザ133からHTMLファイルの更新メッセージを受信し、サーバ装置103は更新したHTMLファイルを情報処理装置101へ送信する。これによりウェブブラウザ133上でHTMLファイルが更新され、その表示内容からユーザはサーバ装置103の状態の変化を知ることができる。既に説明した通り、情報処理装置101のCPU111は、ウェブブラウザ133によりスキャン処理と送信処理の完了を確認する。更に、CPU111は、ウェブブラウザ133により、スキャン処理と送信処理が完了した旨と最終的な画像情報の内容をユーザに伝える終了通知画面1000(図12参照)を表示する。
【0101】
また、サーバ装置103では、上記実施形態に限られず、次のような処理を行うようにしてもよい。例えば、ステップS409で受信するスキャン設定メッセージには、解像度やカラーモード、用紙サイズ、枚数等の情報等の画像情報の生成条件が含まれる。そこで、スキャン設定メッセージの内容を解析して、選択された画像入力装置で生成される画像情報量を計算し、その画像情報量によりステップS407の送信方法を決定するようにしてもよい。
【0102】
この場合、CPU301は、画像情報量の基準値を予め設けておき、処理する画像情報量がこの基準値以上の場合、画像入力装置がサーバ装置103へ画像情報を直接送信するように送信方法を決定する。一方、CPU301は、処理する画像情報量が基準値未満の場合、画像入力装置が情報処理装置101を経由してサーバ装置103へ画像情報を送信するように送信方法を決定する。
【0103】
[画像入力装置102における処理フロー]
図7は、画像入力システムでのスキャン処理における、画像入力装置102での処理の一例を示すフローチャートである。画像入力装置102のCPU202は、ローカルネットワーク104を介して外部からネットワークI/F205にアクセスが到着したか否かを判断し(ステップS500)、ネットワークアクセスが到着するまで待機する(S500で“NO”)。ネットワークアクセスが到着すると(S500で“YES”)、CPU202は、ネットワークアクセスの内容が検索コマンドであるか否かを確認する(ステップS501)。
【0104】
検索コマンドである場合(S501で“YES”)、CPU202は、外部メモリ220に保存してあるハードウェア情報221を参照し、情報処理装置101にレスポンスを送信する(図4のステップS210参照)。その後、CPU202は、処理をステップS500に戻して、次のネットワークアクセスが到着するまで待機する。検索コマンドではない場合(S501で“NO”)、CPU202は、情報処理装置101からスキャンジョブが送信されて来たか否かを確認する(ステップS503)。
【0105】
スキャンジョブが到着しない場合(S503で“NO”)、CPU202は、処理をステップS500に戻す。スキャンジョブが到着した場合(S503で“YES”)、CPU202は、情報処理装置101から送信されたスキャンジョブに従ってスキャンジョブ(図4のステップS244参照)のスキャン動作を行い、画像情報を作成する(ステップS504)。
【0106】
その後、CPU202は、図4のS230(=図6のS407)の判断結果に従って、画像情報の送信を行う(ステップS504)。ルートAで画像情報を送信する場合、CPU202は、情報処理装置101により指示されたサーバ装置103の宛先URLへ、指示された送信プロトコルで接続を行い、スキャンジョブに含まれている認証IDで認証処理を行う。そして、認証が成功した場合にスキャンされた画像情報の送信を行う。
【0107】
一方、ルートBで画像情報を送信する場合、CPU202は、画像情報を情報処理装置101で実行されているスキャンスクリプト328へ送信する。情報処理装置101では、CPU111がスキャンスクリプト328により、画像情報の内容をそのままにネットワークパケットのIPヘッダ変換処理等の転送手段を用い、サーバ装置103に転送する。
【0108】
ルートAで画像情報を送信する場合について、以下に説明を続ける。CPU202は、サーバ装置103からのレスポンスに応じて、画像情報の送信が終了したか否かを終了コマンドを受信したか否かにより確認する(ステップS506)。一定期間内に終了コマンドを受信しなかった場合(S506で“NO”)、CPU202は、タイムアウトとみなしてエラー処理を行う(ステップS507)。一定期間内に終了コマンドを受信した場合(S506で“YES”)、CPU202はスキャン処理を終了させる。
【0109】
[スクリプトによるデータ送受信の概要]
図13は、サーバ装置103の外部メモリ320に格納されている検索スクリプト325とスキャンスクリプト328がそれぞれ、情報処理装置101内のウェブブラウザ133で実行されたときのデータ送受信の内容と処理の一例を示す概要図である。本実施形態に係る画像入力システムにおいて、サーバ装置103のネットワークI/F307でインターネット107に接続しているアドレスを“S”とする。情報処理装置101の第1の通信I/F114により接続されている無線通信網106のネットワークアドレスを“TI”とする。また、情報処理装置101の第2の通信I/F119がローカルネットワーク104に接続する場合のネットワークアドレスを“TL”とする。更に、画像情報の生成と送信を行う画像入力装置として画像入力装置102aが選択されるものとして、画像入力装置102aのネットワークI/F205でローカルネットワーク104に接続する場合のネットワークアドレスを“D”とする。
【0110】
パケットデータ1101は、図4のステップS207において、サーバ装置103から情報処理装置101のウェブブラウザ133上で動作している検索スクリプト(以下「情報処理装置101上の検索スクリプト」と記す)325へ検索メッセージとして送信されるパケットデータの一例である。サーバ装置103は、ローカルネットワーク104で送信される形式で、ヘッダと検索コマンド等を含むペイロードとからなるデータ構造のパケットデータ1101を作成する。そして、サーバ装置103は、パケットデータ1101が内包されるように、サーバ装置103のネットワークアドレス“S”から情報処理装置101のネットワークアドレス“TI”へ送信するパケットデータを生成する。
【0111】
パケットデータ1101を含むパケットデータを受信した情報処理装置101上の検索スクリプト325は、内包されているパケットデータ1101だけを取り出し、パケットデータ1101をパケットデータ1102として、ローカルネットワーク104に転送する。この場合のパケットデータ1102の宛先は“BC”となっており、ブロードキャストを行うものとする。このような情報処理装置101上の検索スクリプト325によるパケットデータからのデータの取り出し処理により、図4を参照して説明したステップS208の検索プロトコルのブロードキャストが実現される。
【0112】
画像入力装置102aが検索コマンドに応答してレスポンスを返す場合のパケットデータ1103は、画像入力装置102aのアドレス“D”から情報処理装置101のローカルネットワーク104上のアドレス“TL”へ送信するヘッダを有する。また、パケットデータ1103のペイロードには、ハードウェア情報221を含んだレスポンス情報等が含まれる。
【0113】
パケットデータ1103を受信した情報処理装置101上の検索スクリプト325は、パケットデータ1103を内包したパケットデータ1104を生成する。そして、情報処理装置101上の検索スクリプト325は、パケットデータ1104をサーバ装置103へ無線通信網106を経由するネットワークアドレス“TI”からサーバ装置103に転送する。これにより、サーバ装置103は、情報処理装置101のローカルネットワーク104上でのネットワークアドレス“TL”と、検索に応答した画像入力装置102aのネットワークアドレス“D”を情報として取得することができる。
【0114】
パケットデータ1105は、図4のステップS242で用いられるスキャンジョブメッセージの一例である。パケットデータ1105はパケットデータ1101と同様のデータデータ構造を有している。すなわち、サーバ装置103は、ヘッダとスキャンコマンド等を含むペイロードとからなるデータ構造のパケットデータ1105を作成する。そして、サーバ装置103は、パケットデータ1105を内包するように、ネットワークアドレス“S”から情報処理装置101のネットワークアドレス“TI”に送信するパケットデータを生成する。
【0115】
パケットデータ1105を内包するパケットデータを受信した情報処理装置101のウェブブラウザ133上で動作しているスキャンスクリプト(以下「情報処理装置101上のスキャンスクリプト」と記す)328は、パケットデータ1105だけを取り出す。そして、情報処理装置101上のスキャンスクリプト328は、取り出したパケットデータ1105をパケットデータ1106として、ローカルネットワーク104に転送する。
【0116】
サーバ装置103は、パケットデータ1104等から得られた、ローカルネットワーク104上でのネットワークアドレス“TL”と検索に応答した画像入力装置102aのネットワークアドレス“D”の情報を利用し、パケットデータ1105を生成している。そのため、情報処理装置101上のスキャンスクリプト328は、内包されているパケットデータ部を機械的に取り出すだけで、容易にローカルネットワーク104に送信可能なパケットデータを生成することができる。
【0117】
画像入力装置102aは、スキャンコマンドに従ってスキャン動作を行い、画像情報を生成して、情報処理装置101へ送信するパケットデータ1107を作成する。パケットデータ1107は、画像入力装置102aのアドレス“D”から情報処理装置101のローカルネットワーク104上のアドレス“TL”へ送信するヘッダを有し、ペイロードには画像情報等の情報が含まれる。
【0118】
パケットデータ1107を受信した情報処理装置101上のスキャンスクリプト328は、パケットデータ1107を内包したパケットデータ1108を生成する。そして、情報処理装置101上のスキャンスクリプト328は、パケットデータ1108をネットワークアドレス“TI”からサーバ装置103へ、無線通信網106及びインターネット107を介して転送する。
【0119】
なお、スキャンコマンドの指定により、画像情報が分割された形でパケットデータ1107が生成される。スキャンスクリプト328は複数回送られてくるパケットデータ1107と同等のパケットを順次処理し、パケットデータ1108と同様のデータ構造としてサーバ装置103に送信する。これにより、スキャンスクリプト328が使用するRAM112の容量が少ない場合でも、十分な対応が可能になる。
【0120】
また、図示と詳細な説明は省略するが、ネットワークポートの制御が必要な場合には、必要に応じてパケットデータの宛先部にネットワークアドレスと併記してネットワークポートの切り替えを記述すればよい。検索スクリプト325とスキャンスクリプト328はそれぞれ、その変換を含めたパケットデータの生成を行うことで、対応が可能になる。
【0121】
更に、本実施形態の検索スクリプト325とスキャンスクリプト328はその他の機能を実行することができる。例えば、スキャンスクリプト328は、図10に示したスキャン設定画面800を表示し、ユーザが設定した情報をメッセージとしてサーバ装置103へ送信する。情報処理装置101上の検索スクリプト325とスキャンスクリプト328は、定期的にサーバ装置103の状況を確認するため、表示の更新を定期的にサーバ装置103に対して行う。サーバ装置103は表示の更新のメッセージをきっかけにして、サーバ装置103でのエラー処理等の通知をメッセージとして情報処理装置101に送信し、検索スクリプト325とスキャンスクリプト328はそのメッセージに対応することができる。
【0122】
以上、本実施形態によれば、情報処理装置101が、携帯電話等のように十分なメモリ容量を持たないために大容量データ転送に不向きな場合であっても、情報処理装置101を経由せずに容量が大きな画像情報を送信することができる。これにより、情報処理装置101が処理する情報量が軽減され、パフォーマンスを向上させ、また、通信負荷を軽減することができる。
【0123】
[その他の実施形態]
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【0124】
例えば、情報処理装置101を介したサーバ装置103と画像入力装置102との間の通信は、情報処理装置101で実行できる方法であれば何でもよい。例えば、ActiveX(登録商標)コントロールやJava(登録商標)script、Java(登録商標)アプレットや各種プラグイン等を用いることができる。但し、サーバ装置103が複数の実行手段の選択肢を持ち、多くの機能を必要としない情報処理装置101を利用することができるという点から、優先順位を持ち、情報処理装置101上で実行する準備を行うことができる通信方法を用いると効率的である。
【0125】
画像入力システムにおける通信には、双方向通信を簡易にかつ効率良く行うために、WebSockets(http://dev.w3.org/html5/WebSockets)等の双方向通信技術を用いることも有効である。WebSockets等の技術を導入した場合、情報処理装置101で実行されている検索スクリプト325やスキャンスクリプト328が定期的にHTMLファイルの更新メッセージをサーバ装置103に送付するような対応は必要なくなる。すなわち、サーバ装置103からのメッセージを情報処理装置101の要求無しに更新することが可能となる。
【0126】
また、送信等の通知はWS−Eventingで定義されるプロトコルや、GENA(General Event Notification Architecture)等を利用することで実現することもできる。本発明に係る画像入力システムでは、情報処理装置101上で動作する検索スクリプト325に適切にハードウェア情報221を伝える手段が別にあり、同様の結果が得られるプロトコルであればいずれのプロトコルであっても運用が可能である。
【0127】
更に、上述した実施形態においては、サーバ装置103でスキャンジョブを生成して、画像入力装置102に送信する方式を採用した。これに限られず、画像入力装置102がスキャンジョブを受け付けることが可能な場合、スキャンジョブチケット等の汎用情報を画像入力装置102に送信する方法を採用してもよい。
【0128】
本発明は以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0129】
101 情報処理装置
102(102a,102b) 画像入力装置
103 サーバ装置
104 ローカルネットワーク
106 無線通信網
107 インターネット
111,202,301 CPU
120 表示部
130,320 外部メモリ
133 ウェブブラウザ
221 ハードウェア情報
325 検索スクリプト
328 スキャンスクリプト
【特許請求の範囲】
【請求項1】
情報処理装置と、前記情報処理装置と無線通信網及びインターネットを介して通信するサーバ装置と、前記情報処理装置とローカルネットワークを介して通信すると共に前記サーバ装置と前記インターネットを介して通信する画像入力装置とを備え、前記画像入力装置で生成した画像情報を前記サーバ装置に保存する画像入力システムであって、
前記サーバ装置は、
前記情報処理装置からの前記画像入力装置を検索する検索要求によって検索された前記画像入力装置の送信能力情報を取得する取得手段と、
前記送信能力情報に基づいて、前記検索された前記画像入力装置の中から画像情報を生成させるために前記情報処理装置において選択された画像入力装置が、前記画像情報を前記サーバ装置へ直接送信することができる場合には前記選択された画像入力装置は前記画像情報を前記サーバ装置へ直接送信し、前記画像情報を前記サーバ装置へ直接送信することができない場合には前記選択された画像入力装置は前記画像情報を前記情報処理装置を経由して前記サーバ装置へ転送するように、送信方法を決定する決定手段と、
前記選択された画像入力装置に前記画像情報の生成及び前記決定手段により決定された送信方法による前記画像情報の送信を実行させるジョブメッセージを前記情報処理装置へ送信するジョブメッセージ送信手段とを有し、
前記情報処理装置は、
前記ジョブメッセージをジョブコマンドとして前記選択された画像入力装置に送信するジョブ送信手段を有し、
前記画像入力装置は、
前記ジョブコマンドに従って、前記画像情報の生成及び前記サーバ装置への送信を行う実行手段を有することを特徴とする画像入力システム。
【請求項2】
前記サーバ装置は、
前記検索された画像入力装置の中から画像情報を生成させるために前記情報処理装置において選択された画像入力装置での前記画像情報の生成条件を解析する解析手段を更に備え、
前記決定手段は、前記生成条件に基づいて前記選択された画像入力装置から送信されてくる前記画像情報の情報量が予め定められた基準値以上であり、且つ、前記選択された画像入力装置が前記送信能力情報に基づき前記画像情報を前記サーバ装置へ直接送信することができる場合には前記選択された画像入力装置は前記画像情報を前記サーバ装置へ直接送信し、前記情報量が前記基準値より小さい場合には前記選択された画像入力装置は前記画像情報を前記情報処理装置を経由して前記サーバ装置へ転送するように、前記画像情報の送信方法を決定することを特徴とする請求項1記載の画像入力システム。
【請求項3】
前記情報処理装置は、
前記サーバ装置の画像入力サービスを起動する起動手段と、
前記画像入力装置を検索するための検索スクリプトを前記サーバ装置からダウンロードして実行し、前記サーバ装置に対して前記検索要求を行う検索要求手段と、
前記検索要求に応じて前記サーバ装置から送信されてくる検索プロトコルを前記ローカルネットワークに転送し、前記検索プロトコルを受信した前記画像入力装置からの前記送信能力情報を含むレスポンスを前記サーバ装置に転送する転送手段と、
前記サーバ装置から送信されてくる、前記レスポンスに基づく前記画像入力装置のリストを表示する表示手段と、
前記リストに表示された前記画像入力装置の中から選択された画像入力装置を使用される画像入力装置として前記サーバ装置に送信する送信手段と、
前記選択された画像入力装置での画像情報の生成条件を設定するためのスキャンスクリプトを前記サーバ装置からダウンロードして実行し、設定された前記画像情報の生成条件を前記サーバ装置に通知する通知手段とを有し、
前記サーバ装置は、
前記情報処理装置から受信した前記画像入力装置のレスポンスに基づいて前記リストを作成し、前記情報処理装置に送信するリスト送信手段を有することを特徴とする請求項1又は2記載の画像入力システム。
【請求項4】
前記情報処理装置は、前記選択された画像入力装置及び前記サーバ装置の状況を表示するユーザインタフェースを有することを特徴とする請求項1乃至3のいずれか1項に記載の画像入力システム。
【請求項5】
情報処理装置と無線通信網及びインターネットを介して通信するとともに、画像入力装置と前記インターネットを介して通信し、前記画像入力装置で生成された画像情報を保存するサーバ装置であって、
前記情報処理装置からの前記画像入力装置を検索する検索要求によって検索された前記画像入力装置の送信能力情報を取得する取得手段と、
前記送信能力情報に基づいて、前記検索された前記画像入力装置の中から画像情報を生成させるために前記情報処理装置において選択された画像入力装置が、前記画像情報を前記サーバ装置へ直接送信することができる場合には前記選択された画像入力装置は前記画像情報を前記サーバ装置へ直接送信し、前記画像情報を前記サーバ装置へ直接送信することができない場合には前記選択された画像入力装置は前記画像情報を前記情報処理装置を経由して前記サーバ装置へ転送するように、送信方法を決定する決定手段と、
前記選択された画像入力装置に前記画像情報の生成及び前記決定手段により決定された送信方法による前記画像情報の送信を実行させるジョブメッセージを前記情報処理装置へ送信するジョブメッセージ送信手段と、を有することを特徴とするサーバ装置。
【請求項6】
情報処理装置と無線通信網及びインターネットを介して通信するとともに、画像入力装置と前記インターネットを介して通信し、前記画像入力装置で生成された画像情報を保存するサーバ装置の制御方法であって、
前記情報処理装置からの前記画像入力装置を検索する検索要求によって検索された前記画像入力装置の送信能力情報を取得する取得ステップと、
前記送信能力情報に基づいて、前記検索された前記画像入力装置の中から画像情報を生成させるために前記情報処理装置において選択された画像入力装置が、前記画像情報を前記サーバ装置へ直接送信することができる場合には前記選択された画像入力装置は前記画像情報を前記サーバ装置へ直接送信し、前記画像情報を前記サーバ装置へ直接送信することができない場合には前記選択された画像入力装置は前記画像情報を前記情報処理装置を経由して前記サーバ装置へ転送するように、送信方法を決定する決定ステップと、
前記選択された画像入力装置に前記画像情報の生成及び前記決定ステップで決定された送信方法による前記画像情報の送信を実行させるジョブメッセージを前記情報処理装置へ送信するジョブメッセージ送信ステップと、を有することを特徴とする制御方法。
【請求項7】
請求項6記載のサーバ装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項1】
情報処理装置と、前記情報処理装置と無線通信網及びインターネットを介して通信するサーバ装置と、前記情報処理装置とローカルネットワークを介して通信すると共に前記サーバ装置と前記インターネットを介して通信する画像入力装置とを備え、前記画像入力装置で生成した画像情報を前記サーバ装置に保存する画像入力システムであって、
前記サーバ装置は、
前記情報処理装置からの前記画像入力装置を検索する検索要求によって検索された前記画像入力装置の送信能力情報を取得する取得手段と、
前記送信能力情報に基づいて、前記検索された前記画像入力装置の中から画像情報を生成させるために前記情報処理装置において選択された画像入力装置が、前記画像情報を前記サーバ装置へ直接送信することができる場合には前記選択された画像入力装置は前記画像情報を前記サーバ装置へ直接送信し、前記画像情報を前記サーバ装置へ直接送信することができない場合には前記選択された画像入力装置は前記画像情報を前記情報処理装置を経由して前記サーバ装置へ転送するように、送信方法を決定する決定手段と、
前記選択された画像入力装置に前記画像情報の生成及び前記決定手段により決定された送信方法による前記画像情報の送信を実行させるジョブメッセージを前記情報処理装置へ送信するジョブメッセージ送信手段とを有し、
前記情報処理装置は、
前記ジョブメッセージをジョブコマンドとして前記選択された画像入力装置に送信するジョブ送信手段を有し、
前記画像入力装置は、
前記ジョブコマンドに従って、前記画像情報の生成及び前記サーバ装置への送信を行う実行手段を有することを特徴とする画像入力システム。
【請求項2】
前記サーバ装置は、
前記検索された画像入力装置の中から画像情報を生成させるために前記情報処理装置において選択された画像入力装置での前記画像情報の生成条件を解析する解析手段を更に備え、
前記決定手段は、前記生成条件に基づいて前記選択された画像入力装置から送信されてくる前記画像情報の情報量が予め定められた基準値以上であり、且つ、前記選択された画像入力装置が前記送信能力情報に基づき前記画像情報を前記サーバ装置へ直接送信することができる場合には前記選択された画像入力装置は前記画像情報を前記サーバ装置へ直接送信し、前記情報量が前記基準値より小さい場合には前記選択された画像入力装置は前記画像情報を前記情報処理装置を経由して前記サーバ装置へ転送するように、前記画像情報の送信方法を決定することを特徴とする請求項1記載の画像入力システム。
【請求項3】
前記情報処理装置は、
前記サーバ装置の画像入力サービスを起動する起動手段と、
前記画像入力装置を検索するための検索スクリプトを前記サーバ装置からダウンロードして実行し、前記サーバ装置に対して前記検索要求を行う検索要求手段と、
前記検索要求に応じて前記サーバ装置から送信されてくる検索プロトコルを前記ローカルネットワークに転送し、前記検索プロトコルを受信した前記画像入力装置からの前記送信能力情報を含むレスポンスを前記サーバ装置に転送する転送手段と、
前記サーバ装置から送信されてくる、前記レスポンスに基づく前記画像入力装置のリストを表示する表示手段と、
前記リストに表示された前記画像入力装置の中から選択された画像入力装置を使用される画像入力装置として前記サーバ装置に送信する送信手段と、
前記選択された画像入力装置での画像情報の生成条件を設定するためのスキャンスクリプトを前記サーバ装置からダウンロードして実行し、設定された前記画像情報の生成条件を前記サーバ装置に通知する通知手段とを有し、
前記サーバ装置は、
前記情報処理装置から受信した前記画像入力装置のレスポンスに基づいて前記リストを作成し、前記情報処理装置に送信するリスト送信手段を有することを特徴とする請求項1又は2記載の画像入力システム。
【請求項4】
前記情報処理装置は、前記選択された画像入力装置及び前記サーバ装置の状況を表示するユーザインタフェースを有することを特徴とする請求項1乃至3のいずれか1項に記載の画像入力システム。
【請求項5】
情報処理装置と無線通信網及びインターネットを介して通信するとともに、画像入力装置と前記インターネットを介して通信し、前記画像入力装置で生成された画像情報を保存するサーバ装置であって、
前記情報処理装置からの前記画像入力装置を検索する検索要求によって検索された前記画像入力装置の送信能力情報を取得する取得手段と、
前記送信能力情報に基づいて、前記検索された前記画像入力装置の中から画像情報を生成させるために前記情報処理装置において選択された画像入力装置が、前記画像情報を前記サーバ装置へ直接送信することができる場合には前記選択された画像入力装置は前記画像情報を前記サーバ装置へ直接送信し、前記画像情報を前記サーバ装置へ直接送信することができない場合には前記選択された画像入力装置は前記画像情報を前記情報処理装置を経由して前記サーバ装置へ転送するように、送信方法を決定する決定手段と、
前記選択された画像入力装置に前記画像情報の生成及び前記決定手段により決定された送信方法による前記画像情報の送信を実行させるジョブメッセージを前記情報処理装置へ送信するジョブメッセージ送信手段と、を有することを特徴とするサーバ装置。
【請求項6】
情報処理装置と無線通信網及びインターネットを介して通信するとともに、画像入力装置と前記インターネットを介して通信し、前記画像入力装置で生成された画像情報を保存するサーバ装置の制御方法であって、
前記情報処理装置からの前記画像入力装置を検索する検索要求によって検索された前記画像入力装置の送信能力情報を取得する取得ステップと、
前記送信能力情報に基づいて、前記検索された前記画像入力装置の中から画像情報を生成させるために前記情報処理装置において選択された画像入力装置が、前記画像情報を前記サーバ装置へ直接送信することができる場合には前記選択された画像入力装置は前記画像情報を前記サーバ装置へ直接送信し、前記画像情報を前記サーバ装置へ直接送信することができない場合には前記選択された画像入力装置は前記画像情報を前記情報処理装置を経由して前記サーバ装置へ転送するように、送信方法を決定する決定ステップと、
前記選択された画像入力装置に前記画像情報の生成及び前記決定ステップで決定された送信方法による前記画像情報の送信を実行させるジョブメッセージを前記情報処理装置へ送信するジョブメッセージ送信ステップと、を有することを特徴とする制御方法。
【請求項7】
請求項6記載のサーバ装置の制御方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−253514(P2012−253514A)
【公開日】平成24年12月20日(2012.12.20)
【国際特許分類】
【出願番号】特願2011−123640(P2011−123640)
【出願日】平成23年6月1日(2011.6.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年12月20日(2012.12.20)
【国際特許分類】
【出願日】平成23年6月1日(2011.6.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]