(57)【要約】【課題】  ユーザに指定された設定値を記憶するための記憶領域に記憶されている設定値が所定値でないことを理由に、所定のプロトコルを用いて取得された設定値がネットワーク通信に反映されないという制約がある場合でも、所定のプロトコルを用いて取得された設定値が結果的にネットワーク通信に反映されるようにする。【解決手段】  所定のプロトコルを用いた設定値の取得を使用する場合には、所定のプロトコルを用いてサーバから取得した設定値を、ユーザによって指定された設定値を記憶するための記憶領域に記憶させる。【選択図】  図１４
2006033710.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
ユーザによって指定された設定値を記憶する第１の記憶手段と、
所定のプロトコルを用いて外部装置から取得した設定値を記憶する第２の記憶手段と、
前記所定のプロトコルを用いて前記外部装置から設定値を取得し、当該設定値を前記第２の記憶手段に記憶させる第１の設定手段と、
前記第１の設定手段による設定値の取得を使用しない場合、前記第１の記憶手段に記憶されている設定値に従ってネットワーク通信を行い、前記第１の設定手段による設定値の取得を使用する場合、前記第２の記憶手段に記憶されている設定値に従ってネットワーク通信を行うネットワーク通信手段と、
前記第１の設定手段による設定値の取得を使用する場合、前記外部装置からの設定値を前記第１の記憶手段に記憶させる第２の設定手段とを有することを特徴とする情報処理装置。
【請求項２】
前記第１の設定手段は、前記所定のプロトコルを用いて、設定値を求める要求を前記外部装置に送信し、
前記第２の設定手段は、前記第１の設定手段が前記要求に対応する応答を受け取る前に当該応答を捕捉し、捕捉した応答に含まれている設定値を前記第１の記憶手段に記憶させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
設定値をユーザに指定させる指定手段と、
前記第１の設定手段による設定値の取得を使用するか否かをユーザに選択させる選択手段とを有することを特徴とする請求項１或いは２に記載の情報処理装置。
【請求項４】
前記第１の記憶手段に記憶されている設定値が所定値でない場合、前記第２の記憶手段に記憶されている設定値は、前記第１の記憶手段に記憶されている設定値になることを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
情報処理装置であって、
ユーザによって指定された設定値を記憶する記憶手段と、
所定のプロトコルを用いて外部装置から設定値を取得する取得手段と、
前記取得手段による設定値の取得を使用しない場合、前記第１の記憶手段に記憶されている設定値に従ってネットワーク通信を行い、前記第１の設定手段による設定値の取得を使用する場合、前記取得手段によって取得された設定値に従ってネットワーク通信を行うネットワーク通信手段と、
前記取得手段による設定値の取得を使用する場合、前記外部装置からの設定値を前記記憶手段に記憶させる設定手段とを有することを特徴とする情報処理装置。
【請求項６】
第１の記憶領域に記憶されている、ユーザによって指定された設定値に従ってネットワーク通信を行う、または第２の記憶領域に記憶されている、所定のプロトコルを用いてサーバから取得した設定値に従ってネットワーク通信を行う情報処理装置における情報処理方法であって、
前記所定のプロトコルを用いてサーバから設定値を取得して当該設定値を前記第２の記憶領域に登録するクライアントによって発行された要求を前記サーバに送信する送信ステップと、
前記要求に対する応答を前記サーバから受信する受信ステップと、
前記所定のプロトコルを使用する場合、前記応答を前記クライアントが受け取る前に、当該応答に含まれている設定値を取得する取得ステップと、
前記取ステップで受信された設定値を前記第１の記憶領域に登録する登録ステップとを有することを特徴とする情報処理方法。
【請求項７】
クライアントはＯＳに同梱されているものであることを特徴とする請求項６に記載の情報処理方法。
【請求項８】
記憶領域に記憶されている、ユーザによって指定された設定値に従ってネットワーク通信を行う、または所定のプロトコルを用いてサーバから取得した設定値に従ってネットワーク通信を行う情報処理装置における情報処理方法であって、
前記所定のプロトコルを用いてサーバから設定値を取得するクライアントによって発行された要求を前記サーバに送信する送信ステップと、
前記要求に対する応答を前記サーバから受信する受信ステップと、
前記所定のプロトコルを使用する場合、前記応答を前記クライアントが受け取る前に、当該応答に含まれている設定値を取得する取得ステップと、
前記取ステップで受信された設定値を前記記憶領域に登録する登録ステップとを有することを特徴とする情報処理方法。
【請求項９】
所定のプロトコルを使用してサーバから設定値を取得するクライアントプログラムを有し、ユーザによって指定された設定値を記憶する第１の記憶領域と前記クライアントプログラムによって取得された設定値を記憶する第２の記憶領域とを有するコンピュータを制御するためのプログラムであって、
前記クライアントプログラムによって発行された要求に対する応答を、前記クライアントプログラムが受け取る前に、取得する取得ステップと、
前記応答に含まれている設定値を前記第１の記憶領域に記憶させる記憶ステップとを前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ネットワーク通信に用いられる設定値を所定のプロトコルを用いて取得する情報処理装置に関するものである。
【背景技術】
【０００２】
代表的なネットワークプロトコルとしてＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）がある。
【０００３】
ＴＣＰ／ＩＰは階層化されたネットワークプロトコル群で、ネットワーク層にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）やＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｓｉｏｎ  Ｐｒｏｔｏｃｏｌ）など、トランスポート層にＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）といった、標準化されたプロトコル群から成り立っている。
【０００４】
ＴＣＰ／ＩＰプロトコルでネットワーク通信を行う場合、ＩＰアドレスといわれるネットワーク上の論理アドレスを一意に決める必要がある。ＩＰアドレスは３２ビット（４バイト）で構成されており、一般的に８ビットずつに区切って「１５０．６１．１４６．１００」（０ｘ９６３ｄ９２６４）のように表記される。
【０００５】
情報処理装置は、ＩＰアドレスを自身に設定するため、例えばキーボードや操作パネルからの入力に従ってＩＰアドレスを自身に設定することが可能である（例えば、特許文献１）。
【０００６】
情報処理装置がキーボード等を持たない場合、またはユーザが複数の情報処理装置のＩＰアドレスを一括で管理したい場合には、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）やＢＯＯＴＰ、ＲＡＲＰといわれるプロトコルを用いて、情報処理装置がネットワーク上のサーバからＩＰアドレスを獲得し、自身に設定する方法がある（例えば、特許文献２）。
【０００７】
ＤＨＣＰとはＲＦＣ２１３１で定義されているプロトコルで、ＢＯＯＴＰプロトコルを拡張したプロトコルである。
【０００８】
ＤＨＣＰクライアントとなる情報処理装置は、電源投入後、ＤＨＣＰのＤｉｓｃｏｖｅｒパケットを送出し、ネットワークにＤＨＣＰサーバが存在する場合には、そのＤＨＣＰサーバがＤｉｓｃｏｖｅｒパケットに対する応答パケットを返送する。
【０００９】
情報処理装置は、応答パケットを返送してきたＤＨＣＰサーバに対し、ＩＰアドレスを要求するＲｅｑｕｅｓｔパケットを送出する。ＤＨＣＰサーバはその要求に対して、ＤＨＣＰサーバが管理しているＩＰアドレス群の中から、他の情報処理装置が使用していないＩＰアドレスを情報処理装置に使用期限付きで貸し出す。情報処理装置は、使用期限（リースタイム）付きのＩＰアドレスを使用して、ネットワーク通信を行うことになる。
【００１０】
情報処理装置は、使用期限が迫ってきた場合には、ＤＨＣＰサーバに対して、ＩＰアドレスの仕様延長を要求するＲｅｑｕｅｓｔパケットを送出する。ＤＨＣＰサーバは、問題がなければ、新たな期限付きでそのＩＰアドレスを貸し出す。
【００１１】
また、クライアントである情報処理装置は、電源投入後に、ＤＨＣＰサーバにＩＰアドレスの問い合わせを行い、上記の手続きを行ってＩＰアドレスを獲得することにより、ＩＰアドレスを用いたネットワーク通信を行うことができる。
【特許文献１】特開２００１−３０６４７４号公報
【特許文献２】特開２００１−２６８０９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
例えばＷｉｎｄｏｗｓ（登録商標）などのＯＳ（オペレーションシステム）では、ネットワークに係る動作設定情報はレジストリと呼ばれるシステムデータベースに記憶される。
【００１３】
図１５は動作設定情報を記憶するレジストリの一例を示す図である。列１５０１には構成情報キーの名前が登録されており、列１５０２には構成情報キーに対応する値（以下、キー値）が登録されている。ＥｎａｂｌｅＤｈｃｐレジストリのキー値が１に設定されると、ＯＳに同梱のＤＨＣＰクライアントサービスが有効になり、０に設定されると、ＤＨＣＰクライアントサービスが無効になる。
【００１４】
ＤＨＣＰクライアントサービスが無効になっている場合には、ユーザによって手動設定されたＩＰアドレス、サブネットマスク、ゲートウェイアドレスがＩＰＡｄｒｅｓｓレジストリ、ＳｕｂｎｅｔＭａｓｋレジストリ、ＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのそれぞれに対応するキー値として記憶される。
【００１５】
ＤＨＣＰクライアントサービスが有効になっている場合には、ＤＨＣＰクライアントサービスがＤＨＣＰサーバから自動取得したＩＰアドレス、サブネットマスク、ゲートウェイアドレスが、ＤｈｃｐＩＰＡｄｒｅｓｓレジストリ、ＤｈｃｐＳｕｂｎｅｔＭａｓｋレジストリ、ＤｈｃｐＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのそれぞれに対応するキー値として保存される。
【００１６】
情報処理装置は、ＤＨＣＰクライアントサービスが有効になっている場合には、ＤｈｃｐＩＰＡｄｒｅｓｓレジストリ、ＤｈｃｐＳｕｂｎｅｔＭａｓｋレジストリ、ＤｈｃｐＤｅｆａｕｌｔＧａｔｅｗａｙレジストリそれぞれのキー値に従ってネットワーク通信を行い、ＤＨＣＰクライアントサービスが無効になっている場合には、ＩＰＡｄｒｅｓｓレジストリ、ＳｕｂｎｅｔＭａｓｋレジストリ、ＤｅｆａｕｌｔＧａｔｅｗａｙレジストリそれぞれのキー値に従ってネットワーク通信を行う。
【００１７】
ここで、ＯＳが同梱するＤＨＣＰクライアントサービスには、ＤＨＣＰクライアントサービスを有効にするには、ＩＰＡｄｒｅｓｓレジストリ、ＳｕｂｎｅｔＭａｓｋレジスト、ＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのキー値が「０．０．０．０」でなければならないという制約を持つものがある。
【００１８】
つまり、ＩＰＡｄｒｅｓｓレジストリ、ＳｕｂｎｅｔＭａｓｋレジスト、ＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのキー値が「０．０．０．０」以外の場合には、たとえＤＨＣＰクライアントサービスが有効であっても、ＤＨＣＰサーバからのＤＨＣＰパラメータはＤｈｃｐＩＰＡｄｒｅｓｓレジストリ、ＤｈｃｐＳｕｂｎｅｔＭａｓｋレジストリ、ＤｈｃｐＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのそれぞれに反映されず、ＤｈｃｐＩＰＡｄｒｅｓｓレジストリ、ＤｈｃｐＳｕｂｎｅｔＭａｓｋレジストリ、ＤｈｃｐＤｅｆａｕｌｔＧａｔｅｗａｙレジストリそれぞれのキー値は、ＩＰＡｄｒｅｓｓレジストリ、ＳｕｂｎｅｔＭａｓｋレジスト、ＤｅｆａｕｌｔＧａｔｅｗａｙレジストリそれぞれのキー値で上書きされてしまう。
【００１９】
このため、ユーザが一旦、ＤＨＣＰクライアントサービスを無効にして、手動設定でＩＰアドレス、サブネットマスク、ゲートウェイアドレスを設定してしまうと、その後に、ＤＨＣＰクライアントサービスが有効にされただけでは、ＤＨＣＰサーバからのＤＨＣＰパラメータは無視されてしまう。
【００２０】
ＤＨＣＰサーバからのＤＨＣＰパラメータが無視されないようにするためには、ユーザ自らが、手動設定でＩＰアドレス、サブネットマスク、ゲートウェイアドレスのそれぞれを「０．０．０．０」に設定しなければならない。
【００２１】
或いは、ＯＳが提供するＤＨＣＰクライアントサービス以外に、上記のようなＤＨＣＰクライアントサービスを新たに作成しなければならない。
【００２２】
そこで、本発明は、ＯＳが提供するＤＨＣＰクライアントサービスに上記のような制約がある場合でも、上記のような制約をもつＤＨＣＰクライアントサービスを利用しつつ、ＤＨＣＰサーバからのＤＨＣＰパラメータに基づく設定が行われるようにする。
【課題を解決するための手段】
【００２３】
上記課題を解決するために、本発明に係る情報処理装置は、ユーザによって指定された設定値を記憶する第１の記憶手段と、所定のプロトコルを用いて外部装置から取得した設定値を記憶する第２の記憶手段と、前記所定のプロトコルを用いて前記外部装置から設定値を取得し、当該設定値を前記第２の記憶手段に記憶させる第１の設定手段と、前記第１の設定手段による設定値の取得を使用しない場合、前記第１の記憶手段に記憶されている設定値に従ってネットワーク通信を行い、前記第１の設定手段による設定値の取得を使用する場合、前記第２の記憶手段に記憶されている設定値に従ってネットワーク通信を行うネットワーク通信手段と、前記第１の設定手段による設定値の取得を使用する場合、前記外部装置からの設定値を前記第１の記憶手段に記憶させる第２の設定手段とを有することを特徴とする。
【００２４】
または、本発明に係る情報処理装置は、ユーザによって指定された設定値を記憶する記憶手段と、所定のプロトコルを用いて外部装置から設定値を取得する取得手段と、前記取得手段による設定値の取得を使用しない場合、前記第１の記憶手段に記憶されている設定値に従ってネットワーク通信を行い、前記第１の設定手段による設定値の取得を使用する場合、前記取得手段によって取得された設定値に従ってネットワーク通信を行うネットワーク通信手段と、前記取得手段による設定値の取得を使用する場合、前記外部装置からの設定値を前記記憶手段に記憶させる設定手段とを有することを特徴とする。
【００２５】
または、本発明に係る情報処理方法は、第１の記憶領域に記憶されている、ユーザによって指定された設定値に従ってネットワーク通信を行う、または第２の記憶領域に記憶されている、所定のプロトコルを用いてサーバから取得した設定値に従ってネットワーク通信を行う情報処理装置における情報処理方法であって、前記所定のプロトコルを用いてサーバから設定値を取得して当該設定値を前記第２の記憶領域に登録するクライアントによって発行された要求を前記サーバに送信する送信ステップと、前記要求に対する応答を前記サーバから受信する受信ステップと、前記所定のプロトコルを使用する場合、前記応答を前記クライアントが受け取る前に、当該応答に含まれている設定値を取得する取得ステップと、前記取ステップで受信された設定値を前記第１の記憶領域に登録する登録ステップとを有することを特徴とする。
【００２６】
または、本発明に係る情報処理方法は、記憶領域に記憶されている、ユーザによって指定された設定値に従ってネットワーク通信を行う、または所定のプロトコルを用いてサーバから取得した設定値に従ってネットワーク通信を行う情報処理装置における情報処理方法であって、前記所定のプロトコルを用いてサーバから設定値を取得するクライアントによって発行された要求を前記サーバに送信する送信ステップと、前記要求に対する応答を前記サーバから受信する受信ステップと、前記所定のプロトコルを使用する場合、前記応答を前記クライアントが受け取る前に、当該応答に含まれている設定値を取得する取得ステップと、前記取ステップで受信された設定値を前記記憶領域に登録する登録ステップとを有することを特徴とする。
【００２７】
または、本発明に係るプログラムは、所定のプロトコルを使用してサーバから設定値を取得するクライアントプログラムを有し、ユーザによって指定された設定値を記憶する第１の記憶領域と前記クライアントプログラムによって取得された設定値を記憶する第２の記憶領域とを有するコンピュータを制御するためのプログラムであって、前記クライアントプログラムによって発行された要求に対する応答を、前記クライアントプログラムが受け取る前に、取得する取得ステップと、前記応答に含まれている設定値を前記第１の記憶領域に記憶させる記憶ステップとを前記コンピュータに実行させることを特徴とする。
【発明の効果】
【００２８】
本発明は、ユーザに指定された設定値を記憶するための記憶領域に記憶されている設定値が所定値でないことを理由に、所定のプロトコルを用いて取得された設定値がネットワーク通信に反映されないという制約がある場合でも、所定のプロトコルを用いた設定値の取得を使用する場合には、所定のプロトコルを用いてサーバから取得した設定値を前記記憶領域に記憶させることにより、所定のプロトコルを用いて取得された設定値が結果的にネットワーク通信に反映されるようにすることができる。
【発明を実施するための最良の形態】
【００２９】
（実施例１）
以下、添付の図面を参照して本発明の実施形態を詳細に説明する。図１は、ネットワークデバイスとＰＣ（パーソナルコンピュータ）とを含むネットワークシステムを示す図である。
【００３０】
１００は、ＬＡＮ（ローカルエリアネットワーク）である。ＬＡＮ１００などのＬＡＮ網は、一つの建物内の一つの階、または、連続した複数の階でのユーザグループといった、幾分ローカルなグループに対してサービスを提供する。例えば、ユーザが他の建物にいる場合などでは、ユーザ間の距離に応じて、ワイドエリアネットワーク（ＷＡＮ）を用いてもよい。ＷＡＮは基本的には、いくつかのＬＡＮを高速度サービス総合デジタルネットワーク（ＩＳＤＮ）電話などの高速度デジタルラインで接続して形成された集合体である。
【００３１】
１０１は、ネットワークデバイスである。ネットワークデバイス１０１は、ローカルエリアネットワーク（ＬＡＮ）１００に接続されている情報処理装置の一例である。ＬＡＮへの接続はＲＦ−４５を持つ１０Ｂａｓｅ−Ｔなどのインターフェースを介して接続されている。
【００３２】
１０２は、パーソナルコンピュータ（ＰＣ）である。ＰＣ１０２は、ＬＡＮ１００に接続されており、ＬＡＮ１００を介してネットワークデバイス１０１と通信することが可能である。ＰＣ１０２ではＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバプログラムが動作しており、ＬＡＮ１００に接続されている１又は複数のネットワークデバイスに割り当て可能なＩＰアドレスを管理している。
【００３３】
ネットワークデバイス１０１が、ＤＨＣＰ要求パケットをＬＡＮ１００上に送信すると、ＰＣ１０２は、このＤＨＣＰ要求パケットに応じてＤＨＣＰ応答パケットを送信する。ネットワークデバイス１０１は、このＤＨＣＰ応答パケットに含まれている情報に基づく設定を行う。
【００３４】
図２は、ネットワークデバイス１０１の内部構成を示すブロック図である。ここでは、ネットワークデバイスの一例として、ネットワークプリンタを説明する。なお、ネットワークデバイス１０１は、ネットワークプリンタのほか、パーソナルコンピュータ、ホストコンピュータ、ワークステーション、コピー機、複合機などであってもよい。
【００３５】
ＣＰＵ２０１は、ネットワークデバイス１０１に係るソフトウェアプログラムに従って、装置全体の制御を行う。ＲＯＭ２０２は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等を格納している。ＲＡＭ２０３は、ランダムアクセスメモリであり、ＣＰＵ１０１が装置を制御する上で一時的に使用するデータを格納する。
【００３６】
拡張Ｉ／Ｆ制御部１０４は、プリンタエンジン２１０との間のＩ／Ｆを制御するものである。なお、拡張Ｉ／Ｆ制御部２０４が制御可能であるデバイスであれば、プリンタエンジンのみならず、ファクシミリ、スキャナ、コピー機、複合機などにも接続が可能である。
【００３７】
ＮＶＲＡＭ２０５は、不揮発性のメモリであり、ネットワークデバイス１０１の各種設定値を保存する。図１５が示すレジストリはＮＶＲＡＭ２０５に確保される。なお、ネットワークデバイス１０１がパーソナルコンピュータやホストコンピュータである場合には、レジストリはハードディスクに確保される場合がある。ネットワークＩ／Ｆ制御部２０６は、ＬＡＮ１００とのデータの送受信を制御する。タイマ２０７は、時間または時刻を計時する。
【００３８】
バス２０８は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、拡張Ｉ／Ｆ制御部２０４、ＮＶＲＡＭ２０５、ネットワークＩ／Ｆ制御部２０６及びタイマ２０７を接続し、ＣＰＵ２０１からの制御信号や各部間のデータ信号を転送するためのシステムバスである。
【００３９】
操作パネル２０９は、各種情報を表示するとともに、ユーザからの操作指示を入力する。ネットワークデバイス１０１がパーソナルコンピュータやホストコンピュータである場合には、操作パネル２０９はディスプレイ及びキーボードに置き換わる。プリンタエンジン２１０は、拡張Ｉ／Ｆ制御部２０４から送られてきた印刷データに基いて印刷を行う。
【００４０】
図３はネットワークデバイス１０１のプログラム構成を示すブロック図である。図３の各モジュールは、ネットワークデバイス１０１の１又は複数のＣＰＵ（例えば、ＣＰＵ２０１）によって実行される。
【００４１】
３０１は、プリンタＩ／Ｆドライバモジュールであって、拡張Ｉ／Ｆ制御部２０４を制御して、プリンタエンジン２１０との間でデータの送受信を行うモジュールである。３０２は印刷プロトコルモジュールであって、ネットワーク上の汎用印刷プロトコルをサポートするモジュールである。
【００４２】
３０３は、オペレーティングシステム（ＯＳ）が提供するＤＨＣＰクライアントモジュールである。このＤＨＣＰクライアントモジュールは、ＯＳが提供するＤＨＣＰクライアントサービスに対応するモジュールである。３０４は、ネットワークプロトコル通信モジュールであって、ネットワークの通信制御を行うモジュールである。
【００４３】
３０５は、パケットキャプチャモジュールであって、ネットワークドライバモジュール３０６とネットワークプロトコル通信モジュール３０４との間でパケットをキャプチャするモジュールである。３０６は、ネットワークドライバモジュールであって、ネットワークＩ／Ｆ制御部２０６を制御し、実際にＬＡＮ１００上にパケットを送出したり或いはＬＡＮ１００からパケットを受信したりするルーチンである。
【００４４】
印刷プロトコルモジュール３０２は、プロトコルで決められた印刷通信手順に従って、ネットワークプロトコル通信モジュール３０４を用いて、ネットワークから印刷データを受信する。受信した印刷データは、プリンタＩ／Ｆドライバモジュール３０１を介してプリンタエンジン２１０に送出される。
【００４５】
パケットキャプチャモジュール３０５は、ネットワークドライバモジュール３０６で受信されたパケットをキャプチャして、そのキャプチャしたパケットを元に種々の処理を実行してから、パケットをネットワークプロトコル通信モジュール３０４に渡す。
【００４６】
図４は、ネットワークプロトコル通信モジュール３０４におけるプログラム構成を示すブロック図である。
【００４７】
４０１は、ソケットインターフェース管理モジュールであって、印刷プロトコルモジュール３０２やＤＨＣＰクライアントモジュール３０３にソケットといわれるインターフェースを提供している。ソケットと言うインターフェースを用いることによって、印刷プロトコルモジュール３０２やＤＨＣＰクライアントモジュール３０３は、ＴＣＰ／ＩＰプロトコルで外部と容易に通信することが可能となる。
【００４８】
４０２は、ＴＣＰ管理モジュールである。また、４０３は、ＵＤＰ管理モジュールである。ＴＣＰ管理モジュール４０２ではＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）プロトコルを処理し、ＵＤＰ管理モジュール４０３ではＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）プロトコルを処理する。ＴＣＰ管理モジュールやＵＤＰ管理モジュールはＩＰモジュール４０６を使って、外部と通信を行う。
【００４９】
４０４は、ＩＣＭＰ管理モジュールであって、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）プロトコルを処理する。４０６は、ＩＰモジュールであって、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルを処理する。４０７は、ＡＲＰモジュールであって、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）プロトコルを処理する。
【００５０】
図５は、ＤＨＣＰパケットのフレーム構成を示す図である。ＤＨＣＰパケットは、Ｅｔｈｅｒｎｅｔ（登録商標）ヘッダ５０１、ＩＰヘッダ５０２、ＵＤＰヘッダ５０３、ＢＯＯＴＰ／ＤＨＣＰメッセージ５０４とから構成され、さらに、フレームの終端にはＣＲＣ５０５が付加される。
【００５１】
図６は、Ｅｔｈｅｒｎｅｔ（登録商標）ヘッダ５０１の構成を示す図である。図６では、パケットをＥｔｈｅｒｎｅｔ（登録商標）ＩＩフォーマットで送受信している。６０１が宛先アドレス、６０２が発信元アドレス、６０３がフレームタイプを示している。
【００５２】
宛先アドレス６０１、発信元アドレス６０２には機器固有のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスが格納される。ここで言うＭＡＣアドレスとは、機器固有の物理アドレスである。Ｅｔｈｅｒｎｅｔ（登録商標）の場合、６バイト長で先頭の３バイトはベンダーコードとしてＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｒｒｓ、米国電気電子学会）が管理／割り当てを行っている。残りの３バイトは各ベンダが独自に（重複しないように）管理しているコードである。その結果、世界中で同じ物理アドレスを持つネットワーク機器は存在せず、全て異なるアドレスが割り当てられることになる。
【００５３】
フレームタイプ６０３は、ＩＰの場合には０ｘ０８００、ＡＲＰの場合には０ｘ０８０６と決められている。
【００５４】
図７はＩＰヘッダ５０２の構成を示す図である。７０１はＩＰのバージョン、７０２はＩＰヘッダのレングス、７０３はサービスタイプ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ：ＴＯＳ）、７０４は全データ長、７０５は識別子、７０６はフラグフィールド、７０７は生存時間フィールド、７０８はプロトコル識別、７０９はＩＰヘッダのチェックサム、７１０は発信元のＩＰアドレス、７１１は宛先のＩＰアドレスを示している。
【００５５】
図８はＵＤＰヘッダ５０３の構成を示す図である。８０１は発信元のポート番号、８０２は宛先ポート番号、８０３はＵＤＰデータ長であり、８０４はＵＤＰチェックサムを示している。
【００５６】
図９は、ＤＨＣＰ（ＢＯＯＴＰ）メッセージ５０４の構成を示す図である。９０１はオプコード、９０２はハードウェアタイプ、９０３はハードウェアアドレス長、９０４はホップカウント、９０５は秒数、９０６はクライアントＩＰアドレス、９０７はユーザＩＰアドレス、９０８はサーバＩＰアドレス、９０９はゲートウェイＩＰアドレス、９１０はクライアントハードウェアアドレス、９１１はサーバホスト名、９１２は起動ファイル名、９１３はベンダ仕様情報、９１４はトランザクションＩＤを示している。
【００５７】
オプコード９０１は、要求であるか応答であるかを識別する識別子である。ハードウエアタイプ９０２は、ここでは１が使われている。ハードウェアアドレス長９０３はハードウエアレングス長であって、ここでは６になっている。ホップカウント９０４、トランザクションＩＤ９１４、秒数９０５、クライアントＩＰアドレス９０６、ユーザＩＰアドレス９０７は、ＤＨＣＰサーバによって与えられる。
【００５８】
図１０はベンダー仕様情報９１３の詳細を示す図である。このベンダー仕様情報には、様々な情報を格納することができる。
【００５９】
ＤＨＣＰの場合には、まず最初の４バイトに、Ｍａｇｉｃ  Ｃｏｏｋｉｅ（１００１）とよばれる４バイトのデータ（９９．１３０．８３．９９）が格納される。それ以降のデータにはそれぞれコード（Ｃｏｄｅ）、レングス（Ｌｅｎ）、タイプ（Ｔｙｐｅ）の順で、次々と格納されていく。
【００６０】
ＤＨＣＰ  Ｍｅｓｓａｇｅ  Ｔｙｐｅ（１００２）はＤＨＣＰパケットの要求や応答を示すもので、そのコードは５３ｂｙｔｅ、レングスとして１ｂｙｔｅ、タイプには以下のいずれかが格納される。
（１）ＤＨＣＰ  ＤＩＳＣＯＶＥＲ
（２）ＤＨＣＰ  ＯＦＦＥＲ
（３）ＤＨＣＰ  ＲＥＱＵＥＳＴ
（４）ＤＥＣＰ  ＤＥＣＬＩＮＥ
（５）ＤＨＣＰ  ＡＣＫ
（６）ＤＨＣＰ  ＮＡＣＫ
（７）ＤＨＣＰ  ＲＥＬＥＡＳＥ
Ｃｌｉｅｎｔ  ＩＤ（１００３）はＤＨＣＰクライアントを識別するためのＩＤを示し、コードを６１ｂｙｔｅ、レングスを２ｂｙｔｅ、タイプを０００１としている。Ｓｅｒｖｅｒ  ＩＤ（１００４）はＤＨＣＰサーバが一意に決めるＤＨＣＰサーバのＩＤを示し、そのコードは５４ｂｙｔｅ、レングスを４ｂｙｔｅ、タイプには４バイト分のＩＤが格納されている。
【００６１】
Ｒｅｑｕｅｓｔ  Ｌｉｓｔ（１００５）はＤＨＣＰクライアントサービスが必要とする情報のリストを示し、そのコードは５５ｂｙｔｅ、レングスは３ｂｙｔｅ、タイプには必要とする情報のコードが格納される。ここでは、ＤＨＣＰクライアントサービスが必要とするデータはＳｕｂｎｅｔＭａｓｋ（１００６），Ｇａｔｅｗａｙ（１００７），Ｖｅｎｄｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（１００８）である。
【００６２】
ＳｕｂｎｅｔＭａｓｋ（１００６）は、ネットワークデバイス１０１の設定パラメータの一つであるサブネットマスク値を示し、そのコードは１ｂｙｔｅ、レングスは４ｂｙｔｅ、タイプにはサブネットマスク値が格納される。
【００６３】
Ｇａｔｅｗａｙ（１００７）はネットワークデバイス１０１の設定パラメータの一つであるゲートウエイアドレスを示し、そのコードは３ｂｙｔｅ、レングスは４ｂｙｔｅ、タイプにはゲートウエイアドレスが格納される。
【００６４】
Ｖｅｎｄｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（１００８）はベンダ固有情報を示し、そのコードは４３ｂｙｔｅ、レングスは１ｂｙｔｅ、タイプには設定値が格納される。ネットワークデバイス１０１は、この設定値に従って、電源が投入される毎にＤＨＣＰプロトコルを用いてＩＰアドレスを解決するかどうかを判断することになる。
【００６５】
ＬｅａｓｅＴｉｍｅはＩＰアドレスの使用期限を示し、そのコードは５１ｂｙｔｅ、レングスは４ｂｙｔｅ、タイプにはその使用期限が格納される。
【００６６】
以下、ＤＨＣＰパケットの処理の流れを説明する。図１１は、ＤＣＨＰパケットの送信処理を示すフローチャート図である。この処理は、図３及び図４のモジュールによって実行される。
【００６７】
ＤＨＣＰクライアントモジュール３０３によって作成されたＤＨＣＰメッセージは、ネットワークプロトコル通信モジュール３０４のソケットインターフェース管理モジュール４０１を介して、ＵＤＰ管理モジュール４０３に送られる（ステップＳ１１０１）。なお、ＤＨＣＰクライアントモジュール３０３は、ＥｎａｂｌｅＤｈｃｐレジストリのキー値が１に設定されているときに、ＤＨＣＰメッセージを送る。ここで、ＤＨＣＰパラメータをＤＨＣＰサーバから取得する場合には、ＤＨＣＰ  Ｍｅｓｓａｇｅ  Ｔｙｐｅ（１００２）に「ＤＨＣＰ  ＲＥＱＵＥＳＴ」が指定されたＤＨＣＰメッセージを送る。
【００６８】
ＵＤＰ管理モジュール４０３は、発信元ポート番号８０１にＤＨＣＰクライアントに対応するポート番号「６８」を、宛先ポート番号８０２に、ＤＨＣＰサーバに対応するポート番号「６７」を格納したＵＤＰヘッダを構築する（ステップＳ１１０２）。さらに、ＵＤＰ管理モジュール４０３は、ＵＤＰレングス長８０３に値をセットして、チェックサムを計算した後、ＵＤＰチェックサム８０４に計算後のデータを格納する。
【００６９】
最後に、ＵＤＰ管理モジュール４０３は、作成したＵＤＰヘッダとＤＨＣＰメッセージとから構成されるパケットをＩＰモジュール４０６に送る（ステップＳ１１０３）。
【００７０】
ＩＰモジュール４０６では、図７が示すＩＰヘッダのパラメータをそれぞれセットして、ＩＰヘッダを構築する（ステップＳ１１０４）。ＤＨＣＰプロトコルにおいては、ＤＨＣＰクライアント側がパケットを送信する場合には、発信元ＩＰアドレス７１０に「０．０．０．０」をセットし、宛先ＩＰアドレス７１１に「２５５．２５５．２５５．２５５」をセットする。
【００７１】
最後に、ＩＰモジュール４０６は、作成したＩＰヘッダ、ＵＤＰヘッダ及びＤＨＣＰメッセージとから構成されるパケットをネットワークドライバモジュール３０６に送る（ステップＳ１１０５）。
【００７２】
ネットワークドライバモジュール３０６は、図６が示すＥｔｈｅｒｎｅｔ（登録商標）ヘッダのパラメータをそれぞれセットして、Ｅｔｈｅｒｎｅｔ（登録商標）ヘッダを構築する（ステップＳ１１０６）。プロトコルタイプにはＩＰであることを示す「０ｘ０８００」をセットする。ＩＰモジュール４０６からの送信要求だからである。また、発信元アドレス６０２にネットワークデバイス１０１のＭＡＣアドレスをセットし、宛先アドレス６０１に「０ｘｆｆｆｆｆｆｆｆｆｆｆｆ」をセットする。
【００７３】
最後に、ネットワークドライバモジュール３０６は、作成したＥｔｈｅｒｎｅｔ（登録商標）ヘッダ、ＩＰヘッダ、ＵＤＰヘッダ及びＤＨＣＰメッセージとから構成されるＤＨＣＰパケットをネットワークＩ／Ｆ制御部（２０６）を介してＬＡＮ１００上に送信する（ステップＳ１１０７）。このとき、ＣＲＣコード（５０５）がパケットの最後に付加される。
【００７４】
図１２は、ＤＨＣＰパケットの受信処理を示すフローチャート図である。この処理は、図３の各モジュールによって実行される。
【００７５】
まず、ネットワークドライバモジュール３０６は、図５に示すＥａｔｈｅｒｎｅｔ（登録商標）フレームとしてのＤＨＣＰパケットをネットワークＩ／Ｆ制御部２０６を介して受信する（ステップＳ１２０１）。
【００７６】
ネットワークドライバモジュール３０６は、フレームのＥｔｈｅｒｎｅｔ（登録商標）ヘッダを解析し、宛先アドレス６０１が、ネットワークデバイス１０１のＭＡＣアドレス、ブロードキャストアドレス、ネットワークデバイス１０１に登録されているマルチキャストアドレスのうちの少なくとも１つを示すかを判断する（ステップＳ１２０２）。いずれにも該当しない場合、ネットワークドライバモジュール３０６はフレームを破棄する（ステップＳ１２０３）。また、ネットワークドライバモジュール３０６は、ＣＲＣがエラーを起こしたフレームであるかも判断し（ステップＳ１２０４）、ＣＲＣがエラーを起こしたフレームである場合も、フレームを破棄する（ステップＳ１２０３）。
【００７７】
次に、ネットワークドライバモジュール３０６は、フレームタイプ６０３を確認する（ステップＳ１２０５）。フレームタイプ６０３が「０ｘ０８００」を示す場合にはそれ以降のバイトストリームをＩＰパケットと判断し、ネットワークプロトコル通信モジュール３０４内のＩＰモジュール４０６にＩＰパケットを引き渡す（ステップＳ１２０６）。フレームタイプ６０３が「０ｘ０８０６」を示す場合には、ＡＲＰパケットと判断し、ＡＲＰモジュール４０７にＡＲＰパケットを引き渡す（ステップＳ１２０７）。
【００７８】
ＩＰモジュール４０６は、ネットワークドライバモジュール３０６から受け取ったＩＰパケットのＩＰヘッダを解析し、宛先ＩＰアドレス７１１がネットワークデバイス１０１のＩＰアドレス、ブロードキャストアドレス、ネットワークデバイス１０１に登録されたマルチキャストアドレスの少なくとも１つを示しているかどうかを判断する（ステップＳ１２０８）。
【００７９】
いずれでもない場合は、ＩＰモジュール４０６はＩＰパケットを破棄する（ステップＳ１２０９）。また、ＩＰモジュール４０６は、チェックサムが正しいかどうかも判断し（ステップＳ１２１０）、チェックサムが正しくない場合も、ＩＰパケットを破棄する（ステップＳ１２０９）。
【００８０】
次に、ＩＰモジュール４０６は、プロトコル識別７０８を確認し（ステップＳ１２１１）、プロトコル識別７０８がＴＣＰを示す場合には、パケットをＴＣＰ管理モジュール４０２に引き渡す（ステップＳ１２１２）。プロトコル識別７０８がＵＤＰを示す場合には、パケットをＵＤＰ管理モジュール４０３へ引渡し（ステップＳ１２１３）、プロトコル識別７０８がＩＣＭＰを示す場合には、パケットをＩＣＭＰ管理モジュール４０４に引き渡す（ステップＳ１２１４）。
【００８１】
ここでは、ＤＨＣＰパケットである場合に着目し、ステップＳ１２１３以降を説明する。ＵＤＰ管理モジュール４０３はＩＰモジュール４０６からパケットを受け取ると、図８が示すＵＤＰヘッダの解析を行い、ＵＤＰチェックサム８０４をチェックし（ステップＳ１２１５）、これが不正な値の場合にはパケットを破棄する（ステップＳ１２１６）。
【００８２】
その後、ＵＤＰ管理モジュール４０３はＵＤＰポート番号８０２を確認し（ステップＳ１２１７）、宛先ポート番号８０２が「６８」を示している場合には、ＤＨＣＰメッセージをソケットインターフェース管理モジュール４０１を介して、ＤＨＣＰクライアントモジュール３０３に引き渡す（ステップＳ１２１９）。宛先ポート番号８０２が「６８」以外を示している場合には、その他のモジュールに渡す（ステップＳ１２１８）。
【００８３】
ＤＨＣＰクライアントモジュール３０３は、図９又は図１０が示すＤＨＣＰメッセージに基づいて、ＤＨＣＰパラメータの値をレジストリに登録する（ステップＳ１２２０）。ＤＨＣＰクライアントモジュール３０３は、図９のユーザＩＰアドレス９０８の値をＤｈｃｐＩＰＡｄｄｒｅｓｓレジストリのキー値として登録する。また、図１０のサブネットマスク値をＤｈｃｐＳｕｂｎｅｔＭａｓｋレジストリのキー値として登録する。また、図１０のゲートウエイアドレスをＤｈｃｐＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのキー値として登録する。
【００８４】
ただし、ＤＨＣＰクライアントモジュール３０３は、ＩＰＡｄｒｅｓｓレジストリ、ＳｕｂｎｅｔＭａｓｋレジスト、ＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのキー値が「０．０．０．０」以外の場合には、たとえＥｎａｂｌｅＤｈｃｐレジストリのキー値が１であっても、ＤｈｃｐＩＰＡｄｒｅｓｓレジストリ、ＤｈｃｐＳｕｂｎｅｔＭａｓｋレジストリ、ＤｈｃｐＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのそれぞれにＤＨＣＰパラメータを登録しない。或いは、ＤＨＣＰクライアントモジュール３０３が登録しても、ＤｈｃｐＩＰＡｄｒｅｓｓレジストリ、ＤｈｃｐＳｕｂｎｅｔＭａｓｋレジストリ、ＤｈｃｐＤｅｆａｕｌｔＧａｔｅｗａｙレジストリそれぞれのキー値は、ＩＰＡｄｒｅｓｓレジストリ、ＳｕｂｎｅｔＭａｓｋレジスト、ＤｅｆａｕｌｔＧａｔｅｗａｙレジストリそれぞれのキー値で上書きされてしまう。
【００８５】
図１３は、ネットワークデバイス１０１が操作パネル２０９に表示するネットワーク設定画面の一例を示す図である。ネットワーク設定画面１３０１は、ネットワークデバイスのＩＰアドレスを入力する領域１３０２、ネットワークデバイス１０１のサブネットマスクを入力する領域１３０３、ネットワークデバイス１０１のゲートウェアアドレスを入力する領域１３０４、ＤＨＣＰクライアントサービスの有効及び無効を切り替えるためのＤＨＣＰボタン１３０５、入力を確定するためのＯＫボタン１３０６と、入力をキャンセルするためのキャンセルボタン１３０７とを有している。
【００８６】
図１３のようなネットワーク設定画面の場合、ＩＰアドレス、サブネットマスク、ゲートウェイアドレスの設定メニューは一つのため、ＤＨＣＰボタン１３０５がオンされているとき（ＤＨＣＰクライアントサービスが有効になっているとき）には、ＤｈｃｐＩＰＡｄｒｅｓｓレジスト、ＤｈｃｐＳｕｂｎｅｔＭａｓｋレジスト、ＤｈｃｐＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのそれぞれに対応するキー値を参照して、ＤＨＣＰクライアントサービスがＤＨＣＰサーバから取得したＩＰアドレス、サブネットマスク、ゲートウェイアドレスをそれぞれ表示する。
【００８７】
また、ＤＨＣＰボタンがオフされているとき（ＤＨＣＰクライアントサービスが無効になっているとき）には、ユーザが入力したＩＰアドレス、サブネットマスク、ゲートウェイアドレスの値は、ＩＰＡｄｒｅｓｓ、ＳｕｂｎｅｔＭａｓｋ、ＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのそれぞれに保存される。
【００８８】
以下、パケットキャプチャモジュール３０５が実行する処理について説明する。ＩＰＡｄｒｅｓｓレジストリ、ＳｕｂｎｅｔＭａｓｋレジスト、ＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのキー値が「０．０．０．０」以外の場合には、たとえＤＨＣＰクライアントサービスが有効であっても、ＤＨＣＰサーバからのＤＨＣＰパラメータは無視されてしまう。そこで、パケットキャプチャモジュール３０５は、ＤＨＣＰパラメータが無視されるのを防止するべく、以下の処理を行う。
【００８９】
図１４は、パケットキャプチャモジュール３０５が実行する処理を示すフローチャート図である。はじめに、ＤＨＣＰクライアントサービスが有効になっているか、つまりＤＨＣＰボタンが１３０５がオンされているかを判定する（ステップＳ１４０１）。ＤＨＣＰクライアントサービスが有効になっていなければ、以下の処理は行われない。
【００９０】
ＤＨＣＰクライアントサービスが有効になっている場合には、ＤＨＣＰサーバから送信されてくるパケットを監視し、それを捕捉する（ステップＳ１４０２）。そして、捕捉したパケットがＤＨＣＰ  ＡＣＫパケットであるか否かを判定する（ステップＳ１４０３）。
【００９１】
捕捉したパケットがＤＨＣＰ  ＡＣＫパケットである場合には、クライアントハードウェアアドレスフィールド９１０の値がネットワークデバイス１０１のハードウェアアドレスと一致するか否かを判定する（ステップＳ１４０４）。
【００９２】
クライアントハードウェアアドレスフィールド９１０の値がネットワークデバイス１０１のハードウェアアドレスと一致する場合には、ＤＨＣＰメッセージの中からＤＨＣＰパラメータを取得する（ステップＳ１４０５）。ここでは、まず、図９のユーザＩＰアドレス９０８を取得する。
【００９３】
そして、取得した値が、ＩＰＡｄｒｅｓｓレジストリのキー値と異なるかを判断する（ステップＳ１４０７）。異なる場合には、取得したユーザＩＰアドレスを、ＩＰＡｄｒｅｓｓレジストリのキー値として設定する（ステップＳ１４０７）。これによって、ＩＰＡｄｒｅｓｓレジストリのキー値が「０．０．０．０」以外の場合であっても、ＤＨＣＰサーバから取得したＩＰアドレスがネットワークデバイス１０１に反映されることになる。
【００９４】
ＤＨＣＰパラメータ全ての読み出しが終了したか否かを判定する（ステップＳ１４０８）。ここでは次に、図１０のサブネットマスク値を取得し（ステップＳ１４０５）、取得したサブネットマスク値をＳｕｂｎｅｔＭａｓｋレジストリのキー値と比較し（ステップＳ１４０６）、一致していなければ、取得したサブネットマスク値でＳｕｂｎｅｔＭａｓｋレジストリのキー値を書き換える（ステップＳ１４０７）。また、ゲートウエイアドレスに関しても同様に、図１０のゲートウエイアドレスを取得して（ステップＳ１４０５）、取得したゲートウエイアドレスとＤｅｆａｕｌｔＧａｔｅｗａｙレジストリのキー値とを比較し（ステップＳ１４０６）、一致していなければ、取得したゲートウエイアドレスをＤｅｆａｕｌｔＧａｔｅｗａｙレジストリに登録する（ステップＳ１４０７）。
【００９５】
ＤＨＣＰパラメータの必要なもの全てに関しステップＳ１１０５〜Ｓ１１０７を実行した後は、処理を終了する。
【００９６】
（実施例２）
本発明に係るプログラムコード及び関連データは、フロッピー（登録商標）ディスク（ＦＤ）やＣＤ−ＲＯＭ中に記憶され、そこからコンピュータに供給されうる。また、本発明の目的は、前述した実施形態の機能を実現するソフトウエア（制御プログラム）のプログラムコードを記録した記憶媒体を、コンピュータや画像処理装置に供給し、そのコンピュータや画像処理装置の中央演算ユニット（ＣＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによって達成される。プログラムやデータをコンピュータに供給する方法として、フロッピー（登録商標）ディスクに記憶させて、例えばコンピュータ本体に（フロッピー（登録商標）ディスクドライブを介して）供給する方法が一般的である。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスクやハードディスク以外にも，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，ＤＶＤ±Ｒ／ＲＷ，ＤＶＤ−ＲＡＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。また、コンピュータや画像処理装置が読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータや画像処理装置上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読出されたプログラムコードが、コンピュータや画像処理装置に挿入された機能拡張ボードや、コンピュータや画像処理装置に接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００９８】
【図１】ネットワークデバイスとＰＣ（パーソナルコンピュータ）とを含むネットワークシステムを示す図である。
【図２】ネットワークデバイス１０１の内部構成を示すブロック図である。
【図３】ネットワークデバイス１０１のプログラム構成を示すブロック図である。
【図４】ネットワークプロトコル通信モジュール３０４におけるプログラム構成を示すブロック図である。
【図５】ＤＨＣＰパケットのフレーム構成を示す図である。
【図６】Ｅｔｈｅｒｎｅｔ（登録商標）ヘッダ５０１の構成を示す図である。
【図７】ＩＰヘッダ５０２の構成を示す図である。
【図８】ＵＤＰヘッダ５０３の構成を示す図である。
【図９】ＤＨＣＰ（ＢＯＯＴＰ）メッセージ５０４の構成を示す図である。
【図１０】ベンダー仕様情報９１３の詳細を示す図である。
【図１１】ＤＣＨＰパケットの送信処理を示すフローチャート図である。
【図１２】ＤＨＣＰパケットの受信処理を示すフローチャート図である。
【図１３】ネットワークデバイス１０１が操作パネル２０９に表示するネットワーク設定画面の一例を示す図である。
【図１４】パケットキャプチャモジュール３０５が実行する処理を示すフローチャート図である。
【図１５】動作設定情報を記憶するレジストリの一例を示す図である。
【符号の説明】
【００９９】
１００  ＬＡＮ
１０１  ネットワークデバイス
１０２  パーソナルコンピュータ
３０１  プリンタＩ／Ｆドライバモジュール
３０２  印刷プロトコルモジュール
３０３  ＤＨＣＰクライアントモジュール
３０４  ネットワークプロトコルモジュール
３０５  パケットキャプチャモジュール
３０６  ネットワークドライバモジュール
【図１】
2006033710.tif 000003
【図２】
2006033710.tif 000004
【図３】
2006033710.tif 000005
【図４】
2006033710.tif 000006
【図５】
2006033710.tif 000007
【図６】
2006033710.tif 000008
【図７】
2006033710.tif 000009
【図８】
2006033710.tif 000010
【図９】
2006033710.tif 000011
【図１０】
2006033710.tif 000012
【図１１】
2006033710.tif 000013
【図１２】
2006033710.tif 000014
【図１３】
2006033710.tif 000015
【図１４】
2006033710.tif 000016
【図１５】
2006033710.tif 000017