画像処理装置、画像処理装置の制御方法、及びプログラム
【課題】 Webブラウザのアクセス先に応じて、当該アクセス先に画像処理装置に関する情報を通知すべきであるか否かを判断した上で、該情報を通知する仕組みを提供する。また、複数の処理手段のそれぞれに関する情報のうち、Webブラウザのアクセス先に通知すべき情報を選択した上で、該選択された情報を通知する仕組みを提供する。
【解決手段】 Webブラウザ440が指定されたURIにアクセスする際に、当該アクセス先となるURIが予め記憶されているパターンと一致するか否かを判定し(S1303)、一致する場合には、一致したパターンに対応するサービスプロバイダ450の情報をHTTP要求データのヘッダ部分に格納して送信する(S1307)。
【解決手段】 Webブラウザ440が指定されたURIにアクセスする際に、当該アクセス先となるURIが予め記憶されているパターンと一致するか否かを判定し(S1303)、一致する場合には、一致したパターンに対応するサービスプロバイダ450の情報をHTTP要求データのヘッダ部分に格納して送信する(S1307)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
PCなどの情報処理装置がネットワーク上のWebサーバに接続され、Webサーバにより提供される操作画面を、情報処理装置が備えるWebブラウザ上に表示することが知られている。
【0003】
この場合、情報処理装置のWebブラウザがWebサーバに対して操作画面を要求し、Webサーバ上のWebアプリケーションが情報処理装置からの要求に応えて、Webブラウザに操作画面を表示させるためのHTMLファイルを情報処理装置に送信する。情報処理装置のWebブラウザは、受信したHTMLファイルを解析し、HTMLファイルの記述に基づいた操作画面を表示する。
【0004】
更に、Webブラウザに表示された操作画面を介してユーザが指示を入力すると、入力された指示をWebブラウザがWebサーバに対して通知する。そして、この通知を受けたWebサーバ上のWebアプリケーションは、入力された指示に従って処理を実行する。
【0005】
ところで、最近ではスキャナやプリンタを備えたMFP(Multi Function Peripheral)等の画像処理装置の中にも、上述したようなWebブラウザを備えているものがある。そして、画像処理装置は、上述した手順を用いてWebサーバにより提供される操作画面をWebブラウザに表示し、ユーザからの各種指示を受け付ける。
【0006】
また更には、特許文献1のような技術も考えられている。特許文献1の記載によれば、画像処理装置が備える各機能(サービス)を利用するための指示を入力する操作画面を、Webサーバが提供する。即ち、画像処理装置のユーザは、Webブラウザ上に表示された操作画面を介して、画像処理装置に対する指示を入力する。そして、入力された指示は画像処理装置のWebブラウザによってWebサーバに通知される。
【0007】
この通知を受けたWebサーバは、ユーザから入力された指示の内容に従って、画像処理装置に対して各種処理の実行を依頼する。そして、この依頼を受けた画像処理装置は、依頼された処理を実行(サービスを提供)する。これにより、画像処理装置を操作するための全てのメニューデータを画像処理装置内で保持しておく必要がなくなり、またメニューデータの変更もWebサーバ上で容易に行うことができるようになる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2005‐242994号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
画像処理装置のユーザが指示を入力する操作画面をWebサーバが提供し、Webサーバから画像処理装置に処理を依頼するようにした場合、画像処理装置が提供するサービスに関する情報をあらかじめ固定的にWebサーバに登録する必要がある。
【0010】
しかしながら、画像処理装置が提供するサービスは一般に複数あり、しかも各サービスのアップデートやオプション機能の追加インストールなどによってその能力やバージョン等が動的に変化する。また、各サービスを利用するために用いるプロトコルや接続アドレス情報といった、サービスの利用方法の選択肢も複数あり得る。このため、画像処理装置が提供するサービスに関する情報を、あらかじめ固定的にWebサーバに登録しておくことは困難である。
【0011】
このような問題に対して、特許文献1には、画像処理装置が提供するサービスに関する情報の1つであるURL(サービスへの接続情報)を、画像処理装置からWebサーバに通知することが示されている。
【0012】
しかしながら、特許文献1は、画像処理装置が提供するサービスに関する情報をWebサーバからの要求に応じて通知するだけのものであり、通知するタイミングや通知先に応じて、通知するか否か或いは通知する情報の内容を切り替えてはいない。従って、通知するタイミングや通知先によっては、通知すること自体が不要な場合であっても、情報が通知されてしまう。
【0013】
即ち、例えば通知するタイミングや通知先に関わらず通知の度に全てのサービスに関する情報を通知するようにした場合、画像処理装置とWebサーバとの間でやり取りされるデータ量が増加するという問題がある。また、通知先に関わらず常にサービスに関する情報を通知することにより、機密性の高い情報が外部に漏洩してしまうおそれがある。
【0014】
本発明は、上記の問題点に鑑みなされたものであり、Webブラウザのアクセス先に応じて、当該アクセス先に画像処理装置に関する情報を通知すべきであるか否かを判断した上で、該情報を通知する仕組みを提供することを目的とする。
【0015】
また、本発明は、複数の処理手段のそれぞれに関する情報のうち、Webブラウザのアクセス先に通知すべき情報を選択した上で、該選択された情報を通知する仕組みを提供することを他の目的とする。
【課題を解決するための手段】
【0016】
上記の目的を達成するために本発明の画像処理装置は、Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理装置であって、前記Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する処理手段と、前記Webブラウザのアクセス先に応じて、当該アクセス先に前記画像処理装置に関する情報を通知すべきであるか否かを判断する判断手段と、前記判断手段により前記画像処理装置に関する情報を通知すべきであると判断された場合に、前記Webブラウザのアクセス先に対して、前記画像処理装置に関する情報を通知する通知手段と、を備えることを特徴とする。
【0017】
また、本発明の画像処理装置は、Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理装置であって、前記Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する複数の異なる処理手段と、前記複数の処理手段のそれぞれに関する情報のうち、前記Webブラウザのアクセス先に通知すべき情報を選択する選択手段と、前記Webブラウザのアクセス先に対して、前記選択手段により選択された情報を通知する通知手段と、を備えることを特徴とする。
【発明の効果】
【0018】
本発明によれば、Webブラウザのアクセス先に応じて、当該アクセス先に画像処理装置に関する情報を通知すべきであるか否かを判断した上で、該情報を通知する仕組みを提供することができる。
【0019】
また、本発明によれば、複数の処理手段のそれぞれに関する情報のうち、Webブラウザのアクセス先に通知すべき情報を選択した上で、該選択された情報を通知する仕組みを提供することができる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施形態における情報処理システムの全体図である。
【図2】本発明の実施形態におけるMFP101の構成を示すブロック図である。
【図3】本発明の実施形態におけるWebサーバ103の構成を示すブロック図である。
【図4】本発明の実施形態における情報処理システムのソフトウェア構成を示す図である。
【図5】本発明の実施形態におけるMFP101、Webサーバ103、及びファイルサーバ102が一連の処理を実行する動作を説明するシーケンス図である。
【図6】本発明の実施形態におけるWebブラウザ画面を示す図である。
【図7】本発明の実施形態におけるWebブラウザ画面を示す図である。
【図8】本発明の実施形態におけるネイティブ画面を示す図である。
【図9】本発明の実施形態におけるWebブラウザ画面を示す図である。
【図10】本発明の実施形態におけるMFP101の動作を説明するフローチャートである。
【図11】本発明の実施形態におけるサービスレポジトリ部492を説明する図である。
【図12】本発明の実施形態におけるURI情報記憶部493を説明する図である。
【図13】本発明の実施形態におけるMFP101の動作を説明するフローチャートである。
【図14】本発明の実施形態におけるWebブラウザ440が生成するHTTP要求データの一例を示す図である。
【発明を実施するための形態】
【0021】
以下、図面を参照して本発明の実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0022】
(第1の実施形態)
図1は、第1の実施形態における情報処理システムの全体図である。LAN110には、MFP101、ファイルサーバ102、Webサーバ103が互いに通信可能に接続されている。また、LAN110上には図示しないFTP(File Transfer Protocol)サーバも備えられており、MFP101からFTPサーバに対して画像データをFTP送信することも可能となっている。
【0023】
図2は、MFP101の構成を示すブロック図である。CPU211を含む制御部210は、MFP101全体の動作を制御する。CPU211は、ROM212に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。
【0024】
操作部I/F215は、操作部219と制御部210とを接続する。操作部219には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。また、MFP101には後述するWebブラウザ機能が備えられており、MFP101のWebブラウザはWebサーバ103から受信したHTMLファイルを解析し、受信したHTMLファイルの記述に基づく操作画面を操作部219上に表示する。
【0025】
プリンタI/F216は、プリンタ220と制御部210とを接続する。プリンタ220で印刷すべき画像データはプリンタI/F216を介して制御部210からプリンタ220に転送され、プリンタ220において記録媒体上に印刷される。
【0026】
スキャナI/F217は、スキャナ221と制御部210とを接続する。スキャナ221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。
【0027】
ネットワークI/F218は、制御部210(MFP101)をLAN110に接続する。ネットワークI/F218は、LAN110上の外部装置(例えば、ファイルサーバ102やWebサーバ103)に画像データや情報を送信したり、LAN110上の外部装置から各種情報を受信したりする。
【0028】
図3は、Webサーバ103の構成を示すブロック図である。なお、ファイルサーバ102は、Webサーバ103と同様の構成を有するものとする。
【0029】
CPU311を含む制御部310は、Webサーバ103全体の動作を制御する。CPU311は、ROM312に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。
【0030】
ネットワークI/F315は、制御部310(Webサーバ103)をLAN110に接続する。ネットワークI/F315は、LAN110上の他の装置との間で各種情報を送受信する。
【0031】
図4は、情報処理システム全体のソフトウェア構成を説明するための図である。図4に示す各機能部は、MFP101/ファイルサーバ102/Webサーバ103のそれぞれに備えられているCPUが制御プログラムを実行することにより実現される。
【0032】
MFP101は、ログインアプリケーション430、Webブラウザ440、複数のサービスプロバイダ450を含むサービスプロバイダフレームワーク453、ジョブ・デバイス情報記録部460、画像処理管理部490、画像処理制御部491を備える。また、MFP101は、サービスレポジトリ部492、URI情報記憶部493、ログインコンテキスト管理部494、プリファレンス情報記憶部495、アクセス制御情報記憶部496、オプション構成管理部497を備える。
【0033】
ログインアプリケーション430は、画面表示部431及び認証処理部432を含む。画面表示部431は、認証処理部432が実行する認証処理に必要な認証情報をユーザに入力させるための認証画面を、操作部219に表示する。なお、この認証画面はWebサーバ103により提供されるものではなく、ログインアプリケーション430がMFP101内に保持している情報を読み出して表示する。このように、MFP101内に予め保持されている情報に基づいて表示される画面をネイティブ画面と呼ぶこととする。
【0034】
画面表示部431により表示された認証画面を介して認証情報が入力されると、認証処理部432が、入力された認証情報を用いてユーザ認証の処理を行う。
【0035】
認証処理部432が認証処理を行う場合には、画面表示部431により表示される認証画面を介して入力された認証情報と、HDD214に記憶されている認証情報を照合する。そして、この照合結果に応じて、ユーザによるMFP101の使用が許可される。
【0036】
Webブラウザ440は、通信部441、解析部442、及び画面表示部443を含む。通信部441は、HTTPプロトコルに従ってWebアプリケーション410のプレゼンテーション部411と通信する。より具体的には、通信部441は、URIによって特定されるWebアプリケーション410のリソースに対してGETまたはPOSTのHTTP要求を送信する。つまり、指定されたURIをアクセス先としてWebブラウザ440がアクセスを行う。そして、HTTP要求に対するHTTP応答として、Webブラウザで表示するHTML等で記述された操作画面をWebアプリケーション410から取得する。また、Webブラウザで表示したHTMLフォーム等に入力されたユーザからの指示を、HTTP要求によってWebアプリケーション410に通知する。
【0037】
解析部442は、Webアプリケーション410から受信するHTMLファイルを解析する。このHTMLファイルには、Webブラウザに表示すべき操作画面の内容を示す記述が含まれている。
【0038】
画面表示部443は、解析部442による解析の結果に基づいて、操作部219上に操作画面を表示する。このように、Webサーバ103から受信した情報(HTMLファイル)に基づいて表示される画面をWebブラウザ画面と呼ぶこととする。
【0039】
ファイルサーバ102は、ファイル管理部470とファイル記憶部480を備えている。ファイル記憶部480には、MFP101が読み取った画像データファイルを含む各種のデータファイルが記憶される。ファイル管理部470は、ファイル記憶部480に記憶されているファイルを管理する。
【0040】
Webサーバ103には、Webアプリケーション410及びログ記録部420が備えられている。さらに、Webアプリケーション410には、プレゼンテーション部411及びロジック部412が含まれる。Webアプリケーション410は、受信したHTTP要求に応じて、ロジック部412の処理を行う。また、プレゼンテーション部411でHTML等のデータ生成を行い、HTTP応答としてデータをWebブラウザへ送信する。
【0041】
プレゼンテーション部411は、通信部441と通信し、MFP101からの要求に応えてMFP101のWebブラウザで表示すべき操作画面をMFP101に送信する。また、MFP101のWebブラウザに表示された操作画面を介して入力されたユーザからの指示をMFP101からHTTP要求として受け取る。
【0042】
ユーザからの指示をHTTP要求として受け取ったWebアプリケーション410は、指示の内容に従って各種処理を実行するとともに、MFP101に対して処理の実行を依頼する。具体的には、MFP101のプリンタ220による印刷処理の実行や、スキャナ221による読取処理の実行、或いはネットワークI/F218を介した送信処理の実行を依頼する。またあるいは、HDD214による文書蓄積や文書検索、ファクス回線(不図示)を介したファクシミリの送受信処理、等の実行を依頼する。
【0043】
このようにMFP101に対して処理の実行を依頼する場合には、ロジック部412がMFP101に備えられたサービスプロバイダ450内の通信部451と通信する。そして、MFP101により実行された処理の結果は、ログ記録部420に記録される。なお、ログ記録部420には、Webサーバ103で実行される認証処理の結果も記録される。
【0044】
サービスプロバイダフレームワーク453は、複数のサービスプロバイダ450を管理する。サービスプロバイダフレームワーク453によって、サービスプロバイダ450のライフサイクル管理、すなわちインストール、アンインストール、アップデート、活性化、不活性化、を行うことができる。また、サービスプロバイダ450と、その他のソフトウェアとの間をつなぐインタフェースを提供する。
【0045】
サービスプロバイダ450は、通信部451、機能インタフェース部452、及び画面表示部453を含む。通信部451は、Webアプリケーション410内のロジック部412からの処理依頼を受け付ける。Webアプリケーション410から処理の実行を依頼された場合は、依頼された処理に応じて、機能インタフェース部452が処理を実行する。
【0046】
サービスプロバイダ450は、例えば、画像処理機能の実行を依頼された場合に、機能インタフェース部452はそのためのジョブを生成し、画像処理管理部490を利用して実行する。また、サービスプロバイダ450は、画像処理管理部490を利用して、ジョブの停止、再開、中止、優先度変更などのジョブ制御やジョブのモニタリング等の管理処理を実行する。更に、サービスプロバイダ450は、ジョブ・デバイス記憶部460に記憶される履歴情報やカウンタ情報や設定情報を参照したり更新したりする。更に、サービスプロバイダ450は、サービスレポジトリ部492に記憶されるサービスプロバイダ情報を参照して、MFP101が提供可能な複数サービスの種別、バージョン、利用するための接続方法等を検索する。
【0047】
更に、サービスプロバイダ450は、通信部451とファイルサーバ102のファイル管理部470が通信して、ファイル記憶部480に対してデータを送信したりファイル記憶部480からデータを受信したりする。具体的には、スキャナ221で読み取った画像データをファイルサーバ102へアップロードするサービスプロバイダや、ファイルサーバ102からプリントデータを受信してプリンタ220で印刷するサービスプロバイダがある。
【0048】
画面表示部453は、サービスプロバイダ450の実行にあたって必要な操作画面を操作部219に表示する。すなわち、ジョブの実行パラメータを確認や設定したり、ジョブの実行状況をモニタリングしたり、ジョブの実行にあたって発生したジャム等のエラーを回復したり、ジョブの中断やキャンセル等の状態管理をしたりするための操作画面を操作部219に表示する。ジョブを実行した結果はログとしてジョブ・デバイス情報記録部460に記録される。
【0049】
なお、ジョブ・デバイス情報記録部460には、サービスプロバイダ450以外の要求元、たとえば操作部215から起動され画像処理管理部490が実行したジョブの履歴等も記録される。ログインアプリケーション430により実行される認証処理の結果や、Webサーバ103との通信履歴なども記録される。
【0050】
またジョブ・デバイス記録部460はジョブ実行の各種統計情報も集計して記録する。統計情報は、たとえば入出力した用紙枚数や、画像処理したページ数、メモリ量や機能モジュールの使用量などのカウンタを含む。
【0051】
またジョブ・デバイス記録部460は、実行中のジョブ群の状態情報も記憶する。またジョブ・デバイス記録部460はMFP101が備える操作部215、プリンタ220、スキャナ221、制御部210などの装置ユニットを管理するための状態情報や構成情報等も記録する。
【0052】
画像処理管理部490は、機能インタフェース部452等の要求元からの依頼に応えて画像処理制御部491を管理し、画像処理ジョブを実行する。画像処理制御部491は画像処理ジョブを実行するために、MFP101が備える操作部215、プリンタ220、スキャナ221、制御部210などの各ユニットを制御する。画像処理管理部490は、実行中のジョブのモニタリングや停止、再開、中止、優先度変更などのジョブの管理も行う。
【0053】
サービスレポジトリ部492は、サービスプロバイダフレームワーク453が管理する複数のサービスプロバイダ450に関する情報を記憶する。Webブラウザ440は、サービスレポジトリ部492に記憶された情報を参照したり更新したりできる。
【0054】
URI情報管理部493は、Web上でリソースを識別する手段としてユニフォーム・リソース・アイデンティファイア(URI)情報を管理する。ユニフォーム・リソース・ロケータ(URL)の概念はURIに含まれる。URI情報管理部493は、たとえばWebブラウザ440が起動時に自動的に取得するWebページを特定するURL(ホームページURL)を管理する。また、操作部219のボタン操作等によりワンタッチでWebブラウザ440に表示するWebページを特定するURL(ブックマークやサイト・スペシフィック・ブラウザのURL)を管理する。さらに、URIのパターンから、そのパターンと関連づけられたサービス情報をサービスレポジトリ部492から検索するための、パターンマッチングルールも管理する。
【0055】
ログインコンテキスト管理部494は、操作部219を使用中のユーザに関するセッション情報を管理する。MFP101の各種機能は、そのセッション情報に応じて動作がパーソナライズされる。すなわち、プリファレンス情報記憶部495の内容に応じて、ユーザが好む動作パラメータを優先する。また、アクセス制御情報記憶部496内に記憶された、ユーザに付与された権限に応じて、動作を禁止したり続行したりする。サービスプロバイダ450によって起動される動作も、これらパーソナライズの対象に含まれる。
【0056】
プリファレンス情報記憶部495は、MFP101を使用する複数のユーザのそれぞれについて、MFP101の動作に関する各種の好みを表現するためのプリファレンス情報を記憶する。プリファレンス情報とは、カラーよりも白黒の処理を好む、用紙サイズはA4よりもレターサイズを好む、読み取り画像のプレビューを確認してから送信するよりも確認ステップを省き短手番で送信することを好む、等の情報である。プリファレンス情報は、ユーザや管理者がプリファレンス情報記憶部405に予め設定できる。また、当該ユーザによる過去の操作履歴から好みを自動判定しプリファレンス情報記憶部405に自動設定することもできる。
【0057】
アクセス制御情報記憶部496は、MFP101を使用する複数のユーザのそれぞれについて、MFP101が提供する各種機能や資源に対する、実行や読み出しや書き込み等のアクセスを制御するためのアクセス制御情報を記憶する。アクセス制御情報とは、カラー処理を禁止し白黒処理を許可する、片面印字を禁止し両面プリントを許可する、文書の送信を禁止しコピーを許可する、管理者用設定パラメータの変更を禁止し一般ユーザ用設定パラメータの変更を許可する、等の情報である。アクセス制御情報はシステム管理者がアクセス制御情報記憶部496へ予め設定できる。また、外部サーバに記憶管理されているアクセス・コントロール・リスト(ACL)等をネットワーク経由で利用するように構成することもできる。
【0058】
オプション構成管理部497は、MFP101に選択的に装着されるオプションユニットや、組み込みアプリケーションやライセンスが選択的にインストールされることで利用可能となるオプション機能の構成を管理する。オプション構成管理部497が管理するオプション構成には、スキャナユニット221やファクスユニットの有無などの装置構成情報がある。また、プリンタ220の給紙ユニットや排紙フィニッシャやスタッカ、スキャナ221の原稿フィーダの装着状況や種別などのアクセサリ構成情報がある。また、生体認証やICカードリーダ等のユーザ認証装置や、キーボード、ポインティングデバイスなどUSB接続されるオプション装置の装着状況情報もある。また、組み込み文書管理機能の有無など、オプション機能のインストール状況の情報もある。また、送信文書の暗号化送信機能や、スキャナによる読み取り画像をOCR処理して検索可能なテキストとともに送信するサーチャブル文書送信機能など、各種機能の付加機能のライセンスによる活性化状況の情報もある。
【0059】
図5は、画像処理システム全体のインタラクションを説明するための図である。図5のシーケンスは、MFP101、ファイルサーバ102、Webサーバ103のそれぞれに備えられているCPUが制御プログラムを協調的に実行することにより実現される。
【0060】
ユーザがMFP101の操作を開始するとユーザ認証が求められる。操作部219の操作画面にはログインアプリケーション430が表示する操作部へのログイン画面D1が表示される。ユーザが認証操作を行うと、ログインアプリケーション430と認証処理部432によりユーザ認証処理が行われる。ユーザの認証に成功するとログイン処理が行われ、ログインアプリケーション430はログインコンテキスト管理部494の操作部セッション管理データ構造にユーザ認証情報を設定する。操作部219の操作画面はログイン後の初期画面として登録されているWebブラウザ画面に遷移する(画面遷移T1)。同時に、ログインアプリケーション430からWebブラウザ440へ、ユーザ認証情報とログインイベント501が通知される。
【0061】
Webブラウザ440は、初期状態で表示されると、あらかじめ設定されたホームページ設定に従って、所定のURIに対するHTTP GET要求を送信する。設定されたURIが、セキュアなHTTP通信を指定している場合、セキュアソケットレイヤ(SSL)上のHTTPSプロトコルにより、HTTPS GET要求502が送信される。HTTPS GET要求502では、ログインアプリケーション430により認証されたユーザ認証に基づくユーザ認証情報も送信される。
【0062】
Webサーバ103は、HTTP GET要求502を受信すると、指定されたURIに基づいて実行すべきWebアプリケーションとその処理ロジックを選択し、その実行を行う。ここでこのURIを、たとえばhttp://www.example.com/と仮定して説明する。Webサーバ103のWebアプリケーションが、Webサーバとしてユーザ認証を求めるように設定されている場合、指定のURIによらず、ユーザ認証を実行するURIへリダイレクトされる。すなわち、指定のURIが機能選択画面D3の取得に相当するURIの場合であっても、ログイン画面D2に相当するURIへリダイレクトされる。その結果Webサーバ103はログイン画面D2に相当するHTML文書を生成し、HTTPS GET応答503でHTML文書データを送信する。ところで、Webアプリケーションがユーザ認証を求めないように設定されている場合や、HTTP要求中で伝えられたMFP101で既に完了しているユーザ認証を信頼するように設定されている場合はログイン画面D2の応答は省略できる。すなわち、HTTP GET要求502で指定されたとおり、その応答として機能選択画面D3に相当するHTMLデータを応答する。
【0063】
HTTP GET応答503を受信したWebブラウザ440は、受信したHTMLに基づきログイン画面D2を表示する。ログイン画面D2はHTMLフォームで構成されている。ユーザはログイン画面D2に対して正統なユーザであることを主張する情報を入力しサブミットする。すると、HTMLフォームのform要素のaction属性に埋め込まれていたURIに対して、ユーザが入力した情報をクエリ文字列として含むHTTP要求が送信される。フォームのform要素のmethod属性がpostに指定されていれば、HTTP POST要求504として送信される。なお、ここで、もしmethod属性がgetに指定されていれば、クエリ文字列をURLの一部に埋め込んだHTTP GET要求として送信される。
【0064】
このHTTP GET要求を受信したWebサーバ103は、ユーザ認証を行う。そして、ユーザ認証が成功すると、当初要求されていたURI(http://www.example.com/)のパス部分(/)に基づき機能選択画面D3に相当するHTMLを生成し、HTTP POST応答505を送信する。
【0065】
HTTP POST応答505を受信したWebブラウザ440は、受信したHTMLに基づき機能選択画面D3を表示する。
【0066】
図6は、機能選択画面の一例を示す図である。機能選択画面D3は、Webサーバ103が提供する複数のWebアプリケーションを選択するためのメニューである。図6はHTMLのアンカー要素(a要素)を割り当てた複数のボタン画像によって構成されている。
ここでたとえばユーザが、ボタン601を選択すると、ファイル・トランスファー・プロトコル(FTP)によるプッシュスキャン機能を実装したWebアプリケーションを識別するURIを指定したHTTP GET要求506が送信される。このURIが、https://www.example.com/scan−to−ftpだったとする。受信したWebサーバ103は、指定されたURIのパス部分(/scan−to−ftp)に従ってWebアプリケーションを選択し、この要求の処理を実行する。Webサーバ103はFTPプッシュスキャン機能の初期画面に相当するHTML文書を生成し、HTTP GET応答507として送信する。Webブラウザ440は、受信したHTMLに基づきスキャン設定・送信設定画面D4を表示する。なお、他のボタン602、603、604、605、及び606が選択された場合も同様のやり取りが実行される。
【0067】
図7は、スキャン設定・送信設定画面の一例を示す図である。MFP101のスキャナ221を用いて原稿上の画像を読み取って画像データを生成し、生成した画像データをLAN110上のFTPサーバ102に送信することを指示するための画面例を示す。図7に示す例では、画像データをPDFフォーマットで生成し、「test.pdf」というファイル名を付与することが設定された状態となっている。
【0068】
図7はHTMLフォームで構成されている。ユーザが実行ボタン701を選択すると、フォームがサブミットされる。図7に示すようにHTMLフォームのaction属性にhttps://www.example.com/scan−to−ftp/startとセットされていた場合は、次のように処理される。つまり、パス(/scan−to−ftp/start)が指定されたHTTP POST要求508が、Webサーバ103(https://www.example.com)に送信される。ユーザが選択した画像フォーマット等のスキャン設定やファイル名等の送信設定は、HTTP要求の本体(エンティティ)のデータとして、HTTP POST要求508によってWebサーバ103へ送信される。
【0069】
Webサーバ103はWebアプリケーションを実行してこの要求を処理する。すなわち、まず受信したスキャン設定や送信設定といった画像処理のパラメータが適切であることをチェックする。適切であれば、ユーザに処理の実行中であることを伝える処理中画面D5に相当するHTML文書を生成し、これをHTTP POST応答509として送信する。さらに、画像処理装置が提供するサービスを利用してスキャンとFTP送信を行うために、ScanToFtpサービスプロバイダ453に処理を依頼する。処理の依頼方法を特定する仕組みは後述する。SOAP要求510では、画像処理のパラメータ(Webブラウザ440から受信したスキャン設定や送信設定を含む)を伝える。また、サービスプロバイダによるサービスの完了時にWebブラウザ440で表示させたい画面に対応するURI(ここではhttps://www.example.com/scan−to−ftp/completeとする)を、復帰URIとして伝える。
【0070】
サービスプロバイダ453は、SOAP要求510を受信すると、画像処理管理部490によって原稿画像のスキャン処理を実行し、SOAP応答511を返す。サービスプロバイダ453は、操作部219のウィンドウ管理機能に要求して、プレビュー画面D6をユーザに見える位置に表示するように画面遷移させる(画面遷移T2)。
【0071】
スキャンなどの画像処理動作中にジャムなどのエラーが発生した場合は、サービスプロバイダ453はジャム回復等画面D7に遷移する(画面遷移T3)。ユーザや画像処理管理部490とインタラクションしてエラーからの回復を行い、プレビュー画面D6に復帰する(画面遷移T4)。
【0072】
図8はプレビュー画面の一例を示す図である。ScanToFTPサービスプロバイダ453が操作部219に表示するネイティブ画面である。プレビュー画面には、読み取った画像データのプレビューを表示する領域と、縮小ボタン、拡大ボタン、回転ボタン、再スキャンボタン、OKボタン、キャンセルボタンを備える。縮小ボタンと拡大ボタンはそれぞれ、プレビュー領域内のプレビュー画像の縮小表示、拡大表示を指示する。回転ボタンは、画像データの回転を指示するボタンであり、押すたびに読み取った画像データを時計回転方向へ90度回転する。また同時にプレビュー表示領域の表示画像も回転する。再スキャンボタンは、スキャンをやり直し読み取った画像データを置き換える。OKボタンは、読み取った画像データを送信するためのボタンである。
【0073】
ユーザがOKボタン801を選択すると、SOAP要求510で渡された送信設定によって指定されたファイルサーバ102の所定のディレクトリに対して所定のファイル名で、読み取った画像データがFTPによりFTP512でアップロードされる。
【0074】
SOAP要求510によって要求された処理が完了すると、サービスプロバイダ453はWebサーバ103から指定された復帰URIをWebブラウザ440に伝え、(復帰URI513)Webブラウザ440の画面を表示させる(画面遷移T5)。
【0075】
Webブラウザは復帰URI513に対するHTTP GET要求514をWebサーバ103へ送信する。Webサーバ103はWebアプリケーションを実行し、完了画面D8に相当するHTML文書を生成し、HTTP GET応答515としてWebブラウザ440へ送信する。
【0076】
Webブラウザ440は、受信したHTML文書を解釈し完了画面D8として操作部219へ表示する。ユーザがメニューに戻るボタンを選択すると、Webブラウザ440は、機能選択画面D3に相当するURI(https://www.example.com/)へのHTTP GET要求516を送信する。受信したWebサーバ103は、HTTP POST応答505と同様の機能選択画面D3を応答し、以下このシーケンスを繰り返す。
【0077】
図9は、MFP101のWebブラウザによって表示される実行結果表示画面の一例を示す。実行結果表示画面には、MFP101が実行した処理の結果を示す情報が表示されている。ユーザがボタン901を選択すると、機能選択画面D3に相当するURI(https://www.example.com/)へのHTTP GET要求516が送信される。
【0078】
図10は、サービスプロバイダフレームワーク453の処理手順を示すフローチャートである。図10のフローチャートに示す各動作(ステップ)は、MFP101のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。
【0079】
ステップS1001では、サービスプロバイダ450の管理に関する要求を受け付ける。続くステップS1002では、受け付けた要求が新規のサービスプロバイダ450のインストールであるか否かを判断する。この判断の結果、受け付けた要求が新規のサービスプロバイダ450のインストールである場合はステップS1003に進み、そうでなければステップS1005に進む。
【0080】
ステップS1003では、サービスプロバイダ450のインストールを実行することによりサービスプロバイダ450を追加する。そして、ステップS1004において、サービスレポジトリ部492に、新たにインストールされたサービスプロバイダ450の情報を追加する。
【0081】
ステップS1005では、受け付けた要求がサービスプロバイダ450のアンインストールであるか否かを判断する。この判断の結果、受け付けた要求がサービスプロバイダ450のアンインストールである場合はステップS1006に進み、そうでなければステップS1008に進む。
【0082】
ステップS1006では、サービスプロバイダ450のアンインストールを実行することによりサービスプロバイダ450を削除する。そして、ステップS1005において、サービスレポジトリ部492から、アンインストールされたサービスプロバイダ450の情報を削除する。
【0083】
ステップS1008では、受け付けた要求がサービスプロバイダ450のアップデートであるか否かを判断する。この判断の結果、受け付けた要求がサービスプロバイダ450のアップデートである場合はステップS1009に進み、そうでなければステップS1011に進む。
【0084】
ステップS1009では、サービスプロバイダ450のアップデートを実行することによりサービスプロバイダ450を更新する。そして、ステップS1010において、サービスレポジトリ部492における、アップデートされたサービスプロバイダ450の情報を更新する。
【0085】
ステップS1002では、受け付けた要求がサービスプロバイダ450の起動または状態変更であるか否かを判断する。この判断の結果、受け付けた要求がサービスプロバイダ450の起動または状態変更である場合はステップS1012に進み、そうでなければ処理を終了する。ステップS1012では、サービスレポジトリ部492で管理されている、アップデートされたサービスプロバイダ450の状態を変更する。
【0086】
以上のようにして、MFP101がWebサーバ103に提供しうるサービスは動的に変化する。
【0087】
図11は、サービスレポジトリ部492に記憶されるサービスレポジトリ情報の一例を示す図である。サービスレポジトリ情報は、例えばHDD214に記憶される。サービスレポジトリ情報の各レコードは、サービスプロバイダフレームワーク453が管理するサービスプロバイダ450のそれぞれに対応付けられている。
【0088】
サービスIDは各サービスプロバイダ450を識別する識別子である。バージョンは各サービスプロバイダ450のバージョンである。状態は各サービスプロバイダ450が活性化されているか不活性化されているかを示す。接続はWebアプリケーション410のロジック部412が、各サービスプロバイダ450が提供するサービスを利用する際の接続方法を示す。ロケーションURIは、各サービスプロバイダ450が提供するサービスを利用する際の接続先を識別するURIを示す。
【0089】
図12は、URI情報記憶部493に記憶されるURI情報の一例を示す図である。URI情報は、例えばHDD214に記憶される。URIパターンはWebブラウザ440が、Webアプリケーション410にHTTP要求を送信する際のアクセス先となるURIとパターンマッチングするためのパターンである。URIはスキーム部、オーソリティコンポーネント部、パス部から構成される。それぞれの部分について、任意の数のワイルドカードを含むパターンを指定できる。ワイルドカードは文字“*”によって表現しており、任意の文字列にマッチする。さらに高度な正規表現によるパターンマッチングを行ってもよい。
【0090】
サービスパターンはサービスプロバイダ450を検索するためのパターンである。サービスレポジトリ部492に記憶されているレコードとパターンマッチングを行うためのパターンを示す。これらのサービスIDのパターンを並べると該当するサービスプロバイダ450を抽出することができる。リストが空の場合、サービスプロバイダ450の情報は通知されない。サービスIDのパターンには任意の数のワイルドカードを含むパターンを指定できる。ワイルドカードは文字“*”によって表現しており、任意の文字列にマッチする。さらに高度な正規表現によるパターンマッチングを行ってもよい。
【0091】
Webブラウザ440は図12に示すURIパターンにマッチするURIに対してアクセス(HTTP要求を送信)する際に、該当するレコードのサービスパターンにマッチしたサービスプロバイダの情報を、Webアプリケーション410に対して通知する。
【0092】
図13は、Webブラウザ440によるHTTP要求送信処理の手順を示すフローチャートである。図13のフローチャートに示す各動作(ステップ)は、MFP101のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。
【0093】
ステップS1301では、アクセス先となるURIを解析する。そして、ステップS1302において、URI情報記憶部493に記憶されるURI情報とのパターンマッチングを行う。
【0094】
ステップS1303では、操作画面の要求先(つまり、Webブラウザ440がアクセスしようとしている通信相手先)のURIが、URI情報記憶部493に記憶されるURI情報にマッチ(一致)したかどうかを判定する。この判定の結果、マッチしたと判定された場合はステップS1304に進み、そうでなければステップS1307に進む。
【0095】
ステップS1304で、サービスレポジトリ部492に記憶されるサービスレポジトリ情報のなかから、マッチしたパターンに対応する情報を選択し、ステップS1305においてWebアプリケーション410に通知するサービス記述情報を生成する。
【0096】
ステップS1306では、生成したサービス記述情報をHTTP要求データのヘッダ部分に格納し、ステップS1307においてHTTP要求データを送信する。なお、ステップS1303で、マッチしないと判定された場合は、ステップS1307では、サービス記述情報が格納されていないHTTP要求データが送信される。
【0097】
図14は、Webブラウザ440が生成するHTTP要求データのヘッダ部分の一例を示す図である。HTTP要求データのヘッダ部分に、サービスプロバイダ450が提供するサービス記述情報を埋め込むことによって、Webアプリケーション410に対して、MFP101が提供するサービスプロバイダの情報を通知することができる。図14に示す例では、“/sp/scan−ftp”という、サービスプロバイダ450に接続するためのURIが記述されている。“/sp/scan−ftp”の後の“2.0”という記述は、サービスプロバイダ450のバージョンが2.0であることを示している。この他にも、サービス記述情報には図11に示す各種のサービスプロバイダ情報を記述することができる。なお、図13のステップS1306の処理が行われない場合は、図14の“/sp/scan−ftp 2.0;/sp/scan−preview−ftp 1.8;/sp/ipp−print 3.0”という記述がないものが送信される。
【0098】
Webアプリケーション410は、HTTP要求ヘッダにおいて、MFP101が提供するサービスの利用に関する情報を受信することにより、例えば、MFP101に備えられた機能に柔軟に対応する分散システムをすることができる。
【0099】
つまり、MFP101がスキャンプレビューによる読取確認サービスを提供していれば、プレビュー表示とユーザによる確認はMFP101で行わせ、Webアプリケーションはプレビュー確認を済ませた画像データを取得することができる。これに対して、MFP101が読取確認サービスを提供していなければ、読み取った画像データを一旦Webアプリケーション410が取得する。そして、プレビュー画像の生成、ブラウザへの表示、ユーザによる確認をWebアプリケーション410のサーバ側処理として行うようにすることができる。または、スキャンプレビュー読取確認サービスを提供するサービスプロバイダ450のインストールを促がすこともできる。
【0100】
更には、MFP101にOCR機能オプションが搭載されていれば、MFP101でOCR結果の文字コードを付加したPDFファイルに変換された文書データを取得し、なければWebアプリケーション410がこのPDFファイルを生成するように構成できる。
【0101】
また、MFP101で所定の画像フォーマットの生成ができれば指定フォーマットにさせたファイルを取得し、なければWebアプリケーション410がこのフォーマットに変換するように構成することもできる。
【0102】
また、MFP101にファクス送信機能があればMFP101からファクス送信させ、なければWebサーバ103にFTP、SMBなどのファイル転送プロトコルによって送信させ、Webサーバ103がファクス送信するように構成することもできる。
【0103】
なお、サービスレポジトリ部492に記憶されるサービスプロバイダ情報をWebサーバ103から参照するためのServiceDiscoveryサービスプロバイダ450を備えるようにしてもよい。このServiceDiscoveryサービスは公知のUDDIに類似したサービスとして構成できる。Webアプリケーション410は、より詳細な提供サービス記述情報を取得するために、まずServiceDiscoveryサービスに接続し、情報の問い合わせを行うことになる。
【0104】
本実施形態では、SOAPやRESTとして知られるいわゆるWebサービス技術によってWebサーバ103がMFP101の提供サービスを利用するように構成したが、他の技術で代替、あるいは組み合わせで、構成してもよい。例えば、DOMの拡張によって画像処理装置の機能にアクセスするためのインタフェースを拡張し、Java(登録商標)ScriptなどのWebブラウザ内で動作するスクリプト言語から機能を利用する構成でもよい。
【0105】
この場合、利用可能なサービスに関する情報を取得するための機能を拡張DOMのインタフェースとして備えればよい。すなわち、画像処理装置が提供するサービスの種別や能力やそれを利用するための接続方法を、スクリプトが取得するためのインタフェースを備えることも容易である。この場合、WebサーバからWebブラウザへ応答するコンテンツ内で、スクリプトとHTMLのFORM要素を組み合わせる。そのコンテンツに基づくHTTP要求をWebブラウザがWebサーバへ送信するときに、サービス記述情報をそのHTTP要求に含めて送信できる。ただしこのように構成する場合、WebブラウザからWebアプリケーションへの最初のHTTP要求においてサービス記述情報を通知することはできない。
【0106】
以上の通り、本実施形態では、MFP101のWebブラウザ440がWebサーバ103に対して操作画面を要求する場合に、そのHTTP要求の中で提供サービス記述情報を送信する。提供サービス記述情報とは、サービスプロバイダ450が提供するサービスの種別、バージョン、状態、それを利用するための接続方法や接続先等である。またMFP101が備えるオプション構成を反映して伝える。
【0107】
また、Webブラウザ440のアクセス先に応じて、提供サービス記述情報を通知するか否か、或いは通知する提供サービス記述情報の内容を切り替える。
【0108】
これにより、Webアプリケーション103は、MFP101がその時点で提供可能なサービスを知ることができ、提供サービスの能力に合わせて処理を切り替えることができる。また、1台のWebサーバ103が複数のMFP101と分散システムを構成するとき、個々のMFP101の能力差に合わせて処理を切り替えるWebアプリケーション103を実装することが可能となる。
【0109】
また、Webアプリケーション103のロジック部412にとって、MFP101が提供するサービスを利用するための接続方法や接続先を、HTTP要求処理において確実に知ることができる。これにより、確実にサービスを利用するWebアプリケーション103の実装が容易となる。
【0110】
また、提供サービス記述情報を通知する必要がないと判定された場合には、提供サービス記述情報しないことにより、分散システムを構成しないWebサーバに対して、不要な情報を通知しないように構成できる。
【0111】
また、通知する提供サービス記述情報を、Webブラウザ440がHTTP要求を送るURIのパターンに合わせて切り替えることができる。一般にWebサーバ103はURIパスの階層によってWebアプリケーションや機能をグルーピングしている。したがって、これによって、Webアプリケーション410の提供機能に応じて、適切な提供サービス記述情報だけを選択的に通知することができる。
【0112】
また、上述した説明では、画像処理装置(MFP101)に関する情報として、サービスプロバイダ450に関する情報を通知する例を説明したが、同様にして他の情報を通知するようにしても構わない。例えば、MFP101を一意に識別するためのシリアル番号(製造番号)や、MFP101に現在ログインしているユーザを示すユーザID、或いはMFP101に装着されているオプション情報などをWebサーバに通知する場合に適用可能である。また、MFP101が実行している処理(ジョブ)に関する情報や、MFP101自体に発生した障害に関する情報をWebサーバに通知する場合にも適用できる。
【0113】
(他の実施形態)
なお、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0114】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【技術分野】
【0001】
本発明は、Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
PCなどの情報処理装置がネットワーク上のWebサーバに接続され、Webサーバにより提供される操作画面を、情報処理装置が備えるWebブラウザ上に表示することが知られている。
【0003】
この場合、情報処理装置のWebブラウザがWebサーバに対して操作画面を要求し、Webサーバ上のWebアプリケーションが情報処理装置からの要求に応えて、Webブラウザに操作画面を表示させるためのHTMLファイルを情報処理装置に送信する。情報処理装置のWebブラウザは、受信したHTMLファイルを解析し、HTMLファイルの記述に基づいた操作画面を表示する。
【0004】
更に、Webブラウザに表示された操作画面を介してユーザが指示を入力すると、入力された指示をWebブラウザがWebサーバに対して通知する。そして、この通知を受けたWebサーバ上のWebアプリケーションは、入力された指示に従って処理を実行する。
【0005】
ところで、最近ではスキャナやプリンタを備えたMFP(Multi Function Peripheral)等の画像処理装置の中にも、上述したようなWebブラウザを備えているものがある。そして、画像処理装置は、上述した手順を用いてWebサーバにより提供される操作画面をWebブラウザに表示し、ユーザからの各種指示を受け付ける。
【0006】
また更には、特許文献1のような技術も考えられている。特許文献1の記載によれば、画像処理装置が備える各機能(サービス)を利用するための指示を入力する操作画面を、Webサーバが提供する。即ち、画像処理装置のユーザは、Webブラウザ上に表示された操作画面を介して、画像処理装置に対する指示を入力する。そして、入力された指示は画像処理装置のWebブラウザによってWebサーバに通知される。
【0007】
この通知を受けたWebサーバは、ユーザから入力された指示の内容に従って、画像処理装置に対して各種処理の実行を依頼する。そして、この依頼を受けた画像処理装置は、依頼された処理を実行(サービスを提供)する。これにより、画像処理装置を操作するための全てのメニューデータを画像処理装置内で保持しておく必要がなくなり、またメニューデータの変更もWebサーバ上で容易に行うことができるようになる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2005‐242994号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
画像処理装置のユーザが指示を入力する操作画面をWebサーバが提供し、Webサーバから画像処理装置に処理を依頼するようにした場合、画像処理装置が提供するサービスに関する情報をあらかじめ固定的にWebサーバに登録する必要がある。
【0010】
しかしながら、画像処理装置が提供するサービスは一般に複数あり、しかも各サービスのアップデートやオプション機能の追加インストールなどによってその能力やバージョン等が動的に変化する。また、各サービスを利用するために用いるプロトコルや接続アドレス情報といった、サービスの利用方法の選択肢も複数あり得る。このため、画像処理装置が提供するサービスに関する情報を、あらかじめ固定的にWebサーバに登録しておくことは困難である。
【0011】
このような問題に対して、特許文献1には、画像処理装置が提供するサービスに関する情報の1つであるURL(サービスへの接続情報)を、画像処理装置からWebサーバに通知することが示されている。
【0012】
しかしながら、特許文献1は、画像処理装置が提供するサービスに関する情報をWebサーバからの要求に応じて通知するだけのものであり、通知するタイミングや通知先に応じて、通知するか否か或いは通知する情報の内容を切り替えてはいない。従って、通知するタイミングや通知先によっては、通知すること自体が不要な場合であっても、情報が通知されてしまう。
【0013】
即ち、例えば通知するタイミングや通知先に関わらず通知の度に全てのサービスに関する情報を通知するようにした場合、画像処理装置とWebサーバとの間でやり取りされるデータ量が増加するという問題がある。また、通知先に関わらず常にサービスに関する情報を通知することにより、機密性の高い情報が外部に漏洩してしまうおそれがある。
【0014】
本発明は、上記の問題点に鑑みなされたものであり、Webブラウザのアクセス先に応じて、当該アクセス先に画像処理装置に関する情報を通知すべきであるか否かを判断した上で、該情報を通知する仕組みを提供することを目的とする。
【0015】
また、本発明は、複数の処理手段のそれぞれに関する情報のうち、Webブラウザのアクセス先に通知すべき情報を選択した上で、該選択された情報を通知する仕組みを提供することを他の目的とする。
【課題を解決するための手段】
【0016】
上記の目的を達成するために本発明の画像処理装置は、Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理装置であって、前記Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する処理手段と、前記Webブラウザのアクセス先に応じて、当該アクセス先に前記画像処理装置に関する情報を通知すべきであるか否かを判断する判断手段と、前記判断手段により前記画像処理装置に関する情報を通知すべきであると判断された場合に、前記Webブラウザのアクセス先に対して、前記画像処理装置に関する情報を通知する通知手段と、を備えることを特徴とする。
【0017】
また、本発明の画像処理装置は、Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理装置であって、前記Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する複数の異なる処理手段と、前記複数の処理手段のそれぞれに関する情報のうち、前記Webブラウザのアクセス先に通知すべき情報を選択する選択手段と、前記Webブラウザのアクセス先に対して、前記選択手段により選択された情報を通知する通知手段と、を備えることを特徴とする。
【発明の効果】
【0018】
本発明によれば、Webブラウザのアクセス先に応じて、当該アクセス先に画像処理装置に関する情報を通知すべきであるか否かを判断した上で、該情報を通知する仕組みを提供することができる。
【0019】
また、本発明によれば、複数の処理手段のそれぞれに関する情報のうち、Webブラウザのアクセス先に通知すべき情報を選択した上で、該選択された情報を通知する仕組みを提供することができる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施形態における情報処理システムの全体図である。
【図2】本発明の実施形態におけるMFP101の構成を示すブロック図である。
【図3】本発明の実施形態におけるWebサーバ103の構成を示すブロック図である。
【図4】本発明の実施形態における情報処理システムのソフトウェア構成を示す図である。
【図5】本発明の実施形態におけるMFP101、Webサーバ103、及びファイルサーバ102が一連の処理を実行する動作を説明するシーケンス図である。
【図6】本発明の実施形態におけるWebブラウザ画面を示す図である。
【図7】本発明の実施形態におけるWebブラウザ画面を示す図である。
【図8】本発明の実施形態におけるネイティブ画面を示す図である。
【図9】本発明の実施形態におけるWebブラウザ画面を示す図である。
【図10】本発明の実施形態におけるMFP101の動作を説明するフローチャートである。
【図11】本発明の実施形態におけるサービスレポジトリ部492を説明する図である。
【図12】本発明の実施形態におけるURI情報記憶部493を説明する図である。
【図13】本発明の実施形態におけるMFP101の動作を説明するフローチャートである。
【図14】本発明の実施形態におけるWebブラウザ440が生成するHTTP要求データの一例を示す図である。
【発明を実施するための形態】
【0021】
以下、図面を参照して本発明の実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0022】
(第1の実施形態)
図1は、第1の実施形態における情報処理システムの全体図である。LAN110には、MFP101、ファイルサーバ102、Webサーバ103が互いに通信可能に接続されている。また、LAN110上には図示しないFTP(File Transfer Protocol)サーバも備えられており、MFP101からFTPサーバに対して画像データをFTP送信することも可能となっている。
【0023】
図2は、MFP101の構成を示すブロック図である。CPU211を含む制御部210は、MFP101全体の動作を制御する。CPU211は、ROM212に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD214は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。
【0024】
操作部I/F215は、操作部219と制御部210とを接続する。操作部219には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。また、MFP101には後述するWebブラウザ機能が備えられており、MFP101のWebブラウザはWebサーバ103から受信したHTMLファイルを解析し、受信したHTMLファイルの記述に基づく操作画面を操作部219上に表示する。
【0025】
プリンタI/F216は、プリンタ220と制御部210とを接続する。プリンタ220で印刷すべき画像データはプリンタI/F216を介して制御部210からプリンタ220に転送され、プリンタ220において記録媒体上に印刷される。
【0026】
スキャナI/F217は、スキャナ221と制御部210とを接続する。スキャナ221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。
【0027】
ネットワークI/F218は、制御部210(MFP101)をLAN110に接続する。ネットワークI/F218は、LAN110上の外部装置(例えば、ファイルサーバ102やWebサーバ103)に画像データや情報を送信したり、LAN110上の外部装置から各種情報を受信したりする。
【0028】
図3は、Webサーバ103の構成を示すブロック図である。なお、ファイルサーバ102は、Webサーバ103と同様の構成を有するものとする。
【0029】
CPU311を含む制御部310は、Webサーバ103全体の動作を制御する。CPU311は、ROM312に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。
【0030】
ネットワークI/F315は、制御部310(Webサーバ103)をLAN110に接続する。ネットワークI/F315は、LAN110上の他の装置との間で各種情報を送受信する。
【0031】
図4は、情報処理システム全体のソフトウェア構成を説明するための図である。図4に示す各機能部は、MFP101/ファイルサーバ102/Webサーバ103のそれぞれに備えられているCPUが制御プログラムを実行することにより実現される。
【0032】
MFP101は、ログインアプリケーション430、Webブラウザ440、複数のサービスプロバイダ450を含むサービスプロバイダフレームワーク453、ジョブ・デバイス情報記録部460、画像処理管理部490、画像処理制御部491を備える。また、MFP101は、サービスレポジトリ部492、URI情報記憶部493、ログインコンテキスト管理部494、プリファレンス情報記憶部495、アクセス制御情報記憶部496、オプション構成管理部497を備える。
【0033】
ログインアプリケーション430は、画面表示部431及び認証処理部432を含む。画面表示部431は、認証処理部432が実行する認証処理に必要な認証情報をユーザに入力させるための認証画面を、操作部219に表示する。なお、この認証画面はWebサーバ103により提供されるものではなく、ログインアプリケーション430がMFP101内に保持している情報を読み出して表示する。このように、MFP101内に予め保持されている情報に基づいて表示される画面をネイティブ画面と呼ぶこととする。
【0034】
画面表示部431により表示された認証画面を介して認証情報が入力されると、認証処理部432が、入力された認証情報を用いてユーザ認証の処理を行う。
【0035】
認証処理部432が認証処理を行う場合には、画面表示部431により表示される認証画面を介して入力された認証情報と、HDD214に記憶されている認証情報を照合する。そして、この照合結果に応じて、ユーザによるMFP101の使用が許可される。
【0036】
Webブラウザ440は、通信部441、解析部442、及び画面表示部443を含む。通信部441は、HTTPプロトコルに従ってWebアプリケーション410のプレゼンテーション部411と通信する。より具体的には、通信部441は、URIによって特定されるWebアプリケーション410のリソースに対してGETまたはPOSTのHTTP要求を送信する。つまり、指定されたURIをアクセス先としてWebブラウザ440がアクセスを行う。そして、HTTP要求に対するHTTP応答として、Webブラウザで表示するHTML等で記述された操作画面をWebアプリケーション410から取得する。また、Webブラウザで表示したHTMLフォーム等に入力されたユーザからの指示を、HTTP要求によってWebアプリケーション410に通知する。
【0037】
解析部442は、Webアプリケーション410から受信するHTMLファイルを解析する。このHTMLファイルには、Webブラウザに表示すべき操作画面の内容を示す記述が含まれている。
【0038】
画面表示部443は、解析部442による解析の結果に基づいて、操作部219上に操作画面を表示する。このように、Webサーバ103から受信した情報(HTMLファイル)に基づいて表示される画面をWebブラウザ画面と呼ぶこととする。
【0039】
ファイルサーバ102は、ファイル管理部470とファイル記憶部480を備えている。ファイル記憶部480には、MFP101が読み取った画像データファイルを含む各種のデータファイルが記憶される。ファイル管理部470は、ファイル記憶部480に記憶されているファイルを管理する。
【0040】
Webサーバ103には、Webアプリケーション410及びログ記録部420が備えられている。さらに、Webアプリケーション410には、プレゼンテーション部411及びロジック部412が含まれる。Webアプリケーション410は、受信したHTTP要求に応じて、ロジック部412の処理を行う。また、プレゼンテーション部411でHTML等のデータ生成を行い、HTTP応答としてデータをWebブラウザへ送信する。
【0041】
プレゼンテーション部411は、通信部441と通信し、MFP101からの要求に応えてMFP101のWebブラウザで表示すべき操作画面をMFP101に送信する。また、MFP101のWebブラウザに表示された操作画面を介して入力されたユーザからの指示をMFP101からHTTP要求として受け取る。
【0042】
ユーザからの指示をHTTP要求として受け取ったWebアプリケーション410は、指示の内容に従って各種処理を実行するとともに、MFP101に対して処理の実行を依頼する。具体的には、MFP101のプリンタ220による印刷処理の実行や、スキャナ221による読取処理の実行、或いはネットワークI/F218を介した送信処理の実行を依頼する。またあるいは、HDD214による文書蓄積や文書検索、ファクス回線(不図示)を介したファクシミリの送受信処理、等の実行を依頼する。
【0043】
このようにMFP101に対して処理の実行を依頼する場合には、ロジック部412がMFP101に備えられたサービスプロバイダ450内の通信部451と通信する。そして、MFP101により実行された処理の結果は、ログ記録部420に記録される。なお、ログ記録部420には、Webサーバ103で実行される認証処理の結果も記録される。
【0044】
サービスプロバイダフレームワーク453は、複数のサービスプロバイダ450を管理する。サービスプロバイダフレームワーク453によって、サービスプロバイダ450のライフサイクル管理、すなわちインストール、アンインストール、アップデート、活性化、不活性化、を行うことができる。また、サービスプロバイダ450と、その他のソフトウェアとの間をつなぐインタフェースを提供する。
【0045】
サービスプロバイダ450は、通信部451、機能インタフェース部452、及び画面表示部453を含む。通信部451は、Webアプリケーション410内のロジック部412からの処理依頼を受け付ける。Webアプリケーション410から処理の実行を依頼された場合は、依頼された処理に応じて、機能インタフェース部452が処理を実行する。
【0046】
サービスプロバイダ450は、例えば、画像処理機能の実行を依頼された場合に、機能インタフェース部452はそのためのジョブを生成し、画像処理管理部490を利用して実行する。また、サービスプロバイダ450は、画像処理管理部490を利用して、ジョブの停止、再開、中止、優先度変更などのジョブ制御やジョブのモニタリング等の管理処理を実行する。更に、サービスプロバイダ450は、ジョブ・デバイス記憶部460に記憶される履歴情報やカウンタ情報や設定情報を参照したり更新したりする。更に、サービスプロバイダ450は、サービスレポジトリ部492に記憶されるサービスプロバイダ情報を参照して、MFP101が提供可能な複数サービスの種別、バージョン、利用するための接続方法等を検索する。
【0047】
更に、サービスプロバイダ450は、通信部451とファイルサーバ102のファイル管理部470が通信して、ファイル記憶部480に対してデータを送信したりファイル記憶部480からデータを受信したりする。具体的には、スキャナ221で読み取った画像データをファイルサーバ102へアップロードするサービスプロバイダや、ファイルサーバ102からプリントデータを受信してプリンタ220で印刷するサービスプロバイダがある。
【0048】
画面表示部453は、サービスプロバイダ450の実行にあたって必要な操作画面を操作部219に表示する。すなわち、ジョブの実行パラメータを確認や設定したり、ジョブの実行状況をモニタリングしたり、ジョブの実行にあたって発生したジャム等のエラーを回復したり、ジョブの中断やキャンセル等の状態管理をしたりするための操作画面を操作部219に表示する。ジョブを実行した結果はログとしてジョブ・デバイス情報記録部460に記録される。
【0049】
なお、ジョブ・デバイス情報記録部460には、サービスプロバイダ450以外の要求元、たとえば操作部215から起動され画像処理管理部490が実行したジョブの履歴等も記録される。ログインアプリケーション430により実行される認証処理の結果や、Webサーバ103との通信履歴なども記録される。
【0050】
またジョブ・デバイス記録部460はジョブ実行の各種統計情報も集計して記録する。統計情報は、たとえば入出力した用紙枚数や、画像処理したページ数、メモリ量や機能モジュールの使用量などのカウンタを含む。
【0051】
またジョブ・デバイス記録部460は、実行中のジョブ群の状態情報も記憶する。またジョブ・デバイス記録部460はMFP101が備える操作部215、プリンタ220、スキャナ221、制御部210などの装置ユニットを管理するための状態情報や構成情報等も記録する。
【0052】
画像処理管理部490は、機能インタフェース部452等の要求元からの依頼に応えて画像処理制御部491を管理し、画像処理ジョブを実行する。画像処理制御部491は画像処理ジョブを実行するために、MFP101が備える操作部215、プリンタ220、スキャナ221、制御部210などの各ユニットを制御する。画像処理管理部490は、実行中のジョブのモニタリングや停止、再開、中止、優先度変更などのジョブの管理も行う。
【0053】
サービスレポジトリ部492は、サービスプロバイダフレームワーク453が管理する複数のサービスプロバイダ450に関する情報を記憶する。Webブラウザ440は、サービスレポジトリ部492に記憶された情報を参照したり更新したりできる。
【0054】
URI情報管理部493は、Web上でリソースを識別する手段としてユニフォーム・リソース・アイデンティファイア(URI)情報を管理する。ユニフォーム・リソース・ロケータ(URL)の概念はURIに含まれる。URI情報管理部493は、たとえばWebブラウザ440が起動時に自動的に取得するWebページを特定するURL(ホームページURL)を管理する。また、操作部219のボタン操作等によりワンタッチでWebブラウザ440に表示するWebページを特定するURL(ブックマークやサイト・スペシフィック・ブラウザのURL)を管理する。さらに、URIのパターンから、そのパターンと関連づけられたサービス情報をサービスレポジトリ部492から検索するための、パターンマッチングルールも管理する。
【0055】
ログインコンテキスト管理部494は、操作部219を使用中のユーザに関するセッション情報を管理する。MFP101の各種機能は、そのセッション情報に応じて動作がパーソナライズされる。すなわち、プリファレンス情報記憶部495の内容に応じて、ユーザが好む動作パラメータを優先する。また、アクセス制御情報記憶部496内に記憶された、ユーザに付与された権限に応じて、動作を禁止したり続行したりする。サービスプロバイダ450によって起動される動作も、これらパーソナライズの対象に含まれる。
【0056】
プリファレンス情報記憶部495は、MFP101を使用する複数のユーザのそれぞれについて、MFP101の動作に関する各種の好みを表現するためのプリファレンス情報を記憶する。プリファレンス情報とは、カラーよりも白黒の処理を好む、用紙サイズはA4よりもレターサイズを好む、読み取り画像のプレビューを確認してから送信するよりも確認ステップを省き短手番で送信することを好む、等の情報である。プリファレンス情報は、ユーザや管理者がプリファレンス情報記憶部405に予め設定できる。また、当該ユーザによる過去の操作履歴から好みを自動判定しプリファレンス情報記憶部405に自動設定することもできる。
【0057】
アクセス制御情報記憶部496は、MFP101を使用する複数のユーザのそれぞれについて、MFP101が提供する各種機能や資源に対する、実行や読み出しや書き込み等のアクセスを制御するためのアクセス制御情報を記憶する。アクセス制御情報とは、カラー処理を禁止し白黒処理を許可する、片面印字を禁止し両面プリントを許可する、文書の送信を禁止しコピーを許可する、管理者用設定パラメータの変更を禁止し一般ユーザ用設定パラメータの変更を許可する、等の情報である。アクセス制御情報はシステム管理者がアクセス制御情報記憶部496へ予め設定できる。また、外部サーバに記憶管理されているアクセス・コントロール・リスト(ACL)等をネットワーク経由で利用するように構成することもできる。
【0058】
オプション構成管理部497は、MFP101に選択的に装着されるオプションユニットや、組み込みアプリケーションやライセンスが選択的にインストールされることで利用可能となるオプション機能の構成を管理する。オプション構成管理部497が管理するオプション構成には、スキャナユニット221やファクスユニットの有無などの装置構成情報がある。また、プリンタ220の給紙ユニットや排紙フィニッシャやスタッカ、スキャナ221の原稿フィーダの装着状況や種別などのアクセサリ構成情報がある。また、生体認証やICカードリーダ等のユーザ認証装置や、キーボード、ポインティングデバイスなどUSB接続されるオプション装置の装着状況情報もある。また、組み込み文書管理機能の有無など、オプション機能のインストール状況の情報もある。また、送信文書の暗号化送信機能や、スキャナによる読み取り画像をOCR処理して検索可能なテキストとともに送信するサーチャブル文書送信機能など、各種機能の付加機能のライセンスによる活性化状況の情報もある。
【0059】
図5は、画像処理システム全体のインタラクションを説明するための図である。図5のシーケンスは、MFP101、ファイルサーバ102、Webサーバ103のそれぞれに備えられているCPUが制御プログラムを協調的に実行することにより実現される。
【0060】
ユーザがMFP101の操作を開始するとユーザ認証が求められる。操作部219の操作画面にはログインアプリケーション430が表示する操作部へのログイン画面D1が表示される。ユーザが認証操作を行うと、ログインアプリケーション430と認証処理部432によりユーザ認証処理が行われる。ユーザの認証に成功するとログイン処理が行われ、ログインアプリケーション430はログインコンテキスト管理部494の操作部セッション管理データ構造にユーザ認証情報を設定する。操作部219の操作画面はログイン後の初期画面として登録されているWebブラウザ画面に遷移する(画面遷移T1)。同時に、ログインアプリケーション430からWebブラウザ440へ、ユーザ認証情報とログインイベント501が通知される。
【0061】
Webブラウザ440は、初期状態で表示されると、あらかじめ設定されたホームページ設定に従って、所定のURIに対するHTTP GET要求を送信する。設定されたURIが、セキュアなHTTP通信を指定している場合、セキュアソケットレイヤ(SSL)上のHTTPSプロトコルにより、HTTPS GET要求502が送信される。HTTPS GET要求502では、ログインアプリケーション430により認証されたユーザ認証に基づくユーザ認証情報も送信される。
【0062】
Webサーバ103は、HTTP GET要求502を受信すると、指定されたURIに基づいて実行すべきWebアプリケーションとその処理ロジックを選択し、その実行を行う。ここでこのURIを、たとえばhttp://www.example.com/と仮定して説明する。Webサーバ103のWebアプリケーションが、Webサーバとしてユーザ認証を求めるように設定されている場合、指定のURIによらず、ユーザ認証を実行するURIへリダイレクトされる。すなわち、指定のURIが機能選択画面D3の取得に相当するURIの場合であっても、ログイン画面D2に相当するURIへリダイレクトされる。その結果Webサーバ103はログイン画面D2に相当するHTML文書を生成し、HTTPS GET応答503でHTML文書データを送信する。ところで、Webアプリケーションがユーザ認証を求めないように設定されている場合や、HTTP要求中で伝えられたMFP101で既に完了しているユーザ認証を信頼するように設定されている場合はログイン画面D2の応答は省略できる。すなわち、HTTP GET要求502で指定されたとおり、その応答として機能選択画面D3に相当するHTMLデータを応答する。
【0063】
HTTP GET応答503を受信したWebブラウザ440は、受信したHTMLに基づきログイン画面D2を表示する。ログイン画面D2はHTMLフォームで構成されている。ユーザはログイン画面D2に対して正統なユーザであることを主張する情報を入力しサブミットする。すると、HTMLフォームのform要素のaction属性に埋め込まれていたURIに対して、ユーザが入力した情報をクエリ文字列として含むHTTP要求が送信される。フォームのform要素のmethod属性がpostに指定されていれば、HTTP POST要求504として送信される。なお、ここで、もしmethod属性がgetに指定されていれば、クエリ文字列をURLの一部に埋め込んだHTTP GET要求として送信される。
【0064】
このHTTP GET要求を受信したWebサーバ103は、ユーザ認証を行う。そして、ユーザ認証が成功すると、当初要求されていたURI(http://www.example.com/)のパス部分(/)に基づき機能選択画面D3に相当するHTMLを生成し、HTTP POST応答505を送信する。
【0065】
HTTP POST応答505を受信したWebブラウザ440は、受信したHTMLに基づき機能選択画面D3を表示する。
【0066】
図6は、機能選択画面の一例を示す図である。機能選択画面D3は、Webサーバ103が提供する複数のWebアプリケーションを選択するためのメニューである。図6はHTMLのアンカー要素(a要素)を割り当てた複数のボタン画像によって構成されている。
ここでたとえばユーザが、ボタン601を選択すると、ファイル・トランスファー・プロトコル(FTP)によるプッシュスキャン機能を実装したWebアプリケーションを識別するURIを指定したHTTP GET要求506が送信される。このURIが、https://www.example.com/scan−to−ftpだったとする。受信したWebサーバ103は、指定されたURIのパス部分(/scan−to−ftp)に従ってWebアプリケーションを選択し、この要求の処理を実行する。Webサーバ103はFTPプッシュスキャン機能の初期画面に相当するHTML文書を生成し、HTTP GET応答507として送信する。Webブラウザ440は、受信したHTMLに基づきスキャン設定・送信設定画面D4を表示する。なお、他のボタン602、603、604、605、及び606が選択された場合も同様のやり取りが実行される。
【0067】
図7は、スキャン設定・送信設定画面の一例を示す図である。MFP101のスキャナ221を用いて原稿上の画像を読み取って画像データを生成し、生成した画像データをLAN110上のFTPサーバ102に送信することを指示するための画面例を示す。図7に示す例では、画像データをPDFフォーマットで生成し、「test.pdf」というファイル名を付与することが設定された状態となっている。
【0068】
図7はHTMLフォームで構成されている。ユーザが実行ボタン701を選択すると、フォームがサブミットされる。図7に示すようにHTMLフォームのaction属性にhttps://www.example.com/scan−to−ftp/startとセットされていた場合は、次のように処理される。つまり、パス(/scan−to−ftp/start)が指定されたHTTP POST要求508が、Webサーバ103(https://www.example.com)に送信される。ユーザが選択した画像フォーマット等のスキャン設定やファイル名等の送信設定は、HTTP要求の本体(エンティティ)のデータとして、HTTP POST要求508によってWebサーバ103へ送信される。
【0069】
Webサーバ103はWebアプリケーションを実行してこの要求を処理する。すなわち、まず受信したスキャン設定や送信設定といった画像処理のパラメータが適切であることをチェックする。適切であれば、ユーザに処理の実行中であることを伝える処理中画面D5に相当するHTML文書を生成し、これをHTTP POST応答509として送信する。さらに、画像処理装置が提供するサービスを利用してスキャンとFTP送信を行うために、ScanToFtpサービスプロバイダ453に処理を依頼する。処理の依頼方法を特定する仕組みは後述する。SOAP要求510では、画像処理のパラメータ(Webブラウザ440から受信したスキャン設定や送信設定を含む)を伝える。また、サービスプロバイダによるサービスの完了時にWebブラウザ440で表示させたい画面に対応するURI(ここではhttps://www.example.com/scan−to−ftp/completeとする)を、復帰URIとして伝える。
【0070】
サービスプロバイダ453は、SOAP要求510を受信すると、画像処理管理部490によって原稿画像のスキャン処理を実行し、SOAP応答511を返す。サービスプロバイダ453は、操作部219のウィンドウ管理機能に要求して、プレビュー画面D6をユーザに見える位置に表示するように画面遷移させる(画面遷移T2)。
【0071】
スキャンなどの画像処理動作中にジャムなどのエラーが発生した場合は、サービスプロバイダ453はジャム回復等画面D7に遷移する(画面遷移T3)。ユーザや画像処理管理部490とインタラクションしてエラーからの回復を行い、プレビュー画面D6に復帰する(画面遷移T4)。
【0072】
図8はプレビュー画面の一例を示す図である。ScanToFTPサービスプロバイダ453が操作部219に表示するネイティブ画面である。プレビュー画面には、読み取った画像データのプレビューを表示する領域と、縮小ボタン、拡大ボタン、回転ボタン、再スキャンボタン、OKボタン、キャンセルボタンを備える。縮小ボタンと拡大ボタンはそれぞれ、プレビュー領域内のプレビュー画像の縮小表示、拡大表示を指示する。回転ボタンは、画像データの回転を指示するボタンであり、押すたびに読み取った画像データを時計回転方向へ90度回転する。また同時にプレビュー表示領域の表示画像も回転する。再スキャンボタンは、スキャンをやり直し読み取った画像データを置き換える。OKボタンは、読み取った画像データを送信するためのボタンである。
【0073】
ユーザがOKボタン801を選択すると、SOAP要求510で渡された送信設定によって指定されたファイルサーバ102の所定のディレクトリに対して所定のファイル名で、読み取った画像データがFTPによりFTP512でアップロードされる。
【0074】
SOAP要求510によって要求された処理が完了すると、サービスプロバイダ453はWebサーバ103から指定された復帰URIをWebブラウザ440に伝え、(復帰URI513)Webブラウザ440の画面を表示させる(画面遷移T5)。
【0075】
Webブラウザは復帰URI513に対するHTTP GET要求514をWebサーバ103へ送信する。Webサーバ103はWebアプリケーションを実行し、完了画面D8に相当するHTML文書を生成し、HTTP GET応答515としてWebブラウザ440へ送信する。
【0076】
Webブラウザ440は、受信したHTML文書を解釈し完了画面D8として操作部219へ表示する。ユーザがメニューに戻るボタンを選択すると、Webブラウザ440は、機能選択画面D3に相当するURI(https://www.example.com/)へのHTTP GET要求516を送信する。受信したWebサーバ103は、HTTP POST応答505と同様の機能選択画面D3を応答し、以下このシーケンスを繰り返す。
【0077】
図9は、MFP101のWebブラウザによって表示される実行結果表示画面の一例を示す。実行結果表示画面には、MFP101が実行した処理の結果を示す情報が表示されている。ユーザがボタン901を選択すると、機能選択画面D3に相当するURI(https://www.example.com/)へのHTTP GET要求516が送信される。
【0078】
図10は、サービスプロバイダフレームワーク453の処理手順を示すフローチャートである。図10のフローチャートに示す各動作(ステップ)は、MFP101のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。
【0079】
ステップS1001では、サービスプロバイダ450の管理に関する要求を受け付ける。続くステップS1002では、受け付けた要求が新規のサービスプロバイダ450のインストールであるか否かを判断する。この判断の結果、受け付けた要求が新規のサービスプロバイダ450のインストールである場合はステップS1003に進み、そうでなければステップS1005に進む。
【0080】
ステップS1003では、サービスプロバイダ450のインストールを実行することによりサービスプロバイダ450を追加する。そして、ステップS1004において、サービスレポジトリ部492に、新たにインストールされたサービスプロバイダ450の情報を追加する。
【0081】
ステップS1005では、受け付けた要求がサービスプロバイダ450のアンインストールであるか否かを判断する。この判断の結果、受け付けた要求がサービスプロバイダ450のアンインストールである場合はステップS1006に進み、そうでなければステップS1008に進む。
【0082】
ステップS1006では、サービスプロバイダ450のアンインストールを実行することによりサービスプロバイダ450を削除する。そして、ステップS1005において、サービスレポジトリ部492から、アンインストールされたサービスプロバイダ450の情報を削除する。
【0083】
ステップS1008では、受け付けた要求がサービスプロバイダ450のアップデートであるか否かを判断する。この判断の結果、受け付けた要求がサービスプロバイダ450のアップデートである場合はステップS1009に進み、そうでなければステップS1011に進む。
【0084】
ステップS1009では、サービスプロバイダ450のアップデートを実行することによりサービスプロバイダ450を更新する。そして、ステップS1010において、サービスレポジトリ部492における、アップデートされたサービスプロバイダ450の情報を更新する。
【0085】
ステップS1002では、受け付けた要求がサービスプロバイダ450の起動または状態変更であるか否かを判断する。この判断の結果、受け付けた要求がサービスプロバイダ450の起動または状態変更である場合はステップS1012に進み、そうでなければ処理を終了する。ステップS1012では、サービスレポジトリ部492で管理されている、アップデートされたサービスプロバイダ450の状態を変更する。
【0086】
以上のようにして、MFP101がWebサーバ103に提供しうるサービスは動的に変化する。
【0087】
図11は、サービスレポジトリ部492に記憶されるサービスレポジトリ情報の一例を示す図である。サービスレポジトリ情報は、例えばHDD214に記憶される。サービスレポジトリ情報の各レコードは、サービスプロバイダフレームワーク453が管理するサービスプロバイダ450のそれぞれに対応付けられている。
【0088】
サービスIDは各サービスプロバイダ450を識別する識別子である。バージョンは各サービスプロバイダ450のバージョンである。状態は各サービスプロバイダ450が活性化されているか不活性化されているかを示す。接続はWebアプリケーション410のロジック部412が、各サービスプロバイダ450が提供するサービスを利用する際の接続方法を示す。ロケーションURIは、各サービスプロバイダ450が提供するサービスを利用する際の接続先を識別するURIを示す。
【0089】
図12は、URI情報記憶部493に記憶されるURI情報の一例を示す図である。URI情報は、例えばHDD214に記憶される。URIパターンはWebブラウザ440が、Webアプリケーション410にHTTP要求を送信する際のアクセス先となるURIとパターンマッチングするためのパターンである。URIはスキーム部、オーソリティコンポーネント部、パス部から構成される。それぞれの部分について、任意の数のワイルドカードを含むパターンを指定できる。ワイルドカードは文字“*”によって表現しており、任意の文字列にマッチする。さらに高度な正規表現によるパターンマッチングを行ってもよい。
【0090】
サービスパターンはサービスプロバイダ450を検索するためのパターンである。サービスレポジトリ部492に記憶されているレコードとパターンマッチングを行うためのパターンを示す。これらのサービスIDのパターンを並べると該当するサービスプロバイダ450を抽出することができる。リストが空の場合、サービスプロバイダ450の情報は通知されない。サービスIDのパターンには任意の数のワイルドカードを含むパターンを指定できる。ワイルドカードは文字“*”によって表現しており、任意の文字列にマッチする。さらに高度な正規表現によるパターンマッチングを行ってもよい。
【0091】
Webブラウザ440は図12に示すURIパターンにマッチするURIに対してアクセス(HTTP要求を送信)する際に、該当するレコードのサービスパターンにマッチしたサービスプロバイダの情報を、Webアプリケーション410に対して通知する。
【0092】
図13は、Webブラウザ440によるHTTP要求送信処理の手順を示すフローチャートである。図13のフローチャートに示す各動作(ステップ)は、MFP101のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。
【0093】
ステップS1301では、アクセス先となるURIを解析する。そして、ステップS1302において、URI情報記憶部493に記憶されるURI情報とのパターンマッチングを行う。
【0094】
ステップS1303では、操作画面の要求先(つまり、Webブラウザ440がアクセスしようとしている通信相手先)のURIが、URI情報記憶部493に記憶されるURI情報にマッチ(一致)したかどうかを判定する。この判定の結果、マッチしたと判定された場合はステップS1304に進み、そうでなければステップS1307に進む。
【0095】
ステップS1304で、サービスレポジトリ部492に記憶されるサービスレポジトリ情報のなかから、マッチしたパターンに対応する情報を選択し、ステップS1305においてWebアプリケーション410に通知するサービス記述情報を生成する。
【0096】
ステップS1306では、生成したサービス記述情報をHTTP要求データのヘッダ部分に格納し、ステップS1307においてHTTP要求データを送信する。なお、ステップS1303で、マッチしないと判定された場合は、ステップS1307では、サービス記述情報が格納されていないHTTP要求データが送信される。
【0097】
図14は、Webブラウザ440が生成するHTTP要求データのヘッダ部分の一例を示す図である。HTTP要求データのヘッダ部分に、サービスプロバイダ450が提供するサービス記述情報を埋め込むことによって、Webアプリケーション410に対して、MFP101が提供するサービスプロバイダの情報を通知することができる。図14に示す例では、“/sp/scan−ftp”という、サービスプロバイダ450に接続するためのURIが記述されている。“/sp/scan−ftp”の後の“2.0”という記述は、サービスプロバイダ450のバージョンが2.0であることを示している。この他にも、サービス記述情報には図11に示す各種のサービスプロバイダ情報を記述することができる。なお、図13のステップS1306の処理が行われない場合は、図14の“/sp/scan−ftp 2.0;/sp/scan−preview−ftp 1.8;/sp/ipp−print 3.0”という記述がないものが送信される。
【0098】
Webアプリケーション410は、HTTP要求ヘッダにおいて、MFP101が提供するサービスの利用に関する情報を受信することにより、例えば、MFP101に備えられた機能に柔軟に対応する分散システムをすることができる。
【0099】
つまり、MFP101がスキャンプレビューによる読取確認サービスを提供していれば、プレビュー表示とユーザによる確認はMFP101で行わせ、Webアプリケーションはプレビュー確認を済ませた画像データを取得することができる。これに対して、MFP101が読取確認サービスを提供していなければ、読み取った画像データを一旦Webアプリケーション410が取得する。そして、プレビュー画像の生成、ブラウザへの表示、ユーザによる確認をWebアプリケーション410のサーバ側処理として行うようにすることができる。または、スキャンプレビュー読取確認サービスを提供するサービスプロバイダ450のインストールを促がすこともできる。
【0100】
更には、MFP101にOCR機能オプションが搭載されていれば、MFP101でOCR結果の文字コードを付加したPDFファイルに変換された文書データを取得し、なければWebアプリケーション410がこのPDFファイルを生成するように構成できる。
【0101】
また、MFP101で所定の画像フォーマットの生成ができれば指定フォーマットにさせたファイルを取得し、なければWebアプリケーション410がこのフォーマットに変換するように構成することもできる。
【0102】
また、MFP101にファクス送信機能があればMFP101からファクス送信させ、なければWebサーバ103にFTP、SMBなどのファイル転送プロトコルによって送信させ、Webサーバ103がファクス送信するように構成することもできる。
【0103】
なお、サービスレポジトリ部492に記憶されるサービスプロバイダ情報をWebサーバ103から参照するためのServiceDiscoveryサービスプロバイダ450を備えるようにしてもよい。このServiceDiscoveryサービスは公知のUDDIに類似したサービスとして構成できる。Webアプリケーション410は、より詳細な提供サービス記述情報を取得するために、まずServiceDiscoveryサービスに接続し、情報の問い合わせを行うことになる。
【0104】
本実施形態では、SOAPやRESTとして知られるいわゆるWebサービス技術によってWebサーバ103がMFP101の提供サービスを利用するように構成したが、他の技術で代替、あるいは組み合わせで、構成してもよい。例えば、DOMの拡張によって画像処理装置の機能にアクセスするためのインタフェースを拡張し、Java(登録商標)ScriptなどのWebブラウザ内で動作するスクリプト言語から機能を利用する構成でもよい。
【0105】
この場合、利用可能なサービスに関する情報を取得するための機能を拡張DOMのインタフェースとして備えればよい。すなわち、画像処理装置が提供するサービスの種別や能力やそれを利用するための接続方法を、スクリプトが取得するためのインタフェースを備えることも容易である。この場合、WebサーバからWebブラウザへ応答するコンテンツ内で、スクリプトとHTMLのFORM要素を組み合わせる。そのコンテンツに基づくHTTP要求をWebブラウザがWebサーバへ送信するときに、サービス記述情報をそのHTTP要求に含めて送信できる。ただしこのように構成する場合、WebブラウザからWebアプリケーションへの最初のHTTP要求においてサービス記述情報を通知することはできない。
【0106】
以上の通り、本実施形態では、MFP101のWebブラウザ440がWebサーバ103に対して操作画面を要求する場合に、そのHTTP要求の中で提供サービス記述情報を送信する。提供サービス記述情報とは、サービスプロバイダ450が提供するサービスの種別、バージョン、状態、それを利用するための接続方法や接続先等である。またMFP101が備えるオプション構成を反映して伝える。
【0107】
また、Webブラウザ440のアクセス先に応じて、提供サービス記述情報を通知するか否か、或いは通知する提供サービス記述情報の内容を切り替える。
【0108】
これにより、Webアプリケーション103は、MFP101がその時点で提供可能なサービスを知ることができ、提供サービスの能力に合わせて処理を切り替えることができる。また、1台のWebサーバ103が複数のMFP101と分散システムを構成するとき、個々のMFP101の能力差に合わせて処理を切り替えるWebアプリケーション103を実装することが可能となる。
【0109】
また、Webアプリケーション103のロジック部412にとって、MFP101が提供するサービスを利用するための接続方法や接続先を、HTTP要求処理において確実に知ることができる。これにより、確実にサービスを利用するWebアプリケーション103の実装が容易となる。
【0110】
また、提供サービス記述情報を通知する必要がないと判定された場合には、提供サービス記述情報しないことにより、分散システムを構成しないWebサーバに対して、不要な情報を通知しないように構成できる。
【0111】
また、通知する提供サービス記述情報を、Webブラウザ440がHTTP要求を送るURIのパターンに合わせて切り替えることができる。一般にWebサーバ103はURIパスの階層によってWebアプリケーションや機能をグルーピングしている。したがって、これによって、Webアプリケーション410の提供機能に応じて、適切な提供サービス記述情報だけを選択的に通知することができる。
【0112】
また、上述した説明では、画像処理装置(MFP101)に関する情報として、サービスプロバイダ450に関する情報を通知する例を説明したが、同様にして他の情報を通知するようにしても構わない。例えば、MFP101を一意に識別するためのシリアル番号(製造番号)や、MFP101に現在ログインしているユーザを示すユーザID、或いはMFP101に装着されているオプション情報などをWebサーバに通知する場合に適用可能である。また、MFP101が実行している処理(ジョブ)に関する情報や、MFP101自体に発生した障害に関する情報をWebサーバに通知する場合にも適用できる。
【0113】
(他の実施形態)
なお、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0114】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【特許請求の範囲】
【請求項1】
Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理装置であって、
前記Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する処理手段と、
前記Webブラウザのアクセス先に応じて、当該アクセス先に前記画像処理装置に関する情報を通知すべきであるか否かを判断する判断手段と、
前記判断手段により前記画像処理装置に関する情報を通知すべきであると判断された場合に、前記Webブラウザのアクセス先に対して、前記画像処理装置に関する情報を通知する通知手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
特定のURIを予め記憶する記憶手段を更に備え、
前記判断手段は、前記Webブラウザのアクセス先が、前記記憶手段に記憶されたURIと一致する場合に、前記画像処理装置に関する情報を通知すべきであると判断することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記通知手段は、前記Webブラウザが送信するHTTP要求データのヘッダ部分に前記画像処理装置に関する情報を格納することにより、前記通知を行うことを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記画像処理装置に関する情報とは、前記処理手段に関する情報であることを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
【請求項5】
前記処理手段に関する情報とは、前記処理手段が実行する画像処理の種別、前記処理手段のバージョン、または前記処理手段への接続方法を示す情報であることを特徴とする請求項4に記載の画像処理装置。
【請求項6】
Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理装置であって、
前記Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する複数の異なる処理手段と、
前記複数の処理手段のそれぞれに関する情報のうち、前記Webブラウザのアクセス先に通知すべき情報を選択する選択手段と、
前記Webブラウザのアクセス先に対して、前記選択手段により選択された情報を通知する通知手段と、
を備えることを特徴とする画像処理装置。
【請求項7】
前記選択手段は、前記Webブラウザのアクセス先に応じて、当該アクセス先に通知すべき情報を選択することを特徴とする請求項6に記載の画像処理装置。
【請求項8】
前記Webブラウザのアクセス先として使用されるURIと、当該URIに対して通知すべき情報とを対応付けて管理する管理手段を更に備え、
前記選択手段は、前記Webブラウザのアクセス先として指定されたURIに対応付けて管理されている情報を選択することを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記複数の処理手段のそれぞれに関する情報とは、各処理手段が実行する画像処理の種別、各処理手段のバージョン、または各処理手段への接続方法を示す情報であることを特徴とする請求項6から8のいずれか1項に記載の画像処理装置。
【請求項10】
前記通知手段は、前記Webブラウザが送信するHTTP要求データのヘッダ部分に前記選択された情報を格納することにより、前記通知を行うことを特徴とする請求項6から9のいずれか1項に記載の画像処理装置。
【請求項11】
Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザと、当該Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する処理手段と、を備えた画像処理装置の制御方法であって、
前記Webブラウザのアクセス先に応じて、当該アクセス先に前記画像処理装置に関する情報を通知すべきであるか否かを判断する判断工程と、
前記判断工程において前記画像処理装置に関する情報を通知すべきであると判断された場合に、前記Webブラウザのアクセス先に対して、前記画像処理装置に関する情報を通知する通知工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項12】
Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザと、当該Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する複数の異なる処理手段と、を備えた画像処理装置であって、
前記複数の処理手段のそれぞれに関する情報のうち、前記Webブラウザのアクセス先に通知すべき情報を選択する選択工程と、
前記Webブラウザのアクセス先に対して、前記選択工程で選択された情報を通知する通知工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項13】
請求項11または12に記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項1】
Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理装置であって、
前記Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する処理手段と、
前記Webブラウザのアクセス先に応じて、当該アクセス先に前記画像処理装置に関する情報を通知すべきであるか否かを判断する判断手段と、
前記判断手段により前記画像処理装置に関する情報を通知すべきであると判断された場合に、前記Webブラウザのアクセス先に対して、前記画像処理装置に関する情報を通知する通知手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
特定のURIを予め記憶する記憶手段を更に備え、
前記判断手段は、前記Webブラウザのアクセス先が、前記記憶手段に記憶されたURIと一致する場合に、前記画像処理装置に関する情報を通知すべきであると判断することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記通知手段は、前記Webブラウザが送信するHTTP要求データのヘッダ部分に前記画像処理装置に関する情報を格納することにより、前記通知を行うことを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記画像処理装置に関する情報とは、前記処理手段に関する情報であることを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
【請求項5】
前記処理手段に関する情報とは、前記処理手段が実行する画像処理の種別、前記処理手段のバージョン、または前記処理手段への接続方法を示す情報であることを特徴とする請求項4に記載の画像処理装置。
【請求項6】
Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理装置であって、
前記Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する複数の異なる処理手段と、
前記複数の処理手段のそれぞれに関する情報のうち、前記Webブラウザのアクセス先に通知すべき情報を選択する選択手段と、
前記Webブラウザのアクセス先に対して、前記選択手段により選択された情報を通知する通知手段と、
を備えることを特徴とする画像処理装置。
【請求項7】
前記選択手段は、前記Webブラウザのアクセス先に応じて、当該アクセス先に通知すべき情報を選択することを特徴とする請求項6に記載の画像処理装置。
【請求項8】
前記Webブラウザのアクセス先として使用されるURIと、当該URIに対して通知すべき情報とを対応付けて管理する管理手段を更に備え、
前記選択手段は、前記Webブラウザのアクセス先として指定されたURIに対応付けて管理されている情報を選択することを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記複数の処理手段のそれぞれに関する情報とは、各処理手段が実行する画像処理の種別、各処理手段のバージョン、または各処理手段への接続方法を示す情報であることを特徴とする請求項6から8のいずれか1項に記載の画像処理装置。
【請求項10】
前記通知手段は、前記Webブラウザが送信するHTTP要求データのヘッダ部分に前記選択された情報を格納することにより、前記通知を行うことを特徴とする請求項6から9のいずれか1項に記載の画像処理装置。
【請求項11】
Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザと、当該Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する処理手段と、を備えた画像処理装置の制御方法であって、
前記Webブラウザのアクセス先に応じて、当該アクセス先に前記画像処理装置に関する情報を通知すべきであるか否かを判断する判断工程と、
前記判断工程において前記画像処理装置に関する情報を通知すべきであると判断された場合に、前記Webブラウザのアクセス先に対して、前記画像処理装置に関する情報を通知する通知工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項12】
Webサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザと、当該Webブラウザからのアクセスに基づいて前記Webサーバから画像処理の実行を要求された場合に、当該要求された画像処理を実行する複数の異なる処理手段と、を備えた画像処理装置であって、
前記複数の処理手段のそれぞれに関する情報のうち、前記Webブラウザのアクセス先に通知すべき情報を選択する選択工程と、
前記Webブラウザのアクセス先に対して、前記選択工程で選択された情報を通知する通知工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項13】
請求項11または12に記載の制御方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−8349(P2011−8349A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−149053(P2009−149053)
【出願日】平成21年6月23日(2009.6.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願日】平成21年6月23日(2009.6.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]