JP5319237B2 - 印刷システム及びその制御方法 - Google Patents

印刷システム及びその制御方法 Download PDF

Info

Publication number
JP5319237B2
JP5319237B2 JP2008277377A JP2008277377A JP5319237B2 JP 5319237 B2 JP5319237 B2 JP 5319237B2 JP 2008277377 A JP2008277377 A JP 2008277377A JP 2008277377 A JP2008277377 A JP 2008277377A JP 5319237 B2 JP5319237 B2 JP 5319237B2
Authority
JP
Japan
Prior art keywords
print
schedule
job
server
printing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008277377A
Other languages
English (en)
Other versions
JP2010108104A5 (ja
JP2010108104A (ja
Inventor
健介 堤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008277377A priority Critical patent/JP5319237B2/ja
Priority to US12/578,571 priority patent/US20100103453A1/en
Publication of JP2010108104A publication Critical patent/JP2010108104A/ja
Publication of JP2010108104A5 publication Critical patent/JP2010108104A5/ja
Application granted granted Critical
Publication of JP5319237B2 publication Critical patent/JP5319237B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、印刷システム及びその制御方法に関するものである。
従来、複数台のプリントサーバで印刷処理を分散する技術が提案されている(例えば、特許文献1参照)。
この特許文献1によれば、プリントサーバへの印刷処理の振り分けを行う管理サーバが論理デバイスを占有し、印刷リクエストをプリントサーバに割り振る。そして、プリントサーバが割り振られた順番に印刷データを取得し、プリントデバイスに対して配信印刷を行うことが開示されている。
特開2006−313442号公報
全国のオフィスに位置する何千台ものプリントデバイスに対して配信印刷を行う際に、大量の印刷ジョブの制御を1台のプリントサーバで行うと、プリントサーバが高負荷となり、各ジョブの排紙までに多大な時間がかかってしまう。これを回避するためには、複数のプリントサーバでクラスタ化し、負荷分散(ロードバランシング)して稼動させる必要がある。印刷システムがクラスタ構成により分散されるため、プリントサーバ間で共通のジョブ情報やプリンタ情報などの印刷情報を共通ディスクで集中管理を行っている。
しかし、大規模プリントサーバシステムにおいて、印刷処理が集中してしまう。これを解決するプリントサーバシステムの必須要件として印刷順序制御がある。プリントサーバからプリントデバイスへの印刷実行時に、プリントデバイスとプリントサーバが一対一の関係となるため、1台のプリントデバイスへの印刷順序を守るためには、1台のプリントサーバが連続して印刷する必要がある。
そのため、1台のプリントデバイスへ印刷リクエストが集中した場合、それを処理するプリントサーバは1台に限定され、印刷処理がプリントサーバ1台に集中してしまう。
負荷が集中するとクラスタ化したメリットが損なわれ、負荷集中したプリントサーバへ印刷リクエストされたジョブはなかなか印刷されないことになりプリントサーバシステムの印刷パフォーマンスが劣化する恐れがある。
上述した特許文献1の方法によって印刷順序を制御した場合、特定のプリントデバイスへの印刷処理を行うプリントサーバが固定となる。そのため、1台のプリントデバイスへの印刷リクエストが集中した場合には、1台のプリントサーバの負荷が増大してしまい、印刷処理集中の課題を解決することができない。
本発明は、印刷処理が1台のプリントサーバに集中することなく、指示通りの印刷順序で印刷することを目的とする。
本発明は、複数のプリントサーバと、少なくとも1つのプリントデバイスとを含む印刷システムであって、
プリントサーバは、
ドキュメントデータを識別するドキュメント識別子を含む印刷ジョブの印刷リクエストを受け付ける受付手段と、
該印刷ジョブの登録をプリントデバイスに要求する手段と、
前記印刷ジョブの登録を要求した後、当該印刷ジョブを破棄する手段と、
前記プリントデバイスからの指示に応答して、前記指示された印刷ジョブを取得し、当該印刷ジョブに基づき印刷データを生成して前記プリントデバイスに転送する手段
を有し、
前記プリントデバイスは、
前記印刷ジョブの登録の要求を受け付けたことに応じて、前記ドキュメント識別子を含む前記印刷ジョブをスケジュールリストに登録する登録手段と、
前記スケジュールリストに登録された登録内容に基づき、前記複数のプリントサーバのうちのいずれかのプリントサーバに対して、印刷データの生成を指示する指示手段と
を有することを特徴とする。
本発明によれば、印刷処理が1台のプリントサーバに集中することなく指示通りの印刷順序で印刷することができる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
<システム構成>
図1は、本実施形態における印刷システムの構成の一例を示すブロック図である。図1において、複数の印刷システムを制御するためのサーバコンピュータシステムとプリントデバイス及びクライアントコンピュータがWAN(Wide Area Network)110を介して広域に接続されている。
DBMS(DataBase Management System)104は、ストレージ105に保存されているドキュメントデータ、印刷ジョブやプリンタ情報といったデータを管理するサーバコンピュータシステムである。他のサーバから各種データの更新、取得、追加、削除といったオペレーションを受け付け実行する。また、大規模な印刷システムの場合は負荷分散するためのクラスタ構成や障害発生に備えて冗長性を持たせたシステム構成を採用することも考えられる。
ストレージ105は、DBMS104とDAS(Direct Attached Storage)として直接接続する形態をとっても良いし、SAN(Storage Area Network)としてネットワークを介して接続する形態をとっても良い。
プリントサーバシステム101は、印刷システムにおけるプリントデバイスの監視や管理、印刷ジョブの制御や監視、プリントデバイスへの印刷ジョブの転送を司るサーバコンピュータシステムである。このプリントサーバシステム101も大規模な印刷システムの場合は負荷分散するためのクラスタ構成もしくは冗長性を持たせたクラスタ構成となっている。また、LAN(Local Area Network)109Aを介してDBMS104や後述するWebサーバシステム102と接続し、印刷ジョブデータや印刷制御指示、管理している印刷ジョブの情報などを交換する。
Webサーバシステム102は、WAN110を介して接続する複数のフロントエンドのクライアント108へDBMS104で管理しているジョブ情報やドキュメント情報を送信する。Webサーバシステム102はサーバコンピュータシステムであり、大規模な印刷システムの場合は負荷分散のためのクラスタ構成や冗長構成となることが通例である。また、クライアント108とからの印刷指示、印刷ジョブの操作を受け付け、プリントサーバシステム101へ指示を転送する。
また、Webサーバシステム102は、後述するディレクトリサーバ103と連携してクライアント108及びプリントデバイス107から行われるログインの認証管理を行う。Webサーバシステム102は、予めシステム設計者かもしくはドキュメント生成者が設定したユーザの権限を保持している。権限情報としては、例えばドキュメントの参照、印刷、削除権限、あるプリンタへの印刷権限、印刷ジョブの削除権限などが挙げられる。また、このユーザの権限情報はWebサーバシステム102で保存、管理しても良いし、上述したDBMS104で保存、管理しても良い。
ディレクトリサーバ103は、ユーザ名及びパスワードの組み合わせによってユーザの認証管理を行うサーバである。また、各々のユーザはドメイングループに参加するような構成も可能であり、例えばドメイングループ内のユーザ同士での権限をユーザ単体の権限とは違う範囲で設定することもできる。また、各々のユーザは複数のドメイングループに参加するように設計することも可能である。
システム管理サーバ106は、プリントサーバシステム101、Webサーバシステム102、ディレクトリサーバ103などのシステムを管理するサーバである。
プリントデバイス107(107A、107B、107C、107D)は印刷デバイスである。プリントデバイス107は不図示のネットワークインタフェースを介してLAN109BもしくはLAN109Cに接続されている。また、LAN109B、109CはWAN110と接続され、プリントデバイス107はLAN及びWANを介して上述したプリントサーバシステム101やWebサーバシステム102と通信が可能に構成されている。
このプリントデバイス107としては、電子写真方式を採用したレーザビームプリンタやインクジェット方式を採用したインクジェットプリンタを適宜適用することができる。また、プリントデバイス107は後述する印刷スケジュールを管理するスケジュールアプリケーションを備える。
クライアント108(108A、108B、108C、108D)は、情報処理を行うためのクライアントコンピュータである。クライアント108は不図示のネットワークインタフェースを介してLAN109BもしくはLAN109Cに接続され、WAN110を介して各種サーバシステムと通信が可能に構成されている。尚、クライアント108は、それぞれ永続記憶装置を接続したコンピュータであっても良いし、一時記憶装置のみによって構成されたThin Client構成をとっても良い。
<サーバコンピュータ及びクライアントコンピュータのハードウェア構成>
図2は、サーバコンピュータ又はクライアントコンピュータのハードウェア構成の一例を示す図である。CPU203は、HDD206に記憶されたプログラムをRAM205に読み込み、そのプログラムに従って処理を実行し、本装置(サーバコンピュータ、又はクライアントコンピュータ)を制御する。ROM204は、本装置の各処理に関わるプログラムや制御データを記憶する書き換え不可能なメモリである。RAM205は、本装置の各処理に関わる一時的なデータを記憶する書き換え可能なメモリである。
尚、本装置の各処理に関わるプログラムや制御データ及び一時的なデータなどはHDD206にも記憶される。
入力装置207は、本装置への指示入力を受け付けるキーボードやポインティングデバイスである。表示装置208は、本装置の動作状況や、本装置上で動作する各プログラムが出力する情報を表示する。NetworkI/F202は、ネットワーク経由でLAN及びインターネットに接続し、外部と情報交換を行うためのインタフェースである。外部機器I/F201は外部記憶機器などを接続するためのインタフェースである。
<Webサーバシステム>
Webサーバシステム102は上述の通り、負荷分散するためのクラスタ構成が通例であり、複数のWebサーバから構成される。Webサーバは、WWW(World Wide Web)システムにおいて情報通信を行うサーバであり、ソフトウェアである。Webサーバシステム102は以下の機能を備える。
フロントエンドのクライアント108からのログインによりユーザアカウント情報及びパスワードを得てディレクトリサーバ103に認証を依頼する。ログイン認証に成功すると、ユーザのドキュメントの参照権限を承認する。承認された参照権限に従ってDBMS104からドキュメントの情報を取得し、ログインしているクライアント108へ情報を送信する。また、クライアント108からドキュメントの印刷を指示されると、印刷指示をプリントサーバシステム101へ送信する。
また、上述した参照権限の承認ポリシーとして、例えば所属するドメイン全てのユーザのドキュメントが参照可能であるポリシーや、ユーザ本人のドキュメントのみ参照可能といったポリシーが考えられる。また、それらは印刷システムを導入するユーザのポリシーによって柔軟に設計可能である。また、この承認については、ドキュメントの参照のみでなく、ドキュメントの印刷権限、印刷ジョブの削除権限、プロモート権限といったような権限設定が可能である。
<DBMS>
DBMS104はカード型、リレーショナル型、オブジェクト型といった様々なデータ管理方法を選択することができるが、本実施形態においては最も広く普及しているリレーショナル型として説明する。DBMS104はジョブ情報300(図3)、デバイス情報400(図4)、ドキュメント情報500(図5)などをテーブル情報としてストレージ105に保持している。
図3は、本実施形態におけるDBMSで管理されるジョブ情報の一例を示す図である。図3に示すように、ジョブ情報300には、ジョブID301、ドキュメント名302、ユーザ名303、受付日時304、ドキュメントID305、ステータス306、デバイス名307、デバイス内ジョブID308が含まれる。ここで、ユーザ名303は印刷を指示したユーザのアカウント名である。ドキュメントID305はDBMS104で管理されているドキュメントの識別子である。ステータス306は印刷ジョブのステータスである。
ステータスとしては、印刷データをプリントデバイス107へ転送している「転送中」、プリントデバイス107で印刷が行われている「印刷中」、印刷順序待ちである「スケジュール待機」といった状態がある。
また、デバイス名307は印刷を行うプリントデバイス107の名称である。デバイス内ジョブID308はプリントデバイス107内のスケジュールアプリケーション(詳細は図8を用いて後述する)により発行されるジョブの識別子である。
図4は、本実施形態におけるDBMSで管理されるデバイス情報の一例を示す図である。デバイス情報400として、印刷対象となるプリントデバイス107の各種情報が保持されている。図4に示すように、デバイス情報400には、デバイス名401、デバイスの通信先のアドレス402、通信に用いられるポート番号403、印刷データの転送方法404、デバイスのステータス405、プリントサーバアドレス406が含まれる。
ここで、印刷データの転送方法404には、データをストリームとしてTCP/IPにより連続送信するRAW、LPR(Line PRinter deamon protocol)、或いはHTTPにより送信する方法などがある。
また、デバイス情報400は、プリントサーバシステム101のデバイスマネージャが管理しても良く、データを保持する場所は問わない。
また、プリントサーバアドレス406には、プリントサーバシステム101内の複数のプリントサーバの1つのアドレスが登録される。ここで、プリントサーバアドレス406にアドレスが登録されている場合には、そのプリントサーバが印刷リクエストの処理中であることを示す。プリントデバイス107での印刷順序を守るため、スケジュール登録はプリントサーバアドレス406に登録されているプリントサーバで占有される。
図5は、本実施形態におけるDBMSで管理されるドキュメント情報の一例を示す図である。図5に示すように、ドキュメント情報500には、ドキュメントの識別子であるドキュメントID501、ドキュメント名502、ドキュメントの登録者のユーザ名503、実際にドキュメントが保存されている場所を示すデータパス504が含まれる。また、本実施形態では、ドキュメント情報500としてリファレンスが保持され、データは別の箇所で保存しているが、直接保持しても良い。
DBMS104は、例えば以下のような処理に利用される。
(1)Webサーバシステム102から指定したユーザ名と一致する全てのドキュメント情報やジョブ情報の取得。
(2)Webサーバシステム102からデバイス名の指定によって一致するデバイス情報の取得。
(3)プリントサーバ601からドキュメントIDの指定によって一致するドキュメントの情報の取得。
(4)プリントサーバ601からの印刷実行に必要なデバイス情報の取得。
(5)プリントサーバ601からの新規ドキュメントの登録、ジョブの登録。
(6)プリントサーバ601からジョブやデバイスの状態が変化した際のジョブステータスやデバイスステータスの更新。
<プリントサーバシステム>
図6は、プリントサーバシステム101の構成の一例を示すブロック図である。図6において、プリントサーバシステム101は大規模な印刷システムに対応するために、負荷分散構成が採用されている。そして、複数台のプリントサーバ601がLAN109AやWAN110と負荷分散を行うためのスイッチ機構であるロードバランサ602を介して接続されている。ロードバランサ602は、複数台のプリントサーバ601の負荷状況を把握し、負荷のかかっていないサーバに対してリクエストを優先的に発行するような分散を行う。
負荷状況の把握方法としては、単純にリクエストを順次各サーバに回していくラウンドロビンと呼ばれる方法や、規定のリクエストを定期的に複数台のプリントサーバ601に送出し、返信までかかった時間を負荷として判断する方法などが考えられる。
ここで、プリントサーバ601の概略構成を説明する。プリントサーバ601はAPI603、DBドライバ604、ジョブマネージャ605、デバイスマネージャ606から構成されている。APIはApplication Program Interfaceの略である。API603では、Webサーバシステム102や他の印刷可能なドキュメントを生成するサーバからのドキュメント登録、ドキュメントの印刷リクエストや印刷ジョブの制御リクエストを受け付ける。また、この他の印刷可能なドキュメントを生成するサーバとしては、例えば定型帳票を作成するような帳票サーバや、ユーザのドキュメントを一括管理するドキュメント管理サーバなどがある。
API603が印刷リクエストを受け付けると、リクエスト情報よりDBMS104で保持するデバイス情報400を特定し、このプリントサーバのアドレスがプリントサーバアドレス406に登録される。また、印刷リクエストCB(Call Back)する際に、プリントサーバアドレス406をクリアする。ここで、プリントサーバアドレス406を登録する際に、既に他のプリントサーバアドレスが登録されている場合には印刷リクエストをそのプリントサーバアドレスへ転送する。
また、DBドライバ604はドキュメント登録リクエストを受けて、DBMS104へドキュメントを登録する場合、印刷リクエストを受けて印刷データをDBMS104から取得する場合など、DBMS104との通信を行うモジュールである。
次に、ジョブマネージャ605は次のような機能を有する。API603で受け付けたドキュメントを、DBドライバ604を介してDBMS104へ登録する。API603が印刷リクエストを受け付けると、DBドライバ604を介してDBMS104の印刷するドキュメント情報を参照し印刷可否を判断する。印刷可能な場合にはジョブマネージャ605がスケジュールアプリケーションにスケジュール登録するようデバイスマネージャ606へ指示する。
デバイスマネージャ606でスケジュール登録が行われると、ジョブマネージャ605がデバイスマネージャ606から通知を受ける。その後、印刷リクエスト情報とスケジュール登録CBで受け取る情報をジョブ情報300としてDBMS104に登録する。DBMS104に登録された後、ジョブ情報はプリントサーバ601内で保持する必要はなく破棄される。
次に、デバイスマネージャ606の処理について説明する。デバイスマネージャ606はDBMS104が保持しているデバイス情報400を取得し、一時保存(キャッシュ)する。デバイスマネージャ606でキャッシュされるデバイス情報400は印刷実行時に使用され、印刷開始時に毎回取得しても良いし、定期的に取得しても良く、デバイス情報400のキャッシュを更新するタイミングは問わない。
また、デバイスマネージャ606はジョブマネージャ605からジョブのスケジュール登録リクエストを受け付け、プリントデバイス107内のスケジュールアプリケーションとの通信を開始してスケジュール登録を行う。スケジュール登録が完了し、スケジュールアプリケージョンからスケジュール登録CBを受け取ると、ジョブマネージャ605にスケジュール登録CB情報を通知する。尚、スケジュール登録シーケンスの詳細については後述する。
デバイスマネージャ606がジョブマネージャ605からの印刷指示を受け付けると、印刷指示で受け取るスケジュール情報に基づいてドキュメントデータを取得する。次に、デバイスマネージャ606は保持しているデバイス情報400のキャッシュを用いドキュメントデータをプリントデバイス107で印刷可能な形式に変換し、プリントデバイス107へ印刷データ転送を開始する。プリントデバイス107が印刷可能な形式にはPDL(Page Discription Language)やPDF(Portable Document Format)などがある。
ここでプリントデバイス107がPDFを直接受け付けて印刷できるPDFダイレクトプリント機能を有する場合など形式変換が必要ない場合もある。尚、デバイスマネージャ606が印刷指示を受け付けてから印刷データをプリントデバイス107へ転送し、印刷が完了するまでの印刷シーケンスの詳細については後述する。
また、デバイスマネージャ606はスケジュールアプリケーションから印刷結果を受け付ける機能を有する。そして、スケジュールアプリケーションからの印刷結果を受け付け、DBドライバ604を介してDBMS104に印刷結果の登録を行う。
<プリントデバイスのハードウェア構成>
図7は、プリントデバイス107のハードウェア構成の一例を示す図である。イメージリーダ702は原稿給送部701で原稿を読み込む。画像形成部703は読み込んだ原稿やネットワーク経由で受信したデータを印刷画像に変換し印刷出力する。排紙部704は印刷出力した紙を排出し、ソートやステイプルなどの処理を施す。NetworkI/F705はネットワーク経由でLAN及びインターネットに接続し、外部と情報交換を行うためのインタフェースである。
CPU706はROM707又はHDD709に記憶されたプログラムをRAM708に読み込み、そのプログラムに従って処理を実行し、本装置(プリントデバイス)を制御する。不揮発性のROM707は本装置の各処理に関わるプログラムやデータを記憶するメモリである。書き換え可能なRAM708は本装置の各処理に関わる一時的なデータを記憶するメモリである。HDD709は本装置の各処理に関わるプログラムやデータ及び一時的なデータ等を記憶する。操作部710は後述する画面を表示したり、画面を介したユーザの操作指示を受け付けたりする。
<プリントデバイス>
図8は、プリントデバイス107の構成を階層的に示す図である。図8において、画像形成部813は、紙のハンドリングや画像転写・定着等の一連の画像形成プロセスを実行して、記録紙等の記録媒体上に画像を形成する。この画像形成部813は、例えばインクジェット方式や電子写真方式の画像形成ユニットを備えている。
画像読み取り部817は、スキャナ等を備え、原稿画像を光学的に読み取ってデジタル画像情報に変換する。また、画像読み取り部817は、そのデジタル画像情報を画像形成部813に出力して画像を形成したり、ファックス部812やネットワークインタフェース部814等に渡して回線を介して伝送したりする。
デバイスコントローラ810は、画像形成部813と、画像読み取り部817とのそれぞれの動作を制御し、例えば画像読み取り部817で読み取った原稿情報を画像形成部813で複写するよう制御する。また、デバイスコントローラ810は、ネットワークインタフェース部814、プリント処理部815、ファックス部812、操作部制御部811を有し、これら各部の間での情報のやり取りも制御する。
ファックス部812は、ファクシミリ画像の送受信、即ち画像読み取り部817で読み取ったディジタル画像情報を送信したり、また逆に、受信したファクシミリ信号を復号し、画像形成部813で記録したりする等の処理を実行する。
操作部制御部811は、不図示の操作部の操作パネルを使用したユーザの操作に応じた信号を発生したり、また操作部(又は表示部)等に各種データやメッセージ等を表示したりするように制御する。プリント処理部815は、例えばネットワークインタフェース部814を介して入力された印刷データを処理して画像形成部813に出力し、印刷する等の制御を行う。ネットワークインタフェース部814は、通信回線を介して他の通信端末との間のデータの送受信を制御する。
仮想マシン(Virtual Machine)805は、デバイスコントローラ810の上位に位置し、この仮想マシン805からデバイスコントローラ810を制御できるように構成されている。
また、ネットワークインタフェース部814は、デバイスコントローラ810と、仮想マシン805との双方から直接利用でき、それぞれ独立して外部ネットワークにアクセスすることができるよう構成されている。
更に、仮想マシン805の上位には、仮想マシン805が提供するAPIに対応したプログラミング言語で記述されたアプリケーション801〜803が存在している。これらのアプリケーション801〜803は、仮想マシン805を介して間接的にデバイスコントローラ810に働きかけることができ、また画像形成部813や画像読み取り部817を動作させることができる。
本実施形態では、アプリケーション801として、特にスケジュールアプリケーションを備える。また、アプリケーション801〜803は、仮想マシン805上からアンインストールしたり、更に新たにアプリケーション804をインストールしたりするといったことが可能なように構成されている。
また、これらのアプリケーション801〜803は、本実施形態ではプリントデバイス107にインストールされるものとして説明したが、ハードウェアとして備えられていても良い。更に、プリントデバイス107と通信可能に接続された外部装置(コンピュータ)上のアプリケーションとして備えられていても良い。
外部記憶装置制御部816は、画像読み取り部817で読み取られた画像を画像形成部813で外部記憶装置に保存可能なデータフォーマットに変換し、外部記憶装置に保存する。また、外部記憶装置制御部816は、外部記憶装置に保存されたデータを読み出し、画像形成部813を介して印刷処理を行ったり、ネットワークインタフェース部814を介して外部にネットワーク送信したりする。
また、本実施形態では、プリントデバイス107へのログインの方法としてICカードリーダ818が通信可能に接続されている。ログインの方法としては、他の方法でも勿論問題なく、例えば操作部制御部811が管理するデバイスパネルからの入力といった方法でも良い。
<スケジュールアプリケーション>
図9は、スケジュールアプリケーションの構成を示すブロック図である。スケジュールアプリケーション801は、通信マネージャ901、ジョブマネージャ902、デバイスマネージャ903から構成される。
ここで、通信マネージャ901はプリントサーバ601からの接続やリクエストを受け付け、デバイスコントローラ810から通知される印刷ジョブのステータス変化の通知を行う。ジョブマネージャ902はプリントサーバ601から受け付けたスケジュール情報をスケジュールリストとして保持し、印刷ジョブを管理するモジュールで、スケジュールリストに登録された順序通りに印刷が行われるように制御する。また、プリントサーバ601からの印刷ジョブの削除やプロモート(優先度変更)といった操作を受け付け、印刷ジョブをコントロールする。尚、印刷ジョブの削除やプロモートの詳細な説明は本発明と関係しないため省略する。
デバイスマネージャ903はデバイスコントローラ810との通信を行うモジュールで、印刷ジョブの削除を行ったり、印刷ジョブの状態の変化をキャッチしたりする。
図10は、ジョブマネージャ902が管理する印刷ジョブのスケジュール情報を示す図である。スケジュール情報1000には、ドキュメント名1001、ユーザ名1002、受付日時1003、ドキュメントID1004、ステータス1005、デバイス名1006、デバイス内ジョブID1007、リクエスト先アドレス1008が含まれる。
スケジュール情報1000は、基本的には上述したDBMS104で管理されるジョブ情報300と共通する情報であり、詳細な説明は省略する。但し、ステータス1005にプリントサーバ601への印刷指示が行われた状態を示す「リクエスト済」が増える。
図11は、デバイスマネージャ903が管理する連続印刷制限数に関する情報を示す図である。連続印刷制限情報1100には、連続印刷制限数1101が含まれる。ここで、スケジュールアプリケーション801からプリントサーバ601へ印刷指示が複数ジョブまとめて行われ、プリントサーバ601は複数の印刷データを同一セッションで連続して転送する。連続印刷制限数1101はその最大ジョブ数である。
つまり、連続印刷制限数1101は、プリントサーバ601が一度に印刷処理する最大ジョブ数となるため、連続印刷制限数1101でプリントサーバ601毎の負荷分散状況を調整することができる。このように、プリントサーバシステム101内で負荷分散されるプリントサーバ601の台数や性能によって連続印刷制限数1101を調整することにより印刷処理のパフォーマンスの最適化を行うことができる。
ここで、上述した構成を備える本実施形態における印刷システムの印刷フローについて詳細に説明する。
<プリントサーバ601の印刷リクエスト受付フロー>
図12は、プリントサーバ601が印刷リクエストを受け付けた際の処理を示すフローチャートである。まず、プリントサーバ601におけるAPI603が印刷リクエストを受け付ける(F1201)。この印刷リクエストによりドキュメントID及び印刷対象のプリンタ名称もしくはプリンタのアドレスが通知される。次に、ジョブマネージャ605が通知されたドキュメントIDに基づきDBドライバ604を介してDBMS104からドキュメント情報500を取得し、ジョブ情報を生成する(F1202)。ここで生成されるジョブ情報はDBMS104が保持するジョブ情報300と同じ情報であるが、スケジュールアプリケーション801から発行されるデバイス内ジョブID308はまだ確定していない。
次に、上述のF1202で取得したドキュメント情報よりドキュメントデータの存在を確認し、印刷可能か否かを判定する(F1203)。ここで、ドキュメントデータが存在しない場合には、印刷不可能と判定し、この印刷リクエストに対する印刷リクエストCBとしてエラーを返す(F1208)。
一方、ドキュメントデータが存在する場合には、印刷可能と判定し、そのドキュメントデータの印刷を行うプリントデバイス107を特定し、スケジュールアプリケーション801に対してスケジュール要求を行う(F1204)。このスケジュール要求で通知するスケジュール情報リストはF1202で生成したジョブ情報とリクエスト先アドレスから生成される。
本実施形態では、リクエスト先アドレスはロードバランサ602のアドレスを指定する。また、リクエスト先アドレスの指定はロードバランサ602のアドレスに固定し、負荷分散をロードバランサ602に任せる。ここで、リクエスト先アドレスに複数のプリントサーバ601のアドレスを振り分けて登録し、ロードバランサ602の機能を使用せずに負荷分散を行うこともできる。
上述したF1204のスケジュール要求により、スケジュールアプリケーション801がスケジュール登録の処理を行い、スケジュール登録CBが返される。このスケジュール登録CBには、スケジュールアプリケーション801で発行されたデバイス内ジョブIDが含まれる。
次に、スケジュール登録CBにより受け取ったデバイス内ジョブIDとジョブ情報とをDBMS104のジョブ情報300に保存する(F1205)。ここで、DBMS104に保存されたジョブ情報300のステータス306はプリントサーバ601により随時更新される。そして、Webサーバシステム102はDBMS104が保持しているジョブ情報300を参照してユーザにジョブ実行状況を伝えることができる。
ジョブ情報300の保存が完了すると、プリントサーバ601はスケジュール登録に使用するために、F1202で生成したジョブ情報を破棄する(F1206)。印刷実行に必要なジョブ情報は、スケジュールアプリケーション801からの印刷指示を受け付けた際の情報として受け取ることができるため、プリントサーバ601はジョブ情報を保持し続ける必要がない。
そして、F1207において、プリントサーバ201は印刷リクエスト受付完了として印刷リクエストCBを返す。以上をもってプリントサーバ201の印刷リクエスト受付が完了する。
<スケジュールアプリケーション801のスケジュール登録動作フロー>
図13は、スケジュールアプリケーション801がプリントサーバ601からスケジュール要求を受け付けた際の処理を示すフローチャートである。スケジュールアプリケーション801の通信マネージャ901がスケジュール要求を受け付け、ジョブマネージャ902にスケジュール要求を受け付けた際に渡されるスケジュール情報リストを通知する(F1301)。そして、スケジュール情報リストを受け取ったジョブマネージャ902がスケジュール情報リストに登録されている全てのジョブに対してデバイス内ジョブIDを発行する(F1302)。
次に、ジョブマネージャ902が管理するスケジュールリストを確認し(F1303)、ステータス1005がスケジュール待機となっているジョブがあるか否かを確認する(F1304)。ここで、既にスケジュールリストにスケジュール待機のジョブがある場合は、スケジュールリストの最後にスケジュール要求で受け取ったスケジュール情報リストを追加し(F1307)、この処理を終了する。
一方、スケジュールリストにスケジュール待機のジョブがない場合は、スケジュール要求で受け取ったスケジュール情報リストをスケジュールリストに登録し、ステータス1005をスケジュール待機とする(F1305)。そして、スケジュール情報リストの先頭のスケジュール情報でジョブ実行を開始する(F1306)。ジョブ実行開始についての詳細は後述する。
このように、スケジュールアプリケーション801がプリントサーバ601からのスケジュール要求を受け付け、スケジュール情報リストの登録を行う。
<スケジュールアプリケーション801のジョブ実行開始フロー>
図14は、スケジュールアプリケーション801がプリントサーバ601に対して印刷指示を行う際の処理を示すフローチャートである。まず、ジョブマネージャ902で管理されるスケジュールリストに登録済みであるスケジュール情報1000でジョブ実行開始が通知される(F1401)。次に、通知されたスケジュール情報のステータス1005をリクエスト済に更新する(F1402)。そして、プリントサーバ601への印刷指示の際に通知するジョブ実行リストをヌル(NULL)に初期化し(F1403)、ジョブ実行開始されたスケジュール情報をジョブ実行リストに追加する(F1404)。
次に、ジョブマネージャ902で管理されるスケジュールリストにおいて、ジョブ実行開始されたスケジュール情報の次のスケジュール情報についてスケジュールリストの最後まで処理を繰り返す(F1405〜F1411)。
まず、リクエスト先アドレス1008がジョブ実行開始されたスケジュール情報リストのリクエスト先アドレスと同じか否かを判定する(F1406)。ここで、リクエスト先アドレスが異なる場合には、連続印刷することができないため、F1405〜F1411の処理を終了する。
一方、リクエスト先アドレスが同じ場合には、プリントサーバ601からの連続印刷の対象となり、プリントサーバ601の連続印刷数を制限する。即ち、ジョブ実行リストの登録数がスケジュールアプリケーション801で保持する連続印刷制限数1101以上か否かを判定する。判定の結果、ジョブ実行リストの登録数が連続印刷制限数1101以上の場合には、これ以上ジョブ実行リストに登録させず、F1405〜F1411の処理を終了する。
一方、連続印刷制限数1101以上でない場合には、連続印刷可能としてジョブ実行リストにスケジュール情報を追加する(F1409)。そして、追加したスケジュール情報のステータス1005をリクエスト済に更新する(F1410)。
その後、スケジュールリストに登録されている全てのスケジュール情報リストの処理が終了すると(F1411)、ジョブ実行リストでリクエスト先アドレス1008に対して印刷指示を行う(F1412)。尚、印刷指示を行う際のスケジュールアプリケーション801とプリントサーバ601と間のシーケンスについては後述する。
このように、スケジュールアプリケーション801はプリントサーバ601に対して印刷指示を行う。
<プリントサーバ601の印刷フロー>
図15は、スケジュールアプリケーション801からの印刷指示を受け付けたプリントサーバ601の処理を示すフローチャートである。スケジュールアプリケーション801からの印刷指示にはジョブ実行リストが含まれており、複数のスケジュール情報1000が登録されている。
プリントサーバ601が印刷指示を受け付けると、ジョブ実行リストに登録されている全てのスケジュール情報リストを実行する(F1502〜F1505)。
まず、スケジュール情報リストに基づきドキュメントデータを取得する(F1503)。次に、取得したドキュメントデータを印刷実行するプリントデバイス107で印刷可能な印刷データを生成する(F1504)。この生成処理では、プリンタドライバを用いてPDLを生成しても良いし、PDFを変換せずに、そのまま使用しても良い。
そして、ジョブ実行リストに登録されているスケジュール情報1000についての印刷データの生成処理が完了すると(F1502〜F1505)、プリントデバイス107に印刷データの転送を開始する(F1506)。
プリントサーバ601が印刷データをプリントデバイス107に転送し、印刷が行われて印刷結果が通知されるまでの、プリントサーバ601、プリントデバイス107、スケジュールアプリケーション801の間の詳細なシーケンスは後述する。
このように、プリントサーバ601はスケジュールアプリケーション801からの印刷指示を受け付け、プリントデバイス107へ印刷データ転送を開始し印刷を行う。
<スケジュール登録シーケンス>
図16は、プリントサーバ601とスケジュールアプリケーション801との間のスケジュール登録時のシーケンスを示す図である。プリントサーバ601は印刷リクエストを受け付けた際に、このシーケンスでスケジュールアプリケーション801にスケジュール登録を行う。
まず、S1601で、プリントサーバ601及びスケジュールアプリケーション801間で通信セッションを開始する。通信セッションはTCP/IPやHTTPといった通信プロトコルによって確立される。次に、S1602で、プリントサーバ601がスケジュールアプリケーション801に対して接続要求を発行する。そして、スケジュールアプリケーション801における通信マネージャ901がこの接続要求を受け付ける。
次に、S1603で、スケジュールアプリケーション801のジョブマネージャ902で管理されているスケジュール情報1000のリスト取得を行う。取得したスケジュール情報800のリストは、例えばプリントサーバ601に接続する他のアプリケーションサーバへ通知するか、プリントサーバ601を管理するためのコンソールへ出力するといった利用方法がある。
また、Webサーバシステム102を介して印刷ジョブの情報をクライアント108へ提供する機能を実現することも可能である。これら機能は、本発明とは関係しないため、詳細な説明は省略する。
次に、S1604で、プリントサーバ601がスケジュールアプリケーション801に対して印刷ジョブのスケジュール要求を発行する。このスケジュール要求にはジョブ情報300が含まれる。スケジュール要求を受けたスケジュールアプリケーション801は、S1605でスケジュール登録を行う。
スケジュールアプリケーション801がスケジュール登録を完了すると、S1606でプリントサーバ601にスケジュール要求CBを返す。このスケジュール要求CBでは、スケジュール登録時に発行されるデバイス内ジョブIDを通知する。
次に、S1607で、プリントサーバ601はスケジュールアプリケーション801に切断要求を発行し、S1608で、S1601で確立させたセッションを終了する。
このように、プリントサーバ201はスケジュールアプリケーション801にスケジュール登録を行うことができる。
<印刷シーケンス>
図17は、プリントサーバ601、ロードバランサ602、スケジュールアプリケーション801、デバイスコントローラ810間の印刷シーケンスを示す図である。この印刷シーケンスは、スケジュールアプリケーション801がプリントサーバ601に印刷指示を行い、印刷指示を受け付けたプリントサーバ601が印刷処理を実行し、終了するまでのシーケンスである。
ここでは、リクエスト先アドレス1008をロードバランサ602に固定しているため、スケジュールアプリケーション801からの印刷指示がロードバランサ602によって負荷分散される。また、不図示であるが、スケジュールアプリケーション801が起動時に、デバイスコントローラ810に対してイベント登録を行っている。従って、デバイスコントローラ810で管理される印刷ジョブやデバイス状態が変化すると、スケジュールアプリケーション801へ通知される。
まず、S1701で、ロードバランサ602及びスケジュールアプリケーション801間で通信のセッションを開始する。通信セッションはTCP/IPやHTTPといった通信プロトコルによって確立される。次に、S1702で、ロードバランサ602がプリントサーバ601とセッションを開始する。ここで、セッションを開始するプリントサーバ601はロードバランサ602によって負荷分散される。負荷分散方法としては、単純にリクエストを順次各プリントサーバに回していくラウンドロビンや、規定のリクエストを定期的に各プリントサーバ601に送出し、返信までかかった時間を負荷として判断する方法などである。負荷分散方法は、ロードバランサ602の設定次第である。
次に、ロードバランサ602を介して開始されたスケジュールアプリケーション801とプリントサーバ601のセッションは、S1718、S1719で、セッションが終了するまで維持される。ここで、S1701、S1702からS1718、S1719までのスケジュールアプリケーション801とプリントサーバ601の通信はロードバランサ602を介して行われる。
上述のセッションが開始されると、S1703でスケジュールアプリケーション801はプリントサーバ601に対して接続要求を行う。プリントサーバ601はデバイスマネージャ606にて接続要求を受け付ける。
次に、S1704で、プリントサーバ601は印刷ジョブ及びプリントデバイスのステータスが変化した場合に通知を受けるべくスケジュールアプリケーション801に対してイベント登録を行う。そして、S1705で、現在スケジュールアプリケーション801のジョブマネージャ902にて管理されているスケジュール情報1000のリスト取得を行う。
ここで取得したスケジュール情報1000のリストは、例えばプリントサーバ601に接続する他のアプリケーションサーバへ通知する他、プリントサーバ601を管理するためのコンソールへ出力するといった利用方法が考えられる。また、Webサーバシステム102を介して印刷ジョブの情報をクライアント108へ提供する機能を実現することも可能である。これら機能は、本発明とは関係しないため、詳細は省略する。
次に、S1706で、スケジュールアプリケーション801はプリントサーバ601に対して印刷指示をする。印刷指示を受けたプリントサーバ601は、S1707で、スケジュールアプリケーション801に印刷データの転送開始を通知し、S1708で、デバイスコントローラ810に対して印刷ジョブの転送を開始する。この印刷ジョブの転送はデバイス情報400に設定された転送方法404にて行われる。また、転送開始を受け付けたスケジュールアプリケーション801はそのスケジュール情報1000のステータス806を転送中に変更する。
一方、S1709で、デバイスコントローラ810が受信した印刷データを順次解析し、印刷を開始する。そして、S1710で、イベント登録を行っているスケジュールアプリケーション801に対して印刷開始にステータスが変更されたことを通知する。また、印刷開始通知を受けたスケジュールアプリケーション801は自身で管理しているスケジュール情報1000のステータス1005を印刷中に変更する。
更に、S1711で、スケジュールアプリケーション801は、イベント登録しているプリントサーバ601に対して印刷開始通知を行う。こうして、プリントサーバ601は自身が印刷した印刷ジョブの状態を把握することが可能であり、DBMS104で保持するジョブ情報300のステータス306を更新する。
この印刷データの転送が完了すると、S1712で、プリントサーバ601は転送終了をスケジュールアプリケーション801に通知する。通知を受けたスケジュールアプリケーション801は転送開始時と同様に当該印刷ジョブのスケジュール情報1000のステータス1005を転送済みに変更する。
一方、プリントデバイス107において、S1713で印刷が終了すると、S1714で、デバイスコントローラ810が印刷開始時と同様に、スケジュールアプリケーション801に対して印刷結果を通知する。そして、印刷結果の通知を受けたスケジュールアプリケーション801は、S1715でプリントサーバ601に印刷結果を通知する。
ここで、印刷結果を受けたプリントサーバ601は、予定していた全ての印刷ジョブの印刷が完了した場合は、S1716でスケジュールアプリケーション801に対してイベントの解除を行い、続いてS1717で切断要求を行う。
このイベントの解除及び切断要求を受けたスケジュールアプリケーション801はプリントサーバ601との通信の終了処理を行う。最後に、S1718、S1719で、S1701、S1702で確立させたセッションを終了する。
このように、スケジュールアプリケーション801はロードバランサ602を介してプリントサーバ201へ印刷指示を行い、プリントサーバ201はスケジュールアプリケーション801を介してプリントデバイス107で印刷を行うことが可能となる。
<ジョブ転送開始通知時のフロー>
図18は、プリントサーバ601より印刷データの転送開始通知がなされた場合のスケジュールアプリケーション801の処理を示すフローチャートである。尚、スケジュールアプリケーション801は印刷データの転送開始が通知されたタイミングで転送開始されたジョブの次ジョブの印刷指示を行う。
まず、図17に示すS1707で、プリントサーバ601から転送開始通知を受け付ける(F1801)。この転送開始通知はS1703で接続要求により確立した接続で通知されるため、スケジュールアプリケーション801は転送開始された印刷データのデバイス内ジョブIDを特定できる。このデバイス内ジョブIDよりジョブマネージャ902で管理されるスケジュールリストのスケジュール情報1000を特定し、ステータス1005を印刷中に更新する(F1802)。
次に、スケジュールリストにおいて転送開始通知されたスケジュール情報の次のスケジュール情報を参照する(F1803)。そして、次のスケジュール情報のステータス1005がリクエスト済であるか否かを判定し(F1804)、リクエスト済でなかった場合にジョブ実行開始し(F1805)、リクエスト済だった場合には処理を終了する。尚、ジョブ実行開始(F1805)の詳細は上述したジョブ実行開始処理である。
<印刷結果通知フロー>
図19は、スケジュールアプリケーション801がデバイスコントローラ810から印刷結果を受け取った場合の処理を示すフローチャートである。まず、スケジュールアプリケーション801にデバイスコントローラ810より印刷結果通知がなされた時に、印刷を開始したプリントサーバ601とのセッションが維持されているか確認する(F1901)。ここで、印刷開始したプリントサーバ601とのセッションが維持されている場合は、接続しているプリントサーバ601に印刷結果通知を行う(F1904)。
一方、印刷開始したプリントサーバ601とのセッションが切れてしまっている場合は、リクエスト先アドレス1008との接続を確立し印刷結果を通知する(F1903)。その後、上述の印刷結果の通知が終了すると、スケジュールリストよりスケジュール情報を削除する(F1905)。
本実施形態では、リクエスト先アドレス1008にロードバランサ602のアドレスを指定しているため、印刷結果通知がロードバランサ602により負荷分散され、プリントサーバ601に通知される。
図20は、プリントサーバ601がスケジュールアプリケーション801から印刷結果通知を受け付けた場合の処理を示すフローチャートである。まず、プリントサーバ601がスケジュールアプリケーション801から印刷結果通知を受け付ける(F2001)。そして、通知されるスケジュール情報に基づいて、DBMS104で保持するジョブ情報300を特定し、印刷結果を登録する(F2002)。
印刷結果が通知されるプリントサーバ601はロードバランサ602によって決まる。しかし、DBMS104にクラスタ構成のプリントサーバ601で共通情報としてジョブ情報300を保持しているため、印刷結果を登録するプリントサーバ601は固定されない。
印刷開始したプリントサーバ601とスケジュールアプリケーション801の間の接続が切れた場合であっても、他のプリントサーバ601が印刷結果の登録を行うため、接続の回復を待つ必要がない。また、プリントサーバ601が停止した場合であってもロードバランサ602により稼動しているプリントサーバ601に印刷結果が通知されるため、停止したプリントサーバ601の復帰を待つ必要もなく、印刷結果をすぐにユーザに通知することができる。
<プリントサーバとのセッション切断時フロー>
図21は、転送終了通知がなされる前にプリントサーバ601とスケジュールアプリケーション801との間のセッション切断を検知した場合のスケジュールアプリケーション801の処理を示すフローチャートである。
スケジュールアプリケーション801がプリントサーバ601との間のセッション切断を検知し(F2101)、セッションを切断したプリントサーバ601が印刷を開始する予定だったジョブの再印刷指示を行う。
次に、印刷指示時に必要なジョブ実行リストをヌル(NULL)に初期化する(F2102)。そして、スケジュールアプリケーション801で管理するスケジュールリストに登録されている全てのスケジュール情報1000を処理する(F2103〜F2106)。
まず、スケジュールリストに登録されているスケジュール情報1000のうち、ステータス1005がリクエスト済となっているものをジョブ実行リストに追加する(F2104、F2105)。そして、全てのスケジュール情報1000の処理を終了すると(F2106)、スケジュール情報1000に登録されているリクエスト先アドレス1008にジョブ実行リストをもって印刷指示を行う(F2107)。
本実施形態では、リクエスト先アドレス1008にロードバランサ602のアドレスを指定しているため、印刷指示は負荷分散される。ここで、スケジュールアプリケーション801からの印刷指示の詳細は上述した通りである。
印刷開始前にプリントサーバ601とのセッションが切断してしまい、印刷を開始できない状況になったとしても、再度、印刷指示を行うことにより印刷が実行される。また、プリントサーバ601とスケジュールアプリケーション801の間の接続が切れた場合も、他のプリントサーバ601が印刷実行を行うため、セッション切断したプリントサーバ601との接続の回復を待つ必要がない。
更に、プリントサーバ601が停止している場合であっても、ロードバランサ602により稼動しているプリントサーバ601に印刷指示されるため、停止したプリントサーバ601の復帰を待つ必要もなく、他のプリントサーバ601で印刷実行される。
尚、本発明は複数の機器(例えば、ホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用しても良い。
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
この場合、コンピュータ読み取り可能な記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本実施形態における印刷システムの構成の一例を示すブロック図である。 サーバコンピュータ又はクライアントコンピュータのハードウェア構成の一例を示す図である。 本実施形態におけるDBMSで管理されるジョブ情報の一例を示す図である。 本実施形態におけるDBMSで管理されるデバイス情報の一例を示す図である。 本実施形態におけるDBMSで管理されるドキュメント情報の一例を示す図である。 プリントサーバシステム101の構成の一例を示すブロック図である。 プリントデバイス107のハードウェア構成の一例を示す図である。 プリントデバイス107の構成を階層的に示す図である。 スケジュールアプリケーションの構成を示すブロック図である。 ジョブマネージャ902が管理する印刷ジョブのスケジュール情報を示す図である。 デバイスマネージャ903が管理する連続印刷制限数に関する情報を示す図である。 プリントサーバ601が印刷リクエストを受け付けた際の処理を示すフローチャートである。 スケジュールアプリケーション801がプリントサーバ601からスケジュール要求を受け付けた際の処理を示すフローチャートである。 スケジュールアプリケーション801がプリントサーバ601に対して印刷指示を行う際の処理を示すフローチャートである。 スケジュールアプリケーション801からの印刷指示を受け付けたプリントサーバ601の処理を示すフローチャートである。 プリントサーバ601とスケジュールアプリケーション801との間のスケジュール登録時のシーケンスを示す図である。 プリントサーバ601、ロードバランサ602、スケジュールアプリケーション801、デバイスコントローラ810間の印刷シーケンスを示す図である。 プリントサーバ601より印刷データの転送開始通知がなされた場合のスケジュールアプリケーション801の処理を示すフローチャートである。 スケジュールアプリケーション801がデバイスコントローラ810から印刷結果を受け取った場合の処理を示すフローチャートである。 プリントサーバ601がスケジュールアプリケーション801から印刷結果通知を受け付けた場合の処理を示すフローチャートである。 転送終了通知がなされる前にプリントサーバ601とスケジュールアプリケーション801との間のセッション切断を検知した場合のスケジュールアプリケーション801の処理を示すフローチャートである。
符号の説明
101 プリントサーバシステム
102 Webサーバシステム
103 ディレクトリサーバ
104 DBMS(DataBase Management System)
105 ストレージ
106 システム管理サーバ
107 プリントデバイス
108 クライアント
109 LAN(Local Area Network)
110 WAN(Wide Area Network)

Claims (10)

  1. 複数のプリントサーバと、少なくとも1つのプリントデバイスとを含む印刷システムであって、
    プリントサーバは、
    ドキュメントデータを識別するドキュメント識別子を含む印刷ジョブの印刷リクエストを受け付ける受付手段と、
    該印刷ジョブの登録をプリントデバイスに要求する手段と、
    前記印刷ジョブの登録を要求した後、当該印刷ジョブを破棄する手段と、
    前記プリントデバイスからの指示に応答して、前記指示された印刷ジョブを取得し、当該印刷ジョブに基づき印刷データを生成して前記プリントデバイスに転送する手段
    を有し、
    前記プリントデバイスは、
    前記印刷ジョブの登録の要求を受け付けたことに応じて、前記ドキュメント識別子を含む前記印刷ジョブをスケジュールリストに登録する登録手段と、
    前記スケジュールリストに登録された登録内容に基づき、前記複数のプリントサーバのうちのいずれかのプリントサーバに対して、印刷データの生成を指示する指示手段と
    を有することを特徴とする印刷システム。
  2. 前記指手段は、前記プリントデバイスで連続して印刷ジョブが処理されるように予め決められたプリントサーバに前記印刷データの生成を指示することを特徴とする請求項1に記載の印刷システム。
  3. 前記プリントデバイスは、前記プリントサーバの負荷状況に基づいて、負荷のかかっていない他のプリントサーバへ前記印刷データの生成の指示を分散させる手段を更に有することを特徴とする請求項1に記載の印刷システム。
  4. 前記指手段は、指示する印刷ジョブの数が前記プリントデバイスに設定されている連続印刷制限数よりも少ない場合、前記プリントサーバに前記印刷データの生成を指示することを特徴とする請求項1に記載の印刷システム。
  5. 前記プリントデバイスは、
    前記プリントデバイスと前記プリントサーバとが接続されている状態か否かを判定する手段と、
    前記プリントデバイスと前記プリントサーバとが接続されていない状態と判定した場合、前記スケジュール登録の際に通知されるアドレスに印刷結果を通知する手段と、
    を更に有することを特徴とする請求項1に記載の印刷システム。
  6. 前記プリントサーバは、印刷結果通知で通知される情報に基づいて印刷結果を登録する手段を更に有することを特徴とする請求項5に記載の印刷システム。
  7. 前記指示手段は、前記プリントサーバとの接続が切断された場合、前記プリントデバイスが前記スケジュールリストを参照して指示がなされたか否かを判定し、既に指示がなされている場合に、再度、指示を行うことを特徴とする請求項1に記載の印刷システム。
  8. 複数のプリントサーバと、少なくとも1つのプリントデバイスとを含む印刷システムの制御方法であって、
    プリントサーバにおいて、
    ドキュメントデータを識別するドキュメント識別子を含む印刷ジョブの印刷リクエストを受け付ける受付工程と、
    該印刷ジョブの登録をプリントデバイスに要求する工程と、
    記印刷ジョブの登録を要求した後、当該印刷ジョブを破棄する工程と、
    前記プリントデバイスからの指示に応答して、前記指示された印刷ジョブを取得し、当該印刷ジョブに基づき印刷データを生成して前記プリントデバイスに転送する工程と
    を有し、
    前記プリントデバイスにおいて、
    前記印刷ジョブの登録の要求を受け付けたことに応じて、前記ドキュメント識別子を含む前記印刷ジョブをスケジュールリストに登録する登録工程と、
    前記スケジュールリストに登録された登録内容に基づき、前記複数のプリントサーバのうちのいずれかのプリントサーバに対して、印刷データの生成を指示する指示工程と
    を有することを特徴とする印刷システムの制御方法。
  9. 請求項8に記載の印刷システムの制御方法の各工程をコンピュータに実行させるためのプログラム。
  10. 請求項9に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2008277377A 2008-10-28 2008-10-28 印刷システム及びその制御方法 Expired - Fee Related JP5319237B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008277377A JP5319237B2 (ja) 2008-10-28 2008-10-28 印刷システム及びその制御方法
US12/578,571 US20100103453A1 (en) 2008-10-28 2009-10-13 Printing system and control method of the printing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008277377A JP5319237B2 (ja) 2008-10-28 2008-10-28 印刷システム及びその制御方法

Publications (3)

Publication Number Publication Date
JP2010108104A JP2010108104A (ja) 2010-05-13
JP2010108104A5 JP2010108104A5 (ja) 2011-12-01
JP5319237B2 true JP5319237B2 (ja) 2013-10-16

Family

ID=42117184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008277377A Expired - Fee Related JP5319237B2 (ja) 2008-10-28 2008-10-28 印刷システム及びその制御方法

Country Status (2)

Country Link
US (1) US20100103453A1 (ja)
JP (1) JP5319237B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843617B2 (en) 2000-03-01 2014-09-23 Printeron Inc. Multi-stage polling mechanism and system for the transmission and processing control of network resource data
CA2301996A1 (en) 2000-03-13 2001-09-13 Spicer Corporation Wireless attachment enabling
JP2011138277A (ja) 2009-12-28 2011-07-14 Canon Inc 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP5595035B2 (ja) * 2009-12-28 2014-09-24 キヤノン株式会社 情報処理装置、その方法及びプログラム
JP5556498B2 (ja) * 2010-08-17 2014-07-23 富士通株式会社 管理装置,ファイルサーバシステム,処理方法及び管理プログラム
US8570566B2 (en) 2010-09-17 2013-10-29 Printeron Inc. System and method that provides user interface on mobile network terminal for releasing print jobs based on location information
US8970873B2 (en) 2010-09-17 2015-03-03 Printeron Inc. System and method for managing printer resources on an internal network
JP5246238B2 (ja) * 2010-09-30 2013-07-24 ブラザー工業株式会社 印刷システム、印刷制御装置、及び印刷管理システム
JP5678556B2 (ja) * 2010-10-04 2015-03-04 富士ゼロックス株式会社 ジョブ実行システム、ジョブ実行装置及びプログラム
JP5639441B2 (ja) * 2010-10-29 2014-12-10 キヤノン株式会社 情報処理装置、印刷装置、印刷データ処理方法およびプログラム
CA2759736C (en) * 2010-11-30 2020-12-29 Printeron Inc. System for internet enabled printing
US8922813B2 (en) 2011-10-21 2014-12-30 Lantronix, Inc. Print server for a portable device
JP5919938B2 (ja) * 2012-03-26 2016-05-18 富士ゼロックス株式会社 情報処理システム及びプログラム
US9356882B2 (en) 2014-02-04 2016-05-31 Printeron Inc. Streamlined system for the transmission of network resource data
JP7102154B2 (ja) 2018-01-31 2022-07-19 キヤノン株式会社 画像形成装置、画像形成装置の制御方法およびプログラム
JP7246857B2 (ja) 2018-02-23 2023-03-28 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2021045944A (ja) * 2019-09-20 2021-03-25 ブラザー工業株式会社 印刷装置
CN113961155A (zh) * 2021-10-14 2022-01-21 中电科航空电子有限公司 机载打印接口协议扩展和打印作业自动调度方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219907A (ja) * 1994-02-07 1995-08-18 Fuji Xerox Co Ltd 負荷分散制御装置
JP2006056069A (ja) * 2004-08-18 2006-03-02 Canon Inc 印刷制御装置および印刷制御方法
JP4827615B2 (ja) * 2006-05-29 2011-11-30 キヤノン株式会社 情報処理装置、印刷システム、監視方法、プログラム及び記憶媒体
JP2008107921A (ja) * 2006-10-23 2008-05-08 Canon Inc プルプリントサーバとその制御方法
JP4857102B2 (ja) * 2006-12-22 2012-01-18 キヤノン株式会社 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体

Also Published As

Publication number Publication date
US20100103453A1 (en) 2010-04-29
JP2010108104A (ja) 2010-05-13

Similar Documents

Publication Publication Date Title
JP5319237B2 (ja) 印刷システム及びその制御方法
US8355151B2 (en) Image processing apparatus and method for controlling provisional reservation
JP4827615B2 (ja) 情報処理装置、印刷システム、監視方法、プログラム及び記憶媒体
JP2010157208A (ja) データ処理装置、プリンタネットワークシステム、データ処理方法、プログラムおよび記録媒体
US20100208298A1 (en) Image forming apparatus
US8493591B2 (en) Job-submission-request apparatus and method for making a request from a plurality of apparatuses
US7583400B2 (en) Print controlling method and apparatus that prevents transmission of print data from clients until a predetermined time that is scheduled based on when the client registers with the managing section
US8553254B2 (en) Means to reduce a load on a computer and efficiently manage printing jobs or printing devices jobs
US20070091361A1 (en) Printer, print control method, and program for executing print control method
JP2007328450A (ja) ポートモニタプログラム、データ処理方法、情報処理装置、及び記憶媒体
JP2011138396A (ja) 情報処理装置、その方法及びプログラム
US8330978B2 (en) Image processing apparatus and printing request making method
EP1818803A2 (en) Authenticated printing apparatus and method and authenticated printing system
US20120008164A1 (en) Processing system, control method, and storage medium therefor
JP2004213635A (ja) 画像処理装置および画像処理方法および制御プログラム
EP3073365A1 (en) Networked image forming apparatus, networked image forming system and method of image forming
JP2013196126A (ja) ジョブ制御装置、ジョブ制御方法及びプログラム
JP2009151467A (ja) 配信印刷システム
JP2011095894A (ja) 画像処理装置及び認証プルプリントシステムにおける代行印刷処理に係る制御方法
US9250841B2 (en) Print server, control method of print server, and storage medium
US20160117135A1 (en) Apparatus and method for processing information on file or job
JP2010170451A (ja) ネットワークインタフェース装置、画像形成装置、印刷制御方法および印刷制御プログラム
JP2008165529A (ja) プリントシステムおよび印刷管理サーバおよび印刷装置および印刷管理サーバの制御方法および印刷装置の制御方法およびプログラム
JP6635157B2 (ja) 画像形成装置とその処理方法、プログラム
JP6848894B2 (ja) 画像形成システム及び画像形成方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111018

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130711

LAPS Cancellation because of no payment of annual fees