特許第6981529号(P6981529)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許6981529印刷制御方法、印刷制御プログラム、及びサーバ装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6981529
(24)【登録日】2021年11月22日
(45)【発行日】2021年12月15日
(54)【発明の名称】印刷制御方法、印刷制御プログラム、及びサーバ装置
(51)【国際特許分類】
   G06F 3/12 20060101AFI20211202BHJP
【FI】
   G06F3/12 325
   G06F3/12 312
   G06F3/12 347
   G06F3/12 388
【請求項の数】7
【全頁数】29
(21)【出願番号】特願2020-504594(P2020-504594)
(86)(22)【出願日】2018年3月8日
(86)【国際出願番号】JP2018009022
(87)【国際公開番号】WO2019171541
(87)【国際公開日】20190912
【審査請求日】2020年6月17日
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】藤田 悦誌
(72)【発明者】
【氏名】袴田 隼毅
(72)【発明者】
【氏名】鳥海 優人
【審査官】 白石 圭吾
(56)【参考文献】
【文献】 特開2007−237481(JP,A)
【文献】 特開2012−216064(JP,A)
【文献】 特開2002−023979(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
特定のプリンタへの印刷データの送信を要求された場合に、インストールされる印刷ドライバセットが別々に管理される複数のマシン群のそれぞれに関連づけられた複数の負荷分散装置のうち、前記特定のプリンタに関連づけられた負荷分散装置を特定し、
特定した前記負荷分散装置に複数のマシン群のいずれかのマシンへの印刷ジョブの割り当てを実行させ、
前記負荷分散装置によって印刷ジョブが割り当てられたマシンにインストールされた印刷ドライバによって前記印刷ジョブを前記特定のプリンタに対応する印刷データ変換する処理を、前記割り当てられたマシンに実行させ、
記印刷データ前記特定のプリンタへの送信を前記割り当てられたマシンに実行させ、
前記複数のマシン群における前記変換の負荷が不均衡であることを検出すると、前記複数のマシン群のそれぞれの管理対象とする印刷ドライバセットを再編成する、
処理を、前記複数の負荷分散装置と通信可能なサーバ装置が行うことを特徴とする印刷制御方法。
【請求項2】
印刷ドライバマスタに、各マシン群に同一の印刷ドライバセットを複製させ、
前記同一の印刷ドライバセットを有する前記マシン群を同一グループとして前記負荷分散装置に管理させ、
前記印刷ドライバセットに含む印刷ドライバの配置をグループ単位で特定する、
処理を前記複数の負荷分散装置と通信可能なサーバ装置が行うことを特徴とする請求項1記載の印刷制御方法。
【請求項3】
前記複数のマシン群のそれぞれに含まれる印刷ドライバセットを利用した印刷処理の履歴に基づき、該印刷ドライバセットに含まれる各印刷ドライバの負荷を算出し、
算出した各印刷ドライバの負荷に基づいて、前記複数のマシン群のそれぞれに配置する前記印刷ドライバセットを決定する、
処理を前記複数の負荷分散装置と通信可能なサーバ装置が行うことを特徴とする請求項2記載の印刷制御方法。
【請求項4】
グループ毎の前記マシン群に含まれる印刷ドライバセットが対応可能なプリンタの個数に基づき、複数のグループのそれぞれで対応可能なプリンタの個数が均等になるように、該グループ毎の前記印刷ドライバセットを決定する、
処理を前記複数の負荷分散装置と通信可能なサーバ装置が行うことを特徴とする請求項2記載の印刷制御方法。
【請求項5】
前記グループのそれぞれにおける処理が停止しないように、前記印刷ドライバセットが決定されることを特徴とする請求項4記載の印刷制御方法。
【請求項6】
特定のプリンタへの印刷データの送信を要求された場合に、インストールされる印刷ドライバセットが別々に管理される複数のマシン群のそれぞれに関連づけられた複数の負荷分散装置のうち、前記特定のプリンタに関連づけられた負荷分散装置を特定し、
特定した前記負荷分散装置に複数のマシン群のいずれかのマシンへの印刷ジョブの割り当てを実行させ、
前記負荷分散装置によって印刷ジョブが割り当てられたマシンにインストールされた印刷ドライバによって前記印刷ジョブを前記特定のプリンタに対応する印刷データ変換する処理を、前記割り当てられたマシンに実行させ、
記印刷データ前記特定のプリンタへの送信を前記割り当てられたマシンに実行させ、
前記複数のマシン群における前記変換の負荷が不均衡であることを検出すると、前記複数のマシン群のそれぞれの管理対象とする印刷ドライバセットを再編成する、
処理を、前記複数の負荷分散装置と通信可能なサーバ装置に実行させることを特徴とする印刷制御プログラム。
【請求項7】
特定のプリンタへの印刷データの送信を要求された場合に、インストールされる印刷ドライバセットが別々に管理される複数のマシン群のそれぞれに関連づけられた複数の負荷分散装置のうち、前記特定のプリンタに関連づけられた負荷分散装置を特定する特定部と、
特定した前記負荷分散装置に複数のマシン群のいずれかのマシンへの印刷ジョブの割り当てを実行させる実行部と、
前記負荷分散装置によって印刷ジョブが割り当てられたマシンにインストールされた印刷ドライバによって前記印刷ジョブを前記特定のプリンタに対応する印刷データ変換する処理を、前記割り当てられたマシンに実行させる変換部と、
記印刷データ前記特定のプリンタへの送信を前記割り当てられたマシンに実行させる送信部と、
前記複数のマシン群における前記変換の負荷が不均衡であることを検出すると、前記複数のマシン群のそれぞれの管理対象とする印刷ドライバセットを再編成する再編成部と、を有することを特徴とする、前記複数の負荷分散装置と通信可能なサーバ装置
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷制御方法、印刷制御プログラム、及びサーバ装置に関する。
【背景技術】
【0002】
近年、シンクライアント端末を利用したシステムが増加している。このようなシステムでは、シンクライアント端末は、仮想プリンタドライバで印刷するデータから中間データに作成し、プリントサーバに印刷ジョブとして送信する。プリントサーバは、シンクライアント端末から出力先のプリンタの情報を取得すると、印刷ジョブを出力先のプリンタが解釈可能な印刷データに変換し、変換後の印刷データを出力先のプリンタに送信する。このような仕組みにより、シンクライアント端末の印刷に係る機能を最小限にできる。
【0003】
印刷要求をスプールサーバに送信し、出力機器が対応するプリンタドライバを用いて印刷用データへ変換して出力機器に印刷させる技術、ポイント&プリントでインストールされた基本プリンタドライバを使用する度に、機器固有プリンタドライバに更新する技術等が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012−208886号公報
【特許文献2】特開2013−101595号公報
【特許文献3】特開2013−238924号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したようなシステムでは、シンクライアント端末から自由にプリンタドライバをインストールすることができず、又は、利用するたびにインストールする必要があり、ユーザが所望するプリンタに印刷できない。
【0006】
印刷ジョブを出力先のプリンタが解釈可能な印刷データに変換して印刷させる印刷ライタでは、印刷ジョブから印刷データへの変換処理に負荷が掛かる。複数の印刷ライタを備えて負荷分散させることが考えられるが、任意のユーザによる任意のプリンタドライバの追加/更新は負荷分散の観点において容易ではない。
【0007】
したがって、1つの側面では、印刷ライタの負荷を効率良く分散することを目的とする。
【課題を解決するための手段】
【0008】
一態様によれば、特定のプリンタへの印刷データの送信を要求された場合に、インストールされる印刷ドライバセットが別々に管理される複数のマシン群のそれぞれに関連づけられた複数の負荷分散装置のうち、前記特定のプリンタに関連づけられた負荷分散装置を特定し、特定した前記負荷分散装置に複数のマシン群のいずれかのマシンへの印刷ジョブの割り当てを実行させ、前記負荷分散装置によって印刷ジョブが割り当てられたマシンにインストールされた印刷ドライバによって前記印刷ジョブを前記特定のプリンタに対応する印刷データ変換する処理を、前記割り当てられたマシンに実行させ、記印刷データ前記特定のプリンタへの送信を前記割り当てられたマシンに実行させ、前記複数のマシン群における前記変換の負荷が不均衡であることを検出すると、前記複数のマシン群のそれぞれの管理対象とする印刷ドライバセットを再編成する、理を、前記複数の負荷分散装置と通信可能なサーバ装置が行うことを特徴とする印刷制御方法が提供される。
【発明の効果】
【0009】
印刷ライタの負荷を効率良く分散することができる。
【図面の簡単な説明】
【0010】
図1】実施例におけるシステムの構成例を示す図である。
図2】印刷ジョブの登録から印刷処理までの手順を説明するための図である。
図3】印刷ジョブの登録から印刷処理までの処理シーケンスを示す図である。
図4】受付処理部による受付処理を説明するためのフローチャート図である。
図5】プリンタ情報テーブルのデータ構成例を示す図である。
図6】ドライバ・グループ対応テーブルのデータ構成例を示す図である。
図7】プリンタドライバを追加する手順を説明するための図である。
図8】プリンタドライバをアップデートする手順を説明するための図である。
図9】印刷ライタを追加する手順を説明するための図である。
図10】負荷平衡化処理を説明するための処理シーケンスを示す図である。
図11】負荷平衡化処理における受付処理部による処理を説明するための図である。
図12】第1の作成方法で利用する要求ログテーブルのデータ構成例を示す図である。
図13】第1の作成方法におけるドライバ特定テーブルの取得方法について説明するための図である。
図14】第1の作成方法におけるグループ特定テーブルの取得方法について説明するための図である。
図15】第1の作成方法において作成された利用統計情報テーブルのデータ構成例を示す図である。
図16】第1の負荷平衡化処理による結果例を示す図である。
図17】第2の作成方法で利用する要求ログテーブルのデータ構成例を示す図である。
図18】第2の作成方法におけるドライバ特定テーブルの取得方法について説明するための図である。
図19】第2の作成方法におけるグループ特定テーブルの取得方法について説明するための図である。
図20】第2の作成方法において作成された利用統計情報テーブルのデータ構成例を示す図である。
図21】第2の負荷平衡化処理による結果例を示す図である。
図22】第2の作成方法で利用するプリンタ数テーブルの作成を説明するための図である。
図23】第3の作成方法におけるグループ特定テーブルの取得方法について説明するための図である。
図24】第3の作成方法において作成された利用統計情報テーブルのデータ構成例を示す図である。
図25】第3の負荷平衡化処理による結果例を示す図である。
図26】クライアント端末のハードウェア構成を示す図である。
図27】プリンタのハードウェア構成を示す図である。
図28】サーバ装置のハードウェア構成を示す図である。
図29】負荷分散装置のハードウェア構成を示す図である。
図30】印刷ライタのハードウェア構成を示す図である。
図31】印刷ドライバマスタのハードウェア構成を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態を図面に基づいて説明する。先ず、シンクライアント端末(以下、単に、「クライアント端末」という)を利用したシステムについて説明する。システムには、印刷ジョブを出力先のプリンタが解釈可能な印刷データに変換し、変換後の印刷データを出力先のプリンタに送信するプリントサーバの機能の一部に相当する印刷ライタが含まれている。印刷ライタには、出力先となり得る全てのプリンタのプリンタドライバがインストールされることで、いずれのプリンタを出力先として指定した場合にも印刷可能になる。
【0012】
一方、複数のプリンタで印刷可能とする場合に、複数の印刷ライタを備えて、印刷処理を分散させることが考えられる。即ち、負荷分散装置を設けて、複数の印刷ライタそれぞれに印刷処理に係る負荷を分散させる。この場合には、プリンタ、印刷ライタ等の増減によるシステム構成の変更に応じて、以下のような操作が行われる。
(1)出力先になり得るプリンタの機種を追加する度にプリンタドライバをすべての印刷ライタに追加する。
(2)あるプリンタの機種のプリンタドライバのアップデートが発生する度に、すべての印刷ライタのプリンタドライバを更新する。
(3)印刷ライタを追加する度に追加した印刷ライタに出力先となりうるすべてのプリンタのプリンタドライバをインストールする。
【0013】
このように、プリンタドライバの追加/更新、印刷ライタの追加等を行う操作には、大きな労力がかかる。
【0014】
上記(1)及び(2)の労力を削減する方法として、印刷ライタのマスタを導入し、そのマスタから(印刷ジョブを印刷データに変換する)印刷ライタを複製する方法が考えられる。以下、印刷ライタのマスタを「印刷ドライバマスタ」といい、印刷ドライバマスタから1以上のプリンタドライバが複製された装置を印刷ライタという。
【0015】
この場合、上記(1)及び(2)では、印刷ドライバマスタに対してのみプリンタドライバの追加/削除をすればよい。しかしながら、この方法を用いても、OS(Operating System)によっては以下の問題が生じる。
(4)印刷ライタに多数のプリンタドライバ(「プリンタオブジェクト」ともいう)をインストールすると、印刷ジョブから印刷データへの変換に要する時間が大きく増加する。
【0016】
印刷ライタは、出力先となり得るすべてのプリンタドライバ(プリンタオブジェクト)を管理するため、出力先となり得るプリンタの数が多い場合、上記(4)の問題が生じる。
【0017】
そこで、本実施例では、出力先となり得るプリンタをいくつかのグループに分け、各グループに負荷分散装置と印刷ドライバマスタを割り当てることで、プリンタドライバの追加/更新と印刷ライタの追加の労力を低下させ、印刷ジョブから印刷データへの変換に要する時間の増加を抑えることを可能とする。
【0018】
更に、利用頻度の高いプリンタを1つのグループにまとめた場合、各グループの負荷は平衡とならず、印刷ライタの数に対する性能が小さくなる恐れがある。このようにグループ分け後、各グループの負荷を平衡にする必要がある場合も考えられる。そこで、本実施例では、プリンタの利用統計情報をもとに各グループの負荷が平衡となるようにグループ分けする仕組みも提案する。
【0019】
出力先となり得るプリンタをいくつかのグループに分類し、各グループに負荷分散装置と印刷ドライバマスタとを割り当てる。各グループに割り当てられた印刷ドライバマスタには、そのグループに属する出力先となり得るプリンタのプリンタドライバがインストールされている。印刷ドライバマスタから1以上のドライバが複製されることで、印刷処理の際に用いられる印刷ライタが生成される。印刷ライタの複製は、自動で実行可能である。
【0020】
図1は、実施例におけるシステムの構成例を示す図である。図1に示すシステム1000は、1以上のクライアント端末5と、複数のプリンタ6と、サーバ装置100と、1以上の負荷分散装置200と、複数の印刷ライタ300と、1以上の印刷ドライバマスタ400とを有し、ネットワーク2等により互いに接続可能である。ネットワーク2は無線又は有線に限定されない。
【0021】
クライアント端末5は、シンクライアント端末、パーソナルコンピュータ(PC)、又は、タブレットやスマートフォン等のモバイル端末等である。複数のプリンタ6は、ネットワーク2を介して受信した印刷データ7cを紙等の媒体に画像形成する同一又は異なる機種のプリンタである。
【0022】
クライアント端末5は、印刷ジョブ7aをネットワーク2を介してサーバ装置100に登録する。サーバ装置100は、ネットワーク2を介してクライアント端末5からの印刷ジョブ7aを受け付ける。プリンタ6からの印刷データ7cの引き取り要求を受け付けると、サーバ装置100は、印刷する際の処理負荷を制御する負荷分散装置200を特定する装置である。サーバ装置100は、受付処理部41を有し、受付処理部41によって負荷分散装置200が特定される。
【0023】
負荷分散装置200は、複数の印刷ライタ300の処理負荷を管理し、印刷ライタ300それぞれの処理負荷が平衡となるように、印刷ライタ300への印刷ジョブの割当を制御する。また、負荷分散装置200は、ネットワーク2を介してサーバ装置100から受信した印刷ジョブ7aを割当先として決定した印刷ライタ300へネットワーク2を介して送信する。
【0024】
各印刷ライタ300は、同一又は異なるプリンタドライバを有し、負荷分散装置200から受信した印刷ジョブ7aを、印刷出力するプリンタ6で印刷可能な形式の印刷データ7cに変換し、プリンタ6に送信する。印刷データ7cを受信したプリンタ6は、印刷処理を実行し、印刷物を出力する。
【0025】
システム1000では、印刷ライタ300をグループに分類し、グループ毎に負荷分散装置200が備えられる。1つのグループにおいて、印刷ドライバマスタ400が、グループから利用可能な全てのプリンタ6のプリンタドライバを有し、負荷状況に基づいて選択した印刷ライタ300に新たなプリンタドライバを複製することで追加する。この場合、既存の印刷ライタ300に新たなプリンタドライバが追加される。
【0026】
また、印刷ライタ300として新たな情報処理装置をネットワーク2に追加する場合等では、印刷ドライバマスタ400が保持する1又は複数のプリンタドライバを複製した印刷ライタ300を追加してもよい。印刷ドライバマスタ400は、印刷ライタ300の1つとして機能してもよい。以下の説明では、印刷ライタ300とは個別に印刷ドライバマスタ400が設けられるものとする。また、ネットワーク2は省略して説明されるが、システム構成は、図1に示す構成に基づくものとする。
【0027】
図2は、印刷ジョブの登録から印刷処理までの手順を説明するための図である。図2では、2つのグループを有する例で説明するが、グループが1つ又は3つ以上であっても同様の手順である。
【0028】
クライアント端末5は、ユーザの操作に応じてサーバ装置100の受付処理部41に印刷ジョブ7aを送信する(ステップS111)。クライアント端末5のユーザは、印刷するプリンタ6において、印刷ジョブ7aの引き取り要求を行う(ステップS112)。プリンタ6から受付処理部41へ印刷ジョブ7aの引き取りが要求される。
【0029】
受付処理部41は、プリンタ6に対応するプリンタドライバの処理負荷を管理する負荷分散装置200を特定し(ステップS113)、特定した負荷分散装置200に、印刷ジョブ7aを送信する(ステップS114)。負荷分散装置200の特定方法は、後述される。
【0030】
印刷ジョブ7aを受信すると、負荷分散装置200は、印刷ライタ300の処理負荷の状況、有するプリンタドライバの情報等に基づいて、印刷ライタ300を選択し、選択した印刷ライタ300に印刷ジョブ7aを送信する(ステップS115)。
【0031】
印刷ライタ300は、印刷ジョブ7aを印刷データ7cに変換し、印刷ジョブ7aの引き取りを要求したプリンタ6に、変換により得られた印刷データ7cを送信する(ステップS116)。プリンタ6は、印刷データ7cを受信すると、印刷処理を実行し、印刷物を出力する。
【0032】
図3は、印刷ジョブの登録から印刷処理までの処理シーケンスを示す図である。図3において、クライアント端末5が印刷ジョブ7aをサーバ装置100に送信すると(ステップS131)、受付処理部41によって印刷ジョブ7aが登録される(ステップS132)。
【0033】
プリンタ6から印刷ジョブ7aの引き取り要求を受信すると(ステップS133)、受付処理部41は、印刷ジョブ7aの引き取りを要求したプリンタ6が属するグループから負荷分散装置200を特定する(ステップS134)。
【0034】
受付処理部41は、特定した負荷分散装置200へ、印刷ジョブ7aを送信する(ステップS135)。印刷ジョブ7aの受信に応じて、負荷分散装置200は、負荷の小さい印刷ライタ300を選択し(ステップS136)、選択した印刷ライタ300に印刷ジョブ7aを送信する(ステップS137)。
【0035】
印刷ライタ300は、受信した印刷ジョブ7aを印刷データ7cに変換して(ステップS138)、プリンタ6へ印刷データ7cを送信する(ステップS139)。プリンタ6は、受信した印刷データ7cを用いて印刷処理を実行する(ステップS140)。
【0036】
図4は、受付処理部による受付処理を説明するためのフローチャート図である。図4において、サーバ装置100の受付処理部41は、プリンタ6から印刷データの引き取り要求を受信する(ステップS151)。
【0037】
先ず、受付処理部41は、プリンタ情報テーブル171を参照して、引き取り要求で指定されるプリンタに対応するプリンタドライバを特定する(ステップS152)。次に、受付処理部41は、ドライバ・グループ対応テーブル172を参照して、特定したプリンタドライバに対応する負荷分散装置200を特定する(ステップS153)。
【0038】
そして、受付処理部41は、特定した負荷分散装置200に印刷ジョブ7aを送信する(ステップS154)。
【0039】
図5及び図6にて、上述した種々の処理で参照される、プリンタ情報テーブル171及びドライバ・グループ対応テーブル172のデータ構成例を説明する。図5は、プリンタ情報テーブルのデータ構成例を示す図である。図5において、プリンタ情報テーブル171は、システム1000で利用可能なプリンタ6の情報を管理するテーブルであり、プリンタ名、IPアドレス、ドライバ名等の項目を有する。
【0040】
プリンタ名は、プリンタ6を特定するための識別子を示す。IPアドレスは、ネットワーク2において通信するためのプリンタ6に固有の番号を示す。ドライバ名は、印刷ジョブ7aをプリンタ6が解釈可能な形式の印刷データ7cへ変換するためのプリンタドライバを特定するための識別子を示す。
【0041】
図5の例では、プリンタ名「Prt_1」に対して、IPアドレス「10.11.12.13」、ドライバ名「Drv_A」等が対応付けられ、プリンタ名「Prt_2」に対して、IPアドレス「10.11.12.14」、ドライバ名「Drv_B」等が対応付けられている。プリンタ6毎に、プリンタ名、IPアドレス、ドライバ名等が示される。プリンタ情報テーブル171を参照すると、プリンタ名「Prt_1」、「Prt_3」、「Prt_5」、及び「Prt_7」のプリンタ6が、同じプリンタドライバ「Drv_A」で利用可能である。プリンタ名「Prt_2」、「Prt_4」、「Prt_6」、及び「Prt_8」のプリンタ6は、それぞれ異なるプリンタドライバ「Drv_B」、「Drv_C」、「Drv_D」、及び「Drv_E」により利用可能となる。
【0042】
図6は、ドライバ・グループ対応テーブルのデータ構成例を示す図である。図6において、ドライバ・グループ対応テーブル172は、システム1000で利用可能なプリンタ6の情報を管理するテーブルであり、ドライバ名、グループ名、負荷分散装置ID等の項目を有する。
【0043】
ドライバ名は、プリンタ情報テーブル171に記録されているドライバ名のいずれかを示す。グループ名は、負荷平衡化処理により分類されたグループを特定する識別子を示す。負荷分散装置IDは、グループ内の印刷ライタ300への印刷ジョブ7aの割り当てを決定し、負荷分散の制御を行う負荷分散装置200を特定する識別子を示す。負荷分散装置200に係る情報は、ドライバ・グループ対応テーブル172とは異なるテーブルで管理されてもよい。この場合、グループ名によってドライバ・グループ対応テーブル172と関連付けられる。説明を簡潔にするため、ドライバ・グループ対応テーブル172に負荷分散装置IDを含むものとする。
【0044】
図6の例では、ネットワーク2を介して利用可能なプリンタ6のプリンタドライバを2つのグループに分類した例を示している。ドライバ名「Drv_A」、「Drv_C」、及び「Drv_E」のプリンタドライバがグループ名「Grp_1」のグループに配置され、ドライバ名「Drv_B」及び「Drv_D」のプリンタドライバがグループ名「Grp_2」のグループに配置される。
【0045】
次に、
・プリンタドライバの追加
・プリンタドライバのアップデート
・印刷ライタ300の追加
について説明する。
【0046】
図7は、プリンタドライバを追加する手順を説明するための図である。図7において、システム1000の受付処理部41は、プリンタ6のグループの1つを選択し、選択したグループに属する印刷ドライバマスタ400に追加するプリンタ6のプリンタドライバのインストールを指示する(ステップS211)。
【0047】
印刷ドライバマスタ400は、プリンタドライバをインストールすると、自身からプリンタドライバを複製した印刷ライタ300にインストールしたプリンタドライバを複製する(ステップS212)。印刷ライタ300に、ステップS212のインストールによって新たなプリンタドライバが追加される。後述される負荷平衡化処理により、印刷ライタ300のそれぞれの負荷が調整される。
【0048】
印刷ドライバマスタ400は、既にインストールされたているプリンタドライバの情報を保持し、新たにインストールされたプリンタドライバの情報を追加して、追加完了を受付処理部41に通知する。
【0049】
受付処理部41は、印刷ドライバマスタ400からのプリンタドライバの追加完了の通知に応じて、追加したプリンタドライバと、ステップS211で選択したグループの負荷分散装置との対応付けを追加する(ステップS213)。プリンタ情報テーブル171にプリンタドライバの情報(1レコードに相当)が追加され、ドライバ・グループ対応テーブル172に、プリンタドライバ名と、グループIDと、グループIDに対応付けられる負荷分散装置200を特定する負荷分散装置IDとが対応付けられて追加される。
【0050】
図8は、プリンタドライバをアップデートする手順を説明するための図である。図8において、システム1000の印刷ドライバマスタ400で、インストール済みのプリンタドライバのアップデートを実施する(ステップS231)。
【0051】
印刷ドライバマスタ400は、自身からプリンタドライバを複製した印刷ライタに再度複製する(ステップS232)。
【0052】
図9は、印刷ライタを追加する手順を説明するための図である。図9において、システム1000の受付処理部41は、プリンタ6のグループの1つを選択し、選択したグループに属する印刷ドライバマスタ400に印刷ライタ300の追加を指示する(ステップS251)。
【0053】
印刷ドライバマスタ400は、自身が保持するプリンタドライバを、新たな印刷ライタ300に複製する(ステップS252)。
【0054】
次に、図10及び図11で、システム1000における複数の印刷ライタ300の負荷を平衡化する負荷平衡化処理について説明する。図10は、負荷平衡化処理を説明するための処理シーケンスを示す図である。図10では、印刷ドライバマスタ410と印刷ライタ310a及び310bとがグループG1に属し、印刷ドライバマスタ420と印刷ライタ320a及び320bとがグループG2に属する状態から、負荷平衡化処理により、グルーピングが更新される。
【0055】
図10において、受付処理部41は、利用統計情報テーブル180から利用統計情報を取得し(ステップS311)、負荷が平衡するグルーピングを計算する(ステップS312)。複数のグループにおける、負荷の最大値と最小値との差分が予め定めた値以下である場合、負荷が平衡である又は均等であるという。
【0056】
受付処理部41は、計算したグルーピングと現在のグルーピングとを比較して、現在のグルーピングにおいて、グループG1からグループG2に移動するプリンタドライバの識別子を、グループG1の印刷ドライバマスタ410に送信する(ステップS313)。プリンタドライバの識別子の送信では、移動先のグループ名も送信してもよい。
【0057】
印刷ドライバマスタ410は、保持しているプリンタドライバのうち、受信した識別子で特定されるプリンタドライバをグループG2の印刷ドライバマスタ420に送信する(ステップS314)。
【0058】
グループG2の印刷ドライバマスタ420は、グループG1から受信したプリンタドライバを保持するプリンタドライバとして追加する(ステップS315)。そして、印刷ドライバマスタ420は、印刷ライタ320aと印刷ライタ320bとに受信したプリンタドライバを複製し(ステップS316及びS317)、グループG1の印刷ドライバマスタ410に複製完了を通知する(ステップS318)。印刷ドライバマスタ410は、グループG2の印刷ドライバマスタ420から複製完了が通知されると、受付処理部41へ複製完了を通知する(ステップS319)。
【0059】
複製完了の通知に応じて、受付処理部41は、プリンタドライバとグループの対応関係を更新して(ステップS320)、グループG1からグループG2に移動したプリンタドライバの削除を、グループG1の印刷ドライバマスタ410に依頼する(ステップS321)。削除するプリンタドライバの識別子が印刷ドライバマスタ410に送信される。
【0060】
印刷ドライバマスタ410は、保持しているプリンタドライバから受信した識別子で特定されるプリンタドライバを削除し(ステップS322)、印刷ライタ310aと印刷ライタ310bとからも当該プリンタドライバを削除する(ステップS323及びS324)。そして、印刷ドライバマスタ410は、受付処理部41に削除完了を通知する(ステップS325)。
【0061】
次に、上述した受付処理部41による処理について詳述する。図11は、負荷平衡化処理における受付処理部による処理を説明するための図である。図11において、受付処理部41は、現在のグルーピングをグルーピングAとし(ステップS330)、利用統計情報テーブル180から利用統計情報を取得する(ステップS331)。利用統計情報テーブル180の生成方法については、後述される。
【0062】
受付処理部41は、取得した利用統計情報に基づいて、複数のグループ間の負荷が平衡か否かを判断する(ステップS332)。負荷が平衡である場合(ステップS332のYES)、受付処理部41は、この処理を終了する。
【0063】
一方、負荷が平衡でない場合(ステップS332のNO)、受付処理部41は、負荷を均等にするグルーピングEを計算する(ステップS333)。グルーピングEは、メタヒューリスティックなどの近似解法を用いて求めることができる。
【0064】
受付処理部41は、グルーピングAから二つのグループG1及びG2を選択し、同様にグルーピングEから二つのグループG1及びG2を選択する(ステップS334)。グルーピングAからは、ランダムにグループG1及びG2を選択してもよいが、利用統計情報から得られる負荷が最も大きいグループをグループG1に設定することが望ましい。グルーピングAからは、ランダムにグループG1及びG2を選択すればよい。
【0065】
そして、受付処理部41は、グループG1からグループG2に複製させるプリンタドライバの識別子をグループG1の印刷ドライバマスタ410に送信し(ステップS335)、グループG1の印刷ドライバマスタ410からの複製完了の通知を待つ(ステップS336)。受付処理部41は、複製完了の通知に応じて、ドライバ・グループ対応テーブル172のプリンタドライバとグループの対応関係を更新する(ステップS337)。
【0066】
そして、受付処理部41は、グループG1の印刷ドライバマスタ410にグループG2に複製したプリンタドライバの削除を依頼する(ステップS338)。グループG1の印刷ドライバマスタ410からの削除完了の通知に応じて、受付処理部41は、ドライバ・グループ対応テーブル172を参照して、グルーピングAを更新し(ステップS339)、グルーピングAがステップS333で計算したグルーピングEに等しいか否かを判断する(ステップS340)。
【0067】
グルーピングAがグルーピングEに等しくない場合(ステップS340のNO)、受付処理部41は、ステップS333へ戻り、上述した同様の処理を繰り返す。一方、グルーピングAがグルーピングEに等しい場合(ステップS340のYES)、受付処理部41は、ドライバ・グループ対応テーブル172を更新して、この処理を終了する。
【0068】
以下に、本実施例に係る負荷平衡化処理の一例を、種々のテーブルのデータ遷移で説明する。負荷平衡化処理を行うために、受付処理部41は、
・各プリンタ6で印刷された印刷ジョブ7aの数
・各プリンタ6で印刷された枚数
・各プリンタドライバに対応するプリンタ6の数
のいずれかの利用統計情報を作成する。先ず、各プリンタ6で印刷された印刷ジョブ7aの数を示す利用統計情報を作成する第1の作成方法と、第1の作成方法で作成された利用統計情報に基づく第1の負荷平衡化処理とを説明する。
【0069】
受付処理部41は、プリンタ6からの引き取り要求を受け付けるごとに、図12に示すような要求ログテーブル511に、印刷ジョブ7aと引き取り要求を行ったプリンタ6とを対応付けた情報を蓄積する。図12は、第1の作成方法で利用する要求ログテーブルのデータ構成例を示す図である。
【0070】
図12において、要求ログテーブル511は、引き取り要求ごとに、印刷ジョブ7aと印刷処理を行うプリンタ6とを記録したテーブルであり、印刷ジョブID、プリンタ名等の項目を有する。
【0071】
印刷ジョブIDは、印刷ジョブ7aを特定する識別子を示す。プリンタ名は、印刷ジョブ7aに従って印刷処理を行うプリンタ6を特定する識別子を示す。この例では、印刷ジョブID「0001」は、プリンタ名「Prt_1」で特定するプリンタ6から引き取り要求があり、印刷ジョブID「0002」は、プリンタ名「Prt_2」で特定するプリンタ6から引き取り要求があったことを示している。他の記録についても、印刷ジョブIDごとにプリンタ名が示されている。
【0072】
次に、受付処理部41は、印刷ジョブ7a毎のプリンタドライバを特定する。図13は、第1の作成方法におけるドライバ特定テーブルの取得方法について説明するための図である。
【0073】
図13において、図12に示す要求ログテーブル511と、図5に示すプリンタ情報テーブル171とを、プリンタ名を用いて関連付けすることにより、受付処理部41は、要求ログテーブル511の印刷ジョブIDに対してドライバ名を対応付けたドライバ特定テーブル512を得る。
【0074】
ドライバ特定テーブル512は、印刷ジョブID、ドライバ名等の項目を有する。印刷ジョブIDは、要求ログテーブル511に含まれる各印刷ジョブIDを示し、ドライバ名は、プリンタ名を用いた関連付けによりプリンタ情報テーブル171から得られたドライバ名を示す。
【0075】
そして、受付処理部41は、印刷ジョブ7aを印刷データ7cに変換する変換処理を行ったグループを特定する。図14は、第1の作成方法におけるグループ特定テーブルの取得方法について説明するための図である。
【0076】
図14において、図13に示すドライバ特定テーブル512と、図6に示すドライバ・グループ対応テーブル172とを、プリンタ名を用いて関連付けすることにより、受付処理部41は、ドライバ特定テーブル512の印刷ジョブID毎に、グループ名を対応付けたグループ特定テーブル513を得る。
【0077】
受付処理部41は、得られたグループ特定テーブル513を用いて、図15に示すようなグループ毎の変換回数を示す利用統計情報テーブル180−1を得る。図15は、第1の作成方法において作成された利用統計情報テーブルのデータ構成例を示す図である。
【0078】
図15に示す利用統計情報テーブル180−1は、グループ特定テーブル513から得られる、グループ毎の利用統計情報を示すテーブルである。グループ名、変換回数、ドライバ一覧等の項目を有する。
【0079】
グループ名は、グループ特定テーブル513に含まれる、印刷ジョブ7aから印刷データ7cへの変換処理を行ったグループの識別子を示す。変換回数は、グループで行った印刷ジョブ7aを印刷データ7cに変換した回数を示す。ドライバ一覧は、グループに属するプリンタドライバのドライバ名と変換回数とを示す。ドライバ名で特定されるプリンタドライバによって実行された変換処理の回数が、( )内に示されている。
【0080】
この例では、グループ名「Grp_1」のグループでは、変換処理を8回実行し、グループ名「Grp_2」のグループでは、変換処理を2回実行したことを示している。
【0081】
このような利用統計情報を用いて、受付処理部41は、グループの負荷を平衡化する第1の負荷平衡化処理を行う。第1の負荷平衡化処理では、利用統計情報テーブル180−1を参照して、負荷が均等になるように、プリンタドライバをグループへ割当てるグルーピングを行う。
【0082】
図16は、第1の負荷平衡化処理による結果例を示す図である。図16において、受付処理部41は、利用統計情報テーブル180−1を用いた第1の負荷平衡化処理を行って、グループで行われる変換処理の回数が均等になるグルーピング518を得る。グルーピング518は、プリンタドライバ毎に、割り当てたグループを示すテーブルであり、ドライバ名、変換回数、グループ名等の項目を有する。
【0083】
ドライバ名は、変換処理を行ったプリンタドライバを特定する識別子を示す。変換回数は、変換処理を行った回数を示す。グループ名は、プリンタドライバが第1の負荷平衡化処理によって分類されたグループを特定する識別子を示す。
【0084】
この例では、ドライバ名「Drv_A」及び「Drv_B」で特定される2つのプリンタドライバは、グループ名「Grp_1」で特定されるグループに分類されたことを示す。また、ドライバ名「Drv_C」、「Drv_D」、及び「Drv_E」で特定される3つのプリンタドライバは、グループ名「Grp_2」で特定されるグループに分類されたことを示す。
【0085】
そして、負荷平衡化結果519は、第1の負荷平衡化処理によるグルーピング518から得られる負荷平衡化の状態を示す。グループ名「Grp_1」で特定されるグループの変換回数は「5」、また、グループ名「Grp_2」で特定されるグループの変換回数は「5」となり、負荷を均等に分散した結果を得る。
【0086】
次に、各プリンタ6で印刷された枚数を示す利用統計情報を作成する第2の作成方法と、第2の作成方法で作成された利用統計情報に基づく第2の負荷平衡化処理とを説明する。受付処理部41は、プリンタ6からの引き取り要求を受け付けるごとに、図17に示すような要求ログテーブル611に、印刷ジョブ7aと引き取り要求を行ったプリンタ6と枚数とを対応付けた情報を蓄積する。
【0087】
図17は、第2の作成方法で利用する要求ログテーブルのデータ構成例を示す図である。図17において、要求ログテーブル611は、引き取り要求ごとに、印刷ジョブ7aと、印刷処理を行うプリンタ6と、印刷する枚数とを記録したテーブルであり、印刷ジョブID、プリンタ名、枚数等の項目を有する。
【0088】
印刷ジョブIDは、印刷ジョブ7aを特定する識別子を示す。プリンタ名は、印刷ジョブ7aに従って印刷処理を行うプリンタ6を特定する識別子を示す。枚数は、印刷する枚数を示す。
【0089】
この例では、印刷ジョブID「0001」は、プリンタ名「Prt_1」で特定するプリンタ6から引き取り要求があり、印刷する枚数は「1」枚であり、印刷ジョブID「0002」は、プリンタ名「Prt_2」で特定するプリンタ6から引き取り要求があり、印刷する枚数は「13」枚であったことを示している。他の記録についても、印刷ジョブIDごとにプリンタ名、枚数等が示されている。
【0090】
次に、受付処理部41は、印刷ジョブ7a毎のプリンタドライバを特定する。図18は、第2の作成方法におけるドライバ特定テーブルの取得方法について説明するための図である。
【0091】
図18において、図17に示す要求ログテーブル611と、図5に示すプリンタ情報テーブル171とを、プリンタ名を用いて関連付けすることにより、受付処理部41は、要求ログテーブル611の印刷ジョブIDに対してドライバ名を対応付けたドライバ特定テーブル612を得る。
【0092】
ドライバ特定テーブル612は、印刷ジョブID、ドライバ名、枚数等の項目を有する。印刷ジョブIDと枚数とは、要求ログテーブル611の印刷ジョブIDと枚数とを示す。ドライバ名は、プリンタ名を用いた関連付けによりプリンタ情報テーブル171から得られたドライバ名を示す。
【0093】
そして、受付処理部41は、印刷ジョブ7aを印刷データ7cに変換する変換処理を行ったグループを特定する。図19は、第2の作成方法におけるグループ特定テーブルの取得方法について説明するための図である。
【0094】
図19において、図18に示すドライバ特定テーブル612と、図6に示すドライバ・グループ対応テーブル172とを、プリンタ名を用いて関連付けすることにより、受付処理部41は、ドライバ特定テーブル612の印刷ジョブID毎に、グループ名と枚数とを対応付けたグループ特定テーブル613を得る。
【0095】
受付処理部41は、得られたグループ特定テーブル613を用いて、図20に示すようなグループ毎の枚数を示す利用統計情報テーブル180−2を得る。図20は、第2の作成方法において作成された利用統計情報テーブルのデータ構成例を示す図である。
【0096】
図20に示す利用統計情報テーブル180−2は、グループ特定テーブル613から得られる、グループ毎の利用統計情報を示すテーブルである。グループ名、枚数、ドライバ一覧等の項目を有する。
【0097】
グループ名は、グループ特定テーブル613に含まれる、印刷ジョブ7aから印刷データ7cへの変換処理を行ったグループの識別子を示す。枚数は、グループで印刷した枚数(印刷枚数)を示す。ドライバ一覧は、グループに属するプリンタドライバのドライバ名と枚数とを示す。ドライバ名で特定されるプリンタドライバによって実行された印刷枚数が、( )内に示されている。
【0098】
この例では、グループ名「Grp_1」のグループでは、17枚を印刷し、グループ名「Grp_2」のグループでは、29枚を印刷したことを示している。
【0099】
このような利用統計情報を用いて、受付処理部41は、グループの負荷を平衡化する第2の負荷平衡化処理を行う。第2の負荷平衡化処理では、利用統計情報テーブル180−2を参照して、負荷が均等になるように、プリンタドライバをグループへ割当てるグルーピングを行う。
【0100】
図21は、第2の負荷平衡化処理による結果例を示す図である。図21において、受付処理部41は、利用統計情報テーブル180−2を用いた第2の負荷平衡化処理を行って、グループで行われる変換処理の回数が均等になるグルーピング618を得る。グルーピング618は、プリンタドライバ毎に、割り当てたグループを示すテーブルであり、ドライバ名、枚数、グループ名等の項目を有する。
【0101】
ドライバ名は、変換処理を行ったプリンタドライバを特定する識別子を示す。枚数は、印刷した枚数を示す。グループ名は、プリンタドライバが第2の負荷平衡化処理によって分類されたグループを特定する識別子を示す。
【0102】
この例では、ドライバ名「Drv_A」、「Drv_C」、及び「Drv_D」で特定される3つのプリンタドライバは、グループ名「Grp_1」で特定されるグループに分類されたことを示す。また、ドライバ名「Drv_B」及び「Drv_E」で特定される2つのプリンタドライバは、グループ名「Grp_2」で特定されるグループに分類されたことを示す。
【0103】
そして、負荷平衡化結果619は、第2の負荷平衡化処理によるグルーピング618から得られる負荷平衡化の状態を示す。グループ名「Grp_1」で特定されるグループで印刷された枚数は「23」、また、グループ名「Grp_2」で特定されるグループで印刷された枚数は「23」となり、負荷を均等に分散した結果を得る。
【0104】
次に、各プリンタドライバに対応するプリンタ6の台数を示す利用統計情報を作成する第3の作成方法と、第3の作成方法で作成された利用統計情報に基づく第3の負荷平衡化処理とを説明する。受付処理部41は、プリンタ情報テーブル171を参照して、図22に示すようなプリンタドライバ毎のプリンタ数を示すプリンタ数テーブル711を作成する。
【0105】
図22は、第2の作成方法で利用するプリンタ数テーブルの作成を説明するための図である。図22において、受付処理部41は、プリンタ情報テーブル171を参照して、同じドライバ名を示すレコードをカウントすることで、プリンタドライバ毎に対応可能なプリンタ6の個数を取得し、プリンタ数テーブル711を作成する。
【0106】
プリンタ数テーブル711は、プリンタドライバ毎のプリンタ数を示すテーブルであり、ドライバ名、プリンタ数、プリンタ一覧等の項目を有する。プリンタ一覧の項目は、省略可能であるが、第3の作成方法の理解を容易とするため補足して示している。以下の説明についても同様にプリンタ一覧を示すが省略可能である。
【0107】
ドライバ名は、プリンタ情報テーブル171に含まれているプリンタドライバを特定する識別子を示す。プリンタ数は、同じプリンタドライバで対応可能なプリンタ6の個数を示す。プリンタ一覧は、同じプリンタドライバで対応可能なプリンタ6のプリンタ名を示す。
【0108】
この例では、ドライバ名「Drv_A」のプリンタドライバで対応可能なプリンタ数は「4」台であり、「Prt_1」、「Prt_3」、「Prt_5」、及び「Prt_7」のプリンタ6であることが示されている。ドライバ名「Drv_B」のプリンタドライバで対応可能なプリンタ数は「1」台であり、「Prt_2」のプリンタ6であることが示されている。ドライバ名「Drv_C」、「Drv_D」、及び「Drv_E」のプリンタドライバについては、プリンタ数「1」が示されて、それぞれ対応可能なプリンタ6は「Prt_4」、「Prt_6」、及び「Prt_8」である。
【0109】
次に、受付処理部41は、プリンタドライバ毎のグループを特定する。図23は、第3の作成方法におけるグループ特定テーブルの取得方法について説明するための図である。
【0110】
図23において、図22に示すプリンタ数テーブル711と、図6に示すドライバ・グループ対応テーブル172とを、プリンタ名を用いて関連付けすることにより、受付処理部41は、プリンタ数テーブル711のドライバ名に対してドライバ名を対応付けたグループ特定テーブル713を得る。
【0111】
グループ特定テーブル713は、ドライバ名、プリンタ数、グループ名等の項目を有する。ドライバ名とプリンタ数とは、プリンタ数テーブル711のドライバ名とプリンタ数とを示す。グループ名は、ドライバ名を用いた関連付けによりプリンタ情報テーブル171から得られたドライバ名を示す。
【0112】
そして、受付処理部41は、得られたグループ特定テーブル713を用いて、図24に示すようなグループ毎のプリンタ数を示す利用統計情報テーブル180−3を得る。図24は、第3の作成方法において作成された利用統計情報テーブルのデータ構成例を示す図である。
【0113】
図24に示す利用統計情報テーブル180−3は、グループ特定テーブル713から得られる、グループ毎の利用統計情報を示すテーブルである。グループ名、プリンタ数、ドライバ一覧等の項目を有する。
【0114】
グループ名は、グループ特定テーブル713に含まれるグループ名を示す。プリンタ数は、グループで利用可能なプリンタ6の台数を示す。ドライバ一覧は、グループに属するプリンタドライバのドライバ名を示す。
【0115】
この例では、グループ名「Grp_1」のグループでは、「Drv_A」、「Drv_C」、及び「Drv_E」のプリンタドライバが6台のプリンタ6に対して利用可能であることを示している。グループ名「Grp_2」のグループでは、「Drv_B」、及び「Drv_D」のプリンタドライバが2台のプリンタ6に対して利用可能であることを示している。
【0116】
このような利用統計情報を用いて、受付処理部41は、グループの負荷を平衡化する第3の負荷平衡化処理を行う。第3の負荷平衡化処理では、利用統計情報テーブル180−3を参照して、負荷が均等になるように、プリンタドライバをグループへ割当てるグルーピングを行う。
【0117】
図25は、第3の負荷平衡化処理による結果例を示す図である。図25において、受付処理部41は、利用統計情報テーブル180−3を用いた第3の負荷平衡化処理を行って、グループ毎のプリンタ数が均等になるグルーピング718を得る。グルーピング718は、プリンタドライバ毎に、対応可能なプリンタ6の台数と、分類されたグループを示すテーブルであり、ドライバ名、プリンタ数、グループ名等の項目を有する。
【0118】
ドライバ名は、プリンタ情報テーブル171に含まれるドライバ名を示す。プリンタ数は、プリンタドライバが対応可能なプリンタ6の台数を示す。グループ名は、プリンタドライバが第3の負荷平衡化処理によって分類されたグループを特定する識別子を示す。
【0119】
この例では、ドライバ名「Drv_A」のプリンタドライバは、4台のプリンタ6に対して利用可能であり、グループ名「Grp_1」のグループに分類されたことを示す。また、ドライバ名「Drv_B」、「Drv_C」、「Drv_D」、及び「Drv_E」のプリンタドライバは、それぞれ1台のプリンタ6に対して利用可能であり、グループ名「Grp_2」のグループに分類されたことを示す。
【0120】
そして、負荷平衡化結果719は、第3の負荷平衡化処理によるグルーピング718から得られる負荷平衡化の状態を示す。グループ名「Grp_1」で特定されるグループでは、4台のプリンタ6に対する印刷処理を可能とする。また、グループ名「Grp_2」で特定されるグループでも、4台のプリンタ6に対する印刷処理を可能とする。よって、印刷処理の負荷を均等にした結果を得る。
【0121】
上述した利用統計情報テーブル180−1、180−2、及び180−3のそれぞれが利用統計情報テーブル180に相当する。利用統計情報テーブル180は、予め定めた時間間隔で、受付処理部41によって作成されても良いし、図10のステップS311、又は、図11のステップS331にて、受付処理部41によって作成されてもよい。
【0122】
上述したグルーピング518、618、及び718のそれぞれが、図11に示すフローチャート図におけるグルーピングEに相当する。得られたグルーピング518、618、又は718に等しくなるように、プリンタドライバをグループ間で移動させた後、ドライバ・グループ対応テーブル172は更新される。ドライバ・グループ対応テーブル172において、グループ名を変更する際には、負荷分散装置IDもグループ名に対応させて変更される。
【0123】
上述したシステム1000におけるハードウェア構成について説明する。図26は、クライアント端末のハードウェア構成を示す図である。図26において、クライアント端末5は、コンピュータによって制御されるタブレット型、携帯電話等の情報処理端末であって、CPU(Central Processing Unit)11と、主記憶装置12と、ユーザI/F(インターフェース)16と、通信I/F17と、ドライブ装置18とを有し、バスB5に接続される。
【0124】
CPU11は、主記憶装置12bに格納されたプログラムに従ってクライアント端末5を制御するプロセッサに相当する。主記憶装置12には、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を記憶又は一時保存する。主記憶装置12に格納されているプログラムが、CPU11に実行されることによって、各種処理が実現される。
【0125】
ユーザI/F16は、CPU11の制御のもとに必要な各種情報を表示し、また、ユーザによる操作入力を可能とするタッチパネル等である。通信I/F17による通信は無線又は有線に限定されるものではない。
【0126】
クライアント端末5によって行われる処理を実現するプログラムは、ネットワーク2を介して外部装置からダウンロードされる。或いは、予めクライアント端末5の主記憶装置12又は記憶媒体19に記憶されていても良い。主記憶装置12及び/又は記憶媒体19が記憶部13に相当する。
【0127】
ドライブ装置18は、ドライブ装置18にセットされた記憶媒体19(例えば、SD(Secure Digital)メモリカード等)とクライアント端末5とのインターフェースを行う。尚、記憶媒体19は、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。
【0128】
クライアント端末5は、デスクトップ型、ノートブック型、ラップトップ型等の情報処理端末であっても良く、そのハードウェア構成は、後述されるサーバ装置100等のハードウェア構成と同様であるので、その説明を省略する
図27は、プリンタのハードウェア構成を示す図である。図27において、プリンタ6は、コンピュータによって制御される印刷機能を有し、CPU61と、主記憶装置62と、画像形成部65と、ユーザI/F66と、通信I/F67と、ドライブ装置68とを有し、バスB6に接続される。
【0129】
CPU61は、主記憶装置62に格納されたプログラムに従ってプリンタ6を制御するプロセッサに相当する。主記憶装置62には、RAM、ROM等が用いられ、CPU61にて実行されるプログラム、CPU61での処理に必要なデータ、CPU61での処理にて得られたデータ等を記憶又は一時保存する。主記憶装置62に格納されているプログラムが、CPU61に実行されることによって、印刷処理を含む種々の処理が実現される。
【0130】
ユーザI/F66は、CPU61の制御のもとに必要な各種情報を表示し、また、ユーザによる操作入力を可能とするタッチパネル等である。通信I/F67による通信は無線又は有線に限定されるものではない。
【0131】
プリンタ6によって行われる処理を実現するプログラムは、予めプリンタ6の主記憶装置62又は記憶媒体69に記憶されていても良い。主記憶装置62及び/又は記憶媒体69が記憶部63に相当する。
【0132】
ドライブ装置68は、ドライブ装置68にセットされた記憶媒体69(例えば、SD(Secure Digital)メモリカード等)とプリンタ6とのインターフェースを行う。尚、記憶媒体69は、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい
図28は、サーバ装置のハードウェア構成を示す図である。図28において、サーバ装置100は、コンピュータによって制御される情報処理装置であって、CPU111と、主記憶装置112と、補助記憶装置113と、入力装置114と、表示装置115と、通信I/F117と、ドライブ装置118とを有し、バスB1に接続される。
【0133】
CPU111は、主記憶装置112に格納されたプログラムに従ってサーバ装置100を制御するプロセッサに相当する。主記憶装置112には、RAM、ROM等が用いられ、CPU111にて実行されるプログラム、CPU111での処理に必要なデータ、CPU111での処理にて得られたデータ等を記憶又は一時保存する。
【0134】
補助記憶装置113には、HDD(Hard Disk Drive)等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置113に格納されているプログラムの一部が主記憶装置112にロードされ、CPU111に実行されることによって、各種処理が実現される。主記憶装置112及び/又は補助記憶装置113は、記憶部130に相当する。
【0135】
入力装置114は、マウス、キーボード等を有し、管理者等のユーザがサーバ装置100による処理に必要な各種情報を入力するために用いられる。表示装置115は、CPU111の制御のもとに必要な各種情報を表示する。入力装置114と表示装置115とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信I/F117は、有線又は無線などのネットワークを通じて通信を行う。通信I/F117による通信は無線又は有線に限定されるものではない。
【0136】
ドライブ装置118は、ドライブ装置118にセットされた記憶媒体119(例えば、CD−ROM(Compact Disc Read-Only Memory)等)とサーバ装置100とのインターフェースを行う。
【0137】
サーバ装置100によって行われる処理を実現するプログラムは、例えば、CD−ROM等の記憶媒体119によってサーバ装置100に提供される。記憶媒体119に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体119に格納されたプログラムは、ドライブ装置118を介してサーバ装置100にインストールされる。インストールされたプログラムは、サーバ装置100により実行可能となる。
【0138】
尚、プログラムを格納する記憶媒体119はCD−ROMに限定されず、コンピュータが読み取り可能な、構造(structure)を有する1つ以上の非一時的(non-transitory)な、有形(tangible)な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVD(Digital Versatile Disk)ディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【0139】
サーバ装置100は、図1に示すように、受付処理部41を有し、受付処理部41は、サーバ装置100にインストールされたプログラムが、サーバ装置100のCPU111に実行させる処理により実現される。また、記憶部130には、図5に示すプリンタ情報テーブル171、図6に示すドライバ・グループ対応テーブル172等が記憶される。
【0140】
更に、CPU111(即ち、受付処理部41)が、第1の作成方法で作成された利用統計情報に基づく第1の負荷平衡化処理を行う場合には、記憶部130に、図13図16で説明した種々のテーブル等が記憶される。少なくとも、要求ログテーブル511、ドライバ特定テーブル512、グループ特定テーブル513、利用統計情報テーブル180−1、グルーピング518、負荷平衡化結果519等が記憶部130に記憶される。
【0141】
CPU111(即ち、受付処理部41)が、第2の作成方法で作成された利用統計情報に基づく第2の負荷平衡化処理を行う場合には、記憶部130に、図17図21で説明した種々のテーブル等が記憶される。少なくとも、要求ログテーブル611、ドライバ特定テーブル612、グループ特定テーブル613、利用統計情報テーブル180−2、グルーピング618、負荷平衡化結果619等が記憶部130に記憶される。
【0142】
CPU111(即ち、受付処理部41)が、第3の作成方法で作成された利用統計情報に基づく第3の負荷平衡化処理を行う場合には、記憶部130に、図22図25で説明した種々のテーブル等が記憶される。少なくとも、プリンタ数テーブル711、グループ特定テーブル713、利用統計情報テーブル180−3、グルーピング718、負荷平衡化結果719等が記憶部130に記憶される。
【0143】
図29は、負荷分散装置のハードウェア構成を示す図である。図29において、負荷分散装置200は、コンピュータによって制御される情報処理装置であって、CPU211と、主記憶装置212と、補助記憶装置213と、入力装置214と、表示装置215と、通信I/F217と、ドライブ装置218とを有し、バスB2に接続される。
【0144】
CPU211と、主記憶装置212と、補助記憶装置213と、入力装置214と、表示装置215と、通信I/F217と、ドライブ装置218のそれぞれの機能は、負荷分散装置200のCPU211と、主記憶装置212と、補助記憶装置213と、入力装置214と、表示装置215と、通信I/F217と、ドライブ装置218と同様であるため、詳細な説明を省略する。主記憶装置212及び/又は補助記憶装置213は、記憶部230に相当する。
【0145】
図30は、印刷ライタのハードウェア構成を示す図である。図30において、印刷ライタ300は、コンピュータによって制御される情報処理装置であって、CPU311と、主記憶装置312と、補助記憶装置313と、入力装置314と、表示装置315と、通信I/F317と、ドライブ装置318とを有し、バスB3に接続される。
【0146】
CPU311と、主記憶装置312と、補助記憶装置313と、入力装置314と、表示装置315と、通信I/F317と、ドライブ装置318のそれぞれの機能は、印刷ライタ300のCPU311と、主記憶装置312と、補助記憶装置313と、入力装置314と、表示装置315と、通信I/F317と、ドライブ装置318と同様であるため、詳細な説明を省略する。主記憶装置312及び/又は補助記憶装置313は、記憶部330に相当する。
【0147】
図31は、印刷ドライバマスタのハードウェア構成を示す図である。図31において、印刷ドライバマスタ400は、コンピュータによって制御される情報処理装置であって、CPU411と、主記憶装置412と、補助記憶装置413と、入力装置414と、表示装置415と、通信I/F417と、ドライブ装置418とを有し、バスB4に接続される。
【0148】
CPU411と、主記憶装置412と、補助記憶装置413と、入力装置414と、表示装置415と、通信I/F417と、ドライブ装置418のそれぞれの機能は、印刷ドライバマスタ400のCPU411と、主記憶装置412と、補助記憶装置413と、入力装置414と、表示装置415と、通信I/F417と、ドライブ装置418と同様であるため、詳細な説明を省略する。主記憶装置412及び/又は補助記憶装置413は、記憶部430に相当する。
【0149】
上述より、本実施例によれば、グループ毎に、負荷分散装置200が、印刷ジョブ7aから印刷データ7cへの変換処理の負荷が均等になるように、印刷ライタ300を選択する。よって、システム1000全体において、グループ間の印刷に係る処理負荷を均等にすることができる。
【0150】
また、各グループに、負荷分散装置200に加えて、印刷ドライバマスタ400を備えることで、グループ内の各印刷ライタ300へのプリンタドライバの追加及び更新を効率的に行える。更に、印刷ライタ300を追加する場合には、印刷ドライバマスタ400からプリンタドライバを複製するのみで、効率的に印刷ライタ300の追加を行える。このような構成により、グループそれぞれにおける印刷処理を停止させることなくプリンタドライバの調整を行うことができる。
【0151】
上述したように、本実施例では、プリンタ6がサーバ装置100へ印刷データ7cの引き取り要求を行う場合で説明したが、この例に限定されない。本実施例は、クライアント端末5がサーバ装置100へ送信する印刷ジョブ7aに出力先のプリンタ6が指定されている場合にも適応可能である。この場合は、サーバ装置100の受付処理部41は、印刷ジョブ7aを含む印刷要求の受信に応じて、上述した処理を行えばよい。
【0152】
図10及び図11において、ステップS152の処理は特定部に相当し、ステップS135の処理は実行部に相当し、ステップS136の処理は変換部に相当し、ステップS139の処理は送信部に相当する。ステップS154の処理は、実行部、変換部、及び送信部による処理を含む。ステップS332〜S340の処理は再編成部に相当する。
【0153】
本実施例における、印刷ライタ300がマシンに相当し、グループ内の印刷ライタ300に複製される複数のプリンタドライバが印刷ドライバセットに相当する。
【0154】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【符号の説明】
【0155】
2 ネットワーク
5 クライアント端末
6 プリンタ
7a 印刷ジョブ
7c 印刷データ
41 受付処理部
100 サーバ装置
171 プリンタ情報テーブル
172 ドライバ・グループ対応テーブル
180、180−1、180−2、180−3 利用統計情報テーブル
200 負荷分散装置
300、310a、310b、320a、320b 印刷ライタ
400、410、420 印刷ドライバマスタ
1000 システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31