(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】2021068992
(43)【公開日】20210430
(54)【発明の名称】送信装置、受信装置、通信システム、送信方法、受信方法、及びプログラム
(51)【国際特許分類】
   H04L 29/08 20060101AFI20210402BHJP
   H04L 29/00 20060101ALI20210402BHJP
【FI】
   !H04L13/00 307Z
   !H04L13/00 S
【審査請求】未請求
【請求項の数】9
【出願形態】OL
【全頁数】17
(21)【出願番号】2019192259
(22)【出願日】20191021
(71)【出願人】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
【住所又は居所】東京都千代田区大手町二丁目3番1号
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】安藤 雅
【住所又は居所】東京都千代田区大手町二丁目3番1号 エヌ・ティ・ティ・コミュニケーションズ株式会社内
(72)【発明者】
【氏名】湯澤 慶輝
【住所又は居所】東京都千代田区大手町二丁目3番1号 エヌ・ティ・ティ・コミュニケーションズ株式会社内
(72)【発明者】
【氏名】新留 憲介
【住所又は居所】東京都千代田区大手町二丁目3番1号 エヌ・ティ・ティ・コミュニケーションズ株式会社内
(72)【発明者】
【氏名】菅原 誠昭
【住所又は居所】東京都千代田区大手町二丁目3番1号 エヌ・ティ・ティ・コミュニケーションズ株式会社内
【テーマコード(参考)】
5K034
【Fターム(参考)】
5K034AA05
5K034DD01
5K034EE11
5K034FF13
5K034HH01
5K034HH02
5K034HH10
5K034JJ11
5K034MM18
(57)【要約】
【課題】パケットに監視周期を超える遅延が発生する場合でも、受信側で正しいパケットを送出することを可能とする技術を提供する。
【解決手段】パケットを送信する送信装置において、パケットにシーケンス番号を付与するシーケンス番号付与手段と、前記シーケンス番号が付与されたパケットに、当該シーケンス番号の1つ前のシーケンス番号が付与されたパケットの特徴量を付与する特徴量付与手段と、前記シーケンス番号と前記特徴量とが付与されたパケットを送出する送信手段とを備える。
【選択図】図4
【特許請求の範囲】
【請求項1】
パケットを送信する送信装置であって、
パケットにシーケンス番号を付与するシーケンス番号付与手段と、
前記シーケンス番号が付与されたパケットに、当該シーケンス番号の1つ前のシーケンス番号が付与されたパケットの特徴量を付与する特徴量付与手段と、
前記シーケンス番号と前記特徴量とが付与されたパケットを送出する送信手段と
を備える送信装置。
【請求項2】
前記送信手段は、前記シーケンス番号と前記特徴量とが付与された前記パケットをコピーして2つのパケットを生成し、当該2つのパケットをそれぞれ異なる伝送路に送出する
請求項1に記載の送信装置。
【請求項3】
パケットを受信する受信装置であって、
シーケンス番号と、当該シーケンス番号の1つ前のシーケンス番号が付与されたパケットの特徴量とが付与されたパケットである現パケットを受信する受信手段と、
前記現パケットにおける前記特徴量と、前記現パケットに付与されているシーケンス番号の1つ前のシーケンス番号が付与されている送出済みのパケットから算出された特徴量とを比較し、比較結果に基づいて、前記現パケットを送出対象とするか否かを判定する判定手段と
を備える受信装置。
【請求項4】
前記受信手段は、前記現パケットがコピーされることにより生成された2つの現パケットをそれぞれ異なる伝送路から受信し、
前記判定手段は、2つの現パケットのうち、付与されている特徴量と、付与されているシーケンス番号の1つ前のシーケンス番号が付与されている送出済みのパケットから算出された特徴量とが一致する現パケットを送出対象として選択する
請求項3に記載の受信装置。
【請求項5】
請求項1又は2に記載の送信装置と、請求項3又は4に記載の受信装置とを備える通信システム。
【請求項6】
パケットを送信する送信装置が実行する送信方法であって、
パケットにシーケンス番号を付与するシーケンス番号付与ステップと、
前記シーケンス番号が付与されたパケットに、当該シーケンス番号の1つ前のシーケンス番号が付与されたパケットの特徴量を付与する特徴量付与ステップと、
前記シーケンス番号と前記特徴量とが付与されたパケットを送出する送信ステップと
を備える送信方法。
【請求項7】
パケットを受信する受信装置が実行する受信方法であって、
シーケンス番号と、当該シーケンス番号の1つ前のシーケンス番号が付与されたパケットの特徴量とが付与されたパケットである現パケットを受信する受信ステップと、
前記現パケットにおける前記特徴量と、前記現パケットに付与されているシーケンス番号の1つ前のシーケンス番号が付与されている送出済みのパケットから算出された特徴量とを比較し、比較結果に基づいて、前記現パケットを送出対象とするか否かを判定する判定ステップと
を備える受信方法。
【請求項8】
コンピュータを、請求項1又は2に記載の送信装置における各手段として機能させるためのプログラム。
【請求項9】
コンピュータを、請求項3又は4に記載の受信装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケットの送受信を行う通信システムに関連するものである。
【背景技術】
【0002】
パケット損失のない故障復旧を目的としたパケット転送技術として、例えば、特許文献1に記載された技術がある。
【0003】
この技術では、パケットにその順序を識別するためのシーケンス番号を付加し、当該パケットをコピーして複数のパケットを生成し、これらを複数の経路の伝送路に送出し、受信側では複数の経路の伝送路から受信したパケットの順序をシーケンス番号に基づき識別し、同一パケットのうちの1つをパケットの順序に従って下流に転送する。
【0004】
なお、本願明細書及び特許請求の範囲において"パケット"の用語はレイヤ2ネットワー クで転送される"フレーム"等の意味を含む広い意味で使用するものとする。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−174406号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来技術では、同一経路内でのパケットの順序、及び、異経路間でのパケットの同一性をパケット内のシーケンス番号に基づいて識別している。シーケンス番号は、0からカウントが始まって最大値に達すると再び0に戻ってカウントする。0〜最大値の各期間を監視周期と呼ぶ。
【0007】
従来技術では、ある経路について、監視周期を超えたパケットの到着遅延が発生した場合、受信側で本来送出すべきパケットとは異なった経路のパケットを送出してしまう可能性があるという課題がある。
【0008】
本発明は上記の点に鑑みてなされたものであり、パケットに監視周期を超える遅延が発生する場合でも、受信側で正しいパケットを送出することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
開示の技術によれば、パケットを送信する送信装置であって、
パケットにシーケンス番号を付与するシーケンス番号付与手段と、
前記シーケンス番号が付与されたパケットに、当該シーケンス番号の1つ前のシーケンス番号が付与されたパケットの特徴量を付与する特徴量付与手段と、
前記シーケンス番号と前記特徴量とが付与されたパケットを送出する送信手段と
を備える送信装置が提供される。
【発明の効果】
【0010】
開示の技術によれば、パケットに監視周期を超える遅延が発生する場合でも、受信側で正しいパケットを送出することを可能とする技術が提供される。
【図面の簡単な説明】
【0011】
【図1】本発明の実施の形態におけるパケット転送システムの構成図である。
【図2】誤ったパケットを選択する場合の動作を説明するための図である。
【図3】本発明の実施の形態におけるパケット転送装置の処理の概要を説明するための図である。
【図4】パケット転送装置の構成図である。
【図5】送信側のパケット転送装置の動作を説明するためのフローチャートである。
【図6】受信側のパケット転送装置の動作を説明するためのフローチャートである。
【図7】受信側のパケット転送装置の動作を説明するための図である。
【図8】受信側のパケット転送装置の動作を説明するための図である。
【図9】正しいパケットを選択する場合の動作を説明するための図である。
【図10】装置のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態を説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施形態に限られるわけではない。
【0013】
本実施の形態では、送信側で複数経路にパケットを送信し、受信側で無瞬断でのパケット選択を行う構成を前提としているが、本発明はこのような構成に限らずに適用可能である。例えば、本発明は、1つの経路のみでパケット伝送を行う構成にも適用可能である。
【0014】
(システム構成、動作概要)
図1は、本実施の形態におけるパケット転送システム(通信システムと呼んでもよい)の構成図である。図1に示すように、本実施の形態におけるパケット転送システムは、パケット転送装置1、及びパケット転送装置3がパケット転送網5に接続された構成を有する。パケット転送網5は、例えばIP網、イーサネット(登録商標)網等のパケットを転送するネットワークである。
【0015】
パケット転送装置1、3はそれぞれパケットを送信するための機能部とパケットを受信するための機能部を有するが、以下の説明ではパケット転送装置1を送信側とし、パケット転送装置3を受信側として説明する。パケット転送装置1の信号入力側(上流と呼ぶ)及びパケット転送装置3の信号出力側(下流と呼ぶ)のそれぞれには例えばユーザ設備が接続される。なお、パケット転送装置1はパケットを送信するための機能部のみを有し、パケット転送装置3はパケットを受信するための機能部のみを有することとしてもよい。また、パケット転送装置1を送信装置と呼び、パケット転送装置3を受信装置と呼んでもよい。
【0016】
このパケット転送システムにおいて、パケット転送装置1は、送出すべきパケットにシーケンス番号と特徴量を付加し、これらが付加されたパケットを複製し、同じ2つのパケットのそれぞれを異なる経路の伝送路7、9に送出する。なお、送出すべきパケットは、パケット転送装置1が上流側から受信するパケットであってもよいし、上流側から受信した信号(例:音声、映像等のメディア信号)をパケットに変換したものであってもよい。
【0017】
伝送路7、9は物理的に異なる伝送路であることが望ましいが、物理的には同じであるが論理的に異なる伝送路でもよい。シーケンス番号は、0から始まり最大値に達すると再び0に戻る。特徴量の詳細は後述する。複製するパケットの数(及び異経路の伝送路の数)は、3以上であってもよい。
【0018】
以下、伝送路7に対応する系を0系と呼び、伝送路9に対応する系を1系と呼ぶ。また、伝送路7に対応する系をA面と呼び、伝送路9に対応する系をB面と呼んでもよい。
【0019】
受信側のパケット転送装置3は、伝送路7を介して伝送されたパケットと伝送路9を介して伝送されたパケットとを受信する。基本的には、パケット転送装置3は、パケットに付加されたシーケンス番号等を利用して系間の遅延差を調整し、無瞬断で1つの系のパケットを選択し、下流に送出する。なお、パケット転送装置3は、選択したパケットを信号に変換し、当該信号を下流に送出することとしてもよい。特徴量を用いた判定動作については後述する。
【0020】
(特徴量に関して)
ここで、前述した特徴量を用いていない従来方式の課題と、当該特徴量によりその課題が解決されることについて説明する。
【0021】
図2を参照して、特徴量を用いない場合の課題を説明する。図2は、異経路(A面、B面)のうち、A面のみが安定してパケットの伝送ができており、B面のパケットは断続的に伝送できている場合の例を示している。この例のシーケンス番号の最大値は15である。また、A面用、B面それぞれ4パケットまでバッファに蓄積する。
【0022】
図2は、左から右へ時系列に、A面、B面それぞれの入力パケット、A面、B面それぞれのパケットがバッファに格納される様子、及び、出力パケットを示している。A面のパケットは数字(シーケンス番号)で表され、B面のパケットは網掛けの数字で表されている。
【0023】
受信側のパケット転送装置3において、T1で示すタイミングで、0番のパケットから出力が開始される。T2のタイミングからB面パケットの入力が断となるが、A面パケットの入力が継続しているため、図示のとおりにパケット出力が継続している。
【0024】
T3で示すタイミングにおいて、A面では、次の周期のパケットの入力が開始されている。
【0025】
T4に示すタイミングで、断となっていたB面における1周期前の6番のパケットが入力される。ここで、T5のタイミングで、A面で現在の周期の6番のパケットが入力される。
【0026】
パケット転送装置3は、B面側の1周期前の6番のパケットとA面側の正常な6番のパケット間で遅延差を測定し、許容値よりも大きな遅延差であるために、後着であるA面側パケットを破棄する。
【0027】
T6で示すタイミング(6番のパケットを出力するタイミング)において、A面側の6番のパケットは破棄されているため、B面側の1周期前の6番のパケットが出力される。
【0028】
1周期前のパケットは、本来出力すべきパケットではない。本来であればA面側の正常な6番のパケットを出力すべきである。
【0029】
本実施の形態では、上記の課題を解決するために、送信側のパケット転送装置1が、あるシーケンス番号のパケットに対し、シーケンス番号が1つ前のパケットの特徴量を付加する。シーケンス番号が1つ前のパケットが存在しない場合には、特徴量が無効であることを示す情報を付加する。
【0030】
受信側のパケット転送装置3は、あるシーケンス番号のパケット(便宜上、"現パケット"と呼ぶ)について、現パケットに付加されている有効な特徴量が、シーケンス番号が1つ前の送出済みのパケットから算出される特徴量と同じであるかどうかを判定し、同じである場合に、現パケットは正しいパケットであると判断して、選択し、出力する。
【0031】
具体例を図3を参照して説明する。ここでは、パケットはRTP(Real-time Transport Protocol)パケットであり、特徴量をFCS(Frame Check Sequence)と呼ぶことにする。また、図3の例では、SN(シーケンス番号)=0のパケットが最初のパケットであり、その前にパケットが存在しないものとする。なお、この例では、SNはRTPヘッダ内に記載されている。
【0032】
送信側のパケット転送装置1は、SN=0のパケットにFCS無効を示す情報を特徴量として付加する。特徴量を付加した1つのパケットは、RTPヘッダ、特徴量、及びペイロードからなる。なお、特徴量を付加する前のパケットは、RTPヘッダ、及びペイロードからなる。
【0033】
送信側のパケット転送装置1は、特徴量を付加したSN=0のパケット(つまり、RTPヘッダ+特徴量+ペイロード)のFCSを計算し、当該FCSを特徴量としてSN=1のパケットに付加する。また、送信側のパケット転送装置1は、特徴量を付加したSN=1のパケット(つまり、RTPヘッダ+特徴量+ペイロード)のFCSを計算し、当該FCSを特徴量としてSN=2のパケットに付加する。パケットに付加されるFCSは、1つ前のパケットのFCSなので、これを「Previous FCS」と呼ぶことにする。
【0034】
受信側のパケット転送装置3は、例えば、SN=2のパケットを送出対象として選択するかどうかを判断する際に、SN=2のパケットに付加されている有効な特徴量(Previous FCS)が、SN=1のパケットから算出される特徴量と同じであるかどうかを判定し、同じである場合に、SN=2のパケットは正しいパケットであると判断して、選択し、出力する。
【0035】
FCSの値は、例えば、パケット(RTPヘッダ+特徴量+ペイロードのビット列)のCRC(Cyclic Redundancy Check)を計算することで得られる。なお、FCSの値を、パケット(RTPヘッダ+特徴量+ペイロードのビット列)のCRCを計算することで得ることは一例であり、CRC以外の値をFCSとして算出してもよい。有効なPrevious FCSをパケットに付加する場合において、当該Previous FCSが有効であることを示す情報を更にパケットに付加してもよい。
【0036】
また、計算する特徴量が、パケット(RTPヘッダ+特徴量+ペイロードのビット列)の特徴量であることは一例である。例えば、特徴量を計算する対象のパケットの系に固有の情報を特徴量に含めてもよい。また、送信側でパケットに付加されるタイムスタンプ(パケットの生成時刻あるいは受信時刻を示す)を特徴量として使用してもよい。
【0037】
なお、現パケットに付与する特徴量として、現パケットより1つ後のパケットの特徴量を付与することも考えられる。ただし、後のパケットの特徴量を付与するためには後のパケット生成や受信を待ち合わせすることが必要となり、遅延が生じるため、本実施の形態のように、前のパケットの特徴量を付加している。
【0038】
(装置構成)
図4に本実施の形態におけるパケット転送装置10の構成例を示す。図4に示すパケット転送装置10は、図1に示したパケット転送装置1とパケット転送装置3のいずれにも使用できる装置である。
【0039】
図4に示すように、本実施の形態のパケット転送装置10は、入力されたパケットを2つの異なる伝送路に送信するパケット送信機能部12と、2つの伝送路から受信したパケットのうち1つの系のパケットを選択して出力するパケット受信機能部14とを備えている。以下の説明では、パケットに付与する特徴量をFCSと呼ぶことにする。
【0040】
(パケット送信機能部について)
パケット送信機能部12は、パケット受信部21、シーケンス番号付与部22、特徴量付与部23、パケットコピー部25、パケット送信部27A、27Bを備えている。なお、図4に示すパケット送信機能部12の構成は一例に過ぎない。
【0041】
パケット受信部21は、シーケンス番号と特徴量が付与される前のパケットを受信し、当該パケットをシーケンス番号付与部22に出力する。なお、パケット受信部21は、外部から信号(例:音声、映像等のメディア信号)を受信し、当該信号をパケットに変換し、当該パケットをシーケンス番号付与部22に出力することとしてもよい。
【0042】
また、パケット受信部21の上流側に、信号をパケットに変換する図示しない変換部が存在し、パケット受信部21は、当該変換部からパケットを入力されることとしてもよい。
【0043】
シーケンス番号付与部22は、パケット受信部21から受け取ったパケットにシーケンス番号を付与し、シーケンス番号が付与されたパケットを特徴量付与部23へ出力する。特徴量付与部23は、シーケンス番号が付与されたパケットにPrevious FCSを付与し、Previous FCSを付与したパケットをパケットコピー部25へ出力する。
【0044】
パケットコピー部25はパケットのコピーを行って同じパケットを2つ生成し、パケット送信部27A、27Bへ出力する。パケット送信部27Aは、パケットを伝送路7に送出し、パケット送信部27Bは、パケットを伝送路9に送出する。
【0045】
(パケット受信機能部について)
パケット受信機能部14は、パケット受信部31A、31B、故障検出部33、遅延差判定部35、遅延差調整部37、パケット選択部39、パケット送信部41を備えている。また、パケット受信機能部14は、管理テーブル格納部331、バッファ371、送出履歴格納部391を備える。なお、図4に示すパケット受信機能部14の構成は一例に過ぎない。
【0046】
パケット受信部31A、31Bはそれぞれ伝送路7、9からパケットを受信する。それぞれの系のパケットは故障検出部33に入力される。
【0047】
故障検出部33は、それぞれの系で、受信したパケットについての有効性確認(例:誤り検出符号による誤り有無確認、ヘッダサイズやパケットサイズが予め設定された値かどうかの確認等)を行って、有効性確認結果(つまり、故障の有無)をパケット選択部39に通知する。
【0048】
また、故障検出部33は、それぞれの系で、現在のパケットが有効である場合に、現在のパケットのFCSを計算して、当該FCS(これをCurrent FCSと呼ぶ)と、現在のパケットに付与されているPrevious FCSとをシーケンス番号とともに管理テーブル格納部331に保存する。なお、Current FCSとPrevious FCSの管理テーブル格納部331への保存は、故障検出部33以外の機能部が行うこととしてもよい。
【0049】
遅延差判定部35は、系間で同一のパケットの到着時刻を用いて系の間でのパケットの遅延差の判定を行う。系間でパケットが同一であるかどうかについては、例えば、系間のパケットについて、(1)同一値のシーケンス番号であること、(2)同一値の発ID(例えば送信元IPアドレスが同じ)であること、(3)同一値の警報転送情報(ALM Status)であること、(4)同一値のCurrent FCSであること、を条件として判断する。ただし、(1)〜(4)は例であり、これら以外を条件としてもよい。また、(1)〜(4)の全てを条件とすることの他、(1)〜(4)のうちのいずれか1つ、又はいずれか複数を条件としてもよい。
【0050】
遅延差調整部37は、遅延差判定部35における遅延差の判定結果を用いて、系間での遅延を調整する。より詳細には、例えば、各系のパケットは一時的にバッファ371に格納され、遅延差調整部37は、両系の同一のパケットに関して、遅延が小さいほうの系のパケットに遅延を挿入する(つまり、遅く到着するほうのパケットを待つ)ことで、0系(A面)と1系(B面)の遅延を揃える。ただし、調整できる遅延差の最大値が決められており、当該最大値よりも遅れて到着したパケットは破棄される。
【0051】
パケット選択部39は、遅延差の調整された2つの系の同一パケットのうち、FCSによる判定により、1つ前に出力されたパケットに続く正しいパケットを選択し、選択したパケットをパケット送信部41に出力する。1つの系のみからパケットが到着している場合は、その系のみについて、FCSによる判定がOKであれば、そのパケットが出力される。
【0052】
より具体的には、送出履歴格納部391には、送出履歴として、送出された(つまり、選択された)パケットのシーケンス番号と、当該パケットのFCS(前述したCurrent FCS)が、パケット送信部41により記録される。
【0053】
パケット選択部39は、あるシーケンス番号のパケット(現パケットと呼ぶ)を送出対象とするかどうかを判定する際に、管理テーブル格納部331に格納されている管理テーブルと、送出履歴格納部391に格納されている送出履歴とを参照し、現パケット内のPrevious FCSと、1つ前のシーケンス番号の送出済みパケットのCurrent FCSとを比較して、これらが一致する場合に、当該現パケットを送出対象として選択する。
【0054】
なお、上記は系(パケット)が有効(故障が検出されなかった)であることが前提である。もしも、故障検出部33により異常が検出された系がある場合、その系のパケットは選択されない。
【0055】
また、両方の系のパケットに問題がない場合の系の選択に関しては、予め定めた系のパケットを選択することとしてもよいし、伝送路の遅延が小さいほうの系のパケットを選択することとしてもよいし、その他の方法で系を選択してもよい。
【0056】
パケット送信部41は、パケット選択部39により選択されたパケットを送信する。また、パケット送信部41は、選択されたパケットを信号(音声、映像等のメディア信号)に変換し、当該信号を出力してもよい。また、パケット送信部41の下流側に図示しない変換部が備えられていて、当該変換部が、パケット送信部41から送信されたパケットを受け取って、当該パケットを信号に変換して出力してもよい。
【0057】
(動作例)
次に、送信側のパケット転送装置1と受信側のパケット転送装置3の動作例を図5〜図9を参照して説明する。パケット転送装置1とパケット転送装置3はそれぞれ図4に示したパケット転送装置10の構成を有しているものとし、パケット転送装置1についてはパケット送信機能部12の動作例を説明し、パケット転送装置3についてはパケット受信機能部14の動作例を説明する。また、以下の例では、パケットはRTPパケットであるとする。
【0058】
<送信側のパケット転送装置1の動作例>
図5のフローチャートを参照して、送信側のパケット転送装置1の動作例を説明する。
【0059】
パケット受信部21は、シーケンス番号と特徴量が付与される前のパケットをシーケンス番号付与部22に出力し、S101において、シーケンス番号付与部22が、パケット受信部21から受け取ったパケットにシーケンス番号を付与し、シーケンス番号が付与されたパケットを特徴量付与部23へ出力する。
【0060】
シーケンス番号が付与されたパケットを受け取った特徴量付与部23は、S102において、当該シーケンス番号が付与されたパケットに、当該シーケンス番号の1つ前のシーケンス番号のパケット(RTPヘッダ+Previous FCS+ペイロード)のFCSをPrevious FCSとして付加し、当該Previous FCSを付加したパケットをパケットコピー部25へ出力する。
【0061】
S103において、パケットコピー部25はパケットのコピーを行って同じパケットを2つ生成し、パケット送信部27A、27Bへ出力する。パケット送信部27A、27Bそれぞれは、パケットを伝送路7、9に送出する。
【0062】
<受信側のパケット転送装置3の動作例>
図6のフローチャートを参照して、受信側のパケット転送装置3の動作例を説明する。ここでは特にFCSを用いたパケットの選択処理に関連する動作に着目して説明を行う。
【0063】
S201において、パケット受信部31A、31Bはそれぞれ伝送路7、9からパケットを受信し、それぞれの系のパケットは故障検出部33に入力される。なお、受信したパケットはまずバッファ371に格納され、バッファ371に格納されたパケットに対して各機能部が処理を行うこととしてもよい。
【0064】
S202において、故障検出部33は、それぞれの系で、現在のパケットが有効である場合に、現在のパケットのFCSを計算して、当該FCS(Current FCS)と、現在のパケットに付与されているPrevious FCSとを管理テーブル格納部331の管理テーブルに保存する。
【0065】
図7の左側に、FCSの計算を行うことが示されている。図7の右側に、0系(A面)、1系(B面)それぞれの管理テーブルの例を示す。なお、管理テーブルにおける「時刻」は、例えば、パケットを受信した時刻である。例えば、0系(A面)の管理テーブルには、SN=0のパケットのCurrent FCSがAAAAであり、SN=0のパケットのPrevious FCSが無効であり、SN=1のパケットのCurrent FCSがBBBBであり、SN=1のパケットのPrevious FCSがAAAAであること等が示されている。
【0066】
また、1系(B面)の管理テーブルには、SN=0のパケットのCurrent FCSがAAAAであり、SN=0のパケットのPrevious FCSが無効であり、SN=1のパケットのCurrent FCSがBBBBであり、SN=1のパケットのPrevious FCSがAAAAであること等が示されている。
【0067】
図6のS203では、0系(A面)における、シーケンス番号が(SN+1)番のパケットを選択し、出力する段階を想定する。
【0068】
S203において、パケット選択部39は、送信履歴格納部391に格納された送出履歴におけるSN番のパケットのCurrent FCSと、0系の管理テーブルに格納された(SN+1)番のパケット内のPrevious FCSとを比較し、これらが一致すれば、当該0系の(SN+1)番のパケットを選択し、パケット送信部41へ出力する。パケット送信部41は、当該パケットを送信する。あるいは、パケット送信部41は、当該パケットを信号に変換し、当該信号を出力する。
【0069】
図7、図8を参照してパケット選択の具体例を説明する。図8には、送出履歴として、送出したパケットのSNと、そのパケットのFCS(Current FCS)とが格納されることが記載されている。
【0070】
例として、SN=0のパケットを送出後、パケット選択部39が、0系(A面)のSN=1のパケットを送出対象として選択するか否かを決定する場合を説明する。
【0071】
パケット選択部39は、0系(A面)の管理テーブルにおけるSN=1のPrevious FCS=AAAAと、送出履歴におけるSN=0のCurrent FCS=AAAAとを比較し、これらが一致するので、0系のSN=1のパケットは、送出済みのSN=0のパケットの正しい次のパケットであると判断し、当該0系のSN=1のパケットを選択する。
【0072】
次に、SN=1のパケットを送出後、パケット選択部39が、0系のSN=2のパケットを送出対象として選択するか否かを決定する場合を説明する。
【0073】
パケット選択部39は、0系の管理テーブルにおけるSN=2のPrevious FCS=ZZZZと、送出履歴におけるSN=1のCurrent FCS=BBBBとを比較し、これらが一致しないので、0系のSN=2のパケットは、送出済みのSN=1のパケットの正しい次のパケットではないと判断する。
【0074】
そのため、パケット選択部39は、1系の管理テーブルにおけるSN=2のPrevious FCS=BBBBと、送出履歴におけるSN=1のCurrent FCS=BBBBとを比較し、これらが一致するので、1系のSN=2のパケットは、送出済みのSN=1のパケットの正しい次のパケットであると判断し、当該1系のSN=1のパケットを選択し、出力する。
【0075】
なお、上記のような異常パケットを検出した場合、パケット受信機能部14が、警報を外部(例えばオペレーションシステム)に通知して、オペレータに知らせることとしてもよい。
【0076】
図9は、図2に示した場合と同様の場合を示す図であり、上述したFCSを用いる技術により、パケットが正しく出力されることを示す図である。図9においても、異経路(A面、B面)のうち、A面のみが安定してパケットの伝送ができており、B面のパケットは断続的に伝送できている場合の例を示している。
【0077】
受信側のパケット転送装置3において、T1で示すタイミングで、0番のパケットから出力が開始される。T2のタイミングからB面パケットの入力が断となるが、A面パケットの入力が継続しているため、図示のとおりにパケット出力が継続している。
【0078】
T3で示すタイミングにおいて、A面では、次の周期のパケットの入力が開始されている。T4に示すタイミングで、B面における1周期前の6番のパケットが入力される。T5のタイミングで、A面で現在の周期の6番のパケットが入力される。遅延差判定部35は、B面における1周期前の6番のパケットと、A面での現在の周期の6番のパケットとは異なると判断するので、遅延差判定の対象にならず、両パケットともに破棄されずにバッファに格納される。
【0079】
T6で示すタイミング(6番のパケットを出力するタイミング)において、パケット選択部39は、A面の6番のパケットのPrevious FCSと、送出済みの5番のパケットのCurrent FCSが一致すると判断し、A面の6番のパケットを選択し、出力する。
【0080】
(ハードウェア構成)
本実施の形態におけるパケット転送装置はその内部の各機能部を専用のハードウェア回路を用いて実現することができる。また、本実施の形態におけるパケット転送装置は、汎用のコンピュータを用いてソフトウェアで実現することもできる。
【0081】
汎用のコンピュータを用いてソフトウェアで実現する場合において、パケット転送装置が有する機能は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0082】
図10は、コンピュータで実現されるパケット転送装置のハードウェア構成例を示す図である。図10の装置は、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、及び入力装置1007等を有する。なお、パケット転送装置において、表示装置1006及び入力装置1007を備えないこととしてもよい。
【0083】
当該装置での処理を実現するプログラムは、例えば、CD−ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0084】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って当該パケット転送装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【0085】
(実施の形態の効果、まとめ)
以上説明したように、本実施の形態の技術により、パケットに監視周期を超える遅延が発生する場合でも、受信側で正しいパケットを送出することが可能となる。
【0086】
本明細書には、少なくとも、下記の各項に記載された送信装置、受信装置、通信システム、送信方法、受信方法、及びプログラムが記載されている。
(第1項)
パケットを送信する送信装置であって、
パケットにシーケンス番号を付与するシーケンス番号付与手段と、
前記シーケンス番号が付与されたパケットに、当該シーケンス番号の1つ前のシーケンス番号が付与されたパケットの特徴量を付与する特徴量付与手段と、
前記シーケンス番号と前記特徴量とが付与されたパケットを送出する送信手段と
を備える送信装置。
(第2項)
前記送信手段は、前記シーケンス番号と前記特徴量とが付与された前記パケットをコピーして2つのパケットを生成し、当該2つのパケットをそれぞれ異なる伝送路に送出する
第1項に記載の送信装置。
(第3項)
パケットを受信する受信装置であって、
シーケンス番号と、当該シーケンス番号の1つ前のシーケンス番号が付与されたパケットの特徴量とが付与されたパケットである現パケットを受信する受信手段と、
前記現パケットにおける前記特徴量と、前記現パケットに付与されているシーケンス番号の1つ前のシーケンス番号が付与されている送出済みのパケットから算出された特徴量とを比較し、比較結果に基づいて、前記現パケットを送出対象とするか否かを判定する判定手段と
を備える受信装置。
(第4項)
前記受信手段は、前記現パケットがコピーされることにより生成された2つの現パケットをそれぞれ異なる伝送路から受信し、
前記判定手段は、2つの現パケットのうち、付与されている特徴量と、付与されているシーケンス番号の1つ前のシーケンス番号が付与されている送出済みのパケットから算出された特徴量とが一致する現パケットを送出対象として選択する
第3項に記載の受信装置。
(第5項)
第1項又は第2項に記載の送信装置と、第3項又は第4項に記載の受信装置とを備える通信システム。
(第6項)
パケットを送信する送信装置が実行する送信方法であって、
パケットにシーケンス番号を付与するシーケンス番号付与ステップと、
前記シーケンス番号が付与されたパケットに、当該シーケンス番号の1つ前のシーケンス番号が付与されたパケットの特徴量を付与する特徴量付与ステップと、
前記シーケンス番号と前記特徴量とが付与されたパケットを送出する送信ステップと
を備える送信方法。
(第7項)
パケットを受信する受信装置が実行する受信方法であって、
シーケンス番号と、当該シーケンス番号の1つ前のシーケンス番号が付与されたパケットの特徴量とが付与されたパケットである現パケットを受信する受信ステップと、
前記現パケットにおける前記特徴量と、前記現パケットに付与されているシーケンス番号の1つ前のシーケンス番号が付与されている送出済みのパケットから算出された特徴量とを比較し、比較結果に基づいて、前記現パケットを送出対象とするか否かを判定する判定ステップと
を備える受信方法。
(第8項)
コンピュータを、第1項又は第2項に記載の送信装置における各手段として機能させるためのプログラム。
(第9項)
コンピュータを、第3項又は第4項に記載の受信装置における各手段として機能させるためのプログラム。
【0087】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0088】
1、3、10 パケット転送装置
5 パケット転送網
7、9 伝送路
12 パケット送信機能部
14 パケット受信機能部
21 パケット受信部
22 シーケンス番号付与部
23 特徴量付与部
25 パケットコピー部
27A、27B パケット送信部
31A、31B パケット受信部
33 故障検出部
35 遅延差判定部
37 遅延差調整部
39 パケット選択部
331 管理テーブル格納部
371 バッファ
391 送出履歴格納部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】