(57)【要約】【課題】  イーサネットとＩＥＥＥ１３９４とを中継するブリッジ装置に登録したアドレステーブルのうちの未使用のアドレステーブルのタイムアウト処理を短時間に行う。【解決手段】  イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報と、登録時刻データとをセットしたアドレステーブルＡＴが新たに登録される毎に、そのアドレステーブルＡＴを、登録済みのアドレステーブルＡＴが直線状に並べられるリニアテーブルの先頭に配置する。リニアテーブル内のアドレステーブルＡＴが使用される毎に、そのアドレステーブルＡＴをリニアテーブルの先頭に移動させ、そのアドレステーブルＡＴの登録時刻データを現在の時刻に更新する。リニアテーブルの末尾から先頭に向けて、アドレステーブルＡＴが一定時間以上使用されていないかを登録時刻データを用いて順にチェックし、使用されているアドレステーブルＡＴがみつかった段階でチェックを終了する。【選択図】  図１０
2005311539.tif 000002
【特許請求の範囲】
【請求項１】
イーサネットにおけるデータの伝送フォーマットと、ＩＥＥＥ１３９４におけるデータの伝送フォーマットとの間でフォーマット変換を行うとともに、イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報との間でアドレス変換を行うブリッジ装置において、
イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報と、登録時刻データとをパラメータとしてセットしたアドレステーブルを登録する第１の処理手段と、
新たに前記アドレステーブルが登録される毎に、該アドレステーブルを、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置する第２の処理手段と、
前記リニアテーブルに既に並べられているアドレステーブルが使用される毎に、該アドレステーブルを前記リニアテーブルの先頭に移動させるとともに、該アドレステーブルの前記登録時刻データを現在の時刻に更新する第３の処理手段と、
前記リニアテーブルの末尾に位置するアドレステーブルから、前記リニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間以上使用されていないかを前記登録時刻データを用いて順にチェックし、前記一定時間内に使用されているアドレステーブルがみつかった段階でチェックを終了する第４の処理手段と
を備えたことを特徴とするブリッジ装置。
【請求項２】
請求項１に記載のブリッジ装置において、
少なくとも、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報であるオフセットアドレス以外のパラメータをセットしていないブランクテーブルを所定数作成する処理手段
をさらに備え、
前記第１の処理手段は、前記ブランクテーブルにオフセットアドレス以外のパラメータをセットすることを特徴とするブリッジ装置。
【請求項３】
請求項１に記載のブリッジ装置において、
前記第１の処理手段は、アドレステーブルの登録時に、パラメータをセットしていないブランクテーブルを作成し、該ブランクテーブルにパラメータをセットすることを特徴とするブリッジ装置。
【請求項４】
請求項１に記載のブリッジ装置において、
パラメータをセットしていない所定数のブランクテーブルを直線状に並べたリニアテーブルを作成し、且つ、前記ブランクテーブルと登録済みのアドレステーブルとの境界を示すボーダーポインタを前記リニアテーブルの先頭にセットする処理手段
をさらに備え、
前記第１の処理手段は、前記リニアテーブル中の末尾のブランクテーブルにパラメータをセットし、
前記第２の処理手段は、新たに前記アドレステーブルが登録される毎に、該アドレステーブルを、前記リニアテーブルの先頭に配置するとともに、前記ボーダーポインタを１テーブル分下に移動させ、
前記第４の処理手段は、前記リニアテーブルのうち前記ボーダーポインタよりも上に位置するアドレステーブルから、前記リニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間以上使用されていないかを前記登録時刻データを用いて順にチェックすることを特徴とするブリッジ装置。
【請求項５】
イーサネットにおけるデータの伝送フォーマットと、ＩＥＥＥ１３９４におけるデータの伝送フォーマットとの間でフォーマット変換を行うとともに、イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報との間でアドレス変換を行うブリッジ装置におけるアドレス管理方法において、
イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報と、登録時刻データとをパラメータとしてセットしたアドレステーブルを登録し、
新たに前記アドレステーブルを登録する毎に、該アドレステーブルを、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置し、
前記リニアテーブルに既に並べているアドレステーブルが使用される毎に、該アドレステーブルを前記リニアテーブルの先頭に移動させるとともに、該アドレステーブルの前記登録時刻データを現在の時刻に更新し、
前記リニアテーブルの末尾に位置するアドレステーブルから、前記リニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間以上使用されていないかを前記登録時刻データを用いて順にチェックし、前記一定時間内に使用されているアドレステーブルがみつかった段階でチェックを終了する
ことを特徴とするアドレス管理方法。
【請求項６】
イーサネットとＩＥＥＥ１３９４とを中継するブリッジ装置を、ＩＥＥＥ１３９４バスに複数台接続し、イーサネットのインタフェースを有する端末同士を、前記ブリッジ装置を介して接続するようにしたネットワークシステムにおいて、
各々の前記ブリッジ装置は、
イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報と、登録時刻データとをパラメータとしてセットしたアドレステーブルを登録する第１の処理手段と、
新たに前記アドレステーブルが登録される毎に、該アドレステーブルを、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置する第２の処理手段と、
前記リニアテーブルに既に並べられているアドレステーブルが使用される毎に、該アドレステーブルを前記リニアテーブルの先頭に移動させるとともに、該アドレステーブルの前記登録時刻データを現在の時刻に更新する第３の処理手段と、
前記リニアテーブルの末尾に位置するアドレステーブルから、前記リニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間以上使用されていないかを前記登録時刻データを用いて順にチェックし、前記一定時間内に使用されているアドレステーブルがみつかった段階でチェックを終了する第４の処理手段と
を備えたことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イーサネット（ETHERNET,イーサネット：登録商標）とＩＥＥＥ１３９４とを中継するブリッジ装置、そのブリッジ装置におけるアドレス管理方法、及び、そのブリッジ装置を介してイーサネット端末同士を接続するようにしたネットワークシステムに関する。
【背景技術】
【０００２】
高速シリアルバスの規格の一つに、ＩＥＥＥ１３９４がある。ＩＥＥＥ１３９４は、１本のバスに６３台の機器（ノード）を接続可能であり、プラグ・アンド・プレイやホット・プラグに対応しているとともに、接続方法としてもデイジー・チェーンやツリー状の接続が可能である。また、アイソクロノス伝送方式により、動画パラメータ等のリアルタイム伝送が可能である。
【０００３】
そして、ＩＥＥＥ１３９４は、ホストとなるコンピュータを介在せずにノード同士の通信が可能であるため、家庭内等でデジタルビデオカメラ，デジタルビデオデッキ，デジタルテレビジョン受信機といったデジタル家電同士を接続するという利用形態が可能である。
【０００４】
しかし、近年、ＩＥＥＥ１３９４の仕様としては、最大４００ＭＢ／ｓという伝送速度と、光ファイバを用いた数百メートルの通信距離とを実現するもの（ＩＥＥＥ１３９４ｂ）が発表されるに至っている。こうした伝送速度の速さや通信距離の長さからは、ＩＥＥＥ１３９４は、家庭内や企業内等でコンピュータ同士を接続してＬＡＮ（ローカル・エリア・ネットワーク）を構築するという利用形態も期待できる。
【０００５】
ただし、現在主流となっているＬＡＮはイーサネットを利用したものであるため、既存のコンピュータの大部分は、イーサネットのインタフェースを有しているがＩＥＥＥ１３９４のインタフェースを有していない。こうした既存のコンピュータのようにイーサネットのインタフェースを有する端末（「イーサネット端末」とも呼ぶことにする）同士をＩＥＥＥ１３９４を利用して接続するためには、イーサネットとＩＥＥＥ１３９４とを中継するブリッジ装置を用いることが必要になる。
【０００６】
図２０は、こうしたブリッジを用いたＬＡＮの構成例を示す。イーサネット端末５１及びイーサネット端末５３が、イーサネットによってブリッジ５５ａに接続されている。これらのイーサネット端末５１，５３及びブリッジ５５ａは、例えば或る建物の１階に配置されている。
【０００７】
また、イーサネット端末５２及びイーサネット端末５４が、イーサネットによってブリッジ５５ｂに接続されている。これらのイーサネット端末５２，５４及びブリッジ５５ｂは、例えば同じ建物の２階に配置されている。
【０００８】
そして、ブリッジ５５ａとブリッジ５５ｂとが、ＩＥＥＥ１３９４バス（ＩＥＥＥ１３９４ｂ仕様のもの）で接続されている。
【０００９】
ブリッジ５５ａ，５５ｂの役割の一つは、イーサネットにおけるデータの伝送フォーマットであるＭＡＣ（メディア・アクセス・コントロール）フレームやＩＰパケットと、ＩＥＥＥ１３９４におけるデータの伝送フォーマットであるアイソクロノス・パケットやアシンクロナス・パケットとの間でフォーマット変換を行うことである。
【００１０】
また、ブリッジ５５ａ，５５ｂのもう一つの役割は、イーサネットにおけるデータの伝送フォーマット中のアドレス情報であるＭＡＣアドレスやＩＰアドレスと、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報であるノード番号及びオフセットアドレスとの間でアドレス変換を行うことである。
【００１１】
従来、この図２０のブリッジ５５ａ，５５ｂのようにイーサネットとＩＥＥＥ１３９４とを中継するブリッジにおけるアドレス変換の方法としては、イーサネットにおけるデータの伝送フォーマット中のアドレス情報とＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報との対応関係を示すテーブルを備え、このテーブルを参照してアドレス変換を行うようにしたものが提案されていた（例えば、特許文献１参照。）。
【特許文献１】特開２００１−２６８１０８号公報（段落番号０００７〜０００９、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、この特許文献１には、このテーブルの具体的な構造や、このテーブルを用いた具体的なアドレス管理方法については記載されていない。そこで、図２０に示したＬＡＮを例にとって、一般的に考えられるこのテーブルの構造を示すと、図２１の通りになる。
【００１３】
図２１（ａ）のアドレステーブルＴａ５１〜Ｔａ５４は、図２０のブリッジ５５ａに登録されているテーブルである。また、図２１（ｂ）のアドレステーブルＴｂ５１〜Ｔｂ５４は、図２０のブリッジ５５ｂに登録されているテーブルである。
【００１４】
これらのアドレステーブルの構造を、ブリッジ５５ａ側のアドレステーブルＴａ５１〜Ｔａ５４を例にとって説明する。アドレステーブルの最上段のパラメータは、ブリッジ５５ａにイーサネットで接続されているイーサネット端末のＭＡＣアドレスである。テーブルＴａ５１及びＴａ５２の「EtherＭＡＣ１」は図２０のイーサネット端末５１のＭＡＣアドレス「ＭＡＣ１」を表しており、テーブルＴａ５３及びＴａ５４の「EtherＭＡＣ３」は図２０のイーサネット端末５３のＭＡＣアドレス「ＭＡＣ３」を表している。
【００１５】
アドレステーブルの上から３段目のパラメータは、最上段のパラメータで表しているイーサネット端末のＩＰアドレスである。テーブルＴａ５１及びＴａ５２の「EtherＩＰ１」は図２０のイーサネット端末５１のＩＰアドレス「ＩＰ１」を表しており、テーブルＴａ５３及びＴａ５４の「EtherＩＰ３」は図２０のイーサネット端末５３のＩＰアドレス「ＩＰ３」を表している。
【００１６】
アドレステーブルの下から２段目のパラメータは、最上段のパラメータで表しているイーサネット端末からのＭＡＣフレームの送信先のイーサネット端末のＭＡＣアドレスである。テーブルＴａ５１及びＴａ５３の「Ieee1394ＭＡＣ２」は図２０のイーサネット端末５２のＭＡＣアドレス「ＭＡＣ２」を表しており、テーブルＴａ５２及びＴａ５４の「Ieee1394ＭＡＣ４」は図２０のイーサネット端末５４のＭＡＣアドレス「ＭＡＣ４」を表している。
【００１７】
アドレステーブルの上から４段目のパラメータは、下から２段目のパラメータで表しているイーサネット端末のＩＰアドレスである。テーブルＴａ５１及びＴａ５３の「Ieee1394ＩＰ２」は図２０のイーサネット端末５２のＩＰアドレス「ＩＰ２」を表しており、テーブルＴａ５２及びＴａ５４の「Ieee1394ＩＰ４」は図２０のイーサネット端末５４のＩＰアドレス「ＩＰ４」を表している。
【００１８】
アドレステーブルの下から４段目のパラメータ「Ieee1394Ｎｏｄｅ１」は、ブリッジ５５ａにＩＥＥＥ１３９４バスで接続されている図２０のブリッジ５５ｂのノード番号「Ｎｏｄｅ１」を表している。（逆に、ブリッジ５５ｂ側のアドレステーブルＴｂ５１〜Ｔｂ５４の下から４段目のパラメータ「Ieee1394Ｎｏｄｅ０」は、ブリッジ５５ａのノード番号「Ｎｏｄｅ０」を表している。）
【００１９】
アドレステーブルの下から３段目のパラメータは、最上段のＭＡＣアドレスで表されるイーサネット端末を送信元とし且つ下から２段目のＭＡＣアドレスで表されるイーサネット端末を送信先としたＭＡＣフレームや、上から３段目のＩＰアドレスで表されるイーサネット端末を送信元とし且つ上から４段目のＩＰアドレスで表されるイーサネット端末を送信先としたＩＰパケットがブリッジ５５ａに送られた場合に、そのＭＡＣフレームやＩＰパケットのデータをＩＥＥＥ１３９４バスでブリッジ５５ｂに転送するためのオフセットアドレス（ＩＥＥＥ１３９４が準拠するＩＥＥＥ１２１２による６４ビットのアドレス空間中のオフセット値）である。例えばテーブルＴａ５１の「Ieee1394代理offset２１」は、図２０のイーサネット端末５１，イーサネット端末５２がそれぞれ送信元，送信先である場合のオフセットアドレス「代理offset２１」を表している。
【００２０】
アドレステーブルの上から２段目のパラメータは、下から３段目のパラメータとは逆に、最上段のＭＡＣアドレスや上から３段目のＩＰアドレスで表されるイーサネット端末が送信先となり且つ下から２段目のＭＡＣアドレスや上から４段目のＩＰアドレスで表されるイーサネット端末が送信元となる場合に、その送信先，送信元と対応させるオフセットアドレスである。例えばテーブルＴａ５１の「Ether代理offset１１」は、図２０のイーサネット端末５２，イーサネット端末５１がそれぞれ送信先，送信元となる場合のオフセットアドレス「代理offset１１」を表している。テーブルＴａ５１とテーブルＴｂ５１のように、送信先のＭＡＣアドレスやＩＰアドレスと送信元のＭＡＣアドレスＩＰアドレスとが互いに入れ替わっているテーブルでは、この上から２段目のオフセットアドレスと下から２段目のオフセットアドレスとが互いに入れ替わることになる。
【００２１】
アドレステーブルの最下段のパラメータは、アドレステーブルを登録した時刻（登録した後アドレステーブルが使用された場合には、最後に使用された時刻）を表す登録時刻パラメータである。
【００２２】
アドレステーブル内のこれらのパラメータのうち、ＩＰアドレスは、ＴＣＰ／ＩＰのネットワーク層で使用されるアドレスであり、個々のイーサネット端末５１〜５４に固有の値である。また、ＭＡＣアドレスは、ＴＣＰ／ＩＰのデータリンク層で使用されるアドレスであり、ＡＲＰ（アドレス解決プロトコル）によって取得される。
【００２３】
また、ノード番号は、ブリッジ５５ａブリッジ５５ｂとをＩＥＥＥ１３９４バスで接続したときに、自動的に各ブリッジ５５ａ，５５ｂに割り振られる。また、オフセットアドレスは、ブリッジ５５ａ，５５ｂに登録されている各アドレステーブル毎に固有な値として、ブリッジ５５ａ，５５ｂが決定する。また、登録時刻データは、各アドレステーブルの登録時や使用時にブリッジ５５ａ，５５ｂが作成する。
【００２４】
このように、ブリッジ５５ａ，５５ｂにそれぞれ２台ずつのイーサネット端末５１及び３，イーサネット端末５２及び４が接続されていることに対応して、２×２＝４個のアドレステーブルがブリッジ５５ａ，５５ｂにそれぞれ登録される。また、例えばブリッジ５５ａ，５５ｂにそれぞれ１００台ずつのイーサネット端末が接続される場合には、１００×１００＝１００００個のアドレステーブルがブリッジ５５ａ，５５ｂにそれぞれ登録されることになる。
【００２５】
図２２は、図２０のイーサネット端末５１からイーサネット端末５２にＭＡＣフレームを転送する場合を例にとって、ブリッジ５５ａ，５５ｂでのＭＡＣフレームの転送の様子を示す図である。
【００２６】
イーサネット端末５１からイーサネット端末５２にＭＡＣフレームを転送する場合には、ＭＡＣフレーム中の送信先，送信元のＭＡＣアドレスは、それぞれ「ＭＡＣ２」，「ＭＡＣ１」となる。ブリッジ５５ａは、イーサネット端末５１からイーサネット経由でこのＭＡＣフレームが送られると、「ＭＡＣ２」，「ＭＡＣ１」をそれぞれ検索キーとして、図２１（ａ）のアドレステーブルＴａ５１〜Ｔａ５４の中から、下から２段目のパラメータが「ＭＡＣ２」であり且つ最上段のパラメータが「ＭＡＣ１」であるアドレステーブルを検索する。
【００２７】
この場合には、アドレステーブルＴａ５１が検索にヒットする。そこで、ブリッジ５５ａは、このアドレステーブルＴａ５１を使用して、送信先，送信元のＭＡＣアドレス「ＭＡＣ２」，「ＭＡＣ１」を、ノード番号「Ｎｏｄｅ１」（下から４段目のパラメータ），オフセットアドレス「代理offset２１」（下から３段目のパラメータ）にアドレス変換する。
【００２８】
そして、ブリッジ５５ａは、このアドレス変換したＭＡＣフレームを、ＩＥＥＥ１３９４におけるデータの伝送フォーマットであるアイソクロノス・パケットまたはアシンクロナス・パケットにフォーマット変換して、ＩＥＥＥ１３９４バス経由でブリッジ５５ｂに転送する。
【００２９】
ブリッジ５５ｂは、ブリッジ５５ａからパケットが転送されると、そのパケット中の送信元のノード番号「Ｎｏｄｅ０」，オフセットアドレス「代理offset２１」を検索キーとして、図２１（ｂ）のアドレステーブルＴｂ５１〜Ｔｂ５４の中から、下から４段目のノード番号が「Ｎｏｄｅ０」であり且つ上から２段目のオフセットアドレスが「代理offset２１」であるアドレステーブルを検索する。
【００３０】
この場合には、アドレステーブルＴｂ５１が検索にヒットする。そこで、ブリッジ５５ｂは、このアドレステーブルＴｂ５１を使用して、「Ｎｏｄｅ１」，「代理offset２１」を、「ＭＡＣ２」（最上段のパラメータ）を送信先とし且つ「ＭＡＣ１」（下から２段目のパラメータ）を送信元としたＭＡＣアドレスに変換する。
【００３１】
そして、ブリッジ５５ｂは、このようにアドレス変換したパケットを、ＭＡＣフレームにフォーマット変換して、イーサネット経由でイーサネット端末５２に転送する。これにより、イーサネット端末５１からイーサネット端末５２へのＭＡＣフレームの転送が完了する。
【００３２】
図２２ではＭＡＣフレームを転送する場合を例にとったが、図２０のイーサネット端末５１からイーサネット端末５２にＩＰパケットを転送する場合（例えばＡＲＰによってＭＡＣアドレスが取得される前の既にテーブルが作成されている通信の場合等）には、ブリッジ５５ａは、送信先，送信元の ＩＰアドレス 「ＩＰ２」，「ＩＰ１」をそれぞれ検索キーとして、図２１（ａ）のアドレステーブルＴａ５１〜Ｔａ５４の中から、上から４段目のパラメータが「ＩＰ２」であり且つ上から３段目のパラメータが「ＩＰ１」であるアドレステーブルを検索することになる。また、ブリッジ５５ｂは、検索にヒットしたアドレステーブルＴｂ５１を使用して、「Ｎｏｄｅ１」，「代理offset２１」を、「ＩＰ２」（上から３段目のパラメータ）を送信先とし且つ「ＩＰ１」（上から４段目のパラメータ）を送信元としたＩＰＣアドレスに変換することになる。
【００３３】
図２１のアドレステーブルの最下段の登録時刻データは、未使用のアドレステーブルを登録から除外するタイムアウト処理を行うためのデータである。
【００３４】
例えばブリッジ５５ａ，５５ｂにそれぞれ１００台ずつのイーサネット端末を接続する場合には、ブリッジ５５ａ，５５ｂに登録されるアドレステーブルの数はそれぞれ１００×１００＝１００００個になるが、このようにアドレステーブルの登録数が多くなると、そのままでは検索対象のアドレステーブルの数が多くなってしまう。しかし、実際に使用されるアドレステーブル（実際にＭＡＣフレームやＩＰパケットが転送されるイーサネット端末に対応したアドレステーブル）は、登録したアドレステーブルのうちの一部であることも少なくない。そこで、登録した各アドレステーブルが一定時間（例えば２〜３分）使用されていないか否かを、登録時刻データを用いて定期的にチェックし、一定時間使用されていない場合には登録を除外するタイムアウト処理を行うことにより、検索対象のアドレステーブルの数を抑えるようにする。
【００３５】
このタイムアウト処理の方法としては、一般的には、図２３に示すように、直近に使用した少数（例えば１０〜２０個程度）のアドレステーブルをキャッシュとして一時的に保存し、残りの全てのアドレステーブルの未使用時間をチェックするという方法が考えられる。
【００３６】
しかし、この方法では、登録しているほとんど全てのアドレステーブルに対してチェックを行わなければならないので、処理の負担が大きくなったり、処理時間が長くなってしまう。
【００３７】
また、タイムアウト処理の別の方法としては、例えば、各アドレステーブルに現在どんな登録時刻データがセットされているかを管理し、その管理している登録時刻データを参照して未使用時間をチェックするという方法も考えられる。
【００３８】
しかし、この方法では、各アドレステーブルに現在セットされている登録時刻データを記憶するための新たなテーブルを設けたり、そのテーブルとアドレステーブルとを関連付ける処理を行うことが必要になるので、回路規模が大きくなったり、処理が複雑化してしまう。
【００３９】
本発明は、上述の点に鑑み、図２０に示したＬＡＮのように、イーサネットとＩＥＥＥ１３９４とをブリッジ装置で中継したネットワークシステムを構築する際に、ブリッジ装置に登録したアドレステーブルのうちの未使用のアドレステーブルを登録から除外するタイムアウト処理を、処理の負担増・複雑化や回路規模の増大を招くことなく、短時間に行えるようにすることを課題としてなされたものである。
【課題を解決するための手段】
【００４０】
この課題を解決するために、本発明は、イーサネットにおけるデータの伝送フォーマットと、ＩＥＥＥ１３９４におけるデータの伝送フォーマットとの間でフォーマット変換を行うとともに、イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報との間でアドレス変換を行うブリッジ装置において、イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報と、登録時刻データとをパラメータとしてセットしたアドレステーブルを登録する第１の処理手段と、新たにアドレステーブルが登録される毎に、そのアドレステーブルを、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置する第２の処理手段と、このリニアテーブルに既に並べられているアドレステーブルが使用される毎に、そのアドレステーブルをこのリニアテーブルの先頭に移動させるとともに、そのアドレステーブルの登録時刻データを現在の時刻に更新する第３の処理手段と、このリニアテーブルの末尾に位置するアドレステーブルから、このリニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間以上使用されていないかを登録時刻データを用いて順にチェックし、この一定時間内に使用されているアドレステーブルがみつかった段階でチェックを終了する第４の処理手段とを備えたことを特徴とする。
【００４１】
このブリッジ装置では、イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報と、登録時刻データとをパラメータとしてセットしたアドレステーブルが登録される毎に、そのアドレステーブルが、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置される。
【００４２】
また、このリニアテーブルに既に並べられているアドレステーブルが使用される毎に、そのアドレステーブルがこのリニアテーブルの先頭に移動されるとともに、そのアドレステーブルの登録時刻データが現在の時刻に更新される。
【００４３】
これにより、新しく登録されたアドレステーブルや直近に使用されたアドレステーブル（登録時刻データが新しいアドレステーブル）ほど、このリニアテーブルの先頭に近い位置に配置されるようになる。また逆に、登録されてから時間の経っているアドレステーブルや使用されていないアドレステーブル（登録時刻データが古いアドレステーブル）ほど、このリニアテーブルの末尾に近い位置に配置されるようになる。
【００４４】
そして、このリニアテーブルの末尾に位置するアドレステーブルから、このリニアテーブルの先頭に位置するアドレステーブルに向けて（すなわち、登録時刻データが古いアドレステーブルから、登録時刻データが新しいアドレステーブルに向けて）、一定時間以上使用されていないかが登録時刻データを用いて順にチェックされ、一定時間内に使用されているアドレステーブルがみつかった段階でチェックが終了される。
【００４５】
このように、登録済みの全てのアドレステーブルを登録時刻データの順に直線状に並べ、登録時刻データが古いアドレステーブルから順に未使用時間をチェックすることにより、未使用時間の短いアドレステーブルに対してはチェックを行わなくて済むようになるので、処理の負担が軽減されるとともに、処理時間が短縮される。
【００４６】
そして、各アドレステーブルに現在どんな登録時刻データがセットされているかを管理しているわけではなく、登録済みのアドレステーブルを直線状に並べるだけなので、回路規模の増大や処理の複雑化を招くこともない。
【００４７】
なお、このブリッジ装置において、一例として、パラメータをセットしていない所定数のブランクテーブルを直線状に並べたリニアテーブルを作成し、且つ、このブランクテーブルと登録済みのアドレステーブルとの境界を示すボーダーポインタをこのリニアテーブルの先頭にセットする処理手段をさらに備え、第１の処理手段は、このリニアテーブル中の末尾のブランクテーブルにパラメータをセットし、この第２の処理手段は、新たにアドレステーブルが登録される毎に、そのアドレステーブルを、このリニアテーブルの先頭に配置するとともに、このボーダーポインタを１テーブル分下に移動させ、第４の処理手段は、このリニアテーブルのうちこのボーダーポインタよりも上に位置するアドレステーブルから、このリニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間以上使用されていないかを登録時刻データを用いて順にチェックすることが好適である。
【００４８】
このように、アドレステーブルの登録のために用いるブランクテーブルと、登録済みのアドレステーブルとを同じリニアテーブルに並べることにより、ブランクテーブルの管理や、未使用のアドレステーブルをブランクテーブルとして再利用する処理を、容易に行うことができるようになる。
【００４９】
次に、本発明は、イーサネットにおけるデータの伝送フォーマットと、ＩＥＥＥ１３９４におけるデータの伝送フォーマットとの間でフォーマット変換を行うとともに、イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報との間でアドレス変換を行うブリッジ装置におけるアドレス管理方法において、イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報と、登録時刻データとをパラメータとしてセットしたアドレステーブルを登録し、新たにアドレステーブルが登録される毎に、そのアドレステーブルを、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置し、このリニアテーブルに既に並べられているアドレステーブルが使用される毎に、そのアドレステーブルをこのリニアテーブルの先頭に移動させるとともに、そのアドレステーブルの登録時刻データを現在の時刻に更新し、このリニアテーブルの末尾に位置するアドレステーブルから、このリニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間以上使用されていないかを登録時刻データを用いて順にチェックし、この一定時間内に使用されているアドレステーブルがみつかった段階でチェックを終了することを特徴とする。
【００５０】
このアドレス管理方法では、イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報と、登録時刻データとをパラメータとしてセットしたアドレステーブルを登録する毎に、そのアドレステーブルを、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置する。
【００５１】
また、このリニアテーブルに既に並べているアドレステーブルが使用される毎に、そのアドレステーブルをこのリニアテーブルの先頭に移動させるとともに、そのアドレステーブルの登録時刻データを現在の時刻に更新する。
【００５２】
これにより、新しく登録されたアドレステーブルや直近に使用されたアドレステーブルほど、このリニアテーブルの先頭に近い位置に配置されるようになる。また逆に、登録されてから時間の経っているアドレステーブルや使用されていないアドレステーブルほど、このリニアテーブルの末尾に近い位置に配置されるようになる。
【００５３】
そして、このリニアテーブルの末尾に位置するアドレステーブルから、このリニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間以上使用されていないかを登録時刻データを用いて順にチェックし、一定時間内に使用されているアドレステーブルがみつかった段階でチェックを終了する。
【００５４】
このように、登録済みの全てのアドレステーブルを登録時刻データの順に直線状に並べ、登録時刻データが古いアドレステーブルから順に未使用時間をチェックすることにより、未使用時間の短いアドレステーブルに対してはチェックを行わなくて済むようになるので、処理の負担が軽減されるとともに、処理時間が短縮される。
【００５５】
そして、各アドレステーブルに現在どんな登録時刻データがセットされているかを管理しているわけではなく、登録済みのアドレステーブルを直線状に並べるだけなので、回路規模の増大や処理の複雑化を招くこともない。
【００５６】
次に、本発明は、イーサネットとＩＥＥＥ１３９４とを中継するブリッジ装置を、ＩＥＥＥ１３９４バスに複数台接続し、イーサネットのインタフェースを有する端末同士を、これらのブリッジ装置を介して接続するようにしたネットワークシステムにおいて、各ブリッジ装置は、イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報と、登録時刻データとをパラメータとしてセットしたアドレステーブルを登録する第１の処理手段と、新たにアドレステーブルが登録される毎に、そのアドレステーブルを、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置する第２の処理手段と、このリニアテーブルに既に並べられているアドレステーブルが使用される毎に、そのアドレステーブルをこのリニアテーブルの先頭に移動させるとともに、そのアドレステーブルの登録時刻データを現在の時刻に更新する第３の処理手段と、このリニアテーブルの末尾に位置するアドレステーブルから、このリニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間以上使用されていないかを登録時刻データを用いて順にチェックし、この一定時間内に使用されているアドレステーブルがみつかった段階でチェックを終了する第４の処理手段とを備えたことを特徴とする。
【００５７】
このネットワークシステムでは、各ブリッジ装置で、イーサネットにおけるデータの伝送フォーマット中のアドレス情報と、ＩＥＥＥ１３９４におけるデータの伝送フォーマット中のアドレス情報と、登録時刻データとをパラメータとしてセットしたアドレステーブルが登録される毎に、そのアドレステーブルが、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置される。
【００５８】
また、このリニアテーブルに既に並べられているアドレステーブルが使用される毎に、そのアドレステーブルがこのリニアテーブルの先頭に移動されるとともに、そのアドレステーブルの登録時刻データが現在の時刻に更新される。
【００５９】
これにより、新しく登録されたアドレステーブルや直近に使用されたアドレステーブルほど、このリニアテーブルの先頭に近い位置に配置されるようになる。また逆に、登録されてから時間の経っているアドレステーブルや使用されていないアドレステーブルほど、このリニアテーブルの末尾に近い位置に配置されるようになる。
【００６０】
そして、このリニアテーブルの末尾に位置するアドレステーブルから、このリニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間以上使用されていないかが登録時刻データを用いて順にチェックされ、一定時間内に使用されているアドレステーブルがみつかった段階でチェックが終了される。
【００６１】
このように、登録済みの全てのアドレステーブルを登録時刻データの順に直線状に並べ、登録時刻データが古いアドレステーブルから順に未使用時間をチェックすることにより、未使用時間の短いアドレステーブルに対してはチェックを行わなくて済むようになるので、処理の負担が軽減されるとともに、処理時間が短縮される。
【００６２】
そして、各アドレステーブルに現在どんな登録時刻データがセットされているかを管理しているわけではなく、登録済みのアドレステーブルを直線状に並べるだけなので、回路規模の増大や処理の複雑化を招くこともない。
【発明の効果】
【００６３】
本発明によれば、イーサネットとＩＥＥＥ１３９４とを中継するブリッジ装置を介してイーサネット端末同士を接続するようにしたネットワークシステムにおいて、ブリッジ装置に登録したアドレステーブルのうちの未使用のアドレステーブルを登録から除外するタイムアウト処理を、処理の負担増・複雑化や回路規模の増大を招くことなく、短時間に行えるという効果が得られる。
【００６４】
また、アドレステーブルとして用いるブランクテーブルを用意する場合に、このブランクテーブルと登録済みのアドレステーブルとを同じリニアテーブルに並べることにより、ブランクテーブルの管理や、一定時間以上未使用であったための登録から除外したアドレステーブルをブランクテーブルとして再利用する処理を、容易に行うことができるという効果も得られる。
【発明を実施するための最良の形態】
【００６５】
以下、本発明を図面を用いて具体的に説明する。図１は、本発明を適用したＬＡＮの全体構成を示す。ブリッジ１ａに、複数台のイーサネット端末２（１），２（３），…がイーサネットによって接続されている。これらのブリッジ１ａ及びイーサネット端末２（１），２（３），…は、例えば或る建物の１階に配置されている。
【００６６】
また、ブリッジ１ｂに、複数台のイーサネット端末２（２），２（４），…がイーサネットによって接続されている。これらのブリッジ１ｂ及びイーサネット端末２（２），２（４），…は、例えば同じ建物の２階に配置されている。イーサネット端末２（１），２（２），２（３），２（４），…は、例えばパーソナルコンピュータやリモートルータ(ＷＡＮルータ)である。
【００６７】
ブリッジ１ａとブリッジ１ｂとは、ＩＥＥＥ１３９４バス（ＩＥＥＥ１３９４ｂ仕様のもの）で接続されている。また、例えばデジタルビデオカメラ，デジタルビデオデッキ，デジタルテレビジョン受信機といった複数台のデジタルＡＶ機器３（１），３（２），…が、このＩＥＥＥ１３９４バスにデイジー・チェーンで接続されている。
【００６８】
ブリッジ１ａ，１ｂは、イーサネットとＩＥＥＥ１３９４とを中継する装置であり、互いに同一の構成をしている。図２は、これらのブリッジの構成を示すブロック図である。ブリッジ１ａ，１ｂは、コントローラ１１，アドレス管理テーブルメモリ１２，Ｎｏｄｅ−ＧＵＩＤテーブルメモリ１３，ブランクテーブルメモリ１４，ハッシュテーブルメモリ１５，イーサネットインタフェース１６，ＩＥＥＥ１３９４インタフェース１７及びコントロール・ロジック１８で構成されている。
【００６９】
イーサネットインタフェース１６は、イーサネット経由で通信を行うためのインタフェースである。ＩＥＥＥ１３９４インタフェース１７は、ＩＥＥＥ１３９４バス経由で通信を行うためのインタフェースである。コントロール・ロジック１８は、イーサネットにおけるデータの伝送フォーマットであるＭＡＣ（メディア・アクセス・コントロール）フレームやＩＰパケットと、ＩＥＥＥ１３９４におけるデータの伝送フォーマットであるアイソクロノス・パケットやアシンクロナス・パケットとの間でフォーマット変換を行う回路である。
【００７０】
コントローラ１１は、コントロール・ロジック１８を制御するとともに、アドレス管理テーブルメモリ１２，Ｎｏｄｅ−ＧＵＩＤテーブルメモリ１３，ブランクテーブルメモリ１４，ハッシュテーブルメモリ１５を用いてアドレス管理を行う回路である。
【００７１】
以下では、このコントローラ１１によるアドレス管理を、ノード番号に関する処理と、オフセットアドレスに関する処理と、アドレステーブルのタイムアウト処理と、アドレステーブルの検索に関する処理とに分けて説明することにする。
【００７２】
〔ノード番号に関する処理〕
最初に、ノード番号に関する処理について説明する。図２のＮｏｄｅ−ＧＵＩＤテーブルメモリ１３は、図１のブリッジ１ａ，１ｂ及び各デジタルＡＶ機器３（１），３（２），…に割り振られるノード番号と、これらのブリッジ１ａ，１ｂ及びデジタルＡＶ機器３（１），３（２），…のＧＵＩＤ（Global Unigue ID）とを対応させた１つのＮｏｄｅ−ＧＵＩＤテーブルを格納するためのメモリである。ＧＵＩＤは、ＩＥＥＥ１３９４が準拠するＩＥＥＥ１２１２による６４ビットのアドレス空間中のConfigration ROM上のvender_IDとchip_IDを合わせた６４ビットのエリアを指すものであり、ＩＥＥＥ１３９４バスに接続されている個々のノードに固有の値である。
【００７３】
図３は、Ｎｏｄｅ−ＧＵＩＤテーブルの一例を示す。ブリッジ１ａ，１ｂのＧＵＩＤはそれぞれ「１２４５６７８」，「５６７８９０１２」であり、各デジタルＡＶ機器３（１），３（２），…のＧＵＩＤは「１２３４５１２３」，「９８０５６７８」，…である。そして、この例では、ブリッジ１ａ，１ｂにそれぞれノード番号「Ｎｏｄｅ０」，「Ｎｏｄｅ１」が割り振られるとともに、各デジタルＡＶ機器３（１），３（２），…にノード番号「Ｎｏｄｅ３」，「Ｎｏｄｅ４」，…が割り振られており、これらのノード番号がＧＵＩＤに対応させてセットされている。
【００７４】
このＮｏｄｅ−ＧＵＩＤテーブルは、ブリッジ１ａ，１ｂに最初にノード番号が割り振られたとき（ブリッジ１ａ，１ｂが最初にＩＥＥＥ１３９４バスに接続されたとき）に作成される。
【００７５】
図２のアドレス管理テーブルメモリ１２は、アドレステーブルを登録する（アドレステーブルのパラメータを格納する）とともに、後述するアドレステーブル毎のポインタを格納するためのメモリである。図４は、例えば図１においてブリッジ１ａ，１ｂにそれぞれ２台ずつのイーサネット端末２（１）及び２（３），イーサネット端末２（２）及び２（４）が接続されているとした場合に、アドレス管理テーブルメモリ１２に登録されるアドレステーブルを示す。
【００７６】
このうち、図４（ａ）のアドレステーブルＴａ１〜Ｔａ４は、図１のブリッジ１ａに登録されているテーブルである。また、図４（ｂ）のアドレステーブルＴｂ１〜Ｔｂ４は、図１のブリッジ１ｂに登録されているテーブルである。
【００７７】
これらのアドレステーブルの構造を、ブリッジ１ａ側のアドレステーブルＴａ１〜Ｔａ４を例にとって説明する。アドレステーブルの最上段のパラメータは、ブリッジ１ａにイーサネットで接続されているイーサネット端末のＭＡＣアドレスである。テーブルＴａ１及びＴａ２の「EtherＭＡＣ１」は図１のイーサネット端末２（１）のＭＡＣアドレス「ＭＡＣ１」を表しており、テーブルＴａ３及びＴａ４の「EtherＭＡＣ３」は図１のイーサネット端末２（３）のＭＡＣアドレス「ＭＡＣ３」を表している。
【００７８】
アドレステーブルの上から３段目のパラメータは、最上段のパラメータで表しているイーサネット端末のＩＰアドレスである。テーブルＴａ１及びＴａ２の「EtherＩＰ１」は図１のイーサネット端末２（１）のＩＰアドレス「ＩＰ１」を表しており、テーブルＴａ３及びＴａ４の「EtherＩＰ３」は図１のイーサネット端末２（３）のＩＰアドレス「ＩＰ３」を表している。
【００７９】
アドレステーブルの下から２段目のパラメータは、最上段のパラメータで表しているイーサネット端末からのＭＡＣフレームの送信先のイーサネット端末のＭＡＣアドレスである。テーブルＴａ１及びＴａ３の「Ieee1394ＭＡＣ２」は図１のイーサネット端末２（２）のＭＡＣアドレス「ＭＡＣ２」を表しており、テーブルＴａ２及びＴａ４の「Ieee1394ＭＡＣ４」は図１のイーサネット端末２（４）のＭＡＣアドレス「ＭＡＣ４」を表している。
【００８０】
アドレステーブルの上から４段目のパラメータは、下から２段目のパラメータで表しているイーサネット端末のＩＰアドレスである。テーブルＴａ１及びＴａ３の「Ieee1394ＩＰ２」は図１のイーサネット端末２（２）のＩＰアドレス「ＩＰ２」を表しており、テーブルＴａ２及びＴａ４の「Ieee1394ＩＰ４」は図１のイーサネット端末２（４）のＩＰアドレス「ＩＰ４」を表している。
【００８１】
アドレステーブルの下から４段目のパラメータは、図２のＮｏｄｅ−ＧＵＩＤテーブルメモリ１３内のＮｏｄｅ−ＧＵＩＤテーブルにおけるブリッジ１ｂのＧＵＩＤである「５６７８９０１２」（図３）を表している。（逆に、ブリッジ１ｂ側のアドレステーブルＴｂ１〜Ｔｂ４の下から４段目のパラメータは、ブリッジ１ａのＧＵＩＤである「１２４５６７８」を表している。）
【００８２】
アドレステーブルの下から３段目のパラメータは、最上段のＭＡＣアドレスで表されるイーサネット端末を送信元とし且つ下から２段目のＭＡＣアドレスで表されるイーサネット端末を送信先としたＭＡＣフレームや、上から３段目のＩＰアドレスで表されるイーサネット端末を送信元とし且つ上から４段目のＩＰアドレスで表されるイーサネット端末を送信先としたＩＰパケットがブリッジ１ａに送られた場合に、そのＭＡＣフレームやＩＰパケットのデータをＩＥＥＥ１３９４バスでブリッジ１ｂに転送するためのオフセットアドレス（ＩＥＥＥ１３９４が準拠するＩＥＥＥ１２１２による６４ビットのアドレス空間中のオフセット値）である。例えばテーブルＴａ１の「Ieee1394代理offset２１」は、図１のイーサネット端末２（１），イーサネット端末２（２）がそれぞれ送信元，送信先である場合のオフセットアドレス「代理offset２１」を表している。
【００８３】
アドレステーブルの上から２段目のパラメータは、下から３段目のパラメータとは逆に、最上段のＭＡＣアドレスや上から３段目のＩＰアドレスで表されるイーサネット端末が送信先となり且つ下から２段目のＭＡＣアドレスや上から４段目のＩＰアドレスで表されるイーサネット端末が送信元となる場合に、その送信先，送信元と対応させるオフセットアドレスである。例えばテーブルＴａ１の「Ether代理offset１１」は、図１のイーサネット端末２（２），イーサネット端末２（１）がそれぞれ送信先，送信元となる場合のオフセットアドレス「代理offset１１」を表している。テーブルＴａ１とテーブルＴｂ１のように、送信先のＭＡＣアドレスやＩＰアドレスと送信元のＭＡＣアドレスＩＰアドレスとが互いに入れ替わっているテーブルでは、この上から２段目のオフセットアドレスと下から３段目のオフセットアドレスとが互いに入れ替わることになる。
【００８４】
アドレステーブルの最下段のパラメータは、アドレステーブルを登録した時刻（登録した後アドレステーブルが使用された場合には、最後に使用された時刻）を表す登録時刻パラメータである。
【００８５】
アドレステーブル内のこれらのパラメータのうち、ＩＰアドレスは、ＴＣＰ／ＩＰのネットワーク層で使用されるアドレスであり、個々のイーサネット端末に固有の値である。また、ＭＡＣアドレスは、ＴＣＰ／ＩＰのパラメータリンク層で使用されるアドレスであり、ＡＲＰ（アドレス解決プロトコル）によって取得される。
【００８６】
また、オフセットアドレスは、アドレステーブル毎に固有な値として、ブリッジ１ａ，１ｂのコントローラ１１（図２）が作成する。また、登録時刻データも、アドレステーブルの登録時や使用時にコントローラ１１が作成する。
【００８７】
このように、ブリッジ１ａ，１ｂにそれぞれ２台ずつのイーサネット端末が接続されている場合には、２×２＝４個のアドレステーブルがブリッジ１ａ，１ｂにそれぞれ登録される。また、例えばブリッジ１ａ，１ｂにそれぞれ１００台ずつのイーサネット端末が接続されている場合には、１００×１００＝１００００個のアドレステーブルがブリッジ１ａ，１ｂにそれぞれ登録されることになる。
【００８８】
図５は、図２のコントローラ１１が実行するアドレス管理処理のうち、ノード番号に関する処理の部分を示すフローチャートである。このうち、図５（ａ）の処理は、イーサネットにおけるデータの伝送フォーマット中のアドレス情報である送信先・送信元のＭＡＣアドレス（またはＩＰアドレス）をノード番号に変換する際の処理であり、まず、このＭＡＣアドレス（またはＩＰアドレス）を、アドレス管理テーブルメモリ１２内のアドレステーブル（検索にヒットしたアドレステーブル）を使用してＧＵＩＤに変換する（ステップＳ１）。そして、そのＧＵＩＤを、Ｎｏｄｅ−ＧＵＩＤテーブルメモリ１３内のＮｏｄｅ−ＧＵＩＤテーブルを使用してノード番号に変換する（ステップＳ２）。
【００８９】
図５（ｂ）の処理は、図５（ａ）の処理とは逆に、ノード番号及びオフセットアドレスを送信先・送信元のＭＡＣアドレス（またはＩＰアドレス）に変換する際の処理であり、まず、このノード番号を、Ｎｏｄｅ−ＧＵＩＤテーブルメモリ１３内のＮｏｄｅ−ＧＵＩＤテーブルを使用してＧＵＩＤに変換する（ステップＳ１１）。そして、そのＧＵＩＤ及びオフセットアドレスを、アドレス管理テーブルメモリ１２内のアドレステーブル（検索にヒットしたアドレステーブル）を使用して送信先・送信元のＭＡＣアドレス（またはＩＰアドレス）に変換する（ステップＳ１２）。
【００９０】
図６は、図１のイーサネット端末２（１）からイーサネット端末２（２）にＭＡＣフレームを転送する場合を例にとって、ブリッジ１ａ，１ｂでの、図５（ａ），（ｂ）の処理を含んだＭＡＣフレームの転送の様子を示す図である。
【００９１】
イーサネット端末２（１）からイーサネット端末２（２）にＭＡＣフレームを転送する場合には、ＭＡＣフレーム中の送信先，送信元のＭＡＣアドレスは、それぞれ「ＭＡＣ２」，「ＭＡＣ１」となる。ブリッジ１ａのコントローラ１１は、イーサネット端末２（１）からイーサネット経由でこのＭＡＣフレームが送られると、「ＭＡＣ２」，「ＭＡＣ１」をそれぞれ検索キーとして、アドレス管理テーブルメモリ１２内のアドレステーブルの中から、下から２段目のパラメータが「ＭＡＣ２」であり且つ最上段のパラメータが「ＭＡＣ１」であるアドレステーブルを検索する。
【００９２】
この場合には、図４（ａ）のアドレステーブルＴａ１が検索にヒットする。そこで、ブリッジ１ａのコントローラ１１は、このアドレステーブルＴａ１を使用して、送信先，送信元のＭＡＣアドレス「ＭＡＣ２」，「ＭＡＣ１」を、ＧＵＩＤ「５６７８９０１２」（下から４段目のパラメータ），オフセットアドレス「代理offset２１」（下から３段目のパラメータ）にアドレス変換する（図５（ａ）のステップＳ１）。続いて、Ｎｏｄｅ−ＧＵＩＤテーブルメモリ１３内のＮｏｄｅ−ＧＵＩＤテーブル（図３）を使用して、このＧＵＩＤ「５６７８９０１２」をノード番号「Ｎｏｄｅ１」に変換する（図５（ａ）のステップＳ２）。
【００９３】
そして、ブリッジ１ａのコントローラ１１は、コントロール・ロジック１８を制御することにより、このアドレス変換したＭＡＣフレームを、ＩＥＥＥ１３９４におけるデータの伝送フォーマットであるアイソクロノス・パケットまたはアシンクロナス・パケットにフォーマット変換させて、ＩＥＥＥ１３９４インタフェース１６からＩＥＥＥ１３９４バス経由でブリッジ１ｂに転送させる。
【００９４】
ブリッジ１ｂのコントローラ１１は、ブリッジ１ａからパケットが転送されると、そのパケット中の送信元であるブリッジ１ａのノード番号「Ｎｏｄｅ０」（図３）を、Ｎｏｄｅ−ＧＵＩＤテーブルメモリ１３内のＮｏｄｅ−ＧＵＩＤテーブルを使用して、ブリッジ１ａのＧＵＩＤ「１２４５６７８」に変換する（図５（ｂ）のステップＳ１１）。続いて、ＧＵＩＤ「１２４５６７８」，オフセットアドレス「代理offset２１」を検索キーとして、アドレス管理テーブルメモリ１２内のアドレステーブルの中から、下から４段目のＧＵＩＤが「１２４５６７８」であり且つ上から２段目のオフセットアドレスが「代理offset２１」であるアドレステーブルを検索する。
【００９５】
この場合には、図４（ｂ）のアドレステーブルＴｂ１が検索にヒットする。そこで、ブリッジ１ｂのコントローラ１１は、このアドレステーブルＴｂ１を使用して、「Ｎｏｄｅ１」，「代理offset２１」を、「ＭＡＣ２」（最上段のパラメータ）を送信先とし且つ「ＭＡＣ１」（下から２段目のパラメータ）を送信元としたＭＡＣアドレスに変換する（図５（ｂ）のステップＳ１２）。
【００９６】
そして、ブリッジ１ｂのコントローラ１１は、コントロール・ロジック１８を制御することにより、このようにアドレス変換したパケットを、ＭＡＣフレームにフォーマット変換させて、イーサネット経由でイーサネット端末２（２）に転送させる。これにより、イーサネット端末２（１）からイーサネット端末２（２）へのＭＡＣフレームの転送が完了する。
【００９７】
図６ではＭＡＣフレームを転送する場合を例にとったが、図１のイーサネット端末２（１）からイーサネット端末２（２）にＩＰパケットを転送する場合（例えばＡＲＰによってＭＡＣアドレスが取得される前の既にテーブルが作成されている通信の場合等）には、ブリッジ１ａは、検索にヒットしたアドレステーブルＴａ１を使用して、送信先，送信元のＩＰアドレス「ＩＰ２」，「ＩＰ１」を、ＧＵＩＤ「５６７８９０１２」，オフセットアドレス「代理offset２１」にアドレス変換した後、Ｎｏｄｅ−ＧＵＩＤテーブルを使用して、このＧＵＩＤ「５６７８９０１２」をノード番号「Ｎｏｄｅ１」に変換することになる。また、ブリッジ１ｂは、ブリッジ１ａのノード番号「Ｎｏｄｅ０」を、Ｎｏｄｅ−ＧＵＩＤテーブルを使用してブリッジ１ａのＧＵＩＤ「１２４５６７８」に変換した後、検索にヒットしたアドレステーブルＴｂ１を使用して、「Ｎｏｄｅ１」，「代理offset２１」を、「ＩＰ２」を送信先とし且つ「ＩＰ１」を送信元としたＩＰアドレスに変換することになる。
【００９８】
図５（ｃ）の処理は、ブリッジの電源のオン時やＩＥＥＥ１３９４バスのバスリセット時毎に実行する処理であり、まず、ブリッジ１ａ，１ｂに割り振られるノード番号が変化したか否かを判断する（ステップＳ２１）。変化していなければ、そのまま処理を終了する。他方、変化していれば、それに応じて、Ｎｏｄｅ−ＧＵＩＤテーブルメモリ１３内のＮｏｄｅ−ＧＵＩＤテーブルのノード番号を書き換える（ステップＳ２２）。そして処理を終了する。
【００９９】
図７は、図３のＮｏｄｅ−ＧＵＩＤテーブルがこの図５（ｃ）の処理によって書き換えられた様子を例示している。この例では、ブリッジ１ａ，１ｂの電源のオン時またはバスリセット時に、ブリッジ１ａ，１ｂに割り振られるノード番号がそれぞれ「Ｎｏｄｅ０」，「Ｎｏｄｅ１」から「Ｎｏｄｅ１」，「Ｎｏｄｅ０」に変化したことにより、ブリッジ１ａのＧＵＩＤ「１２４５６７８」に対応させるノード番号が「Ｎｏｄｅ０」から「Ｎｏｄｅ１」に書き換えられるとともに、ブリッジ１ｂのＧＵＩＤ「５６７８９０１２」に対応させるノード番号が「Ｎｏｄｅ１」から「Ｎｏｄｅ０」に書き換えられている。
【０１００】
このように、ブリッジ１ａ，１ｂでは、アドレステーブルにはノード番号をセットしないので、電源のオン時やバスリセット時にノード番号が変化しても、アドレステーブルを書き換える必要がなく、Ｎｏｄｅ−ＧＵＩＤテーブルメモリ１３内の１つのノード−ＧＵＩＤテーブルのみを書き換えれば足りる。これにより、アドレステーブルの数が多くても、ノードのノード番号が変化した場合の処理が簡素化される。
【０１０１】
〔オフセットアドレスの決定に関する処理〕
次に、オフセットアドレスの決定に関する処理について説明する。図８は、図２のコントローラ１１が、オフセットアドレスの決定に関して実行する処理を示すフローチャートである。
【０１０２】
このうち、図８（ａ）の処理は、ブリッジの電源のオン時に実行する処理であり、まず、図４に示したアドレステーブルと同じ構造であり且つ全くパラメータをセットしていないテーブルであるブランクテーブルを、ブリッジ１ａ，１ｂに接続可能なイーサネット端末の最大の台数からみて必要なアドレステーブルの数（例えばブリッジ１ａ，１ｂにそれぞれ最大で１００台ずつのイーサネット端末が接続可能である場合には、１００×１００＝１００００個）と同じ数だけ、図２のブランクテーブルメモリ１４内に用意する（ステップＳ３１）。
【０１０３】
そして、これらのブランクテーブルに、オフセットアドレスとしてそれぞれ重複しない固有の値をセットする（ステップＳ３２）。このオフセットアドレスの決定方法は、或る値Ｍを基準値として、各ブランクテーブルにセットするオフセットアドレスをＭ，（Ｍ＋１），（Ｍ＋２），…というように順次大きくしていく方法でもよいし、あるいは、乱数発生器で発生させた乱数をオフセットアドレスとして決定するという方法でもよい。
【０１０４】
図９は、このようにしてオフセットアドレスをセットされたブランクテーブルの一例を示しており、図９（ａ）はブリッジ１ａ側のブランクテーブル、図９（ｂ）はブリッジ１ｂ側のブランクテーブルである。これらセットされたブランクテーブルの上から２段目のパラメータは、オフセットアドレス「代理offset１１」，「代理offset２１」が「Ether代理offset１１」，「Ether代理offset２１」として恒久的に使用される。また、ブランクテーブルの下から３段目には、それぞれ相手方のブリッジの上から２段目のパラメータのオフセットアドレス「代理offset２１」，「代理offset１１」が「Ieee1394代理offset２１」，「Ieee1394代理offset１１」として、テーブルの登録時にその都度セットされる。
【０１０５】
図８（ａ）に示すように、ステップＳ３２に続き、現在ブリッジ１ａ，１ｂに接続されているイーサネット端末のＭＡＣアドレスがＡＲＰ（アドレス解決プロトコル）によって取得されるまで待機する（ステップＳ３３）。そして、ＭＡＣアドレスが取得されると、ブランクテーブルメモリ１４内のブランクテーブルにオフセットアドレス以外のパラメータ（図４に示したように、送信先・送信元のＭＡＣアドレス及びＩＰアドレスと、ＧＵＩＤ）をセットすることによってアドレステーブルを作成し、作成したアドレステーブルを図２のアドレス管理テーブルメモリ１２内に登録する（ステップＳ３４）。そして、ステップＳ３３に戻り、ＡＲＰによって新たなＭＡＣアドレスが取得されるまで待機する。
【０１０６】
図８（ｂ）の処理は、後述するタイムアウト処理に対応して実行する処理であり、アドレス管理テーブルメモリ１２内に登録したアドレステーブルが、一定時間使用されなかったためにタイムアウト処理によって登録から除外されるまで待機する（ステップＳ４１）。そして、或るアドレステーブルが登録から除外されると、そのアドレステーブルを、オフセットアドレスを変更することなく再びブランクテーブルとして図２のブランクテーブルメモリ１４内に格納する（ステップＳ４２）。そして、ステップＳ４1に戻り、新たにアドレステーブルが登録から除外されるまで待機する。
【０１０７】
図１０は、この図８の処理によるブランクテーブルとアドレステーブルとの関係を示す図である（リニアテーブルについては後述する）。予め、オフセットアドレスとしてそれぞれ固有の値をセットするとともにそれ以外のパラメータをセットしていないブランクテーブルＢＴが、所定数用意される（図８（ａ）のステップＳ３１，Ｓ３２）。そして、アドレステーブルＡＴの登録時には、このブランクテーブルＢＴに、オフセットアドレス以外のパラメータがセットされる（図８（ａ）のステップＳ３３，Ｓ３４）。
【０１０８】
その後、登録された或るアドレステーブルＡＴが一定時間使用されなかった場合には、そのアドレステーブルＡＴが、セットされている（上から２段目の）オフセットアドレスを変更することなく、再びブランクテーブルＢＴとして扱われる（図８（ｂ）のステップＳ４１，Ｓ４２）。したがって、その後のアドレステーブルの登録時（図８（ａ）のステップＳ３３，Ｓ３４）には、この一定時間使用されなかったアドレステーブルＡＴが、最初にセットされた（上から２段目の）オフセットアドレスを継続して使用したまま、オフセットアドレス以外のパラメータを新たにセットされて、新たなアドレステーブルＡＴとして再利用される。
【０１０９】
このように、最初に用意した所定数のブランクテーブルにセットされているオフセットアドレスが繰り返し使用されるので、アドレステーブルを何度登録しても、オフセットアドレスが枯渇することがない。
【０１１０】
そして、一度決定したオフセットアドレスのうちどの値のオフセットアドレスが再利用可能であるかの管理（一定時間使用されなかった各アドレステーブルにそれぞれどの値のオフセットアドレスがセットされているかの管理）を行っているわけではなく、一定時間使用されなかったアドレステーブルを再びブランクテーブルとして扱うだけなので、処理の複雑化を招くことはない。
【０１１１】
〔アドレステーブルのタイムアウト処理〕
次に、アドレステーブルのタイムアウト処理について説明する。図１１は、図２のコントローラ１１が実行するアドレステーブルのタイムアウト処理を示すフローチャートである。この処理では、前出の図８（ａ）の処理によってアドレス管理テーブルメモリ１２内に新たにアドレステーブルが登録されたか否かの判断（ステップＳ５１）と、アドレス管理テーブルメモリ１２内に登録されているいずれかのアドレステーブルが新たに使用されたか否かの判断（ステップＳ５２）と、タイムアウトをチェックすべき一定の周期（例えば数秒）が経過したか否かの判断（ステップＳ５３）とを、いずれかのステップでイエスになるまで繰り返す。
【０１１２】
ステップＳ５１でイエスになると、新たに登録されたアドレステーブルを、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置する（ステップＳ５４）。そしてステップＳ５１に戻る。
【０１１３】
ステップＳ５２でイエスになると、新たに使用されたアドレステーブルをこのリニアテーブルの先頭に配置するとともに、そのアドレステーブルの登録時刻データ（図４）を現在の時刻に更新する（ステップＳ５５）。そしてステップＳ５１に戻る。
【０１１４】
ステップＳ５３でイエスになると、このリニアテーブルの末尾に位置するアドレステーブルから、このリニアテーブルの先頭に位置するアドレステーブルに向けて、一定時間（例えば２〜３分）以上使用されていないかを登録時刻データを用いて順にチェックし、一定時間以上使用されていないアドレステーブルを登録から除外するとともに、一定時間内に使用されているアドレステーブルがみつかった段階でチェックを終了する（ステップＳ５６）。そしてステップＳ５１に戻る。
【０１１５】
未使用のアドレステーブルがこの図１１の処理によって登録から除外される様子を、前出の図１０を用いて説明する。前出の図８の処理と関連させて示す図である。図８（ａ）の処理によりブランクテーブルを用いてアドレステーブルが登録されると、そのアドレステーブルが、登録済みのアドレステーブルが直線状に並べられるリニアテーブルの先頭に配置される（それまでリニアテーブルに並べられていたアドレステーブルは１テーブル分ずつ下にずれる）（図１１のステップＳ５４）。
【０１１６】
また、このリニアテーブルに既に並べられているアドレステーブルが使用される毎に、そのアドレステーブルがこのリニアテーブルの先頭に配置されるとともに、そのアドレステーブルの登録時刻データが現在の時刻に更新される（図１１のステップＳ５５）。
【０１１７】
これにより、新しく登録されたアドレステーブルや直近に使用されたアドレステーブル（登録時刻データが新しいアドレステーブル）ほど、このリニアテーブルの先頭に近い位置に配置されるようになる。また逆に、登録されてから時間の経っているアドレステーブルや使用されていないアドレステーブル（登録時刻データが古いアドレステーブル）ほど、このリニアテーブルの末尾に近い位置に配置されるようになる。
【０１１８】
そして、このリニアテーブルの末尾に位置するアドレステーブルから、このリニアテーブルの先頭に位置するアドレステーブルに向けて（すなわち、登録時刻データが古いアドレステーブルから、登録時刻データが新しいアドレステーブルに向けて）、一定時間以上使用されていないかが登録時刻データを用いて順にチェックされ、一定時間以上使用されていないアドレステーブルが登録から除外される（リニアテーブルからも外される）とともに、一定時間内に使用されているアドレステーブルがみつかった段階でチェックが終了される（図１１のステップＳ５６）。登録から除外されたアドレステーブルは、図８（ｂ）の処理により、再びブランクテーブルとして扱われる。
【０１１９】
このように、登録済みの全てのアドレステーブルを登録時刻データの順に直線状に並べ、登録時刻データが古いアドレステーブルから順に未使用時間をチェックすることにより、未使用時間の短いアドレステーブルに対してはチェックを行わなくて済むようになるので、処理の負担が軽減されるとともに、処理時間が短縮される。
【０１２０】
そして、各アドレステーブルに現在どんな登録時刻データがセットされているかを管理しているわけではなく、登録済みのアドレステーブルを直線状に並べるだけなので、回路規模の増大や処理の複雑化を招くこともない。
【０１２１】
なお、図１０に示したようなリニアテーブルは、具体的には、Ｃ言語における双方向リストとして作成する。双方向リストは、複数のデータの関係を、次データへのポインタ（next）と前データへのポインタ（previous）とを用いて表すものである。ここでは、図１２に示すように、登録済みの全てのアドレステーブルの関係をこれらのポインタ（next），（previous）で表すことによってリニアテーブルを作成する。リニアテーブルの先頭に配置されるアドレステーブルのポインタ（previous）と、リニアテーブルの末尾に配置されるアドレステーブルのポインタ（next）とは、ＮＵＬＬ（ゼロ）を指す。
【０１２２】
新たなアドレステーブルが登録されたり、登録済みのアドレステーブルが新たに使用されたり、未使用のアドレステーブルが登録から除外されたことによってリニアテーブル内のアドレステーブルの配置を変更する場合（図１１のステップＳ５４〜Ｓ５６の場合）には、変更対象のアドレステーブルのポインタ（next），（previous）を書き換える。
【０１２３】
このリニアテーブルを作成するためのポインタは、個々のアドレステーブル毎に、そのアドレステーブルのパラメータ（図４）と一緒に、図２のアドレス管理テーブルメモリ１２に格納される。図１３は、１つのアドレステーブルについてアドレス管理テーブルメモリ１２に格納されるパラメータ及びポインタを示す（ハッシュ用リニアテーブルを作成するポインタについては後述する）。
【０１２４】
リニアテーブルをこのような双方向リストとして作成することにより、リニアテーブルを格納するメモリ（ポインタ領域１２ｂ）の容量が少なくて済むとともに、リニアテーブル内でのアドレステーブルの配置の変更を容易に行うことができる。
【０１２５】
〔アドレステーブルの検索に関する処理〕
次に、アドレステーブルの検索に関する処理について説明する。図１４は、図２のコントローラ１１がアドレステーブルの検索に関して実行する処理を示すフローチャートである。このうち、図１４（ａ）の処理は、ブリッジの電源のオン時に実行する処理であり、まず、図２のハッシュテーブルメモリ１５内に、ベース数ｍ×ｎ（ｍ，ｎはそれぞれ固定値）の２次元状のＭＡＣアドレスハッシュテーブルと、ベース数ｍ×ｎの２次元状のＩＰアドレスハッシュテーブルと、ベース数ｍ×ｎの２次元状のＧＵＩＤ・オフセットアドレスハッシュテーブルとをそれぞれ作成する（ステップＳ６１）。
【０１２６】
続いて、前出の図８（ａ）の処理によってアドレス管理テーブルメモリ１２内に新たにアドレステーブルが登録されたか否かの判断（ステップＳ６２）と、前出の図１１の処理によって未使用のアドレステーブルが登録から除外されたか否かの判断（ステップＳ６３）とを、いずれかのステップでイエスになるまで繰り返す。
【０１２７】
ステップＳ６２でイエスになると、新たに登録されたアドレステーブルのパラメータ中の送信元，送信先のＭＡＣアドレス（図４の最上段，下から２段目）からそれぞれ０から（ｍ−１），０から（ｎ−１）のハッシュ値を適宜の方法（例えば送信元，送信先のＭＡＣアドレスのバイト数をそれぞれｍ，ｎで割り算してその余りを求めるという方法）で計算し、そのハッシュ値の組合せに対応するＭＡＣアドレスハッシュテーブルのテーブル位置にそのアドレステーブルを保存する。同様に、そのアドレステーブルのパラメータ中の送信元，送信先のＩＰアドレス（図４の上から３段目，上から３段目）からそれぞれ０から（ｍ−１），０から（ｎ−１）のハッシュ値を計算し、そのハッシュ値の組合せに対応するＩＰアドレスハッシュテーブルのテーブル位置にそのアドレステーブルを保存する。 また、そのアドレステーブルのパラメータ中のＧＵＩＤ，オフセットアドレス（図４の下から４段目，上から２段目）からそれぞれ０から（ｍ−１），０から（ｎ−１）のハッシュ値を計算し、そのハッシュ値の組合せに対応するＧＵＩＤ・オフセットアドレスハッシュテーブルのテーブル位置にそのアドレステーブルを保存する。（ステップＳ６４）。そしてステップＳ６６に進む。
【０１２８】
図１５は、このステップＳ６４でアドレステーブルが保存されたＭＡＣアドレスハッシュテーブルの一例を示す。図の横方向（Ｘ方向）が送信元のＭＡＣアドレス（EtherＭＡＣ）のハッシュ値を表し、図の縦方向（Ｙ方向）が送信先のＭＡＣアドレス（Ieee1394ＭＡＣ）のハッシュ値を表している。この例では、送信元，送信先のＭＡＣアドレスから計算したハッシュ値の組合せ（１，２）対応するテーブル位置にアドレステーブルＡＴが保存されている。
【０１２９】
なお、これらのハッシュテーブルは、具体的には、Ｃ言語におけるポインタの配列として作成し、或るテーブル位置にアドレステーブルを保存するときにはそのテーブル位置のポインタでそのアドレステーブルを指すようにする。ハッシュテーブルをこのようなポインタの配列として作成することにより、ハッシュテーブルメモリ１５の容量が少なくて済むとともに、ハッシュテーブルメモリ１５へのアドレステーブルの保存やハッシュテーブルメモリ１５からのアドレステーブルの削除を容易に行うことができる。
【０１３０】
ステップＳ６３でイエスになると、登録を除外されたアドレステーブルを、ＭＡＣアドレスハッシュテーブル，ＩＰアドレスハッシュテーブル及びＧＵＩＤ・オフセットアドレスハッシュテーブルから削除する（ステップＳ６５）。そしてステップＳ６６に進む。
【０１３１】
ステップＳ６６では、ＭＡＣアドレスハッシュテーブル，ＩＰアドレスハッシュテーブルまたはＧＵＩＤ・オフセットアドレスハッシュテーブルのいずれかのテーブル位置で、ハッシュの衝突が起きているか否かを判断する。
【０１３２】
ノーであれば、ステップＳ６２に戻る。他方イエスであれば、ハッシュの衝突が起きている複数のアドレステーブルを直線状に並べたハッシュ用リニアテーブルを作成する（既にこのハッシュ用リニアテーブルが作成されており、ハッシュの衝突が起きているアドレステーブルが新たに増減したり入れ替わった場合には、それに応じてこのハッシュ用リニアテーブル内のアドレステーブルの配置を変更する）（ステップＳ６７）。そしてステップＳ６２に戻る。
【０１３３】
図１６は、このステップＳ６７で作成されるハッシュ用リニアテーブルを示す。ハッシュの衝突が起きている複数のアドレステーブルＡＴが、直線状に並べられている。このハッシュ用リニアテーブルも、具体的には、図１０に示したリニアテーブルと同じく、Ｃ言語における双方向リストとして作成する。この双方向リストのポインタも、個々のアドレステーブル毎に、そのアドレステーブルのパラメータ（図４）と一緒に、図２のアドレス管理テーブルメモリ１２に格納される。前出の図１３にも、ＭＡＣアドレスハッシュテーブルでハッシュの衝突が起きた複数のアドレステーブルを直線状に並べたハッシュ用リニアテーブルを作成するポインタと、ＩＰアドレスハッシュテーブルでハッシュの衝突が起きた複数のアドレステーブルを直線状に並べたハッシュ用リニアテーブルを作成するポインタと、ＧＵＩＤ・オフセットアドレスハッシュテーブルでハッシュの衝突が起きた複数のアドレステーブルを直線状に並べたハッシュ用リニアテーブルを作成するポインタとが示されている。
【０１３４】
図１４（ｂ）の処理は、アドレステーブルの検索時に実行する処理であり、まず、前出の図１０のリニアテーブルのうち、先頭の一部分（例えば１０〜２０個のアドレステーブルが並べられた部分）をキャッシュとして利用して、そのキャッシュ用リニアテーブル内のアドレステーブルに対して２つの検索キー（送信元及び送信先のＭＡＣアドレスか、送信元及び送信先のＩＰアドレスか、ＧＵＩＤ及びオフセットアドレスか）で検索を行う（ステップＳ７１）。そして、検索にヒットしたか否かを判断する（ステップＳ７２）。
【０１３５】
イエスであれば、処理を終了する。他方ノーであれば、その２つの検索キーから図１４（ａ）のステップＳ６４と同じ方法でそれぞれハッシュ値を計算し、図１４（ａ）の処理によって作成されているハッシュテーブル（検索キーがＭＡＣアドレスである場合はＭＡＣアドレスハッシュテーブル、検索キーがＩＰアドレスである場合はＩＰアドレスハッシュテーブル、検索キーがＧＵＩＤ及びオフセットアドレスである場合はＧＵＩＤ・オフセットアドレスハッシュテーブル）のうち、その計算したハッシュ値の組合せに対応するテーブル位置に保存されているアドレステーブルを探す（ステップＳ７３）。
【０１３６】
続いて、そのテーブル位置に保存されているアドレステーブル１つだけであるか（ハッシュの衝突が起きていないか否か）を判断する（ステップＳ７４）。イエスであれば、処理を終了する（その１つのアドレステーブルを、検索にヒットしたアドレステーブルとして扱う）。
【０１３７】
他方ノーであれば、その位置でハッシュの衝突が起きている複数のアドレステーブルについて図１４（ａ）の処理によって作成されているハッシュ用リニアテーブル内のアドレステーブルに対して、この２つの検索キーで検索を行う（ステップＳ７５）。続いて、検索にヒットしたアドレステーブルを、このハッシュ用リニアテーブルの先頭に移動させる（ステップＳ７６）。そして処理を終了する。
【０１３８】
この図１４（ｂ）の処理で検索にヒットした１つのアドレステーブルが、既に図６を用いて説明したように、ＭＡＣアドレス（またはＩＰアドレス）からＧＵＩＤ及びオフセットアドレスへのアドレス変換や、ＧＵＩＤ及びオフセットアドレスからＭＡＣアドレス（またはＩＰアドレス）へのアドレス変換に使用される。
【０１３９】
図１７は、この図１４の処理によってアドレステーブルが検索される様子を示す。最初に、図１０のリニアテーブルのうちの先頭の一部分であるキャッシュ用リニアテーブル内のアドレステーブルに対して２つの検索キーで検索が行われる（図１４（ｂ）のステップＳ７１）。このように、直近に使用された所定数のアドレステーブルのほうに対して最初に検索を行うことにより、それらのアドレステーブルの中からヒットする可能性が高くなるので、検索の所要時間が短縮される可能性が高くなる。
【０１４０】
ヒットしなかった場合には、続いて、図１５に例示したようなハッシュテーブルのうちこの２つの検索キーから計算したハッシュ値の組合せに対応するテーブル位置に保存されているアドレステーブルが特定される（図１４（ｂ）のステップＳ７３）。
【０１４１】
このように、２つのハッシュ値の組合わせから成るテーブル位置を有するハッシュテーブルにアドレステーブルを保存し、２つの検索キーから計算したハッシュ値の組合せでこのハッシュテーブルからアドレステーブルを探すことにより、アドレステーブルの登録数が多くても、検索の所要時間が短縮される。
【０１４２】
さらに、ハッシュの衝突が起きた複数のアドレステーブルを直線状に並べたハッシュ用リニアテーブルが作成され、２つの検索キーから計算したハッシュ値の組合せに対応するハッシュテーブルのテーブル位置でハッシュの衝突が起きている場合には、このハッシュ用リニアテーブルに並べられたアドレステーブルに対してその２つの検索キーで検索が行われるとともに、検索にヒットしたアドレステーブルがこのハッシュ用リニアテーブルの先頭に移動される（図１４（ｂ）のステップＳ７５〜Ｓ７６）。これにより、ハッシュの衝突が起きた複数のアドレステーブルに対しても効率的に検索を行うことができる。
【０１４３】
なお、ハッシュの衝突を少なくするためはハッシュテーブルのベース数を大きくする（ｍ，ｎの値を大きくする）ことが望ましいが、登録されるアドレステーブルの最大数が多い場合には、このベース数をかなり大きくしなければハッシュの衝突を少なくすることができないので、ハッシュテーブルのサイズが大きくなってしまう。他方、ハッシュの衝突が起きても前述のようにハッシュ用リニアテーブルを用いて効率的に検索を行うことができるので、それほどハッシュの衝突を少なくする必要もないといえる。そこで、ハッシュテーブルのベース数は、登録されるアドレステーブルの最大数よりも比較的少なく（例えば１００分の１程度に）してもよい。
【０１４４】
最後に、本発明の変更例をいくつか挙げる。以上の例では、図１０に示したように、オフセットアドレスのみをセットしたブランクテーブルを予め所定数用意し、そのブランクテーブルを用いてアドレステーブルを登録し、登録したアドレスをリニアテーブルに配置してタイムアウト処理を行った後、登録から除外したアドレステーブルを再びブランクテーブルとして扱っている。
【０１４５】
しかし、別の例として、図１８に示すように、アドレステーブルの登録時毎に、パラメータを全くセットしていないブランクテーブルを作成してそのブランクテーブルに全てのパラメータをセットし、登録したアドレスをリニアテーブルに配置してタイムアウト処理を行った後、登録から除外したアドレステーブルを削除するようにしてもよい。
【０１４６】
あるいはまた、図１９に示すようにしてもよい。すなわち、まず、図１９（ａ）に示すように、オフセットアドレスのみをセットした（またはパラメータを全くセットしていない）所定数のブランクテーブルＢＴを直線状に並べたリニアテーブルを予め作成し、且つ、このブランクテーブルＢＴと登録済みのアドレステーブルとの境界を示すボーダーポインタＰＯをこのリニアテーブルの先頭にセットしておく。
【０１４７】
その後、アドレステーブルの登録時には、図１９（ｂ）に示すように、このリニアテーブルの底部のブランクテーブルＢＴから順にオフセットアドレス以外のパラメータ（または全てのパラメータ）をセットし、１つアドレステーブルＡＴを登録する毎にそのアドレステーブルＡＴをこのリニアテーブルの先頭に移動させるとともにボーダーポインタＢＰを１テーブル分下に移動させる。また、登録したアドレステーブルＡＴが使用される毎に、そのアドレステーブルＡＴをこのリニアテーブルの先頭に移動させる。
【０１４８】
そして、このリニアテーブルのうちボーダーポインタＢＰよりも上に位置するアドレステーブルＡＴから、このリニアテーブルの先頭に位置するアドレステーブルＡＴに向けて、一定時間以上使用されていないかを登録時刻データを用いて順にチェックし、一定時間以上未使用であったアドレステーブルＡＴを再びこのリニアテーブルのブランクテーブルＢＴ側に移動させるとともに、一定時間内に使用されているアドレステーブルがみつかった位置までボーダーポインタＢＰを移動させる。
【０１４９】
このように、図１９の例のように、アドレステーブルの登録のために用いるブランクテーブルと、登録済みのアドレステーブルとを同じリニアテーブルに並べることにより、ブランクテーブルの管理や、未使用のアドレステーブルをブランクテーブルとして再利用する処理を、容易に行うことができるようになる。
【０１５０】
また、以上の例では、図４に示したようにアドレステーブルにＧＵＩＤをパラメータとしてセットすることに対応して、図１４の処理のように、ＧＵＩＤ・オフセットアドレスハッシュテーブルを作成し、このＧＵＩＤ・オフセットアドレスハッシュテーブルを用いてＧＵＩＤ及びオフセットアドレスの２つの検索キーで検索を行っている。しかし、例えばアドレステーブルにノード番号をパラメータとしてセットする（場合には、ノード番号・オフセットアドレスハッシュテーブルを作成し、このノード番号・オフセットアドレスハッシュテーブルを用いてノード番号及びオフセットアドレスの２つの検索キーで検索を行うようにすればよい。
【０１５１】
また、以上の例では、図１７に示したように、ハッシュテーブルを検索する前に、図１０のリニアテーブルのうちの先頭の一部分をキャッシュとして利用して、そのキャッシュ用リニアテーブル内のアドレステーブルに対して検索を行っている。しかし、例えば図１０のようなリニアテーブルを作成しない場合には、直近に使用した少数（例えば１０〜２０個程度）のアドレステーブルをキャッシュとして一時的に保存し、ハッシュテーブルを検索する前に、そのキャッシュとして保存したアドレステーブルに対して検索を行うようにしてもよい。
【０１５２】
また、以上の例では、図１０のリニアテーブルや図１６のハッシュ用リニアテーブルを双方向リストとして作成するためのポインタを、個々のアドレステーブル毎に、そのアドレステーブルのパラメータと一緒に図２のアドレス管理テーブルメモリ１２に格納している。しかし、別の例として、アドレステーブルのパラメータを格納するメモリと、アドレステーブル毎のポインタを格納するメモリとを別々に設けるようにしてもよい。ただし、以上の例のように個々のアドレステーブル毎にパラメータとポインタとを一緒に格納するほうが、リニアテーブルの先頭の一部分（キャッシュ用リニアテーブル）やハッシュ用リニアテーブルに並べられたアドレステーブルに対して検索を行った後、検索にヒットしたアドレステーブルのパラメータを用いてアドレス変換を行う処理を容易且つ迅速に行うことができるようになる。
【０１５３】
また、以上の例では、図１に示したように、２台のブリッジ１ａ及び１ｂをＩＥＥＥ１３９４バスに接続している。しかし、これに限らず、３台以上のブリッジをＩＥＥＥ１３９４バスに接続するようにしてもよい。
【図面の簡単な説明】
【０１５４】
【図１】本発明を適用したＬＡＮの全体構成を示す図である。
【図２】図１のブリッジの構成例を示すブロック図である。
【図３】図２のＮｏｄｅ−ＧＵＩＤテーブルメモリ内のＮｏｄｅ−ＧＵＩＤテーブルを例示する図である。
【図４】図２のアドレス管理テーブルメモリ内のアドレステーブルを例示する図である。
【図５】図２のコントローラがノード番号に関して実行する処理を示すフローチャートである。
【図６】本発明でのＭＡＣフレームの転送の様子を例示する図である。
【図７】Ｎｏｄｅ−ＧＵＩＤテーブルの書換えの様子を例示する図である。
【図８】図２のコントローラがオフセットアドレスの決定に関して実行する処理を示すフローチャートである。
【図９】オフセットアドレスをセットしたブランクテーブルを例示する図である。
【図１０】ブランクテーブルとアドレステーブルとの関係及びリニアテーブルを示す図である。
【図１１】図２のコントローラが実行するタイムアウト処理を示すフローチャートである。
【図１２】リニアテーブルの作成方法を示す図である。
【図１３】１つのアドレステーブルについて図２のアドレス管理テーブルメモリに格納されるパラメータ及びポインタを示す図である。
【図１４】図２のコントローラがアドレステーブルの検索に関して実行する処理を示すフローチャートである。
【図１５】本発明におけるハッシュテーブルを例示する図である。
【図１６】ハッシュ用リニアテーブルを例示する図である。
【図１７】本発明でのアドレステーブルの検索の様子を示す図である。
【図１８】本発明の変更例を示す図である。
【図１９】本発明の変更例を示す図である。
【図２０】イーサネット端末をＩＥＥＥ１３９４を利用して接続したＬＡＮを示す図である。
【図２１】アドレステーブルを例示する図である。
【図２２】ＭＡＣフレームの転送の様子を例示する図である。
【図２３】タイムアウト処理の一例を示す図である。
【符号の説明】
【０１５５】
１ａ，１ｂ  ブリッジ、  ２（１），２（２），２（３），２（４），…  イーサネット端末、  ３（１），３（２），…  デジタルＡＶ機器、  １１  コントローラ、  １２  アドレス管理テーブルメモリ、  １３  Ｎｏｄｅ−ＧＵＩＤテーブルメモリ、  １４  ブランクテーブルメモリ、  １５  ハッシュテーブルメモリ、  １６  イーサネットインタフェース、  １７  ＩＥＥＥ１３９４インタフェース、  １８  コントロール・ロジック
【図１】
2005311539.tif 000003
【図２】
2005311539.tif 000004
【図３】
2005311539.tif 000005
【図４】
2005311539.tif 000006
【図５】
2005311539.tif 000007
【図６】
2005311539.tif 000008
【図７】
2005311539.tif 000009
【図８】
2005311539.tif 000010
【図９】
2005311539.tif 000011
【図１０】
2005311539.tif 000012
【図１１】
2005311539.tif 000013
【図１２】
2005311539.tif 000014
【図１３】
2005311539.tif 000015
【図１４】
2005311539.tif 000016
【図１５】
2005311539.tif 000017
【図１６】
2005311539.tif 000018
【図１７】
2005311539.tif 000019
【図１８】
2005311539.tif 000020
【図１９】
2005311539.tif 000021
【図２０】
2005311539.tif 000022
【図２１】
2005311539.tif 000023
【図２２】
2005311539.tif 000024
【図２３】
2005311539.tif 000025