(57)【特許請求の範囲】
【請求項１】
フレームを分割した複数のセグメントデータを前記フレームの宛先へそれぞれスイッチングする複数のスイッチから受信した前記セグメントデータを格納するバッファから、前記セグメントデータを読み出す処理を制御する信号処理回路であって、
前記バッファが空になった後に受信される複数のセグメントデータのヘッダ情報に含まれる情報を比較することにより、前記複数のセグメントデータのうち最初に前記スイッチへ送信されたセグメントデータである先頭セグメントを検出する先頭検出部と、
前記先頭セグメントが前記スイッチへ送信された送信時期を取得する送信時期取得部と、
前記送信時期に応じて、前記セグメントデータを前記バッファから読み出す読出時期を決定する読出時期制御部と、
を備え、
前記読出時期制御部は、前記先頭セグメントの送信時期から所定期間が経過した後、一定期間が経過する度に各前記セグメントデータの読出時期が到来したと判定する、信号処理回路。
【請求項２】
請求項１に記載の前記信号処理回路と、
前記スイッチから前記セグメントデータを受信する受信部と、
前記バッファと、
を備えるスイッチインタフェースユニット。
【請求項３】
請求項２に記載のインタフェースユニットとしての第１インタフェースユニットと、
前記複数のスイッチと、
第２インタフェースユニットと、を備え、前記第２インタフェースユニットは、
フレームを受信するフレーム受信部と、
受信した前記フレームを複数の前記セグメントデータへ分割するフレーム分割部と、
前記複数のセグメントデータを前記複数のスイッチへ分配する分配部と、を有するフレーム伝送装置。
【請求項４】
フレームを分割した複数のセグメントデータを前記フレームの宛先へそれぞれスイッチ
ングする複数のスイッチから受信した前記セグメントデータを格納するバッファから、前
記セグメントデータを読み出す方法であって、
前記バッファが空になった後に受信される複数のセグメントデータのヘッダ情報に含まれる情報を比較することにより、前記複数のセグメントデータのうち最初に前記スイッチへ送信されたセグメントデータである先頭セグメントを検出し、
前記先頭セグメントが前記スイッチへ送信された送信時期を取得し、
前記先頭セグメントの送信時期から所定期間が経過した後、一定期間が経過する度に各前記セグメントデータの読出時期が到来したと判定する、セグメントデータの読み出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で論じられる実施態様は、フレームデータのスイッチングに関する。
【背景技術】
【０００２】
受信したパケットデータ（以下、単に「パケット」と記す）を複数のセグメントデータに分割し、元のパケットの宛先に応じて各セグメントデータをそれぞれ複数のスイッチでスイッチングするパケット中継装置が提案されている。
【０００３】
図１は、複数のスイッチを備えるパケット中継装置の概略構成図である。参照符号２００はパケット中継装置を示し、参照符号２１０−１〜２１０−ｎ及び２３０−１〜２３０−ｎはインタフェース（ＩＦ）カードを示し、参照符号２２０はスイッチカードを示す。参照符号２１１−１〜２１１−ｎは受信部を示し、参照符号２１２−１〜２１２−ｎはセグメントデータ分割部を示し、参照符号２２１−１〜２２１−ｍはスイッチを示す。参照符号２３１−１〜２３１−ｎはパケット組立部を示し、２３２−１〜２３２−ｎは送信部を示す。
【０００４】
パケット中継装置２００は、ｎ個のインタフェースカード２１０−１〜２１０−ｎと、ｎ個のインタフェースカード２３０−１〜２３０−ｎと、スイッチカード２２０を備える。各インタフェースカード２１０−１〜２１０−ｎでは、それぞれ、受信部２１１−１〜２１１−ｎがパケットを受信し、セグメントデータ分割部２１２−１〜２１２−ｎがパケットを複数のセグメントデータへ分割する。セグメントデータ分割部２１２−１〜２１２−ｎは、各セグメントデータを、スイッチカード２２０が備えるｍ個のスイッチ２２１−１〜２２１−ｍへ分配する。
【０００５】
各スイッチ２２１−１〜２２１−ｍは、インタフェースカード２３０−１〜２３０−ｎのうち、元のパケットの宛先アドレスに応じて定まるいずれかのインタフェースカードへ、セグメントデータを転送するスイッチング処理を行う。
【０００６】
セグメントデータを受信したインタフェースカード２３０−１〜２３０−ｎでは、パケット組立部２３１−１〜２３１−ｎがセグメントデータをパケットへ組み立てる。送信部２３２−１〜２３２−ｎはパケットを送信する。
【０００７】
なお、ネットワークを介して受信したパケットを分解して発信時間情報と音声又は映像の符号化データを抽出するパケット分解手段と、パケット分解手段にて得られた発信時間情報及び符号化データを記憶する記憶手段と、記憶手段に記憶された符号化データの読み出しタイミング及び受信パケットがネットワーク上で受けた相対的な遅延ゆらぎ時間を演算するタイミングを決定するための基準となる基準時刻信号を生成する基準時刻生成手段と、記憶手段に記憶された発信時間情報と基準時刻生成手段が生成した基準時刻信号を元に記憶手段からの符号化データの読み出しタイミングを制御する読み出しタイミング制御手段と、パケット分解手段にて得られた発信時間情報と基準時刻信号を元に受信パケットがネットワーク上で受けた相対的な遅延ゆらぎ時間を算出するゆらぎ時間演算手段と、このゆらぎ時間演算手段にて算出された複数の受信パケット夫々の相対的な遅延ゆらぎ時間を平滑化する平滑化手段と、平滑化手段の出力を監視しその出力に応じて基準時刻生成手段が発生する基準時刻信号を調整するタイミング調整手段と、読み出しタイミング制御手段からの読み出しタイミングによって記憶手段から読み出された符号化データを基準時刻信号に従って復号化する復号化手段と、を有するデータ受信装置が提案されている。
【０００８】
なお、高優先パケットが格納される第１キューと、高優先パケットでないパケットが格納される第２キューと、入力パケットが高優先パケットであるか否かを判定し、第１キューと第２キューのうち該当するキューへ向け入力パケットを出力するクラシファイアと、第１キューに格納されたパケットと第２キューに格納されたパケットを、第１キューに格納されたパケットが第２キューに格納されたパケットよりも優先して出力されるように、外部へ出力するスケジューラと、第１キューから出力されるパケットの時間間隔を調整するパケット間隔調整部と、を有する揺らぎ吸収装置が提案されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−１６０５７０号公報
【特許文献２】特開２００４−１０４７０１号公報
【特許文献３】特開２００５−３１８０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
フレームデータ（以下、単に「フレーム」と記す）やパケットをセグメントデータへ分割して複数のスイッチによりスイッチングすると、各スイッチの負荷の違い等に起因して、スイッチの通過に要する時間がその都度変動することがある。この結果、宛先のインタフェースカードへセグメントデータが到着するまでの遅延量が変動する。このような遅延量の変動を、「遅延量の揺らぎ」と記載することがある。
【００１１】
上記のセグメントデータの遅延量の揺らぎは、遅延量の揺らぎを吸収するバッファを設けることにより吸収することができる。このようなバッファにセグメントデータが滞在する期間は、できるだけ短い方が望ましい。
【００１２】
実施態様に係る装置及び方法は、フレームを複数のセグメントデータへ分割し、各セグメントデータを複数のスイッチによりスイッチングするとき、スイッチを通過するセグメントデータの遅延量の変動を吸収するバッファに、セグメントデータが滞在する期間を低減することを目的とする。
【課題を解決するための手段】
【００１３】
実施例の一態様によれば、フレームを分割した複数のセグメントデータをフレームの宛先へそれぞれスイッチングする複数のスイッチから受信したセグメントデータを格納するバッファから、セグメントデータを読み出す処理を制御する信号処理回路が与えられる。この信号処理回路は、バッファが空になった後に受信されるセグメントデータのうち最初にスイッチへ送信されたセグメントデータである先頭セグメントを検出する先頭検出部と、先頭セグメントがスイッチへ送信された送信時期を取得する送信時期所得部と、この送信時期に応じてセグメントデータをバッファから読み出す読出時期を決定する読出時期制御部と、を備える。
【発明の効果】
【００１４】
上記の実施例の一態様によれば、スイッチから受信したセグメントデータを格納するバッファに、セグメントデータが滞在する期間を低減することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】複数のスイッチを備えるパケット中継装置の概略構成図である。
【図２】複数のスイッチを備えるフレーム伝送装置の第１例の概略構成図である。
【図３】（Ａ）〜（Ｆ）は、セグメントデータの遅延量の揺らぎの説明図である。
【図４】（Ａ）〜（Ｅ）は、バッファの滞在時間の説明図（その１）である。
【図５】（Ａ）〜（Ｄ）は、バッファの滞在時間の説明図（その２）である。
【図６】（Ａ）〜（Ｃ）は、本実施例に係るセグメントデータの読み出し方法の説明図（その１）である。
【図７】（Ａ）〜（Ｄ）は、バッファの滞在時間の比較図（その１）である。
【図８】（Ａ）〜（Ｅ）は、バッファの滞在時間の比較図（その２）である。
【図９】本実施例に係る信号処理回路の第１例の概略構成図である。
【図１０】本実施例に係るセグメントデータの読み出し方法の説明図（その２）である。
【図１１】本実施例に係る信号処理回路の第２例の概略構成図である。
【図１２】本実施例に係るセグメントデータの読み出し方法の説明図（その３）である。
【図１３】複数のスイッチを備えるフレーム伝送装置の第２例の概略構成図である。
【図１４】イングレス側のスイッチインタフェースの概略構成図である。
【図１５】（Ａ）〜（Ｇ）は、イングレス側のスイッチインタフェースにおけるセグメントデータの処理の説明図である。
【図１６】イ−グレス側のスイッチインタフェースの第１例の概略構成図である。
【図１７】（Ａ）〜（Ｄ）は、セグメント多重化部における処理の説明図である。
【図１８】リオーダバッファの実現例の説明図である。
【図１９】タイムスタンプ同期管理部の概略構成図である。
【図２０】ステートマシンの状態遷移図である。
【図２１】イ−グレス側のスイッチインタフェースの第２例の概略構成図である。
【図２２】セグメントデータ・リオーダ部の概略構成図である。
【図２３】タイムスタンプ同期管理部による先頭セグメントの検出処理の説明図である。
【図２４】ステートマシンの状態の変更処理の説明図である。
【図２５】読出要求信号生成部の処理の説明図である。
【図２６】（Ａ）〜（Ｈ）は、実施例に係るセグメントデータの読み出し方法の説明図（その４）である。
【発明を実施するための形態】
【００１６】
以下、添付する図面を参照して本発明の実施例について説明する。上述の通り、複数のスイッチをそれぞれ通過したセグメントデータの遅延量の揺らぎは、遅延量の揺らぎを吸収するバッファを設けることにより吸収することができる。このような遅延量の揺らぎを吸収する処理について以下に説明する。
【００１７】
図２は、複数のスイッチを備えるフレーム伝送装置の第１例の概略構成図である。フレーム伝送装置１は、受信したフレームを複数のセグメントデータに分割し、複数のスイッチによって、元のフレームの宛先に応じて各セグメントデータをそれぞれスイッチングする。
【００１８】
参照符号２は制御部を示し、参照符号１０−１〜１０−ｎ及び３０−１〜３０−ｎはインタフェースカードを示し、参照符号２０はスイッチカードを示す。参照符号１１−１〜１１−ｎはフレーム分割部を示し、参照符号１２−１〜１２−ｎ及び３１−１〜３１−ｎはスイッチインタフェース（ＳＷ−ＩＦ）を示し、参照符号３２−１〜３２−ｎはフレーム組立部を示し、参照符号２１−１〜２１−ｍはスイッチを示す。
【００１９】
フレーム伝送装置１は、制御部２と、ｎ個のインタフェースカード１０−１〜１０−ｎ（以下、インタフェースカード１０と総称することがある）と、スイッチカード２０と、ｎ個のインタフェースカード３０−１〜３０−ｎ（以下、インタフェースカード３０と総称することがある）を備える。
【００２０】
インタフェースカード１０−１〜１０−ｎは、それぞれ、フレーム分割部１１−１〜１１−ｎ（以下、フレーム分割部１１と総称することがある）と、スイッチインタフェース１２−１〜１２−ｎ（以下、スイッチインタフェース１２と総称することがある）を備える。またインタフェースカード３０−１〜３０−ｎは、それぞれ、スイッチインタフェース３１−１〜３１−ｎ（以下、スイッチインタフェース３１と総称することがある）と、フレーム組立部３２−１〜３２−ｎ（以下、フレーム組立部３２と総称することがある）を備える。スイッチカード２０は、ｍ個のスイッチ２１−１〜２１−ｍ（以下、スイッチ２１と総称することがある）を備える。
【００２１】
なお、インタフェースカード１０−１及び３０−１は一体のカードとして構成されてもよい。インタフェースカード１０−２及び３０−２、…インタフェースカード１０−ｎ及び３０−ｎについても同様である。このとき、スイッチインタフェース１２−１及び３１−１は同じユニットに搭載されてよい。例えば、スイッチインタフェース１２−１及び３１−１は同じ回路チップに搭載されてよい。スイッチインタフェース１２−２及び３１−２、…１２−ｎ及び３１−ｎについても同様である。
【００２２】
また、フレーム伝送装置１は、スイッチカード２０が複数のスイッチ２１を備える態様で、複数のスイッチ２１を備えていてもよく、単一のスイッチ２１を備えるスイッチカード２０を複数個備える態様で、複数のスイッチ２１を備えていてもよい。
【００２３】
フレーム分割部１１は、受信されたフレームを複数のセグメントデータへ分割する。フレーム伝送装置１によりスイッチングされるフレームは、例えば、時分割多重通信において、所定のタイムスロット上において固定された伝送レートで伝送される同期フレームであってよい。このような同期フレームとして、例えばＯＴＮ（Optical Transport Network）で転送されるＯＤＵ（Optical Data Unit）フレームがある。受信フレームが上記のような同期フレームであるとき、フレームをセグメントデータへ分割するフレーム分割部１１の機能は、例えば、受信信号から同期フレームをデマッピングするフレーマに搭載されてよい。
【００２４】
スイッチインタフェース１２は、セグメントデータにヘッダ情報を付加する。ヘッダ情報は、分割前のフレームの宛先に応じて定まる転送先のインタフェースカード３０の指定情報を含む。スイッチインタフェース１２は、例えば、制御部２によって予め設定された設定情報に従い、分割前のフレームの宛先に応じて、転送先のインタフェースカード３０を指定する指定情報を生成してよい。
【００２５】
スイッチインタフェース１２は、ヘッダ情報を付したセグメントデータを、スイッチ２１−１〜２１−ｍへ分配する。参照符号ｓ１１〜ｓ１ｍ、ｓ２１〜ｓ２ｍ及びｓｎ１〜ｓｎｍは、スイッチインタフェース１２からスイッチ２１へセグメントデータを伝送する信号線である。以下の説明では、これらの信号線の各々を「レーン」と記すことがある。レーンｓｉｊは、スイッチインタフェース１２−ｉからスイッチ２１−ｊへセグメントデータを伝送するレーンである（記号ｉ及びｊは添字である）。
【００２６】
なお、１つのスイッチインタフェース１２からスイッチ２１へ接続されるレーン数は、スイッチ２１の総数より多くてもよい。すなわち、１つのスイッチインタフェース１２から１つのスイッチ２１へセグメントデータを送信するために、複数本のレーンを使用してもよい。
【００２７】
スイッチ２１は、セグメントデータに付加されたヘッダ情報に基づいてセグメントデータをスイッチングする。すなわち、スイッチ２１は、ヘッダ情報にて指定される転送先のインタフェースカード３０へセグメントデータを転送する。
【００２８】
スイッチインタフェース３１は、受信したセグメントデータのヘッダ情報の終端処理を行う。参照符号ｒ１１〜ｒｍ１、ｒ１２〜ｒｍ２及びｒ１ｎ〜ｒｍｎは、スイッチ２１からスイッチインタフェース３１へセグメントデータを伝送する信号線である。信号線ｒｉｊは、スイッチ２１−ｉからスイッチインタフェース３１−ｊへセグメントデータを伝送する信号線である（記号ｉ及びｊは添字である）。
【００２９】
上述の遅延の揺らぎのため、スイッチインタフェース３１は、元のセグメントデータの順序通りに、各セグメントデータを受信できるとは限らない。このためスイッチインタフェース３１は、元のセグメントデータの順序でフレーム組立部３２へセグメントデータを出力するように、セグメントデータの出力順序を並べ替えるリオーダ処理を行う。各スイッチインタフェース３１−１〜３１−ｎは、リオーダ処理の間、セグメントデータを格納するためのリオーダバッファ３３−１〜３３−ｎをそれぞれ備える。以下、リオーダバッファ３３−１〜３３−ｎをリオーダバッファ３３と総称することがある。
【００３０】
フレーム組立部３２は、セグメントデータをフレームへ組み立てる。組み立てられたフレームは次の伝送装置へ向けて送信される。受信フレームが上記の同期フレームであるとき、セグメントデータをフレームへ組み立てるフレーム組立部３２の機能は、例えば、同期フレームを送信信号へマッピングするフレーマに搭載されてよい。
【００３１】
図３の（Ａ）〜図３の（Ｆ）は、セグメントデータの遅延量の揺らぎの説明図である。図３の（Ａ）は、フレーム分割部１１へ入力されるフレームのタイムチャートを示し、図３の（Ｂ）はスイッチインタフェース１２から出力されるセグメントデータのタイムチャートを示す。
【００３２】
図３の（Ｃ）は、スイッチインタフェース３１へ入力されるセグメントデータのタイムチャートを示し、図３の（Ｄ）はリオーダバッファ３３におけるセグメントデータの占有状態のタイムチャートを示す。
【００３３】
図３の（Ｅ）は、スイッチインタフェース３１からフレーム組立部３２へ出力されるセグメントデータのタイムチャートを示し、図３の（Ｆ）はフレーム組立部３２から出力されるフレームのタイムチャートを示す。
【００３４】
図３の（Ａ）において、斜線でハッチングされた領域は、フレーム分割部１１へ入力されるフレームそれ自身を示す。部分ａ〜ｅは、フレーム分割部１１によりフレームが分割されたときに、それぞれ１つのセグメントデータとなる部分を示す。
【００３５】
図３の（Ｂ）の各矩形は、スイッチインタフェース１２から出力されるそれぞれのセグメントデータを示す。矩形内の数字は、分割元のフレームから各セグメントデータを切り出した順序を示し、小さな数字のセグメントデータほど、分割元のフレームのより先頭に近い箇所から切り出されたことを示す。他の図面においても、セグメントデータの表記に関し、同様の表記法を用いる。図３の（Ｂ）に示す通り、スイッチインタフェース１２は、分割元のフレームから切り出す順番と同じ順序で、一定周期で各セグメントデータをスイッチ２１へ送信する。
【００３６】
図３の（Ｃ）の各矩形は、スイッチインタフェース１２から送信され、スイッチインタフェース３１にて受信された図３の（Ｂ）のセグメントデータを示す。一点鎖線の矢印４０は、スイッチインタフェース１２からスイッチインタフェース３１までセグメントデータが伝送されるために最低限必要な固定遅延量を示す。破線の矢印４１ａ〜４１ｃは、個々のセグメントデータついて発生するスイッチインタフェース１２からスイッチインタフェース３１までの伝送遅延の揺らぎ量を示す。
【００３７】
二点鎖線の矢印４２は、フレーム伝送装置１について見込まれる、スイッチインタフェース１２からスイッチインタフェース３１までの伝送遅延の最大揺らぎ量を示す。ここに「最大揺らぎ量」とは、フレーム伝送装置１について見込まれる、スイッチインタフェース１２からスイッチインタフェース３１までの伝送遅延の最大値から、上記の固定遅延量を差し引いた値を意味する。他の図面においても、遅延量の表記に関して同様の表記法を用いる。
【００３８】
図３の（Ｃ）の例では、第１番目のセグメントデータには、固定遅延量４０＋揺らぎ量４１ａの遅延が生じている。第２番目のセグメントデータには、固定遅延量４０＋揺らぎ量４１ｂの遅延が生じている。第３番目のセグメントデータには、固定遅延量４０＋最大揺らぎ量４２の遅延が生じている。第４番目のセグメントデータには、固定遅延量４０の遅延が生じている。第５番目のセグメントデータには、固定遅延量４０＋揺らぎ量４１ｃの遅延が生じている。
【００３９】
図３の（Ｄ）の各矩形は、リオーダバッファ３３に格納されるセグメントデータを示す。図３の（Ｃ）に示すように第３番目のセグメントデータに最大揺らぎ量４２の遅延が発生し、スイッチインタフェース３１への到着が遅れている。図３の（Ｄ）の参照符号４４は、第３番目のセグメントデータの到着の遅れによりリオーダバッファ３３が空になる状態、すなわちバッファアンダーフローが生じた状態を示す。
【００４０】
図３の（Ｅ）の各矩形は、スイッチインタフェース３１からフレーム組立部３２へ出力されるセグメントデータを示す。スイッチインタフェース３１は、スイッチインタフェース１２が出力する速度と同じ速度で、周期的にセグメントデータを出力する。図３の（Ｄ）において生じたアンダーフロー４４のため、スイッチインタフェース３１は、第３番目のセグメントデータを出力する本来の出力タイミングｔ１に第３番目のセグメントデータを出力することができず、その次の出力タイミングｔ２において第３番目のセグメントデータを出力する。
【００４１】
図３の（Ｆ）において、斜線でハッチングされた領域は、フレーム組立部３２から出力されるフレームそれ自身を示す。部分ａ〜ｅは、組み立て後のフレームに占める、第１番目〜第５番目のセグメントデータに対応する部分を示す。領域４５は、第３番目のセグメントデータの到着の遅れにより生じる、組み立て後のフレームの空き部分を示す。
【００４２】
固定された伝送レートで信号を伝送する方式には、伝送されるフレームに上述の部分４５のような空き部分を規格上認めないものがある。このような伝送方式で伝送されるフレームには、例えばＯＴＮフレームがある。このような規格の伝送方式でフレーム中の空きが生じると、フレームの同期が外れるエラーが発生したと判断されることがある。
【００４３】
各セグメントデータは、スイッチインタフェース１２から一定周期で出力される。また、どのセグメントデータについても、スイッチインタフェース３１へ到達するまでの生じる伝送遅延の最大値は、固定遅延量４０に最大揺らぎ量４２を加えた程度であると見込まれる。したがって、スイッチインタフェース１２からセグメントデータが送信され始めた際における、リオーダバッファ３３からの読み出し開始時期を適切に設定すれば、バッファアンダーフローを防止することができる。
【００４４】
アンダーフローが防止できるリオーダバッファ３３からのセグメントデータを読み出し方法として、次の２つの方法が考えられる。第１の読み出し方法では、先頭セグメントの受信時刻から最大揺らぎ量が経過した後、セグメントデータの送信周期と同じ周期でリオーダバッファ３３からセグメントデータを読み出す。ここで先頭セグメントとは、リオーダバッファ３３が空になった後に受信されるセグメントデータのうち最初にスイッチ２１へ送信されたセグメントデータである。
【００４５】
各セグメントデータの遅延量の揺らぎは、最大揺らぎ量よりも小さいことが見込まれる。上述のように読み出しタイミングを定めることにより、各セグメントデータは、それぞれについて見込まれる最大揺らぎ量が経過した後にリオーダバッファ３３から読み出されることになるので、リオーダバッファ３３のアンダーフローが防止できる。
【００４６】
図４の（Ａ）〜図４の（Ｅ）は、第１の読み出し方法により生じるリオーダバッファ３３の滞在時間の説明図である。図４の（Ａ）は、スイッチインタフェース１２から出力されるセグメントデータのタイムチャートを示し、図４の（Ｂ）はスイッチインタフェース３１へ入力されるセグメントデータのタイムチャートの第１例を示す。図４の（Ｃ）は、図４の（Ｂ）のセグメントデータを受信したスイッチインタフェース３１からフレーム組立部３２へ出力されるセグメントデータのタイムチャートを示す。
【００４７】
図４の（Ｄ）はスイッチインタフェース３１へ入力されるセグメントデータのタイムチャートの第２例を示す。図４の（Ｅ）は、図４の（Ｄ）のセグメントデータを受信したスイッチインタフェース３１からフレーム組立部３２へ出力されるセグメントデータのタイムチャートを示す。
【００４８】
第１の読み出し方法では、各セグメントデータの読み出しタイミングは、先頭セグメントがスイッチインタフェース３１に到着した時間によって定まる。従って、図４の（Ｂ）に示すように時刻ｔ１にて先頭セグメントとしての第１番目のセグメントデータが到着すると、スイッチインタフェース３１は、時刻ｔ１から最大揺らぎ量４２が経過した時刻ｔ２において、セグメントデータの出力を開始する。この様子を図４の（Ｃ）に示す。
【００４９】
図４の（Ｂ）に示す遅延量の例と図４の（Ｄ）に示す遅延量の例とを比較する。図４の（Ｂ）に示す第１番目のセグメントデータには、最小限の固定遅延量４０の遅延しか生じていないのに対し、図４の（Ｂ）に示す第１番目のセグメントデータには、固定遅延量４０＋最大揺らぎ量４２の遅延が生じている。
【００５０】
この結果、図４の（Ｃ）及び図４の（Ｅ）に示すそれぞれの場合のスイッチインタフェース３１の出力を比較すると、図４の（Ｅ）の出力タイミングは、図４の（Ｃ）の出力タイミングに比べて、最大揺らぎ量４２に相当する期間４６の分だけ遅れることになる。すなわち第１の読み出し方法によれば、先頭セグメントの遅延量の変動に応じて、各セグメントデータがリオーダバッファ３３を通過するのに要する期間が変動する。このため、先頭セグメントの遅延量によっては、各セグメントデータがリオーダバッファ３３に滞在する時間が増大してしまうこともある。
【００５１】
例えば、ＯＴＮフレームを伝送する伝送装置については、伝送装置に許容される遅延時間が規格によって定められている。したがってリオーダバッファ３３に滞在する時間が増大すると、伝送装置の設計条件がより厳しくなるという問題がある。
【００５２】
第２の読み出し方法では、リオーダバッファ３３に蓄積されるデータ量が所定の蓄積量に至ったら、セグメントデータの送信周期と同じ周期でリオーダバッファ３３からセグメントデータを読み出す。所定の蓄積量は、最大揺らぎ量４２に相当する期間内にリオーダバッファ３３から読み出されるデータ量に応じて定められる。
【００５３】
図５の（Ａ）〜図５の（Ｄ）は、第２の読み出し方法により生じるバッファ３３の滞在時間の説明図である。図５の（Ａ）は、スイッチインタフェース１２から出力されるセグメントデータのタイムチャートを示し、図５の（Ｂ）はスイッチインタフェース３１へ入力されるセグメントデータのタイムチャートを示す。
【００５４】
図５の（Ｃ）は、セグメントデータが蓄積されるリオーダバッファ３３の状態を示し、図５の（Ｄ）は、図５の（Ｂ）のセグメントデータを受信したスイッチインタフェース３１からフレーム組立部３２へ出力されるセグメントデータのタイムチャートを示す。
【００５５】
図５の（Ｃ）の参照符号４７は、最大揺らぎ量４２に相当する期間内にリオーダバッファ３３から読み出されるデータ量を示す。第２の読み出し方法の場合、スイッチインタフェース３１は、時刻ｔ１にて所定の蓄積量４７がリオーダバッファ３３に蓄積されるに至ってから、セグメントデータの出力を開始する。この様子を図５の（Ｃ）及び図５の（Ｄ）に示す。
【００５６】
図５の（Ｂ）に示す遅延量の例の場合、第１番目〜第５番目のセグメントデータの全てにおいて固定遅延量４０＋最大揺らぎ量４２の遅延が生じている。このように、所定の蓄積量４７がリオーダバッファ３３に蓄積されるまでの間に受信されるセグメントデータの遅延量が大きいと、第２の読み出し方法によってもリオーダバッファ３３の滞在時間が増大してしまうことになる。
【００５７】
図６の（Ａ）〜図６の（Ｃ）は、実施例としてのセグメントデータの読み出し方法の説明図である。図６の（Ａ）は、スイッチインタフェース１２から出力されるセグメントデータのタイムチャートを示し、図６の（Ｂ）はスイッチインタフェース３１へ入力されるセグメントデータのタイムチャートを示す。図６の（Ｃ）は、図６の（Ｂ）のセグメントデータを受信したスイッチインタフェース３１からフレーム組立部３２へ出力されるセグメントデータのタイムチャートを示す。
【００５８】
実施例に係る読み出し方法によれば、スイッチインタフェース３１は、スイッチインタフェース１２が先頭セグメントをスイッチ２１へ送信した時期に応じて、各セグメントデータをそれぞれリオーダバッファ３３から読み出す時期を決定する。例えば、図６の（Ａ）〜図６の（Ｃ）において先頭セグメントが第１番目のセグメントデータであるとする。図６の（Ｃ）に示す例では、スイッチインタフェース３１は、スイッチインタフェース１２が第１番目のセグメントデータをスイッチ２１へ送信してから、固定遅延量４０＋最大揺らぎ量４２に相当する期間が経過してからセグメントデータの読み出しを開始する。
【００５９】
実施例に係る読み出し方法によれば、セグメントデータがスイッチインタフェース３１に到着する時期が基準とならない。このため、例えば第１番目のセグメントデータが遅延しても、第１の読み出し方法のようにリオーダバッファ３３の滞在時間が増大してしまう問題は生じない。同様に、第２の読み出し方法において生じるリオーダバッファ３３の滞在時間の増大と同じ問題も生じない。
【００６０】
以下、図７の（Ａ）〜図７の（Ｄ）及び図８の（Ａ）〜（Ｅ）を参照して、実施例に係る読み出し方法と第１及び第２の読み出し方法との間のバッファ３３の滞在時間の差を説明する。以下の説明において、第１番目のセグメントデータを先頭セグメントとする。また、以下の例において、実施例に係る読み出し方法を実施するスイッチインタフェース３１は、スイッチインタフェース１２が先頭セグメントを送信してから、固定遅延量４０＋最大揺らぎ量４２に相当する期間が経過してからセグメントデータの読み出しを開始する。
【００６１】
図７の（Ａ）〜図７の（Ｄ）は、実施例に係る読み出し方法と第１の読み出し方法との間のリオーダバッファ３３の滞在時間の差を説明する図である。図７の（Ａ）は、スイッチインタフェース１２から出力されるセグメントデータのタイムチャートを示し、図７の（Ｂ）はスイッチインタフェース３１へ入力されるセグメントデータのタイムチャートを示す。
【００６２】
図７の（Ｃ）は、図７の（Ｂ）のセグメントデータを受信したリオーダバッファ３３から第１の読み出し方法によって読み出され、フレーム組立部３２へ出力されるセグメントデータのタイムチャートを示す。
【００６３】
図７の（Ｄ）は、図７の（Ｂ）のセグメントデータを受信したリオーダバッファ３３から実施例に係る読み出し方法によって読み出され、フレーム組立部３２へ出力されるセグメントデータのタイムチャートを示す。
【００６４】
図７の（Ｂ）に示すように、先頭セグメントには、固定遅延量４０＋最大揺らぎ量４２の遅延が生じている。このため第１の読み出し方法によれば、図７の（Ｃ）に示すように、先頭セグメントがスイッチ２１へ送信されてから固定遅延量４０＋２×（最大揺らぎ量４２）が経過した時刻ｔ１において、セグメントデータの読み出しが開始される。
【００６５】
実施例に係る読み出し方法によれば、図７の（Ｄ）に示すように、先頭セグメントがスイッチ２１へ送信されてから固定遅延量４０＋最大揺らぎ量４２が経過した時刻ｔ２においてセグメントデータの読み出しが開始される。したがって、実施例に係る読み出し方法によれば、第１の読み出し方法と比べて最大揺らぎ量４２に相当する期間４８の分だけ早く各セグメントデータが読み出され、その分リオーダバッファ３３での滞在時間が短縮されることになる。
【００６６】
図８の（Ａ）〜図８の（Ｅ）は、実施例に係る読み出し方法と第２の読み出し方法との間のリオーダバッファ３３の滞在時間の差を説明する図である。図８の（Ａ）は、スイッチインタフェース１２から出力されるセグメントデータのタイムチャートを示し、図８の（Ｂ）はスイッチインタフェース３１へ入力されるセグメントデータのタイムチャートを示す。
【００６７】
図８の（Ｃ）は、セグメントデータが蓄積されるリオーダバッファ３３の状態を示す。図８の（Ｄ）は、図８の（Ｂ）のセグメントデータを受信したリオーダバッファ３３から第２の読み出し方法によって読み出され、フレーム組立部３２へ出力されるセグメントデータのタイムチャートを示す。
【００６８】
図８の（Ｄ）は、図８の（Ｂ）のセグメントデータを受信したリオーダバッファ３３から実施例に係る読み出し方法によって読み出され、フレーム組立部３２へ出力されるセグメントデータのタイムチャートを示す。
【００６９】
図８の（Ｂ）に示すように、第１番目〜第５番目のセグメントデータの全てにおいて固定遅延量４０＋最大揺らぎ量４２の遅延が生じている。第２の読み出し方法によれば、先頭セグメントがスイッチ２１へ送信されてから固定遅延量４０＋最大揺らぎ量４２の期間が経過した後、さらに所定の蓄積量４７のデータがリオーダバッファ３３に蓄積された時刻ｔ１にて、セグメントデータの読み出しが開始される。
【００７０】
実施例に係る読み出し方法によれば、図８の（Ｅ）に示すように、先頭セグメントがスイッチ２１へ送信されてから固定遅延量４０＋最大揺らぎ量４２が経過した時刻ｔ２においてセグメントデータの読み出しが開始される。したがって、実施例に係る読み出し方法によれば、所定の蓄積量４７のデータがリオーダバッファ３３に蓄積されるまでの期間４９の分だけ早く各セグメントデータが読み出され、その分リオーダバッファ３３での滞在時間が短縮されることになる。
【００７１】
以下、上述の実施例に係る読み出し方法を実行する信号処理回路について説明する。図９は、本実施例に係る信号処理回路の第１例の概略構成図である。参照符号５０は信号処理回路を示し、参照符号５１は先頭検出部を示し、参照符号５２は送信時期取得部を示し、参照符号５３は読出時期制御部を示す。
【００７２】
信号処理回路５０は、先頭検出部５１と、送信時期取得部５２と、読出時期制御部５３とを備える。例えば、信号処理回路５０は、インタフェースカード３０や、スイッチインタフェース３１に設けられ、リオーダバッファ３３からセグメントデータを読み出す処理を制御する回路であってよい。
【００７３】
先頭検出部５１は、スイッチ２１からスイッチインタフェース３１が受信したセグメントデータの中から先頭セグメントを検出する。上述の通り先頭セグメントとは、リオーダバッファ３３が空になった後に受信されるセグメントデータのうち最初にスイッチ２１へ送信されたセグメントデータである。
【００７４】
例えば、送信側のスイッチインタフェース１２は、セグメントデータに付加されるヘッダ情報に、それぞれのセグメントデータの送信順序を表すシリアルナンバーを含めてもよい。例えば、先頭検出部５１は、ヘッダ情報に含まれるシリアルナンバーに基づいて、受信したセグメントデータの中から先頭セグメントを検出してよい。
【００７５】
例えば、送信側のスイッチインタフェース１２は、ヘッダ情報に、それぞれのセグメントデータをスイッチ２１へ送信する時期を表す送信時期情報を含めてもよい。例えば、先頭検出部５１は、ヘッダ情報に含まれる送信時期情報に基づいて、受信したセグメントデータの中から先頭セグメントを検出してよい。
【００７６】
送信時期取得部５２は、セグメントデータの読出時期を取得する。例えば送信時期取得部５２は、セグメントデータに付加されたヘッダ情報に含まれる送信時期情報に基づいて、セグメントデータの読出時期を取得してよい。
【００７７】
読出時期制御部５３は、先頭セグメントについて送信時期取得部５２が取得した送信時期に応じて、リオーダバッファ３３からセグメントデータを読み出す読出時期を決定する。例えば、読出時期制御部５３は、先頭セグメントの送信時期から所定期間が経過したとき、先頭セグメントの読出時期が到来したと判定する。その後、読出時期制御部５３は、一定期間が経過する度に、後続の各セグメントデータの読出時期が到来したとそれぞれ判定する。読出時期制御部５３は、読み出し時期を指示するタイミング指示信号を出力する。
【００７８】
図１０は、図９の信号処理回路５０により実行されるセグメントデータの読み出し処理の説明図である。なお別の実施の態様においては、下記のオペレーションＡＡ〜ＡＣの各オペレーションはステップであってもよい。
【００７９】
オペレーションＡＡにおいて先頭検出部５１は、スイッチ２１からスイッチインタフェース３１が受信したセグメントデータの中から先頭セグメントを検出する。オペレーションＡＢにおいて送信時期取得部５２は、先頭セグメントの読出時期を取得する。なお、オペレーションＡＡとＡＢはどちらが先に実行されてもよい。例えば、先頭検出部５１は、各セグメントデータについて送信時期取得部５２が取得した送信時期に基づいて、先頭セグメントを検出してもよい。
【００８０】
オペレーションＡＣにおいて読出時期制御部５３は、先頭セグメントについて送信時期取得部５２により取得された送信時期に応じて、リオーダバッファ３３からセグメントデータを読み出す読出時期を決定する。読出時期制御部５３は、読み出し時期を指示するタイミング指示信号を出力する。
【００８１】
本実施例によれば、先頭セグメントの送信時期を基準にして、リオーダバッファ３３に格納されたセグメントデータを読み出すタイミングが決定される。このため、セグメントデータの遅延の揺らぎの影響を受けずに、読み出しタイミングを決定することができる。したがって、セグメントデータの遅延の揺らぎ量に応じて、リオーダバッファ３３の滞在時間が延びるといった現象を防止することができるため、リオーダバッファ３３の滞在時間が低減される。
【００８２】
また、セグメントデータの送信時期を基準にしてセグメントデータの読み出しタイミングを決定する他の方法として、各セグメントデータの送信時期を基準にして、それぞれのセグメントデータの読み出しタイミングを決定してもよい。しかしこの方法は、リオーダバッファ３３に格納されている各々のセグメントデータについて送信時期と現時点とを比較する必要があるため、信号処理回路５０の処理の増加を招く。
【００８３】
一方で、上記の本実施例によれば、読出時期制御部５３は、例えば先頭セグメントの送信時期に応じて先頭セグメントの読出時期が到来したと判定し、その後、一定期間が経過する度に後続の各セグメントデータの読出時期が到来したと判定する。この判定方法によれば、信号処理回路５０は、先頭セグメントが検出された後は送信時期と現時点との比較を省略することができるため、信号処理回路５０の処理を低減することができる。
【００８４】
図１１は、本実施例に係る信号処理回路の第２例の概略構成図である。図９に示す構成要素と同様の構成要素には図９で使用した参照符号と同じ参照符号を付し、同一の機能については説明を省略する。
【００８５】
信号処理回路５０は、第１状態と第２状態との間を遷移するステートマシン５４を備える。ステートマシン５４は、リオーダバッファ３３へのセグメントデータの格納状態を示すバッファ状態信号を受信し、リオーダバッファ３３が空になったときに第１状態から第２状態へ遷移する。またステートマシン５４は、先頭セグメントをリオーダバッファ３３から読み出す時期が到来したときに第２状態から第１状態へ遷移する。
【００８６】
すなわち第１状態は、先頭セグメントの読み出しが開始され、リオーダバッファ３３が空になるまで、先頭セグメントに続く後続のセグメントデータの読み出しが継続している状態である。第２状態は、リオーダバッファ３３が空である状態から、まだ先頭セグメントが検出されず先頭セグメントの読み出しが開始されていない状態である。
【００８７】
先頭検出部５１は、ステートマシン５４が第２状態にある期間、スイッチ２１から受信されるセグメントデータの中から先頭セグメントを検出する検出処理を実行する。
【００８８】
図１２は、図９の信号処理回路５０により実行されるセグメントデータの読み出し処理の説明図である。なお別の実施の態様においては、下記のオペレーションＢＡ〜ＢＩの各オペレーションはステップであってもよい。
【００８９】
オペレーションＢＡにおいてスイッチインタフェース３１は、スイッチ２１を経由してスイッチインタフェース１２から送信されたセグメントデータを受信する。オペレーションＢＢにおいて先頭検出部５１は、ステートマシン５４が第２状態にあるか否かを判定する。ステートマシン５４が第２状態にある場合（オペレーションＢＢ：Ｙ）、処理はオペレーションＢＣへ移行する。ステートマシン５４が第２状態にない場合（オペレーションＢＢ：Ｎ）、処理はオペレーションＢＨへ移行する。
【００９０】
オペレーションＢＣにおいて先頭検出部５１は、オペレーションＢＡで受信したセグメントデータが、リオーダバッファ３３が空の状態の時から今までに受信されたセグメントデータのうち、最も早くスイッチインタフェース１２から送信されたものであるか否かを判定する。先頭検出部５１は、セグメントデータのヘッダ情報に含まれるシリアルナンバーに基づいて、オペレーションＢＣの判定を行ってもよい。また、先頭検出部５１は、セグメントデータのヘッダ情報に含まれる送信時期情報に基づいて、オペレーションＢＣの判定を行ってもよい。
【００９１】
受信したセグメントデータが最も早く送信されたものであるとき（オペレーションＢＣ：Ｙ）、オペレーションＢＤにおいて先頭検出部５１は、オペレーションＢＡで受信したセグメントデータを仮先頭セグメントとして決定する。その後処理はオペレーションＢＥへ移行する。
【００９２】
受信したセグメントデータが最も早く送信されたものでないとき（オペレーションＢＣ：Ｎ）、先頭検出部５１は、オペレーションＢＤを実行せずに処理をオペレーションＢＥへ進める。すなわち先頭検出部５１は、リオーダバッファ３３が空の状態の時から今までの間に先に実行されたオペレーションＢＤにて決定された仮先頭セグメントを、そのまま仮先頭セグメントとする。
【００９３】
オペレーションＢＥにおいて送信時期取得部５２は、送信側のスイッチインタフェース１２が仮先頭セグメントをスイッチ２１へ送信した送信時期を取得する。送信時期取得部５２は、受信した全てのセグメントデータについて送信時期を取得してもよい。この場合、オペレーションＢＥはオペレーションＢＣやＢＤの前に行ってもよい。
【００９４】
オペレーションＢＦにおいて先頭検出部５１は、仮先頭セグメントの送信時期から所定期間Ｔが経過したか否かを判定する。仮先頭セグメントの送信時期から所定期間が経過したとき（オペレーションＢＦ：Ｙ）、処理はオペレーションＢＧへ移行する。仮先頭セグメントの送信時期から所定期間が経過していないとき（オペレーションＢＦ：Ｎ）、処理はオペレーションＢＡへ戻る。
【００９５】
オペレーションＢＧにおいて先頭検出部５１は、仮先頭セグメントを先頭セグメントとして検出する。読出時期制御部５３は、先頭検出部５１により先頭セグメントが検出されたとき、リオーダバッファ３３からセグメントデータを読み出す読出開始時期が到来したと判定する。読出時期制御部５３は、読み出し時期を指示するタイミング指示信号を出力する。また、ステートマシン５４は第２状態から第１状態へ遷移する。その後、処理は終了する。
【００９６】
オペレーションＢＨにおいてステートマシン５４は、バッファ状態信号に基づいて、リオーダバッファ３３が空になったか否かを判定する。リオーダバッファ３３が空であるとき（オペレーションＢＨ：Ｙ）、オペレーションＢＩにおいてステートマシン５４は第１状態から第２状態へ遷移する。その後、処理はオペレーションＢＡに戻る。リオーダバッファ３３が空でないとき（オペレーションＢＨ：Ｎ）、処理はオペレーションＢＡに戻る。
【００９７】
本実施例の信号処理回路５０は、リオーダバッファ３３が空であるとき、その後に受信が始まるセグメントデータを、リオーダバッファ３３から読み出し始める開始時期を決定する処理を始める。この処理を行うとき信号処理回路５０は、先頭セグメントを検出し、先頭セグメントの送信時期に応じて各セグメントデータの読み出し開始時期を決定する。
【００９８】
本実施例によれば、信号処理回路５０は、ステートマシン５４を用いることにより、リオーダバッファ３３が空であった状態から未だに先頭セグメントが検出されていないことを記憶することができる。このため先頭検出部５１は、ステートマシン５４の状態を参照して先頭セグメントの検出処理を行うべきか否かの判断を行うことができる。
【００９９】
図１３は、複数のスイッチを備えるフレーム伝送装置の第２例の概略構成図である。図２に示す構成要素と同様の構成要素には図２で使用した参照符号と同じ参照符号を付し、同一の機能については説明を省略する。本例のフレーム伝送装置１は、光伝送網上で伝送されるＯＴＮフレームのスイッチングを行う伝送装置である。但し、以下に説明する本実施例に係るスイッチインタフェース１２及び３１は、ＯＴＮフレームのスイッチングを行うフレーム伝送装置だけでなく、他の伝送方式により伝送されるフレームのスイッチングするフレーム伝送装置にも適用可能である。
【０１００】
参照符号１３−１〜１３−ｎは光受信モジュール（ＳＦＰ／ＸＦＰ）を示し（光受信モジュール１３と総称することがある）、参照符号１４−１〜１４−ｎはフレーマを示す（フレーマ１４と総称することがある）。参照符号３４−１〜３４−ｎはフレーマを示し（フレーマ３４と総称することがある）、参照符号３５−１〜３５−ｎは、光送信モジュール（ＳＦＰ／ＸＦＰ）を示し（光送信モジュール３５と総称することがある）。参照符号３はタイミングパルス生成部を示す。
【０１０１】
インタフェースカード１０−１〜１０−ｎは、それぞれ光受信モジュール１３−１〜１３−ｎと、フレーマ１４−１〜１４−ｎと、スイッチインタフェース１２−１〜１２−ｎを備える。またインタフェースカード３０−１〜３０−ｎは、それぞれ、スイッチインタフェース３１−１〜３１−ｎと、フレーマ３４−１〜３４−ｎと、光送信モジュール３５−１〜３５−ｎを備える。
【０１０２】
なお、インタフェースカード１０−ｉ及び３０−ｉは（ｉは１、２〜ｎの値の添字である）、一体のカードとして構成されてもよい。このとき、スイッチインタフェース１２−ｉ及び３１−ｉは同じユニットに搭載されてよい。例えば、スイッチインタフェース１２−ｉ及び３１−ｉは同じ回路チップに搭載されてよい。
【０１０３】
光受信モジュール１３は、光伝送網を経由して伝送されたＯＴＮフレームの受信処理を行う。フレーマ１４は、光受信モジュール１３により受信された受信信号からＯＴＮフレームをデマッピングし、さらにＯＴＮフレームを複数のセグメントデータへ分割する。フレーマ１４は、複数のセグメントデータをスイッチインタフェース１２へ出力する。
【０１０４】
フレーマ３４は、スイッチインタフェース３１から出力されたセグメントデータを受信し、セグメントデータを組み立ててＯＴＮフレームを構築する。光送信モジュール３５は、フレーマ３４が構築したＯＴＮフレームを光伝送網へ送信する。タイミングパルス生成部３は、一定の周期でパルスが発生するタイミングパルス信号を、スイッチインタフェース１２及び３１へ供給する。
【０１０５】
なお、インタフェースカード１０及びスイッチインタフェース１２は、スイッチ２１へセグメントデータを入力する入口に位置するため、それぞれイングレス側のインタフェースカード及びスイッチインタフェースと記載することがある。インタフェースカード３０及びスイッチインタフェース３１は、スイッチ２１からセグメントデータが出力される出口に位置するため、それぞれイーグレス側のインタフェースカード及びスイッチインタフェースと記載することがある。
【０１０６】
図１４は、イングレス側のスイッチインタフェース１２−１の概略構成図である。他のインタフェースカード１２−２〜１２−ｎも同様の構成を有する。参照符号６０はタイムスタンプカウンタを示し、参照符号６１はスイッチセグメント生成部を示し、参照符号６２はシリアルナンバーレジスタを示し、参照符号６３はセグメント分配部を示す。
【０１０７】
スイッチインタフェース１２−１は、タイムスタンプカウンタ６０と、シリアルナンバーレジスタ６１と、スイッチセグメント生成部６２と、セグメント分配部６３とを備える。
【０１０８】
タイムスタンプカウンタ６０は、タイミングパルス生成部３から供給されるタイミングパルス信号を受信し、受信したタイミングを初期値としてカウント動作を行う。タイミングパルス信号は一定周期でパルスを含むので、カウント値は時期を指示する情報として使用することができる。タイミングパルス生成部３から供給されるタイミングパルス信号に含まれるパルスにより初期化されたカウンタのカウント値を、以下「タイムスタンプ」と記載することがある。
【０１０９】
スイッチセグメント生成部６１は、フレーマ１４がＯＴＮフレームを分割して生成したセグメントデータであるＯＤＵセグメントを受信する。スイッチセグメント生成部６１は、ＯＤＵセグメントに所定のヘッダ情報を付加することによりスイッチセグメントを形成し、セグメント分配部６３へ出力する。
【０１１０】
ヘッダ情報は、例えば、セグメントデータの転送元であるスイッチインタフェース１２−１の識別子や、分割前のＯＤＵフレームの宛先に応じて定まる転送先のインタフェースカード３０の識別子を含む。スイッチセグメント生成部６１は、例えば、制御部２によって予め設定された設定情報に従って、転送先のインタフェースカード３０を決定してよい。
【０１１１】
スイッチセグメント生成部６１は、タイムスタンプカウンタ６０から出力されているタイムスタンプを、ヘッダ情報に含める。またスイッチセグメント生成部６１は、各ＯＤＵセグメントのシリアルナンバーをヘッダ情報に含める。
【０１１２】
シリアルナンバーレジスタ６２は、各ＯＤＵセグメントへ割り当てるシリアルナンバーを管理する。スイッチインタフェース１２−１が受信するＯＤＵセグメントが異なる複数のチャネル上を流れる信号であるとき、スイッチインタフェース１２−１は、チャネル毎にシリアルナンバーレジスタ６２を備えてよい。これによってシリアルナンバーをチャネル毎に管理することができる。セグメント分配部６３は、スイッチセグメント生成部６１から受信したスイッチセグメントを、複数のスイッチ２１−１〜２１−ｍへ分配する。
【０１１３】
図１５の（Ａ）〜図１５の（Ｇ）は、イングレス側のスイッチインタフェース１２−１におけるセグメントデータの処理の説明図である。図１５の（Ａ）は、スイッチセグメント生成部６１へ入力されるＯＤＵセグメントのタイムチャートを示し、図１５の（Ｂ）は、タイムスタンプカウンタ６０から出力されるタイムスタンプのタイムチャートを示す。
【０１１４】
図１５の（Ｃ）は、シリアルナンバーレジスタ６２に保持されるシリアルナンバーのタイムチャートを示し、図１５の（Ｄ）は、スイッチセグメント生成部６１から出力されるスイッチセグメントのタイムチャートを示す。図１５の（Ｅ）〜図１５の（Ｇ）は、それぞれレーンｓ１１〜ｓ１３へ出力されるスイッチセグメントのタイムチャートを示す。なお、図１５の（Ｄ）において、記号「ＴＳ」はタイムスタンプを意味し、記号「ＳＮ」はシリアルナンバーを示す。
【０１１５】
タイムスタンプカウンタ６０から出力されるタイムスタンプの値は一定周期で１ずつ増加する。図１５の（Ｂ）のタイムチャートにおいて、タイムスタンプの値は「ｔ」から「ｔ＋１６」まで順次増加する。図１５の（Ａ）に示すとおり、スイッチセグメント生成部６１は、３つのＯＤＵフレームを、それぞれタイムスタンプの値が「ｔ＋１」、「ｔ＋７」及び「ｔ＋１３」である時点で受信する。
【０１１６】
スイッチセグメント生成部６１は、タイムスタンプの値が「ｔ＋１」である時点で受信されたＯＤＵフレームに、その時点のタイムスタンプ「ｔ＋１」及びその時点のシリアルナンバー「０」を含むヘッダ情報を付加することによりスイッチセグメントを形成する。この様子を図１５の（Ｄ）に示す。その後、スイッチセグメント生成部６１は、シリアルナンバーレジスタ６２に保持されるシリアルナンバーの値を１つ増加させる。この結果、シリアルナンバーの値は「０」から「１」へ増加する。
【０１１７】
スイッチセグメント生成部６１は、タイムスタンプの値が「ｔ＋７」である時点で受信されたＯＤＵフレームに、その時点のタイムスタンプ「ｔ＋７」及びその時点のシリアルナンバー「１」を含むヘッダ情報を付加する。その後、スイッチセグメント生成部６１は、シリアルナンバーレジスタ６２に保持されるシリアルナンバーの値を１つ増加させる。この結果、シリアルナンバーの値は「１」から「２」へ増加する。
【０１１８】
スイッチセグメント生成部６１は、タイムスタンプの値が「ｔ＋１３」である時点で受信されたＯＤＵフレームに、その時点のタイムスタンプ「ｔ＋１３」及びその時点のシリアルナンバー「２」を含むヘッダ情報を付加する。その後、スイッチセグメント生成部６１は、シリアルナンバーレジスタ６２に保持されるシリアルナンバーの値を１つ増加させる。この結果、シリアルナンバーの値は「２」から「３」へ増加する。
【０１１９】
図１５の（Ｅ）〜図１５の（Ｇ）に示すように、セグメント分配部６３は、シリアルナンバーがそれぞれ「０」、「１」及び「２」であるスイッチセグメントを、それぞれレーンｓ１１〜ｓ１３へ分配する。
【０１２０】
図１６は、イ−グレス側のスイッチインタフェース３１−１の第１例の概略構成図である。他のインタフェースカード３１−２〜３１−ｎも同様の構成を有する。参照符号７０はＣＰＵレジスタを示し、参照符号７１はセグメント多重化部を示し、参照符号７２は書込制御部を示し、参照符号７４はバッファ管理部を示し、参照符号７５はタイムスタンプカウンタを示す。参照符号７６はタイムスタンプ同期管理部を示し、参照符号７７は読出要求信号生成部を示し、参照符号７８は読出制御部を示し、参照符号３３−１はリオーダバッファを示す。
【０１２１】
スイッチインタフェース３１−１は、ＣＰＵレジスタ７０と、セグメント多重化部７１と、書込制御部７２と、バッファ管理部７４と、タイムスタンプカウンタ７５と、を備える。また、スイッチインタフェース３１−１は、タイムスタンプ同期管理部７６と、読出要求信号生成部７７と、読出制御部７８と、リオーダバッファ３３−１とを備える。
【０１２２】
セグメント多重化部７１は、複数のレーンｒ１１〜ｒｍ１を経由して複数のスイッチ２１−１〜２１−ｍから受信したスイッチセグメントを多重化して、書込制御部７２へ出力される。図１７の（Ａ）〜図１７の（Ｄ）は、セグメント多重化部７１における処理の説明図である。
【０１２３】
図１７の（Ａ）、図１７の（Ｂ）及び図１７の（Ｃ）は、それぞれ、レーンｒ１１、ｒ２１及びｒｍ１を介してセグメント多重化部７１にて受信されるスイッチセグメントのタイムチャートを示す。図１７の（Ｄ）は、図１７の（Ａ）〜図１７の（Ｃ）において受信され、セグメント多重化部７１により多重化されたスイッチセグメントのタイムチャートを示す。図１７の（Ａ）〜図１７の（Ｄ）において記号「ＳＮ」はシリアルナンバーを示す。
【０１２４】
図１７の（Ａ）〜図１７の（Ｃ）に示すように、時刻ｔ１にてシリアルナンバー「ｎ＋１」のスイッチセグメントがレーンｒｍ１を経由して受信され、その後時刻ｔ２にてシリアルナンバー「ｎ＋２」のスイッチセグメントがレーンｒ２１を経由して受信される。時刻ｔ３にてシリアルナンバー「ｎ」のスイッチセグメントがレーンｒ１１を経由して受信され、その後時刻ｔ４にてシリアルナンバー「ｎ＋５」のスイッチセグメントがレーンｒｍ１を経由して受信される。その後時刻ｔ５にてシリアルナンバー「ｎ＋８」のスイッチセグメントがレーンｒ１１を経由して受信される。
【０１２５】
このように、スイッチ２１の通過に要する遅延の揺らぎのため、セグメント多重化部７１に到着する順序が、スイッチセグメントのシリアルナンバーの順序と食い違うことがある。この結果、図１７の（Ｄ）に示す通り、多重化されたスイッチセグメントは、シリアルナンバーの順序通りに並んでセグメント多重化部７１から出力されるとは限らない。
【０１２６】
図１６を参照する。書込制御部７２は、セグメント多重化部７１から出力されるスイッチセグメントを終端し、ＯＤＵセグメント（以下、単に「セグメントデータ」と印す）を、リオーダバッファ３３−１に格納する。
【０１２７】
図１８は、リオーダバッファ３３−１の実現例の説明図である。本例では、ヘッダ情報に含めるシリアルナンバーのビット幅を１４ビットとし、リオーダバッファ３３−１への入力データ幅、すなわち１つのアドレスに格納可能なビット数を２５６ビットとする。また、セグメントデータのサイズを２５６バイトとし、発生が見込まれる最大の揺らぎ量を１２８セグメントとして、最大格納可能セグメント数を２５６個とする。
【０１２８】
参照符号８０にて示される列は、リオーダバッファ３３−１のメモリアドレスの下位第４〜１１ビットの値を示し、参照符号８１にて示される列は、リオーダバッファ３３−１のメモリアドレスの下位４ビットの値を示す。
【０１２９】
例えば参照符号８３は、下位第４〜１１ビットの値が「２５４」でありかつ下位４ビットの値が「０」〜「７」である、２５６ビット×８個＝２５６バイトの記憶領域を示す。また、参照符号８４は、下位第４〜１１ビットの値が「２」でありかつ下位４ビットの値が「０」〜「７」である２５６バイトの記憶領域を示す。
【０１３０】
書込制御部７２は、ヘッダ情報に含まれるシリアルナンバーの下位８ビットを、このセグメントデータを格納するアドレスの下位第４〜１１ビットとして使用する。書込制御部７２は、アドレスの下位４ビットを「０」〜「７」まで順次インクリメントしながら、２５６バイトのセグメントデータを８つの２５６ビットの記憶領域に格納する。
【０１３１】
図１６を参照する。書込制御部７２は、各スイッチセグメントのヘッダ情報から、スイッチセグメントのシリアルナンバーと、スイッチインタフェース１２から送信される際に付せられたタイムスタンプを取得する。書込制御部７２は、シリアルナンバーとタイムスタンプをバッファ管理部７４へ出力する。書込制御部７２は、特許請求の範囲の送信時期所得部の一例として挙げられる。
【０１３２】
バッファ管理部７４は、書込制御部７２からシリアルナンバーとタイムスタンプを受信することにより、リオーダバッファ３３−１へ格納されるセグメントデータの増分を検出する。またバッファ管理部７４は、リオーダバッファ３３−１からのセグメントデータの読み出しを通知する信号を後述の読出制御部７８から受信し、リオーダバッファ３３−１へ格納されるセグメントデータの減少分を検出する。このようにリオーダバッファ３３−１へ格納されるセグメントデータの増加及び減少を検出することにより、バッファ管理部７４は、リオーダバッファ３３−１へ蓄積されるセグメントデータの蓄積量を監視する。
【０１３３】
バッファ管理部７４は、リオーダバッファ３３−１内のセグメントデータの蓄積量を示すバッファ状態信号と、書込制御部７２から受信したシリアルナンバー及びタイムスタンプをタイムスタンプ同期管理部７６へ出力する。
【０１３４】
タイムスタンプカウンタ７５は、タイミングパルス生成部３から供給されるタイミングパルス信号を受信し、受信したタイミングを初期値としてカウント動作を行う。これによりタイムスタンプカウンタ７５がカウントするカウント値の初期値は、イングレス側のスイッチインタフェース１２に設けられたタイムスタンプカウンタ６０がカウントするカウント値の初期値と一致する。このためタイムスタンプカウンタ７５及びタイムスタンプカウンタ６０がカウントするカウント値は同じ値のタイムスタンプとなる。タイムスタンプカウンタ７５は、カウント値をタイムスタンプ同期管理部７６へ出力する。タイムスタンプカウンタ７５によりカウントされるタイミングパルス信号のカウント値を、以下単に「カウント値」と記載することがある。
【０１３５】
タイムスタンプ同期管理部７６は、受信したセグメントデータのシリアルナンバー、タイムスタンプ及びバッファ状態信号をバッファ管理部７４から受信し、タイムスタンプカウンタ７５からカウント値を受信する。また、タイムスタンプ同期管理部７６は、ＣＰＵレジスタ７０から下記のオフセット指示情報を読み込む。タイムスタンプ同期管理部７６は、シリアルナンバー、タイムスタンプ、バッファ状態信号、カウント値及びオフセット指示情報に基づいて、「ＲＯ状態」及び「ＴＳ状態」の２つの状態のいずれかを示す状態信号を出力する。
【０１３６】
「ＲＯ状態」とは、先頭セグメントの読み出しが開始され、リオーダバッファ３３−１が空になるまで、先頭セグメントに続く後続のセグメントデータの読み出しが継続している状態である。「ＴＳ状態」とは、リオーダバッファ３３−１が空である状態から、まだ先頭セグメントが検出されず先頭セグメントの読み出しが開始されていない状態である。
【０１３７】
後述するようにタイムスタンプ同期管理部７６は、「ＲＯ状態」及び「ＴＳ状態」の間を遷移する状態を記憶するステートマシンを備えている。なお「ＲＯ状態」及び「ＴＳ状態」は、それぞれ特許請求の範囲の「第１状態」及び「第２状態」の一例として挙げられる。タイムスタンプ同期管理部７６は、状態信号を読出要求信号生成部７７へ出力する。
【０１３８】
また、タイムスタンプ同期管理部７６は、上述のステートマシンの状態が「ＴＳ状態」であるとき、先頭セグメントの検出処理を実行する。先頭セグメントが検出されたとき、タイムスタンプ同期管理部７６は、この先頭セグメントのシリアルナンバーを、読出要求信号生成部７７へ出力する。タイムスタンプ同期管理部７６は、特許請求の範囲の先頭検出部及び読出時期制御部の一例として挙げられる。タイムスタンプ同期管理部７６が行う処理内容は後述する。
【０１３９】
読出要求信号生成部７７は、ＣＰＵレジスタ７０から読み出し間隔情報を読み込む。読出要求信号生成部７７は、状態信号が示す値が「ＴＳ状態」から「ＲＯ状態」へ変わったとき、先頭セグメントをリオーダバッファ３３−１から読み出すための読出要求信号を生成する。また読出要求信号生成部７７は、先頭セグメントに続く後続のセグメントデータをそれぞれ読み出すための読出要求信号を、読み出し間隔情報が示す間隔毎に生成する。読出要求信号生成部７７は、読出要求信号を読出制御部７８へ出力する。
【０１４０】
読出制御部７８は、読出要求信号生成部７７から受信する読出要求信号に従って読み出し制御信号を出力することにより、リオーダバッファ３３−１からセグメントデータを読み出す。読出制御部７８は、読み出したセグメントデータをフレーマ３４−１へ一定間隔で出力する。
【０１４１】
ＣＰＵレジスタ７０は、上述のオフセット指示情報及び読出間隔情報などの設定値を保持する。ＣＰＵレジスタ７０は、インタフェースカード３０−１に設けられた所定のプロセッサによりアクセス可能なアクセスバスに接続されており、上述の設定値はこのプロセッサによって変更することができる。
【０１４２】
図１９は、タイムスタンプ同期管理部７６の概略構成図である。参照符号９０はシリアルナンバー判定部を示し、参照符号９１はタイムスタンプ情報保持部を示し、参照符号９２は加算回路を示し、参照符号９３は比較部を示す。参照符号９４はステートマシンを示し、参照符号９５は揺らぎ監視部を示し、参照符号９６は比較部を示し、参照符号９７はシリアルナンバーレジスタを示し、参照符号９８はタイムスタンプレジスタを示す。図１９において、記号「ＴＳ」はタイムスタンプを意味し、記号「ＳＮ」はシリアルナンバーを示す。
【０１４３】
タイムスタンプ同期管理部７６は、シリアルナンバー判定部９０と、タイムスタンプ情報保持部９１と、加算回路９２と、比較部９３と、ステートマシン９４を備える。ステートマシン９４は、「ＲＯ状態」及び「ＴＳ状態」の間を遷移する状態を記憶する。ステートマシン９４の状態が「ＴＳ状態」にあるとき、シリアルナンバー判定部９０は、受信したセグメントデータのシリアルナンバーを、バッファ管理部７４から受信する。
【０１４４】
シリアルナンバー判定部９０は、揺らぎ監視部９５と、比較部９６と、シリアルナンバーレジスタ９７を備える。揺らぎ監視部９５は、受信したシリアルナンバーとシリアルナンバーレジスタ９７の値との差が、所定の許容範囲である揺らぎ範囲内にあるか否かを判定する。
【０１４５】
受信したシリアルナンバーとシリアルナンバーレジスタ９７との差が揺らぎ範囲内にあるとき、比較部９６は、受信したシリアルナンバーとシリアルナンバーレジスタ９７に記憶されているシリアルナンバーとを比較する。
【０１４６】
受信したシリアルナンバーがシリアルナンバーレジスタ９７に記憶されているシリアルナンバーよりも小さいとき、比較部９６は、受信したシリアルナンバーをシリアルナンバーレジスタ９７に記憶する。すなわち受信したシリアルナンバーの順位がシリアルナンバーレジスタ９７に記憶されているシリアルナンバーの順位より早いとき、比較部９６は、受信したシリアルナンバーをシリアルナンバーレジスタ９７に記憶する。
【０１４７】
但し、スイッチインタフェース３０−１が起動後に初めてシリアルナンバーを受信したとき、又はステートマシン９４の状態が「ＴＳ状態」に遷移後に初めてシリアルナンバーを受信したとき、このシリアルナンバーがシリアルナンバーレジスタ９７に記憶される。したがって、シリアルナンバーレジスタ９７には、リオーダバッファ３３−１が空の状態の時から今までに受信されたセグメントデータのうち、最も早くスイッチインタフェース１２から送信されたセグメントデータのシリアルナンバーが記憶される。以下の説明において、シリアルナンバーレジスタ９７に記憶されるシリアルナンバーのセグメントデータを、「仮先頭セグメント」と記載することがある。
【０１４８】
またシリアルナンバー判定部９０は、シリアルナンバーレジスタ９７に記憶されている仮先頭セグメントのシリアルナンバーを読出要求信号生成部７７へ出力する。
【０１４９】
比較部９６による比較結果はタイムスタンプ情報保持部９１へ出力される。タイムスタンプ情報保持部９８は、バッファ管理部７４から出力されるタイムスタンプを受信する。タイムスタンプ情報保持部９８は、タイムスタンプを記憶するためのタイムスタンプレジスタ９８を備える。
【０１５０】
タイムスタンプ情報保持部９１は、シリアルナンバーレジスタ９７の値が更新されたとき、更新後のシリアルナンバーを有するセグメントデータのタイムスタンプによって、タイムスタンプレジスタ９８の値を更新する。この結果、タイムスタンプレジスタ９８には、仮先頭セグメントのタイムスタンプが記憶される。
【０１５１】
加算回路９２は、タイムスタンプレジスタ９８に記憶されたタイムスタンプに、ＣＰＵレジスタ７０から読み込んだオフセット指示情報の値を加算する。加算回路９２から出力されるタイムスタンプは、オフセット指示情報の値に対応する遅延時間分だけ仮先頭セグメントのタイムスタンプよりも遅い時期を示す。
【０１５２】
オフセット指示情報の値は、例えば、上述の固定遅延量４０と最大揺らぎ量４２とを加えた期間の間にタイムスタンプカウンタ７５がカウントする数以上の値であってよい。このようにオフセット指示情報を設定することにより、加算回路９２から出力されるタイムスタンプは、仮先頭セグメントがスイッチ２１へ送信された送信時期よりも、（固定遅延量４０＋最大揺らぎ量４２）分だけ遅れた時期を示す。
【０１５３】
比較部９３は、タイムスタンプカウンタ７５から出力される現在時点を示すカウント値と、加算回路９２から出力されるタイムスタンプとを比較する。比較部９３によって、仮先頭セグメントがスイッチ２１へ送信された送信時期から、オフセット指示情報の値に対応する遅延時間が経過したか否かを判定することができる。
【０１５４】
加算回路９２から出力されるタイムスタンプがタイムスタンプカウンタ７５から出力されるカウント値と等しいとき、ステートマシン９４は、「ＴＳ状態」から「ＲＯ状態」へ遷移する。
【０１５５】
図２０は、ステートマシン９４の状態遷移図である。加算回路９２の出力とタイムスタンプカウンタ７５の出力が等しいということは、仮先頭セグメントがスイッチ２１へ送信された送信時期から（固定遅延＋最大揺らぎ量）分の期間が経過したことを意味する。したがって、これより以降は仮先頭セグメントより早く送信されたセグメントデータが到着する見込みはないため、仮先頭セグメントは先頭セグメントであると判定される。したがってステートマシン９４は、先頭セグメントが検出されたと判定して、「ＲＯ状態」へ遷移する。
【０１５６】
ステートマシン９４は、バッファ管理部７４からバッファ状態信号を受信する。リオーダバッファ３３−１が空になったときステートマシン９４は、「ＲＯ状態」から「ＴＳ状態」へ遷移する。ステートマシン９４は、「ＲＯ状態」及び「ＴＳ状態」のうち現在の状態を示す状態信号を読出要求信号生成部７７へ出力する。
【０１５７】
なお、スイッチインタフェース１２−１が受信するＯＤＵセグメントが異なる複数のチャネル上を流れる信号であるとき、チャネル毎にセグメントデータをリオーダバッファ３３に格納してよい。チャネル毎にセグメントデータをリオーダバッファ３３に格納するためのスイッチインタフェースの構成例を図２１及び図２２に示す。
【０１５８】
図２１は、イ−グレス側のスイッチインタフェースの第２例の概略構成図であり、図２２は、セグメントデータ・リオーダ部１００−１〜１００−ｋの概略構成図である。スイッチインタフェース３１は、複数のチャネルのセグメントデータのリオーダリングをそれぞれ行う複数のセグメントデータ・リオーダ部１００−１〜１００−ｋを備える（総称してセグメントデータ・リオーダ部１００と記載することがある）。
【０１５９】
各セグメントデータ・リオーダ部１００は、図１６を参照して説明した書込制御部７２と、バッファ管理部７４と、タイムスタンプ同期管理部７６と、読出要求信号生成部７７と、読出制御部７８と、リオーダバッファ３３をそれぞれ備える。スイッチインタフェース３１−１は、更に、チャネル分配部１０１とチャネル多重化部１０２を備える。
【０１６０】
チャネル分配部１０１は、セグメント多重部７１から出力されるスイッチセグメントを、チャネル毎に、各セグメントデータ・リオーダ部１００へ分配する。チャネル多重化部１０２は、各セグメントデータ・リオーダ部１００から出力されるセグメントデータを、多重化してフレーマ３４−１へ出力する。
【０１６１】
図２３は、タイムスタンプ同期管理部７６による先頭セグメントの検出処理の説明図である。なお別の実施の態様においては、下記のオペレーションＣＡ〜ＣＧの各オペレーションはステップであってもよい。また、図２３において、記号「ＴＳ」はタイムスタンプを意味し、記号「ＳＮ」はシリアルナンバーを示す。
【０１６２】
オペレーションＣＡにおいてセグメント多重化部７１は、到着したスイッチセグメントを受信する。セグメント多重化部７１は、スイッチセグメントを書込制御部７２に出力する。
【０１６３】
次のオペレーションＣＢと、オペレーションＣＣ〜ＣＧとは同時に実行されてもよい。また、オペレーションＣＢとオペレーションＣＣ〜ＣＧとは、どちらか一方を先に実行して他方を後に実行してもよい。オペレーションＣＢにおいてセグメント多重化部７１は、受信したスイッチセグメントに含まれるセグメントデータをリオーダバッファ３３へ書き込む。
【０１６４】
オペレーションＣＣにおいてタイムスタンプ同期管理部７６のシリアルナンバー判定部９０は、ステートマシン９４の状態が「ＴＳ状態」であるか否かを判定する。ステートマシン９４の状態が「ＴＳ状態」であるとき（オペレーションＣＣ：Ｙ）、処理はオペレーションＣＤへ移行する。ステートマシン９４の状態が「ＴＳ状態」でないとき（オペレーションＣＣ：Ｎ）、タイムスタンプ同期管理部７６は処理を終了する。
【０１６５】
オペレーションＣＤにおいてシリアルナンバー判定部９０は、到着したスイッチセグメントのヘッダに格納されていたシリアルナンバーを、バッファ管理部７４から受信する。シリアルナンバー判定部９０は、到着したスイッチセグメントが、スイッチインタフェース３０−１が起動後に初めて、又はステートマシン９４の状態が「ＴＳ状態」に遷移後に初めて受信したスイッチセグメントであるか否かを判定する。到着したスイッチセグメントが初めて受信したスイッチセグメントでないとき（オペレーションＣＤ：Ｎ）、処理はオペレーションＣＥへ移行する。到着したスイッチセグメントが初めて受信したスイッチセグメントであるとき（オペレーションＣＤ：Ｙ）、処理はオペレーションＣＧへ移行する。
【０１６６】
オペレーションＣＥにおいて揺らぎ監視部９５は、受信したシリアルナンバーとシリアルナンバーレジスタ９７の値との差が、所定の揺らぎ範囲内にあるか否かを判定する。受信したシリアルナンバーとシリアルナンバーレジスタ９７の値との差が揺らぎ範囲にあるとき（オペレーションＣＥ：Ｙ）、処理はオペレーションＣＦへ移行する。受信したシリアルナンバーとシリアルナンバーレジスタ９７の値との差が揺らぎ範囲にないとき（オペレーションＣＥ：Ｎ）、タイムスタンプ同期管理部７６は、ステートマシン９４並びにレジスタ９７及び９８の状態を起動開始直後の状態へ戻し、処理を終了する。揺らぎ監視部９５の処理により、不用意なシリアルナンバーが到着したことを検出して、フレーム伝送装置１の異常動作を検出することが可能となる。
【０１６７】
オペレーションＣＦにおいて比較部９６は、受信したシリアルナンバーとシリアルナンバーレジスタ９７の値とを比較する。受信したシリアルナンバーがシリアルナンバーレジスタ９７の値よりも小さいとき（オペレーションＣＦ：Ｙ）、処理はオペレーションＡＤＣＧへ移行する。受信したシリアルナンバーがシリアルナンバーレジスタ９７の値よりも小さくないとき（オペレーションＣＦ：Ｎ）、タイムスタンプ同期管理部７６は処理を終了する。
【０１６８】
オペレーションＣＧにおいて比較部９６は、受信したシリアルナンバーを仮先頭セグメントのシリアルナンバーとして、シリアルナンバーレジスタ９７に記憶する。また、タイムスタンプ情報保持部９１は、更新後の仮先頭セグメントのタイムスタンプによって、タイムスタンプレジスタ９８の値を更新する。
【０１６９】
なお、オペレーションＣＥにおける揺らぎ監視部９５による判定は必ずしも必須ではなく、オペレーションＣＥ及び揺らぎ監視部９５を省略してもよい。また、オペレーションＣＥにおける揺らぎ監視部９５による判定及び／又はオペレーションＣＦにおける比較部９６の判定において、シリアルナンバーではなくタイムスタンプを用いてもよい。タイムスタンプを用いる場合、シリアルナンバーレジスタ９７を省略してもよい。
【０１７０】
図２４は、ステートマシン９４の状態の変更処理の説明図である。なお別の実施の態様においては、下記のオペレーションＤＡ〜ＤＦの各オペレーションはステップであってもよい。また、図２４において、記号「ＴＳレジスタ」はタイムスタンプレジスタを意味する。
【０１７１】
オペレーションＤＡにおいてタイムスタンプカウンタ７５は、タイミングパルス生成部３からのタイミングパルスを受信し、カウント値を初期値に更新する。
【０１７２】
オペレーションＤＢにおいてステートマシン９４は、ＴＳ状態にあるか否かを判定する。ステートマシン９４の状態が「ＴＳ状態」であるとき（オペレーションＤＢ：Ｙ）、処理はオペレーションＤＣへ移行する。ステートマシン９４の状態が「ＴＳ状態」でないとき（オペレーションＤＢ：Ｎ）、処理はオペレーションＤＥへ移行する。
【０１７３】
オペレーションＤＣにおいて比較部９３は、タイムスタンプレジスタ９８に記憶されるタイムスタンプの値及びオフセット指示情報の値を加算する加算回路９２の出力と、タイムスタンプカウンタ７５から出力されるカウント値とを比較する。加算回路９２の出力とカウント値が等しいとき（オペレーションＤＣ：Ｙ）、処理はオペレーションＤＤへ移行する。加算回路９２の出力とカウント値が等しくないとき（オペレーションＤＣ：Ｎ）、処理は終了する。オペレーションＤＤにおいてステートマシン９４は、「ＴＳ状態」から「ＲＯ状態」へ遷移する。
【０１７４】
オペレーションＤＥにおいてステートマシン９４は、リオーダバッファ３３−１が空であるか否かを判定する。リオーダバッファ３３−１が空であるとき（オペレーションＤＥ：Ｙ）、処理はオペレーションＤＦへ移行する。リオーダバッファ３３−１が空でないとき（オペレーションＤＥ：Ｎ）、処理は終了する。オペレーションＤＦにおいてステートマシン９４は、「ＲＯ状態」から「ＴＳ状態」へ遷移する。
【０１７５】
図２５は、読出要求信号生成部７７の処理の説明図である。なお別の実施の態様においては、下記のオペレーションＥＡ〜ＥＥの各オペレーションはステップであってもよい。
【０１７６】
オペレーションＥＡにおいて読出要求信号生成部７７は、ステートマシン９４の状態を状態信号が示す値が「ＲＯ状態」であるか否かを判定する。ステートマシン９４が「ＲＯ状態」であるとき（オペレーションＥＡ：Ｙ）、処理はオペレーションＥＢへ移行する。ステートマシン９４が「ＲＯ状態」でないとき（オペレーションＥＡ：Ｎ）、オペレーションＥＡが繰り返される。
【０１７７】
オペレーションＥＢにおいて読出要求信号生成部７７は、一定間隔でカウント値がインクリメントされるシェーピング用カウンタの値を参照する。読出要求信号生成部７７は、シェーピング用カウンタの値が満了したか否か、すなわちシェーピング用カウンタの値が所定の閾値へ到達したか否かを判定する。この閾値の値はＣＰＵレジスタ７０に読み出し間隔情報として設定されている。
【０１７８】
シェーピング用カウンタの値が満了したとき（オペレーションＥＢ：Ｙ）、処理はオペレーションＥＣへ移行する。シェーピング用カウンタの値が満了していないとき（オペレーションＥＢ：Ｎ）、処理はオペレーションＥＡへ戻る。
【０１７９】
オペレーションＥＣにおいて読出要求信号生成部７７は、読出対象のシリアルナンバーを読み出すための読出要求信号を出力する。ステートマシン９４の状態が「ＴＳ状態」から「ＲＯ状態」へ遷移した直後のとき、読出要求信号生成部７７は、シリアルナンバー判定部９０から出力される先頭セグメントのシリアルナンバーを、読出対象のシリアルナンバーとして出力する。
【０１８０】
オペレーションＥＤにおいて読出要求信号生成部７７は、読出対象のシリアルナンバーの値を１つ増加させる。オペレーションＥＥにおいて読出要求信号生成部７７は、シェーピング用カウンタの値をリセットする。
【０１８１】
図２６の（Ａ）〜図２６の（Ｈ）は、実施例に係るセグメントデータの読み出し方法の説明図である。図２６の（Ａ）は、イングレス側のタイムスタンプカウンタ６０によりカウントされるカウント値のタイムチャートを示し、図２６の（Ｂ）はスイッチインタフェース１２から出力されるスイッチセグメントのタイムチャートを示す。
【０１８２】
図２６の（Ｃ）はスイッチインタフェース３１へ入力されるスイッチセグメントのタイムチャートを示し、図２６の（Ｄ）はシリアルナンバーレジスタ９７の値のタイムチャートを示し、図２６の（Ｅ）はタイムスタンプレジスタ９８の値のタイムチャートを示す。
【０１８３】
図２６の（Ｆ）はタイムスタンプレジスタ９８の値にオフセット指示情報の値を加えた値のタイムチャートを示し、図２６の（Ｇ）はイーグレス側のタイムスタンプカウンタ７５から出力されるカウント値のタイムチャートを示す。図２６の（Ｈ）は読出制御部７８から出力されるセグメントデータのタイムチャートを示す。
【０１８４】
図２６の（Ｂ）に示す各矩形はスイッチセグメントを示し、矩形内の数字はそれぞれのスイッチセグメントのシリアルナンバーを示す。シリアルナンバー「１」のスイッチセグメントを先頭セグメントとし、時刻ｔ１及びｔ２においてそれぞれ、シリアルナンバー「１」及び「２」のスイッチセグメントがスイッチインタフェース１２からスイッチ２１へ送信される場合を考える。
【０１８５】
図２６の（Ａ）に示すように、時刻ｔ１及びｔ２におけるタイムスタンプカウンタ６０のカウントされるカウント値は、それぞれ「ａ」及び「ｂ」であるので、これらシリアルナンバー「１」及び「２」のスイッチセグメントのヘッダ情報には、値「ａ」及び「ｂ」のタイムスタンプが格納される。
【０１８６】
図２６の（Ｃ）に示すようにシリアルナンバー「１」及び「２」のスイッチセグメントは、それぞれ時刻ｔ４及びｔ３においてスイッチインタフェース３１で受信される。図２６の（Ｄ）に示すようにシリアルナンバーレジスタ９７には、時刻ｔ３にて値「２」が入力され、時刻ｔ４にてシリアルナンバーレジスタ９７の値は「１」へ更新される。
【０１８７】
また、図２６の（Ｅ）に示すようにタイムスタンプレジスタ９８には、時刻ｔ３にて値「ｂ」が入力され、時刻ｔ４にてタイムスタンプレジスタ９８の値は「ａ」へ更新される。
【０１８８】
いま、固定遅延量４０に最大揺らぎ量４２を加えた期間が、「ａ」と「ｄ」の差分に相当し、且つ「ａ」から「ｅ」までに送信されたスイッチセグメントのタイムスタンプカウンタ６０の値がそれぞれ等間隔であると仮定し、オフセット指示情報の値が「ｄ−ａ」である場合を考える。図２６の（Ｆ）に示すようにタイムスタンプレジスタ９８の値にオフセット指示情報の値を加えた値は、時刻ｔ３では値「ｂ」より「ｄ−ａ」（＝「ｅ−ｂ」）分進んだ値「ｅ−ｂ」＋「ｂ」より「ｅ」となり、時刻ｔ４にて値は「ｄ−ａ」＋「ａ」より「ｄ」となる。
【０１８９】
このため、先頭セグメントが送信された時刻ｔ１から、（固定遅延量４０＋最大揺らぎ量４２）分の期間を経過した時刻ｔ５にて、タイムスタンプレジスタ９８の値にオフセット指示情報の値を加えた値と、タイムスタンプカウンタ７５のカウント値とが一致する。この様子を図２６の（Ｆ）及び図２６の（Ｇ）に示す。
【０１９０】
読出要求信号生成部７７は、時刻ｔ５から、読み出し間隔情報にて指示された間隔Ｔ毎に読出要求信号を発生させる。この結果、図２６の（Ｈ）に示すように時刻ｔ５から、セグメントデータの出力が開始される。
【０１９１】
本実施例によれば、リオーダバッファ３３−１に滞在するセグメントデータの滞在時間が低減される。フレーム伝送装置１がＯＴＮフレームのスイッチングを行う伝送装置である場合には、許容遅延時間が規格によって定められているため、リオーダバッファ３３−１における滞在時間の短縮により、フレーム伝送装置１の設計がより容易になる。
【０１９２】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
【０１９３】
（付記１）
フレームを分割した複数のセグメントデータを前記フレームの宛先へそれぞれスイッチングする複数のスイッチから受信した前記セグメントデータを格納するバッファから、前記セグメントデータを読み出す処理を制御する信号処理回路であって、
前記バッファが空になった後に受信されるセグメントデータのうち最初に前記スイッチへ送信されたセグメントデータである先頭セグメントを検出する先頭検出部と、
前記先頭セグメントが前記スイッチへ送信された送信時期を取得する送信時期所得部と、
前記送信時期に応じて、前記セグメントデータを前記バッファから読み出す読出時期を決定する読出時期制御部と、
を備える信号処理回路。
【０１９４】
（付記２）
前記読出時期制御部は、前記先頭セグメントの送信時期から所定期間が経過したとき、前記先頭セグメントの読出時期が到来したと判定する付記１に記載の信号処理回路。
【０１９５】
（付記３）
前記読出時期制御部は、前記先頭セグメントの送信時期から所定期間が経過した後、一定期間が経過する度に各前記セグメントデータの読出時期が到来したと判定する付記１又は２に記載の信号処理回路。
【０１９６】
（付記４）
前記先頭検出部は、前記セグメントデータに付加されるヘッダ情報に含まれる前記セグメントデータの送信順序情報に基づいて、前記バッファに格納される前記セグメントデータのうち送信順序が最も早いものを前記先頭セグメントとして検出する付記１〜３のいずれか一項に記載の信号処理回路。
【０１９７】
（付記５）
前記先頭検出部は、前記セグメントデータに付加されるヘッダ情報に含まれる前記セグメントデータの送信時期情報に基づいて、前記バッファに格納される前記セグメントデータのうち、前記スイッチへ送信された送信時期が最も古いものを前記先頭セグメントとして検出する付記１〜３のいずれか一項に記載の信号処理回路。
【０１９８】
（付記６）
第１状態と第２状態との間を遷移するステートマシンを備え、
前記ステートマシンは、前記バッファが空になったときに前記第１状態から前記第２状態へ遷移し、かつ前記先頭セグメントの読出時期が到来したときに前記第２状態から前記第１状態へ遷移する付記２又は３に記載の信号処理回路。
【０１９９】
（付記７）
付記１〜６のいずれか一項に記載の前記信号処理回路と、
前記スイッチから前記セグメントデータを受信する受信部と、
前記バッファと、
を備えるスイッチインタフェースユニット。
【０２００】
（付記８）
付記７に記載のインタフェースユニットとしての第１インタフェースユニットと、
前記複数のスイッチと、
第２インタフェースユニットと、を備え、前記第２インタフェースユニットは、
フレームを受信するフレーム受信部と、
受信した前記フレームを複数の前記セグメントデータへ分割するフレーム分割部と、
前記複数のセグメントデータを前記複数のスイッチへ分配する分配部と、を有するフレーム伝送装置。
【０２０１】
（付記９）
フレームを分割した複数のセグメントデータを前記フレームの宛先へそれぞれスイッチングする複数のスイッチから受信した前記セグメントデータを格納するバッファから、前記セグメントデータを読み出す方法であって、
前記バッファが空になった後に受信されるセグメントデータのうち最初に前記スイッチへ送信されたセグメントデータである先頭セグメントを検出し、
前記先頭セグメントが前記スイッチへ送信された送信時期を取得し、
前記送信時期に応じて、前記セグメントデータを前記バッファから読み出す読出時期を決定する、セグメントデータの読み出し方法。
【符号の説明】
【０２０２】
１    フレーム伝送装置
１０、１０−１〜１０−ｎ、３０、３０−１〜３０−ｎ    インタフェースカード
１２，１２−１〜１２−ｎ、３１、３１−１〜３１−ｎ    スイッチインタフェース
２０    スイッチカード
２１、２１−１〜２１−ｍ    スイッチ
５０    信号処理回路
５１    先頭検出部
５２    送信時期取得部
５３    読出時期制御部
５４    ステートマシン
【図１】
0005625290.tif 000002
【図２】
0005625290.tif 000003
【図３】
0005625290.tif 000004
【図４】
0005625290.tif 000005
【図５】
0005625290.tif 000006
【図６】
0005625290.tif 000007
【図７】
0005625290.tif 000008
【図８】
0005625290.tif 000009
【図９】
0005625290.tif 000010
【図１０】
0005625290.tif 000011
【図１１】
0005625290.tif 000012
【図１２】
0005625290.tif 000013
【図１３】
0005625290.tif 000014
【図１４】
0005625290.tif 000015
【図１５】
0005625290.tif 000016
【図１６】
0005625290.tif 000017
【図１７】
0005625290.tif 000018
【図１８】
0005625290.tif 000019
【図１９】
0005625290.tif 000020
【図２０】
0005625290.tif 000021
【図２１】
0005625290.tif 000022
【図２２】
0005625290.tif 000023
【図２３】
0005625290.tif 000024
【図２４】
0005625290.tif 000025
【図２５】
0005625290.tif 000026
【図２６】
0005625290.tif 000027