(57)【特許請求の範囲】
【請求項１】
画像データを入力する第１の入力手段及び第２の入力手段を備え、複数の外部装置とネットワークを介して通信可能な画像処理装置であって、
前記複数の外部装置のそれぞれに対応付けて、利用が制限されるべき入力手段を示す情報を記憶する記憶手段と、
前記複数の外部装置のいずれかから前記ネットワークを介して、所定のフォームが記述された文書を取得する取得手段と、
前記取得手段が取得した文書に記述された前記所定のフォームが、画像データの入力を要求するためのフォームであることを認識する認識手段と、
前記所定のフォームに基づくユーザからの指示に従って前記第１の入力手段または前記第２の入力手段により入力された画像データを送信する送信手段と、
前記所定のフォームが画像データの入力を要求するためのフォームであることを前記認識手段が認識した場合に、前記記憶手段に記憶された情報に基づき、画像データの送信先として指定されている外部装置に応じて前記第１の入力手段及び／または前記第２の入力手段の利用を制限すべきであるか否かを判定する判定手段と、
前記判定手段による判定の結果、前記第１の入力手段及び／または前記第２の入力手段の利用を制限すべきであると判定された場合に、前記第１の入力手段及び／または前記第２の入力手段の利用を制限する制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記取得手段が取得した文書に対応する画面を表示する表示手段を更に備え、
前記第１の入力手段及び前記第２の入力手段のいずれか一方は、前記表示手段により表示された画面を介したユーザからの指示に従って画像データを入力する手段であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
ユーザを識別する識別手段を更に備え、
前記判定手段は、更に、前記識別手段により識別されたユーザに応じて、前記判定を行うことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
原稿上の画像を読み取って画像データを出力する読取手段を更に備え、
前記第１の入力手段及び前記第２の入力手段のいずれか一方は、前記読取手段により出力された画像データを入力する手段であることを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記外部装置は、ウェブサーバであって、
前記取得手段が取得する文書は、前記ウェブサーバにより提供されるＨＴＭＬ文書であって、
前記表示手段は、前記ウェブサーバから提供されたＨＴＭＬ文書を解析し、当該ＨＴＭＬ文書に基づく画面を表示するウェブブラウザであることを特徴とする請求項２に記載の画像処理装置。
【請求項６】
画像データを入力する第１の入力手段及び第２の入力手段と、複数の外部装置のそれぞれに対応付けて、利用が制限されるべき入力手段を示す情報を記憶する記憶手段とを備え、前記複数の外部装置とネットワークを介して通信可能な画像処理装置の制御方法であって、
前記複数の外部装置のいずれかから前記ネットワークを介して、所定のフォームが記述された文書を取得する取得工程と、
前記取得工程で取得した文書に記述された前記所定のフォームが、画像データの入力を要求するためのフォームであることを認識する認識工程と、
前記所定のフォームに基づくユーザからの指示に従って前記第１の入力手段または前記第２の入力手段により入力された画像データを送信する送信工程と、
前記所定のフォームが画像データの入力を要求するためのフォームであることを前記認識工程で認識した場合に、前記記憶手段に記憶された情報に基づき、画像データの送信先として指定されている外部装置に応じて前記第１の入力手段及び／または前記第２の入力手段の利用を制限すべきであるか否かを判定する判定工程と、
前記判定工程における判定の結果、前記第１の入力手段及び／または前記第２の入力手段の利用を制限すべきであると判定された場合に、前記第１の入力手段及び／または前記第２の入力手段の利用を制限する制御工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項７】
請求項６に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置とネットワークを介して通信可能な画像処理装置、及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）においては、所定のフォーム要素によって記述されるフォームによって、ウェブページ製作者が、当該ウェブページを閲覧するユーザに対して情報の入力を要求することができる。ＨＴＭＬのフォームは、ユーザからの入力を必要とする多種多様なアプリケーションにとって有効な手段であり、ウェブページ製作者とユーザの間のユーザインタフェースを構成する。これにより、ウェブサーバ側で稼動し、クライアントのウェブブラウザから操作可能なウェブアプリケーションが提供される。
【０００３】
クライアントであるユーザのウェブブラウザがＨＴＭＬリソースをウェブサーバに対して要求し、このサーバから取得すると、クライアントのウェブブラウザ上には、ＨＴＭＬに基づくユーザインタフェースが表示される。ここで、ユーザがウェブブラウザ上に表示されたフォームに情報を入力して確定すると、その入力された情報はクライアントからサーバに送信される。そして、サーバから、上記入力された情報に対して返信された情報、すなわちウェブアプリケーションの実行結果が反映されたコンテンツを取得することができる。多くの場合、返信されるコンテンツは、ＨＴＭＬのフォームによって構成されたウェブアプリケーションのユーザインタフェースである。この繰り返しによって、遠隔地にあるサーバ上で稼動するウェブアプリケーションをクライアントのウェブブラウザ上に送信されたユーザインタフェースによって操作する、いわゆる分散アプリケーションシステムが実現される。
【０００４】
このように、フォームを用いることにより情報伝達の双方向性を備えたＨＴＭＬを、ユーザインタフェースを遠隔に転送可能なユーザインタフェース記述言語として用いることは、非常に多くのシステムにおいて実現されている。
【０００５】
非特許文献１では、「ＨＴＭＬにおけるフォームに基づくファイルアップロード」の手法が開示されている。この手法は、ＨＴＭＬフォームによる情報伝達の双方向性を拡張して、クライアントのプラットフォームに蓄積されているファイルを、分散アプリケーションのサーバに対する入力としてアップロードすることを可能とするものである。この手法に則して、現在実用されている一般的なウェブブラウザと多くのウェブコンテンツが実装されている。
【０００６】
非特許文献１に示された技術によって一般的なウェブブラウザに表示されるフォームの画面例を図２４に示す。このフォームの画面２４０１は、後述の図１０のＨＴＭＬ文書に基づいて生成されるものであり、後述するウェブブラウザのコンテンツ表示領域９０５に表示される。この画面においては、表示２４０２が図１０の６行目のｈ１要素に対応し、表示２４０３の線で囲まれた領域が図１０の８行目のｆｉｌｅ型のｉｎｐｕｔ要素に対応する。また、表示２４０４が図１０の９行目のｓｕｂｍｉｔ型のｉｎｐｕｔ要素に対応する。
【０００７】
表示２４０３の領域内は、従来のウェブブラウザにおいて一般的に採用されている手法による実装であり、この実装は、非特許文献１にも示されている。表示２４０３の領域内において、表示２４０５がファイル名入力フィールドであり、サーバにアップロードされるファイルの、ファイルシステムの中でのファイルパス（ファイル名）をタイプ入力することができる。また、表示２４０６がファイル選択ボタンに対応し、このボタンが押下されると、ウェブブラウザが稼動しているプラットフォームに適するファイル選択モードに入ることができる。汎用コンピュータ上で稼動するウェブブラウザでは、ここでファイル選択ダイアログが開き、ファイルシステムに格納されているファイル群の中からアップロードされるべきファイルを選択することができる。
【０００８】
一方、インターネット技術の発展と普及に伴い、一般的に普及しているウェブブラウザをクライアントとして想定した多種多様な分散アプリケーションサービスが提供されつつある。特に、情報技術の分野において、ウェブベースの分散アプリケーションの提供に特化した業者であるアプリケーションサービスプロバイダ（ＡＳＰ）がサービスの提供を始めている。ＡＳＰが提供するサービスには、情報提供、作成、検索、蓄積、認証、配布、印刷、出版、管理、翻訳、委託などがある。また、官公庁手続や各種の電子商取引などもある。
【０００９】
組み込みシステムの分野においても、装置が装置本来の機能に加えてウェブサーバ機能を兼ね備え、装置のユーザインタフェースを遠隔のウェブブラウザに提供するリモートユーザインタフェースが製品化されている。また、装置が装置本来の機能に加えてウェブクライアント機能を兼ね備え、遠隔のウェブサーバから様々なコンテンツを取得（ダウンロード）してブラウジングを行い、装置の機能に役立てる技術が知られている。こうした装置の例として例えば、ウェブブラウザを組み込んだ画像処理装置がある。
【００１０】
ＡＳＰが提供する分散アプリケーションのワークフローの中で、デジタル化されていない画像データのアップロードを行うことができれば、分散アプリケーションの可能性が広がる。例えば、電子商取引や官公庁手続のワークフローにおいて、印影やサインを記載した注文書や各種証明書などの公文書などの入力を手続の中の適切なタイミングで求めることができるようになることが期待される。
【００１１】
ところで、汎用的なウェブアプリケーションに対応するウェブクライアントと画像入力手段とを組み合わせてシステムを構成した場合、画像処理装置で入力した画像データをＨＤなどの記憶手段に格納する必要がある。そしてその後で、そのファイルをアップロードするという、二回の操作が行われる。すなわち、画像入力ステップとアップロードステップの２つのステップが必要であり、よって、操作が煩雑になるという問題があった。
【００１２】
この問題に対して、画像処理装置に組み込まれたウェブブラウザを用いて、デジタル化されていない画像データのアップロードを容易に行えるようにするための技術が考えられている（例えば、特許文献１）。特許文献１には、ｆｉｌｅ型のｉｎｐｕｔ要素の記述に基づく画面として、原稿上の画像を読み取って画像データを入力し、当該入力した画像データを直接アップロードするためのボタンを表示することが記載されている。
【非特許文献１】ＲＦＣ１８６７
【特許文献１】特開２００５−１４９３２０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述したようなネットワーク技術の発展に伴い、簡単に且つ効率よく情報を伝達することが可能になっている。しかしながら、その反面、情報漏洩の問題が深刻なものとなってきている。特に、近年では個人情報保護法の施行等により、情報の取り扱いに慎重であることが求められている。
【００１４】
このような背景から、例えば電子メールの場合は、特定のメールアドレスへのメール送信を制限するための技術が考えられている。また、上述したウェブアプリケーションなどを使用してファイルをアップロードする場合については、以下のような方法を用いて情報漏洩を防止している。
【００１５】
例えば、ウェブアプリケーションに対する情報の送信を制限する方法の１つとして、当該ウェブアプリケーションを提供するサーバ自体へのアクセスを制限することが考えられる。しかしながら、この場合、サーバ自体へアクセスすることができなくなってしまうので、ウェブアプリケーションがクライアントに対して提供している情報を、クライアント側のユーザが得ることも不可能になってしまう。
【００１６】
また、サーバ自体へのアクセスを制限せずに、ファイルアップロードのためのユーザインタフェースを提供するページに対応するＵＲＬを特定し、このＵＲＬへのアクセスを制限することも考えられる。しかしながら、この場合、ウェブアプリケーション上で新規に作成されたページへのアクセスを制限することはできない。そのため、やはり情報漏洩の問題が発生してしまう可能性がある。
【００１７】
本発明は、上記の問題点に鑑みなされたものであり、画像データの送信先として指定されている外部装置に応じて、入力手段の利用を制限する画像処理装置、及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記の目的を達成するために本発明の画像処理装置は、画像データを入力する第１の入力手段及び第２の入力手段を備え、複数の外部装置とネットワークを介して通信可能な画像処理装置であって、前記複数の外部装置のそれぞれに対応付けて、利用が制限されるべき入力手段を示す情報を記憶する記憶手段と、前記複数の外部装置のいずれかから前記ネットワークを介して、所定のフォームが記述された文書を取得する取得手段と、前記取得手段が取得した文書に記述された前記所定のフォームが、画像データの入力を要求するためのフォームであることを認識する認識手段と、前記所定のフォームに基づくユーザからの指示に従って前記第１の入力手段または前記第２の入力手段により入力された画像データを送信する送信手段と、前記所定のフォームが画像データの入力を要求するためのフォームであることを前記認識手段が認識した場合に、前記記憶手段に記憶された情報に基づき、画像データの送信先として指定されている外部装置に応じて前記第１の入力手段及び／または前記第２の入力手段の利用を制限すべきであるか否かを判定する判定手段と、前記判定手段による判定の結果、前記第１の入力手段及び／または前記第２の入力手段の利用を制限すべきであると判定された場合に、前記第１の入力手段及び／または前記第２の入力手段の利用を制限する制御手段とを備えることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、所定のフォームが記述された文書に基づく画像データの送信を制限することにより、情報漏洩を防止することができる。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明の実施形態を説明する。
【００２１】
（第１の実施形態）
図１は本発明の第１の実施形態に係る画像処理装置を含むシステムの全体構成を示すブロック図である。
【００２２】
システムは、図１に示すように、アプリケーションサービスプロバイダサイト（以下、ＡＳＰサイトという）１５３，１５６、広域ネットワーク１５２、およびユーザサイト１５１から構成される。ここで、広域ネットワーク１５２は、インターネットである。また、広域ネットワーク１５２は、インターネット上の仮想プライベートネットワーク（ＶＰＮ）、または専用のプライベートネットワークでもよい。
【００２３】
ＡＳＰサイト１５３，１５６は、広域ネットワーク１５２を介してユーザサイト１５１に所定のサービスを提供する。ＡＳＰサイト１５３，１５６が提供するサービスとしては、例えば情報提供、作成、検索、蓄積、認証、配布、印刷、出版、管理、翻訳、委託などがある。また、官公庁手続や各種の電子商取引などもある。ＡＳＰサイト１５３，１５６は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１５４，１５７、およびサーバ１５５，１５８を含む。ＬＡＮ１５４，１５７は、ＡＳＰサイト１５３，１５６内部のネットワークであり、サイト内のネットワーク機器を接続する。また、ＬＡＮ１５４，１５７は、ルータなどを介して広域ネットワーク１５２と接続されている。
【００２４】
サーバ１５５，１５８上においては、ＡＳＰが提供するサービスを実現するためのソフトウェアプロセス群が稼動している。ソフトウェアモジュールとしては、
１）クライアントからのＨＴＴＰプロトコルによる要求に応答してＨＴＭＬなどのコンテンツを伝送するＨＴＴＰサーバ、
２）ＨＴＴＰ要求に応じてＨＴＴＰサーバにより実行され、所定の処理とＨＴＴＰ応答を行う、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅｓ）プログラムやサーブレット（Ｓｅｒｖｌｅｔ）などの形態で実装されたウェブアプリケーション群、
３）ＣＧＩプログラムやサーブレット（Ｓｅｒｖｌｅｔ）などが所定の処理を実行するために用いられる、電子商取引プログラムなどのビジネスロジック群とバックエンドのデータベース管理システム
などがある。
【００２５】
ユーザサイト１５１は、ホストコンピュータ１０１、画像処理装置１１０，１２０，１３０などの複数のネットワーク機器と、ネットワーク機器群が接続されているＬＡＮ１００から構成される。ユーザサイト１５１のＬＡＮ１００は、ルータなどを介して広域ネットワーク１５２に通信可能に接続されている。ここで、上記ルータは、いわゆる防火壁（ｆｉｒｅｗａｌｌ）の機能を有する。すなわち、ルータは、外部ネットワークからの攻撃からユーザサイト１５１を守るためにパケットフィルタリングなどを行う。また、ルータにおいては、アドレス管理上の理由などのために、ネットワークアドレス変換やネットワークポート変換が行われる場合がある。
【００２６】
ルータのこれらの機能のために、ユーザサイト１５１と外部ネットワークとの間の通信には制限が設けられている。すなわち、多くの場合、いくつかの特定のプロトコルによる通信のみが可能とされている。例えば、内部から外部に向かって確立されるＨＴＴＰ接続は、一般に許可されている通信であり、これは一般的なウェブベースの技術に基づいてアプリケーションサービスの提供が有効であることの理由のひとつとなっている。
【００２７】
画像処理装置１１０は、画像の入出力と送受信および各種の画像処理を行う複合機（ＭＦＰ；Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）である。画像処理装置１１０は、画像入力デバイスであるスキャナ１１３、画像出力デバイスであるプリンタ１１４、コントロールユニット１１１、およびユーザインタフェースである操作部１１２を備える。スキャナ１１３、プリンタ１１４、操作部１１２は、それぞれ、コントロールユニット１１１に接続され、コントロールユニット１１１からの命令によって制御される。コントロールユニット１１１は、ＬＡＮ１００に接続されている。
【００２８】
各画像処理装置１２０，１３０は、画像処理装置１１０と同様の機器構成を有し、それらは同様にＬＡＮ１００に接続されている。画像処理装置１２０は、スキャナ１２３、プリンタ１２４、操作部１２２、およびスキャナ１２３、プリンタ１２４、操作部１２２のそれぞれを制御するコントロールユニット１２１を備える。また、画像処理装置１３０は、スキャナ１３３、プリンタ１３４、操作部１３２、およびスキャナ１３３、プリンタ１３４、操作部１３２を制御するコントロールユニット１３１を備える。
【００２９】
ホストコンピュータ１０１は、ＬＡＮ１００に接続されている。ホストコンピュータ１０１は、後述するようにウェブブラウザを備え、画像処理装置１１０，１２０，１３０から受信したＨＴＭＬファイルに基づいて、画像処理装置１１０，１２０，１３０のステータスなどを表示する。また、ホストコンピュータ１０１は、サーバ１５５，１５８にＨＴＴＰ接続してサービスの提供を受けることができる。
【００３０】
次に、画像処理装置１１０のソフトウェア構成について図２を参照しながら説明する。図２は図１の画像処理装置１１０のソフトウェア構成を示すブロック図である。ここでは、各画像処理装置１１０，１２０，１３０のソフトウェア構成は、同じであるので、画像処理装置１１０のソフトウェア構成を説明するものとする。
【００３１】
画像処理装置１１０においては、ユーザインタフェース（以下、ＵＩ）モジュール２０１が搭載されている。このＵＩモジュール２０１は、オペレータが画像処理装置１１０に対する各種操作・設定を行う際に、機器とユーザ操作との仲介を行うモジュールである。このＵＩモジュール２０１は、オペレータの操作に従い、後述の各種モジュールに入力情報を転送して処理の依頼、またはデータの設定などを行う。
【００３２】
また、アドレスブック（Ａｄｄｒｅｓｓ−Ｂｏｏｋ）モジュール２０２が搭載されており、このモジュール２０２は、データの送付先、通信先などを管理するデータベースモジュールである。アドレスブックモジュール２０２が管理するデータに関しては、ＵＩモジュール２０１からの操作によりデータの追加、削除、取得が可能である。また、アドレスブックモジュール２０２は、オペレータの操作により後述の各モジュールにデータの送付・通信先情報を与える。
【００３３】
また、ウェブサーバモジュール（Ｗｅｂ−Ｓｅｒｖｅｒモジュール）２０３は、ウェブクライアント（例えばホストコンピュータ１０１）からの要求により、画像処理装置１１０の管理情報をウェブクライアントに通知するものである。上記管理情報は、後述の統合送信部モジュール２０４、リモートコピースキャンモジュール２０９、リモートコピープリントモジュール２１０、制御ＡＰＩモジュール２１８を介して取得される。そして、後述のＨＴＴＰモジュール２１２、ＴＣＰ／ＩＰ通信モジュール２１６、ネットワークドライバ２１７を介してウェブクライアントに通知される。
【００３４】
また、ウェブブラウザ（Ｗｅｂ  Ｂｒｏｗｓｅｒ）モジュール２１１が搭載されており、このモジュールは、インターネットまたはイントラネット上の各種ウェブサイト（ホームページ）の情報を読み込んで表示を行うものである。このウェブブラウザモジュール２１１の詳細な構成は後述する。
【００３５】
統合送信部（Ｕｎｉｖｅｒｓａｌ−Ｓｅｎｄ）モジュール２０４は、データの配信を司るモジュールであり、このモジュール２０４は、ＵＩモジュール２０１を介してオペレータによって指示されたデータを、同様にして指示された通信（出力）先に配布する。また、統合送信部（Ｕｎｉｖｅｒｓａｌ−Ｓｅｎｄ）モジュール２０４は、オペレータにより本機器のスキャナ機能を使用して配布データの生成が指示された場合は、制御ＡＰＩモジュール２１８を介して機器を動作させ、データの生成を行う。統合送信部モジュール２０４は、出力先にプリンタが指定された際に実行されるモジュール（Ｐ５５０）２０５と、通信先にＥ−ｍａｉｌアドレスが指定された際に実行されるモジュール（Ｅ−ｍａｉｌ）２０６を備える。さらに、統合送信部モジュール２０４は、出力先にデータベースが指定された際に実行される（ＤＢ）モジュール２０７と、出力先に本機器と同様の画像処理装置が指定された際に実行される（ＤＰ）モジュール２０８を備える。
【００３６】
リモートコピースキャン（Ｒｅｍｏｔｅ−Ｃｏｐｙ−Ｓｃａｎ）モジュール２０９は、画像処理装置１１０のスキャナ機能を使用して画像情報を読み取り、読み取った画像情報をネットワーク等で接続された他の画像処理装置に出力する。これにより、画像処理装置単体で実現しているコピー機能を他の画像処理装置を使って行う。
【００３７】
リモートコピープリント（Ｒｅｍｏｔｅ−Ｃｏｐｙ−Ｐｒｉｎｔ）モジュール２１０は、ネットワーク等で接続された他の画像処理装置で得られた画像情報を、本画像処理装置１１０のプリンタ機能を使用して出力する。これにより、画像処理装置単体で実現しているコピー機能を他の画像処理装置を使って行う。
【００３８】
ＨＴＴＰモジュール２１２は、画像処理装置１１０がＨＴＴＰによる通信を行う際に使用され、後述のＴＣＰ／ＩＰ通信モジュール２１６を使って、ウェブサーバモジュール２０３やウェブブラウザモジュール２１１に通信機能を提供する。また、このモジュール２１２は、ＨＴＴＰをはじめとするウェブで用いられる各種プロトコルに対応し、特にセキュリティ対応したプロトコルによる通信機能を提供する。
【００３９】
また、ｌｐｒモジュール２１３が搭載されており、このモジュールは、後述のＴＣＰ／ＩＰ通信モジュール２１６を使って、統合送信部モジュール２０４内のモジュール２０５に通信機能を提供するものである。
【００４０】
また、ＳＭＴＰモジュール２１４が搭載されており、このモジュールは、後述のＴＣＰ／ＩＰ通信モジュール２１６を使って、統合送信部モジュール２０４内のＥ−ｍａｉｌモジュール２０６に通信機能を提供する。
【００４１】
また、ＳＬＭ（Ｓａｌｕｔａｔｉｏｎ−Ｍａｎａｇｅｒ）モジュール２１５は、後述のＴＣＰ／ＩＰ通信モジュール２１６を使って、統合送信部モジュール２０４内のモジュール２１７およびモジュール２１８に通信機能を提供する。また、ＳＬＭ（Ｓａｌｕｔａｔｉｏｎ−Ｍａｎａｇｅｒ）モジュール２１５は、リモートコピースキャンモジュール２０９と、リモートコピープリントモジュール２１０とのそれぞれにも通信機能を提供する。
【００４２】
ＴＣＰ／ＩＰ通信モジュール２１６は、ネットワークドライバ２１７を用いて、前述の各種モジュールにネットワーク通信機能を提供する。ネットワークドライバ２１７は、ネットワークに物理的に接続される部分を制御するものである。
【００４３】
制御ＡＰＩ２１８は、統合送信部モジュール２０４などの上流モジュールに、後述のジョブマネージャモジュール（Ｊｏｂ−Ｍａｎａｇｅｒ）２１９などの下流モジュールに対するインタフェースを提供するものである。これによって、上流および下流のモジュール間の依存関係が軽減され、それぞれの流用性を高めることができる。
【００４４】
ジョブマネージャモジュール（Ｊｏｂ−Ｍａｎａｇｅｒ）２１９は、前述の各種モジュールから制御ＡＰＩ２１８を介して指示される様々な処理を解釈し、後述の各モジュール２２０，２２４，２２６に指示を与えるものである。また、ジョブマネージャモジュール２１９は、画像処理装置１１０内で実行されるハード処理を一元管理するものである。
【００４５】
モジュール２２０は、コーデックマネージャ（ＣＯＤＥＣ−Ｍａｎａｇｅｒ）モジュールであり、このモジュールは、ジョブマネージャモジュール２１９が指示する処理の中で、データの各種圧縮・伸長を管理・制御するものである。
【００４６】
また、ＦＢＥエンコーダモジュール（ＦＢＥ−Ｅｎｃｏｄｅｒ）２２１は、ジョブマネージャモジュール２１９やスキャンマネージャ（Ｓｃａｎ−Ｍａｎａｇｅｒ）モジュール２２４によって実行されたスキャン処理により得られたデータを圧縮するものである。
【００４７】
また、ＪＰＥＧコーデックモジュール（ＪＰＥＧ−ＣＯＤＥＣ）２２２は、ジョブマネージャモジュール２１９やスキャンマネージャモジュール２２４によって実行されたスキャン処理において読み込まれたデータのＪＰＥＧ圧縮処理を行う。また、ＪＰＥＧコーデックモジュール（ＪＰＥＧ−ＣＯＤＥＣ）２２２は、プリントマネージャ（Ｐｒｉｎｔ−Ｍａｎａｇｅｒ）モジュール２２６によって実行される印刷処理に用いられる印刷データのＪＰＥＧ展開処理を行う。
【００４８】
また、ＭＭＲコーデック（ＭＭＲ−ＣＯＤＥＣ）モジュール２２３は、ジョブマネージャモジュール２１９やスキャンマネージャモジュール２２４によって実行されたスキャン処理において読み込まれたデータのＭＭＲ圧縮処理を行う。また、ＭＭＲコーデック（ＭＭＲ−ＣＯＤＥＣ）モジュール２２３は、プリントマネージャモジュール２２６によって実行される印刷処理において用いられる印刷データのＭＭＲ伸長処理を行う。
【００４９】
また、情報埋め込み画像コーデック（ＩＥＩ  ＣＯＤＥＣ）モジュール２２９は、ジョブマネージャモジュール２１９やスキャンマネージャモジュール２２４によって実行されたスキャン処理において読み込まれた画像データに埋め込まれた情報をデコードする。また、情報埋め込み画像コーデック（ＩＥＩ  ＣＯＤＥＣ）モジュール２２９は、プリントマネージャモジュール２２６によって実行される印刷処理において用いられる印刷データへの情報埋め込み処理を行う。画像データへの情報の埋め込みは、バーコードやデジタル透かし（デジタルウォーターマーク）などの符号化技術を用いて行う。また、モジュール２０９は、像域分離とＯＣＲ技術によって画像データの画像中の文字を認識しテキストデータに変換する文字認識も一種の復号化技術としてサポートする。さらに、ラスタイメージプロセッサを用いたテキストから画像データへの変換と変換した画像データとオリジナル画像データとの重ね合わせ（オーバレイ）が、一種の符号化技術（情報埋め込み技術）としてサポートされる。
【００５０】
スキャンマネージャ（Ｓｃａｎ−Ｍａｎａｇｅｒ）モジュール２２４は、ジョブマネージャモジュール２１９が指示するスキャン処理を管理・制御するものである。スキャンマネージャモジュール２２４と画像処理装置１１０に内部的に接続しているスキャナ１１３との間の通信が、ＳＣＳＩドライバ２２５を介して行われる。
【００５１】
プリントマネージャ（Ｐｒｉｎｔ−Ｍａｎａｇｅｒ）モジュール２２６は、ジョブマネージャモジュール２１９が指示する印刷処理を管理・制御するものである。プリントマネージャモジュール２２６とプリンタ１１４との間のインタフェースは、エンジンインタフェース（Ｅｎｇｉｎｅ−Ｉ／Ｆ）モジュール２２７により提供される。
【００５２】
また、パラレルポートドライバ２２８が搭載されており、このドライバは、ウェブブラウザモジュール２１１がパラレルポートを介して不図示の出力機器にデータを出力する際のインタフェースを提供する。
【００５３】
次に、画像処理装置１１０の構成について図３を参照しながら説明する。図３は図１の画像処理装置１１０の詳細構成を示すブロック図である。ここでは、各画像処理装置１１０，１２０，１３０の構成は、同じであるので、画像処理装置１１０の構成のみを説明する。
【００５４】
画像処理装置１１０は、図３に示すように、装置全体を制御するコントロールユニット１１１を備える。コントロールユニット１１１は、画像入力デバイスであるスキャナ１１３や画像出力デバイスであるプリンタ１１４を接続し、これらを制御する一方、ＬＡＮや公衆回線と接続され、これらを介して画像情報やデバイス情報の入出力を行うものである。
【００５５】
コントロールユニット１１１は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ（ハードディスク装置）３０４、イメージバスＩ／Ｆ３０５、操作部Ｉ／Ｆ３０６、ネットワークＩ／Ｆ３０８、およびモデム３０９を有する。ＣＰＵ３０１は、システムバス３０７を介して、上述した各ユニットと接続される。
【００５６】
ＲＡＭ３０２は、ＣＰＵ３０１の作業領域を提供するためのメモリであり、また、画像データを一時記憶するための画像メモリとしても使用される。ＲＯＭ３０３はブートＲＯＭであり、ＲＯＭ３０３には、システムのブートプログラムが格納されている。ＨＤＤ３０４には、システムソフトウェア、画像データなどが格納される。
【００５７】
操作部Ｉ／Ｆ３０６は、操作部１１２との間で入出力を行うためのインタフェースであり、操作部１１２に表示する画像データを操作部１１２に対して出力し、ユーザが操作部１１２を介して入力した情報を、ＣＰＵ３０１に伝送するなどの役割を果たす。
【００５８】
ネットワークＩ／Ｆ３０８は、ＬＡＮと接続され、ＬＡＮに対して情報の入出力を行う。モデム３０９は、公衆回線と接続され、公衆回線に対して情報の入出力を行う。
【００５９】
イメージバスＩ／Ｆ３０５は、システムバス３０７と画像データを高速で転送する画像バス３１０とを接続し、データ構造を変換するバスブリッジである。
【００６０】
画像バス３１０には、ＲＩＰ（ラスタイメージプロセッサ）３１１、デバイスＩ／Ｆ３１２、スキャナ画像処部３１３、プリンタ画像処理部３１４、画像回転部３１５、および画像圧縮部３１６が接続されている。
【００６１】
ＲＩＰ３１１は、ＬＡＮから受信されたＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ３１２は、スキャナ１１３およびプリンタ１１４とコントロールユニット１１１とを接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部３１３は、入力画像データに対し補正、加工、編集などを行う。プリンタ画像処理部３１４は、プリント出力画像データに対して、プリンタの補正、解像度変換などを行う。画像回転部３１５は、画像データの回転を行う。画像圧縮部３１６は、多値画像データに対してはＪＰＥＧ圧縮伸長処理を行い、２値画像データに対してはＪＢＩＧ，ＭＭＲ，ＭＨなどの圧縮伸長処理を行う。上記の構成を備える画像処理装置の外観について図４を参照しながら説明する。図４は図１の画像処理装置１１０の外観図である。ここでは、各画像処理装置１１０，１２０，１３０の外観構成は、同じであるので、画像処理装置１１０の外観構成のみを説明する。
【００６２】
画像処理装置１１０において、スキャナ１１３は、原稿となる用紙上の画像を照明し、ＣＣＤラインセンサ（図示せず）を走査させることによって、ラスタイメージデータを生成する。使用者が原稿用紙を原稿フィーダ４０５のトレイ４０６にセットして、操作部１１２において読み取りの起動を指示すると、コントローラユニット１１１のＣＰＵ３０１がスキャナ１１３に指示を与える。そして、原稿フィーダ４０５が原稿用紙を１枚ずつフィードし、スキャナ１１３は原稿フィーダ４０５からフィードされた原稿用紙上の画像の読み取り動作を行う。
【００６３】
プリンタ１１４は、ラスタイメージデータを用紙上に印刷するものであり、その印刷方式として、感光体ドラムや感光体ベルトを用いた電子写真方式が用いられている。なお、印刷方式として、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式などの他の方式を用いてもよいことはいうまでもない。プリンタ１１４のプリント動作は、ＣＰＵ３０１からの指示によって開始される。プリンタ１１４は、異なる用紙サイズまたは異なる用紙向きを選択可能なように複数の給紙段を有し、それぞれに対応した用紙カセット４０１，４０２，４０３が搭載される。また、排紙トレイ４０４が設けられており、この排紙トレイ４０４には、印字し終わった用紙が排紙される。
【００６４】
次に、操作部１１２の構成について図５を参照しながら説明する。図５は図１の操作部１１２の外観構成を示す図である。
【００６５】
操作部１１２は、図５に示すように、ＬＣＤ上にタッチパネルシート５０２が貼られているＬＣＤ表示部５０１を有する。このＬＣＤ表示部５０１には、システムの操作画面およびソフトキーが表示されるとともに、表示されているキーが押されると、押された位置を示す位置情報がＣＰＵ３０１に伝えられる。
【００６６】
また、操作部１１２には、スタートキー５０５、ストップキー５０３、ＩＤキー５０７、リセットキー５０４の各種ハードキーが設けられている。スタートキー５０５は、原稿画像の読み取り動作などの開始を指示するためのキーであり、スタートキー５０５の中央部には、緑と赤の２色ＬＥＤ表示部５０６が設けられている。２色ＬＥＤ表示部５０６は、その色によってスタートキー５０５が使用可能な状態にあるか否かを表す。ストップキー５０３は、稼働中の動作を止めるためのキーである。ＩＤキー５０７は、使用者のユーザＩＤを入力するときに用いられるキーである。リセットキー５０４は操作部１１２からの設定を初期化するときに用いられるキーである。
【００６７】
次に、操作部１１２の構成について図６を参照しながら説明する。図６は図１の操作部１１２の詳細構成を示すブロック図である。
【００６８】
操作部１１２は、図６に示すように、操作部Ｉ／Ｆ３０６を介してシステムバス３０７に接続される。システムバス３０７には、上述したように、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、ＨＤＤ３０４などが接続されている。
【００６９】
操作部Ｉ／Ｆ３０６は、ユーザからの入力を制御するための入力ポート６０１と、画面出力デバイスを制御するための出力ポート６０２とを有する。入力ポート６０１は、タッチパネル５０２、各種ハードキー５０３，５０４，５０５，５０７を含むキー群からのユーザ入力をＣＰＵ３０１に渡す。ＣＰＵ３０１は、ユーザ入力の内容と制御プログラムとに基づいて表示画面データを生成し、出力ポート６０２を介して、ＬＣＤ表示部５０１に表示画面を出力する。また、ＣＰＵ３０１は、出力ポート６０２を介して必要に応じてＬＥＤ表示部５０６を制御する。
【００７０】
次に、画像処理装置１１０が備えるボックス機能について説明する。ＨＤＤ３０４には、画像データを格納するための領域としてテンポラリ領域とボックス領域が設けられている。テンポラリ領域は、スキャナ１１３が原稿上の画像を読み取って出力した画像データなどを一時的に記憶させるための領域である。なお、テンポラリ領域に記憶された画像データは、ジョブ終了後に消去される。
【００７１】
ボックス領域は、スキャナ１１３が原稿上の画像を読み取って出力した画像データや、ホストコンピュータ１０１から受信したＰＤＬデータを展開した画像データを記憶するための領域である。なお、ボックス領域は、各ユーザが個人的に利用可能な複数の領域に分けられており、各領域には番号が付与されている。画像処理装置１１０のＨＤＤ３００４のボックス領域には１００の領域が設けられている。
【００７２】
なお、以下の説明において、ボックス領域に格納されている画像データを「文書」と呼ぶことがあるが、ボックス領域に格納されているデータの形式は画像データに展開可能なものであれば何であっても構わない。例えば、ベクタデータやテキストコードのデータであっても構わない。第１の実施形態では、これらのデータをまとめて画像データ或いは文書と呼び、「画像データ」と「文書」とは特に区別しない。
【００７３】
次に、ウェブブラウザモジュール２１１のソフトウェア構成について図７を参照しながら説明する。図７はウェブブラウザモジュール２１１のソフトウェア構成を示すブロック図である。
【００７４】
ウェブブラウザモジュール２１１は、プロトコル処理部８０１、コンテンツパーサ８０２、ＤＯＭ構築部８０３、ＤＯＭ処理部８０４を含む。更に、ウェブブラウザモジュール２１１は、レイアウトエンジン８０７、スタイルシートパーサ８０６、レンダラ８０８、スクリプトインタプリタ８０５およびイベント処理部８０９を含む。
【００７５】
プロトコル処理部８０１は、ＨＴＴＰモジュール２１２を介して、他のネットワークノードとの間に接続を確立し通信する。この通信においては、ＵＲＬによって記述されたリソースに対してＨＴＴＰ要求が発行され、その応答が得られる。この過程で、各種符号化形式に則した通信データの符号化・復号化も行われる。
【００７６】
コンテンツパーサ８０２は、プロトコル処理部８０１からＨＴＭＬ，ＸＭＬ，ＸＨＴＭＬなどの表現形式で表現されたコンテンツデータを受け取り、字句解析および構文解析して解析木を生成する。
【００７７】
ＤＯＭ構築部８０３は、コンテンツパーサ８０２から解析木を受け取り、コンテンツデータの構造に対応したＤｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ（ＤＯＭ）の構築を行う。従来のＨＴＭＬは、文法上様々な省略を許し、バリエーションが多岐に渡る。さらに現実世界で運用されているコンテンツは、整形式でも妥当でもない場合が多い。そこで、ＤＯＭ構築部８０３は、他の一般的なウェブブラウザと同様に、文法的に妥当でないコンテンツデータの正しい論理構造を推論し、妥当なＤＯＭの構築を試みる。
【００７８】
ＤＯＭ処理部８０４は、ＤＯＭ構築部８０３が構築したＤＯＭをオブジェクト群の入れ子関係を表現するツリー構造としてメモリ上に保持管理する。ウェブブラウザの各種処理は、このＤＯＭを中心に実現される。
【００７９】
レイアウトエンジン８０７は、ＤＯＭ処理部８０４が保持するオブジェクト群のツリー構造に応じて、各オブジェクトの表示上の表現（プレゼンテーション）を再帰的に決定し、結果的に文書全体のレイアウトを得る。各オブジェクトの表示上の表現は、文書の中に埋め込まれた記述または文書からリンクされた別ファイル中の記述によって、Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ（ＣＳＳ）などのスタイルシート形式で明示的に指定される場合がある。また、レイアウトエンジン８０７は、スタイルシートパーサ８０６によるスタイルシートの解析結果を反映して文書のレイアウトを決定する。
【００８０】
スタイルシートパーサ８０６は、コンテンツの文書に関連付けられたスタイルシートを解析する。
【００８１】
レンダラ８０８は、レイアウトエンジン８０７が決定した文書のレイアウトに応じて、ＬＣＤ５０１に表示するためのＧｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＧＵＩ）データを生成する。生成されたＧＵＩデータは、ＵＩインタフェース２０１によってＬＣＤ５０１に表示される。
【００８２】
イベント処理部８０９は、操作部１１２上のタッチパネルシート５０２や各キーなどに対してユーザが行った操作のイベントを受信して、各イベントに対応した処理を行う。また、イベント処理部８０９は、制御ＡＰＩ２１８から装置やジョブなどの状態遷移イベントを受信して、各イベントに対応した処理を行う。ＤＯＭ処理部８０４が管理するＤＯＭのツリー構造には、オブジェクトのクラス毎およびオブジェクトインスタンス毎に各種イベントに対応するイベントハンドラが登録されている。イベント処理部８０９は、生起したイベントに応じて、ＤＯＭ処理部８０４が管理するオブジェクト群の中からそのイベントの処理を担当するべきオブジェクトを決定し、イベントを配信する。イベントを配信されたオブジェクトは、そのイベントに対応するイベントハンドラのアルゴリズムに応じて、各種の処理を実行する。イベントハンドラの処理には、ＤＯＭ処理部８０４が保持するＤＯＭの更新、レイアウトエンジンに対する再描画指示、プロトコル処理部８０１に対するＨＴＴＰ要求発行の指示、制御ＡＰＩ２１８の呼び出しによる画像処理装置機能の制御、などがある。
【００８３】
スクリプトインタプリタ８０５は、Ｊａｖａ（登録商標）スクリプトなどのスクリプトを解釈し実行するインタプリタである。スクリプトは、文書に埋め込まれたり、または文書からリンクされた別ファイル中に記述されたりして、ＤＯＭに対する操作などを行う。コンテンツの提供者は、スクリプトによって、提供する文書の動的な挙動をプログラムできる。
【００８４】
次に、ＵＩインタフェース２０１によりＬＣＤ５０１に表示されるウェブブラウザの画面構成について図８を参照しながら説明する。図８はＵＩインタフェース２０１によってＬＣＤ５０１に表示されるウェブブラウザの画面構成を示す図である。
【００８５】
ＵＩインタフェース２０１によりＬＣＤ５０１に表示されるウェブブラウザの画面には、タブ９０１、ＵＲＬ入力フィールド９０２、ＯＫボタン９０３、プログレスバー９０４、コンテンツ表示領域９０５、およびステータス領域９１０が表示される。また更に、ＬＣＤに表示されるウェブブラウザの画面を遷移させることを指示するための戻るボタン９０６、進むボタン９０７、リロードボタン９０８、中止ボタン９０９が表示される。
【００８６】
タブ９０１は、ウェブブラウザ機能と他の機能（コピー、ボックス、送信、拡張）との画面切り替えを行うものである。ＵＲＬ入力フィールド９０２は、ユーザが所望のリソースのＵＲＬを入力するフィールドであり、当該フィールドをユーザが押すと、文字入力を行うための仮想的なフルキーボード（不図示）が表示される。ユーザは、仮想的なフルキーボード上に配置されたキートップを模したソフトキーによって所望の文字列を入力することができる。
【００８７】
ＯＫボタン９０３は入力したＵＲＬ文字列を確定するソフトキーである。ＵＲＬが確定されると、ウェブブラウザモジュール２１１は、当該リソースの取得を行うためのＨＴＴＰ要求を発行する。プログレスバー９０４は、ＨＴＴＰ要求応答によるコンテンツ取得処理の進捗状況を示す。コンテンツ表示領域９０５は、取得したリソースが表示される領域である。戻るボタン９０６は、コンテンツ表示の履歴をさかのぼり、現時点で表示しているコンテンツの前に表示したコンテンツを表示し直すためのソフトキーである。進むボタン９０７は、コンテンツ表示の履歴をさかのぼって表示しているときに、ボタンを押下した時点で表示しているコンテンツの後に表示したコンテンツの表示に戻るためのソフトキーである。リロードボタン９０８は、現時点で表示しているコンテンツの再取得と再表示を行う。中止ボタン９０９は、実行中のコンテンツ取得処理を中止するソフトキーである。
【００８８】
ステータス領域９１０は、画像処理装置の各種機能からのメッセージを表示する領域である。このステータス領域９１０には、ウェブブラウザ画面を表示中であっても、スキャナやプリンタや他の機能などから、ユーザの注意を促すためのメッセージを表示することができる。また、同様にウェブブラウザ機能からもメッセージの表示を行うことができる。ウェブブラウザ機能は、リンク先のＵＲＬ文字列、コンテンツのタイトル文字列、スクリプトによって指示されたメッセージなどを表示する。
【００８９】
次に、本実施形態の動作について図９を参照しながら説明する。図９は本実施形態におけるＨＴＴＰプロトコルによる要求と応答の処理の流れを示すシーケンス図である。
【００９０】
クライアント１００１は、図９に示すように、ＨＴＴＰ要求を送信しＨＴＴＰ応答を受信するソフトウェアである。具体的には画像処理装置１１０，１２０，１３０内蔵のウェブブラウザや、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話などで稼動する一般的なウェブブラウザなどに相当する。また、ウェブブラウザと同様の方法でウェブサーバにアクセスしてサービスの利用または中継を行う各種のソフトウェアであってもよい。サーバ１００２は、ＨＴＴＰ要求を受信して対応する処理を行い、さらにＨＴＴＰ応答を返信するソフトウェアであり、サーバ１５５上で稼動するソフトウェアを含むＨＴＴＰサーバに相当するものである。
【００９１】
クライアント１００１は、ＨＴＴＰ要求をＧＥＴメソッドまたはＰＯＳＴメソッドのいずれかの方法で送信する。ここで、クライアント１００１が所望のリソースに対するＨＴＴＰ要求１００３をＧＥＴメソッドでサーバ１００２に送信する場合、リソースは一般にＵＲＩ（特にＵＲＬ）形式によって指定される。サーバ１００２は、ＨＴＴＰ要求１００３により指定されたリソースに対応するデータを取得または生成し、このデータをＨＴＴＰ応答１００４によって返送する。ここで、指定されたリソースが静的なファイルに対応する場合、サーバ１００２は例えばサーバ１５５のファイルシステムから該当するファイルを読み出してそのデータを取得する。一方、指定されたリソースがＣＧＩプログラムやサーブレット（Ｓｅｒｖｌｅｔ）などの処理に対応する場合は、サーバ１００２は該当する処理を実行する。そして、処理の結果として生成されたデータが返送される。例えば、画像処理装置の消耗品カタログを表示するためのリソースが指定された場合、電子商取引のためのソフトウェアが実行される。そして、このソフトウェアにより、データベースの中から用紙、トナー、部品の最新価格や在庫状況などのレコードを参照し、これらの情報をＨＴＭＬ形式またはＸＭＬ形式に整形してカタログ文書データを生成する処理が行われる。
【００９２】
クライアント１００１においては、ＨＴＴＰ応答１００４で得られたデータが表示可能な形式である場合、そのコンテンツの表示が行われる。得られたデータがＨＴＭＬ文書などであれば、ウェブブラウザ上に表示された文書にハイパーテキストとして埋め込まれたリンク情報をユーザが選択するだけで、次々に新たなリソースの取得や表示を繰り返すことができる。
【００９３】
次に、ＨＴＴＰ要求をＰＯＳＴメソッドで送信する場合を説明する。ＨＴＭＬ文書にフォームが含まれ、その送信方法にＰＯＳＴメソッドが指定されている場合（図１０のＨＴＭＬ文書を参照）、まず、クライアント１００１のウェブブラウザにより表示されたフォームにユーザにより入力された情報は符号化される。そして、その符号化された情報すなわちフォームの入力内容はＨＴＴＰ要求１００５に添付されてサーバ１００２に送信される。サーバ１００２においては、指定されたリソースが、クライアント１００１から送られたデータを受信して処理を行い、ＨＴＴＰ応答１００６を生成し、クライアント１００１に返信する。
【００９４】
次に、フォームを含み、その送信方法としてＰＯＳＴメソッドが指定されたＨＴＭＬ文書の構造およびそのＨＴＭＬ文書に基づいて表示される画面について図１０および図１１を参照しながら説明する。図１０はフォームを含み、その送信方法としてＰＯＳＴメソッドが指定されたＨＴＭＬ文書の一例を示す図、図１１は図１０のＨＴＭＬ文書に基づいてウェブブラウザのコンテンツ表示領域９０５に表示される画面を示す図である。
【００９５】
フォームを含み、その送信方法としてＰＯＳＴメソッドが指定されたＨＴＭＬ文書の一例においては、図１０に示すように、１行目にＨＴＭＬ要素の開始を示すタグが記述されている。２行目にはＨＥＡＤ要素の開始を示すタグ、３行目にＨＥＡＤ要素に含まれるＴＩＴＬＥ要素、４行目にＨＥＡＤ要素の終了タグが記述されている。５行目には、ＢＯＤＹ要素の開始を示すタグが記述されて６行目にはＨ１要素が記述されている。７行目にはＦＯＲＭ要素の開始を示すタグが記述されている。このタグによって、このフォームにおいては、入力された情報がｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａ形式で符号化され、ｒｅｇｉｓｔ．ｃｇｉリソースに対してＰＯＳＴメソッドで送信されることが属性によって示されている。８行目は第１のＩＮＰＵＴ要素を示す。この第１のＩＮＰＵＴ要素においては、名前がｕｓｅｒｆｉｌｅであり、型がｆｉｌｅであることが、属性によって示されている。９行目は第２のＩＮＰＵＴ要素を示す。この第２のＩＮＰＵＴ要素においては、型がｓｕｂｍｉｔであり、値が文字列”送信”であることが属性によって示されている。１０行目はＦＯＲＭ要素の終了を示す。１１行目はＢＯＤＹ要素の終了を示すタグが記述されている。１２行目はＨＴＭＬ要素の終了を示すタグが記述されている。
【００９６】
クライアント１００１においては、図１１に示すように、そのウェブブラウザにより上記ＨＴＭＬ文書に基づいて画面がコンテンツ表示領域９０５（図８に示す）に表示される。上記ＨＴＭＬ文書に基づいて表示される画面においては、図１０の３行目のＨ１要素に対応する表示が、表示１１０１となる。また、図１０の８行目のｆｉｌｅ型のＩＮＰＵＴ要素に対応する表示が矩形領域の表示１１０２となる。図１０の９行目のｓｕｂｍｉｔ型のＩＮＰＵＴ要素に対応する表示が、表示１１０３となる。
【００９７】
ここで、表示１１０２領域内には、画像処理装置１１０のウェブブラウザ固有の表示オブジェクトである表示オブジェクト１１０４、１１０５が表示される。表示オブジェクト１１０４は、スキャナ１１３が原稿上の画像を読み取って出力した画像データを入力することを指示するための「スキャン」ボタンである。表示オブジェクト１１０５は、ＨＤＤ３０４内のボックス領域に予め記憶されている画像データを読み出して入力することを指示するための「ボックスから選択」ボタンである。
【００９８】
次に、画像処理装置１１０のウェブブラウザによって行われるｆｉｌｅ型のＩＮＰＵＴ要素に対応するオブジェクトのレイアウト処理について図１２を参照しながら説明する。図１２は画像処理装置１１０のウェブブラウザによって行われるｆｉｌｅ型のＩＮＰＵＴ要素に対応する表示オブジェクトのレイアウト処理の手順を示すフローチャートである。ここでは、本レイアウト処理により、図１１に示す画面の表示１１０２に対応するレイアウトが生成されるものとして説明を行う。
【００９９】
ＣＰＵ３０１は、図１２に示すように、まずステップＳ１２０１において、レイアウト処理の単位となるコンポーネントオブジェクトを生成する。続いてＣＰＵ３０１は、ステップＳ１２０２において、「スキャン」ボタンを生成し、コンポーネントに配置する。
【０１００】
次いで、ＣＰＵ３０１は、ステップＳ１２０３において、生成された「スキャン」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、スキャナ１１３を用いた読み取り処理を登録する。
【０１０１】
続くステップＳ１２０４で、「ボックスから選択」ボタンを生成し、コンポーネントに配置する。そして、ＣＰＵ３０１は、ステップＳ１２０５において、生成された「ボックスから選択」ボタンの押下イベントが生起したときに起動するイベントハンドラとして、ＨＤＤ３０４からの画像データ読み出し処理を登録する。
【０１０２】
そして、ＣＰＵ３０１は、ステップＳ１２０６において、コンポーネントをこのコンポーネントの親コンポーネントであるＦＯＲＭ要素に対応するコンポーネントオブジェクトに配置する。同様の手順によって、各要素に対応するコンポーネントオブジェクト間の包含関係を表現するツリー構造が生成され、このツリーを再帰的に処理することで画面表示のレイアウトが行われる。
【０１０３】
以上のようにして、画像データの入力を要求するためのフォームが記述されたＨＴＭＬ文書に対応する画面として一般的なブラウザで表示される画面（図２４）に代えて、本実施形態では、図１１に示す画面を表示する。
【０１０４】
次に、画像処理装置１１０が、サーバ１５５から取得したｆｉｌｅ型のＩＮＰＵＴ要素を含むフォームが記述されたＨＴＭＬ文書に基づいて画像データを送信する処理について図１３を参照しながら説明する。図１３は画像処理装置１１０のＣＰＵ３０１によって実行される画像データの送信処理の手順を示すフローチャートである。
【０１０５】
ＣＰＵ３０１は、まずステップＳ１３０１において、サーバ１５５から取得した文書に画像データの入力を要求するフォームが記述されているか否かを判定する。具体的には、ＣＰＵ３０１は、ＨＴＭＬ文書にｆｉｌｅ型のＩＮＰＵＴ要素を含むフォームが記述されていることを認識した場合に、画像データの入力を要求するフォームが記述されていると判定する。
【０１０６】
ステップＳ１３０１において、画像データの入力を要求するフォームが記述されていないと判定された場合は、ステップＳ１３０７に進み、ＨＴＭＬ文書の記述に基づく通常の画面を表示する。一方、ステップＳ１３０１において、画像データの入力を要求するフォームが記述されていると判定された場合は、ステップＳ１３０２において、入力した画像データの送信先情報を取得する。
【０１０７】
例えば、図１０に示すＨＴＭＬ文書に基づいて画像データを送信する場合は、図９に示すシーケンスに沿ってコマンドをやり取りしている相手のサーバに対して画像データが送信されるため、この相手サーバのＩＰアドレスを取得する。また、図１０に示すＨＴＭＬ文書の７行目に記述されたｒｅｇｉｓｔ．ｃｇｉに代えて、特定のサーバのＩＰアドレスが記述されている場合は、このサーバに対して画像データが送信されるため、このＩＰアドレスを送信先情報として取得する。
【０１０８】
続くステップＳ１３０３において、ステップＳ１３０２で取得した送信先情報に基づいて、画像データの送信を制限すべきであるか否かを判定する。なお、ここでは、ＣＰＵ３０１は図１４に示す管理テーブルを参照して判定を行う。
【０１０９】
図１４は、ＲＯＭ３０３に格納されている管理テーブルを示す。図１４に示す管理テーブルでは、画像データの送信を制限すべき否かを判定するための情報として、送信制限の対象となるサーバのＩＰアドレスが管理されている。なお、この管理テーブルで管理される情報はＩＰアドレスでなくともよく、ＵＲＬ等の送信先を識別することが可能な情報であれば何であっても構わない。
【０１１０】
ステップＳ１３０３において、画像データの送信を制限すべきであると判定された場合は、ステップＳ１３０４に進み、画像データの送信が制限されている旨を示すメッセージをウェブブラウザのコンテンツ表示領域９０５に表示する。
【０１１１】
図１５に、ステップＳ１３０４で表示される画面の例を示す。図１５に示すように、ステップＳ１３０４では、サーバ１５５から取得したＨＴＭＬ文書にファイルアップロード機能があること、及び画像データの送信が制限されていることを示すメッセージが表示される。
【０１１２】
一方、ステップＳ１３０３において、画像データの送信を制限すべきであると判定されなかった場合は、ステップＳ１３０５に進み、図１１に示す画面をウェブブラウザのコンテンツ表示領域９０５に表示する。そして、続くステップＳ１３０６で画像データの送信処理を実行し、処理を終了する。
【０１１３】
次に、図１３のステップＳ１３０６における画像データの送信処理について図１６を参照しながら説明する。図１６は画像処理装置１１０のＣＰＵ３０１によって実行される画像データの送信処理の手順を示すフローチャートである。
【０１１４】
まずステップＳ１６０１では、図１１に示す画面において、「スキャン」ボタン１１０４または「ＢＯＸから選択」ボタン１１０５のいずれかが押下されたか否かを判定する。「ボックスから選択」ボタン１１０５が押下されたと判定した場合は、ステップＳ１６０２に進み、ボックス一覧画面を表示する。
【０１１５】
図１７にボックス一覧画面の例を示す。ボックス選択欄１７０２は、各行がそれぞれ１つのボックスに関する情報（ボックス番号、ボックスに付与されたボックス名称）を表示している。ここで、いずれかの行がユーザにより選択されると、選択されたボックス内に格納されている文書の一覧を表示する画面が表示される。スクロールボタン１７０３，１７０４が押し下げられると、ボックス選択欄に表示するボックスの範囲を変更する。キャンセルボタン１７０１が押し下げられると、処理を中止して図１１の画面に戻る。
【０１１６】
図１７に示す画面において、いずれか１つのボックスが選択された場合（ステップＳ１６０３でＹｅｓ）、ステップＳ１６０４に進み、文書一覧画面を表示する。
【０１１７】
図１８に文書一覧画面の例を示す。キャンセルボタン１８０１、文書選択欄１８０２、スクロールボタン１８０３，１８０４、戻るボタン１８０５、が表示される。
【０１１８】
文書選択欄１８０２は、選択されたボックスに格納されている文書に関する情報（文書の種類、文書名、用紙サイズ、ページ数、格納された日付／時刻など）を１つの文書につき１行で表示する。ここで、いずれかの行がユーザにより選択されると、選択された文書を送信文書として決定し、図１１の画面に戻る。この場合、図１１の画面では、「ボックスから選択」ボタン１１０５を反転表示し、ボックスの文書が選択されていることをユーザが認識できるようにする。なお、ここで送信文書として決定された文書を、ＨＤＤ３０４のテンポラリ領域に格納するようにしてもよい。
【０１１９】
スクロールボタン１８０３，１８０４が押し下げられると、文書選択欄１８０２に表示される文書の範囲を変更する。ボタン１８０５は戻るボタンであり、図１７の画面に戻る。キャンセルボタン１８０１が押し下げられると、処理を中止して図１１の画面に戻る。
【０１２０】
一方、ステップＳ１６０１において「スキャン」ボタン１１０４が押下されたと判定した場合は、ステップＳ１６０６に進み、ユーザから読取解像度などのスキャンパラメータを受け付ける。
【０１２１】
そして、続くステップＳ１６０７において、スタートキー５０５が押下されたかどうかを判定し、スタートキー５０５が押下されたと判定した場合は、ステップＳ１６０８に進みスキャナ１１３を動作させて原稿を読み取らせる。
【０１２２】
さらに、ステップＳ１６０９で、読み取った原稿上の画像に基づく画像データを生成し、ステップＳ１６１０において、生成した画像データをＨＤＤ３０４のテンポラリ領域に格納し、図１１に示す画面に戻る。この場合、図１１に示す画面では、「スキャン」ボタン１１０４を反転表示し、スキャナ１１３から入力した画像データが格納されていることをユーザが認識できるようにする。
【０１２３】
ステップＳ１６１１では、画像データの送信がユーザから指示されたかどうかを判定する。具体的には、図１１に示す画面で、送信ボタン１１０３が押下された場合に、画像データの送信がユーザから指示されたと判定する。
【０１２４】
画像データの送信が指示された場合は、続くステップＳ１６１２において、Ｓ１６０５で選択された文書またはＳ１６１０でテンポラリ領域に格納された文書をサーバ１５５に対して送信する。
【０１２５】
このように第１の実施形態によれば、ＡＳＰからファイルアップロードを求める汎用的なフォームを記述したウェブページを取得した場合に、画像データの送信先に応じて画像データの送信を制限することができる。これにより、情報漏洩を防止することができる。
【０１２６】
（第２の実施形態）
次に、本発明の第２の実施形態について図１９を参照しながら説明する。図１９は本発明の第２の実施形態に係る画像処理装置１１０のＣＰＵ３０１によって実行される画像データの送信処理の手順を示すフローチャートである。ここでは、サーバ１５５から取得したｆｉｌｅ型のＩＮＰＵＴ要素を含むフォームが記述されたＨＴＭＬ文書に基づいて画像データを送信する処理について説明する。なお、第２の実施形態は、図１９の処理以外は、上記第１の実施形態と同じ構成を有し、ここではその説明は省略する。
【０１２７】
ＣＰＵ３０１は、まずステップＳ１９０１において、サーバ１５５から取得した文書に画像データの入力を要求するフォームが記述されているか否かを判定する。具体的には、ＣＰＵ３０１は、ＨＴＭＬ文書にｆｉｌｅ型のＩＮＰＵＴ要素を含むフォームが記述されていることを認識した場合に、画像データの入力を要求するフォームが記述されていると判定する。
【０１２８】
ステップＳ１９０１において、画像データの入力を要求するフォームが記述されていないと判定された場合は、ステップＳ１９１３に進み、ＨＴＭＬ文書の記述に基づく通常の画面を表示する。
【０１２９】
一方、ステップＳ１９０１において、画像データの入力を要求するフォームが記述されていると判定された場合は、ステップＳ１９０２において、画像処理装置１１０を操作しているユーザのユーザＩＤを取得する。このユーザＩＤは、ユーザが画像処理装置１１０を操作し始める前に図２０に示すログイン画面において入力されたユーザＩＤを取得する。ＣＰＵ３０１は、このユーザＩＤに基づいて画像処理装置１１０を操作しているユーザを識別する。
【０１３０】
続くステップＳ１９０３では、図１３のＳ１３０２と同様にして、入力した画像データの送信先の情報を取得する。
【０１３１】
さらに、ステップＳ１９０４において、ステップＳ１９０２で取得したユーザＩＤ及びステップＳ１９０３で取得した送信先情報に基づいて、画像データの送信を制限すべきであるか否かを判定する。なお、ここでは、ＣＰＵ３０１は、図２１に示す管理テーブルを参照して判定を行う。
【０１３２】
図２１は、ＲＯＭ３０３に格納されている管理テーブルを示す。図２１に示す管理テーブルでは、画像データの送信が制限される対象となるサーバと、画像処理装置１１０を操作する各ユーザとが対応付けて管理されている。更に、図２１に示す管理テーブルでは、画像データの送信が制限されている場合に、その制限範囲を示す情報が管理されている。
【０１３３】
図２１に示す例では、例えば、ユーザＡについては、１１１．１１１．１１１．１１１のサーバに対しては、スキャナ１１３から入力した画像データ及びボックスから読み出して入力した画像データの両方の送信が制限されている。また、ユーザＢについては、１１１．１１１．１１１．２２２のサーバに対しては、スキャナ１１３から入力した画像データの送信は制限されているが、ボックスから読み出して入力した画像データの送信は制限されていない。
【０１３４】
ステップＳ１９０４において、画像データの送信を制限すべきであると判定されなかった場合は、ステップＳ１９１１に進み、図１３のステップＳ１３０５と同様に、図１１に示す画面をウェブブラウザのコンテンツ表示領域９０５に表示する。また、続くステップＳ１９１２において、図１３のステップＳ１３０６と同様にして送信処理を実行して終了する。
【０１３５】
一方、ステップＳ１９０４において、画像データの送信を制限すべきであると判定された場合は、ステップＳ１９０５に進み、送信制限の範囲の判定を行う。ここで、制限範囲がＡＬＬであると判定された場合は、ステップＳ１９０６に進み、図１３のステップＳ１３０４と同様に、画像データの送信が制限されている旨を示すメッセージをウェブブラウザのコンテンツ表示領域９０５に表示する。
【０１３６】
一方、ステップＳ１９０５において、制限範囲がボックスであると判定された場合は、ステップＳ１９０７に進み、図１１に示す画面に代えて、図２２に示す画面を表示する。図１１に示す画面と比較して、図２２に示す画面では「ボックスから選択」ボタンが表示されていないことが分かる。これは、ステップＳ１９０５の判定において、ボックスから読み出して入力される画像データの送信が制限されていると判定されたためである。
【０１３７】
そして、続くステップＳ１９０８において、図１３のステップＳ１３０６と同様にして、画像データの送信処理を行う。なお、ここでは、「ボックスから選択」ボタンは表示されていないので、図１６のＳ１６０１において、「ボックスから選択」ボタンが押下されたと判定されることはない。
【０１３８】
一方、ステップＳ１９０５において、制限範囲がスキャンであると判定された場合は、ステップＳ１９０９に進み、図１１に示す画面に代えて、図２３に示す画面を表示する。図１１に示す画面と比較して、図２３に示す画面では「スキャン」ボタンが表示されていないことが分かる。これは、ステップＳ１９０５の判定において、スキャナ１１３から入力される画像データの送信が制限されていると判定されたためである。
【０１３９】
そして、続くステップＳ１９１０において、図１３のステップＳ１３０６と同様にして、画像データの送信処理を行う。なお、ここでは、「スキャン」ボタンは表示されていないので、図１６のＳ１６０１において、「スキャン」ボタンが押下されたと判定されることはない。
【０１４０】
このように、第２の実施形態によれば、ＡＳＰからファイルアップロードを求める汎用的なフォームを記述したウェブページを取得した場合に、画像データの送信先及びが像処理装置を操作しているユーザに応じて画像データの送信を制限することができる。また更に、互いに異なる第１の入力手段及び第２の入力手段についてそれぞれ独立して、各入力手段から入力された画像データの送信を制限すべきであるか否かの判定を行うことができる。これにより、ユーザ毎に個別に制限することができる。
【０１４１】
なお、上述した第１及び第２の実施形態では、図１４及び図２１に示す管理テーブルにおいて、制限対象となるサーバに対応するＩＰアドレスが管理されている場合について説明した。しかしながら、これらの管理テーブルで管理する情報は、制限対象のサーバを示す情報でなくてもよく、例えば、送信が許可されているサーバを示す情報であってもよい。そして、この場合ＣＰＵ３０１は、取得した送信先情報が管理テーブルに管理されていない場合に、画像データの送信を制限すべきであると判断する。
【０１４２】
（その他の実施形態）
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１４３】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１４４】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１４６】
プログラムを供給するための記録媒体としては、例えば、以下のようなものがある。フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）。
【０１４７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。すなわち、ホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１４８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１４９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他にも、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１５０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後にも前述した実施形態の機能が実現される。すなわち、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１５１】
【図１】本発明の実施形態におけるシステム全体図である。
【図２】本発明の実施形態におけるソフトウェア構成図である。
【図３】本発明の実施形態における画像処理装置１１０の構成を示すブロック図である。
【図４】本発明の実施形態における画像処理装置１１０の外観図である。
【図５】本発明の実施形態における操作部１１２の外観図である。
【図６】本発明の実施形態における操作部１１２の構成を示すブロック図である。
【図７】本発明の実施形態におけるウェブブラウザモジュール２１１のソフトウェア構成を示すブロック図である。
【図８】本発明の実施形態におけるウェブブラウザの画面構成を示す図である。
【図９】本発明の実施形態におけるＨＴＴＰプロトコルによる要求と応答の処理の流れを示すシーケンス図である。
【図１０】本発明の実施形態におけるＨＴＭＬ文書の例を示す図である。
【図１１】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図１２】本発明の実施形態における表示オブジェクトのレイアウト処理の手順を示すフローチャートである。
【図１３】本発明の実施形態における送信処理の手順を示すフローチャートである。
【図１４】本発明の実施形態における管理テーブルの例を示す図である。
【図１５】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図１６】本発明の実施形態における送信処理の手順を示すフローチャートである。
【図１７】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図１８】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図１９】本発明の実施形態における送信処理の手順を示すフローチャートである。
【図２０】本発明の実施形態におけるＬＣＤ表示部５０１に表示される画面例を示す図である。
【図２１】本発明の実施形態における管理テーブルの例を示す図である。
【図２２】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図２３】本発明の実施形態におけるウェブブラウザに表示される画面例を示す図である。
【図２４】従来のウェブブラウザに表示される画面例を示す図である。
【符号の説明】
【０１５２】
１１０  画像処理装置
１１１  コントロールユニット
１１２  操作部
１１３  スキャナ
１１４  プリンタ
３０１  ＣＰＵ
３０２  ＲＡＭ
３０３  ＲＯＭ
３０４  ＨＤＤ
【図１】
0005064994.tif 000002
【図２】
0005064994.tif 000003
【図３】
0005064994.tif 000004
【図４】
0005064994.tif 000005
【図５】
0005064994.tif 000006
【図６】
0005064994.tif 000007
【図７】
0005064994.tif 000008
【図８】
0005064994.tif 000009
【図９】
0005064994.tif 000010
【図１０】
0005064994.tif 000011
【図１１】
0005064994.tif 000012
【図１２】
0005064994.tif 000013
【図１３】
0005064994.tif 000014
【図１４】
0005064994.tif 000015
【図１５】
0005064994.tif 000016
【図１６】
0005064994.tif 000017
【図１７】
0005064994.tif 000018
【図１８】
0005064994.tif 000019
【図１９】
0005064994.tif 000020
【図２０】
0005064994.tif 000021
【図２１】
0005064994.tif 000022
【図２２】
0005064994.tif 000023
【図２３】
0005064994.tif 000024
【図２４】
0005064994.tif 000025