(57)【要約】【課題】レンジング処理をソフトウェア化する。【解決手段】通信装置は、所定のタイミングから第一フレームを送信するまでの送信ビット数と、スループットとに基づいて、第一フレームの送信タイミングを算出する送信タイミング算出部と、第一フレームを送信タイミングに外部装置に送信する送信部と、第一フレームに応じて外部装置から第二フレームを受信する受信部と、所定のタイミングから受信部が第二フレームを受信するまでの受信ビット数と、スループットとに基づいて第二フレームの受信タイミングを算出する受信タイミング算出部と、外部装置において第一フレームの受信から第二フレームの送信までにかかった処理時間と、送信タイミングと、受信タイミングとを用いてラウンドトリップタイムを算出するラウンドトリップタイム算出部と、を備える。【選択図】図１
2020068491.tif 000002
【特許請求の範囲】
【請求項１】
所定のタイミングから第一フレームを送信するまでの送信ビット数と、自通信装置におけるスループットとに基づいて、前記第一フレームの送信タイミングを算出する送信タイミング算出部と、
前記第一フレームを前記送信タイミングに外部装置に送信する送信部と、
前記送信部が送信した前記第一フレームに応じて前記外部装置から第二フレームを受信する受信部と、
所定のタイミングから前記受信部が前記第二フレームを受信するまでの受信ビット数と、前記スループットとに基づいて前記第二フレームの受信タイミングを算出する受信タイミング算出部と、
前記外部装置において前記第一フレームの受信から前記第二フレームの送信までにかかった処理時間と、前記送信タイミングと、前記受信タイミングとを用いて前記外部装置のラウンドトリップタイムを算出するラウンドトリップタイム算出部と、
を備える通信装置。
【請求項２】
プロセッサと、
前記プロセッサから出力されたデータを外部装置に所定の周期ごとに転送し、前記外部装置から前記周期ごとに受信したデータを前記プロセッサに転送するインタフェース回路とを備え、
前記プロセッサは、
所定のタイミングから第一フレームの送信までの前記周期の回数に基づいて前記第一フレームの送信タイミングを算出する送信タイミング算出部と、
前記第一フレームを生成して前記インタフェース回路に出力するフレーム生成部と、
前記インタフェース回路が受信した前記データを前記周期ごとに格納するバッファと、
前記所定のタイミングから、前記第一フレームに応じて前記外部装置から送信された第二フレームを前記インタフェース回路が受信するまでの前記周期の回数と、前記バッファにおける前記第二フレームを受信した前記周期の先頭の位置から前記第二フレームの格納位置までのずれとに基づいて前記第二フレームの受信タイミングを算出する受信タイミング算出部と、
前記外部装置において前記第一フレームの受信から前記第二フレームの送信までにかかった処理時間と、前記送信タイミングと、前記受信タイミングとを用いて前記外部装置のラウンドトリップタイムを算出するラウンドトリップタイム算出部と、
を備える通信装置。
【請求項３】
前記通信装置は、加入者線端局装置である、
請求項１又は請求項２に記載の通信装置。
【請求項４】
プロセッサと、
外部装置から所定の周期ごとに受信したデータを前記プロセッサに転送し、前記プロセッサから出力されたデータを前記周期ごとに前記外部装置に転送するインタフェース回路とを備え、
前記プロセッサは、
前記インタフェース回路が受信した前記データを前記周期ごとに格納するバッファと、
所定のタイミングから、前記インタフェース回路が第一フレームを受信するまでの前記周期の回数と、前記バッファにおける前記第一フレームを受信した前記周期の先頭の位置から前記第一フレームの格納位置までのずれと、前記所定のタイミングから第二フレームの送信までの前記周期の回数とに基づいて、前記第一フレームの受信から前記第二フレームの送信までの処理時間を算出する処理時間算出部と、
前記第一フレームの受信に応じて前記第二フレームを生成し、前記処理時間、又は、前記第一フレームから読み出した当該第一フレームの送信タイミングに前記処理時間を加算した前記第二フレームの送信タイミングを設定して前記インタフェース回路に出力するフレーム生成部と、
を備える通信装置。
【請求項５】
前記通信装置は、加入者線終端装置である、
請求項４に記載の通信装置。
【請求項６】
所定のタイミングから第一フレームを送信するまでの送信ビット数と、自通信装置におけるスループットとに基づいて、前記第一フレームの送信タイミングを算出する送信タイミング算出ステップと、
前記第一フレームを前記送信タイミングに外部装置に送信する送信ステップと、
前記送信ステップにおいて送信した前記第一フレームに応じて前記外部装置から第二フレームを受信する受信ステップと、
所定のタイミングから前記受信ステップにおいて前記第二フレームを受信するまでの受信ビット数と、前記スループットとに基づいて前記第二フレームの受信タイミングを算出する受信タイミング算出ステップと、
前記外部装置において前記第一フレームの受信から前記第二フレームの送信までにかかった処理時間と、前記送信タイミングと、前記受信タイミングとを用いて前記外部装置のラウンドトリップタイムを算出するラウンドトリップタイム算出ステップと、
を有するレンジング方法。
【請求項７】
インタフェース回路が、プロセッサから出力されたデータを外部装置に所定の周期ごとに転送し、前記外部装置から前記周期ごとに受信したデータを前記プロセッサに転送する転送ステップと、
前記プロセッサが、
所定のタイミングから第一フレームの送信までの前記周期の回数に基づいて前記第一フレームの送信タイミングを算出する送信タイミング算出ステップと、
前記第一フレームを生成して前記インタフェース回路に出力するフレーム生成ステップと、
前記インタフェース回路が受信した前記データを前記周期ごとにバッファに格納するバッファリングステップと、
前記所定のタイミングから、前記第一フレームに応じて前記外部装置から送信された第二フレームを前記インタフェース回路が受信するまでの前記周期の回数と、前記バッファにおける前記第二フレームを受信した前記周期の先頭の位置から前記第二フレームの格納位置までのずれとに基づいて前記第二フレームの受信タイミングを算出する受信タイミング算出ステップと、
前記外部装置において前記第一フレームの受信から前記第二フレームの送信までにかかった処理時間と、前記送信タイミングと、前記受信タイミングとを用いて前記外部装置のラウンドトリップタイムを算出するラウンドトリップタイム算出ステップと、
を有するレンジング方法。
【請求項８】
インタフェース回路が、外部装置から所定の周期ごとに受信したデータをプロセッサに転送し、前記プロセッサから出力されたデータを前記周期ごとに前記外部装置に転送する転送ステップと、
前記プロセッサが、
前記インタフェース回路が受信した前記データを前記周期ごとにバッファに格納するバッファリングステップと、
所定のタイミングから、前記インタフェース回路が第一フレームを受信するまでの前記周期の回数と、前記バッファにおける前記第一フレームを受信した前記周期の先頭の位置から前記第一フレームの格納位置までのずれと、前記所定のタイミングから第二フレームの送信までの前記周期の回数とに基づいて、前記第一フレームの受信から前記第二フレームの送信までの処理時間を算出する処理時間算出ステップと、
前記第一フレームの受信に応じて前記第二フレームを生成し、前記処理時間、又は、前記第一フレームから読み出した当該第一フレームの送信タイミングに前記処理時間を加算した前記第二フレームの送信タイミングを設定して前記インタフェース回路に出力するフレーム生成ステップと、
を有するレンジング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及びレンジング方法に関する。
【背景技術】
【０００２】
近年、ネットワーク分野ではＳＤＮ（software-defined network）やＮＦＶ（network function virtualization）が注目されており、ネットワーク装置を汎用ハードウェアとソフトウェアとで構成することによって、装置の柔軟性の向上を狙った取り組みが盛んに検討されている。光アクセスシステムに関してもＳＤＮ／ＮＦＶの適用が検討されており、ＯＬＴ（optical line terminal；加入者線端局装置）をソフトウェアで実装する検討が成されている。ＯＬＴの上位層処理機能として、ＯＬＴとＯＮＵ（optical network unit；加入者線終端装置）との間の伝送時間を測定するレンジング（例えば、非特許文献１参照）がある。しかし、このレンジングには、ｎｓ（ナノ秒）オーダーの高精度な時間測定が必要であるため、ソフトウェア化が困難とされている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】"IEEE Standard for Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications", IEEE Std 802.3av-2009, IEEE Computer Society, 2009年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＰＯＮ（Passive Optical Network；受動光ネットワーク）システムにおいては、１台のＯＬＴに複数台のＯＮＵが接続されており、ＯＮＵ配下の複数端末が１本の光ファイバを共用することで経済化を実現している。ＰＯＮシステムにおいては、上り信号の衝突を避けるため、ＭＰＣＰ（multi-point control protocol）機能が実装されている。ＭＰＣＰでは、ＯＬＴと接続されている複数台のＯＮＵそれぞれの伝送遅延であるＲＴＴ（Round Trip Time；ラウンドトリップタイム）を求め、これら伝送遅延の差に基づいてＯＮＵの上り信号の送信時間を決定する。それぞれのＯＮＵに対してＲＴＴを測定するために、レンジングが行われる。
【０００５】
図６は、レンジング方法を示す図である。レンジングではまず、ＯＬＴが現在の時刻Ｔ１を設定したＧＡＴＥフレームを作成し、ＯＮＵに送信する。ＧＡＴＥフレームを受信したＯＮＵは、時刻Ｔ１に、処理にかかった時間Ｔ３を加算した時刻Ｔ４をＲＥＰＯＲＴフレームに付加して、ＯＬＴに送信する。ＯＬＴは、時刻Ｔ２にＲＥＰＯＲＴフレームを受信すると、Ｔ２−Ｔ４＝Ｔ２−Ｔ１−Ｔ３を計算し、ＲＴＴを測定する。
【０００６】
図７は、レンジングを行うＯＬＴの構成を示す機能ブロック図である。ＯＬＴの上位層処理部は、現在の時刻Ｔ１を取得し、時刻Ｔ１を付与したＧＡＴＥフレームを生成する。物理層処理部は、ＧＡＴＥフレームの符号化処理を行い、ＩＦボード（データ転送部）は、符号化されたＧＡＴＥフレームをＯＮＵに送信する。ＯＬＴのＩＦボードは、ＯＮＵから送信されたＲＥＰＯＲＴフレームを受信し、物理層処理部は、受信したフレーム信号に復号化処理を行う。上位層処理部は、現在の時刻Ｔ２を取得し、受信したＲＥＰＯＲＴフレームに付与されている時刻情報が示す時刻Ｔ４と、取得した時刻Ｔ２とを用いてＲＴＴ（＝Ｔ２−Ｔ４）を算出する。
【０００７】
従来は、上位層処理部や物理層処理部の機能をＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェア実装により実現している。ハードウェアにおいては時刻Ｔ１、Ｔ２の時間測定を高精度に行うことが可能であるため、ハードウェアで実装されたこれらの機能ブロックによりＲＴＴ算出が実現できる。１０Ｇ−ＥＰＯＮ（10Gigabit Ethernet(登録商標) Passive Optical Network）の規格のハードウェアは、１６ｎｓに１カウントを行うカウンターを用いて時間を計測している。
【０００８】
しかし、ＯＬＴをソフトウェア実装する場合に、ＣＰＵ（central processing unit）やＧＰＵ（Graphics Processing Unit）において時刻の取得をｎｓオーダーで実現することはできない。ＣＰＵでの時刻の取得は最低でもμｓ（マイクロ秒）オーダーである。加えて、ソフトウェア処理においては、フレーム生成や物理層処理に関しても処理時間が揺らぐために、高精度なＲＴＴを取得できない。
【０００９】
上記事情に鑑み、本発明は、レンジング処理をソフトウェア化することができる通信装置及びレンジング方法を提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明の一態様は、所定のタイミングから第一フレームを送信するまでの送信ビット数と、自通信装置におけるスループットとに基づいて、前記第一フレームの送信タイミングを算出する送信タイミング算出部と、前記第一フレームを前記送信タイミングに外部装置に送信する送信部と、前記送信部が送信した前記第一フレームに応じて前記外部装置から第二フレームを受信する受信部と、所定のタイミングから前記受信部が前記第二フレームを受信するまでの受信ビット数と、前記スループットとに基づいて前記第二フレームの受信タイミングを算出する受信タイミング算出部と、前記外部装置において前記第一フレームの受信から前記第二フレームの送信までにかかった処理時間と、前記送信タイミングと、前記受信タイミングとを用いて前記外部装置のラウンドトリップタイムを算出するラウンドトリップタイム算出部と、を備える通信装置である。
【００１１】
本発明の一態様は、プロセッサと、前記プロセッサから出力されたデータを外部装置に所定の周期ごとに転送し、前記外部装置から前記周期ごとに受信したデータを前記プロセッサに転送するインタフェース回路とを備え、前記プロセッサは、所定のタイミングから第一フレームの送信までの前記周期の回数に基づいて前記第一フレームの送信タイミングを算出する送信タイミング算出部と、前記第一フレームを生成して前記インタフェース回路に出力するフレーム生成部と、前記インタフェース回路が受信した前記データを前記周期ごとに格納するバッファと、前記所定のタイミングから、前記第一フレームに応じて前記外部装置から送信された第二フレームを前記インタフェース回路が受信するまでの前記周期の回数と、前記バッファにおける前記第二フレームを受信した前記周期の先頭の位置から前記第二フレームの格納位置までのずれとに基づいて前記第二フレームの受信タイミングを算出する受信タイミング算出部と、前記外部装置において前記第一フレームの受信から前記第二フレームの送信までにかかった処理時間と、前記送信タイミングと、前記受信タイミングとを用いて前記外部装置のラウンドトリップタイムを算出するラウンドトリップタイム算出部と、を備える通信装置である。
【００１２】
本発明の一態様は、上述の通信装置であって、前記通信装置は、加入者線端局装置である。
【００１３】
本発明の一態様は、プロセッサと、外部装置から所定の周期ごとに受信したデータを前記プロセッサに転送し、前記プロセッサから出力されたデータを前記周期ごとに前記外部装置に転送するインタフェース回路とを備え、前記プロセッサは、前記インタフェース回路が受信した前記データを前記周期ごとに格納するバッファと、所定のタイミングから、前記インタフェース回路が第一フレームを受信するまでの前記周期の回数と、前記バッファにおける前記第一フレームを受信した前記周期の先頭の位置から前記第一フレームの格納位置までのずれと、前記所定のタイミングから第二フレームの送信までの前記周期の回数とに基づいて、前記第一フレームの受信から前記第二フレームの送信までの処理時間を算出する処理時間算出部と、前記第一フレームの受信に応じて前記第二フレームを生成し、前記処理時間、又は、前記第一フレームから読み出した当該第一フレームの送信タイミングに前記処理時間を加算した前記第二フレームの送信タイミングを設定して前記インタフェース回路に出力するフレーム生成部と、を備える通信装置である。
【００１４】
本発明の一態様は、上述の通信装置であって、前記通信装置は、加入者線終端装置である。
【００１５】
本発明の一態様は、所定のタイミングから第一フレームを送信するまでの送信ビット数と、自通信装置におけるスループットとに基づいて、前記第一フレームの送信タイミングを算出する送信タイミング算出ステップと、前記第一フレームを前記送信タイミングに外部装置に送信する送信ステップと、前記送信ステップにおいて送信した前記第一フレームに応じて前記外部装置から第二フレームを受信する受信ステップと、所定のタイミングから前記受信ステップにおいて前記第二フレームを受信するまでの受信ビット数と、前記スループットとに基づいて前記第二フレームの受信タイミングを算出する受信タイミング算出ステップと、前記外部装置において前記第一フレームの受信から前記第二フレームの送信までにかかった処理時間と、前記送信タイミングと、前記受信タイミングとを用いて前記外部装置のラウンドトリップタイムを算出するラウンドトリップタイム算出ステップと、を有するレンジング方法である。
【００１６】
本発明の一態様は、インタフェース回路が、プロセッサから出力されたデータを外部装置に所定の周期ごとに転送し、前記外部装置から前記周期ごとに受信したデータを前記プロセッサに転送する転送ステップと、前記プロセッサが、所定のタイミングから第一フレームの送信までの前記周期の回数に基づいて前記第一フレームの送信タイミングを算出する送信タイミング算出ステップと、前記第一フレームを生成して前記インタフェース回路に出力するフレーム生成ステップと、前記インタフェース回路が受信した前記データを前記周期ごとにバッファに格納するバッファリングステップと、前記所定のタイミングから、前記第一フレームに応じて前記外部装置から送信された第二フレームを前記インタフェース回路が受信するまでの前記周期の回数と、前記バッファにおける前記第二フレームを受信した前記周期の先頭の位置から前記第二フレームの格納位置までのずれとに基づいて前記第二フレームの受信タイミングを算出する受信タイミング算出ステップと、前記外部装置において前記第一フレームの受信から前記第二フレームの送信までにかかった処理時間と、前記送信タイミングと、前記受信タイミングとを用いて前記外部装置のラウンドトリップタイムを算出するラウンドトリップタイム算出ステップと、を有するレンジング方法である。
【００１７】
本発明の一態様は、インタフェース回路が、外部装置から所定の周期ごとに受信したデータをプロセッサに転送し、前記プロセッサから出力されたデータを前記周期ごとに前記外部装置に転送する転送ステップと、前記プロセッサが、前記インタフェース回路が受信した前記データを前記周期ごとにバッファに格納するバッファリングステップと、所定のタイミングから、前記インタフェース回路が第一フレームを受信するまでの前記周期の回数と、前記バッファにおける前記第一フレームを受信した前記周期の先頭の位置から前記第一フレームの格納位置までのずれと、前記所定のタイミングから第二フレームの送信までの前記周期の回数とに基づいて、前記第一フレームの受信から前記第二フレームの送信までの処理時間を算出する処理時間算出ステップと、前記第一フレームの受信に応じて前記第二フレームを生成し、前記処理時間、又は、前記第一フレームから読み出した当該第一フレームの送信タイミングに前記処理時間を加算した前記第二フレームの送信タイミングを設定して前記インタフェース回路に出力するフレーム生成ステップと、を有するレンジング方法である。
【発明の効果】
【００１８】
本発明により、レンジング処理をソフトウェア化することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態によるＯＬＴの機能ブロック図である。
【図２】同実施形態によるＩＦボードにおける転送方法を示す図である。
【図３】同実施形態によるＯＬＴのバッファの状態を示す図である。
【図４】同実施形態によるＯＮＵの機能ブロック図である。
【図５】同実施形態によるＯＮＵのバッファの状態を示す図である。
【図６】従来技術によるレンジング方法を示す図である。
【図７】従来技術によるレンジングを行うＯＬＴの構成を示す機能ブロック図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
【００２１】
まず、レンジングの処理をソフトウェアで行うＯＬＴの構成と処理を説明する。本実施形態では、ＯＬＴのデータ転送部をハードウェアで構成し、上位層処理部及び物理層処理部を、ソフトウェアにより実装する。データ転送部は、下り通信を行う時間帯において周期的にデータ転送を行い、上り通信を行う時間帯において周期的にデータ受信を行う。ＯＬＴは、ソフトウェアにより実現される上位層処理部及び物理層処理部の機能により、転送ビット数、転送回数、及び、スループットに基づいて、現在処理中のフレームの送受信時刻を算出する。これにより、物理層処理の処理時間の揺らぎの影響がない時刻情報を取得できる。
【００２２】
本実施形態によれば、レンジング機能をソフトウェア実装することができる。加えて、ＯＬＴのデータ転送部以外の機能部をソフトウェア実装することにより、様々な規格を共通の汎用ハードウェアで実現することができる。
【００２３】
図１は、本実施形態によるＯＬＴ１の構成を示す機能ブロック図である。ＰＯＮシステムにおいては、１台のＯＬＴ１に、１台以上のＯＮＵ５が接続される。同図では、ＯＮＵ５を１台のみ示している。同図に示すように、ＯＬＴ１は、汎用プロセッサ２と、ＩＦボード３とを備える。
【００２４】
汎用プロセッサ２は、ＣＰＵ、ＧＰＵ等である。汎用プロセッサ２は、ソフトウェアにより上位層処理部２１及び物理層処理部２２の機能を実現する。
【００２５】
上位層処理部２１は、Ｔ１算出部２１１、フレーム生成部２１２、Ｔ２算出部２１３及びＲＴＴ算出部２１４を有する。Ｔ１算出部２１１は、ＧＡＴＥフレームの送信時刻Ｔ１を算出する。フレーム生成部２１２は、時刻Ｔ１を付与したＧＡＴＥフレームを生成する。Ｔ２算出部２１３は、ＯＬＴ１におけるＲＥＰＯＲＴフレームの受信時刻Ｔ２を算出する。ＲＴＴ算出部２１４は、ＧＡＴＥフレームの送信時刻Ｔ１と、ＲＥＰＯＲＴフレームの受信時刻Ｔ２と、ＯＮＵ５における処理時間Ｔ３とを用いて、ＲＴＴを算出する。ＲＴＴ算出部２１４は、ＲＥＰＯＲＴフレームから処理時間Ｔ３を読み出すか、時刻Ｔ１に処理時Ｔ３を加算した時刻Ｔ４を読み出し、ＲＴＴの算出に用いる。
【００２６】
物理層処理部２２は、符号化処理部２２１及び復号化処理部２２２を有する。符号化処理部２２１は、フレーム生成部２１２が生成した下り信号のフレームに符号化処理を行い、ＩＦボード３へ出力する。符号化処理部２２１は、下り信号のフレームを一時的に記憶するバッファ２３１を有する。なお、バッファ２３１を符号化処理部２２１の外部に備えてもよい。復号化処理部２２２は、ＩＦボード３から転送された上り信号のデータに復号化処理を行う。復号化処理部２２２は、復号化対象のデータを一時的に記憶するバッファ２３２を有する。なお、バッファ２３２を復号化処理部２２２の外部に備えてもよい。
【００２７】
ＩＦボード３は、ハードウェアのデータ通信部である。ＩＦボード３は、下り転送部３１及び上り転送部３２を有する。下り転送部３１は、符号化処理部２２１が生成した下り信号のフレームを電気信号から光信号に変換し、下り通信を行う時間帯において周期的にＯＮＵ５に転送する。上り転送部３２は、ＯＮＵ５が上り通信を行う時間帯において、周期的に上りの光信号を受信し、電気信号に変換して復号化処理部２２２に転送する。
【００２８】
図２は、ＩＦボード３における転送方法を示す図である。下り転送部３１は、図２（ａ）に示すように、汎用プロセッサ２が生成したｍビットのデータからなる下り信号（連続信号）を周期的に連続して転送する。また、上り転送部３２は、下り転送部３１からの下り信号の送信と同じタイミングで、又は、一定の時間差で、ｍビットのデータからなる上り信号（連続信号）を周期的に連続して受信する。
【００２９】
図３は、ＯＬＴ１がＰＯＮフレームを送受信した際のバッファ２３１、２３２の状態を示す図である。図３（ａ）はバッファ２３１に記憶される下り信号を示し、図３（ｂ）はバッファ２３２に記憶される上り信号を示す。なお、バッファ２３１、２３２にはそれぞれ、逐次新しい下り信号、上り信号のデータ（連続信号）が書き込まれる。図２に示したように、ＩＦボード３は、汎用プロセッサ２が生成したｍビットの上り信号又は下り信号のデータを周期的に連続転送している。基準となる時刻（タイミング）を０、時刻０を先頭とする周期を０回目の転送としたときに、基準となる時間からｎ回目の周期の転送時にレンジング用のＧＡＴＥフレームを送信する場合、Ｔ１算出部２１１は、以下の式（１）によって、ＧＡＴＥフレームの送信時刻Ｔ１を計算する。
【００３０】
【数１】
2020068491.tif 000003
【００３１】
なお、Throughputは、システム（ＯＬＴ１とＯＮＵ５間）のスループットである。また、ｎ×ｍは、基準となる時刻からＧＡＴＥフレームを転送するまでの送信ビット数である。送信時刻Ｔ１の計算後、フレーム生成部２１２は、送信時刻Ｔ１を設定したＧＡＴＥフレームを生成し、生成したＧＡＴＥフレームがｎ回目の周期の転送における先頭で送信されるように符号化処理部２２１へ出力する。符号化処理部２２１は、生成されたＧＡＴＥフレームに符号化処理を行い、下り転送部３１に出力する。下り転送部３１は、符号化されたＧＡＴＥフレームを光信号に変換し、ｎ回目の転送周期の先頭でＯＮＵ５に送信する。    
【００３２】
汎用プロセッサ２に用いられるＣＰＵ／ＧＰＵの処理時間には揺らぎがあるが、その揺らぎまで考慮して、フレームの送信時刻を一定とする。例えば、転送周期が３ｍｓであり、ＣＰＵ／ＧＰＵの処理完了タイミングが６ｍｓから±０．１ｍｓ程度揺らぐ場合、最悪の処理完了タイミングは６．１ｍｓである。そこで、汎用プロセッサ２では、余裕を持たせてＧＡＴＥフレームの転送のタイミングを３回目（９ｍｓ制約時間）として固定する。これにより、ｎ回目の周期の転送時までに、汎用プロセッサ２（ＣＰＵ／ＧＰＵ）におけるＧＡＴＥフレームの送信処理が完了していることを前提とすることができる。
【００３３】
ＯＬＴ１の上り転送部３２は、ＧＡＴＥフレームに対応してＯＮＵ５から上りの信号のＲＥＰＯＲＴフレームを受信すると、基準となる時刻からｎ’回目（ｎ＜ｎ’）の転送周期のタイミングで汎用プロセッサ２にＧＡＴＥフレームが含まれる連続信号のデータを転送する。ＯＮＵ５が転送周期の先頭のタイミングでＲＥＰＯＲＴフレームを送信した場合でも、ファイバの伝搬遅延に起因して、ＯＬＴ１における受信時には転送周期の先頭からのずれが生じる。同じ伝送路を通る場合はいずれのフレームも同じ伝搬遅延を受けるため、同じずれが生じる。復号化処理部２２２は、上り転送部３２から転送されたデータをバッファ２３２に書き込み、復号化処理を行ってフレームを検出する。図３（ｂ）に示すように、バッファ２３２の先頭位置からｌビット目にＲＥＰＯＲＴフレームの先頭が格納された場合、上位層処理部２１のＴ２算出部２１３は、時刻Ｔ２を下記の式（２）のように求める。
【００３４】
【数２】
2020068491.tif 000004
【００３５】
なお、復号化処理部２２２は、この同期位置ｌを検出して、Ｔ２算出部２１３に通知する。ｎ’×ｍは、基準となる時刻からＲＥＰＯＲＴフレームを受信するまでの受信ビット数である。式（２）は、上り転送部３２の周期と下り転送部３１の周期とで基準となる時刻が同じ場合に用いられる。上り転送部３２の周期と下り転送部３１の周期とに一定の時間差があり、上りと下りで基準となる時刻が異なる場合、復号化処理部２２２は、それら基準となる時刻の時間差を式（２）の算出結果に加える。あるいは、その時間差に対応したビット数を式（２）の分母に加算してもよい。
【００３６】
Ｔ２算出部２１３が時刻Ｔ２を算出した後、ＲＴＴ算出部２１４は、ＲＴＴ算出部２１４は、ＲＥＰＯＲＴフレームから、ＯＮＵが設定した処理時間Ｔ３又は時刻Ｔ４を取得する。処理時間Ｔ３は、ＯＮＵがＧＡＴＥフレームを受信してからＲＥＰＯＲＴフレームを送信するまでの処理時間である。時刻Ｔ４は、ＧＡＴＥフレームに設定した時刻Ｔ１に処理時間Ｔ３を加算した時刻である。なお、ＲＥＰＯＲＴフレームから処理時間Ｔ３を取得する場合、フレーム生成部２１２は、ＧＡＴＥフレームに時刻Ｔ１を設定しなくてもよい。ＲＴＴ算出部２１４は、従来の手法と同様にＲＲＴ＝Ｔ２−Ｔ４＝Ｔ２−Ｔ１−Ｔ３を算出する。なお、ＲＴＴは以下の式（３）で表される。そのため、ＲＴＴ算出部２１４は、以下の式（３）によりＲＴＴを算出してもよい。
【００３７】
【数３】
2020068491.tif 000005
【００３８】
次に、ソフトウェアでレンジングの処理を行うＯＮＵの構成及びと処理を説明する。図４は、本実施形態によるＯＮＵ５の構成を示すブロック図である。ＯＮＵ５は、ＩＦボード６と、汎用プロセッサ７とを備える。
【００３９】
ＩＦボード６は、ハードウェアのデータ通信部である。ＩＦボード６は、下り転送部６１及び上り転送部６２を有する。下り転送部６１は、ＯＬＴ１が下り通信を行う時間帯において、周期的に下りの光信号を受信し、電気信号に変換して汎用プロセッサ７に転送する。上り転送部６２は、汎用プロセッサ７が生成した上り信号のフレームを電気信号から光信号に変換し、当該ＯＮＵ５が上り通信を行う時間帯において周期的にＯＬＴ１に転送する。
【００４０】
汎用プロセッサ７は、ＣＰＵ、ＧＰＵ等である。汎用プロセッサ７は、ソフトウェアにより物理層処理部７１及び上位層処理部７３の機能を実現する。
【００４１】
物理層処理部７１は、復号化処理部７１１及び符号化処理部７１２を有する。復号化処理部７１１は、下り転送部６１から転送された下り信号のデータに復号化処理を行う。復号化処理部７１１は、復号化対象のデータを一時的に記憶するバッファ７２１を有する。なお、バッファ７２１を復号化処理部７１１の外部に備えてもよい。符号化処理部７１２は、上り信号のフレームを一時的に記憶するバッファ７２２を有する。符号化処理部７１２は、上位層処理部７３が生成した上り信号のフレームに符号化処理を行って、上り転送部６２に出力する。符号化処理部７１２は、上り信号のフレームを一時的に記憶するバッファ７２２を有する。なお、バッファ７２２を符号化処理部７１２の外部に備えてもよい。
【００４２】
上位層処理部７３は、Ｔ３算出部７３１及びフレーム生成部７３２を有する。Ｔ３算出部７３１は、ＯＮＵ５における処理時間Ｔ３を算出する。処理時間Ｔ３は、ＧＡＴＥフレームの受信からＲＥＰＯＲＴフレームの送信までの処理にかかった時間である。フレーム生成部７３２は、Ｔ３算出部７３１が算出した処理時間Ｔ３を設定したＲＥＰＯＲＴフレームを生成し、符号化処理部７１２へ出力する。
【００４３】
図５は、ＯＮＵ５がＧＡＴＥフレーム受信後に、ＲＥＰＯＲＴフレームの生成を行う際のバッファ７２１、７２２の状態を示す図である。図５（ａ）はバッファ７２１に記憶される下り信号のデータ（連続信号）を示し、図５（ｂ）はバッファ７２２に記憶される上り信号のデータ（連続信号）を示す。なお、バッファ７２１、７２２には、逐次新しいデータが書き込まれる。
【００４４】
ＯＮＵ５の下り転送部６１は、ＯＬＴ１から下りの光信号を受信し、電気信号に変換して汎用プロセッサ７に転送する。復号化処理部７１１は、下り転送部６１から転送されたデータをバッファ７２１に書き込み、復号化処理を行う。復号化処理部７１１は、基準となる時刻（タイミング）時間からｎ回目の周期の連続信号受信においてＧＡＴＥフレームを検出する。復号化処理部７１１は、復号されたＧＡＴＥフレームと、ＧＡＴＥフレームを受信した転送周期の回数ｎと、ＧＡＴＥフレームを受信した際の転送周期の先頭位置からずれである同期位置ｌとをＴ３算出７３１に出力する。Ｔ３算出７３１は、ｎ回目の転送周期においてＧＡＴＥフレームを受信後、送信回数ｎ’回目の転送周期の先頭でＲＥＰＯＲＴフレームを出力する場合、下記の式（４）により処理時間Ｔ３を算出する。
【００４５】
【数４】
2020068491.tif 000006
【００４６】
下り転送部６１の周期と上り転送部６２の周期とに一定の時間差があり、下りと上りで基準となる時刻が異なる場合、Ｔ３算出７３１は、それら基準となる時刻の時間差を式（４）の算出結果に加える。その後、フレーム生成部７３２は、処理時間Ｔ３を付与したＲＥＰＯＲＴフレームを生成し、物理層処理部７１に出力する。あるいは、フレーム生成部７３２は、ＧＡＴＥフレームから取得した時刻Ｔ１に処理時間Ｔ３を加算した時刻Ｔ４を付与したＲＥＰＯＲＴフレームを生成し、物理層処理部７１に出力する。物理層処理部７１の符号化処理部７１２は、生成されたＲＥＰＯＲＴフレームに符号化処理を行う。上り転送部６２は、ＲＥＰＯＲＴフレームを光信号に変換し、ｎ’回目の転送周期の先頭でＯＬＴ１に転送する。
【００４７】
上記のように、本実施形態のＯＬＴ１は、ハードウェア制御で光信号を送受信し、一定周期のハードウェアからＣＰＵへの割り込みの回数に基づいて、クロックから直接時刻を取得せずに、ソフトウェアの演算によりＴ１及びＴ２を取得する。また、ＯＮＵ５は、ハードウェア制御で光信号を送受信し、一定周期のハードウェアからＣＰＵへの割り込みの回数に基づいて、クロックから直接時刻を取得せずに、ソフトウェアの演算によりＴ３を取得する。よって、レンジング処理をソフトウェア化することが可能となる。
【００４８】
上述した実施形態によれば、通信装置は、送信タイミング算出部と、送信部と、受信部と、受信タイミング算出部と、ラウンドトリップタイム算出部とを備える。送信タイミング算出部は、所定のタイミングから第一フレームを送信するまでの送信ビット数と、自通信装置におけるスループットとに基づいて、第一フレームの送信タイミングを算出する。例えば、送信タイミング算出部は、Ｔ１算出部２１１であり、第一フレームは、ＧＡＴＥフレームである。送信部は、フレーム生成部が生成した第一フレームを送信タイミングに外部装置に送信する。例えば、第一送信部は、下り転送部３１であり、外部装置は、ＯＮＵである。受信部は、送信部が送信した第一フレームに応じて外部装置から第二フレームを受信する。例えば、受信部は、上り転送部３２であり、第二フレームは、ＲＥＰＯＲＴフレームである。受信タイミング算出部は、所定のタイミングから受信部が第二フレームを受信するまでの受信ビット数と、スループットとに基づいて第二フレームの受信タイミングを算出する。例えば、受信タイミング算出部は、Ｔ２算出部２１３である。ラウンドトリップタイム算出部は、外部装置において第一フレームの受信から第二フレームの送信までにかかった処理時間と、送信タイミング算出部が算出した送信タイミングと、受信タイミング算出部が算出した受信タイミングとを用いて、外部装置のラウンドトリップタイムを算出する。例えば、ラウンドトリップタイム算出部は、ＲＴＴ算出部２１４である。通信装置は、送信タイミング算出部が算出した送信タイミングを設定した第一フレームを生成するフレーム生成部をさらに備えてもよい。例えば、フレーム生成部は、フレーム生成部２１２である。また、ラウンドトリップタイム算出部は、第二フレームから外部装置における処理時間を取得してもよく、送信タイミングに外部装置における処理時間を加算した結果を取得してもよい。
【００４９】
これによれば、ＯＬＴ等の通信装置は、あるタイミングからの送信ビット数と、自装置のスループットとを用いて、自装置から送信するデータの送信時刻を算出し、当該データを設定したフレームに算出した送信時刻を挿入して伝送路に出力する。また、通信装置は、あるタイミングからの受信ビット数と、自装置のスループットとを用いて、受信したデータの受信時刻を算出する。通信装置は、この算出した送信時刻及び受信時刻を用いて、高精度でラウンドトリップタイムの測定を行うことができる。
【００５０】
また、上述した実施形態によれば、通信装置は、プロセッサと、インタフェース回路とを備える。例えば、通信装置は、ＯＬＴ１であり、プロセッサは、汎用プロセッサ２であり、インタフェース回路は、ＩＦボード３である。インタフェース回路は、プロセッサから出力されたデータを外部装置に所定の周期ごとに転送し、外部装置から所定の周期ごとに受信したデータをプロセッサに転送する。プロセッサは、送信タイミング算出部と、フレーム生成部と、バッファと、受信タイミング算出部と、ラウンドトリップタイム算出部とを備える。送信タイミング算出部は、所定のタイミングから第一フレームの送信までの周期の回数に基づいて第一フレームの送信タイミングを算出する。フレーム生成部は、第一フレームを生成してインタフェース回路に出力する。バッファは、インタフェース回路が受信したデータを所定の周期ごとに格納する。受信タイミング算出部は、所定のタイミングから、第一フレームに応じて外部装置から送信された第二フレームをインタフェース回路が受信するまでの周期の回数と、バッファにおける第二フレームを受信した周期の先頭の位置から第二フレームの格納位置までのずれとに基づいて第二フレームの受信タイミングを算出する。ラウンドトリップタイム算出部は、外部装置において第一フレームの受信から第二フレームの送信までにかかった処理時間と、送信タイミング算出部が算出した送信タイミングと、受信タイミング算出部が算出した受信タイミングとを用いて外部装置とのラウンドトリップタイムを算出する。
【００５１】
これによれば、加入者線端局装置（ＯＬＴ）等の通信装置は、ＣＰＵ／ＧＰＵ等の汎用プロセッサと、当該通信装置を構成する汎用ハードであるサーバに外部信号を転送するＩＦボードで構成され、ハードウェアであるＩＦボードは、汎用プロセッサが処理したデータを周期的に転送する。汎用プロセッサは、転送回数に基づいて、次にＧＡＴＥフレームを転送する時刻Ｔ１を算出し、ＲＥＰＯＲＴフレームを受信するまでの転送回数と、バッファ先頭から当該フレームが格納された位置までのビットずれとに基づいて、ＲＥＰＯＲＴフレームの受信時刻Ｔ２を算出する。汎用プロセッサは、算出した時刻Ｔ１及びＴ２を用いることによって、ラウンドトリップタイムの測定を高精度で行うことができる。
【００５２】
また、上述した実施形態によれば、通信装置は、プロセッサと、インタフェース回路とを備える。例えば、通信装置は、ＯＮＵ５であり、汎用プロセッサは、汎用プロセッサ７であり、インタフェース回路は、ＩＦボード６である。インタフェース回路は、外部装置から所定の周期ごとに受信したデータをプロセッサに転送し、プロセッサから出力されたデータを外部装置に所定の周期ごとに転送する。例えば、外部装置は、ＯＬＴ１である。汎用プロセッサは、バッファと、処理時間算出部と、フレーム生成部とを備える。バッファは、所定のタイミングから、インタフェース回路が第一フレームを受信するまでの周期の回数と、バッファにおける第一フレームを受信した周期の先頭の位置から第一フレームの格納位置までのずれと、所定のタイミングから第二フレームの送信までの周期の回数とに基づいて、第一フレームの受信から第二フレームの送信までの処理時間を算出する。フレーム生成部は、第一フレームの受信に応じて第二フレームを生成し、生成した第二フレームに処理時間算出部が算出した処理時間、又は、第一フレームから読み出した当該第一フレームの送信タイミングに算出した処理時間を加算した第二フレームの送信タイミングを設定してインタフェース回路に出力する。
【００５３】
これによれば、加入者線終端装置（ＯＮＵ）等の通信装置は、ＣＰＵ／ＧＰＵ等の汎用プロセッサと、外部信号をサーバに転送するＩＦボードで構成され、ハードウェアであるＩＦボードは、汎用プロセッサが処理したデータを周期的に転送する転送機能を有する。汎用プロセッサは、ＧＡＴＥフレームを受信するまでの転送回数と、バッファ先頭から当該ＧＡＴＥフレームが格納された位置までのビットずれと、ＲＥＰＯＲＴフレームを送信するまでの転送回数とに基づいて、ＯＮＵにおけるＧＡＴＥフレームの受信から、ＲＥＰＯＲＴフレームの生成処理後に、当該フレームを出力するまでの処理時間Ｔ３を高精度に算出することができる。
【００５４】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００５５】
ソフトウェアによる通信機能を実現する装置に利用可能である。
【符号の説明】
【００５６】
１…ＯＬＴ，  ２、７…汎用プロセッサ，  ３、６…ＩＦボード，  ５…ＯＮＵ，  ２１…上位層処理部，  ２２…物理層処理部，  ２１１…Ｔ１算出部，  ２１２…フレーム生成部，  ２１３…Ｔ２算出部，  ２１４…ＲＴＴ算出部，  ２２１…符号化処理部，  ２２２…復号化処理部，  ２３１、２３２…バッファ，  ３１…下り転送部，  ３２…上り転送部
【図１】
2020068491.tif 000007
【図２】
2020068491.tif 000008
【図３】
2020068491.tif 000009
【図４】
2020068491.tif 000010
【図５】
2020068491.tif 000011
【図６】
2020068491.tif 000012
【図７】
2020068491.tif 000013