IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌ・ティ・ティ・アドバンステクノロジ株式会社の特許一覧

特許7607714ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法
<>
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図1
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図2
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図3
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図4
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図5
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図6
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図7
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図8
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図9
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図10
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図11
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図12
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図13
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図14
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図15
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図16
  • 特許-ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-12-19
(45)【発行日】2024-12-27
(54)【発明の名称】ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法
(51)【国際特許分類】
   H04L 43/0852 20220101AFI20241220BHJP
   H04L 43/087 20220101ALI20241220BHJP
   H04L 43/02 20220101ALI20241220BHJP
【FI】
H04L43/0852
H04L43/087
H04L43/02
【請求項の数】 13
(21)【出願番号】P 2023126077
(22)【出願日】2023-08-02
【審査請求日】2023-08-02
【新規性喪失の例外の表示】特許法第30条第2項適用 試験日 令和5年2月5日~2月10日 試験場所 札幌~東京~大阪~沖縄間の通信回線 ウェブサイトのアドレス https://testbed.nict.go.jp/event_new/yukimatsuri2023.html ウェブサイトの掲載日 令和5年6月8日 ウェブサイトのアドレス https://www.ntt-at.co.jp/news/2023/detail/release230608.html 展示日 令和5年6月14日~6月16日 展示会名 Interop Tokyo 2023 開催場所 幕張メッセ(千葉県千葉市美浜区中瀬二丁目1番) ウェブサイトのアドレス https://www.ntt-at.co.jp/eventseminar/event/2023/detail/e_20230614
(73)【特許権者】
【識別番号】000102739
【氏名又は名称】エヌ・ティ・ティ・アドバンステクノロジ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】右近 祐太
(72)【発明者】
【氏名】片山 勝
【審査官】速水 雄太
(56)【参考文献】
【文献】国際公開第2023/084599(WO,A1)
【文献】特開2012-094998(JP,A)
【文献】特開2002-135319(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/0852
H04L 43/087
H04L 43/02
(57)【特許請求の範囲】
【請求項1】
トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、前記パケットのペイロードを取得するパケットヘッダ解析部と、
抽出された前記フィールド情報に適合するルールを、前記トラフィックごとのルールが登録されたルールテーブルのうちから検索するルールマッチング部と、
適合する前記ルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かを前記パケットごとに判定し、前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するタイムスタンプ取得部と、
前記フィールド情報、前記シーケンス番号及び前記ペイロードを、前記タイムスタンプ値に対応付けて記憶する記憶部と、
前記タイムスタンプ値に対応付けられた前記フィールド情報、前記シーケンス番号及び前記ペイロードに基づいて、前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する時間差算出部と
を備え
前記時間差算出部は、前記パケットのデータを記憶部から取得した時刻であるデータ取得時刻を、前記シーケンス番号及び前記タイムスタンプ値に対応付けてデータテーブルに記録し、記録された前記データ取得時刻に基づいて、前記データテーブルにおいて、連続する2個の前記シーケンス番号の検索範囲を決定する、
ジッタ/レイテンシ計測装置。
【請求項2】
前記タイムスタンプ取得部は、
前記ペイロードに基づいてハッシュ値を算出するハッシュ演算部と、
前記システム時刻に基づいてタイムスタンプ時刻を修正する時刻同期部と、
前記タイムスタンプ時刻に基づいて、前記パケットの前記タイムスタンプ値をカウントするタイムカウンタと、
前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得する取得判定部と
を有する、請求項1に記載のジッタ/レイテンシ計測装置。
【請求項3】
前記時刻同期部は、
第1の前記システム時刻を取得してから第2の前記システム時刻を取得するまでの時間に基づいて通信遅延を算出し、算出された前記通信遅延に基づいて第2の前記システム時刻を補正し、補正された第2の前記システム時刻に基づいて前記タイムスタンプ時刻を修正することによって、前記システム時刻に同期した前記タイムスタンプ値を生成する、
請求項2に記載のジッタ/レイテンシ計測装置。
【請求項4】
除数を用いて、前記シーケンス番号の剰余を算出する剰余演算部を更に有し、
前記取得判定部は、
前記剰余が0又は1である場合、前記タイムスタンプ値と前記シーケンス番号とを前記記憶部に記録し、
前記剰余が1である場合、前記タイムスタンプ時刻を更新する、
請求項2に記載のジッタ/レイテンシ計測装置。
【請求項5】
周期信号を生成するインターバルタイマ部を更に有し、
前記取得判定部は、
前記周期信号に基づく周期において、今回の判定が1回目又は2回目の判定である場合、前記タイムスタンプ値を前記記憶部に記録し、
前記周期信号に基づく周期において、今回の判定が2回目の判定である場合、前記タイムスタンプ時刻を更新する、
請求項2に記載のジッタ/レイテンシ計測装置。
【請求項6】
周期信号を生成するインターバルタイマ部を更に有し、
前記取得判定部は、
前記周期信号に基づく周期において、今回の判定が1回目又は2回目の判定である場合、前記タイムスタンプ値と前記ハッシュ値とを前記記憶部に記録し、
前記周期信号に基づく周期において、今回の判定が2回目以降の判定である場合に、今回の前記ハッシュ値と記憶された前記ハッシュ値とが同じである場合、前記タイムスタンプ値と前記ハッシュ値とを前記記憶部に記録し、
前記周期信号に基づく周期において、今回の判定が2回目以降の判定である場合に、前記タイムスタンプ時刻を更新する、
請求項2に記載のジッタ/レイテンシ計測装置。
【請求項7】
ジッタ/レイテンシ計測装置が実行するジッタ/レイテンシ計測方法であって、
トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、前記パケットのペイロードを取得するステップと、
抽出された前記フィールド情報に適合するルールを、前記トラフィックごとのルールが登録されたルールテーブルのうちから検索するステップと、
適合する前記ルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かを前記パケットごとに判定し、前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップと、
前記フィールド情報、前記シーケンス番号及び前記ペイロードを、前記タイムスタンプ値に対応付けて記憶するステップと、
前記タイムスタンプ値に対応付けられた前記フィールド情報、前記シーケンス番号及び前記ペイロードに基づいて、前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出するステップと
を含み、
前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出するステップは、前記パケットのデータを記憶部から取得した時刻であるデータ取得時刻を、前記シーケンス番号及び前記タイムスタンプ値に対応付けてデータテーブルに記録し、記録された前記データ取得時刻に基づいて、前記データテーブルにおいて、連続する2個の前記シーケンス番号の検索範囲を決定することを含む、
ジッタ/レイテンシ計測方法。
【請求項8】
トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、前記パケットのペイロードを取得するパケットヘッダ解析部と、
抽出された前記フィールド情報に適合するルールを、前記トラフィックごとのルールが登録されたルールテーブルのうちから検索するルールマッチング部と、
適合する前記ルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かを前記パケットごとに判定し、前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するタイムスタンプ取得部と、
前記フィールド情報、前記シーケンス番号及び前記ペイロードを、前記タイムスタンプ値に対応付けて記憶する記憶部と、
前記タイムスタンプ値に対応付けられた前記フィールド情報、前記シーケンス番号及び前記ペイロードに基づいて、前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する時間差算出部と
を備え、
前記タイムスタンプ取得部は、
前記ペイロードに基づいてハッシュ値を算出するハッシュ演算部と、
前記システム時刻に基づいてタイムスタンプ時刻を修正する時刻同期部と、
前記タイムスタンプ時刻に基づいて、前記パケットの前記タイムスタンプ値をカウントするタイムカウンタと、
前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得する取得判定部と
を有し、
除数を用いて、前記シーケンス番号の剰余を算出する剰余演算部を更に有し、
前記取得判定部は、
前記剰余が0又は1である場合、前記タイムスタンプ値と前記シーケンス番号とを前記記憶部に記録し、
前記剰余が1である場合、前記タイムスタンプ時刻を更新する、
ジッタ/レイテンシ計測装置。
【請求項9】
トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、前記パケットのペイロードを取得するパケットヘッダ解析部と、
抽出された前記フィールド情報に適合するルールを、前記トラフィックごとのルールが登録されたルールテーブルのうちから検索するルールマッチング部と、
適合する前記ルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かを前記パケットごとに判定し、前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するタイムスタンプ取得部と、
前記フィールド情報、前記シーケンス番号及び前記ペイロードを、前記タイムスタンプ値に対応付けて記憶する記憶部と、
前記タイムスタンプ値に対応付けられた前記フィールド情報、前記シーケンス番号及び前記ペイロードに基づいて、前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する時間差算出部と
を備え、
前記タイムスタンプ取得部は、
前記ペイロードに基づいてハッシュ値を算出するハッシュ演算部と、
前記システム時刻に基づいてタイムスタンプ時刻を修正する時刻同期部と、
前記タイムスタンプ時刻に基づいて、前記パケットの前記タイムスタンプ値をカウントするタイムカウンタと、
前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得する取得判定部と
を有し、
周期信号を生成するインターバルタイマ部を更に有し、
前記取得判定部は、
前記周期信号に基づく周期において、今回の判定が1回目又は2回目の判定である場合、前記タイムスタンプ値を前記記憶部に記録し、
前記周期信号に基づく周期において、今回の判定が2回目の判定である場合、前記タイムスタンプ時刻を更新する、
ジッタ/レイテンシ計測装置。
【請求項10】
トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、前記パケットのペイロードを取得するパケットヘッダ解析部と、
抽出された前記フィールド情報に適合するルールを、前記トラフィックごとのルールが登録されたルールテーブルのうちから検索するルールマッチング部と、
適合する前記ルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かを前記パケットごとに判定し、前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するタイムスタンプ取得部と、
前記フィールド情報、前記シーケンス番号及び前記ペイロードを、前記タイムスタンプ値に対応付けて記憶する記憶部と、
前記タイムスタンプ値に対応付けられた前記フィールド情報、前記シーケンス番号及び前記ペイロードに基づいて、前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する時間差算出部と
を備え、
前記タイムスタンプ取得部は、
前記ペイロードに基づいてハッシュ値を算出するハッシュ演算部と、
前記システム時刻に基づいてタイムスタンプ時刻を修正する時刻同期部と、
前記タイムスタンプ時刻に基づいて、前記パケットの前記タイムスタンプ値をカウントするタイムカウンタと、
前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得する取得判定部と
を有し、
周期信号を生成するインターバルタイマ部を更に有し、
前記取得判定部は、
前記周期信号に基づく周期において、今回の判定が1回目又は2回目の判定である場合、前記タイムスタンプ値と前記ハッシュ値とを前記記憶部に記録し、
前記周期信号に基づく周期において、今回の判定が2回目以降の判定である場合に、今回の前記ハッシュ値と記憶された前記ハッシュ値とが同じである場合、前記タイムスタンプ値と前記ハッシュ値とを前記記憶部に記録し、
前記周期信号に基づく周期において、今回の判定が2回目以降の判定である場合に、前記タイムスタンプ時刻を更新する、
ジッタ/レイテンシ計測装置。
【請求項11】
ジッタ/レイテンシ計測装置が実行するジッタ/レイテンシ計測方法であって、
トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、前記パケットのペイロードを取得するステップと、
抽出された前記フィールド情報に適合するルールを、前記トラフィックごとのルールが登録されたルールテーブルのうちから検索するステップと、
適合する前記ルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かを前記パケットごとに判定し、前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップと、
前記フィールド情報、前記シーケンス番号及び前記ペイロードを、前記タイムスタンプ値に対応付けて記憶するステップと、
前記タイムスタンプ値に対応付けられた前記フィールド情報、前記シーケンス番号及び前記ペイロードに基づいて、前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出するステップと
を含み、
前記タイムスタンプ値を取得するステップは、
前記ペイロードに基づいてハッシュ値を算出するステップと、
前記システム時刻に基づいてタイムスタンプ時刻を修正するステップと、
前記タイムスタンプ時刻に基づいて、前記パケットの前記タイムスタンプ値をカウントするステップと、
前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップと
を含み、
除数を用いて、前記シーケンス番号の剰余を算出するステップを更に含み、
前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップは、
前記剰余が0又は1である場合、前記タイムスタンプ値と前記シーケンス番号とを記憶部に記録し、
前記剰余が1である場合、前記タイムスタンプ時刻を更新することを更に含む、
ジッタ/レイテンシ計測方法。
【請求項12】
ジッタ/レイテンシ計測装置が実行するジッタ/レイテンシ計測方法であって、
トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、前記パケットのペイロードを取得するステップと、
抽出された前記フィールド情報に適合するルールを、前記トラフィックごとのルールが登録されたルールテーブルのうちから検索するステップと、
適合する前記ルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かを前記パケットごとに判定し、前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップと、
前記フィールド情報、前記シーケンス番号及び前記ペイロードを、前記タイムスタンプ値に対応付けて記憶するステップと、
前記タイムスタンプ値に対応付けられた前記フィールド情報、前記シーケンス番号及び前記ペイロードに基づいて、前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出するステップと
を含み、
前記タイムスタンプ値を取得するステップは、
前記ペイロードに基づいてハッシュ値を算出するステップと、
前記システム時刻に基づいてタイムスタンプ時刻を修正するステップと、
前記タイムスタンプ時刻に基づいて、前記パケットの前記タイムスタンプ値をカウントするステップと、
前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップと
を含み、
周期信号を生成するステップを更に含み、
前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップは、
前記周期信号に基づく周期において、今回の判定が1回目又は2回目の判定である場合、前記タイムスタンプ値を記憶部に記録し、
前記周期信号に基づく周期において、今回の判定が2回目の判定である場合、前記タイムスタンプ時刻を更新することを更に含む、
ジッタ/レイテンシ計測方法。
【請求項13】
ジッタ/レイテンシ計測装置が実行するジッタ/レイテンシ計測方法であって、
トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、前記パケットのペイロードを取得するステップと、
抽出された前記フィールド情報に適合するルールを、前記トラフィックごとのルールが登録されたルールテーブルのうちから検索するステップと、
適合する前記ルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かを前記パケットごとに判定し、前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップと、
前記フィールド情報、前記シーケンス番号及び前記ペイロードを、前記タイムスタンプ値に対応付けて記憶するステップと、
前記タイムスタンプ値に対応付けられた前記フィールド情報、前記シーケンス番号及び前記ペイロードに基づいて、前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出するステップと
を含み、
前記タイムスタンプ値を取得するステップは、
前記ペイロードに基づいてハッシュ値を算出するステップと、
前記システム時刻に基づいてタイムスタンプ時刻を修正するステップと、
前記タイムスタンプ時刻に基づいて、前記パケットの前記タイムスタンプ値をカウントするステップと、
前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップと
を含み、
周期信号を生成するステップを更に含み、
前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップは、
前記周期信号に基づく周期において、今回の判定が1回目又は2回目の判定である場合、前記タイムスタンプ値と前記ハッシュ値とを記憶部に記録し、
前記周期信号に基づく周期において、今回の判定が2回目以降の判定である場合に、今回の前記ハッシュ値と記憶された前記ハッシュ値とが同じである場合、前記タイムスタンプ値と前記ハッシュ値とを前記記憶部に記録し、
前記周期信号に基づく周期において、今回の判定が2回目以降の判定である場合に、前記タイムスタンプ時刻を更新することを更に含む、
ジッタ/レイテンシ計測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法に関する。
【背景技術】
【0002】
クラウドサービスの安定的な提供のため、トラフィック計測の重要性が高まっている。例えば、映像配信サービスでは、映像トラフィックのジッタ及びレイテンシが、映像品質に影響を与える。このため、映像トラフィックのジッタ及びレイテンシの計測が求められる。
【0003】
ジッタ及びレイテンシの計測に、ICMP(Internet Control Message Protocol)パケットが用いられることがある(非特許文献1参照)。最も知られた計測方法の一つは、「ping」コマンドである。「ping」コマンドが利用されることで、ICMPパケットを送信及び受信する通信装置の間において、ジッタ及びレイテンシを計測することが可能である。また、特許文献1では、伝送路に挿入された計測用信号パターンが計測されることで、2地点の間のレイテンシが高精度で計測される。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平07-198874号公報
【非特許文献】
【0005】
【文献】J. Postel, “INTERNET CONTROL MESSAGE PROTOCOL”, [online], RFC792, September 1981, [令和5年7月11日検索], インターネット<URL: https://datatracker.ietf.org/doc/html/rfc792>
【発明の概要】
【発明が解決しようとする課題】
【0006】
ICMPパケット又は計測用信号パターンを用いてトラフィックのジッタ及びレイテンシが計測されることで、ネットワークの状態を評価することが可能である。しかしながら、ICMPパケット又は計測用信号パターンが用いられる場合、クラウドサービスのトラフィックは、計測の対象外である。このため、クラウドサービスの品質を間接的にしか評価することができない。このように、クラウドサービス等の任意のトラフィックのジッタ及びレイテンシを計測することができないという問題がある。
【0007】
上記事情に鑑み、本発明は、クラウドサービス等の任意のトラフィックのジッタ及びレイテンシを計測することが可能であるジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法を提供することを目的としている。
【課題を解決するための手段】
【0008】
本発明の一態様は、トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、前記パケットのペイロードを取得するパケットヘッダ解析部と、抽出された前記フィールド情報に適合するルールを、前記トラフィックごとのルールが登録されたルールテーブルのうちから検索するルールマッチング部と、適合する前記ルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かを前記パケットごとに判定し、前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するタイムスタンプ取得部と、前記フィールド情報、前記シーケンス番号及び前記ペイロードを、前記タイムスタンプ値に対応付けて記憶する記憶部と、前記タイムスタンプ値に対応付けられた前記フィールド情報、前記シーケンス番号及び前記ペイロードに基づいて、前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する時間差算出部とを備えるジッタ/レイテンシ計測装置である。
【0009】
本発明の一態様は、上記のジッタ/レイテンシ計測装置が実行するジッタ/レイテンシ計測方法であって、トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、前記パケットのペイロードを取得するステップと、抽出された前記フィールド情報に適合するルールを、前記トラフィックごとのルールが登録されたルールテーブルのうちから検索するステップと、適合する前記ルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かを前記パケットごとに判定し、前記タイムスタンプ値を取得すると判定された場合、前記タイムスタンプ値を取得するステップと、前記フィールド情報、前記シーケンス番号及び前記ペイロードを、前記タイムスタンプ値に対応付けて記憶するステップと、前記タイムスタンプ値に対応付けられた前記フィールド情報、前記シーケンス番号及び前記ペイロードに基づいて、前記トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出するステップと を含むジッタ/レイテンシ計測方法である。
【発明の効果】
【0010】
本発明により、クラウドサービス等の任意のトラフィックのジッタ及びレイテンシを計測することが可能である。
【図面の簡単な説明】
【0011】
図1】第1実施形態における、ジッタ/レイテンシ計測装置の構成例を示す図である。
図2】第1実施形態における、タイムスタンプ取得部の構成例を示す図である。
図3】第1実施形態における、システム時刻保持部がタイムスタンプ時刻を修正する処理を示す図である。
図4】第1実施形態における、システム時刻保持部とタイムスタンプ取得部との間の時刻同期処理を示す図である。
図5】第1実施形態における、タイムスタンプ取得部の第1処理手順によって記憶部15に記録されるデータと、ジッタの算出方法とを示す図である。
図6】第1実施形態における、タイムスタンプ取得部の第2処理手順によって記憶部15に記録されるデータと、ジッタの算出方法とを示す図である。
図7】第1実施形態における、タイムスタンプ取得部の第3処理手順によって記憶部15に記録されるデータと、レイテンシの算出方法とを示す図である。
図8】第1実施形態における、タイムスタンプ取得部の第4処理手順によって記憶部15に記録されるデータと、レイテンシの算出方法とを示す図である。
図9】第1実施形態における、ジッタ及びレイテンシをジッタ/レイテンシ計測装置が算出する手順を示すフローチャートである。
図10】第1実施形態における、タイムスタンプ取得部の第1処理手順を示すフローチャートである。
図11】第1実施形態における、タイムスタンプ取得部の第2処理手順を示すフローチャートである。
図12】第1実施形態における、タイムスタンプ取得部の第3処理手順を示すフローチャートである。
図13】第1実施形態における、タイムスタンプ取得部の第4の処理手順を示すフローチャートである。
図14】第2実施形態における、2地点の間でジッタ及びレイテンシを計測する構成例を示す図である。
図15】第2実施形態における、2台のジッタ/レイテンシ計測装置が用いられた場合について、レイテンシを算出する方法を示す図である。
図16】第3実施形態における、2地点の間でジッタ及びレイテンシを計測する構成例を示す図である。
図17】第4実施形態における、3地点の間でジッタ及びレイテンシを計測する構成例を示す図である。
【発明を実施するための形態】
【0012】
本発明の実施形態について、図面を参照して詳細に説明する。
(第1実施形態)
図1は、第1実施形態における、ジッタ/レイテンシ計測装置10の構成例を示す図である。ジッタ/レイテンシ計測装置10は、パケット受信部11と、パケットヘッダ解析部12と、ルールマッチング部13と、タイムスタンプ取得部14と、記憶部15と、時間差算出部16と、ルール登録部17と、システム時刻保持部18と、データ送信部19を備える。なお、時間差算出部16は、ジッタ/レイテンシ計測装置10の外部(時間差算出装置)に備えられてもよい。
【0013】
ジッタ/レイテンシ計測装置10の各機能部は、CPU(Central Processing Unit)等のプロセッサがソフトウェア(プログラム)を実行することによって実現できる。また、各機能部のうちの少なくとも一つが、ASIC(Application Specific Integrated Circuit)及びFPGA(Field-Programmable Gate Array)等のハードウェアを用いて実装されてもよい。各機能部のうちの少なくとも一部がハードウェアを用いて実装された場合、ジッタ/レイテンシ計測装置10は、計測処理を高速実行できるので、高速広帯域ネットワークにおけるトラフィックのジッタ及びレイテンシの計測に適している。
【0014】
パケット受信部11は、ネットワーク100を伝送されたパケットを受信する。パケットヘッダ解析部12は、ネットワーク100を伝送されたパケットを、パケット受信部11から取得する。パケットヘッダ解析部12は、取得されたパケットのヘッダを解析することで、1個以上のフィールド情報をパケットから抽出する。フィールド情報は、トラフィックの識別に用いられる情報である。抽出されるフィールド情報は、特定の規格に基づくフィールド情報に限定されないが、例えば、送信元IP(Internet Protocol)アドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコル番号、又は、「VLAN ID」(Virtual Local Area Network identifier)等である。
【0015】
パケットヘッダ解析部12は、シーケンス番号がパケットのヘッダに存在する場合、シーケンス番号をパケットのヘッダから抽出する。シーケンス番号は、例えば、リアルタイム・トランスポート・プロトコル(RTP: Real-time Transport Protocol)等のプロトコルに基づく番号である。また、パケットヘッダ解析部12は、ペイロードの一部を、パケットのペイロードから抽出してもよい。シーケンス番号とペイロードのそれぞれは、タイムスタンプ値を取得するか否かの判定に使用される。
【0016】
ルールマッチング部13は、ルールマッチングを実行することによって、ネットワーク100のトラフィックを識別する。すなわち、ルールマッチング部13は、抽出されたフィールド情報と、予め定められたルールテーブルとを比較(照合)する。ルールマッチング部13は、比較結果に基づいて、抽出されたフィールド情報(ネットワーク100のトラフィック)に適合するルール(ルール番号)を、ルールテーブルのうちから検索する。
【0017】
タイムスタンプ取得部14は、取得されたパケットごとに、タイムスタンプ値を取得するか否かを判定する。タイムスタンプ値を取得するか否かの判定方法については、後述する。また、タイムスタンプ取得部14は、特定の条件が満たされたか否かを判定する。タイムスタンプ取得部14は、特定の条件が満たされた場合、タイムスタンプ値及びシーケンス番号に対応付けて、ペイロード(ハッシュ値)を記憶部15に記録する。
【0018】
時間差算出部16は、記憶部15に記憶されたタイムスタンプ値及びシーケンス番号に基づいて、トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する。なお、ジッタ/レイテンシ計測装置10の外部に時間差算出部16が備えられた場合、データ送信部19は、記憶部15に記憶されたタイムスタンプ値及びシーケンス番号を、時間差算出部16に転送する。ジッタ及びレイテンシの算出方法については、後述する。
【0019】
ルール登録部17は、トラフィックごとのルールが登録されたルールテーブルを、ルールマッチング部13及びタイムスタンプ取得部14に登録する。ルールは、トラフィックに対応するように、予め作成される。例えば、送信元IPアドレスと、宛先IPアドレスと、送信元ポート番号と、宛先ポート番号と、プロトコル番号との5要素の組(タプル(tuple))のルールが、仮想化されていないネットワーク100のトラフィックごとに、予め作成される。
【0020】
システム時刻保持部18は、タイムスタンプ取得部14のスレーブ時刻と、システム時刻(マスタ時刻)とのずれを修正する。システム時刻保持部18は、一定以上のずれが検出された場合、スレーブ時刻を修正する。また、システム時刻保持部18は、NTP(Network Time Protocol)サーバ及びPTP(Precision Time Protocol)サーバと通信することで、システム時刻保持部18のシステム時刻を定期的に修正する。これによって、複数のジッタ/レイテンシ計測装置10が計測に使用された場合でも、レイテンシを高精度に計測することができる。
【0021】
図2は、第1実施形態における、タイムスタンプ取得部14の構成例を示す図である。タイムスタンプ取得部14は、ハッシュ演算部20と、タイムカウンタ22a~22bと、剰余演算部21a~21bと、取得判定部23a~23bと、時刻同期部24と、インターバルタイマ部25を備える。記憶部15は、タイムスタンプメモリ26a~26bと、シーケンス番号メモリ27a~27bと、ペイロードメモリ28a~28bとを備える。
【0022】
ハッシュ演算部20は、ルールマッチング部13から入力されたペイロードに対して、所定のアルゴリズム(例えば、MurmurHash)の算出処理を実行する。これによって、ハッシュ演算部20は、ペイロードに基づいてハッシュ値を算出する。
【0023】
なお、パケットのペイロードの情報は、パケットの同一性を確認するために用いられる。したがって、長いペイロードを用いてパケットの同一性が確認されることで、同一性の確認精度を高めることができる。しかし、長いペイロードが記憶部15に記憶された場合には、多くのメモリリソースが消費されてしまうという問題がある。ハッシュ演算部20は、そのような問題も解決する。すなわち、長いペイロードがハッシュ演算によって小さなハッシュ値に変換されることで、必要なメモリリソースを減らすことができる。
【0024】
剰余演算部21a~21bは、予め定められた除数を用いて、ルールマッチング部13から入力されたシーケンス番号の剰余を算出する。予め定められた除数に応じて剰余の範囲が変更されることによって、タイムスタンプ値の取得数が制御される。
【0025】
タイムカウンタ22a~22bは、各タイムスタンプ時刻をカウントする。取得判定部23a~23bは、カウントされた各タイムスタンプ時刻(各タイムスタンプ値)を、取得判定の実行後にスレーブ時刻に基づいて更新する。更新前のタイムスタンプ値と更新後のタイムスタンプ値とが混ざらないように、タイムスタンプ取得部14は、複数のタイムカウンタ(タイムカウンタ22a~22b)を備える。これによって、ジッタ及びレイテンシの算出精度が低下する可能性を減らすことが可能である。タイムスタンプ時刻の精度は、例えば、ナノ秒の精度である。これによって、記憶部15に記憶されるタイムスタンプ値が小さくなるので、メモリリソースを節約することができる。
【0026】
取得判定部23a~23bには、ルール番号がルールマッチング部13から入力される。取得判定部23a~23bには、剰余が剰余演算部21a~21bから入力される。取得判定部23a~23bには、シーケンス番号が剰余演算部21a~21bから入力されてもよい。取得判定部23a~23bには、ハッシュ値がハッシュ演算部20から入力される。取得判定部23a~23bには、周期信号がインターバルタイマ部25から入力されてもよい。
【0027】
取得判定部23a~23bは、ルール番号と、剰余と、ハッシュ値と、シーケンス番号とに基づいて、受信されたパケットのタイムスタンプ値を取得するか否かを判定する。取得判定部23a~23bは、ルール番号と、剰余と、ハッシュ値と、パケットの受信周期を表す周期信号とに基づいて、受信されたパケットのタイムスタンプ値を取得するか否かを判定してもよい。なお、取得判定部23aが実行する判定方法と、取得判定部23bが実行する判定方法とは、異なっていてもよい。
【0028】
取得判定部23a~23bは、受信されたパケットのタイムスタンプ値を取得すると判定された場合、ジッタ及びレイテンシのうちの少なくとも一方の計測に用いられるタイムスタンプ値を、タイムカウンタ22a~22bから取得する。
【0029】
受信されたパケットのタイムスタンプ値を取得すると取得判定部23a~23bによって判定された場合、取得判定部23a~23bは、タイムスタンプ値をタイムスタンプメモリ26a~26bに記録する。取得判定部23a~23bは、タイムスタンプ値に対応付けられたシーケンス番号を、シーケンス番号メモリ27a~27bに記録する。取得判定部23a~23bは、タイムスタンプ値に対応付けられたハッシュ値を記憶する。また、取得判定部23a~23bは、タイムスタンプ値に対応付けられたハッシュ値を、ペイロードメモリ28a~28bに記録する。
【0030】
時刻同期部24は、ジッタ/レイテンシ計測装置10におけるスレーブ時刻を管理する。時刻同期部24は、システム時刻(マスタ時刻)の情報を、システム時刻保持部18から受信する。時刻同期部24は、通信遅延を補正するように、システム時刻に基づいてスレーブ時刻を修正する。時刻同期部24は、タイムカウンタ22a~22bから要求された場合、システム時刻に同期したスレーブ時刻の情報を、タイムカウンタ22a~22bに出力する。
【0031】
インターバルタイマ部25は、時間をカウントする。インターバルタイマ部25は、予め定められた周期(時間間隔)で、周期信号を取得判定部23a~23bに出力する。
【0032】
剰余演算部21aと、タイムカウンタ22aと、取得判定部23aと、タイムスタンプメモリ26aと、シーケンス番号メモリ27aと、ペイロードメモリ28aとを含む機能部が並列に配置されることで、より多くの地点のトラフィックに対してタイムスタンプを取得することができる。すなわち、より多くの地点で、トラフィックのジッタ及びレイテンシを時間差算出部16は同時に計測することができる。
【0033】
図3は、第1実施形態における、システム時刻保持部18がタイムスタンプ時刻を修正する処理を示す図である。システム時刻保持部18は、システム時刻「t0」を、例えばNTPサーバから取得する。システム時刻保持部18は、タイムスタンプ時刻「t1」を、時刻同期部24から取得する。システム時刻保持部18は、システム時刻「t2」を、例えばNTPサーバから取得する。この場合、タイムスタンプ時刻「t1」は、式(1)のように表わされる。
【0034】
【数1】
【0035】
ここで、「Δt」は、システム時刻保持部18と時刻同期部24との間の通信遅延を表す。時刻同期部24は、システム時刻保持部18から入力されたシステム時刻と、式(1)とに基づいて、高精度のタイムスタンプ時刻をタイムカウンタ22a~22bに出力する。
【0036】
図4は、第1実施形態における、システム時刻保持部18とタイムスタンプ取得部14との間の時刻同期処理を示す図である。システム時刻保持部18は、タイムスタンプ取得部14のタイムスタンプ時刻(タイムスタンプ値)を修正する。システム時刻保持部18は、タイムスタンプ取得部14のタイムスタンプ時刻とシステム時刻とが一定以上ずれた場合、タイムスタンプ取得部14のタイムスタンプ時刻を修正する。
【0037】
ここで、システム時刻保持部18は、システム時刻を時刻同期部24に出力する。しかし、通信遅延により、システム時刻保持部18がシステム時刻を送信した時刻と、時刻同期部24がシステム時刻を受信した時刻とは異なる。そこで、時刻同期部24は、システム時刻保持部18から受信したシステム時刻を補正する。
【0038】
例えば、システム時刻保持部18は、システム時刻「t0」(1回目のシステム時刻)を、時刻同期部24に出力する。時刻同期部24は、1回目のシステム時刻を受信した時刻「t0’」からの経過時間の計測を開始する。システム時刻保持部18は、システム時刻「t1」(2回目のシステム時刻)を、時刻同期部24に出力する。時刻同期部24は、2回目のシステム時刻を受信する時刻までの経過時間「T」を決定する。システム時刻保持部18と時刻同期部24との間の通信遅延の「Δt」は、式(2)のように表わされる。
【0039】
【数2】
【0040】
時刻同期部24は、算出された通信遅延「Δt」を用いて、1回目のシステム時刻を受信した時刻「t0’」(1回目のタイムスタンプ時刻)を補正する。これによって、タイムスタンプ時刻がシステム時刻に高精度で同期することができる。
【0041】
図5は、第1実施形態における、タイムスタンプ取得部14の第1処理手順によって記憶部15に記録されるデータと、ジッタの算出方法とを示す図である。図5では、剰余演算の除数は、一例として100である。図5では、記憶部15は、データ取得時刻(時間差算出部16がデータを記憶部15から取得した時刻)と、「100の倍数」又は「100の倍数+1」のシーケンス番号と、タイムスタンプ値とを、対応付けて記憶する。除数が小さいほど、データテーブルに記憶されるタイムスタンプ値の個数を多くすることができる。しかし、タイムスタンプ値の個数が多いほど、時間差算出部16の負荷が増えてしまう。このため、適切な除数が予め定められる必要がある。
【0042】
時間差算出部16は、図5に例示されたデータテーブルにおいて、連続する2個のシーケンス番号を検索する。時間差算出部16は、検出された2個のシーケンス番号に対応付けられたタイムスタンプ値の間の絶対差を、トラフィックのジッタとして算出する。例えば、時間差算出部16は、図5に例示されたデータテーブルにおいて、例えば、シーケンス番号「100」及びシーケンス番号「101」をそれぞれ検索する。時間差算出部16は、検出された2個のシーケンス番号に対応付けられたタイムスタンプ値同士の絶対差「|t4-t3|」を、トラフィックのジッタとして算出する。
【0043】
ジッタは秒以下であることが多いので、連続する2個のシーケンス番号はデータテーブルにおいて近くに存在することが多い。したがって、データテーブルにおける広範囲を時間差算出部16が検索することは少ない。そこで、時間差算出部16は、図5に例示されたデータテーブルの「データ取得時刻」欄に、時間差算出部16がデータを記憶部15から取得した時刻を、シーケンス番号及びタイムスタンプ値に対応付けて記録する。時間差算出部16は、記録されたデータ取得時刻に基づいて、データテーブルにおいて、連続する2個のシーケンス番号の検索範囲を決定する。これによって、パケットの送信順に対してパケットの取得順が逆転した場合でも、時間差算出部16はパケットのジッタを算出することができる。
【0044】
図5では、時間差算出部16は、例えば時刻「t」よりも早い時刻「t-α」において記憶部15から取得されたデータに対応付けられたシーケンス番号を、検索範囲から除外する。時間差算出部16は、時刻「t」において記憶部15から取得されたデータに対応付けられたシーケンス番号を、検索範囲と決定する。
【0045】
なお、パケットのロスが発生したことで、そのパケットに対応付けられるシーケンス番号が存在しない場合には、そのシーケンス番号に基づいてジッタを算出する処理を時間差算出部16はスキップしてもよい。
【0046】
図6は、第1実施形態における、タイムスタンプ取得部14の第2処理手順によって記憶部15に記録されるデータと、ジッタの算出方法とを示す図である。図6では、記憶部15は、データ取得時刻と、タイムスタンプ値とを、対応付けて記憶する。タイムスタンプ取得部14は、連続して取得された各パケットのタイムスタンプ値を、データテーブルから取得する。時間差算出部16は、「2n-1(nは自然数)」番目のタイムスタンプ値と、「2n」番目のタイムスタンプ値との間の絶対差を、トラフィックのジッタとして算出する。
【0047】
図7は、第1実施形態における、タイムスタンプ取得部14の第3処理手順によって記憶部15に記録されるデータと、レイテンシの算出方法とを示す図である。図7では、剰余演算の除数は、一例として100である。図7では、記憶部15は、データ取得時刻と、「100の倍数」のシーケンス番号と、タイムスタンプ値とを、対応付けて記憶する。除数が小さいほど、データテーブルに記憶されるタイムスタンプ値の個数を多くすることができる。しかし、タイムスタンプ値の個数が多いほど、時間差算出部16の負荷が増えてしまう。このため、適切な除数が設定される必要がある。
【0048】
時間差算出部16は、図7に例示されたデータテーブルにおいて、同じシーケンス番号を検索する。時間差算出部16は、検出された同じシーケンス番号に対応付けられたタイムスタンプ値の間の絶対差を、トラフィックのレイテンシとして算出する。例えば、時間差算出部16は、図7に例示されたデータテーブルにおいて、例えば、シーケンス番号「100」を検索する。時間差算出部16は、検出された同じシーケンス番号に対応付けられたタイムスタンプ値同士の絶対差「|t6-t3|」を、トラフィックのレイテンシとして算出する。
【0049】
レイテンシは秒以下であることが多いので、同じシーケンス番号はデータテーブルにおいて近くに存在することが多い。したがって、データテーブルにおける広範囲を時間差算出部16が検索することは少ない。そこで、時間差算出部16は、図7に例示されたデータテーブルの「データ取得時刻」欄に、パケット(データ)が取得された時刻を、シーケンス番号及びタイムスタンプ値に対応付けて記録する。時間差算出部16は、記録されたデータ取得時刻に基づいて、データテーブルにおいて、同じシーケンス番号の検索範囲を決定する。これによって、パケットの送信順に対してパケットの取得順が逆転した場合でも、時間差算出部16はパケットのジッタを算出することができる。
【0050】
図7では、時間差算出部16は、例えば時刻「t」よりも早い時刻「t-α」において記憶部15から取得されたデータに対応付けられたシーケンス番号を含む範囲を、検索範囲から除外する。時間差算出部16は、時刻「t」において記憶部15から取得されたデータに対応付けられたシーケンス番号を含む範囲を、検索範囲と決定する。
【0051】
なお、パケットのロスが発生したことで、そのパケットに対応付けられるシーケンス番号が存在しない場合には、そのシーケンス番号に基づいてレイテンシを算出する処理を時間差算出部16はスキップしてもよい。
【0052】
図8は、第1実施形態における、タイムスタンプ取得部14の第4処理手順によって記憶部15に記録されるデータと、レイテンシの算出方法とを示す図である。図8では、記憶部15は、データ取得時刻と、ペイロード(ハッシュ値)と、タイムスタンプ値とを、対応付けて記憶する。タイムスタンプ取得部14は、図8に例示されたデータテーブルにおいて、同じペイロード(ハッシュ値)を検索する。タイムスタンプ取得部14は、同じペイロード(ハッシュ値)に対応付けられた各タイムスタンプ値を、データテーブルから取得する。時間差算出部16は、取得された各タイムスタンプ値の間の絶対差を、トラフィックのレイテンシとして算出する。
【0053】
図9は、第1実施形態における、ジッタ及びレイテンシをジッタ/レイテンシ計測装置10が算出する手順を示すフローチャートである。パケットヘッダ解析部12は、受信されたパケットのヘッダを解析する。パケットヘッダ解析部12は、取得されたパケットのヘッダを解析することで、1個以上のフィールド情報を、パケットから抽出する。パケットヘッダ解析部12は、シーケンス番号がパケットのヘッダに存在する場合、シーケンス番号をパケットのヘッダから抽出する。また、パケットヘッダ解析部12は、パケットのペイロードをパケット受信部11から取得する(ステップS101)。
【0054】
ルールマッチング部13は、ネットワーク100のトラフィック(フィールド情報)に適合するルールを、ルールテーブルのうちから検索する(ステップS102)。
【0055】
適合するルールがルールテーブルに登録されている場合、取得判定部23a~23bは、タイムスタンプ値をタイムカウンタ22a~22bから取得する。取得判定部23a~23bは、タイムスタンプ値をタイムスタンプメモリ26a~26bに記録する。取得判定部23a~23bは、タイムスタンプ値に対応付けられたシーケンス番号を、シーケンス番号メモリ27a~27bに記録する。取得判定部23a~23bは、タイムスタンプ値に対応付けられたハッシュ値を記憶する。また、取得判定部23a~23bは、タイムスタンプ値に対応付けられたハッシュ値を、ペイロードメモリ28a~28bに記録する(ステップS103)。
【0056】
時間差算出部16は、最後に記録されたタイムスタンプ値(直近に受信されたパケットのタイムスタンプ時刻)に対応付けられたシーケンス番号及びハッシュ値に基づいて、トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する。すなわち、時間差算出部16は、タイムスタンプ時刻同士の差(時間差)を算出することによって、トラフィックのジッタ又はレイテンシを算出する(ステップS104)。
【0057】
図10は、第1実施形態における、タイムスタンプ取得部14の第1処理手順を示すフローチャートである。タイムスタンプ取得部14は、ジッタの計測に用いられるタイムスタンプ値をシーケンス番号に基づいて取得するため、第1処理手順を実行する。
【0058】
剰余演算部21a~21bは、予め定められた除数を用いて、ルールマッチング部13から入力されたシーケンス番号の剰余を算出する(ステップS201)。
【0059】
取得判定部23a~23bは、入力されたルール番号と、取得判定部23a~23bに予め登録されたルール番号(所定の登録番号(登録値))とを比較する。取得判定部23a~23bは、入力されたルール番号と、取得判定部23a~23bに予め登録されたルール番号とが一致した場合、受信されたパケットが判定対象である(比較結果が真である)と判定する。すなわち、取得判定部23a~23bは、比較結果に基づいて、受信されたパケットのタイムスタンプ値を取得するか否か(受信されたパケットが判定対象であるか否か)を判定する(ステップS202)。
【0060】
受信されたパケットのタイムスタンプ値を取得すると判定された場合(ステップS202:YES)、取得判定部23a~23bは、剰余が0又は1であるか否かを判定する(ステップS203)。剰余が0又は1であると判定された場合(ステップS203:YES)、取得判定部23a~23bは、タイムスタンプ値及びシーケンス番号の組を、記憶部15に記録する。ここで、ルール番号がトラフィック(フィールド情報)に対応付けられているので、トラフィックごとにタイムスタンプ値を記録することが可能である(ステップS204)。
【0061】
取得判定部23a~23bは、剰余が1であるか否かを判定する(ステップS205)。
さらに、剰余が1である場合(ステップS205:YES)、取得判定部23a~23bは、時刻同期部24から取得されたスレーブ時刻の情報に基づいて、受信されたパケットに関連するタイムスタンプ時刻(タイムスタンプ値)を更新する(ステップS206)。
【0062】
図11は、第1実施形態における、タイムスタンプ取得部14の第2処理手順を示すフローチャートである。タイムスタンプ取得部14は、ジッタの計測に用いられるタイムスタンプ値を周期に基づいて取得するため、第2処理手順を実行する。
【0063】
取得判定部23a~23bは、入力されたルール番号と、取得判定部23a~23bに予め登録されたルール番号とを比較する。取得判定部23a~23bは、入力されたルール番号と、取得判定部23a~23bに予め登録されたルール番号とが一致した場合、受信されたパケットが判定対象である(比較結果が真である)と判定する。すなわち、取得判定部23a~23bは、比較結果に基づいて、受信されたパケットのタイムスタンプ値を取得するか否かを判定する(ステップS301)。
【0064】
受信されたパケットのタイムスタンプ値を取得すると判定された場合(ステップS301:YES)、取得判定部23a~23bは、インターバルタイマ部25から入力された周期信号を基準とする周期において、今回の判定処理が1回目又は2回目の判定処理であるか否かを判定する(ステップS302)。今回の判定処理が1回目又は2回目の判定処理であると判定された場合(ステップS302:YES)、取得判定部23a~23bは、タイムスタンプ値をタイムスタンプメモリ26a~26bに記録する(ステップS303)。
【0065】
取得判定部23a~23bは、インターバルタイマ部25から入力された周期信号を基準とする周期において、今回の判定処理が2回目の判定処理であるか否かを判定する(ステップS304)。今回の判定処理が2回目の判定処理であると判定された場合(ステップS304:YES)、取得判定部23a~23bは、時刻同期部24から取得されたスレーブ時刻の情報に基づいて、受信されたパケットに関連するタイムスタンプ時刻(タイムスタンプ値)を更新する(ステップS305)。
【0066】
図12は、第1実施形態における、タイムスタンプ取得部14の第3処理手順を示すフローチャートである。タイムスタンプ取得部14は、レイテンシの計測に用いられるタイムスタンプ値をシーケンス番号に基づいて取得するため、第3処理手順を実行してもよい。
【0067】
剰余演算部21a~21bは、予め定められた除数を用いて、ルールマッチング部13から入力されたシーケンス番号の剰余を算出する(ステップS401)。
【0068】
取得判定部23a~23bは、入力されたルール番号と、取得判定部23a~23bに予め登録されたルール番号とを比較する。取得判定部23a~23bは、入力されたルール番号と、取得判定部23a~23bに予め登録されたルール番号とが一致した場合、受信されたパケットが判定対象である(比較結果が真である)と判定する。すなわち、取得判定部23a~23bは、比較結果に基づいて、受信されたパケットのタイムスタンプ値を取得するか否かを判定する(ステップS402)。
【0069】
受信されたパケットのタイムスタンプ値を取得すると判定された場合(ステップS402:YES)、取得判定部23a~23bは、剰余が0であるか否かを判定する(ステップS403)。剰余が0であると判定された場合(ステップS403:YES)、取得判定部23a~23bは、タイムスタンプ値及びシーケンス番号の組を、記憶部15に記録する。ここで、ルール番号がトラフィックに対応付けられているので、トラフィックごとにタイムスタンプ値を記録することが可能である(ステップS404)。
【0070】
取得判定部23a~23bは、時刻同期部24から取得されたスレーブ時刻の情報に基づいて、受信されたパケットに関連するタイムスタンプ時刻(タイムスタンプ値)を更新する(ステップS405)。
【0071】
図13は、第1実施形態における、タイムスタンプ取得部14の第4処理手順を示すフローチャートである。タイムスタンプ取得部14は、レイテンシの計測に用いられるタイムスタンプ値を周期に基づいて取得するため、第4処理手順を実行してもよい。
【0072】
ハッシュ演算部20は、ルールマッチング部13から入力されたパケットのペイロードを用いて、ハッシュ値を算出する(ステップS501)。
【0073】
取得判定部23a~23bは、入力されたルール番号と、取得判定部23a~23bに予め登録されたルール番号とを比較する。取得判定部23a~23bは、入力されたルール番号と、取得判定部23a~23bに予め登録されたルール番号とが一致した場合、受信されたパケットが判定対象である(比較結果が真である)と判定する。すなわち、取得判定部23a~23bは、比較結果に基づいて、受信されたパケットのタイムスタンプ値を取得するか否かを判定する(ステップS502)。
【0074】
受信されたパケットのタイムスタンプ値を取得すると判定された場合(ステップS502:YES)、取得判定部23a~23bは、インターバルタイマ部25から入力された周期信号を基準とする周期において、今回の判定処理が1回目の判定処理であるか否かを判定する(ステップS503)。今回の判定処理が1回目の判定処理であると判定された場合(ステップS503:YES)、取得判定部23a~23bは、タイムスタンプ値に対応付けられたハッシュ値を記憶する(ステップS504)。
【0075】
取得判定部23a~23bは、タイムスタンプ値をタイムスタンプメモリ26a~26bに記録する。取得判定部23a~23bは、タイムスタンプ値に対応付けられたハッシュ値を、ペイロードメモリ28a~28bに記録する(ステップS505)。
【0076】
今回の判定処理が2回目以降の判定処理であると判定された場合(ステップS503:NO)、取得判定部23a~23bは、ハッシュ演算部20によって今回算出されたハッシュ値と、記憶部15に記憶されたハッシュ値とが同じであるか否かを判定する(ステップS506)。今回算出されたハッシュ値と記憶されたハッシュ値とが同じであると判定された場合(ステップS505:YES)、取得判定部23a~23bは、時刻同期部24から取得されたスレーブ時刻の情報に基づいて、受信されたパケットに関連するタイムスタンプ時刻(タイムスタンプ値)を更新する(ステップS507)。取得判定部23a~23bは、ステップS505の処理を実行する。
【0077】
上記の第1処理手順から第4処理手順までの各処理手順は、ジッタ/レイテンシ計測装置10がパケットが受信されるごとに、タイムスタンプ取得部14によって実行される。取得判定部23a~23bは、ルールマッチング部13から入力されたルール番号に基づいて動作するので、パケットのタイムスタンプ値をトラフィックごとに取得する。したがって、取得判定部23a~23bは、シーケンス番号又は周期に基づいて、受信されたパケットのタイムスタンプ値を取得するか否かを判定すればよい。
【0078】
なお、第1処理手順及び第3処理手順は組み合わされてもよい。また、第2処理手順及び第4処理手順は組み合わされてもよい。すなわち、ジッタの計測とレイテンシの計測との両方に用いられるタイムスタンプは、同時に取得されてもよい。
【0079】
第2処理手順及び第4処理手順では、周期に基づいてタイムスタンプ値が取得されるので、パケットがシーケンス番号を有しない場合でも、トラフィックのジッタ及びレイテンシのうちの少なくとも一方を計測することが可能である。ただし、第4処理手順では、ハッシュ値を記憶する時刻からハッシュ値を参照する時刻までの時間が短いため、複数のジッタ/レイテンシ計測装置10を連携させることが難しくなることがある。
【0080】
以上のように、パケットヘッダ解析部12は、トラフィックの識別に用いられる情報であるフィールド情報と、シーケンス番号とを、パケットのヘッダから抽出し、パケットのペイロードを取得する。ルールマッチング部13は、抽出されたフィールド情報に適合するルールを、トラフィックごとのルールが登録されたルールテーブルのうちから検索する。タイムスタンプ取得部14は、適合するルールの番号が所定の登録番号であるか否かに基づいて、システム時刻に同期したタイムスタンプ値を取得するか否かをパケットごとに判定する。タイムスタンプ取得部14は、タイムスタンプ値を取得すると判定された場合、タイムスタンプ値を取得する。記憶部15は、フィールド情報、シーケンス番号及びペイロードを、タイムスタンプ値に対応付けて記憶する。時間差算出部16は、タイムスタンプ値に対応付けられたフィールド情報、シーケンス番号及びペイロードに基づいて、トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する。
【0081】
これによって、クラウドサービス等の任意のトラフィックのジッタ及びレイテンシを計測することが可能である。
【0082】
タイムスタンプ取得部14では、ハッシュ演算部20は、ペイロードに基づいてハッシュ値を算出する。時刻同期部24は、システム時刻に基づいて、タイムスタンプ時刻を修正する。時刻同期部24は、第1のシステム時刻を取得してから第2のシステム時刻を取得するまでの時間に基づいて通信遅延を算出してもよい。時刻同期部24は、算出された通信遅延に基づいて第2のシステム時刻を補正してもよい。時刻同期部24は、補正された第2のシステム時刻に基づいてタイムスタンプ時刻を修正することによって、システム時刻に同期したタイムスタンプ値を生成してもよい。
【0083】
タイムスタンプ取得部14では、剰余演算部21a~21bは、除数を用いて、シーケンス番号の剰余を算出する。インターバルタイマ部25は、周期信号を生成する。タイムカウンタ22a~22bは、タイムスタンプ時刻に基づいて、パケットのタイムスタンプ値をカウントする。取得判定部23a~23bは、タイムスタンプ値を取得すると判定された場合、タイムスタンプ値を取得する。
【0084】
タイムスタンプ取得部14では、取得判定部23a~23bは、剰余が0又は1である場合、タイムスタンプ値とシーケンス番号とを記憶部に記録し、剰余が1である場合、タイムスタンプ時刻を更新する。取得判定部23a~23bは、周期信号に基づく周期において、今回の判定が1回目又は2回目の判定である場合、タイムスタンプ値を記憶部に記録してもよい。取得判定部23a~23bは、周期信号に基づく周期において、今回の判定が2回目の判定である場合、タイムスタンプ時刻を更新してもよい。
【0085】
タイムスタンプ取得部14では、取得判定部23a~23bは、周期信号に基づく周期において、今回の判定が1回目又は2回目の判定である場合、タイムスタンプ値とハッシュ値とを記憶部に記録してもよい。取得判定部23a~23bは、周期信号に基づく周期において、今回の判定が2回目以降の判定である場合に、今回のハッシュ値と記憶されたハッシュ値とが同じである場合、タイムスタンプ値とハッシュ値とを記憶部に記録してもよい。取得判定部23a~23bは、周期信号に基づく周期において、今回の判定が2回目以降の判定である場合に、タイムスタンプ時刻を更新してもよい。
【0086】
(第2実施形態)
第2実施形態では、2地点の間でジッタ及びレイテンシが計測される点が、第1実施形態との主な差分である。第2実施形態では、第1実施形態との差分を中心に説明する。
【0087】
図14は、第2実施形態における、2地点の間でジッタ及びレイテンシを計測する構成例を示す図である。図14では、送信端末140と、ルータ141-1と、ジッタ/レイテンシ計測装置10-1とが、第1地点に備えらえる。また、受信端末142と、ルータ141-2と、ジッタ/レイテンシ計測装置10-2とが、第2地点に備えらえる。第1地点及び第2地点以外の所定の地点には、時間差算出装置143が備えられる。時間差算出装置143は、時間差算出部16を備える。第1地点及び第2地点の間の距離は、物理的に長くてもよい。
【0088】
図14では、2台のジッタ/レイテンシ計測装置10を用いて、時間差算出装置143は、第1地点に備えられた送信端末140と、第2地点に備えられた受信端末142との間のトラフィックのジッタ及びレイテンシを計測する。ルータ141-1は、ルータ141-1のミラーポートを用いて、第1地点におけるトラフィックのデータを、ジッタ/レイテンシ計測装置10-1に出力する。ルータ141-2は、ルータ141-2のミラーポートを用いて、第1地点におけるトラフィックのデータを、ジッタ/レイテンシ計測装置10-2に出力する。
【0089】
ジッタ/レイテンシ計測装置10-1は、第1地点におけるトラフィックのデータを、ルータ141-1から取得する。ジッタ/レイテンシ計測装置10-1は、第1地点におけるトラフィックのデータを、時間差算出装置143に出力する。また、ジッタ/レイテンシ計測装置10-2は、第2地点におけるトラフィックのデータを、ルータ141-2から取得する。ジッタ/レイテンシ計測装置10-2は、第2地点におけるトラフィックのデータを、時間差算出装置143に出力する。
【0090】
時間差算出装置143は、第1地点におけるトラフィックのデータと、第2地点におけるトラフィックのデータとに対して、上述の第1処理手順、第2処理手順、第3処理手順及び第4処理手順のうちの所定の手順を実行することによって、各トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する。
【0091】
図15は、第2実施形態における、2台のジッタ/レイテンシ計測装置10(「#1」及び「#2」)が用いられた場合について、レイテンシを算出する方法を示す図である。シーケンス番号を用いてタイムスタンプ値が取得される場合、時間差算出装置143は、2台のジッタ/レイテンシ計測装置10の2個のデータテーブルにおいて、同じシーケンス番号を検索する。時間差算出装置143は、取得された各タイムスタンプ値の間の絶対差を、第3処理手順及び第4処理手順のように、トラフィックのレイテンシとして算出する。
【0092】
各データ出力時刻(各データ取得時刻)が2台のジッタ/レイテンシ計測装置10で異なる場合でも、各データ出力時刻の値は比較的大きな値であることから、2個のデータテーブルにおいてシーケンス番号及びタイムスタンプ値を高確率で検索することができる。また、2個のデータテーブルにおける検索範囲に幅(マージン)が持たされることで、2個のデータテーブルにおいてシーケンス番号及びタイムスタンプ値が高確率で検索されるようにしてもよい。
【0093】
タイムスタンプ値が例えば秒以下であることから、2台のジッタ/レイテンシ計測装置10のうちの一方における検索処理がオーバフローする可能性がある。そこで、時間差算出装置143は、閾値を用いて検索処理のオーバフローを検出し、算出されたジッタ及びレイテンシを補正してもよい。
【0094】
タイムスタンプ値の上限が例えば1000ミリ秒であり、且つ、閾値が例えば500ミリ秒である場合において、2台のジッタ/レイテンシ計測装置10の一方のタイムスタンプ値「t3」が999ミリ秒であり、且つ、2台のジッタ/レイテンシ計測装置10の他方のタイムスタンプ値「t3’」がオーバフローによって1ミリ秒である場合、タイムスタンプ値の差は、998ミリ秒(=999-1ミリ秒)と算出されてしまい、計測の上限を示す閾値「500ミリ秒」を超える。この場合、時間差算出装置143は、タイムスタンプ値の差の暫定値「998ミリ秒」に、タイムスタンプ値の上限「1000ミリ秒」を加算する。このように、時間差算出装置143は、タイムスタンプ値の差を、適切な値「1001ミリ秒」に補正する。これによって、計測の上限を示す閾値「500ミリ秒」以下のジッタ及びレイテンシを計測することが可能である。
【0095】
以上のように、2台のジッタ/レイテンシ計測装置10を用いて、2地点の間でジッタ及びレイテンシが計測される。
【0096】
これによって、2地点の間でジッタ及びレイテンシが計測される場合でも、クラウドサービス等の任意のトラフィックのジッタ及びレイテンシを計測することが可能である。
【0097】
(第3実施形態)
第3実施形態では、1台のジッタ/レイテンシ計測装置10が計測に用いられる点が、第2実施形態との主な差分である。第3実施形態では、第2実施形態との差分を中心に説明する。
【0098】
図16は、第3実施形態における、2地点の間でジッタ及びレイテンシを計測する構成例を示す図である。図16では、送信端末140と、ルータ141-1とが、第1地点に備えらえる。また、受信端末142と、ルータ141-2とが、第2地点に備えらえる。第1地点及び第2地点の間の距離は、物理的に短くてもよい。
【0099】
1台のジッタ/レイテンシ計測装置10は、第1地点におけるトラフィックのデータを、ルータ141-1から取得してもよい。また、1台のジッタ/レイテンシ計測装置10は、第2地点におけるトラフィックのデータを、ルータ141-2から取得してもよい。1台のジッタ/レイテンシ計測装置10は、第1地点におけるトラフィックのデータと、第2地点におけるトラフィックのデータとに対して、上述の第1処理手順、第2処理手順、第3処理手順及び第4処理手順のうちの所定の手順を実行することによって、各トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する。
【0100】
以上のように、1台のジッタ/レイテンシ計測装置10を用いて、2地点の間でジッタ及びレイテンシが計測されてもよい。
【0101】
これによって、2地点の間でジッタ及びレイテンシが計測され、且つ、1台のジッタ/レイテンシ計測装置10が計測に用いられる場合でも、クラウドサービス等の任意のトラフィックのジッタ及びレイテンシを計測することが可能である。
【0102】
(第4実施形態)
第4実施形態では、3地点の間でジッタ及びレイテンシが計測される点が、第2実施形態との主な差分である。第4実施形態では、第2実施形態との差分を中心に説明する。
【0103】
図17は、第4実施形態における、3地点の間でジッタ及びレイテンシを計測する構成例を示す図である。図17では、ルータ141-1と、ジッタ/レイテンシ計測装置10-1とが、第1地点に備えらえる。ルータ141-2と、ジッタ/レイテンシ計測装置10-2とが、第2地点に備えらえる。また、ルータ141-3と、ジッタ/レイテンシ計測装置10-3とが、第3地点に備えらえる。第1地点、第2地点及び第3地点以外の所定の地点には、時間差算出装置143が備えられる。時間差算出装置143は、時間差算出部16を備える。
【0104】
ジッタ/レイテンシ計測装置10-1が、第1地点におけるトラフィックのデータを、ルータ141-1から取得する。ジッタ/レイテンシ計測装置10-1は、第1地点におけるトラフィックのデータを、時間差算出装置143に出力する。ジッタ/レイテンシ計測装置10-2が、第2地点におけるトラフィックのデータを、ルータ141-2から取得する。ジッタ/レイテンシ計測装置10-2は、第2地点におけるトラフィックのデータを、時間差算出装置143に出力する。また、ジッタ/レイテンシ計測装置10-3が、第2地点におけるトラフィックのデータを、ルータ141-3から取得する。ジッタ/レイテンシ計測装置10-3は、第3地点におけるトラフィックのデータを、時間差算出装置143に出力する。
【0105】
時間差算出装置143は、第1地点におけるトラフィックのデータと、第2地点におけるトラフィックのデータと、第3地点におけるトラフィックのデータとに対して、上述の第1処理手順、第2処理手順、第3処理手順及び第4処理手順のうちの所定の手順を実行することによって、各トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する。
【0106】
ここで、時間差算出装置143は、3台のジッタ/レイテンシ計測装置10のうちから選択された2台のジッタ/レイテンシ計測装置10から出力された各データに基づいて、レイテンシを算出する。これによって、3地点のうちの任意の2地点の間のレイテンシを計測することができる。データの取得ポイントが4地点以上の場合でも、4地点以上の地点のうちの任意の2地点の間のレイテンシを計測することができる。
【0107】
以上のように、4地点以上の地点のうちの任意の2地点の間でジッタ及びレイテンシが計測されてもよい。
【0108】
これによって、4地点以上の地点のうちの任意の2地点の間でジッタ及びレイテンシが計測される場合でも、クラウドサービス等の任意のトラフィックのジッタ及びレイテンシを計測することが可能である。
【0109】
(ハードウェア構成例)
ジッタ/レイテンシ計測装置10の各機能部のうちの一部又は全部は、CPU(Central Processing Unit)等のプロセッサが、不揮発性の記録媒体(非一時的な記録媒体)を有するメモリに記憶されたプログラムを実行することにより、ソフトウェアとして実現される。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置などの非一時的な記録媒体である。通信部は、他の装置との間の通信を実行する。
【0110】
上述のように、ジッタ/レイテンシ計測装置10の各機能部のうちの一部又は全部は、例えば、LSI(Large Scale Integrated circuit)、ASIC、PLD(Programmable Logic Device)又はFPGA等を用いた電子回路(electronic circuit又はcircuitry)を含むハードウェアを用いて実現されてもよい。
【0111】
なお、上述した実施形態において、上記のような形態で実施されるプログラムは、単一の装置に依存するものでもよいし、プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することによって所定の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0112】
また、上記プログラムは、このプログラムを記憶装置等に記憶したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0113】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0114】
本発明は、送信装置及び受信装置を備える伝送システムに適用可能である。
【符号の説明】
【0115】
10…ジッタ/レイテンシ計測装置、11…パケット受信部、12…パケットヘッダ解析部、13…ルールマッチング部、14…タイムスタンプ取得部、15…記憶部、16…時間差算出部、17…ルール登録部、18…システム時刻保持部、19…データ送信部、20…ハッシュ演算部、21a~21b…剰余演算部、22a~22b…タイムカウンタ、23a~23b…取得判定部、24…時刻同期部、25…インターバルタイマ部、26a~26b…タイムスタンプメモリ、27a~27b…シーケンス番号メモリ、28a~28b…ペイロードメモリ、100…ネットワーク、140…送信端末、141…ルータ、142…受信端末、143…時間差算出装置
【要約】
【課題】クラウドサービス等の任意のトラフィックのジッタ及びレイテンシを計測することが可能であるジッタ/レイテンシ計測装置及びジッタ/レイテンシ計測方法を提供する。
【解決手段】ジッタ/レイテンシ計測装置は、フィールド情報とシーケンス番号とをパケットのヘッダから抽出し、パケットのペイロードを取得するパケットヘッダ解析部と、適合するルールをルールテーブルのうちから検索するルールマッチング部と、タイムスタンプ値を取得すると判定された場合、タイムスタンプ値を取得するタイムスタンプ取得部と、フィールド情報、シーケンス番号及びペイロードを、タイムスタンプ値に対応付けて記憶する記憶部と、タイムスタンプ値に対応付けられたフィールド情報、シーケンス番号及びペイロードに基づいて、トラフィックのジッタ及びレイテンシのうちの少なくとも一方を算出する時間差算出部とを備える。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17