(57)【要約】【課題】従来のフレーム転送装置では、マルチキャストフレームの転送先ポートの選定および各転送先ポートへの出力処理の都度、共有のフレームバッファから該マルチキャストフレームを読み出しており、フレームバッファの効率的な利用の面で問題があった。また、マルチキャストフレームの転送先ポートが一括管理されず、転送先の増加に柔軟に対応できなかった。【解決手段】マルチキャストフレームの転送先ポートをグループ化して転送先の増加に柔軟に対応し、また、フレームバッファからの読み出し時間とフレームバッファの消費を抑制してフレーム転送を効率化する。【選択図】図１
2005101858.tif 000002
【特許請求の範囲】
【請求項１】
フレームの入出力先ポートをグループ化したドメイングループを識別するドメイン識別情報と、前記ドメイングループ内の各ポートの位置情報を含むドメイン定義情報とを対応付けるドメイングループテーブルを備え、
入力したフレームがマルチキャストフレームの場合は、前記マルチキャストフレームに前記ドメイン識別情報を挿入してフレームバッファに格納し、
前記マルチキャストフレームの出力時は、前記フレームバッファに格納されている前記ドメイン識別情報を基に前記ドメイングループテーブルを検索して前記ドメイン定義情報を選定し、
前記選定したドメイン定義情報に含まれる位置情報に基づいて前記マルチキャストフレームを出力する、
ことを特徴とするフレーム転送制御方法。
【請求項２】
請求項１に記載のフレーム転送制御方法において、
前記ドメイン定義情報の選定のためのフレームバッファの読み出しは、前記マルチキャストフレーム内に挿入された前記ドメイングループ識別情報の部分に限定し、ユニキャストフレームのフレームバッファからの読み出しとの競合を回避する、
ことを特徴とするフレーム転送制御方法。
【請求項３】
請求項１に記載のフレーム転送制御方法において、
前記マルチキャストフレームの出力のための出力フレーム記憶部を設け、
前記マルチキャストフレームの出力時は、前記フレームバッファから読み出した前記マルチキャストフレームの第１番目の転送先となるポートへ出力すると同時に、前記出力フレーム記憶部へ格納し、
前記マルチキャストフレームの第２番目以降の転送先となるポートへの出力は、前記出力フレーム記憶部に格納されているマルチキャストフレームを読み出して行う、
ことを特徴とするフレーム転送制御方法。
【請求項４】
フレームの入出力先ポートをグループ化したドメイングループを識別するドメイン識別情報と、前記ドメイングループ内の各ポートの位置情報を含むドメイン定義情報とを対応付けるドメイングループテーブルと、
入力したフレームがマルチキャストフレームの場合は、前記マルチキャストフレームに前記ドメイン識別情報を挿入してフレームバッファに格納する手段と、
前記マルチキャストフレームの出力時は、前記フレームバッファに格納されている前記ドメイン識別情報を基に前記ドメイングループテーブルを検索して前記ドメイン定義情報を選定する手段と、
前記選定したドメイン定義情報に含まれる位置情報に基づいて前記マルチキャストフレームを出力する手段を備える、
ことを特徴とするフレーム転送制御装置。
【請求項５】
請求項４に記載のフレーム転送制御装置において、
前記ドメイン定義情報の選定のためのフレームバッファの読み出しは、前記マルチキャストフレーム内に挿入された前記ドメイングループ識別情報の部分に限定し、ユニキャストフレームのフレームバッファからの読み出しとの競合を回避する手段を備える、
ことを特徴とするフレーム転送制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイヤー２におけるフレーム転送制御方法およびフレーム転送制御装置に関し、特に、マルチキャストフレームの転送を効率的に行うフレーム転送制御方法およびフレーム転送制御装置に関する。
【背景技術】
【０００２】
IP(Internet Protocol)を用いてビデオ・ストリームなどのコンテンツ配信を行う場合は、特定の多数の宛先へ大量のデータを送信することになる。これらの多数の宛先への大量のデータは、イーサネットなどのレイヤー２の階層でフレームに変換されてフレーム転送することにより、それらの多数の宛先へ届けられることになる。レイヤー２においてフレーム転送を行うフレーム転送装置がレイヤー２スイッチである。ここで、上記のような多数の宛先へデータを配信する際は、レイヤー２スイッチではそのデータを含んだフレームを、マルチキャストフレームとして転送する。マルチキャストフレームは１個のフレームを送信するだけで同時に複数の宛先に送信するもので、１個の宛先にしか送信できないユニキャストフレームに比較して、より少ないトラフィックで多数の宛先に同じ内容のデータを送信することができる。
【０００３】
従って、ビデオ・ストリームなどのコンテンツ配信を効率的に行うためには、これらのレイヤー２でのマルチキャストフレームの転送を如何に効率的に行うかが重要となる。
【０００４】
これに対する対策の一つとして、余分なフレームの転送を抑制して効率的フレーム転送を行う方法が提案されている（例えば、特許文献１参照。）。
【０００５】
また、フレーム転送装置内の転送処理を効率的に行う方法も提案されている（例えば、特許文献２参照。）。
【０００６】
図11は、従来技術のフレーム転送方法の概要で、主にフレームを送信する側の処理を、処理ステップS01〜S11と、各処理ステップ間の制御の流れを示す矢印とを組み合わせて表現したものである。ここで、60は入力されたフレームを格納しておくフレームバッファである。また、制御の矢印が二方向へ分岐している部分は、同時並行して二つの流れの処理ステップが実行されることを示している。
【０００７】
S01. フレーム転送装置が受信したフレームは、フレームバッファ60に蓄積される。このとき、マルチキャストフレームの場合は、その転送先ポートの識別情報を受信したフレーム内の一部領域に付加しておく。例えば、フレーム内のヘッダ領域の未使用領域などを使用することができる。
【０００８】
格納されたフレームの宛先アドレスはフレーム転送制御処理の流れを制御する部分に通知されて宛先アドレス情報として蓄積され、後述するステップS02の判定処理で参照される。また、フレームが格納されたフレームバッファ60内の領域の配置情報についても、フレームバッファ60に対するアクセス処理を行う部分に通知され、後述するステップS02以降のフレームバッファ60からのフレーム読み出しおよび削除処理で使用される。
【０００９】
上記のフレームバッファ60への格納処理は、以下のステップS02以降で行われるフレーム転送制御処理とは非同期で行われる。
【００１０】
S02. 上記ステップS01で蓄積された宛先アドレス情報を参照して、フレームバッファ60に格納されているフレームの種別を判定する。種別がユニキャストフレームの場合は、ステップS03へ移行する。また、種別がマルチキャストフレームの場合は、ステップS06へ移行すると同時に、並行して本ステップS02を再度実行する。これにより、マルチキャストフレームに対する処理とユニキャストフレームに対する処理を同時並行して進めることができる。
【００１１】
S03. フレームバッファ60からユニキャストフレームを読み出す。
【００１２】
S04. 上記ステップS03でフレームバッファ60から読み出したフレームをそのまま、ヘッダ内の宛先アドレスが示す方路のポートへ出力する。
【００１３】
S05. フレームバッファ60内の該ユニキャストフレームを削除して、ステップS02に戻る。
【００１４】
S06. フレームバッファ60内に格納されているマルチキャストフレームを読み出す。
【００１５】
S07. 上記ステップS06で読み出したマルチキャストフレーム内の一部領域に設定されている転送先ポート情報を抽出し、該マルチキャストフレームの転送先ポートを特定する。      
【００１６】
S08. フレームバッファ60より、該マルチキャストフレームを読み出す。
【００１７】
S09. ステップS08で読み出したマルチキャストフレームを、ステップS07で特定した出力ポートへ出力する。
【００１８】
S10. ステップS07で特定した全ての宛先ポートについて上記ステップS08およびS09のマルチキャストフレーム読み出しおよび出力処理が完了したか否か判定し、完了した場合はステップS11へ移行し、完了していない場合はステップS08へ戻る。
【００１９】
S11. ステップS07で特定した全ての転送先ポートに対して、該マルチキャストフレームの出力が完了した場合は、該マルチキャストフレームをフレームバッファ60から削除し、処理を終了する。ここで、本ステップの処理を終了しても、ステップS02〜S05のユニキャストフレームに対する処理は継続して行われる。
【００２０】
上記のように、従来のフレーム転送処理では、マルチキャストフレームの場合は入力されたフレームに転送先ポート情報を付加しているが、付加できるマルチキャストフレーム内の領域が制限されるため、転送先ポートが増えた場合や、付加する領域が変更された場合などには柔軟な対応ができない場合が多い。また、マルチキャストフレームの転送では処理の単純化を図るために、フレームバッファ60内にマルチキャストフレームの転送が完了するまで保持し、フレームバッファ60内のマルチキャストフレームを出力の都度読み出している。
【００２１】
図10は、フレームバッファの動作概要である。
【００２２】
本図では、フレームバッファ60が４個のフレームを格納した状態を示している。
【００２３】
FB01〜FB04はフレームを格納する領域で、フレームU1、M1、U2、U3がこの順にフレームバッファに到着した場合、最初に到着したフレームU1は領域FB01に、次ぎに到着したフレームM1は領域FB02に、次に到着したフレームU2は領域FB03に、最後に到着したフレームU３は領域FB04に、それぞれ格納される。ここで、フレームU1、U2、U3はユニキャストフレームであり、フレームM1はマルチキャストフレームである。
【００２４】
フレームバッファ60からフレームを取り出す際は、該フレームの転送先ポートに帯域が割り当てられているか否かを判定し、帯域が割り当てられている転送先ポートへ出力すべきフレームから順に読み出していく。従って、フレームバッファ60からのフレームの取り出しは、必ずしも入力された順には行われないが、全ての転送先ポートに帯域が割り当てられていれば、入力された順、つまり、フレームU1、M1、U2、U3の順に読み出されることになる。
【００２５】
以降の実施例では、説明をわかり易くするために、フレームバッファ60が図10に示す状態にあり、転送先ポートに全て帯域が割り当てられている場合を例にして説明する。
【００２６】
図９は、従来技術のフレーム転送制御方法の処理タイムチャートである。
【００２７】
上記図10に示すように、ユニキャストフレームU1、マルチキャストフレームM1、ユニキャストフレームU2、ユニキャストフレームU3がこの順序でフレームバッファ60に格納されている場合のフレーム転送装置の処理をタイムチャートで表現したものである。
【００２８】
T1は、主にユニキャストフレームを処理する時間軸を、またT2は、主にマルチキャストフレームを処理する時間軸をそれぞれ示しており、ユニキャストフレームの処理とマルチキャストフレームの処理が同時並行して実行される様子を示している。
【００２９】
図９の中で、点線枠P(U1)、P(U2)、P(U3)はそれぞれユニキャストフレームU1、U2、U3を処理する部分を示しており、点線枠P(M1)はマルチキャストフレームM1を処理する部分を示している。
【００３０】
T101〜T110は時間軸T1上の時間帯を示しており、ここでは、わかり易くするためにフレームの読み出しに関連する処理時間帯を時間軸T1の下側に、また、判定およびフレームの出力に関係する処理時間帯を時間軸T1の上側に表示している。同様に、T201〜T207は時間軸T2上の時間帯を示しており、フレームの読み出しに関連する処理時間帯を時間軸T2の下の部分に、また、フレームの出力に関連する処理時間帯を時間軸T2の上の部分に表示している。ここで、時間帯の中に表記しているステップ番号は、前記図11の従来技術のフレーム転送制御方法の概要で示したステップ番号と対応している。
【００３１】
フレームバッファ60内には、フレームU1、M1、U2、U3がこの順に格納されており、また、説明を分かり易くするために、フレームの転送先となる全てのポートに帯域が割り当てられているとする。
【００３２】
まず、最初のフレームU1が時間帯T101の処理でユニキャストフレームと判定された後、時間帯T102の処理で読み出され、時間帯T103の処理で出力される。次の時間帯T104の処理で、次に処理されるフレームはマルチキャストフレームM1であると判定され、時間軸T2のマルチキャストフレーム処理が起動される。それと同時に、時間軸T1では、時間帯T105の処理で、次に処理されるフレームがユニキャストフレームU2であると判定され、時間帯T106の処理でユニキャストフレームU2をフレームバッファ60から読み出して、時間帯T107の処理でそれを出力してフレームバッファ60から削除する。ここで、時間帯T106のフレームバッファ60の読み出し処理は、後述する時間軸T2上の時間帯T201のフレームバッファ60からの読み出し処理と競合するために、点線矢印C1が示すように、時間帯T201の処理が完了するまで遅延される。
【００３３】
次に、時間軸T1では、時間帯T108の処理で次に処理されるフレームがユニキャストフレームU3であると判定され、時間帯T109の処理でフレームバッファ60内に格納されているユニキャストフレームU3を読み出し、時間帯T110の処理でそれを出力し、フレームバッファ60内のユニキャストフレームU3を削除する。
【００３４】
一方、時間軸T2では、時間軸T1のユニキャストフレームに対する処理と並行動作して、時間帯T201の処理でフレームバッファ60からマルチキャストフレームM1を読み出す。このとき、時間軸T1上の時間帯T106のユニキャストフレームU2の読み出し処理は、点線矢印C1で示すように、時間帯T201の読み出し処理が完了するまで遅延される。
【００３５】
次に、時間帯T202の処理では、時間帯T201で読み出したマルチキャストフレームM1内の所定の領域に設定されている転送先ポートの情報を抽出して、転送先ポートを特定する。そしてその特定された転送先ポート情報を基に、時間帯T203の処理で、フレームバッファ60内に保持されているマルチキャストフレームM1を読み出し、時間帯T204で転送先ポートへ出力する。これを、特定した転送先ポートの全てについて行い、最後の転送先ポートに対応する時間帯T205およびT206の処理を完了した後に、時間帯T207の処理でフレームバッファ60からマルチキャストフレームM1を削除して処理を終了する。
【００３６】
上記の様に、従来のフレーム転送制御方法では、マルチキャストフレームの転送先ポート情報を参照する際も、その都度フレームバッファ60から読み出しており、マルチキャストフレームの処理と並行して動作するユニキャストフレームの処理におけるフレームバッファ60の読み出しと競合する場合は、ユニキャストフレームの読み出しタイミングが遅延される場合があった。また、マルチキャストフレームの全ての転送先ポートへの出力の際も、その都度フレームバッファ60からマルチキャストフレームを読み出しており、マルチキャストフレームの全ての転送先ポートへの出力が完了するまで、該マルチキャストフレームをフレームバッファ60内に保持しておく必要があった。
【特許文献１】特開２０００−１２５２７７号公報（第9〜11頁、第４〜７図）
【特許文献２】特開２００２−１６９７８９号公報（第３〜６頁、第１〜３図）
【発明の開示】
【発明が解決しようとする課題】
【００３７】
上記のように、従来のフレーム転送装置では、受信したフレームを一旦装置共通のフレームバッファに蓄積し、フレームの転送先となる出力ポートの帯域割り当て状態を監視して、帯域が割り当てられたポート向けのフレームを、フレームバッファから読み出して転送している。ここで、マルチキャストフレームの場合は、フレーム転送の前処理として、該マルチキャストフレーム内の一部の領域に設定されている転送先ポート情報を基にして転送先ポートを選定し、その転送先ポートへその都度フレームバッファからマルチキャストフレームを読み出して出力している。
【００３８】
マルチキャストフレームの転送先ポート情報が一括して管理されずに、マルチキャストフレームの一部領域に設定されているため、転送先の増大などに柔軟に対応できないという問題がある。また、マルチキャストフレームの転送先ポートの選定時、および、マルチキャストフレームの転送先ポートへの出力の都度、フレームバッファからマルチキャストフレームを読み出しているため、マルチキャストフレームの処理と並行して動作するユニキャストフレームのフレームバッファからの読み出し処理と競合する場合があり、ユニキャストフレームの転送の遅延が発生する場合がある。さらに、マルチキャストフレームの全ての転送先ポートへの出力が完了するまで、該マルチキャストフレームがフレームバッファ内に保持され、フレーム転送制御装置の共有資源であるフレームバッファの効率的使用を妨げる要因の一つとなっている。
【００３９】
本発明は、レイヤー２のフレーム転送制御方法およびフレーム転送装置において、マルチキャストフレームの転送先ポートをグループ化して管理し、フレームバッファからの読み出し時間とフレームバッファの消費を抑制することにより、マルチキャストフレームの転送先の増加に柔軟に対応し、効率的なフレーム転送を行えるフレーム転送制御方法およびフレーム転送制御装置を提供することを目的とする。
【課題を解決するための手段】
【００４０】
第一の発明は、フレームの入出力先ポートをグループ化したドメイングループを識別するドメイン識別情報と、前記ドメイングループ内の各ポートの位置情報を含むドメイン定義情報とを対応付けるドメイングループテーブルを備え、入力したフレームがマルチキャストフレームの場合は、前記マルチキャストフレームに前記ドメイン識別情報を挿入してフレームバッファに格納し、前記マルチキャストフレームの出力時は、前記フレームバッファに格納されている前記ドメイン識別情報を基に前記ドメイングループテーブルを検索して前記ドメイン定義情報を選定し、前記選定したドメイン定義情報に含まれる位置情報に基づいて前記マルチキャストフレームを出力する、ように構成した。
【００４１】
第一の発明によれば、マルチキャストフレームに挿入したドメイン識別情報に基づいて、ドメイングループテーブルを検索することにより、効率的に該マルチキャストフレームの転送先ポートを選定することができ、かつ、マルチキャストフレームの転送先ポートが増加しても、ドメイングループテーブルを設定変更することで柔軟に対応することができる。
【００４２】
第二の発明は、上記第一の発明において、前記ドメイン定義情報の選定のためのフレームバッファの読み出しは、前記マルチキャストフレーム内に挿入された前記ドメイングループ識別情報の部分に限定し、ユニキャストフレームのフレームバッファからの読み出しとの競合を回避する、ように構成した。
【００４３】
第二の発明によれば、ユニキャストフレームのフレームバッファからの読み出しタイミングを遅延させることなく、マルチキャストフレームの転送先ポートを特定することができ、効率的なフレーム転送を実現できる。
【００４４】
第三の発明は、上記第一の発明において、前記マルチキャストフレームの出力のための出力フレーム記憶部を設け、前記マルチキャストフレームの出力時は、前記フレームバッファから読み出した前記マルチキャストフレームの第１番目の転送先となるポートへ出力すると同時に、前記出力フレーム記憶部へ格納し、前記マルチキャストフレームの第２番目以降の転送先となるポートへの出力は、前記出力フレーム記憶部に格納されているマルチキャストフレームを読み出して行う、ように構成した。
【００４５】
第三の発明によれば、マルチキャストフレームの第２番目以降の転送先ポートへの出力の間は、フレームバッファに該マルチキャストフレームのデータを保持しておく必要がなく、共有資源であるフレームバッファを効率的に利用することができるようになる。
【００４６】
さらに、上記の第一の発明において、前記ドメイン定義情報は、フレームの入出力先ポートの位置情報をビットマップ形式の情報で定義する、ように構成することもできる。
【００４７】
これによれば、マルチキャストフレームの転送先ポートの位置情報を固定長のビットマップ形式で表現でき、マルチキャストフレームの転送先ポートの選定処理を効率的に行うことができる。
【発明の効果】
【００４８】
本発明によれば、マルチキャストフレームの転送先ポートをグループ化して管理することにより、マルチキャストフレームの宛先の増加に対しても柔軟に対応できるようになる。
【００４９】
また、マルチキャストフレームの転送先となるポートの選定をユニキャストフレームフレームの転送処理に影響を与えることなく短時間で実行することにより、効率的なフレーム転送が実現できる。
【００５０】
さらに、マルチキャストフレームの複数の転送先ポートへの出力を、フレームバッファに該マルチキャストフレームのデータを保持せずに実施でき、フレームバッファの効率的な利用が可能となる。
【発明を実施するための最良の形態】
【００５１】
【実施例１】
【００５２】
図１は、本発明のフレーム転送制御方法の概要で、主にフレームを出力する側の処理を、処理ステップP01〜P11と、各処理ステップ間の制御の流れを示す矢印とを組み合わせて表現したものである。ここで、60は入力されたフレームを格納しておくフレームバッファである。50はドメイングループテーブルで、転送するフレームの入出力ポートをグループ化したドメイングループを定義する。ドメイングループにはそれを識別するためのドメイン識別情報が割り当てられ、本テーブルには、該ドメイン識別情報に対応する形で、各ドメイングループに属するポートの位置情報を含むドメイン定義情報が設定されている。図１の中で、制御の矢印が二方向へ分岐している場合は、同時並行して二つの流れの処理ステップが実行されることを示している。
【００５３】
P01. フレーム転送制御装置が受信したフレームは、そのヘッダ部にドメイン識別情報を挿入した後、フレームバッファ60に格納される。それと同時に、格納されたフレームの宛先アドレスが、フレーム転送制御処理の流れを制御する後述するスケジューラに通知され、宛先アドレス情報として蓄積される。また、該フレームが格納されたフレームバッファ60内の領域の配置情報が、フレームバッファ60からの読み出し処理を制御するフレーム転送制御部に通知され蓄積される。ここで、上記のフレームバッファ60への格納処理は、ステップP02以降で示されるフレーム転送制御処理とは非同期に並行動作して行われる。
【００５４】
P02. 後述するスケジューラは、上記ステップP01で通知され記憶された宛先アドレス情報を検索する。
【００５５】
検索した宛先アドレスが、ユニキャストフレームを示している場合は、その転送先となるポートの帯域状態をチェックして、帯域が割り当てられていればステップP03へ移行し、帯域が割り当てられていなければ、上記ステップP01で蓄積された宛先アドレス情報内の次の情報についてステップP02の処理を行う。
【００５６】
検索した宛先アドレスがマルチキャストフレームの場合は、ステップP06へ移行すると同時に、ステップP02へ移行する。つまり、ステップP06以降のマルチキャストフレームに対応する処理を起動すると同時に、それと並行動作する形で、再度ステップP02を実行して、宛先アドレス情報内の次の情報に対応するフレームの処理を行う。これにより、後述するステップP03〜P05のユニキャストフレームの転送処理（図１のP2で示す点線枠内の処理に相当）と、同じく後述するステップP06〜P11のマルチキャストフレームの転送処理（図１のP3で示す点線枠内の処理に相当）とを並行して実行することができる。
【００５７】
P03. 上記ステップP02で間作された宛先アドレスに対応するユニキャストフレームをフレームバッファ60から読み出す。
【００５８】
P04. 読み出したユニキャストフレームを、その宛先アドレスに対応する方路のポートに出力する。
【００５９】
P05. フレームバッファ60内の該ユニキャストフレームを削除して、ステップP02へ戻る。
【００６０】
P06. マルチキャストフレームの転送処理を行うために、まず、フレームバッファ60に格納されている該マルチキャストフレームの中のドメイン識別情報を読み出す。ここでは、ドメイン識別情報のみに限定して読み出すことにより、フレーム転送制御処理の中で比較的大きな処理時間を要するフレームバッファ60からの読み出し処理を短時間で行うことができ、上記ステップP03のユニキャストフレームのフレームバッファ60からの読み出し処理が開始する前に、ドメイン識別情報の読み出しを完了できる。
【００６１】
P07. 上記ステップP06で読み出したドメイン識別情報を基にドメイングループテーブル50を検索し、劾ドメイン識別情報に対応するドメイン定義情報を獲得する。ドメイン定義情報には、該マルチキャストフレームの転送先ポートの位置情報が含まれており、これにより転送先ポートを選定する。ドメイン定義情報としては、例えば、後述する図５の本発明のドメイングループテーブルの構成で示すように、転送先ポートの位置をビット配置で示したビットマップ形式とすることにより、効率的な転送先ポートの選定が可能となる。
【００６２】
また、ドメイングループテーブル50を用いてドメイングループを定義することにより、マルチキャストフレームにはそのドメイングループを識別するための小さなサイズのドメイン識別情報のみを挿入しておくだけでよく、マルチキャストフレームの転送先が増加した場合でも、マルチキャストフレームに挿入するドメイン識別情報はそのままで、ドメイングループテーブル50の設定変更のみで柔軟に対応できるようになる。
【００６３】
P08. マルチキャストフレームをフレームバッファ60から読み出す。
【００６４】
P09. 上記ステップP07で特定した転送先ポートの中で、帯域が割り当てられているポートを選択して第１番目の転送先ポートとし、該ポートに対してステップP08で読み出したマルチキャストフレームを出力すると同時に、該マルチキャストフレームを出力フレーム記憶部70に格納し、フレームバッファ60内のマルチキャストフレームを削除する。これにより、後述するステップP10〜P11のマルチキャストフレームの出力処理の間も、該マルチキャストフレームをフレームバッファ60に保持しておく必要がなく、フレームバッファ60の効率的な利用が可能となる。
【００６５】
P10. 上記ステップP07で選定した転送先ポートの中で、次に帯域が割り当てられているポートを選択して、次に出力する転送先ポートとして、次のステップP11へ進む。ここで、ステップP07で選定した転送先ポートに対して該マルチキャストフレームが出力済の場合は、処理を終了する。
【００６６】
P11. 上記ステップP10で選択したポートに対して、出力フレーム記憶部70に格納されているマルチキャストフレームM1を出力し、ステップP10へ戻る。
【００６７】
図２は、本発明のフレーム転送制御方法の処理タイムチャートである。
【００６８】
ユニキャストフレームU1、マルチキャストフレームM1、ユニキャストフレームU2、ユニキャストフレームU3がこの順序でフレームバッファ60に格納されている場合のフレーム転送装置の処理をタイムチャートで表現したものである。
【００６９】
T1は、主にユニキャストフレームを処理する時間軸を、またT2は、主にマルチキャストフレームを処理する時間軸をそれぞれ示しており、ユニキャストフレームの処理とマルチキャストフレームの処理が同時並行して実行される様子を示している。
【００７０】
図２の中で、点線枠P(U1)、P(U2)、P(U3)はそれぞれユニキャストフレームU1、U2、U3を処理する部分を示しており、点線枠P(M1)はマルチキャストフレームM1を処理する部分を示している。
【００７１】
T101〜T110は時間軸T1上の時間帯を示しており、ここでは、わかり易くするためにフレームの読み出しに関連する処理時間帯を時間軸T1の下側に、また、フレームの出力に関係する処理時間帯を時間軸T1の上側に表記している。同様に、T201〜T207は時間軸T2上の時間帯を示しており、フレームの読み出しに関連する処理時間帯を時間軸T2の下側に、また、判定およびフレームの出力に関連する処理時間帯を時間軸T2の上側に表示している。
時間帯の中に表記しているステップ番号は、前記図１の本発明のフレーム転送制御方法の概要で示したステップ番号と対応している。
【００７２】
フレームバッファ60内には、図10で示したようにフレームU1、M1、U2、U3がこの順に格納されており、また、説明を分かり易くするために、フレームの転送先となる全てのポートに帯域が割り当てられているとする。
【００７３】
まず、最初のフレームU1が時間帯T101の処理でユニキャストフレームと判定された後、時間帯T102の処理で読み出され、時間帯T103の処理で出力される。次の時間帯T104の処理では、次に処理されるフレームはマルチキャストフレームM1であると判定され、時間軸T2のマルチキャストフレーム処理が起動される。それと同時並行して、時間軸T1では、次の時間帯T105の処理で、次に処理されるフレームがユニキャストフレームU2であると判定され、時間帯T106の処理でユニキャストフレームU2をフレームバッファ60から読み出し、時間帯T107の処理でそれを転送先ポートへ出力した後、フレームバッファ60から削除する。次に、時間帯T108の処理で、次に処理されるフレームがユニキャストフレームU3であると判定し、時間帯T109の処理でフレームバッファ60内に格納されているユニキャストフレームU3を読み出して、時間帯T110の処理でそれを転送先ポートへ出力した後、フレームバッファ60から削除する。
【００７４】
一方、時間軸T2では、時間軸T1のユニキャストフレームに対する処理と並行動作して、時間帯T201でフレームバッファ60からマルチキャストフレームM1内のドメイン識別情報のみを読み出す。ドメイン識別情報は、数バイトの情報量であり、この読み出し時間帯T201は上記のユニキャストフレームU2のフレームバッファ60からの読み出し時間帯T106が開始されるより先に完了させることができ、時間帯T106の処理が行うユニキャストフレームU2の読み出しと競合することはない。
【００７５】
次に、時間帯T202では時間帯T201で読み出したドメイン識別情報を基に、ドメイングループテーブル50を検索して対応するドメイン定義情報を得る。このドメイン定義情報により、マルチキャストフレームM1の転送先ポートを選定する。そして時間帯T203の処理で、フレームバッファ60内に保持されているマルチキャストフレームM1を読み出し、次の時間帯T204の処理では、時間帯T202の処理で選定した第１番目の転送先ポートに対してマルチキャストフレームM1を出力すると同時に、マルチキャストフレームM1を出力フレーム記憶部70へ格納後、フレームバッファ60からマルチキャストフレームM1を削除する。
【００７６】
次に、時間帯T205の処理では、第２番目の転送先ポートに対して、出力フレーム記憶部70に格納されているマルチキャストフレームM1を読み出して出力する。これを、時間帯T206の最後の転送先ポートへの出力処理まで繰り返し、時間帯T207の処理において、全ての選定された転送先ポートへの出力が完了したことを判定した時点で、時間軸T2の処理を終了する。
【００７７】
図３は、本発明のフレーム転送制御装置の構成である。
【００７８】
フレーム転送制御部10は、スケジューラ20からの指示に従って、フレームバッファ60に格納されているフレームを読み出し、フレーム出力部40に依頼して、その読み出したフレームを出力した後、フレームバッファ60内の該フレームを削除する。ここで、マルチキャストフレームの場合は、フレームバッファ60から読み出したマルチキャストフレームを第１番目の転送先ポートへ出力すると同時に、出力フレーム記憶部70に格納した後、フレームバッファ60内の該マルチキャストフレームを削除する。そして、該マルチキャストフレームを第２番目以降の転送先ポートへ出力する際は、出力フレーム記憶部70内に格納されているマルチキャストフレームを読み出して出力する。これにより、マルチキャストフレームの最初の転送先ポートへの出力を完了した時点で、フレームバッファ60内の該マルチキャストフレームのデータは削除され、以後の該マルチキャストフレームの第２番目以降の転送先ポートへの出力する際は、フレームバッファ60内には該マルチキャストフレームを保持する必要がなく、フレームバッファ60の効率的な利用が可能となる。
【００７９】
スケジューラ20は、フレーム入力部30から通知されるフレームの宛先アドレス情報を蓄積する。この通知は、フレーム入力部30が、入力されたフレームをフレームバッファ60に格納した時点でスケジューラ20に対して行うものである。そして、スケジューラ20は、この宛先アドレス情報を基に、該宛先アドレス情報に対応するフレームがマルチキャストフレームかユニキャストフレームかを判断し、ユニキャストフレームの場合は、該宛先アドレス情報に対応する方路のポートに帯域が割り当てられていれば、フレーム転送制御部10に対して該宛先のユニキャストフレームの転送要求を出して、該ユニキャストフレームを出力する。帯域が割り当てられていない場合は、蓄積されている次の宛先アドレス情報について上記の処理を行う。
【００８０】
また、マルチキャストフレームの場合は、フレーム出力部40と連携し、帯域が割り当てられている転送先ポートを選定しながら、該マルチキャストフレームを、その全ての転送先ポートへ出力する。
【００８１】
フレーム入力部30は、フレーム転送制御装置が受信したフレームをフレームバッファ60に格納する。ここで、マルチキャストフレームの場合は、そのヘッダ部に、本フレーム転送制御方法を実行するために必要なドメイン識別情報を挿入したのちに、フレームバッファ60へ格納する。同時に、スケジューラ20に対しては受信したフレームのヘッダ内に設定されている宛先アドレス情報を、また、フレーム転送制御部10に対しては該フレームが格納されたフレームバッファ60内の配置アドレス情報を通知する。
【００８２】
フレーム出力部40は、フレーム転送制御部10からのフレーム出力要求に基づいてフレームを出力するもので、ユニキャストフレームの場合はフレーム転送制御部10から引き渡されたユニキャストフレームをそのまま出力する。また、マルチキャストフレームの場合は、その第１番目の転送先ポートについてはフレーム転送制御部10から引き渡されたマルチキャストフレームを出力し、第２番目以降の転送先ポートについては、出力フレーム記憶部70に記憶されているマルチキャストフレームを読み出して出力する。その際、フレーム入力部30が挿入したドメイン識別情報は削除される。
【００８３】
ドメイングループテーブル50は、ドメイン識別情報とドメイン定義情報との対応づけを行っている。ドメイングループは入出力ポートをグループ化したもので、ドメイングループにはドメイン識別情報が付与される。ドメイン定義情報は、ドメイングループに属する入出力ポートの位置情報を定義したもので、例えば、後述する図５の本発明のドメイングループテーブルの構成に示すように、ビットマップ形式で入出力ポートの位置を表すことができる。フレーム入力部30は、フレーム転送制御部10から引き渡されたドメイン識別情報を基に本テーブルを検索することにより、対応するドメイン定義情報を取得し、スケジューラ20に通知する。本テーブルは、本発明とは別の手段により予め設定される。
【００８４】
フレームバッファ60は、フレーム転送制御装置が受信したフレームを、その転送先ポートへ転送するまでの間一時的に記憶しておくバッファ領域で、フレーム入力部30がフレームを受信したときに、フレーム転送制御部10に要求して受信したフレームを格納する。一方、スケジューラ20は、フレーム入力部30から通知された宛先アドレス情報を基に、フレーム転送制御部10に要求して、フレームバッファ60に格納されているフレームを読み出す。このフレーム入力部30によるフレームバッファ60へのフレームの格納処理と、フレーム転送制御部10による読み出し処理とは、非同期に並行動作して行われる。
【００８５】
出力フレーム記憶部70は、マルチキャストフレームをその全ての転送先ポートへ出力完了するまでの間、一時的に記憶しておく領域で、フレーム転送制御部10がフレームバッファ60からマルチキャストフレームを読み出して、第１番目の転送先ポートへ出力する時点で、該マルチキャストフレームデータが格納され、以後、全ての転送先ポートへ該マルチキャストフレームが出力されるまで保持される。これにより、マルチキャストフレームの出力の間でも、フレームバッファ60に該マルチキャストフレームを保持する必要がなく、フレームバッファ60の効率的な活用が図れる。
【００８６】
図４は、本発明の装置内フレームの構成で、イーサネットのフレームに、本発明で用いるドメイン識別情報を挿入した形式となっている。
【００８７】
F01はプリアンブルで、フレームを受信時の同期をとるためのフィールドである。
【００８８】
F02は宛先アドレスで、ユニキャストフレームの場合は、後述するデータF06を届ける宛先となる装置のＭＡＣアドレスを示している。また、マルチキャストフレームの場合は、先頭ビットに”1”が設定され、複数の装置のグループを示すグループアドレスが格納される。
【００８９】
本発明のフレーム転送制御方法では、この先頭ビットを判定することにより、ユニキャストフレームかマルチキャストフレームかの判定を行う。
【００９０】
F03は送信元アドレスで、後述するデータF06の送信元となる装置のＭＡＣアドレスを示す。
【００９１】
F04はType/Lengthで、その値が1536以上の場合は、上位プロトコルのプロトコルタイプを示し、その値が1500以下の場合は、後述するデータF06の長さを示す。なお、1501〜1535の値は、イーサネットでは未使用となっている。
【００９２】
F05は本発明のフレーム転送制御方法で用いるドメイン識別情報で、フレームの入出力ポートをグループ化してドメイングループとした際に、そのドメイングループに付与される識別情報である。本フィールドは、本発明のフレーム転送制御装置がマルチキャストフレームを受信した際に、本発明による装置内の処理のために挿入されるもので、本フィールドに設定されたドメイン識別情報を基に、ドメイングループテーブル50を検索することにより、マルチキャストフレームの転送先ポートを選定することができる。なお、本フィールドは、マルチキャストフレームを出力する直前で削除される。
【００９３】
F06はデータで、上記宛先アドレスF2が示す装置へ届けるデータであり、上位層のプロトコルで使用される。イーサネットでは通常46〜1500バイトの可変長データとなる。
【００９４】
F07はＦＣＳ(Frame Check Sequence)で、本発明のフレーム転送制御装置が受信した上記F02、F03、F04、F06のフィールドデータについてのチェックサム計算の結果が格納される。
【００９５】
図５は、本発明のドメイングループテーブルの構成である。
【００９６】
本テーブルは、ドメイン識別番号とドメイン定義情報との対応付けを行うもので、ドメイン識別番号をキーにして本テーブルを検索することにより、対応するドメイン定義情報を獲得することができる。フレームを入出力するポートをグループ化して、各グループをドメイングループとし、そのドメイングループに割り当てた識別情報がドメイン識別情報である。また、上記ドメイングループに属するポートの位置情報を定義したものが、ドメイン定義情報であり、例えば、ポートの位置情報をビット位置で示したビットマップ形式のドメイン定義情報がある。
【００９７】
G0〜Gnは、それぞれ、ドメイン識別情報が0〜nに対応するドメイン定義情報であり、本実施例では、ドメイン定義情報がビットマップ形式で設定されている。  
【００９８】
各ドメイン定義情報は、BM0に示すように、ポート番号0〜255に対応する形でb0〜b255の各ビットが設けられ、”1”が設定されているビットに対応するポートが転送先ポートとなる。これにより、複数の宛先を持つマルチキャストフレームについても、そのドメイン識別番号が指定されれば、その転送先ポート番号が選定できる。図５の実施例では、ドメイン定義情報として256ビット分の領域を確保しているが、領域のサイズを拡張することも可能である。本テーブルの内容は、本発明とは別の手段により予め設定される。
【００９９】
本テーブルを用いて、マルチキャストフレームの転送先ポートをグループ化しておくことにより、マルチキャストフレームに固定長の数バイトの小さいサイズのドメイン識別情報を挿入するだけで、マルチキャストフレームの転送先ポートを一括して管理できる。つまり、マルチキャストフレームの転送先ポートを増加したい場合は、装置内フレームの形式は変更することなく、本テーブルのドメイン定義情報を設定変更するだけで柔軟に対応できるようになる。
【０１００】
図６は、本発明のフレーム転送制御装置の動作シーケンスで、前記図３の本発明のフレーム転送制御装置の構成で示した構成要素間のデータ受け渡しのシーケンスを表している。
【０１０１】
ここでは、前記図10のフレームバッファの動作概要で例示したように、フレームバッファ60には、ユニキャストフレームU1、マルチキャストフレームM1、ユニキャストフレームU2、ユニキャストフレームU3が順に格納されている状態での動作例を示している。また、フレームバッファ60にこれらのフレームが格納される際に、スケジューラ20およびフレーム転送制御部10に通知される宛先アドレス情報およびフレームのフレームバッファ60内の格納位置情報については、本図では省略している。また、フレームバッファ60へのアクセスタイミングと他の処理との関係を表すために、フレームバッファ60に格納されているフレームU1、M1、U2、U3およびドメイン識別情報M1_Didへのアクセス状況も併記した。
【０１０２】
S01. スケジューラ20には、フレームU1、M1、U2、U3についての宛先アドレス情報が通知され蓄積されている。この蓄積されている宛先アドレス情報を基に、まず、ユニキャストフレームU1の宛先アドレスに対応する方路のポートに帯域が割り当てられているか否かを判定し、帯域が割り当てられている場合は、フレーム転送制御部10に対してユニキャストフレームU1についてのフレーム読み出し要求RFQ(U1)を通知する。
【０１０３】
S02. フレーム読み出し要求RFQ(U1)を通利されたフレーム転送制御部10は、フレームバッファ60に対してユニキャストフレームU1の読み出し命令RF(U1)を実行し、ユニキャストフレームU1を獲得する。そして、ユニキャストフレームU1の出力要求FOQ(U1)をフレーム出力部40に通知すると同時に、スケジューラ20にユニキャストフレームU1の読み出し完了FRE(U1)を通知し、フレームバッファ60からユニキャストフレームU1を削除する。
【０１０４】
S03. ユニキャストフレームU1の出力要求FOQ(U1)を通知されたフレーム出力部40は、引き渡されたユニキャストフレームU1を、宛先アドレスに対応する方路のポートへ出力する。
【０１０５】
S04. 一方、ユニキャストフレームU1の読み出し完了FOE(U1)を通知されたスケジューラ20は、スケジューラ20が保持している次の宛先アドレス情報を参照する。次の宛先アドレス情報に対応するフレームはマルチキャストフレームM1であると判定すると、直ちに、マルチキャストフレームM1のドメイン定義情報取得要求RDMQ(M1)をフレーム転送制御部10に通知すると同時に、次の宛先アドレス情報を参照する。次の宛先アドレス情報に対応するフレームはユニキャストフレームU2であると判定すると、シーケンスS01と同様にして、ユニキャストフレームU2の宛先アドレスに対応する方路のポートに帯域が割り当てられているか否かを判定し、帯域が割り当てられている場合は、フレーム転送制御部10に対してユニキャストフレームU2についてのフレーム読み出し要求RFQ(U2)を通知する。
【０１０６】
S05. フレーム転送制御部10は、マルチキャストフレームM1のドメイン定義情報取得要求RDMQ(M1)を受け付けると、直ちに、フレームバッファ60に対してドメイン識別情報の読み出し命令RFH(M1)を実行してマルチキャストフレームM1のドメイン識別情報FD(M1_Did)を取得し、フレーム入力部30に対して、ドメイン識別情報FD(M1_Did)に対応するドメイン定義情報の取得要求DMQ(M1)を送信する。本シーケンスS05の処理は、フレームバッファ60からのデータ読み出しを数バイトのドメイン識別情報に限定することにより、極めて短時間で完了させることができ、スケジューラ20からの次の要求であるRFQ(U2)を通知される前に処理が完了するように構成できる。これにより、ユニキャストフレームU2のフレームバッファ60からの読み出しタイミングに影響を与えることなく、マルチキャストフレームM1の転送先ポートを選定できる。
【０１０７】
S06. ドメイン定義情報の取得要求DMQ(M1)を受信したフレーム入力部30は、引き渡されたドメイン識別情報をキーにしてドメイングループテーブル50を検索して対応するドメイン定義情報を獲得し、該ドメイン定義情報DM(M1)をスケジューラ20へ通知する。
【０１０８】
S07. スケジューラ20からフレーム読み出し要求RFQ(U2)を通知されたフレーム転送制御部10は、上記シーケンスS02と同様にして、フレームバッファ60に対してユニキャストフレームU2の読み出し命令RF(U2)を実行し、ユニキャストフレームU2のフレームデータFD(U2)を獲得する。そして、ユニキャストフレームU2の出力要求FOQ(U2)をフレーム出力部40に通知すると同時に、スケジューラ20にユニキャストフレームU2の読み出し完了FRE(U2)を通知し、フレームバッファ60からユニキャストフレームU2を削除する。
【０１０９】
S08. 上記シーケンスS03と同様にして、ユニキャストフレームU2の出力要求FOQ(U2)を通知されたフレーム出力部40は、引き渡されたユニキャストフレームU2を宛先アドレスに対応する方路のポートへ出力する。
【０１１０】
S09. 一方、スケジューラ20は、フレーム入力部30からマルチキャストフレームM1に対応するドメイン定義情報DM(M1)を受信すると、フレーム転送制御部10からユニキャストフレームU2の読み出し完了FRE(U2)が通知されるのを待ち合わせた後、マルチキャストフレームM1の読み出し要求RFQ(M1)をフレーム転送制御部10に通知する。ここで、マルチキャストフレームM1の読み出し要求RFQ(M1)には、マルチキャストフレームM1の第１番目の転送先ポートの位置情報が含まれている。
【０１１１】
S10. マルチキャストフレームM1の読み出し要求RFQ(M1)を通知されたフレーム転送制御部10は、フレームバッファ60に対してマルチキャストフレームM1の読み出し命令RF(M1)を実行してマルチキャストフレームM1のフレームデータFD(M1)を獲得する。そして、そのマルチキャストフレームの第１番目の転送先ポートを指定したフレーム出力要求FOQ(M1,1)を、フレーム出力部40に通知する。ここで、FOQ(M1,1)の括弧内の２番目の数値”1”は、第１番目の転送先ポートを示している。同時に、マルチキャストフレームM1を出力フレーム記憶部70に格納して、マルチキャストフレームM1の読み出し完了FOE(M1)をスケジューラ20へ通知した後、フレームバッファ60からマルチキャストフレームM1を削除する。
【０１１２】
S11. スケジューラ20は、フレーム転送制御部10からマルチキャストフレームM1の読み出し完了FRE(M1)を通知されると、マルチキャストフレームM1の第２番目の転送先となるポートに帯域が割り当てられているか否かを判定し、割り当てられていれば、その第２番目の転送先ポートへの出力要求FOQ(M1,2)をフレーム出力部40に通知する。フレーム出力部40から出力完了FOE(M1,2)が通知されたならば、同様にして、順次、マルチキャストフレームM1の全ての転送先ポートへの出力要求をフレーム出力部40へ通知する。
【０１１３】
一方、上記のマルチキャストフレームM1の出力処理の動作と並行して、スケジューラ20で保持している次の宛先アドレス情報を参照する。ここでは、次の宛先アドレス情報としてユニキャストフレームU3の宛先アドレス情報が参照され、フレーム転送制御部10に対してユニキャストフレームU3の読み出し要求RFQ(U3)を通知する。その後、フレーム転送制御部10から読み出し完了FRE(U3)が通知される。
【０１１４】
S12. フレーム出力部40は、フレーム転送制御部10から通知されたマルチキャストフレームM1の第１番目の転送先ポートへの出力要求FOQ(M1,1)については、同時に引き渡されるマルチキャストフレームM1からドメイン識別情報を削除して、１番目の転送先となるポートへ出力する。
【０１１５】
一方、スケジューラ20から通知されるマルチキャストフレームM1の第２番目以降の転送先ポートへの出力要求FOQ(M1,2)、FOQ(M1,3)については、出力フレーム記憶部40に格納されているマルチキャストフレームM1を読み出し、ドメイン識別情報を削除した後、該転送先ポートへ出力する。これを、マルチキャストフレームM1の全ての転送先ポートへの出力が完了するまで行う。
【０１１６】
フレーム転送制御部10からのユニキャストフレームU3の出力要求FOQ(U3)については、同時に引き渡されたユニキャストフレームU3を、宛先アドレスに対応する方路のポートへ出力する。
【０１１７】
S13. フレーム転送制御部10は、スケジューラ20からユニキャストフレームU3の読み出し要求RFQ(U3)を通知されると、シーケンスS02と同様にして、フレームバッファ60に対してユニキャストフレームU3の読み出し命令RF(U3)を実行し、ユニキャストフレームU3を獲得する。そして、ユニキャストフレームU3の出力要求FOQ(U3)をフレーム出力部40に通知すると同時に、スケジューラ20にユニキャストフレームU3の読み出し完了FRE(U3)を通知し、フレームバッファ60からユニキャストフレームU3を削除する。
【０１１８】
図７は、本発明のフレーム転送制御装置の動作フローチャート（１）で、フレームバッファ60からフレームを読み出して出力する際のスケジューラ20の動作フローチャートを示している。
【０１１９】
S10.  フレーム入力部30から通知される宛先アドレス情報の蓄積領域から宛先アドレス情報を読み出して、次のステップS10へ進む。ここで、蓄積されている宛先アドレス情報がないときは、新たな宛先アドレス情報がフレーム入力部30から通知されて蓄積されるまで待ち合わせる。
【０１２０】
S20. 該宛先アドレス情報がユニキャストフレームのアドレスか否かを判定し、ユニキャストフレームならば（YES）次のステップS30へ移行し、マルチキャストフレームならば(NO)マルチキャストフレーム出力プロセスを起動する。この判定は、宛先アドレス情報の先頭ビットを判定することにより行う。
【０１２１】
S30. 該宛先アドレス情報に対応する方路のポートに帯域が割り当てられているか否か判定し、帯域が割り当てられていれば(YES)、次のステップS40に進み、帯域が割り当てられていなければ(NO)、ステップS10に戻って次の宛先アドレス情報についての処理を行う。
【０１２２】
S40. フレーム転送制御部10に依頼して、該宛先アドレス情報に対応するユニキャストフレームをフレームバッファ60から読み出す。
【０１２３】
S50. フレーム出力部40に依頼して、該ユニキャストフレームを該宛先アドレスに対応する方路のポートに出力する。
【０１２４】
S60. フレームバッファ60内の該ユニキャストフレームを削除し、ステップS10へ戻る。
【０１２５】
S70. マルチキャストフレームの出力処理を、別プロセスとして実行する。つまり、上記ステップS10〜S60の処理とは並行動作する形で、後述するマルチキャストフレーム出力プロセス処理を実行する。
【０１２６】
図８は、本発明のフレーム転送制御装置の動作フローチャート（２）で、マルチキャストフレーム出力プロセスの処理手順を示している。
【０１２７】
S71. フレームバッファ60に格納されているマルチキャストフレーム内のドメイン識別情報を読み出す。
【０１２８】
S72. 上記ステップS71で読み出したドメイン識別情報をキーにして、ドメイングループテーブル50を検索して、対応するドメイン定義情報を獲得し、該マルチキャストフレームの転送先となるポートを選定する。この際、帯域が割り当てられているポートから順に選定される。
【０１２９】
S73. フレームバッファ60から該マルチキャストフレームを読み出す。
【０１３０】
S74. 上記ステップS73で読み出したマルチキャストフレームを、ステップS72で選定した転送先ポートの第１番目のポートへ出力する。
【０１３１】
S75. 該マルチキャストフレームを出力フレーム記憶部70へ格納する。
【０１３２】
S76. フレームバッファ60内の該マルチキャストフレームデータを削除する。これにより、次のステップS75で実行される該マルチキャストフレームの２番目以降の転送先ポートへの出力処理の間も、フレームバッファ60内に該マルチキャストフレームデータを保持しておく必要がなく、フレームバッファ60の領域の有効活用が可能となる。
【０１３３】
S77. 上記ステップS72で選定された転送先ポートのうち、第２番目以降の転送先ポートに対して、その帯域が確保されているタイミングを監視し、帯域が割り当てられたときに出力フレーム記憶部70に格納されているマルチキャストフレームを出力する。そして、全ての転送先ポートへの出力が完了した時点で、本プロセスの処理を終了する。
【０１３４】
上記に詳述した本発明の実施形態において、図３の本発明のフレーム転送制御装置の構成については、様々な変形が可能であるが、本発明は同様に適用できる。図５の本発明のドメイングループテーブルの構成についても、ここではビットマップ形式のドメイン定義情報による実施例を示したが、本発明はこれに限定されない。また、図４の本発明の装置内フレームの構成で示したドメイン識別情報の配置方法についても、これに限定されるものではない。
【０１３５】
以上述べた本発明の実施の態様は、以下の付記の通りである。
（付記１）  フレームの入出力先ポートをグループ化したドメイングループを識別するドメイン識別情報と、前記ドメイングループ内の各ポートの位置情報を含むドメイン定義情報とを対応付けるドメイングループテーブルを備え、
入力したフレームがマルチキャストフレームの場合は、前記マルチキャストフレームに前記ドメイン識別情報を挿入してフレームバッファに格納し、
前記マルチキャストフレームの出力時は、前記フレームバッファに格納されている前記ドメイン識別情報を基に前記ドメイングループテーブルを検索して前記ドメイン定義情報を選定し、
前記選定したドメイン定義情報に含まれる位置情報に基づいて前記マルチキャストフレームを出力する、
ことを特徴とするフレーム転送制御方法。
（付記２）  付記１に記載のフレーム転送制御方法において、
前記ドメイン定義情報の選定のためのフレームバッファの読み出しは、前記マルチキャストフレーム内に挿入された前記ドメイングループ識別情報の部分に限定し、ユニキャストフレームのフレームバッファからの読み出しとの競合を回避する、
ことを特徴とするフレーム転送制御方法。
（付記３）  付記１に記載のフレーム転送制御方法において、
前記マルチキャストフレームの出力のための出力フレーム記憶部を設け、
前記マルチキャストフレームの出力時は、前記フレームバッファから読み出した前記マルチキャストフレームの第１番目の転送先となるポートへ出力すると同時に、前記出力フレーム記憶部へ格納し、
前記マルチキャストフレームの第２番目以降の転送先となるポートへの出力は、前記出力フレーム記憶部に格納されているマルチキャストフレームを読み出して行う、
ことを特徴とするフレーム転送制御方法。
（付記４）  付記１に記載のフレーム転送制御方法において、
前記ドメイン定義情報は、フレームの入出力先ポートの位置情報をビットマップ形式の情報で定義する、
ことを特徴とするフレーム転送制御方法。
（付記５）  フレームの入出力先ポートをグループ化したドメイングループを識別するドメイン識別情報と、前記ドメイングループ内の各ポートの位置情報を含むドメイン定義情報とを対応付けるドメイングループテーブルと、
入力したフレームがマルチキャストフレームの場合は、前記マルチキャストフレームに前記ドメイン識別情報を挿入してフレームバッファに格納する手段と、
前記マルチキャストフレームの出力時は、前記フレームバッファに格納されている前記ドメイン識別情報を基に前記ドメイングループテーブルを検索して前記ドメイン定義情報を選定する手段と、
前記選定したドメイン定義情報に含まれる位置情報に基づいて前記マルチキャストフレームを出力する手段を備える、
ことを特徴とするフレーム転送制御装置。
（付記６）  付記５に記載のフレーム転送制御装置において、
前記ドメイン定義情報の選定のためのフレームバッファの読み出しは、前記マルチキャストフレーム内に挿入された前記ドメイングループ識別情報の部分に限定し、ユニキャストフレームのフレームバッファからの読み出しとの競合を回避する手段を備える、
ことを特徴とするフレーム転送制御装置。
（付記７）  付記５に記載のフレーム転送制御装置において、
前記マルチキャストフレームの出力のための出力フレーム記憶部と、
前記マルチキャストフレームの出力時は、前記フレームバッファから読み出した前記マルチキャストフレームの第１番目の転送先となるポートへ出力すると同時に、前記出力フレーム記憶部へ格納する手段と、
前記マルチキャストフレームの第２番目以降の転送先となるポートへの出力は、前記出力フレーム記憶部に格納されているマルチキャストフレームを読み出して行う手段を備える、
ことを特徴とするフレーム転送制御装置。
【図面の簡単な説明】
【０１３６】
【図１】本発明のフレーム転送制御方法の概要
【図２】本発明のフレーム転送制御方法の処理タイムチャート
【図３】本発明のフレーム転送制御装置の構成
【図４】本発明の装置内フレームの構成
【図５】本発明のドメイングループテーブルの構成
【図６】本発明のフレーム転送制御装置の動作シーケンス
【図７】本発明のフレーム転送制御装置の動作フローチャート（１）
【図８】本発明のフレーム転送制御装置の動作フローチャート（２）
【図９】従来技術のフレーム転送制御方法の処理タイムチャート
【図１０】フレームバッファの動作概要
【図１１】従来技術のフレーム転送制御方法の概要
【符号の説明】
【０１３７】
10    フレーム転送制御部
20    スケジューラ
30    フレーム入力部
40    フレーム出力部
50    ドメイングループテーブル
60    フレームバッファ
70    出力フレーム記憶部
F01    プリアンブル
F02    宛先アドレス(DA)
F03    送信元アドレス(SA)
F04    Type/Length
F05    ドメイン識別情報
F06    データ
F07    ＦＣＳ
FB01〜FB04    フレームバッファに格納されたフレーム
FD(x)    フレームxの読み出しデータ
FOQ(x)    フレームxの出力要求
F0E(x,i)    マルチキャストフレームxの第i番目の転送先ポートへの出力完了通知
FRE(x)    フレームxの読み出し完了
G01〜Gn    ドメイングループテーブルのエントリ
M1    マルチキャストフレーム
M1_Did    マルチキャストフレームM1のドメイン識別情報
P01    フレーム入力関連処理
P02    ユニキャストフレーム関連処理
P03    マルチキャストフレーム関連処理
P(M1)    マルチキャストフレームM1関連処理
P(U1)    ユニキャストフレームU1関連処理
P(U2)    ユニキャストフレームU2関連処理
P(U3)    ユニキャストフレームU3関連処理
RDMQ(x)    マルチキャストフレームxのドメイン識別情報読み取り要求
RFQ(x)    フレームxの読み取り要求
RFH(x)     マルチキャストフレームxのドメイン識別情報読み取り命令
RF(x)    フレームｘの読み取り命令
T1    ユニキャストフレーム関連処理の時間軸
T101〜T110    時間軸T1上の処理時間帯
T2    マルチキャストフレーム関連処理の時間軸
T201〜T207    時間軸T2上の処理時間帯
U1〜U3    ユニキャストフレーム
【図１】
2005101858.tif 000003
【図２】
2005101858.tif 000004
【図３】
2005101858.tif 000005
【図４】
2005101858.tif 000006
【図５】
2005101858.tif 000007
【図６】
2005101858.tif 000008
【図７】
2005101858.tif 000009
【図８】
2005101858.tif 000010
【図９】
2005101858.tif 000011
【図１０】
2005101858.tif 000012
【図１１】
2005101858.tif 000013