(画像出力システムの構成)
図2は、本実施形態に係る一構成例としての画像出力システム1の概略構成を示すブロック図である。同図に示すように、この画像出力システム1は、ルータ2を中心にしたスター型LANによって構成されている。
ルータ2は、スイッチングハブ3との協働により、スイッチ3に接続されているリピータハブ5またはスイッチングハブ8による通信を制御するものである。また、ルータ2は、画像出力システム1と外部の通信ネットワーク(ネットワーク)とを接続する機能を有している。
さらに、このスイッチングハブ3にはネームサーバ4が接続されている。このネームサーバ4は、名前解決サービスを提供しているサーバであり、本実施形態では、画像出力システム1内の各PC7から指定されたプリンタグループ名に対して、そのプリンタグループ名に対応するIPアドレスを当該PC7に対して通知するものである。このネームサーバ4の構成については後述する。
なお、本実施形態では、ネームサーバ4は、スイッチングハブ3に接続された構成となっているが、これに限定されるものではなく、ルータ2によって通信制御されるLAN内であれば、どの位置にネットワーク接続されていてもよい。
また、名前解決サービスとは、TCP/IP(Transmission Control Protocol/Internet Protocol)ネットワークなどにおいて、例えばマシンの名前からそのマシンのIPアドレスを求めることであり、これ以降ではこのサービスを名前解決と称する。
上記リピータハブ5またはスイッチングハブ8は、複数のプリンタ6…および複数のPC7…をスター型で接続する構成である。そして、通信は、TCP/IPプロトコルを用いて行われるようになっている。
なお、画像出力システム1では、リピータハブ5に代わりにスイッチングハブ8で構成されていてもよいし、逆にスイッチングハブ8の代わりにリピータハブ5で構成されていてもよい。リピータハブ5の代わりにスイッチングハブ8によって画像出力システム1が構成されている場合は、特定のPC7から、印刷ジョブの送信先として指定したプリンタ6にのみ印刷ジョブを送信できる。このため、リピータハブ5の代わりにスイッチングハブ8によって構成されている画像出力システム1の方が、リピータハブ5によって構成されている画像出力システム1の場合と比べて印刷ジョブ送信処理ごとにかかるトラフィックを抑えることができる。
プリンタ6は、印刷ジョブを受信すると、これに基づいて紙などの媒体に画像を印刷して出力する装置である。プリンタ6としては、通常のプリント機能を有するプリンタの他に、MFPなどであってもよい。なお、このプリンタ6の構成については後で詳述する。
PC7は、各種情報処理を行う情報処理端末に対応するものであり、ユーザによる印刷指示に応じて、印刷ジョブの送信先のプリンタグループ名をネームサーバ4に送信し、このネームサーバ4から通知された、プリンタグループ名に対応するIPアドレス先のプリンタ6に対して印刷ジョブを送信する。
このため、このPC7は、送信する印刷ジョブに対して所望される印字処理を行うことが可能な機能を備えているプリンタ6・・・のグループ名を記憶している。すなわち、後述するがネームサーバ4は、同一または類似する機能を備えたプリンタ6・・・のIPアドレス・・・を所定のグループに分類するとともに、当該IPアドレス・・・には分類されたグループ名が割り当てられる。そして、PC7は、プリンタ6・・・それぞれが有する機能ごとに、プリンタ6を分類したグループ名をネームサーバ4から取得して記憶装置に格納している。
なお、このPC7としては、例えばデスクトップ型コンピュータ、ノートブック型コンピュータなどが想定される。なお、本実施形態では、印刷ジョブの指示を出力するホストとしてPC7を想定しているが、これに限定されるものではなく、印刷ジョブの指示を行うことが可能な装置であればどのような装置をホストとしてもよい。
また、上記した画像出力システム1では、ネームサーバ4、プリンタ6…、およびPC7…が、それぞれTCP/IPプロトコルを使用して接続されていることが好ましい。このようにTCP/IPプロトコルを使用して接続されていることにより、ネームサーバ4は、上位層レイヤでプリンタ6またはPC7から通知されたフレームの識別を可能とする。
(プリンタの構成)
次に、プリンタ6の構成について、図3を参照しながら以下に説明する。図3は、本実施形態に係るプリンタ6の要部構成を示すブロック図である。同図に示すように、プリンタ6は、プリンタコントローラ52、電源42、操作部43、およびプリンタエンジン44を備えた構成となっている。
プリンタコントローラ52は、通信I/F部46、通信制御部47、制御部48、バッファ49、画像処理部50、およびデバイス情報記憶部51を備えた構成となっている。通信I/F部46は、ハブ5などとの接続の際のインターフェースとして機能するものである。
通信制御部47は、プリンタ6における通信動作を制御するものである。この通信制御部47によって、最初にハブ5と接続した際に行われる、ネームサーバ4へのデバイス情報の送信処理、印刷処理開始の通知処理、印刷処理終了の通知処理、異常発生時(異常状態)の通知処理、異常発生から回復した際の通知処理、PC7からの印刷ジョブデータの受信処理などが行われる。
また、印刷開始、印刷終了、異常発生、異常発生からの回復などプリンタ6の稼動状態は、それぞれ、プリンタ6内に設けられたセンサ(不図示)によって検知される。例えば、印刷開始または終了は、プリンタ6が受信した印刷ジョブを制御部48からの指示に応じて画像処理部50が印字処理を開始または終了する際、制御部48から画像処理部50に送信される、印字処理にかかる制御信号をセンサが検知してもよい。また、紙詰まり等は、印字用紙の搬送路(不図示)中にいくつか設けられたセンサによって検知される構成であってもよい。
これらセンサによって検知されたプリンタ6の稼動状態に関する情報は、通信制御部47によってネームサーバ4に通知される。なお、このプリンタ6の稼動状態を通知する処理の詳細については後述する。
また、デバイス情報記憶部51は、通信を行う際に用いられる各種設定情報、例えば、自装置のMACアドレス情報、IPアドレス情報などのコンフィギュレーション情報などと、例えば、カラー印刷の可否情報、印刷可能用紙サイズ情報など自装置が備える機能に関する情報であるデバイス情報、印刷処理速度など印刷処理能力に関する情報である処理能力情報とを記憶するものである。
制御部48は、プリンタ6における各種動作を制御するものである。バッファ49は、通信I/F部46において送受信されるデータを一時的に格納する記憶手段である。画像処理部50は、印刷ジョブとして受信したデータを、印刷に適した画像データに変換する処理を行うものである。
電源42は、プリンタ6が備える各構成要素に対して電力を供給するものである。この電源42はサブ電源を備えており、このサブ電源によって、通信I/F部46および通信制御部47に対して常時電力を供給することが可能となっている。すなわち、通常時には、サブ電源のみによって通信I/F部46および通信制御部47のみに電源を供給しておき、通信内容に応じてプリンタ6全体に電力を供給するように切換える、というような省電力システムを構築することが可能となっている。
操作部43は、ユーザが画像形成条件等を入力したり、種々の設定を行ったりするものである。プリンタエンジン44は、例えば紙などの媒体に画像を出力して印刷を行うものである。
上記したように、本実施の形態に係るプリンタ6は、PC7から送信された印刷ジョブを受信して、印字処理を行う一方、自装置の処理能力または自装置のデバイス情報、IPアドレス、または自装置の稼動状態をネームサーバ4に通知できる構成になっている。
(ネームサーバの概略構成)
次に、ネームサーバ4の概略構成について、図4を参照しながら以下に説明する。図4は、本実施の形態に係るネームサーバ4の概略構成を示すブロック図である。図4に示すように、ネームサーバ4は、制御部15、記憶部16(テーブル記憶装置)、通信I/F部17、および操作部18を備えた構成となっている。
通信I/F部17は、プリンタ6…、PC7…、およびスイッチ3などの外部機器との接続のためのインターフェースとして機能するものである。
操作部18は、ユーザがネームサーバ4における各種設定動作を行う場合に用いられるものである。
記憶部16は、読み書き可能な不揮発性の記憶装置であって、この記憶部16には変換テーブル23(グループ情報テーブル)、グループ名テーブル39、および優先度テーブル40が記録されている。この変換テーブル23は、名前解決処理部20がPC7から通知されたグループ名をキーとして当該グループ名に対応するプリンタ6のIPアドレスを取得するために参照するためのテーブルである。この変換テーブル23の詳細な構成については後述する。
また、グループ名テーブル39は、ネームサーバ4がプリンタ6から送信された当該プリンタ6のデバイス情報、処理能力情報、およびIPアドレスを取得した場合、取得したIPアドレスをデバイス情報に基づいて所定のグループに分類し、当該IPアドレスに対して所定のグループ名を割り当てるために用いるテーブルである。このグループ名テーブル39では、デバイス情報とプリンタグループ名との対応関係を示すリスト情報が記録されている。したがって、ネームサーバ4が所定のプリンタ6からデバイス情報を受信すると、このデバイス情報に対応するプリンタグループ名を知ることができる。
優先度テーブル40は、プリンタグループに分類されたIPアドレスに対して、このグループ内での優先度を、上記処理能力情報に応じて設定するために用いるテーブルである。この優先度テーブル40は、プリンタグループごとに、このグループに属しているプリンタ6・・・の処理能力とその処理能力に応じて設定された優先度との対応関係が示されている。
この優先度テーブル40内でのデータの構成例として、例えば、プリンタグループAに処理能力が1のプリンタ6と、処理能力が10のプリンタ6と、処理能力が30のプリンタ6が属している場合、「プリンタグループA−処理能力1−優先度1、プリンタグループA−処理能力10−優先度50、プリンタグループA−処理能力30−優先度80」などのように、プリンタグループ内での処理能力に応じた相対的な優先度が記録されている。
また、この優先度テーブル40は、上記したような各プリンタグループごとに設定された優先度ではなく、プリンタ6の処理能力に応じて予め所定の優先度が設定されていてもよい。すなわち、例えば、プリンタ6の処理能力が1の場合は、優先度1であり、処理能力30の場合は、優先度30であるなどのようにグループに関係なく処理能力に対する優先度が設定されていてもよい。
なお、この優先度とは、PC7から所定のプリンタグループ名をネームサーバ4が受信した場合、当該プリンタグループ名に対応するプリンタ6のIPアドレス・・・の中からどのIPアドレスを選択するかを決定するための優先度である。この優先度が高い方が優先的にPC7に通知するIPアドレスとして選択される。この優先度テーブル40では、各プリンタグループごとに、処理能力情報と優先度との対応関係を示すリスト情報が記録されている。
制御部15は、機能ブロックとして、通知判定処理部19、名前解決処理部20、テーブル設定処理部(テーブル記録手段)21、およびサーバ設定部22を備えている。
通知判定処理部19は、通信I/F部17を介してネームサーバ4の外部から受信したフレームの通知内容を認識し、通知元や通知内容に応じて、通知内容に基づく指示を名前解決処理部20、テーブル設定処理部21、サーバ設定部22に与えるものである。
名前解決処理部20は、PC7から名前解決の要求がなされた場合、変換テーブル23の中から、PC7が指定したプリンタグループ名に対応するプリンタ6のIPアドレスを検索して、そのIPアドレスを取得するものである。取得したIPアドレスは、通信I/F部17を介してPC7に通知される。
テーブル設定処理部21は、プリンタ6からの通知に応じて、変換テーブル23に記録されているデータを変更したり、変換テーブル23にデータを追加したりするものである。なお、プリンタ6からの通知には、紙詰まり等によるプリンタ6に異常状態の発生、異常状態からの回復などプリンタ6の状況を示す内容に加えて、プリンタ6がネットワークに接続された場合、そのプリンタ6の有する機能やIPアドレスを知らせる通知がある。これらの通知に応じて行われるテーブル設定処理部21の変換テーブル23に対する設定については後述する。
(ネームサーバ4の制御部15の構成)
次に、図1を参照して本実施形態に係るプリンタ出力システム1における、ネームサーバ4の制御部15内のより詳細な構成について説明する。図1は、本実施形態に係るネームサーバ4の制御部15内の概略構成を示すブロック図である。
制御部15内の通知判定処理部19は、名前解決要求判定部30、プリンタ通知判定部31、設定要求判定部32、能力通知判定部33、および異常状態判定部36を有している。
名前解決要求判定部30は、ネームサーバ4が受信したフレームの通知内容がPC7からの名前解決要求であるかどうかを判定するものである。ネームサーバ4が受信した通知がPC7からの名前解決要求である場合は、PC7から送信されたプリンタグループ名に関する情報を名前解決処理部20のアドレス取得部35に送信する。また、ネームサーバ4が受信したフレームの通知内容がPC7からの名前解決要求でない場合、名前解決要求判定部30は、受信した通知内容をプリンタ通知判定部31に渡す。
プリンタ通知判定部31は、名前解決要求判定部30から受け取った通知が、プリンタ6から送信された通知か否かを判定するものである。プリンタ通知判定部31が、この通知に対して、プリンタ6からの通知であると判定した場合、その通知を能力通知判定部33に送信する。また、プリンタ通知判定部31は、名前解決要求判定部30から受け取った通知が、プリンタ6から送信された通知でないと判定した場合は、この通知を設定要求判定部32に送信する。
能力通知判定部33は、プリンタ通知判定部31から渡された通知が、プリンタ6から送信されたプリンタ6のデバイス情報、処理能力情報、およびIPアドレスであるか否かを判定するものである。この能力通知判定部33は、この通知がプリンタ6から送信されたプリンタ6のデバイス情報、処理能力情報およびIPアドレスである場合、通知内容に基づいて、通知元のプリンタ6を、所定のプリンタグループ名に分類し、このプリンタ6のアドレスと対応づけるようにテーブル設定処理部21に指示を出す。さらに、所定のプリンタグループに分類されたIPアドレスに対して、所定のプリンタグループ内における優先度を設定するようにテーブル設定処理部21に指示を出す。
一方、この通知が、デバイス情報、処理能力情報、およびIPアドレスを示す内容でない場合、能力通知判定部33は、プリンタ6から受信したフレームの通知を異常状態判定部36に送信する。
異常状態判定部36は、能力通知判定部33からフレームの通知を受信すると、この通知が、プリンタ6の異常状態または異常状態からの回復状態を示す通知であるかを判定するものである。
異常状態判定部36は、受信した通知の内容が紙詰まり等によりプリンタ6が故障して異常状態にあることを示す場合は、このプリンタ6が異常状態であるため、このプリンタ6のアドレスが印刷ジョブの送信先として選択されないようにテーブル設定処理部21に指示を出す。
一方、受信した通知の内容が、プリンタ6が異常状態から回復したことを示す内容の場合は、異常状態のため選択されないように設定されている当該プリンタ6のIPアドレスの設定を変更するように、テーブル設定処理部21に指示を出す。
設定要求判定部32は、プリンタ通知判定部31から渡された通知内容がサーバの設定に関するものであるか否かを判定し、サーバの設定に関するものである場合は、サーバ設定部22にネームサーバ4の各種設定を行うように指示するものである。
また、テーブル設定処理部21は、グループ登録部(グループ決定手段)37、優先度設定部38、およびテーブル設定変更部41(優先度変更手段・選択回避手段・選択回避無効化手段・優先度低下手段・優先度回復手段)41を備えている。
このグループ登録部37は、グループ名テーブル39を参照して、通知判定処理部19から渡されたデバイス情報に基づき、ネームサーバ4に対して当該デバイス情報を送信したプリンタ6のIPアドレスを所定のプリンタグループに分類するものである。そして、グループ登録部37は、所定のプリンタグループに分類したこのIPアドレスに当該プリンタグループの名前を割り当てて、変換テーブル23に追加する。
上記優先度設定部(優先度設定手段)38は、優先度テーブル40を参照して、通知判定処理部19から渡された処理能力情報に基づき、グループ登録部37によって所定のプリンタグループ名に割り当てられたIPアドレスに、当該プリンタグループ内での優先度を設定するものである。
上記テーブル設定変更部41は、例えば、変換テーブル23のIPアドレスに設定されている優先度を示す値の変更要求があった場合、優先度を下げたり、初期設定時の優先度に戻したりするなど変換テーブル23に記録されている各IPアドレスに関する情報の設定を変更するものである。また、テーブル設定変更部41は、所定のIPアドレスが印刷ジョブ送信先のアドレスとして選択されないように、当該IPアドレスに関する情報にフラグとして1を立てたり、このフラグを1から0に戻し、このIPアドレスが選択されない状態を無効化させたりするようにフラグの設定変更も行う。
また、名前解決処理部20は、アドレス送信部(アドレス通知手段)34およびアドレス取得部(アドレス選択手段)35を有している。
アドレス取得部35は、名前解決要求判定部30から送信されたPC7が指定したプリンタグループ名に基づいて、PC7の印刷ジョブの送信先であるプリンタ6のIPアドレスを取得するものである。すなわち、アドレス取得部35が、PC7から名前解決要求とともに送信された所定のプリンタグループ名をキーとして、所定のプリンタ6のIPアドレスを取得する。そして、取得したプリンタ6のIPアドレスをアドレス送信部34に渡す。
また、アドレス送信部34は、アドレス取得部35が取得したIPアドレスを通信I/F部17を介して名前解決要求元のPC7に送信するものである。
(画像出力システム1における処理の概略)
次に、図5および図6を参照しながら、本実施形態の画像出力システム1における処理の概略について説明する。図5は本実施の形態に係る画像出力システム1における処理の概略を示す図である。また、図6は、変換テーブル23の一例を示す図である。
まず、ネームサーバ4には、予め複数のプリンタグループ名に対応づけられた複数のプリンタ6…のIPアドレスが記録されており、この各IPアドレスには優先度が付されている変換テーブル23を有している。
ここで、図6を参照して変換テーブル23のより詳細なデータ構成について説明する。
変換テーブル23は、ネームサーバ4がPC7から名前解決要求を受けた場合、PC7から送信されたプリンタグループ名に対応するプリンタ6のIPアドレスを取得するために用いられるデータベースである。変換テーブル23は、図6に示すようにプリンタグループ名(プリンタグループ1〜4)に対応付けられた、各プリンタ6のIPアドレス(アドレスA〜G)、プリンタグループ内におけるIPアドレスの優先度、このプリンタ6を印刷ジョブの送信先として選択可能か否かを示すフラグ、このプリンタ6が属するサブネットワークのアドレス、および生存時間(TTL;Time to live)の設定時間が記録されている。
なお、優先度とは、PC7から所定のプリンタグループ名をキーとして名前解決要求がネームサーバ4に対して行われた場合、このプリンタグループ名に対応するIPアドレスの中で、どのIPアドレスを優先的に選択して当該PC7にネームサーバ4が通知するかを決めるものである。優先度として設定される数字が大きいほど優先度が高いことを表す。
また、この生存時間(TTL)とは、PC7がネームサーバ4に対して名前解決要求を行い、所定のプリンタ6のIPアドレスをネームサーバ4から通知された場合、PC7は自装置に備えられたキャッシュメモリにこのIPアドレスを一時的に記憶するように構成されている。そして、このIPアドレスの情報が、PC7で一時的に記憶された際にどれだけの期間有効であるかを示す時間である。
また、この変換テーブル23には、共通の機能や能力を有するプリンタ6…ごとにプリンタグループ名(プリンタグループ1〜4)が割り当てられている。なお、この共通の機能や能力とは、モノクロおよび/またはカラープリントの可否、対応可能な用紙サイズの種類、両面印刷の可否などプリンタ6が有している機能全般である。
そして、共通した機能を有しているプリンタ6…には同一のプリンタグループ名が割り当てられる。例えば、モノクロ印刷・片面印刷可能なプリンタ6は、モノクロ印刷・両面印刷可能なプリンタ6とは、モノクロ印刷という機能に関して共通している。このため、モノクロ印刷という機能に対応するグループで前者のプリンタ6のIPアドレスと後者のプリンタ6のIPアドレスとは同じグループに分類される。
また、両面印刷という機能に対応するグループでは、後者のプリンタ6のIPアドレスはこのグループにも分類されるが、前者のプリンタ6はこのグループには分類されない。
このように、例えば図5に示すIPアドレス−Bのプリンタ6のように、同一のプリンタ6によって複数のプリンタグループそれぞれで必要とされる機能を実現できるならば、同一IPアドレスのプリンタ6が複数のプリンタグループ名を有していてもよい。
また、所定のプリンタグループ名が割り当てられているプリンタ6…のIPアドレス…には、当該プリンタグループ内における優先度が、プリンタ6の処理能力情報に応じて設定されている。
また、上記フラグは、印刷ジョブの送信先としてプリンタ6が選択可能か否かを示すものである。すなわち、このフラグに1が立っている場合は、プリンタ6が紙詰まりや故障等によって異常が生じている、または、待機ジョブ量が多いために、プリンタ6が「ビジー」状態であることを示す。したがって、仮に最も優先度が高いアドレス先のプリンタ6であっても、このフラグに1が立っている場合は、次に高い優先度のアドレス先のプリンタ6を選択して印刷ジョブの送信を行うこととなる。
なお、「ビジー」状態となっていたプリンタ6が復帰して印刷可能となった場合は、テーブル設定処理部21によってこのフラグは0に設定しなおされる。
さらにまた、変換テーブル23には、名前解決要求をネームサーバ4に対して行うPC7・・・、すなわち、ネームサーバ4が管理しているLAN内に接続されているPC7・・・に関する情報も記録されている。このPC7・・・に関する情報とは、PC7・・・に割り当てられたマシン名(ホスト1、2…)、このマシン名に対応づけられたPC7のアドレス(アドレスH1、2…)、このPC7が属するサブネットワークアドレス、生存時間(TTL)の設定時間が記録されている。この場合の生存時間(TTL)とは、PC7が自装置または同じLAN内にある他のPC7のIPアドレスをネームサーバ4に問い合わせて得た情報がどれだけの時間、有効であるかを示す時間である。
このように、変換テーブル23では、ネームサーバ4が管轄するLAN内のプリンタ6・・・およびPC7・・・を管理するために必要となる情報が記録されている。なお、変換テーブル23に記録されているデータは、これらに限定されるものではない。ネームサーバ4がPC7から名前解決要求を受けて、適切なプリンタ6のIPアドレスを通知するために必要とする情報が記録されていればよい。例えば、本実施形態の画像出力システム1では、同一LAN内に、PC7・・・とプリンタ6・・・とがそれぞれ接続されているため、プリンタ6のサブネットワークアドレスの情報が変換テーブル23に記録されていなくてもよい。
(画像出力システム1におけるデータの流れの概略説明)
ここで、画像出力システム1におけるネームサーバ4、プリンタ6、およびPC7それぞれの間でのデータの送受信について説明する。
まず、図5に示すように、PC7において、ユーザによって印字処理の要求がなされた場合、該印字処理に必要な機能を有するプリンタ6…を総称するプリンタグループ名が、PC7からネームサーバ4に向けて送信される。すなわち、PC7は、印刷ジョブの送信先のIPアドレスを問い合わせるために、所定のプリンタグループ名をネームサーバ4に対して送信し、ネームサーバ4に名前解決の要求を行う。なお、PC7とネームサーバ4との通信はユニキャストによっておこなわれる。
また、PC7は、プリンタ6の機能ごとに分類されたプリンタグループ名に関する情報を記憶しており、PC7からネームサーバ4に対して名前解決の要求を行う際に、これらプリンタグループ名をユーザが選択できるように構成されている。
一方、ネームサーバ4は、名前解決の要求とともにプリンタグループ名をPC7から受信すると、該プリンタグループ名に対応するIPアドレスをこのPC7に通知する。すなわち、ネームサーバ4は、自装置の記憶部16に格納している変換テーブル23を参照して、PC7から送信されたプリンタグループ名に対応するIPアドレスの中から一番優先度が高いIPアドレスを通知する。
PC7は、印刷ジョブの送信先として所定のプリンタ6のIPアドレスを受信すると、この受信したIPアドレス先のプリンタ6に対して印字要求を行い、印刷ジョブを送信する。
PC7から印字要求を要求されたプリンタ6は、PC7から印刷ジョブを受信し印字処理を行う。
また、プリンタ6は、自装置が紙詰まりや故障等により異常が生じている場合、または待機ジョブ量が多い場合には、「ビジー」状態であるということをネームサーバ4に対して通知することができる。
ネームサーバ4は、プリンタ6から「ビジー」の通知を受信した場合、当該プリンタ6のIPアドレスに対応づけられている優先度を無効とする。すなわち、プリンタ6から「ビジー」の通知をネームサーバ4が受信すると、当該プリンタ6のIPアドレスに対応付けらえているフラグに1をたてる。このような状態においてさらに、PC7が同じプリンタグループ名で名前解決要求をネームサーバ4に対して行った場合、ネームサーバ4は、PC7が指定したプリンタグループ名のIPアドレスのうち、「ビジー」の通知を行っているプリンタ6のIPアドレスを除いた中で、最も優先度が高いIPアドレスを選択してPC7に通知することになる。
ところで、上述したようにPC7は、ネームサーバ4に対して所定のプリンタグループ名をキーに名前解決を要求して得た印刷ジョブ送信先のIPアドレスを、キャッシュメモリに一定期間記憶するように構成されている。
また、ネームサーバ4は、プリンタグループ名に対応付けられているプリンタ6のIPアドレスに関する情報が有効となるTTLを0から数分程度の所定時間に設定している。
ここで、この所定時間が数分程度よりも長く、数十分程度に設定されている場合、PC7が別々の連続した印刷ジョブをプリンタ6に対して送信するとき、PC7は、連続した印刷ジョブの印字処理要求を行うたびに、記憶している所定のIPアドレスに関する情報を利用することとなる。このため、PC7は、印字処理要求を行うたびに、ネームサーバ4に送信先プリンタ6のIPアドレスを問い合わせる必要は無いが、複数の印刷ジョブの送信先として、毎回同じプリンタ6を選択してしまうことになる。このため、この選択されたプリンタ6に印刷ジョブの負荷が集中してしまうという問題が生じ、負荷分散が適切に行われないこととなる。
逆に、この生存時間が例えば0分に設定されている場合は、所定のプリンタグループ名をキーに問い合わせたプリンタ6のIPアドレスをキャッシュしている時間が無い。このため、PC7は、印刷ジョブの送信を行うたびにネームサーバ4に対して印刷ジョブの送信先を問い合わせる必要が生じる。つまり、生存時間が0分の場合は、所定のプリンタ6に印刷ジョブが集中するという問題を回避することはできるが、PC7は印刷ジョブを送信するたびにネームサーバ4にIPアドレスの問い合わせを行うため、トラフィックが増加することとなる。また、所定のPC7から連続した印刷ジョブをプリンタ6に対して送信する場合、1回の印刷ジョブごとに異なるプリンタで印字処理が行われる可能性がある。この場合、ユーザは、連続した印刷ジョブにも関わらず、複数のプリンタ6に印字処理された結果を取りにいかなければならない。
したがって、各プリンタ6の印字処理速度とプリンタ6において出力される、連続した印刷ジョブの平均数との関係から鑑みて、生存時間を略1〜3分の間に設定することが好ましい。しかし、この生存時間の値はこれに限定されるものではなく、各プリンタ6の印字処理能力とプリンタ6において出力される連続した印刷ジョブ数の平均数から適切な値に設定されることが好ましい。
このように、プリンタグループ名に対応づけられた各プリンタ6のIPアドレスに関する情報の生存時間を適切に設定した場合、PC7が連続した印刷ジョブをプリンタ6に送信するとき、PC7は、一時的に記憶しているIPアドレスを利用して同一のプリンタ6に印刷ジョブを送信する。
また、PC7から複数回印刷ジョブが送信されるとき、PC7は、複数のプリンタ6…に適切にこれらの印刷ジョブを分散して送信することとなる。
なお、本実施の形態に係る画像出力システム1において、ネームサーバ4が例えばDNS(Domain Name System)サーバのSOA(start of a zone of authority)レコードのように、ネームサーバ4が管轄しているゾーン全体に対して、TTLを含むリソースコードを設定している場合、印刷ジョブ終了時にプリンタ6からこの終了の通知がPC7に対して送信されるように設定されていることが好ましい。なお、リソースコードとは、ネームサーバ4の設定を表現している設定行の集合である。
また、PC7はこの印刷ジョブ終了の通知を受信すると、一時的に記憶しているIPアドレスの情報の中から当該プリンタ6のIPアドレスの情報を削除するように設定されている。なお、PC7は、当該プリンタ6のIPアドレス以外に記憶している他のプリンタ6…のIPアドレス情報…については、ゾーン全体に対して設定しているTTLの時間が経過した後に削除する。
このため、PC7から連続した1つの印刷ジョブをプリンタ6に送信する場合、この印刷ジョブに対する印字処理は、1台のプリンタ6によって行われる。つまり、印刷ジョブ終了の通知をプリンタ6からPC7が受信するまでは、PC7は、記憶しているIPアドレス先のプリンタ6に印刷ジョブを送信する。
一方、複数の印刷ジョブを同じプリンタグループのプリンタ6に対して送信する場合は、印刷ジョブが終了した時点で記憶していたプリンタ6のIPアドレスが削除されるため、PC7はネームサーバ4に対して、印刷ジョブの送信先として、プリンタ6のIPアドレスを問い合わせることとなる。
したがって、連続した印刷ジョブの場合は、同一プリンタ6で印字処理を行うことができ、同じプリンタグループ名を指定して続けて印刷ジョブ送信する場合は、次の印刷ジョブの送信時には、PC7がネームサーバ4に印刷ジョブの送信先を問い合わせることができる。このため、PC7が同じプリンタ6に対して毎回印刷ジョブを送信することを防ぐことができる。
上記したように、画像出力システム1では、PC7が印刷ジョブをプリンタ6に送信する場合、PC7からネームサーバ4には、名前解決要求とプリンタグループ名の通知のみが送信される。このため、ネームサーバ4には大きな負荷がかかることがない。
また、PC7とネームサーバ4との間の名前解決を要求する通信は、ユニキャストによって行われているため、複数のプリンタ6…の中から印刷可能なプリンタを検索するために、ホストからブロードキャストによってネットワーク上の全プリンタ6…にパケットの配信が行われる構成と比較して、印刷ジョブ送信処理ごとにかかるトラフィックを抑えることができる。
また、ネームサーバ4は、PC7からの名前解決要求に対して、変換テーブル23を参照して当該PC7に印刷ジョブの送信先であるプリンタ6のアドレスを直ぐに通知できる構成であるため、PC7からプリンタ6への印刷ジョブの送信を迅速に行うことができる。
(変換テーブル23へのプリンタ6のIPアドレスの追加処理)
ここで、図7を参照してネームサーバ4が管理しているLAN内に、新たにプリンタ6が設置された場合、当該プリンタ6のIPアドレスを変換テーブル23に登録する処理について説明する。図7は、本実施形態に係るプリンタ6のIPアドレスを変換テーブル23に登録する処理を示すフローチャートである。
まずプリンタ6が、ネームサーバ4が管理しているLANに接続された場合(ステップS1、以下S1と称する)、プリンタ6は、自装置のデバイス情報、処理能力情報およびIPアドレスをネームサーバ4に通知する(S2)。
すなわち、プリンタ6では、通信制御部47が、デバイス情報記憶部51に格納している自装置のデバイス情報、処理能力情報およびIPアドレスを通信I/F部46を介してネームサーバ4に送信する。
なお、このデバイス情報とは、プリンタ6が有する機能に関する情報であり、例えば、カラー印刷の可否情報、印刷可能用紙サイズ情報など自装置が備える機能に関する情報である。一方、処理能力情報は、プリンタ6の印刷処理速度など印刷処理能力に関する情報である。
また、プリンタ6からネームサーバ4に対する、自装置のデバイス情報、処理能力情報およびIPアドレスの通知は、ブロードキャストによって実現することができる。なお、プリンタ6が直接ネームサーバ4のIPアドレスを指定して通知する構成であってもよい。ただし、直接、ネームサーバ4のアドレスを指定して通知を行う場合は、予めプリンタ6は、ネームサーバ4のアドレスを記憶しておく必要がある。
ネームサーバ4は、プリンタ6からデバイス情報、処理能力情報、およびIPアドレスを受信すると、プリンタ6のデバイス情報に応じて、変換テーブル23の中のプリンタグループを選択して分類する(S3)。
つまり、ネームサーバ4は、通知判定処理部19がプリンタ6から当該プリンタ6のデバイス情報、処理能力情報、およびIPアドレスを取得したと判定した場合、これらの情報をテーブル設定処理部21に渡す。そして、テーブル設定処理部21では、グループ登録部37が、プリンタ6のデバイス情報に応じて、当該プリンタ6と共通する機能を有する他のプリンタ6…のIPアドレスが割り当てられているプリンタグループを、グループ名テーブル39を参照して選択する。そして、グループ登録部37は、上記選択したプリンタグループの名前を、受信したプリンタ6のIPアドレスに割り当てる。
またさらに、優先度設定部38が、プリンタ6の処理能力情報に応じて、優先度テーブル40を参照して、選択したプリンタグループにおけるこのIPアドレスの優先度を設定する。この優先度とは、IPアドレスが分類されたプリンタグループの中で、印刷ジョブの送信先として当該プリンタ6のIPアドレスが選択される優先順位を示すものである。
そして、グループ登録部37が所定のプリンタグループ名に対応づけられたプリンタ6のIPアドレスを、変換テーブル23に追加し、また、優先度設定部38が、変換テーブル23において、このIPアドレスの優先度を記録する。なお、変換テーブル23に記録されている各IPアドレス…には、生存時間(TTL)が設定されている。この生存時間(TTL)は、予め、0〜3分となるようにネームサーバ4において設定される。
このようにして、プリンタ6から受信したデバイス情報とIPアドレスの情報からネームサーバ4は、当該プリンタ6のプリンタグループ名、IPアドレス、IPアドレスの優先度を変換テーブル23に登録する(S4)。
プリンタ6のプリンタグループ名、IPアドレス、および優先度が、変換テーブル23に登録されると、ネームサーバ4は、プリンタ6に対して当該プリンタ6に割り当てられたプリンタグループ名を通知する(S5)。
プリンタ6は、プリンタグループ名の通知を受信すると、このプリンタグループ名をデバイス情報記憶部51に記録する。このようにして、プリンタ6とネームサーバ4との間の初期設定、すなわちネームサーバ4におけるプリンタ6のIPアドレスを変換テーブル23に登録する処理が終了する(S6)。
このように、本実施の形態に係るネームサーバ4は、新たにプリンタ6が設置され当該ネームサーバ4が管理しているLANに接続された場合であっても、当該プリンタ6のIPアドレスを自動的に変換テーブル23に登録することができる。
このため、手動で新たに加わったプリンタ6のIPアドレスを変換テーブル23に登録するという手間を省略することができる。
さらに、本実施の形態に係る画像出力システム1において、プリンタ6が新たに設置された場合であっても、PC7からの名前解決要求に応じて通知するデータの送信先のIPアドレスとして直ぐに当該プリンタ6のIPアドレスを利用することができる。
(ネームサーバ4における受信フレーム処理方法)
次に図8を参照して、フレームの受信時におけるネームサーバ4の処理について説明する。図8は、ネームサーバ4がフレームを受信した場合の処理を示す図である。
まず、ネームサーバ4がフレームを受信すると(S71)、通信I/F部17を介して受信したフレームは通知判定処理部19に渡される。通知判定処理部19では、受信したフレームに対して、名前解決要求判定部30が、PC7からの名前解決要求であるか否かを判定する(S72)。
この受信フレームがPC7からの名前解決要求の場合(S72において「Yes」)、名前解決要求判定部30は、フレームの情報を名前解決処理部20に送信する。名前解決処理部20では、アドレス取得部35が、PC7から送信されたフレームの情報、すなわち所定のプリンタグループ名をキーとする名前解決要求に関する情報に基づいて、所定のプリンタグループ名に対応するプリンタ6…のIPアドレス…(エントリ)を検索する(S73)。
そして、アドレス取得部35は、このエントリの中から最も優先度が高いIPアドレスを選択して、アドレス送信部34に渡す。アドレス送信部34は、このIPアドレスを通信I/F部を介してPC7に送信し(S74)、受信フレームに対するネームサーバ4の処理は終了する(エンド)。
また、ステップS72において、名前解決要求判定部30が、受信したフレームがPC7からの名前解決要求でないと判断した場合(S72において、「No」)、受信したフレームの情報をプリンタ通知判定部31に送信する。プリンタ通知判定部31では、受信したフレームがプリンタ6から通知されたものか否かを判定する(S75)。
プリンタ通知判定部31が、受信したフレームがプリンタ6からの通知であると判定した場合(S75において「Yes」)、プリンタ6から受信したフレームに対する処理を行う(S76)。そして、受信フレームに対するネームサーバ4の処理は終了する(エンド)。
なお、プリンタ6からの通知に対する処理についての詳細は後述する。
ステップS75において、プリンタ通知判定部31が受信したフレームが、プリンタ7からの通知でないと判定した場合(S75において「No」)、このフレームの情報を設定要求判定部32に渡す。設定要求判定部32は、この受信したフレームの情報が、ネームサーバ4に対する設定の要求であるか否かを判定する(S77)。
ネームサーバ4にプリンタ6から通知されたフレームの情報が、ネームサーバ4に対する設定の要求である場合、設定要求判定部32は通知内容に従って、ネームサーバ4の各種設定を変更するようにサーバ設定部22に指示を出す。サーバ設定部22は、この指示に基づきネームサーバ4の設定の変更を行う(S78)。そして、受信フレームに対するネームサーバ4の処理は終了する(エンド)。
なお、サーバの設定の変更としては、例えば、変換テーブル23に記録している各情報の生存時間の設定、リフレッシュ間隔、最大有効期間等の変更、ネームサーバ4へのアクセス制御の設定の変更、ネームサーバ4が管轄するゾーンの変更などがある。
また、ネームサーバ4の設定の変更に関する情報でない場合、プリンタ6は、受信した通知に関する処理を終了する。
(ネームサーバ4におけるプリンタ6の通知の受信処理)
次に、図9を参照してネームサーバ4が受信したフレームがプリンタ6からの通知である場合の処理について説明する。図9は、ネームサーバ4におけるプリンタ6からの通知の受信処理を示すフローチャートである。
上記した「ネームサーバ4における受信フレーム処理方法」において、プリンタ通知判定部31が受信したフレームがプリンタ6から送信されたものであると判定した場合(図
8のS76)、プリンタ通知判定部31は、このフレームの情報を能力通知判定部33に送信する(S81)。
能力通知判定部33は、プリンタ通知判定部31から受信したフレームの通知が、プリンタ6のデバイス情報、処理能力情報およびIPアドレス情報(これ以降これらの情報を総称して「プリンタ6の能力に関する通知」とする)であるか否かを判定する(S82)。
そして、能力通知判定部33が、この受信したフレームの通知を「プリンタ6の能力に関する通知」であると判定した場合(S82において「Yes」)、このプリンタ6のIPアドレスは、所定のプリンタグループに分類され、当該プリンタグループの名前が割り当てられて、変換テーブル23に追加される(S83)。
すなわち、能力通知判定部33は、プリンタ6のIPアドレスを、所定のプリンタグループ名に割り当て、変換テーブル23に追加するようにテーブル設定処理部21に指示を出す。なお、図9に示すステップS83の処理についての詳細は、上述した「変換テーブル23へのプリンタ6のIPアドレスの追加処理」(図7のS1〜S6)において説明したため省略する。
一方、この受信したフレームの通知が「プリンタ6の能力に関する通知」ではない場合(S82において「No」)、この受信したフレームを能力通知判定部33は、異常状態判定部36に送信する。
異常状態判定部36は、まず、プリンタ6から受信したフレームの通知が、「異常状態の発生を示す通知」であるか否かを判定する(S84)。
受信したフレームの通知がプリンタ6の「異常状態の発生を示す通知」である場合(S84において「Yes」)は、PC7からネームサーバ4への名前解決要求時にこのプリンタ6のIPアドレスが選択されないようにする(S85)。すなわち、異常状態判定部36は、当該プリンタ6のIPアドレスが、PC7からネームサーバ4への名前解決要求に応じて選択されないようにテーブル設定処理部21に指示を出す。
テーブル設定処理部21では、この指示を受けて、テーブル設定変更部41が、変換テーブル23において、フレームの通知を行ったプリンタ6のIPアドレスにフラグ1を立てる。このようにして、異常状態であるプリンタ6がPC7からの名前解決要求時に、ネームサーバ4によって選択されることを回避する。
なお、異常状態とは、例えばプリンタ6が紙詰まりの状態である、または用紙切れであるなど印刷ジョブを出力できない状態である。この異常状態には、プリンタ6の待機ジョブ量が多い状態も含まれる。
一方、この通知が、プリンタ6からの「異常状態の発生を示す通知」でない場合(S84において「No」)、異常状態判定部36は、次に「異常状態からの回復を示す通知」であるか否かを判定する(S86)。
異常状態判定部36が、受信したフレームが「異常状態の発生を示す通知」であると判定した場合(S86において「Yes」)、この通知に応じて当該プリンタ6のIPアドレスに対して行われた設定を初期状態の設定に戻すように、異常状態判定部36はテーブル設定処理部21に指示を出す。すなわち、この場合は、テーブル設定処理部21では、テーブル設定変更部41が通知を行ったプリンタ6のIPアドレスに付されたフラグ1を0に書き換える(S87)。
このようにして、プリンタ6からのフレームの通知が、「異常状態からの回復を示す通知」である場合、ネームサーバ4に対してフレームを送信したプリンタ6のIPアドレスが、PC7からの名前解決要求に応じてネームサーバ4によって選択可能となるようにする。
なお、プリンタ6から受信したフレームが、「プリンタ6の能力を示す通知」あるいは、「異常状態の発生を示す通知」または「異常状態からの回復を示す通知」いずれの通知にも該当しない場合(S86において「No」)は、プリンタ6から受信したフレームの通知に対する受信処理を終了する。
このようにして、ネームサーバ4は、プリンタ6から受信した通知の内容に応じて、当該プリンタ6のIPアドレスをプリンタグループに割り当てたり、また当該プリンタ6に付された優先度の設定を変更したりすることができる。
特には、プリンタ6から受信したフレームの通知が、プリンタ6の「異常状態の発生を示す通知」または「異常状態からの回復を示す通知」である場合、この通知内容に応じて、当該プリンタ6のIPアドレスを印刷ジョブの送信先として選択不可または選択可能とすることができる。
以上のように、本実施形態の画像出力システム1では、ネームサーバ4が参照する変換テーブル23には、共通した機能を有するプリンタ6ごとにグループ化された各プリンタ6のIPアドレスが記録されている。そして、そのグループ内において、各プリンタ6が有する処理能力(例えば、処理速度)に応じて、各IPアドレスには印刷ジョブの送信先として選択する順位に優先度が決められている。
そして、上記ネームサーバ4は、プリンタグループ名をキーとするPC7からの名前解決要求に対して、プリンタグループ名に対応するプリンタ6・・・のIPアドレス・・・のうち、優先度が高いIPアドレスから選択してPC7に通知することができる構成である。
このため、画像出力システム1ではユーザから印刷要求がなされた場合、PC7からプリンタ6への印刷ジョブは適切に分散されて適切なプリンタ6に送信することができる。すなわち、プリンタ6…が有する機能ごとに、各プリンタ6はグループ化されているために、ユーザが所望する機能を有するプリンタ6を選択してPC7から印刷ジョブを送信することができる。
さらに、ネームサーバ4において、各プリンタ6のIPアドレスには、プリンタ6の印刷処理能力に応じて、優先度が設けられている。このため、ネームサーバ4は、PC7からの印刷ジョブ送信先の問合せに対して、より処理能力の高いプリンタ6のIPアドレスをPC7に通知する。したがって、PC7は、処理能力の高いプリンタ6に対して優先的に印刷ジョブの送信を行うことができる。
すなわち、処理能力が高いプリンタ6ほど、PC7から送信される印刷ジョブの頻度(印刷ジョブ量)が大きくなる。
したがって、画像出力システム1では、プリンタ6の処理能力に応じて、PC7からプリンタ6に送信される印刷ジョブ量を調整できるため、印字処理を効率的に行うことができる。
また、本実施形態の画像出力システム1では、プリンタ6は、紙詰まりや故障等によって異常が発生した場合、または待機ジョブ量が多い場合には、「異常状態の発生(ビジー)を示す通知」をネームサーバ4に通知できる構成である。すなわち、プリンタ6は自装置の稼動状態を自装置内にあるセンサによって検知し、その検知結果をネームサーバ4に通知できる構成である。
このため、プリンタ6は常に自装置の稼動状態をネームサーバ4に知らせておくことができる。
一方、ネームサーバ4は、プリンタ6から「異常状態の発生を示す通知」を受信すると、当該プリンタ6のIPアドレスにフラグとして1を立てて、このプリンタ6が復帰するまで印刷ジョブ送信先として選択しないように構成されている。
このため、ネームサーバ4は、「ビジー」の通知を送信したプリンタ6を事前に選択することなく、その他のプリンタ6のIPアドレスを印刷ジョブ送信先として送信できる。したがって、異常が生じているプリンタ6に印刷ジョブを送信して、プリントできなかったために他のプリンタ6を選択しなおすといった不要なトラフィックの発生を抑えることができる。
また、PC7からネームサーバ4に対して、プリンタグループ名をキーに名前解決を要求し、印刷ジョブの送信先のIPアドレスを取得する通信は、PC7とネームサーバ4との間のユニキャストによる通信によって実現できる。
さらに、PC7は、名前解決をネームサーバ4に要求して取得したプリンタ6のIPアドレスの情報を一時記憶する(キャッシュする)構成である。そして、ネームサーバ4がこの情報の生存時間(TTL)を1〜3分に設定している。つまり、PC7は、一度ネームサーバ4からプリンタ6のIPアドレスを取得すれば、取得したIPアドレスを一時記憶しておき、1〜3分間はこの記憶したIPアドレスを有効な情報として扱うことができる。したがって、連続した印刷ジョブをPC7からプリンタ6に送信する場合、PC7は印刷ジョブごとにネームサーバ4に対して送信先プリンタ6のIPアドレスを問い合わせる必要がない。このため、PC7とネームサーバ4との間の通信のトラフィックは最小限に抑えることができる。
なお、上記した画像出力システム1では、プリンタ6からネームサーバ4に対して送信される通知には、「自装置の能力を示す通知」、すなわち自装置にかかるデバイス情報またはIPアドレスの通知、あるいは「異常状態の発生または異常状態からの回復を示す通知」があった。そして、ネームサーバ4はこの通知に応じてプリンタ6のIPアドレスを所定のプリンタグループに割り当て変換テーブル23に追加したり、当該プリンタ6のIPアドレスに関する情報にフラグ1を立てたりまたは1から0に書き換えたりする構成であった。
ここでさらに、画像出力システム1は、印刷ジョブを受信した場合、または印刷ジョブが終了した場合にも、プリンタ6からネームサーバ4に対して通知が行われるように設定されていてもよい。
つまり、このように設定されている画像出力システム1では、プリンタ6がPC7から印刷ジョブを受信した場合、または受信した印刷ジョブに対する処理を終了した場合、プリンタ6からネームサーバ4に対して「印刷ジョブ受信または印刷ジョブの処理終了を示す通知」が送信される。
ここで、プリンタ6が、「印刷ジョブ受信または印刷ジョブの処理終了」を示す通知を、ネームサーバ4に対して送信する画像出力システム1の構成について図10および図11を参照して説明する。図10は、本実施形態に係るネームサーバ4の制御部15内の概略構成を示すブロック図である。図11は、プリンタ6からフレームを受信した場合のネームサーバ4の処理を示す図である。
図10に示すように、ネームサーバ4の制御部15は、通知判定部19がさらにジョブ状態判定部24を有している。このジョブ状態判定部24は、プリンタ6から受信したフレームが「印刷ジョブ受信を示す通知」または「印刷ジョブの処理終了を示す通知」であるかを判定するものである。
なお、本実施形態に係る制御部15は、通知判定部19がさらにジョブ状態判定部24を有している点以外は図1に示す制御部15の構成と同じであるため、他の部材に関する説明は省略する。
ここで、図11を参照してネームサーバ4がプリンタ6からのフレームを受信した場合の処理について説明する。なお、図11に示すステップS91〜ステップS93までの処理については、上記した「ネームサーバ4における受信フレーム処理方法」で説明した図9のステップS81〜ステップS83までの処理と同じであるため説明は省略する。
ステップS92において、能力通知判定部33が、プリンタ6から受信したフレームの通知がデバイス情報およびIPアドレス情報ではない、すなわちプリンタ6の能力を示す通知ではないと判定した場合(S92において「No」)、この通知をジョブ状態判定部24に送信する。
ジョブ状態判定部24は、受信したフレームの通知が「印刷ジョブ受信を示す通知」であるか否かについて判定する(S94)。
この判定の結果、ジョブ状態判定部24が「印刷ジョブ受信を示す通知」であると判定した場合(S94において「Yes」)、テーブル設定変更部41に対して当該プリンタ6のIPアドレスに関する情報の優先度を下げるように指示する。
テーブル設定変更部41は、この指示を受けて変換テーブル23における当該プリンタ6のIPアドレスの情報に付されている優先度の値を所定の値だけ下げる(S95)。そして、ネームサーバ4は、プリンタ6からの通知に対する処理を終了する。
なお、この所定の値は予め、ネームサーバ4において設定されている一定の値であってもよいし、プリンタ6が受信した印刷ジョブの容量に応じて決められる値であってもよい。また、優先度を示す値から所定の値を引いた優先度に下げる構成ではなく、当該プリンタ6の優先順位よりも所定の順位だけ下げた順位となるように設定されていてもよい。
一方、ジョブ状態判定部24が、受信したフレームの通知が「印刷ジョブ受信を示す通知」ではないと判断した場合(S94において「No」)、ジョブ状態判定部24は、この通知が「印刷ジョブ処理の終了を示す通知」であるか否かを判定する(S96)。
この判定の結果「印刷ジョブ処理の終了を示す通知」である場合(S96において「Yes」)、当該プリンタ6のIPアドレスに設定された優先度を、印刷ジョブ受信によって下げられる前の優先度に戻すようにテーブル設定変更部41に対して指示を出す。
テーブル設定変更部41は、この指示を受けて変換テーブル23における当該プリンタ6のIPアドレスの優先度を上げて、下げられる前の状態の設定に戻す(S97)。そして、ネームサーバ4は、プリンタ6から受信したフレームに対する処理を終了する(エンド)。
なお、ネームサーバ4が、「印刷ジョブ受信」の通知を受信して所定の値だけ優先度を下げるように設定されていてもよく、または所定の順位だけ優先度を下げるように設定されていてもよい。
プリンタ6からの「印刷ジョブ受信」の通知に応じて、当該プリンタ6のIPアドレスに付された優先度を所定の値だけ下げるようにネームサーバ4が設定されている場合は、
テーブル設定変更部41が、「印刷ジョブ処理の終了」を受信した際に、下げられた値だけ当該プリンタ6のIPアドレスの優先度を上げるようにする。
また、ネームサーバ4が「印刷ジョブ受信」の通知を受信して予め決められた所定の順位だけ優先度を下げるように設定されている場合、テーブル設定変更部41が、優先度テーブル40を参照し、当該プリンタ6のIPアドレスが属するプリンタグループでの順位を下げられる前の順位となるように優先度の値を書き換える構成であってもよい。
ステップS96においてジョブ状態判定部24が、「印刷ジョブの処理終了を示す通知」ではないと判定した場合(S96において「No」)、受信したフレームの通知を異常状態判定部36に送信する。そして、異常状態判定部36は、まず、ジョブ状態判定部24から受信したフレームの通知に基づき、「異常状態の発生を示す通知」であるか否かを判定する(S98)。
異常状態判定部36が、この通知を「異常状態の発生を示す通知」であると判定した場合(S98において「Yes」)、テーブル設定処理部21に対して当該プリンタ6のIPアドレスの情報にフラグを立てるように指示を出す。そして、この指示を受けて、テーブル設定処理部21では、テーブル設定変更部41が、当該プリンタ6のIPアドレスの情報にフラグとして1を立てて、PC7からの名前解決要求時に選択されないようにする(S99)。そして、ネームサーバ4は、プリンタ6から受信したフレームに対する処理を終了する(エンド)。
一方、異常状態判定部36が、受信したフレームの通知が「異常状態の発生を示す通知」ではないと判定した場合(S98において「NO」)、次に異常状態判定部36は、このフレームの通知が「異常状態からの回復を示す通知」であるか否かを判定する(S100)。
そして、異常状態判定部36が、受信したフレームの通知が「異常状態からの回復を示す通知」であると判定した場合(S100において「Yes」)、テーブル設定処理部21に対して当該プリンタ6のIPアドレスの情報に立っているフラグ1を0に戻すように指示を出す。
この指示を受けて、テーブル設定処理部21では、テーブル設置変更部41が当該プリンタ6のIPアドレスの情報に立っているフラグの1を0に書換えて、このIPアドレスの情報を元の優先度に戻す(S101)。そして、ネームサーバ4は、プリンタ6から受信したフレームに対する処理を終了する(エンド)。
プリンタ6から受信したフレームの通知が、「プリンタ6の能力を示す通知」、「印刷ジョブ受信を示す通知」、「印刷ジョブの処理終了を示す通知」、「異常状態の発生の通知」、または「異常状態からの回復の通知」いずれの通知でもない場合(S100において「No」)は、ネームサーバ4は、プリンタ6から受信したフレームに対する処理を行わず終了する(エンド)。
以上のように、本実施形態に係る画像出力システム1は、ネームサーバ4がプリンタ6から異常状態または異常状態からの回復だけではなく、印刷ジョブの受信または印刷ジョブの処理終了についても通知を受けるように設定されている。そして、この通知に応じて、ネームサーバ4は、当該プリンタ6に対応する変換テーブル23のIPアドレスに付された優先度の設定を変更することができる構成である。つまり、本実施の形態に係る画像出力システム1では、ネームサーバ4がプリンタ6の稼動状況についてより詳細に監視できる構成である。
このため、この画像出力システム1では、プリンタ6が受信した印刷ジョブ量を考慮して、印刷ジョブの送信先としてのプリンタ6を選択することができる。なお、上記印刷ジョブ量には、プリンタ6が既に印刷処理中である印刷ジョブだけでなく、印刷処理を行うために、プリンタ6において待機状態となっている印刷ジョブも含む。
また、上記した画像出力システム1は、所定のLAN内にネームサーバ4が設置され、このLAN内のプリンタ6…、PC7…を管理する構成であるが、この構成に限定されるものではない。すなわち、ネームサーバ4がこの所定のLAN外に設置されており、複数のLAN内のプリンタ6…およびPC7…を管理できる構成であってもよい。
ここで、図12を参照して、ネームサーバ4が、プリンタ6が設置されているLAN外に設置され、複数のLAN上にあるプリンタ6およびPC7を管理している画像出力システム1のプリンタ6とネームサーバ4との間での初期設定について説明する。図12は、プリンタ6とネームサーバ4との間での初期設定の処理を示すフローチャートである。
ネームサーバ4がプリンタ6およびPC7と同じLAN内に設置されている場合と同様に、プリンタ6はネットワークに接続されると(S7)、自装置のデバイス情報、処理能力情報、IPアドレス、およびサブネットワークアドレスをルータに対して送信する(S8)。なお、このルータは、プリンタ6が設置されているLANと他のLANとを接続するための中継装置である。
そして、プリンタ6から送信されたこれら情報は、ルータを経由してネームサーバ4に送信される(S9)。なお、プリンタ6からネームサーバ4への通知は、プリンタ6がネームサーバ4のIPアドレスを指定して行う。このため、プリンタ6は、予めこのネームサーバ4のIPアドレスを登録しておく必要がある。
ネームサーバ4は、プリンタ6からデバイス情報、処理能力情報、IPアドレス、およびサブネットワークアドレスを受信すると、デバイス情報および/またはサブネットワークアドレスに応じて、このプリンタ6のIPアドレスを所定のプリンタグループに分類する(S10)。
すなわち、ネームサーバ4は、プリンタ6から通知されたデバイス情報および/またはサブネットワークアドレスに基づき、当該プリンタ6が有する機能と共通する他のプリンタ6・・・のIPアドレスが属するグループであって、かつ、当該プリンタ6と同じLAN内に設置されているプリンタ6・・・のIPアドレスが属するプリンタグループを選択する。
そして、ネームサーバ4はこの通知を受けたIPアドレスに選択したプリンタグループの名前を割り当て、変換テーブル23に登録する。さらに、ネームサーバ4は、上記プリンタ6の処理能力情報を参照して、プリンタグループ名が割り当てられたIPアドレスに対して、当該プリンタグループにおける優先度を設定し変換テーブル23に記録する(S11)。なお、変換テーブル23にプリンタ6のIPアドレスを追加する処理の詳細な説明は、上記した「ネームサーバ4におけるプリンタ6の通知の受信処理」と同様であるため省略する。
変換テーブル23において上記プリンタ6のIPアドレスと、このIPアドレスと対応関係を示すプリンタグループ名、このIPアドレスの割り当てられたプリンタグループ内での優先度、およびサブネットワークアドレスが記録されると、ネームサーバ4は、プリンタ6のIPアドレスに割り当てられたプリンタグループ名に関する情報をルータに送信する(S12)。
この情報を受信したルータは、当該IPアドレスに割り当てられたプリンタグループ名を、上記プリンタ6に対して送信する(S13)。プリンタ6は、自装置のIPアドレスに割り当てられたプリンタグループ名を受信すると、このプリンタグループ名を記録する。このようにしてプリンタ6のIPアドレスに対するプリンタグループの名前の割り当てが完了する(S14)。
なお、ネームサーバ4が管理している複数のLANが、互いに物理的に近い空間で配置されている場合であって、どのLAN上にあるプリンタ6から印刷ジョブの出力が行われても、ユーザの利便性を損なわない場合は、デバイス情報だけに基づいてプリンタグループを選択してもよい。
ここで、ユーザの利便性とは、ネームサーバ4が管轄しているプリンタ6・・・がPC7を操作するユーザから物理的に離れている場所に設置されているか否かに起因するものである。
例えば、ネームサーバ4が管轄しているプリンタ6とPC7とが互いに近接した場所(例えば、同一フロア)に配置されている場合は、どのプリンタ6から印刷ジョブが出力されても画像出力システム1を利用するユーザの利便性は損なわれない。
しかし、ネームサーバ4が管轄しているプリンタ6・・・のうち物理的に離れた位置に配置されている場合(例えば、あるLANに接続するプリンタ6・・・は、一階のフロアに配置され、他のLANに接続されているプリンタ6は、別の階のフロアに配置されているなど)には、このユーザが存在するフロアとは別のフロアで印刷ジョブが出力される可能性があるため、ユーザの利便性が損なわれるという問題が生じる。
したがって、ネームサーバ4が複数のLANを管轄しているために、ユーザから物理的に離れた場所のプリンタ6から印刷ジョブが出力され得る場合は、プリンタ6のデバイス情報とサブネットワークアドレスとに基づいて、当該プリンタ6に対してプリンタグループ名が割り当てられる構成であることが好ましい。
このようにプリンタグループ名がプリンタ6のデバイス情報およびサブネットワークアドレス情報に基づいて、当該プリンタ6のIPアドレスに割り当てられている場合、ネームサーバ4は、PC7からの名前解決要求に対してPC7と同一のLAN内にあるプリンタ6を印刷ジョブの送信先として通知できる。
(ネームサーバ4・プリンタ6における制御機能を実現する構成)
次に、ネームサーバ4、プリンタ6における各機能ブロックを実現する構成について説明する。
ネームサーバ4には制御部15が備えられており、この制御部15内に各種機能ブロックが設けられているが、これらの機能ブロックは、例えばCPU(Central Processing Unit)などの演算手段がROM(Read Only Memory)やRAM(Random Access Memory)などの記録媒体に格納されたプログラムコードを実行することによって実現することができる。また、記憶部16は、例えばフラッシュEEPROMなどの不揮発性記憶媒体によって実現可能である。
また、プリンタ6にはプリンタコントローラ52が備えられており、このプリンタコントローラ52内には通信制御部47という機能ブロックが設けられている。この機能ブロックも、例えばCPUなどの演算手段がROMやRAMなどの記録媒体に格納されたプログラムコードを実行することによって実現することができる。また、プリンタコントローラ52が備えるデバイス情報記憶部51は、例えばフラッシュEEPROMなどの不揮発性記憶媒体によって実現可能である。
なお、上記では、各機能ブロックが「CPUなどの演算手段がROMやRAMなどの記録媒体に格納されたプログラムコードを実行することで実現される」場合を例にして説明したが、同様の処理を行うハードウェアで実現してもよい。また、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせて実現することもできる。さらに、上記各部材のうち、ハードウェアとして説明した部材であっても、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせて実現することもできる。なお、上記演算手段は、単体であってもよいし、装置内部のバスや種々の通信路を介して接続された複数の演算手段が共同してプログラムコードを実行してもよい。
上記演算手段によって直接実行可能なプログラムコード自体、または、後述する解凍などの処理によってプログラムコードを生成可能なデータとしてのプログラムは、当該プログラム(プログラムコードまたは上記データ)を記録媒体に格納し、当該記録媒体を配付したり、あるいは、上記プログラムを、有線または無線の通信路を介して伝送するための通信手段で送信したりして配付され、上記演算手段で実行される。
なお、通信路を介して伝送する場合、通信路を構成する各伝送媒体が、プログラムを示す信号列を伝搬し合うことによって、当該通信路を介して、上記プログラムが伝送される。また、信号列を伝送する際、送信装置が、プログラムを示す信号列により搬送波を変調することによって、上記信号列を搬送波に重畳してもよい。この場合、受信装置が搬送波を復調することによって信号列が復元される。一方、上記信号列を伝送する際、送信装置が、デジタルデータ列としての信号列をパケット分割して伝送してもよい。この場合、受信装置は、受信したパケット群を連結して、上記信号列を復元する。また、送信装置が、信号列を送信する際、時分割/周波数分割/符号分割などの方法で、信号列を他の信号列と多重化して伝送してもよい。この場合、受信装置は、多重化された信号列から、個々の信号列を抽出して復元する。いずれの場合であっても、通信路を介してプログラムを伝送できれば、同様の効果が得られる。
ここで、プログラムを配付する際の記録媒体は、取外し可能である方が好ましいが、プログラムを配付した後の記録媒体は、取外し可能か否かを問わない。また、上記記録媒体は、プログラムが記憶されていれば、書換え(書き込み)可能か否か、揮発性か否か、記録方法および形状を問わない。記録媒体の一例として、磁気テープやカセットテープなどのテープ、あるいは、フロッピー(登録商標)ディスクやハードディスクなどの磁気ディスク、または、CD−ROMや光磁気ディスク(MO)、ミニディスク(MD)やデジタルビデオディスク(DVD)などのディスクが挙げられる。また、記録媒体は、ICカードや光カードのようなカード、あるいは、マスクROMやEPROM、EEPROMまたはフラッシュROMなどのような半導体メモリであってもよい。あるいは、CPUなどの演算手段内に形成されたメモリであってもよい。
なお、上記プログラムコードは、上記各処理の全手順を上記演算手段へ指示するコードであってもよいし、所定の手順で呼び出すことで、上記各処理の一部または全部を実行可能な基本プログラム(例えば、オペレーティングシステムやライブラリなど)が既に存在していれば、当該基本プログラムの呼び出しを上記演算手段へ指示するコードやポインタなどで、上記全手順の一部または全部を置き換えてもよい。
また、上記記録媒体にプログラムを格納する際の形式は、例えば、実メモリに配置した状態のように、演算手段がアクセスして実行可能な格納形式であってもよいし、実メモリに配置する前で、演算手段が常時アクセス可能なローカルな記録媒体(例えば、実メモリやハードディスクなど)にインストールした後の格納形式、あるいは、ネットワークや搬送可能な記録媒体などから上記ローカルな記録媒体にインストールする前の格納形式などであってもよい。また、プログラムは、コンパイル後のオブジェクトコードに限るものではなく、ソースコードや、インタプリトまたはコンパイルの途中で生成される中間コードとして格納されていてもよい。いずれの場合であっても、圧縮された情報の解凍、符号化された情報の復号、インタプリト、コンパイル、リンク、または、実メモリへの配置などの処理、あるいは、各処理の組み合わせによって、上記演算手段が実行可能な形式に変換可能であれば、プログラムを記録媒体に格納する際の形式に拘わらず、同様の効果を得ることができる。
なお、上記したネームサーバ4は、PC7から所定のプリンタグループ名を指定して名前解決要求がなされた場合、PC7に対して所定のプリンタグループ名に対応するIPアドレス…の中からもっとも優先度が高いIPアドレスを通知する構成であったが、通知されるアドレスはIPアドレスに限定されるものではない。例えばMACアドレスなどPC7が印刷ジョブ送信先として所定のプリンタ6の場所が特定できる情報であればよい。
上記において、本実施の形態にかかる画像出力システム1は、PC7からプリンタグループ名をネームサーバ4に通知して名前解決を要求し、この要求に対して、ネームサーバ4がプリンタ6のアドレスを当該PC7に回答する構成であったが、この構成に限定されるものではない。例えば、PC7からネームサーバ4に通知されるプリンタグループ名の代わりに、プリンタ6・・・のアドレスが分類されているグループを特定できるIDなどの情報が通知される構成であってもよい。
また、ネームサーバ4、プリンタ6、およびPC7それぞれは互いに通信ケーブル等によって通信可能に接続される構成であってもよいし、無線によって通信可能に接続される構成であってもよい。