(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024127553
(43)【公開日】2024-09-20
(54)【発明の名称】パケット監視装置、通信システム、及びプログラム
(51)【国際特許分類】
H04L 43/106 20220101AFI20240912BHJP
【FI】
H04L43/106
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023036771
(22)【出願日】2023-03-09
(11)【特許番号】
(45)【特許公報発行日】2024-07-11
(71)【出願人】
【識別番号】313006647
【氏名又は名称】セイコーソリューションズ株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】倉田 陽介
(57)【要約】
【課題】生存時間の調整により、タイムスタンプデータの統合の正確性とリアルタイム性とのバランスを調整して、パケット通信を監視するパケット監視装置、通信システム、及びプログラムを提供する。
【解決手段】パケット監視装置は、複数のエージェントから、パケットのヘッダ情報と、タイムスタンプとを含むタイムスタンプデータを逐次受信する通信部と、前記ヘッダ情報から生成されるパケットID毎に、タイムスタンプデータを振り分ける振り分け処理を行う振分部と、前記パケットIDに振り分けられたタイムスタンプデータに基づいて、前記パケットIDへの振り分けに関する生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す制御部と、を含む。
【選択図】
図4
【特許請求の範囲】
【請求項1】
複数のエージェントから、パケットのヘッダ情報と、タイムスタンプとを含むタイムスタンプデータを逐次受信する通信部と、
前記ヘッダ情報から生成されるパケットID毎に、タイムスタンプデータを振り分ける振り分け処理を行う振分部と、
前記パケットID毎に振り分けられたタイムスタンプデータに基づいて、前記パケットIDへの振り分けに関する生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す制御部と、
を含むパケット監視装置。
【請求項2】
前記制御部は、前記パケットIDにタイムスタンプデータが最初に振り分けられてからの生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す請求項1記載のパケット監視装置。
【請求項3】
前記制御部は、前記パケットIDに振り分けられたタイムスタンプデータに基づいて、前記パケットIDにタイムスタンプデータが振り分けられたときに、タイムスタンプの大小に応じて並べ替えを行い、タイムスタンプの差が、予め定められた閾値以上になると、タイムスタンプが最も古いタイムスタンプデータを、後処理に受け渡すと共に、
タイムスタンプの差が前記閾値未満であっても、前記パケットIDにタイムスタンプデータが最後に振り分けられてからの生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す請求項1記載のパケット監視装置。
【請求項4】
前記タイムスタンプは、前記エージェントを通過したデータパケットの通過時刻である請求項1記載のパケット監視装置。
【請求項5】
ユーザによる前記生存時間に関する入力を受け付ける入力部を更に含み、
前記制御部は、前記受け付けた入力に応じた前記生存時間を用いる請求項1記載のパケット監視装置。
【請求項6】
他のエージェントとの間でパケットの送受信を行うと共に、前記パケットのヘッダ情報と、タイムスタンプとを含むタイムスタンプデータをパケット監視装置へ逐次送信する複数のエージェントと、
請求項1~請求項5のいずれか1項に記載のパケット監視装置と、
を含む通信システム。
【請求項7】
コンピュータを、請求項1~請求項5のいずれか1項に記載のパケット監視装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット監視装置、通信システム、及びプログラムに関する。
【背景技術】
【0002】
従来より、IPネットワークの全体の通信品質状態を管理する際、フロー管理部において、ルータ等のノード間のリンクにおいて1方向に流れるパケットストリームに関して、N個の到着パケットに対して1個のパケットを抽出し、フロー情報を読み出して蓄積管理する処理を一定期間継続し、品質推定部において、当該フロー情報を用いて測定対象リンクを通過するフローの通信品質を推定するフロー通信品質推定装置が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術では、エンドツーエンドのパケットのフローを単一の定点で監視することが想定されており、1つのパケットが通過した複数の監視点のタイムスタンプデータを統合することは考慮されていない。
【0005】
また、従来技術では、リアルタイム性の確保のため、N個に1つのパケットをサンプリングして、監視の計算量を減らしている。しかしながら、この方法ではネットワーク・パケットの傾向は掴めても、瞬間的な遅延の悪化やパケットのロストといったミクロな視点での情報を取得することはできない。
【0006】
本発明は、上記問題点を解決するために成されたものであり、タイムスタンプデータの統合の正確性とリアルタイム性とのバランスを調整して、パケット通信を監視することができるパケット監視装置、通信システム、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明に係るパケット監視装置は、複数のエージェントから、パケットのヘッダ情報と、タイムスタンプとを含むタイムスタンプデータを逐次受信する通信部と、前記ヘッダ情報から生成されるパケットID毎に、タイムスタンプデータを振り分ける振り分け処理を行う振分部と、前記パケットID毎に振り分けられたタイムスタンプデータに基づいて、前記パケットIDへの振り分けに関する生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す制御部と、を含んで構成されている。
【0008】
この発明によれば、通信部によって、複数のエージェントから、パケットのヘッダ情報と、タイムスタンプとを含むタイムスタンプデータを逐次受信する。振分部によって、前記ヘッダ情報から生成されるパケットID毎に、タイムスタンプデータを振り分ける振り分け処理を行う。
【0009】
そして、制御部によって、前記パケットID毎に振り分けられたタイムスタンプデータに基づいて、前記パケットIDへの振り分けに関する生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す。
【0010】
このように、パケットID毎に、受信したタイムスタンプデータを振り分ける振り分け処理を行い、パケットIDへの振り分けに関する生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す。従って、生存時間の調整により、タイムスタンプデータの統合の正確性とリアルタイム性とのバランスを調整して、パケット通信を監視することができる。
【0011】
また、パケット監視装置において、前記制御部は、タイムスタンプデータの振分処理の第1態様として、前記パケットIDにタイムスタンプデータが最初に振り分けられてからの生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡すことができる。
【0012】
また、パケット監視装置において、前記制御部は、タイムスタンプデータの振分処理の第2態様として、前記パケットIDに振り分けられたタイムスタンプデータに基づいて、前記パケットIDにタイムスタンプデータが振り分けられたときに、タイムスタンプの大小に応じて並べ替えを行い、タイムスタンプの差が、予め定められた閾値以上になると、タイムスタンプが最も古いタイムスタンプデータを、後処理に受け渡すと共に、タイムスタンプの差が前記閾値未満であっても、前記パケットIDにタイムスタンプデータが最後に振り分けられてからの生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡すことができる。
【0013】
また、パケット監視装置において、前記タイムスタンプは、前記エージェントを通過したデータパケットの通過時刻である。
【0014】
また、パケット監視装置において、ユーザによる前記生存時間に関する入力を受け付ける入力部を更に含み、前記制御部は、前記受け付けた入力に応じた前記生存時間を用いることができる。
【0015】
また、本発明の通信システムは、他のエージェントとの間でパケットの送受信を行うと共に、前記パケットのヘッダ情報と、タイムスタンプとを含むタイムスタンプデータをパケット監視装置へ逐次送信する複数のエージェントと、上記発明のパケット監視装置と、を含む。
【0016】
また、本発明のプログラムは、コンピュータを、本発明のパケット監視装置の各部として機能させるためのプログラムである。
【発明の効果】
【0017】
本発明によれば、生存時間の調整により、タイムスタンプデータの統合の正確性とリアルタイム性とのバランスを調整して、パケット通信を監視することができる。
【図面の簡単な説明】
【0018】
【
図1】エージェント間でデータパケットが送受信される様子を示す図である。
【
図2】本発明の実施の形態に係る通信システムの一例を示す図である。
【
図3】本発明の実施の形態に係るエージェントの構成を示すブロック図である。
【
図4】本発明の実施の形態に係るパケット監視装置の構成を示すブロック図である。
【
図5】第1の実施の形態に係るパケット監視装置の振分処理を説明するための図である。
【
図7】本発明の実施の形態に係るエージェントのタイムスタンプ記録処理ルーチンのフローチャートを示す図である。
【
図8】本発明の実施の形態に係るパケット監視装置の振分処理ルーチンのフローチャートを示す図である。
【
図9】本発明の実施の形態に係るパケット監視装置の生存時間管理処理ルーチンのフローチャートを示す図である。
【
図10】第2の実施の形態に係るパケット監視装置の振分処理を説明するための図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0020】
まず、本発明の実施の形態の概要を説明する。
【0021】
本発明の実施の形態では、パケットに関するタイムスタンプを取得して、その情報を加工することでパケット通信をリアルタイムに監視する。
【0022】
ここで、リアルタイム性を重視して最初から集まってくるデータから、目的に必要となるデータだけを残し、不要なものはその場で捨てながら処理を進めていくストリームデータ処理がより重要視されるようになってきている。
【0023】
昨今、リアルタイム性を重視して集まってくるデータから、目的に必要となるデータだけを残し、不要なものはその場で捨てながら処理を進めていくストリームデータ処理がより重要視されるようになってきている。
複数機器間でのパケット通信に関わる各種記録をリアルタイムに処理するためには、監視エージェントは高精度にOS内で起こったターゲットイベントを検出し、検出した時刻を記録(タイムスタンプを取得)して、速やかにデータ処理をするバックエンドサーバに送信しなければならないし、データを受信したバックエンドサーバは、順序等が保証されずにバラバラに届くタイムスタンプデータに対して、関連させるべきデータの結合(Aggregation)、関連データの時系列ソートなどの処理を高速に行う必要がある。
【0024】
本発明の実施の形態では、このバックエンドサーバで実施されるデータ結合や時系列ソートを高速に行うようにする。
【0025】
また、本発明の実施の形態では、パッシブ遅延計測によるパケット通信監視を行う。パッシブ遅延計測では実サービスのデータパケットの全て、あるいは一部の通過時刻を記録する。
【0026】
例えば、エージェントA,B間でデータパケット(例えば、映像パケット)の送受信がなされているとする。エージェントA,B間のネットワークの状態を調べる場合には、通常はデータパケットとは別にPingパケット、あるいはOWAMP/TWAMPパケットを送受信して疎通性や伝送遅延時間を計る。このような遅延計測のやり方をアクティブ遅延計測と呼び、主に通信インフラ側の正常性確認に重きを置いた計測の方法である。
【0027】
一方のパッシブ遅延計測では、計測専用のパケットを流すのではなく本サービスの通信パケット自体(データパケット)の全て、あるいはその一部のサンプルの伝送遅延時間を計る。これはインフラの正常性だけでなく本サービスの通信自体を監視している。
【0028】
また、一般的にTCP/IPの通信は、TCP及びUDPの種別、送信元IPアドレス、送信先IPアドレス、送信元port番号、及び送信先port番号の5タプルを使ってエージェント間の通信路を識別する。
【0029】
例えば、
図1に示すように、パケットnの通過タイムスタンプは、エージェントa、エージェントm、エージェントbの3箇所で記録され、まずはこれらを同じパケットのものであると紐づける、すなわち、データ結合をする必要がある。5タプルだけではパケット識別のための情報が足りず、別の情報を追加して、各パケットを識別するための情報(パケットID)とする。具体的には、UDPの場合、5タプルに加えて、UDPヘッダのChecksumフィールドおよびIPヘッダ内のIdentifireフィールドを合わせてパケットIDとする。TCPの場合、5タプルに加えて、TCPヘッダのSequence Numberフィールドを合わせてパケットIDとする。
【0030】
したがって、各エージェントはパケットIDとタイムスタンプ情報をセットにしてタイムスタンプデータとしてバックエンドサーバに送信し、バックエンドサーバは受信したタイムスタンプデータからパケットIDを計算し同じパケットIDを持つもの同士を結合する。
【0031】
以上の処理により、1つのパケットに関する複数のタイムスタンプを1つにまとめることができるが、ここで行っているのは、あくまでもバラバラのタイムスタンプデータを1つにまとめるだけであって、まだ、遅延計測やその他の技術的、あるいはビジネス上意味のあるデータへの加工は行っていない。このような加工作業は、後処理で実施する。
【0032】
[第1の実施の形態]
<第1の実施の形態のシステム構成>
第1の実施の形態に係る通信システムの構成について説明する。
図2に示すように、本発明の実施の形態に係る通信システム100は、バックエンドサーバであるパケット監視装置10と、複数のエージェント20とを備えている。パケット監視装置10及び複数のエージェント20は、イーサネット(登録商標)などのLAN(Local Area Network)やインターネットなどのネットワークNを介して接続されている。
【0033】
複数のエージェント20は、CPUと、RAMと、後述する各種処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このエージェント20は、エージェント20間で、パケットの転送を含む送受信を行う。
【0034】
このエージェント20は、機能として、
図3に示すように、通信部30と、タイムスタンプ生成部32とを備えている。
【0035】
通信部30は、他のエージェント20との間で、パケットの送受信を行う。
【0036】
タイムスタンプ生成部32は、パケットのヘッダ情報を含むパケットIDと、タイムスタンプとを含むタイムスタンプデータを生成する。ここで、タイムスタンプは、当該エージェント20のタイムスタンプ基準点をパケットが通過した時刻である。
【0037】
通信部30は、生成されたタイムスタンプデータを、パケット監視装置10へ逐次送信する。
【0038】
本実施の形態におけるパケット監視装置10は、CPUと、RAMと、後述する各種処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このパケット監視装置10は、機能として、
図4に示すように、入力部38と、通信部40と、記憶部42と、振分部44と、制御部46と、処理部48とを備えている。
【0039】
入力部38は、ユーザによる生存時間に関する入力を受け付ける。入力部39は、例えば、生存時間の数値そのもの、又はデフォルトの生存時間からの増減値などを受け付ける。通信部40は、複数のエージェント20から、タイムスタンプデータを逐次受信する。
【0040】
記憶部42は、前キュー42A及び後キュー42Bを備えている。
【0041】
前キュー42Aには、逐次受信したタイムスタンプデータが受信順に格納される。
【0042】
後キュー42Bには、制御部46から出力された、振り分け済みのタイムスタンプデータが順番に格納される。
【0043】
振分部44は、前キュー42Aからタイムスタンプデータを取り出し、パケットID毎に、タイムスタンプデータを振り分ける振り分け処理を行う。
【0044】
制御部46は、パケットIDに振り分けられたタイムスタンプデータに基づいて、パケットIDへの振り分けに関する生存時間が経過すると、パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡すために後キュー42Bへ格納する。
【0045】
具体的には、制御部46は、パケットIDにタイムスタンプデータが最初に振り分けられてからの生存時間が経過すると、当該パケットIDに振り分けられたタイムスタンプデータを、後キュー42Bへ格納する。
【0046】
例えば、
図5に示すように、振分部44は、パケットIDであるキーKey(n)と紐づくデータ一時保管箱(キャッシュ)に、タイムスタンプデータData(n)[1]、・・・、Data(n)[k]を貯めていく。生存時間の間、タイムスタンプデータを貯め続け、生存時間が経過すると、制御部46は、当該保管箱内の全タイムスタンプデータを後キュー42Bに格納し、当該保管箱ごと消去する。
【0047】
本実施の形態では、生存時間は、あるキーに対応する保管箱が生成された時からの経過時間であり、生存時間が経過すると、当該保管箱が消滅する。
【0048】
また、後キュー42Bにタイムスタンプデータが格納される際、タイムスタンプデータにデータ加工処理が施される。例えば、後処理用に用意されたデータ型への載せ替え作業が、データ加工処理として施される。
【0049】
図5では、Key(m)に対応する保管箱の生存時間が経過し、全てのタイムスタンプデータData(m)[1]、・・・、Data(m)[l]が後キュー42Bに格納され、当該保管箱ごと消去される例を示している。
【0050】
処理部48は、後キュー42Bから、振り分け済みのタイムスタンプデータを取り出し、後処理として、例えばパケット単位の遅延計測、連続したパケット間のPacket Delay Variance (PDV)計測、遅延やPDVに対する基本統計処理、単位時間あたりの平均・最大・最小・分散計算、計測対象通信のパケット・ロスト検出、計測対象通信のパケット伝送経路の変更検出、又は計測対象通信のパケット混雑検出等を行う。
【0051】
例えば、パケットnについての振り分け済みのタイムスタンプデータを、P(n)とすると、P(n).src(上記
図1のエージェントaのタイムスタンプ)、P(n).dst(上記
図1のエージェントbのタイムスタンプ)のように、P(n)内にすべてのタイムスタンプ情報が含まれている。
【0052】
このとき、単純なエージェントa,b間の遅延は、
Delay(n)=P(n).dst-P(n).src
で計算される。PDVはDelay(n)とDelay(n-1)の差である。すなわち、
PDV(n)=Delay(n)-Delay(n-1)
である。PDVや単位時間当たりの基本統計量の計算などを考えても分かるように、データ加工処理時にはP(n)が正しく時系列順に並んでいる必要がある。
【0053】
パケット・ロスト検出、経路変更検出、パケット混雑検出については詳細には記載しないが、
図6のようにイベントの発生をパケット・タイムスタンプデータの比較で検出することが可能である。
【0054】
パケット・ロストや経路変更は、エージェントaとエージェントb間のタイムスタンプ情報の欠損に基づいて検出される。また、パケット混雑は、各エージェントa,bやエージェントm1、m2での時系列のタイムスタンプ差の狭まり方で検出することが可能である。いずれにしても、データ加工処理において、時系列順にタイムスタンプデータを並べ替える処理を、振り分け処理と同様に高速に実施する必要がある。
【0055】
また、生存時間を短くするとリアルタイム性は向上するが、環境によっては生存時間内に必要なタイムスタンプデータすべてが揃わずデータの統合が正しく行えない可能性も高くなる。そのため、本発明の実施の形態では、生存時間は、ユーザによって設定変更できるようにする。例えば、ユーザはタイムスタンプデータの使用目的を考慮して、パケット監視装置10に対して入力部38により所望の生存時間に関する情報(例えば、生存時間の数値そのもの、又はデフォルトの生存時間からの増減値など)を入力し、その入力に基づいて生存時間を決定する。
【0056】
<第1の実施の形態の作用>
次に、本発明の実施の形態の各エージェント20による処理について
図7を参照して説明する。
【0057】
エージェント20間で、データパケットの送受信が行われているときに、エージェント20の各々は、
図7に示すタイムスタンプ記録処理ルーチンを実行する。
【0058】
まず、ステップS100において、監視対象パケットの監視条件(フック条件、例えば5-tuple)に基づいて、通信部30において対象データパケットが通過したか否かを判定する。例えば、監視条件に該当する対象データパケットを、エージェント20自身が送信したり、監視条件に該当する対象データパケットを、他のエージェント20から受信すると、対象データパケットの通過が検出され、ステップS102へ移行する。
【0059】
ステップS102では、タイムスタンプ生成部32は、データパケットのヘッダ情報を含むパケットIDと、タイムスタンプとを含むタイムスタンプデータを生成する。ここで、タイムスタンプは、当該エージェント20のタイムスタンプ基準点をデータパケットが通過した時刻である。
【0060】
ステップS104では、通信部30により、生成されたタイムスタンプデータを、パケット監視装置10へ送信し、当該処理ルーチンを終了する。
【0061】
次に、本発明の実施の形態のパケット監視装置10による処理について
図8、9を参照して説明する。
【0062】
パケット監視装置10は、各エージェント20からタイムスタンプデータを受信すると、受信したデータパケットを記憶部42の前キュー42Aに格納する。そして、パケット監視装置10は、
図8に示す振分処理ルーチンを実行する。
【0063】
まず、ステップS110において、振分部44は、前キュー42Aにタイムスタンプデータが格納されているか否かを判定する。前キュー42Aにタイムスタンプデータが格納されている場合には、ステップS112へ移行する。一方、前キュー42Aにタイムスタンプデータが格納されていない場合には、当該処理ルーチンを終了する。
【0064】
ステップS112では、振分部44は、前キュー42Aからタイムスタンプデータを取り出し、パケットID毎に、タイムスタンプデータを振り分ける振り分け処理を行い、当該処理ルーチンを終了する。振り分け処理では、パケットIDであるキーと紐づくデータ一時保管箱(キャッシュ)に、タイムスタンプデータを貯めていく。
【0065】
また、パケット監視装置10は、
図9に示す生存時間管理処理ルーチンを実行する。
【0066】
ステップS120において、生存時間が経過したパケットIDがあるか否かを判定する。生存時間が経過したパケットIDがない場合には、当該処理ルーチンを終了する。一方、生存時間が経過したパケットIDがある場合には、ステップS122へ移行する。
【0067】
ステップS122では、該当するパケットIDの保管箱の全てのタイムスタンプデータを、後キュー42Bへ格納すると共に、当該保管箱を削除して、当該処理ルーチンを終了する。
【0068】
以上説明したように、第1の実施の形態に係る通信システムによれば、パケットID毎に、受信したタイムスタンプデータを振り分ける振り分け処理を行い、パケットIDへの振り分けに関する生存時間が経過すると、パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す。これにより、生存時間の調整により、タイムスタンプデータの統合の正確性とリアルタイム性とのバランスを調整して、パケット通信を監視することができる。
【0069】
[第2の実施の形態]
次に第2の実施の形態に係る通信システムについて説明する。なお、第2の実施の形態に係る通信システムは、第1の実施の形態と同様の構成であるため、同一符号を付して説明を省略する。
【0070】
第2の実施の形態では、タイムスタンプデータの振分処理が、第1の実施の形態と異なっている。
【0071】
第2の実施の形態に係るパケット監視装置10の振分部44は、前キュー42Aからタイムスタンプデータを取り出し、パケットID毎に、タイムスタンプデータを振り分ける振り分け処理を行う。
【0072】
制御部46は、パケットIDに振り分けられたタイムスタンプデータに基づいて、パケットIDにタイムスタンプデータが振り分けられたときに、タイムスタンプの大小に応じて並べ替えを行い、タイムスタンプの差が、予め定められた閾値(例えば、50ms)以上になると、タイムスタンプが最も古いタイムスタンプデータを、後処理に受け渡すために後キュー42Bへ格納する。
【0073】
ここで、後キュー42Bに格納されるタイムスタンプデータは、これ以上古いタイムスタンプデータはもう届かないと判断されたデータである。また、タイムスタンプの差は、あるキーに対応する保管箱内の最も古いタイムスタンプデータと最も新しいタイムスタンプデータのタイムスタンプ差である。
【0074】
例えば、
図10に示すように、パケットIDであるキーKey(m)と紐づくデータ一時保管箱(キャッシュ)に格納されたタイムスタンプデータのうちの最も古いタイムスタンプデータData(m)[l]を後キュー42Bに格納し、当該保管箱から、タイムスタンプデータData(m)[l]を消去する。
【0075】
制御部46は、パケットIDにタイムスタンプデータが最後に振り分けられてからの生存時間(例えば、100ms)が経過すると、以降はこのパケットIDのタイムスタンプデータはもう届かないと判断し、パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡すために後キュー42Bへ格納する。
【0076】
例えば、上記
図10に示すように、パケットIDであるキーKey(n)と紐づくデータ一時保管箱(キャッシュ)に、タイムスタンプの降順に並べ替えを行いながら、タイムスタンプデータData(n)[1]、・・・、Data(n)[k]を貯めていく。生存時間の間、タイムスタンプデータを貯め続け、生存時間が経過すると、当該保管箱内の全タイムスタンプデータを後キュー42Bに格納し、当該保管箱ごと消去する。
【0077】
本実施の形態では、生存時間は、あるキーに対応する保管箱に変更(データの追加や削除)があってから何の変更もなく保管箱が消滅するまでの時間である。
【0078】
また、後処理で目的とする計算によっては、「タイムスタンプの差」が閾値以上であると判断するルールを変えてもよい。例えば、PDV計算であれば、2番目に小さいタイムスタンプとのタイムスタンプの差を、「タイムスタンプの差」として計算すればよい。
【0079】
具体的には、R1,・・・,Ri-1を保管箱内のタイムスタンプデータとし、この順でタイムスタンプ降順であったとする。すると、
タイムスタンプ(R1)-タイムスタンプ(Ri-1)>50[ms]
となるとき、タイムスタンプデータRi、Ri-1の両方とも、「タイムスタンプの差」が閾値以上である。この場合、2つのタイムスタンプデータRi、Ri-1が時系列順序確定とみなせるから、この2つのデータでPDV(i)を計算する。そして、保管箱からはタイムスタンプデータRiのみを除去する。
【0080】
なお、第2の実施の形態に係る通信システムの他の構成及び作用については、第1の実施の形態に係る通信システムと同様であるため、説明を省略する。
【0081】
以上説明したように、第2の実施の形態に係る通信システムによれば、パケットID毎に、受信したタイムスタンプデータを振り分ける振り分け処理を行い、振り分けられたタイムスタンプデータのタイムスタンプの差が、予め定められた閾値以上になると、タイムスタンプが最も古いタイムスタンプデータを、後処理に受け渡すと共に、パケットIDへの振り分けに関する生存時間が経過すると、パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す。これにより、生存時間の調整により、タイムスタンプデータの統合の正確性とリアルタイム性とのバランスを調整して、パケット通信を監視することができる。
【0082】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【符号の説明】
【0083】
10 パケット監視装置
20 エージェント
30 通信部
32 タイムスタンプ生成部
38 入力部
40 通信部
42 記憶部
42A 前キュー
42B 後キュー
44 振分部
46 制御部
48 処理部
100 通信システム
【手続補正書】
【提出日】2024-06-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数のエージェントから、パケットのヘッダ情報と、タイムスタンプとを含むタイムスタンプデータを逐次受信する通信部と、
前記ヘッダ情報から生成されるパケットID毎に、タイムスタンプデータを振り分ける振り分け処理を行う振分部と、
前記パケットID毎に振り分けられたタイムスタンプデータに基づいて、前記パケットIDへの振り分けに関する生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す制御部と、
を含むパケット監視装置。
【請求項2】
前記制御部は、前記パケットIDにタイムスタンプデータが最初に振り分けられてからの生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す請求項1記載のパケット監視装置。
【請求項3】
前記制御部は、前記パケットIDに振り分けられたタイムスタンプデータに基づいて、前記パケットIDにタイムスタンプデータが振り分けられたときに、タイムスタンプの大小に応じて並べ替えを行い、前記パケットIDに振り分けられたタイムスタンプデータのうちの最も古いタイムスタンプデータと最も新しいタイムスタンプデータとのタイムスタンプの差が、予め定められた閾値以上になると、タイムスタンプが最も古いタイムスタンプデータを、後処理に受け渡すと共に、
タイムスタンプの差が前記閾値未満であっても、前記パケットIDにタイムスタンプデータが最後に振り分けられてからの生存時間が経過すると、前記パケットIDに振り分けられたタイムスタンプデータを、後処理に受け渡す請求項1記載のパケット監視装置。
【請求項4】
前記タイムスタンプは、前記エージェントを通過したデータパケットの通過時刻である請求項1記載のパケット監視装置。
【請求項5】
ユーザによる前記生存時間に関する入力を受け付ける入力部を更に含み、
前記制御部は、前記受け付けた入力に応じた前記生存時間を用いる請求項1記載のパケット監視装置。
【請求項6】
他のエージェントとの間でパケットの送受信を行うと共に、前記パケットのヘッダ情報と、タイムスタンプとを含むタイムスタンプデータをパケット監視装置へ逐次送信する複数のエージェントと、
請求項1~請求項5のいずれか1項に記載のパケット監視装置と、
を含む通信システム。
【請求項7】
コンピュータを、請求項1~請求項5のいずれか1項に記載のパケット監視装置の各部として機能させるためのプログラム。