JP4916401B2 - ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラム - Google Patents

ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP4916401B2
JP4916401B2 JP2007221679A JP2007221679A JP4916401B2 JP 4916401 B2 JP4916401 B2 JP 4916401B2 JP 2007221679 A JP2007221679 A JP 2007221679A JP 2007221679 A JP2007221679 A JP 2007221679A JP 4916401 B2 JP4916401 B2 JP 4916401B2
Authority
JP
Japan
Prior art keywords
job
print
input
submission
information
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
JP2007221679A
Other languages
English (en)
Other versions
JP2009054044A (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 JP2007221679A priority Critical patent/JP4916401B2/ja
Priority to US12/198,667 priority patent/US8493591B2/en
Publication of JP2009054044A publication Critical patent/JP2009054044A/ja
Application granted granted Critical
Publication of JP4916401B2 publication Critical patent/JP4916401B2/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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/1268Job submission, e.g. submitting print job order or request not the print data itself
    • 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/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

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)

Description

本発明は、ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラムに関し、特に、クライアントから出力が要求されたジョブの出力装置への投入を、複数のジョブ投入装置の何れかに依頼するために用いて好適なものである。
従来から、プリントサーバを用いて、多数のプリンタに対し、印刷ジョブを配信することが行われている。大量の印刷ジョブの制御を、1台のプリントサーバで行うとプリントサーバが高負荷となり、各印刷ジョブの排紙までに多大な時間がかかってしまう。これを回避するために、複数のプリントサーバを用いて、プリントサーバにかかる負荷を分散させる負荷分散環境(例えばネットワークロードバランサを用いた環境)を構築する必要がある。
このような負荷分散環境で印刷を制御するシステムの従来の技術として、特許文献1に記載されている技術がある。特許文献1に記載されている技術では、複数の出力サーバ(プリントサーバ)を配置すると共に、複数の出力サーバの上位に、複数の出力サーバを管理する管理サーバを配置する。そして、管理サーバから出力サーバへ出力要求を送信する。出力サーバは、その出力要求を一旦キューイングし、1台のプリンタに対し、1多重で印刷プロセスを起動する。印刷プロセスが起動すると出力サーバは、管理サーバから印刷前データを取り出し、その印刷前データに基づいて、プリンタに印刷を実行させる。従来の技術では、このようにして出力サーバの負荷分散を実現すると共に、管理サーバが印刷順の制御を行うことにより印刷順を守るようにしている。
特開2006−313442号公報
しかしながら、前述した従来の技術では、印刷順を制御する1台の管理サーバが、複数の出力サーバを管理するため、この管理サーバの負荷を分散することが考慮されていない。多数の遠離にあるプリンタを用いて、大量の印刷ジョブの印刷を行うには、この管理サーバの負荷が多大なリスクとなる。そのため、印刷順を含めた印刷制御を複数のプリントサーバで行い、システム全体として負荷分散を行う負荷分散環境の印刷システムを実現することが望まれていた。
しかしながら、このような負荷分散環境の印刷システムを実現するためには、次のような課題があった。
すなわち、複数のクライアントから同じプリンタに対し印刷指示が行われた場合、必ずしも印刷指示を行った順番に印刷ジョブの出力(排紙)ができないという課題があった。
例えば、プリントサーバAが、プリンタaとは異なる他のプリンタbに印刷ジョブを投入し印刷を実行させている最中に、クライアントから、第1の印刷ジョブ、第2の印刷ジョブの順番で、プリンタaに対する印刷指示がなされた場合を考える。この場合、プリントサーバに処理を振り分けるバランサの動作により、第1の印刷ジョブについてはプリントサーバAに振り分けられ、第2の印刷ジョブについてはプリントサーバBに振り分けられることがある。そうすると、プリントサーバAは、プリンタbに印刷ジョブを投入する処理が終わってから、振り分けられた第1の印刷ジョブをプリンタaに投入することになる。よって、第2の印刷ジョブの方が、第1の印刷ジョブよりも先にプリンタaに投入されることになる。この結果、後から印刷指示が行われた第2のジョブの方が早く排紙(印刷完了)する。プリントサーバは、同じプリンタに対する印刷ジョブについては、クライアントからリクエストされた順に印刷ジョブをプリンタに投入しなければならない。したがって、以上のように印刷順序を守れないケースがあるのは大きな問題となる。また、印刷順も制御するプリントサーバをロードバランシィングすることは、従来の技術では困難であった。
このように従来の技術では、プリンタ(出力装置)にジョブを投入する複数のプリントサーバ(ジョブ投入装置)の夫々が、複数のプリンタ(出力装置)の何れかにジョブを投入できる負荷分散環境を構築すると、次のような問題点が生じた。すなわち、クライアントから同一のプリンタ(出力装置)に対して出力が要求された複数のジョブを、クライアントからの要求順にそのプリンタ(出力装置)に投入することができなくなる虞があるという問題点があった。
そこで、本発明は、複数のジョブ投入装置の夫々が、複数の出力装置の何れかにジョブを投入できる環境であっても、同一の出力装置に対して出力が要求された複数のジョブを、クライアントからの要求順にその出力装置に投入できるようにすることを目的とする。
本発明のジョブ投入依頼装置は、出力装置に対してジョブの投入処理を行う複数のジョブ投入装置の何れかに、クライアントから出力が要求されたジョブの投入を依頼するジョブ投入依頼装置であって、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があるか否かを判定する判定手段と、前記判定手段により、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があると判定されると、前記クライアントから出力が要求されたジョブの投入を、そのジョブ投入装置に依頼する依頼手段とを有することを特徴とする。
本発明のジョブ投入装置は、前記ジョブ投入依頼装置から、ジョブの投入の依頼を受け付ける受付手段と、前記受付手段により投入の依頼が受け付けられたジョブの投入処理を、当該ジョブの投入先である出力装置に対して行う投入処理手段と、前記投入処理手段により行われる投入処理の進行状況を、データベースに登録することを指示する登録指示手段とを有し、前記登録指示手段は、前記データベースに登録された投入処理の進行状況を、前記投入処理手段により行われている投入処理の進行状況に応じて更新することを特徴とする。
本発明のジョブ投入システムは、前記ジョブ投入依頼装置と、前記ジョブ投入装置と、前記ジョブ投入装置で行われるジョブの投入処理の進行状況が登録されるデータベースとを有することを特徴とする。
本発明のジョブ投入方法は、出力装置に対してジョブの投入処理を行う複数のジョブ投入装置の何れかに、クライアントから出力が要求されたジョブの投入を依頼するジョブ投入依頼方法であって、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があるか否かを判定する判定ステップと、前記判定ステップにより、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があると判定されると、前記クライアントから出力が要求されたジョブの投入を、そのジョブ投入装置に依頼する依頼ステップとを有することを特徴とする。
本発明のコンピュータプログラムは、出力装置に対してジョブの投入処理を行う複数のジョブ投入装置の何れかに、クライアントから出力が要求されたジョブの投入を依頼することをコンピュータに実行させるためのコンピュータプログラムであって、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があるか否かを判定する判定ステップと、前記判定ステップにより、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があると判定されると、前記クライアントから出力が要求されたジョブの投入を、そのジョブ投入装置に依頼することを通信手段に指示する依頼ステップとをコンピュータに実行させることを特徴とする。
本発明によれば、クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置がある場合には、前記クライアントから出力が要求されたジョブの投入を、そのジョブ投入装置に依頼するようにした。したがって、複数のジョブ投入装置を稼動させても同じ出力装置へのジョブ投入順序を守ることが可能となる
以下に、図面を参照しながら、本発明の一実施形態について説明する。
図1は、本発明の実施形態に係る配信印刷システム(ジョブ投入システム)のネットワーク構成の一例を示すブロック図である。
図1において、配信印刷システムは、情報処理装置101〜108と、プリンタ(印刷装置)等の画像形成装置116〜119とを含む。また、配信印刷システムは、外部のHDD(Hard Disk Drive)等の記憶装置112、113と、ネットワークロードバランサ装置(以下、バランサと称する)114、115も含む。これらがネットワーク120を介して互いに接続されている。
情報処理装置101〜111は、コンピュータを備え、印刷ジョブの印刷リクエストを行ったり、印刷ジョブを投入したり、印刷状態表示を行ったり、画像形成装置116〜119を監視したりする。また、情報処理装置101〜111には、印刷制御等を行うプログラムが実行可能な状態で格納されている。また、印刷ジョブ、印刷設定情報、及び印刷ジョブ情報等は、記憶装置112、113に保持される。
具体的に、情報処理装置109〜111は、印刷ジョブの印刷(出力)のリクエスト等を行うクライアントPCである。情報処理装置101〜103は、情報処理装置107、108で管理され、記憶装置112、113で保持されている印刷ジョブのジョブ情報をWebブラウザ介して提供するWebサーバである。情報処理装置109〜111(クライアントPC)が情報処理装置101〜103(Webアプリケーションサーバ)にWebブラウザを経由して所望の印刷ジョブの印刷のリクエストを行う。そうすると、情報処理装置104〜106は、情報処理装置107、108から印刷ジョブのデータを取得する。そして、情報処理装置104〜106は、取得した印刷ジョブを画像形成装置116〜119に投入する。
また、情報処理装置104〜106は、画像形成装置116〜119から印刷ジョブの状態を取得し、記憶装置112、113に記録する。画像形成装置116〜119は、情報処理装置104〜106から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。画像形成装置116〜119としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。
尚、配信印刷システムに含まれる装置間の通信は、イーサネット(登録商標)ケーブル等を利用した有線通信でもよいし、電波や光等を利用した無線通信でもよい。
図2は、本発明の実施形態に係る配信印刷システムの情報処理装置101〜111のハードウェア構成の一例を示す図である。
図2において、CPU202は、情報処理装置の全体の制御を行う。CPU202は、ハードディスク(HDD)205に格納されているアプリケーションプログラムや、OS(Operating System)等を実行し、プログラムの実行に必要な情報や、ファイル等をRAM203に一時的に格納する制御を行う。
ROM204は、例えば、基本I/Oプログラム等のプログラムや、文書処理の際に使用されるフォントデータ・テンプレート用データ等の各種データを記憶する。RAM203は、CPU202の主メモリ、ワークエリア等として機能する。
ハードディスク(HDD)205は、大容量メモリとして機能する。HDD205は、例えば、アプリケーションプログラム、Webサーバプログラム、データベースプログラム、プリンタドライバプログラム、OS、ネットワークプリンタ制御プログラム、及び関連プログラム等のうち、少なくとも何れか1つを格納している。
ディスプレイ206は、キーボード207から入力されたコマンドや、画像形成装置116〜119(例えばプリンタ)の状態等を表示するものである。
インターフェース208は、外部装置とのインターフェースである。このインターフェース208により、例えば、プリンタ、USB(Universal Serial Bus)機器、周辺機器と、情報処理装置とが相互に接続される。
キーボード207は、ユーザによる指示を入力する。尚、情報処理装置は、ユーザによる指示を入力する手段としてキーボード207の他にマウス等を有している。
システムバス201は、配信印刷システムの情報処理装置内のデータの流れを司るものである。
ネットワークインタフェースカード(NIC)209は、通信手段の一例であり、ネットワーク120を介して外部装置とデータのやり取りを行う。
尚、図2に示した情報処理装置の構成は一例であり、情報処理装置の構成は、図2に示したものに限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM204、RAM203、及びHDD205等の何れの記憶媒体であってもよく、適宜変更することができる。
図3は、本発明の実施形態に係る配信印刷システムの画像形成装置116〜119のハードウェア構成の一例を示す図である。
コントローラ301は、画像形成装置の制御系を司る機器である。コントローラ301は、CPU302、RAM303、ROM304、HDD305、LED306、ラスタコントローラ307、DKC308、及び機器インターフェース309を含む。
CPU302は、画像形成装置の全体の制御を行う。CPU302は、ROM304に記憶された制御プログラムや、DKC308を介して外部メモリ314に記憶された制御プログラムや、リソースデータ等に基づいて、システムバス310に接続される各種デバイスとのアクセスを統括的に制御する。
RAM303は、CPU302の主メモリ、ワークエリア等として機能する。図示しない増設ポートに接続されるオプションRAMによりRAM303のメモリ容量を拡張することができるように構成されている。
HDD305は、大容量メモリとして機能する。HDD305は、例えば、ジョブ自動印刷プログラム、印刷制御プログラム、投入された印刷ジョブ、及び関係プログラム等を格納している。
ラスタコントローラ307は、PDL(Page Description Language)言語である印刷データを画像データに変換するコントローラである。
ディスクコントローラ(DKC)308は、外部メモリ314における記憶動作を制御する。
機器インターフェース309は、USB等で接続可能な外部機器とのインターフェースである。
操作パネル313(操作部)は、画像形成装置の動作モード等の設定や、複写指定等の操作をユーザが行うためのボタンと、画像形成装置の動作状況等の表示を行うための液晶パネルとを備えている。尚、操作パネル313は、タッチパネルを備えていてもよい。
LED306は、画像形成装置の動作状況等に応じて点消灯する。
ネットワークインタフェースカード(NIC)311は、外部装置とのインターフェースである。画像形成装置は、NIC311を介して外部装置とのデータのやり取りを行う。
プリントエンジン312は、既知の印刷技術を利用して用紙に画像を印刷するものである。プリントエンジン312の好適な実施形態としては、例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華(熱転写)方式等を利用したプリントエンジンが挙げられる。
図4は、本発明の実施形態に係る配信印刷システムのシステム構成の一例をより具体的に示した図である。
クライアントPC401〜403は、図1に示した情報処理装置109〜111に対応する。クライアントPC401〜403は、Webブラウザプログラムを内部に保持する。そして、クライアントPC401〜403は、Webアプリケーションサーバ404〜406に対し、Webページのリクエストを行う。これにより、クライアントPC401〜403が備えるディスプレイ206にWebページが表示される。Webページでは、印刷ジョブ情報の表示、印刷ジョブ情報の選択、選択された印刷ジョブの出力を行うプリンタの選択、印刷情報の設定、印刷リクエスト、印刷中の印刷ジョブの優先度の変更、印刷の中止、保存された印刷ジョブの削除指示等を行える。尚、Webアプリケーションサーバ404〜406は、図1に示した情報処理装置101〜103に対応する。
Webアプリケーションサーバ404〜406は、クライアントPC401〜403のWebブラウザで指示された処理を実行する。具体的にWebアプリケーションサーバ404〜406(後述する図6のWebサーバ601)は、Webブラウザで指示されたリクエストを受け取り、そのリクエストの処理を行う。Webブラウザで指示されたリクエストは、バランサ411を経由して、Webアプリケーションサーバ404〜406に送信される。このとき、バランサ411は、数種類のバランシィング(例えば、ラウンドロビン方式、最少コネクション方式等)でWebアプリケーションサーバ404〜406に接続を行う。尚、バランサ411は、図1に示したバランサ114に対応する。
印刷ジョブ情報(図7を参照)の表示を行う場合、Webアプリケーションサーバ404〜406は、データベースサーバ413を介して、HDD415から印刷ジョブ情報を取得する。
この際、Webアプリケーションサーバ404〜406は、Webアプリケーションサーバ404〜406にログインしたユーザが参照可能な印刷ジョブ情報を、データベースサーバ413から取得する。尚、データベースサーバ413は、図1に示した情報処理装置107に対応し、HDD415は、図1に示した記憶装置112に対応する。
図4に示す配信印刷システムでは、プリンタ417〜422の情報(図9を参照。以下、必要に応じてプリンタ情報と称する。)も、HDD415に保存されている。Webアプリケーションサーバ404〜406は、データベースサーバ413を経由して、HDD415からプリンタ情報を取得することができる。
また、印刷先のプリンタの候補をクライアントPC401〜403のWebブラウザで表示する。このWebブラウザを参照してユーザが印刷先のプリンタを指定すると、Webアプリケーションサーバ404〜406は、印刷のリクエストをプリントサーバ407〜410に送信する。尚、プリントサーバ407〜410は、図1に示した情報処理装置104〜106に対応し、プリンタ417〜422は、図1に示した画像形成装置116〜119に対応する。
プリントサーバ407〜410は、指定されたプリンタ417〜422のプリンタ情報(図9を参照)と、印刷ジョブ情報(図7を参照)とを、データベースサーバ413から取得する。更にプリントサーバ407〜410は、指定された印刷ジョブのデータを、ジョブデータ保存サーバ414を介して、HDD416から取得する。Webアプリケーションサーバ404〜406からプリントサーバ407〜410への印刷リクエストは、図1に示したバランサ115を経由して行われる。このとき、バランサ412は、数種類のバランシィング(例えば、ラウンドロビン方式、最少コネクション方式等)でプリントサーバ407〜410に接続を行う。
尚、プリントサーバ407〜410は、図1に示した情報処理装置104〜106に対応し、ジョブデータ保存サーバ414は、図1に示した情報処理装置108に対応し、HDD416は、図1に示した記憶装置113に対応する。また、バランサ412は、図1に示したバランサ115に対応する。
プリントサーバ407〜410は、取得した印刷ジョブのデータを、指定されたプリンタに対して投入する。この処理の際、プリントサーバ407〜410は、プリンタ417〜422の監視も行う。
図5は、プリントサーバ407〜410の機能構成の一例を示す図である。
図5において、印刷リクエスト受付部501は、Webアプリケーションサーバ404〜406からの印刷リクエスト(ジョブの投入依頼)を受け付ける。印刷リクエストを受け付けるとジョブデータ取得部502は、データベースサーバ413から、印刷リクエストで指定された印刷ジョブの印刷ジョブ情報(図7を参照)を、データベースサーバ413を介してHDD415から取得する。また、ジョブデータ取得部502は、印刷リクエストで指定された印刷ジョブのデータを、ジョブデータ保存サーバ414を介してHDD416から取得する。ジョブ送信部504は、印刷リクエストで指定されたプリンタに、印刷ジョブのデータを送信し、ジョブを投入する。
また、ジョブスケジューリング部507は、印刷ジョブのスケジュールを管理し、ジョブ監視部505は、印刷処理を実行中の印刷ジョブを監視する。ジョブ監視部505は、印刷処理が実行されると、データベースサーバ413を介してHDD415にアクセスし、印刷ジョブ情報が記述されたジョブ情報テーブル(図7を参照)のステータスを更新する。プリントサーバ407〜410が起動している最中は、必要に応じてデバイス監視部506でプリンタ417〜422の状態を監視する。
以上のように本実施形態では、プリントサーバ407〜410によって、ジョブ投入装置が実現される。
図6は、Webアプリケーションサーバ404〜406の機能構成の一例を示す図である。
Webアプリケーションサーバ404〜406は、クライアントPC401〜403(Webブラウザ)からのリクエスト(ジョブの出力要求)を受け付けるWebサーバ601を有している。更に、Webアプリケーションサーバ404〜406は、そのリクエストに対し実際の処理を行うアプリケーションサーバ604とを有している。
Webサーバ601は、ブラウザリクエスト受付部602と、ページ送信部603と有している。一方、アプリケーションサーバ604は、ページ生成部605と、セッション管理部606と、プログラム実行部607とを有している。
ブラウザリクエスト受付部602は、Webブラウザからのリクエストを受け付ける。ページ生成部605は、リクエストに対するレスポンスとなるWebページを生成する。ページ送信部603は、Webブラウザに対し、ページ生成部605で生成されたWebページを送信する。セッション管理部606は、Webブラウザからのセッションを管理し、セッション情報の保持を行う。
プログラム実行部607は、通信部608を有する。プログラム実行部607は、通信部608を用いて、データベースサーバ413に対し、ユーザが所望する印刷ジョブ情報の取得をリクエストしたり、プリントサーバ407〜410に対し、印刷リクエスト(ジョブの投入依頼)を行ったりする。このとき通信部608は、データベースサーバ413、及びプリントサーバ407〜410に対する通信を、決められた通信プロトコルを使用して行う。
以上のように本実施形態では、Webアプリケーションサーバ404〜406によって、ジョブ投入依頼装置が実現される。
図7は、印刷ジョブ情報が記述されたジョブ情報テーブルの構成の一例を示す図である。このジョブ情報テーブルは、データベースサーバ413が管理するHDD415で保持される。
図7において、ジョブ情報テーブル701は、印刷ジョブ情報を保持するテーブルであり、このジョブ情報テーブル701には、複数のジョブ情報レコード702a、702bが登録される。ジョブ情報レコード702には、ジョブ識別ID703、ジョブ名704、プリンタ識別情報705、プリントサーバ706、及びステータス707が含まれる。これらジョブ情報レコード702の登録内容について、以下に詳述する。
ジョブ識別ID703は、印刷ジョブをユニークに識別するためのIDであり、配信印刷システムでユニークなIDとなる。ジョブ名704は、印刷ジョブの名称である。プリンタ識別情報705は、印刷を行うプリンタを識別する情報である。印刷を行うプリンタは、Webブラウザに対して、ユーザが指定する。プリントサーバ407〜410は、その指定されたプリンタに対して印刷ジョブを投入する。そして、プリントサーバ407〜410は、投入した印刷ジョブの監視を行う。また、プリントサーバ407〜410は、プリンタ417〜422の監視を行う。
プリンタ識別情報としては、例えば、プリンタ417〜422のIPアドレス、ホスト名等が使用される。
ステータス707は、印刷ジョブのステータスであり、例えば、"待機中"、"スケジュール待機中"、"転送中"、"転送済み"、"印刷中"、"正常終了"、"エラー終了"等の印刷ジョブの状態を表すステータス情報である。印刷ジョブの監視を行うプリントサーバ407〜410からの指示によって、印刷ジョブの状況に応じてこのステータス707の値が更新される。
以上のような印刷ジョブ情報は、データベースサーバ413からWebアプリケーションサーバ404〜406に送信され、Webブラウザで参照することが可能である。
以上のように本実施形態では、プリンタ識別情報705により、ジョブの投入先となる出力先の情報が実現される。また、プリントサーバ706により、ジョブの投入処理を実行しているジョブ投入装置の情報が実現される。更に、ステータス707により、ジョブの投入処理の進行状況が実現される。そして、これらプリンタ識別情報705、プリントサーバ706、ステータス707が互いに対応付けられて、ジョブ情報テーブル701(HDD415)に登録されている。
図8は、配信印刷システム全体の情報が記述されたシステム情報テーブルの構成の一例を示す図である。このシステム情報テーブルは、データベースサーバ413が管理するHDD415で保持される。
図8において、システム情報テーブル801には、バランサのIPアドレス(仮想IPアドレス)802a、802b、データベース接続アカウント803、及びデータベース接続パスワード804が含まれている。尚、バランサのIPアドレス(仮想IPアドレス)802の数は、配信印刷システムに設けられているバランサの数と同数となる。
Webアプリケーションサーバ404〜406は、プリントサーバ407〜410に対し、印刷リクエストを行う際に、通常は、図4に示したバランサ412に対応するIPアドレス(仮想IPアドレス)802に対し接続を行う。バランサ412は、数種類のバランシィング方法を使用して、接続するプリントサーバ407〜410を決め、そのプリントサーバとの接続を行う。数種類のバランシィング方法としては、例えば、ラウンドロビン方式、重み付けラウンドロビン方式、最速応答時間/最小サーバ負荷方式、及び最少コネクション方式等がある。
ラウンドロビン方式とは、各サーバに均等にトラフィックを振り分ける方式であると一般的に言われているものである。重み付けラウンドロビン方式とは、各サーバに優先順位を付け、各サーバに振り分けるトラフィック量を優先順位に応じてサーバ毎に変えることができる方式であると一般的に言われているものである。最速応答時間/最小サーバ負荷方式とは、最も速くレスポンスがあったサーバ、最も負荷の小さいサーバ等、サーバの稼働状況によってトラフィックを振り分ける方法であると一般的に言われているものである。最少コネクション方式とは、トラフィックをサーバに振り分けながらコネクションの状況をテーブルとして管理し、そのテーブルの情報から最もコネクションが少ないサーバを抽出してトラフィックを振り分ける方法であると一般的に言われているものである。
以上のように本実施形態では、バランサ412によって、プリントサーバ407〜410における負荷分散を行う負荷分散装置が実現される。
データベース接続アカウント803、データベース接続パスワード804は、Webアプリケーションサーバ404〜406又はプリントサーバ407〜410がデータベースサーバ413にログインするときのログイン認証情報として使用される。データベース接続アカウント803、データベース接続パスワード804の値は、データベース上では暗号化されて保持される。
図9は、プリンタ情報が記述されたプリンタ情報テーブルの構成の一例を示す図である。このプリンタ情報テーブルは、データベースサーバ413が管理するHDD415で保持される。
図9において、プリンタ情報テーブル901は、複数のプリンタ417〜422の夫々についてプリンタ情報を保持する。各プリンタ417〜422のプリンタ情報のレコードとしては、例えば、プリンタ名902、プリンタ識別情報903、ステータス904、及びドライバ名905等がある。
プリンタ名902は、配信印刷システムに設けられたプリンタ417〜422の名称である。また、プリンタ識別情報903は、プリンタ417〜422のIPアドレス、又はホスト名等、ネットワーク120上でプリンタ417〜422を識別するための情報である。
ステータス904は、プリンタ417〜422の状態を表す情報(値)である。プリントサーバ407〜410のデバイス監視部506が、プリンタ417〜422の状態を検知すると、検知した状態を表す値に、ステータス904の値を更新する。ドライバ名905は、プリントサーバ407〜410が、印刷する際に使用するドライバの名称である。
図10は、クライアントPC401〜403(Webブラウザ)から、Webアプリケーションサーバ404〜406に対し印刷指示を行う際に送る印刷リクエスト情報の一例を示す図である。この印刷リクエスト情報は、Webアプリケーションサーバ404〜406がプリントサーバ407〜410に印刷リクエストをする際に送る印刷リクエスト情報でもある。
図10において、印刷リクエスト情報1001には、プリンタ名1002とジョブ識別ID1003とが含まれている。プリンタ名1002は、図9に示したプリンタ情報テーブル901のプリンタ名902と一致する情報である。Webアプリケーションサーバ404〜406は、このプリンタ名1002から、プリンタ識別情報903を特定する。ジョブ識別ID1003は、図7に示したジョブ情報テーブル701のジョブ識別ID703と一致する情報である。ジョブ識別ID1003は、印刷ジョブをユニークに識別するためのIDであり、配信印刷システムでユニークなIDとなる。
図11は、クライアントPC(Webブラウザ)401〜403からバランサ411を介して、Webアプリケーションサーバ404〜406に対して印刷指示を行う際の配信印刷システムにおける処理の一例を説明するフローチャートである。
まず、ステップS1101において、クライアントPCは、Webページの印刷実行ページで"印刷実行"ボタンが押下されるまで待機する。すなわち、クライアントPCは、印刷の実行が指示されるまで待機する。
印刷の実行が指示されると、ステップS1102に進み、クライアントPCは、Webアプリケーションサーバに対し、印刷リクエスト情報1001を送信する。図10に示したように、印刷リクエスト情報1001には、プリンタ名1002とジョブ識別ID1003とが含まれる。
次に、ステップS1103において、クライアントPCは、Webアプリケーションサーバから、ステップS1102で送信した印刷リクエスト情報1001に対するレスポンスの結果を取得するまで待機する。印刷リクエスト情報1001に対するレスポンスの結果を取得すると、ステップS1104に進み、クライアントPCは、その結果を示すWebページをWebブラウザで表示する。
図12は、Webアプリケーションサーバからプリントサーバに対し印刷リクエストを行う際の配信印刷システムにおける処理の一例を説明するフローチャートである。
ステップS1201において、Webアプリケーションサーバは、印刷リクエスト情報1001を、クライアントPCのWebブラウザから受信するまで待機する。
そして、印刷リクエスト情報1001を受信すると、ステップS1202に進む。そして、Webアプリケーションサーバは、ステップS1201で受信された印刷リクエスト情報1001に、プリンタ名1002とジョブ識別ID1003との両方が含まれているか否かを判定する。この判定の結果、プリンタ名1002とジョブ識別ID1003との少なくとも何れか一方が印刷リクエスト情報1001に含まれていない場合には、図12のフローチャートによる処理を終了する。
一方、プリンタ名1002とジョブ識別ID1003との双方が印刷リクエスト情報1001に含まれている場合には、ステップS1203に進む。そして、Webアプリケーションサーバは、受信した印刷リクエスト情報1001に含まれるプリンタ名1002に対応するプリンタ識別情報903の取得を、データベースサーバ413に対してリクエストする。データベースサーバ413は、HDD415内のプリンタ情報テーブル901を参照し、プリンタ名1002と一致するプリンタ名902のレコードからプリンタ識別情報903を抽出する。そして、データベースサーバ413は、抽出したプリンタ識別情報903をリクエストに対するレスポンスとして、Webアプリケーションサーバ404〜406に送信する。プリンタ識別情報903を受信したWebアプリケーションサーバは、そのプリンタ識別情報903に対応する印刷ジョブ情報の取得を、データベースサーバ413に対してリクエストする。データベースサーバ413は、HDD415内のジョブ情報テーブル701を参照し、プリンタ識別情報903と一致するプリンタ識別情報705が属するジョブ情報レコード702を抽出する。そして、データベースサーバ413は、抽出したジョブ情報レコード702をリクエストに対するレスポンスとして、Webアプリケーションサーバ404〜406に送信する。尚、プリンタ識別情報903と一致するプリンタ識別情報705が属するジョブ情報レコード702がない場合、データベースサーバ413は、そのことを、リクエストに対するレスポンスとして、Webアプリケーションサーバ404〜406に送信する。
尚、ここでは、Webアプリケーションサーバが、リクエストを2回行うようにしたが、1回のリクエストとしてもよい。この場合、データベースサーバ413は、プリンタ情報テーブル901から抽出したプリンタ識別情報903に基づいて、ジョブ情報テーブル701からジョブ情報レコード702を抽出することになる。
次に、ステップS1204において、Webアプリケーションサーバは、ジョブ情報レコード702が抽出されたか否かを判定する。この判定の結果、ジョブ情報レコード702が抽出されなかった場合には、後述するステップS1209に進む。
一方、ジョブ情報レコード702が抽出された場合には、ステップS1205に進む。そして、Webアプリケーションサーバは、抽出されたジョブ情報レコード702内のプリントサーバ706を参照する。
以上のように本実施形態では、ステップS1203〜S1205の処理を行うことによって探索手段が実現される。
次に、ステップS1206において、Webアプリケーションサーバは、参照したプリントサーバ706の値が空でないかどうかを判定する。この判定の結果、参照したプリントサーバ706の値が空である場合には、ステップS1204に戻る。
一方、参照したプリントサーバ706の値が空でない場合には、ステップS1207に進む。そして、Webアプリケーションサーバは、参照したプリントサーバ706で特定されるプリントサーバに対し通信コネクションをはり、印刷リクエスト情報1001を送信する。
以上のように本実施形態では、ステップS1206の処理を行うことによって、判定手段が実現され、ステップS1207の処理を行うことによって、依頼手段が実現される。
次に、ステップS1208において、バランサ412は、印刷リクエスト情報1001を送信したWebアプリケーションサーバと、指定されたプリントサーバとを通信可能に接続する。これにより、Webアプリケーションサーバと、プリントサーバとの通信が可能になる。そして、後述するステップS1211に進む。
ステップS1204において、ジョブ情報レコード702が抽出されなかったと判定された場合には、ステップS1209に進む。そして、Webアプリケーションサーバは、バランサ412のIPアドレスの取得を、データベースサーバ413に対してリクエストする。データベースサーバ413は、HDD415内のシステム情報テーブル801を参照し、バランサ412のIPアドレス802を抽出する。そして、データベースサーバ413は、抽出したバランサ412のIPアドレス802をリクエストに対するレスポンスとして、Webアプリケーションサーバに送信する。バランサ412のIPアドレス802を受信すると、Webアプリケーションサーバ404〜406は、バランサ412のIPアドレス802に、印刷リクエスト情報1001を送信する。
以上のように本実施形態では、ステップS1209の処理を行うことによって、第2の依頼手段が実現される。
次に、ステップS1210において、バランサ412は、数種類のバランシィング方法(例えば、ラウンドロビン方式、最少コネクション方式等)に基づいて決定したプリントサーバと、Webアプリケーションサーバ404〜406とを通信可能に接続する。そして、ステップS1211に進む。
ステップS1211に進むと、Webアプリケーションサーバは、印刷リクエスト情報1001の受け付けに成功したことを示す情報をプリントサーバから受信したか否かを判定する。この判定の結果、印刷リクエスト情報1001の受け付けに成功したことを示す情報を受信した場合には、図12のフローチャートによる処理を終了する。
一方、印刷リクエスト情報1001の受け付けに成功したことを示す情報を受信していない場合には、ステップS1212に進む。そして、プリントサーバは、Webアプリケーションサーバに対し、エラー通知と、指定されたプリンタに対し印刷処理を実行している最中のプリントサーバの情報とを返す。Webアプリケーションサーバは、プリントサーバから受け取ったプリントサーバの情報に対応するプリントサーバに対し印刷リクエスト情報1001を再度送信する。
次に、ステップS1213において、Webアプリケーションサーバ404〜406は、印刷リクエスト情報1001の受け付けに成功したことを示す情報をプリントサーバから受信したか否かを判定する。この判定の結果、印刷リクエスト情報1001の受け付けに成功したことを示す情報を受信した場合には、図12のフローチャートによる処理を終了する。
一方、印刷リクエスト情報1001の受け付けに成功したことを示す情報を受信していない場合には、ステップS1212に戻る。
図13は、ジョブデータ保存サーバ414が管理するHDD416内で保持される印刷ジョブのデータの保存構成の一例を示す図である。
図13に示す例では、印刷ジョブを配信印刷システム内でユニークに識別するためのジョブ識別ID1312と、印刷ジョブのデータ(ジョブデータ)1313とを含むデータ保存構成1311となっている。
図14は、プリントサーバ407〜410がプリンタ417〜422に対し印刷処理を実行する際の配信印刷システムにおける処理の一例を説明するフローチャートである。
ステップS1401において、プリントサーバは、Webアプリケーションサーバから、印刷リクエスト情報1001を受信するまで待機する。印刷リクエスト情報1001を受信すると、ステップS1402に進む。
以上のように本実施形態では、ステップS1401の処理を行うことによって、ジョブの投入の依頼を受け付ける受付手段が実現される。
そして、プリントサーバは、ステップS1401で受信した印刷リクエスト情報1001のジョブ識別ID1003に対応するジョブ情報レコードの取得を、データベースサーバ413に対してリクエストする。データベースサーバ413は、HDD415内のジョブ情報テーブル701を参照し、ジョブ識別ID1003に一致するジョブ識別ID703を有するジョブ情報レコード702をジョブ情報テーブル701から抽出する。そして、データベースサーバ413は、抽出したジョブ情報レコード702をリクエストに対するレスポンスとして、プリントサーバに送信する。そして、プリントサーバは、送信されたジョブ情報レコード702からプリントサーバ706の情報を参照する。
次に、ステップS1403において、プリントサーバは、ステップS1402で参照したプリントサーバ706の値が空であるか否かを判定する。この判定の結果、プリントサーバ706の値が空でない場合には、ステップS1406に進む。そして、プリントサーバは、プリントサーバ706の情報を取得し、エラー通知と共に、取得したプリントサーバ706の情報を、Webアプリケーションサーバに送信する。
ステップS1403において、ステップS1402で参照したプリントサーバ706の値が空である場合には、ステップS1404に進む。そして、プリントサーバは、ジョブ情報レコード702のプリントサーバ706に自身のIPアドレス(又はホスト名)を書き込むことを、データベースサーバ413にリクエストする。データベースサーバ413は、ジョブ情報テーブル701を参照し、リクエストのあったプリントサーバのIPアドレス(又はホスト名)を、該当するプリントサーバ706に書き込む。
以上のように本実施形態では、ステップS1404の処理を行うことにより登録指示手段(の一部)が実現される。
次に、ステップS1405において、プリントサーバは、ステップS1401で受信した印刷リクエスト情報1001に含まれるプリンタ名1002で指定されたプリンタに対し、印刷ジョブのスケジュールの取得を要求する。このとき、プリントサーバは、データベースサーバ413に対し、ジョブ情報テーブル701のステータス707を"スケジュール待機中"に更新することをリクエストする。データベースサーバ413は、ジョブ情報テーブル701を参照し、該当するステータス707を"スケジュール待機中"に更新する。
以上のように本実施形態では、ステップS1405の処理を行うことにより登録指示手段(の一部)が実現される。
次に、ステップ1407において、プリントサーバは、印刷ジョブのスケジュールの取得を要求したプリンタから、印刷ジョブのスケジュールを受信したか否かを判定する。この判定の結果、印刷ジョブのスケジュールを受信しなかった場合には、図14のフローチャートによる処理を終了する。
一方、印刷ジョブのスケジュールを受信した場合には、ステップS1408に進む。そして、プリントサーバは、ステップS1401で受信した印刷リクエスト情報1001に含まれるジョブ識別ID1003に対応する印刷ジョブのデータの取得を、ジョブデータ保存サーバ414にリクエストする。ジョブデータ保存サーバ414は、HDD416に記憶されているデータ保存構成1311(テーブル)を参照し、ジョブ識別ID1003と一致するジョブ識別ID1312に対応する印刷ジョブのデータ(ジョブデータ)1313を抽出する。そして、ジョブデータ保存サーバ414は、印刷ジョブのデータ(ジョブデータ)1313を、リクエストに対するレスポンスとして、プリントサーバに送信する。これにより、プリントサーバは、ステップS1401で受信した印刷リクエスト情報1001に含まれるジョブ識別ID1003に対応する印刷ジョブのデータを取得する。
次に、ステップS1409において、プリントサーバは、印刷ジョブのデータ(ジョブデータ)1313の取得に成功したか否かを判定する。この判定の結果、印刷ジョブのデータ(ジョブデータ)1313の取得に失敗した場合には、図14のフローチャートによる処理を終了する。一方、印刷ジョブのデータ(ジョブデータ)1313の取得に成功した場合には、ステップS1410に進む。そして、プリントサーバは、ステップS1401で受信した印刷リクエスト情報1001に含まれるプリンタ名1002と一致するプリンタのプリンタ情報の取得を、データベースサーバ413に対しリクエストする。データベースサーバ413は、プリンタ情報テーブル901を参照し、プリンタ名1002と一致するプリンタのレコード(プリンタ情報)を抽出する。データベースサーバ413は、抽出したレコード(プリンタ情報)をリクエストに対するレスポンスとして、プリントサーバ407〜410に送信する。これにより、プリントサーバは、印刷リクエスト情報1001に含まれるプリンタ名1002と一致するプリンタのプリンタ情報を取得する。そして、プリントサーバは、取得したプリンタ情報に含まれるプリンタ識別情報903で識別されるプリンタに対し、取得した印刷ジョブのデータ(ジョブデータ)1313を送信する。このとき、プリントサーバは、データベースサーバ413に対し、ジョブ情報テーブル701のステータス707を"転送中"に更新することをリクエストする。データベースサーバ413は、ジョブ情報テーブル701を参照し、該当するステータス707を"転送中"に更新する。
以上のように本実施形態では、ステップS1410の処理を行うことにより登録指示手段(の一部)が実現される。
次に、ステップS1411において、プリントサーバは、印刷ジョブのデータ(ジョブデータ)1313の送信に成功したか否かを判定する。この判定の結果、印刷ジョブのデータ(ジョブデータ)1313の送信に失敗した場合には、図14のフローチャートによる処理を終了する。
一方、印刷ジョブのデータ(ジョブデータ)1313の送信に成功した場合(印刷ジョブのデータ(ジョブデータ)1313の転送が正常に完了した場合)には、ステップS1412に進む。そして、プリントサーバは、データベースサーバ413に対し、ジョブ情報テーブル701のステータス707を"転送済み"に更新することをリクエストする。データベースサーバ413は、ジョブ情報テーブル701を参照し、該当するステータス707を"転送済み"に更新する。更に、プリントサーバは、データベースサーバ413に対し、プリントサーバ706の情報を削除する(空にする)ことをリクエストする。データベースサーバ413は、ジョブ情報テーブル701を参照し、該当するプリントサーバ706の情報を削除する(空にする)。
以上のように本実施形態では、ステップS1412の処理を行うことにより登録指示手段(の一部)が実現される。また、本実施形態では、ステップS1404で転送処理が開始し、ステップS1413で転送処理が終了する(ただし、ジョブの投入は、ステップS1412で終了する)。すなわち、本実施形態では、ステップS1404〜S1413の処理を行うことにより投入処理手段が実現される。
次に、ステップS1413において、プリントサーバは、印刷ジョブのデータ(ジョブデータ)1313を送信したプリンタからジョブ完了通知を受信すると、次の処理を行う。すなわち、プリントサーバは、データベースサーバ413に対し、ジョブ情報テーブル701のステータス707を"印刷完了"に更新することをリクエストする。データベースサーバ413は、ジョブ情報テーブル701を参照し、該当するステータス707を"印刷完了"に更新する。
図15は、本発明の実施形態に係る配信印刷システムにおけるプリントサーバ407〜410によって更新される印刷ジョブのステータス707の遷移の一例を示す図である。ステータス707は、印刷処理の進行状況を表すものであり、プリントサーバ407〜410の処理状況や、デバイス監視部506がプリンタから受信したプリンタ417〜422のステータスが反映され更新されていくものである。
図11のステップS1101において、印刷の実行が指示される前の状態では、印刷ジョブのステータス707は、待機中1501になる。すなわち、どのプリントサーバ407〜410も印刷処理を行っていない印刷ジョブのステータス707は、待機中1501になる。図11、図12のフローチャートを経て図14のステップS1407〜S1410のようなプリントサーバ407〜410における印刷処理が始まると、ステップS1405で、印刷ジョブのステータス707は、スケジュール待機中1502となる。
図14のステップS1410で、プリントサーバからプリンタに印刷ジョブのデータ(ジョブデータ)1313が転送されると、印刷ジョブのステータス707は、転送中1503となる。そして、ステップS1412で、印刷ジョブのデータ(ジョブデータ)1313の送信が完了すると、印刷ジョブのステータス707は、転送済み1504になる。更に、ステップS1413で、プリンタで印刷完了(排紙済み)になるとプリントサーバはそのプリンタから印刷完了の通知を受け、この通知に基づいて印刷ジョブのステータス707は、正常終了1506又はエラー終了1507となる。
図12に示したWebアプリケーションサーバ404〜406の処理(ステップS1206)において、プリントサーバ706の値が空でない場合、印刷ジョブのステータス707は、スケジュール待機中1502、転送中1503、又は転送済み1504である。印刷ジョブのステータス707が、その他のステータスの場合は、プリントサーバ706の値は空となる。本実施形態では、Webアプリケーションサーバ404〜406が印刷リクエスト情報1001を、ロードバランスされた複数のプリントサーバ407〜410のどれかに送信する際に、印刷ジョブのステータス707に応じて、送信するプリントサーバを決定する。印刷ジョブのステータス707が、スケジュール待機中1502、転送中1503、及び転送済み1504の場合、つまりプリントサーバ706の情報が存在する場合は、プリントサーバ706で識別されるプリントサーバに印刷リクエスト情報1001を送信する。一方、プリントサーバ706の情報が空の場合、つまり、印刷ジョブのステータス707が、待機中1501、転送済み1504、印刷中1505、正常終了1506、エラー終了1507の場合、バランサ412に対し、印刷リクエスト情報1001を送信する。
以上のように本実施形態では、Webアプリケーションサーバ404〜406は、クライアントPC401〜403から、印刷リクエスト情報1001を受信する。そして、Webアプリケーションサーバ404〜406は、受信した印刷リクエスト情報1001内のプリンタ名1002に対応するジョブ情報レコード702を取得する。ジョブ情報レコード702は、印刷ジョブに関する情報を示すものである。ジョブ情報レコード702には、印刷ジョブに対する印刷処理を行っているプリントサーバを示すレコード(プリントサーバ706)がある。そして、このプリントサーバ706の値が空でない場合、Webアプリケーションサーバ404〜406は、そのプリントサーバ706の値で識別されるプリントサーバに対し、印刷リクエスト情報1001を送信して印刷処理を指示する。このように本実施形態では、印刷ジョブの投入先として指定されたプリンタに対して印刷処理を行っているプリントサーバが存在する場合には、そのプリントサーバに対して、印刷処理の実行を指示するようにした。したがって、同一のプリンタに対する印刷リクエスト情報1001については、発行順にプリントサーバ407〜411に到着するようになる。よって、複数のプリントサーバ407〜410の夫々がプリンタ417〜422に投入する印刷ジョブを制御する環境において、同一のプリンタに対する印刷ジョブをクライアントPC401〜403からの要求順にそのプリンタに投入することができる。
(本発明の他の実施形態)
前述した本発明の実施形態におけるジョブ投入依頼装置、ジョブ投入装置、ジョブ投入システムを構成する各手段、並びにジョブ投入方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図11、図12、図14に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の実施形態を示し、配信印刷システムのネットワーク構成の一例を示すブロック図である。 本発明の実施形態を示し、情報処理装置のハードウェア構成の一例を示す図である。 本発明の実施形態を示し、画像形成装置のハードウェア構成の一例を示す図である。 本発明の実施形態を示し、配信印刷システムのシステム構成の一例をより具体的に示した図である。 本発明の実施形態を示し、プリントサーバの機能構成の一例を示す図である。 本発明の実施形態を示し、Webアプリケーションサーバの機能構成の一例を示す図である。 本発明の実施形態を示し、印刷ジョブ情報が記述されたジョブ情報テーブルの構成の一例を示す図である。 本発明の実施形態を示し、配信印刷システム全体の情報が記述されたシステム情報テーブルの構成の一例を示す図である。 本発明の実施形態を示し、プリンタ情報が記述されたプリンタ情報テーブルの構成の一例を示す図である。 本発明の実施形態を示し、印刷リクエスト情報の一例を示す図である。 本発明の実施形態を示し、クライアントPC(Webブラウザ)からバランサを介して、Webアプリケーションサーバに対して印刷指示を行う際の配信印刷システムにおける処理の一例を説明するフローチャートである。 本発明の実施形態を示し、Webアプリケーションサーバからプリントサーバに対し印刷リクエストを行う際の配信印刷システムにおける処理の一例を説明するフローチャートである。 本発明の実施形態を示し、ジョブデータ保存サーバが管理するHDD内で保持される印刷ジョブのデータの保存構成の一例を示す図である。 本発明の実施形態を示し、プリントサーバがプリンタに対し印刷処理を実行する際の配信印刷システムにおける処理の一例を説明するフローチャートである。 本発明の実施形態を示し、プリントサーバによって更新される印刷ジョブのステータスの遷移の一例を示す図である。
符号の説明
401〜403 クライアントPC(Webブラウザ)
404〜406 Webアプリケーションサーバ
407〜410 プリントサーバ
411、412 バランサ
413 データベースサーバ
414ジョブデータ保存サーバ
415、416 HDD
417〜422 プリンタ(画像形成装置)
701 ジョブ情報テーブル
702 ジョブ情報レコード
801 システム情報テーブル
901 プリンタ情報テーブル
1001 印刷リクエスト情報

Claims (8)

  1. 出力装置に対してジョブの投入処理を行う複数のジョブ投入装置の何れかに、クライアントから出力が要求されたジョブの投入を依頼するジョブ投入依頼装置であって、
    前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があるか否かを判定する判定手段と、
    前記判定手段により、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があると判定されると、前記クライアントから出力が要求されたジョブの投入を、そのジョブ投入装置に依頼する依頼手段とを有することを特徴とするジョブ投入依頼装置。
  2. ジョブの投入処理を実行しているジョブ投入装置の情報と、当該ジョブの投入先となる出力装置の情報とが対応付けられて登録されるデータベースの登録内容に基づいて、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を実行しているジョブ投入装置を探索する探索手段を有し、
    前記判定手段は、前記探索手段により探索された結果に基づいて、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があるか否かを判定することを特徴とする請求項1に記載のジョブ投入依頼装置。
  3. 前記判定手段により、前記クライアントから要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置がないと判定されると、前記クライアントから出力が要求されたジョブを投入するジョブ投入装置を決定することを、前記複数のジョブ投入装置の負荷分散を行う負荷分散装置に依頼する第2の依頼手段を有することを特徴とする請求項1又は2に記載のジョブ投入依頼装置。
  4. 請求項1〜3の何れか1項に記載のジョブ投入依頼装置から、ジョブの投入の依頼を受け付ける受付手段と、
    前記受付手段により投入の依頼が受け付けられたジョブの投入処理を、当該ジョブの投入先である出力装置に対して行う投入処理手段と、
    前記投入処理手段により行われる投入処理の進行状況を、データベースに登録することを指示する登録指示手段とを有し、
    前記登録指示手段は、前記データベースに登録された投入処理の進行状況を、前記投入処理手段により行われている投入処理の進行状況に応じて更新することを特徴とするジョブ投入装置。
  5. 前記登録指示手段は、前記ジョブの投入処理の進行状況と、当該ジョブの投入処理を実行しているジョブ投入装置の情報と、当該ジョブの投入先となる出力装置の情報とが対応付けられて登録されたデータベースに対して情報の登録を指示し、
    前記投入処理手段により、前記ジョブの投入処理が開始すると、前記ジョブの投入処理を実行しているジョブ投入装置の情報として、自身が属しているジョブ投入装置の情報を前記データベースに登録することを指示し、
    前記投入処理手段により、前記ジョブの投入が終了すると、前記自身が属しているジョブ投入装置の情報を、前記データベースから削除することを指示することを特徴とする請求項4に記載のジョブ投入装置。
  6. 請求項1〜3の何れか1項に記載のジョブ投入依頼装置と、請求項4又は5に記載のジョブ投入装置と、ジョブの投入処理を実行しているジョブ投入装置の情報と、当該ジョブの投入先となる出力装置の情報とが対応付けられて登録されるデータベースとを有することを特徴とするジョブ投入システム。
  7. 出力装置に対してジョブの投入処理を行う複数のジョブ投入装置の何れかに、クライアントから出力が要求されたジョブの投入を依頼するジョブ投入依頼方法であって、
    前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があるか否かを判定する判定ステップと、
    前記判定ステップにより、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があると判定されると、前記クライアントから出力が要求されたジョブの投入を、そのジョブ投入装置に依頼する依頼ステップとを有することを特徴とするジョブ投入依頼方法。
  8. 出力装置に対してジョブの投入処理を行う複数のジョブ投入装置の何れかに、クライアントから出力が要求されたジョブの投入を依頼することをコンピュータに実行させるためのコンピュータプログラムであって、
    前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があるか否かを判定する判定ステップと、
    前記判定ステップにより、前記クライアントから出力が要求されたジョブの投入先となる出力装置に対してジョブの投入処理を行っているジョブ投入装置があると判定されると、前記クライアントから出力が要求されたジョブの投入を、そのジョブ投入装置に依頼することを通信手段に指示する依頼ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
JP2007221679A 2007-08-28 2007-08-28 ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラム Expired - Fee Related JP4916401B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007221679A JP4916401B2 (ja) 2007-08-28 2007-08-28 ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラム
US12/198,667 US8493591B2 (en) 2007-08-28 2008-08-26 Job-submission-request apparatus and method for making a request from a plurality of apparatuses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007221679A JP4916401B2 (ja) 2007-08-28 2007-08-28 ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2009054044A JP2009054044A (ja) 2009-03-12
JP4916401B2 true JP4916401B2 (ja) 2012-04-11

Family

ID=40406973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007221679A Expired - Fee Related JP4916401B2 (ja) 2007-08-28 2007-08-28 ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US8493591B2 (ja)
JP (1) JP4916401B2 (ja)

Families Citing this family (14)

* 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
TW200705299A (en) * 2005-07-21 2007-02-01 Yu-Chung Chu Method and system for consumer photograph based advertisement and information distribution
US8208160B2 (en) * 2008-08-27 2012-06-26 Hewlett-Packard Development Company, L.P. System and method for printing a user guide for a product
JP2012038076A (ja) * 2010-08-06 2012-02-23 Canon Inc 情報処理装置、ジョブ処理システム、ジョブ送信経路制御方法、及びプログラム、並びに記録媒体
US8970873B2 (en) 2010-09-17 2015-03-03 Printeron Inc. System and method for managing printer resources on an internal network
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
EP2646899B1 (en) * 2010-11-30 2020-02-26 Hewlett-Packard Development Company, L.P. System for internet enabled printing
JP5862240B2 (ja) * 2011-03-11 2016-02-16 株式会社リコー 情報処理装置、制御システム、制御方法、制御プログラム、及びそのプログラムを記録した記録媒体
US20120293826A1 (en) * 2011-05-19 2012-11-22 Srivastava Saurabh Systems and methods for providing multiple images
JP6174896B2 (ja) * 2013-04-19 2017-08-02 キヤノン株式会社 印刷システム、サーバ、情報処理装置、画像処理装置、印刷制御方法およびプログラム
US9356882B2 (en) 2014-02-04 2016-05-31 Printeron Inc. Streamlined system for the transmission of network resource data
JP6272117B2 (ja) * 2014-04-14 2018-01-31 キヤノン株式会社 印刷システム、印刷サーバー及び印刷制御方法とプログラム
CN108733775A (zh) * 2018-04-28 2018-11-02 上海鲜花日记网络技术有限公司 客户端的内容管理方法及后台架构

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114684A (ja) * 1995-10-16 1997-05-02 Hitachi Ltd ジョブ振り分け方法
DE69729169T2 (de) * 1996-12-27 2005-06-09 Canon K.K. Drucksystem
US20030128384A1 (en) * 2002-01-04 2003-07-10 Nelson Dean S. Dynamic load-balancing print server systems and methods
US7103628B2 (en) * 2002-06-20 2006-09-05 Jp Morgan Chase & Co. System and method for dividing computations
JP2006056072A (ja) * 2004-08-18 2006-03-02 Canon Inc 印刷システム及び印刷ジョブの制御方法
JP2006260216A (ja) * 2005-03-17 2006-09-28 Fuji Xerox Co Ltd 文書出力管理システム、その方法及びプログラム
JP2006309625A (ja) * 2005-04-28 2006-11-09 Konica Minolta Business Technologies Inc 画像処理装置、画像処理方法、および画像処理プログラム
JP2006313442A (ja) 2005-05-09 2006-11-16 Pfu Ltd 帳票配信システム及び帳票配信制御方法並びにプログラム
JP2007058254A (ja) * 2005-08-22 2007-03-08 Hitachi Ltd 印刷制御装置
JP4869031B2 (ja) * 2005-12-28 2012-02-01 キヤノン株式会社 印刷システム、サーバ装置及びジョブ制御方法

Also Published As

Publication number Publication date
JP2009054044A (ja) 2009-03-12
US20090059284A1 (en) 2009-03-05
US8493591B2 (en) 2013-07-23

Similar Documents

Publication Publication Date Title
JP4916401B2 (ja) ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラム
JP4262270B2 (ja) 情報処理装置及び印刷装置制御方法
JP5319237B2 (ja) 印刷システム及びその制御方法
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
US7283266B2 (en) Information processing apparatus and print control apparatus, data processing method, storage medium and program
US20100208298A1 (en) Image forming apparatus
US8564813B2 (en) Distributed printing system, print control method for determining printing output locations according to content and estimated time information, and program
JP2006023830A (ja) 出力終了通知方式、出力制御装置、制御プログラム及び記憶媒体
JP2005174210A (ja) 情報処理装置、印刷システム、負荷分散印刷方法、及び制御プログラム
JP3833213B2 (ja) 情報処理装置、印刷システム、負荷分散印刷方法、及びプログラム並びに記憶媒体
JP4971778B2 (ja) 印刷管理装置、印刷管理方法、及びコンピュータプログラム
CN102779018B (zh) 控制装置、控制方法和控制***
JP2009151467A (ja) 配信印刷システム
JP2005173920A (ja) 情報処理装置、負荷分散印刷方法、プログラム、及び記憶媒体
CN107066217B (zh) 图像形成设备和图像形成设备的控制方法
JP3880575B2 (ja) 印刷設定方法及びコンピュータ
JP4886501B2 (ja) 印刷装置、印刷制御方法、及びプログラム
JP2006252297A (ja) プリントシステム
JPH06348436A (ja) リモート印刷システム
JP2019160057A (ja) プリントサーバーと、その制御方法とプログラム
JP2009151470A (ja) 印刷制御装置および、印刷制御方法ならびに印刷制御方法を実行するプログラム
JP2020190787A (ja) 印刷システム、印刷制御装置、プログラム、および印刷制御装置の制御方法
JP2019215752A (ja) 印刷システム、印刷装置と情報処理装置及びその制御方法、並びにプログラム
JP4110021B2 (ja) 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体
JP2006178767A (ja) 印刷予約システム及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111221

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4916401

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees