説明

データ受信装置、データ受信装置制御方法及びデータ受信装置制御プログラム

【課題】データの順序性が保証されない2つの伝送路からのデータの入力に対する無瞬断切替を実現するデータ受信装置制御プログラムを提供する。
【解決手段】第1受信部11は、0系の伝送路からの所定の順番に並べることで一連のデータとなるパケットの集合である第1データをパケット単位で受信する。第2受信部12は、1系の伝送路からの第1データに含まれるパケットと同じ内容のパケットの集合である第2データをパケット単位で受信する。第1メモリ13は、第1受信部11が受信したパケットを記憶する。第2メモリ14は、第2受信部12が受信したパケットを記憶する。データ制御部153は、第1メモリ13又は第2メモリ14に記憶されているパケットの中から、取得するパケットを前記一連のデータとなる順番で指定する。データ出力部16は、データ制御部153の指定した順番でパケットを順次出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ受信装置、データ受信装置制御方法及びデータ受信装置制御プログラムに関する。
【背景技術】
【0002】
各種の通信において、伝送路や伝送装置を二重化構成として、通信網の信頼性の向上を図っている。さらに、ディジタル映像信号等を固定長パケット化し、それをセルとして伝送する技術においては、無瞬断切替えを可能とすることが望まれている。この無瞬断切替とは、データの品質保持のため、データを伝送する系を二重化し、有効セルの欠落や重複が生じないように系を切り替えることを指す。さらに、今日のネットワークはIP(Internet Protocol)を用いた通信の使用が加速し、伝送路の中継区間にもIP網を利用する形態が増えてきており、また、設備投資及び運用コストの面からもIP網を利用した形態での無瞬断切替が望まれている。
【0003】
ここで、無瞬断切替を実現する技術として次のような従来技術が提案されている。1つには、各系において同期確立用の同期セルの検出を行い、両方の系で同期セルを検出した時点で同期確立したと判定し、同期確立を前提として無瞬断の切替を行う従来技術がある。また、1つの系の位相差を吸収する手段を設けて、両系統の同期確立を行い、その同期確立を前提として無瞬断切替を行う従来技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平06−120972号公報
【特許文献2】特開2008−306545号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、前述した従来技術はいずれも、2つの伝送路から入力されるデータであるセルやパケットの順序性が維持されていることを前提とする技術である。データの中継区間にIP網が介在する場合、データの欠落や遅延などが発生するため、2つの伝送路から入力されるデータの順序性は保証されない。そのため、前述した従来技術を用いても、データの中継区間にIP網が介在する環境では無瞬断切替を実現することは困難である。
【0006】
開示の技術は、上記に鑑みてなされたものであって、データの順序性が保証されない2つの伝送路からのデータの入力に対する無瞬断切替を実現するデータ受信装置、データ受信装置制御方法及びデータ受信装置制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願の開示するデータ受信装置、第1受信部は、データ受信装置制御方法及びデータ受信装置制御プログラムは、一つの態様において、第1伝送路から送られてくる、所定の順番に並べることで一連のデータとなる、単位データの集合である第1データを前記単位データ単位で受信する。第2受信部は、前記第1伝送路とは異なる第2伝送路から送られてくる、前記第1データに含まれる前記単位データと同じ内容の単位データの集合である第2データを前記単位データ単位で受信する。第1記憶部は、前記第1受信部が受信した前記単位データを記憶する。第2記憶部は、前記第2受信部が受信した前記単位データを記憶する。データ制御部は、前記第1記憶部又は前記第2記憶部に記憶されている前記単位データの中から、取得する前記単位データを前記一連のデータとなる順番で選択する。データ出力部は、前記データ制御部の選択した順番で前記単位データを前記第1記憶部又は前記第2記憶部から取得し、順次出力する。
【発明の効果】
【0008】
本願の開示するデータ受信装置、データ受信装置制御方法及びデータ受信装置制御プログラムの一つの態様によれば、データの順序性が保証されない2つの伝送路からのデータの入力に対する無瞬断切替が可能となるという効果を奏する。
【図面の簡単な説明】
【0009】
【図1】図1は、実施例1に係るデータ受信装置を含むネットワーク全体のシステム構成図である。
【図2】図2は、実施例1に係るデータ受信装置のブロック図である。
【図3】図3は、パケット番号アドレス設定テーブルの一例を表す図である。
【図4】図4は、パケット格納管理テーブルの一例を表す図である。
【図5】図5は、パケット格納管理テーブルにおけるパケット待ちWindowを説明するための図である。
【図6】図6は、受信品質管理テーブルの一例を表す図である。
【図7−1】図7−1は、受信品質管理テーブルに対する処理を説明するための図である。
【図7−2】図7−2は、受信品質管理テーブルに対する処理を説明するための図である。
【図7−3】図7−3は、受信品質管理テーブルに対する処理を説明するための図である。
【図8】図8は、伝送路の品質を用いた系選択を説明するための概念図である。
【図9】図9は、実施例1に係るデータ受信装置による系選択の処理のフローチャートである。
【図10】図10は、前値保持方式を用いた系選択を説明するための概念図である。
【図11】図11は、前値保持方式及び伝送路の品質による選択方式を混合した系選択を説明するための概念図である。
【図12】図12は、実施例2に係るデータ受信装置のパケット出力の流れを説明するための図である。
【図13】図13は、実施例2に係るデータ受信装置におけるグループ単位でのパケットの出力の判定を説明するための図である。
【図14】図14は、実施例2の変形例に係るデータ受信装置のパケット出力の流れを説明するための図である。
【図15】図15は、実施例2の変形例に係るデータ受信装置におけるグループ単位でのパケットの出力の判定を説明するための図である。
【図16】図16は、データ受信装置制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示するデータ受信装置、データ受信装置制御方法及びデータ受信装置制御プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示するデータ受信装置、データ受信装置制御方法及びデータ受信装置制御プログラムが限定されるものではない。
【実施例1】
【0011】
図1は、実施例1に係るデータ受信装置を含むネットワーク全体の構成図である。図1に示すように、実施例1に係るデータ受信装置1を含むシステムは、データ送信装置2、IP網3、データ処理装置4及び出力装置5を有している。データ送信装置2とデータ受信装置1とは、IP網3を介して2つの伝送路で接続されている。1つの伝送路は、経路31、IP網3及び経路33を含む伝送路である。また、もう1つの伝送路は、経路32、IP網3及び経路34を含む伝送路である。経路31、IP網3及び経路33を含む伝送路が第1伝送路の一例にあたる。また、経路32、IP網3及び経路34を含む伝送路を含む伝送路が第2伝送路の一例にあたる。
【0012】
データ送信装置2は、テレビ局などで作成された映像データや音声データなどといったデータの入力を受ける。そして、データ送信装置2は、入力されたデータを経路31及び経路32のそれぞれに出力する。そして、経路31に入力されたデータは、IP網3及び経路33を介してデータ受信装置1へ出力される。また、経路32に入力されたデータは、IP網3及び経路34を介してデータ受信装置1へ出力される。すなわち、経路31、IP網3及び経路33を介してデータ送信装置2からデータ受信装置1に送信されるデータと、経路32、IP網3及び経路34を介してデータ送信装置2からデータ受信装置1に送信されるデータとは同じものである。言い換えれば、経路31、IP網3及び経路33と経路32、IP網3及び経路34とにより、伝送路は二重化されている。
【0013】
ここで、データ送信装置部2へ入力されるデータは、単位データであるパケットが複数集まったデータとして構成されている。そして、パケットを所定の順番に並べると一連のデータとなる。例えば、データを映像データとすると、所定の順番に並べることで、連続した映像となる。本実施例では、データ送信装置2は、所定の順番でパケットを送信する。本実施例では単位データとしてパケットを例に説明するが、これは他の種類のデータでも良く、例えばセルなどでもよい。
【0014】
経路31、IP網3及び経路33を介してデータ送信装置2からデータ受信装置1に送信されるデータが第1データの一例にあたる。また、経路32、IP網3及び経路34を介してデータ送信装置2からデータ受信装置1に送信されるデータが第2データの一例にあたる。
【0015】
ここで、経路31、IP網3及び経路33又は経路32、IP網3及び経路34を経由する間、パケットの順序性は保証されない。言い換えれば、経路31、IP網3及び経路33又は経路32、IP網3及び経路34を経由してデータ受信装置1で受信される時点でのパケットの順番は、データ送信装置2から送信された時点での順番とは異なる場合がある。例えば、データ送信装置2から1番、2番、3番という番号が付されたデータが番号順に送信された場合に、データ受信装置1では2番、3番、1番という順番でデータを受信するなどである。また、データ送信装置2から送信されてからデータ受信装置1で受信されるまでの間に、パケットが欠落してしまう可能性もある。例えば、データ送信装置2から1番、2番、3番という番号が付されたデータが番号順に送信された場合に、データ受信装置1では1番と3番のデータしか受信しないといったことであり、この場合、2番データが欠落していることになる。したがって、各伝送路からデータ受信装置1が受信するデータは、パケットの順番が異なったり受信しないパケットが存在したりすることになる。以下では、経路31、IP網3及び経路33の伝送経路を「0系の伝送経路」と言う。また、経路32、IP網3及び経路34の伝送経路を「1系の伝送経路」と言う。また、0系の伝送経路及び1系の伝送経路はそれぞれ単に「0系」及び「1系」と言うことがある。
【0016】
データ受信装置1は、受信したパケットを記憶し、一連のデータとなる所定の順番でパケットをデータ処理装置4へ出力する。このデータ受信装置1によるパケットの選択及び出力については後で詳細に説明する。
【0017】
データ処理装置4は、データ受信装置1から受信したデータに対して復号化や増幅などの処理を施し出力装置5へ送信する。
【0018】
ここで、本実施例では、データ受信装置でパケットを選択した後に復号化を行っているが、これは他の方法でも良く、例えば、受信したパケットの復号化を行った後に、データの選択を行う方法でも良い。
【0019】
出力装置5は、例えばディスプレイなどである。そして、出力装置5は、データ処理装置4から入力されたデータを画面に表示するなどの出力を行う。
【0020】
次に、図2を参照して、データ受信装置1の構成及び動作を詳細に説明する。図2は、
実施例1に係るデータ受信装置のブロック図である。
【0021】
データ受信装置1は、図2に示すように、第1受信部11、第2受信部12、第1メモリ13、第2メモリ14、制御部15及びデータ出力部16を有している。
【0022】
第1受信部11は、0系の伝送経路からデータを受信する。具体的には、第1受信部11は、0系の伝送経路からデータに含まれるパケットを1つずつ受信する。
【0023】
第1受信部11は、受信したパケットを第1メモリ13及びデータチェック部151へ出力する。
【0024】
第2受信部12は、1系の伝送経路からデータを受信する。具体的には、第2受信部12は、1系の伝送経路からデータに含まれるパケットを1つずつ受信する。
【0025】
第2受信部12は、受信したパケットを第2メモリ14及びデータチェック部151へ出力する。
【0026】
第1メモリ13は、後述するメモリ制御部152からの制御を受けて、第1受信部11から受信したパケットを指定されたアドレスに記憶する。また、第1メモリ13は、メモリ制御部152からの制御を受けて、指定されたパケット番号を有するパケットを読み出す。この第1メモリ13が第1記憶部の一例にあたる。
【0027】
第2メモリ14は、後述するメモリ制御部152からの制御を受けて、第2受信部12から受信したパケットを指定されたアドレスに記憶する。また、第2メモリ14は、メモリ制御部152からの制御を受けて、指定されたパケット番号を有するパケットを読み出す。この第2メモリ14が第2記憶部の一例にあたる。
【0028】
制御部15は、データチェック部151、メモリ制御部152及びデータ制御部153を有する。
【0029】
データチェック部151は、第1受信部11及び第2受信部12からそれぞれが受信したパケットの入力を受ける。そして、データチェック部151は、受信したパケットが、後述するデータ制御部153が有するパケット格納管理テーブルの受信待ちWindowに含まれるパケットか否かを判定する。データチェック部151は、受信したパケットが受信待ちWindowに含まれるパケットであれば、そのパケットに付与されているCRCなどの演算符号によりデータの正常性のチェックを行う。これに対し、データチェック部151は、受信したパケットが受信待ちWindowに含まれないパケットであれば、そのパケットを破棄する。
【0030】
パケットが正常でない場合には、データチェック部151は、処理を中止する。そして、データチェック部151は、異常が見つかったパケットに格納されているパケット番号を取得する。そして、データチェック部151は、異常が見つかったパケットのパケット番号、及びそのパケットを受信したのが第1受信部11又は第2受信部12のいずれであるかの情報(以下では、「受信部の識別情報」という。)をメモリ制御部152に出力する。さらに、データチェック部151は、異常が見つかったパケットの破棄をメモリ制御部152に指示する。
【0031】
これに対して、データチェック部151は、パケットが正常であれば、パケット内に格納されているパケットの番号を取得する。そして、データチェック部151は、後述するデータ制御部153が有するパケット番号アドレス設定テーブルを参照し、取得したパケットの番号に対応するドレスを取得する。ここで、図3は、パケット番号アドレス設定テーブルの一例を表す図である。パケット番号アドレス設定テーブルには、図3に示すように、パケット番号を表す欄201とそれに対応するアドレスを表す欄202が設けられている。欄202は、第1メモリ13及び第2メモリ14のアドレスである。データチェック部151は、パケット番号アドレス設定テーブルを参照することにより、パケット番号に一意に対応するアドレスを取得することができる。
【0032】
そして、データチェック部151は、パケットの格納指示とともに、パケット番号、取得したアドレス及びそのパケットを受信した受信部の識別情報をメモリ制御部152に出力する。さらに、データチェック部151は、受信したパケットの正常性チェックの結果、パケット番号及びそのパケットを受信した受信部の識別情報をデータ制御部153に通知する。
【0033】
ここで、本実施例では、データチェック部は、パケットからパケット番号だけを取得しているが、パケット含まれる他の情報を取得しても良い。例えば、データチェック部151は、パケットからパケットの種類を取得し、そのパケットの種類が制御パケットであればその旨をデータ制御部153に通知しても良い。
【0034】
さらに、パケットが正常の場合、データチェック部151は、後述するデータ制御部153が有するパケット格納管理テーブルの受信部の識別情報に対応する系の欄に受信済みの値を記入する。ここで、図4はパケット格納管理テーブルの一例を表す図である。データチェック部151は、図4に示すパケット格納管理テーブルにおけるパケット受信状態を表す欄302に受信済みの値である「○」を記載する。例えば、第1受信部11がパケット番号1であるパケットを正常に受信した場合、データチェック部151は、第1受信部に対応する0系の欄321における欄301が1にあたる場所に受信済みの値「○」を記載する。
【0035】
メモリ制御部152は、データチェック部151からパケットの破棄の指示を受けた場合、受信したパケット番号を有するパケットの破棄を行うよう受信した識別情報に応じたメモリを制御する。例えば、第1受信部11が受信したパケット番号1であるパケットの破棄が指示された場合、メモリ制御部152は、パケット番号1のパケットを破棄するように第1メモリ13を制御する。
【0036】
また、メモリ制御部152は、パケットの格納指示とともに、パケット番号、アドレス及び受信部の識別情報の入力をデータチェック部151から受ける。この場合、メモリ制御部152は、受信したアドレスに受信したパケット番号のパケットを格納するよう、識別情報応じたメモリを制御する。例えば、第1受信部11が受信したパケット番号1のパケットをアドレス0x00001に格納する指示を受けた場合、メモリ制御部152は、パケット番号1のパケットをアドレス0x00001に格納するよう、第1メモリ13を制御する。
【0037】
また、メモリ制御部152は、パケットの読出し命令とともに、第1メモリ13又は第2メモリ14のいずれから読み出すかの情報(以下では、「メモリの識別情報」と言う。)及びパケットの番号の入力を後述するデータ制御部153から受ける。そして、メモリ制御部152は、受信したパケット番号を有するパケットを読み出すように、識別情報に対応したメモリを制御する。例えば、メモリの識別情報として第1メモリ13の情報を受け、パケット番号1のパケットを読み出す指示を受けた場合、メモリ制御部152は、パケット番号1のパケットを読み出すように第1メモリ13を制御する。
【0038】
データ制御部153は、ハードディスクやメモリなどの記憶装置を有している。ここで、図5は、パケット格納管理テーブルにおけるパケット待ちWindowを説明するための図である。また、図6は、受信品質管理テーブルの一例を表す図である。データ制御部153は、図3、図4及び図6に示すような、パケット番号アドレス設定テーブル、パケット管理格納テーブル及び受信品質管理テーブルを自己の記憶装置に記憶している。ここで、データ制御部153が記憶している各テーブルについて詳細に説明する。以下では、各テーブルの紙面に向かって縦の列を欄と呼ぶ。また、欄に含まれる個々の要素をセルと言う。また各テーブルのそれぞれのセルに「○」を記載することを「フラグを立てる」という。
【0039】
まず、図3に示すパケット番号アドレス設定テーブルについて説明する。パケット番号アドレス設定テーブルは、パケットを格納するメモリのアドレスを設定したテーブルである。既に説明したように、パケット番号アドレス設定テーブルには、パケット番号を表す欄201とそのパケット番号のパケットを格納するアドレスを表す欄202とが設けられている。そして、パケット番号アドレス設定テーブルでは、パケット番号とアドレスとが一意に対応するように記載されている。例えば、図3では、パケット番号が1に対しては、アドレスとして0x00001が対応し、パケット番号が4には、アドレスとして0x00100が対応している。パケット番号アドレス設定テーブルにおけるパケット番号とアドレスとの組み合わせは予め決められており、この組み合わせは固定されている。
【0040】
次に、図4に示すパケット格納管理テーブルについて説明する。パケット格納管理テーブルは、2つの伝送経路の各系の受信パケット単位に受信状況を管理するテーブルである。パケット格納管理テーブルには、パケット番号を表す欄301に対応させて、パケット受信状態を表す欄302、系選択の論理を表す欄303、期待するパケット番号を表す欄304及びパケット待ちWindowを表す欄305が設けられている。欄301には、一連のデータとなるパケットの並びである所定の順番でパケット番号が記載されている。この欄301の値は固定である。欄302には0系を表す欄321と1系を表す欄322が設けられている。例えば図3では欄321におけるパケット番号1〜3に対応する欄にフラグが立っており、これは0系に対応する第1受信部11がパケット番号1〜3のパケットを受信したことを表している。欄303にはORの欄331とANDの欄332が設けられている。欄331にフラグが立っている場合、少なくとも2つの系のうちどちらかが該当パケットを受信したという条件を満足していることになる。また、欄332にフラグが立っている場合、両系で該当パケットを受信したという条件を満足していることになる。また、欄304は、次に受信したいパケットのパケット番号を表す。ここで、次に受信したいパケットとは、既に受信したパケットのうち所定の順序で並べた最後のパケットの次の順番のパケットのことを指す。例えば、既にパケット番号1〜3にあたるパケットを受信している場合には、所定の順序で並べた最後のパケットはパケット番号が3のパケットであり、そして、パケット番号が3のパケットの次の順番のパケットはパケット番号が4のパケットである。そこで、その場合には期待する欄304のうちのパケット番号が4に対応する欄に印がつけられる。欄305は、受信する対象とするパケットを示している。例えば、欄305のうちのパケット番号2〜6の欄に印が付いている場合には、パケット番号が2〜6であるパケットが受信対象となる。この受信対象とするパケットの指定をパケット待ちWindowの設定と言う。
【0041】
ここで、データ制御部153によるパケット管理テーブルの更新について説明する。データ制御部153は、パケットの番号及びそのパケットを受信した受信部の識別情報の入力をデータチェック部151から受ける。データ制御部153は、受信した受信部に対応する系を示す欄321又は欄322の受信したパケット番号に対応するセルにフラグを立てる。例えば、第1受信部11の識別情報及びパケット番号1の入力をデータチェック部151から受けた場合、データ制御部153は、0系のパケット受信を表す欄321のパケット番号1に対応するセルにフラグを立てる。このように、データ制御部153は、第1受信部11又は第2受信部12がパケットを受信する毎にパケット管理テーブルのパケット受信状態を表す欄302を更新する。
【0042】
次に、データ制御部153は、欄321及び欄322を参照して、各パケット番号に対応するセルにフラグが立っているか否かを判定する。片方にフラグが立っている場合には、データ制御部153は、ORを表す欄331の片方にフラグが立っていると判定したパケット番号に対応するセルにフラグを立てる。両方にフラグが立っている場合には、データ制御部153は、ANDを表す欄332の両方にフラグが立っていると判定したパケット番号に対応するセルにフラグを立てる。このように、データ制御部153は、第1受信部11及び第2受信部12における各パケットの受信がOR論理を満たすか否か及びAND論理を満たすか否かを記載していく。
【0043】
また、データ制御部153は、欄304の期待するパケット番号にあたるセルにフラグを立てる。具体的には、データ制御部153は、受信したパケットを所定の順番に並べたときにすでに出力指示を終えたパケットの次の順番のパケットを期待するパケットとする。そして、データ制御部153は、期待するパケットのパケット番号に対応する欄304のセルにフラグを立てる。
【0044】
次に、図5を参照して、データ制御部153によるパケット待ちWindowを設定する処理について詳細に説明する。図5では、パケット待ちWindowの設定が分かりやすいように、図4におけるパケット番号を表す欄301、期待するパケット番号を表す欄304及びパケット待ちWindowを表す欄305を抜き出している。データ制御部153は、何個のパケットを受信するパケットとして指定してパケット待ちWindowを設定するかを予め記憶している。例えば、データ制御部153は、期待するパケット番号から前後K個のパケットを受信するパケットとして指定することによりパケット待ちWindowを設定するよう記憶している。本実施例では、データ制御部153は、K=2として記憶しているものとする。
【0045】
図5のように期待するパケット番号としてセル340の位置にチェックが付いている場合、データ制御部153は、前後2個の範囲、すなわち範囲341及び範囲342を含む範囲を受信するパケットとして指定する。具体的には、データ制御部153は、欄304における範囲341、範囲342及びセル340に対応する欄305の範囲351に含まれるセルにフラグを立てる。これにより、データ制御部153は、フラグを立てた範囲351をパケット待ちWindowとして設定できる。さらに、現在の期待するパケット番号を有するパケットを受信した場合、データ制御部153は、欄304のフラグを次のセルに移動する。データ制御部153は、受信済みのパケットについては欄304のフラグをクリアする。すなわち、データ制御部153は、図5の枠343で囲われたセルのフラグをクリアする。その後、データ制御部153は、その前後2個のパケットを含む範囲をパケット待ちwindowとして設定する。このように、パケットを受信するたびに、データ制御部153は、パケット待ちWindowを移動していく。
【0046】
次に、図6に示す受信品質管理テーブルについて説明する。受信品質管理テーブルは、2つ系におけるパケットの受信の成否を用いて両系の品質管理を行うためのテーブルである。受信品質管理テーブルには、図6に示すように、直近N回のOK回数を表す欄401、前回選択した系を表す欄402及び品質判定結果を表す欄403が設けられている。欄401は0系及び1系の欄を有し、それぞれの系が、直近N個のパケットの受信において何回成功しているかが記載されている。ここで、直近N個のパケットとは、所定の順番で並ぶパケットにおいて順番の最初のパケットから連続するパケットのうちの最後のパケットからN個前までのパケットを指す。欄402には、直前にデータ処理装置4へ出力したパケットにおいていずれの系が選択されたかが記載される。さらに、欄403には、0系と1系のいずれを高品質の系として選択したかの結果が記載される。
【0047】
ここで、図7−1〜図7−3を参照して、データ制御部153による受信品質管理テーブルの更新について説明する。図7−1〜図7−3は、受信品質管理テーブルに対する処理を説明するための図である。図7−1〜図7−3のそれぞれには、紙面に向かって右側に受信品質管理テーブルを記載し、左側に各伝送経路における各パケットの受信の成否の表を記載している。また、左側の表は所定の順番で並べたパケットに対応するように紙面に向かって上から順に各パケットの受信の成否が記載されている。ここでは、N=5として直近5回のデータを用いるものとして説明する。
【0048】
データ制御部153は、0系用のカウンタ及び1系用のカウンタを有している。さらに、データ制御部153は、カウンタの上限値としてNを記憶している。データ制御部153は、0系において正常なデータの受信があった場合には0系用のカウンタをインクリメントし、1系において正常なデータの受信があった場合には1系用のカウンタをインクリメントする。ただし、このインクリメントはNを上限とし、カウンタがNの場合にはそれ以上に数は増えないものとする。このNがカウンタの上限値の一例である。また、データ制御部153は、0系において正常なデータの受信が行われなかった場合には0系用のカウンタをデクリメントし、1系において正常なデータの受信が行われなかった場合には1系用のカウンタをデクリメントする。このデクリメントは0を下限とし、カウンタが0の場合にはそれ以下には数は減らないものとする。この0がカウンタの下限値の一例である。このように、カウンタに上限値及び下限値を設けることで、データ制御部153は、直近N回のOKの回数を取得することができる。
【0049】
図7−1を参照して、パケット番号3のパケットを受信した場合の受信品質管理テーブルの更新について説明する。パケット番号3のパケットを受信した場合、直近N回にあたるパケットとしてはパケット番号1及びパケット番号2のパケットしかない。そこで、データ制御部153は、パケット番号3のパケットを受信した場合には、直近N回のOKの回数としてパケット番号1及び2のパケットの受信結果を用いる。系0では、実線枠501で囲われた部分で示されるようにパケット番号1及び2のパケットは両方とも受信に成功している。この場合には、0系用のカウンタが2になっている。そこで、データ制御部153は、0系の直近N回のOK回数として欄401のセル411に2を記載する。これに対して、系1では、点線枠502で囲われた部分で示されるようにパケット番号1及び2のパケットは両方とも受信に失敗している。この場合には、1系用のカウンタは0である。そこで、データ制御部153は、1系の直近N回のOK回数として欄401のセル412に0を記載する。さらに、データ制御部153は、前回選択した系を欄402のセル421に記載する。そして、データ制御部153は、各系の直近N回のOK回数を用いていずれの系が高品質かを判定する。本実施例では、データ制御部153は、直近N回のOK回数が多い系を高品質と判定し、直近N回のOK回数が同数の場合には前回選択した系を高品質の系と判定する。パケット番号3のパケットを受信した状態では、セル411とセル412とを比較して、データ制御部153は、0系が高品質であると判定する。そこで、データ制御部153は、欄403のセル431に0を記載する。
【0050】
次に、図7−2を参照して、パケット番号6のパケットを受信した場合の受信品質管理テーブルの更新について説明する。パケット番号6のパケットを受信した場合、直近N回にあたるパケットとしてはパケット番号1〜5の5個のパケットがある。そこで、データ制御部153は、直近N回のOKの回数としてパケット番号1〜5のパケットの受信結果を用いる。系0では、実線枠503で囲われた部分で示されるようにパケット番号1〜5のパケットのうち3つのパケットの受信に成功している。この場合には、0系用のカウンタは3になっている。そこで、データ制御部153は、0系の直近N回のOK回数として欄401のセル413に3を記載する。これに対して、系1では、点線枠504で囲われた部分で示されるようにパケット番号1〜5のパケットのうち2つのパケットの受信に成功している。この場合には、1系用のカウンタは2になっている。そこで、データ制御部153は、1系の直近N回のOK回数として欄401のセル414に2を記載する。さらに、データ制御部153は、前回選択した系を欄402のセル422に記載する。そして、データ制御部153は、セル413とセル414とを比較して、0系が高品質であると判定する。そこで、データ制御部153は、欄403のセル432に0を記載する。
【0051】
次に、図7−3を参照して、パケット番号10のパケットを受信した場合の受信品質管理テーブルの更新について説明する。パケット番号10のパケットを受信した場合、直近N回にあたるパケットはパケット番号5〜9の5個のパケットである。そこで、データ制御部153は、直近N回のOKの回数としてパケット番号5〜9のパケットの受信結果を用いる。系0では、実線枠505で囲われた部分で示されるようにパケット番号5〜9のパケットのうち2つのパケットの受信に成功している。この場合には、0系用のカウンタは2になっている。そこで、データ制御部153は、0系の直近N回のOK回数として欄401のセル415に2を記載する。これに対して、系1では、点線枠506で囲われた部分で示されるようにパケット番号5〜9のパケットのうち2つのパケットの受信に成功している。この場合には、1系用のカウンタは2になっている。そこで、データ制御部153は、1系の直近N回のOK回数として欄401のセル416に2を記載する。さらに、データ制御部153は、前回選択した系を欄402のセル423に記載する。そして、データ制御部153は、セル415とセル416とを比較し、0系及び1系のいずれも直近N回のOK回数が2で同数であると判定する。そこで、データ制御部153は、セル423より前回選択した系として1系を取得する。そして、データ制御部153は、1系が高品質であると判定する。そこで、データ制御部153は、欄403のセル433に1を記載する。ここで、図7−3では分かりやすいように1とともに「前値」と記載しているが、この記載は実際には不要である。このようにして、データ制御部153は、期待するパケット番号のパケットを受けたタイミングで、受信品質管理テーブルを順次更新していく。このデータ制御部153における受信品質管理テーブルを用いて各系の受信品質を管理し判定する機能が「品質判定部」の一例にあたる。
【0052】
そして、データ制御部153は、パケット格納管理テーブルを参照し、期待するパケット番号を有するパケットが系0及び系1のいずれか一方もしくは両方で受信されているか否かを判定する。ここで、本実施形態では、データ制御部153は、パケット番号1から順番にデータ処理装置4へのパケットの出力をデータ出力部16に指示していく。すなわち、データ制御部153は、n番までのパケットをデータ処理装置4に既に出力している場合には、パケット番号n+1のパケットを期待するパケット番号を有するパケットとする。
【0053】
まず、期待するパケット番号を有するパケットがいずれか一方の系で受信されている場合における、データ制御部153による系の選択を説明する。以下では、期待するパケット番号を有するパケットを受信した方の系を「先着系」と呼ぶ。第1メモリ13又は第2メモリ14のうち先着系からのパケットを記憶するメモリに対して、期待するパケット番号を有するパケットを読み出すよう指示する。さらに、データ制御部153は、先着系からのパケットを記憶しているメモリから期待するパケット番号を有するパケットを取得するよう後述するセレクタ161に指示する。
【0054】
また、データ制御部153は、期待するパケット番号を有するパケットが両方の系で受信されている場合には、受信品質管理テーブルを参照し、その時点で受信品質が高いと判定されている系を取得する。そして、データ制御部153は、第1メモリ13又は第2メモリ14のうち取得した系からのパケットを記憶しているメモリに、期待するパケット番号を有するパケットを読み出すよう指示する。さらに、データ制御部153は、第1メモリ13又は第2メモリ14のうち取得した系からのパケットを記憶しているメモリから期待するパケット番号を有するパケットを取得するよう後述するセレクタ161に指示する。
【0055】
また、データ制御部153は、期待するパケット番号を有するパケットがいずれの系においても受信されていない場合には、出力を行わず、現在の期待するパケット番号を有するパケットの出力をスキップするようデータ出力部16に指示する。ここで、本実施形態では、いずれの系も期待するパケット番号を有するパケットを受信していない場合には出力を行わないとしているが、これは他の方法をもちいても良い。例えば、データ制御部153は、いずれの系も期待するパケット番号を有するパケットを受信していない場合にダミーデータを出力するようデータ出力部16に指示してもよい。
【0056】
図8は、伝送路の品質を用いた系選択を説明するための概念図である。ここで、図8を用いて本実施例に係るデータ制御部153による系選択についてさらに説明する。例えば、パケット番号1が期待するパケット番号を有するパケットのとき、パケット番号1のパケットは、図8に示すように0系で受信されており、1系で受信されていない状態であったとする。このとき、セル601に示すように、データ制御部153は、0系を選択することになる。また、例えば、パケット番号3が期待するパケット番号を有するパケットのとき、各パケット番号のパケットの受信結果が図8のような状態だったとする。この場合、パケット番号3のパケットは、0系及び1系の双方で受信されている状態である。そこで、データ制御部153は、直近2つの受信結果により系を選択することになる。具体的には、実線枠602で囲まれた部分で示されるように、0系では2つのパケットを受信しており、点線枠603で囲まれる部分で示されるように、1系では1つもパケットを受信していない。そこで、セル604に示すように、データ制御部153は0系を選択することになる。
【0057】
データ出力部16は、セレクタ161を有している。セレクタ161は、期待するパケット番号を有するパケットが記憶されているメモリの指定と期待するパケット番号を有するパケットのパケット番号の入力をデータ制御部153から受ける。そして、セレクタ161は、受信したパケット番号を有するパケットを指定されたメモリから取得する。そして、データ出力部16は、取得したパケットをデータ処理装置4へ出力する。また、データ出力部16は、期待するパケット番号を有するパケットの出力をスキップする指示をデータ制御部153から受けた場合には、パケットの出力を行わずデータ制御部153からの次の命令を待つ。
【0058】
次に、図9を参照して、本実施例に係るデータ受信装置による系選択の処理の流れについて説明する。図9は、実施例1に係るデータ受信装置による系選択の処理のフローチャートである。
【0059】
データ制御部153は、期待するパケットのパケット番号nを1に設定する(ステップS101)。そして、データ制御部153は、パケット番号nである期待するパケットの監視を開始する(ステップS102)。さらに、データ制御部153は、自己が有する入力データ監視タイマーを起動する(ステップS103)。
【0060】
データ制御部153は、入力データ監視タイマーを参照し予め決められているタイムアウト時間を超えているか否かを判定する(ステップS104)。タイムアウト時間を超えている場合(ステップS104肯定)、データ制御部153は、データ出力部16に対しパケット番号nのパケットの出力をスキップするよう指示する(ステップS112)。
【0061】
これに対して、タイムアウト時間を超えていない場合(ステップS104否定)、データ制御部153は、パケット番号nに対応するパケット格納管理テーブルに記載されている情報を参照するLookin処理を実行する(ステップS105)。
【0062】
そして、データ制御部153は、パケット格納管理テーブルのパケット番号nに対応する系選択の論理の欄のOR論理にフラグが立っている(OR=○)か否かを判定する(ステップS106)。OR論理にフラグが立っていない場合(ステップS106否定)、ステップS104に戻る。
【0063】
一方、OR論理にフラグが立っている場合(ステップS106肯定)、データ制御部153は、パケット格納管理テーブルのパケット番号nに対応する系選択の論理の欄のAND論理にフラグが立っている(AND=○)か否かを判定する(ステップS107)。AND論理にフラグが立っていない場合(ステップS107否定)、データ制御部153は、既にパケット番号nのパケットを受信している系、すなわちパケット番号nのパケットの先着した系からパケット番号nのパケットを取得するようにセレクタ161に指示する。セレクタ161は、パケットが先着した系のメモリからパケット番号n番のパケットを取得する。そして、データ出力部16は、パケットが先着した系から取得したパケット番号nのパケットをデータ処理装置4へ出力する(ステップS108)。
【0064】
これに対して、AND論理にフラグが立っている場合(ステップS107肯定)、データ制御部153は、受信品質管理テーブルを参照し、品質判定結果が0系か否かを判定する(ステップS109)。品質判定結果が0系である場合(ステップS109肯定)、データ制御部153は、0系のメモリである第1メモリ13からパケット番号nのパケットを取得するようにセレクタ161に指示する。セレクタ161は、第1メモリ13からパケット番号nのパケットを取得する。そして、データ出力部16は、0系から取得したパケット番号nのパケットをデータ処理装置4へ出力する(ステップS110)。
【0065】
これに対して、品質判定結果が0系でない場合(ステップS109否定)、データ制御部153は、1系のメモリである第2メモリ14からパケット番号nのパケットを取得するようセレクタ161に指示する。セレクタ161は、第2メモリ14からパケット番号nのパケットを取得する。そして、データ出力部16は、1系から取得したパケット番号nのパケットをデータ処理装置4へ出力する(ステップS111)。
【0066】
データ制御部153は、パケットnのパケットの出力において選択した系を表す出力結果を、受信品質管理テーブルの前回選択の欄に書き込む(ステップS113)。
【0067】
さらに、データ制御部153は、全てのパケットの出力が終わったか否かを判定する(ステップS114)。具体的には、データ制御部153は、一連のデータの最後のパケットの番号を予め記憶しておき、nがその記憶している番号と一致するか否かを確認することによって、全てのパケットの出力が終わったか否かの判定が行える。全てのパケットの出力が終わったと判定した場合(ステップS114肯定)、データ受信装置は系選択の処理を終了する。
【0068】
これに対して、出力していないパケットが残っている場合(ステップS114否定)、データ制御部153は、nをインクリメントし(n=n+1)(ステップS115)、ステップS102に戻る。
【0069】
以上に説明したように、本実施例に係るデータ受信装置は、一連のデータとなる順番に沿った既に出力しているパケットの次の順番のパケットを二重化した伝送路の一方もしくは両方から受信するのを待ち、その次の順番のパケットをデータ処理装置4に出力する。これにより、データの順序性が保証されない2つの伝送路からのデータの入力に対する無瞬断切替が可能となる。
【0070】
(変形例1)
次に、変形例1について説明する。変形例1は、データ制御部153による系の選択において、両方の系で期待するパケットが受信された場合に、前回選択された系を選択することが実施例1と異なるものである。そこで、以下では、変形例1に係るデータ制御部153による系の選択について主に説明する。
【0071】
データ制御部153は、期待するパケット番号を有するパケットがいずれか一方の系で受信されている場合には、第1メモリ13又は第2メモリ14のうちパケットが先着した系のメモリに対して、期待するパケット番号を有するパケットを読み出すよう指示する。さらに、データ制御部153は、先着系からのパケットを記憶しているメモリから期待するパケット番号を有するパケットを取得するよう後述するセレクタ161に指示する。
【0072】
また、データ制御部153は、期待するパケット番号を有するパケットが両方の系で受信されている場合には、受信品質管理テーブルの前回選択の欄を参照し、前回選択された系を取得する。そして、データ制御部153は、第1メモリ13又は第2メモリ14のうち前回選択された系からのパケットを記憶しているメモリに、期待するパケット番号を有するパケットを読み出すよう指示する。さらに、データ制御部153は、前回選択された系からのパケットを記憶しているメモリから期待するパケット番号を有するパケットを取得するよう後述するセレクタ161に指示する。
【0073】
このように、両方の系でパケットが受信されている場合に、前回選択された系を選択する方式を、以下では「前値保持方式」と呼ぶ。ここで、前値保持方式を採用した変形例1では、系のパケット受信の品質を用いないため、受信品質管理テーブルの品質判定結果の欄は無くても良い。
【0074】
また、データ制御部153は、期待するパケット番号を有するパケットがいずれの系においても受信されていない場合には、出力を行わずに、現在の期待するパケット番号を有するパケットの出力をスキップするようデータ出力部16に指示する。
【0075】
図10は、前値保持方式を用いた系選択を説明するための概念図である。ここで、図10を用いて変形例1に係るデータ制御部153による系選択についてさらに説明する。例えば、パケット番号3が出力対象とするパケットのとき、各パケット番号のパケットの受信結果が図10のような状態だったとする。この場合、パケット番号3のパケットは、0系及び1系の双方で受信されている状態である。そこで、データ制御部153は、前回選択された系を選択することになる。具体的には、セル610に示すようにパケット番号2のパケットの出力において選択された系は0系である。そこで、データ制御部153は、セル611のようにパケット番号3のパケットを取得する系として0系を選択することになる。
【0076】
(変形例2)
次に、変形例2について説明する。変形例2は、データ制御部153による系の選択において、両方の系で期待するパケットが受信された場合に、前値保持方式及び伝送路の品質による選択の方式を混合して系を選択することが実施例1及び変形例1と異なるものである。そこで、以下では、変形例2に係るデータ制御部153による系の選択について主に説明する。ここで、変形例2では、受信品質管理テーブルは品質判定結果の欄を有さないものとする。
【0077】
データ制御部153は、期待するパケット番号を有するパケットがいずれか一方の系で受信されている場合には、第1メモリ13又は第2メモリ14のうち先着系からのパケットを記憶しているメモリに対して、期待するパケット番号を有するパケットを読み出すよう指示する。さらに、データ制御部153は、先着系からのパケットを記憶しているメモリから期待するパケット番号を有するパケットを取得するよう後述するセレクタ161に指示する。
【0078】
また、データ制御部153は、期待するパケット番号を有するパケットが両方の系で受信されている場合には、受信品質管理テーブルを参照し、直近N回のOKの回数が多いほうの系を高品質な系と判定する。そして、データ制御部153は、第1メモリ13又は第2メモリ14のうち高品質な系と判定した系からのパケットを記憶しているメモリに、期待するパケット番号を有するパケットを読み出すよう指示する。さらに、データ制御部153は、高品質な系と判定した系からのパケットを記憶しているメモリから期待するパケット番号を有するパケットを取得するよう後述するセレクタ161に指示する。
【0079】
これに対して、受信品質管理テーブルにおける直近N回のOKの回数が両系とも同じの場合、データ制御部153は、受信品質管理テーブルの前回選択の欄を参照し、前回選択された系を取得する。そして、データ制御部153は、第1メモリ13又は第2メモリ14のうち前回選択された系からのパケットを記憶しているメモリに、期待するパケット番号を有するパケットを読み出すよう指示する。さらに、データ制御部153は、前回選択された系からのパケットを記憶しているメモリから期待するパケット番号を有するパケットを取得するよう後述するセレクタ161に指示する。
【0080】
また、データ制御部153は、期待するパケット番号を有するパケットがいずれの系においても受信されていない場合には、出力を行わずに、現在の期待するパケット番号を有するパケットの出力をスキップするようデータ出力部16に指示する。
【0081】
図11は、前値保持方式及び伝送路の品質による選択方式を混合した系選択を説明するための概念図である。ここで、図11を用いて変形例2に係るデータ制御部153による系選択についてさらに説明する。例えば、パケット番号9が出力対象とするパケットのとき、各パケット番号のパケットの受信結果が図11のような状態だったとする。この場合、パケット番号9のパケットは、0系及び1系の双方で受信されている状態である。そこで、データ制御部153は、0系及び1系の直近5回のOK回数を取得する。この場合、点線枠620で囲われた部分の○の個数から、0系の方が1系に比べて直近5回のOK回数が多いことが分かる。データ制御部153は、セル622のようにパケット番号9のパケットを取得する系として0系を選択することになる。また、例えば、パケット番号11が出力対象とするパケットのとき、各パケット番号のパケットの受信結果が図11のような状態だったとする。この場合、パケット番号11のパケットは、0系及び1系の双方で受信されている状態である。そこで、データ制御部153は、0系及び1系の直近5回のOK回数を取得する。この場合、実線枠621で囲われた部分の○の個数から、1系の方が0系に比べて直近5回のOK回数が多いことが分かる。データ制御部153は、セル623のようにパケット番号11のパケットを取得する系として1系を選択することになる。さらに、例えば、パケット番号16が出力対象とするパケットのとき、各パケット番号のパケットの受信結果が図11のような状態だったとする。この場合、パケット番号16のパケットは、0系及び1系の双方で受信されている状態である。そこで、データ制御部153は、0系及び1系の直近5回のOK回数を取得する。この場合、一点鎖線枠624で囲われた部分の○の個数から、1系及び0系の品質が同じであることが分かる。そこで、データ制御部153は、前回選択された系を取得する。図11では、セル625に記載されているように前回選択された系は1系である。そこで、データ制御部153は、データ制御部153は、セル626のようにパケット番号16のパケットを取得する系として1系を選択することになる。
【0082】
以上の説明に用いたパケットは、テレビ局などのデータの送信元から送られてきたパケットをそのまま用いてもよいし、データ送信元から送られてきたパケットをさらに小さいパケットに分割したパケットを用いてもよい。
【実施例2】
【0083】
実施例2に係るデータ受信装置は、パケットを予めグループ単位に分けておき、グループに含まれるパケットが1系又は0系のいずれかに全て揃った段階でデータ処理装置4に出力することが実施例1と異なるものである。実施例2に係るデータ受信装置のブロック図も図2で表されるものと同様である。ここで、実施例1の各部と同じ符号を有する実施例2における各部は、特に説明の無い限り同じ機能を有するものとする。
【0084】
データ制御部153は、パケットが振り分けられたグループを予め記憶している。例えば、本実施例では、パケット番号が(1)-1、(1)-2、(2)-1、(2)-2、(3)-1、(3)-2と振られているとする。この場合、データ制御部153は、例えば、パケット番号(1)-1及びパケット番号(1)-2を有するパケットを第1グループとして記憶している。また、データ制御部153は、パケット番号(2)-1及びパケット番号(2)-2を有するパケットを第2グループとして記憶している。さらに、データ制御部153は、パケット番号(3)-1及びパケット番号(3)-2を有するパケットを第3グループとして記憶している。さらに、本実施例では、(1)-1、(1)-2、(2)-1、(2)-2、(3)-1、(3)-2と並べることで一連のデータになるものとする。
【0085】
データ制御部153は、データチェック部151におけるパケット格納管理テーブルのパケット待ちWindowに含まれるパケットの受信を監視する。そして、データ制御部153は、パケット待ちWinodwに含まれるパケットをデータチェック部151が受信し、かつデータチェック部151によりそのパケットが正常と判定されると、パケットを受信した系に対応するメモリにそのパケットを記憶させる。そして、データ制御部153は、パケット格納管理テーブルを参照し、一連のデータとなる順番における既にデータ処理装置4へ出力したグループの次の順番のグループに含まれる全てのパケットの受信が完了したか否かを判定する。具体的には、まず、データ制御部153は、第1メモリ13又は第2メモリ14のいずれかに第1グループのパケットが全て格納されたかを判定する。そして、第1グループのパケットが全て格納されている場合には、データ制御部153は、第1グループに含まれるパケットすべてをデータ処理装置4に出力するようメモリ制御部152及びデータ出力部16を制御する。その後、データ制御部153は、第1グループのパケットを出力する系と逆の系のメモリから第1グループのパケットを廃棄するようメモリ制御部152に指示する。次に、データ制御部153は、第1メモリ13又は第2メモリ14のいずれかに第2グループのパケットが全て格納されているかを判定する。第2グループのパケットが全て格納されている場合には、データ制御部153は、第2グループに含まれるパケットすべてをデータ処理装置4に出力するようメモリ制御部152及びデータ出力部16を制御する。その後、データ制御部153は、第2グループのパケットを出力する系と逆の系のメモリから第2グループのパケットを廃棄するようメモリ制御部152に指示する。このように、データ制御部153は、グループ単位でパケットの出力の制御を行う。
【0086】
セレクタ161は、データ制御部153からグループ単位でのパケットの取得の指示を受けて、第1メモリ13又は第2メモリ14のうちの指定された側から、指定されたグループに含まれるパケットを取得する。
【0087】
データ出力部16は、セレクタ161が取得した1つのグループに含まれる全てのパケットをデータ処理装置4へ出力する。
【0088】
メモリ制御部152は、データ制御部153からの制御を受けて、指定されたメモリから指定されたグループに含まれるパケットを削除する。
【0089】
次に、図12及び図13を参照して、本実施例に係るデータ受信装置によるグループ単位でのパケットの出力の動作についてさらに説明する。図12は実施例2に係るデータ受信装置のパケット出力の流れを説明するための図である。図13は、実施例2に係るデータ受信装置におけるグループ単位でのパケットの出力の判定を説明するための図である。
【0090】
図12における、データ制御部153の中の点線で表されたパケット番号は、データ制御部153が記憶しているパケットのグループ分けを示している。すなわち、データ制御部153は、パケット番号(1)-1及び(1)-2のパケットを一つのグループ、パケット番号(2)-1及び(2)-2のパケットを一つのグループ、並びにパケット番号(3)-1及び(3)-2のパケットを一つのグループとして記憶している。このグループは下から順に並べることで一連のデータとなる。また、線701は系0の伝送路を表している。また、線702は系1の伝送路を表している。そして、各伝送路の上に記載されたパケットはそれぞれ矢印Pの方向に送信されてきているとする。そして、送信されてきたパケットは順次、その系に対応する第1メモリ13又は第2メモリ14に格納されていくものとする。
【0091】
まず、データ制御部153は、パケット番号(1)-1及び(1)-2のグループに含まれる全てのパケットが第1メモリ13又は第2メモリ14に格納されたか否かを監視する。具体的には、データ制御部153は、パケット格納管理テーブルを参照することで、第1メモリ13又は第2メモリ14に該当するグループの全パケットが格納されたか否かの判断を行うことができる。
【0092】
図12では、系0にパケット番号(1)-1及び(1)-2のパケットが先着する。そこで、データ制御部153は、第1メモリ13にパケット番号(1)-1及び(1)-2のパケットが揃うと、データ出力部16に対して、パケット番号(1)-1及び(1)-2のパケットを第1メモリ13から読み出すよう指示する。図12の点線矢印は、データ制御部153によるデータ出力部16への指示を表している。図12は、セレクタ161により既にパケット番号(1)-1及び(1)-2のパケットが第1メモリ13から読み出された状態である。さらに、データ制御部153は、パケット番号(1)-1及び(1)-2のパケットを第2メモリ14から削除するようメモリ制御部152に指示する。本実施例では、データ制御部153は、出力したグループに含まれるパケットに対応するパケットでメモリ内に既にあるものを削除する。さらに、データ制御部153は、その後既に出力したグループに含まれるパケットが受信された場合、メモリに格納せずに廃棄していく。ただし、パケットの削除の方法は他の方法でも良く、例えば、データ制御部153は、第2メモリ14からのパケットの削除の指示を、グループ単位でパケットが揃ってから行ってもよい。
【0093】
ここで、図13を参照して、実施例2に係るデータ受信装置におけるグループ単位でのパケットの出力の判定についてさらに説明する。図13の紙面に向かって左側の図は、各系が受信したパケットを時系列に沿って表したものであり、下向きの矢印の方向が時間の経過を表している。さらに、図13の紙面に向かって右側の表は各系のパケットの受信状態及び系選択の論理を記載した表である。時刻t1までに、第1受信部11は、0系からパケット番号(1)-1及びパケット番号(1)-2のパケットの受信を完了している。これに対して、第2受信部12は、時刻t1までにパケット番号(1)-1のパケットは1系から受信しているが、パケット番号(1)-2のパケットは受信していない。すなわち、時刻t1の段階で、データ制御部153がグループ単位でのパケットの出力を判定した場合、0系の第1メモリ13ではグループ単位の全てのパケットが揃っており、1系の第2メモリ14ではグループ単位の全てのパケットは揃っていないと判定する。そこで、本実施例では、データ制御部153は、グループ単位で先着したパケットを出力する。すなわち、パケット番号(1)-1及び(1)-2に対応するセルにOR論理にフラグがたっていれば、データ制御部153は、第1メモリ13からのグループ単位でのパケットの出力をデータ出力部16に指示する。そして、データ制御部153は、既に第2メモリ14に格納されているパケット番号(1)-1のパケットを第2メモリ14から削除するようメモリ制御部152に指示する。さらに、データ制御部153は、時刻t1後に1系で受信されたパケット番号(1)-2のパケットを、第2メモリ14に記憶させること無く廃棄する。
【0094】
データ制御部153は、パケット番号(1)-1及び(1)-2のグループに含まれるパケットの出力を指示した後、次にパケット番号(2)-1及び(2)-2のグループに含まれるパケットに対して、同様の出力の制御をおこなう。データ制御部153は、このようなグループ単位のパケットの出力を一連のデータとなる順序でグループ単位に行っていく。
【0095】
以上に説明したように、本実施例に係るデータ受信装置は、パケットを振り分けたグループ単位でデータの出力を行っていく。これにより、基のデータのパケットがさらに分割されて小さなパケットの集合になった場合などに、より正確に小さなパケットが集合したグループであるパケットごとの出力処理を行うことができ、より正確なデータの出力を行うことが可能となる。
【0096】
(変形例)
本変形例におけるデータ受信装置は、グループに含まれる全てのパケットが両方の系に揃ってから、パケットの出力を行うことが実施例2と異なるものである。
【0097】
データ制御部153は、パケットが振り分けられたグループを予め記憶している。本変形例においても、パケット番号が(1)-1、(1)-2、(2)-1、(2)-2、(3)-1、(3)-2と振られているとする。そして、データ制御部153は、パケット番号(1)-1及び(1)-2のパケットを第1グループ、パケット番号(2)-1及び(2)-2のパケットを第2グループ、並びにパケット番号(3)-1及び(3)-2のパケットを第3グループとして記憶している。
【0098】
データ制御部153は、データチェック部151におけるパケット格納管理テーブルのパケット待ちWindowに含まれるパケットの受信を監視する。そして、データ制御部153は、パケット待ちWindowに含まれるパケットをデータチェック部151が受信し、かつデータチェック部151によりそのパケットが正常と判定されると、パケットを受信した系に対応するメモリにそのパケットを記憶させる。そして、データ制御部153は、パケット格納管理テーブルを参照し、一連のデータとなる順番における既にデータ処理装置4へ出力したグループの次の順番のグループに含まれる全てのパケットの受信が完了したか否かを判定する。具体的には、データ制御部153は、第1メモリ13及び第2メモリ14の両方に第1グループのパケットが全て格納されたかを判定する。そして、第1グループのパケットが全て第1メモリ13及び第2メモリ14に格納されている場合には、受信品質管理テーブルを参照し、高品質の系を特定する。そして、データ制御部153は、高品質の系から第1グループに含まれるパケットすべてを取得した後、データ処理装置4に出力するようメモリ制御部152及びデータ出力部16を制御する。その後、データ制御部153は、第1グループのパケットを出力する系と逆の系のメモリから第1グループのパケットを廃棄するようメモリ制御部152に指示する。次に、データ制御部153は、第1メモリ13及び第2メモリ14の両方に第2グループのパケットが全て格納されているかを判定する。第2グループのパケットが全て第1メモリ13及び第2メモリ14の両方に格納されている場合、データ制御部153は、受信品質管理テーブルを参照し、高品質の系を特定する。そして、データ制御部153は、高品質の系から第2グループに含まれるパケットすべてを取得した後、データ処理装置4に出力するようメモリ制御部152及びデータ出力部16を制御する。その後、データ制御部153は、第2グループのパケットを出力する系と逆の系のメモリから第2グループのパケットを廃棄するようメモリ制御部152に指示する。このように、データ制御部153は、グループ単位でパケットの出力の制御を行う。
【0099】
セレクタ161は、データ制御部153からグループ単位でのパケットの取得の指示を受けて、第1メモリ13又は第2メモリ14のうちの指定された側から、指定されたグループに含まれるパケットを取得する。
【0100】
データ出力部16は、セレクタ161が取得した1つのグループに含まれる全てのパケットをデータ処理装置4へ出力する。
【0101】
メモリ制御部152は、データ制御部153からの制御を受けて、指定されたメモリから指定されたグループに含まれるパケットを削除する。
【0102】
次に、図14及び図15を参照して、本実施例に係るデータ受信装置によるグループ単位でのパケットの出力の動作についてさらに説明する。図14は、実施例2の変形例に係るデータ受信装置のパケット出力の流れを説明するための図である。図15は、実施例2の変形例に係るデータ受信装置におけるグループ単位でのパケットの出力の判定を説明するための図である。
【0103】
まず、図14において、データ制御部153は、パケット番号(1)-1及び(1)-2のグループに含まれる全てのパケットが第1メモリ13及び第2メモリ14に格納されたか否かを監視する。具体的には、データ制御部153は、パケット格納管理テーブルを参照することで、第1メモリ13及び第2メモリ14に該当するグループの前パケットが格納されたか否かの判断を行うことができる。
【0104】
図14では、系0の第1メモリ13にパケット番号(1)-1及び(1)-2のパケットが先着する。しかし、この時点では、系1の第2メモリ14にパケット番号(1)-1及び(1)-2のパケットが揃っていないので、データ制御部153はパケットの出力指示は行わない。その後、系1の第2メモリ14にパケット番号(1)-1及び(1)-2のパケットが格納される。そこで、データ制御部153は、第1メモリ13及び第2メモリ14にパケット番号(1)-1及び(1)-2のパケットが揃うと、受信品質管理テーブルを参照し、高品質の系を特定する。そして、データ制御部153は、データ出力部16に対して、パケット番号(1)-1及び(1)-2のパケットを高品質の系から読み出すよう指示する。図14は、セレクタ161がパケット番号(1)-1及び(1)-2のパケットを読み出す前の状態である。さらに、データ制御部153は、パケット番号(1)-1及び(1)-2のパケットを品質が低いと判定した系のメモリから削除するようメモリ制御部152に指示する。
【0105】
ここで、図15を参照して、実施例2の変形例に係るデータ受信装置におけるグループ単位でのパケットの出力の判定についてさらに説明する。図15の紙面に向かって左側の図は、各系が受信したパケットを時系列に沿って表したものであり、下向きの矢印の方向が時間の経過を表している。さらに、図15の紙面に向かって右側の表は各系のパケットの受信状態及び系選択の論理を記載した表である。時刻t2までに、第1受信部11は、0系からパケット番号(1)-1及びパケット番号(1)-2のパケットの受信を完了している。これに対して、第2受信部12は、時刻t2までにパケット番号(1)-1のパケットは1系から受信しているが、パケット番号(1)-2のパケットは受信していない。すなわち、時刻t2の段階で、データ制御部153がグループ単位でのパケットの出力を判定した場合、0系ではグループ単位の全てのパケットが揃っており、1系ではグループ単位の全てのパケットは揃っていないと判定する。本変形例では、データ制御部153は、両系においてグループ単位で全てのパケットが揃うまで待つので、時刻t2の時点では出力指示は行わない。すなわち、パケット番号(1)-1及び(1)-2に対応するセルにAND論理にフラグがたっていなければ、データ制御部153は、出力指示を行わない。次に、時刻t3になると、データ制御部153は、0系及び1系ともにグループ単位の全てのパケットが揃っていると判定する。そこで、データ制御部153は、受信品質管理テーブルを参照して、高品質の系を特定する。例えば、高品質の系として0系が特定された場合、データ制御部153は、0系の第1メモリ13からのグループ単位でのパケットの出力をデータ出力部16に指示する。そして、データ制御部153は、既に第2メモリ14に格納されているパケット番号(1)-1及び(1)-2のパケットを第2メモリ14から削除するようメモリ制御部152に指示する。
【0106】
データ制御部153は、パケット番号(1)-1及び(1)-2のグループに含まれるパケットの出力を指示した後、次にパケット番号(2)-1及び(2)-2のグループに含まれるパケットに対して、同様の出力の制御をおこなう。データ制御部153は、このようなグループ単位のパケットの出力を一連のデータとなる順序でグループ単位に行っていく。
【0107】
以上の説明に用いたグループは、データ送信元から送られてきたパケットをまとめたグループとしてもよいし、データの送信元から送られてきたパケットをさらに小さいパケットに分割したパケットのまとまりを一つのグループとしてもよい。
【0108】
[プログラム]
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図16を用いて、図2に示したデータ受信装置が実行するデータ受信処理の機能を有するデータ受信装置制御プログラムを実行するコンピュータの一例を説明する。
【0109】
図16は、データ受信装置制御プログラムを実行するコンピュータを示す図である。図16に示すように、コンピュータ1000は、RAM1010と、キャッシュ1020と、HDD1030と、ROM1040と、CPU1050、バス1060とを有する。RAM1010、キャッシュ1020、HDD1030、ROM1040、CPU1050は、バス1060によって接続されている。
【0110】
ROM1040には、図2に示したデータ受信装置が実行するデータ受信処理を実行する機能を発揮するデータ受信装置制御プログラム1041が予め記憶されている。
【0111】
そして、CPU1050は、これらのデータ受信装置制御プログラム1041を読み出して実行する。これにより、図16に示すように、データ受信装置制御プログラム1041は、データ受信装置制御プロセス1051になる。
【0112】
なお、上記したデータ受信装置制御プログラム1041については、必ずしもROM1040に記憶させなくてもよい。例えば、コンピュータ1000に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にデータ受信装置制御プログラム1041を記憶させてもよい。または、コンピュータ1000の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」にデータ受信装置制御プログラム1041を記憶させてもよい。または、公衆回線、インターネット、LAN、WANなどを介してコンピュータ1000に接続される「他のコンピュータ(またはサーバ)」にデータ受信装置制御プログラム1041を記憶させてもよい。そして、コンピュータ1000は、上述したフレキシブルディスク等から各プログラムを読み出して実行するようにしてもよい。
【0113】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0114】
(付記1)第1伝送路から送られてくる、所定の順番に並べることで一連のデータとなる、単位データの集合である第1データを前記単位データ単位で受信する第1受信部と、
前記第1伝送路とは異なる第2伝送路から送られてくる、前記第1データに含まれる前記単位データと同じ内容の単位データの集合である第2データを前記単位データ単位で受信する第2受信部と、
前記第1受信部が受信した前記単位データを記憶する第1記憶部と、
前記第2受信部が受信した前記単位データを記憶する第2記憶部と、
前記第1記憶部又は前記第2記憶部に記憶されている前記単位データの中から、取得する前記単位データを前記一連のデータとなる順番で選択するデータ制御部と、
前記データ制御部の選択した順番で前記単位データを前記第1記憶部又は前記第2記憶部から取得し、順次出力するデータ出力部と
を備えたことを特徴とするデータ受信装置。
【0115】
(付記2)前記データ制御部は、前記一連のデータとなる順番における既に選択している前記単位データの次の順番の前記単位データが前記第1記憶部又は前記第2記憶部のいずれかに記憶された場合、該記憶された単位データを次に取得する前記単位データとして選択することを特徴とする付記1に記載のデータ受信装置。
【0116】
(付記3)前記データ制御部は、同一の前記単位データが前記第1記憶部及び前記第2記憶部に記憶された場合、前記第1記憶部又は前記第2記憶部のうち一つ前の前記単位データを選択した側から次に取得する単位データを選択することを特徴とする付記1又は付記2に記載のデータ受信装置。
【0117】
(付記4)前記第1受信部及び前記第2受信部のそれぞれの系の伝送品質を判定する品質判定部をさらに備え、前記データ制御部は、同一の前記単位データが前記第1記憶部及び前記第2記憶部に記憶された場合、前記第1記憶部又は前記第2記憶部のうち前記伝送品質が高い系から前記単位データを選択することを特徴とする付記1又は付記2に記載のデータ受信装置。
【0118】
(付記5)前記品質判定部が、前記第1受信部と前記第2受信部との伝送品質が同じと判定した場合、前記データ制御部は、前記第1記憶部又は前記第2記憶部のうち一つ前の前記単位データを記憶していた側から次に取得する単位データを選択することを特徴とする付記4に記載のデータ受信装置。
【0119】
(付記6)前記品質判定部は、前記一連のデータとなる順番における所定個数前から最後に選択した前記単位データまでに前記単位データの受信した個数が多い方を伝送品質が高い系と判定することを特徴とする付記4又は付記5に記載のデータ受信装置。
【0120】
(付記7)前記第1受信部及び前記第2受信部が受信した各前記単位データの正常性をチェックするデータチェック部をさらに備え、
前記品質判定部は、前記第1受信部が正常な前記単位データを受信した場合、第1所定値を上限として自己が有する第1カウンタをインクリメントし、前記第1受信部が正常でない前記単位データを受信した場合又は前記次の順番の単位データを受信できなかった場合、前記第1所定値より小さい値である第2所定値を下限として前記第1カウンタをデクリメントし、前記第2受信部が正常な単位データを受信した場合、前記所定値を上限として自己が有する第2カウンタをインクリメントし、前記第2受信部が正常でない前記単位データを受信した場合又は次の順番の前記単位データを受信できなかった場合、前記第2所定値を下限として前記第2カウンタをデクリメントし、前記第1カウンタと前記第2カウンタとのカウント値を比較して、前記第1カウンタのカウント値が大きい場合、前記第1受信部を伝送品質が高い系と判定し、前記第2カウンタのカウント値が大きい場合、前記第2受信部を伝送品質が高い系と判定する
ことを特徴とする付記4乃至付記6のいずれか一つに記載のデータ受信装置。
【0121】
(付記8)前記品質判定部は、前記第1カウンタ及び前記第2カウンタのカウント値が同じであれば、伝送品質が同じと判定することを特徴とする付記4乃至付記7のいずれか一つに記載のデータ受信装置。
【0122】
(付記9)前記データ制御部は、前記所定の順番で連続する複数の前記単位データを含むグループに前記一連のデータを分割し、前記単位データを前記グループ単位で選択していくことを特徴とする付記1乃至付記8のいずれか一つに記載のデータ受信装置。
【0123】
(付記10)前記データ制御部は、前記第1記憶部及び前記第2記憶部に次の順番のグループに含まれるパケットが全て記憶された場合に、前記グループ単位での前記単位データの選択を行うことを特徴とする付記9に記載のデータ受信装置。
【0124】
(付記11)第1伝送路から送られてくる、所定の順番に並べることで一連のデータとなる、単位データの集合である第1データを前記単位データ単位で受信し、
前記第1伝送路とは異なる第2伝送路から送られてくる、前記第1データに含まれる前記単位データと同じ内容の単位データの集合である第2データを前記単位データ単位で受信し、
受信した前記第1データの単位データを第1メモリに格納し、
受信した前記第2データの単位データを第2メモリに格納し、
前記第1メモリ又は前記第2メモリに格納されている前記単位データの中から、取得する前記単位データを前記一連のデータとなる順番で選択し、
選択された前記単位データを前記第1メモリ又は前記第2メモリから取得し、順次出力する
ことを特徴とするデータ受信装置制御方法。
【0125】
(付記12)コンピュータに、
第1伝送路から送られてくる、所定の順番に並べることで一連のデータとなる、単位データの集合である第1データを前記単位データ単位で受信し、
前記第1伝送路とは異なる第2伝送路から送られてくる、前記第1データに含まれる前記単位データと同じ内容の単位データの集合である第2データを前記単位データ単位で受信し、
受信した前記第1データの前記単位データを第1メモリに格納し、
受信した前記第2データの前記単位データを第2メモリに格納し、
前記第1メモリ又は前記第2メモリに記憶されている前記単位データの中から、取得する前記単位データを前記一連のデータとなる順番で選択し、
選択された前記単位データを前記第1メモリ又は前記第2メモリから取得し、順次出力する
処理を実行させることを特徴とするデータ受信装置制御プログラム。
【符号の説明】
【0126】
1 データ受信装置
2 データ送信装置
3 IP網
4 データ処理装置
5 出力装置
11 第1受信部
12 第2受信部
13 第1メモリ
14 第2メモリ
15 制御部
16 データ出力部
151 データチェック部
152 メモリ制御部
153 データ制御部

【特許請求の範囲】
【請求項1】
第1伝送路から送られてくる、所定の順番に並べることで一連のデータとなる、単位データの集合である第1データを前記単位データ単位で受信する第1受信部と、
前記第1伝送路とは異なる第2伝送路から送られてくる、前記第1データに含まれる前記単位データと同じ内容の単位データの集合である第2データを前記単位データ単位で受信する第2受信部と、
前記第1受信部が受信した前記単位データを記憶する第1記憶部と、
前記第2受信部が受信した前記単位データを記憶する第2記憶部と、
前記第1記憶部又は前記第2記憶部に記憶されている前記単位データの中から、取得する前記単位データを前記一連のデータとなる順番で選択するデータ制御部と、
前記データ制御部の選択した順番で前記単位データを前記第1記憶部又は前記第2記憶部から取得し、順次出力するデータ出力部と
を備えたことを特徴とするデータ受信装置。
【請求項2】
前記データ制御部は、前記一連のデータとなる順番における既に選択している前記単位データの次の順番の前記単位データが前記第1記憶部又は前記第2記憶部のいずれかに記憶された場合、該記憶された単位データを次に取得する前記単位データとして選択することを特徴とする請求項1に記載のデータ受信装置。
【請求項3】
前記第1受信部及び前記第2受信部のそれぞれの系の伝送品質を判定する品質判定部をさらに備え、前記データ制御部は、同一の前記単位データが前記第1記憶部及び前記第2記憶部に記憶された場合、前記第1記憶部又は前記第2記憶部のうち前記伝送品質が高い系から前記単位データを選択することを特徴とする請求項1又は請求項2に記載のデータ受信装置。
【請求項4】
前記第1受信部及び前記第2受信部が受信した各前記単位データの正常性をチェックするデータチェック部をさらに備え、
前記品質判定部は、前記第1受信部が正常な前記単位データを受信した場合、第1所定値を上限として自己が有する第1カウンタをインクリメントし、前記第1受信部が正常でない前記単位データを受信した場合又は前記次の順番の単位データを受信できなかった場合、前記第1所定値より小さい値である第2所定値を下限として前記第1カウンタをデクリメントし、前記第2受信部が正常な単位データを受信した場合、前記所定値を上限として自己が有する第2カウンタをインクリメントし、前記第2受信部が正常でない前記単位データを受信した場合又は次の順番の前記単位データを受信できなかった場合、前記第2所定値を下限として前記第2カウンタをデクリメントし、前記第1カウンタと前記第2カウンタとのカウント値を比較して、前記第1カウンタのカウント値が大きい場合、前記第1受信部を伝送品質が高い系と判定し、前記第2カウンタのカウント値が大きい場合、前記第2受信部を伝送品質が高い系と判定する
ことを特徴とする請求項3に記載のデータ受信装置。
【請求項5】
前記データ制御部は、前記所定の順番で連続する複数の前記単位データを含むグループに前記一連のデータを分割し、前記単位データを前記グループ単位で選択することを特徴とする請求項1乃至請求項4のいずれか一つに記載のデータ受信装置。
【請求項6】
第1伝送路から送られてくる、所定の順番に並べることで一連のデータとなる、単位データの集合である第1データを前記単位データ単位で受信し、
前記第1伝送路とは異なる第2伝送路から送られてくる、前記第1データに含まれる前記単位データと同じ内容の単位データの集合である第2データを前記単位データ単位で受信し、
受信した前記第1データの前記単位データを第1メモリに格納するステップと、
受信した前記第2データの前記単位データを第2メモリに格納するステップと、
前記第1メモリ又は前記第2メモリに格納されている前記単位データの中から、取得する前記単位データを前記一連のデータとなる順番で選択し、
選択された前記単位データを前記第1メモリ又は前記第2メモリから取得し、順次出力する
ことを特徴とするデータ受信装置制御方法。
【請求項7】
コンピュータに、
第1伝送路から送られてくる、所定の順番に並べることで一連のデータとなる、単位データの集合である第1データを前記単位データ単位で受信し、
前記第1伝送路とは異なる第2伝送路から送られてくる、前記第1データに含まれる前記単位データと同じ内容の単位データの集合である第2データを前記単位データ単位で受信し、
受信した前記第1データの前記単位データを第1メモリに格納し、
受信した前記第2データの前記単位データを第2メモリに格納し、
前記第1メモリ又は前記第2メモリに記憶されている前記単位データの中から、取得する前記単位データを前記一連のデータとなる順番で選択し、
選択された前記単位データを前記第1メモリ又は前記第2メモリから取得し、順次出力する
処理を実行させることを特徴とするデータ受信装置制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7−1】
image rotate

【図7−2】
image rotate

【図7−3】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate