(57)【要約】【課題】キューに格納された時間に応じたパケットの破棄を正確に行うこと。【解決手段】第１時刻生成部１２５および第２時刻生成部１２６は、第１時刻情報と第２時刻情報を生成し、マスタ装置１０からの時刻情報に基づいて第１時刻情報と第２時刻情報のいずれかの時刻補正を行う。タイムスタンプ・フラグ付与部１１２は、第１時刻情報と第２時刻情報のうち時刻補正が最後に行われた時刻情報と、その時刻情報を識別可能なフラグ情報と、をパケットに付与して主信号パケット蓄積部１１３に格納する。読み出し判定部１１４は、主信号パケット蓄積部１１３に格納されたパケットを読み出し、読み出したパケットに付与された時刻情報と、第１時刻情報と第２時刻情報のうちフラグ情報により識別される時刻情報と、の比較結果に応じてパケットを破棄する。【選択図】図１
2017220788.tif 000002
【特許請求の範囲】
【請求項１】
受信したパケットをキューに格納すると共に、前記キューに格納された時間に応じて前記パケットを破棄するパケット処理装置において、
第１時刻情報と第２時刻情報を生成し、他装置からの時刻情報に基づいて前記第１時刻情報と前記第２時刻情報のいずれかの時刻補正を行う生成部と、
前記キューに格納される前記パケットに対して、前記第１時刻情報と前記第２時刻情報のうち前記時刻補正が最後に行われたいずれかの時刻情報と、前記いずれかの時刻情報を識別可能なフラグ情報と、を付与し、前記時刻情報と前記フラグ情報とを付与したパケットをキューに格納する格納部と、
前記格納部によって前記キューに格納されたパケットを読み出し、読み出したパケットに付与された前記時刻情報と、前記第１時刻情報と前記第２時刻情報のうち前記読み出したパケットに付与された前記フラグ情報により識別される時刻情報と、の比較結果に応じて前記読み出したパケットを破棄する処理部と、
を備えることを特徴とするパケット処理装置。
【請求項２】
前記生成部は、前記処理部によって読み出されたパケットに付与された前記フラグ情報により識別される時刻情報が切り替わるごとに、前記第１時刻情報と前記第２時刻情報のうち前記時刻補正を行う時刻情報を切り替えることを特徴とする請求項１に記載のパケット処理装置。
【請求項３】
前記フラグ情報は、前記時刻補正が行われるごとに値が変化する情報であることを特徴とする請求項１または２に記載のパケット処理装置。
【請求項４】
受信したパケットをキューに格納すると共に、前記キューに格納された時間に応じて前記パケットを破棄するパケット処理方法において、
第１時刻情報と第２時刻情報を生成し、他装置からの時刻情報に基づいて前記第１時刻情報と前記第２時刻情報のいずれかの時刻補正を行い、
前記キューに格納される前記パケットに対して、前記第１時刻情報と前記第２時刻情報のうち前記時刻補正が最後に行われたいずれかの時刻情報と、前記いずれかの時刻情報を識別可能なフラグ情報と、を付与し、前記時刻情報と前記フラグ情報とを付与したパケットをキューに格納し、
前記キューに格納したパケットを読み出し、読み出したパケットに付与された前記時刻情報と、前記第１時刻情報と前記第２時刻情報のうち前記読み出したパケットに付与された前記フラグ情報により識別される時刻情報と、の比較結果に応じて前記読み出したパケットを破棄することを特徴とするパケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット処理装置およびパケット処理方法に関する。
【背景技術】
【０００２】
従来、装置間で時刻を同期させる技術が知られている。また、パケットネットワークを介して接続される装置間で周波数同期と時刻同期とを行う技術が知られている（たとえば、下記特許文献１参照。）。また、第１の時計および第２の時計の時刻を基準時計の基準時刻に修正する技術が知られている（たとえば、下記特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−０３４１５７号公報
【特許文献２】特開２００３−２７０３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、たとえばパケットがキューに格納されている間に時刻補正が行われると、キューに格納された時間に応じたパケットの破棄を正確に行うことができないという問題がある。
【０００５】
１つの側面では、本発明は、キューに格納された時間に応じたパケットの破棄を正確に行うことができるパケット処理装置およびパケット処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、受信したパケットをキューに格納すると共に、前記キューに格納された時間に応じて前記パケットを破棄する際に、第１時刻情報と第２時刻情報を生成し、他装置からの時刻情報に基づいて前記第１時刻情報と前記第２時刻情報のいずれかの時刻補正を行い、前記キューに格納される前記パケットに対して、前記第１時刻情報と前記第２時刻情報のうち前記時刻補正が最後に行われたいずれかの時刻情報と、前記いずれかの時刻情報を識別可能なフラグ情報と、を付与し、前記時刻情報と前記フラグ情報とを付与したパケットをキューに格納し、前記キューに格納したパケットを読み出し、読み出したパケットに付与された前記時刻情報と、前記第１時刻情報と前記第２時刻情報のうち前記読み出したパケットに付与された前記フラグ情報により識別される時刻情報と、の比較結果に応じて前記読み出したパケットを破棄するパケット処理装置およびパケット処理方法が提案される。
【発明の効果】
【０００７】
本発明の一側面によれば、キューに格納された時間に応じたパケットの破棄を正確に行うことができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態にかかるパケット処理装置の一例を示す図である。
【図２】図２は、実施の形態にかかるパケット処理装置を適用可能な通信システムの一例を示す図である。
【図３】図３は、実施の形態にかかるパケット処理装置とマスタ装置との間の時刻ズレの一例を示す図である。
【図４】図４は、実施の形態にかかるパケット処理装置による時刻補正の一例を示す図である。
【図５】図５は、実施の形態にかかる読み出し判定部による処理の一例を示すフローチャートである。
【図６】図６は、実施の形態にかかる第１時刻生成部による処理の一例を示すフローチャートである。
【図７】図７は、実施の形態にかかる第２時刻生成部による処理の一例を示すフローチャートである。
【図８】図８は、実施の形態にかかる付与部セレクタによる処理の一例を示すフローチャートである。
【図９】図９は、実施の形態にかかる判定部セレクタによる処理の一例を示すフローチャートである。
【図１０】図１０は、実施の形態にかかるパケット処理装置の第１状態を示す図である。
【図１１】図１１は、実施の形態にかかるパケット処理装置の第２状態を示す図である。
【図１２】図１２は、実施の形態にかかるパケット処理装置の第３状態を示す図である。
【図１３】図１３は、実施の形態にかかる付与部セレクタが時刻情報に付与する補正フラグの一例を示す図である。
【図１４】図１４は、実施の形態にかかる付与部セレクタが時刻情報に付与する補正フラグの他の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に図面を参照して、本発明にかかるパケット処理装置およびパケット処理方法の実施の形態を詳細に説明する。
【００１０】
（実施の形態）
（実施の形態にかかるパケット処理装置）
図１は、実施の形態にかかるパケット処理装置の一例を示す図である。図１に示すように、実施の形態にかかるパケット処理装置１００は、主信号処理部１１０と、時刻管理部１２０と、を備える。また、パケット処理装置１００は、マスタ装置１０をマスタとし、自装置をスレーブとして時刻同期を行う。主信号処理部１１０および時刻管理部１２０は、たとえばＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのデジタル回路により実現することができる。
【００１１】
主信号処理部１１０は、他の装置から主信号パケットを受信し、受信した主信号パケットを一時的に格納し、格納した主信号パケットを読み出して他の装置へ送信する処理部である。たとえば、主信号処理部１１０は、主信号パケット受信部１１１と、タイムスタンプ・フラグ付与部１１２と、主信号パケット蓄積部１１３と、読み出し判定部１１４と、主信号パケット送信部１１５と、を備える。
【００１２】
主信号パケット受信部１１１は、他の装置から送信された主信号のパケット（主信号パケット）を受信する。そして、主信号パケット受信部１１１は、受信した主信号パケットをタイムスタンプ・フラグ付与部１１２へ出力する。
【００１３】
タイムスタンプ・フラグ付与部１１２は、主信号パケット受信部１１１から出力された主信号パケットに、その時点で時刻管理部１２０の付与部セレクタ１２７から出力された時刻情報および補正フラグをタイムスタンプとして付与する。付与部セレクタ１２７から出力される時刻情報および補正フラグについては後述する。タイムスタンプ・フラグ付与部１１２は、時刻情報および補正フラグを付与した主信号パケットを主信号パケット蓄積部１１３へ出力する。
【００１４】
主信号パケット蓄積部１１３は、主信号パケットを一時的に格納するＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ：先入れ先出し）のキュー（バッファ）である。すなわち、主信号パケット蓄積部１１３は、タイムスタンプ・フラグ付与部１１２から出力された主信号パケットを蓄積する。そして、主信号パケット蓄積部１１３は、読み出し判定部１１４からデキュー（読み出し指示）が出力されると、蓄積された主信号パケットのうち最も古い主信号パケットを読み出して読み出し判定部１１４へ出力する。また、主信号パケット蓄積部１１３は、読み出し判定部１１４へ出力する主信号パケットを時刻管理部１２０にも出力する。
【００１５】
読み出し判定部１１４は、主信号パケット蓄積部１１３に対してデキュー（読み出し指示）を出力することにより主信号パケット蓄積部１１３から出力される主信号パケットを取得する。また、読み出し判定部１１４は、取得した主信号パケットに付与された時刻情報と、その時点で時刻管理部１２０の判定部セレクタ１２８から出力される時刻情報と、を比較する。そして、読み出し判定部１１４は、比較結果に基づいて、取得した主信号パケットを主信号パケット送信部１１５へ出力し、または破棄する。
【００１６】
たとえば、読み出し判定部１１４は、主信号パケットに付与された時刻情報と、判定部セレクタ１２８からの時刻情報と、が示す各時刻の差（たとえば絶対値）が閾値以上か否かを判断する。そして、読み出し判定部１１４は、差が閾値未満であればその主信号パケットを主信号パケット送信部１１５へ出力し、差が閾値以上であればその主信号パケットを破棄する。
【００１７】
主信号パケット送信部１１５は、読み出し判定部１１４から出力された主信号パケットを他の装置へ送信する。このように、主信号処理部１１０は、他の装置から主信号パケットを受信し、受信した主信号パケットを一時的に格納する。また、主信号処理部１１０は、格納した主信号パケットを読み出し、読み出した主信号パケットを、格納した時間に応じて、他の装置へ送信し、または破棄する。
【００１８】
時刻管理部１２０は、パケット処理装置１００における時刻を管理する。たとえば、時刻管理部１２０は、マスタ基準時刻パケット受信部１２１と、応答パケット送信部１２２と、マスタ基準時刻抽出部１２３と、ローカル時刻生成部１２４と、を備える。
【００１９】
マスタ基準時刻パケット受信部１２１は、マスタ装置１０から定期的（周期的）に送信されるマスタ基準時刻パケットを受信し、受信したマスタ基準時刻パケットをマスタ基準時刻抽出部１２３へ出力する。マスタ基準時刻パケットは、たとえばＰＴＰパケットである。ＰＴＰはＰｒｅｃｉｓｉｏｎ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ（高精度時間プロトコル）の略である。また、マスタ基準時刻パケット受信部１２１は、受信したマスタ基準時刻パケットに対する応答パケット（Ａｃｋ）を応答パケット送信部１２２へ出力する。応答パケット送信部１２２は、マスタ基準時刻パケット受信部１２１から出力された応答パケットをマスタ装置１０へ送信する。
【００２０】
マスタ基準時刻抽出部１２３は、マスタ基準時刻パケット受信部１２１から出力されたマスタ基準時刻パケットからマスタ基準時刻を抽出する。マスタ基準時刻は、マスタ装置１０における基準時刻、すなわちパケット処理装置１００における同期先の基準時刻である。マスタ基準時刻抽出部１２３は、抽出したマスタ基準時刻を示す時刻情報を含む補正情報をローカル時刻生成部１２４へ出力する。
【００２１】
また、マスタ基準時刻抽出部１２３は、マスタ基準時刻パケット受信部１２１によってマスタ基準時刻パケットが受信されるごとに、受信されたマスタ基準時刻パケットに基づく補正情報をローカル時刻生成部１２４へ出力する。すなわち、マスタ基準時刻抽出部１２３は、マスタ装置１０における基準時刻を示す補正情報を定期的にローカル時刻生成部１２４へ出力する。
【００２２】
ローカル時刻生成部１２４は、第１時刻生成部１２５と、第２時刻生成部１２６と、付与部セレクタ１２７と、判定部セレクタ１２８と、補正フラグ抽出部１２９と、系情報記憶部１３０と、を備えるＲＴＣである。ＲＴＣはＲｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ（リアルタイムクロック）の略である。
【００２３】
第１時刻生成部１２５および第２時刻生成部１２６のそれぞれは、それぞれ基準時間に基づく現在時刻を示す時刻情報を生成し、生成した時刻情報を付与部セレクタ１２７および判定部セレクタ１２８へ出力する。また、第１時刻生成部１２５および第２時刻生成部１２６は、一方が運用系に設定され、他方が補正系（調整系）に設定される。そして、第１時刻生成部１２５および第２時刻生成部１２６は、補正フラグ抽出部１２９から出力される補正フラグが“１”になるごとに運用系と補正系が交互に切り替わる。
【００２４】
たとえば、初期状態において、第１時刻生成部１２５を運用系に設定し、第２時刻生成部１２６を補正系に設定する。この場合に、補正フラグ抽出部１２９から出力される補正フラグが最初に“１”になると、第１時刻生成部１２５が補正系になり第２時刻生成部１２６が運用系になる。補正フラグ抽出部１２９から出力される補正フラグがつぎに“１”になると、第１時刻生成部１２５が運用系になり第２時刻生成部１２６が補正系になる。
【００２５】
また、第１時刻生成部１２５および第２時刻生成部１２６のそれぞれは、自身が補正系である場合には、マスタ基準時刻抽出部１２３から出力された補正情報に基づいて基準時刻を補正する。また、第１時刻生成部１２５および第２時刻生成部１２６のそれぞれは、自身が運用系である場合には、マスタ基準時刻抽出部１２３から補正情報が出力されても基準時刻を補正しない。
【００２６】
付与部セレクタ１２７（付与部ＳＥＬ）は、第１時刻生成部１２５および第２時刻生成部１２６から出力された各時刻情報のうちいずれの時刻情報をタイムスタンプ・フラグ付与部１１２へ出力する。また、付与部セレクタ１２７は、第１時刻生成部１２５から出力された時刻情報を出力する状態と、第２時刻生成部１２６から出力された時刻情報を出力する状態と、を交互に切り替え可能である。
【００２７】
そして、付与部セレクタ１２７は、マスタ基準時刻抽出部１２３から補正情報が出力されるごとに、系情報記憶部１３０に記憶された系情報に基づいて、第１時刻生成部１２５および第２時刻生成部１２６のいずれが補正系であるかを特定する。そして、付与部セレクタ１２７は、特定した補正系の時刻生成部からの時刻情報をタイムスタンプ・フラグ付与部１１２へ切り替える状態に切り替える。
【００２８】
また、付与部セレクタ１２７は、タイムスタンプ・フラグ付与部１１２へ出力する時刻情報に補正フラグを付与する。そして、付与部セレクタ１２７は、マスタ基準時刻抽出部１２３から補正情報が出力されたタイミングにおいて出力する補正フラグを“１”にし、それ以外のタイミングにおいて出力する補正フラグを“０”にする。
【００２９】
判定部セレクタ１２８（判定部ＳＥＬ）は、第１時刻生成部１２５および第２時刻生成部１２６から出力された各時刻情報のうちいずれの時刻情報を読み出し判定部１１４へ出力する。判定部セレクタ１２８（判定部ＳＥＬ）は、第１時刻生成部１２５から出力された時刻情報を出力する状態と、第２時刻生成部１２６から出力された時刻情報を出力する状態と、を交互に切り替え可能である。
【００３０】
そして、判定部セレクタ１２８は、補正フラグ抽出部１２９から出力される補正フラグが“１”になるごとに、系情報記憶部１３０に記憶された系情報を反転（トグル）させる。これにより、系情報記憶部１３０に記憶された系情報が示す運用系および補正系が入れ替わる。そして、判定部セレクタ１２８は、第１時刻生成部１２５および第２時刻生成部１２６のうち、反転（トグル）させた系情報が示す運用系の時刻生成部からの時刻情報を読み出し判定部１１４へ切り替える状態に切り替える。
【００３１】
補正フラグ抽出部１２９は、主信号パケット蓄積部１１３から読み出されて出力される主信号パケットに付与された補正フラグを抽出する。そして、補正フラグ抽出部１２９は、抽出した補正フラグを第１時刻生成部１２５、第２時刻生成部１２６および判定部セレクタ１２８へ出力する。
【００３２】
系情報記憶部１３０は、第１時刻生成部１２５および第２時刻生成部１２６のうちのいずれが運用系でいずれが補正系であるかを示す系情報を記憶する。たとえば、系情報記憶部１３０が記憶する系情報が“１”である場合は、第１時刻生成部１２５が運用系であり第２時刻生成部１２６が補正系であることを示す。また、系情報記憶部１３０が記憶する系情報が“０”である場合は、第１時刻生成部１２５が補正系であり第２時刻生成部１２６が運用系であることを示す。
【００３３】
第１時刻情報と第２時刻情報を生成し、他装置（マスタ装置１０）からの時刻情報に基づいて第１時刻情報と第２時刻情報のいずれかの時刻補正を行う生成部は、たとえば第１時刻生成部１２５および第２時刻生成部１２６により実現することができる。時刻情報とその時刻情報を識別可能なフラグ情報とをパケットに付与してキューに格納する格納部は、たとえばタイムスタンプ・フラグ付与部１１２および付与部セレクタ１２７により実現することができる。キューに格納されたパケットを読み出し、読み出したパケットを破棄する処理を行う処理部は、たとえば読み出し判定部１１４および判定部セレクタ１２８により実現することができる。
【００３４】
（実施の形態にかかるパケット処理装置を適用可能な通信システム）
図２は、実施の形態にかかるパケット処理装置を適用可能な通信システムの一例を示す図である。図２に示す通信システム２００は、たとえば、マスタ装置１０と、スレーブ装置２１１〜２１３と、を備える。
【００３５】
マスタ装置１０は、通信システム２００における基準時刻を計時するマスタ時計１１を有する。そして、パケット処理装置１００は、マスタ時計１１により得られた基準時刻を示すマスタ基準時刻パケットをスレーブ装置２１１〜２１３へ送信する。スレーブ装置２１１〜２１３のそれぞれは、マスタ装置１０から受信したマスタ基準時刻パケットに基づいて自装置のＲＴＣを補正し、補正したＲＴＣの時刻に基づく処理を行う。
【００３６】
図２に示すパケット処理装置１００およびスレーブ装置２１１〜２１３は互いにリング状に接続されているが、パケット処理装置１００およびスレーブ装置２１１〜２１３の接続形態はこれに限らず各種の接続形態とすることができる。
【００３７】
また、スレーブ装置２１１にはスレーブ装置２２１，２２２が接続されていてもよい。スレーブ装置２２１，２２２は、スレーブ装置２１１を介してパケット処理装置１００からのマスタ基準時刻パケットを受信して自装置のＲＴＣを補正し、補正したＲＴＣの時刻に基づく処理を行う。
【００３８】
図１に示したパケット処理装置１００は、たとえばスレーブ装置２１１〜２１３，２２１，２２２の少なくともいずれかに適用することができる。
【００３９】
（実施の形態にかかるパケット処理装置とマスタ装置との間の時刻ズレ）
図３は、実施の形態にかかるパケット処理装置とマスタ装置との間の時刻ズレの一例を示す図である。図３において、横方向は時間を示す。タイミングパルス３１１〜３１６は、マスタ装置１０における基準時間に基づくタイミングを示すパルスである。タイミングパルス３２１〜３２６は、パケット処理装置１００における基準時間（補正系）に基づくタイミングを示すパルスである。
【００４０】
図３に示す例では、マスタ装置１０の基準時刻に対してパケット処理装置１００の基準時刻が徐々に進む状態について説明する。たとえば、時期３０１においては、パケット処理装置１００のタイミングパルス３２１がマスタ装置１０のタイミングパルス３１１より早くなっている。しかし、マスタ装置１０からパケット処理装置１００へマスタ基準時刻パケットが送信されないため、パケット処理装置１００の時刻は補正されない。
【００４１】
つぎに、時刻３０２においては、マスタ装置１０からパケット処理装置１００へマスタ基準時刻パケット３３１が送信される。パケット処理装置１００は、マスタ基準時刻パケット３３１に基づいて自装置の基準時間（補正系）を補正する。これにより、パケット処理装置１００のタイミングパルス３２２がマスタ装置１０のタイミングパルス３１２と同期する。応答パケット３４１は、マスタ基準時刻パケット３３１に対するパケット処理装置１００からマスタ装置１０への応答パケットである。
【００４２】
つぎに、時期３０３においては、パケット処理装置１００のタイミングパルス３２３が、マスタ装置１０のタイミングパルス３１３より早くなっている。しかし、マスタ装置１０からパケット処理装置１００へマスタ基準時刻パケットが送信されないため、パケット処理装置１００の時刻は補正されない。
【００４３】
つぎに、時刻３０４においては、マスタ装置１０からパケット処理装置１００へマスタ基準時刻パケット３３２が送信される。パケット処理装置１００は、マスタ基準時刻パケット３３２に基づいて自装置の基準時間（補正系）を補正する。これにより、パケット処理装置１００のタイミングパルス３２４がマスタ装置１０のタイミングパルス３１４と同期する。応答パケット３４２は、マスタ基準時刻パケット３３２に対するパケット処理装置１００からマスタ装置１０への応答パケットである。
【００４４】
つぎに、時期３０５においては、パケット処理装置１００のタイミングパルス３２５が、マスタ装置１０のタイミングパルス３１５より早くなっている。しかし、マスタ装置１０からパケット処理装置１００へマスタ基準時刻パケットが送信されないため、パケット処理装置１００の時刻は補正されない。
【００４５】
つぎに、時刻３０６においては、マスタ装置１０からパケット処理装置１００へマスタ基準時刻パケット３３３が送信される。パケット処理装置１００は、マスタ基準時刻パケット３３３に基づいて自装置の基準時間（補正系）を補正する。これにより、パケット処理装置１００のタイミングパルス３２６がマスタ装置１０のタイミングパルス３１６と同期する。応答パケット３４３は、マスタ基準時刻パケット３３３に対するパケット処理装置１００からマスタ装置１０への応答パケットである。
【００４６】
（実施の形態にかかるパケット処理装置による時刻補正）
図４は、実施の形態にかかるパケット処理装置による時刻補正の一例を示す図である。図４において、横軸は時間を示す。時刻ズレ４０１は、マスタ装置１０の基準時刻に対するパケット処理装置１００の基準時刻（補正系）のズレを示す。タイミングｔ１〜ｔ３は、マスタ装置１０からパケット処理装置１００へマスタ基準時刻パケットが送信される定期的なタイミングである。
【００４７】
図４に示すように、タイミングｔ１〜ｔ３において時刻ズレ４０１はほぼゼロになり、タイミングｔ１〜ｔ３以外のタイミングにおいて時刻ズレ４０１は徐々に増加する。このように、マスタ装置１０からパケット処理装置１００（スレーブ装置）に対してマスタ基準時刻パケットを配信してから次にマスタ基準時刻パケットを配信するまでの間に、パケット処理装置１００（スレーブ装置）において時刻の差分（ズレ）が発生する。
【００４８】
仮に、マスタ装置１０からのマスタ基準時刻パケットに基づいて補正される基準時刻（補正系）のみに基づいて読み出し判定部１１４における判定を行うとする。この場合に、パケットが主信号パケット蓄積部１１３に格納されている間に時刻補正が行われると、そのパケットに付与された時刻情報は時刻補正前を基準とする時刻情報であり、そのパケットを読み出した時刻は時刻補正後を基準とする時刻となる。このため、そのパケットが主信号パケット蓄積部１１３に格納された時間を正確に算出することができない。このため、主信号パケット蓄積部１１３に格納された時間に応じたパケットの破棄を正確に行うことができない。
【００４９】
たとえば、主信号パケット蓄積部１１３に格納された時間が閾値未満であるパケットについて、主信号パケット蓄積部１１３に格納された時間が閾値以上であると誤判定してしまう場合がある。この場合は、読み出し判定部１１４において、本来は破棄すべきでないパケットを破棄することになる。
【００５０】
または、主信号パケット蓄積部１１３に格納された時間が閾値以上であるパケットについて、主信号パケット蓄積部１１３に格納された時間が閾値未満であると誤判定してしまう場合も有り得る。この場合は、読み出し判定部１１４において、本来は破棄すべきパケットを破棄しないことになる。
【００５１】
このように、マスタ装置１０からのマスタ基準時刻パケットに基づいてローカル時刻を補正する際に、補正前の時刻と補正後の時刻のズレが一定値を超えると、時刻補正前後の処理に時間的矛盾が生じる。このような時間的矛盾は、たとえば上述のパケットの廃棄の有無の判断の誤りなど、パケットのタイムスタンプ時刻ズレによるパケット処理ミスを招く要因となる。これを解決するために、たとえばパケットが蓄積されていない状態のときに、時刻を補正する方法が考えられるが、高負荷なネットワークにおいてはパケットの蓄積が０にはならず、いつまでも時刻補正ができない場合がある。
【００５２】
これに対して、パケット処理装置１００においては、主信号パケット蓄積部１１３に入れるパケットに時刻情報とその時刻情報を識別可能な補正フラグとを付与し、主信号パケット蓄積部１１３からパケットを出した時刻をフラグに基づいて取得することができる。これにより、パケットが主信号パケット蓄積部１１３に格納された時間を正確に算出し、パケットが主信号パケット蓄積部１１３に格納された時間に応じたパケットの破棄を正確に行うことができる。
【００５３】
（実施の形態にかかる読み出し判定部による処理）
図５は、実施の形態にかかる読み出し判定部による処理の一例を示すフローチャートである。実施の形態にかかる主信号処理部１１０の読み出し判定部１１４は、たとえば図５に示す各ステップを実行する。まず、読み出し判定部１１４は、主信号パケット蓄積部１１３へデキューを出力することにより主信号パケット蓄積部１１３から主信号パケットを読み出す（ステップＳ５０１）。
【００５４】
また、読み出し判定部１１４は、判定部セレクタ１２８からの現在の時刻情報を取得する（ステップＳ５０２）。つぎに、読み出し判定部１１４は、ステップＳ５０１によって読み出した主信号パケットの時刻情報と、ステップＳ５０２によって取得した判定部セレクタ１２８からの現在の時刻情報と、の差分が閾値未満であるか否かを判断する（ステップＳ５０３）。各時刻情報の差分は、たとえば各時刻情報の差の絶対値である。ただし、各時刻情報の差分は、各時刻情報の大小関係に応じた正負の差であってもよい。
【００５５】
ステップＳ５０３において、差分が閾値未満である場合（ステップＳ５０３：Ｙｅｓ）は、読み出し判定部１１４は、ステップＳ５０１によって読み出した主信号パケットを主信号パケット送信部１１５へ出力し（ステップＳ５０４）、ステップＳ５０１へ戻る。差分が閾値以上である場合（ステップＳ５０３：Ｎｏ）は、読み出し判定部１１４は、ステップＳ５０１によって読み出した主信号パケットを主信号パケット送信部１１５へ出力せずに破棄し（ステップＳ５０５）、ステップＳ５０１へ戻る。
【００５６】
（実施の形態にかかる第１時刻生成部による処理）
図６は、実施の形態にかかる第１時刻生成部による処理の一例を示すフローチャートである。実施の形態にかかる時刻管理部１２０の第１時刻生成部１２５は、生成した時刻情報を付与部セレクタ１２７および判定部セレクタ１２８へ出力しつつ、たとえば図６に示す各ステップを実行する。まず、第１時刻生成部１２５は、初期状態として自身を運用系に設定する（ステップＳ６０１）。
【００５７】
つぎに、第１時刻生成部１２５は、マスタ基準時刻抽出部１２３から補正情報が入力されたか否かを判断する（ステップＳ６０２）。補正情報が入力されていない場合（ステップＳ６０２：Ｎｏ）は、第１時刻生成部１２５は、ステップＳ６０５へ移行する。補正情報が入力された場合（ステップＳ６０２：Ｙｅｓ）は、第１時刻生成部１２５は、自身が補正系であるか否かを判断する（ステップＳ６０３）。
【００５８】
ステップＳ６０３において、自身が補正系でない場合（ステップＳ６０３：Ｎｏ）は、第１時刻生成部１２５は、ステップＳ６０５へ移行する。自身が補正系である場合（ステップＳ６０３：Ｙｅｓ）は、第１時刻生成部１２５は、自身が生成する時刻情報を、ステップＳ６０２において入力された補正情報に基づいて補正する（ステップＳ６０４）。
【００５９】
つぎに、第１時刻生成部１２５は、補正フラグ抽出部１２９から出力される補正フラグが“１”であるか否かを判断する（ステップＳ６０５）。補正フラグが“１”でない場合（ステップＳ６０５：Ｎｏ）は、第１時刻生成部１２５は、ステップＳ６０２へ戻る。
【００６０】
ステップＳ６０５において、補正フラグが“１”である場合（ステップＳ６０５：Ｙｅｓ）は、第１時刻生成部１２５は、自身の運用系と補正系との切り替え（トグル）を行い（ステップＳ６０６）、ステップＳ６０２へ戻る。ステップＳ６０６において、第１時刻生成部１２５は、たとえば、自身が運用系であった場合は自身を補正系に切り替え、自身が補正系であった場合は自身を運用系に切り替える。
【００６１】
（実施の形態にかかる第２時刻生成部による処理）
図７は、実施の形態にかかる第２時刻生成部による処理の一例を示すフローチャートである。実施の形態にかかる時刻管理部１２０の第２時刻生成部１２６は、生成した時刻情報を付与部セレクタ１２７および判定部セレクタ１２８へ出力しつつ、たとえば図７に示す各ステップを実行する。まず、第２時刻生成部１２６は、初期状態として自身を補正系に設定し（ステップＳ７０１）、ステップＳ７０２へ移行する。図７に示すステップＳ７０２〜Ｓ７０６は、図６に示したステップＳ６０２〜Ｓ６０６と同様である。
【００６２】
（実施の形態にかかる付与部セレクタによる処理）
図８は、実施の形態にかかる付与部セレクタによる処理の一例を示すフローチャートである。実施の形態にかかる時刻管理部１２０の付与部セレクタ１２７は、第１時刻生成部１２５または第２時刻生成部１２６からの時刻情報に補正フラグを付与してタイムスタンプ・フラグ付与部１１２へ出力しつつ、たとえば図８に示す各ステップを実行する。
【００６３】
まず、付与部セレクタ１２７は、自身の初期状態として、第１時刻生成部１２５からの時刻情報をタイムスタンプ・フラグ付与部１１２へ出力する状態に設定する（ステップＳ８０１）。つぎに、付与部セレクタ１２７は、マスタ基準時刻抽出部１２３から補正情報が入力されたか否かを判断し（ステップＳ８０２）、補正情報が入力されるまで待つ（ステップＳ８０２：Ｎｏのループ）。
【００６４】
ステップＳ８０２において、補正情報が入力されると（ステップＳ８０２：Ｙｅｓ）、付与部セレクタ１２７は、系情報記憶部１３０の系情報が“０”であるか否かを判断する（ステップＳ８０３）。系情報が“０”である場合（ステップＳ８０３：Ｙｅｓ）は、第１時刻生成部１２５が補正系であり第２時刻生成部１２６が運用系であると判断することができる。この場合は、付与部セレクタ１２７は、第１時刻生成部１２５からの時刻情報をタイムスタンプ・フラグ付与部１１２へ出力する状態に自身を切り替える。また、付与部セレクタ１２７は、その時点で時刻情報に付与する補正フラグを“１”に設定し（ステップＳ８０４）、ステップＳ８０２へ戻る。
【００６５】
ステップＳ８０３において、系情報が“０”でない場合（ステップＳ８０３：Ｎｏ）は、第１時刻生成部１２５が運用系であり第２時刻生成部１２６が補正系であると判断することができる。この場合は、付与部セレクタ１２７は、第２時刻生成部１２６からの時刻情報をタイムスタンプ・フラグ付与部１１２へ出力する状態に自身を切り替える。また、付与部セレクタ１２７は、その時点で時刻情報に付与する補正フラグを“１”に設定し（ステップＳ８０５）、ステップＳ８０２へ戻る。
【００６６】
また、付与部セレクタ１２７は、ステップＳ８０４，Ｓ８０５において補正フラグを“１”に設定する場合以外の場合は、タイムスタンプ・フラグ付与部１１２へ出力する時刻情報に付与する補正フラグを“０”に設定する。
【００６７】
図８に示した各ステップにより、付与部セレクタ１２７は、第１時刻生成部１２５および第２時刻生成部１２６によって生成された各時刻情報のうちの時刻補正が最後に行われた時刻情報をタイムスタンプ・フラグ付与部１１２へ出力することができる。また、付与部セレクタ１２７は、時刻補正が行われた時点の時刻情報に付与する補正フラグを“１”に設定し、それ以外の補正フラグを“０”にすることができる。この補正フラグにより、付与部セレクタ１２７において主信号パケットに付与される時刻情報が、第１時刻生成部１２５および第２時刻生成部１２６のいずれから出力された時刻情報であるかを識別することが可能になる。
【００６８】
（実施の形態にかかる判定部セレクタによる処理）
図９は、実施の形態にかかる判定部セレクタによる処理の一例を示すフローチャートである。実施の形態にかかる時刻管理部１２０の判定部セレクタ１２８は、第１時刻生成部１２５または第２時刻生成部１２６からの時刻情報を読み出し判定部１１４へ出力しつつ、たとえば図９に示す各ステップを実行する。
【００６９】
まず、判定部セレクタ１２８は、自身の初期状態として、第１時刻生成部１２５からの時刻情報を読み出し判定部１１４へ出力する状態に設定する（ステップＳ９０１）。つぎに、判定部セレクタ１２８は、補正フラグ抽出部１２９から出力される補正フラグが“１”であるか否かを判断し（ステップＳ９０２）、補正フラグ抽出部１２９から出力される補正フラグが“１”になるまで待つ（ステップＳ９０２：Ｎｏのループ）。
【００７０】
ステップＳ９０２において、補正フラグ抽出部１２９から出力される補正フラグが“１”になると（ステップＳ９０２：Ｙｅｓ）、判定部セレクタ１２８は、系情報記憶部１３０に記憶された系情報を反転（トグル）させる（ステップＳ９０３）。たとえば、判定部セレクタ１２８は、系情報記憶部１３０の系情報が“１”である場合は系情報記憶部１３０の系情報を“０”にし、系情報記憶部１３０の系情報が“０”である場合は系情報記憶部１３０の系情報を“１”にする。
【００７１】
つぎに、判定部セレクタ１２８は、系情報記憶部１３０の系情報が“１”であるか否かを判断する（ステップＳ９０４）。系情報が“１”である場合（ステップＳ９０４：Ｙｅｓ）は、第１時刻生成部１２５が運用系であり第２時刻生成部１２６が補正系であると判断することができる。この場合は、判定部セレクタ１２８は、第１時刻生成部１２５からの時刻情報を読み出し判定部１１４へ出力する状態に自身を切り替え（ステップＳ９０５）、ステップＳ９０２へ戻る。
【００７２】
ステップＳ９０４において、系情報が“１”でない場合（ステップＳ９０４：Ｎｏ）は、第１時刻生成部１２５が補正系であり第２時刻生成部１２６が運用系であると判断することができる。この場合は、判定部セレクタ１２８は、第２時刻生成部１２６からの時刻情報を読み出し判定部１１４へ出力する状態に自身を切り替え（ステップＳ９０６）、ステップＳ９０２へ戻る。
【００７３】
図９に示した各ステップにより、時刻補正が行われるごとに、第１時刻生成部１２５および第２時刻生成部１２６により生成される各時刻情報のうち補正系の時刻情報を特定することができる。そして、主信号パケットに付与するために読み出し判定部１１４へ出力する時刻情報を、特定した時刻情報に切り替えることができる。
【００７４】
（実施の形態にかかるパケット処理装置の第１状態）
図１０は、実施の形態にかかるパケット処理装置の第１状態を示す図である。図１０において、図１に示した部分と同様の部分については同一の符号を付して説明を省略する。図１０においては、図１に示したパケット処理装置１００の構成のうちタイムスタンプ・フラグ付与部１１２、主信号パケット蓄積部１１３およびローカル時刻生成部１２４を図示している。また、図１０に示す例では、第１時刻生成部１２５が運用系に設定され、第２時刻生成部１２６が補正系に設定されている。
【００７５】
図１０に示す時刻情報１００１，１００２は、それぞれ第１時刻生成部１２５および第２時刻生成部１２６が生成する時刻情報である。図１０においては、時刻情報を“時間：分：秒”の形式により示している。たとえば“３：１２：２０”は３時１２分２０秒を示す。主信号パケット１０１１は、図１に示した主信号パケット受信部１１１からタイムスタンプ・フラグ付与部１１２へ出力される主信号パケットである。
【００７６】
付与部セレクタ１２７は、第１時刻生成部１２５および第２時刻生成部１２６のうち運用系である第１時刻生成部１２５から出力される時刻情報をタイムスタンプ・フラグ付与部１１２へ出力する。時刻情報１０２１は、付与部セレクタ１２７からタイムスタンプ・フラグ付与部１１２へ出力される時刻情報である。また、付与部セレクタ１２７は、タイムスタンプ・フラグ付与部１１２へ出力する時刻情報１０２１に補正フラグ１０３１を付与する。図１０に示す例では、付与部セレクタ１２７に補正情報が入力されていないため、時刻情報１０２１に付される補正フラグ１０３１は“０”になる。
【００７７】
主信号パケット１０１２は、主信号パケット受信部１１１からタイムスタンプ・フラグ付与部１１２へ入力された主信号パケットである。時刻情報１０２２および補正フラグ１０３２は、主信号パケット１０１２がタイムスタンプ・フラグ付与部１１２へ入力されたタイミングにおいて付与部セレクタ１２７からタイムスタンプ・フラグ付与部１１２へ入力された時刻情報および補正フラグである。
【００７８】
タイムスタンプ・フラグ付与部１１２は、主信号パケット１０１２にタイムスタンプとして時刻情報１０２２および補正フラグ１０３２を付与する。そして、タイムスタンプ・フラグ付与部１１２は、時刻情報１０２２および補正フラグ１０３２を付与した主信号パケット１０１２を主信号パケット蓄積部１１３へ出力する。主信号パケット１０１３、時刻情報１０２３および補正フラグ１０３３は、タイムスタンプ・フラグ付与部１１２から主信号パケット蓄積部１１３へ出力される主信号パケット、時刻情報および補正フラグである。
【００７９】
主信号パケット１０１４、時刻情報１０２４および補正フラグ１０３４は、主信号パケット蓄積部１１３に蓄積された主信号パケット、時刻情報および補正フラグである。図１０に示す例では、４組の主信号パケット１０１４、時刻情報１０２４および補正フラグ１０３４が主信号パケット蓄積部１１３に蓄積されている。
【００８０】
主信号パケット１０１４、時刻情報１０２４および補正フラグ１０３４は、主信号パケット蓄積部１１３に蓄積された順に読み出されて読み出し判定部１１４へ出力される。主信号パケット１０１５、時刻情報１０２５および補正フラグ１０３５は、主信号パケット蓄積部１１３から読み出されて読み出し判定部１１４へ出力される主信号パケット、時刻情報および補正フラグである。また、主信号パケット１０１５、時刻情報１０２５および補正フラグ１０３５は、補正フラグ抽出部１２９へも出力される。
【００８１】
補正フラグ抽出部１２９は、主信号パケット蓄積部１１３から出力された主信号パケット１０１５、時刻情報１０２５および補正フラグ１０３５から補正フラグ１０３５を抽出して判定部セレクタ１２８へ出力する。補正フラグ１０３６は、補正フラグ抽出部１２９から判定部セレクタ１２８へ出力される補正フラグである。図１０に示す例では補正フラグ１０３６は“０”である。
【００８２】
判定部セレクタ１２８は、第１時刻生成部１２５および第２時刻生成部１２６のうち運用系である第１時刻生成部１２５から出力される時刻情報を取得し、取得した時刻情報を読み出し判定部１１４へ出力する。時刻情報１０４１は、判定部セレクタ１２８から読み出し判定部１１４へ出力される時刻情報である。また、図１０に示す例では、判定部セレクタ１２８は、補正フラグ抽出部１２９から出力された補正フラグ１０３６が“０”であるため、第１時刻生成部１２５から出力される時刻情報を出力する状態を維持する。
【００８３】
主信号パケット１０１６は、主信号パケット蓄積部１１３から主信号パケット１０１４へ入力された主信号パケットである。時刻情報１０２６は、主信号パケット１０１６にタイムスタンプとして付与された時刻情報である。時刻情報１０４２は、主信号パケット１０１６が読み出し判定部１１４へ入力されたタイミングにおいて判定部セレクタ１２８から読み出し判定部１１４へ入力された時刻情報である。
【００８４】
読み出し判定部１１４は、時刻情報１０２６，１０４２を比較し、時刻情報１０２６，１０４２の差分が閾値未満である場合は主信号パケット１０１６を主信号パケット送信部１１５へ出力する。また、読み出し判定部１１４は、時刻情報１０２６，１０４２の差分が閾値以上である場合は主信号パケット１０１６を主信号パケット送信部１１５へ出力せずに主信号パケット１０１６を破棄する。
【００８５】
図１０に示す例では、時刻情報１０２６，１０４２はそれぞれ“３：１２：１３”と“３：１２：２０”であり、これらの差分は７秒である。また、閾値を１０秒とする。この場合は、時刻情報１０２６，１０４２の差分が閾値未満であるため、主信号パケット１０１６は図１に示した主信号パケット送信部１１５へ出力される。主信号パケット１０１７は、読み出し判定部１１４から主信号パケット送信部１１５へ出力される主信号パケットである。主信号パケット１０１７は、主信号パケット送信部１１５によって他の装置へ送信される。
【００８６】
（実施の形態にかかるパケット処理装置の第２状態）
図１１は、実施の形態にかかるパケット処理装置の第２状態を示す図である。図１１において、図１０に示した部分と同様の部分については同一の符号を付して説明を省略する。図１０に示した状態において、パケット処理装置１００がマスタ装置１０からマスタ基準時刻パケットを受信したとする。
【００８７】
この場合に、第１時刻生成部１２５および第２時刻生成部１２６のうちの補正系の第２時刻生成部１２６は、図１に示したマスタ基準時刻抽出部１２３から出力される補正情報に基づいて時刻補正を行う。また、付与部セレクタ１２７は、マスタ基準時刻抽出部１２３から出力される補正情報に基づいて、運用系の第１時刻生成部１２５からの時刻情報を出力する状態から、補正系の第２時刻生成部１２６からの時刻情報を出力する状態に切り替える。したがって、付与部セレクタ１２７からタイムスタンプ・フラグ付与部１１２へ出力される時刻情報１０２１は、第２時刻生成部１２６から出力された時刻補正後の時刻情報になる。また、時刻情報１０２１に付与された補正フラグ１０３１は“１”になる。
【００８８】
一方で、判定部セレクタ１２８は、補正フラグ抽出部１２９から出力される補正フラグ１０３６は“０”のままであるため、運用系の第１時刻生成部１２５からの時刻情報を出力する状態を維持する。図１１に示したように、パケット処理装置１００は、マスタ装置１０からマスタ基準時刻パケットを受信すると、第１時刻生成部１２５および第２時刻生成部１２６のうち補正系の時刻生成部のみで時刻補正を行う。
【００８９】
そして、パケット処理装置１００は、時刻補正を行った補正系の時刻生成部によって生成した時刻情報の主信号パケットへの付与を開始する。一方、パケット処理装置１００は、読み出し判定部１１４における読み出したパケットの判定については、時刻補正を行っていない運用系の時刻生成部によって生成した時刻情報を参照する。これにより、読み出し判定部１１４において、時刻補正前に主信号パケットに付与された時刻情報を時刻補正後の時刻情報と比較してしまうことを回避することができる。
【００９０】
（実施の形態にかかるパケット処理装置の第３状態）
図１２は、実施の形態にかかるパケット処理装置の第３状態を示す図である。図１２において、図１０に示した部分と同様の部分については同一の符号を付して説明を省略する。図１１に示した状態から時間が経過し、図１２に示す状態において補正フラグ＝“１”が付与された主信号パケットが主信号パケット蓄積部１１３から読み出されたとする。
【００９１】
この場合に、補正フラグ抽出部１２９によって抽出されて第１時刻生成部１２５および第２時刻生成部１２６へ出力される補正フラグが“１”になる。これにより、第１時刻生成部１２５および第２時刻生成部１２６において運用系および補正系が入れ替わる。すなわち、第１時刻生成部１２５が補正系となり第２時刻生成部１２６が運用系となる。
【００９２】
また、補正フラグ抽出部１２９によって抽出されて判定部セレクタ１２８へ出力される補正フラグが“１”になる。このため、判定部セレクタ１２８は、系情報記憶部１３０における系情報を反転（トグル）させる。また、判定部セレクタ１２８は、第１時刻生成部１２５からの時刻情報を出力する状態から、第２時刻生成部１２６からの時刻情報を出力する状態に切り替える。
【００９３】
図１２に示したように、パケット処理装置１００は、時刻補正を行ったタイミングの主信号パケットが主信号パケット蓄積部１１３から読み出されると、第１時刻生成部１２５および第２時刻生成部１２６の運用系と補正系を入れ替える。そして、パケット処理装置１００は、第１時刻生成部１２５および第２時刻生成部１２６のうち新たに運用系となった時刻補正部、すなわち時刻補正を行った時刻生成部からの時刻情報を用いて読み出し判定部１１４における判定を行う。これにより、読み出し判定部１１４において、時刻補正後に主信号パケットに付与された時刻情報と、判定部セレクタ１２８から出力された時刻補正後の時刻情報と、を比較することができる。
【００９４】
（実施の形態にかかる付与部セレクタが時刻情報に付与する補正フラグ）
図１３は、実施の形態にかかる付与部セレクタが時刻情報に付与する補正フラグの一例を示す図である。図１３に示す時刻情報１３１１〜１３１７は、付与部セレクタ１２７がタイムスタンプ・フラグ付与部１１２へ出力する時刻情報である。補正フラグ１３２１〜１３２７は、付与部セレクタ１２７がそれぞれ時刻情報１３１１〜１３１７に付与する補正フラグである。
【００９５】
図１３に示す例では、時刻情報１３１４のタイミングで、パケット処理装置１００がマスタ装置１０からマスタ基準時刻パケットを受信し、第１時刻生成部１２５および第２時刻生成部１２６のうちの補正系の時刻生成部の時刻補正を行ったとする。この場合に、付与部セレクタ１２７は、上述したように、時刻補正が行われたタイミングの時刻情報１３１４に付与する補正フラグ１３２４を“１”とし、時刻補正が行われていないタイミングの時刻情報に付与する補正フラグは“０”とする。
【００９６】
これにより、判定部セレクタ１２８は、読み出された主信号パケットの補正フラグが“１”であった場合に、時刻補正前の時刻情報１３１１〜１３１３が付与された主信号パケットの読み出しが終わったと判断することができる。
【００９７】
または、付与部セレクタ１２７は、時刻補正が行われたタイミングの時刻情報１３１４に付与する補正フラグ１３２４を“０”とし、時刻補正が行われていないタイミングの時刻情報に付与する補正フラグは“１”としてもよい。このように、補正フラグ（フラグ情報）は、たとえば、時刻補正が行われたタイミングにおいて、時刻補正が行われないタイミングと異なる値になる情報とすることができる。
【００９８】
図１４は、実施の形態にかかる付与部セレクタが時刻情報に付与する補正フラグの他の一例を示す図である。図１４において、図１３に示した部分と同様の部分については同一の符号を付して説明を省略する。付与部セレクタ１２７は、図１４に示すように、時刻補正が行われると、時刻情報に付与する補正フラグの値をそれまでと反転（トグル）させてもよい。図１４に示す例では、付与部セレクタ１２７は、時刻補正の前の時刻情報１３１１〜１３１３に付与する補正フラグ１３２１〜１３２３を“０”とし、時刻補正の後の時刻情報１３１４〜１３１７に付与する補正フラグ１３２４〜１３２７を“１”としている。つぎの時刻補正が発生した場合は、付与部セレクタ１２７は、その時刻補正の後の時刻情報に付与する補正フラグを“０”にする。
【００９９】
これにより、判定部セレクタ１２８は、読み出された主信号パケットの補正フラグの値が変化（反転）した場合に、時刻補正前の時刻情報１３１１〜１３１３が付与された主信号パケットの読み出しが終わったと判断することができる。このように、補正フラグ（フラグ情報）は、たとえば、時刻補正が行われるごとに値が変化する情報とすることができる。これにより、たとえば時刻補正が行われたタイミングでタイムスタンプ・フラグ付与部１１２へ主信号パケットが入力されなくても、主信号パケットに付与する時刻情報を識別可能な補正フラグを主信号パケットに付与することができる。
【０１００】
なお、時刻補正が行われるごとに値が変化する情報を補正フラグ（フラグ情報）とすることで、補正フラグは、第１時刻生成部１２５および第２時刻生成部１２６のいずれかを一意に示す情報となる。
【０１０１】
このように、実施の形態にかかるパケット処理装置１００によれば、第１時刻情報と第２時刻情報を生成し、他装置からの時刻情報に基づいて第１時刻情報と第２時刻情報のいずれかの時刻補正を行うことができる。第１時刻情報と第２時刻情報は、一例としては上述した第１時刻生成部１２５および第２時刻生成部１２６によって生成される各時刻情報である。他装置からの時刻情報は、一例としては上述したマスタ装置１０からのマスタ基準時刻パケットである。
【０１０２】
また、パケット処理装置１００によれば、第１時刻情報と第２時刻情報のうち時刻補正が最後に行われた時刻情報と、その時刻情報を識別可能なフラグ情報と、をパケットに付与してキューに格納することができる。第１時刻情報と第２時刻情報のうち時刻補正が最後に行われた時刻情報は、一例としては上述した付与部セレクタ１２７からタイムスタンプ・フラグ付与部１１２へ出力される時刻情報である。パケットは、一例としては上述した主信号パケットである。フラグ情報は、一例としては上述した付与部セレクタ１２７からタイムスタンプ・フラグ付与部１１２へ出力される補正フラグである。キューは、一例としては上述した主信号パケット蓄積部１１３である。
【０１０３】
そして、パケット処理装置１００によれば、キューから読み出したパケットに付与された時刻情報と、そのパケットに付与されたフラグ情報により識別される時刻情報と、の比較結果に応じてそのパケットの破棄を判定する処理を行うことができる。パケットの破棄を判定する処理は、一例としては、上述した時刻情報の差分が閾値以上のパケットを破棄し時刻情報の差分が閾値未満のパケットを破棄せず他の装置へ送信する処理である。
【０１０４】
これにより、パケットの破棄を判定する処理において、そのパケットがキューに格納されている間に時刻補正があっても、フラグ情報に基づいて、そのパケットをキューから読み出した時刻を示す時刻情報として時刻補正前の基準の時刻情報を取得することができる。したがって、そのパケットの破棄を判定する処理において、そのパケットをキューに格納した時刻を示す時刻補正前の基準の時刻情報と、そのパケットをキューから読み出した時刻を示す時刻補正前の基準の時刻情報と、を比較することができる。
【０１０５】
このため、そのパケットがキューに格納されていた時間を正確に算出し、キューに格納された時間に応じたパケットの破棄を正確に行うことができる。したがって、たとえば、高負荷のネットワークの伝送装置にパケット処理装置１００を適用する場合においても、不要なパケットロスをせずに、マスタ装置１０とパケット処理装置１００との間の装置間時刻同期を実施することができる。
【０１０６】
また、パケット処理装置１００によれば、読み出されたパケットに付与されたフラグ情報により識別される時刻情報が切り替わった場合に、第１時刻情報と第２時刻情報のうち時刻補正を行う時刻情報を切り替えることができる。これにより、たとえばｎ回目の時刻補正前の時刻情報を付与したパケットの読み出しが終わると、ｎ回目の時刻補正を行わなかった時刻情報に対してｎ＋１回目の時刻補正を行うことができる。また、ｎ回目の時刻補正を行った時刻情報はｎ回目の時刻補正後の時刻情報とすることができる。これにより、ｎ回目の時刻補正後の時刻情報を付与したパケットの読み出しが終わるまでは、パケットの破棄を判定する処理において、ｎ回目の時刻補正後の時刻情報を参照することができる。したがって、複数回の時刻補正があっても、継続して、キューに格納された時間に応じたパケットの破棄を正確に行うことができる。
【０１０７】
以上説明したように、パケット処理装置およびパケット処理方法によれば、キューに格納された時間に応じたパケットの破棄を正確に行うことができる。
【０１０８】
上述した各実施の形態に関し、さらに以下の付記を開示する。
【０１０９】
（付記１）受信したパケットをキューに格納すると共に、前記キューに格納された時間に応じて前記パケットを破棄するパケット処理装置において、
第１時刻情報と第２時刻情報を生成し、他装置からの時刻情報に基づいて前記第１時刻情報と前記第２時刻情報のいずれかの時刻補正を行う生成部と、
前記キューに格納される前記パケットに対して、前記第１時刻情報と前記第２時刻情報のうち前記時刻補正が最後に行われたいずれかの時刻情報と、前記いずれかの時刻情報を識別可能なフラグ情報と、を付与し、前記時刻情報と前記フラグ情報とを付与したパケットをキューに格納する格納部と、
前記格納部によって前記キューに格納されたパケットを読み出し、読み出したパケットに付与された前記時刻情報と、前記第１時刻情報と前記第２時刻情報のうち前記読み出したパケットに付与された前記フラグ情報により識別される時刻情報と、の比較結果に応じて前記読み出したパケットを破棄する処理部と、
を備えることを特徴とするパケット処理装置。
【０１１０】
（付記２）前記生成部は、前記処理部によって読み出されたパケットに付与された前記フラグ情報により識別される時刻情報が切り替わるごとに、前記第１時刻情報と前記第２時刻情報のうち前記時刻補正を行う時刻情報を切り替えることを特徴とする付記１に記載のパケット処理装置。
【０１１１】
（付記３）前記格納部は、前記時刻補正が行われるごとに、前記第１時刻情報と前記第２時刻情報のうち前記生成部によって前記時刻補正が行われる時刻情報を特定し、前記パケットに付与する前記時刻情報を特定した時刻情報に切り替えることを特徴とする付記１または２に記載のパケット処理装置。
【０１１２】
（付記４）前記フラグ情報は、前記時刻補正が行われたタイミングにおいて、前記時刻補正が行われないタイミングと異なる値になる情報であることを特徴とする付記１〜３のいずれか一つに記載のパケット処理装置。
【０１１３】
（付記５）前記フラグ情報は、前記時刻補正が行われるごとに値が変化する情報であることを特徴とする付記１〜３のいずれか一つに記載のパケット処理装置。
【０１１４】
（付記６）受信したパケットをキューに格納すると共に、前記キューに格納された時間に応じて前記パケットを破棄するパケット処理方法において、
第１時刻情報と第２時刻情報を生成し、他装置からの時刻情報に基づいて前記第１時刻情報と前記第２時刻情報のいずれかの時刻補正を行い、
前記キューに格納される前記パケットに対して、前記第１時刻情報と前記第２時刻情報のうち前記時刻補正が最後に行われたいずれかの時刻情報と、前記いずれかの時刻情報を識別可能なフラグ情報と、を付与し、前記時刻情報と前記フラグ情報とを付与したパケットをキューに格納し、
前記キューに格納したパケットを読み出し、読み出したパケットに付与された前記時刻情報と、前記第１時刻情報と前記第２時刻情報のうち前記読み出したパケットに付与された前記フラグ情報により識別される時刻情報と、の比較結果に応じて前記読み出したパケットを破棄することを特徴とするパケット処理方法。
【符号の説明】
【０１１５】
１０  マスタ装置
１１  マスタ時計
１００  パケット処理装置
１１０  主信号処理部
１１１  主信号パケット受信部
１１２  タイムスタンプ・フラグ付与部
１１３  主信号パケット蓄積部
１１４  読み出し判定部
１１５  主信号パケット送信部
１２０  時刻管理部
１２１  マスタ基準時刻パケット受信部
１２２  応答パケット送信部
１２３  マスタ基準時刻抽出部
１２４  ローカル時刻生成部
１２５  第１時刻生成部
１２６  第２時刻生成部
１２７  付与部セレクタ
１２８  判定部セレクタ
１２９  補正フラグ抽出部
１３０  系情報記憶部
２００  通信システム
２１１〜２１３，２２１，２２２  スレーブ装置
３０１，３０３，３０５  時期
３０２，３０４，３０６  時刻
３１１〜３１６，３２１〜３２６  タイミングパルス
３３１〜３３３  マスタ基準時刻パケット
３４１〜３４３  応答パケット
４０１  時刻ズレ
１００１，１００２，１０２１〜１０２６，１０４１，１０４２，１３１１〜１３１７  時刻情報
１０１１〜１０１７  主信号パケット
１０３１〜１０３６，１３２１〜１３２７  補正フラグ
【図１】
2017220788.tif 000003
【図２】
2017220788.tif 000004
【図３】
2017220788.tif 000005
【図４】
2017220788.tif 000006
【図５】
2017220788.tif 000007
【図６】
2017220788.tif 000008
【図７】
2017220788.tif 000009
【図８】
2017220788.tif 000010
【図９】
2017220788.tif 000011
【図１０】
2017220788.tif 000012
【図１１】
2017220788.tif 000013
【図１２】
2017220788.tif 000014
【図１３】
2017220788.tif 000015
【図１４】
2017220788.tif 000016