説明

印刷システム、印刷制御方法及びコンピュータプログラム

【課題】画像形成装置がWebサーバに対して行う印刷要求がファイルフォーマット変換に関する設定を含む場合に、この設定に応じたファイルフォーマット変換処理を適切に実行することができる印刷システムを提供する。
【解決手段】Webサーバ102が、画像形成装置101から依頼された印刷要求に応じて、印刷サービス470に印刷指示を行い、印刷サービス470に設定に応じたファイルフォーマット変換を行わせることによって、印刷データを生成させる。画像形成装置101が、印刷データをWebサーバから取得して印刷を実行し、印刷状態が変化する度に、印刷サービス470に対して印刷状態を通知して管理させる。Webサーバ102は、印刷サービス470が管理する印刷状態を取得し、取得した印刷状態に応じたジョブ情報画面を生成して画像形成装置101に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷システム、印刷制御方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
クライアントからサーバに対して印刷指示を送信し、印刷指示を受信したサーバが印刷対象のコンテンツを印刷データに変換するコンテンツ印刷システムが提案されている。注目されているクラウドコンピューティングも、サーバがクライアントにサービスを提供するシステム形態の一つである。
【0003】
クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上にWebサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。
【0004】
クラウドコンピューティング環境上でサービスを提供するベンダーの中で注目すべきベンダーはGoogle(登録商標)である。Google(登録商標)は、大規模なデータセンターを多数設立する他、デバイスと連携させて提供するサービスを提案し、デバイスとサービス間のデータ通信の仕組みを開発している。例えば、Google(登録商標)は画像形成装置と連携してサービスを提供するためのデータ通信の仕組みを開発し、Google(登録商標)が用意したクラウドコンピューティング環境とデータ通信を画像形成装置が行うためのインターフェースを公開した。このシステムでは、画像形成装置はサービスから印刷要求を受信し、印刷を実行する。そして印刷状態の変化は、Webアプリケーションがサービスに対してポーリングすることにより取得される。
【0005】
また、ネットワークを介してWebサーバに接続されるPCなどの情報処理装置がネットワーク上のWebサーバに接続され、Webサーバにより提供される操作画面を、情報処理装置が備えるWebブラウザ上に表示するシステムが知られている。このシステムでは、まず情報処理装置上のWebブラウザが、Webサーバに対して操作画面を要求(リクエスト)する。そして、Webサーバ上のWebアプリケーションが情報処理装置からの要求に応えて、Webブラウザに操作画面を表示させるためのHTMLデータを情報処理装置に応答(レスポンス)する。情報処理装置のWebブラウザは、受信したHTMLデータを解析し、HTMLデータの記述に基づいた操作画面を表示する。更に、Webブラウザに表示された操作画面を介してユーザが指示を入力すると、入力された指示をWebブラウザがWebサーバに対して通知する。そして、この通知を受けたWebサーバ上のWebアプリケーションは、入力された指示に従って処理を実行する。
【0006】
最近では、スキャナやプリンタを備えたMFP(Multi Function Peripheral)の中にも、上述したようなWebブラウザを備えているものがある。そして、MFPは、上述した手順を用いてWebサーバにより提供される操作画面をMFPのWebブラウザに表示し、ユーザからの各種指示を受け付ける。
【0007】
また更には、MFPが備える各機能を利用するための指示を入力する操作画面をWebサーバが提供し、ユーザがWebブラウザ上に表示された操作画面を介して、MFPに対する指示を入力するシステムも考えられている。このシステムでは、Webサーバは、ユーザから入力された指示の内容に従って、MFPに対して各種処理の実行を依頼する。そして、この依頼を受けたMFPは、依頼された処理を実行する。これにより、MFPを操作するための全ての操作画面をMFP内で保持しておく必要がなくなり、また操作画面の変更もWebサーバ上で容易に行うことができるようになる。
【0008】
具体的には、MFPの各機能をRPC(Remote Procedure Call)的に公開し、Webサーバから適宜呼び出す方法が考えられている。この方法では、Webサーバ側に処理のメインロジックを持たせ、MFPの制御やユーザとの対話的処理をサーバに実行させて、処理の負荷を軽減させることができる。例えばWebサービスとしてMFPの機能を公開することで、Webサーバからはローカルなサブルーチンを呼び出すようにMFPが提供する機能を実行できる。また、その呼び出しの応答を管理することで処理のメインロジックをサーバ側に持たせることができる。
【0009】
また、更にはWebブラウザに表示された操作画面を介して入力された指示に基づいてWebサーバが制御スクリプトを提供し、デバイスがその制御スクリプトを実行することでMFPを操作するシステムも考えられている。
【0010】
上述したシステムでは、制御スクリプトは、Webブラウザからのリクエストに対する応答としてデバイスに渡される。そのため、WebサーバからMFPにコネクションを張る必要がなく、MFPがファイアウォールで守られていたり、ネットワークアドレス変換を用いる環境にいたりする場合でも利用が可能である。
【0011】
なお、特許文献1は、操作パネルに表示されるコンテンツを、画像形成装置に発生したイベントに応じて変更する画像形成装置を開示する。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2008−131388
【発明の概要】
【発明が解決しようとする課題】
【0013】
特許文献1は、操作パネルの表示制御をWebブラウザを用いて行うシステムである。特許文献1が開示する画像形成装置や、Webサーバから提供される操作画面を表示するWebブラウザを備え、表示された操作画面で入力された印刷指示に従って処理を実行するMFPのようなシステムにおいて印刷を実行することが想定される。この場合、Webアプリケーションで管理している様々なファイルフォーマットについて印刷したいという要求にこたえることが難しい。なぜならば、サーバ側、もしくはMFP側にファイルフォーマット変換用のモジュールを搭載する必要があり、日々増えていくファイルフォーマットに対応していくには非常にコストがかかるという問題が存在するからである。
【0014】
つまり、従来は、Webブラウザを備える画像形成装置がWebサーバに対して行う印刷要求がファイルフォーマット変換に関する設定を含む場合に、この設定に応じたファイルフォーマット変換処理を適切に実行することができる印刷システムはなかった。
【0015】
また、特許文献1が開示する技術は、画像形成装置が、画像形成装置内のハードウェア制御に伴うイベントに従って、表示コンテンツを変更する技術である。従って、画像形成装置が、Webサーバを介して外部印刷サービスに対して印刷指示を行い、外部印刷サービスが印刷指示に従って印刷データを生成し、画像形成装置が上記印刷データを取得して印刷出力するシステムにこの技術を適用すると以下の問題がある。すなわち、特許文献1が開示する技術によっては、画像形成装置のWebブラウザが表示する、Webサーバから提供される画面を、外部印刷サービスが管理するジョブ状態(印刷状態)の変化に応じて更新することができない。
【0016】
本発明は、Webブラウザを備える画像形成装置がWebサーバに対して行う印刷要求がファイルフォーマット変換に関する設定を含む場合に、この設定に応じたファイルフォーマット変換処理を適切に実行することができる印刷システムの提供を目的とする。
【0017】
また、本発明は、画像形成装置が、Webサーバを介して外部印刷サービスに対して印刷指示を行い、外部印刷サービスが印刷指示に従って印刷データを生成し、画像形成装置が上記印刷データを取得して印刷出力するシステムである。この印刷システムは、画像形成装置のブラウザが表示する、Webサーバから提供されるジョブ情報画面を、外部印刷サービスが管理する印刷状態の変化に応じて更新する。
【課題を解決するための手段】
【0018】
本発明の一実施形態の印刷システムは、ネットワークを介して接続された、Webサーバと、印刷サービスと、前記Webサーバにより提供される画面を表示するWebブラウザを有する画像形成装置とを備える印刷システムである。前記Webサーバは、前記画像形成装置から依頼された印刷要求に応じて、前記ネットワークを介して、前記印刷サービスに対して印刷指示を行う印刷指示手段と、前記印刷サービスが管理する前記印刷指示に応じた印刷データの印刷状態を前記ネットワークを介して取得する印刷状態取得手段と、前記印刷状態取得手段が取得した印刷状態に応じたジョブ情報画面を生成する画面生成手段と、前記画面生成手段が生成したジョブ情報画面を前記ネットワークを介して前記Webブラウザに送信する画面送信手段とを備える。前記印刷状態取得手段は、前記印刷サービスから前記印刷データを取得し印刷を実行する前記画像形成装置が前記印刷データの印刷状態が変化することに応じて通知してくる情報を基にして前記印刷サービスが管理する前記印刷サービスの印刷状態を取得する。
【発明の効果】
【0019】
本発明の印刷システムによれば、ファイルフォーマット変換機能を持った外部の印刷サービスを利用して印刷を実行することにより、Webアプリケーションにおいてファイルフォーマット変換への要求に低コストで答えて印刷機能を提供することができる。また、本発明の印刷システムにおいては、外部印刷サービスにおいて変化した印刷状態を示すジョブ情報画面をWebアプリケーションからWebブラウザに通知する。これにより本発明の印刷システムは、外部印刷サービスが管理する印刷状態の変化に伴って、画像形成装置のジョブ情報画面を更新することができる。
【図面の簡単な説明】
【0020】
【図1】実施形態のコンテンツ印刷システムの全体図である。
【図2】MFPの構成を示すブロック図である。
【図3】Webサーバ、印刷サーバの構成を示すブロック図である。
【図4】ソフトウェア構成を示す図である。
【図5】Webアプリケーションからプロバイダへ処理を依頼する動作のシーケンス図である。
【図6】Webサーバ応答処理とMFPの処理のフローチャートである。
【図7】レスポンスヘッダと処理要求の例である。
【図8】処理結果の例である。
【図9】印刷処理のシーケンス図である。
【図10】印刷処理のシーケンス図である。
【図11】コンテンツ印刷システムのログイン画面、設定画面の例である。
【図12】印刷サービスへの印刷指示の例である。
【図13】コンテンツ印刷システムの実行中画面、完了画面の例である。
【図14】プリンタへの印刷指示の例である。
【図15】プリンタが取得する印刷設定の例である。
【図16】印刷サービスへのジョブ状態変更指示の例である。
【図17】印刷サービスへのジョブ状態取得の例である。
【図18】サービスプロバイダの処理部の構成を示すブロック図である。
【図19】サービスプロバイダへの動作要求の例である。
【図20】ジョブ状態変更の通知の例である。
【図21】印刷処理のシーケンス図である。
【図22】印刷処理のシーケンス図である。
【発明を実施するための形態】
【0021】
(実施例1)
図1は、本実施形態のコンテンツ印刷システムの構成例である。本システムはMFP101と、Webアプリケーションサーバ102と、印刷サーバ103とを備える。コンテンツ印刷システムを構成するMFP101、Webアプリケーションサーバ102、および印刷サーバ103は、インターネット104を介して接続でき、互いにデータ通信することができる。ネットワーク100は各装置間で通信を行うための基盤であって、インターネット104に接続されている。
【0022】
MFP101は、Webアプリケーションサーバ102および印刷サーバ103とインターネット104を介して各種処理を要求または実行する画像形成装置である。Webアプリケーションサーバ102は、Webコンテンツをネットワークを介して配信する機能を持っており、MFP101からのリクエストに応じてWebコンテンツを返す。印刷サーバ103は、Webアプリケーションサーバ102またはMFP101からの各種リクエストを受け付け、各種リクエストに応じた処理を行い、各装置にレスポンスを返す。
【0023】
なお、各装置は複数台あっても良い。また、各サーバも複数台で構成されていても良い。さらに、MFP101はローカルなIPアドレスで管理されていても良い。その場合ネットワーク100とMFP101の間にゲートウェイ(不図示)が存在し、ゲートウェイはアドレス変換を行う。例えばゲートウェイにはルーターが含まれる。また前記ゲートウェイや、MFP101がファイアウォール機能を備えていても良い。
【0024】
図2は本実施例のMFP101の機器構成図の一例である。MFP101は、本発明を制御するCPU(Central Processing Unit)201、CPU201のワークエリアを提供するRAM(Random Access Memory)202を備える。また、MFP101は、画像を読み取る読取装置203、画像を印刷する印刷装置204、本発明のプログラムや様々な設定を記憶する記憶装置205を備える。記憶装置205は、HDD(Hard Disc Drive)やNVRAM(Non Volatile Random
Access Memory)等でもよい。さらに、ユーザがコマンドの入力を行うユーザ入力装置206、画面表示を行うUI表示装置207、他機器とネットワークによる通信を行うネットワーク装置208、メインバス200により構成されている。
【0025】
なお、本実施例では、特に断らない限り、MFP101は、CPU201がメインバス200を介して各装置を制御する。具体的には、CPU201は、RAM202、読み取り装置203、印刷装置204、記憶装置205、ユーザ入力装置206、UI(User Interface)表示装置207、ネットワーク装置208を制御する。また、タッチパネルディスプレイのようにUI表示装置207がユーザ入力装置206を兼ねても良い。
【0026】
図3は本実施例のアプリケーションサーバ102、印刷サーバ103の機器構成図の一例である。各装置は、本発明を制御するCPU301、CPU301のワークエリアを提供するRAM302、本発明のプログラム、設定を記憶する記憶装置303、他機器とネットワークによる通信を行うネットワーク装置304、メインバス300を備える。なお、本実施例は特に断らない限り、CPU301がメインバス300を介してRAM302、記憶装置303、ネットワーク装置304を制御することによって本実施例の印刷処理を実行する。
【0027】
図4は本実施例におけるコンテンツ印刷システム全体のソフトウェア構成を説明するための図である。MFP101/アプリケーションサーバ102/印刷サーバ103のそれぞれが有ずるCPU201/CPU301が制御プログラムを実行することにより図4に示す各機能部を実現する。
【0028】
アプリケーションサーバ102は、Webアプリケーション410を有する。さらに、Webアプリケーション410は、プレゼンテーション部411、ロジック部412、プリンタ情報取得部413、印刷指示部414及びジョブ状態取得部415を含む。
【0029】
プレゼンテーション部411は、MFP101からのリクエストに応えてWebブラウザ420で表示すべき操作画面、又はサービスプロバイダ440への処理要求を、MFP101にレスポンスとして送信する。また、プレゼンテーション部411は、MFP101のWebブラウザ420に表示された操作画面を介して入力されたユーザからの入力情報をMFP101から受け取る。
【0030】
ロジック部412は、プレゼンテーション部411から渡されたMFP101からの入力情報に対して処理を行う。ロジック部412は、たとえば、ユーザからの入力に応じて、表示すべき画面を変更したり、MFP101のデバイス機能実行のための処理要求を作成したりする。
【0031】
プリンタ情報取得部413、印刷指示部414、ジョブ状態取得部415は、ロジック部412からの指示に従って、印刷サービス470の印刷サービス提供部475と通信を行う。すなわち、プリンタ情報取得部413は、プリンタ情報提示部477に対して一覧リストを要求する。印刷指示部414は、印刷指示受付部476に対して印刷設定を含む印刷指示を行う。ジョブ状態取得部415は、ジョブ状態提示部478に対してジョブ状態を要求する。
【0032】
MFP101は、Webブラウザ420、転送アプリケーション430、サービスプロバイダ440、印刷プロキシ460、ジョブ制御部450を有している。Webブラウザ420、転送アプリケーション430、サービスプロバイダ440のそれぞれは、MFP101が有しているCPU201が制御プログラムを実行することにより実現される。なお、前記Webブラウザ420は、Webサーバ102のコンテンツを表示するものに限定するものではない。同様に、前記Webサーバ102もHTTPプロトコルに従ってリクエスト/レスポンスを送受信するWebサーバに限定するものではない。前記Webブラウザ420は、任意のサーバと通信を行うことによってコンテンツを取得し、画面に表示するといった機能を有するものであればよい。
【0033】
Webブラウザ420は、通信部421、解析部422、画面表示部423、転送アプリ起動部424、およびアップロード処理部425を有する。通信部421は、HTTPプロトコルに従って、Webアプリケーションサーバ102のWebアプリケーション410のプレゼンテーション部411と通信する。
【0034】
より具体的には、通信部421は、Webブラウザ420で表示した操作画面を介して入力される情報をWebアプリケーション410に対するリクエストとして送信する。また、通信部421は、Webアプリケーション410から送信されるレスポンスを受信する。
【0035】
解析部422は、Webアプリケーション410から受信したレスポンスを解析する。レスポンスの中にはWebブラウザ420に表示すべき操作画面の内容を示す記述であるHTMLデータや、もしくは、サービスプロバイダへの処理要求が記載されている。解析部422は、HTTPレスポンスヘッダのContent−Typeフィールドがapplication/vnd.eeeee.webserviceであるかを確認する。前記Content−Typeフィールドであると確認した場合は、Webアプリケーション410から受信したレスポンスがサービスプロバイダへの処理要求であると判断し、転送アプリ起動部424に受信したレスポンスに対する処理を依頼する。
【0036】
画面表示部423は、解析部422による解析結果に基づいて、HTMLデータをUI表示装置207に操作画面を表示する。
【0037】
転送アプリ起動部424は、解析部422による解析結果に基づいて、Webアプリケーション410から受信したレスポンスを処理要求と判断して、転送アプリケーション430に対し、サービスプロバイダ440に転送するように依頼する。なお、レスポンスが本発明におけるMFPへの処理要求であるかどうかの判別が可能であれば、HTTPレスポンスヘッダを参照する以外の方法でも良い。
【0038】
アップロード処理部425は、デバイス内部からの要求に応じて、指定されたデータを、通信部421を介してWebアプリケーションサーバ102に送信する。本実施例ではHTTP
POSTコマンドを用いて指定のデータをアップロードするが、Webブラウザが処理可能なプロトコルであれば何でもよい。
【0039】
転送アプリケーション430は、動作要求送信部431、制御部432を有する。制御部432は、Webブラウザ420の転送アプリ起動部424からの依頼を受け、サービスプロバイダへのレスポンスに対する処理要求を、動作要求送信部431に依頼する。
【0040】
動作要求送信部431は、制御部432から依頼を受け、サービスプロバイダ440の動作要求受信部441に処理要求を転送し、また、処理要求に対する結果を受信する。このとき動作要求送信部431は、図7(A)で示される前記Webアプリケーションから受信したレスポンスのヘッダ800に記載されている宛先801に転送を行う。
【0041】
転送アプリケーション430は、WEBブラウザ420が受信したレスポンスの一部をサービスプロバイダ440へ転送したり、あるいは、サービスプロバイダ440の処理結果をWEBブラウザ420へ転送したりするためのアプリケーションである。転送アプリケーションは、一般的にWEBブラウザ420で対応できない形式のファイル(音声や動画,アニメーションなど)を処理できるようにするヘルパーアプリケーションとして動作し、Webブラウザ420と独立して動作する。しかしながら、処理要求の転送を行う機能を有すれば、転送アプリケーション430はヘルパーアプリケーションではなくてもよい。転送アプリケーション430は、プラグインや、Webブラウザ420内の一機能、またはWebアプリケーション410から受信したレスポンス内に記載されたJava(登録商標)Scriptとして存在しても良い。
【0042】
サービスプロバイダ440は、動作要求受信部441、処理部442を有する。動作要求受信部441は、転送アプリケーション430から処理要求を受け付ける。処理部442は、動作要求受信部441が受け付けた処理要求を受け取り、依頼された処理を実行する。
【0043】
サービスプロバイダ440は、さまざまな処理を行うプログラムであり、機能ごとに分かれて複数存在しても良い。たとえば、印刷機能を持ったサービスプロバイダやスキャン機能を持ったサービスプロバイダが存在し、それらのサービスプロバイダは処理要求に従って、ジョブ制御部450のジョブ管理部451に対してジョブを登録する。
【0044】
ジョブ制御部450は、ジョブ管理部451と、ジョブ実行部452を有する。ジョブ管理部451は、スキャンやプリントなどハードウェア資源を利用するジョブの管理を行う。ジョブ実行部452はジョブ管理部451で管理されているジョブに従って処理を実行する。
【0045】
印刷プロキシ460は、印刷サービス通信モジュール461と印刷ジョブ生成部466、制御部467を有する。また、印刷サービス通信モジュール461は、印刷データ取得部462、ジョブ状態送信部463、印刷設定取得部464、印刷通知受信部465を有する。
【0046】
印刷サービス通信モジュール461は、プリンタ通信モジュール461と相互に通信可能である。具体的には、印刷通知受信部465は、印刷サービス470の印刷通知送信部483から送信される通知情報を受信する。印刷サービス通信モジュール461と、印刷サービスのプリンタ通信モジュール480は対をなすモジュールであるため、印刷通知受信部465は、印刷通知送信部483が送信する通知情報を解釈することが可能である。印刷データ取得部462は、印刷通知受信部465で受信した通知情報に記載されている印刷データ取得先情報を基に印刷データ格納部481から印刷データを取得する。また、印刷設定取得部464は、刷通知受信部465で受信した通知情報に記載されている印刷設定取得先情報を基に、印刷設定格納部483から印刷設定を取得する。
【0047】
制御部467は、印刷データ取得部462と印刷設定取得部464から取得した印刷データと印刷設定に従って、印刷ジョブ生成部466にジョブの生成を依頼する。印刷ジョブ生成部466は制御部467の依頼に従ってジョブを生成し、ジョブ管理部451に生成したジョブを登録する。ジョブ状態送信部463は、印刷サービス470で管理されるジョブ状態の変更を通知するモジュールである。ジョブ状態送信部463は、印刷が完了した場合などジョブの状態が変更された場合に、印刷制御部の指示に従ってジョブ状態受信部484に対してジョブ状態変更通知を送信する。
【0048】
印刷サーバ103は、印刷サービス470を有する。印刷サービス470は、印刷サービス提供部475、印刷データ情報取得部471、制御部472、プリンタ情報格納部473、ジョブ状態格納部474、およびプリンタ通信モジュール480を有する。印刷サーバ103は、Webアプリケーション410から印刷データを取得する。そして、印刷サーバ103は、プリンタ、またはそれに準拠するインターフェースを持つモジュールに対して印刷データを送信し、印刷を遂行する。
【0049】
印刷サービス提供部475は、印刷指示受付部476、プリンタ情報提示部477、ジョブ状態提示部478を有する。プリンタ情報提示部477は、Webアプリケーション410のプリンタ情報取得部413からの一覧リスト取得要求を受けたことに応じて、ユーザ情報を基にそのユーザが利用可能なプリンタの一覧リストを生成する。プリンタ情報提示部477は、図11(B)で示されるように、一覧リストを生成すると、プリンタ情報取得部413に送信する。印刷指示受付部476は、印刷設定を含む印刷指示をWebアプリケーション410の印刷指示部414から受信する。
【0050】
印刷データ情報取得部471は、印刷指示受付部476から印刷データ取得先情報を受信し、受信した印刷データ取得先情報を基にWebアプリケーション410から印刷対象となるコンテンツを取得する。また、印刷データ情報取得部471は、印刷指示受付部476から印刷設定とユーザが選択したプリンタIDを受信する。プリンタIDはプリンタ個々に割り振られた一意な識別子であり、印刷サービス470で管理されている。
【0051】
なお、印刷データ情報取得部471は、Webアプリケーション410から取得したコンテンツと印刷設定を基に、必要に応じてコンテンツを印刷データに変換する場合もある。すなわち、印刷設定でファイルフォーマット変換が指定されている場合、印刷データ情報取得部471は、コンテンツのファイルフォーマット変換を行う。また、印刷データ情報取得部471が、プリンタ情報格納部473に格納されているプリンタ情報から、印刷を実行する対象となるプリンタが印刷可能なファイルフォーマットを特定し、コンテンツをそのファイルフォーマットに変換しても良い。プリンタ情報には、印刷サーバから印刷の指示を出すことができるプリンタのプリンタIDや、プリンタ名、印刷可能なファイルフォーマットが記載されている。
【0052】
制御部472は、印刷データ情報取得部471から印刷データ、印刷設定、プリンタIDを取得する。プリンタ通信モジュール480は、印刷サービス通信モジュール461を有する装置と通信を行うことが可能であり、2者間のデータ通信のインターフェースである。プリンタ通信モジュール480は印刷データ格納部481、印刷設定格納部482、印刷通知送信部483、ジョブ状態受信部484を有する。
【0053】
印刷データ格納部481は、制御部472から印刷データを受信し格納する。印刷設定格納部482は、制御部472から印刷設定を受信し格納する。制御部472は、印刷データ格納部481、および印刷設定格納部482から格納が終了した旨を受信したことに応じて、印刷通知送信部483に通知情報を送るように指示をする。ジョブ状態受信部484は、印刷サービス通信モジュール461のジョブ状態受信部463からジョブ状態変更通知を受信し、ジョブ状態格納部474に格納する。ジョブ状態格納部474は、ジョブ状態提示部478から、ジョブIDを受信して、受信したジョブIDに対応するジョブ状態をジョブ状態提示部478に送信する。
【0054】
ジョブ状態提示部478は、Webアプリケーション410のジョブ状態取得部415からジョブIDを伴う依頼を受信し、その依頼に従ってジョブ状態格納部474にジョブIDを送信する。また、ジョブ状態提示部478は、該当ジョブのジョブ状態をジョブ状態格納部474から受信し、ジョブ状態取得部415に送信する。
【0055】
印刷通知送信部483は、制御部472から通知情報を送るように指示されたことに応じて、印刷データの格納場所、および印刷設定の格納場所を制御部472から取得し、通知情報を生成する。また、印刷通知送信部483は、プリンタIDを制御部472から取得し、プリンタ情報格納部473が格納している情報を基にプロキシIDを特定する。プロキシIDは印刷サービス通信モジュール461個々に割り振られた一意な識別子であり、印刷サービス470で管理されている。印刷通知送信部483は、特定したプロキシIDを持つインターフェースに対して、そのプロキシが管理するプリンタIDに対する印刷データが準備できたことを通知するため通知情報を送信する。
【0056】
この通信情報は、印刷サービス独自の通信方式に準拠しており、通信にはこの独自の通信方式を解釈可能なインターフェースの実装が必要となる。プリンタに実装すればプリンタを直接印刷サーバに登録することができるし、サーバやクライアントなどの通信可能な装置に実装すればプロキシとして登録可能となる。本実施例では、印刷サービス通信モジュール461がこの独自の通信方式を解釈可能なインターフェースを実装しており、プリンタ通信モジュール480との通信が可能となっている。
【0057】
なお、プリンタ通信モジュール480と、印刷サービス通信モジュール461が通信を行えるような仕組みを、印刷サーバ103を提供するベンダーの仕様と呼ぶ。そして、この仕様は、印刷サーバ103を管理しているベンダーに深く依存する。印刷サーバ103を管理しているベンダーは、印刷サーバ103にプリンタ通信モジュール480を実装し、印刷サービス通信モジュール480と通信を行うための印刷サービス通信モジュールの仕様を公開する。プリンタ通信モジュール480、および印刷サービス通信モジュール461のインターフェースは、印刷サーバ103を管理しているベンダーが公開するデータ通信の仕様に準じて作成されるインターフェースである。
【0058】
ここで、本実施形態における情報処理システムにおいて、サービスプロバイダを利用する流れを説明する。図5は、本実施形態における情報処理システムにおいて、サービスプロバイダを利用してスキャンを実行する一連の処理を示したシーケンス図である。
【0059】
まず、ユーザがMFP101のユーザ入力装置206から、Webブラウザ420の起動を行うためのボタン(不図示)押下を受けつけると、Webブラウザ420を起動する。前記ボタンは、ハードウェアボタンに限ったものではなく、タッチパネル上に表示されたボタンでも良い。Webブラウザ420は、起動するとWebサーバ102上のWebアプリケーション410に設定画面のリクエストを行う。本例では、設定画面のコンテンツを示すURLがあらかじめMFP101に設定されているものとする。
【0060】
S500では、Webブラウザ420は、前記URLで示されるコンテンツを保持するWebアプリケーション410に対して、HTTPのGETコマンドによるリクエストを行う。具体的には、Webブラウザ420が通信部421を介してHTTPプロトコルによりWebサーバ102のWebアプリケーション410と通信を行う。これにより、Webブラウザ420からWebアプリケーション410へのリクエストが行われる。以下、通信部421の動作は省略して説明する。
【0061】
S501では、Webアプリケーション410のロジック部412は、S500のリクエストに応じて、設定画面のHTMLデータを作成する。プレゼンテーション部411は、HTTPのレスポンスとして、WebブラウザにHTMLデータを送信する。Webブラウザ420の解析部422は、受け取ったHTMLデータを解析し、画面表示部423を介してUI表示装置207に設定画面の表示を行う。
【0062】
S502では、Webブラウザ420は、Webアプリケーション410に対して、処理の実行を指示する。ユーザにより、S501で表示された設定画面のボタンが押されると、Webブラウザ420は、前記設定画面で設定されたパラメーターをWebアプリケーション410に通知する。すなわち、Webブラウザ420は、印刷要求を作成し、Webアプリケーション410は、Webブラウザ420から依頼された印刷要求を受け付ける。Webブラウザ420から通信にはHTTPプロトコルのPOSTコマンドを利用する。
【0063】
図6(A)は、図5のS503におけるサーバ処理フローを示した図である。Webアプリケーション410のロジック部は、レスポンスを生成する。
【0064】
S600では、Webアプリケーション410は、図5のS502でWebブラウザ420が通知した情報を受け付ける。S601では、ロジック部412は、S502のPOSTコマンドで送信された情報を元に、HTTPレスポンスヘッダ800を生成する。
【0065】
S602では、ロジック部412がS502のPOSTコマンドで送信された情報を元に、HTTPレスポンスボディとして、MFP101での処理実行のための処理要求900を生成する。S603では、Webアプリケーション410は、前記S601、S602で生成したHTTPレスポンスヘッダと、HTTPレスポンスボディを合わせてHTTPレスポンスとしてWebブラウザ420に送信する。
【0066】
図6(B)は、図5のS503からS509におけるMFP101の処理フローを示した図である。S700、S701、S702は、図5のS504に対応する。S700では、Webブラウザ420は、S603でWebアプリケーション410が送信したHTTPレスポンスを受信する。HTTPレスポンスは、HTTPレスポンスヘッダ800とHTTPレスポンスボディが含まれる。
【0067】
S701では、解析部422は、前記S700で受信したHTTPレスポンスヘッダのContent−Typeフィールドがapplication/vnd.eeeee.webserviceであるかを確認する。そうであった場合はS702に進む。そうでない場合は、S710に進む。
【0068】
S702では、転送アプリ起動部424は、転送アプリケーション430の制御部432に対して、前記S700で受信したHTTPレスポンスボディをサービスプロバイダ440に転送するように依頼する。このとき、転送に必要な情報として、前記S700で受信したHTTPレスポンスヘッダも制御部432に渡す。
【0069】
S703、S704は、図5のS505に対応する。S703では、制御部432は、前記ステップ702で受信したHTTPレスポンスヘッダに記載されている宛先801を宛先として、前記S700で受信したHTTPレスポンスボディを、動作要求送信部431を介して送信する処理を開始する。本実施例では制御部432は、HTTP
POSTコマンドで送信するが、他の送信方法でも良い。また、制御部432は現在の時刻を取得しタイムアウトの監視を開始する。
【0070】
S704では、制御部432は、前記S703で開始した送信処理にかかった時間が、後述のタイムアウト時間802に指定された時間を超えていないか判断する。S703において、制御部432が、転送が終了するまでにタイムアウト時間802を超えなかったと判断した場合、S705に進む。制御部432が、転送が終了するまでにタイムアウト時間802を超えたと判断した場合、S709に進む。
【0071】
S705、S706は、図5のS506に対応する。S705では、サービスプロバイダ440は、S703で転送アプリケーション430が送信した処理要求900を動作要求受信部441で受信し、処理要求900に従って処理部442でジョブを生成する。また、実行結果1000をレスポンスとして、動作要求受信部441を介して転送アプリケーション430に送信する処理を開始する。
【0072】
S706では、制御部432は、前記S705で開始した送信処理にかかった時間が、後述のタイムアウト時間802に指定された時間を超えていないか判断する。制御部432が、前記S705における転送が終了するまでにタイムアウト時間802を超えなかったと判断した場合、S707に進む。制御部432が、転送が終了するまでにタイムアウト時間802を超えたと判断した場合、S709に進む。
【0073】
S707、又はS709は、図5のS507に対応する。S707では、転送アプリケーション430の制御部432は、実行結果1000を、動作要求送信部431を介して受信する。その後、Webブラウザ420のアップロード処理部425に対して、実行結果1000をWebアプリケーション410に対してアップロードするように依頼する。制御部432は、アップロードを依頼する際、アップロード処理部425に対してアップロードの宛先としてアップロード宛先804を指定する。アップロード宛先804はHTTPレスポンスヘッダ800に記載されているが、転送アプリケーション430からアップロード処理部425を指定せず、Webブラウザ420がこの情報を記憶しておいてその情報を使用してもよい。また宛先を固定値とし、Webアプリ410から指定しないシステムとしても良い。
【0074】
S709では、転送アプリケーション430の制御部432は、エラー結果1100を生成する。その後、Webブラウザ420のアップロード処理部425に対して、エラー結果1100をWebアプリケーション410に対してアップロードするように依頼する。依頼に際して、制御部432は、アップロード処理部425に対してアップロードの宛先としてアップロード宛先804を指定する。アップロード宛先804はHTTPレスポンスヘッダ800に記載されているが、転送アプリケーション430からアップロード処理部425を指定せず、Webブラウザ420がこの情報を記憶しておいてその情報を使用してもよい。また宛先を固定値とし、Webアプリケーション410から指定しないシステムとしても良い。
【0075】
S708は、図5のS508に対応する。S708では、アップロード処理部425は、通信部421を介してHTTP
POSTコマンドを用いて、制御部432からの依頼に従って実行結果1000、又はエラー結果1100のアップロードをWebアプリケーション410に対して依頼する。このとき、アップロード処理部425は、転送アプリケーション430の制御部432から依頼された宛先804に対してアップロードを依頼する。
【0076】
図5に戻り、S509では、Webアプリケーション410は、Webブラウザ420に対して、画面表示用のHTMLコンテンツをレスポンスする。なお、Webブラウザ420は、前記S700で、レスポンスを受信し、前記S701でHTTPレスポンスヘッダのContent−Typeフィールドがapplication/vnd.eeeee.webserviceでない場合、S710に進む。レスポンスを受け取ったWebブラウザ420は、S710において、解析部422によるHTMLデータの解析結果に基づいて、UI表示装置207に操作画面を表示する。
【0077】
図7(A)は、本実施例におけるWebアプリケーション410がWebブラウザ420に対して返すHTTPレスポンスヘッダを示す。HTTPレスポンスヘッダ800は、宛先801、タイムアウト時間802、転送時コンテントタイプ803、アップロード宛先804、コンテントタイプ805を有する。
【0078】
宛先801は、図6(B)のS703において、転送アプリケーション430が処理要求900であるHTTPレスポンスボディを転送する際の宛先である。宛先801は複数のサービスプロバイダが公開するサービスの何れかを指し示す。
【0079】
タイムアウト時間802は、前記S703、S705において、転送アプリケーション430の制御部432が動作要求送信部431を介して、サービスプロバイダ440と通信する際のタイムアウト時間を秒単位で示す。制御部432は、サービスプロバイダと通信を行っている間、処理時間を計測し、タイムアウト時間802で指定された時間を超えた場合、通信を停止する。
【0080】
転送時コンテントタイプ803は、S703において、転送アプリケーション430が、サービスプロバイダ440にHTTPレスポンスボディを転送する際にHTTPヘッダ800のContent−Typeフィールドに記載する内容である。HTTP
Postコマンドを用いた転送の際に、転送先のサービスプロバイダ440が正しく理解できるContent−Typeを記載する必要があるためである。転送時コンテントタイプ803が省略されている場合は、転送アプリケーション430が転送時にデフォルトの値を設定するようにしても良い。
【0081】
アップロード宛先804は前述の通り、前記S707、S709においてWebブラウザが処理結果1000をWebアプリケーション410にアップロードを依頼する際の宛先である。
【0082】
コンテントタイプ805は前述の通り、前記S701において受信したHTTPレスポンスボディの内容が、処理要求か、Webブラウザ420に表示するHTMLコンテンツかの判断に用いる。
【0083】
図7(B)は、Webアプリケーション410で生成され、Webブラウザ420にレスポンスとして返される処理要求900の内容を示す図である。処理要求900は、スキャン要求901と送信要求902を有する。処理要求900はXML(eXtensible Markup Language)フォーマットで記載されているが、MFP101に対する処理が記載できて、MFP101が処理できる形式であれば何でもよい。
【0084】
スキャン要求901は、MFP101に対してスキャン処理の実行を要求する命令である。また、スキャン要求901には、スキャンの制御に関わる設定値を記載することができる。例えば、DocumentSizeタグでスキャンする原稿のサイズを指定したり、Colorタグでスキャン時のカラーモード(オート、カラー、グレイスケール等)を指定したりできる。
【0085】
送信要求902は、MFP101に対してスキャン結果画像の送信を要求する命令である。また、送信要求901には、送信の制御に関わる設定を記載することができる。例えば、Protocolタグで送信プロトコルを指定したり、Destinationタグで宛先を指定したり、FileFormatタグで送信する際にどの画像フォーマットに変換してから送信したりすることができる。
【0086】
図8(A)はサービスプロバイダ440が返す処理結果の内容を示す図である。処理結果1000はジョブ結果1001を有する。ジョブ結果1001は、前記S705で実行されたジョブの結果がResultCodeタグに記載されている。正常に終了した場合はOKコードが記載され、エラーが発生した場合はエラーコードが記載される。Webアプリケーション410は、Webブラウザ420のアップロード処理部425を介してこの処理結果1000を受信することにより、ユーザに対して処理結果に応じたHTMLコンテンツを生成し、Webブラウザに送信することができる。
【0087】
図8(B)は、転送アプリケーション430においてエラーが発生した際に、転送アプリケーション430の制御部432が生成するエラー内容を示す図である。エラー結果1100には、エラーコードと、転送アプリケーション430がサービスプロバイダ440とHTTPプロトコルで通信した際のHTTPステータスコードが記載されている。
【0088】
転送アプリケーション430における動作要求送信部431や制御部432でエラーが発生した際、制御部432はエラー結果1100を生成する。そして、前記S705で処理結果のアップロードを依頼したのと同様に、エラー内容のアップロードをWebブラウザ420に依頼する。本実施例では、Content−Typeをapplication/x−www−form−urlencodedとし、パラメーターとしてエラーコードとHTTPステータスコードを送信する。
【0089】
例えば、転送アプリケーション430がサービスプロバイダ440と通信を行っている間にタイムアウト時間802で指定された時間を超えた場合、この通信を停止し、エラーコードをTIMEOUT_ERRORとしてエラー結果を生成する。また、サービスプロバイダが異常なHTTPステータスコードを返してきた場合、そのステータスコードと、エラーコードとしてSTATUS_CODE_ERRORを記載してエラー結果を生成する。
【0090】
次に、本発明のコンテンツ印刷システムにおいて、印刷を実行する流れを説明する。図9および図10は、本実施形態におけるコンテンツ印刷システムにおいて、印刷サービス利用して印刷を実行する一連の処理を示したシーケンス図である。まず、ユーザがMFP101のユーザ入力装置206から、Webブラウザの起動を行うためのボタン(不図示)押下を受けつけると、Webブラウザ420が起動する。
【0091】
S1201では、Webブラウザ420は、Webサーバ102上のWebアプリケーション410にHTTPのGETコマンドによるログイン画面のリクエストを行う。本例では、ログイン画面のコンテンツを示すURLは、あらかじめMFP101に設定されているものとする。具体的には、Webブラウザ420が通信部421を介してHTTPプロトコルによりWebサーバ102のプレゼンテーション部411と通信を行う。これにより、Webブラウザ420からWebアプリケーション410へのリクエストが行われる。以下、通信部421の動作は省略して説明する。
【0092】
S1202では、Webアプリケーション410のロジック部412が、前記S1201のリクエストに応じて、ログイン画面のHTMLデータを作成する。プレゼンテーション部411は、作成された画面をHTTPのレスポンスとして、Webブラウザ420に送信を行う。Webブラウザ420の解析部422は受け取ったHTMLデータを解析し、画面表示部423は、UI表示装置207にログイン画面の表示を行う。
【0093】
図11(A)はログイン画面の例である。ユーザは、ID入力欄1301、パスワード入力欄1302に、それぞれ、印刷サービス470を利用するために必要なIDとパスワードを入力する。
【0094】
ユーザにより、S1202で表示されたログイン画面のログインボタン1303が押されると、Webブラウザ420は、Webアプリケーション410に対して、ログインの実行を指示する(S1203)。すなわち、Webブラウザ420は、前記ログイン画面で設定されたIDとパスワードをWebアプリケーション410に通知する。通信にはHTTP/HTTPSプロトコルのPOSTコマンドを利用する。
【0095】
S1204では、Webアプリケーション410のプリンタ情報取得部413は、前記ステップ1203で通知されたIDとパスワードを用いて印刷サービス470にログインを行う。次に、プリンタ情報取得部413は、プリンタ情報を取得するため印刷サービス470のプリンタ情報提示部477にリクエストを送る。なお、ログイン方法は、Basic認証や、Webサービスによる認証など、ユーザの権限の正当性を検証することができればどのような方法でも良い。S1205では、プリンタ情報提示部477は、制御部472を介してプリンタ情報格納部473からプリンタ情報を取得し、プリンタ情報取得部413に送信する。
【0096】
図11(B)はプリンタ情報の例である。プリンタ情報には、ユーザが利用可能なプリンタID1301とプリンタ名が含まれる。S1206では、Webアプリケーション410のロジック部412は、前記S1205で取得したプリンタ情報を元に、プリンタ選択や印刷の設定が可能な印刷設定画面を生成する。次にプレゼンテーション部411は生成された画面をWebブラウザ420に送信する。Webブラウザ420の解析部422は、受け取った印刷設定画面のHTMLデータを解析し、画面表示部423を介してUI表示装置207に印刷設定画面の表示を行う。
【0097】
図11(C)は印刷設定画面の例である。プリンタ選択リストボックス1304には、ユーザが利用可能なプリンタの一覧が設定されており、ユーザは印刷を実行するプリンタを選択する。本実施例ではユーザは、MFP101に対応するプリンタを選択する。また、図11(C)の例では、サイズ選択リストボックス1305、カラー選択リストボックス1306、両面印刷選択リストボックス1307が存在し、ユーザは、印刷用紙サイズや、印刷カラーモード、片面/両面設定を行うことができる。
【0098】
ユーザにより、S1206で表示された印刷設定画面の実行ボタン1308が押されると、Webブラウザ420は、Webアプリケーション410に対して印刷要求を指示する(S1207)。すなわち、Webブラウザ420は、前記印刷設定面で設定された情報をWebアプリケーション410に通知する。通信にはHTTPプロトコルのPOSTコマンドを利用する。
【0099】
S1208では、Webアプリケーション410の印刷指示部414は、印刷サービス470の印刷指示受付部476に対して印刷指示を送信する。すなわち、印刷指示部414は、Webブラウザ420から依頼された印刷要求に応じて、ネットワークを介して印刷サービスに対して印刷指示を行う印刷指示手段として機能する。印刷指示受付部476は、印刷指示を受信すると、当該印刷指示を制御部472に渡す。
【0100】
図12(A)は、印刷サービス470に送信された印刷指示の例である。印刷サービスに対する印刷指示は、前記ステップ1207でWebアプリケーション410に送信された使用されるプリンタのプリンタID1401と印刷設定1402を含む。また印刷設定1402には、印刷コンテンツの所在1403が記載されている。印刷指示部414は、この時、印刷設定がファイルフォーマット変換に関する設定を含む場合に、印刷サービス470に印刷設定に応じたファイルフォーマット変換を行わせる。印刷サービス470は、ファイルフォーマット変換を行うことにより印刷データを生成する。
【0101】
S1209では、印刷データ情報取得部471が、制御部472の指示に従って、前記印刷設定に含まれる印刷コンテンツの所在1403で示される場所から印刷データを取得するため、Webアプリケーション410にリクエストを送る。ステップ1210では、Webアプリケーション410は、前記ステップ1209のリクエストのレスポンスとして印刷データ情報取得部471に印刷データを送り、印刷データ情報取得部471が当該印刷データを制御部472に渡す。
【0102】
印刷コンテンツはWebアプリケーション410が保持しても良いし、他のファイルサーバが保持していても良い。また、本実施例では、印刷データは印刷データ情報取得部471からWebアプリケーション410にリクエストを行うことにより取得されるが、Webアプリケーション410からS1208の印刷実行要求時に印刷サービス470に送信する構成を用いてもよい。また、本実施例では、印刷データ取得の際の通信プロトコルはHTTP/HTTPSを想定しているが、印刷サービス470が印刷データを取得できればその他のプロトコルでもよい。
【0103】
S1211では、制御部472は、印刷データを印刷データ格納部481に格納し、印刷サービス印刷設定を印刷設定格納部482に格納する。ユーザが印刷設定でファイルフォーマットを指定している場合、S1211で印刷データ情報取得部471は、使用されるプリンタのプリンタ情報から印刷可能なデータ形式を参照する。そして必要に応じてデータ形式の変換を行う。また、本実施例では、印刷データ情報取得部471が取得した印刷データからデータ形式を判断するが、S1208において、Webアプリケーション410が、変換する印刷データのデータ形式を指示するようにしてもよい。印刷指示受付部476は、印刷データ格納部481、および印刷設定格納部482から格納が終了した旨を受信したことに応じて、ジョブ情報を生成し、ジョブ状態格納部474に格納する。このジョブ情報にはジョブを識別するための一意なIDであるジョブIDと、ジョブの実行ステータスを表すジョブ状態が含まれる。
【0104】
S1212では、印刷指示受付部476は、ジョブ状態格納部474にジョブ情報を格納すると、S1208の印刷指示リクエストに対するレスポンスを印刷指示部414に返す。
【0105】
図12(B)は、印刷サービス470に送信された印刷指示に対するレスポンスの例である。S1211で印刷指示受付部476が生成したジョブ情報に含まれるジョブID1404が記載されている。S1213では、Webアプリケーション410のロジック部412は実行中画面を生成する。次にプレゼンテーション部411は生成された画面をWebブラウザ420に実行中画面を送信する。
【0106】
図13(A)は、実行中画面の表示例である。本実施例では「印刷実行中です。」が表示される。また、図13(C)は、図13(A)の実行中画面のHTMLデータである。実行中画面のデータにはポーリング設定1501が記載されており、Webブラウザ420は、このポーリング設定1501に従って、Webアプリケーション410に対して一定時間経過後にリクエスト(ジョブ情報画面の取得要求)を送信する。ジョブ情報画面の取得要求は、印刷サービス470が管理するジョブ状態に応じたジョブ情報画面の送信を求める要求である。
【0107】
S1214では、印刷通知送信部483が、制御部472の指示に従って、印刷サービス通信モジュール460の印刷通知受信部465に、プリンタ印刷指示を送信する。本実施例では、印刷通知送信部483から印刷通知受信部465にプリンタ印刷指示を送信するが、印刷通知受信部465から、定期的に印刷通知送信部483にプリンタ印刷指示をリクエストする構成を用いても良い。
【0108】
図14は、プリンタ印刷指示の例である。プリンタ印刷指示には、印刷データ取得先情報1601と印刷設定取得先情報1602が含まれる。
【0109】
S1215では、印刷通知受信部465は、プリンタ印刷指示を受け取ると、印刷通知送信部483に対して応答を返す。
【0110】
S1216では、印刷データ取得部462は、プリンタ印刷指示の印刷データ取得先情報1601に記載されている場所に、印刷データを要求する。また、印刷設定取得部464は、プリンタ印刷指示の印刷設定取得先情報1602に記載されている場所に、プリンタ印刷設定を要求する。
【0111】
S1217では、印刷データ格納部482は、S1216の要求のレスポンスとして、印刷データ取得部462に印刷データを送信する。印刷データ取得部462は、受信した印刷データを制御部467に渡す。また、印刷設定格納部482は、S1216の要求のレスポンスとして、プリンタ印刷設定取得部464にプリンタ印刷設定を送信する。印刷設定取得部464は、受信した印刷設定を制御部467に渡す。
【0112】
図15はプリンタ印刷設定の例である。プリンタ印刷設定には、印刷用紙サイズや、カラー設定、両面設定などが記載されている。
【0113】
S1218では、制御部467は、S1216、S1217で取得した印刷データ、プリンタ印刷設定を元に印刷ジョブ生成部466にプリンタ印刷ジョブの生成を依頼する。印刷ジョブ生成部466は、印刷ジョブ生成の依頼を受けると、プリンタ印刷ジョブを生成し、ジョブ管理部451に登録する。ジョブ実行部452はジョブ管理部451を監視しており、ジョブ管理部にプリンタ印刷ジョブが投入されると、ジョブ実行部452にはプリンタ印刷ジョブを実行する。
【0114】
S1219では、制御部467は、プリンタ印刷ジョブが完了したことに応じて、ジョブ状態送信部463にジョブ状態送信の指示を出す。ジョブ状態送信部463は、印刷制御部の指示に従って、ジョブ状態受信部484にジョブ状態変更通知を送信する。ジョブ状態受信部484は、ジョブ状態変更通知を受信すると、制御部472にジョブ状態変更通知を渡す。制御部472は、この印刷状態の変更通知に従って、ジョブ状態格納部474に格納されているジョブのジョブ状態を更新し、更新後のジョブ状態を管理する。この際、制御部472はジョブ状態変更通知に記載されているジョブIDと一致するジョブのジョブ状態を更新する。
【0115】
図16(A)はジョブ状態変更通知の例である。ジョブ状態変更通知は、ジョブ状態が変更されるジョブのジョブID1801と、変更後のステータス1802を含む。S1220では、ジョブ状態受信部484は、ジョブ状態送信部463に対して、ジョブ状態変更通知に対するレスポンスを返す。
【0116】
図16(B)は、ジョブ状態変更通知に対するレスポンスの例である。このレスポンスには、ジョブ状態の変更が成功したかどうかが記載されている。ジョブ状態送信部463は、ジョブ状態変更の成否によって、印刷状態変更通知を再送しても良い。
【0117】
S1221では、Webブラウザ420は、S1213で受信した実行中画面に記載されているポーリング設定1501に従って、Webアプリケーション410に対して、定期的にリクエスト(ジョブ情報画面の取得要求)を送信する。そして、Webアプリケーション410は、Webブラウザ420からジョブ情報画面の取得要求を定期的に受け付ける。
【0118】
S1222では、Webアプリケーション410のジョブ状態取得部415は、印刷サービス470のジョブ状態提示部478に対して、ジョブ状態取得要求を送信する。
【0119】
図17(A)は、ジョブ状態取得要求の例である。ジョブ状態取得要求1901は、対象となるジョブを特定するためのジョブID1901を含む。S1223では、ジョブ状態提示部478は、ジョブ状態格納部から対象となるジョブのジョブ状態を取得し、ジョブ状態取得要求に対するレスポンスを生成して、ジョブ状態取得部415に送信する。
【0120】
図17(B)は、ジョブ状態取得要求に対するレスポンスの例であり、ジョブ状態1902を含む。ジョブ状態取得部415は、このレスポンスが含むジョブ状態1902を取得する。すなわち、ジョブ状態取得部415は、印刷サービス470が管理するジョブ状態(印刷状態)をネットワークを介して取得する印刷状態取得手段として機能する。
【0121】
具体的には、Webアプリケーション410のジョブ状態取得部415が、Webブラウザ420からジョブ情報画面の取得要求を受け付けたことを契機として(S1221)、印刷サービス470から印刷状態を取得する。前述したように、Webブラウザ420は、ポーリング設定1501に従って、ジョブ情報画面の取得要求を行う。従って、ジョブ状態取得部415は、印刷指示部414が印刷サービス470に対して印刷指示を出した後に定期的にポーリングを行うことによって、印刷サービス470からジョブ状態を取得することになる。
【0122】
S1224では、ロジック部412は、S1223で取得したジョブ状態取得要求に対するレスポンスが示すジョブ状態に応じたジョブ情報画面を生成する。すなわち、ロジック部412は、取得した印刷状態に応じてジョブ情報画面を生成する画面生成手段として機能する。ロジック部412は、取得されたジョブ状態が変更された場合に、該印刷状態に応じた更新画面を生成する。この例では、Webアプリケーション410のジョブ状態取得部415は、MFP101がジョブ状態変更通知を印刷サービス470に送信した後(図10のS1219)に、印刷サービス470から当該レスポンスを受信する。従って、当該レスポンスが含むジョブ状態1902は、上記ジョブ状態変更通知がされる前のジョブ状態から変更されている。その結果、ロジック部412は、当該変更後のジョブ状態に応じた更新画面を生成する。
【0123】
次に、プレゼンテーション部411は、ロジック部412が生成したジョブ情報画面をWebブラウザ420に送信する。すなわち、プレゼンテーション部411は、ロジック部412が生成したジョブ情報画面を、ネットワークを介してWebブラウザ420に送信する画面送信手段として機能する。Webブラウザ420の画面表示部423は、プレゼンテーション部411から受信したジョブ情報画面を表示する。本実施例では、S1223において、印刷完了を示すステータスが取得されており、Webアプリケーション410は、完了画面を生成して、Webブラウザ420に送信する。
【0124】
図9および図10を参照した上記説明から、MFP101は、印刷サービス470が生成した印刷データを印刷サービス470から取得して印刷を実行する(図10のS1218)。そして、MFP101は、印刷状態が変化する度に印刷サービス470に対して当該変化した印刷状態を通知して管理させる(図10のS1219)。そして、Webアプリケーションサーバ102の印刷状態取得部415が、印刷サービス470が管理する、当該変化した印刷状態を取得する(図10のS1223)。
【0125】
印刷が完了していない場合、プレゼンテーション部411は、ポーリング設定1501が記載されたコンテンツをとともにWebブラウザ420に送信する。その後S1221に進む。印刷が完了した場合、完了画面では図13(B)に示されるように、画面表示部423は、「印刷が完了しました!」を表示する。
【0126】
以上のように、実施例1では、ファイルフォーマット変換機能を持った外部の印刷サービスを利用して印刷を実行することにより、ファイルフォーマット変換への要求に低コストで答えてWebアプリケーションからの印刷機能を提供することができる。また、ジョブの状態が変化した際に、外部印刷サービスにおいて変化したジョブ状態を示すジョブ情報画面をWebアプリケーションからWebブラウザに通知する。これによりWebブラウザの画面を定期的に更新させるコンテンツを配信する仕組みが構築され、外部印刷サービスで提供されるジョブの状態の変化に伴って、印刷状態毎にデバイスのジョブ情報画面を更新することができる。
【0127】
(実施例2)
実施例1では、Webアプリケーション410がWebブラウザ420にジョブ状態を要求することで印刷サービス470からジョブ状態を取得する。ここで、印刷サービス470のジョブ状態は、MFPの印刷プロキシ467が印刷サービス470に通知することで更新される。そしてWebブラウザの画面表示部423に更新画面を表示させるためには、Webアプリケーション410から印刷サービス470に定期的にポーリングする必要がある。しかしながら、Webアプリケーション410が印刷サービス470に対して頻繁にポーリングするのでは、Webアプリケーションサーバ102の負担が大きい。
【0128】
そこで、実施例2では、印刷プロキシを含むMFPから、ジョブ状態の更新があった際に直接Webアプリケーション410にジョブ状態を通知させる処理を行う。以下、図を用いて、実施例1との差分を説明する。
【0129】
図18は、サービスプロバイダ440の処理部442の構成である。実施例2では、処理部442は、印刷状態受信手段として機能するジョブ状態受信部2001、ジョブ状態通知部2002、タイマー監視部2003、および制御部2004を備える。
【0130】
動作要求送信部431は、Webブラウザ420を介してWebアプリケーション410から動作要求を受信する。次に、動作要求受信部441は、動作要求送信部431から動作要求を受け取り、処理部442に渡す。処理部442の制御部2004は、動作要求受信部441で受け取った動作要求に従って、ジョブ状態受信部2001にジョブ状態の監視を指示する。ここで、実施例2における動作要求は、Webアプリケーション410から指定されたジョブ状態、すなわち印刷状態の変更通知の要求を含む。また、制御部2004は、ジョブ状態受信部2001からジョブ状態変更の通知を受信すると、印刷状態通知手段として機能するジョブ状態通知部2002にジョブ状態の通知を依頼する。
【0131】
以下、上述した動作要求の送信を詳細に説明する。まず、Webアプリケーションサーバ102は、Webブラウザ420から印刷実行要求を受け付けると、印刷サービス470にジョブの生成を依頼する。印刷サービス470はジョブを生成すると、Webアプリケーションサーバ102に生成したジョブを送る。図21のS2312に示すように、Webアプリケーションサーバ102は、生成されたジョブを受信する。次に、Webアプリケーションサーバ102のロジック部412は、該ジョブのジョブ状態の変更通知を求める処理要求を生成する。S2313では、プレゼンテーション部411は、生成された処理要求をMFP101のWebブラウザ420に対して送信する。なお、処理要求は、ジョブIDと、ジョブ状態も含む。処理要求が含むジョブIDは、ジョブ状態の変更通知に対応するジョブの識別情報である。本実施例では、処理要求が含むジョブ状態は、Webアプリケーションサーバ102によって指定されるジョブ状態である。しかし、この指定は、ユーザがWebブラウザ420から入力した内容によってWebアプリケーションで任意に変更して良い。また、ジョブIDは、Webアプリケーション410で生成してもよく、印刷サービス470で生成してもよい。
【0132】
なお、処理要求は、当該ジョブIDのジョブが当該指定されたジョブ状態になったことを条件として、ジョブ状態の変更通知を求める要求である。動作要求送信部431は、Webブラウザ420が受信した処理要求が含むジョブIDとジョブ状態とを動作要求として動作要求受信部441に送信する。この動作要求も、処理要求と同様に、当該ジョブIDのジョブが当該指定されたジョブ状態になったことを条件として、ジョブ状態の変更通知を求める要求である。つまり、動作要求送信部431は、Webアプリケーション410が指定した印刷状態を含む動作要求を送信する動作要求手段として機能する。本実施例では、動作要求は印刷完了要求を想定しているので、動作要求には、印刷完了(DONE)が記載される。
【0133】
また、ジョブ状態送信部463は、各ジョブ状態が変化した場合に、印刷サービス470のジョブ状態受信部484に対して、変化したジョブ状態を送信する。すなわち、ジョブ状態送信部463は、ネットワークを介して印刷サービス470に印刷状態を送信する印刷状態送信手段として機能する。更に、ジョブ状態送信部463は、ジョブ状態受信部484に対して、印刷サービス470に送信した印刷状態をジョブ状態受信部2001に送信する。
【0134】
図19は動作要求受信部441で受信した動作要求の例である。図19の動作要求には、通知するジョブのジョブID2101と、通知するジョブ状態2102(すなわち、印刷完了状態)と、通知先2103が記載されている。
【0135】
ジョブ状態受信部2001は、ジョブ状態送信部463からジョブ状態が変更されたことを受信し、制御部2004に、ジョブ状態が変更されたジョブのジョブIDとジョブ状態とを知らせる。ジョブ状態送信部463は、印刷サービス470のジョブ状態受信部484に送信したジョブ状態と整合するジョブ状態をジョブ状態受信部2001に送信する。すなわち、ジョブ状態受信部2001は、ジョブ状態送信部463が印刷サービス470に送信するジョブ状態を受信する受信手段として機能する。
【0136】
ジョブ状態受信部2001は、ジョブ状態送信部463から受信したジョブIDとジョブ状態とを制御部2004に渡す。制御部2004は、ジョブ状態受信部2001から受け取ったジョブIDおよびジョブ状態と、動作要求に含まれるジョブIDおよびジョブ状態とを比較する。ジョブ状態受信部2001から受け取ったジョブ状態が動作要求に含まれるジョブ状態である場合、制御部2004は、ジョブ状態通知部2002にジョブ状態変更通知を依頼する。
【0137】
すなわち、制御部2004は、動作要求が含むジョブ状態とジョブ状態受信部2001が受信したジョブ状態を比較し、比較結果に基づいてジョブ状態の変更通知を生成する変更通知生成手段として機能する。本実施例では、制御部2004がジョブ状態通知部2002にジョブ状態変更通知の依頼をするのは、以下の条件が成立した場合のみである。すなわち、動作要求送信部431から受信した動作要求が含むジョブIDおよびジョブ状態と、ジョブ状態受信部2001がジョブ状態送信部463から受信したジョブIDおよびジョブ状態とが一致した場合にのみジョブ状態変更通知の依頼が行われる。しかし、本発明は、制御部2004が、動作要求が含むジョブIDおよびジョブ状態と、ジョブ状態受信部2001が受信したジョブIDおよびジョブ状態との比較結果に基づいてジョブ状態変更通知の依頼をするのであれば、任意の条件を適用することができる。
【0138】
図22に示されるように、ジョブ状態通知部2002は、制御部2004の指示に従って、ジョブ状態変更通知2201を生成し、Webブラウザ420のアップロード処理部425にジョブ状態変更通知2201を渡す。Webブラウザ420は、Webアプリケーション410にジョブ状態変更通知2201を送信し、ジョブ状態をアップロードするように依頼する。すなわち、ジョブ状態通知部2002は、ジョブ状態変更通知を、Webブラウザ420を介してWebアプリケーションサーバ102に送信する通知手段として機能する。
【0139】
図20(A)は、ジョブ状態変更通知の例を示す。ジョブ状態変更通知には、ジョブ状態が変更されたジョブのジョブIDと、変更されたステータス(ジョブ状態)が記載されている。
【0140】
Webアプリケーションサーバ102のジョブ状態取得部415は、指定したジョブ状態に対応するジョブ状態を取得する。ロジック部412は、取得したジョブ状態に応じて更新画面を生成する。そして、プレゼンテーション部411は、ロジック部412が生成した更新画面を、ネットワークを介してWebブラウザ420に送信する。Webブラウザ420の画面表示部423が、プレゼンテーション部411から受信した更新画面を表示する。
【0141】
タイマー監視部2003は、制御部2004が動作要求受信部441を通じて動作要求を受け付けた際に、タイマーの監視を開始する。タイマー監視部2003は、一定時間が経つと制御部2004に知らせる。すなわちタイマー監視部2003は、制御部2004が動作要求を受信してから予め決められた時間が経過したかを判断するタイマー監視手段として機能する。なお、タイマーの監視はジョブID2101毎に行われる。
【0142】
制御部2004は、タイマー監視部2003からの通知を受け、予め定められた時間が経過したか否かを判断する。制御部2004は、予め定めた時間が経過したと判断した場合に、ジョブ状態受信部2001が受信した印刷状態が、動作要求に含まれるジョブ状態に変更されているかを判断する。すなわち、制御部2004は、動作要求に含まれるジョブ状態に変更されていない場合に、タイムアウトが発生したと判断するタイムアウト判断手段として機能する。
【0143】
具体的には、制御部2004は、タイマー監視部2003からジョブID2101を含む通知を受け取り、該当ジョブのジョブ状態が、通知するジョブ状態2102(すなわち、印刷完了状態)に変更されていない場合、タイムアウトと判断する。制御部2004がタイムアウトと判断した場合、まず、印刷プロキシ460の制御部467に該当ジョブをキャンセルするように依頼する。依頼をうけた制御部467は、ジョブ管理部451に登録された該当ジョブをキャンセルする。すなわち、制御部467は、タイムアウト判断手段(制御部2004)がタイムアウトが発生したと判断した場合に、動作要求に対応する印刷をキャンセルするキャンセル手段として機能する。より具体的には、制御部467は、該当ジョブのジョブ状態が、動作要求に含まれるジョブIDのジョブ状態に変更されていない場合、このジョブIDに対応するジョブをキャンセルする。
【0144】
ところで、ジョブ管理部451にジョブが存在しない場合、印刷ジョブ生成部466にてジョブが生成中である可能性がある。この場合、ジョブが生成された後にジョブ管理部451に当該ジョブが登録され、ジョブが実行される。その後、印刷状態の変更通知がジョブ状態送信部を介して印刷サービス470のジョブ状態受信部484に送信される可能性がある。そのため、制御部467は、ジョブ管理部451にジョブが存在しない場合、該当ジョブの印刷指示を受信したときに、そのジョブをキャンセルする。これによりWebアプリケーション410に通知されるジョブ状態と、印刷サービスに通知されるジョブ状態との整合をとることができる。タイムアウトが発生した場合、制御部2004は、ジョブ状態通知部2002に対して、エラーが発生したことを示すジョブ状態の変更通知を行うように依頼する。
【0145】
図20(B)は、タイムアウトした際のジョブ状態変更通知の例である。ジョブ状態にはERROR2202が記載される。本実施例では、タイムアウトまでの時間は固定であるが、動作要求にタイムアウトまでの時間を記載するようにして、Webアプリケーション410から時間を指定できるようにしても良い。
【0146】
図21および図22は本実施形態における情報処理システムにおいて、印刷サービス利用して印刷を実行する一連の処理を示したシーケンス図である。実施例1との差分について説明する。
【0147】
図22のS2325では、ジョブ状態送信部463は、ジョブ状態受信部2001に対して、ジョブ状態を変更するジョブのジョブIDと、変更後のジョブ状態を通知する。S2326では、ジョブ状態受信部2001は応答を返す。S2329では、ジョブ状態通知部2002は、Webブラウザ420のアップロード処理部425に、ジョブ状態変更通知を渡す。S2330では、アップロード処理部425がジョブ状態通知部2002に応答を返す。S2331では、アップロード処理部425は、前記S2329におけるジョブ状態通信部2002の依頼に従って、Webアプリケーション410にジョブ状態変更後のジョブ情報画面を要求する。アップロード処理部425は、この要求に、ジョブ状態変更通知を含める。これにより、Webアプリケーション410のジョブ状態取得部415は、当該ジョブ状態変更通知が含むジョブ状態を取得する。
【0148】
S2332では、Webアプリケーション410のロジック部412は、前記S2331で受信したジョブ状態変更通知が含むジョブ状態に応じたジョブ情報画面を生成する。次にプレゼンテーション部411は、生成されたジョブ情報画面をWebブラウザ420に対してレスポンスとして送信する。ジョブ状態が実行中であれば、図13(A)、図13(C)で示される実行中画面を返す。また、ジョブが完了していれば、図13(B)で示される印刷完了画面を返す。Webアプリケーション410がジョブの状態を管理している場合、受信したジョブ状態変更通知にしたがって状態を更新する。
【0149】
実施例2では、MFP101は、印刷サービス470が生成した印刷データを印刷サービス470から取得して印刷を実行する(図22のS2324)。そして、MFP101は、印刷状態が変化する度に印刷サービス470に対して当該変化した印刷状態を通知して管理させる(図22のS2327)。一方、Webアプリケーションサーバ102の印刷状態取得部415は、印刷サービス470が管理する、当該変化した印刷状態を取得する(図22のS2331)。すなわち、ジョブ状態取得部415は、印刷サービス470が生成した印刷データを印刷サービス470から取得して印刷を実行するMFP101が印刷状態が変化する度に印刷サービス470に対して通知して管理させる印刷状態を、MFP101から直接取得する。
【0150】
実施例2によれば、Webアプリケーション410がジョブ状態の更新を知るために、定期的に印刷サービス470にジョブ状態を問い合わせる必要がなくなる。同様に、Webブラウザ420も定期的にWebアプリケーション410にリクエストを行う必要がなくなる。従って、ジョブ状態が更新されてから、MFP101上の表示が更新されるまでの時間を短縮することができる。さらに、実施例2によれば、頻繁なポーリングによるMFP101とWebアプリケーションサーバ102の負荷を軽減することができる。
【0151】
(実施例3)
上述した実施例2では、サービスプロバイダ440の処理部442が備えるジョブ状態通知部2002は、Webブラウザ420を介して、Webアプリケーション410に対してジョブ状態変更の通知を行う。しかし、Webブラウザがアップロード処理部425に相当する機能やインターフェースを備えない場合には、サービスプロバイダ440は、Webブラウザを介してWebアプリケーション410にジョブ状態変更の通知を行うことはできない。そこで、実施例3では、ジョブ状態通知部2002が、Webブラウザ420を介さずに、直接Webアプリケーション410に通知する。これにより、アップロード処理部425に相当する機能やインターフェースの無い環境においても実施例2と同様の利点が得られる。
【0152】
(実施例4)
実施例1、実施例2、および実施例3において、印刷通知受信部465へのプリンタ印刷指示の送信を、印刷通知受信部465からのポーリングによって実現する場合がある。このとき、印刷通知受信部465がプリンタ印刷指示を受け取るまでに時間がかかることがあるという問題が存在する。また、その他にも、印刷サービス470に対して、複数のMFPが紐付いて運用されている場合、印刷サービス側の処理に遅れが生じ、即座にジョブ状態が反映されない可能性がある。
【0153】
上記の問題を解決するために、実施例4においては、サービスプロバイダ440の動作要求受信部441を通じて、処理部442が備える制御部2004に動作要求が来たことをトリガーとして、印刷通知受信部465から印刷通知送信部483に問い合わせを行う。この問い合わせは、印刷データの取得要求として機能する。印刷データ取得部462は、この問い合わせに応じた印刷通知送信部483から通知情報を受信し、受信した通知情報の記載内容に基づいて、印刷データ格納部481から印刷データを取得する。
【0154】
すなわち、実施例4においては、印刷通知受信部465は、制御部2004が動作要求を受信したことを契機として、ネットワークを介して、印刷サービス470に対して印刷データの取得要求を行う印刷データ要求手段として機能する。これにより、Webアプリケーション410から印刷サービス470に印刷指示がなされてから、印刷プロキシ460が印刷指示を受け取るまでのタイムラグを軽減することができる。
【0155】
実施例1〜4の説明において、図11(B)、図12、図14、図15、図16、図17、図19、図19はXML形式のデータである。しかしながら、そのデータ形式やそのデータを授受する際の通信プロトコルは問わない。例えば、JSON形式やSOAP形式を用いてデータが記述されていても良い。
【0156】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0157】
410 Webアプリケーション
420 Webブラウザ
430 転送アプリケーション
460 印刷プロキシ
470 印刷サービス

【特許請求の範囲】
【請求項1】
ネットワークを介して接続された、Webサーバと、印刷サービスと、前記Webサーバにより提供される画面を表示するWebブラウザを有する画像形成装置とを備える印刷システムであって、
前記Webサーバは、
前記画像形成装置から依頼された印刷要求に応じて、前記ネットワークを介して、前記印刷サービスに対して印刷指示を行う印刷指示手段と、
前記印刷サービスが管理する前記印刷指示に応じた印刷データの印刷状態を前記ネットワークを介して取得する印刷状態取得手段と、
前記印刷状態取得手段が取得した印刷状態に応じたジョブ情報画面を生成する画面生成手段と、
前記画面生成手段が生成したジョブ情報画面を前記ネットワークを介して前記Webブラウザに送信する画面送信手段とを備え、
前記印刷状態取得手段は、前記印刷サービスから前記印刷データを取得し印刷を実行する前記画像形成装置が前記印刷データの印刷状態が変化することに応じて通知してくる情報を基にして前記印刷サービスが管理する前記印刷データの印刷状態を取得する
ことを特徴とする印刷システム。
【請求項2】
前記印刷指示手段は、前記印刷要求がファイルフォーマット変換に関する設定を含む場合に、前記印刷サービスに前記設定に応じたファイルフォーマット変換を行わせることによって、印刷データを生成させ、
前記印刷状態取得手段は、前記印刷指示手段が前記印刷サービスに対して印刷指示を出した後に定期的にポーリングを行うことによって、前記印刷サービスから前記印刷状態を取得し、
前記画面生成手段は、前記印刷状態取得手段が取得する印刷状態が変更された場合に、該印刷状態に応じた更新画面を生成し、
前記画面送信手段は、前記生成された更新画面を前記ネットワークを介して前記Webブラウザに送信する
ことを特徴とする請求項1に記載の印刷システム。
【請求項3】
前記印刷状態取得手段は、前記画像形成装置から、前記印刷サービスが管理する印刷状態に応じたジョブ情報画面の取得要求を定期的に受け付け、該ジョブ情報画面の取得要求を受け付けたことを契機として、前記印刷サービスから前記印刷状態を取得する
ことを特徴とする請求項2に記載の印刷システム。
【請求項4】
前記画像形成装置は、
印刷状態が変化した場合に、前記ネットワークを介して前記印刷サービスに前記印刷状態を送信する印刷状態送信手段と、
印刷状態の変更通知を求める要求であって、前記Webサーバが指定した印刷状態を含む動作要求を前記印刷状態送信手段に送信する動作要求手段と、
前記印刷状態送信手段から、該印刷状態送信手段が前記印刷サービスに送信する前記印刷状態を受信する受信手段と、
前記動作要求手段から前記動作要求を受け付け、該動作要求が含む印刷状態と前記受信手段が受信した前記印刷状態とを比較し、該比較結果に基づいて、印刷状態の変更通知を生成する変更通知生成手段と、
前記Webブラウザを介して、前記印刷状態の変更通知を前記Webサーバに送信する通知手段とを備え、
前記Webサーバが備える前記印刷状態取得手段は、前記画像形成装置のWebブラウザを介して前記変更通知を受信し、受信した前記変更通知に対応する印刷状態を取得する
ことを特徴とする請求項1に記載の印刷システム。
【請求項5】
前記画像形成装置は、
前記変更通知生成手段が前記動作要求を受信してから予め決められた時間が経過したかを判断するタイマー監視手段と、
前記タイマー監視手段が、前記変更通知生成手段が前記動作要求を受信してから予め決められた時間が経過したと判断した場合に、前記受信手段が受信した印刷状態が前記動作要求が含む印刷状態に変更されているかを判断し、前記受信手段が受信した印刷状態が前記動作要求が含む印刷状態に変更されていない場合に、タイムアウトが発生したと判断するタイムアウト判断手段と、
前記タイムアウト判断手段がタイムアウトが発生したと判断した場合に、前記動作要求に対応する印刷をキャンセルするキャンセル手段とを有する
ことを特徴とする請求項4に記載の印刷システム。
【請求項6】
前記通知手段は、前記印刷状態の変更通知を前記Webサーバを介さずに前記Webサーバに対して通知する
ことを特徴とする請求項4または請求項5に記載の印刷システム。
【請求項7】
前記画像形成装置が、さらに、
前記変更通知生成手段が前記動作要求手段から前記動作要求を受信したことを契機として、前記ネットワークを介して、前記印刷サービスに対して前記印刷データの取得要求を行う印刷データ要求手段を備える
ことを特徴とする請求項4に記載の印刷システム。
【請求項8】
ネットワークを介して接続された、Webサーバと、印刷サービスと、前記Webサーバにより提供される画面を表示するWebブラウザを有する画像形成装置とを備える印刷システムにおける印刷制御方法であって、
前記Webサーバが、前記画像形成装置から依頼された印刷要求に応じて、前記ネットワークを介して、前記印刷サービスに対して印刷指示を行う工程と、
前記印刷サービスが、前記Webサーバから印刷指示を受け、該印刷指示に従って印刷データを生成する工程と、
前記画像形成装置が、前記印刷サービスから前記印刷データを取得し印刷を実行する工程と、
前記印刷サービスが、前記画像形成装置が前記印刷データの印刷状態が変更することに応じて通知してくる情報を基にして前記印刷データの印刷状態を管理する工程と、
前記Webサーバが、前記印刷サービスが管理する前記印刷指示に応じた印刷データの印刷状態を前記ネットワークを介して取得する工程と、
前記Webサーバが、前記取得した前記印刷サービスが管理する印刷状態に応じたジョブ情報画面を生成する工程と、
前記Webサーバが、前記生成したジョブ情報画面を前記ネットワークを介して前記Webブラウザに送信する工程とを含む
ことを特徴とする印刷制御方法。
【請求項9】
請求項8に記載の印刷制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2013−50804(P2013−50804A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2011−187668(P2011−187668)
【出願日】平成23年8月30日(2011.8.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】