説明

印刷システム、プリントサーバ、印刷管理方法、およびプログラム

【課題】 プリントサーバ、プリンタ間にはファイアウォールがあるため、プリントサーバはプリンタで印刷中の印刷ジョブを管理することができない。
【解決手段】 印刷データを管理するプリントサーバが、プリンタへの印刷指示をクライアント装置がWEBブラウザで実行するための印刷指示プログラムを生成するステップと、クライアント装置が、プリンタのプルプリント手段へ印刷指示を送信するステップ(911)と、クライアント装置が、印刷指示の応答としてプルプリント手段により発行されるデバイス印刷ジョブ識別子を受信するステップ(913)と、クライアント装置が、受信したデバイス印刷ジョブ識別子をプリントサーバへ通知するステップ(916)とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷システムに関する。
【背景技術】
【0002】
近年、クラウドサービスとしてインターネット上にサービスを公開することによりビジネス展開がされている。プリントサーバもインターネット上のプリントサービスとして機能を提供することが求められてきている。クラウドサービスとしてサービスを提供することは、大規模なデータセンター上にプリントサーバを配置することで顧客ごとのハードウェアの管理が不要となり、またサーバの負荷に応じてリソースを追加するようなことが容易に行えるといったさまざまなメリットがある。このためプリントサーバからプリンタが、インターネット越しに印刷データを取得し、プリンタへ転送することで印刷を行うプルプリントを行う印刷システムが求められている。プリントサーバからプリンタに印刷を行う印刷システムにおいて、プリントサーバはプリンタに印刷リクエストし印刷データを送信することで印刷実行する。またプリントサーバはプリンタと通信を行い、プリンタで印刷中の印刷ジョブを管理・制御する。特許文献1では印刷リクエストや印刷データにクライアントが印刷ジョブを識別可能なIDを入れることで、クライアントで印刷ジョブを識別する方法が開示されている。クライアントが指定した印刷ジョブ識別IDをプリンタで管理することによりクライアントは印刷を管理・制御することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−208280
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、プリントサーバをインターネット上に配置し、イントラネット上にあるプリンタに印刷を行う場合、プリントサーバ、プリンタ間にはファイアウォールがあるため、特許文献1の方法ではプリントサーバからプリンタへ印刷リクエストを行うことができず、プリントサーバはプリンタで印刷中の印刷ジョブを管理することができない。
そこで本発明では、プリントサーバがイントラネット上にあるWebブラウザを介してプリンタに印刷リクエストを行い、Webブラウザを経由してプリンタで発行されたデバイスジョブIDをプリントサーバに通知する。さらにプリンタからデバイスジョブIDを含む印刷結果通知を受け取ることで、プリントサーバはプリンタで印刷中の印刷ジョブを管理することができる。本発明ではプリントサーバ、プリンタ間のファイアウォールを越えてプリントサーバでプリンタの印刷を管理することを目的とする。
【課題を解決するための手段】
【0005】
本発明の印刷システムは、印刷データを管理し、プリンタへの印刷指示をクライアント装置がWEBブラウザで実行するための印刷指示プログラムを生成するプリントサーバと、クライアント装置からの印刷指示に基づいて、前記プリントサーバから前記印刷データを受信して印刷を行うプルプリント手段を備えるプリンタとからなる印刷システムであって、前記印刷指示プログラムは、前記クライアント装置を、前記プリンタの前記プルプリント手段へ印刷指示を送信する手段と、前記印刷指示の応答として前記プルプリント手段により発行されるデバイス印刷ジョブ識別子を受信する手段と、受信した前記デバイス印刷ジョブ識別子を前記プリントサーバへ通知する手段として機能させることを特徴とする。
【発明の効果】
【0006】
本発明では、プリントサーバがイントラネット上にあるWebブラウザを介してプリンタに印刷リクエストを行い、Webブラウザを経由してプリンタで発行されたデバイスジョブIDをプリントサーバに通知する。さらにプリンタからデバイスジョブIDを含む印刷結果通知を受け取ることで、プリントサーバはプリンタで印刷中の印刷ジョブを管理することができ、プリントサーバ、プリンタ間のファイアウォールを越えてプリントサーバでプリンタの印刷を管理することができる。
【図面の簡単な説明】
【0007】
【図1】ネットワーク構成を示すブロック図
【図2】プリントサーバ、クライアント端末、プリンタのハードウェア構成図
【図3】印刷システムのモジュール構成図
【図4】プリントサーバのソフトウェア構成図
【図5】プリントサーバが管理するデータ
【図6】Webブラウザの画面の例
【図7】プルプリントアプリケーションのソフトウェア構成図
【図8】プルプリントアプリケーションで管理するデータ
【図9】印刷リクエストシーケンス図
【図10】プルプリントシーケンス図
【図11】プリントサーバの印刷リクエストフロー
【図12】プリントサーバの印刷リクエスト完了通知受け付けフロー
【図13】プリントサーバの印刷データ取得リクエスト受け付けフロー
【図14】プリントサーバの印刷結果通知受け付けフロー
【発明を実施するための形態】
【0008】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例1】
【0009】
<システム全体構成>
図1は、本発明の実施の形態に係る印刷システムの全体構成を示す図である。
図1において、クライアント端末101〜103、プリントサーバ104、プリンタ105〜108は、ネットワーク109〜111を介して接続されている。図において、クライアント端末101〜103、プリンタ105〜108は、複数台接続されていることを仮定している。ネットワーク109〜111は、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATMやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれである。またこれらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワーク109〜111は、データの送受信が可能であればよい。そして、クライアント端末101〜103からプリントサーバ104、プリンタ105〜108への通信手段、プリンタ105〜108からプリントサーバ104への通信手段は異なっていてもよい。クライアント端末101〜103は、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、PDA(パーソナルデータアシスタント)等から成るが、プログラムの実行環境が内蔵された携帯電話であってもよい。クライアント端末101〜103では、Webブラウザ(インターネットブラウザ、WWWブラウザ、World Wide Webの利用に供するブラウザ)等のプログラムを実行する環境が内蔵されている。プリントサーバ104は、クライアント端末101〜103のWebブラウザを経由してプリンタ105〜108に印刷リクエストを行う。プリンタ105〜108は、クライアント端末101〜103のWebブラウザからの印刷リクエストを受けると、プリントサーバ104から印刷する印刷データを取得し、印刷を行う。
【0010】
<ハードウェア構成>
図2は、本発明の実施形態に係る印刷システムのクライアント端末101〜103、プリントサーバ104とプリンタ105〜108のハードウェア構成図である。
【0011】
図2において、202は装置全体の制御を行うCPUであり、ハードディスク(HDD)205に格納されているアプリケーションプログラム、OS等を実行し、RAM203にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。204は記憶手段としてのROMであり、内部には、基本I/Oプログラム等のプログラム、印刷処理の際に使用する印刷データ、プリンタ情報等の各種データを記憶する。203は一時記憶手段としてのRAMであり、CPU202の主メモリ、ワークエリア等として機能する。205は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HDD)である。Webブラウザ等のアプリケーションプログラム、プリントサーバプログラム、OS、関連プログラム等を格納している。206は表示手段であるディスプレイであり、キーボード207から入力したコマンドや、プリンタのステータス等を表示したりするものである。208は外部装置I/Fであり、プリンタ、USB機器、周辺機器を接続するためのI/Fである。207は指示入力手段であるキーボードである。201はシステムバスであり、印刷システムのプリントサーバ内におけるデータの流れを司るものである。209はネットワークインタフェースカード(NIC)であり、該インタフェース209、ネットワーク109〜111を介して外部装置とのデータのやり取りを行う。なお、上記コンピュータの構成はその一例であり、図2の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM、RAM、HDDなどで変更することも可能である。
【0012】
また、209はプリンタ105〜108のコントローラであり、プリンタの制御系を司る機器である。210は装置全体の制御を行うCPUであり、システムバス218に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ROM212に記憶された制御プログラム等あるいはディスクコントローラ(DKC216)を介して接続された外部メモリ223に記憶された制御プログラムやリソースデータ(資源情報)等に基づく。211はCPU210の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。213は大容量メモリとして機能する外部記憶手段であり、プルプリントアプリケーションプログラム、プリントコントローラプログラム、及び関係プログラム等を格納している。221は操作パネル(操作部)でプリントの操作を行うユーザインタフェースなどが配置される。また、プリンタ105〜108の動作モード等の設定やプリンタ105〜108の動作状況の表示、複写指定等の操作を行うためのボタンおよび液晶パネルやLED214等の表示部も配置される。219は、ネットワークインタフェースカード(NIC)であり、該インタフェース219を介して外部装置とのデータのやり取りを行う。なお、本図で示したプリントエンジン220は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華(熱転写)方式等が挙げられる。215のラスタコントローラは、PDL言語・PDF言語などの印刷データを画像データに変換するコントローラである。217の機器I/Fは、USB等で接続可能な外部機器との接続I/Fである。
【0013】
<印刷システム構成>
図3は、本発明の実施形態に係る印刷システムのシステム構成図である。
【0014】
Webブラウザ301はクライアント端末101〜103上で動作するアプリケーションである。Webブラウザ301はWebアプリケーション302へのリクエストで取得できるWebページの表示や、スクリプトの実行を行う。またスクリプトの実行によりプルプリントアプリケーション304に印刷リクエストを行ったりする。
【0015】
プルプリントアプリケーション304はプリンタ105〜108上で動作するアプリケーションである。プルプリントアプリケーション304はWebブラウザ301からの印刷リクエストに応じて、Webサービス303から印刷データを取得したり、印刷結果をWebサービス303に通知したりする。
【0016】
プリントコントローラ309はプリンタ105〜108上で動作する印刷制御を行うソフトウェアである。プリントコントローラ309はプルプリントアプリケーション304から印刷データを受け付け、印刷を画像データへ変換し印刷を実行する。またプルプリントアプリケーション304からの印刷イベント登録を受け付け、印刷結果の通知を行う機能もある。
【0017】
プリントサーバ104には、印刷ジョブを管理する印刷ジョブ管理サービス306がある。このサービスは、他サービス、または他プログラムから投入される文書データをストレージ307に管理する。文書データのデータフォーマットは、PDLまたは、PDF等の形式である。また、ストレージ307はプリントサーバ104の情報処理装置に内蔵するHDDまたは、外部接続しているHDD、または、ネットワークストレージ等の記憶装置である。プリンタ管理サービス305はプリンタ105〜108に関する情報を管理するサービスであり、プルプリントアプリケーション304の接続先などを管理している。Webアプリケーション302は、クライアント端末101〜103に動作しているWebブラウザ301で表示可能なWebページを作成し、Webブラウザ301からのリクエストに応答し、作成したWebページを返信する。Webサービス303は、印刷データ取得リクエストに対し印刷データを返し、また、印刷処理における印刷結果通知を受け取る。プリンタ105〜108のプルプリントアプリケーション304は、Webブラウザ301からの印刷リクエストを受け付ける。また、印刷ジョブ管理サービス306、プリンタ管理サービス305、Webアプリケーション302、Webサービス303はそれぞれ独立したプログラムであり、それぞれ別々の情報処理装置に配置することが可能である。これらのプログラムはそれぞれネットワークに繋がった情報処理装置に配置し、それぞれのプログラム間で通信を行う。またこれらのプログラムを同情報処理装置に配置することも可能である。
【0018】
認証サービス308はプリントサーバ104にアクセスするためのユーザ名、パスワード、認証トークンなどの認証情報を保持している。Webアプリケーション302、Webサービス303がリクエストを受信すると、認証サービス308へ認証リクエストを行う。Webアプリケーション302への認証はWebブラウザ301に表示されたログインWebページからのログインリクエストに含まれるユーザ名パスワードと認証サーバ308で保持するユーザ名、パスワードとの照合で行われる。Webアプリケーション302への認証が成功すると、認証サービス308から認証されたユーザに紐づく認証トークンが発行される。この認証トークンをWebブラウザ301、プルプリントアプリケーション304と引き継いでWebサービス303へアクセスし、認証トークンの確認によりリクエストの認証を行う。
【0019】
<プリントサーバ>
図4は、本発明の実施形態に係るプリントサーバ104のソフトウェア構成図である。なお、プリントサーバ104の各ソフトウェアモジュールは図2で示したHDD205に記憶されており、前述したようにCPU202によってRAM203にロードされ実行される。またプリントサーバ104が保持する文書情報500、印刷ジョブ情報510、プリンタ情報520はプリントサーバ104のプログラムによりHDD205に保存、RAM203にロードされ利用される。
【0020】
プリントサーバ104に位置する印刷ジョブ管理サービス306の印刷データ管理部401は、印刷データの管理を行う。Webアプリケーション302が印刷リクエストを受け付けると、ストレージ307から文書データを取得し印刷データへの変換を行う。そして、Webサービス303が印刷データ取得リクエストを受けつけると、印刷データ管理部401は印刷データ取得リクエスト応答のため変換した印刷データを渡す。印刷ジョブ情報管理部402はストレージ307で管理している文書データの情報500や印刷ジョブ情報510を管理しており、それぞれの情報の生成、削除、更新を行う。
【0021】
文書情報500は、文書ID、文書名、ユーザ名、データパス、ステータス、データ種別などで構成される。ドキュメントID501はプリントサーバ104が保存している文書情報500を一意に識別する情報である。文書名502は文書データに付けられた名前、ユーザ名503は文書データの所有者の名前である。データパス504はストレージ307に保存されている文書データの保存場所である。ステータス505は文書のステータスであり、文書ステータスには保存中、待機中、印刷待ち、印刷中、正常終了、エラー終了等のステータスがある。ジョブ種別506はPDLやPDF等の文書データのフォーマットである。
【0022】
印刷ジョブ情報510はジョブID、文書ID、ステータス、プリンタ名、デバイスジョブID、クライアントジョブIDなどで構成される。ジョブID511はプリントサーバ104が管理している文書情報500に対する印刷ジョブ情報510を一意に識別する情報である。文書ID512は先述したドキュメント情報500のドキュメントID501である。ステータス513は印刷ジョブのステータスであり、印刷ステータスには印刷待ち、転送中、印刷中、正常終了、エラー終了等のステータスがある。プリンタID514はプリントサービス104が管理しているプリンタ情報520を一意に識別情報であり、後述するプリンタ情報520のプリンタID521である。デバイスジョブID515はプルプリントアプリケーション304で発行されるプルプリントアプリケーション304で管理する印刷ジョブを一意に識別する情報である。デバイスジョブID515は後述するプルプリントアプリケーション304の印刷キュー情報700におけるデバイスジョブID705である。クライアントジョブID516はプリントサーバ104が管理している印刷ジョブ情報510を一意に識別する情報である。
【0023】
プリンタ管理サービス305のプリンタ情報管理部403は、プリントサーバ104で管理するプリンタ105〜108のプリンタ情報520を管理する。
プリンタ情報520はプリンタID、プリンタ名、設置場所、URLなどで構成される。プリンタID521はプリントサーバ104が管理しているプリンタ情報520を一意に識別する情報である。プリンタ名522や設置場所523はプリンタに付けられた名前やプリンタに設定されたプリンタの位置情報である。URL524はプリントサーバ104がWebブラウザ301経由でプルプリントアプリケーション304へリクエストするためのエンドポイントである。
【0024】
Webアプリケーション302のセッション管理部404は、認証サービス308で認証が成立したWebブラウザ301からのリクエストをセッションとして管理する。ページ生成部405は、Webブラウザ301からのリクエストに対し後述の図6画面例のようなWeb画面を作成し、Webブラウザ301に返信する。リクエスト受付部406は、Webブラウザ301からリクエストを受け付ける。
【0025】
Webサービス303のリクエスト受付部409は、プルプリントアプリケーション304から印刷データ取得リクエストや、印刷結果通知を受ける。印刷ジョブ取得部407は、印刷データ取得リクエストをリクエスト受付部409が受けると印刷ジョブ管理サービス306から印刷データを取得する。印刷ステータス受信部408は、リクエスト受付部409が印刷結果通知を受けると、そのステータスを印刷ジョブ管理サービス306に通知する。
【0026】
<Web画面>
図6は、本発明の実施形態に係るプリントサーバのWebアプリケーション302が作成し、クライアント端末101〜103のWebブラウザ301で表示するWeb画面の一例である。
【0027】
Webブラウザ301からプリントサーバ104へリクエストが行われ、認証サービス308により認証に成功すると、プリントサーバ104は、文書一覧画面600を文書情報500より作成し、Webブラウザ301に送信する。
【0028】
文書一覧画面600は文書選択チェックボックス601、文書名602、ステータス603、印刷ボタン604からなる。文書選択チェックボックス601は印刷する文書を選択するチェックボックスである。Webブラウザ301が印刷ボタン604の押下を検知すると文書選択チェックボックス601が選択されている文書一覧をプリントサーバ104へ送信する。文書一覧を受け付けたプリントサーバ104はプリンタ一覧画面610をプリンタ情報520より作成し、Webブラウザ301に送信する。プリンタ一覧画面610はプリンタ選択ラジオボタン611、プリンタ名612、印刷ボタン613からなる。Webブラウザ301が印刷ボタン613の押下を検知するとラジオボタン611が選択されているプリンタ情報をプリントサーバ104へ送信する。プリンタ情報を受け付けたプリントサーバ104は印刷設定画面620を作成し、Webブラウザ301に送信する。印刷設定画面620は印刷属性621の設定画面である。
【0029】
Webブラウザ301は印刷ボタン622の押下を検知すると、ユーザ指定の印刷属性621をプリントサーバ104に印刷リクエストとして送る。プリントサーバ104では、印刷データに対し指定の印刷属性情報が付加される。
【0030】
印刷設定画面620の印刷ボタン622押下によりプリントサーバ104が印刷リクエストを受けつけると、文書一覧画面600、プリンタ一覧画面610、印刷設定画面620で選択された情報より印刷ジョブ情報510を生成する。そして印刷リクエスト応答として630の印刷中画面640と印刷スクリプト631を生成し、Webブラウザ301に送信する。印刷中画面640は印刷スクリプト631の実行状況を示した画面である。
【0031】
<プルプリントアプリケーション304>
図7は、本発明の実施形態に係るプルプリントアプリケーション304のソフトウェア構成図である。なおプルプリントアプリケーション304の各ソフトウェアモジュールはHDD213に記憶されており、前述したようにCPU210によってRAM211にロードされ実行される。またプルプリントアプリケーション304が保持するイベント通知先情報800、印刷キュー情報810はプルプリントアプリケーション304のプログラムによりRAM203上に保持され利用される。
【0032】
プルプリントアプリケーション304のWebサービス受付部710は、プリンタ情報取得リクエスト、イベント登録リクエスト、印刷ジョブ生成リクエスト、印刷ジョブ登録リクエストを受け付ける。Webサービス送信部711はWebサービス710が受け付けたリクエストに対するレスポンスを返したり、印刷ジョブ取得リクエストや印刷結果通知をプリントサーバ104に送信したりする。
【0033】
イベント管理部712はWebサービス受付部710が受け付けたイベント登録リクエスト情報をイベント通知先情報800で管理する。イベント通知先情報800はサブスクリプションID801、イベント通知先URL802で構成される。サブスクリプションID801はプルプリントアプリケーション304がイベント通知先情報を一意に識別する情報である。イベント通知先URL802は印刷結果通知を行う接続先であり、プリントサーバ104のURLが登録される。
【0034】
印刷ジョブ取得部713はWebサービス受付部710が受け付けた印刷ジョブ生成リクエスト、印刷ジョブ登録リクエストの情報を印刷キュー情報810で管理する。印刷キュー情報700はURL811、ジョブ名812、ユーザ名813、クライアントジョブID814、デバイスジョブID815、認証トークン816で構成される。URL811は印刷データの保存先を示し、プリントサービス104のURIが登録される。ジョブ名812、ユーザ名813は、それぞれプリントサーバ104が管理する文書名502、ユーザ名503が登録される。クライアントジョブID814はクライアントが印刷ジョブを識別するIDである。本実施形態ではクライアントジョブID814にプリントサーバ104が発行した印刷ジョブ情報510のクライアントジョブID516が登録される。デバイスジョブID815はプルプリントアプリケーション304で発行される印刷ジョブを識別するIDである。本実施形態では印刷ジョブ生成リクエストを受け付けた順にプルプリントアプリケーション304が1から始まる整数をインクリメントしていった値が登録される。認証トークン816は認証サービス308で発行された認証トークンである。認証トークン816を印刷データ取得リクエスト時に付加し、プリントサーバ104により認証サービス308で整合性が確認される。印刷ジョブ取得部713はWebサービス受付部710が受け付けた印刷ジョブ生成リクエスト情報を印刷キュー情報810の最後尾に登録する。印刷ジョブ取得部713は印刷キュー情報810の先頭の印刷ジョブ情報でWebサービス送信部を介して印刷データ取得リクエストを行う。
【0035】
印刷ジョブ送信部715は印刷ジョブ取得部713より印刷データ取得リクエストで取得した印刷データをプリントコントローラ309に転送する。
【0036】
印刷制御部716は印刷ジョブ送信部715からプリントコントローラ309に送信された印刷データの印刷状況の監視を行い、印刷結果をイベント管理部712に通知し印刷結果通知が行われる。印刷制御部716における印刷状況監視はプリントコントローラ309へ印刷イベント登録し印刷結果通知を受けることで行われる。
【0037】
プルプリントコントローラ714は、プルプリントアプリケーション304全体の動作管理を行うものであり、各部への動作指示等は、このプルプリントコントローラ714経由で行う。
【0038】
<印刷リクエストシーケンス>
図9は図6の印刷設定画面の印刷ボタン622が押下されることでWebブラウザ301からプリントサーバ104に印刷リクエストされ、プルプリントアプリケーション304に印刷リクエストが行われるまでを示したシーケンスである。
【0039】
プリントサーバ104が印刷リクエスト901を受け付けると、印刷スクリプトを生成する(902)。印刷スクリプトの内容は後述する905〜916をWebブラウザ301上で実行するためのプログラムである。この印刷スクリプトは印刷リクエスト応答903でWebブラウザ301に印刷中画面604と共に渡され、後述する905〜916においてWebブラウザ301で実行される。プリントサーバ104が印刷リクエスト901を受け付け、印刷リクエスト応答903を返すまでのプリントサーバ104の処理フローは図11に詳細を示す。
【0040】
印刷リクエスト応答903を受信したWebブラウザ301は印刷中画面604を表示する(904)。そしてWebブラウザ301は印刷スクリプトを実行(905)することで、Webブラウザ301上で906〜916の処理が行われる。
【0041】
まず906〜915の処理でプルプリントアプリケーション304に対して印刷リクエストを行う。ここで印刷リクエストを行うプルプリントアプリケーション304の接続先はプリンタ一覧画面610で選択されたプリンタ情報520のURL524である。
【0042】
906のプリンタ情報取得リクエストによりプリンタ情報520と印刷リクエストするプルプリントアプリケーション304の整合性が確認される。プルプリントアプリケーション304より返されるプリンタ情報取得リクエスト応答907にはプリンタIDが含まれており、プリントサーバ104のプリンタID521との一致により整合性が確認できる。プリンタIDが一致しなかった場合にはその後の印刷リクエストは行われず印刷エラーとなる。
【0043】
次に908においてプルプリントアプリケーション304にイベント登録リクエストが行われる。イベント登録リクエストにはイベント通知先URLとしてプリントサーバ104のURLが指定されている。イベント登録リクエストを受け付けたプルプリントアプリケーション304はサブスクリプションID801を発行し、イベント通知先URL802にプリントサーバ104のURLを追加する(909)。イベント登録リクエスト応答910には発行されたサブスクリプションID801が返される。
【0044】
次に911においてプルプリントアプリケーション304に印刷ジョブ生成リクエストが行われる。印刷ジョブ生成リクエストにはプリントサーバ104が管理する文書名502、ユーザ名503、クライアントジョブID516が含まれる。ここで印刷ジョブ生成リクエストは文書一覧画面600で選択された文書より特定された文書情報500、印刷ジョブ情報510で行われる。印刷ジョブ生成リクエストを受け付けたプルプリントアプリケーション304は印刷ジョブ生成リクエスト情報を印刷キュー情報810に追加する(912)。文書名502をジョブ名812、ユーザ名503をユーザ名813、クライアントジョブID516をクライアントジョブID815として登録し、デバイスジョブID815をプルプリントアプリケーション304が発行し印刷キュー情報810に登録する。印刷ジョブ生成リクエスト応答にはプルプリントアプリケーション304で発行されたデバイスジョブID516が返される。
【0045】
次に913においてプルプリントアプリケーション304に印刷ジョブ登録リクエストが行われる。印刷ジョブ登録リクエストは印刷ジョブ生成リクエスト応答で返されたデバイスジョブID516を指定して行われる。また印刷ジョブ登録リクエストにはプリントサーバ104のURL、認証サービス308が発効した認証トークンが含まれる。印刷ジョブ登録リクエストを受け付けたプルプリントアプリケーション304は印刷キュー情報810のうち印刷ジョブ登録リクエストされたデバイスジョブID815が一致する印刷ジョブを検索する。そしてデバイスジョブID815の一致する印刷ジョブのURL811にプリントサーバ104のURLを、認証トークン816に認証サービス308が発効した認証トークンを登録する。印刷キュー情報810の登録が完了すると印刷ジョブ登録リクエスト応答915が返される。
【0046】
次に916においてプリントサーバ104に印刷リクエスト完了通知が行われる。印刷リクエスト完了通知には印刷ジョブ生成リクエスト応答913でプルプリントアプリケーション304より返されたデバイスジョブID815が含まれる。印刷リクエスト完了通知によりデバイスジョブID815を受け取ったプリントサーバ104は印刷ジョブ生成リクエスト時に使用した印刷ジョブ情報510のデバイスジョブID515として保存する。そしてプリントサーバ104は印刷リクエスト完了通知の応答として文書一覧画面600を返し(917)、Webブラウザ301によって文書一覧画面600が表示される(918)。
【0047】
以上がプリントサーバ104からWebブラウザ301経由でプルプリントアプリケーション304に印刷リクエストする際のシーケンスである。ここで図示、印刷ジョブ生成リクエスト911、印刷ジョブ登録リクエスト914は1度しか行われていないが、文書一覧画面600で選択された文書が複数の場合には選択数に応じて複数回のリクエストが行われる。またそれに伴い、印刷リクエスト完了通知916で通知されるデバイスジョブIDの数も複数になる。
【0048】
<プルプリントシーケンス>
図10はプルプリントアプリケーション304が印刷キュー情報810をもとにプリントサーバ104から印刷データを取得し印刷実行、印刷完了後に印刷結果をプリントサーバ104に通知するまでを示したシーケンスである。
【0049】
プルプリントアプリケーション304は印刷キュー情報810を管理しており、印刷キュー情報810に印刷ジョブ情報が登録されている場合に先頭の印刷ジョブ情報を取得し、印刷処理を開始する(1000)。
【0050】
1001、1002はプリントコントローラ309への印刷イベント登録処理と印刷イベント登録応答を受ける処理である。プリントコントローラ309に印刷イベント登録を行うことでプルプリントアプリケーション304はプリントコントローラ309から後述の印刷結果通知(1008)を受け取ることができる。
【0051】
次に1003においてプルプリントアプリケーション304はプリントサーバ104に印刷データ取得リクエストを行う。印刷データ取得リクエスト1003の接続先は印刷キュー情報810のURL811であり、先述の印刷ジョブ登録リクエスト914でプリントサーバ104のURLが登録されている。印刷データ取得リクエスト1003にはクライアントジョブID814、デバイスジョブID、認証トークン816が含まれている。印刷データ取得リクエスト1003を受けたプリントサーバ104が認証サービス308により認証トークン816の有効性を確認する。認証トークン816が有効性だった場合、プリントサーバ104はクライアントジョブID814、デバイスジョブID815に該当する印刷データを印刷データ取得リクエスト応答として印刷データを返す(1004)。プリントサーバ104が印刷データ取得リクエスト1003を受け付け、印刷データ取得リクエスト応答1004を返すまでの処理は図13に詳細を記載する。
【0052】
プルプリントアプリケーション304は印刷データ取得応答1004によりプリントサーバ104から渡される印刷データをプリントコントローラ309に送信を行うことで(1005)、プリントコントローラ309により印刷が実行される(1006)。
【0053】
プリントコントローラ309により印刷が実行され(1006)、印刷が完了するとプリントコントローラ309はプルプリントアプリケーション304に印刷結果を通知する(1008)。プルプリントアプリケーション304は印刷結果通知1007をもとにプリントサーバ104に印刷結果通知1008を行う。ここで印刷結果通知1008を通知する接続先は、イベント通知先情報800のイベント通知先URL802である。イベント通知先URL802はイベント登録リクエスト908時にプリントサーバ104のURLが登録されている。印刷結果通知1008には印刷結果、クライアントジョブID814、デバイスジョブID815が含まれる。印刷結果の種類は印刷正常終了、キャンセル終了、エラー終了などである。
【0054】
印刷結果通知1008を受け付けたプリントサーバ104は通知されたクライアントジョブID814、デバイスジョブID815に該当するステータス505、513を印刷結果で更新する。このプリントサーバ104印刷結果通知1008を受けつけてステータスを更新する処理は図14に詳細を記載する。
【0055】
1010おいてプルプリントアプリケーション304はプリントコントローラ309に印刷イベント登録1001した印刷イベントの解除を行い、印刷イベント解除応答がプリントコントローラ309により返される(1011)。
【0056】
印刷処理が完了するとプルプリントアプリケーション304は印刷キュー情報810より印刷情報を削除(1009)し、次の印刷ジョブの印刷処理が行われる(1000)。
【0057】
<プリントサーバ104の印刷リクエストフロー>
図11はプリントサーバ104がWebブラウザ301から印刷リクエスト901を受け付け、印刷リクエスト応答903を返すまでの処理フローである。
【0058】
プリントサーバ104はWebブラウザ301から印刷リクエストを受け付けると(S1100)、文書一覧画面600において選択された文書情報500のデータパス504より文書データを取得し、印刷データ生成を開始する(S1101)。ここで生成された印刷データはプリントサーバ104によりHDD205に保存され管理される。
プリントサーバ104はS1102においてプリンタ一覧画面610において選択されたプリンタ情報520のURL524より、印刷リクエストを行う接続先を決定する。
【0059】
次にS1103においてプリントサーバ104は文書情報500とプリンタ情報500より印刷ジョブ情報510を生成する。ジョブID511はプリントサーバ104が発効する。文書ID512は文書情報500の文書ID501を登録する。プリンタID514はプリンタ情報520のプリンタID521を登録する。S1104においてクライアントジョブID516はプリントサーバ104がUUIDを発効し登録する。S1105においてステータス505、513に印刷待ちを登録する。
【0060】
次にS1106においてプリントサーバ104はプルプリントアプリケーション304に送信する印刷リクエストメッセージを生成する。ここで生成されるメッセージはプリンタ情報取得リクエスト906、イベント登録リクエスト908、印刷ジョブ生成リクエスト911、印刷ジョブ登録リクエスト914である。各リクエストに含まれる情報は図9に先述のとおりである。
【0061】
S1107においてプリントサーバ104は印刷スクリプトを生成する。ここで生成される印刷スクリプトはWebブラウザ301で実行可能なプログラムである。Webブラウザ301で印刷スクリプトが実行されることで図9における905〜916の処理がWeブラウザ301で実行される。印刷スクリプトはS1107において生成された印刷リクエストメッセージをプルプリントアプリケーション304に送信し、応答を受け取る(906〜915)。さらに印刷リクエスト完了通知916をプリントサーバ104に送信する処理を行う。Webブラウザ301による印刷スクリプトの処理については図9で先述のとおりである。
【0062】
S1108においてプリントサーバ104は印刷中画面640を生成し、S1109において印刷リクエスト応答903として印刷中画面640と印刷スクリプトをWebブラウザ301に返す。
【0063】
図12はWebブラウザ301で印刷スクリプトが実行され、プリントサーバ104が印刷リクエスト完了通知916を受け付ける処理フローである。
プリントサーバ104は印刷リクエスト完了通知916を受け付けると(S1200)、印刷リクエスト完了通知916で通知されるデバイスジョブIDをS1103で生成した印刷ジョブ情報510のデバイスジョブID515に登録する(S1201)。
【0064】
プリントサーバ104がデバイスジョブID515を保持することにより、デバイスジョブID515を用いてプルプリントアプリケーション304に印刷キャンセルを行ったりできる。また図14で後述するがプルプリントアプリケーション304からの印刷結果通知においてプリントサーバ104がデバイスジョブID515を用いて印刷ジョブ情報510を特定することができる。プリントサーバ104はプリンタ105〜108への印刷の管理・制御を行うことが可能になる。
【0065】
なお、図11、12で示す処理フローはプリントサーバ104のプログラムとしてHDD205に記憶されており、CPU202によってRAM203にロードされ実行される。また図11、12で示す処理フロー中で使われる文書情報500、印刷ジョブ情報510、プリンタ情報520はプリントサーバ104のプログラムによりHDD205に保存、RAM203にロードされ利用される。S1107において生成された印刷スクリプトはプリントサーバ104のプログラムによって生成されプリントサーバ104のRAM203上で保持される。Webブラウザ301は印刷スクリプトを受け取ると、Webブラウザ301によりクライアント端末101〜103のHDD205に記憶され、RAM203にロードされ実行される。Webブラウザ301はクライアント端末101〜103上で動作するプログラムとしてHDD205に記憶されており、CPU202によってRAM203にロードされ実行される。
【0066】
<プリントサーバ104の印刷データ取得リクエスト受け付けフロー>
図13はプリントサーバ104がプルプリントアプリケーション304から印刷データ取得リクエスト1003を受け付け、印刷データ取得リクエスト応答1004を返すまでの処理フローである。
【0067】
S1300においてプリントサーバ104はプルプリントアプリケーション304から印刷データ取得リクエスト1003を受け付けクライアントジョブID814、デバイスジョブID815、認証トークン816を受け取る。図示省略しているがプリントサーバ104は受け取った認証トークン816の有効確認を認証サービス308に対して行う。認証トークン816が有効だった場合にS1301からの処理を行うが認証トークン816無効だった場合には印刷データ取得リクエスト応答をエラーとし印刷は実行されない。
【0068】
S1301においてプリントサーバ104は印刷データ取得リクエスト1003で受け付けたデバイスジョブID815を印刷ジョブ情報510のデバイスジョブID515より検索する。
【0069】
S1302においてプリントサーバ104はデバイスジョブID815と一致するデバイスジョブID515があった場合、該当した印刷ジョブ情報510のステータス513を印刷中に更新する。またプリントサーバ104は印刷ジョブ情報510の文書ID512に紐づく文書情報500のステータス505も同様に印刷中に更新する(S1303)。
【0070】
S1302においてプリントサーバ104はデバイスジョブID815と一致するデバイスジョブID515がなかった場合S1304の処理を行う。
【0071】
S1304においてプリントサーバ104は印刷データ取得リクエスト1003で受け付けたクライアントジョブID814を印刷ジョブ情報510のクライアントジョブID516より検索する。
【0072】
S1304においてプリントサーバ104はクライアントジョブID814と一致するクライアントジョブID516があった場合S1305の処理を行う。S1305においてプリントサーバ104はクライアントジョブID516が一致した印刷ジョブ情報510のデバイスジョブID515に印刷データ取得リクエストで通知されたデバイスジョブID815を登録する。さらに印刷ジョブ情報510のステータス513を印刷中に更新する。またプリントサーバ104は印刷ジョブ情報510の文書ID512に紐づく文書情報500のステータス505も同様に印刷中に更新する(S1306)。
【0073】
S1304においてプリントサーバ104はクライアントジョブID814と一致するクライアントジョブID516がなかった場合、印刷データ取得リクエスト応答1004としてプルプリントアプリケーション304にエラーを返す(S1309)。
【0074】
S1307においてプリントサーバ104はS1101で生成しHDD205に保存した印刷データを取得し、印刷データ取得リクエスト応答1004としてプルプリントアプリケーション304に取得した印刷データを返す(S1308)。
【0075】
プリントサーバ104は印刷リクエスト完了通知916においてデバイスジョブID815を保持できる。しかしWebブラウザ301は印刷スクリプト実行中に停止され印刷リクエスト完了通知916できないこともある。プリントサーバ104が印刷データ取得リクエスト時にもデバイスジョブID515を保持することにより、印刷リクエスト完了通知916されなかった場合でもデバイスジョブID515を管理できる。そして、デバイスジョブID515を用いてプルプリントアプリケーション304に印刷キャンセルを行ったりできる。また図14で後述するがプルプリントアプリケーション304からの印刷結果通知においてプリントサーバ104がデバイスジョブID515を用いて印刷ジョブ情報510を特定することができる。プリントサーバ104はプリンタ105〜108への印刷の管理・制御を行うことが可能になる。
【0076】
なお、図13で示す処理フローはプリントサーバ104のプログラムとしてHDD205に記憶されており、CPU202によってRAM203にロードされ実行される。また図13で示す処理フロー中で使われる文書情報500、印刷ジョブ情報510はプリントサーバ104のプログラムによりHDD205に保存、RAM203にロードされ利用される。
【0077】
<プリントサーバ104の印刷結果通知受け付けフロー>
図14はプリントサーバ104がプルプリントアプリケーション304から印刷結果通知1008を受け付けた際の処理フローである。
【0078】
S1400においてプリントサーバ104はプルプリントアプリケーション304から印刷結果通知1008を受け付け、印刷結果、クライアントジョブID814、デバイスジョブID815を受け取る。ここで通知される印刷結果には印刷正常終了、キャンセル終了、エラー終了などがある。
【0079】
S1401においてプリントサーバ104は印刷結果通知1008で受け付けたデバイスジョブID815を印刷ジョブ情報510のデバイスジョブID515より検索する。
【0080】
S1402においてプリントサーバ104はデバイスジョブID815と一致するデバイスジョブID515があった場合、該当した印刷ジョブ情報510のステータス513を印刷結果で更新する。またプリントサーバ104は印刷ジョブ情報510の文書ID512に紐づく文書情報500のステータス505も同様に印刷結果で更新する(S1403)。
【0081】
S1402においてプリントサーバ104はデバイスジョブID815と一致するデバイスジョブID515がなかった場合S1404の処理を行う。
【0082】
S1404においてプリントサーバ104は印刷結果通知1008で受け付けたクライアントジョブID814を印刷ジョブ情報510のクライアントジョブID516より検索する。
【0083】
S1404においてプリントサーバ104はクライアントジョブID814と一致するクライアントジョブID516があった場合S1405の処理を行う。S1405においてプリントサーバ104はクライアントジョブID516が一致した印刷ジョブ情報510のデバイスジョブID515に印刷データ取得リクエストで通知されたデバイスジョブID815を登録する。さらに印刷ジョブ情報510のステータス513を印刷結果で更新する。またプリントサーバ104は印刷ジョブ情報510の文書ID512に紐づく文書情報500のステータス505も同様に印刷結果で更新する(S1406)。
【0084】
S1404においてプリントサーバ104はクライアントジョブID814と一致するクライアントジョブID516がなかった場合、処理は行われない。
【0085】
プリントサーバ104は印刷リクエスト完了通知916や印刷データ取得リクエスト時に通知されたデバイスジョブID815を保持している。そのデバイスジョブID515を用いてプルプリントアプリケーション304からの印刷結果通知において印刷ジョブ情報510を特定することができ、プリントサーバ104はプリンタ105〜108への印刷の管理を行うことが可能になる。
【0086】
なお、図14で示す処理フローはプリントサーバ104のプログラムとしてHDD205に記憶されており、CPU202によってRAM203にロードされ実行される。また図13で示す処理フロー中で使われる文書情報500、印刷ジョブ情報510はプリントサーバ104のプログラムによりHDD205に保存、RAM203にロードされ利用される。

【特許請求の範囲】
【請求項1】
印刷データを管理し、プリンタへの印刷指示をクライアント装置がWEBブラウザで実行するための印刷指示プログラムを生成するプリントサーバと、
クライアント装置からの印刷指示に基づいて、前記プリントサーバから前記印刷データを受信して印刷を行うプルプリント手段を備えるプリンタとからなる印刷システムであって、
前記印刷指示プログラムは、前記クライアント装置を、
前記プリンタの前記プルプリント手段に印刷指示を送信する手段と、
前記印刷指示の応答として前記プルプリント手段により発行されるデバイス印刷ジョブ識別子を受信する手段と、
受信した前記デバイス印刷ジョブ識別子を前記プリントサーバへ通知する手段として機能させることを特徴とする印刷システム。
【請求項2】
前記プルプリント手段は、
前記印刷指示により印刷を実行した結果と、前記プリンタ印刷ジョブ識別子をプリントサーバに通知し、
前記プリントサーバは、
前記プルプリント手段から通知された前記デバイス印刷ジョブ識別子に一致するデバイス印刷ジョブ識別子を保持しているか判断し、
該判断の結果に基づき、前記一致するデバイス印刷ジョブ識別子を有する印刷ジョブの印刷ステータスを更新する
ことを特徴とする請求項1に記載の印刷システム。
【請求項3】
前記プルプリント手段への印刷指示は、前記プリントサーバにより発行されたクライアント印刷ジョブ識別子を含み、
前記プルプリント手段は、
前記印刷指示により印刷を実行した結果と、前記クライアント印刷ジョブ識別子と、前記デバイスジョブ識別子を前記プリントサーバへ通知し、
前記プリントサーバは、
前記プルプリント手段から通知された前記デバイス印刷ジョブ識別子に一致するデバイス印刷ジョブ識別子を保持しているか判断し、
前記プルプリント手段から通知された前記デバイス印刷ジョブ識別子に一致するデバイス印刷ジョブ識別子を保持していない場合、前記プルプリント手段から通知された前記クライアント印刷ジョブ識別子に一致するクライアント印刷ジョブ識別子を保持しているか判断し、
前記クライアント印刷ジョブ識別子と一致する印刷ジョブに、前記プルプリント手段から通知されたデバイス印刷ジョブ識別子を登録し、
該クライアント印刷ジョブ識別子と一致する印刷ジョブの印刷ステータスを更新することを特徴とする請求項1に記載の印刷システム。
【請求項4】
前記プルプリント手段は、
前記プリントサーバから印刷データを取得する際に、前記プリンタ印刷ジョブ識別子と、前記クライアント印刷ジョブ識別子をプリントサーバに通知し、
前記プリントサーバは、
前記プルプリント手段から通知された前記デバイス印刷ジョブ識別子に一致するデバイス印刷ジョブ識別子を保持しているか判断し、
前記プルプリント手段から通知された前記デバイス印刷ジョブ識別子に一致する印刷ジョブを保持していない場合、前記プルプリント手段から通知された前記クライアント印刷ジョブ識別子に一致するクライアント印刷ジョブ識別子を保持しているか判断し、
前記クライアント印刷ジョブ識別子と一致する印刷ジョブに、前記プルプリント手段から通知されたデバイス印刷ジョブ識別子を登録することを特徴とする請求項3記載の印刷システム。
【請求項5】
印刷データを管理し、プリンタへの印刷指示をクライアント装置がWEBブラウザで実行するための印刷指示プログラムを生成するプリントサーバであって、
前記印刷指示プログラムは、前記クライアント装置を、
前記プリンタのプルプリント手段へ印刷指示を送信する手段と、
前記印刷指示の応答として前記プルプリント手段により発行されるデバイス印刷ジョブ識別子を受信する手段と、
受信した前記デバイス印刷ジョブ識別子を前記プリントサーバへ通知する手段として機能させることを特徴とするプリントサーバ。
【請求項6】
印刷データを管理するプリントサーバが、プリンタへの印刷指示をクライアント装置がWEBブラウザで実行するための印刷指示プログラムを生成するステップと、
前記クライアント装置が、前記プリンタのプルプリント手段へ印刷指示を送信するステップと、
前記クライアント装置が、前記印刷指示の応答として前記プルプリント手段により発行されるデバイス印刷ジョブ識別子を受信するステップと、
前記クライアント装置が、受信した前記デバイス印刷ジョブ識別子を前記プリントサーバへ通知するステップと
を有することを特徴とする印刷管理方法。
【請求項7】
コンピュータを、請求項5に記載のプリントサーバとして機能させるためのプログラム。

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