(57)【要約】【課題】ＣＰＵの処理負荷を増大させることなく、効率的に再送データを生成する通信装置、データ通信システム、データ通信方法及び制御プログラムを提供すること【解決手段】本発明にかかる通信装置１は、分割前パケットを生成する第１のデータプロセッサと、第１のデータプロセッサにより生成された分割前パケットを分割することによって複数の分割パケットを生成する第２のデータプロセッサと、複数の分割パケットのうち少なくとも１つの再送を通信相手から要求された場合に、再送要求された分割パケットに対応し分割前パケットより小さい再送パケットの生成方法を決定する再送要求処理手段１２を備え、再送要求処理手段１２は、生成すべき前記再送パケットの数に応じて第１のデータプロセッサに前記再送パケットを生成させるか、又は第２のデータプロセッサに前記再送パケットを生成させるか、を決定するものである。【選択図】図１
2010206669.tif 000002
【特許請求の範囲】
【請求項１】
分割前パケットを生成する第１のデータプロセッサを含む伝送パケット生成手段と、
前記第１のデータプロセッサにより生成された前記分割前パケットを分割することによって複数の分割パケットを生成する第２のデータプロセッサを含む伝送パケット分割手段と、
前記複数の分割パケットのうち少なくとも１つの再送を通信相手の受信装置から要求された場合に、再送要求された分割パケットに対応し前記分割前パケットより小さい再送パケットの生成方法を決定する再送要求処理手段と、
を備え、
前記再送要求処理手段は、生成すべき前記再送パケットの数に応じて、
（ａ）前記第１のデータプロセッサに前記再送パケットを生成させるか、又は
（ｂ）前記第２のデータプロセッサに前記再送パケットを生成させるか、
を決定する通信装置。
【請求項２】
前記再送要求処理手段は、前記再送要求された分割パケットが、前記通信装置に記憶されている場合には、前記通信装置に記憶されている分割パケットを用いて再送をおこなうように決定することを特徴とする請求項１記載の通信装置。
【請求項３】
前記再送要求処理手段は、前記第２のデータプロセッサに前記再送パケットを生成させることを決定した場合に、前記第１のデータプロセッサから前記第２のデータプロセッサに前記分割前パケットを供給させたうえで、前記第２のデータプロセッサでの前記再送パケットの生成を決定することを特徴とする請求項１記載の通信装置。
【請求項４】
前記再送要求処理手段は、所定時間内に、予め定められた数に満たない前記生成すべき再送パケットが発生した場合は、前記第１のデータプロセッサに前記再送パケットを生成させ、予め定められた数を超えた前記生成すべき再送パケットが発生した場合は、前記第２のデータプロセッサに前記再送パケットを生成させることを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
前記伝送パケット分割手段は、前記分割前パケットの分割前識別子と前記分割パケットの分割後識別子を関連付けて記憶することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記再送要求処理手段は、前記伝送パケット分割手段から、前記再送要求された分割パケットに対応する前記分割前パケットの分割前識別子と、前記分割前識別子に関連付けられている分割後識別子を取得し、前記再送要求された分割パケットの再送要求受信識別子と、前記分割前識別子と、前記分割後識別子を、前記再送要求信号を送信した受信装置情報と対応付けてレコードを生成し、前記レコードを記憶する時間情報とともに、記憶することを特徴とする請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記伝送パケット分割手段は、前記通信装置に搭載されるネットワークカードで動作することを特徴とする請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
請求項１乃至７のいずれか１項に記載の通信装置と、前記通信装置から送信されるパケットを、ネットワークを経由して受信する受信装置とを備えるデータ通信システム。
【請求項９】
第１のデータプロセッサにより生成された分割前パケットが第２のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも１つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて
（ａ）前記第１のデータプロセッサに前記再送パケットを生成させるか、又は
（ｂ）前記第２のデータプロセッサに前記再送パケットを生成させるか、
を決定するステップを備えるデータ通信方法。
【請求項１０】
前記再送要求された分割パケットが、前記通信装置に記憶されている場合には、前記通信装置に記憶されている分割パケットを用いて再送をおこなうように決定するステップを備える請求項９記載のデータ通信方法。
【請求項１１】
前記第２のデータプロセッサに前記再送パケットを生成させることを決定した場合に、前記第１のデータプロセッサから前記第２のデータプロセッサに前記分割前パケットを供給させたうえで、前記第２のデータプロセッサでの前記再送パケットの生成を決定するステップを備える請求項９記載のデータ通信方法。
【請求項１２】
所定時間内に、予め定められた数に満たない前記生成すべき再送パケットが発生した場合は、前記第１のデータプロセッサに前記再送パケットを生成させ、予め定められた数を超えた前記生成すべき再送パケットが発生した場合は、前記第２のデータプロセッサに前記再送パケットを生成させるステップを備える請求項９乃至１１のいずれか１項に記載のデータ通信方法。
【請求項１３】
第１のデータプロセッサにより生成された分割前パケットが第２のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも１つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて
（ａ）前記第１のデータプロセッサに前記再送パケットを生成させるか、又は
（ｂ）前記第２のデータプロセッサに前記再送パケットを生成させるか、
を決定するステップを通信装置の制御コンピュータに実行させる制御プログラム。
【請求項１４】
前記再送要求された分割パケットが、前記通信装置に記憶されている場合には、前記通信装置に記憶されている分割パケットを用いて再送をおこなうように決定するステップを通信装置の制御コンピュータに実行させる請求項１３記載の制御プログラム。
【請求項１５】
前記第２のデータプロセッサに前記再送パケットを生成させることを決定した場合に、前記第１のデータプロセッサから前記第２のデータプロセッサに前記分割前パケットを供給させたうえで、前記第２のデータプロセッサでの前記再送パケットの生成を決定するステップを通信装置の制御コンピュータに実行させる請求項１３記載の制御プログラム。
【請求項１６】
所定時間内に、予め定められた数に満たない前記生成すべき再送パケットが発生した場合は、前記第１のデータプロセッサに前記再送パケットを生成させ、予め定められた数を超えた前記生成すべき再送パケットが発生した場合は、前記第２のデータプロセッサに前記再送パケットを生成させるステップを通信装置の制御コンピュータに実行させる請求項１３乃至１５のいずれか１項に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信装置、データ通信システム、データ通信方法及び制御プログラムに関し、特に再送制御を行う通信装置と、その通信装置を含むデータ通信システムと、その通信装置を用いたデータ通信方法と、その通信装置が実行する制御プログラムに関する。
【背景技術】
【０００２】
コンテンツ配信装置のＣＰＵ負荷の軽減方法の一例として特許文献１がある。特許文献１は、コンテンツ配信装置のＣＰＵで処理されるデータの、ネットワークへ送出可能なパケットサイズ（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｕｎｉｔ;ＭＴＵ）への分割と、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）／ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）などのヘッダ生成をネットワークカードで行い、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で行う送信処理回数を削減し、ＣＰＵ負荷を軽減するものである。
【０００３】
また、コンテンツ配信装置からコンテンツ受信装置への再送を効率化する方法の一例として特許文献２がある。特許文献２は、誤りパケットの連続性に基づいて正常なパケットを含むパケットグループを再送するものである。例えば、１から７までの連続した数の識別子を有する各パケットにおいて、識別子が２、４、６、７のパケットがコンテンツ受信装置に正しく届かなかった場合について説明する。この場合、正常にコンテンツ受信装置に届いた、識別子が３と５のパケットを含む識別子２から７のグループを再送することにより、再送回数を減らして再送を効率化するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−０２８７６７号公報
【特許文献２】特開２００７−２５９０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ネットワークカードにて、ＭＴＵサイズへの分割と、ＲＴＰ／ＵＤＰなどのヘッダ生成を行うコンテンツ配信装置において、当該コンテンツ配信装置からコンテンツを受信した受信装置は、コンテンツをすべて受信できなかった場合、コンテンツの再送要求信号を送信する。この場合に、コンテンツ配信装置は、コンテンツ配信装置のＣＰＵで再送データを生成する方法と、ネットワークカードで再送データを生成する方法がある。コンテンツ配信装置のＣＰＵで再送データを生成する場合において、例えば、再送要求されているパケットの数が多い場合は、ＣＰＵの処理負荷が増大するという問題がある。また、ネットワークカードで再送データを生成する場合において、例えば、再送要求されているパケットの数が少ない場合は、コンテンツ配信装置のＣＰＵから分割前のデータを取得する必要がある。つまり、再送要求されている再送データをネットワークカードで生成するために、再送要求されているデータ以上のデータをＣＰＵから取得する必要があり、ＣＰＵとネットワークカードを接続するバスを無駄に使用するという問題がある。このような問題を解決する再送データの効率的な生成方法については、特許文献１及び２には開示されていない。
【０００６】
本発明の目的は、このような問題点を解決するためになされたものであり、ＣＰＵの処理負荷を増大させることなく、効率的に再送データを生成する、通信装置、データ通信システム、データ通信方法及び制御プログラム、を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様にかかる通信装置は、分割前パケットを生成する第１のデータプロセッサを含む伝送パケット生成部と、前記第１のデータプロセッサにより生成された前記分割前パケットを分割することによって複数の分割パケットを生成する第２のデータプロセッサを含む伝送パケット分割部と、前記複数の分割パケットのうち少なくとも１つの再送を通信相手の受信装置から要求された場合に、再送要求された分割パケットに対応し前記分割前パケットより小さい再送パケットの生成方法を決定する再送要求処理部と、を備え、前記再送要求処理部は、生成すべき前記再送パケットの数に応じて、（ａ）前記第１のデータプロセッサに前記再送パケットを生成させるか、又は（ｂ）前記第２のデータプロセッサに前記再送パケットを生成させるか、を決定するものである。
【０００８】
また、本発明の第２の態様にかかるデータ通信システムは、本発明の第１の態様にかかる通信装置と、前記通信装置から送信されるパケットを、ネットワークを経由して受信する受信装置とを備えるものである。
【０００９】
また、本発明の第３の態様にかかるデータ通信方法は、第１のデータプロセッサにより生成された分割前パケットが第２のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも１つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて（ａ）前記第１のデータプロセッサに前記再送パケットを生成させるか、又は（ｂ）前記第２のデータプロセッサに前記再送パケットを生成させるか、を決定するステップを備えることである。
【００１０】
また、本発明の第４の態様にかかる制御プログラムは、第１のデータプロセッサにより生成された分割前パケットが第２のデータプロセッサにより分割されることによって生成される複数の分割パケットのうち少なくとも１つの再送を通信相手の受信装置から要求された場合に、生成すべき再送パケットの数に応じて（ａ）前記第１のデータプロセッサに前記再送パケットを生成させるか、又は（ｂ）前記第２のデータプロセッサに前記再送パケットを生成させるか、を決定するステップを通信装置の制御コンピュータに実行させるものである。
【発明の効果】
【００１１】
本発明により、ＣＰＵの処理負荷を増大させることなく、効率的に再送データを生成する、通信装置、データ通信システム、データ通信方法及び制御プログラム、を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１にかかる通信装置の構成図である。
【図２】実施の形態１にかかる通信装置の構成図である。
【図３】実施の形態１にかかる伝送パケット分割部の記憶する情報テーブルである。
【図４】実施の形態１にかかる再送要求処理部の構成図である。
【図５】実施の形態１にかかる識別子記憶部の記憶する情報テーブルである。
【図６】実施の形態１にかかる配信要求受信時のフローチャートである。
【図７】実施の形態１にかかる伝送パケット分割部における分割の方法を示す図である。
【図８】実施の形態１にかかるシーケンス番号の付与方法を示す図である。
【図９】実施の形態１にかかる再送要求受信時のフローチャートである。
【図１０】実施の形態１にかかる識別子記憶部の記憶する情報テーブルである。
【図１１】実施の形態１にかかる識別子記憶部の記憶する情報テーブルである。
【図１２】実施の形態１にかかる再送要求信号数が指定数に達した場合の再送処理を示すフローチャートである。
【図１３】実施の形態１にかかるタイマ満了時の再送処理を示すフローチャートである。
【図１４】実施の形態１にかかる識別子記憶部の記憶する情報テーブルである。
【図１５】実施の形態１にかかる伝送パケット生成部における分割の方法を示す図である。
【発明を実施するための形態】
【００１３】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。図１を用いて、本発明の実施の形態１にかかる通信装置の構成について説明する。通信装置１はネットワーク３と接続しており、ネットワーク３には通信装置１から送信されたデータを受信する受信装置２も接続されている。
【００１４】
通信装置１は、伝送パケット生成部１０と、伝送パケット分割部１１と、再送要求処理部１２を備えている。さらに、伝送パケット生成部１０は、第１のデータプロセッサ１００を含み、伝送パケット分割部１１は、第２のデータプロセッサ１１０を含む。具体的には、通信装置１は、映像データ、音楽データ、音声データ等を、インターネット等のパケットを中継するネットワーク３を介して受信装置２に配信するサーバ装置である。ここで、通信装置１は、ネットワーク３に複数接続されている受信装置２に対してパケットを送信することができる。パケットは、マルチキャスト通信、ブロードキャスト通信もしくは受信装置毎にユニキャスト通信等により配信することができる。また、受信装置２は、例えば、ＩＰＴＶ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ）用のＳＴＢ（Ｓｅｔ  Ｔｏｐ  Ｂｏｘ）、パーソナルコンピュータ、携帯電話端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ又はＰｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｃｅ）である。
【００１５】
伝送パケット生成部１０は、伝送パケット生成部１０に含まれるデータプロセッサ１００によりデータを読み出して分割前パケット（以下、分割前伝送パケットと記載する）を生成する。具体的には、データに伝送プロトコルのヘッダを付加して分割前伝送パケットを生成する。伝送パケット生成部１０が生成した分割前伝送パケットのうち、ネットワーク３へ１度に送出可能なサイズを超えているものは伝送パケット分割部１１に出力される。ネットワーク３へ１度に送出可能なサイズを超えていない分割前伝送パケットは、ネットワーク３に出力する。伝送パケット生成部１０は、受信装置２からのデータ配信要求、データ再送要求等に従い、分割前伝送パケットを生成する。
【００１６】
伝送パケット生成部１０から分割前伝送パケットを取得した伝送パケット分割部１１は、分割前伝送パケットを、受信装置２へ送信する際に、ネットワーク３へ送出可能なサイズのパケットに分割し、伝送パケット生成部１０に含まれるデータプロセッサ１１０により分割パケット（以下、分割後伝送パケットと記載する）を生成する。具体的には、分割前伝送パケットのペイロード部分を分割し、分割したペイロードに新たな伝送プロトコルヘッダを付加してネットワーク３へ一度に送出可能なサイズの分割後伝送パケットを生成する。生成された分割後伝送パケットは、ネットワーク３を介して受信装置２へ送信される。
【００１７】
受信装置２は、ネットワーク３の障害等により分割後伝送パケットを受信できなかった場合、受信できなかった分割後伝送パケットについて再送要求を行う。受信装置２から再送要求を取得した再送要求処理部１２は、受信した再送要求信号数に基づいて、再送要求信号に指定された再送パケットの生成を、伝送パケット生成部１０でおこなうか、もしくは、伝送パケット分割部１１で行うかを決定する。再送要求処理部１２の決定に基づいて、伝送パケット生成部１０もしくは伝送パケット分割部１１により、再送用の分割後伝送パケットが生成される。
【００１８】
次に、図２を用いて本発明の実施の形態１にかかる通信装置の詳細な構成について説明する。通信装置１は、伝送パケット生成部１０と、伝送パケット分割部１１と、再送要求処理部１２と、送信指示部１３と、コンテンツ記憶部１４と、伝送パケット記憶部１５と、分割パケット記憶部１６と、パケット送信部１７を備えている。
【００１９】
送信指示部１３は、通信装置１の制御プログラムに基づいて動作する制御コンピュータ（たとえば、マイクロプロセッサユニット）により構成される。受信装置２からのデータ配信要求、再送要求処理部１２からの再送要求を受けて、伝送パケット生成部１０に対して分割前伝送パケットの生成を指示する。コンテンツ配信要求は、ＲＴＳＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等を用いて行う。
【００２０】
伝送パケット生成部１０は、通信装置１の制御プログラムに基づいて動作する制御コンピュータにより構成される。伝送パケット生成部１０は、伝送パケット生成部１０に含まれるデータプロセッサ１００によりコンテンツ記憶部１４からデータを読み出して分割前伝送パケットを生成する。コンテンツ記憶部１４は、通信装置１に接続された磁気記憶装置などの補助装置であり、ＭＰＥＧ−２（ＩＳＯ／ＩＥＣ  ＪＴＣ１のＭｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐにて決められた標準規格）、ＭＰＥＧ−２  ＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）形式の動画データ等を記憶している。具体的には、データに伝送プロトコルのヘッダを付加して分割前伝送パケットを生成する。伝送パケット生成部１０が生成した分割前伝送パケットのうち、ネットワーク３へ１度に送出可能なサイズを超えているものは伝送パケット分割部１１に出力される。ネットワーク３へ１度に送出可能なサイズ以下の分割前伝送パケットは、パケット送信部１７に出力される。ここで、パケット送信部１７は、Ｅｔｈｅｒｎｅｔ（登録商標）のＰＨＹ（ＰＨＹｓｉｃａｌ  ｌａｙｅｒ）チップであり、１度に送出可能なサイズであるＭＴＵは例えば１５００バイト等とすることができる。ジャンボフレームに対応したネットワークではＭＴＵは１５００バイトよりも大きくすることができる。また、伝送パケット生成部１０で生成した分割前伝送パケットは、伝送パケット記憶部１５に出力され、記憶される。伝送パケット記憶部１５は、通信装置１の主記憶装置の一部であってもよく、磁気ディスク等の補助記憶装置でもよい。
【００２１】
ここで、伝送パケット生成部１０は、送信指示部１３から生成を指示されたデータが伝送パケット記憶部１５に記憶されている場合には、再度分割前伝送パケットの生成は行わない。このような場合には、伝送パケット記憶部１５から分割前伝送パケットを取り出して、伝送パケット分割部１１またはパケット送信部１７に出力する。
【００２２】
伝送パケット分割部１１は、分割前伝送パケットを、受信装置２へ送信する際に、伝送パケット分割部１１に含まれるデータプロセッサ１１０によりネットワーク３へ送出可能なサイズのパケットに分割し、分割後伝送パケットを生成する。具体的には、分割前伝送パケットのペイロード部分を分割する。その分割したペイロードに新たな伝送プロトコルヘッダを付加して、ネットワーク３へ一度に送出可能なサイズの分割後伝送パケットを生成する。生成された分割後伝送パケットは、分割パケット記憶部１６に記憶するとともに、パケット送信部１７へ出力される。分割パケット記憶部１６は、主にＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で実現される。この時、伝送パケット分割部１１は、分割前伝送パケットの識別子と、分割後伝送パケットの識別子の対応関係を記憶しておく。具体的には、図３に示すように、識別子Ｂ１の分割前伝送パケットを識別子Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５の分割後伝送パケットへ変換し、識別子Ｂ２の分割前伝送パケットを識別子Ｃ６，Ｃ７，Ｃ８，Ｃ９，Ｃ１０の分割後伝送パケットへ変換したことを示す。このような記憶方法のほかに、分割前伝送パケットと分割後伝送パケットの変換式を記憶してもよい。
【００２３】
再送要求処理部１２は、本発明の特徴部分であり、図４を用いて詳細に説明する。再送要求処理部１２は、再送元決定部１２０と、要求内容決定部１２１と、識別子記憶部１２２を備える。
【００２４】
再送元決定部１２０は、受信装置２から再送要求信号を取得した場合に、再送要求のあったパケットが分割パケット記憶部１６に記憶されている場合には、パケット送信部１７に対して、当該パケットの再送を指示する。分割パケット記憶部１６に記憶されていない場合には、受信装置２から取得した再送要求信号を、要求内容決定部１２１に出力する。
【００２５】
要求内容決定部１２１は、取得した再送要求信号で指定された再送パケットの識別子を識別子記憶部１２２に出力する。ここで、識別子記憶部１２２が保持する情報テーブルを、図５を用いて説明する。
【００２６】
識別子記憶部１２２が保持する情報テーブルは、各フィールドが視聴ＩＤと、分割前識別子と、分割後識別子と、再送要求受信識別子と、タイマ満了時刻から構成され、視聴ＩＤと分割前識別子の組で一意にエントリを識別できる。視聴ＩＤは、ストリームを識別するための情報である。分割前識別子は、伝送パケット生成部１０で生成した分割前伝送パケットに付加した識別子である。分割後識別子は、伝送パケット分割部１１で分割した各分割後伝送パケットに付加した識別子である。再送要求受信識別子は、分割後識別子の中で、受信装置２から再送要求信号を受信した識別子であり、分割後識別子の部分集合になる。タイマ満了時刻は、エントリに保持するデータのタイマが満了する時刻であり、再送パケットを、伝送パケット生成部１０と、伝送パケット分割部１１のどちらで生成するかをタイマ満了時刻までに決定する。タイマが満了するまでの時間は、受信装置２が再送パケットを受信するにあたり、許容される遅延時間に応じて決定するものである。これより、タイマ満了時刻は、許容される遅延時間から、通信装置１内部の再送処理遅延と、受信装置２までの伝送遅延を減じた時間よりも短い時間を設定する。
【００２７】
識別子記憶部１２２は、要求内容決定部１２１から取得した再送パケットの識別子を、再送要求受信識別子フィールドに追加する。この時、識別子記憶部１２２の再送要求受信識別子フィールドに、視聴ＩＤ及び伝送パケット識別子から一意に定まるエントリが存在しない場合には、伝送パケット分割部１１から分割前識別子及び分割後識別子を取得して新たなエントリを生成する。要求内容決定部１２１は、識別子記憶部１２２の再送要求受信識別子フィールドが指定数以上となった場合、伝送パケット生成部１０に対して、再送要求受信識別子に対応する分割前伝送パケットを、伝送パケット分割部１１に出力するよう、送信指示部１３に通知する。タイマの満了までに、再送要求受信識別子フィールドが指定数に満たなかった場合、タイマが満了したエントリの再送要求受信識別子フィールドのパケットの再送を、送信指示部１３に通知する。
【００２８】
伝送パケット分割部１１、再送要求処理部１２、分割パケット記憶部１６、パケット送信部１７は主にデータ送信装置に搭載されるネットワークカードで実現される。また、伝送パケット分割部１１、再送要求処理部１２は、ネットワークカードの制御プログラムに基づいて動作する制御コンピュータにより構成される。さらに、伝送パケット分割部１１と、再送要求処理部１２は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）により実現される。ネットワークカードと通信装置１の各手段との通信は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｂｕｓ）バスなどを介して行われる。
【００２９】
次に、図６を用いて、本発明の実施の形態１にかかる、受信装置から配信要求を受信したときの通信装置の処理の流れにつき説明を行う。通信装置１は、受信装置２から配信要求を受信する（Ｓ１０１）。具体的には、ＲＴＳＰにより配信要求を受信する。
【００３０】
次に、送信指示部１３は伝送パケット生成部１０に対して、分割前伝送パケットの生成の開始を指示する（Ｓ１０２）。具体的には、受信装置２のＩＰアドレスと使用するＵＤＰポート番号と、受信を希望するコンテンツ名とともに伝送パケット生成部１０に対して、配信開始を指示する。
【００３１】
次に、伝送パケット生成部１０は、コンテンツ記憶部１４からコンテンツを読み出す（Ｓ１０３）。
【００３２】
次に、伝送パケット生成部１０は、分割前伝送パケットを生成する（Ｓ１０４）。具体的には、分割前伝送パケットとして、ＲＴＰを用いて、ＲＴＰパケットを生成する。ここで、分割前伝送パケットの構成について図７の一部を用いて説明を行う。分割前伝送パケット４は、ヘッダ４１とペイロード４２からなる。ヘッダ４１は、通信装置１と受信装置２の間で分割前伝送パケット４を識別するための識別子である。ペイロード４２にはコンテンツ記憶部１４から読み出したコンテンツを格納する。伝送パケット生成部１０で生成する分割前伝送パケット４のサイズは、送信指示部１３から指示してもよく、設定ファイルなどで予め指定してもよい。例えば、ＭＰＥＧ−２  ＴＳパケットのサイズは１８８バイトであり、ＭＴＵが１５００バイトのＥｔｈｅｒｎｅｔ（登録商標）の場合、１つのＥｔｈｅｒｎｅｔ（登録商標）フレームあたりＭＰＥＧ−２  ＴＳパケットを７個送信できる。分割前伝送パケットを分割後伝送パケットｎ個分とし、ＲＴＰヘッダのサイズを１２バイトとすると、分割前伝送パケットのサイズは、以下の式１で示される。
【００３３】
分割前伝送パケットのサイズ＝１２＋１８８×７×ｎ・・・・・（式１）
【００３４】
また、分割前伝送パケットに付加するヘッダのシーケンス番号は任意の番号を設定することが可能であり、本発明の実施の形態１の説明においては１から連番とする。
【００３５】
次に、伝送パケット生成部１０は、生成した分割前伝送パケットを、伝送パケット記憶部１５に記憶する（Ｓ１０５）。
【００３６】
次に、伝送パケット分割部１１は、伝送パケット生成部１０にて生成した、分割前伝送パケットをＭＴＵ以下のパケットに分割する（Ｓ１０６）。分割するサイズは、伝送パケット生成部１０が分割前伝送パケットを出力するときに指示する方法や、あらかじめ設定しておく方法がある。伝送パケット分割部１１の動作について、図７、図８を用いて具体的に説明する。
【００３７】
図７は、伝送パケット分割部１１における分割の方法を示している。伝送パケット分割部１１は伝送パケット生成部１０から出力された分割前伝送パケット４のペイロード４２を分割し、分割したペイロード４０２にヘッダ４１の識別子を変更したヘッダ４０１をコピーし、分割後伝送パケット４０−１乃至ｎを生成する。このとき、伝送パケット分割部１１は分割前伝送パケット４のヘッダ４１の識別子と、分割後伝送パケット４０−１乃至ｎのヘッダ４０１の識別子の対応関係を記憶する。
【００３８】
さらに、図８を用いて、具体的に、ヘッダに付与する識別子である、シーケンス番号の付与方法について説明を行う。１００１は、伝送パケット生成部１０で生成した分割前伝送パケットである。１００２は、伝送パケット分割部１１で分割した分割後伝送パケットである。各パケットの先頭部分に記載した数字はＲＴＰパケットのシーケンス番号を示す。
【００３９】
図８では、シーケンス番号１の分割前伝送パケットをシーケンス番号１〜４８の分割後伝送パケットに、シーケンス番号２の分割前伝送パケットをシーケンス番号４９〜９６の分割後伝送パケットに変換している。すなわち、分割前伝送パケットのシーケンス番号をｘとすると、分割後伝送パケットのシーケンス番号ｙは次の式２で表わされる。
【００４０】
ｙ＝４８×（ｘ−１）＋ｎ（ｎ＝１〜４８）・・・・・（式２）
【００４１】
分割後伝送パケットのシーケンス番号ｙに対応する分割前伝送パケットｘのシーケンス番号は次の式３で表わされる。
【００４２】
ｘ＝ＲＯＵＮＤＵＰ（ｙ／４８）・・・・（式３）
【００４３】
分割前伝送パケットｘは、ｙ／４８の小数部分を切り上げた値である。例えば、シーケンス番号３の分割前伝送パケットは、シーケンス番号９７から１４４の分割後伝送パケットになり、シーケンス番号２００の分割後伝送パケットの分割前伝送パケットのシーケンス番号は５である。
【００４４】
次に、伝送パケット分割部１１は、生成した分割後伝送パケットを分割パケット記憶部１６に記憶する（Ｓ１０７）。ここで、分割パケット記憶部１６の容量が不足する場合には、記憶後の経過時間が長いものから順に削除し、記憶領域を確保する。
【００４５】
次に、パケット送信部１７は、伝送パケット分割部１１から取得したパケットを伝送可能な信号に変換してネットワークに送出する（Ｓ１０８）。
【００４６】
次に、図９を用いて、本発明の実施の形態１にかかる、受信装置から再送要求信号を受信したときの通信装置の処理の流れにつき説明を行う。以下の例においては、分割パケット記憶部１６は、シーケンス番号４８１から５２８の分割後伝送パケットが記憶されているとする。さらに、伝送パケット記憶部１５には、受信装置２に配信した分割後伝送パケットに対応する分割前伝送パケットが、全て記憶されているとする。通信装置１は、受信装置２から再送要求信号を受信する（Ｓ２０１）。具体的には、分割後伝送パケットの識別子を含む再送要求信号を受信する。受信装置２からの再送要求は、ＲＴＳＰ、ＲＴＣＰ（ＲＴｐ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）等のプロトコルを用いて行われる。
【００４７】
次に、再送元決定部１２０は、分割パケット記憶部１６から、記憶している分割後伝送パケットの識別子を取得し、再送要求信号に含まれる分割後伝送パケットの識別子が記憶されているかどうかを判定する（Ｓ２０２）。再送要求信号に含まれる分割後伝送パケットの識別子が、分割パケット記憶部１６に記憶されている場合には、パケット送信部１７に対して、分割パケット記憶部１６に記憶されている分割後伝送パケットの再送を指示する。具体的には、受信装置２からシーケンス番号５００を含む再送要求信号を受信した場合に、再送要求処理部１２の再送元決定部１２０は、分割パケット記憶部１６から、分割パケット記憶部１６が記憶している識別子を取得する。分割パケット記憶部１６には、シーケンス番号５００の分割後伝送パケットが記憶されているため、再送要求処理部１９は、パケット送信部１７にシーケンス番号５００の分割後伝送パケットの再送を指示する。
【００４８】
次に、パケット送信部１７は、分割パケット記憶部１６から該当するパケットを取り出して再送する（Ｓ２０３）。
【００４９】
次に、分割パケット記憶部１６に、再送要求信号に含まれる分割後伝送パケットの識別子が記憶されていない場合、要求内容決定部１２１は、識別子記憶部１２２に、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在するか否かを判定する（Ｓ２０４）。具体的には、受信装置２から、シーケンス番号４００を含む再送要求信号を受信した場合、シーケンス番号４００の分割後伝送パケットは、分割パケット記憶部１６に記憶されていないため、識別子記憶部１２２に対して、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在するか否かを判定する。
【００５０】
次に、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在しない場合、要求内容決定部１２１は伝送パケット分割部１１から再送要求のあった識別子に対応する分割前識別子と、その分割前識別子に対応する分割後識別子の一覧を取得し（Ｓ２０５）、タイマを設定する（Ｓ２０６）。具体的には、伝送パケット分割部１１は、式２、式３の計算式から、分割前伝送パケットのシーケンス番号と、そのシーケンス番号に対応する分割後伝送パケットのシーケンス番号を要求内容決定部１２１に出力する。上述した例において、シーケンス番号４００の識別子を有するパケットについて、再送要求があった場合に、伝送パケット分割部１１は、分割前伝送パケットのシーケンス番号９と、シーケンス番号９の分割前伝送パケットに対応する分割パケットのシーケンス番号３８５乃至４３２を、要求内容決定部１２１に出力する。また、タイマは再送までに許容される遅延時間に応じて設定するものであり、受信装置２ごとに異なる値を設定してもよい。
【００５１】
次に、識別子記憶部１２２の再送要求受信識別子フィールドに受信した再送要求のあったパケットの識別子を追加する（Ｓ２０７）。具体的には、再送要求のあったパケットの識別子を分割後識別子フィールドに含むエントリが存在しなかった場合は、上述の例に従い、視聴ＩＤが１９２．１６８．１．１：１０００（受信装置２のＩＰアドレスとポート番号）、分割前伝送パケット識別子が９、分割パケット識別子が３８５乃至４３２、再送要求受信識別子が４００、タイマ満了時刻１１００（時刻１０００に再送要求信号を取得した場合であり、取得した時刻に１００のタイマを加算した値）のエントリを生成する。生成されたエントリの結果を図１０に示す。
【００５２】
再送要求のあったパケットの識別子を分割パケット識別子フィールドに含むエントリが存在していた場合は、再送要求のあったパケットの識別子を、再送要求受信識別子フィールドに追加を行う（Ｓ２０７）。
【００５３】
ここで、異なる時刻１０１０にシーケンス番号４２０と３５０を含む再送要求信号を受信した場合の例を示す。図１０の識別子記憶部１２２が保持する情報テーブルには、分割後識別子フィールドにシーケンス番号４２０の識別子を含むエントリが存在するため、シーケンス番号４２０を、再送要求受信識別子フィールドに、追加を行う。シーケンス番号３５０は該当するエントリが存在しないため、エントリを作成する。その結果、情報テーブルは、図１１のように示される。
【００５４】
次に、再送要求受信識別子フィールドの識別子が指定数以上であるか否かを判定する（２０８）。以下の例では、指定数を３とした場合の具体例について説明する。例えば、シーケンス番号４２５の再送要求を受信した場合に、シーケンス番号４２５は、図１１の分割前伝送パケット識別子９のエントリに該当するため、再送要求受信識別子フィールドにシーケンス番号４２５を追加する。ここで、このエントリの再送要求受信識別子の数が、指定数３となったため、要求内容決定部１２１から、送信指示部１３に対して、シーケンス番号９の分割前伝送パケットを、伝送パケット分割部１１に再送するよう通知する（Ｓ２０９）。
【００５５】
分割前伝送パケット識別子８のように、再送要求受信識別子の数が３未満である場合には、送信指示部１３への再送指示を、タイマ時刻満了までは行わない。
【００５６】
次に、図１２を用いて、再送要求受信識別子フィールドに識別子が指定数に達した場合の再送動作の処理の流れにつき説明を行う。送信指示部１３は、伝送パケット生成部１０に対して、分割前伝送パケットの識別子を指定して、再送を指示する（Ｓ３０１）。具体的には、上述の例においては、分割前伝送パケット識別子９の再送を指示する。
【００５７】
次に、伝送パケット生成部１０は、分割前識別子９の分割前伝送パケットを伝送パケット記憶部１５から取り出して、伝送パケット分割部１１に出力する（Ｓ３０２）。
【００５８】
次に、伝送パケット分割部１１は、記憶している分割前伝送パケットの識別子と分割後伝送パケットの識別子の対応関係の情報をもとに、分割したパケットに、一度目の送信時の分割後伝送パケットと同一の識別子を設定する。具体的には、分割前伝送パケットのシーケンス番号９に対応する分割後伝送パケットのシーケンス番号３８５から４３２の分割パケットを生成する（Ｓ３０３）。
【００５９】
次に、伝送パケット分割部１１は、再送要求処理部１２の識別子記憶部１２２から、再送要求受信識別子フィールドに記憶された識別子を取得する（Ｓ３０４）。具体的には、シーケンス番号４００と、４２０と、４２５の情報を取得する。
【００６０】
次に、パケット送信部１７は、伝送パケット分割部１１において生成され、再送要求されているシーケンス番号４００と、４２０と、４２５のパケットを再送する（Ｓ３０５）。
【００６１】
次に、再送が完了した後に、伝送パケット分割部１１は、再送要求処理部１２に対して、再送が完了したエントリを削除するよう通知を行う（Ｓ３０６）。ここで、伝送パケット分割部１１で分割したパケットを、分割パケット記憶部１６に記憶してもよい。これにより、再々送時の負荷を軽減できる。
【００６２】
次に、図１３を用いて、識別子記憶部１２２の保持するエントリのタイマ満了時の処理の流れにつき説明を行う。要求内容決定部１２１は、識別子記憶部１２２のエントリのタイマ満了を検出する（Ｓ４０１）。
【００６３】
次に、要求内容決定部１２１は、分割前識別子、分割後識別子、再送要求受信識別子を指定して、送信指示部１３に再送を指示する（Ｓ４０２）。具体的には、図１４における、シーケンス番号８の分割前伝送パケットをシーケンス番号３３７乃至３８４に分割したうちの３５０を再送するように指示する。
【００６４】
次に、識別子記憶部１２２から、当該エントリを削除する（Ｓ４０３）。これにより、識別子記憶部１２２にエントリされている情報はなくなる。
【００６５】
次に、送信指示部１３は、再送指示を伝送パケット生成部１０に出力し、伝送パケット生成部１０は、伝送パケット記憶部１５から、分割前伝送パケットを取り出す（Ｓ４０４）。具体的には、シーケンス番号８の分割前伝送パケットを取得する。
【００６６】
次に、伝送パケット生成部１０は、シーケンス番号３５０の分割パケットを生成する（Ｓ４０５）。ここで、分割パケットの生成方法を、図１５を参照して説明する。シーケンス番号８の分割前伝送パケットのペイロードは、式２より、シーケンス番号３３７から始まる分割後伝送パケットに分割される。伝送パケット分割部１１で先頭の１３１６バイト（１８８×７）がシーケンス番号３３７であり、１３１７バイト目から２６３２バイト目までがシーケンス番号３３８の分割後ＲＴＰパケットのペイロードという順で分割される。そのため、分割後ＲＴＰパケットのシーケンス番号の先頭３３７と再送する必要のある分割後伝送パケットのシーケンス番号３５０から、分割前伝送パケットのペイロードのどの位置を再送すればよいのかを判定できる。具体的には、ペイロードの１７１０９バイト目がシーケンス番号３５０の分割後伝送パケットの先頭となる。
【００６７】
次に、伝送パケット生成部１０で生成した分割後伝送パケットはパケット送信部１７から再送する（Ｓ４０６）。
【００６８】
以上説明したように、本発明の実施の形態１にかかる通信装置を用いることにより、以下の効果を生じる。受信装置から要求される再送パケットの数が少ない場合には、通信装置のＣＰＵにより実行される伝送パケット生成部１０において、分割後伝送パケットである再送パケットを生成する。これにより、通信装置のＣＰＵにおいて、すべての再送パケットを生成する場合と比較して、通信装置のＣＰＵにおける再送パケット生成の負荷を、軽減することができる。さらに、通信装置のＣＰＵからネットワークカードへ、分割前伝送パケットを送信しないことから、通信装置のＣＰＵと、ネットワークカードを接続するバスの無駄な使用を回避することができる。
【００６９】
また、受信装置から要求される再送パケットの数が多い場合には、伝送パケット生成部１０より、分割前伝送パケットを伝送パケット分割部１１に出力し、伝送パケット分割部１１において、再送パケットを生成する。これにより、通信装置のＣＰＵから、ネットワークカードへの分割前伝送パケットの出力において、複数の再送パケットを生成する際にも、１回のみ分割前伝送パケットを出力すればよい。これより、通信装置のＣＰＵからネットワークカードへ、再送パケットの数に応じた回数の分割前伝送パケットの出力を行う場合に比べて、データ転送処理回数を減少させることが可能であり、通信装置のＣＰＵからネットワークカードへのデータ転送時の負荷を軽減することができる。さらには、通信装置のＣＰＵが再送パケットの生成を行う必要はないため、通信装置のＣＰＵの処理負荷を軽減させることができる。
【００７０】
また、ネットワークカードにおいて、分割パケット記憶部１６を有することにより、再送パケットの生成回数を抑制できるため、再送パケット生成に伴う通信装置のＣＰＵ負荷もしくはネットワークカードの処理負荷を軽減することができる。
【００７１】
（実施の形態２）
本発明の実施の形態２においては、通信装置１は、分割パケット記憶部１６を有しない構成をとる。この構成に伴い、分割前伝送パケットを分割後に、分割後伝送パケットを、記憶する処理を行わないこととなる。
【００７２】
これにより、メモリ容量の少ないネットワークカードにおいて、メモリ容量を削減することが可能となる。
【００７３】
以上の説明は、本発明の実施の形態を説明するものであり、本発明が以上の実施の形態に限定されるものではない。また、当業者であれば、以上の実施の形態の各要素を本発明の範囲において容易に変更、追加、変換することが可能である。
【符号の説明】
【００７４】
１    通信装置
２    受信装置
３    ネットワーク
１０  伝送パケット生成部
１１  伝送パケット分割部
１２  再送要求処理部
１３  送信指示部
１４  コンテンツ記憶部
１５  伝送パケット記憶部
１６  分割パケット記憶部
１７  パケット送信部
【図１】
2010206669.tif 000003
【図２】
2010206669.tif 000004
【図３】
2010206669.tif 000005
【図４】
2010206669.tif 000006
【図５】
2010206669.tif 000007
【図６】
2010206669.tif 000008
【図７】
2010206669.tif 000009
【図８】
2010206669.tif 000010
【図９】
2010206669.tif 000011
【図１０】
2010206669.tif 000012
【図１１】
2010206669.tif 000013
【図１２】
2010206669.tif 000014
【図１３】
2010206669.tif 000015
【図１４】
2010206669.tif 000016
【図１５】
2010206669.tif 000017