(57)【特許請求の範囲】
【請求項１】
所定のタイムスロットＴＳを単位として複数のストリームデータセグメントに分割された複数のストリームデータ番組を提供するストリーミングサーバーと、
ネットワークを介して、前記ストリーミングサーバーに対して特定のストリームデータ番組を要求する複数のユーザーターミナルとで構成されたストリ−ムデータのネットワーク伝送システムにおいて、
前記ストリーミングサーバーは、
前記ユーザーターミナルからストリームデータ番組の提供の要求があると、前記ストリームデータ番組の伝送を開始しているか否かを判定し、前記ストリームデータ番組の伝送を開始していないと判定した場合、前記ストリームデータ番組の伝送の開始時間をＴini と特定し、前記ユーザーターミナルを第１協調共有グループのリーダーノードとして選択し、前記ネットワークを通して前記第１の協調共有グループのリーダーノードに対して前記ストリームデータ番組の伝送を開始すると共に、前記タイムスロットＴＳ  に対応して複数のストリームデータセグメントを順次一つずつ伝送し、
前記ストリームデータ番組の伝送を開始した後、各タイムスロットＴＳの期間中において、新たに前記ユーザーターミナルからストリームデータ番組の提供の要求があると、新たに加わるユーザーターミナルの加入の時間を時間Ｔとして、前記新たに加わるユーザーターミナルを、［］はガウス整数記号を表す式として、第［（Ｔ−Ｔini ）／ＴＳ］＋１の協調共有グループに分配すると共に、
各タイムスロットＴＳの期間中において最初に加わるユーザーターミナルであるか否かを判定し、最初に加わるユーザーターミナルである場合には、前記第［（Ｔ−Ｔini ）／ＴＳ］＋１の協調共有グループのリーダーノードとして選択する一方、
最初に加わるユーザーターミナルでない場合には、前記第［（Ｔ−Ｔini ）／ＴＳ］＋１協調共有グループのリーダーノードによってマルチキャストされるユーザーターミナルに設定し、
前記該ストリーミングサーバーにより第１番目から第ｎ番目（ｎは自然数）まで順序づけられた一連の協調共有グループのリーダーノードは、ピアツーピアに接続され、
前記ストリーミングサーバーが前記複数のストリームデータセグメントを一つずつ該ネットワークを通して第１の協調共有グループのリーダノードに伝送すると、
前記各該協調共有グループのリーダーノードは、今受信しているストリームデータセグメントを同じ協調共有グループのユーザーターミナルにマルチキャストし、所定のタイムスロットの後、受信したストリームセグメントを次の協調共有グループのリーダーノードに中継することを特徴とする、
ストリームデータのネットワーク伝送システム。
【請求項２】
請求項１記載のストリームデータのネットワーク伝送システムにおいて、ユーザーターミナルが行なう操作は、該システムへの加入、放送進度変更、及び該システムからの離脱のいずれかとされることを特徴とする、ストリームデータのネットワーク伝送システム。
【請求項３】
請求項１記載のストリームデータのネットワーク伝送システムにおいて、ストリーミングサーバーは各協調共有グループのリーダーノードのネットワークアドレスを記録するためのメモリ空間を具備することを特徴とする、ストリームデータのネットワーク伝送システム。
【請求項４】
請求項１記載のストリームデータのネットワーク伝送システムにおいて、ストリーミングサーバーがストリームデータセグメントを伝送する速度はビデオ放送の速度以上であることを特徴とする、ストリームデータのネットワーク伝送システム。
【請求項５】
請求項１記載のストリームデータのネットワーク伝送システムにおいて、ストリーミングサーバーは複数の番組のオリジナルストリームデータを保存するバッファエリアを具備することを特徴とする、ストリームデータのネットワーク伝送システム。
【請求項６】
請求項１記載のストリームデータのネットワーク伝送システムにおいて、各該協調共有グループのリーダーノードは二つのタイムスロットのストリームデータセグメントを保存できるバッファエリアを具備し、非リーダーノードのユーザーターミナルは一つの所定の該タイムスロットのストリームデータセグメントを保存できるバッファエリアを具備することを特徴とする、ストリームデータのネットワーク伝送システム。
【請求項７】
請求項１記載のストリームデータのネットワーク伝送システムにおいて、各ストリーミングサーバーは該所定のタイムスロットを単位とし、第１から第ｎ協調共有グループを順次特定することを特徴とする、ストリームデータのネットワーク伝送システム。
【請求項８】
請求項２記載のストリームデータのネットワーク伝送システムにおいて、あるユーザーターミナルがシステム加入の操作を行う時、該ストリーミングサーバーは、この新規加入のユーザーターミナルを振り分ける該協調共有グループのリーダーノードのネットワークアドレスを、該新規加入のユーザーターミナルに応答することを特徴とする、ストリームデータのネットワーク伝送システム。
【請求項９】
請求項２記載のストリームデータのネットワーク伝送システムにおいて、あるユーザーターミナルが放送進度変更の操作を行なう時、該ストリーミングサーバーはこのユーザーターミナルの放送進度変更の要求を受信し、並びにその他の協調共有グループに諮問しこのユーザーターミナルに応答することを特徴とする、ストリームデータのネットワーク伝送システム。
【請求項１０】
請求項２記載のストリームデータのネットワーク伝送システムにおいて、あるユーザーターミナルがシステム離脱の操作を行なう時、このユーザーターミナルが協調共有グループのリーダーノードであれば、該ストリーミングサーバーはその協調共有グループ内のその他のユーザーターミナルより一つの新たなリーダーノードを選出することを特徴とする、ストリームデータのネットワーク伝送システム。
【請求項１１】
請求項２記載のストリームデータのネットワーク伝送システムにおいて、あるユーザーターミナルがシステム加入、或いは放送進度変更、或いはシステム離脱し新たにシステム加入の操作を行なう時、このユーザーターミナルが空の協調共有グループに加入する場合は、該ストリーミングサーバーは直接このユーザーターミナルにサービスし、並びにこのユーザーターミナルを新たな協調共有グループのリーダーノードとなすことを特徴とする、ストリームデータのネットワーク伝送システム。
【請求項１２】
所定のタイムスロットＴＳを単位として複数のストリームデータセグメントに分割された複数のストリームデータ番組を提供するストリーミングサーバーと、ネットワークを介して、前記ストリーミングサーバーに対して特定のストリームデータ番組を要求する複数のユーザーターミナルとにより行われるストリ−ムデータのネットワーク伝送方法において、
前記ユーザーターミナルが前記ストリーミングサーバーに対してストリームデータ番組の提供の要求するステップと、
前記ストリーミングサーバーが、前記ユーザーターミナルからストリームデータ番組の提供の要求があると、前記ストリームデータ番組の伝送を開始しているか否かを判定するステップと、
前記ストリーミングサーバーが、前記ストリームデータ番組の伝送を開始していないと判定した場合、前記ストリームデータ番組の伝送の開始時間をＴini と特定し、前記ユーザーターミナルを第１協調共有グループのリーダーノードとして選択し、前記ネットワークを通して前記第１の協調共有グループのリーダーノードに対して前記ストリームデータ番組の伝送を開始し、前記タイムスロットに対応して複数のストリームデータセグメントを順次一つずつ伝送するステップと、
前記ストリーミングサーバーが、前記ストリームデータ番組の伝送を開始した後、各タイムスロットＴＳの期間中において、新たに前記ユーザーターミナルからストリームデータ番組の提供の要求があると、新たに加わるユーザーターミナルの加入の時間を時間Ｔとして、前記新たに加わるユーザーターミナルを、［］はガウス整数記号を表す式として、第［（Ｔ−Ｔini ）／ＴＳ］＋１の協調共有グループに分配すると共に、各タイムスロットＴＳの期間中において最初に加わるユーザーターミナルであるか否かを判定するステップと、
前記ストリーミングサーバーが、最初に加わるユーザーターミナルであると判定した場合に、前記第［（Ｔ−Ｔini ）／ＴＳ］＋１の協調共有グループのリーダーノードとして選択するステップと、
前記ストリーミングサーバーが、最初に加わるユーザーターミナルでないと判定した場合に、前記第［（Ｔ−Ｔini ）／ＴＳ］＋１協調共有グループのリーダーノードによってマルチキャストされるユーザーターミナルに設定するステップと、
前記ストリーミングサーバーが、前記該ストリーミングサーバーにより第１番目から第ｎ番目（ｎは自然数）まで順序づけられた一連の協調共有グループのリーダーノードを、ピアツーピアに接続するステップと、
前記ストリーミングサーバーが前記複数のストリームデータセグメントを一つずつ該ネットワークを通して第１の協調共有グループのリーダノードに伝送すると、
前記各該協調共有グループのリーダーノードが、今受信しているストリームデータセグメントを同じ協調共有グループのユーザーターミナルにマルチキャストするステップと、
前記各該協調共有グループのリーダーノードが、所定のタイムスロットの後、受信したストリームセグメントを次の協調共有グループのリーダーノードに中継するステップと、
を含む、
ことを特徴とするストリームデータのネットワーク伝送方法。
【請求項１３】
請求項１２記載のストリームデータのネットワーク伝送方法において、ユーザーターミナルの加入、ユーザーターミナルの放送進度変更、及びユーザーターミナルのネットワーク伝送システム離脱のステップ、及びこれらのステップの任意の組合せのステップをさらに包含することを特徴とする、ストリームデータのネットワーク伝送方法。
【請求項１４】
請求項１３記載のストリームデータのネットワーク伝送方法において、ユーザーターミナルの変更再生操作にはさらに、該ユーザーターミナルがストリーミングサーバーを通して問い合わせメッセージにより、再生したいデータストリームセグメントの時間Ｔnew をストリーミングサーバーに伝送し、
該ストリーミングサーバーは時間Ｔnew の属するデータストリームセグメントがどの協調共有グループで再生されているかを計算し、この再生している協調共有グループのリーダーノードのネットワークアドレスを該ユーザーターミナルに提供し、
該ユーザーターミナルがもともと属していた協調共有グループのペアレントノードに対してその他の協調共有グループへの切り換えを通知する、該ユーザーターミナルがその他の協調共有グループのリーダーノードに対して加入メッセージをマルチキャストし伝送する、を包含することを特徴とする、ストリームデータのネットワーク伝送方法。
【請求項１５】
請求項１４記載のストリームデータのネットワーク伝送方法において、該ユーザーターミナルに少なくとも一つのチャイルドノードのターミナルが接続されている時、該ユーザーターミナルは各該チャイルドノードのターミナルにもとの協調共有グループ内のその他のユーザーターミナルを探してペアレントノードとするように告知することを特徴とする、ストリームデータのネットワーク伝送方法。
【請求項１６】
請求項１４記載のストリームデータのネットワーク伝送方法において、該ユーザーターミナルがリーダーノードである時、該ユーザーターミナルは該ストリーミングサーバーに別のリーダーノードを選出するように通知することを特徴とする、ストリームデータのネットワーク伝送方法。
【請求項１７】
請求項１３記載のストリームデータのネットワーク伝送方法において、該ユーザーターミナルが放送進度を変更して空の協調共有グループに加入する時、該ストリーミングサーバーは直接該ユーザーターミナルにサービスし、並びに該ユーザーターミナルを該空の協調共有グループのリーダーノードとなすことを特徴とする、ストリームデータのネットワーク伝送システム方法。
【請求項１８】
請求項１３記載のストリームデータのネットワーク伝送方法において、該ユーザーターミナルの該ネットワーク伝送システム離脱のステップは、さらに、
該ユーザーターミナルがリーダーノードであるかを検査するステップ、
該ユーザーターミナルがリーダーノードであれば、新たなリーダーノードを選出し並びに該ユーザーターミナルの全てのチャイルドノードに別の適合するペアレントノードを探すように通知するステップ、
該ユーザーターミナルがリーダーノードでなければ、システム離脱のメッセージを該ユーザーターミナルの所属する協調共有グループのペアレントノードと該ユーザーターミナルに接続されたチャイルドノードに告知するステップ、
を包含することを特徴とする、ストリームデータのネットワーク伝送方法。
【請求項１９】
請求項１８記載のストリームデータのネットワーク伝送方法において、この離脱するユーザーターミナルが非リーダーノードの時、該ペアレントノードがこの離脱するユーザーターミナルへのサービスを停止し、該ユーザーターミナルに接続されたチャイルドノードが別の適合するペアレントノードを探すステップを包含することを特徴とする、ストリームデータのネットワーク伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一種のストリームデータ（Ｓｔｒｅａｍ  Ｄａｔａ）のネットワーク伝送システムと方法に係り、特にＰｅｅｒ−ｔｏ−Ｐｅｅｒ（Ｐ２Ｐ）ネットワークの通信環境中に応用されうるものに関する。
【背景技術】
【０００２】
パーソナルビデオレコーダ（ＰＶＲ）で、使用者が随時番組を視聴或いは録画するためには膨大な保存空間が必要である。例えば、特許文献１に記載のネットワークＰＶＤサービスによると、ネットワーク上に多くのビデオサーバーが構築され、巨大なネットワークビデオが形成され並びに各ユーザーに直接サービスすることで、ユーザーの随時視聴及び録画の要求を満足させる。このほか、特許文献２に記載のマルチメディアデータ分散の技術は、ネットワーク上に一台のサーバーを設置し、クライアントの要求を受けて、番組を録画し並びに指定時間にクライアントに提供する。これらの主従構造のサーバーは性能のネックになりやすい。というのは、プロバイダはクライアントの増加により更に強大で更に多くのサーバーを配置せざるを得ないためである。
【０００３】
近年、Ｐ２Ｐネットワークによるファイル共有がなされ、Ｐ２Ｐネットワークは一つの膨大な共有保存空間となっている。例えばＰ２Ｃａｓｔ技術はＰ２Ｐ間のパッチング（Ｐａｔｃｈｉｎｇ）により選択によるビデオサービスを提供し、ユーザーは加入の時期により複数のグループに分けられ、同一グループのユーザーはその加入の時期が近い。各グループはそれぞれにマルチキャストツリー（Ｍｕｌｔｉｃａｓｔ  Ｔｒｅｅ）を組成し、ストリーミングサーバーは各マルチキャストツリーのルートノード（Ｒｏｏｔ  Ｎｏｄｅ）にサービスする。グループ内のユーザーは相互に協調する。しかし、グループとグループの間は独立している。Ｐ２ＶｏＤ技術とＰ２Ｃａｓｔ技術の差異はグループとグループの間の相互協調にあり、第１グループがあるストリームデータセグメントを視聴し終わってはじめて、第２グループのユーザーがそれを視聴できる。言い換えると、第Ｉグループの全てのユーザーが第Ｉ−Ｉ層の全てのユーザーにサービスする。しかし、グループとグループの間のユーザー数の違いが過大である時、非常に多くのユーザーがサービスを受けられなくなる恐れがある。並びに、大多数のユーザーが第１グループに加入している時、サーバーの負担は非常に大きくなる。
【０００４】
ダイレクトストリーム（Ｄｉｒｅｃｔ  Ｓｔｒｅａｍ）技術はＰ２Ｃａｓｔ技術に基づくが、多くはユーザーにＶＣＲ機能の使用を許容し、それは異なるマルチキャストツリーを加えることにより放送進度を変更する。しかし、図１のようなＰ２Ｐ技術の例では、ストリーミングサーバー（Ｓｔｒｅａｍｉｎｇ  Ｓｅｒｖｅｒ）１１０のほか、ネットワーク中の各ノードの状態、例えば視聴進度、バッファエリアサイズ、ネットワークアドレス、サービス能力等を記録する一つ以上のディレクトリサーバー（Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｅｒ）１２０を必要とする。ユーザー１３２がビデオカセットレコーダ（ＶＣＲ）機能を操作して放送進度を変更する時、別の、進度がそれと相互に模倣するペアレントノード（Ｐａｒｅｎｔ  Ｎｏｄｅ）１３１よりストリームデータセグメントがこのユーザー１３２に提供される。ディレクトリサーバー１２０の任務は条件に符合するペアレントノードを探し出すことである。ダイレクトストリーム技術はストリーミングサーバーの負担を軽減し得るが、ディレクトリサーバーの性能或いは数はユーザーの増加により増加し、これが性能のネックとなり、コストも増加し得る。
【０００５】
現在、Ｐ２Ｐ技術を採用しているネットワークテレビジョンソフトウエア、例えばＰＰＬｉｖｅ、ＰＰＳｔｒｅａｍ、ＡｎｔＴＶ等は、ＶｏＤシステムとＶＣＲ機能をサポートしておらず、各ユーザーの放送進度はサーバーがちょうど放送中の進度と一致させることしかできず、すなわち、ある番組を視聴する視聴者の間では、同一時間点の放送進度は同じである。
【０００６】
【特許文献１】米国特許公開第２００５／０００５３００号
【特許文献２】米国特許公開第２００５／０１８３１２０号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は一種のストリームデータのネットワーク伝送システム及び方法を提供し、それによりパーソナルビデオレコーダサービスの機能を実現することを目的とする。
【課題を解決するための手段】
【０００８】
ある実施例において、本発明は一種のストリームデータのネットワーク伝送システムを提供する。このシステムは、ネットワーク、ストリーミングサーバー、及び第１の協調共有グループから第ｎの協調共有グループ（Ｃｏｏｐｅｒａｔｉｖｅｐ−Ｓｈａｒｎｇ  Ｇｒｏｕｐ）を包含する。各協調共有グループは複数のユーザーターミナルで構成され、そのうち、少なくとも一つのユーザーターミナルがその協調共有グループのリーダーノード（Ｌｅａｄｅｒ  Ｎｏｄｅ）とされる。各協調共有グループ内の全てのユーザーターミナルの間には共同作業のマルチキャスト関係が構築される。ストリーミングサーバーは複数のストリームデータ番組を提供し、各ストリームデータ番組はタイムスロット単位により一つ或いは複数のストリームデータセグメントに分割される。ストリーミングサーバーはこのネットワークを通して、個々のストリームデータセグメントを第１協調共有グループのリーダーノードに与える。各協調共有グループのリーダーノードは現在受け取ったストリームデータセグメントを同一の協調共有グループのユーザーターミナルにマルチキャストし、一つのタイムスロットの後に、現在受信しているストリームデータセグメント（said currently received stream data segment ）を次の協調共有グループのリーダーノードに提供する。
【０００９】
別の実施例では、本発明は一種のストリームデータのネットワーク伝送方法を提供する。この方法は、あるタイムスロットＴＳを特定し、並びにこのタイムスロットを単位として、複数のストリームデータ中の各ストリームデータ番組を分割して複数のストリームデータセグメントとなす。このタイムスロットＴＳを単位とし、順に第１から第ｎの協調共有グループを特定し、各該協調共有グループは複数のユーザーターミナルにより構成する。各該協調共有グループに対して、その数個のユーザーターミナル中より少なくとも一つのユーザーターミナルを選択して該協調共有グループのリーダーノードとなす。各タイムスロットＴＳにおいて、一つのストリームデータセグメントを第１協調共有グループのリーダーノードに伝送する。及び、各協調共有グループのリーダーノードが現在受信したストリームデータセグメントを同一協調共有グループのユーザーターミナルにマルチキャストとし、一つのタイムスロットＴＳの後、該現在受信しているストリームデータセグメント（said currently received stream data segment ）を次の協調共有グループのリーダーノードに提供する。
【００１０】
ここに記載の実施例中、ストリーミングサーバーはメモリエリアを有し、それにより各協調共有グループのリーダーノードのネットワークアドレスを記録する。ユーザーターミナルはこのシステムへの加入、放送進度変更、及び該システムからの離脱の操作を行なえる。本ネットワーク伝送システムはユーザーに、早回し、後退、一時停止等のＶＣＲ機能を提供できる。
【発明の効果】
【００１１】
本発明の実施例中、ストリーミングサーバーは順に特定した第１協調共有グループから第ｎ協調共有グループ中、各協調共有グループのリーダーノードが現在受信したストリームデータセグメントを同一協調共有グループのユーザーターミナルにマルチキャストし、一つのタイムスロットの後、前のストリームデータセグメントを次の協調共有グループのリーダーノードに提供する。全てのストリーミングサーバーが提供する番組はいずれも選択により即時放送され、並びにユーザーに早送り、後退、一時停止等のＶＣＲ機能を提供し、ユーザーの視聴の設備は少量のメモリ空間のみ必要とする。ユーザーは別にハードウエアを購入する必要がなく、システム業者は高価なサーバーを設置する必要がない。さらに先に記録した番組及び生放送の番組をサポートし、番組のファイルはＣＢＲエンコード或いはＶＢＲエンコードとされ得る。
【発明を実施するための最良の形態】
【００１２】
この実施例では、一種のネットワーク伝送システム及び方法を提供し、ストリームデータをオンラインで視聴する大量のユーザーに散布できる。このネットワーク伝送技術はＰ２Ｐネットワークを利用してユーザーをグループ分けし、例えば使用者を視聴進度により異なるグループに分ける。並びにサーチセンター、すなわちストリーミングサーバーを設置して各グループ内のユーザーを記録する。あるユーザーＡが進度を変換したい時、このストリーミングサーバーに現在、ネットワーク上のどのグループの放送進度がこのユーザーＡの希望する視聴の進度と類似であるかを諮問する。もしそのようなグループが存在すれば、すなわちストリーミングサーバーはそのグループ内の一つのユーザーのネットワークアドレスを該ユーザーＡに提供し、ユーザーＡは応答内容中に提示されたネットワークアドレスにより新たなグループに加入する。もし当時のネットワーク上に適合する進度のグループが存在しなければ、ストリームデータサーバーよりこのユーザーＡにサービスがなされ、並びにこのユーザーＡが新たなグループの代表とされる。
【００１３】
このネットワーク伝送技術は第Ｉグループ中より一つから数個の代表を選択し、続いて一つのストリームデータセグメントを第Ｉ＋Ｉグループの代表に提供し、その後、第Ｉ＋Ｉグループのユーザーが自己相互散布を行なう。こうして第Ｉグループのユーザーが第Ｉ＋Ｉグループのユーザーにサービスし、ストリーミングサーバーの負担を軽減する。第Ｉグループのユーザーが第Ｉ＋Ｉグループのユーザーの数より非常に多いか或いは大量のユーザーが第Ｉグループに加入している時のいずれも問題を誘発することはない。
【００１４】
図２は一つの実施例表示図であり、ストリームデータのネットワーク伝送システムを説明し、並びに本発明中のある実施例と一致する。このネットワーク伝送システムはＰ２Ｐ通信環境に応用可能であり、これによりパーソナルビデオレコーダーの機能を提供する。
図２に示されるように、ネットワーク伝送システム２００はネットワーク２１５、ストリーミングサーバー２１０、及びストリーミングサーバー２１０が順に特定するｎ個の協調共有グループを包含する。このｎ個の協調共有グループは第１協調共有グループ、第２協調共有グループ、・・・・第ｎ協調共有グループを包含する。各協調共有グループは複数のユーザーターミナルで構成され、そのうち、少なくとも一つのユーザーターミナルはその協調共有グループのリーダーノードとされる。各協調共有グループ内の全てのユーザーターミナルの間には共同作業のマルチキャスト関係が構築される。ストリーミングサーバーは複数のストリームデータ番組を提供し、各ストリームデータ番組はタイムスロットＴＳにより分割された一つ或いは複数のストリームデータセグメントに分割される。
ストリーミングサーバー２１０はネットワーク２１５を通し各ストリームデータセグメントを第１協調共有グループのリーダーノードに提供する。各協調共有グループのリーダーノードは現在受信したストリームデータセグメントを同一協調共有グループのユーザーターミナルにマルチキャストし、一つのタイムスロットＴＳの後、該現在受信しているストリームデータセグメント（said currently received stream data segment ）を次の協調共有グループのリーダーノードに提供する。
【００１５】
図２に示されるように、ストリーミングサーバー２１０はストリームデータベース２２１によりストリームデータ番組を提供するか、或いはビデオカメラ２２２を利用して生放送する。例えば、予め記録しておいたストリームデータファイルをデータベース２２１に保存し、生放送する番組内容はビデオカメラ２２２により提供する。番組のファイルは固定ビットレート（Ｃｏｎｓｔａｎｔ  Ｂｉｔ  Ｒａｔｅ：ＣＢＲ）コード或いは可変ビットレート（Ｖａｒｉａｂｌｅ  Ｂｉｔ  Ｒａｔｅ：ＶＢＲ）コードとされ得る。一つ或いは複数のタイムスロットＴＳに分割された各ストリームデータセグメントは、１系列のストリームデータである。ストリーミングサーバーは予めこのタイムスロットＴＳを特定し、このタイムスロットＴＳを単位とし、このｎ個の協調共有グループを特定する。
【００１６】
全てのユーザーターミナルの間に構築されるマルチキャスト関係は以下のように説明される。システム開始時間Ｔini ０に正規化されて、数台のユーザーターミナルがネットワーク伝送システム２００に加入しようとする時、この数台のターミナルは複数の異なる協調共有グループ内に配分され得る。例えば、第１協調共有グループのグループ２３０はタイムスロット０〜ＴＳの間、第２協調共有グループ２４０はタイムスロットＴＳ〜２ＴＳの間、以下はこれにより類推されるとおりである。ターミナル２３１は第１台のネットワーク伝送システム２００に加入して、ある番組を選択視聴するユーザーターミナルであり、並びに加入時間０〜ＴＳにおいて第１協調共有グループ２３０に分配される、ターミナル２３２、２３３はターミナル２３１と同一の協調共有グループ２３０に分配される。これにより、ターミナル２４１は第１台の、ＴＳ〜２ＴＳの間にネットワーク伝送システム２００に加入してある番組を選択視聴するユーザーターミナルであり、第２協調共有グループ２４０に分配され、ターミナル２４２と２４３はその後にＴＳ〜２ＴＳにネットワーク伝送システム２００に加入してある番組を選択視聴するユーザーターミナルである。こうして、各協調共有グループは少なくとも一つのユーザーターミナルにより構成される。
【００１７】
ストリーミングサーバー２１０は各協調共有グループ内より少なくとも一つのリーダー、すなわち、該協調共有グループのリーダーノードを選択し、並びに各リーダーノードのネットワークアドレスを記録する。例えば、ターミナル２３１が第１協調共有グループ２３０のリーダーノードとされる。ターミナル２４１は第２協調共有グループのリーダーノードとされる。ストリーミングサーバー２１０内にはメモリ空間が設けられ得て、例えば符号２１０ａで示されるとおりであり、それによりリーダーノード２３１と２４１のネットワークアドレスを記録する。
【００１８】
ストリーミングサーバー２１０はストリームデータセグメントを第１協調共有グループのリーダーノード２３１に提供し、この伝送の速度はビデオ放送の速度と等しいか或いはそれより速く、すなわち、一つのタイムスロットＴＳ単位内に少なくとも一つのストリームデータセグメントを伝送し、ネットワークにより同一の協調共有グループのその他のユーザーがそれを共有し、並びにその次の協調共有グループのリーダーノードに提供する。
例えばストリーミングサーバー２１０がネットワーク２１５を通して、あるタイムスロットＴＳの第１ストリームデータセグメントをターミナル２３１に提供し、ターミナル２３１はこのストリームデータセグメントを受け取った後、それをターミナル２３２とネットワークにより共有し、ターミナル２３２は該ストリームデータセグメントをネットワークによりターミナル２３３と共有する。
【００１９】
ストリーミングサーバー２１０が第１ストリームデータセグメントをターミナル２３１に伝送して、タイムスロットＴＳが過ぎた後に、ターミナル２３１は新たに第２ストリームデータセグメントを受信開始し、同時にネットワーク２１５を通して古い第１ストリームデータセグメントを第２協調共有グループ２４０のリーダーノード２４１に伝送する。
第２協調共有グループ２４０のリーダーノード２４１はターミナル２３１より伝送されたストリームデータセグメントを受け取った後、それを第２協調共有グループ２４０内のターミナル２４２と２４３と共有する。
【００２０】
こうして、各協調共有グループのリーダーノードは現在受け取ったストリームデータセグメントを同一協調共有グループのユーザーターミナルに提供し、あるタイムスロットＴＳの後、古いストリームデータセグメントを次の協調共有グループのリーダーノードに提供する。各協調共有グループのリーダーノードの動作はいずれも第１協調共有グループのリーダーノードと同じである。
【００２１】
例えば、一部のビデオが１００個のストリームデータセグメントに分割されたとして、ストリーミングサーバー２１０は最悪の状況でただ５０本のストリームを提供する必要がある。最良の状況では１本のストリームを提供する。ストリーミングサーバーの負担が非常に軽いため、高級なサーバーを設置するコストを節約できる。
【００２２】
ストリーミングサーバー２１０はユーザーターミナルの諮問を受け付け、例えば、ターミナル２３２は諮問メッセージを通して、視聴したいストリームデータセグメントの時間をストリーミングサーバー２１０に伝送する。ユーザーはまたターミナルも所属の協調共有グループを離れて、別の協調共有グループに加入することができ、例えば、ターミナル２３２は第１協調共有グループを離れて第２協調共有グループに加入できる。本記載中、図５において更に説明する。
【００２３】
図３はある実施例のフローチャートであり、ストリームデータのネットワーク伝送システム２００の動作方法を説明し、並びに本記載中のある実施例と一致する。図３を参照されたい。ステップ３１０において、ストリーミングサーバー２１０はタイムスロットＴＳを特定し、並びにこのタイムスロットＴＳを単位とし、複数のストリームデータ中の各ストリームデータ番組を複数のストリームデータセグメントに分割する。ステップ３２０において、このタイムスロットＴＳを単位とし、第１から第ｎの協調共有グループを特定し、各該協調共有グループを複数のユーザーターミナルで形成する。ステップ３３０において、各該協調共有グループに対して、それに属するユーザーターミナルより少なくとも一つのユーザーターミナルを選び、その協調共有グループのリーダーノードとなす。
ステップ３４０において、各タイムスロットの時、ストリーミングサーバーは一つのストリームデータセグメントを第１協調共有グループのリーダーノードに提供する。ステップ３５０において、各協調共有グループのリーダーノードが現在受信しているストリームデータセグメントを同一協調共有グループのユーザーターミナルにマルチキャストし、あるタイムスロットの後、該現在受信しているストリームデータセグメント（said currently received stream data segment ）を次の協調共有グループのリーダーノードに提供する。
【００２４】
ゆえに、本記載のストリーミングサーバー２１０はただ全ての番組のオリジナルストリームデータを保存するだけでよく、ユーザーの増加により新たな保存空間を購入したり或いは周波数幅を増したりする必要がない。ユーザーターミナルも全てのビデオの内容をダウンロードする必要がなく、リーダーノードでないユーザーターミナルはただあるタイムスロットＴＳのストリームデータセグメントを保存できるバッファエリアを必要とするだけである。もしリーダーノードのユーザーターミナルであるなら、直前のタイムスロットに受け取ったストリームデータセグメントを次の協調共有グループのリーダーノードに提供する必要があるため、二つのタイムスロットのストリームデータセグメントを保存できるバッファエリアを必要とする。
【００２５】
ストリーミングサーバー２１０は、多種類の伝送プロトコルを採用可能で、例えば、リアルタイム伝送プロコトル（Ｒｅａｌ−Ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ：ＲＴＰ）、ハイパーテキスト伝送プロトコル（Ｈｙｐｅｒｔｅｘｔ  ＴｒａｎｓｐｅｒＰｒｏｔｏｃｏｌ：ＨＴＴＰ）、マルチメディアメッセージサービス（Ｍｕｌｔｉｍｅｄｉａ  Ｍｅｓｓａｇｉｎｇ  Ｓｅｒｖｉｃｅ：ＭＭＳ）、或いは自己決定伝送プロトコル等を採用可能で、これらのプロトコルのパケットデータを利用してストリームデータセグメントを協調共有グループのリーダーノードに伝送し、このリーダーノードは受信したストリームデータセグメントを同一の協調共有グループ内のその他のノードに散布し、
及び次の協調共有グループのリーダーノードに伝送する。
【００２６】
本実施例はストリーミングサーバーの負担を軽減するのみならず、ユーザー側も全ての番組を選択して即時視聴でき、並びにユーザーに早送り、後退、一時停止等のＶＣＲ機能を提供できる。ユーザーはハードウエア設備を増加することなく、システム業者も高価なサーバーを設置する必要なくして、膨大な視聴ユーザーにサービスできる。
【００２７】
ネットワーク伝送システム２００中、ユーザーターミナルが行なう操作は、システムへの加入、放送進度変更、システムからの離脱等である。以下にこれらの操作について詳細に説明する。
【００２８】
前述したように、ストリーミングサーバーは予めタイムスロットＴＳを特定し、このタイムスロットＴＳを単位としてストリームデータ番組を複数のストリームデータセグメントに分割し、順に複数の協調共有グループを特定する。
【００２９】
図４はある実施例のフローチャートであり、ユーザーターミナルがネットワーク伝送システムに加入したい時の、ネットワーク伝送システム２００内の動作を説明し、本発明のある実施例と一致するものである。図４に示されるように、ステップ４１０において、
最も早くこのネットワーク伝送システムに加入してストリームデータ番組を視聴しようとするユーザーターミナルの開始時間をＴini と特定する。ステップ４２０において、その他のユーザーターミナルがこのストリームデータ番組を視聴するため加入する時間をＴとすると、ストリーミングサーバー２１０がこの加入したユーザーターミナルを第［（Ｔ−Ｔini ）／ＴＳ］＋１協調共有グループに分配し、そのうち、［］はガウス整数記号を代表する。ゆえに同じ協調共有グループに分配されたユーザーターミナルが視聴する番組進度は類似であり、差はタイムスロットＴＳを超過しない。
【００３０】
その後、ストリーミングサーバー２１０はこの使用者のターミナルに第［（Ｔ−Ｔini）／ＴＳ］＋１協調共有グループ内の少なくとも一つのリーダーノードのネットワークアドレスを応答する。このユーザーターミナルは第［（Ｔ−Ｔini ）／ＴＳ］＋１協調共有グループのリーダーノードに対して該協調共有グループへの加入を要求する。
【００３１】
ある協調共有グループに加入する時、同一の協調共有グループのユーザーターミナルは一種の共同作業のマルチキャスト関係を構成する。このマルチキャスト関係の構築は、ＳｐｒｅａｄＩｔ、Ｙｏｉｄ、Ｎａｒａｄａ、ＣｏｏｐＮｅｔ、ＢｉＴｏｓ等の技術により実現される。
【００３２】
もしシステム業者が提供するのが生放送番組であれば、新たに加入するユーザーターミナルはいずれも第１協調共有グループに加入し、ユーザーターミナルが加入する時、カメラが撮影し並びにストリーミングサーバーを通して伝送する最新画面を視聴できる。
【００３３】
ストリームデータ番組を視聴する時、図２中の第１協調共有グループ２３０と第２協調共有グループ２４０を例とすると、そのうち一つのユーザーターミナルが放送進度を変更する必要があり、例えば後退（古いストリームデータセグメントに戻る）或いは前進して新たなストリームデータセグメントを視聴する必要がある時、ストリーミングサーバー２１０はこのユーザーターミナルの放送進度変更の要求を受け取り、並びにその他の協調共有グループに諮問し応答する。図５はこのユーザーターミナルが放送進度変更しようとする時の、ネットワーク伝送システム内の動作を示し、並びに本記載中のある実施例と一致する。
【００３４】
図５を参照されたい。ユーザーターミナル２３２がストリームデータ番組を視聴する時、ユーザーターミナル２３２は諮問メッセージにより、視聴しようとするストリームデータセグメントの時間Ｔnew をストリーミングサーバー２１０に伝送し、これは符号５１０に示される。ストリーミングサーバー２１０は時間Ｔnew の所属するストリームデータセグメントがどの協調共有グループで放送されているかを計算し、それが例えば、第２協調共有グループ２４０であれば、この放送している協調共有グループ（第２協調共有グループ２４０）のリーダーノード２４１のネットワークアドレスをユーザーターミナル２３に提供し、これは符号５２０に示す。
【００３５】
その後、ユーザーターミナル２３２がそのペアレントノード（この例ではその所属する第１協調共有グループ２３０のリーダーノード２３１）に対してその他の協調共有グループ（すなわち第２協調共有グループ２４０）への切り換えを告知し、ペアレントノード２３１にサービスを継続しないように要請し、これは符号５３０に示す。
【００３６】
もしユーザーターミナル２３２が更に自己のチャイルドノードターミナルを有するなら、ユーザーターミナル２３２はこのチャイルドノードターミナルに対して自己が別の協調共有グループに切り換えることを告知し、このチャイルドノードターミナルに第１協調共有グループ２３０内のその他のペアレントノードを探すように要請する。例えば、ユーザーターミナル２３２がチャイルドノードのターミナル２３３に対してその他の協調共有グループに切り換えることを告知して、このチャイルドノードのターミナル２３３に別のペアレントノードを探すように要請し、これは符号５４０に示す。
【００３７】
その後、ユーザーターミナル２３２はこれから加入しようとする第２協調共有グループ２４０のリーダーノード２４１に対して加入メッセージを発送し、これは符号５５０に示す。もしユーザーターミナル２３２がリーダーノードであれば、すなわちユーザーターミナル２３２がストリーミングサーバー２１０に対して別のリーダーノードを選出するように通知する。ユーザーターミナル２３２は第２協調共有グループ２４０に加入した後、時間Ｔｎｅｗのストリームデータセグメントの受信を開始する。
【００３８】
もし、ユーザーターミナルが後退或いは早送りして空の協調共有グループに至る時、すなわちストリーミングサーバーは直接このユーザーターミナルにサービスし、並びに該ユーザーターミナルが該空の協調共有グループのリーダーノードとなる。もしユーザーの視聴するのがビデオカメラの提供する生放送番組であれば、放送の進度はビデオカメラの提供する最新進度を超過し得ない。
【００３９】
図６は実施例のフローチャートであり、ユーザーターミナルがシステムを離脱しようとする時の、ネットワーク伝送システム２００内の動作を示し、並びに本記載中のある実施例と一致する。図６に示されるように、ステップ６１０において、ストリーミングサーバー２１０は離脱しようとするユーザーターミナルがリーダーノードであるかを検査する。イエスならば、ステップ６１１に示されるように、ストリーミングサーバー２１０は新たなリーダーノードを選択し、例えば、離脱者と同じグループで且つ能力が比較的良好なノードをリーダーノードとして選出する。並びにステップ６１２のように、この離脱するユーザーターミナルのチャイルドノードに別の適合するペアレントノードを探すように通知する。
【００４０】
もし離脱するユーザーターミナルがリーダーノードでなければ、すなわち離脱するユーザーターミナルが所属する協調共有グループのペアレントノードとチャイルドノードに離脱メッセージを告知し、これはステップ６２１のようである。ペアレントノードはこの離脱するユーザーターミナルへのサービスを停止し、チャイルドノードは別の適合するペアレントノードを探し、これはステップ６２２のようである。
【００４１】
ユーザーターミナルが非正常な方式、例えばネットワークとの接続の切断、電源切断、ユーザーによる強制的なアプリケーション番組のシャットダウン等を防止するため、各ユーザーターミナルは平時に周期的にそのペアレントノードとチャイルドノードを探査し、それらがまだ存在しているかを確定する。チャイルドノードの不存在が発見されれば、そのチャイルドノードへのサービスを続けない。ペアレントノードの不存在が発見されれば、適合する別のペアレントノードを探す。
【００４２】
ユーザーターミナルが放送進度を一時停止（ｐａｕｓｅ）したい時、一次停止する放送進度を記憶する。一次停止期間より、もとのストリームデータは続けてダウンロードされ、ゆえにユーザーターミナルで再度放送キーを押す時、前述の後退機能（すなわち放送進度変更のうちの一種類）により先に一次停止した進度に戻る必要がある。このユーザーターミナルは現在所属の協調共有グループを離脱する必要はなく、続いてその他のノードから続くデータを受け取ることができる。
【００４３】
ユーザーターミナルがシステムに加入するか、或いは放送進度を変更するか、或いはシステムを離脱し新たにシステムに加入する時、ユーザーターミナルが空の協調共有グループに加入するのであれば、ストリーミングサーバーが直接このユーザーターミナルにサービスし、並びに該ユーザーターミナルを新たな協調共有グループのリーダーノードとなす。
【００４４】
あるストリームデータ番組が比較的人気がなく、クリック選択するユーザーが比較的少ない時は、協調共有グループの間で不連続の状況が発生し得て、図７に示されるように、第３協調共有グループ７５０が比較的遅く、直前の協調共有グループ７４０内のリーダーノードのターミナル７４１のバッファエリア内にすでに先頭のストリームデータセグメントが不存在となり、これにより協調共有グループ７５０はストリーミングサーバー２１０より直接サービスを受けなくてはならない。これは符号７５０ａのとおりである。こうして、ネットワーク伝送システム２００は最悪の状況で、すなわち、番号が偶数の協調共有グループがいずれも空の時、ストリーミングサーバー２１０はただ１／２×（Ｄ／ＴＳ）本のストリーム付加を提供すればよく、そのうちＤはストリームデータ番組のタイムスロットであり、すなわちこのストリームデータ番組のＤ／ＴＳ個に分割されたストリームデータセグメントである。たとえば、もし一部のビデオが１００個のストリームデータセグメントに分割されると、本発明のストリーミングサーバーは最悪の状況でもただ５０本のストリームを提供すればよく、最良の状況では１本のストリームを提供する。ゆえに、最悪の状況下でも、本発明のストリーミングサーバーの負担は非常に軽い。
【図面の簡単な説明】
【００４５】
【図１】周知のＰ２Ｐネットワーク技術の実施例表示図である。
【図２】本発明のストリームデータのネットワーク伝送システムの実施例表示図である。
【図３】本発明のストリームデータのネットワーク伝送方法の実施例のフローチャートである。
【図４】本発明のストリームデータのネットワーク伝送方法の実施例のフローチャートであり、ユーザーターミナルがネットワーク伝送システムに加入する時の、ネットワーク伝送システム内の動作を示す。
【図５】本発明のストリームデータのネットワーク伝送方法の実施例のフローチャートであり、ユーザーターミナルが放送進度を変更する時の、ネットワーク伝送システム内の動作を示す。
【図６】本発明のストリームデータのネットワーク伝送方法の実施例のフローチャートであり、ユーザーターミナルがシステムより離脱する時の、ネットワーク伝送システム内の動作を示す。
【図７】本発明のストリームデータのネットワーク伝送システムにおいて、ストリームデータ番組に協調共有グループ間で不連続の状況が発生した状態を示す図である。
【符号の説明】
【００４６】
２００  ネットワーク伝送システム      ２１０  ストリーミングサーバー
２１５  ネットワーク                  ２２１  ストリームデータベース
２２２  ビデオカメラ                  ２３０  第１協調共有グループ
２４０  第２協調共有グループ          ２３１、２４１  リーダーノード
２３２、２３３、２４２、２４３  ターミナル      ２１０ａ  メモリ空間
３１０  タイムスロットＴＳを特定し、並びにこのタイムスロットＴＳを単位とし、複数のストリームデータ中の各ストリームデータ番組を分割して複数のストリームデータセグメントとなす
３２０  このタイムスロットＴＳを単位とし、順に第１から第ｎ協調共有グループを特定し、各該協調共有グループは複数のユーザーターミナルで構成する
３３０  各該協調共有グループに対して、その複数のユーザーターミナル中より少なくとも一つのユーザーターミナルを選択してその協調共有グループのリーダーノードとなす
３４０  各タイムスロットの時、一つのストリームデータセグメントを第１協調共有グループのリーダーノードに伝送する
３５０  各協調共有グループのリーダーノードが現在受信したストリームデータセグメントを同一協調共有グループのユーザーターミナルにマルチキャストし、一つのタイムスロットの後、現在受信しているストリームデータセグメントを次の協調共有グループのリーダーノードに提供する
４１０  最も早くこのストリームデータ番組の視聴に加わったユーザーターミナルの開始時間をＴini と特定する
４２０  その他のユーザーターミナルがこのストリームデータ番組の視聴に加入する時間をＴとすると、この加入したその他のユーザーターミナルは第［（Ｔ−Ｔini ）／ＴＳ］＋１協調共有グループに分配する
５１０  視聴したいストリームデータセグメントの時間Ｔnew を伝送する
５２０  放送する協調共有グループのリーダーノードのネットワークアドレスを応答する５３０  その他の協調共有グループへの切り換えを告知し、ペアレントノードにサービスの継続停止を要請する
５４０  その他の協調共有グループへの切り換えを告知し、チャイルドノードのターミナルに別のペアレントノードを探すよう要請する
５５０  加入メッセージ発送
６１０  離脱のユーザーターミナルがリーダーノードであるかを検査
６１１  新たなリーダーノードを選択
６１２  この離脱したユーザーターミナルのチャイルドノードに別の適合するペアレントノードを探すよう通知
６２１  離脱したユーザーターミナルが所属する協調共有グループ内のペアレントノードとチャイルドノードに分離メッセージを告知
６２２  ペアレントノードがこの離脱したユーザーターミナルへのサービスを停止し、チャイルドノードは別の適合するペアレントノードを探す
７４０  直前の協調共有グループ  ７５０  第３協調共有グループ
７５０ａ  ストリーミングサーバーが直接サービスする協調共有グループ
【図１】
0004860640.tif 000002
【図２】
0004860640.tif 000003
【図３】
0004860640.tif 000004
【図４】
0004860640.tif 000005
【図５】
0004860640.tif 000006
【図６】
0004860640.tif 000007
【図７】
0004860640.tif 000008