(57)【要約】  ＦＤＢ学習フレームを取りこぼすことなく、高速にＦＤＢ学習を行う。スイッチングシステムは、複数のラインカードと、スイッチカードと、を含む。ラインカードは、前記スイッチカードに対し、ＦＤＢ学習が可能な状態にあるか否かを通知する。スイッチカードは、前記複数のラインカードから受信したＦＤＢ学習情報を蓄積する学習情報蓄積部と、前記各ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記学習情報蓄積部に蓄積したＦＤＢ学習情報を選択して送信するＦＤＢ学習調停部とを備える。
2013180287.tif 000002
【特許請求の範囲】
【請求項１】
転送データベース（以下、「ＦＤＢ」）と、ＦＤＢから受信フレームに適合するエントリを検索してＦＤＢの学習が必要か否かを判定し、ＦＤＢの学習が必要と判定した場合、スイッチカードに対してＦＤＢ学習情報を送信するＦＤＢ検索部と、前記スイッチカードから受信したＦＤＢ学習情報を前記ＦＤＢに登録するＦＤＢ学習部とを備え、前記スイッチカードに対し、ＦＤＢ学習が可能な状態にあるか否かを通知する複数のラインカードと、
前記複数のラインカードから受信したＦＤＢ学習情報を蓄積する学習情報蓄積部と、前記各ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記学習情報蓄積部に蓄積したＦＤＢ学習情報を選択して送信するＦＤＢ学習調停部とを備えるスイッチカードと、を含むこと、
を特徴とするスイッチングシステム。
【請求項２】
前記ラインカードは、前記ＦＤＢに前記ＦＤＢ学習情報を書き込んでいる期間は、前記スイッチカードに対してＦＤＢ学習が可能な状態でないことを通知する請求項１のスイッチングシステム。
【請求項３】
前記ラインカードは、自装置の負荷状態を表す数値が所定のしきい値を超えたか否かにより、ＦＤＢ学習が可能な状態にあるかを通知する請求項１又は２のスイッチングシステム。
【請求項４】
前記ラインカードは、さらに、前記スイッチカードに対して送信する情報を所定のフレームに格納するフレーム処理部を備え、
前記スイッチカードは、前記フレームに含まれるフラグに基づいてフレームからＦＤＢ学習情報を取り出して前記学習情報蓄積部に登録する請求項１から３いずれか一のスイッチングシステム。
【請求項５】
前記所定のフレームを用いて、前記受信フレームと前記ＦＤＢ学習情報とが同一の物理的配線で送信される請求項４のスイッチングシステム。
【請求項６】
前記スイッチカードは、前記各ラインカードから受信したＦＤＢ学習が可能な状態にあるか否かを示す信号の論理和又は論理積に基づいて、前記スイッチカードに対するＦＤＢ学習情報を送信を開始する請求項１から５いずれか一のスイッチングシステム。
【請求項７】
ラインカードから受信した転送データベース（以下、「ＦＤＢ」）学習情報を蓄積する学習情報蓄積部と、前記ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記蓄積したＦＤＢ学習情報を送信するＦＤＢ学習調停部とを備えるスイッチカードと、接続され、
前記ＦＤＢから受信フレームに適合するエントリを検索して、ＦＤＢの学習が必要か否かを判定し、ＦＤＢの学習が必要と判定した場合、スイッチカードに対してＦＤＢ学習情報を送信するＦＤＢ検索部と、前記スイッチカードから受信したＦＤＢ学習情報を前記ＦＤＢに登録するＦＤＢ学習部とを備え、前記スイッチカードに対し、ＦＤＢ学習が可能な状態にあるか否かを通知するラインカード。
【請求項８】
ラインカードから受信した転送データベース（以下、「ＦＤＢ」）学習情報を蓄積する学習情報蓄積部と、前記ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記蓄積したＦＤＢ学習情報を送信するＦＤＢ学習調停部とを備えるスイッチカード。
【請求項９】
ラインカードから受信した転送データベース（以下、「ＦＤＢ」）学習情報を蓄積する学習情報蓄積部と、前記ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記蓄積したＦＤＢ学習情報を送信するＦＤＢ学習調停部とを備えるスイッチカードと接続されたラインカードが、
ＦＤＢから受信フレームに適合するエントリを検索して、ＦＤＢの学習が必要か否かを判定するステップと、
ＦＤＢの学習が必要と判定した場合、スイッチカードに対してＦＤＢ学習情報を送信するステップと、
すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記スイッチカードから送信されるＦＤＢ学習情報を前記ＦＤＢに登録するステップと、を含むＦＤＢ学習方法。
【請求項１０】
転送データベース（以下、「ＦＤＢ」）から受信フレームに適合するエントリを検索して、ＦＤＢの学習が必要か否かを判定し、ＦＤＢの学習が必要と判定した場合、スイッチカードに対してＦＤＢ学習情報を送信するＦＤＢ検索部と、前記スイッチカードから受信したＦＤＢ学習情報を前記ＦＤＢに登録するＦＤＢ学習部とを備え、前記スイッチカードに対し、ＦＤＢ学習が可能な状態にあるか否かを通知する複数のラインカードと接続されたスイッチカードが、
ラインカードから受信したＦＤＢ学習情報を蓄積するステップと、
前記ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記蓄積したＦＤＢ学習情報を送信するステップと、
を含むＦＤＢ学習調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１２−１２６２３３号（２０１２年６月１日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、スイッチングシステム、ラインカード、スイッチカード、ＦＤＢ学習方法、ＦＤＢ学習調停方法及びプログラムに関し、特に、転送データベース（以下、「ＦＤＢ」）を複数備えるスイッチングシステム、ラインカード、スイッチカード、ＦＤＢ学習方法、ＦＤＢ学習調停方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に、ＦＤＢを備えた複数のラインカード（同文献のカードＡ、カードＣ）と、これらラインカードからのＦＤＢ情報（ＦＤＢ学習情報）を収集し、各ラインカードに送信する管理部を備える第２のカードとを備えるスイッチ装置が開示されている。【０００３】
特許文献１のスイッチ装置の方式では、装置内部の帯域制限機能によってＦＤＢ情報（ＦＤＢ学習情報）を格納したフレームが破棄される場合がある。そこで、特許文献２には、各ラインカードに送信レート制御回路を搭載し、ＦＤＢ間の同期が確実に行われるようにした構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１７７７２２号公報
【特許文献２】特開２０１１−９１４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の分析は、本発明によって与えられたものである。特許文献２の送信レート制御回路は、カウンタに設定した時間だけ強制的に学習用フレームを送信しない時間（レート制限区間）を設けることにより、学習用フレームの送信レートの制御を行っている（図７、段落００５４参照）。フレーム破棄が発生しないことを前提とすると、例えば、Ｎ枚のラインカードが接続されている場合、送信レートは（１／（Ｎ−１））×１００％となり、カウンタに設定する時間も相応に増大することになる（段落００６８参照）。このため、中継経路の帯域に余裕がある状態でも、最悪値の数しかＦＤＢ学習ができないという問題点がある。前述の式によれば、１０個のラインカードのスロットを有しているスイッチに１０枚のラインカードが接続されている場合、送信レートは約１１．１％となり、単位時間あたりのＦＤＢ学習速度が著しく遅くなってしまう。【０００６】
本発明は、ＦＤＢ学習フレームを取りこぼすことなく、高速にＦＤＢ学習を行うことのできるスイッチングシステム、ラインカード、スイッチカード、ＦＤＢ学習方法、ＦＤＢ学習調停方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の視点によれば、転送データベース（以下、「ＦＤＢ」）と、ＦＤＢから受信フレームに適合するエントリを検索してＦＤＢの学習が必要か否かを判定し、ＦＤＢの学習が必要と判定した場合、スイッチカードに対してＦＤＢ学習情報を送信するＦＤＢ検索部と、前記スイッチカードから受信したＦＤＢ学習情報を前記ＦＤＢに登録するＦＤＢ学習部とを備え、前記スイッチカードに対し、ＦＤＢ学習が可能な状態にあるか否かを通知する複数のラインカードと、前記複数のラインカードから受信したＦＤＢ学習情報を蓄積する学習情報バッファと、前記各ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記学習情報バッファに蓄積したＦＤＢ学習情報を選択して送信するＦＤＢ学習調停部とを備えるスイッチカードと、を含むこと、を特徴とするスイッチングシステムが提供される。【０００８】
第２の視点によれば、ラインカードから受信したＦＤＢ学習情報を蓄積する学習情報バッファと、前記ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記蓄積したＦＤＢ学習情報を送信するＦＤＢ学習調停部とを備えるスイッチカードと、接続され、ＦＤＢから受信フレームに適合するエントリを検索して、ＦＤＢの学習が必要か否かを判定し、ＦＤＢの学習が必要と判定した場合、スイッチカードに対してＦＤＢ学習情報を送信するＦＤＢ検索部と、前記スイッチカードからしたＦＤＢ学習情報を前記ＦＤＢに登録するＦＤＢ学習部とを備え、前記スイッチカードに対し、ＦＤＢ学習が可能な状態にあるか否かを通知するラインカードが提供される。【０００９】
第３の視点によれば、ラインカードから受信したＦＤＢ学習情報を蓄積する学習情報バッファと、前記ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記蓄積したＦＤＢ学習情報を送信するＦＤＢ学習調停部とを備えるスイッチカードが提供される。【００１０】
第４の視点によれば、ラインカードから受信したＦＤＢ学習情報を蓄積する学習情報バッファと、前記ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記蓄積したＦＤＢ学習情報を送信するＦＤＢ学習調停部とを備えるスイッチカードと接続されたラインカードが、ＦＤＢから受信フレームに適合するエントリを検索して、ＦＤＢの学習が必要か否かを判定するステップと、ＦＤＢの学習が必要と判定した場合、スイッチカードに対してＦＤＢ学習情報を送信するステップと、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記スイッチカードから送信されるＦＤＢ学習情報を前記ＦＤＢに登録するステップと、ＦＤＢ学習方法が提供される。本方法は、ＦＤＢ学習を行うラインカードという、特定の機械に結びつけられている。【００１１】
第５の視点によれば、ＦＤＢから受信フレームに適合するエントリを検索して、ＦＤＢの学習が必要か否かを判定し、ＦＤＢの学習が必要と判定した場合、スイッチカードに対してＦＤＢ学習情報を送信するＦＤＢ検索部と、前記スイッチカードから受信したＦＤＢ学習情報を前記ＦＤＢに登録するＦＤＢ学習部とを備え、前記スイッチカードに対し、ＦＤＢ学習が可能な状態にあるか否かを通知する複数のラインカードと接続されたスイッチカードが、ラインカードから受信したＦＤＢ学習情報を蓄積するステップと、前記ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記蓄積したＦＤＢ学習情報を送信するステップと、を含むＦＤＢ学習調停方法が提供される。本方法は、ラインカードにＦＤＢ学習情報を送信するスイッチカードという、特定の機械に結びつけられている。【００１２】
第６の視点によれば、上記したラインカード又はスイッチカードに搭載されたコンピュータに実行させるコンピュータプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１３】
本発明によれば、ＦＤＢ学習フレームを取りこぼすことなく、高速にＦＤＢ学習を行うことが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態の構成を示す図である。
【図２】転送データベース（ＦＤＢ）の概略構成を説明するための図である。
【図３】本発明の第１の実施形態のラインカードの動作（フレーム受信時）を表したフローチャートである。
【図４】本発明の第１の実施形態のスイッチカードの動作（ＦＤＢ学習情報受信時）を表したフローチャートである。
【図５】本発明の第１の実施形態のスイッチカードの動作（ＦＤＢ学習情報送信）を表したフローチャートである。
【図６】本発明の第１の実施形態のラインカードの動作（ＦＤＢ学習情報受信時）を表したフローチャートである。
【図７】本発明の第２の実施形態の構成を示す図である。
【図８】本発明の第２の実施形態で用いる専用フレームの構成を示す図である。
【図９】本発明の第２の実施形態のラインカードの動作（フレーム受信時）を表したフローチャートである。
【図１０】本発明の第２の実施形態のスイッチカードの動作（専用フレーム受信時）を表したフローチャートである。
【図１１】本発明の第２の実施形態のラインカードの動作（専用フレーム受信時）を表したフローチャートである。
【発明を実施するための形態】
【００１５】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１６】
本発明は、その一実施形態において図１に示すように、スイッチカード２００に、複数のラインカード１００、１１０が接続された構成にて実現できる。より具体的には、ラインカード１００（１１０）は、ＦＤＢ１０１（１１１）と、ＦＤＢ１０１（１１１）から受信フレームに適合するエントリを検索してＦＤＢの学習が必要か否かを判定し、ＦＤＢの学習が必要と判定した場合、スイッチカード２００に対してＦＤＢ学習情報を送信するＦＤＢ検索部１０３（１１３）と、スイッチカード２００から受信したＦＤＢ学習情報をＦＤＢ１０１（１１１）に登録するＦＤＢ学習部１０２（１１２）とを備える。さらに、各ラインカード１００、１１０は、スイッチカード２００に対し、自装置がＦＤＢ学習可能な状態にあるか否かを通知する動作を行う。
【００１７】
スイッチカード２００は、ラインカード１００、１１０から受信したＦＤＢ学習情報を蓄積する学習情報バッファ２０１と、各ラインカード１００、１１０からの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、各ラインカード１００、１１０に対して学習情報バッファ２０１に蓄積したＦＤＢ学習情報を選択して送信するＦＤＢ学習調停部２０２とを備える。
【００１８】
上記構成により、すべてのラインカードがＦＤＢ学習可能な状態であるときに、各ラインカードに対するＦＤＢ学習情報の送信が行われるため、各ラインカードの負荷が少ない期間において積極的にＦＤＢ学習が行われる。また、学習情報は、学習情報バッファ２０１に蓄積されるためＦＤＢ学習フレームを取りこぼしも防止される。
【００１９】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態のスイッチングシステムの構成を示す図である。図１を参照すると、スイッチカード２００に、複数のラインカード１００、１１０を接続した構成が示されている。以下の説明では、１つのスイッチカードに４枚のラインカードが接続されているものとし、１つのラインカードに１つのイーサネット（登録商標）ポートがあるものとする。また、本実施形態では、ＦＤＢ１０１（１１１）を用いたフレームの転送処理については省略する。
【００２０】
ラインカード１００（１１０）は、ＦＤＢ１０１（１１１）と、ＦＤＢ検索部１０３（１１３）と、ＦＤＢ学習部１０２（１１２）とを含んで構成されている。
【００２１】
ＦＤＢ１０１（１１１）は、イーサネットフレームを転送するために必要な情報を格納するデータベースである。例えば、ＦＤＢ１０１（１１１）は、図２に示すように、ＭＡＣアドレスとライン番号を１セットとして０セットまたは複数セット格納しているテーブル等によって実現することもできる。なお、ラインカード１００（１１０）に複数のポートが備えられている場合、ＦＤＢ１０１（１１１）の各エントリには、ポート番号が対応付けられる。
【００２２】
ＦＤＢ１０１（１１１）は、ＦＤＢ検索部１０３（１１３）からの問い合わせを受けるとＭＡＣアドレス等をキーとして該当するエントリを検索し、ＦＤＢ検索部１０３（１１３）に対し検索した結果を送信する。また、ＦＤＢ１０１（１１１）は、ＦＤＢ学習部１０２（１１２）から、ＦＤＢ学習情報の登録を受け付ける。
【００２３】
ＦＤＢ学習部１０２（１１２）は、ＦＤＢ１０１（１１１）とスイッチカード２００のＦＤＢ学習調停部２０２とに接続されている。ＦＤＢ学習部１０２（１１２）は、スイッチカード２００のＦＤＢ学習調停部２０２からＦＤＢ学習情報を受信すると、ＦＤＢ１０１（１１１）に登録する。
【００２４】
また、ＦＤＢ学習部１０２（１１２）は、スイッチカード２００のＦＤＢ学習調停部２０２に対して、ＦＤＢ学習が可能な状態にあるか否かを示す情報として、バックプレッシャー（例えば、ＦＤＢ１０１（１１１）へのアクセスインタフェースが使用中の場合、第１の値（Ｈｉｇｈ）、アクセスインタフェースが未使用の場合、第２の値（ｌｏｗ）とする）を送信する。ＦＤＢ学習が可能な状態にあるか否かを示す情報としては、バックプレッシャーのほか、スイッチカード２００のＦＤＢ学習調停部２０２に現在の負荷状態等を伝えるようにしてもよい。例えば、ＣＰＵ使用率が９０％を超えると、ＣＰＵ輻輳状態発生を表すパケットを送信し、９０％未満に下がるとＣＰＵ輻輳状態解除を表すパケットを送信する態様を採ることができる。
【００２５】
ＦＤＢ検索部１０３（１１３）は、外部とＦＤＢ１０１（１１１）とスイッチカード２００のＦＤＢ学習調停部２０２とに接続されている。ＦＤＢ検索部１０３（１１３）は、外部からフレームを受信すると、受信フレームと受信ラインからＦＤＢ学習情報（受信フレームの送信元ＭＡＣアドレスとライン番号）と、検索用情報（受信フレームのＭＡＣアドレス）を作成し、ＦＤＢ１０１（１１１）に対して検索用情報に対応するエントリを問い合わせる。
【００２６】
前記問い合わせの結果、ＦＤＢ１０１（１１１）に該当するエントリが存在しない、又は、該当エントリとＦＤＢ学習情報が不一致の場合、ＦＤＢ検索部１０３（１１３）は、ＦＤＢの学習が必要であると判定し、スイッチカード２００のＦＤＢ学習調停部２０２に対して、ＦＤＢ学習情報を送信する。一方、前記問い合わせの結果、ＦＤＢ１０１（１１１）に該当するエントリが存在し、ＦＤＢ学習情報と一致するという結果が得られた場合、ＦＤＢ検索部１０３（１１３）は、ＦＤＢの学習は不要であると判定し、なにもしない。
【００２７】
スイッチカードは、学習情報バッファ２０１と、ＦＤＢ学習調停部２０２とを含んで構成されている。
【００２８】
ＦＤＢ学習調停部２０２は、学習情報バッファ２０１と、ラインカード１００（１１０）のＦＤＢ検索部１０３（１１３）と、ＦＤＢ学習部１０２（１１２）とに接続されている。ＦＤＢ学習調停部２０２は、ＦＤＢ検索部１０３（１１３）からＦＤＢ学習情報を受信すると、学習情報バッファ２０１に格納する。また、ＦＤＢ学習調停部２０２は、すべてのＦＤＢ学習部１０２、１１２からバックプレッシャーを受信していない場合、すべてのラインカード１００、１１０に対して、学習情報バッファ２０１から取り出したＦＤＢ学習情報を送信する。なお、学習情報バッファ２０１に複数のＦＤＢ学習情報が格納されている場合における、取り出すＦＤＢ学習情報の選択基準は任意に設定できる。一方、いずれかのＦＤＢ学習部１０２、１１２からバックプレッシャーを受信している場合、ＦＤＢ学習調停部２０２は、ＦＤＢ学習情報の送信を休止する。
【００２９】
前記ＦＤＢ学習調停部２０２における、すべてのＦＤＢ学習部１０２、１１２からバックプレッシャーを受信しているか否かの判定は、各ラインカード１００、１１０から送信される信号（例えば、Ｈｉｇｈならば学習可能状態、Ｌｏｗならば学習不可能状態）の論理和乃至論理積を用いて、すべてのラインカードの状態を把握させる構成にて実現可能である。
【００３０】
学習情報バッファ２０１は、ＦＤＢ学習調停部２０２から送信されたＦＤＢ学習情報を蓄積する。ＦＤＢ学習調停部２０２は、学習情報バッファ２０１から読み出したＦＤＢ学習情報を削除する。
【００３１】
なお、図１に示したラインカードやスイッチカードの各部（処理手段）は、これらの装置に搭載されたコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３２】
続いて、本実施形態の動作について図面を参照して詳細に説明する。本実施形態に係るスイッチングシステムでは、４つの処理が並列で動作している。以下、それぞれの処理のフローチャートを用いて動作を説明する。
【００３３】
（１）ＦＤＢ検索処理
図３は、本発明の第１の実施形態のラインカード１００（１１０）のフレーム受信時に行われるＦＤＢ検索処理の流れを表したフローチャートである。
【００３４】
図３を参照すると、まず、ラインカード１００（１１０）は、ＦＤＢ検索部１０３（１１３）にて、外部からフレームを受信すると、受信フレームと受信ラインからＦＤＢ学習情報と、検索用情報を作成する。そして、ＦＤＢ検索部１０３（１１３）は、ＦＤＢ１０１（１１１）に対して、検索用情報をキーに該当エントリの有無を問い合わせる。ＦＤＢ１０１（１１１）は、図２に例示したテーブル等を検索し、ＦＤＢ検索部１０３（１１３）に対して、検索結果を応答する（ステップＳ２０１）。
【００３５】
前記検索の結果、ＦＤＢ１０１（１１１）に、該当ＭＡＣアドレスに対応するエントリが登録されていない場合（ステップＳ２０２のＮｏ）、ＦＤＢ検索部１０３（１１３）は、スイッチカード２００のＦＤＢ学習調停部２０２に対して、ＦＤＢ学習情報を送信し（ステップＳ２０４）、処理を終了する。
【００３６】
ＦＤＢ１０１（１１１）に、該当ＭＡＣアドレスに対応するエントリが登録されている場合（ステップＳ２０２のＹｅｓ）、ＦＤＢ検索部１０３（１１３）は、ＦＤＢ１０１（１１１）から応答されたエントリと、ＦＤＢ学習情報（受信フレームの送信元ＭＡＣアドレスとライン番号）とを比較する（ステップＳ２０３）。
【００３７】
前記比較の結果、両者が一致していた場合（ステップＳ２０３のＹｅｓ）、ＦＤＢ検索部１０３（１１３）は、何もせず、処理を終了する。
【００３８】
前記比較の結果、両者が不一致である場合（ステップＳ２０３のＮｏ）、ＦＤＢ検索部１０３（１１３）は、スイッチカード２００のＦＤＢ学習調停部２０２に対して、ＦＤＢ学習情報を送信し（ステップＳ２０４）、処理を終了する。
【００３９】
以上のようにして、ラインカードにフレームが入力される度、ＦＤＢ学習の要否が判断され、必要であれば、スイッチカード２００のＦＤＢ学習調停部２０２にＦＤＢ学習情報を送信する動作が行われる。
【００４０】
（２）ＦＤＢ学習情報の格納処理
図４は、本発明の第１の実施形態のスイッチカード２００のＦＤＢ学習情報の受信時に行われる格納処理の流れを表したフローチャートである。
【００４１】
図４を参照すると、スイッチカード２００のＦＤＢ学習調停部２０２は、ラインカード１００（１１０）のＦＤＢ検索部１０３（１１３）からＦＤＢ学習情報を受信すると、学習情報バッファ２０１にＦＤＢ学習情報を格納し（ステップＳ３０１）、処理を終了する。なお、学習情報バッファ２０１へのＦＤＢ学習情報の格納位置は、予め定められた規則に従って決定される。本実施形態では、学習情報バッファ２０１の最後尾に新しいＦＤＢ学習情報を格納するものとする。
【００４２】
（３）ＦＤＢ学習の調停処理
図５は、本実施形態のスイッチカード２００のＦＤＢ学習情報送信処理（調停処理）の流れを表したフローチャートである。ここで、「調停処理」は、確実にＦＤＢ学習を実施可能なタイミングで、ＦＤＢ学習部１０２（１１２）に対して、ＦＤＢ学習情報を送信する処理を指している。
【００４３】
図５の調停処理フローは、学習情報バッファ２０１に１つ以上のＦＤＢ学習情報が格納されている場合に開始され、その後、学習情報バッファ２０１が空になるまで行われる。
【００４４】
図５を参照すると、スイッチカード２００のＦＤＢ学習調停部２０２は、学習情報バッファ２０１にＦＤＢ学習情報が１つ以上格納されていることを確認すると、各ラインカードのＦＤＢ学習部１０２（１１２）から、バックプレッシャーを受信しているか否かを判断する（ステップＳ４０１）。ここで、少なくとも１つ以上のラインカードから、バックプレッシャーを受信している場合、ＦＤＢ学習調停部２０２は、以降のＦＤＢ学習情報の送信処理を延期する（ステップＳ４０１に戻る）。
【００４５】
一方、すべてのラインカードからバックプレッシャーを受信していない場合、ＦＤＢ学習調停部２０２は、学習情報バッファ２０１から、最前列のＦＤＢ学習情報を取り出す（ステップＳ４０２）。
【００４６】
そして、ＦＤＢ学習調停部２０２は、接続しているすべてのラインカード１００（１１０）のＦＤＢ学習部１０２（１１２）に対して、前記取り出したＦＤＢ学習情報を送信し（ステップＳ４０３）、処理を終了する。なお、前記ステップＳ４０２またはＳ４０３の終了後、前記送信が済んだＦＤＢ学習情報は、学習情報バッファ２０１から削除される。
【００４７】
（４）ＦＤＢ学習処理
図６は、本実施形態のラインカード１００（１１０）のＦＤＢ学習情報受信時の動作を表したフローチャートである。図６を参照すると、ラインカード１００（１１０）のＦＤＢ学習部１０２（１１２）は、スイッチカード２００のＦＤＢ学習調停部２０２からＦＤＢ学習情報を受信すると、スイッチカード２００のＦＤＢ学習調停部２０２に対して、バックプレッシャーの送信を開始する（ステップＳ５０１）。なお、バックプレッシャーは、ＦＤＢ１０１（１１１）への登録が完了するまで、継続して送信される。
【００４８】
ＦＤＢ学習部１０２（１１２）は、同一ラインカード（自装置）内のＦＤＢ１０１（１１１）にＦＤＢ学習情報を登録する（ステップＳ５０２）。
【００４９】
前記ＦＤＢ学習情報の登録が完了すると、ＦＤＢ学習部１０２（１１２）は、ＦＤＢ学習調停部２０２へのバックプレッシャーの送信を停止する（ステップＳ５０３）。
【００５０】
以上のように、本実施形態によれば、ＦＤＢ学習部１０２（１１２）が送信するバックプレッシャーに基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるか否かの判断が行われる。このため、すべてのラインカードがＦＤＢ学習可能な状態にあるときには、積極的に学習処理を行うことができる。このため、リソースを十分に活用でき、高速なＦＤＢ学習が実現される。
【００５１】
［第２の実施形態］
続いて、ラインカードとスイッチカード間のＦＤＢ学習情報等の授受をフレームと同一ルートで行うようにした本発明の第２の実施形態について説明する。図７は、本発明の第２の実施形態のスイッチングシステムの構成を示す図である。
【００５２】
第１の実施形態との相違点は、ラインカード１２０（１３０）側に、スイッチカード２１０と独自形式のフレーム（図８参照。以下、「専用フレーム」という。）を授受するフレームを処理するフレーム処理部１２４（１３４）が設けられている点と、スイッチカード２１０側に、フレーム処理部１２４（１３４）から送られた専用フレームに含まれるフラグを処理するフラグ処理部２１３と、ラインカード１２０（１３０）側に専用フレームを転送するフレーム転送処理部２１４とが設けられている点である。以下の説明では、第１の実施形態と同様に、１つのスイッチカードに４枚のラインカードが接続されているものとし、１つのラインカードに１つのイーサネットポートがあるものとする。以下、第１の実施形態との相違点を中心に説明する。
【００５３】
本実施形態のラインカード１２０（１３０）のＦＤＢ検索部１２３（１３３）は、フレーム処理部に対して、外部から受信したフレームとＦＤＢ学習情報とフラグの３つを送信する。フラグは、ＦＤＢ学習の要否を示す値が設定されるものとし、ＦＤＢ学習が必要であると判定した場合に“１”が設定され、それ以外の場合は、“０”が設定されるものとする。また、本実施形態のラインカード１２０（１３０）のＦＤＢ検索部１２３（１３３）は、外部へのフレームの送信は行わず、受信のみを行う。
【００５４】
フレーム処理部１２４（１３４）は、ＦＤＢ検索部１２３（１３３）から、ＦＤＢ学習情報とフレームとフラグを受信すると、イーサネットフレームにＦＤＢ学習情報（ライン番号）とフラグとを格納した追加ヘッダを付加した専用フレーム（図８参照）を作成し、スイッチカード２１０のフラグ処理部２１３に対して、作成した専用フレームを送信する。また、フレーム処理部１２４（１３４）は、スイッチカード２１０のフレーム転送処理部２１４から専用フレームを受信すると、この専用フレームからＦＤＢ学習情報とフラグを削除し、外部へ送信する。
【００５５】
その他、ラインカード１２０（１３０）のＦＤＢ１２１（１３１）及びＦＤＢ学習部１２２（１３２）は、第１の実施形態のＦＤＢ１０１（１１１）及びＦＤＢ学習部１０２（１１２）と同等であるので、説明を省略する。
【００５６】
本実施形態のスイッチカード２１０のＦＤＢ学習調停部２１２は、ラインカード１２０（１３０）から直接ＦＤＢ学習情報を受信するのではなく、フラグ処理部２１３からＦＤＢ学習情報を受信する。その他、ＦＤＢ学習情報を受信した際の動作は同一である。
【００５７】
フラグ処理部２１３は、ラインカード１２０（１３０）のフレーム処理部１２４（１３４）から専用フレームを受信すると、専用フレーム内のフラグを確認し、その後の処理を判断する。フラグが１（学習要）である場合、フラグ処理部２１３は、専用フレームからＦＤＢ学習情報（送信元ＭＡアドレスとライン番号）を抽出し、ＦＤＢ学習調停部２１２に対してＦＤＢ学習情報を送信するとともに、フレーム転送処理部２１４に対して専用フレームを送信する。一方、フラグが０（学習不要）である場合、フラグ処理部２１３は、フレーム転送処理部２１４に対して専用フレームを送信する処理を行う。
【００５８】
フレーム転送処理部２１４は、フラグ処理部２１３から専用フレームを受信すると、専用フレーム内のフラグを確認し、その後の処理を判断する。フラグが１（学習要）である場合、フレーム転送処理部２１４は、専用フレーム内のラインカード番号に対応するラインカードのフレーム処理部に対して、専用フレームを送信する処理を行う。一方、フラグが０（学習不要）である場合、フレーム転送処理部２１４は、すべてのラインカードのフレーム処理部１２４（１３４）に対して専用フレームを送信する。
【００５９】
その他、学習情報バッファ２１１は、第１の実施形態の学習情報バッファ２０１と同等であるので、説明を省略する。
【００６０】
続いて、本実施形態の動作について図面を参照して詳細に説明する。本実施形態に係るスイッチングシステムでは、５つの処理が並列で動作している。以下、それぞれの処理のフローチャートを用いて動作を説明する。
【００６１】
（１Ａ）ＦＤＢ検索処理
図９は、本発明の第２の実施形態のラインカード１２０（１３０）のフレーム受信時に行われるＦＤＢ検索処理の流れを表したフローチャートである。
【００６２】
図９を参照すると、まず、ラインカード１２０（１３０）は、ＦＤＢ検索部１２３（１３３）にて、外部からフレームを受信すると、受信フレームと受信ラインからＦＤＢ学習情報と、検索用情報を作成する。そして、ＦＤＢ検索部１２３（１３３）は、ＦＤＢ１２１（１３１）に対して、検索用情報をキーに該当エントリの有無を問い合わせる。ＦＤＢ１２１（１３１）は、図２に例示したテーブル等を検索し、ＦＤＢ検索部１２３（１３３）に対して、検索結果を応答する（ステップＳ７０１）。
【００６３】
前記検索の結果、ＦＤＢ１２１（１３１）に、該当ＭＡＣアドレスに対応するエントリが登録されていない場合（ステップＳ７０２のＮｏ）、ＦＤＢ検索部１２３（１３３）は、フレーム処理部１２４（１３４）に対して、フラグ（１＝学習要）とＦＤＢ学習情報と受信したフレームとを送信する（ステップＳ７０４）。
【００６４】
一方、ＦＤＢ１２１（１３１）に、該当ＭＡＣアドレスに対応するエントリが登録されている場合（ステップＳ７０２のＹｅｓ）、ＦＤＢ検索部１２３（１３３）は、ＦＤＢ１２１（１３１）から応答されたエントリと、ＦＤＢ学習情報（受信フレームの送信元ＭＡＣアドレスとライン番号）とを比較する（ステップＳ７０３）。
【００６５】
前記比較の結果、両者が一致していた場合（ステップＳ７０３のＹｅｓ）、ＦＤＢ検索部１２３（１３３）は、フレーム処理部１２４（１３４）に対して、フラグ（０＝学習不要）とＦＤＢ学習情報と受信したフレームとを送信する（ステップＳ７０５）。
【００６６】
一方、前記比較の結果、両者が不一致である場合（ステップＳ７０３のＮｏ）、ＦＤＢ検索部１２３（１３３）は、フレーム処理部１２４（１３４）に対して、フラグ（１＝学習要）とＦＤＢ学習情報と受信したフレームとを送信する（ステップＳ７０４）。
【００６７】
最後に、フレーム処理部１２４（１３４）が、ＦＤＢ検索部１２３（１３３）から受信したフラグとＦＤＢ学習情報と受信したフレームとを用いて、図８に示す追加ヘッダを付加した専用フレームを作成し、スイッチカード２１０のフラグ処理部２１３に送信する。
【００６８】
以上のようにして、ラインカードにフレームが入力される度、ＦＤＢ学習の要否が判断される。そして、スイッチカード２１０に対して、その結果を示すフラグとライン情報とを格納した専用フレームを送信する動作が行われる。
【００６９】
（２Ａ）ＦＤＢ学習情報の格納処理
図１０は、本発明の第２の実施形態のスイッチカード２１０において専用フレームの受信時に行われる処理の流れを表したフローチャートである。
【００７０】
図１０を参照すると、スイッチカード２１０のフラグ処理部２１３は、専用フレームを受信すると、専用フレーム内のフラグを確認する（ステップＳ８０１）。
【００７１】
フラグの値が“１”（学習要）である場合、フラグ処理部２１３は、専用フレームからＦＤＢ学習情報（送信元ＭＡＣアドレス、ライン番号）を抽出し、ＦＤＢ学習調停部２１２に対して、ＦＤＢ学習情報を送信する（ステップＳ８０３）。
【００７２】
ＦＤＢ学習調停部２１２は、ＦＤＢ学習情報を受信すると、学習情報バッファ２１１に受信したＦＤＢ学習情報を格納する（ステップＳ８０４）。
【００７３】
また、スイッチカード２１０のフラグ処理部２１３は、フレーム転送処理部２１４に対して、専用フレームを送信し、すべてのラインカードに対して、専用フレームを転送させる（ステップＳ８０５）。
【００７４】
一方、ステップＳ８０２でフラグの値が“０”（学習不要）であった場合、フラグ処理部２１３は、専用フレーム内のライン番号を参照して、該当するラインカードに対して、専用フレームを送信する（ステップＳ８０６）。
【００７５】
（３Ａ）ＦＤＢ学習の調停処理
（４Ａ）ＦＤＢ学習処理
本実施形態における（３Ａ）ＦＤＢ学習の調停処理及び（４Ａ）ＦＤＢ学習処理は、第１の実施形態と同様であるので説明を省略する（図５、図６参照）。
【００７６】
（５Ａ）フレーム処理
図１１は、本発明の第２の実施形態のラインカード１２０（１３０）の専用フレーム受信時に行われる処理の流れを表したフローチャートである。
【００７７】
図１０のステップＳ８０５、Ｓ８０６で送信された専用フレームがラインカード１２０（１３０）のフレーム処理部１２４（１３４）に入力されると、フレーム処理部１２４（１３４）は、図１１に示すように、受信した専用フレームからフラグとライン番号の情報を格納した追加ヘッダを削除し、通常のイーサネットフレームに戻し、外部へフレームを転送する（ステップＳ１１０１）。
【００７８】
本実施形態は、上記した第１の実施形態と同様の効果のほか、以下の効果も奏する。ラインカードが複数枚搭載可能なスイッチングシステムでは、一般的にラインカードを交換可能とするために、ラインカードとスイッチカードとをコネクタで接続している。このコネクタのピン数は有限であるため、コネクタの許容ピン数を超える信号をラインカードとスイッチカード間に配線するためには、コネクタを増設せざるを得ない。
【００７９】
しかしながら、前記コネクタの増設は、基盤の実装面積の増大や、コネクタの部品代を増加させる原因ともなる。そのため、設計者は、少ないコネクタ（信号数）で、多くの情報をやり取りする設計を行うことに多くの時間を割いている。
【００８０】
前述した第１の実施形態では、フレームと学習情報を別ルートで処理を行っており、ＦＤＢ学習情報のためにフレーム疎通ルートとは別に物理的信号線を設けることを前提としている。しかしながら、第２の実施形態では、専用フレームを用いて、フレームの疎通ルートと同一のルートでＦＤＢ学習情報を送信することが可能となっている。この結果、別途物理的配線を設ける必要がないため、信号線数が減少し、設計が容易になるという効果を奏する。
【００８１】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態で用いたラインカードの数や、ポートの数に制約は無い。
【００８２】
また、上記した実施形態では、バックプレッシャーを用いて、ラインカードが、スイッチカードに対して、ＦＤＢ学習が可能な状態であるか否かを通知するものとして説明したが、その他の信号を用いて、ＦＤＢ学習が可能な状態であるか否かを通知するものとしてもよい。もちろん、ＦＤＢ学習部ではなく、別の処理手段が、ＦＤＢ学習が可能な状態であるか否かを通知するものとしてもよい。
【００８３】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点によるスイッチングシステム参照）
［第２の形態］
第１の形態のスイッチングシステムにおいて、
前記ラインカードは、前記ＦＤＢに前記ＦＤＢ学習情報を書き込んでいる期間は、前記スイッチカードに対してＦＤＢ学習が可能な状態でないことを通知するスイッチングシステム。
［第３の形態］
第１又は第２の形態のスイッチングシステムにおいて、
前記ラインカードは、自装置の負荷状態を表す数値が所定のしきい値を超えたか否かにより、ＦＤＢ学習が可能な状態にあるかを通知するスイッチングシステム。
［第４の形態］
第１から第３いずれか一の形態のスイッチングシステムにおいて、
前記ラインカードは、さらに、前記スイッチカードに対して送信する情報を所定のフレームに格納するフレーム処理部を備え、
前記スイッチカードは、前記フレームに含まれるフラグに基づいてフレームからＦＤＢ学習情報を取り出して前記学習情報蓄積部に登録するスイッチングシステム。
［第５の形態］
第４の形態のスイッチングシステムにおいて、
前記所定のフレームを用いて、前記受信フレームと前記ＦＤＢ学習情報とが同一の物理的配線で送信されるスイッチングシステム。
［第６の形態］
第１から第５いずれか一の形態のスイッチングシステムにおいて、
前記スイッチカードは、前記各ラインカードから受信したＦＤＢ学習が可能な状態にあるか否かを示す信号の論理和又は論理積に基づいて、前記スイッチカードに対するＦＤＢ学習情報を送信を開始するスイッチングシステム。
［第７の形態］
（上記第２の視点によるラインカード参照）
［第８の形態］
（上記第３の視点によるスイッチカード参照）
［第９の形態］
（上記第４の視点によるＦＤＢ学習方法参照）
［第１０の形態］
（上記第５の視点によるＦＤＢ学習調停方法参照）
［第１１の形態］
ラインカードから受信した転送データベース（以下、「ＦＤＢ」）学習情報を蓄積する学習情報蓄積部と、前記ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記蓄積したＦＤＢ学習情報を送信するＦＤＢ学習調停部とを備えるスイッチカードと接続されたラインカードに搭載されたコンピュータに、
ＦＤＢから受信フレームに適合するエントリを検索して、ＦＤＢの学習が必要か否かを判定する処理と、
ＦＤＢの学習が必要と判定した場合、スイッチカードに対してＦＤＢ学習情報を送信する処理と、
すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記スイッチカードから送信されるＦＤＢ学習情報を前記ＦＤＢに登録する処理と、を実行させるプログラム。
［第１２の形態］
転送データベース（以下、「ＦＤＢ」）から受信フレームに適合するエントリを検索して、ＦＤＢの学習が必要か否かを判定し、ＦＤＢの学習が必要と判定した場合、スイッチカードに対してＦＤＢ学習情報を送信するＦＤＢ検索部と、前記スイッチカードから受信したＦＤＢ学習情報を前記ＦＤＢに登録するＦＤＢ学習部とを備え、前記スイッチカードに対し、ＦＤＢ学習が可能な状態にあるか否かを通知する複数のラインカードと接続されたスイッチカードに搭載されたコンピュータに、
ラインカードから受信したＦＤＢ学習情報を蓄積する処理と、
前記ラインカードからの通知に基づいて、すべてのラインカードがＦＤＢ学習可能な状態であるときに、前記各ラインカードに対して前記蓄積したＦＤＢ学習情報を送信する処理と、
を実行させるプログラム。
【００８４】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００８５】
１００、１１０、１２０、１３０  ラインカード
１０１、１１１、１２１、１３１  ＦＤＢ
１０２、１１２、１２２、１３２  ＦＤＢ学習部
１０３、１１３、１２３、１３３  ＦＤＢ検索部
１２４、１３４  フレーム処理部
２００、２１０  スイッチカード
２０１、２１１  学習情報バッファ
２０２、２１２  ＦＤＢ学習調停部
２１３  フラグ処理部
２１４  フレーム転送処理部
【図１】
2013180287.tif 000003
【図２】
2013180287.tif 000004
【図３】
2013180287.tif 000005
【図４】
2013180287.tif 000006
【図５】
2013180287.tif 000007
【図６】
2013180287.tif 000008
【図７】
2013180287.tif 000009
【図８】
2013180287.tif 000010
【図９】
2013180287.tif 000011
【図１０】
2013180287.tif 000012
【図１１】
2013180287.tif 000013
【国際調査報告】
2013180287.tif 000014
2013180287.tif 000015