A server may be configured to: receive a network selection query, associated with a user device. The network selection query may include information relating to a geographic location of the user device. The server may also select, based on information included in the network selection query, a virtual network element that services the geographic location of the user device and functions as a physical network element of an evolved packet core (EPC) network or an internet protocol (IP) multimedia subsystem (IMS) network. The server may also enable use of the selected virtual network element by the user device; receive a data packet destined for the selected virtual network element; provide the data packet to the selected virtual network element; and prevent the data packet from being sent to a non-selected virtual network element.
|
9. A system comprising:
one or more servers to:
receive a network selection query associated with a user device after the user device relocates from a home network to a roaming network,
the network selection query including information relating to a geographic location of the user device within the roaming network;
select a virtual network element based on the network selection query,
the virtual network element servicing the geographic location of the user device within the roaming network and functioning as a physical network element of the home network;
enable use of the virtual network element by the user device;
receive a data packet destined for the virtual network element;
provide the data packet to the virtual network element;
determine that the virtual network element is overloaded based on one of a latency activity value or a jitter activity value associated with the virtual network element; and
direct an addition of another virtual network element based on determining that the virtual network element is overloaded.
16. A non-transitory computer-readable medium for storing instructions, the instructions comprising:
a plurality of instructions which, when executed by one or more processors, cause the one or more processors to:
receive a network selection query associated with a user device after the user device relocates from a home network to a roaming network,
the network selection query including information relating to a geographic location of the user device within the roaming network;
select a virtual network element based on the network selection query,
the virtual network element servicing the geographic location of the user device within the roaming network and functioning as a physical network element of the home network;
enable use of the virtual network element by the user device;
receive a data packet destined for the virtual network element;
provide the data packet to the virtual network element;
determine that the virtual network element is overloaded based on one of a latency activity value or a jitter activity value associated with the virtual network element; and
direct an addition of another virtual network element based on determining that the virtual network element is overloaded.
1. A method comprising:
receiving, by one or more servers, a network selection query associated with a user device after the user device relocates from a home network to a roaming network,
the network selection query including information relating to a geographic location of the user device within the roaming network;
selecting, by the one or more servers and after receiving the network selection query, a plurality of virtual network elements based on a type of task to be performed by the user device,
the plurality of virtual network elements being located within the roaming network and functioning as physical network elements of the home network;
selecting, by the one or more servers and based on a particular technique, a virtual network element of the plurality of virtual network elements,
the home network including one of an evolved packet core (EPC) network or an internet protocol (IP) multimedia subsystem (IMS) network;
enabling, by the one or more servers, use of the virtual network element by the user device;
receiving, by the one or more servers and from the user device, a data packet destined for the virtual network element;
providing, by the one or more servers, the data packet to the virtual network element;
determining, by the one or more servers, that the virtual network element is overloaded based on one of a latency activity value or a jitter activity value associated with the virtual network element; and
directing, by the one or more servers, an addition of another virtual network element based on determining that the virtual net ark element is overloaded.
2. The method of
a virtual mobility management entity (MME),
a virtual serving gateway (SGW),
a virtual packet data network (PDN) gateway (PGW),
a virtual domain name server (DNS),
a virtual tunnel termination gateway (TTG), or
a virtual firewall.
3. The method of
a virtual policy and charging rule function (PCRF),
a virtual home subscriber server (HSS), or
a virtual call service control function (CSCF) server.
4. The method of
determining that a first virtual network element and a second virtual network element of the plurality of virtual network elements, are under-loaded; and
directing an orchestration server to combine functions the first virtual network element and the second virtual network element based on determining that the first virtual network element and the second virtual network element are under-loaded.
5. The method of
determining that the virtual network element is under-loaded; and
directing a removal of the virtual network element based on determining that the virtual network element is under-loaded.
6. The method of
where the network selection query includes information relating to a network resource demand of an application of the user device,
where the method further comprises:
determining that the virtual network element includes capacity to satisfy the network resource demand, and
where selecting the virtual network element comprises:
selecting the virtual network element based on determining that the virtual network element includes capacity to satisfy the network resource demand.
7. The method of
determining that the virtual network element is performing in accordance with a performance parameter,
where selecting the virtual network element comprises:
selecting the virtual network element based on determining that the virtual network element is performing in accordance with the performance parameter.
8. The method of
receiving an identifier, associated with the user device, as part of the selection query,
where selecting the virtual network element comprises:
selecting the virtual network element further based on the identifier associated with the user device.
10. The system of
a virtual mobility management entity (MME),
a virtual serving gateway (SGW),
a virtual packet data network (PDN) gateway (PGW),
a virtual domain name server (DNS),
a virtual tunnel termination gateway (TTG), or
a virtual firewall.
11. The system of
a virtual policy and charging rule function (PCRF),
a virtual home subscriber server (HSS), or
a virtual call service control function (CSCF) server.
12. The system of
direct an orchestration server to add a virtual image, representing another virtual network element, to another server that stores the virtual network element based on determining that the virtual network element is overloaded.
13. The system of
determine that the other virtual network element is under-loaded; and
direct the orchestration server to delete the virtual image to remove the other virtual network element based on determining that the other virtual network element is under-loaded.
14. The system of
where the one or more servers are further to:
determine that the virtual network element is performing in accordance with a performance parameter, and
where, when selecting the virtual network element, the one or more servers are to:
select the virtual network element further based on determining that the virtual network element is performing in accordance with the performance parameter.
15. The system of
receive an identifier, associated with the user device, as part of the network selection query,
where, when selecting the virtual network element, the one or more servers are to:
select the virtual network element further based on the identifier associated with the user device.
17. The non-transitory computer-readable medium of
a virtual mobility management entity (MME),
a virtual serving gateway (SGW),
a virtual packet data network (PDN) gateway (PGW),
a virtual domain name server (DNS),
a virtual tunnel termination gateway (TTG), or
a virtual firewall.
18. The non-transitory computer-readable medium of
a virtual policy and charging rule function (PCRF),
a virtual home subscriber server (HSS), or
a virtual call service control function (CSCF) server.
19. The non-transitory computer-readable medium of
one or more instructions which, when executed by the one or more processors, cause the one or more processors to:
direct an orchestration server to add the other virtual network element based on determining that the virtual network element is overloaded.
20. The non-transitory computer-readable medium of
where the network selection query includes information relating to a network resource demand of an application of the user device, and
where the plurality of instructions to select the virtual network element comprise:
one or more instructions which, when executed by the one or more processors, cause the one or more processors to:
determine that the network element includes capacity to satisfy the network resource demand; and
select the network element further based on determining that the network element includes capacity to satisfy the network resource demand.
|
A user device may connect with a network element to allow a user to perform a task via the user device (e.g., browse the web, send and/or receive e-mail, etc.). Data flow, associated with performing tasks via the user device, may be cumbersome and redundant when the user device relocates to another geographic location and changes network element connections.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
Systems and/or methods, as described herein, may connect a user device that relocates from a “home” network (e.g., a network with which the user device is subscribed) to a “roaming” network (e.g., a network that the user device may not be subscribed to but may use to send and/or receive data) to virtual network elements that function as physical network elements (e.g., network devices in an evolved packet core (EPC), network devices in an internet protocol (IP) multimedia subsystem (IMS) network, etc.) associated with the home network of the user device. For example, a virtual network element may include a software image stored on a server to allow the server to function as a physical network element, such as physical network device used to transfer data packets in the context of allowing a user device to perform a task. In some implementations, the server storing the software image associated with the virtual network element may be stored by a data center in a geographic location associated with the roaming network.
As further shown in
In some implementations, an orchestration server may be used to add, delete, or modify virtual network elements in lieu of adding, deleting, or modifying physical network elements, thereby saving costs associated with adding, deleting, or modifying physical network elements.
Environment 200 may include an evolved packet system (EPS) that includes a long term evolution (LTE) network and/or an EPC that operate based on a third generation partnership project (3GPP) wireless communication standard. The LTE network may be a radio access network (RAN) that includes one or more base stations, such as eNodeBs (eNBs), via which user device 210 communicates with the EPC. As shown in
Environment 200 may also include a virtual domain including V-EPC server 285 and V-IMS server 290 which may function similarly to a physical EPC and a physical IMS network. In some implementations, servers associated with the virtual domain may be stored by a data center located in a geographic location associated with a roaming network to service user devices 210 located in geographic location associated with the roaming network.
User device 210 may include a device that is capable of communicating with base station 220 and a network (e.g., network 295). For example, user device 210 may include a radiotelephone, a personal communications system (PCS) terminal (e.g., that may combine a cellular radiotelephone with data processing and data communications capabilities), a personal digital assistant (PDA) (e.g., that can include a radiotelephone, a pager, Internet/intranet access, etc.), a smart phone, a laptop computer, a tablet computer, a camera, a personal gaming system, or another type device that is capable of communicating with base station 220.
Base station 220 may include one or more network elements that receive, process, and transmit traffic, such as audio, video, text, and/or other data, destined for and/or received from user device 210. In some implementations, base station 220 may be an eNB device and may be part of the LTE network. Base station 220 may receive traffic from and/or send traffic to network 295 via SGW 230 and PGW 250. Base station 220 may send traffic to and/or receive traffic from user device 210 via an air interface. One or more of base stations 220 may be associated with a RAN, such as the LTE network.
SGW 230 may include one or more network elements, such as a data processing and traffic transfer devices. For example, SGW 230 may include a gateway, a router, a modem, a switch, a firewall, a network interface card (NIC), a hub, a bridge, a proxy server, an optical add-drop multiplexer (OADM), or some other type of device that processes and/or transfers traffic. SGW 230 may, for example, aggregate traffic received from one or more base stations 220 and may send the aggregated traffic to network 295 via PGW 250. In some implementations, SGW 230 may route and forward user data packets, may act as a mobility anchor for a user plane during inter-eNB handovers, and may act as an anchor for mobility between LTE and other 3GPP technologies. For idle state user device 210, SGW 230 may terminate a downlink (DL) data path and may trigger paging when DL data arrives for user device 210.
MME 240 may include one or more network elements that may perform operations associated with a handoff to and/or from the EPS. In some implementations, MME 240 may perform operations to register user device 210 with the EPS, to handoff user device 210 from the EPS to another network, to handoff a user device 210 from the other network to the EPS, and/or to perform other operations. MME 240 may perform policing operations for traffic destined for and/or received from user device 210. MME 240 may authenticate user device 210 (e.g., via interaction with HSS/AAA server 260).
PGW 250 may include one or more network elements, such as a data processing and/or traffic transfer devices. For example, PGW 250 may include a gateway, a router, a modem, a switch, a firewall, a NIC, a hub, a bridge, a proxy server, an OADM, or some other type of device that processes and transfers traffic. PGW 250 may, for example, provide connectivity of user device 210 to external packet data networks by being a traffic exit/entry point for user device 210. PGW 250 may perform policy enforcement, packet filtering, charging support, lawful intercept, and/or packet screening. PGW 250 may also act as an anchor for mobility between 3GPP and non-3GPP technologies.
HSS/AAA server 260 may include one or more network elements, such as a server device, that manages, updates, and/or stores, in a memory associated with HSS/AAA server 260, profile information associated with user device 210. The profile may include information that identifies applications and/or services that are permitted for and/or accessible by user device 210, information associated with bandwidth or data rate thresholds associated with the applications or services, information associated with a user of user device 210 (e.g., a username, a password, a personal identification number (PIN), etc.), rate information, minutes allowed, and/or other information. Additionally, or alternatively, HSS/AAA server 260 may include a device that performs authentication, authorization, and/or accounting (AAA) operations for a communication session associated with user device 210.
CSCF server 265 may include one or more network elements, such as a server device, that processes and routes calls to and from user device 210 via the EPC. For example, CSCF server 265 may process calls, received from network 295, that are destined for user device 210. In another example, CSCF server 260 may process calls, received from user device 210, that are destined for network 295.
Network selection server 270 may include a computing device, such as a server device, or a collection of server devices. In some implementations, network selection server 270 may select virtual network elements with which user device 210 may connect to transfer data packets to and from user device 210 and/or network 295. For example, network selection server 270 may select a virtual network element of V-EPC server 285 or V-IMS server 290, such as a virtual SGW element, a virtual PGW element, etc. In some implementations, network selection server 270 may select virtual network elements based on load-balancing techniques (e.g., based on network activity information), affinity thresholds, round-robin selection techniques, resource demand of a selected application of user device 210, geographic location of a network query, and/or based on some other factor. In some implementations, network selection server 270 may broadcast an IP address to SGW 230 such that SGW 230 may detect and connect with network selection server 270.
In some implementations, network selection server 270 may receive data packets from user device 210 (e.g., via SGW 230) and provide the data packets to selected virtual network elements. Additionally, or alternatively, network selection server 270 may direct SGW 230 to provide data packets to the selected virtual network elements. In some implementations, network selection server 270 may determine analytics data relating to network activity data associated with a network element and may determine overloaded or under-loaded virtual network elements based on the analytics data. Additionally, or alternatively, network selection server 270 may provide the analytics data to analytics server 275. In some implementations, network selection server 270 may function as an authoritative domain name system (DNS) server and/or a caching DNS server.
Analytics server 275 may include a network device, such as a server device, or a collection of server devices. In some implementations, analytics server 275 may receive performance data and thresholds associated with the performance data, from network selection server 270. For example, analytics server 275 may receive analytics data (e.g., data relating to data rates or data throughput), and a threshold value associated with the analytics data associated with a virtual network element of V-EPC server 285 or V-IMS server 290 (e.g., a virtual SGW element, a virtual PGW element, etc.) or a physical network element (e.g., SGW 230, MME 240, and/or PGW 250).
In some implementations, analytics server 275 may identify instances in which the received performance data does not satisfy the threshold value of the performance indicator for the virtual network element. For example, analytics server 275 may identify that the performance data, for a particular performance indicator (e.g., data rate), does not satisfy a threshold value associated with the performance indicator. For example, assume that analytics server 275 receives performance data relating to a data rate of 110 gigabits per second (Gbps). Further, assume that analytics server 275 stores a threshold of greater than 100 Gbps for the data rate performance indicator. In this example, analytics server 275 may determine that the performance data (e.g., 110 Gbps) satisfies the threshold (e.g., greater than 100 Gbps).
In some implementations, analytics server 275 may send instructions to orchestration server 280 to add, remove, combine, or migrate virtual virtual network elements from V-EPC server 285 and/or V-IMS server 290 such that the threshold for the performance indicator is satisfied.
Orchestration server 280 may include a network element, such as a server device or a collection of server devices. In some implementations, orchestration server 280 may store data associated with the topology of V-EPC server 285 and/or V-IMS server 290. For example, orchestration server 280 may store information for a virtual network element (or multiple virtual network elements) associated with V-EPC server 285 and/or V-IMS server 290, such as the type of service and/or function provided by the virtual network element, a virtual IP address associated with the virtual network element, and/or some other information regarding a virtual network element or group of virtual network elements. Orchestration server 280 may also receive an instruction from analytics server 275 to add, remove, or combine virtual network elements based on performance data associated with the virtual network elements. Further, orchestration server 280 may execute the instruction to add, remove, or combine virtual network elements based on receiving the instruction.
V-EPC server 285 may include a network element, such as a server device or a collection of server devices. In some implementations, V-EPC server 285 may store a virtual network element (e.g., in the form of a virtual image file) to allow V-EPC server 285 to function as a physical network element associated with the EPC (e.g., a PGW 250, an SGW 230, an MME 240, and/or some other network element associated with the EPC). In some implementations, V-EPC server 285 may store multiple virtual network elements in a virtual container that services a particular geographic location. For example, V-EPC server 285 may store a first virtual container including virtual network elements that service a first geographic location and a second virtual container including virtual network elements that service a second geographic location. In some implementations, V-EPC server 285 may also include a virtual content delivery network and/or a virtual session delivery network.
V-IMS server 290 may include a network element, such as a server device or a collection of server devices. In some implementations, V-IMS server 290 may store a virtual network element (e.g., in the form of a virtual image file) to allow V-IMS server 290 to function as a physical network element associated with the IMS network (e.g., an HSS/AAA server, a CSCF server, and/or some other network element associated with the IMS network). In some implementations, V-IMS server 290 may store multiple virtual network elements in a virtual container that services a particular geographic location. For example, V-IMS server 290 may store a first virtual container including virtual network elements that service a first geographic location and a second virtual container including virtual network elements that service a second geographic location.
While virtual network elements associated with the EPC are described as being stored by V-EPC server 285 and virtual network elements associated with the IMS network are described as being stored by V-IMS server 290, in practice, virtual network elements associated with the EPC and with the IMS network may be stored by a single server. Further, V-EPC server 285 and/or V-IMS server 290 may include additional virtual network elements, such as a virtual DNS server, a virtual tunnel gateway (TTG), a virtual policy and charging rule function (PCRF), and/or a virtual firewall. In some implementations, V-EPC server 285 and/or V-IMS server 290 may include virtual network elements that may be capable of functioning as a group of physical virtual network elements associated with different geographic locations.
Network 295 may include one or more wired and/or wireless networks. For example, network 295 may include a cellular network, a public land mobile network (PLMN), a second generation (2G) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) network, and/or another network. Additionally, or alternatively, network 295 may include a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), an ad hoc network, an intranet, the Internet, a fiber optic-based network, and/or a combination of these or other types of networks.
The quantity of devices, network elements, and/or networks, illustrated in
As shown in
Bus 305 may include a path that permits communication among the components of device 300. Processor 310 may include a processor, a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or another type of processor that interprets and executes instructions. Main memory 315 may include a random access memory (RAM) or another type of dynamic storage device that stores information or instructions for execution by processor 310. ROM 320 may include a ROM device or another type of static storage device that stores static information or instructions for use by processor 310. Storage device 325 may include a magnetic storage medium, such as a hard disk drive, or a removable memory, such as a flash memory.
Input device 330 may include a mechanism that permits an operator to input information to device 300, such as a control button, a keyboard, a keypad, or another type of input device. Output device 335 may include a mechanism that outputs information to the operator, such as a light emitting diode (LED), a display, or another type of output device. Communication interface 340 may include any transceiver-like mechanism that enables device 300 to communicate with other devices or networks. In some implementations, communication interface 340 may include a wireless interface, a wired interface, or a combination of a wireless interface and a wired interface.
Device 300 may perform certain operations, as described in detail below. Device 300 may perform these operations in response to processor 310 executing software instructions contained in a computer-readable medium, such as main memory 315. A computer-readable medium may be defined as a non-transitory memory device. A memory device may include space within a single physical storage device or spread across multiple physical storage devices.
The software instructions may be read into main memory 315 from another computer-readable medium, such as storage device 325, or from another device via communication interface 340. The software instructions contained in main memory 315 may direct processor 310 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
A particular instance of data structure 400 may contain different information and/or fields than another instance of data structure 400. In some implementations, data structure 400 may correspond to information associated with geographic service areas of virtual network elements and network activity of the virtual network elements. One instance of data structure 400 may store information regarding one network element in environment 200, whereas another instance of data structure 400 may store information regarding another network element in environment 200. In some implementations, network selection server 270 may select a network element based on information stored by data structure 400.
As shown in
Virtual network element information field 410 may store information for virtual network elements included in environment 200. For example, each entry of virtual network element information field 410 may store information that identifies a virtual network element. In some implementations, a virtual network element may be identified based on an element identifier (ID), a server ID, and a virtual element type. The server ID may store information that identifies a server that stores an image corresponding to the virtual network element (e.g., information that identifies a particular V-EPC server 285 or a particular V-IMS server 290). In some implementations, network element information field 410 may include information that identifies a type of the virtual network element (e.g., a virtual PGW, a virtual SGW, etc.). For example, as shown in
Service area field 420 may store information that identifies a service area associated with the virtual network element identified in virtual network element information field 410. For example, service area field 420 may store a center position and a radius corresponding to the service area of a virtual network element. As shown in
Element activity field 430 may store information that identifies network activity associated with virtual network elements. In some implementations, element activity field 430 may store network activity in terms of bandwidth, latency, jitter, or in some other form. In some implementations, element activity field 430 may store network activity for a virtual network element in real time or over a period of time. Additionally, element activity field 430 may store information that identifies threshold values in which the virtual network element may be considered to be overloaded. As an example, assume that the virtual network element having the element ID of “123,” is consuming 100 megabytes per second (mbps) of bandwidth and is associated with a threshold that indicates that the virtual network element is capable of handling less than 150 mbps of bandwidth. In this example, element activity field 430 may store information that identifies bandwidth activity (e.g., a real-time bandwidth activity or a bandwidth activity over a period of time) of 100 mbps. Further, element activity field 430 may store information that identifies a threshold value of less than 150 mbps.
Further, assume that the virtual network element having the element ID of “123” has a latency of 200 milliseconds (ms) and a threshold value of less than 100 ms that indicates that the virtual network element is overloaded when the latency of the virtual network element exceeds 100 ms. Further, assume that the virtual network element having the element ID of “123” has a jitter of 50 ms with a threshold value of less than 25 ms that indicates that the virtual network element is overloaded when the jitter of the virtual network element exceeds 25 ms. In some implementations, analytics server 275 may determine that the virtual network element having the ID of “123” may be overloaded since the latency activity value and the jitter activity value do not satisfy their respective threshold values.
In some implementations, analytics server 275 may direct orchestration server 280 to add virtual network elements (e.g., add virtual images representing virtual network elements to a server storing virtual network elements, such as V-EPC server 285 and/or V-IMS server 290) based on determining an overloaded virtual network element. Additionally, or alternatively, analytics server 275 may direct orchestration server 280 to remove a virtual network element (e.g., delete a virtual image representing a virtual network element) based on identifying a substantially under-loaded virtual network element (e.g., when the network activity of a network element satisfies a threshold relating to when the network element is considered to be substantially under-loaded). Additionally, or alternatively, analytics server 275 may direct orchestration server 280 to combine the functions of multiple virtual network elements based on identifying multiple under-loaded virtual network elements.
While particular fields are shown in a particular format in data structure 400, in practice, data structure 400 may include additional fields, fewer fields, different fields, or differently arranged fields than are shown in
In some implementations, network selection server 270 may advertise an IP address to SGW 230 such that SGW 230 may resolve to the IP address advertised by network selection server 270 (e.g., when user device 210 connects with SGW 230). As described above, network selection server 270 may select virtual network elements with which user device 210 may connect (e.g., via SGW 230), such as virtual network elements in the virtual domain. In some implementations, the virtual domain may include V-EPC server 285 and V-IMS server 290 which may each be provisioned to include one or more virtual images to function as physical network devices associated with a particular network (e.g., a network associated with a home network of user device 210).
For example, V-EPC server 285 may include virtual images to function as SGWs 230, MMEs 240, or PGWs 250 associated with the home network. V-IMS server 290 may include virtual images to function as HSS/AAA servers 260 or CSCF servers 265, associated with the home network, and may include information stored by physical HSS/AAA servers 260 or physical CSCF servers 265 (e.g., subscriber information of user device 210, authorization information of user device 210, etc.). In some implementations, orchestration server 280 may be used to add, modify, or delete virtual images stored by V-EPC server 285 and V-IMS server 290.
In some implementations, the virtual domain may include multiple V-EPC servers 285 and multiple V-IMS servers 290 located in data centers associated with a geographical location of a roaming network which with user device 210 may connect when user device 210 relocates from a home network to the roaming network. As a result, user device 210 may connect with the virtual network elements (e.g., via SGW 230) stored by servers located in the geographical location of the roaming network.
In
As further shown in
As further shown in
In some implementations, network selection server 270 may perform network selection function 540 based on receiving network selection query 530. For example, network selection server 270 may determine virtual network elements that may receive data packet information 520 in the context of allowing user device 210 to perform a function via an application of user device 210. In some implementations, network selection server 270 may select virtual network elements (e.g., virtual images stored by V-EPC server 285 or V-IMS server 290) based on virtual network elements that service a location associated with a current location of user device 210 and/or a location associated with data packet information 520 (e.g., a network or geographic location of the particular SGW 230 that received data packet information 520 from user device 210).
In some implementations, network selection server 270 may select virtual network elements based on a task to be performed by user device 210. For example, network selection server 270 may select virtual network elements associated with V-EPC server 285 for tasks relating to a web browsing function or for some other task associated with the EPC. Additionally, or alternatively, network selection server 270 may select virtual network elements associated with V-IMS server 290 for tasks relating to message sending and/or receiving functions, tasks relating to placing or receiving telephone calls, or some other task associated with the IMS network.
In some implementations, network selection server 270 may make an initial selection of virtual network elements associated with V-EPC server 285 or V-IMS server 290 based on a type of task to be performed by user device 210, as described above. Further, network selection server 270 may narrow the initial selection based on load-balancing techniques (e.g., by identifying virtual network elements having available network capacity to satisfy a resource demand associated with data packet information 520). In some implementations, network selection server 270 may select virtual network elements in a manner that balances network load across multiple virtual network elements associated with multiple data centers. Additionally, or alternatively, network selection server 270 may select virtual network elements that satisfy a performance threshold (e.g., as determined by information stored by analytics server 275).
Additionally, or alternatively, network selection server 270 may select virtual network elements based on some other technique (e.g., a round robin selection technique, selection of virtual network elements which are least loaded based on network activity information stored by data structure 400). In some implementations, network selection server 270 may enable the selected virtual network elements for use by user device 210 based on performing network selection function 540. In some implementations, network selection server 270 may select virtual network elements based on information stored by data structure 400 (e.g., service area information corresponding to a current location of user device 210 and/or using load-balancing techniques based on network element activity information corresponding to available network capacity to satisfy a resource demand associated with data packet information 520).
As shown in
As shown in
In some implementations, the selected virtual network elements may provide data packets 555 based on receiving data packets 550. Data packets 555 may include, for example, data relating to a response of data packets 550 (e.g., data relating to a web page requested by user device 210 via data packets 550, data relating to a computer file requested by user device 210 via data packets 550, etc.). As shown in
While a particular series of operations and/or data flows have been described above with regards to
As described above, user device 210, via SGW 230, may connect with virtual network elements (e.g., virtual EPC network elements and/or virtual IMS network elements) that service a geographic location in which the user device is currently located and/or with virtual network elements having network capacity to satisfy a resource demand associated with an application of the user device. In some implementations, orchestration server 280 may be used to add, delete, or modify virtual network elements in lieu of the expensive act of installing and/or modifying physical network elements. Additionally, or alternatively, physical network elements may be added, deleted, or modified in accordance with network resource demands associated with a particular geographic location.
The foregoing description provides illustration and description, but is not intended to be exhaustive or to limit the possible implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
It will be apparent that different examples of the description provided above may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these examples is not limiting of the implementations. Thus, the operation and behavior of these examples were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement these examples based on the description herein.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of the possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one other claim, the disclosure of the possible implementations includes each dependent claim in combination with every other claim in the claim set.
No element, act, or instruction used in the present application should be construed as critical or essential unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Patent | Priority | Assignee | Title |
10057109, | Apr 22 2013 | Cisco Technology, Inc.; Cisco Technology, Inc | Defining interdependent virtualized network functions for service level orchestration |
10740134, | Aug 20 2018 | Interwise Ltd. | Agentless personal network firewall in virtualized datacenters |
11070487, | May 12 2014 | NOKIA SOLUTIONS AND NETWORKS GMBH & CO KG | Controlling of communication network comprising virtualized network functions |
11526373, | Aug 20 2018 | Interwise Ltd. | Agentless personal network firewall in virtualized datacenters |
Patent | Priority | Assignee | Title |
20080085707, | |||
20100291943, | |||
20100332617, | |||
20110022694, | |||
20120039323, | |||
20120054345, | |||
20120147824, | |||
20120196570, | |||
20120290643, | |||
20130058227, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 26 2012 | Verizon Patent and Licensing Inc. | (assignment on the face of the patent) | / | |||
Nov 26 2012 | PARKER, BENJAMIN J | Verizon Patent and Licensing Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029349 | /0619 |
Date | Maintenance Fee Events |
Aug 08 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 09 2023 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 23 2019 | 4 years fee payment window open |
Aug 23 2019 | 6 months grace period start (w surcharge) |
Feb 23 2020 | patent expiry (for year 4) |
Feb 23 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 23 2023 | 8 years fee payment window open |
Aug 23 2023 | 6 months grace period start (w surcharge) |
Feb 23 2024 | patent expiry (for year 8) |
Feb 23 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 23 2027 | 12 years fee payment window open |
Aug 23 2027 | 6 months grace period start (w surcharge) |
Feb 23 2028 | patent expiry (for year 12) |
Feb 23 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |