伝送装置および伝送方法
【課題】伝送遅延の変動を抑えること。
【解決手段】伝送装置には、パケットが不定の間隔で入力される。伝送装置は、伝送装置へ入力された各パケットの間の空き時間を計測する。また、伝送装置は、計測した空き時間に基づいて、入力された各パケットの間に所定のフレームを挿入するか否かを判断する。そして、伝送装置は、伝送装置へ入力された各パケットを順次送信し、判断結果に基づいて所定のフレームを各パケットの間に挿入して送信する。
【解決手段】伝送装置には、パケットが不定の間隔で入力される。伝送装置は、伝送装置へ入力された各パケットの間の空き時間を計測する。また、伝送装置は、計測した空き時間に基づいて、入力された各パケットの間に所定のフレームを挿入するか否かを判断する。そして、伝送装置は、伝送装置へ入力された各パケットを順次送信し、判断結果に基づいて所定のフレームを各パケットの間に挿入して送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを伝送する伝送装置および伝送方法に関する。
【背景技術】
【0002】
近年、IP(Internet Protocol)網の発達に伴い、専用線(たとえば企業間専用通信)で行われていたサービスをイーサネット(登録商標)などに置き換えることが検討されている。専用線においては高品質な通信品質が確保される仕組みが整っているが、イーサネットなどにおいては思想の違いなどによって専用線のような高い通信品質が確保される仕組みが整っていない。
【0003】
従来のIP網ではデータ通信が中心であったため、高い通信品質が確保されていなくても問題とはならなかった。また、SDH(Synchronous Digital Hierarchy:同期デジタルハイアラーキ)などのOTN(Optical Transport Network:光伝達網)では、音声の64K[bps]のn倍を基準とした速度の通信であったため、揺らぎ(伝送遅延の変動)が発生しない。SDHをイーサネットに置き換えて行く過程で、専用線網をイーサネットに載せる構想が出てきた。
【0004】
このため、専用線などの通信品質が求められる伝送装置の巻き替えのための開発において、イーサネットのパケットに載せて長距離伝送を行う場合に、複数のリング網を通過する際に発生する揺らぎが問題となっている。揺らぎは、たとえば、パケット間隔が送信側で一定であるにも関わらず、伝送過程で他系からの信号の調停の際にパケット間隔が前後することによって発生する。たとえばVoIP(Voice over IP)などの音声通信においては、揺らぎが音声の歪みとなる。
【0005】
たとえばイーサネットにおいて、他系からの信号に関しては、優先順位付けを行い、同着となる場合は優先順位の高いパケットを先に流す処理を行っているが、優先順位が同位の場合はやはり揺らぎが発生する。また、たとえばイーサネットの伝送装置は、OAM(Operation Administration Maintenance:保守管理機能)を有しており、検査用のOAMフレームを定期的に送出する。たとえば、ITU勧告によれば、300フレーム/秒のOAMフレームを送出することが求められる。この定期的に送出されるOAMフレームがパケット間に挿入されることも、揺らぎの要因の一つとなっている。
【0006】
優先順位付けによって揺らぎを抑えようとした場合においても、OAMフレームには高い優先順位が付加されているため、OAMフレームが他のパケットより優先されてパケット間に挿入されてしまう。また、各局社から各々の用途に応じてOAMフレームが挿入されるため、局社を経由するほどOAMフレームの挿入数が増加し、揺らぎが大きくなる。
【0007】
また、SDHやATM(Asynchronous Transfer Mode:非同期転送モード)においては、OAMフレームの挿入によるパケットの遅延を最小化する技術が知られている(たとえば、下記特許文献1,2参照。)。この技術においては、パケットの空き時間に流れる固定長の空きパケット(空きセル)を各フレームのヘッダに基づいて検出し、検出した空きパケットにOAMフレームを挿入する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平8−237254号公報
【特許文献2】特開2000−224175号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、パケットの空き時間に空きパケットが流れないイーサネットなどの通信網においては、パケットの空き時間が不定である。このため、上述した従来技術では、パケット間にフレームを挿入した場合に、挿入したフレームのデータ長がパケットの空き時間より長い場合がある。この場合は、挿入したフレームの後のパケットが遅延し、伝送遅延の変動(揺らぎ)が大きくなるという問題がある。
【0010】
本発明は、上述した従来技術による問題点を解消するため、伝送遅延の変動を抑えることができる伝送装置および伝送方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、パケットが不定の間隔で入力され、前記パケットが入力されていない空き時間を計測し、計測した前記空き時間に基づいて、入力された各パケットの間に所定のフレームを挿入するか否かを判断し、入力された各パケットを順次送信し、判断結果に基づいて前記所定のフレームを前記各パケットの間に挿入して送信する伝送装置および伝送方法が提案される。
【発明の効果】
【0012】
本発明の一側面によれば、伝送遅延の変動を抑えることができるという効果を奏する。
【図面の簡単な説明】
【0013】
【図1】図1は、実施の形態にかかる伝送装置によるOAMフレームの挿入の一例を示す図である。
【図2】図2は、伝送装置が備えるOAM挿入部の構成の一例を示す図である。
【図3】図3は、伝送装置の構成の一例を示す図である。
【図4】図4は、インターフェース部の構成の一例を示す図である。
【図5】図5は、伝送装置を適用した伝送システムの一例を示す図である。
【図6】図6は、挿入判断部の構成の一例を示す図である。
【図7】図7は、空き時間の算出の一例を示す図である。
【図8】図8は、挿入判断部の動作の一例を示すフローチャートである。
【図9】図9は、OAM生成部によるOAMフレームの生成の一例を示すシーケンス図である。
【図10】図10は、挿入判断部の構成の変形例を示す図である。
【図11】図11は、変形例にかかる空き時間の算出の一例を示す図である。
【図12】図12は、変形例にかかる挿入判断部の動作の一例を示すフローチャートである。
【図13】図13は、バッファの変形例を示す図である。
【図14】図14は、メモリ制御部による制御の一例を示す図である。
【発明を実施するための形態】
【0014】
以下に添付図面を参照して、本発明にかかる伝送装置および伝送方法の実施の形態を詳細に説明する。
【0015】
(実施の形態)
(伝送装置によるOAMフレームの挿入)
図1は、実施の形態にかかる伝送装置によるOAMフレームの挿入の一例を示す図である。図1に示すように、実施の形態にかかる伝送装置100には、パケット111〜113が不定の間隔で入力される。たとえば、伝送装置100は、イーサネットなどの、パケットが可変長であり、不定の間隔でパケットが伝送される通信網の伝送装置である。パケット111〜113は、たとえば、VoIPの音声データやテレビ電話の映像データなど、リアルタイム性が要求されるデータである。
【0016】
伝送装置100は、入力されたパケット111〜113を他の通信装置へ順次送信する。たとえば、伝送装置100は、パケット111〜113を、先に入力された順に送信する先入れ先出し方式(FIFO:First In First Out)で送信する。
【0017】
また、伝送装置100は、OAMフレーム121(所定のフレーム)をパケット111〜113が入力されていない空き時間(空き間隔)に挿入して送信する。具体的には、伝送装置100は、パケット111〜113が入力されていない空き時間を計測する。空き時間131は、パケット111とパケット112の間の空き時間である。空き時間132は、パケット112とパケット113の間の空き時間である。そして、伝送装置100は、計測した空き時間に基づいて、入力された各パケットの間にOAMフレーム121を挿入するか否かを判断する。
【0018】
たとえば、伝送装置100は、パケット111とパケット112の間の空き時間131はOAMフレーム121のデータ長133より短いため、パケット111とパケット112の間にはOAMフレーム121を挿入しないと判断する。これにより、OAMフレーム121の挿入によるパケット112の伝送遅延の変動を抑えることができる。
【0019】
また、伝送装置100は、パケット112とパケット113の間の空き時間132はOAMフレーム121のデータ長133より長いため、パケット112とパケット113の間にOAMフレーム121を挿入すると判断する。これにより、パケット112の伝送遅延の変動を抑えつつOAMフレーム121を送信することができる。
【0020】
この場合は、伝送装置100は、パケット111、パケット112、OAMフレーム121、パケット113の順に信号を送信する。そして、パケット111〜113の間隔は、入力時から変動していない。このように、OAMフレーム121の挿入によるパケット111〜113の伝送遅延の変動を抑えることができるため、パケット111〜113の伝送のリアルタイム性を向上させることができる。したがって、たとえば、パケット111〜113が音声データである場合は、パケット111〜113の受信側で再生される音声の歪みを抑えることができる。
【0021】
(伝送装置が備えるOAM挿入部の構成)
図2は、伝送装置が備えるOAM挿入部の構成の一例を示す図である。図2に示すOAM挿入部200は、図1に示した伝送装置100が備えるOAM挿入部の一例である。OAM挿入部200には、伝送装置100へ入力されたパケット(たとえば1[Gbps])と、伝送装置100の動作タイミングを示す同期信号と、が入力される。OAM挿入部200は、パケットが入力されていない空き時間にOAMフレームを挿入する。
【0022】
具体的には、OAM挿入部200は、OAM生成部201と、パケット識別部202と、挿入判断部203と、バッファ204と、挿入部205と、を備えている。OAM生成部201は、たとえばCPU(Central Processing Unit:中央処理装置)などのデジタル回路によって実現することができる。パケット識別部202、挿入判断部203、バッファ204および挿入部205は、たとえばFPGA(Field Programmable Gate Array)などのデジタル回路によって実現することができる。
【0023】
OAM生成部201は、送信するOAMフレームを生成し、OAMフレームを定期的に送信する。たとえば、OAM生成部201は、単位時間当たりに所定数以上(たとえば300フレーム/秒)のOAMフレームを送信する。たとえば、OAM生成部201は、伝送装置100の制御装置による制御に従ってOAMフレームの生成および送信を行う(たとえば図9参照)。
【0024】
また、OAM生成部201は、生成したOAMフレームを送信する場合に、送信するOAMフレームのデータ長を挿入判断部203に通知する。そして、OAM生成部201は、OAMフレームの挿入の許可が挿入判断部203から通知されると、生成したOAMフレームを挿入部205へ出力する。OAM生成部201によるOAMフレームの出力のタイミングについては後述する。
【0025】
パケット識別部202は、パケットが不定の間隔で入力される入力部である。具体的には、パケット識別部202は、OAM挿入部200へ入力された同期信号に同期して動作する。また、パケット識別部202は、伝送装置100へ入力されたパケットの先頭に含まれるヘッダ情報(ヘッダ)を取得する。パケット識別部202は、取得したヘッダ情報を挿入判断部203へ出力する。また、パケット識別部202は、OAM挿入部200へ入力されたパケットをバッファ204へ出力する。
【0026】
挿入判断部203は、パケット識別部202へパケットが入力されていない空き時間を計測する計測部である。また、挿入判断部203は、計測した空き時間に基づいて、パケット識別部202へ入力された各パケットの間にOAMフレーム(所定のフレーム)を挿入するか否かを判断する判断部である。
【0027】
具体的には、挿入判断部203は、OAM生成部201から通知されたOAMフレームのデータ長と、パケット識別部202から出力されたヘッダ情報と、に基づいて、パケットの空き時間にOAMフレームを挿入するか否かを判断する。具体的には、挿入判断部203は、ヘッダ情報に基づいて各パケットの空き時間を計測する。そして、挿入判断部203は、計測した空き時間とOAMフレームのデータ長を比較し、比較結果に基づいてOAMフレームを挿入するか否かを判断する。挿入判断部203は、OAMフレームを挿入すると判断した場合は、OAMの挿入の許可をOAM生成部201へ通知する。
【0028】
バッファ204は、パケット識別部202から出力されたパケットを一時格納し、格納したパケットを挿入部205へ順次出力する。具体的には、バッファ204は、直列に接続されたn個のフリップフロップ回路#1〜#n(FF:Flip Flop)を備えている。フリップフロップ回路#1〜#nは、入力されたビットデータを一時格納し、格納したビットデータを後段へ順次出力する。たとえば、フリップフロップ回路#1〜#nは、OAM挿入部200へ入力された同期信号に同期して動作する。バッファ204にバッファされるデータのデータ長は、たとえば、OAM挿入部200へ入力されるパケットの最大のデータ長とする。
【0029】
挿入部205は、パケット識別部202へ入力された各パケットを順次送信するとともに、挿入判断部203の判断結果に基づいてOAMフレームを各パケットの間に挿入して送信する送信部である。具体的には、挿入部205は、バッファ204から出力された各パケットと、OAM生成部201から出力されたOAMフレームと、を出力する。これにより、OAM挿入部200へ入力された各パケットの空き時間にOAMフレームを挿入して出力することができる。挿入部205から出力されたパケットおよびOAMフレームは、伝送装置100の外部の通信装置へ送信される。
【0030】
OAM生成部201によるOAMフレームの出力のタイミングについて説明する。たとえば、OAM生成部201は、OAMフレームの挿入の許可が挿入判断部203から通知されると、バッファ204にバッファされるデータ長から、挿入判断部203へ通知したOAMフレームのデータ長を減算した時間を算出する。これにより、バッファ204に残っているパケットのデータ長を算出することができる。そして、OAM生成部201は、算出したデータ長のデータがバッファ204から出力される時間が経過してからOAMフレームを挿入部205へ出力する。これにより、各パケットの空き時間にOAMフレームを挿入することができる。
【0031】
このように、OAM挿入部200は、OAMフレームを挿入する際に、入力されるパケットの空き時間を監視し、OAMフレームの挿入が他のパケットに影響を与える場合には、OAMフレームの挿入を先送りにすることができる。なお、OAM生成部201から挿入判断部203に対して、OAMフレームの挿入規定時間より早くからOAMフレームのデータ長を通知することにより、OAMフレームの先送りではなく、OAMフレームを挿入規定時間より早く挿入することも可能である。
【0032】
(伝送装置の構成)
図3は、伝送装置の構成の一例を示す図である。図3に示す伝送装置300は、たとえば図1に示した伝送装置100の一例である。図3に示すように、伝送装置300は、経路切替部310と、同期部320と、MCU330(Micro Controller Unit)と、を備えている。経路切替部310は、インターフェース部311〜314と、スイッチ315と、を備えている。
【0033】
インターフェース部311〜314は、伝送装置300の外部の通信装置に接続される通信インターフェースである。また、インターフェース部311〜314はスイッチ315に接続されている。また、インターフェース部311〜314は、伝送する各パケットの空き時間にOAMフレームを挿入する機能を有する。
【0034】
スイッチ315は、インターフェース部311〜314の接続を切り替えることによって経路切替を行うスイッチである。これにより、インターフェース部311〜314のいずれかから入力されたパケットを、インターフェース部311〜314の任意のインターフェース部から外部へ出力することができる。
【0035】
同期部320は、経路切替部310の動作タイミングを調整する。具体的には、同期部320は、同一のタイミングを示す同期信号(クロック信号)をインターフェース部311〜314およびスイッチ315へ供給する。インターフェース部311〜314およびスイッチ315は、同期部320から出力される同期信号に同期して、MCU330による制御に従って動作する。
【0036】
MCU330は、経路切替部310の動作を制御する。たとえば、MCU330は、スイッチ315による経路切替や、インターフェース部311〜314によるOAMフレームの挿入などを制御する。また、MCU330は、通信インターフェースを介して上位装置(オペレータ)に接続されており、上位装置による制御に従って経路切替部310の動作を制御してもよい。
【0037】
(インターフェース部の構成)
図4は、インターフェース部の構成の一例を示す図である。図4に示すインターフェース部400は、図3に示したインターフェース部311〜314のそれぞれの一例である。図4に示すように、インターフェース部400は、シェイパ411と、OAM挿入部412と、シェイパ413と、装置内ヘッダ削除部414と、装置内ヘッダ付加部421と、ポリサ422と、OAM挿入部423と、ポリサ424と、を備えている。なお、シェイパ411,413のいずれかは省いた構成としてもよい。また、ポリサ422,424のいずれかは省いた構成としてもよい。
【0038】
シェイパ411は、スイッチ315から出力されたパケットを格納し、格納したパケットを所定の帯域以上にならないようにOAM挿入部412へ出力する。OAM挿入部412は、シェイパ411から出力されたパケットの空き時間にOAMフレームを挿入する。OAM挿入部412は、OAMフレームを挿入したパケットをシェイパ413へ出力する。シェイパ413は、OAM挿入部412から出力されたパケットを格納し、格納したパケットを所定の帯域以上にならないように装置内ヘッダ削除部414へ出力する。
【0039】
装置内ヘッダ削除部414は、シェイパ413から出力されたパケットに付加された装置内ヘッダを削除する。装置内ヘッダは、パケットが伝送装置100へ入力された際に、他のインターフェース部400によって付加され、スイッチ315による経路切替に用いられるヘッダである。装置内ヘッダ削除部414は、装置内ヘッダを削除したパケットを、インターフェース部400が接続された外部の通信装置へ送出する。
【0040】
装置内ヘッダ付加部421は、インターフェース部400が接続された外部の通信装置から入力されたパケットに装置内ヘッダを付加する。たとえば、装置内ヘッダ付加部421は、入力されたパケットのヘッダが示す宛先と、装置内ヘッダと、を対応付けるテーブルを記憶している。そして、装置内ヘッダ付加部421は、入力されたヘッダに対応する装置内ヘッダをテーブルから取得し、取得した装置内ヘッダをパケットに付加する。装置内ヘッダ付加部421は、装置内ヘッダを付加したパケットをポリサ422へ出力する。
【0041】
ポリサ422は、装置内ヘッダ付加部421から出力されたパケットのうちの所定の帯域以下のパケットをOAM挿入部423へ出力するとともに、所定の帯域を超えるパケットを破棄する。OAM挿入部423は、ポリサ422から出力されたパケットの空き時間にOAMフレームを挿入する。OAM挿入部423は、OAMフレームを挿入したパケットをポリサ424へ出力する。ポリサ424は、OAM挿入部423から出力されたパケットのうちの所定の帯域以下のパケットをスイッチ315へ出力するとともに、所定の帯域を超えるパケットを破棄する。
【0042】
(伝送装置を適用した伝送システム)
図5は、伝送装置を適用した伝送システムの一例を示す図である。図5に示す通信システム500は、伝送装置100を適用した通信システムの一例である。通信システム500は、ネットワーク510と、ネットワーク520と、を含んでいる。ネットワーク510およびネットワーク520のそれぞれは、たとえばイーサネットなどの、不定の間隔でパケットが伝送される通信網である。
【0043】
ネットワーク510は、リング状に接続された伝送装置511〜518を含んでいる。伝送装置511〜518のそれぞれは、ネットワーク510の他の伝送装置との間で信号を送受信するとともに、他系からの信号をネットワーク510に挿入する。ネットワーク520は、リング状に接続された伝送装置521〜528を含んでいる。伝送装置521〜528のそれぞれは、ネットワーク520の他の伝送装置との間で信号を送受信するとともに、他系からの信号をネットワーク520に挿入する。
【0044】
また、ネットワーク510の伝送装置517と、ネットワーク520の伝送装置521と、は互いに接続されている。通信装置501は、加入者側の通信装置であり、ネットワーク510の伝送装置511に接続されている。通信装置502は、加入者側の通信装置であり、ネットワーク520の伝送装置525に接続されている。
【0045】
たとえば、通信装置501は、通信装置502を宛先とするパケット(たとえば音声データ)を伝送装置511へ送出する。通信装置501から伝送装置511へ送出されたパケットは、ネットワーク510およびネットワーク520を介して通信装置502へ伝送される。図1に示した伝送装置100は、たとえば伝送装置511〜518,521〜528の少なくともいずれかに適用することができる。
【0046】
(挿入判断部の構成)
図6は、挿入判断部の構成の一例を示す図である。図2に示した挿入判断部203は、たとえば図6に示すように、空き時間監視部610(計測部)と、判断部620と、を備えている。空き時間監視部610は、OAM挿入部200へ入力される各パケットの空き時間を監視する。具体的には、空き時間監視部610は、カウンタ611と、初期化部612と、データ長取得部613と、空き時間算出部614と、を備えている。
【0047】
カウンタ611は、挿入判断部203へ入力された同期信号をカウントする。たとえば、カウンタ611は、同期信号の立ち上がりをカウントする。たとえば同期信号が1[Gbps]のクロック信号である場合は、カウンタ611のカウント値は1[GHz]で増加する。カウンタ611は、カウント値を空き時間算出部614へ出力する。
【0048】
初期化部612は、パケット識別部202からのヘッダ情報が挿入判断部203へ入力されると、カウンタ611のカウント値を初期化する。これにより、OAM挿入部200へパケットの先頭が入力されるとカウンタ611のカウント値が初期化される。したがって、カウンタ611のカウント値は、OAM挿入部200に現時点で最後にパケットの先頭が入力されてからの経過時間を示す。
【0049】
データ長取得部613は、パケット識別部202から出力されたヘッダ情報から、OAM挿入部200へ入力されたパケットのデータ長(レングス情報)を取得する。データ長取得部613は、取得したデータ長を空き時間算出部614へ通知する。
【0050】
空き時間算出部614は、カウンタ611によって出力されたカウント値(パケットの先頭が入力されてからの経過時間)から、データ長取得部613によって通知されたデータ長を減算する。これにより、OAM挿入部200に現時点で最後に入力されたパケットの末尾の入力タイミングからの経過時間を算出することができる(たとえば図7参照)。空き時間算出部614は、算出した経過時間を空き時間として判断部620へ通知する。
【0051】
判断部620は、空き時間監視部610から通知された空き時間と、OAM生成部201から通知されたOAMフレームのデータ長と、に基づいてOAMフレームを挿入するか否かを判断する。具体的には、判断部620は、比較部621を備えている。比較部621は、空き時間監視部610から通知された空き時間と、OAM生成部201から通知されたOAMフレームのデータ長と、を比較する。
【0052】
そして、比較部621は、空き時間がOAMフレームのデータ長以上である場合は、OAMフレームの挿入の許可をOAM生成部201へ通知する。また、比較部621は、空き時間がOAMフレームのデータ長未満である場合は、OAMフレームの挿入の許可をOAM生成部201へ通知しない。これにより、OAM挿入部200へ入力された各パケットの間に十分な空き時間がある場合に、OAMフレームの挿入の許可をOAM生成部201へ通知することができる。
【0053】
OAM挿入部200においては、入力されたパケットの処理を同期信号(クロック信号)に同期して1[bit]ずつ処理することで、時間の経過とデータ長とを等価に換算することができる。このため、空き時間監視部610は、クロックトリガ発生のタイミングで直前に入力されたパケットの末尾からの経過時間を算出することでパケットの空き時間を算出することができる。また、判断部620は、空き時間監視部610で算出した空き時間をOAM生成部201から通知されたデータ長に相当する時間と比較することでOAMフレームの挿入の可否を判断することができる。
【0054】
ここではパケットの空き時間がOAMフレームのデータ長以上である場合にOAMフレームを挿入する場合について説明したが、OAMフレームの挿入の条件はこれに限らない。たとえば、パケットの空き時間がOAMフレームのデータ長未満であっても、パケットの空き時間とOAMフレームのデータ長の差が閾値以下である場合はOAMフレームを挿入するようにしてもよい。
【0055】
たとえば、パケットの空き時間がOAMフレームのデータ長より短くても、OAMフレームの挿入によるパケットの伝送遅延の変動(たとえば音声の揺らぎ)が無視できる程度であればOAMフレームを挿入するようにすることができる。このように、判断部620は、OAMフレームのデータ長と空き時間を比較し、比較結果に基づいてOAMフレームを挿入するか否かを判断する。
【0056】
(空き時間の算出)
図7は、空き時間の算出の一例を示す図である。パケット701,702は、OAM挿入部200へ入力されたパケットである。パケット702は、パケット701の次に入力されたパケットである。t1は、パケット701の先頭がOAM挿入部200へ入力された時刻である。t2は現在時刻である。L1は、パケット701のデータ長を示している。ここでは、現在時刻t2は、パケット701の末尾が入力された後、パケット702の先頭が入力される前とする。
【0057】
カウンタ611から空き時間算出部614へ出力するカウンタ値は、パケット701の先頭が入力された時刻t1から現在時刻t2までの経過時間を示す。また、データ長取得部613から空き時間算出部614へ通知するデータ長は、データ長L1を示す。したがって、空き時間算出部614は、時刻t1から現在時刻t2までの経過時間からデータ長L1を減算することになるため、パケット701の末尾が入力されてから現在時刻までの空き時間Tを算出することができる。
【0058】
このように、挿入判断部203は、パケット識別部202へ入力されたパケットの末尾がパケット識別部202へ入力されてからの経過時間を空き時間として計測することができる。また、挿入判断部203は、パケット識別部202へ入力されたパケットのヘッダがパケット識別部202へ入力されたタイミングと、ヘッダに含まれるパケットのデータ長を示す情報と、に基づいて空き時間を計測することができる。
【0059】
(挿入判断部の動作)
図8は、挿入判断部の動作の一例を示すフローチャートである。挿入判断部203は、たとえば図8に示す各ステップを実行する。図8において、T1は、現時点で最後にOAMフレームを挿入した時刻を示す変数である。t1は、パケットの入力またはOAMフレームの挿入が現時点で最後に発生した時刻を示す変数である。t2は、現在時刻(クロックトリガの最後の発生時刻)を示す変数である。Tは、現時点で最後に入力されたパケットの末尾の入力タイミングから現在までの空き時間を示す変数である。
【0060】
L1は、パケットまたはOAMフレームのデータ長を示す変数である。パケットの入力またはOAMフレームの挿入のうちの現時点で最後に発生したのがパケットの入力である場合は、L1には入力されたパケットのデータ長が格納される。パケットの入力またはOAMフレームの挿入のうちの現時点で最後に発生したのがOAMフレームの挿入である場合は、L1には挿入されたOAMフレームのデータ長が格納される。
【0061】
まず、挿入判断部203は、T1およびt1に所定の初期値を設定する(ステップS801)。また、挿入判断部203は、L1に0を設定する(ステップS802)。つぎに、挿入判断部203は、OAM挿入部200へ入力される同期信号に基づくクロックトリガが発生したか否かを判断し(ステップS803)、クロックトリガが発生するまで待つ(ステップS803:Noのループ)。
【0062】
ステップS803において、クロックトリガが発生すると(ステップS803:Yes)、挿入判断部203は、パケットの先頭が入力されたか否かを判断する(ステップS804)。パケットの先頭が入力されていない場合(ステップS804:No)は、挿入判断部203は、t2に現在時刻を設定する(ステップS805)。
【0063】
つぎに、挿入判断部203は、t2−t1−L1を算出し、算出結果をTに設定する(ステップS806)。つぎに、挿入判断部203は、Tの値(空き時間)が、OAM生成部201から通知されたOAMフレームのデータ長以上か否かを判断する(ステップS807)。Tの値がOAMフレームのデータ長以上である場合(ステップS807:Yes)、すなわちOAMフレームを挿入する空き時間がある場合は、挿入判断部203は、OAMフレームの挿入の許可をOAM生成部201へ通知する(ステップS808)。
【0064】
つぎに、挿入判断部203は、t1に現在時刻を設定する(ステップS809)。つぎに、挿入判断部203は、OAM生成部201から通知されたOAMフレームのデータ長をL1に設定する(ステップS810)。つぎに、挿入判断部203は、T1に現在時刻を設定し(ステップS811)、ステップS803へ戻る。
【0065】
ステップS807において、Tの値がOAMフレームのデータ長以上でない場合(ステップS807:No)、すなわちOAMフレームを挿入する空き時間がない場合は、挿入判断部203は、現在時刻−T1を算出し、算出結果が所定の規定時間以上か否かを判断する(ステップS812)。すなわち、挿入判断部203は、現時点で最後にOAMフレームを挿入してからの経過時間が所定の規定時間以上か否かを判断する。
【0066】
ステップS812において、算出結果が所定の規定時間以上である場合(ステップS812:Yes)は、挿入判断部203は、ステップS808へ移行する。これにより、OAMフレームを挿入する空き時間がない場合、すなわちOAMフレームを挿入する空き時間がない場合においても、OAMフレームを規定時間以上挿入していない場合はOAMフレームを強制的に挿入することができる。
【0067】
ステップS812において、算出結果が所定の規定時間以上でない場合(ステップS812:No)は、挿入判断部203は、ステップS803へ戻る。ステップS804において、パケットの先頭が入力された場合(ステップS804:Yes)は、挿入判断部203は、t1およびt2に現在時刻を設定する(ステップS813)。つぎに、挿入判断部203は、ステップS804において入力されたパケットのデータ長をL1に設定し(ステップS814)、ステップS806へ移行する。
【0068】
以上の各ステップにより、挿入判断部203は、OAM挿入部200へ入力された各パケットの空き時間がOAMフレームのデータ長以上である場合に、OAMフレームの挿入の許可をOAM生成部201へ通知することができる。また、挿入判断部203は、OAMフレームが規定時間(所定の時間)以上挿入されていない場合はOAMフレームを挿入すると判断する。これにより、OAMフレームが長期間挿入されず、OAMが機能しなくなることを回避することができる。
【0069】
(OAM生成部によるOAMフレームの生成)
図9は、OAM生成部によるOAMフレームの生成の一例を示すシーケンス図である。図9に示すオペレータ901は、たとえば伝送装置100の管理者によって操作される装置である。オペレータ901は、通信インターフェースを介して伝送装置100のMCU330との間で信号を送受信する。
【0070】
まず、オペレータ901が、OAMの設定を指示するOAM設定信号を伝送装置100のMCU330へ送信する(ステップS901)。OAM設定信号には、たとえば、OAMの種別、OAMフレームの送信の周期、OAMフレームの送信先などの情報が含まれている。つぎに、MCU330が、ステップS901によって送信されたOAM設定信号に対するACK(応答信号)をオペレータ901へ送信する(ステップS902)。
【0071】
つぎに、MCU330が、ステップS901によって送信されたOAM設定信号に基づいて、OAMの種別の設定を指示する種別設定信号をOAM生成部201へ出力する(ステップS903)。つぎに、OAM生成部201が、ステップS903によって出力された種別設定信号に対するACKをMCU330へ出力する(ステップS904)。
【0072】
つぎに、MCU330が、ステップS901によって送信されたOAM設定信号に基づいて、OAMフレームの送信の周期の設定を指示する周期設定信号をOAM生成部201へ出力する(ステップS905)。つぎに、OAM生成部201が、ステップS905によって出力された周期設定信号に対するACKをMCU330へ出力する(ステップS906)。
【0073】
つぎに、MCU330が、ステップS901によって送信されたOAM設定信号に基づいて、OAMフレームの送信先の設定を指示する送信先設定信号をOAM生成部201へ出力する(ステップS907)。つぎに、OAM生成部201が、ステップS907によって出力された送信先設定信号に対するACKをMCU330へ出力する(ステップS908)。
【0074】
つぎに、オペレータ901が、OAMフレームの送信開始を指示するOAM送信コマンドをMCU330へ送信する(ステップS909)。つぎに、MCU330が、ステップS905によって送信されたOAM送信コマンドに対するACKをオペレータ901へ送信する(ステップS910)。つぎに、MCU330が、ステップS905によって送信されたOAM送信コマンドをOAM生成部201へ出力する(ステップS911)。つぎに、OAM生成部201が、ステップS911によって出力されたOAM送信コマンドに対するACKをMCU330へ出力する(ステップS912)。
【0075】
つぎに、OAM生成部201が、OAMフレームの送信を開始する(ステップS913)。具体的には、OAM生成部201は、ステップS903によって送信された種別設定信号が示す種別のOAMフレームを、ステップS907によって送信された送信先設定信号が示す送信先を宛先として生成する。そして、OAM生成部201は、生成したOAMフレームのデータ長を挿入判断部203へ通知する。
【0076】
OAM生成部201は、挿入判断部203からOAMフレームの挿入の許可が通知されると、生成したOAMフレームを挿入部205へ出力することによってOAMフレームの送信を行う。また、OAM生成部201は、ステップS905によって出力された周期設定信号が示す周期により、OAMフレームのデータ長を挿入判断部203へ通知する。また、OAM生成部201は、たとえば、ステップS905によって出力された周期設定信号に基づいて、図8のステップS812における規定時間を決定し、決定した規定時間を挿入判断部203に設定してもよい。
【0077】
つぎに、オペレータ901が、OAMフレームの送信停止を指示するOAM停止コマンドをMCU330へ送信したとする(ステップS914)。つぎに、MCU330が、ステップS914によって送信されたOAM停止コマンドに対するACKをオペレータ901へ送信する(ステップS915)。
【0078】
つぎに、MCU330が、ステップS914によって送信されたOAM停止コマンドをOAM生成部201へ出力する(ステップS916)。つぎに、OAM生成部201が、ステップS916によって出力されたOAM送信コマンドに対するACKをMCU330へ出力する(ステップS917)。つぎに、OAM生成部201が、OAMフレームの送信を停止し(ステップS918)、一連の動作を終了する。
【0079】
(挿入判断部の構成の変形例)
図10は、挿入判断部の構成の変形例を示す図である。図10において、図6に示した部分と同様の部分については同一の符号を付して説明を省略する。図10に示すように、挿入判断部203の空き時間監視部610は、カウンタ1011と、末尾検出部1012と、カウンタ1013と、初期化部1014と、を備えていてもよい。カウンタ1011,1013のそれぞれは、図6に示したカウンタ611と同様に、挿入判断部203へ入力された同期信号をカウントする。カウンタ1011は、カウント値を末尾検出部1012へ出力する。カウンタ1013は、カウント値を判断部620へ出力する。
【0080】
末尾検出部1012は、挿入判断部203へ入力されたヘッダ情報に基づいて、OAM挿入部200へ入力されたパケットの末尾のタイミングを検出する。具体的には、末尾検出部1012は、挿入判断部203にヘッダ情報が入力されると、カウンタ1011を初期化する。そして、末尾検出部1012は、カウンタ1011のカウント値が、ヘッダ情報に含まれるパケットのデータ長に相当するカウント値になったタイミングをパケットの末尾のタイミングとして検出する。末尾検出部1012は、パケットの末尾のタイミングを検出すると、末尾検出信号を初期化部1014へ出力する。
【0081】
初期化部1014は、末尾検出部1012から末尾検出信号が出力されると、カウンタ1013のカウント値を初期化する。これにより、OAM挿入部200へパケットの末尾が入力されるとカウンタ1013のカウント値が初期化される。したがって、カウンタ1013のカウント値は、OAM挿入部200に現時点で最後にパケットの末尾が入力されてからの経過時間を示す。
【0082】
このように、挿入判断部203の空き時間監視部610は、パケットの末尾の入力タイミングを検出し、パケットの末尾の入力タイミングからの経過時間をカウンタ1013によってカウントすることによってパケットの空き時間を計測してもよい。
【0083】
図11は、変形例にかかる空き時間の算出の一例を示す図である。図11において、図7に示した部分と同様の部分については同一の符号を付して説明を省略する。t1はパケット701の末尾がOAM挿入部200へ入力された時刻である。t2は現在時刻である。カウンタ1013のカウント値は、パケット701の末尾の入力時刻である時刻t1に初期化される。したがって、カウンタ1013から空き時間監視部610へ出力されるカウント値は、パケット701の末尾が入力されてから現在までの空き時間Tを示す。
【0084】
図12は、変形例にかかる挿入判断部の動作の一例を示すフローチャートである。挿入判断部203は、たとえば図12に示す各ステップを実行してもよい。図12において、図8に示した部分と同様の部分については説明を省略する。また、図12において、t1は、現時点で最後に入力されたパケットの末尾の入力時刻を示す変数である。
【0085】
ステップS1201〜S1203は、図8に示したステップS801〜S803と同様である。ステップS1203において、クロックトリガが発生すると(ステップS1203:Yes)、挿入判断部203は、パケットの末尾が入力されたか否かを判断する(ステップS1204)。パケットの末尾が入力されたか否かの判断は、たとえば、パケットのヘッダが入力されたタイミングおよびL1に基づいて判断することができる(たとえば図10参照)。
【0086】
ステップS1204において、パケットの末尾が入力されていない場合(ステップS1204:No)は、挿入判断部203は、t2に現在時刻を設定する(ステップS1205)。つぎに、挿入判断部203は、t2−t1を算出し、算出結果をTに設定する(ステップS1206)。ステップS1207〜S1214は、図8に示したステップS807〜S814と同様である。
【0087】
(バッファの変形例)
図13は、バッファの変形例を示す図である。図13に示すように、図2に示したバッファ204は、シリアルパラレル変換部1301と、RAM1302(Random Access Memory:ランダムアクセスメモリ)と、パラレルシリアル変換部1303と、メモリ制御部1304と、データバス1310と、アドレスバス1320と、を備えていてもよい。
【0088】
シリアルパラレル変換部1301は、パケット識別部202(図2参照)から出力されたシリアルのパケットをパラレルのデータに変換する。シリアルパラレル変換部1301は、変換したデータをデータバス1310を介してRAM1302へ出力する。
【0089】
RAM1302は、メモリ制御部1304による制御に従って、シリアルパラレル変換部1301から出力されたデータを記憶する(書き込み)。また、RAM1302は、メモリ制御部1304による制御に従って、記憶したデータを、データバス1310を介してパラレルシリアル変換部1303へ出力する(読み出し)。
【0090】
パラレルシリアル変換部1303は、RAM1302から出力されたパラレルのデータをシリアルのパケットに変換する。パラレルシリアル変換部1303は、シリアルに変換したパケットを挿入部205(図2参照)へ出力する。メモリ制御部1304は、アドレスバス1320を介して、RAM1302へのデータの書き込みおよびRAM1302からのデータの読み出しを制御する。
【0091】
図14は、メモリ制御部による制御の一例を示す図である。図14に示す記憶領域1400は、図13に示したRAM1302の記憶領域の一例である。メモリ制御部1304は、記憶領域1400に対する書き込みアドレスと読み出しアドレスを制御することによって、RAM1302をリングバッファとして利用する。これにより、図13に示したバッファ204によって、図2に示したフリップフロップ回路#1〜#nと同様に、パケットを一時格納し、格納したパケットを順次出力することができる。
【0092】
以上説明したように、伝送装置および伝送方法によれば、パケットの空き時間を計測し、空き時間が十分にある場合にOAMフレームを挿入することで、パケットの伝送遅延の変動を抑えることができる。このため、たとえば、空きパケットが流れないイーサネットなどの通信網でも、OAMフレームの挿入による音声揺らぎ等を抑えることができる。
【0093】
なお、入力された各パケットの間にOAMフレームを挿入する場合について説明したが、入力された各パケットに挿入する所定のフレームはOAMフレームに限らない。たとえば、所定のフレームとしては、伝送装置100へ入力された音声データなどのパケットよりもリアルタイム性が要求されないフレームを適用することができる。
【0094】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0095】
(付記1)パケットが不定の間隔で入力される入力部と、
前記入力部へパケットが入力されていない空き時間を計測する計測部と、
前記計測部によって計測された空き時間に基づいて、前記入力部へ入力された各パケットの間に所定のフレームを挿入するか否かを判断する判断部と、
前記入力部へ入力された各パケットを順次送信し、前記判断部の判断結果に基づいて前記所定のフレームを前記各パケットの間に挿入して送信する送信部と、
を備えることを特徴とする伝送装置。
【0096】
(付記2)前記計測部は、前記入力部へ入力されたパケットの末尾が前記入力部へ入力されてからの経過時間を前記空き時間として計測することを特徴とする付記1に記載の伝送装置。
【0097】
(付記3)前記計測部は、前記入力部へ入力されたパケットのヘッダが前記入力部へ入力されたタイミングと、前記ヘッダに含まれる前記パケットのデータ長を示す情報と、に基づいて前記経過時間を計測することを特徴とする付記2に記載の伝送装置。
【0098】
(付記4)前記判断部は、前記所定のフレームのデータ長と前記空き時間を比較し、比較結果に基づいて前記所定のフレームを挿入するか否かを判断することを特徴とする付記1〜3のいずれか一つに記載の伝送装置。
【0099】
(付記5)前記判断部は、前記送信部によって前記所定のフレームが所定の時間以上挿入されていない場合は前記所定のフレームを挿入すると判断することを特徴とする付記1〜4のいずれか一つに記載の伝送装置。
【0100】
(付記6)前記所定のフレームは、OAM(Operation Administration Maintenance)フレームであることを特徴とする付記1〜5のいずれか一つに記載の伝送装置。
【0101】
(付記7)パケットが不定の間隔で入力され、
前記パケットが入力されていない空き時間を計測し、
計測した前記空き時間に基づいて、入力された各パケットの間に所定のフレームを挿入するか否かを判断し、
入力された各パケットを順次送信し、判断結果に基づいて前記所定のフレームを前記各パケットの間に挿入して送信する、
ことを特徴とする伝送方法。
【符号の説明】
【0102】
100,300,511〜518,521〜528 伝送装置
111〜113,701,702 パケット
121 OAMフレーム
133 データ長
131,132 空き時間
#1〜#n フリップフロップ回路
500 通信システム
510,520 ネットワーク
501,502 通信装置
1310 データバス
1320 アドレスバス
1400 記憶領域
【技術分野】
【0001】
本発明は、データを伝送する伝送装置および伝送方法に関する。
【背景技術】
【0002】
近年、IP(Internet Protocol)網の発達に伴い、専用線(たとえば企業間専用通信)で行われていたサービスをイーサネット(登録商標)などに置き換えることが検討されている。専用線においては高品質な通信品質が確保される仕組みが整っているが、イーサネットなどにおいては思想の違いなどによって専用線のような高い通信品質が確保される仕組みが整っていない。
【0003】
従来のIP網ではデータ通信が中心であったため、高い通信品質が確保されていなくても問題とはならなかった。また、SDH(Synchronous Digital Hierarchy:同期デジタルハイアラーキ)などのOTN(Optical Transport Network:光伝達網)では、音声の64K[bps]のn倍を基準とした速度の通信であったため、揺らぎ(伝送遅延の変動)が発生しない。SDHをイーサネットに置き換えて行く過程で、専用線網をイーサネットに載せる構想が出てきた。
【0004】
このため、専用線などの通信品質が求められる伝送装置の巻き替えのための開発において、イーサネットのパケットに載せて長距離伝送を行う場合に、複数のリング網を通過する際に発生する揺らぎが問題となっている。揺らぎは、たとえば、パケット間隔が送信側で一定であるにも関わらず、伝送過程で他系からの信号の調停の際にパケット間隔が前後することによって発生する。たとえばVoIP(Voice over IP)などの音声通信においては、揺らぎが音声の歪みとなる。
【0005】
たとえばイーサネットにおいて、他系からの信号に関しては、優先順位付けを行い、同着となる場合は優先順位の高いパケットを先に流す処理を行っているが、優先順位が同位の場合はやはり揺らぎが発生する。また、たとえばイーサネットの伝送装置は、OAM(Operation Administration Maintenance:保守管理機能)を有しており、検査用のOAMフレームを定期的に送出する。たとえば、ITU勧告によれば、300フレーム/秒のOAMフレームを送出することが求められる。この定期的に送出されるOAMフレームがパケット間に挿入されることも、揺らぎの要因の一つとなっている。
【0006】
優先順位付けによって揺らぎを抑えようとした場合においても、OAMフレームには高い優先順位が付加されているため、OAMフレームが他のパケットより優先されてパケット間に挿入されてしまう。また、各局社から各々の用途に応じてOAMフレームが挿入されるため、局社を経由するほどOAMフレームの挿入数が増加し、揺らぎが大きくなる。
【0007】
また、SDHやATM(Asynchronous Transfer Mode:非同期転送モード)においては、OAMフレームの挿入によるパケットの遅延を最小化する技術が知られている(たとえば、下記特許文献1,2参照。)。この技術においては、パケットの空き時間に流れる固定長の空きパケット(空きセル)を各フレームのヘッダに基づいて検出し、検出した空きパケットにOAMフレームを挿入する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平8−237254号公報
【特許文献2】特開2000−224175号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、パケットの空き時間に空きパケットが流れないイーサネットなどの通信網においては、パケットの空き時間が不定である。このため、上述した従来技術では、パケット間にフレームを挿入した場合に、挿入したフレームのデータ長がパケットの空き時間より長い場合がある。この場合は、挿入したフレームの後のパケットが遅延し、伝送遅延の変動(揺らぎ)が大きくなるという問題がある。
【0010】
本発明は、上述した従来技術による問題点を解消するため、伝送遅延の変動を抑えることができる伝送装置および伝送方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、パケットが不定の間隔で入力され、前記パケットが入力されていない空き時間を計測し、計測した前記空き時間に基づいて、入力された各パケットの間に所定のフレームを挿入するか否かを判断し、入力された各パケットを順次送信し、判断結果に基づいて前記所定のフレームを前記各パケットの間に挿入して送信する伝送装置および伝送方法が提案される。
【発明の効果】
【0012】
本発明の一側面によれば、伝送遅延の変動を抑えることができるという効果を奏する。
【図面の簡単な説明】
【0013】
【図1】図1は、実施の形態にかかる伝送装置によるOAMフレームの挿入の一例を示す図である。
【図2】図2は、伝送装置が備えるOAM挿入部の構成の一例を示す図である。
【図3】図3は、伝送装置の構成の一例を示す図である。
【図4】図4は、インターフェース部の構成の一例を示す図である。
【図5】図5は、伝送装置を適用した伝送システムの一例を示す図である。
【図6】図6は、挿入判断部の構成の一例を示す図である。
【図7】図7は、空き時間の算出の一例を示す図である。
【図8】図8は、挿入判断部の動作の一例を示すフローチャートである。
【図9】図9は、OAM生成部によるOAMフレームの生成の一例を示すシーケンス図である。
【図10】図10は、挿入判断部の構成の変形例を示す図である。
【図11】図11は、変形例にかかる空き時間の算出の一例を示す図である。
【図12】図12は、変形例にかかる挿入判断部の動作の一例を示すフローチャートである。
【図13】図13は、バッファの変形例を示す図である。
【図14】図14は、メモリ制御部による制御の一例を示す図である。
【発明を実施するための形態】
【0014】
以下に添付図面を参照して、本発明にかかる伝送装置および伝送方法の実施の形態を詳細に説明する。
【0015】
(実施の形態)
(伝送装置によるOAMフレームの挿入)
図1は、実施の形態にかかる伝送装置によるOAMフレームの挿入の一例を示す図である。図1に示すように、実施の形態にかかる伝送装置100には、パケット111〜113が不定の間隔で入力される。たとえば、伝送装置100は、イーサネットなどの、パケットが可変長であり、不定の間隔でパケットが伝送される通信網の伝送装置である。パケット111〜113は、たとえば、VoIPの音声データやテレビ電話の映像データなど、リアルタイム性が要求されるデータである。
【0016】
伝送装置100は、入力されたパケット111〜113を他の通信装置へ順次送信する。たとえば、伝送装置100は、パケット111〜113を、先に入力された順に送信する先入れ先出し方式(FIFO:First In First Out)で送信する。
【0017】
また、伝送装置100は、OAMフレーム121(所定のフレーム)をパケット111〜113が入力されていない空き時間(空き間隔)に挿入して送信する。具体的には、伝送装置100は、パケット111〜113が入力されていない空き時間を計測する。空き時間131は、パケット111とパケット112の間の空き時間である。空き時間132は、パケット112とパケット113の間の空き時間である。そして、伝送装置100は、計測した空き時間に基づいて、入力された各パケットの間にOAMフレーム121を挿入するか否かを判断する。
【0018】
たとえば、伝送装置100は、パケット111とパケット112の間の空き時間131はOAMフレーム121のデータ長133より短いため、パケット111とパケット112の間にはOAMフレーム121を挿入しないと判断する。これにより、OAMフレーム121の挿入によるパケット112の伝送遅延の変動を抑えることができる。
【0019】
また、伝送装置100は、パケット112とパケット113の間の空き時間132はOAMフレーム121のデータ長133より長いため、パケット112とパケット113の間にOAMフレーム121を挿入すると判断する。これにより、パケット112の伝送遅延の変動を抑えつつOAMフレーム121を送信することができる。
【0020】
この場合は、伝送装置100は、パケット111、パケット112、OAMフレーム121、パケット113の順に信号を送信する。そして、パケット111〜113の間隔は、入力時から変動していない。このように、OAMフレーム121の挿入によるパケット111〜113の伝送遅延の変動を抑えることができるため、パケット111〜113の伝送のリアルタイム性を向上させることができる。したがって、たとえば、パケット111〜113が音声データである場合は、パケット111〜113の受信側で再生される音声の歪みを抑えることができる。
【0021】
(伝送装置が備えるOAM挿入部の構成)
図2は、伝送装置が備えるOAM挿入部の構成の一例を示す図である。図2に示すOAM挿入部200は、図1に示した伝送装置100が備えるOAM挿入部の一例である。OAM挿入部200には、伝送装置100へ入力されたパケット(たとえば1[Gbps])と、伝送装置100の動作タイミングを示す同期信号と、が入力される。OAM挿入部200は、パケットが入力されていない空き時間にOAMフレームを挿入する。
【0022】
具体的には、OAM挿入部200は、OAM生成部201と、パケット識別部202と、挿入判断部203と、バッファ204と、挿入部205と、を備えている。OAM生成部201は、たとえばCPU(Central Processing Unit:中央処理装置)などのデジタル回路によって実現することができる。パケット識別部202、挿入判断部203、バッファ204および挿入部205は、たとえばFPGA(Field Programmable Gate Array)などのデジタル回路によって実現することができる。
【0023】
OAM生成部201は、送信するOAMフレームを生成し、OAMフレームを定期的に送信する。たとえば、OAM生成部201は、単位時間当たりに所定数以上(たとえば300フレーム/秒)のOAMフレームを送信する。たとえば、OAM生成部201は、伝送装置100の制御装置による制御に従ってOAMフレームの生成および送信を行う(たとえば図9参照)。
【0024】
また、OAM生成部201は、生成したOAMフレームを送信する場合に、送信するOAMフレームのデータ長を挿入判断部203に通知する。そして、OAM生成部201は、OAMフレームの挿入の許可が挿入判断部203から通知されると、生成したOAMフレームを挿入部205へ出力する。OAM生成部201によるOAMフレームの出力のタイミングについては後述する。
【0025】
パケット識別部202は、パケットが不定の間隔で入力される入力部である。具体的には、パケット識別部202は、OAM挿入部200へ入力された同期信号に同期して動作する。また、パケット識別部202は、伝送装置100へ入力されたパケットの先頭に含まれるヘッダ情報(ヘッダ)を取得する。パケット識別部202は、取得したヘッダ情報を挿入判断部203へ出力する。また、パケット識別部202は、OAM挿入部200へ入力されたパケットをバッファ204へ出力する。
【0026】
挿入判断部203は、パケット識別部202へパケットが入力されていない空き時間を計測する計測部である。また、挿入判断部203は、計測した空き時間に基づいて、パケット識別部202へ入力された各パケットの間にOAMフレーム(所定のフレーム)を挿入するか否かを判断する判断部である。
【0027】
具体的には、挿入判断部203は、OAM生成部201から通知されたOAMフレームのデータ長と、パケット識別部202から出力されたヘッダ情報と、に基づいて、パケットの空き時間にOAMフレームを挿入するか否かを判断する。具体的には、挿入判断部203は、ヘッダ情報に基づいて各パケットの空き時間を計測する。そして、挿入判断部203は、計測した空き時間とOAMフレームのデータ長を比較し、比較結果に基づいてOAMフレームを挿入するか否かを判断する。挿入判断部203は、OAMフレームを挿入すると判断した場合は、OAMの挿入の許可をOAM生成部201へ通知する。
【0028】
バッファ204は、パケット識別部202から出力されたパケットを一時格納し、格納したパケットを挿入部205へ順次出力する。具体的には、バッファ204は、直列に接続されたn個のフリップフロップ回路#1〜#n(FF:Flip Flop)を備えている。フリップフロップ回路#1〜#nは、入力されたビットデータを一時格納し、格納したビットデータを後段へ順次出力する。たとえば、フリップフロップ回路#1〜#nは、OAM挿入部200へ入力された同期信号に同期して動作する。バッファ204にバッファされるデータのデータ長は、たとえば、OAM挿入部200へ入力されるパケットの最大のデータ長とする。
【0029】
挿入部205は、パケット識別部202へ入力された各パケットを順次送信するとともに、挿入判断部203の判断結果に基づいてOAMフレームを各パケットの間に挿入して送信する送信部である。具体的には、挿入部205は、バッファ204から出力された各パケットと、OAM生成部201から出力されたOAMフレームと、を出力する。これにより、OAM挿入部200へ入力された各パケットの空き時間にOAMフレームを挿入して出力することができる。挿入部205から出力されたパケットおよびOAMフレームは、伝送装置100の外部の通信装置へ送信される。
【0030】
OAM生成部201によるOAMフレームの出力のタイミングについて説明する。たとえば、OAM生成部201は、OAMフレームの挿入の許可が挿入判断部203から通知されると、バッファ204にバッファされるデータ長から、挿入判断部203へ通知したOAMフレームのデータ長を減算した時間を算出する。これにより、バッファ204に残っているパケットのデータ長を算出することができる。そして、OAM生成部201は、算出したデータ長のデータがバッファ204から出力される時間が経過してからOAMフレームを挿入部205へ出力する。これにより、各パケットの空き時間にOAMフレームを挿入することができる。
【0031】
このように、OAM挿入部200は、OAMフレームを挿入する際に、入力されるパケットの空き時間を監視し、OAMフレームの挿入が他のパケットに影響を与える場合には、OAMフレームの挿入を先送りにすることができる。なお、OAM生成部201から挿入判断部203に対して、OAMフレームの挿入規定時間より早くからOAMフレームのデータ長を通知することにより、OAMフレームの先送りではなく、OAMフレームを挿入規定時間より早く挿入することも可能である。
【0032】
(伝送装置の構成)
図3は、伝送装置の構成の一例を示す図である。図3に示す伝送装置300は、たとえば図1に示した伝送装置100の一例である。図3に示すように、伝送装置300は、経路切替部310と、同期部320と、MCU330(Micro Controller Unit)と、を備えている。経路切替部310は、インターフェース部311〜314と、スイッチ315と、を備えている。
【0033】
インターフェース部311〜314は、伝送装置300の外部の通信装置に接続される通信インターフェースである。また、インターフェース部311〜314はスイッチ315に接続されている。また、インターフェース部311〜314は、伝送する各パケットの空き時間にOAMフレームを挿入する機能を有する。
【0034】
スイッチ315は、インターフェース部311〜314の接続を切り替えることによって経路切替を行うスイッチである。これにより、インターフェース部311〜314のいずれかから入力されたパケットを、インターフェース部311〜314の任意のインターフェース部から外部へ出力することができる。
【0035】
同期部320は、経路切替部310の動作タイミングを調整する。具体的には、同期部320は、同一のタイミングを示す同期信号(クロック信号)をインターフェース部311〜314およびスイッチ315へ供給する。インターフェース部311〜314およびスイッチ315は、同期部320から出力される同期信号に同期して、MCU330による制御に従って動作する。
【0036】
MCU330は、経路切替部310の動作を制御する。たとえば、MCU330は、スイッチ315による経路切替や、インターフェース部311〜314によるOAMフレームの挿入などを制御する。また、MCU330は、通信インターフェースを介して上位装置(オペレータ)に接続されており、上位装置による制御に従って経路切替部310の動作を制御してもよい。
【0037】
(インターフェース部の構成)
図4は、インターフェース部の構成の一例を示す図である。図4に示すインターフェース部400は、図3に示したインターフェース部311〜314のそれぞれの一例である。図4に示すように、インターフェース部400は、シェイパ411と、OAM挿入部412と、シェイパ413と、装置内ヘッダ削除部414と、装置内ヘッダ付加部421と、ポリサ422と、OAM挿入部423と、ポリサ424と、を備えている。なお、シェイパ411,413のいずれかは省いた構成としてもよい。また、ポリサ422,424のいずれかは省いた構成としてもよい。
【0038】
シェイパ411は、スイッチ315から出力されたパケットを格納し、格納したパケットを所定の帯域以上にならないようにOAM挿入部412へ出力する。OAM挿入部412は、シェイパ411から出力されたパケットの空き時間にOAMフレームを挿入する。OAM挿入部412は、OAMフレームを挿入したパケットをシェイパ413へ出力する。シェイパ413は、OAM挿入部412から出力されたパケットを格納し、格納したパケットを所定の帯域以上にならないように装置内ヘッダ削除部414へ出力する。
【0039】
装置内ヘッダ削除部414は、シェイパ413から出力されたパケットに付加された装置内ヘッダを削除する。装置内ヘッダは、パケットが伝送装置100へ入力された際に、他のインターフェース部400によって付加され、スイッチ315による経路切替に用いられるヘッダである。装置内ヘッダ削除部414は、装置内ヘッダを削除したパケットを、インターフェース部400が接続された外部の通信装置へ送出する。
【0040】
装置内ヘッダ付加部421は、インターフェース部400が接続された外部の通信装置から入力されたパケットに装置内ヘッダを付加する。たとえば、装置内ヘッダ付加部421は、入力されたパケットのヘッダが示す宛先と、装置内ヘッダと、を対応付けるテーブルを記憶している。そして、装置内ヘッダ付加部421は、入力されたヘッダに対応する装置内ヘッダをテーブルから取得し、取得した装置内ヘッダをパケットに付加する。装置内ヘッダ付加部421は、装置内ヘッダを付加したパケットをポリサ422へ出力する。
【0041】
ポリサ422は、装置内ヘッダ付加部421から出力されたパケットのうちの所定の帯域以下のパケットをOAM挿入部423へ出力するとともに、所定の帯域を超えるパケットを破棄する。OAM挿入部423は、ポリサ422から出力されたパケットの空き時間にOAMフレームを挿入する。OAM挿入部423は、OAMフレームを挿入したパケットをポリサ424へ出力する。ポリサ424は、OAM挿入部423から出力されたパケットのうちの所定の帯域以下のパケットをスイッチ315へ出力するとともに、所定の帯域を超えるパケットを破棄する。
【0042】
(伝送装置を適用した伝送システム)
図5は、伝送装置を適用した伝送システムの一例を示す図である。図5に示す通信システム500は、伝送装置100を適用した通信システムの一例である。通信システム500は、ネットワーク510と、ネットワーク520と、を含んでいる。ネットワーク510およびネットワーク520のそれぞれは、たとえばイーサネットなどの、不定の間隔でパケットが伝送される通信網である。
【0043】
ネットワーク510は、リング状に接続された伝送装置511〜518を含んでいる。伝送装置511〜518のそれぞれは、ネットワーク510の他の伝送装置との間で信号を送受信するとともに、他系からの信号をネットワーク510に挿入する。ネットワーク520は、リング状に接続された伝送装置521〜528を含んでいる。伝送装置521〜528のそれぞれは、ネットワーク520の他の伝送装置との間で信号を送受信するとともに、他系からの信号をネットワーク520に挿入する。
【0044】
また、ネットワーク510の伝送装置517と、ネットワーク520の伝送装置521と、は互いに接続されている。通信装置501は、加入者側の通信装置であり、ネットワーク510の伝送装置511に接続されている。通信装置502は、加入者側の通信装置であり、ネットワーク520の伝送装置525に接続されている。
【0045】
たとえば、通信装置501は、通信装置502を宛先とするパケット(たとえば音声データ)を伝送装置511へ送出する。通信装置501から伝送装置511へ送出されたパケットは、ネットワーク510およびネットワーク520を介して通信装置502へ伝送される。図1に示した伝送装置100は、たとえば伝送装置511〜518,521〜528の少なくともいずれかに適用することができる。
【0046】
(挿入判断部の構成)
図6は、挿入判断部の構成の一例を示す図である。図2に示した挿入判断部203は、たとえば図6に示すように、空き時間監視部610(計測部)と、判断部620と、を備えている。空き時間監視部610は、OAM挿入部200へ入力される各パケットの空き時間を監視する。具体的には、空き時間監視部610は、カウンタ611と、初期化部612と、データ長取得部613と、空き時間算出部614と、を備えている。
【0047】
カウンタ611は、挿入判断部203へ入力された同期信号をカウントする。たとえば、カウンタ611は、同期信号の立ち上がりをカウントする。たとえば同期信号が1[Gbps]のクロック信号である場合は、カウンタ611のカウント値は1[GHz]で増加する。カウンタ611は、カウント値を空き時間算出部614へ出力する。
【0048】
初期化部612は、パケット識別部202からのヘッダ情報が挿入判断部203へ入力されると、カウンタ611のカウント値を初期化する。これにより、OAM挿入部200へパケットの先頭が入力されるとカウンタ611のカウント値が初期化される。したがって、カウンタ611のカウント値は、OAM挿入部200に現時点で最後にパケットの先頭が入力されてからの経過時間を示す。
【0049】
データ長取得部613は、パケット識別部202から出力されたヘッダ情報から、OAM挿入部200へ入力されたパケットのデータ長(レングス情報)を取得する。データ長取得部613は、取得したデータ長を空き時間算出部614へ通知する。
【0050】
空き時間算出部614は、カウンタ611によって出力されたカウント値(パケットの先頭が入力されてからの経過時間)から、データ長取得部613によって通知されたデータ長を減算する。これにより、OAM挿入部200に現時点で最後に入力されたパケットの末尾の入力タイミングからの経過時間を算出することができる(たとえば図7参照)。空き時間算出部614は、算出した経過時間を空き時間として判断部620へ通知する。
【0051】
判断部620は、空き時間監視部610から通知された空き時間と、OAM生成部201から通知されたOAMフレームのデータ長と、に基づいてOAMフレームを挿入するか否かを判断する。具体的には、判断部620は、比較部621を備えている。比較部621は、空き時間監視部610から通知された空き時間と、OAM生成部201から通知されたOAMフレームのデータ長と、を比較する。
【0052】
そして、比較部621は、空き時間がOAMフレームのデータ長以上である場合は、OAMフレームの挿入の許可をOAM生成部201へ通知する。また、比較部621は、空き時間がOAMフレームのデータ長未満である場合は、OAMフレームの挿入の許可をOAM生成部201へ通知しない。これにより、OAM挿入部200へ入力された各パケットの間に十分な空き時間がある場合に、OAMフレームの挿入の許可をOAM生成部201へ通知することができる。
【0053】
OAM挿入部200においては、入力されたパケットの処理を同期信号(クロック信号)に同期して1[bit]ずつ処理することで、時間の経過とデータ長とを等価に換算することができる。このため、空き時間監視部610は、クロックトリガ発生のタイミングで直前に入力されたパケットの末尾からの経過時間を算出することでパケットの空き時間を算出することができる。また、判断部620は、空き時間監視部610で算出した空き時間をOAM生成部201から通知されたデータ長に相当する時間と比較することでOAMフレームの挿入の可否を判断することができる。
【0054】
ここではパケットの空き時間がOAMフレームのデータ長以上である場合にOAMフレームを挿入する場合について説明したが、OAMフレームの挿入の条件はこれに限らない。たとえば、パケットの空き時間がOAMフレームのデータ長未満であっても、パケットの空き時間とOAMフレームのデータ長の差が閾値以下である場合はOAMフレームを挿入するようにしてもよい。
【0055】
たとえば、パケットの空き時間がOAMフレームのデータ長より短くても、OAMフレームの挿入によるパケットの伝送遅延の変動(たとえば音声の揺らぎ)が無視できる程度であればOAMフレームを挿入するようにすることができる。このように、判断部620は、OAMフレームのデータ長と空き時間を比較し、比較結果に基づいてOAMフレームを挿入するか否かを判断する。
【0056】
(空き時間の算出)
図7は、空き時間の算出の一例を示す図である。パケット701,702は、OAM挿入部200へ入力されたパケットである。パケット702は、パケット701の次に入力されたパケットである。t1は、パケット701の先頭がOAM挿入部200へ入力された時刻である。t2は現在時刻である。L1は、パケット701のデータ長を示している。ここでは、現在時刻t2は、パケット701の末尾が入力された後、パケット702の先頭が入力される前とする。
【0057】
カウンタ611から空き時間算出部614へ出力するカウンタ値は、パケット701の先頭が入力された時刻t1から現在時刻t2までの経過時間を示す。また、データ長取得部613から空き時間算出部614へ通知するデータ長は、データ長L1を示す。したがって、空き時間算出部614は、時刻t1から現在時刻t2までの経過時間からデータ長L1を減算することになるため、パケット701の末尾が入力されてから現在時刻までの空き時間Tを算出することができる。
【0058】
このように、挿入判断部203は、パケット識別部202へ入力されたパケットの末尾がパケット識別部202へ入力されてからの経過時間を空き時間として計測することができる。また、挿入判断部203は、パケット識別部202へ入力されたパケットのヘッダがパケット識別部202へ入力されたタイミングと、ヘッダに含まれるパケットのデータ長を示す情報と、に基づいて空き時間を計測することができる。
【0059】
(挿入判断部の動作)
図8は、挿入判断部の動作の一例を示すフローチャートである。挿入判断部203は、たとえば図8に示す各ステップを実行する。図8において、T1は、現時点で最後にOAMフレームを挿入した時刻を示す変数である。t1は、パケットの入力またはOAMフレームの挿入が現時点で最後に発生した時刻を示す変数である。t2は、現在時刻(クロックトリガの最後の発生時刻)を示す変数である。Tは、現時点で最後に入力されたパケットの末尾の入力タイミングから現在までの空き時間を示す変数である。
【0060】
L1は、パケットまたはOAMフレームのデータ長を示す変数である。パケットの入力またはOAMフレームの挿入のうちの現時点で最後に発生したのがパケットの入力である場合は、L1には入力されたパケットのデータ長が格納される。パケットの入力またはOAMフレームの挿入のうちの現時点で最後に発生したのがOAMフレームの挿入である場合は、L1には挿入されたOAMフレームのデータ長が格納される。
【0061】
まず、挿入判断部203は、T1およびt1に所定の初期値を設定する(ステップS801)。また、挿入判断部203は、L1に0を設定する(ステップS802)。つぎに、挿入判断部203は、OAM挿入部200へ入力される同期信号に基づくクロックトリガが発生したか否かを判断し(ステップS803)、クロックトリガが発生するまで待つ(ステップS803:Noのループ)。
【0062】
ステップS803において、クロックトリガが発生すると(ステップS803:Yes)、挿入判断部203は、パケットの先頭が入力されたか否かを判断する(ステップS804)。パケットの先頭が入力されていない場合(ステップS804:No)は、挿入判断部203は、t2に現在時刻を設定する(ステップS805)。
【0063】
つぎに、挿入判断部203は、t2−t1−L1を算出し、算出結果をTに設定する(ステップS806)。つぎに、挿入判断部203は、Tの値(空き時間)が、OAM生成部201から通知されたOAMフレームのデータ長以上か否かを判断する(ステップS807)。Tの値がOAMフレームのデータ長以上である場合(ステップS807:Yes)、すなわちOAMフレームを挿入する空き時間がある場合は、挿入判断部203は、OAMフレームの挿入の許可をOAM生成部201へ通知する(ステップS808)。
【0064】
つぎに、挿入判断部203は、t1に現在時刻を設定する(ステップS809)。つぎに、挿入判断部203は、OAM生成部201から通知されたOAMフレームのデータ長をL1に設定する(ステップS810)。つぎに、挿入判断部203は、T1に現在時刻を設定し(ステップS811)、ステップS803へ戻る。
【0065】
ステップS807において、Tの値がOAMフレームのデータ長以上でない場合(ステップS807:No)、すなわちOAMフレームを挿入する空き時間がない場合は、挿入判断部203は、現在時刻−T1を算出し、算出結果が所定の規定時間以上か否かを判断する(ステップS812)。すなわち、挿入判断部203は、現時点で最後にOAMフレームを挿入してからの経過時間が所定の規定時間以上か否かを判断する。
【0066】
ステップS812において、算出結果が所定の規定時間以上である場合(ステップS812:Yes)は、挿入判断部203は、ステップS808へ移行する。これにより、OAMフレームを挿入する空き時間がない場合、すなわちOAMフレームを挿入する空き時間がない場合においても、OAMフレームを規定時間以上挿入していない場合はOAMフレームを強制的に挿入することができる。
【0067】
ステップS812において、算出結果が所定の規定時間以上でない場合(ステップS812:No)は、挿入判断部203は、ステップS803へ戻る。ステップS804において、パケットの先頭が入力された場合(ステップS804:Yes)は、挿入判断部203は、t1およびt2に現在時刻を設定する(ステップS813)。つぎに、挿入判断部203は、ステップS804において入力されたパケットのデータ長をL1に設定し(ステップS814)、ステップS806へ移行する。
【0068】
以上の各ステップにより、挿入判断部203は、OAM挿入部200へ入力された各パケットの空き時間がOAMフレームのデータ長以上である場合に、OAMフレームの挿入の許可をOAM生成部201へ通知することができる。また、挿入判断部203は、OAMフレームが規定時間(所定の時間)以上挿入されていない場合はOAMフレームを挿入すると判断する。これにより、OAMフレームが長期間挿入されず、OAMが機能しなくなることを回避することができる。
【0069】
(OAM生成部によるOAMフレームの生成)
図9は、OAM生成部によるOAMフレームの生成の一例を示すシーケンス図である。図9に示すオペレータ901は、たとえば伝送装置100の管理者によって操作される装置である。オペレータ901は、通信インターフェースを介して伝送装置100のMCU330との間で信号を送受信する。
【0070】
まず、オペレータ901が、OAMの設定を指示するOAM設定信号を伝送装置100のMCU330へ送信する(ステップS901)。OAM設定信号には、たとえば、OAMの種別、OAMフレームの送信の周期、OAMフレームの送信先などの情報が含まれている。つぎに、MCU330が、ステップS901によって送信されたOAM設定信号に対するACK(応答信号)をオペレータ901へ送信する(ステップS902)。
【0071】
つぎに、MCU330が、ステップS901によって送信されたOAM設定信号に基づいて、OAMの種別の設定を指示する種別設定信号をOAM生成部201へ出力する(ステップS903)。つぎに、OAM生成部201が、ステップS903によって出力された種別設定信号に対するACKをMCU330へ出力する(ステップS904)。
【0072】
つぎに、MCU330が、ステップS901によって送信されたOAM設定信号に基づいて、OAMフレームの送信の周期の設定を指示する周期設定信号をOAM生成部201へ出力する(ステップS905)。つぎに、OAM生成部201が、ステップS905によって出力された周期設定信号に対するACKをMCU330へ出力する(ステップS906)。
【0073】
つぎに、MCU330が、ステップS901によって送信されたOAM設定信号に基づいて、OAMフレームの送信先の設定を指示する送信先設定信号をOAM生成部201へ出力する(ステップS907)。つぎに、OAM生成部201が、ステップS907によって出力された送信先設定信号に対するACKをMCU330へ出力する(ステップS908)。
【0074】
つぎに、オペレータ901が、OAMフレームの送信開始を指示するOAM送信コマンドをMCU330へ送信する(ステップS909)。つぎに、MCU330が、ステップS905によって送信されたOAM送信コマンドに対するACKをオペレータ901へ送信する(ステップS910)。つぎに、MCU330が、ステップS905によって送信されたOAM送信コマンドをOAM生成部201へ出力する(ステップS911)。つぎに、OAM生成部201が、ステップS911によって出力されたOAM送信コマンドに対するACKをMCU330へ出力する(ステップS912)。
【0075】
つぎに、OAM生成部201が、OAMフレームの送信を開始する(ステップS913)。具体的には、OAM生成部201は、ステップS903によって送信された種別設定信号が示す種別のOAMフレームを、ステップS907によって送信された送信先設定信号が示す送信先を宛先として生成する。そして、OAM生成部201は、生成したOAMフレームのデータ長を挿入判断部203へ通知する。
【0076】
OAM生成部201は、挿入判断部203からOAMフレームの挿入の許可が通知されると、生成したOAMフレームを挿入部205へ出力することによってOAMフレームの送信を行う。また、OAM生成部201は、ステップS905によって出力された周期設定信号が示す周期により、OAMフレームのデータ長を挿入判断部203へ通知する。また、OAM生成部201は、たとえば、ステップS905によって出力された周期設定信号に基づいて、図8のステップS812における規定時間を決定し、決定した規定時間を挿入判断部203に設定してもよい。
【0077】
つぎに、オペレータ901が、OAMフレームの送信停止を指示するOAM停止コマンドをMCU330へ送信したとする(ステップS914)。つぎに、MCU330が、ステップS914によって送信されたOAM停止コマンドに対するACKをオペレータ901へ送信する(ステップS915)。
【0078】
つぎに、MCU330が、ステップS914によって送信されたOAM停止コマンドをOAM生成部201へ出力する(ステップS916)。つぎに、OAM生成部201が、ステップS916によって出力されたOAM送信コマンドに対するACKをMCU330へ出力する(ステップS917)。つぎに、OAM生成部201が、OAMフレームの送信を停止し(ステップS918)、一連の動作を終了する。
【0079】
(挿入判断部の構成の変形例)
図10は、挿入判断部の構成の変形例を示す図である。図10において、図6に示した部分と同様の部分については同一の符号を付して説明を省略する。図10に示すように、挿入判断部203の空き時間監視部610は、カウンタ1011と、末尾検出部1012と、カウンタ1013と、初期化部1014と、を備えていてもよい。カウンタ1011,1013のそれぞれは、図6に示したカウンタ611と同様に、挿入判断部203へ入力された同期信号をカウントする。カウンタ1011は、カウント値を末尾検出部1012へ出力する。カウンタ1013は、カウント値を判断部620へ出力する。
【0080】
末尾検出部1012は、挿入判断部203へ入力されたヘッダ情報に基づいて、OAM挿入部200へ入力されたパケットの末尾のタイミングを検出する。具体的には、末尾検出部1012は、挿入判断部203にヘッダ情報が入力されると、カウンタ1011を初期化する。そして、末尾検出部1012は、カウンタ1011のカウント値が、ヘッダ情報に含まれるパケットのデータ長に相当するカウント値になったタイミングをパケットの末尾のタイミングとして検出する。末尾検出部1012は、パケットの末尾のタイミングを検出すると、末尾検出信号を初期化部1014へ出力する。
【0081】
初期化部1014は、末尾検出部1012から末尾検出信号が出力されると、カウンタ1013のカウント値を初期化する。これにより、OAM挿入部200へパケットの末尾が入力されるとカウンタ1013のカウント値が初期化される。したがって、カウンタ1013のカウント値は、OAM挿入部200に現時点で最後にパケットの末尾が入力されてからの経過時間を示す。
【0082】
このように、挿入判断部203の空き時間監視部610は、パケットの末尾の入力タイミングを検出し、パケットの末尾の入力タイミングからの経過時間をカウンタ1013によってカウントすることによってパケットの空き時間を計測してもよい。
【0083】
図11は、変形例にかかる空き時間の算出の一例を示す図である。図11において、図7に示した部分と同様の部分については同一の符号を付して説明を省略する。t1はパケット701の末尾がOAM挿入部200へ入力された時刻である。t2は現在時刻である。カウンタ1013のカウント値は、パケット701の末尾の入力時刻である時刻t1に初期化される。したがって、カウンタ1013から空き時間監視部610へ出力されるカウント値は、パケット701の末尾が入力されてから現在までの空き時間Tを示す。
【0084】
図12は、変形例にかかる挿入判断部の動作の一例を示すフローチャートである。挿入判断部203は、たとえば図12に示す各ステップを実行してもよい。図12において、図8に示した部分と同様の部分については説明を省略する。また、図12において、t1は、現時点で最後に入力されたパケットの末尾の入力時刻を示す変数である。
【0085】
ステップS1201〜S1203は、図8に示したステップS801〜S803と同様である。ステップS1203において、クロックトリガが発生すると(ステップS1203:Yes)、挿入判断部203は、パケットの末尾が入力されたか否かを判断する(ステップS1204)。パケットの末尾が入力されたか否かの判断は、たとえば、パケットのヘッダが入力されたタイミングおよびL1に基づいて判断することができる(たとえば図10参照)。
【0086】
ステップS1204において、パケットの末尾が入力されていない場合(ステップS1204:No)は、挿入判断部203は、t2に現在時刻を設定する(ステップS1205)。つぎに、挿入判断部203は、t2−t1を算出し、算出結果をTに設定する(ステップS1206)。ステップS1207〜S1214は、図8に示したステップS807〜S814と同様である。
【0087】
(バッファの変形例)
図13は、バッファの変形例を示す図である。図13に示すように、図2に示したバッファ204は、シリアルパラレル変換部1301と、RAM1302(Random Access Memory:ランダムアクセスメモリ)と、パラレルシリアル変換部1303と、メモリ制御部1304と、データバス1310と、アドレスバス1320と、を備えていてもよい。
【0088】
シリアルパラレル変換部1301は、パケット識別部202(図2参照)から出力されたシリアルのパケットをパラレルのデータに変換する。シリアルパラレル変換部1301は、変換したデータをデータバス1310を介してRAM1302へ出力する。
【0089】
RAM1302は、メモリ制御部1304による制御に従って、シリアルパラレル変換部1301から出力されたデータを記憶する(書き込み)。また、RAM1302は、メモリ制御部1304による制御に従って、記憶したデータを、データバス1310を介してパラレルシリアル変換部1303へ出力する(読み出し)。
【0090】
パラレルシリアル変換部1303は、RAM1302から出力されたパラレルのデータをシリアルのパケットに変換する。パラレルシリアル変換部1303は、シリアルに変換したパケットを挿入部205(図2参照)へ出力する。メモリ制御部1304は、アドレスバス1320を介して、RAM1302へのデータの書き込みおよびRAM1302からのデータの読み出しを制御する。
【0091】
図14は、メモリ制御部による制御の一例を示す図である。図14に示す記憶領域1400は、図13に示したRAM1302の記憶領域の一例である。メモリ制御部1304は、記憶領域1400に対する書き込みアドレスと読み出しアドレスを制御することによって、RAM1302をリングバッファとして利用する。これにより、図13に示したバッファ204によって、図2に示したフリップフロップ回路#1〜#nと同様に、パケットを一時格納し、格納したパケットを順次出力することができる。
【0092】
以上説明したように、伝送装置および伝送方法によれば、パケットの空き時間を計測し、空き時間が十分にある場合にOAMフレームを挿入することで、パケットの伝送遅延の変動を抑えることができる。このため、たとえば、空きパケットが流れないイーサネットなどの通信網でも、OAMフレームの挿入による音声揺らぎ等を抑えることができる。
【0093】
なお、入力された各パケットの間にOAMフレームを挿入する場合について説明したが、入力された各パケットに挿入する所定のフレームはOAMフレームに限らない。たとえば、所定のフレームとしては、伝送装置100へ入力された音声データなどのパケットよりもリアルタイム性が要求されないフレームを適用することができる。
【0094】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0095】
(付記1)パケットが不定の間隔で入力される入力部と、
前記入力部へパケットが入力されていない空き時間を計測する計測部と、
前記計測部によって計測された空き時間に基づいて、前記入力部へ入力された各パケットの間に所定のフレームを挿入するか否かを判断する判断部と、
前記入力部へ入力された各パケットを順次送信し、前記判断部の判断結果に基づいて前記所定のフレームを前記各パケットの間に挿入して送信する送信部と、
を備えることを特徴とする伝送装置。
【0096】
(付記2)前記計測部は、前記入力部へ入力されたパケットの末尾が前記入力部へ入力されてからの経過時間を前記空き時間として計測することを特徴とする付記1に記載の伝送装置。
【0097】
(付記3)前記計測部は、前記入力部へ入力されたパケットのヘッダが前記入力部へ入力されたタイミングと、前記ヘッダに含まれる前記パケットのデータ長を示す情報と、に基づいて前記経過時間を計測することを特徴とする付記2に記載の伝送装置。
【0098】
(付記4)前記判断部は、前記所定のフレームのデータ長と前記空き時間を比較し、比較結果に基づいて前記所定のフレームを挿入するか否かを判断することを特徴とする付記1〜3のいずれか一つに記載の伝送装置。
【0099】
(付記5)前記判断部は、前記送信部によって前記所定のフレームが所定の時間以上挿入されていない場合は前記所定のフレームを挿入すると判断することを特徴とする付記1〜4のいずれか一つに記載の伝送装置。
【0100】
(付記6)前記所定のフレームは、OAM(Operation Administration Maintenance)フレームであることを特徴とする付記1〜5のいずれか一つに記載の伝送装置。
【0101】
(付記7)パケットが不定の間隔で入力され、
前記パケットが入力されていない空き時間を計測し、
計測した前記空き時間に基づいて、入力された各パケットの間に所定のフレームを挿入するか否かを判断し、
入力された各パケットを順次送信し、判断結果に基づいて前記所定のフレームを前記各パケットの間に挿入して送信する、
ことを特徴とする伝送方法。
【符号の説明】
【0102】
100,300,511〜518,521〜528 伝送装置
111〜113,701,702 パケット
121 OAMフレーム
133 データ長
131,132 空き時間
#1〜#n フリップフロップ回路
500 通信システム
510,520 ネットワーク
501,502 通信装置
1310 データバス
1320 アドレスバス
1400 記憶領域
【特許請求の範囲】
【請求項1】
パケットが不定の間隔で入力される入力部と、
前記入力部へパケットが入力されていない空き時間を計測する計測部と、
前記計測部によって計測された空き時間に基づいて、前記入力部へ入力された各パケットの間に所定のフレームを挿入するか否かを判断する判断部と、
前記入力部へ入力された各パケットを順次送信し、前記判断部の判断結果に基づいて前記所定のフレームを前記各パケットの間に挿入して送信する送信部と、
を備えることを特徴とする伝送装置。
【請求項2】
前記計測部は、前記入力部へ入力されたパケットの末尾が前記入力部へ入力されてからの経過時間を前記空き時間として計測することを特徴とする請求項1に記載の伝送装置。
【請求項3】
前記計測部は、前記入力部へ入力されたパケットのヘッダが前記入力部へ入力されたタイミングと、前記ヘッダに含まれる前記パケットのデータ長を示す情報と、に基づいて前記経過時間を計測することを特徴とする請求項2に記載の伝送装置。
【請求項4】
前記判断部は、前記所定のフレームのデータ長と前記空き時間を比較し、比較結果に基づいて前記所定のフレームを挿入するか否かを判断することを特徴とする請求項1〜3のいずれか一つに記載の伝送装置。
【請求項5】
前記判断部は、前記送信部によって前記所定のフレームが所定の時間以上挿入されていない場合は前記所定のフレームを挿入すると判断することを特徴とする請求項1〜4のいずれか一つに記載の伝送装置。
【請求項6】
パケットが不定の間隔で入力され、
前記パケットが入力されていない空き時間を計測し、
計測した前記空き時間に基づいて、入力された各パケットの間に所定のフレームを挿入するか否かを判断し、
入力された各パケットを順次送信し、判断結果に基づいて前記所定のフレームを前記各パケットの間に挿入して送信する、
ことを特徴とする伝送方法。
【請求項1】
パケットが不定の間隔で入力される入力部と、
前記入力部へパケットが入力されていない空き時間を計測する計測部と、
前記計測部によって計測された空き時間に基づいて、前記入力部へ入力された各パケットの間に所定のフレームを挿入するか否かを判断する判断部と、
前記入力部へ入力された各パケットを順次送信し、前記判断部の判断結果に基づいて前記所定のフレームを前記各パケットの間に挿入して送信する送信部と、
を備えることを特徴とする伝送装置。
【請求項2】
前記計測部は、前記入力部へ入力されたパケットの末尾が前記入力部へ入力されてからの経過時間を前記空き時間として計測することを特徴とする請求項1に記載の伝送装置。
【請求項3】
前記計測部は、前記入力部へ入力されたパケットのヘッダが前記入力部へ入力されたタイミングと、前記ヘッダに含まれる前記パケットのデータ長を示す情報と、に基づいて前記経過時間を計測することを特徴とする請求項2に記載の伝送装置。
【請求項4】
前記判断部は、前記所定のフレームのデータ長と前記空き時間を比較し、比較結果に基づいて前記所定のフレームを挿入するか否かを判断することを特徴とする請求項1〜3のいずれか一つに記載の伝送装置。
【請求項5】
前記判断部は、前記送信部によって前記所定のフレームが所定の時間以上挿入されていない場合は前記所定のフレームを挿入すると判断することを特徴とする請求項1〜4のいずれか一つに記載の伝送装置。
【請求項6】
パケットが不定の間隔で入力され、
前記パケットが入力されていない空き時間を計測し、
計測した前記空き時間に基づいて、入力された各パケットの間に所定のフレームを挿入するか否かを判断し、
入力された各パケットを順次送信し、判断結果に基づいて前記所定のフレームを前記各パケットの間に挿入して送信する、
ことを特徴とする伝送方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−62595(P2013−62595A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−198468(P2011−198468)
【出願日】平成23年9月12日(2011.9.12)
【出願人】(000005223)富士通株式会社 (25,993)
【出願人】(000237662)富士通テレコムネットワークス株式会社 (682)
【Fターム(参考)】
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願日】平成23年9月12日(2011.9.12)
【出願人】(000005223)富士通株式会社 (25,993)
【出願人】(000237662)富士通テレコムネットワークス株式会社 (682)
【Fターム(参考)】
[ Back to top ]