JP2006332935A - コンテンツデータ伝送システム及びコンテンツデータ伝送方法 - Google Patents
コンテンツデータ伝送システム及びコンテンツデータ伝送方法 Download PDFInfo
- Publication number
- JP2006332935A JP2006332935A JP2005152073A JP2005152073A JP2006332935A JP 2006332935 A JP2006332935 A JP 2006332935A JP 2005152073 A JP2005152073 A JP 2005152073A JP 2005152073 A JP2005152073 A JP 2005152073A JP 2006332935 A JP2006332935 A JP 2006332935A
- Authority
- JP
- Japan
- Prior art keywords
- client
- data
- server
- router
- data transmission
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 129
- 238000000034 method Methods 0.000 title claims description 44
- 238000001514 detection method Methods 0.000 claims abstract description 20
- 238000009434 installation Methods 0.000 claims description 24
- 230000000295 complement effect Effects 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 14
- 230000009469 supplementation Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000013589 supplement Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Abstract
【課題】 マルチキャスト伝送において、パケット損失が発生した場合に効率的なデータ補完を行う。
【解決手段】 クライアント14a〜14dは、サーバ11との間のルータ12a〜12cの段数を検出するルータ段数検出手段と、ルータ段数をクライアントのアドレスとルータのアドレスとに関連付けた管理情報として仲介サーバ13に登録するルータ段数値登録手段と、登録された管理情報を取得する管理情報取得手段と、パケットデータを受信してデータの損失を検出するデータ損失検出手段と、データの損失を検出した場合に管理情報を参照してルータ段数に関連付けられた他クライアントを選択するクライアント選択手段と、このクライアントに対してパケットデータの送信要求を出力するパケットデータ送信要求出力手段と、送信要求を受信した場合にパケットデータをクライアントに送信するパケットデータ送信手段とを備えた。
【選択図】 図1
【解決手段】 クライアント14a〜14dは、サーバ11との間のルータ12a〜12cの段数を検出するルータ段数検出手段と、ルータ段数をクライアントのアドレスとルータのアドレスとに関連付けた管理情報として仲介サーバ13に登録するルータ段数値登録手段と、登録された管理情報を取得する管理情報取得手段と、パケットデータを受信してデータの損失を検出するデータ損失検出手段と、データの損失を検出した場合に管理情報を参照してルータ段数に関連付けられた他クライアントを選択するクライアント選択手段と、このクライアントに対してパケットデータの送信要求を出力するパケットデータ送信要求出力手段と、送信要求を受信した場合にパケットデータをクライアントに送信するパケットデータ送信手段とを備えた。
【選択図】 図1
Description
本発明は、コンテンツデータ伝送システム及びコンテンツデータ伝送方法に係り、特に映像・音声データ等のコンテンツデータをサーバから複数のクライアントに対してマルチキャスト伝送する技術に関する。
サーバと複数のクライアントとがネットワークを介してそれぞれ接続されたネットワークシステムにおいて、サーバから指定された複数のクライアントに同一のコンテンツデータを伝送するマルチキャスト伝送を行う方法として、サーバがコンテンツデータを1回伝送することにより、伝送経路上に設けられたルータがコンテンツデータを受信してこれを複製し、複製したコンテンツデータを配下のクライアントに伝送する伝送方法が知られている。例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルによるIPマルチキャスト伝送がこの伝送方法によるものである。この伝送方法によれば、ルータがコンテンツデータを複製するため、ストリーミングを実行するサーバの負荷を軽減することができるという利点がある。
また、別の伝送方法として、コンテンツデータを受信したクライアント自身がIPパケットを順次複製して他のクライアントに伝送するピアツーピア・マルチキャスト伝送も知られている。この伝送方法によれば、サーバ側の伝送帯域が少なくてよいため大規模なコンテンツデータ配信サーバを必要としない利点がある一方、ストリームの品質が不安定となりやすい欠点がある。この欠点については、例えば、クライアントがネットワークから外れたり、他のアプリケーションの作動や通信に基づくリソースの変動に起因してリレー伝送性能が左右されてしまうというものである。さらに、クライアント側には、マルチキャストさせるためにCPU処理や通信帯域が消費されやすいといった問題もある。
上述したようなIPマルチキャスト伝送を利用してコンテンツデータを伝送する同報配信ネットワークシステムについて、特許文献1にはパケットデータの到達不確実性を補完する発明について開示されている。この特許文献1に記載された発明においては、パケットデータがネットワーク上で損失した場合、誤り訂正処理によってクライアント上で元のデータを復元して補完し、誤り訂正で補完できない場合には他の中継サーバから再送させて元のデータを復元して補完する技術について開示されている。
特開2004−72551号公報
しかしながら、特許文献1に記載の発明においては、クライアントの要求に応じて再送を行う中継サーバは、収容するクライアントの数の増加に応じてパケットデータを送出する負荷が増えるため、十分なCPU処理能力やメモリ容量を予め備えておく必要がある。
また、中継サーバの配下に複数のクライアントが配置される構成上、領域的にデータ欠損等の不具合が発生する場合も想定され、この場合、1つのクライアントが誤り訂正によるデータの補完ができずに中継サーバに再送要求をかけたとき、他のクライアントも同様に再送要求をかける可能性が高い。このような場合、中継サーバの再送処理が集中することとなり、これによってトラフィックが高くなり過ぎるという問題がある。
そこで、本発明は、サーバから複数のクライアントへのリアルタイム性を重視したコンテンツデータ伝送技術に関し、コンテンツデータの伝送中にパケットデータの損失が発生した場合に、複数のクライアントの中からデータ補完に最適なクライアントを選択して効率良くデータ補完を行うことによって、高性能な中継サーバやクライアントを必要としないネットワークシステムを構築することが可能な、コンテンツデータ伝送システム及びコンテンツデータ伝送方法を提供することを目的とする。
上記の課題を解決するために、請求項1に記載の発明は、
コンテンツデータを格納した第1のサーバ(11)と複数のクライアント(14a〜14d)と1つ以上のルータ(12a〜12c)とがネットワーク(15)を介してそれぞれ接続されて、前記第1のサーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送システムにおいて、
前記クライアントは、
前記第1のサーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出手段(14a〜14d)と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として、前記ネットワークに接続された第2のサーバ(13)に登録するルータ段数値登録手段(14a〜14d)と、
前記第2のサーバに登録された管理情報を取得する管理情報取得手段(14a〜14d)と、
前記第1のサーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出手段(14a〜14d)と、
このデータ損失検出手段でデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択手段(14a〜14d)と、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力手段(14a〜14d)と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信手段(14a〜14d)と、
を備えたことを特徴とするコンテンツデータ伝送システム(1)
を提供するものである。
コンテンツデータを格納した第1のサーバ(11)と複数のクライアント(14a〜14d)と1つ以上のルータ(12a〜12c)とがネットワーク(15)を介してそれぞれ接続されて、前記第1のサーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送システムにおいて、
前記クライアントは、
前記第1のサーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出手段(14a〜14d)と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として、前記ネットワークに接続された第2のサーバ(13)に登録するルータ段数値登録手段(14a〜14d)と、
前記第2のサーバに登録された管理情報を取得する管理情報取得手段(14a〜14d)と、
前記第1のサーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出手段(14a〜14d)と、
このデータ損失検出手段でデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択手段(14a〜14d)と、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力手段(14a〜14d)と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信手段(14a〜14d)と、
を備えたことを特徴とするコンテンツデータ伝送システム(1)
を提供するものである。
また、請求項2に記載の発明は、
コンテンツデータを格納したサーバ(11)と複数のクライアント(14a〜14d)と1つ以上のルータ(12a〜12c)とがネットワーク(15)を介してそれぞれ接続されて、前記サーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送システムにおいて、
前記クライアントは、
前記サーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出手段(14a〜14d)と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として前記サーバに登録するルータ段数値登録手段(14a〜14d)と、
前記サーバに登録された管理情報を取得する管理情報取得手段(14a〜14d)と、
前記サーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出手段(14a〜14d)と、
このデータ損失検出手段でデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択手段(14a〜14d)と、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力手段(14a〜14d)と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信手段(14a〜14d)と、
を備えたことを特徴とするコンテンツデータ伝送システム(1)
を提供するものである。
コンテンツデータを格納したサーバ(11)と複数のクライアント(14a〜14d)と1つ以上のルータ(12a〜12c)とがネットワーク(15)を介してそれぞれ接続されて、前記サーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送システムにおいて、
前記クライアントは、
前記サーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出手段(14a〜14d)と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として前記サーバに登録するルータ段数値登録手段(14a〜14d)と、
前記サーバに登録された管理情報を取得する管理情報取得手段(14a〜14d)と、
前記サーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出手段(14a〜14d)と、
このデータ損失検出手段でデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択手段(14a〜14d)と、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力手段(14a〜14d)と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信手段(14a〜14d)と、
を備えたことを特徴とするコンテンツデータ伝送システム(1)
を提供するものである。
また、請求項3に記載の発明は、
コンテンツデータを格納した第1のサーバ(11)と複数のクライアント(14a〜14d)と1つ以上のルータ(12a〜12c)とがネットワーク(15)を介してそれぞれ接続されて、前記第1のサーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送方法において、
前記クライアントが、
前記第1のサーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出ステップ(S301)と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として、前記ネットワークに接続された第2のサーバに登録するルータ段数値登録ステップ(S302)と、
前記第2のサーバに登録された管理情報を取得する管理情報取得ステップ(S303)と、
前記第1のサーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出ステップ(S401〜S403)と、
このデータ損失検出ステップでデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択ステップ(S501,S503,S504,S508,S509,S510)と、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力ステップ(S505)と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信ステップ(S506)と、
を実行することを特徴とするコンテンツデータ伝送方法
を提供するものである。
コンテンツデータを格納した第1のサーバ(11)と複数のクライアント(14a〜14d)と1つ以上のルータ(12a〜12c)とがネットワーク(15)を介してそれぞれ接続されて、前記第1のサーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送方法において、
前記クライアントが、
前記第1のサーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出ステップ(S301)と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として、前記ネットワークに接続された第2のサーバに登録するルータ段数値登録ステップ(S302)と、
前記第2のサーバに登録された管理情報を取得する管理情報取得ステップ(S303)と、
前記第1のサーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出ステップ(S401〜S403)と、
このデータ損失検出ステップでデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択ステップ(S501,S503,S504,S508,S509,S510)と、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力ステップ(S505)と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信ステップ(S506)と、
を実行することを特徴とするコンテンツデータ伝送方法
を提供するものである。
また、請求項4に記載の発明は、
コンテンツデータを格納したサーバ(11)と複数のクライアント(14a〜14d)と1つ以上のルータ(12a〜12c)とがネットワーク(15)を介してそれぞれ接続されて、前記サーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送方法において、
前記クライアントが、
前記サーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出ステップ(S301)と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として前記サーバに登録するルータ段数値登録ステップ(S302)と、
前記サーバに登録された管理情報を取得する管理情報取得ステップ(S303)と、
前記サーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出ステップ(S401〜S403)と、
このデータ損失検出ステップでデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択ステップ(S501,S503,S504,S508,S509,S510)と、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力ステップ(S505)と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信ステップ(S506)と、
を実行することを特徴とするコンテンツデータ伝送方法
を提供するものである。
コンテンツデータを格納したサーバ(11)と複数のクライアント(14a〜14d)と1つ以上のルータ(12a〜12c)とがネットワーク(15)を介してそれぞれ接続されて、前記サーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送方法において、
前記クライアントが、
前記サーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出ステップ(S301)と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として前記サーバに登録するルータ段数値登録ステップ(S302)と、
前記サーバに登録された管理情報を取得する管理情報取得ステップ(S303)と、
前記サーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出ステップ(S401〜S403)と、
このデータ損失検出ステップでデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択ステップ(S501,S503,S504,S508,S509,S510)と、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力ステップ(S505)と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信ステップ(S506)と、
を実行することを特徴とするコンテンツデータ伝送方法
を提供するものである。
本発明によれば、クライアントがサーバからコンテンツデータをダウンロードしている際に、受信パケットデータにデータ損失を検出した場合には、サーバ又は別のサーバから取得した管理情報に基づきデータ補完を最も効率的に実行し得るクライアントを選択してピアツーピア方式によってコンテンツデータを復元することができるので、例えば、特定の2つのクライアントが同一サブネットの同一デフォルトルータを使用している場合には、両クライアント間でデータ補完を行うことを最優先に実行させることにより、特にサーバや全てのクライアントの負荷が少なくて済み、非常に効率的なコンテンツデータ伝送を実行することが可能である。
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
<第一の実施の形態>
まず、図1は、本発明の第一の実施の形態であるコンテンツデータ伝送システムのシステム構成例を示した図である。同図において、コンテンツデータ伝送システム1は、サーバ11と、ルータ12a〜12cと、仲介サーバ13と、クライアント14a〜14dとがネットワーク15にそれぞれ接続された構成を有している。
<第一の実施の形態>
まず、図1は、本発明の第一の実施の形態であるコンテンツデータ伝送システムのシステム構成例を示した図である。同図において、コンテンツデータ伝送システム1は、サーバ11と、ルータ12a〜12cと、仲介サーバ13と、クライアント14a〜14dとがネットワーク15にそれぞれ接続された構成を有している。
ネットワーク15は、TCP(Transmission Control Protocol),UDP(User Datagram Protocol),IP(Internet Protocol)等のネットワークプロトコルに基づいたデータ通信が可能なように構成されたネットワークであり、データはプロトコルに対応したパケット単位で通信或いは伝送される。したがって、ネットワーク15に接続される各装置には、データを所定のパケット単位で送受信するためのネットワークインターフェース部をそれぞれ備えている。
サーバ11は、サーバ11自身が有する不図示のハードディスク等の記録部に、符号化された映像及び/又は音声のデータ(以下、コンテンツデータ)を記録し、且つ読み出し可能な装置である。ここで、映像・音声データの符号化処理は、MPEG2方式、MPEG4方式、JPEG方式等の公知の符号化方式によるものである。本実施の形態においては、MPEG4方式によって映像・音声データが符号化されたコンテンツデータがハードディスクに記録されているものとする。
また、サーバ11は、クライアント14a〜14dからの所望のコンテンツデータの伝送要求に応じて、指定されたコンテンツデータを所定のパケット単位に分割して伝送要求元のクライアントに送出する機能を有する。本実施の形態においては、コンテンツデータは、比較的高速伝送が可能なUDPプロトコルに基づいたパケットデータに形成されて伝送される。
なお、サーバ11には、映像及び/又は音声のデータを入力するための入力手段と、入力されたデータを符号化するための符号化手段とを更に備えるように構成してもよい。これにより、サーバ11は、例えばビデオカメラで撮像された映像データとマイクロホンで収音した音声データとをそれぞれ入力手段に入力し、これら入力データを符号化手段で符号化してハードディスクに記録しておいて、クライアント14a〜14dからの伝送要求に応じて伝送することも可能となる。
サーバ11からネットワーク15に送出されたパケットデータは、ルータ12a〜12cのうち伝送経路上に設けられたルータを介して送信先のクライアントに到達される。このルータ12a〜12cは、ネットワーク15をサブネットに分割したり、ISP(Internet Service Provider)毎のネットワークを構築するためのものである。
クライアント14a〜14dは、サーバ11に対して所望のコンテンツデータの伝送要求を送信し、この伝送要求に応じてサーバ11がUDPパケットデータとして送信したコンテンツデータを受信する機能を有する。UDPプロトコルは、高速データ伝送が可能である一方、データが確実に送信先に届くことを保証するプロトコルではないため、ネットワーク15のトラフィックやルータ12a〜12cの性能に依存してパケットデータが損失する可能性がある。
そこで、クライアント14a〜14dは、例えば30秒といった所定時間分のUDPパケットデータを記憶するメモリをそれぞれ備えておき、他のクライアントからのデータ補完要求に応じてメモリに記憶されたデータを転送する機能を有する。
仲介サーバ13は、主にサーバ11とクライアント14a〜14dそれぞれとの間の伝送経路上に設けられているルータの台数(以下、ルータ段数)を記憶管理するサーバであり、図2に示すような管理情報を、仲介サーバ13が備える不図示のメモリ又はハードディスクに記憶又は記録する機能を有する。同図に示すように、管理情報には、サーバ11とクライアント14a〜14dそれぞれとの間のルータ段数に応じて、各クライアントのIPアドレスと、各クライアントが標準的に使用するデフォルトルータのIPアドレスとが関連付けられて格納されている。
そして、仲介サーバ13は、クライアント14a〜14dのいずれかから管理情報の登録要求があった場合に、ルータ段数と要求元のクライアントのIPアドレスとデフォルトルータのIPアドレスとをそれぞれ登録する機能と、クライアント14a〜14dに対して、管理情報を伝送する機能とを有する。
また、サーバ11、仲介サーバ13、及びクライアント14a〜14dは、内蔵したCPU(Central Processing Unit)が各装置を制御するものである。そして、サーバ11は、サーバ11からクライアント14a〜14dに対してコンテンツデータを伝送するためのアプリケーションソフトウェアを有し、クライアント14a〜14dのそれぞれは、サーバ11からコンテンツデータをダウンロードするためのアプリケーションソフトウェアを有し、仲介サーバ13は、管理情報を管理するためのアプリケーションソフトウェアを有している。
次に、本実施の形態におけるコンテンツデータ伝送システム1の動作について説明する。以下の動作説明の前提として、コンテンツ伝送システム1を構成する各装置は、全て電源が投入されて稼動可能状態であると共に、サーバ11、仲介サーバ13、及びクライアント14a〜14dのそれぞれは、アプリケーションソフトウェアが起動しているものとする。
まず、クライアント14a〜14dから仲介サーバ13への管理情報の登録処理、及び仲介サーバ13からクライアント14a〜14dへの管理情報の転送処理の動作について図3のフローチャートを参照して説明する。最初に、クライアント14a〜14dのいずれかのクライアント(ここでは、クライアント14dを例にとって説明する。)は、サーバ11との距離、すなわちルータ段数を取得する(ステップS301)。
ルータ段数の取得の方法としては、以下に示す2通りの方法がある。
(1)クライアント14dからサーバ11へのPingコマンドを送受信することにより、TTL(Time To Live)値を検出してルータ段数を取得する方法。
(2)サーバ11から所定の周期によって定期的に出力するマルチキャストデータをクライアント14dが受信し、この受信データに含まれるTTL値を検出してルータ段数を取得する方法。
(1)クライアント14dからサーバ11へのPingコマンドを送受信することにより、TTL(Time To Live)値を検出してルータ段数を取得する方法。
(2)サーバ11から所定の周期によって定期的に出力するマルチキャストデータをクライアント14dが受信し、この受信データに含まれるTTL値を検出してルータ段数を取得する方法。
これにおいて、TTLとは、IPプロトコルで定義されているIPヘッダの中に格納される、通過可能なルータの最大段数を示した数値であって、パケットデータがルータを通過する毎に数値が1づつ減算されるものである。なお、TTLが減算されて0になった時点で、当該パケットデータは破棄される。
次に、上述した(1)又は(2)の方法によってルータ段数を取得したクライアント14dは、自己のIPアドレス(図1によれば、192.168.0.10)と、デフォルトルータのIPアドレス(同図によれば、192.168.0.254)と、取得したルータ段数(同図によれば、1)とを仲介サーバ13の管理情報に登録する(ステップS302)。
そして次に、仲介サーバ13は、登録された管理情報を全てのクライアント14a〜14dに対して送信し、各クライアントはこの管理情報を受信してメモリに記憶する(ステップS303)。
次に、クライアント14a〜14dがサーバ11から送信されたコンテンツデータを受信する動作について説明する。図4は、UDPパケットデータとしてサーバ11から送信されたコンテンツデータをクライアント14a〜14dが受信する処理を説明するためのフローチャートである。同図において、クライアント14a〜14dは、UDPパケットデータを受信すると(ステップS401)、後に、MPEG4方式で符号化されたコンテンツデータを映像及び音声のデータに復号するためにメモリへ記憶する(ステップS402)。
次に、UDPパケットデータにパケット自体の欠落、又は一部データの損失が発生しているか否かを判定する(ステップS403)。具体的には、UDPパケットデータのヘッダに含まれる識別番号が連続番号として受信されているか否か、及びヘッダに指定されたデータ長と異なるデータサイズで受信しているか否かについて判定する。判定の結果、一方として、UDPパケットデータに欠落や損失がない場合(ステップS403 No)は処理を終了する。他方として、UDPパケットデータに欠落や損失があった場合(ステップS403 Yes)は、他のクライアントよりUDPパケットデータを補完する(ステップS404)。なお、ステップS404の処理の詳細については後述する。
次に、ステップS404によるデータ補完に成功したか否かを判定し(ステップS405)、一方として、データ補完が失敗した場合は(ステップS405 No)、データ損失が発生しているパケットを指定したデータ補完要求信号をサーバ11に送信し(ステップS406)、他方として、データ補完が成功した場合は(ステップS405 Yes)処理を終了する。
そして、不図示ではあるが、ステップS406でクライアント14a〜14dがサーバ11にデータ補完要求信号を送信してサーバ11がこれを受信すると、サーバ11は指定されたパケットと同一のパケットデータを要求元のクライアントに送信する。
次に、前述したステップS404の処理、すなわち他のクライアントからのデータ補完処理について説明する。図5は、他のクライアントからのデータ補完処理について説明するためのフローチャートである。なお、以下の説明においては、図2に示した管理情報を有するクライアント14aがUDPパケットデータを受信した際にパケット損失を生じた場合を想定する。
同図においては、まずクライアント14aの判断処理として、全てのルータ段数(本実施の形態においては3段)までについてクライアントの検索が終了した場合(ステップS501)、失敗フラグをセットして処理を終了する(ステップS502)。次に、クライアント14aは、すでに取得してある管理情報によって自己のルータ段数が「3」であることを記憶しているので、ルータ段数「3」における他のクライアントを検索し、存在する場合はその管理情報を参照する(ステップS503)。そして、同一IPアドレスのデフォルトルータがあるか否かを判定する(ステップS503)。
そして、同一IPアドレスのデフォルトルータが検出された場合(ステップS503 Yes)、検索されたクライアントのIPアドレスを取得して(ステップS504)、このクライアントに対してデータ損失が発生しているパケットを指定したデータ補完要求信号を送信する(ステップS505)。図2の例によれば、クライアント14bのデフォルトルータが同一IPアドレスであるため、ステップS504にて取得されるIPアドレスはクライアント14bの192.168.20.4となる。
そして、不図示ではあるが、ステップS505でクライアント14aがクライアント14bにデータ補完要求信号を送信してクライアント14bがこれを受信すると、クライアント14bは指定されたパケットと同一のパケットデータをクライアント14aに送信する。
そして次に、データ補完に成功したか否かを確認し(ステップS506)、一方として、補完に成功していれば(ステップS506 Yes)成功フラグをセットして処理を終了し(ステップS507)、他方として、クライアント14bとの間でタイムアウト等でデータ補完に失敗した場合(ステップS506 No)は、ステップS501に戻って他のクライアント候補の選択処理を行う。
ステップS503において、該当するクライアントが存在しない場合(ステップS503 No)、同一のルータ段数における他クライアントを検出する(ステップS508)。そして一方として、同一ルータ段数における他のクライアントが検出されない場合(ステップS508 No)は、検索するルータ段数の値を1つ減少させて(ステップS509)、ステップS501の処理に戻る。図2の例によれば、ルータ段数「3」においては、クライアント14a及び14b以外にクライアントが設置されていないため、検索するルータ段数を「3」から「2」へ変更する。
また、他方として、同一のルータ段数における他クライアントが検出された場合(ステップS508 Yes)は、それら他クライアントの中から1つのクライアントを偏りのない選択率で、例えば乱数処理に基づいて選択する(ステップS510)。ステップS505以降の処理は前述のとおりであるため説明を省略する。
以上の第一の実施の形態によるコンテンツデータ伝送システムの処理によって、クライアント14a〜14dは、UDPパケットデータの受信中にパケットの欠落や一部データの損失を検出した場合には、仲介サーバ13から取得した管理情報に基づきデータ補完を最も効率的に実行し得るクライアントを選択してピアツーピア方式によってコンテンツデータを復元することができる。
つまり、本実施の形態におけるクライアント14a及び14bのように、同一サブネットの同一デフォルトルータを使用している場合にUDPパケットデータのデータ損失が発生した場合には、クライアント14a及び14bの間でデータ補完を行うことを最優先に実行させることにより、特にサーバ11や全てのクライアント14a〜14dの負荷が少なくて済み、非常に効率的なコンテンツデータ伝送が可能である。
<第二の実施の形態>
次に、第二の実施の形態について図面を参照して説明する。第一の実施の形態においては、ネットワーク15に接続されるクライアントの台数は4台、ルータの台数は3台として小規模なコンテンツデータ伝送システムの例を示して説明したが、ネットワークに接続される各種装置の台数はこれに限ることなく、より多くのクライアントやルータが接続されるものであってよい。
次に、第二の実施の形態について図面を参照して説明する。第一の実施の形態においては、ネットワーク15に接続されるクライアントの台数は4台、ルータの台数は3台として小規模なコンテンツデータ伝送システムの例を示して説明したが、ネットワークに接続される各種装置の台数はこれに限ることなく、より多くのクライアントやルータが接続されるものであってよい。
この場合において、システムの規模が大きくなるにつれて同一のルータ段数のクライアント数が増加することになる。例えば、図6に示すコンテンツデータ伝送システム6においては、ルータ段数が「3」のクライアントはクライアント601,602,603,608,609,611,612,及び613の8台となる。このように、コンテンツデータ配信サービスのような不特定多数のクライアントに向けたデータ伝送システムにおいては、数100台以上の規模でクライアントが接続される場合も想定される。
このようにシステム規模が大きな場合において伝送経路上でパケット損失が発生した場合、前述したステップS510の処理のようにデータ補完に用いる他クライアントを不作為に選択し続けてもデータ補完が完了しない場合もある。また、ステップS510によるクライアントの選択をし続けた結果、データ補完に時間がかかり過ぎてコンテンツデータの復号レートに間に合わず再生映像や再生音声に大きな不具合が生じることも予想される。
すなわち、このような大規模なコンテンツデータ伝送システムにおいては、ネットワークのトラフィックが上がるだけでなく非効率的であり、早急にサーバへデータ補完要求信号を送信した方が優位になる。従って、各ルータ段数において他クライアントへ補完要求可能なクライアント数に制限を設けるのが望ましい。
そこで、第一の実施の形態の図4で示したステップS404における他のクライアントより補完する処理を図7に示すフローチャートに基づく処理とする。なお、同図において、ステップS501〜S510は図5のフローチャートと同一であるため各ステップの説明を省略する。本実施の形態においては、ステップS506にてデータ補完が失敗したと判定された場合(ステップS506 No)、各ルータ段数毎にデータ補完を行うクライアント数が、予め決定しておいた閾値を超えるか否かを判定し(ステップS511)、一方として、閾値を超える場合(ステップS511 Yes)は、次のルータ段数を検索するように指定する(ステップS509)。そして他方として、閾値を超えない場合(ステップS511 No)は、そのルータ段数にて再度最適なクライアント候補を選択するようにステップS501に移行する。
以上の第二の実施の形態によるコンテンツデータ伝送システムの処理においては、各クライアントがUDPパケットデータの受信中にパケット損失を検出した場合には、仲介サーバから取得した管理情報に基づきデータ補完を最も効率的に実行し得るクライアントを選択する際に、各ルータ段数でデータ補完を行うクライアント数が閾値を超えるか否かを判定するようにしたので、システム規模に応じたより効率的なデータ補完を実行可能なコンテンツ伝送システムを実現することができる。
なお、第一及び第二の実施の形態においてはサーバ11と仲介サーバ13とを別個の装置として説明したが、仲介サーバ13の機能をサーバ11に含めることによって仲介サーバ13を使用しない構成としてもよい。
以上により、本発明は、リアルタイム性を重視するライブ映像やコンテンツデータをマルチキャスト伝送することを目的としたデータ伝送ネットワークシステムに有用である。
1 コンテンツデータ伝送システム
11 サーバ
12a,12b,12c ルータ
13 仲介サーバ
14a,14b,14c,14d クライアント
15 ネットワーク
11 サーバ
12a,12b,12c ルータ
13 仲介サーバ
14a,14b,14c,14d クライアント
15 ネットワーク
Claims (4)
- コンテンツデータを格納した第1のサーバと複数のクライアントと1つ以上のルータとがネットワークを介してそれぞれ接続されて、前記第1のサーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送システムにおいて、
前記クライアントは、
前記第1のサーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出手段と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として、前記ネットワークに接続された第2のサーバに登録するルータ段数値登録手段と、
前記第2のサーバに登録された管理情報を取得する管理情報取得手段と、
前記第1のサーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出手段と、
このデータ損失検出手段でデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択手段と、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力手段と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信手段と、
を備えたことを特徴とするコンテンツデータ伝送システム。 - コンテンツデータを格納したサーバと複数のクライアントと1つ以上のルータとがネットワークを介してそれぞれ接続されて、前記サーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送システムにおいて、
前記クライアントは、
前記サーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出手段と、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として前記サーバに登録するルータ段数値登録手段と、
前記サーバに登録された管理情報を取得する管理情報取得手段と、
前記サーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出手段と、
このデータ損失検出手段でデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択手段と、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力手段と、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信手段と、
を備えたことを特徴とするコンテンツデータ伝送システム。 - コンテンツデータを格納した第1のサーバと複数のクライアントと1つ以上のルータとがネットワークを介してそれぞれ接続されて、前記第1のサーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送方法において、
前記クライアントが、
前記第1のサーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出ステップと、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として、前記ネットワークに接続された第2のサーバに登録するルータ段数値登録ステップと、
前記第2のサーバに登録された管理情報を取得する管理情報取得ステップと、
前記第1のサーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出ステップと、
このデータ損失検出ステップでデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択ステップと、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力ステップと、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信ステップと、
を実行することを特徴とするコンテンツデータ伝送方法。 - コンテンツデータを格納したサーバと複数のクライアントと1つ以上のルータとがネットワークを介してそれぞれ接続されて、前記サーバから前記複数のクライアントのうち所定のクライアントに対して前記コンテンツデータをパケットデータに分割して伝送するコンテンツデータ伝送方法において、
前記クライアントが、
前記サーバと当該クライアントとの間のデータ伝送路上に設けられた前記ルータの設置段数を検出するルータ段数検出ステップと、
前記検出されたルータ設置段数値を、当該クライアントのアドレス情報と前記データ伝送路上のルータのアドレス情報とに関連付けた管理情報として前記サーバに登録するルータ段数値登録ステップと、
前記サーバに登録された管理情報を取得する管理情報取得ステップと、
前記サーバから送信された前記パケットデータを受信して、データの損失を検出するデータ損失検出ステップと、
このデータ損失検出ステップでデータの損失を検出した場合に、前記取得した管理情報を参照して当該クライアントに係る前記ルータ設置段数値に関連付けられた他のクライアントの1つを選択するクライアント選択ステップと、
前記選択された1つのクライアントに対して、前記損失したデータに対応するパケットデータの送信要求を出力するパケットデータ送信要求出力ステップと、
前記送信要求を受信した場合に、前記損失したデータに対応するパケットデータを送信要求元のクライアントに送信するパケットデータ送信ステップと、
を実行することを特徴とするコンテンツデータ伝送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005152073A JP2006332935A (ja) | 2005-05-25 | 2005-05-25 | コンテンツデータ伝送システム及びコンテンツデータ伝送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005152073A JP2006332935A (ja) | 2005-05-25 | 2005-05-25 | コンテンツデータ伝送システム及びコンテンツデータ伝送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006332935A true JP2006332935A (ja) | 2006-12-07 |
Family
ID=37554167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005152073A Pending JP2006332935A (ja) | 2005-05-25 | 2005-05-25 | コンテンツデータ伝送システム及びコンテンツデータ伝送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006332935A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009272696A (ja) * | 2008-04-30 | 2009-11-19 | Brother Ind Ltd | ツリー型放送システム、パケット送信方法、ノード装置、及びノード処理プログラム |
JP2010233107A (ja) * | 2009-03-27 | 2010-10-14 | Fujitsu Ltd | プログラム、情報処理装置、コンテンツ処理方法及びコンテンツ処理システム |
JP2015194912A (ja) * | 2014-03-31 | 2015-11-05 | 三菱プレシジョン株式会社 | 情報処理システム及びその方法 |
-
2005
- 2005-05-25 JP JP2005152073A patent/JP2006332935A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009272696A (ja) * | 2008-04-30 | 2009-11-19 | Brother Ind Ltd | ツリー型放送システム、パケット送信方法、ノード装置、及びノード処理プログラム |
JP2010233107A (ja) * | 2009-03-27 | 2010-10-14 | Fujitsu Ltd | プログラム、情報処理装置、コンテンツ処理方法及びコンテンツ処理システム |
US8572450B2 (en) | 2009-03-27 | 2013-10-29 | Fujitsu Limited | Systems and methods for detecting and correcting errors in transmitted data |
JP2015194912A (ja) * | 2014-03-31 | 2015-11-05 | 三菱プレシジョン株式会社 | 情報処理システム及びその方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10205971B2 (en) | Media data live broadcast method, device, and system | |
JP5746688B2 (ja) | ユニキャストクライアント要求をマルチキャストクライアント要求に変換するためのシステムおよび方法 | |
KR101376014B1 (ko) | 복수의 랑데뷰 포인트에서 모바일 멀티캐스트 소스로부터의 멀티캐스트 트래픽을 함께 처리하기 위한 방법 및 장치 | |
WO2022002043A1 (zh) | 数据重传方法、网络设备和计算机可读存储介质 | |
US7096272B1 (en) | Methods and apparatus for pooling and depooling the transmission of stream data | |
RU2647654C2 (ru) | Система и способ доставки аудиовизуального контента в клиентское устройство | |
JP2006074781A (ja) | ストリーミングメディアの消去符号化のシステム及び方法 | |
EP3105903A1 (en) | Requesting multiple chunks from a network node on the basis of a single request message | |
JP2006074744A (ja) | 拡張可能なメディアの分散ストリーミングのシステムおよび方法 | |
JP2006079606A (ja) | ピアツーピアネットワークでの受信側主導のシステム及び方法 | |
US11196631B2 (en) | Multi-unicast discovery of devices on a network | |
JP5857135B2 (ja) | 複数の受信機にメッセージを伝送する装置および方法 | |
JP2007049382A (ja) | 無線中継装置、無線中継方法およびそのコンピュータ・プログラム | |
US20140380395A1 (en) | Gateway, and method, computer program and storage means corresponding thereto | |
JP2006332935A (ja) | コンテンツデータ伝送システム及びコンテンツデータ伝送方法 | |
US8238335B2 (en) | Multi-route transmission of packets within a network | |
JP2011147025A (ja) | 配信装置、配信プログラムおよび配信方法 | |
Gupta et al. | Fast interest recovery in content centric networking under lossy environment | |
JP2010068107A (ja) | 通信装置、通信方法、及び通信プログラム | |
JP6724914B2 (ja) | 通信制御装置、通信制御方法、ネットワークスイッチ、経路制御方法、及び通信システム | |
US11882340B2 (en) | Content distribution system, unicast multicast converter, content distribution method and content distribution program | |
JP2008228290A (ja) | データパケット損失の補償のためのクライアントとシステム、及びその方法 | |
US20140181261A1 (en) | Method and apparatus for providing efficient transmission of streaming video through a complex ip network | |
JP6347177B2 (ja) | 転送装置、制御装置、および、通信方法 | |
JP5574383B2 (ja) | 受信状況推定方法、受信側多地点配信装置及びプログラム |