(57)【要約】【課題】複数のブラウザのそれぞれからジョブに関する指示を受け付けるとともに、好適にジョブ管理と各ブラウザへの画面制御を行うことにより、所定のブラウザが操作対象でない他のジョブを操作してしまうことを防止する仕組みを提供する。【解決手段】画像処理装置は、外部装置からのリクエストを受け付け、受け付けたリクエストに識別情報が付与されている場合に、識別情報に関連付けられたジョブの有無を判定し、ジョブが存在しないと判定されると、リクエストに従って識別情報に関連付けた新たなジョブを生成し、ジョブが存在すると判定されると、既に存在するジョブを実行し、生成されたジョブの情報と、該ジョブの状況に応じて、当該ジョブの状態を表示するための表示情報が必要であればその表示情報とを生成して、外部装置に生成した情報を送信する。【選択図】  図４Ａ
2015019125.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して外部装置と通信可能な画像処理装置であって、
前記外部装置からのリクエストを受け付ける受付手段と、
前記受付手段によって受け付けたリクエストに識別情報が付与されている場合に、該識別情報に関連付けられたジョブの有無を判定する判定手段と、
前記判定手段によってジョブが存在しないと判定されると、前記リクエストに従って前記識別情報に関連付けた新たなジョブを生成して実行し、前記判定手段によってジョブが存在すると判定されると、既に存在するジョブを実行する実行手段と、
前記実行手段によって実行されるジョブの情報と、該ジョブの状況に応じて、当該ジョブの状態を表示するための表示情報が必要であれば該表示情報とを生成して、前記外部装置に生成した情報を送信する応答手段と
を備えることを特徴とする画像処理装置。
【請求項２】
操作待ちのジョブがあるか否かを判定する操作待ち判定手段と、
前記操作待ち判定手段によって操作待ちのジョブが有ると判定されると、当該ジョブと関連付けられた識別情報とは異なる識別情報を介したリクエストの受け付けを禁止する排他制御手段と
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記排他制御手段は、
前記操作待ち判定手段によって操作待ちのジョブであると判定されたジョブに対して、一定期間の間、ジョブの操作がされない場合に、当該ジョブと関連付けられた識別情報とは異なる識別情報を介したリクエストの受け付けを許可することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記排他制御手段は、
当該ジョブと関連付けられた識別情報とは異なる識別情報を介したリクエストの受け付けを許可した後にさらに、当該ジョブに対して、一定期間の間、ジョブの操作がされない場合に、当該ジョブをキャンセルすることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記応答手段は、
前記受付手段によって受け付けたリクエストに識別情報が付与されていない場合には、新たな識別情報を生成して、前記外部装置に生成した識別情報を送信することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記リクエストがジョブの実行要求を含む場合に、前記画像処理装置において当該ジョブを投入可能であるか否かを判定する実行判定手段をさらに備え、
前記実行手段は、前記実行判定手段によって前記画像処理装置において当該ジョブを投入可能であると判定された場合のみジョブを実行し、
前記応答手段は、前記実行判定手段によって、前記画像処理装置において当該ジョブを投入可能でないと判定された場合には、エラー情報を生成して、前記外部装置に生成したエラー情報を送信することを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
ネットワークを介して外部装置と通信可能な画像処理装置の制御方法であって、
受付手段が、前記外部装置からのリクエストを受け付ける受付工程と、
判定手段が、前記受付工程において受け付けたリクエストに識別情報が付与されている場合に、該識別情報に関連付けられたジョブの有無を判定する判定工程と、
実行手段が、前記判定工程においてジョブが存在しないと判定されると、前記リクエストに従って前記識別情報に関連付けた新たなジョブを生成して実行し、前記判定工程においてジョブが存在すると判定されると、既に存在するジョブを実行する実行工程と、
応答手段が、前記実行工程において生成されたジョブの情報と、該ジョブの状況に応じて、当該ジョブの状態を表示するための表示情報が必要であれば該表示情報とを生成して、前記外部装置に生成した情報を送信する応答工程と
を実行することを特徴とする画像処理装置の制御方法。
【請求項８】
請求項１乃至６の何れか１項の画像処理装置としてコンピュータを機能させるための該コンピュータで読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサーバ機能を有する画像処理装置、その制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
インターネットの普及に伴い、Ｗｅｂブラウザ機能を有するＰＣが一般的に普及している。プリンタ、コピー機、ＦＡＸ、ルータなど、ネットワーク機器においても、Ｗｅｂサーバ機能を有するものが多く存在している。特許文献１及び特許文献２に開示されるように、ユーザは、ＰＣの有するブラウザを利用してこれらのネットワーク機器にアクセスすることにより、特別なアプリケーションをインストールすることなく、表示されるＷｅｂページを操作することで機器の情報取得や設定を行うことが可能である。また、このようなＷｅｂサーバ機能を利用して、ブラウザを介して遠隔からコピージョブや印刷ジョブの指示を行うことも可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−９２２６２号公報
【特許文献２】特開２００２−７０９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術には以下に記載する問題がある。例えば、上記従来技術においては、ユーザがブラウザから印刷ジョブの指示を行った場合に、ジョブがどのブラウザから投入されたものかを判別することができなかった。そのため、ユーザ管理機能を有していないデバイスにおいては、どのジョブがどのユーザの指示により実行されたものかわからず、ジョブやユーザの閲覧するブラウザ表示を適切に管理することができなかった。
【０００５】
例えば、１つのジョブ中でユーザがデバイスに対して複数回のスキャン指示を行う必要があるスキャン画像のＥｍａｉｌ送信機能などにおいては、ユーザがブラウザからスキャン指示を行っている最中に、他のユーザによってジョブをキャンセルされる場合がある。これは、他のユーザがデバイスの操作部又は他のブラウザを用いて設定を行う場合に発生しうる。ここでさらに、他のユーザから他のジョブを指示された場合、ユーザが閲覧しているブラウザで表示されているジョブと、デバイスが処理中のジョブが異なってしまう。しかし、従来技術では、このような矛盾が発生した場合においても、ユーザはブラウザからデバイスが現在処理している他のユーザのジョブを操作することができてしまい、他のユーザの意図と異なるジョブ結果が発生してしまう。
【０００６】
また、上述のような状態を防ぐため、１つのブラウザを介してジョブが操作している間において、他のブラウザやデバイスの持つ操作部からのジョブ制御を禁止することが考えられる。しかし、この場合においては、ジョブ指示元がキャンセルや投入操作完了操作を行うまでは、他ユーザのジョブ制御禁止を解除することができない。つまり、ジョブを指示したユーザが操作中にブラウザを閉じてしまった場合などにおいては、タイムアウト機構等が機能するまでの間、他のユーザはデバイスに対してジョブ操作不可能な状態になってしまう。
【０００７】
本発明は、上述の問題に鑑みて成されたものであり、複数のブラウザのそれぞれからジョブに関する指示を受け付けるとともに、好適にジョブ管理と各ブラウザへの画面制御を行うことにより、所定のブラウザが操作対象でない他のジョブを操作してしまうことを防止する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、ネットワークを介して外部装置と通信可能な画像処理装置であって、前記外部装置からのリクエストを受け付ける受付手段と、前記受付手段によって受け付けたリクエストに識別情報が付与されている場合に、該識別情報に関連付けられたジョブの有無を判定する判定手段と、前記判定手段によってジョブが存在しないと判定されると、前記リクエストに従って前記識別情報に関連付けた新たなジョブを生成して実行し、前記判定手段によってジョブが存在すると判定されると、既に存在するジョブを実行する実行手段と、前記実行手段によって実行されるジョブの情報と、該ジョブの状況に応じて、当該ジョブの状態を表示するための表示情報が必要であれば該表示情報とを生成して、前記外部装置に生成した情報を送信する応答手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明は、複数のブラウザのそれぞれからジョブに関する指示を受け付けるとともに、好適にジョブ管理と各ブラウザへの画面制御を行うことにより、所定のブラウザが操作対象でない他のジョブを操作してしまうことを防止することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係るネットワーク構成を示す図。
【図２】一実施形態に係るＭＦＰ１０２のハードウェア構成の一例を示す図。
【図３】一実施形態に係るＭＦＰ１０２のソフトウェア構成の一例を示す図。
【図４Ａ】、
【図４Ｂ】一実施形態に係るｈｔｔｐレスポンス生成フローチャート。
【図５】一実施形態に係るジョブ操作排他制御に係るフローチャート。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
＜ネットワーク構成＞
以下では、図１乃至図５を参照して、本発明の一実施形態について説明する。まず、図１を参照して、本実施形態に係る画像処理装置の一例であるＭＦＰ１０２とＭＦＰ１０２にネットワーク１０３を介して接続されたクライアント端末１０１（情報端末装置）の構成例を示すものである。
【００１３】
ＭＦＰ１０２は、Ｗｅｂサーバ機能を有するネットワーク複合機であるが、プリンタ、コピー機、ＦＡＸなどのユーザ操作により一連の処理を実行する機器であり、かつＷｅｂサーバ機能をもつ機器であればよく、ここで挙げたものに限定されるものではない。また、クライアント端末１０１は、外部装置の一例であり、ＭＦＰ１０２にアクセスするための情報端末装置である。クライアント端末１０１は、ネットワーク１０３を介してＭＦＰ１０２と通信可能であり、ブラウザを用いてＭＦＰ１０２が提供するサービスを利用することができる。クライアント端末１０１は、ブラウザを介してＭＦＰ１０２に対してジョブを投入したり、当該ジョブの設定を指示したりすることができる。ＭＦＰ１０２とクライアント端末１０１とは、ＬＡＮ（ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ），ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ），インターネット等のネットワーク１０３によって接続される。
【００１４】
＜画像処理装置のハードウェア構成＞
次に、図２を参照して、本実施形態に係る画像処理装置の一例であるＭＦＰ１０２のハードウェア構成例について説明する。ＭＦＰ１０２は、制御部２０１、操作部２１１、プリンタ２１２、及びスキャナ２１３を備える。また、制御部２０１は、ＣＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、ＨＤＤ２０５、操作部Ｉ／Ｆ２０６、プリンタＩ／Ｆ２０７、及びスキャナＩ／Ｆ２０８を備える。
【００１５】
制御部２０１は、ＭＦＰ１０２を統括的に制御する。ＣＰＵ２０２は、ＲＯＭ２０３に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ２０４は、ＣＰＵ２０２の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２０５は、画像データや各種プログラムや各種情報テーブルを記憶する。
【００１６】
プリンタＩ／Ｆ２０７は、プリンタ２１２と制御部２０１とを接続する。プリンタ２１２で印刷すべき画像データは、プリンタＩ／Ｆ２０７を介して制御部２０１からプリンタ２１２に転送され、プリンタ２１２において記録媒体上に印刷される。スキャナＩ／Ｆ２０８は、スキャナ２１３と制御部２０１とを接続する。スキャナ２１３は、原稿上の画像を読み取り画像データを生成して、スキャナＩ／Ｆ２０８を介して制御部２０１に画像データを渡す。
【００１７】
操作部Ｉ／Ｆ２０６は、操作部２１１と制御部２０１とを接続する。操作部２１１は、表示部（タッチパネル機能を有する液晶表示部など）やキーボードが備えられている。ネットワークＩ／Ｆ２０９は、ＬＡＮ上のＷｅｂサーバ等と各種情報の送受信を行う制御部である。ＭＦＰ１０２の上記構成において装置に電源を投入すると、ＣＰＵ２０２は、ＲＯＭ２０３のブートプログラムに従って装置を初期化し、ＨＤＤ２０５等にあるＯＳのロードを行い、続いて各種アプリケーション等を動作させる。
【００１８】
＜画像処理装置のソフトウェア構成＞
次に、図３を参照して、本実施形態に係るＭＦＰ１０２のソフトウェア構成例について説明する。なお、以下で説明するソフトウェア構成は、ハードウェア構成として実現されてもよく、ソフトウェアとハードウェアの組み合わせとして実現されてもよい。
【００１９】
ネットワークＩ／Ｆ部３０１は、ネットワークＩ／Ｆ２０９が受け取った情報を解釈しプロトコルに応じて各モジュールに情報を振り分ける。また、各モジュールから情報の送信要求を受け取った場合、ネットワークＩ／Ｆ２０９を通じて、外部へ情報を所定の形式で送信する。
【００２０】
ｈｔｔｐサーバ部３０２は、ネットワークＩ／Ｆ部３０１から受け取った情報を解釈し、当該情報の内容がＷｅｂページ制御に関わるものである場合、必要な情報を所定の形式でＷｅｂページ管理部３０３へ通知する。また、ｈｔｔｐサーバ部３０２は、Ｗｅｂページ管理部３０３から情報の送信要求があった場合には、受け取った情報をｈｔｔｐ形式でネットワークＩ／Ｆ部３０１へ通知する。
【００２１】
Ｗｅｂページ管理部３０３は、ｈｔｔｐサーバ部３０２から受け取った通知内容に応じて、ＨＴＭＬ形式の画面情報を生成し、返送情報としてｈｔｔｐサーバ部３０２に情報通知要求を行う。この際、ＵＩ管理部３０６からの情報と生成する画面情報を変化させる。Ｗｅｂページ管理部３０３は、ｈｔｔｐサーバ部３０２から受け取った情報は必要に応じてＵＩ管理部３０６へ情報通知を行う。
【００２２】
パネルＩ／Ｆ部３０４は、パネルＵＩ管理部３０５からの指示に応じて操作部Ｉ／Ｆ２０６を介して操作部２１１を制御する。また、操作部Ｉ／Ｆ２０６からの情報をパネルＵＩ管理部３０５へ通知する。ＵＩ管理部３０６からの情報に基づき、パネルＵＩ管理部３０５は、操作部２１１に各種表示及びランプ、スピーカ制御情報を通知する。
【００２３】
ＵＩ管理部３０６は、ジョブ管理部３０７から取得するジョブ情報やデバイス状態に応じて、Ｗｅｂページ管理部３０３やパネルＵＩ管理部３０５が共通で使用する情報を管理する。また、Ｗｅｂページ管理部３０３やパネルＵＩ管理部３０５からの通知に従って、デバイス状態の変更やジョブ管理部３０７へのジョブ生成・削除依頼を行う。ジョブ管理部３０７は、ジョブの生成・削除・状態管理を行い、ジョブの状態を他のモジュールに通知するとともに、ジョブ制御部３０８に対してジョブの開始、一時停止、中止などの指示を行う。
【００２４】
ジョブ制御部３０８は、ジョブ管理部３０７からの指示により、各種ジョブに応じた処理を行う必要に応じてデバイスＩ／Ｆ部３０９を介してプリンタやスキャナ等のデバイス制御を行う。デバイスＩ／Ｆ部３０９は、図２におけるスキャナＩ／Ｆ２０８やプリンタＩ／Ｆ２０７を制御するモジュールである。
【００２５】
クライアント端末１０１に関してはごく一般的なＷｅｂブラウズ機能を有したソフトウェアを搭載しているものであればよく、一般的技術であるため説明を割愛する。また、クライアント端末１０１は、携帯端末であってもよく、固定端末であってもよい。
【００２６】
＜処理手順＞
次に、図４Ａ及び図４Ｂを参照して、クライアント端末１０１のブラウザからＭＦＰ１０２が提供するＷｅｂページを操作した際の、ＭＦＰ１０２の動作について説明する。以下で説明する処理は、ＣＰＵ２０２がＲＯＭ２０３やＨＤＤ２０５に格納されている制御プログラムをＲＡＭ２０４に読み出して実行することにより実現される。ここでは、ユーザがクライアント端末１０１からジョブを投入し、当該ジョブをブラウザを介して設定している間に、他のユーザが他のブラウザや操作部２１１を介して当該ジョブをキャンセルし、新たなジョブを投入する場合の対策となる制御について説明する。なお、従来技術では、このような場合に、ユーザがジョブの設定を終えて指示すると、他のユーザが投入した異なるジョブに対して設定を反映することとなり、他のユーザの意図と異なる結果となる可能性がある。
【００２７】
クライアント端末１０１がブラウザを用いてＭＦＰ１０２の提供するＷｅｂページを操作すると、クライアント端末１０１からＭＦＰ１０２に対してｈｔｔｐリクエストが送信される。Ｓ１００１において、ＣＰＵ２０２は、ｈｔｔｐリクエストを受付け、リクエストの内容を解釈する。Ｓ１００２において、ＣＰＵ２０２は、受け付けたリクエストに識別情報であるセッションＩＤが含まれているか否かを判定する。セッションＩＤがリクエストに含まれている場合は、さらにセッションＩＤが有効であるか否かを判定し、セッションＩＤが有効であれば、セッションＩＤの有効期限情報を更新してＳ１００６へ処理を進める。ここで、セッションＩＤが無効である場合は、ＣＰＵ２０２は、セッションＩＤが無効であることを通知するレスポンス情報を生成し、ｈｔｔｐレスポンスを返送（応答）する。
【００２８】
ブラウザはセッションＩＤを受け取ると、セッションＩＤの送信元に対するリクエスト時には、当該セッションＩＤを付加してリクエストを送信する。セッションＩＤは、一定期間後に無効になることが一般的である。また、セッションＩＤは、ブラウザの記憶領域として使用できるｃｏｏｋｉｅやＷｅｂ ｓｔｏｒａｇｅに保存されることが一般的である。本発明においてセッションＩＤはブラウザが利用可能であり、かつリクエストに付加可能な情報管理方法であれば、どのように保持されてもよく、本発明を限定するものではない。
【００２９】
リクエストにセッションＩＤが含まれていない場合、Ｓ１００３に進み、ＣＰＵ２０２は、セッションＩＤを生成し、Ｓ１００４で要求されたページ情報とともにセッションＩＤを付加したｈｔｔｐレスポンス情報を生成する。続いて、Ｓ１００５において、ＣＰＵ２０２は、生成したｈｔｔｐレスポンス情報を、リクエストの送信元であるクライアント端末１０１に返送し、処理を終了する。
【００３０】
一方、Ｓ１００６において、ＣＰＵ２０２は、判定手段として機能し、リクエストに含まれているセッションＩＤに関連付けられたジョブの有無を判定する。リクエストに含まれているセッションＩＤに関連付けられたジョブが存在する場合は、Ｓ１０１６に処理を進める。リクエストに含まれているセッションＩＤに関連付けられたジョブが存在しない場合は、Ｓ１００７に処理を進める。
【００３１】
Ｓ１００７において、ＣＰＵ２０２は、リクエストがジョブ実行要求を含むか否かを判定する。ジョブ実行要求を含まない場合にはＳ１００８に進み、ＣＰＵ２０２は、要求されたページ情報を含むｈｔｔｐレスポンス情報を生成する。続いて、Ｓ１００５において、ＣＰＵ２０２は、生成したｈｔｔｐレスポンス情報をリクエストの送信元であるクライアント端末１０１に返送し、処理を終了する。つまり、ここでは、ジョブの実行が要求されておらず、単にページ情報を要求したリクエストであると判断し、対応するページ情報をクライアント端末１０１へ返送している。
【００３２】
Ｓ１００７でリクエストがジョブ実行要求を含むと判断された場合、Ｓ１００９に進み、ＣＰＵ２０２は、実行判定手段として機能し、画像処理装置であるＭＦＰ１０２においてジョブが投入可能な状態か否かを判定する。この判定はジョブ実行要求情報に不足した情報や、矛盾した情報がなく、適切なものか否か、他の実行ジョブにより投入しようとするジョブが実行不可能な状態か否か、スキャナやプリンタの各種デバイスが使用可能な状態か否か等によって判定される。即ち、ここでは、新たにジョブを投入した場合であっても、ＭＦＰ１０２が正常に当該ジョブを処理する状態にあるか否かを判定している。
【００３３】
ジョブが投入不可能な状態である場合、Ｓ１０１０において、ＣＰＵ２０２は、ジョブ投入エラーをブラウザに表示するためのｈｔｔｐレスポンス情報（エラー情報）を生成し、生成したｈｔｔｐレスポンス情報をリクエストの送信元であるクライアント端末１０１に返送する。一方、Ｓ１００９でジョブが投入可能な状態であると判定すると、Ｓ１０１１において、ＣＰＵ２０２は、ジョブ情報を生成し、Ｓ１０１２で生成したジョブ情報と、リクエストに含まれていたセッションＩＤ情報とを関連付ける。その後、Ｓ１０１３において、ＣＰＵ２０２は、セッションＩＤと関連付けられたジョブ状態又はジョブの操作画面を表示する必要があるかどうかを判定する。この判定は、ジョブの種類や進捗状況に応じて判定される。必要であると判定されるとＳ１０１５に進み、必要でないと判定されるとＳ１０１４に進む。
【００３４】
Ｓ１０１４において、ＣＰＵ２０２は、リクエストにより要求されたページ情報を含むｈｔｔｐレスポンス情報を生成し、続いてＳ１００５において、生成したｈｔｔｐレスポンス情報をリクエストの送信元であるクライアント端末１０１に返送し、処理を終了する。一方、Ｓ１０１５において、ＣＰＵ２０２は、セッションＩＤと関連づいたジョブ状態又はジョブ操作画面の表示が必要な場合、ジョブ状態又はジョブ操作画面（表示情報）を含むｈｔｔｐレスポンス情報を生成する。続いて、Ｓ１００５に進み、ＣＰＵ２０２は、生成したｈｔｔｐレスポンス情報を、リクエストの送信元であるクライアント端末１０１に返送し、処理を終了する。
【００３５】
Ｓ１００６で該当するセッションＩＤ付きのジョブが有ると判定されると、Ｓ１０１６において、ＣＰＵ２０２は、リクエストがジョブ実行要求を含むか否かを判定する。リクエストがジョブ実行要求を含む場合はＳ１０１７に進み、含まない場合はＳ１０２３に進む。Ｓ１０１７において、ＣＰＵ２０２は、ジョブが投入可能な状態か否かを判定する。この判定は、ジョブ実行要求情報に不足した情報や、矛盾した情報がなく、適切なものか否か、他の実行ジョブにより投入しようとするジョブが実行不可能な状態か否か、スキャナやプリンタの各種デバイスが使用可能な状態か否か等によって判定される。即ち、ここでは、新たにジョブを投入した場合であっても、ＭＦＰ１０２が正常に当該ジョブを処理する状態にあるか否かを判定している。
【００３６】
ジョブが投入不可能な状態である場合は、Ｓ１０１８に進み、ＣＰＵ２０２は、セッションＩＤと関連付けられているジョブ状態又はジョブ操作画面を表示する必要があるかどうかを判定する。この判定は、ジョブの種類や進捗状況に応じて判定される。必要であると判定されるとＳ１０２０に進み、必要でないと判定するとＳ１０１９に進む。
【００３７】
Ｓ１０１９において、ＣＰＵ２０２は、ジョブ投入エラーをブラウザに表示するためのｈｔｔｐレスポンス情報（エラー情報）を生成し、Ｓ１００５において、生成したｈｔｔｐレスポンス情報をリクエストの送信元であるクライアント端末１０１に返送し、処理を終了する。一方、Ｓ１０２０において、ＣＰＵ２０２は、ジョブ状態又はジョブ操作画面、及び、リクエストに含まれていたジョブ投入要求に対するジョブ投入エラーをブラウザに表示するための情報（エラー情報）を含むｈｔｔｐレスポンス情報を生成する。続いて、Ｓ１００５において、ＣＰＵ２０２は、ｈｔｔｐレスポンス情報をリクエストの送信元であるクライアント端末１０１に返送し、処理を終了する。
【００３８】
Ｓ１０１７でジョブが投入可能であると判定するとＳ１０２１に進む、ＣＰＵ２０２は、ジョブ情報を生成し、Ｓ１０２２で生成したジョブ情報とリクエストに含まれていたセッションＩＤ情報とを関連付ける。なお、ここでは、既に同様のセッションＩＤが付与されたジョブが存在するため（Ｓ１００６）、生成するジョブは、既存のジョブとは全く関係の無い新たなジョブではなく、既存のジョブへの更なる操作を追加することを目的としたジョブが想定される。したがって、上記Ｓ１０２１では、単にジョブを生成するのではなく、既存のジョブに対する操作として生成したジョブへ情報を追加するような制御としてもよい。なお、このような追加の操作が必要となるジョブとしては、１つのジョブ中でユーザがデバイスに対して複数回のスキャン指示を行う必要があるスキャン画像のＥｍａｉｌ送信機能などがある。その後、Ｓ１０２３において、ＣＰＵ２０２は、セッションＩＤと関連付けられたジョブ状態又はジョブ操作画面を表示する必要があるかどうかを判定する。この判定は、ジョブの種類や進捗状況に応じて判定される。必要があればＳ１０２５に進み、必要がなければＳ１０２４に進む。
【００３９】
Ｓ１０２４において、ＣＰＵ２０２は、リクエストにより要求されたページ情報を含むｈｔｔｐレスポンス情報を生成し、Ｓ１００５において、生成したｈｔｔｐレスポンス情報をリクエストの送信元であるクライアント端末１０１に返送し、処理を終了する。一方、Ｓ１０２５において、ＣＰＵ２０２は、ジョブ状態又はジョブ操作画面を含むｈｔｔｐレスポンス情報を生成し、Ｓ１００５において、ｈｔｔｐレスポンス情報をリクエストの送信元であるクライアント端末１０１に返送し、処理を終了する。
【００４０】
上記制御により、例えばクライアント端末１０１のユーザがブラウザからコピー操作を行い、１枚目の原稿をスキャン後に、２枚目の原稿をスキャンする前にブラウザ誤操作により、操作ページから離れてしまった場合であっても好適に制御することができる。具体的には、本実施形態によれば、ユーザが再度ＭＦＰ１０２のＷｅｂページにアクセスすれば、ＭＦＰ１０２のブラウザのセッションＩＤから操作中のジョブがあることを判断し、中断された操作画面を表示することができる。また、既に操作が完了している場合にはジョブ操作画面を表示せず、ユーザ操作を煩雑にすることがない。
【００４１】
また、上記実施形態では、セッションＩＤを持たないアクセスに対し、常にセッションＩＤを付加したレスポンスを返送しているが、ログイン処理やジョブ投入時など、特定の画面や処理においてのみセッションＩＤを生成し、レスポンスに付加してもよい。ジョブ投入のタイミングでセッションＩＤを生成する場合、Ｓ１０１１の処理においてセッションＩＤを生成することになる。
【００４２】
＜排他制御＞
次に、図５を参照して、ジョブ生成後、操作中状態のジョブに関する排他制御について説明する。以下で説明する処理は、ＣＰＵ２０２がＲＯＭ２０３やＨＤＤ２０５に格納されている制御プログラムをＲＡＭ２０４に読み出して実行することにより実現される。
【００４３】
ＭＦＰ１０２において複数の原稿をスキャナで読み込んでＥｍａｉｌで送信したり、コピーしたりするなどの機能の場合、ジョブの投入から実行までの間に、ユーザが複数回の操作を行う必要がある。このようなジョブの場合、ジョブの状態としてユーザの操作を待つ、「操作待ち」の状態が発生する。操作待ち状態のジョブが存在する場合、他のユーザが当該ジョブを操作できないよう排他制御を行うことが望ましい。ここでいう他のユーザからの操作とは、ブラウザから実行指示されたジョブであれば、他のブラウザ、即ち、操作中のジョブに関連付けられたセッションＩＤを持たないブラウザからの操作や、操作部２１１からの操作を示す。
【００４４】
まず、Ｓ４００１において、ＣＰＵ２０２は、操作待ち状態のジョブが有るか否かを判定する。操作待ち状態のジョブが無ければ処理を終了し、有ればＳ４００２に進む。Ｓ４００２において、ＣＰＵ２０２は、当該ジョブが他のユーザに操作されないようジョブ操作を排他状態にする。つまり、他のユーザによる当該ジョブの操作を禁止する制御を行う。
【００４５】
次に、Ｓ４００３において、ＣＰＵ２０２は、一定期間の間に操作が有ったか否かを判定する。一定期間操作が無ければＳ４００４に進み、操作が有ればＳ４００１に処理を戻す。Ｓ４００４において、ＣＰＵ２０２は、一部の操作を他のユーザに対して許可する。具体的には、他のユーザが当該ジョブをキャンセルすることを許可する。
【００４６】
続いて、Ｓ４００５において、ＣＰＵ２０２は、さらに一定期間の間に操作が有ったか否かを判定する。操作が無ければＳ４００６に進み、操作があればＳ４００２に処理を戻す。Ｓ４００６において、ＣＰＵ２０２は、ジョブに紐づいたセッションＩＤの有効期限を経過した（セッションタイムアウトが発生した）か否かを判定する。セッションタイムアウトが発生していない場合は処理をＳ４００５に戻す。一方、セッションタイムアウトが発生すると、Ｓ４００７に進み、ＣＰＵ２０２は、セッションＩＤに紐づいた操作中状態のジョブをキャンセルする。このように排他制御することによって、ユーザが操作中に、他のユーザによってジョブを勝手に操作されてしまう可能性を低減することができる。さらに、操作待ち状態のジョブを放置し、他のユーザが長時間ＭＦＰ１０２を使用できない状態となることを防ぐことができる。
【００４７】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015019125.tif 000003
【図２】
2015019125.tif 000004
【図３】
2015019125.tif 000005
【図４Ａ】
2015019125.tif 000006
【図４Ｂ】
2015019125.tif 000007
【図５】
2015019125.tif 000008