通信装置、データ通信システム、データ通信方法及び制御プログラム
【課題】CPUの処理負荷を増大させることなく、効率的に再送データを生成する通信装置、データ通信システム、データ通信方法及び制御プログラムを提供すること
【解決手段】本発明にかかる通信装置1は、分割前パケットを生成する第1のデータプロセッサと、第1のデータプロセッサにより生成された分割前パケットを分割することによって複数の分割パケットを生成する第2のデータプロセッサと、複数の分割パケットのうち少なくとも1つの再送を通信相手から要求された場合に、再送要求された分割パケットに対応し分割前パケットより小さい再送パケットの生成方法を決定する再送要求処理手段12を備え、再送要求処理手段12は、生成すべき前記再送パケットの数に応じて第1のデータプロセッサに前記再送パケットを生成させるか、又は第2のデータプロセッサに前記再送パケットを生成させるか、を決定するものである。
【解決手段】本発明にかかる通信装置1は、分割前パケットを生成する第1のデータプロセッサと、第1のデータプロセッサにより生成された分割前パケットを分割することによって複数の分割パケットを生成する第2のデータプロセッサと、複数の分割パケットのうち少なくとも1つの再送を通信相手から要求された場合に、再送要求された分割パケットに対応し分割前パケットより小さい再送パケットの生成方法を決定する再送要求処理手段12を備え、再送要求処理手段12は、生成すべき前記再送パケットの数に応じて第1のデータプロセッサに前記再送パケットを生成させるか、又は第2のデータプロセッサに前記再送パケットを生成させるか、を決定するものである。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は通信装置、データ通信システム、データ通信方法及び制御プログラムに関し、特に再送制御を行う通信装置と、その通信装置を含むデータ通信システムと、その通信装置を用いたデータ通信方法と、その通信装置が実行する制御プログラムに関する。
【背景技術】
【0002】
コンテンツ配信装置のCPU負荷の軽減方法の一例として特許文献1がある。特許文献1は、コンテンツ配信装置のCPUで処理されるデータの、ネットワークへ送出可能なパケットサイズ(Maximum Transmission Unit;MTU)への分割と、RTP(Real−time Transport Protocol)/UDP(User Datagram Protocol)などのヘッダ生成をネットワークカードで行い、CPU(Central Processing Unit)で行う送信処理回数を削減し、CPU負荷を軽減するものである。
【0003】
また、コンテンツ配信装置からコンテンツ受信装置への再送を効率化する方法の一例として特許文献2がある。特許文献2は、誤りパケットの連続性に基づいて正常なパケットを含むパケットグループを再送するものである。例えば、1から7までの連続した数の識別子を有する各パケットにおいて、識別子が2、4、6、7のパケットがコンテンツ受信装置に正しく届かなかった場合について説明する。この場合、正常にコンテンツ受信装置に届いた、識別子が3と5のパケットを含む識別子2から7のグループを再送することにより、再送回数を減らして再送を効率化するものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−028767号公報
【特許文献2】特開2007−259050号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ネットワークカードにて、MTUサイズへの分割と、RTP/UDPなどのヘッダ生成を行うコンテンツ配信装置において、当該コンテンツ配信装置からコンテンツを受信した受信装置は、コンテンツをすべて受信できなかった場合、コンテンツの再送要求信号を送信する。この場合に、コンテンツ配信装置は、コンテンツ配信装置のCPUで再送データを生成する方法と、ネットワークカードで再送データを生成する方法がある。コンテンツ配信装置のCPUで再送データを生成する場合において、例えば、再送要求されているパケットの数が多い場合は、CPUの処理負荷が増大するという問題がある。また、ネットワークカードで再送データを生成する場合において、例えば、再送要求されているパケットの数が少ない場合は、コンテンツ配信装置のCPUから分割前のデータを取得する必要がある。つまり、再送要求されている再送データをネットワークカードで生成するために、再送要求されているデータ以上のデータをCPUから取得する必要があり、CPUとネットワークカードを接続するバスを無駄に使用するという問題がある。このような問題を解決する再送データの効率的な生成方法については、特許文献1及び2には開示されていない。
【0006】
本発明の目的は、このような問題点を解決するためになされたものであり、CPUの処理負荷を増大させることなく、効率的に再送データを生成する、通信装置、データ通信システム、データ通信方法及び制御プログラム、を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様にかかる通信装置は、分割前パケットを生成する第1のデータプロセッサを含む伝送パケット生成部と、前記第1のデータプロセッサにより生成された前記分割前パケットを分割することによって複数の分割パケットを生成する第2のデータプロセッサを含む伝送パケット分割部と、前記複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、再送要求された分割パケットに対応し前記分割前パケットより小さい再送パケットの生成方法を決定する再送要求処理部と、を備え、前記再送要求処理部は、生成すべき前記再送パケットの数に応じて、(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、を決定するものである。
【0008】
また、本発明の第2の態様にかかるデータ通信システムは、本発明の第1の態様にかかる通信装置と、前記通信装置から送信されるパケットを、ネットワークを経由して受信する受信装置とを備えるものである。
【0009】
また、本発明の第3の態様にかかるデータ通信方法は、第1のデータプロセッサにより生成された分割前パケットが第2のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、を決定するステップを備えることである。
【0010】
また、本発明の第4の態様にかかる制御プログラムは、第1のデータプロセッサにより生成された分割前パケットが第2のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、を決定するステップを通信装置の制御コンピュータに実行させるものである。
【発明の効果】
【0011】
本発明により、CPUの処理負荷を増大させることなく、効率的に再送データを生成する、通信装置、データ通信システム、データ通信方法及び制御プログラム、を提供することができる。
【図面の簡単な説明】
【0012】
【図1】実施の形態1にかかる通信装置の構成図である。
【図2】実施の形態1にかかる通信装置の構成図である。
【図3】実施の形態1にかかる伝送パケット分割部の記憶する情報テーブルである。
【図4】実施の形態1にかかる再送要求処理部の構成図である。
【図5】実施の形態1にかかる識別子記憶部の記憶する情報テーブルである。
【図6】実施の形態1にかかる配信要求受信時のフローチャートである。
【図7】実施の形態1にかかる伝送パケット分割部における分割の方法を示す図である。
【図8】実施の形態1にかかるシーケンス番号の付与方法を示す図である。
【図9】実施の形態1にかかる再送要求受信時のフローチャートである。
【図10】実施の形態1にかかる識別子記憶部の記憶する情報テーブルである。
【図11】実施の形態1にかかる識別子記憶部の記憶する情報テーブルである。
【図12】実施の形態1にかかる再送要求信号数が指定数に達した場合の再送処理を示すフローチャートである。
【図13】実施の形態1にかかるタイマ満了時の再送処理を示すフローチャートである。
【図14】実施の形態1にかかる識別子記憶部の記憶する情報テーブルである。
【図15】実施の形態1にかかる伝送パケット生成部における分割の方法を示す図である。
【発明を実施するための形態】
【0013】
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて、本発明の実施の形態1にかかる通信装置の構成について説明する。通信装置1はネットワーク3と接続しており、ネットワーク3には通信装置1から送信されたデータを受信する受信装置2も接続されている。
【0014】
通信装置1は、伝送パケット生成部10と、伝送パケット分割部11と、再送要求処理部12を備えている。さらに、伝送パケット生成部10は、第1のデータプロセッサ100を含み、伝送パケット分割部11は、第2のデータプロセッサ110を含む。具体的には、通信装置1は、映像データ、音楽データ、音声データ等を、インターネット等のパケットを中継するネットワーク3を介して受信装置2に配信するサーバ装置である。ここで、通信装置1は、ネットワーク3に複数接続されている受信装置2に対してパケットを送信することができる。パケットは、マルチキャスト通信、ブロードキャスト通信もしくは受信装置毎にユニキャスト通信等により配信することができる。また、受信装置2は、例えば、IPTV(Internet Protocol Television)用のSTB(Set Top Box)、パーソナルコンピュータ、携帯電話端末、PDA(Personal Digital Assistant又はPersonal Data Assistance)である。
【0015】
伝送パケット生成部10は、伝送パケット生成部10に含まれるデータプロセッサ100によりデータを読み出して分割前パケット(以下、分割前伝送パケットと記載する)を生成する。具体的には、データに伝送プロトコルのヘッダを付加して分割前伝送パケットを生成する。伝送パケット生成部10が生成した分割前伝送パケットのうち、ネットワーク3へ1度に送出可能なサイズを超えているものは伝送パケット分割部11に出力される。ネットワーク3へ1度に送出可能なサイズを超えていない分割前伝送パケットは、ネットワーク3に出力する。伝送パケット生成部10は、受信装置2からのデータ配信要求、データ再送要求等に従い、分割前伝送パケットを生成する。
【0016】
伝送パケット生成部10から分割前伝送パケットを取得した伝送パケット分割部11は、分割前伝送パケットを、受信装置2へ送信する際に、ネットワーク3へ送出可能なサイズのパケットに分割し、伝送パケット生成部10に含まれるデータプロセッサ110により分割パケット(以下、分割後伝送パケットと記載する)を生成する。具体的には、分割前伝送パケットのペイロード部分を分割し、分割したペイロードに新たな伝送プロトコルヘッダを付加してネットワーク3へ一度に送出可能なサイズの分割後伝送パケットを生成する。生成された分割後伝送パケットは、ネットワーク3を介して受信装置2へ送信される。
【0017】
受信装置2は、ネットワーク3の障害等により分割後伝送パケットを受信できなかった場合、受信できなかった分割後伝送パケットについて再送要求を行う。受信装置2から再送要求を取得した再送要求処理部12は、受信した再送要求信号数に基づいて、再送要求信号に指定された再送パケットの生成を、伝送パケット生成部10でおこなうか、もしくは、伝送パケット分割部11で行うかを決定する。再送要求処理部12の決定に基づいて、伝送パケット生成部10もしくは伝送パケット分割部11により、再送用の分割後伝送パケットが生成される。
【0018】
次に、図2を用いて本発明の実施の形態1にかかる通信装置の詳細な構成について説明する。通信装置1は、伝送パケット生成部10と、伝送パケット分割部11と、再送要求処理部12と、送信指示部13と、コンテンツ記憶部14と、伝送パケット記憶部15と、分割パケット記憶部16と、パケット送信部17を備えている。
【0019】
送信指示部13は、通信装置1の制御プログラムに基づいて動作する制御コンピュータ(たとえば、マイクロプロセッサユニット)により構成される。受信装置2からのデータ配信要求、再送要求処理部12からの再送要求を受けて、伝送パケット生成部10に対して分割前伝送パケットの生成を指示する。コンテンツ配信要求は、RTSP(Real Time Streaming Protocol)、SIP(Session Initiation Protocol)、HTTP(HyperText Transfer Protocol)等を用いて行う。
【0020】
伝送パケット生成部10は、通信装置1の制御プログラムに基づいて動作する制御コンピュータにより構成される。伝送パケット生成部10は、伝送パケット生成部10に含まれるデータプロセッサ100によりコンテンツ記憶部14からデータを読み出して分割前伝送パケットを生成する。コンテンツ記憶部14は、通信装置1に接続された磁気記憶装置などの補助装置であり、MPEG−2(ISO/IEC JTC1のMoving Picture Experts Groupにて決められた標準規格)、MPEG−2 TS(Transport Stream)形式の動画データ等を記憶している。具体的には、データに伝送プロトコルのヘッダを付加して分割前伝送パケットを生成する。伝送パケット生成部10が生成した分割前伝送パケットのうち、ネットワーク3へ1度に送出可能なサイズを超えているものは伝送パケット分割部11に出力される。ネットワーク3へ1度に送出可能なサイズ以下の分割前伝送パケットは、パケット送信部17に出力される。ここで、パケット送信部17は、Ethernet(登録商標)のPHY(PHYsical layer)チップであり、1度に送出可能なサイズであるMTUは例えば1500バイト等とすることができる。ジャンボフレームに対応したネットワークではMTUは1500バイトよりも大きくすることができる。また、伝送パケット生成部10で生成した分割前伝送パケットは、伝送パケット記憶部15に出力され、記憶される。伝送パケット記憶部15は、通信装置1の主記憶装置の一部であってもよく、磁気ディスク等の補助記憶装置でもよい。
【0021】
ここで、伝送パケット生成部10は、送信指示部13から生成を指示されたデータが伝送パケット記憶部15に記憶されている場合には、再度分割前伝送パケットの生成は行わない。このような場合には、伝送パケット記憶部15から分割前伝送パケットを取り出して、伝送パケット分割部11またはパケット送信部17に出力する。
【0022】
伝送パケット分割部11は、分割前伝送パケットを、受信装置2へ送信する際に、伝送パケット分割部11に含まれるデータプロセッサ110によりネットワーク3へ送出可能なサイズのパケットに分割し、分割後伝送パケットを生成する。具体的には、分割前伝送パケットのペイロード部分を分割する。その分割したペイロードに新たな伝送プロトコルヘッダを付加して、ネットワーク3へ一度に送出可能なサイズの分割後伝送パケットを生成する。生成された分割後伝送パケットは、分割パケット記憶部16に記憶するとともに、パケット送信部17へ出力される。分割パケット記憶部16は、主にRAM(Random Access Memory)で実現される。この時、伝送パケット分割部11は、分割前伝送パケットの識別子と、分割後伝送パケットの識別子の対応関係を記憶しておく。具体的には、図3に示すように、識別子B1の分割前伝送パケットを識別子C1,C2,C3,C4,C5の分割後伝送パケットへ変換し、識別子B2の分割前伝送パケットを識別子C6,C7,C8,C9,C10の分割後伝送パケットへ変換したことを示す。このような記憶方法のほかに、分割前伝送パケットと分割後伝送パケットの変換式を記憶してもよい。
【0023】
再送要求処理部12は、本発明の特徴部分であり、図4を用いて詳細に説明する。再送要求処理部12は、再送元決定部120と、要求内容決定部121と、識別子記憶部122を備える。
【0024】
再送元決定部120は、受信装置2から再送要求信号を取得した場合に、再送要求のあったパケットが分割パケット記憶部16に記憶されている場合には、パケット送信部17に対して、当該パケットの再送を指示する。分割パケット記憶部16に記憶されていない場合には、受信装置2から取得した再送要求信号を、要求内容決定部121に出力する。
【0025】
要求内容決定部121は、取得した再送要求信号で指定された再送パケットの識別子を識別子記憶部122に出力する。ここで、識別子記憶部122が保持する情報テーブルを、図5を用いて説明する。
【0026】
識別子記憶部122が保持する情報テーブルは、各フィールドが視聴IDと、分割前識別子と、分割後識別子と、再送要求受信識別子と、タイマ満了時刻から構成され、視聴IDと分割前識別子の組で一意にエントリを識別できる。視聴IDは、ストリームを識別するための情報である。分割前識別子は、伝送パケット生成部10で生成した分割前伝送パケットに付加した識別子である。分割後識別子は、伝送パケット分割部11で分割した各分割後伝送パケットに付加した識別子である。再送要求受信識別子は、分割後識別子の中で、受信装置2から再送要求信号を受信した識別子であり、分割後識別子の部分集合になる。タイマ満了時刻は、エントリに保持するデータのタイマが満了する時刻であり、再送パケットを、伝送パケット生成部10と、伝送パケット分割部11のどちらで生成するかをタイマ満了時刻までに決定する。タイマが満了するまでの時間は、受信装置2が再送パケットを受信するにあたり、許容される遅延時間に応じて決定するものである。これより、タイマ満了時刻は、許容される遅延時間から、通信装置1内部の再送処理遅延と、受信装置2までの伝送遅延を減じた時間よりも短い時間を設定する。
【0027】
識別子記憶部122は、要求内容決定部121から取得した再送パケットの識別子を、再送要求受信識別子フィールドに追加する。この時、識別子記憶部122の再送要求受信識別子フィールドに、視聴ID及び伝送パケット識別子から一意に定まるエントリが存在しない場合には、伝送パケット分割部11から分割前識別子及び分割後識別子を取得して新たなエントリを生成する。要求内容決定部121は、識別子記憶部122の再送要求受信識別子フィールドが指定数以上となった場合、伝送パケット生成部10に対して、再送要求受信識別子に対応する分割前伝送パケットを、伝送パケット分割部11に出力するよう、送信指示部13に通知する。タイマの満了までに、再送要求受信識別子フィールドが指定数に満たなかった場合、タイマが満了したエントリの再送要求受信識別子フィールドのパケットの再送を、送信指示部13に通知する。
【0028】
伝送パケット分割部11、再送要求処理部12、分割パケット記憶部16、パケット送信部17は主にデータ送信装置に搭載されるネットワークカードで実現される。また、伝送パケット分割部11、再送要求処理部12は、ネットワークカードの制御プログラムに基づいて動作する制御コンピュータにより構成される。さらに、伝送パケット分割部11と、再送要求処理部12は、FPGA(Field Programmable Gate Array)により実現される。ネットワークカードと通信装置1の各手段との通信は、PCI(Peripheral Components Interconnectbus)バスなどを介して行われる。
【0029】
次に、図6を用いて、本発明の実施の形態1にかかる、受信装置から配信要求を受信したときの通信装置の処理の流れにつき説明を行う。通信装置1は、受信装置2から配信要求を受信する(S101)。具体的には、RTSPにより配信要求を受信する。
【0030】
次に、送信指示部13は伝送パケット生成部10に対して、分割前伝送パケットの生成の開始を指示する(S102)。具体的には、受信装置2のIPアドレスと使用するUDPポート番号と、受信を希望するコンテンツ名とともに伝送パケット生成部10に対して、配信開始を指示する。
【0031】
次に、伝送パケット生成部10は、コンテンツ記憶部14からコンテンツを読み出す(S103)。
【0032】
次に、伝送パケット生成部10は、分割前伝送パケットを生成する(S104)。具体的には、分割前伝送パケットとして、RTPを用いて、RTPパケットを生成する。ここで、分割前伝送パケットの構成について図7の一部を用いて説明を行う。分割前伝送パケット4は、ヘッダ41とペイロード42からなる。ヘッダ41は、通信装置1と受信装置2の間で分割前伝送パケット4を識別するための識別子である。ペイロード42にはコンテンツ記憶部14から読み出したコンテンツを格納する。伝送パケット生成部10で生成する分割前伝送パケット4のサイズは、送信指示部13から指示してもよく、設定ファイルなどで予め指定してもよい。例えば、MPEG−2 TSパケットのサイズは188バイトであり、MTUが1500バイトのEthernet(登録商標)の場合、1つのEthernet(登録商標)フレームあたりMPEG−2 TSパケットを7個送信できる。分割前伝送パケットを分割後伝送パケットn個分とし、RTPヘッダのサイズを12バイトとすると、分割前伝送パケットのサイズは、以下の式1で示される。
【0033】
分割前伝送パケットのサイズ=12+188×7×n・・・・・(式1)
【0034】
また、分割前伝送パケットに付加するヘッダのシーケンス番号は任意の番号を設定することが可能であり、本発明の実施の形態1の説明においては1から連番とする。
【0035】
次に、伝送パケット生成部10は、生成した分割前伝送パケットを、伝送パケット記憶部15に記憶する(S105)。
【0036】
次に、伝送パケット分割部11は、伝送パケット生成部10にて生成した、分割前伝送パケットをMTU以下のパケットに分割する(S106)。分割するサイズは、伝送パケット生成部10が分割前伝送パケットを出力するときに指示する方法や、あらかじめ設定しておく方法がある。伝送パケット分割部11の動作について、図7、図8を用いて具体的に説明する。
【0037】
図7は、伝送パケット分割部11における分割の方法を示している。伝送パケット分割部11は伝送パケット生成部10から出力された分割前伝送パケット4のペイロード42を分割し、分割したペイロード402にヘッダ41の識別子を変更したヘッダ401をコピーし、分割後伝送パケット40−1乃至nを生成する。このとき、伝送パケット分割部11は分割前伝送パケット4のヘッダ41の識別子と、分割後伝送パケット40−1乃至nのヘッダ401の識別子の対応関係を記憶する。
【0038】
さらに、図8を用いて、具体的に、ヘッダに付与する識別子である、シーケンス番号の付与方法について説明を行う。1001は、伝送パケット生成部10で生成した分割前伝送パケットである。1002は、伝送パケット分割部11で分割した分割後伝送パケットである。各パケットの先頭部分に記載した数字はRTPパケットのシーケンス番号を示す。
【0039】
図8では、シーケンス番号1の分割前伝送パケットをシーケンス番号1〜48の分割後伝送パケットに、シーケンス番号2の分割前伝送パケットをシーケンス番号49〜96の分割後伝送パケットに変換している。すなわち、分割前伝送パケットのシーケンス番号をxとすると、分割後伝送パケットのシーケンス番号yは次の式2で表わされる。
【0040】
y=48×(x−1)+n(n=1〜48)・・・・・(式2)
【0041】
分割後伝送パケットのシーケンス番号yに対応する分割前伝送パケットxのシーケンス番号は次の式3で表わされる。
【0042】
x=ROUNDUP(y/48)・・・・(式3)
【0043】
分割前伝送パケットxは、y/48の小数部分を切り上げた値である。例えば、シーケンス番号3の分割前伝送パケットは、シーケンス番号97から144の分割後伝送パケットになり、シーケンス番号200の分割後伝送パケットの分割前伝送パケットのシーケンス番号は5である。
【0044】
次に、伝送パケット分割部11は、生成した分割後伝送パケットを分割パケット記憶部16に記憶する(S107)。ここで、分割パケット記憶部16の容量が不足する場合には、記憶後の経過時間が長いものから順に削除し、記憶領域を確保する。
【0045】
次に、パケット送信部17は、伝送パケット分割部11から取得したパケットを伝送可能な信号に変換してネットワークに送出する(S108)。
【0046】
次に、図9を用いて、本発明の実施の形態1にかかる、受信装置から再送要求信号を受信したときの通信装置の処理の流れにつき説明を行う。以下の例においては、分割パケット記憶部16は、シーケンス番号481から528の分割後伝送パケットが記憶されているとする。さらに、伝送パケット記憶部15には、受信装置2に配信した分割後伝送パケットに対応する分割前伝送パケットが、全て記憶されているとする。通信装置1は、受信装置2から再送要求信号を受信する(S201)。具体的には、分割後伝送パケットの識別子を含む再送要求信号を受信する。受信装置2からの再送要求は、RTSP、RTCP(RTp Control Protocol)等のプロトコルを用いて行われる。
【0047】
次に、再送元決定部120は、分割パケット記憶部16から、記憶している分割後伝送パケットの識別子を取得し、再送要求信号に含まれる分割後伝送パケットの識別子が記憶されているかどうかを判定する(S202)。再送要求信号に含まれる分割後伝送パケットの識別子が、分割パケット記憶部16に記憶されている場合には、パケット送信部17に対して、分割パケット記憶部16に記憶されている分割後伝送パケットの再送を指示する。具体的には、受信装置2からシーケンス番号500を含む再送要求信号を受信した場合に、再送要求処理部12の再送元決定部120は、分割パケット記憶部16から、分割パケット記憶部16が記憶している識別子を取得する。分割パケット記憶部16には、シーケンス番号500の分割後伝送パケットが記憶されているため、再送要求処理部19は、パケット送信部17にシーケンス番号500の分割後伝送パケットの再送を指示する。
【0048】
次に、パケット送信部17は、分割パケット記憶部16から該当するパケットを取り出して再送する(S203)。
【0049】
次に、分割パケット記憶部16に、再送要求信号に含まれる分割後伝送パケットの識別子が記憶されていない場合、要求内容決定部121は、識別子記憶部122に、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在するか否かを判定する(S204)。具体的には、受信装置2から、シーケンス番号400を含む再送要求信号を受信した場合、シーケンス番号400の分割後伝送パケットは、分割パケット記憶部16に記憶されていないため、識別子記憶部122に対して、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在するか否かを判定する。
【0050】
次に、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在しない場合、要求内容決定部121は伝送パケット分割部11から再送要求のあった識別子に対応する分割前識別子と、その分割前識別子に対応する分割後識別子の一覧を取得し(S205)、タイマを設定する(S206)。具体的には、伝送パケット分割部11は、式2、式3の計算式から、分割前伝送パケットのシーケンス番号と、そのシーケンス番号に対応する分割後伝送パケットのシーケンス番号を要求内容決定部121に出力する。上述した例において、シーケンス番号400の識別子を有するパケットについて、再送要求があった場合に、伝送パケット分割部11は、分割前伝送パケットのシーケンス番号9と、シーケンス番号9の分割前伝送パケットに対応する分割パケットのシーケンス番号385乃至432を、要求内容決定部121に出力する。また、タイマは再送までに許容される遅延時間に応じて設定するものであり、受信装置2ごとに異なる値を設定してもよい。
【0051】
次に、識別子記憶部122の再送要求受信識別子フィールドに受信した再送要求のあったパケットの識別子を追加する(S207)。具体的には、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在しなかった場合は、上述の例に従い、視聴IDが192.168.1.1:1000(受信装置2のIPアドレスとポート番号)、分割前伝送パケット識別子が9、分割パケット識別子が385乃至432、再送要求受信識別子が400、タイマ満了時刻1100(時刻1000に再送要求信号を取得した場合であり、取得した時刻に100のタイマを加算した値)のエントリを生成する。生成されたエントリの結果を図10に示す。
【0052】
再送要求のあったパケットの識別子を分割パケット識別子フィールドに含むエントリが存在していた場合は、再送要求のあったパケットの識別子を、再送要求受信識別子フィールドに追加を行う(S207)。
【0053】
ここで、異なる時刻1010にシーケンス番号420と350を含む再送要求信号を受信した場合の例を示す。図10の識別子記憶部122が保持する情報テーブルには、分割後識別子フィールドにシーケンス番号420の識別子を含むエントリが存在するため、シーケンス番号420を、再送要求受信識別子フィールドに、追加を行う。シーケンス番号350は該当するエントリが存在しないため、エントリを作成する。その結果、情報テーブルは、図11のように示される。
【0054】
次に、再送要求受信識別子フィールドの識別子が指定数以上であるか否かを判定する(208)。以下の例では、指定数を3とした場合の具体例について説明する。例えば、シーケンス番号425の再送要求を受信した場合に、シーケンス番号425は、図11の分割前伝送パケット識別子9のエントリに該当するため、再送要求受信識別子フィールドにシーケンス番号425を追加する。ここで、このエントリの再送要求受信識別子の数が、指定数3となったため、要求内容決定部121から、送信指示部13に対して、シーケンス番号9の分割前伝送パケットを、伝送パケット分割部11に再送するよう通知する(S209)。
【0055】
分割前伝送パケット識別子8のように、再送要求受信識別子の数が3未満である場合には、送信指示部13への再送指示を、タイマ時刻満了までは行わない。
【0056】
次に、図12を用いて、再送要求受信識別子フィールドに識別子が指定数に達した場合の再送動作の処理の流れにつき説明を行う。送信指示部13は、伝送パケット生成部10に対して、分割前伝送パケットの識別子を指定して、再送を指示する(S301)。具体的には、上述の例においては、分割前伝送パケット識別子9の再送を指示する。
【0057】
次に、伝送パケット生成部10は、分割前識別子9の分割前伝送パケットを伝送パケット記憶部15から取り出して、伝送パケット分割部11に出力する(S302)。
【0058】
次に、伝送パケット分割部11は、記憶している分割前伝送パケットの識別子と分割後伝送パケットの識別子の対応関係の情報をもとに、分割したパケットに、一度目の送信時の分割後伝送パケットと同一の識別子を設定する。具体的には、分割前伝送パケットのシーケンス番号9に対応する分割後伝送パケットのシーケンス番号385から432の分割パケットを生成する(S303)。
【0059】
次に、伝送パケット分割部11は、再送要求処理部12の識別子記憶部122から、再送要求受信識別子フィールドに記憶された識別子を取得する(S304)。具体的には、シーケンス番号400と、420と、425の情報を取得する。
【0060】
次に、パケット送信部17は、伝送パケット分割部11において生成され、再送要求されているシーケンス番号400と、420と、425のパケットを再送する(S305)。
【0061】
次に、再送が完了した後に、伝送パケット分割部11は、再送要求処理部12に対して、再送が完了したエントリを削除するよう通知を行う(S306)。ここで、伝送パケット分割部11で分割したパケットを、分割パケット記憶部16に記憶してもよい。これにより、再々送時の負荷を軽減できる。
【0062】
次に、図13を用いて、識別子記憶部122の保持するエントリのタイマ満了時の処理の流れにつき説明を行う。要求内容決定部121は、識別子記憶部122のエントリのタイマ満了を検出する(S401)。
【0063】
次に、要求内容決定部121は、分割前識別子、分割後識別子、再送要求受信識別子を指定して、送信指示部13に再送を指示する(S402)。具体的には、図14における、シーケンス番号8の分割前伝送パケットをシーケンス番号337乃至384に分割したうちの350を再送するように指示する。
【0064】
次に、識別子記憶部122から、当該エントリを削除する(S403)。これにより、識別子記憶部122にエントリされている情報はなくなる。
【0065】
次に、送信指示部13は、再送指示を伝送パケット生成部10に出力し、伝送パケット生成部10は、伝送パケット記憶部15から、分割前伝送パケットを取り出す(S404)。具体的には、シーケンス番号8の分割前伝送パケットを取得する。
【0066】
次に、伝送パケット生成部10は、シーケンス番号350の分割パケットを生成する(S405)。ここで、分割パケットの生成方法を、図15を参照して説明する。シーケンス番号8の分割前伝送パケットのペイロードは、式2より、シーケンス番号337から始まる分割後伝送パケットに分割される。伝送パケット分割部11で先頭の1316バイト(188×7)がシーケンス番号337であり、1317バイト目から2632バイト目までがシーケンス番号338の分割後RTPパケットのペイロードという順で分割される。そのため、分割後RTPパケットのシーケンス番号の先頭337と再送する必要のある分割後伝送パケットのシーケンス番号350から、分割前伝送パケットのペイロードのどの位置を再送すればよいのかを判定できる。具体的には、ペイロードの17109バイト目がシーケンス番号350の分割後伝送パケットの先頭となる。
【0067】
次に、伝送パケット生成部10で生成した分割後伝送パケットはパケット送信部17から再送する(S406)。
【0068】
以上説明したように、本発明の実施の形態1にかかる通信装置を用いることにより、以下の効果を生じる。受信装置から要求される再送パケットの数が少ない場合には、通信装置のCPUにより実行される伝送パケット生成部10において、分割後伝送パケットである再送パケットを生成する。これにより、通信装置のCPUにおいて、すべての再送パケットを生成する場合と比較して、通信装置のCPUにおける再送パケット生成の負荷を、軽減することができる。さらに、通信装置のCPUからネットワークカードへ、分割前伝送パケットを送信しないことから、通信装置のCPUと、ネットワークカードを接続するバスの無駄な使用を回避することができる。
【0069】
また、受信装置から要求される再送パケットの数が多い場合には、伝送パケット生成部10より、分割前伝送パケットを伝送パケット分割部11に出力し、伝送パケット分割部11において、再送パケットを生成する。これにより、通信装置のCPUから、ネットワークカードへの分割前伝送パケットの出力において、複数の再送パケットを生成する際にも、1回のみ分割前伝送パケットを出力すればよい。これより、通信装置のCPUからネットワークカードへ、再送パケットの数に応じた回数の分割前伝送パケットの出力を行う場合に比べて、データ転送処理回数を減少させることが可能であり、通信装置のCPUからネットワークカードへのデータ転送時の負荷を軽減することができる。さらには、通信装置のCPUが再送パケットの生成を行う必要はないため、通信装置のCPUの処理負荷を軽減させることができる。
【0070】
また、ネットワークカードにおいて、分割パケット記憶部16を有することにより、再送パケットの生成回数を抑制できるため、再送パケット生成に伴う通信装置のCPU負荷もしくはネットワークカードの処理負荷を軽減することができる。
【0071】
(実施の形態2)
本発明の実施の形態2においては、通信装置1は、分割パケット記憶部16を有しない構成をとる。この構成に伴い、分割前伝送パケットを分割後に、分割後伝送パケットを、記憶する処理を行わないこととなる。
【0072】
これにより、メモリ容量の少ないネットワークカードにおいて、メモリ容量を削減することが可能となる。
【0073】
以上の説明は、本発明の実施の形態を説明するものであり、本発明が以上の実施の形態に限定されるものではない。また、当業者であれば、以上の実施の形態の各要素を本発明の範囲において容易に変更、追加、変換することが可能である。
【符号の説明】
【0074】
1 通信装置
2 受信装置
3 ネットワーク
10 伝送パケット生成部
11 伝送パケット分割部
12 再送要求処理部
13 送信指示部
14 コンテンツ記憶部
15 伝送パケット記憶部
16 分割パケット記憶部
17 パケット送信部
【技術分野】
【0001】
本発明は通信装置、データ通信システム、データ通信方法及び制御プログラムに関し、特に再送制御を行う通信装置と、その通信装置を含むデータ通信システムと、その通信装置を用いたデータ通信方法と、その通信装置が実行する制御プログラムに関する。
【背景技術】
【0002】
コンテンツ配信装置のCPU負荷の軽減方法の一例として特許文献1がある。特許文献1は、コンテンツ配信装置のCPUで処理されるデータの、ネットワークへ送出可能なパケットサイズ(Maximum Transmission Unit;MTU)への分割と、RTP(Real−time Transport Protocol)/UDP(User Datagram Protocol)などのヘッダ生成をネットワークカードで行い、CPU(Central Processing Unit)で行う送信処理回数を削減し、CPU負荷を軽減するものである。
【0003】
また、コンテンツ配信装置からコンテンツ受信装置への再送を効率化する方法の一例として特許文献2がある。特許文献2は、誤りパケットの連続性に基づいて正常なパケットを含むパケットグループを再送するものである。例えば、1から7までの連続した数の識別子を有する各パケットにおいて、識別子が2、4、6、7のパケットがコンテンツ受信装置に正しく届かなかった場合について説明する。この場合、正常にコンテンツ受信装置に届いた、識別子が3と5のパケットを含む識別子2から7のグループを再送することにより、再送回数を減らして再送を効率化するものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−028767号公報
【特許文献2】特開2007−259050号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ネットワークカードにて、MTUサイズへの分割と、RTP/UDPなどのヘッダ生成を行うコンテンツ配信装置において、当該コンテンツ配信装置からコンテンツを受信した受信装置は、コンテンツをすべて受信できなかった場合、コンテンツの再送要求信号を送信する。この場合に、コンテンツ配信装置は、コンテンツ配信装置のCPUで再送データを生成する方法と、ネットワークカードで再送データを生成する方法がある。コンテンツ配信装置のCPUで再送データを生成する場合において、例えば、再送要求されているパケットの数が多い場合は、CPUの処理負荷が増大するという問題がある。また、ネットワークカードで再送データを生成する場合において、例えば、再送要求されているパケットの数が少ない場合は、コンテンツ配信装置のCPUから分割前のデータを取得する必要がある。つまり、再送要求されている再送データをネットワークカードで生成するために、再送要求されているデータ以上のデータをCPUから取得する必要があり、CPUとネットワークカードを接続するバスを無駄に使用するという問題がある。このような問題を解決する再送データの効率的な生成方法については、特許文献1及び2には開示されていない。
【0006】
本発明の目的は、このような問題点を解決するためになされたものであり、CPUの処理負荷を増大させることなく、効率的に再送データを生成する、通信装置、データ通信システム、データ通信方法及び制御プログラム、を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様にかかる通信装置は、分割前パケットを生成する第1のデータプロセッサを含む伝送パケット生成部と、前記第1のデータプロセッサにより生成された前記分割前パケットを分割することによって複数の分割パケットを生成する第2のデータプロセッサを含む伝送パケット分割部と、前記複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、再送要求された分割パケットに対応し前記分割前パケットより小さい再送パケットの生成方法を決定する再送要求処理部と、を備え、前記再送要求処理部は、生成すべき前記再送パケットの数に応じて、(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、を決定するものである。
【0008】
また、本発明の第2の態様にかかるデータ通信システムは、本発明の第1の態様にかかる通信装置と、前記通信装置から送信されるパケットを、ネットワークを経由して受信する受信装置とを備えるものである。
【0009】
また、本発明の第3の態様にかかるデータ通信方法は、第1のデータプロセッサにより生成された分割前パケットが第2のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、を決定するステップを備えることである。
【0010】
また、本発明の第4の態様にかかる制御プログラムは、第1のデータプロセッサにより生成された分割前パケットが第2のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、を決定するステップを通信装置の制御コンピュータに実行させるものである。
【発明の効果】
【0011】
本発明により、CPUの処理負荷を増大させることなく、効率的に再送データを生成する、通信装置、データ通信システム、データ通信方法及び制御プログラム、を提供することができる。
【図面の簡単な説明】
【0012】
【図1】実施の形態1にかかる通信装置の構成図である。
【図2】実施の形態1にかかる通信装置の構成図である。
【図3】実施の形態1にかかる伝送パケット分割部の記憶する情報テーブルである。
【図4】実施の形態1にかかる再送要求処理部の構成図である。
【図5】実施の形態1にかかる識別子記憶部の記憶する情報テーブルである。
【図6】実施の形態1にかかる配信要求受信時のフローチャートである。
【図7】実施の形態1にかかる伝送パケット分割部における分割の方法を示す図である。
【図8】実施の形態1にかかるシーケンス番号の付与方法を示す図である。
【図9】実施の形態1にかかる再送要求受信時のフローチャートである。
【図10】実施の形態1にかかる識別子記憶部の記憶する情報テーブルである。
【図11】実施の形態1にかかる識別子記憶部の記憶する情報テーブルである。
【図12】実施の形態1にかかる再送要求信号数が指定数に達した場合の再送処理を示すフローチャートである。
【図13】実施の形態1にかかるタイマ満了時の再送処理を示すフローチャートである。
【図14】実施の形態1にかかる識別子記憶部の記憶する情報テーブルである。
【図15】実施の形態1にかかる伝送パケット生成部における分割の方法を示す図である。
【発明を実施するための形態】
【0013】
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて、本発明の実施の形態1にかかる通信装置の構成について説明する。通信装置1はネットワーク3と接続しており、ネットワーク3には通信装置1から送信されたデータを受信する受信装置2も接続されている。
【0014】
通信装置1は、伝送パケット生成部10と、伝送パケット分割部11と、再送要求処理部12を備えている。さらに、伝送パケット生成部10は、第1のデータプロセッサ100を含み、伝送パケット分割部11は、第2のデータプロセッサ110を含む。具体的には、通信装置1は、映像データ、音楽データ、音声データ等を、インターネット等のパケットを中継するネットワーク3を介して受信装置2に配信するサーバ装置である。ここで、通信装置1は、ネットワーク3に複数接続されている受信装置2に対してパケットを送信することができる。パケットは、マルチキャスト通信、ブロードキャスト通信もしくは受信装置毎にユニキャスト通信等により配信することができる。また、受信装置2は、例えば、IPTV(Internet Protocol Television)用のSTB(Set Top Box)、パーソナルコンピュータ、携帯電話端末、PDA(Personal Digital Assistant又はPersonal Data Assistance)である。
【0015】
伝送パケット生成部10は、伝送パケット生成部10に含まれるデータプロセッサ100によりデータを読み出して分割前パケット(以下、分割前伝送パケットと記載する)を生成する。具体的には、データに伝送プロトコルのヘッダを付加して分割前伝送パケットを生成する。伝送パケット生成部10が生成した分割前伝送パケットのうち、ネットワーク3へ1度に送出可能なサイズを超えているものは伝送パケット分割部11に出力される。ネットワーク3へ1度に送出可能なサイズを超えていない分割前伝送パケットは、ネットワーク3に出力する。伝送パケット生成部10は、受信装置2からのデータ配信要求、データ再送要求等に従い、分割前伝送パケットを生成する。
【0016】
伝送パケット生成部10から分割前伝送パケットを取得した伝送パケット分割部11は、分割前伝送パケットを、受信装置2へ送信する際に、ネットワーク3へ送出可能なサイズのパケットに分割し、伝送パケット生成部10に含まれるデータプロセッサ110により分割パケット(以下、分割後伝送パケットと記載する)を生成する。具体的には、分割前伝送パケットのペイロード部分を分割し、分割したペイロードに新たな伝送プロトコルヘッダを付加してネットワーク3へ一度に送出可能なサイズの分割後伝送パケットを生成する。生成された分割後伝送パケットは、ネットワーク3を介して受信装置2へ送信される。
【0017】
受信装置2は、ネットワーク3の障害等により分割後伝送パケットを受信できなかった場合、受信できなかった分割後伝送パケットについて再送要求を行う。受信装置2から再送要求を取得した再送要求処理部12は、受信した再送要求信号数に基づいて、再送要求信号に指定された再送パケットの生成を、伝送パケット生成部10でおこなうか、もしくは、伝送パケット分割部11で行うかを決定する。再送要求処理部12の決定に基づいて、伝送パケット生成部10もしくは伝送パケット分割部11により、再送用の分割後伝送パケットが生成される。
【0018】
次に、図2を用いて本発明の実施の形態1にかかる通信装置の詳細な構成について説明する。通信装置1は、伝送パケット生成部10と、伝送パケット分割部11と、再送要求処理部12と、送信指示部13と、コンテンツ記憶部14と、伝送パケット記憶部15と、分割パケット記憶部16と、パケット送信部17を備えている。
【0019】
送信指示部13は、通信装置1の制御プログラムに基づいて動作する制御コンピュータ(たとえば、マイクロプロセッサユニット)により構成される。受信装置2からのデータ配信要求、再送要求処理部12からの再送要求を受けて、伝送パケット生成部10に対して分割前伝送パケットの生成を指示する。コンテンツ配信要求は、RTSP(Real Time Streaming Protocol)、SIP(Session Initiation Protocol)、HTTP(HyperText Transfer Protocol)等を用いて行う。
【0020】
伝送パケット生成部10は、通信装置1の制御プログラムに基づいて動作する制御コンピュータにより構成される。伝送パケット生成部10は、伝送パケット生成部10に含まれるデータプロセッサ100によりコンテンツ記憶部14からデータを読み出して分割前伝送パケットを生成する。コンテンツ記憶部14は、通信装置1に接続された磁気記憶装置などの補助装置であり、MPEG−2(ISO/IEC JTC1のMoving Picture Experts Groupにて決められた標準規格)、MPEG−2 TS(Transport Stream)形式の動画データ等を記憶している。具体的には、データに伝送プロトコルのヘッダを付加して分割前伝送パケットを生成する。伝送パケット生成部10が生成した分割前伝送パケットのうち、ネットワーク3へ1度に送出可能なサイズを超えているものは伝送パケット分割部11に出力される。ネットワーク3へ1度に送出可能なサイズ以下の分割前伝送パケットは、パケット送信部17に出力される。ここで、パケット送信部17は、Ethernet(登録商標)のPHY(PHYsical layer)チップであり、1度に送出可能なサイズであるMTUは例えば1500バイト等とすることができる。ジャンボフレームに対応したネットワークではMTUは1500バイトよりも大きくすることができる。また、伝送パケット生成部10で生成した分割前伝送パケットは、伝送パケット記憶部15に出力され、記憶される。伝送パケット記憶部15は、通信装置1の主記憶装置の一部であってもよく、磁気ディスク等の補助記憶装置でもよい。
【0021】
ここで、伝送パケット生成部10は、送信指示部13から生成を指示されたデータが伝送パケット記憶部15に記憶されている場合には、再度分割前伝送パケットの生成は行わない。このような場合には、伝送パケット記憶部15から分割前伝送パケットを取り出して、伝送パケット分割部11またはパケット送信部17に出力する。
【0022】
伝送パケット分割部11は、分割前伝送パケットを、受信装置2へ送信する際に、伝送パケット分割部11に含まれるデータプロセッサ110によりネットワーク3へ送出可能なサイズのパケットに分割し、分割後伝送パケットを生成する。具体的には、分割前伝送パケットのペイロード部分を分割する。その分割したペイロードに新たな伝送プロトコルヘッダを付加して、ネットワーク3へ一度に送出可能なサイズの分割後伝送パケットを生成する。生成された分割後伝送パケットは、分割パケット記憶部16に記憶するとともに、パケット送信部17へ出力される。分割パケット記憶部16は、主にRAM(Random Access Memory)で実現される。この時、伝送パケット分割部11は、分割前伝送パケットの識別子と、分割後伝送パケットの識別子の対応関係を記憶しておく。具体的には、図3に示すように、識別子B1の分割前伝送パケットを識別子C1,C2,C3,C4,C5の分割後伝送パケットへ変換し、識別子B2の分割前伝送パケットを識別子C6,C7,C8,C9,C10の分割後伝送パケットへ変換したことを示す。このような記憶方法のほかに、分割前伝送パケットと分割後伝送パケットの変換式を記憶してもよい。
【0023】
再送要求処理部12は、本発明の特徴部分であり、図4を用いて詳細に説明する。再送要求処理部12は、再送元決定部120と、要求内容決定部121と、識別子記憶部122を備える。
【0024】
再送元決定部120は、受信装置2から再送要求信号を取得した場合に、再送要求のあったパケットが分割パケット記憶部16に記憶されている場合には、パケット送信部17に対して、当該パケットの再送を指示する。分割パケット記憶部16に記憶されていない場合には、受信装置2から取得した再送要求信号を、要求内容決定部121に出力する。
【0025】
要求内容決定部121は、取得した再送要求信号で指定された再送パケットの識別子を識別子記憶部122に出力する。ここで、識別子記憶部122が保持する情報テーブルを、図5を用いて説明する。
【0026】
識別子記憶部122が保持する情報テーブルは、各フィールドが視聴IDと、分割前識別子と、分割後識別子と、再送要求受信識別子と、タイマ満了時刻から構成され、視聴IDと分割前識別子の組で一意にエントリを識別できる。視聴IDは、ストリームを識別するための情報である。分割前識別子は、伝送パケット生成部10で生成した分割前伝送パケットに付加した識別子である。分割後識別子は、伝送パケット分割部11で分割した各分割後伝送パケットに付加した識別子である。再送要求受信識別子は、分割後識別子の中で、受信装置2から再送要求信号を受信した識別子であり、分割後識別子の部分集合になる。タイマ満了時刻は、エントリに保持するデータのタイマが満了する時刻であり、再送パケットを、伝送パケット生成部10と、伝送パケット分割部11のどちらで生成するかをタイマ満了時刻までに決定する。タイマが満了するまでの時間は、受信装置2が再送パケットを受信するにあたり、許容される遅延時間に応じて決定するものである。これより、タイマ満了時刻は、許容される遅延時間から、通信装置1内部の再送処理遅延と、受信装置2までの伝送遅延を減じた時間よりも短い時間を設定する。
【0027】
識別子記憶部122は、要求内容決定部121から取得した再送パケットの識別子を、再送要求受信識別子フィールドに追加する。この時、識別子記憶部122の再送要求受信識別子フィールドに、視聴ID及び伝送パケット識別子から一意に定まるエントリが存在しない場合には、伝送パケット分割部11から分割前識別子及び分割後識別子を取得して新たなエントリを生成する。要求内容決定部121は、識別子記憶部122の再送要求受信識別子フィールドが指定数以上となった場合、伝送パケット生成部10に対して、再送要求受信識別子に対応する分割前伝送パケットを、伝送パケット分割部11に出力するよう、送信指示部13に通知する。タイマの満了までに、再送要求受信識別子フィールドが指定数に満たなかった場合、タイマが満了したエントリの再送要求受信識別子フィールドのパケットの再送を、送信指示部13に通知する。
【0028】
伝送パケット分割部11、再送要求処理部12、分割パケット記憶部16、パケット送信部17は主にデータ送信装置に搭載されるネットワークカードで実現される。また、伝送パケット分割部11、再送要求処理部12は、ネットワークカードの制御プログラムに基づいて動作する制御コンピュータにより構成される。さらに、伝送パケット分割部11と、再送要求処理部12は、FPGA(Field Programmable Gate Array)により実現される。ネットワークカードと通信装置1の各手段との通信は、PCI(Peripheral Components Interconnectbus)バスなどを介して行われる。
【0029】
次に、図6を用いて、本発明の実施の形態1にかかる、受信装置から配信要求を受信したときの通信装置の処理の流れにつき説明を行う。通信装置1は、受信装置2から配信要求を受信する(S101)。具体的には、RTSPにより配信要求を受信する。
【0030】
次に、送信指示部13は伝送パケット生成部10に対して、分割前伝送パケットの生成の開始を指示する(S102)。具体的には、受信装置2のIPアドレスと使用するUDPポート番号と、受信を希望するコンテンツ名とともに伝送パケット生成部10に対して、配信開始を指示する。
【0031】
次に、伝送パケット生成部10は、コンテンツ記憶部14からコンテンツを読み出す(S103)。
【0032】
次に、伝送パケット生成部10は、分割前伝送パケットを生成する(S104)。具体的には、分割前伝送パケットとして、RTPを用いて、RTPパケットを生成する。ここで、分割前伝送パケットの構成について図7の一部を用いて説明を行う。分割前伝送パケット4は、ヘッダ41とペイロード42からなる。ヘッダ41は、通信装置1と受信装置2の間で分割前伝送パケット4を識別するための識別子である。ペイロード42にはコンテンツ記憶部14から読み出したコンテンツを格納する。伝送パケット生成部10で生成する分割前伝送パケット4のサイズは、送信指示部13から指示してもよく、設定ファイルなどで予め指定してもよい。例えば、MPEG−2 TSパケットのサイズは188バイトであり、MTUが1500バイトのEthernet(登録商標)の場合、1つのEthernet(登録商標)フレームあたりMPEG−2 TSパケットを7個送信できる。分割前伝送パケットを分割後伝送パケットn個分とし、RTPヘッダのサイズを12バイトとすると、分割前伝送パケットのサイズは、以下の式1で示される。
【0033】
分割前伝送パケットのサイズ=12+188×7×n・・・・・(式1)
【0034】
また、分割前伝送パケットに付加するヘッダのシーケンス番号は任意の番号を設定することが可能であり、本発明の実施の形態1の説明においては1から連番とする。
【0035】
次に、伝送パケット生成部10は、生成した分割前伝送パケットを、伝送パケット記憶部15に記憶する(S105)。
【0036】
次に、伝送パケット分割部11は、伝送パケット生成部10にて生成した、分割前伝送パケットをMTU以下のパケットに分割する(S106)。分割するサイズは、伝送パケット生成部10が分割前伝送パケットを出力するときに指示する方法や、あらかじめ設定しておく方法がある。伝送パケット分割部11の動作について、図7、図8を用いて具体的に説明する。
【0037】
図7は、伝送パケット分割部11における分割の方法を示している。伝送パケット分割部11は伝送パケット生成部10から出力された分割前伝送パケット4のペイロード42を分割し、分割したペイロード402にヘッダ41の識別子を変更したヘッダ401をコピーし、分割後伝送パケット40−1乃至nを生成する。このとき、伝送パケット分割部11は分割前伝送パケット4のヘッダ41の識別子と、分割後伝送パケット40−1乃至nのヘッダ401の識別子の対応関係を記憶する。
【0038】
さらに、図8を用いて、具体的に、ヘッダに付与する識別子である、シーケンス番号の付与方法について説明を行う。1001は、伝送パケット生成部10で生成した分割前伝送パケットである。1002は、伝送パケット分割部11で分割した分割後伝送パケットである。各パケットの先頭部分に記載した数字はRTPパケットのシーケンス番号を示す。
【0039】
図8では、シーケンス番号1の分割前伝送パケットをシーケンス番号1〜48の分割後伝送パケットに、シーケンス番号2の分割前伝送パケットをシーケンス番号49〜96の分割後伝送パケットに変換している。すなわち、分割前伝送パケットのシーケンス番号をxとすると、分割後伝送パケットのシーケンス番号yは次の式2で表わされる。
【0040】
y=48×(x−1)+n(n=1〜48)・・・・・(式2)
【0041】
分割後伝送パケットのシーケンス番号yに対応する分割前伝送パケットxのシーケンス番号は次の式3で表わされる。
【0042】
x=ROUNDUP(y/48)・・・・(式3)
【0043】
分割前伝送パケットxは、y/48の小数部分を切り上げた値である。例えば、シーケンス番号3の分割前伝送パケットは、シーケンス番号97から144の分割後伝送パケットになり、シーケンス番号200の分割後伝送パケットの分割前伝送パケットのシーケンス番号は5である。
【0044】
次に、伝送パケット分割部11は、生成した分割後伝送パケットを分割パケット記憶部16に記憶する(S107)。ここで、分割パケット記憶部16の容量が不足する場合には、記憶後の経過時間が長いものから順に削除し、記憶領域を確保する。
【0045】
次に、パケット送信部17は、伝送パケット分割部11から取得したパケットを伝送可能な信号に変換してネットワークに送出する(S108)。
【0046】
次に、図9を用いて、本発明の実施の形態1にかかる、受信装置から再送要求信号を受信したときの通信装置の処理の流れにつき説明を行う。以下の例においては、分割パケット記憶部16は、シーケンス番号481から528の分割後伝送パケットが記憶されているとする。さらに、伝送パケット記憶部15には、受信装置2に配信した分割後伝送パケットに対応する分割前伝送パケットが、全て記憶されているとする。通信装置1は、受信装置2から再送要求信号を受信する(S201)。具体的には、分割後伝送パケットの識別子を含む再送要求信号を受信する。受信装置2からの再送要求は、RTSP、RTCP(RTp Control Protocol)等のプロトコルを用いて行われる。
【0047】
次に、再送元決定部120は、分割パケット記憶部16から、記憶している分割後伝送パケットの識別子を取得し、再送要求信号に含まれる分割後伝送パケットの識別子が記憶されているかどうかを判定する(S202)。再送要求信号に含まれる分割後伝送パケットの識別子が、分割パケット記憶部16に記憶されている場合には、パケット送信部17に対して、分割パケット記憶部16に記憶されている分割後伝送パケットの再送を指示する。具体的には、受信装置2からシーケンス番号500を含む再送要求信号を受信した場合に、再送要求処理部12の再送元決定部120は、分割パケット記憶部16から、分割パケット記憶部16が記憶している識別子を取得する。分割パケット記憶部16には、シーケンス番号500の分割後伝送パケットが記憶されているため、再送要求処理部19は、パケット送信部17にシーケンス番号500の分割後伝送パケットの再送を指示する。
【0048】
次に、パケット送信部17は、分割パケット記憶部16から該当するパケットを取り出して再送する(S203)。
【0049】
次に、分割パケット記憶部16に、再送要求信号に含まれる分割後伝送パケットの識別子が記憶されていない場合、要求内容決定部121は、識別子記憶部122に、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在するか否かを判定する(S204)。具体的には、受信装置2から、シーケンス番号400を含む再送要求信号を受信した場合、シーケンス番号400の分割後伝送パケットは、分割パケット記憶部16に記憶されていないため、識別子記憶部122に対して、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在するか否かを判定する。
【0050】
次に、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在しない場合、要求内容決定部121は伝送パケット分割部11から再送要求のあった識別子に対応する分割前識別子と、その分割前識別子に対応する分割後識別子の一覧を取得し(S205)、タイマを設定する(S206)。具体的には、伝送パケット分割部11は、式2、式3の計算式から、分割前伝送パケットのシーケンス番号と、そのシーケンス番号に対応する分割後伝送パケットのシーケンス番号を要求内容決定部121に出力する。上述した例において、シーケンス番号400の識別子を有するパケットについて、再送要求があった場合に、伝送パケット分割部11は、分割前伝送パケットのシーケンス番号9と、シーケンス番号9の分割前伝送パケットに対応する分割パケットのシーケンス番号385乃至432を、要求内容決定部121に出力する。また、タイマは再送までに許容される遅延時間に応じて設定するものであり、受信装置2ごとに異なる値を設定してもよい。
【0051】
次に、識別子記憶部122の再送要求受信識別子フィールドに受信した再送要求のあったパケットの識別子を追加する(S207)。具体的には、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在しなかった場合は、上述の例に従い、視聴IDが192.168.1.1:1000(受信装置2のIPアドレスとポート番号)、分割前伝送パケット識別子が9、分割パケット識別子が385乃至432、再送要求受信識別子が400、タイマ満了時刻1100(時刻1000に再送要求信号を取得した場合であり、取得した時刻に100のタイマを加算した値)のエントリを生成する。生成されたエントリの結果を図10に示す。
【0052】
再送要求のあったパケットの識別子を分割パケット識別子フィールドに含むエントリが存在していた場合は、再送要求のあったパケットの識別子を、再送要求受信識別子フィールドに追加を行う(S207)。
【0053】
ここで、異なる時刻1010にシーケンス番号420と350を含む再送要求信号を受信した場合の例を示す。図10の識別子記憶部122が保持する情報テーブルには、分割後識別子フィールドにシーケンス番号420の識別子を含むエントリが存在するため、シーケンス番号420を、再送要求受信識別子フィールドに、追加を行う。シーケンス番号350は該当するエントリが存在しないため、エントリを作成する。その結果、情報テーブルは、図11のように示される。
【0054】
次に、再送要求受信識別子フィールドの識別子が指定数以上であるか否かを判定する(208)。以下の例では、指定数を3とした場合の具体例について説明する。例えば、シーケンス番号425の再送要求を受信した場合に、シーケンス番号425は、図11の分割前伝送パケット識別子9のエントリに該当するため、再送要求受信識別子フィールドにシーケンス番号425を追加する。ここで、このエントリの再送要求受信識別子の数が、指定数3となったため、要求内容決定部121から、送信指示部13に対して、シーケンス番号9の分割前伝送パケットを、伝送パケット分割部11に再送するよう通知する(S209)。
【0055】
分割前伝送パケット識別子8のように、再送要求受信識別子の数が3未満である場合には、送信指示部13への再送指示を、タイマ時刻満了までは行わない。
【0056】
次に、図12を用いて、再送要求受信識別子フィールドに識別子が指定数に達した場合の再送動作の処理の流れにつき説明を行う。送信指示部13は、伝送パケット生成部10に対して、分割前伝送パケットの識別子を指定して、再送を指示する(S301)。具体的には、上述の例においては、分割前伝送パケット識別子9の再送を指示する。
【0057】
次に、伝送パケット生成部10は、分割前識別子9の分割前伝送パケットを伝送パケット記憶部15から取り出して、伝送パケット分割部11に出力する(S302)。
【0058】
次に、伝送パケット分割部11は、記憶している分割前伝送パケットの識別子と分割後伝送パケットの識別子の対応関係の情報をもとに、分割したパケットに、一度目の送信時の分割後伝送パケットと同一の識別子を設定する。具体的には、分割前伝送パケットのシーケンス番号9に対応する分割後伝送パケットのシーケンス番号385から432の分割パケットを生成する(S303)。
【0059】
次に、伝送パケット分割部11は、再送要求処理部12の識別子記憶部122から、再送要求受信識別子フィールドに記憶された識別子を取得する(S304)。具体的には、シーケンス番号400と、420と、425の情報を取得する。
【0060】
次に、パケット送信部17は、伝送パケット分割部11において生成され、再送要求されているシーケンス番号400と、420と、425のパケットを再送する(S305)。
【0061】
次に、再送が完了した後に、伝送パケット分割部11は、再送要求処理部12に対して、再送が完了したエントリを削除するよう通知を行う(S306)。ここで、伝送パケット分割部11で分割したパケットを、分割パケット記憶部16に記憶してもよい。これにより、再々送時の負荷を軽減できる。
【0062】
次に、図13を用いて、識別子記憶部122の保持するエントリのタイマ満了時の処理の流れにつき説明を行う。要求内容決定部121は、識別子記憶部122のエントリのタイマ満了を検出する(S401)。
【0063】
次に、要求内容決定部121は、分割前識別子、分割後識別子、再送要求受信識別子を指定して、送信指示部13に再送を指示する(S402)。具体的には、図14における、シーケンス番号8の分割前伝送パケットをシーケンス番号337乃至384に分割したうちの350を再送するように指示する。
【0064】
次に、識別子記憶部122から、当該エントリを削除する(S403)。これにより、識別子記憶部122にエントリされている情報はなくなる。
【0065】
次に、送信指示部13は、再送指示を伝送パケット生成部10に出力し、伝送パケット生成部10は、伝送パケット記憶部15から、分割前伝送パケットを取り出す(S404)。具体的には、シーケンス番号8の分割前伝送パケットを取得する。
【0066】
次に、伝送パケット生成部10は、シーケンス番号350の分割パケットを生成する(S405)。ここで、分割パケットの生成方法を、図15を参照して説明する。シーケンス番号8の分割前伝送パケットのペイロードは、式2より、シーケンス番号337から始まる分割後伝送パケットに分割される。伝送パケット分割部11で先頭の1316バイト(188×7)がシーケンス番号337であり、1317バイト目から2632バイト目までがシーケンス番号338の分割後RTPパケットのペイロードという順で分割される。そのため、分割後RTPパケットのシーケンス番号の先頭337と再送する必要のある分割後伝送パケットのシーケンス番号350から、分割前伝送パケットのペイロードのどの位置を再送すればよいのかを判定できる。具体的には、ペイロードの17109バイト目がシーケンス番号350の分割後伝送パケットの先頭となる。
【0067】
次に、伝送パケット生成部10で生成した分割後伝送パケットはパケット送信部17から再送する(S406)。
【0068】
以上説明したように、本発明の実施の形態1にかかる通信装置を用いることにより、以下の効果を生じる。受信装置から要求される再送パケットの数が少ない場合には、通信装置のCPUにより実行される伝送パケット生成部10において、分割後伝送パケットである再送パケットを生成する。これにより、通信装置のCPUにおいて、すべての再送パケットを生成する場合と比較して、通信装置のCPUにおける再送パケット生成の負荷を、軽減することができる。さらに、通信装置のCPUからネットワークカードへ、分割前伝送パケットを送信しないことから、通信装置のCPUと、ネットワークカードを接続するバスの無駄な使用を回避することができる。
【0069】
また、受信装置から要求される再送パケットの数が多い場合には、伝送パケット生成部10より、分割前伝送パケットを伝送パケット分割部11に出力し、伝送パケット分割部11において、再送パケットを生成する。これにより、通信装置のCPUから、ネットワークカードへの分割前伝送パケットの出力において、複数の再送パケットを生成する際にも、1回のみ分割前伝送パケットを出力すればよい。これより、通信装置のCPUからネットワークカードへ、再送パケットの数に応じた回数の分割前伝送パケットの出力を行う場合に比べて、データ転送処理回数を減少させることが可能であり、通信装置のCPUからネットワークカードへのデータ転送時の負荷を軽減することができる。さらには、通信装置のCPUが再送パケットの生成を行う必要はないため、通信装置のCPUの処理負荷を軽減させることができる。
【0070】
また、ネットワークカードにおいて、分割パケット記憶部16を有することにより、再送パケットの生成回数を抑制できるため、再送パケット生成に伴う通信装置のCPU負荷もしくはネットワークカードの処理負荷を軽減することができる。
【0071】
(実施の形態2)
本発明の実施の形態2においては、通信装置1は、分割パケット記憶部16を有しない構成をとる。この構成に伴い、分割前伝送パケットを分割後に、分割後伝送パケットを、記憶する処理を行わないこととなる。
【0072】
これにより、メモリ容量の少ないネットワークカードにおいて、メモリ容量を削減することが可能となる。
【0073】
以上の説明は、本発明の実施の形態を説明するものであり、本発明が以上の実施の形態に限定されるものではない。また、当業者であれば、以上の実施の形態の各要素を本発明の範囲において容易に変更、追加、変換することが可能である。
【符号の説明】
【0074】
1 通信装置
2 受信装置
3 ネットワーク
10 伝送パケット生成部
11 伝送パケット分割部
12 再送要求処理部
13 送信指示部
14 コンテンツ記憶部
15 伝送パケット記憶部
16 分割パケット記憶部
17 パケット送信部
【特許請求の範囲】
【請求項1】
分割前パケットを生成する第1のデータプロセッサを含む伝送パケット生成手段と、
前記第1のデータプロセッサにより生成された前記分割前パケットを分割することによって複数の分割パケットを生成する第2のデータプロセッサを含む伝送パケット分割手段と、
前記複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、再送要求された分割パケットに対応し前記分割前パケットより小さい再送パケットの生成方法を決定する再送要求処理手段と、
を備え、
前記再送要求処理手段は、生成すべき前記再送パケットの数に応じて、
(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は
(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、
を決定する通信装置。
【請求項2】
前記再送要求処理手段は、前記再送要求された分割パケットが、前記通信装置に記憶されている場合には、前記通信装置に記憶されている分割パケットを用いて再送をおこなうように決定することを特徴とする請求項1記載の通信装置。
【請求項3】
前記再送要求処理手段は、前記第2のデータプロセッサに前記再送パケットを生成させることを決定した場合に、前記第1のデータプロセッサから前記第2のデータプロセッサに前記分割前パケットを供給させたうえで、前記第2のデータプロセッサでの前記再送パケットの生成を決定することを特徴とする請求項1記載の通信装置。
【請求項4】
前記再送要求処理手段は、所定時間内に、予め定められた数に満たない前記生成すべき再送パケットが発生した場合は、前記第1のデータプロセッサに前記再送パケットを生成させ、予め定められた数を超えた前記生成すべき再送パケットが発生した場合は、前記第2のデータプロセッサに前記再送パケットを生成させることを特徴とする請求項1乃至3のいずれか1項に記載の通信装置。
【請求項5】
前記伝送パケット分割手段は、前記分割前パケットの分割前識別子と前記分割パケットの分割後識別子を関連付けて記憶することを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
【請求項6】
前記再送要求処理手段は、前記伝送パケット分割手段から、前記再送要求された分割パケットに対応する前記分割前パケットの分割前識別子と、前記分割前識別子に関連付けられている分割後識別子を取得し、前記再送要求された分割パケットの再送要求受信識別子と、前記分割前識別子と、前記分割後識別子を、前記再送要求信号を送信した受信装置情報と対応付けてレコードを生成し、前記レコードを記憶する時間情報とともに、記憶することを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
【請求項7】
前記伝送パケット分割手段は、前記通信装置に搭載されるネットワークカードで動作することを特徴とする請求項1乃至6のいずれか1項に記載の通信装置。
【請求項8】
請求項1乃至7のいずれか1項に記載の通信装置と、前記通信装置から送信されるパケットを、ネットワークを経由して受信する受信装置とを備えるデータ通信システム。
【請求項9】
第1のデータプロセッサにより生成された分割前パケットが第2のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて
(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は
(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、
を決定するステップを備えるデータ通信方法。
【請求項10】
前記再送要求された分割パケットが、前記通信装置に記憶されている場合には、前記通信装置に記憶されている分割パケットを用いて再送をおこなうように決定するステップを備える請求項9記載のデータ通信方法。
【請求項11】
前記第2のデータプロセッサに前記再送パケットを生成させることを決定した場合に、前記第1のデータプロセッサから前記第2のデータプロセッサに前記分割前パケットを供給させたうえで、前記第2のデータプロセッサでの前記再送パケットの生成を決定するステップを備える請求項9記載のデータ通信方法。
【請求項12】
所定時間内に、予め定められた数に満たない前記生成すべき再送パケットが発生した場合は、前記第1のデータプロセッサに前記再送パケットを生成させ、予め定められた数を超えた前記生成すべき再送パケットが発生した場合は、前記第2のデータプロセッサに前記再送パケットを生成させるステップを備える請求項9乃至11のいずれか1項に記載のデータ通信方法。
【請求項13】
第1のデータプロセッサにより生成された分割前パケットが第2のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて
(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は
(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、
を決定するステップを通信装置の制御コンピュータに実行させる制御プログラム。
【請求項14】
前記再送要求された分割パケットが、前記通信装置に記憶されている場合には、前記通信装置に記憶されている分割パケットを用いて再送をおこなうように決定するステップを通信装置の制御コンピュータに実行させる請求項13記載の制御プログラム。
【請求項15】
前記第2のデータプロセッサに前記再送パケットを生成させることを決定した場合に、前記第1のデータプロセッサから前記第2のデータプロセッサに前記分割前パケットを供給させたうえで、前記第2のデータプロセッサでの前記再送パケットの生成を決定するステップを通信装置の制御コンピュータに実行させる請求項13記載の制御プログラム。
【請求項16】
所定時間内に、予め定められた数に満たない前記生成すべき再送パケットが発生した場合は、前記第1のデータプロセッサに前記再送パケットを生成させ、予め定められた数を超えた前記生成すべき再送パケットが発生した場合は、前記第2のデータプロセッサに前記再送パケットを生成させるステップを通信装置の制御コンピュータに実行させる請求項13乃至15のいずれか1項に記載の制御プログラム。
【請求項1】
分割前パケットを生成する第1のデータプロセッサを含む伝送パケット生成手段と、
前記第1のデータプロセッサにより生成された前記分割前パケットを分割することによって複数の分割パケットを生成する第2のデータプロセッサを含む伝送パケット分割手段と、
前記複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、再送要求された分割パケットに対応し前記分割前パケットより小さい再送パケットの生成方法を決定する再送要求処理手段と、
を備え、
前記再送要求処理手段は、生成すべき前記再送パケットの数に応じて、
(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は
(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、
を決定する通信装置。
【請求項2】
前記再送要求処理手段は、前記再送要求された分割パケットが、前記通信装置に記憶されている場合には、前記通信装置に記憶されている分割パケットを用いて再送をおこなうように決定することを特徴とする請求項1記載の通信装置。
【請求項3】
前記再送要求処理手段は、前記第2のデータプロセッサに前記再送パケットを生成させることを決定した場合に、前記第1のデータプロセッサから前記第2のデータプロセッサに前記分割前パケットを供給させたうえで、前記第2のデータプロセッサでの前記再送パケットの生成を決定することを特徴とする請求項1記載の通信装置。
【請求項4】
前記再送要求処理手段は、所定時間内に、予め定められた数に満たない前記生成すべき再送パケットが発生した場合は、前記第1のデータプロセッサに前記再送パケットを生成させ、予め定められた数を超えた前記生成すべき再送パケットが発生した場合は、前記第2のデータプロセッサに前記再送パケットを生成させることを特徴とする請求項1乃至3のいずれか1項に記載の通信装置。
【請求項5】
前記伝送パケット分割手段は、前記分割前パケットの分割前識別子と前記分割パケットの分割後識別子を関連付けて記憶することを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
【請求項6】
前記再送要求処理手段は、前記伝送パケット分割手段から、前記再送要求された分割パケットに対応する前記分割前パケットの分割前識別子と、前記分割前識別子に関連付けられている分割後識別子を取得し、前記再送要求された分割パケットの再送要求受信識別子と、前記分割前識別子と、前記分割後識別子を、前記再送要求信号を送信した受信装置情報と対応付けてレコードを生成し、前記レコードを記憶する時間情報とともに、記憶することを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
【請求項7】
前記伝送パケット分割手段は、前記通信装置に搭載されるネットワークカードで動作することを特徴とする請求項1乃至6のいずれか1項に記載の通信装置。
【請求項8】
請求項1乃至7のいずれか1項に記載の通信装置と、前記通信装置から送信されるパケットを、ネットワークを経由して受信する受信装置とを備えるデータ通信システム。
【請求項9】
第1のデータプロセッサにより生成された分割前パケットが第2のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて
(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は
(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、
を決定するステップを備えるデータ通信方法。
【請求項10】
前記再送要求された分割パケットが、前記通信装置に記憶されている場合には、前記通信装置に記憶されている分割パケットを用いて再送をおこなうように決定するステップを備える請求項9記載のデータ通信方法。
【請求項11】
前記第2のデータプロセッサに前記再送パケットを生成させることを決定した場合に、前記第1のデータプロセッサから前記第2のデータプロセッサに前記分割前パケットを供給させたうえで、前記第2のデータプロセッサでの前記再送パケットの生成を決定するステップを備える請求項9記載のデータ通信方法。
【請求項12】
所定時間内に、予め定められた数に満たない前記生成すべき再送パケットが発生した場合は、前記第1のデータプロセッサに前記再送パケットを生成させ、予め定められた数を超えた前記生成すべき再送パケットが発生した場合は、前記第2のデータプロセッサに前記再送パケットを生成させるステップを備える請求項9乃至11のいずれか1項に記載のデータ通信方法。
【請求項13】
第1のデータプロセッサにより生成された分割前パケットが第2のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも1つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて
(a)前記第1のデータプロセッサに前記再送パケットを生成させるか、又は
(b)前記第2のデータプロセッサに前記再送パケットを生成させるか、
を決定するステップを通信装置の制御コンピュータに実行させる制御プログラム。
【請求項14】
前記再送要求された分割パケットが、前記通信装置に記憶されている場合には、前記通信装置に記憶されている分割パケットを用いて再送をおこなうように決定するステップを通信装置の制御コンピュータに実行させる請求項13記載の制御プログラム。
【請求項15】
前記第2のデータプロセッサに前記再送パケットを生成させることを決定した場合に、前記第1のデータプロセッサから前記第2のデータプロセッサに前記分割前パケットを供給させたうえで、前記第2のデータプロセッサでの前記再送パケットの生成を決定するステップを通信装置の制御コンピュータに実行させる請求項13記載の制御プログラム。
【請求項16】
所定時間内に、予め定められた数に満たない前記生成すべき再送パケットが発生した場合は、前記第1のデータプロセッサに前記再送パケットを生成させ、予め定められた数を超えた前記生成すべき再送パケットが発生した場合は、前記第2のデータプロセッサに前記再送パケットを生成させるステップを通信装置の制御コンピュータに実行させる請求項13乃至15のいずれか1項に記載の制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2010−206669(P2010−206669A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−51594(P2009−51594)
【出願日】平成21年3月5日(2009.3.5)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願日】平成21年3月5日(2009.3.5)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]