特許第5835943号(P5835943)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧
<>
  • 特許5835943-画像処理装置とその制御方法 図000002
  • 特許5835943-画像処理装置とその制御方法 図000003
  • 特許5835943-画像処理装置とその制御方法 図000004
  • 特許5835943-画像処理装置とその制御方法 図000005
  • 特許5835943-画像処理装置とその制御方法 図000006
  • 特許5835943-画像処理装置とその制御方法 図000007
  • 特許5835943-画像処理装置とその制御方法 図000008
  • 特許5835943-画像処理装置とその制御方法 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5835943
(24)【登録日】2015年11月13日
(45)【発行日】2015年12月24日
(54)【発明の名称】画像処理装置とその制御方法
(51)【国際特許分類】
   H04N 1/00 20060101AFI20151203BHJP
   G06F 3/12 20060101ALI20151203BHJP
   B41J 29/38 20060101ALI20151203BHJP
【FI】
   H04N1/00 107Z
   G06F3/12 336
   B41J29/38 Z
【請求項の数】10
【全頁数】16
(21)【出願番号】特願2011-112900(P2011-112900)
(22)【出願日】2011年5月19日
(65)【公開番号】特開2012-23716(P2012-23716A)
(43)【公開日】2012年2月2日
【審査請求日】2014年5月19日
(31)【優先権主張番号】特願2010-138645(P2010-138645)
(32)【優先日】2010年6月17日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(72)【発明者】
【氏名】小池 宏明
【審査官】 橋爪 正樹
(56)【参考文献】
【文献】 特開2006−092182(JP,A)
【文献】 特開2007−318697(JP,A)
【文献】 特開2004−110171(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
B41J29/38
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
操作画面を表示するための画面情報を画像処理装置に提供し、かつ、当該操作画面を介して入力された入力情報に対応する処理の実行要求を当該画像処理装置に送信するWebサーバ、と通信可能な画像処理装置であって、
前記Webサーバから提供される画面情報に基づく操作画面を表示して、当該操作画面を介して入力された入力情報を前記Webサーバに送信する表示制御手段と、
前記表示制御手段が前記Webサーバに送信した入力情報に対応する処理の実行要求を前記Webサーバから受信すると、当該実行要求に従ったジョブを実行するとともに、前記画像処理装置で実行開始された当該ジョブを識別するためのジョブIDを前記Webサーバに通知する実行制御手段とを備え、
前記表示制御手段は、
前記実行制御手段による前記ジョブIDの通知に応じて、前記Webサーバから、前記画像処理装置で実行中の前記ジョブに関連する操作画面の画面情報を、実行中の前記ジョブに対応する前記ジョブIDとともに受信する受信手段と、
前記ジョブの実行中に、前記受信された画面情報に基づいて表示した操作画面を介して当該ジョブに関連する指示が入力されると、所定の条件が満たされたか否かを判定する判定手段と、
前記判定手段によって前記所定の条件が満たされていないと判定された場合には、前記ジョブIDに対応する前記ジョブの実行を、前記Webサーバから受信される実行要求に従って前記実行制御手段が制御するように、前記入力された指示を前記Webサーバに送信し、前記判定手段によって前記所定の条件が満たされた判定された場合には、前記ジョブIDに対応する前記ジョブの実行を、前記Webサーバを介すことなく前記入力された指示に従って前記実行制御手段が制御するように前記実行制御手段に指示する指示手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記所定の条件は、前記受信された画面情報に基づいて表示した操作画面を介して入力された指示が、実行中の前記ジョブに関連する特定の指示である、という条件であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記特定の指示は、即時に実行すべき処理として予め定められた処理に関する指示であることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記特定の指示は、前記受信手段によって前記ジョブIDとともに受信される画像情報に付加された情報によって、前記Webサーバから通知されることを特徴とする請求項2又は3に記載の画像処理装置。
【請求項5】
前記ジョブは、プリントジョブであり、
前記特定の指示は、前記プリントジョブの実行を中止する指示であり、
前記実行制御手段は、前記指示手段からの前記特定の指示に応じて、前記ジョブIDに対応する前記プリントジョブの実行を中止する
ことを特徴とする請求項2乃至4の何れか1項に記載の画像処理装置。
【請求項6】
前記表示制御手段は、
前記ジョブの実行中に、前記受信された画面情報に基づいて表示した操作画面を介して指示が入力されると、当該指示を前記入力情報として前記Webサーバに送信し、
前記所定の条件は、
前記Webサーバとの間で通信が確立されず、前記表示制御手段によって送信された指示が前記Webサーバに届かない、という条件である
ことを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記表示制御手段は、
前記指示手段による指示に従って前記実行制御手段が前記ジョブの実行を制御した後に、当該指示に従った制御が行われたことを前記Webサーバに報告する報告手段をさらに備えることを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
【請求項8】
前記報告手段は、前記Webサーバとの間で通信を確立できない場合、前記Webサーバとの間で通信を確立できるまで報告を繰り返すことを特徴とする請求項7に記載の画像処理装置。
【請求項9】
操作画面を表示するための画面情報を画像処理装置に提供し、かつ、当該操作画面を介して入力された入力情報に対応する処理の実行要求を当該画像処理装置に送信するWebサーバ、と通信可能な画像処理装置であって、前記Webサーバから提供される画面情報に基づく操作画面を表示して、当該操作画面を介して入力された入力情報を前記Webサーバに送信する表示制御手段と、前記表示制御手段が前記Webサーバに送信した入力情報に対応する処理の実行要求を前記Webサーバから受信すると、当該実行要求に従ったジョブを実行する実行制御手段と、を備える画像処理装置の制御方法であって、
前記実行制御手段が、前記画像処理装置で実行開始されたジョブを識別するためのジョブIDを前記Webサーバに通知する通知工程と、
前記表示制御手段が、前記通知工程における前記ジョブIDの通知に応じて、前記Webサーバから、前記画像処理装置で実行中の前記ジョブに関連する操作画面の画面情報を、実行中の前記ジョブに対応する前記ジョブIDとともに受信する受信工程と、
前記表示制御手段が、前記ジョブの実行中に、前記受信された画面情報に基づいて表示した操作画面を介して当該ジョブに関連する指示が入力されると、所定の条件が満たされたか否かを判定する判定工程と、
前記表示制御手段が、前記判定工程において前記所定の条件が満たされていないと判定された場合には、前記ジョブIDに対応する前記ジョブの実行を、前記Webサーバから受信される実行要求に従って前記実行制御手段が制御するように、前記入力された指示を前記Webサーバに送信し、前記判定工程において前記所定の条件が満たされた判定された場合には、前記ジョブIDに対応する前記ジョブの実行を、前記Webサーバを介すことなく前記入力された指示に従って前記実行制御手段が制御するように前記実行制御手段に指示する指示工程と
を含むことを特徴とする画像処理装置の制御方法。
【請求項10】
請求項9に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Webサーバを介して画面更新を行う画像処理装置およびその制御方法に関する。
【背景技術】
【0002】
画像処理装置は、コピー、プリンタ、ファクシミリといった複数の機能を持ち、それぞれの機能に対応するアプリケーションを切り替えて使用することで、何れかの機能を動作させる。近年、このような画像処理装置の操作パネルには、Webブラウザが搭載されるようになってきた。例えば、特許文献1では、ネットワークを介して接続されたWebサーバから画像処理装置の操作用のWebページが提供され、このWebページをWebブラウザによって表示することで画像処理装置の操作を行うことが提案されている。
【0003】
また特許文献2では、画像処理装置とWebサーバとの間のネットワークにおける通信の負荷を軽減させる方法として、画面フロー制御スクリプトが含まれる画面表示形式データを画像処理装置がサーバ側から取得し、このスクリプトを実行する方法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−203869号公報
【特許文献2】特開2008−003833号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一般に、このような画像処理装置およびWebサーバを含むシステムは、当該画像処理装置の各操作に対応する処理を、できるだけWebサーバを介して実行するように構成される。なぜなら、画像処理の実体をWebサーバに実装することによって、個々の画像処理装置への組み込みアプリケーションのインストールやそのアップデートに要する手間を省くことができるからである。また、個々の画像処理装置の操作に対応する処理のログを、Webサーバ上で集中的に管理することが容易になるからである。しかしながら一方では、即時性を必要とする処理に関しては、なるべくWebサーバを介さずに個々の画像処理装置において実行したいという要望もある。例えば、Webサーバからの指示に基づいてジョブを実行している間に、即時性を必要とする処理として、当該ジョブを中止する処理を実行する場合に、Webサーバを介すると、当該ジョブを中止するまでに時間がかかってしまうという課題がある。
【0006】
本発明は、Webサーバを介してジョブを実行する画像処理装置において、即時性が要求される場合には、Webサーバを介さずにそのジョブの実行を制御する技術を提供する。
【課題を解決するための手段】
【0007】
上記の目的を達成するために、本発明は、例えば画像処理装置として実現できる。画像処理装置は、操作画面を表示するための画面情報を画像処理装置に提供し、かつ、当該操作画面を介して入力された入力情報に対応する処理の実行要求を当該画像処理装置に送信するWebサーバ、と通信可能な画像処理装置であって、前記Webサーバから提供される画面情報に基づく操作画面を表示して、当該操作画面を介して入力された入力情報を前記Webサーバに送信する表示制御手段と、前記表示制御手段が前記Webサーバに送信した入力情報に対応する処理の実行要求を前記Webサーバから受信すると、当該実行要求に従ったジョブを実行するとともに、前記画像処理装置で実行が開始された当該ジョブを識別するためのジョブIDを前記Webサーバに通知する実行制御手段と、を備え、前記表示制御手段は、前記実行制御手段による前記ジョブIDの通知に応じて、前記Webサーバから、前記画像処理装置で実行中の前記ジョブに関連する操作画面の画面情報を、実行中の前記ジョブに対応する前記ジョブIDとともに受信する受信手段と、前記ジョブの実行中に、前記受信された画面情報に基づいて表示した操作画面を介して当該ジョブに関連する指示が入力されると、所定の条件が満たされたか否かを判定する判定手段と、前記判定手段によって前記所定の条件が満たされていないと判定された場合には、前記ジョブIDに対応する前記ジョブの実行を、前記Webサーバから受信される実行要求に従って前記実行制御手段が制御するように、前記入力された指示を前記Webサーバに送信し、前記判定手段によって前記所定の条件が満たされたと判定された場合には、前記ジョブIDに対応する前記ジョブの実行を、前記Webサーバを介すことなく前記入力された指示に従って前記実行制御手段が制御するように前記実行制御手段に指示する指示手段とを備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、Webサーバを介してジョブを実行する画像処理装置において、即時性が要求される場合には、Webサーバを介さずにそのジョブの実行を制御することが可能となる。
【図面の簡単な説明】
【0009】
図1】実施形態1に係る画像処理装置(デバイス10)の構成を示すブロック図。
図2】実施形態1に係る画像処理システムの構成を示す図。
図3】Webブラウザ203とサービスプロバイダ204とWebサーバ201との間の信号の流れを示す図。
図4】デバイス10とWebサーバ201との間で通信が確立されなかった場合の、Webブラウザ203とサービスプロバイダ204とWebサーバ201との間の信号の流れを示す図。
図5】Webサーバ201を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。
図6】DOMを利用する場合に、Webサーバ201を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。
図7】XMLHttpRequestを利用する場合に、Webサーバ201を介さずにプリントジョブを中止する仕組みの概要を示す図(700Aおよび700B)と、実行される動作の手順を示すフローチャートである。
図8】プリント中止指示のレスポンスを転送する場合に、Webサーバ201を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
<実施形態1>
図1は、本実施形態におけるデバイス(画像処理装置)10の構成を示すブロック図である。本実施形態では、画像処理装置の一例として、コピー機能、プリント機能、ファクシミリ機能を有するデジタル複合機からなるデバイスについて説明する。
【0011】
図1に示すように、デバイス10は、コントローラユニット100、操作部112、スキャナ170およびプリンタ195を備える。コントローラユニット100は、装置全体の制御を行うとともに、画像情報やデバイス情報の入出力に関する制御を行う。コントローラユニット100には、画像入力デバイスであるスキャナ170および画像出力デバイスであるプリンタ195が接続される。また、デバイス10は、ネットワークインタフェース(I/F)110およびMODEM150をそれぞれ介して、LAN111および公衆回線(WAN)151に接続されている。このデバイス10は、コピー機能と、プリンタ機能と、ファクシミリ機能のような通信機能とを有する複合装置である。デバイス10は、プリンタ機能によって、LAN111を介して外部から供給されるデータをプリント出力する。デバイス10はまた、通信機能によって、公衆回線(WAN)151を介してファクシミリ送信を行う。
【0012】
コントローラユニット100はCPU101を備え、CPU101は、ROM103に格納されているブートプログラムに基づきシステムを起動する。また、CPU101は、起動したシステム上でHDD(ハードディスク装置)104に格納されている各種制御プログラムを読み出してRAM102に展開し、RAM102をワークエリアとして所定の処理を実行する。HDD104またはROM103には、コントローラユニット100内の動作を実行するための各種プログラムが格納されるとともに、画像データが格納される。
【0013】
CPU101は、イメージバスI/F105とシステムバス107と画像バス108とを介して、各機能部との通信を行う。RAM102は、CPU101が行う処理のためのデータを一時的に格納するために主に用いられる。
【0014】
操作部I/F106は、コントローラユニット100(CPU101)と操作部112とのインタフェースである。操作部I/F106は、操作部112に表示する画像データの操作部112への転送や、操作部112における操作入力により発生した信号のCPU101への転送などを行う。操作部112は、画像形成に関する各機能についての現在の設定状態や、各機能に関する設定情報を入力するための画面などを表示するための表示部と、各機能に対する設定情報を入力するキーなどを含む入力部とを有する。なお、後述するように、操作部112の表示部には、Webブラウザ203によって、Webサーバ201から提供される画面情報に基づく操作画面も表示される。
【0015】
ネットワークI/F110は、LAN111に接続され、LAN111を介した情報の入出力を行う。モデム150は、公衆回線(WAN)151に接続され、公衆回線151を介した情報の入出力を行う。また、イメージバスI/F105は、画像バス108とシステムバス107とを接続するインタフェースであり、当該インタフェースを介してやりとりされるデータのデータ構造を変換するバスブリッジからなる。
【0016】
画像バス108は、画像データを高速で転送可能なPCIバスまたはIEEE1394規格に従うバスから構成される。画像バス108には、RIP(ラスタイメージプロセッサ)160、デバイスI/F120、スキャナ画像処理部180、プリンタ画像処理部190、画像回転部130および画像圧縮部140などが接続されている。
【0017】
RIP160は、PDLコードをビットマップイメージに展開する。デバイスI/F120は、スキャナ170及びプリンタ195とコントローラユニット100とを接続するインタフェースであり、当該インタフェースを介してやりとりされる画像データの同期系/非同期系の変換を行う。
【0018】
スキャナ画像処理部180は、入力画像データに対し補正、加工、編集を行う。また、プリンタ画像処理部190は、プリント出力用の画像データに対して、プリンタに対応した補正、解像度変換などを行う。画像回転部130は、画像データの回転処理を行う。画像圧縮部140は、多値画像データに対してはJPEG、2値画像データに対してはJBIG、MMR、MHなどの圧縮・伸張処理を行う。
【0019】
このように、コントローラユニット100のCPU101は、各制御プログラムに基づき、システムバス107に接続される各種デバイス間のアクセスを総括的に制御する。例えば、CPU101は、コピー機能を実行する場合、デバイスI/F120を介してスキャナ170から画像情報を読み込み、当該画像情報に対して所定の処理を施した後、当該画像情報をデバイスI/F120を介してプリンタ195に出力する制御を行う。
【0020】
デバイス10のコントローラユニット100は、LANやシリアルケーブル等任意の通信手段を介して情報端末装置と接続される。この情報端末装置は、例えば、デバイス10の設定データをバックアップするために利用される。情報端末装置からのバックアップ指示により、デバイス10中の設定データが情報端末装置に蓄積され、リストア指示により情報端末装置中に蓄積された該設定データがデバイス10に反映される。ここで、情報端末装置からデバイス10に対する指示の方法としては、特に限定しない。例えば、デバイス10側から情報端末装置に対し、指示を入力可能な操作画面を表示させるためのHTMLデータを送信し、当該HTMLデータに基づいて情報端末装置側のWebブラウザで操作画面を表示してもよい。この場合、情報端末装置は、表示した操作画面を介した入力に基づいてデバイス10に指示を与える。あるいは、情報端末装置は、専用のアプリケーションを用いてデバイス10に指示を与えてもよい。
【0021】
図2は、本実施形態におけるシステムの構成を示す図である。Webサーバ201とデバイス(画像処理装置)10は、LANおよび公衆回線(WAN)の少なくとも1つを介して、通信可能に接続されている。ここで、デバイス10は、図1に示すコントロールユニット100、操作部112、スキャナ170およびプリンタ195を含んでいる。デバイス10は、さらに、デバイス組込みのWebブラウザ203と、デバイス10が備える各機能を実現するための処理を実行するサービスプロバイダ204とを含む。Webブラウザ203は、操作部112(の表示部)に表示する操作画面の画面情報をWebサーバ201に対して要求し、Webサーバ201から受信したHTMLファイル等の画面情報に基づく操作画面を操作部112に表示する表示制御を行う。なお、Webブラウザ203およびサービスプロバイダ204は、それぞれ、表示制御部および実行制御部の一例である。
【0022】
また、Webブラウザ203は、表示した操作画面を介してユーザによって入力された指示(入力情報)を、Webサーバ201に対して送信(通知)する。Webサーバ201は、Webブラウザ203からの指示を受信すると、Webブラウザ203に対して、当該指示に対応する操作画面の画面情報を送信する。その際、Webサーバ201は、受信した指示に対応する処理をデバイス10に実行させる必要がある場合には、当該指示に対応する処理の実行要求を、デバイス10中のサービスプロバイダ204に対して送信する。サービスプロバイダ204は、Webサーバ201から実行要求を受信すると、当該実行要求に従った処理を含むジョブを生成し、生成したジョブを実行する。さらに、サービスプロバイダ204は、Webサーバ201に対し、処理の実行結果を送信する。
【0023】
図3は、Webブラウザ203とデバイス10内のサービスプロバイダ204とWebサーバ201との間の信号の流れを示す図である。まずS302において、Webブラウザ203が表示した操作画面を介してプリントを開始する操作が行われると、Webブラウザ203は、Webサーバ201に対して、プリントの開始が指示されたことを示すプリント開始指示を、当該操作画面を介した入力情報として送信する。
【0024】
S304において、Webサーバ201は、Webブラウザ203からプリント開始指示を受信すると、デバイス10のサービスプロバイダ204に対して、プリントの実行要求に相当するプリント実行指示(以下、「プリント指示」)を送信する。このように、Webサーバ201は、Webブラウザ203によって表示された操作画面を介した入力情報に対応する処理の実行要求を、サービスプロバイダ204に送信する。これによりサービスプロバイダ204は、プリント指示に従ったジョブ(プリントジョブ)を生成し、生成したジョブの実行を開始する。サービスプロバイダ204は、S306において、ジョブの実行を開始すると当該ジョブを識別するためのジョブIDを発行し、Webサーバ201に対し、発行したジョブIDを通知する。
【0025】
S308において、Webサーバ201は、ジョブIDが通知されると、Webブラウザ203に対して、ジョブIDの情報を含んだ「プリント中画面」を表示させるための画面情報を送信する。ここで、プリント中画面とは、プリントの実行中であることを表示するための画面であり、実行中のジョブに関連する操作画面の一例である。プリント中画面の画面情報を受信すると、Webブラウザ203は、受信した画面情報に基づくプリント中画面を、プリントの実行中に表示する。なお、このプリント中画面には、プリントジョブの実行の中止を指示するための「中止」ボタンが含まれている。
【0026】
プリント中画面の表示を行っている間に、S310において、「中止」ボタンがユーザによって押下されると、Webブラウザ203は、以下で説明する処理を実行する。
【0027】
ここで、プリントの中止が指示された場合には、実行中のプリントジョブは、一般に、即時に中止される必要がある。即ち、プリント中止指示は、即時に実行すべき処理に関する指示であり、即時に実行すべき(即時性が必要とされる)処理として予め定められた処理に関する、特定の指示の一例に相当する。このような指示をデバイス10がWebサーバ201に通知し、Webサーバ201から当該指示に対応する実行要求を受信する場合、ネットワーク遅延等に起因して、サービスプロバイダ204が当該指示に従った処理を実行するまでの時間が長くなってしまう可能性がある。
【0028】
そこで、図3に示す実施形態では、Webブラウザ203は、ジョブの実行中に、操作画面を介してジョブに関連する指示が入力されると、当該指示が、実行中のジョブに関連する特定の指示、即ち、即時に実行すべき指示であるか否かを判定する。さらに、Webブラウザ203は、当該判定の結果、当該指示が即時に実行すべき指示であると判定したことに応じて、当該指示をWebサーバ201に通知することなく、サービスプロバイダ204に通知する。具体的には、Webブラウザ203は、Webサーバ201から受信したジョブIDに対応するジョブの実行を、当該指示に従って制御するように、Webサーバ201を介すことなくサービスプロバイダ204に指示する。
【0029】
具体的には、S310で、Webブラウザ203は、サービスプロバイダ204に対し、実行を中止すべきジョブのジョブIDとプリント中止指示とを送信する。プリント中止指示を受信すると、サービスプロバイダ204は、ジョブIDに対応するプリント中のジョブの実行を中止する。
【0030】
Webブラウザ203は、S310においてサービスプロバイダ204に対しプリント中止指示を送信した後、S312において、Webサーバ201に対し、ジョブの実行を中止したことを示す情報(ジョブ中止情報)を送信する。このようにして、Webブラウザ203は、S310における指示に従ってサービスプロバイダ204がジョブの実行を制御したことを、Webサーバ201に報告する。S314において、Webサーバ201は、ジョブ中止情報を報告として受信すると、受信した情報をログとして保存するとともに、Webブラウザ203に対して応答を返す。なお、S312において、Webブラウザ203は、Webサーバ201との間で通信を確立できない場合には、後述する図4の S414と同様、Webサーバ201との間で通信を確立できるまで、報告を繰り返してもよい。
【0031】
以上のように、サービスプロバイダ204によるジョブの実行中に、Webブラウザ203は、ジョブに関連する操作画面を介して入力された指示が特定の指示である場合には、Webサーバ201を介すことなく、サービスプロバイダ204に、当該指示に従ってジョブの制御を行うように指示する。これにより、表示中の操作画面を介して指示が入力された際に、即時性が要求される場合には、必要に応じてWebサーバ201を介さずにジョブの実行を制御可能となる。なお、上記の特定の指示は、即時に実行すべき処理として予め定められた処理に関する指示であればよい。ユーザは、即時に実行すべきと判断した任意の処理を、当該特定の処理として、デバイス10(Webブラウザ203)又はWebサーバ201に予め設定しておけばよい。当該特定の指示が、後述するように、Webサーバ201において予め設定される場合には、画面情報に付加されてWebブラウザ203に通知されてもよい。
【0032】
次に、図4は、図3で説明した処理の変形例に相当する処理が実行される場合に、装置間でやりとりされる信号の流れを示す図である。同図では、Webブラウザ203が、操作画面(プリント中画面)の表示中に、当該操作画面を介して指示(プリント中止指示)が入力されると、図3のS310と異なり、当該指示をまずはWebサーバ201に送信する。その際、Webブラウザ203は、Webサーバ201との間で通信が確立されず、当該指示がWebサーバ201に届かないと判定した場合には、Webサーバ201を介すことなく、サービスプロバイダ204に送る。このように、入力された指示が、ネットワーク遅延等に起因して、Webサーバ201に届かない場合には、当該指示に従ったジョブの制御が開始されるまでに多くの時間がかかるおそれがある。その場合、Webブラウザ203は、当該指示を即時に実行すべきと判断して、図4に示すように、Webサーバ201を介すことなく、サービスプロバイダ204に、当該指示に従ってジョブを制御させる。なお、S402からS408までは、図3のS302からS308までと同様であるので、以下では可能な限り説明を省略する。
【0033】
S408で、Webブラウザ203は、Webサーバ201からプリント中画面の画面情報を受信すると、受信した画面情報に基づくプリント中画面を、プリントの実行中に表示する。S410で、プリント中画面の表示中に、ユーザによって「中止」ボタンが押下されると、Webブラウザ203は、まず、Webサーバ201に対し、実行を中止すべきジョブのジョブIDとプリント中止指示とを送信する。ただし、図4では、S410においてWebブラウザ203とWebサーバ201との間で通信が確立できず、ジョブID及びプリント中止指示がWebサーバ201に届かないと仮定する。
【0034】
Webブラウザ203は、ジョブID及びプリント中止指示をWebサーバ201に送信した際に、Webサーバ201との間で通信が確立されず、それらの情報がWebサーバ201に届かないと判定すると、以下の処理を実行する。即ち、Webブラウザ203は、プリント中止指示を、Webサーバ201を介すことなく即時に実行すべき指示であると判定すると、当該指示に従ったジョブの制御を、Webサーバ201を介すことなくサービスプロバイダ204に実行させる。具体的には、S412で、サービスプロバイダ204に対し、実行を中止すべきジョブのジョブIDとプリント中止指示とを送信する。プリント中止指示を受信すると、サービスプロバイダ204は、ジョブIDに対応するプリント中のジョブの実行を中止する。
【0035】
サービスプロバイダ204に対しプリント中止指示を送信した後、Webブラウザ203は、Webサーバ201に対し、ジョブ中止情報を報告として送信する。ここで、Webサーバ201との通信が確立できない場合は、S414で、Webブラウザ203は、Webサーバ201との通信が確立できるまで、ジョブ中止情報の送信を繰り返す。これにより、Webブラウザ203は、当該報告が確実にWebサーバ201に届くようにする。
【0036】
S416で、Webブラウザ203とWebサーバ201との間の通信の確立(回復)後、Webサーバ201は、ジョブ中止情報を受信する。その結果、Webサーバ201は、ジョブ中止情報をログとして保存するとともに、S418で、Webブラウザ203に対して応答を返す。
【0037】
以上のように、デバイス(画像処理装置)10のWebブラウザ203は、実行中のジョブに関連する操作画面を介して指示が入力されると、所定の条件が満足されたか否かを判定する。ここで、所定の条件とは、例えば、当該指示が特定の指示であること(図3)、又は、当該指示をWebサーバ201に送信する際に、Webブラウザ203とWebサーバ201との間で通信が確立されず、当該指示がWebサーバ201に届かないということ(図4)、であればよい。即ち、本実施形態において、所定の条件は、操作画面を介して入力された指示を即時に実行すべきと判定する際の基準として使用される。これにより、即時性が要求される場合には、Webサーバ201を介すことなく、当該指示に従ってジョブの実行を迅速に制御することが可能となる。
【0038】
次に、Webブラウザ203からWebサーバ201を介さずにプリントジョブの中止を行う場合を例として、上述の処理についてより具体的に説明する。図5(A)及び(B)は、Webサーバ201を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。スクリプト500Aは、図5(B)のフローチャートに示す動作に用いられるスクリプトの概念を示す。
【0039】
ここで、Webブラウザ203がWebサーバ201から受信する画面情報には、特定のIDが付加されたボタン500Bの情報が含まれている場合を想定する。このボタン500Bの情報は、即時性が要求される処理に関する特定の指示に相当するジョブの中止指示を入力するためのボタンを操作画面内に表示する際に使用される。このように、図5(A)及び(B)に示す例では、当該特定の指示は、画面情報に付加されてWebブラウザ203に通知される。ジョブの実行中に、操作画面に含まれるボタン500Bが押下されると、Webブラウザ203は、直接サービスプロバイダ204に対しジョブの中止指示を送る。本例では、このような動作を行うように、予めWebブラウザ203に対して設定がなされているものと仮定する。なお、Webサーバ201は、Webブラウザ203に送信する画面情報に、サービスプロバイダ204において実行中のジョブのジョブIDをも含めておく。Webブラウザ203は、受信した画面情報に含まれるジョブIDを、ジョブの中止指示とともにサービスプロバイダ204に送る。
【0040】
まずWebブラウザ203に表示される画面を用いて、ユーザがプリント開始操作を行うと、S502で、Webブラウザ203は、Webサーバ201に対しプリント開始指示を送信する。Webサーバ201は、プリント開始指示を受信すると、S504で、サービスプロバイダ204に対してプリント指示を送信する。
【0041】
S506で、サービスプロバイダ204は、Webサーバ201からプリント指示を受信すると、受信した指示に従った処理を実行するためのプリントジョブを生成し、生成したプリントジョブに基づいてプリントを開始する。なお、サービスプロバイダ204は、プリントジョブを生成する際に、生成したジョブを識別するためのジョブIDを発行する。S508で、サービスプロバイダ204は、プリントジョブのジョブIDをWebサーバ201に対し送信する。S510で、Webサーバ201は、プリントジョブのジョブIDをサービスプロバイダ204から受信すると、ジョブIDを含むプリント中画面を表示するための画面情報(スクリプト500A)をWebブラウザ203に送信する。
【0042】
S512で、Webブラウザ203は、Webサーバ201から画面情報を受信すると、プリント中であることを示す画面表示を行う。ここでは、ジョブIDの通知方法の一例として、図5(A)に示すように、ジョブIDをhidden要素として画面情報(スクリプト500A)に付与することで、Webサーバ201からWebブラウザ203にジョブIDを通知する方法を想定している。
【0043】
S514で、Webブラウザ203は、プリント中画面の表示中に、プリントジョブの実行を中止すべきことを指示するためのプリント中止ボタン500Bがユーザによって押下されたか否かを判定する。Webブラウザ203は、プリント中止ボタン500Bが押下されなかった場合には、プリントが終了するまでその画面を表示し続ける。
【0044】
一方で、プリント中止ボタンが押下された場合は、S516で、Webブラウザ203は、プリント中画面に対応する画面情報から、実行中のプリントジョブのジョブIDを取得する(F1)。そしてS518で、Webブラウザ203は、サービスプロバイダ204に対し、取得したジョブIDを含むプリント中止指示を送信する(F2)。サービスプロバイダ204は、S520で、プリント中止指示を受信すると、S522で、当該指示に含まれるジョブIDに基づいて特定される、プリント中のジョブの実行を中止する。その際、サービスプロバイダ204は、プリント中止指示に基づいてジョブの実行を中止したことを、Webブラウザ203に通知する(F3)。
【0045】
ここで、画面情報に相当するスクリプト500Aには、プリント中画面の情報に対応する<form>タグのaction属性に、プリントを中止したことをWebサーバ201に報告する処理を実行するために必要なURLを予め指定しておく。これにより、S524で、Webブラウザ203は、プリント中止ボタン500Bの押下に応じたプリントジョブ中止指示(S522)とともに、Webサーバ201に対してプリント中止の報告処理を行う(F4)。
【0046】
このように、図5(A)及び(B)によれば、Webサーバ201から受信した画面情報の中に、特定のIDが付加されたボタン500Bの情報が含まれる。当該情報に基づいて表示したボタンが押下されると、Webブラウザ203は、Webサーバ201を介さず、直接サービスプロバイダ204に対しジョブの中止指示を行うことが可能となる。これにより、即時性が要求される処理を、Webサーバ201を介すことなく迅速に実行することが可能となる。
【0047】
<実施形態2>
図6(A)及び図6(B)は、実施形態2に係る、Document Object Model(以下「DOM」と呼ぶ)を利用する場合に、Webサーバ201を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。HTMLなどのマークアップ言語で記述された文書の構造をオブジェクトとして扱うためのオブジェクトモデルとしてDOMがある。DOMは、文書の論理的構造、文書へのアクセス、および操作の方法を定義しており、例えば、デバイスオブジェクト(device object)は、属性printerを持ち、この属性はプリンタ部クラスのインスタンスを参照する。
【0048】
この方法を用いることで、装置オブジェクトモデルのインタフェースを介して、スクリプトに基づいて装置やジョブを制御することができる。また、HTML文書に組み込まれたスクリプトによってDOMと装置オブジェクトモデルに対する操作を組み合わせることで、装置制御のユーザインターフェースをHTMLとスクリプト600Aにより記述することができる。
【0049】
本実施形態では、Webブラウザ203が表示している「中止」ボタン600Bが押下されると、デバイスオブジェクトからprinterオブジェクトをたどることで、printerオブジェクトのJobStop関数が実行される。そしてそれとともに、Webサーバ201に対してプリント中止の報告処理が行われる。
【0050】
以下では、S602からS612は図5(B)のS502からS512と同様であるので、説明を省略する。Webブラウザ203は、S612でプリント中画面の表示を開始すると、S614で、当該プリント中画面の表示中にユーザによりプリント中止ボタン600Bが押下されたか否かを判定する。ここでプリント中止ボタン600Bが押下されなかった場合には、Webブラウザ203は、プリントが終了するまでその画面を表示し続ける。
【0051】
一方で、S614においてプリント中止ボタン600Bが押下された場合には、S616で、Webブラウザ203は、プリント中画面に対応する画面情報に、プリント中止ボタン600Bの押下時の実行すべきイベント処理があるか否かを判定する。プリント中止ボタン600Bの押下時に実行すべきイベント処理があると判定した場合に、S618で、Webブラウザ203は、当該イベント処理を実行する。本実施形態では、Webブラウザ203は、図6(A)のスクリプト600Aに含まれる、printerオブジェクトのジョブ中止用関数を実行する。さらに、S620で、Webブラウザ203は、Webサーバ201に対してプリント中止の報告処理を行う。
【0052】
<実施形態3>
Java(登録商標)スクリプトまたはECMAスクリプトなどのウェブブラウザ搭載のスクリプト言語で、サーバとのHTTP通信を行うための組み込みオブジェクト(API)としてXMLHttpRequestオブジェクトがある。実施形態3では、このXMLHttpRequestオブジェクトを利用して、既に読み込んだページからさらにHTTPリクエストを発行する例を説明する。
【0053】
図7(A)、(B)及び(C)は、実施形態3に係る、XMLHttpRequestを利用する場合に、Webサーバ201を介さずにプリントジョブを中止する仕組みの概要を示す図(700Aおよび700B)と、実行される動作の手順を示すフローチャートである。ここで、図7(A)は、XMLHttpRequestを含むスクリプト700Aの基本的な例を示す。図7(A)のスクリプト700Aに基づいて、本実施形態では、まずWebブラウザ203毎にXMLHttpRequestオブジェクトが生成される。また、スクリプト700Aでは、XMLHttpRequestに対するサーバからの応答を受け取った後に何をするかを指定するために、onreadystatechangeプロパティに関数ckeck()が設定されている。
【0054】
次に、スクリプト700Aによれば、XMLHttpRequestオブジェクトのopen()メソッドでリクエストが作成され、send()メソッドでリクエストが送信される。onreadystatechangeで指定された関数では、まずreadyState、statusのプロパティの値より、リクエストの処理状態と通信のエラーとが調べられる。正常にレスポンスが返ってきた際は、リクエストの処理状態と通信のエラーとについての判断を行うif文中に記載されているコールバック関数が実行される。
【0055】
本実施形態では、Webブラウザ203は、openメソッドでローカルループバックアドレスに対してジョブの中止処理要求を行い、レスポンスが返ってきた際の処理として、Webサーバ201への中止報告処理を行っている。なお、クロスドメインで通信する方法に関してはここでは特に限定しない。
【0056】
次に、図7(B)のHTMLスクリプト700Bは、ジョブの中止処理と中止の報告処理とを実行するためのスクリプトを含むHTMLスクリプトの一例である。Webブラウザ203が表示している中止ボタン700Cが押下された際に実行される処理は、HTMLスクリプト700Bに含まれる、ジョブの中止処理と中止の報告処理とに関するスクリプトに従って実行される。
【0057】
以下では、S702からS712は図5(B)のS502からS512と同様であるので、説明を省略する。Webブラウザ203は、S712でプリント中画面を表示すると、S714で、プリント中画面の表示中にユーザによりプリント中止ボタン700Cが押下されたか否かを判定する。ここでプリント中止ボタン700Cが押下されなかった場合には、Webブラウザ203は、プリントが終了するまでその画面を表示し続ける。
【0058】
一方で、S714でプリント中止ボタン700Cが押下された場合には、Webブラウザ203は、S716で、プリント中止ボタン700Cの押下時の処理があるか否かを判定する。Webブラウザ203は、プリント中止ボタン700Cの押下時の処理があると判定した場合には、以下で説明する処理を実行する。ここでは、S718で、Webブラウザ203は、ローカルループバックアドレスに対し、ジョブを中止すべきことを示すリクエストを送信する。ローカルループバックアドレスに対して送信されたリクエストがサービスプロバイダ204で受信されると、サービスプロバイダ204は、S720で、ジョブの中止処理を実行する。
【0059】
その後、S722で、Webブラウザ203は、S718におけるジョブ中止リクエストを送信後の、当該リクエストの処理状態と通信のエラーとについて確認する。S724で、Webブラウザ203は、S722での確認結果に基づいて、当該リクエストに対して正常にレスポンスが返ってきたか否かを判定する。Webブラウザ203は、正常にレスポンスが返ってきていないと判定した場合には、S722およびS724の処理を繰り返す。一方で、Webブラウザ203は、正常にレスポンスが返ってきたと判定した場合には、S726で、コールバック関数に指定している中止報告処理用の関数を実行する。これにより、Webブラウザ203は、Webサーバ201に対してプリントジョブの中止について報告する。
【0060】
本実施形態によれば、即時性が求められる処理に関して、Webサーバ201を介さずに指示を行うことができるので、ネットワーク遅延の影響を受けず、所望の処理をすみやかに実行することが可能となる。
【0061】
<実施形態4>
図8(A)及び(B)は、実施形態4に係る、プリント中止指示に対するレスポンスをWebサーバ201側に転送する場合に、Webサーバ201を介さずにプリントジョブを中止する仕組みの概要を示す図と、実行される動作の手順を示すフローチャートである。本実施形態において、Webブラウザ203は、プリントジョブの中止ボタン800Bが押下されると、サービスプロバイダ204に対し、プリント中止指示を含むリクエストを送信する。サービスプロバイダ204は、プリント中止指示を含むリクエストを受信すると、プリントジョブの実行を中止し、Webブラウザ203に対して、プリントジョブの実行を中止したことを通知するためのレスポンスを送信する。本実施形態では、サービスプロバイダ204が、このレスポンスにWebサーバ201への転送指示を含める。これにより、Webブラウザ203からWebサーバ201に対し、プリント中止の報告処理が行われる。なお、以上の動作は、スクリプト800Aに記載されている。また、S802からS812は、図5(B)のS502からS512と同様であるので、ここでは説明を省略する。
【0062】
Webブラウザ203は、S812でプリント中画面を表示すると、S814で、プリント中画面の表示中にユーザによりプリント中止ボタン800Bが押下されたか否かを判断する。ここでプリント中止ボタン800Bが押下されなかった場合には、Webブラウザ203は、プリントが終了するまでその画面を表示し続ける。
【0063】
一方で、S814でプリント中止ボタン800Bが押下された場合には、Webブラウザ203は、S816で、サービスプロバイダ204に対してプリント中止指示を含むリクエストを送信する。プリント中止指示を含むリクエストを受信したサービスプロバイダ204は、S818で、当該指示に従ってプリントジョブの実行を中止する処理を行う。その後、S820で、サービスプロバイダ204は、Webブラウザ203へのレスポンスに、Webサーバ201へのプリント中止報告用URLへの転送(リダイレクト)指示を含めて、当該レスポンスをWebブラウザ203に送信する。
【0064】
サービスプロバイダ204からのレスポンスに含まれる転送指示に基づいて、S822で、Webブラウザ203は、Webサーバ201に対してプリントジョブの中止について報告処理を行う。ここでは、スクリプト800Aに示すように、<meta>タグで転送先を指定しているが、転送の方法はこれのみに限定されない。
【0065】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
図1
図2
図3
図4
図5
図6
図7
図8