説明

マルチキャスト送信システムおよび方法

マルチキャスト送信(10)システムおよび方法が開示される。一実施形態では、相互接続されたノード(16−1〜16−N)を含む仮想交換ネットワークがネットワーク(14)に埋め込まれる。送信者(22−1〜22−N)がルートノードと通信するよう配置され、受信者(24−1〜24−N)が一式のエッジノードと通信するよう配置される。送信者は、受信者(24−1〜24−N)が加入したデータストリームのパケットを発行する。データストリームのパケットは、送信者(22−1〜22−N)から仮想交換ネットワーク(12)を介して受信者(24−1〜24−N)へと、最適仮想交換ネットワーク接続による暗黙のシグナリングにより発布される。相互接続されたノード(16−1〜16−N)は、発行されたデータストリームのパケット(150)を受信すると、発行されたデータストリームのパケット(150)のN個のインスタンス(94)を、受信者(24−1〜24−N)と他の相互接続されたノード(16−1〜16−N)とからなる群から選択されたN人の受領者に対してマルチキャストする。

【発明の詳細な説明】
【背景技術】
【0001】
本発明は、概して、バルクデータ転送用途に係り、特に、仮想交換ネットワークにより、例えば1人の送信者から複数の受信者への大量の同時データ配信を実質的に可能とするマルチキャスト送信システムおよび方法に係る。
【0002】
ISOトランスポートプロトコル、TCP、またはUDP等の殆どのハイレベルネットワークプロトコルが、ユニキャスト送信サービスのみを提供している。つまり、ネットワークのノードは、一時には1つの他のノードへの送信機能しか有さない。この潜在的にポイントツーポイントである送信サービスは、各送信先へ多数の送信データのコピーを送信するときにユニキャスト送信を反復する必要がある。
【0003】
一方で、マルチキャスト送信サービスは、1人の送信者から複数の受信者へデータを配信する効率的な方法の1つである。各個々の受信者に対してそれぞれ別個のデータのコピーを送信する代わりに、送信者は、全ての受信者へと1つのコピーを送信するだけでよい。既存のマルチキャストによる解決法は信頼性があり、自己修復型ではあるが、当然可搬性が制限され、マルチキャスト送信サービスの配置が限られている。これらのハードウェアレベルによる解決法は、サーバベース、およびルータベースの解決法を含むが、小型化は出来ず、マルチキャストおよびブロードキャストへの適用のサポート面で管理が難しい。そこで、利用および管理が簡単で、小型化可能で、様々なオペレーティング環境下での可搬性に優れ、幅広い通信サービスをサポートする特徴を備え、ポイントツーポイント、マルチキャスト、およびブロードキャストサービスが可能なソフトウェアベースの解決法への需要が高まっている。
【発明の概要】
【0004】
マルチキャスト送信システムおよび方法が開示される。一実施形態では、相互接続されたノード(VXNノード)を含む仮想交換ネットワーク(VXN)がネットワーク内に埋め込まれている。送信者は、ルートノードと通信するよう配置され、複数の受信者が一式のエッジノードと通信するよう配置される。送信者は、受信者が加入したデータストリームのパケットを発行する。データストリームのパケットは、仮想交換ネットワークを介して送信者から受信者へと最適仮想交換ネットワーク接続を利用する暗示的なシグナリングにより伝播される。相互接続されたノード各々は、発行されたデータストリームのパケットを受信して、発行されたデータストリームのパケットのN個のインスタンスを、複数の受信者および/または相互接続されたノードを含みうるN人の受領者に対してマルチキャストする。
【0005】
ここで提示する教示により、既存のネットワークインフラストラクチャは、無制限の数のマルチキャストポイントを介して、無制限の数のユーザへ、データストリームのパケットをマルチキャストすることができるようになる。マルチキャスト機能は動的構成が可能なので、大きな会議ブリッジ(conference bridge)を設定するポート割り当て用のアプリケーション制御以外は、管理オーバヘッドが不要である。発行および加入方式(publish and subscription model)により、幅広い柔軟性が提供され、且つ、マルチキャスト接続が利用可能となるので、各受信者は、特殊な設定または事前の管理ステップなしに、任意の数の発行送信者からの選択受信機能を有するようになる。
【0006】
VXNおよびVXNノードは、単純且つスケーラビリティに優れた解決法を提供し、インターネット等のネットワークを介したリアルタイムのデータ交換、VXNの自動フェールオーバ回復、および、データストリームを任意のIPネットワークを介して送信、受信、ユニキャスト、マルチキャスト、およびブロードキャストする柔軟なメディア通信トポロジーを提供すべく、ポイントツーポイント、マルチキャスト、およびブロードキャストサービスを可能とする。これにより、例えば会議セッションその他の用途のためにルータ容量を管理する必要性がなくなり、ブロードキャスト用途用に大量のデータストリーム受信者用に対して容量を確保することができるようになる。
【図面の簡単な説明】
【0007】
本発明の特徴および利点の完全な理解を促すべく、本発明の詳細な記載を、以下の添付図面とともに参照する。
【0008】
【図1】ここで開示する実施形態によるマルチキャスト送信用のネットワークのブロック図である。
【0009】
【図2】ポイントツーマルチポイント送信用に実装されたマルチキャスト送信のシステムの一実施形態を示すマルチキャストツリーの構想図である。
【0010】
【図3】マルチポイントツーマルチポイント送信用に実装されたマルチキャスト送信のシステムの別の実施形態を示す別のマルチキャストツリーの構想図である。
【0011】
【図4】ポイントツーマルチポイント送信用に実装されたマルチキャスト送信のシステムのさらなる実施形態を示すマルチキャストツリーの構想図である。
【0012】
【図5】トポロジー管理の一実施形態を経る図2のマルチキャストツリーの構想図である。
【0013】
【図6】トポロジーサーバのアーキテクチャの一実施形態のブロック図である。
【0014】
【図7】仮想交換ネットワーク(VXN)ノードの層状化アーキテクチャの一実施形態のブロック図である。
【0015】
【図8】受信者および受信者の層状化アーキテクチャの一実施形態のブロック図である。
【0016】
【図9A】VXNパケット構造の一実施形態のブロック図である。
【図9B】VXNパケット構造の一実施形態のブロック図である。
【0017】
【図10】ここで開示する教示によるマルチキャスト送信方法の一実施形態のフローチャートである。
【発明を実施するための形態】
【0018】
本発明の様々な実施形態の利用例および応用例を以下に記載するが、本発明は様々な特定のコンテキストで実施されうる多くの適用可能な発明構想を提供することを理解されたい。ここで記載する特定の実施形態は、本発明を利用および応用する特定の用途の例示にすぎず、本発明の範囲を制限するものではない。
【0019】
先ず図1を参照すると、ここで教示されている教示の実施形態によるネットワーク12に実装されるマルチキャスト送信システム10が示されている。マルチキャストを確実に行う仮想交換ネットワーク(VXN)14は、ネットワーク12に埋め込まれ、16−1から16−Nという参照番号付けをされた相互接続されたVXNノード1〜Nを含む。トポロジーサーバ18−1〜18−Nは、トポロジーサーバサブシステム20を形成しており、ピアツーピア関係で相互接続される。トポロジーサーバサブシステム20は、1つのトポロジーサーバのみを含みえて、重複がトポロジーサーバサブシステム20の一部を形成しうる。加えて、トポロジーサーバは、VXN14と通信するよう配置される。送信者22−1〜22−Nは、VXN14に接続されて、コンテンツを発行する。受信者24−1〜24−Nは、VXN14へ相互接続されて、発行コンテンツに加入し、受信する。
【0020】
VXN14マルチキャストは、受信者22−1から、例えば受信者24−1〜24−N群へデータを配信する効率的方法を提供する。各個々の受信者24へデータのコピーを別個に送信する代わりに、送信者22−1は全ての受信者24−1〜24−Nに対して1つのコピーを送信し、これが反復される。VXN14は、受信者にVXNマルチキャストに参加させ、ネットワーク12を介して実質的にリアルタイムにデータストリームのパケットをマルチキャストおよび交換させる。以下で詳述するように、送信者22−1のさらなる努力または送信なしに、VXNノード16−1〜16−Nは、任意の他のVXNノード16−1〜16−Nへデータストリームのパケットを送信させ、任意の受信者24−1〜24−Nに、任意のVXNノード16−1〜16−Nからデータストリームのパケットを受信させる。VXN14は、このようにして、既存のIPネットワークでは不可能な固有の通信サービスを可能とする。
【0021】
VXN14のマルチキャスト機能は、ライブコンテンツ、進行中のコンテンツ、およびオンデマンドのコンテンツを含むポイントツーマルチポイントおよびマルチポイントツーマルチポイントマルチキャストを提供する。マルチキャストコンテンツは、概して、異なる要件を有する異なるマルチキャストアプリケーションに関しうる。例えば、リアルタイムのマルチポイントツーマルチポイントマルチメディアマルチキャストアプリケーション(例えば、全国ビデオ会議等)が可能となり、さらに、ポイントツーマルチポイントデータ転送アプリケーション(例えばソフトウェアまたは記録されているまたは進行中のライブイベントコンテンツの配信等の)も可能となる。
【0022】
進行中のコンテンツに関しては、VXN14は、記録されているデータストリームのパケットの時間をずらすことのできる記録機能を提供する。例えば、送信者は、コンテンツ送信を午後8時に開始して、午後9時に終了するとする。受信者は、このコンテンツを午後8時から午後9時まではライブで受信することができる。加えて、受信者は、このコンテンツを送信中に受信開始することができる。例えば午後8時05分に受信者が午後8時のコンテンツの受信を開始して、マルチキャスト中にマイナス5分時間をずらすことができる(または、5分遅らせることができる)。この結果マルチキャストは、この受信者においては9時05分に終了することになる。さらに、VXN14の記録機能は、進行中のマルチキャストに参加する受信者に対して、マルチキャストを最初からライブの部分までナビゲートする機能、さらにはライブの部分に参加する機能を提供する。さらに、時間をずらされたマルチキャストおよびライブのマルチキャストの間で受信を切り替える機能も提供される。マルチキャスト終了の後に、VXN14は、要求されるとマルチキャストのオンデマンドインスタンスを受信者に提供する。
【0023】
図2は、送信者22−1から受信者24−1〜24−11へVXN14を介してポイントツーマルチポイントマルチキャスト送信を実装するシステム10の一実施形態を示すマルチキャストツリーを示し、これは相互接続されたVXNノード16−1〜16−11を含む。しかし、VXN14は任意の数およびトポロジーのVXNノードを含みうる点を了承されたい。トポロジーサーバサブシステム20は、図示のようにローカルゾーン30−1〜30−4のマルチレベル階層で配置されるVXN14を熟知している。一実装例では、各トポロジーサーバ18−1、18−2は、ローカルゾーン30−1〜30−4の1以上を管理する。例えば、トポロジーサーバ18−1は、ローカルゾーン30−1、30−2を管理し、トポロジーサーバ18−2は、30−3、30−4を管理する。トポロジーサーバサブシステム20は、対応するローカルゾーン30−1〜30−4内の各VXNノード16−1〜16−11のローカル状態についての情報を収集する。収集された情報は、例えば、利用可能ポートインタフェースおよび到達可能な隣点を含み、この情報に基づいて、トポロジーサーバサブシステム20はVXNノード16−1〜16−11各対間の経路コストを決定する。
【0024】
ダイクストラベースのアルゴリズムのような最短経路の第1プロトコルを利用して、トポロジーサーバサブシステム20は、エンドポイント対として機能している任意の2つのVXNノード16−1〜16−11間の最適VXN接続(例えば、送信先ノードとして機能しているエッジノードへのルートノード)を含むグローバルマルチキャストトポロジーマップを生成する。もちろん、グローバルマルチキャストトポロジーマップは、同一コストの多数の経路をサポートしえて、一実装例では、次の「ホップアドレス」を、送信先への究極的に最適なルートを選択することで決定してよい。さらに、最適VXN接続は、最少コスト経路分析、負荷、好適な条件分析、およびその他のトラフィック管理係数に基づいて決定されてよい。最適VXN接続は、定期的に最適化を繰り返されて、動的にネットワーク条件を変更するよう満たされ、および、適合されてよい。トポロジーサーバサブシステム20は、グローバルマルチキャストトポロジーマップを利用して、ローカルマルチキャストルーティングトポロジーマップを構築して、VXN14に含まれうるルータ等のその他のネットワークエレメント、および、VXNノード16−1〜16−11を組み込む(populate)。各ローカルマルチキャストトポロジーマップは、グローバルマルチキャストルーティングトポロジーマップのサブセットであり、VXN14の画定領域へ情報を提供する。あるルータについては、例えば、該ルータに対してローカルマルチキャストトポロジーマップのみを提供して、グローバル情報を該ルータから隠すことで、より高いレベルのルーティング保護、および、ルーティングプロトコルトラフィック低減が可能となる。
【0025】
図示されているように、送信者22−1は、ルートノードであるVXNノード16−1と通信するよう配置される。送信者22−1は、マルチキャストの一環であるデータストリームのパケットを発行中である。この発行は、特定の実装例では、VXNアドレスと、アプリケーション割り当てされた、または任意に割り当てられたマルチキャスト名称と関連付けられている。一実施形態では、ルートVXNノード16−1が分かっていることで、トポロジーサーバサブシステム20は、VXNアドレス固有のローカルマルチキャストトポロジーマップおよびグローバルマルチキャストルーティングトポロジーマップ32を生成する。ローカルマルチキャストトポロジーマップは、適宜VXN14に組み込まれる。
【0026】
受信者24−1〜24−11は、一式のVXNノード16−2〜16−4、16−6〜16−7、および16−9〜16−10と通信するよう配置される。受信者24−1〜24−11は、それぞれ、送信者22−1が発行したデータストリームのパケットに加入している。一例として、受信者24−11は、加入信号をVXNノード16−10へ送る。VXN14加入モデルの一実装例では、暗黙のシグナリングを利用して、受信者24−11等の受信者が、VXNノード16−10等のエッジVXNノードへのパケットを有する加入信号を、提供された最適VXN接続を介して送信することで、マルチキャストアドレスに加入することができる。パケットをVXNアドレスに暗黙に送信する動作により、VXN14は、受信者を、加入信号に関連付けられた送信先アドレスによるマルチキャストに関連付けられたVXNアドレスに加入させることができる。1つの構成においては、受信者は、ヌルパケット(0のデータ長)をVXNアドレスに送信することでVXNアドレスに加入することができる。このヌルパケットは、他の受信者には伝播されない。その代わりに、このヌルパケットは、送信されたヌルパケットの送信先アドレスが表すVXNアドレスへ受信者を加入させることができる。
【0027】
加入信号を受信すると、VXNノード16−10は、送信者22−1が発行したデータストリームのパケットに割り当てられているVXNアドレスに、受信者24−11を関連付ける。発行されたデータストリームのパケットを受信すると、VXNノード16−10は、発行されたデータストリームのパケットを受信者24−11に転送する。一実施形態では、VXNノード16−10は、特定のVXNアドレスに加入している全ての受信者およびその他のVXNノードを識別するポート情報を有するテーブルを維持する。
【0028】
さらに、VXNノード16−10はデータストリームのパケットに加入していないので、VXNノード16−10は、加入信号を送信するが、この加入信号は、受信者24−11から、ルートノードであるVXNノード16−1への元の加入信号の派生物として捉えることができる。そしてVXNノード16−1は、発行されたデータストリームのパケットを、VXNノード16−10に転送して、今度はこれが、この発行されたデータストリームのパケットを受信者24−11へ転送する。送信者22−1から受信者24−11へのマルチキャスト部分については、VXNノード16−1からVXNノード16−10への経路は、エンドポイント(つまり、ルートVXNノード16−1およびエッジVXNノード16−10)が画定する接続が実現されるまで、加入信号および派生的な加入信号の形式で加入者信号が連続して逆進する(successively regressively traverse)最適VXN接続34を有する。この最適VXN接続34は、トポロジーサーバサブシステム20に格納されているグローバルマルチキャストルーティングトポロジーマップ32に含まれており、ローカルマルチキャストルーティングトポロジーマップによりVXN14内に実装される。
【0029】
さらなる例である受信者24−9に関しては、受信者24−9は、受信者24−9へのエッジノードとして機能するVXNノード16−8へ加入信号を送る。加入処理を行う際、VXNノード16−8は、内部にインストールされているローカルマルチキャストトポロジーマップのコンテンツに基づいて、VXNノード16−10へ派生的な加入信号を送信する。VXNノード16−10は既にデータストリームのパケットに加入済なので、VXNノード16−10は、第2の加入信号をVXNノード16−1へ送らない、というのも、受信者24−9に関しては、VXNノード16−1およびVXNノード16−8のエンドポイント間の最適仮想交換ネットワーク接続36が実現されているからである。VXNノード16−10の完全な振る舞いに関しては、ひとたび受信者24−10が同様にデータストリームのパケットに加入すると、VXNノード16−10はデータストリームのパケットのマルチキャストポイントとなる。データストリームのパケットのインスタンスを受信すると、VXNノード16−10は、データストリームのパケットのインスタンスを3つ送信する。受領者はそれぞれ、受信者24−11、VXNノード16−9、およびVXNノード16−8である。より一般的には、例えば、VXNノード16−1〜16−11のそれぞれが、受信した発行データストリームのN個のインスタンスを、N人の受領者(他のVXNノードまたは受信者を含みうる)に対してマルチキャストするマルチキャストポイントとして適合される。
【0030】
グローバルマルチキャストルーティングトポロジーマップ32の作成機能を有する他のVXNノードのマルチキャスト機能についても例示する。例えば、VXNノード16−4と通信するよう配置された受信者24−3〜24−5等の2人以上の受信者が、特定のVXNノードに加入する場合が考えられる。グローバルマルチキャストルーティングトポロジーマップ32は、他の種類のVXN14の振る舞いを示している。例えば、VXN14の一部であるVXNノード16−5は、受信者24−5に近接して配置されているが、VXNノード16−5は、上述のVXNアドレスを割り当てた送信者22−1によるマルチキャストのグローバルマルチキャストルーティングトポロジーマップ32の一部ではない、というのも、VXNノード16−5に関連する経路コストが高すぎるからである。動作において、VXN14のVXNノード16−1〜16−11のマルチキャスト機能および振る舞いは、ローカルマルチキャストルーティングトポロジーマップによる最適仮想交換ネットワーク接続による暗黙のシグナリングによりデータストリームのパケットを伝播する。
【0031】
図3は、マルチポイントツーマルチポイントについて実装されたマルチキャスト送信システムの一実施形態を示す。本実施形態では、送信者22−1および22−2という2人の送信者がおり、彼らはそれぞれ受信者24−12および24−3でもある。送信者22−1および22−2は、同じルートVXNノード16−1を利用して、送信者22−1および22−2のデータストリームのパケットは、データストリームのパケット伝播用に同一のVXNアドレスを有する。VXN14の振る舞いは、その他の面では、図2に示し説明したものと同じである。
【0032】
図4は、マルチポイントツーマルチポイントについて実装されたマルチキャスト送信システムの別の実施形態を示す。本実施形態では、2つのグローバルマルチキャストルーティングトポロジーマップ(つまり、各送信者22−1、22−2について1つずつ)を生成する。各送信者22−1、22−2に関連付けられたデータストリームのパケットはそれぞれ別個のVXNアドレスに加入しており、受信者24−1〜24−12はマルチキャスト各々に同時に加入する。このマルチポイントツーマルチポイントでは、各送信者/受信者対(22−1、24−12);(22−2、24−4)が発行実体であり、送信者/受信者(22−1、24−12);(22−2、24−4)を含む各受信者が、自身以外の各発行者からの受信を待ち受ける。マルチポイントツーマルチポイントマルチキャストのサイズが大きくなると、受信者数は送信者数をはるかに上回るようになり、VXN14は、管理努力なしにエンドユーザに対するポート利用に関する効率およびトランスペアレンシーを同じに保ちつつ、これら非対称な構成へのスムーズな移行を可能とする。受信者の選択も、送信者または発行者のコンテンツの他の視聴者に影響を与えることなく動的に変更させうる。発行されたデータストリームのパケットに加入するのにさらなるVXNノードを利用することで、潜在的な受信者の数は、多数のVXNノードを層状化することにより容易に増加しえて(例えば、VXNノード16−10、16−8、16−6、16−7の層状化を参照のこと)、数百万の受信者を超える数の視聴者を含む任意のサイズの視聴者が生じうる。VXN14をサイズ調整可能とすることで、一方だけのまたは二重のポイントツーポイント通信から、ポイントツーマルチポイントマルチキャスト、ひいては、ブロードキャストを含むマルチポイントツーマルチポイントマルチキャストというように、範囲を広げることができる。VXNノードの層状化機能により、VXN14は、この機能の範囲内で、管理的介入なしに動的およびシームレスな遷移をすることができる。
【0033】
図5は、VXN14が時間1から時間2へ遷移する際のトポロジー管理の一実施形態を示す。特に、例示されている遷移には、受信者を見失うこと、受信者の追加、および、総体VXNノード利用可能性および/または関連する経路コストにおける変更、が含まれる。時間1から時間2への遷移において、受信者24−6は、マルチキャストへの参加を終了する決定をする。受信者24−6は、停止信号をVXNノード16−6へ送り、これによりデータストリームのパケットの受信者24−6への転送が停止される。別の実装例では、受信者24−6は、特定のVXN14構成が設定するよう、VXNノード16−6またはトポロジーサーバサブシステム20が要求する接続試験用パケット(ping)またはKEEP−ALIVE信号を送信しないことにより、暗黙に接続停止する。本実装例においては、VXNノード16−6またはトポロジーサーバサブシステム20は、適宜、ある期間中に接続試験用パケットを受信しないことにより、停止条件を暗黙に示す。この場合、VXNノード16−6は、VXNノード16−6を介したデータストリームのパケットに加入するさらなる受信者またはVXNノードを有さないので、VXNノード16−6はVXNノード16−8へ停止信号を送信する。これを受けてVXNノード16−8は、内部のテーブルの情報を更新して、VXNノード16−8に対するデータストリームのパケット送信を停止する。
【0034】
VXN14は、受信者にいかなるときにもマルチキャストセッションの停止を可能とするだけではなく、VXN14は、マルチキャストセッションの継続中の任意の時点での受信者の参加を可能とする。時間1から時間2への遷移において、受信者24−13は、自身に対して一番近いエッジノードであるVXNノード16−10に対して、加入信号(一実装例では空のパケットである)を送信することで、マルチキャストに参加する。VXNノード16−10は、既にデータストリームのパケットを受信および転送しており、受信者24−10、24−13両方に対するマルチキャストポイントとして機能する。
【0035】
VXNノードのコンプレックス内のフォールトからの復帰は、送信者および受信者双方が定期的に通信経路を自動再構築するVXNアドレススキームにより自動的に行われる。各データ送信処理により、VXN14はフォールトがあっても高い信頼性および高品質のユーザ体験を可能とすることができる。例えば、時間1から時間2へ遷移する際に、受信者24−2が加入しているVXNノード16−3でフォールトが起こったとする。このフォールトを検出すると、トポロジーサーバサブシステム20は、新たなグローバルマルチキャストルーティングトポロジーマップおよび関連するローカルマルチキャストルーティングトポロジーマップを生成する。一実施形態では、ローカルマルチキャストルーティングトポロジーマップを有するVXN14を再生するのではなくて、トポロジーサーバサブシステム20は、もしあれば先行するローカルマルチキャストルーティングトポロジーマップと、新たなローカルマルチキャストルーティングトポロジーマップとの間に、差異を表すデルタローカルマルチキャストルーティングトポロジーマップを生成する。デルタローカルマルチキャストルーティングトポロジーマップを、VXN14およびネットワークエレメント(VXNまたはルータに関わらず)を介して伝播させ、デルタローカルマルチキャストルーティングトポロジーマップを利用して既存のローカルマルチキャストルーティングトポロジーマップを更新する。受信者24−2の例に戻ると、この更新はリアルタイムに行われ、受信者24−2は、実質的に即座にVXN16−4に加入して、マルチキャストへの参加を続行する。
【0036】
一実施形態では、VXN14には、独立してまたは協働して、遅れて参加した受信者にマルチキャストに参加させる機能を提供する3つの特徴を有する(つまり、エッジVXNノードは、説明した即座の加入、進行中のアクセス、およびオンデマンドのアクセスを可能とする)。受信者24−13に戻ると、このような受信者が進行中の送信に加入するとき、受信者はライブのフィードを受信してよく、または、遅れて参加した受信者24−13は、マルチキャストの開始からライブのフィードまでの任意の時点で進行中のマルチキャストにアクセスすることができるようになる。本実施形態では、VXNノード16−9はマルチキャストを格納しており、進行中のアクセスを提供する。この格納機能は、後でさらに詳述するが、完了の後のマルチキャストへのオンデマンドアクセスを提供する。ブロードキャスト中に、VXN14は、受信者がライブアクセスと進行中のアクセスとの間でスイッチすることを可能とする。
【0037】
図1から図5に記載した実施形態は、非制限的な実施例であり、そのトポロジー、送信者数、受信者数は単に利用可能なものを例示したにすぎず、利用可能および動作可能なものを網羅しているわけではない。本発明の教示には他のトポロジーおよび送信者/受信者のサイズの調整機能も含まれている。
【0038】
図6は、エンジン40および多数のデータベース、コンフィギュレーションデータベース42、トポロジーデータベース44、およびコスト分析データベース46を含むトポロジーサーバ18−1のアーキテクチャの一実施形態を示す。トポロジーサーバはVXN14と通信するよう配置され、一例では、ルータとして示されているネットワークエレメント48〜54間で画定される幾らかの異なる経路により相互接続されうるVXNノード16−11および16−4間の接続をモニタする。
【0039】
トポロジーサーバ18−1は、VXNノード16−11、16−4、および関連する相互接続ネットワークエレメント48〜54について熟知している。VXN14のこの部分のトポロジーは、グローバルマルチキャストルーティングトポロジーの一部としてトポロジーデータベース44に格納される。エンジン40は、この情報を利用して、ダイクストラアルゴリズムのようなアルゴリズムを利用して最短経路の第1計算を行う。これら計算から得られた最適VXN接続をコスト分析データベース46に格納する。例えば、エンジン40は、VXNノード16−11から、ルータ48、ルータ52、そしてVXNノード16−4への最適VXN接続56が、VXNノード16−11とVXNノード16−4との間の最適経路であると決定する。この情報をVXNノード16−11、16−4およびネットワークエレメント48、52に提供する図示されたVXN14の部分のローカルマルチキャストルーティングトポロジーマップは、VXN14を組み込むべくコンフィグレーションデータベース42に格納される。加えて、VXNトポロジー変更が起きると、エンジンは、エンジンは、グローバルマルチキャストルーティングトポロジーマップ、最適VXN接続、ローカルマルチキャストルーティングトポロジーマップ、および、デルタローカルマルチキャストルーティングマップを再計算する。
【0040】
図7は、トランスポート層62およびハードウェアスペース64に重畳されるAPI60を有するVXNノード16−1の層状化アーキテクチャの一実施形態である。トランスポート層62は、API60からのサービス要求に応答して、ネットワーク層等の低レベル層にサービス要求を発行する。例示されている実装例では、トランスポート層62は、好適には一式のプロトコルである1以上のプロトコルを含む。例示されたプロトコルは、RTCP、RAS,RTP、UDP、H.450.3、H.450.2、H.450.1、H.235、H.245、H.225、およびTCPを含む。しかし、トランスポート層62は任意の1つのプロトコル(または一式のプロトコル)を含みうることを理解されたい。VXNスタック66は、チャネルマネージャ68、VXN層70、ファイルシステム層72、メディア層74、およびゲートウェイ層76を含む。VXNスタックのこれらコンポーネントは、ハードウェアスペース64にあるライブデータベース80、進行中データベース82、ルックアップデータベース84、およびVXNアドレステーブルデータベース86にアクセスを有する。概して、VXN層70でデータストリームのーパケット90を受信すると、チャネルマネージャ68は、VXNアドレステーブルデータベース86にアクセスして、VXNノード16−1のこの特定のVXNアドレスされたマルチキャストに加入している加入者数を識別する。N人の加入者各々について、VXN層70は、N個のマルチキャストポイント92を利用してデータストリームのパケット90を複製して、データストリームのパケット90のN個のインスタンスをN人の加入者(番号94参照)に同時送信する。他方で、チャネルマネージャ68が、それについて加入要求を受信するデータストリームのパケットへの加入者ではない場合、チャネルマネージャ68はルックアップデータベースを利用して受信されたアプリケーションに割り当てられた、または任意に構築されたマルチキャスト名称を、適正なVXNアドレスに変換してよい。
【0041】
ファイルシステム層72は、データストリームのパケット90のコピーを保持し、ライブのマルチキャストのライブデータベース80にファイルを構築する。メディア層74は、例えば、ライブデータベース80を繰り返しサンプリングすること、または、データストリームのパケット90を進行中のデータベース82に既存のファイルに連結することにより、ライブマルチキャストの進行中データベース82に進行中ファイルを構築する。この進行中ファイルは、ライブマルチキャストが進行中に時間をずらされたマルチキャストを提供するよう設けられてよい。進行中ファイルは、受信者がデータストリームのパケットをトランスペアレントに且つシームレスに受信するよう、VXNノードから配信される。ゲートウェイ層は、VXNのデータストリームのパケット90および進行中ファイルを、HTTPまたはSIPのような別のプロトコルに変換して、受信者が、ブラウザまたはその他の既存のソフトウェアアプリケーションの利用によりコンテンツ受信できるようにする。または、ゲートウェイ層は、進行中ファイルを別のプロトコルだけに変換する。VXN14およびデータベース80、82が提供する時間をずらす機能は、記録されているコンテンツの前の部分を対象受信者に対して同時に処理する間、メディアコンテンツを記録することを可能とする。特に、この方法は、ライブマルチキャストが継続している間にも進行中のまたは時間をずらされたコンテンツへのアクセスを実現する。
【0042】
一実装例では、VXN14および例示されたVXNノード16−1は、64ビットのアドレススキームを含みうるフラットなアドレススキームを利用する。VXNスタック66およびそれが実現するプロトコルは、IPレベルで実装されるわけではない。VXNスタック66は、VXN14がマルチキャストネットワークを、個々のVXNノード間のユニキャストの対話に関係するVXNノード16−1〜16−Nから構築する際に、トランスポート層62に重畳される。このアーキテクチャでは、VXN14は既存のユニキャストIPネットワークの上に実装される。さらに、このアドレススキームでは、最適仮想交換ネットワーク接続と提携しているVXN14の各相互接続されたノードは、N人の受領者各々について、VXNアドレスに関連付けられたポートアドレスと受信者IDとを含む。この情報は、ハードウェアスペース64に存在するVXNアドレステーブルデータベース86と関連付けられる。
【0043】
上述したように、接続試験用パケットメッセージまたはKEEP−ALIVE信号が、加入者であるエンドポイントから特定のマルチキャストポイント(つまりVXNノード)へ定期送信されて、加入をアクティブなステータスに保つ。一実装例では、KEEP−ALIVE信号は、さらに、送信データが関連付けられていないSEND動作であり、加入構築に利用されうるようなものであってよい。これは、加入がアクティブであり、受領者がデータ受信を行うことが依然できていることを示す。KEEP−ALIVE信号が特定のタイムアウト間隔(例えば30秒)の間受信されない場合、エンドポイントは加入されていないとみなされ、その後はそのエンドポイントに対しては、再度加入が構築されるまで、データを送信しない。
【0044】
マルチキャストポイントから接続停止する場合または未加入である場合には、マルチキャストポイントからのデータ受信を停止することを望むエンドポイント(VXNノード、受信者に関わらず)は、VXNポイントへのKEEP−ALIVEパケット送信を停止する。所定のタイムアウト間隔の後に、VXNマルチキャストポイントは、この特定のエンドポイントへのデータ送信を停止する。あるエンドポイントが未加入である場合には、再度加入するべく、VXNマルチキャストポイントに対して空のデータパケットを送信する必要がある。加入に利用されたのと同じ空のデータパケットをKEEP−ALIVEに利用するので、KEEP−ALIVE信号が遅れている理由からあるエンドポイントが未加入である場合、次に到着するKEEP−ALIVE信号を加入要求とみなし、そのエンドポイントをVXNマルチキャストポイントとして再度加入させる。
【0045】
図8は、送信者および受信者の層状化アーキテクチャの一実施形態を示す。送信者/受信者(24−3、22−2)、送信者22−1、および受信者24−2は、各々、VXN14に接続される。送信者/受信者(24−3、22−2)は、データトランスポート層100、データ制御層102、およびアプリケーション層104を含む。送信者/受信者(24−3、22−2)の機能を送信するにあたっては、エンコーダ106は、音声−映像フレームをデジタル化および符号化して、デマルチプレクサ108へ転送して、利用されているプロトコルの種類に応じて幾らかのチャネル110またはストリームに分割する。図示されているように、ストリーム110はVXNのデータストリームのパケットとしてVXN14を介して送信される。
【0046】
データストリームのパケット送信前に、送信者24−3が、処理によりVXN14のVXNノードのいずれかに接続すると(どのノードを選択するかはアプリケーションによる)、送信者24−3には有効なVXNアドレスが割り当てられる。こうすることで、他の受信者およびVXNノードは、この割り当てられたVXNアドレスを利用してこのアプリケーションインスタンスを参照することができる。送信者/受信者(24−3、22−2)の受信者の機能に関しては、VXN14からデータトランスポート層100で受信したチャネル112またはストリームが、マルチプレクサ114で合成されて、デコーダ116でデコードされて、送信者/受信者(24−3、22−2)への提供に備えられる。
【0047】
別の例としては、送信者22−1は、同様のデータトランスポート層118、データ制御層120、チャネル124を含むアプリケーション層122構成、デマルチプレクサ126、およびエンコーダ128をそれぞれ含みうる。送信者/受信者(24−3、22−2)および送信者22−1に反して、VXNノードのゲートウェイ機能により、受信者24−2は、VXNのデータストリームのパケットではなくて、HTTPストリームを受信することができるようになり、これにより、コンテンツの潜在的な視聴者が増える。受信者24−2はさらに、データトランスポート層130、データ制御層132、およびアプリケーション層134を含む。チャネル136はデータトランスポート層130で受信され、ブラウザ140処理の前にマルチプレクサ138で多重化される。図9Aおよび図9Bは、上述のデータストリームのパケットであってよいVXNパケット構造150の一実施形態を示す。図9Aを参照すると、VXNパケット150は、ヘッダ152とペイロード154とを含む。上述したように、VXNパケット150は送信者から受信者へ、VXN14を介して、暗黙に、VXNパケット150の既存のシグナリング情報エレメントに対して新たなパラメータの追加なしに、送信される。図9Bを参照すると、一実装例では、ヘッダ152は、マジックナンバーセグメント156、プロトコルバージョンセグメント158、ペイロード長セグメント160、パケットタイプセグメント162、有効期間(TTL)セグメント164、ソースセグメント166、および送信先セグメント168を含む7つのセグメントを含む。以下の表1:VXNパケットセグメント定義はVXNパケットセグメントを定義し、表2:VXNパケットタイプは、VXNパケットタイプを定義する。
【表1】

【表2】

【0048】
符号化されたVXNパケット150の一実施形態では、以下の表3:VXNパケット疑似コードに表された疑似コードを利用することができる。
【表3】

【0049】
図6から図9Bに記載する実施形態は、非制限な実施例として示されており、コンポーネント、ネットワークアーキテクチャ、およびプロトコルは、利用可能なものを例示したにすぎず、利用可能なものおよび動作可能なものを網羅しているわけではない。本発明の教示には他のコンポーネント、ネットワークアーキテクチャ、およびプロトコルが含まれている。
【0050】
図10は、ここで開示する教示によるマルチキャスト送信方法の一実施形態のフローチャートである。ブロック180で、相互接続されたノードおよびネットワークエレメントの仮想交換ネットワークが、ネットワーク内に構築される。ブロック182で、相互接続されたノードの複数の対の間の経路コストが、仮想交換ネットワークと通信するトポロジーサーバサブシステムにより決定される。経路コスト計算には、前述の最適経路分析が含まれうることに留意されたい。これら経路コストに基づいて、トポロジーサーバサブシステムは、ブロック184で、グローバルマルチキャストルーティングトポロジーマップを生成する。そしてブロック186で、トポロジーサーバサブシステムがグローバルマルチキャストルーティングトポロジーマップを利用して、ローカルマルチキャストルーティングトポロジーマップを生成する。
【0051】
ブロック188で、これらローカルマルチキャストルーティングトポロジーマップが適宜相互接続されたノードおよびネットワークエレメントに対して配信される。ブロック190で、データストリームのパケットの送信者が、VXNの相互接続されるノードのうち1つであるルートノードと通信するよう配置される。このステップで、ルートノードは、送信者が発行したデータストリームのパケットを受信してよい。ブロック192で、相互接続されるノードの一部を形成する一式のエッジノードと通信するよう配置される受信者は、加入信号をそれぞれエッジノードに対して相互に送信する。ブロック194で、連続して逆進する派生的な加入信号が、最適仮想交換ネットワーク接続を介して、一対のエンドポイントが定義する接続が達成されるまで伝播される。各受信者については、一対のエンドポイントがそれぞれルートノードおよびエッジノードの1つである。ブロック196で、データストリームのパケットが、間接的なシグナル伝達により、最適仮想交換ネットワーク接続を介して送信者から複数の受信者へ送信される。
【0052】
ブロック198で、データストリームのパケットがオンデマンド用に(発行の後(post-publication))、且つ、進行中のアクセス用に格納される。決定ブロック200で、もしもVXNのトポロジーが変更された場合には、グローバルマルチキャストトポロジールーティングマップをブロック202で再計算する。このとき、ローカルマルチキャストトポロジールーティングマップおよびデルタローカルマルチキャストトポロジールーティングマップを再計算してよい。デルタローカルマルチキャストトポロジールーティングマップは、方法がブロック204へ進むと、ネットワークを介して伝播され、さらなるデータストリームのパケットを発行する。決定ブロック200でトポロジーが変更されなかった場合には、方法はさらにブロック204へ進む。ブロック204からは、ブロック196へ戻る。
【0053】
本発明を、例示的実施形態を参照して記載してきたが、この記載は制限的な意味合いで理解されるべきものではない。本発明の様々な変形例、例示的な実施形態の組み合わせ、およびその他の実施形態が、本記載に基づいて当業者には明らかである。故に、添付請求項はこのような変形例あるいは実施形態を包括することを意図している。

【特許請求の範囲】
【請求項1】
ネットワーク(12)を介してデータをマルチキャスト送信するシステム(10)であって、
前記ネットワーク(12)に埋め込まれ、複数の相互接続されたノード(16−1〜16−N)を有する仮想交換ネットワーク(14)と、
前記複数の相互接続されたノード(16−1〜16−N)のなかのルートノードと通信するよう配置され、仮想交換ネットワーク(14)アドレスを含むデータストリームのパケット(150)を発行する送信者(22−1〜22−N)と、
前記複数の相互接続されたノード(16−1〜16−N)のうちの一式のエッジノードと通信するよう配置される複数の受信者(24−1〜24−N)と、
前記仮想交換ネットワーク(14)と通信するよう配置されて、前記仮想交換ネットワーク(14)を熟知しているトポロジーサーバサブシステム(20)と、
前記トポロジーサーバサブシステム(20)により生成され、複数の最適仮想交換ネットワーク接続を有するグローバルマルチキャストルーティングトポロジーマップと、
前記トポロジーサーバにより生成され、前記複数の最適仮想交換ネットワーク接続に沿って配置される複数のローカルマルチキャストルーティングトポロジーマップと
を備え、
前記複数の受信者(24−1〜24−N)の各々は、前記一式のエッジノードのなかのエッジノードのいずれかにそれぞれ加入して、前記発行されたデータストリームのパケット(150)を受信し、
前記複数の最適仮想交換ネットワーク接続の各々は、前記ルートノードと前記一式のエッジノードのなかの前記エッジノードのいずれかとを含む一対のエンドポイントにより画定され、
前記複数のローカルマルチキャストルーティングトポロジーマップの各々は、前記グローバルマルチキャストルーティングトポロジーマップのサブセットであることで前記仮想交換ネットワーク内の画定領域にルーティング情報を提供し、
前記データストリームのパケット(150)は、前記複数のローカルマルチキャストルーティングトポロジーマップにより前記複数の最適仮想交換ネットワーク接続を介した間接的なシグナル伝達により伝播されるシステム。
【請求項2】
前記複数の相互接続されたノード(16−1〜16−N)の各々は、前記発行されたデータストリームのパケットのインスタンスの受信に呼応して、前記発行されたデータストリームのパケットのN個のインスタンス(94)を、受信者(24−1〜24−N)および前記複数の相互接続されたノード(16−1〜16−N)のうちの他のものからなる群から選択されたN人の受領者に対してマルチキャストする請求項1に記載のシステム。
【請求項3】
前記複数の最適仮想交換ネットワーク接続と提携した前記複数の相互接続されたノード(16−1〜16−N)の各々は、さらに、前記N人の受領者各々について、前記仮想交換ネットワークアドレスと関連付けられたポートアドレスと受領者IDとを含む請求項2に記載のシステム。
【請求項4】
前記複数の最適仮想交換ネットワーク接続と提携した前記複数の相互接続されたノード(16−1〜16−N)の各々は、前記一式のエッジノードのいずれかから前記ルートノードへの前記複数の最適仮想交換ネットワーク接続の各々沿いに連続して逆進的に前記発行されたデータストリームのパケット(150)を受信するよう加入する請求項1に記載のシステム。
【請求項5】
前記一式のエッジノードは、前記ルートノードを含む請求項1に記載のシステム。
【請求項6】
前記複数の受信者(24−1〜24−N)の2以上が、前記エッジノードのうちの特定のいずれか1つに加入する請求項1に記載のシステム。
【請求項7】
ネットワーク(12)を介してデータをマルチキャスト送信する方法であって、
前記ネットワーク(12)内のネットワークエレメントおよび相互接続されたノード(16−1〜16−N)の仮想交換ネットワーク(14)を構築する段階と、
前記仮想交換ネットワーク(14)と通信するトポロジーサーバサブシステム(20)で、前記相互接続されたノード(16−1〜16−N)の複数の対の間の経路コストを決定する段階と、
前記相互接続されたノード(16−1〜16−N)の複数の対の間の前記経路コストに基づいて、前記トポロジーサーバサブシステム(20)で、各々が一対のエンドポイントにより画定される複数の最適仮想交換ネットワーク接続を含むグローバルマルチキャストルーティングトポロジーマップを生成する段階と、
前記グローバルマルチキャストルーティングトポロジーマップに基づいて、前記トポロジーサーバサブシステム(20)で、各々が前記グローバルマルチキャストルーティングトポロジーマップのサブセットであることで前記仮想交換ネットワーク(14)内の画定領域にルーティグ情報を提供する複数のローカルマルチキャストルーティングトポロジーマップを生成する段階と、
前記複数のローカルマルチキャストルーティングトポロジーマップを、前記相互接続されたノード(16−1〜16−N)およびネットワークエレメントに循環させる段階と、
前記複数の相互接続されたノード(16−1〜16−N)のなかの1つのルートノードで、送信者(22−1〜22−N)が発行したデータストリームの1パケットを受信する段階と、
複数の受信者(24−1〜24−N)から受信した複数の加入信号を、前記複数の相互接続されたノード(16−1〜16−N)のうちの一式のエッジノードへ送信する段階と、
前記複数の受信者(24−1〜24−N)の各々について、それぞれ前記ルートノードと前記エッジノードのうちの1つとからなる前記一対のエンドポイントが画定する前記接続が実現されるまで、前記最適仮想交換ネットワーク接続を介して複数の派生的な加入信号を連続して逆進的に伝播させる段階と、
前記データストリームのパケットを、前記複数の最適仮想交換ネットワーク接続を介した間接的なシグナル伝達により、前記送信者(22−1〜22−N)から前記複数の受信者(24−1〜24−N)へ送信する段階と
を備える方法。
【請求項8】
前記相互接続されたノード(16−1〜16−N)の複数の対の間の前記経路コストを決定する段階は、ダイクストラベースのアルゴリズムを実行する段階をさらに有する請求項7に記載の方法。
【請求項9】
仮想交換ネットワークトポロジーの変更に呼応して、前記グローバルマルチキャストトポロジールーティングマップを再計算する段階をさらに備える請求項7に記載の方法。
【請求項10】
受信者(24−1〜24−N)を見失うこと、受信者(24−1〜24−N)の追加、ノードの消失、および、ノードの追加からなる群から選択された仮想交換ネットワークトポロジーの変更に呼応して、前記グローバルマルチキャストトポロジールーティングマップを再計算する段階をさらに備える請求項7に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10】
image rotate


【公表番号】特表2010−521875(P2010−521875A)
【公表日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2009−553613(P2009−553613)
【出願日】平成20年3月12日(2008.3.12)
【国際出願番号】PCT/US2008/003261
【国際公開番号】WO2008/112247
【国際公開日】平成20年9月18日(2008.9.18)
【出願人】(509255576)エスプレ ソリューションズ、インコーポレーテッド (1)
【Fターム(参考)】