(57)【要約】【課題】ネットワークを通じた分散型マルチメディアストリーミング通信のためのメディアコンテンツ分配システム。【解決手段】システムは、複数の独立したメディアステーションを組み込み、各ステーションは、制御用のメディアディレクタと、メディアコンテンツの記憶、検索、ストリーミングのための複数のメディア・エンジンとを有する。ネットワークと接続されたメディアコンソールからのコンテンツ要求は、メディアディレクタにより、ストリーミングの要求に対応するコンテンツを記憶する複数のメディアエンジンのうちの選択されたものへ、リダイレクトされる。システムは、メディアコンテンツダウンロード能力を提供する少なくとも１つの分配センタと、各メディアステーションのメディアディレクタと通信するメディア位置レジストリとを含む。メディア位置レジストリは、メディアステーションの全てのメディアコンテンツの位置を記憶する。【選択図】  図１
2005328518.tif 000002
【特許請求の範囲】
【請求項１】
分散型マルチメディア・ストリーミング用のメディア・コンテンツ配給システムであって、
通信ネットワークと、
前記ネットワークと通信する複数の独立したメディア・ステーションであって、それぞれがメディア・ディレクタおよび第２の複数のメディア・エンジンを備え、それぞれのメディア・エンジンが、
メディア・コンテンツを格納する手段と、
前記ネットワークを通じてメディア・コンテンツを取り出す手段と、
前記ネットワークを通じてメディア・コンテンツをストリーミングする手段と
を備え、
前記メディア・ディレクタが、
前記ネットワークを通じて、選択されたメディア・エンジンによるメディア・コンテンツの取り出しを指令する手段と、
前記メディア・エンジンに格納されているコンテンツを追跡する手段と、
前記ネットワークに接続されたメディア・コンソールからのコンテンツ要求を、ストリーミングの前記要求に対応するコンテンツを格納する前記メディア・エンジンのうちの選択された１つへ、リダイレクトする手段と
を備える、
メディア・ステーションと、
前記ネットワークを通じて通信する少なくとも１つの配給センターであって、
それぞれのメディア・ステーションの前記メディア・ディレクタと通信するものであり、前記メディア・ステーションの全ての前記メディア・コンテンツの位置を格納する、メディア位置レジストリと、
呈示されるコンテンツをダウンロードする手段と
を有する配給センターと、
を備えるメディア・コンテンツ配給システム。
【請求項２】
請求項１に記載の分散型マルチメディア・ストリーミング用のメディア・コンテンツ配給システムであって、コンテンツをダウンロードする前記手段は、
番組情報を前記メディア・ステーションへ供給するコンテンツ・マネージャと、
選択されたプロバイダからコンテンツをダウンロードするコンテンツ・エンジンと、
前記コンテンツ・エンジンによりダウンロードされたすべてのコンテンツを格納するためのホーム・メディア・ステーションと
を備える、
メディア・コンテンツ配給システム。
【請求項３】
請求項１に記載の分散型マルチメディア・ストリーミング用のメディア・コンテンツ配給システムであって、更に、第３の複数の配給センターを備え、前記複数のメディア・ステーションの一部は前記配給センターのそれぞれと通信し、前記配給センターのうちの１つは本部配給センターを含み、前記本部配給センターは、それぞれの配給センターの前記コンテンツ・マネージャと通信して関連する前記ホーム・メディア・ステーションへのコンテンツのダウンロードを制御するメディア資産管理システムを有する、メディア・コンテンツ配給システム。
【請求項４】
請求項１に記載の分散型マルチメディア・ストリーミング用のメディア・コンテンツ配給システムであって、コンテンツを格納する前記手段は、同時の入力および出力のための複数の独立したＩ／Ｏチャネルを組み込む、メディア・コンテンツ配給システム。
【請求項５】
請求項１に記載の分散型マルチメディア・ストリーミング用のメディア・コンテンツ配給システムであって、更に、前記ネットワークを通じて通信して、トークンを前記メディア・コンソールへ配給する認証サーバを備えるメディア・コンテンツ配給システム。
【請求項６】
請求項１に記載の分散型マルチメディア・ストリーミング用のメディア・コンテンツ配給システムであって、更に、加入者管理システムならびに加入者および請求情報に関して前記メディア・ステーションへの前記ネットワークへキャッシュを通じて通信する加入者請求システムを備えるメディア・コンテンツ配給システム。
【請求項７】
請求項１に記載の分散型マルチメディア・ストリーミング用のメディア・コンテンツ配給システムであって、前記メディア・ステーションは、複数のブレードを収納するシャーシを備え、第１のブレードは前記メディア・ディレクタとして機能し、複数のブレードはメディア・エンジンとして機能する、メディア・コンテンツ配給システム。
【請求項８】
請求項７に記載の分散型マルチメディア・ストリーミング用のメディア・コンテンツ配給システムであって、それぞれのブレードは、通信エージェントを通じて前記ネットワークと直接に通信し、前記システムは、更に、前記システムのすべてのコンポーネントのためのネットワーク管理システムを備える、メディア・コンテンツ配給システム。
【請求項９】
請求項７に記載の分散型マルチメディア・ストリーミング用のメディア・コンテンツ配給システムであって、それぞれのブレードは、前記メディア・ステーションのシャーシ・バックプレーンを通じて通信するためのシャーシ・ブレード・コントローラと、メディア・エンジンおよびメディア・ディレクタの機能用のメイン・ボードとを備える、メディア・コンテンツ配給システム。
【請求項１０】
メディア・コンテンツ配給システムを通じて分散型メディア・ストリーミングを行う方法であって、
通信ネットワークを提供するステップと、
前記ネットワークに複数の独立したメディア・ステーションを接続するステップであって、それぞれのメディア・ステーションがメディア・ディレクタおよび第２の複数のメディア・エンジンを備えるものである、ステップと、
前記ネットワークを通じて通信するものであり、メディア位置レジストリを備える、少なくとも１つの配給センターを提供するステップと、
呈示されるコンテンツをダウンロードするステップと、
それぞれのメディア・ステーションのメディア・ディレクタへ前記メディア位置レジストリから、配給されるダウンロードされたコンテンツを通信するステップと、
前記メディア・ステーションのメディア・ディレクタを通じて、少なくとも１つの選択されたメディア・エンジンによるダウンロードされたコンテンツの前記ネットワークを通じての独立した取り出しを指令するステップと、
選択された前記メディア・エンジンにおいて前記メディア・コンテンツを格納するステップと、
それぞれの前記メディア・ディレクタの前記メディア・エンジンに格納されているコンテンツを追跡するステップと、
前記メディア・ステーションのすべてのメディア・コンテンツの位置をメディア位置レジストリに格納するステップと、
前記ネットワークを通じて、メディア・ステーションに接続されているメディア・コンソールから、コンテンツ要求を、ストリーミングの前記要求に対応するコンテンツを格納する前記メディア・エンジンのうちの選択された１つへ、リダイレクトするステップと、
前記ネットワークを通じて、メディア・コンテンツを、選択された前記メディア・エンジンから前記メディア・コンソールへストリーミングするステップと
を備える方法。
【請求項１１】
請求項１０に記載の方法であって、コンテンツをダウンロードする前記ステップは、
番組のメタデータをコンテンツ・マネージャへ転送するステップと、
前記番組のデータをホーム・メディア・ステーションへ転送することをコンテンツ・エンジンに指令するステップと、
前記番組の状態を「非アクティブ」へと更新し、前記コンテンツ・マネージャにパブリッシュ時間を明示するステップと、
配給パラメータを前記メディア位置レジスタへ送信するステップと、
前記番組を配給するステップと、
「パブリッシュ」コマンドを、前記パブリッシュ時間にすべてのメディア・ステーションへ送信し、前記番組のサービスを開始するステップと
を含む、
方法。
【請求項１２】
請求項１１に記載の方法であって、前記番組を配給する前記ステップは、
前記コンテンツが存在するソース・メディア・ステーションを識別することを含めて、前記番組を取得することを、要求側のメディア・ステーションのメディア・ディレクタに指令するステップと、
前記ソース・メディア・ステーションの前記メディア・ディレクタに、必要なセグメントの位置を要求するステップと、
選択されたメディア・エンジン内の前記セグメントの前記位置を、前記要求側の前記メディア・ディレクタに通知するステップと、
前記要求側の前記メディア・ディレクタにより、前記要求側の前記メディア・ステーションの受信メディア・エンジンへ、選択された前記メディア・エンジンから前記セグメントをフェッチすることを指令するステップと、
前記受信メディア・エンジンにより、選択された前記メディア・エンジンに前記セグメントのコピーを要求するステップと、
選択された前記メディア・エンジンから前記受信メディア・エンジンへ前記セグメントを転送するステップと、
前記セグメントのコピーが完了したことを前記要求側の前記メディア・ディレクタに通知するステップと、
前記位置のデータベースへの付加のために前記セグメントの新しい位置を前記メディア位置レジスタに通知するステップと
を備える、
方法。
【請求項１３】
請求項１２に記載の方法であって、前記ソース・メディア・ステーションは、配給センターのホーム・メディア・ステーションである、方法。
【請求項１４】
請求項１１に記載の方法であって、前記メディア・コンソールにより要求されたコンテンツは、前記メディア・ステーションに存在せず、
前記メディア・ディレクタを通じてストリーミング要求を受信するステップと、
前記メディア位置レジストリに対して、要求された前記番組またはセグメントの位置を問い合わせるステップと、
前記メディア位置レジストリから、前記セグメントに対するソース・メディア・ステーションの位置を応答するステップと、
前記メディア・ディレクタによりソース・メディア・ステーションを選択するステップと、
前記ソース・メディア・ステーションのメディア・ディレクタに前記セグメントの位置を要求するステップと、
前記セグメントを持つソース・メディア・エンジンのアドレスを応答するステップと、
前記セグメントをフェッチすることを、選択されたターゲット・メディア・エンジンに指令するステップと、
前記ターゲット・メディア・エンジンによりソース・メディア・エンジンへ前記セグメントのコピーを要求するステップと、
前記セグメントを前記ターゲット・メディア・エンジンへ送信するステップと、
前記コピーの完了を前記メディア・ディレクタに通知するステップと、
前記セグメントの新しい位置を前記メディア位置レジスタに通知するステップと
を備える方法。
【請求項１５】
請求項１４に記載の方法であって、ソース・メディア・ステーションを選択する前記ステップは、更に、
所望される前記セグメントが格納されている複数の位置を識別するステップと、
使用可能な帯域幅、前記ソース・メディア・ステーションからの距離、前記ソース・メディア・ステーションのコピー時間および負荷を含む所定の複数のパラメータに基づいて、所望される前記セグメントのコピーを取得する相対的コストを計算するステップと
を備える、
方法。
【請求項１６】
請求項１０に記載の方法であって、コンテンツ要求をリダイレクトする前記ステップおよびメディア・コンテンツをストリーミングする前記ステップは、
前記メディア・コンソールから前記メディア・ディレクタによる第１のセグメントに対する要求を受信するステップと、
セグメント位置テーブルにおいて前記第１のセグメントの位置を識別するステップと、
前記メディア・コンソールへ第１のメディア・エンジンのＩＰアドレスをリダイレクトするステップと、
前記第１のセグメントを前記第１のメディア・エンジンに要求するステップと、
前記第１のメディア・エンジンからデータをストリーミングするステップと、
ストリーミング中の前記セグメントが終わりに近い場合にそのことを検出するステップと、
次のセグメントの位置を前記メディア・ディレクタに要求するステップと、
前記セグメント位置テーブルにおいて前記次のセグメントの位置を特定するステップと、
前記次のセグメントのＩＤおよび前記次のセグメントが置かれている第２のメディア・エンジンのＩＰアドレスを応答するステップと、
前記次のセグメントを事前ロードすることを前記第２のメディア・エンジンに通知するステップと、
前記第１のセグメントのストリーミングが完了すると、前記メディア・コンソールの前ＩＰアドレスへの前記次のセグメントのストリーミングを開始することを前記第２のメディア・エンジンに指令するステップと、
前記第２のメディア・エンジンから前記メディア・コンソールへ前記次のセグメントのデータをストリーミングするステップと、
前記第２のメディア・ステーションにより前記メディア・コンソールとの前記ストリームの通信が引き受けられると、前記メディア・ディレクタに通知するステップと
を備える、
方法。
【請求項１７】
請求項１６に記載の方法であって、前記セグメントが終わりに近い場合にそのことを検出する前記ステップから前記メディア・ディレクタに通知する前記ステップは、前記メディア・コンソールが、前記メディア・エンジンによるストリーミングの停止を指令するまで繰り返され、指令されて停止されると、前記メディア・エンジンは、前記ストリーミングが停止したことを前記メディア・ディレクタに通知する、方法。
【請求項１８】
請求項１６に記載の方法であって、前記セグメント位置テーブルは、前記セグメントが格納された複数のメディア・エンジンを識別し、前記位置を識別する前記ステップは、負荷およびステータスに基づいてメディア・エンジンを選択するステップを含む、方法。
【請求項１９】
請求項１６に記載の方法であって、前記第１のメディア・エンジンは、第２のメディア・コンソールが同じセグメントのストリーミングを要求するときに、所定の最大容量に達しており、更に、
前記セグメントをフェッチすることを第３のメディア・エンジンに指令し、前記セグメントを複製を得るための第４のメディア・エンジンを指定するステップと、
前記第３のメディア・エンジンにより、前記第４のメディア・エンジンに前記セグメントのコピーを要求するステップと、
前記セグメントを前記第４のメディア・エンジンから送信するステップと、
前記第２のメディア・コンソールに応答して、前記第３のメディア・エンジンの前記ＩＰアドレスにリダイレクトするステップと、
前記第２のメディア・コンソールにより前記ストリーム再生を要求するステップと、
前記第３のメディア・エンジンにより応答し、前記セグメントに対するデータを前記第２のメディア・コンソールへ転送するステップと
を備える方法。
【請求項２０】
請求項１９に記載の方法であって、更に、
前記第４のメディア・エンジンから前記第２のメディア・エンジンへの前記セグメントのコピーが完了したときに、コピー完了を前記第３のメディア・エンジンから前記ＭＤに送信するステップと、
前記セグメントの新しい位置を前記ＭＬＲに通知するステップと
を備える方法。
【請求項２１】
請求項１６に記載の方法であって、前記メディア・ディレクタは、前記第１のセグメントをフェッチすることを前記第１のメディア・エンジンに指令しており、リダイレクトする前記ステップは、前記セグメントの受信の間に行われ、前記第１のメディア・エンジンからデータをストリーミングする前記ステップは、更に、
前記メディア・コンソールから前記ストリームの早送り要求を受信するステップと、
早送りが、前記メディア・エンジンにより受信されている前記セグメントの部分を超える場合のストリーミング・エラーの可能性を識別するステップと、
起ころうとしているエラー状態を前記メディア・ディレクタに通知するステップと、
前記メディア・エンジンへ、前記セグメント全体を持つ第３のメディア・エンジンのＩＤを応答するステップと、
現在の通信における前記メディア・コンソールを識別するスワップを前記第３のメディア・エンジンに要求するステップと、
前記第３のメディア・エンジンにより、前記セグメントからのデータをメディア・コンソールへストリーミングするステップと
を備える、
方法。
【請求項２２】
請求項２１に記載の方法であって、前記第３のメディア・エンジンもまたストリーミングを行っており、更に、
通信中の第２のメディア・コンソールを識別するスワップを前記第３のメディア・エンジンから返すステップと、
前記第１のメディア・エンジンにより、データを前記第２のメディア・コンソールへストリーミングするステップと
を備える方法。
【請求項２３】
請求項１２に記載の方法であって、番組に関連するセグメントは、不要なものとして識別されており、更に、
前記メディア・ディレクタにより、前記メディア位置レジストリに対して前記番組の削除を要求するステップと、
前記メディア位置レジストリから、前記番組の削除の承認を応答するステップと、
前記番組に関連する前記セグメントを持つメディア・エンジンに対する内部削除メッセージを生成するステップと、
前記削除を確認するメッセージを前記ＭＬＲに送信するステップと、
前記位置のデータベースを更新するステップと
を備える方法。
【請求項２４】
請求項２３に記載の方法であって、前記削除の要求は第１のメディア・ステーションから発しており、応答する前記ステップは、更に、
前記番組を保存することが望ましいと判定するステップと、
余剰の記憶容量のある第２のメディア・ステーションへ前記番組を転送することを指令するステップと、
前記削除を現在要求中の前記第１のメディア・ステーションを識別する第２のメディア・ディレクタへ番組の移動を指令するステップと、
前記第２のメディア・ディレクタにより、前記番組に関連する前記セグメントを見つけるように前記第１のステーションのメディア・ディレクタに問い合わせするステップと、
前記メディア・ディレクタから、第１のステーションのメディア・エンジン上のセグメント位置を応答するステップと、
前記第２のメディア・ディレクタを通じて、前記セグメントをフェッチすることを第２のステーションのメディア・エンジンに指令するステップと、
コピー要求を前記第２のステーションのメディア・エンジンから前記第１のステーションのメディア・エンジンに送信するステップと、
前記セグメントを前記第１のステーションのメディア・エンジンから前記第２のステーションのメディア・エンジンに送信するステップと、
前記セグメントのコピーが完了したときに前記第２のメディア・ディレクタに通知するステップと、
新しいセグメント位置を前記ＭＬＲに通知するステップと、
前記ＭＬＲへ前記メディア・ディレクタにより前記番組を削除することを要求するステップと
を備える、
方法。
【請求項２５】
請求項１０に記載の方法であって、リダイレクトする前記ステップの前に、更に、
前記メディア・コンソールにより、前記ネットワーク上のセキュリティ認証サーバにセキュリティ・トークンを要求するステップと、
前記メディア・コンソールに対する加入者認証の確認のステップと、
前記加入者認証に基づき前記セキュリティ・トークンを発行するステップと
を備え、
リダイレクトする前記ステップは、更に、
前記メディア・コンソールから前記セキュリティ・トークンを受信するステップと、
前記ストリーミングの要求に関して前記セキュリティ・トークンを確認するステップと
を備える、
方法。
【請求項２６】
請求項１２に記載の方法であって、更に、
認証サーバによりそれぞれのメディアン・エンジンを認証するステップと、
第２のセキュリティ・トークンをそれぞれの認証されたメディア・エンジンに供給するステップと
を備え、
前記セグメントのコピーを要求する前記ステップは、前記受信メディア・エンジンから前記第２のセキュリティ・トークンを受信するステップを備える、
方法。
【請求項２７】
請求項１４に記載の方法であって、更に、
認証サーバによりそれぞれのメディアン・エンジンを認証するステップと、
第２のセキュリティ・トークンをそれぞれの認証されたメディア・エンジンに供給するステップと
を備え、
前記セグメントのコピーを要求する前記ステップは、ターゲットのメディア・エンジンから前記第２のセキュリティ・トークンを受信するステップを備える、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、分散型マルチメディア・ストリーミングの分野に関するものであり、より具体的には、分散型コンポーネントからの高ビット・レート・ストリーミングのためのメディア・コンテンツ配給に関するものである。
【背景技術】
【０００２】
高ビット・レート・マルチメディア・ストリーミング、特に、高ビット・レート・ビデオ・ストリーミングは、数千の加入者に同時に対処することから数百万の加入者に対処するように発展している。単一の強力なマシンまたは集中制御を用いるクラスタ・システムに基づく従来のシステム・アーキテクチャでは、もはや、大規模な需要に応えられない。
【発明の開示】
【課題を解決するための手段】
【０００３】
分散型マルチメディア・ストリーミング用のメディア・コンテンツ配給システムは、ネットワークを介して通信し、それぞれがメディア・ディレクタおよび多数のメディア・エンジンを備える複数の独立したメディア・ステーションを組み込む。それぞれのメディア・エンジンは、メディア・コンテンツ用の記憶装置、ネットワークを通じてメディア・コンテンツを取得するための検索システム、およびネットワークを通じてメディア・コンテンツをストリーミングするための相互接続を備える。メディア・ディレクタは、メディア・ステーションを制御し、ネットワークを通じての選択されたメディア・エンジンによるメディア・コンテンツの検索を指示するため、およびメディア・エンジンに格納されているコンテンツを追跡するために、採用される。ネットワークに接続されたメディア・コンソールからのコンテンツ要求は、メディア・ディレクタにより、ストリーミング要求に対応するコンテンツを格納するメディア・エンジンのうちの選択された１つへリダイレクトされる。
【０００４】
ネットワークを通じて通信する少なくとも１つの配給センターが用意され、これは、メディア・コンテンツ・ダウンロード機能、および各メディア・ステーション内のメディア・ディレクタと通信するメディア位置レジストリを備える。メディア位置レジストリは、複数のメディア・ステーション内のすべてのメディア・コンテンツの位置（ロケーション）情報を格納する。
【０００５】
本発明のこれらおよびその他の特徴および利点は、付属の図面に関して考察し、以下の詳細な説明を参照することにより、よく理解できるであろう。
【発明を実施するための最良の形態】
【０００６】
本発明を組み込むメディア・コンテンツ配給システムは、２層、地区をカバーするメディア・ステーション、および、１または複数の大都市圏をカバーする、多数のメディア・ステーションからなるメディア・スイッチを採用する。図１は、システムが動作する複数の層を示すアーキテクチャの概要である。メディア・コンソール／端末層１０２から始まり、メディア・コンソール１０４または端末は、メディア・ストリーミング・オペレーション用の末端デバイスであり、コンテンツをサブスクライバ（加入者）に提供する。典型的なデバイスは、番組ガイドを表示する電子番組ガイド（ＥＰＧ）エージェントと、ＭＰＥＧ−２、ＭＰＥＧ−４などの圧縮ストリーミング・データを復号化するデコーダと、ストリーミング・サーバと対話形式でやり取りして番組選択、トリックモード操作（早送り、一時停止、および巻き戻しなどの「ＶＣＲ風の」操作）、およびデータ・フローを制御するメディア・プレーヤであるマイクロソフト（Ｒ）・ウィンドウズ（Ｒ）・メディア・シリーズ９（Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ｓｅｒｉｅｓ  ９）を備える。メディア・コンソールの場合、ストリーミング・データをＴＶ信号に変換するためにＴＶエンコーダが組み込まれる。多くのアプリケーションでは、パーソナル・コンピュータ１０６およびテレビ電話１０８が、加入者レベルでネットワークに接続される。
【０００７】
メディア・ステーション層１１０は、データ・ストリーミング用に複数のメディア・ステーションを提供する。メディア・ステーション１１２は、メディア・コンソール／端末を持つ加入者群と通信する独立型のストリーミング・ユニットである。メディア・ステーションは、典型的には、ブロードバンド・ネットワークの中央局（セントラル・オフィス）（ＣＯ）にインストールされる。メディア・ステーションの配置は、カバーされる顧客の数、ネットワーク・トポロジ、およびバックボーン・ネットワークの利用可能な帯域幅に応じて決定される。
【０００８】
後に詳しく説明されるが、メディア・ステーションは、最も頻繁にアクセスされる番組および関連メタデータを格納できる十分な記憶領域を備える。加入者のストリーミング要求は、メディア・ステーションへ送信される。メディア・ステーションは、適切な処置を講じて、ストリーミングを開始する。加入者からの他の要求、例えばトリックモード操作やＥＰＧナビゲーションなども、メディア・ステーションへ送信される。
【０００９】
メディア・ステーションは、オンライン・サポート層１１４と対話形式でやり取りし、加入者情報、コンテンツ管理情報、請求書関連情報、およびＥＰＧ関連情報を取得する。メディア・ステーションは、また、オンライン・サポート層だけでなく他のメディア・ステーションとも対話形式でやり取りし、メディア・ステーション間で、また、メディア・ステーションとデータ・センターとの間で、番組データのコピーや移動を行う。
【００１０】
それぞれのメディア・ステーションは、多数のメディア・エンジン１１６を備える。メディア・エンジンは、後に詳述するように、シャーシ内のブレードとすることができる。メディア・エンジンは、番組データを加入者にストリーミング配信する役割を受け持つ。メディア・エンジンの特定の構成は、カバーされる加入者数およびメディア・ステーションに格納される番組データの量に依存する。
【００１１】
メディア・ディレクタ１１８は、メディア・ステーションの制御ユニットである。すべての加入者の初期のストリーミング要求は、メディア・ディレクタ（ＭＤ）へ送信される。更に、メディア・ディレクタは、メディア・ステーション内の負荷のバランス、記憶域のバランス、およびメディア・データ複製を制御する。後に詳しく説明される幾つかのハードウェア・アプリケーションでは、メディア・エンジン（ＭＥ）のうちの１つがバックアップ・メディア・ディレクタとして使用される。これは、通常動作中に、メディア・ディレクタからのデータをミラーリングし、メディア・ディレクタが稼働しなくなったときにその役割を受け継ぐ。
【００１２】
オンライン・サポート層１１４は、メディア・スイッチ・システム全体のコンテンツ情報を管理し、メディア・ステーション間のメディア・データ配給を制御する。幾つかの実施例では、オンライン・サポート層は、また、請求書作成および加入者管理サービスをメディア・ステーションおよびネットワーク管理機能に提供する。
【００１３】
オンライン・サポート層のホーム・メディア・ステーション１２０は、現在サービス中のすべての番組に対するメディア・データを格納する。この層内のコンテンツ・エンジン１２２は、メディア・データをシステムへ入れる導入ポイントである。コンテンツ・エンジンは、バックオフィス層１２６のメディア資産管理システム（ＭＡＭ）１２４から命令を取得し、デジタル・ビデオ・テープ、ＤＶＤ、ライブＴＶなどのようなさまざまなソースから必要な符号化、トランスコーディング、またはアップロードを実行し、このデータをホーム・メディア・ステーションに格納し、メディア・ステーション層内のメディア・ステーションへ配給する。
【００１４】
カスタマー（顧客）・セルフサービス・システム１２８は、また、オンライン・サポート層に組み込まれ、これを通じて、顧客は、アカウント・ステータスをチェックし、会員料金を支払い、特別番組のサービス・プランを購入し、サービス要求を登録し、また、ＥＰＧ設定を構成することもできる。
【００１５】
バックオフィス層１２６では、オフライン・サポート業務および他の層のための制御用データの生成を行う。それぞれのメディア番組のライフ・サイクルを追跡し、制御するために、メディア資産管理（ＭＡＭ）システム１２４が使用される。これは、システム全体にわたる一意的な番組ＩＤをそれぞれの新しいメディア番組に割り当て、メディア取得管理モジュール１２８の作業命令を生成し、このモジュールは、対話形式で人のオペレータとやり取りし、オンライン・サポート層のコンテンツ・エンジンのオペレーションを開始し、制御する。請求システム１３０および加入者管理システム１３２は、バックエンド・データベースを管理し、請求方針の設定および加入者情報の入力または修正のためのユーザ・インターフェイスをサポートする。
【００１６】
図２は、サービスが提供される多数の地理的領域または都市２０２で使用されるように構成されているメディア・スイッチの複数の層の一実施形態を説明している。それぞれの都市は、大都市圏ネットワーク（ＭＡＮ）２０４を通じて相互接続されている一連のメディア・ステーション１１２を採用する。それぞれのメディア・ステーションは、多数の加入者２０６にサービスを提供する。それぞれの加入者は、ストリーミング要求を処理するための固定のメディア・ステーションを持つ。更に、それぞれの都市は、配給センター（ＤＣ）２１４内にメディア位置（ロケーション）レジストリ（ＭＬＲ）２０８と、ホーム・メディア・ステーション２１０と、コンテンツ・マネージャ２１２とを含むオンライン・サポート層要素を組み込む。示されている実施形態では、主要都市２０２’が本部所在地として選択されている。その所在地には、ＭＡＭ１２４が関連付けられている。他の実施形態では、複数の都市が、コンテンツをシステムへ導入するためにＭＡＭを組み込む。
【００１７】
ＭＡＭは、番組を配給する時と配給先とを決定する。コンテンツ・マネジャ（ＣＭ）は、ＭＡＭによって指定された時間に番組をパブリッシュし、ＭＬＲは、配給のためのデータの位置を識別する。論理的には、結果的に得られるコンテンツ配給システムは図３に示されているように階層的である。本部配給センター２１４’はコンテンツをさまざまな都市配給センター２１４へ提供する。その後、それぞれの都市ＤＣは、データを制御下のメディア・ステーション１１２へ配給し、後に詳しく説明されるように、メディア・ステーションは、データを他のメディア・ステーションへ配給する。
【００１８】
すでに説明されているように、メディア・ステーションは、加入者群をカバーする独立型のストリーミング・ユニットである。典型的なアプリケーションにおけるメディア・ステーションは、ブロードバンド・ネットワークのＣＯ内にインストールされる。メディア・ステーションの配置は、カバーされる加入者の数、ネットワーク・トポロジ、およびネットワークの利用可能な帯域幅に応じて決定される。
【００１９】
一実施例について図４に示されているように、それぞれのメディア・ステーション１１２は、ＥＰＧサーバ４０２およびアプリケーション・サーバ４０４を備えるメディア・ディレクタ１１８を組み込み、加入者からのストリーミングおよびトリック要求を処理する。データ記憶用に、ハイパー・メディア・ファイル・システム（ＨＭＦＳ）４０６が組み込まれる。アクティブなディレクタが故障するか又はサービスから除去されたときに、その役割を受け持つように、同一の機能を備えるスタンバイ・メディア・ディレクタ１１８Ｓが用意される。メディア・ステーション内には、複数のメディア・エンジンが存在する。メディア・ディレクタは、システム内のすべての番組の記憶位置と、どのメディア・エンジンが特定の番組またはその一部分を保持しているかとを記録する。加入者のメディア・コンソールからの通信を受け取ると、メディア・ディレクタは、メディア・コンソールを適切なメディア・エンジンへ誘導してデータ・ストリーミングを開始する。多数の独立したパラレルのＩ／Ｏチャネル４１０を使用して大容量記憶のサイズの要求およびＩ／Ｏデータ・レートに対する要求に応じるために、分散型記憶装置サブシステム（示されている実施形態では、ＨＭＦＳ）４０８がメディア・エンジン内に存在する。複数のメディア・エンジンが、一組のギガビット・イーサネット（Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ）・スイッチ４１２を通じて、共に接続され、かつネットワーク２０４に接続され、これにより加入者と通信する。ネットワークと加入者およびＩ／Ｏチャネルの間の帯域幅を整合させることで、ストリーミング・システムにおけるボトルネックが回避される。
【００２０】
それぞれのメディア番組（映画、ドキュメンタリ、ＴＶ番組、音楽クリップなど）は、より小さなセグメントに分割される。このような分割によって、メディア・データ・ユニットの粒度が小さくなり、データの移動、複製、ステージング、および管理がかなり容易になり、効率的になる。コンテンツをメディア・ステーションへ配給することは、図５に示されているように実行される。
【００２１】
新しい番組は、新しい番組のメタデータ５０２をコンテンツ・マネージャ（ＣＭ）２１２へ転送するＭＡＭにより、ロードされ、配給される。次に、ＭＡＭは、番組データ５０６をホーム・メディア・ステーション（ＨＭＳ）１２０へ転送するように、作業命令５０４を使ってコンテンツ・エンジン（ＣＥ）１２２に指令する。ＭＡＭは、番組の状態を「非アクティブ」に更新し、パブリッシュ（発行）時間５０８を明記する。ＭＡＭは、配給パラメータ５１０をＭＬＲへ送信し、番組５１２の配給をトリガする。ＭＬＲは、後に詳しく説明するように、コンテンツをメディア・ステーション１１２へ配給するオペレーション・シーケンスを開始する。ＣＭは、「パブリッシュ」コマンドを、指定された時刻にすべてのメディア・ステーションへ送信し、番組５１４のサービスを開始する。
【００２２】
コンテンツをメディア・ステーションへ提供し、加入者がアクセスできるようにするために、コンテンツは、図６に示されているように、メディア・ステーションへ「プッシュ」される。ＭＬＲは、メディア・ステーションＭＳ２内のメディア・ディレクタＭＳ２ＭＤに指令して、コンテンツが存在するメディア・ステーションＭＳ１を識別して番組を取得させる（６０２）。最初に、コンテンツはホーム・メディア・ステーション内に存在し、その後、図３に関してすでに説明されているように論理階層内に存在する。要求側のメディア・ステーションＭＳ２内のメディア・ディレクタは、その後、識別されたステーションのメディア・ディレクタＭＳ１ＭＤ（ＭＳ１のＭＤ）へ必要なセグメントの位置情報を要求する（６０４）。次に、識別されたＭＤは、メディア・エンジンＭＳ１ＭＥ（ＭＳ１のＭＥ）内のセグメントの位置を、要求側のＭＤに通知する（６０６）。次に、要求側のＭＤは、適切なメディア・エンジンＭＳ２ＭＥ（ＭＳ２のＭＥ）に指令して、ＭＳ１ＭＥからセグメントをフェッチさせる（６０８）。ＭＳ２ＭＥは、ＭＳ１ＭＥへセグメントのコピーを要求し（６１０）、ＭＳ１ＭＥはそれに応答して（６１２）、そのセグメントを転送する。セグメントのコピーが完了すると、ＭＳ２ＭＥは、セグメントのコピーが完了したことをＭＳ２ＭＤに通知する（６１４）。その後、メディア・ディレクタは、セグメントの新しい記憶位置を、位置データベースへ加えるために、ＭＬＲに通知する（６１６）。
【００２３】
ＭＬＲは、すべてのメディア・ステーションに対するプッシュ・オペレーションが最短時間で完了できるように、メディア・ステーションからメディア・ステーションへのプッシュ・シーケンスを計画することができる。例えば、図３に示されている論理ツリー構造は、最上位レベルのすべてのメディア・ステーションに指令してホーム・メディア・ステーションからセグメントを取得させ、続いて、次のレベルのメディア・ステーションに指令してそれらのグループ・リーダーからセグメントを取得させるようにすることにより、使用される。一実施例では、すべてのアクティブな番組の第１のセグメントは、すべてのメディア・ステーションに配信され、これにより、加入者のアクセスが簡単になる。
【００２４】
メディア・ステーション上にまだ存在していないが、図５に示されているように配給のためにパブリッシュされているコンテンツについては、加入者から要求されると、図７に示されているようにコンテンツの転送が行われる。加入者のメディア・コンソール１０４は、メディア・ステーションＭＳ２のメディア・ディレクタＭＳ２ＭＤへストリーミング要求７０２を行う。ＭＤは、要求された番組またはセグメントの位置についてＭＬＲに問い合わせる（７０４）。ＭＬＲは、セグメントの位置の通知７０６により応答する。所望されたセグメントが格納されている複数の記憶位置が存在しうる。ＭＤは、利用可能な帯域幅、ソース・メディア・ステーションからの距離、ソース・メディア・ステーションのコピー時間および負荷を含む多数のパラメータに基づいて、セグメントの所望されたコピーを取得する相対的コストを計算する。ソース・メディア・ステーションを選択した後、この例ではＭＳ１について、ＭＤは、ＭＳ１ＭＤにセグメントの位置を要求し（７０８）、ＭＳ１ＭＤは、そのセグメントを格納しているメディア・エンジンＭＳ１ＭＥのアドレスで応答する（７１０）。その後、ＭＳ２ＭＤは、そのセグメントをフェッチするように、選択されたメディア・エンジンＭＳ２ＭＥに指令する（７１２）。ＭＳ２ＭＥは、ソース・メディア・エンジンＭＳ１ＭＥにセグメントのコピーを要求し（７１４）、ＭＳ１ＭＥは応答してセグメントを送信する（７１６）。ラグメントのコピーが完了すると、ＭＳ２ＭＥは、ＭＤへ、コピーの完了を通知し（７１８）、ＭＤは、ＭＬＲへ、セグメントの新たな位置を通知する（７２０）。
【００２５】
コンテンツをストリーミングで加入者へ配給するために、それぞれのメディア・ステーションのメディア・ディレクタは、負荷バランス取りスキームを用いて、メディア・ステーション内のメディア・エンジンのタスク負荷を追跡する。負荷バランスは、現在のシステム状態および負荷分布に応じてストリーミング要求を送ることにより実行される。メディア・ディレクタのコマンドの下でのデータ転送の通信シーケンスの一例が、システム要素の代表的なＩＰアドレス位置とともに、図８ａに示されている。メディア・コンソール１０４は、メディア・ディレクタ１１８にセグメント００２１を要求する（８０２）。メディア・ディレクタは、メディア・エンジン１および８（ＭＥ１およびＭＥ８）に存在しているようなセグメント位置テーブル８０４内のセグメントの位置を識別し、ＭＣをＭＥ１のＩＰアドレス１０．０１．１．１１へリダイレクトする（８０６）。その後、ＭＣは、ＭＥ１にセグメント００２１を要求し（８０８）、ＭＥ１はデータのストリーミングを開始する（８１０）。ストリーミングされているセグメントがその終わりに近づくと、ＭＥ１は、ＭＤへ次のセグメントの位置を要求し（８１２）、ＭＤは、セグメント位置テーブルにおいて、次のセグメントおよびそのセグメントを格納するＭＥの位置をつきとめ、負荷およびステータスに基づいてＭＥを選択し、次のセグメントのＩＤ（ｓｅｇ００２２）および次のセグメントが置かれているＭＥ２のＩＰアドレス１０．０．１．１２を返答する（８１４）。ＭＥ１は、次のセグメントｓｅｇ００２２をプリロードすることをＭＥ２に通知し（８１６）、ｓｅｇ００２１のストリーミングが完了すると、ｓｅｇ００２２をＩＰアドレス１８．０．２．１５、つまりメディア・コンソールへストリーミング開始するように、ＭＥ２に指令する（８１８）。その後、ＭＥ２は、データをｓｅｇ００２２からＭＣにへストリーミングすることを開始する（８２０）。
【００２６】
図８ａに関して説明されたシーケンスの流れ図は、図８ｂに示されている。ＭＥ２によるＭＣとのストリームの通信の引き受け後、ＭＥ２は、通知８２２をＭＤへ送信する。この説明されているプロセスは、ＭＣが、ＭＥによるストリーミングを停止することを命令する（８２４）まで続き、その命令がなされたときに、ＭＥは、ストリーミングが停止したことをＭＤに通知する（８２６）。
【００２７】
負荷バランス取りスキームの一部として、セグメントを一つのメディア・エンジンから別のメディア・エンジンへコピーするために高速複製スキームが使用される。メディア・エンジンがストリーミングの容量を超えた場合、需要の高いセグメントが他のメディア・エンジンに複製されるようにでき、更に、そのセグメントに対する要求は、新しいメディア・エンジンへと向けられる。複製をトリガしたストリーミング要求で見られる余分な遅延時間は、実施例では３０ミリ秒より少ない。
【００２８】
通信シーケンスは図９に示されている。第１のメディア・コンソールＭＣ１は、メディア・ディレクタＭＤへのセグメントのストリーミングを要求する（９０２）。ＭＤは、そのセグメントを格納しているメディア・エンジンＭＥ１へリダイレクトすることで応答する（９０４）。ＭＣ１は、ＭＥ１にストリームの再生を要求し（９０６）、ＭＥ１は、セグメントからのデータのＲＴＰパケットをストリーミングすることにより応答する（９０８）。ＭＤは、ＭＥ１へのリダイレクトをカタログ化しており、また、ＭＥ１の負荷を監視する。ＭＥ１が所定の最大容量に達した場合に、他のメディア・コンソールＭＥｎが同じセグメントのストリーミングを要求すると（９１０）、そのセグメントがセグメント位置テーブルにおいて他の利用可能なＭＥ上に存在していなければ、ＭＤは、他のメディア・エンジンＭＥ２にそのセグメントをフェッチするように指令し（９１２）、そのセグメントの複製元となるＭＥを指定する。さまざまな実施形態において、最大容量は、セグメント位置テーブル内の第１のメディア・エンジンまたは他の既存のメディア・エンジンから複製が実行されるように、決定されることが可能である。代替例としては、図７に関して説明されているような他のメディア・ステーションのメディア・エンジンからセグメントをコピーすることを、フェッチ・コマンドで指令することができる。例えば、ＭＤにより定められたソース・メディア・エンジンは、ＭＥｘと表される。ＭＥ２は、ＭＥｘにセグメントのコピーを要求し（９１４）、ＭＥｘは、セグメント９１６を送信することにより応答する（９１６）。フェッチが指令されると、ＭＤは、ＭＣｎに応答して、ＭＥ２のＩＰアドレスへリダイレクトする（９１８）。次に、ＭＣｎは、ストリームの再生を要求し（９２０）、ＭＥ２はそれに応答して、そのセグメントのＲＴＰパケットをＭＣｎへ送る（９２２）。ＭＥｘからＭＥ２へのセグメントのコピーが完了したら、すでに説明されているように、ＭＥ２は、コピー完了をＭＤに送信し（９２４）、ＭＤは、ＭＬＲへそのセグメントの新しい位置を通知する。
【００２９】
同じセグメントの２つのストリームを交換するために、ストリーム・スワッピング法が使用されるが、一方のストリームは、セグメントの完全なコピーを持つ第１のメディア・エンジンＭＥ２上にあり、他方のストリームは、同じセグメントを現在受信中の第２のメディア・エンジンＭＥ１上にある。加入者が、セグメントが不完全でありＭＥ１からストリーミング中に早送りを試みた場合、メディア・ディレクタは、ＭＥ１からＭＥ２へ（完全なセグメントで）その早送りのストリームをスワップする。通常速度で稼働中の同じセグメントを使用するストリームは、第１のメディア・エンジンから第２のメディア・エンジンへスワップされ、それによって、早送りオペレーションの失敗を回避する。
【００３０】
図１０は、メディア・エンジンのスワッピングのための通信シーケンスを例示している。通常動作では、メディア・ディレクタＭＤは、特定のセグメントをフェッチすることをＭＥ１に指令する（１００２）。ＭＥ１は、ソースＭＥ（ＭＥｘと任意に示す）にセグメントのコピーを要求し（１００４）、ＭＥｘは所望されたセグメントを送信することにより応答する（１００６）。セグメントを受信している間に、メディア・コンソールＭＣ１は、ＭＤにストリームを要求し（１００８）、ＭＤは、ＭＣをＭＥ１へリダイレクトすることで応答する（１０１０）。ＭＣ１は、ストリームの再生を要求し（１０１２）、ＭＥ１は、要求されたセグメントからのＲＴＰパケットを送信することにより応答する（１０１４）。ＭＣ１がストリーム（セグメント）の早送りを要求した場合（１０１６）には、ＭＥ１は、その早送りがＭＥｘから受信されたセグメントの部分を超える場合に、ストリーミング・エラーの発生の可能性を識別する。ＭＥ１は、今起こりそうなエラー状態をＭＤに通知し（１０１８）、ＭＤは、アイドル状態であるか又はＭＥ１の後にストリーミングを開始したセグメント全体を持つメディア・エンジンＭＥ２（ＭＥｘ自体とすることもできる）のＩＤを返答する。ＭＥ２は、セグメントのＲＴＰパケットを他のメディア・コンソールＭＣｎへストリーミング送信している（１０２０）。ＭＥ１は、現在の通信におけるメディア・コンソールとしてＭＣ１を識別し、セグメント内のセグメント番号およびフレームを与えて、スワップを要求する（１０２２）。ＭＥ２は、セグメントからＭＣへのデータのストリーミングを開始し（１０２４）、ＭＥ２がストリーミングを行っている場合には、メディア・コンソールＭＣｎおよびセグメントのフレームを識別してスワップを戻す（１０２６）。ＭＥ１は、ＭＣｎへのＲＴＰパケットのストリーミングを受け継ぐ（１０２８）。
【００３１】
メディア・ステーション内のメディア・エンジンは、入力および出力に関して対称的であり、そのため、ストリーミング・データが送出されるのと実質的に変わらない速度でデータをメディア・エンジン内に取り込むことができる。従って、メディア・ステーションは、高ビット・レートの大容量記憶リポジトリとして使用されることができる。このアーキテクチャは、番組セグメントがリアルタイムでメディア・ステーションに転送されて、メディア・コンソールへストリーミングされる生放送の場合に、特に有利である。本発明で採用されているメディア・ステーションの一実施形態の詳細は、この参照により開示全体が組み込まれる、本出願と共通の譲受人が設定されている「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  Ａ  ＬＯＯＳＥＬＹ  ＣＯＵＰＬＥＤ，ＳＣＡＬＡＢＬＥ  ＤＩＳＴＲＩＢＵＴＥＤ  ＭＵＬＴＩＭＥＤＩＡ  ＳＴＲＥＡＭＩＮＧ  ＳＹＳＴＥＭ（柔軟結合されたスケーラブルの分散型マルチメディア・ストリーミング・システムのための方法および装置）」という題の同時係属出願（代理人ドケット番号  Ｕ００１  １０００８５）において開示されている。
【００３２】
番組セグメントを獲得することの他に、メディア・ステーションから要求されないセグメントは、期限が過ぎることになり、削除される。図１１は、使用されない番組／セグメントを削除する通信フローの例を示す。番組が期限切れになるか、または使用頻度の高い番組のために更に記憶領域が必要であると判断されると、メディア・ディレクタＭＳ１ＭＤは、メディア位置レジストリＭＬＲに番組の削除を要求する（１１０２）。ＭＬＲは、番組削除を承認することを応答し（１１０４）、ＭＤは、セグメント位置テーブルがその番組に関連するセグメントを持つことを示すステーションのメディア・エンジン（１または複数）ＭＳ１ＭＥに対する内部削除メッセージを生成する（１１０６）。その後、メディア・ディレクタは、ＭＬＲへメッセージを送信して（１１０８）、ＭＬＲが位置データベースを更新するために削除することを確認する。
【００３３】
場合によっては、保管上の理由から、メディア・ステーションにより削除される番組のコピーを１つ保持しておくことが望ましい。この例は図１１にも示されており、そこでは、メディア・ステーション１は、記憶領域を解放するために番組を１つ削除するが、ＭＬＲは、その番組を保存することが望ましいと判断し、その番組を余剰記憶容量のあるメディア・ステーションへ転送することを指令する。ＭＳ１ＭＤは、ＭＬＲへ番組の削除を要求する（１１１０）。ＭＬＲは、第２のメディア・ステーションのメディア・ディレクタＭＳ２ＭＤへ番組移動を指令し（１１１２）、その際にその削除を現在要求しているメディア・ステーションを識別する。ＭＳ２ＭＤは、ＭＳ１ＭＤに問い合わせを行って、その番組に関連付けられているセグメント（１または複数）を見つけ（１１１４）、ＭＳ１ＭＤは、セグメント位置（１または複数）を応答する（１１１６）。ＭＳ２ＭＤは、セグメント（１または複数）をフェッチすることをメディア・エンジンＭＳ２ＭＥに指令する（１１１８）。ＭＳ２ＭＥは、コピー要求をＭＳ１ＭＥへ送信し（１１２０）、ＭＳ１ＭＥは、セグメント（１または複数）を送信することにより応答する（１１２２）。ＭＳ２ＭＥは、セグメント（１または複数）のコピーが完了するとそのことをＭＳ２ＭＤに通知し（１１２４）、ＭＳ２ＭＤは、新しいセグメント位置をＭＬＲに通知する（１１２６）。このプロセスは、番組のすべてのセグメントが転送されるまで繰り返され、転送が済むと、ＭＳ２ＭＤは、移動が完了したことをＭＳ１ＭＤに通知する（１１２８）。その後、ＭＳ１ＭＤは、再び、ＭＬＲに番組の削除を要求し（１１３０）、ＭＬＲは、承認を応答する（１１３２）。次に、ＭＳ１ＭＤは、番組セグメントを削除するために内部削除メッセージをＭＳ１ＭＥへ送信し（１１３４）、位置データベースの更新のために番組削除が完了したことをＭＬＲに通知する（１１３６）。
【００３４】
メディア・スイッチ全体に対する高レベルのデータ・フローが図１２に示されている。オリジナルのコンテンツが、コンテンツ・プロバイダ１２０２により提供される。コントローラでは、ＭＡＭユーザ・インターフェイス（ＵＩ）１２０４を使用して、コンテンツを受信するためコンテンツ・プロバイダとインターフェイスするようにＭＡＭに指令する。ＭＡＭの制御の下で、コンテンツ・エンジン１２２は、セグメントの番組を準備して暗号化し、そのコンテンツをホーム・メディア・ステーション１２０へ配給し、コンテンツ・マネージャ２１２は、そのコンテンツのメタデータをデータベース１２０６に格納する。コンテンツの記憶位置は、メディア位置レジストリ２０８によりメディア位置管理データベース１２０８に格納される。コンテンツ・マネージャは、コンテンツ・メタデータをそれぞれのメディア・ステーション１１２のＥＰＧおよびアクセス制御要素４０２へ供給し、前述のようにそれらのデータベース１２１０に格納する。ホーム・メディア・ステーションは、すでに説明したように、記憶のためにメディア・ディレクタの制御の下で、メディア・ステーションのメディア・エンジンにデータを転送する。
【００３５】
加入者管理システム１２１２は、契約加入者データベース１２１４に加入者に関するデータを保持し、キャッシュ１２１６を通じて、認証サーバ１２１８および顧客セルフケア・システム１２２０と通信する。認証サーバは、データ・ストリーミングの第一ステップとして加入者のメディア・コンソール１０４と通信する。加入者が、メディア・コンソールのＥＰＧ機能を使用して、取得する番組を選択するとき、メディア・コンソールから、加入者の認証を行いサービス・トークンを提供する認証サーバへ、要求が行われる。その後、サービス・トークンは、メディア・コンソールにより、メディア・ステーションのアクセス制御機能へ渡される。続いて、メディア・ディレクタが、すでに説明されているように、メディア・エンジンを通じて番組セグメントをメディア・コンソールへ供給する。
【００３６】
統合請求システム１２２２は、キャッシュ１２１６を通じて同様に動作し、メディア・ステーション内の分散型請求機能１２２４へ請求データを送るものであり、それぞれのメディア・ステーションには、データ格納のために、加入者及び請求キャッシュ１２２６を備える。こうして、請求情報は、その加入者のメディア・コンソールへ送信される。
【００３７】
顧客セルフケア・システムは、また、メディア・コンソールを通じて加入者からアクセス可能である。顧客セルフケア・システムは、キャッシュを通じて、請求および加入者管理システムと通信する。
【００３８】
ネットワーク管理システム（ＮＭＳ）１２２８は、システム全体のハードウェア・エレメントを制御できるようにする。ＮＭＳの一実施例は、ＵＴＳｔａｒｃｏｍ（Ｒ）のＭｅｄｉａＳｗｉｔｃｈ  ＮＭＳ（Ｒ）である。
【００３９】
代表的な実施形態におけるハードウェアの観点から、メディア・スイッチ・システムは、前述のように図２および１２に表されているようなシステム全体、メディア・ステーション、シャーシ、および個別のブレードの４層からなる階層型である。図１３に示されているように最上位レベルからは、中央位置にあるネットワーク管理システム（ＮＭＳ）１２２８は、都市、国、更には複数の国々さえもカバーする。第２層は、メディア・ステーション（ＭＳ）１１２であり、典型的にはＣＯ内に配置されてＣＯの付近をカバーする独立型のストリーミング・ユニットである。それぞれのＭＳは、管理の第３レベルである多数のシャーシ１３０２からなる。シャーシ管理システムは、シャーシ内のブレードの外部制御を提供する。ブレード１３０４は、最下位レベルの管理ユニットである。各ブレードは、独立したコンピュータである。これは、メディア・エンジン（ＭＥ）またはメディア・ディレクタ（ＭＤ）とすることができる。
【００４０】
示されている実施形態では、メディア・ステーションは抽象のレベルであり、その状態はそのＭＤにより表される。従って、ＭＳは管理構造内のエンティティではなく、３層管理システムが採用される。
【００４１】
ネットワーク管理は、第１のレベルであり、フルセットの管理機能およびＧＵＩを提供する。システム負荷と、温度やファン速度などのその他の動作パラメータとが監視される。自動警報は、システム・オペレータへ電子メールを送信するためや呼び出しを行うように構成することができる。
【００４２】
シャーシ管理は、第２レベルであり、ブレード存在検出、自動ブレード・パワーオン、遠隔ブレード・パワーオン／オフ、ディスク・ドライブのスピンアップ時のサージ電流を回避するための管理されたブレード・パワーオン、シャーシＩＤ読み取り、およびシャーシ制御フェイルオーバーの機能を備える。
【００４３】
ブレードの自己管理および監視は、第３レベルであり、温度、ファン速度、電源電圧の監視およびＳＮＭＰを通じてのＮＭＳへの警報、クリティカル・スレッド監視、記憶レベル監視、負荷監視などを含む自己健全性監視機能などを可能にする。すべての警報しきい値は、ＮＭＳによりリモートで設定できる。ソフトウェア関連の障害の場合、ソフトウェアの再起動またはＯＳの再起動が自動的に試みられ、イベントがＮＭＳへ報告される。
【００４４】
実施例については図１４に示されているように、シャーシは最大１０までのブレード１３０４を収納することができ、各ブレードをメディア・エンジンまたはメディア・ディレクタとすることができる。それぞれのブレードは、識別のために、シャーシＩＤ  １４０２および自身のスロット番号１４０４を読み取ることができる。
【００４５】
シャーシ内のすべてのブレードは、制御ユニットまたはシャーシ・ブレード・コントローラ（ＣＢＣ）１４０６を装備する。実施例では、それぞれのＣＢＣは、制御ロジックを実装するＩｎｔｅｌ（Ｒ）８５０１チップおよび制御ターゲットとして機能するように構成されているＦＰＧＡからなる。また、８５０１チップは、ＵＡＲＴインターフェイス１４１０を通じてメイン・ボード１４０８と通信する。メイン・ボードは、制御コマンドを発行するか、またはネットワークを介してＮＭＳから受信された制御コマンドをＣＢＣへ中継することができる。
【００４６】
実施例では、スロット５および６に配置されているブレードは、制御ブレードである。パワーオンの際に調整論理回路により、１つのブレードをアクティブにし、１つのブレードをスタンバイとするように決定される。シャーシがパワーオンされると、スロット５およびスロット６のブレードの調整が行われ、一方がアクティブなコントローラになる。アクティブな制御ブレードのＣＢＣは、バックプレーンをスキャンして、それらのブレードを、所定の間隔を空けて制御された順序でパワーオンすることにより、個々のブレードのディスク・ドライブのスピンアップにより引き起こされるサージ電流を回避する。
【００４７】
その後、アクティブな制御ブレードのＣＢＣは、バックプレーン上のすべてのスロットをスキャンし、それぞれのブレードの存在およびステータスを検出する。スタンバイ制御ブレードは、アクティブな制御ブレードのステータスを監視する。アクティブな制御ブレードが制御を放棄すると、スタンバイ状態のブレードが自動的に引き継ぎ、アクティブな制御ブレードとなる。
【００４８】
通常動作時には、アクティブな制御ブレードのＣＢＣは、定期的にバックプレーンをスキャンする。新しいブレードが差し込まれると、自動的にパワーオンされる。
【００４９】
アクティブな制御ブレードは自身をＮＭＳに登録し、シャーシ内の他のブレードの存在およびステータス、ブレードのパワーオン／オフまたはパワー・サイクルなどのチェックなどのような、シャーシ内の他のブレードを制御するコマンドをＮＭＳから受け取る。非制御ブレードもそれら自身をＮＭＳに登録し、再起動またはパワーオフするコマンドをＮＭＳから受け取ることができる。
【００５０】
管理の面からは、それぞれのブレードは、スタンドアロン型のコンピュータである。そのアプリケーション機能に加えて、それぞれのブレードは、アプリケーション・ソフトウェア、システム負荷、パフォーマンス、そして、ＣＰＵ温度、ファン速度、および電源電圧などのハードウェア関連パラメータの健全性を監視する管理ソフトウェアを備える。ブレード管理ソフトウェア機能は、図１５に示されている。
【００５１】
ストリーミング・アプリケーション・スレッド１５０２は、その健全性と負荷に関する情報を共有メモリ領域に定期的に書き込む。管理監視スレッド１５０４は、その領域をスキャンして、スレッドのステータスおよびシステムを分析する。ＳＮＭＰエージェント１５０６を通じて状態情報をＮＭＳへ定期的に報告することに加えて、異常状態が検出されたときには当技術分野で知られているような適切な処置が講じられる。
【００５２】
すでに説明されているように、サービス・トークンに基づく認証スキームは、加入者のメディア・コンソールにより要求されたデータ転送に対しての、先駆的な処理として採用される。図１６はアクセス制御方式を示し、「ｓｋ」は秘密鍵を示す。秘密鍵は、メディア・コンソール１０４またはメディア・ステーション１１２などのようなシステム・コンポーネントと、認証サーバ１２１８との間でのみ確立される。システム・コンポーネント間の他のすべてのアクセスは、認証サーバによって与えられるケルベロス方式のトークンにより制御される。これは、コンポーネント間に分配される秘密鍵の数を減らし、新しいコンポーネントの追加を容易にする。ストリーミング・サービスを得るために、メディア・コンソールによりｍｃ＿ｔｏｋｅｎ  １６０２がメディア・ステーションへ渡される。メディア・ステーション間のデータ転送のため、メディア・ステーションによりｃｐ＿ｔｏｋｅｎ  １６０４が渡される。
【００５３】
メディア・コンソールは、２つの数（番号）、ＭＣ＿ＩＤおよびＭＣ＿Ｋｅｙを持つ。これらの数は、ボックス内のチップに焼き付けるか、スマートカード上に書き込むか、またはボックス内の何らかの形態の不揮発性メモリに書き込むことができる。加入者がサービスのためサインアップすると、加入者管理システムがそれらの数を記録し、それらをユーザ・アカウントに関連付ける。ＭＣ＿ＩＤおよびＭＣ＿Ｋｅｙは、その後、認証サーバへ渡される。図１７は認証のプロセスを示している。
【００５４】
メディア・コンソール１０４は、パワーオンすると、ＩＰを取得した後、認証要求１７０２［開示された実施形態では、ＭＣ＿ＩＤ、｛ＭＣ＿ＩＤ，ＭＣ＿ＩＰ，Ｏｔｈｅｒ  ｉｎｆｏ（他の情報），ｓａｌｔ，ｃｈｅｃｋｓｕｍ（チェックサム）｝＿ＭＣ＿Ｋｅｙを含む］を認証サーバ１２１８へ送信する。注意：｛ｘ｝＿ｋは、メッセージｘがｋにより暗号化されることを示す。
【００５５】
認証サーバは、ＭＣ＿ＩＤを使用してメディア・コンソールのレコードを見つけ、そのメッセージを解読し、セッション鍵ＭＣ＿ＳＫおよびメディア・コンソール用のａｃｃｅｓｓ＿ｔｏｋｅｎ（アクセス＿トークン）を生成する。一実施形態では、ａｃｃｅｓｓ＿ｔｏｋｅｎ＝｛ＭＣ＿ＳＫ，ｓｅｒｖｉｃｅ  ｃｏｄｅ（サービス・コード），ｔｉｍｅｓｔａｍｐ（タイムスタンプ），ｃｈｅｃｋｓｕｍ（チェックサム）｝＿ＭＳ＿ＳＫであり、ここでＭＳ＿ＳＫは、認証サーバと、メディア・コンソールにサービスを提供するメディア・ステーションとの間ですでに設定されている秘密鍵であり、「ｓｅｒｖｉｃｅ  ｃｏｄｅ」は、そのトークンを何れのサービスに使用可能であるかを示す。認証サーバは、ＭＣ＿ＳＫの「シード鍵」を計算する。認証サーバは、メディア・コンソールに対して、［｛ａｃｃｅｓｓ＿ｔｏｋｅｎ，ＭＳ＿ＩＰ，ｓａｌｔ，ｃｈｅｃｋｓｕｍ｝＿ＭＣ＿Ｋｅｙ］で応答する（１７０４）。ＭＣはＭＣ＿Ｋｅｙを使ってメッセージを解読し、ｍｃ＿ｔｏｋｅｎと、接続先となるメディア・ディレクタのＩＰアドレスとを取得する。ｍｃ＿ｔｏｋｅｎは、メディア・コンソールがシャットダウンするか、または認証サーバが新しいｍｃ＿ｔｏｋｅｎを送るまで、保持される。メディア・コンソールは、ｍｃ＿ｔｏｋｅｎを、メディア番組を要求するときにはメディア・ステーションのアプリケーション・サーバへ、また、ＥＰＧをブラウジングする場合にはＥＰＧサーバへ、送信する（１７０６）。
【００５６】
ここまで特許法により義務付けられているように本発明を詳細に説明したが、当業者であれば、本明細書に開示されている特定の複数の実施形態に対する変更および置換を理解するであろう。そのような変更は、特許請求の範囲で定められているように本発明の範囲および意図を外れることはない。
【図面の簡単な説明】
【００５７】
【図１】図１は、本発明を採用するメディア・スイッチ・システムの層アーキテクチャのブロック図である。
【図２】図２は、図１の複数の層を実施するためのハードウェア・エレメントのブロック図である。
【図３】図３は、本発明を採用するシステムにおけるコンテンツ配給の論理的階層のブロック図である。
【図４】図４は、メディア・ステーションに組み込まれるエレメントのブロック図である。
【図５】図５は、メディア・ステーションへのコンテンツの配給を示す流れ図である。
【図６】図６は、コンテンツをメディア・ステーションへプッシュするためのハードウェアの相互作用およびプロセスの図である。
【図７】図７は、加入者からの要求の結果としてのコンテンツの転送のためのハードウェアの相互作用およびプロセスの図である。
【図８ａ】図８ａは、加入者のメディア・コンソールへデータをストリーミングするためのハードウェアの相互作用およびプロセスの図である。
【図８ｂ】図８ｂは、図５ａに示されたデータをストリーミングするプロセスの流れ図である。
【図９】図９は、過負荷を軽減するため他のメディア・エンジン上にセグメントを高速複製するプロセスの流れ図である。
【図１０】図１０は、加入者コマンドに応答してのエラー回避のためのメディア・エンジン・スワッピングのプロセスの流れ図である。
【図１１】図１１は、メディア・ステーションから番組を削除するプロセスの流れ図である。
【図１２】図１２は、本発明を組み込む統合メディア・スイッチの高レベルのデータ・フローのブロック図である。
【図１３】図１３は、ハードウェアの物理構造の最上位レベルのブロック図である。
【図１４】図１４は、シャーシ配置の詳細ブロック図である。
【図１５】図１５は、ブレードのメイン・ボードとネットワーク管理システムおよびシャーシ・ブレード・コントローラとの機能的相互作用のブロック図である。
【図１６】図１６は、本発明を採用するシステムでのアクセス制御のための秘密鍵システムの基本エレメントのブロック図である。
【図１７】図１７は、データのストリーミングに対するメディア・コンソールの要求を認証するためのシステム通信のブロック図である。
【図１】
2005328518.tif 000003
【図２】
2005328518.tif 000004
【図３】
2005328518.tif 000005
【図４】
2005328518.tif 000006
【図５】
2005328518.tif 000007
【図６】
2005328518.tif 000008
【図７】
2005328518.tif 000009
【図８ａ】
2005328518.tif 000010
【図８ｂ】
2005328518.tif 000011
【図９】
2005328518.tif 000012
【図１０】
2005328518.tif 000013
【図１１】
2005328518.tif 000014
【図１２】
2005328518.tif 000015
【図１３】
2005328518.tif 000016
【図１４】
2005328518.tif 000017
【図１５】
2005328518.tif 000018
【図１６】
2005328518.tif 000019
【図１７】
2005328518.tif 000020
【外国語明細書】
2005328518000001.pdf