(57)【特許請求の範囲】
【請求項１】
シーケンス番号が付加されたパケットを受信して処理するパケット受信装置であって、
前記パケットが前記シーケンス番号が連続して到着しているか否かを検出する検出手段と、
前記検出手段にて前記シーケンス番号が不連続であることを検出した場合、前記シーケンス番号が不連続となったパケット間の受信時間の差について確認する確認手段と、
前記確認手段の確認結果を基に実際にパケットロスが発生したかどうかを判断する判断手段とを有するパケット受信装置であって、
前記確認手段は、前記シーケンス番号が不連続になったパケット間の受信時間の差を算出し、
前記判断手段は、前記シーケンス番号が不連続になったパケット間の受信時間の差が予め設定しておいたロス判定時間より短い場合に前記シーケンス番号の不連続をストリームまたは接続の切り替わりによるものであると判断することを特徴とするパケット受信装置。
【請求項２】
上記の請求項１に記載のパケット受信装置を含むことを特徴とするパケット受信システム。
【請求項３】
シーケンス番号が付加されたパケットを受信して処理するパケット受信装置に用いるパケット受信方法であって、
前記パケット受信装置が、前記パケットが前記シーケンス番号が連続して到着しているか否かを検出する検出処理と、前記検出処理にて前記シーケンス番号が不連続であることを検出した場合、前記シーケンス番号が不連続となったパケット間の受信時間の差について確認する確認処理と、前記確認処理の確認結果を基に実際にパケットロスが発生したかどうかを判断する判断処理とを実行するパケット受信方法であって、
前記確認処理において、前記シーケンス番号が不連続になったパケット間の受信時間の差を算出し、
前記判断処理において、前記シーケンス番号が不連続になったパケット間の受信時間の差が予め設定しておいたロス判定時間より短い場合に前記シーケンス番号の不連続をストリームまたは接続の切り替わりによるものであると判断することを特徴とするパケット受信方法。
【請求項４】
シーケンス番号が付加されたパケットを受信して処理するパケット受信装置内の中央処理装置に実行させるプログラムであって、
前記パケットが前記シーケンス番号が連続して到着しているか否かを検出する検出処理と、前記検出処理にて前記シーケンス番号が不連続であることを検出した場合、前記シーケンス番号が不連続となったパケット間の受信時間の差について確認する確認処理と、前記確認処理の確認結果を基に実際にパケットロスが発生したかどうかを判断する判断処理とを含むプログラムであって、
前記確認処理において、前記シーケンス番号が不連続になったパケット間の受信時間の差を算出し、
前記判断処理において、前記シーケンス番号が不連続になったパケット間の受信時間の差が予め設定しておいたロス判定時間より短い場合に前記シーケンス番号の不連続をストリームまたは接続の切り替わりによるものであると判断することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケット受信装置、パケット受信システム及びそれらに用いるパケット受信方法並びにそのプログラムに関し、特にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク上のリアルタイム伝送方式に用いるパケット受信方法に関する。
【背景技術】
【０００２】
ＩＰネットワーク上のリアルタイム伝送方式としては、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）プロトコルを用いた伝送が一般的である。ＲＴＰでは、シーケンス番号を用いた単純な計算からパケットロスの計算が行われる(例えば、非特許文献１参照)。
【０００３】
パケットロスは、本来、ネットワーク上でパケットが損失してしまったもののみ、パケットロスとして扱うべきであるが、上記の伝送方式におけるパケットロス計算は、シーケンス番号を用いた計算を行っているため、ストリームや接続の切り替わりによって発生するシーケンス番号の不連続もパケットロスとして扱われてしまう。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“ＲＴＰ：Ａ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ａｐｐｌｉｃａｔｉｏｎｓ”，ＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ）１８８９，Ｊａｎｕａｒｙ  １９９６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した本発明に関連する伝送方式では、パケットロスが実際に受信したパケット数と、受信したパケットの中で最大のシーケンス番号と、受信したストリームで初めに受け取ったシーケンス番号とから、単純な計算によって算出されている（上記の非特許文献１参照）
【０００６】
本来のパケットロスは、ネットワークの経路上でパケットが損失した場合のみをパケットロスとして扱うべきであるが、ストリームや接続が切り替わった際にシーケンス番号の不連続が発生すると、本発明に関連するパケットロスの算出方法では、パケットロスとして計上すべきではないシーケンス番号の不連続までパケットロスとして計上されてしまうという問題がある。
【０００７】
そこで、本発明の目的は上記の問題点を解消し、本来、パケットロスとして計上するべきではないシーケンス番号の不連続を判定することができるパケット受信装置、パケット受信システム及びそれらに用いるパケット受信方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明によるパケット受信装置は、シーケンス番号が付加されたパケットを受信して処理するパケット受信装置であって、
前記パケットが前記シーケンス番号が連続して到着しているか否かを検出する検出手段と、
前記検出手段にて前記シーケンス番号が不連続であることを検出した場合、前記シーケンス番号が不連続となってから経過した時間について確認する確認手段と、
前記確認手段の確認結果を基に実際にパケットロスが発生したかどうかを判断する判断手段とを備えている。
【０００９】
本発明によるパケット受信システムは、上記のパケット受信装置を含むことを特徴とする。
【００１０】
本発明によるパケット受信方法は、シーケンス番号が付加されたパケットを受信して処理するパケット受信装置に用いるパケット受信方法であって、
前記パケット受信装置が、前記パケットが前記シーケンス番号が連続して到着しているか否かを検出する検出処理と、前記検出処理にて前記シーケンス番号が不連続であることを検出した場合、前記シーケンス番号が不連続となってから経過した時間について確認する確認処理と、前記確認処理の確認結果を基に実際にパケットロスが発生したかどうかを判断する判断処理とを実行している。
【００１１】
本発明によるプログラムは、シーケンス番号が付加されたパケットを受信して処理するパケット受信装置内の中央処理装置に実行させるプログラムであって、
前記パケットが前記シーケンス番号が連続して到着しているか否かを検出する検出処理と、前記検出処理にて前記シーケンス番号が不連続であることを検出した場合、前記シーケンス番号が不連続となってから経過した時間について確認する確認処理と、前記確認処理の確認結果を基に実際にパケットロスが発生したかどうかを判断する判断処理とを含むことを特徴とする。
【発明の効果】
【００１２】
本発明は、上記のような構成及び動作とすることで、本来、パケットロスとして計上するべきではないシーケンス番号の不連続を判定することができるという効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態によるパケット受信装置の構成例を示すブロック図である。
【図２】本発明の実施の形態において受信したパケットの一例を示す図である。
【図３】本発明の実施の形態によるパケット受信装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
次に、本発明の実施の形態について図面を参照して説明する。まず、本発明によるパケット受信方法の概要について説明する。
【００１５】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークを利用した通信においては、音声等のデータを伝送する場合、データの伝送プロトコルとしてＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）を用い、シーケンス番号やタイムスタンプに応じた通信が行われる。
【００１６】
ＲＴＰでは、パケット受信装置においてシーケンス番号を監視し、シーケンス番号に基づいてパケットロスを検出する。
【００１７】
本来、パケットロスは、ＩＰネットワーク上のパケットが損失した時のみ計上されるべきだが、ストリームや接続が切り替わった時にもシーケンス番号の不連続が発生し、パケットロスとして計上するべきではないシーケンス番号の不連続もパケットロスとして計上されてしまう。
【００１８】
本発明では、シーケンス番号の不連続に対して、シーケンス番号が不連続となってから経過した時間についても確認を行うことにより、実際にパケットロスが発生したのか、ストリームや接続の切り替わり等の動作によりシーケンス番号の不連続が発生したのかを判断し、本発明に関連するパケットロスの算出方法より柔軟なパケットロス判定を行うことを特徴としている。
【００１９】
図１は本発明の実施の形態によるパケット受信装置の構成例を示すブロック図であり、図２は本発明の実施の形態において受信したパケットの一例を示す図である。
【００２０】
図１において、本発明の実施の形態によるパケット受信装置１は、パケット処理部１１と、時間算出部１２と、シーケンス番号算出部１３と、パケットロス判定部１４とを備えて構成されている。尚、パケット受信装置１のインタフェース等の他の構成要素については公知であるので、図示及びその説明を省略する。
【００２１】
次に、図２を参照して、本発明の実施の形態において受信したパケットの例について説明する。
【００２２】
本発明の実施の形態では、シーケンス番号が不連続になった時に、シーケンス番号が不連続になった時のシーケンス番号（以下、シーケンス番号が不連続になった時のシーケンス番号をＳＮ＿ｓｔｏｐとする）がパケット処理部１１に到着した時間（以下、ＳＮ＿ｓｔｏｐがパケット処理部１１に到着した時間をＴ＿ｓｔｏｐとする）と、ＳＮ＿ｓｔｏｐの次に、パケット処理部１１に実際に到着したシーケンス番号（以下、ＳＮ＿ｓｔｏｐの次にパケット処理部１１に実際に到着したシーケンス番号をＳＮ＿ｒｅｃｖとする）がパケット処理部１１に到着した時間（以下、ＳＮ＿ｒｅｃｖがパケット処理部１１に到着した時間をＴ＿ｒｅｃｖとする）の差分から、シーケンス番号が不連続になってから経過した時間（以下、シーケンス番号が不連続になってから経過した時間をＴ＿ｐａｓｔとする）を算出する。
【００２３】
Ｔ＿ｐａｓｔと、受信したパケットのパケット周期とから算出する、ＳＮ＿ｓｔｏｐからＴ＿ｐａｓｔ経過した後に到着するべきシーケンス番号（以下、ＳＮ＿ｓｔｏｐからＴ＿ｐａｓｔ経過した後に到着するべきシーケンス番号をＳＮ＿ｃａｌとする)を算出し、ＳＮ＿ｃａｌとＳＮ＿ｒｅｃｖとを比較して、シーケンス番号が同じ(ＳＮ＿ｃａｌ＝ＳＮ＿ｒｅｃｖ)であれば、Ｔ＿ｐａｓｔ経過するまでに受信したパケットは、パケットロスとして計上する。
【００２４】
比較したシーケンス番号が異なる時(ＳＮ＿ｃａｌ≠ＳＮ＿ｒｅｃｖ)は、予め設定しておいたロス判定時間（以下、ロス判定時間をＴ＿ｌｏｓｓとする）とＴ＿ｐａｓｔとを比較する。その結果、Ｔ＿ｐａｓｔ＞Ｔ＿ｌｏｓｓの時、Ｔ＿ｐａｓｔ経過するまでに受信したパケットは損失したと判断し、パケットロスとして計上する。
【００２５】
また、Ｔ＿ｐａｓｔ＜Ｔ＿ｌｏｓｓの時、シーケンス番号が不連続になったのは、ストリームや接続の切り替わりによるものであると考え、Ｔ＿ｐａｓｔ経過するまでに受信したパケットは損失していないと判断し、パケットロスを計上しない。
【００２６】
Ｔ＿ｌｏｓｓは、使用しているシステムや端末の処理速度や負荷量に応じて任意に設定可能な時間であり、Ｔ＿ｐａｓｔと比較することで、本発明の実施の形態によるパケットロス判定に使用する。
【００２７】
本発明の実施の形態では、Ｔ＿ｐａｓｔとＴ＿ｌｏｓｓとの比較を行い、Ｔ＿ｐａｓｔがＴ＿ｌｏｓｓより短い時は、Ｔ＿ｐａｓｔ経過する間に受信したパケットを損失として計上しないことにより、本来、パケットロスとして計上するべきでないシーケンス番号の不連続によるパケットロスを防ぎ、より柔軟なパケットロス判定を行うことができる。
【００２８】
続いて、図１を参照して本発明の実施の形態によるパケット受信装置１の各部の処理について説明する。
【００２９】
パケット処理部１１は、受信したパケットＡからシーケンス番号を検出し、パケットＡから検出したシーケンス番号（以下、パケットＡから検出したシーケンス番号をＳＮ＿ａとする）を保持するとともに、パケットＡを受信した時間（以下、パケットＡを受信した時間をＴ＿ａとする）を保持する。
【００３０】
パケット処理部１１は、パケットＡの次に受信したパケットＢから検出したシーケンス番号（以下、パケットＢから検出したシーケンス番号をＳＮ＿ｂとする）と、保持しているシーケンス番号ＳＮ＿ａとを比較する。
【００３１】
パケット処理部１１は、シーケンス番号の差分が１ならば(ＳＮ＿ｂ−ＳＮ＿ａ＝１)、シーケンス番号が連続で到着していると判断し、シーケンス番号の差分が１でなければ(ＳＮ＿ｂ−ＳＮ＿ａ≠１)、シーケンス番号が不連続になったと判断する。
【００３２】
パケット処理部１１は、シーケンス番号が連続で到着しているならば、シーケンス番号ＳＮ＿ｂを保持するとともに、パケットＢを受信した時間（以下、パケットＢを受信した時間をＴ＿ｂとする）を保持する。
【００３３】
パケット処理部１１は、シーケンス番号が不連続になった時、保持しているシーケンス番号ＳＮ＿ａをＳＮ＿ｓｔｏｐとしてシーケンス番号算出部１３に渡した後、シーケンス番号ＳＮ＿ｂを保持するとともに、保持している時間Ｔ＿ａをＴ＿ｓｔｏｐとして時間算出部１２に渡した後、時間Ｔ＿ｂを保持する。
【００３４】
また、パケット処理部１１は、シーケンス番号ＳＮ＿ｂと時間Ｔ＿ｂとを保持するとともに、保持しているシーケンス番号ＳＮ＿ｂをＳＮ＿ｒｅｃｖとしてパケットロス判定部１４に渡す機能と、保持している時間Ｔ＿ｂをＴ＿ｒｅｃｖとして時間算出部１２に渡す機能とを備える。
【００３５】
時間算出部１２は、パケット処理部１１から受け取ったＴ＿ｓｔｏｐとＴ＿ｒｅｃｖとの時間の差分からＴ＿ｐａｓｔを、
Ｔ＿ｐａｓｔ＝Ｔ＿ｒｅｃｖ−Ｔ＿ｓｔｏｐ
という式にて算出する。
【００３６】
時間算出部１２は、算出したＴ＿ｐａｓｔをシーケンス番号算出部１３とパケットロス判定部１４とに渡す機能を備える。
【００３７】
シーケンス番号算出部１３は、パケット処理部１１から受け取ったＳＮ＿ｓｔｏｐと、時間算出部１２から受け取ったＴ＿ｐａｓｔと、受信したパケットのパケット周期から算出したＳＮ＿ｃａｌとをパケットロス判定部１４に渡す機能を備える。
【００３８】
パケットロス判定部１４は、シーケンス番号算出部１３から受け取ったＳＮ＿ｃａｌとパケット処理部１１から受け取ったＳＮ＿ｒｅｃｖとを比較し、パケットロスの判定を行う機能を備える。
【００３９】
また、パケットロス判定部１４は、予め設定していたＴ＿ｌｏｓｓと時間算出部１２から受け取ったＴ＿ｐａｓｔとを比較し、パケットロスの判定を行う機能を備える。
【００４０】
図３は本発明の実施の形態によるパケット受信装置１の動作を示すフローチャートである。これら図１〜図３を参照して本発明の実施の形態によるパケット受信装置１の動作について説明する。尚、図３に示す処理は、パケット受信装置１のＣＰＵ（中央処理装置）（図示せず）が予めメモリ等（図示せず）に格納されたプログラムを実行することでも実現可能である。
【００４１】
パケット受信装置１は、予め、Ｔ＿ｌｏｓｓを設定し、その設定値をパケットロス判定部１４に保持しておく。パケット受信装置１は、受信したパケットのシーケンス番号が連続かどうかをパケット処理部１１にて確認する(図３ステップＳ１)。
【００４２】
パケット受信装置１は、パケット処理部１１で保持しているシーケンス番号ＳＮ＿ａと、シーケンス番号ＳＮ＿ａの次に到着したシーケンス番号ＳＮ＿ｂとを比較し、シーケンス番号の差分が１だけインクリメント(増加)しているパケットを受け取れば、シーケンス番号が連続で到着していると判断する。
【００４３】
パケット受信装置１は、シーケンス番号の差分が１だけインクリメントされていなければ、シーケンス番号が不連続になったと判断し（図３ステップＳ２）、パケット処理部１１で保持しているシーケンス番号ＳＮ＿ａをＳＮ＿ｓｔｏｐとしてシーケンス番号算出部１３に渡すとともに、保持している時間Ｔ＿ａをＴ＿ｓｔｏｐとして時間算出部１２に渡す。
【００４４】
パケット受信装置１は、パケット処理部１１でパケットＢを受信した時にシーケンス番号ＳＮ＿ｂと時間Ｔ＿ｂとを保持するとともに、保持しているシーケンス番号ＳＮ＿ｂをＳＮ＿ｒｅｃｖとしてパケットロス判定部１４に渡し、保持している時間Ｔ＿ｂをＴ＿ｒｅｃｖとして時間算出部１２に渡す。
【００４５】
パケット受信装置１は、上記のステップＳ２の動作で、時間算出部１２がパケット処理部１１からＴ＿ｓｔｏｐとＴ＿ｒｅｃｖとを受け取った後、Ｔ＿ｓｔｏｐとＴ＿ｒｅｃｖとの時間の差分からＴ＿ｐａｓｔを算出し、算出したＴ＿ｐａｓｔをシーケンス番号算出部１３とパケットロス判定部１４とに渡す(図３ステップＳ３)。
【００４６】
パケット受信装置１は、ステップＳ３の動作後、シーケンス番号算出部１３で、パケット処理部１１から受け取ったＳＮ＿ｓｔｏｐと、時間算出部１２から受け取ったＴ＿ｐａｓｔと、受信したパケットのパケット周期とからＳＮ＿ｃａｌを算出し、パケットロス判定部１４に渡す(図３ステップＳ４)。
【００４７】
パケット受信装置１は、パケットロス判定部１４で、ステップＳ２の動作でパケット処理部１１から受け取ったＳＮ＿ｒｅｃｖと、ステップＳ４の動作でシーケンス番号算出部１３から受け取ったＳＮ＿ｃａｌとを比較する(図３ステップＳ５)。
【００４８】
パケットロス判定部１４は、ＳＮ＿ｒｅｃｖ＝ＳＮ＿ｃａｌであれば、Ｔ＿ｐａｓｔ経過するまでに、パケット周期通りにパケットを受信した場合のパケットの個数分のパケットロスが発生したと判断し、その旨を判定結果として出力する(図３ステップＳ８)。
【００４９】
パケットロス判定部１４は、ＳＮ＿ｒｅｃｖ≠ＳＮ＿ｃａｌであれば、Ｔ＿ｐａｓｔとＴ＿ｌｏｓｓとを比較する(図３ステップＳ６)。パケットロス判定部１４は、Ｔ＿ｐａｓｔ＜Ｔ＿ｌｏｓｓであれば、ストリームや接続の切り替わりによってシーケンス番号が不連続になったと判定し、パケットロスではなかった旨を判定結果として出力する(図３ステップＳ７)。
【００５０】
パケットロス判定部１４は、Ｔ＿ｐａｓｔ＞Ｔ＿ｌｏｓｓであれば、ストリームや接続の切り替わり以外の理由によってシーケンス番号が不連続になり、パケットが損失したと判定し、パケットロスである旨を判定結果として出力する(図３ステップＳ８)。
【００５１】
このように、本実施の形態では、シーケンス番号が不連続になった時に、時間軸方向の確認を行っているので、ストリームや接続の切り替わりのような、本来、パケットロスとして計上するべきではないシーケンス番号の不連続を判定することが可能となり、上述した本発明に関連する方法より柔軟なパケットロス判定を行うことができる。
【００５２】
また、本実施の形態では、ロス判定時間を任意に設定することができるので、使用しているシステムや端末の処理の速さや負荷の多さに応じて、パケットロスとして判断するための時間を設定することができる。
【００５３】
これによって、本実施の形態では、上記の２つの効果から、効率的な設備投資（増設や減設）を行うことが可能になるという効果を奏する。
【符号の説明】
【００５４】
１  パケット受信装置
１１  パケット処理部
１２  時間算出部
１３  シーケンス番号算出部
１４  パケットロス判定部
【図１】
0005854461.tif 000002
【図２】
0005854461.tif 000003
【図３】
0005854461.tif 000004