(57)【要約】【課題】ユーザに快適なコンテンツを配信することのできるデータ配信方法を提供する。【解決手段】配信装置２００は、マルチキャストアドレスでコンテンツの配信を行なっている際に、新たな受信装置３００から配信要求パケットを受付けると、配信中のマルチキャストアドレスを含む配信了承パケットを返信する（了解）。次に、受信装置３００は、配信装置２００からマルチキャストでコンテンツのパケットを受信すると、受取った最初のパケットの連続番号（５２）と再生開始に必要なバッファサイズとを含む配信済みデータの要求を、配信装置２００に対して送る（通知）。次に、配信装置２００は、配信済みデータバッファから必要なパケットを読取り、マルチキャスト配信の合間に、連続番号５１からさかのぼる形で、配信済みデータ（Ｕ４３〜Ｕ５１）を、受信装置３００に送信する。【選択図】　　　　図３
2004135239.tif 000002
【特許請求の範囲】
【請求項１】
受信装置に対して、パケット通信を用いて、データを連続番号が付加されたストリーム形式で配信する配信手段を備えるデータ配信装置であって、
前記受信装置から、所定の連続番号以前のストリームデータの配信要求を受付ける受付手段と、
前記配信要求を受付けると、前記配信手段における前記ストリーム形式でのデータの配信と平行して、前記所定の連続番号以前のストリームデータを送信する送信手段とをさらに備える、データ配信装置。
【請求項２】
前記配信手段において送信したストリームデータを、一定期間保持する保持手段をさらに備える、請求項１に記載のデータ配信装置。
【請求項３】
前記送信手段は、前記所定の連続番号以前のストリームデータを、連続番号について逆順に送信することを特徴とする、請求項１または２に記載のデータ配信装置。
【請求項４】
前記受付手段は、前記受信装置から配信を要求するデータ量の情報を含む配信要求を受付け、
前記送信手段は、前記要求されたデータ量の前記所定の連続番号以前のストリームデータを送信することを特徴とする、請求項１〜３のいずれかに記載のデータ配信装置。
【請求項５】
前記配信手段は、前記データを連続番号が付加されたストリーム形式で、マルチキャストアドレスに対して配信し、
前記送信手段は、前記所定の連続番号以前のストリームデータを、前記配信要求を受付けた前記受信装置に対して、前記受信装置のユニキャストアドレスに対して送信することを特徴とする、請求項１〜４のいずれかに記載のデータ配信装置。
【請求項６】
前記配信手段におけるデータ配信の輻輳状態をモニタするモニタ手段をさらに備え、
前記送信手段は、前記モニタ手段によって輻輳状態である旨が検出された際に、前記所定の連続番号以前のストリームデータの送信を停止もしくは低速にして、前記輻輳状態からの回復の有無をモニタしてから、前記データの送信を制御することを特徴とする、請求項１〜５のいずれかに記載のデータ配信装置。
【請求項７】
パケット通信を用いて、同一データをストリーム形式で複数のアドレスに対して同時に配信する配信手段を備えるデータ配信装置であって、
受信装置から、前記データの配信要求を受付ける受付手段と、
前記配信要求を受付けると、前記配信手段における前記複数のアドレスに対する配信と平行して、特定期間、前記配信手段において配信中のデータと同一データを、前記配信要求を受付けた前記受信装置のユニキャストアドレスに対して送信する送信手段とをさらに備える、データ配信装置。
【請求項８】
前記配信要求を受付けた前記受信装置から、前記配信手段で配信されたデータを受信した旨の通知を受付ける通知手段と、
前記通知を受信すると、前記受信装置のユニキャストアドレスに対する送信を停止する停止手段とをさらに備える、請求項７に記載のデータ配信装置。
【請求項９】
データ配信装置から、パケット通信を用いて、データを連続番号が付加されたストリーム形式で受信する受信手段と、
前記受信したパケットをバッファに蓄積するバッファリング手段とを備える受信装置であって、
前記受信したパケットの送り元のアドレス、送り元のサービス識別番号、および宛先のサービス識別番号が、前記配信装置と予め通知をしあった特定の値であり、かつ、宛先アドレスが自局アドレスもしくは前記配信装置と予め互いに通知しあったマルチキャストアドレスである場合、前記バッファリング手段は、前記パケットに付与された連続番号と同じ連続番号が付与されているパケットが重複しないように前記バッファに蓄積することを特徴とする、受信装置。
【請求項１０】
前記データ配信装置に対して、前記データの配信を要求する第１の配信要求手段と、
前記配信要求を行なった後、受信した最初のパケットの連続番号以前のストリームデータを前記データ配信装置に対して要求する第２の配信要求手段とをさらに備える、請求項９に記載の受信装置。
【請求項１１】
前記第２の配信要求手段は、前記受信した最初のパケットの連続番号以前のストリームデータを要求する際に、要求するデータ量をさらに通知することを特徴とする、請求項１０に記載の受信装置。
【請求項１２】
前記第２の配信要求手段は、前記受信した最初のパケットの連続番号以前のストリームデータを要求する際に、受信可能なプロトコルの種類をさらに通知することを特徴とする、請求項１０に記載の受信装置。
【請求項１３】
前記データ配信装置に対して、前記データの配信を要求する第１の配信要求手段と、
前記配信要求を行なった後、前記データ配信装置より最初のマルチキャストパケットを受信した際に、前記データ配信装置に対して、前記最初のマルチキャストパケットを受信した旨を通知する通知手段とをさらに備える、請求項９に記載の受信装置。
【請求項１４】
データ配信装置から受信装置に対して、パケット通信を用いて、データを連続番号が付加されたストリーム形式で配信する配信ステップを備えるデータ配信方法であって、
前記データ配信装置において、前記受信装置から所定の連続番号以前のストリームデータの配信要求を受付ける受付ステップと、
前記配信要求を受付けると、前記データ配信装置において、前記配信ステップにおける前記ストリーム形式でのデータの配信と平行して、前記所定の連続番号以前のストリームデータを送信する送信ステップとをさらに備える、データ配信方法。
【請求項１５】
データ配信装置から、パケット通信を用いて、同一データをストリーム形式で複数のアドレスに対して同時に配信する配信ステップを備えるデータ配信方法であって、
前記データ配信装置において、受信装置から、前記データの配信要求を受付ける受付ステップと、
前記配信要求を受付けると、前記データ配信装置において、前記配信ステップにおける前記複数のアドレスに対する配信と平行して、特定期間、前記配信ステップにおいて配信中のデータと同一データを、前記配信要求を受付けた前記受信装置のユニキャストアドレスに対して送信する送信ステップとをさらに備える、データ配信方法。
【請求項１６】
データ配信装置から受信装置に対して、パケット通信を用いて、データを連続番号が付加されたストリーム形式で配信する配信ステップを備えるデータ配信方法をコンピュータに実行させるプログラムであって、
前記データ配信装置において、前記受信装置から所定の連続番号以前のストリームデータの配信要求を受付ける受付ステップと、
前記配信要求を受付けると、前記データ配信装置において、前記配信ステップにおける前記ストリーム形式でのデータの配信と平行して、前記所定の連続番号以前のストリームデータを送信する送信ステップとをさらにコンピュータに実行させる、データ配信プログラム。
【請求項１７】
データ配信装置から、パケット通信を用いて、同一データをストリーム形式で複数のアドレスに対して同時に配信する配信ステップを備えるデータ配信方法をコンピュータに実行させるプログラムであって、
前記データ配信装置において、受信装置から、前記データの配信要求を受付ける受付ステップと、
前記配信要求を受付けると、前記データ配信装置において、前記配信ステップにおける前記複数のアドレスに対する配信と平行して、特定期間、前記配信ステップにおいて配信中のデータと同一データを、前記配信要求を受付けた前記受信装置のユニキャストアドレスに対して送信する送信ステップとをさらにコンピュータに実行させる、データ配信プログラム。
【請求項１８】
コンピュータ読取可能な記録媒体であって、請求項１６または１７に記載のデータ配信プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はデータ配信装置、受信装置、データ配信方法、データ配信プログラム、および該プログラムを記録した記録媒体に関し、特に、ストリーム形式でのデータ配信を行なうデータ配信装置、受信装置、データ配信方法、データ配信プログラム、および該プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
インターネットのブロードバンド化に伴ない、動画、音声等のストリーミング配信が注目されている。ストリーミング配信は、ファイル転送と異なり、リアルタイム性もしくはオンデマンド性を重視した転送技術である。既存のストリーミング配信用プロトコルは、Ｉｎｔｅｒｎｅｔ　Ｅｎｇｉｎｅｅｒｉｎｇ　Ｔａｓｋ　Ｆｏｒｃｅ（ＩＥＴＦ）で標準化されており、データ伝送のためのＲｅａｌ−ｔｉｍｅ　Ｔｒａｎｓｐｏｒｔ　Ｐｒｏｔｏｃｏｌ（ＲＴＰ）と制御のためのＲｅａｌ　Ｔｉｍｅ　Ｓｔｒｅａｍｉｎｇ　Ｐｒｏｔｏｃｏｌ（ＲＴＳＰ）とが規格化されている。
【０００３】
インターネットプロトコルなどのパケット通信では、パケットが転送される時間が転送経路や経路上のトラフィックに依存することから、送信側が一定の間隔でパケットを送信しても受信側での到着間隔は大きなジッタが発生する。このため、ストリーミング配信においては、一般にこのジッタを吸収するために予め一定データを蓄積するバッファリングという技術が用いられている。
【０００４】
バッファリングを用いた場合、一定量蓄積した後にデータを使用し始めるので、ユーザがコンテンツ配信を希望してから、実際に再生が始まるまで時間が必要となる。インターネット上で起こる輻輳などに対応するため数秒から３０秒程度の時間蓄積するのが通常である。ユーザが快適にコンテンツを楽しむためには、この時間を短縮する必要がある。
【０００５】
このようなバッファリングの時間を短縮する技術として、特許文献１においては、受信装置が受信バッファ量を送信装置に通知し、溢れない範囲で速やかに受信バッファを充填するように送信装置が送信速度を制御する方法が開示されている。
【０００６】
また、特許文献２においては、Ｑｕａｌｉｔｙ　ｏｆ　Ｓｅｒｖｉｃｅ（ＱｏＳ：サービス品質）機能を利用するストリーミング伝送に関して、ネットワーク上でＱｏＳ機能を設定している時間にＱｏＳ機能を利用しない方法で利用可能なデータレートで平行してデータを送り、ＱｏＳ機能設定完了後、続きのデータをＱｏＳ機能で確保したデータレートに従って送る方法が開示されている。
【０００７】
また、特許文献３においては、サーバから送信されるストリームデータの受信レート（速度）が当該ストリームでの実時間表示に不充分であってリアルタイム再生が不可能な場合には、過去に当該ストリームデータを受信した他の送受信機器から未だ受信していない当該ストリームデータを受信することで、クライアント側の送受信機器で滞りなくストリームデータのデコード動作を継続することのできるストリーム配信方法が開示されている。
【０００８】
【特許文献１】
特開２００２−８４３３９号公報
【０００９】
【特許文献２】
特開２００２−１５２２７４号公報
【００１０】
【特許文献３】
特開２００２−１５８６５７号公報
【００１１】
【発明が解決しようとする課題】
しかしながら、特許文献１あるいは特許文献２に開示されている技術は、受信機のバッファに応じてコンテンツを送信することが可能な場合、すなわちユニキャストでのオンデマンド配信の場合においてのみその効果を発揮する。例えば、複数の受信機に同時に配信するマルチキャスト配信の場合、配信サーバが送信するデータは、複数の受信機が利用しているので、新たに配信に参加する受信機に対応させて速い速度で送信することは、他の受信機のバッファを溢れさせる可能性が高い。従って、このような従来の技術をマルチキャスト配信には適用することができないという問題がある。
【００１２】
また、例えば、ライブ配信の場合、オンデマンド配信と異なり、撮影されるデータレートが一定なので、送信装置は、受信装置のバッファに合わせて送信速度を制御することができない。従って、このような従来の技術をライブ配信にも適用できないという問題がある。
【００１３】
また、特許文献３に開示されているストリーム配信方法は、サーバから配信されるストリームデータを他の送受信機器でも受信している場合にのみその効果を発揮する。すなわち、当該ストリームデータを他の送受信機器が受信していない場合や、当該ストリームデータ受信している他の送受信機器である送信先情報がない場合には、当該ストリームデータのリアルタイム再生が不可能であるという問題もある。
【００１４】
本発明はこのような問題に鑑みてなされたものであって、マルチキャスト配信やライブ配信のように、受信装置に応じて配信レートを調整することができない配信方式でストリーム配信を行なう場合であっても、バッファリングの時間を短縮し、ユーザに快適なコンテンツを配信することのできるデータ配信装置、受信装置、データ配信方法、データ配信プログラム、および該プログラムを記録した記録媒体を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記目的を達成するために、本発明のある局面に従うと、データ配信装置は、受信装置に対して、パケット通信を用いて、データを連続番号が付加されたストリーム形式で配信する配信手段を備えるデータ配信装置であって、受信装置から、所定の連続番号以前のストリームデータの配信要求を受付ける受付手段と、配信要求を受付けると、配信手段におけるストリーム形式でのデータの配信と平行して、所定の連続番号以前のストリームデータを送信する送信手段とをさらに備える。
【００１６】
また、データ配信装置は、配信手段において送信したストリームデータを、一定期間保持する保持手段をさらに備えることが望ましい。
【００１７】
また、上述の送信手段は、所定の連続番号以前のストリームデータを、連続番号について逆順に送信することが望ましい。
【００１８】
また、上述の受付手段は、受信装置から配信を要求するデータ量の情報を含む配信要求を受付け、送信手段は、要求されたデータ量の所定の連続番号以前のストリームデータを送信することが望ましい。
【００１９】
また、上述の配信手段は、データを連続番号が付加されたストリーム形式で、マルチキャストアドレスに対して配信し、送信手段は、所定の連続番号以前のストリームデータを、配信要求を受付けた受信装置に対して、受信装置のユニキャストアドレスに対して送信することが望ましい。
【００２０】
また、データ配信装置は、配信手段におけるデータ配信の輻輳状態をモニタするモニタ手段をさらに備え、送信手段は、モニタ手段によって輻輳状態である旨が検出された際に、所定の連続番号以前のストリームデータの送信を停止もしくは低速にして、輻輳状態からの回復の有無をモニタしてから、データの送信を制御することが望ましい。
【００２１】
本発明の他の局面に従うと、データ配信装置は、パケット通信を用いて、同一データをストリーム形式で複数のアドレスに対して同時に配信する配信手段を備えるデータ配信装置であって、受信装置から、データの配信要求を受付ける受付手段と、配信要求を受付けると、配信手段における複数のアドレスに対する配信と平行して、特定期間、配信手段において配信中のデータと同一データを、配信要求を受付けた受信装置のユニキャストアドレスに対して送信する送信手段とをさらに備える。
【００２２】
また、データ配信装置は、配信要求を受付けた受信装置から、配信手段で配信されたデータを受信した旨の通知を受付ける通知手段と、通知を受信すると、受信装置のユニキャストアドレスに対する送信を停止する停止手段とをさらに備えることが望ましい。
【００２３】
本発明のさらに他の局面に従うと、受信装置は、データ配信装置から、パケット通信を用いて、データを連続番号が付加されたストリーム形式で受信する受信手段と、受信したパケットをバッファに蓄積するバッファリング手段とを備える受信装置であって、受信したパケットの送り元のアドレス、送り元のサービス識別番号、および宛先のサービス識別番号が、配信装置と予め通知をしあった特定の値であり、かつ、宛先アドレスが自局アドレスもしくは配信装置と予め互いに通知しあったマルチキャストアドレスである場合、バッファリング手段は、パケットに付与された連続番号と同じ連続番号が付与されているパケットが重複しないようにバッファに蓄積することを特徴とする。
【００２４】
また、受信装置は、データ配信装置に対して、データの配信を要求する第１の配信要求手段と、配信要求を行なった後、受信した最初のパケットの連続番号以前のストリームデータをデータ配信装置に対して要求する第２の配信要求手段とをさらに備えることが望ましい。
【００２５】
また、上述の第２の配信要求手段は、受信した最初のパケットの連続番号以前のストリームデータを要求する際に、要求するデータ量をさらに通知することが望ましい。
【００２６】
あるいは、上述の第２の配信要求手段は、受信した最初のパケットの連続番号以前のストリームデータを要求する際に、受信可能なプロトコルの種類をさらに通知することが望ましい。
【００２７】
また、受信装置は、データ配信装置に対して、データの配信を要求する第１の配信要求手段と、配信要求を行なった後、データ配信装置より最初のマルチキャストパケットを受信した際に、データ配信装置に対して、最初のマルチキャストパケットを受信した旨を通知する通知手段とをさらに備えることが望ましい。
【００２８】
本発明のさらに他の局面に従うと、データ配信方法は、データ配信装置から受信装置に対して、パケット通信を用いて、データを連続番号が付加されたストリーム形式で配信する配信ステップを備えるデータ配信方法であって、データ配信装置において、受信装置から所定の連続番号以前のストリームデータの配信要求を受付ける受付ステップと、配信要求を受付けると、データ配信装置において、配信ステップにおけるストリーム形式でのデータの配信と平行して、所定の連続番号以前のストリームデータを送信する送信ステップとをさらに備える。
【００２９】
本発明のさらに他の局面に従うと、データ配信方法は、データ配信装置から、パケット通信を用いて、同一データをストリーム形式で複数のアドレスに対して同時に配信する配信ステップを備えるデータ配信方法であって、データ配信装置において、受信装置から、データの配信要求を受付ける受付ステップと、配信要求を受付けると、データ配信装置において、配信ステップにおける複数のアドレスに対する配信と平行して、特定期間、配信ステップにおいて配信中のデータと同一データを、配信要求を受付けた受信装置のユニキャストアドレスに対して送信する送信ステップとをさらに備える。
【００３０】
本発明のさらに他の局面に従うと、データ配信プログラムは、データ配信装置から受信装置に対して、パケット通信を用いて、データを連続番号が付加されたストリーム形式で配信する配信ステップを備えるデータ配信方法をコンピュータに実行させるプログラムであって、データ配信装置において、受信装置から所定の連続番号以前のストリームデータの配信要求を受付ける受付ステップと、配信要求を受付けると、データ配信装置において、配信ステップにおけるストリーム形式でのデータの配信と平行して、所定の連続番号以前のストリームデータを送信する送信ステップとをさらにコンピュータに実行させる。
【００３１】
本発明のさらに他の局面に従うと、データ配信プログラムは、データ配信装置から、パケット通信を用いて、同一データをストリーム形式で複数のアドレスに対して同時に配信する配信ステップを備えるデータ配信方法をコンピュータに実行させるプログラムであって、データ配信装置において、受信装置から、データの配信要求を受付ける受付ステップと、配信要求を受付けると、データ配信装置において、配信ステップにおける複数のアドレスに対する配信と平行して、特定期間、配信ステップにおいて配信中のデータと同一データを、配信要求を受付けた受信装置のユニキャストアドレスに対して送信する送信ステップとをさらにコンピュータに実行させる。
【００３２】
本発明のさらに他の局面に従うと、記録媒体はコンピュータ読取可能な記録媒体であって、上述のデータ配信プログラムを記録する。
【００３３】
なお、上述のように解決手段においてデータに連続番号が付加されていることを前提に記載したが、これは１、２、３、と１ずつ増える番号に限定される必要はなく、例えば、データの先頭位置からのバイト数情報を用いてもアルゴリズムの自明な変更により同様の効果を達成することができる。
【００３４】
【発明の実施の形態】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００３５】
［第１の実施の形態］
第１の実施の形態におけるデータ伝送システムは、配信装置２００と受信装置３００とを含み、ネットワークを介してデータの伝送を行なう。配信装置２００と受信装置３００との通信は、インターネットやＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）等の専用回線によるネットワークを介した通信であってもよいし、無線によるネットワークを介した通信であってもよい。本実施の形態においては、インターネットによるネットワークを介したデータの伝送を想定するものとする。そして、データとして映像や音声やテキスト等を含むコンテンツを伝送するものとする。またさらに、インターネット以外のパケット通信に関しても適用可能である。
【００３６】
図１に、第１の実施の形態におけるデータ伝送システムに含まれる配信装置２００の構成および機能を示す。
【００３７】
図１を参照して、本実施の形態におけるデータ伝送システムに含まれる配信装置２００は、ステートマシンである制御処理部２０１と、コンテンツ配信処理部２０２と、配信済みコンテンツのデータを蓄積するメモリ２０３と、パケット受信処理部２０４と、受信機アドレスリストを保持するメモリ２０５とを含む。メモリ２０３やメモリ２０５は、ＤＲＡＭ（Ｄｙｎａｍｉｃ　Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）のような半導体メモリでも、ハードディスクのような蓄積装置でもよい。これらはコンテンツごとに用意される。
【００３８】
ステートマシンである制御処理部２０１の動作は、ＲＴＳＰ（Ｒｅａｌ　Ｔｉｍｅ　Ｓｔｒｅａｍｉｎｇ　Ｐｒｏｔｏｃｏｌ）の規格書に詳しいので、ここでは説明を省略する。
【００３９】
受信処理部２０４は、配信されたコンテンツを受信している受信装置３００から、ある連続番号以前の配信済みのデータの要求を受取ると、メモリ２０５に保持されている受信機アドレスリストに、その受信装置３００のアドレス、その連続番号、および要求データ量を記録する。配信済みデータ要求の中に利用可能なプロトコルリストが含まれている場合、その内容も記録する。このように、受信装置３００から配信装置２００に対して利用可能なプロトコル一覧を通知することで、配信装置２００は、効率的なプロトコルを選択することができる。
【００４０】
配信処理部２０２は、制御処理部２０１が配信状態の時、配信データの再生レートに合わせて、パケットを送信する。送信した際には、送信データを配信済みデータバッファであるメモリ２０３に書込む。
【００４１】
一般に、配信データの再生レートは、配信装置の伝送レートに比較して低いので、配信パケット間にはアイドル時間が存在する。配信処理部２０２は、アイドル時間にメモリ２０５に格納されている受信機アドレスリストを読取る。そして、要求データ量が０より大きい場合、連続番号パケットを配信済みデータバッファであるメモリ２０３から読取り、送信する。続けて、メモリ２０５に格納されている受信機アドレスリスト内の連続番号を１減少させ、要求データ量を送信パケットサイズ分減少させる。上記手順を配信パケット間のアイドル時間中、繰返す。また、上記手順の繰返しにより送ることになるパケット群は予め結合して送ってもよい。
【００４２】
なお、送信の際には、利用可能プロトコルリストから効率のよいプロトコルを選択することが好ましい。また、送信前に、配信パケットの輻輳状態を調べて、輻輳状態にある場合には送信を見送ることが好ましい。また、送信速度を落とすことも好ましい。このことによって、複数の受信装置３００が受信している配信データが輻輳によって遅延もしくは喪失する可能性を軽減することができる。すなわち、輻輳回避に効果がある。
【００４３】
次に、図２に、本実施の形態におけるデータ伝送システムに含まれる受信装置３００の構成および通信データの処理機能を示す。図２は、インターネットプロトコルを用いた受信装置３００の具体例を示す図である。
【００４４】
図２を参照して、本実施の形態におけるデータ伝送システムに含まれる受信装置３００は、データリンク層／物理層３０１と、ネットワーク層であって、上位層識別部３０３を含むインターネットプロトコル３０２と、アドレス・ポート識別部３０６と、トランスポート層であるユーザデータグラムプロトコル３０４、トランスミッションコントロールプロトコル３０５、中間プロトコル３０７、およびバッファ３０９と同期部３１０とを含むリアルタイムトランスポートプロトコル３０８と、データ要求部３１１とを含む。
【００４５】
データリンク層／物理層３０１は、配信要求後、通常の手順に従って、物理層において自局アドレス宛てあるいはマルチキャストアドレス宛てのパケットを受信するように設定されている。データリンク層／物理層３０１は、物理層において自局アドレス宛てとあるいはマルチキャストアドレス宛てのパケットを受信すると、パケット情報をインターネットプロトコル３０２に渡す。
【００４６】
インターネットプロトコル３０２は、規定のプロトコル処理を行なった後、含まれる上位層識別部３０３において上位層の識別を行ない、それぞれの上位層にパケット情報を渡す。
【００４７】
ここでは、配信装置３００は、配信データ、配信済みデータ共にユーザデータグラムプロトコルで送信するものと仮定する。従って、この場合、どちらのデータもユーザデータグラムプロトコル３０４に渡される。
【００４８】
なお、言うまでもなくこの仮定は本発明を制限するものではない。すなわち、配信データ、配信済みデータ共にユーザデータグラムプロトコル３０４と、トランスミッションコントロールプロトコル３０５とのどちらでも使用することができる。
【００４９】
このように、受信したデータのプロトコルが異なる場合、従来技術では異なるサービスを実現する通信として識別されるが、本発明の受信装置３００ではプロトコルを区別しないことを特徴とする。
【００５０】
より詳しくは、通常、ユーザデータグラムプロトコルもトランスミッションコントロールプロトコルも、共に、パケット情報の中の、送り元アドレス（ソースアドレス）、送り元サービス識別番号（ソースポート番号）、宛先アドレス（デスティネーションアドレス）、および宛先サービス識別番号（デスティネーションポート番号）の４つの情報が等しい場合に、特定のサービスを実現する通信とみなす。
【００５１】
しかし、本発明の受信装置３００では、パケット情報の中の、送り元アドレス（ソースアドレス）、送り元サービス識別番号（ソースポート番号）、および宛先サービス識別番号（デスティネーションポート番号）の３つの情報が等しく、かつ、宛先アドレス（デスティネーションアドレス）が自局アドレスもしくは予め通知しあったマルチキャストアドレスの場合に、特定のサービスを実現する通信とみなし、アドレス・ポート識別部３０６、およびリアルタイムトランスポートプロトコル３０８において同一の処理を行なうことを特徴とする。
【００５２】
具体的には、アドレス・ポート識別部３０６において、渡されたパケットのアドレスやポートを識別した後、リアルタイムトランスポートプロトコル３０８において、バッファ３０９に蓄積する。なお、トランスミッションコントロールプロトコル３０５を使用する場合、アドレス・ポート識別部３０６においてアドレスやポートが識別された後、トランスミッションコントロールプロトコル３０５とリアルタイムトランスポートプロトコル３０８とをつなぐためのパケット長情報を含む中間プロトコル３０７を経て、パケットがリアルタイムトランスポートプロトコル３０８に渡される。
【００５３】
そして、同期部３１０において、パケット情報のうちの連続番号順に、同じくパケット情報のうちのタイムスタンプ情報に合わせて時間同期を取りながら、バッファ３０９よりアプリケーションにデータを渡す。
【００５４】
ここで、本実施の形態の受信装置３００においては、バッファ３０９に初期化後初めてパケットが書込まれた時、データ要求部３１１が、そのパケットの連続番号情報とバッファサイズ情報とを合わせて、配信済みデータ要求を配信装置２００に送信することを特徴とする。
【００５５】
このように、本実施の形態における受信装置３００は、宛先アドレスがマルチキャストアドレスでも自局アドレスでも、また、伝送プロトコルがＵＤＰでもＴＣＰでも、同等の処理を行なうので、配信装置２００からのデータを受信した際、目的の効果を発揮することができる。
【００５６】
このような第１の実施の形態における配信装置２００と受信装置３００との間で行なわれるデータの伝送について説明する。
【００５７】
図３は、第１の実施の形態における配信装置２００と受信装置３００との間の通信動作のタイミングの具体例を示す図である。図３においては、配信装置２００からのデータの配信は、マルチキャストアドレスを用いて複数の受信装置３００へのマルチキャスト配信であるものと仮定している。なお、図３においては、下から上方向へ向かって時間が経過する。さらに、矢印に付されている文字列のうち、Ｍは宛先アドレスがマルチキャストアドレスであることを示している。Ｕは宛先アドレスが受信装置３００のユニキャストアドレスであることを示している。ＭもしくはＵに続く数字はパケットの連続番号を示している。
【００５８】
図３を参照して、配信装置２００は、配信を開始すると、配信処理部２０２より再生レートに合わせてマルチキャストアドレスに対してパケットを送信する。図３においては、配信装置２００を示す直線から左右に伸びる矢印で配信が示され、Ｍに続く番号より、連続番号が５０のパケットから順に送信されている様子を示している。
【００５９】
ここで、新たな受信装置３００が配信装置２００に対して配信要求パケットを送ると（図３中、「要求」を付した矢印で示される）、受信処理部２０４において配信要求パケットを受信した配信装置２００は、配信中のマルチキャストアドレスを含む配信了承パケットを返信する（了解）。
【００６０】
次に、受信装置３００は、通知を受けたマルチキャストアドレスが受信装置３００にルーティングされるように、インターネットグループマネージメントプロトコルを用いて、仲介するルータ群（図示せず）にルーティングを依頼する（ＩＧＭＰ：Ｉｎｔｅｒｎｅｔ　Ｇｒｏｕｐ　Ｍａｎａｇｅｍｅｎｔ　Ｐｒｏｔｏｃｏｌ）。
【００６１】
ルータ群のルーティング情報が正しく設定されると、配信装置２００からのマルチキャストアドレス宛てのパケットが受信装置３００に届けられる（Ｍ５２）。
【００６２】
次に、受信装置３００は、データ要求部３１１より、受取った最初のパケットの連続番号５２と再生開始に必要なバッファサイズとを合わせて、配信装置２００に対して配信済みデータの要求を送る（通知）。ここでは、再生開始に必要なバッファサイズは仮にパケット９個分とする。このように、受信装置３００が最初に受信したパケットの連続番号を配信装置２００に通知するので、受信装置３００は配信装置２００と連動する効果がある。また、受信装置３００が必要なデータ量を配信装置２００に通知するので、受信装置３００は配信装置２００と連動する効果がある。
【００６３】
受信処理部２０４において配信済みデータの要求を受けた配信装置２００は、メモリ２０５に保持される受信機アドレスリストに、その受信装置３００のアドレス、その連続番号、および要求データ量（パケット９個分）を記録する。そして、配信処理部２０２は、連続番号パケットを配信済みデータバッファであるメモリ２０３から必要なパケットを読取り、マルチキャスト配信のパケット間のアイドル時間であるマルチキャスト配信の合間に、連続番号５１からさかのぼる形で、配信済みデータ（Ｕ４３〜Ｕ５１）を、メモリ２０５に保持される受信機アドレスリストから読取った受信装置３００のユニキャストアドレス宛てに送信する。このとき、配信装置２００から受信装置３００に対して、配信済みデータを再生レート以上の伝送速度で送ることが好ましい。
【００６４】
受信装置３００では、当該受信装置のユニキャストアドレス宛てに送信された配信済みのデータを受信し、バッファ３０９に蓄積する。そして、受信装置３００は、所定の時刻までに再生に必要なデータをバッファ３０９に蓄積し、この時刻から再生を開始する（再生開始）。
【００６５】
このように、本実施の形態におけるデータ伝送システムでは、オンデマンドでないでない配信において、受信装置３００が配信要求後に最初に配信パケットを受取った時、そのパケット以前の配信済みデータを配信装置２００へ要求し、配信装置２００は、配信と並行して、さかのぼって配信済みデータを受信装置３００へ送信することを特徴とする。
【００６６】
本実施の形態におけるデータ伝送システムにおいて上述の処理が実行されることで、ライブ配信、マルチキャスト配信のように配信方式が受信装置に応じて配信レートを調整することができない配信方式であっても、配信装置２００が配信と平行して配信済みデータを受信装置３００に送信することによって、受信装置３００においてコンテンツ再生前にデータを蓄積するバッファリング時間を短縮することができる。それは、本実施の形態における配信装置２００が、配信済みのデータを蓄積する配信済みデータバッファであるメモリ２０３を備えることによる。このため、ライブ配信など、配信データが蓄積装置に存在しないような配信の際にも、同様の効果を得ることができる。このため、ユーザに快適なコンテンツを配信することができる。
【００６７】
また、受信装置３００においては、配信を受信し始めた後に、配信装置２００から直前の配信済みデータを再生レート以上の伝送速度で受信することができるので、受信装置３００でのバッファリング時間を短縮することができる。
【００６８】
また、本実施の形態のデータ伝送システムにおいては、配信データを配信装置２００から受信装置３００に対して連続番号の逆順に送るので、受信装置３００は、直前の配信済みデータと配信データとの総量が再生に必要な量に到達し次第、再生を開始することができる。
【００６９】
また、本実施の形態においては、配信装置２００は、受信装置３００のバッファサイズに合わせて配信済みデータを送信するので、必要以上に伝送帯域を消費することを回避することができる。また、配信装置２００は、配信をマルチキャストで、配信済みデータをユニキャストで送るので、不用意に伝送帯域を消費することを回避することができる。
【００７０】
［第２の実施の形態］
次に、図４に、第２の実施の形態におけるデータ伝送システムの構成を示す。図４を参照して、第２の実施の形態におけるデータ伝送システムは、配信装置４００と、受信装置３００ａ，３００ｂ，３００ｃ，３００ｄ（これらを代表させて受信装置３００と言う）とを含み、ネットワークを介してデータの伝送を行なう。図４においては、配信装置４００は既に配信状態にあり、ルータ５００を含むルータ群を介して受信装置３００ａ，３００ｂ，３００ｃにマルチキャスト配信を行なっている。また、受信装置３００ｄは、新たに配信を希望する受信装置３００である。配信希望の前には、ルータ５００は、マルチキャストパケットを受信装置３００ｄには転送していない。
【００７１】
本実施の形態におけるデータ伝送システムに含まれる受信装置３００は、上述の第１の実施の形態におけるデータ伝送システムに含まれる受信装置３００と同様であるため、ここでの説明は繰返さない。
【００７２】
次に、図５に、第２の実施の形態におけるデータ伝送システムに含まれる配信装置４００の構成および機能を示す。
【００７３】
図５を参照して、本実施の形態におけるデータ伝送システムに含まれる配信装置４００は、ステートマシンである制御処理部４０１と、コンテンツ配信処理部４０２と、受信機アドレスリストを保持するメモリ４０３とを含む。これらはコンテンツごとに用意される。
【００７４】
制御処理部４０１は、特定コンテンツが準備された際に生成され、初期状態から始まる。ここでは、メモリ４０３に受信機アドレスリストを保持するためのメモリ確保、またライブ配信の場合にはカメラなど使用する機材のチェックなどが行なわれる。
【００７５】
次に、配信装置４００が特定のコンテンツの配信サービスを開始する必要が生じた時（例えば、最初のユーザから配信設定要求を受信した場合、または予め定められた配信時刻になった場合）、制御処理部４０１は準備状態へ移行する。準備状態では、マルチキャストアドレスの取得など配信に必要な情報や資源を確保を行ない、配信要求を待つ。
【００７６】
次に、配信装置４００は、制御処理部４０１が準備完了状態もしくは配信状態にある場合、受信装置３００から配信要求を受けると、受信装置３００のアドレスをメモリ４０３に保持される受信機アドレスリストに追加し、アドレスごとにカウント値を用意する。カウント値の初期値については後述する。その後、必要なレスポンスを受信装置３００に送る。レスポンスの内容については、例えばＲＴＳＰの規格書等に詳しいので、ここでは説明を省略する。
【００７７】
また、配信装置４００は、制御処理部４０１が配信状態にある場合、受信装置３００から受信終了通知を受けると、メモリ４０３に格納される受信機アドレスリストから受信装置３００のアドレスを削除する。
【００７８】
次に、制御処理部４０１は、配信要求のあった受信装置３００の数が１以上になると、コンテンツ配信処理部４０２において配信プロセスを起動して、配信状態になる。また、メモリ４０３に格納される受信機アドレスリストのアドレスが空になると、コンテンツ配信処理部４０２において配信プロセスを終了させ、制御処理部４０１は準備完了状態に戻る。
【００７９】
コンテンツ配信処理部４０２における配信プロセスでは、コンテンツの再送速度に従ってパケットを送信する。
【００８０】
その際、まず、所定のアドレスでマルチキャスト送信を行なう。次に、メモリ４０３に格納される受信機アドレスリストを参照し、アドレスに付随するカウントが０より大きい場合、受信機アドレスリストを変更して、上記マルチキャスト送信時のデータを、０より大きいカウントが付随するアドレスにのみ送信（ユニキャスト送信）する。その後、当該アドレスに付随するカウントを１減少させる。
【００８１】
このような図４に示される第２の実施の形態のデータ伝送システムにおいて、上述の配信装置４００と、新たに配信を希望する受信装置３００ｄとの間で行なわれるデータの伝送について説明する。
【００８２】
図６は、第２の実施の形態における配信装置４００と受信装置３００ｄとの間の通信動作のタイミングの具体例を示す図である。
【００８３】
図６を参照して、受信装置３００ｄが配信要求パケットを配信装置４００に送ると（図６中、「要求」を付した矢印で示される）、配信要求パケットを受信した配信装置４００は、上述の如く、メモリ４０３に格納される受信機アドレスリストを更新して、受信装置３００ｄにレスポンスを送信する（了解）。このレスポンスには配信中のマルチキャストアドレス情報が含まれている。
【００８４】
次に、受信装置３００ｄは、配信装置４００からレスポンスを受信すると、インターネットグループマネージメントプロトコルを用いて、受信装置３００ｄと配信装置４００との間に存在するルータ５００にマルチキャストパケットの参加通知を行なう（ＩＧＭＰ）。
【００８５】
ルータ５００が参加通知を処理するまで（ＩＧＭＰ完了）、受信装置３００ｄには配信データが届かない。図６においては、矢印Ｍ５２、Ｍ５３、Ｍ５４が配信装置４００から配信されているものの受信装置３００ｄには届かないパケットを示している。このことから、従来技術においては、ＩＧＭＰなどのマルチキャスト転送の設定が完了するまで、受信装置３００ｄは、ストリームデータを受信できないことがわかる。
【００８６】
しかしながら、本実施の形態における配信装置４００は、受信機アドレスリストに更新された受信装置３００ｄのアドレスに付随するカウント値が０になるまで、受信装置３００ｄに対してストリームデータをユニキャストで送信する（矢印Ｕ５２からＵ５５）。従って、本実施の形態における配信装置４００は、マルチキャスト配信データが受信装置３００ｄに転送されない期間も、同じ内容のデータが受信装置３００ｄにおいてユニキャストで受信できるようにすることができる。
【００８７】
ルータ５００がマルチキャスト参加通知を処理する時間はネットワークのサイズに依存し、この時間の間に送信するバケットの数はコンテンツのデータレートに依存するので、受信機アドレスに付随するカウントの初期値は上記ネットワークのサイズと上記コンテンツのデータレートとから決定することが好ましい。また、更新した受信装置３００ｄのアドレスにカウントを付随させる方法に替えて、マルチキャストアドレスのパケットを受信した旨を受信装置３００ｄから通知し、その通知を受けた配信装置４００は受信装置３００ｄに対するユニキャスト送信を中止する方法を採用しても構わない。このように、配信装置４００が、受信装置３００ｄからマルチキャスト配信されたデータを受信した通知を受信してユニキャスト送信を中止することで、無駄に伝送帯域を消費することを回避することができる。
【００８８】
なお、図６においては、輻輳制御など従来から必要とされている処理が省略されている。上記のコンテンツ配信処理部４０２での配信プロセスにおいて、利用する配信装置４００内部の下位層のプロトコル（例えば、ＲＴＰ）にて独立に輻輳制御などを行なうことができる。
【００８９】
このように、本実施の形態におけるデータ伝送システムでは、マルチキャスト配信において、ある受信装置３００ｄが配信要求した後に配信用マルチキャストアドレスを取得してから配信装置２００との間にあるルータ群のマルチキャスト転送設定が完了するまで、配信装置４００がマルチキャスト配信と平行して、受信装置３００ｄのアドレスへ同じストリームデータをユニキャスト送信することを特徴とする。
【００９０】
本実施の形態におけるデータ伝送システムにおいて上述の処理が実行されることで、マルチキャスト配信に関して、配信装置４００は、ルータ５００がマルチキャストのルーティング設定を行なっている時間の間に転送されないマルチキャストの受信装置３００ｄに対するパケットを、受信装置３００ｄのユニキャストアドレスに対してパケット送信する。このことにより、本実施の形態におけるデータ伝送システムでは、マルチキャストルーティングの設定時間を有効に利用することができる。また、本実施の形態における配信装置４００は、配信要求を受けてから一定期間、要求のあった受信装置３００ｄに対してユニキャストでコンテンツの配信を行なうので、仲介するルータ５００のマルチキャスト転送設定が完了する間のデータも受信装置３００ｄに送信することができる。このことによって、ユーザに快適なコンテンツを配信することができる。
【００９１】
さらに、上述のデータ伝送システムにおけるデータ伝送方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。このことによって、コンピュータを用いて上述の処理における効果を実現することができる。
【００９２】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００９３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】第１の実施の形態におけるデータ伝送システムに含まれる配信装置２００の構成および機能を示す図である。
【図２】第１の実施の形態におけるデータ伝送システムに含まれる受信装置３００の構成および通信データの処理機能を示す図である。
【図３】第１の実施の形態における配信装置２００と受信装置３００との間の通信動作のタイミングの具体例を示す図である。
【図４】第２の実施の形態におけるデータ伝送システムの構成を示す図である。
【図５】第２の実施の形態におけるデータ伝送システムに含まれる配信装置４００の構成および機能を示す図である。
【図６】第２の実施の形態における配信装置４００と受信装置３００ｄとの間の通信動作のタイミングの具体例を示す図である。
【符号の説明】
２００　配信装置、２０１　配信装置２００の制御処理部、２０２　配信装置２００のコンテンツ配信処理部、２０３，２０５　配信装置２００のメモリ、２０４　パケット受信処理部、３００，３００ａ，３００ｂ，３００ｃ，３００ｄ受信装置、３０１　データリンク層／物理層、３０２　インターネットプロトコル、３０３　上位層識別部、３０４　ユーザデータグラムプロトコル、３０５トランスミッションコントロールプロトコル、３０６　アドレス・ポート識別部、３０７　中間プロトコル、３０８　リアルタイムトランスポートプロトコル、３０９　バッファ、３１０　同期部、３１１　データ要求部、４００　配信装置、４０１　配信装置４００の制御処理部、４０２　配信装置４００のコンテンツ配信処理部、４０３　配信装置４００のメモリ、５００　ルータ。
【図１】
2004135239.tif 000003
【図２】
2004135239.tif 000004
【図３】
2004135239.tif 000005
【図４】
2004135239.tif 000006
【図５】
2004135239.tif 000007
【図６】
2004135239.tif 000008