(57)【特許請求の範囲】
【請求項１】
ネットワークのノード内の仮想管理対象機器に上位アドレス空間サイズ内で、ノード内でユニークに割り付けられるＩＤ番号で機器アドレス管理を行うアプリケーション層、上位処理層内のみで保持され使用される可変な上位アドレス、ドメイン内でユニークな上位個体識別番号により機器アドレス管理を行う上位処理層、ＩＰアドレスと上位アドレスの下位バイト値及びドメイン内でユニークなメディアアドレスで機器アドレス管理を行う下位処理層、ＩＰアドレスで管理されるＴＣＰ／ＩＰ層、前記メディアアドレスを保持する下位メディア層より成るノードで、前記ＩＰアドレス及び上位アドレスがダイナミックに変更されるとき、前記アプリケーション層からのＩＤ番号とメディアアドレスとの関係が不変になるように前記上位処理層内の上位自己アドレス・ＤＢ（データベース）テーブル、上位他ノードアドレス・ＤＢ（データベース）テーブルに保持された上位アドレス値、下位処理層内の下位自己アドレステーブル、下位他ノードアドレステーブル内に保持された上位アドレスの下位バイト値、ＩＰアドレス、メディアアドレスの組の少なくとも１つの値を所定タイミングで書き換えることを特徴とするネットワークアドレス管理方法。
【請求項２】
新規立ち上がりノードが、
（１）ネットワーク上のＤＨＣＰサーバからＩＰアドレスを取得した後、サブネット内同報アドレス問い合わせコマンドを送信して、各ノードの保持しているネットワーク内でユニークな値のＮｏｄｅＩＤ、ドメイン内でユニークな自己上位個体識別番号、自己メディアアドレスを要求し、
（２）サブネット内の全ノードから個別応答アドレス応答コマンドにより当該新規立ち上がりノードに通知される前記他ノード毎のＮｏｄｅＩＤ、自己上位個体識別番号とこれに一意に対応する自己メディアアドレスを受信し、
（３）（２）で受信したアドレスデータにより、自己の保持している上位他ノードアドレステーブルにおける他ノードそれぞれのＮｏｄｅＩＤを、該当ノード毎の上位個体識別番号に対応するものに書き換え、
（４）（２）で受信したアドレスデータにより、自己の保持している下位他ノードアドレステーブルにおける他ノードそれぞれのＮｏｄｅＩＤを、該当ノード毎の前記上位個体識別番号に一意に対応するメディアアドレスに対応するものに書き換えることを特徴とするネットワークアドレス管理方法。
【請求項３】
新規立ち上がりノードが、他ノードで使用している重複はなしと判断して定めたＮｏｄｅＩＤと自己メディアアドレスとの組データをサブネット内同報アドレス追加コマンドとして送り、
前記同報コマンドを受け取った各ノードが、自己の保持する下位他ノードアドレステーブルに保持されているメディアアドレスが受け取ったメディアアドレスと等しいとき、対応して保存されているＮｏｄｅＩＤを受け取ったＮｏｄｅＩＤで上書きすることを特徴とする請求項２に記載のネットワークアドレス管理方法。
【請求項４】
請求項３に記載のネットワークアドレス管理方法において、
アドレステーブルを書き換えた立ち上がり済みのノードが、下位自ノードアドレステーブル内に保持しているＮｏｄｅＩＤが重複していた場合に、そのＮｏｄｅＩＤと保持メディアアドレスとの組をアドレス重複通知コマンドと共に前記新規立ち上がりノードに返し、
新規立ち上がりノードが、他ノードで使用している重複はなしと判断した場合、定めたＮｏｄｅＩＤと自己メディアアドレスとの組データをサブネット内同報アドレス追加コマンドとして送る処理を繰リ返すことを特徴とするネットワークアドレス管理方法。
【請求項５】
通常通信時、各ノードが送信元ノードのＮｏｄｅＩＤと自己ＮｏｄｅＩＤとが重複しているか否かを調べ、
重複があれば、各ノードが、前記送信元ノードに自己ＮｏｄｅＩＤ、保持上位自己個体識別番号、保持自己メディアアドレスを含むアドレス重複通知コマンドを送り、送信元ノードが前記アドレス重複通知コマンドを受信して、自己の上位他ノードアドレステーブルに保持している上位個体識別番号に対応するＮｏｄｅＩＤを書き換え、下位他ノードアドレステーブルに、更新した上位個体識別番号に対応するメディアアドレスに対応するＮｏｄｅＩＤを追記し、
通常パケット送信元ノードは、重複のない、自己ＮｏｄｅＩＤを決定し、下位自ノードアドレステーブルを生成することを特徴とする請求項２に記載のネットワークアドレス管理方法。
【請求項６】
新規立ち上がりノードが、
（１）ＩＰアドレスを取得した後、サブネット内同報アドレス問い合わせコマンドを送信して、各ノードの保持している自己上位アドレス、自己上位個体識別番号、自己メディアアドレス、自己ＩＰアドレス通知を要求し、
（２）サブネット内の全ノードから個別応答アドレス応答コマンドにより当該新規立ち上がりノードに通知される前記他ノード毎の自己上位アドレス、自己上位個体識別番号とこれに一意に対応する自己メディアアドレス、そして自己ＩＰアドレスを受信し、
（３）（２）で受信したアドレスデータにより、自己の保持している上位他ノードアドレステーブルにおける他ノードそれぞれの上位アドレスを、該当ノード毎の上位個体識別番号に対応するものに書き換え、
（４）（２）で受信したアドレスデータにより、自己の保持している下位他ノードアドレステーブルにおける他ノードそれぞれのＩＰアドレス及び上位アドレスの下位バイト値を、該当ノード毎の前記上位個体識別番号に一意に対応するメディアアドレスに対応するものに書き換えることを特徴とするネットワークアドレス管理方法。
【請求項７】
新規立ち上がりノードが、他ノードと重複なしと判断して定めた上位アドレスの下位バイト値と自己メディアアドレス、自己ＩＰアドレスとの組のデータをサブネット内同報アドレス追加コマンドとして送り、前記同報コマンドを受け取る各ノードに対して、自己の下位他ノードアドレステーブルに保持されているメディアアドレスと、受け取ったメディアアドレスとが等しいとき、対応して保存されている上位アドレスの下位バイト値とＩＰアドレスとの組を受け取った上位アドレスの下位バイト値とＩＰアドレスとの組で上書きさせることを特徴とする請求項６に記載のネットワークアドレス管理方法。
【請求項８】
請求項７に記載のネットワークアドレス管理方法において、新規立ち上がりノードが、前記アドレステーブルを書き換えた立ち上がり済みのノードのいずれかから、その下位自ノードアドレステーブル内に保持している上位アドレスの下位バイト値が重複しているとして、その保持上位アドレスの下位バイト値と保持メディアアドレス、保持ＩＰアドレスの組をアドレス重複通知コマンドと共に当該新規立ち上がりノードに返してきたときに、他ノードと重複なしと判断して定めた上位アドレスの下位バイト値と自己メディアアドレス、自己ＩＰアドレスとの組のデータをサブネット内同報アドレス追加コマンドとして再送する処理を繰リ返すことを特徴とするネットワークアドレス管理方法。
【請求項９】
前記上位アドレス・ＤＢテーブルにおいて、上位個体識別番号をメディアアドレスと兼用することを特徴とする請求項１〜８のいずれかに記載のネットワークアドレス管理方法。
【請求項１０】
前記下位アドレステーブルにおいて、メディアアドレスを上位個体識別番号と兼用することを特徴とする請求項１〜８のいずれかに記載のネットワークアドレス管理方法。
【請求項１１】
上位処理層内のみで保持され使用される可変な上位アドレスとネットワーク内でユニークな上位個体識別情報とによって機器アドレス管理を行う上位処理層と、ＩＰアドレスと上位アドレスの下位バイト値及びネットワーク内でユニークなメディアアドレスとによって機器アドレス管理を行う下位処理層と、ＩＰアドレスによって管理するＴＣＰ／ＩＰ層と、ネットワーク内でユニークな前記メディアアドレスを保持する下位メディア層とより成るノードの実行するネットワークアドレス管理方法であって、
ネットワーク参加中にＩＰアドレス又は上位アドレスが変更されたとき、メディアアドレスとＩＰアドレス、上位アドレスの関係が不変になるように、上位処理層内の上位他ノードアドレス・ＤＢテーブルに保持された上位アドレス値と、下位処理層内の下位他ノードアドレステーブル内に保持された上位アドレスの下位バイト値、ＩＰアドレス及びメディアアドレスの組のうちのメディアアドレスを除く少なくとも１つの値とを書き換えることを特徴とするネットワークアドレス管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークアドレス管理方法に関する。
【０００２】
【従来の技術】
従来のネットワークアドレス管理方法は、多数のノードが参入しているネットワーク内に唯一の常時アクティブなアドレスサーバを置き、新規参入ノードにはこのアドレスサーバからネットワーク内でユニークな論理アドレスを自動的に配布し、この値を新規参入ノードに使用させるものである。
【０００３】
また、従来のネットワークシステムでは、上位処理層、下位処理層、ＴＣＰ／ＩＰ層、下位メディア層各々の持つ互いに関連付けたネットワークアドレス、固有識別子を利用してプラグアンドプレイなどの初期化を終えた後、通常の通信をしている際に、何らかの原因で上位アドレス及びＩＰアドレスが変化すれば通信が不可能になってしまう。そのため、従来では、ノード毎に固定アドレスをネットワーク管理者が手動によって付与するネットワークアドレス管理方法をとり、あるいはネットワーク上に固定アドレスサーバを置き、ＮｏｄｅＩＤ等のアドレスの変更がないようにシステム構築していた。
【０００４】
【発明が解決しようとする課題】
しかしながら、常時アクティブなアドレスサーバをネットワーク上に置くのはコスト的に高くなる問題点があり、特に家庭内ＬＡＮのようなネットワークシステムには不向きであった。また、ネットワークアドレスをネットワーク管理者が手動でノード毎に割り付けるのでは、ネットワーク管理に大きな労力が求められる。
【０００５】
このため、従来から固定的なアドレスサーバなしで、参加ノードの初期論理アドレスを自動的に決定し、かつネットワーク離脱状態から再参入した時にも、従前通り通信可能とする技術が求められていた。また、上位処理層、下位処理層、ＴＣＰ／ＩＰ層、下位メディア層各々の持つ互いに関連付けたネットワークアドレス、固有識別子を利用してプラグアンドプレイなどの初期化を終えた後、通常の通信をしている際に、何らかの原因で上位アドレス及びＩＰアドレスが変化した時にも関連する値を自動的に修正し、通信に影響を与えないネットワークアドレス管理技術が求められていた。
【０００６】
本発明はこのような従来の技術的課題に鑑みてなされたもので、各ノードのアドレスをアドレスサーバなしで自律的、かつ自動的に決定し、ネットワーク離脱状態から再参入した時にも従前通りに通信できるようにするネットワークアドレス管理方法を提供することを目的とする。
【０００７】
本発明はまた、各ノードの初期化が終了し、各アドレスがいったん取得された後、アドレスが変更になっても通信を破綻させることなく、自動的にアドレス修復するネットワークアドレス管理方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
請求項１の発明のネットワークアドレス管理方法は、ネットワークのノード内の仮想管理対象機器に上位アドレス空間サイズ内で、ノード内でユニークに割り付けられるＩＤ番号で機器アドレス管理を行うアプリケーション層、上位処理層内のみで保持され使用される可変な上位アドレス、ドメイン内でユニークな上位個体識別番号により機器アドレス管理を行う上位処理層、ＩＰアドレスと上位アドレスの下位バイト値及びドメイン内でユニークなメディアアドレスで機器アドレス管理を行う下位処理層、ＩＰアドレスで管理されるＴＣＰ／ＩＰ層、前記メディアアドレスを保持する下位メディア層より成るノードで、前記ＩＰアドレス及び上位アドレスがダイナミックに変更されるとき、前記アプリケーション層からのＩＤ番号とメディアアドレスとの関係が不変になるように前記上位処理層内の上位自己アドレス・ＤＢ（データベース）テーブル、上位他ノードアドレス・ＤＢ（データベース）テーブルに保持された上位アドレス値、下位処理層内の下位自己アドレステーブル、下位他ノードアドレステーブル内に保持された上位アドレスの下位バイト値、ＩＰアドレス、メディアアドレスの組の少なくとも１つの値を所定タイミングで書き換えることを特徴とする。
【００１１】
請求項２の発明のネットワークアドレス管理方法は、新規立ち上がりノードが、（１）ネットワーク上のＤＨＣＰサーバからＩＰアドレスを取得した後、サブネット内同報アドレス問い合わせコマンドを送信して、各ノードの保持しているネットワーク内でユニークな値のＮｏｄｅＩＤ、ドメイン内でユニークな自己上位個体識別番号、自己メディアアドレスを要求し、（２）サブネット内の全ノードから個別応答アドレス応答コマンドにより当該新規立ち上がりノードに通知される前記他ノード毎のＮｏｄｅＩＤ、自己上位個体識別番号とこれに一意に対応する自己メディアアドレスを受信し、（３）（２）で受信したアドレスデータにより、自己の保持している上位他ノードアドレステーブルにおける他ノードそれぞれのＮｏｄｅＩＤを、該当ノード毎の上位個体識別番号に対応するものに書き換え、（４）（２）で受信したアドレスデータにより、自己の保持している下位他ノードアドレステーブルにおける他ノードそれぞれのＮｏｄｅＩＤを、該当ノード毎の前記上位個体識別番号に一意に対応するメディアアドレスに対応するものに書き換えることを特徴とする。
【００１２】
請求項３の発明は、請求項２に記載のネットワークアドレス管理方法において、新規立ち上がりノードが、他ノードで使用している重複はなしと判断して定めたＮｏｄｅＩＤと自己メディアアドレスとの組データをサブネット内同報アドレス追加コマンドとして送り、前記同報コマンドを受け取った各ノードが、自己の保持する下位他ノードアドレステーブルに保持されているメディアアドレスが受け取ったメディアアドレスと等しいとき、対応して保存されているＮｏｄｅＩＤを受け取ったＮｏｄｅＩＤで上書きすることを特徴とする。
【００１３】
請求項４の発明は、請求項３に記載のネットワークアドレス管理方法において、アドレステーブルを書き換えた立ち上がり済みのノードが、下位自ノードアドレステーブル内に保持しているＮｏｄｅＩＤが重複していた場合に、そのＮｏｄｅＩＤと保持メディアアドレスとの組をアドレス重複通知コマンドと共に前記新規立ち上がりノードに返し、新規立ち上がりノードが、他ノードで使用している重複はなしと判断した場合、定めたＮｏｄｅＩＤと自己メディアアドレスとの組データをサブネット内同報アドレス追加コマンドとして送る処理を繰リ返すことを特徴とする。
【００１４】
請求項５の発明は、請求項２のネットワークアドレス管理方法において、通常通信時、各ノードが送信元ノードのＮｏｄｅＩＤと自己ＮｏｄｅＩＤとが重複しているか否かを調べ、重複があれば、各ノードが、前記送信元ノードに自己ＮｏｄｅＩＤ、保持上位自己個体識別番号、保持自己メディアアドレスを含むアドレス重複通知コマンドを送り、送信元ノードが前記アドレス重複通知コマンドを受信して、自己の上位他ノードアドレステーブルに保持している上位個体識別番号に対応するＮｏｄｅＩＤを書き換え、下位他ノードアドレステーブルに、更新した上位個体識別番号に対応するメディアアドレスに対応するＮｏｄｅＩＤを追記し、通常パケット送信元ノードは、重複のない、自己ＮｏｄｅＩＤを決定し、下位自ノードアドレステーブルを生成することを特徴とする。
【００１５】
請求項６の発明のネットワークアドレス管理方法は、新規立ち上がりノードが、（１）ＩＰアドレスを取得した後、サブネット内同報アドレス問い合わせコマンドを送信して、各ノードの保持している自己上位アドレス、自己上位個体識別番号、自己メディアアドレス、自己ＩＰアドレス通知を要求し、（２）サブネット内の全ノードから個別応答アドレス応答コマンドにより当該新規立ち上がりノードに通知される前記他ノード毎の自己上位アドレス、自己上位個体識別番号とこれに一意に対応する自己メディアアドレス、そして自己ＩＰアドレスを受信し、（３）（２）で受信したアドレスデータにより、自己の保持している上位他ノードアドレステーブルにおける他ノードそれぞれの上位アドレスを、該当ノード毎の上位個体識別番号に対応するものに書き換え、（４）（２）で受信したアドレスデータにより、自己の保持している下位他ノードアドレステーブルにおける他ノードそれぞれのＩＰアドレス及び上位アドレスの下位バイト値を、該当ノード毎の前記上位個体識別番号に一意に対応するメディアアドレスに対応するものに書き換えることを特徴とする。
【００１６】
請求項７の発明は、請求項６のネットワークアドレス管理方法において、新規立ち上がりノードが、他ノードと重複なしと判断して定めた上位アドレスの下位バイト値と自己メディアアドレス、自己ＩＰアドレスとの組のデータをサブネット内同報アドレス追加コマンドとして送り、前記同報コマンドを受け取る各ノードに対して、自己の下位他ノードアドレステーブルに保持されているメディアアドレスと、受け取ったメディアアドレスとが等しいとき、対応して保存されている上位アドレスの下位バイト値とＩＰアドレスとの組を受け取った上位アドレスの下位バイト値とＩＰアドレスとの組で上書きさせることを特徴とする。
【００１７】
請求項８の発明は、請求項７に記載のネットワークアドレス管理方法において、新規立ち上がりノードが、前記アドレステーブルを書き換えた立ち上がり済みのノードのいずれかから、その下位自ノードアドレステーブル内に保持している上位アドレスの下位バイト値が重複しているとして、その保持上位アドレスの下位バイト値と保持メディアアドレス、保持ＩＰアドレスの組をアドレス重複通知コマンドと共に当該新規立ち上がりノードに返してきたときに、他ノードと重複なしと判断して定めた上位アドレスの下位バイト値と自己メディアアドレス、自己ＩＰアドレスとの組のデータをサブネット内同報アドレス追加コマンドとして再送する処理を繰リ返すことを特徴とする。
【００２１】
請求項９の発明は、請求項１〜８のネットワークアドレス管理方法において、前記上位アドレス・ＤＢテーブルにおいて、上位個体識別番号をメディアアドレスと兼用することを特徴とする。
【００２２】
請求項１０の発明は、請求項１〜８のネットワークアドレス管理方法において、前記下位アドレステーブルにおいて、メディアアドレスを上位個体識別番号と兼用することを特徴とする。
【００２３】
請求項１１の発明は、上位処理層内のみで保持され使用される可変な上位アドレスとネットワーク内でユニークな上位個体識別情報とによって機器アドレス管理を行う上位処理層と、ＩＰアドレスと上位アドレスの下位バイト値及びネットワーク内でユニークなメディアアドレスとによって機器アドレス管理を行う下位処理層と、ＩＰアドレスによって管理するＴＣＰ／ＩＰ層と、ネットワーク内でユニークな前記メディアアドレスを保持する下位メディア層とより成るノードの実行するネットワークアドレス管理方法であって、
ネットワーク参加中にＩＰアドレス又は上位アドレスが変更されたとき、メディアアドレスとＩＰアドレス、上位アドレスの関係が不変になるように、上位処理層内の上位他ノードアドレス・ＤＢテーブルに保持された上位アドレス値と、下位処理層内の下位他ノードアドレステーブル内に保持された上位アドレスの下位バイト値、ＩＰアドレス及びメディアアドレスの組のうちのメディアアドレスを除く少なくとも１つの値とを書き換えることを特徴とする。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態を図に基づいて詳説する。図１は、ネットワーク１００の構成を示している。このネットワーク１００に参加する各ノード１０，１１，１２，…，１ｎは、家電機器に組込まれているマイクロコンピュータからパーソナルコンピュータ、通常のネットワークコンピュータまでのいずれかで構成される。
【００３１】
各ノード１ｉは、アプリケーション層Ｌ５、上位処理層Ｌ４、下位処理層Ｌ３、ＴＣＰ／ＩＰ層Ｌ２、下位メディア層Ｌ１の層構成である。各ノード１ｉのハードウェア構成は図２に示すようなものであり、上位処理層Ｌ４、下位処理層Ｌ３に置かれているアドレステーブルは図３〜図７に示す構成である。
【００３２】
図２を用いて、各ノード１ｉのハードウェア構成を説明する。ＣＰＵ２１は後述するアプリケーション層処理、上位処理層、下位処理層、ＴＣＰ／ＩＰ層、下位メディア層の各処理を行い、処理の結果取得した上位自己アドレス・ＤＢテーブル、上位他ノードアドレス・ＤＢテーブル、下位自己アドレステーブル、下位他ノードアドレステーブルの各値をＲＡＭ２２に書き込み、必要に応じてＲＡＭ２２から読み出す。ＲＡＭ２２にはａｌｉｖｅアドレスバッファも置かれている。ＣＰＵ２１はまた、ＲＡＭ２２に書き込んだ値をＲＯＭ２３に書き込み、また必要に応じてＲＯＭ２３から読み出す。ＲＡＭ２２はＤＲＡＭであり、ＲＯＭ２３はフラッシュＲＯＭ、ＥＥＰＲＯＭのような不揮発性メモリである。
【００３３】
下位メディア層ハード処理ブロック２４は変復調回路と送受信物理層で成り、ＣＰＵ２１内の下位メディア層Ｌ１により生成されたパケットを受け取り、変調して適切なタイミングで無線、電灯線、専用線（イーサネットなど）等の伝送路２５上に送出する。下位メディア層ハード処理ブロック２４はまた、他ノードより無線、電灯線、専用線（イーサネットなど）等の伝送路２５を通じて送られて来るパケットを受け取り、適切に復調してＣＰＵ２１内の下位メディア層に受け渡す。
【００３４】
次に、各ノード１ｉのアドレステーブルの構造を、図３〜図７を用いて説明する。図３に示す上位自己アドレス・ＤＢテーブル３１には、上位自己アドレス、上位個体識別番号、自己メディアアドレス、自己機器ＩＤ（ここでは、ＩＤ０としている）と少なくとも１つのオブジェクトコード、オブジェクトプロパティコード、オブジェクトプロパティデータ値との組が格納されている。
【００３５】
図４に示す上位他ノードアドレス・ＤＢテーブル３２には、自己のノードではなく、通信対象となる機器の各種データが格納されている。通信対象機器１〜ｎ毎に相手の上位アドレス、上位個体識別番号、メディアアドレス、機器ＩＤ（ここでは、ＩＤ１〜ＩＤｎとしている）と少なくとも１つのオブジェクトコード、オブジェクトプロパティコード、オブジェクトプロパティデータ値との組が格納されている。
【００３６】
図５に示す下位自己アドレステーブル３３には、下位メディアが通信するときに必要な自己のＮｏｄｅＩＤ、ＩＰアドレス、メディアアドレスが保存されている。
【００３７】
図６に示す下位他ノードアドレステーブル３４には、下位メディアが通信するときに必要な相手のＮｏｄｅＩＤ、ＩＰアドレス、メディアアドレスが保存されている。
【００３８】
図７に示すａｌｉｖｅアドレスバッファ３５は、新規立ち上がりノードや、重複ＮｏｄｅＩＤを送信したノードが、個別応答アドレス応答コマンドにて返してくる上位アドレス、上位個体識別番号、メディアアドレス、ＩＰアドレスをいったんプールしておくバッファである。処理が終わるとクリアされる。
【００３９】
次に、種々のアドレスの意味について説明する。
【００４０】
＜上位アドレス＞上位アドレスは、ＮｅｔＩＤ、ＮｏｄｅＩＤより構成されている。そして、ＮｏｄｅＩＤは、ネットワーク内でユニークな値、ＮｅｔＩＤはネットワーク毎に割り当てられるユニークな値である。上位処理層Ｌ４は、上位アドレスを指定してネットワーク１００上のノードを識別し操作する。この値はメディアアドレス、ＩＰアドレス、ＮｏｄｅＩＤ、上位アドレス、上位個体識別番号と、ある不定期間は対応付けされている。すなわち上位個体識別番号とこれに不変に対応するメディアアドレス、これらに対するＩＰアドレス、ＮｏｄｅＩＤ、上位アドレスの組は変動値である。
【００４１】
＜上位個体識別番号＞上位アドレスは頻繁に変更するが、この上位個体識別番号の値は、複数のネットワークから成るドメイン内でもユニークな値である。この上位個体識別番号は、後述されるメディアアドレス、若しくはメディアアドレスとハードウェアＩＤとの組で代用させることもできる。
【００４２】
＜機器ＩＤ＞機器ＩＤは、各ノード内の自機器、管理他機器のメディアアドレス又は個体識別番号毎にユニークに割り付けられる値である。本ノード内での管理他機器が削除されれば欠番とする。また、初期の上位自己アドレス・ＤＢテーブル３１、上位他ノードアドレス・ＤＢテーブル３２上に保管され、新たに管理他機器を上位他ノードアドレス・ＤＢテーブル３２に登録する場合には、既に使用されている機器ＩＤ以外から自動選択して決定してもよい。アプリケーション層Ｌ５は、この値で管理機器を識別する。
【００４３】
＜オブジェクトコード＞オブジェクトコードは幾つかの機器分類に基づき、多数のクラスに分けてコード化されたものである。また同一クラスで複数個ある場合の識別用に、インスタンスコードが含まれることもある。多種類の家電機器を制御する家庭内ＬＡＮの場合で言えば、例えば、エアコン１番、エアコン２番、換気扇１番、換気扇２番などのコードである。
【００４４】
＜オブジェクトプロパティコード＞オブジェクトプロパティコードは、機器分類のクラス毎に持っているデータの種別を示すコードである。上述したエアコンならば、設定温度、風量などのコードである。
【００４５】
＜オブジェクトプロパティデータ値＞オブジェクトプロパティデータ値は、オブジェクトプロパティコードの実際の値である。上述したエアコンであれば、冷房温度２７℃、起動時刻１８：００、停止時刻２２：００といったものである。
【００４６】
＜ＩＰアドレス＞ＩＰアドレスは、いわゆるインターネットアドレスである。ＩＰｖ４では３２ビット、ＩＰｖ６では１２８ビットである。そして、後述するシーケンスにおいて用いるＩＰアドレス取得要求コマンド、ＩＰアドレス付与コマンドは、ＲＦＣ（Request For Comments）で定められたプロトコルにしたがっており、ＤＨＣＰサーバよりＩＰアドレスが付与され、付与値は一定のリース期間が過ぎると更新される可変値である。また不変値であるリンクローカルアドレスというＤＨＣＰサーバ不要の自己宣言型のアドレスもある。
【００４７】
＜メディアアドレス＞メディアアドレスは、上位個体識別番号と不変に対応する値であり、通信ノード固有値である。このメディアアドレスは、場合によってはメディア種別（無線、イーサネット、電灯線等の伝送路の種別）を示すハードウェアＩＤと組の値を指すこともあるが、少なくともメディア種別毎に世界ユニークな値である。
【００４８】
次に、図１に示したネットワーク１００において、各ノード１ｉのアプリケーション層Ｌ５、上位処理層Ｌ４、下位処理層Ｌ３、ＴＣＰ／ＩＰ層Ｌ２、下位メディア層Ｌ１それぞれの機能について説明する。
【００４９】
（ａ）アプリケーション層Ｌ５は、機器ＩＤを指定し上位処理層Ｌ４に置かれているオブジェクトコード、オブジェクトプロパティコード、オブジェクトプロパティデータ等を操作したり特定値を読み出したりする。
【００５０】
（ｂ）上位処理層Ｌ４には、上位自他ノードアドレス・ＤＢテーブル３１，３２が置かれていて、アプリケーション層Ｌ５からの操作に応じて、上位アドレスを送受信元とし、オブジェクトコード、オブジェクトプロパティコード、オブジェクトプロパティデータ等を含むメッセージを、下位処理層Ｌ３との間で交換する。
【００５１】
（ｃ）下位処理層Ｌ３には、下位自他アドレステーブル３３，３４が置かれていて、上位処理層Ｌ４からのあて先アドレスをこの層Ｌ３でＩＰアドレスに変換してＴＣＰ／ＩＰ層Ｌ２に渡す。また下位処理層Ｌ３はアドレステーブル処理を行うが、そのために、この層Ｌ３には後述する独自のメッセージが用意されている。
【００５２】
（ｄ）ＴＣＰ／ＩＰ層Ｌ２では、ＩＰアドレスで管理され、またＲＦＣで規定されているプロトコルで他ノードのＴＣＰ／ＩＰ層Ｌ２と通信する。
【００５３】
（ｅ）下位メディア層Ｌ１は、ＩＰアドレスをメディアアドレスにマッピングし、ＴＣＰ／ＩＰ層Ｌ２から引き渡されるメッセージをカプセル化し、メディア独自の変調機能により他ノードに伝送路２５を通じて送信する。また、他ノードから伝送路２５を通じて送られてきたデータを復調し、ＴＣＰ／ＩＰ層Ｌ２に引き渡す。
【００５４】
次に、層間の通信データについて説明する。
【００５５】
（１−１）アプリケーション層Ｌ５から上位処理層Ｌ４への出力データは、機器ＩＤ、上位処理層Ｌ４内に機器ＩＤに対応して格納されているオブジェクトコード、オブジェクトプロパティコード、オブジェクトプロパティデータ値、オブジェクトプロパティデータ値操作コード（書き込み、読み出しなど）である。したがって、機器ＩＤに対応して格納されているオブジェクトコード、オブジェクトプロパティコードを指定して、オブジェクトプロパティデータ値の他ノードヘ送信することができる。
【００５６】
（１−２）上位処理層Ｌ４からアプリケーション層Ｌ５へのデータは、機器ＩＤとオブジェクトコード、オブジェクトプロパティコード、オブジェクトプロパティデータ値のイベント返却、又は、アプリケーション層Ｌ５から上位処理層Ｌ４へ指定された機器ＩＤに対応して格納されているオブジェクトコード、オブジェクトプロパティコードを指定したオブジェクトプロパティデータ値（受信、受信済み値取得）である。
【００５７】
（２）上位処理層Ｌ４、下位処理層Ｌ３間の入出力データは、上位処理層用ヘッダ、送信元上位アドレス、あて先上位アドレス、データ長、送信元オブジェクトコード、あて先オブジェクトコード、送信元オブジェクトプロパティコード、あて先オブジェクトプロパティコード、送信元オブジェクトプロパティデータ値、あて先オブジェクトプロパティデータ値、あて先オブジェクトプロパティデータ値操作コード（書き込み、読み出しなど）、チェックサムである。
【００５８】
また、個別応答アドレス応答コマンドデータを生成するために、下位処理層Ｌ３より上位処理層Ｌ４に要求を出したときには、上位処理層Ｌ４は保持している自己の上位自己アドレスと上位自己個体識別番号を下位処理層Ｌ３に受け渡す。
【００５９】
個別応答アドレス応答コマンドデータを受け取ったノードの上位処理層Ｌ４では、下位処理層Ｌ３より上位アドレスと上位個体識別番号の組をもらい、後述する上位他ノードアドレス・ＤＢテーブル３２の書き換え処理▲１▼を行う。すなわち、上位他ノードアドレス・ＤＢテーブル３２上に既に保存されている上位個体識別番号に対応する上位アドレスであれば、それをａｌｉｖｅアドレスバッファ３５に保存されている上位個体識別番号に対応する上位アドレス値で書き換える。
【００６０】
新規立ち上がりノード１０がルータより受け取る個別応答ＮｅｔＩＤｓ読み出し応答コマンドにより、下位処理層Ｌ３から上位処理層Ｌ４に引き渡されるＮｅｔＩＤと下位処理層Ｌ３が保持しているＮｏｄｅＩＤとを受け取り、上位自己アドレス・ＤＢテーブル３１にその上位自己アドレス値として上位個体識別番号に対応させて書き込む。これは後述する上位自ノードアドレス・ＤＢテーブル３１の更新処理▲５▼に相当する。
【００６１】
ドメイン内同報による上位自己個体識別番号と登録上位アドレス値通知コマンドにて、新規立ち上がりノード１０の上位処理層Ｌ４からノード間通信を経由して立ち上がり済みノード１ｉの下位処理層Ｌ３より上位処理層Ｌ４に渡される自己個体識別番号と新規上位アドレス値更新要求により、当該立ち上がり済みノード１ｉの上位他ノードアドレス・ＤＢテーブル３２の上位他ノード個体識別番号に相当する上位他ノードアドレス値を書き換え更新する。これは、後述する上位他ノードアドレス・ＤＢテーブル更新処理▲６▼に相当する。
【００６２】
（３）下位処理層Ｌ３、ＴＣＰ／ＩＰ層Ｌ２間の入出力データは、下位処理層用ヘッダ、あて先下位アドレス、上位処理層用ヘッダ、送信元上位アドレス、あて先上位アドレス、送信元オブジェクトコード、あて先オブジェクトコード、送信元オブジェクトプロパティコード、あて先オブジェクトプロパティコード、送信元オブジェクトプロパティデータ値、あて先オブジェクトプロパティデータ値、あて先オブジェクトプロパティデータ値操作コード（書き込み、読み出しなど）、チェックサムである。
【００６３】
立ち上がり済みノード１ｉより伝送路２５の通信を経由して個別応答アドレス応答コマンドデータを受け取った新規立ち上がりノード１０の下位処理層Ｌ３は、この個別応答アドレス応答コマンドデータをＴＣＰ／ＩＰ層Ｌ２より受け取り、ａｌｉｖｅアドレスバッファ３５に一時保管されている上位アドレスとメディアアドレス、ＩＰアドレス値、上位個体識別番号から、上位他ノードアドレス・ＤＢテーブル３２の書き換え処理▲１▼で書き換えられた上位個体識別番号情報を上位処理層Ｌ４より通知され、これに対応するメディアアドレス、上位アドレスの下位バイト値（ＮｏｄｅＩＤ）、ＩＰアドレス値を初期化時にフラッシュされた下位他ノードアドレステーブル３４に書き込む。下位他ノードアドレステーブル３４には、受け取った全てのデータの組を書き込む。これは、後述する下位他ノードアドレステーブル全書き換えデータ処理▲２▼に相当する。
【００６４】
新規立ち上がりノード１０から伝送路２５の通信を介してアドレス追加コマンドを受信した立ち上がり済みノード１ｉにおいては、ＮｏｄｅＩＤとメディアアドレス、ＩＰアドレスの組がＴＣＰ／ＩＰ層Ｌ２から下位処理層Ｌ３に渡されるが、このコマンドとデータにより下位他ノードアドレステーブル３４上にメディアアドレスに対応する値が既にある場合のみ、ＮｏｄｅＩＤとＩＰアドレスとの組を新規値により上書きする。これは後述する下位他ノードアドレステーブル更新処理▲３▼に相当する。
【００６５】
新規立ち上がりノード１０は、立ち上がり済みノード１ｉから送信された個別応答アドレス重複通知コマンドが新規立ち上がりノード１０のＴＣＰ／ＩＰ層Ｌ２よりアドレス追加コマンドを送信してから所定のＴ２秒以内に帰ってこないときには、後述する下位自ノードアドレステーブル更新処理▲４▼を行う。すなわち下位自ノードアドレステーブル３３の自己メディアアドレスに対応するＮｏｄｅＩＤとＩＰアドレスとの組を書き込む処理を行う。
【００６６】
ＩＰアドレス通知コマンドは、ＴＣＰ／ＩＰ層Ｌ２からＩＰアドレスが変化した時に通知される新ＩＰアドレスを獲得し、新ＩＰアドレスと自己メディアアドレスをネットワーク一斉同報のデータとしてＴＣＰ／ＩＰ層Ｌ２に引き渡す。このＩＰアドレス通知コマンドを受け取ったノードは、ＴＣＰ／ＩＰ層Ｌ２より新ＩＰアドレスと対応メディアアドレスとの組を受け取るので、下位他ノードアドレステーブル３４に受け取ったメディアアドレスと同じ値があれば、その対応するＩＰアドレスを受け取った値に更新する。
【００６７】
（４）ＴＣＰ／ＩＰ層Ｌ２、下位メディア層Ｌ１間の入出力データは、ＴＣＰ／ＩＰ処理用ヘッダ、送信元ＩＰアドレス、あて先ＩＰアドレス、下位処理層用ヘッダ、上位処理層用ヘッダ、送信元上位アドレス、あて先上位アドレス、送信元オブジェクトコード、あて先オブジェクトコード、送信元オブジェクトプロパティコード、あて先オブジェクトプロパティコード、送信元オブジェクトプロパティデータ値、あて先オブジェクトプロパティデータ値、あて先オブジェクトプロパティデータ値操作コード（書き込み、読み出しなど）、チェックサムである。なお、あて先下位アドレスは、ＴＣＰ／ＩＰ層Ｌ２で下位アドレステーブル３４によりあて先ＩＰアドレスに変換される。
【００６８】
（５）下位メディア層Ｌ１の入出力データは、下位メディア処理用ヘッダ、送信元メディアアドレス、あて先メディアアドレス、ＴＣＰ／ＩＰ処理用ヘッダ、送信元ＩＰアドレス、あて先ＩＰアドレス、下位処理層用ヘッダ、上位処理層用ヘッダ、送信元上位アドレス、あて先上位アドレス、送信元オブジェクトコード、あて先オブジェクトコード、送信元オブジェクトプロパティコード、あて先オブジェクトプロパティコード、送信元オブジェクトプロパティデータ値、あて先オブジェクトプロパティデータ値、あて先オブジェクトプロパティデータ値操作コード（書き込み、読み出しなど）、チェックサムである。なお、あて先ＩＰアドレスは、下位メディア層Ｌ１にて下位アドレステーブルによりあて先メディアアドレスに変換される。
【００６９】
以上の各層間の入出力データはバイトコードに変換されて受け渡しされるが、データ形式は、図８に示すようなものである。上位処理層Ｌ４の出力データＤ１は、送信元上位アドレス、あて先上位アドレス、オブジェクト関連データ、そして上位処理層用ヘッダである。また、下位処理層Ｌ３は上位処理層Ｌ４の出力データに対して、さらに下位処理層用ヘッダを付加したデータＤ２をＴＣＰ／ＩＰ処理層Ｌ２に出力する。ＴＣＰ／ＩＰ層Ｌ２におけるＴＣＰ処理層は、下位処理層Ｌ３の出力データＤ２に対して、送信元ポート番号、あて先ポート番号、チェックサムと共に、ＵＤＰ処理用ヘッダを付加したデータＤ３を出力する。そしてＴＣＰ／ＩＰ層Ｌ２におけるＩＰ処理層は、ＴＣＰ処理層のデータＤ３に対してさらに、送信元ＩＰアドレス、あて先ＩＰアドレス、チェックサムと共にＩＰ処理用ヘッダを付加したデータＤ４を下位メディア処理層Ｌ１に出力する。そして、下位メディア処理層Ｌ１は、ＩＰ処理層からのデータＤ４に対して、さらに、送信元メディアアドレス、あて先メディアアドレス、チェックサムと共に、下位メディア処理用ヘッダを付加し、伝送路２５に出力する。
【００７０】
ここで、ＴＣＰ／ＩＰ層Ｌ２では、実際はＴＣＰの代わりにＵＤＰが使用される。ＲＦＣで定められたプロトコルである。
【００７１】
上位処理層用ヘッダは、上位処理層Ｌ４にて付加する個別、同報種別、ルータホップカウンタ数、電文種類などを示すバイトコードである。
【００７２】
下位処理層用ヘッダは、下位処理層Ｌ３にて付加するコードであり、通常データ電文と下位層処理用電文などを識別するバイトコードである。
【００７３】
ＴＣＰ／ＩＰ処理用ヘッダは、ＴＣＰ／ＩＰ層Ｌ２で付加するコードであり、ＵＤＰ層とＩＰ層各々で付加する。内容はＲＦＣで定められている。
【００７４】
下位メディア処理用ヘッダは、下位メディア処理層Ｌ１で付加するコードであり、メディア制御処理のためのメディア固有のバイトコードである。
【００７５】
次に、図１に示すネットワーク１００におけるネットワークアドレス管理方法について、図９〜図１６のシーケンスを用いて説明する。まず、この実施の形態のシーケンスで用いられる各種コマンドについて説明する。
【００７６】
＜サブネット内同報アドレス問い合わせコマンド１Ａ＞このコマンドは下位処理層Ｌ３で生成されてＴＣＰ／ＩＰ層Ｌ２に出力され、さらに下位メディア層Ｌ１に出力される。
【００７７】
（ａ）下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２ヘは、サブネット内同報指示が出力され、これには、下位処理層用ヘッダ、他ノードアドレス問い合わせコード、チェックサムを含むデータを渡す。
【００７８】
（ｂ）ＴＣＰ／ＩＰ層Ｌ２から下位メディア層Ｌ１へは、（ａ）項のサブネット内同報指示のデータに対して、さらに、ＴＣＰ／ＩＰ処理用ヘッダ、送信元ＩＰアドレス、あて先サブネット内同報ＩＰアドレスを付加したデータを渡す。
【００７９】
（ｃ）下位メディア層Ｌ１から伝送路２５へは、（ｂ）項のデータに対して、さらに、下位メディア処理用ヘッダ、送信元メディアアドレス、あて先同報メディアアドレスを付加したデータを送り出す。
【００８０】
これら（ａ）〜（ｃ）のいずれのデータ要素も、図８に示したような各バイトコード値の並びに変換されて受け渡される。
【００８１】
＜個別応答アドレス応答コマンド２Ａ＞このコマンドは、上記のサブネット内同報アドレス問い合わせコマンド１Ａに対する応答として、受け取った全ノードそれぞれの下位処理層Ｌ３で生成されてＴＣＰ／ＩＰ層Ｌ２に出力され、さらに下位メディア層Ｌ１に出力される。各ノードの下位処理層Ｌ３はこのノードの保持している自己上位アドレス、上位個体識別番号、メディアアドレス、ＩＰアドレスの組を各々の上位自己アドレス・ＤＢテーブル３１、下位自己アドレステーブル３３より獲得する。
【００８２】
（ａ）下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２へは、あて先はサブネット内同報アドレス問い合わせコマンド送信元ＩＰアドレスとし、下位処理層用ヘッダ、アドレス応答コード、自己上位アドレス、自己上位個体識別番号、自己メディアアドレス、自己ＩＰアドレス、チェックサムを含むデータを渡す。
【００８３】
（ｂ）ＴＣＰ／ＩＰ層Ｌ２から下位メディア層Ｌ１へは、（ａ）項のデータに対して、ＴＣＰ／ＩＰ処理用ヘッダ、送信元ＩＰアドレス、あて先ＩＰアドレス（サブネット内同報アドレス問い合わせコマンド送信元ＩＰアドレス）を付加したデータを渡す。
【００８４】
（ｃ）下位メディア層Ｌ１から伝送路２５へは、（ｂ）項のデータに対してさらに、下位メディア処理用ヘッダ、送信元メディアアドレス、あて先メディアアドレス（サブネット内同報アドレス問い合わせコマンド送信元メディアアドレス）を付加したデータを送り出す。
【００８５】
これら（ａ）〜（ｃ）のいずれのデータ要素も、図８のような各バイトコード値の並びに変換されて受け渡される。
【００８６】
＜サブネット内同報アドレス追加コマンド３Ａ＞このコマンドは新規立ち上がりノードの下位処理層Ｌ３で生成されてＴＣＰ／ＩＰ層Ｌ２に出力され、さらに下位メディア層Ｌ１に出力される。
【００８７】
（ａ）下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２へは、あて先をサブネット内同報として、下位処理層用ヘッダ、アドレス追加コード、下位層で決める自己ＮｏｄｅＩＤ、自己メディアアドレス、自己ＩＰアドレス、チェックサムを含むデータを渡す。
【００８８】
（ｂ）ＴＣＰ／ＩＰ層Ｌ２から下位メディア層Ｌ１へは、（ａ）項のデータに対して、ＴＣＰ／ＩＰ処理用ヘッダ送信元ＩＰアドレス、あて先ＩＰアドレス（サブネット内同報）のデータを付加して渡す。
【００８９】
（ｃ）下位メディア層Ｌ１から伝送路２５へは、（ｂ）項のデータに対してさらに、下位メディア処理用ヘッダ、送信元メディアアドレス、あて先メディアアドレス（サブネット内同報アドレス）を付加したデータを送り出す。
【００９０】
なお、（ａ）〜（ｃ）のいずれのデータ要素も、図８のような各バイトコード値の並びに変換されて受け渡される。
【００９１】
＜個別応答アドレス重複通知コマンド４Ａ＞このコマンドは、立ち上がり済みノードの下位処理層Ｌ３で生成され、サブネット内同報アドレス追加コマンド３Ａにて受け取った送信元ＮｏｄｅＩＤと下位アドレステーブル内に保持しているＮｏｄｅＩＤが等しいときにＴＣＰ／ＩＰ層Ｌ２に出力され、さらに下位メディア層Ｌ１に出力される。
【００９２】
（ａ）下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２へは、あて先をサブネット内同報アドレス追加コマンド送信元とし、下位処理層用ヘッダ、アドレス重複通知コード、自己保持上位アドレス、保持上位自己個体識別番号、保持自己メディアアドレス、保持自己ＩＰアドレスを通知する。
【００９３】
引き渡すデータは、受け取った保持上位自己個体識別番号、保持自己メディアアドレス、保持自己ＩＰアドレス、チェックサムである。
【００９４】
（ｂ）ＴＣＰ／ＩＰ層Ｌ２から下位メディア層Ｌ１へは、（ａ）項のデータに対して、ＴＣＰ／ＩＰ処理用ヘッダ、送信元ＩＰアドレス、あて先ＩＰアドレス（サブネット内同報アドレス追加コマンド送信元）を付加して渡す。
【００９５】
（ｃ）下位メディア層Ｌ１から伝送路２５へは、（ｂ）項のデータに対してさらに、下位メディア処理用ヘッダ、送信元メディアアドレス、あて先メディアアドレス（サブネット内同報アドレス追加コマンド送信元）を付加して送り出す。
【００９６】
また、アドレステーブルを完成して通常の通信をしている間に、受け取った電文の中のＮｏｄｅＩＤと自己のＮｏｄｅＩＤとが等しい場合には、電文を受け取ったノードが個別応答アドレス重複通知コマンドを送信元に出し、受け取った通常通信パケットの送信元ノードは、図１１のシーケンスに示す一連の重複解決処理を行う。
【００９７】
ここでも、（ａ）〜（ｃ）のいずれのデータ要素も図８のような各バイトコード値の並びに変換されて受け渡される。
【００９８】
＜サブネット内同報ＮｅｔＩＤｓ読み出し要求コマンド５Ａ＞このコマンドは、新規立ち上がりノード１０の上位処理層Ｌ４でＮｏｄｅＩＤが決定されたときに生成され、下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２に出力され、さらに下位メディア層Ｌ１に出力される。
【００９９】
（ａ）上位処理層Ｌ４から下位処理層Ｌ３へは、あて先をサブネット内同報として、上位処理層用ヘッダ、送信元上位アドレス（ＮｅｔＩＤ＝０、自己ＮｏｄｅＩＤ）、あて先上位アドレス（サブネット内同報）、あて先オブジェクトコード（ルータ）、送信元オブジェクトプロパティコード（ルータ）、あて先オブジェクトプロパティコード（ＮｅｔＩＤ）、あて先オブジェクトプロパティデータ値操作コード（読み出し）、チェックサムのデータを渡す。
【０１００】
（ｂ）下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２へは、あて先をサブネット内同報アドレスにして、（ａ）項のデータに対して下位処理層用ヘッダを付加して渡す。
【０１０１】
（ｃ）ＴＣＰ／ＩＰ層Ｌ２から下位メディア層Ｌ１へは、（ｂ）項のデータに対して、ＴＣＰ／ＩＰ処理用ヘッダ送信元ＩＰアドレス、あて先ＩＰアドレス（サブネット内同報）を付加して渡す。
【０１０２】
（ｄ）下位メディア層Ｌ１から伝送路２５へは、（ｃ）項のデータに対してさらに、下位メディア処理用ヘッダ、送信元メディアアドレスあて先メディアアドレス（サブネット内同報）を付加して送り出す。
【０１０３】
なお、（ａ）〜（ｄ）のいずれのデータ要素も、図８のような各バイトコード値の並びに変換されて受け渡される。
【０１０４】
＜個別応答ＮｅｔＩＤｓ読み出し応答コマンド６Ａ＞このコマンドは、立ち上がり済みルータノードの上位処理層Ｌ４で、上のサブネット内同報ＮｅｔＩＤｓ読み出し要求コマンド５Ａの応答として生成され、下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２に出力され、さらに下位メディア層Ｌ１に出力される。
【０１０５】
（ａ）上位処理層Ｌ４から下位処理層Ｌ３ヘは、サブネット内同報ＮｅｔＩＤｓ読み出し要求コマンド送信元をあて先として、上位処理層用ヘッダ、送信元上位アドレス（ルータの取得済み値）、あて先上位アドレス（サブネット内同報ＮｅｔＩＤｓ読み出し要求コマンド送信元）、送信元オブジェクトコード（ルータ）、送信元オブジェクトプロパティコード（ＮｅｔＩＤ）、オブジェクトプロパティデータ（ルータＮｅｔＩＤ値）、オブジェクトプロパティデータ値操作コード（通知）、チェックサムのデータを渡す。
【０１０６】
（ｂ）下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２ヘは、サブネット内同報ＮｅｔＩＤｓ読み出し要求コマンド送信元をあて先として、（ａ）項のデータに対して、下位処理層用ヘッダを付加したデータを渡す。
【０１０７】
（ｃ）ＴＣＰ／ＩＰ層Ｌ２から下位メディア層Ｌ１へは、（ｂ）項のデータに対してさらに、ＴＣＰ／ＩＰ処理用ヘッダ、送信元ＩＰアドレス、あて先ＩＰアドレス（サブネット内同報ＮｅｔＩＤｓ読み出し要求コマンド送信元あて）を付加して渡す。
【０１０８】
（ｄ）下位メディア層Ｌ１から伝送路２５へは、（ｃ）項のデータに対してさらに、下位メディア処理用ヘッダ、送信元メディアアドレス、あて先メディアアドレス（サブネット内同報ＮｅｔＩＤｓ読み出し要求コマンド送信元）を付加したデータを送り出す。
【０１０９】
ここでも、（ａ）〜（ｄ）のいずれの各データ要素も、図８のような各バイトコード値の並びに変換されて受け渡される。
【０１１０】
＜ドメイン内同報上位自己個体識別番号と登録上位アドレス値通知コマンド７Ａ）＞このコマンドは、新規立ち上がりノード１０の上位アドレス値取得後に上位処理層Ｌ４で生成され、下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２に出力され、さらに下位メディア層Ｌ１に出力される。新規立ち上がりノード１０の上位アドレスと個体識別番号を一斉同報し、これを受け取ったドメイン内ノード各々は、自己の上位他ノードアドレステーブルの個体識別番号に相当する全上位他ノードアドレス値の更新を行う。
【０１１１】
（ａ）上位処理層Ｌ４から下位処理層Ｌ３ヘは、ドメイン内同報あてにして、上位処理層用ヘッダ、送信元上位アドレス、あて先上位アドレス（ドメイン内同報）、送信先オブジェクトコード（ノードプロファイル）、送信先オブジェクトプロパティコード（テーブル書き換え更新）、オブジェクトプロパティデータ（対象個体識別番号、対象上位アドレス）、オブジェクトプロパティデータ値操作コード（通知）、チェックサムのデータを渡す。
【０１１２】
（ｂ）下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２ヘは、ドメイン内同報あてにして、（ａ）項のデータに対して下位処理層用ヘッダを付加したデータを渡す。
【０１１３】
（ｃ）ＴＣＰ／ＩＰ層Ｌ２から下位メディア層Ｌ１へは、（ｂ）項のデータに対して、ＴＣＰ／ＩＰ処理用ヘッダ、送信元ＩＰアドレス、あて先ＩＰアドレス（ドメイン内同報）を付加して渡す。
【０１１４】
（ｄ）下位メディア層Ｌ１から伝送路２５へは、（ｃ）のデータに対してさらに、下位メディア処理用ヘッダ、送信元メディアアドレス、あて先メディアアドレス（ドメイン内同報）を付加して送り出す。
【０１１５】
なお、（ａ）〜（ｄ）のいずれの各データ要素も、図８のような各バイトコード値の並びに変換されて受け渡される。
【０１１６】
＜ＩＰアドレス通知コマンド８Ａ＞このコマンドは、ＴＣＰ／ＩＰ層Ｌ２からＩＰアドレスが変化した時に通知される新ＩＰアドレスを獲得し、新ＩＰアドレスと自己メディアアドレスとをデータとしてサブネット一斉同報としてＴＣＰ／ＩＰ層Ｌ２に引き渡される。
【０１１７】
（ａ）下位処理層Ｌ３からＴＣＰ／ＩＰ層Ｌ２へは、あて先をサブネット内同報として、下位処理層用ヘッダ、ＩＰアドレス通知コード、新ＩＰアドレス、自己メディアアドレス、チェックサムのデータを渡す。
【０１１８】
（ｂ）ＴＣＰ／ＩＰ層Ｌ２から下位メディア層Ｌ１へは、（ａ）項のデータに対して、ＴＣＰ／ＩＰ処理用ヘッダ、送信元ＩＰアドレス、あて先ＩＰアドレス（サブネット内同報）を付加して渡す。
【０１１９】
（ｃ）下位メディア層Ｌ１から伝送路２５へは、（ｂ）のデータに対してさらに、下位メディア処理用ヘッダ、送信元メディアアドレス、あて先メディアアドレス（サブネット内同報アドレス）を付加したデータにして送り出す。
【０１２０】
なお、（ａ）〜（ｃ）のいずれの各データ要素も、図８のような各バイトコード値の並びに変換されて受け渡される。
【０１２１】
次に、図９及び図１０のシーケンスを参照して、任意の１つのノードがネットワーク１００から離脱した後、再参入する時のドメイン内のノード各々のアドレス管理処理について説明する。この処理は、図１に示すようなネットワーク１００において、新規ノード又は一時的にネットワーク１００から離脱していたノード１０がネットワーク１００に参加する場合の処理手順である。
【０１２２】
新規ノード１０は最終的には上位処理層Ｌ４で使用するアドレス（上位アドレス、すなわちＮｅｔＩＤ、ＮｏｄｅＩＤの組）を取得する。また、一時的にネットワーク１００から離脱していたノード１０が再参入する際には、そのノード１０内に登録されていたかつての通信相手のアドレス、また自分のアドレスとして上位自他アドレス・ＤＢ（データベース）テーブル３１，３２、下位自他アドレステーブル３３，３４に登録されていた上位アドレス、ＮｏｄｅＩＤ、ＩＰアドレス等を再書き換えする必要がある。また一時的にネットワーク１００から離脱していたノード１０の通信相手として既に立ち上がっているノード１１，１２，…それぞれの内に登録されているアドレスデータ、すなわち上位他ノードアドレス・ＤＢテーブル３２、下位他ノードアドレステーブル３４に登録されている当該再参入ノード１０に相当する上位アドレス、ＮｏｄｅＩＤ、ＩＰアドレス等を新規に取得した値で再書き換えする必要もある。このための手順を説明する。
【０１２３】
まず、新規ノード１０は下位他ノードアドレステーブル３４の内容とＦｌａｇはクリアにしておく。その後、所定の下位メディアレベルで決められた手順により、既に形成されているネットワーク１００に参入する（ステップＳ１）。
【０１２４】
次に、ＴＣＰ／ＩＰプロトコルにてＩＰアドレスをＤＨＣＰサーバなどよりＲＦＣ２１３１等で定められたプロトコルにて取得する（ステップＳ２）。
【０１２５】
その後、立ち上がりノード１０からアドレス問い合わせコマンド１Ａをサブネット内同報にて送信する（ステップＳ３）。そして、全応答返却予測時間Ｔ１の間ウエイトする（ステップＳ４）。
【０１２６】
これに対して、ネットワーク１００上に存在するノード１１〜１ｎ各々は、保持している自己上位アドレス、上位個体識別番号、メディアアドレス、ＩＰアドレスをアドレス応答コマンド２Ａにて新規立ち上がりノード１０に返す（ステップＳ５）。
【０１２７】
新規立ち上がりノード１０は、そのａｌｉｖｅアドレスバッファ３５に受信した全上位アドレス、メディアアドレス、上位個体識別番号、ＩＰアドレスを保持する。そして、この時に受け取った全上位アドレスのＮｅｔＩＤが上位自ノードアドレステーブルに書かれている全てのＮｅｔＩＤと等しいならばＦｌａｇ＝１としておく（ステップＳ６，Ｓ７）。このことは、新規ノード１０はかつて参加していた同一ネットワークにあり、単に電源が落ちていたことを示すので、その後の処理が分岐する。
【０１２８】
次に、新規ノード１０内の上位他ノードアドレステーブル書き込み処理▲１▼と下位他ノードアドレステーブル書き込み処理▲２▼を行う（ステップＳ８）。上位他ノードアドレステーブル書き込み処理▲１▼での書き換えデータは、新規ノード１０の上位他ノードアドレス・ＤＢテーブル３２内に保持された上位個体識別番号に対応するａｌｉｖｅアドレスバッファ３５内の上位個体識別番号に対応する上位アドレス値である。この処理▲１▼は、かつてこのノードが通信していた相手先情報の書き換えであり、かつて登録してある相手情報を示す個体識別番号に相当する上位アドレス値を更新する処理である。通信相手でなかったノードからのデータでは更新されない。
【０１２９】
続いて、下位他ノードアドレステーブル書き込み処理▲２▼を行う。この処理▲２▼での書き換えデータは、上の処理▲１▼で書き換えた上位アドレスの上位個体識別番号又はメディアアドレスに対応するａｌｉｖｅアドレスバッファ３５内のメディアアドレス、ＩＰアドレス、上位アドレスの下位値（ＮｏｄｅＩＤ）である。これは、新規ノード１０が通信相手先として指定するためのアドレス情報として必要なためである。また完全に新規な新規立ち上がりノード１０の場合には、上位他ノードアドレス・ＤＢテーブル３２内にデータが存在しないので、これらの処理▲１▼、▲２▼を行わない。
【０１３０】
次に、自ノードの自己上位アドレス用下位バイト値（ＮｏｄｅＩＤ）の仮決定ステップＳ９に移る。このステップＳ９では、下位自ノードアドレステーブル３３にかつて使用していた値があり、上の処理で書き込んだ下位他ノードアドレステーブル３４の上位アドレス用下位バイト値（ＮｏｄｅＩＤ）と異なる場合（ｃａｓｅ１）は、このＮｏｄｅＩＤ値を使用し、そうでない場合（ｃａｓｅ２）には、下位他ノードアドレステーブル３４のＮｏｄｅＩＤを除いた値の内から乱数値によりＮｏｄｅＩＤ値を仮決定する。
【０１３１】
次に、ステップＳ９で仮決めした自己上位アドレス用下位バイト値（ＮｏｄｅＩＤ）と既に存在する自己メディアアドレス、自己ＩＰアドレスをアドレス追加コマンド３Ａにてサブネット内同報通知する（ステップＳ１０）。そして、所定の時間Ｔ２だけウエイトする（ステップＳ１１）
このアドレス追加コマンド３Ａを受け取った立ち上がり済みの他ノード１ｉは、下位他ノードアドレステーブル更新処理▲３▼に移る（ステップＳ１２）。すなわち、各受信立ち上がり済みノード１ｉは、下位他ノードアドレステーブル３４に保持しているメディアアドレスと受け取ったメディアアドレスとが同じならば、受け取ったＮｏｄｅＩＤ、ＩＰアドレスの組で上書きする。かつての通信相手が現在立上げ処理中にあるノード１０であったならば、この書き換えが実際に行われる。
【０１３２】
かつての通信相手でないノードが現在立上げ処理中のノード１０である場合には、アドレス追加コマンド３Ａを受け取っても何もしない。ただし、アドレス応答コマンドやアドレス問い合わせコマンドが送信された時に不通だったノードの中には、アドレス追加コマンド３Ａで受け取ったＮｏｄｅＩＤが下位自己アドレステーブル３３内にあるＮｏｄｅＩＤと一致する場合も考えられるので、この時には、自己上位アドレス、自己上位個体識別番号、自己メディアアドレス、自己ＩＰアドレスを送信元、すなわち新規立ち上がりノード１０に個別応答アドレス重複通知コマンド４Ａとして通知する（ステップＳ１３）。
【０１３３】
新規ノード１０は、Ｔ２秒間待っても重複通知コマンド４Ａが受信されず、しかもステップＳ７でＦｌａｇ＝１、かつステップＳ９でｃａｓｅ１であった場合には、ここで立ち上げ処理を終了する。なぜならば新規ノードがかつてネットワーク１００内に参加していた時と現在とで上位アドレスが同じものを使用でき、再確定する必要がないからである。
【０１３４】
新規ノード１０はＴ２秒間待ち、アドレス重複通知コマンド４Ａを受信すれば、新規ノード１０内のａｌｉｖｅアドレスバッファ３５に受け取った上位アドレス、上位個体識別番号、メディアアドレス、ＩＰアドレスを追記し、ステップＳ７へ戻り、ＮｏｄｅＩＤの仮決め処理を、空き番号を乱数的に選択しながら繰り返し行う（ステップＳ１４）。
【０１３５】
アドレス重複通知コマンド４Ａを受信するたびにステップＳ７〜Ｓ１４の処理を繰り返すが、何回かの繰り返しでＴ２秒間のウエイト中にアドレス重複通知コマンド４Ａが受信されず、自己上位アドレス用下位バイト値（ＮｏｄｅＩＤ）が決定されると、ステップＳ１５の新規ノードの下位自ノードアドレステーブル更新処理▲４▼に移る。
【０１３６】
ステップＳ１５では、決定した自己ＮｏｄｅＩＤで自己メディアアドレス、ＩＰアドレスに対比させて下位自ノードアドレステーブル３３を書き換える。
【０１３７】
次に、自己上位アドレス用上位バイト値（ＮｅｔＩＤ）の決定処理に移る（ステップＳ１６）。この処理では、新規立ち上がりノード１０からサブネット内同報のＮｅｔＩＤｓ読み出し要求コマンド５Ａを送り、ルータからのＮｅｔＩＤｓ読み出し応答コマンド６Ａを受け取り、このコマンド６Ａに含まれているＮｅｔＩＤを保持する。ただし、ステップＳ７でＦｌａｇ＝１にセットしていた場合には、本工程はスキップする。
【０１３８】
続いて、新規ノード１０はａｌｉｖｅアドレスバッファ３５をクリアし、Ｆｌａｇを０クリアする（ステップＳ１７）。
【０１３９】
次に、新規ノード１０は、自己上位アドレス決定・上位自ノードアドレスステップ更新処理▲５▼を行う。この処理▲５▼では、ステップＳ１５で保持した自己上位アドレス用下位バイト値（ＮｏｄｅＩＤ）とステップＳ１６で保持した自己上位アドレス用上位バイト値（ＮｅｔＩＤ）より自己上位アドレスを決定し、上位自ノードアドレス・ＤＢテーブル３１内の上位アドレス値を更新する。そして、上位自己個体識別番号と登録上位アドレス値通知コマンド７Ａをドメイン内一斉同報する（ステップＳ１８）。
【０１４０】
上位自己個体識別番号と登録上位アドレス値通知コマンド７Ａを受け取った各ノード１ｉでは、上位他ノードアドレステーブル更新処理▲６▼を行う（ステップＳ１９）。この処理▲６▼では、各ノード１ｉは、自己の保持する上位他ノードアドレス・ＤＢテーブル３２に同報通知された個体識別番号と等しい上位個体識別番号があれば、対応する保持上位アドレス値を通知された上位アドレス値で書き換える。これにより、かつての通信相手として本新規ノード１０が登録してあったノードにおいて、その上位他ノードアドレス・ＤＢテーブル３２内の上位アドレスが正しく更新され、全ての処理が終了する。
【０１４１】
次に、図１２〜図１４のシーケンスを用いて、本実施の形態のネットワークシステムによる、立上げ処理が終わり互いに通信を開始してからのネットワークアドレス管理方法について説明する。
【０１４２】
既に立ち上がっているノード１ｉでも、まれに通信障害によりあるコマンドが不通になった時には、同一ネットワーク内に同一ＮｏｄｅＩＤが存在するようになる場合がある。本ネットワークアドレス管理方法によれば、そのような場合のアドレス競合を解決することができる。このネットワークアドレス管理方法の基本的な処理は、図９〜図１１のシーケンスに示した新規立ち上がりノードに対するネットワークアドレス管理方法の処理と共通する。
【０１４３】
あるノード１１が他のノード１２〜１ｎに通常通信でデータ送信した時に（ステップＳ３０）、送信元のＮｏｄｅＩＤと受信元のＮｏｄｅＩＤとが等しければ、該当する受信側のノード１ｉで重複を検知することができる。そこで、受信ノード１ｉは送信元ノード１１にアドレス重複通知コマンド４Ａを送信する（ステップＳ３１）。
【０１４４】
送信元ノード１１は、Ｔ３秒間の内にこのアドレス重複通知コマンド４Ａを受け取れば、アドレス問い合わせコマンド１Ａをサブネット内同報する（ステップＳ３２，Ｓ３３）。
【０１４５】
続いて、送信元ノード１１は、Ｔ１秒間ウエイトし（ステップＳ３４）、アドレス問い合わせコマンド１Ａに対する各ノード１２〜１ｎ全てからのアドレス応答コマンド２Ａを受信し、図９のステップＳ７〜Ｓ１４と類似の手順で再度、送信元ノード１１にてＮｏｄｅＩＤの空き番号の中から乱数的にＮｏｄｅＩＤを選定して決め直す（Ｓ３５〜Ｓ４３）。
【０１４６】
以下のステップＳ４４〜Ｓ４８の手順は、図１１のシーケンスのステップＳ１５〜Ｓ１９の手順と同じである。
【０１４７】
これにより、立上げ処理が終わり互いに通信を開始してから、同一ネットワーク１００内に同一ＮｏｄｅＩＤが存在するようになる障害が発生しても、自動的にアドレスの再決定を行い、自律的に障害から回復することができる。
【０１４８】
次に、図１５、図１６のシーケンスを用いて、ＩＰアドレスのアドレステーブルの更新処理について説明する。図１５のシーケンスに示すように、ＩＰアドレスは、通常、ルータに内蔵されているＤＨＣＰサーバにより動的にリース期間付きで各ノード１１〜１ｎに配布される。このプロトコルはＲＦＣ２１３１により規定されており、ＤＨＣＰ  ＯＦＦＥＲ又はＤＨＣＰ  ＲＥＱＵＥＳＴ（ステップＳ６１−１，Ｓ６１−ｉ）によりクライアント側からＵＤＰプロトコルによりＤＨＣＰサーバに要求され、ＤＨＣＰサーバがこれに応答してＤＨＣＰ  ＡＣＫメッセージとして、適当なＩＰアドレスをリースとして要求クライアントに返す（ステップＳ６２−１，Ｓ６２−ｉ）。
【０１４９】
各ノード１１〜１ｎは、ＩＰアドレスを受け取ると下位処理層Ｌ３内の下位自己アドレステーブル３３内に保持しているＩＰアドレスを書き換える（ステップＳ６３−１，Ｓ６３−ｉ）。また、この時、ＩＰアドレスが変化したノードでは、新ＩＰアドレスと自己メディアアドレスとをデータとしてＩＰアドレス通知コマンド８Ａをサブネット内一斉同報し、受信したノードで下位他ノードアドレステーブル３４内のメディアアドレスに対応するＩＰアドレスを更新する（ステップＳ６４−１，Ｓ６４−ｉ）。
【０１５０】
また、図１６のシーケンスに示すように、ステップＳ７１で送信メッセージを上位処理層Ｌ４から下位処理層Ｌ３に渡された送信元ノード１１は、自己の下位処理層Ｌ３内の下位他ノードアドレステーブル３４から、送信先となるノード１ｉのＮｏｄｅＩＤに対応するメディアアドレスとＩＰアドレスを割り出し、最初に送信を試みる。もし送信先のノード１ｉがＩＰアドレス通知コマンド８Ａを受信し損ねて、送信元ノード１１のＩＰアドレスを正しく受信できなかった場合、送信元ノード１１はＩＰアドレス通知コマンド８Ａを送信しても応答が帰ってこないので、所定のタイムアウト時間を超えたら、ＲＦＣで規定されているＡＲＰコマンドにより、送信先となるノード１ｉの前述の割り出し済みのメディアアドレスを指定し、対応ＩＰアドレスを返却要求するメッセージをサブネット内同報する（ステップＳ７２）。
【０１５１】
このＡＲＰコマンドに対する応答として、自己メディアアドレスが指定メディアアドレスと一致しているノード１ｉは、自己ＩＰアドレスを送信元ノード１１に返却する（ステップＳ７３）。
【０１５２】
送信元ノード１１は、この値を受信すれば、自己の下位処理層Ｌ３内の下位他ノードアドレステーブル３４内のメディアアドレスに対応するＩＰアドレス値を書き換える（ステップＳ７４，Ｓ７５）。
【０１５３】
送信元ノード１１では、下位処理層Ｌ３で獲得ＩＰアドレスを送信先ノード１ｉのＩＰアドレスとして、上位処理層Ｌ４より受け取った送信ペイロードデータをＴＣＰ／ＩＰ処理層Ｌ２に渡す（ステップＳ７６）。さらに送信元ノード１１では、ＴＣＰ／ＩＰ処理層Ｌ２が獲得ＩＰアドレスに対応している前述のメディアアドレスを送信先メディアアドレスとして下位メディア層Ｌ１にペイロードデータを渡し、下位メディア層Ｌ１が伝送路２５に送り出し、送信処理を終了する（ステップＳ７７，Ｓ７８）。
【０１５４】
このように、ＩＰアドレステーブルの更新は、各ノード１１〜１ｎの下位自己アドレステーブル３３内のＩＰアドレスについては、ＤＨＣＰサーバから新規値を受け取ったりＩＰアドレスが変化したりした時、またＩＰアドレス通知コマンド８Ａを受信したノードの下位他ノードアドレステーブル３４内に、コマンド８Ａと共に受け取ったメディアアドレスに該当するメディアアドレスがあり、その登録済みＩＰアドレス値を受信した値に書きかえる時、さらには、送信元ノードが送信直前にＡＲＰコマンドにて得た送信意図相手先のメディアアドレスに対応するＩＰアドレス値を得て、送信元ノード内の下位他ノードアドレステーブル３３内の値を書き換える時の３つの場合がある。
【０１５５】
これにより、本実施の形態のネットワークアドレス管理方法によれば、ネットワーク内にアドレスサーバを設けずとも、新規参入ノードが自律的、かつ自動的に適切なアドレスを取得することができ、また、既参入ノード間でアドレス競合が発生した場合にも、自律的、かつ自動的に適切なアドレスの再取得が可能である。
【０１５６】
次に、本発明の第２の実施の形態のネットワークアドレス管理方法について、図１７〜図２５を用いて説明する。本発明の第２の実施の形態は、各ノードの上位処理層、下位処理層、ＴＣＰ／ＩＰ層、下位メディア層各々が持つ互いに関連付けたネットワークアドレス、固有識別子を利用してプラグアンドプレイなどの初期化を終えた後、通常の通信をしている際に何らかの原因で上位アドレス及びＩＰアドレスが変化した時に、関連する値を自動的に修正し、通信に影響を与えないネットワークアドレス管理方法及びそれを使用するネットワークシステムであり、固定アドレスサーバなしで自律的にアドレスを取得する際のキーであるアドレステーブルの更新方法を特徴とする。
【０１５７】
各ネットワークノードＡ，Ｂ，Ｃ，…は、第１の実施の形態と同様に図１の階層構成であり、各ノード間では互いに、アプリケーション層Ｌ５、上位処理層Ｌ４、下位処理層Ｌ３、ＴＣＰ／ＩＰ層Ｌ２、下位メディア層Ｌ１それぞれの同一層間で同一のプロトコルで通信する。
【０１５８】
各ノードのハードウェア構成は、第１の実施の形態と同様に図２に示すものであり、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、下位メディア層ハード処理ブロック２４から構成され、下位メディア層ハード処理ブロック２４により伝送路２５に接続され、他ノードとの物理的な信号の受け渡しを行うことができる。
【０１５９】
各ノードＡ，Ｂ，Ｃ，…の各層Ｌ５〜Ｌ１の保有するアドレスは、第１の実施の形態と共通の図３、図４、そして図１７、図１８に示すものであって、上位処理層Ｌ４では上位アドレス（ＮｅｔＩＤとＮｏｄｅＩＤの組）、上位個体識別情報、下位処理層Ｌ３ではＮｏｄｅＩＤとＩＰアドレス、上位自己個体識別情報、メディアアドレス、ＴＣＰ／ＩＰ層Ｌ２ではＩＰアドレス、下位メデイア層Ｌ１ではメディアアドレスを保有している。
【０１６０】
ここで、上位アドレス（ＮｅｔＩＤとＮｏｄｅＩＤの組）のうち、自己ＮｏｄｅＩＤは下位処理層Ｌ３で取得されて保持され、かつ上位処理層Ｌ４に与えられて保持されている。自己ＮｅｔＩＤは上位処理層Ｌ４で得られて上位処理層Ｌ４で保持されている。また下位処理層Ｌ３では、自己ＩＰアドレスはＴＣＰ／ＩＰ層Ｌ２で得られたものを保持している。自己メディアアドレスは、自己下位メディア層Ｌ１が獲得し、下位処理層Ｌ３が保持している。上位個体識別情報は予め上位処理層Ｌ４が保持している。メディアアドレスは、世界ユニークな固有値として下位メデイア層Ｌ１が予め保持している。例えば、ＭＡＣアドレスがこれに相当する。
【０１６１】
また図３と図４、図１７と図１８に示すように、各々のアドレス値は自己のノードのアドレス値（自己アドレス）とこのノードの通信相手のアドレス値（他ノードアドレス）があり、第１の実施の形態で説明したネットワークアドレス管理方法により、初期のネットワークバインディング処理でアドレステーブル３１〜３４それぞれの該当箇所に登録される。
【０１６２】
本実施の形態のネットワークアドレス管理方法は、上位処理層Ｌ４、下位処理層Ｌ３、ＴＣＰ／ＩＰ層Ｌ２、下位メディア層Ｌ１各々の持つ互いに関連付けされたネットワークアドレス、固有識別子を利用してプラグアンドプレイなどの初期化を終えた後、通常の通信している際に、何らかの原因で上位アドレス及びＩＰアドレスが変化し、従来であれば通信が不可能になってしまう状況に陥ったときの自律的、自動的なアドレスの再取得に特徴を持ち、次の処理手順によりそれを行う。
【０１６３】
通常の通信をしている際に、何らかの原因で、上記により登録された通信相手ノードのＮｅｔＩＤとＮｏｄｅＩＤ、ＩＰアドレスが変化して正常な通信ができなくなる場合がある。例えば、ＮｅｔＩＤ、ＮｏｄｅＩＤについては、あるノードが別のネットワークから本実施の形態の対象としているネットワーク１００に移動してきた場合、あるいはプラグアンドプレイで重複発番されてしまった場合に起こり、ＩＰアドレスについては、そのリース期間が切れてＤＨＣＰサーバから再付与された場合に起こり得る。従来であれば、通信中にこのような状況が発生すれば直ちに通信不能となってしまっていた。
【０１６４】
しかしながら、本実施の形態のネットワークアドレス管理方法では、あるノード１０でそのようなことが起これば、その下位処理層Ｌ３で生成されるＩＰアドレス更新通知（更新通知側送信）、上位処理層Ｌ４で生成される上位アドレス異常発見通知、上位パケット不達通知の計３つのメッセージを使用し、ＴＣＰ／ＩＰ層Ｌ２に渡し、他ノード１ｉに送信する。またこのメッセージを受け取ったノード１ｉでは、その上位処理層Ｌ４、下位処理層Ｌ３は保持している他ノードあて先用ＩＰアドレス、ＮｅｔＩＤ、ＮｏｄｅＩＤを自動変更する。
【０１６５】
この機能は、図１９及び図２０に示した５つの関数Ｆ１〜Ｆ５を各ノードの上位処理層Ｌ４、下位処理層Ｌ３間に用意することによって実現している。なお、図１９に示した自己個体識別情報要求関数Ｆ２は、下位処理層Ｌ３が自己個体識別情報を上位処理層Ｌ４に要求し、受け取った値を下位処理層Ｌ３の下位自己アドレステーブル３３に保持するために必要なものである。また、関数なしでも下位処理層Ｌ３が上位処理層Ｌ４での個体識別情報保存アドレスを与えられ、必要な時に読み出すようにしてもよい。
【０１６６】
まず、本実施の形態で用いる特別なメッセージ各々の機能とデータ内容を説明する。
【０１６７】
＜ＩＰアドレス更新通知（更新通知側送信）＞この通知は、各ノードの下位処理層Ｌ３で生成され、ＴＣＰ／ＩＰ層Ｌ２にＵＤＰパケット生成用として渡される。
【０１６８】
いずれかのノードがＩＰアドレスを更新したときには、あて先をネットワーク内登録済みあて先の全ノードに、下位他ノードアドレステーブル３４に登録されているＩＰアドレスをあて先として送信する。ＩＰアドレス更新通知の受信側ノードは、その下位他ノードアドレステーブル３４において、通知された自己メディアアドレスに該当するものがあればそれに対応するＩＰアドレスを、通知された自己新ＩＰアドレスにて更新する。
【０１６９】
下位処理層Ｌ３がＴＣＰ／ＩＰ層Ｌ２に渡すバイトデータの内容は、パケットタイプ、ＩＰアドレス更新通知コード、自己新ＩＰアドレス、自己メディアアドレス、あて先メディアアドレスを含む。
【０１７０】
応答としてＩＣＭＰ不達通知を受け取ると、後述するように、自己のあて先ＩＰアドレステーブルを書き換え、最初のデータを再送する。
【０１７１】
＜ＡＣＫ（被通知側送信：他電文にも適用）＞この通知は、下位処理層Ｌ３で生成され、ＴＣＰ／ＩＰ層Ｌ２にＵＤＰパケット生成用として渡される。
【０１７２】
同報以外の全電文で正しく通知を受け取ったとき、あて先は送信元ノードとする。オリジナル電文の送信元ノードは、本電文を待ち受け送信がなくタイムアウトを超えると、初回送信したものと同一のものを再送する。
【０１７３】
下位処理層Ｌ３がＴＣＰ／ＩＰ層Ｌ２に渡すバイトデータの内容は、パケットタイプ、通知受理コードを含む。
【０１７４】
＜上位アドレス異常発見通知＞この通知は上位処理層Ｌ４で生成され、下位処理層Ｌ３に渡され，ＴＣＰ／ＩＰ層Ｌ２にＵＤＰパケット生成用として渡される。
【０１７５】
通常通信時には、上位処理層Ｌ４で送信元上位アドレス＝自己上位アドレスを発見した時（ＮｏｄｅＩＤ重複発見コード）、又はホップカウンタ数＝０でＮｅｔＩＤが自己≠送信元を発見した時（ＮｅｔＩＤ異常発見コード）に上位処理層Ｌ４で生成される。あて先はサブネット内の送信元ノードとする。上位アドレス異常発見通知の受信先ノードでは、その上位処理層Ｌ４が下位処理層Ｌ３に初期化を指示する。
【０１７６】
上位処理層Ｌ４が下位処理層Ｌ３に渡すバイトデータの内容は、上位処理層用ヘッダ（ホップカウンタ数等含む）、送信元上位アドレス、あて先上位アドレス、初期化指示コードを含む。
【０１７７】
＜上位パケット不達通知＞この通知は、上位処理層Ｌ４で生成され、下位処理層Ｌ３に渡され、ＴＣＰ／ＩＰ層Ｌ２にＵＤＰパケット生成用として渡される。
【０１７８】
各ノードでは、上位処理層Ｌ４であて先上位アドレスと自己上位アドレスのＮｅｔＩＤが等しく、ＮｏｄｅＩＤが異なる場合、上位処理層Ｌ４の指示で下位処理層Ｌ３がこの通知を送信する。あて先指定は上位データフレームの送信元ノードである。この上位パケット不達通知の受信元ノードでは、他ノードあて先アドレスを書き換える。
【０１７９】
上位処理層Ｌ４が下位処理層Ｌ３に渡すバイトデータの内容は、上位処理層用ヘッダ（ホップカウンタ数等含む）、送信元上位アドレス、あて先上位アドレス、不達通知コード、自己個体識別惰報、自己上位アドレス、受信全上位フレームを含む。
【０１８０】
次に、図２１のシーケンスを用いて、上記３つの場合それぞれでの自動的、自律的なアドレス取得手順を説明する。送信元ノードＡの上位処理層Ｌ４から他ノードあてに必要なメッセージを送信する（ステップＳ１０１，Ｓ１０３，Ｓ１０５，Ｓ１１０）。このとき、第１の実施の形態と同様に図８のデータフレームＤ１〜Ｄ５の形で下位処理層Ｌ３〜下位メディア層Ｌ１に順次に渡し、下位メディア層Ｌ１から伝送路２５に出力する。
【０１８１】
送信元ノードＡからメッセージを受け取った各ノードＢ，Ｃ，…の中であて先メディアアドレスが自ノードのメディアアドレスと等しいとき、当該ノード（ノードＢとする）の下位メディア層Ｌ１は、受信したメッセージから下位メディア処理用ヘッダを取り除き、ＴＣＰ／ＩＰ層Ｌ２に渡す。ここでＴＣＰ／ＩＰ層Ｌ２に渡されたデータフレームＤ４のあて先ＩＰアドレスが自ノードのものと一致すれば、あて先ノードＢからはＵＤＰパケットで、ＡＣＫメッセージが返信され、伝送が正常に行われたものとして送信を終了する（ステップＳ１０３）。しかし、所定時間内にＡＣＫメッセージがあて先ノードＢから返信されて来なければ、再送処理を行う。
【０１８２】
通常通信のためにノードＡから上述したデータフレームのメッセージが送出されると（ステップＳ１０１，Ｓ１０３，Ｓ１０５，Ｓ１１０）、ノードＢはあて先メディアアドレスが自ノードのメディアアドレスと等しいので、その下位メディア層Ｌ１で受信したメッセージから下位メディア処理用ヘッダを取り除き、ＴＣＰ／ＩＰ層Ｌ２に渡すが、このＴＣＰ／ＩＰ層Ｌ２に渡されたデータフレームＤ４のあて先ＩＰアドレスが自ノードのものと不一致の場合は、渡されたデータフレームを廃棄し、図２３のフレーム形式のＩＣＭＰ不達通知を送信元ノードＡのＩＰアドレスに向けて送信する（ステップＳ１１１）。
【０１８３】
なお、ＴＣＰ／ＩＰ層Ｌ２では、図２３のデータフレームに対し、そのタイプデータの前にＵＤＰヘッダ、ＩＰヘッダを付加して下位メディア層Ｌ１に渡し、下位メディア層Ｌ１はこれにさらに下位メディア処理用ヘッダを付加して送り出す。また、このＩＣＭＰ不達通知はＲＦＣ７９２，１８５５で記述されているのである。
【０１８４】
ＩＣＭＰ不達通知を受け取った送信元ノードＡの下位処理層Ｌ３は、以下の処理を行う。すなわち、受信したＩＣＭＰメッセージＤ１０のペイロードに含まれるノードＡが送信したメッセージの中の、あて先ＩＰアドレスに相当するノードＡの下位処理層Ｌ３内の下位他ノードアドレステーブル３４に保持されているＩＰアドレスに対応するＩＰアドレスを、ＩＣＭＰ不達通知の送信元ＩＰアドレスに書き換え、ノードＡは再度ＩＣＭＰメッセージ内のペイロードデータのＩＰヘッダを取り除いた初回と同一メッセージを、更新したＩＰアドレスあてに再送する（ステップＳ１１２）。
【０１８５】
これにより、あて先ＩＰアドレスの送信ノード内の他ノードアドレステーブル保持値を自動的に修正し、自動再送することができるのである。
【０１８６】
次に、いずれかのノードにおいてＩＰアドレスが更新された場合に、ＩＰアドレスの更新に伴う下位処理層Ｌ３内の保持アドレスの自動訂正処理について説明する。ＩＰアドレスが変更されたノードＡは、ＩＰアドレス更新通知メッセージをその下位処理層Ｌ３で生成し、自己の下位他ノードアドレステーブル３４にあて先として登録されている全ノード（ここでは、ノードＢ，Ｃとする）に個別に送信する（ステップＳ１０８）。ここで、ブロードキャスト（同報）で送信しないで、個別にノードを特定して通知することにより、トラフィックが節約できる。
【０１８７】
自己のＩＰアドレスが変更になったという通知を送信元ノードＡより受け取ったノードＢ，Ｃ各々の下位処理層Ｌ３は、ＩＰアドレス更新通知メッセージに含まれる自己新ＩＰアドレス、自己メディアアドレスから下位他ノードアドレステーブル３４に保持されているメディアアドレスに相当するＩＰアドレスを書き換える。そしてＵＤＰパケットでＡＣＫメッセージを送信元ノードＡに通知する（ステップＳ１０９）。
【０１８８】
次に、自己上位アドレスの訂正手順について説明する。この場合は送信元ノードＡの自己アドレスが変更になり、ネットワークに参加している他のノード（ここでも、ノードＢとする）のアドレスと一致するようになった場合には、送信元ノードＡの上位アドレスを訂正する処理に移行する。これに、次のような手順で実行される。
【０１８９】
ステップＳ１０３で送信元ノードＡよりノードＢあてに送ったパケットのあて先ＩＰアドレスがノードＢの自己ＩＰアドレスに等しいときは、ノードＢではそのＴＣＰ／ＩＰ層Ｌ２において受信データからＴＣＰ／ＩＰヘッダを取り除き、上位処理層Ｌ４に渡す。このとき、上位処理層Ｌ４では、受け取った図２２のデータフレームＤ１中の送信元上位アドレスが自己上位アドレスと一致することを発見すれば、又はホップカウンタ数＝０でＮｅｔＩＤが自己のものと送信元のものとが不一致であることを発見すれば、図２４に示すような上位アドレス異常発見通知データフレームＤ１１を生成して下位処理層Ｌ３に渡す。同時に、受信元のＮｏｄｅＩＤを下位処理層Ｌ３にあて先指示し、下位処理層Ｌ３はＴＣＰ／ＩＰ層Ｌ２に、渡されたＮｏｄｅＩＤに対応するＩＰアドレスをあて先として送信元ノードＡに送信する（ステップＳ１０４）。
【０１９０】
上位アドレス異常発見通知データフレームを受け取った送信元ノードＡでは、その上位処理層Ｌ４が図１９、図２０に示した初期化開始関数Ｆ３を下位処理層Ｌ３に発行し、下位処理層Ｌ３はアドレス再取得開始処理に移行する。
【０１９１】
最後に、各ノードの下位処理層Ｌ３内のあて先ＮｏｄｅＩＤと上位処理層Ｌ４内の上位他ノードアドレス・ＤＢテーブル３２に保持されている上位他ノードアドレスの自動訂正処理について説明する。ステップＳ１０５でノードＡからノードＢに渡った図２２のデータフレームＤ１で、あて先上位アドレスと自己上位アドレスのＮｅｔＩＤが等しく、ＮｏｄｅＩＤが異なる場合、受信先ノードＢの上位処理層Ｌ４は図２５に示す上位パケット不達通知データフレームＤ１２を生成する。これは上位処理層用ヘッダ（ホップカウンタ数等含む）、送信元上位アドレス、あて先上位アドレス、不達通知コード自己個体識別情報、自己上位アドレス、受信した全上位フレームを含むバイトデータであり、あて先は受信元上位アドレスのＮｏｄｅＩＤとして、下位処理層Ｌ３に渡し、送信元ノードＡに送信する（ステップＳ１０６）。
【０１９２】
上位パケット不達通知データフレームＤ１２を受け取ったノードＡでは、上位処理層Ｌ４がその管理している上位他ノードアドレス・ＤＢテーブル３２にある個体識別情報を検索し、上位パケット不達通知データフレーム中の自己個体識別情報と等しい上位アドレスを、受け取ったフレームＤ１２中の自己上位アドレスで上書きする。次に、図１９、図２０に示す関連他ノード下位アドレス通知（Ｆ１）により、書き換えた上位アドレス相当のＮｏｄｅＩＤと対応個体識別情報を下位処理層Ｌ３に受け渡す。これを受け取った下位処理層Ｌ３は、下位他ノードアドレステーブル３４で管理している個体識別情報に対応するＮｏｄｅＩＤを、上位処理層Ｌ４から受け取った値で上書きする。
【０１９３】
上位処理層Ｌ４は、関連他ノード下位アドレス通知（Ｆ１）を発行してから所定時間が経過した後、上位パケット不達通知データフレームＤ１２に含まれる、受信した全上位フレームの中の上位処理層用ヘッダ（ホップカウンタ数＝０とする）とあて先上位アドレスを、上で更新した値（すなわち上位パケット不達通知データフレームの送信元上位アドレス）で書き換え、あて先上位アドレスの中のＮｏｄｅＩＤをあて先として指定し、書き換えたフレームを送信データとして下位処理層Ｌ３に引き渡す。これら一連の処理により書き換えられた送信元ノードＡの上位処理層Ｌ４内、下位処理層Ｌ３内にある他ノードアドレステーブル値に基づき、上位処理層Ｌ４は再度最初と同一データ内容にて、図２２のデータフレームＤ１を再生成し、ノードＢあてに再送する（ステップＳ１０７）。
【０１９４】
【発明の効果】
以上のように本発明によれば、ネットワークに新規に参入するノードのアドレスをアドレスサーバなしで自律的、かつ自動的に決定することができ、またネットワーク離脱状態から再参入したノードに対しも自律的、自動的にアドレスを決定し、かつ従前通りに通信できるようにすることができる。
【０１９５】
また、本発明によれば、各ノードの初期化が終了し、各アドレスがいったん取得された後、アドレスが変更になってアドレス競合が起こり、従来であれば通信が破綻するような場合でも、自動的にアドレス修復して通信を継続することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態のネットワークアドレス管理方法を使用するネットワークシステムのブロック図。
【図２】上記実施の形態のネットワークアドレス管理方法を使用する処理機能を備えたコンピュータのブロック図。
【図３】上記実施の形態のネットワークアドレス管理方法を使用する処理機能を備えたコンピュータが管理する上位自己アドレス・ＤＢテーブル。
【図４】上記実施の形態のネットワークアドレス管理方法を使用する処理機能を備えたコンピュータが管理する上位他ノードアドレス・ＤＢテーブル。
【図５】上記実施の形態のネットワークアドレス管理方法を使用する処理機能を備えたコンピュータが管理する下位自己アドレステーブル。
【図６】上記実施の形態のネットワークアドレス管理方法を使用する処理機能を備えたコンピュータが管理する下位他ノードアドレステーブル。
【図７】上記実施の形態のネットワークアドレス管理方法を使用する処理機能を備えたコンピュータが管理するａｌｉｖｅアドレスバッファのデータテーブル。
【図８】上記実施の形態のネットワークアドレス管理方法を使用する処理機能を備えたコンピュータの各処理層が出力するデータフレーム。
【図９】上記実施の形態による新規ノードのネットワーク参入時のシーケンス図（１／３）。
【図１０】上記実施の形態による新規ノードのネットワーク参入時のシーケンス図（２／３）。
【図１１】上記実施の形態による新規ノードのネットワーク参入時の手順を示すシーケンス図（３／３）。
【図１２】上記実施の形態による立ち上がり済みノード群でのアドレス重複解決の手順を示すシーケンス図（１／３）。
【図１３】上記実施の形態による立ち上がり済みノード群でのアドレス重複解決の手順を示すシーケンス図（２／３）。
【図１４】上記実施の形態による立ち上がり済みノード群でのアドレス重複解決の手順を示すシーケンス図（３／３）。
【図１５】上記実施の形態によるＩＰアドレス更新の手順のシーケンス図（１／２）。
【図１６】上記実施の形態によるＩＰアドレス更新の手順のシーケンス図（２／２）。
【図１７】本発明の第２の実施の形態のネットワークアドレス管理方法を使用するコンピュータが管理する下位自己アドレステーブル。
【図１８】上記第２の実施の形態のネットワークアドレス管理方法を使用するコンピュータが管理する下位他ノードアドレステーブル。
【図１９】上記の第２の実施の形態のネットワークアドレス管理方法を使用するコンピュータの上位処理層と下位処理層との間でアドレス管理のために使用する関数表（その１）。
【図２０】上記の第２の実施の形態のネットワークアドレス管理方法を使用するコンピュータの上位処理層と下位処理層との間でアドレス管理のために使用する関数表（その２）。
【図２１】上記の第２の実施の形態によるＮｏｄｅＩＤとＩＰアドレスの更新手順を示すシーケンス図。
【図２２】上記の実施の形態のネットワークアドレス管理方法を使用するコンピュータにおいて上位処理層と下位処理層との間で受け渡される通常のデータフレーム。
【図２３】上記の実施の形態のネットワークアドレス管理方法で使用するＩＣＭＰメッセージのフレーム。
【図２４】上記の実施の形態のネットワークアドレス管理方法を使用するコンピュータにおいて上位処理層と下位処理層との間で受け渡される上位アドレス異常発見通知のデータフレーム。
【図２５】上記の実施の形態のネットワークアドレス管理方法を使用するコンピュータにおいて上位処理層と下位処理層との間で受け渡される上位パケット不達通知のデータフレーム。
【符号の説明】
Ａ，Ｂ，Ｃ，…  ノード
１０，１１，１２，…，１ｎ  ノード
２１  ＣＰＵ
２２  ＲＡＭ
２３  ＲＯＭ
２４  下位メディア層ハード処理ブロック
２５  伝送路
３１  上位自己アドレス・ＤＢテーブル
３２  上位他ノードアドレス・ＤＢテーブル
３３  下位自己アドレステーブル
３４  下位他ノードアドレステーブル
３５  ａｌｉｖｅアドレスバッファ
Ｌ１  下位メディア層
Ｌ２  ＴＣＰ／ＩＰ層
Ｌ３  下位処理層
Ｌ４  上位処理層
Ｌ５  アプリケーション層
【図１】
0003920644.tif 000002
【図２】
0003920644.tif 000003
【図３】
0003920644.tif 000004
【図４】
0003920644.tif 000005
【図５】
0003920644.tif 000006
【図６】
0003920644.tif 000007
【図７】
0003920644.tif 000008
【図８】
0003920644.tif 000009
【図９】
0003920644.tif 000010
【図１０】
0003920644.tif 000011
【図１１】
0003920644.tif 000012
【図１２】
0003920644.tif 000013
【図１３】
0003920644.tif 000014
【図１４】
0003920644.tif 000015
【図１５】
0003920644.tif 000016
【図１６】
0003920644.tif 000017
【図１７】
0003920644.tif 000018
【図１８】
0003920644.tif 000019
【図１９】
0003920644.tif 000020
【図２０】
0003920644.tif 000021
【図２１】
0003920644.tif 000022
【図２２】
0003920644.tif 000023
【図２３】
0003920644.tif 000024
【図２４】
0003920644.tif 000025
【図２５】
0003920644.tif 000026