(57)【要約】【課題】周辺装置がネットワークに参加したり、該周辺装置のＩＰアドレスが変更されたりしたりしたことを確実に認識し、認識した結果に基づいて、周辺装置を制御する制御プログラムの設定を変更する仕組みを提供する。【解決手段】ネットワークデバイスが、固定識別情報の一例であるＭＡＣアドレスと、可変識別情報の一例であるＩＰアドレスの組合せを管理し、組合せの変化を認識する。【選択図】　　　図５
2004048462.tif 000002
【特許請求の範囲】
【請求項１】
外部情報処理装置とネットワークを介して通信可能な情報処理装置において、
前記外部情報処理装置に固定的に付加された固定識別情報と、外部情報処理装置に可変的に付加された可変識別情報を管理する管理手段と、
通信可能な外部情報処理装置から、固定識別情報、並びに、可変識別情報を、ネットワークから取得する取得手段と、
前記取得手段が取得した固定識別情報が、前記管理手段が管理する固定識別情報と一致するか否か、及び、前記取得手段が取得した可変識別情報が、前記管理手段が管理する固定識別情報と一致するか否かを判断する判断手段と、
前記取得手段が取得した固定識別情報は、前記管理手段が管理する固定識別情報と一致するが、前記取得手段が取得した可変識別情報が、前記管理手段が管理する可変識別情報と一致しないと前記判断手段が判断した場合には、前記取得手段が取得した可変識別情報に基づき、前記固定識別情報を有する外部情報処理装置を制御するための制御プログラムの設定を変更する変更手段とを特徴とする情報処理装置。
【請求項２】
前記取得手段は、前記ネットワークから前記ネットワークに着脱可能な周辺機器に対応する固定識別情報、並びに、可変識別情報を繰り返し取得するものであって、
前記判断手段は、前記取得手段において取得処理が行われるのに応答して、前記判断手段における判断処理を行なうものであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記管理手段は、前記ネットワークを介して通信可能な外部情報処理装置の固定識別情報、並びに、可変識別情報をリストとして管理するものであり、
外部情報処理装置の固定識別情報並びに可変識別情報を、前記取得手段が取得するのに応答して、前記取得手段が取得した前記可変識別情報と、前記固定識別情報とが、前記リスト内にあるか否かを判断することによって、前記判断手段は判断処理を行なうことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記取得手段は、前記前記通信可能な外部情報処理装置に付加された固定識別情報、並びに、可変識別情報を、前記外部情報処理装置に対して探索要求を発行して取得するものであり、前記取得手段からの要求に対する応答を取得した場合であって、かつ、前記取得手段が取得した応答に含まれる固定識別情報は、前記管理手段が管理する固定識別情報と一致するが、前記取得手段が取得した可変識別情報は前記管理手段が管理する可変識別情報と一致しないと前記判断手段が判断した場合には、前記可変識別情報を用いて、前記変更手段が前記固定識別情報を有する外部情報処理装置を制御するための制御プログラムの設定を変更した後に、前記外部情報処理装置に対するジョブの実行要求を行なうようジョブ処理を制御し、前記取得手段からの応答を取得できなかった場合には、前記ジョブの実行要求を行わないようジョブ処理を制御するジョブ制御手段を有することを特徴とする請求項１乃至３に記載のいずれかの情報処理装置。
【請求項５】
前記外部情報処理装置は、前記探索要求に付加された固定識別情報、又は、可変識別情報が、前記外部情報処理装置の識別情報が自身の識別情報と一致する場合、該探索要求を発行した情報処理装置に対し前記外部情報処理装置に対応する可変識別情報又は固定識別情報を含む応答を行うものであって、前記取得手段は、前記探索要求に対する、前記応答を取得するまで待つ状態となることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
外部情報処理装置とネットワークを介して通信可能な情報処理装置における方法において、
前記外部情報処理装置に固定的に付加された固定識別情報と、外部情報処理装置に可変的に付加された可変識別情報を管理する管理ステップと、
通信可能な外部情報処理装置から、固定識別情報、並びに、可変識別情報を、ネットワークから取得する取得ステップと、
前記取得ステップが取得した固定識別情報が、前記管理ステップにて管理される固定識別情報と一致するか否か、及び、前記取得ステップで取得した可変識別情報が、前記管理ステップで管理される固定識別情報と一致するか否かを判断する判断ステップと、
前記取得ステップが取得した固定識別情報は、前記管理ステップが管理する固定識別情報と一致するが、前記取得ステップが取得した可変識別情報が、前記管理ステップで管理される可変識別情報と一致しないと前記判断ステップが判断した場合には、前記取得ステップが取得した可変識別情報に基づき、前記固定識別情報を有する外部情報処理装置を制御するための制御プログラムの設定を変更する変更ステップとを特徴とする情報方法。
【請求項７】
前記取得ステップは、前記ネットワークから前記ネットワークに着脱可能な周辺機器に対応する固定識別情報、並びに、可変識別情報を繰り返し取得するものであって、
前記取得ステップにおいて取得処理が行われるのに応答して、前記判断ステップにおける判断処理が行われることを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記管理ステップでは、前記ネットワークを介して通信可能な外部情報処理装置の固定識別情報、並びに、可変識別情報をリストとして管理し、
外部情報処理装置の固定識別情報並びに可変識別情報を、前記取得ステップで取得するのに応答して、前記取得ステップで取得した前記可変識別情報と、前記固定識別情報とが、前記リスト内にあるか否かを判断することによって、前記判断ステップにおける判断処理を行なうことを特徴とする請求項６又は７に記載の情報処理方法。
【請求項９】
前記取得ステップは、前記前記通信可能な外部情報処理装置に付加された固定識別情報、並びに、可変識別情報を、前記外部情報処理装置に対して探索要求を発行して取得するものであり、
前記取得ステップからの要求に対する応答を取得した場合であって、かつ、前記取得ステップが取得した応答に含まれる固定識別情報は、前記管理ステップが管理する固定識別情報と一致するが、前記取得ステップが取得した可変識別情報は前記管理ステップが管理する可変識別情報と一致しないと前記判断ステップにて判断された場合には、前記可変識別情報を用いて、前記変更ステップにて前記固定識別情報を有する外部情報処理装置を制御するための制御プログラムの設定を変更した後に、前記外部情報処理装置に対するジョブの実行要求を行うようジョブ処理を制御し、前記取得ステップからの応答を取得できなかった場合には、前記ジョブの実行要求を行わないようジョブ処理を制御するジョブ制御ステップを有することを特徴とする請求項６乃至８のいずれかに記載の情報処理方法。
【請求項１０】
前記外部情報処理装置は、前記探索要求に付加された固定識別情報、又は、可変識別情報が、前記外部情報処理装置の識別情報が自身の識別情報と一致する場合、該探索要求を発行した情報処理装置に対し前記外部情報処理装置に対応する可変識別情報又は固定識別情報を含む応答を行うものであって、前記取得工程では、前記探索要求の発行に対する、前記応答を取得するまで待つ状態となることを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
外部情報処理装置とネットワークを介して通信可能な情報処理装において実行される制御プログラムにおいて、
前記外部情報処理装置に固定的に付加された固定識別情報と、外部情報処理装置に可変的に付加された可変識別情報を管理する管理ステップと、
通信可能な外部情報処理装置から、固定識別情報、並びに、可変識別情報を、ネットワークから取得する取得ステップと、
前記取得ステップで取得された固定識別情報が、前記管理ステップが管理する固定識別情報と一致するか否か、及び、前記取得ステップで取得された可変識別情報が、前記管理ステップが管理する固定識別情報と一致するか否かを判断する判断ステップと、
前記取得ステップが取得した固定識別情報は、前記管理ステップが管理する固定識別情報と一致するが、前記取得ステップが取得した可変識別情報が、前記管理ステップが管理する可変識別情報と一致しないと前記判断ステップが判断した場合には、前記取得ステップが取得した可変識別情報に基づき、前記固定識別情報を有する外部情報処理装置を制御するための制御プログラムの設定を変更する変更ステップとを前記情報処理装置に実行させることを特徴とする制御プログラム。
【請求項１２】
外部情報処理装置と情報処理装置を含むネットワークシステムにおいて、
前記外部情報処理装置は、設定された前記可変識別情報が変更された場合、又は、所定の時間間隔で、該可変識別情報並びに固定識別情報とを所定の共有ネットワークアドレスに対して通知する処理を制御する通知制御手段を有し、
前記情報処理装置は、前記ネットワークから取得した可変識別情報、並びに、固定識別情報を対応付けて組として管理する管理手段と、
前記外部情報処理装置から通知される可変識別情報並びに固定識別情報を、繰り返し取得する処理を行なう取得手段を有し、
前記取得手段における前記外部情報処理装置から通知される可変識別情報並びに固定識別情報を取得する処理に応答して、前記取得手段が取得した可変識別情報と、前記取得手段が取得した固定識別情報の組が、前記管理手段の管理する可変識別情報と固定識別情報の組と異なるか否かを判断する判断手段とを有することを特徴とするネットワークシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワークに対応した情報処理装置、及び外部情報処理装置を制御する情報処理装置、及びこれらの装置を含むネットワークシステムに関するものである。
【０００２】
【従来の技術】
インターネットによる通信の飛躍的な普及に伴い、ネットワーク対応型機器も、例えば従来のパーソナルコンピュータから、ＰＤＡ（Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ａｓｓｉｓｔａｎｃｅ）、携帯電話等のユーザーインタラクティブなデバイスや、スキャナ、プリンタ、複写機、デジタルカメラ等の画像処理装置、テレビ、エアコン、冷蔵庫等の家電製品に至るまでネットワーク対応が急速に進められつつある。
【０００３】
それに伴い、従来、ネットワーク管理者の元で実施されていたネットワーク対応型機器のネットワーク接続手続きも簡便化が図られ、特にインターネットプロトコル（ＩＰ）設定で重要なＩＰアドレス設定に関しても、従来のマニュアルによる設定から、ＤＨＣＰサーバーを利用した自動割当、あるいは、ＳＯＨＯ（Ｓｍａｌｌ　Ｏｆｆｉｃｅ　／　Ｈｏｍｅ　Ｏｆｆｉｃｅ）環境のようにサーバーの設置が望めないネットワーク環境のために、自動ＩＰアドレス取得手段（ＩＥＴＦからは、ｄｒａｆｔ−ｉｅｔｆ−ｚｅｒｏｃｏｎｆ−ｉｐｖ４−ｌｉｎｋｌｏｃａｌ−０１．ｔｘｔなるドキュメント名で公開されている。）が提案されており、Ｍｉｃｒｏｓｏｆｔ社が主催するＵｎｉｖｅｒｓａｌ　Ｐｌｕｇ　ａｎｄＰｌａｙ　Ｄｅｖｉｃｅ　Ａｒｃｈｉｔｅｃｔｕｒｅ　ｖ１．０においても該手段が採用されている。これにより一般ユーザーは、先に挙げたネットワーク対応型機器のＩＰアドレスを用いた通信が可能となっている。
【０００４】
また、ＬＡＮのアドレス解決を行なうため、ＡＲＰプロトコルが開発されている。例えば、ある周辺装置Ａが通信したい装置のＩＰアドレスを所定のネットワークセグメントに対してブロードキャストを行なうと、該ＩＰアドレスを付与された周辺装置Ｂが、周辺装置ＢのＭＡＣアドレスとＩＰアドレスの組を返信する。そして、周辺装置Ａは、以後ＭＡＣアドレスを用いて通信可能とする技術がある。
【０００５】
【発明が解決しようとする課題】
しかしながら、ネットワーク対応型デバイスが、ＤＨＣＰ、又は、自動ＩＰアドレス取得手段などを用いて自動的にＩＰアドレスを取得する手段を実装した場合、ネットワーク対応型デバイスは、ネットワークに参加するたびに該ＩＰアドレスを取得するプロセスを実行し、その度に異なったＩＰアドレスを取得することがある。
【０００６】
そのため、ユーザーは、クライアントデバイスにインストールされた該ネットワーク対応型デバイスを使用するための、アプリケーションソフトウエア、ユーティリティソフトウエア、ドライバーソフトウエア等のネットワークコンフィグレーション設定を、該ソフトウエアを利用する毎に変更する必要があった。或いは、ユーザーは、ネットワークのソフトウェアツール等を使用しなければ、利用しようとするネットワーク対応型デバイスの最新のＩＰアドレスを取得することができないなどの問題があった。また、ＡＲＰプロトコルを用いて通信した場合、各装置が持っているＡＲＰテーブルが、外部情報処理装置の一例である周辺装置の接続状況に応じて機動的には変更されず、適切な通信のためには、ユーザの手動による煩雑な設定が必要である。本発明の周辺装置の好適な一例としては、ネットワーク対応デバイス全般を含み、スキャナ、プリンタ、複写機、デジタルカメラ等の画像処理装置、テレビ、エアコン、冷蔵庫等の家電製品及びこれらの複合機が挙げられる。なお、本発明の情報処理装置には、周辺装置が含まれる。
【０００７】
一方、ＤＨＣＰサーバは、周辺装置に貸し出し中の、すなわち、一時的に付与を許可しているＩＰアドレスを把握しているが、ＤＨＣＰサーバには、クライアントに固定的に付与される固定識別情報の一例であるＭＡＣアドレスと、可変的に付与される可変識別情報の一例であるＩＰアドレスの組を用いて、クライアントを動的に管理する仕組みは無かった。しかし、ＤＨＣＰサーバは、あくまでもＩＰアドレスを貸し出すためのサーバであり、ＭＡＣアドレスとＩＰアドレスの組を用いて、自らが通信したい周辺装置の接続状況の判断処理を行なうことはない。
【０００８】
一方、サービスを一元管理するサービス管理サーバが不要なネットワークシステムを構築する際には、該ネットワーク上の各機器が、ネットワーク情報を管理する必要がある。このようなネットワークシステムにおいて、それぞれの機器がネットワーク上にどのような機器がアクティブであるかを認識できるようにするため、機器がネットワークから離脱する際には、同一ネットワーク上のデバイスに対して、ネットワークを離脱する旨の情報を、ブロードキャストで行なうことが考えられる。しかし、この際、該ネットワークデバイスの各デバイスはネットワークを離脱しようとする周辺機器からの離脱通知を正常に受け取ることが出来ない場合があり、問題となる。例えば、周辺機器が離脱通知を行なうことなく、周辺機器がダウンしてしまった場合や、周辺機器の離脱通知が、他の各周辺機器に到達する前に、別の新しい周辺機器が、当該周辺機器と同じネットワーク上の識別情報を用いてネットワークに参加して通信を始めてしまうような場合が生じてしまう。
【０００９】
本発明は上述の問題点の少なくとも一つを鑑みてなされたものであり、本発明は、サービスを管理する管理サーバが不要なネットワークシステムにおいて、各デバイスが適切な通信が出来る環境を提供することを一つの目的とする。
【００１０】
さらに、本発明は、サービスを管理する管理サーバが無い場合であっても、デバイスからのネットワークからの退出の通知を受け取ることが出来ない環境においても、所望の通信相手先がネットワークに接続されているのか、或いは、該通信相手先に付された識別情報が変更されたのかを正しく認識することが出来る仕組みを提供することをさらに別の目的とする。
【００１１】
【課題を解決するための手段】
上述の目的の少なくとも一つを解決すべく、本願においては、解決手段の一例として以下の手段を提供する。
【００１２】
請求項１に記載の発明は、外部情報処理装置とネットワークを介して通信可能な情報処理装置において、
前記外部情報処理装置に固定的に付加された固定識別情報と、外部情報処理装置に可変的に付加された可変識別情報を管理する管理手段と、通信可能な外部情報処理装置から、固定識別情報、並びに、可変識別情報を、ネットワークから取得する取得手段と、前記取得手段が取得した固定識別情報が、前記管理手段が管理する固定識別情報と一致するか否か、及び、前記取得手段が取得した可変識別情報が、前記管理手段が管理する固定識別情報と一致するか否かを判断する判断手段と、前記取得手段が取得した固定識別情報は、前記管理手段が管理する固定識別情報と一致するが、前記取得手段が取得した可変識別情報が、前記管理手段が管理する可変識別情報と一致しないと前記判断手段が判断した場合には、前記取得手段が取得した可変識別情報に基づき、前記固定識別情報を有する外部情報処理装置を制御するための制御プログラムの設定を変更する変更手段とを特徴とする。
【００１３】
請求項２に記載の発明は、前記取得手段は、前記ネットワークから前記ネットワークに着脱可能な周辺機器に対応する固定識別情報、並びに、可変識別情報を繰り返し取得するものであって、前記判断手段は、前記取得手段において取得処理が行われるのに応答して、前記判断手段における判断処理を行なうものであることを特徴とする。
【００１４】
請求項３に記載の発明は、前記管理手段は、前記ネットワークを介して通信可能な外部情報処理装置の固定識別情報、並びに、可変識別情報をリストとして管理するものであり、外部情報処理装置の固定識別情報並びに可変識別情報を、前記取得手段が取得するのに応答して、前記取得手段が取得した前記可変識別情報と、前記固定識別情報とが、前記リスト内にあるか否かを判断することによって、前記判断手段は判断処理を行なうことを特徴とする。
【００１５】
請求項４に記載の発明は、前記取得手段は、前記前記通信可能な外部情報処理装置に付加された固定識別情報、並びに、可変識別情報を、前記外部情報処理装置に対して探索要求を発行して取得するものであり、前記取得手段からの要求に対する応答を取得した場合であって、かつ、前記取得手段が取得した応答に含まれる固定識別情報は、前記管理手段が管理する固定識別情報と一致するが、前記取得手段が取得した可変識別情報は前記管理手段が管理する可変識別情報と一致しないと前記判断手段が判断した場合には、前記可変識別情報を用いて、前記変更手段が前記固定識別情報を有する外部情報処理装置を制御するための制御プログラムの設定を変更した後に、前記外部情報処理装置に対するジョブの実行要求を行なうようジョブ処理を制御し、前記取得手段からの応答を取得できなかった場合には、前記ジョブの実行要求を行わないようジョブ処理を制御するジョブ制御手段を有することを特徴とする。
【００１６】
請求項５に記載の発明は、前記外部情報処理装置は、前記探索要求に付加された固定識別情報、又は、可変識別情報が、前記外部情報処理装置の識別情報が自身の識別情報と一致する場合、該探索要求を発行した情報処理装置に対し前記外部情報処理装置に対応する可変識別情報又は固定識別情報を含む応答を行うものであって、前記取得手段は、前記探索要求に対する、前記応答を取得するまで待つ状態となることを特徴とする。
【００１７】
請求項１２に記載の発明は、外部情報処理装置と情報処理装置を含むネットワークシステムにおいて、前記外部情報処理装置は、設定された前記可変識別情報が変更された場合、又は、所定の時間間隔で、該可変識別情報並びに固定識別情報とを所定の共有ネットワークアドレスに対して通知する処理を制御する通知制御手段を有し、前記情報処理装置は、前記ネットワークから取得した可変識別情報、並びに、固定識別情報を対応付けて組として管理する管理手段と、前記外部情報処理装置から通知される可変識別情報並びに固定識別情報を、繰り返し取得する処理を行う取得手段を有し、前記取得手段における前記外部情報処理装置から通知される可変識別情報並びに固定識別情報を取得する処理に応答して、前記取得手段が取得した可変識別情報と、前記取得手段が取得した固定識別情報の組が、前記管理手段の管理する可変識別情報と固定識別情報の組と異なるか否かを判断する判断手段とを有することを特徴とする。
【００１８】
請求項６乃至請求項１０に記載の発明は、請求項１乃至５に対応する発明の方法の、請求項１１に記載の発明は、請求項１に記載に対応する発明の制御プログラムの発明であるので省略する。
【００１９】
【発明の実施の形態】
図１は、本発明の一実施形態を実現するシステムの構成の一例を示す図である。本実施形態においては、クライアントデバイス側で実行されるソフトウエア、およびネットワーク対応型デバイス、ここではネットワーク対応型プリンタから構成され、各々図に示した各機能モジュールより構成される。図に示した各機能モジュールは、標準的なＰＣ又はワークステーションを用いて、その中にソフトウェアモジュールを組み込むことで実現される。
【００２０】
本発明の情報処理装置の好適な一例であるクライアントデバイスに提供されるソフトウエアは、クライアントデバイスが動作しているオペレーティングシステム環境上で動作するソフトウエアであり、通信機能モジュールであるＴＣＰ，ＵＤＰ，ＩＰプロトコルスタック部２、およびＡＲＰ処理部１３を備え、ＴＣＰ，ＵＤＰ，ＩＰプロトコルスタック部２上に、アプリケーション層としてＨＴＴＰ１．１に準拠したＨＴＴＰ部３（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）を備え、その上位層に後述のＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）処理部４、およびＳＳＤＰ（Ｓｉｍｐｌｅ　Ｓｅｒｖｉｃｅ　Ｄｉｓｃｏｖｅｒｙ　Ｐｒｏｔｏｃｏｌ）処理部５を備える。
【００２１】
Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１（自動ドライバ設定処理部）は、ＡＲＰ処理部１３、ＸＭＬ処理部４、ＳＳＤＰ処理部５、メモリコントローラ６の上位層に位置し、ネットワーク対応デバイスから通知される属性情報に応じ、メモリコントローラ６を介してクライアントデバイスが管理する記憶装置に記録されたネットワーク対応型デバイス制御ソフトウエアのインストール、コンフィグレーション、およびアンインストールを実行する。また、サービス提供デバイスから通知された属性情報は同様に記憶制御手段であるメモリコントローラ１４を介して、記録装置に記録される。
【００２２】
本発明においてネットワーク対応型デバイスは、通信機能としてＴＣＰ，ＵＤＰ，ＩＰプロトコルスタック部７、およびＡＲＰ処理部１４を備え、そのプロトコルスタック上にＨＴＴＰ１．１に準拠したＨＴＴＰ部８を実装する。
【００２３】
その上位層にＳＳＤＰ（Ｓｉｍｐｌｅ　Ｓｅｒｖｉｃｅ　ＤｉｓｃｏｖｅｒｙＰｒｏｔｏｃｏｌ）処理部９、ＧＥＮＡ（Ｇｅｎｅｒａｌ　Ｅｖｅｎｔ　Ｎｏｔｉｆｉｃａｔｉｏｎ　Ａｒｃｈｉｔｅｃｔｕｒｅ）処理部１０を備える。またプロトコルスタック上にはＰｒｉｎｔ　Ｐｒｏｔｏｃｏｌ処理部１１が実装され、クライアントデバイスから発行されるプリンタ要求を解析しＰｒｉｎｔｅｒ　Ｃｏｎｔｒｏｌｌｅｒ１２に対し該要求を送出する機能を備える。
【００２４】
以下、各フローチャートに従い、本システムの制御の流れを説明する。図２は本実施形態におけるネットワーク対応デバイスの制御を示す図である。本発明においてネットワーク対応デバイスであるプリンタ１００１は、起動後、図２に示す処理を開始する。プリンタ１００１は、起動後、ＤＨＣＰ，ＢｏｏｔＰ，ＲＡＲＰ、自動ＩＰアドレス取得方法など（ＩＥＴＦから、ｄｒａｆｔ−ｉｅｔｆ−ｚｅｒｏｃｏｎｆ−ｉｐｖ４−ｌｉｎｋｌｏｃａｌ−０１．ｔｘｔの文書名で公開されている。）に基づく手順のいずれかに従い、自動的に自己が使用するためのＩＰアドレスの取得を試みる。例えば、ＤＨＣＰの場合、不図示のＤＨＣＰクライアントモジュールを介してＩＰアドレスの取得を試みる（Ｓ２００１）。そして、該ＤＨＣＰクライアントモジュールは、ＩＰアドレスを適切に取得完了を認識するまで、ＩＰアドレスの取得待ち状態となる（Ｓ２００２）。Ｓ２００２で、ＤＨＣＰクライアントモジュールは、ＩＰアドレスの取得が完了したことを認識すると、ＴＣＰ，ＵＤＰ，ＩＰプロトコルスタック部７に通知し、ＴＣＰ，ＵＤＰ，ＩＰプロトコルスタック部７がＩＰアドレスの取得が完了したと判断すると、Ｓ２００２に進む。
本実施形態では、ＩＰアドレスはＡＲＰプロトコルなどの所定のプロトコルを用いて可変的に割り当てられるものとしている。
ＩＰアドレスを取得しネットワークに参加したネットワーク対応デバイスであるプリンタ１００１内のＧＥＮＡ処理部１０は、次に、ネットワーク上に存在する他のデバイスに対し、デバイス属性情報を通知するべく、Ｎｏｔｉｆｙパケットをｓｓｄｐ：ａｌｉｖｅの形式で発行する（Ｓ２００３）。
【００２５】
図３は、Ｎｏｔｉｆｙ　ｓｓｄｐ：ａｌｉｖｅのパケットフォーマットを示す図である。図４は、Ｎｏｔｉｆｙ　ｓｓｄｐのｂｙｅｂｙｅパケットのフォーマットを示す図である。デバイス属性情報通知に使用されるプロトコルはＵｎｉｖｅｒｓａｌ　Ｐｌｕｇ　ａｎｄ　Ｐｌａｙ　Ａｒｃｈｉｔｅｃｔｕｒｅ　１．０にて規定されるＧＥＮＡ（Ｇｅｎｅｒａｌ　Ｅｖｅｎｔ　Ｎｏｔｉｆｉｃａｔｉｏｎ　Ａｒｃｈｉｔｅｃｔｕｒｅ）を使用しており、マルチキャストアドレス２３９．２５５．２５５．２５０、ポート番号１９００に対し、図３に示すフォーマットのＨＴＴＰ　Ｎｏｔｉｆｙパケットを発行する。具体的には、ＨＴＴＰ　Ｎｏｔｉｆｙパケットのエンティティボディの記述にＸＭＬを使用し、該パケット発行時にデバイスの属性情報を通知する。その際の書式は図３に示すとおり、ＤｅｖｉｃｅＩｎｆｏをルート要素とするタグ内に記述され、以下に示す要素に対応する属性情報が、要素内容として記述される。
ＰｒｉｎｔｅｒＭａｋｅＡｎｄＭｏｄｅｌ：　プリンタベンダ・製品名称
ＰｒｉｎｔｅｒＮａｍｅ：　プリンタ名
ＰｒｉｎｔｅｒＵＲＬ：　プリンタ　ＵＲＬ
ＰｒｉｎｔｅｒＭＡＣＡｄｄｒｅｓｓ：　プリンタ物理アドレス
ＰｒｉｎｔｅｒＵＵＩＤ：　プリンタ　Ｕｎｉｖｅｒｓａｌ　Ｕｎｉｑｕｅ　ＩＤ
該パケットのＮＴＳヘッダには　ｓｓｄｐ：ａｌｉｖｅと記述し、ネットワークに参加していることを、他のネットワークデバイスに対して通知できる。該パケットには、ｍａｘ　ａｇｅヘッダがあり、ここには、プリンタからネットワークへと送出したデバイス情報の有効期限が秒単位で記述されている。ＧＥＮＡ処理部１０は、該パケットの発行元であるデバイスが、ネットワーク上でアクティブ状態、すなわちジョブ実行を受け付ける状態にある限り、このヘッダに規定する有効期限が経過しているか否かを判断する（Ｓ２００４）。もし、Ｓ２００４で、有効期限を経過していると判断した場合は、プリンタは、図３に示すパケットと同一のパケットをマルチキャストで送信する（Ｓ２００３）。もし、有効期限が切れていないと判断した場合は、ＳＳＤＰリクエストは、ＴＣＰ　ＵＤＰ　ＩＰプロトコルスタック部７により受け付られる。そして、該ＳＳＤＰリクエストは、ＨＴＴＰ部８を介して、ＳＳＤＰ処理部９が取得する（Ｓ２００５）。なお、Ｓ２００５では、この際に先に送信した情報に変更があった場合には、同様にＸＭＬで変更のあった属性情報を更新した上で送信してもよい。ＳＳＤＰ処理部９は、ネットワーク上でアクティブ状態、すなわちジョブ実行を受け付ける状態において、他のプリンタからＳＳＤＰパケットを取得した場合、受信したパケットの解析処理（Ｓ２００６）をした上でレスポンスを発行する（Ｓ２００７）。この解析・発行ステップのプロセスの詳細は図６などで後述する。
【００２６】
次に、ＴＣＰ　ＵＤＰ　ＩＰプロトコルスタック部７が、Ｓ２００５にて受信した情報がＳＳＤＰリクエストではなかったと判断した場合には、Ｓ２００８で印刷ジョブか否かを判断する。Ｓ２００８では、受信した情報が印刷ジョブであるとＴＣＰ　ＵＤＰ　ＩＰプロトコルスタック部７が判断した場合は、プリンタ１００１は、Ｓ２００９でジョブ実行を行い、Ｓ２０１０に進む。Ｓ２００８で印刷ジョブの受信でない場合、ネットワーク接続が中止されている否かを判断し（Ｓ２０１０）、中止でなければ、Ｓ２００４に戻って、それ以降の処理を繰り返し実行する。Ｓ２０１０でプリンタ１００１がネットワーク接続中止状態であれば、ＧＥＮＡ処理部１０は、図４に示すようにＮＴＳヘッダにｓｓｄｐ：ｂｙｅｂｙｅを指定し、該ＨＴＴＰ　Ｎｏｔｉｆｙパケットをマルチキャストで送信する（Ｓ２０１１）。つまり、デバイスは、上記プロセスを、ネットワーク接続が中止するまで繰り返すことになる。
【００２７】
図５は本実施形態におけるクライアントデバイス１０００の制御フローを示すものである。クライアントデバイス１０００が起動すると図５の処理が開始され、Ｎｏｔｉｆｙパケットの受信待ちとなる。（Ｓ５００１）。Ｓ５００１で、クライアントデバイス１０００内のＨＴＴＰ部３が、ネットワーク対応デバイスのプリンタから前述のＨＴＴＰ　Ｎｏｔｉｆｙパケットを取得したと判断した場合、Ｓ５００２に進み、ＨＴＴＰパケット内のＮＴヘッダを解析し、Ｐｒｉｎｔ以外のＮＴ指定であるか否かを判断する。Ｓ５００２で、取得したＮｏｔｉｆｙパケットのＮＴヘッダがＰｒｉｎｔではないとクライアントデバイス内のＨＴＴＰ部３が判断した場合、該パケットを無視してＳ５００１へ戻り、次のパケットを受信する。Ｓ５００２で、該ヘッダ内容がＰｒｉｎｔであると判断された場合、Ｓ５００３に進み、該パケットのＮＴＳヘッダがｓｓｄｐ：ａｌｉｖｅであるか否かをＨＴＴＰ部３が判断する。
【００２８】
Ｓ５００３で、ＮＴＳヘッダがｓｓｄｐ：ａｌｉｖｅであると判断した場合、Ｓ５００４に進み、ＸＭＬ処理部４は、引き続き該パケットのエンティティボディ部のＸＭＬメッセージを解析し、取得した情報をＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ部１に通知する。Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ部１は、通知されたＤｅｖｉｃｅＩｎｆｏの引数であるＰｒｉｎｔｅｒＵＲＬ，ＰｒｉｎｔｅｒＭＡＣＡｄｄｒｅｓｓ，ＰｒｉｎｔｅｒＵＵＩＤの内容をリストとして管理する。Ｓ５００４では、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ部１は、ＤｅｖｉｃｅＩｎｆｏの引数であるＰｒｉｎｔｅｒＵＲＬ，ＰｒｉｎｔｅｒＭＡＣＡｄｄｒｅｓｓ，ＰｒｉｎｔｅｒＵＵＩＤをチェックし、クライアントデバイスが管理する記録装置上に記録されたデバイスリスト情報と比較して解析処理を行う。ＰｒｉｎｔｅｒＵＲＬには、プリンタに可変に付与される通信に用いられる識別情報、例えば、ＤＮＳで管理されるいわゆるＵＲＬを記載してもよいが、ＡＵＴＯ　ＩＰなどのプロトコルで管理され付与されるＩＰアドレスを割り当ててもよい。なお、可変識別情報は、一般的には、ある装置で使用されなくなった識別情報を、他の装置に付与して再利用できる識別情報である。
【００２９】
また、Ｓ５００３で、ＮｏｔｉｆｙパケットがａｌｉｖｅパケットではなかったとＨＴＴＰ部３が判断した場合は、Ｓ５０１２に進む。また、Ｓ５０１２で、ＮｏｔｉｆｙパケットがＢｙｅＢｙｅパケットであるか否かをＨＴＴＰ部３が判断する（Ｓ５０１２）。Ｓ５０１２で、ＢｙｅＢｙｅパケットであったとＨＴＴＰ部３が判断した場合は、ＸＭＬ処理部４は、該パケットを解析してＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ部１に通知する。Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ部１は、受信したデバイス情報と、クライアントデバイスが記録したデバイス情報と比較して、該当ドライバを特定してアンインストールを実行するようシステム内のインストーラを制御し（Ｓ５０１３）、さらにデバイス記録情報から該デバイス情報を削除する処理を制御する。（Ｓ５０１４）。
【００３０】
さて、Ｓ５００５で、判断手段の一例であるＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ部１が、受信したデバイス情報と、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ部１が管理するＭＡＣアドレス並びにＵＲＬのいずれの情報とも一致しなかったと判断した場合は、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ部１は、新規にネットワーク上に参加したデバイスと判断し、Ｓ５００６に進む。Ｓ５００６では、自動ドライバドライバ設定モジュール１は、新規にネットワークに参加したと判断されたデバイスに対応するドライバが、クライアントデバイスが管理、制御する記録装置上に記録されているか否かを判断し、ドライバが無いと判断した場合には、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｒａｔｏｒ部１は、インストール処理を行わず、Ｓ５００１に戻る。この際、インストールが行われなかった旨の警告メッセージを、クライアントデバイスのディスプレイに、ＯＳやアプリケーションのモジュールが表示する処理をＡｕｔｏｍａｔｉｃ　ＤｒｉｖｅｒＣｏｎｆｉｇｒａｔｏｒ部１がＡＰＩを用いて制御するようにしてもよい。Ｓ５００６で、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒが、新規デバイス対応のドライバがあると判断した場合には、Ｓ５００７に進んで該ドライバのインストールを実行し、さらに受信したＳＯＡＰメッセージに記述されたＩＰアドレス情報、即ちＰｒｉｎｔｅｒＵＲＬをドライバモジュールやＯＳの通信モジュールに入力し、該ドライバのコンフィグレーションを実行する。
【００３１】
Ｓ５００７のコンフィグレーション処理の実行後、受信したデバイス情報はクライアントデバイスが管理する記録装置上にＡｕｔｏｍａｔｉｃ　ＤｒｉｖｅｒＣｏｎｆｉｇｒａｔｏｒ部１が、によって記録され、管理される（Ｓ５００８）そして、次のＮｏｔｉｆｙパケットの受信待ちとなる（Ｓ５００１）。
【００３２】
Ｓ５００５でＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｒａｔｏｒ部１は、クライアントデバイスが管理する記録装置上に記録された、ＭＡＣアドレスとＵＲＬを含むデバイスリスト情報と、受信したＮｏｔｉｆｙパケットに付加されたＭＡＣアドレスとＵＲＬを含むデバイス情報を解析して比較し、判断する。Ｓ５００５で、クライアントデバイスが管理する記録装置上に記録されたデバイスリスト情報と比較した結果、デバイスのＰｒｉｎｔｅｒＭＡＣＡｄｄｒｅｓｓか、ＰｒｉｎｔｅｒＵＲＬのいずれかが、Ａｕｔｏｍａｔｉｃ　ＤｒｉｖｅｒＣｏｎｆｉｇｒａｔｏｒ部１が管理する記録情報と一致した（つあり、一致情報なしか否かでＮＯの判断がされた場合）と判断した場合は、Ｓ５００９に進む。
【００３３】
Ｓ５００９で、ＰｒｉｎｔｅｒＵＲＬが管理手段であるＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｒａｔｏｒ部１が管理する記録情報と一致しないとＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｒａｔｏｒ部１が判断した場合、既に該デバイスのドライバソフトはインストール済みであるが、ＵＲＬ（ＩＰアドレス）が変更となったとＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｒａｔｏｒ部１は判断してＳ５０１５へ進む。この場合、クライアントデバイス１０００内の自動ドライバ設定部１は、受信したＵＲＬ情報をもとに、インストール済みのドライバの、コンフィグレーションの変更を実施した後（Ｓ５０１５）、デバイス記録情報を更新した上で記録装置上に記録し（Ｓ５０１６）、Ｓ５００１に戻る。
【００３４】
Ｓ５００９で、クライアントデバイスが管理する記録装置上に記録されたデバイスリスト情報と比較した結果、デバイスのＰｒｉｎｔｅｒＵＲＬは記録情報と一致すると判断した場合は、Ｓ５０１０に進む。Ｓ５０１０で、デバイスのＰｒｉｎｔｅｒＵＲＬは記録情報と一致すると判断した装置から取得したＰｒｉｎｔｅｒＭＡＣＡｄｄｒｅｓｓが記録情報と一致するか否かを判断する。Ｓ５０１０で、ＰｒｉｎｔｅｒＭＡＣＡｄｄｒｅｓｓが記録情報と一致しないと判断した場合、Ｓ５０１７に進む。この場合、自動ドライバ設定モジュール１は、すでにドライバをインストールしたデバイスとは全く別のデバイスが該ＵＲＬを取得した上で新規にネットワークに参加したとＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｒａｔｏｒ部１は判断する。これはデバイスが前述した、ＨＴＴＰ　Ｎｏｔｉｆｙ　：　ＢｙｅＢｙｅパケットを発行せずにネットワーク上の接続を絶ったか、あるいはクライアントデバイスがＨＴＴＰ　Ｎｏｔｉｆｙ　：　ＢｙｅＢｙｅパケットを受信する前に、新規にネットワークに参加したデバイスがＨＴＴＰ　Ｎｏｔｉｆｙ　：　ＢｙｅＢｙｅパケットを発行したデバイスが使用していたＵＲＬをプリンタが取得し、Ｎｏｔｉｆｙパケットを発行した際に発生しうる。
【００３５】
Ｓ５０１７では、クライアントデバイスは、後述する図６に示すフローに従いデバイスのディスカバリを実行する。また、Ｓ５０１０でＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｒａｔｏｒ部１が管理しているＭＡＣアドレスと、新たにＨＴＴＰ部３がＴＣＰ　ＵＤＰ　ＩＰ部を介して取得したＭＡＣアドレスが一致すると判断した場合は、Ｓ５０１１に進む。Ｓ５０１１では、ＨＴＴＰ部３は、デバイス情報が有効期限が切れたか否かを判断し、有効期限が切れていると判断した場合にはデバイスディスカバリを実行しＳ５０１７、有効期限が切れていないと判断した場合はＳ５００１に戻る。
【００３６】
Ｓ５０１７で検索に使用されるプロトコルは、例えば、Ｕｎｉｖｅｒｓａｌ　Ｐｌｕｇ　ａｎｄ　Ｐｌａｙ　Ａｒｃｈｉｔｅｃｔｕｒｅ　１．０にて規定されるＳＳＤＰ（Ｓｉｍｐｌｅ　Ｓｅｒｖｉｃｅ　Ｄｉｓｃｏｖｅｒｙ　Ｐｒｏｔｏｃｏｌ）を使用しており、クライアントデバイスは、マルチキャストアドレス２３９．２５５．２５５．２５０、ポート番号１９００に対し、図７に示すとおり、ＳＴヘッダに検索対象とするデバイスのＵＵＩＤを、デバイスリスト情報に記録されたＰｒｉｎｔｅｒＵＵＩＤとして設定したＨＴＴＰパケットを発行する（図６のＳ６００１）。
【００３７】
以上説明したように、Ｓ５００１でＮｏｔｉｆｙパケットを外部の周辺装置からＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｒａｔｏｒ部１が取得するのに応答して、Ｓ５００９以下の処理を行なうので、ネットワークの構成が動的に変化する場合であっても、適切に各デバイスを制御する制御プログラムをクライアントデバイスに導入可能である。例えば、デバイスがネットワークに参加するのに応答して、適切にドライバの設定を動的に変更したり、適切なドライバをインストールしたりすることが出来る。
【００３８】
図６は、クライアントデバイス側と、ネットワークデバイス側のディスカバリープロセスを示す図である。Ｓ６００１乃至Ｓ６００７は、クライアント側の処理であり、Ｓ６００８乃至Ｓ６０１０が、ネットワークデバイス側の処理である。ネットワークデバイスは、電源が入れられ、ネットワークに接続されると、ＨＴＴＰ部が起動し、図６のフローＳ６００８からを開始する。Ｓ６００８で、ＨＴＴＰ部は、ＳＳＤＰパケットがＨＴＴＰ部に取得されたか否かを判断する。
【００３９】
まず、クライアントは先に述べたようにクライアントデバイスのＨＴＴＰ部３は、Ｓ６００１でＳＴヘッダにＵＵＩＤを挿入して、ネットワークデバイスに送信する。
【００４０】
Ｓ６００８で、ＨＴＴＰ部７が、ＳＳＤＰパケットを取得したと判断した場合、Ｓ６００９に進む。Ｓ６００９では、ＨＴＴＰ部７は、まず、クライアントデバイスからのＳ６００１における処理において送信されたＨＴＴＰパケット内のＳＴヘッダを解析し、ＳＴヘッダで指定されたＵＵＩＤが自身のＵＵＩＤと一致しない場合は、処理を中断し、受信したパケットを無視して、Ｓ６００８で新たなＳＳＤＰパケットが取得されるのを待つ（Ｓ６００８）。
【００４１】
Ｓ６００９で、Ｓ６００８で取得したヘッダ内容が自身のＵＵＩＤと一致するとＨＴＴＰ部７が判断した場合、ＨＴＴＰパケットを発行したクライアントデバイスに対し、ＳＳＤＰ処理部９は、ＳＳＤＰレスポンスを返信し（Ｓ６０１０）、そして、Ｓ６００８に戻る。該ＳＳＤＰレスポンスのエンティティ部には、図３に示したものと同一のフォーマットで属性情報を記述し、ＨＯＳＴヘッダの値にクライアントデバイスのＵＲＬをセットしたパケットをユニキャストでＴＣＰ，ＵＤＰ，ＩＰ処理部を介した送信処理を制御する。（Ｓ６０１０）。
【００４２】
一方、クライアントデバイス内のＨＴＴＰ部３が、プリンタからの応答を待っている際（Ｓ６００２）に、プリンタ１００１からｓｓｄｐ：ａｌｉｖｅの応答があった場合、クライアントコンピュータ１０００は受信した情報に従い、インストール済みのドライバのコンフィグレーションを変更した後（Ｓ６００３）、デバイス記録情報を更新した上で記録装置上に記録（Ｓ６００４）し、ディスカバリプロセスを終了する。
【００４３】
Ｓ６００２で、デバイスからの応答が無い場合、該当するデバイスはネットワーク上に存在しないことを意味する。従ってクライアントデバイスは、該当ドライバのアンインストールを実行し（Ｓ６００５）、デバイス記録情報から該デバイス情報を削除（Ｓ６００６）し、ディスカバリプロセスを終了する。
【００４４】
また、クライアントデバイスは、記録装置上に記録されてデバイス記録情報から各デバイス情報のｍａｘ　ａｇｅをチェックし、該ｍａｘ　ａｇｅを過ぎてもデバイスから更新情報を受信しなかった場合、同様にデバイスディスカバリの処理を実行するようにすると好適である。
【００４５】
図８はクライアントデバイスからジョブを発行する際の制御フロー、およびデバイスの制御フローを示す図である。Ｓ８００１で、Ｊｏｂ実行が行われたか否かを不図示のポートモニタが監視し、待ち状態となる。
【００４６】
例えば、ワードプロセッサなどの汎用ソフトウエアで作成したドキュメントを印字するようなジョブ要求が生じたとポートモニタが判断した場合、Ｓ８００２に進む。Ｓ８００２では、ジョブ実行指示の際に指定されたデバイスのＵＲＬに対し、ＡＲＰ処理部１４が、ＡＲＰ（Ａｄｄｒｅｓｓ　Ｒｅｓｏｌｕｔｉｏｎ　Ｐｒｏｔｏｃｏｌ）パケットを発行しＳ８００３に進む。Ｓ８００３では、ＡＲＰ処理部１４は、ＡＲＰ応答待ちとなる。Ｓ８００３では、指定されたデバイスがネットワーク上に存在する場合、そのＭＡＣアドレスが該パケットに対してレスポンスとして返信されるのでＡＲＰ応答をＡＲＰ処理部１４が認識した場合、Ｓ８００４に進む。ここで、返信されたＭＡＣアドレスは、ＡＲＰ処理部１４が取得し、ＡＲＰ処理部１４から、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１が取得する。
【００４７】
Ｓ８００４では、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１は、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１が管理する記録装置上に記録されたデバイスリスト情報のうち指定したデバイスのＰｒｉｎｔｅｒＭＡＣＡｄｄｒｅｓｓと、ＡＲＰ処理部１４を介してＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１がＡＲＰレスポンスとして取得したＭＡＣアドレスを比較判断する。　Ｓ８００４で、ＭＡＣアドレスがデバイスリスト情報と一致するとＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１が場合は、ジョブ処理を指定したプリンタと、ＡＲＰレスポンスを発行したデバイスとが一致することを意味し、この場合はジョブデータを該デバイスのＵＲＬに対し送信し、ジョブの実行を行なう（Ｓ８０１１）。そして、次のジョブの実行待ちとなる。
【００４８】
Ｓ８００４で、ＭＡＣアドレスが一致しないとＡｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１が判断した場合、クライアントデバイスは、前述の図６のＳ６００１以下のフローと同一のプロセスを実行することで、デバイスのディスカバリを実行する。
クライアントデバイス内のＨＴＴＰ部３が、プリンタからの応答を待っている際（Ｓ８００６）に、プリンタ１００１からｓｓｄｐ：ａｌｉｖｅの応答があった場合、クライアンコンピュータ１０００は受信した情報に従い、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１がインストール済みのドライバのコンフィグレーションを変更した後（Ｓ８００７）、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１はＡＰＩを操作して、ジョブデータの送信処理を制御する。（Ｓ８０１１）。
【００４９】
Ｓ８００５で、デバイスからの応答が無い場合、該当するデバイスはネットワーク上から存在しないことを意味する。　Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１は、該当ドライバのアンインストール及びデバイス情報の削除更新処理を実行し（Ｓ８００８）、Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ処理部１は、エラーを通知し（Ｓ８００９）、Ｊｏｂ処理を終了する。
【００５０】
また、クライアントデバイスは、記録装置上に記録されてデバイス記録情報から各デバイス情報のｍａｘ　ａｇｅをチェックし、該ｍａｘ　ａｇｅを過ぎてもデバイスから更新情報を受信しなかった場合、同様にデバイスディスカバリの処理を実行するようにすると好適である。
【００５１】
以上、一連の処理シーケンスをもって、本発明の特徴であるジョブ実行のプロセスを完了する。
【００５２】
本実施形態ではプリンタをネットワークデバイスとした実施の形態を示しているが、ネットワークデバイスとしてはハードディスク等のストレージデバイス、スキャナ、複写機、およびそれら複合機能を備えるデバイスであって、通信機能を介して本実施形態で記述した属性情報の取得が可能な装置であれば、いずれの場合においても実現可能である。
【００５３】
本実施形態においては、ＨＴＴＰエンティティの表記方法はＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）に従う独自スキーマによる記述によっても実現可能であり、該エンティティの記述にはバイナリデータを利用した記述によっても実現可能である。
【００５４】
本実施形態において、ネットワークデバイスの属性情報を通知する際に、ＨＴＴＰパケットのエンティティにＸＭＬの形式でデバイスの付属情報を送信しているが、新規にＨＴＴＰヘッダを定義し、該ヘッダを使用する形態での通知手段を用いても実現可能である。
【００５５】
本実施形態においては、ＨＴＴＰ／ＴＣＰ／ＩＰ／ＵＤＰプロトコルを使用した例を示しているが、本実施形態はトランスポート手段に依存するものではなく、サービス提供デバイスの属性情報の通知、およびサービス提供デバイスの検索のための通信が可能であれば、他の汎用プロトコル、あるいは独自プロトコルを使用した場合でも実現可能である。
【００５６】
本発明においてはネットワークデバイスから発行されたＮｏｔｉｆｙメッセージを元に、クライアントデバイス側がドライバソフトのインストール、アンインストールを実行している。本発明の適用はドライバソフトに限定するものではなく、ネットワークコンフィグレーションを必要とするネットワークデバイス制御ソフトウエア全般に利用が可能である。
【００５７】
（他の実施形態）
本実施形態における図２、図５、図８に示す各処理が、外部からインストールされるプログラムによって、クライアントデバイス１０００やプリンタ１００１など、それぞれの装置により遂行されてもよい。また、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
【００５８】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ（図示省略）からダウンロードすることで、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００５９】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【００６０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６１】
【発明の効果】
以上説明したように、本発明によればネットワーク対応型デバイスを使用する際において、クライアントデバイスにインストールされた該ネットワーク対応型デバイスを使用するための、アプリケーションソフトウエア、ユーティリティソフトウエア、ドライバーソフトウエア等のネットワークコンフィグレーション設定等の変更を、ユーザーが意識することなく設定できるシステムを提供することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態を実現するシステムの構成の一例を示す図である。
【図２】本実施形態におけるネットワーク対応デバイスの制御を示す図である。
【図３】Ｎｏｔｉｆｙ　ｓｓｄｐ：ａｌｉｖｅのパケットフォーマットを示す図である。
【図４】Ｎｏｔｉｆｙ　ｓｓｄｐ：ｂｙｅｂｙｅパケットフォーマットを示す図である。
【図５】クライアントデバイスの制御フローを示すフローチャートを示す図である。
【図６】デバイスディスカバリの制御フローを示すフローチャートを示す図である。
【図７】デバイスディスカバリのパケットフォーマットを示す図である。
【図８】クライアントデバイス　ジョブ発行時の制御フローを示す図である。
【符号の説明】
１　Ａｕｔｏｍａｔｉｃ　Ｄｒｉｖｅｒ　Ｃｏｎｆｉｇｕｒａｔｏｒ部
２　ＴＣＰ，ＵＤＰ，ＩＰプロトコルスタック部
３　ＨＴＴＰ部
４　ＸＭＬ処理部
５　ＳＳＤＰ処理部
６　メモリコントローラ部
７　ＴＣＰ，ＵＤＰ，ＩＰプロトコルスタック部
８　ＨＴＴＰ部
９　ＳＳＤＰ処理部
１０　ＧＥＮＡ部
１１　Ｐｒｉｎｔ　Ｐｒｏｔｏｃｏｌ部
１２　Ｐｒｉｎｔｅｒ　Ｃｏｎｔｒｏｌｌｅｒ
１３　ＡＲＰ処理部
１４　ＡＲＰ処理部
１０００　クライアントデバイス
１００１　プリンタ
【図１】
2004048462.tif 000003
【図２】
2004048462.tif 000004
【図３】
2004048462.tif 000005
【図４】
2004048462.tif 000006
【図５】
2004048462.tif 000007
【図６】
2004048462.tif 000008
【図７】
2004048462.tif 000009
【図８】
2004048462.tif 000010