JP2008311947A - コンテンツ配信システム、コンテンツサーバ、端末、コンテンツ配信方法、プログラムおよび記録媒体 - Google Patents
コンテンツ配信システム、コンテンツサーバ、端末、コンテンツ配信方法、プログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP2008311947A JP2008311947A JP2007157726A JP2007157726A JP2008311947A JP 2008311947 A JP2008311947 A JP 2008311947A JP 2007157726 A JP2007157726 A JP 2007157726A JP 2007157726 A JP2007157726 A JP 2007157726A JP 2008311947 A JP2008311947 A JP 2008311947A
- Authority
- JP
- Japan
- Prior art keywords
- content
- distribution
- multicast
- type
- unicast
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】コンテンツの配信において、ユニキャスト型とマルチキャスト型とを組み合わせてコンテンツを取得する場合、サーバの配信負荷を低減し且つ端末の受信時間を短くすることが出来ない。
【解決手段】コンテンツを保持するコンテンツサーバにより、コンテンツを分割してユニキャスト型配信で端末に配信している際、そのコンテンツの配信希望端末の数が多くなり、マルチキャスト型配信が開始される場合、コンテンツをユニキャストで配信する際の順番と、コンテンツをマルチキャストで配信する際の順番とを逆として配信するコンテンツ配信方法。
【選択図】 図12
【解決手段】コンテンツを保持するコンテンツサーバにより、コンテンツを分割してユニキャスト型配信で端末に配信している際、そのコンテンツの配信希望端末の数が多くなり、マルチキャスト型配信が開始される場合、コンテンツをユニキャストで配信する際の順番と、コンテンツをマルチキャストで配信する際の順番とを逆として配信するコンテンツ配信方法。
【選択図】 図12
Description
本発明は、インターネットなどで、映像や音声などのコンテンツを配信するコンテンツ配信システムなどに関する。
インターネットを用いた映像コンテンツの配信が近時行われている。そのコンテンツの受信形式としては、コンテンツの受信と同時にユーザに視聴をさせるストリーミング型の受信形式と、いったん端末にコンテンツを保管し、その後ユーザに視聴をさせるダウンロード型の受信形式とがある。
また、コンテンツの配信手法としては、各端末が独立してコンテンツをサーバに要求し、サーバがそれぞれの端末に別々にコンテンツを配信するユニキャスト型の配信形式と、サーバがコンテンツをマルチキャストパケットを用いて配信し、各端末が配信されたコンテンツを取得するマルチキャスト型の配信形式がある。
ユニキャスト型の配信形式では、複数の端末が同一コンテンツをサーバに要求した場合、サーバの負荷および通信路の必要容量が増加するという課題がある。
またマルチキャスト型の配信形式では、すべての端末が同時に受信を行うため、処理速度が遅い端末に配信速度を合わせる必要があるため、高速処理が可能な端末にとっては、ユニキャスト形式に比してダウンロードにかかる時間が増加するという課題がある。
そこで、配信する端末の数が少ないときには、各端末が同一コンテンツをサーバに要求してもそれ程サーバや通信路への負荷が大きくならないので、ユニキャスト型の配信を行い、端末の数が多くなったときには、サーバや通信路への負荷が大きくなりすぎないようにするため、マルチキャスト型の配信に切り替える方法が開示されている(特許文献1参照)。
また、時間差の少ない複数のユニキャスト型の配信が生じた場合は、それら端末グループについて、マルチキャスト型の配信に変換する方法が開示されている(特許文献2参照)。
特開2000−181836
特開2004−080566
しかしながら、特許文献1の方法では、途中でマルチキャスト型に切り替えた場合、端末が、コンテンツをユニキャスト型で既に一部配信を受けていたにもかかわらず、あらためてすべてのコンテンツをマルチキャスト型で受信し直しているので、それだけ余分な時間が必要となり、例えば端末側でその間、他のコンテンツをダウンロードするなど他の作業をすることができない課題がある。
また、特許文献2の方法では、時間差の少ない端末グループでしかマルチキャスト型に切りかえできないため、すべての端末がマルチキャスト型に切換えられとしても、時間差を持った複数のマルチキャスト型の配信を行わなければならないという課題がある。
本発明は、このような従来のコンテンツ配信システムを考慮し、サーバの配信負荷が少なく、端末の受信時間が短いコンテンツ配信システムなどを提供することを目的とする。
第1の本発明は、コンテンツを保持し、複数のブロックに分割して配信するコンテンツサーバと、前記コンテンツサーバからネットワークを介して前記コンテンツを取得する複数の端末とを備えたコンテンツ配信システムにおいて、
前記端末は、前記コンテンツサーバがユニキャスト型でコンテンツを配信している時はユニキャスト型で配信を受け、マルチキャスト型でコンテンツを配信している時は、マルチキャスト型で配信を受け、
前記コンテンツサーバは、少なくとも一つの端末に関して、一つの前記コンテンツを分割配信中に配信の型が変わる場合、ユニキャスト型で配信する場合の順番と、前記マルチキャスト型で配信する場合の順番が互いに逆になるように配信する、コンテンツ配信システムである。
前記端末は、前記コンテンツサーバがユニキャスト型でコンテンツを配信している時はユニキャスト型で配信を受け、マルチキャスト型でコンテンツを配信している時は、マルチキャスト型で配信を受け、
前記コンテンツサーバは、少なくとも一つの端末に関して、一つの前記コンテンツを分割配信中に配信の型が変わる場合、ユニキャスト型で配信する場合の順番と、前記マルチキャスト型で配信する場合の順番が互いに逆になるように配信する、コンテンツ配信システムである。
第2の本発明は、前記コンテンツサーバは、コンテンツ毎に単位時間当たりの要求端末数を計測し、予め決められた一定数を超えた場合、その一定数を超えたコンテンツについてマルチキャスト型の配信を開始する、第1の本発明のコンテンツ配信システムである。
第3の本発明は、前記コンテンツサーバは、前記端末からユニキャスト型でコンテンツを要求されたとき、前記コンテンツの配信に加えて前記コンテンツがマルチキャスト型で配信されているかの別も応答する、第1の本発明のコンテンツ配信システムである。
第4の本発明は、前記コンテンツサーバは、前記コンテンツがマルチキャスト型配信されていることを応答するために、マルチキャストIPアドレスを前記端末へ知らせる、第3の本発明のコンテンツ配信システムである。
第5の本発明は、前記端末は、前記ユニキャスト型でコンテンツ配信を要求したとき、前記コンテンツサーバから前記コンテンツがマルチキャスト配信されているとの応答があった場合、ユニキャスト型でのコンテンツ取得を中止し、マルチキャスト型での配信を受ける、第3の本発明のコンテンツ配信システムである。
第6の本発明は、コンテンツを保持し、複数のブロックに分割して、ネットワークを介して複数の端末に配信するコンテンツサーバにおいて、
少なくとも一つの前記端末に関して、一つの前記コンテンツを分割配信中に配信の型が変わる場合、ユニキャスト型で配信する場合の順番と、前記マルチキャスト型で配信する場合の順番が互いに逆になるように配信する、コンテンツサーバである。
少なくとも一つの前記端末に関して、一つの前記コンテンツを分割配信中に配信の型が変わる場合、ユニキャスト型で配信する場合の順番と、前記マルチキャスト型で配信する場合の順番が互いに逆になるように配信する、コンテンツサーバである。
第7の本発明は、コンテンツを保持するコンテンツサーバから、前記コンテンツを複数のブロックに分割して、ネットワークを介して受信する端末において、
ユニキャスト型配信でコンテンツを受信している際に、そのコンテンツとは別にそのコンテンツがマルチキャスト型で配信されている旨知らされた場合、前記ユニキャスト型配信でのコンテンツ取得を中止し、マルチキャスト型での配信で、前記ユニキャスト型配信の順番とは逆順で前記コンテンツを受信する、端末である。
ユニキャスト型配信でコンテンツを受信している際に、そのコンテンツとは別にそのコンテンツがマルチキャスト型で配信されている旨知らされた場合、前記ユニキャスト型配信でのコンテンツ取得を中止し、マルチキャスト型での配信で、前記ユニキャスト型配信の順番とは逆順で前記コンテンツを受信する、端末である。
第8の本発明は、コンテンツを保持するコンテンツサーバにより、前記コンテンツを分割して複数の端末に配信するコンテンツ配信方法において、
前記所定のコンテンツの分割配信中に配信の型が変わる場合、前記コンテンツをユニキャストで配信する際の順番と、前記コンテンツを前記マルチキャストで配信する際の順番とを逆として配信する、コンテンツ配信方法である。
前記所定のコンテンツの分割配信中に配信の型が変わる場合、前記コンテンツをユニキャストで配信する際の順番と、前記コンテンツを前記マルチキャストで配信する際の順番とを逆として配信する、コンテンツ配信方法である。
第9の本発明は、第1の本発明のコンテンツ配信システムの、前記コンテンツサーバがユニキャスト型でコンテンツを配信している時はユニキャスト型で配信を受け、マルチキャスト型でコンテンツを配信している時は、マルチキャスト型で配信を受ける前記端末、少なくとも一つの端末に関して、一つの前記コンテンツを分割配信中に配信の型が変わる場合、ユニキャスト型で配信する場合の順番と、前記マルチキャスト型で配信する場合の順番が互いに逆になるように配信する前記コンテンツサーバ、としてコンピュータを機能させるためのプログラムである。
第10の本発明は、第9の本発明のプログラムを記録した記録媒体であって、コンピュータにより処理可能な記録媒体である。
本発明では、ユニキャスト型のコンテンツ配信をマルチキャスト型のコンテンツ配信に切り替える際、あるいは逆にマルチキャスト型のコンテンツ配信をユニキャスト型のコンテンツ配信に切り替える際、コンテンツの配信順番をそれまでの配信順番とは逆順で配信することにより、サーバの配信負荷を低減し、かつ端末の受信時間を短くすることが可能となる。
本発明により、サーバの配信負荷を低減し、端末の受信時間を短くすることが可能となる。
以下に、本発明の実施の形態について、図面を参照しながら説明する。
図1は本発明の実施の形態についての概要を示す図である。図1において、1はコンテンツサーバ、2はネットワーク、3は端末、4は映像表示装置である。端末3とコンテンツサーバ1はネットワーク2を介して接続されている。ネットワーク2はインターネット網でありIPパケットを伝送するネットワークである。コンテンツ配信機器であるコンテンツサーバ1は、コンテンツを保持し、端末3からの要求にしたがってコンテンツをユニキャスト型で応答配信するほか、状況に応じてコンテンツをマルチキャスト型を用いて配信する。
端末3は、ユニキャスト通信を用いてコンテンツサーバ1にコンテンツを要求しコンテンツを取得するほか、マルチキャスト配信に参加してコンテンツサーバ1が配信するコンテンツを取得する。また、端末3は、取得したコンテンツを映像表示装置4に表示させる。
コンテンツサーバ1のブロック図を図2に示す。10はコンテンツ記録部、11はネットワークインタフェース、12はユニキャスト応答部、13はマルチキャスト配信部、14は計測部である。ネットワークインタフェース11はネットワーク2から到達可能なIPアドレスを持っており、ネットワーク2から当該IPアドレス宛のHTTP(Hyper Text Transfer Protocol)リクエストが到達した場合ユニキャスト応答部12に中継し、またユニキャスト応答部12が生成する応答配信をHTTPリクエストの送信元にネットワーク2に通じて返送する。
すなわち、ユニキャスト応答部12は、HTTPリクエストに応じてコンテンツ記録部10から、指定されたコンテンツの指定された部分を読み出し、HTTPレスポンスとして応答配信するようネットワークインタフェース11に要求する。このとき、ユニキャスト応答部12は、後述のようにマルチキャスト配信部13が既に他の端末グループに対して当該コンテンツをマルチキャスト型配信している場合には、そのマルチキャストIPアドレスをHTTPレスポンスヘッダに含めて返信する。
さらに、ネットワークインタフェース11は、マルチキャスト配信部13からマルチキャスト配信の要求があった場合、マルチキャスト配信部13から通知されるマルチキャストIPアドレスに対して、マルチキャスト配信部13が配信するコンテンツを配信する。
また、ユニキャスト応答部12は、当該コンテンツの単位時間当たりのユニークな接続数を計測部14から取得する。ユニキャスト応答部12は、マルチキャスト配信部13がマルチキャスト配信していない場合で、単位時間当たりのユニークな接続数が一定数αより大きい場合には、当該コンテンツのマルチキャスト配信をマルチキャスト配信部13に依頼する。逆に、マルチキャスト配信部13がマルチキャスト配信している場合で、単位時間当たりのユニークな接続数が一定数βより小さい場合には、当該コンテンツのマルチキャスト配信の中止をマルチキャスト配信部13に依頼する。
このことによって、接続数が多い場合はマルチキャスト配信を、少ない場合はユニキャスト通信を行うことで、通信路のリソースを有効につかうことができる。
マルチキャスト配信部13は、ユニキャスト応答部12からコンテンツのマルチキャスト配信の依頼があれば、当該コンテンツをコンテンツ記録部10から逆順に取り出しマルチキャスト配信をネットワークインタフェース11を通じて行う。そしてマルチキャスト配信の有無とマルチキャストIPアドレスを管理し、ユニキャスト応答部12から問い合わせがあれば応答する。逆順とはコンテンツをブロックに分割し配信する際に、後ろのブロックから配信することをいう。各ブロックを配信する際のマルチキャストパケット内のデータ並びは正順である。
計測部14は、コンテンツごとに単位時間当たりのユニークな接続数を計測する。
図3は、端末3のブロック図である。20はネットワークインタフェース、21はユニキャスト要求部、22はマルチキャスト受信部、23は再生部、24は記録部である。
再生部23は、ユニキャスト要求部21に対して、コンテンツを取得するよう要求する。コンテンツの特定はURL(Uniform Resource Locator)で行う。ユニキャスト要求部21は当該URLのコンテンツの要求をHTTPプロトコルに従ってネットワークインタフェース20にリクエストする。このとき、リクエストはコンテンツのすべてのデータではなく、コンテンツを分割したブロックを順に取得するよう複数のリクエストを順に行う。ネットワークインタフェース20はリクエストをネットワーク2を通じてコンテンツサーバ1に出力する。また、コンテンツサーバ1からHTTPレスポンスがあればHTTPレスポンスをユニキャスト要求部21に出力する。ユニキャスト要求部21はHTTPレスポンスからコンテンツを取り出し記録部24に保管する。
また、ユニキャスト要求部21は記録部24にコンテンツのすべてのデータが記録されると再生部23にコンテンツ取得の終了を通知する。ユニキャスト要求部21は記録部24へのコンテンツの記録に不足があれば、再度不足分の先頭から一定サイズのデータを順番に取得する。再生部23はコンテンツ取得の終了を通知された場合、コンテンツを記録部24から取り出し映像信号に変換し映像表示装置4に表示する。
またユニキャスト要求部21は、応答されたHTTPレスポンスのHTTPレスポンスヘッダにマルチキャストIPアドレスが付加されている場合は、当該コンテンツが当該マルチキャストIPアドレスでマルチキャスト型で配信されているとみなし、マルチキャスト受信部22に当該マルチキャストIPアドレスのマルチキャスト型配信を受信するよう要求するとともに、HTTPプロトコルを用いたコンテンツのリクエストを中止する。
マルチキャスト受信部22は、ユニキャスト要求部21からマルチキャスト配信の受信を要求された場合、通知されたマルチキャストIPアドレスの購読(JOIN)をネットワークインタフェース20に要求する。ネットワークインタフェース20は、ネットワーク2にたいして当該マルチキャストIPアドレスの購読(JOIN)を行う。以降、ネットワーク2は、当該マルチキャストIPアドレスで配信されるパケットを購読した端末3に出力する。ネットワークインタフェース20は、当該マルチキャストIPアドレス宛てに配信されたパケットを受信した場合、そのパケットをマルチキャスト受信部22に出力する。
マルチキャスト受信部22は受信したパケットのコンテンツヘッダからコンテンツの位置を識別し、パケット中のコンテンツを記録部24に記録する。このとき、コンテンツのすべてのデータがそろった場合は、再生部23にコンテンツの取得の完了を通知するとともに当該マルチキャストIPアドレスの購読の中止をネットワークインタフェース20に通知する。そして、ネットワークインタフェース20は当該マルチキャストIPアドレスの購読の中止をネットワーク2に要求する。
マルチキャスト受信部22は、マルチキャスト配信の購読中で、一定時間マルチキャスト配信の受信がない場合はマルチキャスト配信の購読の中止をネットワークインタフェース20に要求するとともにユニキャスト要求部21にマルチキャスト配信の購読の中止を通知する。ユニキャスト要求部21は、マルチキャスト配信の購読の中止が通知された場合、記録部24に蓄積されているコンテンツのデータの不足分をHTTPプロトコルを用いてコンテンツサーバ1から取得する。
記録部24は、ユニキャスト要求部21およびマルチキャスト受信部22から、コンテンツを記録されるほか、記録部24に記録されているコンテンツについて、取得が完了しているかどうか、また未取得の領域の情報に関する問い合わせに応答する。また再生部23からコンテンツの要求があったときにコンテンツを出力する。
以上のように、コンテンツサーバ1と端末3は協調して、同一コンテンツを要求する端末数が少ない場合にHTTPプロトコルを用いたユニキャスト型の配信、受信でコンテンツを通信し、多い場合にはコンテンツをマルチキャスト型で配信、受信し、また端末数が少なくなった場合にはユニキャスト型の通信に戻る。
図4にHTTPプロトコルを用いたユニキャスト型配信を行う場合のデータ構造を示す。
31はHTTPリクエストである。行41に、リクエストはGETメソッドで行われ、取得するコンテンツをURLで指定することが示される。このときの取得するコンテンツの範囲を行42に指定する。Rangeヘッダは取得したいデータの範囲を示す。0−999は最初のデータを0番目としたときにバイト単位で0番目〜999番目のデータを取得したいと要求することを示す。
32は、HTTPレスポンスである。行51では、HTTPレスポンスの中身がコンテンツのすべてのデータではなく、分割されたブロック部分のみであることが示される。これは、2番目のパラメータが”206”であることで判別する。行52は、レスポンスを作成した日時を示す。行53はHTTPレスポンスに含まれるコンテンツの範囲を示す。これはHTTPリクエストで要求された範囲と一致する。行54は空行である。行52,行53はHTTPレスポンスヘッダである。HTTPレスポンスヘッダは、レスポンスされたデータではなく、データの属性やレスポンスの条件などを示し、HTTPレスポンスの2行目から始まり、空行の前の行で終わる。行55以降はレスポンスされたデータすなわちコンテンツ本体である。
33は、X−multicastヘッダが含まれる場合のHTTPレスポンスである。前記HTTPレスポンス32との違いはHTTPレスポンスヘッダのいずれかの場所に行56に示すX−multicastヘッダが含まれていることである。このヘッダが含まれている場合は、当該コンテンツがマルチキャスト型で配信されており、またそのマルチキャストIPアドレスがX−multicastヘッダのパラメータ、ここでは233.44.67.33であることを示す。
図5にマルチキャスト型配信で用いるマルチキャストパケット100の構造を示す。
マルチキャストパケット100はUDPで伝送される。そのため先頭にUDPヘッダ101が付加される。UDPペイロードとしてコンテンツヘッダ102とコンテンツ本体103が伝送される。コンテンツヘッダ102はコンテンツ本体103の属性を示し、コンテンツ本体103はマルチキャストパケット100であるコンテンツの一部である。コンテンツヘッダ102には少なくともオフセット104とレングス105が含まれる。オフセット104はコンテンツ本体103の先頭データが、マルチキャストパケット100のどの部分であるかをバイト単位で示したデータである。コンテンツ本体103のデータがコンテンツの1000バイト目からのデータである場合、オフセット104は1000となる。レングス105は、コンテンツ本体104の長さをバイト単位で表したものである。
図6は、コンテンツサーバ1のユニキャスト応答部12で実行するフローチャートである。このフローはコンテンツごとに実行される。
ステップ60はHTTPリクエスト待ちループである。当該コンテンツに対するHTTPリクエストがあればステップ61に遷移する。またステップ60ではタイマーを実行し、タイムアウトした場合にはステップ64に遷移する。
ステップ61は当該コンテンツがマルチキャスト配信されているかどうかをマルチキャスト配信部13に問い合わせる。マルチキャスト配信を行っている場合にはステップ63へ、行っていない場合にはステップ62へ遷移する。
ステップ62では、HTTPリクエストのURLで指定されたコンテンツのRangeヘッダで指定されたデータをx−multicastヘッダなしで返信を行い、ステップ60に戻る。
ステップ63では、HTTPリクエストのURLで指定されたコンテンツのRangeヘッダで指定されたデータを返信する。このときHTTPレスポンスヘッダにx−multicastヘッダを付加して返信する。パラメータとしてマルチキャストIPアドレスが用いられる。マルチキャストIPアドレスは、マルチキャスト配信部13から取得する。そして、ステップ60に戻る。
ユニキャスト応答部12は、ステップ60でHTTPリクエストが来ずタイムアウトした場合、ステップ64でマルチキャスト配信を行っているかどうかをマルチキャスト配信部13に問い合わせる。マルチキャスト配信を行っている場合にはステップ67へ、行っていない場合にはステップ65へ遷移する。
ステップ65では、当該コンテンツの単位時間当たりのユニークな接続数を計測部14に問い合わせる。当該コンテンツの単位時間当たりのユニークな接続数がα以上であればステップ66に遷移し、そうでなければステップ60のHTTPリクエスト待ちに戻る。
ステップ66では、ユニキャスト応答部12は、マルチキャスト配信部13に当該コンテンツのマルチキャスト配信を要求する。
ステップ67では、当該コンテンツの単位時間当たりのユニークな接続数を計測部14に問い合わせる。当該コンテンツの単位時間当たりのユニークな接続数がβより少なければステップ68に遷移し、そうでなければステップ60に戻る。
ステップ68では、ユニキャスト応答部12は、マルチキャスト配信部13に当該コンテンツのマルチキャスト配信の中止を要求する。
図7は、前記コンテンツの単位時間当たりのユニークな接続数とマルチキャスト配信の関係を示している。図7に従えば、接続数がαを超えるとコンテンツ92−1についてマルチキャスト型配信を開始する。そのコンテンツ92−1の配信が終了すれば、再度同じコンテンツ92−2についてマルチキャスト型配信を行う。
さらに、次の再度同じコンテンツ92−3をマルチキャスト型配信しているときに、接続数がβを下回ると、マルチキャスト型配信を中止するが、そのとき配信していたコンテンツ92−3については、そのコンテンツの終了までマルチキャスト型配信を継続する。
図8は、端末3におけるユニキャスト要求部21の動作である。再生部23からコンテンツの取得が要求された場合、ステップ71に遷移する。
ステップ71ではユニキャスト型配信のコンテンツの一部の取得要求を行う。図4に示すように、使用するプロトコルはHTTPであり、GETメソッド31を用いる。コンテンツの特定はURLで指定する。ユニキャスト要求部21は、記録部24に未取得部分の確認を行い、未取得のデータの先頭から1KBごとに取得要求を行う。そのためHTTPリクエストヘッダでRange指定を行う。ステップ71のHTTPリクエスト後ステップ72に遷移する。
ステップ72では、コンテンツサーバ1からのHTTPレスポンス32,33を待つ。HTTPレスポンス32,33が到着した場合はステップ73に遷移する。
ステップ73では、HTTPレスポンス32,33のコンテンツ本体55を記録部24に記録する。このとき、HTTPレスポンスヘッダのContent−Rangeヘッダ53の次行56欄のパラメータを参照する。その後ステップ74に遷移する。
ステップ74では、HTTPレスポンスヘッダにx−multicastヘッダが含まれているかどうかをチェックする。含まれている場合にはステップ75へ遷移し、含まれていない場合はステップ76に遷移する。
ステップ75では、マルチキャストIPアドレスとしてx−multicastヘッダのパラメータを抜き出し、マルチキャスト受信部22に通知し、当該コンテンツのマルチキャスト配信の受信を要求し、その後に動作を終了する。
ステップ76では、当該コンテンツの取得が完了したかどうかを記録部24に問い合わせる。完了した場合にはステップ77に遷移し、完了していない場合はステップ71に遷移する。
ステップ77では、再生部23にコンテンツ取得の完了を通知した後動作を終了する。
なお、ユニキャスト要求部21の動作の開始は、上述のように再生部23から要求される場合と、マルチキャスト受信部22から要求される場合があるが、動作は同じである。ここにマルチキャスト受信部22が要求する場合の例とは、後述する図9のステップ86である。
図9は、マルチキャスト受信部22の動作である。ユニキャスト要求部21がマルチキャストIPアドレスを通知したときに動作を開始しステップ80に遷移する。
ステップ80では、マルチキャスト配信に参加を行う。IGMP(Internet Group Management Protocol)を用いて当該マルチキャストIPアドレスの送信をネットワーク2に依頼した後にステップ81に遷移する。依頼はJOINのコマンドを用いて行う。
ステップ81は受信待ちループである。当該マルチキャストIPアドレス宛のパケットを受信した場合ステップ82に遷移する。またタイマーがタイムアウトした場合はステップ86に遷移する。
ステップ82では受信したパケットのコンテンツヘッダ102のオフセット104とレングス105を取り出し(図5参照)、コンテンツ本体103を記録部24に記録する。このとき記録する場所を決定するため、パケットのコンテンツヘッダ102のオフセット104とレングス105を取り出してそれを利用する。その後ステップ83に遷移する。
ステップ83では当該コンテンツの取得が完了したかどうかを記録部24に問い合わせる。完了した場合にはステップ84に遷移し、完了していない場合はステップ80に遷移する。
ステップ84では、当該コンテンツの取得の完了を再生部23に通知した後ステップ85に遷移する。
ステップ85では、マルチキャスト配信の受信を中止する。すなわちIGMPを用いて当該マルチキャストIPアドレスの配送の中止をネットワーク2に依頼した後に動作を終了する。配送の中止はLEAVEコマンドで行う。
ステップ86では、マルチキャスト配信が中止されたと判断し、ユニキャストでの受信の再開をユニキャスト要求部21に行いステップ84に遷移する。
次に、本実施の形態における配信のさらなる具体例を説明する。
図10に、すべてユニキャスト型の配信でコンテンツの取得を行った場合のパケットの取得方法および取得順番について示す。111はパケットの取得順番を示す番号であり、112は取得方法を示す。”ユニキャスト”はHTTPリクエストを用いて取得した場合、”マルチキャスト”はマルチキャスト型配信の受信を行った場合である。113は、取得したパケットのブロック番号であり、114は、ユニキャスト型配信で取得を行った場合、HTTPレスポンスのヘッダにx−multicastヘッダが存在するか否かを示す。115はマルチキャスト型配信で取得した場合にその後タイムアウトがあったかどうかを示す(図9のステップ81参照)。
ここではマルチキャスト型の配信では10KBのコンテンツを10個のブロックに分割し後ろから順に配信し、ユニキャスト型の配信でのコンテンツ取得では1KBごとに前から順にコンテンツを取得するものとする。すなわち、双方の配信では逆の順番でコンテンツのブロックを取得するようにしている。パケットの番号は先頭から1KBごとに1,2、3、・・・・、9、10と付与したものである。
最初にユニキャスト型配信で先頭の1ブロック分に相当する範囲のコンテンツのデータを取得する。ここで、HTTPレスポンスのヘッダにx−multicastヘッダがなしなので、順次ブロック2に相当するデータ、ブロック3に相当するデータと順次取得し、10回取得を繰り返すことでコンテンツの取得を完了する。ここでは、すべてのユニキャスト型配信でのデータ取得のさいx−multicastヘッダがなかった例である。
次に、図11は、コンテンツサーバ1が所定の端末グループに対して所定のコンテンツのマルチキャスト型配信を行っているときに、新たな端末3がそのコンテンツを取得する際のパケットの取得方法および取得順番について示す。
その新たな端末3が先ずユニキャスト型配信で先頭の1ブロック分に相当する範囲のコンテンツのデータを取得する。このときにHTTPレスポンスヘッダにx−multicastヘッダがあるので、ユニキャスト型配信での取得を中止し、マルチキャスト型配信の受信を開始するが、既にマルチキャスト型配信を他の端末グループへ行っているので、その開始の際最初に取得するブロックの番号は不定であるが(図11の例では5番を取得している)、全部のブロックが逆順に循環して配信されるので1周すればすべてのデータを取得できる(5>4>3>2>1>10>9>8>7>6)。循環して1周したときにすべてのブロックの受信が終了する。ここではマルチキャスト型配信で全てのブロックの受信がなされ、途中でタイムアウトがなかった、すなわち、マルチキャスト型配信に参加している端末の数がαを上回ったままで、順次マルチキャスト型配信でブロックが受信出来たものとする。
なお、最初のブロックについて、多くの場合、ユニキャストとマルチキャストでの取得が重複するが、この時間および通信量が問題であれば、最初に取得するユニキャストのデータ量を1バイトなど小さくすれば問題ない。
次に、図12に、ある端末3がユニキャスト型での配信を取得中にマルチキャスト型の配信が始まった場合のパケットの取得方法および取得順番について示す。まず、その端末3が先頭の1ブロック分に相当する範囲のコンテンツのデータを取得する。このときにx−multicastヘッダがないので、以後順次次のブロックの取得をユニキャスト型で行う。そして5番目のブロックの取得の際にそのHTTPレスポンスヘッダ中に、マルチキャスト型の配信に切り替わったことを示すx−multicastヘッダが「ある」ので、ユニキャスト型での取得を中止し、マルチキャスト型配信の受信を行う。なお、コンテンツサーバ1はマルチキャスト配信の開始時(切替時)にはブロックの後ろから配信を開始するので、受信されるブロックは最後の10から始まって逆順に受信することになる。
したがって端末3は、ブロック6の受信によってコンテンツのデータをすべて受信できる。このようにコンテンツサーバ1が逆順にマルチキャスト型の配信することによって、端末3にとって時間の無駄のないコンテンツデータの取得が可能となる。
図13は、既に他の端末3に対してマルチキャスト型配信中に、新たに当端末3がユニキャスト型の配信を要求し、マルチキャスト型の配信に切り替えられ、その後さらにマルチキャスト型の配信が中止された時のパケットの取得方法および取得順番について示す。
端末3は、先頭の1ブロック分に相当する範囲のコンテンツのデータを取得する。このときにそのHTTPレスポンスヘッダ中に、x−multicastヘッダが「ある」ので、ユニキャスト型での取得を中止し、マルチキャスト型の配信の受信を開始する。最初に取得するブロックは既に他の端末3に対してマルチキャスト型配信中であるので不定であるが、ここではブロック5が受信されたとする。
端末3は、先頭の1ブロック分に相当する範囲のコンテンツのデータを取得する。このときにそのHTTPレスポンスヘッダ中に、x−multicastヘッダが「ある」ので、ユニキャスト型での取得を中止し、マルチキャスト型の配信の受信を開始する。最初に取得するブロックは既に他の端末3に対してマルチキャスト型配信中であるので不定であるが、ここではブロック5が受信されたとする。
そして逆順に受信を続け、たまたまブロック1の受信後に、マルチキャスト型配信を受信している端末の数がβを下回ったため、コンテンツサーバ1がマルチキャスト型配信を中止し(図6のステップ68参照)、タイムアウトが起きたとする(図9のステップ81参照)。この場合、マルチキャスト型配信の受信を中止し、ユニキャスト型での取得を行う。このときは、記録部24に記録されていないブロック(この場合は6,7,8,9,10)を順にユニキャスト型配信で取得する(図9のステップ86参照)。このようにしてコンテンツ全体の取得を行う。
以上のようにして本実施の形態のシステムでコンテンツデータの取得を行う。
なお、上述した本実施の形態では、まずユニキャスト型配信でコンテンツの一部を取得し、その際にマルチキャスト配信を行っているかどうかの情報をHTTPレスポンスヘッダを利用して同時に取得したが、別途マルチキャスト型配信を行っているかどうかを応答する問い合わせサーバを用意し、コンテンツの取得に先立って端末がマルチキャスト型配信の有無を問い合わせ、マルチキャスト型配信している場合には、最初から、ユニキャスト型でのコンテンツ取得を行わずマルチキャスト型配信の受信を行ってもよい。
また、本実施の形態では単位時間当たりのユニーク接続数がβを下回ったときに、そのとき配信しているコンテンツがすべて配信された時にマルチキャスト配信を中止したが、単位時間当たりのユニーク接続数がβを下回ったときに、直ちにマルチキャスト配信を中止してもよい。
また、本実施の形態では、マルチキャスト型配信の受信の中止を、マルチキャストパケットの受信タイムアウトで判別したが、問い合わせサーバにマルチキャスト配信の有無を問い合わせ、マルチキャスト配信していない場合に、マルチキャスト配信の受信の中止を行うようにしてもよい。
また、本実施の形態では、マルチキャスト配信の受信の中止を、マルチキャストパケットの受信タイムアウトで判別したが、マルチキャスト配信時のコンテンツヘッダに、マルチキャスト配信の中止の予告情報を含ませて配信し、端末は、コンテンツヘッダにマルチキャスト配信の中止の予告情報が含まれている場合、当該コンテンツのその回の配信終了を持ってマルチキャスト受信の中止を行い、コンテンツの不足分をユニキャスト通信で要求してもよい。
また、本実施の形態では、マルチキャスト配信の実施の閾値として、単位時間当たりのユニーク接続数を判断基準としたが、別の基準でマルチキャスト配信の有無を決めてもよい。たとえば、マルチキャスト型配信のn本可能なサーバおよび通信路を用意し、閾値を上回る、下回るを問わず、閾値とは関係なく、単位時間あたりのユニーク接続数の多い順にn個のコンテンツに関してマルチキャスト型配信することとしてもよい。
また、本実施の形態では、端末3がユニキャスト型配信でデータを取得するときは、コンテンツの先頭からもしくは未取得領域を順に取得し、コンテンツサーバ1がマルチキャスト型で配信する場合は、コンテンツを逆順に配信するとしたが、端末3がユニキャスト型配信で逆順に取得し、コンテンツサーバ1がマルチキャスト型配信で順方向に配信しても同様の効果が得られるのはいうまでもない。要するに、両者の型の配信の順番が逆になっていればよい。
さらにまた、本発明において、ユニキャスト型配信とマルチキャスト型配信との両者の配信の順番が逆になる必要性は、一つの端末への一つのコンテンツの配信中での必要性であって、他の端末へのユニキャスト型配信の順番との比較や、あるいは別の内容のコンテンツの配信順番に対する比較はまた別個の問題であり、要するに、少なくとも一つの端末への一つのコンテンツの配信中での必要性である。
また、本発明のプログラムは、上述した本発明のコンテンツ配信システムの全部又は一部をコンピュータにより実行させるためのプログラムであって、コンピュータと協働して動作するプログラムである。
また、本発明の記録媒体は、上述した本発明のコンテンツ配信システムの全部又は一部をコンピュータにより実行させるためのプログラムを記録した記録媒体であり、コンピュータにより読み取り可能且つ、読み取られた前記プログラムが前記コンピュータと協動して前記動作を実行する記録媒体である。
また、本発明のプログラムの一利用形態は、コンピュータにより読み取り可能な、ROM等の記録媒体に記録され、コンピュータと協働して動作する態様であっても良い。
また、本発明のプログラムの一利用形態は、インターネット等の伝送媒体、光・電波・音波等の伝送媒体中を伝送し、コンピュータにより読みとられ、コンピュータと協働して動作する態様であっても良い。
また、上述した本発明のコンピュータは、CPU等の純然たるハードウェアに限らず、ファームウェアや、OS、更に周辺機器を含むものであっても良い。
なお、以上説明した様に、本発明の構成は、ソフトウェア的に実現しても良いし、ハードウェア的に実現しても良い。
本発明にかかる コンテンツ配信システム、コンテンツサーバ、端末、コンテンツ配信方法、プログラムおよび記録媒体は、サーバの配信負荷を低減し、端末の受信時間を短くすることが可能であり、インターネットなどで、映像や音声などのコンテンツを配信するコンテンツ配信システムなどとして有用である。
1 コンテンツサーバ
2 ネットワーク
3 端末
4 映像表示装置
10 コンテンツ記録部
11 ネットワークインターフェース
12 ユニキャスト応答部
13 マルチキャスト配信部
14 計測部
20 ネットワークインターフェース
21 ユニキャスト要求部
22 マルチキャスト受信部
23 再生部
24 記録部
100 マルチキャストパケット
2 ネットワーク
3 端末
4 映像表示装置
10 コンテンツ記録部
11 ネットワークインターフェース
12 ユニキャスト応答部
13 マルチキャスト配信部
14 計測部
20 ネットワークインターフェース
21 ユニキャスト要求部
22 マルチキャスト受信部
23 再生部
24 記録部
100 マルチキャストパケット
Claims (10)
- コンテンツを保持し、複数のブロックに分割して配信するコンテンツサーバと、前記コンテンツサーバからネットワークを介して前記コンテンツを取得する複数の端末とを備えたコンテンツ配信システムにおいて、
前記端末は、前記コンテンツサーバがユニキャスト型でコンテンツを配信している時はユニキャスト型で配信を受け、マルチキャスト型でコンテンツを配信している時は、マルチキャスト型で配信を受け、
前記コンテンツサーバは、少なくとも一つの端末に関して、一つの前記コンテンツを分割配信中に配信の型が変わる場合、ユニキャスト型で配信する場合の順番と、前記マルチキャスト型で配信する場合の順番が互いに逆になるように配信する、コンテンツ配信システム。 - 前記コンテンツサーバは、コンテンツ毎に単位時間当たりの要求端末数を計測し、予め決められた一定数を超えた場合、その一定数を超えたコンテンツについてマルチキャスト型の配信を開始する、請求項1記載のコンテンツ配信システム。
- 前記コンテンツサーバは、前記端末からユニキャスト型でコンテンツを要求されたとき、前記コンテンツの配信に加えて前記コンテンツがマルチキャスト型で配信されているかの別も応答する、請求項1記載のコンテンツ配信システム。
- 前記コンテンツサーバは、前記コンテンツがマルチキャスト型配信されていることを応答するために、マルチキャストIPアドレスを前記端末へ知らせる、請求項3記載のコンテンツ配信システム。
- 前記端末は、前記ユニキャスト型でコンテンツ配信を要求したとき、前記コンテンツサーバから前記コンテンツがマルチキャスト配信されているとの応答があった場合、ユニキャスト型でのコンテンツ取得を中止し、マルチキャスト型での配信を受ける、請求項3記載のコンテンツ配信システム。
- コンテンツを保持し、複数のブロックに分割して、ネットワークを介して複数の端末に配信するコンテンツサーバにおいて、
少なくとも一つの前記端末に関して、一つの前記コンテンツを分割配信中に配信の型が変わる場合、ユニキャスト型で配信する場合の順番と、前記マルチキャスト型で配信する場合の順番が互いに逆になるように配信する、コンテンツサーバ。 - コンテンツを保持するコンテンツサーバから、前記コンテンツを複数のブロックに分割して、ネットワークを介して受信する端末において、
ユニキャスト型配信でコンテンツを受信している際に、そのコンテンツとは別にそのコンテンツがマルチキャスト型で配信されている旨知らされた場合、前記ユニキャスト型配信でのコンテンツ取得を中止し、マルチキャスト型での配信で、前記ユニキャスト型配信の順番とは逆順で前記コンテンツを受信する、端末。 - コンテンツを保持するコンテンツサーバにより、前記コンテンツを分割して複数の端末に配信するコンテンツ配信方法において、
前記所定のコンテンツの分割配信中に配信の型が変わる場合、前記コンテンツをユニキャストで配信する際の順番と、前記コンテンツを前記マルチキャストで配信する際の順番とを逆として配信する、コンテンツ配信方法。 - 請求項1記載のコンテンツ配信システムの、前記コンテンツサーバがユニキャスト型でコンテンツを配信している時はユニキャスト型で配信を受け、マルチキャスト型でコンテンツを配信している時は、マルチキャスト型で配信を受ける前記端末、少なくとも一つの端末に関して、一つの前記コンテンツを分割配信中に配信の型が変わる場合、ユニキャスト型で配信する場合の順番と、前記マルチキャスト型で配信する場合の順番が互いに逆になるように配信する前記コンテンツサーバ、としてコンピュータを機能させるためのプログラム。
- 請求項9記載のプログラムを記録した記録媒体であって、コンピュータにより処理可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007157726A JP2008311947A (ja) | 2007-06-14 | 2007-06-14 | コンテンツ配信システム、コンテンツサーバ、端末、コンテンツ配信方法、プログラムおよび記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007157726A JP2008311947A (ja) | 2007-06-14 | 2007-06-14 | コンテンツ配信システム、コンテンツサーバ、端末、コンテンツ配信方法、プログラムおよび記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008311947A true JP2008311947A (ja) | 2008-12-25 |
Family
ID=40239152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007157726A Pending JP2008311947A (ja) | 2007-06-14 | 2007-06-14 | コンテンツ配信システム、コンテンツサーバ、端末、コンテンツ配信方法、プログラムおよび記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008311947A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012011449A1 (ja) * | 2010-07-20 | 2012-01-26 | シャープ株式会社 | プロキシサーバ、中継方法、通信システム、中継制御プログラム、および記録媒体 |
JP2012522457A (ja) * | 2009-03-31 | 2012-09-20 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | マルチキャスト配信を通じてメディアを提供するシステムのための方法及び装置 |
JP2013510453A (ja) * | 2009-11-03 | 2013-03-21 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | データセグメントのオプションのブロードキャスト配信によるストリーミング |
US8601032B2 (en) | 2009-07-27 | 2013-12-03 | Ricoh Company, Ltd. | Image forming apparatus, display control method, and recording medium |
JP2014131156A (ja) * | 2012-12-28 | 2014-07-10 | Nippon Telegraph & Telephone West Corp | 配信システム |
JP5549965B1 (ja) * | 2014-02-10 | 2014-07-16 | 株式会社イースティル | データ配信システム、サーバ装置、クライアント装置、プログラムおよびデータ配信方法 |
JP2015008475A (ja) * | 2014-07-25 | 2015-01-15 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | データセグメントのオプションのブロードキャスト配信によるストリーミング |
JP2021053182A (ja) * | 2019-09-30 | 2021-04-08 | 株式会社コロプラ | プログラム、方法、および配信端末 |
-
2007
- 2007-06-14 JP JP2007157726A patent/JP2008311947A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012522457A (ja) * | 2009-03-31 | 2012-09-20 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | マルチキャスト配信を通じてメディアを提供するシステムのための方法及び装置 |
US8601032B2 (en) | 2009-07-27 | 2013-12-03 | Ricoh Company, Ltd. | Image forming apparatus, display control method, and recording medium |
KR101602525B1 (ko) | 2009-11-03 | 2016-03-21 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 데이터 세그먼트의 선택적 방송전달을 가지는 스트리밍 |
JP2013510453A (ja) * | 2009-11-03 | 2013-03-21 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | データセグメントのオプションのブロードキャスト配信によるストリーミング |
US10321199B2 (en) | 2009-11-03 | 2019-06-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Streaming with optional broadcast delivery of data segments |
US9820009B2 (en) | 2009-11-03 | 2017-11-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Streaming with optional broadcast delivery of data segments |
JPWO2012011449A1 (ja) * | 2010-07-20 | 2013-09-09 | シャープ株式会社 | プロキシサーバ、中継方法、通信システム、中継制御プログラム、および記録媒体 |
WO2012011449A1 (ja) * | 2010-07-20 | 2012-01-26 | シャープ株式会社 | プロキシサーバ、中継方法、通信システム、中継制御プログラム、および記録媒体 |
JP2014131156A (ja) * | 2012-12-28 | 2014-07-10 | Nippon Telegraph & Telephone West Corp | 配信システム |
JP2015154096A (ja) * | 2014-02-10 | 2015-08-24 | 株式会社イースティル | データ配信システム、サーバ装置、クライアント装置、プログラムおよびデータ配信方法 |
JP5549965B1 (ja) * | 2014-02-10 | 2014-07-16 | 株式会社イースティル | データ配信システム、サーバ装置、クライアント装置、プログラムおよびデータ配信方法 |
JP2015008475A (ja) * | 2014-07-25 | 2015-01-15 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | データセグメントのオプションのブロードキャスト配信によるストリーミング |
JP2021053182A (ja) * | 2019-09-30 | 2021-04-08 | 株式会社コロプラ | プログラム、方法、および配信端末 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008311947A (ja) | コンテンツ配信システム、コンテンツサーバ、端末、コンテンツ配信方法、プログラムおよび記録媒体 | |
CN106850745B (zh) | 一种实时同步方法和装置 | |
JP5249763B2 (ja) | 要求に応じたマルチメディアコンテンツのマルチキャスト配信 | |
CN110661871B (zh) | 一种数据传输方法及mqtt服务器 | |
KR102077883B1 (ko) | 데이터 통신 시스템 및 방법 | |
JPWO2005099188A1 (ja) | 通信品質管理方法および装置 | |
WO2007142483A1 (en) | A method and system for remotely accessing devices in a network | |
CN103348657B (zh) | 流媒体播放方法、设备及*** | |
CN111427527A (zh) | 投屏方法、装置、设备及计算机可读存储介质 | |
CN110445723B (zh) | 一种网络数据调度方法及边缘节点 | |
EP1806870A1 (en) | Method for providing data and data transmission system | |
US8095116B2 (en) | Method for delivering multimedia files | |
CN108228625B (zh) | 一种推送消息处理方法及装置 | |
CN105704338A (zh) | 一种混音方法、混音设备及*** | |
KR20050043772A (ko) | 사용자간 통신을 위한 모듈 및 방법 | |
JP4842968B2 (ja) | 配信ネットワークへのマルチメディアコンテンツフローの生成およびトランスポートのための方法および装置 | |
CN107026861A (zh) | 一种推流方法及装置 | |
CN106899605B (zh) | 基于stomp协议的通信方法和装置 | |
EP3399725B1 (en) | Multimedia stream multicasting method and device | |
KR101236729B1 (ko) | 데이터 분배 서비스를 위한 패킷 전송방식의 자동 선택 장치 및 방법 | |
US20120265871A1 (en) | Multicast, client/service-attribute resolution | |
CN102025730B (zh) | 基于http协议的数据传输装置及其实现方法 | |
JP3809813B2 (ja) | コンテンツ配信方法およびこれを用いるコンテンツ配信システム | |
KR20190124749A (ko) | 미션 크리티컬 데이터 통신 시스템에서의 데이터 송수신 방법 및 장치 | |
CN116032998A (zh) | 数据传输方法、装置、计算机可读存储介质及电子设备 |