JP2006013911A - ストリームデータ転送方法、装置、プログラム、および記録媒体 - Google Patents

ストリームデータ転送方法、装置、プログラム、および記録媒体 Download PDF

Info

Publication number
JP2006013911A
JP2006013911A JP2004188402A JP2004188402A JP2006013911A JP 2006013911 A JP2006013911 A JP 2006013911A JP 2004188402 A JP2004188402 A JP 2004188402A JP 2004188402 A JP2004188402 A JP 2004188402A JP 2006013911 A JP2006013911 A JP 2006013911A
Authority
JP
Japan
Prior art keywords
packet
stream
client
retransmission
fragment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004188402A
Other languages
English (en)
Inventor
Takashi Ikeda
高志 池田
Maki Tanigawa
真樹 谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004188402A priority Critical patent/JP2006013911A/ja
Publication of JP2006013911A publication Critical patent/JP2006013911A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 インターネット上で大規模なストリーム配信を行う状況で、高速、かつ効率的にパケットの再送を行う。
【解決手段】 ストリーム配信サーバ100は、ストリームプロトコル処理部111にて生成したストリームパケットSaのコピーをそのUDPヘッダ情報Haと共に再送用バッファ115に格納してから、パケットSaにUDP処理部112にてUDPヘッダを付与し、UDPパケットUaは、IP処理部113にて、IPフラグメントされ、IPパケットIaはIa1、Ia2、Is3に分割されクライアント200へ送信される。クライアント200は、届いたIPパケットIa1が分割されたIPパケットであることを判断し、該パケットの情報をリストに書き込み、IP処理部220へ渡す。同様に、IPパケットIa3の情報もリストに書き込む。IPパケットIa2が欠落したと判断し、再送要求をストリーム配信サーバ100に送信する。
【選択図】 図3

Description

本発明は音声、映像を含むストリーム配信において、大規模・高速な放送サービスを実現するストリームデータ配信装置に関する。
従来、インターネット上でのストリーム配信を行う場合、一般的には、ストリームコンテンツの要求および設定を行うストリーム設定プロトコル、設定に基づいて、ストリームコンテンツを配信するストリーム配信プロトコル、および、配信中のストリームコンテンツパケットの配信状況や配信品質の通知、サーバ−クライアント間の接続性状態の通知を行うストリーム制御プロトコルが用いられる。IETF(Internet Engineering Task Force)で規定されるプロトコルとしては、RTSP(Real Time Streaming Protocol:非特許文献1参照)、RTP(Real−time Transport Protocol:非特許文献2参照)、および、RTCP(RTP Control Protocol:非特許文献2参照)があげられる。また、これら以外のストリームプロトコルを用いてストリーム配信を行う際にも、上記機能を持ったストリームプロトコルが利用されている。例として、Microsoft社のMMSプロトコル、Real Network社のRDT、PNAプロトコルなどがあげられる。
いずれのストリームプロトコルにおいても、クライアントまでのネットワーク等でパケットが廃棄した際に、該パケットを再度サーバから送信させることで、欠落したパケットを回復させる、再送と呼ばれるメカニズムを有することが一般的である。この再送のメカニズムを説明する。クライアントが、ストリーム配信サーバからストリームパケット受信中に、あるパケットが、中継ネットワークでの廃棄などの原因により欠落した場合、クライアントは該パケットを受信できなかったことを認識し、ストリーム配信サーバに対して該パケットの再送を要求する再送要求メッセージを送信する。ストリーム配信サーバでは、該メッセージを受信して、内容を解析して、クライアントに対して、要求されたパケットを再送信する。
一般的に、ストリームデータはIPパケット上にUDPパケット、またはTCPパケットを載せ、該UDPパケットまたはTCPパケットのペイロードにストリームプロトコルを載せ(例えばRTPプロトコル)、その上に音声や映像データをエンコードした符号データを載せて転送している。各プロトコル処理部では、レイヤ毎に処理内容が規定されており、レイヤ毎にヘッダ上のプロトコル情報を読み出し、プロトコルデータ正常性チェック処理、状態変数の遷移処理、加減/減算など、全ての規定処理後、次のレイヤに係る処理を順じ進める形で行われる。
再送に関する処理は、トランスポートプロトコルにTCP(Transmission Control Protocol:非特許文献3参照)を用いる場合、TCP処理部にて行われ、次のレイヤのストリームプロトコル処理部では行われない。一方、UDPを用いる場合、UDP処理部では再送に関する処理は行われず、次のレイヤのストリームプロトコル処理部にて行われる。
IETF、RFC2326 IETF、RFC1889 IETF、RFC793
TCPの場合、サーバがクライアントへ複数個のパケットを送信した後、クライアントから該パケットが届いたことを示す確認応答が送られてくるのを待ち、次のパケットを送信する。一方、UDPの場合、サーバはクライアントからの応答を待つことなく、パケットをクライアントへ送りつづける。また、TCPの場合、UDPには無い、コネクション確立処理、フロー制御処理、輻輳制御処理を行う。そのため、大規模なストリーム配信を行う場合、転送サーバにかかる負荷が軽く、高速にストリームパケットを送信することができるUDPを用いる方が効率的である。
ところで、ストリームパケットを載せるUDPパケットの長さは一般的に様々である。物理層では一度に転送することのできるデータの最大の長さ(MTU:Maximum Transmission Unit)が規定されている(例えばEthernet(登録商標)は1500bytes)ため、IP処理部にてIPフラグメントと呼ばれるメカニズムが働く。このIPフラグメントと呼ばれるメカニズムについて説明する。UDPパケットをIPパケットのペイロードに載せた後、該IPパケットの長さがMTUを超過している場合、IP処理部にて、該IPパケットを、長さがMTU以下の複数のIPパケットに分割して送信する。受信元に届くまでに通るルータのIP処理部において、分割されたIPパケットの長さが転送先の物理層のMTUを超過している場合は、さらに分割して転送し、受信元に届けられる。受信元のIP処理部では、送信元から届いた複数のIPパケットを一つのIPパケットに再構築する。分割されたIPパケットが全て届いた場合は、次のレイヤの処理を行うが、中継ネットワークでの廃棄などの原因により、分割されたIPパケットのうち一つでも届かないIPパケットがある場合には、再構築できないため、分割されたIPパケット全てを廃棄する。
前述したように、トランスポートプロトコルにUDPを用いるストリーム配信において、パケットの再送はストリームプロトコル処理部にて行われるため、再送されるパケットは、ストリームパケット、またはUDPパケット単位となる。
図5は、この時のフローの一例を示す図である。ストリーム配信サーバは、ストリームプロトコル処理部にて生成したストリームパケットSaに、UDP処理部にてUDPヘッダを付与し、該UDPパケットUaをIP処理部に渡した後、IP処理部にて、IPフラグメントされ、IPパケットIaはIa1、Ia2、Ia3に分割されクライアントへ送信する。クライアントは、IP処理部にて、届いたIPパケットIa1が分割されたIPパケットであることを判断しバッファに格納する。同様に、IPパケットIa3もバッファに格納する。IPパケットIa2が中継ネットワークでの廃棄などの原因により欠落した場合、IPパケットIa2はクライアントへ届かず、IPパケットIaを再構築することができない。クライアントのIP処理部は、IPパケットIa1が到着してからのある時間内に分割されたパケットが全て届かない場合、IPパケットIaを再構築できないと判断し、バッファに格納されているIaに関するパケット全て(Ia1、Ia3)を廃棄する。Ia以降でクライアントのIP処理部に問題なく届いたIPパケットIb1、Ib2、Ib3をIP処理部、UDP処理部で順次処理し、ストリームパケットSbとしてストリームプロトコル処理部に渡され、ストリームプロトコル処理部にて、ストリームパケットSaが欠落したと判断し、再送要求をストリーム配信サーバに送信する。ストリーム配信サーバで、クライアントから送信された再送要求を、ストリームプロトコル処理部にて処理し、ストリームパケットSaを再度クライアントへ送信する。
上述したように、従来の技術では、IPフラグメントにより分割された複数のIPパケットがほとんどクライアントに届いた場合でも、分割された複数のIPパケットのうち一つでも届かないと、クライアントに届いている分割されたIPパケットを全て廃棄し、ストリーム配信サーバは、欠落した分割されたIPパケット分だけでなく、クライアントに届いていた分割されたIPパケットも含むIPパケット(分割される前のIPパケット)を再送するため、ネットワーク帯域を必要以上に多く使用することになり、ストリーム配信サーバの配信性能が制限される問題があった。また、再送判断、再送処理をストリームプロトコル処理部にて行っているため、欠落したストリームパケットの後にストリームパケットが届くまで再送判断ができず、再送処理はUDP処理とIP処理を伴うため、再送されるまでの時間が必要以上にかかっていたという問題があった。
本発明の目的は、インターネット上で大規模なストリーム配信を行う状況で、効率的に、かつ高速にパケットの再送を行うことができるストリーム転送方法、装置、プログラム、および記録媒体を提供することにある。
ストリーム配信サーバが、ストリームパケット処理部にて処理したストリームパケットを、該ストリームパケットのIP/UDPヘッダ情報と共に再送用バッファに格納し、さらに、IP処理部にて処理したIPパケットをクライアントに送信する前に、該パケットの識別子を該パケットに関連付けて格納する。ストリーム配信サーバは、クライアントから送られたIPパケットをIP処理部へ渡す前に、該IPパケットがIPパケット再送要求メッセージであるかどうかを判別し、再送要求メッセージである場合、該パケットをIP処理部へは渡さず、IPパケット再送要求メッセージを解析し、要求されたストリームパケットと必要に応じて該ストリームパケットのUDPヘッダ情報を再送用バッファから読み出し、該パケットと該UDPヘッダ情報から、要求された再送パケットを生成し、クライアントへ送信する。
また、クライアントが、ストリーム配信サーバから送られたIPパケットをIP処理部へ渡す前に、IPフラグメントされたパケットであるかどうか判別し、IPフラグメントされたパケットである場合、該パケットの情報をフラグメントパケットリストへ書き込んでから、該パケットをIP処理部へ渡す。クライアントは、フラグメントパケットリストを監視し、フラグメントパケットの欠落を検知した場合、欠落パケットの再送を要求するIPパケット再送要求メッセージをストリーム配信サーバへ送信する。
なお、クライアントが、フラグメントパケットリストを監視し、フラグメントパケットを一つも欠落なく全て受け取った場合、該パケットの情報を全てフラグメントパケットリストから削除することもできる。
また、本発明のストリーム配信サーバは、ストリームパケット処理部にて処理したストリームパケットを該ストリームパケットのIP/UDPヘッダ情報と共に再送用バッファに格納する手段と、IP処理部にて処理したIPパケットをクライアントに送信する前に、該パケットの識別子を抽出する手段と、該識別子を当該パケットに関連付けてバッファに格納する手段と、クライアントから送られたIPパケットを受信する手段と、該パケットがIPパケット再送要求メッセージであるかどうか判別する手段と、再送要求メッセージである場合、該パケットをIP処理部へは渡さず、IPパケット再送要求メッセージを解析する手段と、要求されたストリームパケットと、必要に応じて該ストリームパケットのUDPヘッダ情報を再送用バッファから読み出す手段と、該パケットと該UDPヘッダ情報から要求された再送パケットを生成する手段と、生成された再送パケットをクライアントへ送信する手段を有する。
また、本発明のクライアントは、ストリーム配信サーバから送られたIPパケットを受信し、該パケットをIP処理部へ渡す前に、IPフラグメントされたパケットであるかどうか判別する手段と、該パケットがIPフラグメントされたパケットである場合、該パケットの情報をフラグメントパケットリストへ書き込む手段と、書き込んだ後に該パケットをIP処理部へ渡す手段と、フラグメントパケットリストを監視し、フラグメントパケットの欠落があるかどうかを調べる手段と、フラグメントパケットの欠陥が検出されると、欠落パケットの再送を要求するIPパケット再送要求メッセージを生成する手段と、該IPパケット再送要求メッセージをストリーム配信サーバへ送信する手段を有する。
なお、本発明のクライアントは、フラグメントパケットの欠落が検知されなかった場合、該パケットの情報を全てフラグメントパケットリストから削除する手段を有することもできる。
本発明により、ストリームパケットの送信元のサーバと、ストリームパケットの送信先のクライアント間において、IPフラグメントにより分割された複数のIPパケットのうち、欠落したIPパケットのみを再送することができ、再送による余分な帯域の使用を防ぐことが可能となる。また、ストリームパケットの欠落の判断、再送処理を、IPパケットプロトコル処理する前に実行することができるため、効率的、高速に再送を行うことが可能となる。また、再送用バッファをOSレイヤでなくアプリケーションレイヤにて持つことで容量の少ないOSレイヤのメモリを使用せずに済む。これは、インターネット上で大規模なストリーム配信を行う状況で、特に、配信レートの高いコンテンツを配信する場合、同時に多くのクライアントが接続するライブ配信において有効である。
本発明によれば、IPフラグメントやパケットの欠落が起こりやすいインターネット上で大規模なストリーム配信を行う状況で、効率的に、高速にパケットの再送を行うことが可能となる。
次に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明におけるストリーム配信サーバのブロック構成図である。
図1に示すように、ストリーム配信サーバ100は、ストリームプロトコル処理部111、UDP処理部112、IP処理部113、バッファ書き込み部114、再送用バッファ115、送信部116、受信部117、再送要求判別部118、再送要求解析部119、バッファ読み出し部120、再送パケット生成部121、識別子読み取り部122から構成され、送信部116、受信部117を通して、クライアント200とストリームパケットを送受信する。
ストリームプロトコル処理部111は、ストリームプロトコル(例えば、RTP)に音声や映像データをエンコードした符号データを載せたストリームパケットをUDP処理部112へ渡す。この時、ストリームプロトコル処理部111は、該ストリームパケット、および該ストリームパケットのIP/UDPヘッダ情報をバッファ書き込み部114へ渡す。本実施形態においては、ストリームプロトコル処理部111が渡すIP/UDPヘッダ情報は、パケットの送信先IPアドレス、送信先ポート、送信元ポートとする。
ストリームパケットが渡されたUDP処理部112は、UDPヘッダを付与したUDPパケットを、IPプロトコルを処理するIP処理部113へ渡し、IP処理部113にてIPヘッダが付与されたIPパケットを送信部116へ渡す前に、識別子読み取り部122にて該パケットの識別子を読み取り、該識別子をバッファ書き込み部114へ渡し、パケットを送信部116を通してクライアント200へ送信する。
バッファ書き込み部114は、渡された識別子を再送用バッファ115の中で該当するパケットのIP/UDPヘッダ情報に加える。本実施形態においては、識別子は、IPヘッダのIdentificationフィールドの値とし、再送用バッファ115へのIP/UDPヘッダ情報とストリームパケットの格納方法とその格納例を図4に示す。また、本実施形態においては、バッファ書き込み部114が識別子を格納する際、再送用バッファ115から、IP/UDPヘッダ情報の識別子フィールドの値がまだ入力されていない箇所を、格納された順番で検索し、検索された時に、その一つ前のIP/UDPヘッダ情報の識別子フィールドの値と、識別子読み取り部122から渡された識別子を比較し、両者が等しい場合には識別子を再送用バッファ115に書き込まずに廃棄する。両者が異なる場合には、次のIP/UDPヘッダ情報の識別子フィールドに、識別子読み取り部122から渡された識別子を書き込む。
受信部117は、クライアント200からIPパケットを受信し、再送要求判別部118へ渡す。
再送要求判別部118は、該IPパケットがIPパケット再送要求メッセージであるかどうか判別し、IPパケット再送要求メッセージである場合には、再送要求解析部119へ、IPパケット再送要求メッセージ以外である場合には、IP処理部113へ該パケットを渡す。本実施形態においては、IPパケット再送要求メッセージであるかどうかの判別判断に、IPヘッダのProtocolフィールドを用い、Protocolフィールドの値が200の場合に再送要求メッセージと判断し、200以外の場合にはIPパケット再送要求メッセージ以外のパケットと判断する。また、本実施形態においては、IPパケット再送要求メッセージの構成は表1に示す通りとし、要求識別子は再送を要求するIPパケットの識別子で、要求始点と要求終点は再送を要求するIPパケットのデータでそれぞれ元のIPデータの開始位置と終了位置とする。
Figure 2006013911
再送要求解析部119は、再送要求判別部118から受け取ったパケットから、送信元IPアドレス、要求識別子、要求始点、要求終点を取り出し、バッファ読み出し部120へ渡す。バッファ読み出し部120は、送信元IPアドレス、要求識別子、要求始点、要求終点から、再送を要求するストリームパケットおよび該ストリームパケットのIP/UDPヘッダ情報を再送用バッファ115から読み出し、再送パケット生成部121へ渡す。本実施形態においては、再送要求解析部119から渡された送信元IPアドレスと要求識別子がそれぞれ再送用バッファ115の識別子フィールドと送信先IPアドレスフィールドの値と一致した際のIP/UDPヘッダ情報が要求されたIP/UDPヘッダ情報、該ストリームパケットの(要求始点+1)×8オクテット目から(要求終点+1)×8−1オクテット目までが再送を要求されたストリームパケットとする。
再送パケット生成部121は、バッファ読み出し部120で読み出したストリームパケットにUDPヘッダ、IPヘッダをIP/UDPヘッダ情報に従い付与し、送信部116を通してクライアント200へ送信する。
図2は、クライアントのブロック構成図である。
図2に示すように、クライアント200は、受信部211、フラグメントパケット判別部212、リスト書き込み部213、フラグメントパケットリスト214、リスト監視部215、再送要求部216、送信部217、リスト削除部218、IP処理部219、UDP処理部220、ストリームプロトコル処理部221から構成され、送信部217、受信部211を通して、ストリーム配信サーバ100とストリームパケットを送受信する。
フラグメントパケット判別部212は、ストリーム配信サーバ100から受信部211を通してIPパケットを受け取り、該パケットがIPフラグメントにより分割されたパケットかどうか判別し、分割されたパケットである場合には、リスト書き込み部213へ、分割されたパケットでない場合には、IP処理部219へ該パケットを渡す。本実施形態においては、分割されたパケットであるかどうかの判別判断に、IPヘッダのFlagsフィールドとFlagment Offsetフィールドを用い、Flagsフィールドの3ビット目の値(More Fragment)が1である場合、またはFlagment Offsetフィールドの値が0以外である場合に分割されたパケットであると判断し、それ以外の場合を分割されたパケットでないと判断する。
リスト書き込み部213は、フラグメントパケット判別部212から受け取ったIPパケットのフラグメントパケット情報をフラグメントパケットリスト214に書き込み、該パケットをIP処理部219へ渡す。本実施形態においては、フラグメントパケット情報は表2に示す通りとし、開始位置、終了位置、フラグは、それぞれIPヘッダのFlagment Offsetフィールドの値、Flagment Offsetフィールドの値+Total Lengthフィールドの値−Internet Header Lengthフィールドの値、Flagsフィールドの3ビット目の値(More Fragment)とし、フラグメントパケットリスト214は表3に示す通りとし、識別子、送信元IPアドレスは、それぞれIPヘッダのIdentificationフィールドの値、Source IP Addressフィールドの値とする。
Figure 2006013911
Figure 2006013911
また、本実施形態においては、リスト書き込み部213が、フラグメントパケット判別部212から受け取ったIPパケットのフラグメントパケット情報をフラグメントパケットリスト214に書き込む方法は次の(1)から(3)を順に行う。
(1) 識別子、送信元IPアドレスがそれぞれIPヘッダのIdentificationフィールドの値、Source IP Addressフィールドの値と同じフラグメントパケットリストを検索し、もし無い場合には、識別子、送信元IPアドレスをそれぞれIPヘッダのIdentificationフィールドの値、Source IP Addressフィールドの値とするフラグメントパケットリストを新たに作成する。
(2) 開始位置、終了位置、フラグをIPヘッダのFlagment Offsetフィールドの値、Flagment Offsetフィールドの値+Total Lengthフィールドの値−Internet Header Lengthフィールドの値、Flagsフィールドの3ビット目の値(More Fragment)とするフラグメントパケット情報を作成する。
(3) (2)で作成したフラグメントパケット情報を(1)で検索または作成したフラグメントパケットリストに追加する。この時、既に別のフラグメントパケット情報が存在する場合には、フラグメントパケット情報の開始位置が昇順となるように追加する。
リスト監視部215は、フラグメントパケットリスト214を監視し、IPフラグメントにより分割されたパケットの欠落を検知した際に、該フラグメントパケットリストのコピーを再送要求部216へ渡す。本実施形態においては、最初のフラグメントパケット情報の開始位置が0でない場合、フラグメントパケット情報の終了位置と次のフラグメントパケット情報の開始位置が等しくない場合に、IPフラグメントにより分割されたパケットの欠落があると判断する。
再送要求部216は、リスト監視部215から受け取ったフラグメントパケットリストよりIPパケット再送要求メッセージを生成する。本実施形態においては、前述した通り、IPパケット再送要求メッセージの構成は表1に示す通りであり、最初のフラグメントパケット情報の開始位置が0でない場合は、要求始点と要求終点は、それぞれ0と最初のフラグメントパケット情報の開始位置とし、フラグメントパケット情報の終了位置と次のフラグメントパケット情報の開始位置が等しくない場合は、要求始点と要求終点は、それぞれフラグメントパケット情報の終了位置と次のフラグメントパケット情報の開始位置とする。また、再送識別子にはフラグメントパケットリストの識別子とし、Destination IP Addressフィールドの値、Protocolフィールドの値をそれぞれフラグメントパケットリストの送信元IPアドレス、200とするIPヘッダを付与する。再送要求部216で生成されたIPパケット再送要求メッセージは送信部217を通してストリーム配信サーバ100へ送信される。
リスト監視部215は、フラグメントパケットリスト214を監視し、IPフラグメントにより分割されたパケットを全て受け取ったことを検知した際に、フラグメントパケットリスト214のコピーをリスト削除部218へ渡す。本実施形態においては、最初のフラグメントパケット情報の開始位置が0で、かつ、フラグメントパケット情報の終了位置と次のフラグメントパケット情報の開始位置が等しく、かつ、最後のフラグメントパケット情報のフラグが0である場合に、IPフラグメントにより分割されたパケットを全て受け取ったと判断する。リスト削除部218は、リスト監視部215から受け取ったフラグメントパケットリストと同じフラグメントパケットリストを削除する。本実施形態においては、フラグメントパケットリストの識別子と送信元IPアドレスがどちらもに同じフラグメントパケットリストを削除する。
図3は本実施形態における再送時のフローの一例を示す図である。ストリーム配信サーバ100は、ストリームプロトコル処理部111にて生成されたストリームパケットSaのコピーを該ストリームパケットのUDPヘッダ情報Haと共に再送用バッファ115に格納してから、該パケットSaにUDP処理部112にてUDPヘッダを付与し、該UDPパケットUaがIP処理部113に渡された後、IP処理部113にて、IPフラグメントされ、IPパケットIaはIa1、Ia2、Is3に分割され、送信部116からクライアント200へ送信する。クライアント200は、本発明部(フラグメントパケット判別部212、リスト書き込み部213)にて、届いたIPパケットIa1が分割されたIPパケットであることを判断し、該パケットの情報をリストに書き込み、IP処理部220へ渡す。同様に、IPパケットIa3の情報もリストに書き込む。本発明部(リスト監視部215、再送要求部216)にて、IPパケットIa2が欠落したと判断し、再送要求をストリーム配信サーバ100に送信する。ストリーム配信サーバ100で、クライアント200から送信された再送要求を、IP処理部113へ渡さずに、本発明部(再送要求判別部118〜再送パケット生成部121)にて、ストリームプロトコル処理部111にある再送用バッファ115から、要求されたストリームパケットSa2を取り出し、要求されたIPパケットIa2相深部116よりを再度クライアント200へ送信する。
前記実施形態では、ストリーム配信サーバとクライアントで再送に関するやり取りをしているが、本発明に関わるストリーム配信サーバの機能と手段をストリーム中継サーバが具備し、ストリーム中継サーバとクライアントで再送に関するやり取りをする構成もあり得る。また、同様に、本発明に関わるクライアントの機能と手段をストリーム中継サーバが具備し、ストリーム配信サーバとストリーム中継サーバで再送に関するやり取りをする構成もあり得る。
また、前記実施形態では、ストリーム配信サーバは、本発明に関わるクライアントの機能と手段を具備していないが、本発明に関わるクライアントの機能と手段を、本発明に関わるストリーム配信サーバの機能と手段と共に具備する構成もあり得る。同様に、クライアントは、本発明に関わるストリーム配信サーバの機能と手段を具備していないが、本発明に関わるストリーム配信サーバの機能と手段を、本発明に関わるクライアントの機能と手段と共に具備する構成もあり得る。
また、前記実施形態では、IPパケット再送要求メッセージの判別のために、IPヘッダのProtocolフィールドを用いたが、代わりにIPヘッダのOptionフィールド、またはIPデータフィードを用いることもあり得る。
また、前記実施形態では、IPパケット再送要求メッセージの判別のために、IPヘッダのProtocolフィールドの値を200としたが、200以外の値にすることも当然あり得る。
また、前記実施形態では、IPパケット再送要求メッセージの構成は表1に示す通りとしたが、要求識別子、要求始点、要求終点が異なる順序である構成にすることもあり得る。
また、前記実施形態では、IPパケット再送要求メッセージの構成は表1に示す通りとしたが、要求終点の変わりに再送を要求するIPパケットのデータ長とする構成も当然あり得る。
また、前記実施形態では、再送パケット生成部121がIPヘッダの生成手段について、特に明記していないところ、従来からあるIP処理部にて行っているIPヘッダの生成手段を具備すればよい。
また、前記実施形態では、フラグメントパケットリスト214にてIPフラグメントにより分割された複数のパケットの受信状況を管理しているが、フラグメントパケットリスト214の代わりに、複数の分割されたパケットのコピーを格納するバッファで管理してもよい。
また、前記実施形態では、リスト監視部215にて、最初のフラグメントパケット情報の開始位置が0でない場合、フラグメントパケット情報の終了位置と次のフラグメントパケット情報の開始位置が等しくない場合に、IPフラグメントにより分割されたパケットの欠落があると判断しているが、必要に応じて他の条件であっても、他の条件を追加してもよい。
また、前記実施形態では、クライアントでの本発明の対象パケットの設定手段について、特に明記していないところ、システムに応じた設定手段を具備すればよい。
なお、ストリーム配信サーバ100、クライアント200の機能は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、CD−ROM等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの(伝送媒体もしくは伝送波)、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
本発明の一実施形態のストリーム配信サーバのブロック構成図である。 本発明の一実施形態のクライアントのブロック構成図である。 再送時の処理の流れを示す図である。 再送用バッファへのIP/UDPヘッダ情報とストリームパケットの格納方法とその格納例を示す図である。 従来技術における再送時の処理の流れを示す図である。
符号の説明
100 ストリーム配信サーバ
111 ストリームプロトコル処理部
112 UDP処理部
113 IP処理部
115 再送用バッファ
116 送信部
117 受信部
118 再送要求判別部
119 再送要求解析部
120 バッファ読み出し部
121 再送パケット生成部
200 クライアント
211 受信部
212 フラグメントパケット判別部
213 リスト書き込み部
214 フラグメントパケットリスト
215 リスト監視部
216 再送要求部
217 送信部
218 リスト削除部
219 IP処理部
220 UDP処理部
221 ストリームプロトコル処理部

Claims (8)

  1. ストリーム配信サーバから、ストリーム中継サーバを介して、クライアントにストリームパケットを送出するストリーム配信ネットワークにおいて、
    ストリーム配信サーバまたはストリーム中継サーバにて、
    ストリームプロトコル処理後のストリームパケットのコピーおよび該ストリームパケットのIP/UDPヘッダ情報をバッファに格納し、該パケットをIP処理後、該パケットの識別子を抽出し、該パケットの識別子としてバッファに格納し、
    クライアントから送られたIPパケット再送メッセージをIP処理せずに、クライアントから要求されたIPパケットを、ストリームパケットのコピーが格納されている再送用バッファから生成し、クライアントへ送信することを特徴とするストリーム転送方法。
  2. ストリーム配信サーバから、ストリーム中継サーバを介して、クライアントにストリームパケットを送出するストリーム配信ネットワークにおいて、
    クライアントにて、
    ストリーム配信サーバまたはストリーム中継サーバから送られたIPパケットを、IP処理する前に、IPフラグメントにより分割されたIPパケットであるかどうか判断し、分割されたIPパケットである場合、該パケットの情報をリストへ書き込んでから、IP処理し、
    前記リストを監視し、パケットの欠落を検知した場合、欠落したIPパケットの再送を要求するIPパケット再送要求メッセージを生成し、ストリーム配信サーバまたはストリーム中継サーバへ送信することを特徴とするストリーム転送方法。
  3. 前記リストを監視し、IPフラグメントにより分割された複数のIPパケットを全て受け取った場合、前記リストから該パケットの情報を削除する、請求項2に記載のストリーム転送方法。
  4. ストリームパケットを、ストリーム中継サーバを介して、クライアントに送出するストリーム転送装置において、
    ストリームパケット処理部にて処理したストリームパケットを該ストリームパケットのIP/UDPヘッダ情報と共に再送用バッファに格納する手段と、
    IP処理部にて処理したIPパケットをクライアントに送信する前に、該パケットの識別子を抽出する手段と、
    該識別子を該パケットに関連付けてバッファに格納する手段と、
    クライアントから送られたIPパケットを受信する手段と、
    該パケットがIPパケット再送要求メッセージであるかどうか判別する手段と、
    再送要求メッセージである場合、該パケットをIP処理部へは渡さず、IPパケット再送要求メッセージを解析する手段と、
    要求されたストリームパケットと、必要に応じて該ストリームパケットのUDPヘッダ情報を前記再送用バッファから読み出す手段と、
    該パケットと該UDPヘッダ情報から要求された再送パケットを生成する手段と、
    生成された再送パケットをクライアントへ送信する手段を有するストリーム転送装置。
  5. ストリーム配信サーバからストリーム中継サーバを介して、クライアントに送出されたストリームパケットを受信するストリーム転送装置において、
    ストリーム配信サーバから送られたIPパケットを受信し、該パケットをIP処理部へ渡す前に、IPフラグメントされたパケットであるかどうか判別する手段と、
    該パケットがIPフラグメントされたパケットである場合、該パケットの情報をフラグメントパケットリストへ書き込む手段と、
    前記フラグメントパケットリストを監視し、フラグメントパケットの欠落があるかどうかを調べる手段と、
    フラグメントパケットの欠落が検出されると、該欠落パケットの再送を要求するIPパケット再送要求メッセージを生成する手段と、
    該IPパケット再送要求メッセージをストリーム配信サーバへ送信する手段を有するストリーム転送装置。
  6. プラグメントパケットの欠落が検出されなかった場合、当該パケットの情報を全て前記フラグメントパケットリストから削除する手段をさらに有する、請求項5に記載のストリーム転送装置。
  7. 請求項1から3のいずれかに記載のストリーム転送方法をコンピュータに実行させるためのプログラム。
  8. 請求項7に記載のプログラムを記録した、コンピュータ読み取り可能な記録媒体。
JP2004188402A 2004-06-25 2004-06-25 ストリームデータ転送方法、装置、プログラム、および記録媒体 Pending JP2006013911A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004188402A JP2006013911A (ja) 2004-06-25 2004-06-25 ストリームデータ転送方法、装置、プログラム、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004188402A JP2006013911A (ja) 2004-06-25 2004-06-25 ストリームデータ転送方法、装置、プログラム、および記録媒体

Publications (1)

Publication Number Publication Date
JP2006013911A true JP2006013911A (ja) 2006-01-12

Family

ID=35780613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004188402A Pending JP2006013911A (ja) 2004-06-25 2004-06-25 ストリームデータ転送方法、装置、プログラム、および記録媒体

Country Status (1)

Country Link
JP (1) JP2006013911A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008143095A (ja) * 2006-12-12 2008-06-26 Ricoh Co Ltd 収集データ収集システム、収集データ収集プログラム及び記録媒体
JP2008258755A (ja) * 2007-04-02 2008-10-23 Hitachi Ltd ファイルの送受信方法及びシステム
JP2010251911A (ja) * 2009-04-13 2010-11-04 Shimadzu System Solutions Co Ltd ノード間データ応答システム
JP2011176490A (ja) * 2010-02-23 2011-09-08 Fujitsu Ltd 映像配信システム、中継装置及び映像配信プログラム
US9306708B2 (en) 2009-10-07 2016-04-05 Thomson Licensing Method and apparatus for retransmission decision making
CN111800518A (zh) * 2020-08-20 2020-10-20 杭州迪普科技股份有限公司 客户端ip地址插入方法及装置
CN112671771A (zh) * 2020-12-24 2021-04-16 上海银基信息安全技术股份有限公司 数据传输方法、装置、电子设备及介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008143095A (ja) * 2006-12-12 2008-06-26 Ricoh Co Ltd 収集データ収集システム、収集データ収集プログラム及び記録媒体
JP2008258755A (ja) * 2007-04-02 2008-10-23 Hitachi Ltd ファイルの送受信方法及びシステム
JP2010251911A (ja) * 2009-04-13 2010-11-04 Shimadzu System Solutions Co Ltd ノード間データ応答システム
US9306708B2 (en) 2009-10-07 2016-04-05 Thomson Licensing Method and apparatus for retransmission decision making
JP2011176490A (ja) * 2010-02-23 2011-09-08 Fujitsu Ltd 映像配信システム、中継装置及び映像配信プログラム
CN111800518A (zh) * 2020-08-20 2020-10-20 杭州迪普科技股份有限公司 客户端ip地址插入方法及装置
CN111800518B (zh) * 2020-08-20 2023-02-07 杭州迪普科技股份有限公司 客户端ip地址插入方法及装置
CN112671771A (zh) * 2020-12-24 2021-04-16 上海银基信息安全技术股份有限公司 数据传输方法、装置、电子设备及介质
CN112671771B (zh) * 2020-12-24 2024-01-19 上海银基信息安全技术股份有限公司 数据传输方法、装置、电子设备及介质

Similar Documents

Publication Publication Date Title
US7231404B2 (en) Datacast file transmission with meta-data retention
US7675939B2 (en) Transmission apparatus and method, reception apparatus and method, communication system, recording medium, and program
EP2383941B1 (en) Client terminal, method and system for downloading streaming media
WO2018086076A1 (zh) 数据传输方法及装置
TW419919B (en) TCP resegmentation
US20030206549A1 (en) Method and apparatus for multicast delivery of information
KR100782945B1 (ko) 네트워크에서 데이터 스트림 전송을 관리하는 방법
US20040098748A1 (en) MPEG-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control
JP2004530388A (ja) アプリケーション配信時のリアルタイムパケット化および再送信
US8259728B2 (en) Method and system for a fast drop recovery for a TCP connection
JP5554817B2 (ja) データ送信装置及び方法
US9794354B1 (en) System and method for communication between networked applications
JP2009512280A (ja) 補完指示ファイルを用いた、rtpエグレスストリーミング装置及び方法
JP2007104137A (ja) データ通信装置
US8832375B2 (en) Object type aware byte caching
WO2018121742A1 (zh) 一种流数据的传输方法和装置
JP2013243694A (ja) 少なくとも1つのtcpデータセグメントストリームをインラインコンテンツ解析にサブミットするための方法及びデバイス、その方法を実施するための1つ又は複数の命令シーケンスを保持するコンピュータ可読媒体、並びにコンピュータプログラム製品
KR101600060B1 (ko) 다중캐스트 네트워크에서 sctp를 위한 프로토콜 부스터
KR100678956B1 (ko) 네트워크 상에서 컨텐츠 정보를 요청 및 제공하는 장치 및그 방법
JP2005520374A (ja) Tcp/ipに対する変更
JP2011186797A (ja) データ通信装置及び方法
CN115883680A (zh) 一种基于arq的udp协议数据传输方法、系统及设备
CN114051173B (zh) 一种基于rtp扩展头部的视频帧可靠传输方法、装置及设备
JP2006013911A (ja) ストリームデータ転送方法、装置、プログラム、および記録媒体
CN113169977A (zh) 网络装备和用于递送数据分组的方法