(57)【特許請求の範囲】
【請求項１】
ネットワークに接続され、少なくとも物理層とその上位層から構成される階層構造のインタフェースを有するノードであるネットワーク機器のネットワークアドレスと物理アドレスに対して有効時間を使ったネットワークアドレスの管理を行うノード管理方法であって、
前記ネットワークアドレスと前記物理アドレスとが対応づけられて記述されている少なくとも１つ以上のエントリからテーブルデータを形成及び記憶するテーブル作成工程と、
前記物理層に対する前記物理アドレスの付け替えが生起されたとき、当該付け替え時のテーブルデータに含まれる全ての前記エントリを無効にするためのフラグ処理を当該エントリ毎に行うアドレス設定工程と、
前記物理層に対する前記物理アドレスの付け替えが生起されたとき、前記ネットワークに接続されている全ての機器が、自己の前記エントリを前記全ての機器に報知するためのパケットを当該ネットワークに送信して、前記全ての機器に自己の前記エントリを報知するアドレス報知工程と
を有することを特徴とするノード管理方法。
【請求項２】
前記ネットワークアドレスまたは前記物理アドレスの少なくとも一方が、前記ネットワークに接続されている前記全ての機器の各々が自己当てだと考える特別のアドレスを用いる
ことを特徴とする請求項１に記載のノード管理方法。
【請求項３】
少なくとも物理層とその上位層から構成される階層構造のインタフェースを有するノードであるネットワーク機器の各々とネットワーク間に介設され、ネットワーク機器のネットワークアドレスと物理アドレスに対して有効時間を使ったネットワークアドレスの管理を行うネットワークアダプタであって、
前記ネットワークアドレスと前記物理アドレスとが対応づけられて記述されている少なくとも１つ以上のエントリからテーブルデータを形成及び記憶するために上位層に設けられたテーブル管理手段と、
前記物理層に対する前記物理アドレスの付け替えが生起されたとき、当該付け替え時のテーブルデータに含まれる全ての前記エントリを無効にするためのフラグ処理を当該エントリ毎に行うアドレス設定手段と、
前記物理層に対する前記物理アドレスの付け替えが起こったことを物理層が検知したとき、前記ネットワークに接続されている全ての機器が、自己の前記エントリを前記全ての機器に報知するためのパケットを当該ネットワークに送信して、前記全ての機器に自己の前記エントリを報知するために上位層に設けられたアドレス報知手段と、
前記ネットワーク機器のバスと所定のデータ通信を行うためのバスインタフェースとを有する
ことを特徴とするネットワークアダプタ。
【請求項４】
前記ネットワークアドレスまたは前記物理アドレスの少なくとも一方が、前記ネットワークに接続されている前記全ての機器の各々が自己当てだと考える特別のアドレスを用いる
ことを特徴とする請求項３に記載のネットワークアダプタ。
【請求項５】
ネットワークに接続され、少なくとも物理層とその上位層とが記憶されているノードであるネットワーク機器のネットワークアドレスと物理アドレスに対して有効時間を使ったネットワークアドレスの管理を行うノード管理方法が記憶された記録媒体であって、
前記ネットワークアドレスと前記物理アドレスとが対応づけられて記述されている少なくとも１つ以上のエントリからテーブルデータを形成及び記憶するテーブル作成処理を記述したプログラムコードと、
前記物理層に対する前記物理アドレスの付け替えが生起されたとき、当該付け替え時のテーブルデータに含まれる全ての前記エントリを無効にするためのフラグ処理を当該エントリ毎に行うプログラムコードと、
前記物理層に対する前記物理アドレスの付け替えが生起されたとき、前記ネットワークに接続されている全ての機器が、自己の前記エントリを前記全ての機器に報知するためのパケットを当該ネットワークに送信して、前記全ての機器に自己の前記エントリを報知するアドレス報知のプログラムコードとが記憶されている
ことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク技術に関し、特に、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＩＥＥＥ１３９４（ＩＥＥＥ：米国電気電子技術者協会）などに代表される高速シリアルインターフェイスを利用して、その上でＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などの既存のネットワークインターフェイスを用いたデータ通信を行うノードを管理するためのノード管理方法、このノード管理方法を実行するネットワークアダプタ、及びノード管理方法のプログラムコードが記録されコンピュータによって読み取り及び／または実行が可能な記録媒体に関する。
【０００２】
【従来の技術】
近年、高速シリアルインターフェイスの普及が著しく、ＰＣ９８（米国マイクロソフト社が提唱しているパソコン（ＰＣ）規格）等の規格でもＵＳＢやＩＥＥＥ１３９４などの高速なシリアルインターフェイスを採用することが推奨または義務づけられている。その結果、将来のＰＣなどにはこれらの高速シリアルインターフェイス規格が普及することが確実なものになっている。
【０００３】
これらのインターフェイス規格の特徴の一つに、通常、Ｐｌｕｇ＆Ｐｌａｙ（米国インテル社と先程のマイクロソフト社が提唱している一方式、ＰｎＰ）と呼ばれる、ユーザが、機器を動作させたままの状態で、ＰＣＩバスやＳＣＳＩバス等の拡張バススロットに拡張ボード（アドオンボード）や周辺機器のケーブルを装着したりあるいは抜脱したりできるという機能がある。このＰｎＰ機能を実現するには、種々の機能を組み合わせることが必要である。
【０００４】
このようなＰｎＰ機能を実現するために、前述のＵＳＢやＩＥＥＥ１３９４は、拡張バススロットに拡張ボードや周辺機器を装着あるいは抜脱した際、各機器（特に、ネットワーク機器）のアドレス（ノードアドレス）を動的に付け直す機能をサポートしている。
【０００５】
近年ネットワーク化の動きは急速であり、ＰＣの世界にもネットワーク化が普及する傾向にあるものの、現状では、ＰＣをネットワーク化するためには、イーサネットカード等のネットワークカードなどの特別な機器を購入する必要がある。
【０００６】
しかしながら、高速シリアルインターフェイスがＰＣに標準装備されるようになれば、高速シリアルインターフェイスを利用してネットワークを実現することで、利用者は特別の支出をすることなくネットワークを構築でき、有益であると考えられている。
【０００７】
ここで、高速シリアルインターフェイスを利用してネットワークを実現することを考えた場合、現在利用されているネットワークの実現方法とあまりにも違う手段を利用すると、既存のネットワーク環境を大きく変更する必要が生じ、普及する際の障害となりうる。そこで現在もっとも普及しているノード管理方法であるＴＣＰ／ＩＰなどがそのままＩＥＥＥ１３９４などのシリアルインターフェイス上に実現されることが好ましいと考えられている。
【０００８】
【発明が解決しようとする課題】
しかしながら、ＴＣＰ／ＩＰ技術をそのままＩＥＥＥ１３９４などのシリアルインターフェイス上で実現する際に問題になることの一つが、先ほど説明したようなＵＳＢやＩＥＥＥ１３９４などの高速シリアルインターフェイスでは、拡張バススロットに拡張ボードや周辺機器を装着あるいは抜脱した際にネットワーク機器に付いているノードアドレス（物理アドレス）が動的に変化してしまうことである。
【０００９】
現在のＴＣＰ／ＩＰのようなネットワークインターフェイスでは、ネットワークインターフェイスの物理アドレスは不変かつ固定であり、ネットワーク機器の物理アドレスは頻繁には変化しないことを仮定している。このため、ネットワークが利用するネットワークアドレスと物理アドレスを変換する機構は、動的に物理アドレスが変更されることにうまく対応できないという問題点があった。
【００１０】
本発明は、このような従来の問題点を解決することを課題としており、特に、ＵＳＢやＩＥＥＥ１３９４で構成が変わった際に、ネットワークアドレスと物理アドレスとの変換テーブルを、効率よく再構成し、その結果、物理アドレスが動的に変更される環境でも、既存のネットワークが等価的にかつ効率を損なうことなく実行できるノード管理方法、ネットワークアダプタ、及び記録媒体を実現することを目的としている。
【００１５】
【課題を解決するための手段】
請求項１に記載の発明は、ネットワークに接続され、少なくとも物理層とその上位層から構成される階層構造のインタフェースを有するノードであるネットワーク機器のネットワークアドレスと物理アドレスに対して有効時間を使ったネットワークアドレスの管理を行うノード管理方法であって、前記ネットワークアドレスと前記物理アドレスとが対応づけられて記述されている少なくとも１つ以上のエントリからテーブルデータを形成及び記憶するテーブル作成工程と、前記物理層に対する前記物理アドレスの付け替えが生起されたとき、当該付け替え時のテーブルデータに含まれる全ての前記エントリを無効にするためのフラグ処理を当該エントリ毎に行うアドレス設定工程と、前記物理層に対する前記物理アドレスの付け替えが生起されたとき、前記ネットワークに接続されている全ての機器が、自己の前記エントリを前記全ての機器に報知するためのパケットを当該ネットワークに送信して、前記全ての機器に自己の前記エントリを報知するアドレス報知工程とを有するノード管理方法である。
【００１６】
請求項１に記載の発明によれば、物理層に対する前記物理アドレスの付け替えが生起されたときにアドレス報知工程を実行し、ネットワークに接続されている全ての機器が、自己のエントリを全ての機器に報知するためのパケットをネットワークに送信して、前記全ての機器に自己のエントリを報知し、このアドレス設定工程に続いて、テーブル作成工程を実行してテーブルデータの更新を行うことにより、自己の物理アドレスを各ネットワーク機器が全ネットワーク機器に報知するパケットをネットワーク上に送信するようになる結果、物理アドレスが付け変わった時に一時的にパケットの数が増えるものの、それ以外の場合は問い合わせパケットをネットワークに送出せずにすますことができ、ネットワークの効率を損なわずにすむようになる。
【００１７】
また請求項２に記載の発明は、請求項１に記載のノード管理方法において、前記ネットワークアドレスまたは前記物理アドレスの少なくとも一方が、前記ネットワークに接続されている前記全ての機器の各々が自己当てだと考える特別のアドレスを用いる請求項３に記載のノード管理方法である。
【００１８】
請求項２に記載の発明によれば、請求項１に記載の効果に加えて、登録のパケットを全てのネットワーク機器が自分当てだと考える特別のアドレス（グローバルアドレス）をネットワークプロトコル上で使用することにより、登録時のパケットの数を減らすことができる結果、ネットワークの効率を損なわずにすむようになる。
【００２３】
また請求項３に記載の発明は、少なくとも物理層とその上位層から構成される階層構造のインタフェースを有するノードであるネットワーク機器の各々とネットワーク間に介設され、ネットワーク機器のネットワークアドレスと物理アドレスに対して有効時間を使ったネットワークアドレスの管理を行うネットワークアダプタであって、前記ネットワークアドレスと前記物理アドレスとが対応づけられて記述されている少なくとも１つ以上のエントリからテーブルデータを形成及び記憶するために上位層に設けられたテーブル管理手段と、前記物理層に対する前記物理アドレスの付け替えが生起されたとき、当該付け替え時のテーブルデータに含まれる全ての前記エントリを無効にするためのフラグ処理を当該エントリ毎に行うアドレス設定手段と、前記物理層に対する前記物理アドレスの付け替えが起こったことを物理層が検知したとき、前記ネットワークに接続されている全ての機器が、自己の前記エントリを前記全ての機器に報知するためのパケットを当該ネットワークに送信して、前記全ての機器に自己の前記エントリを報知するために上位層に設けられたアドレス報知手段と、前記ネットワーク機器のバスと所定のデータ通信を行うためのバスインタフェースとを有するネットワークアダプタである。
【００２４】
請求項３に記載の発明によれば、請求項１に記載の効果と同様の効果を奏する。
【００２５】
また請求項４に記載の発明は、請求項３に記載のネットワークアダプタにおいて、前記ネットワークアドレスまたは前記物理アドレスの少なくとも一方が、前記ネットワークに接続されている前記全ての機器の各々が自己当てだと考える特別のアドレスを用いるネットワークアダプタである。
【００２６】
請求項４に記載の発明によれば、請求項２に記載の効果と同様の効果を奏する。
【００２９】
また請求項５に記載の発明は、ネットワークに接続され、少なくとも物理層とその上位層とが記憶されているノードであるネットワーク機器のネットワークアドレスと物理アドレスに対して有効時間を使ったネットワークアドレスの管理を行うノード管理方法が記憶された記録媒体であって、前記ネットワークアドレスと前記物理アドレスとが対応づけられて記述されている少なくとも１つ以上のエントリからテーブルデータを形成及び記憶するテーブル作成処理を記述したプログラムコードと、前記物理層に対する前記物理アドレスの付け替えが生起されたとき、当該付け替え時のテーブルデータに含まれる全ての前記エントリを無効にするためのフラグ処理を当該エントリ毎に行うプログラムコードと、前記物理層に対する前記物理アドレスの付け替えが生起されたとき、前記ネットワークに接続されている全ての機器が、自己の前記エントリを前記全ての機器に報知するためのパケットを当該ネットワークに送信して、前記全ての機器に自己の前記エントリを報知するアドレス報知のプログラムコードとが記憶されている記録媒体である。
【００３０】
請求項５に記載の発明によれば、請求項１に記載の効果と同様の効果を奏する。
【００３１】
【発明の実施の形態】
以下の各実施形態では、ネットワークの実施形態として、ＩＥＥＥ（米国電気電子技術者協会）が規格化した新しい高速シリアルインタフェースの一実現形態であるＩＥＥＥ１３９４−１９９５のノード管理方法に準拠したネットワーク（ＩＥＥＥ１３９４ネットワークを構成するＩＥＥＥ１３９４シリアルバス７０）を用いることにするが、これに特に限定されることなく、シリアルデータ通信ができ、ノードであるネットワーク機器２００，…，２００がツリー状に接続されたトポロジーを持ったネットワークであれば、広く適用可能である。
【００３２】
ここで、ネットワーク機器２００，…，２００としては、ＡＶ機器、プリンタ、ディジタルカメラ、パソコン（ＰＣ１００，３００）等が考えられる。
【００３３】
始めに、ネットワークアダプタ５０，８０の基本構成を説明する。
【００３４】
本発明のネットワークアダプタ５０，８０は、後述するノード管理方法を実行するハードウェアであって、少なくともＰＨＹレイヤとその上位層から構成される階層構造のインタフェースを有するノードであるネットワーク機器２００，…，２００の各々とＩＥＥＥ１３９４シリアルバス７０間に介設され、ネットワーク機器のネットワークアドレスと物理アドレスに対して有効時間を使ったネットワークアドレスの管理を行う機能を有し、テーブル管理手段やアドレス管理手段やアドレス報知手段を備えている。
【００３５】
テーブル管理手段は、ネットワークアドレスと物理アドレスとが対応づけられて記述されている少なくとも１つ以上のエントリからテーブルデータを形成して記憶する機能を有している。
【００３６】
アドレス管理手段は、ＰＨＹレイヤに対する物理アドレスの付け替えのイベントが生起されたことをＰＨＹレイヤが検知したとき、物理アドレス付け替え時のテーブルデータに含まれる全てのエントリを無効にするためのフラグ処理をエントリ毎に行う機能、物理アドレスの付け替えに関する情報をＰＨＹレイヤから受け取ったときのみ、物理アドレス付け替え時のテーブルデータに含まれる全てのエントリを無効にするためのフラグ処理をエントリ毎に行う機能を有している。
【００３７】
アドレス報知手段は、ＰＨＹレイヤの上位層（ネットワーク層）に設けられ、ＰＨＹレイヤに対する物理アドレスの付け替えが起こったことをＰＨＹレイヤが検知したとき、ＩＥＥＥ１３９４シリアルバス７０に接続されている全てのネットワーク機器２００，…，２００の各々が、自己のエントリを、アドレス更新が終了した全てのネットワーク機器２００，…，２００に報知するためのパケットをこのネットワークに送信してＩＥＥＥ１３９４シリアルバス７０内の全てのネットワーク機器２００，…，２００の各々に自己のネットワークアドレスと物理アドレスの対応関係を報知する機能を有している。
【００３８】
バスインタフェースは、ネットワーク機器２００，…，２００のバスと所定のデータ通信を行う機能を有し、後述するＰＣＩインタフェースで実現されている。
【００３９】
次に、図面に基づき、ネットワークアダプタ５０，８０の各種実施形態を説明する。
【００４０】
（第１実施形態）
図１は、本発明のノード管理機能を実装したネットワークアダプタの第１実施形態であるＩＥＥＥ１３９４用ノンインテリジェントカード５０、及びこのカードの実装形態を説明するためのブロック図である。
【００４１】
以下の実施形態では、ネットワーク機器２００，…，２００をパソコン（ＰＣ１００）で代表することにするが、これに限定されるものではなく、後述するＩＥＥＥ１３９４用ノンインテリジェントカード５０やＩＥＥＥ１３９４用インテリジェントカード８０を実装した状態でＩＥＥＥ１３９４シリアルバス７０に接続できるノードであればよい。更に、ネットワーク機器２００，…，２００は、ＩＥＥＥ１３９４用ノンインテリジェントカード５０やＩＥＥＥ１３９４用インテリジェントカード８０を実装する代わりに、機器自身でＩＥＥＥ１３９４シリアルバス７０インタフェース機能を備えていても良いことは自明である。
【００４２】
図１に示すＩＥＥＥ１３９４用ノンインテリジェントカード５０は、少なくとも物理層（ＰＨＹレイヤ）とその上位層から構成される階層構造のインタフェースを有するノードであるネットワーク機器２００，…，２００の各々とネットワーク間に介設され、ネットワーク機器のネットワークアドレスと物理アドレスに対して有効時間を使ったネットワークアドレスの管理を行うネットワークアダプタであって、ＰＣ１００に設けられているＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）スロットに装着したり抜脱したりできる従前のアドオン（ａｄｄ  ｏｎ）カードの形態を有している。なお、ＰＣＩインタフェースに代えて、従前のＳＣＳＩ（スカジー）インタフェースや、Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ（ＩＤＥ）インタフェースを用いることができることも自明である。
【００４３】
このようなＩＥＥＥ１３９４用ノンインテリジェントカード５０上には、ＰＣＩバスインタフェース制御機能やＩＥＥＥ１３９４インタフェース制御機能を備えたＩＥＥＥ１３９４チップ５１（カスタムＬＳＩチップやＡＳＩＣ）が実装されている。
【００４４】
ＩＥＥＥ１３９４用ノンインテリジェントカード５０の場合、テーブル管理手段やアドレス管理手段はＰＣ１００内のＣＰＵ１０とＩＥＥＥ１３９４チップ５１で実現され、バスインタフェースはＰＣＩインタフェースで実現されている。
【００４５】
ＰＣ１００（ＩＥＥＥ１３９４チップ５１）は、図１に示すように、ＰＣ１００内部のＰＣＩバス４０に接続されると同時に、ＰＣ１００外部のＩＥＥＥ１３９４シリアルバス７０に接続された状態で、前述のＩＥＥＥ１３９４シリアルバス７０の単位ノードを構成し、ＩＥＥＥ１３９４−１９９５で規定されている各種のパケットの送信や受信を他のノード（ネットワーク機器２００，…，２００）間で実行できるようになる。なお、図１に示すように、ＩＥＥＥ１３９４シリアルバス７０には、このＰＣ１００の他に数多くのネットワーク機器２００，…，２００が、ＩＥＥＥ１３９４シリアルバス７０を介して直列に接続された状態（ネットワークトポロジー）で前述のパケットの送受信を行っている。
【００４６】
ここで、パケットの送受信としては、ＩＥＥＥ１３９４−１９９５で規程されているようなアイソシンクロナス転送、アシンクロナス転送等のパケット転送方法が実行されている。
【００４７】
すなわち、各ネットワーク機器２００，…，２００は、ＰＨＹレイヤを介してＩＥＥＥ１３９４シリアルバス７０に接続された状態で、パケットの送受信（アイソクロナス転送やアシンクロナス転送）を他のネットワーク機器２００，…，２００との間で実行することになる。
【００４８】
ＰＣ１００には、共通のメモリバス６０に接続されたＣＰＵ１０、共通のメモリバス６０に接続されたＲＡＭやＲＯＭやＥＥＰＲＯＭ等のメモリ２０、メモリバス６０とＰＣＩバス４０とのインタフェース機能を備えたブリッジ３０、ＰＣＩバス４０に接続された前述のＰＣＩスロット等が組み込まれている。ＰＣ１００は、このＰＣＩスロットに接続された前述のＩＥＥＥ１３９４用ノンインテリジェントカード５０を介してＩＥＥＥ１３９４シリアルバス７０にパケットを送出したり受信したりできる。
【００４９】
ネットワークアダプタ（ＩＥＥＥ１３９４用ノンインテリジェントカード５０）やＰＣ１００において実行されるノード管理方法は、プログラムコード化された状態で、ＰＣ１００内のメモリ２０にロードされ、ＣＰＵ１０に読み出されて実行されることになる。より詳しくは、ＩＥＥＥ１３９４−１９９５のプロトコルスタックで定義されているＰＨＹレイヤ（ＰＨＹレイヤ）、その上位層であるリンクレイヤやトランザクションレイヤ、あるいはＳＢＭ（Ｓｅｒｉａｌ  Ｂｕｓ  Ｍａｎａｇｅｒ）などにインプリメントされて実行されている。ここで、ＰＨＹレイヤやリンクレイヤは、シリコンでハードウェア化されており、ＳＢＭやトランザクションレイヤは、ソフトウェアで構成されている。
【００５０】
（第２実施形態）
図２は、本発明のノード管理機能を実装したネットワークアダプタの第２実施形態であるＩＥＥＥ１３９４用インテリジェントカード８０、及びこのカードの実装形態を説明するためのブロック図である。なお、ＩＥＥＥ１３９４用ノンインテリジェントカード５０において既に記述したものと同一の部分については、同一符号を付し、重複した説明は省略する。
【００５１】
図２に示すＩＥＥＥ１３９４用インテリジェントカード８０は、少なくともＰＨＹレイヤとその上位層から構成される階層構造のインタフェースを有するノードであるネットワーク機器２００，…，２００の各々とネットワーク間に介設され、ネットワーク機器のネットワークアドレスと物理アドレスに対して有効時間を使ったネットワークアドレスの管理を行うネットワークアダプタであって、アドオンカードの形態を有し、ＩＥＥＥ１３９４チップ８３に加えて、前述のＩＥＥＥ１３９４用インテリジェントカード８０にメモリ８２（ＲＯＭやＲＯＭやＥＥＰＲＯＭ（不揮発性半導体記憶装置））とＣＰＵ８１が追加されている点に特徴を有している。
【００５２】
ＩＥＥＥ１３９４用インテリジェントカード８０は、ＰＣ３００に設けられているＰＣＩスロットに装着したり抜脱したりできる。
【００５３】
ネットワークアダプタ（ＩＥＥＥ１３９４用インテリジェントカード８０）やＰＣ３００において実行される後述するノード管理方法は、プログラムコード化された状態で、ＰＣ３００内のメモリ２０、ＩＥＥＥ１３９４用インテリジェントカード８０に実装されているメモリ８２にロードされ、ＩＥＥＥ１３９４用インテリジェントカード８０に実装されているＣＰＵ８１やＰＣ３００に実装されているＣＰＵ１０に読み出されて実行されることになる。より詳しくは、ＩＥＥＥ１３９４−１９９５のプロトコルスタックで定義されているＰＨＹレイヤ（ＰＨＹレイヤ）、その上位層であるリンクレイヤやトランザクションレイヤ、あるいはＳＢＭ（Ｓｅｒｉａｌ  Ｂｕｓ  Ｍａｎａｇｅｒ）などにインプリメントされて実行されている。ここで、ＰＨＹレイヤやリンクレイヤは、シリコンで構成されており、ＳＢＭやトランザクションレイヤは、ソフトウェアで構成されている。
【００５４】
ＩＥＥＥ１３９４用インテリジェントカード８０の場合、テーブル管理手段やアドレス管理手段やアドレス報知手段は、ＰＣ３００内のＣＰＵ１０とＩＥＥＥ１３９４チップ８３やカード上のＣＰＵ８１で実現され、バスインタフェースはＰＣＩインタフェースで実現されている。
【００５５】
次に、図面に基づき、ノード管理方法の各種実施形態を説明する。
【００５６】
本発明のノード管理方法は、前述のＰＣ３００やＩＥＥＥ１３９４用ノンインテリジェントカード５０やＩＥＥＥ１３９４用インテリジェントカード８０で実行されることになる。
【００５７】
図３は、本発明のノード管理方法で用いられるテーブルデータを構成する各エントリのデータ構造の一実施形態を説明するための図表であり、図４は、本発明のノード管理方法の第１実施形態を説明するための状態図である。
【００５８】
（第１実施形態）
従来のＴＣＰ／ＩＰ技術では、ネットワークの場所を示すネットワークアドレス（例えば、図３中の、１９２．１６８．３２．１０や１９２．１６８．３２．２１）と、ある特定の機器のアドレスを示す物理アドレス（例えば、０８：００：２０：０ｆ：９ｂ：ｅ７や００：６０：９７：２３：４ｆ：８８）とは独立に設定されている。このため、アプリケーションまたはユーザが意識するのはネットワークアドレスである。
【００５９】
また従来のＴＣＰ／ＩＰ技術では、実際にパケットをネットワークに送信する際に、ネットワークアドレスに対応した物理アドレスを選び、そこにパケットを送信することを自動的に行っている。
【００６０】
すなわち、各ネットワーク機器２００，…，２００（具体的には、ネットワーク層）は、ネットワークアドレスと物理アドレスのテーブルデータ（図３）を維持しており、実際にパケットをＩＥＥＥ１３９４シリアルバス７０に出力（送信）する際には、まず送信先のネットワークアドレスに対応する物理アドレスが、図３のテーブル内にすでに存在するか否か検査し、もし無い場合には、対応するネットワークアドレスを持つ機器の物理アドレスを問い合わせるパケットをネットワークに送信し、その結果で図３のテーブルを更新するとともに、その物理アドレスに対してパケットを送信している。
【００６１】
更に加えて従来のＴＣＰ／ＩＰ技術は、登録されてからの時間がある一定以上になると、その登録は無効になる。無効になることで、一定時間ごとに問い合わせがおきることによって、ネットワークアドレスと物理アドレスの対応が合っているようにしている。
【００６２】
しかし従来のＴＣＰ／ＩＰ技術では、一定時間たつまでは図３のテーブル中の対応が無効にならないために、いつ物理アドレスが変更されるか分からないＵＳＢやＩＥＥＥ１３９４などの場合には、無効にするまでの時間が長いと、ネットワークアドレスと物理アドレスの正しくない対応が図３のテーブル中に長く残ってしまう。それを短くするために無効にするための時間を短くすると、頻繁に問い合わせのパケットがネットワーク中に流れ、ネットワークの効率を損なう可能性がある。
【００６３】
そこで、第１実施形態のノード管理方法では、ＩＥＥＥ１３９４シリアルバス７０に接続され、少なくともＰＨＹレイヤとその上位層（すなわち、ＰＨＹレイヤやリンクレイヤやトランザクションレイヤなど）から構成される階層構造のインタフェースを有するノードであるネットワーク機器のネットワークアドレスと物理アドレスに対して有効時間を使ったネットワークアドレスの管理を行うノード管理を実行する工程に、テーブル作成工程とアドレス設定工程と付加している。
【００６４】
テーブル作成工程は、テーブル作成手段が実行する工程であって、ネットワークアドレスと物理アドレスとが対応づけられて記述されている少なくとも１つ以上のエントリから図３のテーブルを構成するテーブルデータを形成してこれをメモリ２０，８２（ＲＡＭやＥＥＰＲＯＭ）に記憶するテーブル作成処理としてプログラムコードで記述されている（ステップＳ２０）。
【００６５】
これらのプログラムコードは、フロッピーディスク等の記録媒体に記録されており、ＰＣ１００，３００に読み込まれた状態で、ＰＣ１００，３００内のＣＰＵ１０、ＩＥＥＥ１３９４チップ５１，８３，ＩＥＥＥ１３９４用インテリジェントカード８０のＣＰＵ８１によって実行される。なお、これらのプログラムコードは、ＰＣ１００，３００内のメモリ２０、ＩＥＥＥ１３９４チップ５１，８３内に混載されているメモリ（不図示）、ＩＥＥＥ１３９４用インテリジェントカード８０のメモリ８２等に予め蓄積されていても良い。これらのメモリ２０，８２としては、ＲＡＭやＥＥＰＲＯＭが一般的に用いられている。またこの場合、蓄積されているプログラムコードを、ＰＣ１００，３００内のＣＰＵ１０、ＩＥＥＥ１３９４チップ５１，８３，ＩＥＥＥ１３９４用インテリジェントカード８０のＣＰＵ８１が読み出して実行することになる。
【００６６】
各実施形態で用いるテーブルデータのデータ構造（フォーマット）は、図３に示すように、ネットワークアドレス（ネットワーク上での論理的な住所）、物理アドレス、アドレスの有効時間、有効フラグの各々を記述するデータ領域から構成されている。ここで、ネットワークアドレスとは、ネットワーク上での論理的な住所を意味し、物理アドレスは、物理的に接続されているネットワーク機器２００，…，２００（ハードウェア）のユニークな識別番号を意味している。また、アドレスの有効時間とは、テーブル内に設定されているアドレスを用いてアドレス管理を行う期間を判定するために用いるデータ領域である。本実施形態では、アドレスの設定が実行された日時（例えば、１９９８／０２／１８（日付）  １１：５９：２１（時間））を有効時間として用いている。また、有効フラグは、エントリを有効とするかまたは無効にするを設定しておくフラグ処理用のデータ領域である。
【００６７】
一方アドレス設定工程は、アドレス設定手段が実行する工程であって、ＩＥＥＥ１３９４シリアルバス７０上でバスリセットなどに起因してネットワーク機器２００，…，２００の物理アドレスの付け替えに関する情報をＰＨＹレイヤから受け取ったときのみ、物理アドレス付け替え時（図４中のタイマーから受け取った現在時刻に基づいて決定される時刻、ステップＳ１０，１１）のテーブルデータに含まれる全てのエントリを無効にするためのフラグ処理をエントリ毎に行うアドレス設定処理としてプログラムコードで記述されている（ステップＳ２１）。
【００６８】
更に加えてアドレス設定工程は、一定時間経過毎にイベント信号を発生するタイマー処理を実行しており、図３のテーブルにアドレスが登録（ステップＳ２０）されてからの有効時間とバスリセットが発生した時間（現在の時間）との比較を行い（ステップＳ１１）、有効時間がある一定以上になると、その登録を無効にする無効エントリ処理を実行して有効フラグのデータ領域に無効フラグを書き込む（ステップＳ１２）。
【００６９】
このような無効エントリ処理を設けることにより、一定時間ごとに問い合わせがおきることによって、ネットワークアドレスと物理アドレスの対応が合っているようにしている。
【００７０】
なお、バスリセットは、ＩＥＥＥ１３９４に規定されているように、ネットワーク機器２００，…，２００の初期電源投入時、動作中に他のノード（ネットワーク機器２００，…，２００）が接続された時、あるノードが切り離された時、他のＩＥＥＥ１３９４シリアルバス７０が接続されて一体化したバスが形成された時、２つのＩＥＥＥ１３９４シリアルバス７０に分割された時、ブランチやリーフが切り離された時、接続中のノードの電源がＯＮまたはＯＦＦされた時等、つまりネットワークのツリー構造に何らかの変化が生起されたことが検出されたときに生起される特性を持っている。なお、ＩＥＥＥ１３９４−１９９５の規格書には、バスリセットに応じてコンフィグレーション機能が生起されることも規定されている。
【００７１】
以上説明したように、第１実施形態のノード管理方法によれば、任意のタイミングで物理アドレスの付け替えが生起された場合であっても、アドレス設定工程を実行してこのときの物理アドレス付け替え時のテーブルデータに含まれる全てのエントリを無効にするためのフラグ処理をエントリ毎に行い、このアドレス設定工程に続いて、ネットワークプロトコル上でＴＣＰ／ＩＰに規定されているＡＲＰに従ってテーブル作成工程を実行してテーブルデータの更新を行うことにより、ネットワークアドレスと物理アドレスの対応が正しくなるようにすることができる。その結果、物理アドレスの変更が生起された後、一時的に問い合わせのパケットが増えるが、その他の場合は今までと変わらずに処理を行うことができる。
【００７２】
（第２実施形態）
図４は、本発明のノード管理方法の第２実施形態を説明するための状態図である。なお、第１実施形態において既に記述したものと同一の部分については、同一符号を付し、重複した説明は省略する。
【００７３】
第１実施形態のノード管理方法では、前述したように、ＵＳＢやＩＥＥＥ１３９４のＰＨＹレイヤから物理アドレスの付け替えのイベントが生起されたことがＰＨＹレイヤの上位層であるネットワーク層に知らされたとき、図３のテーブル中に登録されている全てのネットワークアドレスと物理アドレスの対応を無効にする処理（ステップＳ２１）を実行することにより、物理アドレスの変更が生起された後、一時的に問い合わせのパケットが増えるが、その他の場合は今までと変わらずに処理を行うことができる。
【００７４】
このようにすると、常にネットワークアドレスと物理アドレスの対応を正しく保つことはできるが、一定時間ごとに問い合わせのパケットを出すことには代わりがない。
【００７５】
そこで、このような不具合を解消するために第２実施形態のノード管理方法では、第１実施形態のノード管理方法のステップＳ１０，１１，１２を省略して図４のステップＳ２０，２１に示す、アドレス設定工程（ステップＳ２１）と前述のテーブル作成工程（ステップＳ２０）とを実行している。
【００７６】
アドレス設定工程は、バスリセットに応じて物理アドレスの付け替えに関する情報をＰＨＹレイヤから受け取ったときのみ、物理アドレス付け替え時のテーブルデータに含まれる全てのエントリを無効にするためのフラグ処理をエントリ毎に行う工程である（ステップＳ２１）。
【００７７】
ＵＳＢやＩＥＥＥ１３９４では物理アドレスが変更された時には必ずその状態変化は検出できる。そこで第２実施形態のノード管理方法では、物理アドレスが変更された時のみに限定して図３のテーブルを無効にしてステップＳ２１のようなアドレス設定工程を実行して物理アドレスを変更する。
【００７８】
以上説明したように、第２実施形態のノード管理方法によれば、物理アドレスの付け替えに関する情報をＰＨＹレイヤから受け取ったときのみに限定的にアドレス設定工程を実行し、このときの物理アドレス付け替え時のテーブルデータに含まれる全てのエントリを無効にするためのフラグ処理をエントリ毎に行い、このアドレス設定工程に続いて、ネットワークプロトコル上でＴＣＰ／ＩＰに規定されているＡＲＰに従ってテーブル作成工程を実行してテーブルデータの更新を行うことにより、自己が必要なときに相手の物理アドレスを問い合わせ、返事として受け取った物理アドレスのみをテーブル作成工程により記憶するので、ネットワークアドレスと物理アドレスの対応関係の問い合わせのパケットの数をノード管理方法の第１実施形態よりも少なくできる結果、ネットワークの効率を損なわずにすむようになる。その結果、一定時間ごとに出る無駄な問い合わせのパケットをなくすことができ、ネットワークの効率を上げることができる。
【００７９】
（第３実施形態）
第１，２実施形態のノード管理方法では、パケットを送る際に相手の物理アドレスが分からない場合に問い合わせる方式を採用していた。しかし逆に、各マシンが物理アドレスが変更された際に、自分のネットワークアドレスと物理アドレスの対応をネットワーク中の全てのマシンに知らせる方式も考えられる。
【００８０】
図５は、本発明のノード管理方法の第３実施形態を説明するための状態図である。なお、第１実施形態または第２実施形態において既に記述したものと同一の部分については、同一符号を付し、重複した説明は省略する。
【００８１】
第３実施形態のノード管理方法は、前述のテーブル作成工程（ステップＳ２０）、アドレス設定工程（ステップＳ２１）に加えて、アドレス報知工程（図５のステップＳ３２）を実行する点に特徴を有している。
【００８２】
アドレス報知工程（ステップＳ３２）は、アドレス報知手段が実行する工程であって、前述のバスリセットに応じてＰＨＹレイヤに対する物理アドレスの付け替えが生起されたとき、ＩＥＥＥ１３９４シリアルバス７０に接続されている全てのネットワーク機器２００，…，２００の各々が、自己のエントリを、アドレス更新が終了した全てのネットワーク機器２００，…，２００に報知するためのパケットをＩＥＥＥ１３９４シリアルバス７０に送信してＩＥＥＥ１３９４シリアルバス７０内の全ての機器の各々に自己のネットワークアドレスと物理アドレスの対応関係を報知する工程である。
【００８３】
以上説明したように、第３実施形態のノード管理方法によれば、物理アドレスが変更された際一時的にパケットが増えるが、それ以外の時にはパケットが出ないという利点がある。更に加えて、ＰＨＹレイヤに対する物理アドレスの付け替えが生起されたときにアドレス報知工程を実行し、ＩＥＥＥ１３９４シリアルバス７０に接続されている全ての機器の各々が、自己のエントリを、アドレス更新が終了した全ての機器に報知するためのパケットをネットワークに送信してネットワーク内の全ての機器の各々に自己のネットワークアドレスと物理アドレスの対応関係を報知し、テーブル作成工程を実行してテーブルデータの更新を行うことになり、自己の物理アドレスを各ネットワーク機器２００，…，２００が全ネットワーク機器２００，…，２００に報知するパケットをネットワーク上に送信するようになる結果、物理アドレスが付け変わった時に一時的にパケットの数が増えるものの、それ以外の場合は問い合わせパケットをネットワークに送出せずにすますことができ、ネットワークの効率を損なわずにすむようになる。
【００８４】
（第４実施形態）
図５は、本発明のノード管理方法の第４実施形態を説明するための状態図である。なお、第１，２，３実施形態において既に記述したものと同一の部分については、同一符号を付し、重複した説明は省略する。
【００８５】
第４実施形態のノード管理方法は、前述のテーブル作成工程（ステップＳ２０）、アドレス設定工程（ステップＳ２１）に加えて、アドレス報知工程（図５のステップＳ４０）を実行する点に特徴を有している。
【００８６】
アドレス報知工程（図５のステップＳ４０）は、アドレス報知手段が実行する工程であって、ネットワークアドレスまたは物理アドレスの少なくとも一方が、ＩＥＥＥ１３９４シリアルバス７０に接続されている全てのネットワーク機器２００，…，２００の各々が自己当てだと考える特別のアドレスを用いる工程である。
【００８７】
ＵＳＢやＩＥＥＥ１３９４の物理アドレスにはグローバルアドレスという、全ての機器が自分当てだと判断しなければならない、特別のアドレスが決まっている。本実施形態では、特別のアドレスとして、このアドレスを利用している。
【００８８】
以上説明したように、第４実施形態のノード管理方法によれば、登録のパケットを全てのネットワーク機器２００，…，２００が自分当てだと考える特別のアドレス（グローバルアドレス）をネットワークプロトコル上で使用することにより、登録時のパケットの数を減らすことができる結果、ネットワークの効率を損なわずにすむようになる。その結果、送信される登録パケットはマシンの数に等しくなり、必要なパケットの数を減らすことができる。
【００８９】
図６は、本発明のノード管理方法の各実施形態を実行状態を説明するためのネットワーク構成図であって、同図（ａ）は整合前のネットワーク構成を示し、同図（ｂ）は整合後のネットワーク構成を示している。
【００９０】
いま、ＩＥＥＥ１３９４シリアルバス７０が、図６（ａ）の整合前に示すように、ネットワークアドレス１００．１００，１００．１５０，１００．１３０，１００．１１０の各々に、物理アドレス１，３，４，５が設定されていたとする。
【００９１】
この状態で、前述の第１〜第４実施形態のノード管理方法を実行すると、図６（ｂ）に示すように、ネットワークアドレス１００．１００，１００．１５０，１００．１３０，１００．１１０の各々に、物理アドレス２，１，５，３が設定されることになる。
【００９４】
【発明の効果】
請求項１，３，５に記載の発明によれば、物理アドレスが付け変わった時に一時的にパケットの数が増えるものの、それ以外の場合は問い合わせパケットをネットワークに送出せずにすますことができ、ネットワークの効率を損なわずにすむようになる。
【００９５】
請求項２，４に記載の発明によれば、請求項１に記載の効果に加えて、登録のパケットを全てのネットワーク機器が自分当てだと考える特別のアドレスをネットワークプロトコル上で使用することにより、登録時のパケットの数を減らすことができる結果、ネットワークの効率を損なわずにすむようになる。
【図面の簡単な説明】
【図１】本発明のノード管理方法機能を実装したネットワークアダプタの第１実施形態であるＩＥＥＥ１３９４用ノンインテリジェントカード、及びこのカードの実装形態を説明するためのブロック図である。
【図２】本発明のノード管理方法機能を実装したネットワークアダプタの第２実施形態であるＩＥＥＥ１３９４用インテリジェントカード、及びこのカードの実装形態を説明するためのブロック図である。
【図３】本発明のノード管理方法で用いられるテーブルデータを構成する各エントリのデータ構造の一実施形態を説明するための図表である。
【図４】本発明のノード管理方法の第１，２実施形態を説明するための状態図である。
【図５】本発明のノード管理方法の第３，４実施形態を説明するための状態図である。
【図６】本発明のノード管理方法の各実施形態を実行状態を説明するためのネットワーク構成図であって、同図（ａ）は整合前のネットワーク構成を示し、同図（ｂ）は整合後のネットワーク構成を示している。
【符号の説明】
１０…ＣＰＵ
２０…メモリ
３０…ブリッジ
４０…ＰＣＩバス
５０…ＩＥＥＥ１３９４用ノンインテリジェントカード
５１…ＩＥＥＥ１３９４チップ
６０…メモリバス
７０…ＩＥＥＥ１３９４シリアルバス
８０…ＩＥＥＥ１３９４用インテリジェントカード
８１…ＣＰＵ
８２…メモリ
８３…ＩＥＥＥ１３９４チップ
１００，３００…パーソナルコンピュータ（ＰＣ）
２００…ネットワーク機器
【図１】
0003749625.tif 000002
【図２】
0003749625.tif 000003
【図３】
0003749625.tif 000004
【図４】
0003749625.tif 000005
【図５】
0003749625.tif 000006
【図６】
0003749625.tif 000007