(57)【要約】      （修正有）【課題】セッション数によりＰ２Ｐのツリー構造を形成するＰ２Ｐ方式のインターネットライブ放送サービスシステム及び方法を提供する。【解決手段】インターネット上でコンテンツをストリーミングするストリーミングサーバと、前記コンテンツのストリーミングをツリー構造のＰ２Ｐ方式により受信または中継する多数のピアとを備え、前記ピアは、自分の下位ピアへの伝送速度を前記コンテンツの時間当たりのストリーミングの量で割ってセッション数を求め、セッション数の多いピアがセッション数の少ないピアの上位ピアになるように前記ツリー構造を形成するインターネット放送サービスシステム及び方法を提供する。このシステム及び方法により、前記ツリー構造の深さをできる限り短くしてストリーミングの伝送時間を短縮させ、特に、ピア間の遅延時間を最小化させることができる。【選択図】図２
2010109976.tif 000002
【特許請求の範囲】
【請求項１】
インターネット上でコンテンツをストリーミングするストリーミングサーバと、
前記コンテンツのストリーミングをツリー構造のＰ２Ｐ方式により受信または中継する多数のピアと、
を備え、
前記ピアは、自分の下位ピアへの伝送速度を前記ストリーミングサーバのストリーミング速度で割ってセッション数を求め、セッション数の多いピアがセッション数の少ないピアの上位ピアになるように前記ツリー構造を形成することを特徴とするＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項２】
前記ピアは、周期的に、
自分の上位ピアと自分とのセッション数を比較して、自分のセッション数の方がさらに多ければ自分の上位ピアの上位ピアを自分の上位ピアとして再連結し、
自分の下位ピア間のセッション数を比較して、セッション数の少ない下位ピアにセッション数の多い下位ピアを上位ピアとして連結するように指令することを特徴とする請求項１に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項３】
前記ピアは、
自分の下位ピアへの伝送速度を前記ストリーミングサーバのストリーミング速度で割り、前記割った値以上の最小整数をセッション数として定めることを特徴とする請求項１に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項４】
前記ストリーミングのツリー構造に参加するピアを参加一覧として保存して管理する管理サーバをさらに備え、
前記ストリーミングのツリー構造に参加しないピアは、前記管理サーバに参加一覧をリクエストして受信し、前記参加一覧に属する一つのピアを自分の上位ピアとして連結し、自分を参加一覧に登録するように管理サーバにリクエストすることを特徴とする請求項２に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項５】
前記ストリーミングのツリー構造に参加しないピアは、
受信した前記参加一覧に属する全てのピアにコンテンツ・リクエスト・メッセージを送信し、最初に応答するピアを自分の上位ピアとして定めるか、あるいは、前記参加一覧において上位ピアを定めることができなければ、前記ストリーミングサーバを上位ピアとして定めることを特徴とする請求項４に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項６】
前記ピアは、自分のセッション数、下位ピアの連結情報を自分の上位ピアに伝送し、前記下位ピアの連結情報は連結された下位ピアの連結一覧と、連結された各下位ピアのセッション数及び各下位ピアの下位ピアの連結情報を含み、
前記ツリー構造の最上段に位置するピアは、自分のセッション数、下位ピアの連結情報を前記管理サーバに伝送することを特徴とする請求項４に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項７】
前記ピアは、
最大下位ピア数よりも多い下位ピアを連結しないことを特徴とする請求項６に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項８】
前記ピアは、
自分のツリーの深さと最大のツリーの深さが等しければ下位ピアを連結しないことを特徴とする請求項６に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項９】
前記ピアは、
将来的に再生するコンテンツがバッファにないか、あるいは、最小バッファリングの量よりも少量であれば下位ピアを連結しないことを特徴とする請求項６に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項１０】
前記管理サーバは、最大遅延時間を入力されて保存し、
前記ピアは、前記管理サーバから前記最大遅延時間を受信して、受信された前記コンテンツのプレイをコンテンツストリーミング時刻に比べて前記最大遅延時間後に行うことを特徴とする請求項８または請求項９に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項１１】
前記ストリーミングのツリー構造において、最大のツリーの深さに位置しないつつ最下段にあるピアは、自分のセッション数を１と定めることを特徴とする請求項１に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項１２】
前記管理サーバは、
ツリー構造の最上段にあるピアの全ての下位ノードの数が最小ノード数以下であれば、前記ピアに前記ストリーミングサーバに直結された他のピアの下位ピアとして再連結するように指令することを特徴とする請求項１に記載のＰ２Ｐ方式のインターネットライブ放送サービスシステム。
【請求項１３】
インターネット上でコンテンツをストリーミングするストリーミングサーバと、前記コンテンツのストリーミングをツリー構造のＰ２Ｐ方式により受信または中継する多数のピア、及び前記ストリーミングのツリー構造に参加するピアを参加一覧として保存して管理する管理サーバを用いたＰ２Ｐ方式のインターネットライブ放送サービス方法において、
（ａ）前記ストリーミングのツリー構造に参加しないピアは、前記管理サーバに参加一覧をリクエストして受信し、前記参加一覧に属する一つのピアを自分の上位ピアとして連結するステップと、
（ｂ）前記ピアは、受信されたコンテンツを再生するステップと、
（ｃ）前記ストリーミングのツリー構造に参加するピアは、自分の下位ピアへの伝送速度を前記ストリーミングサーバのストリーミング速度で割ってセッションを求めるステップと、
（ｄ）周期的に、各ピアは上位ピアまたは下位ピアのセッション数を比較して、セッション数の多いピアがセッション数の少ないピアの上位ピアになるように部分的に再連結するステップと、
を含むことを特徴とするＰ２Ｐ方式のインターネットライブ放送サービス方法。
【請求項１４】
前記（ａ）ステップは、
（ａ１）前記ストリーミングのツリー構造に参加しないピアは、前記管理サーバに参加一覧をリクエストして受信するステップと、
（ａ２）前記参加しないピアは、受信した前記参加一覧に属する全てのピアにコンテンツ・リクエスト・メッセージを送信するステップと、
（ａ３）前記参加しないピアは、最初に応答するピアを自分の上位ピアとして連結するステップと、
（ａ４）前記参加一覧において上位ピアを定めることができなければ、前記ストリーミングサーバを上位ピアとして定めるステップと、
を含むことを特徴とする請求項１３に記載のＰ２Ｐ方式のインターネットライブ放送サービス方法。
【請求項１５】
前記（ｃ）ステップは、
自分の上位ピアと自分とのセッション数を比較して、自分のセッション数の方がさらに多ければ自分の上位ピアの上位ピアを自分の上位ピアとして再連結し、
自分の下位ピア間のセッション数を比較して、セッション数の少ない下位ピアにセッション数の多い下位ピアを上位ピアとして連結するように指令することを特徴とする請求項１３に記載のＰ２Ｐ方式のインターネットライブ放送サービス方法。
【請求項１６】
前記（ｂ）ステップは、
前記ピアは前記管理サーバから前記最大遅延時間を受信して、受信された前記コンテンツのプレイをコンテンツストリーミング時刻に比べて前記遅延時間後に行うことを特徴とする請求項１３に記載のＰ２Ｐ方式のインターネットライブ放送サービス方法。
【請求項１７】
請求項１３から請求項１６のいずれかに記載のＰ２Ｐ方式のインターネットライブ放送サービス方法を記録したコンピュータにて読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミングサーバが多数のピアにコンテンツをピア・ツー・ピア（Ｐ２Ｐ）方式によりストリーミングするが、前記Ｐ２Ｐ方式のストリーミングをツリー構造に形成するＰ２Ｐ方式のインターネットライブ放送サービスシステム及び方法に関する。
【０００２】
特に、本発明は、コンテンツのストリーミングをツリー構造のＰ２Ｐ方式により多数のピアに放送するが、前記ストリーミングのツリー構造に参加するピアをその伝送速度（または、帯域幅）が高いほどストリーミングサーバに近く配置するＰ２Ｐ方式のインターネットライブ放送サービスシステム及び方法に関する。
【背景技術】
【０００３】
一般に、インターネットライブ放送は、放送サーバが放送コンテンツをネットワークに伝送すると、多数のクライアントがこのコンテンツを受信すると同時に再生するような方式により実現される。通常、かような伝送方式をライブストリーミング方式と呼ぶ。
【０００４】
ビデオ・オン・デマンド （ＶＯＤ：Video on demand）サービスは、一つのクライアントが希望するコンテンツをリアルタイムに送信してこのクライアントが受信と同時に再生できるように支援するサービスである。すなわち、ＶＯＤサービスは各クライアントにそれぞれ異なるコンテンツをストリーミングする。これに対し、ライブストリーミングは、一つのコンテンツを同一に多数のクライアントに同時に提供する特徴がある。
【０００５】
このため、インターネットライブ放送サーバは、大容量のコンテンツデータを多数のクライアントにリアルタイムに同時に伝送する必要がある。最も簡単なライブストリーミング方式は、放送サーバが各クライアントと１：１でコンテンツデータを伝送する方式である。この方式は、放送サーバが同時に多数のクライアントに個別的にコンテンツデータを伝送しなければならないため、放送サーバ側の負荷が大きくなるという問題点がある。放送コンテンツをリクエストするクライアントが多いほど、このような問題点は一層顕在化するであろう。
【０００６】
このため、上記のような放送サーバが個別的にクライアントにストリーミングをする方式を改善して、コンテンツを受信したクライアントがさらに他のクライアントに再伝送するＰ２Ｐ基盤のインターネットライブ放送サービスが提案されている。
【０００７】
Ｐ２Ｐ基盤のインターネットライブ放送サービスの一例が、下記の特許文献１（公開日：２００８年６月３日）に「リアルタイムインターネット放送サービスシステム及びその管理方法」という表題にて開示されている。
【０００８】
図１Ａに示すように、前記特許文献１に記載のリアルタイムインターネット放送サービスシステムは、放送社から放送コンテンツを供給されて対応する放送データを伝送する放送サーバとしてのグループマスターピア２００と、前記グループマスターピアにより管理され、前記受信される放送データを従属的に結合される１以上のシンプルピアにＰ２Ｐ方式により伝送するローカルマスターピア２１０、２１２、２１４、２１６と、を備える。すなわち、ローカルマスターピアに従属的に結合される多数のシンプルピア２１３はツリー構造に階層化され、Ｐ２Ｐ方式により放送データを受け渡す。ローカルマスターピアは、前記多数のシンプルピアが構成したツリーにおいて最上位階層のシンプルピアとなる。ローカルマスターピアとここに従属的に結合された多数のシンプルピアは一つのグループとなる。なお、ローカルマスターピアもツリー構造を形成する。
【０００９】
例えば、図１Ａに示すように、グループマスターピア２００は、最初に放送コンテンツを放送社（図示せず）から供給される。グループマスターピア２００は、直結されたローカルマスターピア２１０に供給されたコンテンツを伝送する。ローカルマスターピア２１０は、さらに自分の下位に直結された２つのローカルマスターピア２１２、２１４に同時に伝送する。ローカルマスターピア２１２、２１４はそれぞれ自分に従属的に結合された多数のシンプルピア２１３にコンテンツを伝送する。
【００１０】
また、図１Ｂに示すように、ツリー構造を有するシンプルピアが所定の条件を満たすと、グループから分離されて独自的なグループを形成することができる。図１Ｂを参照すると、ローカルマスターピア２１４に従属するシンプルピアが８個であったが、これらの中で３個が分離されて独自的なグループとして形成可能である。独自的に分離されたグループにおいて最上位階層にあるシンプルピア２１５がローカルマスターピアとなる。
【００１１】
特に、前記特許文献１は、前記ツリー構造が2分木を条件としているため、ローカルマスターピアに連結された従属シンプルピアの数は２個に制限される。図１Ｂにおいて、ローカルマスターピア２１４には３個の従属シンプルピアがあるため、これらの中で一つを分離したのである。逆に、ローカルマスターピアに直結されるシンプルピアが一つさえあれば、他のグループを持ってきて直結して２つの下位シンプルピアを生成する。
【００１２】
前記特許文献１は、コンテンツサーバ（または、グループマスターピア）が直接的に全てのクライアント（または、シンプルピア）に放送コンテンツを伝送する代わりに、クライアントをツリー構造に形成し、直結されたクライアントにのみ放送コンテンツを伝送する。そして、各クライアントは、伝送された放送コンテンツをさらに自分に直結された他のクライアントに伝送する。これにより、コンテンツサーバの負担を軽減することができる。また、特許文献１は、複数のクライアントをグループとして管理することにより、より効率よく運営することができる。
【００１３】
しかしながら、前記特許文献１は、クライアントの性能など個別的な特徴を全く考慮していない。すなわち、前記特許文献１は、単にグループマスターピアを基準としてツリー構造のサイズを決定する（特許文献１において、グループに所属するピアの数はグループマスターピアのサーバ容量、所属するグループツリー構造の深さ及び放送データを提供するネットワーク帯域幅により調節される技術を提示している）。ツリー構造の好適な実施形態において2分木を構成したことから、クライアントの下位に直結されたクライアントの数は一定数（例えば、２個）と定めていることが分かる。すなわち、クライアントの伝送性能が一定していることを前提にしたことが分かる。
【００１４】
しかしながら、インターネットなどオープンされたネットワークの場合、各クライアントの伝送能力は一般的にそれぞれ異なる。すなわち、あるクライアントは他のクライアントにデータを伝送する速度が極めて遅いのに対し、他のクライアントは極めて速いことがある。その差も数倍、数十倍など顕著になることがある。
【００１５】
また、前記特許文献１におけるクライアントは、ツリーでの位置に応じて、放送コンテンツを供給される時間が異なる場合がある。例えば、図１Ａに示すように、記号２１０のクライアントと記号２１３のクライアントはそれぞれコンテンツを供給される時間が異なる。これは、２１３のクライアントが、２１０のクライアントに比べて、２１０→２１２への伝送と２１２→２１３への伝送など２回の伝送をさらに行うため、その分時間が遅延することに起因する。
【００１６】
ところが、前記特許文献１は、下位に直結可能なクライアントの数を２個に制限しているため、ツリーの深さが大きくなってしまう。このため、相対的に各クライアント間の遅延時間にかなりのバラツキが発生するという問題点がある。特に、前記特許文献１は、全てのクライアントに同じ時間に同じ放送コンテンツを閲覧させるための技術を提示していない。
【発明の概要】
【発明が解決しようとする課題】
【００１７】
本発明は上記事情に鑑みてなされたものであり、その目的は、ストリーミングサーバが多数のピアにコンテンツをＰ２Ｐ方式によりストリーミングするが、前記Ｐ２Ｐ方式のストリーミングをツリー構造に形成するＰ２Ｐ方式のインターネットライブ放送サービスシステム及び方法を提供するところにある。
【００１８】
本発明の他の目的は、コンテンツのストリーミングをツリー構造のＰ２Ｐ方式により多数のピアに放送するが、前記ストリーミングのツリー構造に参加するピアをその伝送速度（または、帯域幅）が高いほどストリーミングサーバに近く配置するＰ２Ｐ方式のインターネットライブ放送サービスシステム及び方法を提供することである。
【課題を解決するための手段】
【００１９】
上記の目的を達成するために、本発明は、インターネット上でコンテンツをストリーミングするストリーミングサーバと、前記コンテンツのストリーミングをツリー構造のＰ２Ｐ方式により受信または中継する多数のピアと、を備え、前記ピアは、自分の下位ピアへの伝送速度を前記ストリーミングサーバのストリーミング速度で割ってセッション数を求め、セッション数の多いピアがセッション数の少ないピアの上位ピアになるように前記ツリー構造を形成することを特徴とするＰ２Ｐ方式のインターネットライブ放送サービスシステムを提供する。
【００２０】
また、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記ピアは、周期的に、自分の上位ピアと自分とのセッション数を比較して、自分のセッション数の方がさらに多ければ自分の上位ピアの上位ピアを自分の上位ピアとして再連結し、自分の下位ピア間のセッション数を比較して、セッション数の少ない下位ピアにセッション数の多い下位ピアを上位ピアとして連結するように指令することを特徴とする。
【００２１】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記ピアは、自分の下位ピアへの伝送速度を前記ストリーミングサーバのストリーミング速度で割り、前記割った値以上の最小整数をセッション数として定めることを特徴とする。
【００２２】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記ストリーミングのツリー構造に参加するピアを参加一覧として保存して管理する管理サーバをさらに備え、前記ストリーミングのツリー構造に参加しないピアは、前記管理サーバに参加一覧をリクエストして受信し、前記参加一覧に属する一つのピアを自分の上位ピアとして連結し、自分を参加一覧に登録するように管理サーバにリクエストすることを特徴とする。
【００２３】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記ストリーミングのツリー構造に参加しないピアは、受信した前記参加一覧に属する全てのピアにコンテンツ・リクエスト・メッセージを送信し、最初に応答するピアを自分の上位ピアとして定めるか、あるいは、前記参加一覧において上位ピアを定めることができなければ、前記ストリーミングサーバを上位ピアとして定めることを特徴とする。
【００２４】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記ピアは、自分のセッション数、下位ピアの連結情報を自分の上位ピアに伝送し、前記下位ピアの連結情報は連結された下位ピアの連結一覧と、連結された各下位ピアのセッション数及び各下位ピアの下位ピアの連結情報を含み、前記ツリー構造の最上段に位置するピアは、自分のセッション数、下位ピアの連結情報を前記管理サーバに伝送することを特徴とする。
【００２５】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記ピアは、最大下位ピア数よりも多い下位ピアを連結しないことを特徴とする。
【００２６】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記ピアは、自分のツリーの深さと最大のツリーの深さが等しければ下位ピアを連結しないことを特徴とする。
【００２７】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記ピアは、将来的に再生するコンテンツがバッファにないか、あるいは、最小バッファリングの量よりも少量であれば下位ピアを連結しないことを特徴とする。
【００２８】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記管理サーバは、最大遅延時間を入力されて保存し、前記ピアは、前記管理サーバから前記最大遅延時間を受信して、受信された前記コンテンツのプレイをコンテンツストリーミング時刻に比べて前記最大遅延時間後に行うことを特徴とする。
【００２９】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記ストリーミングのツリー構造において、最大のツリーの深さに位置しないつつ最下段にあるピアは、自分のセッション数を１と定めることを特徴とする。
【００３０】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、前記管理サーバは、ツリー構造の最上段にあるピアの全ての下位ノードの数が最小ノード数以下であれば、前記ピアに前記ストリーミングサーバに直結された他のピアの下位ピアとして再連結するように指令することを特徴とする。
【００３１】
また、本発明は、上記の目的を達成するために、インターネット上でコンテンツをストリーミングするストリーミングサーバと、前記コンテンツのストリーミングをツリー構造のＰ２Ｐ方式により受信または中継する多数のピア、及び前記ストリーミングのツリー構造に参加するピアを参加一覧として保存して管理する管理サーバを用いたＰ２Ｐ方式のインターネットライブ放送サービス方法において、（ａ）前記ストリーミングのツリー構造に参加しないピアは、前記管理サーバに参加一覧をリクエストして受信し、前記参加一覧に属する一つのピアを自分の上位ピアとして連結するステップと、（ｂ）前記ピアは、受信されたコンテンツを再生するステップと、（ｃ）前記ストリーミングのツリー構造に参加するピアは、自分の下位ピアへの伝送速度を前記ストリーミングサーバのストリーミング速度で割ってセッション数を求めるステップと、（ｄ）周期的に、各ピアは上位ピアまたは下位ピアのセッション数を比較して、セッション数の多いピアがセッション数の少ないピアの上位ピアになるように部分的に再連結するステップと、を含むことを特徴とするＰ２Ｐ方式のインターネットライブ放送サービス方法を提供する。
【００３２】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービス方法において、前記（ａ）ステップは、（ａ１）前記ストリーミングのツリー構造に参加しないピアは、前記管理サーバに参加一覧をリクエストして受信するステップと、（ａ２）前記参加しないピアは、受信した前記参加一覧に属する全てのピアにコンテンツ・リクエスト・メッセージを送信するステップと、（ａ３）前記参加しないピアは、最初に応答するピアを自分の上位ピアとして連結するステップと、（ａ４）前記参加一覧において上位ピアを定めることができなければ、前記ストリーミングサーバを上位ピアとして定めるステップと、を含むことを特徴とする。
【００３３】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービス方法において、前記（ｃ）ステップは、自分の上位ピアと自分とのセッション数を比較して、自分のセッション数の方がさらに多ければ自分の上位ピアの上位ピアを自分の上位ピアとして再連結し、自分の下位ピア間のセッション数を比較して、セッション数の少ない下位ピアにセッション数の多い下位ピアを上位ピアとして連結するように指令することを特徴とする。
【００３４】
さらに、本発明は、Ｐ２Ｐ方式のインターネットライブ放送サービス方法において、前記（ｂ）ステップは、前記ピアは前記管理サーバから前記最大遅延時間を受信して、受信された前記コンテンツのプレイをコンテンツストリーミング時刻に比べて前記遅延時間後に行うことを特徴とする。
【００３５】
さらに、本発明は、上記の目的を達成するために、Ｐ２Ｐ方式のインターネットライブ放送サービス方法において、前記Ｐ２Ｐ方式のインターネットライブ放送サービス方法を記録したコンピュータにて読取り可能な記録媒体を提供する。
【発明の効果】
【００３６】
本発明によるＰ２Ｐ方式のインターネットライブ放送サービスシステム及び方法によれば、ストリーミング可能なセッション数（または、下位ピアの数）の多いピアをストリーミングのツリー構造の上段に位置させることにより前記ツリー構造の深さをできる限り短くして、ストリーミングの伝送時間を短縮させ、特に、ピア間の遅延時間を最小化させることができるという効果が得られる。
【図面の簡単な説明】
【００３７】
【図１Ａ】従来の技術によるリアルタイムインターネット放送サービスシステムの構成を示す図である。
【図１Ｂ】従来の技術によるリアルタイムインターネット放送サービスシステムの構成を示す図である。
【図２】本発明の一実施形態によるＰ２Ｐ方式のインターネットライブ放送サービスシステムの構成を示す図である。
【図３Ａ】セッション数による多様なストリーミングのツリー構造を比較する図である。
【図３Ｂ】セッション数による多様なストリーミングのツリー構造を比較する図である。
【図４Ａ】本発明の一実施形態によるＰ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、セッション数により各ピアが再連結を行うステップを説明する図である。
【図４Ｂ】本発明の一実施形態によるＰ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、セッション数により各ピアが再連結を行うステップを説明する図である。
【図４Ｃ】本発明の一実施形態によるＰ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、セッション数により各ピアが再連結を行うステップを説明する図である。
【図４Ｄ】本発明の一実施形態によるＰ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、セッション数により各ピアが再連結を行うステップを説明する図である。
【図５】本発明の一実施形態によるＰ２Ｐ方式のインターネットライブ放送サービスシステムにおいて、バッファリングの量を用いてツリーのサイズを制限する方式を説明する図である。
【図６Ａ】本発明の一実施形態によるＰ２Ｐ方式のインターネットライブ放送サービス方法を説明するフローチャートである。
【図６Ｂ】本発明の一実施形態によるＰ２Ｐ方式のインターネットライブ放送サービス方法を説明するフローチャートである。
【発明を実施するための形態】
【００３８】
以下、添付図面に基づき、本発明の実施のための具体的な内容を説明する。
【００３９】
また、本発明を説明するに当たって、同じ部分には同じ符号を付し、その反復説明は省略する。
【００４０】
先ず、図２に基づき、本発明の一実施形態によるＰ２Ｐ方式のインターネットライブ放送サービスシステムの構成を説明する。
【００４１】
図２に示すように、インターネットライブ放送サービスシステムは、ストリーミングサーバ３０と、多数のピア５１、５２、５３と、を備えてなる。なお、インターネットライブ放送サービスシステムは、管理サーバ４０をさらに備えていてもよい。
【００４２】
前記ストリーミングサーバ３０は、インターネット上でコンテンツをストリーミングする。
【００４３】
ストリーミングサーバ３０は、放送コンテンツをクライアント（または、ピア）にリアルタイムに伝送するサーバである。クライアント（または、ピア）５１は、コンテンツをリアルタイムに受信して直ちにコンテンツを再生する。コンテンツの全体を先に伝送されて再生することに比べて、「ストリーミング」という用語を使用する。
【００４４】
特に、以下において、ストリーミングはライブストリーミングを意味することもある。上述したように、ＶＯＤなどにおけるストリーミングは、サーバが各クライアントにそれぞれ異なるコンテンツを伝送することを意味する。しかしながら、本発明はライブで行われるリアルタイムインターネット放送に適用しようとするものであるため、以下、ストリーミングはライブストリーミングであると狭く解釈することができる。このとき、ライブストリーミングとは、一つのコンテンツを同一に、多数のクライアントに、同時に、リアルタイムに提供する特徴を有するストリーミングのことを言う。
【００４５】
ストリーミングサーバ３０は、自分が直接的にコンテンツを保存していてストリーミングをすることもできれば、別途のコンテンツサーバ（図示せず）からコンテンツを受信して再伝送することもできる。特に、種々のコンテンツサーバからコンテンツを受信してストリーミングだけを専門的に行うサーバとして実現されてもよい。コンテンツをストリーミングするサーバに関する技術はこの分野における公知技術であるため、その具体的な説明は省略する。
【００４６】
前記ピア５１は、前記コンテンツのストリーミングをツリー構造のＰ２Ｐ方式により受信または中継する。
【００４７】
前記ピア５１は、前記ストリーミングサーバ３０においてストリーミングするコンテンツを受信または中継する一種のクライアントである。但し、前記ピア５１は前記コンテンツを他のピア５１からも受信することができる。
【００４８】
ピア５１は、ＰＣなどコンピュータ機能を有する装置により実現される。前記ピア５１は、前記ストリーミングサーバ３０や他のピア５１と通信を行うための通信装置、特に、Ｐ２Ｐ通信装置、受信したコンテンツを再生するためのプレイヤーなどを備えたコンピュータ装置である。
【００４９】
前記ピア５１は少なくとも１以上存在し、多数のピア５１とストリーミングサーバ３０とはネットワークにより結ばれている。ネットワークは、好ましくは、インターネットや、Ｐ２Ｐ通信が行えるネットワークであれば、いずれも適用可能である。
【００５０】
前記多数のピア５１は、コンテンツのストリーミングをするために、ツリー構造５０を形成する。前記ストリーミングのツリー構造５０は、コンテンツをストリーミングするコンテンツ伝送の論理的な連結構造である。インターネット上で物理的に互いに連結されるピア５１の物理的なネットワーク連結構造とは区別される。
【００５１】
図２に基づき、例えば、ストリーミングのツリー構造５０において最上段に位置するピアＢ５１はストリーミングサーバ３０からコンテンツを受信し、コンテンツを受信した前記ピアＢ５１は自分に直接的に従属されて（または、連結されて）いる他のピアＣ５１に前記コンテンツを再伝送する。
【００５２】
このとき、ツリー構造５０において、ピアの親ノードにあるピアを上位ピアと呼び、ピアの子ノードにあるピアを下位ピアと称する。一つのピアの下位にある全てのピアを全体の下位ピアまたは下位の全体ピアと称する。また、ツリー構造５０のルートノードは最上段に位置するピアまたは最上段ピアと表記し、ツリー構造のリーフノードは最下段に位置するピアまたは最下段ピアと表記する。すなわち、最上段ピアＢ５１はストリーミングサーバ３０と直結され、最下段ピアＣ５１は下位に直結されるピアを有さない。
【００５３】
前記ピア５１は、受信した前記コンテンツを一時的に保存するバッファを備える。前記ピアはバッファを利用することにより、上述したようにインターネットライブ放送中に途切れることなく上下位ピアの移動が可能になる。これは、現在視聴中の映像の前後の指定部分ずつをバッファに保有しているためである。
【００５４】
次に、ピア５１のセッション数を説明する。
【００５５】
前記ピア５１は、自分の下位ピアへの伝送速度を前記ストリーミングサーバのストリーミング速度で割ってセッション数を求める。好ましくは、前記ピア５１は自分の下位ピアへの伝送速度を前記ストリーミングサーバのストリーミング速度で割り、前記割った値以上の最小整数をセッション数として定める。すなわち、下記式１によって求める。
【００５６】
【数１】
2010109976.tif 000003
【００５７】
ピアの伝送速度は、自分から直結された下位ピアへとコンテンツを伝送するときのデータ伝送速度である。例えば、ピアの伝送速度が１,０２４ｋｂｐｓであれば、前記ピア５１は１秒当たりに１,０２４ｋビット（約１Ｍ）を伝送することができる。ピアの伝送速度はピアが伝送可能な一種の帯域幅であると言える。ピアの伝送速度は、下位ピアにコンテンツを伝送する速度であるため、通常、最大アップロード速度を意味する。
【００５８】
ストリーミング速度は、コンテンツをストリーミングする速度を言う。例えば、コンテンツの伝送速度を３００ｋｂｐｓとするとき、前記コンテンツは１秒当たりに３００ｋビットを伝送する。一般的に、コンテンツが映像である場合、画質が高いほどコンテンツの伝送速度は高い。通常、ＭＰ３の伝送速度は１２８ｋｂｐｓであり、ＡＭラジオレベルは２８ｋｂｐｓ程度である。
【００５９】
このため、コンテンツ毎にストリーミングの伝送速度は異なりうる。この理由から、コンテンツの伝送速度でセッション数を求めると、毎回コンテンツによってセッション数が変わりうる。好ましくは、ストリーミングサーバは、基準となるコンテンツの伝送速度を定めることができる。これをストリーミングサーバのストリーミング速度と呼ぶ。
【００６０】
上記の例においてセッション数を求めると、セッション数＝[１,０２４／３００] ＝３である。このため、セッション数は３である。セッション数は、同時にコンテンツをストリーミング可能な数を意味する。伝送速度が３００ｋｂｐｓのコンテンツを同時に３個伝送すれば、３００ｋｂｐｓ×３＝９００ｋｂｐｓを伝送するのと同様である。このため、伝送速度が最大１,０２４ｋｂｐｓのピアは３００ｋｂｐｓのコンテンツを同時に３個伝送することができる。これに対し、前記ピアが同時に４個を伝送すれば、３００ｋｂｐｓ×４＝１,２００ｋｂｐｓを伝送するのと同様である。この場合には、伝送するデータの総量は１,２００ｋｂｐであるが、最大帯域幅は１,０２４ｋｂｐｓにしかならないため、１７６ｋｂｐｓの量を伝送することができない。結果的に、下位ピアの少なくとも一つは正常にコンテンツを伝送されて再生することができなくなる。
【００６１】
一方、ピアの伝送速度は他のピアにコンテンツを伝送しながら測定可能である。好ましくは、ピアは、自分の下位ピアにコンテンツを伝送しながら伝送速度を測定する。しかしながら、下位ピアを有さないピアは伝送速度を測定することができない。好ましくは、ピアが下位ピアを有さない場合には、セッション数を１と設定する。このピアは、換言すれば、ストリーミングのツリー構造において最下段にあるピアである。
【００６２】
また、ピアは、ＰＣなどコンピュータであって一つのクライアントであるため、一般的なアップロード速度などを測定して保有することができる。また、ストリーミングのツリー構造に参加してから脱退した後にさらに連結された場合、下位ピアを有していてツリー構造が変更されて下位ピアを有していない場合などには、ピアは伝送速度を予測することができる。このため、好ましくは、ピアがアップロード速度など基礎伝送速度を保有していれば、下位ピアを有していない場合にも基礎伝送速度を自分の伝送速度と仮定してセッション数を求める。前記セッション数は、ユーザ環境が随時変わるため、所定の時間毎に算定して変更適用する。
【００６３】
次に、図３に基づき、ピアのセッション数による好適なツリー構造を説明する。本発明によるストリーミングのツリー構造においては、セッション数の多いピアをツリーの上段に配置している。
【００６４】
図３Ａ及び図３Ｂは、両方とも１０個のピアを配置してツリーを構成したものである。そして、２個のツリーの両方が、セッション数が４のものが一つ、セッション数が３のものが一つ、セッション数が２のものが２つであり、残りはセッション数がいずれも１のピアを有している。図３中、ピアの（Ｓ：４）、（Ｓ：２）などは、現在当該ピアのセッション数が４または２であることを表示する。
【００６５】
図３Ａにおいては、セッション数が最大のピアを最上段に置いているのに対し、図３Ｂにおいては、ツリーの最上段ノードにセッション数が２のピアを配置している。このように構成することにより、２個のツリーの両方がその構成は同一であるにも拘らず、図３Ａのツリーの深さは３であるのに対し、図３Ｂにおけるツリーの深さは４となった。
【００６６】
すなわち、セッション数の多いピアをツリー構造の上段に置くことにより、多数のピアを上段に連結することができ、上段に連結されたピアが多ければ、その分、次段において連結されるピアも増加する。すなわち、ツリー構造の上段に多数のピアを置くことにより、ツリー構造は横方向に増大され（すなわち、ツリーの兄弟ノードが多くなる）、高さが減ることになる。
【００６７】
上述した背景技術の欄において説明したように、上位ピアから下位ピアまでコンテンツを伝送するときに所定の時間を要するため、上位ピアがコンテンツのストリーミングを受け取る時間と下位ピアがコンテンツを受け取る時間は互いに異なる。ストリーミングサーバにおいてコンテンツを伝送した時刻とピアにおいて前記コンテンツを受信する時刻とのずれを「遅延時間」と呼ぶ。
【００６８】
仮にピア間の伝送時間が同じであるとすれば、各ピアの遅延時間はピアが位置するノードの深さに比例する。このため、図３Ｂに比べて、図３Ａのツリーの高さが低いため、各ピア間の遅延時間のバラツキが低減する。すなわち、セッション数の多いピアをツリー構造の上段に置くことによりピア間の遅延時間のバラツキを縮める。
【００６９】
次に、図４に基づき、ピアのセッション数によってストリーミングのツリー構造を変更する方式を説明する。
【００７０】
前記ピア５１は、自分の下位ピアへの伝送速度をストリーミングサーバ３０のストリーミング速度で割ってセッション数を求め、セッション数の多いピア５１がセッション数の少ないピアの上位ピア５１になるように前記ツリー構造を形成する。
【００７１】
後述するように、ストリーミングのツリー構造に参加しないピアが最初に連結するときにはストリーミングのツリー構造の任意の位置に連結される。このため、ストリーミングのツリー構造は、最初から、図３Ａに示すように、セッション数の多いピアがツリーの上段に位置しない。これは、ストリーミングに参加するピアが自分の支援可能なセッション数を判断して適切な位置に潜り込むことにより発生する開始時の応答遅延を無くすために最も早い応答を示す接続可能なピアに優先的に接続されるためである。
【００７２】
この代わりに、各ピアは、自分と直結されたピアとのセッション数を比較することにより、セッション数の多いピアをツリーの上段に向かってさらに移動させる。すなわち、部分的にセッション数によってピアの位置を調整する。上述したように、部分的にピアの位置を調整し続けると、最終的には、図３Ａに示すように、全体的にセッション数の多いピアがツリーの上段に位置するツリー構造に変更される。
【００７３】
部分的なピアの位置調整は、各ピアが下記の２種類の方法により行う。第一は、自分の上位ピアと自分とのセッション数を比較することであり、第二は、自分の下位ピア間のセッション数を比較することである。すなわち、好ましくは、前記ピアは、周期的に、（１）自分の上位ピアと自分とのセッション数を比較して、自分のセッション数の方がさらに多ければ自分の上位ピアの上位ピアを自分の上位ピアとして再連結し、（２）自分の下位ピア間のセッション数を比較して、セッション数の少ない下位ピアにセッション数の多い下位ピアを上位ピアとして連結するように指令する。
【００７４】
図４に基づいてさらに詳述する。図４は、ストリーミングのツリー構造に参加した４個のピアがセッション数によって順序が変更されることを説明する図である。図４中、Ａピアの（Ｓ：３）は、現在、当該ピアのセッション数が３であることを示す。
【００７５】
先ず、図４Ａに示すように、最初には、ピアＡ、Ｂ、Ｃは、それぞれピアＢ、Ｃ、Ｄにコンテンツを伝送することによりピアの伝送速度を測定し、これによりセッション数を算定する。これに対し、ピアＤは、伝送対象がなく、予め指定された値（または、デフォルト値）としての１を有する。すなわち、ピアＡ、Ｂ、Ｃ、Ｄのセッション数はそれぞれ３、２、３、１である。
【００７６】
上述した部分的なセッション数比較の最初の規則によって、ピアＣは自分の上位ピアＢと自分とのセッション数を比較する。すなわち、Ｂ（Ｓ：２）とＣ（Ｓ：３）のセッション数を比較する。比較結果、ピアＣのセッション数の方がさらに多い。このため、最初の規則によって、ピアＣは自分の上位ピアの上位ピアであるＡを自分の上位ピアとして再連結する。
【００７７】
このようにして再連結すれば、図４Ｂに示すように、ツリー構造が変更される。すなわち、ピアＣはピアＡの下位ピアとして連結され、このとき、もともとＣの下位ピアに連結されていたＤはそのままついてくる。
【００７８】
次に、ピアＡは、部分的なセッション数比較の２番目の規則によって、自分の下位ピアであるＢとＣのセッション数を比較する。すなわち、Ｂ（Ｓ：２）とＣ（Ｓ：３）のセッション数を比較する。比較結果、ピアＣのセッション数の方がさらに多い。このため、２番目の規則によって、ピアＣはセッション数の少ない下位ピアＢにセッション数の多い下位ピアＣを上位ピアとして連結するように指令する。図４Ｃに示すように、下位ピアＢは自分の上位ピアＡから前記指令を受け付けてピアＣを自分の上位ピアとして再連結する。
【００７９】
次に、ピアＣは、部分的なセッション数比較の２番目の規則によって、自分の下位ピアであるＢとＤのセッション数を比較する。すなわち、Ｂ（Ｓ：２）とＤ（Ｓ：１）のセッション数を比較し、ピアＢのセッション数の方がさらに多いため、ピアＣはセッション数の少ない下位ピアＤにセッション数の多い下位ピアＢを上位ピアとして連結するように指令する。図４Ｄに示すように、下位ピアＤは自分の上位ピアＣから前記指令を受け付けてピアＢを自分の上位ピアとして再連結する。
【００８０】
好ましくは、上述した如き変更は、所定の時間おきに１回ずつ比較を行って、変更条件が満たされると行われ、それ以上変更が必要ないときにはツリー構造は同一に維持される。
【００８１】
次に、上述した図２のインターネットライブ放送サービスシステムにおいて、管理サーバ４０と管理サーバ４０を用いてツリー構造に参加しないピアがツリー構造に参加することについて説明する。
【００８２】
前記管理サーバ４０は、前記ストリーミングのツリー構造に参加するピアを参加一覧として保存して管理する。参加一覧は、ピアの識別情報を保存して、どのピアがツリー構造に参加するかが記録される。ピアの識別情報はネットワーク上でピアを識別可能な情報であり、ネットワーク規格によって異なって表現可能である。インターネットを例に取ると、ピアの識別情報はＩＰアドレスにより定められる。
【００８３】
前記ストリーミングのツリー構造に参加しないピアは、前記管理サーバ４０に参加一覧をリクエストして受信し、前記参加一覧に属する一つのピアを自分の上位ピアとして連結し、自分を参加一覧に登録するように管理サーバ４０にリクエストする。
【００８４】
好ましくは、前記ストリーミングのツリー構造に参加しないピアは、受信した前記参加一覧に属する全てのピアにコンテンツ・リクエスト・メッセージを送信し、最初に応答するピアを自分の上位ピアとして定めるか、あるいは、前記参加一覧において上位ピアを定めることができなければ、前記ストリーミングサーバを上位ピアとして定める。
【００８５】
最初に応答するピアを上位ピアとして定める理由の一つは、最初に応答するピアがその分伝送速度の速いピアであることを示し、その方法が簡単であり、放送を速やかに始めることができるためである。上記の方法の他にも、リクエストメッセージを送受信しながら参加一覧のピアとのホップの数を計算して、ホップが最も少ないピアを選定することもできる。すなわち、自分に送る伝送速度が速いピアを見出す方法であれば、いかなる方法も適用可能である。
【００８６】
次に、ピアに連結する下位ピアの数とツリーの深さに対する制限方式を説明する。
【００８７】
一つのピアに直結する下位ピアの数を所定数（以下、最大下位ピアの数）に限定することが好ましい。その理由は、たとえ特定のピアの回線が良好であるとしても、あまりにも多数のユーザが連結されていると、システムの性能が低下する恐れがあるためである。さらに重要なのは、このピアがコンテンツのストリーミングを中継することを中断すると、このピアに連結されていた下位ピアがいずれも他のピアに再連結しなければならないということである。連結された下位ピアが多いほど、再連結するための作業が増大するため、全体のサービスシステムに多大な負荷がかかり、コンテンツの視聴が中断されるピアが増大する。好ましくは、最大下位ピアの数を５から１０の範囲内に限定する。
【００８８】
一方、上述したように、ストリーミングのツリー構造のツリーの深さは、各ピア間の遅延時間のバラツキと関係がある。すなわち、ツリーの深さが大きくなるほど最上段のピアと最下段のピアとの間の遅延時間のずれが増大する。このため、この遅延時間を減らすためにツリーの深さを減らす必要がある。
【００８９】
特に、全てのピアが同じ時間にストリーミングされるコンテンツを視聴（または、聴取）するためには、ストリーミングサーバからコンテンツを送り出す時刻から所定の時間（以下、最大遅延時間）が経過した後に再生しなければならない。各ピアは、この最大遅延時間内にコンテンツをストリーミングされる必要がある。できる限り、最大遅延時間を減らすことが好ましい。このため、ストリーミングのツリー構造のツリーの深さを所定のツリーの深さ（以下、最大ツリーの深さ）に制限し、このツリーの深さまでストリーミングする時間を最大遅延時間と定めることが好ましい。
【００９０】
上述した如き下位ピアの数またはツリーの深さを管理することは、インターネットライブ放送のサービスの品質を一定のレベルに維持する上で有効である。下位ピアの数だけを管理したり、ツリーの深さだけを管理したり、または、両方とも管理する方式がいずれも適用可能である。
【００９１】
上述の如き下位ピアの数またはツリーの深さを管理するために、各ピアはセッション数と共に自分の連結情報を管理する。連結情報は、自分に直結された下位ピアに対する一覧、各下位ピアのセッション数及び連結情報を含む。下位ピアに対する一覧は、下位ピアの数を含む。また、下位ピアに対する一覧は、下位ピアの識別情報を含むことができる。各下位ピアの連結情報は、自分の連結情報と同じ形式の情報である。すなわち、下位ピアの連結情報はさらに下位ピアの下位ピアの連結情報を有している。連結情報は再帰的に構成されるため、連結情報は自分の下位にある全てのピアの情報を含む。
【００９２】
一方、各ピアは上位ピアに上位ピアのツリーの深さをリクエストして受信することにより、自分のツリーの深さを知ることができる。すなわち、自分のツリーの深さは、上位ピアのツリーの深さに１を加えることにより求められる。
【００９３】
また、各ピアは、下位ピアの連結情報を通して、下位にある全てのピアのツリーの深さを計算することができる。すなわち、下位にあるピアが自分よりも何段下であるかを把握して相対的なツリーの深さを求め、前記相対的なツリーの深さに自分のツリーの深さを加えると、下位にあるピアのツリーの深さを求めることができる。
【００９４】
全てのピアは、自分のセッション数、下位ピアの連結情報を自分の上位ピアに伝送し、前記下位ピアの連結情報は、連結された下位ピアの連結一覧と、連結された各下位ピアのセッション数及び各下位ピアの下位ピアの連結情報を含む。なお、前記ツリー構造の最上段に位置するピアは、自分のセッション数、下位ピアの連結情報を前記管理サーバ４０に伝送する。
【００９５】
このため、管理サーバ４０は、ストリーミングのツリー構造に含まれる全てのピアの連結情報を有している。また、各ピアは、自分の下位に連結された全てのピアの情報を有している。
【００９６】
上記の如きセッション数と連結情報を用いて、各ピアは最大下位ピアの数よりも多数の下位ピアを連結しない。また、ピアは、自分のツリーの深さと最大のツリーの深さが等しければ、下位ピアを連結しない。
【００９７】
次に、ピアが新たに連結されたり変更されることによりツリー構造が変更され、連結情報が変更されることを説明する。
【００９８】
もし、特定のツリーにおいて特定のピアが非正常的に終了したり、あるいは、上位ピアのセッションの数の大小によって順序が変更または移動される場合、このときに変更されるツリーの最上段のピアが連結情報を全ての下位のツリー（下位にある全てのピア）に受け渡して本人の連結情報を知らせ、ピアは連結情報の相対位置情報（上位ピア＋１）を有することになる。
【００９９】
下位のピアを有するツリーが移動する場合、管理サーバ４０は、ピアの現在の深さを考慮して、最大のツリーの深さを超えない連結可能なピアの情報だけを与えて連結できるようにする。すなわち、連結されるピアは連結されるツリーの深さを知っており、連結後に直ちにその下段の全てのピアに自分のツリーの深さを受け渡させる。
【０１００】
このため、最初に連結するピアの場合には最下段のピアを除くどこにも連結可能になる。
【０１０１】
具体的に、下位ピアの数またはツリーの深さを制限する方法は、下記の通りである。
【０１０２】
先ず、ストリーミングのツリー構造に参加しないピアがツリー構造に参加しようとして管理サーバ４０に参加一覧をリクエストする場合を説明する。この場合、管理サーバ４０は、参加一覧にあるピアの中でそのピアの下位ピアの数またはツリーの深さが最大下位ピアの数または最大のツリーの深さに等しければ、そのピアを除く残りのピアだけを参加しないピアに伝送する。
【０１０３】
ツリー構造を周期的に変更する場合を説明する。
【０１０４】
先ず、自分の上位ピアと自分とのセッション数を比較する場合（最初の場合）について説明する。このとき、自分の上位ピアの上位ピアが最大下位ピアの数に等しい下位ピアの数を有すると、再連結しない。自分の上位ピアの上位ピアに連結すれば、下位ピアの数が最大下位ピアの数を超えるためである。
【０１０５】
そして、自分の下位ピア間のセッション数を比較する場合（２番目の場合）について説明する。このとき、セッション数の少ない下位ピアのツリーの深さと最大ツリーの深さが等しければ、再連結しない。セッション数の少ない下位ピアにセッション数の多い下位ピアを連結すれば、ツリーの深さが最大ツリーの深さよりも大きくなるためである。
【０１０６】
次に、コンテンツを受信する全てのピアが同じ時間にコンテンツを視聴（または、聴取）する方式を説明する。
【０１０７】
上述したように、Ｐ２Ｐ方式のライブ放送（または、グリッド放送）は、ユーザ（または、ピア）間の再伝送により遅延が発生する。このため、全てのピアが上位ピアから伝送されてから直ちに再生（視聴または聴取）を開始すると、ツリー構造において上段と下段にあるピアは同じ内容をそれぞれ再生する時間が異なってくる。すなわち、ツリー構造の上段にあるピアが、ツリー構造の下段にあるピアに比べて、同じ時間帯のコンテンツ内容を先に再生する。
【０１０８】
上述した如きタイプのライブインターネット放送は簡単に実現可能であるため、ＴＶ放送を再伝送する場合、または放送が遅延されても大きな支障がない単純放送の場合などに使用可能である。なお、ツリー構造が大きくなると、最上段のピアと最下段のピアとの間にツリーの深さ差が大幅に出るため、両ピア間の遅延時間が極めて大きくなる。
【０１０９】
より好ましくは、全てのピアがストリーミングサーバにおいて伝送する時刻から所定時間の遅延をおいて再生して、同じ時刻に同じコンテンツ内容を再生することができる。具体的に、前記管理サーバ４０は最大遅延時間を入力されて保存し、前記ピア５１は前記管理サーバ４０から前記最大遅延時間を受信して、受信された前記コンテンツのプレイをコンテンツストリーミング時刻に比べて前記最大遅延時間後に行う。すなわち、ストリーミングサーバ３０と各ピア５１との間には最大遅延時間に見合う分だけの遅延が起こるが、各ピア５１間には遅延差がなくなる。
【０１１０】
上述したように、各ピアが同時に再生するライブインターネット放送は、ユーザ間同一画面を視聴させることにより、同時間チャットや教育などの目的に使用して好適である。この方式は、ピア間の伝送遅延によりツリー構造が所定の深さ以上に大きくなり得ない。遅延許容の時間はサービス事業者の政策によって決定され、指定された遅延許容時間が増大するに伴い、ツリーの段も増大する。この方式は、全てのピアが同じ映像を眺めることによりインタラクティブ放送が可能である。
【０１１１】
上述したように、ツリーが大きくなると、最上段ピアと最下段ピアとの間の遅延時間が延びるため、ツリーが所定のサイズに制限される必要がある。すなわち、全てのピアは最大遅延時間前にコンテンツを伝送される必要がある。
【０１１２】
これを実現する方式には、最大ツリーの深さを制限する方式と、各ピアにおけるコンテンツのバッファリング量を検査する方式がある。最大ツリーの深さを制限する方式は、上述した通りである。後者の方式は、図５に基づいて説明する。
【０１１３】
図５に示すように、仮にストリーミングサーバ３０に３個のピア５１がそれぞれ連続して連結されているとする。また、サーバにおいて、ピアをＡとし、各ピア間のストリーミング時間をΔｔとする。また、最大遅延時間を３Δｔとする。
【０１１４】
ストリーミングサーバ３０が時間ｔ１にコンテンツのＴ１部分から伝送すると、時間ｔ１＋ΔｔのときにピアＡはコンテンツのＴ１部分を受信する。しかしながら、遅延時間が３Δｔであるため、ピアＡは時間ｔ１＋３Δｔまで待つ。この間に、ピアＡはサーバ３０から伝送するコンテンツを受信し続けてバッファに保存する。例えば、ピアＡは、サーバ３０から時間ｔ１＋Δｔに送られてくるコンテンツのＴ１＋Δｔ部分を時間ｔ１＋２Δｔに受け取り、サーバ３０から時間ｔ１＋２Δｔに送られてくるコンテンツのＴ１＋２Δｔ部分を時間ｔ１＋３Δｔに受け取る。このため、ピアＡは、時間ｔ１＋３ΔｔにコンテンツのＴ１部分を再生するとき、コンテンツのＴ１＋２Δｔ部分まで受信してバッファに保存する。
【０１１５】
同様に、ピアＢは、時間ｔ１＋２ΔｔにコンテンツのＴ１部分を最初に受信し、時間ｔ１＋３ΔｔにコンテンツのＴ１部分を再生するとき、コンテンツのＴ１＋Δｔ部分まで受信してバッファに保存する。
【０１１６】
ピアＣは、時間ｔ１＋３ΔｔにコンテンツのＴ１部分を受信してから直ちに再生する。すなわち、図５の例題に示すように、あるピア５１が将来的に再生するコンテンツがバッファにあれば、このピア５１は最大遅延時間前にストリーミングを受信するため、下位ピアを有することができる。しかしながら、ピアが再生するコンテンツがバッファになければ、このピアはそれ以上下位ピアを連結してはいけない。
【０１１７】
このため、好ましくは、ピアは将来的に再生するコンテンツがバッファにないか、あるいは、最小バッファリングの量よりも少量であれば、下位ピアを連結しない。より好ましくは、最小バッファリングの量は下位ピアへの伝送速度によって定まる。すなわち、下位ピアに伝送して下位ピアが再生するまでの時間、すなわち、下位ピアまでの遅延時間Δｔ分の量をバッファに有している必要がある。
【０１１８】
しかしながら、実際に下位ピアまでの遅延時間Δｔ（または、下位ピアへの伝送速度）はネットワークの状況などによって変わるため、管理者の入力により任意に定まった遅延時間を使用することが好ましい。
【０１１９】
次に、ツリー構造に参加していたピアが途中で脱退または脱落する場合、ピアが再連結する過程とツリー間の併合方法を説明する。
【０１２０】
あるピアが脱退すれば、前記ピアに直結されたピアはツリー構造から離脱する。離脱したピアは上位ピアとして連結する他のピアを探さなければならない。好ましくは、離脱したピアは管理サーバに参加一覧をリクエストして参加一覧に属するピアのうち自分と自分の下位に位置するピアを除くピアの中より一つを上位ピアとして選定する。このとき、選定方法は、上述した参加しないピアが参加するときに上位ピアを選定する方法と同様である。
【０１２１】
一方、ストリーミングサーバに直結されたピアは、自分の下位にあるピアと共に一つのツリー構造を形成する。このため、ストリーミングサーバに直結されたピアの数に見合う分だけツリー構造が形成される。ところが、途中で脱落または脱退するピアが増大すると、ツリー構造内に含まれているピアの数が所定数（以下、最小ノード数）以下に減って他のツリーと併合する。
【０１２２】
すなわち、前記管理サーバ４０は、ツリー構造の最上段にあるピアの全ての下位ノードの数が最小ノード数以下であれば、前記ピアに前記ストリーミングサーバに直結された他のピアの下位ピアとして再連結するように指令する。このとき、管理サーバ４０は、連結する他のピアの情報も一緒に伝送する。指令を受け付けた最上段にあるピアは、管理サーバ４０から受信したピアに再連結する。
【０１２３】
次に、図６に基づき、本発明の一実施形態によるＰ２Ｐ方式のインターネットライブ放送サービス方法を説明する。
【０１２４】
前記インターネットライブ放送サービス方法は、インターネット上でコンテンツをストリーミングするストリーミングサーバ３０と、前記コンテンツのストリーミングをツリー構造５０のＰ２Ｐ方式により受信または中継する多数のピア５１と、前記ストリーミングのツリー構造に参加するピアを参加一覧として保存して管理する管理サーバ４０と、を用いて行う。
【０１２５】
図６Ａに示すように、前記インターネットライブ放送サービス方法は、（ａ）前記ストリーミングのツリー構造に参加しないピアは前記管理サーバに参加一覧をリクエストして受信し、前記参加一覧に属する一つのピアを自分の上位ピアとして連結するステップ（Ｓ１０）と、（ｂ）前記ピアは、受信されたコンテンツを再生するステップ（Ｓ２０）と、（ｃ）前記ストリーミングのツリー構造に参加するピアは、自分の下位ピアへの伝送速度を前記ストリーミングサーバのストリーミング速度で割ってセッション数を求めるステップ（Ｓ３０）と、（ｄ）周期的に、各ピアは、上位ピアまたは下位ピアのセッション数を比較して、セッション数の多いピアがセッション数の少ないピアの上位ピアになるように部分的に再連結するステップ（Ｓ４０）と、を含む。
【０１２６】
コンテンツ再生は、（ａ）ステップ後にコンテンツバッファリングされると直ちに行われる。
【０１２７】
特に、図６Ｂに示すように、前記（ａ）ステップは、（ａ１）前記ストリーミングのツリー構造に参加しないピアは、前記管理サーバに参加一覧をリクエストして受信するステップ（Ｓ１１）と、（ａ２）前記参加しないピアは、受信した前記参加一覧に属する全てのピアにコンテンツ・リクエスト・メッセージを送信するステップ（Ｓ１２）と、（ａ３）前記参加しないピアは、最初に応答するピアを自分の上位ピアとして連結するステップ（Ｓ１３）と、（ａ４）前記参加一覧において上位ピアを定めることができなければ、前記ストリーミングサーバを上位ピアとして定めるステップ（Ｓ１４）と、を含む。
【０１２８】
また、前記（ｃ）ステップは、自分の上位ピアと自分とのセッション数を比較して、自分のセッション数の方がさらに多ければ自分の上位ピアの上位ピアを自分の上位ピアとして再連結し、自分の下位ピア間のセッション数を比較して、セッション数の少ない下位ピアにセッション数の多い下位ピアを上位ピアとして連結するように指令する。
【０１２９】
前記（ｂ）ステップは、前記ピアは、前記管理サーバから前記最大遅延時間を受信して、受信された前記コンテンツのプレイ（または、再生）をコンテンツストリーミング時刻に比べて前記遅延時間後に行う。
【０１３０】
前記Ｐ２Ｐ方式のインターネットライブ放送サービス方法における未説明部分については、上述したＰ２Ｐ方式のインターネットライブ放送サービスシステムについての説明を参照されたい。
【０１３１】
以上、本発明者により案出された発明を前記実施形態に基づいて具体的に説明したが、本発明は前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内において種々に変更可能であることは言うまでもない。
【産業上の利用可能性】
【０１３２】
本発明は、多数のピアにコンテンツをＰ２Ｐ方式によりストリーミングするが、前記Ｐ２Ｐ方式のストリーミングをツリー構造に形成するＰ２Ｐ方式のインターネットライブ放送サービスシステムを開発する分野に適用可能である。特に、本発明は、サーバが映像を伝送し始めてから、所定時間の遅延をおいて全てのピアが同じ画面を視聴しなければならない同時間チャットや教育などの目的で使用するシステムに適用して好適である。
【符号の説明】
【０１３３】
３０：ストリーミングサーバ、
４０：管理サーバ、
５０：ストリーミングのツリー構造、
５１：ピア。
【先行技術文献】
【特許文献】
【０１３４】
【特許文献１】大韓民国特許第１０−２００８−００４８８３５号公報
【図１Ａ】
2010109976.tif 000004
【図１Ｂ】
2010109976.tif 000005
【図２】
2010109976.tif 000006
【図３Ａ】
2010109976.tif 000007
【図３Ｂ】
2010109976.tif 000008
【図４Ａ】
2010109976.tif 000009
【図４Ｂ】
2010109976.tif 000010
【図４Ｃ】
2010109976.tif 000011
【図４Ｄ】
2010109976.tif 000012
【図５】
2010109976.tif 000013
【図６Ａ】
2010109976.tif 000014
【図６Ｂ】
2010109976.tif 000015