(57)【特許請求の範囲】
【請求項１】
第１の画像処理装置及び第２の画像処理装置と通信可能であり、画像処理の実行を指示する情報処理装置であって、
前記第１の画像処理装置による画像処理の実行の遠隔指示を、前記第１の画像処理装置から受け付けると、前記画像処理の実行先の設定を、前記第２の画像処理装置から前記第１の画像処理装置に切り換える切換手段と、
前記画像処理の実行を要求するジョブを前記第１の画像処理装置に送信する送信手段と、を備え、
前記切換手段は、前記第１の画像処理装置との通信終了後、前記画像処理の実行先の設定を前記第２の画像処理装置に切り換える、
ことを特徴とする情報処理装置。
【請求項２】
前記遠隔指示を受け付けると前記画像処理の実行先の設定を前記第１の画像処理装置に切り換えるか否かを設定する設定手段を更に有し、
前記切換手段は、前記設定手段に対する設定に応じて、前記画像処理の実行先の設定を切り換えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１及び第２の画像処理装置はプリント機能を有し、
前記切換手段は、前記遠隔指示を受け付けると、前記第１の画像処理装置を通常使うプリンタとして設定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第１及び第２の画像処理装置はスキャナ機能を有し、
前記切換手段は、前記遠隔指示を受け付けると、前記第１の画像処理装置に対してスキャンジョブを送信し、スキャンされた画像のデータを受信するように、前記画像処理の実行先の設定を切り換えることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記情報処理装置はファクシミリ送信機能を有し、前記第１及び第２の画像処理装置はスキャナ機能を有し、
前記切換手段は、前記遠隔指示を受け付けると、前記第１の画像処理装置に対してスキャンジョブを送信し、スキャンされた画像のデータを受信してファクシミリ送信するように、前記画像処理の実行先の設定を切り換えることを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記情報処理装置は画像保存機能を有し、前記第１及び第２の画像処理装置はスキャナ機能を有し、
前記切換手段は、前記遠隔指示を受け付けると、前記第１の画像処理装置に対してスキャンジョブを送信し、スキャンされた画像のデータを受信して保存するように、前記画像処理の実行先の設定を切り換えることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
第１の画像処理装置と、第２の画像処理装置と、前記第１及び第２の画像処理装置と通信可能であり、画像処理の実行を指示する情報処理装置とを含む画像処理システムであって、
前記第１の画像処理装置は、
前記情報処理装置を操作するための遠隔操作画面上でユーザからの操作を受け付ける操作手段と、
前記情報処理装置から、前記第１の画像処理装置による画像処理の実行を要求するジョブを受信する受信手段と、
前記操作手段から受け付けた操作に応じて、前記情報処理装置が前記第１の画像処理装置に対してジョブを送信するように、前記情報処理装置を制御する制御手段と、を備え、
前記情報処理装置は、
前記第１の画像処理装置からの遠隔操作による通信において、前記画像処理の実行先の設定を、前記第２の画像処理装置から前記第１の画像処理装置に切り換える切換手段と、
前記第１の画像処理装置に対し、前記情報処理装置を制御するための操作画像を提供する提供手段と、
前記操作画像に対して前記第１の画像処理装置で行なわれた操作に応じて、前記第１の画像処理装置に対して前記ジョブを送信する送信手段と、を備え、
前記切換手段は、前記第１の画像処理装置との通信終了後、前記画像処理の実行先の設定を前記第２の画像処理装置に切り換える、ことを特徴とする画像処理システム。
【請求項８】
前記第１の画像処理装置はプリント機能を有し、
前記切換手段は、前記第１の画像処理装置の要求に応じて、前記第１の画像処理装置に対してプリントジョブを送信するように、プリントジョブの送信先設定を変更することを特徴とする請求項７に記載の画像処理システム。
【請求項９】
前記切換手段は、前記第１の画像処理装置の要求に応じて、前記第１の画像処理装置に対してプリントジョブを送信するように、プリントジョブの送信先設定を変更した場合、プリントジョブを送信した後に、プリントジョブの送信先設定を当該切り替える前の実行先の設定に切り換えることを特徴とする請求項８に記載の画像処理システム。
【請求項１０】
第１の画像処理装置及び第２の画像処理装置と通信可能であり、画像処理の実行を指示する情報処理装置において実行される画像処理方法であって、
前記情報処理装置の切換手段が、前記第１の画像処理装置による画像処理の実行の遠隔指示を、前記第１の画像処理装置から受け付けると、前記画像処理の実行先の設定を、前記第２の画像処理装置から前記第１の画像処理装置に切り換える切換工程と、
前記情報処理装置の送信手段が、前記画像処理の実行を要求するジョブを前記第１の画像処理装置に送信する送信工程と、を有し、
前記切換工程は、前記第１の画像処理装置との通信終了後、前記画像処理の実行先の設定を前記第２の画像処理装置に切り換える、
ことを特徴とする画像処理方法。
【請求項１１】
請求項１０に記載の画像処理方法の各工程をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに通信可能な情報処理装置と画像処理装置を利用する技術に関する。
【背景技術】
【０００２】
プリンタや複合機などの画像処理装置から、クライアントコンピュータなどの情報処理装置をリモートデスクトップ技術によって操作する技術が知られている（特許文献１、２）。この場合、画像処理装置ではリモートデスクトップクライアントのソフトウェアが稼動する。一方、情報処理装置では、リモートデスクトップサーバのソフトウェアが稼働する。そして、画像処理装置上のリモートデスクトップクライアントから情報処理装置のリモートデスクトップサーバへ接続することで、ユーザは画像処理装置の操作部を用いて情報処理装置を操作できる。
【０００３】
特許文献１には、画像処理装置側で、他の情報処理装置の操作指示画面と同等の操作指示画面を表示し、画像処理装置のポインティングデバイスを用いて画像処理装置側からこの情報処理装置を遠隔操作することを可能にしたシステムが開示されている。
【０００４】
特許文献２では、ユーザが情報処理装置を離れて画像処理装置を利用している最中に、情報処理装置上で稼動するエージェントプログラムから画像処理装置に対して遠隔操作要求を発行する構成が開示されている。
【０００５】
【特許文献１】特開平９−２４７３３８号公報
【特許文献２】特開２００６−４２３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載の従来技術では、画像処理装置から情報処理装置を操作中、情報処理装置からその画像処理装置に画像処理ジョブを出力したい場合に、多くの可能な選択肢の中からその画像処理装置を探し出して選択しなければならない。すなわち、画像処理装置と情報処理装置の組み合わせの数が多くなると、ユーザの手間が煩雑になるという問題がある。
【０００７】
また、特許文献２に開示されている先行技術では、あくまでも情報処理装置主導で、遠隔操作が開始されるため、画像処理装置主導で情報処理装置を遠隔操作することができない。
【０００８】
本発明はこのような問題点に鑑みてなされたものであって、その目的は、画像処理装置を操作端末として、画像処理ジョブを有する情報処理装置を容易に操作して、その画像処理ジョブの実行対象を、その操作端末たる画像処理装置に誘導することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係る装置は、第１の画像処理装置及び第２の画像処理装置と通信可能であり、画像処理の実行を指示する情報処理装置であって、前記第１の画像処理装置による画像処理の実行の遠隔指示を、前記第１の画像処理装置から受け付けると、前記画像処理の実行先の設定を、前記第２の画像処理装置から前記第１の画像処理装置に切り換える切換手段と、前記画像処理の実行を要求するジョブを前記第１の画像処理装置に送信する送信手段と、を備え、前記切換手段は、前記第１の画像処理装置との通信終了後、前記画像処理の実行先の設定を前記第２の画像処理装置に切り換える、ことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、画像処理装置を操作端末として、情報処理装置を容易に遠隔操作して、画像処理ジョブの実行対象を、その操作端末たる画像処理装置に誘導することができる。
【発明を実施するための最良の形態】
【００１５】
以下に、図面を参照して、この発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１６】
［前提技術］
まず、本発明の実施形態の前提となる技術について説明する。生活や社会の至る所にコンピュータが遍在し、コンピュータ同士が自律的に連携動作してサービスを提供し人間の生活を強力にバックアップする分散協調型の情報環境が望まれている。たとえばよく知られているユビキタスコンピューティングの概念はこの種の分散協調システム環境と関連する。遍在するコンピューティング環境を実現し高度化するためには、情報処理装置同士が連携する分散協調システムだけでなく、情報処理装置と組み込みシステムである画像処理装置の連携が重要になっている。また、組み込みシステムである画像処理装置同士の連携に基づく分散協調システムも重要になってきている。
【００１７】
分散協調システム環境によるサービスの提供とは、実際にはネットワークに接続された複数の情報処理装置や画像処理装置のいずれかで稼動するソフトウェアによって実現される。同一のサービスを複数の装置上のソフトウェアが提供する場合もある。複数の装置上に分散して稼動するプログラム群がサービスの提供を実現する場合もある。分散協調システム環境の中で提供されるサービス、及びそれらを操作する操作端末機能を提供する装置群は、一般にそれぞれが異なるプラットフォーム、すなわち異なるハードウェア構成と異なるオペレーティングシステムを採用している。これが、クロスプラットフォーム性が重要な理由である。また、汎用性が重要な理由は、サービスの内容とその操作手順は詳細なレベルでは一般に不可分であるため、サービスを提供する装置の側にそのサービス固有の操作手順を実現するアルゴリズムも局所化した方が、組み合わせの自由度が増すからである。逆に、特定のサービスに特化したプロトコルにしたがって通信する専用のソフトウェアをそれぞれの装置に用意する方法では、幅広いプラットフォームのすべてに対応する開発コストがかかるので、さまざまな装置の組み合わせを実現するのは難しい。さらに、サービスを提供する装置の側にそのサービス固有の操作手順を実現するアルゴリズムも局所化した方が、サービスの拡張や改良に伴って必要となる変更もサービス提供側の装置だけに施せば済むので、システムの柔軟性の上でも有利となる。これは、いわゆるシンクライアント（thin client）のモデルが有効と考えられている理由と同様である。この場合、操作端末側装置上のソフトウェアは特定のサービス固有の操作とは独立であるようなプリミティブなプロトコル、すなわち汎用的なプロトコルにしたがって、サービスの提供側装置と接続することになる。
【００１８】
（分散協調システムを構成する複数の装置の組み合わせの多様化）
近年のローカルエリアネットワークには複数の情報処理装置と複数の画像処理装置が接続される場合が多い。ユーザからの指示や所定のアルゴリズムに応じて、これらの装置群が選択的に組み合わされて分散システムを構成する。その結果、連携する情報処理装置と画像処理装置の組み合わせは多数あり複雑になってきている。さらに、複合機（ＭＦＰ）と呼ばれる画像処理装置は単体でも実質的に複数台の画像処理装置に相当する複数の機能を提供するが、これらの機能はそれぞれが組み合わせて利用されるサービスになりえるのでさらに組み合わせの数は増えてきている。
【００１９】
（サービスを提供する装置と利用する装置の組み合わせ）
情報処理装置と画像処理装置が連携する分散協調システムのパターンのひとつには、情報処理装置が画像処理装置を利用する構成がある。たとえば情報処理装置が画像処理装置を用いて電子データを紙媒体にプリントする例がある。また、情報処理装置が画像処理装置を用いて紙媒体をスキャンして画像の電子データを得る例もある。また、情報処理装置が画像処理装置に電子データを与えて、ファクス送信させたり、他の各種プロトコルにしたがって送信させたりする例もある。また、情報処理装置が画像処理装置内のストレージ（ボックス機能）へデータをストアしたり、画像処理装置内のストレージからデータをリトリーブしたりする例もある。情報処理装置上で複数の画像処理装置が提供する複数のサービスを利用して組み合わせるソフトウェアが稼動する例もある。また、ある情報処理装置の上で、他の情報処理装置が提供するサービスと画像処理装置が提供するサービスとを利用して組み合わせるソフトウェアが稼動する場合もある。
【００２０】
情報処理装置と画像処理装置が連携する分散協調システムの２番目のパターンには、画像処理装置から情報処理装置を利用する構成もある。画像処理装置が紙媒体をスキャンして得た画像の電子データを情報処理装置へ送信する、すなわちプッシュスキャンの例がある。
【００２１】
特に多大な情報処理資源を必要とする場合などに、画像処理装置が行う一連の処理のうち一部の処理を、情報処理装置に委譲する例もある。画像処理装置が情報処理装置に委譲する処理として、画像処理装置が扱う文書データを情報処理装置に蓄積する例がある。また、検索や監査のために、画像処理ジョブの控え画像データを含むログ情報を情報処理装置に蓄積する例がある。これらの例において情報処理装置は、検索のためのインデクス作成の一環として、ラスター画像データのＯＣＲやベクトル化、画像特徴量算出を行う。画像処理装置が情報処理装置に委譲する処理の他の例には、マルチユーザ対応した画像処理装置において、ユーザを特定するためのユーザ認証や、ユーザごとのアクセス制御の認可情報管理を、外部の情報処理装置で行う例がある。
【００２２】
また、画像処理装置の機能を実現するために行う一連の処理の一部を他の画像処理装置に委譲することによって、一台の画像処理装置では実現できない処理を実現したり、負荷分散を達成したりする例がある。具体的には、複合機が他の１台以上の複合機と連携し、片方がスキャンして読み取った画像データを他方からプリントする「リモートコピー」機能や「重連コピー」機能が製品化されている。
【００２３】
（分散協調システムにおける操作の遍在）
一方、ユビキタスな分散システム環境の実現において、提供されるサービスを「どこからでも操作可能」とする操作手段の遍在も重視されている。ユビキタスな操作を実現するために、２つのアプローチが知られている。１つ目は、ユーザが常に携帯するＰＤＡ、携帯電話、ラップトップコンピュータ、ウェアラブルコンピュータなどのモバイル端末から、分散協調システム環境が提供するさまざまなサービスを操作できるようにするアプローチである。２つ目は、ユーザの環境に存在するさまざまな装置がそれぞれに備える表示手段や操作入力手段を操作端末として用いて、その装置自体が提供する機能だけでなく、分散協調システム環境が提供するさまざまなサービスも操作できるようにするアプローチである。後者のアプローチによれば、ユーザがどこにいても手近にある装置の操作部を用いて環境が提供する各種サービスのうちから所望のサービスを操作できるようになる。操作手段を遍在させるためには、分散協調システム環境が提供する各種サービス群の中から任意のサービスを、任意の装置を操作端末として用いて遠隔操作できるようにすることが望まれる。
【００２４】
（サービスを提供する装置と操作する装置の組み合わせの多様化）
任意の装置を操作端末として用いて所望の装置を遠隔操作できるようにするためには、それらの装置間を、できるだけクロスプラットフォームかつ汎用的で、その結果組み合わせの自由度が高い通信プロトコルによって接続することが有効である。
【００２５】
サービスを提供する装置と操作する装置が分離した分散システムを実現するために用いることができるクロスプラットフォームかつ汎用的で組み合わせの自由度が高い技術の例として、リモートデスクトップとＷｅｂアプリケーションの技術が知られている。
【００２６】
リモートデスクトップ技術とは、あるコンピュータを操作する画面の表示出力データ及び操作入力データをネットワークプロトコルによって転送し、他のコンピュータからネットワーク経由でそのコンピュータのＧＵＩを遠隔操作する技術である。画面表示データはピクセルマップや描画命令などの比較的プリミティブかつ普遍的なデータ表現であり、操作入力データもキーボードやポインティングデバイスなどが発生するプリミティブかつ普遍的なデータである。そのため、プラットフォームからの独立性が高く、さまざまな操作端末と操作対象を組み合わせるのに適している。例えば、プラットフォーム独立で単純なＲＦＢと呼ばれるディスプレイプロトコルに基づくＶＮＣ（Virtual Network Computing）という軽量なリモートデスクトップシステムが知られている。ＶＮＣについては、Tristan Richardson、Quentin Stafford-Fraser、Kenneth R. Wood及びAndy Hopperによる“Virtual Network Computing”参照。（IEEE Internet Computing, Volume 2, Number 1, January/February 1998, pp. 33-38）
また、Ｗｅｂアプリケーション技術とは、ＨＴＭＬなどのマークアップ言語をユーザインタフェースの記述に用い、遠隔のＷｅｂブラウザ上にアプリケーションプログラムのプレゼンテーション層を構成する分散アプリケーションである。
【００２７】
各種の装置から他の各種の装置を遠隔操作するパターンには、大別して以下の４つがある。すなわち、情報処理装置から情報処理装置を操作、情報処理装置から画像処理装置を操作、画像処理装置から情報処理装置を操作、画像処理装置から画像処理装置を操作、である。
【００２８】
（情報処理装置から他の情報処理装置を操作）
情報処理装置から他の情報処理装置をリモートデスクトップ技術によって操作する場合、操作端末側ではリモートデスクトップクライアントのソフトウェアが稼動し、操作対象側の情報処理装置ではリモートデスクトップサーバのソフトウェアが稼動する。たいていの場合、リモートデスクトップサーバは情報処理装置のビットマップディスプレイ装置に表示されるデスクトップスクリーンと同等な表示を、リモートデスクトップクライアントに転送する。特定のアプリケーションソフトウェアのＧＵＩに対応する表示だけをリモートデスクトップクライアントに転送してもよい。
【００２９】
情報処理装置から他の情報処理装置をＷｅｂアプリケーション技術によって操作する場合、操作端末側の情報処理装置ではＷｅｂブラウザのソフトウェアが稼動し、操作対象側の情報処理装置ではＷｅｂサーバのソフトウェアが稼動する。
【００３０】
（情報処理装置から画像処理装置を操作）
情報処理装置から画像処理装置をリモートデスクトップ技術によって操作する場合、情報処理装置ではリモートデスクトップクライアントのソフトウェアが稼動し、画像処理装置では組み込みリモートデスクトップサーバのソフトウェアが稼動する。複合機にリモートデスクトップサーバ機能を組み込んで、複合機の操作部をコンピュータ上のリモートデスクトップクライアントから遠隔操作できる。リモートデスクトップサーバは画像処理装置の操作部のディスプレイ装置に表示される操作画面と同等な表示を、リモートデスクトップクライアントに転送する。
【００３１】
操作端末として用いる画像処理装置とサービスを提供する装置との間をクロスプラットフォームかつ汎用的な通信プロトコルによって接続する場合、組み合わせの自由度が高くなる。しかしその結果として、入力、出力、記憶といった役割を果たすために連携に登場する画像処理装置の選択肢の数も増える。たとえば、画像処理装置から遠隔操作対象を操作中、遠隔操作対象の装置から目の前の画像処理装置にプリントする場合であっても、いちいち多くの可能な選択肢の中から目の前の画像処理装置を探し出して選択しなければならない。これは、分散協調システムにおける連携の中で、プリントなど出力先の装置としての役割を果たす場合だけでなく、入力元、アップロード先、ダウンロード元などの役割を果たす場合であっても同様の問題である。すなわち、操作端末と操作対象装置の組み合わせの数が膨大になり、分散協調システムのサービスの実現において連携に荷担する画像処理装置の選択肢が増えると、入力装置、出力装置、記憶装置などを選択する手間が煩雑になるという問題がある。
【００３２】
一方、情報処理装置から画像処理装置をＷｅｂアプリケーション技術によって操作する場合、情報処理装置ではＷｅｂブラウザのソフトウェアが稼動し、画像処理装置では組み込みＷｅｂサーバのソフトウェアが稼動する。複合機の組み込みＷｅｂサーバ上に構築され、複合機のコントローラが備える各種機能にＷｅｂブラウザからアクセスするＷｅｂアプリケーションを組み込むことも考えられる。たとえば、「リモートＵＩ」と呼ばれる複合機に組み込まれたＷｅｂアプリケーションによって、ユーザはコンピュータ上のＷｅｂブラウザから、複合機の各種機能を利用できる。また、装置や機能の設定などを管理したり、装置や機能の状態を監視したり変更したり、装置内に格納されるデータを表示したりエクスポートしたりインポートしたりできる。
【００３３】
（画像処理装置から情報処理装置を操作）
画像処理装置から情報処理装置をリモートデスクトップ技術によって操作する場合、画像処理装置では組み込みリモートデスクトップクライアントのソフトウェアが稼動する。画像処理装置上の組み込みリモートデスクトップクライアントから情報処理装置のリモートデスクトップサーバへ接続して、ユーザは画像処理装置の操作部を用いて情報処理装置を操作できる。
【００３４】
画像処理装置から情報処理装置をＷｅｂアプリケーション技術によって操作する場合、画像処理装置では組み込みＷｅｂブラウザのソフトウェアが稼動する。画像処理装置上の組み込みＷｅｂブラウザから情報処理装置のＷｅｂサーバへ接続して、ユーザは画像処理装置の操作部を用いて情報処理装置のＷｅｂアプリケーションを操作できる。たとえば、複合機に組み込みＷｅｂブラウザを組み込んで、操作部のＬＣＤスクリーンとタッチパネルを用いてＷｅｂサーバへアクセスする。情報処理装置側で稼動するＷｅｂサーバ上では各種のＷｅｂアプリケーションが構築できる。
【００３５】
画像処理装置を用いて画像文書を取り扱う作業を含むワークフローを実装したＷｅｂアプリケーションに対して、その画像処理装置の組み込みＷｅｂブラウザからアクセスするように構成することも考えられる。この場合、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）に基づくＷｅｂアプリケーションのセッションの中に、画像処理装置固有の画像処理機能を利用した処理工程を組み入れることが可能となる。ここでＷｅｂアプリケーションのセッションとは、すなわちＷｅｂブラウザからＷｅｂサーバへのＨＴＴＰ要求と、ＷｅｂサーバからＷｅｂブラウザへのＨＴＴＰ応答との、繰り返しによって実行される一連の処理のことである。
【００３６】
たとえば、文書管理システムを基盤とし帳票の入力、処理、蓄積などを行うワークフローシステムを実装したＷｅｂアプリケーションに、複合機の組み込みＷｅｂブラウザからアクセスする。この場合、システムへ帳票文書を入力する工程において、Ｗｅｂブラウザを操作している複合機のスキャナによって帳票の紙媒体をスキャンし、読み込んだ画像データをＷｅｂサーバへＨＴＴＰでアップロードできる。
【００３７】
ワークフローを構成する一連の処理を情報処理装置側のＷｅｂアプリケーションで完全に制御できるので、さまざまなワークフローの要求にきめ細かく対応することが容易だという利点がある。なぜならば、一般に、情報処理装置上のソフトウェアは画像処理装置上のファームウェアよりも比較的利用可能な計算機資源（ＣＰＵや記憶装置など）も潤沢で柔軟性や拡張性が高いからである。このように組み合わせることでそれぞれの装置の特性を活かし、さまざまなソリューションへ対応しやすい分散協調システムを構成できる。
【００３８】
この場合、操作対象側の装置が実現するサービスの中で、操作端末側の装置がある連携の役割を果たす場合に、いちいち手元の装置を選択する煩雑さはない。この例では紙媒体をスキャンして画像データを読み取り操作対象側の装置にアップロードする、入力装置としての役割を果たす。
【００３９】
しかしこれは、操作端末と操作対象の間で遠隔操作の制御に用いるプロトコルと、分散システムの装置間連携に用いるプロトコルとが同一のＨＴＴＰに限定され、遠隔操作のセッションの中で連携のための通信が完結する場合にだけ有効であるという問題がある。分散協調システムの装置連携用のプロトコルは最適なものを自由に使えた方が、可能な連携の組み合わせを増やせるし、また一般に高効率な連携を実現しやすい。たとえば出力装置にプリントさせるためにはプリント用として一般的なＬＰＲやインターネットプリンティングプロトコル（ＩＰＰ）などを用いたい場合がある。あるいは記憶装置にデータをストアしたりリトリーブしたりするためにはネットワークファイルシステム（ＮＦＳ）やファイルトランスファープロトコル（ＦＴＰ）などのプロトコルを用いたい場合がある。これらの例のように、分散システムの連携の性質に応じて最適なプロトコルは各種あるので最適なプロトコルを選択したい。また、一般に、遠隔操作のためのセッションと、分散協調システムの装置間連携のセッションとは、それぞれ独立なセッションとして自由に構成できる技術が必要となる。なぜならば、分散協調システムのサービスを実現する装置間の連携においては、操作端末側装置ではない別の装置もまた連携の中で何らかの役割を果たす場合が多いからである。
【００４０】
（画像処理装置から他の画像処理装置を操作）
画像処理装置から他の画像処理装置を操作するためには、操作端末側と操作対象側の画像処理装置に、それぞれ専用のクライアントアプリケーションとサーバアプリケーションを配備する構成や、操作端末側に操作対象側の固有情報を記憶しておけばよい。
【００４１】
（操作が遍在したシステムをより効率化するコンテクストアウェアネス）
ユーザが情報処理装置を離れて画像処理装置を利用している最中に、情報処理装置上のアプリケーションプログラムの操作を行なわねばならない場合、情報処理装置上で稼動するエージェントプログラムから画像処理装置に対して遠隔操作要求を発行する。
【００４２】
画像処理システムが内在する分散協調システムにおいては、ユーザの作業の流れ（ワークフロー）に応じて、画像処理装置から分散協調システムが提供するサービスを操作できることが重要となる。なぜならば、ユーザも紙もネットワークシステムから切り離されたオフラインな存在だからである。ユーザはたとえばオフィスなどの物理空間の中で移動しながら、ある時点で画像処理装置の前に立ち、紙原稿をスキャンしたてシステム環境のデジタル空間に入力したり、システム環境のデジタル空間から電子データを出力しプリントされた紙を回収したりする。すなわち、画像処理装置はオフラインな物理空間の存在であるユーザや紙が、デジタル空間の分散システム環境とインタラクションする接点といえる。したがって、ユーザの作業の流れ（ワークフロー）に応じて、画像処理装置こそが、分散協調システムが提供するサービスを操作する最適な場所となる場合がある。
【００４３】
操作手段の遍在が達成され、特に、画像処理装置から分散協調システムが提供するサービスを操作できるようになると、ある時点でユーザが画像処理装置の前に立ち遠隔の情報処理装置を操作するという状況をうまく活用することが望まれる。
【００４４】
以上の前提を踏まえ、本発明の第１実施形態は以下の構成を備える。
【００４５】
［第１実施形態］
（システムの構成）
図１は、本発明の第１実施形態に係る画像処理システムの全体構成を示すブロック図である。
【００４６】
図１において、画像処理システムは、互いにネットワークを介して通信可能な画像処理装置１１０，１２０，１３０とデスクトップコンピュータ１０１、サーバコンピュータ１０２とから構成される。ネットワークは、例えばＬＡＮ（Local Area Network）１００で構成される。
【００４７】
画像処理装置１１０は、画像入力デバイスであるスキャナ１１３、画像出力デバイスであるプリンタ１１４、制御ユニット（Controller Unit）１１１、ユーザインタフェースである操作部１１２から構成されるＭＦＰである。しかし、本願発明において、画像処理装置は、ＭＦＰに限定されるものではなく、画像を処理できる装置であれば如何なる装置でもかまわない。例えば、プリンタ単体、スキャナ単体、ＦＡＸ装置などが挙げられる。
【００４８】
スキャナ１１３、プリンタ１１４、操作部１１２はそれぞれ、制御ユニット１１１に接続されて、制御ユニット１１１からの命令によって制御される。制御ユニット１１１は、ＬＡＮ１００に接続されている。
【００４９】
また、画像処理装置１２０、１３０は、画像処理装置１１０と同様の構成となっており、画像処理装置１２０は、スキャナ１２３、プリンタ１２４、操作部１２２から構成され、それらが制御ユニット１２１に接続されている。また、画像処理装置１３０は、スキャナ１３３、プリンタ１３４、操作部１３２から構成されており、それらが制御ユニット１３１に接続されている。
【００５０】
また、デスクトップコンピュータ１０１は、ユーザが常用する情報処理装置であり、ユーザが利用するアプリケーションプログラムやユーザのデータ等を格納している。デスクトップコンピュータ１０１は、画像処理装置１１０、１２０、１３０や、サーバコンピュータ１０２などとＬＡＮ１００を介して連携し、分散アプリケーションを実行することもできる。
【００５１】
サーバコンピュータ１０２は、複数のユーザが共用する情報処理装置であり、デスクトップコンピュータ１０１や画像処理装置１１０、１２０、１３０にサービスを提供したり、これらを組み合わせて連携させたりする。
【００５２】
図２は、画像処理装置１１０，１２０，１３０の各々で実行されるソフトウェアの構成を示すブロック図である。
【００５３】
２０１はユーザインタフェース（ＵＩ）モジュールであり、オペレータが画像処理装置に対する各種操作・設定を行う際に、装置とユーザ操作との仲介を行うモジュールである。このモジュールは、オペレータの操作に従い、各種モジュールに入力情報を転送して処理の依頼、或いはデータの設定等を行う。
【００５４】
２０２は、アドレスブック（Address-Book）モジュール、即ちデータの送付先、通信先等を管理するデータベースモジュールである。アドレスブックモジュール２０２が管理するデータに対しては、ＵＩモジュール２０１からの操作指令に従い、データの追加、削除、取得が行われる。また、アドレスブックモジュール２０２からは、オペレータの操作により、各モジュールに対してデータの送付・通信先情報が与えられる。
【００５５】
２０３はＷｅｂサーバ（Web-Server）モジュールであり、Ｗｅｂクライアント（例えば、デスクトップコンピュータ１０１）からの要求に応じて、組み込みＷｅｂアプリケーションを実行する。組み込みＷｅｂアプリケーションは、統合送信（Universal-Send）モジュール２０４、リモートコピースキャン（Remote-Copy-Scan）モジュール２０９を含む。また、組み込みＷｅｂアプリケーションは、リモートコピープリント（Remote-Copy-Print）モジュール２１０、装置制御ＡＰＩ（Control-API）２１８などと通信することによって装置の機能、設定、状態などにアクセスする。そして、ＨＴＴＰモジュール２１２、ＴＣＰ／ＩＰ通信モジュール２１６、ネットワークドライバ（Network-Driver）２１７を介してＷｅｂクライアントと通信する。
【００５６】
２０４は統合送信（Universal-Send）モジュール、即ちデータの配信を司るモジュールである。このモジュールは、ＵＩモジュール２０１を介してオペレータによって指示されたデータを、同様にして指示された通信（出力）先に配布する。また、オペレータにより、本装置のスキャナ機能を使用した配布データの生成が指示された場合は、装置制御ＡＰＩ２１８を介して本装置を動作させ、データの生成を行う。
【００５７】
２０５はＰ５５０モジュールであり、統合送信モジュール２０４内に含まれ、出力先にプリンタが指定された際に実行されるモジュールである。２０６はＥ−メール（E-Mail）モジュールであり。統合送信モジュール２０４内に含まれ、通信先にＥ−メールアドレスが指定された際に実行されるモジュールである。２０７はＤＢモジュールであり、統合送信モジュール２０４内に含まれ、出力先にデータベースが指定された際に実行されるモジュールである。２０８はＤＰモジュールであり、統合送信モジュール２０４内に含まれ、出力先に本装置と同様の画像処理装置が指定された際に実行されるモジュールである。
【００５８】
２０９はリモートコピースキャン（Remote-Copy-Scan）モジュールである。このモジュールは、画像処理装置のスキャナ機能を使用して画像情報を読み取り、読み取った画像情報をネットワーク等で接続された他の画像処理装置に出力することにより、本来単体で実現しているコピー機能を複数の画像処理装置を使って実現する。
【００５９】
２１０はリモートコピープリント（Remote-Copy-Print）モジュールである。このモジュールは、ネットワーク等で接続された他の画像処理装置で得られた画像情報を、本画像処理装置のプリント機能を使用して出力することにより、本来単体で実現しているコピー機能を複数の画像処理装置を使って実現するモジュールである。
【００６０】
２１１はＷｅｂブラウザ（Web Browser）である。このモジュールは、インターネット又はイントラネット上の各種Ｗｅｂサイト（ホームページ）やＷｅｂアプリケーションの情報を読み込んで操作部１２２に表示を行い、操作部１２２からの操作入力情報をＷｅｂサイトやＷｅｂアプリケーションに送信する。Ｗｅｂブラウザの詳細な構成は後述する。
【００６１】
２１２はＨＴＴＰモジュールである。このモジュールは、画像処理装置がＨＴＴＰ（HyperText Transfer Protocol）による通信を行なう際に使用される。そして、ＴＣＰ／ＩＰ通信モジュール２１６を使って、Ｗｅｂサーバ２０３やＷｅｂブラウザ２１１に通信機能を提供する。このモジュールは、ＨＴＴＰをはじめとするＷｅｂで用いられる各種プロトコルに対応し、特にセキュリティ対応のプロトコルによる通信機能も提供する。
【００６２】
２１３はＬＰＲモジュールである。このモジュールは、ＴＣＰ／ＩＰ通信モジュール２１６を使って、統合送信モジュール２０４内のＰ５５０モジュール２０５に通信機能を提供するものである。
【００６３】
２１４はＳＭＴＰモジュールである。このモジュールは、ＴＣＰ／ＩＰ通信モジュール２１６を使って、統合送信モジュール２０４内のＥ−メールモジュール２０６に通信機能を提供する。
【００６４】
２１５はＳＬＭ（Salutation-Manager）モジュールである。このモジュールは、ＴＣＰ／ＩＰ通信モジュール２１６を使って、統合送信モジュール２０４内のＤＢモジュール２０７、ＤＰモジュール２０８、及びリモートコピースキャンモジュール２０９、リモートコピープリントモジュール２１０に通信機能を提供する。
【００６５】
２１６はＴＣＰ／ＩＰ通信モジュールである。このモジュールは、ネットワークドライバ２１７を用いて、前述の各種モジュールにネットワーク通信機能を提供する。２１７はネットワークドライバであり、ネットワークに物理的に接続される部分を制御するものである。
【００６６】
２１８は装置制御ＡＰＩである。これは、統合送信モジュール２０４等の上流モジュールに、ジョブマネージャ（Job-Manager）モジュール２１９等の下流モジュールに対するインタフェースを提供するものである。これによって、上流及び下流のモジュール間の依存関係が軽減され、それぞれの流用性を高めることができる。
【００６７】
２１９はジョブマネージャモジュールである。このモジュールは、前述の各種モジュールから装置制御ＡＰＩ２１８を介して指示される様々な処理を解釈し、各モジュール（２２０、２２４、２２６）に指示を与えるものである。また、ジョブマネージャモジュール２１９は、画像処理装置内で実行されるハード的な処理を一元管理するものである。
【００６８】
２２０はコーデックマネージャ（CODEC-Manager）モジュールである。このモジュールは、ジョブマネージャモジュール２１９が指示する処理の中で、データの各種圧縮・伸長を管理・制御するものである。
【００６９】
２２１はＦＢＥエンコーダ（FBE-Encoder）モジュールである。このモジュールは、ジョブマネージャモジュール２１９やスキャンマネージャ（Scan-Manager）モジュール２２４によって実行されたスキャン処理によって読み込まれたデータを、ＦＢＥフォーマットを用いて圧縮するものである。
【００７０】
２２２はＪＰＥＧコーデック（ＪＰＥＧ−ＣＯＤＥＣ）モジュールである。このモジュールは、ジョブマネージャモジュール２１９やスキャンマネージャモジュール２２４によって実行されたスキャン処理において、読み込まれたデータのＪＰＥＧ圧縮を行なう。或いはプリントマネージャモジュール２２６によって実行された印刷処理において、印刷データのＪＰＥＧ展開処理を行う。
【００７１】
２２３はＭＭＲコーデック（ＭＭＲ−ＣＯＤＥＣ）モジュールである。このモジュールは、ジョブマネージャモジュール２１９やスキャンマネージャモジュール２２４によって実行されたスキャン処理において、読み込まれたデータのＭＭＲ圧縮を行なう。或いはプリントマネージャモジュール２２６によって実行された印刷処理において、印刷データのＭＭＲ伸長処理を行う。
【００７２】
２２９は情報埋め込み画像コーデック（ＩＥＩ−ＣＯＤＥＣ）モジュールである。このモジュールはジョブマネージャモジュール２１９やスキャンマネージャモジュール２２４によって実行されたスキャン処理において、読み込まれた画像データに埋め込まれた情報のデコードを行なう。或いはプリントマネージャモジュール２２６によって実行された印刷処理において、印刷画像データへの情報埋め込みを行う。画像データへの情報の埋め込みは、バーコードやデジタル透かし（デジタルウォーターマーク）などの符号化技術を用いて行う。また、像域分離とＯＣＲ技術によって画像データの画像中の文字を認識し、テキストデータに変換する文字認識も一種の復号化技術としてサポートする。さらにラスタイメージプロセッサを用いたテキストから画像データへの変換と、変換した画像データとオリジナル画像データとの重ね合わせ（オーバレイ）も、一種の符号化技術（情報埋め込み技術）としてサポートする。
【００７３】
スキャンマネージャ（Scan-Manager）モジュール２２４は、ジョブマネージャモジュール２１９が指示するスキャン処理を管理・制御するものである。
【００７４】
２２５はＳＣＳＩドライバであり、スキャンマネージャモジュール２２４と画像処理装置に内部的に接続しているスキャナ部との間の通信を取り持つものである。
【００７５】
２２６はプリントマネージャ（Ｐｒｉｎｔ−Ｍａｎａｇｅｒ）モジュールである。このモジュールは、ジョブマネージャモジュール２１９が指示する印刷処理を管理・制御するものである。
【００７６】
２２７はエンジンインターフェース（Engine-I/F）モジュールである。このモジュールは、プリントマネージャモジュール２２６と印刷部との間のインタフェースを提供する。
【００７７】
２２８はパラレルポートドライバであり、パラレルポートを介して不図示の出力機器にデータを出力する際のＩ／Ｆを提供する。
【００７８】
２３０はリモートデスクトップビューア（以降、リモートデスクトップクライアントとも言う）であり、リモートデスクトッププロトコルのクライアントアプリケーションとして機能する。つまり、遠隔装置の操作画面データ（たとえば、デスクトップコンピュータ１０１のデスクトップ画面）を取得して操作部１２２に表示し、操作部１２２にユーザが与えた操作入力を遠隔装置に対する操作入力データとして送信する。
【００７９】
２３１はリモートフレームバッファ（ＲＦＢ）プロトコル処理モジュールであり、広く用いられているリモートデスクトップシステムのひとつであるＶＮＣにおけるリモートデスクトッププロトコルに従ったネットワーク通信制御を行う。
【００８０】
２３２はリモートデスクトップサーバであり、リモートデスクトッププロトコルのサーバアプリケーションとして機能する。つまり、リモートデスクトップサーバ２３２は、遠隔装置のリモートデスクトップクライアントから接続されると、操作部１２２に表示されるべき操作画面データをクライアントに送信する。そして、クライアントから受信した操作入力データに応じて、操作部１２２において操作入力が行われた場合と同等の操作入力イベントを発生する。
【００８１】
図３は、画像処理装置１１０のハードウェア構成を示すブロック図である。画像処理装置１２０，１３０も同じ構成を備える。
【００８２】
制御ユニット１１１は、画像入力デバイスであるスキャナ１１３や画像出力デバイスであるプリンタ１１４と接続し、一方ではＬＡＮ１００や公衆回線（ＷＡＮ）と接続することで、画像情報やデバイス情報の入出力を行なうコントローラである。
【００８３】
ＣＰＵ３０１は、制御ユニット１１１全体を制御するコントローラである。ＲＡＭ３０２は、ＣＰＵ３０１が動作するために使用するシステムワークメモリである。また、ＲＡＭ３０２は、画像データを一時記憶するための画像メモリでもある。ＲＯＭ３０３は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ３０４は、ハードディスクドライブであり、システムソフトウェア、画像データを格納する。
【００８４】
操作部Ｉ／Ｆ３０６は、操作部（ＵＩ）１１２との間のインタフェースを司り、操作部１１２に表示すべき画像データを操作部１１２に対して出力する。また、使用者が操作部１１２を介して入力した情報を、ＣＰＵ３０１に伝える役割を果たす。
【００８５】
ネットワークインタフェース（Network）３０８は、ＬＡＮ１００との接続を司り、ＬＡＮ１００に対して情報の入出力を行なう。モデム（ＭＯＤＥＭ）３０９は、公衆回線との接続を司り、公衆回線に対して情報の入出力を行なう。以上のデバイスがシステムバス３０７上に配置される。
【００８６】
イメージバスインターフェース（Image Bus I/F）３０５は、システムバス３０７と画像データを高速で転送する画像バス３１０とを接続し、データ構造を変換するバスブリッジである。画像バス３１０は、ＰＣＩバス又はＩＥＥＥ１３９４で構成される。
【００８７】
画像バス３１０には以下のデバイスが配置される。ラスタイメージプロセッサ（ＲＩＰ）３１１は、ネットワークから送信されたＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ３１２は、画像入出力デバイスであるスキャナ１１３やプリンタ１１４と制御ユニット１１１とを接続し、画像データの同期系／非同期系の変換を行なう。
【００８８】
スキャナ画像処理部３１３は、入力画像データに対し補正、加工、編集を行なう。プリンタ画像処理部３１４は、プリント出力画像データに対して、プリンタ１１４の性能に応じた補正、解像度変換等を行なう。画像回転部３１５は画像データの回転を行なう。画像圧縮部３１６は、多値画像データに対してはＪＰＥＧ圧縮伸長処理を行い、２値画像データに対してはＪＢＩＧ、ＭＭＲ、ＭＨの圧縮伸長処理を行なう。
【００８９】
図４は、画像処理装置１１０の外観を示す斜視図である。画像処理装置１２０，１３０も同等の外観を備える。なお、これ以降では、画像処理装置１１０について説明するが、画像処理装置１２０，１３０でも全く同じ構成が備えられ、全く同じ動作が行なわれる。
【００９０】
画像入力デバイスであるスキャナ１１３は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサ（図示せず）を走査することによって、ラスターイメージデータを生成する。
【００９１】
使用者が原稿用紙を原稿フィーダ４０５のトレイ４０６にセットして、操作部１１２において読み取りの起動を指示する。すると、制御ユニット１１１のＣＰＵ３０１がスキャナ１１３に指示を与え、トレイ４０６にセットされた原稿用紙は１枚ずつフィードされ、スキャナ１１３が原稿画像の読み取り動作を行なう。
【００９２】
画像出力デバイスであるプリンタ１１４は、ラスターイメージデータを用紙に印刷する部分である。その方式は、感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式であってもよい。なお、プリント動作は、ＣＰＵ３０１からの指示によって起動される。
【００９３】
プリンタ１１４は、異なる用紙サイズ又は異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット４０１、４０２、４０３がある。また、排紙トレイ４０４は、印字し終わった用紙を受けるものである。
【００９４】
図５は、画像処理装置１１０の操作部１１２の構成を示す平面図である。なお、画像処理装置１２０，１３０の操作部も同等の構成を備える。
【００９５】
ＬＣＤ５０１は、タッチパネル５０２を含む構成になっている。そして、画像処理装置１１０の操作画面及びソフトキーを表示するとともに、表示してあるキーが押された場合には、押された位置を示す位置情報が制御ユニット１１１のＣＰＵ３０１に伝える。
【００９６】
スタートキー５０５は、原稿画像の読み取り動作を開始する場合等に操作されるキーである。スタートキー５０５の中央部には、緑と赤の２色ＬＥＤ表示部５０６があり、その色によってスタートキー５０５を操作できる状態であるか否かを示す。ストップキー５０３は、稼働中の画像処理装置１１０の動作を止めたい場合に操作されるキーである。ＩＤキー５０７は、使用者のユーザＩＤを入力するときに操作されるキーである。また、リセットキー５０４は、操作部１１２からの設定を初期化するときに操作されるキーである。
【００９７】
図６は、画像処理装置１１０の操作部１１２及び操作部Ｉ／Ｆ３０６の内部構成を制御ユニット１１１の内部構成と対応させて示すブロック図である。なお、これ以降では、画像処理装置１１０について説明するが、画像処理装置１１０を画像処理装置１２０又は画像処理装置１３０と読み替えても全く何ら支障は無い。
【００９８】
上述したように、操作部１１２は、操作部Ｉ／Ｆ３０６を介してシステムバス３０７に接続される。システムバス３０７には、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ３０４が接続されている。ＣＰＵ３０１は、ＲＯＭ３０３とＨＤＤ３０４に記憶された制御プログラム等に基づいて、システムバス３０７に接続される各種デバイスとのアクセスを総括的に制御する。また、ＣＰＵ３０１は、デバイスＩ／Ｆ３１２を介して接続されるスキャナ１１３から入力情報を読み込み、またデバイスＩ／Ｆ３１２を介して接続されるプリンタ１１４に出力情報としての画像信号を出力する。ＲＡＭ３０２はＣＰＵ３０１の主メモリ、ワークエリア等として機能する。
【００９９】
タッチパネル５０２や各種ハードキー５０３、５０４、５０５、５０７からのユーザ入力情報は、入力ポート６０１を介してＣＰＵ３０１に渡される。ＣＰＵ３０１は、ユーザ入力情報の内容と制御プログラムとに基づいて表示画面データを生成し、画面出力デバイスを制御する出力ポート６０２を介して、ＬＣＤ５０１に表示画面データを出力する。また、必要に応じて２色ＬＥＤ表示部５０６を制御する。
【０１００】
図７は、画像処理装置１１０の操作部１１２に表示される標準的な操作画面の一例を示す図である。
【０１０１】
図７の最上部７０１に並んでいるボタン群は、画像処理装置１１０が提供する各種機能から１つを選択するためのボタン群である。コピー機能は、スキャナ１１３でスキャンし読み取った原稿画像データをプリンタ１１４でプリントして原稿の複写物を得るための機能である。
【０１０２】
送信機能は、スキャナ１１３で読み取った原稿画像データやＨＤＤ３０４に蓄積されている画像データを各種出力先に送信するための機能である。出力先としては、ネットワークインタフェース３０８経由で各種のプロトコルによって送信可能な各種の出力先、及び、モデム３０９経由でファクシミリなどのプロトコルによって送信可能な各種の出力先がある。それらの中から複数の出力先を選択して送信することができる。
【０１０３】
ボックス機能は、ＨＤＤ３０４に蓄積されている画像データやコードデータなどの文書ファイルを閲覧、編集、プリント、及び送信するための機能である。ＨＤＤ３０４には様々な文書ファイルが蓄積される。例えば、スキャナ１１３で読取った原稿画像データ、ネットワークインタフェース３０８経由でダウンロードしたデータ、ネットワークインタフェース３０８経由で受信したプリントデータ、モデム３０９経由で受信したファクシミリデータなどを含む。ボックス機能は、ユーザのオフィス環境において電子的なメールボックスとして利用できる。また、パスワードを入力するまで用紙へのプリント出力を遅延することによって、ＰＤＬプリントジョブの守秘性を高めるセキュアドプリントとして利用することもできる。
【０１０４】
拡張機能は、スキャナ１１３を外部装置から利用するためにロックするなど、各種の拡張機能を呼び出すための機能である。ブラウザ機能は、Ｗｅｂサイトの閲覧を行なうための機能である。
【０１０５】
図７の中間部分７０２では、コピー機能が選択された場合の操作画面を表示している。最下部７０３はステータス表示領域であり、最上部７０１で選択された機能の如何に関わらず、画像処理装置１１０の各機能や装置自体の情報などの各種のメッセージをユーザに対して表示する。
【０１０６】
（Ｗｅｂブラウザによる分散アプリケーションの操作）
図８は、図２に示すＷｅｂブラウザ２１１の内部構成を示すブロック図である。
【０１０７】
プロトコル処理部８０１は、ＨＴＴＰモジュール２１２を介して、他のネットワークノードとの間に接続を確立し通信するものである。この通信において、ＵＲＬによって記述されたリソースに対してＨＴＴＰ要求を発行し、その応答を得る。この過程で、各種符号化形式に則した通信データの符号化・復号化も行う。
【０１０８】
コンテンツパーサ８０２は、プロトコル処理部８０１からＨＴＭＬ、ＸＭＬ、ＸＨＴＭＬなどの表現形式で表現されたコンテンツデータを受け取り、字句解析及び構文解析を行って解析木を生成する。
【０１０９】
ＤＯＭ構築部８０３は、コンテンツパーサ８０２から解析木を受け取り、コンテンツデータの構造に対応したDocument Object Model（ＤＯＭ）の構築を行う。すなわち、旧来のＨＴＭＬは文法上さまざまな省略を許しバリエーションが多岐に渡る。さらに現実に運用されているコンテンツは整形式でも妥当でもない場合が多い。そこで、ＤＯＭ構築部８０３は、他の一般的なＷｅｂブラウザと同様に、文法的に妥当でないコンテンツデータの正しい論理構造を推論し、妥当なＤＯＭの構築を試みる。
【０１１０】
ＤＯＭ処理部８０４は、ＤＯＭ構築部８０３が構築したＤＯＭを、オブジェクト群の入れ子関係を表現するツリー構造としてメモリ上に保持管理する。Ｗｅｂブラウザの各種処理はこのＤＯＭを中心に実現される。
【０１１１】
レイアウトエンジン８０７は、ＤＯＭ処理部８０４が保持するオブジェクト群のツリー構造に応じて、各オブジェクトの表示上の表現（プレゼンテーション）を再帰的に決定し、結果的に文書全体のレイアウトを得る。各オブジェクトの表示上の表現は、文書の中に埋め込まれた記述、あるいは、文書からリンクされた別ファイル中の記述によって、Cascading Style Sheet（ＣＳＳ）などのスタイルシート形式で明示的に指定される場合がある。
【０１１２】
スタイルシートパーサ８０６は、コンテンツの文書に関連付けられたスタイルシートを解析する。
【０１１３】
レイアウトエンジン８０７は、スタイルシートの解析結果を反映して文書のレイアウトを決定する。
【０１１４】
レンダラ８０８は、レイアウトエンジン８０７が決定した文書のレイアウトに応じて、ＬＣＤ５０１（図５）に表示するためのGraphical User Interface（ＧＵＩ）データを生成する。生成されたＧＵＩデータは、ＵＩモジュール２０１によってＬＣＤ５０１に表示される。
【０１１５】
イベント処理部８０９は、操作部１１２上のタッチパネル５０２や各キーなどに対してユーザが行った操作のイベントを受信して、各イベントに対応した処理を行う。イベント処理部８０９はまた、装置制御ＡＰＩ２１８から装置やジョブなどの状態遷移イベントを受信して、各イベントに対応した処理を行う。ＤＯＭ処理部８０４が管理するＤＯＭのツリー構造には、オブジェクトのクラスごと、及び、オブジェクトインスタンスごとに、各種イベントに対応するイベントハンドラが登録されている。イベント処理部８０９は、生起したイベントに応じて、ＤＯＭ処理部８０４が管理するオブジェクト群の中からそのイベントの処理を担当するべきオブジェクトを決定しイベントを配信する。イベントを配信されたオブジェクトは、そのイベントに対応するイベントハンドラのアルゴリズムに応じて、各種の処理を実行する。イベントハンドラの処理には、ＤＯＭ処理部８０４が保持するＤＯＭの更新、レイアウトエンジン８０７に対する再描画指示、プロトコル処理部８０１に対するＨＴＴＰ要求発行の指示、装置制御ＡＰＩ２１８の呼び出しによる画像処理装置機能の制御などがある。
【０１１６】
スクリプトインタプリタ８０５は、ＪａｖａＳｃｒｉｐｔ（ＥＣＭＡ  Ｓｃｒｉｐｔ）などのスクリプトを解釈し実行するインタプリタである。スクリプトは、文書に埋め込まれたり、あるいは、文書からリンクされた別ファイル中に記述されたりして、ＤＯＭに対する操作などを行う。コンテンツの提供者は、スクリプトによって、提供する文書の動的な挙動をプログラムできる。
【０１１７】
図９は、図５に示すＬＣＤ５０１においてＷｅｂブラウザ機能が選択された場合に表示される画面の構成を示す図である。
【０１１８】
タブ９０１は、Ｗｅｂブラウザ機能を選択するためのタブであり、このタブを選択することにより、他の機能（コピー、ボックス、送信、拡張）の画面からＷｅｂブラウザ機能の表示画面に切り替えられる。
【０１１９】
ＵＲＬ入力フィールド９０２は、ユーザが所望のリソースのＵＲＬを入力するためのフィールドである。当該フィールドをユーザが押すと、文字入力を行うための仮想的なフルキーボード（不図示）が表示される。ユーザは、仮想的なフルキーボード上に配置されたキートップを模したソフトキーによって所望の文字列を入力することができる。
【０１２０】
ＯＫボタン９０３は、ＵＲＬ入力フィールド９０２に入力したＵＲＬ文字列を確定するためのソフトキーである。ＵＲＬが確定されると、Ｗｅｂブラウザ２１１は、当該リソースの取得を行うためのＨＴＴＰ要求を発行する。プログレスバー９０４は、ＨＴＴＰ要求応答によるコンテンツ取得処理の進捗状況を示す。コンテンツ表示領域９０５は、取得したリソースが表示される領域である。
【０１２１】
戻るボタン９０６はソフトキーであり、コンテンツ表示の履歴をさかのぼり、現時点で表示しているコンテンツの前に表示したコンテンツを表示し直す。進むボタン９０７はソフトキーであり、コンテンツ表示の履歴をさかのぼって表示しているときに、現時点で表示しているコンテンツの後に表示したコンテンツの表示に戻る。リロードボタン９０８はソフトキーであり、現時点で表示しているコンテンツの再取得と再表示を行う。中止ボタン９０９はソフトキーであり、実行中のコンテンツ取得処理を中止する。
【０１２２】
ステータス領域９１０（最下部７０３）は、画像処理装置１１０の各種機能からのメッセージを表示する領域である。Ｗｅｂブラウザ画面を表示中であっても、スキャナ１１３やプリンタ１１４や他の機能などから送られる、ユーザの注意を促すためのメッセージが、ステータス領域９１０に表示される。また同様に、Ｗｅｂブラウザ機能からのメッセージもステータス領域９１０に表示される。Ｗｅｂブラウザ機能からは、リンク先のＵＲＬ文字列、コンテンツのタイトル文字列、スクリプトによって指示されたメッセージなどが送られる。
【０１２３】
図１０は、クライアント１００１によるＨＴＴＰプロトコルを用いたＨＴＴＰ要求と、サーバ１００２からの応答とを示すシーケンス図である。
【０１２４】
クライアント１００１は、ＨＴＴＰ要求を送信し、ＨＴＴＰ応答を受信するソフトウェアである。画像処理装置１１０，１２０，１３０に内蔵のＷｅｂブラウザや、ＰＣ、ＰＤＡ、携帯電話などで稼動する一般的なＷｅｂブラウザや、さらにＷｅｂブラウザと同様の方法でＷｅｂサーバにアクセスしてサービスの利用又は中継を行う各種のソフトウェアに相当する。サーバ１００２は、ＨＴＴＰ要求を受信して対応する処理を行い、さらにＨＴＴＰ応答を返信するソフトウェアである。アプリケーションサービスプロバイダのソフトウェアや、イントラネットに構築されたサーバソフトウェアや、デスクトップコンピュータ１０１上で稼動するＷｅｂアプリケーション型ソフトウェアなど各種ＨＴＴＰサーバに相当する。
【０１２５】
クライアント１００１はサーバ１００２に対して、所望のリソースに対するＧＥＴ要求からなるＨＴＴＰ要求１００３を送信する。リソースは一般にＵＲＩ（特にＵＲＬ）形式によって指定される。
【０１２６】
サーバ１００２は、ＧＥＴ要求で指定されたリソースに対応するデータを取得、又は生成して、ＨＴＴＰ応答１００４によって返送する。ここで、指定されたリソースが静的なファイルに対応する場合、サーバ１００２はそのファイルシステムから該当するファイルを読み出してそのデータを取得する。一方、指定されたリソースがＣＧＩプログラムやＳｅｒｖｌｅｔなどの処理に対応する場合は、サーバ１００２は該当する処理を実行する。この処理は要求に対する応答を生成するものであるが、この過程で所定のサービスを達成するために必要なビジネスロジックの実行やバックエンドのＤＢＭＳへのアクセスなどの副作用が伴う。そしてサーバ１００２は、その処理の結果として生成されたデータを返送する。
【０１２７】
ＨＴＴＰ応答１００４で得られたデータが表示可能な形式である場合、クライアント１００１はそのコンテンツの表示を行う。
【０１２８】
なお、得られたデータがＨＴＭＬ文書などであれば、ユーザが、Ｗｅｂブラウザ上に表示された文書にハイパーテキストとして埋め込まれたリンク情報を選択するだけで、次々に新たなリソースの取得や表示が繰り返される。
【０１２９】
ＨＴＴＰ要求１００５はＰＯＳＴ要求である。ＨＴＭＬ文書は、クライアント１００１側のユーザにデータの入力を要求するためのフォーム（ｆｏｒｍ）を含むことができる。ＨＴＭＬ文書ではフォームがフォームを含み、そのメソッドにＰＯＳＴが指定されている場合、ユーザがフォームをサブミットすると、指定リソースに対するＰＯＳＴ要求が送信される。ＰＯＳＴ要求では、クライアント１００１からサーバ１００２に向けてデータを送信する（応答によってサーバ１００２からクライアント１００１に向けたデータの返信も行われる）。Ｗｅｂブラウザに表示されたフォームにユーザが入力した情報が符号化されて、ＰＯＳＴ要求によってサーバ１００２に送信される。サーバ１００２の指定リソースは、クライアント１００１から送られたデータを受信し処理を行い、ＨＴＴＰ応答１００６を生成し返信する。
【０１３０】
ＨＴＴＰ応答１００６はＨＴＴＰ応答１００４と同様であり、得られたデータが表示可能な形式である場合、クライアント１００１はそのコンテンツの表示を行う。得られたデータがＨＴＭＬ文書などであれば、ユーザが、Ｗｅｂブラウザ上に表示された文書にハイパーテキストとして埋め込まれたリンク情報を選択するだけで、次々に新たなリソースの取得や表示が繰り返される。
【０１３１】
したがって、サーバ１００２側で稼動する各種アプリケーションロジックをクライアント１００１側から操作するためのユーザインタフェースを、ＨＴＭＬなどのマークアップ言語によって記述することが可能である。すなわち、サーバ側アプリケーションロジックの状態を表示する記述とアプリケーションロジックへの入力を要求する記述とを組み合わせたコンテンツを、クライアント１００１側からの要求に応じて繰り返し取得されるように構成することができる。そして、サーバ１００２側のアプリケーションロジックをクライアント１００１側で操作する分散アプリケーションを提供できる。
【０１３２】
図１１は、図５に示すＬＣＤ５０１においてＶＮＣビューア機能が選択された場合に表示される画面の構成を示す図である。
【０１３３】
タブ１１０１は、ＶＮＣビューア機能を選択するためのタブであり、このタブを選択することにより、他の機能（コピー、ボックス、送信、ブラウザ）の画面からＶＮＣビューア機能の表示画面に切り替えられる。
【０１３４】
リモートデスクトップ表示領域１１０２は、リモートデスクトッププロトコルによって取得した遠隔装置の操作画面データ（たとえば、デスクトップコンピュータ１０１のデスクトップ画面）を表示する領域である。表示するべき画面データの表示画素数がこの領域の画素数を超える場合、画面データの表示可能な一部をこの領域に表示し、さらに横方向や縦方向のスクロールバーを表示する。ユーザはスクロールバーによるスクロール操作によって、画面データの所望の部分を見られる。また、縮小ボタン１１０３、拡大ボタン１１０４で指示することによって、遠隔装置のデスクトップ画面の解像度と、リモートデスクトップ表示領域１１０２の解像度との対応関係を１対１以外の関係（すなわち、拡大又は縮小）で表示することもできる。選択されている拡大率（又は縮小率）の状態で、やはり遠隔装置のデスクトップの一部だけしかこの領域に表示できない場合にも、スクロールバーを表示して、スクロール操作によってデスクトップ画面の所望の部分を選択的に表示できるようにする。
【０１３５】
縮小ボタン１１０３は、リモートデスクトッププロトコルによって取得した遠隔装置の操作画面データに対して解像度変換を施して表示画面データを生成する際の縮小率の追加を指示するソフトウェアキーである。縮小ボタン１１０３を何度か押すと、リモートデスクトップ表示領域１１０２に表示される画面は段階的に縮小され、したがって、より広い範囲が表示可能となる。遠隔装置の操作画面がリモートデスクトップ表示領域１１０２よりも大きな画素数によって構成されている場合、縮小表示を活用すれば、スクロールの手間を省き画面の全貌を把握しやすくなることなどが期待できる。
【０１３６】
拡大ボタン１１０４は、リモートデスクトッププロトコルによって取得した遠隔装置の操作画面データに対して解像度変換を施して表示画面データを生成する際の拡大率の追加を指示するソフトウェアキーである。拡大ボタン１１０４を何度か押すと、リモートデスクトップ表示領域１１０２に表示される画面は段階的に拡大される。したがって、縮小ボタン１１０３を押すことで小さくなり読みにくくなった文字などを判読しやすくできる。
【０１３７】
接続ボタン１１０５は、リモートデスクトッププロトコルによって遠隔装置の遠隔操作セッションを開始するためのソフトウェアキーである。ユーザが接続ボタン１１０５を選択すると、リモートデスクトップビューア２３０は遠隔装置接続ダイアログウィンドウ（不図示。図を追加してもよいです）をリモートデスクトップ表示領域１１０２の上に表示する。遠隔装置接続ダイアログウィンドウでは、遠隔操作するべき遠隔装置のＩＰアドレス、デフォルト値と異なる場合のポート番号、ユーザ認証のためのユーザ名やパスワードなどの情報を入力及び選択できる。また、リモートデスクトッププロトコルの動作上の詳細パラメータ（符号化方式など）などの、遠隔操作セッションに関する各種設定を入力及び選択できる。接続先のアドレスなどを含む遠隔操作セッションに関する各種設定情報は、装置ごとやユーザごとに、あらかじめ登録しておいたり過去に接続した履歴を呼び出したりした選択肢の中から選択することもできる。ユーザが遠隔装置接続ダイアログウィンドウに必要な情報を入力又は選択した上でＯＫボタンを選択すると、リモートデスクトップビューア２３０は指定された遠隔装置に接続して遠隔操作セッションを開始する。複数のセッションを同時に確立して、確立中のセッション群の中から操作するセッションを選択できるように構成してもよい。
【０１３８】
操作部１１２のＩＤキー５０７などの物理的なボタンに対して、あるいはＬＣＤ５０１に表示されるソフトウェアキー（不図示）などに対して、マクロ機能を割り当ててもよい。この場合、ユーザがマクロ機能を選択しただけで（コピーなど別の画面を表示中であっても）ＶＮＣビューア機能に切り替わった上で、割り当てられた遠隔操作セッション設定情報に応じた接続が開始されるように構成してもよい。
【０１３９】
切断ボタン１１０６は、接続中の遠隔操作セッションの終了を指示するためのソフトウェアキーである。遠隔操作セッションが終了し、接続中のセッションがないときには、リモートデスクトップビューア２３０は遠隔装置接続ダイアログウィンドウをリモートデスクトップ表示領域１１０２の上に表示する。
【０１４０】
印刷ボタン１１０７は、接続中の遠隔操作セッションのスクリーンショットのプリントを指示するソフトウェアキーである。リモートデスクトップビューア２３０は、プリンタ１１４を用いて、遠隔操作中の遠隔装置のデスクトップのスクリーンショットをプリントする。
【０１４１】
拡張ボタン１１０８は、拡張メニューダイアログウィンドウを呼び出すためのソフトウェアキーである。拡張メニューダイアログウィンドウでは、リモートデスクトップビューア２３０に関する各種の環境設定を編集したり拡張機能を操作したりできる。
【０１４２】
カーソル左移動ボタン１１０９は、リモートデスクトッププロトコルを介してカーソルの左方向移動イベントを送出するためのソフトウェアキーである。遠隔装置側のリモートデスクトップサーバは、左移動イベントを受信すると、操作入力手段であるマウスなどのポインティングデバイスによる左向きの操作に相当する内部イベントをＯＳレベルで生成する。この結果、遠隔装置側の操作画面上でたとえばマウスカーソルが移動する。更新された遠隔装置の操作画面データは、随時リモートデスクトッププロトコルによって取得されリモートデスクトップ表示領域１１０２中に表示される。すなわち、リモートデスクトップ表示領域１１０２中に表示されているカーソルも左方向に移動することになる。
【０１４３】
カーソル下移動ボタン１１１０は、リモートデスクトッププロトコルを介してカーソルの下方向移動イベントを送出するためのソフトウェアキーである。遠隔装置側のリモートデスクトップサーバは、下移動イベントを受信すると、操作入力手段であるマウスなどのポインティングデバイスによる下向きの操作に相当する内部イベントをＯＳレベルで生成する。この結果、遠隔装置側の操作画面上でたとえばマウスカーソルが移動する。更新された遠隔装置の操作画面データは、随時リモートデスクトッププロトコルによって取得されリモートデスクトップ表示領域１１０２中に表示される。すなわち、リモートデスクトップ表示領域１１０２中に表示されているカーソルも下方向に移動することになる。
【０１４４】
カーソル上移動ボタン１１１１は、リモートデスクトッププロトコルを介してカーソルの上方向移動イベントを送出するためのソフトウェアキーである。遠隔装置側のリモートデスクトップサーバは、上移動イベントを受信すると、操作入力手段であるマウスなどのポインティングデバイスによる上向きの操作に相当する内部イベントをＯＳレベルで生成する。この結果、遠隔装置側の操作画面上でたとえばマウスカーソルが移動する。更新された遠隔装置の操作画面データは、随時リモートデスクトッププロトコルによって取得されリモートデスクトップ表示領域１１０２中に表示される。すなわち、リモートデスクトップ表示領域１１０２中に表示されているカーソルも上方向に移動することになる。
【０１４５】
カーソル右移動ボタン１１１２は、リモートデスクトッププロトコルを介してカーソルの右方向移動イベントを送出するためのソフトウェアキーである。遠隔装置側のリモートデスクトップサーバは、左移動イベントを受信すると、操作入力手段であるマウスなどのポインティングデバイスによる右向きの操作に相当する内部イベントをＯＳレベルで生成する。この結果、遠隔装置側の操作画面上でたとえばマウスカーソルが移動する。更新された遠隔装置の操作画面データは、随時リモートデスクトッププロトコルによって取得されリモートデスクトップ表示領域１１０２中に表示される。すなわち、リモートデスクトップ表示領域１１０２中に表示されているカーソルも右方向に移動することになる。
【０１４６】
クリックボタン１１１３は、リモートデスクトッププロトコルを介してマウスのクリックイベントを送出するためのソフトウェアキーである。遠隔装置側のリモートデスクトップサーバは、マウスクリックイベントを受信すると、操作入力手段であるマウスなどのポインティングデバイスによるクリックの操作に相当する内部イベントをＯＳレベルで生成する。
【０１４７】
ダブルクリックボタン１１１４は、リモートデスクトッププロトコルを介してマウスのクリックイベントを連続的に2回送出するためのソフトウェアキーである。タッチパネル上のソフトウェアキーでは、ダブルクリックとして判定されるような連続的なクリックを操作しにくい場合があるが、ダブルクリックボタンはこの操作を簡単かつ確実に達成する。なお、同様にして、マウスのドラッグ操作（マウスボタンを押し続けたままマウスを移動する操作）やその解除に相当するイベントを生成するボタンや、マウスの右ボタンクリックに相当するイベントを生成するボタンなども備えるように構成できる。
【０１４８】
なお、ポインティングデバイスによる操作入力に相当するソフトウェアキー１１０９から１１１４は、マウス、タブレット、トラックボールなどの物理的なポインティングデバイスを画像処理装置に接続することで代用してもよい。
【０１４９】
キーボードボタン１１１５は、ＬＣＤ５０１上にスクリーンキーボードダイアログウィンドウの表示を指示するソフトウェアキーである。スクリーンキーボードダイアログウィンドウ（不図示）には、いわゆるＱＷＥＲＴＹ配列やＪＩＳ配列のフルキーボードなどに相当するソフトウェアキーが配置される。ユーザがキーボード上のキーを選択すると、そのキーに対応するキーコードイベントがリモートデスクトッププロトコルによって送出される。遠隔装置側のリモートデスクトップサーバは、キーコードイベントを受信すると、操作入力手段であるキーボードによるキー入力の操作に相当する内部イベントをＯＳレベルで生成する。なお、スクリーンキーボードダイアログは、物理的なキーボードを画像処理装置に接続することで代用してもよい。
【０１５０】
図１２は、第１実施形態の遠隔操作の対象である装置のソフトウェア構造を示すブロック図である。ここでは、デスクトップコンピュータ１０１上で稼動するアプリケーションプログラムとそのソフトウェアプラットフォームによる実施形態を説明する。
【０１５１】
アプリケーションプログラム１２０１は、デスクトップコンピュータ１０１のユーザに各種の機能を提供する応用ソフトウェアである。たとえば、ワードプロセッサ、スプレッドシート、プレゼンテーション、文書管理、データ管理、グループウェア、ファイル操作、ネットワーク監視などのさまざまな応用ソフトウェアがある。デスクトップコンピュータ１０１上では、複数のアプリケーションプログラム１２０１が同時に動作する。それぞれのアプリケーションプログラム１２０１は、オペレーティングシステム（ＯＳ）と基盤ソフトウェア群からなるソフトウェアプラットフォームによって提供される各種のサービスを利用するように実装される。ソフトウェアプラットフォームは、以下で説明するモジュール群を含む。
【０１５２】
描画ライブラリ１２０２は、アプリケーションプログラム１２０１が、デスクトップコンピュータ１０１の表示装置にユーザインタフェースを描画したり、紙にプリントされる画像を描画したりするための描画サービスを提供するモジュールである。ライブラリは図形や画像やフォントなどを描画するアプリケーションプログラムインタフェース（ＡＰＩ）を含む。たとえば、Ｗｉｎｄｏｗｓ（登録商標）の場合はＷｉｎ３２やＧＤＩ、Ｍａｃ  ＯＳ  Ｘ（登録商標）の場合はＣａｒｂｏｎやＣｏｃｏａ、ＵＮＩＸ系ＯＳの場合はＸ１１／Ｘｌｉｂ、などのそれぞれの基盤ソフトウェアにおいて描画ライブラリが提供される。
【０１５３】
表示制御部１２０３は、描画ライブラリ１２０２からの要求に応じて、デスクトップコンピュータ１０１の表示装置の画面に表示するべき描画を制御するためのモジュールである。デスクトップコンピュータ１０１の上で同時に稼動する複数のソフトウェア群から要求される複数の描画要求は、表示制御部１２０３のウィンドウシステムなどによって統合される。
【０１５４】
グラフィクスプロセッサ１０２４は、表示装置の制御を行い、表示制御部１２０３の制御に応じて、デスクトップコンピュータ１０１の表示装置の画面に画像を表示するモジュールである。
【０１５５】
プリントサブシステム１２０５は、アプリケーションプログラム１２０１からのプリント出力をサポートするモジュールである。
【０１５６】
プリンタドライバ１２０６は、プリントサブシステム１２０５に含まれ、描画ライブラリ１２０２からの描画要求に応じて、プリントジョブデータを生成するモジュールである。プリンタドライバ１２０６は、たとえば描画要求に応じてプリンタ用のページ記述言語（ＰＤＬ）を生成する。
【０１５７】
プリントプロトコル通信部１２０７は、プリントサブシステム１２０５に含まれ、プリンタと通信してプリントジョブデータをプリンタに送信するモジュールである。プリントプロトコル通信部１２０７は、複数のプリンタの中からプリンタを選択し、選択したプリンタに対してプリントジョブを送信できる。すなわち、デスクトップコンピュータ１０１のローカルインタフェース（USBやIEEE1394など）に接続されたプリンタに対してプリントジョブデータを送ることができる。また、ネットワーク経由で接続された遠隔の画像処理装置１１０、１２０、１３０などに対してプリントジョブデータを送ることもできる。プリンタの選択は、実際にプリントを行う際にユーザが明示的に指示できる。ユーザが明示的に指示しない場合は、あらかじめデフォルトとして設定されているプリンタが選択される。
【０１５８】
イベント入力１２０８は、ユーザによる入力イベントやシステムで生起したイベントをアプリケーションプログラム１２０１に与えるためのモジュールである。ユーザによる入力イベントには、マウスなどのポインティングデバイスの操作入力やキーボードの操作入力などがある。同時に稼動している複数のアプリケーションプログラムのうち、適切ないくつかのアプリケーションプログラムに対してイベントを渡すために、イベント入力１２０８は表示制御部１２０３内のウィンドウマネージャやウィンドウシステムと連携する。
【０１５９】
キーボード・マウスドライバ１２０９は、キーボード、及び、ポインティングデバイス（マウス、タブレット、トラックボールなど）といった、操作入力機構を制御するモジュールである。
【０１６０】
スキャナドライバ１２１０は、アプリケーションプログラム１２０１が、イメージスキャナやデジタルカメラなどの画像入力機構から画像を読み込むためのサービスを提供するモジュールである。アプリケーションプログラムから利用できるAPIにはTWAINやSANEやISISなどがある。スキャナドライバ１２１０は、複数の画像入力装置の中から画像入力装置を選択し、選択した画像入力装置から画像を読み込める。すなわち、デスクトップコンピュータ１０１のローカルインタフェース（USBやIEEE1394など）に接続された画像入力装置から画像を読み込むことができる。また、ネットワーク経由で接続された遠隔の画像処理装置１１０、１２０、１３０などから画像を読み込むこともできる。画像入力装置の選択は、実際に画像入力を行う際にユーザが明示的に指示できる。ユーザが明示的に指示しない場合は、あらかじめデフォルトとして設定されている画像入力装置が選択される。
【０１６１】
ネットワーク共有ファイルシステム１２１１は、アプリケーションプログラム１２０１がサービスを提供するためのモジュールである。このモジュールによりネットワークファイル共有プロトコルを用いて他の装置が公開する遠隔のファイルシステムをあたかもローカルのファイルシステムと同様にマウントして利用することができる。ネットワークファイル共有プロトコルにはNFSやCIFS（又はSMB）などがある。ネットワークファイル転送プロトコル（FTPやHTTPなど）によるファイル取得とファイル送信を透過的に組み合わせることによって、ネットワークファイル共有プロトコルとほぼ同等のファイル共有を実現することもできる。ネットワーク共有ファイルシステム１２１１は複数の装置が公開する複数の遠隔のファイルシステムをマウントできる。遠隔の共有ファイルシステムをマウントする操作はユーザが明示的に行える。また、あらかじめデフォルトを設定しておいて、デスクトップコンピュータ１０１の起動時やユーザのログイン時に自動的にマウントすることもできる。
【０１６２】
データ転送プロトコルライブラリ１２１２は、アプリケーションプログラム１２０１が、各種のデータ転送プロトコルを用いて他の装置へデータを送信するサービスを提供するモジュールである。
【０１６３】
外部装置連携サブシステム群１２１３は、アプリケーションプログラム１２０１のために外部装置と連携するサービスを提供するサブシステム群である。プリントサブシステム１２０５、スキャナドライバ１２１０、ネットワーク共有ファイルシステム１２１１、データ転送プロトコルライブラリ１２１２を含む。
【０１６４】
リモートデスクトップサーバ１２１４は、遠隔の装置からデスクトップコンピュータ１０１をリモートデスクトッププロトコルによって遠隔操作するためのサービスを提供するサーバモジュールである。リモートデスクトップサーバ１２１４は、表示制御部１２０３がグラフィックプロセッサ１２０４に表示するために生成した表示データを取得して、遠隔のリモートデスクトップクライアントに対して与える。また、リモートデスクトップサーバ１２１４は、遠隔のリモートデスクトップクライアントから送られたイベントを、キーボード・マウスドライバ１２０９などにおいて生起するイベントと同様に、イベント入力１２０８に与える。リモートデスクトップサーバ１２１４は、外部装置連携サブシステム群１２１３の各々に対して干渉して、連携するべき外部装置の設定を変更できる。リモートデスクトップサーバ１２１４による外部装置連携サブシステム群１２１３への干渉の詳細は後述する。
【０１６５】
なお、図１２によって説明した遠隔操作の対象である装置はデスクトップコンピュータ１０１だけなく、他の画像処理装置１２０や１３０でもよい。この場合、コピー、ボックスといった画像処理装置の基本機能群を達成する組み込みアプリケーション（ＵＩモジュール２０１に内包）が、アプリケーションプログラム１２０１に相当する。統合送信モジュール２０４、リモートコピースキャンモジュール２０９、リモートコピープリントモジュール２１０、Ｗｅｂブラウザ２１１、リモートデスクトップビューア２３０などの組み込みアプリケーション群もアプリケーションプログラム１２０１である。画像処理装置に内蔵された組み込みリモートデスクトップサーバ２３２が、リモートデスクトップサーバ１２１４に相当し、ＵＩモジュール２０１の操作表示及び操作入力と、リモートデスクトッププロトコルによる通信との間の中継を行う。
【０１６６】
図１３は、遠隔操作の対象である装置において稼動するリモートデスクトップサーバの環境設定ユーザインタフェースの例である。ここでは、デスクトップコンピュータ１０１上で稼動するリモートデスクトップサーバ１２１４による実施形態を説明する。
【０１６７】
リモートデスクトップサーバ設定ダイアログウィンドウ１３０１は、リモートデスクトップサーバ１２１４の環境設定を表示及び編集するためのダイアログウィンドウである。
【０１６８】
接続元クライアント設定テーブル１３０２は、遠隔操作の操作元となるリモートデスクトップクライアントごとにその設定レコードを記憶したテーブルを表示している。設定レコードは、デスクトップコンピュータ１０１が備えるハードディスクドライブなどの不揮発性記憶装置に記憶される。
【０１６９】
「選択」列１３０３は、記憶されている複数の設定レコードの中からひとつを選択するラジオボタンが並んだ列である。
【０１７０】
「ホスト名又はアドレス」列１３０４は、各設定レコードに関する接続元クライアントのホスト名又はＩＰアドレスが並んだ列である。この列に「デフォルト（特定の設定がない接続元）」と書かれた行は特別な設定レコードであり、他の行に特定の設定が明記されていないホストのリモートデスクトップクライアントから接続されたときに、このレコードの設定が適用される。
【０１７１】
「プリンタ連携」列１３０５、「スキャナ連携」列１３０６、「ファイル共有」列１３０７、「送信先連携」列１３０８は、リモートデスクトップサーバ１２１４による外部装置連携サブシステム群１２１３に対する干渉の設定が並んだ列である。
【０１７２】
編集ボタン１３０９は、「選択」ラジオボタンで選択したレコードの内容を編集するためのソフトウェアキーである。このボタンが押されると、接続元クライアント設定編集ダイアログウィンドウ１３２１を開く。
【０１７３】
新規追加ボタン１３１０は、新たに設定レコードを追加するためのソフトウェアキーである。このボタンが押されると、接続元クライアント設定テーブル１３０２に新たな行を追加して、その設定レコードに関する接続元クライアント設定編集ダイアログウィンドウ１３２１を開く。
【０１７４】
ＯＫボタン１３１１は、リモートデスクトップサーバ設定ダイアログウィンドウ１３０１の確認ボタンである。このボタンを押されるとリモートデスクトップサーバ設定ダイアログウィンドウ１３０１を閉じる。
【０１７５】
接続元クライアント設定編集ダイアログウィンドウ１３２１は、遠隔操作の操作元となるリモートデスクトップクライアントごとに、その設定レコードを編集するためのダイアログウィンドウである。
【０１７６】
「ホスト名又はアドレス」入力フィールド１３２２は、その設定レコードに関する接続元クライアントのアドレス（ホスト名又はＩＰアドレス）を入力及び編集する。「デフォルト（特定の設定がない接続元）」の設定レコードが選択されてダイアログウィンドウを開いた場合には、このフィールドは編集できない。
【０１７７】
「プリンタ連携自動切替」チェックボックス１３２３は、その接続元クライアントからの遠隔操作に際して、リモートデスクトップサーバ１２１４からプリントサブシステム１２０５への干渉を行うか否かを設定するチェックボックスである。チェックされた場合には、その接続元クライアントからの遠隔操作を受けているとき、リモートデスクトップサーバ１２１４によってプリントサブシステム１２０５のデフォルトプリンタ設定が切換えられる。デフォルトプリンタとは、ユーザが明示的にプリンタを選択せずにアプリケーションプログラム１２０１からプリントした場合にプリントジョブが送られるプリンタ（通常使うプリンタ）である。通常の設定において、リモートデスクトップサーバ１２１４は、デフォルトプリンタを、その接続元クライアントのアドレスへと切換える。これによって、たとえば画像処理装置１１０を操作して、アプリケーションプログラム１２０１からのプリントを指示するとき、簡単に手元の画像処理装置１１０へとプリント出力が行われることになる。
【０１７８】
詳細設定ボタン１３２４は、プリンタ連携自動切替に関する詳細な設定を行うダイアログウィンドウを呼び出すためのソフトウェアキーである。詳細な設定では、デフォルトプリンタとして切り替えるプリンタを接続元クライアントではなく所望のプリンタに設定したり、プリントジョブを投入するために複数のプロトコルを利用可能な場合に利用するプロトコルを選択したりできる。
【０１７９】
スキャナ連携自動切替、ファイル共有自動マウント、送信先連携自動切替についても同様である。
【０１８０】
設定レコード削除ボタン１３３１は、選択されている設定レコードを設定レコードテーブルから削除するソフトウェアキーである。
【０１８１】
ＯＫボタン１３３２は、接続元クライアント設定編集ダイアログウィンドウ１３２１の確認ボタンである。このボタンを押されると接続元クライアント設定編集ダイアログウィンドウ１３２１を閉じる。
【０１８２】
図１４は、デスクトップコンピュータ１０１において実行されるリモートデスクトップサーバ１２１４のセッション開始処理の手順を示すフローチャートである。遠隔のリモートデスクトップビューア２３０から遠隔操作セッションの接続要求を受信したとき、この処理が呼び出される。
【０１８３】
ステップ１４０１では、接続要求元のアドレスを取得する。
【０１８４】
ステップ１４０２では、接続元クライアント設定テーブル１３０２に相当する設定レコードの記憶から接続要求元のアドレスを検索する。
【０１８５】
ステップ１４０３では、接続要求元に対応する設定レコードが存在するか否かを判定する。接続要求元に対応する設定レコードが存在する場合、ステップ１４０４に進む。接続要求元に対応する特定の設定レコードが存在しない場合、ステップ１４０５に進む。
【０１８６】
ステップ１４０４では、検索した設定レコードを選択する。次いでステップ１４０６に進む。
【０１８７】
ステップ１４０５では、接続元クライアント設定テーブル１３０２のデフォルト行に相当する設定レコードを選択する。
【０１８８】
ステップ１４０６では、設定レコードのプリンタ連携の設定にしたがって、接続要求元がプリンタ連携を行う遠隔操作クライアントであるかどうかを判定する。プリンタ連携を行う遠隔操作クライアントの場合、ステップ１４０７に進む。プリンタ連携を行う必要のない遠隔操作クライアントの場合、ステップ１４０８に進む。
【０１８９】
ステップ１４０７では、設定レコードのプリンタ連携自動切換えの設定にしたがって、プリントサブシステム１２０５のデフォルトプリンタ設定を切り替える。この際に切り替える以前の設定を待避しておき、後にこの遠隔操作セッションが終了したとき待避した設定を復元する。つまり、つまり、通信時に切り換えた送信先設定を、通信終了後に、切換前のプリンタ設定に戻す。
【０１９０】
ステップ１４０８では、設定レコードのスキャナ連携の設定にしたがって、接続要求元がスキャナ連携を行う遠隔操作クライアントであるかどうかを判定する。スキャナ連携を行う遠隔操作クライアントの場合、ステップ１４０９に進む。スキャナ連携を行う必要のない遠隔操作クライアントの場合、ステップ１４１０に進む。
【０１９１】
ステップ１４０９では、設定レコードのスキャナ連携自動切換えの設定にしたがって、スキャナドライバ１２１０の設定を切り替える。この際に切換前の設定を待避しておき、後にこの遠隔操作セッションが終了したとき待避した設定を復元する。つまり、つまり、通信時に切り換えた送信先設定を、通信終了後に、切換前の設定に戻す。
【０１９２】
ステップ１４１０では、設定レコードのファイル共有の設定にしたがって、接続要求元がファイル共有連携を行う遠隔操作クライアントであるかどうかを判定する。ファイル共有連携を行う遠隔操作クライアントの場合、ステップ１４１１に進む。ファイル共有連携を行う必要のない遠隔操作クライアントの場合、ステップ１４１２に進む。
【０１９３】
ステップ１４１１では、設定レコードのファイル共有自動マウントの設定にしたがって、ネットワーク共有ファイルシステム１２１１に対して設定された共有ファイルシステムのマウントを指示する。自動マウントした共有ファイルシステムは後にこの遠隔操作セッションが終了したときアンマウントする。
【０１９４】
ステップ１４１２では、設定レコードの送信先連携の設定にしたがって、接続要求元が送信先連携を行う遠隔操作クライアントであるかどうかを判定する。送信先連携を行う遠隔操作クライアントの場合、ステップ１４１３に進む。送信先連携を行う必要のない遠隔操作クライアントの場合、一連の手続きを完了する。
【０１９５】
ステップ１４１３では、設定レコードの送信先連携自動切換えの設定にしたがって、データ転送プロトコルライブラリ１２１２のデフォルト送信先設定を切り替える。この際に切り替える以前の設定を待避しておき、後にこの遠隔操作セッションが終了したとき待避した設定を復元する。つまり、通信時に切り換えた送信先設定を、通信終了後に、切換前の設定に戻す。次いで、一連の手続きを完了する。
【０１９６】
図１５は、遠隔操作の操作元と操作対象との間のインタラクションを示すタイムラインの一例である。画像処理装置１１０が操作元となり、デスクトップコンピュータ１０１が操作対象となるシステムにおける、時刻の経過に伴うやり取りを示している。遠隔操作を達成するやり取りは、リモートデスクトップシステムのひとつであるＶＮＣの、ＲＦＢプロトコルによって実装できる。
【０１９７】
ステップ１では、画像処理装置１１０上のリモートデスクトップクライアント２３０が、デスクトップコンピュータ１０１上のリモートデスクトップサーバ１２１４に対して、ＲＦＢプロトコルによる接続を要求する。
【０１９８】
ステップ２では、デスクトップコンピュータ１０１上のリモートデスクトップサーバ１２１４が、図１４のフローチャートのアルゴリズムにしたがって、同じデスクトップコンピュータ１０１上の外部装置連携サブシステム群１２１３に対する干渉を行う。リモートデスクトップサーバ１２１４は、外部装置連携サブシステム群１２１３に対して、独自のプロセス間通信プロトコルを用いて通信し、各サブシステムが保持するデフォルトの入出力先設定の切替などを要求する。この要求を受信したサブシステムは、デフォルトの入出力先を切り替えたり共有ファイルシステムをマウントしたりする。
【０１９９】
ステップ３では、外部装置連携サブシステム群１２１３のサブシステム群からリモートデスクトップサーバ１２１４に対して設定の切替が完了した通知が応答される。
【０２００】
ステップ４では、リモートデスクトップサーバ１２１４からリモートデスクトップクライアント２３０に対して、接続要求に対応する応答が返される。
【０２０１】
ステップ５及びステップ６では、リモートデスクトップクライアント２３０とリモートデスクトップサーバ１２１４の間でＲＦＢプロトコルにしたがって遠隔操作のための要求と応答がやり取りされる。リモートデスクトップクライアント２３０のユーザが操作を完了したり、アイドル時間が所定のタイムアウト時間に達したり、所定の条件によって遠隔操作セッションを閉じるまでの間、遠隔操作通信のやり取りは繰り返される。
【０２０２】
ステップ７では、遠隔操作セッションを閉じるために、リモートデスクトップクライアント２３０がリモートデスクトップサーバ１２１４に対して、ＲＦＢプロトコルによって切断を要求する。
【０２０３】
ステップ８では、リモートデスクトップサーバ１２１４が外部装置連携サブシステム群１２１３に対して、独自の内部通信プロトコルを用いて通信する。そして、各サブシステムのデフォルト入出力先やファイルシステムのマウント状態などを、遠隔操作セッションの開始時点と同じように戻す。
【０２０４】
ステップ９では、外部装置連携サブシステム群１２１３からリモートデスクトップサーバ１２１４に対して、設定の切替が完了した通知が応答される。
【０２０５】
ステップ１０では、リモートデスクトップサーバ１２１４からリモートデスクトップクライアント２３０に対して、切断要求に対する応答が返され、遠隔操作セッションが閉じられる。
【０２０６】
図１６は、第１実施形態のシステムの相互作用を説明するブロック図である。
【０２０７】
ユーザ１６００は画像処理装置１１０の前に立ち、操作部からリモートデスクトップクライアント２３０を操作する。ユーザ１６００はネットワークに接続された装置群のうちどの装置を遠隔操作するか選択し、デスクトップコンピュータ１０１を選ぶ。この結果、リモートデスクトップクライアント２３０とリモートデスクトップサーバ１２１４との間にリモートデスクトッププロトコルによるリモートデスクトップ接続１６０１が張られる。
【０２０８】
リモートデスクトップサーバ１２１４は、接続元が画像処理機能を持つ装置であるか否かを判定する。この例で画像処理装置１１０はプリント機能、スキャナ機能、画像保存機能（ボックス機能）、送信機能を有する画像処理装置であると判定される。そこで、リモートデスクトップサーバ１２１４は、デスクトップコンピュータ１０１のＯＳやデバイスドライバによって構成される外部装置連携サブシステム群１２１３のそれぞれに対し、デフォルトの画像処理装置として画像処理装置１１０を設定する。この設定が有効な期間、デスクトップコンピュータ１０１で稼動するアプリケーションプログラムが画像処理ジョブを行う際に、デフォルトの装置として画像処理装置１１０が自動設定されている。
【０２０９】
この結果、もしユーザがデフォルトから設定をあえて変更しなければ、アプリケーションプログラムがプリントする際には、画像処理装置１１０のプリント機能に対してＬＰＲなどのプリントプロトコルによってプリントジョブが投入される（１６０２）。同様にアプリケーションプログラムが画像をスキャンする際には、画像処理装置１１０のスキャナ機能に対してネットワークＴＷＡＩＮなどのスキャナ制御プロトコルによってスキャンジョブ（プルスキャン）が投入される（１６０３）。同様にアプリケーションプログラムが画像ファイリングのストアやリトリーブを行う際には、画像処理装置１１０のボックス機能がネットワークファイル共有プロトコルによってマウントされ、データファイルのストアやリトリーブが行われる（１６０４）。同様にアプリケーションプログラムがファクス送信やＩＦＡＸ送信する際には、画像処理装置１１０のファクス機能に対してＰＣファクス送信プロトコルによってファクス送信ジョブが投入される（１６０５）。
【０２１０】
なお、ユーザはこれらの設定をデフォルトから変更し別の画像処理装置を選択してもよい。
【０２１１】
リモートデスクトップ接続１６０１が切断されると、リモートデスクトップサーバ１２１４は外部装置連携サブシステム群１２１３に設定したデフォルト設定を、設定以前の状態に復元する。
【０２１２】
図１７は、画像処理装置１１０上の操作パネルからリモートデスクトップクライアント機能によって遠隔装置上のアプリケーションプログラムにプリント処理を指示した状態の画面例を表す図である。図１１で説明済みの領域は同一の符号をつけて説明を省略する。
【０２１３】
リモートデスクトップ表示領域１１０２には、リモートデスクトッププロトコルによって取得した遠隔装置の操作画面データが表示されている。この操作画面によって、画像処理装置１１０から、遠隔装置上のアプリケーションプログラムを起動したり、参照したり、編集したり、印刷などの動作を指示したり、アプリケーションプログラムを停止したりできる。
【０２１４】
印刷ダイアログ１７０１は、遠隔装置上で稼動するアプリケーションプログラムが表示したプリントダイアログである。これは遠隔装置上のアプリケーションプログラムが遠隔装置のディスプレイに表示するプリントダイアログと同一である。画像処理装置１１０から、遠隔装置上のアプリケーションプログラムに対して印刷などの動作を指示したとき、このダイアログウィンドウがリモートデスクトップ表示領域１１０２にも表示される。
【０２１５】
一般に遠隔装置は、複数の画像処理装置から選択して特定の画像処理装置に対してプリントジョブなどを投入できるように構成されているため、印刷ダイアログ１７０１には選択可能な複数の画像処理装置がリストされている。ここで、図１５に示した手順にしたがって、デスクトップコンピュータ１０１（すなわち遠隔装置）上のリモートデスクトップサーバ１２１４が外部装置連携サブシステム群１２１３のデフォルト入出力先を画像処理装置１１０に設定している。したがって、印刷ダイアログ１７０１にリストされる選択可能な複数の画像処理装置の中で画像処理装置１１０に対応するプリンタが自動選択されている。
【０２１６】
なお、本実施形態では画像処理装置１１０がプリント機能、スキャナ機能、ボックス機能、送信機能を備える構成を説明した。しかし、画像処理装置１１０において、画像処理装置１１０が外部からの機能連携要求を受けつけ可能な画像処理機能のうち、受けつける連携機能の許可／禁止を選択できるように構成してもよい。画像処理装置１１０が受けつけを許可している連携機能は、リモートデスクトップクライアント２３０が送信するリモートデスクトッププロトコルに表現されて、デスクトップコンピュータ１０１へ伝えられる。
【０２１７】
本実施形態では画像処理装置から外部の情報処理装置を操作するために、操作端末側に組み込みリモートデスクトップクライアントを備える画像処理装置を、操作対象側に組み込みリモートデスクトップサーバを備える情報処理装置を、組み合わせて構成した。しかし、Ｗｅｂアプリケーション技術を用いて構成することもできる。この場合、操作端末側に組み込みＷｅｂブラウザを備える画像処理装置を、操作対象側に組み込みＷｅｂサーバを備える情報処理装置を、組み合わせて構成する。
【０２１８】
本実施形態によれば、画像処理装置１１０上で動作するリモートデスクトップクライアントから遠隔装置を遠隔制御するときに、リモートデスクトップサーバ１２１４が遠隔装置のデフォルト入出力先を画像処理装置１１０に設定する。これにより、遠隔装置上で動作するアプリケーションプログラムがプリント、イメージスキャン、文書ファイリングなどの処理のために用いる画像処理装置として、遠隔操作をしているユーザの手元の画像処理装置１１０が自動選択される。したがって、利便性が著しく向上する。
【０２１９】
本実施形態では、汎用的で組み合わせの自由度が高いクロスプラットフォームな技術であるリモートデスクトップ技術を用いた。したがって、多種多様な画像処理装置群と情報処理装置群の多くの組み合わせにおいて、リモートデスクトップクライアントが実装されているいかなる装置からも、リモートデスクトップサーバが実装されている装置が提供するサービスを操作できる。
【０２２０】
［第２実施形態］
本発明の第２実施形態としての画像処理システムについて説明する。本実施形態では、画像処理装置としてのＭＦＰから遠隔操作しようとする情報処理装置のソフトウェア構造の一部が、第１実施形態と異なる。他の構成及び動作については、第１実施形態と同様であるため、ここでは詳しい説明は省略する。
【０２２１】
図１８は、本実施形態の遠隔操作の対象である情報処理装置のソフトウェア構造を示すブロック図である。図１２と同様の構成については同一の符号をつけて説明を省略する。
【０２２２】
リモートデスクトップサーバ１２１４は、リモートデスクトップクライアント２３０からのリクエストに応じて、連携外部装置のデフォルトを、そのリモートデスクトップクライアント２３０が動作している画像処理装置１１０に設定する。
【０２２３】
リモートデスクトップサーバ１２１４はリモートデスクトップクライアントからの接続に応じて、仮想アイコンプログラム１８０１を起動し、ユーザがリモートデスクトップクライアント経由で、仮想アイコンを遠隔操作できるようにする。
【０２２４】
仮想アイコンプログラム１８０１は、リモートデスクトッププロトコルによって遠隔操作されるデスクトップコンピュータ１０１の操作画面に、仮想的なアイコンイメージを重ねて（オーバレイ）表示するプログラムである。
【０２２５】
仮想アイコンの例を図１９Ａ、図１９Ｂ、図２０Ａ、図２０Ｂに示す。これらの図には、プリンタアイコン１９０１、スキャナアイコン１９０２、ＭｙＴｒａｙアイコン２００１、ファクス送信アイコン２００２などが表わされている。
【０２２６】
図１９Ａのプリンタアイコン１９０１は、プリントサブシステム１２０５を用いたプリント出力を簡単に行うためのアイコンである。グラフィカルユーザインタフェース上のファイルアイコンをプリンタアイコン１９０１にドラッグアンドドロップすると、仮想アイコンプログラム１８０１はデフォルトのプリンタを用いてプリントする。たとえばリモートデスクトップクライアント２３０からの接続中であれば、そのプリントは画像処理装置１１０で実行される。
【０２２７】
図１９Ｂのスキャナアイコン１９０２は、スキャナドライバ１２１０を用いたスキャン画像入力を簡単に行うためのアイコンである。ユーザがスキャナアイコン１９０２をダブルクリックして開くと、仮想アイコンプログラム１８０１はデフォルトのスキャナを用いて画像スキャンを行う。さらに、画像スキャンによって取得した画像データを所定のフォルダ（ディレクトリ）内のファイルとして書き込み、グラフィカルユーザインタフェース上でそのフォルダに対応するウィンドウを開く。たとえばリモートデスクトップクライアント２３０からの接続中であれば、そのスキャンは画像処理装置１１０で実行される。
【０２２８】
図２０ＡのＭｙＴｒａｙアイコン２００１は、ネットワーク共有ファイルシステム１２１１を用いたファイルのストアとリトリーブを簡単に行うためのアイコンである。ＭｙＴｒａｙアイコン２００１をダブルクリックして開くと、仮想アイコンプログラム１８０２はデフォルトのネットワーク共有ファイルシステムをマウントして、そのマウントポイントに対応するフォルダに対応するウィンドウを開く。ドラッグアンドドロップによって、このウィンドウからファイルアイコンを取り出したり、このウィンドウへファイルアイコンを移動したりすると、そのファイルの取得と保存は画像処理装置１１０のハードディスクで実行される。
【０２２９】
図２０Ｂのファクス送信アイコン２００２は、データ転送プロトコルライブラリ１２１２を用いたデータ転送を簡単に行うためのアイコンである。グラフィカルユーザインタフェース上のファイルアイコンをファクス送信アイコン２００２にドラッグアンドドロップすると、仮想アイコンプログラム１８０１はデフォルトのデータ転送先にデータを転送する。そのデータ転送は画像処理装置１１０に対してＰＣファクス送信プロトコルで転送され、画像処理装置１１０をファクス送信サーバとして用いたファクス送信が実行される。
【０２３０】
本実施形態によれば、第１実施形態の構成に加えて、リモートデスクトップクライアントからの接続中、外部装置連携を行うアプリケーションプログラム（仮想アイコンプログラム）を自動的に起動できる。また、リモートデスクトップクライアントに表示されるユーザインタフェース画面に外部装置連携を象徴するアイコンを表示する。このため、画像処理装置上のリモートデスクトップクライアントから遠隔操作しているとき、速やかにかつ簡便に画像処理を伴うサービスを利用できる。
【０２３１】
［第３実施形態］
本発明の第３実施形態としての画像処理システムについて説明する。本実施形態では、画像処理装置としてのＭＦＰから遠隔操作しようとする情報処理装置のソフトウェア構造が、第１実施形態と異なる。他の構成及び動作については、第１実施形態と同様であるため、ここでは詳しい説明は省略する。
【０２３２】
図２１は、情報処理装置のソフトウェア構造を示すブロック図である。
【０２３３】
Ｗｅｂアプリケーション２１０１は、Ｗｅｂサーバ２１０２が提供するフレームワークで動作する分散型のアプリケーションであり、遠隔のＷｅｂブラウザから接続され操作される。Ｗｅｂアプリケーション２１０１は、アプリケーションロジック２１０４、デバイス連携ロジック２１０５、ユーザエージェント判定部２１０６を含む。
【０２３４】
Ｗｅｂサーバ２１０２は、ネットワークドライバ２１０３を介して、遠隔のＷｅｂブラウザから受信したＨＴＴＰ要求をＷｅｂアプリケーション２１０１に転送する。そして、Ｗｅｂアプリケーション２１０１が動的に生成したＨＴＭＬなどのマークアップ文書や画像などのマルチメディアファイルをＨＴＴＰ応答として遠隔のＷｅｂブラウザへ送信する。Ｗｅｂサーバ２１０２とＷｅｂアプリケーション２１０１との間のインタフェースはよく知られたコモンゲートウェイインタフェースやＪａｖａのＳｅｒｖｌｅｔ仕様などにしたがって実装される。特にＷｅｂアプリケーションが動作するプラットフォームとして構成されたＷｅｂサーバ２１０２は一般に、アプリケーションサーバ、又は、Ｗｅｂアプリケーションサーバと呼ばれるものである。
【０２３５】
ネットワークドライバ２１０３は、サーバコンピュータ１０２とＬＡＮ１００のネットワーク接続を制御するデバイスドライバである。プロトコルスタックとしてＴＣＰ／ＩＰなどのプロトコル制御を行い、ソケットインタフェースなどのアプリケーションプログラミングインタフェースをＷｅｂサーバ２１０２に提供する。
【０２３６】
アプリケーションロジック２１０４は、画像処理を含むサービスを提供するＷｅｂアプリケーションのアルゴリズムの中枢である。アプリケーションロジック２１０４はサービスを実行する過程で、部分的な画像処理ジョブをデバイス連携ロジック２１０５に行わせる。
【０２３７】
デバイス連携ロジック２１０５は、アプリケーションロジック２１０４のために外部装置と連携するサービスを提供するサブシステム群を含む。デバイス連携ロジック２１０５のサブシステム群は、プリントサブシステム１２０５、スキャナドライバ１２１０、ネットワーク共有ファイルシステム１２１１、データ転送プロトコルライブラリ１２１２のそれぞれに対応するサブシステムを含む。アプリケーションロジック２１０４からの指示に応じて、それぞれのサブシステムが連携する画像処理装置はネットワークに接続された画像処理装置群の中から選択可能である。また連携する装置の選択が特に指定されない場合に用いられる連携装置のデフォルト設定も保持している。さらに、ユーザエージェント判定部２１０６からの指示に応じて、連携装置のデフォルト設定を変更することもできる。
【０２３８】
ユーザエージェント判定部２１０６は、Ｗｅｂサーバ２１０２がＷｅｂブラウザから受信したＨＴＴＰ要求を解析することによって、遠隔操作の操作元の装置が、連携に用いる画像処理機能のいずれかを提供可能であるか否かを判定する。遠隔操作の操作元の装置が連携に用いる画像処理機能を提供可能である場合、ユーザエージェント判定部２１０６はその操作元の装置をデバイス連携ロジック２１０５の対応するサブシステム群が保持している連携画像処理装置のデフォルトに設定する。
【０２３９】
図２２は、サーバコンピュータ１０２において実行されるＷｅｂアプリケーション２１０１のセッション開始処理の手順を示すフローチャートである。遠隔のＷｅｂブラウザ２１１から遠隔操作セッションの接続要求を受信したとき、この処理が呼び出される。
【０２４０】
ステップ２２０１では、ユーザエージェント判定部２１０６がＷｅｂサーバ２１０２が受信したＨＴＴＰ要求に基づいて要求元であるユーザエージェント（Ｗｅｂブラウザ）の情報を検査する。
【０２４１】
ステップ２２０２では、ユーザエージェントが画像処理機能を提供する装置に組み込まれた組み込みＷｅｂブラウザ２１１であるか否かを判定する。判定の論理は、ＨＴＴＰ要求に含まれるＨＴＴＰリクエストヘッダフィールドのパターンマッチングによって行う。
【０２４２】
「Ｕｓｅｒ−Ａｇｅｎｔリクエストヘッダフィールド」に記載された情報に基づいて、ユーザエージェント（Ｗｅｂブラウザ２１１）の識別情報や実行プラットフォームソフトウェア（Ｗｅｂブラウザ２１１の場合は画像処理装置）の識別情報を知ることができる。これらの識別情報によって、ユーザエージェントが画像処理装置に組み込まれたＷｅｂブラウザ２１１であるか否かを判定する。
【０２４３】
あるいは、Ｗｅｂブラウザ２１１が発行するＨＴＴＰリクエストにおいて、ユーザエージェントが稼動する装置が提供できる画像処理機能の種類を識別する情報を記載しておくこともできる。「Ａｃｃｅｐｔリクエストヘッダフィールド」の拡張部や、「Ｘ−」からはじまるユーザ定義のリクエストヘッダフィールドに、記載することが可能である。これらの識別情報によって、ユーザエージェントが画像処理機能を提供可能な装置に組み込まれたＷｅｂブラウザ２１１であるか否かを判定できる。判定が真ならばステップ２２０３に進み、偽ならば一連の手続きを完了し復帰する。ステップ２２０３では、前ステップの判定結果に基づいて、ユーザエージェントが稼動する接続元の画像処理装置を、デバイス連携ロジック２１０５の連携装置又はデフォルト装置として設定する。次いで、一連の手続きを完了する。
【０２４４】
図２３は、第３実施形態のシステムの相互作用を説明するブロック図である。ユーザ２３００は画像処理装置１１０の前に立ち、操作部からＷｅｂブラウザ２１１を操作する。ユーザ２３００はネットワークに接続された装置群のうちどの装置を遠隔操作するか選択し、サーバコンピュータ１０２を選ぶ。この結果、Ｗｅｂブラウザ２１１とＷｅｂサーバ２１０２との間に接続が張られＨＴＴＰによる要求と応答が行われる。
【０２４５】
Ｗｅｂサーバ２１０２は、ＨＴＴＰ要求をＷｅｂアプリケーション２１０１に転送し、Ｗｅｂアプリケーション２１０１からの応答をＷｅｂブラウザ２１１に転送する。
【０２４６】
アプリケーションロジック２１０４は、データベースマネージメントシステム（ＤＢＭＳ）２３０６などのサーバコンピュータ１０２が持つ豊富なコンピューティング資源を用いて、Ｗｅｂブラウザ２１１から遠隔操作できる各種のサービスを提供する。Ｗｅｂアプリケーション２１０１が提供可能なサービスには文書管理システムやワークフロー処理システムなどがある。これらのサービスはその一連の処理の中に、連携装置に委譲する画像処理ジョブを含んでいる。
【０２４７】
Ｗｅｂアプリケーション２１０１は、Ｗｅｂブラウザからの利用セッションごとに接続元が画像処理機能を持つ装置であるか否かを判定する。この例で画像処理装置１１０はプリント機能、スキャナ機能、ボックス機能、送信機能を有する画像処理装置であると判定される。そこで、Ｗｅｂアプリケーション２１０１は、デバイス連携ロジック２１０５の各画像処理機能に関して連携する画像処理装置として画像処理装置１１０を設定する。この設定は各Ｗｅｂブラウザからの利用セッションが継続する期間、Ｗｅｂアプリケーション２１０１が画像処理ジョブを行う際に、デフォルトの連携装置として画像処理装置１１０が自動設定されている。デバイス連携ロジック２１０５の連携装置設定は、同時に継続している複数のＷｅｂブラウザからの利用セッションごとに、利用セッションが継続する期間、それぞれ保持される。
【０２４８】
この結果、もしユーザがデフォルトから設定をあえて変更しなければ、Ｗｅｂアプリケーション２１０１がプリントする際には、画像処理装置１１０のプリント機能に対してＬＰＲなどのプリントプロトコルによってプリントジョブが投入される（２３０２）。同様にＷｅｂアプリケーション２１０１が画像をスキャンする際には、画像処理装置１１０のスキャナ機能に対してネットワークＴＷＡＩＮなどのスキャナ制御プロトコルによってスキャンジョブ（プルスキャン）が投入される（２３０３）。同様にＷｅｂアプリケーション２１０１が画像ファイリングのストアやリトリーブを行う際には、画像処理装置１１０のボックス機能がネットワークファイル共有プロトコルによってマウントされ、データファイルのストアやリトリーブが行われる（２３０４）。同様にＷｅｂアプリケーション２１０１がファクス送信やＩＦＡＸ送信する際には、画像処理装置１１０のファクス機能に対してＰＣファクス送信プロトコルによってファクス送信ジョブが投入される（２３０５）。
【０２４９】
なお、ユーザはこれらの設定をデフォルトから変更し別の画像処理装置を選択可能なように構成してもよい。
【０２５０】
図２４は、画像処理装置１１０上の操作パネルで組み込みＷｅｂブラウザ機能によってＷｅｂアプリケーション２１０１として実装された文書管理システムに接続し遠隔操作している画面例を表す図である。図９で説明済みの領域は同一の符号をつけて説明を省略する。
【０２５１】
コンテンツ表示領域９０５には、文書管理システムＷｅｂアプリケーションの操作画面２４００が表示されている。
【０２５２】
文書操作領域２４０１は、文書管理システムが扱う文書ファイル並びに文書ファイルを格納するフォルダやキャビネットの操作を行うための領域である。
【０２５３】
文書管理サーバフォルダリスト２４０２は、サーバコンピュータ１０２内部のＤＢＭＳ２３０６などに格納された文書フォルダ群を表示するリストである。このリストを選択すると、文書操作領域２４０１においてそのフォルダ内に含まれる文書やフォルダを操作できる。
【０２５４】
連携装置表示２４０３は、連携装置として選択されている画像処理装置の識別情報を表示している。この例では画像処理装置１１０上の組み込みＷｅｂブラウザ２１１から操作しているので、連携装置として画像処理装置１１０が自動的に設定されている。もし、デスクトップコンピュータ１０１など画像処理機能を持たない装置上のＷｅｂブラウザから操作している場合には、連携装置は特定の画像処理装置に設定されず、ユーザが明示的に選択する必要がある。
【０２５５】
連携装置変更ボタン２４０４は、連携装置として選択される画像処理装置を変更するためのボタンである。連携装置をたとえば画像処理装置１３０などに変更できる。
【０２５６】
連携装置フォルダリスト２４０５は、画像処理装置と連携する機能である。選択されている画像処理装置１１０が提供するボックス機能（組み込み文書管理システム、組み込み画像ファイリングシステム）の格納領域をマウントして、そこに格納された文書フォルダ群を表示するリストである。このリストを選択すると、文書操作領域２４０１においてそのフォルダ内に含まれる文書やフォルダを操作できる。これらの処理はデバイス連携ロジック２１０５からボックス機能へのジョブ要求２３０４によって達成される。
【０２５７】
スキャンして保存ボタン２４０６は、画像処理装置と連携する機能であり、選択されている画像処理装置１１０のスキャナ機能を用いて原稿の画像データを読み取り、文書操作領域２４０１に選択されているフォルダ内に保存する。この処理はデバイス連携ロジック２１０５からスキャナ機能へのジョブ要求２３０３によって達成される。
【０２５８】
文書をプリントボタン２４０７は、画像処理装置と連携する機能であり、選択されている画像処理装置１１０のプリント機能を用いて、文書操作領域２４０１に選択されている文書をプリントする。この処理はデバイス連携ロジック２１０５からプリント機能へのジョブ要求２３０２によって達成される。
【０２５９】
装置間文書コピーボタン２４０８は、画像処理装置と連携する機能である。選択されている画像処理装置１１０が提供するボックス機能（組み込み文書管理システム、組み込み画像ファイリングシステム）に対するファイル転送プロトコルによって、文書ファイルの転送を行う。この処理はデバイス連携ロジック２１０５からボックス機能へのジョブ要求２３０４によって達成される。アップロード要求の場合は、サーバコンピュータ１０２側に格納された文書が、画像処理装置１１０側にコピーされる。ダウンロード要求の場合は、画像処理装置１１０側に格納された文書が、サーバコンピュータ１０２側にコピーされる。
【０２６０】
文書をファクス送信ボタン２４０９は、画像処理装置と連携する機能であり、選択されている画像処理装置１１０が提供する送信機能を用いて、文書操作領域２４０１に選択されている文書を送信する。この処理はデバイス連携ロジック２１０５から送信機能へのジョブ要求２３０５によって達成される。
【０２６１】
連携装置が選択されていないとき、スキャンして保存ボタン２４０６ないし文書をファクス送信ボタン２４０９をクリックすると、ユーザが連携装置変更ボタン２４０４をクリックしたときと同様に連携装置の明示的な設定を促がす。又は、連携装置が選択されていないときには、スキャンして保存ボタン２４０６ないし文書をファクス送信ボタン２４０９は表示されないかクリックできないように構成してもよい。
【０２６２】
図２５は、画像処理装置１１０上の操作パネルで組み込みＷｅｂブラウザ機能によってＷｅｂアプリケーション２１０１として実装されたワークフロー処理システムに接続し遠隔操作している画面例を表す図である。図９で説明済みの領域は同一の符号をつけて説明を省略する。
【０２６３】
コンテンツ表示領域９０５には、ワークフロー処理システムのＷｅｂアプリケーション２１０１の操作画面２５００が表示されている。ここでは全体が５ステップからなる購買申請ワークフローの３番目のステップとして、捺印又はサインされた紙の見積書などの画像データをワークフロー処理システムへ登録する処理を操作しようとしている。
【０２６４】
連携スキャナ表示２５０１は、連携装置として選択されている画像処理装置の識別情報を表示している。この例では画像処理装置１１０上の組み込みＷｅｂブラウザ２１１から操作しているので、連携装置として画像処理装置１１０が自動的に設定されている。もし、デスクトップコンピュータ１０１など画像処理機能を持たない装置上のＷｅｂブラウザから操作している場合には、連携装置は特定の画像処理装置に設定されず、ユーザが明示的に選択する必要がある。
【０２６５】
スキャナを選択ボタン２５０２は、連携装置として選択される画像処理装置を変更するためのボタンである。連携装置をたとえば画像処理装置１３０などに変更できる。
【０２６６】
スキャンスタートボタン２５０３は、画像処理装置と連携する機能であり、選択されている画像処理装置１１０のスキャナ機能を用いて原稿の画像データを読み取り、当該ワークフローに対応するＤＢＭＳ中のレコードに保存する。この処理はデバイス連携ロジック２１０５からスキャナ機能へのジョブ要求２３０３によって達成される。
【０２６７】
原稿の画像データが保存できると、ワークフロー処理システムのＷｅｂアプリケーション２１０１は、ワークフローの次のステップを操作するためのページのＨＴＭＬを応答する。この結果、操作画面２５００は購買申請ワークフローの４番目のステップを操作するための画面に切り替わる。
【０２６８】
連携装置が選択されていないとき、スキャンスタートボタン２５０３をクリックすると、ユーザがスキャナを選択ボタン２５０２をクリックしたときと同様に連携装置の明示的な設定を促がす。又は、連携装置が選択されていないときには、スキャンスタートボタン２５０３は表示されないかクリックできないように構成してもよい。
【０２６９】
なお、本実施形態では画像処理装置１１０がプリント機能、スキャナ機能、ボックス機能、送信機能を備える構成を説明した。しかし、画像処理装置１１０において、画像処理装置１１０が外部からの機能連携要求を受けつけ可能な画像処理機能のうち受けつける連携機能の許可／禁止を選択できるように構成してもよい。画像処理装置１１０が受けつけを許可している連携機能は、組み込みＷｅｂブラウザ２１１が送信するＨＴＴＰ要求２３０１のリクエストヘッダに表現されて、サーバコンピュータ１０２へ伝えられる。
【０２７０】
本実施形態では、画像処理装置１１０上で動作する組み込みＷｅｂブラウザから遠隔装置を遠隔制御するときに、Ｗｅｂアプリケーション２１０１が連携する入出力先を画像処理装置１１０に設定するように構成した。よって、遠隔装置上で動作するＷｅｂアプリケーションがプリント、イメージスキャン、文書ファイリングなどの処理のために用いる画像処理装置として、遠隔操作をしているユーザの手元の画像処理装置１１０が自動選択される。したがって、利便性が著しく向上する。
【０２７１】
また、本実施形態では、汎用的で組み合わせの自由度が高いクロスプラットフォームな技術であるＷｅｂアプリケーション技術を用いた。したがって、多種多様な画像処理装置群と情報処理装置群の多くの組み合わせにおいて、Ｗｅｂブラウザが実装されている装置であればどの装置からであっても、Ｗｅｂアプリケーションが実装されている装置が提供するサービスを操作できる。
【０２７２】
［第４実施形態］
本発明の第４実施形態としての画像処理システムについて説明する。本実施形態では、画像処理装置としてのＭＦＰから画像処理装置を遠隔操作するシステムである点で、第１実施形態と異なる。他の構成及び動作については、第１実施形態と同様であるため、ここでは詳しい説明は省略する。
【０２７３】
図２６は、第４実施形態のシステムの相互作用を説明するブロック図である。本実施形態では、画像処理装置１２０のボックス機能とファクシミリ送信機能を備え、画像処理装置１１０はボックス機能と送信機能を備えない、或いは使わない構成として説明する。この構成は、画像処理装置１１０がボックス機能やファクシミリ送信機能を備えないか、又は、画像処理装置１１０のこれらの機能が故障のため取り外されている場合に相当する。
【０２７４】
ユーザ２６００は画像処理装置１１０の前に立ち、操作部からＷｅｂブラウザ２１１を操作する。ユーザ２６００はネットワークに接続された装置群のうちどの装置を遠隔操作するか選択し、手元の画像処理装置１１０とネットワーク接続された外部の画像処理装置１２０を選ぶ。この結果、Ｗｅｂブラウザ２１１とＷｅｂサーバ２０３との間に接続２６０１が張られＨＴＴＰによる要求と応答が行われる。
【０２７５】
Ｗｅｂサーバ２０３は、ＨＴＴＰ要求をＷｅｂアプリケーション２６１０に転送し、Ｗｅｂアプリケーション２６１０からの応答をＷｅｂブラウザ２１１に転送する。
【０２７６】
Ｗｅｂアプリケーション２６１０のアプリケーションロジック２６１１は、画像処理装置１２０が持つ豊富な画像処理資源を用いて、Ｗｅｂブラウザ２１１から遠隔操作できる各種のサービスを提供する。Ｗｅｂアプリケーション２６１０が提供可能なサービスには連携ファクスシステムや連携ボックスシステムなどがある。これらのサービスはその一連の処理の中に、他の連携装置に委譲することもできる画像処理ジョブを含んでいる。
【０２７７】
Ｗｅｂアプリケーション２６１０は、Ｗｅｂブラウザからの利用セッションごとに接続元が画像処理機能を持つ装置であるか否かを判定する。この例で画像処理装置１１０はプリント機能、スキャナ機能、を有する画像処理装置であると判定される。そこで、Ｗｅｂアプリケーション２６１０は、デバイス連携ロジック２６１２のプリント機能とスキャン機能に関して連携する画像処理装置として画像処理装置１１０を設定する。この設定は各Ｗｅｂブラウザからの利用セッションが継続する期間、Ｗｅｂアプリケーション２６１０が画像処理ジョブを行う際に、デフォルトの連携装置として画像処理装置１１０が自動設定されている。デバイス連携ロジック２６１２の連携装置設定は、同時に継続している複数のＷｅｂブラウザからの利用セッションごとに、利用セッションが継続する期間、それぞれ保持される。
【０２７８】
この結果、もしユーザがデフォルトから設定をあえて変更しなければ、Ｗｅｂアプリケーション２６１０がプリントする際には、画像処理装置１１０のプリント機能に対してＬＰＲなどのプリントプロトコルによってプリントジョブが投入される（２６０２）。Ｗｅｂアプリケーション２６１０が、ファクシミリの送信対象またはボックスでの保存対象としての原稿画像をスキャンする際も同様である。つまり、画像処理装置１１０のスキャナ機能に対してネットワークＴＷＡＩＮなどのスキャナ制御プロトコルによってスキャンジョブ（プルスキャン）が投入される（２６０３）。
【０２７９】
Ｗｅｂアプリケーション２６１０が画像ファイリングのストアやリトリーブを行う場合には、画像処理装置１２０のボックス機能が用いられて、データファイルのストアやリトリーブが行われる（２６０４）。同様にＷｅｂアプリケーション２１０１がファクス送信やＩＦＡＸ送信する際には、画像処理装置１２０のファクス機能を用いてファクス送信ジョブが投入される（２６０５）。
【０２８０】
なお、ユーザはこれらの設定をデフォルトから変更し別の画像処理装置を選択可能なように構成してもよい。
【０２８１】
図２７は、画像処理装置１１０上の操作パネルで組み込みＷｅｂブラウザ機能によって、画像処理装置１２０上のＷｅｂアプリケーション２６１０として実装された連携ファクス送信機能に接続し遠隔操作している画面例を表す図である。図９で説明済みの領域は同一の符号をつけて説明を省略する。
【０２８２】
コンテンツ表示領域９０５には、連携ファクス送信機能のＷｅｂアプリケーション２６１０の操作画像２７００が表示されている。
【０２８３】
宛先入力フィールド２７０１は、ファクスやＩＦＡＸやｅ−ｍａｉｌ送信などの、送信宛先の電話番号やアドレスを入力するフィールドである。
【０２８４】
宛先表ボタン２７０２は、宛先表データベースにあらかじめ保存した複数の宛先の中から送信宛先を選択するためのボタンである。
【０２８５】
読み込み設定領域２７０３は、原稿入力用スキャナの制御パラメータを表示及び設定するための領域である。この領域のチェックボックスとボタンによって、原稿の両面を読み取るかどうか、原稿給紙装置に備えられたスタンプ（不図示）によって、読み取った原稿の用紙へ「済」スタンプをつけるかどうか、などを設定できる。
【０２８６】
原稿入力用スキャナ表示２７０４は、送信原稿を読み取るためのスキャナ機能を提供する連携装置として選択されている画像処理装置の識別情報を表示している。この例では連携可能なスキャナ機能を持つ画像処理装置１１０上の組み込みＷｅｂブラウザ２１１から操作しているので、連携装置として画像処理装置１１０が自動的に設定されている。もし、デスクトップコンピュータ１０１など連携可能なスキャナ機能を持たない装置上のＷｅｂブラウザから操作している場合には、連携装置は特定の画像処理装置に設定されず、ユーザが明示的に選択する必要がある。
【０２８７】
スキャナを選択ボタン２７０５は、送信原稿を読み取るためのスキャナ機能を提供する連携装置として選択される画像処理装置を変更するためのボタンである。連携装置をたとえば画像処理装置１３０などに変更できる。Ｗｅｂアプリケーションが動作している画像処理装置１２０に変更することもできる。ただし、画像処理装置１１０以外を選択した場合、ユーザは原稿の物理的な用紙をスキャナにセットするためにこれらの装置の場所まで移動しなければならない。一般に用紙を読み込ませるスキャナ機能の処理は、Ｗｅｂブラウザ２１１の操作をしている手元の画像処理装置１１０が備えるスキャナを用いるのが最適であり、本実施形態によれば連携に最適なスキャナを自動的に選択できる。
【０２８８】
送信レポート用プリンタ表示２７０６は、送信結果レポートをプリントするための連携装置として選択されている画像処理装置の識別情報を表示している。この例では連携可能なプリント機能を持つ画像処理装置１１０上の組み込みＷｅｂブラウザ２１１から操作しているので、連携装置として画像処理装置１１０が自動的に設定されている。もし、デスクトップコンピュータ１０１など連携可能なプリント機能を持たない装置上のＷｅｂブラウザから操作している場合には、連携装置は特定の画像処理装置に設定されず、ユーザが明示的に選択する必要がある。
【０２８９】
プリンタを選択ボタン２７０７は、送信結果レポートをプリントするための連携装置として選択される画像処理装置を変更するためのボタンである。連携装置をたとえば画像処理装置１３０などに変更できる。Ｗｅｂアプリケーションが動作している画像処理装置１２０に変更することもできる。ただし、画像処理装置１１０以外を選択した場合、ユーザはプリント出力の物理的な用紙をプリンタの排紙トレイから回収するためにこれらの装置の場所まで移動しなければならない。一般に用紙を出力するプリント機能の処理は、Ｗｅｂブラウザ２１１の操作をしている手元の画像処理装置１１０が備えるプリンタを用いるのが最適であり、本実施形態によれば連携に最適なプリンタを自動的に選択できる。
【０２９０】
スタートボタン２７０８は、ファクス送信ジョブを起動するためのボタンである。スタートボタンがクリックされると、画像処理装置１２０上で動作している連携ファクス送信機能のＷｅｂアプリケーション２６１０は、まず、連携先として選択されている画像処理装置１１０のスキャナ機能を用いて原稿の画像データを読み取る。すなわち、この処理はデバイス連携ロジック２６１２から画像処理装置１１０のスキャナ機能へのスキャンジョブ２６０３によって委譲される。スキャンジョブ２６０３には、読み込み設定領域２７０３で設定された読み取りパラメータを指定する。ついで、Ｗｅｂアプリケーション２６１０は画像処理装置１２０が備える送信機能を用いて、読み取った画像データを送信する。ついで、Ｗｅｂアプリケーション２６１０は連携先として選択されている画像処理装置１１０のプリント機能を用いて通信結果レポートを出力する。すなわち、この処理はデバイス連携ロジック２６１２から画像処理装置１１０のプリント機能へのプリントジョブ２６０２によって委譲される。
【０２９１】
連携装置が選択されていないとき、スタートボタン２７０８をクリックすると、ユーザがスキャナを選択ボタン２７０５をクリックしたときと同様に連携装置の明示的な設定を促がす。又は、連携装置が選択されていないときには、スタートボタン２７０８は表示されないかクリックできないように構成してもよい。
【０２９２】
図２８は、画像処理装置１１０上の操作パネルで組み込みＷｅｂブラウザ機能によって、画像処理装置１２０上のＷｅｂアプリケーション２６１０として実装された連携ボックス機能に接続し遠隔操作している画面例を表す図である。図９で説明済みの領域は同一の符号をつけて説明を省略する。
【０２９３】
コンテンツ表示領域９０５には、連携ボックス機能のＷｅｂアプリケーション２６１０の操作画面２８００が表示されている。
【０２９４】
ボックス文書リスト２８０１は、画像処理装置１２０のボックス機能に蓄積された文書ファイルのリストである。リストの各文書に対応するチェックボックスをオンにすると文書操作の対象文書を選択できる。
【０２９５】
全選択ボタン２８０２は、リストの全文書を文書操作の対象文書として選択するボタンである。
【０２９６】
文書操作ボタン群２８０３は、選択された文書に対する操作を行うためのボタン群である。詳細情報ボタンによって、選択文書の詳細情報表示と文書名の変更ができる。消去ボタンによって、選択文書を消去できる。移動／複製ボタンによって、選択文書を他のボックスに移動したり複製したりできる。編集ボタンによって、選択文書の画像を表示したり、複数の選択文書を結合保存したり、文書挿入したり、ページ消去したりできる。
【０２９７】
原稿入力用スキャナ表示２８０４は、ボックス保存原稿を読み取るためのスキャナ機能を提供する連携装置として選択されている画像処理装置の識別情報を表示している。この例では連携可能なスキャナ機能を持つ画像処理装置１１０上の組み込みＷｅｂブラウザ２１１から操作しているので、連携装置として画像処理装置１１０が自動的に設定されている。もし、デスクトップコンピュータ１０１など連携可能なスキャナ機能を持たない装置上のＷｅｂブラウザから操作している場合には、連携装置は特定の画像処理装置に設定されず、ユーザが明示的に選択する必要がある。
【０２９８】
スキャナを選択ボタン２８０５は、ボックス保存原稿を読み取るためのスキャナ機能を提供する連携装置として選択される画像処理装置を変更するためのボタンである。連携装置をたとえば画像処理装置１３０などに変更できる。Ｗｅｂアプリケーションが動作している画像処理装置１２０に変更することもできる。ただし、画像処理装置１１０以外を選択した場合、ユーザは原稿の物理的な用紙をスキャナにセットするためにこれらの装置の場所まで移動しなければならない。一般に用紙を読み込ませるスキャナ機能の処理は、Ｗｅｂブラウザ２１１の操作をしている手元の画像処理装置１１０が備えるスキャナを用いるのが最適であり、本実施形態によれば連携に最適なスキャナを自動的に選択できる。
【０２９９】
文書プリント用プリンタ表示２８０６は、選択文書をプリントするための連携装置として選択されている画像処理装置の識別情報を表示している。この例では連携可能なプリント機能を持つ画像処理装置１１０上の組み込みＷｅｂブラウザ２１１から操作しているので、連携装置として画像処理装置１１０が自動的に設定されている。もし、デスクトップコンピュータ１０１など連携可能なプリント機能を持たない装置上のＷｅｂブラウザから操作している場合には、連携装置は特定の画像処理装置に設定されず、ユーザが明示的に選択する必要がある。
【０３００】
プリンタを選択ボタン２８０７は、選択文書をプリントするための連携装置として選択される画像処理装置を変更するためのボタンである。連携装置をたとえば画像処理装置１３０などに変更できる。Ｗｅｂアプリケーションが動作している画像処理装置１２０に変更することもできる。ただし、画像処理装置１１０以外を選択した場合、ユーザはプリント出力の物理的な用紙をプリンタの排紙トレイから回収するためにこれらの装置の場所まで移動しなければならない。一般に用紙を出力するプリント機能の処理は、Ｗｅｂブラウザ２１１の操作をしている手元の画像処理装置１１０が備えるプリンタを用いるのが最適であり、本実施形態によれば連携に最適なプリンタを自動的に選択できる。
【０３０１】
プリントボタン２８０８は、選択文書をプリントするためのボタンである。このボタンがクリックされると、画像処理装置１２０上で動作している連携ボックス機能のＷｅｂアプリケーション２６１０は、連携先として選択されている画像処理装置１１０のプリント機能を用いて選択文書を出力する。すなわち、この処理はデバイス連携ロジック２６１２から画像処理装置１１０のプリント機能へ送信されたプリントジョブ２６０２によって委譲される。
【０３０２】
原稿読み込み２８０９は、原稿をスキャンしてその画像データを文書としてボックスに保存するためのボタンである。このボタンがクリックされると、画像処理装置１２０上で動作している連携ボックス機能のＷｅｂアプリケーション２６１０は、まず、連携先として選択されている画像処理装置１１０のスキャナ機能を用いて原稿の画像データを読み取る。すなわち、この処理はデバイス連携ロジック２６１２から画像処理装置１１０のスキャナ機能へのスキャンジョブ２６０３によって委譲される。ついで、Ｗｅｂアプリケーション２６１０は画像処理装置１２０が備えるボックス機能を用いて、読み取った画像データをボックスに保存する。
【０３０３】
送信ボタン２８１０は、選択文書を送信するためのボタンである。Ｗｅｂアプリケーション２６１０は画像処理装置１２０が備える送信機能を用いて、読み取った画像データを送信する。
【０３０４】
なお、連携装置が選択されていないとき、プリントボタン２８０８をクリックすると、ユーザがスキャナを選択ボタン２８０５をクリックしたときと同様に連携装置の明示的な設定を促がす。又は、連携装置が選択されていないときには、プリントボタン２８０８は表示されないかクリックできないように構成してもよい。
【０３０５】
なお、本実施形態では画像処理装置１１０が送信機能とボックス機能を備えない場合を説明したが、この場合だけでなく他の場合であっても、画像処理装置１１０から画像処理装置１１０の機能連携と遠隔操作は役立つ。たとえば画像処理装置１１０のこれらの機能が一時的に不調な場合を想定してもよい。又は、画像処理装置１２０の送信機能の方が画像処理装置１１０よりもユーザ２６００のニーズに合致している場合を想定してもよい。たとえば、通信料金が安い、通信料金の課金を１台の装置に集中したい、高速、高品位、高機能、送信機能の利用権限が画像処理装置１２０にだけ付与されている、などである。または、文書を手元の画像処理装置１１０のボックス機能に保存するのではなく、遠隔の画像処理装置１２０のボックス機能に保存したい場合を想定してもよい。既に画像処理装置１２０に保存されている文書を、手元の画像処理装置１１０から操作したい場合を想定してもよい。
【０３０６】
なお、本実施形態では画像処理装置１１０がプリント機能とスキャナ機能を備える構成を説明した。しかし、画像処理装置１１０において、画像処理装置１１０が外部からの機能連携要求を受けつけ可能な画像処理機能のうち受けつける連携機能の許可／禁止を選択できるように構成してもよい。画像処理装置１１０が受けつけを許可している連携機能は、組み込みＷｅｂブラウザ２１１が送信するＨＴＴＰ要求のリクエストヘッダに表現されて、画像処理装置１２０へ伝えられる。
【０３０７】
なお、本実施形態では画像処理装置から他の画像処理装置を操作するために、操作端末側に組み込みＷｅｂブラウザを備える画像処理装置と、操作対象側に組み込みＷｅｂサーバを備える画像処理装置とを、組み合わせて構成した。しかし、リモートデスクトップ技術を用いて構成することもできる。この場合、操作端末側に組み込みリモートデスクトップクライアントを備える画像処理装置を、操作対象側に組み込みリモートデスクトップサーバを備える画像処理装置を、組み合わせて構成する。
【０３０８】
以上説明したように、本実施形態によれば、ファクス送信ユニットを持たない画像処理装置などでスキャンし読み取った画像データを、ファクス送信ユニットを備える他の画像処理装置を用いてファクス送信することができる。また、送信結果レポートなどのプリントは自動的に手元の画像処理装置へと出力できる。
【０３０９】
また、本実施形態によれば、ボックス機能を持たない画像処理装置などでスキャンして読み取った文書データを他の画像処理装置のボックス機能にストアすることができる。また、他の画像処理装置のボックス機能を遠隔操作して文書プリントする場合には自動的に手元の画像処理装置へと出力できる。
【０３１０】
また、本実施形態によれば、汎用的で組み合わせの自由度が高いクロスプラットフォームな技術であるＷｅｂアプリケーション技術を用いた。したがって、多種多様な画像処理装置群と情報処理装置群の多くの組み合わせにおいて、Ｗｅｂブラウザが実装されている装置であればどの装置からであっても、Ｗｅｂアプリケーションが実装されている装置が提供するサービスを操作できる。
【０３１１】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０３１２】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。したがって、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【０３１３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０３１４】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクがある。また、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０３１５】
その他、クライアントＰＣのブラウザを用いてインターネットサイトに接続し、本発明に係るプログラムそのもの、若しくは更に自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードするという利用方法もある。また、本発明に係るプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の範疇に含まれる。  また、本発明に係るプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０３１６】
また、プログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０３１７】
さらに、ＰＣの機能拡張ユニットに備わるメモリに本発明に係るプログラムが書き込まれ、そのプログラムに基づき、その機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行なう場合も、本発明の範疇に含まれる。
【図面の簡単な説明】
【０３１８】
【図１】本発明の一実施形態に係る画像処理システムの全体構成を示すブロック図である。
【図２】画像処理装置１１０，１２０，１３０の各々で実行されるソフトウェアの構成を示すブロック図である。
【図３】画像処理装置１１０のハードウェア構成を示すブロック図である。
【図４】画像処理装置１１０の外観を示す斜視図である。
【図５】画像処理装置１１０の操作部１１２の構成を示す平面図である。
【図６】画像処理装置１１０の操作部１１２及び操作部Ｉ／Ｆ３０６の内部構成を制御ユニット１１１の内部構成と対応させて示すブロック図である。
【図７】画像処理装置１１０の操作部１１２に表示される標準的な操作画面の一例を示す図である。
【図８】図２に示すＷｅｂブラウザ２１１の内部構成を示すブロック図である。
【図９】図５に示すＬＣＤ表示部５０１においてＷｅｂブラウザ機能が選択された場合に表示される画面の構成を示す図である。
【図１０】クライアントによるＨＴＴＰプロトコルを用いたＨＴＴＰ要求と、サーバからの応答とを示すシーケンス図である。
【図１１】図５に示すＬＣＤ表示部５０１においてＶＮＣビューア機能が選択された場合に表示される画面の構成を示す図である。
【図１２】第１実施形態の遠隔操作の対象である装置のソフトウェア構造を示すブロック図である。
【図１３Ａ】遠隔操作の対象である装置において稼動するリモートデスクトップサーバの環境設定ユーザインタフェースの例である。
【図１３Ｂ】遠隔操作の対象である装置において稼動するリモートデスクトップサーバの環境設定ユーザインタフェースの例である。
【図１４】デスクトップコンピュータ１０１において実行されるリモートデスクトップサーバ１２１４のセッション開始処理の手順を示すフローチャートである。
【図１５】遠隔操作の操作元と操作対象との間のインタラクションを示すタイムラインの一例である。
【図１６】第１実施形態のシステムの相互作用を説明するブロック図である。
【図１７】画像処理装置１１０上の操作パネルからリモートデスクトップクライアント機能によって遠隔装置上のアプリケーションプログラムにプリント処理を指示した状態の画面例を表す図である。
【図１８】第２実施形態の遠隔操作の対象である装置のソフトウェア構造を示すブロック図である。
【図１９Ａ】プリンタアイコンを含む仮想アイコンアプリケーションを受けつけるデスクトップコンピュータの操作画面を、画像処理装置のリモートデスクトップクライアントを用いて遠隔操作する画面例を表す図である。
【図１９Ｂ】スキャナアイコンを含む仮想アイコンアプリケーションを受けつけるデスクトップコンピュータの操作画面を、画像処理装置のリモートデスクトップクライアントを用いて遠隔操作する画面例を表す図である。
【図２０Ａ】ＭｙＴｒａｙアイコンを含む仮想アイコンアプリケーションを受けつけるデスクトップコンピュータの操作画面を、画像処理装置のリモートデスクトップクライアントを用いて遠隔操作する画面例を表す図である。
【図２０Ｂ】ファクス送信アイコンを含む仮想アイコンアプリケーションを受けつけるデスクトップコンピュータの操作画面を、画像処理装置のリモートデスクトップクライアントを用いて遠隔操作する画面例を表す図である。
【図２１】第３実施形態の遠隔操作の対象である装置のソフトウェア構造を示すブロック図である。
【図２２】サーバコンピュータ１０２において実行されるＷｅｂアプリケーション２１０１のセッション開始処理の手順を示すフローチャートである。
【図２３】第３実施形態のシステムの相互作用を説明するブロック図である。
【図２４】画像処理装置１１０上の操作パネルで組み込みＷｅｂブラウザ機能によってＷｅｂアプリケーション２１０１として実装された文書管理システムに接続し遠隔操作している画面例を表す図である。
【図２５】画像処理装置１１０上の操作パネルで組み込みＷｅｂブラウザ機能によってＷｅｂアプリケーション２１０１として実装されたワークフロー処理システムに接続し遠隔操作している画面例を表す図である。
【図２６】第４実施形態のシステムの相互作用を説明するブロック図である。
【図２７】画像処理装置１１０上の操作パネルで組み込みＷｅｂブラウザ機能によって、画像処理装置１２０上のＷｅｂアプリケーションとして実装された連携ファクス送信機能に接続し遠隔操作している画面例を表す図である。
【図２８】画像処理装置１１０上の操作パネルで組み込みＷｅｂブラウザ機能によって、画像処理装置１２０上のＷｅｂアプリケーションとして実装された連携ボックス機能に接続し遠隔操作している画面例を表す図である。
【符号の説明】
【０３１９】
１００  ＬＡＮ（ネットワーク）
１０１  デスクトップコンピュータ（情報処理装置）
１０２  サーバコンピュータ（情報処理装置）
１１０，１２０，１３０  画像処理装置
１１１，１２１，１３１  制御ユニット（遠隔操作手段、遠隔操作要求受信手段、遠隔操作開始確認手段、ユーザ認証手段）
１１２，１２２，１３２  操作部（操作手段）
１１３，１２３、１３３  スキャナ
１１４，１２４，１３４  プリンタ
３０１  ＣＰＵ
３０２  ＲＡＭ
３０３  ＲＯＭ
３０４  ＨＤＤ
３０５  イメージバスインターフェース（Image Bus I/F）
３０６  操作部Ｉ／Ｆ
３０７  システムバス
３０８  ネットワークインタフェース（Network、通信手段）
３０９  モデム（ＭＯＤＥＭ）
３１２  デバイスＩ／Ｆ部
３１３  スキャナ画像処理部
３１４  プリンタ画像処理部
【図１】
0005137641.tif 000002
【図２】
0005137641.tif 000003
【図３】
0005137641.tif 000004
【図４】
0005137641.tif 000005
【図５】
0005137641.tif 000006
【図６】
0005137641.tif 000007
【図７】
0005137641.tif 000008
【図８】
0005137641.tif 000009
【図９】
0005137641.tif 000010
【図１０】
0005137641.tif 000011
【図１１】
0005137641.tif 000012
【図１２】
0005137641.tif 000013
【図１３Ａ】
0005137641.tif 000014
【図１３Ｂ】
0005137641.tif 000015
【図１４】
0005137641.tif 000016
【図１５】
0005137641.tif 000017
【図１６】
0005137641.tif 000018
【図１７】
0005137641.tif 000019
【図１８】
0005137641.tif 000020
【図１９Ａ】
0005137641.tif 000021
【図１９Ｂ】
0005137641.tif 000022
【図２０Ａ】
0005137641.tif 000023
【図２０Ｂ】
0005137641.tif 000024
【図２１】
0005137641.tif 000025
【図２２】
0005137641.tif 000026
【図２３】
0005137641.tif 000027
【図２４】
0005137641.tif 000028
【図２５】
0005137641.tif 000029
【図２６】
0005137641.tif 000030
【図２７】
0005137641.tif 000031
【図２８】
0005137641.tif 000032