[go: up one dir, main page]

JP6366332B2 - プリントサーバ、制御方法およびコンピュータプログラム - Google Patents

プリントサーバ、制御方法およびコンピュータプログラム Download PDF

Info

Publication number
JP6366332B2
JP6366332B2 JP2014084776A JP2014084776A JP6366332B2 JP 6366332 B2 JP6366332 B2 JP 6366332B2 JP 2014084776 A JP2014084776 A JP 2014084776A JP 2014084776 A JP2014084776 A JP 2014084776A JP 6366332 B2 JP6366332 B2 JP 6366332B2
Authority
JP
Japan
Prior art keywords
print
status
server
printing
job
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
JP2014084776A
Other languages
English (en)
Other versions
JP2015204077A (ja
JP2015204077A5 (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 JP2014084776A priority Critical patent/JP6366332B2/ja
Priority to US14/686,605 priority patent/US9250841B2/en
Publication of JP2015204077A publication Critical patent/JP2015204077A/ja
Publication of JP2015204077A5 publication Critical patent/JP2015204077A5/ja
Application granted granted Critical
Publication of JP6366332B2 publication Critical patent/JP6366332B2/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
    • 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/1203Improving or facilitating administration, e.g. print management
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1286Remote printer device, e.g. being remote from client or server via local network
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • 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/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • 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/1274Deleting of print job
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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は、印刷データの生成、転送の状態によって印刷キャンセル処理の判断を切り替え適切に印刷キャンセルを行う技術を開示している。
上記のような印刷システムの普及に伴い、多数のプリントデバイスを複数のプリントサーバで管理し、印刷ジョブを分散処理する印刷システムが提案されている。この印刷システムでは、一般的な負荷分散装置であるロードバランサを用いて印刷リクエストが各プリントサーバに分散される。
特開2011−227624号公報
上記分散処理型の印刷システムでは、印刷キャンセルリクエストも印刷リクエスト同様にロードバランサにより分散させる構成を採用することが考えられる。印刷キャンセルリクエストを受け付けたプリントサーバは、印刷キャンセルリクエストされた印刷ジョブの処理を実行するプリントサーバに印刷キャンセルリクエストを転送する必要がある。しかしながら、先行技術文献1が開示する技術では、分散処理型の印刷システムが考慮されておらず、印刷キャンセルを実施できない。また、ロードバランサは高速にリクエストを割り振ることができるが、印刷順序の制御や印刷キャンセルリクエストされた印刷ジョブの処理主体サーバの特定など高度なリクエスト分散はできない。
本発明は、印刷ジョブのステータスを適切に管理することにより、分散処理型の印刷システムにおける印刷キャンセルリクエスト時に、印刷キャンセルを通知すべき対象を特定し、印刷キャンセル処理の迅速化を実現する仕組みを提供することを目的とする。
本発明の一実施形態のプリントサーバは、ロードバランサが複数のリクエストを複数のプリントサーバに分散して発行することによって、前記複数のプリントサーバで前記複数のリクエストを分散処理する印刷システムにおける、前記複数のプリントサーバのうちの1つのプリントサーバであって、前記ロードバランサからリクエストを受け付ける受付手段と、前記受付手段で受け付けた前記リクエストが印刷キャンセルリクエストである場合、前記印刷キャンセルリクエストの対象となる印刷ジョブのステータスの情報と、前記印刷キャンセルリクエストの対象となる印刷ジョブに関連付けられたプリントデバイスの情報とを取得する取得手段と、印刷データ送信に関するスケジュールモードが、前記プリントサーバにおいて印刷データ送信の管理を行うサーバモードであるか、前記プリントデバイスにおいて印刷データ送信の管理を行うデバイスモードであるか判定するモード判定手段と、前記取得手段で取得した印刷ジョブのステータスが、前記取得手段で取得したプリントデバイスを担当しているプリントサーバに対して印刷キャンセル処理を実行させるべき第1のステータスであるか、前記プリントデバイスに印刷キャンセル処理を実行させるべき第2のステータスであるか、印刷キャンセルリクエストをエラーとする第3のステータスであるかを判定する判定手段と、前記判定手段で前記印刷ジョブのステータスが前記第1のステータスであると判定した場合は、前記取得手段で取得したプリントデバイスを担当しているプリントサーバに対して印刷キャンセル処理を実行させるように制御し、前記判定手段で前記印刷ジョブのステータスが前記第2のステータスであると判定した場合は、前記取得手段で取得したプリントデバイスに印刷キャンセル処理を実行させるように制御し、前記判定手段で前記印刷ジョブのステータスが前記第3のステータスであると判定した場合は、印刷キャンセルできないことを示すエラー通知を行うように制御する制御手段と、を有する。前記モード判定手段において前記スケジュールモードが前記サーバモードであると判定した場合、前記第1のステータスは、印刷待ち、スケジュール待機中、送信中のいずれかであり、前記第2のステータスは、送信済みであり、前記第3のステータスは印刷中または印刷完了のいずれかであり、前記モード判定手段において前記スケジュールモードが前記デバイスモードであると判定した場合、前記第1のステータスは、印刷待ちであり、前記第2のステータスは、スケジュール待機中、送信中、送信済みのいずれかであり、前記第3のステータスは印刷中または印刷完了のいずれかである。
本発明によれば、印刷ジョブのステータスを適切に管理することにより、分散処理型の印刷システムにおける印刷キャンセルリクエスト時に、印刷キャンセルを通知すべき対象を特定し、印刷キャンセル処理の迅速化を実現することが可能となる。
情報処理システムの全体構成を示す図である。 各装置のハードウェア構成を示す図である。 プリントサーバのモジュール構成を示す図である DBMSにて管理される各種情報を示す図である。 プリントデバイスの構成を階層的に示した図である。 スケジュールアプリケーションのモジュール構成とスケジュール情報を示す。 プリントサーバの印刷リクエスト受付時の処理フローである。 プリントサーバの印刷処理フローである。 ServerSchedulingモードでの印刷シーケンス図である。 DeviceSchedulingモードでの印刷シーケンス図である。 プリントサーバの印刷キャンセルリクエスト受付時の処理フローである。 プリントサーバの印刷キャンセル失敗時の処理フローである。
(実施例1)
<システム構成>
以下、本発明の実施形態について図面に基づいて説明する。図1は、本発明の情報処理システムの全体構成例を示すブロック図である。図1に示すように、情報処理システムは、情報処理システムを制御するサーバコンピュータシステムと、プリントデバイスおよびクライアントコンピュータとを備える。サーバコンピュータシステムと、プリントデバイスおよびクライアントコンピュータとは、Wide Area Network 109(以下WANと呼ぶ)を介して広域に接続されている。
サーバコンピュータシステムは、プリントサーバシステム101、Webサーバシステム102、ディレクトリサーバ103、DBMS104、ストレージ105から構成される。プリントサーバシステム101は、情報処理システムにおけるプリントデバイスの監視や管理、印刷ジョブの制御や監視、プリントデバイスへの印刷ジョブの転送を司るサーバコンピュータシステムである。プリントサーバシステム101は、大規模な情報処理システムの場合は負荷分散するためのクラスタ構成もしくは冗長性を持たせたクラスタ構成を備える。すなわち、プリントサーバシステム101は、複数のプリントサーバから構成される印刷システムとして機能する。またLocal Area Network 108A(以下LANと呼ぶ)を介してDBMS104やWebサーバシステム102と接続し、印刷ジョブデータや印刷制御指示、管理している印刷ジョブの情報等を交換する。
Webサーバシステム102は、プリントサーバシステム101が管理している印刷ジョブの情報やDBMS104が管理しているドキュメント情報を、WANを介して各フロントエンドのクライアント107に送信する。Webサーバシステム102は、大規模な情報処理システムの場合は負荷分散のためのクラスタ構成や冗長構成となることが通例である。また、クライアント107からの印刷指示、印刷キャンセル指示などの印刷ジョブの操作を受け付けプリントサーバシステム101へ指示を転送する。また、Webサーバシステム102は、ディレクトリサーバ103と連携してクライアント107からのログインの認証管理を行う。
ディレクトリサーバ103は、ユーザ名およびパスワードの組み合わせによってユーザの認証管理を行うサーバである。各ユーザ情報はそれぞれドメイングループに参加するような構成も可能であり、例えば、ドメイングループ内のユーザ同士での権限をユーザ単体の権限とは違う範囲で設定することも出来る。ユーザ情報は複数のドメイングループに参加するように設計することも可能である。
DBMS104(DataBase Management System)は、ストレージ105に保存されているドキュメントテーブル400、ジョブテーブル410やデバイステーブル420といったデータ(図4を用いて後述)を管理する。他サーバから各種データの更新、取得、追加、削除といったオペレーションを受け付け実行する。また大規模な情報処理システムの場合は負荷分散するためのクラスタ構成や障害発生に備え冗長性を持たせたシステム構成をとることも考えられる。またストレージ105はDBMS104とDAS(Direct Attached Storage)として直接接続する形態をとっても良いし、SAN(Storage Area Network)としてネットワークを介して接続する形態をとっても良い。
プリントデバイス106A,106B,106Cおよび106Dは、プリントサーバから受信した印刷データを印刷する画像形成装置であり、以下ではプリントデバイス106と呼ぶ。各印刷デバイスは、不図示のネットワークインタフェースを介しLAN108BまたはLAN108Cに接続されている。また、LAN108BまたはLAN108CはWAN109と接続しており、プリントデバイス106はこのLANおよびWANを介して先述したプリントサーバシステム101と通信することが出来る。このプリントデバイス106としては電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタ等を適宜適用することができる。また、プリントデバイス106は、後述する印刷スケジュールを管理するスケジュールアプリケーション501備える。
クライアント107A,107B,107Cおよび107Dは情報処理を行うためのクライアントコンピュータであり、以下ではクライアント107と呼ぶ。各クライアント107は、不図示のネットワークインタフェースを介しLAN108BまたはLAN108Cに接続されており、WAN109を介して各種サーバシステムと通信することが出来る。クライアント107はWebブラウザを備え、Webサーバシステム102で生成されるWeb画面を表示可能である。ユーザはWebブラウザ上に表示されるWeb画面を操作することでサーバシステムへの認証、印刷リクエスト、印刷キャンセルなどの操作を行う。
<ハードウェア構成>
本実施形態に係る情報処理システムは、図2に示すような構成のサーバおよびプリントデバイスから構成されるシステム上に実現される。図2は、プリントサーバシステム101を構成するプリントサーバ301とプリントデバイス106がWAN109およびLAN108を介して通信可能に接続されている様子を示す。
まず、プリントサーバ301のハードウェア構成200について説明する。尚、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態のプリントサーバ301には一般的な情報処理装置のハードウェア構成を適用できる。また、プリントサーバ301だけでなく、Webサーバシステム102を構成するWebサーバやクライアント107についても同様である。
プリントサーバ301のハードウェア構成200は、CPU231乃至外部メモリ241を備える。CPU231は、ROM233のプログラム用ROMに記憶、またはハードディスク(HD)等の外部メモリ241からRAM232にロードされたOSやアプリケーション等のプログラムを実行し、システムバス234に接続される各ブロックを制御する。OSとは、コンピュータ上で稼動するオペレーティングシステムの略語である。なお、CPU、ROM、RAMはそれぞれ、Central Processing Unit、Read Only Memory、Random Access Memoryの略称である。本発明の各種処理は、上述の各種プログラムの実行により実現される。
RAM232は、CPU231の主メモリ、ワークエリア等として機能する。ROM233内のプログラムROMには、CPU231の制御プログラム等を記憶している。ROM233内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等を記憶している。ROM233内のデータ用ROMには、ハードディスク等の外部メモリ203がない場合、プリントデバイス106と送受信を行う情報等を記憶している。キーボードコントローラ(KBC)235は、キーボード239や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)236は、CRTディスプレイ240の表示を制御する。ディスクコントローラ(DKC)237は、各種データを記憶するハードディスク(HD)等の外部メモリ241におけるデータアクセスを制御する。ネットワークコントローラ(NC)238は、WAN109もしくはLAN108を介して接続されたプリントデバイス106や他の機器との通信制御処理を実行する。
尚、後述の全ての説明においては、特に断りのない限りサーバにおける実行のハード上の主体はCPU231であり、ソフトウェア上の主体は外部メモリ241にインストールされたアプリケーションプログラムである。
次に、プリントデバイス106のハードウェア構成250について説明する。プリントデバイス106のハードウェア構成250は、CPU201乃至スキャナ部213から構成される。CPU201は、ROM202や、外部メモリ203に記憶された制御プログラムを実行し、システムバス204に接続される各ブロックを制御する。CPU201の処理により生成された画像信号が、印刷部I/F205を介して、印刷部206に出力情報として出力される。
スキャナ部は原稿画像を光学的に読み取ってスキャナ部I/F212を介して読み込み情報を制御プログラムに入力する。また、CPU201は、入力部207とネットワーク部210を介してプリントサーバ301との通信処理が可能となっており、プリントデバイス106内の情報等をプリントサーバ301に通知できる。
ROM202内のプログラムROMは、CPU201の制御プログラム等を記憶している。ROM202内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等を記憶している。ROM202内のデータ用ROMには、ハードディスク等の外部メモリ203がない場合、プリントサーバ301と送受信を行う情報等を記憶している。
RAM208は、CPU201の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。また、RAM208は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。
外部メモリ203は、メモリコントローラ(MC)209によりアクセスを制御される。外部メモリ203は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作部211は操作のためのスイッチ及びLED表示器等で構成されている。
尚、後述の全ての説明においては、特に断りのない限り画像形成装置における実行のハード上の主体はCPU201であり、ソフトウェア上の主体は外部メモリ203にインストールされたアプリケーションプログラムである。
<プリントサーバシステム>
図3は、プリントサーバシステム101の構成を示すブロック図である。図3に示すように、プリントサーバシステム101は、複数のプリントサーバ301とロードバランサ302から構成される。プリントサーバシステム101では、大規模な印刷システムに対応するために負荷分散構成がとられており、複数台のプリントサーバ301がLAN108Aと負荷分散するためのスイッチ機構であるロードバランサ302を介して接続している。ロードバランサ302は、複数台のプリントサーバ301の負荷状況を把握し、負荷の少ないサーバに対して各種リクエストを優先的に発行するように分散処理を行う負分散装置である。分散処理方法としては、限定されるものではないが、単純にリクエストを順次各サーバに回していくラウンドロビン方式や、規定のリクエストを定期的に各プリントサーバ301に送出し、リプライの早いサーバにリクエストする方法などが用いられる。
プリントサーバ301の構成について説明する。プリントサーバ301はAPI303、ジョブマネージャ304、デバイスマネージャ305から構成される。API303は、Application Programming Interfaceである。API303は、Webサーバシステム102からのドキュメント登録、ドキュメントの印刷リクエストや印刷キャンセルリクエストなどの印刷ジョブの制御リクエストを受け付ける。また、API303は、DBMS104へドキュメントを登録する場合や、印刷リクエストを受けてDBMS104のジョブ情報を更新する場合など、DBMS104との通信も行う。
ジョブマネージャ304は、API303が受け付けたドキュメント情報を、API303を介してDBMS104のドキュメントテーブル400に登録し管理する。ジョブマネージャ304は、API303が印刷リクエストを受け付けると、API303を介してDBMS104から印刷するドキュメント情報とデバイス情報を取得し、ジョブテーブル410にジョブ情報を登録しジョブ管理する。また、ジョブマネージャ304は、取得したドキュメントを印刷すべきプリンタとデバイス106へ印刷するようデバイスマネージャ305へ指示する。
デバイスマネージャ305は、ジョブマネージャ304から印刷データの送信リクエストを受け付けると、プリントデバイス106と通信を開始し、順次、印刷に係る処理を実行する。この印刷処理の詳細については後述する。デバイスマネージャ305はAPI303を介してDBMS104が保持するデバイステーブル420を管理する。
図4は、DBMS104に格納されるドキュメントテーブル400、ジョブテーブル410、デバイステーブル420を示す。ジョブマネージャ304が管理するドキュメントテーブル400は、ドキュメントID401、ドキュメント名402、ユーザ名403、データパス404から構成される。プリントサーバ301はクライアント107などからドキュメントを受信すると、ドキュメントをユニークに識別可能なドキュメントID401を発行し、データパス404にドキュメントデータを保存する。ドキュメント名402とユーザ名403はドキュメント受信時に指定された値が保存される。
ジョブマネージャ304が管理するジョブテーブル410は、ジョブID411、ユーザ名412、ドキュメントID413、ステータス414、デバイスジョブID415、デバイスID416、キャンセルフラグ417から構成される。プリントサーバ301は、印刷リクエストを受信すると印刷ジョブをユニークに識別可能なジョブID411を発行する。ユーザ名412、ドキュメントID413、デバイスID416には、印刷リクエスト時に指定された値が保存される。また、ドキュメントID413はドキュメントテーブル400のドキュメントID401と関連づいており、互いに参照可能となっている。
デバイスID416は、デバイステーブル420のデバイスID416と関連づいており、互いに参照可能となっている。ステータス414は印刷ジョブの状態を表し、印刷待ち、スケジュール待機中、送信中、送信済、印刷中、印刷完了、エラー終了などの実行ステータスが格納される。ステータス414の遷移については後述する。デバイスジョブID415は、プリントデバイス106内のスケジュールアプリケーション501により発行されるジョブの識別子である。プリントサーバ301はデバイスジョブID415を用いてデバイス内のジョブ制御を行うことができる。キャンセルフラグ416は、印刷ジョブがキャンセルされたことを示すフラグである。プリントサーバ301は、キャンセルフラグが有効(フラグ=1)な場合に印刷処理を進めずに印刷ジョブをキャンセルする。
デバイスマネージャ305が管理するデバイステーブル420は、デバイスID421、デバイス名422、IPアドレス423、ポート番号424、スケジュールモード425、担当プリントサーバ426から構成される。デバイスID421は、デバイスをユニークに識別可能なIDである。デバイス名422はプリントデバイスの名称である。IPアドレス423とポート番号424はデバイス接続先情報であり、プリントサーバ301はIPアドレス423とポート番号424に対して印刷データを送信する。
スケジュールモード425は、プリントサーバ301の印刷データ送信のスケジュール管理方法を示し、ServerSchedulingモードとDeviceSchedulingモードがある。ServerSchedulingモード(サーバモード)は、プリントサーバ301が印刷データのプリントデバイスへの送信を管理する。DeviceSchedulingモード(デバイスモード)は、スケジュールアプリケーション501の指示によりプリントサーバ301が印刷データをプリントデバイスへ送信する。
スケジュールモードの違いによる印刷処理の詳細については後述する。担当プリントサーバ426は、プリントデバイスへの印刷処理を担当しているプリントサーバ301のホスト名である。複数のプリントサーバ301が1台のプリントデバイス106に対して印刷を行うと印刷順序を制御することができない。そのため担当プリントサーバ426にホスト名が登録されている1台のプリントサーバ301がプリントデバイスへの印刷を担当することによって印刷順序を守ることができる。
<Webサーバシステム>
Webサーバシステム102は前述したとおり、負荷分散するためのクラスタ構成が通例であり、複数のWebサーバから構成される。WebサーバはWWW(World Wide Web)システムにおいて情報通信を行うサーバであり、ソフトウェアである。Webサーバシステム102は以下の機能を備える。Webサーバシステム102は、フロントエンドのクライアント107からのログインによってユーザアカウント情報及びパスワードを得て、ディレクトリサーバ103へ認証を依頼する。Webサーバシステム102は、ログイン認証に成功するとDBMS104からドキュメントテーブル400、ジョブテーブル410、デバイステーブル420の情報を取得し、ログインしているクライアント107やプリントデバイス106へ情報を送信する。また、Webサーバシステム102は、クライアント107からのドキュメントの印刷指示を得て、ドキュメントIDを付与した印刷指示をプリントサーバシステム101へ送信する。Webサーバシステム102は、クライアント107からの印刷キャンセル指示を得て、ジョブIDを付与した印刷キャンセル指示をプリントサーバシステム101へ送信する。
<DBMS>
DBMS104は、先述したドキュメントテーブル400、ジョブテーブル410、デバイステーブル420をテーブル情報として保持している。DBMS104は例えば、Webサーバシステム102から指定したユーザ名と一致する全てのドキュメント情報の取得のために利用される。また、DBMS104は、プリントサーバ301からドキュメントIDの指定によって一致するドキュメント情報の取得や、プリントサーバ301からの新規ドキュメントの登録等を行う。プリントサーバ301のドキュメントテーブル400、ジョブテーブル410、デバイステーブル420の参照や更新処理は全てDBMS104を介して行うが以下DBMS104の説明は省略する。
<プリントデバイス>
図5は、プリントデバイスのソフトウェア構成を階層的に示す図である。図5に示すように、画像形成部513は、紙のハンドリングや画像転写・定着等の一連の画像形成プロセスを実行して、記録紙等の記録媒体上への画像形成を制御する。画像読み取り部517は、スキャナを用いた原稿画像を光学的に読み取ってディジタル画像情報への変換を制御する。また、画像読み取り部517は、前記ディジタル画像情報を画像形成部513に出力して画像を形成したり、又はファックス部512やネットワークインタフェース部514等に渡して回線を介して伝送したりする。
デバイスコントローラ510は、画像形成部513と、画像読み取り部517とのそれぞれの動作を制御し、例えば画像読み取り部517で読み取った原稿情報を画像形成部513が複写するよう制御する。また、デバイスコントローラ510は、ネットワークインタフェース部514、プリント処理部515、ファックス部512、操作制御部511を有し、これら各部の間での情報のやり取りも制御する。
ファックス部512は、ファクシミリ画像の送受信、即ち、画像読み取り部517で読み取ったディジタル画像情報を送信したり、また逆に、受信したファクシミリ信号を復号し、画像形成部513で記録したりする等の処理を実行する。
操作制御部511は、プリントデバイスが備える操作パネル(または表示部)を使用したユーザの操作に応じて信号を発生したり、操作パネル等に各種データやメッセージ等を表示したりするよう、制御を行う。プリント処理部515は、例えばネットワークインタフェース部514を介して入力された印刷データを処理して画像形成部513に出力し、印刷する等の制御を行う。ネットワークインタフェース部514は、通信回線を介して他の通信端末との間のデータの送受信を制御する。
仮想マシン(Virtual Machine)505は、デバイスコントローラ510の上位に位置し、この仮想マシン505からデバイスコントローラ510を制御できるように構成されている。また、ネットワークインタフェース部514は、デバイスコントローラ510と、仮想マシン505との双方から直接利用でき、それぞれ独立して外部ネットワークにアクセスすることができるよう構成されている。
更に、仮想マシン505の上位には、仮想マシン505が提供するAPI(Application Programming Interface)に対応したプログラミング言語で記述されたアプリケーションが存在している。これらのアプリケーションは、仮想マシン505を介して間接的にデバイスコントローラ510に働きかけることができ、また画像形成部513や画像読み取り部517を動作させることができる。
本実施形態では、プリントデバイス106は、アプリケーションとしてスケジュールアプリケーション501を備える。このようなアプリケーションは、仮想マシン505上からアンインストールしたり、更に新たにアプリケーション504としてインストールしたりするといった事が可能なように構成されている。
また、上述したアプリケーションは、本実施形態ではプリントデバイス106にインストールされるアプリケーションとして説明したが、ハードウェアとして備えられていても良い。また、外部装置としてプリントデバイス106と通信可能に接続されたコンピュータ上のアプリケーションとして備えていても良い。
外部メモリ制御部516は、画像読み取り部517で読み取った画像を画像形成部513で外部記憶装置に保存可能なデータフォーマットに変換し、外部記憶装置に保存する。また、外部メモリ制御部516は、外部メモリに保存したデータを読み出し、画像形成部513を介して印刷処理を行ったり、ネットワークインタフェース部514を介して外部にネットワーク送信したりする。
<スケジュールアプリケーション>
図6は、スケジュールアプリケーション501の構成を示すブロック図とスケジュールアプリケーション501が保持するスケジュール情報610を示す図である。図6(A)に示すスケジュールアプリケーション501は、通信マネージャ601、ジョブマネージャ602、デバイスマネージャ603から構成される。通信マネージャ601は、プリントサーバ301からの接続やリクエストの受け付け、デバイスコントローラ510から通知される印刷ジョブのステータス変化の通知を行う。印刷のシーケンスについての詳細は後述する。
ジョブマネージャ602は、プリントサーバ301から受け付けた印刷ジョブのスケジューリングや印刷ジョブの管理を行うモジュールであり、スケジュール通りに印刷が順次行われるよう制御する。なお、印刷ジョブのスケジューリングは、ユーザ操作により設定を変更することができる。また、プリントサーバ301からの印刷キャンセルなどの印刷ジョブの制御指示を受け付け、印刷ジョブをコントロールする。デバイスマネージャ603は、デバイスコントローラ510との通信を行うモジュールであり、印刷ジョブの削除を行ったり、印刷ジョブの状態の変化をキャッチしたりするドライバである。
図6(B)に示すスケジュール情報610は、印刷ジョブのデバイスジョブID611、印刷ジョブのステータス612から構成される。デバイスジョブID611は、スケジュールアプリケーション501が印刷ジョブのスケジュール要求を受け付けた際に発行されるジョブ識別子である。ステータス612は印刷ジョブの状態であり、ステータス遷移に伴ってプリントサーバ301にイベント通知される。ステータス612には、限定されるものではないが、スケジュール待機中、送信中、送信済、印刷中、印刷完了、エラー終了などの状態がある。
<プリントサーバの印刷処理>
以下、図7乃至図12を参照し、本実施形態における印刷及び印刷ジョブの操作フローについて図面を参照して説明する。図7は、プリントサーバ301がWebサーバシステム102からの印刷リクエストを受け付けた際の処理フローである。プリントサーバ301は、ユーザ名、印刷するドキュメントのドキュメントID、プリントデバイスのデバイスIDをパラメータとして印刷リクエストを受け付ける(S701)。次に、プリントサーバ301は、印刷リクエストで受け付けたデバイスIDが一致するデバイス情報をデバイステーブル420から取得する。そして、プリントサーバ301は、担当プリントサーバ426より印刷リクエストされたプリントデバイスの担当プリントサーバのホスト名を特定する(S702)。
S703で、プリントサーバ301は、プリントデバイスを他のプリントサーバ301が担当しているかどうか判断する。プリントサーバ301は、担当プリントサーバ426のホスト名が自ホスト名以外のホスト名または空でない場合に他のプリントサーバが担当していると判断する。例えば、担当プリントサーバ426が空の場合、プリントサーバ301は、担当プリントサーバ426を自プリントサーバ301のホスト名を用いて更新する(S704)。そしてプリントサーバ301は、新たなジョブID411を発行しジョブ情報をジョブテーブル410に新規登録する(S704)。
ここで登録するジョブ情報におけるユーザ名412、ドキュメントID413、デバイスID416は印刷リクエストを受け付けた際に該リクエストに含まれるユーザ名、ドキュメントID、デバイスIDである。また、プリントサーバ301はステータス414を印刷待ち、キャンセルフラグを0に設定する。S703において他のプリントサーバ301がプリントデバイスを担当している場合、プリントサーバ301は、担当プリントサーバ426に登録されているホスト名に対してS701で受け付けた印刷リクエストを転送する。
図8は、プリントデバイスの印刷を担当するプリントサーバ301が行う印刷処理フローである。先述のS703〜S705において担当プリントサーバ426が空だった場合、すなわちプリントデバイスへの印刷を開始していない場合に、プリントサーバ301はS705で生成されたジョブ情報を用いて印刷処理を開始する(S801)。
S802で、プリントサーバ301は、キャンセルフラグが立っているかを判断する。キャンセルフラグ416が1の場合、プリントサーバ301は印刷を行わずにステータス414をキャンセル終了にする(S804)。キャンセルフラグ416が0の場合、プリントサーバ301はステータス414をスケジュール待機中に更新し印刷処理を進める(S803)。つまり、スケジュール待機中は、印刷処理が開始され、キャンセルフラグが0の場合における、スケジュールに沿って印刷の実行を待っているステータスを示す。なお、印刷処理の詳細はスケジュールモードによって異なるため後述する。
次に、プリントサーバ301は、ジョブテーブル410に印刷待ちのジョブが存在するかどうか確認し(S805)、新たな印刷ジョブが投入されている場合にS801から印刷処理を開始する。S805において新たな印刷ジョブがない場合、プリントサーバ301はデバイステーブル420の担当プリントサーバ426を空にし、プリントデバイスの担当を外れる(S806)。
<印刷シーケンス(ServerSchedulingモード)>
プリントサーバ301のServerSchedulingモードでの印刷シーケンスについて説明する。図9はプリントサーバ301とデバイスコントローラ510が行う処理のシーケンスを示す図である。図示省略してあるが、プリントサーバ301に通知される印刷リクエストには、ドキュメントIDおよびデバイスIDが含まれる。プリントサーバ301は、通知されたドキュメントIDを元にDBMS104のドキュメントテーブル400からドキュメント情報とデータパス404に保存されたドキュメントデータを取得する。また、プリントサーバ301はデバイスIDより印刷対象のプリントデバイス106を特定し、以下のシーケンスで印刷を行う。
まずS901において、プリントサーバ301は、デバイスコントローラ510との通信のセッションを確立する。通信セッションはTCP/IPやHTTPといった通信プロトコルによって確立される。S902で、プリントサーバ301は、デバイスコントローラ510に対して接続要求を行う。次に、S903においてプリントサーバ301は印刷ジョブおよびプリントデバイスのステータスが変化した場合に通知を受けるべくデバイスコントローラ510に対してイベント登録を行う。
次に、S904で、プリントサーバ301は、デバイスコントローラ510からデバイス状態を要求・取得する。デバイス状態が印刷可能を示す場合に、プリントサーバ301はステータス414をスケジュール待機中から送信中に更新し、印刷データの転送を開始する(S905)。プリントサーバ301は印刷データの転送が完了するとジョブテーブル410のステータス414を送信済に更新する。
一方、デバイスコントローラ510は、受信した印刷データを順次解析し、印刷を開始する(S906)。また、デバイスコントローラ510は、イベント登録を行っているプリントサーバ301に対し、プリントデバイス106のステータスが印刷開始に変更されたことを通知する(S908)。印刷開始通知を受け付けたプリントサーバ301は、ジョブテーブル410のステータス414を印刷中に更新する。ここで、デバイスコントローラ510に送信する印刷データにはプリントサーバ301が発行したジョブID411が埋め込まれている。ジョブID411は、デバイスコントローラ510からの通知時にジョブハンドルと共に通知される。プリントサーバ301はジョブID411を用いて印刷ジョブの状態を監視することができる。また、プリントサーバ301は、デバイスコントローラ510から通知されたジョブハンドルをデバイスジョブID415に保存する。プリントサーバ301は、デバイスジョブハンドルを用いることでデバイスコントローラ510に対して印刷キャンセルなどの印刷ジョブの制御を行うことができる。
プリントデバイス106が印刷を終了(S909)すると、デバイスコントローラ510は印刷開始と同様にプリントサーバ301に対して印刷終了を通知する(S910)。印刷終了を受けたプリントサーバ301は、ジョブテーブル410のステータス414を印刷完了に更新する。さらにプリントサーバ301は、予定していた全ての印刷リクエストの印刷ジョブが完了した場合は、S911においてデバイスコントローラ510に対してイベントの解除を行い、続いてS912において切断要求を行う。イベントの解除および切断要求をうけたデバイスコントローラ510は、プリントサーバ301との通信の終了処理を行う。最後にS901で確立させたセッションをS913において終了する。
以上のように、ServerSchedulingモードでの印刷はプリントサーバ301が印刷ジョブのスケジューリングや印刷ジョブの監視を行い、プリントサーバ301の判断によって印刷データの送信を行う。
<印刷シーケンス(DeviceSchedulingモード)>
プリントサーバ301およびスケジュールアプリケーション501間で行われるDeviceSchedulingモードでの印刷シーケンスについて説明する。図10は、プリントサーバ301とスケジュールアプリケーション501およびデバイスコントローラ510が行う処理のシーケンスを示す図である。図示省略してあるが、スケジュールアプリケーション501は、起動時にデバイスコントローラ510に対してイベント登録を行っている。従って、デバイスコントローラ510が管理する印刷ジョブやデバイス状態が変化すると、デバイスコントローラ510はスケジュールアプリケーション501にステータスを通知する。
またプリントサーバ301に通知される印刷リクエストはドキュメントIDおよびデバイスIDが通知される。プリントサーバ301は、通知されたドキュメントIDを元にDBMS104のドキュメントテーブル400からドキュメント情報とデータパス404に保存されたドキュメントデータを取得する。次にプリントサーバ301はデバイスIDより印刷対象のプリントデバイス106を特定し、以下のシーケンスで印刷を行う。
まず、S1001で、プリントサーバ301はスケジュールアプリケーション501との通信セッションを確立する。通信セッションはTCP/IPやHTTPといった通信プロトコルによって確立される。S1002で、プリントサーバ301は、スケジュールアプリケーション501に対して接続要求を行う。スケジュールアプリケーション501は、通信マネージャ601にて接続要求を受け付ける。S1003で、プリントサーバ301は、印刷ジョブおよびプリントデバイスのステータスが変化した場合に通知を受けるべくスケジュールアプリケーション501に対してイベント登録を行う。
次に、S1004で、プリントサーバ301は、現在スケジュールアプリケーション501のジョブマネージャ602が管理しているスケジュール情報610のリストを要求・取得する。S1005で、プリントサーバ301は、スケジュールアプリケーション501に対して印刷ジョブのスケジュール要求を発行する。スケジュール要求には、ジョブテーブル410うち印刷対象の印刷ジョブのジョブ情報が含まれる。
スケジュール要求を受けたスケジュールアプリケーション501は、デバイスジョブID611を発行し、スケジュール情報610のステータス612をスケジュール待機中に設定する(S1006)。S1005におけるスケジュール要求に成功したプリントサーバ301は、スケジュールアプリケーション501からデバイスジョブID611を受け取り、ジョブテーブル410のデバイスジョブID415に保存する。また、プリントサーバ301は、ステータス414をスケジュール待機中に更新する。
スケジュールアプリケーション501は、スケジュール情報610に登録された順に印刷順序を制御する。スケジュールアプリケーション501は、デバイスジョブID611をパラメータとして、当該デバイスジョブID611により特定される印刷ジョブの印刷許可をプリントサーバ301に通知する(S1007)。印刷許可通知を受け付けたプリントサーバ301は、印刷許可通知で受け付けたデバイスジョブID611と一致するデバイスジョブID611を持つジョブ情報をジョブテーブル410から特定する。プリントサーバ301は、特定されたジョブ情報に基づいて、スケジュールアプリケーション501に転送開始通知を行う(S1008)。そして、プリントサーバ301はステータス414を送信中に更新し、印刷データ転送を開始する(S1009)。また、S1008で転送開始通知を受け付けたスケジュールアプリケーション501もスケジュール情報610のステータス612を送信中に変更する。
デバイスコントローラ510は、受信した印刷データを順次解析し、印刷を開始する(S1010)。また自身で管理している印刷ジョブのステータスを印刷中に変更するため、イベント登録を行っているスケジュールアプリケーション501に対し印刷開始にステータスが変更されたことを通知する(S1011)。デバイスマネージャ603を介して印刷開始通知を受けたスケジュールアプリケーション501は、イベント登録しているプリントサーバ301に対して印刷開始通知を行う(S1012)。印刷開始通知を受け付けたプリントサーバ301は、ジョブテーブル410のステータス414を印刷中に更新する。このように、プリントサーバ301は自身が印刷した印刷ジョブの状態を把握することができる。
プリントサーバ301は印刷データの転送が完了すると、S1013で転送終了をスケジュールアプリケーション501に通知する。通知を受けたスケジュールアプリケーション501は転送開始と同様に当該印刷ジョブのスケジュール情報610のステータス612を送信済に変更する。ここでプリントサーバ301はジョブテーブル410のステータス414はすでに印刷中となっているので更新しない。
プリントデバイス106が印刷を終了すると、S1014でデバイスコントローラ510は、印刷開始と同様にスケジュールアプリケーション501に対して印刷終了を通知する(S1015)。完了の通知を受けたスケジュールアプリケーション501はプリントサーバ301に同様に印刷終了を通知する(S1016)。印刷終了を受けたプリントサーバ301はジョブテーブル410のステータス414を印刷完了に更新する。さらにプリントサーバ301は、予定していた全ての印刷リクエストの印刷ジョブが完了した場合は、S1017においてスケジュールアプリケーション501に対してイベントの解除を行い、続いてS1018において切断要求を行う。イベントの解除および切断要求をうけたスケジュールアプリケーション501はプリントサーバ301との通信の終了処理を行う。最後にS1001で確立させたセッションをS1019において終了する。
以上のように、DeviceSchedulingモードでの印刷はスケジュールアプリケーション501が印刷ジョブのスケジューリングや印刷ジョブ監視を行う。そしてスケジュールアプリケーション501からの通知でプリントサーバ301は印刷データの送信を開始する。
<印刷キャンセル>
図11は、プリントサーバ301がWebサーバシステム102からの印刷キャンセルリクエストを受け付けた際に行う処理フローである。プリントサーバ301は、印刷キャンセルする印刷ジョブのジョブIDをパラメータとして印刷キャンセルリクエストを受け付ける(S1101)。次にプリントサーバ301は、印刷キャンセルリクエストで受け付けたジョブIDをもとにジョブテーブル410からジョブ情報を取得する。さらにプリントサーバ301は、ジョブ情報のデバイスIDをもとにデバイステーブル420からデバイス情報を取得する(S1102)。
次に、プリントサーバ301は、S1102において取得したデバイス情報のスケジュールモード425の確認を行う(S1103)。S1103においてスケジュールモード425がServerSchedulingモード(サーバモード)だった場合、プリントサーバ301はS1102で取得したジョブ情報のステータス414を確認する(S1104)。S1104においてステータス414が印刷中または印刷完了だった場合、プリントサーバ301は印刷キャンセルできないので印刷キャンセルリクエストをエラーとして処理を終了する(S1105)。この場合、プリントサーバ301は、印刷キャンセルリクエストの要求元にエラー通知を行ってもよい。
S1104においてステータス414が印刷待ち、スケジュール待機中、送信中である場合、プリントサーバ301は担当プリントサーバ426を参照してプリントデバイスを担当しているプリントサーバ301を特定する(S1106)。プリントサーバ301は、担当プリントサーバ426が自プリントサーバ301のホスト名と一致する場合には印刷キャンセル処理を実行する(S1108)。
S1108における印刷キャンセル処理において、印刷データが未送信の場合、プリントサーバ301はジョブテーブル410のステータス414をキャンセル終了にする。印刷データを送信中の場合、プリントサーバ301は送信を中断しジョブテーブル410のステータス414をキャンセル終了にする
S1107で、プリントサーバ301は担当プリントサーバ426が自プリントサーバ301のホスト名と一致しない場合、担当プリントサーバ426に対して印刷キャンセルリクエストを転送する(S1109)。換言すれば、プリントサーバ301は、印刷ジョブの処理主体が自サーバ以外のプリントサーバであれば、その処理主体のプリントサーバに印刷キャンセルリクエストを転送する。S1104においてステータス414が送信済だった場合、プリントサーバ301はデバイスコントローラ510に対して、デバイスジョブID415に保存したジョブハンドルをもって印刷キャンセルリクエストする(S1110)。このように、プリントサーバ301は、印刷ジョブのステータスを適切に管理することにより、印刷キャンセルを通知すべき対象を特定し、印刷キャンセル処理の迅速化を実現することができる。
S1103においてスケジュールモード425がDeviceSchedulingモード(デバイスモード)だった場合、プリントサーバ301はS1102で取得したジョブ情報のステータス414を確認する(S1111)。S1111においてステータス414が印刷中または印刷完了だった場合、プリントサーバ301は印刷キャンセルできないので印刷キャンセルリクエストをエラーとして処理を終了する(S1112)。S1111においてステータス414が印刷待ちだった場合、プリントサーバ301は担当プリントサーバ426を参照して、そのプリントデバイスを担当しているプリントサーバ301を特定する(S1113)。プリントサーバ301は担当プリントサーバ426が自プリントサーバ301のホスト名と一致する場合には印刷キャンセル処理を実行する(S1115)。
S1115におけるプリントサーバ301の印刷キャンセル処理はジョブテーブル410のステータス414をキャンセル終了にする。S1114においてプリントサーバ301は担当プリントサーバ426が自プリントサーバ301のホスト名と一致しない場合、担当プリントサーバ426に対して印刷キャンセルリクエストを転送する(S1116)。S1111においてステータス414がスケジュール待機中、送信中、送信済だった場合、プリントサーバ301はスケジュールアプリケーション501にデバイスジョブID415をもって印刷キャンセルリクエストする(S1117)。
以上のように、スケジューリングモードの違いや印刷ジョブのステータスの違いによってプリントサーバ301、スケジュールアプリケーション501、デバイスコントローラ510に適切に印刷キャンセルを行うことができ、すぐに印刷キャンセルされる。
<印刷キャンセル失敗>
図12はプリントサーバ301が先述のS1109、S1110、S1116、S1117においてプリントサーバ301、スケジュールアプリケーション501、デバイスコントローラ510への印刷キャンセルリクエストに失敗した場合の処理フローである。印刷キャンセルに失敗した場合(S1202、S1203)、プリントサーバ301はジョブテーブル410のキャンセルフラグ416を1に更新する。印刷キャンセルに失敗した場合であってもプリントサーバ301の印刷処理における図8のS802、S804のキャンセルフラグ416の確認処理により印刷キャンセルすることができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。

Claims (4)

  1. ロードバランサが複数のリクエストを複数のプリントサーバに分散して発行することによって、前記複数のプリントサーバで前記複数のリクエストを分散処理する印刷システムにおける、前記複数のプリントサーバのうちの1つのプリントサーバであって、
    前記ロードバランサからリクエストを受け付ける受付手段と、
    前記受付手段で受け付けた前記リクエストが印刷キャンセルリクエストである場合、前記印刷キャンセルリクエストの対象となる印刷ジョブのステータスの情報と、前記印刷キャンセルリクエストの対象となる印刷ジョブに関連付けられたプリントデバイスの情報とを取得する取得手段と、
    印刷データ送信に関するスケジュールモードが、前記プリントサーバにおいて印刷データ送信の管理を行うサーバモードであるか、前記プリントデバイスにおいて印刷データ送信の管理を行うデバイスモードであるか判定するモード判定手段と、
    前記取得手段で取得した印刷ジョブのステータスが、前記取得手段で取得したプリントデバイスを担当しているプリントサーバに対して印刷キャンセル処理を実行させるべき第1のステータスであるか、前記プリントデバイスに印刷キャンセル処理を実行させるべき第2のステータスであるか、印刷キャンセルリクエストをエラーとする第3のステータスであるかを判定する判定手段と、
    前記判定手段で前記印刷ジョブのステータスが前記第1のステータスであると判定した場合は、前記取得手段で取得したプリントデバイスを担当しているプリントサーバに対して印刷キャンセル処理を実行させるように制御し、前記判定手段で前記印刷ジョブのステータスが前記第2のステータスであると判定した場合は、前記取得手段で取得したプリントデバイスに印刷キャンセル処理を実行させるように制御し、前記判定手段で前記印刷ジョブのステータスが前記第3のステータスであると判定した場合は、印刷キャンセルできないことを示すエラー通知を行うように制御する制御手段と、を有し、
    前記モード判定手段において前記スケジュールモードが前記サーバモードであると判定した場合、前記第1のステータスは、印刷待ち、スケジュール待機中、送信中のいずれかであり、前記第2のステータスは、送信済みであり、前記第3のステータスは印刷中または印刷完了のいずれかであり、
    前記モード判定手段において前記スケジュールモードが前記デバイスモードであると判定した場合、前記第1のステータスは、印刷待ちであり、前記第2のステータスは、スケジュール待機中、送信中、送信済みのいずれかであり、前記第3のステータスは印刷中または印刷完了のいずれかである
    ことを特徴とするプリントサーバ。
  2. 前記判定手段で前記印刷ジョブのステータスが前記第1のステータスであると判定した場合、前記制御手段は、前記プリントデバイスを担当しているプリントサーバが自装置であるか他のプリントサーバであるか更に判断し、自装置であると判断した場合は印刷キャンセル処理を実行し、他のプリントサーバであると判断した場合は、当該他のプリントサーバに印刷キャンセルリクエストを転送することにより印刷キャンセル処理を実行させるように制御する
    ことを特徴とする請求項1に記載のプリントサーバ。
  3. ロードバランサが複数のリクエストを複数のプリントサーバに分散して発行することによって、前記複数のプリントサーバで前記複数のリクエストを分散処理する印刷システムにおける、前記複数のプリントサーバのうちの1つのプリントサーバの制御方法であって、
    前記プリントサーバの受付手段が、前記ロードバランサからリクエストを受け付ける受付ステップと、
    前記プリントサーバの取得手段が、前記受付ステップで受け付けた前記リクエストが印刷キャンセルリクエストである場合、前記印刷キャンセルリクエストの対象となる印刷ジョブのステータスの情報と、前記印刷キャンセルリクエストの対象となる印刷ジョブに関連付けられたプリントデバイスの情報とを取得する取得ステップと、
    印刷データ送信に関するスケジュールモードが、前記プリントサーバにおいて印刷データ送信の管理を行うサーバモードであるか、前記プリントデバイスにおいて印刷データ送信の管理を行うデバイスモードであるかを、前記プリントサーバのモード判定手段が判定するモード判定ステップと、
    前記プリントサーバの判定手段が、前記取得ステップで取得した印刷ジョブのステータスが、前記取得ステップで取得したプリントデバイスを担当しているプリントサーバに対して印刷キャンセル処理を実行させるべき第1のステータスであるか、前記プリントデバイスに印刷キャンセル処理を実行させるべき第2のステータスであるか、印刷キャンセルリクエストをエラーとする第3のステータスであるかを判定する判定ステップと、
    前記プリントサーバの制御手段が、前記判定ステップで前記印刷ジョブのステータスが前記第1のステータスであると判定した場合は、前記取得ステップで取得したプリントデバイスを担当しているプリントサーバに対して印刷キャンセル処理を実行させるように制御し、前記判定ステップで前記印刷ジョブのステータスが前記第2のステータスであると判定した場合は、前記取得ステップで取得したプリントデバイスに印刷キャンセル処理を実行させるように制御し、前記判定ステップで前記印刷ジョブのステータスが前記第3のステータスであると判定した場合は、印刷キャンセルできないことを示すエラー通知を行うように制御する制御ステップと、を有し、
    前記モード判定ステップにおいて前記スケジュールモードが前記サーバモードであると判定した場合、前記第1のステータスは、印刷待ち、スケジュール待機中、送信中のいずれかであり、前記第2のステータスは、送信済みであり、前記第3のステータスは印刷中または印刷完了のいずれかであり、
    前記モード判定ステップにおいて前記スケジュールモードが前記デバイスモードであると判定した場合、前記第1のステータスは、印刷待ちであり、前記第2のステータスは、スケジュール待機中、送信中、送信済みのいずれかであり、前記第3のステータスは印刷中または印刷完了のいずれかである
    ことを特徴とするプリントサーバの制御方法。
  4. コンピュータを、請求項1または2に記載のプリントサーバの各手段として機能させるためのコンピュータプログラム。
JP2014084776A 2014-04-16 2014-04-16 プリントサーバ、制御方法およびコンピュータプログラム Expired - Fee Related JP6366332B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014084776A JP6366332B2 (ja) 2014-04-16 2014-04-16 プリントサーバ、制御方法およびコンピュータプログラム
US14/686,605 US9250841B2 (en) 2014-04-16 2015-04-14 Print server, control method of print server, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014084776A JP6366332B2 (ja) 2014-04-16 2014-04-16 プリントサーバ、制御方法およびコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2015204077A JP2015204077A (ja) 2015-11-16
JP2015204077A5 JP2015204077A5 (ja) 2017-06-01
JP6366332B2 true JP6366332B2 (ja) 2018-08-01

Family

ID=54322078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014084776A Expired - Fee Related JP6366332B2 (ja) 2014-04-16 2014-04-16 プリントサーバ、制御方法およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US9250841B2 (ja)
JP (1) JP6366332B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10572202B2 (en) * 2016-10-07 2020-02-25 Ricoh Company, Ltd. Network communication system, communication control apparatus, and recording medium
JP7608819B2 (ja) * 2020-12-17 2025-01-07 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
CN113961155A (zh) * 2021-10-14 2022-01-21 中电科航空电子有限公司 机载打印接口协议扩展和打印作业自动调度方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004066780A (ja) * 2002-08-09 2004-03-04 Ricoh Co Ltd 画像形成装置およびネットワークプリントシステム
EP1840724A4 (en) * 2005-01-05 2009-11-25 Seiko Epson Corp DISTRIBUTED PRINTING SYSTEM AND DISTRIBUTED PRESSURE CONTROL DEVICE
JP2009151467A (ja) * 2007-12-19 2009-07-09 Canon Inc 配信印刷システム
JP2011227624A (ja) * 2010-04-16 2011-11-10 Canon Inc プリントサーバおよび印刷装置、ネットワーク印刷システムと印刷方法
JP2012150534A (ja) * 2011-01-17 2012-08-09 Canon Inc 印刷制御装置、印刷制御方法およびコンピュータプログラム
JP5679853B2 (ja) * 2011-02-10 2015-03-04 キヤノン株式会社 プリントサーバー装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP2015204077A (ja) 2015-11-16
US20150301770A1 (en) 2015-10-22
US9250841B2 (en) 2016-02-02

Similar Documents

Publication Publication Date Title
JP5683205B2 (ja) 情報処理装置、情報処理装置を制御する制御方法、およびそのプログラム
JP5595035B2 (ja) 情報処理装置、その方法及びプログラム
JP5602592B2 (ja) ネットワークシステム、サーバ、ログ登録方法、及び、プログラム
JP5840016B2 (ja) 中継装置、情報処理システム、制御方法、管理方法およびコンピュータプログラム
JP6000828B2 (ja) 情報処理装置、印刷サーバーシステム、その制御方法、およびプログラム。
JP2014056320A (ja) サーバーシステム、サーバー、印刷システムにおける方法、およびプログラム
JP6378584B2 (ja) 通信システム、画像処理装置、画像処理装置の制御方法、及びプログラム
JP2021071879A (ja) 印刷システム、サーバ、及び印刷方法
JP6071482B2 (ja) 情報処理装置、情報処理システム、それらの制御方法、及びプログラム
JP2016218530A (ja) リクエスト振り分けシステム、管理システム、およびその制御方法
JP5448691B2 (ja) サーバ装置、クライアント装置、サーバ装置の制御方法、クライアント装置の制御方法、サーバ装置の制御プログラム及びクライアント装置の制御プログラム
JP2018022409A (ja) 印刷システム、印刷システムの制御方法、及びプログラム
JP6366332B2 (ja) プリントサーバ、制御方法およびコンピュータプログラム
GB2487389A (en) Transfer of print jobs between print servers
JP2020192730A (ja) 画像形成装置、画像形成装置の制御方法およびプログラム
JP5609308B2 (ja) 画像処理システム、画像処理装置、情報処理装置、及び画像処理方法
JP2007122093A (ja) 印刷制御装置及び印刷制御方法ならびに印刷制御方法を実行するプログラム
JP2017010227A (ja) ウェブサーバ、管理システム、およびその制御方法
JP4402634B2 (ja) 情報管理装置、情報管理システム及び情報管理方法
JP5524606B2 (ja) 仮想化環境におけるモジュール間の通信方法、情報処理装置およびその制御方法、クライアント装置、情報処理システム、プログラム
JP2014142735A (ja) 印刷システム、方法、及びプログラム
JP5305754B2 (ja) 情報処理装置、クライアント、情報処理方法およびプログラム
JP2009141774A (ja) データ処理装置及びその制御方法、コンピュータプログラム
JP5316730B1 (ja) 印刷制御装置、印刷システム及びプログラム
JP2019161420A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170411

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180326

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: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180703

R151 Written notification of patent or utility model registration

Ref document number: 6366332

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees