(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-19
(45)【発行日】2024-12-27
(54)【発明の名称】可変的な接続性を有するモバイル環境のためのマイクロキャッシュ方法及び装置
(51)【国際特許分類】
H04L 67/2885 20220101AFI20241220BHJP
H04L 67/568 20220101ALI20241220BHJP
【FI】
H04L67/2885
H04L67/568
(21)【出願番号】P 2021564831
(86)(22)【出願日】2020-05-01
(86)【国際出願番号】 US2020030973
(87)【国際公開番号】W WO2020223607
(87)【国際公開日】2020-11-05
【審査請求日】2023-04-28
(32)【優先日】2019-05-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-04-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-04-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-04-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-04-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-04-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-04-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-04-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-04-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520337020
【氏名又は名称】ネットスカート システムズ インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100196612
【氏名又は名称】鎌田 慎也
(72)【発明者】
【氏名】ルフト ジークフリード
【審査官】木村 雅也
(56)【参考文献】
【文献】特開2017-034678(JP,A)
【文献】特開2014-239405(JP,A)
【文献】特開2003-208371(JP,A)
【文献】米国特許出願公開第2016/0249182(US,A1)
【文献】米国特許出願公開第2017/0195451(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/2885
H04L 67/568
(57)【特許請求の範囲】
【請求項1】
システムであって、
対応する複数のモバイル環境内で統合された、複数のマイクロキャッシュデバイスと、
コンテンツプロバイダから受信したインターネットパケット(IP)アドレス情報に従ってIPアドレスプールを維持するアドレスマネージャであって、前記アドレスマネージャは、前記
IPアドレスプールの異なる部分を前記マイクロキャッシュデバイスの異なるインスタンス及び対応するモバイル環境と関連付ける、アドレスマネージャと、
各モバイル環境内のクライアントデバイスにネットワーク接続性を提供する、各モバイル環境内の各マイクロキャッシュデバイスに連結されたローカルネットワークマネージャであって、第1のマイクロキャッシュデバイスに連結された第1のローカルネットワークマネージャは、前記
IPアドレスプールの第1の部分からのIPアドレスを第1のモバイル環境内の要求側クライアントデバイスに割り当て、第2のマイクロキャッシュデバイスに連結された第2のローカルネットワークマネージャは、前記
IPアドレスプールの第2の部分からのIPアドレスを第2のモバイル環境内の要求側クライアントデバイスに割り当てる、ローカルネットワークマネージャと、を備え、
前記コンテンツプロバイダは、
各マイクロコンテンツプロバイダキャッシュ(CPC)マネージャによって、各マイクロキャッシュデバイス
の可視性及び
各モバイル環境内の前記クライアントデバイスによる各マイクロキャッシュデバイス
のアクセス権の制御を提供され、マイクロキャッシュデバイス
の可視性は、前記マイクロキャッシュデバイスにおける前記コンテンツプロバイダからのどのコンテンツが
前記クライアントデバイスに配信されたか
を把握可能とする可視性を含む、
システム。
【請求項2】
前記アドレスマネージャは、各モバイル環境に割り当てられたIPアドレスプールの部分を報告する、請求項1に記載のシステム。
【請求項3】
前記モバイル環境は、輸送船舶又は車両を含む、請求項2に記載のシステム。
【請求項4】
前記輸送船舶又は車両が範囲内にあるときに固定高速ネットワークインターフェースに対する高帯域幅リンクを確立する、各モバイル環境内のモバイル高速ネットワークインターフェースを更に含む、請求項3に記載のシステム。
【請求項5】
前記固定高速ネットワークインターフェースは、前記コンテンツプロバイダ及び/又はモバイル環境のためのコンテンツサービスプロバイダへの高帯域幅接続を可能にする対応するマイクロキャッシュデバイスに結合される、請求項4に記載のシステム。
【請求項6】
前記コンテンツプロバイダ又はモバイル環境のためのコンテンツサービスプロバイダは、前記高帯域幅リンクが確立されると前記対応するマイクロキャッシュデバイスを新しいコンテンツで更新する、請求項5に記載のシステム。
【請求項7】
前記コンテンツプロバイダは、要求側クライアントデバイスからのコンテンツの要求に基づいて、IPアドレスマッチングに基づいてコンテンツの要求を提供する対応するモバイル環境内のマイクロキャッシュデバイスを識別する、請求項1に記載のシステム。
【請求項8】
前記コンテンツプロバイダは、要求側クライアントデバイスからのコンテンツの要求に基づいて、IPアドレスマッチングに基づいてコンテンツの要求を提供する場所のコンテンツプロバイダキャッシュを識別する、請求項1に記載のシステム。
【請求項9】
方法であって、
対応する複数のモバイル環境内で統合された、マイクロキャッシュデバイス内にコンテンツタイトルを記憶することと、
アドレスマネージャにより、コンテンツプロバイダから受信したインターネットパケット(IP)アドレス情報に従ってIPアドレスプールを維持することであって、前記アドレスマネージャが、前記
IPアドレスプールの異なる部分を前記マイクロキャッシュデバイスの異なるインスタンス及び対応するモバイル環境と関連付ける、維持することと、
各モバイル環境内のクライアントデバイスにネットワーク接続性を提供することであって、
前記
IPアドレスプールの第1の部分からのIPアドレスを第1のモバイル環境内の要求側クライアントデバイスに割り当てることと、
前記
IPアドレスプールの第2の部分からのIPアドレスを第2のモバイル環境内の要求側クライアントデバイスに割り当てることと、
を含む、提供することと、
各マイクロコンテンツプロバイダキャッシュ(CPC)マネージャによって、各マイクロキャッシュデバイス
の可視性及び
各モバイル環境内の前記クライアントデバイスによる各マイクロキャッシュデバイス
のアクセス権の制御を
前記コンテンツプロバイダに提供することと、
を含み、マイクロキャッシュデバイス
の可視性は、前記マイクロキャッシュデバイスにおける前記コンテンツプロバイダからのどのコンテンツが
前記クライアントデバイスに配信されたか
を把握可能とする可視性を含む、
方法。
【請求項10】
前記アドレスマネージャは、各モバイル環境に割り当てられたIPアドレスプールの部分を報告する、請求項9に記載の方法。
【請求項11】
前記モバイル環境は、輸送船舶又は車両を含む、請求項10に記載の方法。
【請求項12】
各モバイル環境内のモバイル高速ネットワークインターフェースを介して前記輸送船舶又は車両が範囲内にあるときに固定高速ネットワークインターフェースに対する高帯域幅リンクを確立することを更に含む、請求項11に記載の方法。
【請求項13】
前記固定高速ネットワークインターフェースは、前記コンテンツプロバイダ及び/又はモバイル環境のためのコンテンツサービスプロバイダへの高帯域幅接続を可能にする対応するマイクロキャッシュデバイスに結合される、請求項12に記載の方法。
【請求項14】
前記コンテンツプロバイダ又はモバイル環境のためのコンテンツサービスプロバイダは、前記高帯域幅リンクが確立されると前記対応するマイクロキャッシュデバイスを新しいコンテンツで更新する、請求項13に記載の方法。
【請求項15】
機械によって実行されたとき、前記機械に請求項9から14のいずれか1項に記載の方法を実行させるプログラムコードが記憶された機械可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、以下の特許仮出願番号の利益を主張する:
2019年5月2日出願の米国特許仮出願第62/842,383号;
2019年5月2日出願の同第62/842,397号;
2019年5月2日出願の同第62/842,408号;
2019年5月2日出願の同第62/842,414号;
2019年5月2日出願の同第62/842,427号;
2019年5月2日出願の同第62/842,446号;
2019年5月2日出願の同第62/842,447号;
2019年5月2日出願の同第62/842,457号。
【0002】
本願は、本願の譲受人に譲渡された以下の同時係属中の特許出願の一部継続出願である:
2018年3月22日出願の米国特許出願公開第15/933,327号;
2018年3月22日出願の同第15/933,330号;
2018年3月22日出願の同第15/933,332号;
2018年3月22日出願の同第15/933,336号;
2018年3月22日出願の同第15/933,338号。
【0003】
(発明の分野)
本発明の実施形態は、概して、ネットワークを介したコンテンツ配信の分野に関する。より具体的には、当該実施形態は、可変的な接続性を有するモバイル環境のためのマイクロキャッシュ方法及び装置に関する。
【背景技術】
【0004】
多くのビジネスには、モバイル環境において顧客にWiFiを提供する必要性がある。例えば、多くの航空路線、クルーズ船、バス車両、及び列車システムは、乗客にWiFiを提供する。しかしながら、これらのモバイル環境における輸送中の可変的な接続性及び最小帯域幅を考慮すると、顧客の期待を達成することは、ますます不可能になっている。
【0005】
標準的な世帯は、複数のデバイスで500GB/月の範囲内のコンテンツをストリームする。消費者は、旅行時に同一レベルのネットワークアクセスを期待し始めているが、これらの環境における乗客数及び低帯域幅の接続性を考慮すると、現在のシステムでは実現困難である。
本発明のより良好な理解は、以下の図面と併せた以下の詳細な説明から得ることができる。
【図面の簡単な説明】
【0006】
【
図1A】「ストランド」ネットワークで構成されたモバイル環境にメディアコンテンツをセキュアかつ効率的に送達するための、本発明の一実施形態を示す。
【
図1B】モバイルエッジデバイスを1つ以上のキャッシュシステムに接続するための、本発明のいくつかの実施形態を示す。
【
図1C】モバイルエッジデバイスを1つ以上のキャッシュシステムに接続するための、本発明のいくつかの実施形態を示す。コンデンサ及びコンテンツ配信ネットワーク(CDN)を含む、本発明の一実施形態を示す。
【
図2】コンテンツサービスプロバイダ(CSP)のアドレスをモバイル環境に割り当てることを含む、追加の特徴を示す。
【
図3】ネットワーク接続性を管理するための内部ゲートウェイプロトコル(IGP)及びボーダーゲートウェイプロトコルの利用を含む、追加の特徴を示す。
【
図4】コンテンツサービスプロバイダコンテンツを記憶するためのインターネットサービスプロバイダ(ISP)キャッシュを含む一実施形態を示す。
【
図5】コンデンサ及びCDNノードを含む一実施形態の更なる詳細を示す。
【
図6】透過型キャッシュ(TIC)を含む一実施形態を示す。
【
図7】コンテンツプロバイダを含む様々なソースからのコンテンツをCSPキャッシュが記憶する一実施形態を示す。
【
図9】一実施形態におけるコンデンサとTICとの相互作用を示す。
【
図10】クライアント要求をローカルキャッシュにリダイレクトするための一実施形態を示す。
【
図11】列車でTICにコンテンツを提供するために複数のアンテナを有する例示的な実施形態を示す。
【
図12】コンテンツを伝搬するための階層的構成の一実施形態を示す。
【
図13】マイクロキャッシュを実施するためのアーキテクチャの一実施形態を示す。
【
図14】ローカルネットワークにおける動的アドレス割り当てを含むマイクロキャッシュアーキテクチャの一実施形態を示す。
【
図15】モバイル環境の予想移動経路を使用する一実施形態を示す。
【
図16】モバイル環境内のローカルキャッシュへの異なる接続を含む一実施形態を示す。
【
図17】コンテンツをモバイル環境に配信するためのアーキテクチャの一実施形態を示す。
【
図18】越境するコンテンツ配信を管理するための一実施形態を示す。
【
図19】キャッシュされたコンテンツを監視するためのCDNEキャッシュ階層及び技術の一実施形態を示す。
【
図20】キャッシュされたデータを認証するために共有台帳が使用される一実施形態を示す。
【
図21】ストランドネットワークからコンテンツが収集される一実施形態を示す。
【
図22】複数の固定エッジ及び可動エッジを含む一実施形態を示す。
【
図23】CDNエクステンダがビデオオンデマンドデータを取得し、ビデオをモバイル環境キャッシュに配信する一実施形態を示す。
【発明を実施するための形態】
【0007】
以下の説明では、説明を目的として、以下に記載される本発明の実施形態の完全な理解を提供するために、多数の特定の詳細が示される。しかしながら、本発明の実施形態がこれらの特定の詳細のうちのいくつかを用いずに実施され得ることは、当業者には明らかである。他の例では、本発明の実施形態の根本的な原理を不明瞭にすることを避けるために、周知の構造及びデバイスをブロック図の形態で示す。
【0008】
本発明の実施形態は、いつでも、どこでも、リモートの場所でも、及び帯域幅が従来限定されている外出中でも接続していたいというエンドユーザの期待を満たす。具体的には、戦略的な場所においてコンテンツをホストする、インテリジェントなキャッシング技術について説明する。一実施形態では、キャッシュ及び関連するコンテンツ配信ネットワーク(CDN)は、輻輳点の後方でコンテンツをプレロードすることによってネットワークの輻輳制限を解決する。
【0009】
既存のキャッシュ及びCDN技術が正常に動作するためには、飛行機、列車、バス、及び客船などモバイル環境では利用できない、連続的な高速の接続性を必要とする。その結果として、これらのビジネスはますます不利な境遇にあり、非常に大規模な市場内でソリューションに対する累積需要が生じている。
【0010】
本発明の一実施形態は、モバイル環境が確定的又は非確定的な期間のいずれかにわたって一時停止することが予想され得る戦略的な場所に高速アクセスポイントを追加して既存の接続性を増加させることによって、モバイル環境で利用可能な接続性の欠如に対処する。一実施形態では、これらの二重ネットワークの管理は、インターネットサービスプロバイダ(ISP)によって提供される。しかしながら、このエンティティは、本明細書において、大型データセット(例えば、ビデオ)に焦点を合わせてコンテンツサービスプロバイダ(CSP)と称する。
【0011】
一実施形態では、CSPは、各モバイル環境を、CSPのネットワーク集合体の接続されたサブネットワークとして管理する。一実施例では、これは、IPサブネットワークを定義することによって達成される。具体的には、モバイル環境は、低速通信チャネル(例えば、モバイル環境が移動中であるときに利用可能な衛星リンク又はセルラーネットワーク接続)又は高速ネットワーク(例えば、モバイル環境が戦略的に位置する高速リンクに到達したとき)のいずれかを介して到達し得る、ルーティング可能なIPサブネットワークとして構成されている。
【0012】
モバイル環境が高速ネットワークを有するいくつかの場所を通過する場合、一実施例では、内部ゲートウェイプロトコル(IGP)などルーティングプロトコルを利用して、サブネットワークへの新しいルートが存在することを通知する。常に、より優先順位の低いルートは、低速ネットワークを介して利用可能である。
【0013】
CSPは、モバイル環境が通過することが既知である戦略的な場所に、これらの高速ネットワークを配置する。また、CSPは、高速接続の確立時に、コンテンツが確実にモバイル環境に伝送され得るようにすることができる。これは、本発明の様々な態様に対して多数の方法で達成され得る。
> エッジ位置への十分な接続性+高速接続は、データ転送を適時実行できるように設計され得る。
> データは、エッジ位置に送信されることができ、高速接続の確立時のモバイル環境への更なる転送を待機する。
【0014】
本発明の一実施形態では、既存のコンテンテントプロバイダキャッシュ(CPC)は、コンテンツプロバイダによって指定された要求に従って、中央部でCSPによってホストされ得る。一例として、限定するものではないが、Netflix Open Connect Appliance(OCA)がインストールされ、CSPによってホストされてよい。モバイル環境が、CSPネットワークの1つ以上のエッジにおいて高速接続への接続を確立する場合、別のキャッシュ(例えば、別のNetflix OCA)は、集中キャッシュからのスケジュールされたピアフィルを開始することができる。ピアフィルは、即座にスケジュールされる、又は予測可能である、のいずれかであってよい。
【0015】
本発明の別の実施形態では、以下で「コンデンサ」デバイスと称することがある中間記憶デバイスは、1つ以上のモバイル環境に対して指定されたデータを保持する。ローカルに接続されたモバイル環境は、高速接続の範囲内にあるときにコンデンサからコンテンツをダウンロードするコンテンツ配信ノード(CDN)を含む。
【0016】
以下で論じるように、特定の状況では、モバイル環境内のCDNノードは、コンデンサにコンテンツをアップロードする。例えば、リモートの場所に構成された特定のコンデンサには、CSPネットワークへの高速リンクがない場合がある。そのような場合、多数のCDNノードを有するモバイル環境が範囲内(例えば、クルーズ船)に入ると、コンデンサは、これらのCDNノードから可能な限り大量のデータを取得し、その後、当該コンテンツをモバイル環境のCDNノードに提供することができる。これにより、モバイル環境は、CSPの機構としてそのネットワーク全体にコンテンツを容易に配信することができ、これは、送信に数日又は数週間を要する大型データセットの場合に特に有益である。
【0017】
一実施例では、CDNノードは、モバイル環境に関連付けられ得る1つ以上のキャッシュタイプを仲介する。例えば、Netflix OCA、Google Global Cache(GGC)、コンテンツプロバイダと連携する透過型キャッシュ、又は所望のコンテンツを表すことが知られているトラフィックを単純に複製する、より伝統的な透過型キャッシュが挙げられる。全ての場合において、CDNノードは、接続性がキャッシュから抽出される、予測可能な方法でローカルコピーをモバイル環境に伝播させることができる。これにより、Netflix及びGoogleなどキャッシュから、並びに他のより柔軟な機構からのスケジュールされたキャッシュフィルが可能になる。
【0018】
CSPネットワークのコンデンサは、静止時に、プールされたコンテンツをホストする。本発明の一実装例では、このコンテンツは、他のパーティ(例えば、Netflix)によって所有されてよく、複製され、配信された場所に対する可視性を必要とする。例えば、Netflixなど特定のコンテンツプロバイダは、コンテンツの全コピーが記憶されている場所を把握することを必要とする。コンデンサによってCDNノードに配信された各コピー、及びキャッシュに配信されたCDNノードは、全ての記憶場所が既知であり、コンテンツプロバイダに報告されるように記録されてよい。更に、一実施形態は、必要に応じてコンテンツをパージする技術(例えば、コンテンツの復号化に使用される暗号鍵を無効化する)技術を提供する。
A. コンテンツ配信ネットワークエクステンダ(CDNE)の実施形態
【0019】
図1Aは、ストランドネットワーク130にコンテンツ配信サポートを提供するための回路及びロジックを含むコンテンツ配信ネットワークエクステンダ110(以下、「CDNエクステンダ」又は「CDNE」)を示す。本明細書で使用するとき、「ストランドネットワーク」130は、特定の期間にユーザ152が集中し、これらの期間に重なってインターネットに対する制限付きのバックホール接続を有する(例えば輸送車両内など)、任意の形態のローカルネットワーク(有線及び/又は無線)を含む。ストランドネットワーク130は、消費者の任意の集中を通じてフェリー、列車、又は飛行機などモバイル環境内のWiFiネットワークから広がることができ、Wifi/セルラー接続性及び制限付きのバックホールを有する。ストランドネットワーク130は、CDNエクステンダ110ネットワークの「エッジ」に位置すると称される場合がある。
【0020】
一実施形態では、CDNエクステンダ110は、コンテンツチャネル190及び/又は1つ以上のコンテンツ配信ネットワーク101~102からコンテンツを取得するための取り込みロジック111と、現在のコンテキスト120と関連付けられた、コンテンツの利用及び関連データを分析するための分析ロジック112と、本明細書に記載のようにコンテンツに対して指定の変換動作を実行するための変換ロジック185と、各ストランドネットワーク130上のローカルCDNエクステンダ135に元のコンテンツ及び/又は変換されたコンテンツをインテリジェントにプッシュするための配信ロジック114と、を含む。
【0021】
一実施形態では、CDNエクステンダ110は、ストランドネットワーク130内に構成された複数のローカルCDNエクステンダ135と共に、ストランドネットワーク130が進入する/通過することが既知である戦略的場所に位置付けられた高速アクセスポイントとの接続性の一時的欠如を、確定的期間又は非確定的期間のいずれかにわたって増強する。
【0022】
具体的には、CDNエクステンダ110は、配信されるコンテンツに関連付けられた現在のコンテキスト120(例えば、コンテンツに関連付けられた特性)を評価してから、利用可能なストリームの取り込み111、分析112の適用、及び変換185を行い、確定的な配信114のためにパッケージ化を行う。
【0023】
CDNエクステンダ110の一実施形態は、ストランドネットワーク130に関連付けられた特性及び配信されるコンテンツに関連付けられた特性に基づいて、ローカルCDN135にコンテンツを配信する、インテリジェントかつ効率的なプッシュ配信ネットワークを含む。ストランドネットワークの特性としては、ストランドネットワーク130の地理的位置スケジュール(例えば、ストランドネットワーク130が所与の時間に通過する高帯域幅接続ポイント)、ローカCDN135上のローカル記憶装置142の容量、及びローカルCDN135がIPアドレス及びそのユーザ152へのDNSマッピングを管理して、本明細書に記載の技術を実施する方法を含み得るが、これらに限定されない。
【0024】
異なる実施形態では、ローカル記憶装置142は、透過的に管理されてよく、及び/又はアドレス指定されたキャッシュとして構成されてよい。本明細書に記載のIPアドレス指定技術は、コンテンツプロバイダがローカル記憶装置142の地理的位置を特定できるようにし、特定の消費者/アプリのトラフィックを特定のCDN(CDNエクステンダ110を含む)に誘導するために使用され得る。
【0025】
図1Aに示すように、コンテンツは、CDNパートナー101~102を介して、又はコンテンツチャネル(例えば、Netflix、Hulu)から直接105~106得ることができる。図示する実施例では、コンテンツチャネル190とCDNエクステンダ110との間に双方向制御チャネル107が確立され、コンテンツチャネル190に、そのコンテンツがCDNエクステンダ記憶装置115内及び各ストランドネットワーク130上のローカル記憶装置142内に記憶される/使用される方法についての高レベルの可視性を提供する。他の方向では、制御チャネル107は、CDNエクステンダ110が、その継続的な分析及びコンテキスト120に基づいてコンテンツ要求/クエリを行うことを可能にする。
【0026】
上述したように、一実施形態では、CDNエクステンダ110上の取り込みロジック111は、コンテンツチャネル190及び/又はコンテンツ配信ネットワーク101~102に対する高帯域幅接続を通じてコンテンツをプル/受信する。一実施形態では、取り込みロジック111は、CDNエクステンダ記憶装置115にコンテンツを記憶し、必要に応じてコンテンツのインデックスを作成する。取り込みロジック111は、(例えば、ストランドネットワーク130からの)消費者フィードバックなど変数、コンテンツプロバイダの要求(例えば、CDNエクステンダオペレータと各コンテンツプロバイダとの間でのライセンス協定で指定されるように)、ストランドネットワーク130と関連付けられたスケジュール、及び分析ロジック112によって実行される分析に基づいて動作して、マスターコンテンツキャッシュを作成する。CDNE記憶装置115は、実施例に応じて、マスターコンテンツキャッシュの一部又はマスターコンテンツキャッシュ全体を含んでよい。例えば、小規模な実施例では、単一のマスターCDNE記憶装置115を備えた、単一のCDNエクステンダ110が存在し得る。あるいは、CDNエクステンダ110は、ピアベースの配置及び/又は階層的配置で共に連結された、いくつかのCDNエクステンダのうちの1つであってよい。後者の場合、マスターコンテンツキャッシュは階層の最上部に配置されてよく、様々なCDNエクステンダ110のうちの個々のCDNE記憶装置キャッシュ115は、必要に応じてマスターキャッシュからプルし、他のピア(例えば、他のCDNエクステンダ)及び様々なストランドネットワーク130の間でコンテンツを潜在的に共有する。
【0027】
後述するように、分析ロジック112は、全てのエッジ/ストランドネットワークにわたって総需要を評価し、その分析に基づいてコンテンツの配信及びコンテンツの保持の両方の優先順位付けを行ってよい。一実施形態では、分析ロジック112は、人口統計学、地理学、宛先、エッジ性能特性、及びコンテンツ要求が挙げられ得るが、これらに限定されない様々なデータポイントに基づいて、予測配信/選択的配信を実施する。
【0028】
変換ロジック185は、限定された状況下で、コンテンツに対する修正を実行してよい。例えば、非常に人気の高いタイトル(例えば、分析ロジック112によって特定される)について、変換ロジック185は、1つ以上の低ビットレートバージョンを生成し、配信ロジック114に、制限付きの記憶能力及び/又は帯域幅能力を有するネットワーク130に低ビットレートバージョンを配信させてよい。
【0029】
サッカー又は野球の王座決定戦などライブコンテンツ105については、変換ロジック185は、元のライブストリームの解像度及び/又はフレームレートを低減して、CDNE記憶装置115上で一時的にバッファリングし得る、N個の低ビットレートバージョンを生成してよい。次いで、(ユーザごとのストリームではなく)単一ストリームを各ストランドネットワーク130に送信して、帯域幅消費を低減してよい。
【0030】
次いで、配信ロジック114は、各ストランドネットワーク130に関連付けられた能力及び他の変数に基づいて、N個のバージョンのうちの1つから選択してよい、又は元のライブコンテンツ105を使用してよい。一実施形態では、配信ロジック114は、特定のストリームレートを有する、1つ以上の個別化されたコンテンツパッケージの変形例、及びカスタマイズされたユーザマニフェストを生成して、ストランドネットワーク130にコンテンツが到達したときの迅速な配信を促進する。
【0031】
様々な実施形態では、配信ロジック114は、ライブコンテンツ及び/若しくはストリーミングコンテンツに関連付けられたスケジュール、各ストランドネットワーク130に関連付けられたスケジュール、並びに/又はストリームされたコンテンツに関連付けられたポリシー(例えば、コンテンツ所有者又はコンテンツプロバイダとの合意に基づく)に従って動作してよい。スケジューリングデータの一部又は全ては、分析ロジック112によって決定/管理され、配信ロジック114に渡されてよい。
【0032】
ストランドネットワーク130に関連付けられた様々な特性は、分析ロジック112によって評価されて、ローカルCDN135へのコンテンツの送信を制御してよい。これには、例えば、ローカル記憶装置142のボリュームサイズ(例えば、1TB、2TB、5TBなど)、コンテンツの静的利用(例えば、選択的な優先順位付け、VoDであろう最大100%の静的利用)、及び適応的利用(例えば、分析主導であり得る、コンテンツタイトルごとの利用率)を挙げることができる。
【0033】
用語「ロジック」、「モジュール」、及び「エンジン」は本明細書において互換的に使用されて、図に示す様々な機能構成要素(例えば、分析ロジック112)を指すことに留意されたい。一実施形態では、これらの構成要素は、プロセッサによって実行されて記載の機能を実行する、メモリに記憶されたプログラムコードによって実施される。これらの機能構成要素はまた、ハードウェア(例えば、ASICなどの特定用途向け回路)内で実施されてよく、又はハードウェア及びソフトウェア/ファームウェアの任意の組み合わせを使用して実施されてよい。
【0034】
本発明の一実施形態は、モバイル輸送環境の予測可能なスケジュールに基づいて、データをインテリジェントにキャッシュするためのシステム及び装置を含む。この実施形態では、コンテンツは、CDNエクステンダに取り込まれ、モバイル環境に配信され、遠隔キャッシュ上で管理され、次いで、エンドユーザアプリケーションで透過的に消費可能にされる。
【0035】
図1Bは、CDNエクステンダ110が、列車運行、航空路線、バス運行、クルーズ/フェリー運行、又はストランドネットワーク130を含む任意の他の運行などの組織向けのインターネットサービスプロバイダとして動作する例示的な実施形態を示す。以下に記載の特定の実施形態では、ストランドネットワーク130は輸送車両に組み込まれる。しかしながら、本発明の基本原理は、任意の形態のストランドネットワーク130で実施され得ることに留意されたい。
【0036】
図示の例では、ストランドネットワークは、高速ネットワーク161を介して1つ以上の固定エッジ184に定期的に接続するモバイルエッジエッジ185を伴って構成されている。様々な異なるタイプの無線通信機、有線送受信機、プロトコル、サーバなど102、103は、802.11プロトコル(WiFi)及びギガビットイーサネットプロトコルを含む物理的高速接続を形成するために使用されてよい。輸送車両が定置された固定エッジ184に到達するか、又は通過するとき、異なる技術を使用して接続性が確立されてよい。
【0037】
一例では、キャッシュ155は、固定エッジ184、高速ネットワーク161、及びモバイルエッジ185を介して、モバイル環境内の透過型キャッシュ(TIC)196に直接接続する。一実施形態は、スケジュールされた接続性及び十分な接続性に依存して、キャッシュフィルを完了する。これは、
図1Bに示すように、ピアフィルX=Yによって定義される。
【0038】
あるいは、又は加えて、サードパーティキャッシュ157は、固定エッジ184、高速ネットワーク161、及びモバイルエッジ185を介して、接続したサードパーティキャッシュ115とピアリングする。この場合もやはり、一実施形態は、スケジュールされた接続性及び十分な接続性に依存して、ピアリングされたキャッシュフィルを完了する。これは、ピアフィルX=Yによって定義される。
【0039】
一実施形態は、モバイルキャッシュに対する接続性を時間的かつ空間的に集約するためのシステム及び装置を含む。具体的には、この実施形態は、非確定的に往来し得る、モバイル環境内のストランドネットワーク130を含む。ローカル記憶装置はストランドネットワークに連結され、ネットワーク管理動作の新たなセットは、モバイル環境内でIPアドレスを配信して様々なコンテンツプロバイダの要求に適応するように実施される。
【0040】
図1Cは、コンデンサ510(固定の場所にある)及びCDNノード119(モバイル環境内)の両方で接続性が増強される例示的な実施形態を示す。図示の実施例では、これらのデバイスは、各デバイス内のデータをプールすることによって、高速ネットワーク161の一時的性質を管理する。一実施形態では、高速ネットワーク161は、固定コア159を介してコンデンサ510をCSPネットワーク152に接続するネットワークよりも著しく高速であってよい。コンデンサ510においてキャッシュデータを記憶することにより、先験的に、高速ネットワーク161で利用可能な最大速度を達成することができ、複数のモバイル環境150は、同一コンデンサ510から同時に及び/又は連続的に更新されることができる。
【0041】
例えば、一例では、キュレートされたキャッシュ155は、そのコンテンツを1つ以上の場所にある1つ以上のコンデンサ510に送信する。次いで、モバイル環境150が特定の固定エッジ184に接近すると、物理高速ネットワーク161は、固定エッジ184及びモバイルエッジ185の制御下で確立される。CDNノード119は、コンデンサ510との接続性を確立し、次いで、コンデンサ510に現在記憶されているコンテンツをダウンロードする。この実施形態におけるCDNノード119は、増分ダウンロードの管理を担当する。例えば、モバイル環境150は、ある期間にわたって2つ以上の固定エッジ151において中断してよい。各中断は、データの部分転送を容易にするだけであってよい。CDNノード119への完全転送が完了すると、TIC196は、CDNノード119から連続的なピアフィルを受ける。これは、増分ピアフィルX=ΔYという式によって定義され得る。
【0042】
一例では、サードパーティキャッシュ157は、複数の場所にある1つ以上のコンデンサ510対して、そのコンテンツのピアフィルを行う。次いで、モバイル環境150が特定の固定エッジ184に接近すると、物理高速ネットワーク161は、固定エッジ184及びモバイルエッジ185の制御下で確立される。CDNノード119は、コンデンサ510との接続性を確立し、次いで、コンデンサ510に記憶されているキャッシュされたコンテンツをダウンロードする。CDNノード119は、増分ダウンロードの管理を担当する(例えば、有していないコンテンツを識別し、コンデンサ510から当該コンテンツを要求する)。例えば、モバイル環境150は、ある期間にわたって2つ以上の固定エッジ151において中断してよく、各停止は、データの部分転送を容易にするだけであってよい。CDNノード119への完全転送が完了すると、サードパーティキャッシュ195は、CDNノード119から連続的なピアフィルを受ける。ここでも、これは、増分ピアフィルX=ΔYとして定義され得る。
【0043】
一実施例では、高優先度として特定された、キュレートされたキャッシュ155の部分は、本明細書ではトレンドキャッシュ205と称される。一実施形態では、高速リンク161が利用不能であるとき(例えば、モバイル環境150の移動中)、トレンドキャッシュ205からのキャッシュフィルは低速ネットワーク160を介して可能である。例として、トレンドキャッシュ205内のデータは、CSP152によって判定された、最も人気の高い/要求回数の多いデータであってよい。この実施例では、トレンドキャッシュ205からのコンテンツが低速ネットワーク160を介してモバイルエッジ185へ、そしてCDNノード119までルーティングされることが、固定コア159によって可能になる。上述したように、低速ネットワーク160は、衛星、セルラー(例えば、LTE)、又は長距離WiFiなどモバイル無線技術を含んでよい(ただし、これらに限定されない)。そこから、TIC196及び/又はサードパーティキャッシュ195に対するピアフィルX=Yが完了する。
【0044】
前述のように、場合によっては、コンデンサ510は、固定コア159への高速接続を有しないことがある。例えば、コンデンサ510は、確定的又は非確定的なスケジュールのいずれかに従って、モバイル環境150が(例えば、列車又はフェリー経路の途中で)通過することが予期される、比較的孤立した位置に構成されてよい。この場合、接続されたCDNノード119は、モバイルエッジ185、高速ネットワーク161、及び固定エッジ184を介して、特定のキャッシュコンテンツをコンデンサ510にアップロードするように構成され得る。一実施形態では、これは、CDNノード119に記憶されているが、コンデンサ510にはまだ記憶されていないキャッシュコンテンツを識別するメッセージを交換する、コンデンサ510及びCDNノード119によって達成される。次いで、コンデンサ510は、CDNノード119からのそのようなコンテンツを、潜在的にはCDNノード119内のコンテンツの各アイテムに関連付けられた人気、つまり「最も頻繁に要求された」値に基づいて優先順位で要求してよい。このように、様々なモバイル環境150は、固定エッジ184用の配信ネットワークとなり、逆もまた同様である。すなわち、各モバイル環境150は、コンデンサ510の通過時に新データを提供し、コンデンサ510は、現在特定のコンテンツを有していないモバイル環境にコンテンツを提供してよい。
【0045】
一実施形態では、モバイル環境150は、CSP152のアドレス指定可能な拡張である。モバイル環境150が遭遇する、確立された高速ネットワーク161ごとに、ネットワーク接続性を確保することによって到達可能性を達成する必要がある。固定コア159は、低速ネットワーク160(すなわち固定エッジ184を通して)及び高速ネットワーク161のいずれかへのポリシールーティングを提供する。高速ネットワーク161が確立された場合、モバイルエッジ185は、接続され、アクセス可能である固定コア159に戻って通信する。一実施形態では、これは、固定コア159に直接関連付けられたルータ200に対する内部ゲートウェイプロトコル(IGP)更新を発行するネットワークルータ201によって達成される。例えば、モバイル環境のルータ201は、ルータ200がルータ201への接続の確立に使用することができるTCP/IPデータ(例えば、新しいTCP/IPアドレス)をルータ200に提供することができる。
【0046】
本発明の一実施形態は、モバイル環境を使用してネットワーク全体にコンテンツを伝搬するためのシステム及び装置を含む。一実施形態は、モバイル環境を活用して、配信ネットワーク全体でデータを移動させる。例えば、ある駅から新データをピックアップする列車は、この新データを他の駅に配信してよい。
B. モバイル環境を通じたコンテンツの伝搬
【0047】
図2に示すように、コンテンツサービスプロバイダ152は、大規模なIPアドレスプール202を割り当てられ得、その一部は、様々なモバイル環境150(例えば、列車、船舶、バス、飛行機)に割り当てられてよい。上述したように、これは、モバイル環境150ごとに異なるサブネットワークを定義し、当該サブネットワーク内のIPアドレスの全てをモバイル環境に割り当てることによって達成され得る。
【0048】
一実施形態では、ボーダーゲートウェイプロトコル(BGP)を使用して、異なるネットワーク構成要素間でルーティング及び到達可能情報を交換してよい。例えば、
図2では、BGPピアリング接続203は、モバイル環境150内のIPアドレスに関する位置情報を要求するコンテンツプロバイダ(例えば、Netflix、Google、Amazonなど)とIPアドレス及び位置を共有するために使用される。
【0049】
図3は、第1の高速ネットワーク161から第2の高速ネットワーク311へと移動しているときであっても、モバイル環境150内のIPアドレスが、CSP152へのルーティング可能な接続を確立する方法を強調する。具体的には、IGPルータ302は、高速ネットワーク311が確立されたことを認識し、そのローカルサブネットワーク情報を、CSPネットワーク152内のIGPルータ301に伝搬する。CSP152は、更新されたIGPルータ301を使用して、モバイル環境150にパケットをルーティングしてよい。なお、高速ネットワーク311の確立前(例えば、モバイル環境150の移動中)、IPアドレスは、依然として低速ネットワーク160を介してルーティングされ得ることに留意されたい。
【0050】
図4は、この環境におけるコンテンツキャッシュ管理の例を示す。この例では、特定のサードパーティキャッシュ410がモバイル環境150内に配置され、CSPサブネットワークの一部である(すなわち、CSPによって割り当てられたIPアドレス範囲を有する)。一実施形態では、CSP152は、BGPピアリングリンク203を介してサードパーティのコンテンツプロバイダ401に戻って、サードパーティキャッシュに近接したサブネットワークアドレスの範囲を識別する。CSP152はまた、CSP152内にサードパーティキャッシュ402を配置して、ISPキャッシュ402として動作する。この実施形態では、サードパーティコンテンツプロバイダ401からの全ての更新は、CSPネットワークゲートウェイを介して、ISPキャッシュ402に対して直接行われる。次いで、サードパーティのモバイルキャッシュ410は、スケジュールされた又はスケジュールされていないピアフィルなどイベントの際に、高速ネットワーク161を介してISPキャッシュ402から更新される。
【0051】
一実施形態では、モバイル環境150内のユーザデバイスからのコンテンツへのアクセス要求は、最初に、低速度ネットワーク160を介してコンテンツプロバイダ401にルーティングされてよい。上述のように、コンテンツプロバイダ401にネットワーク接続情報を提供するBGPピアリング接続203の結果として、コンテンツプロバイダ410は、ユーザデバイスをモバイルキャッシュ410に(要求されたコンテンツのコピーを含むと仮定して)リダイレクトする。コンテンツプロバイダによるリダイレクトはまた、ユーザがコンテンツプロバイダ401で認証されて、要求したコンテンツをレンダリングする許可を受けることを必要とする。一実施形態では、コンテンツプロバイダ401は、認証に続いてユーザの場所の検索を実行し(例えば、BGPピアリングデータを用いて)、ユーザのIPアドレスと(同一サブネットワーク内にある)モバイルキャッシュ410との関連付けを参照する。次いで、後続の通信は、モバイルキャッシュ410にダイレクトされてよい。
【0052】
図5は、コンデンサ510及びCDNノード520を含む一実施形態(例えば、
図1Bに関して一般に説明したように動作する)の更なる詳細を示す。図示の実施例では、コンテンツプロバイダ401のネットワークフィルは、1つ以上のISPキャッシュ402に対してプッシュされる。次いで、ISPキャッシュ402は、固定エッジ184において、スケジュールされたピアフィルを各コンデンサ510に対して実行する。高速ネットワーク161が特定の場所(例えば、列車/空港/バス/船舶ターミナル)で確立されると、コンデンサ510は、CDNノード520との接続を形成し、高速リンク161を介してCDNノード520にコンテンツを提供する。上述したように、コンデンサ510は、CDNノード520に、利用可能なコンテンツのリストを送信してよく、CDNノード520は、このリストをその既存のコンテンツと比較してよい。次いで、現在ローカルにキャッシングされていないコンテンツの全て(又はサブセット)を要求してよい。あるいは、CDNノード520は、そのコンテンツのリストをコンデンサに送信してよく、コンデンサは、フィルタリング動作を実行して、CDNノード520に必要なコンテンツを識別してよい。いずれの場合でも、CDNノード520によって必要とされるコンテンツのリストは、人気、コンテンツサイズなど変数に基づいて優先順位付けされてよい。これにより、モバイル環境150内で必要とされる可能性が最も高いコンテンツが、コンデンサ510からCDNノード520に確実に転送される(すなわち、高速ネットワーク161が限られた時間だけ利用可能である場合)。
【0053】
更に、上述したように、コンデンサ510がISPキャッシュ402及び/又はコンテンツプロバイダ401に戻る相対的に低帯域幅のリンクを有する場合(例えば、コンデンサがリモートの場所にある場合)、リバースフィル動作を実行してよい。そのような場合、例えば、クルーズ船舶上のCDNノード520がコンデンサ510と高速接続を形成する場合、接続期間中にリバースフィル動作を実行して、コンデンサにコンテンツを提供してよい。次いで、コンデンサ510は、他のモバイル環境150の他のCDNノードにこのコンテンツを提供してよい。
【0054】
図6は、透過型キャッシュ610を利用する別の実施形態を示す。透過型キャッシュ610の1つの利点は、複数の異なるコンテンツプロバイダ401、601からの複数のキャッシュの複合体として構成され得ることである。追加のコンテンツプロバイダ601は、コンテンツプロバイダ401について上述した方法と同一の方法でシステムと相互作用してよい(例えば、ISPキャッシュ602上でネットワークフィル動作を実行する)。この実施形態は、モバイル環境150が、完全なサードパーティ/コンテンツプロバイダキャッシュを保証する、しかるべきサイズではない市場に関する問題に対処する。例えば、NetflixからのOCAキャッシュは80Gbpsものストリーミングトラフィックをサポートするが、これは、バス又は飛行機環境にとって過剰である。更に、Netflixなどコンテンツプロバイダは、ユーザが100又は更には500人を下回るモバイル環境にそのようなデバイスを配置しないことがある。
【0055】
ISPキャッシュ402、602のコンテンツが信頼され、透過型キャッシュ(TIC)610にホスティングされ得る実施形態では、TIC610は、ISPキャッシュ402、602の完全な表現を有してよい。「承認されたピアフィル」とは、ISPキャッシュ402、602がそのコンテンツをTIC610と共有する能力を指す。コンデンサ510、高速ネットワーク161、及びCDNノード520は上述のように動作して、コンテンツを配信する。この実施形態のTIC610は、傍受されるべき要求をより容易に識別する。例えば、モバイル環境150内のユーザがサードパーティコンテンツプロバイダ401、601(例えば、Netflix)からのコンテンツを要求すると、インターネット200を介してコンテンツプロバイダ401、601に対する要求が行われる。コンテンツプロバイダは、モバイル環境150内に物理的に位置するコンテンツではなく、そのISPキャッシュ402、602への参照をそれぞれ返す。この実施形態では、モバイル環境150内のIPアドレスは区別されない。BGPピアリング接続203は、コンテンツプロバイダ401、601を含むCSP152の全てのアドレスをインターネットに通知する。更に、最も近いキャッシュは、ISPキャッシュ402、602である。したがって、ユーザデバイスは、ISPキャッシュ402、602への接続を試み、透過型キャッシュ610はこの宛先アドレスのみを知る必要があり、この要求を安全に傍受し、リダイレクトし、コンテンツのローカルコピーからサービスを提供することができる。
【0056】
図7に示す実施形態では、キュレートされたCSPキャッシュ710は、キャッシュフィルポリシーに従って、複数のコンテンツプロバイダ401、601からのデータを記憶する。キャッシュは、特定のルールセット/ポリシーセットが使用されて記憶するコンテンツを決定する程度までキュレートされる。例えば、キャッシングの決定を下すために、キャッシュミスデータ、人気データなどデータ702が、現場に配置された透過型キャッシュ610のそれぞれから収集されてよい。加えて、データ701は、インターネット上の戦略的なネットワークの場所に構成され、ユーザ動向を観察するように設計されたハニーポットから収集されてよい。他の変数は、顧客要求(例えば、コンテンツの特定アイテムをキャッシュするという、コンテンツプロバイダ410、610からの要求)を含むが、これらに限定されないキャッシングポリシーに因子分解されてよい。
C. 透過型キャッシュの実施形態
【0057】
本発明の一実施形態は、複数のコンテンツプロバイダからマルチメディアコンテンツを透過的にキャッシングするための透過型キャッシュシステム及び方法を含む。この実施形態は、複数のコンテンツプロバイダからのコンテンツのキャッシングを実施し、単一ソリューションとしてコンテンツをモバイル環境150に配信する。
【0058】
図8は、CSP152によって管理されるキャッシュ集中管理コントローラ850が、コンテンツプロバイダ401、601のそれぞれから(例えば、キャッシュミス変数、コンテンツプロバイダの優先設定、及び/又は上述の他の変数に基づいて)記憶する特定のコンテンツに関する決定を下す、一実施形態を示す。加えて、キャッシュ管理コントローラ850は、指定のキャッシュ管理ポリシー870に基づいて、コンデンサ510のそれぞれに対してコンテンツをフィルする時期及び方法を決定する。例えば、キャッシュ管理ポリシー870は、ローカルキャッシュ815がフィルされる特定の速度、及び/又はローカルキャッシュフィルが行われる特定の期間(例えば、帯域幅が利用可能である真夜中)を示してよい。キャッシュフィルポリシー870は、ユーザ要求及び/又はコンテンツプロバイダ401、601(例えば、Netflix)からのフィードバックによって指定されてよい。例えば、特定のビデオがユーザによって頻繁に視聴されている場合、キャッシュフィルポリシー870は、キャッシュ管理コントローラ850がこの特定のビデオで全てのローカルキャッシュ115、175をフィルするべきであると指定してよい。
【0059】
一実施形態では、1つ以上のコンテンツプロバイダキャッシュ140、160は、指定コンテンツで1つ以上のCSPキャッシュ710を定期的に(例えば、毎晩)フィルする。これは、例えば、最も人気の高いマルチメディアコンテンツ(例えば、最も人気の高い映画及びTV番組)について行われてよい。次いで、キャッシュ管理コントローラ850は、対応するローカルキャッシュマネージャ812との通信を介して、様々なコンデンサ510においてローカルキャッシュ815をフィルする。一実施形態では、各ローカルキャッシュマネージャ812は、異なる輸送船舶/車両820のTIC管理者822との通信を確立するために、独自のローカルキャッシュポリシー870を実施して、コンテンツでそれぞれのTIC825をフィルしてよい。一実施形態では、インターフェース828、818は、輸送船舶/車両820がコンデンサ510に到着する、又はこれを通過するとすぐに最大能力(例えば、30GB/s、100GB/sなど)で動作する高速有線又は無線リンク(高速ネットワーク161に関して上述したように)を含む。例として、限定するものではないが、コンデンサ510が構成されている、定置されたコンテンツ配信場所は、鉄道の駅、バスターミナル、クルーズ船の港/ターミナル、又は空港ターミナル/ゲートである。加えて、本明細書に記載の特定の実施形態では、コンデンサ510は、様々な輸送船舶/車両820が通るであろう既知の経路に沿った場所に戦略的に位置付けられる。
【0060】
一実施形態では、乗客輸送船舶/車両820上のユーザデバイス827は、最初に、乗客輸送船舶/車両820上(例えば、飛行機上、列車上など)の接続マネージャ823とのローカル無線接続を確立する。接続すると、ユーザデバイス827は、例えば、Netflixにログインし、特定の映画のストリームを試みることによって、コンテンツプロバイダ401、601からのコンテンツを要求してよい。インターネット200を介した接続が利用可能である場合、コンテンツプロバイダ401、601は、要求を受信し、ユーザデバイス827を、コンテンツサービスプロバイダ152のコンテンツ配信ネットワーク内で動作していると識別し(例えば、ユーザデバイス827に割り当てられた動的ネットワークアドレスに基づいてこのことを識別し)、リダイレクトメッセージを送信して、CSPキャッシュ710(例えば、Netflix OCAキャッシュ)に接続するようにユーザデバイス827に指示する。CSPキャッシュ710からコンテンツへのアクセスを試みると、接続マネージャ823及び/又はTICマネージャ822は、要求されたコンテンツがTIC810内でローカルにキャッシュされていると判定し、要求をTIC810にリダイレクトしてよい。
【0061】
次いで、ユーザデバイス827は、接続マネージャ823(例えば、ローカルWiFi接続)によって提供されるローカル無線接続を介して、TIC810からコンテンツをストリームする。したがって、乗客輸送船舶/車両820がインターネット200の範囲外であっても(例えば、海上のクルーズ船、山間部を通過して移動する列車など)、ユーザデバイス827は、許可を受けたコンテンツに対してローカルで依然としてアクセスすることができる。あるいは、インターネット接続200が利用可能である場合、最初のユーザ要求及び/又はユーザ認証のみがこのリンクを介して送信され得るが(相対的に低帯域幅のトランザクション)、コンテンツはローカルTIC810からストリームされる。
【0062】
なお、上記のTIC610は、TICマネージャ822、物理TICキャッシュ810、潜在的には接続マネージャ823及び高速インターフェース828も含む、
図8に示す構成要素のいずれか又は全てを含み得ることに留意されたい。
【0063】
本発明のいくつかの実施形態は、モバイルキャッシュとエッジキャッシュとの間に高速リンクを実現するためのシステム及び装置を含み、このシステム及び装置は、異なる通信プロトコル及び/又は技術を潜在的に使用して、モバイルキャッシュとエッジキャッシュとの間に二次接続を確立する。
D. モバイル環境への高速リンクの実装
【0064】
図9は、異なるタイプの輸送船舶/車両内に構成された複数の透過型キャッシュ(TIC)610が、複数のコンデンサ510と共に確立された高速ネットワークリンク161を介して定期的に更新される構成を示す。上述したように、コンテンツサービスプロバイダ152は、キャッシュフィルポリシー870に従って、コンデンサ510のそれぞれにおいてキャッシュをフィルする。例えば、キャッシュ管理コントローラ850は、コンテンツプロバイダから及び/又は個別のTIC610から受信したコンテンツ利用データに応じて、コンテンツを配信してよい。この実施形態では、TIC610は、コンテンツの利用を終日監視し、利用統計をキャッシュ管理コントローラ850に報告してよい。キャッシュ管理コントローラ850は、次いで、個々のコンデンサの場所及び/又は個々のTICのためにコンテンツを一意に調整してよい。
【0065】
上述したように、コンテンツサービスプロバイダ152は、顧客及び/又は特定産業のために、多数の戦略的な場所に高速ネットワーク及びコンデンサ510を配置してよい。コンデンサ510のそれぞれは、上述のように、キャッシュ配信ネットワークを介して、キャッシュ集中管理コントローラ850から更新される。関連するコンデンサ510の全てが一貫性のあるデータを有し、したがって、各船舶/車両820が、接続時にはいつでも一貫してデータを要求可能であることが重要である。
【0066】
一実施形態では、上記の様々なTIC構成要素は、プログラムコード及びデータを記憶するためのメモリと、プログラムコードを実行し、データを処理するためのプロセッサと、1つ以上のハードドライブセットなどTIC記憶装置を実行するための大量記憶デバイスと、を備えたネットワークアプライアンスとして輸送船舶/車両820に配置される。1つ以上の他のネットワークインターフェースも含まれ、船舶/車両820の移動中に使用されてよい(例えば、衛星サービス、セルラーサービス、長距離WiFiなど)。アプライアンスは、様々な形状、サイズ、及び能力を有してよい。全てのアプライアンスのために共通のキャッシュデータベースを有することが目的であるため、記憶性能は配置ごとに著しく異なってよい(例えば、50ストリーミングセッションでは、30TBの記憶アレイ当たり$1000は十分であり得るが、1000ストリーミングセッションでは、$10,000/30TBの記憶アレイが必要であり得る)。
【0067】
一実施形態では、アプライアンスは、単一又は複数の物理的構成要素内に配置されてよい。ある極端な例では、アプライアンスは単一のサーバであり、別の例では、アプライアンスはサーバのラックである。これは、TICのコア機能が、a)管理機能、b)キャッシュ記憶管理、c)パケット傍受/パケットフローのリダイレクト、及びd)クライアントからのビデオ要求に対する(リダイレクトを介した)サービスの提供として区別され得るためである。その結果、機能全体が単一のサーバ内に含まれ得る、又は機能ごとに1つ以上のサーバによって区別/縮小拡大することができる。本発明の基本原理は、任意の特定の構成に限定されるものではない。
【0068】
図10は、TIC610の接続マネージャ823の一実施形態を介した例示的なトランザクションの概要を提供する。無作為検出ターミナルアクセスポイント(TAP)1010は、ネットワーク上のパケット/フローを監視し、いくつかの分析後、キャッシュ内での肯定的な検索がリダイレクトをトリガする(1003)。次いで、クライアントは、ローカルTIC610からのコンテンツを提供する、ローカルのリダイレクトhttpサーバ1020からのコンテンツを再度要求する。一実施形態では、接続マネージャ823は、インターフェース828を介して帯域外の高速の接続性を監視し、次いで、いつでもどこでも可能な場合には、キャッシュの更新をダウンロードする。
【0069】
TICの1つの要件は、管理サービスの一部であることである。理想的には、顧客は単純にTICをプラグインし、オンにする。その結果、システムの一実施形態は、集中管理構成要素895を介して全ての動作要素に自立的に対処する。例えば、インストールのたびに、新たなインストールのための多数のプロビジョニング機能を提供する、集中管理構成要素895に接続してよい。一実施形態では、管理構成要素895はLinux(登録商標)コマンドラインを使用し、必要に応じて更なるサービスが呼び出され、追加される。
【0070】
集中管理構成要素895のいくつかの例示的な機能としては、ソフトウェアアップデート、ネットワーク動作ユーザ及び/又は顧客への通知、CPU、メモリ、記憶装置、及びネットワーク利用に関する報告機能を含む状況監視、並びに、ストリーム中のデバイスの数及びLANの実行方法を(例えば、ボトルネックを特定するために)判定するLAN管理ツールが挙げられる。
【0071】
図10を再び参照すると、無作為検出TAP1010の一実施形態は、無作為検出モードで実行しているイーサネットポートを使用する。この実施形態では、全トラフィックが横断する、イーサネットLANセグメントへのアクセスが提供される。無作為検出TAP1010は、全トラフィックをリッスンするが、関連するウェブ要求に関連付けられていないトラフィックは透過する。
【0072】
一実施形態では、無作為検出TAP1010は、パケットを管理するためのデータプレーン開発キット(DPDK)ライブラリを使用して、フロー、タイムスタンプを区別し、パケット順を維持する5-Tuple Hashなど機能を実行し、ハードウェア支援をサポートする。この実施形態では、無作為検出ポートから読み出されたパケットは、分類され、タイムスタンプされ、ドロップされるか、又は処理するためにFIFO内でスケジュールされる。マルチスレッドアーキテクチャが用いられてよい。
【0073】
一実施形態では、ハッシュ化されたストリームが特定されると、URIが抽出され、TICデータベースに対してチェックされる。一致する場合、ストリームのソース地点及び宛先地点の両方がFINパケットを用いてリセットされる。しかし、最初に、要求のソースには、アプライアンスにリダイレクトされるHTTP1003が送信される。負荷バランスも実行されてよい。リダイレクトは、例えば、ラウンドロビン負荷バランスを実施してよく、又は単一のインターフェースは、負荷分散装置によって管理されてよく、その背後では、複数のサーバが負荷分散される。
【0074】
一実施例では、効率的な「キャッシュ情報ベース」(CIB)は、実際のTICデータベースをミラーリングして維持されて、要求されたエントリがローカルに存在するかどうかを効率的に判定することができる。TICがアプライアンスにロードされると、様々な機能が、コンテンツを素早く検索する必要がある。一実施形態では、アプライアンスを宛先とするパケット(例えば、管理及びリダイレクトされたキャッシュヒット)は、管理機能又はTICに転送される。これらは、本質的に、無作為検出TAP1010によって無視される。
【0075】
無線技術が高速リンク161に使用されると仮定すると、80Ghz帯域を有する標準的なMIMO実装は655Mbpsを達成する。4XMIMOは、2.4Gbpsを達成し得る。24Ghz及び60Ghz無線装置も考慮され得る。製品は、24Ghzスペクトルにおいて2.4Gbps、60Ghz帯域において6~10Gbpsの無線装置で存在する。全ての場合において、リンクアグリゲーションを使用して、複数の無線接続を集約して(GPS同期、周波数間隔、及び信号分離を活用する)、この数を増加させてよい。考えられるところでは、これは、10~50Gbpsの範囲内のスループットを提供することができる。
【0076】
図11に示すように、一実施形態では、鉄道の駅、空港ターミナル、バス発着所、又はクルーズ船のターミナルなどの定置された各コンテンツ配信場所は、駅/ターミナルに入る船舶/車両に位置合わせされた複数のアンテナ1101~1105を有する。1つ以上のコンデンサ815は、LAGスイッチを介して複数のアンテナ1101~1105に接続される。複数のアンテナは、複数のリンクを介してローカルコンデンサ815からコンテンツを同時に送信し、潜在的には1つの無線リンクのN倍のビットレートを達成する(Nはアンテナの数である)。
【0077】
列車の実施例を
図11示すが、同様の構成は、船舶、平面、及びバスのために構成されてよい。特定の実施例は、同一の接続性アグリゲーション(例えば、1つの無線接続のみをサポートする)を達成することができない場合がある。それでもなお、単一アンテナソリューションに対して2.5Gb/sが達成されてよく、これは、船舶/車両が十分な期間にわたってこの場所に停止する場合には十分であるべきである。いずれの場合も、TICに対する部分的な更新は、車両/船舶が(例えば、各鉄道の駅において)別のコンデンサの近くに停止するか、又はそれを通過するごとに発生し得る。
【0078】
図12に示すように、一実施形態は、コンデンサ1201~1203にプッシュされるコンテンツのリポジトリである、1つ以上の配信ゲートウェイ1200~1203を含む。各配信ゲートウェイ(DG)1200は、局所的に配置されてよい(例えば、西海岸、東海岸、中西部など)。コンデンサ1201~1203が初期化されると、それに最も近いDG(例えば、カリフォルニア州に位置する場合は西DG)への登録を試みる。これらの局所的DGは、DNSスコーピングを介して識別されてよい(例えば、コンデンサ1201は、近接しているためにVancouverベースのDG対New York DGに接続してよい)。
【0079】
一実施例では、DGは単に、CloudFront又はAkamaiなどCDNネットワークに対するAPIであってよい。結局のところ、各DGには、コンデンサ1201~1203が要求する/プッシュされるCSPキャッシュ710からのデータが提供される。キャッシュデータセットのサイズを考慮すると、マルチキャストなどの効率性を使用して、キャッシュ階層を介してコンテンツをストリームすることができる。
【0080】
一実施形態では、現場の全コンデンサ1201~1203は、DG1200に登録する。一部の交換したデータセットを含める際は、特定のコンデンサ1201~1203への送信を必要とするデータを調べる必要がある。新しいデータがCSPキャッシュ710においてキュレートされると、各DG1200は、その登録されたコンデンサ1201~1203への転送を開始する。これは、プッシュ又はプルトランザクション(又は両方)として実施されてよい。各コンデンサ1201~1203に対するスケジューリング要件は、特定のプッシュ/プル構成において役割を果たし得る。一実施形態では、コンデンサ1201~1203は、新しいコンテンツが利用可能であるときに通知され、次いで、データを要求する必要がある。
【0081】
一実施形態では、各コンデンサ1201~1203は、複数のキャッシュデータセット(又は単一のマスターキャッシュデータセット、これから近似導出された(near derived)データセットが作成され得る)を保持するのに十分な記憶装置を有するサーバである。コンデンサ1201~1203の主な目的は、高速ネットワークエッジにおいて可能な限り多くのデータを有することである。これは、単一又は同時CDNノード1220~1230(及び/又はTIC)からの要求を受信してよく、利用可能なパイプをフィルすることができる。
【0082】
CDNノード1220~1230(及び/又はTIC)がコンデンサ1201~1203に接続すると、CDNノードは自身を識別し、旅程の最新の更新を要求する。CDNノードは、例えば、車両/船舶、顧客IDなどに基づいて、自身を識別してよい。これに基づいて、コンデンサ1201~1203は、CDNノード1220~1230にデバイスに固有の適切な旅程を提供する。次いで、CDNノードは、旅程を評価し、この旅程を現在ダウンロードしているもの、及び依然としてダウンロードする必要があるものと比較する。次いで、コンデンサ1201~1203からの特定の要素を要求する。
【0083】
一実施形態では、コンデンサ1201~1203は、少なくとも10Gbps、ただし好ましくは50Gbpsの読み出し速度を有する、少なくとも30TBの記憶装置を含む。インターネットインターフェースは、最小で1Gbpsの接続であるが、実際のインターネット接続は、少なくとも100Mbpsであるべきである。高速ネットワークインターフェースは、少なくとも10Gbpsだが、好ましくは40Gbps(4×10Gbps又は1×40Gbps)である必要がある。これらのインターフェースは、上記の単一のリンク集約された高速リンク又はそのアレイに接続する。加えて、コンデンサ1201~1203は、管理目的で集中管理構成要素895に戻る接続を開始してよい。一実施形態では、集中管理構成要素895は、運用、管理、保守、及びプロビジョニング(OAMP)機能をサポートする。
【0084】
一実施形態では、各コンデンサ1201~1203は、そのインベントリアセット、プロビジョニング場所などを宣言し、コンデンサ1201~1203に近接し得る、全ての期待される顧客及び/又は対応するCDNノードの識別情報を要求してよい。例えば、一実施形態では、集中管理構成要素895は、全てのCDNノード/TIC及び関連する顧客、並びにこれらのCDNノード/TIC/顧客と1つ以上のコンデンサ1201~1203との関連性を識別するアカウントデータベース1240を維持する。
【0085】
一実施形態では、予想外のCDNノード/TICがコンデンサ1201~1203への登録を試みると、CDNノード/TICを承認又は拒否する能力を有する集中管理構成要素895にエラーが報告される。承認される場合、コンデンサ1201~1203は、この動作を記録し、常に受け入れる(例えば、再プロビジョニングは不要である)。
【0086】
コンデンサ1201~1203に近接する全ての既知の顧客/CDNノード/TICに基づいて、コンデンサは、旅程及びキャッシュデータセット(個別又はマスター)の現在のリスト、並びに任意の他の顧客関連情報を要求してよい。コンデンサ1201~1203はまた、更新通知を登録してよく、そのため、集中管理構成要素895及び/又はキュレートされたキャッシュが新しい情報を含む場合、必要に応じて全てのコンデンサ1201~1203にプッシュされ得る。一実施形態では、コンデンサが通知を受信すると、指定された時間(例えば、2am)まで動作しないように、スケジューリングも採用されてよい。一実施形態では、プロキシデバイスが、CDNノード/TICの存在を模倣し、コンデンサ1201~1203が標準的な動作モードで接続されているかのようにコンデンサを調整するように構成されてよい。
【0087】
コンデンサ1201~1203は、高速ネットワークからの登録要求(例えば、到着する船舶、バス、列車、又は飛行機のため)を待機する。要求が受信され、認証されると、リモートのCDNノード/TICに対してダウンロードサービスが開始されて、新しいコンテンツをダウンロードする。本質的には、一度許可されると、ダウンロードは、FTPサービスと同様の方法で実施され得る。キャッシュデータセットの構造は、タプルセット及びタプルセットのブロックとみなされるべきである。CDNノード/TICは、他の場所で受信した内容を把握しており、ダウンロードセッション間の連続性を維持する責任を負う。この実施例におけるコンデンサ1201~1203は、単に、CDNノード/TICが利用可能なタプルセットを作製することを担当し得る。
【0088】
コンデンサ1201~1203は、一度に2つ以上のTICを処理できるべきである。明確に異なるコンデンサ構成は、同時ダウンロードセッションの観点で異なる制約を有する。主な制約は、利用可能なネットワーク容量である。多数のCDNノード/TICが同時要求を行い得るシナリオでは、単一のストレージアレイ及び高容量スイッチに全て接続されたサーバのラックが用いられてよく、各サーバは2つ又は3つのダウンロードセッションをサポートする。全体として、ラックは、数百ものセッションを処理することができる。
【0089】
一実施形態では、ポイントツーポイント/マルチポイント高速ネットワークが使用される。車両/船舶は、ポイントツーポイント無線装置、又はマルチポイント無線装置に接続してよい。これらの重要な相違点は、2地点間で大型データセットが送信されることである。2つ以上の車両/船舶が同一アクセスポイントに接続する場合、単に総スループットが減少する。上記の例と同様に、最高転送速度は、10TBに対して約10時間である。これは、2回の同時転送で2倍になる。
【0090】
一実施形態では、無線装置は、最初に周知のSSID及びWPA2/PSKに基づいて接続する。車両/船舶ステーションが範囲内になると、無線リンクが確立される。一実施形態では、車両/船舶ステーションは、DHCPクライアントとして構成される。アクセスポイント又はアクセスポイントの背後のコンデンサは、DHCPサーバを提供する。サーバ内では、共通DNSエントリが構成される。例えば、「capacitor.netskrt.io」は、ローカルIPアドレスに解決される。
【0091】
一実施形態では、CDNノード/TIC610は、高速リンクの状態とは無関係にコンデンサ510を常時ポーリングしてよい(例えば、特定ポート上のコンデンサ510をポーリングすることができる場合、したがって接続されている必要がある)、又はTICは、局無線装置に対してAPI呼び出しを行って、リンクが存在するかどうか/いつリンクが存在するかを判定することができる。後者のソリューションの利点は、多様な理由に結び付けられ得る、より決定的な挙動対タイムアウトである。この欠点は、変化する技術に対処するために、ハードウェア抽象化レイヤーが必要とされ得ることである。コンデンサ510への接続が確立されると、TIC610は、上記のキャッシュ更新処理を続行する。当然ながら、本発明の基本原理は、コンデンサとTICとの間の接続が行われる特定の方法に限定されない。
【0092】
ポイントツーポイントアレイ高速ネットワークは、(
図5に関して上述したように)船舶/車両とコンデンサ510が存在するターミナルとの間にリンク集約される無線接続のアレイのために存在する。このアプローチの利点は、10又は20の高速接続が確立され得ることである。各接続が2.5Gbpsを達成するのであれば、これは25~50Gbps高速リンクを生成する。理論的観点からすると、アレイ内の要素の数に応じて、10TBのキャッシュデータセット725は約30~60分で、又は30TBのキャッシュデータセット725は2~4時間で送信される。
【0093】
このソリューションは、船及び列車などの「長い」船舶/車両で特に良好に機能するであろう。より短い船舶/車両は、無線装置同士を十分に分離させて、無線レベルで互いに干渉しない複数の接続を可能にするようにしない場合がある。
【0094】
アレイの概念は、船舶/車両の側面に配置される、一連の無線装置を必要とする。したがって、一実施形態では、無線装置は、ターミナルにおいて一定間隔で配置される。したがって、列車又は船舶がドックに入ると、対応する各無線装置と垂直方向に整列することになる。30~45度のセクタは、いくらかの遊びを可能にするために適切であり得る(例えば、数十度のずれが理想的であるが、それでも対応する無線の幅によって捕捉され得る)。
【0095】
各無線装置が同一SSIDを有するが、ポイントツーポイント接続のみをサポートする場合、一度接続すると、以降の無線装置は、別の利用可能なSSIDに接続する必要がある。車両/船舶が停められ、次いでその無線装置をオンにする場合、これは良好に機能する。しかしながら、無線装置が接続され、車両/船舶が停止する場合、接続を保持しつつ、準最適な無線装置をもたらし得る。
【0096】
例えば、船舶が無線装置s1、s2、s3、s4、及びs5を有し、船舶が港に入るとき、無線装置s1は、対応する港無線装置p5への接続を確立する。前方に移動すると、この関連性を失い、p4、p3、及びp2に接続する。最後に静止すると、s1にはシフトしない場合があり、結果として、s1-p2、s2-p3、s3-p4、及びs4-p5の準最適な接続をもたらし得る。s5又はp1は接続しない。1つのソリューションは、s1及びp1の両方が、対のSSIDとして「Netskrt-1」を有するように、各無線装置が前もって定められたSSIDメイトで有することである。
【0097】
一実施形態では、管理構成要素895は、コンデンサ510を配置するために使用される。コンデンサ510が起動されると、自身を管理構成要素895に登録し、今度は、管理構成要素895がコンデンサ510をデータベース640に追加し、状況監視を開始する。顧客がポータル741にログインする場合、コンデンサ510の存在及びその現在の状態を確認することになる。
【0098】
更新は、管理構成要素895を介してコンデンサ510にプッシュされてよく、管理構成要素895はまた、様々な能力を提供し、取り付けられた高速ネットワークを監視し、他の標準的なOAMP機能を実行してよい。管理構成要素895は、コンデンサ510に適した全ての既知のキャッシュデータセットを特定する。更に、管理構成要素は、オペレータポータル740及び/又は顧客ポータル741を介して指定され得るコンデンサ510のスケジュールを設定してよい。
【0099】
一実施形態では、管理構成要素895は、新しいCDNノード/TIC610を配置するために使用される。CDNノード/TIC610が起動されると、自身を管理構成要素895に登録し、今度は、管理構成要素895がCDNノード/TIC610をデータベース640に追加し、状況、キャッシュコンテンツ、及び接続状態の監視を開始する。CDNノード/TIC610は、監視モードになるように、又はアクティブキャッシュとしてプロビジョニングされてよい。管理構成要素895は、キャッシュプロビジョニングの更新を適切なコンデンサ510にプッシュすることができ、今度は、範囲内に入ると、ターゲットCDNノード/TIC610上での動作をトリガする。
【0100】
一実施形態では、CDNノード/TIC610は、管理構成要素895に定期的に報告されるGPS位置を有するように構成される。一実施形態では、システムオペレータ及び/又は顧客が、CDNノード/TICの場所を追跡できる。各CDNノード/TIC610はまた、キャッシュヒット、ミス、及び監視状態などデータを含むその動作状態を定期的に報告してよい。これらの更新は、コンデンサ510を介して報告されてよい。
【0101】
新しいキャッシュデータセットは、定期的に生成されてよい。スケジュールされた時点で、各顧客キャッシュの更新は、適切なコンデンサ510に対して予定され、送信される。キャッシュデータセットをパッケージ化するための機構は、現在、各顧客/CDNノード/TICに関連する旅程を有する、単一のマスターキャッシュデータセットであると考えられている。顧客は、ウェブポータルを介してログインし、その旅程に関連付けられた管理ポリシー870を強化することができる。例えば、顧客は、地理的に、言語に、又は配信ストリームに固有のコンテンツを選択してよい。
【0102】
上述したように、トレンドキャッシュは、低速ネットワークリンク上で実施され得る、特別なタイプのプッシュ動作である。このキャッシュは、顧客から、又は他のソース(例えば、コンテンツプロバイダ自体)からのいずれかの仕様に基づいて自動生成される。キャッシュデータセットサイズには、制約が加えられてよい。スケジューリングデータはまた、その配信に必要であり得、顧客ポータルを介して顧客によって設定されることができる。最新のニュースフィードは、適時に配信される必要がある。TICに、又はコンデンサを介して全体にダイレクトされる。
【0103】
一実施形態は、階層的なGUIを有するオペレータポータルを含んで、現在アクティブな全ての顧客を表示する。単一の顧客が選択されると、GUIは、顧客の詳細;顧客固有のコンデンサの総数;当該コンデンサの状況;現在アクティブなキャッシュデータセット;現在接続されている、1時間前、前日、先週などに接続されたCDNノード/TICの数;当該コンデンサのエラーログ;高速ネットワーク、CDNノード/TICなど;コンデンサへのキャッシュデータセットの総転送回数;及びCDNノード/TICへのキャッシュデータセットの転送回数を表示する。階層的に表示され得る追加情報としては、以下が挙げられるが、これらに限定されない。
顧客CDNノード/TICの総数
各TICの場所
TICの現在の状態
TICによって生成されたトラフィックの総量
TICによるキャッシュミスの総数
TICによるキャッシュデータセット725の更新回数
キャッシュデータセット725の平均更新時間
TICが訪問したコンデンサ510の数
TICに接続したデバイスの最大数
TICに接続したデバイスの平均数
statisCDNノード/TICに関連する旅程データ
キャッシュデータセット725/旅程の総数
キャッシュデータセット725/旅程に対する使用メトリック。
キャッシュ配信の効率(例えば、1ダウンロードごとに4つのキャッシュデータセット725を送信する)。
他の顧客/CDNノード/TICに対するキャッシュデータセット725の有効性(例えば、データセット3は、この顧客に対して20%のヒット率を有し、一方、他の全ての顧客は、同一データセットに対して60%のヒット率を有する)。
顧客のポータル活動/履歴。顧客による問題が生じた場合、顧客が行った提供要求の履歴を確認できるようにする必要がある。データの場所、内容、時期、タイプ。場合によっては、変更を元に戻す機能を有する。
【0104】
したがって、本発明の実施形態は、予測可能な接続性及び予測不能な接続性など様々なレベルの接続性を有するモバイル環境へのキャッシュの配置を企図する。一実施形態では、システムオペレータは、列車、平面、バス、及び客船などモバイル環境を有する顧客の代わりにISPである。
【0105】
システムの一実施形態は、公開アドレスのサブネットワークを別のモバイル環境(すなわち、別の船舶/車両)に関連付け、BGP(又は他のプロトコル)を使用して、コンテンツプロバイダとピアリングする。システムは、コンテンツプロバイダが、クライアントデバイスをローカルキャッシュにダイレクトすることができるように、異なるサブネットワークを配置されたキャッシュと関連付ける。
【0106】
クライアントデバイスは、ネットワークリンクのいずれかでコンテンツプロバイダに接続し、予測可能な接続性は、時間及び場所によって定義される。高速接続が長期間確立され得る特定の場所において、モバイル環境が確定的な定期的スケジュールで存在する場合、その接続性は予測可能である。
【0107】
システムの一実施形態は、これらのスケジュールされた期間中のコンテンツプロバイダによるキャッシュフィルをスケジュールする。これは、接続速度が、コンテンツプロバイダの要件を満たすように保証され得るためである。図は単一のキュレートされたキャッシュ155を示しているが、一実施形態は、コンテンツプロバイダごとに少なくとも1つのキャッシュを含んでキャッシュフィルを可能にし、ここからピアリングする。一実施形態は、各高速ネットワークへの接続性を提供し、ピアリングに使用されるコンテンツキャッシュへと戻る。
【0108】
したがって、本発明の実施形態はISPの概念を拡張して、他の方法では、a)ISP、及びb)キャッシュフィルに適した接続場所、としての資格を得ないであろうモバイル環境への特別な接続性を含むようにする。これらの実施形態はまた、IPアドレス指定、配信、及びコンテンツプロバイダへの接続性を制御することによって、既存のメカニズムがモバイル環境に局在することを一意に可能にする。加えて、これらの実施形態は、途中での接続性及び静止時の接続性の両方を可能にするために、デュアルホーミング接続を一意に定義して、キャッシュライフサイクルの一意の態様を実現する。
【0109】
上述したように、いくつかの実施形態では、キャッシュはまた、予測不能な接続性を有する、すなわち、時間又は位置の観点から高速接続性が予測不能である、モバイル環境に配置される。例えば、VancouverからAlaskaへと進むクルーズ船は、数日の間に、キャッシュフィルが実施され得るいくつかの港に停泊してよい。場所によって停泊期間が異なり得るため、1回の停泊でキャッシュフィルが完了することは困難である。したがって、キャッシュは、停泊するたびに増分更新されてよく、陸地から船舶への高速リンクの速度が可能な限り高く設定されて、所要時間を最小限に抑える。
【0110】
一実施形態は、コンデンサ及びCDNノードを用いて、高速ネットワークの非確定的性質を管理する。コンデンサは、キャッシュ配信に使用される1つのネットワーク接続と、モバイル環境へのコンテンツの転送に使用される高速接続への1つのネットワーク接続と、を有する記憶設備である。CDNノードはモバイル環境内にあり、高速ネットワークへの1つの接続と、モバイル環境への1つの接続と、を有する。その役割は、1つ以上の場所にわたって、また個別の期間にわたって、1つ以上のコンデンサからキャッシュ更新を完全に受信することである。コンテンツが集約されると、CDNノードは、ローカルキャッシュデバイスを用いて、スケジュールされたキャッシュフィルを実行することができる。ローカルコンテンツキャッシュは、完了するためにモバイル環境が数回停止したにもかかわらず、一貫したスケジュールで動作していると考えている。
【0111】
多くのコンデンサは、多くの場所に配置され、費用対効果のために、より低速のネットワーク接続を介してキャッシュコンテンツを少しずつ供給することができる。したがって、多モバイル環境対多コンデンサの場所という関係が存在する。一時的な接続は、モバイル環境キャッシュの更新を実行する。キャッシュが更新されると、キャッシュのアドレスドメインは、どのキャッシュがどのクライアントのために作用するかをコンテンツプロバイダに通知する。
【0112】
したがって、本発明の実施形態は、ある期間及び空間にわたって接続性を集約することによってキャッシュ配置要件を確定的に満たすことができない環境が、更新要件をローカルモバイル環境にシフトさせることを一意に可能にする。ローカル環境にコンテンツを集約するために定期的サイクル間で十分な接続性イベントを保証することができる場合、ローカルキャッシュは、限定的な接続を有しないことを認識することなく、そのキャッシュフィル要件を満たすことができる。複数のコンテンツプロバイダからの複数のキャッシュは、これらの技術によって満たされ得る。
【0113】
一実施形態は、高度に拡張可能な実施例でコンテンツキャッシュを提供する、CDNノード/TICを配置する。上記の実施例を基にすると、多数のキャッシュを配置することが不経済になり始めることがある。これは、(1)既存のキャッシュが数十Gbpsのストリーミングトラフィックを目標としているため、及び(2)IPアドレス指定が使用されて、エンドユーザデバイスを適切なキャッシュにダイレクトするためである。
【0114】
1つ以上のコンテンツキャッシュのコンテンツを含む透過型キャッシュ(TIC)は、これらの問題に対処することができる。例えば、単一の透過型キャッシュは、上記の高速ネットワーク機構を利用して、複数のコンテンツプロバイダのために最新のキャッシュを保持することができる。更に、ISPモデルでは、単一のアドレス指定可能なキャッシュが識別されて、ユーザのアドレスドメイン全体を処理してよい。例えば、数千のエンドユーザデバイスは、全て、単一のキャッシュ及びBGPを介してコンテンツプロバイダと共有されるロジスティックと関連付けられることができる。ISPとして動作する本明細書に記載のシステムでは、公開されたケースを標的とするトラフィックを傍受する(したがって、要求をローカルに傍受する)、数百の透過型キャッシュを配置してよい。次いで、これらの透過型キャッシュは、既存の機構を超えて十分に拡張する。加えて、ISPは、複数のコンテンツチャネルのために単一の透過型キャッシュを提供するため、複数のコンテンツチャネルにわたって規模の経済が達成され得、ソリューションを実行可能にする。
【0115】
特定のコンテンツチャネルとのピアリングにより、コンテンツ及びセキュリティ証明書が導入される。NetflixがCPCに相当するコンテンツで透過型キャッシュを配備することが許可される場合、報告されたように、コンテンツ配信にTLS暗号化が使用されてよい。結果として、要求を傍受し、傍受した要求を提供するには、Netflixが署名した証明書が必要とされる。Netflixから承認された同一コンテンツがアップストリームのCPCと同様に使用される場合、当該CPCに対する全ての要求は、有効なキャッシュヒットである。既知のCPCに対して開始される各フローは傍受され、続いてデバイスに対する303リダイレクトが行われ、要求をローカルに実現してよい。リダイレクトされた要求は、Netflix証明書によって実行される透過型キャッシュとのTLSセッションを確立し、それによって、そのコンテンツの配信に対する制御レベルをNetflixに提供する。コンテンツプロバイダ(例えば、Netflix)の許可を得て配信された、ローカルに記憶されたコンテンツは、ここでクライアントデバイスに提供されてよい。Netflix又は他のコンテンツ所有者は、コンテンツのアクセス方法が明示制御の範囲外であることを確実に確認するために、多くの構成体を導入することができる。
【0116】
キャッシュデータがある地域でキュレートされ、別の地域に配置される、純粋な透過型キャッシュ環境では、どの要求が集合的に同一であるかを理解する必要がある。例えば、グローバルに配置された6500を超えるCPCキャッシュが存在する。場合によっては、モバイル環境内に存在する各透過型キャッシュは、ある要求がローカルに記憶されたコンテンツセグメントに対するものであるかどうかを確認するために、6500のアドレス指定可能な地点の全てを検討する必要がある。一実施形態は、キャッシュアドレスを得るためにインターネットをクロールし、比較用のアドレスリストを提供する。別の実施形態は、透過型キャッシュの場所(又は透過型キャッシュが存在するモバイル環境)のコンテキスト情報を適用して、検討対象となる可能性の高いCPCキャッシュアドレスを特定する。
【0117】
上記システムの操作者が、明示的に、又はオーバーレイネットワークを介してレコードのISPである場合、ターゲットキャッシュアドレスは、オペレータによって提供されるキャッシュアドレスに絞ることができる。
【0118】
上記の一時高速/常時低速リンクの性質を考慮すると、本発明の一実施形態は、特定コンテンツの緊急性又は重要性を評価し、場合によっては、低速リンクを使用してTICをフィルする。この緊急/重要コンテンツを含むTICの部分は、本明細書において「トレンドキャッシュ」と称する。
【0119】
一実施形態は、ある割合の低速帯域幅をトレンドキャッシュに割り当てて、常に高需要データをトレンドキャッシュにフィルできるようにする。いくつかの例では、低速度帯域幅の全て又はかなりの割合が一時的に割り当てられて、頻繁に要求されている特定のマルチメディアファイルでキャッシュをフィルしてよい。
【0120】
一実施形態は、モバイル環境を使用して、ネットワーク全体にコンテンツを伝搬する。上記の特定の実施形態では、コンデンサは、必ずしも十分な高速接続性を有しない遠隔地に配置されてよい。例えば、100Mbpsリンクがコンデンサに対してリモートポートがサポートできる最大値である場合、30TBのフィルには約28日を要する。対照的に、15Gbpsリンクでは、5時間未満で転送することができる。その結果、一実施形態は、高速リンクを介して一時キャッシュからコンテンツをダウンロードすることが可能なときにはいつでも、通過する船舶/車両と高速接続を確立する。例えば、コンデンサは、別の港へと1日をかけて移動する船舶上の一時キャッシュからコンテンツを取得してよい。次いで、逆方向に移動する別の船舶上の一時的なキャッシュは、リモートコンデンサからより早く更新することができる。
【0121】
したがって、コンデンサは、2つの動作モードを含む。コンデンサは常に広帯域接続を有するが、<1Gはメンテナンス接続であり、>=1Gはキャッシュフィル接続であろう。メンテナンス接続のみが存在する場合、コンデンサはWANを介してフィルされる。キャッシュフィル接続が存在する場合、コンデンサは、WANを介して完全にフィルされることはない。
【0122】
コンデンサの一実施形態は、現在記憶されているデータよりも最新であるデータのみを通過する船舶/車両から取得する。例えば、コンデンサが画像Aのみを必要とする場合、通過する船舶/車両から画像Aのみを取得する。対照的に、船舶/車両上の一時キャッシュは、画像B及び画像Cの古いコピーを有することがあり、その場合には、コンデンサからこれらの画像を取得する。
【0123】
例えば、メンテナンス接続は、現在のキャッシュデータセットに関するメタデータを配信するために使用されてよい。画像A、B、Cは最新とみなされ、コンデンサはこれらの画像を有する必要がある。CDNノードがローカル高速ネットワークと接続するとき、以下のプロトコルが呼び出され得る。
CDNノード-A、B、又はCを有するか?
ダウンロードを開始するか、又はCDNノードが以前フィルを停止した場所からのダウンロードを続行する。
コンデンサがA、B、又はCを有しない場合には、何も行わない
コンデンサ-A、B、又はCを有するか?
「はい」の場合、コンデンサは、ダウンロードを開始するか、又は接続されたCDNノードからのダウンロードを続行する。
コンデンサが既にA、B、若しくはCを有する場合、又はCDNノードがいずれも有しない場合は、何も行わない
【0124】
一実施形態では、キャッシュフィル接続は、メタデータ及び実際のデータセットの両方の配信に使用される。リンクの速度及び/又はコンテンツの利用可能性に応じて、船舶/車両上の一時キャッシュからの逆フィルが理にかなうことがある。
【0125】
1Gbps接続では、30TBのフィルに3日間を要する。船舶がフルリンクを有し、50%がWAN上でダウンロードされた場合、15Gbpsリンクを利用可能なときに、このリンクでダウンロードできる割合を計算することは理にかなっている。コンデンサの一実施形態は、規則/ポリシーのセットに従って動作する。例えば、ある要件は、コンデンサがWAN上で1~50%をダウンロードし、同時に高速接続で51%~100%を逆順でダウンロードすることである。次いで、キャッシュ全体が完全にダウンロードされた時点を判定する。
【0126】
他の実施例は、高速リンクが利用可能である場合、ある程度の割合(例えば、半分)をダウンロードしてよい。完了したら、残っているうちの半分をダウンロードする。完了したら、半分を再度ダウンロードする(2分探索アルゴリズムと同様)。一実施形態のキャッシュは、セグメント単位でダウンロードされ、任意のランダムな時点は、リンクの喪失をもたらし得る。したがって、一実施形態は、ダウンロードをチェックする(すなわち、許可されているように再起動する又は継続する)ためのチェックポイント回路/ロジックを含む。
【0127】
一実施形態は、コンデンサの全て、及びこれらのコンデンサと交差し得る全ての船舶/車両をグローバルに追跡する。分析を行うことにより、全てのコンデンサが最新になるまでに要する期間を特定することができる。十分な数の高速ネットワーク接続により、全てのコンデンサ又は全てのサイズを1~2日以内に再度フィルすることができる。
【0128】
したがって、上記の技術を使用して、船舶/車両はネットワークのモバイル部分となり、リモートネットワーク構成要素(すなわち、リモートコンデンサ)に更新を伝搬するために使用される。
【0129】
既存のISPパートナープログラムでは、Netflix及びGoogleなどのキャッシュプロバイダは、独自のプロパティがISPによってホストされることを可能にする。ISPは、様々な機構を使用して配置のロジスティックな側面の一部を操作することができるが、最終的には、ISPがコンテンツを確認できる場所は回線上のみである。コンテンツは、静止したオーバーザトップ(OTT)プロバイダデバイス内にのみ記憶される。
【0130】
本明細書に記載の特定の実施形態を機能させるためには、OTTプロバイダが、例えば、コンデンサ、CDNノード、及びCDNノード/TIC内などネットワーク内で(例えば、ISPインフラストラクチャ内で静止して)、コンテンツのプーリングをサポートする用意があることが必要である。この構成がOTTプロバイダにとって受け入れ可能であるようにするために、本発明の一実施形態は、特定の保護機構を導入する。
【0131】
ISPは、静止形態でネイティブのコンテンツを抽出することができない。加えて、OTTプロバイダには、コンテンツがプールされている場所を追跡する能力が提供される。更に、OTTプロバイダには、プールされたデータを削除する能力が提供され、サードパーティがプールされたデータをコピー及び/又は抽出することは許可さない。
【0132】
これらの前提条件を踏まえて、本発明の一実施形態は、コンテンツ上で追加の暗号化層を実行し、その真正性を検証するマーカ(例えば、ブロックチェーンなど)をデータ内に提供する。例えば、データの各コピーは、一意のブロックチェーンエントリ及びキーを受信してよく、ブロックチェーンでのみ復号化を行うことができる。データが削除されるか又は除去される場合、データは無用になる。
【0133】
別の実施形態は、ブロックチェーンの代わりに、時間依存である暗号鍵を使用する。例えば、作製されるコピーは、指定期間(例えば、1週間、数日など)のみ有効であり得る。
E. コンテンツプロバイダ(CPC)、マイクロCPCキャッシュ、及び一次キャッシュ
【0134】
上記の本発明の実施形態は、航空機、バス、列車、又は船舶などリモートの、潜在的にモバイルの環境で動作するキャッシング技術を含む。これらの技術は、予測可能な配信時間に、大型データセットをリモートの場所へ配信する。この機構を活用することにより、インターネットサービスプロバイダ及びメディアサービスプロバイダの既存の配信機構に匹敵する有効なキャッシングソリューションをもたらすことができる。
【0135】
今日では例えば、Netflix及び他のプロバイダはISPパートナーシップモデルを使用して、ISPネットワーク全体のコンテンツを、Netflixによって配備されたOpen Connect Appliances(OCA)などコンテンツプロバイダキャッシュ(CPC)に配信する。以下に記載のいくつかの実施形態は、Netflixなど特定のメディアプロバイダに焦点を当てているが、本発明の基本原理は、任意の特定のメディアプロバイダアーキテクチャに限定されない。
【0136】
本発明の一実施形態は、可変的な接続性を有するモバイル環境のためのマイクロキャッシュ方法及び装置を含む。特定の実施例は、様々な技術を使用して、Netflixキャッシュをモバイル環境に配信する。
【0137】
本発明の一実施形態は、(1)ISP(例えば、Netflix)は、それらのネットワーク内及びその全体のCPCをホスティングする、(2)ISPは、配備されたCPCに関連付けられているクライアントIPアドレスを通信する、(3)ISPは、キャッシュフィルがスケジュールに基づいて確実に行われるようにする、及び(4)CPCキャッシュ内でコンテンツを利用できない場合、ISPは、ロングテールコンテンツが保持されているNetflixに戻る接続性を提供する、という特徴を含む。
【0138】
本発明の一実施形態は、ISPパートナーシップモデルで構築され、これらのリモートの場所内でのCPCの配備を含む。これらの実施形態は、多数の潜在的な視聴者が高度に集中する、船舶など車両で特に有益である。しかしながら、本発明の基本原理は、列車、飛行機、及びバスなどより小規模なモバイル環境で実施されてよい。
【0139】
図13には、モバイル環境150内に構成されたマイクロCPCキャッシュシステム1301が、ISPネットワーク内にあるかのようにメディアプロバイダ1310とインターフェースしない一実施形態が示されている。例えば、BGPなどプロトコルに依存して、現在のユーザのアドレスをメディアプロバイダ1310に配信するのではなく、オンボードマイクロCPCシステム1301は、(a)当該システムが特定のデータセットを含むオンボードCPCキャッシュを有しており、(b)当該キャッシュがIPアドレスプール1320に関連付けられており、当該プールは、次いで(例えば、衛星又はセルラーネットワークを介して)乗客に関連付けられ得ることをメディアプロバイダ1310(例えば、Netflix)に通知する。一実施形態では、アドレスマネージャ1307は、マイクロCPCシステム内でIPアドレスの割り当てを実行する。例えば、CSP152が、10.32.50.x~10.32.63.x(xはIPアドレス指定スキームによって許可された任意の数を指定する)など特定範囲のIPアドレスに関連付けられている場合、アドレスマネージャ1307は、10.32.50.0~10.32.50.800又は10.32.50.x~10.32.51.xなどIPアドレスのブロックをモバイル環境150に割り当ててよい。一実施形態では、アドレスマネージャ1307は、これらのアドレスブロックを個々のマイクロCPCシステム1301に動的に割り当て、次いで、当該システムは、許可された範囲内のアドレスをユーザデバイス1321に割り当てる。
【0140】
図14は、マイクロCPCキャッシュ1460と、マイクロCPCキャッシュマネージャ1470と、接続マネージャ823と、を含むマイクロCPCシステム1301の一実施形態を示している(そのいくつかの例は、
図8に関して前述した)。一実施形態では、特定のモバイル環境に割り当てられたIPアドレス1321の範囲は、ローカルWiFiネットワーク1470を介してリンクを確立するユーザデバイス827に、範囲内からIPアドレスを割り当てるための動的アドレスアサイナ1475を含む接続マネージャ825に提供される。マイクロCPCマネージャ1470は、マイクロCPCキャッシュに記憶されたコンテンツを管理し、一実施形態では、APIをメディアプロバイダ1310に露出させて、コンテンツの完全な可視性及び制御を提供する。
【0141】
マイクロCPCキャッシュ1460は、メディアプロバイダ1310から直接フィルされてよく、又はCPCキャッシュ1302を通じてフィルされてよい(例えば、メディアプロバイダ1310が既存のフィルポリシーに従ってCPCキャッシュ1302をフィルする場合)。いずれの場合でも、マイクロCPCシステム1301は、コンテンツサービスプロバイダ152によって実施され、メディアプロバイダ1310によって受諾/承認された規則及び/又はキャッシュキュレーションポリシーのセットに従ってマイクロCPCキャッシュ1460をフィルする。マイクロCPCキャッシュ1460を更新するための様々な異なる規則/ポリシーは上記に記載した(例えば、CDNノード520及び透過型キャッシュ610に関して説明したように)。これらの技術のいずれかが、マイクロCPCキャッシュ1460に配備されるメディアコンテンツの特定のセットを決定するために用いられてよい。
【0142】
乗客が、ユーザデバイス827上のメディアプロバイダのアプリ、アプリケーション、又はブラウザ(又は他のコンテンツチャネル)を用いてメディアプロバイダと接触すると、メディアプロバイダ1310は、通常のように最も近いCPCキャッシュ1302を検索するが、そのようなデバイスが自身を登録済みの場合には、最も近いマイクロCPC1460も検索する。次いで、メディアプロバイダのアプリ、アプリケーション、又はブラウザは(資格情報、DRM、Silverlightなど全てが実行されると)、CSP152に割り当てられたCPCキャッシュ1302ではなく、マイクロCPCキャッシュ1460にダイレクトされる。
【0143】
意義深いことには、メディアプロバイダ1310は、CPCコンテンツの配信に対する完全な可視性及び制御を依然として有し、CPC ISPとしてのマイクロCPCプロバイダ152とピアリングする。しかしながら、マイクロCPCプロバイダ152は、本明細書に記載のように、増強されたピアフィル実施例を使用して、最も関連性の高いコンテンツがマイクロCPCシステム1301に確実に到達するようにする。
【0144】
動作中、ユーザデバイス827は(例えば、メディアプロバイダのアプリを用いて)動的アドレスアサイナ1475によってIPアドレスを動的に割り当てられる。動的ホスト構成プロトコル(DHCP)などプロトコルが使用されて、割り当てられた範囲1321内からクライアントIPアドレスを動的に割り当ててよい。
【0145】
ユーザデバイス827が接続されると、飛行機、列車、船舶、又はバスによって提供される接続を介してインターネットにアクセスしてよい。これには、例えば、衛星接続、セルラーサービス、及び/又は移動中にモバイル環境で利用可能な任意の他の接続が挙げられてよい。ユーザが、メディアプロバイダ1310によって提供されるメディアコンテンツ(例えば、Netflixの番組又は映画)にアクセスすることを選択した場合、要求は、確立されたインターネット接続を介してメディアプロバイダ1310に送信され、ユーザデバイス827を認証する。次いでメディアプロバイダ1310は、要求側デバイス827又は接続マネージャ823(例えば、インターネットルータ又はゲートウェイとして構成されてよい)のIPアドレスを使用して、同一モバイル環境内のマイクロCPCキャッシュ1460を識別してよい。コンテンツがマイクロCPCキャッシュ1460内でローカルに利用可能である場合、次いで、マイクロCPCキャッシュ1460(及び/又はマイクロCPCマネージャ1470)のローカルIPアドレスを含むユーザデバイス827へのリダイレクト応答を送信する。コンテンツがローカルで利用不能である場合、応答は、インターネットリンク(又は別のCPCキャッシュ)を介してユーザデバイス827をCPCキャッシュ1302にリダイレクトする。
【0146】
したがって、上記実施形態では、メディアプロバイダ1310からのネットワークフィル動作は、CSPのネットワーク内の戦略的な場所において構成された、1つ以上のCPCキャッシュ1302に対して実行されてよく、このコンテンツのサブセットは、エッジ/ルータデバイス1304を介してCSPネットワークにモバイル環境150を連結する高速ネットワーク161を介して送信されてよく、モバイル環境は駅、ドック、ターミナルなどにある。マイクロCPCシステム1301のフィルに使用される技術にかかわらず、メディアプロバイダは、各マイクロCPCキャッシュに記憶されたコンテンツの完全な可視性及び制御を維持する。
【0147】
一実施形態では、このソリューションは、メディアプロバイダのコンテンツの選択されたサブセットのみで実施される。実際には、環境の性質に応じて、メディアプロバイダは、マイクロCPCキャッシュ1460内で利用可能なコンテンツに限定される、制約付きのユーザポータルを提供してよい。したがって、この実施例では、乗客/顧客は、キャッシュ上で利用可能ではないコンテンツを要求しない。
【0148】
別の実施形態では、
図8に関して上述したTIC810など透過型キャッシュに、同一のデータセットが投入される。メディアプロバイダ1310は、クライアントをオンボードマイクロCPCキャッシュにダイレクトするのではなく、要求側デバイス827を、CSP152によってホストされたCPCキャッシュ1302など顧客固有のCPCにダイレクトする。透過型キャッシュは、CPCキャッシュ1302をターゲットとするメディア要求を傍受し、メディアコンテンツがローカルに記憶されているかどうかを判定し、記憶されている場合には、コンテンツをローカルに提供する。この場合、IP範囲は、BGP(又は他のプロトコル)を介して、メディアプロバイダ1310に送信されてよい。しかしながら、マイクロCPCキャッシュ1460とは対照的に、メディアプロバイダ1310は、透過型キャッシュに対するアクセス又は制御を有さないことに留意されたい。しかしながら、利点は、これらの透過型キャッシュが、マイクロCPCキャッシュ実施例よりもはるかに高速でメディアコンテンツを伝搬することである。透過型キャッシュモデルでは、コンテンツサービスプロバイダ(CSP)152は、特定のIPアドレスのみがCPCキャッシュコンテンツへのアクセスを有することをメディアプロバイダ1310に通知し、したがって、ユーザデバイス827のユーザインターフェース内で制約付きのポータルビューをトリガしてよい。
【0149】
顧客が、マイクロCPCキャッシュ1460又は透過型キャッシュ上に存在するコンテンツを認識しているメディアプロバイダ1310からコンテンツカタログをダウンロードする一元的アプローチ、又はネットワークベースの認証が行われるが、次いで、ローカルキャッシュにカタログを委ねる配信アプローチなど、いくつかの任意の特徴が実施されてよい。いずれの機構も、本質的には、ユーザデバイス827で実行されているメディアプロバイダアプリケーションを、マイクロCPCキャッシュ1460上のローカルに利用可能なメディアコンテンツのサブセットにダイレクトする。用語「アプリケーション」は、本明細書では、モバイルデバイスアプリ(例えば、iPhone(登録商標)アプリ)、ブラウザベースのプログラムコード、及びラップトップコンピュータで実行されているアプリケーション)を含むために使用されることに留意されたい。要するに、メディアストリーミング機能を提供する、ユーザデバイス827にインストールされた任意の形態のプログラムコードは、本明細書に記載の実施形態を活用するように構成されてよい。
【0150】
様々なモバイル環境に適した多数の構成が存在する。例えば、バスは、50~80人の乗客をサポートするために十分なストリーミング能力のみを必要とし得る。一方、飛行機は、航空機の種類に応じて、100人、200人、又はそれ以上の乗客をサポートする必要があり得る。列車は、1500人もの乗客をサポートする必要があり得、クルーズ船では、6000もの同時ストリームをサポートする必要があり得る。既存のCPCキャッシュ1302はクルーズ船に適し得るが、バスには無用に大きい(例えば、価格、電力消費、及び能力の観点から)。
【0151】
しかしながら、標準的な30~100TBキャッシュは、上記の実施例の全ての標準的な基準として指定されてよい。CSP152は、高速接続が利用可能であるときにキャッシュ更新の配信に対処し、各モバイル環境に十分なメディアストリーミング能力を送達する、フォームファクタに応じたキャッシュ装置を提供する。
【0152】
メディアプロバイダ1310は、既存のBGPピアリングモデルを使用して、最も近いCPCキャッシュ1302を認識させる。一実施形態では、メディアプロバイダ1310は、IPアドレスがCPCキャッシュ1302に対する制限付きアクセス及び/又はより高い依存性を有する場所を表すかどうかを示す、追加データを提供する。このシナリオでは、メディアプロバイダ1310は、単にローカルキャッシュによって提供され得るカタログを共有するという特別な方法でデバイスを処理する。既存のメディアプロバイダ1310は既存のネットワーキングインフラを拡張して、(a)アドレスプールの固有の性質、及び(b)当該アドレスプール用にローカルにキャッシュされたコンテンツをサポートしてよい。
【0153】
一実施形態では、CSP152は、単一「コア」のCPCキャッシュ1302のみを実施し、異なる輸送車両/船舶上で構成された様々なマイクロキャッシュにコンテンツを複製する。メディアプロバイダ1310とISP関係を有することにより、CSP152は、BGPを用いてコアCPCキャッシュ1302を単純に参照し、メディアプロバイダには、そのメディアコンテンツの可視性が提供される。様々な輸送車両にわたって配信されたマイクロCPCキャッシュ1460のそれぞれには、コアCPCキャッシュ1302上の同一のメディアコンテンツ(又はそのサブセット)が投入される。
【0154】
一実施形態では、メディアプロバイダ1310は、マイクロCPCキャッシュの完全な可視性を有する必要はなく、これらのキャッシュが、CPCキャッシュ1302上の許容メディアコンテンツの同一セット以上ではないメディアコンテンツを含むことを認識している。この実施形態には、一時キャッシュ(TIC)構成が用いられてよい。別の実施形態では、各マイクロCPCキャッシュ1460は、メディアコンテンツを明示的に管理し、上記のようにクライアントをそのローカルマイクロCPCキャッシュ1460にリダイレクトする、メディアプロバイダ1310に個別に登録される。
F. 固定キャッシュデバイスのリバースフィル
【0155】
上述したように、コンデンサ510など固定環境(FE)キャッシュがCPCキャッシュ及び/又はメディアプロバイダに戻る相対的に低帯域幅のリンクを有する場合(例えば、コンデンサがリモートの場所にある場合)、「リバースフィル」動作が実行されてよい。そのような場合、例えば、クルーズ船上のマイクロCPCキャッシュ又は一時キャッシュが固定環境キャッシュと高速接続を形成する場合、接続期間中にリバースフィル動作を実行して、FEキャッシュにコンテンツを提供してよい。次いで、エッジデバイスは、範囲内を通過するときに、このコンテンツを、他のモバイル環境内の他のマイクロCPCキャッシュ又は一時的キャッシュに提供してよい。
【0156】
一実施形態では、CPCキャッシュ1302は、CPCキャッシュ1302から全てのFEキャッシュに同一メディアコンテンツを同時に提供するのではなく、異なるデータをFEキャッシュのそれぞれに送信する。
図15は、FEキャッシュ1511~1513をそれぞれ備えた3つのFEデバイス1501~1503を含む、1つの特定の例を示す。この実施形態は、CPCキャッシュ1302から同一コンテンツの全てをストリームするのではなく、3つのFEキャッシュ1511~1513のそれぞれの間でコンテンツを分割してよい。したがって、例えば、各FEデバイス1501~1503に対する帯域幅が同一である場合、全メディアコンテンツの1/3が各FEキャッシュ1511~1513に送信されてよい。例えば、各FEデバイス1501~1503が異なる鉄道の駅において構成されている(すなわち、モバイル環境150は列車である)場合、マイクロCPCキャッシュ又は一時キャッシュ1520は、各FEデバイス1501~1503から全コンテンツの1/3を受信し、FEデバイス1503を備える駅を離れるときには全てのコンテンツを有するであろう。このアプローチの利点は、FEデバイス1501~1503に対する総容量が、複数の駅のうちの1つへの最も遅いリンクに限定されるのではなく、全駅への全リンクの合計であることである。一実施形態では、上記のリバースフィル技術はまた、この環境において実施されて、マイクロCPCキャッシュ又は一時キャッシュ1520からFEデバイス1501~1503のうちの1つ以上にメディアコンテンツを送信してよい(例えば、CPCキャッシュ1302へのネットワーク接続が低下する又は切断する場合)。
【0157】
一実施例では、各FEデバイス1501~1503に送信されるメディアコンテンツの量は、CPCキャッシュ1302に対するそのリンク容量に応じて配分される。例えば、FEデバイス1501は200Mbpsリンクを有し、FEデバイス1502は300Mbpsリンクを有し、FEデバイス1503は500Mbpsリンクを有する場合、メディアコンテンツの2/10、3/10、及び5/10が、これらのデバイスにそれぞれ送信されてよい。メディアコンテンツの割り当てられた部分が各FEデバイス1501~1503に転送されると、CPCキャッシュ1302は残りのデータを送信し始めてよい。例えば、メディアコンテンツの2/10がFEデバイス1501に配信されており、列車が駅を離れる前にまだ30分残っている場合、CPCキャッシュ1302は、メディアコンテンツの残りの8/10のできる限り多くを残りの時間内にFEキャッシュ1511に送信してよい。
【0158】
上記の実施形態には、追加の最適化が適用されてよい。メディアコンテンツは、多くの小さいファイルに符号化されることができ、その大部分は、意味のないハッシュ名を有する。コアCPCキャッシュ1302はこれらのファイルをまとめて、メディアコンテンツのまとまったセットを各FEデバイス1501~1503から確実に取得できるように試みてよい。例えば、10本の映画は、それぞれ100個のファイルに符号化され、合計1000個のファイルが生じ、メディアコンテンツの有用性は、ユーザデバイスによって取得可能なファイルの特定のグループ分けに基づいている。例えば、ユーザは、再生に必要な正しいファイルセット(例えば、映画番号1に関連するファイル番号1~10)を有する場合のみ、ユーザは映画の再生を開始してよい。上記実施例のメディアコンテンツが各映画から各FEキャッシュ1511~1513に33個のファイルとして配信される場合、いずれのFEも完全な映画を有しておらず、有用性はゼロである。
【0159】
この問題に対処するために、本システムの一実施形態は、各映画に関連付けられた特定のファイルセットを決定し、これらのファイルを同一のFEキャッシュ1511に配信するように試みる。例えば、映画1~3は、FEデバイス1501に、映画4~7はFEデバイス1502に、そして映画8~10はFEデバイス1503に送信されてよい。更に、所与の映画のファイルは、映画の初めから始まって、映画の終わりまで連続的に送信されてよい。次いで、少なくともこれらの映画は、映画の残りがマイクロCPCキャッシュ又は一時キャッシュ1520に到達するのを待っている間に視聴することができる。
【0160】
この実施形態では、メディアストリーミング分析エンジン1540は、互いに対してどのファイルが連続するかを監視してよい。例えば、ユーザが映画番号1を視聴するときには、クライアントにストリームされた特定の一連のファイルがメディアストリーミング分析エンジン1540によって追跡され、メディアファイルマッピング1530(例えば、各メディアアイテムを複数のファイルと関連付けるテーブルデータ構造)として記憶されてよい。当然のことながら、メディアプロバイダ1310が、ファイルをメディアアイテムに関連付けるメタデータを提供する場合、メタデータはこの目的で使用されてよい。
【0161】
Akamai及びAmazon CloudFrontによって運営されるものなどアップストリームのコンテンツ配信ネットワーク(CDN)は、コンテンツがローカルで要求されたときに、アップストリームキャッシュからのコンテンツを要求し、記憶するプロキシキャッシュとして実施される。本発明の一実施形態は、このアーキテクチャの構成要素を利用するが、車両内の全ての車両/船舶にわたって配信された累積要求に基づいて、アップストリームデータをインテリジェントに要求する。
【0162】
図16を参照すると、モバイル環境150内の固定エッジ1610とローカルキャッシュ1620との間での本明細書に記載のバルク更新は、アップストリームへの要求の送信に関連付けられた物理的制約の一部に対応する。車両/船舶150が駅に到着すると、高速ネットワークリンク161は、これらのバルク更新を提供するために使用される。CDN階層の最下層(例えば、ローカルキャッシュ1620)でバルクデータを提供することにより、モバイル環境150内で生成されたアップストリーム要求は確実に低減するであろう。
【0163】
現場に多数(例えば、100)の車両/船舶が存在することを考慮すると、キャッシュミスは異なる車両/船舶にわたってある程度分散して生じるであろうが、一部は同時に発生し得る(例えば、ニュースで速報が流されている場合)。一実施形態では、モバイル環境150内で生成されたキャッシュミス要求は、低速ネットワーク(例えば、セルラー、衛星)1350を介してコアプロキシキャッシュ1605に返送される。必要に応じて、コアプロキシキャッシュ1605は、アップストリーム1600を呼び込んでデータをフェッチし、要求側モバイル環境150内のローカルキャッシュ1620に当該データを送信する。メディアを閲覧しようとする、モバイル環境150内の全ての他の乗客は、ローカルキャッシュ1620から直接提供される。
【0164】
この実施例では、コアプロキシキャッシュマネージャ1601は、アップストリームのCDNサーバ1600から提供され、コアプロキシキャッシュ1605に記憶された全てのローカルキャッシュミスなど、全てのモバイル環境1610からの累積的活動を認識する。各個々のモバイル環境150が高速ネットワーク161を用いて固定エッジ1610に到着すると、コアプロキシキャッシュは、累積したミスから最新のコンテンツを含み、これらのコンテンツは、各モバイル環境にプッシュされるであろう。実質的に、例えば、100台の列車では、例えば、100台の列車のミスが集約され、次回の更新サイクル後に結果が共有される。
【0165】
一実施形態では、同一の要求が複数のモバイル環境から生じることが見られる場合(例えば、10%、15%など閾値を使用して)、要求されたコンテンツは、高需要アイテムとして分類されてよい。結果的に、このメディアアイテムは、極めて高い割合の乗客がアクセスを希望することを期待して、低速ネットワーク1350を介して全てのモバイル環境150にプッシュされてよい。
【0166】
要約すると、単一のコアプロキシキャッシュ1605は、N個のモバイル環境(例えば、N=50、100、400、又は任意の他の数)からの要求の合計となる。要求されたコンテンツは、コアプロキシキャッシュ1605から、高速ネットワークを介して全てのN個のモバイル環境に、粗粒度の周波数(例えば、毎日)でプッシュされ、極めて高需要と判定されるアイテムについては、より細粒度の周波数(例えば、分)を使用して潜在的には低速ネットワーク1350を介してプッシュされる。
【0167】
特定の実施形態は、最も重要な静的コンテンツが管理され、ローカルで閲覧され得る遠隔の場所にメディアキャッシュが配備される。この実施例では、配信技術は、現在のビデオオンデマンド(VOD)システムと同様に、消費技術に直交すると見なされ得る。
【0168】
本発明の一実施形態を使用して、単一の船舶/車両にVODシステムを配備するのではなく、VODシステムは、公開ウェブサイト又はプライベートウェブサイトに配備されてよい。したがって、当該ウェブサイトに到達することができる全ての人に、船舶/車両の乗客と同じ経験が提供される。
【0169】
一実施形態では、公開ウェブサイト/プライベートウェブサイトは、
図16に記載のCDN、又は上記の他の実施例のいずれかにマップされ、ウェブサイト及びCDNコンテンツの全体が、同時に、かつ一貫して各船舶/車両に複製される。列車乗客が経験することは、例えば、公開ウェブサイト/プライベートウェブサイトへの訪問であるが、代わりにローカルキャッシュ1620が、ウェブサイトデータ及びメディアコンテンツをキャッシュインスタンスとして提供している。
【0170】
上述したように、本発明の一実施形態は、コンテンツの利用及びモバイル環境データを分析して、コンテンツ配信の優先順位付け及びスケジューリングを行うシステム及び方法を含む。
G. 学習されたコンテンツの配信の優先順位付け及びスケジューリング
【0171】
図17は、コンテンツオリジン1701(例えば、コンテンツプロバイダ)にセキュアに接続し、配信されるコンテンツを取得するための認証及びアクセスロジック1705を含むアーキテクチャの一実施形態を示す。分析エンジン1710は、コンテンツ及びコンテンツの利用に関連するデータを評価して、コンテンツのアイテムごとに需要値を決定する。需要エンジン1715は、タイミングデータ、キャッシュミス、及びモバイル環境に関連するプロファイルデータ(例えば、記憶容量、全体帯域幅及びユーザ帯域幅)と組み合わせて需要値を評価する。
【0172】
需要エンジン1715によって実行される評価に基づいて、パッケージャロジック1720は、特定コンテンツの修正を実行する。例えば、非常に人気の高いタイトル(例えば、分析エンジン1710又は需要エンジン1715によって識別される)の場合、パッケージャ1720は、異なるビットレートバージョンのコンテンツを生成してよい又は取得してよい。実行される全ての変換は、カスタマイズされたマニフェストファイル1750B~D内でパッケージャ1720によって指定され、それぞれの対応するモバイル環境150に送信されてよい。カスタマイズされたマニフェストファイル1750B~Dは、コンテンツプロバイダによって提供される元のマニフェストファイル1750Aからのデータを使用して生成されてよい。簡潔に述べると、マニフェストファイルは、関連コンテンツで利用可能な、異なるビットレートを指定する。この実施形態では、マニフェストファイル1750Aは、モバイル環境150ごとにカスタマイズされたマニフェストファイル1750B~Dを生成するように修正され、その結果、ビデオプレーヤ又はウェブブラウザは、ローカルで(例えば、高速ネットワークが切断されているとき)利用可能な最高品質のコンテンツを識別することができる。
【0173】
一実施形態では、スケジューラ1725は、モバイル環境150の既知のスケジュール又は予想スケジュール、及び各モバイル環境150内のコンテンツアイテムごとの予想需要に基づいて、様々なコンテンツアイテムを送信するための配信スケジュールを生成する。
【0174】
スケジュールが設定されると、配信ロジック1730は、モバイル環境150のそれぞれへの送信を管理し、スケジューラ1725及び/又はコンテンツプロバイダに結果を折り返し報告する。コンテンツは、高速イーサネット、WiFiセルラー(例えば、5G)、mmWave及びSneakerNetなどが挙げられるが、これらに限定されない、任意の利用可能なネットワーク技術を介して配信されてよい。
【0175】
一実施形態では、
図17のアーキテクチャは、(1)優先順位を付け、タイトル送信順を決定するための多因子分析、(2)マルチパス配信システム、(3)リアルタイムキュー制約、及び(4)プロファイルベースの制約のうちの1つ以上を実行することにより、モバイル環境150に対する制約付きの接続を最大限活用する。
【0176】
多因子分析に関しては、需要エンジン1715は、学習された需要に基づいて、明示的な優先順位付け及び/又は優先順位付けを実施してよい。明示的な優先順位付けは、特定タイトルに対する予想需要に基づいて、当該コンテンツに対する優先度値を設定することによって用いられてよい。例えば、大ヒットした映画がストリーミング向けに初めてリリースされるときには、比較的高い優先度が割り当てられてよい。次いで、当該映画に対する需要を経時的に追跡し、それに応じて優先度レベルが調整されてよい。学習された需要とは、コンテンツの利用を監視することによって決定される需要である。一実施例では、優先度は、いくつかの個別の優先度値(例えば、優先度1~5)のうちの1つから選択される。したがって、学習された需要は、閾値(例えば、総要求数、キャッシュミスの数など)の超過に基づいてコンテンツに合わせて調整されてよい。加えて、多因子分析は、明示的な時限送達を伴ってよい。すなわち、特定コンテンツは、キャッシュミスにかかわらず、特定の時間に「監視され」、高い優先度で配信され得る。
【0177】
マルチパス配信に関しては、一実施形態では、スケジューラ1725は、異なるキュー1726A~Bを使用して、異なる優先度のコンテンツをスケジュールする。例えば、低優先度のコンテンツは、モバイル環境150のエッジノードが高容量接続を有するとき(当該エッジノードが駅に位置するときなど)に、配信向けの「バルク」キュー行列1726Bに記憶されてよい。高優先度のコンテンツは、セルラー接続など任意の利用可能な接続を介した配信向けの「リアルタイム」キュー1726Aに記憶されてよい。
【0178】
リアルタイムキューに関しては、スケジューラ1725は、様々な制約を考慮してよい。これには、例えば、異なる時間に消費され得る帯域幅の量に関する制約、及び所与の時間枠に利用され得るデータ量に関する制約が挙げられてよい。
【0179】
プロファイルベースの制約に関しては、パッケージャ1720は、各モバイル環境150の制約に従ってコンテンツの任意の変換/パッケージングを調整してよい。例えば、エッジノードは、異なるキャッシュ容量を有してよく、そのため、コンテンツは、利用可能な空間対優先度に基づいて、選択的に異なるノードのターゲットになり得る。加えて、需要エンジン1715は、プロファイルデータ及び他の関連データを評価して、地域位置に基づいて優先順位付けを調整してよい(例えば、特定のコンテンツは、異なる地理的地域において異なる優先度を有し得る)。
H. CDNコンテンツの越境移動の実施形態
【0180】
本発明の一実施形態は、メディアコンテンツの越境移動をサポートするためのシステム及び方法を含む。具体的には、異なる管轄区では異なる法律がメディアコンテンツの適切な管理に関連するため、これらの実施形態は、輸送車両が管轄区間を通過するときに、メディアコンテンツの管理方法を動的に調整する。
【0181】
一実施形態では、コンテンツの可用性は、車両が任意の所与の時点に存在する地域に合わせする必要があるため、モバイルキャッシュにアクセスするアプリケーションは、自身の存在地域を把握し、キャッシュ情報に適切にアクセスする必要がある。したがって、モバイルCDN環境では、ローカル輸送環境内に固定されたままの接続は、現在の地理的位置を反映する必要がある。
【0182】
図18に関して一実施形態を説明すると、この実施形態では、モバイル環境150は、第1の公開IPアドレス(1.2.3.4)を使用する第1の国1810と、第2の公開IPアドレス(5.6.7.0/32)を使用する第2の国1811との間を移動する例を提供する。一実施形態では、モバイル環境150内の車両IPアドレスは、NAT回路1820を通過して、前述したように「ホーム」地域のIPサブネットワークへのネットワークアドレス変換を実行する。NAT回路1820は、モバイル環境150内に構成されたネットワークルータと一体であってよい。
【0183】
一実施例では、IPマッピング1830はネットワークルータ内に記憶され、国1810~1811の公開IPアドレスとモバイル環境150内で使用されるローカルIPアドレスとの間での変換に使用される。モバイル環境150内のキャッシュされたコンテンツは、旅程の経路に関連付けられた全地域のスーパーセットである。GPSイベント1815が検出されていることに基づいて(例えば、国1810~1811間での移動を示すGPSデバイスに応答して)、経路は、新しい地域IPアドレス(例えば、1.2.3.4ではなく5.6.7.0)を反映するために、ネットワークアドレス変換の前に挿入される。
【0184】
ユーザアプリ1850(例えば、モバイルデバイス上のNetflixアプリ又は動画コンテンツをレンダリングするための他のアプリ)がホームソースを継続するときに、新しい地域IPアドレスは、コンテンツ所有者の現在のプロセス(例えば、IPアドレスを特定国にリンクさせる検索)によってジオロケートされ、新しい国1811の要求に基づいてストリーミングを継続するかどうかの判定が行われる。
I. 高度なコンテンツ追跡、セキュリティ、及びコンテンツ所有者に対する可視性を備えたCDNEキャッシュ階層
【0185】
CDNEの一実施形態は、高度なコンテンツ追跡、セキュリティ、及び可視性という特徴を備えた多層キャッシュ階層を含む。例えば、一実施形態は、複数のモバイル環境にわたって配信され、複数のコンテンツプロバイダから供給されるコンテンツを追跡し、管理するために不変の台帳を実施する。具体的には、ブロックチェーンベースの不変の台帳が使用されて、CDNエクステンダ110によって維持される全ての固定キャッシュ及びモバイルキャッシュを含む、CDNネットワークエクステンダフットプリント内でコンテンツが配信される場所を追跡し、検証してよい。ネットワーク全体にわたってコンテンツタイトルの実証可能な制御を必要とするコンテンツプロバイダ及び所有者の場合、これらの実施形態はまた、CDNエクステンダ110のネットワークに入ったときから、システムから消去されるときまでの各タイトルのセキュアかつ完全に監査可能な追跡を提供する。タイトルがキャッシュされる任意の中間点において、これは暗号化されたブロブであり、その現在の大規模なエッジネットワークから、2~3例を挙げると、固定エッジ184、モバイルエッジ185、及びマイクロCPCキャッシュ1460に記憶されたコンテンツを含むがこれらに限定されない、コンテンツのキャッシュされた全インスタンスまでの暗号化されたトンネルの特徴の全てをコンテンツ所有者又はプロバイダに提供する。
【0186】
図19に関して特定の一実施例を説明すると、この実施例は、ソースネットワーク1901を介して複数のコンテンツプロバイダキャッシュ(CPC)1911~1913(例えば、NetflixのOCAキャッシュ)に連結されたNetflixなどコンテンツオリジンサービス1905Aを示す。この実施形態では、CDNエクステンダ110は、ピアフィル動作を受信するために、CPC1912のうちの1つ以上に対するピア接続を確立するCDNEコアキャッシュ1920を含み、そのキャッシュにCPC1911~1913からのコンテンツが投入される。
【0187】
一実施形態では、CDNEコア1920は、CDNE110キャッシング階層の最上階層にあり、潜在的には、コンテンツオリジンサービス1905Aによって提供されるタイトルの全て又は大きいサブセットをキャッシュする。簡略化のために単一のCDNEコア1920のみを示しているが、CDNEエクステンダ110は、ピアベースのメッセージ受け渡し、共有ディレクトリデータベース、又は他の同期技術を介して一貫性を維持する、いくつかのCDNEコア1920を含んでよい。一実施形態では、CDNEコア1920は、コンテンツ所有者のISPへの直接ネットワークのピアとして参加する。
【0188】
複数の中間ハブデバイス1930~1932は、CDNEエクステンダ110のネットワーク内のセキュアな通信チャネルを介して、CDNEコア1920からコンテンツ更新を受信し、コンテンツ更新をエッジキャッシュ1940~1942に渡す。一実施形態では、コンテンツは、暗号化された通信チャネルを介して送信されて、下層のメディアコンテンツを保護する(例えば、トランスポート層セキュリティ(TLS)で、及び/又は以下に記載の共有台帳アーキテクチャを使用して暗号化される)。
【0189】
本発明の一実施形態は、コンテンツディレクトリ1950を継続的に更新して、CDNエクステンダ110のネットワーク全体にわたってコンテンツの伝搬を反映する。例えば、
図19は、特定のメディアコンテンツタイトルの受信時にコンテンツディレクトリを更新するエントリを生成するCDNEコア1920、及びハブ1930~1932からのメディアコンテンツの受信時にコンテンツディレクトリ1950を更新するエッジキャッシュ1940~1942を示す。一実施形態では、各エッジキャッシュ1940~1942及びCDNEコア1920において受信したコンテンツタイトルごとに、新しいエントリがコンテンツディレクトリ1950に追加される。各エントリは、その現在位置の識別子、復号化キー、ソースの表示(すなわち、コンテンツの送信元のネットワーク構成要素を指定する)、及びタイムスタンプ(コンテンツの受信時間を示す)を含む。適切な認証を使用することにより、コンテンツ所有者/プロバイダ1905Aは、それにより、コンテンツがCDNエクステンダ110のネットワーク全体に配信されるときに、そのコンテンツのうちのいずれかの位置を追跡することができる。
【0190】
図20に示すように、一実施形態では、共有元帳ファブリック2000が使用されて、強化された認証及びセキュリティを提供する。共有元帳ファブリック2000は、CDNE110のネットワークを介して運ばれた、各コンテンツ所有者へのチャネルを確立する。コンテンツタイトルが受信されると、共有元帳ファブリック2000内に元帳エントリが生成されて、イベントを記録する。コンテンツ所有者/プロバイダは、次いで、元帳エントリを認証し、閲覧してよい。
【0191】
一実施例では、暗号化キーはコンテンツ所有者から受信され、CDNE110はこの暗号化キーを使用して、配信用ににコンテンツを暗号化し、パッケージ化する。CDNE110(They CDNE 110)は、暗号化キーを直接、又は共有元帳2000を介して受信してよい。暗号化されたタイトルパッケージは、暗号化された形態で記憶される中間ハブ位置1930~1932などCDNEネットワークを介して送信される。コンテンツタイトルがエッジキャッシュ1940~1942のうちの1つに到達すると、暗号化キーはコンテンツ所有者1905A~Bから受信され、エッジキャッシュ1940~1942はこれを使用してパッケージを復号化し、下層のコンテンツを1つ以上の使用可能なキャッシュにロードする。元帳エントリはイベントを記録するものであり、コンテンツ所有者/プロバイダは、コンテンツの新しい各コピーの記録として直ぐに見ることができる。例えば、コンテンツタイトルをエッジキャッシュ1940~1942から消去して、より新しい/より需要の高いコンテンツの場所を作ることができる。
【0192】
共有元帳2000は、素早い応答性で更新されて変化を反映し、コンテンツ所有者が直ぐに見ることができるようにする。一実施例では、コンテンツ所有者には、CDNEの各場所(例えば、コア、エッジキャッシュ)からのコンテンツタイトルの消去をするために実行し得る、「取り消し」トランザクションを(共有元帳を介して又は共有元帳外で)発行するオプションが提供される。
【0193】
一実施形態では、共有元帳ファブリック2000は、ブロックチェーンベースのセキュリティを使用して実施される。具体的には、元帳ファブリック2000は、ブロックと呼ばれる記録のリストを含み、各ブロックは、以前のブロックの暗号化ハッシュ、タイムスタンプ、及びトランザクションデータ(一般にマークルツリーとして表される)を含む。この実施例では、コンテンツディレクトリ1950の各エントリは、以前のエントリのハッシュであるキーを含む。この実施形態では、CDNE110内のコンテンツの配信先を追跡し、検証するための不変の台帳が得られる。
【0194】
加えて、ハブデバイス1930~1932など任意の中間点において、メディアコンテンツタイトルは、暗号化されたブロブとして記憶され、CPCキャッシュ1302などコンテンツプロバイダエッジと、CDNEエッジ1940~1942及び/又はマイクロCPC1460との間に暗号化されたトンネルを効果的に設ける。
J. 限定されたキャッシュの相互作用に基づいた、集約コンテンツのキャッシング
【0195】
図21を参照すると、本発明の一実施形態は、様々なモバイル環境から収集されたデータを使用して、そのキャッシュ2105にわたってコンテンツを集約し、それによって、様々なコンテンツチャネル190からの帯域幅を低減する。具体的には、本実施形態は、ストランドネットワーク130A~Bからの総入力及びキャッシュされている特定のデータのコンテキストアウェアネスに基づいてキャッシュ2105を構築する。
【0196】
従来のコンテンツ配信ネットワークは、あるユーザがアクセスするコンテンツをキャッシュし、したがって、次回には、他のユーザに同一コンテンツをより迅速に提供することができる。しかしながら、制約付きのモバイル環境では、この仕組みが機能するのに十分な規模がない。一実施形態は、この問題を180度転換する。具体的には、特定のイベント(例えば、ローカルCDNエクステンダ135A~Nのローカル記憶装置142A~N内での閾値ミス数)に応答して、トリガベースのコンテンツコレクタ2110は、モバイル環境150を通過するストランドネットワーク130A~Nから全コンテンツタイトルの全セグメントを取得しようする。一実施形態では、トリガベースのコンテンツコレクタ2110は、全ての、又は指定されたコンテンツビットレートセットでセグメントを取得しようとする。
【0197】
加えて、CDNエクステンダ110がモバイル環境のストランドネットワーク130A~Nを通過するとき、トリガベースのコンテンツコレクタ2110は、関連付けられたローカル記憶デバイス142A~Nでは見つからないセグメントを漸進的にプッシュし、それによって、特定のコンテンツタイトルに関してローカル記憶デバイス142A~Nを同期させる。
【0198】
コンテンツコレクタ2110は、プロアクティブな技術及び動的技術の両方を実施して、そのキャッシュ2105を投入してよい。例えば、定期的なスケジュールに基づいて、コンテンツプロバイダのウェブサイトをスキャンして新しいコンテンツタイトルを探し、新しい各ネットワークアドレスを検索キュー2111に追加してよい。次いで、そのキュー2111介して処理を行って、ウェブサイトからコンテンツタイトルをプルしてよい。
【0199】
加えて、トリガベースのコンテンツコレクタ2110は、全てのエッジノードにわたって集約されたキャッシュミスデータに基づいて動作してよい。各キャッシュミスは評価されてよく、対応するURLが推定されて完全なコンテンツタイトルが識別される。このタイトルは、コレクタのキュー2111に追加されてよい。最終的には、CDNエクステンダ119のコアキャッシュ2105において完全なタイトルが収集され、このタイトルは、エッジへの配信に利用可能である。
【0200】
本発明の一実施形態は、より効率的なメディア配信及び記憶のために動画マニフェストを変換するためのシステム及び方法を含む。具体的には、この実施形態は、タイトルを構成する、マニフェスト内のアクティブフロー数を低減し(記憶域の低減)、所与のタイトルを確実により迅速に配信するために漸進的なフローの配信を実行する(例えば、最低ビットレートコンテンツを最初に送信し、次いで中間ビットレートコンテンツ、次いで最高ビットレートコンテンツを送信することによって)。
【0201】
図17に関して前述したように、マニフェストファイル1750Aは、タイトルに利用可能なストリームレートを、エンドユーザデバイス上の再生アプリに通知する。コンテンツコレクタ2110によって収集された高速のストリームは、低速のストリームよりも著しく大きく、これにより配信及び/又は記憶を最適化する機会が生じる。
【0202】
リアルタイム送達チャネルを最大限活用するために、パッケージャ1720は、高速ストリームを除去した特別パッケージをコンテンツタイトル用に生成し、当該コンテンツタイトルに関連付けられたマニフェストファイル1750Aを修正し、最高ビットレートに関連付けられた1つ以上のエントリを除外して、1つ以上のカスタマイズされたマニフェスト1750B~Dを生成する。次いで、より小さいメディアファイルは、モバイル環境150内で直ぐに利用できるようにするために、スケジューラ1725のリアルタイムキュー1726Aを介して送信され得る。対照的に、ストリームレートを全て含む完全パッケージ(及び完全マニフェスト1750A)は、バルク送達キュー1726Bに追加され得る。一実施例では、モバイル環境エッジがバルク時間窓に入ると、例えば、モバイル環境150が(例えば、駅において)高容量接続を有するとき、低ビットレートバージョンは、高ビットレートバージョンに置き換えられる。
【0203】
更に、一実施形態では、リアルタイムでキャッシュミスが提供される。具体的には、この実施形態は、まだ配信されていないものの、低ストリーミングレートのみを特に参照する、特別なマニフェストをコンテンツ用にプロアクティブに作成し、配信する。これは、通常のキャッシュ挙動を活用して、ストリーム時に低レートセグメントをキャッシュする。一実施例では、許容される同時ストリームの数が制限され、限度に達すると、他のストリームは開始しないように阻止される。
K. モバイル環境を活用したキャッシュデータの配信
【0204】
本発明の一実施形態は、モバイル環境を活用し、リバースフィルを使用してキャッシュデータを配信する。この実施形態は、配信プロトコルに依存して、モバイル環境150の多様な船舶にわたってコンテンツを迅速に配信することを可能にする。
【0205】
ネットワーク全体にペタバイトのデータを移動させることは、高データコストを生じさせる可能性がある。CDNEコア1920とエッジノード1940~1942との間に中間「ハブ」ノード1930~1932を導入することにより、エッジノード1940~1942の移動を利用して、ネットワーク全体にコンテンツを漸進的に配信する機会が生み出される。
【0206】
新しいタイトルが収集されると、ハブノード1930~1932にわたって「スプレー」され得る。したがって、例えば、コンテンツタイトル1はハブ1930に進んでよく、コンテンツタイトル2はハブ1931に進んでよい。エッジ1940がハブ1930に到達すると、コンテンツタイトル1をピックアップし、次いで、ハブ1931へと移動する。ハブ1931では、コンテンツタイトル1をドロップし、次いでコンテンツタイトル2をピックアップする。ハブ1930に戻ると、次いで、コンテンツタイトル2をドロップする。より多くのエッジ及びハブを用いると、プロセスは増大し、コンテンツプロバイダのネットワークへの接続に関連する利用及びコストは大幅に削減される。
【0207】
図22は、固定エッジ2210~2212が、コアキャッシュ2201及びモバイルエッジ2220~2222の両方から投入される一実施形態を示す。ステータスコレクタ2205は、固定エッジ2210~2212及びモバイルエッジ2220~2222のそれぞれから、これらに格納されたコンテンツタイトル及び関連セグメントを示すデータを収集する。次いで、データは、ダッシュボードのグラフィカルユーザインターフェース(GUI)2201を介してコンテンツ配信管理者に提供される。
L. モバイルCDNを用いたウォールドガーデンの実現
【0208】
本発明の一実施形態は、モバイルコンテンツ配信ネットワーク(CDN)を用いてウォールドガーデンを実施する。この実施形態は、全てのモバイル環境が自身のフットプリントをホストするウォールドガーデンソリューションを、単一のオーバーザトップ(OTT)又はイントラネットベースのストリーミングソリューションがCDNエクステンダ110によって管理されるソリューションに変換する。
【0209】
ビデオオンデマンド(VoD)システムとしても知られている現在のウォールドガーデンソリューションには、比較的静的で、古いコンテンツの更新に手間がかかるという事実を含む、2つの重大な課題があり、あまり採用されていない。加えて、コンテンツへのアクセスには、ユーザが乗車前に特別なアプリをダウンロードすること、又は各車両でローカルに管理されるウェブサイトのいずれかを必要とする。
【0210】
一実施形態では、VoDシステムは、公開ウェブサイト又はプライベートウェブサイトとして配備され、次いで、本明細書に記載のモバイルコンテンツ配信ネットワーク内のコンテンツソースとしてマップされる。次いで、本明細書に記載の技術が使用されて、モバイル環境150の全てにわたってコンテンツを複製する。次いで、モバイル環境150内のエンドユーザは、データの全てがキャッシュによって提供され、したがって外部との接続性が不要であることを除いて、任意の他のウェブサイトのようにコンテンツにアクセスする。サービスプロバイダの観点からすれば、ユーザは、1つの一次ウェブサイトの更新のみを必要とし、CDNエクステンダ110が、それらの車両の全てへの配信を処理する。
【0211】
図23には、コンテンツ配信ネットワーク2301のビデオオンデマンド(VoD)ノード2311を示す一実施形態が示されている。CDNエクステンダ110は、本明細書に記載のようにVoDノード2311からコンテンツをプルし、マイクロCDNコアキャッシュ2320内にコンテンツを記憶する。CDNエクステンダ110は、本明細書に記載のように、様々なモバイル環境150のマイクロクロCDNキャッシュ1921にコンテンツをプッシュする。
【0212】
本発明の実施形態は、上で説明した様々な工程を含み得る。本工程は、汎用又は特殊目的のプロセッサに本工程を実行させるために使用され得る、機械実行可能な命令において具現化することができる。代替的に、これらの工程は、工程を実行するためのハードワイヤードロジックを含む特定のハードウェア構成要素によって、又はプログラミングされたコンピュータ構成要素及びカスタムハードウェア構成要素の任意の組み合わせによって、実行することができる。
【0213】
本明細書に記載される場合に、命令は、ある特定の動作を行うように構成されるか、又は所定の機能若しくはソフトウェア命令が非一時的コンピュータ可読媒体中に具現化されたメモリ内に記憶されている、特定用途向け集積回路(ASIC)などの、ハードウェアの特定の構成を指し得る。したがって、図面に示される技術は、1つ以上の電子デバイス(例えば、エンドステーション、ネットワーク要素など)上に記憶及び実行されるコード及びデータを使用して実装され得る。そのような電子装置は、非一時的コンピュータ機械可読記憶媒体(例えば、磁気ディスク、光ディスク、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリ装置、相変化メモリ)、並びに一時的なコンピュータ機械可読通信媒体(例えば、搬送波、赤外線信号、デジタル信号などの電気的、光学的、音響的又は他の形態の伝搬信号)などのコンピュータ機械可読記憶媒体を使用して、コード及びデータを記憶及び(内部で及び/又はネットワークを介して他の電子装置と)通信する。
【0214】
加えて、そのような電子デバイスは、典型的に、1つ以上の記憶デバイス(非一時的機械可読記憶媒体)、ユーザ入力/出力デバイス(例えば、キーボード、タッチスクリーン、及び/又はディスプレイ)、並びにネットワーク接続などの、1つ以上の他の構成要素に連結された1つ以上のプロセッサのセットを含む。プロセッサの組と他の構成要素との連結は、典型的には、1つ以上のバス及びブリッジ(バスコントローラとも呼ばれる)を通じて行われる。記憶デバイスとネットワークトラフィックを運ぶ信号のそれぞれは、1つ以上の機械可読記憶媒体及び機械可読通信媒体を表す。したがって、所与の電子デバイスの記憶デバイスは、その電子デバイスの1つ以上のプロセッサのセット上で実行するためのコード及び/又はデータを、典型的に記憶する。当然のことながら、本発明の実施形態の1つ以上の部分は、ソフトウェア、ファームウェア、及び/又はハードウェアの異なる組み合わせを使用して実装されてもよい。
【0215】
この詳細な説明全体を通じて、説明を目的として、本発明の完全な理解を提供するために、多数の特定の詳細を記載した。しかしながら、本発明は、これらの具体的な詳細の一部がなくても実施され得ることは、当業者にとって明らかであろう。ある特定の例では、周知の構造及び機能は、本発明の主題を不明瞭にすることを回避するために、詳述しなかった。したがって、本発明の範囲及び趣旨は、以下の特許請求の範囲の観点から判断されるべきである。