(57)【特許請求の範囲】
【請求項１】
シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、
（ａ）前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報が記述されたメッセージをブロードキャストし、
（ｂ）前記ブリッジは、前記メッセージとして、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続することを特徴とするパケット通信方法。
【請求項２】
シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、
（ａ）前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報が記述されたメッセージをブロードキャストし、
（ｂ）前記マルチキャストグループに参加するノードが存在しないバスに接続されたブリッジは、前記メッセージとして、当該バスを挟んで互いに隔てられたバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、前記マルチキャストグループに参加するノードが存在しないバスに、前記マルチキャストグループで使用されるべきチャンネルを確保することを特徴とするパケット通信方法。
【請求項３】
シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、
（ａ）前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、
（ｂ）前記バスのそれぞれにおいて受信のみを行うノードは、前記メッセージを受信した場合、同一バス内にチャンネルを管理するノードが存在しないことを条件に前記マルチキャストグループのパケットを受信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、
（ｃ）前記ブリッジは、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続することを特徴とするパケット通信方法。
【請求項４】
前記マルチキャストグループに参加するノードが存在しないバスに接続された２以上のブリッジのうち、各ブリッジのもつノードの識別番号に応じた特定のブリッジは、管理ノードとなって優先的に前記チャンネルを確保するための処理を開始することを特徴とする請求項２に記載されたパケット通信方法。
【請求項５】
前記ブリッジは、前記マルチキャストグループを指定する情報と前記チャンネルを指定する情報が書き込まれたメッセージを受信した場合、
（ａ）前記メッセージの転送先のバス内で、前記マルチキャストグループ用にチャンネルが確保されているかについての調査を行うと共に、該チャンネルが確保されていなければ新たなチャンネルが確保可能であるかどうかについての調査を行い、
（ｂ）前記マルチキャストグループ用にチャンネルが確保されているとき、または、該チャンネルが確保されていなければ新たなチャンネルが確保可能であるときに限り、前記メッセージを転送することを特徴とする請求項１ないし４の何れかに記載されたパケット通信方法。
【請求項６】
前記マルチキャストグループ宛のパケットの送信を中止するノードは、前記マルチキャストグループ用に確保されたチャンネルをＩＲＭとして機能する特定のノードに返却すると共に、前記マルチキャストグループ及びチャンネルに関する情報の送信を停止し、前記マルチキャストグループ用に確保されたチャンネルを接続したブリッジは、前記情報を何れのバスからも受信しない場合、チャンネルを切断することを特徴とする請求項１ないし５の何れかに記載されたパケット通信方法。
【請求項７】
前記シリアルバスに関する所定の規格は、ＩＥＥＥ１３９４であることを特徴とする請求項１ないし６の何れかに記載されたパケット通信方法。
【請求項８】
シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在する通信ネットワークにおいて、前記複数のバスを互いに接続するためのブリッジとして機能するパケット通信装置であって、
前記複数のバスでそれぞれ使用されるマルチキャスト用のチャンネルを対応づけるためのチャンネル対応情報を記憶する記憶部と、
受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報と前記記憶部に記憶されたチャンネル対応情報との比較を行うパケット解析部と、
受信した前記メッセージの送信先のバス内でマルチキャスト用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、前記メッセージを前記送信先のバスへ転送すると共に、前記パケット解析部での比較の結果、宛先アドレスが一致し、かつ受信したポートが異なる場合、前記チャンネル対応情報で示される各チャンネルを互いに接続するパケットスイッチング部と、
を備えたことを特徴とするパケット通信装置。
【請求項９】
シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在する通信ネットワークにおいて、前記複数のバスを互いに接続するためのブリッジとして機能するパケット通信装置であって、
前記複数のバスでそれぞれ使用されるマルチキャスト用のチャンネルを対応づけるためのチャンネル対応情報を記憶する記憶部と、
受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報と前記記憶部に記憶されたチャンネル対応情報との比較を行い、宛先アドレスが一致し、受信したポートが異なり、かつ前記メッセージが受信ノードからのものでなかった場合、管理ノードが在しないバスでマルチキャストグループ用のチャンネルを確保するためのチャンネル確保処理を開始するパケット解析部と、
受信した前記メッセージの送信先のバス内でマルチキャスト用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、前記メッセージを前記送信先のバスへ転送すると共に、前記パケット解析部での比較の結果、宛先アドレスが一致し、かつ受信したポートが異なる場合、前記チャンネル対応情報で示される各チャンネルを互いに接続するパケットスイッチング部と、
を備えたことを特徴とするパケット通信装置。
【請求項１０】
前記パケットスイッチング部でのチャンネル確保処理にともなって、前記送信先のバスでチャンネルを管理しているノードが存在しないかについて確認を行うための問い合わせメッセージを送信するパケット生成部をさらに備えたことを特徴とする請求項９に記載されたパケット通信装置。
【請求項１１】
前記問い合わせメッセージに対する応答を受け付けるために予め設定された時間を計時してタイムアウトを検出するタイマ部をさらに備え、前記タイマ部の設定は、ブリッジ毎に異なることを特徴とする請求項１０に記載されたパケット通信装置。
【請求項１２】
シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークにおいて、前記ノードとして機能するパケット通信装置であって、
受信したメッセージ内のバス識別子がこのメッセージの送信ノードが存在するバス以外のノードを示す場合、マルチキャストグループ用のチャンネル確保処理を開始するパケット解析部と、
前記チャンネル確保処理に伴って、前記マルチキャストグループ用にチャンネルが確保されているかどうかを問い合わせる旨の問い合わせメッセージを生成するパケット生成部と、
を備えたことを特徴とするパケット通信装置。
【請求項１３】
前記シリアルバスに関する所定の規格は、ＩＥＥＥ１３９４であることを特徴とする請求項８ないし１２の何れかに記載されたパケット通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビデオカメラなどのハードウェアをコンピュータにより制御するためのシリアルバスを用いたパケット通信方法および装置に関し、例えば、シリアルバスに関する規格であるＩＥＥＥ１３９４に準じたネットワークにおいて、ブリッジをまたぐ複数のノード間でＴＣＰ(Transmission Control Protocol)／ＩＰ(Internet Protocol)などのプロトコルを使用したパケット通信方法および装置に関する。
【０００２】
【従来の技術】
近年、マルチメディア関連のハードウェアを含むネットワークに適したバス規格として、IEEE1394-1995規格もしくはIEEE1394a-2000規格（以下、「ＩＥＥＥ１３９４」と総称する）が注目されている。また、このＩＥＥＥ１３９４に準拠したネットワークにおいてＩＰ(Internet Protocol)をサポートするための方式として、ＩＥＴＦ(Internet Engineering Task Force)により規定された「IP over IEEE1394」方式(RFC2734)が知られている。この「IP over IEEE1394」は、ＩＥＥＥ１３９４上でユニキャスト、マルチキャスト、ブロードキャストによるＩＰのパケット転送を行うための方式を規定している。
【０００３】
この「IP over IEEE1394」方式では、ユニキャストによるパケット転送を行う場合、ＩＥＥＥ１３９４のアシンクロナスパケット(Asynchronous Packet)を使用し、マルチキャスト及びブロードキャストによるパケット転送を行う場合、ＩＥＥＥ１３９４のアシンクロナス・ストリーム・チャンネル(Asynchronous Stream Channel)を使用している。
また、この「IP over IEEE1394」方式では、一つのバス内でのマルチキャスト通信用にアシンクロナス・ストリーム・チャンネルを割り当てるためのプロトコルとしてＭＣＡＰ(Multicast Channel Allocation Protocol)が規定されている。
【０００４】
以下、図１１および図１２を参照して、上述のＭＣＡＰの動作を説明する。
図１１は、「IP over IEEE1394」の機能を備えるノードが接続されたバスを示し、図１２は、図１１に示すようにノードが接続された場合のチャンネル確保までの手順を示す。「IP over IEEE1394」方式では、マルチキャスト用にチャンネルを割り当てる場合、まず、送信を行うノード１０１は、このマルチキャストグループ用のチャンネルが確保されているか否かを問い合わせるためのメッセージをブロードキャストする（手順Ｓ２０１）。
【０００５】
手順Ｓ２０１でブロードキャストされたメッセージに対して応答がなかった場合、ノード１０１は、ＩＥＥＥ１３９４で規格化されているバスのチャンネルと帯域との使用状況を管理するＩＲＭ(Isochronous Resource Manager)であるノード１０２から新たにチャンネルを確保し（手順Ｓ２０２）、マルチキャストグループとチャンネルとの対応関係を示すチャンネル対応情報をブロードキャストにより報告する（手順Ｓ２０３）。チャンネルの管理ノードとなったノード１０１は、以後、このチャンネル対応情報を定期的にブロードキャストする。チャンネルを確保した後、ノード１０１は、上述の手順Ｓ２０２で確保されたチャンネルへマルチキャストグループ宛のパケットを送信する（手順Ｓ２０４）。
【０００６】
次に、別のノード１０３がマルチキャストグループ宛のパケットの送信もしくは受信を開始する場合、ノード１０１と同様に、このマルチキャストグループ用のチャンネルが確保されているか否かを問い合わせるメッセージをブロードキャストする（手順Ｓ２０５）。このマルチキャストグループに対応するチャンネルの管理ノードであるノード１０１は、ノード１０３から送信された問い合わせメッセージを受信すると、上述のマルチキャストグループとチャンネルとのチャンネル対応情報をブロードキャストにより報告する（手順２０６）。
【０００７】
このマルチキャストグループに参加を希望する任意のノードは、ノード１０１から定期的にブロードキャストされるチャンネル対応情報を受信し、このチャンネル対応情報を参照してこのマルチキャストグループ宛のパケットの送受信を行う（手順Ｓ２０７）。ノード１０１は、このマルチキャストグループ宛のパケットの送信を終了した場合、上述の手順Ｓ２０２で確保したチャンネルをＩＲＭであるノード１０２に返却し、このチャンネルを解放する。
【０００８】
次に、図１３を参照して、ノード１０１がノード１０２にチャンネルを返却し、このチャンネルを解放する場合の動作を説明する。
図１３は、チャンネルの返却・解放を行う場合の手順を示す。まず、このチャンネルの管理ノードとなっているノード１０１がマルチキャストグループ宛のパケットの送信を終了する場合、チャンネルの管理を委譲する旨のメッセージをチャンネル対応情報と共にブロードキャストする（手順３０１）。この委譲のメッセージに対して、一定時間経過してもチャンネルの管理を引き継ぐノードが現れなかった場合、ノード１０１は、確保したチャンネルをＩＲＭであるノード１０２へ返却し（手順Ｓ３０２）、マルチキャストグループ宛への送信を終了する。
【０００９】
【発明が解決しようとする課題】
ところで、ＩＥＥＥ１３９４に準拠したネットワークを構成する複数のノードをセグメント化する技術として、Ｐ１３９４．１で審議されているＩＥＥＥ１３９４ブリッジ（以下、単に「ブリッジ」と称す）が知られている。図１４は、ブリッジを用いてセグメント化されたＩＥＥＥ１３９４ネットワークの一例を示す。この例では、ブリッジ４０７を介してバス４０９とバス４１０とが接続され、ブリッジ４０８を介してバス４１０とバス４１１とが接続されている。これらブリッジ４０７，４０８は、ＩＥＥＥ１３９４上に存在する複数のノードを２つ以上のバスに分割し、それぞれのバス間でバスリセットを絶縁する機能や、ユニキャスト用のアシンクロナス・パケット及びブロードキャスト用のアシンクロナス・ストリーム・パケットをバス間で通信する機能を備える。
【００１０】
しかしながら、上述の従来技術に係るブリッジは、複数のバス間でユニキャスト用のアシンクロナス・パケットとブロードキャスト用のパケットとを転送する機能を備えてはいるが、それ以外のアイソクロナス・ストリーム・パケット(Isochronous Stream Packet)や、ブロードキャスト以外に使用されるアシンクロナス・ストリーム・パケットの転送については対応していない。
【００１１】
このため、図１４に示すＩＥＥＥ１３９４に準じたネットワークにおいて、例えば、従来の手続きを用いてバス４０９内のノード４０１とバス４１０内のノード４０３が、チャンネルＣ１とチャンネルＣ２（共に図示なし）をそれぞれ確保し、これらのチャンネルを使用してＩＰマルチキャスト通信を開始したとしても、ブリッジ４０７では、チャンネルＣ１とチャンネルＣ２との間でマルチキャストグループ宛のパケットの転送を行なうことができない。したがって、例えばノード４０１が送信したマルチキャストグループ宛のパケットはバス４０９内でしか受信することができず、ブリッジを介して他のバス上のノードとマルチキャストによるパケット通信を行うことができないという問題がある。
【００１２】
また、図１４において、従来の手続きを用いて例えばバス４０９とバス４１１でマルチキャストグループ用のチャンネルがそれぞれ確保されていた場合、仮にブリッジ４０７，４０８がアシンクロナス・ストリーム・パケットの転送を行うことが可能であったとしても、通信経路の途中にあるバス４１０でマルチキャストグループ用にチャンネルが予め確保されていなければ、バス４０９とバス４１１との間でマルチキャストグループ宛のパケットを転送することができないという問題がある。
【００１３】
さらに、従来の手続きでは、マルチキャストグループ用のチャンネルを確保できるノードは、マルチキャストグループへの送信を行うノードに限られ、受信のみを行うノードはチャンネルの確保を行わない。例えば、図１４において、バス４０９内にマルチキャストグループ宛に送信を行うノードが存在し、バス４１０内には受信を行うノードしか存在しない場合、受信を行うノードしか存在しないバス４１０では、マルチキャストグループ用にチャンネルを確保することができない。このため、仮にブリッジ４０７がアシンクロナス・ストリーム・パケットの転送を行うことが可能であったとしても、バス４０９とバス４１０との間でマルチキャストグループ宛のパケットを転送することができないという問題がある。
【００１４】
本発明は、上記事情に鑑みてなされたものであって、ブリッジを介して接続された複数のバス間でマルチキャストグループ宛のパケットの転送を可能とするパケット通信方法および装置を提供することを第１の目的とする。
また、本発明は、チャンネルを確保していないバスが通信経路の途中にあったとしても、ブリッジを介して接続されたバス間でマルチキャストグループ宛のパケットの転送を可能とするパケット通信方法および装置を提供することを第２の目的とする。
さらに、本発明は、ブリッジに接続されたバス内に受信ノードしか存在しない場合であっても、ブリッジを介して接続されたバス間でマルチキャストグループ宛のパケットの転送を可能とするパケット通信方法および装置を提供することを第３の目的とする。
【００１５】
【課題を解決するための手段】
上記の課題を解決するために、請求項１記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、（ａ）前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報（例えば後述するチャンネル対応情報に相当する要素）が記述されたメッセージをブロードキャストし、（ｂ）前記ブリッジは、前記メッセージとして、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続することを特徴とする。
これにより、マルチキャストグループ用にチャンネルが確保され、そのチャンネルを使用してマルチキャストグループ宛へのパケットの送信が行われているバスが二つある時に、二つのバスを接続しているブリッジが互いのバスのマルチキャストグループ用に確保されたチャンネルの対応付けを行い、パケットのやりとりを可能とする。
【００１６】
請求項２記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、（ａ）前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報が記述されたメッセージをブロードキャストし、（ｂ）前記マルチキャストグループに参加するノードが存在しないバスに接続されたブリッジは、前記メッセージとして、当該バスを挟んで互いに隔てられたバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、前記マルチキャストグループに参加するノードが存在しないバスに、前記マルチキャストグループで使用されるべきチャンネルを確保することを特徴とする。
これにより、マルチキャストグループ宛のパケットの通信経路に当たるバスで、マルチキャストグループ用にチャンネルが確保されていなかった場合に、チャンネルが確保されていないバスに接続されたブリッジが自動的にチャンネルの確保を行い、パケットのやりとりを可能とする。
【００１７】
請求項３記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、（ａ）前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、（ｂ）前記バスのそれぞれにおいて受信のみを行うノードは、前記メッセージを受信した場合、同一バス内にチャンネルを管理するノードが存在しないことを条件に前記マルチキャストグループのパケットを受信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、（ｃ）前記ブリッジは、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続することを特徴とする。
これにより、マルチキャストグループ宛のパケットの受信のみを行うノードしか存在しないバスで、受信ノードが自らマルチキャストグループ用のチャンネルを取得することにより、パケットのやりとりを可能とする。
【００１８】
請求項４記載の発明は、請求項２に記載されたパケット通信方法において、前記マルチキャストグループに参加するノードが存在しないバスに接続された２以上のブリッジのうち、各ブリッジのもつノードの識別番号に応じた特定のブリッジが、管理ノードとなって優先的に前記チャンネルを確保するための処理を開始することを特徴とする。
これにより、前記マルチキャストグループに参加するノードが存在しないバスにおいて、重複したチャンネルの確保が防止される。
【００１９】
請求項５記載の発明は、請求項１ないし４の何れかに記載されたパケット通信方法において、前記ブリッジは、前記マルチキャストグループを指定する情報と前記チャンネルを指定する情報が書き込まれたメッセージを受信した場合、（ａ）前記メッセージの転送先のバス内で、前記マルチキャストグループ用にチャンネルが確保されているかについての調査を行うと共に、該チャンネルが確保されていなければ新たなチャンネルが確保可能であるかどうかについての調査を行い、（ｂ）前記マルチキャストグループ用にチャンネルが確保されているとき、または、該チャンネルが確保されていなければ新たなチャンネルが確保可能であるときに限り、前記メッセージを転送することを特徴とする。
【００２０】
請求項６記載の発明は、請求項１ないし５の何れかに記載されたパケット通信方法において、前記マルチキャストグループ宛のパケットの送信を中止するノードは、前記マルチキャストグループ用に確保されたチャンネルをＩＲＭとして機能する特定のノードに返却すると共に、前記マルチキャストグループ及びチャンネルに関する情報の送信を停止し、前記マルチキャストグループ用に確保されたチャンネルを接続したブリッジは、前記情報を何れのバスからも受信しない場合、チャンネルを切断することを特徴とする。
請求項７記載の発明は、請求項１ないし６の何れかに記載されたパケット通信方法において、前記シリアルバスに関する所定の規格が、ＩＥＥＥ１３９４であることを特徴とする。
【００２１】
請求項８記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在する通信ネットワークにおいて、前記複数のバスを互いに接続するためのブリッジとして機能するパケット通信装置であって、前記複数のバスでそれぞれ使用されるマルチキャスト用のチャンネルを対応づけるためのチャンネル対応情報を記憶する記憶部と、受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報と前記記憶部に記憶されたチャンネル対応情報との比較を行うパケット解析部と、受信した前記メッセージの送信先のバス内でマルチキャスト用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、前記メッセージを前記送信先のバスへ転送すると共に、前記パケット解析部での比較の結果、宛先アドレスが一致し、かつ受信したポートが異なる場合、前記チャンネル対応情報で示される各チャンネルを互いに接続するパケットスイッチング部と、を備えたことを特徴とする。
【００２２】
請求項９記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在する通信ネットワークにおいて、前記複数のバスを互いに接続するためのブリッジとして機能するパケット通信装置であって、前記複数のバスでそれぞれ使用されるマルチキャスト用のチャンネルを対応づけるためのチャンネル対応情報を記憶する記憶部と、受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報と前記記憶部に記憶されたチャンネル対応情報との比較を行い、宛先アドレスが一致し、受信したポートが異なり、かつ前記メッセージが受信ノードからのものでなかった場合、管理ノードが在しないバスでマルチキャストグループ用のチャンネルを確保するためのチャンネル確保処理を開始するパケット解析部と、受信した前記メッセージの送信先のバス内でマルチキャスト用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、前記メッセージを前記送信先のバスへ転送すると共に、前記パケット解析部での比較の結果、宛先アドレスが一致し、かつ受信したポートが異なる場合、前記チャンネル対応情報で示される各チャンネルを互いに接続するパケットスイッチング部と、を備えたことを特徴とする。
【００２３】
請求項１０記載の発明は、請求項９に記載されたパケット通信装置において、前記パケットスイッチング部でのチャンネル確保処理にともなって、前記送信先のバスでチャンネルを管理しているノードが存在しないかについて確認を行うための問い合わせメッセージを送信するパケット生成部をさらに備えたことを特徴とする。
請求項１１記載の発明は、請求項１０に記載されたパケット通信装置において、前記問い合わせメッセージに対する応答を受け付けるために予め設定された時間を計時してタイムアウトを検出するタイマ部をさらに備え、前記タイマ部の設定が、ブリッジ毎に異なることを特徴とする。
【００２４】
請求項１２記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークにおいて、前記ノードとして機能するパケット通信装置であって、受信したメッセージ内のバス識別子がこのメッセージの送信ノードが存在するバス以外のノードを示す場合、マルチキャストグループ用のチャンネル確保処理を開始するパケット解析部と、前記チャンネル確保処理に伴って、前記マルチキャストグループ用にチャンネルが確保されているかどうかを問い合わせる旨の問い合わせメッセージを生成するパケット生成部と、を備えたことを特徴とする。
請求項１３記載の発明は、請求項８ないし１２の何れかに記載されたパケット通信装置において、前記シリアルバスに関する所定の規格が、ＩＥＥＥ１３９４であることを特徴とする。
【００２５】
以下、本発明の作用を説明する。
請求項１に記載された発明では、ブリッジを介して複数のバスが存在する通信ネットワークにおいて、ブリッジを介してマルチキャストグループ宛のパケットを転送する場合、各バスに存在する送信ノードは、マルチキャストグループ用にチャンネルを確保し、マルチキャストグループとチャンネルとの対応関係に関する情報を定期的にブロードキャストして任意のノードに通知する。ブリッジは、チャンネルを確保したノードから定期的にブロードキャストされる情報を解析し、ブリッジに接続された異なるバスから同じマルチキャストグループが記述されたメッセージを受信した場合、これらのバスのチャンネルを接続し、各チャンネル上を転送されるパケットをバス間で転送する。
【００２６】
また、請求項２に記載された発明では、或るブリッジの両端に複数のバスが接続されており、各バス上の送信ノードは、マルチキャストグループ用にチャンネルを確保し、マルチキャストグループとそのチャンネルの対応情報を定期的に通知する。各ブリッジは、定期的に通知されるマルチキャストグループとチャンネルとの対応関係に関する情報を解析し、ブリッジに接続されている両方のバスから同じマルチキャストグループが記述された情報を受信した場合、ブリッジに直接接続されているバス内でそのマルチキャストアドレス用にチャンネルが確保されているかどうか問い合わせるためのメッセージを送信する。このメッセージに対して応答がなければ、ブリッジ自らがチャンネルを取得し、マルチキャストグループとチャンネルとの対応関係を表す情報を定期的に送信するとともに、そのマルチキャストグループのために確保されたチャンネル間を接続し、各チャンネル上を転送されるパケットをバス間で転送する。
【００２７】
なお、請求項１および請求項２に記載された発明において、マルチキャストグループ宛のパケットの送信を中止する場合、例えば、送信ノードは、マルチキャストグループ用に割り当てられたチャンネルを管理ノード（ＩＲＭ）に返却して送信を停止すると共に、マルチキャストグループとチャンネルに関する情報を含むメッセージの定期的な送信を停止する。そして、マルチキャストグループ用に割り当てられたチャンネルをバス間で互いに接続したブリッジは、マルチキャストグループとチャンネルとの対応関係に関する情報を含むメッセージが何れのバスからも受信しない場合、チャンネル間を切断し、バス間でのパケットの転送を中止する。
【００２８】
さらに、請求項３に記載された発明では、通信経路上の途中に受信ノードのみが存在するバス（送信ノードが存在しないバス）がある場合、マルチキャストグループ宛の送信を行っているノードが存在するバスでは、その送信ノードがマルチキャストグループ用にチャンネルを確保し、マルチキャストグループとチャンネルとの対応関係に関する情報を定期的に通知する。送信ノードから通知される情報を受信したノードは、このマルチキャストグループ用にチャンネルが割り当てられているかどうかを問い合わせるメッセージを送信し、このメッセージに対して応答がなければ自らチャンネルを取得し、マルチキャストグループとチャンネルとの対応関係に関する情報を定期的に通知する。これら送信ノードと受信ノードに挟まれたブリッジは、これらのソードが存在する各バスのチャンネルを接続してパケットの転送を行う。
【００２９】
なお、請求項３に記載された発明において、送信ノードがパケットの送信を中止する場合、送信ノードは、例えば、マルチキャストグループ用に割り当てられたチャンネルを解放し、マルチキャストグループとチャンネルとの対応関係に関する情報を含むメッセージの送信を中止する。この場合、マルチキャストグループの受信を行っているノードは、チャンネルの管理を委譲するメッセージを送信し、これに対してチャンネルの管理を引き継ぐノードが現れなければ、チャンネルを解放し、マルチキャストグループとチャンネルとの対応関係に関する情報を含むメッセージの送信を中止する。ブリッジは、何れのバスからもマルチキャストグループとチャンネルの対応情報を含むメッセージを受信しない場合、これらバスのチャンネルを切断し、バス間でのパケットの転送を中止する。
【００３０】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
なお、各図において共通する要素には同一符号を付す。
＜実施の形態１＞
本実施の形態１に係るパケット通信方法および装置は、ブリッジを介して接続された複数のバス間でマルチキャストによるパケット転送を可能とする。
【００３１】
図１は、本発明の実施の形態１に係るネットワークの構成を示す。このネットワークには、ＩＥＥＥ１３９４（シリアルバスに関する所定の規格）に準じた複数のバス５０９〜５１１が存在し、これらバスのそれぞれにはＩＥＥＥ１３９４に準じた複数のノード５０１〜５０６が存在し、これらバスはＩＥＥＥ１３９４に準じたブリッジ５０７，５０８を介して接続されている。もちろん、バスに存在するノードは１つであってもよい。各ブリッジは、ポートＡおよびポートＢを持ち、各ノード及び各ブリッジのポートは、ＩＥＥＥ１３９４に準拠したデータリンク機能を備える。
【００３２】
ここで、ノード５０１とノード５０２は、バス５０９を介してシリアルに接続され、このバス５０９は、ブリッジ５０７のポートＡに接続されている。また、ノード５０３とノード５０４は、バス５１０を介してシリアルに接続され、このバス５１０は、ブリッジ５０７のポートＢとブリッジ５０８のポートＡに接続されている。さらに、ノード５０５とノード５０６は、バス５１１を介してシリアルに接続され、このバス５１１は、ブリッジ５０８のポートＢに接続されている。各バス内のノードまたはブリッジのうち少なくとも１つのノードは、ＩＥＥＥ１３９４で規定されるＩＲＭ(Isochronous Resource Manager)の機能を備えている。本実施の形態１の場合、ノード５０２、ノード５０４およびノード５０６がＩＲＭの機能を備える。
【００３３】
また、各ノードは、ＩＥＴＦ(Internet Engineering Task Force)で規格されたＴＣＰ／ＩＰ(Transmission Control Protocol)／ＩＰ(Internet Protocol)などの通信プロトコルと、同じくＩＥＴＦで規定された「IP over IEEE1394」(RFC2734)に準拠した機能を備えており、ＩＥＥＥ１３９４の機能を利用してそれぞれのバス内でＩＰパケットを互いに転送するものとする。さらに、各ブリッジは、接続された２つ以上のバス間でユニキャストパケットとブロードキャストパケットの転送を行う機能を備えており、ＩＰユニキャストパケットとＩＰブロードキャストパケットをバス間で互いに転送するものとする。なお、本発明は、上記のＴＣＰ／ＩＰ及び「IP over IEEE1394」に制限されるものではなく、任意のプロトコルに適用可能である。
【００３４】
本実施の形態１では、マルチキャストグループに参加するノードは、宛先アドレスとしてマルチキャストグループのＩＰアドレス「Ａ１」を使用し、プロトコルとしてＵＤＰ(User Datagram Protocol)を使用するものとする。ただし、マルチキャストグループを指定するパラメータは、上記の宛先アドレスとプロトコルタイプの組み合わせに限定されるものではなく、使用するプロトコルに応じた組み合わせが可能である。
【００３５】
図２は、上記のノード及びブリッジ間で制御用に使用されるメッセージに設定される情報のフォーマットを示す。この情報は、ノードの識別番号６０１、メッセージタイプ６０２、チャンネル番号６０３、宛先アドレス６０４から構成される。ノードの識別番号６０１は、ノードのバスの識別番号と、バス内でのノードの識別子からなり、例えばノード５０１の場合には、バス５０９の識別番号とノード５０１の識別子とからなる。また、送信ノードのメッセージのタイプ６０２の値は、「問い合わせ」、「送信ノードからの報告」、「受信ノードからの報告」、「委譲」の４種類がある。「問い合わせ」は、マルチキャストグループ宛にパケット送信を希望するノードが、このマルチキャストグループ用のチャンネルが既に確保されているか否かを確認するために使用する。また、「送信ノードからの報告」は、送信だけを行うノードと、送受信（送信および受信）を行うノードとが使用し、送信だけを行うノードもしくは送受信（送信および受信）を行うノードがマルチキャストグループ用に使用されるチャンネルの管理を行う場合、マルチキャストグループのアドレスを示す情報とチャンネルの番号との対応情報を通知するために使用する。「受信ノードからの報告」は、受信だけを行うノードとブリッジとが使用し、受信だけを行うノードもしくはブリッジがマルチキャストグループ用に使用されるチャンネルの管理を行う場合、マルチキャストグループのアドレスを示す情報とチャンネルの番号との対応情報を通知するために使用する。「委譲」は、マルチキャストグループ用のチャンネルの管理をしていたノードが、このチャンネルを使用しなくなった際に、このチャンネルを他のノードが使用するか否かを確認するために使用する。
【００３６】
チャンネル番号６０３の値は、「０」から「６３」の範囲で設定され、ブロードキャストチャンネルで使用される「３１」を除いた何れかの値が使用される。宛先アドレス６０４の値は、ＩＰアドレスの中でマルチキャストグループに割り当てられている範囲の中のアドレス、すなわち、「224.0.0.1」から「239.255.255.255」のいずれかの値を持ち得る。なお、メッセージのフォーマットは、上記のフォーマットに制限されるものではなく、ノードの識別番号６０１、メッセージタイプ６０２、チャンネル番号６０３、宛先アドレス６０４が含まれているか、またはこれらが識別可能であれば、任意のフォーマットが使用可能である。
【００３７】
次に、本実施の形態１に係るパケット通信方法の手順について、ノード５０１とノード５０３との間でパケットの送受信を行う場合を想定し、ブリッジ５０７に直接接続されたバス間でマルチキャストグループ宛のパケットの送受信を行う場合を図３に示す手順に沿って説明する。
上述のＩＥＥＥ１３９４の規格上、マルチキャストでは、パケット転送のために、事前にマルチキャスト用のチャンネルを確保し、使用することが可能であるので、まず、ノード５０１は、マルチキャストグループ宛にパケットを送信する場合、このマルチキャストグループ用にチャンネルが確保されているか否かを問い合わせるためのメッセージをブロードキャスト送信する（手順Ｓ７０１）。このメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ６０２が「問い合わせ」、宛先アドレス６０４が「Ａ１」とされる。このマルチキャスト用の宛先アドレス６０４は、ＴＣＰ／ＩＰ上で動作するアプリケーションプログラムから指定され、どのマルチキャストアドレスを使用するのかは、各ノードに実装されているアプリケーションプログラムで決定される。この手順Ｓ７０１で送信されたメッセージに対して何の応答もなかった場合、ノード５０１は、バス５０９内の全てのチャンネルを管理するＩＲＭであるノード５０２からチャンネルを取得する処理を行ない、チャンネル「Ｃ１」を確保する（手順Ｓ７０２）。
【００３８】
上述のチャンネル「Ｃ１」を確保した後、ノード５０１は、定期的にマルチキャストグループとチャンネルとの対応関係を示す情報（以下、「チャンネル対応情報」と称す）を報告するためのメッセージをブロードキャストする（手順Ｓ７０３）。この手順Ｓ７０３でのメッセージ内の値は、ノードの識別番号６０１が「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ６０２が「送信ノードからの報告」、チャンネル番号６０３が「Ｃ１」、宛先アドレス６０４が「Ａ１」とされる。
【００３９】
上述の手順Ｓ７０３で送信されたメッセージを受信したブリッジ５０７およびブリッジ５０８は、このメッセージの送信ノードからの報告を解析し、このメッセージの中に含まれているノードの識別番号「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ「送信ノードからの報告メッセージ」、チャンネル番号「Ｃ１」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ブリッジ５０７のポートＡ」もしくは「ブリッジ５０８のポートＡ」からなる情報を記憶する（手順Ｓ７０４）。そして、ノード５０１は、確保したチャンネル「Ｃ１」を使用し、マルチキャストグループ宛のアシンクロナス・ストリーム・パケット（Asynchronous Stream Packet）の送信を開始する（手順Ｓ７０５）。
【００４０】
一方、バス５１０内にあるノード５０３は、ノード５０１と同様にマルチキャストグループ宛のパケットの送信を開始する場合、このマルチキャストグループ用にチャンネルが確保されているか否かの問い合わせのメッセージをブロードキャストする（手順Ｓ７０６）。このメッセージ内の各情報の値は、ノード識別番号６０１が「バス５１０の識別番号とノード５０３の識別子」、メッセージタイプ６０２が「問い合わせ」、宛先アドレス６０４が「Ａ１」とされる。このメッセージに対して何の応答もなかった場合、ノード５０３は、ＩＲＭであるノード５０４からチャンネルを取得する処理を行ない、チャンネル「Ｃ２」を確保する（手順Ｓ７０７）。この手順Ｓ７０６のメッセージに対してノード５０１がマルチキャスト用のチャンネルを確保しているにも関わらず反応しない理由は、チャンネルの対応情報は管理ノードの存在するバス内でのみ有効であるため、外部バスから転送されてきた「問い合わせ」メッセージに対して反応しないこととなっているからである。チャンネル「Ｃ２」を確保した後、ノード５０３は、定期的にチャンネル対応情報を報告するためのメッセージをブロードキャストする（手順Ｓ７０８）。このメッセージ内の各情報の値は、ノード識別番号６０１が「バス５１０の識別番号とノード５０３の識別子」、メッセージタイプ６０２が「送信ノードからの報告」、チャンネル番号６０３が「Ｃ２」、宛先アドレス６０４が「Ａ１」とされる。
【００４１】
手順Ｓ７０８で送信されたメッセージを受信したブリッジ５０７は、このメッセージの送信ノードからの報告を解析し、このメッセージの中に含まれているノードの識別番号「バス５１０の識別番号とノード５０３の識別子」、チャンネル番号「Ｃ２」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ブリッジ５０７のポートＢ」からなる情報を抽出して記憶する（手順Ｓ７０９）。ブリッジ５０８もブリッジ５０７と同様に、手順Ｓ７０８で送信されたメッセージ内の情報のうち、ノードの識別番号「バス５１０の識別番号とノード５０３の識別子」、メッセージタイプ「送信ノードからのメッセージ」、チャンネル番号「Ｃ２」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ブリッジ５０８のポートＡ」からなる情報を記憶する（同手順Ｓ７０９）。
【００４２】
次に、ブリッジ５０７は、手順Ｓ７０４でポートＡに直接接続されたバス５０９から受信して記憶した情報と、手順Ｓ７０９でポートＢに接続されたバス５１０から受信して記憶した情報との比較を行う。ここで、ブリッジ５０７は、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続する。具体的には、ポートＡ及びポートＢから受信した二つの情報のうち、宛先アドレス６０４が一致し、受信したポートが異なり、ノードの識別番号６０１が直接接続されたバスからのメッセージであり、メッセージタイプ６０２が両方とも「受信ノードからの報告」でない場合、これらの情報に含まれているチャンネル番号６０３でそれぞれ特定されるチャンネルの対応付けを行い、これらチャンネル間を互いに接続する（手順Ｓ７１０）。
【００４３】
このチャンネル間の接続は、アシンクロナス・ストリーム・パケットのチャンネルの番号を変換することにより行われる。例えば、バス５０９のチャンネル「Ｃ１」とバス５１０のチャンネル「Ｃ２」を接続する場合、ブリッジ５０７は、バス５０９から受信したアシンクロナス・ストリーム・パケットのチャンネル「Ｃ１」をチャンネル「Ｃ２」に変換し、逆に、バス５１０から受信したアシンクロナス・ストリーム・パケットのチャンネル「Ｃ２」をチャンネル「Ｃ１」に変換する。これにより、ブリッジ５０７を介してバス５０９のチャンネル「Ｃ１］とバス５１０のチャンネル「Ｃ２」とが相互に接続され、これらのバス間でパケットの転送が可能とされる。ブリッジ５０８でもブリッジ５０７と同様にチャンネル間の接続を行う。
【００４４】
ここで、メッセージタイプ６０２が両方とも「受信ノードからの報告」であった場合にはチャンネル間の接続を行わない。この理由は、メッセージタイプ６０２が両方とも「受信ノードからの報告」である場合には送信者は存在せず、マルチキャストグループ宛のパケットが送信されないため、そもそもチャンネル間を転送すべきパケット自体が存在しないためである。
また、手順Ｓ７０８で送信されたメッセージを受信したブリッジ５０８もブリッジ５０７と同様に、手順Ｓ７０４および手順Ｓ７０９で記憶した情報を比較するが、それぞれのメッセージを受信したポートが一致するため（いずれも、ポートＡ）、チャンネル間の接続は行わない。すなわち、これらのメッセージを受信したポートが一致するということは、ブリッジ５０８は、これらのメッセージを送信したノード間に介在していないことを意味する。このため、ブリッジ５０８が接続すべきチャンネルは存在しない。
【００４５】
ブリッジ５０７を介して、バス５０９のチャンネル「Ｃ１」とバス５１０のチャンネル「Ｃ２」との間が接続された後、ノード５０３から送信される宛先アドレス「Ａ１」宛のパケットは、アシンクロナス・ストリーム・パケットとしてバス５１０のチャンネル「Ｃ２」へ送信される。ブリッジ５０７はチャンネル「Ｃ２」のアシンクロナス・ストリーム・パケットをバス５０９内のチャンネル「Ｃ１」に転送する（手順Ｓ７１１）。同様にノード５０１から送信される宛先アドレス「Ａ１」宛のパケットは、アシンクロナス・ストリーム・パケットとしてバス５０９のチャンネル「Ｃ１」へ送信され、ブリッジ５０７はチャンネル「Ｃ１」のアシンクロナス・ストリーム・パケットをバス５１０のチャンネル「Ｃ２」へ転送する（手順Ｓ７１２）。
以上により、ブリッジ５０７を介して接続されたバス５０９とバス５１０との間でマルチキャストによるパケット転送が確立する。
【００４６】
次に、ノード５０１が、マルチキャストグループとのパケット転送を停止する場合の手順を説明する。
図４は、ブリッジ５０７を介して接続されたバス５０９とバス５１０との間でマルチキャストによるパケット転送が確立している状態から、ノード５０１が通信を停止する場合の手順を示す。上述の図３に示す手順に基づきノード５０１とノード５０３との間の通信が確立された状態から、ノード５０１がパケットの送信を中止する（手順Ｓ８０１）。この中止に合わせて、ノード５０１は、確保しているマルチキャストグループ用のチャンネルの管理を委譲する旨のメッセージをブロードキャストにより通知する（手順Ｓ８０２）。
【００４７】
上述の手順Ｓ８０２で通知されるメッセージ内の各情報の値は、ノード識別番号６０１が「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ６０２が「委譲」、チャンネル番号６０３が「Ｃ１」、宛先アドレス６０４が「Ａ１」とされる。この委譲のメッセージを受信したブリッジ５０７は、このメッセージの内容を解析し、このメッセージに含まれるノードの識別番号６０１内のバスの識別番号がブリッジ５０７に直接接続されているバスを示すものであった場合には、この情報に含まれるノードの識別番号「バス５０９の識別番号とノード５０１の識別子」、チャンネル番号「Ｃ１」、及び宛先アドレス「Ａ１」からなる情報を記憶する（手順Ｓ８０３）。
【００４８】
上述の手順Ｓ８０３での記憶の処理以後、ブリッジ５０７は、委譲のメッセージを受信してから一定時間Ｔａ内に、ノードの識別番号６０１内のバス識別番号が「バス５０９の識別番号」であり、かつ宛先アドレス６０４が「Ａ１」であり、メッセージタイプ６０２が「送信ノードからの報告」もしくは「受信ノードからの報告」となっている情報を含むメッセージを受信しない場合、バス５０９上に宛先アドレスが「Ａ１」であるマルチキャストグループに属しているノードは無いと判断し、バス５０９とバス５１０とのチャンネル間を切断する（手順Ｓ８０４）。ノード５０１は、ブリッジ５０７がチャンネル間を切断した後、マルチキャストグループ用に確保していたチャンネル「Ｃ１」をＩＲＭであるノード５０２へ返却する（手順Ｓ８０５）。このときの手順の一例を以下に示す。
ノード５０１は、「委譲」のメッセージを送信してから一定時間（Ｔｄとする）した後、チャンネルを解放する。ここで、ＴａをＴｄ＞Ｔａとなるように設定することで、ブリッジ５０７がチャンネル切断後、ノード５０１がチャンネルを返却するということが可能となる。
【００４９】
ここで、上述の手順Ｓ８０４でブリッジ５０７がチャンネル間を切断した後にノード５０１がチャンネルを返却する理由を説明する。仮に、ブリッジ５０７がチャンネル間を切断する前にノード５０１がチャンネル「Ｃ１」を返却するものとした場合、ノード５０１がチャンネル「Ｃ１」を返却してからチャンネルの切断が行われるまでの間に、バス５０９上の「IP over IEEE1394」対応の他のノードが「Ａ１」以外のマルチキャストグループ宛のアドレス用に、または、バス５０９上のいずれかのノードが「IP over IEEE1394」以外の目的に同じチャンネル「Ｃ１」を確保し、かつ、ブリッジ５０７が宛先アドレス「Ａ１」へのパケットをバス５１０からバス５０９に転送する場合が起こり得る。この場合、本来、ノード５０１が参加していたマルチキャストグループ宛のパケットが、ノード５０１以外の他のノードや「IP over IEEE1394」以外のアプリケーションに誤って配信されることになる。そこで、宛先アドレス「Ａ１」へのパケットが、返却前のチャンネル「Ｃ１」へ誤って送信されることを防ぐため、チャンネルの返却をチャンネルの切断後に行う。ブリッジ５０７によるチャンネル間の切断以後、ノード５０１がチャンネル「Ｃ１」を返却することにより、宛先アドレス「Ａ１」へのノード５０３からのパケットは、ブリッジ５０７では転送されず、バス５１０内でのみ転送される（手順Ｓ８０６）。
【００５０】
次に、本実施の形態１に係るブリッジの構成および動作を詳細に説明する。
図５は、本実施の形態１に係るブリッジ５０７，５０８に相当するブリッジ１３０１の構成を示す。このブリッジ１３０１は、記憶部１３０２、タイマ部１３０３、パケット生成部１３０４、パケット解析部１３０５、及びパケットスイッチング部１３０６から構成され、パケットはポートＡ及びポートＢを通じてバスα（バス５０９またはバス５１０の何れかのバスに相当）及びバスβ（バス５１０またはバス５１１の何れかのバスに相当）に対してそれぞれ送受信される。このブリッジ１３０１の各構成要素の機能については、以下の動作の説明で明らかにする。なお、以下の説明においては、適宜、ブリッジ１３０１をブリッジ５０７またはブリッジ５０８として説明する。
【００５１】
以下、この実施の形態１に係るブリッジ５０７，５０８の動作を説明する。
まず、ブリッジ５０７がマルチキャスト用のチャンネル対応情報（Ｓ７０３）を含むメッセージを受信した場合の動作を説明する。
ブリッジ１３０１（ブリッジ５０７）では、バスα（バス５０９）が接続されたポートＡから受信したマルチキャスト用のチャンネル対応情報は、パケットスイッチング部１３０６とパケット解析部１３０５とに送られる。パケットスイッチング部１３０６では、このチャンネル対応情報を受け取ると、転送先のバスβ（バス５１０）内でこのマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であるかについて、ＩＲＭに問い合わせることにより、検査を行う。そして、このマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、このメッセージをポートＢへ転送し、バスβ（バス５１０）へ送信する。
【００５２】
このように検査を行って、メッセージの転送を制限する理由は、チャンネルの無駄な確保を防止し、各バスのチャンネルを有効利用するためである。すなわち、同じマルチキャストグループに参加している二つのノード間の通信経路上のバスの中で、チャンネルを確保できなかったバスが一つでも存在すれば、仮に他のバスでチャンネルを確保できたとしても、結局、これらのノード間の通信を確立することはできない。そこで、通信経路上に、チャンネルが確保できないバスがあるときは、この通信経路上にチャンネル確保可能なバスがあったとしても、このバスではチャンネルを確保せず、チャンネルを解放しておく。これにより、各バス内のチャンネルを他の通信に利用することができ、チャンネルの効率的な使用が可能となる。
【００５３】
パケット解析部１３０５では、受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報を受け取ると、この情報の中に含まれているノードの識別番号「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ「送信ノードからの報告」、チャンネル番号「Ｃ１」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ポートＡ」からなる情報を抽出すると共に、記憶部１３０２に記憶されている内容の検査を行う。この時点で記憶部１３０２には何も記憶されていないので、抽出した情報を記憶部１３０２へ記憶する（手順Ｓ７０４）。
【００５４】
次に、上述の手順Ｓ７０８において、ブリッジ５０７がマルチキャスト用のチャンネル対応情報の報告を受信した場合の動作を説明する。
ブリッジ１３０１（ブリッジ５０７）では、バスβ（バス５１０）が接続されたポートＢから受信したマルチキャスト用のチャンネル対応情報は、パケットスイッチング部１３０６とパケット解析部１３０５に送られる。パケットスイッチング部１３０６では、チャンネル対応情報を受け取ると、転送先のバスα（バス５０９）内でこのマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であるかについて、ＩＲＭに問い合わせることにより、検査を行う。そして、このマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であれば、このメッセージをポートＡへ転送し、バスα（バス５０９）へ送信する。この検査の理由は、上述の場合と同様であり、チャンネルの効率的な利用を図るためである。
【００５５】
また、パケット解析部１３０５では、チャンネル対応情報を受け取ると、この情報の中に含まれているノードの識別番号「バス５１０の識別番号とノード５０３の識別子」、メッセージタイプ「送信ノードからの報告」、チャンネル番号「Ｃ２」、宛先アドレス「Ａ１」、及びメッセージを受信したポート「ポートＢ」からなる情報を抽出しすると共に、記憶部１３０２に何か記憶されている内容の検査を行う。この時点で、記憶部１３０２には、上述の手順７０４でチャンネル対応情報が記憶されているので、この記憶部１３０２に記憶されたチャンネル対応情報と、手順Ｓ７０８で受信したチャンネル対応情報との比較を行う。
【００５６】
ここで、宛先アドレス６０４が一致し、受信したポートが異なり、ノードの識別番号６０１が直接接続されたバス上のノードのものであり、メッセージタイプ６０２が、手順Ｓ７０４で記憶されたチャンネル対応情報と手順Ｓ７０８で受信されたチャンネル対応情報との両方とも「受信ノードからの報告」でない場合、パケットスイッチング部１３０６は、これらのチャンネル対応情報内のチャンネル番号６０３で特定される各チャンネル（ここでは、チャンネルＣ１とＣ２）を互いに接続する（手順Ｓ７１０）。そして、このチャンネルＣ１とＣ２とを接続する旨の情報を記憶部１３０２に記憶する。
【００５７】
次に、上述の手順Ｓ７１０においてブリッジ５０７のパケットスイッチング部１３０６がマルチキャストアドレス「Ａ１」に対応したチャンネルを接続している場合に、手順Ｓ７１１，Ｓ７１２においてマルチキャストグループ宛のパケット転送を行う場合の動作を説明する。
ブリッジ１３０１（ブリッジ５０７）では、このマルチキャストグループ宛のパケットは、ポートＡまたはポートＢの一方から受信し、パケット解析部１３０５とパケットスイッチング部１３０６へ送られる。パケット解析部１３０５は、マルチキャストデータを処理せずに破棄する。また、パケットスイッチング部１３０６は、上述の手順Ｓ７１０において、それぞれのパケットを受信したチャンネル間が接続していることを、記憶部１３０２を参照することにより知ることができるので、チャンネルの変換を行い反対側のバスが接続されたポートＢまたはポートＡの他方へ転送し送信する（手順Ｓ７１１，Ｓ７１２）。
【００５８】
次に、上述の手順Ｓ７１０においてブリッジ５０７のパケットスイッチング部１３０６によりマルチキャストアドレス「Ａ１」に対応したチャンネルが接続されている場合に、ブリッジ５０７が上述の手順Ｓ８０２においてチャンネルの管理を委譲する旨のメッセージを受信したときの動作を説明する。
手順Ｓ８０２において、ブリッジ５０７がバスα（バス５０９）からポートＡを通して委譲のメッセージを受信した場合、このメッセージをパケット解析部１３０５とパケットスイッチング部１３０６に転送する。パケットスイッチング部１３０６は、このメッセージがブロードキャストされているため、このメッセージを反対側のポートＢへ転送してバスβ（バス５１０）へ送信する。
【００５９】
パケット解析部１３０５では、このメッセージのノードの識別番号からブリッジ５０７に直接接続されたバスからの委譲メッセージであることを認識し、ノードの識別番号「バス５０９の識別番号とノード５０１の識別子」、チャンネル番号「Ｃ１」、及び宛先アドレス「Ａ１」からなる情報を記憶部１３０２へ記憶する（手順Ｓ８０３）。この手順Ｓ８０３での記憶と同時に、タイマ部１３０３でタイマを起動させ、チャンネルの管理を引き継ぐノードからの応答を受け付けるために予め設定された時間（Ｔａ）の経過を計時する。
【００６０】
次に、上述の手順Ｓ８０２においてブリッジ５０７が委譲メッセージを受信した後、手順Ｓ８０４においてチャンネル間を切断する場合の動作を説明する。
上述の手順Ｓ８０３での処理以後、ブリッジ５０７は、ノードの識別番号６０１内のバスの識別番号が「バス５０９の識別番号」かつ宛先アドレス６０４が「Ａ１」でありメッセージのタイプ６０２が「送信ノードからの報告」もしくは「受信ノードからの報告」である情報を含むメッセージを、タイマ部１３０３がタイムアウトするまでに受信しない場合、パケットスイッチグ部１３０６に対してチャンネル間の転送の切断を行う（手順Ｓ８０４）。
【００６１】
以上説明したように、本実施の形態１によれば、ＩＥＥＥ１３９４の機能を備えた複数のノードと、ブリッジを介して接続された複数のバスを持つネットワークにおいて、複数のノードがマルチキャストグループに参加して互いに通信を行う場合、ブリッジがマルチキャストグループ用に使用されているチャンネル間を接続することで、ブリッジを介して複数のバス間でマルチキャストグループ宛のパケット転送が可能となる。
また、マルチキャストグループ用にチャンネルが確保され、そのチャンネルを使用して同一のマルチキャストグループ宛のパケットの送信が行われているバスが二つある場合、これら二つのバスを接続しているブリッジが、各バスにおいてマルチキャストグループ用に確保されたチャンネルを対応付け、これらのチャンネル間を接続するので、ブリッジを介したマルチキャストによるパケットの通信が可能となる。
【００６２】
さらに、ブリッジは同一のマルチキャストグループで使用される複数のバスを互いに接続するので、ブリッジを介して接続された複数のバス上の各ノードは、ブリッジの存在を意識することなく、マルチキャストによるパケット転送を行うことが可能となる。
さらにまた、マルチキャストグループに参加するノードが存在せず、かつマルチキャストグループ宛のパケットの経路とならないバスでは、マルチキャストグループ用のチャンネルを確保せず、パケットも転送しないため、ＩＥＥＥ１３９４に準じたネットワークを効率的に使用することが可能となる。
さらにまた、本実施の形態１では、マルチキャストグループに参加するノードが存在するバス５０９及びバス５１０でのみチャンネルが確保され、パケットの転送もバス５０９及びバス５１０でしか行われない。
【００６３】
＜実施の形態２＞
以下、本発明に係る実施の形態２を説明する。
本実施の形態２に係るパケット通信方法および装置は、通信経路の途中にチャンネルを確保していないバスが存在する場合にマルチキャストによるパケット転送を可能とするものである。本実施の形態２に係るネットワークの構成は、図５に示す上述の実施の形態１に係るものと同様であり、使用するメッセージのフォーマットも、図６に示す実施の形態１に係るものと同様である。以下、実施の形態１と異なる部分を中心に説明する。
【００６４】
以下、図６を参照しながら、図１に示すノード５０１とノード５０５とが同一のマルチキャストグループに参加してパケットを送信する場合を想定し、ブリッジ５０７に接続されたバス５０９とブリッジ５０８に接続されたバス５１１との間でマルチキャストグループ宛のパケットの送受信を行う場合を説明する。
図６は、本発明の実施の形態２において、マルチキャストグループに参加するノードが存在しないバスを挟んで通信を開始する場合の手順を示す。同図において、上述の実施の形態１に係る図３に示す手順と共通する手順については、同一符号を付す。
【００６５】
まず、上述の実施の形態１と同様に、ノード５０１は、マルチキャストグループ宛にパケットを送信する場合、このマルチキャストグループ用にチャンネルが確保されているかどうかを問い合わせる旨のメッセージを送信する（手順Ｓ７０１）。このメッセージ内の値は、ノードの識別番号６０１が「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ６０２が「問い合わせ」、宛先アドレス６０４が「Ａ１」とされる。このメッセージに対して何の応答もなかった場合、ノード５０１は、バス内全てのチャンネルを管理するＩＲＭであるノード５０２からチャンネル「Ｃ１」を取得するための処理を行ない、チャンネルを確保する（手順Ｓ７０２）。
【００６６】
続いて、上述の手順Ｓ７０２の以降、ノード５０１は、定期的にマルチキャストグループとチャンネルとの対応関係に関するチャンネル対応情報を報告するためのメッセージをブロードキャストする（手順Ｓ７０３）。このメッセージ内の値は、ノードの識別番号６０１が「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ６０２が「送信ノードからの報告」、チャンネル番号が「Ｃ１」、宛先アドレスが「Ａ１」とされる。
【００６７】
また、上述の手順Ｓ７０３で送信ノードから送信されたメッセージを受信したブリッジ５０７とブリッジ５０８は、この送信ノードからのメッセージを解析し、このメッセージの中に含まれているノードの識別番号「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ「送信ノードからのメッセージ」、チャンネル番号「Ｃ１」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ブリッジ５０８のポートＡ」もしくは「ブリッジ５０８のポートＡ」からなる情報を記憶する（手順Ｓ７０４）。そして、ノード５０１は、上述の手順Ｓ７０２で確保したチャンネル「Ｃ１」を使用してアシンクロナス・ストリーム・パケットの送信を開始する（手順Ｓ７０５）。
【００６８】
次に、バス５１１内のノード５０５が、ノード５０１と同様にマルチキャストグループ宛のパケットの送信を開始する場合、まず、このマルチキャストグループ用にチャンネルが確保されているか否かの問い合わせのメッセージを送信する（手順Ｓ９０１）。このメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５１１の識別番号とノード５０５の識別子」、メッセージタイプ６０２が「問い合わせ」、宛先アドレス６０４が「Ａ１」とされる。このメッセージに対して何の応答もなかった場合、ノード５０５は、ＩＲＭであるノード５０６からチャンネルを取得するための処理を行い、チャンネル「Ｃ３」を確保する（手順Ｓ９０２）。この手順９０２の以降、ノード５０５は、定期的にチャンネル対応情報を報告するためのメッセージをブロードキャストする（手順Ｓ９０３）。このメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５１１の識別番号とノード５０５の識別子」、メッセージタイプ６０２が「送信ノードからの報告」、チャンネル番号６０３が「Ｃ３」、宛先アドレス６０４が「Ａ１」とされる。
【００６９】
上述の手順Ｓ９０３で送信されたメッセージを受信したブリッジ５０７とブリッジ５０８は、このメッセージの内容を解析し、このメッセージの中に含まれているノードの識別番号「バス５１１の識別番号とノード５０５の識別子」、チャンネル番号「Ｃ３」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ブリッジ５０７のポートＢ」または「ブリッジ５０８のポートＢ」からなる情報を抽出し、以前に手順Ｓ７０３で反対側のポートＡからメッセージを受信して手順Ｓ７０４で得られた情報と比較を行う。
【００７０】
そして、これら二つのメッセージの中の宛先アドレス６０４が一致し、受信したポートが異なり、メッセージタイプ６０２が両方とも「受信ノードからの報告」ではなく、片方のメッセージの送信者がチャンネルが確保されていないバス（すなわち送信ノードの存在しないバス５１０）を隔てたバスに存在した場合、ブリッジ５０７とブリッジ５０８は、送信ノードの存在しないバス５１０でマルチキャストグループ用のチャンネルを確保するための処理をそれぞれ開始する（手順Ｓ９０４）。換言すれば、ブリッジは、マルチキャストグループに参加するノードが存在しないバスを挟んで互いに隔てられたバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、このマルチキャストグループに参加するノードが存在しないバスに、このマルチキャストグループで使用されるべきチャンネルを確保するための処理（チャンネル確保処理）を開始する。
【００７１】
上述の手順Ｓ９０４でのチャンネル確保処理の開始と同時に、ブリッジ５０７は、バス５１０でこのマルチキャストグループ用にチャンネルが確保されているかどうかを問い合わせる旨の問い合わせメッセージをブロードキャストする（手順Ｓ９０５）。このメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５１０の識別番号とブリッジ５０７の識別子」、メッセージタイプ６０２が「問い合わせ」、宛先アドレス６０４が「Ａ１」とされる。同様の手続きに基づき、ブリッジ５０８もバス５１０でこのマルチキャストグループ用にチャンネルが確保されているかどうか問い合わせる旨の問い合わせメッセージをブロードキャストする（手順Ｓ９０６）。このメッセージ内の値は、ノードの識別番号６０１が「バス５１０の識別番号とブリッジ５０８の識別子」、メッセージタイプ６０２が「問い合わせ」、宛先アドレス６０４が「Ａ１」とされる。
【００７２】
ブリッジ５０７は、上述の手順Ｓ９０４でのチャンネルを確保するための処理の開始後、バス上の問い合わせメッセージを監視し、上述の手順Ｓ９０６で送信された問い合わせメッセージを受信した場合、ノードの識別番号６０１内のバスの識別子が一致し、宛先アドレス６０４が一致したならば、このメッセージに含まれるノードの識別番号と自分のノードの識別番号を比較する。そして、この比較の結果、自分のノードの識別番号の方が大きかったならば、マルチキャストグループ用にＩＲＭからのチャンネルの取得を通常通り行い、逆に自分のノードの識別番号の方が小さかったならば、マルチキャストグループ用にＩＲＭからチャンネルを取得するための処理を行うまでの待ち時間を延長する。これは二つのノードが重複して同じマルチキャストグループ用にチャンネルを確保することを防ぐためである。本実施の形態２では、ブリッジ５０７の持つノードの識別番号の方が大きいものとする。
【００７３】
同様にブリッジ５０８は、上述の手順Ｓ９０４でのチャンネルを確保するための処理の後、バス上の問い合わせメッセージを監視し、上述の手順Ｓ９０５で送信された問い合わせメッセージを受信した場合、ノードの識別番号６０１内のバス識別子が一致し、宛先アドレス６０４が一致したならば、このメッセージに含まれるノードの識別番号と自分のノードの識別番号を比較する。この比較の結果、自分のノードの識別番号の方が大きかったならば、マルチキャストグループ用にＩＲＭからのチャンネルの取得を通常通り行い、逆に自分のノードの識別番号の方が小さかったならば、マルチキャストグループ用にＩＲＭからチャンネルを取得するための処理を行うまでの待ち時間を延長する。本実施の形態２では、ブリッジ５０７の持つノード識別番号が大きいので、ブリッジ５０８が、チャンネルを確保するための処理を行うまでの時間を延長し、ブリッジ５０７がＩＲＭからチャンネル「Ｃ２」を確保するための処理を先に行う（手順Ｓ９０７）。
なお、上述の例では、ノードの識別番号の大きい方がＩＲＭからチャンネルを取得するための処理を通常通り行うこととしたが、逆に、小さい方が当該処理を行うこととしても良い。また、乱数を用いて、当該処理を行うブリッジを決定しても良い。
【００７４】
上述の手順Ｓ９０７での処理の後、ブリッジ５０７は、定期的にチャンネル対応情報を報告するためのメッセージをブロードキャストする（手順Ｓ９０８）。このメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５１０の識別番号とブリッジ５０７の識別子」、メッセージタイプ６０２が「受信ノードからの報告」、チャンネル番号６０３が「Ｃ２」、宛先アドレス６０４が「Ａ１」とされる。また、ブリッジ５０７は、チャンネルを確保したバス５１０への手順Ｓ９０８でのメッセージの送信とチャンネルを確保したのと異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続する。なお、手順Ｓ９０８でのメッセージはブロードキャストパケットであるため、チャンネルを確保していないバス５０９へも送信されるが、ブリッジ５０７が行うチャンネル間の接続のための条件とはならない。具体的には、ブリッジ５０７は、手順Ｓ７０４で記憶されたバス５０９のチャンネル「Ｃ１」と手順Ｓ９０８で送信されたメッセージに含まれるバス５１０のチャンネル「Ｃ２」とを互いに接続する（手順Ｓ９０９）。ブリッジ５０８でも、同様の手続きに基づき、手順Ｓ９０８で送信されたメッセージを受信した時点で手順Ｓ７０４で記憶されているバス５１１のチャンネル「Ｃ３」と手順Ｓ９０８で送信されたメッセージに含まれているチャンネル「Ｃ２」とを互いに接続する（手順Ｓ９０９）。
【００７５】
ノード５０１から送信される宛先アドレス「Ａ１」宛のパケットは、アシンクロナス・ストリーム・パケットとしてチャンネル「Ｃ１」へ送信される。ブリッジ５０７は、このバス５０９内のチャンネル「Ｃ１」のアシンクロナス・ストリーム・パケットをバス５１０のチャンネル「Ｃ２」に転送する。ブリッジ５０８は、このバス５１０内のチャンネル「Ｃ２」のアシンクロナス・ストリーム・パケットをバス５１１のチャンネル「Ｃ３」に転送する（以上手順Ｓ９１０）。
同様に、ノード５０５から送信される宛先アドレス「Ａ１」宛のパケットは、アシンクロナス・ストリーム・パケットとしてチャンネル「Ｃ３」へ送信される。ブリッジ５０８は、このバス５１１内のチャンネル「Ｃ３」のアシンクロナス・ストリーム・パケットをバス５１０のチャンネル「Ｃ２」へ転送する。ブリッジ５０７は、このバス５１０内のチャンネル「Ｃ２」のアシンクロナス・ストリーム・パケットをバス５０９のチャンネル「Ｃ１」へ転送する（以上手順Ｓ９１１）。
【００７６】
次に、図７を参照しながら、マルチキャストによるパケット転送を停止する場合のパケット通信方法の手順を説明する。
図７は、本発明の実施例２において、バス５０９とバス５１０とバス５１１との間で互いに通信を行っている状態から通信を停止する場合の手順を示す。同図において、上述の実施の形態１に係る図４に示す手順と共通する手順については、同一符号を付す。
まず、上述の図６に示す手続きに基づきノード５０１とノード５０５との間で通信を行っている状態から、ノード５０１がパケットの送信を中止する（手順Ｓ８０１）。この手順Ｓ８０１での中止の処理にあわせてノード５０１は、このマルチキャストグループ用のチャンネルの管理を委譲するための通知であるメッセージをブロードキャストする（手順Ｓ８０２）。このメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ６０２が「委譲」、チャンネル番号６０３が「Ｃ１」、宛先アドレス６０４が「Ａ１」とされる。
【００７７】
上述の手順Ｓ８０２で送信されたメッセージを受信したブリッジ５０７は、この委譲のメッセージを解析し、ノードの識別番号内のバスの識別子がブリッジ５０７に直接接続されているバスのものであった場合には、ノードの識別番号「バス５０９とノード５０１の識別子」、チャンネル番号「Ｃ１」、及び宛先アドレス「Ａ１」からなる情報を記憶する（手順Ｓ８０３）。この手順Ｓ８０３での記憶の処理以後、ブリッジ５０７は、委譲のメッセージを受信してから一定時間Ｔａ内に、ノードの識別番号６０１内のバスの識別番号が「バス５０９」であり、宛先アドレス６０４が「Ａ１」であり、メッセージタイプ６０２が「送信ノードからの報告」もしくは「受信ノードからの報告」である情報を含むメッセージを受信しない場合、バス５０９とバス５１０との間を切断する（手順Ｓ８０４）。このとき、記憶部１３０２に記憶されたチャンネルＣ１とＣ２が接続されているという情報を消去する。
【００７８】
そして同時に、ブリッジ５０７は、このチャンネルの切断の後、バス５１０で確保していたマルチキャストグループ用のチャンネル「Ｃ２」を返却し、このチャンネルを解放するための処理を開始する（手順Ｓ１００１）。また、この手順Ｓ１００１でのチャンネルを返却・解放するための処理の開始と同時に、ブリッジ５０７は、チャンネルの管理を委譲するためのメッセージをブロードキャストする（手順Ｓ１００２）。このメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５１０の識別番号とブリッジ５０７の識別子」、メッセージタイプ６０２が「委譲」、チャンネル番号６０３が「Ｃ２」、宛先アドレス６０４が「Ａ１」とされる。
【００７９】
この委譲のメッセージを受信したブリッジ５０８は、このメッセージを解析し、ノードの識別番号内のバスの識別子がブリッジ５０８に直接接続されているバスのものであった場合には、ノードの識別番号「バス５１０とブリッジ５０７の識別子」、チャンネル番号「Ｃ２」、及び宛先アドレス「Ａ１」からなる情報を記憶する（手順Ｓ１００３）。この手順Ｓ１００３での記憶の処理以後、ブリッジ５０８は、委譲のメッセージを受信してから一定時間Ｔａ以内に、ノードの識別番号６０１内のバスの識別子が「バス５１０」かつ宛先アドレス６０４が「Ａ１」であり、メッセージタイプ６０２が「送信ノードからの報告」もしくは「受信ノードからの報告」である情報を含むメッセージを受信しない場合、バス５１０とバス５１１とのチャンネル間を切断する（手順Ｓ１００４）。
【００８０】
また、ノード５０１は、手順Ｓ８０２でメッセージをブロードキャストし、手順Ｓ８０４でブリッジ５０７によるチャンネルの切断が終了した後、マルチキャストグループアドレス用に確保していたチャンネル「Ｃ１」をＩＲＭであるノード５０２へ返却する（手順Ｓ８０５）。
同様に、ブリッジ５０７は、手順Ｓ１００２でメッセージをブロードキャストし、手順Ｓ１００４でブリッジ５０８によるチャンネルの切断が終了した後、マルチキャストグループアドレス用に確保していたチャンネル「Ｃ２」をＩＲＭであるノード５０４へ返却する（手順Ｓ１００５）。
上述の手順１００４でのブリッジ５０８によるチャンネルの切断が終了した後、ノード５０６からのマルチキャストグループ宛の送信パケットは、ブリッジ５０８で転送されず、バス５１１内で転送される。
【００８１】
以下、図５を援用して、本実施の形態２に係るブリッジの構成および動作を詳細に説明する。
本実施の形態２に係るブリッジの構成は、上述の図５に示す実施の形態１に係るブリッジ１３０１と同様に、記憶部１３０２、タイマ部１３０３、パケット生成部１３０４、パケット解析部１３０５及びパケットスイッチグ部１３０６から構成され、パケットはポートＡ及びポートＢを通じてバスα（バス５０９またはバス５１０の何れか）とバスβ（バス５１０またはバス５１１の何れか）に対してそれぞれ送受信される。本実施の形態２におけるブリッジ１３０１の各構成要素の機能については、以下の動作の説明で明らかにする。
【００８２】
まず、上述の図６に示す手順Ｓ７０３において、ブリッジ５０７がチャンネル対応情報を受信した場合の動作を説明する。
上述の手順Ｓ７０３において、ブリッジ１３０１（ブリッジ５０７）では、バスα（バス５０９）が接続されたポートＡから受信したチャンネル対応情報は、パケットスイッチング部１３０６とパケット解析部１３０５に送られる。パケットスイッチング部１３０６では、このチャンネル対応情報を受け取ると、転送先のバスβ（バス５１０）内でこのマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であるかについて、ＩＲＭに問い合わせることにより、検査を行う。そして、このマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、この対応情報を含むメッセージをポートＢへ転送しバスβ（送信先のバス５１０）へ送信する。この検査の理由は、前述したように、チャンネルの効率的な利用を図るためである。
【００８３】
パケット解析部１３０５では、上述の手順Ｓ７０３においてバスα（バス５０９）が接続されたポートＡから受信したチャンネル対応情報を受け取ると、このチャンネル対応情報の中に含まれているノードの識別番号「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ「送信ノードからの報告」、チャンネル番号「Ｃ１」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ポートＡ」からなる情報を抽出すると共に、記憶部１３０２に何か記憶されていないか検査を行う。この時点では、記憶部１３０２に何も記憶されていないので、抽出した情報を記憶部１３０１へ記憶する（手順Ｓ７０４）。
【００８４】
次に、上述の手順Ｓ９０３において、ブリッジ５０７がマルチキャスト用のチャンネルの対応情報の報告のメッセージを受信した場合の動作を説明する。
上述の手順Ｓ９０３においてバスβ（バス５１０）が接続されたポートＢから受信したマルチキャスト用のチャンネルの対応情報は、パケットスイッチング部１３０６とパケット解析部１３０５に送られる。パケットスイッチング部１３０６では、このチャンネル対応情報を受け取ると、転送先のバスα内でこのマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であるかについて、ＩＲＭに問い合わせることにより、検査を行う。そして、このマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、このチャンネル対応情報を含むメッセージをポートＡへ転送してバスα（バス５０９）へ送信する。
【００８５】
パケット解析部１３０５では、上述の手順Ｓ９０３においてポートＢから受信したチャンネル対応情報を受け取ると、このチャンネル対応情報の中に含まれているノードの識別番号「バス５１１の識別番号とノード５０５の識別番号」、メッセージタイプ「送信ノードからの報告」、チャンネル番号「Ｃ３」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ポートＢ」からなる情報を抽出しすると共に、記憶部１３０２に何か記憶されているか検査を行う。この時点では、記憶部１３０２に手順Ｓ７０３で対応情報が受信されたことが手順Ｓ７０４で記憶されているので、これら二つの情報の比較を行う。すなわち、パケット解析部１３０５は、新たに受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報と記憶部１３０２に既に記憶されたチャンネル対応情報との比較を行う。
【００８６】
そして、パケット解析部１３０５では、この比較の結果、宛先アドレス６０４が一致し、受信したポートが異なるメッセージであり、メッセージタイプ６０２が何れも「受信ノードからの報告」でなかった場合、管理ノードの存在しないバスβ（バス５１０）でマルチキャストグループ用のチャンネルを確保するための処理を開始する（手順Ｓ９０４）。ただし、チャンネルを確保する処理を開始するための条件として、この例に限定されることなく、必要な事項を適宜設定すればよい。この手順Ｓ９０４での処理開始時に、パケット生成部１３０４では、バスβ（バス５１０）でチャンネルを管理しているノードが存在しないかについて確認を行うため、チャンネルの問い合わせメッセージを送信する（手順Ｓ９０５）。また、タイマ部１３０３では、手順Ｓ９０５で送信されたチャンネルの問い合わせメッセージに対する応答待ち状態のタイムアウトを検出するため、タイマを起動させる。
【００８７】
次に、上述の手順Ｓ９０５においてブリッジ５０７がチャンネルの問い合わせメッセージを送信し、この問い合わせメッセージに対する応答待ち状態であるときに、手順Ｓ９０６においてブリッジ５０８から同様の問い合わせメッセージを受信した場合の動作を説明する。
手順Ｓ９０６においてバスβ（バス５１０）に接続されたポートＢから受信したチャンネルの問い合わせメッセージは、パケットスイッチング部１３０６とパケット解析部１３０５へ送られる。パケットスイッチング部１３０６では、このメッセージがブロードキャストグループ宛であるために、メッセージをポートＡへ転送してバスα（バス５０９）へ送信する。
【００８８】
また、パケット解析部１３０５では、手順Ｓ９０６で受信したメッセージ内のノードの識別番号６０１、メッセージタイプ６０２及び宛先アドレス６０４から、このメッセージが上述の手順Ｓ９０５で送信したチャンネルの問い合わせメッセージと同一のものであることを把握する。これらのメッセージが同一であった場合、手順Ｓ９０５でのメッセージと手順Ｓ９０６でのメッセージのノードの識別番号６０１を比較する。ここで、ブリッジ５０７のノードの識別番号の方がブリッジ５０８のノードの識別番号よりも大きい場合には何も行わず、逆にブリッジ５０７の識別番号の方が小さい場合には、タイマ部１３０３のタイマを遅延させ、手順Ｓ９０５で送信したチャンネルの問い合わせメッセージに対する待ち状態を延長する。本実施の形態２では、ブリッジ５０８のノードの識別番号の方が小さく、このブリッジ５０８のタイマが延長され、ブリッジ５０７のタイマはそのままとする。
【００８９】
このように、何れかのブリッジでタイマ部１３０３のタイマを遅延させることにより、ブリッジ５０７とブリッジ５０８とが、バス５１０にチャンネルを確保する際に、何れかのブリッジが優先され、同一のバス５１０で重複してチャンネルが確保されることが防止される。この例では、各ブリッジのノードの識別番号に応じて何れかのブリッジのタイマを遅延させるものとしたが、例えば乱数を用いて各ブリッジのタイマの遅延量を設定することにより、何れかのブリッジでチャンネルを優先的に確保するものとしてもよく、チャンネルの確保が重複して行われない限度において、タイマの設定をどのように行ってもよい。
【００９０】
次に、上述の手順Ｓ９０５において、ブリッジ５０７が送信したチャンネルの問い合わせメッセージに対する応答の待ち状態からタイムアウトした場合の動作を説明する。
ブリッジ５０７において、タイマ部１３０３がタイムアウトした場合、パケット生成部１３０４は、チャンネルを確保するためのパケットを生成し（手順Ｓ９０７）、バス５１０内のＩＲＭであるノード５０４からチャンネルを取得する処理を行う（手順Ｓ９０７）。そして、ブリッジ５０７は、ノード５０４からチャンネルの取得完了の通知を受け取ると、チャンネルの確保の処理を完了する。ただし、ブリッジ５０７自身がＩＲＭである場合には、チャンネルを確保するためのパケットの生成は行わず、チャンネル確保処理をブリッジ５０７の内部で行う。
【００９１】
次に、手順Ｓ９０８において、ブリッジ５０７がマルチキャスト用のチャンネル対応情報をブロードキャスト送信するときの動作を説明する。
上述のチャンネルの確保完了通知を受信したブリッジ５０７のパケット解析部１３０５は、パケットスイッチング部１３０６に対してチャンネル間の接続を指示する（手順Ｓ９０９）。パケットスイッチング部１３０６では、パケット解析部１３０５からの指示を受けると、チャンネル対応情報で示される各チャンネル間を接続する。すなわち、パケットスイッチング部は、受信したメッセージの送信先のバス内でマルチキャスト用のチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、このメッセージを送信先のバスへ転送すると共に、パケット解析部１３０５での比較の結果、宛先アドレスが一致し、かつ受信したポートが異なる場合、チャンネル対応情報で示される各チャンネルを互いに接続する。さらに、パケット解析部１３０５は、パケット生成部１３０４へはチャンネル確保完了を通知し、チャンネル対応情報の報告を行うためのメッセージを生成する。上記の接続するチャンネルの情報は、記憶部１３０２に記億される。
【００９２】
手順Ｓ９０８においてパケット生成部１３０４で生成されたメッセージは、各ポートへ転送されて各バスに送信される。ただし、この手順Ｓ９０８でのメッセージがマルチキャスト用のチャンネル対応情報の報告であるため、ブリッジ５０７がチャンネルの確保を行っていない転送先のバスα（バス５０９）側でこのマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であるかについて、ＩＲＭに問い合わせることにより、検査を行う。ここで、このマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、このメッセージをポートＡへ転送してバスα（バス５０９）へ転送する。これ以後、ブリッジ５０７に接続された両バス間でマルチキャストグループ「Ａ１」宛のパケットを転送することが可能となる。上記の接続するチャンネルの情報は、記憶部１３０２に記憶される。
【００９３】
次に、上述の手順Ｓ９０９においてブリッジ５０７のパケットスイッチング部１３０６がマルチキャストアドレス「Ａ１」に対応したチャンネルが接続されている場合に、手順Ｓ９１０，Ｓ９１１においてマルチキャストグループ宛のデータの送信を行う場合の動作を説明する。
ブリッジ１３０１（ブリッジ５０７）では、このマルチキャストグループ宛のパケットは、ポートＡまたはポートＢの一方から受信し、パケット解析部１３０５とパケットスイッチング部１３０６へ送られる。パケット解析部１３０５は、マルチキャストデータを処理せずに破棄する。また、パケットスイッチング部１３０６は、上述の手順Ｓ９０９において、それぞれのパケットを受信したチャンネル間の接続が完了しているので、チャンネルの変換を行い反対側のバスが接続されたポートＢまたはポートＡの他方へ転送し送信する（手順Ｓ９１０，Ｓ９１１）。
【００９４】
次に、上述の手順９０９においてブリッジ５０７及びパケットスイッチング部１３０６によりマルチキャストアドレス「Ａ１」に対応したチャンネルが接続されている場合に、ブリッジ５０７が上述の手順Ｓ８０２においてチャンネルの管理を委譲する旨のメッセージを受信したときの動作を説明する。
手順Ｓ８０２においてチャンネルの管理を委譲するメッセージを受信した後、一定時間Ｔａ内に、ノードの識別番号６０１内のバスの識別番号が「バス５０９の識別番号」かつ宛先アドレス「Ａ１」であり、メッセージタイプが「送信ノードからの報告」もしくは「受信ノードからの報告」である情報を含むメッセージを受信しない場合、タイマ部１３０３は、一定時間Ｔａ後にタイムアウトし、マルチキャストグループ用のチャンネルを返却するためのチャンネル返却処理を開始させる（手順Ｓ１００１）。
【００９５】
この手順Ｓ１００１でのチャンネル返却処理では、第１に、チャンネルスイッチング部１３０６でバス間のチャンネル転送を行う（手順Ｓ８０４）。第２に、パケット生成部１３０４でマルチキャストグループ用のチャンネルの管理を委譲する旨のメッセージを生成し、このメッセージを各ポートにブロードキャストする（手順Ｓ１００２）。第３に、手順Ｓ１００２でのチャンネル管理の委譲の通知のタイムアウトを検出するため、タイマ部１３０３にタイマを起動させる。
【００９６】
次に、ブリッジ５０７がマルチキャストグループ「Ａ１」のためのチャンネルの返却を行うための動作を説明する。
手順Ｓ１００２においてチャンネル管理の委譲の通知を送信後、ノードの識別番号６０１内のバスの識別番号が「バス５１０の識別番号」かつ宛先アドレス「Ａ１」であり、メッセージタイプが「送信ノードからの報告」もしくは「受信ノードからの報告」の情報を含むメッセージを受信しない場合、タイマ部１３０３がタイムアウトし、パケット生成部１３０４がチャンネルをＩＲＭに返却するためのパケットを生成し送信する（手順Ｓ１００５）。そして、チャンネルの返却が完了した通知をブリッジ５０７がＩＲＭから受信して、チャンネルの返却処理が完了する。ただし、ブリッジ５０７自身がＩＲＭであった場合には、チャンネルを返却するためのパケットの生成は行わず、チャンネルの返却処理をブリッジ５０７の内部で行う。
【００９７】
本実施の形態２によれば、マルチキャストグループに参加するノードが存在するバス５０９及びバス５１１でのみチャンネルを確保してパケットの転送を行うのではなく、途中の経路にあたるバス５１０でもチャンネルが自動的に確保され、これにより、バス５０９とバス５１１との間で互いにパケットの転送が可能となる。すなわち、マルチキャストグループ宛のパケットの通信経路上にあるバスで、マルチキャストグループ用にチャンネルが確保されていなかった場合、このチャンネルが確保されていないバスに接続されたブリッジが自動的にチャンネルの確保を行うので、チャンネルが確保されていないバスが通信経路の途中にあったとしても、マルチキャストによるパケットの通信が可能となる。
また、本実施の形態２によれば、上述の実施の形態１と同様に、マルチキャストグループに参加するノードが存在せず、かつマルチキャストグループ宛のパケットの経路とならないバスでは、マルチキャストグループ用のチャンネルを確保せず、パケットも転送しないため、ＩＥＥＥ１３９４に準じたネットワークを効率的に使用することが可能となる。
【００９８】
＜実施の形態３＞
以下、本発明に係る実施の形態３を説明する。
本実施の形態３に係るパケット通信方法および装置は、送信ノードが存在するバスと受信ノードしか存在しないバスとの間でのパケット転送を可能とするものである。本実施の形態２に係るネットワークの構成は、図１に示す上述の実施の形態１に係るものと同様であり、使用するメッセージのフォーマットも、図２に示す実施の形態１に係るものと同様である。以下、実施の形態１と異なる部分を中心に説明する。
【００９９】
まず、図８を参照しながら、マルチキャストによるパケット転送を開始する場合のパケット通信方法の手順を説明する。
図８は、本発明の実施の形態３において、マルチキャストグループ宛に送信するノードが存在するバスと、マルチキャストグループ宛に送信するノードが存在しないバスとの間で通信を開始する場合の手順を示す。同図において、上述の実施の形態１に係る図３に示す手順と共通する手順については、同一符号を付す。本実施の形態３では、ノード５０１がマルチキャストグループ宛のパケットを送信し、ノード５０３がマルチキャストグループ宛のパケットを受信する場合を想定し、ブリッジ５０７に直接接続されたバス間でマルチキャストグループ宛のパケットの送受信を行うものとする。
【０１００】
実施の形態１と同様に、ノード５０１は、マルチキャストグループ宛にパケットを送信する場合、このマルチキャストグループ用にチャンネルが確保されているかどうかを問い合わせる旨のメッセージを送信する（手順Ｓ７０１）。この手順Ｓ７０１で送信されるメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ６０２が「問い合わせ」、宛先アドレス６０４が「Ａ１」とされる。この手順７０１で送信されたメッセージに対して何の応答もなかった場合、ノード５０１は、バス内全てのチャンネルを管理するＩＲＭであるノード５０２からチャンネルを取得する処理を行ない、このチャンネル「Ｃ１」を確保する（手順Ｓ７０２）。
【０１０１】
このチャンネル「Ｃ１」を確保するための処理以降、ノード５０１は、定期的にマルチキャストグループとチャンネルとの対応関係を示すチャンネル対応情報を報告するためのメッセージをブロードキャストする（手順Ｓ７０３）。この手順Ｓ７０３でのメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ６０２が「送信ノードからの報告」、チャンネル番号６０３が「Ｃ１」、宛先アドレス６０４が「Ａ１」とされる。
【０１０２】
また、手順Ｓ７０３で送信されたメッセージを受信した各ブリッジは、このメッセージの送信ノードからの報告を解析し、このメッセージの中に含まれているノードの識別番号「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ「送信ノードからの報告メッセージ」、チャンネル番号「Ｃ１」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ブリッジ５０７のポートＡ」もしくは「ブリッジ５０８のポートＡ」からなる情報を記憶する（手順Ｓ７０４）。そして、ノード５０１は、確保したチャンネル「Ｃ１」を使用して、アシンクロナス・ストリーム・パケットの送信を開始する（手順Ｓ７０５）。
【０１０３】
次に、バス５１０内のノード５０３は、マルチキャストグループ宛のパケットを受信するため、このマルチキャストグループに参加する（手順Ｓ１１０１）。これ以後、ノード５０３は、マルチキャスト用のチャンネル対応情報を含むメッセージを待つ。ノード５０１は、上述の手順Ｓ７０３で定期的にメッセージをブロードキャストしている。ノード５０３は、このメッセージを受信すると、このメッセージを解析し、ノードの識別番号内のバスの識別子がノード５０３の存在するバス以外のものであり、メッセージタイプ６０２が「送信ノードからの報告」、宛先アドレス６０４が「Ａ１」であった場合、マルチキャストグループ用チャンネルを確保するための処理を開始する（手順Ｓ１１０２）。
【０１０４】
上述の手順Ｓ１１０２でチャンネルの確保の処理を開始すると同時に、ノード５０３が存在するバス５１０内で、このマルチキャストグループ用にチャンネルが確保されているかどうか問い合わせるためのメッセージをブロードキャストする（手順Ｓ１１０３）。このメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５１０の識別番号とノード５０３の識別子」、メッセージタイプ６０２が「問い合わせ」、宛先アドレス６０４が「Ａ１」とされる。このメッセージに対して何の応答もなかった場合、ノード５０３は、ＩＲＭであるノード５０４からチャンネルを取得する処理を行ない、チャンネル「Ｃ２」を確保する（手順Ｓ１１０４）。
【０１０５】
続いて、上述の手順Ｓ１１０４での処理以降、ノード５０３は、定期的にチャンネル対応情報を報告するためのメッセーをブロードキャストする（手順Ｓ１１０５）。このメッセージ内の各情報の値は、ノードの識別番号６０１が「バス５１０の識別番号とノード５０３の識別子」、メッセージのタイプ６０２が「受信ノードからの報告」、チャンネル番号６０３が「Ｃ２」、宛先アドレス６０４が「Ａ１」とされる。
【０１０６】
ここで、上述の手順Ｓ１１０５で送信されたメッセージを受信したブリッジ５０７は、このメッセージを解析し、このメッセージの中に含まれるノードの識別番号「バス５１０の識別番号とノード５０３の識別子」、チャンネル番号「Ｃ２」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ブリッジ５０７のポートＢ」からなる情報を抽出し、以前に手順Ｓ７０３で反対側のポートＡに直接接続されたバスからのメッセージを受信して記憶した情報と、手順Ｓ１１０５でノード５０３送信された情報との比較を行う。
【０１０７】
ここで、これら二つの情報中の、宛先アドレス６０４が一致し、受信しポートが異なり、コードの識別番号６０１が直接接続されたバスからのメッセージであり、メッセージタイプ６０２が両方とも「受信ノードからの報告」でない場合、ブリッジ５０７は、これらの情報に含まれているチャンネル番号６０３で示される各チャンネルを互いに接続する（手順Ｓ１１０６）。
【０１０８】
ブリッジ５０８も手順Ｓ１１０５でノード５０３から送信されたメッセージを受信し、ブリッジ５０７と同様に手順Ｓ７０４で記憶した情報と手順Ｓ１１０５で送信された情報とを比較する。このブリッジ５０８は、それぞれのメッセージを受信したポートが一致するため、チャンネル間の接続は行わず、このメッセージ内のノードの識別番号「バス５１０の識別番号とノード５０３の識別子」、メッセージタイプ「受信ノードからのメッセージ」、チャンネル番号「Ｃ２」、宛先アドレス「Ａ１」、及びこのメッセージを受信したポート「ブリッジ５０８のポートＡ」からなる情報を記憶する（手順Ｓ１１０７）。
【０１０９】
この後、ノード５０１から送信される宛先アドレス「Ａ１」宛のパケットは、アシンクロナス・ストリーム・パケットとしてチャンネル「Ｃ１」へ送信され、ブリッジ５０７は、バス５０９内のチャンネル「Ｃ１」のアシンクロナス・ストリーム・パケットをバス５１０のチャンネル「Ｃ２」へ転送する（手順Ｓ７０５）。ノード５０３は、このバス５１０に転送されたパケットを受信する。
以上により、バス５０９内の送信ノード５０１からブリッジ５０７を介してバス５１０内の受信ノード５０３にマルチキャストグループ宛のパケットの転送が行われる。
【０１１０】
次に、図９を参照して、マルチキャストによる通信を停止する場合の手順を説明する。
図９は、本実施の形態３において、ブリッジ５０７を挟んで隣り合うバス間で通信を行っている状態から通信を停止する場合の手順を示す。同図において、上述の実施の形態１に係る図４に示す手順と共通する手順については、同一符号を付す。
まず、上述の図８に示す手続きに基づき、ノード５０１がマルチキャストグループ宛のパケットを送信し、ノード５０３がそのパケットを受信している状態から、ノード５０１がパケットの送信を中止する（手順Ｓ８０１）。この中止に合わせてノード５０１は、このマルチキャストグループ用のチャンネルの管理を委譲する旨のメッセージをブロードキャストする（手順Ｓ８０２）。このメッセージ内の値は、ノードの識別番号６０１が「バス５０９の識別番号とノード５０１の識別子」、メッセージタイプ６０２が「委譲」、チャンネル番号６０３が「Ｃ１」、宛先アドレス６０４が「Ａ１」とされる。
【０１１１】
上述の手順Ｓ８０２で送信されたメッセージを受信したブリッジ５０７は、この委譲のメッセージを解析し、このメッセージの中に含まれているノードの識別番号６０１内のバスの識別子がブリッジ５０７に直接接続されているバスであった場合には、ノードの識別番号「バス５０９の識別番号とノード５０１の識別子」、チャンネル番号「Ｃ１」、及び宛先アドレス「Ａ１」からなる情報を記憶する（Ｓ８０３）。また、同じく手順Ｓ８０２で送信されたメッセージを受信したノード５０３は、この委譲メッセージを解析し、このメッセージの中に含まれているノードの識別番号６０１内のバスの識別子が、自分が存在するバス５１０以外のバスのものであった場合、ノードの識別番号「バス５０９の識別番号とノード５０１の識別子」、チャンネル番号「Ｃ１」、及び宛先アドレス「Ａ１」からなる情報を記憶する（以上、手順Ｓ８０３）。
【０１１２】
ブリッジ５０７は、上述の手順８０３での記憶の処理以後、委譲のメッセージを受信してから一定時間Ｔａ内に、ノードの識別番号６０１内のバス識別番号が「バス５０９の識別番号」かつ宛先アドレス６０４が「Ａ１」であり、メッセージタイプ６０２が「送信ノードからの報告」である情報を含むメッセージを受信しない場合、バス５０９とバス５１０との間の接続を切断する（手順Ｓ８０４）。ノード５０１は、上述の手順Ｓ８０２でメッセージをブロードキャストし、手順Ｓ８０４でブリッジ５０７によるチャンネルの切断が終了した後、マルチキャストグループアドレス用に確保していたチャンネル「Ｃ１」をＩＲＭであるノード５０２へ返却し、このチャンネルを解放する（手順Ｓ８０５）。
なお、ブリッジのチャンネル接続動作は、２つの異なるポートから２つとも「受信ノードからの報告」でないメッセージを受信したときに行うが、上述の手順Ｓ８０４の場合、すでに片方のポートから「受信ノードからの報告」を受信している。このため、手順Ｓ８０４では、ブリッジがチャンネル接続のトリガーとして受け付ける報告は「送信ノードからの報告」だけであり、「送信ノードからの報告」を受信しない場合にはチャンネルを切断する。
【０１１３】
ノード５０３は、上述の手順８０３での記憶の処理以後、委譲のメッセージを受信してから一定時間Ｔｂ（＞Ｔａ）内に、ノードの識別番号６０１内のバス識別番号が「バス５０９の識別番号」かつ宛先アドレス６０４が「Ａ１」であり、メッセージタイプ６０２が「送信ノードからの報告」である情報を含むメッセージを受信しない場合、すなわち、バス５０９内でチャンネルの管理を引き継ぐ他のノードが現れない場合、バス５０１内でマルチキャストグループ用に確保していたチャンネルを解放・返却するための手続きを開始する（手順Ｓ１２０１）。ここで、時間Ｔｂは時間Ｔａよりも長く設定される。この理由は、バス５０９でのチャンネルの管理を引き継ぐノードが現れないことが確定した後にバス５１０のチャンネルを委譲するためである。
なお、受信だけを行っているノードがチャンネル確保の開始処理を行うのは、他のバスからの「送信ノードからの報告」をトリガーとしている。そこで、この場合もチャンネル解放中止のトリガーとなるのは「送信ノードからの報告」だけとなる。
【０１１４】
ノード５０３は、上述の手順Ｓ１２０１でのチャンネルの解放・返却の手続きの開始と同時に、チャンネルの管理を委譲するための通知であるメッセージをブロードキャストする（手順Ｓ１２０２）。
その後、一定時間Ｔｃ内に、ノードの識別番号６０１内のバス識別番号が「バス５１０の識別番号」かつ宛先アドレス６０４が「Ａ１」であり、メッセージタイプ６０２が「送信ノードからの報告」もしくは「受信ノードからの報告」である情報を含むメッセージを受信しない場合、マルチキャストグループ用に確保していたチャンネルを解放・返却する（手順Ｓ１２０３）。
【０１１５】
次に、本実施の形態３に係る受信ノード５０３の構成および動作を詳細に説明する。
図１０は、ノード５０３の構成を示す。受信のみを行うノード５０３は、記憶部２１０２、パケット送受信部２１０１、タイマ部２１０３、パケット生成部２１０４及びパケット解析部２１０５から構成され、パケットは、パケット送受信部２１０１を通じてバス５１０へ送受信される。本実施の形態３に係るノード５０３の各構成要素の機能については、以下の動作の説明で明らかにする。
まず、手順Ｓ７０３においてノード５０３がマルチキャストグループ用のチャンネル対応情報の報告を受信したときの動作を説明する。チャンネル対応情報を含むメッセージを受信したノード５０３は、受信したメッセージをパケット解析部２１０５に送る。そして、このメッセージがノードの識別番号内のバス識別子がノード５０３の存在するバス以外を示し、メッセージタイプ６０２が「送信ノードからの報告」、宛先アドレスが「Ａ１」であった場合、パケット解析部２１０５は、マルチキャストグループ用のチャンネルを確保するための処理（チャンネル確保処理）を開始する（手順Ｓ１１０２）。
【０１１６】
上述の手順Ｓ１１０２でのチャンネル確保処理では、ノード５０３が直接接続されたバスでこのマルチキャストグループ「Ａ１」用にチャンネルが確保されているかどうかの問い合わせを行うため、パケット生成部２１０４でチャンネルの問い合わせメッセージを生成し送信する（手順Ｓ１１０３）。また、このチャンネルの問い合わせメッセージのタイムアウトを検出するために、タイマ部２１０３でタイマを起動する。
【０１１７】
次に、ノード５０３がマルチキャストグループ用のチャンネルを確保するときの動作を説明する。手順Ｓ１１０３においてチャンネルの問い合わせメッセージの送信以後、マルチキャストグループのチャンネルの対応情報の報告を受信せず一定時間経過し、タイマ部２１０３がタイムアウトした場合、パケット生成部２１０４でチャンネルを確保するためのパケットを生成し、ＩＲＭであるノード５０４に対してチャンネルの確保を行う（手順Ｓ１１０４）。ＩＲＭからチャンネルの確保完了の通知が返ってくることにより、チャンネルの確保の一連の処理が終了する。ただし、ノード５０３自身がＩＲＭであった場合には、チャンネルを確保するためのパケットの生成は行わず、チャンネルの確保処理をノード５０３の内部で行う。
【０１１８】
次に、ノード５０３がチャンネルの確保処理を完了し、チャンネルの対応情報の報告を送信する動作を示す。ノード５０３は、チャンネル確保完了の通知をパケット解析部２１０５で検出した場合、パケット生成部２１０４に対してマルチキャスト用のチャンネル確保の完了を通知し、パケット生成部２１０４では、マルチキャストグループと確保したチャンネルとの対応関係を示すチャンネル対応情報をブロードキャストする（手順Ｓ１１０５）。また、パケット解析部２１０５は、パケット送受信部２１０１に対して、確保したチャンネルの受信を開始するように通知する。これにより、確保したチャンネルからこのマルチキャストグループ宛のパケットが受信可能となる。
【０１１９】
次に、手順Ｓ８０２においてノード５０３がこのマルチキャストグループ用のチャンネルの管理を委譲する旨を通知するメッセージを受信した場合の動作を説明する。ノード５０１から受信した委譲のメッセージは、パケット解析部２１０５に転送され、このメッセージの中に含まれているノード識別番号６０１内のバスの識別子が、自分の存在するバス５１０以外のバスのものである場合、ノードの識別番号６０１が「バス５０９の識別番号とノード５０１の識別番号」、チャンネル番号６０３が「Ｃ１」、及び宛先アドレスが「Ａ１」からなる情報を記憶する（手順Ｓ８０３）。この手順Ｓ８０３での記憶と同時に、タイマ部２１０３は、チャンネルを返却するためのチャンネル返却処理を開始するためのタイマを起動する。
【０１２０】
次に、ノード５０３がチャンネル返却処理を開始するときの動作を説明する。上述の手順Ｓ８０２において、他のバスから委譲のメッセージを受信した後、ノード５０３のノードの識別番号６０１内のバスの識別番号が「バス５０９の識別番号」かつ宛先アドレスが「Ａ１」であり、メッセージのタイプが「送信ノードからの報告」である情報を含むメッセージを受信しない場合、タイマ部２１０３はタイムアウトし、ノード５０３がチャンネルの返却処理を開始する（手順Ｓ１２０１）。このチャンネルの返却処理では、手順Ｓ１２０２においてパケット生成部２１０４がチャンネル管理の委譲を通知するためのメッセージを作成し、パケット送受信部２１０１から送信する。また、ブリッジ５０３がチャンネルの管理を委譲する旨のメッセージを送信した後、チャンネル管理を引き継ぐノードが現れるまで待つため、タイマ部２１０３では、一定時間後にチャンネルを返却するためのタイマを起動する。
【０１２１】
次に、ノード５０３がチャンネル返却を行う動作を説明する。手順Ｓ１２０２において、ノード５０３がチャンネル管理の委譲のメッセージを送信した後、ノードの識別番号６０１内のバス識別番号が「バス５１０の識別番号」かつ宛先アドレス６０４が「Ａ１」であり、メッセージタイプ６０２が「送信ノードからの報告」もしくは「受信ノードからの報告」を含むメッセージを受信しない場合、タイマ部２１０３は、タイムアウトし、パケット生成部２１０４がチャンネル返却用のパケットを生成する。作成したメッセージは、ＩＲＭであるノード５０４に対してチャンネルを返却するために送信される（手順Ｓ１２０８）。ノード５０３は、ＩＲＭからチャンネル返却完了の通知を受信すると、返却したチャンネルの受信中止をパケット送受信部２１０１へ通知し（手順Ｓ２７０３）、チャンネル返却処理を完了する。ただし、ノード５０３自身がＩＲＭである場合には、チャンネル返却用のパケットの生成は行わず、チャンネルの返却処理をノード５０３の内部で行う。
【０１２２】
以上説明したように、本実施の形態３によれば、一つのバス内に受信ノードとしてマルチキャストグループに参加するノードしか存在しない場合であっても、このノードがチャンネルを自動的に確保することにより、送信ノードが存在するバスから受信ノードしか存在しないバスへのパケットの転送が可能となる。
【０１２３】
以上、本発明の実施の形態１ないし３を説明したが、本発明は、これらの実施の形態に限られるものではなく、これらの実施の形態を組み合わせてもよく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
例えば、上述の各実施の形態では、各バスはブリッジを介して直列に接続されるものとしたが、これに限定されることなく、たとえば、或る特定のバスに３個以上のブリッジが接続され、このバスを起点として放射状に他のバスが接続されるものとしてもよく、バスの接続形態は特に限定されない。
【０１２４】
【発明の効果】
以上説明したように、本発明によれば、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、前記ブリッジを介して接続される２つ以上のバス上のノードが同じマルチキャストグループでそれぞれ異なるチャンネルを使用して通信を行う際に、前記ブリッジが、前記互いに異なるバスのチャンネル間を接続するようにしたので、ブリッジを介して接続された複数のバス間でマルチキャストグループ宛のパケットの転送が可能となる。
【０１２５】
また、本発明によれば、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークにおいて、（ａ）前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報が記述されたメッセージをブロードキャストし、（ｂ）前記ブリッジは、前記メッセージとして、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続するようにしたので、ブリッジを介して接続される２つ以上のバス上のノードが同じマルチキャストグループでそれぞれ異なるチャンネルを使用して通信を行う際に、ブリッジで互いのチャンネルを接続することが可能となり、従ってブリッジを介して接続された複数のバス間でマルチキャストグループ宛のパケットの転送が可能となる。
【０１２６】
さらに、本発明によれば、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークにおいて、（ａ）前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報が記述されたメッセージをブロードキャストし、（ｂ）前記マルチキャストグループに参加するノードが存在しないバスに接続されたブリッジは、前記メッセージとして、当該バスを挟んで互いに隔てられたバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、前記マルチキャストグループに参加するノードが存在しないバスに、前記マルチキャストグループで使用されるべきチャンネルを確保するようにしたので、チャンネルを確保していないバスが通信経路の途中に存在していた場合であっても、ブリッジを介して接続されたバス間でマルチキャストグループ宛のパケットの転送が可能となる。
【０１２７】
さらにまた、本発明によれば、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた１つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークにおいて、（ａ）前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、（ｂ）前記バスのそれぞれにおいて受信のみを行うノードは、前記メッセージを受信した場合、同一バス内にチャンネルを管理するノードが存在しないことを条件に前記マルチキャストグループのパケットを受信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、（ｃ）前記ブリッジは、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続するようにしたので、ブリッジに接続されたバスが、受信を行うノードしか存在しないバスであっても、ブリッジを介して接続されたバス間でマルチキャストグループ宛のパケットの転送が可能となる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１に係る通信ネットワークの構成を示すブロック図である。
【図２】  本発明の実施の形態１に係るメッセージのフォーマットを示す図である。
【図３】  本発明の実施の形態１に係るパケット通信を開始するための手順を示すシーケンス図である。
【図４】  本発明の実施の形態１に係るパケット通信を停止するための手順を示すシーケンス図である。
【図５】  本発明の実施の形態１に係るブリッジの構成を示すブロック図である。
【図６】  本発明の実施の形態２に係るパケット通信を開始するための手順を示すシーケンス図である。
【図７】  本発明の実施の形態２に係るパケット通信を停止するための手順を示すシーケンス図である。
【図８】  本発明の実施の形態３に係るパケット通信を開始するための手順を示すシーケンス図である。
【図９】  本発明の実施の形態３に係るパケット通信を停止するための手順を示すシーケンス図である。
【図１０】  本発明の実施の形態１に係る受信ノードの構成を示すブロック図である。
【図１１】  従来の技術に係るネットワークの構成を示すブロック図である。
【図１２】  従来の技術に係るチャンネルの取得手順を示すシーケンス図である。
【図１３】  従来の技術に係るチャンネルの返却・解放手順を示すシーケンス図である。
【図１４】  従来技術に係るブリッジを使用してバスを接続した場合のネットワークの構成を示すブロック図である。
【符号の説明】
５０１〜５０６：ノード
５０７，５０８：ブリッジ
５０９〜５１１：バス
６０１：ノードの識別番号
６０２：メッセージタイプ
６０３：チャンネル番号
６０４：宛先アドレス
Ｓ７０１：マルチキャストグループ用のチャンネルの問い合わせ手順
Ｓ７０２：マルチキャストグループ用のチャンネル確保手順
Ｓ７０３：マルチキャストグループ用のチャンネル対応情報の報告手順
Ｓ７０４：送信ノードからの報告メッセージの記憶手順
Ｓ７０５：マルチキャストグループ宛のデータの送信手順
Ｓ７０６：マルチキャストグループ用のチャンネルの問い合わせ手順
Ｓ７０７：マルチキャストグループ用のチャンネル確保手順
Ｓ７０８：マルチキャストグループ用のチャンネル対応情報の報告手順
Ｓ７０９：送信ノードからの報告メッセージの記憶手順
Ｓ７１０：チャンネル間の接続手順
Ｓ７１１：マルチキャストグループ宛のデータ送信手順
Ｓ８０１：マルチキャストグループ宛のパケット送信中止手順
Ｓ８０２：マルチキャストグループ用のチャンネルの管理委譲の通知手順
Ｓ８０３：委譲の通知メッセージの記憶手順
Ｓ８０４：チャンネル間の切断手順
Ｓ８０５：マルチキャストグループ用のチャンネルの返却手順
Ｓ９０１：マルチキャストグループ用のチャンネルの問い合わせ手順
Ｓ９０２：マルチキャストグループ用のチャンネル確保手順
Ｓ９０３：マルチキャストグループ用のチャンネル対応情報の報告手順
Ｓ９０４：マルチキャストグループ用のチャンネル確保処理開始手順
Ｓ９０５：マルチキャストグループ用のチャンネルの問い合わせ手順
Ｓ９０６：マルチキャストグループ用のチャンネルの問い合わせ手順
Ｓ９０７：マルチキャストグループ用のチャンネル確保手順
Ｓ９０８：マルチキャストグループ用のチャンネル対応情報の報告手順
Ｓ９０９：チャンネル間の接続手順
Ｓ９１０：マルチキャストグループ宛のデータの送信手順
Ｓ９１１：マルチキャストグループ宛のデータの送信手順
Ｓ１００１：マルチキャストグループ用のチャンネルの返却処理開始手順
Ｓ１００２：マルチキャストグループ用のチャンネルの管理委譲の通知手順
Ｓ１００３：委譲のメッセージの記憶手順
Ｓ１００４：チャンネル間の切断手順
Ｓ１００５：マルチキャストグループ用のチャンネルの返却手順
Ｓ１１０１：マルチキャストグループに受信ノードとして参加を開始する手順
Ｓ１１０２：マルチキャストグループ用のチャンネル確保処理開始手順
Ｓ１１０３：マルチキャストグループ用のチャンネルの問い合わせ手順
Ｓ１１０４：マルチキャストグループ用のチャンネル確保処理開始手順
Ｓ１１０５：マルチキャストグループ用のチャンネル対応情報の報告手順
Ｓ１１０６：チャンネル間の接続手順
Ｓ１１０７：送信ノードからの報告メッセージの記憶手順
Ｓ１２０１：マルチキャストグループ用のチャンネルの返却処理開始手順
Ｓ１２０２：マルチキャストグループ用のチャンネルの管理委譲の通知手順
Ｓ１２０３：マルチキャストグループ用のチャンネルの返却処理手順
１３０１：ブリッジ
１３０２：記憶部
１３０３：タイマ部
１３０４：パケット生成部
１３０５：パケット解析部
１３０６：パケットスイッチング部
２１０１：パケット送受信部
２１０２：記憶部
２１０３：タイマ部
２１０４：パケット生成部
２１０５：パケット解析部
【図１】
0003896784.tif 000002
【図２】
0003896784.tif 000003
【図３】
0003896784.tif 000004
【図４】
0003896784.tif 000005
【図５】
0003896784.tif 000006
【図６】
0003896784.tif 000007
【図７】
0003896784.tif 000008
【図８】
0003896784.tif 000009
【図９】
0003896784.tif 000010
【図１０】
0003896784.tif 000011
【図１１】
0003896784.tif 000012
【図１２】
0003896784.tif 000013
【図１３】
0003896784.tif 000014
【図１４】
0003896784.tif 000015