JP2022506447A - クラウドインフラストラクチャ上のコアセルラネットワーキングスタックの実装 - Google Patents

クラウドインフラストラクチャ上のコアセルラネットワーキングスタックの実装 Download PDF

Info

Publication number
JP2022506447A
JP2022506447A JP2021523836A JP2021523836A JP2022506447A JP 2022506447 A JP2022506447 A JP 2022506447A JP 2021523836 A JP2021523836 A JP 2021523836A JP 2021523836 A JP2021523836 A JP 2021523836A JP 2022506447 A JP2022506447 A JP 2022506447A
Authority
JP
Japan
Prior art keywords
bearer
data plane
packet
network
plane network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021523836A
Other languages
English (en)
Other versions
JP7512274B2 (ja
Inventor
アンドリュー ベインブリッジ,ノエル
ジョン ボークウィル,マシュー
ラドノビッチ,ボジダール
Original Assignee
マイクロソフト テクノロジー ライセンシング,エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マイクロソフト テクノロジー ライセンシング,エルエルシー filed Critical マイクロソフト テクノロジー ライセンシング,エルエルシー
Publication of JP2022506447A publication Critical patent/JP2022506447A/ja
Application granted granted Critical
Publication of JP7512274B2 publication Critical patent/JP7512274B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/25Maintenance of established connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

クラウドコンピューティング環境(例えば、パブリッククラウドインフラストラクチャ)上でコアセルラネットワークスタックを作動させるための技術が記載されている。例えば、仮想化されたパケットゲートウェイがクラウドコンピューティング環境の仮想マシン上で実行されることができ、標準的なロードバランサがセルラネットワークのネットワークトラフィックを仮想化されたパケットゲートウェイ間で分散させることができる。仮想化されたパケットゲートウェイは、セルラネットワークのベアラを含む外部キーバリューストアのローカルキャッシュで設定されて、ローカルキャッシュを使用して受信したデータプレーンネットワークパケットを処理することができる。ベアラは、外部キーバリューストアを使用してセルラネットワーク内で更新されることができ、仮想化されたパケットゲートウェイは、更新されたベアラ詳細を取得して使用することができる。

Description

セルラネットワーク(cellular networks)は、従来、カスタムハードウェア及びソフトウェアソリューションを使用して通信プロバイダによって運用されている。(例えば、パブリッククラウドプロバイダを使用して)セルラネットワークの幾つかのコンポーネントをクラウドインフラストラクチャ内で運用することは可能であるが、コンポーネント及びテクノロジの一部は、クラウドに直接的又は効率的に変換しない。例えば、LTEセルラネットワークにおいて、コントロールプレーンネットワーク(control plane network)及びユーザプレーンネットワーク(user plane network)は、別個のネットワークであると考えられる。コントロールプレーンは、ユーザプレーン内の接続の設定(setting up)、構成(configuring)、及び切り離し(tearing down)に関与する。ユーザプレーンは、ユーザデータ(ユーザ機器からのネットワークパケット)を直接的に運ぶ。サービスゲートウェイ/パケットゲートウェイ(SPGW:serving gateway/packet gateway)は、ユーザパケットが流れるコンポーネントである。大容量のトラフィックを取り扱うためには、多くのSPGWインスタンスが必要とされることがある。クラウド実装において、各SPGWインスタンスは、その独自の仮想マシン上で動作することができる。これらのSPGWインスタンスは、それらがユーザ平面パケットを正しく取り扱い得るようにコントロールプレーンメッセージ(control plane messages)を受信する必要がある。
クラウド環境内のロードバランサ(load balancer)は、多数の仮想マシンに亘って(例えば、均一に)パケットを分散するように設計される。典型的には、ロードバランサは、同じ送信元アドレスと宛先アドレスを持つパケットを同じ仮想マシンに送ろうと試みる以外に、どのパケットをどの仮想マシンに送信するかについての制御を殆ど有さない。クラウド環境内でロードバランサの背後にあるSPGWインスタンスを実行することの結果として、所与のユーザのためのコントロールプレーン及びユーザプレーンデータを異なるSPGWインスタンスに送信することができる。この状況では、コントロールプレーン情報が、それを必要とするSPGWインスタンスに送信されるか或いはそのようなSPGWインスタンスによって読み取られたりすることは、困難であるか或いは不可能なことがある。
従って、クラウド環境内でセルラネットワークコンポーネントを実装することに関連する技術には、十分な改良の機会が存在する。
この要約は、発明を実施するための形態において以下に更に記載する簡略化された形態で概念の集積を導入するために提供される。この要約は、特許請求する主題の鍵となる構成又は本質的な構成を特定することを意図せず、特許請求する主題の範囲を限定するために使用することも意図しない。
クラウドコンピューティング環境(例えば、パブリッククラウドインフラストラクチャ)上でコアセルラネットワークスタックを操作するための技術について記載される。例えば、仮想化されたパケットゲートウェイは、クラウドコンピューティング環境の仮想マシン上で実行されることができ、標準的なロードバランサは、仮想化されたパケットゲートウェイの中でセルラネットワークのネットワークトラフィックを分散させることができる。仮想化されたパケットゲートウェイの数は、ネットワークトラフィックを相応して分散させるロードバランサを用いてスケールアウトされる(新しい仮想化されたパケットゲートウェイを追加する)ことができ、或いはスケールダウンされる(仮想化されたパケットゲートウェイを削除する)ことができる。仮想化されたパケットゲートウェイは、セルラネットワークのベアラ(bearers)を含む外部キーバリューストア(KVS:Key-value store)のローカルキャッシュと共にセットアップされることでき、ローカルキャッシュを用いて受信したデータプレーンネットワークパケットを処理することができる。ベアラは、外部キーバリューストアを使用してセルラネットワーク内で更新されることができ、仮想化されたパケットゲートウェイは、更新されたベアラ詳細(bearer details)を取得して使用することができる。
例えば、クラウドコンピューティング環境内の仮想化されたパケットゲートウェイは、セルラネットワークのためのデータプレーンネットワークパケットを処理する操作を実行することができる。仮想化されたパケットゲートウェイは、外部キーバリューストアの全コピーを受信することができ、外部キーバリューストアは、セルラネットワークの全ての現在のベアラのためのベアラ詳細を含み、ベアラ詳細は、セルラネットワークを使用するユーザ危機に関連するネットワークフローを定義する。仮想化されたパケットゲートウェイは、ローカルキャッシュに外部キーバリューストアの全コピーを保存できる。仮想化されたパケットゲートウェイは、ロードバランサからデータプレーンネットワークパケットを受信することができる。仮想化されたパケットゲートウェイは、データプレーンネットワークパケットを処理することができ、この処理は、ローカルキャッシュ内のデータプレーンネットワークパケットに関連するベアラを識別することを含む。
別の例として、クラウドコンピューティング環境内で作動する仮想化されたパケットゲートウェイは、第1のベアラに関連する第1のデータプレーンネットワークパケットを受信することができる。第1のベアラがローカルキャッシュにないと決定した後に、仮想化されたパケットゲートウェイは、外部キーバリューストアから第1のベアラについてのベアラ詳細を取り出し(検索し)(retrieve)、取り出した第1のベアラについてのベアラ詳細をローカルキャッシュに格納することができる。仮想化されたパケットゲートウェイは、少なくとも部分的には、ローカルキャッシュに格納された第1のベアラについてのベアラ詳細に基づいて、第1のデータプレーンネットワークパケットを処理することができる。仮想化されたパケットゲートウェイは、第1のベアラが更新されたことを示すネットワーク通信を受信することができる。ネットワーク通信を受信することに応答して、仮想化されたパケットゲートウェイは、外部キーバリューストアから第1のベアラについての更新されたベアラ詳細を取り出し、取り出した更新されたベアラ詳細をローカルキャッシュに格納することができる。仮想化されたパケットゲートウェイは、第1のベアラに関連する第2のデータプレーンネットワークパケットを受信し、少なくとも部分的には、ローカルキャッシュに格納された第1のベアラについての更新されたベアラ詳細に基づいて、第2のデータプレーンネットワークパケットを処理することができる。
本明細書に記載するように、様々な他の構成及び利点を所望に技術に組み込むことができる。
仮想化されたパケットゲートウェイを含むセルラネットワークのコンポーネントを実装する例示的なクラウドコンピューティング環境を示す図である。
SPGW-Uを含むセルラネットワークのコンポーネントを実装する例示的なクラウドコンピューティング環境を示す図である。
データプレーンネットワークパケットフロー及びベアラ状態を示す例示的な状態マシンである。
セルラネットワークのためのデータプレーンネットワークパケットを処理するためにクラウドコンピューティング環境において仮想化されたパケットゲートウェイを作動させるための例示的な方法のフローチャートである。
セルラネットワークのためのデータプレーンネットワークパケットを処理するためにクラウドコンピューティング環境において仮想化されたパケットゲートウェイを作動させるための例示的な方法のフローチャートである。
幾つかの記載する実施形態を実装することができる例示的なコンピューティングシステムの図である。
本明細書に記載する技術と共に使用することができるモバイルデバイスの例である。
本明細書に記載する技術と共に使用することができるクラウドサポート環境の例である。
本明細書に記載するように、クラウドコンピューティング環境(例えば、パブリッククラウドインフラストラクチャ)内でコアセルラネットワークスタック(core cellular network stack)を作動させるために様々な技術及びソリューションを適用することができる。例えば、仮想化されたパケットゲートウェイ(virtualized packet gateways)は、クラウドコンピューティング環境の仮想マシン上で実行されることができ、標準的なロードバランサ(load balancers)は、仮想化されたパケットゲートウェイの中でセルラネットワークのネットワークトラフィック(network traffic)を分散させることができる。仮想化されたパケットゲートウェイの数は、ネットワークトラフィックを相応して分散させるロードバランサでスケールアウトされる(新しい仮想化されたパケットゲートウェイを追加する)ことができ、或いはスケールダウンされる(仮想化されたパケットゲートウェイを削除する)ことができる。
クラウドコンピューティング環境内でセルラネットワークサービスを提供するために、キーバリューストア(key-value store)(例えば、データベース、フラットファイル、又は別のタイプのデータ記憶装置)が維持される。キーバリューストアは、セルラネットワークの現在のベアラ(bearers)についてのベアラ詳細(bearer details)を格納する。ベアラ詳細は、セルラネットワークを使用するユーザ機器(例えば、携帯電話又はセルラネットワーク接続性を有する他のコンピューティングデバイス)に関連するネットワークフローを定義する。キーバリューストアは、仮想化されたパケットゲートウェイのような、セルラネットワークの他のコンポーネントとは別個のデータストア(data store)である。換言すれば、キーバリューストアは、仮想化されたパケットゲートウェイの外部にある(外部キーバリューストアとも呼ばれる)。幾つかの実装において、キーバリューストアは、(例えば、クラウドコンピューティング環境内で動作するセルラネットワーク内でアクティブな現在のネットワークフローの全てを表す)セルラネットワークの現在のベアラの全てについてのベアラ詳細を維持する。
本明細書に記載する技術において、データプレーンネットワークパケットは、仮想化パケットゲートウェイによって処理される。例えば、多数の仮想化されたパケットゲートウェイをクラウドコンピューティング環境の仮想マシン上でインスタンス化し且つ実行して、ユーザ機器に通信される或いはユーザ機器から通信されるデータプレーンネットワークパケットを処理することができる。幾つかの実装(例えば、LTEセルラネットワークを作動させる実装)において、仮想化されたパケットゲートウェイは、サービスゲートウェイ(SGW:serving gateway)、パケットゲートウェイ(PGW:packet gateway)、又はサービスゲートウェイ/パケットゲートウェイ(SPGW:serving gateway/packet gateway)である。(ユーザプレーンとも呼ばれる)データプレーンネットワークパケットを処理するサービスゲートウェイ/パケットゲートウェイは、SPGW-Uとも呼ばれる。コントロールプレーンネットワークパケットを処理するサービスゲートウェイ/パケットゲートウェイは、SPGW-Cとも呼ばれる。
従来のセルラネットワークでは、通信プロバイダがシステムのコンポーネントを作動させる。コンポーネントは、以下を含むことができる。
- ユーザ機器(UE:User Equipment)。セルラネットワークに接続されるデバイス。例えば、ユーザ機器は、携帯電話又はセルラ通信能力を有する他のコンピューティングデバイスを含むことができる。
- 発展型ノードB(eNodeB:Evolved Node B)。このコンポーネントは、ユーザ機器が無線通信接続(例えば、セルラ無線)を介して接続するセルラネットワークベースステーションを指す。
- モバイル管理エンティティ(MME:Mobile Management Entity)。このコンポーネントは、ユーザ機器によるセルラネットワークへのアクセスを制御する。
- サービスゲートウェイ/パケットゲートウェイ(SPGW)。SPGWを通じたユーザ機器フローへのネットワークパケット及びユーザ機器からのネットワークパケット。SPGWは、ユーザ機器がどこに移動しても(例えば、ユーザ機器がセルタワーからセルタワーに移動するときに)、ユーザ機器にパケットを中継するために使用し得る単一のアンカーポイント(anchor point)を提供する。
LTEセルラネットワーク環境において、コントロールプレーン及びデータプレーン(ユーザプレーン)は別々に扱われる。コントロールプレーンは、データプレーン内の接続の設定、構成、及び切り離しに関与する。データプレーンは、ユーザ機器にネットワークパケットを運び、ユーザ機器からネットワークパケットを運ぶ。
クラウドコンピューティング環境の実装では、ネットワークトラフィックのボリュームを処理するために、多くのSPGWインスタンスが必要とされることがあり、各SPGWインスタンスは、それ自体の仮想マシン(VM:virtual machine)で作動する。これらの仮想マシンインスタンスは、それらがデータプレーンネットワークパケットを正しく処理し得るように、コントロールプレーンからの情報を必要とする。
クラウドコンピューティング環境におけるロードバランサは、SPGWインスタンス間でネットワークパケットを分散するように設計される。典型的なロードバランサは、パケットヘッダ情報(例えば、IPヘッダからの送信元IPアドレス及び宛先IPアドレス、ユーザデータグラムプロトコル(UDP:user datagram protocol)又は転送制御プロトコル(TCP:transmission control protocol)ヘッダからの及び/又は他のパケットヘッダ情報からの送信元ポート及び/又は宛先ポート番号)に基づいてネットワークパケットを分配する。しかしながら、従来の技術を用いたクラウドコンピューティング環境内でSPGWインスタンスを実行することには問題がある。具体的には、SPGWインスタンスがロードバランサの背後で実行されるとき、所与のユーザのためのコントロールプレーン及びデータプレーンは、しばしば異なるSPGWインスタンスに向けられる。この状況では、コントロールプレーン情報が、コントロールプレーン情報を必要とするSPGWインスタンスに送信されること又はコントロールプレーン情報を必要とするSPGWインスタンスによって読まれることは可能でないことがある。1つの潜在的な解決策は、MME(例えば、コントロールプレーン情報のソース)に、その制御データ(control data)を全てのSPGWインスタンスにブロードキャストさせる(broadcast)ことである。しかしながら、この潜在的な解決策は、非効率的であり(例えば、相当量のネットワークトラフィックを必要とし)、少数のSPGWを越えて拡大しないことがある。
本明細書に記載する技術を用いるならば、クラウドコンピューティング環境内のセルラネットワークは、より効率的に且つ確実に作動させられることができる。例えば、スケールアウトは、キーバリューストアの内容(例えば、キーバリューストアの全コンテンツ)を、新たにインスタンス化された仮想化されたパケットゲートウェイに事前ロードすることによって実行されることができる。次に、仮想化されたパケットゲートウェイは、スケールアウトイベントの間にロードバランサによってそれに向けられる任意のデータプレーンネットワークパケットを処理するように準備され得る。別の例として、ベアラは、仮想化されたパケットゲートウェイの間で移動させられることができる。例えば、どの仮想化されたパケットゲートウェイが所与のベアラのためのデータプレーンネットワークパケットを現在処理しているかを示す所有権情報が、(例えば、キーバリューストアに)格納され得る。データプレーンネットワークパケットが(現在の所有者とは異なる)異なる仮想化されたパケットゲートウェイに向けられるならば、異なる仮想化されたパケットゲートウェイは、所有権を取る(例えば、キーバリューストア内に自身を登録し、前の所有者を置き換える)ことができる。このようにして、ベアラのためのネットワークフローは、接続を閉じて新しいネットワークフローを始めることを必要とせずに、(例えば、スケールダウンイベントの故に或いはネットワークの混雑や障害のような何らかの他の理由のために)仮想化されたパケットゲートウェイの間で移動させられることができる。別の例として、ベアラは、(例えば、ベアラがアクティブである間に、ベアラを閉じて新しいベアラを設定することを必要とせずに)更新されることができる。例えば、コントロールプレーン管理コンポーネント(例えば、MME及び/又はコントロールプレーントラフィックを扱うゲートウェイ)は、キーバリューストア内のベアラ詳細を更新することができる。コントロールプレーン管理コンポーネントは、更新されたベアラを所有する仮想化されたパケットゲートウェイに信号を送信することができ、仮想化されたパケットゲートウェイは、更新されたベアラ詳細を取得し、ベアラのためのデータプレーンネットワークパケットの処理中にそれらを使用することができる。
(クラウドコンピューティング環境内でのセルラネットワークの運用)
本明細書に記載する技術において、セルラネットワークのコンポーネントは、クラウドコンピューティング環境(例えば、パブリッククラウド環境及び/又はプライベートクラウド環境)内で実装されることができる。例えば、クラウド環境の標準的なロードバランサを利用して、仮想化されたパケットゲートウェイ(例えば、SPGW-U)の集積(collection)(例えば、クラスタ)間でセルラネットワークトラフィック(例えば、データプレーンネットワークパケット)を分配することができる。外部キーバリューストアは、セルラネットワーク内の現在のネットワークフローについてのベアラ詳細を格納することができる。新しい仮想化されたパケットゲートウェイが、ロードバランサが新しい仮想化されたパケットゲートウェイに送信する任意のネットワークフローを処理する準備ができているように、仮想化されたパケットゲートウェイからのスケーリングは、外部キーバリューストアの全コンテンツを新しい仮想化されたパケットゲートウェイのローカルキャッシュにコピーすることによって実行されることができる。これらの技術は、(例えば、仮想化されたパケットゲートウェイが更新されたベアラ詳細を受信して適用するために)ベアラが更新されること及び(例えば、ベアラが仮想化されたパケットゲートウェイ間で移動させられるために)ベアラが移動させられことも可能にする。ベアラは、それらがアクティブである間に、ベアラを閉じて新しいベアラを設定することを必要とせずに、移動及び/又は更新されることができる。
図1は、セルラネットワーク(例えば、仮想セルラネットワーク)のコンポーネントを実装する例示的なクラウドコンピューティング環境110を示す図である。例えば、クラウドコンピューティング環境110は、パブリッククラウド環境又はプライベートクラウド環境であることができる。クラウドコンピューティング環境110は、セルラネットワークのコンポーネントが作動するコンピューティングリソース(例えば、サーバ、仮想マシン、ストレージリソース、ネットワークサービスなど)を提供する。
図1に示すように、ユーザ機器120及び122(例えば、携帯電話又はセルラネットワーク接続性を有する他のコンピューティングデバイス)は、セルラ基地局130(例えば、セルタワー)を介してセルラネットワークに接続する。例えば、セルラネットワークがロングタームエボリューション(LTE:long-term evolution)セルラネットワークであるならば、セルラ基地局130は、eNodeBであり得る。(例えば、異なるタイプのセルラ基地局130を有し得る)3Gセルラネットワーク又は5Gセルラネットワークのような他のタイプのセルラネットワークを同様に使用することができる。2つの例示的なユーザ機器120及び122デバイスのみが示されているが、セルラネットワークは、典型的には、より多くのユーザ機器デバイスをサポートすることができる。同様に、セルラネットワークは、典型的には、異なる地理的場所にある多数のセルラ基地局をサポートする。
図1に示すように、多数のセルラネットワークコンポーネントがクラウドコンピューティング環境110内に実装される。コントロールプレーン管理140コンポーネントは、セルラネットワークのためのコントロールプレーンサービスを提供し、コントロールプレーンネットワークトラフィックを処理する。例えば、コントロールプレーン管理コンポーネント140は、サービス180(例えば、インターネット又はセルラデータネットワークのような公衆データネットワーク(PDN))にアクセスするために、ユーザ機器120及び122についてのネットワークフロー(例えば、ベアラ)を設定することができる。セルラネットワークのタイプに依存して、コントロールプレーン管理140コンポーネントは、多数の異なるサービスを含むことができる。例えば、LTEセルラネットワークのために、コントロールプレーン管理140コンポーネントは、モバイル管理エンティティ(MME:Mobile Management Entity)、コントロールプレーンネットワークトラフィックを扱うサービス及び/又はパケットゲートウェイ、ロードバランサなどを含むことができる。
キーバリューストア170は、セルラネットワークのベアラについてのベアラ詳細を含むデータストア(data store)(例えば、集中データストア又は分散データストア)である。例えば、コントロールプレーン管理140コンポーネントがユーザ機器120からの要求を受け取って、インターネット上のウェブサイト(サービス180の1つ)にアクセスするか或いは音声呼出し(voice call)を行うときに、コントロールプレーン管理140コンポーネントは、(例えば、ユーザ機器120が、データプラン、課金情報などを確認することのような、サービスにアクセスする権限を有するかどうかを決定することを含み得る)ベアラを設定する。ベアラを設定することの一部として、コントロールプレーン管理140コンポーネントは、キーバリューストア170内にベアラについてのベアラ詳細(例えば、TEID、QoS値、ダウンロード速度のようなネットワークビットレートなど)を格納する。ベアラは、特定のユーザ機器デバイスについてのネットワークトラフィック(例えば、ネットワークフロー)のタイプを表す。異なるベアラが、電話呼出し、ウェブブラウジング、特別なトラフィック(例えば、ストリーミングビデオ、特定のVoIPアプリケーションなど)を含む、異なるタイプのネットワークトラフィック及び/又は異なるアプリケーション、及び/又は異なるサービス品質(QoS)のために作成されることができる。所与のユーザ機器デバイスは、異なるネットワークフローを表す多数の現在アクティブなベアラを有してよい。幾つかの実装では、ユーザ機器デバイスがセルラネットワークを利用するために、ベアラが、先ず、ネットワークフローのためにセルラネットワーク内に確立されなければならない。
仮想化されたパケットゲートウェイ160(例えば、仮想マシン上で作動しているクラスタ内の多数の仮想化されたパケットゲートウェイ)は、ユーザ機器120及び122のためにデータプレーンネットワークパケットを処理する。例えば、仮想化されたパケットゲートウェイ160は、ユーザ機器120及び122とサービス180(例えば、インターネット及び/又は他の外部ネットワーク)との間で送信されるデータプレーンネットワークパケットを処理する。
仮想化されたパケットゲートウェイ160のうちの1つが、特定のユーザ機器デバイスから所与のネットワークフローのための第1のデータプレーンネットワークパケット(例えば、音声呼出し、特定のウェブサイトへのアクセスなど)を受信すると、仮想化されたパケットゲートウェイは、キーバリューストア170からベアラについてのベアラ詳細を取得する(例えば、ベアラは、コントロールプレーン管理140コンポーネントによってキーバリューストア内に予め設定されている)。仮想化されたパケットゲートウェイは、ローカルキャッシュ(例えば、仮想化されたパケットゲートウェイのローカルキーバリューストア)内にベアラ詳細を格納することができる。
ユーザ機器120及び120と仮想化されたパケットゲートウェイ160との間の(インターネットプロトコル(IP)ネットワークパケットである)データプレーンネットワークパケットは、カプセル化される。幾つかの実装において、カプセル化は、GTP-Uのような、GPRSトンネル化プロトコル(GPT:GPRS tunneling protocol)に従って実行される。例えば、カプセル化は、所与のユーザ機器デバイスの異なるネットワークフローを管理する方法を提供する。トンネル化プロトコルは、識別子(例えば、トンネル終点識別子(TEID:tunnel endpoint identifier))を所与のネットワークフローに関連するベアラに割り当て、別個の識別子をアップリンクデータ(ユーザ機器デバイスからサービス180に流れるデータ)及びダウンリンクデータ(サービス180からユーザ機器デバイスに流れるデータ)のために使用することができる。例えば、ユーザ機器120が特定のウェブサイトにアクセスしている特定のネットワークフローのために特定のベアラを設定することができ、その場合、ベアラ詳細は、2つの識別子(例えば、2つのTEID)、すなわち、ネットワークフローについてのアップリンクトラフィックに関連付けられる識別子及びダウンリンクトラフィックに関連付けられる識別子を含む。
ロードバランサ150は、仮想化されたパケットゲートウェイ160間でデータプレーンネットワークパケットを分配する。ロードバランサ150は、IPヘッダ情報に基づいてネットワークトラフィックを方向付ける(direct)クラウドコンピューティング環境110の標準的なロードバランサ(パブリッククラウドサービスプロバイダによって提供される標準的なロードバランサ)である。ロードバランサ150は標準的なロードバランサであるので、それはカプセル化されたパケット情報に基づいてネットワークパケットを方向付けない(例えば、それはGTP-Uプロトコルのようなカプセル化プロトコルで作動するように構成された特殊目的ロードバランサでない)。1つの例示的なロードバランサ150が図に示されているが、多数のロードバランサ(例えば、複数のロードバランサネットワークデバイス)を使用することができる。
ロードバランサ150は、標準的なロードバランサであるので、それは、典型的には、外側のIPヘッダ情報(例えば、送信元及び宛先IPアドレス及び/又はポート番号)に基づいて所与のネットワークフローのためのネットワークパケットを同じ仮想化されたパケットゲートウェイに方向付ける。しかしながら、ロードバランサ150は、キャリアについて知らない(例えば、ロードバランサは、カプセル化されたパケット又はカプセル化ヘッダを検査しない)ので、仮想化されたパケットゲートウェイのうちのどれが所与のベアラのネットワークパケットを受信するかを決定する方法はない。1つの潜在的な解決策は、全てのベアラ詳細を全ての仮想化されたパケットゲートウェイに伝達することである。しかしながら、この潜在的な解決策は、非効率的である(例えば、ネットワーク帯域幅、処理リソース、及び記憶装置を含む、有意なコンピューティングリソースを使用する)。
本明細書に記載する技術を用いて、より効率的な解決策を提供することができる。例えば、セルラネットワークのベアラについてのベアラ詳細のためのリポジトリとしてキーバリューストア170を使用することによって、仮想化されたパケットゲートウェイ160は、必要とされるときにベアラ詳細を得ることができる。例えば、仮想化されたパケットゲートウェイ160のうちの1つが、不明ベアラ(unknown bearer)(例えば、仮想化されたパケットゲートウェイのローカルキャッシュにないベアラ)に関連するデータプレーンネットワークパケットを受信するとき、仮想化されたパケットゲートウェイは、ベアラについてのベアラ詳細を外部キーバリューストア170から取得して、それらをそのローカルキャッシュに格納することができる。これは、全てのベアラ詳細が仮想化されたパケットゲートウェイ160の各々に格納される解決策に対して、コンピューティングリソース(例えば、ネットワーク帯域幅、処理リソース、及び記憶装置)に関する改良をもたらす。
クラウドコンピューティング環境内でセルラネットワークコンポーネントを作動させることに伴う別の潜在的な問題は、仮想化されたパケットゲートウェイ160のスケールアウト中に発生し得る。例えば、新しい仮想化されたパケットゲートウェイが仮想化されたパケットゲートウェイ160に追加される(例えば、新しい仮想化されたパケットゲートウェイインスタンスが仮想マシン上でインスタンス化される)スケールアウトイベントの間に、ロードバランサ150は、仮想化されたパケットゲートウェイ160の数に比例してデータプレーンネットワークパケットを新しい仮想ゲートウェイに送信し始める(例えば、データプレーンネットワークフローを仮想化されたパケットゲートウェイ160間が均等に分割する)。新しい仮想化されたパケットゲートウェイが未だ見ていないベアラのために、新しい仮想化されたパケットゲートウェイが大量のネットワークフローを受信し始めるならば、新しい仮想化されたパケットゲートウェイは、過負荷になり得る(例えば、ネットワークパケットの遅延又は破棄を引き起こし、それはネットワークサービスを遅延させ(delayed)得る或いは停止させ(dropped)得る)。1つの潜在的な解決策は、新しいベアラに直面するときに(例えば、所与のベアラに関連する最初のネットワークパケットを受信した後に)新しいベアラについて、新しい仮想化されたパケットゲートウェイにキーバリューストア170からベアラ詳細を取得させることである。しかしながら、新しい仮想化されたパケットゲートウェイは、ネットワークトラフィックの突然の流入と、新しい仮想化されたパケットゲートウェイが運転を開始し、ロードバランサ150がネットワークパケットを方向付け始めるときに得られる必要がある、対応する新しいベアラ詳細とで、依然として過負荷になり得る。
本明細書に記載する技術を使用するならば、スケールアウトイベントに伴うそのような問題を低減又は解消することができる。例えば、新しい仮想化されたパケットゲートウェイが作成され、それがロードバランサ150からデータプレーンネットワークパケットを受信し始める前に、ベアラ詳細は、キーバリューストア170から新しい仮想化されたパケットゲートウェイのローカルキャッシュにコピーされることができる。幾つかの実装において、キーバリューストア170のコピー全体は、新しい仮想化されたパケットゲートウェイのローカルキャッシュに保存される。キーバリューストア170のコピーが新しい仮想化されたパケットゲートウェイでひとたび格納されると、ロードバランサ150は、データプレーンネットワークパケットを新しい仮想化されたパケットゲートウェイに方向付け始める。新しい仮想化されたパケットゲートウェイのローカルキャッシュは、ベアラ詳細で占められている(例えば、予め占められている)ので、それがロードバランサ150から受信するあらゆるデータプレーンネットワークパケットは、ローカルキャッシュ内に関連するベアラ詳細を有し、新しい仮想化されたパケットゲートウェイは、キーバリューストア170からベアラ詳細を取得することを必要とせずに、それらを効率的に処理することができる。これはネットワーク応答性(例えば、待ち時間の減少)及び信頼性(例えば、ユーザ機器へのネットワークサービス混乱(disruption)の機会の減少)に関する節約をもたらす。
類似の問題は、仮想化されたパケットゲートウェイ160のスケールダウン中に発生し得る。例えば、残りの仮想化されたパケットゲートウェイ160は、操業中止にされた仮想化されたパケットゲートウェイによって以前にサービスが提供されていたネットワークフローの一部を受信することができる。しかしながら、この状況において、ロードバランサ150によって所与の残りの仮想化されたパケットゲートウェイに向けられている追加的なネットワークフローは、残りの仮想化されたパケットゲートウェイを過負荷にしてはならない。従って、残りの仮想化されたパケットゲートウェイは、必要とされるときに、追加的なネットワークフローのためにキーバリューストア170から新しいベアラ詳細を得ることができる。
クラウドコンピューティング環境内でセルラネットワークコンポーネントを作動させることに伴う別の潜在的な問題は、ベアラが仮想化されたパケットゲートウェイの間で移動される必要があるときに及び/又はベアラ詳細が更新される必要があるときに発生し得る。例えば、進行中のネットワークフローを表すベアラは、スケールアウトイベントの間に、スケールダウンイベントの間に、或いは何らかの他の理由(例えば、ネットワーク混雑又は過負荷の仮想化されたパケットゲートウェイ)のために移動される必要がある場合がある。幾つかの解決策において、ベアラは、特定の仮想化されたパケットゲートウェイに結び付けられ、移動させられることができない(例えば、仮想化されたパケットゲートウェイの故障は、仮想化されたパケットゲートウェイによってサービスが提供されている、全てのベアラ及び関連するネットワークフローの故障をもたらす)。本明細書に記載する技術において、ベアラ及び関連するネットワークフローは、仮想化されたパケットゲートウェイの間で移動させられることができる。例えば、ロードバランサ150がベアラのネットワークフローを異なる仮想化されたパケットゲートウェイに向けるならば、異なる仮想化されたパケットゲートウェイは、ネットワークフローの第1のデータプレーンネットワークパケットを受信した後にキーバリューストア170からベアラ詳細を取得し、そのベアラにサービスを提供することができる。この解決策は、スケールアウトイベントの間に、スケールダウンイベントの間に、或いはネットワークフローを異なる仮想化されたパケットゲートウェイに移動させる何らかの他の理由の故に、実行されることができる。
類似の問題は、ベアラを更新する必要があるときに発生し得る。例えば、アカウント状態の変化(例えば、帯域幅制限、アクセスされているサービスのタイプ、課金問題など)の故に、ベアラを更新する必要がある場合がある。幾つかの解決策では、ネットワークフロー中にベアラを更新させ得ない(例えば、変更が行われる必要があるならば、新しいベアラが確立される必要があり、それは効率を低下させ、追加的なコンピューティングリソースを必要とする)。本明細書に記載する技術では、ベアラを更新させることができる。ベアラを更新するために、キーバリューストア170は、どの仮想化されたパケットゲートウェイが各ベアラを所有するか(例えば、ベアラのためのデータプレーンネットワークパケットを処理することに現在関与しているか)を示すベアラについての所有情報を格納することができる。例えば、仮想化されたパケットゲートウェイが特定のベアラに関連する第1のデータプレーンネットワークパケットを受信するとき(例えば、特定のベアラが仮想化されたパケットゲートウェイのローカルキャッシュにない場合及び/又は特定のベアラのためのパケットが以前に処理されていない場合)、仮想化されたパケットゲートウェイは、キーバリューストア170から特定のベアラについてのベアラ詳細を取得し、それ自身をキーバリューストア170内の特定のベアラの所有者として登録することができる(例えば、キーバリューストア170は、ベアラと仮想化されたパケットゲートウェイとの間の関連を有する別個のテーブルを維持することができる)。ベアラを更新する必要があるときに、コントロールプレーン管理140コンポーネントは、キーバリューストア170内のベアラ詳細を更新し、どの仮想化されたパケットゲートウェイがベアラの所有者であるかを決定し、仮想化されたパケットゲートウェイに警告することができるので、仮想化パケットゲートウェイは、キーバリューストア170から更新されたベアラ詳細を得ることができる。この解決策は、新しいネットワークフローを停止及び再確立することを必要とせずに、ネットワークフロー中にベアラが更新されることを可能にし、それは時間を節約し、コンピューティングリソースを節約し、ネットワーク中断を低減又は排除することができる。
図2は、SPGW-Uを含むLTEセルラネットワーク(例えば、仮想LTEセルラネットワーク)のコンポーネントを実装する例示的なクラウドコンピューティング環境210を示す図である。例えば、クラウドコンピューティング環境210は、パブリッククラウド環境又はプライベートクラウド環境であることができる。クラウドコンピューティング環境210は、セルラネットワークのコンポーネントが動作するコンピューティングリソース(例えば、サーバ、仮想マシン、ストレージリソース、ネットワークサービスなど)を提供する。図2に関して記載するコンポーネントの多くは、図1に関して上述した対応するコンポーネントと同じ又は類似の機能を実行する。
図2に示すように、ユーザ機器220及び222(例えば、携帯電話又はセルラネットワーク接続性を有する他のコンピューティングデバイス)は、eNodeB230(例えば、LTEセルラネットワーク内のセルラ基地局)を介してセルラネットワークに接続する。3Gセルラネットワーク又は5Gセルラネットワークのような他のタイプのセルラネットワークも同様に使用することができる。2つの例示的なユーザ機器220及び222デバイスのみを示しているが、セルラネットワークは、典型的には、より多くのユーザ機器デバイスをサポートすることができる。同様に、セルラネットワークは、典型的には、異なる地理的場所にある多数のセルラ基地局をサポートする。
図2に示すように、多数のセルラネットワークコンポーネントがクラウドコンピューティング環境210内に実装される。MME240及びサービス/パケットゲートウェイ(SPGW-C)262を含む多数のコンポーネントが、セルラネットワークのためのコントロールプレーンサービスを提供し、コントロールプレーンネットワークトラフィックを処理する。例えば、MME240は、SPGW-C262と共に、ユーザ機器220及び222がサービス290(例えば、インターネット又はセルラデータネットワークのような公衆データネットワーク(PDN))にアクセスするためにネットワークフロー(例えば、ベアラ)を設定することができる。ロードバランサ252(又は幾つかの実装における複数のロードバランサ)は、(例えば、セルラネットワークのコントロールプレーンネットワークトラフィック負荷を処理するために)コントロールプレーンネットワークトラフィックを多数のSPGW-C262間で分配することができる。
キーバリューストア270は、セルラネットワークのベアラについてのベアラ詳細を含むデータストア(例えば、集中データストア又は分散データストア)である。例えば、MME240がユーザ機器220から要求を受信して、インターネット上のウェブサイト(サービス290の1つ)にアクセスするときに或いは音声呼出しを行うときに、MME240は、(例えば、ユーザ機器220が、データプラン、課金情報などを確認することのような、サービスへのアクセスを許可されているかどうかを決定することを含むことができる)ベアラを設定する。例えば、MME240は、SPGW-C262に命令して、ベアラを構成し(configure)、ベアラについてのベアラ詳細をキーバリューストア270に格納することができる。ベアラは、特定のユーザ機器デバイスについてのネットワークトラフィック(例えば、ネットワークフロー)のタイプを表す。異なるベアラが、電話呼び出し、ウェブブラウジング、特別なトラフィック(例えば、ストリーミングビデオ、特定のVoIPアプリケーションなど)を含む、異なるタイプのネットワークトラフィック及び/又は異なるアプリケーション、及び/又は異なるサービス品質(QoS)のために作成されることができる。所与のユーザ機器デバイスは、異なるネットワークフローを表す多数の現在アクティブなベアラを有することがある。幾つかの実装では、ユーザ機器デバイスがセルラネットワークを利用するために、ベアラは、先ず、ネットワークフローのためにセルラネットワーク内に確立されなければならない。
SPGW-U260(例えば、仮想マシン上で作動しているクラスタ内の多数のSPGW-U)は、ユーザ機器220及び222のためのデータプレーンネットワークパケットを処理する。例えば、SPGW-U260は、ユーザ機器220及び222とサービス290(例えば、インターネット及び/又は他の外部ネットワーク)との間で送信されるデータプレーンネットワークパケットを処理する。幾つかの実装では、ネットワークアドレス変換(NAT:network address translation)サービス280が、SPGW-U260とサービス290(例えば、インターネット)との間のIPアドレス変換のために利用される。
SPGW-U260のうちの1つが、特定のユーザ機器デバイスから所与のネットワークフロー(例えば、音声呼出し、特定のウェブサイトへのアクセスなど)のための第1のデータプレーンネットワークパケットを受信するときに、SPGW-Uは、キーバリューストア270からベアラについてのベアラ詳細を取得する(例えば、ベアラは、MME240及び/又はSPGW-C262によって、キーバリューストア内で予め設定されている)。SPGW-Uは、ベアラについてのベアラ詳細をローカルキャッシュ(例えば、SPGW-Uのローカルキーバリューストア)に格納することができる。
ユーザ機器220及び220とSPGW-U260との間の(インターネットプロトコル(IP)ネットワークパケットである)データプレーンネットワークパケットは、カプセル化される。幾つかの実装において、カプセル化は、GTP-Uのような、GPRSトンネル化プロトコルに従って実行される。例えば、カプセル化は、所与のユーザ機器デバイスの異なるネットワークフローを管理する方法を提供する。トンネル化プロトコルは、識別子(例えば、トンネル終点識別子(TEID))を所与のネットワークフローに関連するベアラに割り当て、アップリンクデータ(ユーザ機器デバイスからサービス290に流れるデータ)及びダウンリンクデータ(サービス290からユーザ機器デバイスに流れるデータ)のために別個の識別子を使用することができる。例えば、ユーザ機器220が特定のウェブサイトにアクセスしている特定のネットワークフローのために、特定のベアラを設定することができ、ここで、ベアラ詳細は、2つの識別子(例えば、2つのTEID)、すなわち、ネットワークフローのためのアップリンクトラフィックに関連する識別子及びダウンリンクトラフィックに関連する識別子を含む。
ロードバランサ250は、SPGW-U260間でデータプレーンネットワークパケットを分配する。ロードバランサ250は、IPヘッダ情報に基づいてネットワークトラフィックを方向付けるクラウドコンピューティング環境210の標準的なロードバランサ(例えば、パブリッククラウドサービスプロバイダによって提供される標準的なロードバランサ)である。ロードバランサ250は、標準的なロードバランサであるので、それはカプセル化されたパケット情報に基づいてネットワークパケットを方向付けない(例えば、それはGTP-Uプロトコルのようなカプセル化プロトコルで作動するように構成されている特殊目的のロードバランサではない)。1つの例示的なロードバランサ250が示されているが、多数のロードバランサ(例えば、複数のロードバランサネットワークデバイス)を使用することができる。
ロードバランサ250は、標準的なロードバランサであるので、それは、典型的には、外側IPヘッダ情報(例えば、送信元及び宛先IPアドレス及び/又はポート番号)に基づいて、所与のネットワークフローのためのネットワークパケットを同じSPGW-Uに向ける。しかしながら、ロードバランサ250はキャリアについて知らないので(例えば、それはカプセル化されたパケット又はカプセル化ヘッダを検査しないので)、SPGW-Uのうちのどれが所与のベアラのネットワークパケットを受信するかを決定する方法はない。1つの潜在的な解決策は、全てのベアラ詳細を全てのSPGW-Uに伝達することである。しかしながら、この潜在的な解決策は、非効率的である(例えば、ネットワーク帯域幅、処理リソース、及びストレージを含む、有意なコンピューティングリソースを使用する)。
本明細書に記載する技術を使用するならば、より効率的な解決策を提供することができる。例えば、キーバリューストア270をセルラネットワークのベアラについてのベアラ詳細のリポジトリとして使用することによって、SPGW-U260は、必要とされるときに、ベアラ詳細を得ることができる。例えば、SPGW-U260のうちの1つが、不明ベアラ(例えば、SPGW-Uのローカルキャッシュ内にないベアラ)に関連するデータプレーンネットワークパケットを受信するときに、SPGW-Uは、外部キーバリューストア270からベアラについてのベアラ詳細を取得し、それをそのローカルキャッシュに格納することができる。これは、全てのベアラ詳細がSPGW-U260の各々に格納される解決策に対する、コンピューティングリソース(例えば、ネットワーク帯域幅、処理リソース、及びストレージ)に関する改良をもたらす。
クラウドコンピューティング環境内でセルラネットワークコンポーネントを作動させることに伴う別の潜在的な問題がSPGW-U262のスケールアウト中に発生し得る。例えば、新しいSPGW-UがSPGW-U262に追加される(例えば、新しいSPGW-Uインスタンスが仮想マシン上でインスタンス化される)スケールアウトイベントの間に、ロードバランサ250は、SPGW-U262の数に比例して、新しいSPGW-Uにデータプレーンネットワークパケットを送信し始める(例えば、SPGW-U262間でデータプレーンネットワークフローを均等に分割する)。新しいSPGW-Uが未だ見ていないベアラについて、新しいSPGW-Uが大量のネットワークフローを受信し始めるならば、新しいSPGW-Uは過負荷になり得る(例えば、ネットワークパケットの遅延又は停止を引き起こし、それはネットワークサービスの遅延又は中断を招き得る)。1つの潜在的な解決策は、新しいベアラに直面するときに(例えば、所与のベアラに関連する第1のネットワークパケットを受信した後に)、各々の新しいベアラについて、新しいSPGW-Uに、キーバリューストア270からベアラ詳細を取得させることである。しかしながら、新しいSPGW-Uは、ネットワークトラフィックの突然の流入と、新しいSPGW-Uが動作を開始し、ロードバランサ250がネットワークパケットを方向付け始めるときに得られる必要がある、対応する新しいベアラ詳細とによって、依然として過負荷になり得る。
本明細書に記載する技術を使用するならば、スケールアウトイベントに伴うそのような問題を低減又は除去することができる。例えば、新しいSPGW-Uが作成された後に、新しいSPGW-Uがロードバランサ250からデータプレーンネットワークパケットを受信し始める前に、キーバリューストア270から新しいSPGW-Uのローカルキャッシュにベアラ詳細をコピーすることができる。幾つかの実装において、キーバリューストア270の全コピーは、新しいSPGW-Uのローカルキャッシュに保存される。キーバリューストア270のコピーが新しいSPGW-Uにひとたび格納されると、ロードバランサ250は、データプレーンネットワークパケットを新しいSPGW-Uに向け始める。新しいSPGW-Uのローカルキャッシュは、ベアラ詳細で占められているので、新しいSPGW-Uがロードバランサ250から受信するあらゆるデータプレーンネットワークパケットは、ローカルキャッシュ内に関連するベアラ詳細を有し、新しいSPGW-Uは、キーバリューストア270からベアラ詳細を取得することを必要とせずに、それらを効率的に処理することができる。これはネットワーク応答性(例えば、待ち時間の減少)及び信頼性(例えば、ユーザ機器へのネットワークサービス混乱の機会の減少)に関する節約をもたらす。
類似の問題は、SPGW-U262のスケールダウン中に発生し得る。例えば、残りのSPGW-U262は、操業中止にされたSPGW-Uによって以前にサービスが提供されていたネットワークフローの一部を受信することができる。しかしながら、この状況において、ロードバランサ250によって所与の残りのSPGW-Uに向けられている追加的なネットワークフローは、残りのSPGW-Uを過負荷にしてはならない。従って、残りのSPGW-Uは、必要とされるときに、追加的なネットワークフローのために、キーバリューストア270から新しいベアラ詳細を得ることができる。
クラウドコンピューティング環境内でセルラネットワークコンポーネントを作動させることに伴う別の潜在的な問題は、ベアラをSPGW-U間で移動させる必要があるときに及び/又はベアラ詳細を更新する必要があるときに発生し得る。例えば、進行中のネットワークフローを表すベアラが、スケールアウトイベントの間に、スケールダウンイベントの間に、或いは何らかの他の理由(例えば、ネットワーク混雑又は過負荷SPGW-U)のために移動されなければならないことがある。幾つかの解決策において、ベアラは特定のSPGW-Uに結び付けられ、ベアラを移動し得ない(例えば、SPGW-Uの故障は、SPGW-Uによってサービスが提供されている全てのベアラ及び関連するネットワークフローの故障を引き起こす)。本明細書に記載する技術では、ベアラ及び関連するネットワークフローをSPGW-U間で移動させることができる。例えば、ロードバランサ250がベアラのネットワークフローを別のSPGW-Uに向けるならば、異なるSPGW-Uは、ネットワークフローの第1のデータプレーンネットワークパケットを受信した後にキーバリューストア270からベアラ詳細を取得して、そのベアラにサービスを提供することができる。この解決策は、スケールアウトイベント中に、スケールダウンイベント中に、或いはネットワークフローを異なるSPGW-Uに移動させる何らかの他の理由の故に、実行されることができる。
ベアラが更新されなければならないときに類似の問題が発生し得る。例えば、ベアラは、アカウント状態の変化(例えば、帯域幅制限、アクセスされるサービスのタイプ、課金問題など)の故に、更新されなければならないことがある。幾つかの解決策において、ベアラは、ネットワークフロー中に更新されることができない(例えば、変更が行われる必要があるならば、新しいベアラが確立される必要があり、それは効率を低下させ、追加的なコンピューティングリソースを必要とする)。本明細書に記載する技術では、ベアラを更新することができる。ベアラを更新するために、キーバリューストア270は、どのSPGW-Uが各ベアラを所有するか(例えば、ベアラのためのデータプレーンネットワークパケットを処理するのに現在関与しているか)を示すベアラについての所有情報を格納することができる。例えば、SPGW-Uが(特定のベアラはSPGW-Uのローカルキャッシュ内にない及び/又は特定のベアラのためのパケットが以前に処理されていない)特定のベアラに関連する第1のデータプレーンネットワークパケットを受信するとき、SPGW-Uは、キーバリューストア270から特定のベアラについてのベアラ詳細を取得し、それ自体をキーバリューストア270内の特定のベアラの所有者として登録することができる(例えば、キーバリューストア270は、ベアラとSPGW-Uとの間の関連を有する別個のテーブルを保持することができる)。ベアラを更新する必要があるとき、MME240及び/又はSPGW-C262は、キーバリューストア270内のベアラ詳細を更新し、どのSPGW-Uがベアラの所有者であるかを決定し、SPGW-Uがキーバリューストア270から更新されたベアラ詳細を得ることができるようSPGW-Uに警告することができる。この解決策は、新しいネットワークフローを停止及び再確立することを必要とせずに、ベアラがネットワークフロー中に更新されることを可能にし、それは時間を節約し、コンピューティングリソースを節約し、ネットワークの中断を低減又は排除する。
例示的なクラウドコンピューティング環境210において、SPGW-U260は、データプレーントラフィックのためのサービスゲートウェイ及びパケットゲートウェイが組み合わせられて統合された又は共配置されたサービスゲートウェイ/パケットゲートウェイコンポーネントになった解決策として示されている。しかしながら、幾つかの実装において、サービスゲートウェイ及びパケットゲートウェイは、独立して作動する別個のコンポーネントである。例えば、個々のUEについて、SGW及びPGWが異なる場所にあることには様々な理由があり得る。1つの理由は、ドメインネームサービス(DNS:domain name service)選択である。UEが取り付けられるとき、発展型パケットコア(EPC:evolved packet core)は、DNSサーバを使用してSGW及びPGWを別々に選択することができる。選択アルゴリズムは、それぞれについて異なる基準を使用することができる。SGWは、場所に基づくことができる(基地局に最も近いSGWが通常選択される)のに対し、PGWは、(UEが接続する必要があるサービス及びネットワークのタイプを実質的には定義する)アクセスポイント名(APN:access point name)に基づくことができる。別の理由は、ローミングである。PGWがホームネットワーク内に配置され、SGWがビジテッドネットワーク内に配置される、シナリオがあることがある。これは、例えば、モバイル仮想ネットワークオペレータ(MVNO:mobile virtual network operations)に典型的である。
SGW及びPGWが別個である(例えば、異なるコンピューティングデバイス上で動作するような別々の場所にある)実装において、それらはS5/S8インタフェースを介して通信することができる。これには2つの好み、すなわち、GTPトンネルに基づくもの及びプロキシモバイルIPv6(PMIPv6)(RFC5213)に基づくものがある。
組み合わせSPGWを使用する実装では、必要とされるS5/S8インタフェースはない。SPGW-Uは、ダウンリンクにおいてIPからGTP TEIDにマッピングし、アップリンクにおいてTEIDからIPにマッピングする。しかしながら、SGW及びPGWが別個であり、S5/S8インタフェースを使用する実装では、以下のマッピングを使用することができる。
- PGW-u(GTP_based):ダウンリンク:IPからGTP TEID、アップリンク:GTP TEIDからIP
- SGW-u(GTP_based):ダウンリンク:GTP TEIDからGTP TEID、アップリンク:GTP TEIDからGTP TEID
- PGW-u(PMIPv6ベース):ダウンリンク:IPから汎用ルーティングカプセル化(GRE)トンネル、アップリンク:GREトンネルからIPトンネル
- SGW-u(PMIPv6ベース):ダウンリンク:GREトンネルからGTP TEID、アップリンク:GTP TEIDからGREトンネル
図3は、データプレーン(ユーザプレーン)ネットワークパケットフロー及びベアラ状態(例えば、所有権、追加、削除、及び更新)を示す例示的な状態マシン300である。例えば、例示的な状態マシン300は、仮想化されたパケットゲートウェイによって(例えば、仮想化されたパケットゲートウェイ160によって)及び/又はSPGWによって(例えば、SPGW-U260及び/又はSPGW-C262によって)実装されることができる。幾つかの実装では、あらゆるベアラについての状態マシンのインスタンスがある。
例示的な状態マシン300に関連して、起こり得る多くの可能なイベントがあり、以下を含む。
1.アップリンクパケット(uplink packet)がユーザプレーン上に到着する、すなわち、UEからのパケットがPDNに向かう。
2.ダウンリンクパケット(downlink packet)がユーザープレー上に到着する、すなわち、PDNからUEに到着する。
3.ベアラ更新パケット(bearer update packet)がコントロールプレーンに到着し、MME又はKVSからであることがある。
4.ベアラ不明パケット(bear unknown packet)がKVSからコントロールプレーン上に到着する。
5.ベアラ削除パケット(bear delete packet)がMMEからコントロールプレーン上に到着する。
6.所有者追加承認パケット(owner add acknowledgement packet)がKVSからコントロールプレーン上に到着する。
7.所有者削除承認パケット(owner delete acknowledgement packet)がKVSからコントロールプレーン上に到着しする。
例示的な状態マシン300に関連して使用される多数の変数があり、それらは以下のように定義される。
Am_owner。この変数は、我々(例えば、仮想化されたパケットゲートウェイ)が、我々がこのベアラの所有者であることをKVS所有者テーブルに伝えたかどうかを示す。以下の値が可能である。
Figure 2022506447000002
Read_route_pending。SPGWがKVSからのベアラ詳細を要求したかどうかのブール代数記録。それはベアラアップデートがKVSから読み出されるのを待つ間にSPGWがベアラ詳細を繰り返し要求することを防止するために使用される。
Figure 2022506447000003
Cashed_route_seq。我々がローカルキャッシュに現在格納しているベアラアップデートに存在するシーケンス番号を記録する整数。-1の値は、ローカルキャッシュが無効(invalid)であることを示す。
以下の状態は、例示的な状態マシン300である。
状態1:この状態は、ベアラが不明であり、ローカルキャッシュにはそれについてのエントリがないことを示す。
状態2、3、4及び5:これらは、全て、ユーザプレーンを処理するように正しく構成されるようになる間に通過させられる中間状態である。
状態6:ローカルキャッシュからベアラの知識を除去する間の中間状態。
状態7:ユーザプレーンデータを処理するように正しく構成される間に我々が留まる定常状態。
(クラウドコンピューティング環境内のセルラネットワークの作動方法)
本明細書中の例のいずれにおいても、クラウドコンピューティング環境内で仮想セルラネットワークを作動させる方法を提供することができる。例えば、仮想化されたパケットゲートウェイ(例えば、サービス及び/又はパケットゲートウェイ)は、クラウドコンピューティング環境内で動作する仮想マシン上で実装されることができ、セルラネットワークのためのデータプレーンネットワークパケットを処理することができる。
図4は、セルラネットワークのためのデータプレーンネットワークパケットを処理するためにクラウドコンピューティング環境において仮想化パケットゲートウェイを作動させる例示的な方法400のフローチャートである。例えば、例示的な方法400は、仮想化されたパケットゲートウェイ160のうちの1つによって或いはSPGW-U260のうちの1つによって実行されることができる。
410で、外部キーバリューストアの全コピーが受信される。外部キーバリューストアは、セルラネットワークの全ての現在のベアラ(例えば、クラウドコンピューティング環境内に実装されるセルラネットワークを使用する全ての現在のベアラ)についてのベアラ詳細を含む。ベアラ詳細は、セルラネットワークを使用するユーザ機器に関連するネットワークフローを定義する。例えば、外部キーバリューストアは、キーバリューストア170又はキーバリューストア270であり得る。420で、410で受信された外部キーバリューストアの全コピーがローカルキャッシュに保存される。
430で、データプレーンネットワークパケットがロードバランサから受信される。例えば、ロードバランサは、カプセル化されたパケット情報に基づかないで(例えば、トンネル識別子又はTEIDに基づかないで)、インターネットプロトコル(IP)ヘッダ情報に基づいて、ネットワークパケットを方向付けることができる。
440で、データプレーンネットワークパケットは、仮想化されたパケットゲートウェイによって処理される。処理は、ローカルキャッシュ内のデータプレーンネットワークパケットに関連するベアラを識別することを含む。例えば、仮想化されたパケットゲートウェイは、ネットワークフロー(及びそれらの関連するデータプレーンネットワークパケット)を識別し、(例えば、ネットワークビットレート、QoSパラメータなどを設定するために)それらをそれらの関連するベアラに従って管理するために、カプセル化されたネットワークパケットヘッダ情報(例えば、TEID)に基づいて、ローカルキャッシュからベアラ詳細を得ることができる。
幾つかの実装において、例示的な方法400は、仮想化されたパケットゲートウェイがクラウドコンピューティング環境内の仮想マシン上でインスタンス化されるスケールアウトイベント中に実行される。例えば、仮想化されたパケットゲートウェイがひとたび稼動し、そのローカルキャッシュ内にキーバリューストアの全コピーを保存すると、それはデータプレーンネットワークパケットを受信する準備ができていることをロードバランサに示す(例えば、ロードバランサに合図する或いはロードバランサからの通信に応答する)ことができる。相応して、ロードバランサは、仮想化されたパケットゲートウェイにネットワークトラフィックを方向付け始めることができる。
仮想化パケットゲートウェイが稼動し、(例えば、440で示すように)データプレーンネットワークパケットを処理した後に、仮想化されたパケットゲートウェイは、そのローカルキャッシュにない新しいベアラに関連する新しいデータプレーンネットワークパケットを受信することができる。これが起こるときに、仮想化されたパケットゲートウェイは、外部キーバリューストアから新しいベアラについてのベアラ詳細を取得し、ベアラ詳細をそのローカルキャッシュに格納し、新しいベアラについてのベアラ詳細に少なくとも部分的に基づいて新しいデータプレーンネットワークパケットを処理することができる。仮想化されたパケットゲートウェイは、外部キーバリューストア内に新しいベアラの所有者として自身を登録することもできる。
幾つかの実装において、仮想化されたパケットゲートウェイは、いつそれがそのローカルキャッシュ内の各ベアラについてのデータプレーンネットワークパケットを最後に処理したかを追跡する。例えば、仮想化されたパケットゲートウェイがベアラのためのパケットを処理するとき、それはベアラと関連してそのローカルキャッシュ内にタイミング情報(例えば、タイムスタンプ又は他のタイミング情報)を記録することができる。仮想化されたパケットゲートウェイは、記録されたタイミング情報を使用して、ベアラをそのローカルキャッシュからパージする(purge)ことができる。例示的な方法400は、仮想化されたパケットゲートウェイが外部キーバリューストアの全コピーを用いて効率的な方法において動作を開始することを可能にするが、キーバリューストア内のベアラの多くは、仮想化されたパケットゲートウェイによって使用されない(例えば、それらはロードバランサによって他の仮想化されたパケットゲートウェイに向けられる)。従って、データプレーンネットワークパケットがある時間期間に亘って仮想化されたパケットゲートウェイによって処理されないならば(例えば、パケットが閾値時間期間に亘って処理されないならば)、仮想化されたパケットゲートウェイは、それらをローカルキャッシュから除去することができ、それはローカルストレージリソースを節約することができる。
図5は、セルラネットワークのためのデータプレーンネットワークパケットを処理するためにクラウドコンピューティング環境において仮想化されたパケットゲートウェイを作動させる例示的な方法500のフローチャートである。例えば、例示的な方法500は、仮想化されたパケットゲートウェイ160の1つによって或いはSPGW-U260の1つによって実行されることができる。
510で、第1のベアラに関連する第1のデータプレーンネットワークパケットが仮想化されたパケットゲートウェイによって受信される。例えば、第1のデータプレーンネットワークパケットは、ネットワークフローの開始時にロードバランサから受信されることができる。
520で、第1のベアラが仮想化されたパケットゲートウェイのローカルキャッシュにないという決定に応答して、第1のベアラについてのベアラ詳細が外部キーバリューストアから取り出される(検索される)(retrieved)。第1のベアラについての取り出されたベアラ詳細は、仮想化されたパケットゲートウェイのローカルキャッシュ(例えば、ローカルキーバリューストア)内に格納される。例えば、外部キーバリューストアは、キーバリューストア170又はキーバリューストア270であり得る。
530で、第1のデータプレーンネットワークパケットは、少なくとも部分的にローカルに格納された(ローカルキャッシュに格納された)第1のベアラ詳細に基づいて処理される。
540で、第1のベアラが更新されたことを示す通信が受信される。例えば、通信は、MMEから或いはセルラネットワークの別のコンポーネントから(例えば、コントロールプレーンを管理する仮想化されたパケットゲートウェイから)受信されることができる。通信は、ネットワーク制御メッセージであり得る。
550で、第1のベアラが更新されたことを示す通信に応答して、第1のベアラについての更新されたベアラ詳細が外部キーバリューストアから取り出され、ローカルキャッシュ内に格納される。例えば、第1のベアラは、(例えば、ユーザがそれらの月次制限を超えることに基づいて)異なるダウンロードビットレートを反映するように更新されることができる。
560で、第1のベアラに関連する第2のデータプレーンネットワークパケットが仮想化されたパケットゲートウェイによって受信される。第2のデータプレーンネットワークパケットは、第1のデータプレーンネットワークパケットと同じネットワークフローの一部としてロードバランサから受信される後続のネットワークパケットである。
570で、第2のデータプレーンネットワークパケットは、少なくとも部分的に第1のベアラについてのローカルに格納された更新されたベアラ詳細に基づいて処理される。
幾つかの実装では、データプレーンネットワークパケットを処理するために、以下のコンポーネントのうちの1つ以上をクラウドコンピューティング環境内に実装することができる。コンポーネントは、以下の操作及び/又は他の操作のうちの1つ以上を実行することができる。例えば、仮想化されたパケットゲートウェイは、コンピュータ実行可能な命令を介して、外部キーバリューストアから取得される、ベアラについてのベアラ詳細を、ローカルキーバリューストアに格納し、外部キーバリューストア内に仮想化されたパケットゲートウェイによってサービスを提供されるベアラの所有権を登録し、ローカルキーバリューストアに格納されるベアラ詳細に少なくとも部分的に基づいてネットワークパケットを処理する、ように構成されることができる。モバイル管理エンティティは、コンピュータ実行可能な命令を介して、外部キーバリューストア内でベアラを設定し、外部キーバリューストア内でベアラについてのベアラ詳細を更新し、更新されたベアラ詳細を仮想化されたパケットゲートウェイに通知する、ように構成されることができる。外部キーバリューストアは、コンピュータ実行可能な命令を介して、セルラネットワークの現在のベアラについてのベアラ詳細を格納し、仮想化されたパケットゲートウェイとベアラとの間の所有関係を示す所有権情報を格納する、ように構成されることができる。
(例示的なベアラ設定)
このセクションは、本明細書に記載する技術を使用するLTEセルラネットワークの特定の実装において、ベアラがどのように設定されるかを例示している。相違を例示するために、ベアラセットアップシーケンスは、従来的なLTEシステムについて先ず記載され、次に、本明細書に記載する技術に関して記載される。
以下のシーケンスは、(クラウドコンピューティング環境を使用しない)従来的なベアラ設定及び第1のユーザプレーンデータトラフィックの処理を例示している。
- UE/eNodeBは、MMEベアラ設定要求(コントロールプレーンメッセージ)を送信する。
- MMEは、ベアラ設定要求をSPGWに送信する。
- SPGWは、設定要求からのベアラ詳細を格納する。
- SPGWは、MMEに応答して、ベアラ設定完了を告げる。
- 次に、アップリンクデータが最初であるならば、
- SPGWは、eNodeBからユーザプレーンパケットを受信する。
- SPGWは、ユーザプレーンパケットを非カプセル化し、ターゲットパブリックデータネットワーク(PDN)に転送する。
- SPGWは、PDNからユーザプレーンパケットを受信する。
- SPGWは、宛先IPアドレスを検索し、それが上記で格納されたベアラ詳細からのUE IPアドレスと一致することを見出す。パケットがベアラ詳細からのトラフィックフローテンプレート(TFT)と一致するならば、ベアラ詳細からのeNodeB TEIDを使してパケットをカプセル化する。
- SPGWは、カプセル化されたパケットをeNodeBに転送する。
- 或いは、ダウンリンクデータが最初であるならば、
- SPGWは、ターゲットPDNからユーザプレーンパケットを受信する。
- SPGWは、宛先IPアドレスを検索し、アップリンクの場合と同様に一致を見出して進む。
仮想化されたパケットゲートウェイ(例えば、SPGW-C及び/又はSPGW-U)が(共有キーバリューストアとも呼ばれる)外部キーバリューストアを使用してクラウドコンピューティング環境内で実装される本明細書に記載する技術を使用するならば、シーケンスは以下の通りである。
- eNodeBは、MMEベアラ設定要求(コントロールプレーンメッセージ)を送信する。
- MMEは、ベアラ設定要求をSPGW-Cロードバランサに送信する。
- ロードバランサは、例えば、要求をSPGW-C1に転送する(インスタンス1)。
- SPGW-C1は、UE IPアドレス、TEID(SPGW及びeNodeBの両方の値)並びにeNodeBのIPを共有キーバリューストアに格納する。
- SPGW-C1は、MMEに応答し、ベアラ設定完了を告げる。
- eNodeBは、SPGW-Uロードバランサにユーザプレーンパケットを送信する。
- ロードバランサは、例えば、ユーザプレーンパケットをSPGW-U2に転送する(インスタンス2)。
- 次に、アップリンクデータが最初であれば、
- SPGW-U2は、eNodeBからユーザプレーンパケットを受信する。
- SPGW-U2は、共有キーバリューストア内のパケットからTEIDを検索する。応答して、eNodeBのTEIDを取得する。
- SPGW-U2は、共有キーバリューストアに、そのIPアドレスを、このネットワークフローの「キャッシュ所有者(cash owner)」として書き込む。
- SPGW-U2は、UE IPアドレス、TEID(SPGW及びeNodeBの両方の値)並びにeNodeBのIPをローカルキャッシュに書き込む。
- SPGW-U2は、ユーザプレーンパケットを非カプセル化し、ターゲットPDNに転送する。
- SPGW-U2は、PDNからユーザプレーンパケットを受信する。
- SPGW-U2は、そのローカルキャッシュ内で宛先IPアドレスを探し、それが上記で格納されたベアラ詳細からのUE IPアドレスと一致することを見出す。パケットがベアラ詳細からのTFTと一致するならば、ベアラ詳細からのeNodeB TEIDを使用してパケットをカプセル化する。
- SPGW-U2は、カプセル化されたパケットをeNodeBに転送する。
- 或いは、ダウンリンクデータが最初であるならば、
- SPGW-Uロードバランサは、ターゲットPDNからユーザプレーンパケットを受信する。
- ロードバランサは、SPGW-U2に転送する。
- SPGW-U2は、そのローカルキャッシュ内でベアラ詳細を探す。一致を見出さない。
- SPGW-U2は、共有キーバリューストア内でUE IPアドレスを検索する。応答して、ベアラ詳細を取得する。ローカルキャッシュに書き込む。
- SPGW-U2は、共有キーバリューストアに、そのIPアドレスを、このフローの「キャッシュ所有者」として書き込む。
- SPGW-U2は、カプセル化されたパケットをeNodeBに転送する。
- SPGW-U2は、eNodeBからユーザプレーンパケットを受信し、非カプセル化し、ターゲットPDNに転送する。
(コンピューティングシステム)
図6は、記載する技術が実装されることがある適切なコンピューティングシステム600の一般化された例を示している。コンピューティングシステム600は、使用範囲又は機能性に関する何らの制限も示唆することを意図していない。何故ならば、技術は、多様な汎用又は特殊目的のコンピューティングシステムに実装されることがあるからである。
図6を参照すると、コンピューティングシステム600は、1つ以上の処理ユニット610、615と、メモリ620、625とを含む。図6において、この基本構成630は、破線内に含まれている。処理ユニット610、615は、コンピュータ実行可能な命令を実行する。処理ユニットは、汎用中央処理装置(CPU)、特定用途向け集積回路内のプロセッサ、又は任意の他のタイプのプロセッサであることができる。処理ユニットは、複数のプロセッサを含むこともできる。マルチ処理システムでは、複数の処理装置が、コンピュータ実行可能な命令を実行して、処理能力を増加させる。例えば、図6は、中央処理装置610並びにグラフィックス処理装置又は共同処理装置615を示している。有形メモリ620、625は、(複数の)処理装置によってアクセス可能な揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリなど)、又はこれら2つの組み合わせであってよい。メモリ620、625は、(複数の)処理装置による実行に適したコンピュータ実行可能命令の形態において、本明細書に記載する1つ以上の技術を実装するソフトウェア680を格納する。
コンピューティングシステムは、追加的な構成を有してよい。例えば、コンピューティングシステム600は、ストレージ640(記憶装置)、1つ以上の入力デバイス50、1つ以上の出力デバイス660、及び1つ以上の通信接続670を含む。バス、コントローラ、又はネットワークのような、相互接続機構(図示せず)が、コンピューティングシステム600のコンポーネント(構成要素)を相互接続する。典型的には、オペレーティングシステムソフトウェア(図示せず)は、コンピューティングシステム600内で実行する他のソフトウェアのための動作環境を提供し、コンピューティングシステム600のコンポーネントの活動を調整する。
有形ストレージ640は、取り外し可能であってよく、或いは取り外し不能であってよく、磁気ディスク、磁気テープ又はカセット、CD-ROM、DVD、又は情報を格納するために使用することができ且つコンピューティングシステム600内でアクセスすることができる任意の他の媒体を含む。ストレージ640は、本明細書に記載する1つ以上の技術を実装するソフトウェア680のための命令を格納する。
(複数の)入力デバイス650は、キーボード、マウス、ペン、又はトラックボールのようなタッチ入力デバイス、音声入力デバイス、走査デバイス、又はコンピューティングシステム600に入力を提供する別のデバイスであってよい。ビデオ符号化のために、(複数の)入力デバイス650は、カメラ、ビデオカード、TVチューナーカード、又はアナログもしくはデジタル形式でビデオ入力を受け入れる類似のデバイス、又はビデオサンプルをコンピューティングシステム600に読み込むCD-ROM又はCD-RWであってよい。(複数の)出力デバイス660は、ディスプレイ、プリンタ、スピーカ、CDライタ、又はコンピューティングシステム600からの出力を提供する別のデバイスであってよい。
(複数の)通信接続670は、通信媒体を通じた別のコンピューティングエンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能な命令、オーディオ又はビデオ入力又は出力、又は変調されたデータ信号中の他のデータのような情報を搬送する。変調されたデータ信号は、信号内の情報を符号化するような方法で、その特性の1つ以上を設定又は変更した信号である。限定としてではなく例として、通信媒体は、電気的、光学的、RF、又は他のキャリア(carrier)を使用することができる。
これらの技術は、ターゲットの現実プロセッサ又は仮想プロセッサ上のコンピューティングシステムで実行される、プログラムモジュールに含まれるコンピュータ実行可能な命令のような、コンピュータ実行可能な命令の一般的なコンテキストで記述されることができる。一般に、プログラムモジュールは、特定のタスクを実行する或いは特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などを含む。プログラムモジュールの機能性は、様々な実施形態で望まれるように、プログラムモジュール間で組み合わせられてよく、或いは分割されてよい。プログラムモジュールのためのコンピュータ実行可能な命令は、ローカル又は分散コンピューティングシステム内で実行されてよい。
「システム(system)」及び「デバイス(device)」という用語は、本明細書において互換的に使用される。文脈が他のことを明確に示していない限り、いずれの用語も、あるタイプのコンピューティングシステム又はコンピューティングデバイスに対する如何なる制限も意味しない。一般的に、コンピューティングシステム又はコンピューティングデバイスは、ローカルであることができ、或いは分散されることができ、特殊目的ハードウェア及び/又は汎用ハードウェアと本明細書に記載する機能性を実装するソフトウェアとの任意の組み合わせを含むことができる。
提示のために、詳細な記述は、コンピューティングシステムにおけるコンピュータ演算を記述するために「決定する(determine)」及び「使用する(use)」のような用語を使用する。これらの用語は、コンピュータによって実行される演算のための高レベル抽象化であり、人間によって実行される行為と混同されるべきではない。これらの用語に対応する実際のコンピュータ演算は、実装に依存して異なる。
(モバイルデバイス)
図7は、702で概ね示す、様々な任意的なハードウェア及びソフトウェアコンポーネントを含む例示的なモバイルデバイス700を示す、システム図である。図示の容易さのために、全ての接続が示されているわけではないが、モバイルデバイス内の任意のコンポーネント702は、任意の他のコンポーネントと通信することができる。モバイルデバイスは、様々なコンピューティングデバイス(例えば、携帯電話、スマートフォン、ハンドヘルドコンピュータ、携帯情報端末(PDA)など)のいずれかであることができ、セルラ、衛星、又は他のネットワークのような、1つ以上のモバイル通信ネットワーク704とのワイヤレス双方向通信を可能にすることができる。
例えば、例示的なモバイルデバイス700は、セルラネットワーク(例えば、モバイル通信ネットワーク704)を使用するユーザ機器(例えば、ユーザ機器120、122、220、又は222)であることができる。例示的なモバイルデバイス700は、ワイヤレスモデム760を介してセルラネットワークと通信することができる。
図示のモバイルデバイス700は、信号コード化、データ処理、入出力処理、電力制御、及び/又は他の機能のようなタスクを実行するためのコントローラ又はプロセッサ710(例えば、信号プロセッサ、マイクロプロセッサ、ASIC、又は他の制御及び処理論理回路構成)を含むことができる。オペレーティングシステム712は、コンポーネント702の割当て及び使用を制御し、1つ以上のアプリケーションプログラム714をサポートすることができる。アプリケーションプログラムは、一般的なモバイルコンピューティングアプリケーション(例えば、電子メールアプリケーション、カレンダ、連絡先マネージャ、ウェブブラウザ、メッセージングアプリケーション)、又は任意の他のコンピューティングアプリケーションを含むことができる。アプリケーションストアにアクセスするための機能性713は、アプリケーションプログラム714の取得及び更新にも使用されることができる。
図示のモバイルデバイス700は、メモリ720を含むことができる。メモリ720は、取り外し不能なメモリ722及び/又は取り外し可能なメモリ724を含むことができる。取り外し不能なメモリ722は、RAM、ROM、フラッシュメモリ、ハードディスク、又は他の周知のメモリ格納技術を含むことができる。取り外し可能なメモリ724は、フラッシュメモリ又はGSM通信システムにおいて周知である加入者識別モジュール(SIM)カード、又は「スマートカード(smart cards)」のような他の周知のメモリ格納技術を含むことができる。メモリ720は、オペレーティングシステム712及びアプリケーション714を作動させるためのデータ及び/又はコードを格納するために使用されることができる。例示的なデータは、ウェブページ、テキスト、画像、音声ファイル、ビデオデータ、又は1つ以上の有線もしくは無線ネットワークを介して1つ以上のネットワークサーバ又は他のデバイスに送受信されるべき他のデータセットを含むことができる。メモリ720は、国際モバイル加入者識別子(IMSI)のような加入者識別子及び国際モバイル機器識別子(IMEI)のような機器識別子を格納するために使用されることができる。そのような識別子は、ユーザ及び機器を識別するためにネットワークサーバに送信されることができる。
モバイルデバイス700は、タッチスクリーン732、マイクロフォン734、カメラ736、物理的キーボード738及び/又はトラックボール740のような1つ以上の入力デバイス730と、スピーカ752及びディスプレイ754のような1つ以上の出力デバイス750とをサポートすることができる。他の可能な出力デバイス(図示せず)は、圧電又は他の触覚出力デバイスを含むことができる。幾つかのデバイスは、1つよりも多くの入出力機能に資することができる。例えば、タッチスクリーン732及びディスプレイ754を組み合わせて単一の入出力デバイスにすることができる。
入力デバイス730は、ナチュラルユーザインタフェース(NUI:Natural User Interface)を含むことができる。NUIは、ユーザが、マウス、キーボード、リモートコントロール、及び同等物のような入力デバイスによって課される人為的な制約から自由な「自然な(natural)」方法でデバイスと対話(相互作用)することを可能にする、任意のインタフェース技術である。NUI方法の例は、発話認識、タッチ及びスタイラス認識、スクリーン及びスクリーン近傍の両方でのジェスチャ認識、空気ジェスチャ、頭部及び眼トラッキング、音声及び発話、視覚、タッチ、ジェスチャ、及び機械インテリジェンスに依存するものを含む。NUIの他の例は、加速度計/ジャイロスコープ、顔認識、3Dディスプレイ、頭部、眼、及び注視トラッキング、浸漬拡張現実及び仮想現実システムを用いた動作ジェスチャ検出を含み、それらの全ては、より自然なインタフェース並びに電界感知電極(EEG及び関連する方法)を使用して脳活動を感知する技術を提供する。よって、1つの特定の例において、オペレーティングシステム712又はアプリケーション714は、ユーザが音声コマンドを介してデバイス700を操作することを可能にする音声ユーザインタフェースの一部としての発話認識ソフトウェアを含むことができる。更に、デバイス700は、ゲームアプリケーションに入力を提供するジェスチャを検出及び解釈することのような、ユーザの空間ジェスチャを介したユーザ対話を可能にする、入力デバイス及びソフトウェアを含むことができる。
無線モデム760は、アンテナ(図示せず)に連結されることができ、当該技術分野においてよく理解されるように、プロセッサ710と外部装置との間の双方向通信をサポートすることができる。モデム760は、一般的に示されており、モバイル通信ネットワーク704と通信するためのセルラモデム及び/又は他の無線ベースのモデム(例えば、Bluetooth(登録商標)764又はWi-Fi762)含むことができる。無線モデム760は、典型的には、単一のセルラネットワーク内の、セルラネットワーク間の、又はモバイルデバイスと公衆交換電話ネットワーク(FSTN)との間のデータ及び音声通信のためのGSMネットワークのような、1つ以上のセルラネットワークと通信するように構成される。
モバイルデバイスは、更に、少なくとも1つの入出力ポート780、電源782、全地球測位システム(GPS)受信機のような衛星ナビゲーションシステム受信機784、加速度計786、及び/又はUSBポート、IEEE1394(FireWire)ポート、及び/又はRS-232ポートであり得る物理的コネクタ790を含むことができる。図示のコンポーネント702は、必須ではなく、又は全てを含むものではない。何故ならば、任意のコンポーネントを削除することができ、他のコンポーネントを追加することができるからである。
(クラウドサポート環境)
図8は、記載する実施形態、技法、及び技術が実装されることがある適切なクラウドサポート環境800の一般化された例を図示している。例示的な環境800では、様々なタイプのサービス(例えば、コンピューティングサービス)がクラウド810によって提供される。例えば、クラウド810は、インターネットのようなネットワークを介して接続された様々なタイプのユーザ及びデバイスにクラウドベースのサービスを提供する、中央配置されてよい或いは分散されてよいコンピューティングデバイスの集積を含むことができる。実装環境800は、コンピューティングタスクを達成するために異なる方法で使用されることができる。例えば、幾つかのタスク(例えば、ユーザ入力を処理すること及びユーザインタフェースを提示すること)は、ローカルコンピューティングデバイス(例えば、接続されたデバイス830、840、850)上で実行されることができる一方で、他のタスク(例えば、後続の処理で使用されるべきデータの格納)は、クラウド810内で実行されることができる。
例示的な環境800において、クラウド810は、様々なスクリーン能力を有する接続されたデバイス830、840、850のためのサービスを提供する。接続されたデバイス830は、コンピュータスクリーン835(例えば、中型スクリーン)を有するデバイスを表している。例えば、接続されたデバイス830は、デスクトップコンピュータ、ラップトップ、ノートブック、ネットブック、又は同等物のような、パーソナルコンピュータであり得る。接続されたデバイス840は、モバイルデバイススクリーン845(例えば、小型スクリーン)を有するデバイスを表している。例えば、接続されたデバイス840は、携帯電話、スマートフォン、携帯情報端末、タブレットコンピュータ、及び同等物であり得る。接続されたデバイス850は、大型スクリーン855を有するデバイスを表している。例えば、接続されたデバイス850は、テレビスクリーン(例えば、スマートテレビ)又はテレビに接続された別のデバイス(例えば、セットトップボックス又はゲームコンソール)又は同等物であり得る。接続されたデバイス830、840、850のうちの1つ以上は、タッチスクリーン能力を含み得る。タッチスクリーンは、様々な方法で入力を受け入れることができる。例えば、容量性タッチスクリーンは、物体(例えば、指先又はスタイラス)が表面を横断して走る電流を歪める或いは遮断するときに、タッチ入力を検出する。別の例として、タッチスクリーンは、光センサからのビームが遮断されるときに、光センサを使用してタッチ入力を検出することができる。入力が幾つかのタッチスクリーンによって検出されるために、スクリーンの表面との物理的接触は必要でない。スクリーン機能を持たないデバイスが例示的な環境800で使用されることもできる。例えば、クラウド810は、ディスプレイのない1つ以上のコンピュータ(例えば、サーバコンピュータ)のためにサービスを提供することができる。
サービスは、サービスプロバイダ820を通じて或いはオンラインサービスの他のプロバイダ(図示せず)を通じてクラウド810によって提供されることができる。例えば、クラウドサービスは、特定の接続されたデバイス(例えば、接続されたデバイス830、840、850)のスクリーンサイズ、ディスプレイ能力、及び/又はタッチスクリーン能力に合わせてカスタマイズされることができる。
例示的な環境800において、クラウド810は、少なくとも部分的にサービスプロバイダ820を使用して、本明細書に記載する技術及び解決策を様々な接続されたデバイス830、840、850に提供する。例えば、サービスプロバイダ820は、様々なクラウドベースのサービスのための集中化された解決策を提供することができる。サービスプロバイダ820は、ユーザ及び/又はデバイスのための(例えば、接続された装置830、840、850及び/又はそれらのそれぞれのユーザのための)サービス加入を管理することができる。
(例示的な実装)
開示する方法の一部の方法の動作が便利な提示のために特定の順次式の順序で記載されるが、特定の順序が以下に記載する特定の言語によって要求されない限り、この記述の方法は再配列(rearrangement)を包含することが理解されるべきである。例えば、順次式に記載される動作は、幾つかの場合には、再配列されてよく、或いは同時に実行されてよい。更に、簡略化のために、添付の図面は、開示の方法を他の方法と組み合わせて使用することができる様々な方法を示さないことがある。
開示の方法のいずれも、1つ以上のコンピュータ可読記憶媒体に格納され且つコンピューティングデバイス(すなわち、コンピューティングハードウェアを含むスマートフォン又は他のモバイルデバイスを含む任意の利用可能なコンピューティングデバイス)上で実行されるコンピュータ実行可能な命令又はコンピュータプログラム製品として実装されることができる。コンピュータ可読記憶媒体は、コンピュータ環境内でアクセスsだれることができる有形媒体(DVD又はCDのような1つ以上の光媒体ディスク、(DRAM又はSRAMのような)揮発性メモリ、又は(フラッシュメモリ又はハードドライブのような)不揮発性メモリ)である。一例として、図6を参照すると、コンピュータ可読記憶媒体は、メモリ620及び625並びにストレージ640を含む。一例として、図7を参照すると、コンピュータ可読記憶媒体は、メモリ並びにストレージ720、722、及び724を含む。コンピュータ可読記憶媒体(computer-readable storage media)という用語は、信号及び搬送波を含まない。加えて、コンピュータ可読記憶媒体という用語は、670、760、762、及び764のような、通信接続を含まない。
開示の技術を実施するためのコンピュータ実行可能な命令のいずれか並びに開示の実施形態の実施中に生成され且つ使用されるデータは、1つ以上のコンピュータ可読記憶媒体に格納されることができる。コンピュータ実行可能な命令は、例えば、専用ソフトウェアアプリケーション又はウェブブラウザもしくは他のソフトウェアアプリケーション(例えば、遠隔コンピューティングアプリケーション)を介してアクセス又はダウンロードされるソフトウェアアプリケーションの一部であり得る。そのようなソフトウェアは、例えば、1つ以上のネットワークコンピュータを使用して、単一のローカルコンピュータ(例えば、任意の適切な商業的に入手可能なコンピュータ)又は(例えば、インターネット、ワイドエリアネットワーク、ローカルエリアネットワーク、(クラウドコンピューティングネットワークのような)クライアントサーバネットワーク、又は他のそのようなネットワークを介した)ネットワーク環境で実行されることができる。
明確性のために、ソフトウェアベースの実装の特定の選択的な態様のみが記載される。当該技術分野においてよく知られている他の詳細は省略される。例えば、開示の技術は、如何なる特定のコンピュータ言語又はプログラムにも限定されないことが理解されるべきである。例えば、開示の技術は、C++、Java、Perl、又は任意の他の適切なプログラミング言語で記述されたソフトウェアによって実装されることができる。同様に、開示の技術は、如何なる特定のコンピュータ又はハードウェアのタイプにも限定されない。適切なコンピュータ及びハードウェアの特定の詳細はよく知られており、この開示において詳細に記載される必要はない。
更に、(例えば、開示の方法のいずれかをコンピュータに実行させるためのコンピュータ実行可能な命令を含む)ソフトウェアベースの実施形態のいずれも、適切な通信手段を通じてアップロード、ダウンロード、又は遠隔アクセスすることができる。そのような適切な通信手段は、例えば、インターネット、ワールドワイドウェブ、イントラネット、ソフトウェアアプリケーション、(光ファイバケーブルを含む)ケーブル、磁気通信、(RF、マイクロ波及び赤外線通信を含む)電磁通信、電子通信、又は他のそのような通信手段を含む。
開示の方法、装置、及びシステムは、如何様にも限定的に解釈されてならない。代わりに、本開示は、単独で及び互いとの様々な組み合わせ及びサブコンビネーションにおいて、様々な開示の実施形態の全ての新規且つ非自明な構成及び態様に向けられている。開示の方法、装置、及びシステムは、任意の特定の態様又は構成又はそれらの組み合わせに限定されるものではなく、開示の実施形態は、任意の1つ以上の特定の利点が存在すること或いは問題が解決されることを要求するものでもない。
任意の例からの技術を他の例の任意の1つ以上の例に記載の技術と組み合わせることができる。開示の技術の原理が適用されることがある多くの可能な実施形態を考慮すると、図示の実施形態は開示の技術の例であると認識されるべきであり、開示の技術の範囲に対する限定として理解されるべきでない。

Claims (15)

  1. プロセッサと、
    メモリとを含む、
    1つ以上のコンピューティングデバイスであって、
    当該1つ以上のコンピューティングデバイスは、コンピュータ実行可能な命令を介して、クラウドコンピューティング環境において仮想化されたパケットゲートウェイを作動させるための動作を実行して、セルラネットワークのためのデータプレーンネットワークパケットを処理するように構成され、前記動作は、
    外部キーバリューストアの全コピーを受信することであって、外部キーバリューストアは、前記セルラネットワークの全ての現在のベアラについてのベアラ詳細を含み、該ベアラ詳細は、前記セルラネットワークを使用するユーザ機器に関連するネットワークフローを画定する、外部キーバリューストアの全コピーを受信することと、
    前記外部キーバリューストアの前記全コピーをローカルキャッシュ内に保存することと、
    ロードバランサからデータプレーンネットワークパケットを受信することと、
    前記仮想化されたパケットゲートウェイによって、前記データプレーンネットワークパケットを処理することであって、前記ローカルキャッシュ内で前記データプレーンネットワークパケットに関連するベアラを同定することを含む、前記データプレーンネットワークパケットを処理することとを含む、
    1つ以上のコンピューティングデバイス。
  2. 前記動作は、前記仮想化されたパケットゲートウェイが前記クラウドコンピューティング環境内でインスタンス化されるスケールアウトイベントの間に実行される、請求項1に記載の1つ以上のコンピューティングデバイス。
  3. 前記仮想化されたパケットゲートウェイは、前記クラウドコンピューティング環境内で稼動している仮想マシン上で作動するデータプレーンネットワークパケットのためのサービスゲートウェイ/パケットゲートウェイ(SPGW-U)である、請求項1に記載の1つ以上のコンピューティングデバイス。
  4. 前記SPGW-Uは、テレコムプロバイダのためのロングタームエボリューション(LTE)セルラネットワークの一部として作動する、請求項3に記載の1つ以上のコンピューティングデバイス。
  5. 前記動作は、更に、
    前記ロードバランサから、前記ローカルキャッシュ内に存在しない新しいベアラに関連する新しいデータプレーンネットワークパケットを受信することと、
    該新しいデータプレーンネットワークパケットを受信することに応答して、
    前記外部キーバリューストアから前記新しいベアラについてのベアラ詳細を取得することと、
    前記新しいベアラについての前記ベアラ詳細を前記ローカルキャッシュ内に格納することと、
    少なくとも部分的に前記新しいベアラについての前記ベアラ詳細に基づいて前記新しいデータプレーンネットワークパケットを処理することとを含む、
    請求項1に記載の1つ以上のコンピューティングデバイス。
  6. 前記動作は、更に、
    前記新しいデータプレーンネットワークパケットを受信することに応答して、
    前記仮想化されたパケットゲートウェイを前記外部キーバリューストア内に前記新しいベアラの所有者として登録することを含む、
    請求項5に記載の1つ以上のコンピューティングデバイス。
  7. 前記ロードバランサは、インターネットプロトコル(IP)ヘッダ及びユーザデータグラムプロトコル(UDP)又は転送制御プロトコル(TCP)ポート番号に基づいて、カプセル化されたパケット情報に基づかないで、ネットワークパケットを方向付ける、請求項1に記載の1つ以上のコンピューティングデバイス。
  8. 前記動作は、更に、
    前記ローカルキャッシュ内の1つ以上のベアラの各々について、
    前記ローカルキャッシュ内の前記ベアラを、データプレーンネットワークパケットが前記ベアラのために最後に処理されたときの表示でマーキングすることを含む、
    請求項1に記載の1つ以上のコンピューティングデバイス。
  9. 前記動作は、更に、
    データプレーンネットワークパケットが最後に処理されたときの前記表示に基づいて前記ローカルキャッシュからベアラをパージすることを含む、
    請求項8に記載の1つ以上のコンピューティングデバイス。
  10. クラウドコンピューティング環境において仮想化されたパケットゲートウェイを作動させてセルラネットワークのためのデータプレーンネットワークパケットを処理するためにコンピューティングデバイスによって実装される方法であって、
    前記仮想化されたパケットゲートウェイが前記クラウドコンピューティング環境内でインスタンス化されるスケールアウトイベントの間に、前記仮想化されたパケットゲートウェイによって、
    外部キーバリューストアの全コピーを受信することであって、外部キーバリューストアは、前記セルラネットワークの全ての現在のベアラについてのベアラ詳細を含み、該ベアラ詳細は、前記セルラネットワークを使用するユーザ機器に関連するネットワークフローを画定する、外部キーバリューストアの全コピーを受信することと、
    前記外部キーバリューストアの前記全コピーをローカルキャッシュ内に保存することと、
    ロードバランサからデータプレーンネットワークパケットを受信することと、
    前記仮想化されたパケットゲートウェイによって、前記データプレーンネットワークパケットを処理することであって、前記ローカルキャッシュ内の前記データプレーンネットワークパケットに関連するベアラを同定することを含む、前記データプレーンネットワークパケットを処理することとを含む、
    方法。
  11. 前記ロードバランサから、前記ローカルキャッシュ内に存在しない新しいベアラに関連する新しいデータプレーンネットワークパケットを受信することと、
    該新しいデータプレーンネットワークパケットを受信することに応答して、
    前記外部キーバリューストアから前記新しいベアラについてのベアラ詳細を取得することと、
    前記新しいベアラについての前記ベアラ詳細を前記ローカルキャッシュ内に格納することと、
    少なくとも部分的に前記新しいベアラについての前記ベアラ詳細に基づいて前記新しいデータプレーンネットワークパケットを処理することとを更に含む、
    請求項10に記載の方法。
  12. 前記新しいデータプレーンネットワークパケットを受信することに応答して、
    前記仮想化されたパケットゲートウェイを前記外部キーバリューストア内に前記新しいベアラの所有者として登録することを更に含む、
    請求項11に記載の方法。
  13. 前記仮想化されたパケットゲートウェイは、前記クラウドコンピューティング環境内で稼動している仮想マシン上で作動するデータプレーンネットワークパケットのためのサービスゲートウェイ/パケットゲートウェイ(SPGW-U)であり、前記ロードバランサは、インターネットプロトコル(IP)ヘッダ情報に基づいて、カプセル化されたパケット情報に基づかないで、ネットワークパケットを方向付ける、請求項10に記載の方法。
  14. クラウドコンピューティング環境において仮想化されたパケットゲートウェイを作動させてセルラネットワークのためのデータプレーンネットワークパケットを処理するためにコンピューティングデバイスによって実装される方法であって、
    前記仮想化されたパケットゲートウェイによって、
    第1のベアラに関連する第1のデータプレーンネットワークパケットを受信することと、
    前記第1のベアラがローカルキャッシュ内に存在しないことを決定した後に、外部キーバリューストアから前記第1のベアラについてのベアラ詳細を取り出して、前記第1のベアラについての前記取り出したベアラ詳細を前記ローカルキャッシュ内に格納することと、
    少なくとも部分的に前記ローカルキャッシュ内に格納される前記第1のベアラについての前記ベアラ詳細に基づいて前記第1のデータプレーンネットワークパケットを処理することと、
    前記第1のベアラが更新されたことを示すネットワーク通信を受信することと、
    前記ネットワーク通信を受信することに応答して、前記外部キーバリューストアから前記第1のベアラについての更新されたベアラ詳細を取り出して、該取り出した更新されたベアラ詳細を前記ローカルキャッシュ内に格納することと、
    前記第1のベアラに関連する第2のデータプレーンネットワークパケットを受信することと、
    少なくとも部分的に前記ローカルキャッシュ内に格納された前記第1のベアラについての前記更新されたベアラ詳細に基づいて前記第2のデータプレーンネットワークパケットを処理することとを含む、
    方法。
  15. 前記仮想化されたパケットゲートウェイを前記外部キーバリューストアにおいて前記第1のベアラについての所有者として登録することを更に含む、請求項14に記載の方法。
JP2021523836A 2018-11-05 2019-10-29 クラウドインフラストラクチャ上のコアセルラネットワーキングスタックの実装 Active JP7512274B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/180,908 2018-11-05
US16/180,908 US10624148B1 (en) 2018-11-05 2018-11-05 Implementation of core cellular networking stack on cloud infrastructure
PCT/US2019/058422 WO2020096802A1 (en) 2018-11-05 2019-10-29 Implementation of core cellular networking stack on cloud infrastructure

Publications (2)

Publication Number Publication Date
JP2022506447A true JP2022506447A (ja) 2022-01-17
JP7512274B2 JP7512274B2 (ja) 2024-07-08

Family

ID=

Also Published As

Publication number Publication date
SG11202104011SA (en) 2021-05-28
US20200146091A1 (en) 2020-05-07
ZA202102320B (en) 2022-06-29
KR20210083265A (ko) 2021-07-06
CN113039523A (zh) 2021-06-25
AU2019375864B2 (en) 2024-05-02
IL282750A (en) 2021-06-30
EP3853722A1 (en) 2021-07-28
PH12021551059A1 (en) 2021-12-06
IL282750B1 (en) 2024-05-01
MX2021005182A (es) 2021-07-15
US10624148B1 (en) 2020-04-14
WO2020096802A1 (en) 2020-05-14
AU2019375864A1 (en) 2021-05-13
CA3115984A1 (en) 2020-05-14
BR112021008216A2 (pt) 2021-08-03
EP3853722B1 (en) 2023-12-27

Similar Documents

Publication Publication Date Title
US10972575B2 (en) Method and system for supporting edge computing
WO2020259509A1 (zh) 一种应用迁移方法及装置
US10587544B2 (en) Message processing method, processing server, terminal, and storage medium
US11388579B2 (en) Customizable and low-latency architecture for cellular core networks
US10609590B2 (en) Enhanced software-defined network controller to support ad-hoc radio access networks
US20120184258A1 (en) Hierarchical Device type Recognition, Caching Control & Enhanced CDN communication in a Wireless Mobile Network
KR20180082555A (ko) M2m 서비스 계층에 대한 교차 리소스 가입
EP3853722B1 (en) Implementation of core cellular networking stack on cloud infrastructure
US20200305042A1 (en) Interest packet routing in information centric networks
US11017075B1 (en) Detecting digital content performing browser fingerprinting using WebRTC
JP7330381B2 (ja) 5g共通メディアアプリケーションフォーマットに基づくメディアストリーミング用のコンテンツ準備テンプレートのための方法、並びにそのデバイス、及びコンピュータプログラム
Contreras et al. Software-defined mobility management: Architecture proposal and future directions
KR20210023194A (ko) Mec 시스템 및 그 제어방법
CN108076139B (zh) 用于云流送服务的方法和设备
US11700568B2 (en) Dynamic mapping of nodes responsible for monitoring traffic of an evolved packet core
CN110753362B (zh) 基站的优化方法、终端注册方法、装置、基站及存储介质
US11297622B1 (en) Dynamic hierarchical reserved resource allocation
JP7512274B2 (ja) クラウドインフラストラクチャ上のコアセルラネットワーキングスタックの実装
RU2801634C2 (ru) Реализация базового сотового сетевого стека в облачной инфраструктуре
CN113169936B (zh) 用于数据流处理的服务链机制
KR101319832B1 (ko) 모바일 컨텐츠 제공 방법 및 이를 위한 로컬 캐싱 장치
US20230269575A1 (en) Base station device and method for operating base station device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240205

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240528