JP6973067B2 - データ処理プログラム、データ処理方法、及びデータ処理装置 - Google Patents

データ処理プログラム、データ処理方法、及びデータ処理装置 Download PDF

Info

Publication number
JP6973067B2
JP6973067B2 JP2017254542A JP2017254542A JP6973067B2 JP 6973067 B2 JP6973067 B2 JP 6973067B2 JP 2017254542 A JP2017254542 A JP 2017254542A JP 2017254542 A JP2017254542 A JP 2017254542A JP 6973067 B2 JP6973067 B2 JP 6973067B2
Authority
JP
Japan
Prior art keywords
server
job
print
information
data
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.)
Active
Application number
JP2017254542A
Other languages
English (en)
Other versions
JP2019121081A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017254542A priority Critical patent/JP6973067B2/ja
Priority to US16/221,531 priority patent/US20190205069A1/en
Publication of JP2019121081A publication Critical patent/JP2019121081A/ja
Application granted granted Critical
Publication of JP6973067B2 publication Critical patent/JP6973067B2/ja
Active 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00954Scheduling operations or managing resources
    • 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/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • 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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1213Improving printing performance achieving reduced delay between job submission and print start at an intermediate node or at the final node
    • 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/1287Remote printer device, e.g. being remote from client or server via internet
    • 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/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • 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/1267Job repository, e.g. non-scheduled jobs, delay printing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Description

本件は、データ処理プログラム、データ処理方法、及びデータ処理装置に関する。
クライアントからのリクエストを、多重化した処理サーバへ振り分ける負荷分散技術が知られている。また、印刷ジョブの処理においては、同一プリンタに対する印刷ジョブを要求順に処理することが望ましいなど、処理の順序が意味を有することも知られている。さらに、印刷ジョブのような処理の順序が意味を持つ用途においては、上記技術では、処理サーバへ処理を振り分ける前の処理の順序を保証することが難しいことも知られている(以上、例えば特許文献1参照)。
特開2013−105237号公報
例えば、連続する2つの印刷ジョブが、上記技術に基づいて同等の性能を有する異なる処理サーバに振り分けられると、2つの印刷ジョブの処理に要する処理量(例えばデータ量やページ量など)によっては、2つの印刷ジョブの処理が完了する順序が振り分けられた順序と変わる可能性がある。
そして、処理が完了した印刷ジョブが各処理サーバから同一プリンタに出力されると、先に処理が完了した印刷ジョブがそのプリンタで実行され、次いで、後に処理が完了した印刷ジョブがそのプリンタで実行される。すなわち、印刷ジョブを要求した順序と異なる印刷順序でそのプリンタから印刷対象が出力される場合があり、印刷順序にばらつきが発生するという問題がある。
そこで、1つの側面では、印刷順序のばらつきを解消できるデータ処理プログラム、データ処理方法、及びデータ処理装置を提供することを目的とする。
1つの実施態様では、データ処理プログラムは、印刷指示を受け付けた特定の画像形成装置に対応付けられた第1情報を受信した場合、画像形成装置に依存しない印刷ジョブである第1データに基づいて前記特定の画像形成装置に依存する印刷ジョブである第2データをそれぞれ生成して前記特定の画像形成装置に送信する複数のサーバ装置の各負荷に応じて、受信した第1情報を前記複数のサーバ装置のいずれかに送信し、前記第1情報を受信したサーバ装置から送信された該サーバ装置に対応付けられた第2情報を受信した場合、前記第1情報と前記第2情報とを対応付けて管理し、前記第2情報と対応付けられた前記第1情報と関連付けられた前記第1データを、前記第1情報を受信したサーバ装置に送信する、処理をコンピュータに実行させる。
印刷順序のばらつきを解消することができる。
図1は印刷支援システムの一例を説明するための図である。 図2はサーバ装置のハードウェア構成の一例である。 図3は第1実施形態に係るデータセンターの詳細を説明するための図である。 図4(a)はWebサーバのブロック図の一例である。図4(b)は管理サーバのブロック図の一例である。 図5(a)は保管サーバのブロック図の一例である。図5(b)はDBサーバのブロック図の一例である。 図6はジョブ情報記憶部の一例である。 図7は印刷サーバのブロック図の一例である。 図8は保管処理の一例を示す処理シーケンス図である。 図9は表示処理の一例を示す処理シーケンス図である。 図10は印刷対象選択画面の一例である。 図11は第1実施形態に係る印刷処理の一例を示す処理シーケンス図(その1)である。 図12は第1実施形態に係る印刷処理の一例を示す処理シーケンス図(その2)である。 図13(a)〜(c)は第1管理テーブルの一例である。 図14(a)〜(c)は第2管理テーブルの一例である。 図15は第2実施形態に係るデータセンターの詳細を説明するための図である。 図16は監視サーバのブロック図の一例である。 図17は第2実施形態に係る印刷処理の一例を示す処理シーケンス図である。 図18(a)及び(b)は第2管理テーブルの他の一例である。
以下、本件を実施するための形態について図面を参照して説明する。
(第1実施形態)
図1は印刷支援システムSの一例を説明するための図である。印刷支援システムSはクライアント端末100とサーバ装置200と複合機300とを備えている。複合機300は少なくとも印刷機能と通信機能とを備えた事務機器である。複合機300はファクシミリ機能やスキャナ機能の少なくとも一方を備えていてもよい。図1では、画像形成装置の一例として複数の複合機300が示されているが、複数の複合機300はメーカと機種の少なくとも一方が相違する。詳細は後述するが、複数の複合機300の一部又は全部がプリンタであってもよい。一方、サーバ装置200はクラウドCL上のデータセンターDCに設置される。サーバ装置200をデータセンターDCに設置せずに、サーバ装置200を自社内に設置してもよい。すなわち、印刷支援システムSをクラウド型で運用してもよいし、オンプレミス型で運用してもよい。尚、図1では、複数のサーバ装置200が示されているが、複数のサーバ装置200が備える機能の詳細については後述する。
クライアント端末100は印刷支援システムSを利用するユーザ10によって操作される。クライアント端末100は例えば拠点Xで操作される。拠点Xとしては例えば事業所や工場といった企業の保有施設やユーザ10の自宅などがある。クライアント端末100はユーザ10の操作に基づいて種々の文書ファイルを生成する。また、クライアント端末100はユーザ10の操作に基づいて印刷ジョブを生成して出力する。印刷ジョブは文書ファイルをプリンタ110や複合機300に印刷させるデータである。
例えば、拠点Xに設置されたプリンタ110に文書ファイルを印刷させる操作をユーザ10が行うと、クライアント端末100は当該操作に基づいてプリンタ110のメーカや機種に依存する描画形式の印刷ジョブを生成し、生成した描画形式の印刷ジョブをプリンタ110に向けて送信する。尚、描画形式の印刷ジョブとしては、例えばPage Description Language(PDL)形式の印刷ジョブがある。以下、描画形式の印刷ジョブを描画ジョブと呼ぶ。
クライアント端末100とプリンタ110は通信ネットワークNW1と接続されたアクセスポイントAPを介して接続されている。したがって、クライアント端末100から送信された描画ジョブは無線通信WL1によってアクセスポイントAPに到達し、アクセスポイントAPは無線通信WL2によって描画ジョブをプリンタ110に転送する。これにより、プリンタ110は描画ジョブの解析結果に基づいて文書ファイルに応じた画像を紙媒体111に印刷する。尚、通信ネットワークNW1としては例えばLocal Area Network(LAN)などがある。無線通信WL1,WL2としては例えばWi−Fi(登録商標)といった近距離無線通信がある。無線通信WL1,WL2に代えて、有線通信を利用してもよい。
一方、拠点Xと場所や地域が異なる拠点Yや拠点Zに設置された複合機300又は拠点Xに設置された複合機(不図示)に文書ファイルを印刷させる操作をユーザ10がクライアント端末100に対して行うと、クライアント端末100は当該操作に基づいて複合機300のメーカや機種に依存しない中間形式の印刷ジョブを生成する。中間形式の印刷ジョブはユーザ10を識別するユーザIDを含んでいる。そして、クライアント端末100は生成した中間形式の印刷ジョブのサーバ装置200への保管を指示する保管指示のデータ(以下、単に保管指示という。)をサーバ装置200に向けて送信する。保管指示は中間形式の印刷ジョブを含んでいる。尚、中間形式の印刷ジョブとしては、例えばXML Paper Specification(XPS)やEnhanced Meta File(EMF)形式の印刷ジョブがある。以下、中間形式の印刷ジョブを中間ジョブと呼ぶ。
ここで、図1に示すように、クライアント端末100とサーバ装置200はアクセスポイントAP、通信ネットワークNW1及び通信ネットワークNW2を介して接続されている。通信ネットワークNW2としては、例えばインターネットがある。印刷支援システムSが上述したオンプレミス型で運用されている場合には、通信ネットワークNW2としてWide Area Network(WAN)が利用される。したがって、クライアント端末100から送信された保管指示は無線通信WL1によってアクセスポイントAPに到達し、通信ネットワークNW1,NW2を介してサーバ装置200に到達する。サーバ装置200はクライアント端末100から送信された保管指示を受信すると、受信した保管指示に含まれる中間ジョブを保管する。
その後、図1に示すように、ユーザ10が拠点Xから例えば拠点Yに移動し、拠点Yに設置された複合機300に対し中間ジョブの一覧表示を指示する操作を行うと、複合機300は当該操作に応じた表示指示のデータ(以下、単に表示指示という。)をサーバ装置200に向けて送信する。サーバ装置200は表示指示を受信すると、表示指示を送信した複合機300に向けて、保管した中間ジョブの一覧を送信する。
また、ユーザ10が複合機300で中間ジョブの一覧の中から少なくとも1つの中間ジョブを選択し、選択した中間ジョブに対応する文書ファイルの印刷を指示する操作を行うと、複合機300は当該操作に応じた印刷指示のデータ(以下、単に印刷指示という。)をサーバ装置200に向けて送信する。サーバ装置200は印刷指示を受信すると、印刷指示の送信元と印刷対象の文書ファイルを特定し、特定した文書ファイルに対応する中間ジョブを、印刷指示を送信した複合機300に依存する描画ジョブに変換する。そして、サーバ装置200はその複合機300に向けて描画ジョブを送信する。
これにより、ユーザ10が操作を行った複合機300は描画ジョブの解析結果に基づいて文書ファイルに応じた画像を紙媒体(不図示)に印刷する。したがって、クライアント端末100で生成した文書ファイルの中間ジョブをサーバ装置200に送信しておけば、ユーザ10は拠点Xで印刷した紙媒体111を持参して拠点Yに移動しなくてもよい。結果的に、移動中の紙媒体111の紛失や盗難を回避することができる。
以下、印刷支援システムSの詳細について説明する。
図2はサーバ装置200のハードウェア構成の一例である。尚、上述したクライアント端末100及び複合機300については基本的にサーバ装置200と同様のハードウェア構成であるため、説明を省略する。図2に示すように、サーバ装置200は、少なくともハードウェアプロセッサとしてのCentral Processing Unit(CPU)200A、Random Access Memory(RAM)200B、Read Only Memory(ROM)200C及びネットワークI/F(インタフェース)200Dを含んでいる。サーバ装置200は、必要に応じて、Hard Disk Drive(HDD)200E、入力I/F200F、出力I/F200G、入出力I/F200H、ドライブ装置200Iの少なくとも1つを含んでいてもよい。CPU200Aからドライブ装置200Iまでは、内部バス200Jによって互いに接続されている。このように、サーバ装置200はコンピュータによって実現することができる。尚、CPU200Aに代えてMicro Processing Unit(MPU)をハードウェアプロセッサとして利用してもよい。
入力I/F200Fには、入力装置710が接続される。入力装置710としては、例えばキーボードやマウスなどがある。出力I/F200Gには、表示装置720が接続される。表示装置720としては、例えば液晶ディスプレイがある。入出力I/F200Hには、半導体メモリ730が接続される。半導体メモリ730としては、例えばUniversal Serial Bus(USB)メモリやフラッシュメモリなどがある。入出力I/F200Hは、半導体メモリ730に記憶されたプログラムやデータを読み取る。入力I/F200F及び入出力I/F200Hは、例えばUSBポートを備えている。出力I/F200Gは、例えばディスプレイポートを備えている。
ドライブ装置200Iには、可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCompact Disc(CD)−ROM、Digital Versatile Disc(DVD)といったリムーバブルディスクがある。ドライブ装置200Iは、可搬型記録媒体740に記録されたプログラムやデータを読み込む。ネットワークI/F200Dは、例えば通信回路及びLANポートを備えている。ネットワークI/F200Dは上述した通信ネットワークNW2と接続される。
上述したRAM200Bには、ROM200CやHDD200Eに記憶されたプログラムがCPU200Aによって一時的に格納される。RAM200Bには、可搬型記録媒体740に記録されたプログラムがCPU200Aによって一時的に格納される。格納されたプログラムをCPU200Aが実行することにより、CPU200Aは後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述する処理シーケンス図に応じたものとすればよい。
図3は第1実施形態に係るデータセンターDCの詳細を説明するための図である。図3ではデータの流れの一例を矢印によって表現しているが、データの流れは図3に示す流れに限定されず、矢印によって表現されてないデータの流れが発生する場合もある。データセンターDCは、上述したサーバ装置200として、複数のWebサーバ210、複数の管理サーバ220、保管サーバ230、Database(DB)サーバ240、及び複数の印刷サーバ250を備えている。印刷サーバ250が後述するデータ処理装置に相当する。複数のWebサーバ210は並列に配置され、いずれも共通する機能を有する。同様に、複数の管理サーバ220は並列に配置され、いずれも共通する機能を有する。複数の印刷サーバ250は並列に配置され、いずれも共通する機能を有する。すなわち、複数のWebサーバ210、複数の管理サーバ220、及び複数の印刷サーバ250はいずれも多重化又は冗長化されている。尚、複数のWebサーバ210、複数の管理サーバ220、及び複数の印刷サーバ250の全てが多重化又は冗長化されている必要はなく、少なくとも複数の印刷サーバ250が多重化又は冗長化されていればよい。
また、データセンターDCは第1のロードバランサ(以下、第1LBという。)21、第2のロードバランサ(以下、第2LBという。)22、及び第3のロードバランサ(以下、第3LBという。)23を備えている。第1LB21、第2LB22、及び第3LB23は、例えば、Webサーバ210、管理サーバ220、保管サーバ230、DBサーバ240、及び印刷サーバ250と異なるサーバ装置200や負荷を分散する処理を実行する所定の機器で実現することができる。第1LB21は複数のWebサーバ210にかかる負荷を分散する。例えば、第1LB21はクライアント端末100から送信された保管指示を受信すると、複数のWebサーバ210のいずれかをサイクリック(循環的)に選択し、選択したWebサーバ210に保管指示を送信する。第1LB21は複数のWebサーバ210の負荷を監視し、最も負荷がかかっていないWebサーバ210を選択してもよい。これにより、1つのWebサーバ210に負荷が集中することが回避される。第1LB21が複合機300から表示指示や印刷指示を受信した場合についても保管指示の場合と同様である。尚、第2LB22,第3LB23は基本的に第1LB21と同様の処理を行うため、詳細な説明を省略する。このように、データセンターDCが第1LB21、第2LB22、及び第3LB23を備えることで、データセンターDCが提供するサービスの可用性が確保される。尚、仮に複数の印刷サーバ250のみが多重化又は冗長化されている場合には、データセンターDCは第3LB23を備えていればよい。
ここで、Webサーバ210は第1LB21から送信された保管指示、表示指示、及び印刷指示を受信すると、受信した保管指示、表示指示、及び印刷指示を第2LB22に送信する。第2LB22は保管指示、表示指示、及び印刷指示を受信すると、第1LB21と同様の方式により管理サーバ220のいずれかを選択し、選択した管理サーバ220に保管指示、表示指示、及び印刷指示を送信する。
管理サーバ220は保管サーバ230及びDBサーバ240を管理する。管理サーバ220は第2LB22から送信された保管指示、表示指示、及び印刷指示を受信すると、指示の種別を判断する。管理サーバ220は保管指示を受信したと判断した場合、保管指示に含まれる中間ジョブを保管サーバ230に保管する。管理サーバ220は表示指示を受信したと判断した場合、保管サーバ230から中間ジョブの一覧を取得し、取得した中間ジョブの一覧を複合機300に向けて送信する。管理サーバ220は印刷指示を受信したと判断した場合、印刷指示に含まれる中間ジョブに関する各種情報をジョブ情報としてDBサーバ240に登録したり、印刷サーバ250に描画ジョブの生成処理を依頼する処理依頼を第3LB23に送信したりする。尚、管理サーバ220が印刷指示を受信した場合に実行する処理の詳細については後述する。
第3LB23は処理依頼を受信すると、第1LB21と同様の方式により印刷サーバ250のいずれかを選択し、選択した印刷サーバ250に処理依頼を送信する。印刷サーバ250は第3LB23から送信された処理依頼を受信すると、自身に割り当てられた識別情報(以下、サーバIDという。)を第2LB22に送信したり、管理サーバ220に中間ジョブを要求するジョブ要求を送信したりする。尚、詳細は後述するが、印刷サーバ250は管理サーバ220からジョブ要求に応じて送信された中間ジョブを、第3LB23を介さずに管理サーバ220から直接取得した場合、中間ジョブから描画ジョブを生成し、生成した描画ジョブを、印刷指示を送信した複合機300に向けて送信する。これにより、描画ジョブを受信した複合機300は描画ジョブの解析結果に基づいた印刷処理を実行する。
次に、図4から図7を参照して、上述したWebサーバ210、管理サーバ220、保管サーバ230、DBサーバ240、及び印刷サーバ250の機能について説明する。
図4(a)はWebサーバ210のブロック図の一例である。図4(b)は管理サーバ220のブロック図の一例である。図5(a)は保管サーバ230のブロック図の一例である。図5(b)はDBサーバ240のブロック図の一例である。図6はジョブ情報記憶部243の一例である。図7は印刷サーバ250のブロック図の一例である。
尚、通信部211,221,231,241,251は上述したネットワークI/F200Dによって実現することができる。処理部212,222,232,242、制御部252、並びに第1生成部253、第2生成部254、及び第3生成部255は上述したCPU200Aによって実現することができる。中間ジョブ記憶部233及びジョブ情報記憶部243は上述したRAM200BやHDD200Eによって実現することができる。
まず、Webサーバ210について説明する。図4(a)に示すように、Webサーバ210は通信部211と処理部212を備えている。通信部211はWebサーバ210と第1LB21及び第2LB22との通信を制御する。処理部212は第1LB21から送信された保管指示、表示指示、及び印刷指示を通信部211が受信すると、通信部211が受信した保管指示、表示指示、及び印刷指示に対して種々の処理を実行する。処理部212が実行する処理としては、例えばプロトコルに関するプロトコル処理などがある。保管指示、表示指示、及び印刷指示が暗号化されている場合には、処理部212が暗号を復号する復号処理を実行してもよい。処理部212は保管指示、表示指示、及び印刷指示に対して種々の処理を実行し終えると、処理済の保管指示、表示指示、及び印刷指示を通信部211を介して送信する。
次に、管理サーバ220について説明する。管理サーバ220は通信部221と処理部222を備えている。通信部221は管理サーバ220と第2LB22、第3LB23、保管サーバ230、及びDBサーバ240との通信を制御する。処理部222は第2LB22から送信された保管指示、表示指示、及び印刷指示を受信すると、指示の種別を判断し、指示の種別に応じた処理を実行する。
例えば、処理部222は保管指示や表示指示を受信したと判断した場合、通信部221を介して保管指示や表示指示を保管サーバ230に送信する。一方、処理部222は印刷指示を受信したと判断した場合、印刷指示に含まれるジョブ情報のDBサーバ240への登録を指示する登録指示を生成したり、印刷サーバ250に描画ジョブの生成処理を依頼する処理依頼を生成したりする。処理部222は登録指示を生成した場合、通信部221を介して登録指示をDBサーバ240に送信する。登録指示はジョブ情報を含んでいる。処理部222は処理依頼を生成した場合、通信部221を介して処理依頼を第3LB23に送信する。
次に、保管サーバ230について説明する。保管サーバ230は通信部231と処理部232と中間ジョブ記憶部233を備えている。通信部231は保管サーバ230と管理サーバ220との通信を制御する。処理部232は管理サーバ220から送信された保管指示を受信すると、保管指示に含まれる中間ジョブを中間ジョブ記憶部233に保管する。一方、処理部232は管理サーバ220から送信された表示指示を受信すると、中間ジョブ記憶部233に保管された中間ジョブの一覧を取得し、中間ジョブの一覧を通信部231を介して管理サーバ220に送信する。尚、管理サーバ220は中間ジョブの一覧を受信すると、表示指示を送信した複合機300に向けて中間ジョブの一覧を送信する。
次に、DBサーバ240について説明する。DBサーバ240は通信部241と処理部242とジョブ情報記憶部243を備えている。通信部241はDBサーバ240と管理サーバ220との通信を制御する。処理部242は管理サーバ220から送信された登録指示を受信すると、登録指示に含まれるジョブ情報をジョブ情報記憶部243に登録する。
特に、処理部242は、図6に示すように、ジョブ情報に含まれる機器ID、印刷指示受付日時、及び文書名をジョブ情報記憶部243の第1管理テーブルT1に登録する。処理部242は、文書名が付与された文書ファイルに設定された各種設定情報(モノクロ印刷やカラー印刷など)を第1管理テーブルT1に登録してもよい。ここで、機器IDは複合機300に対応付けられた識別子である。印刷指示受付日時はユーザ10が印刷を指示する操作を複合機300に行った日時を表している。図6では、一例として秒単位の印刷指示受付日時が示されているが、0.01秒単位まで拡張してもよい。これにより、秒単位で印刷指示受付日時が同時であっても、0,01秒単位で異なっていれば、印刷指示受付日時を区別することができる。文書名はユーザ10が印刷対象として選択した文書ファイルの名称を表している。尚、処理部242はジョブ情報を登録する際にジョブ情報を識別するジョブIDを生成し、生成したジョブIDをジョブ情報と関連付けて登録する。一方、処理部242は管理サーバ220による中間ジョブの送信状況に応じてステータスを定期的に更新する。
また、処理部242は、図6に示すように、ジョブ情報に含まれる機器IDをジョブ情報記憶部243の第2管理テーブルT2に登録する。処理部242は、ジョブ情報に含まれる機器IDと重複する機器IDが第2管理テーブルT2に登録されている場合、その機器IDの第2管理テーブルT2への登録を中止する。これにより、第2管理テーブルT2内での機器IDの重複は回避される。尚、処理部242は所定のタイミングでサーバIDを第2管理テーブルT2に登録する。処理部242がサーバIDを登録する際の処理については後述する。
次に、印刷サーバ250について説明する。印刷サーバ250は通信部251と制御部252と第1生成部253と第2生成部254と第3生成部255とを備えている。通信部251は印刷サーバ250と第3LB23及び複合機300との通信を制御する。制御部252は第3LB23から送信された処理依頼を通信部251を介して受信すると、処理依頼を送信した管理サーバ220に向けて自身のサーバIDを送信する。
尚、詳細は後述するが、制御部252は処理依頼を送信した管理サーバ220から中間ジョブを受信した場合、その中間ジョブに対応する第1生成部253、第2生成部254、及び第3生成部255のいずれかを選択する。制御部252は選択した第1生成部253、第2生成部254、及び第3生成部255のいずれかに中間ジョブを出力する。第1生成部253、第2生成部254、及び第3生成部255は、いずれも中間ジョブから複合機300の機種又はメーカに応じた描画ジョブを生成する。第1生成部253、第2生成部254、及び第3生成部255はいずれも複合機300の機種又はメーカに応じたプリンタドライバによって実現することができる。例えば、第2生成部254が中間ジョブを受け付けると、中間ジョブから描画ジョブを生成し、生成した描画ジョブを、通信部251を介して複合機300に向けて送信する。
続いて、印刷支援システムSの動作について説明する。
まず、図8を参照して、中間ジョブを保管サーバ230に保管する保管処理について説明する。図8は保管処理の一例を示す処理シーケンス図である。クライアント端末100は保管指示を第1LBに送信する(ステップS101)。より詳しくは、クライアント端末100が備える制御部(不図示)が保管指示を第1LB21に送信する。尚、上述したように、保管指示は中間ジョブを含んでいる。クライアント端末100が保管指示を送信すると、第1LB21が保管指示を受信し、Webサーバ210のいずれかを選択する(ステップS102)。第1LB21はWebサーバ210のいずれかを選択すると、選択したWebサーバ210に保管指示を送信する(ステップS103)。
Webサーバ210は第1LB21から送信された保管指示を受信する。より詳しくは、Webサーバ210の処理部212は通信部211を介して保管指示を受信する。Webサーバ210は保管指示を受信すると、受信した保管指示を第2LB22に送信する(ステップS104)。より詳しくは、Webサーバ210の処理部212は保管指示を受信すると、受信した保管指示を、通信部211を介して第2LB22に送信する。Webサーバ210が保管指示を送信すると、第2LB22が保管指示を受信し、管理サーバ220のいずれかを選択する(ステップS105)。第2LB22は管理サーバ220のいずれかを選択すると、選択した管理サーバ220に保管指示を送信する(ステップS106)。
管理サーバ220は第2LB22から送信された保管指示を受信する。より詳しくは、管理サーバ220の処理部222は通信部221を介して第2LB22から送信された保管指示を受信する。管理サーバ220は保管指示を受信すると、保管指示に含まれる中間ジョブを保管サーバ230に保管する(ステップS107)。より詳しくは、管理サーバ220の処理部222は保管指示を受信すると、受信した保管指示を保管サーバ230に送信し、保管サーバ230の処理部232は保管指示を受信すると、受信した保管指示に含まれる中間ジョブを中間ジョブ記憶部233に保管する。これにより、中間ジョブ記憶部233にはクライアント端末100で生成された中間ジョブが蓄積される。尚、本実施形態では、上述したように、中間ジョブを含む保管指示をクライアント端末100が送信し、管理サーバ220がその保管指示に含まれる中間ジョブを保管サーバ230に保管する例を説明したが、このような例に特に限定されない。例えば、クライアント端末100の制御部(不図示)は中間ジョブと中間ジョブを含まない保管指示とを異なるタイミングで別々に送信してもよい。この場合、管理サーバ220の処理部222はクライアント端末100から送信された中間ジョブを受信すると、受信した中間ジョブを保管サーバ230に送信する。保管サーバ230の処理部232は中間ジョブを受信すると、保管指示を受信するまで、受信した中間ジョブを保持する。したがって、保管サーバ230には中間ジョブが溜まる。その後、管理サーバ220の処理部222はクライアント端末100から送信された保管指示を受信すると、受信した保管指示を保管サーバ230に送信する。保管サーバ230の処理部232は保管指示を受信すると、保持している中間ジョブをまとめて中間ジョブ記憶部233に保管する。このような保管手法であってもよい。
続いて、図9及び図10を参照して、中間ジョブの一覧を複合機300に一覧表示する表示処理について説明する。
図9は表示処理の一例を示す処理シーケンス図である。図10は印刷対象選択画面の一例である。まず、図9に示すように、複合機300は表示指示を第1LBに送信する(ステップS201)。上述したように、複合機300に対し中間ジョブの一覧表示を指示する操作(例えばログイン操作など)をユーザ10が行うと、複合機300が備える制御部(不図示)が表示指示を第1LB21に送信する。表示指示はユーザ10を識別するユーザIDを含んでいる。複合機300が表示指示を送信すると、第1LB21が表示指示を受信し、Webサーバ210のいずれかを選択する(ステップS202)。第1LB21はWebサーバ210のいずれかを選択すると、選択したWebサーバ210に表示指示を送信する(ステップS203)。
Webサーバ210は第1LB21から送信された表示指示を受信する。より詳しくは、Webサーバ210の処理部212は通信部211を介して表示指示を受信する。Webサーバ210は表示指示を受信すると、受信した表示指示を第2LB22に送信する(ステップS204)。より詳しくは、Webサーバ210の処理部212は表示指示を受信すると、受信した表示指示を、通信部211を介して第2LB22に送信する。Webサーバ210が表示指示を送信すると、第2LB22が表示指示を受信し、管理サーバ220のいずれかを選択する(ステップS205)。第2LB22は管理サーバ220のいずれかを選択すると、選択した管理サーバ220に表示指示を送信する(ステップS206)。
管理サーバ220は第2LB22から送信された表示指示を受信する。より詳しくは、管理サーバ220の処理部222は通信部221を介して第2LB22から送信された表示指示を受信する。管理サーバ220は表示指示を受信すると、保管サーバ230から中間ジョブの一覧を取得する(ステップS207)。より詳しくは、管理サーバ220の処理部222は表示指示を受信すると、受信した表示指示を保管サーバ230に送信する。保管サーバ230の処理部232は表示指示を受信すると、受信した表示指示に含まれるユーザIDに基づいて中間ジョブ記憶部233からユーザIDに応じた中間ジョブに取得して管理サーバ220の処理部222に送信する。これにより、管理サーバ220は保管サーバ230から中間ジョブの一覧を取得する。
管理サーバ220は中間ジョブの一覧を取得すると、取得した中間ジョブの一覧を複合機300に送信する(ステップS208)。より詳しくは、管理サーバ220の処理部222は通信部221を介して中間ジョブの一覧を送信する。これにより、図10に示すように、複合機300の表示部(不図示)には、ユーザ10が行った操作に応じた中間ジョブ20の一覧が表示される。特に、図10に示すように、ユーザ10は印刷対象として中間ジョブ20を選択し、選択した中間ジョブに対応する文書ファイルの印刷を指示する操作を行うことができる。
続いて、図11から図14を参照して、複合機300による印刷処理について説明する。
図11は第1実施形態に係る印刷処理の一例を示す処理シーケンス図(その1)である。図12は第1実施形態に係る印刷処理の一例を示す処理シーケンス図(その2)である。図13(a)〜(c)は第1管理テーブルT1の一例である。図14(a)〜(c)は第2管理テーブルT2の一例である。尚、図11の処理シーケンス図(その1)と図12の処理シーケンス図(その2)は対応する記号(具体的には記号「A」〜「G」)によって連続している。
図11に示すように、まず、複合機300は印刷指示を第1LB21に送信する(ステップS301)。上述したように、選択した中間ジョブに対応する文書ファイルの印刷を指示する操作をユーザ10が行うと、複合機300が備える制御部(不図示)が印刷指示を第1LB21に送信する。印刷指示は選択した中間ジョブに関するジョブ情報を含んでいる。印刷指示は、ジョブ情報と併せて、印刷指示受付日時及び操作を受け付けた複合機300の機器IDも含んでいる。複合機300が印刷指示を送信すると、第1LB21が印刷指示を受信し、Webサーバ210のいずれかを選択する(ステップS302)。第1LB21はWebサーバ210のいずれかを選択すると、選択したWebサーバ210に印刷指示を送信する(ステップS303)。
Webサーバ210は第1LB21から送信された印刷指示を受信する。より詳しくは、Webサーバ210の処理部212は通信部211を介して印刷指示を受信する。Webサーバ210は印刷指示を受信すると、受信した印刷指示を第2LB22に送信する(ステップS304)。より詳しくは、Webサーバ210の処理部212は印刷指示を受信すると、受信した印刷指示を、通信部211を介して第2LB22に送信する。Webサーバ210が印刷指示を送信すると、第2LB22が印刷指示を受信し、管理サーバ220のいずれかを選択する(ステップS305)。第2LB22は管理サーバ220のいずれかを選択すると、選択した管理サーバ220に印刷指示を送信する(ステップS306)。
管理サーバ220は第2LB22から送信された印刷指示を受信する。より詳しくは、管理サーバ220の処理部222は通信部221を介して第2LB22から送信された印刷指示を受信する。管理サーバ220は印刷指示を受信すると、DBサーバ240にジョブ情報を登録する(ステップS307)。より詳しくは、管理サーバ220の処理部222は印刷指示を受信すると、受信した印刷指示をDBサーバ240に送信する。DBサーバ240の処理部242は印刷指示を受信すると、受信した印刷指示に含まれるジョブ情報、印刷指示受付日時及び機器IDを互いに関連付けてジョブ情報記憶部243に登録する。
これにより、図13(a)に示すように、第1管理テーブルT1には印刷対象選択画面で選択された文書名「アジェンダ」に関するジョブ情報と文書名「サンプルα」に関するジョブ情報が、ジョブ情報と関連付けられた機器ID「M02」及び印刷指示受付日時「17/10/10 14:15:20」とともに登録される。また、図14(a)に示すように、第2管理テーブルT2には、ユーザ10が選択した中間ジョブに対応する文書ファイルの印刷を指示する操作を行った複合機300の機器ID「M02」が登録される。
図11に戻り、管理サーバ220はジョブ情報を登録すると、処理依頼を第3LB23に送信する(ステップS308)。より詳しくは、管理サーバ220の処理部222は通信部221を介して処理依頼を送信する。処理依頼は機器IDを含んでいる。管理サーバ220が処理依頼を送信すると、第3LB23が処理依頼を受信し、印刷サーバ250のいずれかを選択する(ステップS309)。第3LB23は印刷サーバ250のいずれかを選択すると、図12に示すように、選択した印刷サーバ250に処理依頼を送信する(ステップS310)。
印刷サーバ250は第3LB23から送信された処理依頼を受信する。より詳しくは、印刷サーバ250の制御部252は通信部251を介して第3LB23から送信された処理依頼を受信する。印刷サーバ250は処理依頼を受信すると、第2LB22にサーバIDを送信する(ステップS311)。より詳しくは、印刷サーバ250の制御部252は通信部251を介して自身に割り当てられたサーバIDを第2LB22に送信する。尚、制御部252はサーバIDを第1LB21に送信してもよい。
印刷サーバ250がサーバIDを送信すると、第2LB22がサーバIDを受信し、管理サーバ220のいずれかを選択する(ステップS312)。第2LB22は管理サーバ220のいずれかを選択すると、選択した管理サーバ220にサーバIDを送信する(ステップS313)。
管理サーバ220は第2LB22から送信されたサーバIDを受信する。より詳しくは、管理サーバ220の処理部222は通信部221を介して第2LB22から送信されたサーバIDを受信する。管理サーバ220はサーバIDを受信すると、DBサーバ240に登録されたジョブ情報を更新する(ステップS314)。より詳しくは、管理サーバ220の処理部222はサーバIDを受信すると、受信したサーバIDをDBサーバ240に送信する。DBサーバ240の処理部242はサーバIDを受信すると、受信したサーバIDに基づいてジョブ情報記憶部243を更新する。
具体的には、処理部242は第2管理テーブルT2からサーバIDが関連付けられていない機器IDを特定し、特定した機器IDに受信したサーバIDを関連付ける。これにより、図14(b)に示すように、第2管理テーブルT2に既に登録された機器ID「M02」に印刷サーバ250から送信されたサーバID「PS02」が関連付けられる。すなわち、機器ID「M02」が割り当てられた複合機300に送信する描画ジョブの生成は、サーバID「PS02」が割り当てられた印刷サーバ250が担当すると決定される。
また、印刷サーバ250がステップS311の処理を実行し、予め定めた設定時間を経過した後、図12に示すように、印刷サーバ250は中間ジョブを要求するジョブ要求を第2LB22に送信する(ステップS315)。ジョブ要求は要求元のサーバIDとユーザが操作を行った複合機300の機器IDの両方を含んでいる。ジョブ要求はサーバIDと機器IDのいずれか一方を含んでいてもよい。尚、設定時間は上述したステップS312からS314までの処理が十分に完了する程度の時間であることが望ましい。設定時間に代えて、印刷サーバ250が管理サーバ220にステップS314の処理が完了したか否かを問い合わせるポーリングを定期的に実行し、ステップS314の処理が完了したことを確認した場合に、印刷サーバ250はステップS315の処理を実行してもよい。
印刷サーバ250がジョブ要求を送信すると、第2LB22がジョブ要求を受信し、管理サーバ220のいずれかを選択する(ステップS316)。第2LB22は管理サーバ220のいずれかを選択すると、選択した管理サーバ220にジョブ要求を送信する(ステップS317)。
管理サーバ220は第2LB22から送信されたジョブ要求を受信する。より詳しくは、管理サーバ220の処理部222は通信部221を介して第2LB22から送信されたジョブ要求を受信する。管理サーバ220はジョブ要求を受信すると、保管サーバ230に保管された中間ジョブを第3LB23を介さずに印刷サーバ250に送信する(ステップS318)。より詳しくは、管理サーバ220の処理部222はジョブ要求を受信すると、受信したジョブ要求をDBサーバ240に送信する。DBサーバ240の処理部242はジョブ要求を受信すると、受信したジョブ要求に基づいてジョブ情報記憶部243からジョブ情報を取得する。
具体的には、処理部242はジョブ要求に含まれる機器IDに基づいてその機器IDに応じたジョブ情報の中から印刷指示受付日時が最も早いジョブ情報を第1管理テーブルT1から特定する。また、処理部232はジョブ要求に含まれる機器IDに基づいてその機器IDに応じたサーバIDを第2管理テーブルT2から特定する。処理部242は特定したジョブ情報とサーバIDを通信部241を介して管理サーバ220に送信する。
管理サーバ220はジョブ情報とサーバIDを受信すると、受信したジョブ情報に基づいて、保管サーバ230から中間ジョブを取得する。特に、管理サーバ220の処理部222は受信したジョブ情報を含む取得依頼を生成して保管サーバ230に送信し、保管サーバ230の処理部232は取得依頼に含まれるジョブ情報に基づいて、中間ジョブ記憶部233からジョブ情報に応じた中間ジョブを取得する。ジョブ情報には少なくとも文書名が含まれているため、処理部232は中間ジョブ記憶部233から文書名に応じた中間ジョブを取得することができる。処理部232は中間ジョブを取得すると、通信部231を介して中間ジョブを管理サーバ220に送信する。これにより、管理サーバ220は中間ジョブを取得する。管理サーバ220は中間ジョブを取得すると、取得した中間ジョブに機器IDを関連付ける。そして、管理サーバ220は機器IDを関連付けた中間ジョブを、DBサーバ240から受信したサーバIDの印刷サーバ250に送信する。
尚、管理サーバ220は中間ジョブを送信すると、DBサーバ240を更新する。より詳しくは、管理サーバ220の処理部222は送信した中間ジョブに対応するジョブ情報の更新依頼をDBサーバ240に送信する。DBサーバ240の処理部242は更新依頼を受信すると、その更新依頼に基づいて、図13(b)に示すように、印刷サーバ250に送信した中間ジョブに対応するジョブ情報のステータスを待機から処理中に変更する。
印刷サーバ250は管理サーバ220から送信された中間ジョブを受信すると、受信した中間ジョブから描画ジョブを生成する(ステップS319)。より詳しくは、印刷サーバ250の制御部252は通信部251を介して中間ジョブを受信すると、中間ジョブと関連付けられた機器IDに対応する第1生成部253、第2生成部254、及び第3生成部255のいずれかを選択する。
例えば、第1生成部253が機器ID「M01」の複合機300で処理可能な描画ジョブを生成し、第2生成部254が機器ID「M02」の複合機300で処理可能な描画ジョブを生成し、第3生成部255が機器ID「M03」の複合機300で処理可能な描画ジョブを生成する場合、制御部252が機器ID「M02」と関連付けられた中間ジョブを受信すると、機器ID「M02」に基づいて第2生成部254を選択する。
制御部252は第1生成部253、第2生成部254、及び第3生成部255のいずれかを選択すると、選択した第1生成部253、第2生成部254、及び第3生成部255のいずれかに中間ジョブを送信する。例えば、制御部252が第2生成部254を選択した場合、選択した第2生成部254に中間ジョブを送信する。これにより、第2生成部254は中間ジョブから描画ジョブを生成する。
図12に示すように、印刷サーバ250は描画ジョブを生成し終えると、生成した描画ジョブを複合機300に送信する(ステップS320)。例えば、第2生成部254が描画ジョブを生成し終えると、第2生成部254は通信部251を介して描画ジョブを複合機300に送信する。特に、第2生成部254は中間ジョブと関連付けられた機器IDの複合機300に描画ジョブを送信する。これにより、複合機300は受信した描画ジョブに応じた画像を紙媒体に印刷することができる。
尚、印刷サーバ250は描画ジョブを送信すると、管理サーバ220にジョブ情報の更新を依頼する更新依頼を送信する。管理サーバ220の処理部222は更新依頼を受信すると、更新依頼に基づいて、図13(c)に示すように、印刷サーバ250に送信した中間ジョブに対応するジョブ情報を第1管理テーブルT1から削除する。また、印刷サーバ250は描画ジョブを送信すると、再びステップS315の処理を実行する。すなわち、印刷サーバ250は管理サーバ220にジョブ要求を送信し、既に受信した中間ジョブと異なる、印刷順序に応じた次の中間ジョブを要求する。これにより、印刷サーバ250は次の中間ジョブを受信し、受信した次の中間ジョブから描画ジョブを生成する。中間ジョブから描画ジョブを生成する印刷サーバ250は第2管理テーブルT2により一意に特定されるため、次の中間ジョブも先に中間ジョブを処理した同じ印刷サーバ250が受信する。言い換えれば、次の中間ジョブが先に中間ジョブを処理した印刷サーバ250とは異なる別の印刷サーバ250が受信することが回避される。印刷サーバ250はこの次の中間ジョブから次の描画ジョブを生成して複合機300に送信する。
すなわち、先に処理した中間ジョブに対応する描画ジョブが複合機300に送信され、印刷順序に応じた次の中間ジョブに対応する次の描画ジョブが複合機300に送信される。したがって、複合機300では印刷順序のばらつきが解消され、印刷順序が保証される。尚、管理サーバ220の処理部222は更新依頼を受信し、印刷サーバ250に送信した中間ジョブに対応するジョブ情報を第1管理テーブルT1に存在しないと判断した場合、図14(c)に示すように、その機器IDに応じた情報を第2管理テーブルT2から削除する。
以上、第1実施形態によれば、印刷サーバ250は制御部252を備えている。制御部252は複合機300に対応付けられた機器IDを受信した場合に、中間ジョブを管理する管理サーバ220に対し、複合機300に送信する描画ジョブに応じた中間ジョブの少なくとも1つを要求するジョブ要求を送信する。そして、制御部252は、少なくとも1つの中間ジョブを受信し、又は描画ジョブを送信した後に、管理サーバ220に対し、複合機300に送信する描画ジョブに応じた中間ジョブのうち、少なくとも1つの中間ジョブと異なる中間ジョブを要求するジョブ要求を送信する。これにより、印刷順序のばらつきを解消することができる。
(第2実施形態)
続いて、本件の第2実施形態について説明する。
図15は第2実施形態に係るデータセンターDCの詳細を説明するための図である。図15に示すように、データセンターDCは上述したサーバ装置200として監視サーバ260を更に備えている点で第1実施形態と相違する。監視サーバ260は印刷サーバ250を監視する。監視サーバ260は印刷サーバ250に障害が発生していることを検知すると、第1LB21を通じて、管理サーバ220に印刷サーバ250の障害を通知する。これにより、管理サーバ220は障害が発生している印刷サーバ250に送信した処理依頼と同様の処理依頼を障害が発生していない印刷サーバ250に送信する。結果的に、処理依頼を受信した印刷サーバ250は障害が発生している印刷サーバ250が実行していた処理と同様の処理を実行でき、描画ジョブの複合機300への送信を継続することができる。尚、障害としては、例えばサーバダウン、プロセスダウン、ネットワーク障害、スローダウンなどがある。
図16は監視サーバ260のブロック図の一例である。監視サーバ260は通信部261と処理部262を備えている。尚、通信部261は上述したネットワークI/F200Dによって実現することができる。処理部262は上述したCPU200Aによって実現することができる。
通信部261は監視サーバ260と印刷サーバ250及び第1LB21との通信を制御する。処理部262は印刷サーバ250を監視し、印刷サーバ250に障害が発生していることを検知すると、印刷サーバ250の障害を通知する。
続いて、図17及び図18を参照して、複合機300による印刷処理について説明する。
図17は第2実施形態に係る印刷処理の一例を示す処理シーケンス図である。図18(a)及び(b)は第2管理テーブルT2の他の一例である。まず、図17に示すように、印刷サーバ250が描画ジョブを生成している最中に、印刷サーバ250に障害が発生すると、監視サーバ260は印刷サーバ250の障害を検知する(ステップS401)。より詳しくは、監視サーバ260の処理部262は印刷サーバ250の障害を検知する。
監視サーバ260は印刷サーバ250の障害を検知すると、第1LB21に障害を通知する(ステップS402)。第1LB21は障害が通知されると、Webサーバ210のいずれかを選択する(ステップS403)。第1LB21はWebサーバ210のいずれかを選択すると、選択したWebサーバ210に障害を通知する(ステップS404)。
Webサーバ210は障害が通知されると、第2LB22に障害を通知する(ステップS405)。第2LB22は障害が通知されると、管理サーバ220のいずれかを選択する(ステップS406)。第2LB22は管理サーバ220のいずれかを選択すると、選択した管理サーバ220に障害を通知する(ステップS407)。
管理サーバ220は障害が通知されると、DBサーバ240に登録されたジョブ情報を更新する(ステップS408)。より詳しくは、管理サーバ220の処理部222は障害が通知されると、障害が発生した印刷サーバ250のサーバIDをDBサーバ240に送信する。DBサーバ240の処理部242はサーバIDを受信すると、受信したサーバIDに基づいてジョブ情報記憶部243を更新する。
例えば、サーバID「PS02」の印刷サーバ250に障害が発生し、図18(a)に示すように、機器ID「M02」にサーバID「PS02」が関連付けられている場合、処理部242は、図18(b)に示すように、機器ID「M02」に対応付けられたサーバID「PS02」を削除する。また、処理部242は、サーバID「PS02」を削除する前又は削除した後に、機器ID「M02」に応じたジョブ情報のステータスを処理中又は待機からエラーに変更する。
図17に戻り、管理サーバ220はジョブ情報を更新すると、処理依頼を第3LB23に送信する(ステップS409)。より詳しくは、管理サーバ220の処理部222は通信部221を介して処理依頼を送信する。管理サーバ220が処理依頼を送信すると、第3LB23が処理依頼を受信し、印刷サーバ250のいずれかを選択する(ステップS410)。特に、第3LB23は障害が発生していない印刷サーバ250のいずれかを選択する。第3LB23は障害が発生していない印刷サーバ250のいずれかを選択すると、選択した印刷サーバ250に処理依頼を送信する。以後、図12を参照して説明した処理と同様の処理を印刷サーバ250などは実行する。尚、管理サーバ220はジョブ情報の更新に基づいて処理依頼を動的に第3LB23に送信せずに、印刷サーバ250に障害が発生した旨を複合機300に通知して表示させ、選択した中間ジョブに対応する文書ファイルの印刷を指示する操作を再び行うようユーザ10に促してもよい。
以上、第2実施形態によれば、描画ジョブを生成している最中の印刷サーバ250に障害が発生しても、監視サーバ260が管理サーバ220に印刷サーバ250の障害を通知する。これにより、管理サーバ220は障害が発生していない別の印刷サーバ250に描画ジョブを生成させることができ、複合機300は別の印刷サーバ250が生成した描画ジョブに基づいて印刷処理を継続することができる。尚、第2実施形態では、データセンターDCに印刷サーバ250と機能が異なる監視サーバ260を設けたが、監視サーバ260が実行する処理と同様の処理を印刷サーバ250と機能が異なるWebサーバ210若しくは第3LB23、障害が発生していない他の印刷サーバ250、又は管理サーバ220が実行し、データセンターDCに監視サーバ260を含めなくてもよい。特に、第3LB23は印刷サーバ250のそれぞれの処理状況を確認した上で処理依頼を送信するため、監視サーバ260が実行する処理と同様の処理を第3LB23が実行することが効率的である。
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、上述した第1実施形態及び第2実施形態では、印刷サーバ250は自ら送信したジョブ要求に基づいて1つの中間ジョブを取得したが、例えば、ジョブ要求に基づいて2つの中間ジョブを取得してもよい。すなわち、印刷サーバ250は、管理サーバ220に対し、少なくとも1つの中間ジョブを要求してもよい。
また、上述した第1実施形態及び第2実施形態では、画像形成装置の一例として複合機300を利用したが、複合機300に代えてプリンタを利用してもよい。この場合、プリンタは操作可能な表示部を備えていないことが多いため、クライアント端末100が中間ジョブを生成するタイミングで、印刷処理を実行させるプリンタを特定することが求められる。クライアント端末100が中間ジョブを生成すると、図8を参照して説明したように、中間ジョブを含む保管指示をクライアント端末100が管理サーバ220に向けて送信し、管理サーバ220は中間ジョブを保管する。以後、図11及び図12を参照して説明した処理と同様の処理を管理サーバ220や印刷サーバ250などが実行することで、プリンタでも複合機300と同様に印刷順序を保証することができる。
さらに、上述した第1実施形態及び第2実施形態では、印刷サーバ250がジョブ要求を送信し、ジョブ要求を受信した管理サーバ220が印刷サーバ250に中間ジョブを送信したが、印刷サーバ250がジョブ要求を送信せずに、ジョブ情報を更新した後に管理サーバ220が印刷サーバ250に中間ジョブを送信してもよい。しかしながら、管理サーバ220は中間ジョブの保管並びにジョブ情報の登録及び更新など、種々の処理が実行し、処理負荷が高い可能性がある。一方で、印刷サーバ250は処理負荷が低いタイミングでジョブ要求を送信した方が印刷支援システムS全体で処理効率が高いと想定される。このため、上述した第1実施形態及び第2実施形態では、印刷サーバ250がジョブ要求を送信し、ジョブ要求を受信した管理サーバ220が印刷サーバ250に中間ジョブを送信する構成を採用している。
さらに、上述した第1実施形態及び第2実施形態では、第2LB22を各Webサーバ210と別の構成としたが、第2LB22が実行する処理と同様の処理を各Webサーバ210が実行し、第2LB22をデータセンターDCに含めないようにしてもよい。同様に、第3LB23を各管理サーバ220と別の構成としたが、第3LB23が実行する処理と同様の処理を各管理サーバ220が実行し、第3LB23をデータセンターDCに含めないようにしてもよい。さらに、複数の中間ジョブを選択してから印刷の指示を1回行った場合、印刷指示受付日時が重複するおそれがある。このような場合、印刷順序を特定する連番などを印刷指示受付日時の末尾に付与するようにしてもよい。さらに、複合機300が中間ジョブの解析結果に基づいて文書ファイルに応じた画像を印刷できる場合、印刷サーバ250は管理サーバ220から送信されて受信した中間ジョブを複合機300に転送してもよい。すなわち、印刷サーバ250は管理サーバ220から送信されて受信した中間ジョブから描画ジョブを生成しなくてもよい。この場合、印刷サーバ250は描画ジョブを生成しないため、描画ジョブを送信しない。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)画像形成装置に対応付けられた情報を受信した場合に、第1データを管理するサーバ装置に対し、前記画像形成装置に転送する第1データ又は前記画像形成装置に送信する第2データに応じた第1データの少なくとも1つを要求し、少なくとも1つの前記第1データを受信した後に、前記サーバ装置に対し、前記画像形成装置に送信する第2データに応じた第1データのうち、少なくとも1つの前記第1データと異なる第1データを要求する、処理をコンピュータに実行させるためのデータ処理プログラム。
(付記2)前記画像形成装置に転送する第1データ又は前記画像形成装置に送信する第2データに応じた第1データのうち、少なくとも1つの前記第1データと異なる第1データを要求する場合に、前記サーバ装置に対し、前記画像形成装置に転送する第1データ又は前記画像形成装置に送信する第2データに応じた第1データのうち、印刷順序に応じた第1データを要求する、処理をコンピュータに実行させることを特徴とする付記1に記載のデータ処理プログラム。
(付記3)前記コンピュータと機能が異なる別のコンピュータ、前記コンピュータと機能が共通する他のコンピュータ、又は、前記サーバ装置のいずれかが前記コンピュータの障害を検知した場合、付記1又は2に記載の処理を前記他のコンピュータに実行させるためのデータ処理プログラム。
(付記4)前記第1データは前記画像形成装置に依存しない印刷ジョブであり、前記第2データは前記画像形成装置に依存する印刷ジョブである、ことを特徴とする付記1から3のいずれか1項に記載のデータ処理プログラム。
(付記5)コンピュータに処理を実行させるデータ処理プログラムであって、前記処理は、前記コンピュータに対応付けられた第1情報を送信し、画像形成装置に依存しない印刷ジョブである第1データ、及び、前記第1情報と、印刷指示を受け付けた特定の画像形成装置に対応付けられた第2情報と、を対応付けた第3情報を管理するサーバ装置から、送信した前記第1情報と対応付けられた前記第2情報を含む第1データを取得し、取得した前記第1データに基づいて、前記特定の画像形成装置に依存する印刷ジョブである第2データを生成し、生成した前記第2データを前記特定の画像形成装置に送信する、ことを特徴とするデータ処理プログラム。
(付記6)前記第1データを取得する処理は、前記印刷指示の受付日時が早い順に前記第1データを取得する、ことを特徴とする付記5に記載のデータ処理プログラム。
(付記7)印刷指示を受け付けた特定の画像形成装置に対応付けられた第1情報を受信した場合、画像形成装置に依存しない印刷ジョブである第1データに基づいて前記特定の画像形成装置に依存する印刷ジョブである第2データをそれぞれ生成して前記特定の画像形成装置に送信する複数のサーバ装置の各負荷に応じて、受信した第1情報を前記複数のサーバ装置のいずれかに送信し、前記第1情報を受信したサーバ装置から送信された該サーバ装置に対応付けられた第2情報を受信した場合、前記第1情報と前記第2情報とを関連付けて管理し、前記第2情報と関連付けられた前記第1情報を含む前記第1データを、前記第1情報を受信したサーバ装置に送信する、処理をコンピュータに実行させるためのデータ処理プログラム。
(付記8)前記第1データを送信する処理は、前記印刷指示の受付日時が早い順に前記第1データを送信する、ことを特徴とする付記7に記載のデータ処理プログラム。
(付記9)画像形成装置に対応付けられた情報を受信した場合に、第1データを管理するサーバ装置に対し、前記画像形成装置に転送する第1データ又は前記画像形成装置に送信する第2データに応じた第1データの少なくとも1つを要求し、少なくとも1つの前記第1データを受信した後に、前記サーバ装置に対し、前記画像形成装置に送信する第2データに応じた第1データのうち、少なくとも1つの前記第1データと異なる第1データを要求する、処理をコンピュータが実行するデータ処理方法。
(付記10)画像形成装置に対応付けられた情報を受信した場合に、第1データを管理するサーバ装置に対し、前記画像形成装置に転送する第1データ又は前記画像形成装置に送信する第2データに応じた第1データの少なくとも1つを要求し、少なくとも1つの前記第1データを受信した後に、前記サーバ装置に対し、前記画像形成装置に送信する第2データに応じた第1データのうち、少なくとも1つの前記第1データと異なる第1データを要求する、処理を実行する制御部を有するデータ処理装置。
(付記11)前記制御部は、前記画像形成装置に転送する第1データ又は前記画像形成装置に送信する第2データに応じた第1データのうち、少なくとも1つの前記第1データと異なる第1データを要求する場合に、前記サーバ装置に対し、前記画像形成装置に転送する第1データ又は前記画像形成装置に送信する第2データに応じた第1データのうち、印刷順序に応じた第1データを要求する、処理を実行することを特徴とする付記10に記載のデータ処理装置。
(付記12)前記データ処理装置と機能が異なる別のデータ処理装置、前記データ処理装置と機能が共通する他のデータ処理装置、又は、前記サーバ装置のいずれかが前記データ処理装置の障害を検知した場合、付記10又は11に記載の処理を実行する制御部を有するデータ処理装置。
(付記13)前記第1データは前記画像形成装置に依存しない印刷ジョブであり、前記第2データは前記画像形成装置に依存する印刷ジョブである、ことを特徴とする付記10から12のいずれか1項に記載のデータ処理装置。
S 印刷支援システム
100 クライアント端末
110 プリンタ
200 サーバ装置
210 Webサーバ
220 管理サーバ
230 保管サーバ
240 DBサーバ
250 印刷サーバ
260 監視サーバ
300 複合機

Claims (4)

  1. 印刷指示を受け付けた特定の画像形成装置に対応付けられた第1情報を受信した場合、画像形成装置に依存しない印刷ジョブである第1データに基づいて前記特定の画像形成装置に依存する印刷ジョブである第2データをそれぞれ生成して前記特定の画像形成装置に送信する複数のサーバ装置の各負荷に応じて、受信した第1情報を前記複数のサーバ装置のいずれかに送信し、
    前記第1情報を受信したサーバ装置から送信された該サーバ装置に対応付けられた第2情報を受信した場合、前記第1情報と前記第2情報とを対応付けて管理し、前記第2情報と対応付けられた前記第1情報と関連付けられた前記第1データを、前記第1情報を受信したサーバ装置に送信する、
    処理をコンピュータに実行させるためのデータ処理プログラム。
  2. 前記第1データを送信する処理は、前記印刷指示の受付日時が早い順に前記第1データを送信する、
    ことを特徴とする請求項に記載のデータ処理プログラム。
  3. 印刷指示を受け付けた特定の画像形成装置に対応付けられた第1情報を受信した場合、画像形成装置に依存しない印刷ジョブである第1データに基づいて前記特定の画像形成装置に依存する印刷ジョブである第2データをそれぞれ生成して前記特定の画像形成装置に送信する複数のサーバ装置の各負荷に応じて、受信した第1情報を前記複数のサーバ装置のいずれかに送信し、
    前記第1情報を受信したサーバ装置から送信された該サーバ装置に対応付けられた第2情報を受信した場合、前記第1情報と前記第2情報とを対応付けて管理し、前記第2情報と対応付けられた前記第1情報と関連付けられた前記第1データを、前記第1情報を受信したサーバ装置に送信する、
    処理をコンピュータが実行するデータ処理方法。
  4. 印刷指示を受け付けた特定の画像形成装置に対応付けられた第1情報を受信した場合、画像形成装置に依存しない印刷ジョブである第1データに基づいて前記特定の画像形成装置に依存する印刷ジョブである第2データをそれぞれ生成して前記特定の画像形成装置に送信する複数のサーバ装置の各負荷に応じて、受信した第1情報を前記複数のサーバ装置のいずれかに送信し、
    前記第1情報を受信したサーバ装置から送信された該サーバ装置に対応付けられた第2情報を受信した場合、前記第1情報と前記第2情報とを対応付けて管理し、前記第2情報と対応付けられた前記第1情報と関連付けられた前記第1データを、前記第1情報を受信したサーバ装置に送信する、
    処理を実行する制御部を有するデータ処理装置。
JP2017254542A 2017-12-28 2017-12-28 データ処理プログラム、データ処理方法、及びデータ処理装置 Active JP6973067B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017254542A JP6973067B2 (ja) 2017-12-28 2017-12-28 データ処理プログラム、データ処理方法、及びデータ処理装置
US16/221,531 US20190205069A1 (en) 2017-12-28 2018-12-16 Data processing apparatus and non-transitory computer-readable storage medium for storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017254542A JP6973067B2 (ja) 2017-12-28 2017-12-28 データ処理プログラム、データ処理方法、及びデータ処理装置

Publications (2)

Publication Number Publication Date
JP2019121081A JP2019121081A (ja) 2019-07-22
JP6973067B2 true JP6973067B2 (ja) 2021-11-24

Family

ID=67058307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017254542A Active JP6973067B2 (ja) 2017-12-28 2017-12-28 データ処理プログラム、データ処理方法、及びデータ処理装置

Country Status (2)

Country Link
US (1) US20190205069A1 (ja)
JP (1) JP6973067B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11635923B2 (en) * 2018-12-28 2023-04-25 Kyocera Document Solutions Inc. Monitoring system, monitoring method, and monitoring program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07149002A (ja) * 1993-11-29 1995-06-13 Kyocera Corp プリンタ装置
US7265860B2 (en) * 2001-01-11 2007-09-04 Sharp Laboratories Of America, Inc. Load balancing print jobs across multiple printing devices
JP5732755B2 (ja) * 2010-07-06 2015-06-10 富士通株式会社 配信システム、配信装置、配信方法、及びプログラム
JP5821399B2 (ja) * 2011-08-17 2015-11-24 株式会社リコー 印刷制御プログラム、情報処理装置及び記録媒体
JP2013105237A (ja) * 2011-11-11 2013-05-30 Ricoh Co Ltd ジョブ処理システム、ジョブ処理装置、負荷分散装置、ジョブ処理プログラムおよび負荷分散プログラム
JP6064592B2 (ja) * 2012-12-27 2017-01-25 株式会社リコー 印刷システム、印刷方法、画像形成装置及び制御デバイス
JP2015005149A (ja) * 2013-06-21 2015-01-08 キヤノン株式会社 クラウドプリントにおけるプリントサーバ障害時のリカバリ方法
JP2015139038A (ja) * 2014-01-21 2015-07-30 株式会社リコー 課金システム
JP6225960B2 (ja) * 2015-08-18 2017-11-08 コニカミノルタ株式会社 ネットワークシステム及び負荷抑制制御プログラム並びに負荷抑制制御方法

Also Published As

Publication number Publication date
JP2019121081A (ja) 2019-07-22
US20190205069A1 (en) 2019-07-04

Similar Documents

Publication Publication Date Title
US8032464B2 (en) Server printing apparatus and its control method, and computer program
JP2007334898A (ja) データ配信システム及びデータ配信方法
JP6040878B2 (ja) 印刷装置、印刷制御装置、印刷システム及びプログラム
JP6278651B2 (ja) ネットワークシステム、管理サーバシステム、制御方法及びプログラム
JP6717076B2 (ja) 印刷システム、暗号化キー変更方法、プリンタ、プログラム
JP5870597B2 (ja) サーバ装置、印刷制御プログラム、及び印刷制御システム
JP5879987B2 (ja) 情報処理装置、情報処理装置の制御方法、制御プログラム及び画像形成システム
JP6168079B2 (ja) 印刷システム、印刷機器検索プログラム、および記録媒体
JP2012118734A (ja) 印刷サーバ及びその制御方法
US20190065706A1 (en) Management apparatus, control method, and storage medium
US9628642B2 (en) Information processing system, license server, communication relay device, non-transitory readable recording medium and data restoration method
JP7000670B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP6973067B2 (ja) データ処理プログラム、データ処理方法、及びデータ処理装置
JP2022038375A (ja) 印刷システム、管理サーバシステム、及び制御方法
JP6579013B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2006285840A (ja) 文書管理システム
JP2008181518A (ja) ドキュメント処理装置の設定をクローニングするシステムおよび方法
JP6123293B2 (ja) 情報処理システム、データ変換処理方法、プログラム及び記録媒体
JP6668769B2 (ja) 情報処理装置、情報処理プログラム、画像形成システム、画像形成システムの制御方法
JP2006350528A (ja) 印刷システム及び印刷方法
JP2014179909A (ja) 画像形成装置、ネットワークシステム、方法およびプログラム
JP2013244637A (ja) 情報処理装置、プログラム及び分散処理方法
US20190347051A1 (en) Print control method and print controller
JP2008152648A (ja) データ処理装置
JP5766065B2 (ja) 管理システム、サーバ装置、管理方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211018

R150 Certificate of patent or registration of utility model

Ref document number: 6973067

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150