JP3896784B2 - パケット通信方法および装置 - Google Patents

パケット通信方法および装置 Download PDF

Info

Publication number
JP3896784B2
JP3896784B2 JP2000309813A JP2000309813A JP3896784B2 JP 3896784 B2 JP3896784 B2 JP 3896784B2 JP 2000309813 A JP2000309813 A JP 2000309813A JP 2000309813 A JP2000309813 A JP 2000309813A JP 3896784 B2 JP3896784 B2 JP 3896784B2
Authority
JP
Japan
Prior art keywords
channel
node
bus
message
multicast group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000309813A
Other languages
English (en)
Other versions
JP2002118570A (ja
Inventor
丈司 鈴木
盛久 百名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2000309813A priority Critical patent/JP3896784B2/ja
Priority to EP20010123352 priority patent/EP1198095A3/en
Priority to US09/972,947 priority patent/US7120146B2/en
Publication of JP2002118570A publication Critical patent/JP2002118570A/ja
Application granted granted Critical
Publication of JP3896784B2 publication Critical patent/JP3896784B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ビデオカメラなどのハードウェアをコンピュータにより制御するためのシリアルバスを用いたパケット通信方法および装置に関し、例えば、シリアルバスに関する規格であるIEEE1394に準じたネットワークにおいて、ブリッジをまたぐ複数のノード間でTCP(Transmission Control Protocol)/IP(Internet Protocol)などのプロトコルを使用したパケット通信方法および装置に関する。
【0002】
【従来の技術】
近年、マルチメディア関連のハードウェアを含むネットワークに適したバス規格として、IEEE1394-1995規格もしくはIEEE1394a-2000規格(以下、「IEEE1394」と総称する)が注目されている。また、このIEEE1394に準拠したネットワークにおいてIP(Internet Protocol)をサポートするための方式として、IETF(Internet Engineering Task Force)により規定された「IP over IEEE1394」方式(RFC2734)が知られている。この「IP over IEEE1394」は、IEEE1394上でユニキャスト、マルチキャスト、ブロードキャストによるIPのパケット転送を行うための方式を規定している。
【0003】
この「IP over IEEE1394」方式では、ユニキャストによるパケット転送を行う場合、IEEE1394のアシンクロナスパケット(Asynchronous Packet)を使用し、マルチキャスト及びブロードキャストによるパケット転送を行う場合、IEEE1394のアシンクロナス・ストリーム・チャンネル(Asynchronous Stream Channel)を使用している。
また、この「IP over IEEE1394」方式では、一つのバス内でのマルチキャスト通信用にアシンクロナス・ストリーム・チャンネルを割り当てるためのプロトコルとしてMCAP(Multicast Channel Allocation Protocol)が規定されている。
【0004】
以下、図11および図12を参照して、上述のMCAPの動作を説明する。
図11は、「IP over IEEE1394」の機能を備えるノードが接続されたバスを示し、図12は、図11に示すようにノードが接続された場合のチャンネル確保までの手順を示す。「IP over IEEE1394」方式では、マルチキャスト用にチャンネルを割り当てる場合、まず、送信を行うノード101は、このマルチキャストグループ用のチャンネルが確保されているか否かを問い合わせるためのメッセージをブロードキャストする(手順S201)。
【0005】
手順S201でブロードキャストされたメッセージに対して応答がなかった場合、ノード101は、IEEE1394で規格化されているバスのチャンネルと帯域との使用状況を管理するIRM(Isochronous Resource Manager)であるノード102から新たにチャンネルを確保し(手順S202)、マルチキャストグループとチャンネルとの対応関係を示すチャンネル対応情報をブロードキャストにより報告する(手順S203)。チャンネルの管理ノードとなったノード101は、以後、このチャンネル対応情報を定期的にブロードキャストする。チャンネルを確保した後、ノード101は、上述の手順S202で確保されたチャンネルへマルチキャストグループ宛のパケットを送信する(手順S204)。
【0006】
次に、別のノード103がマルチキャストグループ宛のパケットの送信もしくは受信を開始する場合、ノード101と同様に、このマルチキャストグループ用のチャンネルが確保されているか否かを問い合わせるメッセージをブロードキャストする(手順S205)。このマルチキャストグループに対応するチャンネルの管理ノードであるノード101は、ノード103から送信された問い合わせメッセージを受信すると、上述のマルチキャストグループとチャンネルとのチャンネル対応情報をブロードキャストにより報告する(手順206)。
【0007】
このマルチキャストグループに参加を希望する任意のノードは、ノード101から定期的にブロードキャストされるチャンネル対応情報を受信し、このチャンネル対応情報を参照してこのマルチキャストグループ宛のパケットの送受信を行う(手順S207)。ノード101は、このマルチキャストグループ宛のパケットの送信を終了した場合、上述の手順S202で確保したチャンネルをIRMであるノード102に返却し、このチャンネルを解放する。
【0008】
次に、図13を参照して、ノード101がノード102にチャンネルを返却し、このチャンネルを解放する場合の動作を説明する。
図13は、チャンネルの返却・解放を行う場合の手順を示す。まず、このチャンネルの管理ノードとなっているノード101がマルチキャストグループ宛のパケットの送信を終了する場合、チャンネルの管理を委譲する旨のメッセージをチャンネル対応情報と共にブロードキャストする(手順301)。この委譲のメッセージに対して、一定時間経過してもチャンネルの管理を引き継ぐノードが現れなかった場合、ノード101は、確保したチャンネルをIRMであるノード102へ返却し(手順S302)、マルチキャストグループ宛への送信を終了する。
【0009】
【発明が解決しようとする課題】
ところで、IEEE1394に準拠したネットワークを構成する複数のノードをセグメント化する技術として、P1394.1で審議されているIEEE1394ブリッジ(以下、単に「ブリッジ」と称す)が知られている。図14は、ブリッジを用いてセグメント化されたIEEE1394ネットワークの一例を示す。この例では、ブリッジ407を介してバス409とバス410とが接続され、ブリッジ408を介してバス410とバス411とが接続されている。これらブリッジ407,408は、IEEE1394上に存在する複数のノードを2つ以上のバスに分割し、それぞれのバス間でバスリセットを絶縁する機能や、ユニキャスト用のアシンクロナス・パケット及びブロードキャスト用のアシンクロナス・ストリーム・パケットをバス間で通信する機能を備える。
【0010】
しかしながら、上述の従来技術に係るブリッジは、複数のバス間でユニキャスト用のアシンクロナス・パケットとブロードキャスト用のパケットとを転送する機能を備えてはいるが、それ以外のアイソクロナス・ストリーム・パケット(Isochronous Stream Packet)や、ブロードキャスト以外に使用されるアシンクロナス・ストリーム・パケットの転送については対応していない。
【0011】
このため、図14に示すIEEE1394に準じたネットワークにおいて、例えば、従来の手続きを用いてバス409内のノード401とバス410内のノード403が、チャンネルC1とチャンネルC2(共に図示なし)をそれぞれ確保し、これらのチャンネルを使用してIPマルチキャスト通信を開始したとしても、ブリッジ407では、チャンネルC1とチャンネルC2との間でマルチキャストグループ宛のパケットの転送を行なうことができない。したがって、例えばノード401が送信したマルチキャストグループ宛のパケットはバス409内でしか受信することができず、ブリッジを介して他のバス上のノードとマルチキャストによるパケット通信を行うことができないという問題がある。
【0012】
また、図14において、従来の手続きを用いて例えばバス409とバス411でマルチキャストグループ用のチャンネルがそれぞれ確保されていた場合、仮にブリッジ407,408がアシンクロナス・ストリーム・パケットの転送を行うことが可能であったとしても、通信経路の途中にあるバス410でマルチキャストグループ用にチャンネルが予め確保されていなければ、バス409とバス411との間でマルチキャストグループ宛のパケットを転送することができないという問題がある。
【0013】
さらに、従来の手続きでは、マルチキャストグループ用のチャンネルを確保できるノードは、マルチキャストグループへの送信を行うノードに限られ、受信のみを行うノードはチャンネルの確保を行わない。例えば、図14において、バス409内にマルチキャストグループ宛に送信を行うノードが存在し、バス410内には受信を行うノードしか存在しない場合、受信を行うノードしか存在しないバス410では、マルチキャストグループ用にチャンネルを確保することができない。このため、仮にブリッジ407がアシンクロナス・ストリーム・パケットの転送を行うことが可能であったとしても、バス409とバス410との間でマルチキャストグループ宛のパケットを転送することができないという問題がある。
【0014】
本発明は、上記事情に鑑みてなされたものであって、ブリッジを介して接続された複数のバス間でマルチキャストグループ宛のパケットの転送を可能とするパケット通信方法および装置を提供することを第1の目的とする。
また、本発明は、チャンネルを確保していないバスが通信経路の途中にあったとしても、ブリッジを介して接続されたバス間でマルチキャストグループ宛のパケットの転送を可能とするパケット通信方法および装置を提供することを第2の目的とする。
さらに、本発明は、ブリッジに接続されたバス内に受信ノードしか存在しない場合であっても、ブリッジを介して接続されたバス間でマルチキャストグループ宛のパケットの転送を可能とするパケット通信方法および装置を提供することを第3の目的とする。
【0015】
【課題を解決するための手段】
上記の課題を解決するために、請求項1記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、(a)前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報(例えば後述するチャンネル対応情報に相当する要素)が記述されたメッセージをブロードキャストし、(b)前記ブリッジは、前記メッセージとして、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続することを特徴とする。
これにより、マルチキャストグループ用にチャンネルが確保され、そのチャンネルを使用してマルチキャストグループ宛へのパケットの送信が行われているバスが二つある時に、二つのバスを接続しているブリッジが互いのバスのマルチキャストグループ用に確保されたチャンネルの対応付けを行い、パケットのやりとりを可能とする。
【0016】
請求項2記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、(a)前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報が記述されたメッセージをブロードキャストし、(b)前記マルチキャストグループに参加するノードが存在しないバスに接続されたブリッジは、前記メッセージとして、当該バスを挟んで互いに隔てられたバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、前記マルチキャストグループに参加するノードが存在しないバスに、前記マルチキャストグループで使用されるべきチャンネルを確保することを特徴とする。
これにより、マルチキャストグループ宛のパケットの通信経路に当たるバスで、マルチキャストグループ用にチャンネルが確保されていなかった場合に、チャンネルが確保されていないバスに接続されたブリッジが自動的にチャンネルの確保を行い、パケットのやりとりを可能とする。
【0017】
請求項3記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、(a)前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、(b)前記バスのそれぞれにおいて受信のみを行うノードは、前記メッセージを受信した場合、同一バス内にチャンネルを管理するノードが存在しないことを条件に前記マルチキャストグループのパケットを受信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、(c)前記ブリッジは、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続することを特徴とする。
これにより、マルチキャストグループ宛のパケットの受信のみを行うノードしか存在しないバスで、受信ノードが自らマルチキャストグループ用のチャンネルを取得することにより、パケットのやりとりを可能とする。
【0018】
請求項4記載の発明は、請求項2に記載されたパケット通信方法において、前記マルチキャストグループに参加するノードが存在しないバスに接続された2以上のブリッジのうち、各ブリッジのもつノードの識別番号に応じた特定のブリッジが、管理ノードとなって優先的に前記チャンネルを確保するための処理を開始することを特徴とする。
これにより、前記マルチキャストグループに参加するノードが存在しないバスにおいて、重複したチャンネルの確保が防止される。
【0019】
請求項5記載の発明は、請求項1ないし4の何れかに記載されたパケット通信方法において、前記ブリッジは、前記マルチキャストグループを指定する情報と前記チャンネルを指定する情報が書き込まれたメッセージを受信した場合、(a)前記メッセージの転送先のバス内で、前記マルチキャストグループ用にチャンネルが確保されているかについての調査を行うと共に、該チャンネルが確保されていなければ新たなチャンネルが確保可能であるかどうかについての調査を行い、(b)前記マルチキャストグループ用にチャンネルが確保されているとき、または、該チャンネルが確保されていなければ新たなチャンネルが確保可能であるときに限り、前記メッセージを転送することを特徴とする。
【0020】
請求項6記載の発明は、請求項1ないし5の何れかに記載されたパケット通信方法において、前記マルチキャストグループ宛のパケットの送信を中止するノードは、前記マルチキャストグループ用に確保されたチャンネルをIRMとして機能する特定のノードに返却すると共に、前記マルチキャストグループ及びチャンネルに関する情報の送信を停止し、前記マルチキャストグループ用に確保されたチャンネルを接続したブリッジは、前記情報を何れのバスからも受信しない場合、チャンネルを切断することを特徴とする。
請求項7記載の発明は、請求項1ないし6の何れかに記載されたパケット通信方法において、前記シリアルバスに関する所定の規格が、IEEE1394であることを特徴とする
【0021】
請求項8記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在する通信ネットワークにおいて、前記複数のバスを互いに接続するためのブリッジとして機能するパケット通信装置であって、前記複数のバスでそれぞれ使用されるマルチキャスト用のチャンネルを対応づけるためのチャンネル対応情報を記憶する記憶部と、受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報と前記記憶部に記憶されたチャンネル対応情報との比較を行うパケット解析部と、受信した前記メッセージの送信先のバス内でマルチキャスト用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、前記メッセージを前記送信先のバスへ転送すると共に、前記パケット解析部での比較の結果、宛先アドレスが一致し、かつ受信したポートが異なる場合、前記チャンネル対応情報で示される各チャンネルを互いに接続するパケットスイッチング部と、を備えたことを特徴とする。
【0022】
請求項9記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在する通信ネットワークにおいて、前記複数のバスを互いに接続するためのブリッジとして機能するパケット通信装置であって、前記複数のバスでそれぞれ使用されるマルチキャスト用のチャンネルを対応づけるためのチャンネル対応情報を記憶する記憶部と、受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報と前記記憶部に記憶されたチャンネル対応情報との比較を行い、宛先アドレスが一致し、受信したポートが異なり、かつ前記メッセージが受信ノードからのものでなかった場合、管理ノードが在しないバスでマルチキャストグループ用のチャンネルを確保するためのチャンネル確保処理を開始するパケット解析部と、受信した前記メッセージの送信先のバス内でマルチキャスト用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、前記メッセージを前記送信先のバスへ転送すると共に、前記パケット解析部での比較の結果、宛先アドレスが一致し、かつ受信したポートが異なる場合、前記チャンネル対応情報で示される各チャンネルを互いに接続するパケットスイッチング部と、を備えたことを特徴とする。
【0023】
請求項10記載の発明は、請求項9に記載されたパケット通信装置において、前記パケットスイッチング部でのチャンネル確保処理にともなって、前記送信先のバスでチャンネルを管理しているノードが存在しないかについて確認を行うための問い合わせメッセージを送信するパケット生成部をさらに備えたことを特徴とする。
請求項11記載の発明は、請求項10に記載されたパケット通信装置において、前記問い合わせメッセージに対する応答を受け付けるために予め設定された時間を計時してタイムアウトを検出するタイマ部をさらに備え、前記タイマ部の設定が、ブリッジ毎に異なることを特徴とする。
【0024】
請求項12記載の発明は、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークにおいて、前記ノードとして機能するパケット通信装置であって、受信したメッセージ内のバス識別子がこのメッセージの送信ノードが存在するバス以外のノードを示す場合、マルチキャストグループ用のチャンネル確保処理を開始するパケット解析部と、前記チャンネル確保処理に伴って、前記マルチキャストグループ用にチャンネルが確保されているかどうかを問い合わせる旨の問い合わせメッセージを生成するパケット生成部と、を備えたことを特徴とする。
請求項13記載の発明は、請求項8ないし12の何れかに記載されたパケット通信装置において、前記シリアルバスに関する所定の規格が、IEEE1394であることを特徴とする。
【0025】
以下、本発明の作用を説明する。
請求項1に記載された発明では、ブリッジを介して複数のバスが存在する通信ネットワークにおいて、ブリッジを介してマルチキャストグループ宛のパケットを転送する場合、各バスに存在する送信ノードは、マルチキャストグループ用にチャンネルを確保し、マルチキャストグループとチャンネルとの対応関係に関する情報を定期的にブロードキャストして任意のノードに通知する。ブリッジは、チャンネルを確保したノードから定期的にブロードキャストされる情報を解析し、ブリッジに接続された異なるバスから同じマルチキャストグループが記述されたメッセージを受信した場合、これらのバスのチャンネルを接続し、各チャンネル上を転送されるパケットをバス間で転送する。
【0026】
また、請求項2に記載された発明では、或るブリッジの両端に複数のバスが接続されており、各バス上の送信ノードは、マルチキャストグループ用にチャンネルを確保し、マルチキャストグループとそのチャンネルの対応情報を定期的に通知する。各ブリッジは、定期的に通知されるマルチキャストグループとチャンネルとの対応関係に関する情報を解析し、ブリッジに接続されている両方のバスから同じマルチキャストグループが記述された情報を受信した場合、ブリッジに直接接続されているバス内でそのマルチキャストアドレス用にチャンネルが確保されているかどうか問い合わせるためのメッセージを送信する。このメッセージに対して応答がなければ、ブリッジ自らがチャンネルを取得し、マルチキャストグループとチャンネルとの対応関係を表す情報を定期的に送信するとともに、そのマルチキャストグループのために確保されたチャンネル間を接続し、各チャンネル上を転送されるパケットをバス間で転送する。
【0027】
なお、請求項1および請求項2に記載された発明において、マルチキャストグループ宛のパケットの送信を中止する場合、例えば、送信ノードは、マルチキャストグループ用に割り当てられたチャンネルを管理ノード(IRM)に返却して送信を停止すると共に、マルチキャストグループとチャンネルに関する情報を含むメッセージの定期的な送信を停止する。そして、マルチキャストグループ用に割り当てられたチャンネルをバス間で互いに接続したブリッジは、マルチキャストグループとチャンネルとの対応関係に関する情報を含むメッセージが何れのバスからも受信しない場合、チャンネル間を切断し、バス間でのパケットの転送を中止する。
【0028】
さらに、請求項3に記載された発明では、通信経路上の途中に受信ノードのみが存在するバス(送信ノードが存在しないバス)がある場合、マルチキャストグループ宛の送信を行っているノードが存在するバスでは、その送信ノードがマルチキャストグループ用にチャンネルを確保し、マルチキャストグループとチャンネルとの対応関係に関する情報を定期的に通知する。送信ノードから通知される情報を受信したノードは、このマルチキャストグループ用にチャンネルが割り当てられているかどうかを問い合わせるメッセージを送信し、このメッセージに対して応答がなければ自らチャンネルを取得し、マルチキャストグループとチャンネルとの対応関係に関する情報を定期的に通知する。これら送信ノードと受信ノードに挟まれたブリッジは、これらのソードが存在する各バスのチャンネルを接続してパケットの転送を行う。
【0029】
なお、請求項3に記載された発明において、送信ノードがパケットの送信を中止する場合、送信ノードは、例えば、マルチキャストグループ用に割り当てられたチャンネルを解放し、マルチキャストグループとチャンネルとの対応関係に関する情報を含むメッセージの送信を中止する。この場合、マルチキャストグループの受信を行っているノードは、チャンネルの管理を委譲するメッセージを送信し、これに対してチャンネルの管理を引き継ぐノードが現れなければ、チャンネルを解放し、マルチキャストグループとチャンネルとの対応関係に関する情報を含むメッセージの送信を中止する。ブリッジは、何れのバスからもマルチキャストグループとチャンネルの対応情報を含むメッセージを受信しない場合、これらバスのチャンネルを切断し、バス間でのパケットの転送を中止する。
【0030】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
なお、各図において共通する要素には同一符号を付す。
<実施の形態1>
本実施の形態1に係るパケット通信方法および装置は、ブリッジを介して接続された複数のバス間でマルチキャストによるパケット転送を可能とする。
【0031】
図1は、本発明の実施の形態1に係るネットワークの構成を示す。このネットワークには、IEEE1394(シリアルバスに関する所定の規格)に準じた複数のバス509〜511が存在し、これらバスのそれぞれにはIEEE1394に準じた複数のノード501〜506が存在し、これらバスはIEEE1394に準じたブリッジ507,508を介して接続されている。もちろん、バスに存在するノードは1つであってもよい。各ブリッジは、ポートAおよびポートBを持ち、各ノード及び各ブリッジのポートは、IEEE1394に準拠したデータリンク機能を備える。
【0032】
ここで、ノード501とノード502は、バス509を介してシリアルに接続され、このバス509は、ブリッジ507のポートAに接続されている。また、ノード503とノード504は、バス510を介してシリアルに接続され、このバス510は、ブリッジ507のポートBとブリッジ508のポートAに接続されている。さらに、ノード505とノード506は、バス511を介してシリアルに接続され、このバス511は、ブリッジ508のポートBに接続されている。各バス内のノードまたはブリッジのうち少なくとも1つのノードは、IEEE1394で規定されるIRM(Isochronous Resource Manager)の機能を備えている。本実施の形態1の場合、ノード502、ノード504およびノード506がIRMの機能を備える。
【0033】
また、各ノードは、IETF(Internet Engineering Task Force)で規格されたTCP/IP(Transmission Control Protocol)/IP(Internet Protocol)などの通信プロトコルと、同じくIETFで規定された「IP over IEEE1394」(RFC2734)に準拠した機能を備えており、IEEE1394の機能を利用してそれぞれのバス内でIPパケットを互いに転送するものとする。さらに、各ブリッジは、接続された2つ以上のバス間でユニキャストパケットとブロードキャストパケットの転送を行う機能を備えており、IPユニキャストパケットとIPブロードキャストパケットをバス間で互いに転送するものとする。なお、本発明は、上記のTCP/IP及び「IP over IEEE1394」に制限されるものではなく、任意のプロトコルに適用可能である。
【0034】
本実施の形態1では、マルチキャストグループに参加するノードは、宛先アドレスとしてマルチキャストグループのIPアドレス「A1」を使用し、プロトコルとしてUDP(User Datagram Protocol)を使用するものとする。ただし、マルチキャストグループを指定するパラメータは、上記の宛先アドレスとプロトコルタイプの組み合わせに限定されるものではなく、使用するプロトコルに応じた組み合わせが可能である。
【0035】
図2は、上記のノード及びブリッジ間で制御用に使用されるメッセージに設定される情報のフォーマットを示す。この情報は、ノードの識別番号601、メッセージタイプ602、チャンネル番号603、宛先アドレス604から構成される。ノードの識別番号601は、ノードのバスの識別番号と、バス内でのノードの識別子からなり、例えばノード501の場合には、バス509の識別番号とノード501の識別子とからなる。また、送信ノードのメッセージのタイプ602の値は、「問い合わせ」、「送信ノードからの報告」、「受信ノードからの報告」、「委譲」の4種類がある。「問い合わせ」は、マルチキャストグループ宛にパケット送信を希望するノードが、このマルチキャストグループ用のチャンネルが既に確保されているか否かを確認するために使用する。また、「送信ノードからの報告」は、送信だけを行うノードと、送受信(送信および受信)を行うノードとが使用し、送信だけを行うノードもしくは送受信(送信および受信)を行うノードがマルチキャストグループ用に使用されるチャンネルの管理を行う場合、マルチキャストグループのアドレスを示す情報とチャンネルの番号との対応情報を通知するために使用する。「受信ノードからの報告」は、受信だけを行うノードとブリッジとが使用し、受信だけを行うノードもしくはブリッジがマルチキャストグループ用に使用されるチャンネルの管理を行う場合、マルチキャストグループのアドレスを示す情報とチャンネルの番号との対応情報を通知するために使用する。「委譲」は、マルチキャストグループ用のチャンネルの管理をしていたノードが、このチャンネルを使用しなくなった際に、このチャンネルを他のノードが使用するか否かを確認するために使用する。
【0036】
チャンネル番号603の値は、「0」から「63」の範囲で設定され、ブロードキャストチャンネルで使用される「31」を除いた何れかの値が使用される。宛先アドレス604の値は、IPアドレスの中でマルチキャストグループに割り当てられている範囲の中のアドレス、すなわち、「224.0.0.1」から「239.255.255.255」のいずれかの値を持ち得る。なお、メッセージのフォーマットは、上記のフォーマットに制限されるものではなく、ノードの識別番号601、メッセージタイプ602、チャンネル番号603、宛先アドレス604が含まれているか、またはこれらが識別可能であれば、任意のフォーマットが使用可能である。
【0037】
次に、本実施の形態1に係るパケット通信方法の手順について、ノード501とノード503との間でパケットの送受信を行う場合を想定し、ブリッジ507に直接接続されたバス間でマルチキャストグループ宛のパケットの送受信を行う場合を図3に示す手順に沿って説明する。
上述のIEEE1394の規格上、マルチキャストでは、パケット転送のために、事前にマルチキャスト用のチャンネルを確保し、使用することが可能であるので、まず、ノード501は、マルチキャストグループ宛にパケットを送信する場合、このマルチキャストグループ用にチャンネルが確保されているか否かを問い合わせるためのメッセージをブロードキャスト送信する(手順S701)。このメッセージ内の各情報の値は、ノードの識別番号601が「バス509の識別番号とノード501の識別子」、メッセージタイプ602が「問い合わせ」、宛先アドレス604が「A1」とされる。このマルチキャスト用の宛先アドレス604は、TCP/IP上で動作するアプリケーションプログラムから指定され、どのマルチキャストアドレスを使用するのかは、各ノードに実装されているアプリケーションプログラムで決定される。この手順S701で送信されたメッセージに対して何の応答もなかった場合、ノード501は、バス509内の全てのチャンネルを管理するIRMであるノード502からチャンネルを取得する処理を行ない、チャンネル「C1」を確保する(手順S702)。
【0038】
上述のチャンネル「C1」を確保した後、ノード501は、定期的にマルチキャストグループとチャンネルとの対応関係を示す情報(以下、「チャンネル対応情報」と称す)を報告するためのメッセージをブロードキャストする(手順S703)。この手順S703でのメッセージ内の値は、ノードの識別番号601が「バス509の識別番号とノード501の識別子」、メッセージタイプ602が「送信ノードからの報告」、チャンネル番号603が「C1」、宛先アドレス604が「A1」とされる。
【0039】
上述の手順S703で送信されたメッセージを受信したブリッジ507およびブリッジ508は、このメッセージの送信ノードからの報告を解析し、このメッセージの中に含まれているノードの識別番号「バス509の識別番号とノード501の識別子」、メッセージタイプ「送信ノードからの報告メッセージ」、チャンネル番号「C1」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ブリッジ507のポートA」もしくは「ブリッジ508のポートA」からなる情報を記憶する(手順S704)。そして、ノード501は、確保したチャンネル「C1」を使用し、マルチキャストグループ宛のアシンクロナス・ストリーム・パケット(Asynchronous Stream Packet)の送信を開始する(手順S705)。
【0040】
一方、バス510内にあるノード503は、ノード501と同様にマルチキャストグループ宛のパケットの送信を開始する場合、このマルチキャストグループ用にチャンネルが確保されているか否かの問い合わせのメッセージをブロードキャストする(手順S706)。このメッセージ内の各情報の値は、ノード識別番号601が「バス510の識別番号とノード503の識別子」、メッセージタイプ602が「問い合わせ」、宛先アドレス604が「A1」とされる。このメッセージに対して何の応答もなかった場合、ノード503は、IRMであるノード504からチャンネルを取得する処理を行ない、チャンネル「C2」を確保する(手順S707)。この手順S706のメッセージに対してノード501がマルチキャスト用のチャンネルを確保しているにも関わらず反応しない理由は、チャンネルの対応情報は管理ノードの存在するバス内でのみ有効であるため、外部バスから転送されてきた「問い合わせ」メッセージに対して反応しないこととなっているからである。チャンネル「C2」を確保した後、ノード503は、定期的にチャンネル対応情報を報告するためのメッセージをブロードキャストする(手順S708)。このメッセージ内の各情報の値は、ノード識別番号601が「バス510の識別番号とノード503の識別子」、メッセージタイプ602が「送信ノードからの報告」、チャンネル番号603が「C2」、宛先アドレス604が「A1」とされる。
【0041】
手順S708で送信されたメッセージを受信したブリッジ507は、このメッセージの送信ノードからの報告を解析し、このメッセージの中に含まれているノードの識別番号「バス510の識別番号とノード503の識別子」、チャンネル番号「C2」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ブリッジ507のポートB」からなる情報を抽出して記憶する(手順S709)。ブリッジ508もブリッジ507と同様に、手順S708で送信されたメッセージ内の情報のうち、ノードの識別番号「バス510の識別番号とノード503の識別子」、メッセージタイプ「送信ノードからのメッセージ」、チャンネル番号「C2」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ブリッジ508のポートA」からなる情報を記憶する(同手順S709)。
【0042】
次に、ブリッジ507は、手順S704でポートAに直接接続されたバス509から受信して記憶した情報と、手順S709でポートBに接続されたバス510から受信して記憶した情報との比較を行う。ここで、ブリッジ507は、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続する。具体的には、ポートA及びポートBから受信した二つの情報のうち、宛先アドレス604が一致し、受信したポートが異なり、ノードの識別番号601が直接接続されたバスからのメッセージであり、メッセージタイプ602が両方とも「受信ノードからの報告」でない場合、これらの情報に含まれているチャンネル番号603でそれぞれ特定されるチャンネルの対応付けを行い、これらチャンネル間を互いに接続する(手順S710)。
【0043】
このチャンネル間の接続は、アシンクロナス・ストリーム・パケットのチャンネルの番号を変換することにより行われる。例えば、バス509のチャンネル「C1」とバス510のチャンネル「C2」を接続する場合、ブリッジ507は、バス509から受信したアシンクロナス・ストリーム・パケットのチャンネル「C1」をチャンネル「C2」に変換し、逆に、バス510から受信したアシンクロナス・ストリーム・パケットのチャンネル「C2」をチャンネル「C1」に変換する。これにより、ブリッジ507を介してバス509のチャンネル「C1]とバス510のチャンネル「C2」とが相互に接続され、これらのバス間でパケットの転送が可能とされる。ブリッジ508でもブリッジ507と同様にチャンネル間の接続を行う。
【0044】
ここで、メッセージタイプ602が両方とも「受信ノードからの報告」であった場合にはチャンネル間の接続を行わない。この理由は、メッセージタイプ602が両方とも「受信ノードからの報告」である場合には送信者は存在せず、マルチキャストグループ宛のパケットが送信されないため、そもそもチャンネル間を転送すべきパケット自体が存在しないためである。
また、手順S708で送信されたメッセージを受信したブリッジ508もブリッジ507と同様に、手順S704および手順S709で記憶した情報を比較するが、それぞれのメッセージを受信したポートが一致するため(いずれも、ポートA)、チャンネル間の接続は行わない。すなわち、これらのメッセージを受信したポートが一致するということは、ブリッジ508は、これらのメッセージを送信したノード間に介在していないことを意味する。このため、ブリッジ508が接続すべきチャンネルは存在しない。
【0045】
ブリッジ507を介して、バス509のチャンネル「C1」とバス510のチャンネル「C2」との間が接続された後、ノード503から送信される宛先アドレス「A1」宛のパケットは、アシンクロナス・ストリーム・パケットとしてバス510のチャンネル「C2」へ送信される。ブリッジ507はチャンネル「C2」のアシンクロナス・ストリーム・パケットをバス509内のチャンネル「C1」に転送する(手順S711)。同様にノード501から送信される宛先アドレス「A1」宛のパケットは、アシンクロナス・ストリーム・パケットとしてバス509のチャンネル「C1」へ送信され、ブリッジ507はチャンネル「C1」のアシンクロナス・ストリーム・パケットをバス510のチャンネル「C2」へ転送する(手順S712)。
以上により、ブリッジ507を介して接続されたバス509とバス510との間でマルチキャストによるパケット転送が確立する。
【0046】
次に、ノード501が、マルチキャストグループとのパケット転送を停止する場合の手順を説明する。
図4は、ブリッジ507を介して接続されたバス509とバス510との間でマルチキャストによるパケット転送が確立している状態から、ノード501が通信を停止する場合の手順を示す。上述の図3に示す手順に基づきノード501とノード503との間の通信が確立された状態から、ノード501がパケットの送信を中止する(手順S801)。この中止に合わせて、ノード501は、確保しているマルチキャストグループ用のチャンネルの管理を委譲する旨のメッセージをブロードキャストにより通知する(手順S802)。
【0047】
上述の手順S802で通知されるメッセージ内の各情報の値は、ノード識別番号601が「バス509の識別番号とノード501の識別子」、メッセージタイプ602が「委譲」、チャンネル番号603が「C1」、宛先アドレス604が「A1」とされる。この委譲のメッセージを受信したブリッジ507は、このメッセージの内容を解析し、このメッセージに含まれるノードの識別番号601内のバスの識別番号がブリッジ507に直接接続されているバスを示すものであった場合には、この情報に含まれるノードの識別番号「バス509の識別番号とノード501の識別子」、チャンネル番号「C1」、及び宛先アドレス「A1」からなる情報を記憶する(手順S803)。
【0048】
上述の手順S803での記憶の処理以後、ブリッジ507は、委譲のメッセージを受信してから一定時間Ta内に、ノードの識別番号601内のバス識別番号が「バス509の識別番号」であり、かつ宛先アドレス604が「A1」であり、メッセージタイプ602が「送信ノードからの報告」もしくは「受信ノードからの報告」となっている情報を含むメッセージを受信しない場合、バス509上に宛先アドレスが「A1」であるマルチキャストグループに属しているノードは無いと判断し、バス509とバス510とのチャンネル間を切断する(手順S804)。ノード501は、ブリッジ507がチャンネル間を切断した後、マルチキャストグループ用に確保していたチャンネル「C1」をIRMであるノード502へ返却する(手順S805)。このときの手順の一例を以下に示す。
ノード501は、「委譲」のメッセージを送信してから一定時間(Tdとする)した後、チャンネルを解放する。ここで、TaをTd>Taとなるように設定することで、ブリッジ507がチャンネル切断後、ノード501がチャンネルを返却するということが可能となる。
【0049】
ここで、上述の手順S804でブリッジ507がチャンネル間を切断した後にノード501がチャンネルを返却する理由を説明する。仮に、ブリッジ507がチャンネル間を切断する前にノード501がチャンネル「C1」を返却するものとした場合、ノード501がチャンネル「C1」を返却してからチャンネルの切断が行われるまでの間に、バス509上の「IP over IEEE1394」対応の他のノードが「A1」以外のマルチキャストグループ宛のアドレス用に、または、バス509上のいずれかのノードが「IP over IEEE1394」以外の目的に同じチャンネル「C1」を確保し、かつ、ブリッジ507が宛先アドレス「A1」へのパケットをバス510からバス509に転送する場合が起こり得る。この場合、本来、ノード501が参加していたマルチキャストグループ宛のパケットが、ノード501以外の他のノードや「IP over IEEE1394」以外のアプリケーションに誤って配信されることになる。そこで、宛先アドレス「A1」へのパケットが、返却前のチャンネル「C1」へ誤って送信されることを防ぐため、チャンネルの返却をチャンネルの切断後に行う。ブリッジ507によるチャンネル間の切断以後、ノード501がチャンネル「C1」を返却することにより、宛先アドレス「A1」へのノード503からのパケットは、ブリッジ507では転送されず、バス510内でのみ転送される(手順S806)。
【0050】
次に、本実施の形態1に係るブリッジの構成および動作を詳細に説明する。
図5は、本実施の形態1に係るブリッジ507,508に相当するブリッジ1301の構成を示す。このブリッジ1301は、記憶部1302、タイマ部1303、パケット生成部1304、パケット解析部1305、及びパケットスイッチング部1306から構成され、パケットはポートA及びポートBを通じてバスα(バス509またはバス510の何れかのバスに相当)及びバスβ(バス510またはバス511の何れかのバスに相当)に対してそれぞれ送受信される。このブリッジ1301の各構成要素の機能については、以下の動作の説明で明らかにする。なお、以下の説明においては、適宜、ブリッジ1301をブリッジ507またはブリッジ508として説明する。
【0051】
以下、この実施の形態1に係るブリッジ507,508の動作を説明する。
まず、ブリッジ507がマルチキャスト用のチャンネル対応情報(S703)を含むメッセージを受信した場合の動作を説明する。
ブリッジ1301(ブリッジ507)では、バスα(バス509)が接続されたポートAから受信したマルチキャスト用のチャンネル対応情報は、パケットスイッチング部1306とパケット解析部1305とに送られる。パケットスイッチング部1306では、このチャンネル対応情報を受け取ると、転送先のバスβ(バス510)内でこのマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であるかについて、IRMに問い合わせることにより、検査を行う。そして、このマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、このメッセージをポートBへ転送し、バスβ(バス510)へ送信する。
【0052】
このように検査を行って、メッセージの転送を制限する理由は、チャンネルの無駄な確保を防止し、各バスのチャンネルを有効利用するためである。すなわち、同じマルチキャストグループに参加している二つのノード間の通信経路上のバスの中で、チャンネルを確保できなかったバスが一つでも存在すれば、仮に他のバスでチャンネルを確保できたとしても、結局、これらのノード間の通信を確立することはできない。そこで、通信経路上に、チャンネルが確保できないバスがあるときは、この通信経路上にチャンネル確保可能なバスがあったとしても、このバスではチャンネルを確保せず、チャンネルを解放しておく。これにより、各バス内のチャンネルを他の通信に利用することができ、チャンネルの効率的な使用が可能となる。
【0053】
パケット解析部1305では、受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報を受け取ると、この情報の中に含まれているノードの識別番号「バス509の識別番号とノード501の識別子」、メッセージタイプ「送信ノードからの報告」、チャンネル番号「C1」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ポートA」からなる情報を抽出すると共に、記憶部1302に記憶されている内容の検査を行う。この時点で記憶部1302には何も記憶されていないので、抽出した情報を記憶部1302へ記憶する(手順S704)。
【0054】
次に、上述の手順S708において、ブリッジ507がマルチキャスト用のチャンネル対応情報の報告を受信した場合の動作を説明する。
ブリッジ1301(ブリッジ507)では、バスβ(バス510)が接続されたポートBから受信したマルチキャスト用のチャンネル対応情報は、パケットスイッチング部1306とパケット解析部1305に送られる。パケットスイッチング部1306では、チャンネル対応情報を受け取ると、転送先のバスα(バス509)内でこのマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であるかについて、IRMに問い合わせることにより、検査を行う。そして、このマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であれば、このメッセージをポートAへ転送し、バスα(バス509)へ送信する。この検査の理由は、上述の場合と同様であり、チャンネルの効率的な利用を図るためである。
【0055】
また、パケット解析部1305では、チャンネル対応情報を受け取ると、この情報の中に含まれているノードの識別番号「バス510の識別番号とノード503の識別子」、メッセージタイプ「送信ノードからの報告」、チャンネル番号「C2」、宛先アドレス「A1」、及びメッセージを受信したポート「ポートB」からなる情報を抽出しすると共に、記憶部1302に何か記憶されている内容の検査を行う。この時点で、記憶部1302には、上述の手順704でチャンネル対応情報が記憶されているので、この記憶部1302に記憶されたチャンネル対応情報と、手順S708で受信したチャンネル対応情報との比較を行う。
【0056】
ここで、宛先アドレス604が一致し、受信したポートが異なり、ノードの識別番号601が直接接続されたバス上のノードのものであり、メッセージタイプ602が、手順S704で記憶されたチャンネル対応情報と手順S708で受信されたチャンネル対応情報との両方とも「受信ノードからの報告」でない場合、パケットスイッチング部1306は、これらのチャンネル対応情報内のチャンネル番号603で特定される各チャンネル(ここでは、チャンネルC1とC2)を互いに接続する(手順S710)。そして、このチャンネルC1とC2とを接続する旨の情報を記憶部1302に記憶する。
【0057】
次に、上述の手順S710においてブリッジ507のパケットスイッチング部1306がマルチキャストアドレス「A1」に対応したチャンネルを接続している場合に、手順S711,S712においてマルチキャストグループ宛のパケット転送を行う場合の動作を説明する。
ブリッジ1301(ブリッジ507)では、このマルチキャストグループ宛のパケットは、ポートAまたはポートBの一方から受信し、パケット解析部1305とパケットスイッチング部1306へ送られる。パケット解析部1305は、マルチキャストデータを処理せずに破棄する。また、パケットスイッチング部1306は、上述の手順S710において、それぞれのパケットを受信したチャンネル間が接続していることを、記憶部1302を参照することにより知ることができるので、チャンネルの変換を行い反対側のバスが接続されたポートBまたはポートAの他方へ転送し送信する(手順S711,S712)。
【0058】
次に、上述の手順S710においてブリッジ507のパケットスイッチング部1306によりマルチキャストアドレス「A1」に対応したチャンネルが接続されている場合に、ブリッジ507が上述の手順S802においてチャンネルの管理を委譲する旨のメッセージを受信したときの動作を説明する。
手順S802において、ブリッジ507がバスα(バス509)からポートAを通して委譲のメッセージを受信した場合、このメッセージをパケット解析部1305とパケットスイッチング部1306に転送する。パケットスイッチング部1306は、このメッセージがブロードキャストされているため、このメッセージを反対側のポートBへ転送してバスβ(バス510)へ送信する。
【0059】
パケット解析部1305では、このメッセージのノードの識別番号からブリッジ507に直接接続されたバスからの委譲メッセージであることを認識し、ノードの識別番号「バス509の識別番号とノード501の識別子」、チャンネル番号「C1」、及び宛先アドレス「A1」からなる情報を記憶部1302へ記憶する(手順S803)。この手順S803での記憶と同時に、タイマ部1303でタイマを起動させ、チャンネルの管理を引き継ぐノードからの応答を受け付けるために予め設定された時間(Ta)の経過を計時する。
【0060】
次に、上述の手順S802においてブリッジ507が委譲メッセージを受信した後、手順S804においてチャンネル間を切断する場合の動作を説明する。
上述の手順S803での処理以後、ブリッジ507は、ノードの識別番号601内のバスの識別番号が「バス509の識別番号」かつ宛先アドレス604が「A1」でありメッセージのタイプ602が「送信ノードからの報告」もしくは「受信ノードからの報告」である情報を含むメッセージを、タイマ部1303がタイムアウトするまでに受信しない場合、パケットスイッチグ部1306に対してチャンネル間の転送の切断を行う(手順S804)。
【0061】
以上説明したように、本実施の形態1によれば、IEEE1394の機能を備えた複数のノードと、ブリッジを介して接続された複数のバスを持つネットワークにおいて、複数のノードがマルチキャストグループに参加して互いに通信を行う場合、ブリッジがマルチキャストグループ用に使用されているチャンネル間を接続することで、ブリッジを介して複数のバス間でマルチキャストグループ宛のパケット転送が可能となる。
また、マルチキャストグループ用にチャンネルが確保され、そのチャンネルを使用して同一のマルチキャストグループ宛のパケットの送信が行われているバスが二つある場合、これら二つのバスを接続しているブリッジが、各バスにおいてマルチキャストグループ用に確保されたチャンネルを対応付け、これらのチャンネル間を接続するので、ブリッジを介したマルチキャストによるパケットの通信が可能となる。
【0062】
さらに、ブリッジは同一のマルチキャストグループで使用される複数のバスを互いに接続するので、ブリッジを介して接続された複数のバス上の各ノードは、ブリッジの存在を意識することなく、マルチキャストによるパケット転送を行うことが可能となる。
さらにまた、マルチキャストグループに参加するノードが存在せず、かつマルチキャストグループ宛のパケットの経路とならないバスでは、マルチキャストグループ用のチャンネルを確保せず、パケットも転送しないため、IEEE1394に準じたネットワークを効率的に使用することが可能となる。
さらにまた、本実施の形態1では、マルチキャストグループに参加するノードが存在するバス509及びバス510でのみチャンネルが確保され、パケットの転送もバス509及びバス510でしか行われない。
【0063】
<実施の形態2>
以下、本発明に係る実施の形態2を説明する。
本実施の形態2に係るパケット通信方法および装置は、通信経路の途中にチャンネルを確保していないバスが存在する場合にマルチキャストによるパケット転送を可能とするものである。本実施の形態2に係るネットワークの構成は、図5に示す上述の実施の形態1に係るものと同様であり、使用するメッセージのフォーマットも、図6に示す実施の形態1に係るものと同様である。以下、実施の形態1と異なる部分を中心に説明する。
【0064】
以下、図6を参照しながら、図1に示すノード501とノード505とが同一のマルチキャストグループに参加してパケットを送信する場合を想定し、ブリッジ507に接続されたバス509とブリッジ508に接続されたバス511との間でマルチキャストグループ宛のパケットの送受信を行う場合を説明する。
図6は、本発明の実施の形態2において、マルチキャストグループに参加するノードが存在しないバスを挟んで通信を開始する場合の手順を示す。同図において、上述の実施の形態1に係る図3に示す手順と共通する手順については、同一符号を付す。
【0065】
まず、上述の実施の形態1と同様に、ノード501は、マルチキャストグループ宛にパケットを送信する場合、このマルチキャストグループ用にチャンネルが確保されているかどうかを問い合わせる旨のメッセージを送信する(手順S701)。このメッセージ内の値は、ノードの識別番号601が「バス509の識別番号とノード501の識別子」、メッセージタイプ602が「問い合わせ」、宛先アドレス604が「A1」とされる。このメッセージに対して何の応答もなかった場合、ノード501は、バス内全てのチャンネルを管理するIRMであるノード502からチャンネル「C1」を取得するための処理を行ない、チャンネルを確保する(手順S702)。
【0066】
続いて、上述の手順S702の以降、ノード501は、定期的にマルチキャストグループとチャンネルとの対応関係に関するチャンネル対応情報を報告するためのメッセージをブロードキャストする(手順S703)。このメッセージ内の値は、ノードの識別番号601が「バス509の識別番号とノード501の識別子」、メッセージタイプ602が「送信ノードからの報告」、チャンネル番号が「C1」、宛先アドレスが「A1」とされる。
【0067】
また、上述の手順S703で送信ノードから送信されたメッセージを受信したブリッジ507とブリッジ508は、この送信ノードからのメッセージを解析し、このメッセージの中に含まれているノードの識別番号「バス509の識別番号とノード501の識別子」、メッセージタイプ「送信ノードからのメッセージ」、チャンネル番号「C1」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ブリッジ508のポートA」もしくは「ブリッジ508のポートA」からなる情報を記憶する(手順S704)。そして、ノード501は、上述の手順S702で確保したチャンネル「C1」を使用してアシンクロナス・ストリーム・パケットの送信を開始する(手順S705)。
【0068】
次に、バス511内のノード505が、ノード501と同様にマルチキャストグループ宛のパケットの送信を開始する場合、まず、このマルチキャストグループ用にチャンネルが確保されているか否かの問い合わせのメッセージを送信する(手順S901)。このメッセージ内の各情報の値は、ノードの識別番号601が「バス511の識別番号とノード505の識別子」、メッセージタイプ602が「問い合わせ」、宛先アドレス604が「A1」とされる。このメッセージに対して何の応答もなかった場合、ノード505は、IRMであるノード506からチャンネルを取得するための処理を行い、チャンネル「C3」を確保する(手順S902)。この手順902の以降、ノード505は、定期的にチャンネル対応情報を報告するためのメッセージをブロードキャストする(手順S903)。このメッセージ内の各情報の値は、ノードの識別番号601が「バス511の識別番号とノード505の識別子」、メッセージタイプ602が「送信ノードからの報告」、チャンネル番号603が「C3」、宛先アドレス604が「A1」とされる。
【0069】
上述の手順S903で送信されたメッセージを受信したブリッジ507とブリッジ508は、このメッセージの内容を解析し、このメッセージの中に含まれているノードの識別番号「バス511の識別番号とノード505の識別子」、チャンネル番号「C3」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ブリッジ507のポートB」または「ブリッジ508のポートB」からなる情報を抽出し、以前に手順S703で反対側のポートAからメッセージを受信して手順S704で得られた情報と比較を行う。
【0070】
そして、これら二つのメッセージの中の宛先アドレス604が一致し、受信したポートが異なり、メッセージタイプ602が両方とも「受信ノードからの報告」ではなく、片方のメッセージの送信者がチャンネルが確保されていないバス(すなわち送信ノードの存在しないバス510)を隔てたバスに存在した場合、ブリッジ507とブリッジ508は、送信ノードの存在しないバス510でマルチキャストグループ用のチャンネルを確保するための処理をそれぞれ開始する(手順S904)。換言すれば、ブリッジは、マルチキャストグループに参加するノードが存在しないバスを挟んで互いに隔てられたバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、このマルチキャストグループに参加するノードが存在しないバスに、このマルチキャストグループで使用されるべきチャンネルを確保するための処理(チャンネル確保処理)を開始する。
【0071】
上述の手順S904でのチャンネル確保処理の開始と同時に、ブリッジ507は、バス510でこのマルチキャストグループ用にチャンネルが確保されているかどうかを問い合わせる旨の問い合わせメッセージをブロードキャストする(手順S905)。このメッセージ内の各情報の値は、ノードの識別番号601が「バス510の識別番号とブリッジ507の識別子」、メッセージタイプ602が「問い合わせ」、宛先アドレス604が「A1」とされる。同様の手続きに基づき、ブリッジ508もバス510でこのマルチキャストグループ用にチャンネルが確保されているかどうか問い合わせる旨の問い合わせメッセージをブロードキャストする(手順S906)。このメッセージ内の値は、ノードの識別番号601が「バス510の識別番号とブリッジ508の識別子」、メッセージタイプ602が「問い合わせ」、宛先アドレス604が「A1」とされる。
【0072】
ブリッジ507は、上述の手順S904でのチャンネルを確保するための処理の開始後、バス上の問い合わせメッセージを監視し、上述の手順S906で送信された問い合わせメッセージを受信した場合、ノードの識別番号601内のバスの識別子が一致し、宛先アドレス604が一致したならば、このメッセージに含まれるノードの識別番号と自分のノードの識別番号を比較する。そして、この比較の結果、自分のノードの識別番号の方が大きかったならば、マルチキャストグループ用にIRMからのチャンネルの取得を通常通り行い、逆に自分のノードの識別番号の方が小さかったならば、マルチキャストグループ用にIRMからチャンネルを取得するための処理を行うまでの待ち時間を延長する。これは二つのノードが重複して同じマルチキャストグループ用にチャンネルを確保することを防ぐためである。本実施の形態2では、ブリッジ507の持つノードの識別番号の方が大きいものとする。
【0073】
同様にブリッジ508は、上述の手順S904でのチャンネルを確保するための処理の後、バス上の問い合わせメッセージを監視し、上述の手順S905で送信された問い合わせメッセージを受信した場合、ノードの識別番号601内のバス識別子が一致し、宛先アドレス604が一致したならば、このメッセージに含まれるノードの識別番号と自分のノードの識別番号を比較する。この比較の結果、自分のノードの識別番号の方が大きかったならば、マルチキャストグループ用にIRMからのチャンネルの取得を通常通り行い、逆に自分のノードの識別番号の方が小さかったならば、マルチキャストグループ用にIRMからチャンネルを取得するための処理を行うまでの待ち時間を延長する。本実施の形態2では、ブリッジ507の持つノード識別番号が大きいので、ブリッジ508が、チャンネルを確保するための処理を行うまでの時間を延長し、ブリッジ507がIRMからチャンネル「C2」を確保するための処理を先に行う(手順S907)。
なお、上述の例では、ノードの識別番号の大きい方がIRMからチャンネルを取得するための処理を通常通り行うこととしたが、逆に、小さい方が当該処理を行うこととしても良い。また、乱数を用いて、当該処理を行うブリッジを決定しても良い。
【0074】
上述の手順S907での処理の後、ブリッジ507は、定期的にチャンネル対応情報を報告するためのメッセージをブロードキャストする(手順S908)。このメッセージ内の各情報の値は、ノードの識別番号601が「バス510の識別番号とブリッジ507の識別子」、メッセージタイプ602が「受信ノードからの報告」、チャンネル番号603が「C2」、宛先アドレス604が「A1」とされる。また、ブリッジ507は、チャンネルを確保したバス510への手順S908でのメッセージの送信とチャンネルを確保したのと異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続する。なお、手順S908でのメッセージはブロードキャストパケットであるため、チャンネルを確保していないバス509へも送信されるが、ブリッジ507が行うチャンネル間の接続のための条件とはならない。具体的には、ブリッジ507は、手順S704で記憶されたバス509のチャンネル「C1」と手順S908で送信されたメッセージに含まれるバス510のチャンネル「C2」とを互いに接続する(手順S909)。ブリッジ508でも、同様の手続きに基づき、手順S908で送信されたメッセージを受信した時点で手順S704で記憶されているバス511のチャンネル「C3」と手順S908で送信されたメッセージに含まれているチャンネル「C2」とを互いに接続する(手順S909)。
【0075】
ノード501から送信される宛先アドレス「A1」宛のパケットは、アシンクロナス・ストリーム・パケットとしてチャンネル「C1」へ送信される。ブリッジ507は、このバス509内のチャンネル「C1」のアシンクロナス・ストリーム・パケットをバス510のチャンネル「C2」に転送する。ブリッジ508は、このバス510内のチャンネル「C2」のアシンクロナス・ストリーム・パケットをバス511のチャンネル「C3」に転送する(以上手順S910)。
同様に、ノード505から送信される宛先アドレス「A1」宛のパケットは、アシンクロナス・ストリーム・パケットとしてチャンネル「C3」へ送信される。ブリッジ508は、このバス511内のチャンネル「C3」のアシンクロナス・ストリーム・パケットをバス510のチャンネル「C2」へ転送する。ブリッジ507は、このバス510内のチャンネル「C2」のアシンクロナス・ストリーム・パケットをバス509のチャンネル「C1」へ転送する(以上手順S911)。
【0076】
次に、図7を参照しながら、マルチキャストによるパケット転送を停止する場合のパケット通信方法の手順を説明する。
図7は、本発明の実施例2において、バス509とバス510とバス511との間で互いに通信を行っている状態から通信を停止する場合の手順を示す。同図において、上述の実施の形態1に係る図4に示す手順と共通する手順については、同一符号を付す。
まず、上述の図6に示す手続きに基づきノード501とノード505との間で通信を行っている状態から、ノード501がパケットの送信を中止する(手順S801)。この手順S801での中止の処理にあわせてノード501は、このマルチキャストグループ用のチャンネルの管理を委譲するための通知であるメッセージをブロードキャストする(手順S802)。このメッセージ内の各情報の値は、ノードの識別番号601が「バス509の識別番号とノード501の識別子」、メッセージタイプ602が「委譲」、チャンネル番号603が「C1」、宛先アドレス604が「A1」とされる。
【0077】
上述の手順S802で送信されたメッセージを受信したブリッジ507は、この委譲のメッセージを解析し、ノードの識別番号内のバスの識別子がブリッジ507に直接接続されているバスのものであった場合には、ノードの識別番号「バス509とノード501の識別子」、チャンネル番号「C1」、及び宛先アドレス「A1」からなる情報を記憶する(手順S803)。この手順S803での記憶の処理以後、ブリッジ507は、委譲のメッセージを受信してから一定時間Ta内に、ノードの識別番号601内のバスの識別番号が「バス509」であり、宛先アドレス604が「A1」であり、メッセージタイプ602が「送信ノードからの報告」もしくは「受信ノードからの報告」である情報を含むメッセージを受信しない場合、バス509とバス510との間を切断する(手順S804)。このとき、記憶部1302に記憶されたチャンネルC1とC2が接続されているという情報を消去する。
【0078】
そして同時に、ブリッジ507は、このチャンネルの切断の後、バス510で確保していたマルチキャストグループ用のチャンネル「C2」を返却し、このチャンネルを解放するための処理を開始する(手順S1001)。また、この手順S1001でのチャンネルを返却・解放するための処理の開始と同時に、ブリッジ507は、チャンネルの管理を委譲するためのメッセージをブロードキャストする(手順S1002)。このメッセージ内の各情報の値は、ノードの識別番号601が「バス510の識別番号とブリッジ507の識別子」、メッセージタイプ602が「委譲」、チャンネル番号603が「C2」、宛先アドレス604が「A1」とされる。
【0079】
この委譲のメッセージを受信したブリッジ508は、このメッセージを解析し、ノードの識別番号内のバスの識別子がブリッジ508に直接接続されているバスのものであった場合には、ノードの識別番号「バス510とブリッジ507の識別子」、チャンネル番号「C2」、及び宛先アドレス「A1」からなる情報を記憶する(手順S1003)。この手順S1003での記憶の処理以後、ブリッジ508は、委譲のメッセージを受信してから一定時間Ta以内に、ノードの識別番号601内のバスの識別子が「バス510」かつ宛先アドレス604が「A1」であり、メッセージタイプ602が「送信ノードからの報告」もしくは「受信ノードからの報告」である情報を含むメッセージを受信しない場合、バス510とバス511とのチャンネル間を切断する(手順S1004)。
【0080】
また、ノード501は、手順S802でメッセージをブロードキャストし、手順S804でブリッジ507によるチャンネルの切断が終了した後、マルチキャストグループアドレス用に確保していたチャンネル「C1」をIRMであるノード502へ返却する(手順S805)。
同様に、ブリッジ507は、手順S1002でメッセージをブロードキャストし、手順S1004でブリッジ508によるチャンネルの切断が終了した後、マルチキャストグループアドレス用に確保していたチャンネル「C2」をIRMであるノード504へ返却する(手順S1005)。
上述の手順1004でのブリッジ508によるチャンネルの切断が終了した後、ノード506からのマルチキャストグループ宛の送信パケットは、ブリッジ508で転送されず、バス511内で転送される。
【0081】
以下、図5を援用して、本実施の形態2に係るブリッジの構成および動作を詳細に説明する。
本実施の形態2に係るブリッジの構成は、上述の図5に示す実施の形態1に係るブリッジ1301と同様に、記憶部1302、タイマ部1303、パケット生成部1304、パケット解析部1305及びパケットスイッチグ部1306から構成され、パケットはポートA及びポートBを通じてバスα(バス509またはバス510の何れか)とバスβ(バス510またはバス511の何れか)に対してそれぞれ送受信される。本実施の形態2におけるブリッジ1301の各構成要素の機能については、以下の動作の説明で明らかにする。
【0082】
まず、上述の図6に示す手順S703において、ブリッジ507がチャンネル対応情報を受信した場合の動作を説明する。
上述の手順S703において、ブリッジ1301(ブリッジ507)では、バスα(バス509)が接続されたポートAから受信したチャンネル対応情報は、パケットスイッチング部1306とパケット解析部1305に送られる。パケットスイッチング部1306では、このチャンネル対応情報を受け取ると、転送先のバスβ(バス510)内でこのマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であるかについて、IRMに問い合わせることにより、検査を行う。そして、このマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、この対応情報を含むメッセージをポートBへ転送しバスβ(送信先のバス510)へ送信する。この検査の理由は、前述したように、チャンネルの効率的な利用を図るためである。
【0083】
パケット解析部1305では、上述の手順S703においてバスα(バス509)が接続されたポートAから受信したチャンネル対応情報を受け取ると、このチャンネル対応情報の中に含まれているノードの識別番号「バス509の識別番号とノード501の識別子」、メッセージタイプ「送信ノードからの報告」、チャンネル番号「C1」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ポートA」からなる情報を抽出すると共に、記憶部1302に何か記憶されていないか検査を行う。この時点では、記憶部1302に何も記憶されていないので、抽出した情報を記憶部1301へ記憶する(手順S704)。
【0084】
次に、上述の手順S903において、ブリッジ507がマルチキャスト用のチャンネルの対応情報の報告のメッセージを受信した場合の動作を説明する。
上述の手順S903においてバスβ(バス510)が接続されたポートBから受信したマルチキャスト用のチャンネルの対応情報は、パケットスイッチング部1306とパケット解析部1305に送られる。パケットスイッチング部1306では、このチャンネル対応情報を受け取ると、転送先のバスα内でこのマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であるかについて、IRMに問い合わせることにより、検査を行う。そして、このマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、このチャンネル対応情報を含むメッセージをポートAへ転送してバスα(バス509)へ送信する。
【0085】
パケット解析部1305では、上述の手順S903においてポートBから受信したチャンネル対応情報を受け取ると、このチャンネル対応情報の中に含まれているノードの識別番号「バス511の識別番号とノード505の識別番号」、メッセージタイプ「送信ノードからの報告」、チャンネル番号「C3」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ポートB」からなる情報を抽出しすると共に、記憶部1302に何か記憶されているか検査を行う。この時点では、記憶部1302に手順S703で対応情報が受信されたことが手順S704で記憶されているので、これら二つの情報の比較を行う。すなわち、パケット解析部1305は、新たに受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報と記憶部1302に既に記憶されたチャンネル対応情報との比較を行う。
【0086】
そして、パケット解析部1305では、この比較の結果、宛先アドレス604が一致し、受信したポートが異なるメッセージであり、メッセージタイプ602が何れも「受信ノードからの報告」でなかった場合、管理ノードの存在しないバスβ(バス510)でマルチキャストグループ用のチャンネルを確保するための処理を開始する(手順S904)。ただし、チャンネルを確保する処理を開始するための条件として、この例に限定されることなく、必要な事項を適宜設定すればよい。この手順S904での処理開始時に、パケット生成部1304では、バスβ(バス510)でチャンネルを管理しているノードが存在しないかについて確認を行うため、チャンネルの問い合わせメッセージを送信する(手順S905)。また、タイマ部1303では、手順S905で送信されたチャンネルの問い合わせメッセージに対する応答待ち状態のタイムアウトを検出するため、タイマを起動させる。
【0087】
次に、上述の手順S905においてブリッジ507がチャンネルの問い合わせメッセージを送信し、この問い合わせメッセージに対する応答待ち状態であるときに、手順S906においてブリッジ508から同様の問い合わせメッセージを受信した場合の動作を説明する。
手順S906においてバスβ(バス510)に接続されたポートBから受信したチャンネルの問い合わせメッセージは、パケットスイッチング部1306とパケット解析部1305へ送られる。パケットスイッチング部1306では、このメッセージがブロードキャストグループ宛であるために、メッセージをポートAへ転送してバスα(バス509)へ送信する。
【0088】
また、パケット解析部1305では、手順S906で受信したメッセージ内のノードの識別番号601、メッセージタイプ602及び宛先アドレス604から、このメッセージが上述の手順S905で送信したチャンネルの問い合わせメッセージと同一のものであることを把握する。これらのメッセージが同一であった場合、手順S905でのメッセージと手順S906でのメッセージのノードの識別番号601を比較する。ここで、ブリッジ507のノードの識別番号の方がブリッジ508のノードの識別番号よりも大きい場合には何も行わず、逆にブリッジ507の識別番号の方が小さい場合には、タイマ部1303のタイマを遅延させ、手順S905で送信したチャンネルの問い合わせメッセージに対する待ち状態を延長する。本実施の形態2では、ブリッジ508のノードの識別番号の方が小さく、このブリッジ508のタイマが延長され、ブリッジ507のタイマはそのままとする。
【0089】
このように、何れかのブリッジでタイマ部1303のタイマを遅延させることにより、ブリッジ507とブリッジ508とが、バス510にチャンネルを確保する際に、何れかのブリッジが優先され、同一のバス510で重複してチャンネルが確保されることが防止される。この例では、各ブリッジのノードの識別番号に応じて何れかのブリッジのタイマを遅延させるものとしたが、例えば乱数を用いて各ブリッジのタイマの遅延量を設定することにより、何れかのブリッジでチャンネルを優先的に確保するものとしてもよく、チャンネルの確保が重複して行われない限度において、タイマの設定をどのように行ってもよい。
【0090】
次に、上述の手順S905において、ブリッジ507が送信したチャンネルの問い合わせメッセージに対する応答の待ち状態からタイムアウトした場合の動作を説明する。
ブリッジ507において、タイマ部1303がタイムアウトした場合、パケット生成部1304は、チャンネルを確保するためのパケットを生成し(手順S907)、バス510内のIRMであるノード504からチャンネルを取得する処理を行う(手順S907)。そして、ブリッジ507は、ノード504からチャンネルの取得完了の通知を受け取ると、チャンネルの確保の処理を完了する。ただし、ブリッジ507自身がIRMである場合には、チャンネルを確保するためのパケットの生成は行わず、チャンネル確保処理をブリッジ507の内部で行う。
【0091】
次に、手順S908において、ブリッジ507がマルチキャスト用のチャンネル対応情報をブロードキャスト送信するときの動作を説明する。
上述のチャンネルの確保完了通知を受信したブリッジ507のパケット解析部1305は、パケットスイッチング部1306に対してチャンネル間の接続を指示する(手順S909)。パケットスイッチング部1306では、パケット解析部1305からの指示を受けると、チャンネル対応情報で示される各チャンネル間を接続する。すなわち、パケットスイッチング部は、受信したメッセージの送信先のバス内でマルチキャスト用のチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、このメッセージを送信先のバスへ転送すると共に、パケット解析部1305での比較の結果、宛先アドレスが一致し、かつ受信したポートが異なる場合、チャンネル対応情報で示される各チャンネルを互いに接続する。さらに、パケット解析部1305は、パケット生成部1304へはチャンネル確保完了を通知し、チャンネル対応情報の報告を行うためのメッセージを生成する。上記の接続するチャンネルの情報は、記憶部1302に記億される。
【0092】
手順S908においてパケット生成部1304で生成されたメッセージは、各ポートへ転送されて各バスに送信される。ただし、この手順S908でのメッセージがマルチキャスト用のチャンネル対応情報の報告であるため、ブリッジ507がチャンネルの確保を行っていない転送先のバスα(バス509)側でこのマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能であるかについて、IRMに問い合わせることにより、検査を行う。ここで、このマルチキャストグループ用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、このメッセージをポートAへ転送してバスα(バス509)へ転送する。これ以後、ブリッジ507に接続された両バス間でマルチキャストグループ「A1」宛のパケットを転送することが可能となる。上記の接続するチャンネルの情報は、記憶部1302に記憶される。
【0093】
次に、上述の手順S909においてブリッジ507のパケットスイッチング部1306がマルチキャストアドレス「A1」に対応したチャンネルが接続されている場合に、手順S910,S911においてマルチキャストグループ宛のデータの送信を行う場合の動作を説明する。
ブリッジ1301(ブリッジ507)では、このマルチキャストグループ宛のパケットは、ポートAまたはポートBの一方から受信し、パケット解析部1305とパケットスイッチング部1306へ送られる。パケット解析部1305は、マルチキャストデータを処理せずに破棄する。また、パケットスイッチング部1306は、上述の手順S909において、それぞれのパケットを受信したチャンネル間の接続が完了しているので、チャンネルの変換を行い反対側のバスが接続されたポートBまたはポートAの他方へ転送し送信する(手順S910,S911)。
【0094】
次に、上述の手順909においてブリッジ507及びパケットスイッチング部1306によりマルチキャストアドレス「A1」に対応したチャンネルが接続されている場合に、ブリッジ507が上述の手順S802においてチャンネルの管理を委譲する旨のメッセージを受信したときの動作を説明する。
手順S802においてチャンネルの管理を委譲するメッセージを受信した後、一定時間Ta内に、ノードの識別番号601内のバスの識別番号が「バス509の識別番号」かつ宛先アドレス「A1」であり、メッセージタイプが「送信ノードからの報告」もしくは「受信ノードからの報告」である情報を含むメッセージを受信しない場合、タイマ部1303は、一定時間Ta後にタイムアウトし、マルチキャストグループ用のチャンネルを返却するためのチャンネル返却処理を開始させる(手順S1001)。
【0095】
この手順S1001でのチャンネル返却処理では、第1に、チャンネルスイッチング部1306でバス間のチャンネル転送を行う(手順S804)。第2に、パケット生成部1304でマルチキャストグループ用のチャンネルの管理を委譲する旨のメッセージを生成し、このメッセージを各ポートにブロードキャストする(手順S1002)。第3に、手順S1002でのチャンネル管理の委譲の通知のタイムアウトを検出するため、タイマ部1303にタイマを起動させる。
【0096】
次に、ブリッジ507がマルチキャストグループ「A1」のためのチャンネルの返却を行うための動作を説明する。
手順S1002においてチャンネル管理の委譲の通知を送信後、ノードの識別番号601内のバスの識別番号が「バス510の識別番号」かつ宛先アドレス「A1」であり、メッセージタイプが「送信ノードからの報告」もしくは「受信ノードからの報告」の情報を含むメッセージを受信しない場合、タイマ部1303がタイムアウトし、パケット生成部1304がチャンネルをIRMに返却するためのパケットを生成し送信する(手順S1005)。そして、チャンネルの返却が完了した通知をブリッジ507がIRMから受信して、チャンネルの返却処理が完了する。ただし、ブリッジ507自身がIRMであった場合には、チャンネルを返却するためのパケットの生成は行わず、チャンネルの返却処理をブリッジ507の内部で行う。
【0097】
本実施の形態2によれば、マルチキャストグループに参加するノードが存在するバス509及びバス511でのみチャンネルを確保してパケットの転送を行うのではなく、途中の経路にあたるバス510でもチャンネルが自動的に確保され、これにより、バス509とバス511との間で互いにパケットの転送が可能となる。すなわち、マルチキャストグループ宛のパケットの通信経路上にあるバスで、マルチキャストグループ用にチャンネルが確保されていなかった場合、このチャンネルが確保されていないバスに接続されたブリッジが自動的にチャンネルの確保を行うので、チャンネルが確保されていないバスが通信経路の途中にあったとしても、マルチキャストによるパケットの通信が可能となる。
また、本実施の形態2によれば、上述の実施の形態1と同様に、マルチキャストグループに参加するノードが存在せず、かつマルチキャストグループ宛のパケットの経路とならないバスでは、マルチキャストグループ用のチャンネルを確保せず、パケットも転送しないため、IEEE1394に準じたネットワークを効率的に使用することが可能となる。
【0098】
<実施の形態3>
以下、本発明に係る実施の形態3を説明する。
本実施の形態3に係るパケット通信方法および装置は、送信ノードが存在するバスと受信ノードしか存在しないバスとの間でのパケット転送を可能とするものである。本実施の形態2に係るネットワークの構成は、図1に示す上述の実施の形態1に係るものと同様であり、使用するメッセージのフォーマットも、図2に示す実施の形態1に係るものと同様である。以下、実施の形態1と異なる部分を中心に説明する。
【0099】
まず、図8を参照しながら、マルチキャストによるパケット転送を開始する場合のパケット通信方法の手順を説明する。
図8は、本発明の実施の形態3において、マルチキャストグループ宛に送信するノードが存在するバスと、マルチキャストグループ宛に送信するノードが存在しないバスとの間で通信を開始する場合の手順を示す。同図において、上述の実施の形態1に係る図3に示す手順と共通する手順については、同一符号を付す。本実施の形態3では、ノード501がマルチキャストグループ宛のパケットを送信し、ノード503がマルチキャストグループ宛のパケットを受信する場合を想定し、ブリッジ507に直接接続されたバス間でマルチキャストグループ宛のパケットの送受信を行うものとする。
【0100】
実施の形態1と同様に、ノード501は、マルチキャストグループ宛にパケットを送信する場合、このマルチキャストグループ用にチャンネルが確保されているかどうかを問い合わせる旨のメッセージを送信する(手順S701)。この手順S701で送信されるメッセージ内の各情報の値は、ノードの識別番号601が「バス509の識別番号とノード501の識別子」、メッセージタイプ602が「問い合わせ」、宛先アドレス604が「A1」とされる。この手順701で送信されたメッセージに対して何の応答もなかった場合、ノード501は、バス内全てのチャンネルを管理するIRMであるノード502からチャンネルを取得する処理を行ない、このチャンネル「C1」を確保する(手順S702)。
【0101】
このチャンネル「C1」を確保するための処理以降、ノード501は、定期的にマルチキャストグループとチャンネルとの対応関係を示すチャンネル対応情報を報告するためのメッセージをブロードキャストする(手順S703)。この手順S703でのメッセージ内の各情報の値は、ノードの識別番号601が「バス509の識別番号とノード501の識別子」、メッセージタイプ602が「送信ノードからの報告」、チャンネル番号603が「C1」、宛先アドレス604が「A1」とされる。
【0102】
また、手順S703で送信されたメッセージを受信した各ブリッジは、このメッセージの送信ノードからの報告を解析し、このメッセージの中に含まれているノードの識別番号「バス509の識別番号とノード501の識別子」、メッセージタイプ「送信ノードからの報告メッセージ」、チャンネル番号「C1」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ブリッジ507のポートA」もしくは「ブリッジ508のポートA」からなる情報を記憶する(手順S704)。そして、ノード501は、確保したチャンネル「C1」を使用して、アシンクロナス・ストリーム・パケットの送信を開始する(手順S705)。
【0103】
次に、バス510内のノード503は、マルチキャストグループ宛のパケットを受信するため、このマルチキャストグループに参加する(手順S1101)。これ以後、ノード503は、マルチキャスト用のチャンネル対応情報を含むメッセージを待つ。ノード501は、上述の手順S703で定期的にメッセージをブロードキャストしている。ノード503は、このメッセージを受信すると、このメッセージを解析し、ノードの識別番号内のバスの識別子がノード503の存在するバス以外のものであり、メッセージタイプ602が「送信ノードからの報告」、宛先アドレス604が「A1」であった場合、マルチキャストグループ用チャンネルを確保するための処理を開始する(手順S1102)。
【0104】
上述の手順S1102でチャンネルの確保の処理を開始すると同時に、ノード503が存在するバス510内で、このマルチキャストグループ用にチャンネルが確保されているかどうか問い合わせるためのメッセージをブロードキャストする(手順S1103)。このメッセージ内の各情報の値は、ノードの識別番号601が「バス510の識別番号とノード503の識別子」、メッセージタイプ602が「問い合わせ」、宛先アドレス604が「A1」とされる。このメッセージに対して何の応答もなかった場合、ノード503は、IRMであるノード504からチャンネルを取得する処理を行ない、チャンネル「C2」を確保する(手順S1104)。
【0105】
続いて、上述の手順S1104での処理以降、ノード503は、定期的にチャンネル対応情報を報告するためのメッセーをブロードキャストする(手順S1105)。このメッセージ内の各情報の値は、ノードの識別番号601が「バス510の識別番号とノード503の識別子」、メッセージのタイプ602が「受信ノードからの報告」、チャンネル番号603が「C2」、宛先アドレス604が「A1」とされる。
【0106】
ここで、上述の手順S1105で送信されたメッセージを受信したブリッジ507は、このメッセージを解析し、このメッセージの中に含まれるノードの識別番号「バス510の識別番号とノード503の識別子」、チャンネル番号「C2」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ブリッジ507のポートB」からなる情報を抽出し、以前に手順S703で反対側のポートAに直接接続されたバスからのメッセージを受信して記憶した情報と、手順S1105でノード503送信された情報との比較を行う。
【0107】
ここで、これら二つの情報中の、宛先アドレス604が一致し、受信しポートが異なり、コードの識別番号601が直接接続されたバスからのメッセージであり、メッセージタイプ602が両方とも「受信ノードからの報告」でない場合、ブリッジ507は、これらの情報に含まれているチャンネル番号603で示される各チャンネルを互いに接続する(手順S1106)。
【0108】
ブリッジ508も手順S1105でノード503から送信されたメッセージを受信し、ブリッジ507と同様に手順S704で記憶した情報と手順S1105で送信された情報とを比較する。このブリッジ508は、それぞれのメッセージを受信したポートが一致するため、チャンネル間の接続は行わず、このメッセージ内のノードの識別番号「バス510の識別番号とノード503の識別子」、メッセージタイプ「受信ノードからのメッセージ」、チャンネル番号「C2」、宛先アドレス「A1」、及びこのメッセージを受信したポート「ブリッジ508のポートA」からなる情報を記憶する(手順S1107)。
【0109】
この後、ノード501から送信される宛先アドレス「A1」宛のパケットは、アシンクロナス・ストリーム・パケットとしてチャンネル「C1」へ送信され、ブリッジ507は、バス509内のチャンネル「C1」のアシンクロナス・ストリーム・パケットをバス510のチャンネル「C2」へ転送する(手順S705)。ノード503は、このバス510に転送されたパケットを受信する。
以上により、バス509内の送信ノード501からブリッジ507を介してバス510内の受信ノード503にマルチキャストグループ宛のパケットの転送が行われる。
【0110】
次に、図9を参照して、マルチキャストによる通信を停止する場合の手順を説明する。
図9は、本実施の形態3において、ブリッジ507を挟んで隣り合うバス間で通信を行っている状態から通信を停止する場合の手順を示す。同図において、上述の実施の形態1に係る図4に示す手順と共通する手順については、同一符号を付す。
まず、上述の図8に示す手続きに基づき、ノード501がマルチキャストグループ宛のパケットを送信し、ノード503がそのパケットを受信している状態から、ノード501がパケットの送信を中止する(手順S801)。この中止に合わせてノード501は、このマルチキャストグループ用のチャンネルの管理を委譲する旨のメッセージをブロードキャストする(手順S802)。このメッセージ内の値は、ノードの識別番号601が「バス509の識別番号とノード501の識別子」、メッセージタイプ602が「委譲」、チャンネル番号603が「C1」、宛先アドレス604が「A1」とされる。
【0111】
上述の手順S802で送信されたメッセージを受信したブリッジ507は、この委譲のメッセージを解析し、このメッセージの中に含まれているノードの識別番号601内のバスの識別子がブリッジ507に直接接続されているバスであった場合には、ノードの識別番号「バス509の識別番号とノード501の識別子」、チャンネル番号「C1」、及び宛先アドレス「A1」からなる情報を記憶する(S803)。また、同じく手順S802で送信されたメッセージを受信したノード503は、この委譲メッセージを解析し、このメッセージの中に含まれているノードの識別番号601内のバスの識別子が、自分が存在するバス510以外のバスのものであった場合、ノードの識別番号「バス509の識別番号とノード501の識別子」、チャンネル番号「C1」、及び宛先アドレス「A1」からなる情報を記憶する(以上、手順S803)。
【0112】
ブリッジ507は、上述の手順803での記憶の処理以後、委譲のメッセージを受信してから一定時間Ta内に、ノードの識別番号601内のバス識別番号が「バス509の識別番号」かつ宛先アドレス604が「A1」であり、メッセージタイプ602が「送信ノードからの報告」である情報を含むメッセージを受信しない場合、バス509とバス510との間の接続を切断する(手順S804)。ノード501は、上述の手順S802でメッセージをブロードキャストし、手順S804でブリッジ507によるチャンネルの切断が終了した後、マルチキャストグループアドレス用に確保していたチャンネル「C1」をIRMであるノード502へ返却し、このチャンネルを解放する(手順S805)。
なお、ブリッジのチャンネル接続動作は、2つの異なるポートから2つとも「受信ノードからの報告」でないメッセージを受信したときに行うが、上述の手順S804の場合、すでに片方のポートから「受信ノードからの報告」を受信している。このため、手順S804では、ブリッジがチャンネル接続のトリガーとして受け付ける報告は「送信ノードからの報告」だけであり、「送信ノードからの報告」を受信しない場合にはチャンネルを切断する。
【0113】
ノード503は、上述の手順803での記憶の処理以後、委譲のメッセージを受信してから一定時間Tb(>Ta)内に、ノードの識別番号601内のバス識別番号が「バス509の識別番号」かつ宛先アドレス604が「A1」であり、メッセージタイプ602が「送信ノードからの報告」である情報を含むメッセージを受信しない場合、すなわち、バス509内でチャンネルの管理を引き継ぐ他のノードが現れない場合、バス501内でマルチキャストグループ用に確保していたチャンネルを解放・返却するための手続きを開始する(手順S1201)。ここで、時間Tbは時間Taよりも長く設定される。この理由は、バス509でのチャンネルの管理を引き継ぐノードが現れないことが確定した後にバス510のチャンネルを委譲するためである。
なお、受信だけを行っているノードがチャンネル確保の開始処理を行うのは、他のバスからの「送信ノードからの報告」をトリガーとしている。そこで、この場合もチャンネル解放中止のトリガーとなるのは「送信ノードからの報告」だけとなる。
【0114】
ノード503は、上述の手順S1201でのチャンネルの解放・返却の手続きの開始と同時に、チャンネルの管理を委譲するための通知であるメッセージをブロードキャストする(手順S1202)。
その後、一定時間Tc内に、ノードの識別番号601内のバス識別番号が「バス510の識別番号」かつ宛先アドレス604が「A1」であり、メッセージタイプ602が「送信ノードからの報告」もしくは「受信ノードからの報告」である情報を含むメッセージを受信しない場合、マルチキャストグループ用に確保していたチャンネルを解放・返却する(手順S1203)。
【0115】
次に、本実施の形態3に係る受信ノード503の構成および動作を詳細に説明する。
図10は、ノード503の構成を示す。受信のみを行うノード503は、記憶部2102、パケット送受信部2101、タイマ部2103、パケット生成部2104及びパケット解析部2105から構成され、パケットは、パケット送受信部2101を通じてバス510へ送受信される。本実施の形態3に係るノード503の各構成要素の機能については、以下の動作の説明で明らかにする。
まず、手順S703においてノード503がマルチキャストグループ用のチャンネル対応情報の報告を受信したときの動作を説明する。チャンネル対応情報を含むメッセージを受信したノード503は、受信したメッセージをパケット解析部2105に送る。そして、このメッセージがノードの識別番号内のバス識別子がノード503の存在するバス以外を示し、メッセージタイプ602が「送信ノードからの報告」、宛先アドレスが「A1」であった場合、パケット解析部2105は、マルチキャストグループ用のチャンネルを確保するための処理(チャンネル確保処理)を開始する(手順S1102)。
【0116】
上述の手順S1102でのチャンネル確保処理では、ノード503が直接接続されたバスでこのマルチキャストグループ「A1」用にチャンネルが確保されているかどうかの問い合わせを行うため、パケット生成部2104でチャンネルの問い合わせメッセージを生成し送信する(手順S1103)。また、このチャンネルの問い合わせメッセージのタイムアウトを検出するために、タイマ部2103でタイマを起動する。
【0117】
次に、ノード503がマルチキャストグループ用のチャンネルを確保するときの動作を説明する。手順S1103においてチャンネルの問い合わせメッセージの送信以後、マルチキャストグループのチャンネルの対応情報の報告を受信せず一定時間経過し、タイマ部2103がタイムアウトした場合、パケット生成部2104でチャンネルを確保するためのパケットを生成し、IRMであるノード504に対してチャンネルの確保を行う(手順S1104)。IRMからチャンネルの確保完了の通知が返ってくることにより、チャンネルの確保の一連の処理が終了する。ただし、ノード503自身がIRMであった場合には、チャンネルを確保するためのパケットの生成は行わず、チャンネルの確保処理をノード503の内部で行う。
【0118】
次に、ノード503がチャンネルの確保処理を完了し、チャンネルの対応情報の報告を送信する動作を示す。ノード503は、チャンネル確保完了の通知をパケット解析部2105で検出した場合、パケット生成部2104に対してマルチキャスト用のチャンネル確保の完了を通知し、パケット生成部2104では、マルチキャストグループと確保したチャンネルとの対応関係を示すチャンネル対応情報をブロードキャストする(手順S1105)。また、パケット解析部2105は、パケット送受信部2101に対して、確保したチャンネルの受信を開始するように通知する。これにより、確保したチャンネルからこのマルチキャストグループ宛のパケットが受信可能となる。
【0119】
次に、手順S802においてノード503がこのマルチキャストグループ用のチャンネルの管理を委譲する旨を通知するメッセージを受信した場合の動作を説明する。ノード501から受信した委譲のメッセージは、パケット解析部2105に転送され、このメッセージの中に含まれているノード識別番号601内のバスの識別子が、自分の存在するバス510以外のバスのものである場合、ノードの識別番号601が「バス509の識別番号とノード501の識別番号」、チャンネル番号603が「C1」、及び宛先アドレスが「A1」からなる情報を記憶する(手順S803)。この手順S803での記憶と同時に、タイマ部2103は、チャンネルを返却するためのチャンネル返却処理を開始するためのタイマを起動する。
【0120】
次に、ノード503がチャンネル返却処理を開始するときの動作を説明する。上述の手順S802において、他のバスから委譲のメッセージを受信した後、ノード503のノードの識別番号601内のバスの識別番号が「バス509の識別番号」かつ宛先アドレスが「A1」であり、メッセージのタイプが「送信ノードからの報告」である情報を含むメッセージを受信しない場合、タイマ部2103はタイムアウトし、ノード503がチャンネルの返却処理を開始する(手順S1201)。このチャンネルの返却処理では、手順S1202においてパケット生成部2104がチャンネル管理の委譲を通知するためのメッセージを作成し、パケット送受信部2101から送信する。また、ブリッジ503がチャンネルの管理を委譲する旨のメッセージを送信した後、チャンネル管理を引き継ぐノードが現れるまで待つため、タイマ部2103では、一定時間後にチャンネルを返却するためのタイマを起動する。
【0121】
次に、ノード503がチャンネル返却を行う動作を説明する。手順S1202において、ノード503がチャンネル管理の委譲のメッセージを送信した後、ノードの識別番号601内のバス識別番号が「バス510の識別番号」かつ宛先アドレス604が「A1」であり、メッセージタイプ602が「送信ノードからの報告」もしくは「受信ノードからの報告」を含むメッセージを受信しない場合、タイマ部2103は、タイムアウトし、パケット生成部2104がチャンネル返却用のパケットを生成する。作成したメッセージは、IRMであるノード504に対してチャンネルを返却するために送信される(手順S1208)。ノード503は、IRMからチャンネル返却完了の通知を受信すると、返却したチャンネルの受信中止をパケット送受信部2101へ通知し(手順S2703)、チャンネル返却処理を完了する。ただし、ノード503自身がIRMである場合には、チャンネル返却用のパケットの生成は行わず、チャンネルの返却処理をノード503の内部で行う。
【0122】
以上説明したように、本実施の形態3によれば、一つのバス内に受信ノードとしてマルチキャストグループに参加するノードしか存在しない場合であっても、このノードがチャンネルを自動的に確保することにより、送信ノードが存在するバスから受信ノードしか存在しないバスへのパケットの転送が可能となる。
【0123】
以上、本発明の実施の形態1ないし3を説明したが、本発明は、これらの実施の形態に限られるものではなく、これらの実施の形態を組み合わせてもよく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
例えば、上述の各実施の形態では、各バスはブリッジを介して直列に接続されるものとしたが、これに限定されることなく、たとえば、或る特定のバスに3個以上のブリッジが接続され、このバスを起点として放射状に他のバスが接続されるものとしてもよく、バスの接続形態は特に限定されない。
【0124】
【発明の効果】
以上説明したように、本発明によれば、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、前記ブリッジを介して接続される2つ以上のバス上のノードが同じマルチキャストグループでそれぞれ異なるチャンネルを使用して通信を行う際に、前記ブリッジが、前記互いに異なるバスのチャンネル間を接続するようにしたので、ブリッジを介して接続された複数のバス間でマルチキャストグループ宛のパケットの転送が可能となる。
【0125】
また、本発明によれば、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークにおいて、(a)前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報が記述されたメッセージをブロードキャストし、(b)前記ブリッジは、前記メッセージとして、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続するようにしたので、ブリッジを介して接続される2つ以上のバス上のノードが同じマルチキャストグループでそれぞれ異なるチャンネルを使用して通信を行う際に、ブリッジで互いのチャンネルを接続することが可能となり、従ってブリッジを介して接続された複数のバス間でマルチキャストグループ宛のパケットの転送が可能となる。
【0126】
さらに、本発明によれば、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークにおいて、(a)前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報が記述されたメッセージをブロードキャストし、(b)前記マルチキャストグループに参加するノードが存在しないバスに接続されたブリッジは、前記メッセージとして、当該バスを挟んで互いに隔てられたバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、前記マルチキャストグループに参加するノードが存在しないバスに、前記マルチキャストグループで使用されるべきチャンネルを確保するようにしたので、チャンネルを確保していないバスが通信経路の途中に存在していた場合であっても、ブリッジを介して接続されたバス間でマルチキャストグループ宛のパケットの転送が可能となる。
【0127】
さらにまた、本発明によれば、シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークにおいて、(a)前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、(b)前記バスのそれぞれにおいて受信のみを行うノードは、前記メッセージを受信した場合、同一バス内にチャンネルを管理するノードが存在しないことを条件に前記マルチキャストグループのパケットを受信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、(c)前記ブリッジは、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続するようにしたので、ブリッジに接続されたバスが、受信を行うノードしか存在しないバスであっても、ブリッジを介して接続されたバス間でマルチキャストグループ宛のパケットの転送が可能となる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1に係る通信ネットワークの構成を示すブロック図である。
【図2】 本発明の実施の形態1に係るメッセージのフォーマットを示す図である。
【図3】 本発明の実施の形態1に係るパケット通信を開始するための手順を示すシーケンス図である。
【図4】 本発明の実施の形態1に係るパケット通信を停止するための手順を示すシーケンス図である。
【図5】 本発明の実施の形態1に係るブリッジの構成を示すブロック図である。
【図6】 本発明の実施の形態2に係るパケット通信を開始するための手順を示すシーケンス図である。
【図7】 本発明の実施の形態2に係るパケット通信を停止するための手順を示すシーケンス図である。
【図8】 本発明の実施の形態3に係るパケット通信を開始するための手順を示すシーケンス図である。
【図9】 本発明の実施の形態3に係るパケット通信を停止するための手順を示すシーケンス図である。
【図10】 本発明の実施の形態1に係る受信ノードの構成を示すブロック図である。
【図11】 従来の技術に係るネットワークの構成を示すブロック図である。
【図12】 従来の技術に係るチャンネルの取得手順を示すシーケンス図である。
【図13】 従来の技術に係るチャンネルの返却・解放手順を示すシーケンス図である。
【図14】 従来技術に係るブリッジを使用してバスを接続した場合のネットワークの構成を示すブロック図である。
【符号の説明】
501〜506:ノード
507,508:ブリッジ
509〜511:バス
601:ノードの識別番号
602:メッセージタイプ
603:チャンネル番号
604:宛先アドレス
S701:マルチキャストグループ用のチャンネルの問い合わせ手順
S702:マルチキャストグループ用のチャンネル確保手順
S703:マルチキャストグループ用のチャンネル対応情報の報告手順
S704:送信ノードからの報告メッセージの記憶手順
S705:マルチキャストグループ宛のデータの送信手順
S706:マルチキャストグループ用のチャンネルの問い合わせ手順
S707:マルチキャストグループ用のチャンネル確保手順
S708:マルチキャストグループ用のチャンネル対応情報の報告手順
S709:送信ノードからの報告メッセージの記憶手順
S710:チャンネル間の接続手順
S711:マルチキャストグループ宛のデータ送信手順
S801:マルチキャストグループ宛のパケット送信中止手順
S802:マルチキャストグループ用のチャンネルの管理委譲の通知手順
S803:委譲の通知メッセージの記憶手順
S804:チャンネル間の切断手順
S805:マルチキャストグループ用のチャンネルの返却手順
S901:マルチキャストグループ用のチャンネルの問い合わせ手順
S902:マルチキャストグループ用のチャンネル確保手順
S903:マルチキャストグループ用のチャンネル対応情報の報告手順
S904:マルチキャストグループ用のチャンネル確保処理開始手順
S905:マルチキャストグループ用のチャンネルの問い合わせ手順
S906:マルチキャストグループ用のチャンネルの問い合わせ手順
S907:マルチキャストグループ用のチャンネル確保手順
S908:マルチキャストグループ用のチャンネル対応情報の報告手順
S909:チャンネル間の接続手順
S910:マルチキャストグループ宛のデータの送信手順
S911:マルチキャストグループ宛のデータの送信手順
S1001:マルチキャストグループ用のチャンネルの返却処理開始手順
S1002:マルチキャストグループ用のチャンネルの管理委譲の通知手順
S1003:委譲のメッセージの記憶手順
S1004:チャンネル間の切断手順
S1005:マルチキャストグループ用のチャンネルの返却手順
S1101:マルチキャストグループに受信ノードとして参加を開始する手順
S1102:マルチキャストグループ用のチャンネル確保処理開始手順
S1103:マルチキャストグループ用のチャンネルの問い合わせ手順
S1104:マルチキャストグループ用のチャンネル確保処理開始手順
S1105:マルチキャストグループ用のチャンネル対応情報の報告手順
S1106:チャンネル間の接続手順
S1107:送信ノードからの報告メッセージの記憶手順
S1201:マルチキャストグループ用のチャンネルの返却処理開始手順
S1202:マルチキャストグループ用のチャンネルの管理委譲の通知手順
S1203:マルチキャストグループ用のチャンネルの返却処理手順
1301:ブリッジ
1302:記憶部
1303:タイマ部
1304:パケット生成部
1305:パケット解析部
1306:パケットスイッチング部
2101:パケット送受信部
2102:記憶部
2103:タイマ部
2104:パケット生成部
2105:パケット解析部

Claims (13)

  1. シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、
    (a)前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報が記述されたメッセージをブロードキャストし、
    (b)前記ブリッジは、前記メッセージとして、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続することを特徴とするパケット通信方法。
  2. シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、
    (a)前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、前記マルチキャストグループおよび前記チャンネルに関する情報が記述されたメッセージをブロードキャストし、
    (b)前記マルチキャストグループに参加するノードが存在しないバスに接続されたブリッジは、前記メッセージとして、当該バスを挟んで互いに隔てられたバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、前記マルチキャストグループに参加するノードが存在しないバスに、前記マルチキャストグループで使用されるべきチャンネルを確保することを特徴とするパケット通信方法。
  3. シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークで使用されるパケット通信方法において、
    (a)前記バスのそれぞれにおいて最初に送信を開始するノードは、当該ノードが参加しているマルチキャストグループのパケットを送信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、
    (b)前記バスのそれぞれにおいて受信のみを行うノードは、前記メッセージを受信した場合、同一バス内にチャンネルを管理するノードが存在しないことを条件に前記マルチキャストグループのパケットを受信するためのチャンネルを管理すると共に、該マルチキャストグループおよび該チャンネルに関する情報が記述されたメッセージをブロードキャストし、
    (c)前記ブリッジは、互いに異なるバスから同じマルチキャストグループが記述されたメッセージを受信したことを条件に、これら互いに異なるバスのチャンネル間を接続することを特徴とするパケット通信方法。
  4. 前記マルチキャストグループに参加するノードが存在しないバスに接続された2以上のブリッジのうち、各ブリッジのもつノードの識別番号に応じた特定のブリッジは、管理ノードとなって優先的に前記チャンネルを確保するための処理を開始することを特徴とする請求項2に記載されたパケット通信方法。
  5. 前記ブリッジは、前記マルチキャストグループを指定する情報と前記チャンネルを指定する情報が書き込まれたメッセージを受信した場合、
    (a)前記メッセージの転送先のバス内で、前記マルチキャストグループ用にチャンネルが確保されているかについての調査を行うと共に、該チャンネルが確保されていなければ新たなチャンネルが確保可能であるかどうかについての調査を行い、
    (b)前記マルチキャストグループ用にチャンネルが確保されているとき、または、該チャンネルが確保されていなければ新たなチャンネルが確保可能であるときに限り、前記メッセージを転送することを特徴とする請求項1ないし4の何れかに記載されたパケット通信方法。
  6. 前記マルチキャストグループ宛のパケットの送信を中止するノードは、前記マルチキャストグループ用に確保されたチャンネルをIRMとして機能する特定のノードに返却すると共に、前記マルチキャストグループ及びチャンネルに関する情報の送信を停止し、前記マルチキャストグループ用に確保されたチャンネルを接続したブリッジは、前記情報を何れのバスからも受信しない場合、チャンネルを切断することを特徴とする請求項1ないし5の何れかに記載されたパケット通信方法。
  7. 前記シリアルバスに関する所定の規格は、IEEE1394であることを特徴とする請求項1ないし6の何れかに記載されたパケット通信方法。
  8. シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在する通信ネットワークにおいて、前記複数のバスを互いに接続するためのブリッジとして機能するパケット通信装置であって、
    前記複数のバスでそれぞれ使用されるマルチキャスト用のチャンネルを対応づけるためのチャンネル対応情報を記憶する記憶部と、
    受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報と前記記憶部に記憶されたチャンネル対応情報との比較を行うパケット解析部と、
    受信した前記メッセージの送信先のバス内でマルチキャスト用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、前記メッセージを前記送信先のバスへ転送すると共に、前記パケット解析部での比較の結果、宛先アドレスが一致し、かつ受信したポートが異なる場合、前記チャンネル対応情報で示される各チャンネルを互いに接続するパケットスイッチング部と、
    を備えたことを特徴とするパケット通信装置。
  9. シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在する通信ネットワークにおいて、前記複数のバスを互いに接続するためのブリッジとして機能するパケット通信装置であって、
    前記複数のバスでそれぞれ使用されるマルチキャスト用のチャンネルを対応づけるためのチャンネル対応情報を記憶する記憶部と、
    受信したメッセージに含まれるマルチキャスト用のチャンネル対応情報と前記記憶部に記憶されたチャンネル対応情報との比較を行い、宛先アドレスが一致し、受信したポートが異なり、かつ前記メッセージが受信ノードからのものでなかった場合、管理ノードが在しないバスでマルチキャストグループ用のチャンネルを確保するためのチャンネル確保処理を開始するパケット解析部と、
    受信した前記メッセージの送信先のバス内でマルチキャスト用にチャンネルが確保されているか、または新たなチャンネルが確保可能である場合、前記メッセージを前記送信先のバスへ転送すると共に、前記パケット解析部での比較の結果、宛先アドレスが一致し、かつ受信したポートが異なる場合、前記チャンネル対応情報で示される各チャンネルを互いに接続するパケットスイッチング部と、
    を備えたことを特徴とするパケット通信装置。
  10. 前記パケットスイッチング部でのチャンネル確保処理にともなって、前記送信先のバスでチャンネルを管理しているノードが存在しないかについて確認を行うための問い合わせメッセージを送信するパケット生成部をさらに備えたことを特徴とする請求項9に記載されたパケット通信装置。
  11. 前記問い合わせメッセージに対する応答を受け付けるために予め設定された時間を計時してタイムアウトを検出するタイマ部をさらに備え、前記タイマ部の設定は、ブリッジ毎に異なることを特徴とする請求項10に記載されたパケット通信装置。
  12. シリアルバスに関する所定の規格に準じたバスが複数存在し、前記バスのそれぞれには前記所定の規格に準じた1つもしくは複数のノードが存在し、前記複数のバスは前記所定の規格に準じたブリッジを介して互いに接続された通信ネットワークにおいて、前記ノードとして機能するパケット通信装置であって、
    受信したメッセージ内のバス識別子がこのメッセージの送信ノードが存在するバス以外のノードを示す場合、マルチキャストグループ用のチャンネル確保処理を開始するパケット解析部と、
    前記チャンネル確保処理に伴って、前記マルチキャストグループ用にチャンネルが確保されているかどうかを問い合わせる旨の問い合わせメッセージを生成するパケット生成部と、
    を備えたことを特徴とするパケット通信装置。
  13. 前記シリアルバスに関する所定の規格は、IEEE1394であることを特徴とする請求項8ないし12の何れかに記載されたパケット通信装置。
JP2000309813A 2000-10-10 2000-10-10 パケット通信方法および装置 Expired - Fee Related JP3896784B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000309813A JP3896784B2 (ja) 2000-10-10 2000-10-10 パケット通信方法および装置
EP20010123352 EP1198095A3 (en) 2000-10-10 2001-10-09 Method and network for interconnecting separate multicast channels acquired for separate bus systems
US09/972,947 US7120146B2 (en) 2000-10-10 2001-10-10 Method and network for interconnecting separate multicast channels acquired for separate bus systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000309813A JP3896784B2 (ja) 2000-10-10 2000-10-10 パケット通信方法および装置

Publications (2)

Publication Number Publication Date
JP2002118570A JP2002118570A (ja) 2002-04-19
JP3896784B2 true JP3896784B2 (ja) 2007-03-22

Family

ID=18789893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000309813A Expired - Fee Related JP3896784B2 (ja) 2000-10-10 2000-10-10 パケット通信方法および装置

Country Status (3)

Country Link
US (1) US7120146B2 (ja)
EP (1) EP1198095A3 (ja)
JP (1) JP3896784B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587485B1 (en) * 2002-09-19 2009-09-08 Foundry Networks, Inc. System and method for supplicant based accounting and access
US8050180B2 (en) * 2003-10-31 2011-11-01 Brocade Communications Systems, Inc. Network path tracing method
US7817647B2 (en) * 2005-04-22 2010-10-19 Microsoft Corporation Flower-petal resolutions for PNRP
CN100440185C (zh) * 2006-01-27 2008-12-03 中国科学院空间科学与应用研究中心 非标准总线接插件***与标准总线接插件***的连接设备
CN101971561A (zh) * 2006-07-09 2011-02-09 90度软件股份有限公司 用于管理网络的***和方法
JP4804307B2 (ja) * 2006-10-27 2011-11-02 富士通テン株式会社 ゲートウェイ装置及び転送制御方法
GB2479939B (en) * 2010-04-30 2016-05-25 Samsung Electronics Co Ltd Improvements to multicast traffic management
US9014013B2 (en) 2012-03-16 2015-04-21 Brocade Communications Systems, Inc. Packet tracing through control and data plane operations using SNMP trap commands
US9088496B2 (en) 2012-03-16 2015-07-21 Brocade Communications Systems, Inc. Packet tracing through control and data plane operations
US20210075633A1 (en) * 2020-11-18 2021-03-11 Intel Corporation Packet multi-cast for memory pool replication

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3271493B2 (ja) * 1995-09-26 2002-04-02 ヤマハ株式会社 ネットワークおよびデータ伝送方法
US6751221B1 (en) * 1996-10-04 2004-06-15 Kabushiki Kaisha Toshiba Data transmitting node and network inter-connection node suitable for home network environment
JP3171241B2 (ja) * 1998-03-06 2001-05-28 日本電気株式会社 通信方法
EP1005198A4 (en) * 1998-05-12 2003-08-13 Sony Corp PROCESSOR, METHOD AND SYSTEM FOR INFORMATION PROCESSING AND SUPPORTING MEDIUM
US6230225B1 (en) * 1998-12-01 2001-05-08 Compaq Computer Corp. Method and apparatus for multicasting on a bus
US6895456B2 (en) * 1998-12-01 2005-05-17 Hewlett-Packard Development Company, L.P. System supporting multicast master cycles between different busses in a computer system
US6711163B1 (en) * 1999-03-05 2004-03-23 Alcatel Data communication system with distributed multicasting
JP3436174B2 (ja) * 1999-03-09 2003-08-11 日本電気株式会社 通信方法
JP2001016246A (ja) * 1999-06-30 2001-01-19 Sony Corp 通信制御装置および方法、通信システム、並びに記録媒体
US6728821B1 (en) * 1999-11-29 2004-04-27 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
AU2001237673A1 (en) * 2000-02-18 2001-08-27 Bridgeco Ag Reference time distribution over a network

Also Published As

Publication number Publication date
US20020041594A1 (en) 2002-04-11
EP1198095A3 (en) 2009-06-24
JP2002118570A (ja) 2002-04-19
US7120146B2 (en) 2006-10-10
EP1198095A2 (en) 2002-04-17

Similar Documents

Publication Publication Date Title
US5581552A (en) Multimedia server
US8050282B2 (en) Universal plug and play device and method of resolving network address conflict by considering remote access
CN110891026B (zh) 一种流量调度方法、设备及***
JP4077330B2 (ja) データ生成装置
US8995266B2 (en) Performing path-oriented systems management
US6061728A (en) Arrangement for controlling network proxy device traffic on a transparently-bridged local area network using a master proxy device
WO2017067327A1 (zh) 多个智能设备与服务器设备的长连接方法及智能设备
JP2003023444A (ja) 仮想ルータを利用した動的な負荷分散システム
WO2015003566A1 (zh) 组播域名***中报文传输的方法、装置及***
JP3896784B2 (ja) パケット通信方法および装置
WO2009015594A1 (fr) Procédé, système et dispositif pour configurer la propriété d'exploitation, administration et maintenance
JP2000261454A (ja) 通信方法
JPH088975A (ja) ローカルエリアネットワーク相互接続システム及び装置
KR20190122836A (ko) Avb 스트림의 모듈식 배향을 위한 방법 및 디바이스
JPWO2004064335A1 (ja) リング型ネットワークでのマルチキャスト通信における帯域有効利用方法
CN100488201C (zh) 一种基于路由的链路备份方法
KR100433545B1 (ko) 동일 네트웍 상에 존재하는 기기들의 MCAP(Multicast ChannelAllocation Protocol)지원 여부 식별방법 및 이를 이용한 멀티캐스트 통신 방법
JP4443225B2 (ja) ブリッジを有する通信ネットワークにおける接続を管理する方法及び装置
US10686752B2 (en) Methods for configuring and managing an IP network, corresponding devices and computer programs
US20070206596A1 (en) Advertisement search agent
WO2008141554A1 (fr) Procédé de transport d'un message, système et dispositif de relais
US9306836B2 (en) Searching for multicast consumers in a network of interconnected nodes
JP2005094608A (ja) Ipマルチキャスト転送装置およびipマルチキャスト通信情報管理装置
JPH10154980A (ja) Ipマルチキャスト・サービスシステムおよびそのアドレス割り当て方法
JP2004248257A (ja) 通信システム及び端末

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060627

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060825

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061211

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110105

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees