JP4663100B2 - サーバー、クライアント、通信開始方法及び通信開始プログラム - Google Patents

サーバー、クライアント、通信開始方法及び通信開始プログラム Download PDF

Info

Publication number
JP4663100B2
JP4663100B2 JP2000353439A JP2000353439A JP4663100B2 JP 4663100 B2 JP4663100 B2 JP 4663100B2 JP 2000353439 A JP2000353439 A JP 2000353439A JP 2000353439 A JP2000353439 A JP 2000353439A JP 4663100 B2 JP4663100 B2 JP 4663100B2
Authority
JP
Japan
Prior art keywords
server
client
session
setup
media data
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.)
Expired - Fee Related
Application number
JP2000353439A
Other languages
English (en)
Other versions
JP2002157175A (ja
Inventor
大治 井戸
徹 寺田
優希 堀内
誠治 浦
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2000353439A priority Critical patent/JP4663100B2/ja
Publication of JP2002157175A publication Critical patent/JP2002157175A/ja
Application granted granted Critical
Publication of JP4663100B2 publication Critical patent/JP4663100B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Facsimile Transmission Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、マルチメディアディジタルデータを伝送、再生するためのサーバー、クライアント、通信開始方法及び通信開始プログラムに関し、特にインターネットや無線通信網を通して、画像や音声などのマルチメディアディジタルデータを伝送、再生するためのサーバー、クライアント、通信開始方法及び通信開始プログラムに関する。
【0002】
【従来の技術】
インターネットや無線通信網などのパケット通信回線を通して、画像や音声などのディジタルデータ(マルチメディアデータ)を伝送し、ストリーミングアプリケーションを実行する場合、IETF(Internet Engineering Task Force)で定められているRFC2326またはRTSP(Real Time Streaming Protocol)等のプロトコルにしたがってデータをやり取りする。ここで、RTSPは、マルチメディアデータを再生するクライアントと、マルチメディアデータを保存し提供するサーバーとの間の通信手順や制御方法を定めたプロトコルである。
【0003】
RTSPは、TCP(Transmission Control Protocol)等の信頼性のあるプロトコル上で用いられ、伝送すべきストリームの特定、伝送プロトコルの指定、ストリーム送信開始、ポーズ、及び中止となどの制御を行う機能を備える。
【0004】
TCPは、IP(Internet Protocol)層の上で動作し、プロトコルの上位層にあるクライアントに対して、信頼性のある順番の保証された、フロー制御されたエンド−エンドのオクテットストリームを提供するように設計されたプロトコルである。
【0005】
図15は、ストリーミングアプリケーションの概念を示した図である。マルチメディアデータを再生する場合、クライアント11は、ディジタルデータ(コンテンツ)が保存されているサーバー12に対し、最初にセッション開設やメディアの再生開始といったリクエスト(制御コマンド)を送信する。サーバー12はクライアント11からの制御コマンドに応じて指定されたディジタルデータの送信を開始、または停止する。
【0006】
サーバー12とクライアント11は、上記のようなプロトコルを用いてインターネット13や無線網を通じて互いに接続されている。
【0007】
図16は、RTSPを用いたストリーミングのプロトコル構成の一例を示す図である。サーバーとクライアントは、お互いにIPを用いて通信を行う。
【0008】
また、IPの上位にはTCPやRTP/UDP(Real Time Transport Protocol/User Datagram Protocol)を用いたサーバーとクライアントとの間の通信の通信手順が規定されている。オーディオデータ及びビデオデータなどのコンテンツデータは、リアルタイムで送信する必要があるので、RTP/UDPといったフロー制御や順序制御を行わずにデータを送信するプロトコル上で伝送されることが多い。
【0009】
UDPは、インターネットのホストのペア間で交換されるデータグラムの多重化をサポートするプロトコルである。UDPは、データグラムの再送信、パケット化、再構成、フロー制御、及び輻輳回避等の機能を提供していないので、UDPの上位プロトコルは、これらの機能を提供する必要がある。
【0010】
また、RTSPで用いられる制御コマンドは、リアルタイム性よりも信頼性が重視されることが多いので、TCP上で使用されることが普通である。
【0011】
以下、RTSPを用いた通信開始手順について図17を用いて説明する。図17は、従来のセッション開設及び再生開始の手順を説明するためのシーケンス図である。
【0012】
クライアントは再生したいオーディオやビデオなどのメディアを選択し、各メディアの再生準備をサーバーに対してリクエスト信号を送信する(SETUPコマンド)。
【0013】
サーバーは、要求されたメディアを伝送準備可能であることを通知するために肯定レスポンス信号(ACKコマンド:ACKNOWLEDGEMENT)を送信すると同時に、セッションを固有に識別するセッションIDをクライアントに発行する。
【0014】
クライアントがACKコマンドを受信するとセットアップが完了する。クライアントは再生するすべてのメディアに関するセットアップが完了した後、マルチメディアデータを送るようにサーバーにリクエスト信号(PLAYコマンド)を送信する。
【0015】
複数のメディアデータを同一セッションで再生する場合には、前記複数メディアのセッションIDが同一になるようにする必要がある。図17に示すように、第1のセットアップが終了し、セッションIDがサーバーからクライアントに付与された後、クライアントは第2番目以降のメディアについて付与された前記セッションIDを指定してセットアップを行う。このような方法により共通のセッションIDを用いれば、複数のメディアデータを同一のセッションで送信することができる。
【0016】
また、RTSPでは複数メディアデータを扱う時に、セッションIDがすでに付与されている場合には、同一のSETUPコマンドを複数同時に送信することができる。
【0017】
図18は、従来のセッション開設及び再生開始の手順を説明するためのシーケンス図である。
【0018】
図18に示すように、第2番目以降のSETUPコマンドについては、サーバーから各SETUPコマンドに対する各ACKコマンドを受信するのを待たずに、連続してセットアップリクエスト信号をサーバーに送信することができる。
【0019】
第2番目以降のSETUPコマンドを連続して送信することによって、セットアップ完了までの時間を短縮することができる。
【0020】
【発明が解決しようとする課題】
しかしながら、従来の通信開始方法においては、クライアントとサーバーの間にセッションを確立するために、同一セッションの個々のリクエストについて返答を受信した後に次のリクエストを送信するので、セッションを確立するまでの時間が長いという問題がある。
【0021】
本発明はかかる点に鑑みてなされたものであり、クライアントとサーバーの間にセッションを確立する時間を短縮するサーバー、クライアント、通信開始方法及び通信開始プログラムを提供することを目的とする。
【0022】
【課題を解決するための手段】
本発明のクライアントは、メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成部と、前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信部と、を備え、前記複数の肯定レスポンスには、前記第1のIDとは異なる第2のIDが付与されている。
【0023】
本発明のクライアントは、メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成部と、前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信部と、を備え、前記リクエスト生成部は、前記複数の肯定レスポンスの受信前に前記複数のSETUPコマンドを送信する。
【0024】
また、本発明のサーバーは、クライアントからメディアデータの送信準備をリクエストする複数のSETUPコマンドを同一のIDを用いて連続して送信されるサーバーであって、メディアデータの送信準備をリクエストする複数のSETUPコマンドが同一のクライアントから送信されたか否かをIDに基づいて判定する第一判定手段と、前記複数のSETUPコマンドが同一のクライアントから送信された場合、前記複数のリクエストに対して同一のセッションを開設するセッション設定手段と、を備える。
【0025】
また、本発明の通信開始方法は、メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成ステップと、前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信ステップと、を備え、前記複数の肯定レスポンスには、前記第1のIDとは異なる第2のIDが付与されている。
【0026】
また、本発明の通信開始方法は、メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成ステップと、前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信ステップと、を備え、前記リクエスト生成ステップは、前記複数の肯定レスポンスの受信前に前記複数のSETUPコマンドを送信する。
【0027】
また、本発明の通信開始方法は、クライアントからメディアデータの送信準備をリクエストする複数のSETUPコマンドを同一のIDを用いて連続して送信されるサーバーにおける通信開始方法であって、メディアデータの送信準備をリクエストする複数のSETUPコマンドが同一のクライアントから送信されたか否かをIDに基づいて判定する第一判定ステップと、前記複数のSETUPコマンドが同一のクライアントから送信された場合、前記複数のリクエストに対して同一のセッションを開設するセッション設定ステップと、を備える。
【0028】
また、本発明の通信開始プログラムは、コンピュータに、メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成ステップと、前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信ステップと、を実行させるための通信開始プログラムであって、前記複数の肯定レスポンスには、前記第1のIDとは異なる第2のIDが付与されている。
【0029】
また、本発明の通信開始プログラムは、コンピュータに、メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成ステップと、前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信ステップと、を実行させるための通信開始プログラムであって、前記リクエスト生成ステップは、前記複数の肯定レスポンスの受信前に前記複数のSETUPコマンドを送信する。
【0030】
また、本発明の通信開始プログラムは、クライアントからメディアデータの送信準備をリクエストする複数のSETUPコマンドを同一のIDを用いて連続して送信されるサーバーに、メディアデータの送信準備をリクエストする複数のSETUPコマンドが同一のクライアントから送信されたか否かをIDに基づいて判定する第一判定ステップと、前記複数のSETUPコマンドが同一のクライアントから送信された場合、前記複数のリクエストに対して同一のセッションを開設するセッション設定ステップと、を実行させる。
【0060】
【発明の実施の形態】
本発明の骨子は、サーバーとクライアント間の同一セッションの通信において、クライアントは、同一のセッションのリクエストを連続してサーバーに送信し、サーバーは、クライアントを区別する情報を用いて複数のリクエストが同じクライアントから送信されか否かを判定し、複数のリクエストが同じクライアントから送信された場合、前記複数のリクエストに対して同一のセッションを開設することである。
【0061】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0062】
(実施の形態1)
図1は、本発明の実施の形態1に係るサーバー及びクライアントの構成を示すブロック図である。
【0063】
図1において、クライアント100は、要求セッションID生成部101と、リクエスト生成部102と、レスポンス受信部103と、メディア受信部104と、メディア再生部105とから主に構成される。また、サーバー110は、リクエスト受信部111と、セッションID割当部112と、レスポンス送信部113と、メディア送信部114とから主に構成される。
【0064】
要求セッションID生成部101は、新たなセッションを設定する場合、セッションIDを生成してリクエスト生成部102に出力する。
【0065】
リクエスト生成部102は、サーバー110と通信を開始する場合、最初にメディアデータの送信を要求するSETUPコマンドと、要求セッションID生成部101から出力されたセッションIDとをサーバー110に送信する。
【0066】
また、リクエスト生成部102は、レスポンス受信部103からメディアデータが送信可能であることを通知された後に、各メディアデータの送信を要求するPLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にサーバー110に送信する。
【0067】
レスポンス受信部103は、サーバー110から受信したセッションIDをリクエスト生成部102に出力する。また、レスポンス受信部103は、サーバー110からACKコマンドを受信した場合、リクエスト生成部102にメディアデータがサーバーから送信可能であることを通知する。
【0068】
また、レスポンス受信部103は、サーバー110からクライアント100にメディアデータを伝送することを通知するACKコマンドを受信した場合、メディアデータが送信されることをメディア受信部104に通知する。
【0069】
メディア受信部104は、レスポンス受信部103からメディアデータが送信されることを通知された場合、サーバー110から送信されたメディアデータを受信してメディア再生部105に出力する。
【0070】
メディア再生部105は、メディア受信部104から出力されたメディアデータを再生する。
【0071】
リクエスト受信部111は、クライアント100からセッションIDを受信すると、このセッションIDをセッションID割当部112に出力する。
【0072】
また、リクエスト受信部111は、クライアント100からSETUPコマンドを受信すると、メディアデータを送信する準備をメディア送信部114に指示する。また、リクエスト受信部111は、クライアント100からPLAYコマンドを受信すると、メディアデータの送信をメディア送信部114に指示する。
【0073】
セッションID割当部112は、リクエスト受信部111から出力されたセッションIDが使用可能か否か判断し、使用可能である場合、セッションID割当部112は、リクエスト受信部111から出力されたセッションIDをレスポンス送信部113に出力する。
【0074】
また、セッションID割当部112は、同じIDがすでに使用されている等の理由により、リクエスト受信部111から出力されたセッションIDとが使用できない場合、使用可能なセッションIDを発行してレスポンス送信部113に出力する。
【0075】
また、セッションID割当部112は、IPアドレス等のクライアントを識別することが可能な情報を用いて同じクライアントから送信されたセッションIDか否かを判断する。
【0076】
複数のリクエストが同じクライアントから送信されたセッションIDを使用している場合、セッションID割当部112は、1つのセッションで複数のメディアを扱うと判断して同じセッションIDをレスポンス送信部113に出力する。
【0077】
また、異なるクライアントから同じセッションIDが送信された場合、セッションID割当部112は、このセッションIDがすでに使用されていると判断し、使用可能な別のセッションIDを新たに生成してレスポンス送信部113に出力する。
【0078】
レスポンス送信部113は、メディア送信部114からメディア送信の準備が出来たことの通知を受けると、セッションID割当部112から出力されたセッションIDとACKコマンドとをクライアント100に送信する。
【0079】
メディア送信部114は、リクエスト受信部111から出力された指示に従い、メディア送信の準備を行う。そして、メディア送信部114は、メディア送信の準備ができた後に、レスポンス送信部113にメディア送信の準備が完了したことを通知し、送信の指示に従ってメディアデータをクライアント100に送信する。
【0080】
次に、上記構成を有するサーバー及びクライアントにおける、セッション開設及び再生開始の手順の一例を、シーケンス図を用いて説明する。図2は、本発明の実施の形態1に係るセッション開設及び再生開始の手順を説明するための第1のシーケンス図である。
【0081】
図2において、クライアント100の要求セッションID生成部101は、セッションID(12345678)を生成し、リクエスト生成部102は、このセッションIDを第1番目のメディア(VIDEO1)のSETUPコマンドと共にサーバー110に送信する。
【0082】
次に、クライアント100において、リクエスト生成部102は、第2番目のメディア(VIDEO2)のSETUPコマンドと第1メディアと同一の要求セッションID(12345678)をサーバー110に送信する。
【0083】
次に、クライアント100において、リクエスト生成部102は、第3番目のメディア(AUDIO1)のSETUPコマンドと第1メディアと同一の要求セッションID(12345678)をサーバー110に送信する。
【0084】
サーバー110において、セッションID割当部112は、受信したセッションID(12345678)が使用可能か否か判断し、受信したセッションID(12345678)が使用可能である場合、レスポンス送信部113は、VIDEO1のSETUPコマンドに対するACKコマンドをクライアント100に送信する。VIDEO2のSETUPコマンド及びAUDIO1のSETUPコマンドと共に送信されたセッションIDに対しても同様にACKコマンドをそれぞれ送信する。
【0085】
クライアント100は、全てのメディアのACKコマンドを受信することによりサーバー110側でメディアデータのセットアップが完了したことがわかり、次にメディアの送信要求(PLAY)コマンドをサーバー110に送信する。
【0086】
サーバー110は、PLAYに対応するACKコマンドをクライアント100に送信し、その後、マルチメディアデータの送信を開始する。サーバー110は、マルチメディアデータを全て送信し終えるかクライアント100から停止要求がなされるまでマルチメディアデータをクライアント100に送信し続ける。
【0087】
次に、クライアントが発行したセッションIDが使用できない場合について図3を用いて説明する。図3は、本発明の実施の形態1に係るセッション開設及び再生開始の手順を説明するための第2のシーケンス図である。
【0088】
図3において、クライアント100は、セッションID(12345678)を生成し、このセッションIDをVIDEO1のSETUPコマンドと共にサーバー110に送信する。
【0089】
次に、クライアントは、VIDEO2のSETUPコマンドとVIDEO1と同一の要求セッションID(12345678)を送信する。クライアントは、AUDIO1のSETUPコマンドとVIDEO1と同一の要求セッションID(12345678)を送信する。
【0090】
サーバー110は、受信したセッションID(12345678)が使用不可能であると判断した場合、使用可能なセッションID(7777777)を新たに生成してクライアント100に送信する。VIDEO2のSETUPコマンド及びAUDIO1のSETUPコマンドと共に送信されたセッションID(12345678)に対しても同様にサーバー110が新たに生成したセッションID(7777777)をクライアント100に送信する。
【0091】
クライアント100は、全てのメディアのACKコマンドとサーバー110が新たに生成したセッションID(7777777)を受信することによりサーバー110側でメディアデータのセットアップが完了したことがわかる。
【0092】
そこで、クライアント100は、全てのメディアのACKコマンドを受信した後に、サーバー110が新たに生成したセッションID(7777777)とPLAYコマンドとをサーバー110に送信して、マルチメディアデータを送信するようサーバー110に要求する。
【0093】
サーバー110は、PLAYコマンドに対してACKコマンドをクライアント100に送信し、その後、マルチメディアデータの送信を開始する。サーバー110は、マルチメディアデータを全て送信し終えるかクライアント100から停止要求がなされるまでマルチメディアデータをクライアント100に送信し続ける。
【0094】
このように、サーバーは、クライアントを区別する情報を用いて複数のリクエストが同じクライアントから送信されたか否か判断して、同じクライアントから送信された複数のリクエストに対して同一のセッションを開設することにより、クライアントは、同一のセッションのリクエストを連続してサーバーに送信することができる。
【0095】
従って、サーバーからの返答を待つ時間を減少させることができ、クライアントとサーバーの間にセッションを確立する時間を短縮することができる。
【0096】
また、クライアントが生成したセッションIDを用いてセッションを開設することにより、クライアントは、同一のセッションのリクエストを連続してサーバーに送信することができ、サーバーからの返答を待つ時間を減少させることができ、クライアントとサーバーの間にセッションを確立する時間を短縮することができる。
【0097】
また、セッションIDが重複する場合でも、サーバーが生成したセッションIDを用いることにより、セッションを開設することができるので、クライアントは、同一のセッションのリクエストを連続してサーバーに送信することができる。
【0098】
なお、本実施の形態では、再生するメディアデータがビデオ2つ、オーディオ1つの場合を示したが、それ以外のメディアの構成を採ることもできる。
【0099】
また、クライアントが生成するセッションIDは、クライアント固有に設定された情報に基づいて生成することもできる。例えば、クライアントのIPアドレスやMAC(Media Access Control)アドレス等をセッションIDとして生成することもできる。また、携帯電話をクライアントとした場合、携帯電話の番号をセッションIDとして生成することもできる。この場合、セッションIDの重複をさけることができる。
【0100】
(実施の形態2)
図4は、本発明の実施の形態2に係るサーバー及びクライアントの構成を示すブロック図である。但し、図1と同一の構成となるものについては、図1と同一番号を付し、詳しい説明を省略する。
【0101】
本発明の実施の形態2のサーバー及びクライアントは、送信方法判定部201と、リクエスト生成部202とを具備し、通信に用いる下位プロトコルがリクエストの確実な到着及び送信順序と到着順序が同じであることを保証か否かを判断して、リクエストの送信タイミングを決定する点が実施の形態1のサーバー及びクライアントと異なる。
【0102】
以下、TCPをリクエストの確実な到着及び送信順序と到着順序が同じであることを保証するプロトコル、UDPをリクエストの確実な到着及び送信順序と到着順序が同じであることを保証しないプロトコルの例として説明する。
【0103】
図4において、送信方法判定部201は、プロトコル情報に基づいてリクエストを送信する際に用いる下位プロトコルが、TCPであるか否かを判断して、判断結果をリクエスト生成部202に出力する。
【0104】
具体的には、送信方法判定部201は、リクエストを送信する際に用いる下位プロトコルが、TCPであるかUDPであるか判断して、判断結果をリクエスト生成部202に出力する。
【0105】
レスポンス受信部103は、サーバー110から受信したセッションIDをリクエスト生成部202に出力する。また、レスポンス受信部103は、サーバー110からACKコマンドを受信した場合、リクエスト生成部202にメディアデータが送信可能であることを通知する。
【0106】
リクエスト生成部202は、メディアの再生準備をサーバー110に要求するSETUPコマンドをサーバー110に送信する。
【0107】
そして、リクエスト生成部202は、送信方法判定部201における判定の結果、下位プロトコルがUDPである場合、レスポンス受信部103からメディアデータが伝送可能であることを通知された後に、各メディアデータの送信を要求するPLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にサーバー110に送信する。
【0108】
また、リクエスト生成部202は、送信方法判定部201における判定の結果、下位プロトコルがTCPである場合、レスポンス受信部103から出力されるメディアデータが伝送可能であることを通知されるまたは通知されないことに関係なく、メディアの再生準備をサーバー110に要求するSETUPコマンドを出力した後に、レスポンス受信部103から出力されたセッションIDとPLAYコマンドとをサーバー110に送信する。
【0109】
次に、上記構成を有するクライアントの動作について図5に示すフロー図を用いて説明する。
【0110】
図5は、本発明の実施の形態2に係るクライアントの動作の例を示すフロー図である。
【0111】
ST301では、リクエスト生成部202が、PLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にサーバー110に送信する。
【0112】
ST302では、送信方法判定部201が、リクエストを送信する際に用いる下位プロトコルが、TCPかUDPかを判断し、下位プロトコルがTCPである場合、ST304に進む。
【0113】
また、下位プロトコルがUDPである場合、ST307に進む。
【0114】
ST303では、リクエスト生成部202が、メディアデータの送信を要求したすべてのリクエストに対してレスポンス受信部103からメディアデータが伝送可能であることを通知された場合、ST304に進む。
【0115】
ST304では、リクエスト生成部202が、PLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にサーバー110に送信する。
【0116】
ST305では、レスポンス受信部103が、サーバー110に送信したPLAYコマンドに対してレスポンス受信部103からメディアデータが伝送開始することを通知された場合、ST306に進む。
【0117】
ST306では、メディア受信部104がサーバー110から送信されたメディアデータを受信する。
【0118】
ST307では、リクエスト生成部202が、PLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にサーバー110に送信する。
【0119】
ST308では、レスポンス受信部103が、サーバー110に送信したSTUPコマンド及びPLAYコマンドに対してレスポンス受信部103からメディアデータが伝送開始することを通知された場合、ST309に進む。
【0120】
ST309では、メディア受信部104がサーバー110から送信されたメディアデータを受信する。
【0121】
次に、上記構成を有するサーバー及びクライアントにおける、セッション開設及び再生開始の手順の一例を、シーケンス図を用いて説明する。図6は、本発明の実施の形態2に係るセッション開設及び再生開始の手順を説明するためのシーケンス図である。
【0122】
図6において、クライアント200において、リクエスト生成部102は、第1番目のメディア(VIDEO1)のSETUPコマンドをサーバー110に送信する。
【0123】
サーバー110において、セッションID割当部112は、セッションID(12345678)を生成し、このセッションIDとVIDEO1のSETUPコマンドに対するACKコマンドとをクライアント200に送信する。
【0124】
次に、クライアント200において、リクエスト生成部102は、VIDEO2のSETUPコマンドとサーバー110から送信されたセッションID(12345678)とをサーバー110に送信する。
【0125】
次に、クライアント200において、リクエスト生成部102は、AUDIO1のSETUPコマンドと第2メディアと同一のセッションID(12345678)とをサーバー110に送信する。その後、クライアント200は、PLAYコマンドをサーバー110に送信する。
【0126】
サーバー110において、クライアント200からVIDEO2のSETUPコマンドを受信し、VIDEO2のデータを送信準備が整った後に、レスポンス送信部113は、VIDEO2のSETUPコマンドに対するACKコマンドをクライアント200に送信する。
【0127】
また、AUDIO1のSETUPコマンドと共に送信されたセッションIDに対しても同様にACKコマンドをクライアント200に送信する。
【0128】
サーバー110は、クライアント200からPLYAコマンドを受信すると、PLAYに対応するACKコマンドをクライアント200に送信し、その後、マルチメディアデータの送信を開始する。サーバー110は、マルチメディアデータを全て送信し終えるかクライアント200から停止要求がなされるまでマルチメディアデータをクライアント200に送信し続ける。
【0129】
クライアントは、要求の確実な到着及び送信順序と到着順序が同じであることを保証するプロトコルを用いる場合には、送信準備の要求と送信の要求を連続して送信することにより、サーバーは、同一セッションの全ての送信準備の要求を受信した後に、送信開始の要求を受信することができる。
【0130】
従って、サーバーからの返答を待つ時間を減少させることができ、クライアントとサーバーの間にセッションを確立する時間を短縮することができる。
【0131】
なお、本実施の形態では、下位プロトコルとして、TCPとUDPを用いて説明しているが、これに限らず、TCPの代わりにリクエストの確実な到着及び送信順序と到着順序が同じであることを保証するプロトコル、UDPの代わりにリクエストの確実な到着及び送信順序と到着順序が同じであることを保証しないプロトコルを用いることができる。
【0132】
(実施の形態3)
図7は、本発明の実施の形態3に係るサーバー及びクライアントの構成を示すブロック図である。但し、図1と同一の構成となるものについては、図1と同一番号を付し、詳しい説明を省略する。
【0133】
本発明の実施の形態3のサーバー及びクライアントは、送信方法判定部301と、リクエスト生成部302とを具備し、通信に用いる下位プロトコルがリクエストの確実な到着及び送信順序と到着順序が同じであることを保証するか否かを判断して、この順番が保証される場合、メディアデータを要求するリクエストとメディアデータの送信を要求するリクエストを連続して送信する点が実施の形態1のサーバー及びクライアントと異なる。
【0134】
以下、TCPをリクエストの確実な到着及び送信順序と到着順序が同じであることを保証するプロトコル、UDPをリクエストの確実な到着及び送信順序と到着順序が同じであることを保証しないプロトコルの例として説明する。
【0135】
図7において送信方法判定部301は、プロトコル情報に基づいてリクエストを送信する際に用いる下位プロトコルが、TCPであるかUDPであるかを判断して、判断結果をリクエスト生成部302に出力する。
【0136】
レスポンス受信部103は、サーバー110からセッションIDを受信してリクエスト生成部302に出力する。
【0137】
また、レスポンス受信部103は、サーバー110からACKコマンドを受信した場合、メディアデータが送信可能であることをリクエスト生成部302に通知する。
【0138】
リクエスト生成部302は、メディアの再生準備をサーバー110に要求するSETUPコマンドをサーバー110に送信する。
【0139】
そして、リクエスト生成部302は、送信方法判定部301における判定の結果、下位プロトコルがUDPである場合、レスポンス受信部103からメディアデータが伝送可能であることを通知されると、PLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にサーバー110に送信する。
【0140】
また、リクエスト生成部302は、送信方法判定部301における判定の結果、下位プロトコルがTCPである場合、レスポンス受信部103から出力されるメディアデータが伝送可能であることの通知に関係なく、メディアの再生準備をサーバー110に要求するSETUPコマンドを出力した後に、PLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にサーバー110に送信する。
【0141】
次に、上記構成を有するサーバー及びクライアントにおける、セッション開設及び再生開始の手順の一例を、シーケンス図を用いて説明する。図8は、本発明の実施の形態3に係るセッション開設及び再生開始の手順を説明するためのシーケンス図である。
【0142】
最初にクライアント300において、要求セッションID生成部101は、セッションID(12345678)を生成し、リクエスト生成部302は、このセッションIDをVIDEO1のSETUPコマンドと共にサーバー110に送信する。
【0143】
次に、クライアント300において、リクエスト生成部302は、VIDEO2のSETUPコマンドと第1番目のメディアと同一のセッションID(12345678)をサーバー110に送信する。
【0144】
次に、クライアント300において、リクエスト生成部302は、AUDIO1のSETUPコマンドと第1番目のメディアと同一のセッションID(12345678)をサーバー110に送信する。
【0145】
次に、クライアント300において、リクエスト生成部302は、PLAYコマンドをサーバー110に送信する。
【0146】
サーバー110において、セッションID割当部112は、受信したセッションID(12345678)が使用可能か否か判断し、受信したセッションID(12345678)が使用可能である場合、レスポンス送信部113は、VIDEO1のSETUPコマンドに対するACKコマンドをクライアント300に送信する。
【0147】
サーバー110において、レスポンス送信部113は、VIDEO2のSETUPコマンドに対するACKコマンドをクライアント300に送信する。また、レスポンス送信部113は、AUDIO1のSETUPコマンドに対しても同様にACKコマンドをクライアント300に送信する。
【0148】
サーバー110は、クライアント200から要求されたマルチメディアデータの送信準備が整った後、PLAYに対応するACKコマンドをクライアント300に送信し、その後、マルチメディアデータの送信を開始する。サーバー110は、マルチメディアデータを全て送信し終えるかクライアント300から停止要求がなされるまでマルチメディアデータをクライアント300に送信し続ける。
【0149】
このように、サーバーは、クライアントを区別する情報を用いて複数のリクエストが同じクライアントから送信されたか否か判断して、同じクライアントから送信された複数のリクエストに対して同一のセッションを開設することにより、クライアントは、同一のセッションのリクエストを連続してサーバーに送信することができる。
【0150】
従って、サーバーからの返答を待つ時間を減少させることができ、クライアントとサーバーの間にセッションを確立する時間を短縮することができる。
【0151】
さらに、サーバーは、クライアントを区別する情報を用いて複数のリクエストが同じクライアントから送信されたか否か判断して、同じクライアントから送信された複数のリクエストに対して同一のセッションを開設することにより、クライアントは、要求の確実な到着及び送信順序と到着順序が同じであることを保証するプロトコルを用いる場合に、送信準備の要求と送信の要求を連続して送信することができる。
【0152】
従って、サーバーからの返答を待つ時間を減少させることができ、クライアントとサーバーの間にセッションを確立する時間を短縮することができる。
【0153】
なお、本実施の形態では、下位プロトコルとして、TCPとUDPを用いて説明しているが、これに限らず、TCPの代わりにリクエストの確実な到着及び送信順序と到着順序が同じであることを保証するプロトコル、UDPの代わりにリクエストの確実な到着及び送信順序と到着順序が同じであることを保証しないプロトコルを用いることができる。
【0154】
(実施の形態4)
図9は、本発明の実施の形態4に係るサーバー、ゲートウェイ及びクライアントの構成を示すブロック図である。但し、図1または図4と同一の構成となるものについては、図1または図4と同一番号を付し、詳しい説明を省略する。
【0155】
本発明の実施の形態4では、ゲートウェイを介して、通信手順の異なるプロトコル間での通信を可能とする点が実施の形態1と異なる。
【0156】
図9において、ゲートウェイ400は、リクエスト受信部401と、リクエスト送信部402と、バッファ403と、レスポンス受信部404と、レスポンス送信部405と、メディア中継部406とから主に構成される。
【0157】
リクエスト生成部202は、要求セッションID生成部101から出力されたセッションIDとメディアの再生準備をサーバー110に要求するSETUPコマンドとをゲートウェイ400に送信する。
【0158】
そして、リクエスト生成部202は、送信方法判定部201における判定の結果、下位プロトコルがリクエストの確実な到着及び送信順序と到着順序が同じであることを保証しないプロトコルである場合、レスポンス受信部103からメディアデータが伝送可能であることを通知されると、PLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にゲートウェイ400に送信する。
【0159】
また、リクエスト生成部202は、送信方法判定部201における判定の結果、下位プロトコルがリクエストの確実な到着及び送信順序と到着順序が同じであることを保証するプロトコルである場合、レスポンス受信部103から出力されるメディアデータが伝送可能であることを通知に関係なく、メディアの再生準備をサーバー110に要求するSETUPコマンドを出力した後に、PLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にゲートウェイ400に送信する。
【0160】
リクエスト受信部401は、クライアント200から送信されたリクエストを受信してリクエスト送信部402に出力する。
【0161】
リクエスト送信部402は、リクエスト受信部401から出力されたリクエストがマルチメディアデータを要求するSETUPコマンドである場合、リクエストをサーバー110に送信する。
【0162】
また、リクエスト送信部402は、リクエスト受信部401から出力されたリクエストがPLAYコマンドである場合、リクエストをバッファ403に出力し、同じセッションIDを使用するSETUPコマンドに対するACKコマンドを受信した通知をレスポンス受信部404から受け取った後に、バッファ403からPLAYコマンドを含むリクエストを取り出してサーバー110に送信する。
【0163】
バッファ403は、リクエスト送信部402から出力されたリクエストを記憶する。
【0164】
レスポンス送信部113は、メディア送信部114からメディア送信の準備が出来たことの通知を受けると、セッションID割当部112から出力されたセッションIDとACKコマンドとをクライアント200に送信する。
【0165】
レスポンス受信部404は、レスポンス送信部113から出力されたACKコマンドを受信してレスポンス送信部405に出力する。また、レスポンス受信部404は、ACKコマンドを受信したことをリクエスト送信部402に通知する。
【0166】
レスポンス送信部405は、レスポンス受信部404から出力されたACKコマンドをクライアント200に送信する。
【0167】
メディア送信部114は、リクエスト受信部111から出力された指示に従い、メディア送信の準備を行う。そして、メディア送信部114は、メディア送信の準備ができた後に、レスポンス送信部113にメディア送信の準備が出来たことを通知し、メディアデータをゲートウェイ400に送信する。
【0168】
メディア中継部406は、サーバー110から送信されたメディアデータをクライアント200に送信する。
【0169】
次に、上記構成を有するサーバー、ゲートウェイ及びクライアントにおける、セッション開設及び再生開始の手順の一例を、シーケンス図を用いて説明する。
図10は、本発明の実施の形態4に係るセッション開設及び再生開始の手順を説明するためのシーケンス図である。
【0170】
図10において、クライアント200において、リクエスト生成部202は、VIDEO1のSETUPコマンドをゲートウェイ400に送信し、ゲートウェイ400は、このSETUPコマンドをサーバー110に送信する。
【0171】
サーバー110において、セッションID割当部112は、セッションID(12345678)を生成し、このセッションIDとVIDEO1のSETUPコマンドに対するACKコマンドをゲートウェイ400に送信し、ゲートウェイ400は、このセッションIDとACKコマンドとをクライアント200に送信する。
【0172】
次に、クライアント200において、レスポンス受信部103は、セッションIDとACKコマンドとを受け取ると、リクエスト生成部202は、VIDEO2のSETUPコマンドとサーバー110から送信されたセッションID(12345678)をゲートウェイ400に送信する。
【0173】
次に、クライアント200において、リクエスト生成部202は、AUDIO1のSETUPコマンドと第1番目のメディアと同一のセッションID(12345678)をゲートウェイ400に送信する。
【0174】
そして、クライアント200は、PLAYコマンドをゲートウェイ400に送信する。
【0175】
ゲートウェイ400は、クライアント200から送信されたVIDEO2のSETUPコマンド、AUDIO1のSETUPコマンド、及びPLAYのうち、VIDEO2のSETUPコマンド及びAUDIO1のSETUPコマンドをセッションIDと共にサーバー110に送信し、PLAYをバッファ403に記憶する。
【0176】
サーバー110において、レスポンス送信部113は、VIDEO2のSETUPコマンドに対するACKコマンドをクライアント200に送信する。また、AUDIO1のSETUPコマンドと共に送信されたセッションIDに対しても同様にACKコマンドをクライアント200に送信する。
【0177】
ゲートウェイ400は、サーバー110からVIDEO2のSETUPコマンド及びAUDIO1のSETUPコマンドに対するACKコマンドを受信して、同一のセッションIDで要求した全てのETUP要求に対するACKコマンドを受信した後にバッファ403からPLAYリクエストを取り出してサーバー110に送信する。
【0178】
また、ゲートウェイ400は、受信したVIDEO2のSETUPコマンド及びAUDIO1のSETUPコマンドに対するACKコマンドをクライアント200に送信する。
【0179】
サーバー110は、クライアント200から要求されたマルチメディアデータの送信準備が整った後、受信したPLAYに対応するACKコマンドをゲートウェイ400に送信し、その後にマルチメディアデータをゲートウェイ400に送信し始める。サーバー110は、マルチメディアデータを全て送信し終えるかクライアント200からゲートウェイ400を通して停止要求がなされるまでマルチメディアデータを、ゲートウェイ400を通してクライアント200に送信し続ける。
【0180】
クライアントは、要求の確実な到着及び送信順序と到着順序が同じであることを保証するプロトコルを用いる場合には、送信準備の要求と送信の要求を連続して送信することにより、サーバーは、同一セッションの全ての送信準備の要求を受信した後に、送信開始の要求を受信することができる。
【0181】
従って、サーバーからの返答を待つ時間を減少させることができ、クライアントとサーバーの間にセッションを確立する時間を短縮することができる。
【0182】
また、本実施の形態のゲートウェイによれば、送信準備の要求に対する返答をサーバーから受信した後に、送信をサーバーに要求することにより、クライアントは、送信準備の要求と送信の要求を連続して送信することができる。
【0183】
従って、本発明の通信開始方法と異なる通信開始方法を用いる通信装置との通信を行うことができ、かつクライアントとサーバーの間にセッションを確立する時間を短縮することができる。
【0184】
(実施の形態5)
図11は、本発明の実施の形態5に係るサーバー、ゲートウェイ及びクライアントの構成を示すブロック図である。但し、図1または図7と同一の構成となるものについては、図1または図7と同一番号を付し、詳しい説明を省略する。
【0185】
実施の形態5のゲートウェイは、セッションID変換部502を具備し、クライアントとの通信に用いるセッションIDとサーバーとの通信に用いるセッションIDを対応つけて記憶し、セッションIDを変換する点が実施の形態4と異なる。
【0186】
図11において、ゲートウェイ500は、リクエスト受信部501と、セッションID変換部502と、リクエスト送信部503と、バッファ504と、レスポンス受信部505と、レスポンス送信部506と、メディア中継部507とから主に構成される。
【0187】
リクエスト生成部302は、メディアの再生準備をサーバー110に要求するSETUPコマンドを要求セッションID生成部101から出力されたセッションIDと共にゲートウェイ500に送信する。
【0188】
そして、リクエスト生成部302は、送信方法判定部301における判定の結果、下位プロトコルがリクエストの確実な到着及び送信順序と到着順序が同じであることを保証しないプロトコルである場合、レスポンス受信部103からメディアデータが伝送可能であることを通知されると、PLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にゲートウェイ500に送信する。
【0189】
また、リクエスト生成部302は、送信方法判定部301における判定の結果、下位プロトコルがリクエストの確実な到着及び送信順序と到着順序が同じであることを保証するプロトコルである場合、レスポンス受信部103から出力されるメディアデータが伝送可能であることを通知に関係なく、メディアの再生準備をサーバー110に要求するSETUPコマンドを出力した後に、PLAYコマンドをレスポンス受信部103から出力されたセッションIDと共にゲートウェイ500に送信する。
【0190】
リクエスト受信部501は、クライアント300から送信されたリクエストを受信してリクエスト送信部503に出力し、クライアント300から送信されたセッションIDをセッションID変換部502に出力する。
【0191】
セッションID変換部502は、リクエスト受信部501から出力されたセッションIDをサーバー110から送信されたセッションIDに変換してリクエスト送信部503に出力する。変換するセッションIDが設定されていない場合、セッションID変換部502は、セッションIDが設定されていないことをリクエスト送信部503に出力する。
【0192】
また、セッションID変換部502は、レスポンス受信部505から出力されたセッションIDをクライアント300から送信されたセッションIDに変換してレスポンス送信部506に出力する。
【0193】
リクエスト送信部503は、リクエスト受信部501から出力されたリクエストに対して、ゲートウェイ500とサーバー110との間の通信のセッションIDが設定されていない場合、このリクエストとセッションIDの要求とをサーバー110に送信する。
【0194】
また、リクエスト送信部503は、リクエスト受信部501から出力されたリクエストに対する返答を受信していない場合、同一セッションの他のリクエストをバッファ504に出力する。
【0195】
そして、リクエスト送信部503は、リクエストに対する返答を受信した後に、他のリクエストを一つバッファ504から取り出してセッションID変換部502から出力されたセッションIDと共にサーバー110に送信する。この時、ゲートウェイ500は、受信した順番と同じ順番でリクエストをサーバー110に送信する。
【0196】
バッファ504は、リクエスト送信部503から出力されたリクエストを記憶する。
【0197】
レスポンス送信部113は、セッションID割当部112から出力されたセッションIDをゲートウェイ500に送信する。また、レスポンス送信部113は、リクエストの返答としてACKコマンドをゲートウェイ500に送信する。
【0198】
レスポンス受信部505は、レスポンス送信部113から出力されたACKコマンドを受信してレスポンス送信部506に出力し、レスポンス送信部113から出力されたセッションIDをセッションID変換部502に出力する。また、レスポンス受信部505は、ACKコマンドを受信したことをリクエスト送信部503に通知する。
【0199】
レスポンス送信部506は、レスポンス受信部505から出力されたACKコマンドをセッションID変換部502から出力されたセッションIDと共にクライアント300に送信する。
【0200】
メディア送信部114は、リクエスト受信部111から出力された指示に従い、メディア送信の準備を行う。メディア送信部114は、メディア送信の準備ができた後に、レスポンス送信部113にメディア送信の準備が出来たことを通知し、メディアデータをゲートウェイ500に送信する。
【0201】
メディア中継部507は、サーバー110から送信されたメディアデータをクライアント300に送信する。
【0202】
次に、上記構成を有するサーバー及びクライアントにおける、セッションID変換について説明する。
【0203】
ゲートウェイは、複数のクライアントまたは複数のサーバーの通信の中継を行うので、複数のクライアント及び複数のサーバーを識別する必要がある。
【0204】
図12は、本実施の形態に係るクライアント、ゲートウェイ、及びサーバーの構成を示す図である。
【0205】
図12において、ゲートウェイ601は、クライアント611、クライアント612及びクライアント613と同一セグメントのネットワークで接続している。また、ゲートウェイ601は、サーバー621及びサーバー622と同一セグメントのネットワークで接続している。
【0206】
クライアント611、クライアント612及びクライアント613は、ゲートウェイ601を介してプロトコル変換を行いサーバー621及びサーバー622と通信を行う。
【0207】
図13は、上記構成を有するゲートウェイにおけるセッションID変換テーブルの一例を示す図である。
【0208】
図13において、クライアント情報とクライアントとゲートウェイ間で用いられるセッションIDの一組と、サーバー情報とサーバーとゲートウェイ間で用いられるセッションIDの一組がそれぞれ対応している。
【0209】
ここで、クライアント情報は、複数のクライアントを識別する情報であり、例としてIPアドレスを用いている。同様に、サーバー情報は、複数のサーバーを識別する情報であり、例としてIPアドレスを用いている。
【0210】
ここでは、クライアント611のIPアドレスを192.168.0.101、クライアント612のIPアドレスを192.168.0.102、クライアント3のIPアドレスを192.168.0.103とし、サーバー621のIPアドレスを192.200.0.1、サーバー622のIPアドレスを192.200.0.2とする。
【0211】
クライアント611、クライアント612、及びクライアント613は、同一セグメントのネットワークでゲートウェイ601と接続されている。また、サーバー621及びサーバー622は、クライアント611、クライアント621、及びクライアント613と異なるセグメントのネットワークでゲートウェイ601と接続されている。
【0212】
例えば、クライアント611がセッションID12345678とリクエストをサーバー611に送信する場合、ゲートウェイ601は、このセッションIDとリクエストをサーバー611に送信する。
【0213】
サーバー611は、ゲートウェイ601から送信されたセッションID12345678が使用可能であると判断し、このセッションIDとACK信号をゲートウェイ601に送信する。
【0214】
ゲートウェイ601は、サーバー611から送信されたセッションID12345678とクライアント611から送信されたセッションID12345678を対応つけて記憶し、以降クライアント611のセッションID12345678とサーバー611のセッションID12345678との通信を確保する。
【0215】
次に、クライアント612がセッションID12345678とリクエストをサーバー621に送信する場合、ゲートウェイ601は、このセッションIDがすでに使用されているので新たなセッションIDの要求とリクエストをサーバー621に送信する。
【0216】
サーバー621は、新たなセッションID00001111とACK信号をゲートウェイ601に送信する。
【0217】
ゲートウェイ601は、サーバー621から送信されたセッションID00001111とクライアント611から送信されたセッションID12345678を対応つけて記憶し、以降クライアント611のセッションID12345678とサーバー621のセッションID00001111との通信を確保する。
【0218】
同様に、複数のサーバーで同じセッションIDを生成した場合でも、サーバーを識別する情報を用いて通信を区別することができる。
【0219】
例えば、クライアント613とサーバー622の通信においてサーバー622がセッションID00001111を生成してゲートウェイ601に送信した場合、ゲートウェイ601は、同じセッションIDを生成したサーバー621とサーバー622とを、IPアドレスを用いて識別し、それぞれの通信相手であるサーバー621とサーバー622を区別して信号を送信する。
【0220】
次に、上記構成を有するサーバー、ゲートウェイ及びクライアントにおける、セッション開設及び再生開始の手順の一例を、シーケンス図を用いて説明する。
図14は、本発明の実施の形態5に係るセッション開設及び再生開始の手順を説明するためのシーケンス図である。
【0221】
図14において、クライアント300において、リクエスト生成部302は、第1番目のメディア(VIDEO1)のSETUPコマンドをゲートウェイ500に送信し、ゲートウェイ500は、このSETUPコマンドをサーバー110に送信する。
【0222】
次に、クライアント300において、リクエスト生成部302は、VIDEO2のSETUPコマンドをゲートウェイ500に送信する。
【0223】
次に、クライアント300において、リクエスト生成部302は、AUDIO1のSETUPコマンドをゲートウェイ500に送信する。
【0224】
ゲートウェイ500は、クライアント300から送信されたVIDEO1のSETUPコマンドをサーバー110に出力し、VIDEO2のSETUPコマンド及びAUDIO1のSETUPコマンドをバッファ504に記憶する。
【0225】
サーバー110において、VIDEO1のSETUPコマンドに対応するデータの送信準備できた後、セッションID割当部112は、セッションID(12345678)を生成し、このセッションIDとVIDEO1のSETUPコマンドに対するACKコマンドをゲートウェイ500に送信する。
【0226】
ゲートウェイ500は、VIDEO1のSETUPコマンドに対するACKコマンドを受信した後に、VIDEO2のSETUPコマンドをサーバー110に送信し、サーバー110から出力されたセッションID(00001111)をセッションID変換部502において変換したセッションID(12345678)とACKコマンドとをクライアント300に送信する。
【0227】
サーバー110において、VIDEO2のSETUPコマンドに対応するデータの送信準備できた後、レスポンス送信部113は、VIDEO2のSETUPコマンドに対するACKコマンドをゲートウェイ500に送信する。
【0228】
ゲートウェイ500は、VIDEO2のSETUPコマンドに対するACKコマンドを受信した後に、AUDIO1のSETUPコマンドをサーバー110に送信し、サーバー110から出力されたセッションID(00001111)をセッションID変換部502において変換したセッションID(12345678)とACKコマンドとをクライアント300に送信する。
【0229】
サーバー110において、AUDIO1のSETUPコマンドに対応するデータの送信準備できた後、レスポンス送信部113は、AUDIO1のSETUPコマンドに対するACKコマンドをゲートウェイ500に送信する。
【0230】
ゲートウェイ500は、AUDIO1のSETUPコマンドに対するACKコマンドを受信した後に、サーバー110から出力されたセッションID(00001111)をセッションID変換部502において変換したセッションID(12345678)とACKコマンドとをクライアント300に送信する。
【0231】
クライアント300は、送信したSETUPコマンドにACKコマンドを全て受信した後、PLAYコマンドとセッションID(12345678)とをゲートウェイ500に送信する。
【0232】
ゲートウェイ500は、セッションID(12345678)をセッションID変換部502において変換したセッションID(00001111)とクライアント300から送信されたPLAYとをサーバー110に送信する。
【0233】
サーバー110は、受信したPLAYに対応するACKコマンドをゲートウェイ500に送信し、その後にマルチメディアデータをゲートウェイ500に送信し始める。サーバー110は、マルチメディアデータを全て送信し終えるかクライアント300からゲートウェイ500を通して停止要求がなされるまでマルチメディアデータを、ゲートウェイ500を通してクライアント300に送信し続ける。
【0234】
このように、サーバーは、クライアントを区別する情報を用いて複数のリクエストが同じクライアントから送信されたか否か判断して、同じクライアントから送信された複数のリクエストに対して同一のセッションを開設することにより、クライアントは、同一のセッションのリクエストを連続してサーバーに送信することができる。
【0235】
従って、サーバーからの返答を待つ時間を減少させることができ、クライアントとサーバーの間にセッションを確立する時間を短縮することができる。
【0236】
また、本実施の形態のゲートウェイによれば、クライアントとの通信に用いるセッションIDとサーバーとの通信に用いるセッションIDを対応つけて記憶し、セッションIDを変換することにより、本発明の通信開始方法と異なる通信開始方法を用いる通信装置との通信を行うことができ、かつクライアントとサーバーの間にセッションを確立する時間を短縮することができる。
【0237】
なお、本発明のサーバー、ゲートウェイ及びクライアントでは、再生するメディアデータの種類及び数は特に限定されない。
【0238】
また、クライアントが生成するセッションIDは、クライアント固有に設定された情報に基づいて生成することもできる。例えば、クライアントのIPアドレスやMAC(Media Access Control)アドレス等をセッションIDとして生成することもできる。また、携帯電話をクライアントとした場合、携帯電話の番号をセッションIDとして生成することもできる。
【0239】
【発明の効果】
以上説明したように、本発明によれば、クライアントとサーバーの間にセッションを確立する時間を短縮することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るサーバー及びクライアントの構成を示すブロック図
【図2】上記実施の形態に係るセッション開設及び再生開始の手順を説明するための第1のシーケンス図
【図3】上記実施の形態に係るセッション開設及び再生開始の手順を説明するための第2のシーケンス図
【図4】本発明の実施の形態2に係るサーバー及びクライアントの構成を示すブロック図
【図5】上記実施の形態に係るクライアントの動作の例を示すフロー図
【図6】上記実施の形態に係るセッション開設及び再生開始の手順を説明するためのシーケンス図
【図7】本発明の実施の形態3に係るサーバー及びクライアントの構成を示すブロック図
【図8】上記実施の形態に係るセッション開設及び再生開始の手順を説明するためのシーケンス図
【図9】本発明の実施の形態4に係るサーバー、ゲートウェイ及びクライアントの構成を示すブロック図
【図10】上記実施の形態に係るセッション開設及び再生開始の手順を説明するためのシーケンス図
【図11】本発明の実施の形態5に係るサーバー、ゲートウェイ及びクライアントの構成を示すブロック図
【図12】本実施の形態に係るクライアント、ゲートウェイ、及びサーバーの構成を示す図
【図13】上記構成を有するゲートウェイにおけるセッションID変換テーブルの一例を示す図
【図14】上記実施の形態に係るセッション開設及び再生開始の手順を説明するためのシーケンス図
【図15】ストリーミングアプリケーションの概念を示した図
【図16】RTSPを用いたストリーミングのプロトコル構成の一例を示す図
【図17】従来のセッション開設及び再生開始の手順を説明するためのシーケンス図
【図18】従来のセッション開設及び再生開始の手順を説明するためのシーケンス図
【符号の説明】
101 要求セッションID生成部
102、202、302 リクエスト生成部
103、404、505 レスポンス受信部
104 メディア受信部
105 メディア再生部
111、401、501 リクエスト受信部
112 セッションID割当部
113、405、506 レスポンス送信部
114 メディア送信部
201、301 送信方法判定部
402、503 リクエスト送信部
403、504 バッファ
406、507 メディア中継部
502 セッションID変換部

Claims (33)

  1. メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成部と、
    前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信部と、を備え、
    前記複数の肯定レスポンスには、前記第1のIDとは異なる第2のIDが付与されている、
    クライアント。
  2. 前記リクエスト生成部は、前記複数のSETUPコマンドとメディアデータの送信を要求するPLAYコマンドとを第1のIDを付与して連続して前記サーバーに送信し、
    前記レスポンス受信部は、前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスと、前記PLAYコマンドに対応する肯定レスポンスとを受信し、
    前記複数の肯定レスポンスと前記PLAYコマンドに対応する肯定レスポンスには、前記第1のIDとは異なる第2のIDが付与されている、
    請求項1に記載のクライアント。
  3. 前記リクエスト生成部は、前記複数の肯定レスポンスの受信前に前記複数のSETUPコマンドを送信する、
    請求項1又は請求項2に記載のクライアント。
  4. メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成部と、
    前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信部と、を備え、
    前記リクエスト生成部は、前記複数の肯定レスポンスの受信前に前記複数のSETUPコマンドを送信する、
    クライアント。
  5. 前記リクエスト生成部は、SETUPコマンドに対する肯定レスポンス受信前に、前記複数のSETUPコマンドとメディアデータの送信を要求するPLAYコマンドとを第1のIDを付与して連続して前記サーバーに送信する、
    請求項4に記載のクライアント。
  6. 前記複数のSETUPコマンドは、ビデオのSETUPコマンドとオーディオのSETUPコマンドとを含む、
    請求項1乃至請求項5のいずれか1項に記載のクライアント。
  7. 前記複数のSETUPコマンドは、RTSPプロトコルを用いたコマンドである、
    請求項1乃至請求項6のいずれか1項に記載のクライアント。
  8. 前記複数のSETUPコマンドでリクエストしたメディアデータを前記サーバーから受信するメディア受信部を備える、
    請求項1乃至請求項7のいずれか1項に記載のクライアント。
  9. クライアントからメディアデータの送信準備をリクエストする複数のSETUPコマンドを同一のIDを用いて連続して送信されるサーバーであって、
    メディアデータの送信準備をリクエストする複数のSETUPコマンドが同一のクライアントから送信されたか否かをIDに基づいて判定する第一判定手段と、
    前記複数のSETUPコマンドが同一のクライアントから送信された場合、前記複数のリクエストに対して同一のセッションを開設するセッション設定手段と、を備える、
    サーバー。
  10. 前記第一判定手段は、前記クライアントから送信されたIDとは異なるIDを新たに生成し、
    前記セッション設定手段は、前記新たに生成したIDを用いてセッションを開設する、
    請求項9に記載のサーバー。
  11. 前記開設されたセッションで前記SETUPコマンドに対応するメディアデータを前記クライアントに送信するメディア送信手段を具備する、
    請求項9又は請求項10に記載のサーバー。
  12. メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成ステップと、
    前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信ステップと、を備え、
    前記複数の肯定レスポンスには、前記第1のIDとは異なる第2のIDが付与されている、
    通信開始方法。
  13. 前記リクエスト生成ステップは、前記複数のSETUPコマンドとメディアデータの送信を要求するPLAYコマンドとを第1のIDを付与して連続して前記サーバーに送信し、
    前記レスポンス受信ステップは、前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスと、前記PLAYコマンドに対応する肯定レスポンスとを受信し、
    前記複数の肯定レスポンスと前記PLAYコマンドに対応する肯定レスポンスには、前記第1のIDとは異なる第2のIDが付与されている、
    請求項12に記載の通信開始方法。
  14. 前記リクエスト生成ステップは、前記複数の肯定レスポンスの受信前に前記複数のSETUPコマンドを送信する、
    請求項12又は請求項13に記載の通信開始方法。
  15. メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成ステップと、
    前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信ステップと、を備え、
    前記リクエスト生成ステップは、前記複数の肯定レスポンスの受信前に前記複数のSETUPコマンドを送信する、
    通信開始方法。
  16. 前記リクエスト生成ステップは、SETUPコマンドに対する肯定レスポンス受信前に、前記複数のSETUPコマンドとメディアデータの送信を要求するPLAYコマンドとを第1のIDを付与して連続して前記サーバーに送信する、
    請求項15に記載の通信開始方法。
  17. 前記複数のSETUPコマンドは、ビデオのSETUPコマンドとオーディオのSETUPコマンドとを含む、
    請求項12乃至請求項16のいずれか1項に記載の通信開始方法。
  18. 前記複数のSETUPコマンドは、RTSPプロトコルを用いたコマンドである、
    請求項12乃至請求項17のいずれか1項に記載の通信開始方法。
  19. リクエストしたメディアデータを前記サーバーから受信するメディア受信ステップを備える、
    請求項12乃至請求項18のいずれか1項に記載の通信開始方法。
  20. クライアントからメディアデータの送信準備をリクエストする複数のSETUPコマンドを同一のIDを用いて連続して送信されるサーバーにおける通信開始方法であって、
    メディアデータの送信準備をリクエストする複数のSETUPコマンドが同一のクライアントから送信されたか否かをIDに基づいて判定する第一判定ステップと、
    前記複数のSETUPコマンドが同一のクライアントから送信された場合、前記複数のリクエストに対して同一のセッションを開設するセッション設定ステップと、を備える、
    通信開始方法。
  21. 前記第一判定ステップは、前記クライアントから送信されたIDとは異なるIDを新たに生成し、
    前記セッション設定ステップは、前記新たに生成したIDを用いてセッションを開設する、
    請求項20に記載の通信開始方法。
  22. 前記開設されたセッションで前記SETUPコマンドに対応するメディアデータを前記クライアントに送信するメディア送信ステップを具備する、
    請求項20又は請求項21に記載の通信開始方法。
  23. コンピュータに、
    メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成ステップと、
    前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信ステップと、を実行させるための通信開始プログラムであって、
    前記複数の肯定レスポンスには、前記第1のIDとは異なる第2のIDが付与されている、
    通信開始プログラム。
  24. 前記リクエスト生成ステップは、前記複数のSETUPコマンドとメディアデータの送信を要求するPLAYコマンドとを第1のIDを付与して連続して前記サーバーに送信し、
    前記レスポンス受信ステップは、前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスと、前記PLAYコマンドに対応する肯定レスポンスとを受信し、
    前記複数の肯定レスポンスと前記PLAYコマンドに対応する肯定レスポンスには、前記第1のIDとは異なる第2のIDが付与されている、
    請求項23に記載の通信開始プログラム。
  25. 前記リクエスト生成ステップは、前記複数の肯定レスポンスの受信前に前記複数のSETUPコマンドを送信する、
    請求項23又は請求項24に記載の通信開始プログラム。
  26. コンピュータに、
    メディアデータの送信準備をサーバーに対してリクエストする複数のSETUPコマンドを第1のIDを付与して連続して送信するリクエスト生成ステップと、
    前記複数のSETUPコマンドによりリクエストしたメディアデータが送信可能であることを通知する複数の肯定レスポンスを前記サーバーから受信するレスポンス受信ステップと、を実行させるための通信開始プログラムであって、
    前記リクエスト生成ステップは、前記複数の肯定レスポンスの受信前に前記複数のSETUPコマンドを送信する、
    通信開始プログラム。
  27. 前記リクエスト生成ステップは、SETUPコマンドに対する肯定レスポンス受信前に、前記複数のSETUPコマンドとメディアデータの送信を要求するPLAYコマンドとを第1のIDを付与して連続して前記サーバーに送信する、
    請求項26に記載の通信開始プログラム。
  28. 前記複数のSETUPコマンドは、ビデオのSETUPコマンドとオーディオのSETUPコマンドとを含む、
    請求項23乃至請求項27のいずれか1項に記載の通信開始プログラム。
  29. 前記複数のSETUPコマンドは、RTSPプロトコルを用いたコマンドである、
    請求項23乃至請求項28のいずれか1項に記載の通信開始プログラム。
  30. リクエストしたメディアデータを前記サーバーから受信するメディア受信ステップをさらに実行させる、
    請求項23乃至請求項29のいずれか1項に記載の通信開始プログラム。
  31. クライアントからメディアデータの送信準備をリクエストする複数のSETUPコマンドを同一のIDを用いて連続して送信されるサーバーに、
    メディアデータの送信準備をリクエストする複数のSETUPコマンドが同一のクライアントから送信されたか否かをIDに基づいて判定する第一判定ステップと、
    前記複数のSETUPコマンドが同一のクライアントから送信された場合、前記複数のリクエストに対して同一のセッションを開設するセッション設定ステップと、を実行させる、
    通信開始プログラム。
  32. 前記第一判定ステップは、前記クライアントから送信されたIDとは異なるIDを新たに生成し、
    前記セッション設定ステップは、前記新たに生成したIDを用いてセッションを開設する、
    請求項31に記載の通信開始プログラム。
  33. 前記開設されたセッションで前記SETUPコマンドに対応するメディアデータを前記クライアントに送信するメディア送信ステップをさらに実行させる、
    請求項31又は請求項32に記載の通信開始プログラム。
JP2000353439A 2000-11-20 2000-11-20 サーバー、クライアント、通信開始方法及び通信開始プログラム Expired - Fee Related JP4663100B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000353439A JP4663100B2 (ja) 2000-11-20 2000-11-20 サーバー、クライアント、通信開始方法及び通信開始プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000353439A JP4663100B2 (ja) 2000-11-20 2000-11-20 サーバー、クライアント、通信開始方法及び通信開始プログラム

Publications (2)

Publication Number Publication Date
JP2002157175A JP2002157175A (ja) 2002-05-31
JP4663100B2 true JP4663100B2 (ja) 2011-03-30

Family

ID=18826204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000353439A Expired - Fee Related JP4663100B2 (ja) 2000-11-20 2000-11-20 サーバー、クライアント、通信開始方法及び通信開始プログラム

Country Status (1)

Country Link
JP (1) JP4663100B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356687B2 (en) * 2002-05-21 2008-04-08 General Instrument Corporation Association of security parameters for a collection of related streaming protocols
JP2004038575A (ja) 2002-07-03 2004-02-05 Sony Corp データ送受信システム及びデータ送受信方法、情報提供装置及び情報提供方法、並びにデータ受信装置及びデータ受信方法
JP2004112113A (ja) * 2002-09-13 2004-04-08 Matsushita Electric Ind Co Ltd リアルタイム通信の適応制御方法、受信報告パケットの連続消失に対する対策方法、受信報告パケットの送出間隔の動的決定装置、リアルタイム通信の適応制御装置、データ受信装置およびデータ配信装置
US7634570B2 (en) 2003-03-12 2009-12-15 Microsoft Corporation Managing state information across communication sessions between a client and a server via a stateless protocol
JP4965683B2 (ja) * 2010-04-12 2012-07-04 日本電信電話株式会社 再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システム
KR20130133084A (ko) * 2010-04-30 2013-12-05 인터디지탈 패튼 홀딩스, 인크 네트워크 통신에서의 경량 프로토콜 및 에이전트

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000311135A (ja) * 1999-03-31 2000-11-07 Internatl Business Mach Corp <Ibm> 通信方法、記録媒体及びウェブ・サーバ

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564261B1 (en) * 1999-05-10 2003-05-13 Telefonaktiebolaget Lm Ericsson (Publ) Distributed system to intelligently establish sessions between anonymous users over various networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000311135A (ja) * 1999-03-31 2000-11-07 Internatl Business Mach Corp <Ibm> 通信方法、記録媒体及びウェブ・サーバ

Also Published As

Publication number Publication date
JP2002157175A (ja) 2002-05-31

Similar Documents

Publication Publication Date Title
US7675939B2 (en) Transmission apparatus and method, reception apparatus and method, communication system, recording medium, and program
US8683007B2 (en) Seamless transfer of media streams
US9673996B1 (en) Redirection of a streaming media session in an anticipated failover scenario
US7447775B1 (en) Methods and apparatus for supporting transmission of streaming data
US20050071494A1 (en) Method and apparatus for providing fixed bandwidth communications over a local area network
JP2003218934A (ja) 走査フォーマット変換装置及び方法
EP3515083B1 (en) Method and apparatus for performing synchronization operation on contents
US20130290517A1 (en) Nat traversal under tcp for real time streaming protocol
US8806048B2 (en) Method and apparatus for transmitting and receiving streaming data based on real-time streaming protocol (RTSP) session
WO2012174927A1 (zh) 一种视频监控系统及媒体穿越网络地址转换设备的方法
WO2011095056A1 (zh) 一种远程桌面体系的音频处理方法和设备
KR20050113618A (ko) 송수신 시스템, 수신 장치 및 방법
WO2009039891A1 (en) Method of controlling a communication device
US8667159B2 (en) Communication device, communication method, and computer product
WO2013116975A1 (zh) 流媒体播放方法、设备及系统
CN101674228A (zh) 实现流媒体通信的方法、装置及系统
WO2002098109A1 (en) Packet reception apparatus and packet reception method
JP2007142786A (ja) ハンドオーバサーバ及びそれと通信可能な移動通信端末
JP4663100B2 (ja) サーバー、クライアント、通信開始方法及び通信開始プログラム
CN111107445B (zh) 一种媒体协议流优化方法及系统
JP2000151680A (ja) マルチメディア通信装置
JP4049123B2 (ja) 電子機器及び制御方法
CN112788348A (zh) 一种点播方法、装置、设备、系统及存储介质
CN101179502A (zh) 一种流媒体数据的转发系统和转发方法
Ott et al. Disconnection tolerance for SIP-based real-time media sessions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100629

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: 20101221

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: 20110105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees