<実施形態>
以下に、図面を参照しながら本発明の実施形態について説明する。
<構成>
図1は、本発明の一実施形態である画像形成システム100の構成を示すブロック図である。画像形成システム100は、通信端末10と、画像形成装置20A、20B及び20Cと、認証サーバ30と、ネットワークNWとを備える。画像形成装置20A、20B及び20Cを区別する必要がない場合には、符号の末尾に付された文字を省略して、画像形成装置20という。また、画像形成装置20及び通信端末10の数は、図1に示したものに限らない。ネットワークNWは、例えば携帯電話網や無線LAN(Local Area Network)などの移動通信網やインターネットなどの固定通信網を含む通信網である。
通信端末10は、例えば携帯電話機、無線LANに接続可能な無線端末、通信機能を備えたPC(Personal Computer)のような、画像形成装置20と通信が可能な通信端末であって、図1ではPCの例を挙げている。画像形成装置20は、例えば電子写真方式のプリンタである。画像形成装置20は、通信端末10から送信されてきたPDL(Page Description Language)データを格納する格納先を備えている。ここでPDLデータとは、ユーザが通信端末10を用いて指示した印刷内容に関するデータであって、ユーザを識別するユーザIDや、印刷対象となる画像をPDL形式で表現した画像データや、印刷が指示された時刻情報などが含まれる。なお、ここで印刷とは、電子写真方式で画像を形成することを指す。また、PDLデータには、画像データに限らず、文書データや、処理の途中で作成されるいわゆる中間データなどが含まれていてもよい。画像形成装置20の各々を識別する情報は、例えば、画像形成装置20に割り当てられた名称やIP(Internet Protocol)アドレスで表される。認証サーバ30は、ユーザID及びパスワードの組と、各画像形成装置20に格納されたPDLデータに関する情報が集約されたPDL格納情報とを記憶したサーバ装置である。
図2は、通信端末10のハードウェア構成を示すブロック図である。通信端末10は、制御部11、記憶部12、通信部13、操作部14及び表示部15を有する。各部はバスによって電気的に接続されている。制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)のほか、時間を計測する計時手段を有する。CPUは、ROM又は記憶部12に記憶されている制御プログラムを実行することにより制御部11と接続されている各部を制御する。
通信部13は、制御部11の制御の下で、画像形成装置20と通信を行う。操作部14は、クリック操作を受け付けるマウスや複数のキーを有しており、ユーザによってこれらのマウスやキーが操作されるとその操作内容に応じた信号を制御部11へ供給する。制御部11は、この信号に基づいて操作内容を判断して処理を行う。表示部15は、例えば液晶ディスプレイのような表示体やVRAM(Video Random Access Memory)などのメモリを備えており、制御部11の制御の下で各種の画像を液晶ディスプレイに表示する。記憶部12は、例えばハードディスクのような記憶装置であって、例えば制御プログラムや閾値やプリンタドライバ121を記憶する。プリンタドライバ121は、画像形成装置20を制御する機能を有するプログラムである。
プリンタドライバ121には、予めユーザIDとスプーラ情報とが対応付けて設定されている。スプーラ情報は、通信端末10から送信されるPDLデータが格納される格納先を示す情報である。スプーラ情報には、各画像形成装置20に割り当てられたIPアドレスや各画像形成装置20の名称が含まれる。例えば、プリンタドライバ121には、ユーザID「user001」と、画像形成装置20Aに割り当てられたIPアドレス「192.168.227.101」とが対応付けて設定されているといった具合である。なお、プリンタドライバ121に設定されたスプーラ情報は、ユーザが操作部14を用いて変更可能としてもよい。
図3は、画像形成装置20のハードウェア構成を示すブロック図である。画像形成装置20は、制御部21、記憶部22、通信部23、UI(User Interface)部24及び画像形成部25を有するコンピュータとして構成されている。各部はバスによって電気的に接続されている。制御部21は、CPU、ROM及びRAMを有する。CPUは、ROM又は記憶部22に記憶されている制御プログラムを実行することにより制御部21と接続されている各部を制御する。通信部23は、制御部21の制御の下で、通信端末10及び認証サーバ30と通信を行う。UI部24は、例えばタッチスクリーンとキーとを有する。UI部24は、ユーザの操作内容に応じた信号を制御部21へ供給する。制御部21は、この信号に基づいて操作内容を判断し、例えば印刷処理を実行したり、画像をタッチスクリーンに表示させたりする。画像形成部25は、画像データに応じた画像を用紙に形成する。記憶部22は、例えばハードディスクのような記憶装置であって、例えば制御プログラムや参照先アドレス221を記憶する。参照先アドレス221は、各ユーザについて、参照先アドレス221を記憶する画像形成装置20から参照が許可された他の画像形成装置20のIPアドレスを対応付けたデータである。ここで、参照が許可されるとは、ある画像形成装置20が自装置とは異なる他の画像形成装置20と通信可能であることを表す。記憶部22は、画像形成装置20が備えるものに限らず、例えば外付けのハードディスクやUSB(Universal Serial Bus)メモリであってもよい。
画像形成装置20は、その動作のモードとして通常モードと節電モードとを備える。通常モードは、画像形成装置20がその消費電力を節約するための制御を行わないモードである。節電モードは、画像形成装置20がその消費電力を節約するための制御を行うモードである。例えば午前中や昼間といったユーザが画像形成装置20を使用する可能性の高い時間帯には、画像形成装置20の動作のモードは通常モードに設定されている。そして、例えば、昼休みや深夜といった使用者の少ない時間帯に含まれる予め決められた時刻が到来すると、画像形成装置20は動作のモードを節電モードに変更してその消費電力を節約する制御を行う。その後、例えば予め決められた期間が経過するなどの所定のタイミングで、画像形成装置20は、動作のモードを通常モードに変更する。画像形成装置20の動作のモードは、記憶部22に記憶されている。
図4は、参照先アドレス221の一例を示す図である。図に示すとおり、参照先アドレス221には、ユーザIDと、このユーザIDを用いて参照可能な画像形成装置20のIPアドレスとが対応付けて記述されている。
図5は、認証サーバ30のハードウェア構成を示すブロック図である。認証サーバ30は、制御部31、記憶部32及び通信部33を有する。各部はバスによって電気的に接続されている。制御部31は、CPU、ROM及びRAMを有するコンピュータとして構成されている。CPUは、ROM又は記憶部32に記憶されている制御プログラムを実行することにより制御部31と接続されている各部を制御する。通信部33は、制御部31の制御の下で、画像形成装置20と通信を行う。記憶部32は、例えばハードディスクのような記憶装置であって、例えば制御プログラムやPDL格納情報321を記憶する。
図6は、PDL格納情報321の一例を示す図である。PDL格納情報321は、「PDL識別子」、「ユーザID」、「IPアドレス」、「PDL格納先」、「データサイズ」、「出力回数」、「直近の出力時刻」及び「他のデバイスからのリモートによる出力指示」といった複数の項目からなる。「PDL識別子」は、各々のPDL格納情報を一意に識別する識別子であり、例えば4桁の数字の組み合わせからなる。「ユーザID」は上述したとおりである。「IPアドレス」は、PDLデータの格納先に相当する記憶部22を備えた画像形成装置20に割り当てられたIPアドレスである。「PDL格納先」は、PDLデータの格納先を示し、PDLデータにおける画像データのファイル名を含むファイルパスで表される。例えば、図6に示すように、ユーザIDが「User02」であって、IPアドレスが「192.168.227.102」であるPDL格納情報において、PDLデータにおける画像データのファイル名は「PDL−Z」である。「データサイズ」は、PDLデータのデータサイズであり、ここでは、Kbyte(キロバイト)を単位とする。「出力回数」は、PDLデータに基づいて出力が行われた回数である。ここでPDLデータに基づく出力とは、PDLデータに基づく画像が形成された用紙が排出されることをいう。「直近の出力時刻」は、画像形成システム100全体において、PDLデータに基づく出力が行われた時刻のうち最も新しい時刻を表す。「他のデバイスからのリモートによる出力指示」は、例えば或る画像形成装置20を画像形成装置20Aとすると、画像形成装置20Aに格納されたPDLデータの出力を指示した他の画像形成装置20のIPアドレス及び他の画像形成装置20からの指示に基づいて画像形成装置20Aに格納されたPDLデータが出力された回数を表す。つまり、リモートによる出力指示とは、或る画像形成装置20が、自装置とは異なる他の画像形成装置20に格納されたPDLデータを自装置から出力させる指示をするということである。
図7は、画像形成システム100の機能的構成を表すブロック図である。
画像形成装置20は、画像データに応じた画像を形成する画像形成装置の一例である。記憶部22は、画像データを記憶する記憶手段の一例である。制御部21により実現される判定部211は、自装置が備える記憶部22の使用量が閾値を超えるか否かを判定する判定手段の一例である。制御部21により実現される選択部212は、判定部211により記憶部22の使用量が閾値を超えると判定された場合には、この記憶部22に記憶された画像データのうち転送の対象となる画像データを選択する選択手段の一例である。制御部21により実現される特定部213は、転送の対象となる画像データの転送先となる、自装置以外の画像形成装置を特定する特定手段の一例である。制御部21により実現される転送部214は、特定部213により特定された転送先である画像形成装置20に対し、選択部212により選択された画像データを転送する転送手段の一例である。
図8は、画像形成システム100の動作を示すフローチャートである。以降のフローチャートの説明において、「ユーザ」とは「User01」のユーザIDが割り当てられたユーザを指す。このユーザが通信端末10を操作して印刷の指示を行うと、通信端末10のプリンタドライバ121に設定された画像形成装置20に対し、通信端末10からPDLデータが送信される。これを受信した画像形成装置20は、受信したPDLデータを記憶部22に記憶させる、すなわち格納先に格納させる。そしてこの画像形成装置20の制
御部21は、通信部23を用いて、格納したPDLデータに基づく情報を認証サーバ30に送信する。この送信される情報には、ユーザID(ここでは「User01」)と、自装置のIPアドレスと、自装置におけるPDLデータの格納先と、PDLデータのデータサイズとが含まれる。認証サーバ30の制御部31は、通信部33を用いて受信したこれらの情報に基づくPDL格納情報を生成して記憶部32に記憶させる。このとき制御部31は、新たに採番したPDL識別子を生成したPDL格納情報に付与する。制御部31は、通信部23を用いて、PDLデータを送信した画像形成装置20に対して上記付与したPDL識別子を送信する。通信部23を用いてこれを受信した画像形成装置20の制御部21は、受信したPDL識別子を、認証サーバ30に送信したPDLデータと対応付けて記憶部22に記憶させる。
その後、このユーザは、「192.168.227.101」というIPアドレスが割り当てられた画像形成装置20Aがある場所に移動し、この画像形成装置20Aを操作して画像の出力を指示するものとする。なお、図8の処理フローが実行される前の段階で、ユーザは、画像形成装置20AにおいてユーザID及びパスワードを入力し、これらが画像形成装置20Aから認証サーバ30に送信されて認証サーバ30によるユーザ認証を完了しており、画像形成装置20Aの制御部21Aは、認証時に入力されたユーザIDをRAMに記憶させている。まず、図8に示すフローチャートを用いて一連の処理の概要を説明してから、各処理について詳述する。
制御部21Aは、ユーザが印刷の指示を行うことで通信端末10から送信されてきたPDLデータを記憶部22に格納する(PDL格納処理;ステップS1a)。そして制御部21Aは、記憶部22Aにおける空き容量を調べて、自装置の記憶部22Aに格納されたPDLデータのうち、この記憶部22Aにおける空き容量を確保するために他の画像形成装置20に転送する必要のあるPDLデータがあるか否かを判定する(PDL転送判定処理;ステップS2a)。次に制御部21Aは、転送対象のPDLデータを選択する(転送対象PDL選択処理;ステップS3a)。次に制御部21Aは、選択したPDLデータの転送先となる他の画像形成装置20を特定する(PDL転送先特定処理;ステップS4a)。そして制御部21Aは、通信部23Aを用いて、選択したPDLデータを特定した画像形成装置20に送信する(PDL転送処理;ステップS5a)。
図9は、PDL格納の処理を示すフローチャートである。制御部21Aは、通信端末10から送信されてきたPDLデータを通信部23Aが受信した場合(ステップS101a;Yes)、受信したPDLデータをRAMに記憶させる(ステップS102a)。このPDLデータに含まれる画像データのファイル名は「PDL−D」であるとする。一方、通信部23AがPDLデータを受信していない場合(ステップS101a;No)、処理は図9のフローチャートの処理を終えて図10の処理に移行する。ステップS102aの次に、制御部21Aは、RAMに記憶されたPDLデータを記憶部22に記憶させたと仮定して、記憶部22Aに記憶されることになる各種データの総データサイズが第1の閾値を超えるか否かを判定する(ステップS103a)。第1の閾値は、記憶容量に関する閾値として予め決められており、記憶部22Aに記憶されている。
上記のデータサイズが第1の閾値を超えない場合(ステップS103a;No)、制御部21Aは、ステップS102aでRAMに記憶されたPDLデータ(PDL−D)を格納先、すなわち記憶部22Aに記憶させる(ステップS104a)。そして制御部21Aが、通信部23Aを用いて、RAMに記憶されたPDLデータを認証サーバ30に送信することで、PDL格納情報321が更新される(ステップS105a)。具体的には、ステップS105aで、認証サーバ30の制御部31は、通信部33を用いてPDLデータを受信すると、受信したPDLデータに基づいてPDL格納情報を更新する。
一方、上記のデータサイズが第1の閾値を超える場合(ステップS103a;Yes)、制御部21AはRAMに記憶されたPDLデータに基づく出力処理を中止し、出力処理が中止されたか否かを示す出力中止フラグを、出力処理が中止されたことを示すオンに設定してRAMに記憶させる(ステップS106a)。そして制御部21Aは、PDLデータの転送を行うべきか否かを示す転送フラグを、PDLデータの転送を行うことを示すオンに設定してRAMに記憶させる(ステップS107a)。ここでは、上記の総データサイズが第1の閾値を超えて(ステップS103a;Yes)、ステップS106a及び107aの処理が行われたものとする。
図10は、PDL転送判定の処理を示すフローチャートである。制御部21Aは、RAMに記憶された転送フラグがオンに設定されているか否かを判定する(ステップS201a)。転送フラグがオンに設定されている場合(ステップS201a;Yes)、制御部21Aは、図10のフローチャートの処理を終えて図11の処理に移行する。転送フラグがオンに設定されていない場合(ステップS201a;No)、制御部21Aは、予め決められた時刻が到来しているか否かを判定する(ステップS202a)。予め決められた時刻は、例えば1時間毎や30分毎などの予め決められた周期で設定されたものであってもよいし、昼休み又は深夜など、特定の時間帯に属する時刻であってもよい。予め決められた時刻及び予め決められた周期は記憶部22Aに記憶されており、UI部24Aを用いてユーザにより変更可能としてもよい。予め決められた時刻が到来していない場合(ステップS202a;No)、制御部21Aは、予め決められた時刻が到来するまでステップS202aの判定を繰り返す。予め決められた時刻が到来している場合(ステップS202a;Yes)、制御部21Aは、記憶部22に記憶されている各種データの総データサイズが第2の閾値を超えるか否かを判定する(ステップS203a)。第2の閾値は、記憶容量に関する閾値であって記憶部22Aに記憶されており、第1の閾値よりも小さい値である。
記憶部22Aに記憶されている各種データの総データサイズが第2の閾値を超える場合(ステップS203a;Yes)、制御部21Aは、転送フラグをオンに設定してRAMに記憶させる(ステップS204a)。一方、上記総データサイズが第2の閾値を超えない場合(ステップS203a;No)、制御部21Aは、記憶部22Aに記憶された内容に基づいて画像形成装置20Aの動作のモードが節電モードであるか否かを判定する(ステップS205a)。節電モードでない場合(ステップS205a;No)、制御部21Aは、図10のフローチャートの処理を終えて図11の処理に移行する。節電モードである場合(ステップS205a;Yes)、制御部21Aは、記憶部22Aに記憶されている各種データの総データサイズが第2の閾値を超えるか否かを判定する(ステップS206a)。上記総データサイズが第2の閾値を超えていない場合(ステップS206a;No)、制御部21Aは、図10のフローチャートの処理を終えて図11の処理に移行する。上記総データサイズが第2の閾値を超えている場合(ステップS206a;Yes)、制御部21Aは、転送フラグをオンに設定してRAMに記憶させる(ステップS204a)。
図11は、転送対象PDL選択の処理を示すフローチャートである。制御部21Aは、RAMに記憶された転送フラグがオンであるか否かを判定する(ステップS301a)。転送フラグがオフである場合(ステップS301a;No)、制御部21Aは、図11のフローチャートの処理を終えて図9の処理に移行する。一方、転送フラグがオンである場合(ステップS301a;Yes)、制御部21Aは、通信部23Aを用いて、認証サーバ30からPDL格納情報321を取得し、これをRAMに記憶させる(ステップS302a)。具体的にはステップS302aで、制御部21Aは、RAMに記憶されたユーザID(ここではUser01)をキーとしてPDL格納情報321を検索するよう認証サーバ30に指示する。この指示に応じて認証サーバ30の制御部31は、「User01」というユーザIDを含むPDL格納情報321を検索し、通信部33を用いてその検索結果を画像形成装置20Aに送信する。
次に、制御部21Aは、RAMに記憶されたPDL格納情報のうち、他のデバイスからのリモートによる出力指示の回数が予め決められた第3の閾値を超えるPDL格納情報があるか否かを判定する(ステップS303a)。第3の閾値は、リモートによる出力指示の回数について決められた値であり、例えば「5」である。RAMに記憶されたPDL格納情報321のうち、他のデバイスからのリモートによる出力指示の回数が第3の閾値を超えるPDL格納情報がある場合(ステップS303a;Yes)、制御部21Aは、このPDL格納情報を選択してRAMに記憶させる(ステップS304a)。ここでは、図6に示すように、「PDL識別子」が「0001」であって、「PDL格納先」に「PDL−A」をファイルパスとして含むPDL格納情報が、制御部21Aによって選択されてRAMに記憶される。
次に制御部21aは、記憶部22の使用量が第2の閾値を超えるか否かを判定する(ステップS305a)。具体的にはステップS305aで制御部21Aは、記憶部22Aに記憶されている各種データの総データサイズから、選択されてRAMに記憶されたPDL格納情報によって示されるPDLデータのデータサイズを減算し、その減算後の値が、第2の閾値を越えるか否かを判定する。記憶部22の使用量が第2の閾値を超えない場合(ステップS305a;No)、制御部21aは図11のフローチャートの処理を終えて図12の処理に移行する。一方、記憶部22の使用量が第2の閾値を超える場合(ステップS305a;Yes)、制御部21Aは処理をステップS303aに戻す。ここでは、記憶部22Aに記憶されている各種データの総データサイズが「5120Kbyte」であり、第2の閾値が「4096Kbyte」であったとする。転送対象として選択された「PDL−A」のPDLデータのデータサイズは図6に示すように「512Kbyte」なので、上記総データサイズから転送対象であるPDLデータのデータサイズを減算した値「4608Kbyte」は、第2の閾値を超えている。従って、ここでは制御部21Aが、記憶部22Aの使用量が第2の閾値を超えていると判定し(ステップS305a;Yes)、処理をステップS303aに戻したとする。
ステップS303aの処理に戻ると、制御部21は、過去に行ったステップS303a〜304aの処理で選択したPDL格納情報を除外したうえで、ステップS303aの判定を再び行う。ここで、図6に示すように、RAMに記憶されたPDL格納情報のうち、他のデバイスからのリモートによる出力指示の回数が第3の閾値「5」を超えるPDL格納情報がこれ以上ないため(ステップS303a;No)、制御部21Aは処理をステップS306aに進める。制御部21Aは、RAMに記憶されたPDL格納情報のうち、直近の出力時刻が予め決められた期間以上過去であるPDL格納情報があるか否かを判定する(ステップS306a)。ここでは、予め決められた期間は、例えば「3日間」である。ステップS306aにおいて制御部21Aは、RAMに記憶されたPDL格納情報に含まれる直近の出力時刻と、計時手段から取得した現在時刻とを比較して、現在時刻から3日つまり72時間以上過去の「直近の出力時刻」を含むPDL格納情報があるか否かを判定する。このようなPDL格納情報がある場合(ステップS306a;Yes)、制御部21Aは、このPDL格納情報を選択してRAMに記憶させる(ステップS307a)。ここでは、図6に示すように、「PDL識別子」が「0002」であって、「PDL格納先」に「PDL−B」をファイルパスとして含むPDL格納情報が、制御部21Aによって選択されてRAMに記憶される。上記のようなPDL格納情報がない場合(ステップS306a;No)、制御部21Aは、記憶部22Aの空き容量を確保するために転送の対象とするPDLデータがないと判定し、例えば「転送対象となるPDLデータが存在しないため、空き容量が確保できません」などのエラーメッセージをUI部24に表示させて(ステップS308a)、図11及び図8に示す処理を終了する。
上記のようにステップS303aの判定が、ステップ306aの判定よりも先に行われるが、その理由は、以下のとおりである。他のデバイスからのリモートによる出力指示の回数が第3の閾値を超えるPDL格納情報に含まれるようなPDLデータは、画像形成装置20Aよりも他の画像形成装置20から出力される可能性が高い、すなわち、画像形成装置20Aを用いて出力される可能性は低いと考えられる。その理由は以下のようなものである。前述したように、他のデバイスからのリモートによる出力指示とは、或る画像形成装置20が、自装置とは異なる他の画像形成装置20に格納されたPDLデータを自装置から出力させる指示をするということである。つまり、他のデバイスからのリモートによる出力指示の回数が多いほど、そのPDLデータは他の画像形成装置20から出力される機会が多い、すなわち、相対的にみて画像形成装置20Aから出力される機会は少なくなると考えられる。従って、他のデバイスからのリモートによる出力指示の回数が第3の閾値を超えるPDL格納情報に含まれるようなPDLデータは、画像形成装置20Aからよりも他の画像形成装置20から出力される可能性が高い、すなわち画像形成装置20Aを用いて出力される可能性は低いと言える。
また、直近の出力時刻が予め決められた期間以上過去であるPDL格納情報に含まれるようなPDLデータは、画像形成装置20Aに格納されてから一定期間以上出力が行われていないことを表す。つまり、このようなPDLデータは、少なくとも一度は出力済みであるから、画像形成装置20Aに最近格納されたPDLデータと比較して、今後ユーザにより出力を指示される可能性は低いと考えられる。このように、他のデバイスからのリモートによる出力指示の回数が第3の閾値を超えるPDL格納情報に含まれるようなPDLデータと、直近の出力時刻が予め決められた期間以上過去であるPDL格納情報に含まれるようなPDLデータとの双方ともに、それ以外のPDLデータと比較して、画像形成装置20Aを用いて出力される可能性は低いといえる。これに対して、他のデバイスからのリモートによる出力指示の回数が第3の閾値を超えるPDL格納情報に含まれるようなPDLデータは、画像形成装置20Aから出力される可能性が低いだけでなく、リモートによる出力指示を行った他の画像形成装置20に格納されていた方が、画像形成装置間でPDLデータを送受信する手間や時間がかからないため、都合がよい。従って、ステップS303aの判定が、ステップ306aの判定よりも先に行われるようになっている。
ステップS307aの次に制御部21aは、ステップS305aの判定を行う。そして制御部21Aは、記憶部22の使用量が第2の閾値を越えず(ステップS305a;No)、図11のフローチャートの処理を終えて図12の処理に移行するか、エラーメッセージをUI部24に表示させて(ステップS308a)、図11及び図8に示す処理を終了させるまで、図11のフローに従って処理を行う。ここでは、図6において「PDL格納先」に「PDL−A」及び「PDL−B」をファイルパスとして含むPDL格納情報が、制御部21Aによって転送対象のPDLデータを示すPDL格納情報として選択されてRAMに記憶されたとする。図6に示すように、転送対象として選択された「PDL−A」のPDLデータのデータサイズは「512Kbyte」であり、「PDL−B」のPDLデータのデータサイズは「1024Kbyte」である。記憶部22Aに記憶されている各種データの総データサイズ「5120Kbyte」から転送対象であるPDLデータのデータサイズを減算した値「3584Kbyte」は、第2の閾値を超えていない。従って、ここでは制御部21Aが、記憶部22Aの使用量が第2の閾値を超えていないと判定し(ステップS305a;No)、図11のフローチャートの処理を終えて図12の処理に移行したとする。
図12は、PDL転送先特定の処理を示すフローチャートである。まず、制御部21Aは、他の画像形成装置20から、デバイス情報なるものを取得すると、これをPDLデータの転送先の画像形成装置20を示す転送先リストに記述してRAMに記憶させる(ステップS401a)。ステップS401aにおいて制御部21Aは、記憶部22Aに記憶された参照先アドレス221に記述されているIPアドレスが割り当てられた画像形成装置20からデバイス情報を取得する。制御部21Aは、通信部23Aを用いて、図4においてユーザID「User01」と対応付けられた参照先IPアドレスに対して、デバイス情報の要求を送信する。この要求を受信した各画像形成装置20の制御部21は、通信部23を用いてデバイス情報を画像形成装置20Aに送信する。制御部21Aは、通信部23を用いて受信したデバイス情報を転送先リストに記述してRAMに記憶させる。
図13は、デバイス情報400の一例を示す図である。デバイス情報400は、「IPアドレス」、「使用量」、「FAX機能」、「起動時間」及び「出力回数」といった複数の項目からなる。「IPアドレス」は、各々の画像形成装置20に割り当てられたIPアドレスである。「使用量」は、各々の画像形成装置20の記憶部22の使用量であり、ここでは単位をKbyteとする。「FAX機能」は、各々の画像形成装置20においてFAXの機能が有効であるか無効であるかの区別を表す。「起動時間」は、各々の画像形成装置20において電源が投入されてから起動している連続時間を表す。「出力回数」は、各々の画像形成装置20においてPDLデータに基づく出力が行われた回数を表す。出力回数には、或る画像形成装置20が設置されてからPDLデータに基づく出力が行われた回数や、或る画像形成装置20に電源が投入されてから切断されるまでにPDLデータに基づく出力が行われた回数が用いられればよい。また、各画像形成装置20の制御部21は、1日毎や1ヶ月毎などの予め決められたタイミングで上記出力回数をリセットしてもよい。
再び図12に戻る。ステップS401aの次に制御部21Aは、その記憶部22の使用量が第2の閾値を越えない画像形成装置20のデバイス情報が転送先リストに含まれている場合(ステップS402a;Yes)、転送先リスト内にこのデバイス情報のみを残しその他のデバイス情報を削除することで、RAMに記憶された転送先リストを更新する(ステップS404a)。ステップS402aの判定は、具体的には以下のようなものである。上述したように、図6において「PDL格納先」に「PDL−A」と「PDL−B」とをそれぞれファイルパスとして含む2つのPDL格納情報が、転送対象のPDLデータを示すPDL格納情報としてRAMに記憶されている。図6に示すように、「PDL−A」のデータサイズは「512Kbyte」であり、「PDL−B」のデータサイズは「1024Kbyte」である。ステップS402aで、制御部21Aは、転送対象であるPDLデータのうち最も小さいデータサイズと「使用量」との合計値が第2の閾値以下である画像形成装置20のデバイス情報があるか否かを判定する。つまり、ここで制御部21Aは、「512Kbyte」と「使用量」との合計値が第2の閾値である「4096Kbyte」を超えないデバイス情報のみを残し、その他のデバイス情報を削除する。この結果、ステップS404aで制御部21Aは、図13に示すように、「使用量」が「3840Kbyte」であるデバイス情報を除外して、残りのデバイス情報のみを残すよう、RAMに記憶された転送先リストを更新する。一方、転送対象であるPDLデータのうち最も小さいデータサイズと「使用量」との合計値が第2の閾値以下である画像形成装置20の情報がデバイス情報400に含まれていない場合(ステップS402a;No)、制御部21Aは、例えば「転送先として充分な空き容量を備える画像形成装置が存在しません」などのエラーメッセージをUI部24に表示させて(ステップS403a)、図12及び図8の処理を終了する。
ステップS404aの次に、制御部21Aは、転送先リストに記述されたデバイス情報に、画像形成装置20Aと共通のサブネットに接続された画像形成装置20のデバイス情報が含まれている場合(ステップS405a;Yes)、このデバイス情報のみを残し、その他のデバイス情報を削除することで、RAMに記憶された転送先リストを更新する(ステップS406a)。サブネットとは、或るネットワークがより小さな複数のネットワークに分割されて管理される際の管理の単位となる小さなネットワークのことである。ステップS405aの判定は、具体的には以下のようなものである。例えば、画像形成装置20Aに設定されたサブネットマスクが「255.255.255.0」である場合、画像形成装置20Aに割り当てられたIPアドレスは「192.168.227.101」であるため、ネットワークアドレスは「192.168.227」となる。よって、ステップS405aで制御部21Aは、「192.168.227」から始まるIPアドレスを含むデバイス情報を、共通のサブネットに接続された画像形成装置20のもとして特定する。この結果、ステップS406aで制御部21Aは、図13に示すように、「IPアドレス」が「192.168.227」から始まらないデバイス情報を除外して、残りのデバイス情報のみを残すことで、RAMに記憶された転送先リストを更新する。一方、転送先リストに記述されたデバイス情報に、画像形成装置20Aと共通のサブネットに接続された画像形成装置20のデバイス情報が含まれていない場合(ステップS405a;No)、制御部21Aは処理をステップS407aに進める。
ステップS405a又は406aの次に、制御部21Aは、転送先リストに記述されたデバイス情報にFAX機能が有効であることを示すものが含まれている場合(ステップS407a;Yes)、このデバイス情報のみを残し、残りのデバイス情報を削除することで、RAMに記憶された転送先リストを更新する(ステップS408a)。この結果、ステップS408aで制御部21Aは、図13に示すように、「FAX機能」が「無効」であるデバイス情報を除外して、残りのデバイス情報を残すようにRAMに記憶された転送先リストを更新する。一方、転送先リストに記述されたデバイス情報にFAX機能が有効であることを示すものが含まれていない場合(ステップS407a;No)、制御部21Aは処理をステップS409aに進める。FAX機能が有効である画像形成装置20を転送先の候補とするのは、FAX送信された文書を常時受信可能であることが望まれていることから、FAX機能が有効である画像形成装置20は、長期間通電が維持され、電源が落とされにくいと考えられるためである。
ステップS407a又は408aの次に、制御部21Aは、転送先リストに記述されたデバイス情報に、起動時間が予め決められた期間より短いことを示すものが含まれている場合(ステップS409a;Yes)、このデバイス情報のみを残し、その他のデバイス情報を削除することでRAMに記憶された転送先リストを更新する(ステップS410a)。ここで、予め決められた期間とは例えば「3時間」であり、記憶部22Aに記憶されている。この結果、ステップS409aで制御部21Aは、図13に示すように、「起動時間」が3時間以上であるデバイス情報を除外して、残りのデバイス情報のみを残すことで、RAMに記憶された転送先リストを更新する。一方、転送先リストに記述されたデバイス情報に起動時間が予め決められた期間より短いことを示すものが含まれていない場合(ステップS409a;No)、制御部21Aは処理をステップS411aに進める。
ステップS409a又は410aの次に、制御部21Aは、転送先リストに記述されたデバイス情報に、出力回数が予め決められた回数より多いことを示すものが含まれている場合(ステップS411a;Yes)、このデバイス情報のみを残し、その他のデバイス情報を削除することでRAMに記憶された転送先リストを更新する(ステップS412a)。ここで、予め決められた回数とは例えば「15回」であり、記憶部22に記憶されている。この結果、ステップS412aで制御部21Aは、図13に示すように、「出力回数」が15回未満であるデバイス情報を除外して、残りのデバイス情報のみを残すことでRAMに記憶された転送先リストを更新する。一方、転送先リストに記述されたデバイス情報に出力回数が予め決められた回数より多いことを示すものが含まれていない場合(ステップS411a;No)、制御部21Aは処理をステップS413aに進める。
ステップS411a又は412aの次に、制御部21Aは、RAMに記憶された転送先リストに記述されたデバイス情報から、転送対象であるPDLデータの転送先となる画像形成装置20を示すデバイス情報を特定する(ステップS413a)。ステップS413aにおいて、RAMに記憶された転送先リストに複数のデバイス情報が記述されている場合、制御部21Aは、これら全てのデバイス情報を特定する。ここでは、制御部21Aは、RAMに記憶された転送先リストに記述されたデバイス情報から、図13に示す「192.168.227.104」のIPアドレスを含むデバイス情報を特定する。
次に制御部21Aは、PDLデータの転送先として特定したデバイス情報が示す画像形成装置20に充分な空き容量があるかを判定する(ステップS414a)。具体的には、ステップS414aで制御部21Aは、第2の閾値からPDLデータの転送先として特定したデバイス情報が示す「使用量」を減算した値の合計値を、転送対象であるPDLデータのデータサイズの合計値が超えるか否かを判定する。PDLデータの転送先として特定したデバイス情報が示す画像形成装置20に充分な空き容量がない場合(ステップS414a;No)、制御部21Aは、例えば「転送先として充分な空き容量を備える画像形成装置が存在しません」などのエラーメッセージをUI部24に表示させて(ステップS403a)、処理を終了する。一方、PDLデータの転送先として特定したデバイス情報が示す画像形成装置20に充分な空き容量がある場合(ステップS414a;Yes)、制御部21Aは、転送先リストにおいて、転送先として特定したデバイス情報と転送対象のPDLデータを表す情報とを対応付けてRAMに記憶させる(ステップS415a)。ここでは、第2の閾値である「4096Kbyte」から「192.168.227.104」のIPアドレスを含むデバイス情報の使用量である「1024Kbyte」を減算した値は「3072Kbyte」である。また、転送対象であるPDLデータのデータサイズの合計値は「1536Kbyte」である。従って、ここでは、制御部21Aは、PDLデータの転送先として特定したデバイス情報が示す画像形成装置20に充分な空き容量があると判定したとする。
ステップS415aで、具体的には制御部21Aは、特定したデバイス情報のうち、第2の閾値から「使用量」を減算した値が大きいものから順番に、よりデータサイズの大きい転送対象のPDLデータを表す情報を対応付けて転送先リストとしてRAMに記憶させる。ここでは、制御部21Aは、特定した「192.168.227.104」のIPアドレスを含むデバイス情報と、転送対象のPDLデータが有するPDL識別子とを対応付けて転送先リストに記述してRAMに記憶させる。
図14は、PDL転送の処理を示すフローチャートである。制御部21Aは、通信部23Aを用いて、転送先リストに記述された内容に従って、転送対象のPDLデータをこれに対応付けられたPDL識別子とともに、転送先として特定された他の画像形成装置20に送信する(ステップS501a)。例えば、ここでは、制御部21Aは、「192.168.227.104」のIPアドレスが割り当てられた画像形成装置20に対して、ファイル名が「PDL−A」及び「PDL−B」のPDLデータを、各々に対応付けられたPDL識別子とともに、通信部23Aを用いて送信する。次に制御部21Aは、通信部23Aを用いて、PDL格納情報321の更新を認証サーバ30に指示するとともに、RAMに記憶された転送先リストを認証サーバ30に送信する(ステップS502a)。ここでは、認証サーバ30の制御部31は、PDL格納情報321において、「PDL識別子」が「0001」又は「0002」であるPDL格納情報、すなわち、「PDL格納先」に「PDL−A」又は「PDL−B」が含まれるPDL格納情報の「IPアドレス」を「192.168.227.104」に更新する。次に制御部21Aは、記憶部22Aに記憶されたPDLデータのうち、他の画像形成装置20に転送されたPDLデータ(ここでは「PDL−A」及び「PDL−B」)を削除する(ステップS503a)。次に制御部21Aは、RAMに記憶された転送フラグをオフに設定する(ステップS504a)。
次に制御部21Aは、出力中止フラグがオフである場合(ステップS505a;No)、図14及び図8の処理を終了する。一方、制御部21Aは、出力中止フラグがオンである場合(ステップS505a;Yes)、ステップS102aでRAMに記憶されたPDLデータ(PDL−D)を格納先に格納する、すなわち記憶部22Aに記憶させる(ステップS506a)。次に制御部21Aが、通信部23Aを用いて、RAMに記憶されたPDLデータを認証サーバ30に送信することで、PDL格納情報321が更新される(ステップS507a)。具体的には、ステップS507aで、認証サーバ30の制御部31は、通信部33を用いてPDLデータを受信すると、受信したPDLデータに基づいてPDL格納情報を更新する。次に制御部21Aは、出力中止フラグをオフに設定すると、ステップS506aで格納先に格納したPDLデータに基づく出力を再開する(ステップS508a)。
図15は、PDLデータが転送された後のPDL格納情報321を示す図である。図15に示すように、「PDL識別子」が「0001」又は「0002」であって、「PDL格納先」に「PDL−A」と「PDL−B」とを含むPDL格納情報において、PDLデータの格納先の画像形成装置20に割り当てられたIPアドレスは、PDLデータが転送された先の画像形成装置20を表す「192.168.227.104」となっている。また、「IPアドレス」が「192.168.227.101」(画像形成装置20A)であって、「PDL格納先」に「PDL−D」を含むPDL格納情報が新たに追加されている。
また、ユーザID「USER01」のユーザが、画像形成装置20Aを用いて印刷の指示を行う場合の処理は以下のとおりである。この場合、画像形成装置20Aの制御部21Aは、通信部23Aを用いて、RAMに記憶された認証済みのユーザIDをキーとしてPDL格納情報321を検索する指示を認証サーバ30に送信する。認証サーバ30の制御部31は、指示に含まれるユーザIDをキーとしてPDL格納情報321を検索する。ここで、PDL格納情報321の内容が図15に示すようなものである場合、認証サーバ30の制御部31は、PDL格納先において「PDL−A」、「PDL−B」、「PDL−C」及び「PDL−D」をパスとして含むPDL格納情報を検索結果として取得し、これらをRAMに記憶させる。次に、認証サーバ30の制御部31は、RAMに記憶されたPDL格納情報を、通信部33を用いて画像形成装置20Aに送信する。画像形成装置20Aの制御部21Aは、通信部23Aを用いてこれを受信してRAMに記憶させる。
そして制御部21Aは、RAMに記憶されたPDL格納情報に基づく一覧をUI部24Aに表示させる。このとき、一覧を構成する各レコードには、各PDLデータのファイル名や、各PDLデータの格納先の画像形成装置20を識別する名称又はIPアドレスなどが含まれて表示される。ユーザが、表示された一覧から特定のレコードを選択して印刷を指示すると、制御部21Aは、通信部23Aを用いて、選択されたレコードに応じたPDL格納情報に含まれるIPアドレスが割り当てられた画像形成装置20に対して、PDLデータを自装置に転送する指示を送信する。通信部23を用いてこれを受信した画像形成装置20の制御部21は、指示されたPDLデータを画像形成装置20Aに送信する。制御部21Aは、通信部23Aを用いて受信したPDLデータに基づいて出力を行う。PDLデータの転送を行った画像形成装置20の制御部21は、上述したステップS502a及びS503aと同様の処理を行う。これにより、認証サーバ30においてPDL格納情報321が最新の状態に更新されるとともに、この画像形成装置20の記憶部22から、転送されたPDLデータが削除される。
本実施形態によれば、制御部21が、予め決められたタイミングで記憶部22の使用量が第1の閾値又は第2の閾値を超える場合に、通信部23を用いて自装置に格納されたPDLデータを他の画像形成装置20へ転送する制御を行う。これにより、本実施形態によれば、自装置の記憶手段の使用量が閾値を超える場合に自装置の記憶手段に記憶された画像データを他の画像形成装置へ転送する構成を有しない場合と比較して、記憶手段の容量不足を原因として画像を形成する処理が中断される事態の発生を抑える場合に、ユーザ自身の操作に依らずに記憶手段の容量不足が解消される。
また、この予め決められたタイミングとは、自装置内の記憶部22がPDLデータを新たに記憶するとき、予め決められた時刻、又は自装置が消費電力を節約するモードで動作中のいずれかのタイミングである。これにより、画像形成装置20の動作開始時、動作実行時又は動作休止時といった、定期的且つ様々な種類のタイミングで記憶部22の使用量が閾値を超えるか否かが判定されて、閾値を越える場合にはPDLデータの転送が行われるため、記憶部22の使用量が閾値を超えにくくなる。また、上述したように、本実施形態によれば、自装置の画像形成部25がその画像を形成する可能性の低い画像データを含むPDLデータが転送の対象として選択される。
また、本実施形態によれば、制御部21がPDLデータの転送先である他の画像形成装置20を特定する際に、記憶部22の空き容量がこのPDLデータを転送するのに充分である他の画像形成装置20を候補として特定し、さらにこの候補に対して、共通のサブネットに接続されているか否か、FAX機能が有効であるか否か、などの判定によりさらに絞込みを行う。このように複数回の判定を用いてPDLデータの転送先である他の画像形成装置20が特定されることにより、転送先としてより適した他の画像形成装置20に転送対象となるPDLデータが転送されることとなる。
<変形例>
以上の実施形態は次のように変形可能である。なお、以下の変形例は、適宜組み合わせて実施されてもよい。
(変形例1)
画像形成システム100が認証サーバ30を備えずに、PDL格納情報321が各々の画像形成装置20の記憶部22に記憶されるようにしてもよい。この場合、画像形成装置20の制御部21は、ステップS105a、S502a及びS507aにおいて、自装置の記憶部22に記憶されたPDL格納情報321を更新する。また、この場合、画像形成装置20の制御部21は、ステップS302aにおいて、自装置の記憶部22に記憶されたPDL格納情報321を取得する。
また、複数の画像形成装置20にPDL格納情報321が記憶されることになるため、画像形成システム100全体でPDL格納情報321の同一性が失われる可能性があるという問題があるが、これに対しては次のようにすればよい。例えば、PDL格納情報321に更新があった画像形成装置20の制御部21が、予め決められたタイミングで、通信部23を用いて、自装置内に記憶されたPDL格納情報321を他の画像形成装置20に対して送信する。通信部23を用いてこれを受信した他の画像形成装置20の制御部21は、記憶部22に記憶されているPDL格納情報321を受信した内容で更新する。この予め決められたタイミングとは、例えば、30分毎や1時間毎といった時刻間隔に基づいて設定されてもよいし、昼休み又は深夜など、特定の時間帯が設定されてもよい。
変形例1によれば、認証サーバ30を用いないことで画像形成システム100の構成を簡易なものとしながら、実施形態と同様の効果を奏することができる。
(変形例2)
ステップS409aの判定は、起動時間が予め決められた期間より短いことに限らず、RAMに記憶された転送先リストに記述されたデバイス情報から、起動時間が短い順に予め決められた件数以内のデバイス情報を取得できるか否かとしてもよい。この場合、ステップS410aにおいて、制御部21Aは、RAMに記憶された転送先リストに記述されたデバイス情報のうち、起動時間が短い順に予め決められた件数以内のデバイス情報を残し、残りのデバイス情報を削除することで、転送先リストを更新する。また、ステップS411aの判定は、出力回数が予め決められた回数より多いことに限らず、RAMに記憶された転送先リストに記述されたデバイス情報から、出力回数が多い順に予め決められた件数以内のデバイス情報を取得できるか否かとしてもよい。この場合、ステップS412aにおいて、制御部21Aは、RAMに記憶された転送先リストに記述されたデバイス情報のうち、出力回数が多い順に予め決められた件数以内のデバイス情報を残し、残りのデバイス情報を削除することで、転送先リストを更新する。
変形例2によれば、制御部21Aが、転送対象であるPDLデータの転送先を特定するときに、より条件のよい転送先を候補として転送先リストに残すようになっているため、より多くの画像形成装置20が転送先として特定されやすい。従って、変形例2によれば、実施形態のように閾値によって予め決められた条件を満たさない転送先を転送先の候補から外す場合と比較して、PDLデータの転送先として適切な画像形成装置20が見つからずに、PDLデータの転送が行われない事態が生じにくくなる。
(変形例3)
実施形態では、画像形成装置20がPDLデータを転送した後の処理において、PDL格納情報321が更新されていたが、これに限らず次のようにしてもよい。変形例3において、PDL格納情報321に含まれるIPアドレスには、初めてそのPDLデータが格納されたときの格納先のIPアドレスが記述される。変形例3では、このIPアドレスは初期値として記述され、その後PDLデータの格納先が変更されても、画像形成装置20の制御部21により更新が指示されることはない。また、変形例3において、PDLデータの転送を行った画像形成装置20(画像形成装置20Aとする)の制御部21Aは、転送対象のPDLデータに含まれるユーザIDと、転送対象のPDLデータに対応付けられたPDL識別子と、転送先の画像形成装置20を識別する情報(ここではIPアドレス)とを対応付けて組として記憶部22Aに記憶させる。ここでは、上記組のことを転送情報と呼ぶ。
まず、ユーザID「User01」のユーザが、画像形成装置20Aを操作して印刷指示を行う場合を考える。ユーザは、UI部24Aに表示される一覧から特定のPDLデータを示すレコードを選択して印刷を指示する。ユーザが印刷を指示したPDLデータが記憶部22Aに記憶されていない場合、制御部21Aは、自装置において記憶部22Aに記憶された転送情報と、認証サーバ30の記憶部32に記憶されたPDL格納情報321とに基づいて、PDLデータを取得する。具体的には、制御部21Aは、記憶部22Aに記憶された転送情報において、ユーザID「User01」及びユーザにより選択されたPDLデータのPDL識別子と対応付けられたIPアドレスがある場合、これを取得してRAMに記憶させる。
また、制御部21Aは、通信部23Aを用いて、ユーザID「User01」及びユーザにより選択されたPDLデータに対応付けられたPDL識別子をキーとしてPDL格納情報321を検索する指示を認証サーバ30に送信する。認証サーバ30の制御部31は、指示に基づいて検索を行い、検索結果であるPDL格納情報を画像形成装置20Aに送信する。そして制御部21Aは、受信したPDL格納情報からIPアドレスを取得すると、これをRAMに記憶させる。
制御部21Aは、通信部23Aを用いて、上述のようにしてRAMに記憶されたIPアドレスが割り当てられた画像形成装置20(画像形成装置20Cとする)に対して、自装置のIPアドレスとともに、ユーザにより選択されたPDLデータを自装置に転送する指示を送信する。この指示には、選択されたPDLデータに対応付けられたPDL識別子及びユーザIDが含まれる。この指示を受信した画像形成装置20Cの制御部21Cは、指示されたPDLデータが記憶部22Cに記憶されている場合、これを読み出して、受信したIPアドレスが割り当てられた画像形成装置20(ここでは画像形成装置20A)に転送する。また、制御部21Cは、指示されたPDLデータが記憶部22Cに記憶されていない場合、自装置に記憶された転送情報において、指示されたPDLデータに含まれるPDL識別子及びユーザIDと対応付けられたIPアドレスを取得する。そして制御部21Cは、取得したIPアドレスが割り当てられた画像形成装置20に対して、指示されたPDLデータを画像形成装置20Aに転送する指示を送信する。これを受信した画像形成装置20は、ここで述べた画像形成装置20Cと同様の処理を行う。つまり、PDLデータをその格納先から取得できるまで、それまでにPDLデータの転送を行った画像形成装置20を辿って検索する処理が行われる。そして、指示されたPDLデータの格納先である画像形成装置20の制御部21は、転送を行った後に、転送したPDLデータに基づく上記転送情報を記憶部22に記憶させる。また、この画像形成装置20の制御部21は、転送したPDLデータを記憶部22から削除する。指示を行った画像形成装置20Aの制御部21Aは、受信したPDLデータに基づく出力を行う。
ここで、上述の処理に従って転送を行った画像形成装置20(画像形成装置20Cとす
る)は、以下のような処理を行ってもよい。画像形成装置20Cの制御部21Cは、予め決められたタイミングで、記憶部22Cに充分な空き容量があると判定すると、自装置に記憶された転送情報に基づいて、転送情報にIPアドレスとして含まれる転送先の画像形成装置20から、この転送先と対応付けられたユーザID及びPDL識別子をキーとしてPDLデータを検索する指示を送信する。転送先の画像形成装置20は、変形例3において上述した画像形成装置20Cと同様の処理を行う。制御部21Dは、検索の結果として受信したPDLデータを記憶部22Cに記憶させるとともに、このPDLデータに基づく転送情報を削除する。このように、変形例3によっても、実施形態と同様の効果を奏することができる。
(変形例4)
また、本発明は、コンピュータを制御装置として機能させるためのプログラムとしても特定され得るものである。かかるプログラムは、光ディスク等の記録媒体に記録した形態で提供されたり、インターネット等の通信回線を介して、コンピュータにダウンロードさせ、これをインストールして利用するなどの形態で提供されたりしてもよい。