(57)【特許請求の範囲】
【請求項１】
ユニキャストクライアント要求をマルチキャストクライアント要求に変換する方法であって、
ユニキャストクライアント要求を受信するステップと、
ユニキャストクライアント要求宛先インターネットプロトコル（ＩＰ）アドレスおよびユニキャストクライアント要求宛先ポートを、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートの両方を含む検索項目に対応するマルチキャスト宛先ＩＰアドレスを含むマルチキャストレコードにマッピングするステップと、
ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに基づいて対応するマルチキャスト宛先ＩＰアドレスを選択するステップと、
ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに対応するマルチキャスト宛先ＩＰアドレスを使用して、受信したユニキャストクライアント要求を複数の宛先サーバに反映させるマルチキャストクライアント要求を送信するステップと、
相互に通信する能力を複数の宛先サーバに提供し、負荷分散手順に基づいて、マルチキャストクライアント要求が、各宛先サーバにより受信されたとき、複数の宛先サーバのうちの１つのみが、マルチキャストクライアント要求に応答するステップ、
を含む、方法。
【請求項２】
ユニキャストクライアント要求をマルチキャストクライアント要求に変換するためのシステムであって、
複数の宛先サーバと、
ユニキャストクライアント要求を受信しかつ、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートの両方をマルチキャスト宛先ＩＰアドレスを含むマルチキャストレコードにマッピングし、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートの両方を含む検索項目に対応するマルチキャスト宛先ＩＰアドレスを使用して、受信したユニキャストクライアント要求を複数の宛先サーバに反映させるマルチキャストクライアント要求を送信するルータと、
を含み、
前記ルータは、対応するマルチキャスト宛先ＩＰアドレスを、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに基づいて選択し、
前記複数の宛先サーバは、相互に通信する能力を有しており、負荷分散手順に基づいて、マルチキャストクライアント要求が、各宛先サーバにより受信されたとき、複数の宛先サーバのうちの１つのみが、マルチキャストクライアント要求に応答するようにする、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
様々な例示的実施形態は、ネットワーク通信に関する。より詳細には、様々な例示的実施形態は、ユニキャストクライアント要求をマルチキャストクライアント要求に変換するためのシステムおよび方法に関する。
【背景技術】
【０００２】
ユニキャストストリームは、宛先サーバとクライアント間の１対１接続である。一般には、このことは、各クライアントが、別個のストリームを受信し、かつ当該ストリームを要求したクライアントのみが当該ストリームを受信できることを意味する。あるいは、逆方向に送信する場合、クライアント要求は、ユニキャストパケットとして宛先サーバに送られる。コンテンツは、ユニキャストストリームとしてオンデマンドまたはブロードキャストいずれかの公開ポイントから配信され得る。ユニキャストストリーム送信においては、各クライアントは、ユニキャストストリームを受信している宛先サーバへの唯一の接続を有する。
【０００３】
上記に説明したように、クライアントから宛先サーバに送信するとき、クライアント要求は、ユニキャストパケットとして宛先サーバに送られる。これらの要求は、ホップバイホップで宛先サーバに転送される。そこで、宛先サーバは、要求を処理し、クライアントに応答を返す。全てのクライアント要求が宛先とされた宛先サーバで終結するこの単純なクライアント−サーバアーキテクチャに関連する問題がある。
【０００４】
しかしながら、ある種のアプリケーションは、クライアント要求が複数の宛先サーバに送られることを要求する。しかしながら、クライアント要求が、複数の宛先サーバに送られるべきである場合には問題がある。ユニキャストパケットを送信するための現状のシステムは、複数の宛先サーバに要求を送ることができない。その代わりに、クライアント要求は、クライアントサーバで複製され、他の宛先サーバにユニキャストされる。したがって、複数の要求は、不必要なトラヒックを引き起こし、通信システムの速度を落とし、かつその他の非効率性の可能性を高める。
【０００５】
したがって、元のクライアント要求を複製することなくユニキャストクライアント要求を複数の宛先サーバに送信する必要が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ユニキャストクライアント要求をマルチキャストクライアント要求の中で送信することについての現状の必要性を考慮して、様々な例示的実施形態の簡潔な概要が提示される。様々な例示的実施形態のいくつかの態様を強調および紹介することを意図しているが、本発明の範囲を限定するものではない、ある種の単純化および省略が、以下の概要の中でなされる可能性がある。当業者が本発明の概念をなし使用できるようにすることに適した、好ましい例示的実施形態の詳細な説明は、後述される。
【課題を解決するための手段】
【０００７】
第１の例示的実施形態によれば、ユニキャストクライアント要求をマルチキャストクライアント要求に変換する方法であって、ユニキャストクライアント要求を受信するステップと、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに対応するマルチキャスト宛先インターネットプロトコル（ＩＰ）アドレスを含むマルチキャストレコードに、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャスト要求宛先ポートをマッピングするステップと、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに対応するマルチキャスト宛先ＩＰアドレスを使用して、受信したユニキャストクライアント要求を複数の宛先サーバに反映させるマルチキャストクライアント要求を送信するステップと、を含む方法が、提供される。
【０００８】
第１の例示的実施形態によれば、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに対応する、対応するマルチキャスト宛先ＩＰアドレスは、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに基づいて選択される。
【０００９】
第１の例示的実施形態によれば、送信するステップは、マルチキャストレコードにアクセスすることにより、複数の宛先サーバに対応し、複数の宛先サーバの宛先ＩＰアドレスに対応する、複数の送信インターフェースを決定するステップと、マルチキャストクライアント要求を複数の送信インターフェースを介して送るステップと、を含む。第１の例示的実施形態によれば、方法は、新しい宛先サーバに対応する送信インターフェースが、マルチキャストレコードに追加されるように、参加要求を新しい宛先サーバから受信するステップをさらに含む。
【００１０】
第１の例示的実施形態によれば、方法は、マルチキャストクライアント要求の受信に先立って決定される負荷分散手順に基づいて所定数の複数の宛先サーバによりマルチキャストクライアント要求に応答するステップをさらに含む。
【００１１】
第１の例示的実施形態によれば、方法は、マルチキャストクライアント要求の受信に続いて決定される負荷分散手順に基づいて所定数の複数の宛先サーバによりマルチキャストクライアント要求に応答するステップをさらに含む。
【００１２】
第２の例示的実施形態によれば、ユニキャストクライアント要求をマルチキャストクライアント要求に変換するためのシステムであって、複数の宛先サーバと、ユニキャストクライアント要求を受信するように構成され、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートを、マルチキャスト宛先ＩＰアドレスを含むマルチキャストレコードにマッピングするようにさらに構成され、さらに、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに対応するマルチキャスト宛先ＩＰアドレスを使用して、受信したユニキャストクライアント要求を複数の宛先サーバに反映させるマルチキャストクライアント要求を送信するようにさらに構成されたルータと、を含むシステムが提供される。
【００１３】
第２の例示的実施形態によれば、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに対応する対応するマルチキャスト宛先ＩＰアドレスは、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに基づいて選択される。
【００１４】
第２の例示的実施形態によれば、ルータは、マルチキャストレコードにアクセスすることにより、複数の宛先サーバに対応し、複数の宛先サーバの宛先ＩＰアドレスに対応する、複数の送信インターフェースを決定するようにさらに構成され、かつ、複数の送信インターフェースを介してマルチキャストクライアント要求を送るようにさらに構成される。
【００１５】
第２の例示的実施形態によれば、ルータは、新しい宛先サーバに対応する送信インターフェースが、マルチキャストレコードに追加されるように、新しい宛先サーバからの参加要求を受信するようにさらに構成される。
【００１６】
第２の例示的実施形態によれば、複数の宛先サーバは、マルチキャストクライアント要求の受信に先立って決定される負荷分散手順に基づいて、所定数の複数の宛先サーバによりマルチキャストクライアント要求に応答するように構成される。
【００１７】
またさらに、第２の例示的実施形態によれば、複数の宛先サーバは、マルチキャストクライアント要求の受信に続いて決定される負荷分散手順に基づいて、所定数の複数の宛先サーバによりマルチキャストクライアント要求に応答するように構成される。
【００１８】
第２の例示的実施形態によれば、システムは、インターネットプロトコルテレビシステムを含み、さらにテレビジョン、ビデオおよびオーディオコンテンツを配信するように構成される。
【００１９】
第３の例示的実施形態によれば、ユニキャストクライアント要求をマルチキャストクライアント要求に変換するためのシステムであって、ユニキャストクライアント要求を受信するように構成され、複数の宛先サーバを含み、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートを、マルチキャスト宛先ＩＰアドレスを含み、かつ１つまたは複数のマルチキャスト宛先ＩＰアドレスの少なくとも１つが、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに対応する、マルチキャストレコードにマッピングするようにさらに構成され、さらに、ユニキャストクライアント要求宛先ＩＰアドレスおよびユニキャストクライアント要求宛先ポートに対応するマルチキャスト宛先ＩＰアドレスを使用して、受信したユニキャストクライアント要求を複数の宛先サーバに反映させるマルチキャストクライアント要求を送信するようにさらに構成されたルータを含む、システムが提供される。
【００２０】
第３の例示的実施形態によれば、複数の宛先サーバは、マルチキャストクライアント要求の受信に先立って決定される負荷分散手順に基づいて、所定数の複数の宛先サーバによりマルチキャストクライアント要求に応答するように構成される。
【００２１】
第３の例示的実施形態によれば、複数の宛先サーバは、マルチキャストクライアント要求の受信に続いて決定される負荷分散手順に基づいて、所定数の複数の宛先サーバによりマルチキャストクライアント要求に応答するように構成される。
【００２２】
またさらに、第３の例示的実施形態によれば、システムは：インターネットプロトコルテレビシステムを含み、さらに、テレビジョン、ビデオおよびオーディオコンテンツをブロードキャストするように構成される。
【００２３】
第３の例示的実施形態によれば、ルータは、マルチキャストレコードにアクセスすることにより、複数の宛先サーバに対応し、複数の宛先サーバの宛先ＩＰアドレスに対応する複数の送信インターフェースを決定するようにさらに構成され、かつ、マルチキャストクライアント要求を複数の送信インターフェースを介して送るようにさらに構成される。
【００２４】
第３の例示的実施形態によれば、ルータは、新しい宛先サーバに対応する送信インターフェースが、マルチキャストレコードに追加されるように、参加要求を新しい宛先サーバから受信するようにさらに構成される。
【００２５】
本発明の新規の特徴および利点は、添付の図面と関連付けて読むことにより、後述の好ましい実施形態の詳細な説明を参照することにより最もよく理解されるであろう。
【図面の簡単な説明】
【００２６】
【図１】ユニキャストクライアント要求を単一の宛先サーバに送信するための通信ネットワークを示す図である。
【図２】例示的実施形態によるユニキャストクライアント要求をマルチキャストクライアント要求として２つ以上の宛先サーバに送信するための通信ネットワークを示す図である。
【図３】図２に示される通信ネットワークの一部であるスイッチファブリックに含まれるマルチキャストレコードを示す図である。
【図４】例示的実施形態によるユニキャストクライアント要求をマルチキャストクライアント要求にマッピングする方法を示す図である。
【図５】さらなる例示的実施形態によるユニキャストクライアント要求をマルチキャストクライアント要求として２つ以上の宛先サーバに送信するための通信ネットワークを示す図である。
【発明を実施するための形態】
【００２７】
好ましい実施形態の様々な特徴がここで、同一の部品が同様の参照文字で識別される、図を参照して説明される。現時点で想到される本発明の最良の実施形態についての以下の説明は、限定する意味でなされるものではなく、単に本発明の一般的原理を説明する目的で提供される。
【００２８】
当業者に知られているように、ネットワーク内のクライアントおよび宛先サーバは、ユニキャスト送信モードとして知られているモード中で通信することが多い。ユニキャスト送信モードでは、クライアントは、１対１で宛先サーバにメッセージを送る、すなわち、クライアントサーバＡは、宛先サーバＢに要求を送り、宛先サーバＢは、（クライアントＡに）応答するが、通信リンクは、複雑ではあるかも知れないが、ポイントツウポイントである。「複雑性」は、クライアント要求が伝搬することができるが、ポイントＡからポイントＢへ（およびポイントＢからポイントＡへ）のみ依然として進む、異なる経路が存在する可能性があることから生起することになる。
【００２９】
ここで、図１を参照すると、ユニキャストクライアント要求（クライアント要求）２を単一の宛先サーバに送信するためのユニキャスト通信ネットワーク（ユニキャストネットワーク）５０を説明するブロック図が示される。ユニキャストネットワーク５０は、クライアント１、ルータ３および宛先サーバ８を含む。ルータ３は、ルータ入口４、スイッチファブリック６、およびルータ出口７をさらに含む。当業者には理解できるように、通信システム５０は、２つ以上のクライアントサーバ１、スイッチファブリック６、ルータ入口４および宛先サーバ８をさらに含むことができる。
【００３０】
ユニキャストネットワーク５０内で通信する場合、ユニキャストクライアントＲＴＣＰ要求（クライアント要求）２は、ユニキャストパケットとして宛先サーバ８へルータ入口４およびスイッチファブリック６を通じて送られる。当業者には理解できるように、図１は、通常、多くの他の通信装置が含まれている、ユニキャストネットワーク５０の単純化された概念図である。クライアント要求２は、ホップバイホップで宛先サーバ８に転送される。次いで、宛先サーバ８は、クライアント要求２を処理し、クライアント１に応答を返す。上記に説明したように、この単純なクライアント−サーバアーキテクチャに関連する問題は、全てのクライアント要求が、単一の宛先サーバ８で終結することである。
【００３１】
当業者には理解できるように、ある種のアプリケーションは、クライアント要求が複数の宛先サーバに送られることを要求する。クライアント要求を複数のサーバに転送する１つの理由は、負荷分散である。負荷分散は、資源利用率を最大化し、スループットを高め、かつ応答時間を減少させる（できれば最小化する）ために、２つ以上のコンピュータ、ネットワークリンク、ＣＰＵ、ハード装置、または他の資源間に仕事を分散させるための技術である。単一の構成要素ではなく、複数の構成要素を負荷分散と共に使用することはまた、（各構成要素が、複数の構成要素の平均で、そうでない場合より使われることが少ないので）信頼性を高めることができる。
【００３２】
複数のサーバにクライアント要求を転送する良い理由の別の例は、冗長性である。クライアント要求が冗長な宛先サーバ８に送られる場合、クライアント１は、本質的に２倍の応答の確率を有する。当業者に知られているように、クライアント要求２を複数の宛先サーバ８に転送するのには別の理由がある。しかし、当業者にはさらに理解できるように、典型的なユニキャスト転送では、要求を複数の宛先サーバ８に送ることはできない。したがって、例示的実施形態によれば、ユニキャストクライアント要求を複数の宛先サーバ８に送ることを容易にするシステムおよび方法が、本明細書において提示される。
【００３３】
図２では、例示的実施形態によるユニキャストクライアント要求２をマルチキャストクライアント要求として２つ以上の宛先サーバ８に送信するための通信ネットワークを例示する。図２に示すように、ネットワーク１００は、クライアント１ａ−ｎ、マルチキャストルータ１１および宛先サーバ８ａ−ｎを含む。マルチキャストルータ１１は、ルータ入口４、スイッチファブリック１０、マルチキャストレコード１２（スイッチファブリック１０の一部）、およびルータ出口７を含む。クライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７または宛先サーバ８のうちの任意の１つまたは複数はまた、好ましくは、例えば、いくつかの異なる製造業者のいずれか１つによって製造されたコンピュータなどの、１つまたは複数のハードウェア構成要素を使用して実装され、あるいは特化された通信機器として実装され得る。クライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７または宛先サーバ８のうちの任意の１つまたは複数は、マイクロプロセッサを含むことができる。マイクロプロセッサは、例えば、任意の形式のマイクロプロセッサまたはマイクロコントローラ、ディジタル信号処理（ＤＳＰ）プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルリードオンリーメモリ（ＰＲＯＭ）、あるいはこれらの任意の組合せなど、任意の形式のプロセッサであり得る。さらに、クライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７または宛先サーバ８のうちの任意の１つまたは複数は、さらに後述のように、スイッチファブリック１０の機能の１つまたは複数を実行するための命令を含むソフトウェアを含んだコンピュータ読み取り可能な媒体を読むために個々のマイクロプロセッサを使用することができる。
【００３４】
クライアント１、ルータ入口４、ルータ出口７、スイッチファブリック１０、または宛先サーバ８の各々はまた、任意の形式のコンピュータメモリあるいは、例えば、リードオンリーメモリ（ＲＯＭ）、コンパクトディスクリードオンリーメモリ（ＣＤＲＯＭ）、電気光メモリ、磁気光メモリ、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、などといった、クライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７または宛先サーバ８の各々に内部的にまたは外付けのいずれかに置かれた任意の他の形式の電子的記憶媒体を含むことができる。例示的実施形態によれば、それぞれのメモリは、例えば、任意の１つまたは複数のクライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７、または宛先サーバ８のうちの任意の１つまたは複数用の動作プログラムを含むことができる。後述の説明からわかるように、メモリは、例えば、コンピュータプログラミングについての当業者に知られている従来技術を使用してプログラムすることができる。例えば、コンピュータプログラムのステップを実行するための実際のソースコードまたはオブジェクトコードは、メモリ内に記憶することができる。クライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７、または宛先サーバ８の各々はまた、１つまたは複数のデータベースを含むことができる。データベースは、その中に記憶された電子的情報を記憶、維持管理およびアクセスできるようにするための任意の形式のコンピュータデータベースであり得る。
【００３５】
例示的実施形態によれば、スイッチファブリック１０は、単一のユニキャスト送信からマルチキャスト送信を容易にするまたは生成するマルチキャストレコード１２を含むように構成される。スイッチファブリック１０は、上記に説明したように、コンピュータ読み取り可能媒体、コンピュータメモリ、電気的記憶媒体、光記憶媒体、磁気記憶媒体、生物学的記憶媒体中、またはコンピュータ、マイクロプロセッサ内、などにマルチキャストレコード１２を記憶することができる。図３により詳細に示されたマルチキャストレコード１２は、ユニキャストクライアント要求２の宛先ユニキャストＩＰアドレス／宛先ＵＤＰまたはＴＣＰポートを、同様に様々なＩＰアドレスおよびポートを含むマルチキャストレコードにマッピングする。スイッチファブリック１０は次いで、マルチキャストレコードに合わすそれぞれに１つずつ、１つまたは複数の新しい要求を生成し、かつ元の要求をクライアントサーバ１からルータ出口７を通じて適切なマルチキャスト宛先サーバ８ａ−８ｎに再送信する。
【００３６】
例示的実施形態によれば、スイッチファブリック１０は、クライアントのユニキャスト要求２をルータ入口４を通じて受信し、次いで、これをマルチキャストクライアント要求１４に変換する。スイッチファブリック１０は、好ましくはスイッチファブリック１０のメモリ内に記憶された、宛先ユニキャストＩＰアドレスおよび／または宛先ＵＤＰもしくはＴＣＰポートをマルチキャストレコードにマッピングする（または合わせる）ことができる、マルチキャストレコード１２を含む。マルチキャストレコード１２は、クライアント要求２をマルチキャストクライアント要求１４として受信する能力がある関心の宛先サーバ８ａ−８ｎの一覧を含む。さらなる例示的実施形態によれば、宛先サーバ８は、１つまたは複数の他の宛先サーバ８に参加するためにインターネットグループマルチキャストプロトコル（ＩＧＭＰ）参加を利用して、マルチキャストクライアント要求１４を受信する能力のあるグループを形成することができる。
【００３７】
マルチキャストレコード１２の生成は、ネットワーク１００の所有者／事業者によって達成することができ、または別なパーティによって生成され、スイッチファブリック１０内に記憶することができる。クライアント要求２の宛先サーバ８ａ−８ｎへのマッピングは、複数の異なる方法のいずれか１つにより達成され得る。例示的実施形態によれば、例えば、第１のグループの例えば、クライアント１ａ、１ｂおよび１ｃからの任意のクライアント要求２は、第１のグループの宛先サーバ８に送られ得る。これと同一の規則に従って、第２のグループのクライアント１ｄ、１ｅおよび１ｆからのクライアント要求２は、第２のグループのマルチキャスト宛先サーバ８に送られ得る。第１および第２のグループのマルチキャスト宛先サーバ８は、重ね合わせる、または完全に区分することができる
したがって、この例示的実施形態によれば、クライアント１ａ、１ｂ、または１ｃからの任意のクライアント要求２は、宛先サーバ８ａ、８ｂ、および８ｃにマルチキャストクライアント要求１４ａ、１４ｂ、および１４ｃとしてマルチキャストされ得る。さらに、クライアント１ｄ、１ｅ、または１ｆからの任意のクライアント要求２は、宛先サーバ８ｄ、８ｅ、および８ｆにマルチキャストクライアント要求１４ｄ、１４ｅ、および１４ｆとしてマルチキャストされ得る。この例示的実施形態に対応する別の例によれば、クライアント１ｇおよび１ｈからのクライアント要求２は、宛先サーバ８ｂ、８ｄ、および８ｊを含む宛先サーバグループにマルチキャストされ得る。
【００３８】
さらなる例示的実施形態によれば、システム１００のルータ１１は、マルチキャストレコード１２にアクセスすることによって、複数の宛先サーバ８ａ−ｎに対応する複数の送信インターフェースを決定するようにさらに構成され得る。送信インターフェースは、複数の宛先サーバ８ａ−ｎの宛先ＩＰアドレスに対応する。上記決定に引き続いて、ルータ１１は、例示的実施形態によれば、複数の送信インターフェースを介してマルチキャストクライアント要求を送るようにまたさらに構成される。
【００３９】
別の例示的実施形態によれば、ルータ１１は、新しい宛先サーバ８に対応する送信インターフェースが、マルチキャストレコード１２に追加されるように、参加要求を新しい宛先サーバ８から受信するようにさらに構成される。
【００４０】
図４は、例示的実施形態によるユニキャストクライアント要求２を宛先サーバグループ８ａ−８ｎにマッピングする方法を示す。
【００４１】
例示的実施形態によれば、方法４００は、ステップ４０２での、スイッチファブリック１０によるユニキャストクライアント要求２の受信と共に始まる。クライアント要求２の受信に続いて、判断ステップ４０４において、スイッチファブリック１０は、適当なマルチキャストレコードが存在するかどうかを決定するためにマルチキャストレコード１２を調べる。適当なマルチキャストレコードが存在しない場合（判断ステップ４０４からの「Ｎｏ」の経路）、方法４００は、ステップ４０６に進み、ユニキャストの形でクライアント要求２を適当な宛先サーバ８への再送信に向かう。
【００４２】
しかしながら、適当なマルチキャストレコードが存在する場合、方法４００は、スイッチファブリック１０に、新しいマルチキャストクライアント要求１４をマルチキャストレコード１２中に掲載された指定宛先サーバ８に送信させる（ステップ４０８）。一例として、また図３を参照して、第１のクライアント要求２ａが宛先アドレス３．３．３．３を含むことを仮定してみよう。図３に示されるようにマルチキャストレコード１２中にこのクライアント要求２ａに対するマルチキャスト宛先レコードがないことから、スイッチファブリック１０は、単純に、宛先アドレス３．３．３．３を持つ宛先サーバ８に第１のクライアント要求２ａを再送信する。第２の例では、第２のクライアント要求２ｂは、宛先アドレス１．１．１．１、宛先ポート１２３４を含む。スイッチファブリック１０は、マルチキャストレコード１２を調べ、この特定のクライアント要求２ｂに対するマルチキャストレコードがあると決定し、かつ、クライアント要求２ｂを新しいマルチキャストクライアント要求１４として、図３に示される２３４．１．１．１の宛先アドレスに対応する宛先サーバ８に転送する。
【００４３】
さらなる例示的実施形態によれば、方法４００中の送信ステップ４０８は、マルチキャストレコード１２にアクセスすることにより、複数の宛先サーバ８ａ−ｎに対応し、複数の宛先サーバの宛先ＩＰアドレスに対応する、複数の送信インターフェースを決定するステップを含む。決定ステップに引き続き、方法４００は、マルチキャストクライアント要求１４を複数の送信インターフェースを介して送る。
【００４４】
別の例示的実施形態によれば、方法４００は、新しい宛先サーバ８に対応する送信インターフェースが、マルチキャストレコード１２に追加されるように、参加要求を新しい宛先サーバ８から受信するステップをさらに含む。
【００４５】
したがって、例示的実施形態によれば、クライアント１がクライアント要求２を送信すると、これはスイッチファブリック１０に到着することになる。そこで、クライアント要求２の宛先アドレスおよび宛先ポートに基づく検索を実行する。この検索に成功すると、当該実体は、マルチキャストレコードを有することになる。そこで、クライアントのユニキャスト要求を複製するためにマルチキャストレコードを使用することになる。この複製は、マルチキャストレコード中の全てのサーバが、マルチキャストクライアント要求１４としてクライアント要求２を受信する結果をもたらす。
【００４６】
上記に簡潔に説明したように、例示的実施形態によれば、マルチキャストルータ１１およびシステム１００（同様にマルチキャストルータ１３およびシステム２００、以下で詳細に説明される）は、クライアント要求の負荷分散を提供しかつ十分に損失のない冗長性を提供するために使用され得る。負荷分散は、マルチキャストクライアント要求１４が、各宛先サーバ８ａ−ｎにより受信されたとき、宛先サーバ８ａ−ｎの１つのみが、マルチキャストクライアント要求１４に応答するように、相互に通信する能力を宛先サーバ８ａ−ｎに提供することにより達成され得る。このように、データ送信作業を分割することにより、クライアント要求が実行される確率が、高まり、かつクライアント要求損失の確率が、減少する。ネットワークの全体的な有効性が、高まることになる。
【００４７】
ここで、図５を参照し、かつ、さらなる例示的実施形態によれば、マルチキャストルータ１３は、その中に内蔵された複数のサーバ８ａ−ｎを有することができる。図５に示されるように、マルチキャストルータ１３は、クライアント要求２中の宛先アドレスおよび宛先ポートをマルチキャストレコード１２にマッピングするマルチキャストレコード１２を用いて事前にプログラムされ得るスイッチファブリック１０を含む。マルチキャストレコード１２自体は、内蔵されたサーバ８ａ−ｎをもたらす送信インターフェースの一覧を使ってプログラムされる。例示的実施形態によれば、宛先サーバ８ａ−ｎは、マルチキャストルータ１３内のラインカードの形を取ることができる。
【００４８】
図５は、例示的実施形態による、クライアント要求２をマルチキャストクライアント要求１４として２つ以上の宛先サーバ８ａ−ｎに送信するための通信ネットワーク２００を例示する。図５に示されるように、ネットワーク２００は、クライアント１ａ−ｎおよびマルチキャストルータ１３を含む。マルチキャストルータ１３は、宛先サーバ８ａ−ｎ、ルータ入口４、スイッチファブリック１０、マルチキャストレコード１２（スイッチファブリック１０の一部）、およびルータ出口７を含む。図２に関して上記に説明したように、クライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７、または宛先サーバ８のうちの任意の１つまたは複数はまた、好ましくは、例えば、複数の異なる製造業者のいずれか１つにより製造されたコンピュータなどの、１つまたは複数のコンピュータの使用により実装され得る、あるいは特化された通信装置として実装され得る。図２に関して上記に説明したように、クライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７、または宛先サーバ８のうちの任意の１つまたは複数は、マイクロプロセッサを含むことができる。マイクロプロセッサは、例えば、任意の形式のマイクロプロセッサまたはマイクロコントローラ、ディジタル信号処理（ＤＳＰ）プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルリードオンリーメモリ（ＰＲＯＭ）、あるいはこれらの任意の組合せなど、任意の形式のプロセッサであり得る。さらに、図２に関連して上記に説明したように、クライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７、または宛先サーバ８のうちの任意の１つまたは複数は、さらに以下に説明するように、スイッチファブリック１０の機能の１つまたは複数を実行するための命令を含むソフトウェアを含んだコンピュータ読み取り可能な媒体を読むために個々のマイクロプロセッサを使用することができる。
【００４９】
図５の構成要素に関して、クライアント１、ルータ入口４、ルータ出口７、スイッチファブリック１０、または宛先サーバ８の各々はまた、任意の形式のコンピュータメモリまたは、例えばリードオンリーメモリ（ＲＯＭ）、コンパクトディスクリードオンリーメモリ（ＣＤＲＯＭ）、電気光メモリ、磁気光メモリ、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、などといった、クライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７、または宛先サーバ８の各々に内部的にまたは外付けのいずれかに置かれた任意の形式の電子的記憶媒体を含むことができる。例示的実施形態によれば、それぞれのメモリは、図５に示すように、例えば、クライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７、または宛先サーバ８のうちの任意の１つまたは複数用の動作プログラムを含むことができる。後述の説明からわかるように、メモリは、例えば、コンピュータプログラミングについての当業者に知られている従来技術を使用してプログラムすることができる。例えば、コンピュータプログラムのステップを実行するための実際のソースコードまたはオブジェクトコードは、メモリ内に記憶され得る。図５のクライアント１、ルータ入口４、スイッチファブリック１０、ルータ出口７、または宛先サーバ８の各々はまた、１つまたは複数のデータベースを含むことができる。データベースは、その中に記憶された電子的情報を記憶、維持管理およびアクセスできるようにするための任意の形式のコンピュータデータベースであり得る。
【００５０】
例示的実施形態によれば、マルチキャストスイッチファブリック１０は、単一のユニキャスト送信からマルチキャスト送信を容易にするマルチキャストレコード１２を含むように構成される。マルチキャストスイッチファブリック１０は、上記に説明したように、コンピュータ読み取り可能媒体、コンピュータメモリ、電気的記憶媒体、光記憶媒体、磁気記憶媒体、生物学的記憶媒体中、またはコンピュータ、マイクロプロセッサ内、などにマルチキャストレコード１２を記憶することができる。図３により詳細に示されたマルチキャストレコード１２は、ユニキャストクライアント要求２の宛先ユニキャストＩＰアドレス／宛先ＵＤＰまたはＴＣＰポートを、同様に様々なＩＰアドレスおよびポートを含むマルチキャストレコードにマッピングする。マルチキャストスイッチファブリック１０は次いで、新しい要求（マルチキャストクライアント要求１４）を生成し、元のクライアント要求２をマルチキャストクライアント要求１４としてクライアント１からルータ出口７を通じて適切なマルチキャスト宛先サーバ８ａ−ｎに送信する。
【００５１】
例示的実施形態によれば、マルチキャストスイッチファブリック１０は、ルータ入口４を通じてクライアント要求２を受信し、次いでこれをマルチキャストクライアント要求１４に変換する。マルチキャストスイッチファブリック１０は、宛先ユニキャストＩＰアドレスおよび／または宛先ＵＤＰもしくはＴＣＰポートをマルチキャストレコードにマッピングする（または合わせる）ことができる、好ましくはスイッチファブリック１０のメモリ内に記憶された、マルチキャストレコード１２を含む。マルチキャストレコード１２は、クライアント要求２をマルチキャストクライアント要求１４として受信する能力がある関心の宛先サーバ８ａ−８ｎの一覧を含む。
【００５２】
マルチキャストレコード１２の生成は、ネットワーク２００の所有者／事業者によって達成することができ、または別なパーティによって生成され、スイッチファブリック１０内に記憶され得る。クライアント要求２の宛先サーバ８ａ−８ｎへのマッピングは、図２に関して上記に説明したように、複数の異なる方法のいずれか１つにより達成され得る。
【００５３】
好ましい実施形態によれば、マルチキャストルータ１１またはマルチキャストルータ１３、およびマルチキャストレコード１２を持つスイッチファブリック１０を伴う、システム１００またはシステム２００の一使用例は、ＩＰＴＶネットワークである。当業者に知られているように、インターネットプロトコルテレビ（ＩＰＴＶ）は、ディジタルテレビサービスが、インターネットプロトコル（ＩＰ）を使用してネットワーク基盤を介して配信されるシステムである。通常、ＩＰＴＶコンテンツの配信は、一般にＴＶが、広帯域接続以外では獲得することが非常に困難である、大量のデータを要求することから、広帯域接続により実行される。
【００５４】
コンテンツがどのように配信されるかにかかわらず、複数の視聴者が同一のチャンネルを見たいと望み、チャンネル輻輳を招く、または単一の利用者が必要以上に素早くチャンネル間を「サーフィンする」または動きまわることができる状況がしばしば見られる。前者の状況では、１つの宛先サーバ８は、複数の利用者が同一のＩＰＴＶコンテンツを要求する場合過負荷となり、それによって過度の使用によるシステムの「崩壊」を招く可能性がある。後者の状況では、クライアント１は、第１のチャンネルに対する第１のクライアント要求２ａを送り；次いで、第１のクライアント要求２ａが送られた直後に、第２のチャンネルからコンテンツを要求する第２のクライアント要求２ｂが送られ；次いで、第３の、さらに第４のクライアント要求２ｃ、２ｄが送られる、などである。複数のクライアント要求２ａ−ｎが、第１の宛先サーバ８ａに次々に到着し、（要求に応じてＩＰＴＶコンテンツを記憶しかつ配信する）宛先サーバ８ａは、（複数のクライアント要求２ａ−ｄで）利用者が要求したのと同じほど早く所望のチャネルコンテンツ情報を送信することが難しくなる恐れがある。
【００５５】
例示的実施形態によれば、内蔵された宛先サーバ８ａ−ｎを持つマルチキャストルータ１３の使用は、チャネル変更によるコンテンツ配信遅延および複数利用者による宛先サーバの過負荷を実質的に取り除きまたは削減することができる。例示的実施形態によれば、複数の宛先サーバ８ａ−ｎには、システム２００内のマルチキャストルータ１３内に同一のＩＰＴＶコンテンツがロードされる。クライアントが、チャネルを急速に変更する場合、宛先サーバ８ａ−ｎは、最も利用可能でかつ準備ができている宛先サーバ８が最新のチャネル要求に応答できるようにして、それらの間で新しいチャネル要求を引き渡す。異なる宛先サーバ８ａ−ｎ間で負荷を分散させることにより、チャネル変更（またはサーフィンすること）に対してのより迅速な応答時間が達成され得る。さらに、もし、マルチキャストルータ１３（または１１）が使用されており、かつ複数の利用者が同一のチャンネルを要求し、チャンネル変更またはサーフィンが僅かであるまたはないとしても、本明細書で説明される例示的実施形態によれば、ユニキャスト要求が、複製され、かつ複数の宛先サーバが、要求を受信し、かつ異なるサーバが、所望のコンテンツを配信するように選択される（または「自発的に提供される」）ことができることから、宛先サーバ８ａ−ｎは、負荷をそれらの間に分散させることができる。当業者には理解できるように、スイッチファブリック１０およびマルチキャストレコード１２を持つマルチキャストルータ１１および１３の使用についての本明細書で説明される例示的実施形態は、ＩＴＰＶサーバまたはその形式のコンテンツに限定されるものではない。実質的に、宛先サーバ上に記憶することができる任意のコンテンツ（すなわち、データ、ビデオ、オーディオ、またはこれらの任意の組合せ）は、応答時間を高めるために本明細書で説明した説明した実施形態を活用し、コンテンツを配信するためのシステムのさらなるロバスト性を提供することができる。
【００５６】
本発明は、本発明の特定の例示的実施形態を参照して説明されてきた。しかしながら、上記に説明した例示的実施形態以外の特定の形態で本発明を具現化する事が可能であることは、当業者には容易に明らかになろう。このことは、本発明の精神および範囲を逸脱することなく行うことができる。例示的実施形態は、単に説明のためのものであり、決して制限するものと考えられるべきではない。本発明の範囲は、これまでの説明によってではなく、添付の特許請求の範囲およびこれらの均等物によって定義される。
【００５７】
全ての米国特許および出願、外国特許、および上記説明の文献は、その全体が参照により本明細書に組み込まれている。
【図１】
0005746688.tif 000002
【図２】
0005746688.tif 000003
【図３】
0005746688.tif 000004
【図４】
0005746688.tif 000005
【図５】
0005746688.tif 000006