(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-17
(45)【発行日】2025-02-26
(54)【発明の名称】処理装置、プログラム、処理方法および処理システム
(51)【国際特許分類】
H04L 7/00 20060101AFI20250218BHJP
H04L 49/9057 20220101ALI20250218BHJP
【FI】
H04L7/00 290
H04L49/9057
(21)【出願番号】P 2021027555
(22)【出願日】2021-02-24
【審査請求日】2023-11-09
(73)【特許権者】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100140958
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100190942
【氏名又は名称】風間 竜司
(72)【発明者】
【氏名】稲生 智久
【審査官】阿部 弘
(56)【参考文献】
【文献】特開2014-017607(JP,A)
【文献】特開2018-006845(JP,A)
【文献】特開2016-187122(JP,A)
【文献】特開2005-020047(JP,A)
【文献】特開2020-010142(JP,A)
【文献】特開2008-153916(JP,A)
【文献】米国特許出願公開第2006/0224763(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
H04L 49/9057
(57)【特許請求の範囲】
【請求項1】
複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部と、
前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部と、
を備え、
前記ファイル生成部は、受信された各パケットのシーケンス番号に基づき、前記損失パケットを特定し、前記損失パケットのシーケンス番号を示す損失情報を含む損失情報ファイルを生成する、処理装置。
【請求項2】
複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部と、
前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部と、
を備え、
前記ファイル生成部は、受信時刻が直近となるパケットから所定時間以上に亘って次のパケットが受信されない受信断が発生した場合に、受信断情報を含む受信断情報ファイルを生成する、処理装置。
【請求項3】
前記処理装置は、前記損失パケットまたは前記受信断が発生した第1ファイルに対応する特定の第2のファイルおよび当該特定の第2のファイルの前後の第2のファイルを含む前記第2のファイル群を前記他の処理装置から取得するファイル取得部をさらに備え、
前記補完部は、前記ファイル取得部により取得された前記第2のファイル群を用いて補完を実行する、
請求項2に記載の処理装置。
【請求項4】
コンピュータを、
複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部、
前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部、
として機能させ、
前記ファイル生成部は、受信された各パケットのシーケンス番号に基づき、前記損失パケットを特定し、前記損失パケットのシーケンス番号を示す損失情報を含む損失情報ファイルを生成する、プログラム。
【請求項5】
コンピュータを、
複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部、
前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部、
として機能させ、
前記ファイル生成部は、受信時刻が直近となるパケットから所定時間以上に亘って次のパケットが受信されない受信断が発生した場合に、受信断情報を含む受信断情報ファイルを生成する、プログラム。
【請求項6】
処理装置において実行される処理方法であって、
複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成する
第1ステップと、
前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出する
第2ステップと、
前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する
第3ステップと、
を含み、
前記第1ステップは、受信された各パケットのシーケンス番号に基づき、前記損失パケットを特定し、前記損失パケットのシーケンス番号を示す損失情報を含む損失情報ファイルを生成することを含む、処理方法。
【請求項7】
処理装置において実行される処理方法であって、
複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成する第1ステップと、
前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出する第2ステップと、
前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する第3ステップと、
を含み、
前記第1ステップは、受信時刻が直近となるパケットから所定時間以上に亘って次のパケットが受信されない受信断が発生した場合に、受信断情報を含む受信断情報ファイルを生成することを含む、処理方法。
【請求項8】
第1の処理装置および第2の処理装置を有する処理システムであって、
前記第1の処理装置は、
複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部と、
前記第1のファイル群、および前記第2の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算
出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部と、
を備え、
前記ファイル生成部は、受信された各パケットのシーケンス番号に基づき、前記損失パケットを特定し、前記損失パケットのシーケンス番号を示す損失情報を含む損失情報ファイルを生成する、処理システム。
【請求項9】
第1の処理装置および第2の処理装置を有する処理システムであって、
前記第1の処理装置は、
複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部と、
前記第1のファイル群、および前記第2の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部と、
を備え、
前記ファイル生成部は、受信時刻が直近となるパケットから所定時間以上に亘って次のパケットが受信されない受信断が発生した場合に、受信断情報を含む受信断情報ファイルを生成する、処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、処理装置、プログラム、処理方法および処理システムに関する。
【背景技術】
【0002】
現在、放送局には、放送したデータの保存が放送法により義務付けられている。このため、各放送局では、放送したデータを保存するための法定同録システムが運用されている。ある種の法定同録システムは、2台の装置を有し、2台の装置にデータを二重で記録する。これにより、一方の装置での障害発生に対処することが可能となる。しかし、パケット損失は発生する。
【0003】
パケット損失の発生への対処に関し、例えば特許文献1には、異なる通信路の各々を介してストリームを受信し、一方のストリームで損失したパケットを、タイムスタンプを参照することで他方のストリームから補完する技術が開示されている。また、特許文献2には、受信したパケットをPCAPファイル形式で保存し、PCAPファイルに各パケットの受信時刻を格納する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2011-186797号公報
【文献】特開2018-006845号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1に記載の技術では、データ通信装置がパケットを受信した時刻の情報が損失しているので、実際に受信されたであろうパケット順序を有するストリームを正確に再現することが困難である。また、特許文献2に記載の技術では、パケット損失の発生時または装置の停止時などには受信時刻を格納するPCAPファイルごと損失してしまうので、ストリームの正確な再現が困難となる。
【0006】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、損失パケットをより適切に補完することが可能な、新規かつ改良された処理装置、プログラム、処理方法および処理システムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある観点によれば、複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部と、前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部と、を備え、前記ファイル生成部は、受信された各パケットのシーケンス番号に基づき、前記損失パケットを特定し、前記損失パケットのシーケンス番号を示す損失情報を含む損失情報ファイルを生成する、処理装置が提供される。また、上記課題を解決するために、本発明の別の観点によれば、複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部と、前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部と、を備え、前記ファイル生成部は、受信時刻が直近となるパケットから所定時間以上に亘って次のパケットが受信されない受信断が発生した場合に、受信断情報を含む受信断情報ファイルを生成する、処理装置が提供される。
【0008】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部、前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部、として機能させ、前記ファイル生成部は、受信された各パケットのシーケンス番号に基づき、前記損失パケットを特定し、前記損失パケットのシーケンス番号を示す損失情報を含む損失情報ファイルを生成する、プログラムが提供される。また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部、前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部、として機能させ、前記ファイル生成部は、受信時刻が直近となるパケットから所定時間以上に亘って次のパケットが受信されない受信断が発生した場合に、受信断情報を含む受信断情報ファイルを生成する、プログラムが提供される。
【0009】
また、上記課題を解決するために、本発明の別の観点によれば、処理装置において実行される処理方法であって、複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成する第1ステップと、前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出する第2ステップと、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する第3ステップと、を含み、前記第1ステップは、受信された各パケットのシーケンス番号に基づき、前記損失パケットを特定し、前記損失パケットのシーケンス番号を示す損失情報を含む損失情報ファイルを生成することを含む、処理方法が提供される。また、上記課題を解決するために、本発明の別の観点によれば、処理装置において実行される処理方法であって、複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成する第1ステップと、前記第1のファイル群、および他の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出する第2ステップと、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する第3ステップと、を含み、前記第1ステップは、受信時刻が直近となるパケットから所定時間以上に亘って次のパケットが受信されない受信断が発生した場合に、受信断情報を含む受信断情報ファイルを生成することを含む、処理方法が提供される。
【0010】
また、上記課題を解決するために、本発明の別の観点によれば、第1の処理装置および第2の処理装置を有する処理システムであって、前記第1の処理装置は、複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部と、前記第1のファイル群、および前記第2の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部と、を備え、前記ファイル生成部は、受信された各パケットのシーケンス番号に基づき、前記損失パケットを特定し、前記損失パケットのシーケンス番号を示す損失情報を含む損失情報ファイルを生成する、処理システムが提供される。また、上記課題を解決するために、本発明の別の観点によれば、第1の処理装置および第2の処理装置を有する処理システムであって、前記第1の処理装置は、複数のパケット、および各パケットの受信時刻を含む複数の第1のファイルからなる第1のファイル群を生成するファイル生成部と、前記第1のファイル群、および前記第2の処理装置で生成された第2のファイル群の双方に含まれるパケットの受信時刻の差分を算出し、前記第1のファイルにおいて損失している損失パケットに対応する前記第2のファイル群における対応パケットを、前記対応パケットの受信時刻を前記差分で補正して得られた補正時刻を用いて前記第1のファイルに補完する補完部と、を備え、前記ファイル生成部は、受信時刻が直近となるパケットから所定時間以上に亘って次のパケットが受信されない受信断が発生した場合に、受信断情報を含む受信断情報ファイルを生成する、処理システムが提供される。
【発明の効果】
【0011】
以上説明した本発明によれば、損失パケットをより適切に補完することが可能である。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施形態による処理システムの構成を示す説明図である。
【
図2】本発明の一実施形態による同録サーバ20の構成を示す説明図である。
【
図3】PCAPファイルの構成例を示す説明図である。
【
図4】パケットヘッダおよびパケットの構成例を示す説明図である。
【
図5】各同録サーバ20の記憶部240が記憶するファイルの具体例を示す説明図である。
【
図6】各同録サーバ20の記憶部240が記憶するファイルの他の具体例を示す説明図である。
【
図9】パケット受信時の動作を示すフローチャートである。
【
図10】パケット送信時の動作を示すフローチャートである。
【
図11】同録サーバ20のハードウェア構成を示したブロック図である。
【発明を実施するための形態】
【0013】
以下に添付図面を参照しながら、本発明の実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0014】
また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。例えば、実質的に同一の機能構成または論理的意義を有する複数の構成を、必要に応じて同録サーバ20Aおよび20Bのように区別する。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、複数の構成要素の各々に同一符号のみを付する。例えば、同録サーバ20Aおよび20Bを特に区別する必要が無い場合には、各同録サーバを単に同録サーバ20と称する。
【0015】
<処理システムの概要>
現在、放送局には、放送したデータの保存が放送法により義務付けられている。本発明の一実施形態は、放送されたデータの保存に関する処理を行う処理システムに関する。以下、本発明の一実施形態による処理システムの概要を説明する。
【0016】
図1は、本発明の一実施形態による処理システムの構成を示す説明図である。
図1に示したように、本発明の一実施形態による処理システムは、IP放送局10、複数の同録サーバ20、確認用表示装置28および複数のユーザ端末30を有する。複数の同録サーバ20、確認用表示装置28および複数のユーザ端末30は、インターネット12を介してIP放送局10に接続されている。
【0017】
(IP放送局10)
IP放送局10は、インターネット12を介して、番組のRTP(Real-time Transport Protocol)パケットをIP(Internet Protocol)マルチキャストで送信する。IP放送局10は、例えば、地上波放送、BS放送またはCS放送などで番組を受信し、受信した番組のRTPパケットを送信してもよい。以下、RTPパケットを単にパケットと称する場合がある。
【0018】
(ユーザ端末30)
ユーザ端末30は、IP放送局10から番組のパケットを受信し、受信したパケットを復号し、復号により得られたデータを用いて番組の表示および音声出力を行う。
図1においてはユーザ端末30としてディスプレイ装置が示されているが、ユーザ端末30は、PCまたはスマートフォンなどの情報端末であってもよい。
【0019】
(同録サーバ20)
同録サーバ20は、IP放送局10から送信されたパケットの保存に関する処理を行う処理装置の一例である。同録サーバ20Aは、IP放送局10から複数のパケットを受信すると、複数のパケットを含むPCAP(Packet Capture)ファイルを第1のファイルとして生成して保存する。同様に、同録サーバ20Bは、IP放送局10から複数のパケットを受信すると、複数のパケットを含むPCAPファイルを第2のファイルとして生成して保存する。
【0020】
また、同録サーバ20は、放送された番組の確認が必要となった場合に、当該番組のPCAPファイルに含まれるパケットを確認用表示装置28に送信する。例えば、ユーザ端末30を用いて番組を視聴するユーザから番組の放送品質に関する問い合わせがあった場合に、どのような品質で番組が放送されたかを確認するために、オペレータからの操作に従って同録サーバ20がパケットを確認用表示装置28に送信する。
【0021】
(確認用表示装置28)
確認用表示装置28は、同録サーバ20から送信されたパケットを受信し、受信したパケットを復号し、復号により得られたデータを用いて番組の表示および音声出力を行う。確認作業者は、確認用表示装置28から出力される表示および音声に基づいて、どのような品質で番組が放送されたかを確認し得る。
【0022】
ここで、ユーザ端末30が受信に成功したパケットであっても、同録サーバ20Aまたは同録サーバ20Bが当該パケットの受信に失敗することがある。このため、同録サーバ20Aに保存されているパケットを確認用表示装置28に送信しても、確認用表示装置28から出力される表示および音声は、実際に放送されてユーザ端末30から出力された表示および音声と異なる場合がある。
【0023】
そこで、本発明の一実施形態においては、同録サーバ20Aが受信に失敗したパケットを、同録サーバ20Bが保存しているパケットを用いて補完する。さらに、当該パケットの補完は、当該パケットが他のパケットとの関係で適切な順序位置となるように行われる。以下、このような本発明の一実施形態による同録サーバ20の構成および動作を順次詳細に説明する。
【0024】
<同録サーバ20の構成>
図2は、本発明の一実施形態による同録サーバ20の構成を示す説明図である。
図2に示したように、本発明の一実施形態による同録サーバ20は、通信部220、ファイル生成部230、記憶部240および補完部250を有する。
【0025】
(通信部220)
通信部220は、IP放送局10からパケットを受信する受信部としての機能、および、確認用表示装置28にパケットを送信する送信部としての機能を有する。また、通信部220は、他の同録サーバ20と通信することも可能である。例えば、通信部220は、他の同録サーバ20からPCAPファイルを受信する。
【0026】
(ファイル生成部230)
ファイル生成部230は、IP放送局10によるパケットの受信に基づき、PCAPファイル、lostファイル、およびmissファイルを生成する。PCAPファイルは、複数のパケットを含むファイルである。まず、
図3および
図4を参照して、PCAPファイルの構成をより具体的に説明する。
【0027】
図3は、PCAPファイルの構成例を示す説明図である。
図3に示したように、PCAPファイルは、ファイルヘッダ、複数のパケットヘッダおよび複数のパケットを含む。PCAPファイルは例えば1秒周期で生成され、連続する複数のPCAPファイルのファイル名には、「01.pcap」、「02.pcap」のように秒単位の数字が用いられる。
【0028】
図4は、パケットヘッダおよびパケットの構成例を示す説明図である。
図4に示したようにパケットヘッダには時刻情報が含まれる。ファイル生成部230は、当該時刻情報として、パケットヘッダの対となるパケットの受信時刻を示す情報を記録する。
【0029】
lostファイル、およびmissファイルも、PCAPファイルと同様に例えば1秒周期で生成される。lostファイルには「01.lost」および「02.lost」のようなファイル名が付され、missファイルには「01.miss」および「02.miss」のようなファイル名が付される。
【0030】
ファイル生成部230は、あるPCAPファイルにおいて、シーケンス番号が欠けているパケット、すなわち、損失パケットが存在する場合に、当該損失パケットのシーケンス番号を示す損失情報を当該PCAPファイルに対応するlostファイルに記録する。すなわち、lostファイルは、損失情報ファイルの一例である。
【0031】
また、ファイル生成部230は、受信時刻が直近となるパケットの受信時刻から所定時間以上に亘って次のパケットが受信されない受信断が発生した場合に、受信断情報をmissファイルに記録する。すなわち、missファイルは、受信断情報ファイルの一例である。
【0032】
(記憶部240)
記憶部240は、同録サーバ20の動作に用いられる多様なデータを記憶する。例えば、記憶部240は、ファイル生成部230により生成されたPCAPファイル、lostファイル、およびmissファイルを記憶(保存)する。ここで、
図5を参照し、同録サーバ20Aの記憶部240が記憶するファイルの具体例、および同録サーバ20Bの記憶部240が記憶するファイルの具体例を説明する。
【0033】
図5は、各同録サーバ20の記憶部240が記憶するファイルの具体例を示す説明図である。より詳細には、
図5の上段には、同録サーバ20Aの記憶部240が記憶するPCAPファイル群、lostファイル群、およびmissファイル群を示しており、
図5の下段には、同録サーバ20Bの記憶部240が記憶するPCAPファイル群、lostファイル群、およびmissファイル群を示している。また、PCAPファイル内の矩形はパケットを示し、パケット内の数字はパケットのシーケンス番号を示す。
【0034】
図5に示した例では、同録サーバ20Aの記憶部240が記憶する「02.pcap」において、シーケンス番号が「8」であるパケットが欠けている。このため、「02.pcap」に対応する「02.lost」には、当該損失パケットのシーケンス番号である「8」が記録されている。
【0035】
一方、同録サーバ20Bの記憶部240が記憶するPCAPファイル群には、シーケンス番号が「8」であるパケットが含まれている。このため、同録サーバ20Bの記憶部240には、シーケンス番号「8」を含むlostファイルは記憶されていない。
【0036】
図6は、各同録サーバ20の記憶部240が記憶するファイルの他の具体例を示す説明図である。
図6に示した例では、同録サーバ20Aの記憶部240が記憶するPCAPファイル群において、パケット「10」とパケット「16」の間で所定時間以上に亘る受信断が発生しており、パケット「10」とパケット「16」の間のパケットが存在しない。このため、「02.miss」および「03.miss」に、受信断が発生したことを示す「occured」が記録されている。なお、受信断により受信されなかったパケットも損失パケットに該当する。
【0037】
一方、同録サーバ20Bの記憶部240が記憶するPCAPファイル群では受信断が発生していないので、受信断が発生したことを示す「occured」を含むmissファイルは記憶されていない。
【0038】
(補完部250)
補完部250は、同録サーバ20から確認用表示装置28へのパケットの送信プロセスにおいて、記憶部240に記憶されているPCAPファイル群において損失している損失パケットを、他の同録サーバ20に記憶されており、当該損失パケットに対応する対応パケットを用いて補完する。補完部250は、lostファイルおよびmissファイルを確認することにより、損失パケットの存在を把握することが可能である。
【0039】
以下、lostファイルにシーケンス番号の記録があった場合の補完処理、および、missファイルに受信断情報「occured」の記録があった場合の補完処理を、順次詳細に説明する。
【0040】
図5に示したように、「02.lost」にシーケンス番号「8」が記録されていた場合、同録サーバ20Aの補完部250は、「02.pcap」を含む複数のPCAPファイルを同録サーバ20Bに要求する。例えば、補完部250は、「02.pcap」の前後一秒間に重なる「01.pcap」、「02.pcap」および「03.pcap」を同録サーバ20Bに要求し、これらPCAPファイルを同録サーバ20Bから取得する。
【0041】
そして、同録サーバ20Aの補完部250は、記憶部240に記憶されているPCAPファイル群、および同録サーバ20Bから取得されたPCAPファイル群の双方に含まれるパケットの時刻情報(受信時刻)の差分である時間差tを算出する。双方に含まれるパケットは、同録サーバ20Aおよび同録サーバ20Bに概ね同時に受信されたと考えられるが、パケットヘッダに記録される時刻情報には、同録サーバ20Aの内部時計と同録サーバ20Bの内部時計との差に応じた時間差が生じ得る。すなわち、上記時間差tは、同録サーバ20Aの内部時計と同録サーバ20Bの内部時計との差を示す値と捉え得る。
【0042】
例えば、同録サーバ20Aの補完部250は、損失パケットの直前のパケットであるパケット「7」を用いて上記時間差tを算出する。同録サーバ20Aが記憶するパケット「7」の時刻情報をt7_1、同録サーバ20Bから取得されたパケット「7」の時刻情報をt7_2とすると、上記時間差tは、(t7_1-t7_2)により算出可能である。
【0043】
さらに、同録サーバ20Aの補完部250は、損失パケット「8」に対応する対応パケットとして、同録サーバ20Bから取得されたパケット「8」を同録サーバ20Aに記憶されているPCAPファイルに補完する。ここで、補完部250は、同録サーバ20Bから取得されたパケット8の時刻情報を、上記時間差tを用いて補正する。
【0044】
例えば、同録サーバ20Aの補完部250は、同録サーバ20Bから取得されたパケット8の時刻情報をt8_2とすると、(t8_2-t)の演算により補正後の時刻t8_1を得る。これにより、
図7に示したように、同録サーバ20Aに記憶されている「02.pcap」において、パケット「8」がパケット「7」の前の順序位置となるように補完される。
【0045】
一方、
図6に示したように、「02.miss」および「03.miss」に、受信断が発生したことを示す「occured」が記録されていた場合、補完部250は、「02.pcap」および「03.pcap」を含む複数のPCAPファイルを同録サーバ20Bに要求する。例えば、補完部250は、「02.pcap」および「03.pcap」の前後一秒間に重なる「01.pcap」~「04.pcap」を同録サーバ20Bに要求し、これらPCAPファイルを同録サーバ20Bから取得する。
【0046】
そして、同録サーバ20Aの補完部250は、記憶部240に記憶されているPCAPファイル群、および同録サーバ20Bから取得されたPCAPファイル群の双方に含まれるパケットの時刻情報(受信時刻)の差分である時間差tを算出する。例えば、パケット「10」を用いて上記時間差tを算出する。同録サーバ20Aが記憶するパケット「10」の時刻情報をt10_1、同録サーバ20Bから取得されたパケット「10」の時刻情報をt10_2とすると、上記時間差tは、(t10_1-t10_2)により算出可能である。
【0047】
さらに、同録サーバ20Aの補完部250は、損失パケット「11」~「15」に対応パケットとして、同録サーバ20Bから取得されたパケット「11」~「15」を同録サーバ20Aに記憶されているPCAPファイル群に補完する。ここで、補完部250は、同録サーバ20Bから取得されたパケット「11」~「15」の時刻情報を、上記時間差tを用いて補正する。
【0048】
例えば、同録サーバ20Aの補完部250は、同録サーバ20Bから取得されたパケットn時刻情報をtn_2とすると、(tn_2-t)の演算により、補正後の時刻tn_1を得る。これにより、
図8に示したように、同録サーバ20Aに記憶されているPCAPファイル群において、パケット「11」~「15」がパケット「10」とパケット「16」の間の順序位置となるように補完される。
【0049】
<動作>
以上、本発明の一実施形態による同録サーバ20の構成を説明した。続いて、
図9および
図10を参照し、本発明の一実施形態による同録サーバ20の動作を整理する。
【0050】
図9は、パケット受信時の動作を示すフローチャートである。
図9に示したように、IP放送局10から送信されたパケットを同録サーバ20の通信部220が受信する(S304)。ファイル生成部230は、複数のパケットが受信されるなかで、損失パケットの有無を判断する(S308)。損失パケットがある場合(S308/Yes)、ファイル生成部230は、損失パケットのシーケンス番号を含むlostファイルを生成する(S312)。
【0051】
また、ファイル生成部230は、受信断の発生の有無を判断する(S316)。受信断が発生した場合(S316/Yes)、ファイル生成部230は、受信断情報として例えば「occured」を含むmissファイルを生成する(S320)。
【0052】
さらに、ファイル生成部230は、複数のパケットを含むPCAPファイルを生成する(S324)。PCAPファイル、lostファイルおよびmissファイルは記憶部240に記憶される。そして、S304~S328の処理が、同録サーバ20の動作終了まで繰り返される(S328)。
【0053】
図10は、パケット送信時の動作を示すフローチャートである。
図10に示したように、送信対象の番組についてのある時間のファイル(PCAPファイル、lostファイルおよびmissファイル)を補完部250が記憶部240から読み込む(S404)。補完部250は、lostファイルにパケットのシーケンス番号が含まれている場合(S408/Yes)、または、missファイルに受信断情報が含まれている場合(S412/Yes)、他の同録サーバ20から例えば当該時間の前後1秒間に重なるPCAPファイル群を取得する(S416)。
【0054】
そして、補完部250は、記憶部240に記憶されているPCAPファイル群、および他の同録サーバ20から取得されたPCAPファイル群の双方に含まれるパケットの時刻情報(受信時刻)の差分である時間差tを算出する(S420)。
【0055】
さらに、補完部250は、他の同録サーバ20から取得されたPCAPファイル群に含まれるパケットのうちで、損失パケットに対応する対応パケットを記憶部240に記憶されているPCAPファイル群に補完する(S424)。ここで、補完部250は、対応パケットの時刻情報を上記時間差tで補正し、対応パケットのパケットヘッダに含まれる時刻情報を補正により得られた補正時刻に更新する。
【0056】
その後、通信部220は、各パケットの時刻情報を確認し、時刻情報に基づいて各パケットの送信時刻を決定し、各パケットの送信時刻までスリープする(S428)。通信部220は、各パケットの送信時刻においてスリープから復帰し、パケットを送信する(S432)。
【0057】
<作用効果>
以上説明した本発明の一実施形態によれば、多様な作用効果が得られる。例えば、本発明の一実施形態によれば、1つの同録サーバ20においてパケット損失または受信断などにより受信されなかったパケットを、他の同録サーバ20に記憶されている対応パケットで補完することが可能である。
【0058】
また、同録サーバ20は、双方の同録サーバ20の内部時計の差分に相当する時間差tを用いて対応パケットの時刻情報を補正するので、同録サーバ20に記憶されているPCAPファイル群において対応パケットが適切な順序位置となるように補完を行うことが可能である。このため、同録サーバ20から確認用表示装置28へのパケットの送信プロセスにおいて、同録サーバ20は、IP放送局10からユーザ端末30に到達したであろう順序でパケットを確認用表示装置28に送信できる。結果、確認用表示装置28は、実際に放送されてユーザ端末30から出力された表示および音声と同じように表示および音声を出力することが期待される。
【0059】
さらに、上記時間差tを、パケット損失または受信断などが発生したタイミング付近で受信されたパケットを用いて算出するので、時間差tとして精度が高い値を算出可能であり、結果、補完される対応パケットの時刻情報をより正確に補正することが可能である。
【0060】
<ハードウェア構成>
以上、本発明の各実施形態を説明した。上述したファイルの生成およびパケットの補完などの情報処理は、ソフトウェアと、以下に説明する同録サーバ20のハードウェアとの協働により実現される。
【0061】
図11は、同録サーバ20のハードウェア構成を示したブロック図である。同録サーバ20は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、ホストバス204と、を備える。また、同録サーバ20は、ブリッジ205と、外部バス206と、インターフェース207と、入力装置208と、表示装置209と、音声出力装置210と、ストレージ装置(HDD)211と、ドライブ212と、ネットワークインターフェース215とを備える。
【0062】
CPU201は、演算処理装置および制御装置として機能し、各種プログラムに従って同録サーバ20内の動作全般を制御する。また、CPU201は、マイクロプロセッサであってもよい。ROM202は、CPU201が使用するプログラムや演算パラメータ等を記憶する。RAM203は、CPU201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス204により相互に接続されている。これらCPU201、ROM202およびRAM203とソフトウェアとの協働により、上記ファイル生成部230および補完部250などの機能が実現され得る。
【0063】
ホストバス204は、ブリッジ205を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス206に接続されている。なお、必ずしもホストバス204、ブリッジ205および外部バス206を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0064】
入力装置208は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、センサー、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU201に出力する入力制御回路などから構成されている。同録サーバ20のユーザは、該入力装置208を操作することにより、同録サーバ20に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0065】
表示装置209は、例えば、液晶ディスプレイ(LCD)装置、プロジェクター装置、OLED(Organic Light Emitting Diode)装置およびランプなどの表示装置を含む。また、音声出力装置210は、スピーカおよびヘッドホンなどの音声出力装置を含む。
【0066】
ストレージ装置211は、本実施形態にかかる同録サーバ20の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置211は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置211は、例えば、HDD(Hard Disk Drive)またはSSD(Solid Strage Drive)、あるいは同等の機能を有するメモリ等で構成される。このストレージ装置211は、ストレージを駆動し、CPU201が実行するプログラムや各種データを格納する。
【0067】
ドライブ212は、記憶媒体用リーダライタであり、同録サーバ20に内蔵、あるいは外付けされる。ドライブ212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体24に記録されている情報を読み出して、RAM203またはストレージ装置211に出力する。また、ドライブ212は、リムーバブル記憶媒体24に情報を書き込むこともできる。
【0068】
ネットワークインターフェース215は、例えば、インターネット12に接続するための通信デバイス等で構成された通信インターフェースである。また、ネットワークインターフェース215は、無線LAN(Local Area Network)対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
【0069】
なお、上述した同録サーバ20のハードウェア構成は、IP放送局10およびユーザ端末30などにも適用可能である。
【0070】
<むすび>
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0071】
例えば、本明細書の同録サーバ20の処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、同録サーバ20の処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【0072】
また、同録サーバ20に内蔵されるCPU、ROMおよびRAMなどのハードウェアに、上述した同録サーバ20の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
【符号の説明】
【0073】
10 IP放送局
20 同録サーバ
220 通信部
230 ファイル生成部
240 記憶部
250 補完部
28 確認用表示装置
30 ユーザ端末