説明

印刷データ作成サーバ及び印刷装置及び印刷システム

【課題】処理の実行に時間を要するウェブアプリケーションの場合には、ウェブブラウザとウェブアプリケーションとの間のインターネット接続を処理の完了まで維持する必要がある。
【解決手段】文書データから印刷データへの変換処理を提供するウェブアプリケーションサーバにおいて、変換処理自身はウェブアプリケーションとは非同期のソフトウェアプロセスとして提供し、ウェブアプリケーションは変換処理の実行依頼の受付のみを行う。また進捗確認はComet通信を用い、ウェブサーバは、HTTP要求に対する応答を遅延させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はクラウドコンピューティング環境において、印刷データを作成し、印刷するための印刷データ作成サーバ及び印刷装置及び印刷システムに関する。
【背景技術】
【0002】
ウェブアプリケーションサーバがネットワーク経由で提供する機能を、クライアント端末にインストールされたウェブブラウザを介して利用する形態のアプリケーション(以下、ウェブアプリケーション)が現在広く普及している。
【0003】
加えて近年では、ウェブアプリケーションに加えてウェブアプリケーションを運用するウェブアプリケーションサーバのハードウェア環境までをネットワーク経由で提供するクラウドコンピューティングサービスが普及してきている。クラウドコンピューティングサービスの代表的な例としては、米国Amazon.com(登録商標)が提供するAmazon Web Service、米国Microsoftが提供するWindows Azure(登録商標)が挙げられる。クラウドコンピューティングサービスの普及により、従来クライアント端末に特定のアプリケーションをインストールすることで実現していた処理であっても、今後ウェブアプリケーションとして提供することで、ウェブブラウザさえ備えれば実行可能となることが期待されている。
【0004】
このような技術背景において、アプリケーションによって作成された文書データを印刷装置が解釈して実行可能なデータ形式(以下、印刷データ)へと変換するプリンタドライバをウェブアプリケーションとして提供する方法が検討されている。ドライバアプリケーションをウェブアプリケーションとして提供し、既存の文書管理ウェブアプリケーションと連携することで、ウェブブラウザを搭載した印刷装置から直接、一元的に文書の閲覧、選択、編集、印刷までを行うことが可能となる。
【0005】
しかし、ドライバアプリケーションが実行する文書データから印刷データへの変換処理は、その要求を受け付けてから実行完了まで長時間を要することが予想される。そのような処理の場合、ウェブアプリケーションサーバが印刷データの変換処理の要求をHTTPリクエストにより受け付けてから処理が完了してHTTPレスポンスをウェブブラウザに返すまで間に、ウェブブラウザでタイムアウトが生じるおそれがある。またウェブサーバと実質的なサービスを提供するアプリケーションサーバとが異なる場合には、アプリケーションサーバによる処理時間が、ウェブサーバの待機時間を超えてタイムアウトが発生することもあり得る。このタイムアウトはウェブブラウザに応答として伝達される。
【0006】
タイムアウトを防止する従来技術としては、処理の実行中に一定時間周期でウェブブラウザがウェブアプリケーションサーバに処理の実行状況を問い合わせるポーリングと呼ばれる方法がある(例えば、特許文献1等参照)。ポーリングでは、ウェブブラウザは、ウェブアプリケーションサーバでの処理の実行中に、一定周期でHTTPリクエストの送信とHTTPレスポンスの受信を繰り返す。こうすることでタイムアウトの発生を防止し、処理が完了するまで擬似的にクライアントとウェブアプリケーションサーバとの接続を維持する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2003−022165号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、ウェブブラウザが処理を実行中のウェブアプリケーションサーバに対してポーリングを行い接続を維持する場合には、ウェブブラウザは、処理が完了するまで特定のURLに対してアクセスを繰り返す。そのため、ウェブブラウザは、処理が完了するまで特定のページを表示し続けなければならない。ドライバアプリケーションと文書管理アプリケーションとが異なるサーバによって提供される場合は、処理完了によりポーリングが終了するまで、当該ウェブブラウザは他のウェブアプリケーションサーバが提供する機能を実行することができなくなってしまう。
【0009】
また、ウェブブラウザがウェブアプリケーションサーバに対してポーリングを行い接続を維持する場合には、処理が完了するまでウェブブラウザを終了することができない。そのため、ウェブアプリケーションを利用するユーザが処理の完了まで印刷装置及びウェブブラウザを占有することになってしまう。
【0010】
本発明は上記従来例に鑑みて成されたもので、上記課題を解決することを目的とする。すなわち、ウェブアプリケーションとして提供されるプリンタドライバや文書処理アプリケーションを用いてウェブブラウザから印刷を要求した場合でも、ウェブアプリケーションの処理待ちの時間にはウェブブラウザを解放することができる印刷データ作成サーバ及び印刷装置及び印刷システムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために本発明は以下の構成を有する。すなわち、
Comet通信の手順に従い、指示された処理の進捗情報要求に対して当該処理が完了する前に応答設定時間が経過すれば空の応答を、当該処理が完了すれば完了の応答を前記指示をした端末装置に送信するサーバ装置と接続される端末装置であって、
前記サーバ装置に対して、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を送信し、該変換要求に対応した受信応答を前記サーバ装置から受信するブラウザ手段と、
前記サーバ装置に対して、特定文書データに対する前記変換要求に応じて前記サーバ装置で実行される変換処理の進捗状況を問い合わせる進捗情報要求を送信し、該進捗情報要求に対する応答を前記サーバ装置から受信する進捗確認手段とを備え、
前記ブラウザ手段は、前記受信応答を前記サーバ装置から受信すると、前記進捗確認手段に対して、前記変換要求で指定した文書データを前記特定文書データとして、前記変換処理の進捗の問い合わせを指示し、
前記進捗確認手段は、Comet通信の手順に従い、前記サーバ装置から空の応答を受信したなら、前記進捗情報要求を前記サーバ装置に対して送信する。
【0012】
あるいは、他の観点によれば本発明は以下の構成を有する。すなわち、
端末装置と通信するサーバ装置であって、
前記端末装置から、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を受信すると、該変換要求を受信した旨を示す受信応答を前記端末装置に送信する手段と、
前記変換要求を受信すると、前記変換要求に応じて前記文書データを前記印刷データに変換する変換処理を実行する変換手段と、
前記端末装置から前記変換要求に応じた変換処理の進捗を問い合わせる進捗情報要求を受信すると、Comet通信の手順に従い、当該変換処理が完了すれば応答として変換処理された印刷データを前記端末装置に送信し、前記変換処理が完了する前に応答設定時間が経過すれば空の応答を前記端末装置に送信する手段とを備える。
【0013】
あるいは、他の観点によれば本発明は以下の構成を有する。すなわち、
1または複数のサーバ装置と端末装置とを通信ネットワークで接続した印刷システムであって、
前記1または複数のサーバ装置のひとつは、
前記端末装置から、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を受信すると、該変換要求を受信した旨を示す受信応答を前記端末装置に送信する手段と、
前記変換要求を受信すると、前記変換要求に応じて前記文書データを前記印刷データに変換する変換処理を実行する変換手段と、
前記端末装置から前記変換要求に応じた変換処理の進捗を問い合わせる進捗情報要求を受信すると、Comet通信の手順に従い、当該変換処理が完了すれば応答として変換処理された印刷データを前記端末装置に送信し、前記変換処理が完了する前に応答設定時間が経過すれば空の応答を前記端末装置に送信する手段とを備え、
前記端末装置は、
前記1または複数のサーバ装置のひとつに対して、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を送信し、該変換要求に対応した受信応答を前記サーバ装置から受信するブラウザ手段と、
前記1または複数のサーバ装置のひとつに対して、特定文書データに対する前記変換要求に応じて前記サーバ装置で実行される変換処理の進捗を問い合わせる進捗情報要求を送信し、該進捗情報要求に応じた進捗情報または前記変換処理された印刷データを前記1または複数のサーバ装置のひとつから受信する進捗確認手段とを備え、
前記ブラウザ手段は、前記受信応答を前記1または複数のサーバ装置のひとつから受信すると、前記進捗確認手段に対して、前記変換要求で指定した文書データを前記特定文書データとして、前記変換処理の進捗の問い合わせを指示し、
前記進捗確認手段は、Comet通信の手順に従い、前記サーバ装置から空の応答を受信したなら、前記進捗情報要求を前記サーバ装置に対して送信する。
【発明の効果】
【0014】
本発明では、ウェブアプリケーションサーバでの処理中、その処理の完了は、ウェブブラウザとは異なるソフトウェアプロセスにより監視される。さらにそのソフトウェアプロセスがComet通信を用いてウェブアプリケーションサーバとの接続を行う。
【0015】
以上により、印刷装置におけるクラウドコンピューティングサービスの実行時に、ウェブアプリケーションサーバを利用するユーザが印刷装置及びウェブブラウザを占有することを回避することができる。また、ウェブアプリケーション実行中のサーバ負荷も低減される。
【図面の簡単な説明】
【0016】
【図1】システム構成図
【図2】HTTPプロトコルにおける要求と応答の流れを示すシーケンス図
【図3】HTTPプロトコルにおけるポーリングを用いた要求と応答の流れを示すシーケンス図
【図4】HTTPプロトコルにおけるCometを用いた要求と応答の流れを示すシーケンス図
【図5】文書管理アプリケーションサーバ102、印刷指示受付アプリケーションサーバ103のハードウェア構成図
【図6】印刷装置104のハードウェア構成図
【図7】文書管理アプリケーションサーバ102、印刷指示受付アプリケーションサーバ103、印刷装置104のソフトウェア構成図
【図8】印刷装置104の操作部1042に表示されるウェブブラウザ7032の画面構成を説明する図
【図9】文書管理アプリケーションサーバ102の文書管理テーブル901を説明する図
【図10】実施形態1において、印刷する文書データを選択するまでを説明するフローチャート図
【図11】ウェブブラウザ7032に表示される文書リスト画面を説明する図
【図12】実施形態1において、図10に示すフローチャート中で印刷指示の登録を詳細に説明するフローチャート図
【図13】印刷指示受付アプリケーションサーバ103の印刷指示情報管理データベースを説明する図
【図14】図10において印刷指示の登録が終了した際にウェブブラウザ7032に表示される画面を説明する図
【図15】実施形態1において、文書データを印刷データに変換するまでを説明するフローチャート図
【図16】実施形態1において、印刷装置104が印刷データを印刷するまでも説明するフローチャート図
【図17】印刷指示確認アプリケーション7033のソフトウェア構成図
【発明を実施するための形態】
【0017】
以下、本発明を構成するための一実施形態について、図面を用いて説明する。
【0018】
[第1実施形態]
<システム構成>
図1は、本発明の第1の実施形態に係るシステムの全体構成を示している。インターネット101、文書管理アプリケーションサーバ102、印刷指示受付アプリケーションサーバ103、印刷装置104、ファイアウォール105から構成される。文書管理アプリケーションサーバ102は単に文書管理サーバとも呼ぶ。
【0019】
インターネット101は、上述の各装置間での情報のやりとりのための通信回線(通信ネットワーク)として働き、有線、無線と回線の形態は問わない。文書管理アプリケーションサーバ102は、制御部1021、記憶部1022を含む。記憶部1022には文書データが保存される。例えば、Adobe社のAcrobat(登録商標)等のソフトウェアで作成されたPDFファイル、Microsoft社のWord等のソフトウェアで作成されたDOCファイル等が文書データに該当する。制御部1021はアプリケーションサーバとして一般的な公知の役割を果たす。例えば、記憶部1022にウェブアプリケーションがインストールされていて、印刷装置104にサービスを提供するためのソフトウェアプロセス群が稼働している。さらに加えて、制御部1021は本実施形態及びそれ以降に開示するフローチャートの各処理の少なくとも一部を行うことが可能である。
【0020】
印刷指示受付アプリケーションサーバ103は、制御部1031と記憶部1032とを含む。記憶部1032には後述するウェブブラウザ4032からの処理要求及び処理要求の実行結果である印刷データが保存される。例えば、印刷データはPDL等の印刷装置104が解釈及び印刷可能なデータ形式のデータを指す。制御部1031はアプリケーションサーバとして一般的な公知の役割を果たす。例えば、ウェブブラウザ4032からの処理要求に従って、各処理を実行するウェブアプリケーションがインストールされていて、各処理を印刷装置104に提供するためのソフトウェアプロセス群が稼働している。さらに加えて制御部1031は本実施形態及びそれ以降に開示するフローチャートの各処理の一部を行うことが可能である。
【0021】
印刷装置104は、コントロールユニット1041、操作部1042、印刷部1043を含む。印刷装置104は、画像の入出力と送受信、及び各種の画像処理を行う複合機(MFP:Multi Function Peripheral)である。コントロールユニット1041は印刷装置104の構成要素である操作部1042、印刷部1043を制御する。操作部1042はユーザインタフェースを備え、ユーザからの印刷装置104の操作指示を受け付ける。印刷部1043はコントロールユニット1041によって制御され各種の画像処理及び画像の出力を行う。コントロールユニット1041は、プロセッサおよびメモリを有しており、アプリケーションプログラムとしてウェブブラウザを実行することができる。ウェブブラウザは、HTTPレスポンスとして得たデータを表示したり、埋め込まれたスクリプトを実行したりできる。
【0022】
ファイアウォール105は印刷装置104のセキュリティ強化のためにインターネット101を介した外部からのアクセスを制限する装置として働き、ハードウェア、ソフトウェアと装置としての形態は問わない。サーバとクライアントとの間のメッセージは、ファイアウォール105を介して交換されることで、アクセス制限を実現する。
【0023】
<HTTPプロトコルにおける要求と応答の流れ>
図2は、HTTPプロトコルにおける要求と応答の処理の流れを示すシーケンス図である。クライアント201は、サーバ202にHTTP要求(HTTP REQUEST)を送信し、その応答としてHTTP応答(HTTP RESPONSE)を受信するソフトウェアである。図1に示す本発明の第1の実施形態に係るシステム構成においては、クライアント201は印刷装置104に内蔵されるウェブブラウザ7032(図7参照)に相当する。サーバ202は、HTTP要求を受信して対応するアプリケーション203を実行し、さらにHTTP応答をクライアント201に返信するソフトウェアである。図1に示す本発明の第1の実施形態に係るシステム構成においては、サーバ202は文書管理アプリケーションサーバ102、印刷指示受付アプリケーションサーバ103に相当する。アプリケーション203はウェブサービスプロバイダ部7011、アプリケーションサーバ部7022に相当する。
【0024】
クライアント201は、HTTP要求をGETメソッドまたはPOSTメソッドのいずれかの方法でサーバ202に送信することができる。ここで、クライアント201が所望のリソースに対するHTTP要求204をGETメソッドでサーバ202に送信する場合、リソースは一般にURI(特にURL)形式によって指定される。サーバ202は、HTTP要求204により指定されたリソースに対応するデータを取得または生成し、このデータをHTTP応答205によってクライアント201に返信する。
【0025】
次に、HTTP要求をPOSTメソッドで送信する場合を説明する。HTML文書にフォーム(form)が含まれ、その送信方法にPOSTメソッドが指定されている場合、以下のような処理が行われる。すなわち、クライアント201のウェブブラウザにより表示されたフォームにユーザにより入力された情報は符号化され、その符号化された情報すなわちフォームの入力内容はHTTP要求206に添付されてサーバ202に送信される。サーバ202は、クライアント201から受信したHTTP要求206を解析して、ユーザが入力した情報を取得する。サーバ202はユーザが入力した情報に対応するアプリケーション203を起動する。そして、アプリケーション開始通知207においてユーザが入力した情報をアプリケーション203に渡して、処理の実行を開始する。アプリケーション203において処理の実行が終了するとアプリケーション終了通知208において処理の実行結果をサーバ202に通知する。サーバ202はアプリケーション終了通知208において取得した実行結果からHTTP応答209を生成して、クライアント201に返信する。
【0026】
また、サーバ202ではクライアント201からHTTP要求を受信して、アプリケーション203が完了する時間制限(アプリケーション制限時間と呼ぶ)を設定することが可能である。アプリケーション制限時間の範囲内でアプリケーション203での処理が終了しなかった場合には、アプリケーション203での処理の実行を中断し、アプリケーションがタイムアウトしたことを示すHTTP応答をクライアント201に返す。図2の例では、サーバ202は、クライアント201においてHTTP要求に対するタイムアウトが発生する時間(要求制限時間と呼ぶ)内に、クライアント201にHTTP要求を返す必要がある。そのため、図2では、アプリケーション制限時間は、要求制限時間から、HTTP要求および応答の伝達遅延を差し引いた時間以内とする必要がある。
【0027】
<HTTPプロトコルにおけるポーリングを用いた要求と応答の流れ>
図3は、HTTPプロトコルにおいてポーリングを用いた要求と応答の流れを示すシーケンス図である。クライアント201はPOSTメソッドでHTTP要求301をサーバ202に送信する。サーバ202は、クライアントから受信したHTTP要求301を解析して、ユーザが入力した情報を取得する。サーバ202はユーザが入力した情報に対応するアプリケーション203を起動する。そして、アプリケーション開始通知302においてユーザが入力した情報をアプリケーション203に渡して、処理の実行を開始する。このとき、図1とは異なりアプリケーション203の処理の実行が開始されるとサーバ202はHTTP応答303を生成して、クライアント201に返信する。
【0028】
次に、クライアント201は改めてPOSTメソッドでHTTP要求304をサーバ202に送信する。このときHTTP要求304にはHTTP要求301に含まれていたユーザが入力した情報は含まれていない。HTTP要求304にはアプリケーション開始通知302においてアプリケーション203が開始した処理の進捗状況を問い合わせるための情報が含まれている。サーバ202はHTTP要求304を受信するとアプリケーション203が実行中の処理の進捗情報を確認する。処理中である場合には、その情報を含んだHTTP応答305を生成し、クライアント201に返信する。クライアント201とサーバ202との間でのHTTP要求304とHTTP応答305の送受信は、アプリケーション203で実行中の処理が終了し、アプリケーション203がサーバ202にアプリケーション終了通知306を通知するまで繰り返される。
【0029】
サーバ202がアプリケーション203からアプリケーション終了通知306を受信した以降にクライアント201からHTTP要求307をサーバ202が受信すると、アプリケーション終了通知306において取得した実行結果からHTTP応答308を生成して、クライアント201に返信する。
【0030】
以上のように、サーバ202からアプリケーション203に対してアプリケーション開始通知302が送信されてから、クライアント201がアプリケーション203の処理結果を受信するまでサーバ202に繰り返しHTTP要求を行う必要がある。アプリケーション203の処理の実行結果をリアルタイムに受信するためには、ポーリングを行う間隔、図3においてはHTTP応答303を受信してから、HTTP要求304を送信するまでの時間間隔を短くする必要がある。そのため、サーバ負荷が増大するという課題がある。またサーバ負荷を考慮して時間間隔を長くすると実行結果を含んだHTTP応答をリアルタイムに受信することが困難になる。
【0031】
<HTTPプロトコルにおけるCometを用いた要求と応答の流れ>
図4は、HTTPプロトコルにおいてComet通信を用いた要求と応答の流れを示すシーケンス図である。
【0032】
図4の手順では、サーバ202はクライアント201からHTTP要求を受信してHTTP応答を返すまでの応答時間を設定する。この時間を応答設定時間と呼ぶことにする。応答設定時間の範囲内でアプリケーション203での処理が終了しなかった場合には、サーバ202は空のHTTP応答をクライアント201に返す。この場合も、応答設定時間は、要求制限時間からHTTP要求/応答の伝達時間を差し引いた時間よりも短くすべきである。ただしネットワーク資源の浪費を避けるために、できるだけ長い時間が選ばれる。
【0033】
クライアント201はPOSTメソッドでHTTP要求401をサーバ202に送信する。サーバ202は、クライアント201から受信したHTTP要求401を解析して、ユーザが入力した情報を取得する。サーバ202は、ユーザが入力した情報に対応するアプリケーション203をアプリケーション開始通知402で起動する。アプリケーション開始通知402によってユーザが入力した情報がアプリケーション203に渡され、処理の実行を開始する。アプリケーション開始通知402をきっかけに開始された処理が、応答設定時間内に終了した場合には、サーバ202はアプリケーション終了通知405から実行結果を取得し、HTTP応答406を生成してクライアント201に返信する。
【0034】
一方アプリケーション開始通知402をきっかけに開始された処理が終了する前に応答設定時間が経過した場合、Cometでは、サーバ202は空のHTTP応答403を生成し、クライアント201に返信する。これによりクライアント201はHTTP要求のタイムアウトが発生する前にHTTP応答を受信できる。
【0035】
クライアント201は、サーバ202から空のHTTP応答403を受信すると、即時にサーバ202に対してHTTP要求404を送信し、サーバとの再接続を行う。サーバ202は、受信したHTTP要求に対して直ちに応答せず、アプリケーション203の処理が終了するか、応答設定時間が経過するまで応答を遅延させる。この後は、HTTP要求401に対する手順と同様である。この手順を、アプリケーション203の処理が終了するまで繰り返す。すなわち、HTTP応答403、HTTP要求404の一連の流れはアプリケーション203が実行中の処理を終了し、サーバ202にアプリケーション終了通知405を送信するまで繰り返される。再接続の後、アプリケーション開始通知402において開始された処理が終了した場合には、サーバ202はアプリケーション終了通知405から実行結果を取得し、HTTP応答406を生成してクライアント201に返信する。
【0036】
図4に示すようにCometの特徴は、図2に示すようにアプリケーション203の処理の完了を待機しつつ、サーバ202はHTTP要求がタイムアウトしないよう適宜HTTP応答メッセージを返し、ただちにHTTP要求が再発行される点にある。また、図3に示すように、Cometでは、ポーリングのようにアプリケーション203で実行中の処理のステータスを一定間隔で確認するのではない。Cometでは、サーバ202はクライアント201からのHTTP要求があっても応答を留保し、クライアント201に送るべきメッセージがサーバ202に生じたなら、そのメッセージを、留保したHTTP応答を用いてあたかも自発的なメッセージ(アンソリシテッドメッセージ)であるかのようにブラウザに送信する。このメッセージは、その実体がHTTP応答であるので、アンソリシテッドメッセージを遮断するファイヤウォールが設けられていたとしてもそれを越えることができる。こうして応答設定時間に達するまで接続を維持し、応答設定時間が経過しても即時再接続を行う点にある。すなわち、クライアント201におけるHTTP要求のタイムアウトの発生を抑えつつ、HTTP要求がサーバ202に送りつけられている状態を維持する。
【0037】
Cometによる要求と応答を行うことでアプリケーション203で実行中の処理が終了したタイミングで、言いかえれば通信の主体をサーバ202主導で、クライアント201がHTTP応答を取得することができる。また、ポーリングのステータス確認のような短周期のHTTP要求を繰り返し送信する必要がないためサーバ負荷を抑えることが可能となる。以上のようにしてCometは、ウェブサーバが、応答すべきメッセージが発生するまでHTTP応答を遅延させることで、擬似的なウェブサーバ主導の通信、すなわち擬似的なアンソリシテッド通信を実現している。そして、応答すべきメッセージがない場合には、最初のHTTP要求がタイムアウトしないよう、ウェブサーバは応答設定時間ごとに空のHTTP応答を返す。空のHTTP応答を受信したウェブクライアントは、ウェブサーバ発のメッセージの監視のためにHTTP要求を発行して、ウェブサーバとのコネクションを維持する。これがCometの手順である。
【0038】
なおCometによる制御は、たとえばクライアントで実行されるプログラムと、特定のURLで指定されるウェブサーバのアプリケーションプログラムとで実現できる。クライアントにおいては、CometはサーバからHTMLデータと共に提供されるスクリプトで実現されるが、独立したアプリケーションプログラムにより同等の制御を実現することもできる。ただしこのプログラムはウェブブラウザからのHTTP要求の発行に伴って動作を開始するので、ウェブブラウザで実行されるスクリプトとするか、あるいはウェブブラウザとサーバとの間に介在する独立したアプリケーションプログラムとする。本実施形態では後者の構成をとる。
【0039】
<アプリケーションサーバのハードウェア構成>
図5は、本発明の第1の実施形態に係るシステムを構成する文書管理アプリケーションサーバ102および印刷指示受付アプリケーションサーバ103のハードウェア構成図を示している。印刷指示受付サーバはウェブサーバを含む。図5に示すハードウェア構成図は一般的な情報処理装置のハードウェア構成図に相当するものとする。本発明の実施形態における文書管理アプリケーションサーバ102、印刷指示受付アプリケーションサーバ103には一般的な情報処理装置のハードウェア構成を適用可能である。
【0040】
CPU501はプログラムROM503が記憶している、或いは外部記憶装置511がRAM502に読み込んだオペレーティングシステム(以下、OS)やアプリケーション等のプログラムを実行する。文書管理アプリケーションサーバ102、印刷指示受付アプリケーションサーバ103において、それぞれ制御部1021、1031がこれに該当し、本実施例及びそれ以降に開示するフローチャートの各処理はCPU501が実行する。
【0041】
RAM502はCPU501の主メモリ、作業領域等として機能する。キーボードコントローラ505は、キーボード509や図5に図示はしていないが一般的な情報処理装置に接続されるポインティングデバイスからのキー入力を制御する。ディスプレイコントローラ506は、各種ディスプレイ510の表示を制御する。
【0042】
外部メモリコントローラ507は、各種データを記憶する外部記憶装置511、例えばハードディスクドライブ(HDD)におけるデータアクセスを制御する。文書管理アプリケーションサーバ102、印刷指示受付アプリケーションサーバ103において、それぞれ記憶部1022、1032がこれに該当する。ネットワークコントローラ508は、インターネット101に接続し、他の機器との通信制御処理を実行する。
【0043】
<印刷装置のハードウェア構成>
図6は、本発明の第1の実施形態に係るシステムを構成する印刷装置104のハードウェア構成図を示している。印刷装置104はウェブブラウザを有し、ウェブクライアントとして動作する。印刷装置104は印刷装置を制御するコントロールユニット1041を備える。コントロールユニット1041は画像出力デバイスである印刷部1043の制御する一方で、LANや公衆回線と接続し、これらを介して画像情報やデバイス上右方の入出力を行うものである。
【0044】
コントロールユニット1041はCPU601を有する。CPU601はシステムバス605を介して、RAM602、ROM606、ハードディスクドライブ(HDD)607、イメージバスインタフェース608、操作部インタフェース603、ネットワークインタフェース604と接続する。CPU601は図15,図16に示す手順の内、印刷装置104の手順を実現するためのプログラムを実行する。
【0045】
RAM602は、CPU601の主メモリであり、作業領域、画像データおよびプログラムを一時記憶するため画像メモリ等として機能する。ROM606は、ブートROMである。ROM606には印刷装置のブートプログラム(起動プログラム)が格納されている。また、印刷装置固有の情報、例えば機器情報、機器名称、機器のシリアル番号等も格納される。
【0046】
ハードディスクドライブ(HDD)607は、システムソフトウェア、画像データ等が格納される外部記憶領域として機能する。
【0047】
操作部インタフェース603は、操作部1042との間での入出力を行うインタフェースである。操作部インタフェース603は、操作部1042に表示する画像データを操作部1042に対して出力しユーザが操作部1042を介して入力した情報を、CPU601に伝送する等の役割を果たす。
【0048】
ネットワークインタフェース604は、ファイアウォール105を介してインターネット101と接続し、情報の入出力を行う。
【0049】
イメージバスインタフェース608は、システムバス605と画像データを高速で転送するイメージバス609とを接続しデータ構造を変換するバスブリッジとして機能する。イメージバス609は、ラスタイメージプロセッサ(RIP)610、デバイスインタフェース611、印刷部1043を接続する。
【0050】
<ソフトウェア構成>
図7は、本発明の第1の実施形態に係るシステムを構成する文書管理アプリケーションサーバ102および印刷指示受付アプリケーションサーバ103および印刷装置104のソフトウェア構成図を示している。
【0051】
文書管理アプリケーションサーバ102は、ウェブサービスプロバイダ部7011、ウェブサービス応答生成部7012、文書データ管理部7013、文書データ情報管理部7014を備える。これら構成要素は記憶部1022(外部記憶装置511)にプログラムファイルとして格納される。文書管理アプリケーションサーバ102がウェブアプリケーションとして提供する各種機能は、これらのプログラムファイルがRAM502に読み込まれ、CPU501によって実行されることで実現する。
【0052】
ウェブサービスプロバイダ部7011は、インターネット101を介して印刷指示受付アプリケーションサーバ103のウェブサービスリクエスタ部7025からのウェブサービスリクエストを受け付ける。ウェブサービスリクエストに応じて、ウェブサービス応答生成部7012は処理を実行する。ウェブサービス応答生成部7012はウェブサービスリクエストに応じた処理の実行に際して、文書データ管理部7013、または文書データ情報管理部7014を呼び出して、実行結果を生成する。文書データ管理部7013は記憶部1022に保存される文書データの登録、検索、削除等の処理を実行し、文書データ情報管理部7014は文書データに付随する関連情報の登録、検索、削除等の処理を実行する。本実施形態において、文書管理アプリケーションサーバが実行する具体的な処理の内容に関しては、以降に開示するフローチャートの説明の中で詳述する。
【0053】
印刷指示受付アプリケーションサーバ103は、ウェブサーバ部7021、アプリケーションサーバ部7022、データ管理部7023、ウェブサービスプロバイダ部7024、ウェブサービスリクエスタ部7025、印刷指示受付部7026、データ変換処理部7027、処理状況応答部7028を備える。これら構成要素は記憶部1032(外部記憶装置511)にプログラムファイルとして格納される。印刷指示受付アプリケーションサーバ103がウェブアプリケーションとして提供する各種機能は、これらのプログラムファイルがRAM502に読み込まれ、CPU501によって実行されることで実現する。
【0054】
ウェブサーバ部7021は、インターネット101を介して印刷装置104のウェブブラウザ7032からのHTTP要求を受け付ける。HTTP要求を受け付けるとウェブサーバ部7021は、アプリケーションサーバ部7022を呼び出し、要求に応じた処理を実行する。アプリケーションサーバ部7022は処理の実行結果として、動的に生成したHTML等の応答情報をウェブサーバ部7021に返す。ウェブサーバ部7021はアプリケーションサーバ部から実行結果を受け付けると、それらを印刷装置104のウェブブラウザ7032に返す。また、アプリケーションサーバ部7022はウェブサービスリクエスタ部7025からインターネット101を介して外部のウェブサービスを呼び出す。本発明では文書管理アプリケーションサーバ102のウェブサービスプロバイダ部7011に対してウェブサービスリクエストを送信し、その応答を受信する。
【0055】
ウェブサービスプロバイダ部7024は、インターネット101を介して印刷装置104の印刷指示確認アプリケーション7033からのウェブサービスリクエストを受け付ける。ウェブサービスリクエストに応じて、印刷指示受付部7026、データ変換処理部7027、処理状況応答部7028がそれぞれ処理を実行して印刷装置104に印刷指示確認アプリケーション7033に応答を返す。データ管理部7023は印刷指示受付アプリケーションサーバ103での各種処理の実行時にデータの永続化が必要な際に実行され、記憶部1032(外部記憶装置511)への書き込み、読み込みを行う。本発明において、印刷指示受付アプリケーションサーバ103が実行する具体的な処理の内容に関しては、以降に開示するフローチャートの説明の中で詳述する。
【0056】
印刷装置104は、ユーザインタフェース7031、ウェブブラウザ7032、印刷指示確認アプリケーション7033、制御API7034、ジョブマネージャ7035、プリントマネージャ7036、PDLマネージャ7037、データ管理部7038、印刷装置情報管理部7039を備える。これら構成要素はハードディスクドライブ(HDD)607にプログラムファイルとして格納される。印刷装置104が提供する各種機能は、これらのプログラムファイルがRAM602に読み込まれ、CPU601によって実行されることで実現する。
【0057】
ユーザインタフェース7031は、ユーザが印刷装置104に対して各種の操作及び設定を行う際に、機器とユーザ操作との仲介を行うプログラムである。ユーザインタフェース7031は、操作部1042を介して入力されるユーザの操作情報に従って、後述する各種プログラムに操作情報を転送して、それぞれに応じた処理の実行依頼またはデータの設定等を行う。
【0058】
ウェブブラウザ7032はインターネット101を介して印刷指示受付アプリケーションサーバ103に対してHTTP接続し、印刷指示受付アプリケーションサーバ103が提供する各種処理を実行するためのプログラムである。ウェブブラウザ7032は操作部1042に表示されユーザによる入力を受け付ける。ウェブブラウザに入力されたユーザの操作情報は前述したように、ユーザインタフェース7031を介して印刷装置の後述する各種プログラムに転送される。
【0059】
印刷指示確認アプリケーション7033はインターネット101を介して印刷指示受付アプリケーションサーバ103のウェブサービスプロバイダ部7024に対してウェブサービスリクエストを送信し、その応答を受信するプログラムである。印刷指示確認アプリケーション7033は、ウェブブラウザ7032とは独立したプログラムであってもよいが、ウェブサーバから提供されるプログラム(スクリプト)であってもよい。
【0060】
制御API7034は、印刷指示確認アプリケーション7033に対してジョブマネージャ7035、プリントマネージャ7036、PDLマネージャ7037に対するインタフェースを提供する。各プログラム間の依存関係を軽減し、それぞれの流用性を高めることができる。
【0061】
ジョブマネージャ7035は、印刷指示確認アプリケーション7033が制御API7034を介して指示する様々な処理を解釈し、プリントマネージャ7036、PDLマネージャ7037に指示を与える。また、ジョブマネージャ7035は印刷装置104が実行するハードウェア処理を一元的に管理する。
【0062】
プリントマネージャ7036は、ジョブマネージャ7035が指示する印刷処理を管理及び制御する。PDLマネージャ7037は、ジョブマネージャ7035が指示する印刷データのPDL変換を行う。データ管理部7038は、ハードディスクドライブ(HDD)607に保存されるデータの管理及び制御を行う。印刷装置情報管理部7039は、ROM606に格納される印刷装置104の固有の情報、印刷装置の設置場所情報(ネットワーク上のIPアドレス等の情報も含む)等を管理する。
【0063】
<ウェブブラウザ画面構成>
図8は本発明の第1の実施形態に係る印刷装置104の操作部1042に表示されるウェブブラウザ7032の画面構成の一例を示している。ウェブブラウザ画面801には、タブ802、URL入力フィールド809、OKボタン810、プログレスバー808、コンテンツ表示領域803、戻るボタン804、進むボタン805、リロードボタン807、中止ボタン806、およびステータス表示領域811が表示される。
【0064】
タブ802は、ウェブブラウザ7032の機能以外の印刷装置104が提供する他の機能(コピー、ボックス、送信、拡張)との画面切り替えを行う。URL入力フィールド809は、ユーザが所望のリソースのURLを入力するフィールドであり、当該フィールドをユーザが押すと、文字入力を行うための仮想的なフルキーボード(不図示)が表示される。ユーザは、仮想的なフルキーボード上に配置されたキートップを模したソフトキーによって所望の文字列を入力することができる。
【0065】
OKボタン810は入力したURL文字列を確定するソフトキーである。URLが確定されると、ウェブブラウザ7032は、入力されたURLに対してHTTP要求を送信する。プログレスバー808は、HTTP要求に対する応答の取得進捗状況を示す。コンテンツ表示領域803は、取得したHTTP応答が表示される領域である。戻るボタン804は、ウェブブラウザ表示の履歴をさかのぼり、現時点で表示している画面の前に表示した画面を表示し直すためのソフトキーである。進むボタン805は、画面表示の履歴をさかのぼって表示しているときに、現時点で表示しているコンテンツの後に表示した画面を表示しなおすためのソフトキーである。リロードボタン807は、現時点で表示している画面の再取得と再表示を行う。中止ボタン806は、実行中のHTTP要求を中止するソフトキーである。ステータス表示領域811は、印刷装置の各種機能からのメッセージを表示する領域である。このステータス表示領域811には、ウェブブラウザ画面801を表示中であっても、スキャナやプリンタや他の機能などから、ユーザの注意を促すためのメッセージを表示することができる。また、同様にウェブブラウザ7032からもメッセージの表示を行うことができる。ウェブブラウザ7032は、リンク先のURL文字列、コンテンツのタイトル文字列、スクリプトによって指示されたメッセージなどを表示する。
【0066】
<文書管理テーブル>
図9は本発明の実施形態に係る文書管理アプリケーションサーバ102の記憶部1022(外部記憶装置511)に保存される文書データ及び文書データ情報を管理するデータベースのテーブルの一例を示している。文書管理テーブル901は文書IDカラム902、文書名カラム903、文書管理データベース項目カラム904、文書データカラム905を含む。文書IDカラム902には文書管理アプリケーションサーバ102の記憶部1022で保存される文書データを一意に識別する番号が格納される。文書名カラム903には文書管理アプリケーションサーバ102の記憶部1022で保存される文書データの名称が格納される。文書管理データベース項目カラム904には文書IDカラム902、文書名カラム903以外に文書データの管理に必要となる項目値が格納される。文書管理データベース項目カラム904に格納される項目値は文書管理アプリケーションサーバ102の実施形態によって異なる。本発明の実施形態においては文書管理データベース項目カラム904に格納される項目値に関しては問わないため、説明を省略するものとする。また、本発明の実施形態において文書IDカラム902、文書名カラム903、文書管理データベース項目カラム904に格納される情報を総じて文書データ情報と表現するものとする。文書データ情報管理部7014は、文書管理テーブル901における文書IDカラム902、文書名カラム903、文書管理データベース項目カラム904の登録、検索、削除等の操作に関する処理を実行する。文書データカラム905には文書管理アプリケーションサーバ102の記憶部1022(外部記憶装置511)に保存される文書データの保存場所情報あるいは文書データ本体が格納される。本発明の実施形態においては文書データカラム905に格納される項目値に関してはそのどちらであるかは問わないものとする。
【0067】
以下、本発明の第1の実施形態に係るクラウド印刷システムの各ステップにおける処理について図10〜図16を用いて具体的に説明する。
【0068】
<印刷対象文書の特定>
図10は本実施形態に係るクラウド印刷システムにおいて、印刷装置104のウェブブラウザ7032から、印刷指示受付アプリケーションサーバ103に対し、文書管理アプリケーションサーバ102に保存される文書データの印刷指示を出すまでのフローチャートである。
【0069】
S1001では、印刷装置104はハードディスクドライブ(HDD)607に保存されるウェブブラウザ7032をRAM602に読み込む。読み込みが完了したら、CPU601はRAM602に読み込まれたウェブブラウザ7032を実行し、操作部1042に表示する。
【0070】
S1002では、ウェブブラウザ7032は印刷指示受付アプリケーションサーバ103から、文書管理アプリケーションサーバ102が管理する文書データの一覧リスト情報を取得するためにHTTP要求を送信する。文書データの一覧リスト情報とは、文書管理アプリケーションサーバ102の記憶部1022に保存される文書データ全てに関する文書データ情報を指すものとする。この際、ウェブブラウザ画面801のURL入力フィールド809への、印刷指示受付アプリケーションサーバ103のURL情報の入力方法の形態は問わない。予め印刷装置104のハードディスクドライブ(HDD)607に保存しておき、S1001でCPU601がウェブブラウザ7032を起動する段階で設定してもよい。或いはウェブブラウザ7032を使用するユーザが手動で設定(入力)してもよい。
【0071】
S1003では、印刷指示受付アプリケーションサーバ103のウェブサーバ部7021はウェブブラウザ7032からのHTTP要求を受信すると、アプリケーションサーバ部7022を呼び出す。アプリケーションサーバ部7022はウェブサービスリクエスタ部7025からインターネット101を介して、文書管理アプリケーションサーバ102のウェブサービスプロバイダ部7011に対してウェブサービスリクエストを送信する。このウェブサービスリクエストは、文書管理アプリケーションサーバ102が管理する文書データの一覧リスト情報を取得するための要求である。
【0072】
S1004では、文書管理アプリケーションサーバ102のウェブサービスプロバイダ部7011は印刷指示受付アプリケーションサーバ103のウェブサービスリクエスタ部7025からウェブサービスリクエストを受信する。ウェブサービスプロバイダ部7011は受信したウェブサービスリクエストをウェブサービス応答生成部7012に渡す。ウェブサービス応答生成部7012はウェブサービスリクエストに応じた処理として、文書データ情報管理部7014を呼び出し、文書管理テーブル901に格納される文書データ情報を取得する。ウェブサービスプロバイダ部7011はウェブサービス応答生成部7012が取得した文書データ情報を印刷指示受付アプリケーションサーバ103のウェブサービスリクエスタ部7025に送信する。
【0073】
S1005では、印刷指示受付アプリケーションサーバ103のウェブサービスリクエスタ部7025は文書管理アプリケーションサーバ102のウェブサービスプロバイダ部7011から文書データ情報を受信し、取得する。また、印刷指示受付アプリケーションサーバ103のアプリケーションサーバ部7022はウェブサービスリクエスタ部7025が取得した文書データ情報からHTML形式の文書リスト画面1101を動的に生成し、ウェブサーバ部7021に返す。ウェブサーバ部7021はそれらを印刷装置104のウェブブラウザ7032に返す。
【0074】
S1006では、印刷装置104は文書管理アプリケーションサーバ102のウェブサーバ部7021からHTTP応答として受信した文書リスト画面1101をウェブブラウザ7032に表示する。
【0075】
図11は、図10のS1006においてウェブブラウザ7032に表示される文書リスト画面の一例を示している。文書リスト画面1101は、文書ID表示領域1102、文書名表示領域1103、文書データ情報表示領域1104、文書印刷ボタン1105を含む。文書リスト画面1101の構成要素は、文書データ情報の件数に対応してそれぞれ表示される。文書ID表示領域1102には文書管理テーブル901の文書IDカラム902に格納される項目値が表示される。文書名表示領域1103には文書管理テーブル901の文書名カラム903に格納される項目値が表示される。文書データ情報表示領域1104には文書管理テーブル901の文書管理データベース項目カラム904に格納される項目値が表示される。文書印刷ボタン1105は、文書ID表示領域1102に表示される識別情報(ID)の文書に対する印刷指示を印刷指示受付アプリケーションサーバ103に対して出すためのボタンである。
【0076】
図10に戻って、S1007では、ユーザは文書リスト画面1101に表示される任意の印刷ボタン1105を押下して、印刷する文書を指定する。この文書データを特定文書データと呼ぶことにする。印刷ボタン1105が押下されると、印刷装置104のウェブブラウザ7032は印刷ボタン1105に関連する文書ID表示領域1102に表示される項目値と共にインターネット101を介して、印刷指示受付アプリケーションサーバ103のウェブサーバ部7021に対して印刷指示のHTTP要求を送信する。なお本実施形態では、印刷を行うため印刷指示としているが、これは、印刷データの変換を要求する指示であることから特定文書データの変換要求ということもできる。
【0077】
S1008では、印刷指示受付アプリケーションサーバ103のウェブサーバ部7021は印刷装置104のウェブブラウザ7032からの印刷指示のHTTP要求を受信する。印刷指示のHTTP要求を受信するとウェブサーバ部7021はアプリケーションサーバ部7022を呼び出す。アプリケーションサーバ部7022は印刷指示受付部7026を呼びだして、印刷指示実行のための事前準備として受信したHTTP要求をデータ管理部7023に登録する。
【0078】
図12は本図10のS1008の詳細なフローチャートである。図12の処理は、印刷装置104のアプリケーションサーバ部7022が印刷指示受付部7026を呼び出して実行する印刷指示登録処理を示す。図13は印刷指示登録処理においてデータ管理部7023で印刷指示情報を管理するデータベースのテーブルの一例を示している。
【0079】
印刷指示情報を管理するデータベースは、印刷指示情報を管理する印刷指示情報管理テーブル1301と、印刷指示に従って文書データを印刷データに変換する際のデータを永続化する印刷データ管理テーブル1302とを含む。印刷指示情報管理テーブル1301は、印刷指示IDカラム13011、文書IDカラム13012、印刷データ管理テーブル参照IDカラム13013を含む。印刷指示IDカラム13011には受信した印刷指示のHTTP要求に応じて印刷指示受付部7026が発行する一意の識別番号が格納される。文書IDカラム13012には、S1007において指定された文書ID表示領域1102に表示される項目値が格納される。印刷データ管理テーブル参照IDカラム13013には、印刷指示受付部7026が発行する印刷データ管理テーブル1302を一意に識別する番号が格納される。印刷データ管理テーブル1302は、管理IDカラム13021、デバイスIDカラム13022、進捗状況カラム13023、印刷データカラム13024を含む。管理IDカラム13021には受信した印刷指示のHTTP要求に応じて印刷指示受付部7026が発行する一意の識別番号が格納される。デバイスIDカラム13022にはS1008において受信した印刷指示のHTTP要求の送信元の印刷装置104を識別する情報が格納される。印刷装置104を識別する情報とは、HTTP要求に含まれるリクエストIPアドレス、印刷装置の名称、印刷装置のシリアル番号等が該当する。進捗状況カラム13023には文書データから印刷データへの変換処理の進捗状況を示す項目値が格納される。印刷指示受付部7026が印刷データ管理テーブル1302を作成した段階では、初期値として「処理待ち」を示す値が格納される。以降は後述するデータ変換処理部7027が処理状況に応じて「処理中」「完了」「エラー終了」等の値を登録、更新する。印刷データカラム13024には後述するデータ変換処理部7027が作成する印刷データが格納される。
【0080】
S1201では、印刷指示受付部7026は印刷指示受付アプリケーションサーバ103の記憶部1032(外部記憶装置511)に受信した印刷指示のHTTP要求に応じた印刷データ管理テーブル1302を作成する。
【0081】
S1202では、印刷指示受付部7026は印刷指示受付アプリケーションサーバ103の記憶部1032(外部記憶装置511)に受信した印刷指示のHTTP要求に応じた印刷指示情報管理テーブル1301を作成する。
【0082】
以上の印刷指示登録処理に引き続いて、S1009では、印刷指示受付部7026による印刷データ管理テーブル及び印刷指示情報管理テーブル1302の作成が完了した旨の完了通知(受信応答)をアプリケーションサーバ部7022に返す。アプリケーションサーバ部7022は印刷装置104のウェブブラウザ印刷指示確認アプリケーション7033を起動するための起動スクリプトを含むHTML画面を動的に生成し、ウェブサーバ部7021に返す。ウェブサーバ部7021はそれらを印刷装置104のウェブブラウザ7032に返す。
【0083】
S1010では、印刷装置104は印刷指示受付アプリケーションサーバ103のウェブサーバ部7021からHTTP応答として受信した画面をウェブブラウザ7032に表示する。
【0084】
図14はS1010において、本発明の実施形態に係るウェブブラウザ7032に表示される印刷指示受付完了画面の一例を示している。印刷指示受付完了画面1401は印刷指示受付完了メッセージ表示領域1402と文書リスト表示ボタン1403とを含む。印刷指示受付完了メッセージ表示領域1402には、S1008において受信した印刷指示のHTTP要求が適切に処理された旨をユーザに示す文字列が表示される。文書リスト表示ボタン1403は、押下されるとS1002からS1006までが実行され、図11に示す文書リスト画面が再びウェブブラウザ7032に表示する。
【0085】
<印刷データ変換処理>
図15は本実施形態に係るクラウド印刷システムにおいて、印刷指示情報管理テーブル1301の文書ID13012に格納された項目値に該当する文書データを、印刷装置104が解釈及び印刷可能なデータ形式に変換するまでのフローチャートを示した図である。図15の手順は印刷指示受付アプリケーションサーバ103のデータ変換処理部7027により実行される。図15に示すフローチャートが実行する処理は、図10に示すフローチャートが実行中、実行前に係らず、並列かつ非同期に実行できる。
【0086】
S1501では、データ変換処理部7027はデータ管理部7023を介して印刷指示情報管理データベースの印刷指示情報管理テーブル1301に登録されている印刷指示情報を参照する。
【0087】
S1502では、データ変換処理部7027はデータ管理部7023を介してS1501で参照した印刷指示情報管理テーブル1301に登録された印刷指示情報の件数を集計する。印刷指示情報が登録されていない場合には、処理を終了する。
【0088】
S1503では、S1502で印刷指示情報が登録されていることを確認した場合には、データ変換処理部7027はデータ管理部7023を介して1件の印刷指示情報を取得し、印刷装置104のRAM602に一時保存する。このとき、取得した印刷指示情報は印刷指示情報管理テーブル1301から削除する。
【0089】
S1504では、データ変換処理部7207はRAM602に保存された印刷指示情報の文書ID13012カラムに格納された項目値に該当する文書データを文書管理アプリケーションサーバ102から取得する。そのために、印刷指示受付アプリケーションサーバ103はウェブサービスリクエスタ部7025を呼び出し、インターネット101を介して文書管理アプリケーションサーバ102のウェブサービスプロバイダ部7011に対してウェブサービスリクエストを送信する。このリクエストは、文書管理アプリケーションサーバ102が管理する文書データを取得するためのリクエストである。
【0090】
S1505では、文書管理アプリケーションサーバ102のウェブサービスプロバイダ部7011は、印刷指示受付アプリケーションサーバ103のウェブサービスリクエスタ部7025からウェブサービスリクエストを受信する。ウェブサービスプロバイダ部7011は、受信したウェブサービスリクエストをウェブサービス応答生成部7012に渡す。ウェブサービス応答生成部7012は、ウェブサービスリクエストに応じた処理として文書データ管理部7015を呼び出し、受信したウェブサービスリクエストに含まれる文書IDに該当する文書データを文書管理テーブル901から取得する。ウェブサービスプロバイダ部7011はウェブサービス応答生成部7012が取得した文書データを印刷指示受付アプリケーションサーバ103のウェブサービスリクエスタ部7025に送信する。
【0091】
S1506では、印刷指示受付アプリケーションサーバ103のウェブサービスリクエスタ部7025は、文書管理アプリケーションサーバ102のウェブサービスプロバイダ部7011から受信した文書データ情報を受信し、データ変換処理部7207に渡す。
【0092】
S1507からS1509では、データ変換処理部7207はS1506で受けとった文書データを印刷データへと変換する。変換処理が完了されるまでS1508とS1508が繰り返される。S1507では、データ変換処理部7207はS1506で受け取った文書データの印刷データへの変換処理を開始する。S1508では、データ変換処理部7207は文書データの印刷データへの変換処理を実行する。S1509では、データ変換処理部7207は、S1507で印刷データ変換処理が開始されると、印刷データ管理テーブル1302の該当する進捗状況カラム13023の値をデータ管理部7023を介して変更する。S1508で変換処理が継続中の場合には「処理中」に更新する。S1508でデータ変換処理が正常完了した時には「完了」、エラー等が発生して中断した場合には「エラー」に更新する。S1509で進捗状況カラム13023の値が「完了」あるいは「エラー」に更新されると、データ変換処理が終了し、S1510に進む。
【0093】
S1510では、データ変換処理部7207は印刷データ管理テーブル1302の該当する進捗状況カラム13023の値をデータ管理部7023を介して参照する。このとき進捗状況カラム13023の値が「エラー」だった場合には、S1511では、RAM602に保存された印刷指示情報を印刷指示情報管理テーブル1301に再登録する。
【0094】
進捗状況カラム13023の値が「完了」だった場合には、S1512では、データ変換処理部7207はデータ変換の完了した印刷データを印刷データ管理テーブル1302の印刷データカラム13023にデータ管理部7023を介して保存する。
【0095】
S1513では、データ変換処理部7207はRAM602に保存された印刷指示情報を削除して処理を終了する。
【0096】
<印刷データの変換完了の監視>
図16は、本実施形態に係るクラウド印刷システムにおいて、図10において文書データの印刷指示を印刷装置104のウェブブラウザ7032から印刷指示受付アプリケーションサーバ103に出してから印刷装置104が印刷処理を行うまでのフローチャートを示した図である。
【0097】
S1601では、印刷装置104のウェブブラウザ7032はS1010で印刷指示受付アプリケーションサーバ103のウェブサーバ部7021からのHTTP応答として受信した印刷指示受付完了画面1401を表示する。あわせて画面に含まれる印刷指示確認アプリケーション7033の起動スクリプトを実行する。この時点で印刷装置104のウェブブラウザ7032を利用するユーザは、後述するS1618にて印刷データの印刷が完了してその旨表示されるまで、印刷装置104を操作することはない。また、S1601終了後は、図10に示すフローチャートに従い、改めて文書データの印刷指示を印刷指示受付アプリケーションサーバ103に送信することが可能となる。この文書データの印刷指示は、並行して文書の印刷が遂行されているとしても、その処理や処理結果とは独立して行われる。また、
図17は、本実施形態に係るクラウド印刷システムにおいて、印刷装置104を構成する印刷指示確認アプリケーション7033の内部ソフトウェア構成を示した図である。印刷指示確認アプリケーション7033は、サービスプロバイダ部1701とウェブサービスリクエスタ部1702を内部に持つ。印刷指示確認アプリケーション7033の起動スクリプトは印刷指示確認アプリケーション7033のサービスプロバイダ部1701に対して印刷指示確認アプリケーション7033を起動するサービスリクエストを送信する。また、サービスリクエストの送信時には印刷装置104の印刷装置情報管理部7039を介してROM606から印刷装置104固有の情報、例えば機器情報、機器名称、機器のシリアル番号を取得して、合わせて送信する。
【0098】
S1602では、印刷指示確認アプリケーション7033は、ウェブブラウザ7032からサービスリクエストを受信すると、ウェブサービスリクエスタ部1702からインターネット101を介して、印刷指示受付アプリケーションサーバ103のウェブサービスプロバイダ部7024に対してウェブサービスリクエストを送信する。このウェブサービスリクエストはHTTP要求メッセージであり、印刷装置104のROM606から取得した印刷装置104固有の情報を含む。このメッセージを進捗情報要求とも呼び、このメッセージにより進捗確認を行う。以降、S1602からS1609までの処理は、印刷指示受付アプリケーションサーバ103において、図15に示される印刷データ変換処理が完了するまで、Cometを用いた通信を行い、繰り返し実行されるものとする。なおCometに代えて、Cometと実質的に同じ手順で通信を行うこともできる。なお、印刷指示確認アプリケーション7033がS1602で送信するウェブサービスリクエストには、Comet(またはCometと実質的に同じ手順)を用いた通信であることをサーバが識別するための情報も含まれる。その情報はCometであることを明示的に示すものであっても良いが、リクエストの種別等により識別可能ならば明示的である必要はない。
【0099】
S1603では、印刷指示受付アプリケーションサーバ103のウェブサービスプロバイダ部7024はインターネット101を介して、印刷指示確認アプリケーション7033からウェブサービスリクエストを受信する。ウェブサービスプロバイダ部7024は、サービスリクエストに含まれる印刷装置104固有の情報をデータ管理部7023を介して、RAM502に保存する。S1603で受信したウェブサービスリクエストには、Cometであることを示す情報が含まれている。そこで、ウェブサービスプロバイダ部7024は、Cometの手順でHTTP要求に対応するため、HTTP要求/応答がタイムアウトしないよう決定された応答設定時間をタイマにセットし、計時をスタートさせる。また、HTTP要求に対する応答は、このタイマが満了するか、または変換処理が完了するまで遅延させる。
【0100】
S1604では、印刷指示受付アプリケーションサーバ103のウェブサービスプロバイダ部7024はウェブサービスリクエストに応じた処理として、処理状況応答部7028を呼び出す。処理状況応答部7028は、S1603においてRAM502に保存した印刷装置104固有の情報と印刷データ管理テーブル1302に保存されているデータのうちデバイスIDカラム13022の値が等しいデータを検索する。ここで、該当するデータが見つからなかった場合には、S1607に進む。該当するデータが1件以上見つかった場合には、次に各データの進捗状況カラム13023の値を確認する。進捗状況カラム13023の値が「完了」以外の場合にはS1607に進む。進捗状況カラム13023の値が「完了」であった場合にはS1605に進む。
【0101】
S1605では、S1604においてデバイスIDカラム13022の値が印刷装置104固有の情報と一致し、且つ進捗状況カラム13023の値が「完了」であるデータの印刷データカラム13024に格納されている印刷データ及び管理IDカラム13021の値を取得する。また、取得した値を、HTTP応答(レスポンス)で返す値として、データ管理部7023を介してRAM502に保存する。
【0102】
S1606では、ウェブサービスプロバイダ部7024は、S1603において受信したウェブサービスリクエストに応じた処理として処理状況応答部7028を呼び出す。処理状況応答部7028はS1605においてRAM502に保存した印刷データ及び管理IDカラム13021の値をHTTP応答に格納する。
【0103】
S1604において該当するデータが見つからなかった場合、また該当するデータの進捗状況カラム13023の値が「完了」以外であった場合には、HTTP応答に何もデータを格納しない。さらに、S1607においてHTTP接続が維持可能な限り、言い換えればS1603でタイマに設定した応答設定時間が満了するまではS1604に戻り、S1604からS1607までの処理を繰り返し実行するものとする。応答設定時間が満了した場合、あるいは変換処理が終了した場合には処理はS1608に進む。
【0104】
S1608では、印刷指示受付アプリケーションサーバ103の処理状況応答部7028は印刷指示確認アプリケーション7033にHTTP応答を送信する。S1607からの分岐の場合には、空のHTTP応答を返す。一方、S1606から遷移してきた場合には、S1606で作成されたHTTP応答が返される。S1607及びS1608は、たとえばサーバにおけるCometの手順をそのまま採用することができる。
【0105】
S1609では、印刷指示確認アプリケーション7033は印刷指示受付アプリケーションサーバ103の処理状況応答部7028から受信したHTTP応答を確認する。HTTP応答に印刷データが含まれない場合にはS1602に進み、再度印刷指示受付アプリケーションサーバ103のウェブサービスプロバイダ部7024に対してウェブサービスリクエストを送信する。印刷データが含まれている場合にはS1610に進む。
【0106】
S1610では、印刷指示確認アプリケーション7033はウェブサービスリクエスタ部1702から内部的に制御API7034を呼び出し、ジョブマネージャ7035にS1609で取得した印刷データを登録し、印刷処理を開始する。また、データ管理部7038を呼び出し、RAM602にジョブマネージャ7035に登録した印刷データに関連付けて、管理IDカラム13021の値を保存する。
【0107】
S1611では、印刷指示確認アプリケーション7033はウェブサービスリクエスタ部1702から内部的に制御API7034を呼び出し、ジョブマネージャ7035を監視する。ジョブマネージャ7035の監視は、S1610で登録した印刷データの印刷処理が完了するまで継続する。
【0108】
S1612では、印刷指示確認アプリケーション7033は、S1611において印刷処理が完了したことを確認すると、印刷指示受付アプリケーションサーバ103のウェブサービスプロバイダ部7024に対してウェブサービスリクエストを送信する。このウェブサービスリクエスタは、ウェブサービスリクエスタ部1702からインターネット101を介して送信され、印刷装置104での印刷処理が完了したことを通知する情報及びRAM602に保存されている管理IDカラム13021の値を含む。印刷処理が完了したことを通知する情報とは印刷成功あるいは印刷失敗を通知する情報であり、任意の文字列により表されるものである。文字列の書式に関しては問わないものとする。
【0109】
S1613では、印刷指示受付アプリケーションサーバ103のウェブサービスプロバイダ部7024は、インターネット101を介して、印刷指示確認アプリケーション7033からウェブサービスリクエストを受信する。ウェブサービスプロバイダ部7024は処理状況応答部7028を呼び出し、ウェブサービスリクエストに含まれる印刷完了情報を解析する。印刷完了情報が印刷成功を示していた場合にはS1614に進む。印刷完了情報が印刷失敗を示していた場合にはS1616に進む。
【0110】
S1614では、印刷指示受付アプリケーションサーバ103の処理状況応答部7028はデータ管理部7023を呼び出す。呼び出されたデータ管理部7023は、印刷データ管理テーブル1302のうち印刷指示確認アプリケーション7033から受信したウェブサービスリクエストに含まれる管理IDカラム13021の値に該当するデータを削除する。
【0111】
S1615では、印刷指示受付アプリケーションサーバ103の処理状況応答部7028は、印刷指示受付アプリケーションサーバ103での印刷終了処理の正常終了を通知する情報を生成する。そしてその情報を、印刷指示確認アプリケーション7033のウェブサービスリクエスタ部1702に送信する。印刷指示受付アプリケーションサーバ103での印刷終了処理の正常終了を通知する情報とは、ここでは印刷装置104の操作部1042のステータス表示領域811に表示される文字列の形態をとるものとする。
【0112】
S1616では、印刷指示受付アプリケーションサーバ103の処理状況応答部7028はデータ管理部7023を呼び出す。呼び出されたデータ管理部7023は、印刷データ管理テーブル1302のうち印刷指示確認アプリケーション7033から受信したウェブサービスリクエストに含まれる管理IDカラム13021の値に該当するデータの進捗状況カラム13023の値を「印刷エラー」に変更する。
【0113】
S1617では、印刷指示受付アプリケーションサーバ103の処理状況応答部7028は、印刷指示受付アプリケーションサーバ103での印刷終了処理のエラー終了を通知する情報を生成する。そしてその情報を、印刷指示確認アプリケーション7033のウェブサービスリクエスタ部1702に送信する。印刷指示受付アプリケーションサーバ103での印刷終了処理の正常終了を通知する情報とは、ここでは印刷装置104の操作部1042のステータス表示領域811に表示される文字列の形態をとるものとする。
【0114】
S1618では、印刷指示確認アプリケーション7033のウェブサービスリクエスタ部1702は印刷指示受付アプリケーションサーバ103の処理状況応答部7028から印刷処理終了情報を受信する。印刷指示確認アプリケーション7033は受信した印刷処理終了情報を印刷装置104の操作部1042のステータス表示領域811に表示する。
【0115】
本実施形態によって、印刷装置104に搭載されるウェブブラウザ7032は、印刷指示受付アプリケーションサーバ103に要求した文書データから印刷データの変換処理の完了の確認を、異なるソフトウェアプロセスである印刷指示確認アプリケーション7033に委譲する。すなわち、ウェブブラウザ7032が送信した処理要求の応答確認及びそれ以降の処理をウェブブラウザとは異なるソフトウェアプロセスに委譲させる。こうすることで、ウェブブラウザは印刷指示を発行すると直ちに、その印刷指示に係る処理から解放される。そのためウェブブラウザが既にいずれかのウェブアプリケーションサーバに処理リクエストを送信していたかいないかに係らず、複数の異なるウェブアプリケーションサーバに対して処理リクエストを並行して送信することが可能となる。また印刷指示後ただちに、印刷装置104が有する資源を、ネットワーク上の文書の印刷に専有されることなくコピーやファクシミリ等に割り当てることができる。さらに、印刷指示確認アプリケーション7033を複製して並列に実行すれば、複数の印刷指示に係るデータ変換処理および印刷処理の完了を並列に監視することもできる。また、Comet通信によって、図15に示すデータ変換処理が終了したタイミングで印刷指示確認アプリケーションが印刷データを取得することが可能となり、リアルタイムにサーバから印刷データを取得することが可能となる。
【0116】
なお、図16のステップS1608ではデータ変換処理の完了又は空のHTTP応答が送信されるが、他の情報をHTTP応答に載せて送信することもできる。このためにたとえばS1604では、変換処理の完了のみならず、印刷指示受付アプリケーションサーバ103発の何らかのメッセージがあるかテストする。そして、そのようなメッセージがあればHTTP応答に載せてS1608で送信する。それを受信した印刷指示確認アプリケーション7033は、応答の内容に応じた処理を行う。
【0117】
さらに、印刷指示確認アプリケーション7033を、ネットワークインターフェースカードに搭載することもできる。
【0118】
また本発明は印刷装置がクライアントであるとして説明したが、ウェブブラウザを介してウェブサービスを利用するための端末、いわゆるシンクライアントやネットであれば本発明を適用できる。
【0119】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
Comet通信の手順に従い、指示された処理の進捗情報要求に対して当該処理が完了する前に応答設定時間が経過すれば空の応答を、当該処理が完了すれば完了の応答を前記指示をした端末装置に送信するサーバ装置と接続される端末装置であって、
前記サーバ装置に対して、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を送信し、該変換要求に対応した受信応答を前記サーバ装置から受信するブラウザ手段と、
前記サーバ装置に対して、特定文書データに対する前記変換要求に応じて前記サーバ装置で実行される変換処理の進捗状況を問い合わせる進捗情報要求を送信し、該進捗情報要求に対する応答を前記サーバ装置から受信する進捗確認手段とを備え、
前記ブラウザ手段は、前記受信応答を前記サーバ装置から受信すると、前記進捗確認手段に対して、前記変換要求で指定した文書データを前記特定文書データとして、前記変換処理の進捗の問い合わせを指示し、
前記進捗確認手段は、Comet通信の手順に従い、前記サーバ装置から空の応答を受信したなら、前記進捗情報要求を前記サーバ装置に対して送信することを特徴とする端末装置。
【請求項2】
前記ブラウザ手段は、文書データの指定を受け付ける文書の指定手段を有し、
前記ブラウザ手段が前記進捗確認手段に対して前記変換要求で指定された文書データに対する前記変換処理の進捗の問い合わせを指示した後、前記文書の指定手段は新たな文書データの指定を受け付けることを特徴とする請求項1に記載の端末装置。
【請求項3】
前記サーバ装置から受信した印刷データを印刷するための印刷手段を更に備え、
前記サーバ装置は、前記変換要求に応じて、前記印刷手段により印刷可能な印刷データに前記文書データを変換することを特徴とする請求項1または2に記載の端末装置。
【請求項4】
端末装置と通信するサーバ装置であって、
前記端末装置から、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を受信すると、該変換要求を受信した旨を示す受信応答を前記端末装置に送信する手段と、
前記変換要求を受信すると、前記変換要求に応じて前記文書データを前記印刷データに変換する変換処理を実行する変換手段と、
前記端末装置から前記変換要求に応じた変換処理の進捗を問い合わせる進捗情報要求を受信すると、Comet通信の手順に従い、当該変換処理が完了すれば応答として変換処理された印刷データを前記端末装置に送信し、前記変換処理が完了する前に応答設定時間が経過すれば空の応答を前記端末装置に送信する手段と
を備えることを特徴とするサーバ装置。
【請求項5】
前記端末装置は、前記サーバ装置から受信した印刷データを印刷するための印刷手段を備え、
前記変換手段は、前記文書データを、前記印刷手段により印刷可能な印刷データに変換することを特徴とする請求項4に記載のサーバ装置
【請求項6】
前記端末装置及びサーバ装置は文書データを保存した文書管理サーバと更に接続され、前記端末装置は、前記文書管理サーバにより保存された文書データの中から文書データを指定し、
前記サーバ装置は、前記端末で指定された文書データを前記指定された文書データとして前記文書管理サーバから取得する手段を更に備えることを特徴とする請求項4または5に記載のサーバ装置。
【請求項7】
請求項1乃至3のいずれか一項に記載の端末装置の各手段としてコンピュータを機能させるためのプログラム。
【請求項8】
請求項4乃至6のいずれか一項に記載のサーバ装置の各手段としてコンピュータを機能させるためのプログラム。
【請求項9】
1または複数のサーバ装置と端末装置とを通信ネットワークで接続した印刷システムであって、
前記1または複数のサーバ装置のひとつは、
前記端末装置から、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を受信すると、該変換要求を受信した旨を示す受信応答を前記端末装置に送信する手段と、
前記変換要求を受信すると、前記変換要求に応じて前記文書データを前記印刷データに変換する変換処理を実行する変換手段と、
前記端末装置から前記変換要求に応じた変換処理の進捗を問い合わせる進捗情報要求を受信すると、Comet通信の手順に従い、当該変換処理が完了すれば応答として変換処理された印刷データを前記端末装置に送信し、前記変換処理が完了する前に応答設定時間が経過すれば空の応答を前記端末装置に送信する手段とを備え、
前記端末装置は、
前記1または複数のサーバ装置のひとつに対して、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を送信し、該変換要求に対応した受信応答を前記サーバ装置から受信するブラウザ手段と、
前記1または複数のサーバ装置のひとつに対して、特定文書データに対する前記変換要求に応じて前記サーバ装置で実行される変換処理の進捗を問い合わせる進捗情報要求を送信し、該進捗情報要求に応じた進捗情報または前記変換処理された印刷データを前記1または複数のサーバ装置のひとつから受信する進捗確認手段とを備え、
前記ブラウザ手段は、前記受信応答を前記1または複数のサーバ装置のひとつから受信すると、前記進捗確認手段に対して、前記変換要求で指定した文書データを前記特定文書データとして、前記変換処理の進捗の問い合わせを指示し、
前記進捗確認手段は、Comet通信の手順に従い、前記サーバ装置から空の応答を受信したなら、前記進捗情報要求を前記サーバ装置に対して送信することを特徴とする印刷システム。
【請求項10】
前記通信ネットワークには文書データを保存した文書管理サーバが更に接続され、
前記端末装置は、前記文書管理サーバにより保存された文書データの中から文書データを指定し、
前記1または複数のサーバ装置のひとつは、前記端末で指定された文書データを前記指定された文書データとして前記文書管理サーバから取得する手段を更に備えることを特徴とする請求項9に記載の印刷システム。
【請求項11】
前記1または複数のサーバ装置と前記端末装置との間の要求と応答は、前記1または複数のサーバ装置から前記端末に対する要求を遮断するファイアウォールを介して交換されることを特徴とする請求項9または10に記載の印刷システム。
【請求項12】
1または複数のサーバ装置と端末装置とを通信ネットワークで接続した印刷システムにおけるデータ変換方法であって、
前記端末装置のブラウザ手段が、前記サーバ装置に対して、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を送信する工程と、
前記1または複数のサーバ装置のひとつが、前記端末装置から、指定された文書データを印刷装置において印刷可能な印刷データに変換する変換要求を受信すると、該変換要求を受信した旨を示す受信応答を前記端末装置に送信し、前記変換要求に応じて前記文書データを前記印刷データに変換する変換処理の実行を開始する工程と、
前記端末装置のブラウザ手段が、前記変換要求に対応した受信応答を前記1または複数のサーバ装置のひとつから受信すると、前記端末装置の進捗確認手段に対して、前記変換要求で指定した文書データを特定文書データとして前記変換処理の進捗の問い合わせを前記サーバ装置に対して行うことを指示する工程と、
前記端末装置の前記進捗確認手段が、前記指示を受けて、前記前記1または複数のサーバ装置のひとつに対して、特定文書データに対する前記変換要求に応じて前記サーバ装置で実行される変換処理の進捗を問い合わせる進捗情報要求を送信する工程と、
前記1または複数のサーバ装置のひとつが、前記端末装置の前記進捗確認手段から前記変換要求に応じた変換処理の進捗を問い合わせる進捗情報要求を受信すると、Comet通信の手順に従い、当該変換処理が完了すれば応答として変換処理された印刷データを前記端末装置に送信し、前記変換処理が完了する前に応答設定時間が経過すれば空の応答を前記端末装置に送信する工程と、
前記端末装置の前記進捗確認手段が、前記変換処理された印刷データまたは空の応答を前記1または複数のサーバ装置のひとつから受信し、前記サーバ装置から空の応答を受信したなら、Comet通信の手順に従い、前記進捗情報要求を前記サーバ装置に対して送信する工程と
を有することを特徴とする方法。

【図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


【公開番号】特開2011−232893(P2011−232893A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2010−101440(P2010−101440)
【出願日】平成22年4月26日(2010.4.26)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】