しかしながら、上述した従来の画像出力システムは、以下に示すような問題点を有している。特許文献1に開示された画像出力システムにおいては、プリンタサーバが通信ネットワーク上の全てのプリンタを一元管理するようになっている。したがって、プリンタサーバが何らかの理由で稼働しなくなると、画像出力システム全体の動作が停止してしまうという問題がある。
また、プリンタサーバは、ホストから印刷ジョブを受信すると、このデータを一時的に保存する。そして、該印刷ジョブの印刷処理に必要な機能に対応したプリンタグループの中から、稼働状況を考慮して該印刷ジョブを実行するプリンタを選択した後に、一時的に保存した印刷ジョブを該当プリンタへ送信することになる。すなわち、ホストから送信された印刷ジョブは、一旦プリンタサーバで留まって、プリンタサーバにおける分配処理が終了した後にプリンタに送信されることになるので、印刷指示から印刷開始までの処理時間が長くなることになる。この問題は、複数の印刷ジョブが同時期にプリンタサーバに送信された場合に特に顕著となる。
また、印刷ジョブは、プリンタサーバが選択したプリンタにのみ送信されるようになっている。よって、該プリンタに何らかのトラブルが発生し、印刷処理を遂行できない状況となった場合には、そのプリンタで処理することになっていた印刷ジョブを、他のプリンタに転送する処理をプリンタサーバが行うことが可能となっている必要があることになる。この場合、プリンタサーバは、あるプリンタでトラブルが発生したことを検出すると、該プリンタに指示していた印刷ジョブを実行させる他のプリンタを選択する処理を行った上で、該印刷ジョブを新たに選択されたプリンタに送信する処理を行うことになる。したがって、プリンタサーバの処理の負担が増えるだけでなく、印刷ジョブの転送処理にも時間がかかることになり、迅速な対応を行うことができないという問題がある。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、特定の情報処理装置にジョブが集中するなどの不具合を解消することができるとともに、データの転送処理を迅速に行うことができる集線装置、中継制御方法、中継制御プログラム、中継制御プログラムを記録した記録媒体、情報処理装置、DHCPサーバ、DHCP処理方法、DHCP処理プログラム、DHCP処理プログラムを記録した記録媒体、および情報処理システムを提供することにある。
本発明に係る集線装置は、上記課題を解決するために、伝送媒体を介してデータ伝送の中継を行う集線装置であって、当該集線装置内における処理を制御する制御手段と、上記伝送媒体を介して接続されている情報処理装置が有する機能に応じて、各情報処理装置をグループに分類するとともに、各グループに対応する仮想アドレスを記録したグループ情報テーブルを記憶する記憶手段とを備え、上記制御手段が、上記仮想アドレス宛てのデータを受信した場合に、上記記憶手段に記憶されているグループ情報テーブルを参照して、該仮想アドレスに対応するグループに属する情報処理装置の全てに対して上記受信したデータを送信する制御を行うデータ監視手段とを備え、上記データ監視手段が、受信したデータが、以前に特定のグループに属する情報処理装置に対して送信したデータに対する情報処理を開始する旨を示す開始通知データであることを検知した場合に、上記特定のグループに属する情報処理装置のうち、該開始通知データを送信した情報処理装置以外の情報処理装置に対して、該当データの情報処理を開始しないように指示するデータを送信する制御を行う処理手段を、上記制御手段がさらに備えていることを特徴としている。
また、本発明に係る集線装置は、本発明に係る集線装置は、上記課題を解決するために、伝送媒体を介してデータ伝送の中継を行う集線装置であって、当該集線装置内における処理を制御する制御手段と、上記伝送媒体を介して接続されている情報処理装置が有する機能に応じて、各情報処理装置をグループに分類するとともに、各グループに対応する仮想アドレスを記録したグループ情報テーブルを記憶する記憶手段とを備え、上記制御手段が、上記仮想アドレス宛てのデータを受信した場合に、上記記憶手段に記憶されているグループ情報テーブルを参照して、該仮想アドレスに対応するグループに属する情報処理装置の全てに対して上記受信したデータを送信する制御を行うデータ監視手段とを備え、上記データ監視手段が、受信したデータが、以前に特定のグループに属する情報処理装置に対して送信したデータに対する情報処理を終了した旨を示す終了通知データであることを検知した場合に、上記特定のグループに属する情報処理装置のうち、該終了通知データを送信した情報処理装置以外の情報処理装置に対して、該当データの情報処理を取り消すことを指示するデータを送信する制御を行う処理手段を、上記制御手段がさらに備えていることを特徴としている。
また、本発明に係る集線装置は、上記の構成において、上記データ監視手段が、受信したデータが、以前に特定のグループに属する情報処理装置に対して送信したデータに対する情報処理を開始する旨を示す開始通知データであることを検知した場合に、上記特定のグループに属する情報処理装置のうち、該開始通知データを送信した情報処理装置以外の情報処理装置に対して、該当データの情報処理を開始しないように指示するデータを送信する制御を行う処理手段を、上記制御手段がさらに備えている構成としてもよい。
また、本発明に係る集線装置は、上記の構成において、上記伝送媒体を介して上記情報処理装置を接続するためのポートを備えており、上記グループ情報テーブルに、各情報処理装置が接続されているポートの情報がさらに記憶されている構成としてもよい。
また、本発明に係る集線装置は、上記の構成において、上記グループ情報テーブルに、各グループに対応したサブネットアドレスの情報がさらに記憶されている構成としてもよい。
また、本発明に係る集線装置は、上記の構成において、上記制御手段が、上記グループ情報テーブルを設定・更新する機器分類手段をさらに備えている構成としてもよい。
また、本発明に係る集線装置は、上記の構成において、上記データ監視手段が、接続されている情報処理装置から、該情報処理装置の機能を示すデバイス情報を受信したことを検知した場合に、上記機器分類手段が、該デバイス情報に基づいて、該当情報処理装置を属させるグループを特定し、該当情報処理装置を上記グループ情報テーブルに登録する構成としてもよい。
また、本発明に係る集線装置は、上記の構成において、上記データ監視手段が、外部のDHCPサーバから、接続されている情報処理装置に対して付与されるIPアドレスに関するデータを受信したことを検知した場合に、該IPアドレスを、該当情報処理装置が属するグループに対応する内部IPアドレスに変換するアドレス変換テーブルを生成し、該アドレス変換テーブルを上記記憶手段に記憶するとともに、上記内部IPアドレスを該当情報処理装置に対して通知するデータを送信する制御を行うアドレス変換設定手段を、上記制御手段がさらに備えている構成としてもよい。
また、本発明に係る集線装置は、上記の構成において、上記機器分類手段が、デバイス情報を送信してきた情報処理装置に対して、さらに該当情報処理装置が属するグループに対応する内部IPアドレスを付与するとともに、上記内部IPアドレスを該当情報処理装置に対して通知するデータを送信する制御を行う構成としてもよい。
また、本発明に係る集線装置は、上記の構成において、上記機器分類手段が、外部のDHCPサーバから、接続されている情報処理装置に対して付与される、該当情報処理装置が属するグループに対応するIPアドレスに関するデータを受信した場合に、該IPアドレスを上記グループ情報テーブルへ登録する構成としてもよい。
また、本発明に係る中継制御方法は、伝送媒体を介してデータ伝送の中継を行う集線装置の中継制御方法であって、上記伝送媒体を介して接続されている情報処理装置が有する機能に応じて、各情報処理装置をグループに分類するとともに、各グループに対応する仮想アドレスを記録したグループ情報テーブルを記憶するステップと、上記仮想アドレス宛てのデータを受信した場合に、上記グループ情報テーブルを参照して、該仮想アドレスに対応するグループに属する情報処理装置の全てに対して上記受信したデータを送信する制御を行うステップと、受信したデータが、以前に特定のグループに属する情報処理装置に対して送信したデータに対する情報処理を開始する旨を示す開始通知データであることを検知した場合に、上記特定のグループに属する情報処理装置のうち、該開始通知データを送信した情報処理装置以外の情報処理装置に対して、該当データの情報処理を開始しないように指示するデータを送信する制御を行うステップとを備えていることを特徴としている。
また、本発明に係る中継制御方法は、伝送媒体を介してデータ伝送の中継を行う集線装置の中継制御方法であって、上記伝送媒体を介して接続されている情報処理装置が有する機能に応じて、各情報処理装置をグループに分類するとともに、各グループに対応する仮想アドレスを記録したグループ情報テーブルを記憶するステップと、上記仮想アドレス宛てのデータを受信した場合に、上記グループ情報テーブルを参照して、該仮想アドレスに対応するグループに属する情報処理装置の全てに対して上記受信したデータを送信する制御を行うステップと、受信したデータが、以前に特定のグループに属する情報処理装置に対して送信したデータに対する情報処理を終了した旨を示す終了通知データであることを検知した場合に、上記特定のグループに属する情報処理装置のうち、該終了通知データを送信した情報処理装置以外の情報処理装置に対して、該当データの情報処理を取り消すことを指示するデータを送信する制御を行うステップとを備えていることを特徴としている。
また、本発明に係る情報処理装置は、上記本発明に係る集線装置に、伝送媒体を介して接続される情報処理装置であって、当該情報処理装置が有する機能を示すデバイス情報を記憶する記憶手段と、上記集線装置に接続した際に、上記記憶手段に記憶されているデバイス情報を該集線装置に対して送信する制御を行う通信制御手段とを備えていることを特徴としている。
また、本発明に係るDHCPサーバは、上記本発明に係る集線装置に、伝送媒体を介して接続されるDHCPサーバであって、当該DHCPサーバ内における処理を制御する制御手段と、上記集線装置に接続されている情報処理装置が有する機能に応じて、各情報処理装置をグループに分類するとともに、各グループに対応するIPアドレスを記録したグループ情報テーブルを記憶する記憶手段とを備え、上記制御手段が、上記集線装置に接続されている情報処理装置から、上記集線装置を介して、該情報処理装置の機能を示すデバイス情報を受信した場合に、該デバイス情報に基づいて、該当情報処理装置を属させるグループを特定し、該グループに対応するIPアドレスを設定するとともに、該当情報処理装置を上記グループ情報テーブルに登録するとともに、設定されたIPアドレスを上記集線装置に対して送信する制御を行うDHCP処理手段を備えていることを特徴としている。
また、本発明に係るDHCP処理方法は、上記本発明に係る集線装置に、伝送媒体を介して接続されるDHCPサーバによるDHCP処理方法であって、上記集線装置に接続されている情報処理装置が有する機能に応じて、各情報処理装置をグループに分類するとともに、各グループに対応するIPアドレスを記録したグループ情報テーブルを記憶するステップと、上記集線装置に接続されている情報処理装置から、上記集線装置を介して、該情報処理装置の機能を示すデバイス情報を受信した場合に、該デバイス情報に基づいて、該当情報処理装置を属させるグループを特定し、該グループに対応するIPアドレスを設定するとともに、該当情報処理装置を上記グループ情報テーブルに登録するとともに、設定されたIPアドレスを上記集線装置に対して送信する制御を行うステップとを備えていることを特徴としている。
また、本発明に係る情報処理システムは、上記本発明に係る集線装置と、上記集線装置に伝送媒体を介して接続される上記本発明に係る情報処理装置とを備えたことを特徴としている。
また、本発明に係る情報処理システムは、上記本発明に係る集線装置と、上記集線装置に伝送媒体を介して接続される上記本発明に係る情報処理装置と、上記集線装置に伝送媒体を介して接続されるDHCPサーバとを備えたことを特徴としている。
また、本発明に係る情報処理システムは、上記本発明に係る集線装置と、上記集線装置に伝送媒体を介して接続される上記本発明に係る情報処理装置と、上記集線装置に伝送媒体を介して接続される上記本発明に係るDHCPサーバとを備えたことを特徴としている。
また、本発明に係る情報処理システムは、上記の構成において、記集線装置が複数備えられているとともに、該複数の集線装置の間で、上記グループ情報テーブルを共有する構成としてもよい。
本発明に係る集線装置および中継制御方法は、上記したように、記憶手段に、各情報処理装置をグループに分類するとともに、各グループに対応する仮想アドレスを記録したグループ情報テーブルが記憶されている。そして、データ監視手段は、仮想アドレス宛てのデータを受信した際に、該仮想アドレスに対応するグループに属する情報処理装置の全てに対して、該データを送信するように制御を行うようになっている。
このような構成および方法によれば、データの情報処理を指示するホストは、そのデータを処理する上で必要となる機能を有するグループに対応する仮想アドレス宛てに該データを送信すればよいことになる。すなわち、ホストは、特定の情報処理装置宛てにジョブとしてのデータを送信する必要はなく、該当ジョブを実行する上で必要となる機能を有するグループに対応する仮想アドレス宛てにデータ送信すればよいことになる。よって、ホスト側は、ジョブを指示する情報処理装置の稼働状況などを考慮する必要がなくなる。
また、集線装置は、仮想アドレスに対応するグループに属する情報処理装置の全てに対して受信したデータを転送するので、このデータを受信した情報処理装置のうちで、一番早く該当データを処理できるものから処理が行われることになる。よって、特定の情報処理装置にジョブが集中するなどの不具合を解消することができるとともに、データの処理も早く行われるようにすることができる。
また、集線装置は、仮想アドレス宛てのデータを受信すると、グループ情報テーブルを参照することによって、該データを送信すべきグループを特定し、該グループに属する情報処理装置に向けて送信処理を行えばよいことになる。すなわち、集線装置における判断処理としては極めて単純なものであるので、データの転送処理を迅速に行うことができる。
ここで、例えば従来では、画像出力システムにおいて、プリンタサーバが印刷ジョブの転送先プリンタを決定するシステムが提案されているが、このようなシステムでは、上記したように、プリンタサーバにおける転送先決定のための判断処理に比較的時間がかかるという問題がある。また、プリンタサーバは比較的高度な判断処理を行う必要があり、構成が複雑化するので、例えばサーバがダウンするなどの不具合が生じる可能性が考えられる。
これに対して、上記本発明に係る集線装置によれば、プリンタサーバのサーバを設ける必要がなく、また、集線装置自体の処理および機能としても比較的単純なものであるので、上記のプリンタサーバを設けるシステムが有する問題を解消することができる。
また、本発明に係る集線装置および中継制御方法は、上記したように、データ監視手段によって開始通知データを受信したことが検知された場合に、処理手段が、該当するデータを以前に送信した情報処理装置のうちで、開始通知データを送信してきた情報処理装置以外の情報処理装置に対して、該当データの情報処理を開始しないように指示するようにしてもよい。このようにすれば、データを受信した複数の情報処理装置で、同じデータの処理が重複して行われることを防止することができる。
また、本発明に係る集線装置および中継制御方法は、上記したように、データ監視手段によって終了通知データを受信したことが検知された場合に、処理手段が、該当するデータを以前に送信した情報処理装置のうちで、終了通知データを送信してきた情報処理装置以外の情報処理装置に対して、該当データの情報処理を取り消すように指示するようにしてもよい。このようにすれば、ある情報処理装置において、あるデータに関して他の情報処理装置で処理が終了しているのにも拘らず、該当データの情報処理を行おうとする準備がなされることを防止することができる。
また、本発明に係る集線装置は、上記したように、グループ情報テーブルに、各情報処理装置が接続されているポートの情報がさらに記憶されているようになっていてもよい。この場合、接続されている各情報処理装置と、各情報処理装置を接続しているポートとの関係を的確に把握することが可能となる。すなわち、どのポートにどの情報処理装置を接続しても、それに的確に対応することができるので、情報処理装置の接続をポートに対して自由に行うことが可能となる。
また、データの転送を行う際に、グループ情報テーブルを参照することによってどのポートに対して送信すべきかを判断することができるので、宛先を確認するためのフラッディングなどを行う必要をなくすことができる。これにより、不要なトラフィックを低減することが可能となる。
また、本発明に係る集線装置は、上記したように、グループ情報テーブルに、各グループに対応したサブネットアドレスの情報がさらに記憶されているようになっていてもよい。この場合、データ監視手段は、仮想アドレス宛てのデータを受信した際に、該当するグループに対応するサブネットアドレスに含まれる全ての情報処理装置に対して受信したデータを送信する制御を行えばよいことになる。すなわち、各情報処理装置のアドレスを考慮する必要がないので、より迅速に転送処理を行うことが可能となる。
また、本発明に係る集線装置は、上記したように、機器分類手段によって、グループ情報テーブルの設定・更新処理を行うことが可能となっていてもよい。このような構成によれば、接続している情報処理装置が変化した場合にも、この変化に適切に対応してグループ情報テーブルを更新することが可能となる。
また、本発明に係る集線装置は、上記したように、接続されている情報処理装置から受信したデバイス情報に基づいて、機器分類手段によってグループ情報テーブルの登録処理が行われるようになっていてもよい。このような構成によれば、ある情報処理装置との接続がアクティブになった時点で該情報処理装置からデバイス情報を受信することによって、即座に該情報処理装置のグループ情報テーブルへの登録を行うことができるので、接続の変化に応じてフレキシブルに対応することが可能となる。
また、本発明に係る集線装置は、上記したように、DHCPサーバによって情報処理装置に対してIPアドレスが付与された場合に、アドレス変換設定手段によって、該IPアドレスと、グループに対応した内部IPアドレスとの対応付けを示すアドレス変換テーブルが記憶手段に記憶されるようになっていてもよい。このような構成によれば、集線装置において、各情報処理装置に対して送受信されるデータのIPアドレスが変換されることになる。よって、各情報処理装置のIPアドレスが外部に対して隠蔽されることになるのでセキュリティ性を向上することができる。また、DHCPサーバは、通常のDHCP機能を有するものを利用することができるので、特別なDHCPサーバを設ける必要はない。
また、本発明に係る集線装置は、上記したように、接続されている情報処理装置から受信したデバイス情報に基づいて、機器分類手段が、該当情報処理装置に対してグループに対応する内部IPアドレスを付与するようになっていてもよい。このような構成によれば、集線装置によって、接続されている情報処理装置に対するIPアドレスの付与を行うことができるので、集線装置および情報処理装置が属する通信ネットワークにおいてDHCPサーバを設ける必要がないことになる。よって、例えば小規模なシステムである場合、集線装置を設けるだけで、ネットワークシステムを実現することが可能となる。また、外部に対して各情報処理装置のIPアドレスを隠蔽することができるので、セキュリティ性を向上させることができる。
また、本発明に係る集線装置は、上記したように、DHCPサーバが、情報処理装置に対して、該当情報処理装置が属するグループに対応するIPアドレスが付与した場合に、機器分類手段が、このIPアドレスをグループ情報テーブルへ登録するようになっていてもよい。このような構成によれば、集線装置においては、情報処理装置の機能などを考慮してグループ分けする処理を行う必要がないので、集線装置の構成の簡素化を図ることができる。また、例えばDHCPサーバによって付与されたIPアドレスを、内部IPアドレスに変換する処理も不要となるので、集線装置による転送処理速度を高めることができる。さらに、集線装置にアドレス変換処理を行う構成を設ける必要がないので、集線装置の構成をさらに簡素化することができる。
本発明に係る情報処理装置は、上記したように、記憶手段にデバイス情報を記憶しているとともに、集線装置に接続した際に、通信制御手段によって、デバイス情報が該集線装置に対して送信されるようになっている。これにより、例えば集線装置が、受信したデバイス情報に基づいて該当情報処理装置をグループ分けしたり、集線装置を介して例えばDHCPサーバなどにデバイス情報が伝送されることによって、DHCPサーバがデバイス情報に基づいて該当情報処理装置をグループ分けしたりすることが可能となる。
本発明に係るDHCPサーバおよびDHCP処理方法は、上記したように、集線装置に接続されている情報処理装置が有する機能に応じて、各情報処理装置をグループに分類するとともに、各グループに対応するIPアドレスを記録したグループ情報テーブルを記憶している。そして、集線装置に接続されている情報処理装置から、集線装置を介して、該情報処理装置の機能を示すデバイス情報を受信した場合に、DHCP処理手段が、該デバイス情報に基づいて、該当情報処理装置を属させるグループを特定し、該グループに対応するIPアドレスを設定するようになっている。また、DHCP処理手段は、さらに、該当情報処理装置を上記グループ情報テーブルに登録するとともに、設定されたIPアドレスを上記集線装置に対して送信する制御を行うようになっている。
これにより、DHCPサーバにおいて情報処理装置の機能などを考慮してグループ分けする処理が行われるので、集線装置においては、このような処理を行う必要がなくなる。よって、集線装置の構成の簡素化を図ることができる。また、集線装置において、DHCPサーバによって付与されたIPアドレスを、内部IPアドレスに変換する処理も不要となるので、集線装置による転送処理速度を高めることができる。さらに、集線装置にアドレス変換処理を行う構成を設ける必要がないので、集線装置の構成をさらに簡素化することができる。
本発明に係る情報処理システムは、上記したように、上記本発明に係る集線装置と、上記本発明に係る情報処理装置とが伝送媒体を介して接続された構成となっている。これにより、データの情報処理を指示するホストは、特定の情報処理装置宛てにジョブとしてのデータを送信する必要はなく、該当ジョブを実行する上で必要となる機能を有するグループに対応する仮想アドレス宛てにデータ送信すればよいことになる。よって、ホスト側は、ジョブを指示する情報処理装置の稼働状況などを考慮する必要がなくなる。
また、集線装置は、仮想アドレスに対応するグループに属する情報処理装置の全てに対して受信したデータを転送するので、このデータを受信した情報処理装置のうちで、一番早く該当データを処理できるものから処理が行われることになる。よって、特定の情報処理装置にジョブが集中するなどの不具合を解消することができるとともに、データの処理も早く行われるようにすることができる。
また、集線装置は、仮想アドレス宛てのデータを受信すると、グループ情報テーブルを参照することによって、該データを送信すべきグループを特定し、該グループに属する情報処理装置に向けて送信処理を行えばよいことになる。すなわち、集線装置における判断処理としては極めて単純なものであるので、データの転送処理を迅速に行うことができる。
本発明に係る情報処理システムは、上記したように、上記本発明に係る集線装置と、上記本発明に係る情報処理装置と、DHCPサーバとが伝送媒体を介して接続された構成となっている。これにより、集線装置において、各情報処理装置に対して送受信されるデータのIPアドレスが変換されるので、各情報処理装置のIPアドレスが外部に対して隠蔽されることになるのでセキュリティ性を向上することができる。また、DHCPサーバは、通常のDHCP機能を有するものを利用することができるので、特別なDHCPサーバを設ける必要はない。
本発明に係る情報処理システムは、上記したように、上記本発明に係る集線装置と、上記本発明に係る情報処理装置と、上記本発明に係るDHCPサーバとが伝送媒体を介して接続された構成となっている。これにより、集線装置においては、情報処理装置の機能などを考慮してグループ分けする処理を行う必要がないので、集線装置の構成の簡素化を図ることができる。また、例えばDHCPサーバによって付与されたIPアドレスを、内部IPアドレスに変換する処理も不要となるので、集線装置による転送処理速度を高めることができる。さらに、集線装置にアドレス変換処理を行う構成を設ける必要がないので、集線装置の構成をさらに簡素化することができる。
また、本発明に係る情報処理システムは、上記したように、複数の集線装置の間で、上記グループ情報テーブルが共有されるようになっていてもよい。これにより、複数の集線装置が、あたかも1つの集線装置であるかのように動作することが可能となるので、ネットワークの規模が大きくなったとしても、これに的確に対応することが可能となる。なお、複数の集線装置の間でグループ情報テーブルを共有することは、集線装置間のトランクリンク上でVTPを動作させることによって実現することができる。
本発明の実施の一形態について図1ないし図18に基づいて説明すれば、以下のとおりである。
(画像出力システムの構成)
図2は、本実施形態に係る構成例1としての画像出力システム1の概略構成を示すブロック図である。同図に示すように、この画像出力システム1は、ルータ2を中心にしたスター型LANによって構成されている。
ルータ2は、スイッチ3との協働により、スイッチ3に接続されている集線装置4・5、およびスイッチングハブ6による通信を制御するものである。また、ルータ2は、画像出力システム1と外部の通信ネットワーク(ネットワーク)とを接続する機能を有している。
集線装置4・5は、それぞれ複数のプリンタ7…およびPC(ホスト)8…をスター型で接続する構成となっている。また、スイッチングハブ6は、複数のPC8…およびDHCP(Dynamic Host Configuration Protocol)サーバ9をスター型で接続する構成となっている。そして、通信は、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルを用いて行われるようになっている。
プリンタ7は、印刷ジョブを受信すると、これに基づいて紙などの媒体に画像を印刷して出力する装置である。プリンタ7としては、通常のプリント機能を有するプリンタの他に、MFPなどであってもよい。
PC8は、各種情報処理を行う情報処理端末に対応するものであり、ユーザによる印刷指示に応じて、印刷ジョブを集線装置4または5に送信するものである。このPC8としては、例えばデスクトップ型コンピュータ、ノートブック型コンピュータなどが想定される。なお、本実施形態では、印刷ジョブの指示を出力するホストとしてPC8を想定しているが、これに限定されるものではなく、印刷ジョブの指示を行うことが可能な装置であればどのような装置をホストとしてもよい。
DHCPサーバ9は、ネットワークパラメータの自動設定を行うサーバであり、本実施形態では、画像出力システム1内の各通信装置、言い換えればルータ2によって通信制御されている各通信装置のネットワークパラメータを自動設定する。具体的には、DHCPサーバ9は、各通信装置に、起動時に動的にIPアドレスを割り当て、デフォルト経路のようなネットワークパラメータの通知を行い、終了時には割り当てたIPアドレスを回収する処理を行う。なお、本実施形態では、DHCPサーバ9はスイッチングハブ6に接続された構成となっているが、これに限定されるものではなく、ルータ2によって通信制御されるLAN内であれば、どの位置にネットワーク接続されていてもよい。
また、集線装置4と集線装置5との間は、トランクリンク(接続)によって接続されている。トランクリンクとは、1つのポートに1つのVLAN(詳細は後述する)を割り当てる設定(アクセスリンク)とは異なり、特定のVLANには所属しないポートであるが、接続している機器同士の間で複数のVLANトラフィックを通すことができる接続方式である。もちろん無作為に複数VLANのトラフィックを転送するとフレームを受け取ったスイッチがどのVLANトラフィックなのかを識別できないため、タグ付けプロトコル(ISL、IEEE802.3Qなど)によってトランクの入口でフレームにタグを取り付け、トランクの出口で取り外すことで複数のVLANトラフィックを通すことを可能としている。さらに、トランクリンク上でVTPを動作させることによって、一方の集線装置においてVLANに関するネットワークパラメータの変更が行われた際に、この変更内容が他方の集線装置に伝達されることになる。すなわち、集線装置4と集線装置5とがトランクリンクによって接続されている場合、集線装置4および集線装置5にそれぞれ接続されている各種装置は、仮想的に1つの集線装置に全て接続されているとみなすことが可能となる。以上を考慮して、以降の説明では、集線装置4と集線装置5とを特に区別する必要がない場合には、単に集線装置4として記載する。
なお、このような集線装置が3つ以上存在する場合にも、これらを全てトランクリンクによって接続することによって、全ての集線装置をまとめて1つの仮想的な集線装置を想定することができる。
(VLANによるグループ分け)
次に、集線装置4・5によって管理されるVLAN(Virtual Local Area Network)について図3を参照しながら以下に説明する。まず、VLANについて説明する。VLANとは、LANの物理的構成上の制約を排除し、LANに接続されている各種装置をその用途等に従ってグループ化して構成される仮想的なLANのことである。VLANを構築することによって、物理的には離れているが機能、用途などが同じ装置同士を同じVLANに配置したり、逆に物理的には近接しているが機能、用途などが異なる装置同士をそれぞれ異なるVLANに配置したりすることが可能となる。
図3は、集線装置4、PC8、および複数のプリンタ7…が接続されている状態を模式的に示している。ここで、プリンタ7…を、機能に応じて第1VLAN10a、第2VLAN10b、および第3VLAN10cにそれぞれ分類している。この例では、カラープリント機能、およびA4出力機能を有するプリンタ7…が第1VLAN10aに属するようにし、モノクロプリント機能(カラー不可)、およびA3出力機能を有するプリンタ7…が第2VLAN10bに属するようにし、モノクロプリント機能(カラー不可)、およびA4出力機能を有するプリンタ7…が第3VLAN10cに属するようにしている。なお、同じVLANに含まれているプリンタ7同士であっても、実際のシステムでは物理的には離れているような状態であってもよい。
なお、図3に示す例では、各プリンタ7はいずれか1つのVLANに属するようになっているが、これに限定されるものではなく、1つのプリンタ7が複数のVLANに同時に属するようになっていてもよい。図4は、VLANのグループ分けを概念的に示す図である。同図において、プリンタAは、A3出力機能およびカラー出力機能を有している。プリンタB・Cは、A4出力機能およびカラー出力機能を有している。プリンタD・Eは、A3出力機能およびモノクロプリント機能(カラー不可)を有している。プリンタF・Gは、A4出力機能およびモノクロプリント機能(カラー不可)を有している。
そして、VLAN−Aには、A3出力機能およびカラー出力機能を有するプリンタ、すなわち、プリンタAのみが属することにし、VLAN−Bには、カラー出力機能を有するプリンタ、すなわち、プリンタA・B・Cが属することにし、VLAN−Cには、A3出力機能を有するプリンタ、すなわち、プリンタA・D・Eが属することにし、VLAN−Dには、全てのプリンタ、すなわち、プリンタA・B・C・D・E・F・Gが属することにする。このようなVLANの構成とすれば、印刷ジョブに必要な機能に応じてVLANを特定すれば、該機能に対応可能なプリンタを全て網羅することが可能となる。
なお、上記の例では、プリンタ7の機能を示すパラメータとして、対応用紙サイズ(A3/A4)、出力可能色数(カラー/モノクロ)の2種類を考慮したものとなっているが、これに限定されるものではない。例えば、両面印刷が可能であるか否か、ステープル処理などのフィニッシャー機能を有するか否か、などのパラメータによってもVLANを分けるようにしてもよい。
(画像出力システムにおける処理の概略)
次に、図3を参照しながら、本実施形態の画像出力システム1における処理の概略について説明する。まず、PC8において、ユーザによって印刷要求がなされた場合、該印刷要求に必要とされる機能を有するプリンタ7…を総称するVLANの仮想アドレスを送信先として、該当する印刷ジョブのデータがPC8から集線装置4に向けて送信される。
集線装置4は、仮想アドレス宛ての印刷ジョブを受信すると、該仮想アドレスに対応するVLANに印刷ジョブをブロードキャストする。すなわち、印刷ジョブに必要とされる機能を有するプリンタ7…からなるVLANに属する全てのプリンタ7…に対して印刷ジョブが送信されることになる。
印刷ジョブを受信したプリンタ7…のうちの1つのプリンタ7が該当印刷ジョブの処理を開始すると、その旨が集線装置4に対して通知される。集線装置4は、印刷ジョブの処理開始通知を受信すると、該当印刷ジョブを送信したプリンタ7…のうち、処理を開始したプリンタ7以外のプリンタ7…に対して、該当印刷ジョブの処理開始を一時停止する通知を行う。これにより、1つの印刷ジョブを複数のプリンタ7…が同時に処理されることを防止することができる。
ただし、上記処理の場合、集線装置から該当印刷ジョブを送信したプリンタ7…のうち、処理を開始したプリンタ7以外のプリンタ7…に対して、該当印刷ジョブの処理開始を一時停止する通知を行うためには、各プリンタへのユニキャストを行うこととなるのでプリンタの数だけトラフィックが発生する。これに対して、プリンタ7が該当印刷ジョブの処理を開始した時に、自分の属するVLANに対して開始通知をブロードキャストすれば、上記処理と同等の効果が得られる上に大幅にトラフィックを軽減することが可能である。
また、印刷ジョブの処理を開始したプリンタ7が、該当印刷ジョブの処理を終了した際にも、その旨が集線装置4に対して通知される。集線装置4は、印刷ジョブの処理終了通知を受信すると、該当印刷ジョブを送信したプリンタ7…のうち、処理を終了したプリンタ7以外のプリンタ7…に対して、該当印刷ジョブを取り消す旨の通知を行う。
開始通知の場合と同様に、上記処理の場合、集線装置から該当印刷ジョブを送信したプリンタ7…のうち、処理を終了したプリンタ7以外のプリンタ7…に対して、該当印刷ジョブを取り消す旨の通知を行うためには、各プリンタへのユニキャストを行うこととなるのでプリンタの数だけトラフィックが発生する。これに対して、プリンタ7が該当印刷ジョブの処理を終了した時に、自分の属するVLANに対して終了通知をブロードキャストすれば、上記処理と同等の効果が得られる上に大幅にトラフィックを軽減することが可能である。
すなわち、印刷ジョブを行うプリンタ7以外のプリンタ7…は、印刷ジョブが他のプリンタ7で開始された時点で該当印刷ジョブの処理をペンディングし、印刷ジョブが他のプリンタ7で終了した時点で該当印刷ジョブが取り消されることになる。これにより、印刷ジョブを開始したプリンタで何らかの不具合が生じ、印刷処理を完了できなくなった場合にも、他のプリンタがペンディングになっている印刷ジョブを開始しようとすることが可能となる。
以上のように、印刷ジョブがPC8から送信されてきた際には、該印刷ジョブに対応するVLAN内で最も早く印刷処理を行うことができるプリンタ7によって印刷処理が行われることになる。この際に、集線装置4は、仮想アドレスに対応するVLANに対して印刷ジョブをブロードキャストすればよいので、複雑な判定などを行う必要がないことになる。よって、集線装置4を比較的簡素な構成で実現できるとともに、印刷ジョブの中継における処理時間も低く抑えることができる。また、印刷ジョブに対応するVLAN以外のプリンタ7…に対しては印刷ジョブの送信は行われないので、通信ネットワークにおけるトラフィックを低く抑えることができる。
(集線装置の構成)
次に、集線装置4の構成について、図1を参照しながら以下に説明する。同図に示すように、集線装置4は、制御部15、記憶部16、およびI/F部17を備えた構成となっている。
I/F部17は、第1〜第Nポート34…を備えており、プリンタ7…、PC8…、集線装置5、およびスイッチ3などの外部機器との接続のためのインターフェースとして機能するものである。
制御部15は、機能ブロックとして、処理部21、照合部22、監視部23、送信制御部24、VLAN設定部25、および変換設定部26を備えている。
監視部23は、I/F部17において受信されたデータを監視し、VLANテーブル29の更新が必要なものであるか、アドレス変換テーブル28の更新が必要なものであるか、受信したデータを転送したり各種処理を行ったりすることが必要なものであるかを判断し、該データをVLAN設定部25、変換設定部26、照合部22、あるいは処理部21に送信したり、送信制御部24に対して該当する送信処理を指示したりするものである。なお、I/F部17において受信されたデータは、一旦記憶部16におけるデータバッファ30に格納されるので、監視部23は、データバッファ30に格納されるデータを監視することになる。
VLAN設定部25は、I/F部17におけるポートに機器(PC8、プリンタ7…などに相当)が接続された際に、その機器に関する情報を格納するVLANテーブル29を更新・設定する処理を行うものである。なお、VLANテーブル29の詳細およびVLAN設定部25による設定処理の詳細については後述する。
変換設定部26は、DHCPサーバ9から、集線装置4に接続されている機器に対してIPアドレスが設定された際に、該機器が属するVLANのサブネットアドレスに対応した内部IPアドレスに変換するアドレス変換テーブル28を設定する処理を行う。図10は、アドレス変換テーブル28の一例を示している。同図に示すように、アドレス変換テーブル28は、DHCPサーバ9によって割り当てられたIPアドレスと、変換設定部26によって割り当てられた内部IPアドレスとの組を格納している。なお、変換設定部26による設定処理の詳細については後述する。
照合部22は、VLANテーブル29および/またはアドレス変換テーブル28を参照して、IPアドレスの変換処理などを行って送信指示を行うものである。処理部21は、集線装置4における各種処理を行うものである。
送信制御部24は、監視部23、変換設定部26、照合部22、または処理部21から指示された各種データの送信を行う処理などを制御するものである。送信制御部24による制御はI/F部17に対して行われ、I/F部17は、この制御に基づいてデータバッファに一時的に格納されているデータの送信を行う。
(プリンタの構成)
次に、プリンタ7の構成について、図5を参照しながら以下に説明する。同図に示すように、プリンタ7は、プリンタコントローラ41、電源42、操作部43、およびプリンタエンジン44を備えた構成となっている。
プリンタコントローラ41は、通信I/F部46、通信制御部47、制御部48、バッファ49、画像処理部50、および通信設定情報記憶部51を備えた構成となっている。通信I/F部46は、集線装置4などとの接続の際のインターフェースとして機能するものである。
通信制御部47は、プリンタ7における通信動作を制御するものである。この通信制御部47によって、最初に集線装置4と接続した際に行われるデバイス情報の送信処理、DHCPサーバ9へのDHCPDISCOVERの送信処理、DHCPサーバ9からのDHCPOFFERの受信処理、印刷ジョブデータの受信処理、印刷処理開始の通知処理、印刷処理終了の通知処理、異常発生時の通知処理、異常発生から回復した際の通知処理などが行われる。なお、これらの処理の詳細については後述する。通信設定情報記憶部51は、通信を行う際に用いられる各種設定情報、例えば、自機のMACアドレス情報、デバイス情報、IPアドレス情報などのコンフィギュレーション情報などを記憶するものである。
制御部48は、プリンタ7における各種動作を制御するものである。バッファ49は、通信I/F部46において送受信されるデータを一時的に格納する記憶手段である。画像処理部50は、印刷ジョブとして受信したデータを、印刷に適した画像データに変換する処理を行うものである。
電源42は、プリンタ7が備える各構成要素に対して電力を供給するものである。この電源42はサブ電源を備えており、このサブ電源によって、通信I/F部46および通信制御部47に対して常時電力を供給することが可能となっている。すなわち、通常時には、サブ電源のみによって通信I/F部46および通信制御部47のみに電源を供給しておき、通信内容に応じてプリンタ7全体に電力を供給するように切換える、というような省電力システムを構築することが可能となっている。
操作部43は、操作者が画像形成条件等を入力したり、種々の設定を行ったりするものである。プリンタエンジン44は、例えば紙などの媒体に画像を出力して印刷を行うものである。
(VLANテーブル)
次に、集線装置4が備えるVLANテーブル29について説明する。図9は、VLANテーブル29の一例を示している。同図に示すように、VLANテーブル29は、各機器に対応して、仮想MACアドレス、MACアドレス、ポート情報、デバイス情報、VLAN番号、およびサブネットアドレスの情報を格納している。
仮想MACアドレスは、各VLANに対応して設定される仮想的なMACアドレスである。PC8が最初に印刷ジョブを指示する際には、この仮想MACアドレスを送信先としたデータが送信されることになる。
MACアドレスは、集線装置4に接続される機器に設定されているMAC(Media Access Control)アドレスである。ポート情報は、該当機器が、集線装置4のI/F部17におけるどのポートに接続されているかを示している。
デバイス情報は、該当機器の機能を示している。このデバイス情報は、該当機器と集線装置4との接続がアクティブになった際に、該当機器から送られる情報に基づいて設定される。VLANは、上記したように、各機器の機能を示すデバイス情報に基づいて設定されることになる。
VLAN番号は、該当機器が属するVLANに対応する固有の番号を示している。サブネットアドレスは、該当機器が属するVLANを示すサブネットアドレスである。なお、図9において、サブネットアドレスは、例えば「192.168.11.0/24」のように示されているが、最後の「24」は、上位24ビット(3バイト)がサブネットワークのアドレスである、ということを示しているものである。すなわち、同VLAN内の各機器のIPアドレスは、下位の8ビット(1バイト)によって区別されることになる。
図9に示す例では、MACアドレス1〜3のプリンタ7…が、第1VLANに属するものとして、仮想MACアドレスAが割り当てられており、MACアドレス4〜5のプリンタ7…が、第2VLANに属するものとして、仮想MACアドレスBが割り当てられており、MACアドレス6〜7のプリンタ7…が、第3VLANに属するものとして、仮想MACアドレスCが割り当てられている。
また、MACアドレスaに対応する機器はPC8に相当するものであり、デバイス情報として「ホスト」という属性が示されている。さらに、VLANテーブル29には、集線装置4自体のMACアドレス(自MACアドレス)が格納されており、デバイス情報として自機を示す「own」という属性が示されている。
なお、本実施形態では、各プリンタ7の機能に応じてVLANを構築し、このVLANによってプリンタ7…のグループ化を実現しているが、これに限定されるものではない。すなわち、VLANを用いずに、仮想MACアドレスと各プリンタのMACアドレスまたはIPアドレスとを対応付けるようなテーブルを用いることによって、プリンタ7のグループ化を行うようにしてもよい。ただし、VLANを用いない場合、システムの規模が小さい場合には問題はないが、システムの規模が大きくなると、トラフィックが輻輳するという問題がある。
(初期設定処理)
次に、集線装置4にプリンタ7が接続された際の初期設定処理について、図6に示すタイミングチャートを参照しながら説明する。まず、あるプリンタ7が集線装置4と接続されると(ステップ1、以降S1のように称する)、プリンタ7の通信制御部47によって、通信設定情報記憶部51に記憶されている該プリンタ7の機能を示すデバイス情報がプリンタ7から集線装置4に対して送信される(S2)。なお、S1において、プリンタ7と集線装置4との接続が確立される形態としては、物理的に通信線が接続される場合や、通信線が接続された状態でプリンタ7の電源が投入される場合などが挙げられる。
集線装置4は、プリンタ7と接続されたI/F部17におけるポート34においてデバイス情報を受信する(S3)と、このデータがデータバッファ30に格納される。そして、監視部23がデータバッファ30に格納されたデータを検出して、該当データがデバイス情報を示すデータであることを確認し、この情報をVLAN設定部25に送信する。
VLAN設定部25は、受信したデバイス情報に基づいて、該当プリンタ7をどのVLANに属させるべきかを判定する。そして、VLAN設定部25は、VLANテーブル29に、属させるVLANに対応する仮想MACアドレス、プリンタ7のMACアドレス、プリンタ7が接続されたポート情報、デバイス情報、該当VLANのVLAN番号、および該当VLANに対応するサブネットアドレスを登録する。
プリンタ7は、デバイス情報を集線装置4に対して通知すると、引き続いてDHCPDISCOVERを集線装置4に対して送信する(S4)。なお、DHCPDISCOVERとは、クライアント(プリンタ7に相当)がDHCPサーバ9を見つけるためにブロードキャストするメッセージである。
集線装置4は、プリンタ7からDHCPDISCOVERを受信すると、これがI/F部17からデータバッファ30に送信され、監視部23によって、受信したデータがDHCPDISCOVERであることが確認される。監視部23は、DHCPDISCOVERであることを確認すると、これを通信ネットワークに対してブロードキャストするように送信制御部24に指示を行う。もしくは、集線装置がDHCPサーバのアドレスを認識しているのであれば、そのアドレスに対してユニキャストしてもよいし、集線装置がDHCPリレーエージェントとして機能するのであれば、適切なLANに対してのみDHCPDISCOVERブロードキャストを転送してもよい。これにより、DHCPサーバ9に対してDHCPDISCOVERが転送される(S5)。
DHCPサーバ9は、DHCPDISCOVERを受信すると、その内容に応じてネットワークパラメータなどのコンフィギュレーション情報の設定処理を行う(S6)。そして、その設定結果が、DHCPDISCOVERへの応答として、コンフィグレーション情報を含んだDHCPOFFERとして集線装置4に対して送信される(S7)。
集線装置4は、DHCPOFFERを受信すると、まずこのDHCPOFFERをデータバッファ30に格納する。監視部23は、DHCPOFFERを検出すると、この情報を変換設定部26に送信する。
変換設定部26は、まず、DHCPOFFERに示されている、DHCPサーバ9によってプリンタ7に対して設定されたIPアドレスを確認する。また、変換設定部26は、VLANテーブル29を参照して、該当プリンタ7のサブネットアドレスを確認し、該サブネットアドレスに属するIPアドレスを、該当プリンタ7の内部IPアドレスとして設定する(S8)。そして、変換設定部26は、DHCPOFFERに示されているIPアドレスと内部IPアドレスとの組に関する情報をアドレス変換テーブル28に登録する(S9)。
その後、変換設定部26は、DHCPOFFERにおけるIPアドレスに関する情報を、上記で設定した内部IPアドレスに書き換えて、該DHCPOFFERをプリンタ7に対して送信する(S10)。
プリンタ7は、DHCPOFFERを通信I/F部46において受信すると、それに含まれている内部IPアドレスなどのコンフィギュレーション情報が、通信制御部47によって通信設定情報記憶部51に記憶される(S11)。以上のような処理によって、プリンタ7が集線装置4に接続された際の初期設定処理が完了する。
なお、上記では、デバイス情報は、接続されたプリンタ7から取得されるようになっているが、これに限定されるものではなく、例えば各プリンタ7のデバイス情報を記憶しているプリンタサーバが設けられている場合には、このプリンタサーバから、接続されたプリンタ7に関するデバイス情報を取得するような構成としてもよい。
(集線装置における処理)
次に、集線装置4が通信ネットワークから何らかのフレームを受信した際の処理の流れについて、図12に示すフローチャートを参照しながら説明する。
まず、I/F部17においてフレームが受信されると(S21)、該フレームがデータバッファ30に一時的に記憶される。そして、監視部23が、上記フレームを解析して送信元アドレスとしてのMACアドレスを抽出して、当該送信元アドレスがVLANテーブル29に記憶(登録)されているか否かを判断する(S22)。
S22にて、送信元アドレスがVLANテーブル29に記憶(登録)されていないと判断されると、その旨がVLAN設定部25に伝えられ、VLAN設定部25が、送信元アドレスとしてのMACアドレス、および受信したポート34に関するポート情報をVLANテーブル29に登録する(S23)。なお、ここで受信したフレームがプリンタ7によるデバイス情報の通知であった場合には、上記した初期設定処理が行われる。その後、後述するS26からの処理に移行する。
一方、S22にて、送信元アドレスがVLANテーブル29に記憶(登録)されていると判断されると、監視部23は、送信されてきたフレームの送信元アドレスがVLANテーブル29に登録されているプリンタ7のMACアドレスであるか否かを判断する(S24)。換言すると、監視部23は、上記フレームが、VLANテーブル29に登録されているプリンタ7から送信されてきたか否かを判断する。
S24にて、送信元アドレスが、VLANテーブル29に登録されているプリンタ7のMACアドレスであると判断された場合、その旨が照合部22に伝えられる。照合部22は、アドレス変換テーブル28を参照して、上記フレームの送信元アドレスを外部IPアドレスとしてのIPアドレスに書き換える(S25)。その後、後述するS26からの処理に移行する。
一方、S24にて、送信元アドレスが、VLANテーブル29に登録されているプリンタ7のMACアドレスではないと判断された場合、次のS26からの処理に移行する。
次に、監視部23は、上記フレームを解析して宛先アドレスを抽出し(S26)、この抽出された宛先アドレスに基づいて、フレームの送信先を決定する。具体的には、監視部23は、フレームの宛先アドレスが、VLANテーブル29に登録されていない未知のものであるか、VLANテーブル29に登録されている既知のMACアドレスであるか、仮想MACアドレスであるか、あるいは自機のMACアドレスであるかを判断する。
S26において、宛先アドレスが未知のアドレスであると判断された場合には、監視部23は、送信制御部24に対して、当該フレームが送信されてきたポート34を除く全てのポート34…に対して上記フレームを送信(フラッディング)するように指示を行う。これに基づいて送信制御部24が送信処理を行い(S27)、処理を終了する。なお、フラッディングとは、あるインターフェースで受信したトラフィックを、受信したインターフェース以外の全インターフェースに向けて送出することである。ただし、この場合では、上記フレームを受信したポート34およびプリンタ7…が接続されているポート34…以外の全てのポート34…に対して上記フレームを送出する。
また、S26において、宛先アドレスが、VLANテーブル29に登録されている既知のMACアドレスであると判断された場合には、監視部23は、VLANテーブル29を参照して、該当アドレスに向けて該当フレームを送信するように、送信制御部24に対して指示を行う。これに基づいて信制御部24が送信処理を行い(S29)、処理を終了する。
また、S26において、宛先アドレスが仮想MACアドレスであると判断された場合には、プリンタ選択処理が行われる(S28)。このプリンタ選択処理の詳細については後述する。その後、選択されたプリンタ7…に対して、該当フレームの送信が行われる(S29)。
また、S26において、宛先アドレスが自機のアドレスであると判断された場合、その旨が処理部21に伝えられる。処理部21は、自機宛のフレームをデータに復元し、その内容を解析して、当該データが設定変更要求であるか否かを判断する(S30)。
S30にて、データが設定変更要求であると判断された場合には、処理部21は、上記設定変更要求の内容に基づいて、集線装置4における設定を更新する(S31)。具体的には、VLANテーブル29に記憶されている仮想MACアドレスを変更したり、自機のアドレスを変更したりする。そして、処理を終了する。
一方、S30にて、データが設定変更命令でないと判断された場合には、処理部21は、上記データが、プリンタ7からの通知であるか否かを判断する(S32)。S32において、上記データが、プリンタ7からの通知であると判断された場合には、処理部21は、上記通知に対する処理を行う(S33)。この通知に対する処理については後述する。
一方、S32において、上記データが、プリンタ7からの通知でないと判断された場合には、処理部21は、上記データの内容に基づいて適切な処理を行い(S34)、処理を終了する。
(プリンタ選択処理)
次に、上記した図12に示すフローチャートのS28におけるプリンタ選択処理の詳細について、図13に示すフローチャートを参照しながら説明する。まず、S41において、仮想MACアドレスあてのフレームを受信したことが確認されると、監視部23は、該当フレームが印刷要求を示すフレームであるか否かを判断する(S42)。
S42において、受信したフレームが印刷要求を示すフレームであると判定された場合には、監視部23は、VLANテーブル29を参照して、該当仮想MACアドレスに対応するVLANを特定し、該VLANに属するプリンタ7…の全てに対して、該当フレームをブロードキャストする指示を送信制御部24に対して行う。これにより、受信した印刷ジョブが、該当するVLANに属する全てのプリンタ7…に対して送信され(S43)、処理を終了する。
一方、S42において、受信したフレームが印刷要求を示すフレームではないと判定された場合には、その旨が処理部21に伝えられる。処理部21は、該当フレームの内容を確認し、その内容に応じた適切な処理を実施し(S44)、処理を終了する。なお、ここでの処理としては、例えばホストとしてのPC8から、プリンタ7における待ち時間情報などの問い合わせが行われた場合の返答処理や、以前に印刷指示を行ったPC8から、自機から指示した印刷ジョブの優先的な処理を要求された場合の処理などが挙げられる。
(プリンタからの通知に対する処理)
次に、上記した図12に示すフローチャートのS33における、プリンタ7からの通知に対する処理の詳細について、図14に示すフローチャートを参照しながら説明する。まず、S51において、プリンタ7からの通知を受信したことが確認されると、処理部21は、該通知が、印刷ジョブの開始を通知するものであるか否かを判定する(S52)。
S52において、印刷ジョブの開始が通知されたと判定された場合には、処理部21は、送信制御部24を制御することによって、該当印刷ジョブを送信したVLANに属するプリンタ7…のうち、処理を開始したプリンタ7以外のプリンタ7…に対して、該当印刷ジョブの処理開始を一時停止する旨の通知を行う(S53)。
一方、S52において、印刷ジョブの開始を通知するものではないと判定された場合には、処理部21は、該通知が、印刷ジョブの終了を通知するものであるか否かを判定する(S54)。S54において、印刷ジョブの終了が通知されたと判定された場合には、処理部21は、送信制御部24を制御することによって、該当印刷ジョブを送信したVLANに属するプリンタ7…のうち、処理を終了したプリンタ7以外のプリンタ7…に対して、該当印刷ジョブを取り消す旨の通知を行う(S55)。
一方、S54において、印刷ジョブの終了を通知するものではないと判定された場合には、処理部21は、該通知が、プリンタ7において異常が発生したことを示す異常通知であるか否かを判定する(S56)。S56において、異常通知であると判定された場合には、処理部21は、通知を受信したポート34をディセーブルにする指示を行う(S57)。ポート34をディセーブルにするとき、該ポート34に対応するVLANテーブル29の設定を保存しておく。ポート34をディセーブルにすることで、該ポート34に対応するプリンタ7はVLANメンバーシップから削除されることになる。つまり、このプリンタ7と集線装置4との間の通信は行えないことになり、以降、該当プリンタ7が属するVLANへの印刷ジョブのブロードキャストが行われた場合にも、該当プリンタ7へは印刷ジョブが送信されないことになる。
一方、S56において、異常通知ではないと判定された場合には、処理部21は、該通知が、プリンタ7において以前異常が発生していたが、その異常が修復され、回復したことを示す回復通知であるか否かを判定する(S58)。S58において、回復通知であると判定された場合には、処理部21は、該当ポート34に対応するVLANテーブル29に保存しておいた設定を復活させるとともに、該当ポート34をイネーブルにする指示を行う(S59)。該当ポート34をイネーブルにすることで、該当ポート34が再び元のVLANに属することになり、同時に該当するプリンタ7も同VLANに属することになる。以降、該当VLANに対する印刷ジョブのブロードキャストが行われた場合にも、該当するプリンタ7に印刷ジョブが送信されることになる。
(画像出力システムの構成例2)
上記したシステムでは、DHCPサーバ9によって各プリンタ7に割り当てられた外部IPアドレスを、集線装置4において内部IPアドレスに変換することによって、VLANを実現するようになっている。これに対して、DHCPサーバ9によってVLANを考慮して各プリンタ7に対してIPアドレスの割り当てを決めるようなシステムとしてもよい。このような画像出力システム1について構成例2として以下に説明する。
画像出力システム1の構成としては、上記した図2および図3に示した構成と同様である。異なる点としては、集線装置4の構成、およびDHCPサーバ9の構成である。
(構成例2における集線装置の構成)
構成例2における集線装置4の構成を図15に示す。図1に示す構成と異なる点としては、制御部15において、照合部22および変換設定部26が設けられていない点、および、記憶部16において、アドレス変換テーブル28が設けられていない点である。その他の構成は、上記した構成と同様であるので、その説明を省略する。
(構成例2におけるDHCPサーバの構成)
構成例2におけるDHCPサーバ9の構成を図16に示す。同図に示すように、DHCPサーバ9は、通信I/F部61、制御部62、操作部63、および記憶部64を備えた構成となっている。
通信I/F部61は、通信ネットワークへの接続の際のインターフェースとして機能するものである。操作部63は、操作者がDHCPサーバ9における各種設定動作を行う際に用いられるものである。
制御部62は、DHCPサーバ9における各種動作を制御するものであり、DHCP処理部65を備えている。DHCP処理部65は、通常のDHCPサーバが備えているDHCP処理機能に加えて、プリンタ7に対してIPアドレスを付与する際に、該当プリンタ7の機能に応じてVLANを構成し、該当するVLANに属するように、該当プリンタ7に対してIPアドレスを割り当てる機能を有している。この際に、DHCP処理部65は、記憶部64におけるVLANテーブル66を利用する。
VLANテーブル66の例を図17に示す。同図に示すように、VLANテーブル66は、各機器に対応して、仮想MACアドレス、MACアドレス、デバイス情報、VLAN番号、サブネットアドレス、およびIPアドレスの情報を格納している。仮想MACアドレス、MACアドレス、デバイス情報、VLAN番号、およびサブネットアドレスについては、上記した図9に示すVLANテーブル29と同様である。IPアドレスは、各機器に対応して、DHCP処理部65によって各VLANに属するように付与されたIPアドレスである。
(構成例2における初期設定処理)
次に、構成例2において、集線装置4にプリンタ7が接続された際の初期設定処理について、図7に示すタイミングチャートを参照しながら説明する。まず、あるプリンタ7が集線装置4と接続されると(S61)、プリンタ7の通信制御部47によって、通信設定情報記憶部51に記憶されている該プリンタ7の機能を示すデバイス情報がプリンタ7から集線装置4に対して送信されるとともに、引き続いてDHCPDISCOVERを集線装置4に対して送信する(S62)。
集線装置4は、プリンタ7からデバイス情報およびDHCPDISCOVERを受信すると、これがI/F部17からデータバッファ30に送信され、監視部23によって、受信したデータがデバイス情報およびDHCPDISCOVERであることが確認される。監視部23は、デバイス情報およびDHCPDISCOVERであることを確認すると、これを通信ネットワークに対してブロードキャストするように送信制御部24に指示を行う。もしくは、集線装置がDHCPサーバのアドレスを認識しているのであれば、そのアドレスに対してユニキャストしてもよいし、集線装置がDHCPリレーエージェントとして機能するのであれば、適切なLANに対してのみDHCPDISCOVERブロードキャストを転送してもよい。これにより、DHCPサーバ9に対してデバイス情報およびDHCPDISCOVERが転送される(S63)。
DHCPサーバ9は、デバイス情報およびDHCPDISCOVERを受信すると、DHCP処理部65は、まず、デバイス情報に基づいて、該当プリンタ7をどのVLANに属させるべきかを判定する。そして、DHCP処理部65は、VLANテーブル66に、属させるVLANに対応する仮想MACアドレス、プリンタ7のMACアドレス、デバイス情報、該当VLANのVLAN番号、および該当VLANに対応するサブネットアドレスを登録する(S64)。また、DHCP処理部65は、DHCPDISCOVERの内容に応じてネットワークパラメータなどのコンフィギュレーション情報の設定処理を行う(S65)。そして、その設定結果が、DHCPDISCOVERへの応答として、コンフィグレーション情報を含んだDHCPOFFERとして集線装置4に対して送信される(S66)。
集線装置4は、DHCPOFFERを受信すると、まずこのDHCPOFFERをデータバッファ30に格納する。監視部23は、DHCPOFFERを検出すると、その旨をVLAN設定部25に伝え、VLAN設定部25が、DHCPOFFERの内容に基づいて、VLANテーブル29の登録を行う。その後、送信制御部24が、該DHCPOFFERをプリンタ7に対して送信する(S67)。
プリンタ7は、DHCPOFFERを通信I/F部46において受信すると、それに含まれているIPアドレスなどのコンフィギュレーション情報が、通信制御部47によって通信設定情報記憶部51に記憶される(S68)。以上のような処理によって、プリンタ7が集線装置4に接続された際の初期設定処理が完了する。
(構成例2における集線装置の処理)
構成例2における集線装置4の処理は、基本的には上記した図12に示すフローチャートでの処理の流れと同様である。異なる点としては、図12におけるS25では、送信元アドレスの書き換え処理が行われているが、構成例2ではこの処理は行われない。これは、プリンタ7に対して付与されたIPアドレスは、DHCPサーバ9によって付与されたものをそのまま利用しているからである。すなわち、構成例においては、図12におけるS24の判断処理も不要となる。
また、図12に示すフローチャートのS28におけるプリンタ選択処理、および、S33における、プリンタ7からの通知に対する処理も同様に行われる。
(画像出力システムの構成例3)
上記したシステムでは、集線装置4とDHCPサーバ9とをそれぞれ別に設けた構成となっているが、例えば集線装置4が1台のみ設けられているような小規模なシステムである場合には、集線装置4が簡易的なDHCPサーバ機能を有するシステムとしてもよい。このような画像出力システム1について構成例3として以下に説明する。
画像出力システム1の構成としては、基本的には上記した図2に示した構成と同様である。異なる点としては、DHCPサーバ9が設けられていない点、および、集線装置4の構成が異なる点である。
(構成例3における集線装置の構成)
構成例3における集線装置4は、基本的には図1に示す構成と同様である。異なる点としては、VLAN設定部25が、集線装置4に接続されているプリンタ7…に対してIPアドレスを付与する機能を有する点、変換設定部26によるアドレス変換処理が異なる点、VLANテーブル29およびアドレス変換テーブル28の内容が異なる点である。その他の構成は、上記した構成と同様であるので、その説明を省略する。
構成例3におけるVLANテーブル29の一例を図18に示す。同図に示すように、VLANテーブル29は、各機器に対応して、仮想MACアドレス、MACアドレス、ポート情報、デバイス情報、VLAN番号、サブネットアドレス、およびIPアドレスの情報を格納している。仮想MACアドレス、MACアドレス、ポート情報、デバイス情報、VLAN番号、およびサブネットアドレスについては、上記した図9に示すVLANテーブル29と同様である。IPアドレスは、各機器に対応して、VLAN設定部25によって各VLANに属するように付与された内部IPアドレスである。
また、構成例3におけるアドレス変換テーブル28の一例を図11に示す。同図に示すように、アドレス変換テーブル28は、外部IPアドレスおよびポート番号と、内部IPアドレスおよびポート番号との組が記憶されている。
ここで、VLAN設定部25によって各プリンタ7に設定された内部IPアドレスは、集線装置4よりも外側のネットワークに対しては公開されていないものであり、外部IPアドレスとしては、集線装置4に接続されている全てのプリンタ7…に対応する1つの仮想IPアドレスが設定されるのみである。したがって、アドレス変換テーブル28に示すように、トラフィックを識別する手段として、TCP(transmission control protocol)ポート番号を利用している。なお、アドレス変換テーブル28において、内部IPアドレスに対してもポート番号を考慮するようになっているが、これは、1つのプリンタ7に対して同時期に複数のトラフィックが発生している場合に、それぞれのトラフィックを区別するためである。
(構成例3における初期設定処理)
次に、構成例3において、集線装置4にプリンタ7が接続された際の初期設定処理について、図8に示すタイミングチャートを参照しながら説明する。まず、あるプリンタ7が集線装置4と接続されると(S71)、プリンタ7の通信制御部47によって、通信設定情報記憶部51に記憶されている該プリンタ7の機能を示すデバイス情報がプリンタ7から集線装置4に対して送信される(S72)。
集線装置4は、プリンタ7からデバイス情報を受信する(S73)と、これがI/F部17からデータバッファ30に送信され、格納される。そして、監視部23がデータバッファ30に格納されたデータを検出して、該当データがデバイス情報を示すデータであることを確認し、この情報をVLAN設定部25に送信する。
VLAN設定部25は、受信したデバイス情報に基づいて、該当プリンタ7をどのVLANに属させるべきかを判定する。そして、VLAN設定部25は、VLANテーブル29に、属させるVLANに対応する仮想MACアドレス、プリンタ7のMACアドレス、プリンタ7が接続されたポート情報、デバイス情報、該当VLANのVLAN番号、該当VLANに対応するサブネットアドレス、および内部IPアドレスを登録する(S74)。そして、VLAN設定部25によって設定された内部IPアドレスに関する情報がプリンタ7に対して送信される(S75)。
プリンタ7は、内部IPアドレスに関する情報を通信I/F部46において受信すると、その情報が、通信制御部47によって通信設定情報記憶部51に記憶される(S76)。以上のような処理によって、プリンタ7が集線装置4に接続された際の初期設定処理が完了する。
(構成例3における集線装置の処理)
構成例3における集線装置4の処理は、基本的には上記した図12に示すフローチャートでの処理の流れと同様である。異なる点としては、図12におけるS24にて、送信元アドレスが、VLANテーブル29に登録されているプリンタ7のMACアドレスまたは内部IPアドレスであると判断された場合のS25における処理内容である。このように判断された場合、その旨が照合部22に伝えられ、照合部22は、アドレス変換テーブル28を参照して、上記フレームの送信元アドレスを仮想MACアドレスまたは仮想IPアドレスに書き換える(S25)。その後、S26からの処理に移行する。
また、図12に示すフローチャートのS28におけるプリンタ選択処理、および、S33における、プリンタ7からの通知に対する処理も同様に行われる。
(集線装置・プリンタ・DHCPサーバにおける制御機能を実現する構成)
次に、集線装置4、プリンタ7、およびDHCPサーバ9における各機能ブロックを実現する構成について説明する。
集線装置4には制御部15が備えられており、この制御部15内に各種機能ブロックが設けられているが、これらの機能ブロックは、例えばCPU(Central Processing Unit)などの演算手段がROM(Read Only Memory)やRAM(Random Access Memory)などの記録媒体に格納されたプログラムコードを実行することによって実現することができる。また、集線装置4が備える記憶部16は、例えばフラッシュEEPROMなどの不揮発性記憶媒体によって実現可能である。
また、プリンタ7にはプリンタコントローラ41が備えられており、このプリンタコントローラ41内には通信制御部47という機能ブロックが設けられている。この機能ブロックも、例えばCPUなどの演算手段がROMやRAMなどの記録媒体に格納されたプログラムコードを実行することによって実現することができる。また、プリンタコントローラ41が備える通信設定情報記憶部51は、例えばフラッシュEEPROMなどの不揮発性記憶媒体によって実現可能である。
また、DHCPサーバ9には制御部62が備えられており、この制御部62内にDHCP処理部65という機能ブロックが設けられているが、この機能ブロックは、例えばCPUなどの演算手段がROMやRAMなどの記録媒体に格納されたプログラムコードを実行することによって実現することができる。また、DHCPサーバ9が備える記憶部64は、例えばフラッシュEEPROMや、ハードディスクなどの不揮発性記憶媒体によって実現可能である。
なお、上記では、各機能ブロックが「CPUなどの演算手段がROMやRAMなどの記録媒体に格納されたプログラムコードを実行することで実現される」場合を例にして説明したが、同様の処理を行うハードウェアで実現してもよい。また、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。さらに、上記各部材のうち、ハードウェアとして説明した部材であっても、処理の一部を行うハードウェアと、当該ハードウェアの制御や残余の処理を行うプログラムコードを実行する上記演算手段とを組み合わせても実現することもできる。なお、上記演算手段は、単体であってもよいし、装置内部のバスや種々の通信路を介して接続された複数の演算手段が共同してプログラムコードを実行してもよい。
上記演算手段によって直接実行可能なプログラムコード自体、または、後述する解凍などの処理によってプログラムコードを生成可能なデータとしてのプログラムは、当該プログラム(プログラムコードまたは上記データ)を記録媒体に格納し、当該記録媒体を配付したり、あるいは、上記プログラムを、有線または無線の通信路を介して伝送するための通信手段で送信したりして配付され、上記演算手段で実行される。
なお、通信路を介して伝送する場合、通信路を構成する各伝送媒体が、プログラムを示す信号列を伝搬し合うことによって、当該通信路を介して、上記プログラムが伝送される。また、信号列を伝送する際、送信装置が、プログラムを示す信号列により搬送波を変調することによって、上記信号列を搬送波に重畳してもよい。この場合、受信装置が搬送波を復調することによって信号列が復元される。一方、上記信号列を伝送する際、送信装置が、デジタルデータ列としての信号列をパケット分割して伝送してもよい。この場合、受信装置は、受信したパケット群を連結して、上記信号列を復元する。また、送信装置が、信号列を送信する際、時分割/周波数分割/符号分割などの方法で、信号列を他の信号列と多重化して伝送してもよい。この場合、受信装置は、多重化された信号列から、個々の信号列を抽出して復元する。いずれの場合であっても、通信路を介してプログラムを伝送できれば、同様の効果が得られる。
ここで、プログラムを配付する際の記録媒体は、取外し可能である方が好ましいが、プログラムを配付した後の記録媒体は、取外し可能か否かを問わない。また、上記記録媒体は、プログラムが記憶されていれば、書換え(書き込み)可能か否か、揮発性か否か、記録方法および形状を問わない。記録媒体の一例として、磁気テープやカセットテープなどのテープ、あるいは、フロッピー(登録商標)ディスクやハードディスクなどの磁気ディスク、または、CD−ROMや光磁気ディスク(MO)、ミニディスク(MD)やデジタルビデオディスク(DVD)などのディスクが挙げられる。また、記録媒体は、ICカードや光カードのようなカード、あるいは、マスクROMやEPROM、EEPROMまたはフラッシュROMなどのような半導体メモリであってもよい。あるいは、CPUなどの演算手段内に形成されたメモリであってもよい。
なお、上記プログラムコードは、上記各処理の全手順を上記演算手段へ指示するコードであってもよいし、所定の手順で呼び出すことで、上記各処理の一部または全部を実行可能な基本プログラム(例えば、オペレーティングシステムやライブラリなど)が既に存在していれば、当該基本プログラムの呼び出しを上記演算手段へ指示するコードやポインタなどで、上記全手順の一部または全部を置き換えてもよい。
また、上記記録媒体にプログラムを格納する際の形式は、例えば、実メモリに配置した状態のように、演算手段がアクセスして実行可能な格納形式であってもよいし、実メモリに配置する前で、演算手段が常時アクセス可能なローカルな記録媒体(例えば、実メモリやハードディスクなど)にインストールした後の格納形式、あるいは、ネットワークや搬送可能な記録媒体などから上記ローカルな記録媒体にインストールする前の格納形式などであってもよい。また、プログラムは、コンパイル後のオブジェクトコードに限るものではなく、ソースコードや、インタプリトまたはコンパイルの途中で生成される中間コードとして格納されていてもよい。いずれの場合であっても、圧縮された情報の解凍、符号化された情報の復号、インタプリト、コンパイル、リンク、または、実メモリへの配置などの処理、あるいは、各処理の組み合わせによって、上記演算手段が実行可能な形式に変換可能であれば、プログラムを記録媒体に格納する際の形式に拘わらず、同様の効果を得ることができる。
(各構成例の対比)
構成例1の場合、集線装置4において、プリンタ7に対して送受信されるフレームのIPアドレスが変換されるようになっている。よって、各プリンタ7のIPアドレスが外部に対して隠蔽されていることになるのでセキュリティが向上する。また、DHCPサーバ9としては、通常のDHCPサーバを用いることができるので、特別なDHCPサーバを設ける必要がない。
構成例2の場合、DHCPサーバ9によって、プリンタ7の機能に応じたVLANを考慮したIPアドレスの設定が行われるようになっている。よって、集線装置4においてアドレス変換処理を行う必要がないため、集線装置4による転送処理速度は構成例1と比較して高速となる。また、集線装置4にアドレス変換処理を行う構成を設ける必要がないので、集線装置4の構成を簡素化することができる。
構成例3の場合、DHCPサーバを設ける必要がないことになる。よって、例えば小規模なシステムである場合、集線装置4を設けるだけで上記画像出力システム1を実現することが可能となる。また、外部に対して各プリンタのIPアドレス、MACアドレスを隠蔽することができるためセキュリティが向上する。