(57)【特許請求の範囲】
【請求項１】
操作画面を表示するための画面情報を画像処理装置に提供し、かつ、当該操作画面を介して入力された入力情報に対応する処理の実行要求を当該画像処理装置に送信するＷｅｂサーバ、と通信可能な画像処理装置であって、
前記Ｗｅｂサーバから提供される画面情報に基づく操作画面を表示して、当該操作画面を介して入力された入力情報を前記Ｗｅｂサーバに送信する表示制御手段と、
前記表示制御手段が前記Ｗｅｂサーバに送信した入力情報に対応する処理の実行要求を前記Ｗｅｂサーバから受信すると、当該実行要求に従ったジョブを実行するとともに、前記画像処理装置で実行が開始された当該ジョブを識別するためのジョブＩＤを前記Ｗｅｂサーバに通知する実行制御手段と、を備え、
前記表示制御手段は、
前記実行制御手段による前記ジョブＩＤの通知に応じて、前記Ｗｅｂサーバから、前記画像処理装置で実行中の前記ジョブに関連する操作画面の画面情報を、実行中の前記ジョブに対応する前記ジョブＩＤとともに受信する受信手段と、
前記ジョブの実行中に、前記受信された画面情報に基づいて表示した操作画面を介して当該ジョブに関連する指示が入力されると、所定の条件が満たされたか否かを判定する判定手段と、
前記判定手段によって前記所定の条件が満たされていないと判定された場合には、前記ジョブＩＤに対応する前記ジョブの実行を、前記Ｗｅｂサーバから受信される実行要求に従って前記実行制御手段が制御するように、前記入力された指示を前記Ｗｅｂサーバに送信し、前記判定手段によって前記所定の条件が満たされたと判定された場合には、前記ジョブＩＤに対応する前記ジョブの実行を、前記Ｗｅｂサーバを介すことなく前記入力された指示に従って前記実行制御手段が制御するように前記実行制御手段に指示する指示手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記所定の条件は、前記受信された画面情報に基づいて表示した操作画面を介して入力された指示が、実行中の前記ジョブに関連する特定の指示である、という条件であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特定の指示は、即時に実行すべき処理として予め定められた処理に関する指示であることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記特定の指示は、前記受信手段によって前記ジョブＩＤとともに受信される画像情報に付加された情報によって、前記Ｗｅｂサーバから通知されることを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記ジョブは、プリントジョブであり、
前記特定の指示は、前記プリントジョブの実行を中止する指示であり、
前記実行制御手段は、前記指示手段からの前記特定の指示に応じて、前記ジョブＩＤに対応する前記プリントジョブの実行を中止する
ことを特徴とする請求項２乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記表示制御手段は、
前記ジョブの実行中に、前記受信された画面情報に基づいて表示した操作画面を介して指示が入力されると、当該指示を前記入力情報として前記Ｗｅｂサーバに送信し、
前記所定の条件は、
前記Ｗｅｂサーバとの間で通信が確立されず、前記表示制御手段によって送信された指示が前記Ｗｅｂサーバに届かない、という条件である
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記表示制御手段は、
前記指示手段による指示に従って前記実行制御手段が前記ジョブの実行を制御した後に、当該指示に従った制御が行われたことを前記Ｗｅｂサーバに報告する報告手段をさらに備えることを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記報告手段は、前記Ｗｅｂサーバとの間で通信を確立できない場合、前記Ｗｅｂサーバとの間で通信を確立できるまで報告を繰り返すことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
操作画面を表示するための画面情報を画像処理装置に提供し、かつ、当該操作画面を介して入力された入力情報に対応する処理の実行要求を当該画像処理装置に送信するＷｅｂサーバ、と通信可能な画像処理装置であって、前記Ｗｅｂサーバから提供される画面情報に基づく操作画面を表示して、当該操作画面を介して入力された入力情報を前記Ｗｅｂサーバに送信する表示制御手段と、前記表示制御手段が前記Ｗｅｂサーバに送信した入力情報に対応する処理の実行要求を前記Ｗｅｂサーバから受信すると、当該実行要求に従ったジョブを実行する実行制御手段と、を備える画像処理装置の制御方法であって、
前記実行制御手段が、前記画像処理装置で実行が開始されたジョブを識別するためのジョブＩＤを前記Ｗｅｂサーバに通知する通知工程と、
前記表示制御手段が、前記通知工程における前記ジョブＩＤの通知に応じて、前記Ｗｅｂサーバから、前記画像処理装置で実行中の前記ジョブに関連する操作画面の画面情報を、実行中の前記ジョブに対応する前記ジョブＩＤとともに受信する受信工程と、
前記表示制御手段が、前記ジョブの実行中に、前記受信された画面情報に基づいて表示した操作画面を介して当該ジョブに関連する指示が入力されると、所定の条件が満たされたか否かを判定する判定工程と、
前記表示制御手段が、前記判定工程において前記所定の条件が満たされていないと判定された場合には、前記ジョブＩＤに対応する前記ジョブの実行を、前記Ｗｅｂサーバから受信される実行要求に従って前記実行制御手段が制御するように、前記入力された指示を前記Ｗｅｂサーバに送信し、前記判定工程において前記所定の条件が満たされたと判定された場合には、前記ジョブＩＤに対応する前記ジョブの実行を、前記Ｗｅｂサーバを介すことなく前記入力された指示に従って前記実行制御手段が制御するように前記実行制御手段に指示する指示工程と
を含むことを特徴とする画像処理装置の制御方法。
【請求項１０】
請求項９に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサーバを介して画面更新を行う画像処理装置およびその制御方法に関する。
【背景技術】
【０００２】
画像処理装置は、コピー、プリンタ、ファクシミリといった複数の機能を持ち、それぞれの機能に対応するアプリケーションを切り替えて使用することで、何れかの機能を動作させる。近年、このような画像処理装置の操作パネルには、Ｗｅｂブラウザが搭載されるようになってきた。例えば、特許文献１では、ネットワークを介して接続されたＷｅｂサーバから画像処理装置の操作用のＷｅｂページが提供され、このＷｅｂページをＷｅｂブラウザによって表示することで画像処理装置の操作を行うことが提案されている。
【０００３】
また特許文献２では、画像処理装置とＷｅｂサーバとの間のネットワークにおける通信の負荷を軽減させる方法として、画面フロー制御スクリプトが含まれる画面表示形式データを画像処理装置がサーバ側から取得し、このスクリプトを実行する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２０３８６９号公報
【特許文献２】特開２００８−００３８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、このような画像処理装置およびＷｅｂサーバを含むシステムは、当該画像処理装置の各操作に対応する処理を、できるだけＷｅｂサーバを介して実行するように構成される。なぜなら、画像処理の実体をＷｅｂサーバに実装することによって、個々の画像処理装置への組み込みアプリケーションのインストールやそのアップデートに要する手間を省くことができるからである。また、個々の画像処理装置の操作に対応する処理のログを、Ｗｅｂサーバ上で集中的に管理することが容易になるからである。しかしながら一方では、即時性を必要とする処理に関しては、なるべくＷｅｂサーバを介さずに個々の画像処理装置において実行したいという要望もある。例えば、Ｗｅｂサーバからの指示に基づいてジョブを実行している間に、即時性を必要とする処理として、当該ジョブを中止する処理を実行する場合に、Ｗｅｂサーバを介すると、当該ジョブを中止するまでに時間がかかってしまうという課題がある。
【０００６】
本発明は、Ｗｅｂサーバを介してジョブを実行する画像処理装置において、即時性が要求される場合には、Ｗｅｂサーバを介さずにそのジョブの実行を制御する技術を提供する。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明は、例えば画像処理装置として実現できる。画像処理装置は、操作画面を表示するための画面情報を画像処理装置に提供し、かつ、当該操作画面を介して入力された入力情報に対応する処理の実行要求を当該画像処理装置に送信するＷｅｂサーバ、と通信可能な画像処理装置であって、前記Ｗｅｂサーバから提供される画面情報に基づく操作画面を表示して、当該操作画面を介して入力された入力情報を前記Ｗｅｂサーバに送信する表示制御手段と、前記表示制御手段が前記Ｗｅｂサーバに送信した入力情報に対応する処理の実行要求を前記Ｗｅｂサーバから受信すると、当該実行要求に従ったジョブを実行するとともに、前記画像処理装置で実行が開始された当該ジョブを識別するためのジョブＩＤを前記Ｗｅｂサーバに通知する実行制御手段と、を備え、前記表示制御手段は、前記実行制御手段による前記ジョブＩＤの通知に応じて、前記Ｗｅｂサーバから、前記画像処理装置で実行中の前記ジョブに関連する操作画面の画面情報を、実行中の前記ジョブに対応する前記ジョブＩＤとともに受信する受信手段と、前記ジョブの実行中に、前記受信された画面情報に基づいて表示した操作画面を介して当該ジョブに関連する指示が入力されると、所定の条件が満たされたか否かを判定する判定手段と、前記判定手段によって前記所定の条件が満たされていないと判定された場合には、前記ジョブＩＤに対応する前記ジョブの実行を、前記Ｗｅｂサーバから受信される実行要求に従って前記実行制御手段が制御するように、前記入力された指示を前記Ｗｅｂサーバに送信し、前記判定手段によって前記所定の条件が満たされたと判定された場合には、前記ジョブＩＤに対応する前記ジョブの実行を、前記Ｗｅｂサーバを介すことなく前記入力された指示に従って前記実行制御手段が制御するように前記実行制御手段に指示する指示手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、Ｗｅｂサーバを介してジョブを実行する画像処理装置において、即時性が要求される場合には、Ｗｅｂサーバを介さずにそのジョブの実行を制御することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る画像処理装置（デバイス１０）の構成を示すブロック図。
【図２】実施形態１に係る画像処理システムの構成を示す図。
【図３】Ｗｅｂブラウザ２０３とサービスプロバイダ２０４とＷｅｂサーバ２０１との間の信号の流れを示す図。
【図４】デバイス１０とＷｅｂサーバ２０１との間で通信が確立されなかった場合の、Ｗｅｂブラウザ２０３とサービスプロバイダ２０４とＷｅｂサーバ２０１との間の信号の流れを示す図。
【図５】Ｗｅｂサーバ２０１を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。
【図６】ＤＯＭを利用する場合に、Ｗｅｂサーバ２０１を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。
【図７】XMLHttpRequestを利用する場合に、Ｗｅｂサーバ２０１を介さずにプリントジョブを中止する仕組みの概要を示す図（７００Ａおよび７００Ｂ）と、実行される動作の手順を示すフローチャートである。
【図８】プリント中止指示のレスポンスを転送する場合に、Ｗｅｂサーバ２０１を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
＜実施形態１＞
図１は、本実施形態におけるデバイス（画像処理装置）１０の構成を示すブロック図である。本実施形態では、画像処理装置の一例として、コピー機能、プリント機能、ファクシミリ機能を有するデジタル複合機からなるデバイスについて説明する。
【００１１】
図１に示すように、デバイス１０は、コントローラユニット１００、操作部１１２、スキャナ１７０およびプリンタ１９５を備える。コントローラユニット１００は、装置全体の制御を行うとともに、画像情報やデバイス情報の入出力に関する制御を行う。コントローラユニット１００には、画像入力デバイスであるスキャナ１７０および画像出力デバイスであるプリンタ１９５が接続される。また、デバイス１０は、ネットワークインタフェース（Ｉ／Ｆ）１１０およびＭＯＤＥＭ１５０をそれぞれ介して、ＬＡＮ１１１および公衆回線（ＷＡＮ）１５１に接続されている。このデバイス１０は、コピー機能と、プリンタ機能と、ファクシミリ機能のような通信機能とを有する複合装置である。デバイス１０は、プリンタ機能によって、ＬＡＮ１１１を介して外部から供給されるデータをプリント出力する。デバイス１０はまた、通信機能によって、公衆回線（ＷＡＮ）１５１を介してファクシミリ送信を行う。
【００１２】
コントローラユニット１００はＣＰＵ１０１を備え、ＣＰＵ１０１は、ＲＯＭ１０３に格納されているブートプログラムに基づきシステムを起動する。また、ＣＰＵ１０１は、起動したシステム上でＨＤＤ（ハードディスク装置）１０４に格納されている各種制御プログラムを読み出してＲＡＭ１０２に展開し、ＲＡＭ１０２をワークエリアとして所定の処理を実行する。ＨＤＤ１０４またはＲＯＭ１０３には、コントローラユニット１００内の動作を実行するための各種プログラムが格納されるとともに、画像データが格納される。
【００１３】
ＣＰＵ１０１は、イメージバスＩ／Ｆ１０５とシステムバス１０７と画像バス１０８とを介して、各機能部との通信を行う。ＲＡＭ１０２は、ＣＰＵ１０１が行う処理のためのデータを一時的に格納するために主に用いられる。
【００１４】
操作部Ｉ／Ｆ１０６は、コントローラユニット１００（ＣＰＵ１０１）と操作部１１２とのインタフェースである。操作部Ｉ／Ｆ１０６は、操作部１１２に表示する画像データの操作部１１２への転送や、操作部１１２における操作入力により発生した信号のＣＰＵ１０１への転送などを行う。操作部１１２は、画像形成に関する各機能についての現在の設定状態や、各機能に関する設定情報を入力するための画面などを表示するための表示部と、各機能に対する設定情報を入力するキーなどを含む入力部とを有する。なお、後述するように、操作部１１２の表示部には、Ｗｅｂブラウザ２０３によって、Ｗｅｂサーバ２０１から提供される画面情報に基づく操作画面も表示される。
【００１５】
ネットワークＩ／Ｆ１１０は、ＬＡＮ１１１に接続され、ＬＡＮ１１１を介した情報の入出力を行う。モデム１５０は、公衆回線（ＷＡＮ）１５１に接続され、公衆回線１５１を介した情報の入出力を行う。また、イメージバスＩ／Ｆ１０５は、画像バス１０８とシステムバス１０７とを接続するインタフェースであり、当該インタフェースを介してやりとりされるデータのデータ構造を変換するバスブリッジからなる。
【００１６】
画像バス１０８は、画像データを高速で転送可能なＰＣＩバスまたはＩＥＥＥ１３９４規格に従うバスから構成される。画像バス１０８には、ＲＩＰ（ラスタイメージプロセッサ）１６０、デバイスＩ／Ｆ１２０、スキャナ画像処理部１８０、プリンタ画像処理部１９０、画像回転部１３０および画像圧縮部１４０などが接続されている。
【００１７】
ＲＩＰ１６０は、ＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ１２０は、スキャナ１７０及びプリンタ１９５とコントローラユニット１００とを接続するインタフェースであり、当該インタフェースを介してやりとりされる画像データの同期系/非同期系の変換を行う。
【００１８】
スキャナ画像処理部１８０は、入力画像データに対し補正、加工、編集を行う。また、プリンタ画像処理部１９０は、プリント出力用の画像データに対して、プリンタに対応した補正、解像度変換などを行う。画像回転部１３０は、画像データの回転処理を行う。画像圧縮部１４０は、多値画像データに対してはＪＰＥＧ、２値画像データに対してはＪＢＩＧ、ＭＭＲ、ＭＨなどの圧縮・伸張処理を行う。
【００１９】
このように、コントローラユニット１００のＣＰＵ１０１は、各制御プログラムに基づき、システムバス１０７に接続される各種デバイス間のアクセスを総括的に制御する。例えば、ＣＰＵ１０１は、コピー機能を実行する場合、デバイスＩ／Ｆ１２０を介してスキャナ１７０から画像情報を読み込み、当該画像情報に対して所定の処理を施した後、当該画像情報をデバイスＩ／Ｆ１２０を介してプリンタ１９５に出力する制御を行う。
【００２０】
デバイス１０のコントローラユニット１００は、ＬＡＮやシリアルケーブル等任意の通信手段を介して情報端末装置と接続される。この情報端末装置は、例えば、デバイス１０の設定データをバックアップするために利用される。情報端末装置からのバックアップ指示により、デバイス１０中の設定データが情報端末装置に蓄積され、リストア指示により情報端末装置中に蓄積された該設定データがデバイス１０に反映される。ここで、情報端末装置からデバイス１０に対する指示の方法としては、特に限定しない。例えば、デバイス１０側から情報端末装置に対し、指示を入力可能な操作画面を表示させるためのＨＴＭＬデータを送信し、当該ＨＴＭＬデータに基づいて情報端末装置側のＷｅｂブラウザで操作画面を表示してもよい。この場合、情報端末装置は、表示した操作画面を介した入力に基づいてデバイス１０に指示を与える。あるいは、情報端末装置は、専用のアプリケーションを用いてデバイス１０に指示を与えてもよい。
【００２１】
図２は、本実施形態におけるシステムの構成を示す図である。Ｗｅｂサーバ２０１とデバイス（画像処理装置）１０は、ＬＡＮおよび公衆回線（ＷＡＮ）の少なくとも１つを介して、通信可能に接続されている。ここで、デバイス１０は、図１に示すコントロールユニット１００、操作部１１２、スキャナ１７０およびプリンタ１９５を含んでいる。デバイス１０は、さらに、デバイス組込みのＷｅｂブラウザ２０３と、デバイス１０が備える各機能を実現するための処理を実行するサービスプロバイダ２０４とを含む。Ｗｅｂブラウザ２０３は、操作部１１２（の表示部）に表示する操作画面の画面情報をＷｅｂサーバ２０１に対して要求し、Ｗｅｂサーバ２０１から受信したＨＴＭＬファイル等の画面情報に基づく操作画面を操作部１１２に表示する表示制御を行う。なお、Ｗｅｂブラウザ２０３およびサービスプロバイダ２０４は、それぞれ、表示制御部および実行制御部の一例である。
【００２２】
また、Ｗｅｂブラウザ２０３は、表示した操作画面を介してユーザによって入力された指示（入力情報）を、Ｗｅｂサーバ２０１に対して送信（通知）する。Ｗｅｂサーバ２０１は、Ｗｅｂブラウザ２０３からの指示を受信すると、Ｗｅｂブラウザ２０３に対して、当該指示に対応する操作画面の画面情報を送信する。その際、Ｗｅｂサーバ２０１は、受信した指示に対応する処理をデバイス１０に実行させる必要がある場合には、当該指示に対応する処理の実行要求を、デバイス１０中のサービスプロバイダ２０４に対して送信する。サービスプロバイダ２０４は、Ｗｅｂサーバ２０１から実行要求を受信すると、当該実行要求に従った処理を含むジョブを生成し、生成したジョブを実行する。さらに、サービスプロバイダ２０４は、Ｗｅｂサーバ２０１に対し、処理の実行結果を送信する。
【００２３】
図３は、Ｗｅｂブラウザ２０３とデバイス１０内のサービスプロバイダ２０４とＷｅｂサーバ２０１との間の信号の流れを示す図である。まずＳ３０２において、Ｗｅｂブラウザ２０３が表示した操作画面を介してプリントを開始する操作が行われると、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１に対して、プリントの開始が指示されたことを示すプリント開始指示を、当該操作画面を介した入力情報として送信する。
【００２４】
Ｓ３０４において、Ｗｅｂサーバ２０１は、Ｗｅｂブラウザ２０３からプリント開始指示を受信すると、デバイス１０のサービスプロバイダ２０４に対して、プリントの実行要求に相当するプリント実行指示（以下、「プリント指示」）を送信する。このように、Ｗｅｂサーバ２０１は、Ｗｅｂブラウザ２０３によって表示された操作画面を介した入力情報に対応する処理の実行要求を、サービスプロバイダ２０４に送信する。これによりサービスプロバイダ２０４は、プリント指示に従ったジョブ（プリントジョブ）を生成し、生成したジョブの実行を開始する。サービスプロバイダ２０４は、Ｓ３０６において、ジョブの実行を開始すると当該ジョブを識別するためのジョブＩＤを発行し、Ｗｅｂサーバ２０１に対し、発行したジョブＩＤを通知する。
【００２５】
Ｓ３０８において、Ｗｅｂサーバ２０１は、ジョブＩＤが通知されると、Ｗｅｂブラウザ２０３に対して、ジョブＩＤの情報を含んだ「プリント中画面」を表示させるための画面情報を送信する。ここで、プリント中画面とは、プリントの実行中であることを表示するための画面であり、実行中のジョブに関連する操作画面の一例である。プリント中画面の画面情報を受信すると、Ｗｅｂブラウザ２０３は、受信した画面情報に基づくプリント中画面を、プリントの実行中に表示する。なお、このプリント中画面には、プリントジョブの実行の中止を指示するための「中止」ボタンが含まれている。
【００２６】
プリント中画面の表示を行っている間に、Ｓ３１０において、「中止」ボタンがユーザによって押下されると、Ｗｅｂブラウザ２０３は、以下で説明する処理を実行する。
【００２７】
ここで、プリントの中止が指示された場合には、実行中のプリントジョブは、一般に、即時に中止される必要がある。即ち、プリント中止指示は、即時に実行すべき処理に関する指示であり、即時に実行すべき（即時性が必要とされる）処理として予め定められた処理に関する、特定の指示の一例に相当する。このような指示をデバイス１０がＷｅｂサーバ２０１に通知し、Ｗｅｂサーバ２０１から当該指示に対応する実行要求を受信する場合、ネットワーク遅延等に起因して、サービスプロバイダ２０４が当該指示に従った処理を実行するまでの時間が長くなってしまう可能性がある。
【００２８】
そこで、図３に示す実施形態では、Ｗｅｂブラウザ２０３は、ジョブの実行中に、操作画面を介してジョブに関連する指示が入力されると、当該指示が、実行中のジョブに関連する特定の指示、即ち、即時に実行すべき指示であるか否かを判定する。さらに、Ｗｅｂブラウザ２０３は、当該判定の結果、当該指示が即時に実行すべき指示であると判定したことに応じて、当該指示をＷｅｂサーバ２０１に通知することなく、サービスプロバイダ２０４に通知する。具体的には、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１から受信したジョブＩＤに対応するジョブの実行を、当該指示に従って制御するように、Ｗｅｂサーバ２０１を介すことなくサービスプロバイダ２０４に指示する。
【００２９】
具体的には、Ｓ３１０で、Ｗｅｂブラウザ２０３は、サービスプロバイダ２０４に対し、実行を中止すべきジョブのジョブＩＤとプリント中止指示とを送信する。プリント中止指示を受信すると、サービスプロバイダ２０４は、ジョブＩＤに対応するプリント中のジョブの実行を中止する。
【００３０】
Ｗｅｂブラウザ２０３は、Ｓ３１０においてサービスプロバイダ２０４に対しプリント中止指示を送信した後、Ｓ３１２において、Ｗｅｂサーバ２０１に対し、ジョブの実行を中止したことを示す情報（ジョブ中止情報）を送信する。このようにして、Ｗｅｂブラウザ２０３は、Ｓ３１０における指示に従ってサービスプロバイダ２０４がジョブの実行を制御したことを、Ｗｅｂサーバ２０１に報告する。Ｓ３１４において、Ｗｅｂサーバ２０１は、ジョブ中止情報を報告として受信すると、受信した情報をログとして保存するとともに、Ｗｅｂブラウザ２０３に対して応答を返す。なお、Ｓ３１２において、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１との間で通信を確立できない場合には、後述する図４の Ｓ４１４と同様、Ｗｅｂサーバ２０１との間で通信を確立できるまで、報告を繰り返してもよい。
【００３１】
以上のように、サービスプロバイダ２０４によるジョブの実行中に、Ｗｅｂブラウザ２０３は、ジョブに関連する操作画面を介して入力された指示が特定の指示である場合には、Ｗｅｂサーバ２０１を介すことなく、サービスプロバイダ２０４に、当該指示に従ってジョブの制御を行うように指示する。これにより、表示中の操作画面を介して指示が入力された際に、即時性が要求される場合には、必要に応じてＷｅｂサーバ２０１を介さずにジョブの実行を制御可能となる。なお、上記の特定の指示は、即時に実行すべき処理として予め定められた処理に関する指示であればよい。ユーザは、即時に実行すべきと判断した任意の処理を、当該特定の処理として、デバイス１０（Ｗｅｂブラウザ２０３）又はＷｅｂサーバ２０１に予め設定しておけばよい。当該特定の指示が、後述するように、Ｗｅｂサーバ２０１において予め設定される場合には、画面情報に付加されてＷｅｂブラウザ２０３に通知されてもよい。
【００３２】
次に、図４は、図３で説明した処理の変形例に相当する処理が実行される場合に、装置間でやりとりされる信号の流れを示す図である。同図では、Ｗｅｂブラウザ２０３が、操作画面（プリント中画面）の表示中に、当該操作画面を介して指示（プリント中止指示）が入力されると、図３のＳ３１０と異なり、当該指示をまずはＷｅｂサーバ２０１に送信する。その際、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１との間で通信が確立されず、当該指示がＷｅｂサーバ２０１に届かないと判定した場合には、Ｗｅｂサーバ２０１を介すことなく、サービスプロバイダ２０４に送る。このように、入力された指示が、ネットワーク遅延等に起因して、Ｗｅｂサーバ２０１に届かない場合には、当該指示に従ったジョブの制御が開始されるまでに多くの時間がかかるおそれがある。その場合、Ｗｅｂブラウザ２０３は、当該指示を即時に実行すべきと判断して、図４に示すように、Ｗｅｂサーバ２０１を介すことなく、サービスプロバイダ２０４に、当該指示に従ってジョブを制御させる。なお、Ｓ４０２からＳ４０８までは、図３のＳ３０２からＳ３０８までと同様であるので、以下では可能な限り説明を省略する。
【００３３】
Ｓ４０８で、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１からプリント中画面の画面情報を受信すると、受信した画面情報に基づくプリント中画面を、プリントの実行中に表示する。Ｓ４１０で、プリント中画面の表示中に、ユーザによって「中止」ボタンが押下されると、Ｗｅｂブラウザ２０３は、まず、Ｗｅｂサーバ２０１に対し、実行を中止すべきジョブのジョブＩＤとプリント中止指示とを送信する。ただし、図４では、Ｓ４１０においてＷｅｂブラウザ２０３とＷｅｂサーバ２０１との間で通信が確立できず、ジョブＩＤ及びプリント中止指示がＷｅｂサーバ２０１に届かないと仮定する。
【００３４】
Ｗｅｂブラウザ２０３は、ジョブＩＤ及びプリント中止指示をＷｅｂサーバ２０１に送信した際に、Ｗｅｂサーバ２０１との間で通信が確立されず、それらの情報がＷｅｂサーバ２０１に届かないと判定すると、以下の処理を実行する。即ち、Ｗｅｂブラウザ２０３は、プリント中止指示を、Ｗｅｂサーバ２０１を介すことなく即時に実行すべき指示であると判定すると、当該指示に従ったジョブの制御を、Ｗｅｂサーバ２０１を介すことなくサービスプロバイダ２０４に実行させる。具体的には、Ｓ４１２で、サービスプロバイダ２０４に対し、実行を中止すべきジョブのジョブＩＤとプリント中止指示とを送信する。プリント中止指示を受信すると、サービスプロバイダ２０４は、ジョブＩＤに対応するプリント中のジョブの実行を中止する。
【００３５】
サービスプロバイダ２０４に対しプリント中止指示を送信した後、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１に対し、ジョブ中止情報を報告として送信する。ここで、Ｗｅｂサーバ２０１との通信が確立できない場合は、Ｓ４１４で、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１との通信が確立できるまで、ジョブ中止情報の送信を繰り返す。これにより、Ｗｅｂブラウザ２０３は、当該報告が確実にＷｅｂサーバ２０１に届くようにする。
【００３６】
Ｓ４１６で、Ｗｅｂブラウザ２０３とＷｅｂサーバ２０１との間の通信の確立（回復）後、Ｗｅｂサーバ２０１は、ジョブ中止情報を受信する。その結果、Ｗｅｂサーバ２０１は、ジョブ中止情報をログとして保存するとともに、Ｓ４１８で、Ｗｅｂブラウザ２０３に対して応答を返す。
【００３７】
以上のように、デバイス（画像処理装置）１０のＷｅｂブラウザ２０３は、実行中のジョブに関連する操作画面を介して指示が入力されると、所定の条件が満足されたか否かを判定する。ここで、所定の条件とは、例えば、当該指示が特定の指示であること（図３）、又は、当該指示をＷｅｂサーバ２０１に送信する際に、Ｗｅｂブラウザ２０３とＷｅｂサーバ２０１との間で通信が確立されず、当該指示がＷｅｂサーバ２０１に届かないということ（図４）、であればよい。即ち、本実施形態において、所定の条件は、操作画面を介して入力された指示を即時に実行すべきと判定する際の基準として使用される。これにより、即時性が要求される場合には、Ｗｅｂサーバ２０１を介すことなく、当該指示に従ってジョブの実行を迅速に制御することが可能となる。
【００３８】
次に、Ｗｅｂブラウザ２０３からＷｅｂサーバ２０１を介さずにプリントジョブの中止を行う場合を例として、上述の処理についてより具体的に説明する。図５（Ａ）及び（Ｂ）は、Ｗｅｂサーバ２０１を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。スクリプト５００Ａは、図５（Ｂ）のフローチャートに示す動作に用いられるスクリプトの概念を示す。
【００３９】
ここで、Ｗｅｂブラウザ２０３がＷｅｂサーバ２０１から受信する画面情報には、特定のＩＤが付加されたボタン５００Ｂの情報が含まれている場合を想定する。このボタン５００Ｂの情報は、即時性が要求される処理に関する特定の指示に相当するジョブの中止指示を入力するためのボタンを操作画面内に表示する際に使用される。このように、図５（Ａ）及び（Ｂ）に示す例では、当該特定の指示は、画面情報に付加されてＷｅｂブラウザ２０３に通知される。ジョブの実行中に、操作画面に含まれるボタン５００Ｂが押下されると、Ｗｅｂブラウザ２０３は、直接サービスプロバイダ２０４に対しジョブの中止指示を送る。本例では、このような動作を行うように、予めＷｅｂブラウザ２０３に対して設定がなされているものと仮定する。なお、Ｗｅｂサーバ２０１は、Ｗｅｂブラウザ２０３に送信する画面情報に、サービスプロバイダ２０４において実行中のジョブのジョブＩＤをも含めておく。Ｗｅｂブラウザ２０３は、受信した画面情報に含まれるジョブＩＤを、ジョブの中止指示とともにサービスプロバイダ２０４に送る。
【００４０】
まずＷｅｂブラウザ２０３に表示される画面を用いて、ユーザがプリント開始操作を行うと、Ｓ５０２で、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１に対しプリント開始指示を送信する。Ｗｅｂサーバ２０１は、プリント開始指示を受信すると、Ｓ５０４で、サービスプロバイダ２０４に対してプリント指示を送信する。
【００４１】
Ｓ５０６で、サービスプロバイダ２０４は、Ｗｅｂサーバ２０１からプリント指示を受信すると、受信した指示に従った処理を実行するためのプリントジョブを生成し、生成したプリントジョブに基づいてプリントを開始する。なお、サービスプロバイダ２０４は、プリントジョブを生成する際に、生成したジョブを識別するためのジョブＩＤを発行する。Ｓ５０８で、サービスプロバイダ２０４は、プリントジョブのジョブＩＤをＷｅｂサーバ２０１に対し送信する。Ｓ５１０で、Ｗｅｂサーバ２０１は、プリントジョブのジョブＩＤをサービスプロバイダ２０４から受信すると、ジョブＩＤを含むプリント中画面を表示するための画面情報（スクリプト５００Ａ）をＷｅｂブラウザ２０３に送信する。
【００４２】
Ｓ５１２で、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１から画面情報を受信すると、プリント中であることを示す画面表示を行う。ここでは、ジョブＩＤの通知方法の一例として、図５（Ａ）に示すように、ジョブＩＤをhidden要素として画面情報（スクリプト５００Ａ）に付与することで、Ｗｅｂサーバ２０１からＷｅｂブラウザ２０３にジョブＩＤを通知する方法を想定している。
【００４３】
Ｓ５１４で、Ｗｅｂブラウザ２０３は、プリント中画面の表示中に、プリントジョブの実行を中止すべきことを指示するためのプリント中止ボタン５００Ｂがユーザによって押下されたか否かを判定する。Ｗｅｂブラウザ２０３は、プリント中止ボタン５００Ｂが押下されなかった場合には、プリントが終了するまでその画面を表示し続ける。
【００４４】
一方で、プリント中止ボタンが押下された場合は、Ｓ５１６で、Ｗｅｂブラウザ２０３は、プリント中画面に対応する画面情報から、実行中のプリントジョブのジョブＩＤを取得する（Ｆ１）。そしてＳ５１８で、Ｗｅｂブラウザ２０３は、サービスプロバイダ２０４に対し、取得したジョブＩＤを含むプリント中止指示を送信する（Ｆ２）。サービスプロバイダ２０４は、Ｓ５２０で、プリント中止指示を受信すると、Ｓ５２２で、当該指示に含まれるジョブＩＤに基づいて特定される、プリント中のジョブの実行を中止する。その際、サービスプロバイダ２０４は、プリント中止指示に基づいてジョブの実行を中止したことを、Ｗｅｂブラウザ２０３に通知する（Ｆ３）。
【００４５】
ここで、画面情報に相当するスクリプト５００Ａには、プリント中画面の情報に対応する＜form＞タグのaction属性に、プリントを中止したことをＷｅｂサーバ２０１に報告する処理を実行するために必要なＵＲＬを予め指定しておく。これにより、Ｓ５２４で、Ｗｅｂブラウザ２０３は、プリント中止ボタン５００Ｂの押下に応じたプリントジョブ中止指示（Ｓ５２２）とともに、Ｗｅｂサーバ２０１に対してプリント中止の報告処理を行う（Ｆ４）。
【００４６】
このように、図５（Ａ）及び（Ｂ）によれば、Ｗｅｂサーバ２０１から受信した画面情報の中に、特定のＩＤが付加されたボタン５００Ｂの情報が含まれる。当該情報に基づいて表示したボタンが押下されると、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１を介さず、直接サービスプロバイダ２０４に対しジョブの中止指示を行うことが可能となる。これにより、即時性が要求される処理を、Ｗｅｂサーバ２０１を介すことなく迅速に実行することが可能となる。
【００４７】
＜実施形態２＞
図６（Ａ）及び図６（Ｂ）は、実施形態２に係る、Ｄｏｃｕｍｅｎｔ Ｏｂｊｅｃｔ Ｍｏｄｅｌ（以下「ＤＯＭ」と呼ぶ）を利用する場合に、Ｗｅｂサーバ２０１を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。ＨＴＭＬなどのマークアップ言語で記述された文書の構造をオブジェクトとして扱うためのオブジェクトモデルとしてＤＯＭがある。ＤＯＭは、文書の論理的構造、文書へのアクセス、および操作の方法を定義しており、例えば、デバイスオブジェクト（device object）は、属性printerを持ち、この属性はプリンタ部クラスのインスタンスを参照する。
【００４８】
この方法を用いることで、装置オブジェクトモデルのインタフェースを介して、スクリプトに基づいて装置やジョブを制御することができる。また、ＨＴＭＬ文書に組み込まれたスクリプトによってＤＯＭと装置オブジェクトモデルに対する操作を組み合わせることで、装置制御のユーザインターフェースをＨＴＭＬとスクリプト６００Ａにより記述することができる。
【００４９】
本実施形態では、Ｗｅｂブラウザ２０３が表示している「中止」ボタン６００Ｂが押下されると、デバイスオブジェクトからprinterオブジェクトをたどることで、printerオブジェクトのJobStop関数が実行される。そしてそれとともに、Ｗｅｂサーバ２０１に対してプリント中止の報告処理が行われる。
【００５０】
以下では、Ｓ６０２からＳ６１２は図５（Ｂ）のＳ５０２からＳ５１２と同様であるので、説明を省略する。Ｗｅｂブラウザ２０３は、Ｓ６１２でプリント中画面の表示を開始すると、Ｓ６１４で、当該プリント中画面の表示中にユーザによりプリント中止ボタン６００Ｂが押下されたか否かを判定する。ここでプリント中止ボタン６００Ｂが押下されなかった場合には、Ｗｅｂブラウザ２０３は、プリントが終了するまでその画面を表示し続ける。
【００５１】
一方で、Ｓ６１４においてプリント中止ボタン６００Ｂが押下された場合には、Ｓ６１６で、Ｗｅｂブラウザ２０３は、プリント中画面に対応する画面情報に、プリント中止ボタン６００Ｂの押下時の実行すべきイベント処理があるか否かを判定する。プリント中止ボタン６００Ｂの押下時に実行すべきイベント処理があると判定した場合に、Ｓ６１８で、Ｗｅｂブラウザ２０３は、当該イベント処理を実行する。本実施形態では、Ｗｅｂブラウザ２０３は、図６（Ａ）のスクリプト６００Ａに含まれる、printerオブジェクトのジョブ中止用関数を実行する。さらに、Ｓ６２０で、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１に対してプリント中止の報告処理を行う。
【００５２】
＜実施形態３＞
Java（登録商標）スクリプトまたはＥＣＭＡスクリプトなどのウェブブラウザ搭載のスクリプト言語で、サーバとのＨＴＴＰ通信を行うための組み込みオブジェクト（ＡＰＩ）としてXMLHttpRequestオブジェクトがある。実施形態３では、このXMLHttpRequestオブジェクトを利用して、既に読み込んだページからさらにHTTPリクエストを発行する例を説明する。
【００５３】
図７（Ａ）、（Ｂ）及び（Ｃ）は、実施形態３に係る、XMLHttpRequestを利用する場合に、Ｗｅｂサーバ２０１を介さずにプリントジョブを中止する仕組みの概要を示す図（７００Ａおよび７００Ｂ）と、実行される動作の手順を示すフローチャートである。ここで、図７（Ａ）は、XMLHttpRequestを含むスクリプト７００Ａの基本的な例を示す。図７（Ａ）のスクリプト７００Ａに基づいて、本実施形態では、まずＷｅｂブラウザ２０３毎にXMLHttpRequestオブジェクトが生成される。また、スクリプト７００Ａでは、XMLHttpRequestに対するサーバからの応答を受け取った後に何をするかを指定するために、onreadystatechangeプロパティに関数ckeck()が設定されている。
【００５４】
次に、スクリプト７００Ａによれば、XMLHttpRequestオブジェクトのopen()メソッドでリクエストが作成され、send()メソッドでリクエストが送信される。onreadystatechangeで指定された関数では、まずreadyState、statusのプロパティの値より、リクエストの処理状態と通信のエラーとが調べられる。正常にレスポンスが返ってきた際は、リクエストの処理状態と通信のエラーとについての判断を行うif文中に記載されているコールバック関数が実行される。
【００５５】
本実施形態では、Ｗｅｂブラウザ２０３は、openメソッドでローカルループバックアドレスに対してジョブの中止処理要求を行い、レスポンスが返ってきた際の処理として、Ｗｅｂサーバ２０１への中止報告処理を行っている。なお、クロスドメインで通信する方法に関してはここでは特に限定しない。
【００５６】
次に、図７（Ｂ）のＨＴＭＬスクリプト７００Ｂは、ジョブの中止処理と中止の報告処理とを実行するためのスクリプトを含むＨＴＭＬスクリプトの一例である。Ｗｅｂブラウザ２０３が表示している中止ボタン７００Ｃが押下された際に実行される処理は、ＨＴＭＬスクリプト７００Ｂに含まれる、ジョブの中止処理と中止の報告処理とに関するスクリプトに従って実行される。
【００５７】
以下では、Ｓ７０２からＳ７１２は図５（Ｂ）のＳ５０２からＳ５１２と同様であるので、説明を省略する。Ｗｅｂブラウザ２０３は、Ｓ７１２でプリント中画面を表示すると、Ｓ７１４で、プリント中画面の表示中にユーザによりプリント中止ボタン７００Ｃが押下されたか否かを判定する。ここでプリント中止ボタン７００Ｃが押下されなかった場合には、Ｗｅｂブラウザ２０３は、プリントが終了するまでその画面を表示し続ける。
【００５８】
一方で、Ｓ７１４でプリント中止ボタン７００Ｃが押下された場合には、Ｗｅｂブラウザ２０３は、Ｓ７１６で、プリント中止ボタン７００Ｃの押下時の処理があるか否かを判定する。Ｗｅｂブラウザ２０３は、プリント中止ボタン７００Ｃの押下時の処理があると判定した場合には、以下で説明する処理を実行する。ここでは、Ｓ７１８で、Ｗｅｂブラウザ２０３は、ローカルループバックアドレスに対し、ジョブを中止すべきことを示すリクエストを送信する。ローカルループバックアドレスに対して送信されたリクエストがサービスプロバイダ２０４で受信されると、サービスプロバイダ２０４は、Ｓ７２０で、ジョブの中止処理を実行する。
【００５９】
その後、Ｓ７２２で、Ｗｅｂブラウザ２０３は、Ｓ７１８におけるジョブ中止リクエストを送信後の、当該リクエストの処理状態と通信のエラーとについて確認する。Ｓ７２４で、Ｗｅｂブラウザ２０３は、Ｓ７２２での確認結果に基づいて、当該リクエストに対して正常にレスポンスが返ってきたか否かを判定する。Ｗｅｂブラウザ２０３は、正常にレスポンスが返ってきていないと判定した場合には、Ｓ７２２およびＳ７２４の処理を繰り返す。一方で、Ｗｅｂブラウザ２０３は、正常にレスポンスが返ってきたと判定した場合には、Ｓ７２６で、コールバック関数に指定している中止報告処理用の関数を実行する。これにより、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１に対してプリントジョブの中止について報告する。
【００６０】
本実施形態によれば、即時性が求められる処理に関して、Ｗｅｂサーバ２０１を介さずに指示を行うことができるので、ネットワーク遅延の影響を受けず、所望の処理をすみやかに実行することが可能となる。
【００６１】
＜実施形態４＞
図８（Ａ）及び（Ｂ）は、実施形態４に係る、プリント中止指示に対するレスポンスをＷｅｂサーバ２０１側に転送する場合に、Ｗｅｂサーバ２０１を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。本実施形態において、Ｗｅｂブラウザ２０３は、プリントジョブの中止ボタン８００Ｂが押下されると、サービスプロバイダ２０４に対し、プリント中止指示を含むリクエストを送信する。サービスプロバイダ２０４は、プリント中止指示を含むリクエストを受信すると、プリントジョブの実行を中止し、Ｗｅｂブラウザ２０３に対して、プリントジョブの実行を中止したことを通知するためのレスポンスを送信する。本実施形態では、サービスプロバイダ２０４が、このレスポンスにＷｅｂサーバ２０１への転送指示を含める。これにより、Ｗｅｂブラウザ２０３からＷｅｂサーバ２０１に対し、プリント中止の報告処理が行われる。なお、以上の動作は、スクリプト８００Ａに記載されている。また、Ｓ８０２からＳ８１２は、図５（Ｂ）のＳ５０２からＳ５１２と同様であるので、ここでは説明を省略する。
【００６２】
Ｗｅｂブラウザ２０３は、Ｓ８１２でプリント中画面を表示すると、Ｓ８１４で、プリント中画面の表示中にユーザによりプリント中止ボタン８００Ｂが押下されたか否かを判断する。ここでプリント中止ボタン８００Ｂが押下されなかった場合には、Ｗｅｂブラウザ２０３は、プリントが終了するまでその画面を表示し続ける。
【００６３】
一方で、Ｓ８１４でプリント中止ボタン８００Ｂが押下された場合には、Ｗｅｂブラウザ２０３は、Ｓ８１６で、サービスプロバイダ２０４に対してプリント中止指示を含むリクエストを送信する。プリント中止指示を含むリクエストを受信したサービスプロバイダ２０４は、Ｓ８１８で、当該指示に従ってプリントジョブの実行を中止する処理を行う。その後、Ｓ８２０で、サービスプロバイダ２０４は、Ｗｅｂブラウザ２０３へのレスポンスに、Ｗｅｂサーバ２０１へのプリント中止報告用ＵＲＬへの転送（リダイレクト）指示を含めて、当該レスポンスをＷｅｂブラウザ２０３に送信する。
【００６４】
サービスプロバイダ２０４からのレスポンスに含まれる転送指示に基づいて、Ｓ８２２で、Ｗｅｂブラウザ２０３は、Ｗｅｂサーバ２０１に対してプリントジョブの中止について報告処理を行う。ここでは、スクリプト８００Ａに示すように、＜meta＞タグで転送先を指定しているが、転送の方法はこれのみに限定されない。
【００６５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005835943.tif 000002
【図２】
0005835943.tif 000003
【図３】
0005835943.tif 000004
【図４】
0005835943.tif 000005
【図５】
0005835943.tif 000006
【図６】
0005835943.tif 000007
【図７】
0005835943.tif 000008
【図８】
0005835943.tif 000009