(57)【特許請求の範囲】
【請求項１】
ネットワーク通信環境中に応用されるストリーミングサービスの装置において、
ストリーミングサービスを提供できる少なくとも一つのノードの連絡アドレスと各該ノードに対応する優先値とを記録したサービステーブルを具備したサービス代理を包含し、
クライアントノードが該サービス代理に対してストリーミングデータを取得できるノードのアドレスをリクエストする時、該サービス代理は該サービステーブルによりサーチ後に得られたノードアドレスを該クライアントノードに伝送し、該クライアントノードに該サーチ後に得られたノードアドレスよりストリーミングデータを取得させ、
該サービステーブルはコンテンツを提供する全てのノードを記録することなく、限られた数のコンテンツノードを提供する記録のみがサービステーブルにメンテナンスされ、
該メンテナンスの方式は、サービステーブルをメンテナンスするノードによりコンテンツを提供するノードのどれがサービステーブルに記録されるかを決定するのではなく、コンテンツを提供するノードそれぞれが相互に競争する手段により自身でコンテンツを提供するほかのノードとの優先順位を照合し、優先度が高いコンテンツを提供するノードからサービステーブルに登録されることを特徴とするストリーミングサービスの装置。
【請求項２】
請求項１記載のストリーミングサービスの装置において、該サーチ後に得られたノードアドレスが接続されてＰ２Ｐネットワークを形成することを特徴とする、ストリーミングサービスの装置。
【請求項３】
請求項１記載のストリーミングサービスの装置において、各該ノードのストリーミングデータ伝送経路がマルチキャストストリーミングツリーの構造を形成し、各該ノードに対応する優先値は該マルチキャストストリーミングツリー中でのレベルを代表することを特徴とする、ストリーミングサービスの装置。
【請求項４】
請求項１記載のストリーミングサービスの装置において、該サービス代理はストリーミングデータを取得できるノードの登録要求メッセージを受け取ることを特徴とする、ストリーミングサービスの装置。
【請求項５】
請求項２記載のストリーミングサービスの装置において、あるノードがその所属するＰ２Ｐネットワークより離脱する時、この離脱ノードは登録取消の通知を該サービス代理に送信することを特徴とする、ストリーミングサービスの装置。
【請求項６】
請求項５記載のストリーミングサービスの装置において、該サービス代理は該登録取消の通知を受けた後、該サービステーブル中よりこの離脱ノードのエントリーを削除することを特徴とする、ストリーミングサービスの装置。
【請求項７】
請求項６記載のストリーミングサービスの装置において、該離脱ノードがもともとサービスを行なっていたノード中より一つのノードを選択してもともと該離脱ノードに送られていた内容を受信させることを特徴とする、ストリーミングサービスの装置。
【請求項８】
請求項７記載のストリーミングサービスの装置において、該離脱ノードがもともと接続されていたノード中の、選択されなかったその他のノードを続けてストリーミングサービスを提供できるノードの下に新たに接続し、この続けてストリーミングサービスを提供できるノードが対応する優先値は該選択されなかったその他のノードが対応する優先値以上であることを特徴とする、ストリーミングサービスの装置。
【請求項９】
請求項２記載のストリーミングサービスの装置において、ストリーミングサービスを提供できるノードがそれ以上、新たなノードのストリーミングサービスを提供しない時、このノードは登録取消の通知を該サービス代理に送信することを特徴とする、ストリーミングサービスの装置。
【請求項１０】
請求項９記載のストリーミングサービスの装置において、該サービス代理は該登録取消の通知を受けた後、該サービステーブルの、それ以上新たなノードのストリーミングサービスを提供しないノードのエントリーを削除することを特徴とする、ストリーミングサービスの装置。
【請求項１１】
ネットワーク通信環境中に応用されるストリーミングサービスの方法において、この方法は、
サービス代理を配置するステップであって、このサービス代理はサービステーブルを具え、該サービステーブルにストリーミングサービスを提供するノードの連絡アドレスと各該ノードに対応する優先値を記録するステップ、
クライアントノードがこのサービス代理に対してストリーミングデータを取得可能なノードアドレスをリクエストし、並びにリクエスト後に得られたノードアドレスよりストリーミングデータを取得するステップ、
を包含し、該サービステーブルはコンテンツを提供する全てのノードを記録することなく、限られた数のコンテンツノードを提供する記録のみがサービステーブルにメンテナンスされ、
該メンテナンスの方式は、サービステーブルをメンテナンスするノードによりコンテンツを提供するノードのどれがサービステーブルに記録されるかを決定するのではなく、コンテンツを提供するノードそれぞれが相互に競争する手段により自身でコンテンツを提供するほかのノードとの優先順位を照合し、優先度が高いコンテンツを提供するノードからサービステーブルに登録されることを特徴とするストリーミングサービスの方法。
【請求項１２】
請求項１１に記載のストリーミングサービスの方法において、この方法はさらに、該サービス代理がストリーミングサービスを提供可能なノードの登録要求メッセージ或いは登録取消の通知を受け取るステップを包含することを特徴とする、ストリーミングサービスの方法。
【請求項１３】
請求項１１に記載のストリーミングサービスの方法において、この方法はさらに、該サーチ後に得られたノードアドレスを接続してＰ２Ｐネットワークを形成するステップを包含することを特徴とする、ストリーミングサービスの方法。
【請求項１４】
請求項１２に記載のストリーミングサービスの方法において、第１のノードが該サービス代理に第１のストリーミングサービス提供の要求を提出する時、この方法はさらに、
該第１のストリーミングサービス提供の要求を受け取り、
該第１のノードに該ストリーミングサービスを提供できるノードの記録がないことを応答し、
該第１のノードがオリジナルのストリーミングサービスのサーバーよりストリーミングを受け、並びに該サービス代理中に、該第１のノードが該ストリーミングサービスを提供できるという情報を登録及び記録し、
該第１のノードをマルチキャストストリーミングツリーのルートノードとなし、
以上のステップを包含することを特徴とする、ストリーミングサービスの方法。
【請求項１５】
請求項１４に記載のストリーミングサービスの方法において、
該サービス代理が第２のノードのストリーミングサービス提供の要求を受けた時、この方法はさらに、
該サービス代理に対して、そのストリーミングサービスを提供できるノードの有無を諮問し、
該第２のノードが該第１のノードに該ストリーミングサービスの提供を要求し、並びに該マルチキャストストリーミングツリーの第２レベルを構築し、
該第２のノードが該サービス代理に登録要求メッセージを、該サービス代理が登録成功を応答するまで送信し、
該サービス代理がその記録中に、該第２のノードが該ストリーミングサービスを提供できるという情報を記録し、
以上のステップを包含することを特徴とする、ストリーミングサービスの方法。
【請求項１６】
請求項１２に記載のストリーミングサービスの方法において、ストリーミングデータを取得可能なノードの登録が失敗した後、該ストリーミングデータを取得可能なノードは該サービス代理に対する登録時間を待機時間とし、該待機時間は該ストリーミングデータを取得可能なノードに対応する優先値により決定されることを特徴とする、ストリーミングサービスの方法。
【請求項１７】
請求項１３に記載のストリーミングサービスの方法において、あるノードが所属のＰ２Ｐネットワークを離脱するか或いはそれ以上新ノードにサービスしない時、該ノードは登録取消の通知を該サービス代理に送信することを特徴とする、ストリーミングサービスの方法。
【請求項１８】
請求項１３に記載のストリーミングサービスの方法において、該サービス代理は該登録取消の通知を受け取ると、該ノードのもともとの登録を取り消すことを特徴とする、ストリーミングサービスの方法。
【請求項１９】
請求項１３に記載のストリーミングサービスの方法において、あるノードがその所属するＰ２Ｐネットワークを離脱する時、この方法はさらに、
この離脱ノードがもともとサービスしていたノード中より、一つのノードを選択してもともと該離脱ノードに伝送されていたストリーミングサービスのコンテンツを請け負わせる、
選択されたこのノードがもともと所属していたレベルを更新し並びに該離脱ノードがもともと接続されていたノードの下に接続し、
未選択のノードに対して、それを続けてストリーミングサービスを提供できるノードの下に接続し、マルチキャストストリーミングツリーを再建し、
以上のステップを包含することを特徴とする、ストリーミングサービスの方法。
【請求項２０】
請求項１９に記載のストリーミングサービスの方法において、未選択のノードがその下に接続されて続いてストリーミングサービスを提供できるノードがもともと所属していたマルチキャストストリーミングツリー中の対応する優先値は、該未選択のノードに対応する優先値以上であることを特徴とする、ストリーミングサービスの方法。
【請求項２１】
請求項１８に記載のストリーミングサービスの方法において、この方法は、該サービステーブル中よりこの登録取消のノードに対応するエントリーを削除することを特徴とする、ストリーミングサービスの方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一種のストリーミングサービスのシステムと方法に係り、特に、Ｐ２Ｐ（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ）ネットワークの通信環境で応用可能なものに関する。
【背景技術】
【０００２】
インターネット上の伝送コンテンツは単純なテキストデータ伝送から、マルチメディアデータ伝送へと変化している。近年、ストリーミングサービスは注目されているサービスの一つとなっており、ネットワーク上でクライアントに高速ストリーミング配信するための多くの技術が開発されている。
【０００３】
例えば、特許文献１において、ビデオプロキシサーバーが提出されている。このサーバーはストリーミングデータのコンテンツを保存すると共に、ユーザーのストリーミングデータのコンテンツの再生位置に対する要求の処理を受け付ける。例えば、ユーザーが要求するコンテンツがサーバーに存在しなければ、サーバーはストリーミングデータのソースにリクエストし、並びにデータをビデオサービス代理内に保存する。また、特許文献２において、ローカルプロキシストリーミングサーバーが提出されている。その内容は、複数のマルチメディアソースに平行なスケジュールモジュールが設けられて、ストリーミングデータをキャプチャし、並びに伝送速度モニタリングモジュールが設けられてその伝送速度を制御する、というものである。
【０００４】
前述の技術のサーバーはいずれもマルチメディア内容或いはストリーミングデータの内容を保存するための保存空間を必要とする。ユーザーが増加する時、サーバー及びデータソースにはスケーラビリティー（拡張性）の問題が発生する。
【０００５】
クライアント−サーバー構造中のサーバーがシステムのネックとなるのを防止するためのＰ２Ｐ技術或いはアプリケーションレベルマルチキャスト技術の研究が盛んに行なわれている。図１はアプリケーションレベルマルチキャスト技術のＰ２Ｐネットワーク構造例の表示図である。図１の例では、点（ｐｅｅｒ）１００から点１１２までの、各点は、そのストリーミングデータ伝送経路中の一つのレベル（ｌｅｖｅｌ）に位置している。
【０００６】
また、特許文献３によると、Ｐ２Ｐネットワーク中でストリーミングサービスが提供されている。ネットワーク中の各点はストリーミングメカニズムを保有、提供し、内容伝送ユニット、内容受信ユニット及び保存ユニットを包含し、それぞれストリーミング伝送、ストリーミング受信、及びエラー検出及び内容保存を行なう。こうして、時間をかけて必要なストリーミングデータを保有するノードをサーチする必要がある。もしそのノードが遠方にある場合は、そのストリーミング品質は影響を受ける。
【０００７】
Ｖ．Ｎ．Ｐａｄｍａｎａｂｈａｎ等が２００３年に提出した論文「Ｔｈｅ  Ｃａｓｅｆｏｒ  Ｃｏｏｐｅｒａｔｉｖｅ  Ｎｅｔｗｏｒｋｉｎｇ」において、フラッシュクラウド問題（Ｆｌａｓｈ  Ｃｒｏｗｄ  Ｐｒｏｂｌｅｍ）を解決するための低コストで有効な方法を提供している。この解決方法は、集中管理サーバーメカニズムを採用し、サーバーがオーバーロード時に、クライアントにダウンロードした内容を他のクライアントに提供させ、エンドホスト（Ｅｎｄ−ｈｏｓｔｓ）利用の協力（Ｃｏｏｐｅｒａｔｅ）によりサーバーの負担を分散させて、サーバー−クライアント構造の不足を補償し、これによりネットワーク通信の性能を改善する。この技術を使用すると、初期遅延（Ｉｎｉｔｉａｌ  Ｄｅｌａｙ）は三つのトランザクションプロセスを必要とする。
【０００８】
また、Ｐａｕｌ  Ｆｒａｎｃｉｓ等による論文「ＹＯＩＤ：Ｙｏｕｒ  Ｏｗｎ  Ｉｎｔｅｒｎｅｔ  Ｄｉｓｔｒｉｂｕｔｉｏｎ」において、Ｙｏｉｄアプリケーションレベルマルチキャストシステムの構造が記載され、インターツリーノード（Ｉｎｔｅｒ−Ｔｒｅｅ−Ｎｏｄｅ）のコーディネーション（Ｃｏｏｒｄｉｎａｔｉｏｎ）を最小化している。見つかったロス（Ｌｏｓｓ）と遅延性能（Ｌａｔｅｎｃｙ  Ｐｅｒｆｏｒｍａｎｃｅ）に基づき、ツリーを急速に修復し並びにこのツリーの機能を続けて改善する。この技術はユーザー登録テーブルのホスト（Ｒｅｎｄｅｚｖｏｕｓ  Ｈｏｓｔ）を採用してアプリケーションレベル全体のオーバーレイツリー（Ｏｖｅｒｌａｙ  Ｔｒｅｅ）を配置と維持する。この技術を利用すると、初期遅延（Ｉｎｉｔｉａｌ  Ｄｅｌａｙ）は少なくともは三つのトランザクションプロセスを必要とする。
【０００９】
【特許文献１】米国特許第６，４８４，２１２号
【特許文献２】米国特許公開第２００６／０，１８４，６８８号
【特許文献３】米国特許公開第２００７／０，１２７，４８１号
【発明の開示】
【発明が解決しようとする課題】
【００１０】
このため、いかにＰ２Ｐ技術を利用し、ストリーミングデータをクライアントに高速伝送するかは検討に値する課題である。
【課題を解決するための手段】
【００１１】
本発明に記載の実施例は一種のストリーミングサービスのシステムと方法を提供する。このストリーミングサービスの技術はネットワーク上でサービス代理によりクライアントが必要とするストリーミングサービスを提供可能なノードの情報を提供し、クライアントに近くのノードよりストリーミングデータをキャプチャさせる。
【００１２】
ある実施例では、ストリーミングサービスの装置を提供し、それはネットワークの通信環境中で応用され、この装置は、サービス代理であって、サービステーブルを具え、該サービステーブルにストリーミングサービスを提供するノードの連絡アドレスと、各該ノードの、その位置するストリーミングデータ伝送経路中の対応する優先値が記録された、上記サービス代理を包含し、クライアントノードがこのサービス代理に対してストリーミングデータ取得可能なノードアドレスをリクエストする時、このサービス代理はサービステーブルよりサーチ後に得られたノードアドレスをクライアントノードに伝送し、クライアントノードにこのサーチ後に得られたノードアドレスよりストリームミングデータを取得させ、並びにこのサーチ後に得られたノードアドレスを接続してＰ２Ｐネットワークを形成する。
【００１３】
また、本発明の別の実施例では、ストリーミングサービスの方法を提供する。この方法は、サービス代理を配置し、このサービス代理はサービステーブルを具え、該サービステーブルにストリーミングサービスを提供するノードの連絡アドレスと各アドレスが位置するストリーミングデータ伝送経路に対応する優先値を記録するステップ、及び、クライアントノードがこのサービス代理に対してストリーミングデータを取得可能なノードアドレスをリクエストし、並びにリクエスト後に得られたノードアドレスよりストリーミングデータを取得するステップ、を包含する。
【００１４】
本発明の実施例において、サービス代理を通してストリーミングサービスを提供可能なノードの登録、或いはノード取り消しを受け付けることができる。あるノードの登録が取り消される状況とは、このノードがネットワークから離脱するか或いはそのストリーミングサービスを提供できるノード数がリミットに達した時である。このノードの記録情報もサービステーブル中より削除される。
【発明の効果】
【００１５】
ここに記載の実施例中、ストリーミングサービスの技術が提供される。このストリーミングサービスの技術はＰ２Ｐネットワーク上でサービス代理によりクライアントにその必要とするストリーミングコンテンツを提供できるノードアドレスを提供し、クライアントがストリーミングコンテンツのソースよりストリーミングコンテンツをキャプチャしなくてもよいものとし、サービス代理もストリーミングコンテンツを保存しなくてもよいものとする。このサービス代理はサービステーブルを具え、このサービステーブルに一つ或いは複数の、ストリーミングサービス提供可能なノードの連絡アドレスと、そのうちの各ノードがその位置するストリーミングデータ伝送の経路中において対応する優先値が記録されている。例えば、あるチャンネルＩＤで、このチャンネル上のストリーミングサービスを提供できるノードの連絡アドレスとその対応する優先値が記録される。ストリーミングサービスを提供できるノードの数は予め最大数に設定可能である。
【００１６】
こうして、サービス代理はストリーミングサービス配信要求するノードに対して高速応答すると共に、ネットワーク中に構築されるアプリケーションレベルマルチキャストツリーの深さを減らして、ストリーミングコンテンツを高速取得させ並びにデータ流量を分散させる効果を達成する。
【発明を実施するための最良の形態】
【００１７】
図２は実施例の表示図であり、ストリーミングサービスの装置を説明し、並びに本発明のある実施例に一致する。このストリーミングサービスのシステムはネットワーク通信環境中に応用可能で、クライアントの必要とするストリーミングコンテンツのノードアドレスを提供する。図２の実施例中、ストリーミングサービスの装置は、サービス代理２１０を包含し、該サービス代理２１０はサービステーブル２１０ａを具備する。図３はサービステーブル２１０ａコンテンツの実施例図である。
【００１８】
図２と図３の実施例を併せて参照されたい。ネットワーク通信環境中のあるクライアントノード２２０がこのサービス代理２１０に対してストリーミングデータを取得できるノードアドレスをリクエストする時、このサービス代理２１０はこのサービステーブル２１０ａによりサーチ後に得られたノードアドレスをクライアントノード２２０に伝送し、クライアントノード２２０にこのサーチ後に得られたノードアドレスよりストリーミングデータを取得させ、並びにこれらのサーチ後に得られたノードアドレスを接続しＰ２Ｐネットワークを形成する。このサービステーブル２１０ａは少なくとも一つの、ストリーミングサービスを提供できるノードの連絡アドレスと、そのうちの各ノードの、その位置するストリーミングデータ伝送の経路中において対応する優先値を記録する。以下に第３の実施例のサービステーブル２１０ａのコンテンツを以て説明する。
【００１９】
図３のサービステーブル２１０ａ中には、現在、二つのチャンネル（例えば第１チャンネルと第２チャンネル）中のストリーミングサービスを提供可能なノードの連絡アドレスとそのうち各ノードの、その位置するストリーミングデータ伝送経路中の対応する優先値が記録されている。第１チャンネル中には、四つのノード２５１−２５４があり、それぞれ第１ストリーミングサーバー２３１のストリーミングデータを提供可能である。第２チャンネルには三つのノード２６１−２６３があり、それぞれ第２ストリーミングサーバー２３２のストリーミングデータを提供できる。このサービステーブル２１０ａのコンテンツの実施例では、第１チャンネルＩＤ、ノード２５１−２５４中の各ノードの連絡アドレスと、そのストリーミングデータ伝送経路中の対応する優先値と、第２チャンネルＩＤ、ノード２６１−２６３中の各ノードの連絡アドレスと、そのストリーミングデータ伝送経路中の対応する優先値とが記録されている。
【００２０】
例えば、第１チャンネルのノード２５１−２５４の連絡アドレスが、それぞれ１４０．１１６．１７７．１、１４０．１１６．１７７．２、１４０．１１６．１７７．３、１４０．１１６．１７７．４とされ、ノード２５１−２５４はＰ２Ｐネットワーク２４１を形成し、ノード２５１−２５４の対応する優先値は、それぞれ、１、０．９、０．９、０．８とされる。第２チャンネルのノード２６１−２６３の連絡アドレスはそれぞれ１８８．１６６．１２２．１、１８８．１６６．１２２．２、１８８．１６６．１２２．３であり、ノード２６１−２６３が対応する優先値は１、０．９、０．９である。これらの連絡アドレスと対応する優先値はサービステーブル２１０ａ内に記録され、それは図３のようである。
【００２１】
上述したように、クライアントノード２２０がサービス代理２１０に対して第１ストリーミングサーバー２３１のストリーミングデータを取得できるノードアドレスをリクエストする時、サービス代理２１０はサービステーブル２１０ａよりそのクライアントノード２２０に速やかに応答する。
【００２２】
こうして、クライアントノード２２０はノード（例えば近隣ノード２５１）よりストリーミングデータをキャプチャでき、ストリーミングコンテンツのソース（例えば第１ストリーミングサーバー２３１）よりストリーミングコンテンツをキャプチャする必要はない。ゆえに、高速ストリーミングが可能で並びに配信品質を改善でき並びにネットワーク流量を減らせる。
【００２３】
仮にこのネットワーク伝送システムがＰ２Ｐネットワークの通信環境中に応用された場合、このネットワーク通信環境中にはオリジナルストリーミングサービスを提供するストリーミングサーバーがある。以下に、サービステーブル２１０ａの初期構築と動態更新、及びサービス代理２１０と通信環境中の各部分素子のインタラクティブ動作について説明する。
【００２４】
図４と図５の実施例はそれぞれサービス代理が第１のストリーミングサービス提供要求を受けた時の、通信環境中の各部分素子のインタラクティブ動作、及び、このストリーミングサービスに対して初期構築されるサービステーブルを示し、並びに本発明のある実施例と一致する。
【００２５】
図４を参照されたい。ノード３０１がサービス代理２１０に対してこのストリーミングサービス提供の要求を、符号３２１のように提出し、並びにネットワーク上にこのストリーミングサービスを受信開始したノードが未だないとき、符号３２２に示されるように、サービス代理２１０はノード３０１に、このストリーミングサービスを受信可能なノードが記録されていないと応答する。ノード３０１はこのとき、オリジナルストリーミングサービスを提供するサーバー３３０（仮にチャンネル上のＵＲＬが、Ｎｅｗｓ＠ｅｅ．ｎｃｋｕ．ｅｄｕ．ｔｗであるとする）よりストリーミングを受信し、これは符号３２３のようである。並びにサービス代理２１０中に登録し、ノード３０１がこのストリーミングサービスの情報を提供できることを記録する。サービス代理２１０は並びにノード３０１をマルチキャストストリーミングツリーのルートノードとなす。
【００２６】
図５はサービス代理２１０のサービステーブル２１０ａの記録の実施例を示す。そのうち、Ｎｅｗｓ＠ｅｅ．ｎｃｋｕ．ｅｄｕ．ｔｗはオリジナルストリーミングのあるチャンネル上のＵＲＬであり、１４０．ｌ６６．１８８．１はこのストリーミングサービスを提供可能なノード３０１の連絡アドレスであり、その優先値はｑとされる。優先値ｑはノードのマルチキャストストリーミングツリー中のレベルに対応する。所在のレベルが高くなるほど、その対応するｑ値は高くなる。ノード３０１はマルチキャストストリーミングツリーのルートノードであり、そのｑ値は１とされ、最高レベルを代表する。
【００２７】
上述の図４と図５を受けて、図６と図７はさらに、サービス代理が別のストリーミングサービス提供要求を受けた時の、通信環境中の各部分素子のインタラクティブ動作を示す図、及び、そのストリーミングサービスに対応し構築されるサービステーブルを説明し、並びに本発明のある実施例に一致する。
【００２８】
図６を参照されたい。ノード４０２がネットワークに加入しようとし、並びにサービス代理２１０に対してこのストリーミングサービスを提供できるノードの有無を諮問するとき、ルートノード３０１が同一ストリーミングサービスを提供できることが分かった。これによりノード４０２はルートノード３０１に対してこのストリーミングサービスを受け付けることを要求し、並びにマルチキャストストリーミングツリーの第２レベルを構築する。ノード４０２はサービス代理２１０に対して登録要求メッセージを送信し、これは符号４２１に示すとおりであり、それをサービス代理２１０が符号４２２のように登録成功を応答するまで続ける。またサービス代理２１０中にノード４０２がこのストリーミングサービスを提供できるという情報が記録される。図７はサービス代理２１０中のサービステーブル２１０ａの一つの実施例を示す。そのうち、１４０．１６６．１８８．２はこのストリーミングサービスを提供できるノード４０２の連絡アドレスであり、その優先値は０．９で、マルチキャストストリーミングツリーの第２レベルにあることを代表する。ノード４０２はオリジナルストリーミングサービスのサーバー３３０よりこのストリーミングサービスを受ける必要はなく、近隣のルートノードよりストリーミングデータをキャプチャできる。
【００２９】
上述の図６と図７を受けて、図８と図９はさらに、サービス代理が別のストリーミングサービス提供要求を受けた時の、通信環境中の各部分素子のインタラクティブ動作を示す図、及び、そのストリーミングサービスに対応し構築されるサービステーブルを説明し、並びに本発明のある実施例に一致する。
【００３０】
図８を参照されたい。ノード５０３がネットワークに加入しようとし、並びにサービス代理２１０に対してこのストリーミングサービスを提供できるノードの有無を諮問するとき、前述の図６と図７に記述したのと同様に、ノード５０３はマルチキャストストリーミングツリーの第２レベル中に加入し、並びにサービス代理２１０に対して登録要求メッセージを送信し、それをサービス代理２１０が登録成功を応答するまで続ける。こうして、ノード５０３の連絡アドレス（例えば１４０．１６６．１８８．３）とその優先値０．９がサービステーブル２１０ａ中に記録され、これは図９のサービステーブル２１０ａの実施例に示されるようである。
【００３１】
仮に、サービス代理がさらにストリーミングサービス提供の要求を受けたときに、サービステーブル２１０ａ中に新たにノード登録できるエントリー空間がないときの状況は図１０の実施例に示されるようである。図１０に示されるように、ノード６０４がネットワークに加入し、並びにサービス代理２１０に対してこのストリーミングサービスを提供できるノードの有無を諮問した時、前述の図６と図７と同様に、ノード６０４はマルチキャストストリーミングツリーの第２レベルに加わる。
【００３２】
その後、ノード６０４がサービス代理２１０に対して登録要求メッセージを、符号６２１のように送信する。このとき、サービステーブル２１０ａ中の、ＵＲＬがＮｅｗｓ＠ｅｅ．ｎｃｋｕ．ｅｄｕ．ｔｗのチャンネル上の、そのストリーミングサービスを提供できるノードの数が最多で３の時、すなわち、Ｎｅｗｓ＠ｅｅ．ｎｃｋｕ．ｅｄｕ．ｔｗのチャンネルのサービステーブル２１０ａ中でのエントリー数が最大で３の時、サービス代理２１０はノード６０４に対して、符号６２３のように登録拒絶を応答する。
【００３３】
もし、サービステーブル２１０ａ中にエントリー空間がなければ、その優先値０．９に基づき、ある待機時間を算出し、この待機時間で周期的にサービス代理２１０に対して登録要求情報を、サービス代理２１０が登録成功を応答するまで送信する。本記載中、この待機時間はノードのマルチキャストストリーミングツリー中のレベルが対応する優先値により決定される。優先値が大きいほど、算出される待機時間は短くなり、待機時間が短いほどサービス代理への登録成功の確率が高くなる。
【００３４】
図１１に示されるように、もしルートノード３０１がサービス代理２１０にストリーミングサービス提供可能なノード数がすでにリミット、例えばある所定数に達したことを通知し、新ノードのストリーミングサービスをそれ以上提供できない時、ルートノード３０１は登録取消のメッセージをサービス代理２１０に送信し、サービス代理２１０は登録取消のメッセージを受け取ると、ルートノード３０１の登録を取り消し、これはステップ７０４のようである。並びに、サービステーブル２１０ａ中よりノード３０１の情報を削除してエントリー空間を設け、これは図１２のサービステーブルの実施例に示されるとおりである。
【００３５】
サービステーブル２１０ａ中に空のエントリー空間ができた時、ノード６０４は待機時間終了毎にサービス代理２１０に対して登録要求メッセージを、サービス代理２１０が登録成功を応答するまで送信し続ける。これによりサービス代理２１０は図１２のサービステーブルを更新し、ノード６０４の連絡アドレス（例えば１４０．１６６．１８８．４）とその優先値０．９を図１２のサービステーブル中に記録する。更新後のサービステーブルは図１３のようである。図１３から分かるように、更新後のサービステーブルは三つのノード４０２、５０３、及び６０４と、その連絡アドレス及び対応する優先値を包含する。
【００３６】
以下に、ノードがネットワークを離脱する時、本発明のストリーミングサービスのシステムがいかにこの離脱ノードがもともとサービスしていたノードを処理するかを説明する。
【００３７】
図１４の例中、アプリケーションレベルマルチキャストストリーミングツリー８００のＰ２Ｐネットワーク構造中に、少なくともノード８０１から８１１があり、そのうち、ノード８０２がこのネットワークより離脱し、並びにそのもともとサービスしていたノードがノード８０４と８０５であったとする。本発明によると、ノード８０２がもともとサービスしていたノード中より一つのノード（例えばノード８０４）を選択して離脱ノード８０２にもともと伝送されていたコンテンツを請け負わせる。
【００３８】
仮に選択されなかったその他のノード、例えばノード８０５の優先値が０．８であり、Ｎｅｗｓ＠ｅｅ．ｎｃｋｕ．ｅｄｕ．ｔｗチャンネルのサービステーブル２１０ａ中のエントリー数が最大で３であるとする。ノード８０５はサービス代理２１０に対して続いてストリーミングサービスを提供できるノード（ノード８０６と８０７）の連絡アドレスと対応する優先値をリクエストする。そのうち、ノード８０６と８０７がもともと所属していたマルチキャストストリーミングツリー中の対応する優先値（この例では０．８）はノード８０５の優先値０．８以上であり、回路を発生してストリーミングサービスが行なえなく事態を防止する。言い換えると、ノード８０５はノード８０６或いはノード８０７に接続可能で、新たなマルチキャストストリーミングツリーを再建できる。
【００３９】
ゆえに、選択されなかったその他のノードは続けてストリーミングサービスを提供できるノードに接続可能であるが、これらの、続けてストリーミングサービスを提供できるノードは、そのもともと所属しているマルチキャストストリーミングツリー中の対応する優先値が、該選択されなかったその他のノードの対応する優先値以上である。
仮に、該選択されなかったその他のノードよりも、もともと所属しているマルチキャストストリーミングツリー中の対応する優先値が等しいかそれ以上であるノードがない場合、離脱ノード以下のノードは全て離散させられて新たに接続可能なノードを探し、新たにマルチキャストストリーミングツリーを再建する。
【００４０】
図１５は離脱ノード８０２の登録取消の後のマルチキャストストリーミングツリーの再建の例を示し、並びに本発明のある実施例と一致する。図１５に示されるように、ノード８０５がノード８０６に接続してマルチキャストストリーミングツリーを再建しようとする時、ノード８０６はまずサービス代理２１０に対して登録取消のメッセージを送信し、サービス代理２１０は登録取消のメッセージを受け取ると、ノード８０５のもとの登録を取り消し、その後、ノード８０５をノード８０６の下に接続し、マルチキャストストリーミングツリーを再建する。
【００４１】
選択されたノード８０４に対しては、そのもともと所属するレベルも更新され得て、その後、選択されたノード８０４が更に離脱ノード８０２がもともと接続されていたルートノード８０１の下に接続される。
【００４２】
上述の各実施例の説明に基づき、ここで図１６の例によりストリーミングサービスの方法の動作フローについて説明し、並びにそれは本発明のある実施例と一致する。図１６に示されるように、ステップ９１０において、サービス代理を配置し、このサービス代理はストリーミングサービスを提供できる少なくとも一つのノードの連絡アドレスとそのうち各ノードの、そのストリーミングデータ伝送経路中の対応する優先値を記録するサービステーブルを具備している。クライアントノードはこのサービス代理に対してストリーミングデータを取得できるノードのアドレスをリクエストし、並びにリクエスト後に得られたノードアドレスよりストリーミングデータを取得し、これはステップ９２０のとおりである。
【００４３】
ゆえに、このストリーミングサービスの方法は、このサービス代理を通して、ストリーミングサービスを提供できるノードの登録、ネットワークを離脱するノードの登録の取消を受け付ける。並びに前述したように、ノード登録失敗後には、ストリーミングサービス提供可能なノードの、サービス代理への登録時間を待機時間となし、この待機時間はこのノードの対応する優先値により計算する。ノードの登録取消の時、サービステーブル中のこの登録取消のノードに対応するフィールドも削除される。
【００４４】
あるノードがネットワークを離脱する時、図１７のフローチャートはストリーミングサービスの方法のさらなる処理フローを示し、並びに本発明のある実施例と一致する。図１７に示されるように、ステップ１０１０において、離脱ノードがもともとサービスしていたノードより、一つのノードを選びストリーミングサービスのコンテンツを請け負わせる。ステップ１０２０において、選択されたノードに対して、そのもともと所属していたレベルを更新し、並びに離脱ノードがもともと接続されていたノードの下に接続する。ステップ１０３０において、未選択のノードに対して、それをストリーミングサービスを続けて提供できるノードの下に接続し、マルチキャストストリーミングツリーを再建する。当然、これらの続けてストリーミングサービスを提供できるノードの、もともと所属していたマルチキャストストリーミングツリー中の対応する優先値は未選択のノードが対応する優先値以上である。
【００４５】
本発明の上述の実施例をセッションイニシャルプロトコル（ＳＩＰ）ネットワーク上のサブマルチキャストツリーにシミュレートし、このシミュレート環境は、４次の登録、４−１０の均等分配、１２００個のエンドホストのこのサブマルチキャストツリーへの加入、とする。シミュレート結果は、本発明の技術の開始遅延が３個の処理時間を必要とし、並びにゼロスタビリゼーションオーバーヘッドのバランスツリーを構築可能であり、１２００個のノードからなるこのサブマルチキャストツリーの深さは４とされることが示される。注意すべきことは、本発明の技術は集中したサーバーメカニズムを必要とせず、Ｐ２Ｐトポロジーメンテナンスを進行できる、ということである。
【００４６】
以上の説明は、本発明の実施例にすぎず、本発明の実施の範囲を限定するものではなく、本発明の特許請求の範囲の記載に基づきなしうる変更と修飾はいずれも本発明の請求範囲に属するものとする。
【図面の簡単な説明】
【００４７】
【図１】アプリケーションレベルマルチキャスト技術のＰ２Ｐネットワーク構造例の表示図である。
【図２】ある実施例の表示図であり、ストリーミングサービスの装置を説明し、並びに本発明のある実施例に一致する。
【図３】サービステーブルコンテンツの実施例図であり、並びに本発明のある実施例に一致する。
【図４】サービス代理が第１のストリーミングサービス提供要求を受けた時の、通信環境中の各部分素子のインタラクティブ動作を説明する図であり、並びに本発明のある実施例に一致する。
【図５】ストリーミングサービスに対し初期構築されるサービステーブルを示し、並びに本発明のある実施例と一致する。
【図６】サービス代理が別のストリーミングサービス提供要求を受けた時の、通信環境中の各部分素子のインタラクティブ動作を示す図であり、並びに本発明のある実施例に一致する。
【図７】図６のストリーミングサービスに対して構築されるサービス代理中のサービステーブルの一つの実施例図であり、並びに本発明のある実施例に一致する。
【図８】サービス代理がストリーミングサービス提供要求を受けた時の、通信環境中の各部分素子のインタラクティブ動作を示す図であり、並びに本発明のある実施例に一致する。
【図９】図８のストリーミングサービスに対して構築されるサービス代理中のサービステーブルの一つの実施例図であり、並びに本発明のある実施例に一致する。
【図１０】サービステーブル中に新たなノードを登録できる空のエントリー空間がない状況の説明図である。
【図１１】あるノードがストリーミングサービスを提供できるノード数がすでにリミットに達した時、登録取消される状況を示す図であり、並びに本発明のある実施例に一致する。
【図１２】サービステーブル中からのノード情報の登録取消を説明する図であり、並びに本発明のある実施例に一致する。
【図１３】図１２の更新後のサービステーブルを示し、並びに本発明のある実施例に一致する。
【図１４】ある例の表示図であり、アプリケーションマルチキャストストリーミングツリーのＰ２Ｐネットワーク構造中において、あるノードがネットワークを離脱する状況を示す。
【図１５】離脱ノードの登録取消の後のマルチキャストストリーミングツリーの再建の例を示し、並びに本発明のある実施例と一致する。
【図１６】ある例の表示図であり、ストリーミングサービスの方法の動作フローを示し、並びに本発明のある実施例と一致する。
【図１７】ある例の表示図であり、あるノードがネットワークを離脱する時、ストリーミングサービスの方法の更なる処理フローを説明し、並びに本発明のある実施例と一致する。
【符号の説明】
【００４８】
１００−１１２  ノード
２１０  サービス代理        ２１０ａ  サービステーブル
２２０  クライアントノード  ２３１  第１ストリーミングサーバー
２３２  第２ストリーミングサーバー    ２４１、２４２  Ｐ２Ｐネットワーク
２５１−２５４  ノード
２６１−２６３  ノード
３００  Ｐ２Ｐネットワークの通信環境        ３０１  ノード
３２１  このストリーミングサービス提供の要求提出
３２２  このストリーミングサービスを受け取れるノードの記録がないことを応答
３２３  ストリーミング受信
４０２  ノード                      ４２１  登録要求メッセージ送信
４２２  登録成功応答
５０３  ノード                      ５２１  登録要求メッセージ送信
５２２  登録成功応答
６０４  ノード                      ６２１  登録要求メッセージ送信
６２３  登録拒絶応答
７０４  登録取消
８００  アプリケーションレベルマルチキャストストリーミングツリー
８０１−８１１  ノード
９１０  サービス代理を配置し、このサービス代理はストリーミングサービスを提供できる少なくとも一つのノードの連絡アドレスとそのうち各ノードの、そのストリーミングデータ伝送経路中の対応する優先値を記録するサービステーブルを具備する
９２０  クライアントノードはこのサービス代理に対してストリーミングデータを取得できるノードのアドレスをリクエストし、並びにリクエスト後に得られたノードアドレスよりストリーミングデータを取得する
１０１０  離脱ノードがもともとサービスしていたノードより、一つのノードを選びストリーミングサービスのコンテンツを請け負わせる
１０２０  選択されたノードに対して、そのもともと所属していたレベルを更新し、並びに離脱ノードがもともと接続されていたノードの下に接続する
１０３０  未選択のノードに対して、それをストリーミングサービスを続けて提供できるノードの下に接続し、マルチキャストストリーミングツリーを再建する
【図１】
0005001880.tif 000002
【図２】
0005001880.tif 000003
【図３】
0005001880.tif 000004
【図４】
0005001880.tif 000005
【図５】
0005001880.tif 000006
【図６】
0005001880.tif 000007
【図７】
0005001880.tif 000008
【図８】
0005001880.tif 000009
【図９】
0005001880.tif 000010
【図１０】
0005001880.tif 000011
【図１１】
0005001880.tif 000012
【図１２】
0005001880.tif 000013
【図１３】
0005001880.tif 000014
【図１４】
0005001880.tif 000015
【図１５】
0005001880.tif 000016
【図１６】
0005001880.tif 000017
【図１７】
0005001880.tif 000018