JP2005012711A - リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法 - Google Patents

リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法 Download PDF

Info

Publication number
JP2005012711A
JP2005012711A JP2003177286A JP2003177286A JP2005012711A JP 2005012711 A JP2005012711 A JP 2005012711A JP 2003177286 A JP2003177286 A JP 2003177286A JP 2003177286 A JP2003177286 A JP 2003177286A JP 2005012711 A JP2005012711 A JP 2005012711A
Authority
JP
Japan
Prior art keywords
real
time data
connection
connections
unit
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.)
Granted
Application number
JP2003177286A
Other languages
English (en)
Other versions
JP4292884B2 (ja
Inventor
Satoshi Omori
聡 大森
Takanobu Ujisato
隆信 氏郷
Masayuki Ishikawa
真之 石川
Takao Morita
隆雄 森田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2003177286A priority Critical patent/JP4292884B2/ja
Publication of JP2005012711A publication Critical patent/JP2005012711A/ja
Application granted granted Critical
Publication of JP4292884B2 publication Critical patent/JP4292884B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】リアルタイムデータ伝送における、転送効率とデータのリアルタイム性を維持向上させる。
【解決手段】TCPサーバー1は、入力されたリアルタイムデータを受信する受信部21と、コネクション3−1、3−2、・・・3−nをオペレーティングシステムが識別可能に複数生成する複数コネクション生成部を有し、リアルタイムデータを送信するために複数のコネクションの状態を管理するコネクション管理部22と、複数のコネクションのうちのいずれかでリアルタイムデータを送信する送信部23を有する。
【選択図】 図4

Description

【0001】
【発明の属する技術分野】
本発明は、例えば、リアルタイムデータの通信を行うリアルタイムデータ通信システムに関するものである。
【0002】
【従来の技術】
一般に、リアルタイムデータを伝送する場合はUDP(User Datagram Protocol)の上でRTP(Real Time Transport Protocol)を使うストリーミング技術が使用されてきた。UDPはコネクションレス型プロトコルでフロー制御や再送制御などの機構をもたないので、ある一定時間が経過したデータの必要性がなくなるリアルタイム伝送には非常に適していた。
【0003】
それに対し、TCP(Transmission Control Protocol)はコネクション型プロトコルでフロー制御や再送制御の機構を備え、蓄積型コンテンツのダウンロードやストリーミング配信に使用されてきた。TCPは、UDPでは難しい、ファイアーウォールやNAT(Network Address Translator)を通過することができるデータ伝送手段が確立されており、現在それは非常に有効である。
【0004】
特許文献1には、利用者に応じたリソース制限を実行したコネクション制御を可能とするために、コネクション要求の利用を識別し、識別された利用者に応じて設定されたリソースの使用条件に従って使用するリソース領域を決定し、優先度の高い利用者に使用可能なリソースを多く設定する処理により、不特定多数の利用者からのコネクション要求がある通信処理装置において、特定のユーザーに対して優先的にコネクションを確立することが可能になる通信処理装置が開示されている。
【0005】
【特許文献1】
特開2003−125022号公報
【0006】
【発明が解決しようとする課題】
しかし、上述した従来のリアルタイムデータ通信システムにより、TCPでリアルタイムデータの伝送を行おうとすると、パケットロスにより再送が繰り返されたり、フロー制御によりスループットが抑えられたりする。その結果、データの到着遅延が増大し、リアルタイム性が失われた無効なデータとなってしまう。また、あるパケットの再送が生じると、同じTCPコネクション上に流れる後続パケットのリアルタイム性にも影響が及ぶ可能性があるという不都合があった。
【0007】
また、TCPのフロー制御により狭められた帯域は、TCPのスロースタートのために元の帯域に戻るまでに時間がかかる。フロー制御により狭められた帯域以上のデータが流入している場合、一定期間にわたり元の帯域の品質を維持することは不可能であるという不都合があった。
このようなことから、TCPによるリアルタイムデータ伝送は困難であった。
【0008】
そこで、本発明は、かかる点に鑑みてなされたものであり、ファイアーウォールやNATを越える通信に有効なTCPを用いたリアルタイムデータ伝送における、転送効率とデータのリアルタイム性を維持向上させるリアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法を提供することを課題とする。
【0009】
【課題を解決するための手段】
本発明のリアルタイムデータ通信システムのサーバーは、入力されたリアルタイムデータを受信する受信部と、コネクションをオペレーティングシステムが識別可能に複数生成する複数コネクション生成部を有し、リアルタイムデータを送信するために複数のコネクションの状態を管理するコネクション管理部と、複数のコネクションのうちのいずれかでリアルタイムデータを送信する送信部を有する。
【0010】
また、クライアントは、複数のコネクションのうちのいずれかで送信されたリアルタイムデータを受信する受信部と、コネクションをオペレーティングシステムが識別可能に複数生成する複数コネクション生成手段を有し、リアルタイムデータを受信するためにコネクションの状態を管理するコネクション管理部と、受信されたリアルタイムデータを出力する送信部を有する。
【0011】
これにより、本発明のリアルタイムデータ通信システムは、1セッションのリアルタイムデータを伝送するのに複数のコネクションを使用するものである。
【0012】
従って本発明によれば、以下の作用をする。
オペレーティングシステムが識別可能に生成された複数コネクションを順次あるいは選択的に扱うことによりリアルタイムデータ通信を行う。
【0013】
オペレーティングシステムが管理するプロトコルで複数のコネクション上でリアルタイムデータを通信する際に、オペレーティングシステムが識別可能に生成された複数のコネクションを順次あるいは選択的に利用して、転送効率とデータのリアルタイム性を向上させることができる。
【0014】
あるコネクションが輻輳した場合に他のコネクションに瞬時に切り替えることにより、後続パケットの遅延を小さく抑制することを可能にする。
【0015】
あらかじめ伝送のためのコネクションをオペレーティングシステムが識別可能に複数用意しておき、データ単位(例えばパケット単位)でコネクションを順次あるいは選択的に替えながらデータを送出することで、データの再送に伴う到着遅延を回避し、データのリアルタイム性を維持する。
【0016】
また、コネクションの選択には帯域の状態が通信の条件を満たすスループットの高いものから行う。スループットが低くなったコネクションは新たに作り直す(リセット)ことでスループットの高いコネクションを常時準備しておくことができ、データの効率的な転送を可能とする。
【0017】
【発明の実施の形態】
以下に、本発明の実施の形態について、適宜、図面を参照しながら説明する。
【0018】
図1は、本発明の実施の形態に適用されるリアルタイムデータ通信システムの構成を示す図である。
本発明では、図1のようなリアルタイムデータを伝送する機器構成を想定する。説明をわかりやすくするために、TCPサーバー1を送信側、TCPクライアント2を受信側にしているが、どちらも同時に送受信できるものでも構わない。
【0019】
図1において、TCPサーバー1とTCPクライアント2は複数のTCPコネクション1(3−1)、TCPコネクション2(3−2)、・・・TCPコネクションn(3−n)で接続されており、このTCPコネクション1(3−1)、TCPコネクション2(3−2)、・・・TCPコネクションn(3−n)上を、TCPサーバー1に入力されたリアルタイムデータDIが流れ、TCPクライアント2からリアルタイムデータDOが出力されるものとする。
【0020】
TCPサーバー1とTCPクライアント2がHTTP(Hypertext Transfer Protocol)サーバーもしくはクライアントとして実装されておりTCP上のHTTPによってデータの送受信を行う場合も、形態は図1と同様になる。
【0021】
図2は、HTTPプロクシ接続されたリアルタイムデータ通信システムの構成を示す図である。
TCPサーバー1とTCPクライアント2間にHTTPプロクシ4が入る場合は図2のような形態をとる。この場合、TCPサーバー1とTCPクライアント2間でHTTPプロクシ4がTCPで運ばれてくるデータを転送しているだけならば、図1と同じと見なすことができる。
【0022】
具体的には、図2において、HTTPプロクシ4はTCPサーバー1に対しては複数のHTTPコネクション1(5−1)、HTTPコネクション2(5−2)、・・・HTTPコネクションn(5−n)で接続されるクライアント4−1として振る舞い、HTTPプロクシ4はTCPクライアント2に対しては複数のHTTPコネクション1(6−1)、HTTPコネクション2(6−2)、・・・HTTPコネクションn(6−n)で接続されるサーバー4−2として振る舞うことになる。
【0023】
ここで、リアルタイムデータDI、DOとは、ある一定期間に配送が完了することが望まれるデータである。例えば、ライブ配信やテレビ電話で扱われる映像や音声のデータである。このリアルタイムデータDI、DOはTCPサーバー1に付けられたビデオカメラやマイクから得られる映像や音声のデータでも良いし、ネットワークで接続された他の機器(あるいはエンコーダ(圧縮装置))からRTPパケットとして転送されるストリーミングデータでも良い。
【0024】
リアルタイムもしくはストリーミングデータはパケットもしくは更に小さい単位にわけることができる。もし小分けされた一部のデータが通信途中で失われたとしても、受信側がそれ以降の後続データを受信することができれば、時刻に従って到着したデータを処理することが可能である。
【0025】
総帯域幅が一定であれば、複数のTCPのコネクションを用いても得られる総帯域自体は変わらないが、TCPコネクションは各コネクションにフロー制御をしており、その時々のスループットが各コネクションで異なる。そこで、最も条件の良いコネクションを選択し送信することで、効率的な転送を行うことができる。
【0026】
例えば、何らかの理由でTCPのスロースタートが働いてしまい、スループットが低いままのコネクションがあるとする。このコネクションはしばらくすると元の高いスループットへ戻るかもしれないが、その回復を待つよりは、より高いスループットが出るコネクションを選択して使用したほうがデータの伝送に一刻を争うリアルタイム伝送に適している。
【0027】
図3は、伝送パケットおよびストリーミングデータパケット構成例を示す図である。
図3において、伝送パケット11は、RTPヘッダ12を有し、RTPヘッダ12は、時間情報を示すシーケンスナンバーSN13およびタイムスタンプTS14を有する。
【0028】
また、ストリーミングデータパケット15は、RTPペイロードとしてのストリーミングデータを有する。
【0029】
ここで、送信側のTCPサーバー1は、時間情報を示すシーケンスナンバーSN13およびタイムスタンプTS14に基づいて遅延パケットの発生しているコネクションを検出して、他のコネクションに切り替えることができる。
【0030】
また、受信側のTCPクライアント2では、ストリーミングデータを再現するために、伝送パケット11としてRTPを使用する場合は、伝送パケット11にあるRTPのシーケンスナンバーSN13やタイムスタンプTS14などを用いてデータの順序を並べ替えることができる。なお、再現方法に関してはストリーミングデータパケット15に示すRTPペイロードとしてのストリーミングデータに依存する。
【0031】
図4は、TCPサーバーの構成を示す図である。
図4において、TCPサーバー1は、入力されたリアルタイムデータDIを受信する受信部21と、受信部21で受信されたリアルタイムデータDIを複数のTCPコネクション1(3−1)、TCPコネクション2(3−2)、・・・TCPコネクションn(3−n)のいずれかでTCPコネクション出力COとして出力する送信部と、複数のTCPコネクション1(3−1)、TCPコネクション2(3−2)、・・・TCPコネクションn(3−n)をオペレーティングシステムが識別可能に複数生成する複数コネクション生成部を有し、リアルタイムデータを送信するために複数のコネクションの状態を管理するコネクション管理部22を有して構成される。
【0032】
図5は、TCPクライアントの構成を示す図である。
図5において、TCPサーバー1は、複数のTCPコネクション1(3−1)、TCPコネクション2(3−2)、・・・TCPコネクションn(3−n)のいずれかで入力されたTCPコネクション入力CIを受信する受信部25と、受信部25で受信されたTCPコネクション入力CIをリアルタイムデータDOとして出力する送信部26と、複数のTCPコネクション1(3−1)、TCPコネクション2(3−2)、・・・TCPコネクションn(3−n)をオペレーティングシステムが識別可能に複数生成する複数コネクション生成部を有し、リアルタイムデータを受信するために複数のコネクションの状態を管理するコネクション管理部24を有して構成される。
【0033】
図6は、コネクション管理部の構成を示す図である。
TCPサーバー1のコネクション管理部22は、複数のTCPコネクション1(3−1)、TCPコネクション2(3−2)、・・・TCPコネクションn(3−n)をオペレーティングシステムが識別可能に複数生成する複数コネクション生成部31と、複数のTCPコネクション1(3−1)、TCPコネクション2(3−2)、・・・TCPコネクションn(3−n)を切り替えるコネクション切替部34を有し、生成された複数のTCPコネクション1(3−1)、TCPコネクション2(3−2)、・・・TCPコネクションn(3−n)を順次あるいは選択的に切り替えながらTCPサーバー1からTCPクライアント2へリアルタイムデータを伝送するように構成される。また、TCPクライアント2のコネクション管理部24も同様の構成を有する。
【0034】
また、TCPサーバー1のコネクション管理部22はリアルタイムデータを伝送するパケットのうち遅延パケットを検出する遅延パケット検出部32を有し、遅延パケット検出部32により遅延パケットが検出されたとき、コネクション切替部34により他のコネクションに切り替えるように構成される。また、TCPクライアント2のコネクション管理部24も同様の構成を有する。
【0035】
また、TCPサーバー1のコネクション管理部22は複数のコネクションの帯域の状態を監視する帯域監視部33を有し、帯域監視部33により必要な帯域を満たさないコネクションが検出されたとき、コネクション切替部34により他のコネクションに切り替えるように構成される。また、TCPクライアント2のコネクション管理部24も同様の構成を有する。
【0036】
また、TCPクライアント2のコネクション管理部22は、1セッションのリアルタイムデータを複数のコネクションから受信する際に、リアルタイムデータの順序を整えて出力するデータ並べ替え部を有するように構成される。また、TCPサーバー1のコネクション管理部24も同様の構成を有する。
【0037】
図7は、複数コネクションの識別を示す図である。
TCPサーバー1では、オペレーティングシステムOS44が管理するプロトコルTCP42で複数のコネクション上でインターネットプロトコルIP41を介してリアルタイムデータを送信する際に、オペレーティングシステムOS44が識別可能に生成された複数のコネクションを順次あるいは選択的に利用して、リアルタイムデータの分離をすることができる。
【0038】
このとき、オペレーティングシステムOS44は、アプリケーションソフトウエア45−1、アプリケーションソフトウエア45−2、アプリケーションソフトウエア45−3、・・・に対応するポート80、ポート81、ポート82、・・・の切り替えにより複数のコネクションを識別する。また、切り替えによるデータの分離は、ストリーミングデータのパケット単位でする。
【0039】
また、TCPクライアント2では、オペレーティングシステムOS44が管理するプロトコルTCP42で複数のコネクション上でインターネットプロトコルIP41を介してリアルタイムデータを受信する際に、オペレーティングシステムOS44が識別可能に生成された複数のコネクションを順次あるいは選択的に利用して、リアルタイムデータの順序の並べ替えをすることができる。
【0040】
このとき、オペレーティングシステムOS44は、アプリケーションソフトウエア45−1、アプリケーションソフトウエア45−2、アプリケーションソフトウエア45−3、・・・に対応するポート80、ポート81、ポート82、・・・の切り替えにより複数のコネクションを識別する。また、切り替えにより分離されたデータの順序の並べ替えは、ストリーミングデータのパケット単位でする。
【0041】
次に、このように構成された本発明の実施の形態に適用されるリアルタイムデータ通信システムの動作の詳細を以下に説明する。
【0042】
図8は、TCPサーバーの動作を示すフローチャートである。
図8は、リアルタイムデータを送信するTCPサーバー1がTCPコネクション3を作成し、リアルタイムデータを送信するまでのステップである。以下にその詳細を述べる。
【0043】
ステップS1で、複数のTCPコネクションを作成する。具体的には、TCPサーバー1が送信側処理開始すると、受信側のTCPクライアント2へリアルタイムデータを送信するためのTCPコネクション3を作成する。TCPサーバー1はTCPクライアント2へ接続を能動的に確立しても良いし、TCPクライアント2からの接続を待機しても良い。TCPコネクション3は複数コネクション生成部31により複数作成される。
【0044】
ステップS2で、リアルタイムデータの入力を待つ。具体的には、TCPサーバー1は、前述のようにリアルタイムデータを送信側に直接付けられたカメラのような機器から得る場合と、ネットワーク上の他の機器からRTPのようなパケットで得る場合がある。本発明の実施の形態ではいずれの場合も入力として同様に扱う。リアルタイムデータの入力があった場合、すぐに次の処理ステップS3へ行っても良いし、バッファやキューに複数データを蓄積してからステップS3に遷移しても良い。
【0045】
ステップS3で、ステップS2においてリアルタイムデータの入力がタイムアウトであったか、そうでないかの判定、または、帯域に不備があったか、そうでないかの判定を行う。具体的には、リアルタイムデータの入力タイムアウトの判定は遅延パケット検出部32により行われ、帯域不備の判定は帯域監視部33により行われる。
【0046】
もしタイムアウトまたは帯域不備がなかった場合はステップS6へ移る。タイムアウトまたは帯域不備があった場合はステップS4へ移る。
【0047】
ステップS4で、ステップS2において入力されたデータを送信するためのTCPコネクションを、ステップS1において作成したTCPコネクションから選択する。具体的には、TCPコネクションの選択はコネクション切替部34により行われ、選択方法は、作成されたTCPコネクションを順番に指定する方法と、条件の良いTCPコネクションを指定する方法がある。前者の選択方法は、TCPコネクション(TCPソケット)の状態を知ることが不可能な場合に役に立つ方法である。
【0048】
この方法では、全てのTCPコネクションを順番に使用し、ある特定のTCPコネクションが輻輳した場合に後続するパケットへ影響が及び難くすることで、結果としてひとつのTCPコネクションを利用した伝送よりも輻輳が発生した時の遅延を小さくできる。一方、後者の選択方法は、TCPコネクション(TCPソケット)から得られる情報(送信バッファ量、実効転送レート、ウィンドウサイズなど)を利用して行う選択方法である。リアルタイムデータのパケットは可能な限り迅速に伝送したいので、もっとも効率の良い条件のTCPコネクションを選択してデータを送信するようにする。結果として、遅延を低く抑えた伝送が可能となる。
【0049】
また、TCPコネクションの選択時において極端にスループットの低くなった、あるいは低い状態のままの、TCPコネクションを検知した場合は、そのTCPコネクションをクローズして再度接続しなおすようにする。TCPは輻輳などが生じると、スロースタートの機構の為、一度小さくなったスループットが元のスループットへ回復するまでに時間がかかる。そこで、TCPの再接続オーバーヘッドがかかるとしても、TCPコネクションの作り直しを図ることで強制的なスループットのリセットを試みることにする。
【0050】
ステップS5で、入力されたリアルタイムデータを選択されたTCPコネクションで送信する。もし送信に失敗した場合は、リアルタイムデータをデータの欠落として破棄し、ステップS2で次のデータを送信する準備をしても良い。また、送信に成功した場合も、冗長なデータ送信を必要するならば、再度ステップS4に移り同じデータを別のTCPコネクションで送信するように繰り返しても良い。
ステップS6で、ある一定期間の間に入力がなくなり終了する。
【0051】
図9は、TCPクライアントの動作を示すフローチャートである。
図9は、リアルタイムデータ受信側のTCPクライアント2がTCPコネクション3を作成し、リアルタイムデータを受信し、出力するまでのステップである。以下にその詳細を述べる。
【0052】
ステップS11で、複数のTCPコネクションを作成する。具体的には、TCPクライアント2は、受信側処理開始すると、送信側のTCPサーバー1からリアルタイムデータを受信するためのTCPコネクション3を作成する。TCPクライアント2は、TCPサーバー1へ接続を能動的に確立しても良いし、TCPサーバー1からの接続を待機しても良い。TCPコネクション3は複数コネクション生成部31により複数作成される。
【0053】
ステップS12で、TCPコネクションからデータが受信できるまで待機し、可能になったらデータを受信する。データを受信した場合はステップS13へ移る。全てのTCPコネクションで受信タイムアウトが発生したことを遅延パケット検出部32により検出したり帯域不備があったことを帯域監視部33により検出した場合に送信側から全てのTCPコネクションが切り替えられたりした場合はステップS14へ移る。
【0054】
ステップS13で、受信されたデータを出力する。出力先は、TCPクライアント2に直接接続されたモニタやスピーカなどの再生装置でも良いし、ネットワーク上の他の機器(あるいはデコーダ(伸長装置))へ転送しても良い。出力が終わればステップS12へ戻る。
【0055】
ところで、複数のTCPコネクションを通って受信されているのでリアルタイムデータ間で順序の入れ替えが発生しているかもしれない。再生装置で順序を補正するものがあるが、出力する際にデータ並べ替え部により順序を整えて出力しても良い。この場合は出力直前にバッファあるいはキューを設け、ある一定の量か期間のリアルタイムデータを蓄積し、古いデータから順に出力していく。
【0056】
ステップS14で、受信するデータがなくなった、あるいはTCPコネクションが切断されたため、終了する。
【0057】
図10は、コネクション切替動作を説明する図である。
図10において、TCPコネクション1(3−1)においてパケットP1にパケットロスが生じると、失ったパケットP1の再生を繰り返すので、遅延パケット検出部32は後続のパケットP2、P3に遅延が生じたことをタイムスタンプTS14−2、タイムスタンプTS14−3により検出する。このとき、遅延パケット検出部32はTCPコネクション1(3−1)における遅延パケットの検出をコネクション切替部34に通知する。
【0058】
また、TCPコネクション2(3−2)においてフロー制御が働き、帯域が狭まったためパケットP4の転送レートが遅れてしまうことを、帯域監視部33はバッファ50−2にたまったパケットのデータ量を監視することにより検出する。このとき、帯域監視部33はTCPコネクション2(3−2)における帯域不備の検出をコネクション切替部34に通知する。
【0059】
そこで、コネクション切替部34は、TCPコネクション1(3−1)またはTCPコネクション2(3−2)から、より良い状態のTCPコネクションn(3−n)を選択して切り替えることにより、パケットP5、パケットP6、パケットP7、パケットP8、パケットP9、・・・をより効率的に転送することができる。
【0060】
これにより、信頼性の高いTCPコネクションの再送やフロー制御が副作用として働くことによる影響を受けないようにすることができ、効率の良いリアルタイムデータの伝送を可能にすることができる。
【0061】
従来は、TCPの再送により昔のパケットを長い間に渡り再送を繰り返してしまい、それが後続するパケットにも影響するために、リアルタイムデータ伝送には向かないと考えられていた。この発明を用いれば、TCPコネクションを利用した映像や音声のリアルタイムコミュニケーションに役立てることができる。
【0062】
つまり、複数のTCPコネクションへ次々に最新のパケットを流すことが可能になるため、リアルタイム性の維持ができ、効率的な伝送を可能とする。この方式はTCP上のHTTPを用いた伝送にも有効であり、HTTPプロクシによりファイアーウォールを越える伝送も可能となる。リアルタイム伝送には主にUDPが使用されてきたが、一般にUDPによる伝送はファイアーウォールを越えることが困難である。HTTPと本発明を組み合わせることで、ファイアーウォールを越えるリアルタイムデータ伝送も可能となる。
【0063】
上記のように複数のTCPコネクション上に分散してリアルタイムデータを伝送するため、ある特定のTCPコネクションで再送が生じても、後続するパケットはその影響を受けずに他のTCPコネクションの送信キューに入れることができ、結果として遅延の影響がデータ全体に及ばない機構を実現できる。
【0064】
本発明の実施の形態は、上述したものに限らず、HTTP、HTTPS(Hypertext Transfer Protocol,Secure)、FTP(File Transfer Protocol)、SSL(Secure Sockets layer)、TLS(Transport layer Security)などのTCP上で用いられる各種プロトコルに適用可能である。
【0065】
【発明の効果】
この発明により、リアルタイム伝送をする際に、適切なTCPコネクションを選択することでデータのリアルタイム性を確保し、効率の良い伝送を実現することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態に適用されるリアルタイムデータ通信システムの構成を示す図である。
【図2】HTTPプロクシ接続されたリアルタイムデータ通信システムの構成を示す図である。
【図3】伝送パケットおよびストリーミングデータパケット構成例を示す図である。
【図4】TCPサーバーの構成を示す図である。
【図5】TCPクライアントの構成を示す図である。
【図6】コネクション管理部の構成を示す図である。
【図7】複数コネクションの識別を示す図である。
【図8】TCPサーバーの動作を示すフローチャートである。
【図9】TCPクライアントの動作を示すフローチャートである。
【図10】コネクション切替動作を説明する図である。
【符号の説明】
1……TCPサーバー、2……TCPクライアント、3……TCPコネクション、4……HTTPプロクシ、11……伝送パケット、12……RTPヘッダ、13……シーケンスナンバーSN,14……タイムスタンプTS、15……ストリーミングデータパケット、21……受信部、22……コネクション管理部、23……受信部、24……コネクション管理部、26……送信部、31……複数コネクション生成部、32……遅延パケット検出部、33……帯域監視部、34……コネクション切替部、41……IP、42……TCP、43……UDP、44……OS、45……アプリケーション、50……バッファ

Claims (14)

  1. クライアントからの要求に応じてサーバーからリアルタイムデータを、オペレーティングシステムが管理するプロトコルで通信のためのコネクションを介して伝送するリアルタイムデータ通信システムにおいて、
    入力されたリアルタイムデータを受信する受信部と、上記コネクションをオペレーティングシステムが識別可能に複数生成する複数コネクション生成部を有し、リアルタイムデータを送信するために上記複数のコネクションの状態を管理するコネクション管理部と、上記複数のコネクションのうちのいずれかでリアルタイムデータを送信する送信部を有するサーバーと、
    上記複数のコネクションのうちのいずれかで送信されたリアルタイムデータを受信する受信部と、上記コネクションをオペレーティングシステムが識別可能に複数生成する複数コネクション生成手段を有し、リアルタイムデータを受信するために上記コネクションの状態を管理するコネクション管理部と、受信されたリアルタイムデータを出力する送信部を有するクライアントと、
    を備え、1セッションのリアルタイムデータを伝送するのに複数のコネクションを使用することを特徴とするリアルタイムデータ通信システム。
  2. 請求項1記載のリアルタイムデータ通信システムにおいて、
    上記サーバーの上記コネクション管理部は上記複数のコネクションを切り替えるコネクション切替部を有し、
    生成された上記複数のコネクションを順次あるいは選択的に切り替えながら上記サーバーから上記クライアントへリアルタイムデータを伝送することを特徴とするリアルタイムデータ通信システム。
  3. 請求項2記載のリアルタイムデータ通信システムにおいて、
    上記サーバーの上記コネクション管理部はリアルタイムデータを伝送するパケットのうち遅延パケットを検出する遅延パケット検出部を有し、
    上記遅延パケット検出部により遅延パケットが検出されたとき、上記コネクション切替部により他のコネクションに切り替えることを特徴とするリアルタイムデータ通信システム。
  4. 請求項2記載のリアルタイムデータ通信システムにおいて、
    上記サーバーの上記コネクション管理部は上記複数のコネクションの帯域の状態を監視する帯域監視部を有し、
    上記帯域監視部により必要な帯域を満たさないコネクションが検出されたとき、上記コネクション切替部により他のコネクションに切り替えることを特徴とするリアルタイムデータ通信システム。
  5. 請求項1記載のリアルタイムデータ通信システムにおいて、
    上記クライアントの上記コネクション管理部は、1セッションのリアルタイムデータを複数のコネクションから受信する際に、リアルタイムデータの順序を整えて出力するデータ並べ替え部を有することを特徴とするリアルタイムデータ通信システム。
  6. クライアントからの要求に応じてリアルタイムデータを、オペレーティングシステムが管理するプロトコルで通信のためのコネクションを介して伝送するサーバーとしてのリアルタイムデータ通信装置において、
    入力されたリアルタイムデータを受信する受信部と、
    上記コネクションをオペレーティングシステムが識別可能に複数生成する複数コネクション生成部と、上記複数のコネクションを切り替えるコネクション切替部を有し、リアルタイムデータを送信するために上記複数のコネクションの状態を管理するコネクション管理部と、
    上記複数のコネクションのうちのいずれかでリアルタイムデータを送信する送信部を備え、
    生成された上記複数のコネクションを順次あるいは選択的に切り替えながら上記クライアントへリアルタイムデータを伝送することを特徴とするリアルタイムデータ通信装置。
  7. 請求項6記載のリアルタイムデータ通信装置において、
    上記コネクション管理部はリアルタイムデータを伝送するパケットのうち遅延パケットを検出する遅延パケット検出部を有し、
    上記遅延パケット検出部により遅延パケットが検出されたとき、上記コネクション切替部により他のコネクションに切り替えることを特徴とするリアルタイムデータ通信装置。
  8. 請求項6記載のリアルタイムデータ通信装置において、
    上記コネクション管理部は上記複数のコネクションの帯域の状態を監視する帯域監視部を有し、
    上記帯域監視部により必要な帯域を満たさないコネクションが検出されたとき、上記コネクション切替部により他のコネクションに切り替えることを特徴とするリアルタイムデータ通信装置。
  9. 要求に応じてサーバーからオペレーティングシステムが管理するプロトコルで通信のためのコネクションを介して伝送されるリアルタイムデータを受信するクライアントとしてのリアルタイムデータ通信装置において、
    上記複数のコネクションのうちのいずれかで送信されたリアルタイムデータを受信する受信部と、
    上記コネクションをオペレーティングシステムが識別可能に複数生成する複数コネクション生成部と、1セッションのリアルタイムデータを複数のコネクションから受信する際に、リアルタイムデータの順序を整えて出力するデータ並べ替え部を有し、リアルタイムデータを受信するために上記コネクションの状態を管理するコネクション管理部と、受信されたリアルタイムデータを出力する送信部と、
    を備え、複数のコネクションを使用して伝送された1セッションのリアルタイムデータを出力することを特徴とするリアルタイムデータ通信装置。
  10. クライアントからの要求に応じてサーバーからリアルタイムデータを、オペレーティングシステムが管理するプロトコルで通信のためのコネクションを介して伝送するリアルタイムデータ通信方法において、
    サーバーでは、入力されたリアルタイムデータを受信部により受信する受信ステップと、リアルタイムデータを送信するために上記複数のコネクションの状態を管理するコネクション管理部により上記コネクションをオペレーティングシステムが識別可能に複数生成する複数コネクション生成ステップと、上記複数のコネクションのうちのいずれかでリアルタイムデータを送信部により送信する送信ステップを有し、
    クライアントでは、上記複数のコネクションのうちのいずれかで送信されたリアルタイムデータを受信部により受信する受信ステップと、リアルタイムデータを受信するために上記コネクションの状態を管理するコネクション管理部により上記コネクションをオペレーティングシステムが識別可能に複数生成する複数コネクション生成ステップと、受信されたリアルタイムデータを送信部より出力する送信ステップを有し、
    1セッションのリアルタイムデータを複数のコネクションを使用して伝送することを特徴とするリアルタイムデータ通信方法。
  11. 請求項10記載のリアルタイムデータ通信方法において、
    上記サーバーの上記コネクション管理部は生成された上記複数のコネクションを切り替えるコネクション切替ステップを有し、
    生成された上記複数のコネクションを順次あるいは選択的に切り替えながら上記サーバーから上記クライアントへリアルタイムデータを伝送することを特徴とするリアルタイムデータ通信方法。
  12. 請求項11記載のリアルタイムデータ通信方法において、
    上記サーバーの上記コネクション管理部はリアルタイムデータを伝送するパケットのうち遅延パケットを検出する遅延パケット検出ステップを有し、
    上記遅延パケット検出ステップにより遅延パケットが検出されたとき、上記コネクション切替ステップにより他のコネクションに切り替えることを特徴とするリアルタイムデータ通信方法。
  13. 請求項11記載のリアルタイムデータ通信方法において、
    上記サーバーの上記コネクション管理部は上記複数のコネクションの帯域の状態を監視する帯域監視ステップを有し、
    上記帯域監視ステップにより必要な帯域を満たさないコネクションが検出されたとき、上記コネクション切替ステップにより他のコネクションに切り替えることを特徴とするリアルタイムデータ通信方法。
  14. 請求項10記載のリアルタイムデータ方法において、
    上記クライアントの上記コネクション管理部は、1セッションのリアルタイムデータを複数のコネクションから受信する際に、リアルタイムデータの順序を整えて出力するデータ並べ替えステップを有することを特徴とするリアルタイムデータ通信方法。
JP2003177286A 2003-06-20 2003-06-20 リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法 Expired - Fee Related JP4292884B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003177286A JP4292884B2 (ja) 2003-06-20 2003-06-20 リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003177286A JP4292884B2 (ja) 2003-06-20 2003-06-20 リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法

Publications (2)

Publication Number Publication Date
JP2005012711A true JP2005012711A (ja) 2005-01-13
JP4292884B2 JP4292884B2 (ja) 2009-07-08

Family

ID=34099915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003177286A Expired - Fee Related JP4292884B2 (ja) 2003-06-20 2003-06-20 リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法

Country Status (1)

Country Link
JP (1) JP4292884B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007124336A (ja) * 2005-10-28 2007-05-17 Maspro Denkoh Corp バルク伝送システム
JP2011139303A (ja) * 2009-12-28 2011-07-14 Nec Corp 通信システム、制御装置、通信制御方法、およびプログラム
WO2012081202A1 (en) * 2010-12-14 2012-06-21 Nec Corporation Communication control system, control device, communication control method, and communication control program
WO2015155996A1 (ja) * 2014-04-10 2015-10-15 日本電気株式会社 通信制御装置、通信制御方法及び通信制御プログラムを記憶する記録媒体
WO2023075692A3 (en) * 2021-10-27 2023-06-08 Envision Digital International Pte. Ltd. Method and apparatus for uploading streaming data, access device and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105182883B (zh) * 2015-10-14 2018-01-09 青岛天人环境股份有限公司 一种基于app的气柜智能控制系统安全体检方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05167616A (ja) * 1991-12-12 1993-07-02 Matsushita Electric Ind Co Ltd 通信処理装置
JPH08305643A (ja) * 1995-05-11 1996-11-22 Kokusai Denshin Denwa Co Ltd <Kdd> ファイル転送方法
JPH11242640A (ja) * 1998-02-25 1999-09-07 Kdd Corp ファイル転送方法
JP2001053794A (ja) * 1999-08-09 2001-02-23 Nec Corp Ip通信のリアルタイムバックアップ通信方法
JP2002204255A (ja) * 2000-10-27 2002-07-19 Matsushita Electric Ind Co Ltd 伝送レート制御装置及び伝送レート制御方法
JP2002374552A (ja) * 2001-06-15 2002-12-26 Mitsubishi Electric Corp 通信制御装置および通信制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05167616A (ja) * 1991-12-12 1993-07-02 Matsushita Electric Ind Co Ltd 通信処理装置
JPH08305643A (ja) * 1995-05-11 1996-11-22 Kokusai Denshin Denwa Co Ltd <Kdd> ファイル転送方法
JPH11242640A (ja) * 1998-02-25 1999-09-07 Kdd Corp ファイル転送方法
JP2001053794A (ja) * 1999-08-09 2001-02-23 Nec Corp Ip通信のリアルタイムバックアップ通信方法
JP2002204255A (ja) * 2000-10-27 2002-07-19 Matsushita Electric Ind Co Ltd 伝送レート制御装置及び伝送レート制御方法
JP2002374552A (ja) * 2001-06-15 2002-12-26 Mitsubishi Electric Corp 通信制御装置および通信制御方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007124336A (ja) * 2005-10-28 2007-05-17 Maspro Denkoh Corp バルク伝送システム
US7870591B2 (en) 2005-10-28 2011-01-11 Masprodenkoh Kabushikikaisha Multipath data transmission system with transmission sequence identification of data packets for sequential reordering of received data packets
JP4690857B2 (ja) * 2005-10-28 2011-06-01 マスプロ電工株式会社 バルク伝送システム
JP2011139303A (ja) * 2009-12-28 2011-07-14 Nec Corp 通信システム、制御装置、通信制御方法、およびプログラム
WO2012081202A1 (en) * 2010-12-14 2012-06-21 Nec Corporation Communication control system, control device, communication control method, and communication control program
JP2014504043A (ja) * 2010-12-14 2014-02-13 日本電気株式会社 通信制御システム、制御装置、通信制御方法および通信制御プログラム
WO2015155996A1 (ja) * 2014-04-10 2015-10-15 日本電気株式会社 通信制御装置、通信制御方法及び通信制御プログラムを記憶する記録媒体
WO2023075692A3 (en) * 2021-10-27 2023-06-08 Envision Digital International Pte. Ltd. Method and apparatus for uploading streaming data, access device and storage medium

Also Published As

Publication number Publication date
JP4292884B2 (ja) 2009-07-08

Similar Documents

Publication Publication Date Title
US9832169B2 (en) Method and system for communicating over a segmented virtual private network (VPN)
US9021134B1 (en) Media stream transport conversion within an intermediate network device
US7675939B2 (en) Transmission apparatus and method, reception apparatus and method, communication system, recording medium, and program
Camarillo et al. Evaluation of transport protocols for the session initiation protocol
EP1333642B1 (en) Method and system for integrating performance enhancing functions in a virtual private network (VPN)
US7710995B2 (en) Method and system for out-of-band signaling for TCP connection setup
US20030131079A1 (en) Performance enhancing proxy techniques for internet protocol traffic
EP1443731A2 (en) Method and system for providing security in performance enhanced network
US20080285452A1 (en) Remote monitoring of real-time internet protocol media streams
US7843826B2 (en) Automatic detection and re-configuration of priority status in telecommunications networks
US20130204988A1 (en) Method and system for loopback proxy
JP2006246466A (ja) 通信ネットワーク上でデータを伝送する方法、データ・ネットワーク上で伝送するためにデータを処理する方法、コンピュータ読み取り可能な命令の組を含む媒体または波形、および集積回路チップ
US20040133631A1 (en) Communication system
AU2007320794B2 (en) Selective session interception method
US20220407799A1 (en) Method and network device for multi-path communication
McQuistin et al. TCP Hollywood: An unordered, time-lined, TCP for networked multimedia applications
CN115883680A (zh) 一种基于arq的udp协议数据传输方法、系统及设备
JP4292884B2 (ja) リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法
CN1498488A (zh) 选择诱骗器和执行选择诱骗的方法
JP4285101B2 (ja) リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法
JP5127729B2 (ja) パケット中継方法及びゲートウェイ装置
JP2002077263A (ja) 送受信方法
US20220263673A1 (en) Content distribution system, multicast unicast / multicast multicast converter, multicast unicast converter, content distribution method and content distribution program
JP3701891B2 (ja) サービス毎の最適通信品質保証ネットワークシステムおよびサービス毎の最適通信品質保証方法
Badrinath et al. Car pooling on the net: Performance and implications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090317

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090330

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees