(57)【要約】  複数のクライアントを有する、複数のマルチメディア情報源と接続するサーバ。このサーバは複数のクライアントのうちの少なくとも１人が複数の情報源のうちの少なくとも１つを受信することを要求しているかどうかを決定する。それからサーバはこれらの要求された情報源を要求しているクライアントそれぞれにマルチキャストする。クライアントは誰も、ある特定の情報源を要求していなければ、サーバはこの特定の情報源をマルチキャストしない。クライアントのすべてが、サーバが現在マルチキャストしているある特定の情報源を要求することを止めれば、サーバはこの特定の情報源のマルチキャストを終了させる。【特許請求の範囲】
【請求項１】
少なくとも１つの情報源からのストリーミングメディアコンテンツをネットワーク上で複数のクライアントに配信する方法であって、
第１のストリーミングコンテンツを複数のクライアントのうちの少なくとも１人のクライアントにマルチキャストする工程と、
複数のクライアントの誰もが前記第１のストリーミングコンテンツの受信の継続を望んでいないとネットワークプロトコルのアプリケーション層で決定されたとき、前記第１のストリーミングコンテンツのマルチキャストを終了させる工程とを含む、方法。
【請求項２】
前記第１のストリーミングコンテンツをマルチキャストする前に、複数のクライアントの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程を更に含む、請求項１に記載の方法。
【請求項３】
複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程は、１人以上のクライアントによる少なくとも１つの情報源からのストリーミングコンテンツの受信を継続する希望を示す複数のクライアントのうちの１人以上のクライアントから受信されたポーリングメッセージを評価する工程を含む、請求項２に記載の方法。
【請求項４】
複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程は、
最近受信されたポーリングメッセージの数と、少なくとも１つのポーリングメッセージが最近受信されたかどうかとのうちの少なくとも１つに基づき、１人以上のクライアントによる少なくとも１つの情報源からのストリーミングコンテンツの受信を継続する希望を示す複数のクライアントのうちの１人以上のクライアントから受信されたポーリングメッセージをネットワークプロトコルのアプリケーション層において評価する工程を含む、請求項２に記載の方法。
【請求項５】
複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程は、ポーリング質問のそれぞれの受信者が少なくとも１つの情報源からのストリーミングコンテンツの受信を継続することを望んでいるという確認をそれぞれの受信者から要求するポーリングメッセージを複数のクライアントのうちの１人以上のクライアントに送る工程を含む、請求項２に記載の方法。
【請求項６】
複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程は、
ポーリング質問のそれぞれの受信者が少なくとも１つの情報源からのストリーミングコンテンツの受信を継続することを望んでいるという確認をそれぞれの受信者から要求するポーリングメッセージを複数のクライアントのうちの１人以上のクライアントに送る工程と、
少なくとも、前記ポーリング質問のそれぞれの受信者からの応答を評価する工程と、前記ポーリング質問のそれぞれの受信者からの応答の欠如を評価する工程とのうちの１つを含む、請求項２に記載の方法。
【請求項７】
前記ストリーミングコンテンツを終了させる前に、複数のクライアントの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを、ネットワークプロトコルのアプリケーション層において決定する工程と、どのクライアントも少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいないということがネットワークプロトコルのアプリケーション層において決定されればマルチキャストを終了させる工程とを更に含む、請求項１に記載の方法。
【請求項８】
複数のクライアントのうちの少なくとも１人のクライアントに第１のストリーミングコンテンツをマルチキャストした後であって複数のクライアントの誰も少なくとも１つの情報源の受信を継続することを望んでいない場合に前記第１のストリーミングコンテンツのマルチキャストを終了させる前に、少なくとも１人の他のクライアントが前記第１のストリーミングコンテンツを受信することを望んでいることをネットワークプロトコルのアプリケーション層において認識する工程と、前記第１のストリーミングコンテンツのマルチキャスティングを構成するマルチキャスト伝送のマルチキャストアドレスに少なくとも１人の他のクライアントを追加する工程を更に含む、請求項１に記載の方法。
【請求項９】
複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程が、
複数のクライアントのうちの少なくとも１人のクライアントに前記第１のストリーミングコンテンツをマルチキャストするサーバとのオープンＴＣＰソケット接続の数をカウントする工程と、
カウントされた前記オープンＴＣＰソケット接続の数に基づいて複数のクライアントのうちの少なくとも１人のクライアントに前記第１のストリーミングコンテンツをマルチキャストするサーバとのオープンＴＣＰソケット接続が存在するかどうかを決定する工程とのうちの少なくとも１つを含む、請求項２に記載の方法。
【請求項１０】
複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程が、
複数のクライアントのうちの少なくとも１人のクライアントに前記第１のストリーミングコンテンツをマルチキャストするサーバとのオープンＴＣＰソケット接続の数をカウントし、オープンＴＣＰソケット接続の数がある一定の数より小さいときどのクライアントも少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいないと決定する工程と、
複数のクライアントのうちの少なくとも１人のクライアントに前記第１のストリーミングコンテンツをマルチキャストするサーバとのオープンＴＣＰソケット接続が存在するかどうかを決定し、オープンＴＣＰソケット接続が存在しないことが決定されればどのクライアントも少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいないと決定する工程とのうちの少なくとも１つを含む、請求項２に記載の方法。
【請求項１１】
複数のクライアントの誰も少なくとも１つの情報源の受信を継続することを望んでいないという決定時に前記第１のストリーミングコンテンツのマルチキャストを終了させる工程は、前記ストリーミングコンテンツがまだ生成され前記サーバに送られているときに行われる、請求項１に記載の方法。
【請求項１２】
前記第１のストリーミングコンテンツはビデオカメラシステムによって生成されたビデオコンテンツを含む、請求項１に記載の方法。
【請求項１３】
サーバに前記第１のストリーミングコンテンツを送信する少なくとも１つの情報源と通信するサーバを利用して複数のクライアントの少なくとも１人のクライアントに前記第１のストリーミングコンテンツをマルチキャストする工程を更に含み、
前記マルチキャストする工程は、１つ以上の無線アクセスポイントと１つ以上のディジタル加入者線と１つ以上のワイドエリアネットワーク接続と１つ以上のローカルエリアネットワーク接続とのうちの少なくとも１つ以上を介して行われ、
前記第１のコンテンツは、テキスト、映像、ビデオおよびオーディオコンテンツのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項１４】
前記第１のストリーミングコンテンツは第１のビデオカメラシステムによって生成されたビデオコンテンツを含み、前記方法は、
第２のビデオカメラシステムによって生成されたビデオコンテンツを含む少なくとも第２のストリーミングコンテンツを複数のクライアントのうちの少なくとも１人のクライアントにマルチキャストする工程と、
複数のクライアントの誰も前記第２のストリーミングコンテンツの受信を継続することを望んでいないという決定がネットワークプロトコルのアプリケーション層において行われるときに前記第２のストリーミングコンテンツのマルチキャストを終了させる工程とを更に備え、
前記マルチキャストする工程は同じサーバを介して行われる、請求項１に記載の方法。
【請求項１５】
少なくとも１つの情報源からのストリーミングメディアコンテンツを複数のクライアントに配信するための方法であって、
１つの情報源から第１のストリーミングコンテンツをサーバによって受信する工程と、
少なくとも、複数のクライアントのうちの１人以上が前記第１のストリーミングコンテンツを受信できるように前記サーバから前記第１のストリーミングコンテンツをマルチキャストする前に複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかをネットワークプロトコルのアプリケーション層において決定する工程と、
複数のクライアントのうちの１人以上が前記第１のストリーミングコンテンツを受信できるように前記サーバから前記ストリーミングコンテンツをマルチキャストする前に複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかをネットワークプロトコルのアプリケーション層において決定し、複数のクライアントのうちの少なくとも１人のクライアントが前記少なくも１つの情報源からストリーミングコンテンツを受信することを望んでいるということが決定されれば、複数のクライアントのうちの少なくとも１人が前記第１のストリーミングコンテンツを受信できるように前記第１のストリーミングコンテンツをマルチキャストし、またどのクライアントも前記少なくも１つの情報源からストリーミングコンテンツを受信することを望んでいないということが決定されれば、前記第１のストリーミングコンテンツのマルチキャスティングを防止する工程と、
前記サーバからの前記第１のストリーミングコンテンツのマルチキャスティングを中断すべきかどうかをネットワークプロトコルのアプリケーション層において決定するために、前記サーバからマルチキャストされた少なくとも１つの情報源からの前記ストリーミングコンテンツを前に受信したことがある複数のクライアントのうちの少なくとも１人のクライアントが少なくとも情報源からのストリーミングコンテンツの受信を継続することを望んでいるかどうかをネットワークプロトコルのアプリケーション層において決定する工程と、
少なくとも１つのサーバからの前記第１のストリーミングコンテンツのマルチキャスティングを中断すべきかどうかをネットワークプロトコルのアプリケーション層において決定するために、少なくとも１つのサーバからマルチキャストされた少なくとも１つの情報源からのストリーミングコンテンツを前に受信したことがある複数のクライアントのうちの少なくとも１人のクライアントが前記サーバからマルチキャストされた少なくとも１つの情報源からのストリーミングコンテンツの受信を継続することを望んでいるかどうかをネットワークプロトコルのアプリケーション層において決定し、少なくとも１つの情報源からの前記ストリーミングコンテンツを前に受信したことがある複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からのストリーミングコンテンツの受信を継続しないことを望んでいるということが決定されれば、前記第１のストリーミングコンテンツのマルチキャスティングを終了させ、また少なくとも１つの情報源からの前記ストリーミングコンテンツを前に受信したことがある複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からのストリーミングコンテンツの受信を継続することを望んでいるということがネットワークプロトコルのアプリケーション層において決定されれば、前記第１のストリーミングコンテンツのマルチキャスティングを継続する工程とのうちの１つの工程とを備える方法。
【請求項１６】
サーバを含むネットワーク上で少なくとも１つの情報源から複数のクライアントにストリーミングメディアコンテンツを配信するための方法であって、
少なくとも１つの情報源からの第１のストリーミングコンテンツをサーバによって受信する工程と、
前記ネットワーク上に前記第１のストリーミングコンテンツを置いて前記第１のストリーミングコンテンツをマルチキャストする工程と、
少なくとも１つの情報源からの前記第１のストリーミングコンテンツを前記サーバによって受信しているとき、複数のクライアントの全部が少なくとも１つの情報源からの前記マルチキャストされた第１のストリーミングコンテンツの受信を望むことをやめたかどうかを決定する工程と、
複数のクライアントの全部が少なくとも１つの情報源からの前記マルチキャストされた第１のストリーミングコンテンツの受信を望むことをやめたと決定されたとき、前記第１のストリーミングコンテンツが前記ネットワークに入り続けることを防止し、複数のクライアントのうちの少なくとも１人が少なくとも１つの情報源からの前記マルチキャストされた第１のストリーミングコンテンツの受信を望み続けていると決定されたとき、前記第１のストリーミングコンテンツのマルチキャスティングを継続して前記第１のストリーミングコンテンツを前記ネットワーク上に置くことを継続する工程とを含む、方法。
【請求項１７】
複数の情報源から複数のクライアントにストリーミングマルチメディアコンテンツを配信するための方法であって、
複数のクライアントのうちの少なくとも１人のクライアントが複数の情報源のうちの少なくとも１つの情報源を受信することを望んでいるかどうかを決定する工程と、
少なくとも１人のクライアントに少なくとも１つの情報源をマルチキャストする工程と、
複数のクライアントの誰も少なくとも１つの情報源からのコンテンツの受信を継続することを望んでいないとき、少なくとも１つの情報源のマルチキャストを終了させる工程とを含む方法。
【請求項１８】
ネットワーク上で少なくとも１つの情報源から複数のクライアントにストリーミングメディアコンテンツを配信するための装置であって、
前記装置は、第１の情報源から第１のストリーミングメディアコンテンツを受信することに適応し、また前記受信された第１のストリーミングメディアコンテンツを複数のクライアントのうちの少なくとも１人のクライアントにマルチキャストするようになされたサーバを備え、
前記サーバは、複数のクライアントのうちの誰かが、前記第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することと、前記第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することとのうちの少なくとも１つを望んでいるかどうかを決定するためのロジックをネットワークプロトコルのアプリケーション層に含み、
どのクライアントも前記第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することを望んでいないと決定されたとき、前記第１のストリーミングメディアコンテンツのマルチキャスティングを開始しないことと、
どのクライアントも前記第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することを望んでいないと決定されたとき、前記第１のストリーミングメディアコンテンツのマルチキャスティングを終了させることとのうちの少なくとも１つを行う装置。
【請求項１９】
前記サーバは、１人以上のクライアントによる少なくとも１つの情報源からストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つの希望を示す複数のクライアントのうちの１人以上のクライアントから受信されたポーリングメッセージをネットワークプロトコルのアプリケーション層において評価し、
この評価に基づき、どのクライアントも前記第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することを望んでいないと決定されたとき、前記第１のストリーミングメディアコンテンツのマルチキャスティングを開始しないかどうか、及び
どのクライアントも前記第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することを望んでいないと決定されたとき、前記第１のストリーミングメディアコンテンツのマルチキャスティングを終了させるかどうかの少なくとも１つを決定するロジックを含む、請求項１８に記載の装置。
【請求項２０】
前記サーバは、ポーリング質問のそれぞれの受信者が少なくとも１つの情報源からのストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つを望んでいるという確認を要求するポーリングメッセージを複数のクライアントのうちの１人以上のクライアントに送ることに適応し、前記サーバは、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からのストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つを望んでいるかどうかに関する決定を行うことの少なくとも１つのために前記ポーリングメッセージに対する受信された応答を分析することと前記ポーリングメッセージに対する受信された応答の欠如を評価することとのうちの少なくとも１つのためのロジックをネットワークプロトコルのアプリケーション層に含む、請求項１８に記載の装置。
【請求項２１】
ネットワーク上で少なくとも１つの情報源から複数のクライアントにストリーミングメディアコンテンツを配信する装置であって、
前記装置は、第１の情報源からの第１のストリーミングメディアコンテンツを受信することに適応し、かつ前記受信された第１のストリーミングメディアコンテンツを複数のクライアントのうちの少なくとも１人のクライアントにマルチキャストすることに適応したサーバを備え、
前記サーバは、複数のクライアントのうちの誰かが、前記第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信するようになされることと、前記第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することとのうちの少なくとも１つを望んでいるかどうかを決定するロジックを含み、
前記サーバは、どのクライアントも前記第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することを望んでいないということが決定されることと、どのクライアントも前記第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することを望んでいないということが決定されることとのうちの少なくとも１つが行われるときに、前記第１のストリーミングメディアコンテンツがネットワーク上に置かれることを防止することと、前記第１のストリーミングメディアコンテンツがネットワーク上に置かれ続けることを防止することとのうちの少なくとも１つのためのロジックを含む装置。
【請求項２２】
前記サーバは、１人以上のクライアントによる、少なくとも１つの情報源からのストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つの希望を示す、複数のクライアントのうちの１人以上のクライアントから受信されたポーリングメッセージを評価し、
この評価に基づき、どのクライアントも前記第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することを望んでいないということが決定されることと、どのクライアントも前記第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することを望んでいないということが決定されることとのうちの１つであれば、前記第１のストリーミングメディアコンテンツがネットワーク上に置かれることを防止することと前記第１のストリーミングメディアコンテンツがネットワーク上に置かれ続けることを防止することとのうちの少なくとも１つを行うかどうか決定するロジックを含む、請求項２１に記載の装置。
【請求項２３】
前記サーバは、ポーリング質問のそれぞれの受信者が少なくとも１つの情報源からのストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つを望んでいるという確認を要求するポーリングメッセージを複数のクライアントのうちの１人以上のクライアントに送ることに適応し、前記サーバは、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からのストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つを望んでいるかどうかに関する決定を行うことの少なくとも１つのために前記ポーリングメッセージに対する受信された応答を分析することと前記ポーリングメッセージに対する受信された応答の欠如を評価することとのうちの少なくとも１つのロジックを含む、請求項２１に記載の装置。
【請求項２４】
実行時、機械に請求項１記載の方法を実行させる機械可読プログラムコードを備え、少なくとも１つの情報源から複数のクライアントにストリーミングメディアコンテンツを配信するためのプログラム製品を備え、
前記機械はサーバシステムであり、前記プログラム製品がネットワークプロトコルのアプリケーション層での利用に適応しているプログラム製品。
【請求項２５】
実行時、機械に請求項１６に記載の方法を実行させる機械可読プログラムコードを備え、少なくとも１つの情報源から複数のクライアントにストリーミングメディアコンテンツを配信するプログラム製品を備え、
前記機械はサーバシステムであるプログラム製品。
【請求項２６】
複数のストリーミングビデオコンテンツの全ビットレートのためにネットワーク帯域幅容量を超えることなくネットワーク上で複数のストリーミングビデオコンテンツを配信する方法であって、
前記第１のストリーミングコンテンツは第１のストリーミングビデオコンテンツであり、前記方法は、複数のストリーミングビデオコンテンツの全ビットレートがネットワーク帯域幅容量に近づくとき、請求項１に記載の工程を実行する工程を含む方法。
【請求項２７】
複数のストリーミングビデオコンテンツの全ビットレートがネットワーク帯域幅容量を超える場合に、新しいクライアントが前記第１のストリーミングコンテンツを受信することを防止する工程を更に含む、請求項２６に記載の方法。
【請求項２８】
前記新しいクライアントが前記第１のストリーミングコンテンツを受信することを防止する際に前記第１のストリーミングコンテンツの受信の拒否を告知するメッセージを前記新しいクライアントに提供する工程を更に含む、請求項２７に記載の方法。
【請求項２９】
複数のストリーミングビデオコンテンツの全ビットレートのためにネットワーク帯域幅容量を超えることなくネットワーク上で複数のストリーミングビデオコンテンツを配信する方法であって、
前記第１のストリーミングコンテンツは第１のストリーミングビデオコンテンツであり、複数のストリーミングビデオコンテンツの全ビットレートがネットワーク帯域幅容量に近づくときに請求項１６記載の工程を実行する工程を含む、方法。
【請求項３０】
第２のビデオカメラシステムによって生成されたビデオコンテンツを含む少なくとも第２のストリーミングコンテンツを複数のクライアントのうちの少なくとも１人のクライアントにマルチキャストする工程と、
複数のクライアントのうちの少なくとも１人が前記第２のストリーミングコンテンツの受信を継続することを望んでいるとネットワークプロトコルのアプリケーション層において決定された後に前記第２のストリーミングコンテンツのマルチキャストを継続する工程とを更に含み、
前記マルチキャストする工程は同じサーバを介して行われる、請求項１に記載の方法。
【請求項３１】
サーバと、
前記サーバにそれぞれのストリーミングビデオコンテンツを送ることに適応した複数のカメラとを備え、
前記サーバは、前記送られたストリーミングコンテンツの少なくとも一部を受信することに適応し、前記受信されたストリーミングコンテンツの少なくとも一部をネットワーク上の複数のクライアントにマルチキャストすることに適応し、
前記サーバによって受信され得る前記ストリーミングビデオコンテンツの全ビットレートがネットワーク帯域幅を超え、
前記サーバは前記受信されたストリーミングビデオコンテンツの少なくとも１つがクライアントによって見られることが望まれているかどうかを決定し、少なくとも１人のクライアントが前記受信されたストリーミングビデオを見ることを望まないとき、この少なくとも１つの受信されたストリーミングビデオをネットワーク上に置かないことによって、ネットワーク帯域幅を超えない全ビットレートにそれぞれのストリーミングメディアコンテンツのマルチキャストの数を制限することに適応している、ビデオ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にはコンピュータネットワーク上でのマルチメディアコンテンツの伝送に関し、また特にマルチメディアの選択的マルチキャスティングを介してネットワーク帯域幅消費の効率を最大にするマルチメディアコンテンツ配信システムおよび方法に関する。
関連特許出願への相互参照
本出願は、その内容が全体的に本明細書に組み込まれているロードアイランド（Rode Island）のジョナサンヒルトンクーパー（Jonathan Hilton Cooper）による２００５年９月９日に出願された仮米国特許出願第６０／７１５，５５２号に対する優先権を主張する。
【背景技術】
【０００２】
マルチキャスティングは、発信元ホストが１グループの宛て先ホストにメッセージを送る通信パターンである。これは宛て先ホストの各々にメッセージをユニキャスト（ポイントツーポイント）送信することによって行われ得るが、宛て先ホストとの接続を確立するために必要とされる帯域幅と処理能力との更なる消費は、この状況においてユニキャスティングを望ましくないものにする。したがってマルチキャスティングを使用することの主要な利点は、帯域幅消費の減少である。数百の宛て先ホストにパケットを送信するために必要とされる多くのアプリケーションが存在する。これらの宛て先ホストに送られるパケットは、パケットの宛て先へのパケットの経路上で１グループのリンクを共用する。マルチキャスティングは、発信元ホストによる単に１つのパケットの伝送を必要とし、単に必要に応じて（すなわちマルチキャスト配信ツリー（delivery tree）の分岐点において）このパケットを複製するので、マルチキャスト伝送は乏しいネットワーク資源を節約できる。
【０００３】
マルチキャスティングの、そして本出願が関係しているもう１つの重要な特徴は、「データキャスティング」アプリケーションのためのマルチキャスティングのサポートである。近年、インターネット上でのマルチメディア伝送がますます流行してきている。これらの伝送はまた、マルチメディアコンテンツのタイプに依存して、「ウェブキャスト」、「オーディオキャスト」、「ビデオキャスト」、「ポッドキャスト」および他の架空の用語で呼ばれる。最もよく知られているのは、サーバから１グループの受信クライアントへのオーディオおよびビデオ信号の取り込み(capture）圧縮及び伝送である。参加クライアント間で１セットのポイントツーポイント接続を使用する代わりに、クライアントのすべてにマルチメディアコンテンツを効率的に配信するために、マルチキャスティングが使用され得る。クライアントは、いつでもオーディオキャストまたはビデオキャストに参加または退出できる。マルチキャスティングによって与えられるグループへの参加および退出の際の柔軟性は、変わりやすい会員資格の管理を遥かに処理し易くできる。しかしながらマルチメディアコンテンツをマルチキャストまたは放送(broadcast)する現在のシステムは、クライアントがそのコンテンツを要求しているか否かに関係なく常にコンテンツのすべてを放送する。この観点で、データキャストはラジオ局またはテレビ局と比較でき、ラジオ局またはテレビ局は誰が聴いているかまたは見ているかどうかに関係なく、それぞれラジオ信号またはテレビ信号を放送する。しかしながらインターネット上ではこのタイプの盲目的放送は、よくても乏しい資源の非効率的使用を招く可能性があり、悪ければ激しいネットワーク混雑を招く可能性がある。したがってクライアントの使用または要求に基づいてマルチメディアシステムのストリーミングコンテンツを選択的にマルチキャストできるマルチメディアシステムの必要性が存在する。
【発明の開示】
【０００４】
本発明は、クライアントの要求と使用とに基づいてマルチメディアのコンテンツを選択的にマルチキャストする新規なストリーミングマルチメディア放送システムおよび方法を提供することによって従来技術の問題を解決する。特に本システムは、複数の情報源と通信するサーバを含み、複数のクライアントを有する。このサーバは、少なくとも１人が情報源の少なくとも１つを受信することを要求しているかどうかを決定する。それからサーバは、それぞれ要求しているクライアントにこれらの要求されている情報源をマルチキャストする。クライアントの誰もある特定の情報源を要求していなければ、サーバはこの特定の情報源をマルチキャストしない。サーバが現在マルチキャストしているある特定の情報源を要求することをクライアントのすべてが止めるならば、サーバはこの特定の情報源のマルチキャストを終了させる。利用可能なこれらの情報源を選択的にマルチキャストすることによって重要なネットワーク資源は節約可能であり、ネットワーク混雑は回避できる。
【０００５】
本発明のあるいくつかの実施形態には、ネットワーク上で少なくとも１つの情報源から複数のクライアントにストリーミングメディアコンテンツを配信するための方法であって、複数のクライアントのうちの少なくとも１人のクライアントに第１のストリーミングコンテンツをマルチキャストし、この複数のクライアントの誰もこの第１のストリーミングコンテンツの受信を継続することを望まないという決定の際にこの第１のストリーミングコンテンツのマルチキャストを終了させるという工程(action)を備える方法を実行するための方法／装置／システムが存在する。あるいくつかの実施形態には、この決定がネットワークプロトコルのアプリケーション層で行われる上記／下記のような方法／システム／装置が存在するが、他の実施形態では決定はアプリケーション層で行われず、またある実施形態ではマルチキャストの終了／マルチキャストの防止はストリーミングメディアコンテンツがネットワークを経由して入ってくる／伝播してくるのを停止／防止することを含む。
【０００６】
上記および下記に論じられるあるいくつかの実施形態は更に、第１のストリーミングコンテンツをマルチキャストする前に、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定するという工程を含む。あるいくつかの実施形態には、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定するという工程が、少なくとも１つの情報源からのストリーミングコンテンツの受信を継続したいという１人以上のクライアントによる希望を示す、複数のクライアントのうちの１人以上のクライアントから受信されたポーリングメッセージを評価することを備える上記／下記のような方法／システム／装置が存在する。
【０００７】
あるいくつかの実施形態には、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程が、最近受信されたポーリングメッセージの数と、少なくとも１つのポーリングメッセージが最近受信されたかどうかとのうちの少なくとも１つに基づいて、少なくとも１つの情報源からのストリーミングコンテンツの受信を継続したいという１人以上のクライアントによる希望を示す、複数のクライアントのうちの１人以上のクライアントから受信されたポーリングメッセージを評価することを備える、上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定するという工程が、ポーリング質問のそれぞれの受信者が少なくとも１つの情報源からのストリーミングコンテンツの受信を継続することを望んでいるという確認をそれぞれの受信者から要求するポーリングメッセージを複数のクライアントのうちの少なくとも１人以上のクライアントに送ることを備える、上記／下記のような方法／システム／装置が存在する。
【０００８】
あるいくつかの実施形態には、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程が、ポーリング質問のそれぞれの受信者が少なくとも１つの情報源からのストリーミングコンテンツの受信を継続することを望んでいるという確認をそれぞれの受信者から要求する、複数のクライアントのうちの１人以上のクライアントへのポーリングメッセージを終わらせることと、ポーリング質問のそれぞれの受信者からの応答を評価することと、ポーリング質問のそれぞれの受信者からの応答の欠如を評価することとのうちの少なくとも１つとを備える、上記／下記のような方法／システム／装置が存在する。
【０００９】
あるいくつかの実施形態には、ストリーミングコンテンツを終了させる前に、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定し、どのクライアントも少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいないことがネットワークプロトコルのアプリケーション層で決定されれば、マルチキャストを終了させる、上記／下記のような方法／システム／装置が存在する。
【００１０】
あるいくつかの実施形態には、複数のクライアントのうちの少なくとも１人のクライアントに第１のストリーミングコンテンツをマルチキャストした後に、また複数のクライアントの誰も少なくとも１つの情報源の受信を継続することを望んでいない場合にストリーミングコンテンツを終了させる前に、少なくとも１人の他のクライアントが第１のストリーミングコンテンツを受信することを望んでいることを認識して、第１のストリーミングコンテンツのマルチキャスティングを構成するマルチキャスト伝送のマルチキャストアドレスにこの少なくとも１人の他のクライアントを加えるという工程を更に備える、上記／下記のような方法／システム／装置が存在する。
【００１１】
あるいくつかの実施形態には、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程が、複数のクライアントのうちの少なくとも１人のクライアントに第１のストリーミングコンテンツをマルチキャストするサーバとの多数のオープンＴＣＰソケット接続（物理的または物理的でない）をカウントすることと、カウントされたオープンＴＣＰ接続の数に基づいて複数のクライアントのうちの少なくとも１人のクライアントに第１のストリーミングコンテンツをマルチキャストするサーバとのオープンＴＣＰソケット接続が存在するかどうかを決定することとのうちの少なくとも１つを備える、上記／下記のような方法／システム／装置が存在する。
【００１２】
あるいくつかの実施形態には、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定する工程が、複数のクライアントのうちの少なくとも１人のクライアントに第１のストリーミングコンテンツをマルチキャストするサーバとの多数のオープンＴＣＰソケット接続（物理的またはそうでない）をカウントして、オープンＴＣＰ接続の数がある一定の数より小さければどのクライアントも少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいないと決定することと、複数のクライアントのうちの少なくとも１人のクライアントに第１のストリーミングコンテンツをマルチキャストするサーバとのオープンＴＣＰソケット接続が存在するかどうかを決定して、オープンＴＣＰソケット接続が存在しないことが決定されれば、どのクライアントも少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいないと決定することとのうちの少なくとも１つを備える、上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、複数のクライアントの誰も少なくとも１つの情報源の受信を継続することを望んでいないという決定の際に第１のストリーミングコンテンツのマルチキャストを終了させる工程は、ストリーミングコンテンツがまだ生成されてサーバに送られているときに行われる、上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、第１のストリーミングコンテンツはビデオカメラシステムによって生成されたビデオコンテンツである、上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、少なくとも１つの情報源と通信するサーバを利用して複数のクライアントのうちの少なくとも１人のクライアントに第１のストリーミングコンテンツをマルチキャストすることを更に備える、上記／下記のような方法／システム／装置が存在し、少なくとも１つの情報源は第１のストリーミングコンテンツをサーバに送信し、マルチキャスティングは１つ以上の無線アクセスポイントと１つ以上のディジタル加入者線と１つ以上のワイドエリアネットワーク接続と１つ以上のローカルエリアネットワーク接続とのうちの少なくとも１つを介して行われ、第１のコンテンツはテキスト、映像、ビデオおよびオーディオコンテンツのうちの少なくとも１つを含む。あるいくつかの実施形態には、第１のストリーミングコンテンツは第１のビデオカメラシステムによって生成されたビデオコンテンツを含む、上記／下記のような方法／システム／装置が存在し、本方法は更に、第２のビデオカメラシステムによって生成されたビデオコンテンツを含む少なくとも第２のストリーミングコンテンツを複数のクライアントのうちの少なくとも１人のクライアントにマルチキャストし、また複数のクライアントの誰も第２のストリーミングコンテンツの受信を継続することを望んでいないと決定されたときに第２のストリーミングコンテンツのマルチキャストを終了させる工程を備え、このマルチキャストする工程は同じサーバを介して行われる。
【００１３】
あるいくつかの実施形態には、少なくとも１つの情報源から複数のクライアントにストリーミングメディアコンテンツを配信するための、上記／下記のような方法／システム／装置であって、少なくとも１つの情報源からの第１のストリーミングコンテンツをサーバで受信する工程を備え、また複数のクライアントのうちの１人以上が第１のストリーミングコンテンツを受信できるようにサーバから第１のストリーミングコンテンツをマルチキャストする前に複数のクライアントのうちの少なくとも１人が少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうか決定する工程と、複数のクライアントのうちの１人以上が第１のストリーミングコンテンツを受信できるようにサーバから第１のストリーミングコンテンツをマルチキャストする前に複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるかどうかを決定し、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいるということが決定されれば、複数のクライアントのうちの少なくとも１人が第１のストリーミングコンテンツを受信できるように第１のストリーミングコンテンツをマルチキャストし、どのクライアントも少なくとも１つの情報源からストリーミングコンテンツを受信することを望んでいないということが決定されれば、第１のストリーミングコンテンツのマルチキャスティングを防止する工程と、サーバから第１のストリーミングコンテンツをマルチキャストすることを中断すべきかどうかを決定するために、サーバからマルチキャストされた少なくとも１つの情報源からのストリーミングコンテンツを前に受信したことがある複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からのストリーミングコンテンツの受信を継続することを望んでいるかどうか決定する工程と; 少なくとも１つのサーバから第１のストリーミングコンテンツをマルチキャストすることを中断すべきかどうかを決定するために、少なくとも１つのサーバからマルチキャストされた少なくとも１つの情報源からのストリーミングコンテンツを前に受信したことがある複数のクライアントのうちの少なくとも１人のクライアントがサーバからマルチキャストされた少なくとも１つの情報源からのストリーミングコンテンツの受信を継続することを望んでいるかどうか決定し、少なくとも１つの情報源からストリーミングコンテンツを前に受信したことがある、複数のクライアントのうちの少なくとも１人が少なくとも１つの情報源からのストリーミングコンテンツの受信を継続しないことを望んでいるということが決定されれば第１のストリーミングコンテンツのマルチキャスティングを終了させ、少なくとも１つの情報源からストリーミングコンテンツを前に受信したことがある、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からのストリーミングコンテンツの受信を継続することを望んでいると決定されれば、第１のストリーミングコンテンツのマルチキャスティングを継続する工程���のうちの少なくとも１つの工程とを備える、上記／下記のような方法／システム／装置が存在する。
【００１４】
本発明のこれらおよび他の特徴、態様および利点は、上記の説明と添付の請求項と下記の付属図面とを参照することによって、よりよく理解される。
【発明を実施するための最良の形態】
【００１５】
図１を参照すると、５人（５）のクライアントと、種々のネットワーク接続を介してサーバと通信する３台（３）のカメラ（または情報源）とが存在するネットワークシステムの一例が示されている。下記の説明は便宜上、カメラを介して取り込みされたビデオを指しているが、本発明がテキスト、映像、およびオーディオなどのフォーマットを限定なしに含むすべてのタイプのストリーミングコンテンツに適応可能であることは理解されるべきである。更にあるいくつかの実施形態では、種々のタイプのネットワークおよび／またはサーバとの接続手段が利用可能である。更にクライアントと情報源との数も変化し得る。したがってあるいくつかの実施形態では、クライアントと情報源は、限定なしで単に例として無線アクセスポイント、ディジタル加入者線、ワイドエリアネットワーク接続、および／またはローカルエリアネットワーク接続を含む任意の数の方法を介してサーバに接続できる。
【００１６】
図１は、５人のクライアントと３台のビデオ情報源とが存在するシステムの一例を表している。典型的なマルチキャストＩＰビデオシステムでは、３台のカメラはすべて、常にネットワークのすべての部分に放送している。したがって各カメラが１Ｍｂｐｓのデータを送信していたとすれば、ブロードキャストドメインＡとブロードキャストドメインＢは各々、３Ｍｂｐｓのデータを処理しているし、３Ｍｂｐｓは各クライアントの各ネットワークインタフェースカード（ＮＩＣ）に行く。３００台のカメラが存在したとすれば、この数は３００Ｍｂｐｓとなり、これはネットワーク混雑を引き起こし始める可能性がある。
【００１７】
本発明のあるいくつかの実施形態を実現するシステムでは、ビデオサーバはクライアントの１人がビデオを要求するまでいかなるビデオも送信しなくてよい。そのようにサーバは、一旦ある特定の資源に関して１人のクライアントから要求を受信するとマルチキャスティングを開始する。サーバが引き続きの要求を受信すれば、サーバは単にこの資源をストリーミングし続ける。クライアントがもはやこのストリームを必要としなくなると、サーバはこれに気付き、そして一旦どのクライアントもストリームを必要としなくなるとサーバはストリーミングを停止する。
【００１８】
本明細書で説明される実施形態の一部または全部を実現するためのロジック(logic)を含み得るプロセッサを含むことができる本発明のいくつかの実施形態のサーバは、このサーバと通信するカメラからビデオの一定のストリームを受信できる。しかしながらこのサーバは、従来技術のように常にこれらのビデオフィードのすべてをマルチキャストしない。その代わりサーバは、クライアントの誰かが特定のカメラのどれかからのビデオのどれかを見ることを要求しているかどうかを見るためにチェックする。クライアントの誰も特定のカメラからのビデオを要求していなければ、サーバはこのカメラのコンテンツをマルチキャストしない。しかしながら少なくとも１人のクライアントがある特定のカメラからのビデオを見ることを望んでいれば、サーバはこのカメラのビデオストリームをこのクライアントにマルチキャストする。それに続く他のクライアントがこのカメラのビデオフィードを受信することを望むならば、サーバは単に追加のクライアントが存在することに気付き、このクライアントはマルチキャスト伝送のマルチキャストアドレスに追加される。あるいくつかの実現形態ではこれは、単一の伝送が任意の特定のカメラのビデオで構成されているだけであるので、重要なネットワーク資源を節約するということが認められ得る。しかしながら時々起こることがあり得るように、クライアントのすべてが特定のビデオフィードを要求することを止めれば、サーバはこのビデオのマルチキャストを終了させることができ、それによってネットワーク資源を節約できる。前に行われた不完全なラジオおよびテレビの例えに戻って参照すると、本システムは、誰も聴いても見てもいないコンテンツをデータキャストすることを止めることが認められ得る。
【００１９】
「マルチキャストを終了させることによって」などで、どのクライアントもコンテンツを受信することを望んでいない場合のネットワークへのストリーミングメディアコンテンツの配置の防止と、どのクライアントもコンテンツの受信を継続することを望んでいない場合のネットワークを介するストリーミングメディアコンテンツの伝播の中止が意味される。すなわち本発明のあるいくつかの実施形態では、例えばビデオカメラによってサーバに送られるコンテンツは、どのクライアントもこのコンテンツを希望していなければネットワーク上に置かれない（したがってマルチキャストされない）。これに関してあるいくつかの実施形態には、サーバとこのサーバにそれぞれのストリーミングビデオコンテンツを送ることに適応した複数のカメラとを備えるビデオ配信システムが存在する。サーバは、この送られたストリーミングビデオコンテンツの少なくとも一部を受信することに適応し、またネットワーク上の複数のクライアントにこの受信されたストリーミングメディアコンテンツの少なくとも一部をマルチキャストすることに適応している。更にこのシステムでは、サーバによって受信され得るストリーミングビデオコンテンツの全ビットレートはネットワーク帯域幅を超え、サーバは受信されたストリーミングビデオコンテンツの少なくとも１つがクライアントによって見られることが望まれているかどうかを決定して、少なくとも１人のクライアントが受信されたストリーミングビデオを見ることを望んでいなければ、このネットワーク上にこの少なくとも１つの受信ストリーミングビデオを置かないことによって、ネットワーク帯域幅を超えない全ビットレートにそれぞれのストリーミングメディアコンテンツのマルチキャストの数を制限することに適応している。このような実施形態では５０、６０、７０、８０、９０、１００、３００またはそれ以上のカメラがサーバと通信することができ、サーバへの入力がネットワークの帯域幅を超えても飽和したネットワークのマイナス効果は回避され得る。例えば、全ビットレートを最大帯域幅より低くするために、ある一定のカメラからのある一定のコンテンツだけが要求され／あるいは望まれていない十分の数のコンテンツがネットワークから除去されるのである一定のカメラからのある一定のコンテンツだけがネットワーク上に置かれるという理由で、ＵＤＰトラフィックの場合にはビデオの待ち時間またはスローダウンは存在せず、ＴＣＰトラフィックの場合にはデータ転送のシャットダウンなどは起こらない。このようにしてあるいくつかの実施形態において本発明は、クライアントの希望に基づいてネットワークを伝播するものの管理を可能にするシステムを提供する。
【００２０】
本発明のあるいくつかの実施形態においてコンテンツをネットワーク上に置かないことは、帯域幅を利用する際の効率を上げるためにネットワーク交換機／ネットワーク交換を利用する必要性を軽減する。
【００２１】
ある特定のビデオフィードに関する要求の数を追跡する方法は多数あるが、一例は特定のカメラに関するサーバとのオープンＴＣＰソケット接続の数をカウントすることである。クライアントがサーバからの特定のビデオフィードを要求すると、典型的にはクライアント自身のＴＣＰソケットをサーバに対して開くことによって接続が確立される。クライアントがビデオフィードを見るのを止めることを望むとき、この同じＴＣＰソケットは閉じられる。このような方式では特定のカメラのビデオフィードを見ているクライアントの数は、常にサーバにおいてオープンＴＣＰソケットの数に対応する。オープンＴＣＰソケットの数をカウントすることによってサーバは直ちに、特定のカメラのビデオフィードのマルチキャストを継続すべきか、またはこのマルチキャストを終了させるべきかどうかを決定できる。オープンＴＣＰソケットをカウントすることはカメラの特定のコンテンツに関心のあるクライアントの数を決定する１つの方法であるが、ＨＴＴＰなどといったサーバとの接続を確立する任意の通信プロトコルはインジケータとして使用され得る。
【００２２】
代替としてクライアントは、そのカメラのコンテンツの受信にまだ関心があることを示すためにサーバに定期的なポーリングメッセージを送ってもよい。それからサーバは、ビデオのマルチキャストを継続すべきかどうかを決定するために最近受信されたポーリングメッセージの数の経過を追うことができる。代替として、またはこれに加えてクライアントは特定のカメラのビデオフィードに関心があったことを示すメッセージを送ってもよく、それからサーバはこのコンテンツの受信にまだ興味を持っていることを保証するために視聴しているクライアントに定期的にポーリングメッセージを送ることができる。クライアントからの応答の経過を追うことによって、サーバはビデオフィードのデータキャストを継続することを決定できる。本発明のあるいくつかの実施形態では、複数のクライアントの少なくとも１人のクライアントが少なくとも１つの情報源からのストリーミングコンテンツを受信することを望んでいるかどうかの決定が行われる。この決定は、最近受信されたポーリングメッセージの数と、少なくとも１つのポーリングメッセージが最近受信されたかどうかとのうちの少なくとも１つに基づいて、少なくとも１つの情報源からのストリーミングコンテンツの受信を継続するという少なくとも１人以上のクライアントによる希望を示す、複数のクライアントのうちの１人以上のクライアントから受信されたポーリングメッセージを評価することを含み得る。これに関して、ポーリングメッセージがシステム管理者などによって識別される所定の時間内または可変時間内に受信されていなければ、どのクライアントもストリーミングビデオを受信することを望んでいないという決定が実行できる。あるいくつかの実施形態ではこの決定は、ポーリング質問のそれぞれの受信者が少なくとも１つの情報源からのストリーミングコンテンツの受信を継続することを望んでいるという確認をそれぞれの受信者から要求するポーリングメッセージを１人以上のクライアントに送ることを含む。これは更に、ポーリング質問のそれぞれの受信者からの応答を評価すること、および／またはポーリング質問のそれぞれの受信者からの応答の欠如を評価することを含み、応答がコンテンツ受信に対する否定的な希望を示す場合、および／または応答が受信されない場合にどのクライアントもこのコンテンツを受信することを望んでいないという決定が実行できる。
【００２３】
したがって本発明のあるいくつかの実施形態は、クライアントの使用および／または要求に基づいてストリーミングマルチメディアコンテンツを選択的にマルチキャストできるシステムを提供することによって従来技術の問題に対する独自の解決策を与えることが理解される。
【００２４】
本発明のあるいくつかの実施形態は、ネットワークプロトコルのいわゆるアプリケーション層においてプログラミング／ロジック／ソフトウエア／制御などによって実現できる。あるいくつかの実施形態ではアプリケーション層は、ユーザがアプリケーションを介してネットワーク上の情報にアクセスすることを可能にする。この層は、ユーザがアプリケーションと、またしたがってネットワークと対話するための主要なインタフェースであり得る。アプリケーション層プロトコルのいくつかの例は、限定ではなく単なる例としてＴｅｌｎｅｔ、Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＦＴＰ）、Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＳＭＴＰ）、およびＨｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）を含む。あるいくつかの実施形態ではネットワークプロトコルは、オープンシステムインターコネクション（ＯＳＩ）モデルの７層の一部または全部を含んでもよく、アプリケーション層はこのモデルの７番目の層に類似している。すなわち７層を有するＯＳＩモデルを有するネットワークでは、本発明のあるいくつかの実施形態を実現するプログラミング、ロジック、ソフトウエアおよび／または制御は、７番目の層またはそれの同等物に存在する。
【００２５】
本発明の一例示的実施形態には、ネットワーク上でストリーミングメディアコンテンツを少なくとも１つの情報源から複数のクライアントに配信するための方法が存在する。この方法は、複数のクライアントのうちの少なくとも１人のクライアントに第１のストリーミングコンテンツをマルチキャストし、複数のクライアントの誰もこの第１のストリーミングコンテンツの受信を継続することを望んでいないという決定がネットワークプロトコルのアプリケーション層で行われた(例えばアプリケーション層におけるロジックによって行われ得る)時に第１のストリーミングコンテンツのマルチキャストを終了させるという工程を備え得る。
【００２６】
本発明は、本発明を実施するための方法と、本発明を実施するためのソフトウエアと、本発明を実施するためのロジック（ハードウエア、ソフトウエアおよび／またはファームウェアを含む）と、本発明を実施するように構成された装置とを含む。したがって本発明は、本発明を実施するためのアルゴリズムと本明細書に記載されたシステムおよび方法とを実現するための、また本明細書に記載された装置の制御のための、またここに説明された方法の実現のためのプログラム製品とハードウエアとファームウェアとを含む。
【００２７】
本明細書で使用されているような用語「プロセッサ」が、単純な回路と複雑な回路の両方ならびにコンピュータプロセッサを含むことは留意される。
【００２８】
本発明の教示が２００１年７月２５日に出願されたＰｅｔｅｒ  ＭｏｔｔｕｒおよびＥｔｈａｎ  Ｚｉｍｍｅｒによる「Methods and Systems for Networked Camera Control」と題する米国特許出願第０９／９１２，８６９号と、２００２年１１月２１日に出願されたＰｅｔｅｒ  Ｍｏｔｔｕｒによる「Methods and Systems to Control Access to Network Devices」と題する米国特許出願第１０／３０１，３４４号との一方または両方の教示と組み合わされ得ることは更に留意されるが、これらの出願の内容は全体として本明細書に引例によって組み込まれている。これは特に、カメラネットワークとそこで論じられた付随的な構成要素とに関する教示に関連する場合である。
【００２９】
本発明のあるいくつかの実施形態には、少なくとも１つの情報源から第１のストリーミングコンテンツをサーバによって受信し、ネットワーク上に第１のストリーミングコンテンツを置いてこの第１のストリーミングコンテンツをマルチキャストし、少なくとも１つの情報源から第１のストリーミングコンテンツをサーバによって受信しながら、複数のクライアントのすべてが少なくとも１つの情報源からマルチキャストされた第１のストリーミングコンテンツの受信を望むことを止めたかどうかを決定し、複数のクライアントのすべてが少なくとも１つの情報源からマルチキャストされた第１のストリーミングコンテンツの受信を望むことを止めたという決定が行なわれれば、第１のストリーミングコンテンツがネットワークに入り続けることを防止し、複数のクライアントのうちの少なくとも１人が少なくとも１つの情報源からマルチキャストされた第１のストリーミングコンテンツの受信を望み続けているという決定が行なわれれば、第１のストリーミングコンテンツのマルチキャスティングを続けてネットワーク上に第１のストリーミングコンテンツを置き続けるという工程を備える、上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、複数のクライアントのうちの少なくとも１人のクライアントが複数の情報源のうちの少なくとも１つの情報源を受信することを望んでいるかどうかを決定し、少なくとも１つの情報源を少なくとも１人のクライアントにマルチキャストし、複数のクライアントの誰も少なくとも１つの情報源からのコンテンツの受信を継続することを望んでいなければこの少なくとも１つの情報源のマルチキャストを終了させる;という工程を備える、上記／下記のような方法／システム／装置が存在する。
【００３０】
あるいくつかの実施形態には、サーバが第１の情報源から第１のストリーミングメディアコンテンツを受信することに適応し、この受信された第１のストリーミングメディアコンテンツを複数のクライアントのうちの少なくとも１人のクライアントにマルチキャストすることに適応し、またサーバが、あるいくつかの実施形態では複数のクライアントのうちの誰かが第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することと、第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することとのうちの少なくとも１つを望んでいるかどうか決定するためにネットワークプロトコルのアプリケーション層に在るロジックを含み、またサーバが、あるいくつかの実施形態では、どのクライアントも第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することを望んでいないということが決定されれば第１のストリーミングメディアコンテンツのマルチキャストを開始しないことと、どのクライアントも第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することを望んでいないということが決定されれば第１のストリーミングメディアコンテンツのマルチキャストを終了させることとのうちの少なくとも１つのためにネットワークプロトコルのアプリケーション層に在るロジックを含む、上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、サーバが、あるいくつかの実施形態でネットワークプロトコルのアプリケーション層において、少なくとも１つの情報源からストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つに対する１人以上のクライアントによる希望を示す、複数のクライアントのうちの１人以上のクライアントから受信されたポーリングメッセージを評価し、この評価に基づいてどのクライアントも第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することを望んでいないと決定されれば、第１のストリーミングメディアコンテンツのマルチキャスティングを開始しないことと、どのクライアントも第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することを望んでいないと決定されれば、第１のストリーミングメディアコンテンツのマルチキャスティングを終了させることとのうちの少なくとも１つをすべきかどうかを決定するためのロジックを含む、上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、ポーリング質問のそれぞれの受信者が少なくとも１つの情報源からストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つを望んでいるという確認を要求するポーリングメッセージを複数のクライアントのうちの１人以上のクライアントに送ることにサーバが適応し、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からのストリーミングコンテンツを受信することとストリーミングコンテンツの受信を継続することとのうちの少なくとも１つを望んでいるかどうかに関する決定を行うことの少なくとも１つのためにポーリングメッセージに対する受信された応答を分析することとポーリングメッセージに対する受信された応答の欠如を評価することとのうちの少なくとも１つのためのロジックをネットワークプロトコルのアプリケーション層に含む、上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、第１の情報源から第１のストリーミングメディアコンテンツを受信するように適応し、この受信された第１のストリーミングメディアコンテンツを複数のクライアントのうちの少なくとも１人のクライアントにマルチキャストするように適応したサーバが存在し、このサーバは第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することと、第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することとのうちの少なくとも１つを複数のクライアントのうちの誰かが望んでいるかどうかを決定するためのロジックを含み、またサーバは、どのクライアントも第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することを望んでいないという決定がなされることとどのクライアントも第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することを望んでいないという決定がなされることとのうちの少なくとも１つであれば、第１のストリーミングメディアコンテンツがネットワーク上に置かれるのを防止することと第１のストリーミングメディアコンテンツがネットワーク上に置かれ続けることを防止することとのうちの１つのためのロジックを含む、上記／下記のような方法／システム／装置が存在する。
【００３１】
あるいくつかの実施形態には、少なくとも１つの情報源からのストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つに対する１人以上のクライアントによる希望を表す、複数のクライアントのうちの１人以上のクライアントから受信されたポーリングメッセージを評価することと、この評価に基づいて、どのクライアントも第１のストリーミングメディアコンテンツのマルチキャスト伝送を受信することを望んでいないということが決定されることと、どのクライアントも第１のストリーミングメディアコンテンツのマルチキャスト伝送の受信を継続することを望んでいないということが決定されることとのうちの１つであれば、第１のストリーミングメディアコンテンツがネットワーク上に置かれることを防止することと、第１のストリーミングメディアコンテンツがネットワーク上に置かれ続けることを防止することとのうちの少なくとも１つをすべきかどうかを決定するためのロジックをサーバが含む、上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、ポーリング質問のそれぞれの受信者が少なくとも１つの情報源からストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つを望んでいるという確認を要求するポーリングメッセージを複数のクライアントのうちの１人以上のクライアントに送ることにサーバが適応し、複数のクライアントのうちの少なくとも１人のクライアントが少なくとも１つの情報源からのストリーミングコンテンツを受信することと受信を継続することとのうちの少なくとも１つを望んでいるかどうかに関する決定を行うことの少なくとも１つのためにポーリングメッセージに対する受信された応答を分析することとポーリングメッセージに対する受信された応答の欠如を評価することとのうちの少なくとも１つのためのロジックを含む、上記／下記のような方法／システム／装置が存在する。
【００３２】
あるいくつかの実施形態には、実行されるときに上記および／または下記の種々の工程、方法などの一部または全部を機械に実行させるための機械可読プログラムコードを備える、少なくとも１つの情報源から複数のクライアントにストリーミングメディアコンテンツを配信するためのプログラム製品を備えるプログラム製品が存在する。あるいくつかの実施形態では機械はサーバシステムであって、あるいくつかの実施形態ではプログラム製品はネットワークプロトコルのアプリケーション層での利用に適応している。
【００３３】
あるいくつかの実施形態には、実行されるときに上記および／または下記の種々の方法／工程などの一部または全部を機械に実行させるための機械可読プログラムコードを備える、少なくとも１つの情報源から複数のクライアントにストリーミングメディアコンテンツを配信するためのプログラム製品が存在する。あるいくつかの実施形態には複数のストリーミングビデオコンテンツの全ビットレートのためにネットワーク帯域幅容量を超えることなしにネットワーク上で複数のストリーミングビデオコンテンツを配信するための上記および／または下記の方法／システム／装置が存在し、この方法は複数のストリーミングビデオコンテンツの全ビットレートがネットワーク帯域幅容量に近づくならば第１のストリーミングコンテンツが第１のストリーミングビデオコンテンツになる上記／下記の種々の工程／方法などの一部または全部を実行するという工程を備える。
【００３４】
あるいくつかの実施形態には、複数のストリーミングビデオコンテンツの全ビットレートがネットワーク帯域幅容量を超えるならば、新しいクライアントが第１のストリーミングコンテンツを受信することを防止することを含む上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、新しいクライアントが第１のストリーミングコンテンツを受信することを防止する際に第１のストリーミングコンテンツの受信の拒否を告知するメッセージを新しいクライアントに提供することを含む、上記／下記のような方法／システム／装置が存在する。あるいくつかの実施形態には、複数のストリーミングビデオコンテンツの全ビットレートのためにネットワーク帯域幅容量を超えることなしにネットワーク上で複数のストリーミングビデオコンテンツを配信するための上記／下記のような方法／システム／装置が存在し、この方法は複数のストリーミングビデオコンテンツの全ビットレートがネットワーク帯域幅容量に近づくならば、第１のストリーミングコンテンツが第１のストリーミングビデオコンテンツになる、上記／下記の種々の工程／方法の一部または全部を実行するという工程を備える。
【００３５】
あるいくつかの実施形態には、第２のビデオカメラシステムによって生成されたビデオコンテンツを含む少なくとも第２のストリーミングコンテンツを複数のクライアントのうちの少なくとも１人のクライアントにマルチキャストすることと、複数のクライアントのうちの少なくとも１人が第２のストリーミングコンテンツの受信を継続することを望んでいるという決定が、あるいくつかの実施形態においてネットワークプロトコルのアプリケーション層で行われた後に第２のストリーミングコンテンツのマルチキャストを継続することとを更に備える上記／下記のような方法／システム／装置が存在し、あるいくつかの実施形態ではマルチキャストする工程は同じサーバを通して行われる。あるいくつかの実施形態には、サーバと、このサーバにそれぞれのストリーミングビデオコンテンツを送ることに適応した複数のカメラとを備えるビデオ配信システムである、上記／下記に説明されている方法／システム／装置が存在し、この場合、サーバは送られるストリーミングビデオコンテンツの少なくとも一部を受信することに適応し、また受信されたストリーミングメディアコンテンツの少なくとも一部をネットワーク上の複数のクライアントにマルチキャストすることに適応し、サーバによって受信され得るストリーミングビデオコンテンツの全ビットレートはネットワーク帯域幅を超え、またサーバは受信されたストリーミングビデオコンテンツの少なくとも１つがクライアントによって見られることを望まれているかどうかを決定し、少なくとも１人のクライアントが受信されたストリーミングビデオを見ることを望まなければ、この少なくとも１つの受信ストリーミングビデオをネットワーク上に置かないことによってネットワーク帯域幅を超えない全ビットレートにそれぞれのストリーミングメディアコンテンツのマルチキャストの数を制限することに適応している。
【００３６】
本発明の開示が与えられれば、当業者は本発明の範囲と精神の内で他の実施形態と修正とがあり得ることを認める。したがって本発明の範囲と精神の内の本開示から当業者によって達成可能なすべての修正は、本発明の更なる実施形態として含まれるべきである。したがって本発明の範囲は付属の特許請求の範囲に記載されたように定義されるべきである。
【図面の簡単な説明】
【００３７】
【図１】本発明の好ましい実施形態のコンピュータネットワークの概略図である。
【図１】
2009508399.tif 000002