Methods for extending cloud-based virtual private networks to radio-based network systems and computer implementations

By extending the virtual private cloud network to a radio-based network, the problem that wireless devices cannot automatically connect to the virtual private cloud network is solved, and automatic connection and access between wireless devices and virtual private cloud network resources is realized, improving the flexibility and reliability of the network.

CN117280665BActive Publication Date: 2025-04-22AMAZON TECH INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280033750.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-29
Filing Date
2022-03-28
Publication Date
2025-04-22
Estimated Expiration
2042-03-28

AI Technical Summary

Technical Problem

The prior art is difficult to extend a cloud-based virtual private network to a radio-based network, resulting in the inability to automatically place wireless devices on the virtual private cloud network, limiting communication and resource access between devices.

Method used

By extending the concept of a virtual private cloud network to a radio-based network, wireless devices connected to a specific radio network can be automatically placed on the virtual private cloud network, thereby accessing other resources in the network.

Benefits of technology

It realizes automatic connection between wireless devices and virtual private cloud network resources, enhances the flexibility of geographically distributed networks, improves service reliability and performance, and meets service quality requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117280665B_ABST
    Figure CN117280665B_ABST
Patent Text Reader

Abstract

Various embodiments for extending a cloud-based virtual private network to a radio-based network are disclosed. In one embodiment, a request is received from a client device to connect to the radio-based network. A virtual private cloud network of a cloud provider network to which the client device is permitted to access is determined. Access to the virtual private cloud network via the radio-based network is provided to the client device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of and priority to U.S. Patent Application No. 17 / 216,349, filed on March 29, 2021, entitled “EXTENDING CLOUD-BASED VIRTUAL PRIVATE NETWORKS TO RADIO-BASED NETWORKS,” the entire contents of which are incorporated herein by reference. Background Art

[0003] 5G is the fifth generation technology standard for broadband cellular networks, and is planned to eventually replace the fourth generation (4G) standard of Long Term Evolution (LTE). 5G technology will greatly increase bandwidth, thereby expanding the cellular market beyond smartphones to provide last-mile connectivity for desktops, set-top boxes, laptops, Internet of Things (IoT) devices, etc. Some 5G cells may use spectrum similar to 4G, while other 5G cells may use spectrum in the millimeter wave band. Millimeter wave band cells cover a relatively small area, but have much higher throughput than 4G. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] Many aspects of the present disclosure may be better understood with reference to the following drawings. The components in the drawings are not necessarily drawn to scale, with emphasis placed on clearly illustrating the principles of the present disclosure. In addition, the same reference numerals in the drawings designate corresponding parts throughout the multiple views.

[0005] Figure 1 is a diagram of an example of a communication network deployed and managed according to various embodiments of the present disclosure.

[0006] Figure 2A An example of a networked environment including a cloud provider network and further including various provider underlying extensions of the cloud provider network according to some embodiments of the present disclosure is shown. Figure 1 Used in various locations within a communications network.

[0007] Figure 2B Depicted are some embodiments of the present disclosure. Figure 1 Example of cellularization and geographical distribution of communication networks.

[0008] Figure 3A Some embodiments according to the present disclosure are shown Figure 2A An example of a networking environment that includes geographically dispersed provider infrastructure extensions.

[0009] Figure 3B A virtual private cloud network is shown according to some embodiments of the present disclosure. Figure 2A An example of a networking environment.

[0010] Figure 4 According to various embodiments of the present disclosure Figure 2A A schematic block diagram of a networking environment.

[0011] Figure 5 It is a diagram showing various embodiments according to the present disclosure. Figure 4 A flowchart of an example of functionality implemented for portions of a radio-based network and a virtual private cloud network in a networking environment.

[0012] Figure 6 According to various embodiments of the present disclosure, Figure 4 A schematic block diagram of an example illustration of a computing environment employed in a networking environment. DETAILED DESCRIPTION

[0013] The present disclosure relates to extending cloud-based virtual private networks to radio-based networks. A virtual private cloud (VPC) is a custom virtual network within another network, such as a cloud provider network. A VPC can provide a base network layer for cloud services (e.g., a computing cloud or edge cloud) or customer applications or workloads running on the cloud. A VPC can be defined by at least its address space, internal structure (e.g., computing resources including the VPC), and transit paths. Although customer-owned networks may be connected to the VPC through a gateway, VPC resources are typically hosted and provisioned within the cloud provider network. When hosting a VPC, the cloud provider network uses the physical resources and optional virtual resources of the cloud provider network to implement logical constructs to provision the VPC.

[0014] A radio-based network includes one or more radio access networks (RANs) and associated core networks to provide network connectivity to wireless devices. RANs can operate using Wi-Fi, 4G, 5G, sixth generation (6G), and other access technologies. Radio-based networks can support network slicing to ensure that the quality of service (QoS) requirements of customers and their applications are met. A single network slice in a radio-based network may reserve network capacity in the RAN and associated core network for a group of applications or devices within a defined time period in order to meet one or more QoS parameters. QoS parameters may involve latency, bandwidth, burstable bandwidth, number of network hops, etc., and may be defined according to maximum, minimum, average, or other thresholds.

[0015] Various embodiments of the present disclosure extend the concept of VPC to radio-based networks, so that a wireless device connected to a specific radio-based network can be automatically placed on the VPC, thereby enabling the device to access other resources on the VPC. In this way, a wireless device connected to a radio-based network can communicate with other wireless devices located on the VPC on the radio-based network, and the same wireless device can communicate with other devices and resources located on the VPC within the cloud provider network. In addition, in some embodiments, individual network slices on the radio-based network can provide access to different VPCs or different subnets (subnets) of the VPC, respectively, which can be associated with different resources managed by different access controls. In some scenarios, the wireless device communicates data with the VPC via the actual network interface of the wireless device rather than through a virtual network interface (such as through a tunnel).

[0016] A VPC is a virtual network dedicated to a specific customer account (or a group of related customer accounts, such as different customer accounts belonging to the same business organization). A VPC is logically isolated from other virtual networks in the cloud. Customers can put resources such as computing instances into a VPC. When creating a VPC, a customer can specify the range of IPv4 and / or IPv6 addresses of the VPC in the form of a Classless Inter-Domain Routing (CIDR) block. A VPC can span all availability zones in a specific region. After creating a VPC, a customer can add one or more subnets in each availability zone or edge location. According to the present disclosure, a customer can also add a subnet of its VPC to a network slice. A customer can request, for example, to register a subscriber identity module of a specific client device (or a group of client devices) to one or both of a network slice and a VPC via an API call to a cloud provider network. In response, the cloud provider network can allocate an Internet Protocol (IP) address to the subscriber identity module from the IP address range of the VPC. This can enable a client device to access resources in the VPC via its use of a network slice based on a radio network under any further access control.

[0017] Access control can refer to security groups or network access control lists. Security groups (also referred to as network security groups, application security groups, cloud security groups, or compute engine firewall rules in various embodiments) act as virtual firewalls for virtual machine instances to control inbound and outbound traffic. Customers can define security groups as policies that can be applied to specific instances. When a customer launches an instance in a VPC, it can assign one or more security groups to the instance. Security groups can work at the instance level rather than the subnet level. Therefore, each instance in a subnet can be assigned to a different set of security groups. For each security group, customers can add rules that control inbound traffic to the instance and a separate set of rules that control outbound traffic. Security groups can be stateful because return traffic is automatically allowed.

[0018] Customers can also set up network access control lists (ACLs) using rules similar to security groups to add an extra layer of security to their VPCs. Network ACLs operate at the subnet level, support allow and deny rules, and are automatically applied to all instances in any subnet associated with them. Network ACLs may not be stateful, as return traffic must be explicitly allowed by a rule.

[0019] A radio-based network may use a core network infrastructure that is dynamically provisioned and used in conjunction with multiple different radio access networks operated by multiple communications service providers. Although the radio-based network is provisioned on demand, the radio-based network may also be dynamically scaled up or down or terminated, thereby providing organizations with the ability to create ephemeral radio-based networks that may exist periodically during specific time periods or on a schedule. In addition, cell sites may be dynamically added to or removed from a radio-based network as needed. In various scenarios, an organization may use embodiments of the present disclosure to create a private radio-based network for internal use only, or a radio-based network that is open to third-party customers.

[0020] Previous radio-based network deployments relied on manual deployment and configuration at each step of the process. This proved to be extremely time-consuming and expensive. In addition, in previous generations, software was inherently tied to vendor-specific hardware, preventing customers from deploying alternative software. In contrast, with 5G, the hardware is decoupled from the software stack, which allows for greater flexibility and allows components of radio-based networks to be executed on cloud provider infrastructure. Using a cloud distribution model for radio-based networks (such as 5G networks) can facilitate the handling of network traffic from hundreds to billions of connected devices and compute-intensive applications, while delivering faster speeds, lower latency, and greater capacity than other types of networks.

[0021] Historically, enterprises have had to choose between performance and price when evaluating their enterprise connectivity solutions. Cellular networks can provide high performance, good indoor and outdoor coverage, and advanced quality of service (QoS) connectivity features, but dedicated cellular networks can be expensive and complex to manage. While Ethernet and Wi-Fi require less upfront investment and are easier to manage, enterprises often find that they are less reliable, require a lot of work to get the best coverage, and do not provide QoS features such as guaranteed bit rate, latency, and reliability.

[0022] Enterprises can freely deploy various 5G devices and sensors throughout the enterprise (factory floors, warehouses, halls, and communication centers), and manage these devices, register users, and assign QoS through a management console. With the disclosed technology, customers can allocate constant bit rate throughput to all their devices (such as cameras, sensors, or IoT devices), provide reliable low-latency connections for devices running on factory floors, and allocate broadband connections to all handheld devices. The disclosed services can manage all the software required to provide connections that meet specified constraints and requirements. This enables a whole new set of applications with strict QoS or high IoT device density requirements that traditionally could not run on Wi-Fi networks. In addition, the disclosed services can provide application development application programming interfaces (APIs) that expose and manage 5G capabilities such as QoS, enabling customers to build applications that can fully utilize the latency and bandwidth capabilities of their networks without having to understand the details of the network.

[0023] In addition, the disclosed service can provide a dedicated zone to run local applications within the cloud provider network. The dedicated zone can be connected to a wider regional zone and become an effective part of it, and allow customers to manage the dedicated zone using the same API and tools used in the cloud provider network. Like the availability zone, a virtual private network subnet can be assigned to the dedicated zone. The API can be used to create subnets and assign them to all zones that the customer wants to use, including dedicated zones and other existing zones. The management console can provide a simplified process for creating a dedicated zone. Virtual machine instances and containers can be launched in a dedicated zone, just like in a regional zone. Customers can configure network gateways to define routes, assign IP addresses, set up network address translation (NAT), etc. Automatic scaling can be used to scale the capacity of virtual machine instances or containers according to needs in the dedicated zone. The same management and authentication API of the cloud provider network can be used in the dedicated zone. In some cases, since cloud services available in regional zones can be accessed remotely from the dedicated zone through a secure connection, these cloud services can be accessed without upgrading or modifying local deployments.

[0024] Various embodiments of the present disclosure may also introduce the concepts of elasticity and utility computing from the cloud computing model to radio-based networks and associated core networks. For example, the disclosed technology may run core and radio access network functions and associated control plane management functions on a cloud provider infrastructure, thereby creating a cloud-native core network and / or a cloud-native radio access network (RAN). In some embodiments, such core and RAN network functions may be based on the Third Generation Partnership Project (3GPP) specifications. By providing a cloud-native radio-based network, customers can dynamically scale their radio-based networks based on utilization, latency requirements, and / or other factors. Customers may also configure thresholds to receive alerts related to radio-based network usage and excess capacity usage of their provisioned infrastructure, so as to more effectively manage the provisioning of new infrastructure or the deprovisioning of existing infrastructure based on their dynamic network and workload requirements.

[0025] Those skilled in the art will appreciate from the present disclosure that certain embodiments may be able to achieve certain advantages, including some or all of the following: (1) improving the security of radio-based networks by allowing a combination of point-to-point and end-to-end encryption to connect devices on radio-based networks to resources available on a virtual private cloud network; (2) enhancing the flexibility of geographically dispersed networks by allowing virtual private cloud networks to extend to radio-based networks (including 4G and 5G networks); (3) improving the reliability and performance of services on virtual private cloud networks by implementing network slicing on radio-based network segments to meet quality of service requirements; and so on.

[0026] One of the benefits of the present disclosure is the ability to deploy and link network functions together to deliver end-to-end services that meet specified constraints and requirements. According to the present disclosure, network functions organized into microservices work together to provide end-to-end connectivity. One set of network functions is part of the radio network, running in cellular towers and performing conversion of wireless signals to IP. Other network functions run in large data centers, execute business logic related to subscribers and route IP traffic to the Internet and back. For applications that use new 5G features (such as low-latency communications and reserved bandwidth), these two types of network functions need to work together to properly schedule and reserve wireless spectrum, and perform real-time computing and data processing. The currently disclosed technology provides edge positioning hardware (as further described below), which is integrated with network functions that run across the entire network from cell sites to Internet breakout points, and orchestrates network functions to meet the required quality of service (QoS) constraints. This enables a new set of applications with strict QoS requirements, from factory-based Internet of Things (IoT) to augmented reality (AR), virtual reality (VR), game streaming, and autonomous navigation support for connected vehicles, which were previously impossible to run on mobile networks.

[0027] The described "Elastic 5G" service provides and manages all the hardware, software, and network functions required to build a network. In some embodiments, the network functions may be developed and managed by a cloud service provider, however, the described control plane may manage network functions from a range of providers such that customers can use a single set of APIs to call and manage their choice of network functions on the cloud infrastructure. The Elastic 5G service beneficially automates the creation of an end-to-end 5G network from hardware to network functions, thereby reducing the time to deploy the network and the operational costs of operating the network. By providing an API that exposes network capabilities, the exposed Elastic 5G service enables applications to simply specify the desired QoS as constraints, and then deploy and link network functions together to deliver an end-to-end service that meets the specified requirements, making it possible to easily build new applications.

[0028] The present disclosure describes embodiments related to the creation and management of a cloud native 5G core and / or a cloud native 5G RAN and associated control plane components. Cloud native refers to an approach to building and running applications that leverages the advantages of a cloud computing distribution model, such as dynamic scalability, distributed computing, and high availability (including geographic distribution, redundancy, and failover). Cloud native refers to how these applications are created and deployed to be suitable for deployment in a public cloud. While cloud native applications can (and often do) run in a public cloud, they can also run in a local data center. Some cloud native applications can be containerized, for example packaging different parts, functions, or sub-units of an application in their own containers, which can be dynamically orchestrated so that each part can be actively scheduled and managed to optimize resource utilization. These containerized applications can be built using a microservices architecture to improve the overall agility and maintainability of the application.

[0029] In a microservices architecture, an application is arranged as a series of smaller sub-units ("microservices") that can be deployed and scaled independently of each other and can communicate with each other over a network. These microservices are typically fine-grained in that they have specific technical and functional granularity and typically implement lightweight communication protocols. The microservices of an application can perform different functions from each other, can be deployed independently, and can use different programming languages, databases, and hardware / software environments from each other. Decomposing an application into smaller services helps improve the modularity of the application, enables on-demand replacement of individual microservices, and parallelizes development by enabling teams to develop, deploy, and maintain their microservices independently of each other. In some examples, microservices can be deployed using virtual machines, containers, or serverless functions. The disclosed core and RAN software can follow a microservices architecture so that the described radio-based network consists of independent sub-units that can be deployed and scaled on demand.

[0030] Now turn to Figure 1 , which shows an example of a communication network 100 deployed and managed according to various embodiments of the present disclosure. The communication network 100 includes a radio-based network (RBN) 103, which can correspond to a cellular network such as a high-speed packet access (HSPA) network, a fourth-generation (4G) long-term evolution (LTE) network, a fifth-generation (5G) network, a sixth-generation (6G) network, a 4G-5G hybrid core with 4G and 5G RAN, or another network that provides wireless network access. The radio-based network 103 can be operated by an enterprise, a non-profit organization, a school system, a government entity, or a cloud service provider for another organization. In various embodiments, the radio-based network 103 can use a private network address or a public network address.

[0031] Various deployments of the radio-based network 103 may include one or more of a core network and a RAN network, and a control plane for running the core and / or RAN network on a cloud provider infrastructure. As described above, these components may be developed in a cloud-native manner, such as using a microservices architecture, so that traffic and transactions are efficiently scaled using centralized control and distributed processing. These components may be based on 3GPP specifications and follow an application architecture (CUPS architecture) that separates control plane and user plane processing.

[0032] The radio-based network 103 provides wireless network access to a plurality of wireless devices 106, which may be mobile devices or fixed-location devices. In various examples, the wireless devices 106 may include smartphones, connected vehicles, IoT devices, sensors, machines (such as in a manufacturing facility), hotspots, and other devices. Such wireless devices 106 are sometimes referred to as user equipment (UE) or customer premises equipment (CPE).

[0033] In this example, two virtual private cloud networks 107a and 107b of the cloud provider network are shown as being extended into the radio-based network 103 to encompass wireless devices 106 as client devices. Virtual private cloud network 107a is shown as including four wireless devices 106, while virtual private cloud network 107b is shown as including two wireless devices 106. This is to illustrate that a single radio-based network 103 can provide access to multiple different virtual private cloud networks 107, which in some cases can be implemented on a per-cell basis. Individual virtual private cloud networks 107 can be assigned one or more network slices for use by wireless devices 106 that are configured to meet one or more quality of service requirements.

[0034] Wireless devices 106 grouped within a particular virtual private cloud network 107 can communicate with each other as if they were on a single network segment, even if they are physically connected to different cells or points in the radio-based network 103. In addition, wireless devices 106 within a particular virtual private cloud network 107 can communicate with services and other resources hosted on the virtual private cloud network 107 as if they were on a local network. Such resources can be located within the radio-based network 103 (e.g., at a cell site, an intermediate site, or a central location) or within a regional data center of a cloud provider network.

[0035] The radio-based network 103 may include capacity provisioned on one or more radio access networks (RANs) that provide wireless network access to multiple wireless devices 106 through multiple cells 109. The RAN may be operated by different communication service providers. Each cell 109 may be equipped with one or more antennas and one or more radio units that send wireless data signals to and receive wireless data signals from the wireless device 106. The antenna may be configured for one or more frequency bands, and the radio unit may also be frequency agile or frequency adjustable. The antenna may be associated with a specific gain or beam width so as to focus the signal in a specific direction or azimuth range, thereby potentially allowing the reuse of frequencies in different directions. In addition, the antenna may be horizontally polarized, vertically polarized, or circularly polarized. In some examples, the radio unit may utilize multiple-input multiple-output (MIMO) technology to send and receive signals. In this way, the RAN implements radio access technology to achieve a radio connection with the wireless device 106 and provides a connection to a core network based on the radio network. The components of the RAN include base stations and antennas covering a given physical area, as well as core network items required for managing connections with the RAN.

[0036] Data traffic is typically routed to the core network through a fiber transport network consisting of multiple hops of layer 3 routers (e.g., at an aggregation site). The core network is typically housed in one or more data centers. The core network typically aggregates data traffic from terminal devices, authenticates subscribers and devices, applies personalized policies, and manages the mobility of devices before routing traffic to operator services or the Internet. For example, the 5G core can be decomposed into multiple microservice elements, in which the control plane and the user plane are separated. The 5G core may include virtualized, software-based network functions (e.g., deployed as microservices) rather than physical network elements, and can therefore be instantiated in a multi-access edge computing (MEC) cloud infrastructure. The network functions of the core network may include a user plane function (UPF), an access and mobility management function (AMF), and a session management function (SMF), which will be described in more detail below. For data traffic to locations outside the communication network 100, the network functions typically include a firewall through which traffic can enter or leave the communication network 100 to reach an external network, such as the Internet or a cloud provider network. Note that in some embodiments, the communications network 100 may include facilities that allow traffic to enter or leave from a site further downstream in the core network (eg, at an aggregation site or radio-based network 103).

[0037] UPF provides an interconnection point between the mobile infrastructure and the data network (DN), namely the encapsulation and decapsulation of the General Packet Radio Service (GPRS) tunneling protocol for the user plane (GTP-U). UPF can also provide a session anchor point for providing mobility within the RAN, including sending one or more end marker packets to the RAN base station. UPF can also handle packet routing and forwarding, including directing traffic to a specific data network based on traffic matching filters. Another feature of UPF includes per-flow or per-application QoS processing, including transport-level packet marking for uplink (UL) and downlink (DL), and rate limiting. UPF can be implemented as a cloud-native network function using a modern microservices approach, for example deployable within a serverless framework (abstracting the underlying infrastructure on which the code runs via managed services).

[0038] The AMF may receive connection and session information from the wireless device 106 or the RAN and may handle connection and mobility management tasks. For example, the AMF may manage handovers between base stations in the RAN. In some examples, the AMF may be considered an access point to the 5G core by terminating certain RAN control plane and wireless device 106 traffic. The AMF may also implement encryption and integrity protection algorithms.

[0039] SMF can handle session establishment or modification, such as by creating, updating, and deleting protocol data unit (PDU) sessions and managing session context within UPF. SMF can also implement Dynamic Host Configuration Protocol (DHCP) and IP Address Management (IPAM). SMF can be implemented as a cloud-native network function using a modern microservices approach.

[0040] Various network functions implementing the radio-based network 103 may be deployed in a distributed computing device 112, which may correspond to a general-purpose computing device configured to perform network functions. For example, the distributed computing device 112 may execute one or more virtual machine instances that are in turn configured to execute one or more services that perform network functions. In one embodiment, the distributed computing device 112 is a hardened machine deployed at each cell site.

[0041] In contrast, one or more centralized computing devices 115 can perform various network functions at a central site operated by a customer. For example, the centralized computing device 115 can be located at the center of the customer's premises in a conditional server room. The centralized computing device 115 can execute one or more virtual machine instances, which are in turn configured to execute one or more services that perform network functions.

[0042] In one or more embodiments, network traffic from the radio-based network 103 is backhauled to one or more core computing devices 118, which may be located in one or more data centers remote from the customer site. The core computing devices 118 may also perform various network functions, including routing network traffic to and from a network 121, which may correspond to the Internet and / or other external public or private networks. The core computing devices 118 may perform functionality related to management of the communication network 100 (e.g., billing, mobility management, etc.) as well as transport functionality to relay traffic between the communication network 100 and other networks.

[0043] Figure 2A An example of a networked environment 200 including a cloud provider network 203 and further including various provider underlay extensions of the cloud provider network 203 is shown, which networked environment can be connected to a cloud provider network 203 according to some embodiments. Figure 1The cloud provider network 203 (sometimes referred to simply as the "cloud") refers to a network-accessible pool of computing resources (such as computing, storage and networking resources, applications and services), which can be virtualized or bare metal. The cloud can provide convenient on-demand network access to a shared pool of configurable computing resources that can be programmatically provisioned and released in response to customer commands. These resources can be dynamically provisioned and reconfigured to adjust to variable loads. Therefore, cloud computing can be viewed as applications delivered as services over a publicly accessible network (e.g., the Internet, cellular communication networks) and the hardware and software in the cloud provider data center that provides those services.

[0044] The cloud provider network 203 can provide users with an on-demand scalable computing platform through the network, for example, allowing users to have scalable "virtual computing devices" for their use through their use of computing servers (the computing servers provide computing instances through one or both of the central processing unit (CPU) and the graphics processing unit (GPU), optionally used together with local storage devices) and block storage servers (the block storage servers provide virtualized persistent block storage for designated computing instances). These virtual computing devices have the attributes of personal computing devices, including hardware (various types of processors, local memory, random access memory (RAM), hard disk and / or solid state drive (SSD) storage devices), operating system options, networking capabilities, and pre-loaded application software. Each virtual computing device can also virtualize its console input and output (e.g., keyboard, display, and mouse). This virtualization allows users to connect to their virtual computing devices using computer applications such as browsers, APIs, software development kits (SDKs), etc., so as to configure and use their virtual computing devices like personal computing devices. Unlike personal computing devices that have a fixed amount of hardware resources available to users, the hardware associated with virtual computing devices can be scaled up or down depending on the resources required by the user.

[0045] As indicated above, users can use various interfaces 206 (e.g., APIs) via the intermediate network 212 to connect to virtualized computing devices and other cloud provider network 203 resources and services, and configure and manage telecommunication networks such as 5G networks. API refers to an interface 206 and / or communication protocol between a client device 215 and a server, such that if a client issues a request in a predefined format, the client should receive a response in a specific format or cause a defined action to be initiated. In the context of a cloud provider network, the API provides a gateway for clients to access cloud infrastructure by allowing them to obtain data from a cloud provider network 203 or cause an action within the cloud provider network, thereby enabling the development of applications that interact with resources and services hosted in the cloud provider network 203. The API can also enable different services of the cloud provider network 203 to exchange data with each other. Users may choose to deploy their virtual computing systems to provide network-based services for their own use and / or for use by their customers or clients.

[0046] Cloud provider network 203 may include a physical network (e.g., sheet metal boxes, cables, rack hardware) referred to as an underlay. The underlay may be considered a network fabric that contains the physical hardware that runs the provider network's services. The underlay may be isolated from the rest of cloud provider network 203, e.g., it may not be possible to route from an underlay network address to an address in a production network running a cloud provider service, or to a customer network hosting customer resources.

[0047] The cloud provider network 203 may also include an overlay network of virtualized computing resources running on the bottom layer. In at least some embodiments, the hypervisor or other device or process on the network bottom layer may use encapsulation protocol technology to encapsulate and route network packets (e.g., client IP packets) between client resource instances on different hosts in the provider network through the network bottom layer. Encapsulation protocol technology may be used on the network bottom layer to route encapsulated packets (also referred to as network bottom layer packets) between endpoints on the network bottom layer via an overlay network path or route. Encapsulation protocol technology may be viewed as providing a virtual network topology overlaid on the network bottom layer. Thus, network packets may be routed along the bottom layer network according to the construction in the overlay network (e.g., a virtual network that may be referred to as a virtual private cloud (VPC), a port / protocol firewall configuration that may be referred to as a security group). A mapping service (not shown) may coordinate the routing of these network packets. A mapping service may be a regional distributed lookup service that maps a combination of an overlay Internet protocol (IP) and a network identifier to the bottom layer IP so that a distributed bottom layer computing device may find where to send the packet.

[0048] For illustration, each physical host device (e.g., computing server, block storage server, object storage server, control server) may have an IP address in the underlying network. Hardware virtualization technology may enable multiple operating systems to run simultaneously on a host computer, for example as a virtual machine (VM) on a computing server. The hypervisor or virtual machine monitor (VMM) on the host allocates the hardware resources of the host between the various VMs on the host and monitors the execution of the VM. Each VM may be provided with one or more IP addresses in the overlay network, and the VMM on the host may know the IP address of the VM on the host. The VMM (and / or other devices or processes on the network bottom layer) may use encapsulation protocol technology to encapsulate network packets (e.g., client IP packets) and route the network packets between virtualized resources on different hosts within the cloud provider network 203 through the network bottom layer. Encapsulation protocol technology may be used on the network bottom layer to route encapsulated packets between endpoints on the network bottom layer via an overlay network path or route. Encapsulation protocol technology may be viewed as providing a virtual network topology overlaid on the network bottom layer. The encapsulation protocol technology may include a mapping service that maintains a mapping directory that maps IP overlay addresses (e.g., IP addresses visible to the customer) to underlying IP addresses (IP addresses not visible to the customer) that can be accessed by various processes on the cloud provider network 203 for routing packets between endpoints.

[0049] As shown, in various embodiments, the traffic and operations at the bottom layer of the cloud provider network can be broadly subdivided into two categories: control plane traffic carried on the logical control plane 218 and data plane operations carried on the logical data plane 221. While the data plane 221 represents the movement of user data through the distributed computing system, the control plane 218 represents the movement of control signals through the distributed computing system. The control plane 218 typically includes one or more control plane components or services distributed on and implemented by one or more control servers. Control plane traffic typically includes management operations, such as establishing isolated virtual networks for various customers, monitoring resource usage and health, identifying specific hosts or servers to start the requested computing instances, pre-configuring additional hardware as needed, and the like. The data plane 221 includes customer resources (e.g., computing instances, containers, block storage volumes, databases, file storage) implemented on the cloud provider network 203. Data plane traffic typically includes non-management operations, such as transmitting data to and from customer resources.

[0050] The control plane components are typically implemented on a set of servers separate from the data plane servers, and the control plane traffic and the data plane traffic can be sent over separate / different networks. In some embodiments, the control plane traffic and the data plane traffic can be supported by different protocols. In some embodiments, the message (e.g., packet) sent by the cloud provider network 203 includes a flag for indicating whether the traffic is control plane traffic or data plane traffic. In some embodiments, the payload of the traffic can be checked to determine its type (e.g., control plane or data plane). Other techniques for distinguishing traffic types are possible.

[0051] As shown, data plane 221 may include one or more computing servers, which may be bare metal (e.g., a single tenant) or may be virtualized by a hypervisor to run multiple VMs (sometimes referred to as "instances") or microVMs for one or more customers. These computing servers may support virtualized computing services (or "hardware virtualization services") for cloud provider network 203. Virtualized computing services may be part of control plane 218, thereby allowing customers to issue commands via interface 206 (e.g., API) to start and manage computing instances (e.g., VMs, containers) of their applications. Virtualized computing services may provide virtual computing instances with different computing and / or memory resources. In one embodiment, each of the virtual computing instances may correspond to one of several instance types. Instance types may be characterized by their hardware type, computing resources (e.g., the number, type, and configuration of CPUs or CPU cores), memory resources (e.g., the capacity, type, and configuration of local memory), storage resources (e.g., the capacity, type, and configuration of locally accessible storage devices), network resources (e.g., the characteristics of their network interfaces and / or network capabilities), and / or other suitable descriptive characteristics. Using the instance type selection functionality, an instance type can be selected for a customer based, for example, at least in part, on input from the customer. For example, the customer can select an instance type from a set of predefined instance types. As another example, the customer can specify the desired resources for the instance type and / or the requirements of the workload that the instance will run, and the instance type selection functionality can select the instance type based on such specifications.

[0052] The data plane 221 may also include one or more block storage servers, which may include persistent storage devices for storing customer data volumes and software for managing these volumes. These block storage servers may support the managed block storage service of the cloud provider network 203. The managed block storage service may be part of the control plane 218, allowing customers to issue commands via the interface 206 (e.g., API) to create and manage volumes for applications running on their computing instances. The block storage server includes one or more servers on which data is stored as blocks. A block is a sequence of bytes or bits, typically containing a certain integer number of records, with a maximum length of the block size. Blocked data is typically stored in a data buffer and the block data is read or written to the entire block at a time. Typically, a volume may correspond to a logical collection of data, such as a set of data maintained on behalf of a user. A user volume (which may be viewed as, for example, an individual hard drive ranging in size from 1 GB to 1 terabyte (TB) or more) consists of one or more blocks stored on a block storage server. Although viewed as an individual hard drive, it should be understood that a volume may be stored as one or more virtualized devices implemented on one or more underlying physical host devices. The volume can be partitioned several times (e.g., up to 16 times), with each partition hosted by a different host. The data of the volume can be replicated between multiple devices within the cloud provider network 203 to provide multiple copies of the volume (where such copies can collectively represent the volume on the computing system). Volume copies in a distributed computing system can, for example, be beneficially provided with automatic failover and recovery by allowing a user to access a primary copy of the volume or a secondary copy of the volume that is synchronized with the primary copy at the block level, so that the failure of the primary copy or the secondary copy does not prevent access to the volume information. The role of the primary copy can be to facilitate reading and writing (sometimes referred to as "input and output operations" or simply "I / O operations") on the volume, and propagate any writes to the secondary copy (preferably synchronously propagated in the I / O path, but asynchronous replication can also be used). The secondary copy can be updated synchronously with the primary copy and provide a seamless transition during a failover operation, whereby the secondary copy assumes the role of the primary copy, and the previous primary copy is designated as a secondary copy or a new replacement secondary copy is provisioned. Although some examples in this article discuss primary and secondary copies, it should be understood that a logical volume can include multiple secondary copies. The computing instance can virtualize its I / O to the volume through the client. The client represents instructions that enable a computing instance to connect to a remote data volume (e.g., a data volume stored on a physically separate computing device accessed over a network) and perform I / O operations at the remote data volume. The client can be implemented on an offload card of a server that includes a processing unit (e.g., a CPU or a GPU) of the computing instance.

[0053] The data plane 221 may also include one or more object storage servers, which represent another type of storage device within the cloud provider network 203. The object storage server includes one or more servers on which data is stored as objects within a resource called a bucket and can be used to support the managed object storage service of the cloud provider network 203. Each object typically includes the stored data, a variable metadata that enables the object storage server to analyze the various capabilities of the stored object, and a globally unique identifier or key that can be used to retrieve the object. Each bucket is associated with a given user account. Customers can store as many objects as needed in their buckets, can write, read and delete objects in their buckets, and can control access to their buckets and the objects contained therein. In addition, in an embodiment with multiple different object storage servers distributed in different regions in the above-mentioned regions, users can select the region (or multiple regions) of the storage bucket, for example to optimize latency. Customers can use buckets to store various types of objects, including machine images that can be used to start VMs, and snapshots representing point-in-time views of volume data.

[0054] The provider subnet extension 224 ("PSE") provides the resources and services of the cloud provider network 203 within a separate network (such as a telecommunications network), thereby extending the functionality of the cloud provider network 203 to new locations (e.g., for reasons related to latency of communicating with customer devices, legal compliance, security, etc.). In some embodiments, the PSE 224 can be configured to provide the capacity of cloud-based workloads to run within the telecommunications network. In some embodiments, the PSE 224 can be configured to provide core and / or RAN functions of the telecommunications network, and can be configured with additional hardware (e.g., radio access hardware). Some embodiments can be configured to allow both, for example by allowing unused capacity of the core and / or RAN functions to be used to run cloud-based workloads.

[0055] As indicated, such provider underlay extensions 224 may include cloud provider network managed provider underlay extensions 227 (e.g., formed by servers located in cloud provider managed facilities separate from those facilities associated with cloud provider network 203), communications service provider underlay extensions 230 (e.g., formed by servers associated with communications service provider facilities), customer managed provider underlay extensions 233 (e.g., formed by servers located locally at a customer or partner facility), and other possible types of underlay extensions.

[0056] As shown in the exemplary provider underlay extension 224, the provider underlay extension 224 can similarly include a logical separation between a control plane 236 and a data plane 239, which respectively extend the control plane 218 and the data plane 221 of the cloud provider network 203. The provider underlay extension 224 can be pre-configured, for example, by the cloud provider network operator with an appropriate combination of hardware and software and / or firmware elements to support various types of computing-related resources, and do so in a manner that reflects the experience of using the cloud provider network 203. For example, one or more provider underlay extension location servers can be pre-configured by the cloud provider to be deployed within the provider underlay extension 224. As described above, the cloud provider network 203 can provide a set of predefined instance types, each instance type having a different type and number of underlying hardware resources. Each instance type can also be provided in various sizes. In order to enable customers to continue to use the same instance types and sizes as they use in the region in the provider underlay extension 224, the servers can be heterogeneous servers. Heterogeneous servers can support multiple instance sizes of the same type at the same time, and can also be reconfigured to host any instance type supported by its underlying hardware resources. The reconfiguration of heterogeneous servers can occur on the fly using the available capacity of the servers, i.e., while other VMs are still running and consuming other capacity of the provider underlying extension location servers. This can improve the utilization of computing resources within the edge location by allowing better packaging of running instances on the servers, and also provide a seamless experience with regard to the use of instances on the cloud provider network 203 and the provider underlying extension 227 managed by the cloud provider network.

[0057] The provider underlying extension server can host one or more computing instances. The computing instance can be a VM, or a container that packages the code and all its dependencies so that the application can run quickly and reliably across computing environments (e.g., including VMs and microVMs). In addition, if the customer needs it, the server can host one or more data volumes. In the region of the cloud provider network 203, such volumes can be hosted on dedicated block storage servers. However, due to the possibility of having significantly smaller capacity at the provider underlying extension 224 than in the region, if the provider underlying extension 224 includes such a dedicated block storage server, it may not provide the best utilization experience. Therefore, the block storage service can be virtualized in the provider underlying extension 224, so that one of the VMs runs the block storage software and stores the data of the volume. Similar to the operation of the block storage service in the region of the cloud provider network 203, the volume within the provider underlying extension 224 can be replicated to achieve persistence and availability. The volume can be provisioned in its own isolated virtual network within the provider underlying extension 224. The computing instance and any volume together constitute the data plane 239 extension of the provider network data plane 221 within the provider underlying extension 224.

[0058] In some embodiments, servers within the provider underlay extension 224 may host certain local control plane components, such as components that enable the provider underlay extension 224 to continue to operate in the event of a loss of connectivity back to the cloud provider network 203. Examples of these components include a migration manager that can move compute instances between provider underlay extension servers if necessary to maintain availability, and a key value data store that indicates where volume replicas are located. However, the control plane 236 functionality typically used for the provider underlay extension 224 will remain in the cloud provider network 203 to allow customers to use as much of the resource capacity of the provider underlay extension 224 as possible.

[0059] The migration manager may have a centralized coordination component running in the region, and a local controller running on a PSE server (as well as a server in a cloud provider data center). When a migration is triggered, the centralized coordination component can identify the target edge location and / or the target host, and the local controller can coordinate the data transfer between the source host and the target host. The described resource movement between hosts in different locations can take one of several forms of migration. Migration refers to moving virtual machine instances (and / or other resources) between hosts in a cloud computing network or between hosts outside a cloud computing network and hosts within the cloud. There are different types of migration, including live migration and restart migration. During the restart migration, customers experience an interruption and effective power cycle of their virtual machine instances. For example, a control plane service can coordinate a restart migration workflow that involves dismantling the current domain on the original host and then creating a new domain for the virtual machine instance on the new host. The instance is restarted by shutting down on the original host and starting again on the new host.

[0060] Live migration refers to the process of moving a running virtual machine or application between different physical machines without significantly interrupting the availability of the virtual machine (e.g., end users will not notice the downtime of the virtual machine). When the control plane executes the live migration workflow, it can create a new "inactive" domain associated with the instance, while the original domain of the instance continues to run as the "active" domain. The virtual machine's memory (including any in-memory state of running applications), storage, and network connectivity are transferred from the original host with the active domain to the destination host with the inactive domain. The virtual machine may be briefly paused to prevent state changes while the memory contents are transferred to the destination host. The control plane can transition the inactive domain to become the active domain and demote the original active domain to become the inactive domain (sometimes called "flipping"), after which the inactive domain can be discarded.

[0061] Techniques for various types of migrations involve managing a critical phase: the time that a virtual machine instance is unavailable to a customer, which should be kept as short as possible. In currently disclosed migration techniques, this can be particularly challenging because resources are moving between hosts in geographically separated locations that can be connected by one or more intermediate networks 212. For live migration, the disclosed techniques can dynamically determine the amount of memory state data to be pre-copied (e.g., when the instance is still running on the source host) and to be post-copied (e.g., after the instance starts running on the destination host), for example, based on latency between locations, network bandwidth / usage patterns, and / or based on which memory pages are most frequently used by the instance. In addition, the specific time to transmit memory state data can be dynamically determined based on network conditions between locations. This analysis can be performed by a migration management component in the region, or by a migration management component running locally in the source edge location. If the instance has access to a virtualized storage device, both the source domain and the target domain can be attached to the storage device at the same time to enable uninterrupted access to its data during migration and in the event that a rollback to the source domain is required.

[0062] The server software running on the provider underlay extension 224 may be designed by the cloud provider to run on the cloud provider underlay network, and the software may be able to run unmodified in the provider underlay extension 224 to create a dedicated copy of the underlay network (“shadow underlay”) within the edge location by using a local network manager 242. The local network manager 242 may run on the provider underlay extension 224 server and bridge the shadow underlay with the provider underlay extension 224 network, for example, by acting as a virtual private network (VPN) endpoint or endpoint between the provider underlay extension 224 and the proxies 245, 248 in the cloud provider network 203 and by implementing a mapping service (for traffic encapsulation and decapsulation) to associate data plane traffic (from the data plane proxy 248) and control plane traffic (from the control plane proxy 245) with the appropriate servers. By implementing a local version of the provider network's underlay overlay mapping service, the local network manager 242 allows resources in the provider underlay extension 224 to communicate seamlessly with resources in the cloud provider network 203. In some embodiments, a single local network manager 242 may perform these actions for all servers hosting compute instances in the provider underlay extension 224. In other embodiments, each of the servers hosting the compute instances may have a dedicated local network manager 242. In a multi-rack edge location, inter-rack communications may go through the local network managers 242, where the local network managers 242 maintain open tunnels between each other.

[0063] The provider underlay extension location can utilize secure networking tunnels through the provider underlay extension 224 network to the cloud provider network 203, for example, to maintain the security of customer data while traversing the provider underlay extension 224 network and any other intermediate networks 212 (possibly including the public Internet). Within the cloud provider network 203, these tunnels consist of virtual infrastructure components including isolated virtual networks (e.g., in an overlay network), control plane agents 245, data plane agents 248, and underlying network interfaces. Such agents 245, 248 can be implemented as containers running on computing instances. In some embodiments, each server in the provider underlay extension 224 location hosting a computing instance can utilize at least two tunnels: one tunnel for control plane traffic (e.g., Constrained Application Protocol (CoAP) traffic) and one tunnel for encapsulated data plane traffic. A connectivity manager (not shown) within the cloud provider network 203 manages their cloud provider network-side lifecycle, for example, by automatically provisioning these tunnels and their components when needed and maintaining them in a healthy operating state. In some embodiments, a direct connection between the provider underlay extension 224 location and the cloud provider network 203 can be used for control and data plane communications. Compared to VPNs through other networks, direct connections can provide constant bandwidth and more consistent network performance because its network path is relatively fixed and stable.

[0064] A control plane (CP) agent 245 may be provisioned in the cloud provider network 203 to represent a specific host in an edge location. The CP agent 245 is an intermediary between the control plane 218 in the cloud provider network 203 and the control plane target in the control plane 236 of the provider bottom layer extension 224. That is, the CP agent 245 provides an infrastructure for tunneling management API traffic destined for the provider bottom layer extension server from the regional bottom layer to the provider bottom layer extension 224. For example, a virtualized computing service of the cloud provider network 203 may issue a command to the VMM of the server of the provider bottom layer extension 224 to start a computing instance. The CP agent 245 maintains a tunnel (e.g., VPN) to the local network manager 242 of the provider bottom layer extension 224. The software implemented in the CP agent 245 ensures that only well-formed API traffic leaves and returns to the bottom layer. The CP agent 245 provides a mechanism to expose remote servers on the cloud provider bottom layer while still protecting the bottom layer security materials (e.g., encryption keys, security tokens) from leaving the cloud provider network 203. The unidirectional control plane traffic tunnel imposed by the CP proxy 245 also prevents any (potentially compromised) device from calling back to the underlying layer. The CP proxy 245 can be instantiated one-to-one with a server at the provider underlying extension 224, or can be capable of managing control plane traffic for multiple servers in the same provider underlying extension 224.

[0065] Data plane (DP) agent 248 can also be pre-configured in cloud provider network 203 to represent a specific server in provider bottom layer extension 224. DP agent 248 acts as a shadow or anchor point of the server and can be used by services in cloud provider network 203 to monitor the health status of the host (including its availability, used / idle computing and capacity, used / idle storage and capacity, and network bandwidth utilization / availability). DP agent 248 also allows isolated virtual networks to span provider bottom layer extension 224 and cloud provider network 203 by acting as an agent for servers in cloud provider network 203. Each DP agent 248 can be implemented as a packet forwarding computing instance or container. As shown, each DP agent 248 can maintain a VPN tunnel with a local network manager 242, and the local network manager manages the traffic to the server represented by DP agent 248. The tunnel can be used to send data plane traffic between provider bottom layer extension servers and cloud provider network 203. Data plane traffic flowing between the provider underlay extension 224 and the cloud provider network 203 may pass through the DP agent 248 associated with the provider underlay extension 224. For data plane traffic flowing from the provider underlay extension 224 to the cloud provider network 203, the DP agent 248 may receive the encapsulated data plane traffic, verify its correctness, and allow it to enter the cloud provider network 203. The DP agent 248 may forward the encapsulated traffic from the cloud provider network 203 directly to the provider underlay extension 224.

[0066] The local network manager 242 can provide secure network connectivity with the agents 245, 248 established in the cloud provider network 203. After the connection between the local network manager 242 and the agents 245, 248 has been established, the customer can issue commands via the interface 206 to use the provider underlying extension resources to instantiate a computing instance (and / or perform other operations using the computing instance) in a manner similar to the manner in which such commands would be issued for a computing instance hosted within the cloud provider network 203. From the customer's perspective, the customer can now seamlessly use local resources within the provider underlying extension 224 (as well as resources located in the cloud provider network 203, if desired). The computing instance set up on the server at the provider underlying extension 224 can communicate with electronic devices located in the same network, as well as communicate with other resources set up in the cloud provider network 203 as needed. The local gateway 251 can be implemented to provide network connectivity between the provider underlying extension 224 and the network associated with the extension (e.g., the communication service provider network in the example of the communication service provider underlying extension 230).

[0067] There may be situations where data needs to be transferred between the object storage service and the provider base extension (PSE) 224. For example, the object storage service may store machine images used to start VMs, as well as snapshots representing point-in-time backups of volumes. The object gateway may be provided on a PSE server or dedicated storage device, and provides customers with a configurable per-bucket cache of the contents of their object storage buckets in the PSE 224 to minimize the impact of PSE regional latency on customer workloads. The object gateway may also temporarily store snapshot data from snapshots of volumes in the PSE 224, and then synchronize with the object server in the region when possible. The object gateway may also store machine images that the customer specifies for use within the PSE 224 or at the customer's premises. In some embodiments, data within the PSE 224 may be encrypted with a unique key, and for security reasons, the cloud provider may restrict the key from being shared from the region to the PSE 224. Therefore, data exchanged between the object storage server and the object gateway may utilize encryption, decryption, and / or re-encryption in order to preserve security boundaries regarding encryption keys or other sensitive data. The transformation agent can perform these operations and can create a PSE bucket (on the object storage server) using the PSE encryption key to store the snapshot data and the machine image data.

[0068] In the above manner, PSE 224 forms an edge location because it provides resources and services of cloud provider network 203 outside of traditional cloud provider data centers and closer to customer devices. Edge locations as referred to herein can be structured in a variety of ways. In some embodiments, edge locations can be an extension of the underlying cloud provider network, including a limited amount of capacity provided outside the availability zone (e.g., in a small data center of a cloud provider or in other facilities located near customer workloads and possibly far from any availability zone). Such edge locations can be referred to as "far zones" (due to being far from other availability zones) or "near zones" (due to being close to customer workloads). Near zones can be connected to publicly accessible networks such as the Internet in various ways (e.g., directly, via another network, or via a dedicated connection to a region). Although near zones typically have more limited capacity than a certain region, in some cases, near zones may have considerable capacity, such as thousands or more racks.

[0069] In some embodiments, an edge location may be an extension of a cloud provider network underlay formed by one or more servers located locally at a customer or partner facility, where such servers communicate with a nearby availability zone or region of the cloud provider network 203 over a network (e.g., a publicly accessible network such as the Internet). This type of underlay extension located outside of a cloud provider network data center may be referred to as an "outpost" of the cloud provider network 203. Some outposts may be integrated into a communications network, for example, as a multi-access edge computing (MEC) site whose physical infrastructure is distributed across a telecom data center, a telecom aggregation site, and / or a telecom base station within a telecom network. In a local example, the limited capacity of the outpost may be available only to the customer who owns the premises (and any other accounts permitted by the customer). In a telecom example, the limited capacity of the outpost may be shared among multiple applications (e.g., games, virtual reality applications, healthcare applications) that send data to users of the telecom network.

[0070] Edge locations may include data plane capacity that is at least partially controlled by a control plane of a nearby availability zone of the cloud provider network 203. Thus, an availability zone group may include a "parent" availability zone and any "child" edge locations that are subordinate to the parent availability zone (e.g., at least partially controlled by its control plane). Certain limited control plane functionality (e.g., features that require low-latency communication with customer resources, and / or features that enable the edge location to continue to operate when disconnected from the parent availability zone) may also exist in some edge locations. Thus, in the above examples, an edge location refers to an extension of at least data plane capacity located at the edge of the cloud provider network 203, close to customer devices and / or workloads.

[0071] exist Figure 1 In the example of Figure 1 )、centralized computing device 115( Figure 1 ) and core computing device 118 ( Figure 1 ) can be implemented as a provider underlay extension 224 of the cloud provider network 203. The installation or location of the provider underlay extension 224 within the communication network 100 may vary depending on the specific network topology or architecture of the communication network 100. The provider underlay extension 224 can generally be connected to any location of the communication network 100 where packet-based traffic (e.g., IP-based traffic) can be interrupted. In addition, communications between a given provider underlay extension 224 and the cloud provider network 203 are generally securely transited through at least a portion of the communication network 100 (e.g., via a secure tunnel, a virtual private network, a direct connection, etc.).

[0072] In the 5G wireless network development work, edge locations can be considered as a possible implementation of multi-access edge computing (MEC). Such edge locations can be connected to various points in the 5G network, which provide interruptions for data traffic as part of the user plane function (UPF). Older wireless networks may also contain edge locations. For example, in a 3G wireless network, an edge location can be connected to a packet-switched network portion of the communication network 100, such as a connection to a serving general packet radio service support node (SGSN) or to a gateway general packet radio service support node (GGSN). In a 4G wireless network, an edge location can be connected to a serving gateway (SGW) or a packet data network gateway (PGW) as part of a core network or an evolved packet core (EPC). In some embodiments, traffic between the provider underlying extension 224 and the cloud provider network 203 can be interrupted from the communication network 100 without being routed through the core network.

[0073] In some embodiments, the provider underlay extension 224 may be connected to more than one communication network associated with a respective customer. For example, when two communication networks of respective customers share or route traffic through a common point, the provider underlay extension 224 may be connected to both networks. For example, each customer may allocate a portion of its network address space to the provider underlay extension 224, and the provider underlay extension 224 may include a router or gateway 251 that may distinguish traffic exchanged with each of the communication networks 100. For example, traffic from one network to the provider underlay extension 224 may have a different destination IP address, source IP address, and / or virtual local area network (VLAN) tag than traffic received from another network. Traffic originating from the provider underlay extension 224 to a destination on one of the networks may be similarly encapsulated with an appropriate VLAN tag, source IP address (e.g., from a pool allocated to the provider underlay extension 224 from the destination network address space), and destination IP address.

[0074] Figure 2B Depicted is a communication network 100 ( Figure 1 ) to provide a highly available user plane function (UPF). Figure 2BIn the example, user device 254 communicates with request router 255 to route the request to one of multiple control plane cells 257a and 257b. Each control plane cell 257 may include a network service API gateway 260, a network slice configuration 262, a network service monitoring function 264, site planning data 266 (including layout, device type, number of devices, etc. describing customer site requirements), a network service / function catalog 268, a network function orchestrator 270, and / or other components. A larger control plane may be divided into multiple cells to reduce the likelihood of large-scale errors affecting a wide range of customers, for example by having one or more cells per customer, per network, or per independently operated region.

[0075] The network service / function directory 268 is also referred to as the NF repository function (NRF). In a service-based architecture (SBA) 5G network, control plane functions and a common data repository can be delivered through a set of interconnected network functions built using a microservices architecture. The NRF can maintain a record of available NF instances and the services they support, allowing other NF instances to subscribe and notify registrations from NF instances of a given type. Thus, the NRF can support service discovery by receiving discovery requests from NF instances and details of which NF instances support specific services. The network function orchestrator 270 can perform NF lifecycle management, including instantiation, scale-out / scale-in, performance measurement, event correlation, and termination. The network function orchestrator 270 can also onboard new NFs, manage migration to new or updated versions of existing NFs, identify sets of NFs that are suitable for a specific network slice or larger network, and provide support in the construction of radio-based networks 103( Figure 1 ) to orchestrate NFs between different computing devices and sites.

[0076] The control plane cell 257 may communicate with one or more cell sites 272, one or more customer local data centers 274, one or more local zones 276, and one or more regional zones 278 via a RAN interface 273. The RAN interface 273 may include an application programming interface (API) that facilitates provisioning or release of capacity in a RAN operated by a third-party communication service provider at the cell site 272. The cell site 272 includes computing hardware 280 that executes one or more distributed unit (DU) network functions 282. The customer local data center 274 includes computing hardware 283 that executes one or more DU or central unit (CU) network functions 284, a network controller 285, a UPF 286, one or more edge applications 287 corresponding to customer workloads, and / or other components.

[0077] The local region 276 (which may be located in a data center operated by a cloud service provider) may execute one or more core network functions 288, such as AMF, SMF, a network open function (NEF) that securely exposes the services and capabilities of other network functions, and a unified data management (UDM) function that manages subscriber data for authorization, registration, and mobility management. The local region 276 may also execute UPF 286, a metric processing service 289, and one or more edge applications 287.

[0078] A regional zone 278 (which may be located in a data center operated by a cloud service provider) may execute one or more core network functions 288; a UPF 286; an operations support system (OSS) 290 that supports network management systems, service delivery, service implementation, service assurance, and customer service; an Internet Protocol Multimedia Subsystem (IMS) 291; a business support system (BSS) 292 that supports product management, customer management, revenue management, and / or order management; one or more portal applications 293, and / or other components.

[0079] In this example, the communication network 100 employs a cellular architecture to reduce the blast radius of each component. At the top level, the control plane is located in multiple control plane cells 257 to prevent a single control plane failure from affecting all deployments.

[0080] Within each control plane cell 257, multiple redundant stacks can be provided, with the control plane shifting traffic to secondary stacks as needed. For example, a cell site 272 can be configured to utilize a nearby local region 276 as its default core network. In the event that the local region 276 experiences an outage, the control plane can redirect the cell site 272 to use a backup stack in a regional region 278. Traffic that would normally be routed from the Internet to the local region 276 can be shifted to endpoints in the regional region 278. Each control plane cell 257 can implement a "stateless" architecture that shares a common session database across multiple sites, such as across availability zones or edge sites.

[0081] Figure 3A An example of an underlying extension 224 (including geographically dispersed providers) is shown according to some embodiments. Figure 2A) (or "edge location 303"). As shown, the cloud provider network 203 can be formed into multiple regions 306, where a region 306 is a separate geographic area in which the cloud provider has one or more data centers 309. Each region 306 may include two or more availability zones (AZs) connected to each other via a private high-speed network such as, for example, a fiber optic communication connection. An availability zone refers to an isolated fault domain that includes one or more data center facilities that have separate power, separate networking, and separate cooling relative to other availability zones. The cloud provider may strive to locate availability zones within a region 306 far enough apart from each other that natural disasters, large-scale power outages, or other unexpected events do not take more than one availability zone offline at the same time. Customers can connect to resources within an availability zone of the cloud provider network 203 via a publicly accessible network (e.g., the Internet, a cellular communication network, a communication service provider network). A transit center (TC) is the main backbone location that links customers to the cloud provider network 203 and may be co-located in other network provider facilities (e.g., an Internet service provider, a telecommunications provider). Each region 306 may operate two or more TCs for redundancy. The regions 306 are connected to a global network that includes a private networking infrastructure (e.g., a fiber connection controlled by a cloud service provider) that connects each region 306 to at least one other region. The cloud provider network 203 may deliver content from points of presence (PoPs) that are external to but networked with these regions 306 through edge locations 303 and regional edge cache servers. This division and geographic distribution of computing hardware enables the cloud provider network 203 to provide customers with low-latency resource access with a high degree of fault tolerance and stability on a global scale.

[0082] The number of edge locations 303 can be much higher than the number of regional data centers or availability zones. This widespread deployment of edge locations 303 can provide low-latency connectivity to the cloud for a much larger group of end-user devices (compared to those end-user devices that happen to be very close to regional data centers). In some embodiments, each edge location 303 can be peered to a portion of the cloud provider network 203 (e.g., a parent availability zone or regional data center). This peering allows various components operating in the cloud provider network 203 to manage the computing resources of the edge locations 303. In some cases, multiple edge locations 303 can be located or installed in the same facility (e.g., separate racks of computer systems) and managed by different zones or data centers 309 to provide additional redundancy. It should be noted that although edge locations 303 are generally depicted herein as being in a communications service provider network or radio-based network 103 ( Figure 1), but in some cases, such as when cloud provider network facilities are relatively close to communications service provider facilities, edge location 303 can remain within the physical premises of cloud provider network 203 while being connected to the communications service provider network via optical fiber or another network link.

[0083] Edge location 303 can be structured in many ways.In some embodiments, edge location 303 can be an extension of the underlying cloud provider network, including a limited amount of capacity provided outside the available zone (e.g., in a small data center 309 of a cloud provider or in other facilities located near the customer workload and possibly far from any available zone).Such edge location 303 can be referred to as a local area (therefore more local or closer to a group of users than traditional available zones). The local area can be connected to a public accessible network such as the Internet in various ways (such as directly, via another network or via a dedicated connection with region 306).Although usually the local area has a more limited capacity than region 306, in some cases, the local area may have considerable capacity, such as thousands or more racks.Some local areas can use infrastructure similar to a typical cloud provider data center, rather than the edge location 303 infrastructure described herein.

[0084] As indicated herein, the cloud provider network 203 can be formed into multiple regions 306, where each region 306 represents a geographic region in which the cloud provider clusters data centers 309. Each region 306 can also include multiple (e.g., two or more) availability zones (AZs) connected to each other via a private high-speed network such as a fiber optic communication connection. The AZ can provide an isolated fault domain including one or more data center facilities, which have separate power supplies, separate networking, and separate cooling relative to those data center facilities in another AZ. Preferably, the AZs within a region 306 are far enough apart from each other that the same natural disaster (or other failure-inducing event) does not affect more than one AZ at the same time or take more than one AZ offline. Customers can connect to the AZs of the cloud provider network 203 via a publicly accessible network (e.g., the Internet, a cellular communication network).

[0085] A given edge location 303 as a parent of an AZ or region 306 of a cloud provider network 203 can be based on many factors. One such parent factor is data sovereignty. For example, in order to keep data originating from a communication network in a certain country in the country, an edge location 303 deployed in the communication network can be a parent of an AZ or region 306 of the country. Another factor is the availability of services. For example, some edge locations 303 may have different hardware configurations, such as whether there are components, such as local non-volatile storage devices (e.g., solid-state drives), graphics accelerators, etc. for customer data. Some AZs or regions 306 may lack services that utilize these additional resources, so edge locations 303 can be parents of AZs or regions 306 that support the use of these resources. Another factor is the latency between an AZ or region 306 and an edge location 303. Although there are latency benefits to deploying edge locations 303 in a communication network, those benefits may be offset by using edge locations 303 as parents of distant AZs or regions 306, which can introduce significant latency to edge location 303 to regional traffic. Thus, edge location 303 is typically a parent of a nearby (in terms of network latency) AZ or zone 306 .

[0086] Figure 3B An example of a networked environment 200 is shown that includes a virtual private cloud network 107 that spans a cloud provider network 203 to include client devices 215, such as wireless devices 106 ( Figure 1 ). Cloud provider network 203 may include one or more cloud services 320, one or more firewalls 323, one or more gateways 326, one or more virtual routers 329, and / or other components. Virtual private cloud network 107 may correspond to a software-defined network that exists on top of or virtually within heterogeneous physical and logical networks.

[0087] The virtual private cloud network 107 can support access control and security management, which can be applied to the entire virtual private cloud network 107 and to a subset (such as a security group) of the virtual private cloud network 107. The virtual private cloud network 107 can be operated by a cloud provider for a customer such as an enterprise, an educational institution, a government, or another organization. The virtual private cloud network 107 can include one or more private network links to one or more internal networks that are separate from the cloud provider network 203 and operated by the customer, so that devices on those internal networks are also connected to the virtual private cloud network 107.

[0088] Cloud services 320 may be configured to implement a wide variety of functionality. In various embodiments, individual cloud services 320 may provide services that allow customers to dynamically launch and manage physical or virtual computing resources, such as machine instances, eventually consistent data storage services with data stored in corresponding storage buckets, database services that support key-value and document data structures, distributed message queue services, workflow management services, and / or other services. Each cloud service 320 may be associated with a corresponding application programming interface (API) that supports a set of calls or operations that the corresponding cloud service 320 may perform. Calling the API may call a series of many different services or agents to perform operations and process data.

[0089] Firewall 323 can be configured within a rule set to configure what types of network traffic can be sent within virtual private cloud network 107. Firewall 323 can support various functions, such as logging, intrusion detection, denial of service protection, malware filtering, etc. Gateway 326 can selectively forward network traffic to enable virtual private cloud network 107 to communicate with external networks such as the Internet, other virtual private cloud networks, or other resources in cloud provider network 203 that are not within virtual private cloud network 107. In some embodiments, gateway 326 can perform network address translation (NAT) to provide publicly routable network addresses to devices with private network addresses on virtual private cloud network 107. Although firewall 323 and gateway 326 are not in the same network, they are not in the same network. Figure 3B 324 ( FIG. 10A ) is shown as being located in the cloud provider network 203, but in other examples, the firewall 323 and / or gateway 326 may be located via the provider underlying extension 224 ( Figure 2A ) at edge position 303( Figure 3A ) shall be implemented.

[0090] In some embodiments, the client device 215 can execute mobile device management software using a management agent. Such mobile device management software may require the client device 215 to connect only through the virtual private cloud network 107 and not through other network connections to prevent data leakage. Alternatively, the mobile device management software may require sensitive applications to communicate only through the virtual private cloud network 107.

[0091] A given virtual router 329 includes a collection of nodes for multiple layers of packet processing services, including fast path nodes that are configured to quickly execute locally cached routing or forwarding actions, and exception path nodes that determine actions to be taken for different packet flows based on customer-specified policies and connectivity requirements of the isolated networks. In scenarios where dynamic routing is implemented for application data traffic between pairs of isolated networks using a routing information exchange protocol (e.g., a protocol similar to the Border Gateway Protocol (BGP)), the processing of messages containing dynamic routing information can be offloaded from the virtual router nodes to protocol processing engines running on other devices, thereby enabling the virtual router nodes to remain dedicated to their primary task of rule-based packet forwarding.

[0092] Virtual routers 329 implemented in different geographic regions (e.g., using resources at data centers located in different states, countries, or continents) can be programmatically attached (or "peer") to each other and configured to obtain and automatically exchange dynamic routing information related to isolated networks in different regions using a protocol similar to BGP, thereby eliminating the need for clients to laboriously configure static routes for traffic flowing between isolated networks. Clients can specify various parameters and settings (such as specific protocol versions to use, rules for filtering routing information to be advertised to or from virtual routers 329, etc.) to control the manner in which routing information is transmitted between virtual routers 329. Wide Area Network (WAN) services can be implemented at provider networks using programmatically attached virtual routers with dynamic routing enabled, allowing clients to leverage the provider network's private fiber backbone links (already used for traffic between the provider network's data centers on behalf of users of various other services) for traffic between client premises and cellular network slices distributed around the world, and manage their long-distance traffic using easy-to-use tools with visual interfaces. The virtual router 329 can provide connectivity between different network slices of one or more radio-based networks 103 corresponding to different subnets of the virtual private cloud network 107.

[0093] refer to Figure 4, shows a networked environment 400 according to various embodiments. The networked environment 400 includes a computing environment 403, one or more client devices 406, one or more radio access networks (RAN) 409, a spectrum reservation service 410, and one or more radio-based networks 103, which communicate data with each other via a network 412. The network 412 includes, for example, the Internet, an intranet, an extranet, a wide area network (WAN), a local area network (LAN), a wired network, a wireless network, a cable TV network, a satellite network, or other suitable networks, or any combination of two or more such networks. The RAN 409 can be operated by multiple different communication service providers. In some cases, one or more of the RAN 409 can be provided by a cloud provider network 203 ( Figure 2A ) or customer operations of the cloud provider network 203.

[0094] The computing environment 403 may include, for example, a server computer or any other system that provides computing capacity. Optionally, the computing environment 403 may employ multiple computing devices, which may be, for example, arranged in one or more server groups or computer groups or other arrangements. Such computing devices may be located in a single device or may be distributed in many different geographical locations. For example, the computing environment 403 may include multiple computing devices, which together may include managed computing resources, grid computing resources, and / or any other distributed computing arrangements. In some cases, the computing environment 403 may correspond to elastic computing resources, wherein the allocated capacity of processing, network, storage, or other computing-related resources may vary over time. For example, the computing environment 403 may correspond to a cloud provider network 203, wherein the client is charged based on the computing resource usage of the client based on a utility computing model.

[0095] In some embodiments, computing environment 403 may correspond to a virtualized private network within a physical network, including, for example, virtual machine instances executed on physical computing hardware through a hypervisor. The virtual machine instances and any containers running on these instances may obtain network connectivity through virtualized network components enabled by physical network components, such as routers and switches.

[0096] According to various embodiments, various applications and / or other functions may be executed in the computing environment 403. In addition, various data are stored in a data storage area 415 accessible to the computing environment 403. It is understood that the data storage area 415 may represent a plurality of data storage areas 415. The data stored in the data storage area 415 is associated with the operation of various applications and / or functional entities described below, for example.

[0097] The computing environment 403, which is part of a cloud provider network that provides utility computing services, includes computing devices 418 and other types of computing devices. The computing devices 418 may correspond to different types of computing devices 418 and may have different computing architectures. The computing architectures may differ by using processors with different architectures, such as x86, x86_64, ARM, Scalable Processor Architecture (SPARC), PowerPC, etc. For example, some computing devices 418 may have x86 processors, while other computing devices 418 may have ARM processors. The computing devices 418 may also differ in available hardware resources, such as local storage, graphics processing units (GPUs), machine learning extensions, and other features.

[0098] The computing device 418 can have various forms of allocated computing capacity 421, which can include virtual machine (VM) instances, containers, serverless functions, and the like. VM instances can be instantiated from VM images. To this end, a customer can specify that a virtual machine instance should be launched in a specific type of computing device 418, but not in other types of computing devices 418. In various examples, a VM instance can be executed alone on a specific computing device 418, or multiple VM instances can be executed on a specific computing device 418. In addition, a specific computing device 418 can execute different types of VM instances, which can provide different amounts of available resources via the computing device 418. For example, some types of VM instances may provide more memory and processing power than other types of VM instances.

[0099] Components executing on computing environment 403 include, for example, a virtual private cloud (VPC) management service 424, one or more network services 427, and other applications, services, processes, systems, engines, or functions not discussed in detail herein. VPC management service 424 is executed to configure and manage one or more virtual private cloud networks 107 ( Figure 1 ) operations. To this end, VPC management service 424 may generate a series of user interfaces or may support an application programming interface (API) that enables virtual private cloud network 107 to be initially created and then modified. VPC management service 424 may implement configuration of access control lists, security grouping, network slicing, encryption, decryption, network address allocation and routing, elastic network interfaces, gateways, firewalls, and / or other components of virtual private cloud network 107.

[0100] Network services 427 include various services that support virtual private cloud network 107 and underlying physical and logical networks. To this end, network services 427 can perform routing, bridging, translation, firewall, tunneling, encryption, decryption, logging and / or other functions to support the flow of network traffic in networked environment 400.

[0101] The data stored in the data storage area 415 includes, for example, one or more network plans 439, one or more cellular topologies 442, one or more spectrum allocations 445, device data 448, one or more RBN metrics 451, customer billing data 454, radio unit configuration data 457, antenna configuration data 460, network function configuration data 463, one or more network function workloads 466, one or more customer workloads 469, one or more network slices 470, one or more QoS requirements 471, one or more address configurations 472, one or more access control lists 473, one or more encryption configurations 474, one or more firewall rule sets 475, and possibly other data.

[0102] The network plan 439 is a specification of the radio-based network 103 to be deployed for the customer. For example, the network plan 439 may include the location of premises or geographic areas to be covered, the number of cells, device identification information and permissions, the expected maximum network latency, the expected bandwidth or network throughput for one or more classes of devices, one or more quality of service parameters for applications or services, one or more routes to be covered by the RBN 103, the coverage schedule of the RBN 103 or a portion of the RBN 103, the periodic coverage schedule of the RBN 103 or a portion of the RBN 103, the start time of the RBN 103 or a portion of the RBN 103, the end time of the RBN 103 or a portion of the RBN 103, which virtual private cloud networks 107 will be supported at various locations in the RBN 103, and / or other parameters that can be used to create a radio-based network 103. The customer can manually specify one or more of these parameters via a user interface. One or more parameters can be pre-filled with default parameters. In some cases, the network plan 439 can be generated for the customer based at least in part on an automated site survey using an unmanned aerial vehicle. The parameter values ​​defining network plan 439 can be used as a basis for cloud service providers to bill customers under a utility computing model. For example, in a service level agreement (SLA), customers may be charged higher fees for lower latency targets and / or higher bandwidth targets, and customers may be charged per device, per cell, based on geographic area served, based on spectrum availability, etc. In some cases, network plan 439 may include thresholds and reference parameters determined at least in part based on automatic detection of the customer's existing private network.

[0103] The cellular topology 442 includes an arrangement of multiple cells for customers that takes into account spectrum reuse given the location of the cells. The cellular topology 442 can be automatically generated given a site survey. In some cases, the number of cells in the cellular topology 442 can be automatically determined based on the desired geographic area to be covered, the availability of backhaul connections at various sites, signal propagation, available spectrum, and / or other parameters. For radio-based networks 103, the cellular topology 442 can be developed to cover one or more buildings on an organizational campus, one or more schools in a school district, one or more buildings in a university or university system, and other areas.

[0104] Spectrum allocation 445 includes spectrum available for allocation to radio-based network 103 and spectrum currently allocated to radio-based network 103. Spectrum may include spectrum that is publicly accessible without restriction, spectrum that is personally owned or leased by customers, spectrum that is owned or leased by providers, spectrum that is free to use but requires reservation, and the like.

[0105] The device data 448 corresponds to data describing the wireless devices 106 that are allowed to connect to the radio-based network 103. The device data 448 includes the corresponding user, account information, billing information, data plan, allowed applications or uses, an indication of whether the wireless device 106 is mobile or fixed, location, current cell, network address, device identifier (e.g., International Mobile Equipment Identity (IMEI) number, Equipment Serial Number (ESN), Media Access Control (MAC) address, Subscriber Identity Module (SIM) number, etc.), etc. In one embodiment, the SIM can be used to connect the client device 215 ( Figure 3B ) is mapped to a specific virtual private cloud network 107. Individual wireless devices 106 may use an embedded SIM (eSIM) instead of or in addition to a physical removable SIM. In addition, in some cases, a wireless device 106 may have multiple SIMs and / or multiple eSIMs, which in turn may each be associated with a corresponding virtual private cloud network in multiple virtual private cloud networks 107.

[0106] RBN metrics 451 include various metrics or statistics that indicate the performance or health of the radio-based network 103. Such RBN metrics 451 may include bandwidth metrics, packet drop metrics, signal strength metrics, latency metrics, etc. RBN metrics 451 may be aggregated on a per-device basis, a per-cell basis, a per-client basis, etc.

[0107] The customer billing data 454 specifies charges incurred by the customer as a result of the provider operating the radio-based network 103 for the customer. Charges may include fixed costs based on the equipment deployed to the customer and / or usage costs based on utilization determined by tracked usage metrics. In some cases, the customer may purchase the equipment upfront and may only have to pay for bandwidth or backend network costs. In other cases, the customer may not incur any upfront costs and may be charged only based on usage. By providing equipment to customers based on a utility computing model, the cloud service provider can select the optimal configuration of equipment to meet customer target performance metrics while avoiding over-provisioning of unnecessary hardware.

[0108] Radio configuration data 457 may correspond to configuration settings of radios deployed in radio-based network 103. Such settings may include frequencies to use, protocols to use, modulation parameters, bandwidth, network routing and / or backhaul configuration, and the like.

[0109] Antenna configuration data 460 may correspond to configuration settings for the antenna, including the frequency to be used, azimuth, vertical or horizontal orientation, beam tilt, and / or other parameters that may be controlled automatically or manually by instructing a user to mount the antenna in a certain manner or to make physical changes to the antenna (e.g., by connecting to a network of motors and controls on the antenna).

[0110] The network function configuration data 463 corresponds to configuration settings for configuring the operation of various network functions for the radio-based network 103. In various embodiments, the network functions may be deployed in VM instances or containers located in a computing device 418, which is located at a cell site, a customer aggregation site, or a data center remote from the customer. Non-limiting examples of network functions may include access and mobility management functions, session management functions, user plane functions, policy control functions, authentication server functions, unified data management functions, application functions, network exposure functions, network function repositories, network slice selection functions, and / or other functions. The network function workload 466 corresponds to a machine image, container, or function to be launched in the allocated computing capacity 421 to perform one or more network functions.

[0111] Customer workloads 469 correspond to customer machine images, containers, or functions that can be executed in conjunction with or in place of network function workloads 466 in allocated computing capacity 421. For example, customer workloads 469 can provide or support customer applications or services. In various examples, customer workloads 469 relate to factory automation, autonomous robotics, augmented reality, virtual reality, design, monitoring, and the like.

[0112] The network slice 470 corresponds to a network traffic flow specified for one or more specific quality of service requirements 471. These flows can correspond to flows associated with a specific application executed on a specific client device 406, all network traffic from a specific client device 406, flows from all client devices 406 to a specific destination, flows from a specific client device 406 to a specific destination, flows associated with a virtual private cloud network 107, flows associated with a subnet within a virtual private cloud network 107, and the like. In one example, the network slice 470 is identified by a source port, a source network address, a destination port, a destination network address, and / or other information. The network slice 470 can be valid for a specific period of time or a specific amount of data, or the network slice 470 can be valid until it is canceled or released. In one example, the network slice 470 is allocated on demand for a specific application executed on the client device 406. In some scenarios, the network slice 470 has a specific recurring validity period (e.g., every weekday evening from midnight to 5 a.m.), or the quality of service requirements 471 for the network slice 470 can change based on the recurring period, current cost levels, and / or other factors or events.

[0113] Additionally, network slices 470 may be associated with different security properties to provide differentiated management for potentially multiple network slices 470 associated with a single virtual private cloud network 107. For example, a first network slice 470 may correspond to a management server with greater access rights, while a second network slice 470 may correspond to an end user's client device 215 with more limited access rights. Figure 3B ).

[0114] The quality of service requirement 471 may correspond to a minimum or maximum bandwidth, a minimum or maximum delay, a minimum or maximum reliability measure, a minimum or maximum signal strength, etc. The quality of service requirement 471 may be associated with a corresponding cost level, which may include a fixed component, a usage-based component, and / or a congestion-based component. For example, the quality of service requirement 471 may be associated with a recurring monthly fixed cost, a per-session or per-megabyte cost, and / or a dynamic cost based on congestion at a cell site or a specific network link. In some cases, a customer may select a quality of service requirement 471 that provides a high level of service. However, in other cases, a customer may select a quality of service requirement 471 that provides a low cost level but reduces the quality of service at certain times or in certain aspects. For example, a customer may select a quality of service requirement 471 that allows high throughput overnight and other lower priority throughputs to send backup data over the network at a low cost.

[0115] The address configuration 472 configures the allocation of network addresses to various client devices 215 for the virtual private cloud network 107. Such network addresses may include IPv4 addresses, IPv6 addresses, and / or other types of addresses. For example, the virtual private cloud network 107 may have a private network address space with multiple subnets, and different subnets may be associated with different access control lists 473, security groups, network slices 470, QoS requirements 471, etc. The address configuration 472 provides how a specific device identified in the device data 448 (e.g., by a SIM) is assigned a network address, and from which network address blocks. In some cases, the address configuration 472 may indicate that a publicly routable network address is assigned.

[0116] Access control lists 473 may define which devices (or subnets) in virtual private cloud network 107 are permitted to access other devices (or subnets) in virtual private cloud network 107. Access control lists 473 may also specify access controls on a per-application or per-port basis. Access control lists 473 may refer to different subsets of security groups or devices within virtual private cloud network 107 that are affected by management actions of VPC management service 424 that may affect all members of the group.

[0117] The encryption configuration 474 may define the encryption and decryption to be used within the virtual private cloud network 107. In some cases, the encryption configuration 474 may define that a combination of point-to-point encryption and end-to-end encryption will be used. End-to-end encryption may be provided by a service executing on each network host in the virtual private cloud network 107 or by an initial gateway 326 ( Figure 3B ) is implemented for services executed on the wireless network. Point-to-point encryption can be implemented for different links within the network, such as, for example, a private link to a customer's internal network, or a link to and from the radio-based network 103.

[0118] Firewall rule set 475 can define firewalls 323 ( Figure 3B ) that are used by the firewall. These rules can configure when to drop network traffic, what network traffic to log, denial of service protection, malware protection, and / or other types of firewall rules.

[0119] Client device 406 represents a plurality of client devices 406 that may be coupled to network 412. Client device 406 may include, for example, a processor-based system, such as a computer system. Such a computer system may be embodied in the form of a desktop computer, a laptop computer, a personal digital assistant, a cellular phone, a smart phone, a set-top box, a music player, a webpad, a tablet computer system, a game console, an e-book reader, a smart watch, a head-mounted display, a voice interface device, or other device. Client device 406 may include a display including, for example, one or more devices such as a liquid crystal display (LCD), a gas plasma-based flat panel display, an organic light emitting diode (OLED) display, an electrophoretic ink (E-ink) display, an LCD projector, or other types of display devices, etc.

[0120] The client device 406 may be configured to execute various applications, such as the client application 436 and / or other applications. The client application 436 may be executed in the client device 406, for example, to access network content provided by the computing environment 403 and / or other servers, thereby presenting a user interface on a display. To this end, the client application 436 may include, for example, a browser, a dedicated application, etc., and the user interface may include a web page, an application screen, etc. The client device 406 may be configured to execute applications other than the client application 436, such as, for example, an email application, a social networking application, a word processor, a spreadsheet, and / or other applications.

[0121] In some embodiments, spectrum reservation service 410 provides spectrum reservation for customer use in RAN 409. In one scenario, spectrum reservation service 410 is operated by an entity such as a third party to manage reservations and coexistence in publicly accessible spectrum. An example of such spectrum is Citizens Broadband Radio Service (CBRS). In another scenario, spectrum reservation service 410 is operated by a telecommunications service provider to sell or sublicense portions of spectrum owned or licensed by the provider.

[0122] Next reference Figure 5 , showing the provision of extension to a radio-based network 103 ( Figure 1 )'s virtual private cloud network 107( Figure 1 ) is a flowchart 500 of an example of the operation of a portion of a virtual private cloud network 107. It will be appreciated that the flowchart 500 merely provides an example of many different types of functional arrangements that may be used to implement the operation of a portion of a virtual private cloud network 107 as described herein. Alternatively, the flowchart 500 may be viewed as depicting an operation of a portion of a computing environment 403 ( Figure 4 ) is an example of an element of a method implemented in ).

[0123] Beginning with block 501, VPC management service 424 ( Figure 4 ) in a radio-based network 103 ( Figure 1 )'s network slice 470( Figure 4 ) to create a virtual private cloud network 107 ( Figure 1 ) of a subnet. For example, VPC management service 424 can respond to a request in cloud provider network 203 ( Figure 2A ) receives an API request to create a subnet in network slice 470 from a customer account associated with virtual private cloud network 107 to create a subnet. Network slice 470 can be associated with one or more QoS requirements 471 ( Figure 4 ) and other parameters for reserving capacity for the network slice 470 in the radio-based network 103. Capacity may include bandwidth, network function processing power (e.g., resources of a user plane function (UPF) or another network function), resources that provide lower latency, and the like.

[0124] In block 502, the VPC management service 424 registers with the client device 215 ( Figure 3B ) associated with one or more subscriber identity modules (SIMs) or embedded SIMs (eSIMs), the client device 215 should be permitted to access the virtual private cloud network 107 via the radio-based network 103. The identifier associated with the SIM or eSIM may be recorded in the device data 448 ( Figure 4 ) and / or access control list 473 ( Figure 4 For example, VPC management service 424 can register a SIM or eSIM in network slice 470 and / or virtual private cloud network 107 in response to receiving an API request to register a SIM or eSIM in one or both of network slice 470 and / or virtual private cloud network 107. The API request can be received from a customer account associated with virtual private cloud network 107 or network slice 470.

[0125] In block 503, a request to connect to the radio-based network 103 is received from a client device 215. For example, the client device 215 may be a wireless device 106 ( Figure 1 ), which is turned on and begins negotiating the radio access network 409 ( Figure 4 The client device 215 may communicate with a radio unit at a cell site of the radio access network 409.

[0126] In block 506, the radio-based network 103 identifies the client device 215. For example, the radio-based network 103 may determine an identifier presented by the client device 215 from a SIM or eSIM. In some cases, the client device 215 may have multiple SIMs or eSIMs. Other identifiers may include an International Mobile Equipment Identity (IMEI) number, an Equipment Serial Number (ESN), a Media Access Control (MAC) address, and / or other identifiers.

[0127] In block 507, the VPC management service 424 or a service in the core network of the radio-based network 103 determines the virtual private cloud network 107 that the client device 215 is permitted to access. In some cases, multiple virtual private cloud networks 107 may be accessible through the radio-based network 103. In one scenario, the radio-based network 103 is a private network operated by an organization with a single virtual private cloud network 107. In some cases, the client device 215 may be permitted to access multiple virtual private cloud networks 107. The VPC management service 424 may determine whether the client device 215 has access based on a comparison of an identifier (e.g., from a SIM) with the identifiers listed in the access control list 473. For example, a particular SIM or eSIM of the potential multiple SIMs or eSIMs in the client device 215 may be authorized to access a separate virtual private cloud network 107. In addition, although the client device 215 may be permitted to access the virtual private cloud network 107, the virtual private cloud network 107 may be enabled or disabled on a per-cell site basis in the radio-based network 103.

[0128] In block 509, the radio-based network 103 assigns a network address, such as an Internet Protocol (IP) address, to the client device 215 according to a rule set based at least in part on the virtual private cloud network 107. Although any client device 215 connected to the radio-based network 103 may be assigned a network address, the assigned network address in this case is based at least in part on the address configuration 472 associated with the virtual private cloud network 107 ( Figure 4 ) selected. That is, it is possible that if other hosts on the virtual private cloud network 107 are not connected to the radio-based network 103 and to the cloud provider network 203 ( Figure 2A ), then the hosts may be assigned network addresses within the same address block. In some cases, different groups of client devices 215 may be assigned to different subnets within the virtual private cloud network 107, which may then allow for the allocation of hosts with QoS requirements 471 ( Figure 4 ) access control and / or network slicing 470 ( Figure 4 ) are treated differently.

[0129] In block 512, VPC management service 424 generates a VPC message based on encryption configuration 474 ( Figure 4 ) Configure encryption for network traffic to and / or from client devices 215 within the virtual private cloud network 107. This may include end-to-end encryption and / or point-to-point encryption. For example, a network host on the virtual private cloud network 107 may be configured to execute a proxy or service to perform end-to-end encryption and tunneling. In addition, the radio-based network 103 and the gateway within the virtual private cloud network 107 may be configured to perform point-to-point encryption and tunneling. In some cases, encryption may employ a security key generated from or stored on a SIM of the client device 215.

[0130] In box 513, the VPC management service 424 configures a network slice 470 for the client device 215 according to the rule set, or assigns the client device 215 to an existing network slice 470 in the radio-based network 103 according to the rule set, which network slice may have one or more QoS requirements 471 related to latency, bandwidth, etc. For example, the radio-based network 103 can be deployed in a robotic factory, where a first group of robots operates during the day to perform manufacturing tasks and a second group of robots operates at night to perform cleaning tasks. The first group of robots can be assigned a different network address subnet and a different network slice 470 than the second group of robots. In addition, the QoS requirements 471 can change according to a schedule, for example, so that the network capacity is primarily available to the second group of robots at night. The network slice 470 can reserve bandwidth within the radio access network 409 and processing capacity in the core network, which can result in the network function workload 466 being transferred from the cloud provider network 203 to the provider underlay extension 224 ( Figure 2A ) of a cell site or other edge location 303 ( Figure 3A ) in order to meet QoS requirement 471 to reduce latency.

[0131] In block 515, the VPC management service 424 provides the client device 215 with access to the virtual private cloud network 107 through the radio-based network 103. Note that this is different from manually connecting the client device 215 to the virtual private cloud network 107 via a virtual private network (VPN) tunnel or private link, because the client device 215 simply connects to the radio-based network 103 (as if connecting to a 4G or 5G network), and the client device 215 automatically connects to the virtual private cloud network 107. For example, in some embodiments, additional authentication using credentials such as a username and password can be avoided. In addition, the network address assigned to the client device 215 is within the address block of the virtual private cloud network 107 and is not a public address or within another subnet of the radio-based network 103.

[0132] In block 518, the radio-based network 103 and network services 427 are potentially secured using one or more firewalls 323 ( Figure 3B ) and one or more gateways 326 ( Figure 3B ) through the virtual private cloud network 107 in one or more cloud services 320 ( Figure 3B ) and the client device 215, the firewall and gateway may enforce the access control list 473 ( Figure 4 ) in the security groups or access controls specified in the QoS requirements 471. The access control list 473 may also control access to one or more resources in the provider underlay extension 224 of the cloud provider network 203 hosted in the radio-based network 103. The network traffic may be subject to the network slice 470 provisioned for the client device 215 and to which one or more QoS requirements 471 apply.

[0133] Firewall 323 may enforce firewall rule set 475 ( Figure 4 ) to filter packets, transcode data, disconnect or block connections, log traffic, and so on. In some scenarios, the cloud service 320, gateway 326, and firewall 323 can be deployed on the provider underlying extension 224 in the radio-based network 103 (such as at a cell site, customer site, or other intermediate location) to meet the quality of service requirements 471. In such cases, network traffic can stay entirely within the radio-based network 103 or within an edge location / local region within the radio-based network 103 and will not cross the border into a regional data center. In some scenarios, the radio-based network 103 can enable communication between client devices 215 and other client devices 215 connected to the radio-based network 103 on the virtual private cloud network 107. In other scenarios, the client device 215 communicates with the cloud service 320, which is located on the cloud provider network 203 and the virtual private cloud network 107, but not on the radio-based network 103. In one example, the virtual router 329 ( Figure 3B ) may be used to connect the first network slice 470 with the second network slice 470, wherein the first and second network slices 470 are associated with different subnets of the virtual private cloud network 107. Thereafter, the flowchart 500 ends.

[0134] refer to Figure 6, a schematic block diagram of a computing environment 403 according to an embodiment of the present disclosure is shown. The computing environment 403 includes one or more computing devices 600. Each computing device 600 includes at least one processor circuit, for example, having a processor 603 and a memory 606, both of which are coupled to a local interface 609. To this end, each computing device 600 may include, for example, at least one server computer or similar device. The local interface 609 may include, for example, a data bus with an accompanying address / control bus or other bus structure that can be understood.

[0135] Stored in the memory 606 are data and several components executable by the processor 603. Specifically, stored in the memory 606 and executable by the processor 603 are the VPC management service 424, the network service 427, and possibly other applications. Also stored in the memory 606 are the data storage area 415 and other data. In addition, the operating system can be stored in the memory 606 and can be executed by the processor 603.

[0136] It should be understood that there may be other applications stored in the memory 606 and executable by the processor 603. Where any of the components discussed herein are implemented in software, any of a variety of programming languages ​​may be employed, such as, for example, C, C++, C#, Objective C, Perl, PHP, Visual Ruby, or other programming languages.

[0137] Many software components are stored in the memory 606 and can be executed by the processor 603. In this regard, the term "executable" refers to a program file in a form that can ultimately be run by the processor 603. Examples of executable programs can be, for example, compiled programs that can be translated into the following codes: machine code, whose format can be loaded into the random access portion of the memory 606 and run by the processor 603; source code, which can be expressed in an appropriate format, such as object code that can be loaded into the random access portion of the memory 606 and executed by the processor 603; or source code, which can be interpreted by another executable program to generate instructions in the random access portion of the memory 606 to be executed by the processor 603, etc. The executable program can be stored in any part or component of the memory 606, including, for example, random access memory (RAM), read-only memory (ROM), hard disk drive, solid state drive, USB flash drive, memory card, optical disk such as compact disk (CD) or digital versatile disk (DVD), floppy disk, tape, or other storage component.

[0138] Memory 606 is defined herein as including volatile and non-volatile memory and data storage components. Volatile components are those components that do not retain data values ​​when power is off. Non-volatile components are those components that retain data when power is off. Therefore, memory 606 may include, for example, random access memory (RAM), read-only memory (ROM), hard disk drive, solid state drive, USB flash drive, memory card accessed via a memory card reader, floppy disk accessed via an associated floppy disk drive, optical disk accessed via an optical drive, magnetic tape accessed via an appropriate tape drive, and / or other memory components, or any combination of two or more of these memory components. In addition, RAM may include, for example, static random access memory (SRAM), dynamic random access memory (DRAM) or magnetic random access memory (MRAM) and other such devices. ROM may include, for example, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or other similar memory devices.

[0139] In addition, the processor 603 may represent multiple processors 603 and / or multiple processor cores, and the memory 606 may represent multiple memories 606 operating in parallel processing circuits, respectively. In this case, the local interface 609 may be an appropriate network that facilitates communication between any two of the multiple processors 603, between any processor 603 and the memory 606, or between any two of the memories 606, etc. The local interface 609 may include additional systems designed to coordinate the communication, including, for example, performing load balancing. The processor 603 may be electrical or some other usable structure.

[0140] Although VPC management service 424, network service 427, and various other systems described herein may be embodied in software or code executed by general-purpose hardware as described above, they may alternatively be embodied in dedicated hardware or a combination of software / general-purpose hardware and dedicated hardware. If embodied in dedicated hardware, each may be implemented as a circuit or state machine using any one or combination of a variety of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions when one or more data signals are applied, application-specific integrated circuits (ASICs) with appropriate logic gates, field programmable gate arrays (FPGAs), or other components, etc. Such technologies are generally well known to those skilled in the art and are therefore not described in detail herein.

[0141] Flowchart 500 illustrates the functionality and operation of an implementation of portions of radio-based network 103 and virtual private cloud network 107. If embodied in software, each block may represent a module, segment, or portion of code that includes program instructions for implementing a specified logical function. The program instructions may be embodied in the form of source code, which includes human-readable statements written in a programming language, or in the form of machine code, which includes digital instructions that can be recognized by a suitable execution system such as processor 603 in a computer system or other system. The machine code may be converted from source code, etc. If embodied in hardware, each block may represent a circuit or multiple interconnected circuits to implement the specified logical function.

[0142] Although flowchart 500 shows a specific order of execution, it is understood that the order of execution may be different from the order depicted. For example, the order of execution of two or more blocks may be disrupted relative to the order shown. In addition, Figure 5 Two or more blocks shown in succession in the embodiment may be executed simultaneously or partially simultaneously. In addition, in some embodiments, Figure 5 One or more of the shown boxes may be skipped or omitted. In addition, any number of counters, state variables, warning semaphores or messages may be added to the logic flow described herein for purposes such as enhanced utility, accounting, performance measurement or providing troubleshooting assistance. It is understood that all such variations are within the scope of the present disclosure.

[0143] In addition, any logic or application including software or code described herein (including VPC management service 424 and network service 427) can be embodied in any non-transitory computer-readable medium for use by or in conjunction with an instruction execution system (such as, for example, processor 603 in a computer system or other system). In this sense, logic can include, for example, statements including instructions and declarations that can be extracted from a computer-readable medium and executed by an instruction execution system. In the context of the present disclosure, a "computer-readable medium" can be any medium that can contain, store, or maintain the logic or application described herein for use by or in conjunction with an instruction execution system.

[0144] Computer readable media may include any of a number of physical media, such as, for example, magnetic, optical, or semiconductor media. More specific examples of suitable computer readable media would include, but are not limited to, magnetic tape, magnetic floppy disk, magnetic hard drive, memory card, solid state drive, USB flash drive, or optical disk. In addition, the computer readable medium may be a random access memory (RAM), including, for example, a static random access memory (SRAM) and a dynamic random access memory (DRAM), or a magnetic random access memory (MRAM). In addition, the computer readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other types of memory devices.

[0145] In addition, any logic or application described herein (including VPC management service 424 and network service 427) can be implemented and structured in a variety of ways. For example, one or more applications described can be implemented as modules or components of a single application. In addition, one or more applications described herein can be executed in shared or separate computing devices or combinations thereof. For example, multiple applications described herein can be executed in the same computing device 600, or in multiple computing devices 600 in the same computing environment 403.

[0146] Unless otherwise specifically stated, disjunctive language such as the phrase "at least one of X, Y, or Z" should be understood in context as being generally used to present an item, term, etc. that can be X, Y, or Z, or any combination thereof (e.g., X, Y, and / or Z). Thus, such disjunctive language is generally not intended to, and should not, imply that certain embodiments require the presence of at least one of X, at least one of Y, or at least one of Z, respectively.

[0147] Embodiments of the present disclosure may be described by one or more of the following clauses:

[0148] Clause 1. A system comprising: a radio-based network comprising a network slice; and a cloud provider network hosting a virtual private cloud network having an associated Internet Protocol (IP) address range, the cloud provider network comprising at least one computing device, the at least one computing device being configured to at least: create a subnet of the virtual private cloud network in the network slice; register a subscriber identity module of a client device in one or both of the network slice and the virtual private cloud network; in response to a request from the client device to connect to the radio-based network, assign an IP address from the associated IP address range of the virtual private cloud network to the subscriber identity module; and provide the client device with access to the virtual private cloud network via the radio-based network.

[0149] Clause 2. The system of clause 1, wherein one or more resources of the virtual private cloud network are hosted on a provider underlay extension of the cloud provider network, the provider underlay extension being located in the radio-based network.

[0150] Clause 3. The system of clause 2, wherein an access control list of the virtual private cloud network is used to control access to the one or more resources hosted on the provider underlying extension.

[0151] Clause 4. A system according to clauses 1 to 3, wherein the at least one computing device is also configured to create at least the subnet in the network slice in response to receiving an API request to create the subnet in the network slice from a customer account associated with the virtual private cloud network at the cloud provider network.

[0152] Clause 5. A system according to clauses 1 to 4, wherein the at least one computing device is also configured to register the subscriber identity module in at least one or both of the network slice and the virtual private cloud network in response to receiving an API request at the cloud provider network to register the subscriber identity module in one or both of the network slice and the virtual private cloud network.

[0153] Clause 6. A system according to clauses 1 to 5, wherein the at least one computing device is also configured to use a virtual router of the cloud provider network to connect at least the network slice to another network slice having another subnet of the virtual private cloud network.

[0154] Clause 7. The system of clauses 1 to 6, wherein at least a portion of a core network of the radio-based network is hosted in the cloud provider network.

[0155] Clause 8. A computer-implemented method comprising: creating a subnet of a virtual private cloud network of a cloud provider network in a network slice of a radio-based network; registering a subscriber identity module of a client device in one or both of the network slice and the virtual private cloud network; receiving a request from the client device to connect to the radio-based network; in response to receiving the request from the client device to connect to the radio-based network, determining the virtual private cloud network that the client device is permitted to access; and in response to receiving the request from the client device to connect to the radio-based network, providing the client device with access to the virtual private cloud network through the radio-based network.

[0156] Clause 9. A computer-implemented method according to Clause 8, further comprising: receiving a request to connect to the radio-based network from a different client device; in response to receiving the request to connect to the radio-based network from the different client device, determining a different virtual private cloud network of the cloud provider network that the different client device is permitted to access; and in response to receiving the request to connect to the radio-based network from the different client device, providing the different client device with access to the different virtual private cloud network through the radio-based network.

[0157] Clause 10. The computer-implemented method of clauses 8-9, further comprising assigning a network address to the client device on the radio-based network according to a rule set associated with the virtual private cloud network.

[0158] Clause 11. A computer-implemented method according to clauses 8 to 10, further comprising assigning the client device to the network slice of the radio-based network according to a set of rules associated with the virtual private cloud network, the network slice being configured to meet quality of service requirements.

[0159] Clause 12. The computer-implemented method of clauses 8 to 11, further comprising encrypting communications sent to or from the client device via the radio-based network.

[0160] Clause 13. The computer-implemented method of clauses 8 to 12, further comprising configuring the client device to use an end-to-end encryption scheme when communicating with one or more other network hosts of the virtual private cloud network.

[0161] Clause 14. A computer-implemented method according to clauses 8 to 13, wherein providing the client device with access to the virtual private cloud network via the radio-based network also includes enabling the client device to communicate with another client device on the virtual private cloud network and connected via the radio-based network.

[0162] Clause 15. A computer-implemented method as described in clauses 8 to 14, wherein providing the client device with access to the virtual private cloud network via the radio-based network also includes enabling the client device to communicate with computing resources on the virtual private cloud network and connected via the cloud provider network rather than the radio-based network.

[0163] Clause 16. A computer-implemented method according to Clause 8, wherein determining the virtual private cloud network that the client device is permitted to access further comprises: identifying the client device based at least in part on the subscriber identity module (SIM) or embedded SIM (eSIM) of the client device; and determining the virtual private cloud network based at least in part on the SIM or eSIM.

[0164] Clause 17. A computer-implemented method comprising: receiving network traffic from a service executed in a virtual private cloud network of a cloud provider network; and forwarding the network traffic to a client device connected to the virtual private cloud network via a network slice configured for the virtual private cloud network in a radio-based network, the network slice being associated with one or more quality of service requirements.

[0165] Clause 18. The computer-implemented method of Clause 17, further comprising executing the service in a provider underlay extension of the cloud provider network located at a cell site of the radio-based network.

[0166] Clause 19. The computer-implemented method of clauses 17-18, further comprising providing firewall functionality of the virtual private cloud network to the network traffic within the radio-based network.

[0167] Clause 20. The computer-implemented method of clauses 17 to 19, further comprising providing end-to-end encryption of the network traffic from the service to the client device over the virtual private cloud network.

[0168] It should be emphasized that the above-mentioned embodiments of the present disclosure are merely possible implementation examples set forth for a clear understanding of the principles of the present disclosure. Many changes and modifications may be made to the above-mentioned embodiments without substantially departing from the spirit and principles of the present disclosure. In this article, all such modifications and changes are intended to be included within the scope of the present disclosure and are protected by the appended claims.

Claims

1. A system for extending a cloud-based virtual private network to a radio-based network, comprising: Radio-based networks, which include network slicing; as well as A cloud provider network hosting a virtual private cloud network having an associated Internet Protocol (IP) address range, a first subnet of the virtual private cloud network corresponding to an availability zone in the cloud provider network, the cloud provider network comprising at least one computing device, the at least one computing device configured to at least: Creating a second subnet of the virtual private cloud network in the network slice; registering an identifier of a subscriber identity module of a client device in one or both of the network slice and the virtual private cloud network; assigning the subscriber identity module to a security group of the virtual private cloud network; in response to a request from the client device to connect to the radio-based network, determining that an identifier presented in the request is authorized to connect to the radio-based network, and assigning an IP address from a second subnet of the virtual private cloud network to the subscriber identity module; as well as Based at least in part on the subscriber identity module being assigned to the security group, providing the client device with access to computing instances on a first subnet of the virtual private cloud network over the radio-based network.

2. The system of claim 1, wherein one or more resources of the virtual private cloud network are hosted on a provider underlay extension of the cloud provider network, the provider underlay extension being located in the radio-based network.

3. The system of claim 2, wherein an access control list of the virtual private cloud network is used to control access to the one or more resources hosted on the provider underlay extension.

4. A system according to claim 1, wherein the at least one computing device is further configured to create at least the second subnet in the network slice in response to receiving an API request to create the second subnet in the network slice from a customer account associated with the virtual private cloud network at the cloud provider network.

5. A system according to claim 1, wherein the at least one computing device is further configured to register the identifier of the subscriber identity module in at least one or both of the network slice and the virtual private cloud network in response to receiving an API request at the cloud provider network to register the identifier of the subscriber identity module in one or both of the network slice and the virtual private cloud network.

6. A system according to claim 1, wherein the at least one computing device is also configured to use a virtual router of the cloud provider network to connect at least the network slice to another network slice, wherein the other network slice has another third subnet of the virtual private cloud network.

7. The system of claim 1, wherein at least a portion of a core network of the radio-based network is hosted in the cloud provider network.

8. A computer-implemented method of extending a cloud-based virtual private network to a radio-based network, comprising: Creating a subnet of a virtual private cloud network of a cloud provider network in a network slice of the radio-based network; registering an identifier of a subscriber identity module of a client device in one or both of the network slice and the virtual private cloud network; assigning the subscriber identity module to a security group of the virtual private cloud network; receiving a request from the client device to connect to the radio-based network, the request presenting the identifier; In response to the identifier in the request, determining the virtual private cloud network to which the client device is permitted to access; as well as In response to receiving the request from the client device to connect to the radio-based network, providing the client device with access to computing instances on the virtual private cloud network over the radio-based network based at least in part on the assignment of the subscriber identity module to the security group.

9. The computer-implemented method of claim 8, further comprising: receiving requests from different client devices to connect to the radio-based network; the requests from the different client devices present different identifiers associated with different subscriber identity modules; determining, in response to the different identifier in the request from the different client device, a different virtual private cloud network of the cloud provider network to which the different client device is permitted to access; as well as In response to receiving the request from the different client device to connect to the radio-based network, providing the different client device with access to the different virtual private cloud network over the radio-based network.

10. The computer-implemented method of claim 8, further comprising: A network address is assigned to the client device on the radio-based network according to a rule set associated with the virtual private cloud network.

11. The computer-implemented method of claim 8, further comprising: The client device is assigned to the network slice of the radio-based network according to a set of rules associated with the virtual private cloud network, the network slice being configured to meet quality of service requirements.

12. The computer-implemented method of claim 8, further comprising: Communications sent to or from the client device via the radio-based network are encrypted.

13. The computer-implemented method of claim 8, further comprising: The client device is configured to use an end-to-end encryption scheme when communicating with one or more other network hosts of the virtual private cloud network.

14. The computer-implemented method of claim 8, further comprising: The client device is enabled to communicate with another client device on the virtual private cloud network and connected through the radio-based network.

15. The computer-implemented method of claim 8, further comprising: The client device is enabled to communicate with computing resources on the virtual private cloud network and connected through the cloud provider network rather than the radio-based network.

16. The computer-implemented method of claim 8, wherein determining the virtual private cloud network that the client device is permitted to access further comprises: identifying the client device based at least in part on an identifier of the Subscriber Identity Module SIM or embedded SIMeSIM of the client device; as well as The virtual private cloud network is determined based at least in part on the SIM or eSIM.

17. A computer-implemented method of extending a cloud-based virtual private network to a radio-based network, comprising: receiving network traffic from a service executing in a virtual private cloud network of a cloud provider network, the service on a first subnet of the virtual private cloud network; as well as determining, based at least in part on a subscriber identity module of the client device being assigned to a security group of the virtual private cloud network, that the network traffic is permitted to be forwarded to the client device, the client device being connected to the virtual private cloud network via a network slice configured for the virtual private cloud network in a radio-based network, the network slice being associated with one or more quality of service requirements, the network slice corresponding to a second subnet of the virtual private cloud network; as well as The network traffic is forwarded to the client device.

18. The computer-implemented method of claim 17, further comprising: The service is performed in a provider underlay extension of the cloud provider network located at a cell site of the radio-based network.

19. The computer-implemented method of claim 17, further comprising: Firewall functionality of the virtual private cloud network to the network traffic within the radio-based network is provided.

20. The computer-implemented method of claim 17, further comprising: End-to-end encryption of the network traffic from the service to the client device over the virtual private cloud network is provided.

Citation Information

Patent Citations

  • Network slice selection in wireless telecommunication networks

    CN110574439A

  • Systems and methods of supporting device triggered re-authentication of slice-specific secondary authentication and authorization

    CN113424564A