(57)【特許請求の範囲】
【請求項１】
デバイス、及び当該デバイスにＩＰアドレスを割り当てるＤＨＣＰサーバと、ネットワークを介して接続可能な情報処理装置であって、
複数のデバイスそれぞれのデバイス情報を記憶する記憶手段と、
他の情報処理装置から、デバイスを検索するための検索要求を受信する第１の受信手段と、
前記第１の受信手段によって受信した検索要求に応じてデバイスを検索する検索手段と、
前記検索手段によって検索された検索結果を前記他の情報処理装置に送信する送信手段と、
デバイスが前記ネットワークから離脱することを示す情報を当該デバイスから受信する第２の受信手段と、
ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信手段により受信した情報に含まれているかを判定する判定手段と、
前記判定手段により、ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信手段により受信した情報に含まれていると判定された場合、前記記憶手段によって記憶されたデバイス情報の中から当該デバイスに対応するデバイス情報を更新し、当該デバイスのＩＰアドレスの割り当てを解除するための通知を、前記ＤＨＣＰサーバに通知し、前記判定手段により、ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信手段により受信した情報に含まれていないと判定された場合、前記記憶手段によって記憶されたデバイス情報の中から当該デバイスに対応するデバイス情報を更新し、当該デバイスのＩＰアドレスの割り当てを解除するための通知を、前記ＤＨＣＰサーバに通知しないよう制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記記憶手段によって記憶されたデバイス情報の中から当該デバイスに対応するデバイス情報を削除することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第２の受信手段によって受信される情報は、前記デバイスがシャットダウンされる場合に、当該デバイスから送信される情報であることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記第２の受信手段によって受信される情報には、前記ＤＨＣＰサーバの識別情報が含まれることを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記記憶手段によって記憶された複数のデバイスそれぞれに対して、デバイスの状態を定期的に問い合わせる問い合わせ手段を更に有し、
前記制御手段は、前記問い合わせ手段による問い合わせに対してデバイスから応答がない場合にも、前記記憶手段によって記憶されたデバイス情報の中から当該デバイスに対応するデバイス情報を更新し、当該デバイスのＩＰアドレスの割り当てを解除するための通知を、前記ＤＨＣＰサーバに通知することを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
デバイス、及び当該デバイスにＩＰアドレスを割り当てるＤＨＣＰサーバと、ネットワークを介して接続可能な情報処理装置の制御方法であって、
他の情報処理装置から、デバイスを検索するための検索要求を受信する第１の受信ステップと、
前記第１の受信ステップにおいて受信した検索要求に応じてデバイスを検索する検索ステップと、
前記検索ステップにおいて検索された検索結果を前記他の情報処理装置に送信する送信ステップと、
デバイスが前記ネットワークから離脱することを示す情報を当該デバイスから受信する第２の受信ステップと、
ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信ステップにおいて受信した情報に含まれているかを判定する判定ステップと、
前記判定ステップにおいて、ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信ステップにおいて受信した情報に含まれていると判定された場合、記憶部に記憶された複数のデバイスのデバイス情報の中から当該デバイスに対応するデバイス情報を更新し、当該デバイスのＩＰアドレスの割り当てを解除するための通知を、前記ＤＨＣＰサーバに通知し、前記判定ステップにおいて、前記ＤＨＣＰサーバによってＩＰアドレスが割り当てられたデバイスであることを示す情報が前記第２の受信ステップにおいて受信した情報に含まれていないと判定された場合、前記記憶部に記憶されたデバイス情報の中から当該デバイスに対応するデバイス情報を更新し、当該デバイスのＩＰアドレスの割り当てを解除するための通知を、前記ＤＨＣＰサーバに通知しないよう制御する制御ステップと、
を有することを特徴とする制御方法。
【請求項７】
デバイス、及び当該デバイスにＩＰアドレスを割り当てるＤＨＣＰサーバと、ネットワークを介して接続された情報処理装置に以下のステップを実行させるコンピュータプログラムであって、
他の情報処理装置から、デバイスを検索するための検索要求を受信する第１の受信ステップと、
前記第１の受信ステップにおいて受信した検索要求に応じてデバイスを検索する検索ステップと、
前記検索ステップにおいて検索された検索結果を前記他の情報処理装置に送信する送信ステップと、
デバイスが前記ネットワークから離脱することを示す情報を当該デバイスから受信する第２の受信ステップと、
ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信ステップにおいて受信した情報に含まれているか否かを判定する判定ステップと、
前記判定ステップにおいて、ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信ステップにおいて受信した情報に含まれていると判定された場合、記憶部に記憶された複数のデバイスのデバイス情報の中から当該デバイスに対応するデバイス情報を更新し、当該デバイスのＩＰアドレスの割り当てを解除するための通知を、前記ＤＨＣＰサーバに通知し、前記判定ステップにおいて、ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信ステップにおいて受信した情報に含まれていないと判定された場合、前記記憶部に記憶されたデバイス情報の中から当該デバイスに対応するデバイス情報を更新し、当該デバイスのＩＰアドレスの割り当てを解除するための通知を、前記ＤＨＣＰサーバに通知しないよう制御する制御ステップと、
を有することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を利用するネットワーク環境における情報処理装置、情報処理装置の制御方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
プリンタ等のデバイスがネットワークに接続され、クライアントＰＣからネットワークを介して利用することが可能になっている。クライアントＰＣがネットワーク上のデバイスを検索するための技術としていくつか考えられているものの中には、ネットワーク上に検索サーバを設け、クライアントＰＣが検索サーバに問い合わせるものがある（例えば、特許文献１参照）。このような技術においては、検索サーバは、ネットワークに接続された各デバイスのデバイス情報を一元管理するためのデータベースを有している。そして、デバイスのデバイス情報に変化があった場合には、その都度データベースの内容を更新する。例えば、接続されていたデバイスが電源ＯＦＦされた場合や、ネットワークから切断された場合には、そのデバイスのデバイス情報をデータベースから削除する。
【０００３】
また、近年、複数のクライアントＰＣやデバイス等のノードがネットワークに接続される環境において、これらネットワークノードのＩＰアドレスを割り当てる方法として、ＤＨＣＰを用いたシステムが多く利用されている。ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）とは、ネットワークに接続されたクライアントＰＣやデバイス等のノードに対して、動的にＩＰアドレスを割り当てる仕組みである。ＤＨＣＰにおいて、ＩＰアドレスを割り当てられるノードをＤＨＣＰクライアントと呼び、ＩＰアドレスを割り当てるサーバをＤＨＣＰサーバと呼ぶ。ＤＨＣＰクライアントは、ＩＰアドレスの割り当てを希望する場合、ＤＨＣＰサーバに要求を出し、ＩＰアドレスを取得する。ＤＨＣＰサーバは、要求を出したＤＨＣＰクライアントとそのＤＨＣＰクライアントに割り当てたＩＰアドレスとを管理する。ＤＨＣＰクライアントは、ＩＰアドレスが不要になった場合、ＤＨＣＰサーバへＩＰアドレスの開放通知を送る。開放通知を受信したＤＨＣＰサーバは、そのＤＨＣＰクライアントとＩＰアドレスとの割り当てを解除する。その結果、そのＩＰアドレスは、異なるＤＨＣＰクライアントに割り当てることが可能となり、限りあるＩＰアドレスを有効に利用することが可能となる。
【特許文献１】特開２００４−６２４４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記従来の技術において、ＤＨＣＰクライアントは、ＤＨＣＰサーバへのＩＰアドレスの開放通知を省略する場合がある。例えば、自機のシャットダウン処理を迅速に行うためである。
【０００５】
その場合、ＤＨＣＰサーバからＤＨＣＰクライアントに割り当てられたＩＰアドレスは、既に不要（そのＤＨＣＰクライアントが存在しない）であるにも関わらず、割り当てられたままとなってしまう。その結果、ＩＰアドレスの有効利用を妨げてしまう。
【０００６】
これに対してＤＨＣＰクライアントが、シャットダウンされたことを必ずサーバに対して通知するようにした場合、検索サーバとＤＨＣＰサーバのように、複数のサーバが存在した場合に、ＤＨＣＰクライアントの負荷が増加する。
【０００７】
本発明は、このような問題に対してなされたものであり、ネットワーク上にＤＨＣＰサーバと検索サーバが存在する場合に、ＤＨＣＰサーバでのＩＰアドレスの管理を、より効率的に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明における情報処理装置は、デバイス、及び当該デバイスにＩＰアドレスを割り当てるＤＨＣＰサーバと、ネットワークを介して接続可能な情報処理装置であって、複数のデバイスそれぞれのデバイス情報を記憶する記憶手段と、他の情報処理装置から、デバイスを検索するための検索要求を受信する第１の受信手段と、前記第１の受信手段によって受信した検索要求に応じてデバイスを検索する検索手段と、前記検索手段によって検索された検索結果を前記他の情報処理装置に送信する送信手段と、デバイスが前記ネットワークから離脱することを示す情報を当該デバイスから受信する第２の受信手段と、ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信手段により受信した情報に含まれているかを判定する判定手段と、前記判定手段により、ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信手段により受信した情報に含まれていると判定された場合、前記記憶手段によって記憶されたデバイス情報の中から当該デバイスに対応するデバイス情報を更新し、当該デバイスのＩＰアドレスの割り当てを解除するための通知を、前記ＤＨＣＰサーバに通知し、前記判定手段により、ＩＰアドレスの割り当て解除を要求する情報が前記第２の受信手段により受信した情報に含まれていないと判定された場合、前記記憶手段によって記憶されたデバイス情報の中から当該デバイスに対応するデバイス情報を更新し、当該デバイスのＩＰアドレスの割り当てを解除するための通知を、前記ＤＨＣＰサーバに通知しないよう制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ネットワーク上にＤＨＣＰサーバと検索サーバが存在する場合に、ＤＨＣＰサーバでのＩＰアドレスの管理を、より効率的に行うことができるようになる。
【発明を実施するための最良の形態】
【００１０】
（実施例１）
図１は本発明を適用したデバイス検索システムの構成を示す図である。
【００１１】
ＤＨＣＰサーバ１０１および検索サーバとしてのＤｉｓｃｏｖｅｒｙ  Ｐｒｏｘｙ（ＤＰ）１０２が接続されたサブネット１、クライアントＰＣ１０３、画像形成装置１０４が接続されたサブネット２、画像形成装置１０５が接続されたサブネット３が存在している。サブネット１とサブネット２はルータ１０６により相互に接続され、サブネット１とサブネット３はルータ１０７により相互に接続されており、これら３つのサブネットによって１つのＬＡＮが形成されている。そして、結果としてすべてのサブネットにおいて接続された端末は相互に通信が可能になっている。ただし、ルータ１０６、１０７は一方のサブネットから受信したブロードキャストやマルチキャストを他方のサブネットにそのまま通過させることはしない。そのため、ブロードキャストやマルチキャストによる通信は各サブネット内でのみ可能である。ここで、本実施例に登場する装置のうち、画像形成装置１０４、１０５は、本発明におけるデバイスの一例であり、プリンタや複写機、スキャナ、複合機、ファクシミリ等である。また、本実施例に登場する装置のうち、ＤＨＣＰサーバ１０１、ＤＰ１０２、クライアントＰＣ１０３は、本発明における情報処理装置の一例であり、後述するように汎用のＰＣを使用可能である。図１のデバイス検索システムでは、クライアントＰＣ１０３を操作するユーザが所望する画像形成装置を探すために、クライアントＰＣ１０３からＤＰ１０２に対して検索要求パケットが送られる。そして、ＤＰ１０２においてデバイスが検索された結果、検索結果がクライアントＰＣに送られる。
【００１２】
次に、ＤＨＣＰ  （Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を使用しＩＰアドレスなどの設定情報を配布する方法について説明する。ＤＨＣＰは、ネットワークに接続された端末に設定情報を配布する仕組みを規定したプロトコルであり、その詳細はＲＦＣ２１３１で規定されている。ＤＨＣＰはクライアント／サーバ方式をとり、ＤＨＣＰサーバは各種設定情報を一元管理し、ＤＨＣＰクライアントであるネットワーク端末はその情報を受信する。
【００１３】
図２は、ＤＨＣＰサーバとＤＨＣＰクライアントとの間で送受信されるＤＨＣＰメッセージのフローを説明するシーケンス図である。ＤＨＣＰクライアントはＤＨＣＰ  ＤＩＳＣＯＶＥＲメッセージをブロードキャストする（Ｓ２００１）。ＤＨＣＰサーバはＤＨＣＰ  ＤＩＳＣＯＶＥＲメッセージを受信すると、メッセージを送信したＤＨＣＰクライアントにＩＰアドレスを割り当て、その後ＤＨＣＰ  ＯＦＦＥＲメッセージを送信する（Ｓ２００２）。ＤＨＣＰ  ＯＦＦＥＲメッセージには、ＤＨＣＰ  ＤＩＳＣＯＶＥＲ  メッセージを送信したＤＨＣＰクライアントに割り当てられたＩＰアドレスやその他の設定情報が含まれている。
【００１４】
ＤＨＣＰクライアントはＤＨＣＰ  ＯＦＦＥＲメッセージを受信すると、ＤＨＣＰ  ＯＦＦＥＲメッセージに含まれていたＩＰアドレスを使用するためのＤＨＣＰ  ＲＥＱＵＥＳＴメッセージをブロードキャストする（Ｓ２００３）。ＤＨＣＰサーバはＤＨＣＰ  ＲＥＱＵＥＳＴメッセージを受信すると、ＤＨＣＰ  ＡＣＫメッセージを送信する（Ｓ２００４）。ＤＨＣＰクライアントはＤＨＣＰ  ＡＣＫメッセージを受信すると、それ以降は配布されたＩＰアドレスおよび設定情報を使用してネットワーク通信を行う。
【００１５】
また、ＤＨＣＰサーバから配布されたＩＰアドレスには使用可能な期間（リースタイム）が設けられている。ＤＨＣＰクライアントは、取得したＩＰアドレスをリースタイム後も継続して使用したい場合には、リースタイムが切れる期限の前にＤＨＣＰサーバに対してＤＨＣＰ  ＲＥＱＵＥＳＴメッセージを送信する（Ｓ２００５）。ＤＨＣＰサーバは割り当て済のＩＰアドレスからのＤＨＣＰ  ＲＥＱＵＥＳＴを受信すると、リースタイムを更新し、ＤＨＣＰ  ＡＣＫメッセージを送信する（Ｓ２００６）。
【００１６】
また、ＤＨＣＰクライアントがＩＰアドレスの使用を中止する場合、ＤＨＣＰクライアントはＤＨＣＰサーバに対してＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送信する（Ｓ２００７）。ＤＨＣＰサーバはＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを受信すると、そのＩＰアドレスの割り当てを解除し、別のＤＨＣＰクライアントに対して割り当て可能にする。
【００１７】
また、ＤＨＣＰサーバは、割り当て済のＩＰアドレスからリースタイムが切れる前にＤＨＣＰ  ＲＥＱＵＥＳＴを受信することなく、リースタイムが経過した場合は、そのＩＰアドレスの割り当てを解除する。そして、そのＩＰアドレスを別のＤＨＣＰクライアントに対して割り当て可能にする。
【００１８】
尚、図２のフローにおいて、Ｓ２００１〜Ｓ２００４のメッセージは、ブロードキャストで行われる。この時点では、ＤＨＣＰクライアントにはまだＩＰアドレスが確定していないためである。
【００１９】
一方、図１の構成のように複数のサブネットがルータによって接続されたネットワークにおいて、ルータがブロードキャストを通過させない設定である場合には、これらのＤＨＣＰメッセージはルータにより遮断されてしまう。この問題を解決するためにＲＦＣ２１３１においてはリレーエージェントの仕様も記載されている。リレーエージェントは一般にルータの一機能として実装され、以下に図１の構成の記号を使用して簡単にその動作を説明する。
【００２０】
まずリレーエージェント機能を実装したルータ１０６はあらかじめＤＨＣＰサーバ１０１のＩＰアドレスを記憶しておく。ＤＨＣＰクライアントとなるクライアントＰＣ１０３はＤＨＣＰ  ＤＩＳＣＯＶＥＲやＤＨＣＰ  ＲＥＱＵＥＳＴメッセージをサブネット２にブロードキャストする。ルータ１０６はＤＨＣＰ  ＤＩＳＣＯＶＥＲ／ＤＨＣＰ  ＲＥＱＵＥＳＴメッセージを受信すると、このメッセージをあらかじめ記憶しているＤＨＣＰサーバ１０１に対してユニキャストで転送する。ＤＨＣＰサーバ１０１はルータ１０６からユニキャストでＤＨＣＰ  ＤＩＳＣＯＶＥＲ／ＤＨＣＰ  ＲＥＱＵＥＳＴメッセージを受信すると、ＤＨＣＰ  ＯＦＦＥＲやＤＨＣＰ  ＡＣＫメッセージをルータ１０６に対してユニキャストで送信する。ルータ１０６はＤＨＣＰサーバ１０１からＤＨＣＰ  ＯＦＦＥＲ／ＤＨＣＰ  ＡＣＫメッセージを受信すると、このメッセージをサブネット２にブロードキャストする。
【００２１】
このように、リレーエージェント機能を実装したルータがブロードキャストによるＤＨＣＰメッセージを受信してユニキャストでＤＨＣＰサーバに転送することで、ＤＨＣＰクライアントはＤＨＣＰサーバから情報を受信できるようになる。
【００２２】
図３は、ＤＨＣＰメッセージのフォーマットを示す図である。ｏｐｔｉｏｎｓフィールド３０１は可変長の各種データを設定可能な領域である。この領域は１ｂｙｔｅのタグ、１ｂｙｔｅのデータサイズ、可変長のデータを１個のｏｐｔｉｏｎデータとし、複数のｏｐｔｉｏｎデータを設定可能である。タグの値はあらかじめ標準化されている値とベンダが拡張可能な値があり、一例としてサブネットマスクやＤＮＳサーバのＩＰアドレスといったタグの値は標準化された値として広く使用されている。
【００２３】
本実施例においては、このｏｐｔｉｏｎｓフィールド３０１を拡張して使用する。ＤＰのＩＰアドレスを意味するタグを定義し、データとしてＤＰのＩＰアドレスを設定することで、ＤＨＣＰプロトコルを使用してＤＰのＩＰアドレス情報をクライアントＰＣやデバイス等のＤＨＣＰクライアントに配布することが可能となる。さらに、ネットワーク上に複数のＤＰが存在する場合には、このｏｐｔｉｏｎｓフィールド３０１に複数のＤＰのＩＰアドレスを設定することによりそれらのＩＰアドレス情報を配布することも可能である。
【００２４】
またｇｉａｄｄｒフィールド３０２は、リレーエージェントがＤＨＣＰサーバにＤＨＣＰメッセージを転送する際に、リレーエージェント自身のＩＰアドレスを設定する。それによりＤＨＣＰサーバはＤＨＣＰメッセージを受信した際に、それがリレーエージェントからのものであった場合にはこのｇｉａｄｄｒフィールドを確認することでＤＨＣＰクライアントが属するサブネットを特定することが可能である。またｙｉａｄｄｒフィールド３０３は、ＤＨＣＰサーバがＤＨＣＰクライアントに割り当てるＩＰアドレスが設定される。
【００２５】
次に、図１で示したシステム構成の中で、本発明に関係するＤＨＣＰサーバ１０１、ＤＰ１０２、クライアントＰＣ１０３、画像形成装置１０４、１０５のハードウェアおよびソフトウェア構成について説明する。なお、以降では特に断らない限り画像形成装置に関しては代表して１０４の記号を用いる。
【００２６】
図４は画像形成装置１０４のハードウェア構成を示すブロック図である。なお、ここでは、画像形成装置がＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）であった場合を例にして説明する。図４のＭＦＰ１０４において、４０１はＣＰＵで、ＲＯＭ４０２のプログラム用ＲＯＭに記憶された制御プログラムに基づいてシステムバス４０４に接続される各種のデバイスとのアクセスを総括的に制御する。また、印刷インターフェース４０７を介して接続される印刷部（プリンタエンジン）４１０に出力情報としての画像信号を出力したり、読取インターフェース４１２を介して接続される読取部（スキャナ）４１３から入力される画像信号を制御する。また、このＲＯＭ４０３のプログラム用ＲＯＭには、ＣＰＵ４０１が実行可能な制御プログラム等を記憶する。さらに、ＲＯＭ４０３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ（アウトラインフォントデータを含む）等を記憶し、ＲＯＭ４０３のデータ用ＲＯＭには、ホストコンピュータ上で利用される情報等を記憶している。ＣＰＵ４０１はＬＡＮコントローラ部４０６を介してネットワーク上のホストコンピュータや画像形成装置との通信処理が可能となっている。４０２はＲＡＭで、主としてＣＰＵ４０１の主メモリ，ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ４０２は、出力情報展開領域，環境データ格納領域等に用いられる。ハードディスク（ＨＤ），ＩＣカード等の外部記憶装置４１１は、ディスクコントローラ（ＤＫＣ）４０８によりアクセスが制御される。ハードディスクは、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶したり、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。またさらに、スキャナ４１３から読み取った画像データやプリントジョブの画像データをＢＯＸデータとして保持し、ネットワークから参照したり、印刷を行うＢＯＸデータ格納領域としても使用される。４０５は操作パネルで、ユーザがソフトウェアキーから各種情報を入力することが可能である。前述した外部記憶装置は、１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード，言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。４０９は不揮発性メモリであり、操作パネル４０５から設定される各種設定情報を記憶している。また、図示していないが、ＭＦＰ１０４にはさらにオプションで、ステープルやソート機能を行うフィニッシャや、両面印刷機能を実現するための両面装置など各種拡張装置を装着することが可能となっており、それらの動作はＣＰＵ４０１から制御される。
【００２７】
図５は、ＤＨＣＰサーバ１０１、ＤＰ１０２、クライアントＰＣ１０３のハードウェア構成を示すブロック図である。なお、ＤＨＣＰサーバ１０１、ＤＰ１０２、クライアントＰＣ１０３は汎用のＰＣ（パーソナルコンピュータ）を使用可能であり、以下の説明は共通である。
【００２８】
図５において、５０１はＣＰＵであり、システムバス５０４に接続された各種デバイスの制御を行う。５０２はＢＩＯＳやブートプログラムを記憶するＲＯＭ、５０３はＣＰＵ５０１の主記憶装置として使用されるＲＡＭである。５０５はキーボードコントローラ（ＫＢＣ）であり、マウス（登録商標）等のポインティングデバイス５０９ａ、キーボード５０９ｂからの情報などの入力に係る処理を行う。５０６は表示制御部（ＣＲＴＣ）であり、内部にビデオメモリを有し、ＣＰＵ５０１からの指示に従ってそのビデオメモリに描画すると共に、ビデオメモリに描画されたイメージデータをビデオ信号としてＣＲＴ表示装置５１０に出力する。なお、図５において表示装置としてＣＲＴを例示しているが、液晶表示装置等、その表示装置の種類は問わない。５０７はディスクコントローラ（ＤＫＣ）であり、ハードディスク５１１、フロッピー（登録商標）ディスク５１２へのアクセスを行う。５０８はネットワークインタフェースカード（ＮＩＣ）であって、ネットワークに接続し、ネットワークを介しての情報通信を行うものである。なお、ハードディスク５１１には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やＯＳ上で動作する各種アプリケーションプログラム等が格納される。上記構成において、本装置の電源がＯＮになると、ＣＰＵ５０１はＲＯＭ５０２に格納されたブートプログラムに従って、ハードディスク５１１からＯＳをＲＡＭ５０３に読み込み、情報処理装置として機能するようになる。
【００２９】
図６は、ＤＨＣＰサーバ１０１、ＤＰ１０２、クライアントＰＣ１０３、画像形成装置１０４のソフトウェア構成を示すブロック図である。図６に示す各機能部は、それぞれの装置が備えるＣＰＵによって実行され、以下に説明する各機能がそれぞれの装置において提供される。
【００３０】
ＤＨＣＰサーバ１０１において、ＤＨＣＰサーバ処理部６０１は前述のＤＨＣＰサーバとしての処理を行う。即ち、ＤＨＣＰクライアントからの要求に応じて、ＩＰアドレスをそのＤＨＣＰクライアントに割り当てる処理や、割り当てられたＩＰアドレスをＤＨＣＰクライアントに配布する処理を行う。ＤＨＣＰクライアントに配布するＩＰアドレスのリストや設定情報は配布情報ＤＢ６０３において保持されている。尚、本実施例におけるＤＨＣＰクライアントは、クライアントＰＣ１０３又は画像形成装置１０４であるが、ＤＰ１０２がＤＨＣＰクライアントとして動作しても構わない。ＤＨＣＰサーバ処理部６０１はＤＨＣＰクライアントからの要求に基づき配布情報ＤＢ６０３を参照して各種情報を配布する。配布情報設定部６０２は配布情報ＤＢ６０３に保持する情報を設定するものである。またＤＨＣＰクライアントが属するサブネットごと、またクライアントごとに配布する情報を設定することも可能である。
【００３１】
図７は、ＤＨＣＰサーバ１０１において、配布情報ＤＢ６０３が保持する情報の例を示す。ＣＩＤ７０１は、情報配布先のクライアントを識別するクライアントＩＤを示す。配布アドレス７０２は、クライアントに配布したＩＰアドレスを示す。サブネットマスク７０３は、クライアントに通知したサブネットマスクを示す。有効時間７０４は、クライアントに配布した情報の有効期限を示し、この有効時間経過後、対象の情報が削除される。
【００３２】
ＤＰ１０２において、デバイス情報通知受信部６１１は画像形成装置１０４からデバイス情報の登録要求、更新要求、削除要求の通知を受信し、その通知の種類に基づき、デバイス情報保持部６１４が保持するデバイス情報の処理を行う。処理の結果、デバイス情報の取得が必要であると判断された場合は、デバイス情報取得部６１２は画像形成装置１０４に対してデバイス情報取得要求を送信し、返されたデバイス情報をデバイス情報保持部６１４に保持する。デバイス情報検索処理部６１３はクライアントＰＣ１０３からデバイス情報の検索要求を受信し、指定された検索条件に基づきデバイス情報保持部６１４内のデバイス情報を検索する。そして、その結果をクライアントＰＣ１０３に送信する。デバイス情報保持部６１４が保持するデバイス情報については後述する。
【００３３】
クライアントＰＣ１０３において、ＤＨＣＰクライアント処理部６２１は前述のＤＨＣＰクライアントとしての処理を行う。ＤＨＣＰサーバから配布されたＩＰアドレスや各種設定情報は設定情報記憶部６２２に保持され、適宜参照して使用することが可能である。デバイス検索要求処理部６２３はＤＰ１０２に対してデバイス検索要求を送信し、その結果は検索情報表示部６２４において表示される。
【００３４】
画像形成装置１０４において、ＤＨＣＰクライアント処理部６３１は前述のＤＨＣＰクライアントとしての処理を行う。ＤＨＣＰサーバから配布されたＩＰアドレスや各種設定情報は設定情報記憶部６３２に保持され、適宜参照して使用することが可能である。デバイス情報管理部６３４は画像形成装置１０４自身のデバイス情報を管理する。デバイス情報通知部６３３はデバイス情報の通知が必要な場合にＤＰ１０２に対してデバイス情報の登録要求、更新要求、削除要求を送信する。ネットワークを介してデバイス情報取得要求を受信すると、デバイス情報送信部６３５は、デバイス情報管理部６３４が管理しているデバイス情報を要求元に送信する。
【００３５】
図８はＤＰ１０２のデバイス情報保持部６１４が保持するデバイス情報の例である。
【００３６】
それぞれのデバイスに関する情報はレコードとして保持され、レコードはＩＤ８０１、ＵＵＩＤ８０２、バージョン８０３、デバイスタイプ８０４、モデル名８０５、デバイス名８０６、ＵＲＬ８０７、ＩＰアドレス８０８からなる。
【００３７】
ＩＤ８０１はＤＰ内でデバイスを識別するためのＩＤを示す。ＵＵＩＤ８０２はデバイスをグローバルに識別するＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）を示す。バージョン８０３はデバイス情報のバージョンを示す。デバイスタイプ８０４は複合機を意味する「ＭＦＰ」、プリンタを意味する「Ｐｒｉｎｔｅｒ」などのタイプを示す。モデル名８０５は「ＬＢＰＸＸＸＸ」のようなデバイスのモデル名を示す。デバイス名８０６はデバイス管理者がデバイスに設定した名前を示す。ＵＲＬ８０７はデバイス情報を取得するためのＵＲＬを示す。ＩＰアドレス８０８はデバイスのＩＰアドレスを示す。
【００３８】
次に、画像形成装置１０４のデバイス情報をＤＰ１０２に登録する処理について説明する。画像形成装置１０４はＤＨＣＰクライアントとして動作し、ＤＨＣＰサーバ１０１から、画像形成装置１０４自身のＩＰアドレスに加えＤＰ１０２のＩＰアドレスを受信している。
【００３９】
画像形成装置１０４は、起動時やデバイス情報に変化があった場合にＤＰ１０２に対して図９のようなＸＭＬ形式のＨｅｌｌｏメッセージをユニキャストで送信することにより存在を通知する。
【００４０】
図９のＨｅｌｌｏメッセージは、＜Ｈｅａｄｅｒ＞タグで囲まれるｈｅａｄｅｒ部９０１と＜Ｂｏｄｙ＞タグで囲まれるｂｏｄｙ部９０２からなり、全体が＜Ｅｎｖｅｌｏｐｅ＞タグで囲まれる構造になっている。この構造は本実施例において使用するメッセージすべてに共通である。
【００４１】
ｈｅａｄｅｒ部９０１はメッセージの内容に依存しない共通ヘッダとしての役割を果たしており、＜Ａｃｔｉｏｎ＞タグ、＜ＭｅｓｓａｇｅＩＤ＞タグ、＜Ｔｏ＞タグが存在する。＜Ａｃｔｉｏｎ＞タグはメッセージの種類を識別するためのものである。＜ＭｅｓｓａｇｅＩＤ＞タグはメッセージを一意に識別するための識別子である。＜Ｔｏ＞タグはこのメッセージの送信先を識別するためのものである。一方、ｂｏｄｙ部９０２はメッセージの内容に対応して構造が変化する。図９においては、＜Ｂｏｄｙ＞タグの直下に＜Ｈｅｌｌｏ＞タグが存在し、このメッセージがＨｅｌｌｏメッセージであることを示している。＜Ｈｅｌｌｏ＞タグの中には＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグ、＜Ｔｙｐｅｓ＞タグ、＜ＸＡｄｄｒｓ＞タグ、＜ＭｅｔａｄａｔａＶｅｒｓｉｏｎ＞タグが存在する。＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグの中には＜Ａｄｄｒｅｓｓ＞タグが存在し、デバイスを識別するアドレス情報を持つ。＜Ｔｙｐｅｓ＞タグはデバイスのタイプ情報を持つ。＜ＸＡｄｄｒｓ＞タグはデバイス情報を取得するためのＵＲＬを持つ。＜ＭｅｔａｄａｔａＶｅｒｓｉｏｎ＞タグはデバイス情報のバージョンを持つ。
【００４２】
ＤＰ１０２はＨｅｌｌｏメッセージの中からデバイスをグローバルに識別するＵＵＩＤとして＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグの中の＜Ａｄｄｒｅｓｓ＞タグの値を抽出する。またデバイスタイプとして＜Ｔｙｐｅｓ＞タグの値を抽出する。またデバイス情報のバージョンとして＜ＭｅｔａｄａｔａＶｅｒｓｉｏｎ＞タグの値を抽出する。またデバイス情報を取得するためのＵＲＬとして＜ＸＡｄｄｒｓ＞タグの値を抽出する。そしてこれら抽出した情報をデバイス情報保持部６１４に格納する。また同時に、Ｈｅｌｌｏメッセージの送信元ＩＰアドレスもデバイス情報保持部６１４に格納する。
【００４３】
その後ＤＰ１０２は＜ＸＡｄｄｒｓ＞タグで記載されたＵＲＬに対し、図１０のようなＸＭＬ形式のＧｅｔメッセージをユニキャストで送信する。図１０のＧｅｔメッセージは、ｈｅａｄｅｒ部のみを持つメッセージとなっている。ｈｅａｄｅｒ部の＜Ａｃｔｉｏｎ＞タグにおいて、このメッセージがＧｅｔメッセージであることを示している。
【００４４】
画像形成装置１０４のデバイス情報送信部６３５はＧｅｔメッセージを受信すると図１１のようなＧｅｔＲｅｓｐｏｎｓｅメッセージを送信する。
【００４５】
図１１のＧｅｔＲｅｓｐｏｎｓｅメッセージにおいては、ｂｏｄｙ部に＜Ｍｅｔａｄａｔａ＞タグで示されるデバイス情報を持つ構造となっている。＜Ｍｅｔａｄａｔａ＞タグの中には＜ＭｅｔａｄａｔａＳｅｃｔｉｏｎ＞タグで示されるＭｅｔａｄａｔａＳｅｃｔｉｏｎ部１１０１、１１０２、１１０３が存在する。各ＭｅｔａｄａｔａＳｅｃｔｉｏｎ部は直下のタグにより、その中に持つ情報の種類が指定される。ＭｅｔａｄａｔａＳｅｃｔｉｏｎ部１１０１は＜ＴｈｉｓＤｅｖｉｃｅ＞タグを持っており、デバイスごとに異なる情報が格納される。＜ＦｒｉｅｎｄｌｙＮａｍｅ＞タグはこのデバイスにつけた名前、＜ＦｉｒｍｗａｒｅＶｅｒｓｉｏｎ＞タグはこのデバイスのファームウェアバージョン、＜ＳｅｒｉａｌＮｕｍｂｅｒ＞タグはこのデバイスのシリアル番号を示している。ＭｅｔａｄａｔａＳｅｃｔｉｏｎ部１１０２は＜ＴｈｉｓＭｏｄｅｌ＞タグを持っており、デバイスのモデルごとに異なる情報が格納される。＜Ｍａｎｕｆａｃｔｕｒｅｒ＞タグはデバイスの製造会社名、＜Ｍａｎｕｆａｃｔｕｒｅｒ＞タグはデバイス製造会社のＵＲＬ、＜ＰｒｅｓｅｎｔａｔｉｏｎＵＲＬ＞はデバイスの情報を示すＵＲＬ、＜ＭｏｄｅｌＮａｍｅ＞タグはデバイスのモデル名を示している。ＭｅｔａｄａｔａＳｅｃｔｉｏｎ部９０３は＜Ｒｅｌａｔｉｏｎｓｈｉｐ＞タグを持っており、デバイスが持つ内部サービスの情報が格納される。本実施例においては、内部サービスとは画像形成装置が提供するプリントサービスである。＜Ｒｅｌａｔｉｏｎｓｈｉｐ＞タグはさらにその直下に＜Ｈｏｓｔｅｄ＞タグを持ち、その中に＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグ、＜Ｔｙｐｅｓ＞タグ、＜ＳｅｒｖｉｃｅＩｄ＞タグが存在する。＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグの中には＜Ａｄｄｒｅｓｓ＞タグが存在し、サービスを利用するためのアドレス情報を持つ。＜Ｔｙｐｅｓ＞タグはサービスのタイプ情報を持つ。＜ＳｅｒｖｉｃｅＩｄ＞タグはデバイス内でサービスを識別するための識別子を持つ。
【００４６】
ＤＰ１０２は受信したデバイス情報からデバイス名として＜ＦｒｉｅｎｄｌｙＮａｍｅ＞タグの値、モデル名として＜ＭｏｄｅｌＮａｍｅ＞タグの値を抽出し、デバイス情報保持部６１４に格納する。
【００４７】
図１２は上述のデバイス情報登録の流れに関し、ＤＰ１０２がデバイス情報をデバイス情報保持部６１４に登録する際の処理を示すフローチャートである。図１２の各ステップは、ＤＰ１０２のＣＰＵ３００１がＲＯＭ３００２に格納されたプログラムを処理することによって実行される。
【００４８】
Ｓ１２０１において、ＤＰ１０２は、画像形成装置から送信されたＨｅｌｌｏメッセージを、ＮＩＣ５０８を介して受信する。次にＳ１２０２において、ＣＰＵ５０１は、受信したＨｅｌｌｏメッセージの中からＵＵＩＤを抽出する。そして、Ｓ１２０３において、ＣＰＵ５０１は、抽出されたＵＵＩＤと同じＵＵＩＤを持つレコードがデバイス情報保持部６１４に存在するかどうかを判定する。存在しなかった場合はＳ１２０４に進み、デバイス情報保持部６１４に保持される図８に示すデバイス情報にあらたにレコードを追加する。続いてＳ１２０５において、ＤＰ１０２は、Ｇｅｔメッセージを画像形成装置に対して送信することによりデバイス情報を取得する。Ｓ１２０６において、ＣＰＵ５０１は、デバイス情報保持部６１４に追加したレコードを更新する。一方Ｓ１２０３において、レコードが存在すると判定された場合にはＳ１２０７に進み、ＣＰＵ５０１は、受信したＨｅｌｌｏメッセージからバージョン情報を抽出する。次にＳ１２０８において、ＣＰＵ５０１は、ＵＵＩＤが一致したレコードにおけるバージョン情報が、Ｓ１２０７で抽出したバージョン情報と同じであるかどうかを判定する。バージョンが異なった場合はＳ１２０５に進みデバイス情報の更新を行う。同じであった場合には何もせずに処理を終了する。
【００４９】
次にＤＰ１０２に登録されたデバイス情報を画像形成装置１０４が削除する処理について説明する。
【００５０】
画像形成装置１０４は、自機がＳＨＵＴＤＯＷＮする場合など、動作を停止する場合にはＤＰ１０２に対して図１３のようなＢｙｅメッセージをユニキャストで送信する。
【００５１】
図１３のＢｙｅメッセージにおいては、ｂｏｄｙ部に＜Ｂｙｅ＞タグが存在し、このメッセージがＢｙｅメッセージであることを示している。＜Ｂｙｅ＞タグの中には＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグが存在する。＜ＥｎｄｐｏｉｎｔＲｅｆｅｒｅｎｃｅ＞タグの中には＜Ａｄｄｒｅｓｓ＞タグが存在し、デバイスを識別するアドレス情報を持つ。
【００５２】
ＤＰ１０２はＢｙｅメッセージの中からＵＵＩＤ情報を抽出し、対応するデバイス情報をデバイス情報保持部６１４から削除する。
【００５３】
次に、クライアントＰＣ１０３がＤＰ１０２を使用して画像形成装置を検索する処理について説明する。クライアントＰＣ１０３はＤＨＣＰクライアントとして動作し、ＤＨＣＰサーバ１０１から、クライアントＰＣ１０３自身のＩＰアドレスに加えて、ＤＰ１０２のＩＰアドレスを受信している。
【００５４】
クライアントＰＣ１０３は、ＤＰ１０２に対して図１４のようなＸＭＬ形式のＰｒｏｂｅメッセージをユニキャストで送信する。図１４のＰｒｏｂｅメッセージにおいては、ｂｏｄｙ部に＜Ｐｒｏｂｅ＞タグが存在し、このメッセージがＰｒｏｂｅメッセージであることを示している。＜Ｐｒｏｂｅ＞タグの中には＜Ｔｙｐｅｓ＞タグが存在する。＜Ｔｙｐｅｓ＞タグは検索したいデバイスのタイプを指定するものである。図１４の例では、デバイスのタイプがプリンタであるデバイスを検索するためのＰｒｏｂｅメッセージを示している。
【００５５】
ＤＰ１０２はＰｒｏｂｅメッセージを受信すると、＜Ｔｙｐｅｓ＞タグを抽出しデバイス情報保持部６１４の中から検索条件に合致するデバイスを探し、図１５のようなＰｒｏｂｅＭａｔｃｈメッセージをクライアントＰＣ１０３に送信する。図１５のＰｒｏｂｅＭａｔｃｈメッセージにおいては、ｂｏｄｙ部に＜ＰｒｏｂｅＭａｔｃｈｅｓ＞タグが存在し、このメッセージがＰｒｏｂｅＭａｔｃｈメッセージであることを示している。＜ＰｒｏｂｅＭａｔｃｈｅｓ＞タグの中には＜ＰｒｏｂｅＭａｔｃｈ＞タグで示されるＰｒｏｂｅＭａｔｃｈ部１５０１、１５０２が存在する。それぞれのＰｒｏｂｅＭａｔｃｈ部が１個の検索結果に対応しており、図１５の例においては２個のデバイスが条件に合致したことを示す検索結果を示している。ＰｒｏｂｅＭａｔｃｈ部の中の構造は図９のＨｅｌｌｏメッセージにおける＜Ｈｅｌｌｏ＞タグの中と同一である。
【００５６】
クライアントＰＣ１０３はＰｒｏｂｅＭａｔｃｈメッセージの中から＜ＸＡｄｄｒｓ＞タグで記載されたＵＲＬを抽出し、図１０のようなＧｅｔメッセージをユニキャストで送信する。本実施例においてＵＲＬは画像形成装置１０４のＩＰアドレスからなっており、ＧｅｔメッセージはＤＰ１０２ではなく画像形成装置１０４に直接送信する。画像形成装置１０４は図１１のようなＧｅｔＲｅｓｐｏｎｓｅメッセージを送信し、これを受信したクライアントＰＣ１０３は必要な情報を抽出する。
【００５７】
ＰｒｏｂｅＭａｔｃｈメッセージに複数の検索結果が存在している場合にはクライアントＰＣ１０３はＧｅｔメッセージの送信を繰り返し、すべてのデバイス情報を取得する。
【００５８】
図１６は上述の検索の流れに関し、ＤＰ１０２がデバイス情報を検索する際の処理を示すフローチャートである。図１６の各ステップは、ＤＰ１０２のＣＰＵ５０１がＲＯＭ５０２に格納されたプログラムを処理することによって実行される。
【００５９】
まずＤＰ１０２はＳ１６０１において、クライアントＰＣ１０３から送信されたＰｒｏｂｅメッセージをＮＩＣ５０８を介して受信する。次にＳ１６０２において、ＣＰＵ５０１は、受信したＰｒｏｂｅメッセージ中のＴｙｐｅｓタグの値を抽出する。Ｓ１６０３において、ＣＰＵ５０１は、Ｔｙｐｅｓタグの値が空かどうかを判定する。空ではなかった場合はＳ１６０４において、ＣＰＵ５０１は、デバイス情報保持部６１４に保持されているデバイス情報のレコードを検索し、抽出された値と同じデバイスタイプを持つレコードが存在するかどうかを判定する。デバイスタイプが同じレコードが存在した場合には、Ｓ１６０５において、ＣＰＵ５０１はそのレコードに対応した応答データを作成する。Ｓ１６０６において、ＣＰＵ５０１はすべてのレコードについて確認が終了したかどうかを判定する。すべてのレコードの検索が終了するとＳ１６０７に進み、ＣＰＵ５０１は、それまでに生成された応答データを１個にまとめ、図１５のようなＰｒｏｂｅＭａｔｃｈメッセージをクライアントＰＣ１０３に送信して処理を終了する。また、Ｓ１６０３において、Ｔｙｐｅｓの値が空であると判定された場合にはＳ１６０８に進み、すべてのレコードについての応答データを作成する。そして、Ｓ１６０７においてＰｒｏｂｅＭａｔｃｈメッセージをクライアントＰＣ１０３に送信して処理を終了する。尚、図１６の例では、Ｐｒｏｂｅに含まれる検索条件が、デバイスタイプであった場合を例に説明したが、デバイス名やモデル名など、その他の情報であってもよい。
【００６０】
図１７はクライアントＰＣ１０３が画像形成装置を検索する際のＵＩの例を示す図である。図１７の画面は、クライアントＰＣのＣＲＴ５１０上に表示される画面である。図１７において、領域１７０１は検索するデバイスのタイプを指定するための領域であり、「ＭＦＰ」「Ｐｒｉｎｔｅｒ」などのキーワードが指定可能である。領域１７０１に何も入力しない場合はすべての画像形成装置が検索される。ボタン１７０２を押下すると上述したようにＤＰ１０２に対して検索が実行される。検索された結果は領域１７０３に表示され、取得した情報から、デバイスのタイプやモデル名、デバイス名が同時に表示される。
【００６１】
図１８は画像形成装置１０４がＢｙｅメッセージをＤＰ１０２に対して送信する際に、ＤＨＣＰサーバから配布されたＩＰアドレスの開放依頼を示す＜ＤｈｃｐＲｅｌｅａｓｅ＞タグ１８０１を含めた場合のＢｙｅメッセージを示す。＜ＤｈｃｐＲｅｌｅａｓｅ＞タグ１８０１に含まれる＜ＳｅｒｖｅｒＩＤ＞タグは、ＤＨＣＰサーバを識別するためのサーバＩＤを示しており、ＤＨＣＰＲＥＬＥＡＳＥメッセージに利用される。＜ＤｈｃｐＲｅｌｅａｓｅ＞タグ１８０１に含まれる＜ＣｌｉｅｎｔＩＤ＞タグは、ＤＨＣＰにおいてクライアントを示すクライアントＩＤを示しており、ＤＨＣＰＲＥＬＥＡＳＥメッセージに利用される。その他のタグは、図１３のＢｙｅメッセージと同じ意味を持つ。
【００６２】
ＤＰ１０２はＢｙｅメッセージの中に、＜ＤｈｃｐＲｅｌｅａｓｅ＞タグを見つけた場合、デバイス情報をデバイス情報保持部６１４から削除する。それ共に、＜ＤｈｃｐＲｅｌｅａｓｅ＞タグより収集したサーバＩＤ、クライアントＩＤからＤＨＣＰＲＥＬＥＡＳＥメッセージ作成し、ＤＨＣＰサーバ１０１へ送信する。このメッセージを受けたＤＨＣＰサーバ１０１は、ＤＨＣＰＲＥＬＥＡＳＥメッセージに含まれるクライアントＩＤを元に、配布情報管理ＤＢ６０４から情報を削除する。
【００６３】
図１９は、ＤＰ１０２において、Ｂｙｅメッセージを受信した場合の処理を示すフローチャートである。特に、図１９のフローチャートは、ＤＰ１０２のＣＰＵ５０１が、デバイス情報通知受信部６１１の機能を実行する際に処理されるフローである。
【００６４】
ステップＳ１９０１において、ＣＰＵ５０１は、Ｂｙｅメッセージの受信待ちの状態である。ステップＳ１９０２において、ＣＰＵ５０１は、画像形成装置１０４から送信されたＢｙｅメッセージを受信する。
【００６５】
ステップＳ１９０３において、ＣＰＵ５０１は、Ｂｙｅメッセージを送信した画像形成装置１０４のデバイス情報が、デバイス情報保持部６１４によって保持されているか否かを判断する。具体的には、ＣＰＵ５０１は、受信したＢｙｅメッセージのＡｄｄｒｅｓｓタグの記述を参照し、デバイスを識別するためのＵＵＩＤ情報を抽出する。そして、抽出したＵＵＩＤ情報を含んだデバイス情報が、デバイス情報保持部６１４によって保持されているか否かを判断する。登録されていると判断された場合にはステップＳ１９０４へと進む。
【００６６】
ステップＳ１９０４において、ＣＰＵ５０１は、受信したＢｙｅメッセージに＜ＤｈｃｐＲｅｌｅａｓｅ＞タグが含まれているか否かを判断する。即ち、受信したＢｙｅメッセージが、図１３に示す形式のＢｙｅメッセージであるのか、図１８に示す形式のＢｙｅメッセージであるのかを判断する。＜ＤｈｃｐＲｅｌｅａｓｅ＞タグが含まれていると判断された場合、ステップＳ１９０５へと進み、含まれていないと判断された場合には、ステップＳ１９０８へと進む。
【００６７】
ステップＳ１９０５において、ＣＰＵ５０１は、＜ＤｈｃｐＲｅｌｅａｓｅ＞タグに＜ＳｅｒｖｅｒＩＤ＞タグと＜ＣｌｉｅｎｔＩＤ＞タグが含まれているか否かを判断する。これらのタグが含まれていると判断された場合には、ステップＳ１９０６へと進み、含まれていないと判断された場合には、ステップＳ１９０８へと進む。
【００６８】
ステップＳ１９０６において、ＣＰＵ５０１は、ＤＨＣＰサーバに対してＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送信する。具体的には、受信したＢｙｅメッセージの＜ＳｅｒｖｅｒＩＤ＞タグに記述されたサーバＩＤによって特定されるＤＨＣＰサーバに対して、ＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送信する。このとき送信されるＤＨＣＰ  ＲＥＬＥＡＳＥメッセージには、受信したＢｙｅメッセージの＜ＣｌｉｅｎｔＩＤ＞タグに記述されたクライアントＩＤが含まれている。これによって、このＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを受信したＤＨＣＰサーバは、クライアントＩＤに対応するＤＨＣＰクライアント（ここでは画像形成装置１０４）へのＩＰアドレスの割り当てを解除する。
【００６９】
ステップＳ１９０８において、ＣＰＵ１０５は、デバイス情報保持部６１４によって保持された、Ｂｙｅメッセージを送信した画像形成装置１０４に対応するデバイス情報を削除する。具体的には、ＣＰＵ５０１は、ステップＳ１７０３において特定されたデバイス情報を削除する。その後は、再びステップＳ１７０１へと戻る。
【００７０】
以上説明したように、本実施例によれば、ＤＰが画像形成装置からＢｙｅメッセージを受信した場合に、自身のデバイス情報を更新すると共に、ＤＨＣＰサーバに対して開放通知行う。従って、画像形成装置は、例えばシャットダウンされた場合に、ＤＰに対してＢｙｅメッセージを送信するだけで、ＤＨＣＰサーバにおけるＩＰアドレスの割り当てを解除させることができる。つまり、画像形成装置が、ＤＨＣＰサーバに対してＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送信することを省略した場合であっても、ＤＨＣＰサーバにおけるＩＰアドレスの割り当てが解除される。よって、ＤＨＣＰサーバのＩＰアドレスの管理を、より効率的に行うことができるようになる。
【００７１】
（他の実施例）
上記実施例１では、ＤＰが画像形成装置からＢｙｅメッセージを受信した場合に、ＤＰは、ＤＨＣＰサーバに対してＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送信していた。この場合、ＤＰが、ＤＨＣＰサーバに対してＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送信するために、画像形成装置がＤＰに対してＢｙｅメッセージを送信することが条件となる。しかし、画像形成装置において、通常のシャットダウン処理が行われずに電源がＯＦＦされた場合等、画像形成装置がＢｙｅメッセージを送信することができない状況が考えられる。
【００７２】
そこで、ＤＰは、画像形成装置からＢｙｅメッセージを受信した場合のみＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送信するのではなく、画像形成装置が存在しないことを検知してＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送信するようにしてもよい。具体的には、ＤＰは、デバイス情報保持部６１４によって保持されているデバイス情報に対応するそれぞれの画像形成装置に対して、定期的に状態を問い合わせる。画像形成装置が存在する場合には、何らかの応答が返ってくる。一方、画像形成装置が存在しない場合（ネットワークに接続されていない場合、電源がＯＦＦの場合等）は、問い合わせに対する応答がない。従って、ＤＰは、問い合わせに対する応答が画像形成装置から返ってこない場合には、その画像形成装置が存在しないと判断し、デバイス情報を削除すると共に、ＤＨＣＰサーバに対してＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送信する。尚、問い合わせに対して一度応答がないだけであれば、何らかの通信エラーが発生した可能性もあるため、問い合わせに対する応答がないことが所定回数又は所定時間続いた場合に、画像形成装置が存在しないと判断してもよい。また、この場合には、問い合わせに対して応答をしなかった画像形成装置がＤＨＣＰサーバによってＩＰアドレスを割り当てられている画像形成装置であるのか否かを知る必要がある。従って、予めＤＰのデバイス情報保持部６１４は、画像形成装置毎に、その画像形成装置がＤＨＣＰサーバによってＩＰアドレスが割り当てられた画像形成装置であるのか否かを識別できる情報を保持するようにする。そして、問い合わせに対する応答が返って来なかった場合に、ＤＰは、その画像形成装置がＤＨＣＰサーバによってＩＰアドレスが割り当てられているのかを判断し、ＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送るか否かを決定する。
【００７３】
これにより、画像形成装置がＢｙｅメッセージを送ることなくシャットダウン（又は電源ＯＦＦ、ネットワークから切断）された場合でも、ＤＰは、ＤＨＣＰサーバに対してＤＨＣＰ  ＲＥＬＥＡＳＥメッセージを送信することができる。
【００７４】
尚、上記実施例では、画像形成装置と、ＤＰとして動作する情報処理装置とをそれぞれ別の装置として説明したが、これらが１つの装置として提供されても良い。即ち、例えば図１の例において、ＤＰ１０２の機能を画像形成装置１０４が備えていてもよい。同様に、クライアントＰＣが上記実施例におけるＤＰの機能を備えていてもよい。又は、上記実施例における画像形成装置とクライアントＰＣが１つの装置によって提供されてもよい。
【００７５】
また、本発明は、前述した実施例のフローチャートを実現するソフトウェアのコンピュータプログラムコードを記録した記憶媒体を、システムあるいは装置に供給してもよい。そして、そのシステムあるいは装置のコンピュータ（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成され得る。
【００７６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【図面の簡単な説明】
【００７８】
【図１】本実施例におけるデバイス検索システムの構成図
【図２】ＤＨＣＰを用いた情報取得フロー図
【図３】ＤＨＣＰメッセージのフォーマット図
【図４】本実施例における画像形成装置のハードウェア構成図
【図５】本実施例におけるＤＨＣＰサーバ、ＤＰ、クライアントＰＣのハードウェア構成図
【図６】本実施例におけるＤＨＣＰサーバ、ＤＰ、クライアントＰＣ、画像形成装置のソフトウェア構成図
【図７】本実施例においてＤＨＣＰサーバ１０１の配布情報ＤＢ６０３が保持する情報の例
【図８】本実施例におけるＤＰのデバイス情報保持部が保持するデバイス情報の例
【図９】本実施例におけるＨｅｌｌｏメッセージの例
【図１０】本実施例におけるＧｅｔメッセージの例
【図１１】本実施例におけるＧｅｔＲｅｓｐｏｎｓｅメッセージの例
【図１２】本実施例におけるＤＰの動作を示すフローチャート
【図１３】本実施例におけるＢｙｅメッセージ例
【図１４】本実施例におけるＰｒｏｂｅメッセージ例
【図１５】本実施例におけるＰｒｏｂｅＭａｔｃｈメッセージ例
【図１６】本実施例におけるＤＰの動作を示すフローチャート
【図１７】本実施例においてクライアントＰＣが画像形成装置を検索する際のＵＩの例
【図１８】本実施例におけるＢｙｅメッセージ例
【図１９】本実施例におけるＤＰの動作を示すフローチャート
【符号の説明】
【００７９】
１０１  ＤＨＣＰサーバ
１０２  ＤｉｓｃｏｖｅｒｙＰｒｏｘｙ（ＤＰ）
１０３  クライアントＰＣ
１０４  画像形成装置
１０５  画像形成装置
１０６  ルータ
１０７  ルータ
１０８  ＤｉｓｃｏｖｅｒｙＰｒｏｘｙ（ＤＰ）
【図１】
0005459983.tif 000002
【図２】
0005459983.tif 000003
【図３】
0005459983.tif 000004
【図４】
0005459983.tif 000005
【図５】
0005459983.tif 000006
【図６】
0005459983.tif 000007
【図７】
0005459983.tif 000008
【図８】
0005459983.tif 000009
【図９】
0005459983.tif 000010
【図１０】
0005459983.tif 000011
【図１１】
0005459983.tif 000012
【図１２】
0005459983.tif 000013
【図１３】
0005459983.tif 000014
【図１４】
0005459983.tif 000015
【図１５】
0005459983.tif 000016
【図１６】
0005459983.tif 000017
【図１７】
0005459983.tif 000018
【図１８】
0005459983.tif 000019
【図１９】
0005459983.tif 000020