This disclosure relates generally to networks and, more particularly, to methods and apparatus to configure virtual private mobile networks with virtual private networks.
Virtualization of computing and networking platforms is becoming popular with clients and customers by providing flexible, customizable, on demand resources at a relatively low cost. A virtualized computing network, also known as a cloud computing network, enables clients to manage web-based applications and/or data resources by dynamically leasing computational resources and associated network resources from one or more service providers. These web-based applications, data resources, and/or routing resources may be used by customers of the clients, individuals associated with the clients, and/or by the clients. This dynamic leasing of computational and network resources creates an appearance and function of a distributed network and, thus, is referred to as virtualization of a network. Virtualized platforms utilize partitioning and allocation of network and/or computing resources. Accordingly, new resources provisioned for a client may be quickly added as needed within short periods of time by a network provider allocating an additional portion of shared resources to the client. Additionally, virtualization in a network enables network providers to dynamically multiplex resources among multiple clients without dedicating individual physical resources to each client.
Example methods, articles of manufacture, and apparatus to configure virtual private mobile networks with virtual private networks are disclosed. A disclosed example method includes logically provisioning, for a client, the virtual private mobile network to process wireless network communications associated with the client that correspond to a specified address space of the client. The example method also includes provisioning at least a portion of a server within a cloud computing data center to host resources for the client. The example method further includes configuring at least a portion of an edge router of the cloud computing data center to transmit the wireless network communications between the portion of the server and the virtual private mobile network. As used herein, the term “logically provisioning” refers to the establishment of network services by changing software controls, rather than by physically installing or rearranging hardware.
A disclosed example apparatus includes an interface to receive an instruction from a client to couple a first address space associated with the virtual private network of the client to a second address space associated with a virtual private mobile network provisioned within a wireless mobile network. The example apparatus further includes a client coupler to communicatively couple the virtual private mobile network to the virtual private network by transmitting a first message to routers within an Internet Protocol network to update routing and forwarding tables to associate the first address space with the second address space.
Currently, known wireless mobile networks enable subscribing customers to connect to an external packet switched network (e.g., the Internet) via one or more mobile devices. These known wireless mobile networks provide wireless network service via dedicated hardware (e.g., network elements known as mobility network elements). In many instances, network elements are configured for a corresponding wireless communication protocol. Throughout the following disclosure, reference is made to network elements associated with the 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) wireless communication standard. However, the teachings of the disclosure are applicable to network elements associated with any past, present, and/or future wireless protocol(s) and/or standard(s) such as, for example, the General Packet Radio Service (GPRS) for second generation (2G) and Wideband-Code Division Multiple Access (W-CDMA) based third generation (3G) wireless networks.
In a typical known wireless mobile network, a base transceiver station (BTS) (e.g., an LTE eNodeB) provides wireless communication service for mobile devices in a cell (e.g., a geographic area). The BTS enables one or more wireless devices to connect to an external packet switched network through the wireless mobile network. In these known wireless mobile networks, a BTS is communicatively coupled to a serving gateway (e.g., a wireless network interface, router, and/or server), which routes communications between multiple BTSs and a packet data network (PDN) gateway. The PDN gateway is an interface between the wireless mobile network and one or more external packet switched networks. In other GPRS-based wireless mobile networks, the serving gateway provides similar functionality to a Serving GPRS Support Node (SGSN) and the PDN gateway provides similar functionality to a Gateway GPRS Support Node (GGSN).
Additionally, known wireless mobile networks include a mobility management entity (MME) that monitors mobile devices on a wireless mobile network and coordinates wireless handoffs between BTSs for the mobile devices. Wireless mobile networks also include home subscriber servers (HSS) (e.g., a home location register (HLR)) that manage wireless device profiles and/or authentication information. BTSs, HSSs, HLRs, PDN gateways, and/or serving gateways are generally referred to herein as network elements.
To implement a known wireless mobile network, a wireless mobile network provider manages and/or configures network elements. The wireless mobile network enables customers of a wireless mobile network provider to subscribe to the wireless mobile network to receive and/or transmit voice and/or data communications. Many network providers configure network elements to provide wireless service to any subscribing customer of the network provider. In other words, any subscribing customers of a network provider may access a wireless mobile network managed by the network provider.
Additionally, many network providers lease portions of their wireless mobile network to mobile virtual network operators (MVNOs). An MVNO (e.g., Virgin Mobile) is a company that provides mobile device services but does not own, control, and/or manage its own licensed frequency allocation of a wireless spectrum and/or does not own, control, and/or manage network elements needed to create a wireless mobile network. To provide mobile device services, an MVNO leases bandwidth and/or portions of a wireless spectrum from another entity (e.g., a wireless mobile network provider). In this manner, an MVNO may compete with a wireless mobile network provider for customers but use the same wireless mobile network managed by that same wireless mobile network provider and/or a different wireless mobile network provider.
In other instances, an MVNO may be a relatively large business and/or government entity that leases a portion of a wireless mobile network for private and/or proprietary use. For example, a military may lease a portion of a wireless mobile network. In these other instances, users associated with the MVNO (e.g., employees, agents, and/or contractors of the MVNO) use the leased portion of the wireless mobile network to communicatively couple to data centers and/or computing elements managed by the MVNO.
Currently, some enterprise MVNOs (e.g., large corporations) utilize business applications that are configured for mobile devices to enable employees, agents, and/or contractors to access data and/or functions associated with the enterprise. These enterprise MVNOs also subscribe, lease, and/or own cloud computing data centers that host virtualized resources to operate applications and/or store data associated with the enterprise. In this manner, employees of the enterprise MVNO can access enterprise business applications and/or data from within a virtual private network (VPN) of the enterprise and/or via mobile devices through a public wireless network or a private mobile network.
Making business applications and/or data hosted by a cloud computing data center accessible to business logic resident on servers within the enterprise currently involves implementing overlay virtual networks to provide secure connection(s). These overlay virtual networks generally only provide single entry points to the enterprise through a designed VPN gateway. Such a single entry point is oftentimes bandwidth limited and results in traffic restrictions and/or sub-optimal performance.
Example methods, apparatus, and articles of manufacture disclosed herein dynamically and/or logically configure a wireless mobile network by partitioning network elements to create a virtual private mobile network (VPMN). Example methods, apparatus, and articles of manufacture disclosed herein communicatively couple a VPMN to a VPN of a client and/or to a cloud computing data center hosting virtualized resources to create a bundled service across mobility, cloud, and/or enterprise platforms. Such example methods, apparatus, and articles of manufacture enable an enterprise to create a mobile-platform-as-a-service (MPaaS) hosted by virtual machine(s) that are securely accessible by any user (e.g., employee) within an enterprise VPN and/or by any user with a mobile device that is approved by the enterprise.
In some disclosed examples, in addition to MPaaS, the example virtual machines may host software-as-a-service (SaaS) web-based front-end applications (e.g., online retail businesses), infrastructure-as-a-service (IaaS) data processing applications, mobile IaaS (Mlaas), computing-as-a service (CaaS) applications, and/or storage-as-a-service database management applications. Some such example methods, apparatus, and articles of manufacture provide application programming interfaces (APIs) that clients (e.g., enterprises) use to create, modify, specify, etc. data and/or control information used to configure enterprise applications. In this manner, an application service development platform is provided for enterprises in mobility and/or cloud environments.
A VPMN enables wireless network providers to partition and/or configure a portion of network elements with routing and/or forwarding protocols to reduce propagation times during data transfers in a wireless network. A VPMN may also enable wireless network providers to implement latency reducing protocols logically separate from routing and/or forwarding protocols for low volume data and/or communications. Example VPMNs are coupled to enterprise VPNs of enterprise clients and to cloud computing data centers so that mobile devices associated with the enterprise can securely access applications and/or data hosted by a virtual machine.
A VPMN provides private network communications on shared network elements. In some examples, a VPMN extends end-to-end on a wireless mobile network. In other examples, a VPMN only includes some network elements and/or some types of network elements. To partition (e.g., virtualize) network elements, portions of a control plane and/or a data plane of the network elements are partitioned for a particular VPMN. Partitioning network elements may also include partitioning processing power and/or bandwidth of the network elements for a particular VPMN to separate the VPMN from other portions of a wireless mobile network. Virtualizing VPMNs in a wireless mobile network enables the VPMNs to provide a private secure virtual circuit (and/or a private path using similar technology such as, for example, a Multiprotocol Label Switching (MPLS) path) extending from mobile devices to an external packet switched network, other mobile devices, and/or data centers of an MVNO.
As used herein, the term “provisioning” generally refers to reserving, providing, equipping, and/or initiating one or more resources (e.g., computing resource(s), communications resource(s), etc.) for one or more purposes. To provision a VPMN, example methods, apparatus, and articles of manufacture disclosed herein determine which network elements within a wireless mobile network have available capacity and/or bandwidth to host a VPMN. Example methods, apparatus, and articles of manufacture disclosed herein then configure data and/or control planes of the determined network elements to host the VPMN. The control planes may create wireless mobile network virtual circuits and/or paths between the network elements to isolate communications within a VPMN from communications external to the VPMN.
Example methods, apparatus, and articles of manufacture disclosed herein configure cloud computing data centers to couple securely to a VPMN and a VPN of a client via a managed Internet Protocol (IP) address space associated with an enterprise. In some such examples, virtual machines assigned to a client enterprise are coupled through a cloud computing data center via virtual local area networks (VLANs) based on the IP address space. The VLANs of these examples provide a secure virtual route through the data center that isolates communications associated with the enterprise from other clients. The example VLANs of such examples are extended to routers within IP networks by updating routing and forwarding tables within network routers with routing information based on the IP address space of a VPN of an enterprise client and the destination virtual machines. Thus, a VLAN within a cloud computing data center can be extended through a public IP network to securely couple to a VPN of a client so that only network traffic from within a VPN associated with a client may access a corresponding virtual machine.
Example methods, apparatus, and articles of manufacture disclosed herein couple a VPMN of a client to the VPN and VLAN of the cloud computing data center by storing access point names (APNs) and/or an IP address space of the VPMN to the routing and forwarding tables of the network routers. For example, a PDN gateway may be instructed to transmit communications associated with a client from a VPMN associated with the client to specific interfaces of network routers to reach a VPN of the client and/or resources hosted by a virtual machine provisioned for the client. Thus, communications from mobile devices that are routed through a VPMN to an IP network are then routed through the virtualized tunnel specified by the routing and forwarding tables. This enables mobile devices associated with a client to access applications and/or data located within an enterprise VPN of the client or applications and/or data hosted by a virtual machine in a cloud computing data center.
In some disclosed examples, local PDN gateways communicatively coupled to mobile data centers are configured to host enterprise applications and/or data that are physically close to mobile devices. In some such examples, the mobile data centers are virtualized and coupled to an external network via a WLAN so that mobile devices can access enterprise applications and/or data securely through the VPMN. In some examples, these mobile data centers are utilized for latency sensitive enterprise applications. By utilizing physically close mobile data centers, the example methods, apparatus, and articles of manufacture disclosed herein can reduce communication propagation times, thereby improving latency.
Latency sensitive applications may be programs, algorithms, functions, and/or routines operating on mobile devices that process, download, and/or upload relatively large volumes of time-sensitive data. For example, streaming media applications require a relatively quick and consistent download speed for a high volume of data to play movies, videos, music, website content, and/or any other media type. In another example, a latency sensitive application includes computational applications (e.g., video editing applications, cloud computing applications, etc.) that offload processing capabilities from a mobile device to a data center, remote server, and/or network elements. In such contexts, a delay in data transfer may result in longer processing times.
In the interest of brevity and clarity, throughout the following disclosure, reference will be made to an example communication system 100 shown in
In the illustrated example, the wireless mobile network 104 includes and/or is associated with network elements 108-112. The example network elements 108-112 illustrate an example manner of communicatively coupling a mobile device 106 to the IP network 102. In other examples, the wireless mobile network 104 includes additional network elements and/or different types of network elements including, for example, an MME, an HSS, and/or a policy charging and rules function (PCRF) server. Further, although the example network elements 108-112 of
The example mobile device 106 (e.g., user equipment (UE)) of the illustrated example includes any device capable of wirelessly communicatively coupling to the wireless mobile network 104. For example, the mobile device 106 may be implemented by one or more of a laptop, a smartphone, a computing pad (e.g., iPad), a personal digital assistant, a tablet computer, a personal communicator, etc. Additionally, while
To wirelessly connect to the wireless mobile network 104, the example wireless mobile network 104 of
To route communications to and/or from the eNodeB 108, the example wireless mobile network 104 of
The example serving gateway 110 also functions as a mobility anchor for a user plane during inter-eNodeB handovers of the mobile device 106. In other words, the serving gateway 110 ensures the mobile device 106 is connected to an eNodeB when the mobile device 106 moves to a different physical location. The example serving gateway 110 further manages and stores contexts (e.g. parameters of the IP wireless mobile network, latency routing information, latency sensitive applications, and/or network internal routing information) associated with the mobile device 106. While the wireless mobile network 104 of
To interface with the IP network 102 of the illustrated example, the example wireless mobile network 104 is associated with the PDN gateway 112. In this example, the PDN gateway 112 is communicatively coupled to the IP network 102 via an interface 114. The example PDN gateway 112 functions as a router by routing communications from the wireless mobile network 104 to an appropriate edge and/or network router within the IP network 102. Also, the PDN gateway 112 routes communications directed to the mobile device 106 from the IP network 102 to an appropriate serving gateway (e.g., the gateway 110). In some examples, the PDN gateway 112 may determine if the mobile device 106 is active (e.g., available to receive the communications) by sending a query to the serving gateway 110. If the serving gateway 110 indicates the mobile device 106 is active, the serving gateway 110 sends a response to the PDN gateway 112 causing the PDN gateway 112 to forward communications from the mobile device 106 to the serving gateway 110. If the mobile device 106 is inactive and/or unavailable, the PDN gateway 112 may discard the communications and/or query other serving gateways in the wireless mobile network 104.
In some examples, the PDN gateway 112 transforms and/or converts communications originating from the mobile device 106 received via the serving gateway 110 into an appropriate packet data protocol (PDP) format (e.g., IP, X.25, etc.) for propagation through the IP network 102. Additionally, for communications received from the IP network 102, the PDN gateway 112 converts the communications into a wireless protocol (e.g., 3GPP LTE, Global System for Mobile Communications (GSM), etc.). The example PDN gateway 112 then readdresses the communications to the corresponding serving gateway 110.
To configure VPMNs on the network elements 108-112, the wireless mobile network 104 includes a VPMN controller 116. The example VPMN controller 116 receives requests from the network elements 108-112 to create a VPMN for communications associated with latency sensitive applications originating from, for example, the mobile device 106. The example VPMN controller 116 may also receive requests from clients (e.g., enterprise MVNOs) for VPMNs. To create a VPMN, the example VPMN controller 116 identifies available portions of the network elements 108-112 for the requested VPMNs, and partitions control and/or data plane space on the network elements 108-112 to configure the VPMNs. In some examples, the VPMN controller 116 may also configure the mobile device 106 to access a VPMN.
To receive requests to create a VPMN, the example communication system 100 of
In the illustrated example, a client administrator 122 (e.g., an information technology agent of the Client X) accesses the MaaS portal 120 to request a VPMN. The request for a VPMN may include a list of mobile devices that are to be authorized to access the VPMN, an estimated maximum and/or average amount of bandwidth to be utilized, a geographic location for the VPMN (including a geographic location of the eNodeB 108 and/or the serving gateway 110), administrative information, billing information, security information, latency routing information, client VPN information including IP address space, IP addresses of virtual machines, and/or any other information that may be useful to provision and/or couple a VPMN.
In response to the client administrator 122 requesting a VPMN, the MaaS portal 120, via the VPMN controller 116, establishes a VPMN through the network elements 108-112. Examples of VPMNs are described below in conjunction with
More specifically, an APN identifies a PDN that a mobile device is to communicatively couple. The APN may also define a type of service, server, and/or multimedia message service that is provided by a PDN. In the illustrated example, the APN includes a network identifier and an operator identifier. The network identifier defines an external network to which the PDN gateway 112 is connected (e.g., the IP network 102). The operator identifier specifies which network (e.g., VPMN) is associated with the PDN gateway 112. In the example of
The example VPMN controller 116 of
To communicatively couple a VPMN to a client VPN 132 and/or a cloud computing data center 134, the example VPMN controller 116 includes a client coupler 130. The example client coupler 130 uses information provided by the client administrator 122 to create a secure route and/or path through the IP network 102 to the client VPN 132 via the example interface 114. For example, the client coupler 130 uses an IP address space of the client VPN 132 to update routing and forwarding tables of network routers within the IP network 102. These network routers then route communications with a destination address of the client VPN 132 from the client VPMN through the IP network 102 to the client VPN 132.
The example client VPN 132 includes any number of routers, switches, firewalls, servers, processors, and/or computers. The client VPN 132 may extend among multiple physical locations and be managed by, for example, the client administrator 122. The client VPN 132 has an IP address space that includes IP addresses assigned to computing resources within and/or communicatively coupled to the client VPN 132.
The example client coupler 130 of
The example cloud computing data center 134 (e.g., a distributive computing network) includes any server, processor, computer, etc. that can be partitioned into virtualized portions. While the single cloud computing data center 134 is shown in
In some instances, the example client coupler 130 can be implemented within the cloud computing data center 134 and the VPMN controller 116. For example, the client coupler 130 within the data center 134 can create a VLAN from a virtual machine to an edge router and/or couple the VLAN to the example client VPN 132. In such examples, another client coupler located within the VPMN controller 116 may communicatively couple a VPMN to the client VPN 132 and/or to the VLAN of the cloud computing data center 134. Alternatively, the example client coupler 130 may be located within the cloud computing data center 134 (e.g., when the cloud computing data center 134 is managed by a wireless network provider) and/or may be located as a separate computing entity within either of the networks 102 and 104.
The routers 204-208 of the illustrated example route packet-based communications between a wireless mobile network (see, for example, the wireless mobile network 104 of
Each of the example routers 204-208 of
For example, the VRF table A 212 may include routing instructions for transmitting communications associated with the client VPN 132 to either a VPMN via the interface 114 and/or the cloud computing data center 134 based on a destination IP address. In these examples, the VRF table A 212 extends the security provided by the client VPN 132 to the secure VPMN of the wireless mobile network 104 and/or secure VLANs within the cloud computing data center 134. In this manner, the example VRF table A 212 provides a virtual route, path, and/or tunnel through the public IP network 102 for communications associated with the Client X.
The example network manager 202 of
To illustrate, assume the network manager 202 receives routing instructions from the Client X administrator 122 regarding a new VPN X site. The network manager 202 updates (e.g., configures) the VRF A 212 to include the new VPN X site. The network manager 202 then rewrites route targets of the VRF A 212 of the routers 204-208 associated with routes of the client VPN 132 to dynamically couple the new VPN X site. The example network manager 202 may publish one or more interfaces associated with routers for forwarding packets to other switching network or cloud computing data centers. Additionally, the network manager 202 may be communicatively coupled to each of the routers 204-208 via any type of communication path that may include one or more intermediate networks and/or nodes as indicated by the dashed lines 231 in
By sending, for example, Border Gateway Protocol (BGP) route advertisements, each of the example routers 204-208 of
In a similar manner, the example VPMN controller 116 of
To facilitate sharing of routing information among the example routers 204-208, the example network manager 202 of
In the example of
The example communication system 100 of
The example VLAN switch 230 of
The virtual machines VM X1 and/or VM X2 of the illustrated example may include any type of hardware virtual machine that may share underlying hardware resources with one or more resources operating a separate operating system. The virtual machines VM X1 and/or VM X2 may also include any type of application virtual machine that may operate different client applications on a single operating system. Each virtual machine VM X1 and/or VM X2 may be assigned an IP address (and/or IP address space) and/or a logical interface of each virtual machine may be assigned a media access control (MAC) address.
The example data center manager 220 assigns an IP address and/or an IP address space to each of the virtual machines VM X1 and/or VM X2 or, alternatively, may assign a single IP address and/or IP address space collectively to the virtual machines VM X1 and VM X2. Further, the data center manager 220 may assign resources, application types, application images, access control, bandwidth, operating system types, a server location, and/or any other type of cloud computing parameter to one or more servers 222-228 upon a request to provision and/or allocate resources from the client administrator 122 of
The data center manager 220 of the illustrated example also partitions resources within the edge router 232 by creating a logical router (e.g., the logical router 234). The logical router 234 functions as a customer edge router for the VPN within the cloud computing data center 134. In this manner, the client VPN 132 and/or VPMN of the client is communicatively coupled to resources in the cloud computing data center 134 so that traffic associated with the client VPN 132 and/or VPMN with destination addresses associated with the virtual machines VM X1 and/or VM X2 can reach these virtual machines. These destination addresses correspond to the IP addresses of the virtual machines VM X1 and VM X2 and/or may correspond to a MAC address assigned to an interface of the virtual machines VM X1 and VM X2. The logical router 234 may also include filtering and/or firewalling functions to restrict access to resources within the cloud computing data center 134. For example, the logical router 234 may include a source address filter so that only packets that include a source address associated with the client VPN 132 and/or a VPMN associated with the Client X via the interface 114 may be forwarded to the virtual machines VM X1 and VM X2.
The data center manager 220 of the illustrated example also updates VRF tables within the edge router 232 to include identification values of network paths within the VLAN switch 230 that correspond to routes to virtual machines VM X1 and VM X2. A VLAN controller may manage the physical and/or logical setup of a network path from the servers 222-228 to the corresponding logical routers 234 and 236. For example, a VLAN network path 250 from the virtual machine VM X1 may be assigned an identification value of PATH1. Further, the virtual machine VM X1 may be assigned an IP address ADDR01. The data center manager 220 creates a VRF table via the logical router 234 that indicates any packets originating from the client VPN 132 and/or a VPMN of the Client X via the interface 114 with a destination address of ADDR01 should be forwarded to the virtual machine VM X1 on the server 222 via the VLAN network path PATH1250.
In the example of
The example MME 310 of
The example HSS 312 of
The example PCRF server 314 of the illustrated example determines policy rules for the wireless mobile network 104. The example PCRF server 314 of
In the example of
In this illustrated example, the Client X requests that the VPMN 302 extend end-to-end of the wireless mobile network 104. As a result of the request, the VPMN controller 116 extends the VPMN 302 to all of the network elements 108-112 and 310-314 within the wireless mobile network 104. Additionally, the client coupler 130 extends the secure routing of the VPMN 302 through virtual routes 326 within the IP network 102 to the client VPN 132 and appropriate virtual machines within the cloud computing data center 134. In other examples, the Client X may only request and/or may only be able to request a VPMN to be setup on some of the network elements 108-112 and 310-314. By requesting the VPMN 302, the example VPMN controller 116 identifies available space within the network elements 108-112 and 310-314 and allocates control and/or data planes of the network elements 108-112 and 310-314 for the VPMN 302. The VPMN controller 116 then configures the allocated control and/or data plane portions of the network elements 108-112 and 310-314 for the VPMN 302.
To configure the network elements 108-112 and 310-314, the example VPMN controller 116 of
In the illustrated example, the mobile devices 320-324 use the assigned APN to access the respective VPMN 302. Further, by using the APN, the network elements 108-112 and 310-314 may propagate communications within the VPMN 302 until an end point is reached. By using APNs, the VPMN controller 116 of the illustrated example creates exclusive virtual circuits (e.g., MPLS paths) from the eNodeB 108 to the PDN gateway 112 for routing communications within the VPMN 302 for the mobile devices 320-324 registered with the Client X. These exclusive virtual circuits are coupled to exclusive virtual routes 326 specified within the IP network 102 via BGP advertisements updating router VRF tables. Thus, communications from the mobile devices 320-324 of the illustrated example are routed securely through the wireless mobile network 104 via the VPMN 302 to the client VPN 132 and/or the virtual machines VM X1 and VM X2.
Further, the example VPMN 302 partitioned within the network elements 310-314 of
The eNodeBs 402 and 404 of the illustrated example are physically separate to create isolation in a wireless spectrum between the VPMNs 302 and 304. Thus, the mobile devices 406 provisioned for the VPMN 302 are communicatively coupled to the example eNodeB 402 and mobile devices 408 provisioned for the VPMN 304 are communicatively coupled to the example eNodeB 404. This configuration enables the mobile devices 406 to securely access data and/or applications at the client VPN 132 and/or the virtual machines VM X1 and VM X2 at the data center 134 via the virtual route 326.
In the illustrated example, the example mobile devices 502-506 are communicatively coupled to the wireless mobile network 104 via the VPMN 302 provisioned within the network elements 108-112 and 310-314. In this example, the mobile devices 502-506 are identified as being associated with the Client X.
The example of
In the example of
In the example of
In some examples, the VPMN 302 hosted on the local PDN gateway 508 is configured with a protocol to offload processing functions from the mobile devices 502-506 for applications retrieving content from the virtualized content server 510. In such examples, the VPMN 302 hosted on the local PDN gateway 508 reduces latency with the mobile device 506 by processing relatively high volumes of data and/or communications from the virtualized content server 510 and transmitting the results of the processing to the mobile device 506.
In the illustrated example, the virtualized content server 510 includes the virtual machines VM X3 and VM X4 provisioned for the Client X. The virtual machines VM X3 and VM X4 are similar to the virtual machines VM X1 and VM X2 of
In other examples, the mobile devices 502-506 access the virtual machines VM X3 and VM X4 for latency sensitive communications and the virtual machines VM X1 and VM X2 for non-latency sensitive communications. In yet other examples, the mobile devices 502-506 access the virtual machines VM X3 and VM X4 when the mobile devices 502-506 are physically close to the virtualized content server 510 and access the virtual machines VM X1 and VM X2 during other instances. In these other examples, the virtualized content server 510 provides local access to enterprise applications and/or data when access to the IP network 102 is unavailable and/or inefficient.
To receive requests and/or routing rules from clients (e.g., the client administrator 122 of
After receiving a request from a client for a VPMN, the client interface 602 creates a client account that includes the information provided by the client. The client interface 602 stores the client account to a client records database 604. In some examples, the HSS 312 of
The example client interface 602 may also assign one or more APNs to a VPMN requested by a client. The client interface 602 may store the APN(s) to the client account in the client records database 604. Additionally, the client interface 602 may transmit the APN(s) and/or any information associated with a newly created VPMN to the client.
To manage the creation and/or management of VPMNs, the VPMN controller 116 of
The example network monitor 608 of the illustrated example scans the wireless mobile network 104 to determine network traffic conditions, bandwidth usage, and/or any QoS issues. In some examples, the network monitor 608 maintains a history of network performance based on detected network conditions. In some such examples, the network monitor 608 also determines an amount of available capacity and/or bandwidth within network elements (e.g., the network elements 108-112, 310-314, 402, and 404 of
The example network manager 606 of
For each of the network elements with available capacity, the network manager 606 allocates a portion of a control plane and/or a data plane. In some examples, the network manager allocates a data plane by allocating a portion of a wireless spectrum of one or more eNodeBs for a VPMN. The network manager 606 of the illustrated example also allocates a data plane by partitioning a portion of a switch within for example, the gateways 110 and 112 for network traffic associated with a VPMN. In some examples, the network manager 606 allocates a data plane by designating certain interfaces of a switch and/or a router for a VPMN. After allocating data plane space to network elements, the network manager 606 sends an instruction to a data plane configurer 610 to configure a data plane on the allocated portions of the identified network elements.
The example network manager 606 allocates a control plane by, for example, designating a portion of IP address space that is to be associated with a VPMN. The portion of the IP address space may be referenced to an assigned APN. In some examples, the network manager 606 also partitions a control plane of a network element by virtualizing functionality of the network element specifically designated for a VPMN. In some such examples, the example network manager 606 allocates a control plane by partitioning portions of databases and/or servers (e.g., the MME 310, HSS 312, and/or the PCRF server 314) to store information associated with clients and/or subscribing customers of a VPMN and/or routing rules. After allocating control plane space to network elements, the network manager 606 sends an instruction to a control plane configurer 612 to configure a control plane on the allocated portions of the identified network elements.
By allocating portions of a data plane and/or a control plane, the example network manager 606 may also specify a virtual circuit (and/or other type of private path such as, for example, a MPLS path) to be implemented within a VPMN extending through, for example, the interface 114 to virtual routes within the IP network 102. To specify a virtual circuit, the network manager 606 identifies outgoing and/or incoming interfaces of the network elements associated with the VPMN and/or IP address space allocated to the VPMN. The example network manager 606 then links together the interfaces, routers, switches, interfaces, and/or connections based on the identified information to create the virtual circuit and updates routing and/or forwarding tables within the corresponding network elements. Thus, any communications associated with a VPMN are transmitted between the VPMN allocated portions of the network elements and/or to the routers 204-208 within the IP network.
Additionally, the network manager 606 may determine if separate eNodeBs are to be used for each VPMN (as described in conjunction with
To configure a VPMN on a data plane of network elements, the example VPMN controller 116 of
In some examples, the data plane configurer 610 also designates portions of a server and/or a router (e.g., the gateways 110 and/or 112) for hosting the VPMN. In some such examples, the example data plane configurer 610 also creates a virtual circuit (e.g., MPLS path) for a VPMN by updating routing and/or forwarding tables of network elements based on information from the network manager 606. In some examples, the data plane configurer 610 also dynamically changes an amount of bandwidth and/or processing capacity provisioned for a VPMN based on instructions from the network manager 606.
In some such examples, the network manager 106 receives an indication from the network monitor 608 that a VPMN on a serving gateway is operating close to provisioned capacity. In some examples, the network manager 106 increases data plane space for the VPMN by instructing the data plane configurer 610 to provision additional interfaces, links, circuitry, and/or processing capacity of the serving gateway for the VPMN. Thus, the data plane configurer 610 enables a VPMN to be dynamically provisioned based on current, future, and/or predicted network traffic conditions.
To configure a VPMN on a control plane of network elements, the example VPMN controller 116 of
In some examples, the control plane configurer 612 of
To update mobile devices with information, thereby enabling the mobile devices to communicatively couple to a VPMN, the example VPMN controller 116 of
To propagate an APN assigned to a VPMN to network elements, the example VPMN controller 116 of the illustrated example includes an APN manager 616. The example APN manager 616 receives an APN assigned to a VPMN by the network manager 606 and transmits the APN to network elements that have a portion of a control and/or a data plane partitioned for an associated VPMN. In some such examples, the APN manager 616 transmits an APN to the HSS 312 and/or the MME 310, thereby enabling the MME 310 to determine to which VPMN on the serving gateway 110 communications from a mobile device are to be routed. Additionally or alternatively, the APN manager 616 may transmit an assigned APN to the APN DNS servers 124 and 126 of
To communicatively couple VPMNs to client VPNs and/or virtual machines in cloud computing data centers, the example VPMN controller 116 of
While the example client coupler 130 of the illustrated example is included within the VPMN controller 116, in other examples, the client coupler 130 may be external and communicatively coupled to the VPMN controller 116. For example, the client coupler 130 may be implemented within the network elements 108-112 and 310-314 and/or may be a separate processor within the wireless mobile network 104. In yet other examples, at least some portions of the client coupler 130 can be implemented within the data center manager 220.
In response to be instructed to couple a VPMN, the example client coupler 130 couples the VPMN to a virtual machine within the cloud computing data center 134 by transmitting BGP advertisements to, for example, the routers 204-208 and 232 to update VRF tables. These BGP advertisements cause the routers 204-208 and 232 to associate communications corresponding to a VPMN with, for example, the virtual route 326 connected to virtual machines within the cloud computing data center 134. This virtual route includes path(s) through the IP network and VLAN paths through the VLAN switch 230. The updating of the VRF tables causes the routers 204-208 and 232 to transmit securely communications received from the interface 114 of a VPMN with a destination address of a virtual machine through the IP network 102 along the virtual route 326. In other examples, the client coupler 130 updates VRF tables of the routers 204-208 and 232 via other routing update protocols and/or messages.
The example client coupler 130 of
By updating the VRF tables of the routers 204-208 and 232, the example client coupler 130 creates a virtual network exclusive for a client extending from the wireless mobile network 104 through the IP network 102 to enterprise VPNs of the client and virtual machines remotely located from the VPN of the client. This exclusive network enables mobile uses associated with an enterprise client to seamlessly and securely access applications and/or data available to uses within the VPN of the client, thereby enabling the client to become more mobile. This also enables clients to deploy mobile-orientated applications in cloud environments to enable wireless devices located anywhere in the world to securely access the applications and/or data. Further, the client coupler 130 enables client mobile devices to securely access data and/or applications hosted by the client.
The example client coupler 130 uses a database 620 to manage which VPMNs are coupled to which client VPNs and/or virtual machines. For example, upon coupling a VPMN to a VPN and/or virtual machines, the client coupler 130 creates a record within the database 620 describing which APNs and/or address space of a VPMN is coupled to which address space of a VPN and/or MACs address and/or address space of virtual machines. The client coupler 130 of the illustrated example also includes within the record an address of the edge router 232 of the cloud computing data center 134 and/or contact information of administrators of the data center manager 220. In this manner, the client coupler 130 can contact the cloud computing data center 134 (e.g., when the data center 134 is operated by an entity separate from the VPMN).
In some examples, the database 620 of
The example client coupler 130 of
In examples where mobile devices are attempting to access a client VPMN, VPN and/or virtual machines, the example client coupler 130 instructs a device migrator 622 to communicatively couple the mobile device to the VPMN. The device migrator 622 of the illustrated example operates in conjunction with the network elements 310-314 to validate the credentials of the mobile device to determine the mobile device is authorized to access the VPMN, the VPN, and/or the virtual machines. The example device migrator 622 may use, for example, over the air programming via the serving gateway 110, the HSS 312, the MME 310 and/or the eNodeB 108 to provision a SIM card of a mobile device to communicatively couple the mobile device to the VPMN. In this example, the device migrator 622 determines an APN to provision the SIM card by accessing the APN manager 616. In other examples, the device migrator 622 may determine an APN for the VPMN from a network provider and/or a client administrator. In other examples, the example client coupler 130 instructs the APN manager 616 to communicatively couple a mobile device to the VPMN.
While the example VPMN controller 116 and/or the client coupler 130 has been illustrated in
When any apparatus claim of this patent is read to cover a purely software and/or firmware implementation, at least one of the example client interface 602, the example client resource database 604, the example network manager 606, the example network monitor 608, the example data plane configurer 610, the example control plane configurer 612, the example mobile device configurer 614, the example APN manager 616, the example client coupler 130, the example database 620, and/or the example device migrator 622 are hereby expressly defined to include a computer readable medium such as a memory, DVD, CD, etc. storing the software and/or firmware. Further still, the example VPMN controller 116 and/or the client coupler 130 may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated in
To communicatively couple VPMNs to virtual machines within a cloud computing data center, the example client coupler 130 includes a VPMN-DC coupler 704. The example VPMN-DC coupler 704 determines which VPMN and virtual machines are to be coupled within a cloud computing data center and transmits BGP advertisements and/or messages to update VRF tables within, for example, the routers 204-208 and 232. In some examples, the VPMN-DC coupler 704 also transmits messages to the cloud computing data center 134 to communicatively couple VLAN paths within the data center from virtual machines to, for example, the edge router 232. In this manner, the example VPMN-DC coupler 704 instructs the cloud computing data center 134 to communicatively couple the virtual machines to virtual routes external to the data center 134.
In some examples, the VPMN-DC coupler 704 is included within the data center manager 220 of
To communicatively couple a client VPN to virtual machines, the example client coupler 130 includes a VPN-DC coupler 706. The example VPN-DC coupler 706 receives instructions from, for example, the client administrator 122 and transmits BGP advertisements to the routers 204-208 to update VRF tables. While the example VPN-DC coupler 706 is shown as being included within the client coupler 103, in other examples the VPN-DC coupler 706 is be included within the data center manager 220 of
To couple a client VPN to a virtual machine, the example VPN-DC coupler 706 assigns a VLAN path to the virtual machine within the cloud computing data center 134 a VLAN identifier. The example VPN-DC coupler 706 then updates a VRF table within the edge router 232 with the IP address space of the virtual machine, a VPN identifier of the client VPN, and/or the VLAN identifier. The example VPN-DC coupler 706 then assigns the VLAN identifier to a network interface of the virtual machine. The example VPN-DC coupler 706 creates a BGP and/or an external BGP session between the edge router 232, the routers 204-208, and edge routers of the client VPN to update VRF tables, thereby coupling the virtual machine to the client VPN.
To enable client administrators to provide coupling information and/or create, modify, and/or deploy enterprise applications, the example client coupler 130 includes an API interface 708. The example API interface 708 includes a web-based interface that enables client administrators to specify which VPMNs are to be coupled to which client VPNs and/or virtual machines. The client administrators can identify VPMNs, VPNs, and/or virtual machines via address space, identifiers, MAC addresses, etc. In some examples, the API interface 708 is integrated with the client interface 602 of
The example API interface 708 of
While the example client coupler 130 has been illustrated in
When any apparatus claim of this patent is read to cover a purely software and/or firmware implementation, at least one of the example VPMN-VPN coupler 702, the example VPMN-DC coupler 704, the example VPN-DC coupler 706, and/or the example API interface 708 are hereby expressly defined to include a computer readable medium such as a memory, DVD, CD, etc. storing the software and/or firmware. Further still, the example client coupler 130 may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated in
Alternatively, some or all of the example processes of
The example process 800 of
The example client coupler 130 of
The example data center manager 220 next provisions the virtual machine within, for example, the cloud computing data center 134 (block 812). In other examples, the virtual machine is provisioned prior to the client requesting to couple the VPMN. The example client coupler 130 and/or the data center manager 220 then creates a VLAN path from a logical router partitioned within an edge router through the data center to the virtual machine to create a virtual path through the data center (block 814).
The example client coupler 130 determines an address space and/or MAC address of the provisioned virtual machine (block 816). The example couplers 704 and/or 706 update VRF tables of the routers 204-208 in the IP network 102 to associate the address space of the virtual machine with the VPMN and the VPN to create a virtual route through the IP network 102 (block 818). The example client coupler 130 then stores a record of this association information within the database 620 (block 820). The example client coupler 130 next enables communications to propagate between the VPMN, the client VPN, and the virtual machine via the virtual route (block 822). At this point, the example process 800 of
The example process 900 of
The example VPMN controller 116 then migrates communications associated with the mobile device to the appropriate VPMN of the client (block 906). The example network elements 108-112 of
If the destination is the client VPN, the routers 204-208 transmit the communications along the virtual route to the client VPN (block 912). At this point, the mobile device of the illustrated example communicates bidirectionally with computing resources within the client VPN. If the destination is the virtual machine, the example routers 204-208 transmit the communications along the virtual route to an edge router of the corresponding data center (block 914). The example edge router then determines a logical router associated with the virtual machine (block 916). This logical router transmits the communications along a provisioned VLAN path through the data center to the virtual machine (block 918). At this point, the mobile device may communicate bidirectionally with the virtual machine.
The processor platform P100 of the example of
The processor P105 is in communication with the main memory (including a ROM P120 and/or the RAM P115) via a bus P125. The RAM P115 may be implemented by DRAM, SDRAM, and/or any other type of RAM device, and ROM may be implemented by flash memory and/or any other desired type of memory device. Access to the memory P115 and the memory P120 may be controlled by a memory controller (not shown). One or both of the example memories P115 and P120 may be used to implement the example resource client database 604 and/or the database 620 of
The processor platform P100 also includes an interface circuit P130. The interface circuit P130 may be implemented by any type of interface standard, such as an external memory interface, serial port, general-purpose input/output, etc. One or more input devices P135 and one or more output devices P140 are connected to the interface circuit P130.
At least some of the above described example methods and/or apparatus are implemented by one or more software and/or firmware programs running on a computer processor. However, dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement some or all of the example methods and/or apparatus described herein, either in whole or in part. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the example methods and/or apparatus described herein.
To the extent the above specification describes example components and functions with reference to particular standards and protocols, it is understood that the scope of this patent is not limited to such standards and protocols. For instance, each of the standards for Internet and other packet switched network transmission (e.g., Transmission Control Protocol (TCP)/Internet Protocol (IP), User Datagram Protocol (UDP)/IP, HyperText Markup Language (HTML), HyperText Transfer Protocol (HTTP)) represent examples of the current state of the art. Such standards are periodically superseded by faster or more efficient equivalents having the same general functionality. Accordingly, replacement standards and protocols having the same functions are equivalents which are contemplated by this patent and are intended to be included within the scope of the accompanying claims.
Additionally, although this patent discloses example systems including software or firmware executed on hardware, it should be noted that such systems are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware and software components could be embodied exclusively in hardware, exclusively in software, exclusively in firmware or in some combination of hardware, firmware and/or software. Accordingly, while the above specification described example systems, methods and articles of manufacture, the examples are not the only way to implement such systems, methods and articles of manufacture. Therefore, although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents.
Number | Name | Date | Kind |
---|---|---|---|
5345502 | Rothenhofer | Sep 1994 | A |
5475819 | Miller et al. | Dec 1995 | A |
5623601 | Vu | Apr 1997 | A |
6016318 | Tomoike | Jan 2000 | A |
6029067 | Pfundstein | Feb 2000 | A |
6058426 | Godwin et al. | May 2000 | A |
6079020 | Liu | Jun 2000 | A |
6205488 | Casey et al. | Mar 2001 | B1 |
6255943 | Lewis et al. | Jul 2001 | B1 |
6781982 | Borella et al. | Aug 2004 | B1 |
6880002 | Hirschfeld et al. | Apr 2005 | B2 |
6885864 | McKenna et al. | Apr 2005 | B2 |
6891842 | Sahaya et al. | May 2005 | B2 |
6954790 | Forslow | Oct 2005 | B2 |
6976177 | Ahonen | Dec 2005 | B2 |
6990666 | Hirschfeld et al. | Jan 2006 | B2 |
7072346 | Hama | Jul 2006 | B2 |
7075933 | Aysan | Jul 2006 | B2 |
7126921 | Mark et al. | Oct 2006 | B2 |
7131141 | Blewett et al. | Oct 2006 | B1 |
7185106 | Moberg et al. | Feb 2007 | B1 |
7221675 | Bryden et al. | May 2007 | B2 |
7225270 | Barr et al. | May 2007 | B2 |
7292575 | Lemieux et al. | Nov 2007 | B2 |
7340519 | Golan et al. | Mar 2008 | B1 |
7366188 | Kim | Apr 2008 | B2 |
7388844 | Brown et al. | Jun 2008 | B1 |
7400611 | Mukherjee et al. | Jul 2008 | B2 |
7415627 | Radhakrishnan et al. | Aug 2008 | B1 |
7562254 | Davis et al. | Jul 2009 | B2 |
7627787 | Johnson et al. | Dec 2009 | B1 |
7738891 | Tenhunen et al. | Jun 2010 | B2 |
7769036 | Sorge et al. | Aug 2010 | B2 |
7796039 | Brillhart et al. | Sep 2010 | B2 |
7971106 | Lovy et al. | Jun 2011 | B2 |
8077681 | Ahmavaara | Dec 2011 | B2 |
8380863 | Natarajan et al. | Feb 2013 | B2 |
8458787 | Wei et al. | Jun 2013 | B2 |
8509169 | Van Der Merwe et al. | Aug 2013 | B2 |
8566653 | Merwe et al. | Oct 2013 | B2 |
9386035 | Baliga et al. | Jul 2016 | B2 |
9432258 | Van der Merwe et al. | Aug 2016 | B2 |
20020181477 | Mo et al. | Dec 2002 | A1 |
20030051021 | Hirschfeld et al. | Mar 2003 | A1 |
20030147403 | Border et al. | Aug 2003 | A1 |
20030188001 | Eisenberg et al. | Oct 2003 | A1 |
20040030712 | Sano et al. | Feb 2004 | A1 |
20040073642 | Iyer | Apr 2004 | A1 |
20040148439 | Harvey et al. | Jul 2004 | A1 |
20050071508 | Brown et al. | Mar 2005 | A1 |
20050138204 | Iyer et al. | Jun 2005 | A1 |
20050195780 | Haverinen | Sep 2005 | A1 |
20060025149 | Karaoguz | Feb 2006 | A1 |
20060068845 | Muller et al. | Mar 2006 | A1 |
20060111113 | Waris | May 2006 | A1 |
20060168279 | Lee et al. | Jul 2006 | A1 |
20060168321 | Eisenberg et al. | Jul 2006 | A1 |
20060242305 | Alnas | Oct 2006 | A1 |
20060251088 | Thubert et al. | Nov 2006 | A1 |
20060268901 | Choyi et al. | Nov 2006 | A1 |
20070039047 | Chen et al. | Feb 2007 | A1 |
20070070914 | Abigail | Mar 2007 | A1 |
20070105548 | Mohan et al. | May 2007 | A1 |
20070140250 | McAllister et al. | Jun 2007 | A1 |
20070140251 | Dong | Jun 2007 | A1 |
20070195800 | Yang et al. | Aug 2007 | A1 |
20070217419 | Vasseur | Sep 2007 | A1 |
20070232265 | Park et al. | Oct 2007 | A1 |
20070271606 | Amann et al. | Nov 2007 | A1 |
20070280241 | Verma | Dec 2007 | A1 |
20080002697 | Anantharamaiah et al. | Jan 2008 | A1 |
20080022094 | Gupta et al. | Jan 2008 | A1 |
20080034365 | Dahlstedt | Feb 2008 | A1 |
20080049752 | Grant | Feb 2008 | A1 |
20080080396 | Meijer et al. | Apr 2008 | A1 |
20080080517 | Roy et al. | Apr 2008 | A1 |
20080080552 | Gates et al. | Apr 2008 | A1 |
20080082546 | Meijer et al. | Apr 2008 | A1 |
20080125116 | Jiang | May 2008 | A1 |
20080148341 | Ferguson et al. | Jun 2008 | A1 |
20080201642 | Chong et al. | Aug 2008 | A1 |
20080307259 | Vasudevan et al. | Dec 2008 | A1 |
20090006603 | Duponchel et al. | Jan 2009 | A1 |
20090006909 | Ladd et al. | Jan 2009 | A1 |
20090013222 | Di Luoffo et al. | Jan 2009 | A1 |
20090055693 | Budko et al. | Feb 2009 | A1 |
20090113422 | Kani | Apr 2009 | A1 |
20100011298 | Campbell et al. | Jan 2010 | A1 |
20100017861 | Krishnaswamy et al. | Jan 2010 | A1 |
20100039978 | Rangan | Feb 2010 | A1 |
20100077310 | Karachale et al. | Mar 2010 | A1 |
20100111093 | Satterlee et al. | May 2010 | A1 |
20100186024 | Eker et al. | Jul 2010 | A1 |
20100284343 | Maxwell et al. | Nov 2010 | A1 |
20110007690 | Chang et al. | Jan 2011 | A1 |
20110026468 | Conrad et al. | Feb 2011 | A1 |
20110072312 | Fan et al. | Mar 2011 | A1 |
20110131499 | Ferris et al. | Jun 2011 | A1 |
20110142053 | Van Der Merwe et al. | Jun 2011 | A1 |
20110154101 | Merwe et al. | Jun 2011 | A1 |
20110177790 | Monte et al. | Jul 2011 | A1 |
20110302630 | Nair et al. | Dec 2011 | A1 |
20120106565 | Yousefi et al. | May 2012 | A1 |
20120147824 | Van der Merwe | Jun 2012 | A1 |
20120155274 | Wang et al. | Jun 2012 | A1 |
20120208506 | Hirano et al. | Aug 2012 | A1 |
20120282924 | Tagg et al. | Nov 2012 | A1 |
20120303835 | Kempf et al. | Nov 2012 | A1 |
20120311107 | Van der Merwe | Dec 2012 | A1 |
20120331545 | Baliga | Dec 2012 | A1 |
20130007232 | Wang et al. | Jan 2013 | A1 |
20130031271 | Bosch et al. | Jan 2013 | A1 |
20130089026 | Piper | Apr 2013 | A1 |
20150237543 | Montemurro | Aug 2015 | A1 |
Entry |
---|
Van Der Merwe et al., “Dynamic Connectivity Management with an Intelligent Route Service Control Point,” AT&T Labs, Proceedings of the 2006 SIGCOMM Workshop on Internet Network Management, held on Sep. 11-16, 2006, 6 pages. |
Van Der Merwe et al., PowerPoint presentation of “Dynamic Connectivity Management with an Intelligent Route Service Control Point,” AT&T Labs, Proceedings of the 2006 SIGCOMM Workshop on Internet Network Management, held on Sep. 11-16, 2006, 14 pages. |
Brady, Kevin F., “Cloud Computing—Is It Safe for IP?” Portfolio Media, Inc., http://www.law360.com/print_article/113709 on Aug. 27, 2009. Retrieved from the Internet on Sep. 3, 2009, 8 pages. |
“Amazon Elastic Computing Cloud,” http://aws.amazon.com/ec2. Retrieved from the Internet on Dec. 23, 2009, 8 pages. |
Armbrust et al., “Above the Clouds: A Berkeley View of Cloud Computing,” Technical Report UCB/EECS-2009-28, EECS Department, University of California, Berkeley, February Technical Report No. UCB/EECS-2009-28, http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html, Feb. 10, 2009, 25 pages. |
Sundararaj et al., “Towards Virtual Networks for Virtual Machine Grid Computing,” in VM '04: Proceedings of the 3rd conference on Virtual Machine Research and Technology Symposium, 2004, 14 pages. |
Clark et al., “Live Migration of Virtual Machines,” in Proceedings of NSDA, http://www.cl.cam.ac.uk/research/srg/netos/papers/2005-migration-nsdi-pre.pdf, May 2005, 14 pages. |
Duffield et al., “Resource management with hoses: point-to-cloud services for virtual private networks,” IEEE ACM Transactions on Networking, 2002, 16 pages. |
Cohen, Reuven, “Elasticvapor Blog: Virtual Private Cloud,” www.elasticvapor.com/2008/05/virtual-private-cloud-vpc.htm, May 8, 2008, 2 pages. |
“Goggle App Engine” hthttp://code.google.com/appengine/. Retrieevd from the Internet on Dec. 23, 2009, 4 pages. |
Nelson et al., “Fast Transparent Migration for Virtual Machines,” In ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference, 2005, 4 pages. |
Ramakrishnan et al., “Live Data Center Migration Across WANs: A Robust Cooperative Context Aware Approach,” in INM '07: Proceedings of the SIGCOMM workshop on Internet network management, Aug. 27-31, 2007, 6 pages. |
Ruth et al., “Autonomic Live Adaptation of Virtual Computational Environments in a Multi-Domain Infrastructure,” in ICAC '06: Proceedings of the 2006 IEEE International Conference of Autonomic Computing, 2006, 10 pages. |
Hoffman et al., “Network Virtualization for Future Mobile Networks” Jun. 5-9 2011, 2011 IEEE International Conference (5 pages). |
United States Patent and Trademark Office, “Final Office Action”, issued in connection with corresponding U.S. Appl. No. 13/154,121 dated Feb. 4, 2014 (22 pages). |
United States Patent and Trademark Office, “Non-Final Office Action”, issued in connection with corresponding U.S. Appl. No. 13/165,250 dated Jan. 15, 2013 (14 pages). |
United States Patent and Trademark Office, “Non-Final Office Action”, issued in connection with corresponding U.S. Appl. No. 13/154,121 dated Jul. 17, 2013 (23 pages). |
United States Patent and Trademark Office, “Final Office Action”, issued in connection with corresponding U.S. Appl. No. 13/165,520 dated Jul. 30, 2013 (16 pages). |
“Response to Office Action dated Jul. 17, 2013” filed on Nov. 18, 2013 in connection with corresponding U.S. Appl. No. 13/154,121 (11 pages). |
“Response to Office Action dated Jan. 15, 2013” filed on Apr. 15, 2013 in connection with corresponding U.S. Appl. No. 13/165,520 (11 pages). |
“Response to Office Action dated Jul. 30, 2013” filed on Oct. 30, 2013 in connection with corresponding U.S. Appl. No. 13/165,50 (10 pages). |
United States Patent and Trademark Office, “Non-Final Office Action”, issued in connection with corresponding U.S. Appl. No. 12/966,681 dated Dec. 20, 2012 (29 pages). |
“Response to Office Action dated Dec. 20, 2012” filed on Mar. 20, 2013 in connection with corresponding U.S. Appl. No. 12/966,681 (11 pages). |
United States Patent and Trademark Office, “Final Office Action,” issued in connection with U.S. Appl. No. 13/154,121 dated Sep. 19, 2014 (25 pages). |
United States Patent and Trademark Office, “Non-Final Office Action,” issued in connection with U.S. Appl. No. 13/165,520 dated Aug. 12, 2015 (5 pages). |
United States Patent and Trademark Office, “Non-Final Office Action”, issued in connection with U.S. Appl. No. 12/644,879, dated Nov. 30, 2012 (14 pages). |
United States Patent and Trademark Office, “Final Office Action”, issued in connection with U.S. Appl. No. 12/644,879, dated Mar. 12, 2013 (13 pages). |
United States Patent and Trademark Office, “Notice of Allowance”, issued in connection with U.S. Appl. No. 12/644,879, dated Jun. 25, 2013 (6 pages). |
United States Patent and Trademark Office, “Notice of Allowance”, issued in connection with U.S. Appl. No. 13/154,121, dated Apr. 25, 2016 (15 pages). |
United States Patent and Trademark Office, “Notice of Allowance”, issued in connection with U.S. Appl. No. 13/165,520 dated Feb. 11, 2016 (7 pages). |
Qian et al., “Balancing Request Denial Probability and Latency in an Agent-Based VPN Architecture”, IEEE Transactions on Network and Service Management, vol. 7, No. 4, Dec. 2010 (14 pages). |
Khanna et al., “Automated Rule-Based Diagnosis though a Distributed Monitor System”, IEEE Transactions on Dependable and Secure Computing, vol. 4, No. 4, Oct.-Dec. 2007 (14 pages). |
Liu et al., “Privacy Preserving Collaborative Enforcement of Firewall Policies in Virtual Private Networks”, IEEE Transactions on Parallel and Distributed Systems, vol. 22, No. 5, May 2011 ( pages). |
United States Patent and Trademark Office, “Non-Final Office Action”, issued in connection with U.S. Appl. No. 15/194,037, dated Aug. 31, 2017 (16 pages). |
United States Patent and Trademark Office, “Notice of Allowance,” issued in connection with U.S. Appl. No. 15/194,037, dated Mar. 13, 2018, 22 pages. |
United States Patent and Trademark Office, “Non-Final Office Action,” issued in connection with U.S. Appl. No. 15/231,406, dated Feb. 22, 2018, 28 pages. |
Number | Date | Country | |
---|---|---|---|
20130054763 A1 | Feb 2013 | US |