Methods, systems, and devices for provisioning an application on a network node according to movement patterns and application parameters for mobile devices

Aspects of the subject disclosure may include, for example, identifying a plurality of mobile devices implementing an application, and identifying a group of mobile devices from among the plurality of mobile devices according to a first movement pattern of the group of mobile devices. Further aspects can include identifying a first mobile edge compute (MEC) node at a first location according to a proximity threshold that does not include a MEC agent for the application, and identifying a second MEC node at a second location that includes the MEC agent for the application according to the proximity threshold. Additional aspects can include determining a first network relative performance (NRP) metric associated with a first communications between the group of mobile devices and the second MEC node. The first communications are associated with the application. Other embodiments are disclosed.

FIELD OF THE DISCLOSURE

The subject disclosure relates to methods, systems, and devices for provisioning an application on a network node according to movement patterns and application parameters for mobile devices.

BACKGROUND

Traditional application server networks provision a network node to serve an application to nearby mobile devices. Once a network node is selected as an application server, the network node remains operating as an application server until network personnel deem it necessary to remove the application and/or provision another network node as an application server.

DETAILED DESCRIPTION

The subject disclosure describes, among other things, illustrative embodiments for identifying a plurality of mobile devices implementing an application and identifying a group of mobile devices from among the plurality of mobile devices according to a first movement pattern of the group of mobile devices. Further embodiments can include identifying a first mobile edge compute (MEC) node at a first location according to a proximity threshold that does not include a MEC agent for the application, and identifying a second MEC node at a second location that includes the MEC agent for the application according to the proximity threshold. Additional embodiments can include determining a first network relative performance (NRP) metric associated with a first communications between the group of mobile devices and the second MEC node. The first communications are associated with the application. Other embodiments are described in the subject disclosure.

One or more aspects of the subject disclosure a device, comprising a processing system including a processor, and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations. The operations can comprise identifying a plurality of mobile devices implementing an application, and identifying a group of mobile devices from among the plurality of mobile devices according to a first movement pattern of the group of mobile devices. Further operations can comprise identifying a first mobile edge compute (MEC) node at a first location according to a proximity threshold that does not include a MEC agent for the application, and identifying a second MEC node at a second location that includes the MEC agent for the application according to the proximity threshold. Additional operations can comprise determining a first network relative performance (NRP) metric associated with a first communications between the group of mobile devices and the second MEC node. The first communications are associated with the application.

One or more aspects of the subject disclosure include a machine-readable medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations. The operations can comprise identifying a plurality of mobile devices implementing an application, and identifying a group of mobile devices from among the plurality of mobile devices according a first movement pattern of the group of mobile devices. Further operations can comprise identifying a first mobile edge compute (MEC) node at a first location according to a proximity threshold that does not include a MEC agent for the application, and identifying a second MEC node at a second location that includes the MEC agent for the application according to the proximity threshold. Additional operations can comprise determining a first network relative performance (NRP) metric associated with a first communications between the group of mobile devices and the second MEC node. The first communications are associated with the application. Also, operations can comprise determining that the first NRP metric satisfies an NRP threshold, identifying an application parameter (AP) according to the second location of the second MEC node, determining that the AP does not satisfy an AP threshold, and provisioning the MEC agent for the application to the first MEC node.

One or more aspects of the subject disclosure include a method. The method can comprise identifying, by a processing system including a processor, a plurality of mobile devices implementing an application, and identifying, by the processing system, a group of mobile devices from among the plurality of mobile devices according to a first movement pattern of the group of mobile devices. Further, the method can comprise identifying, by the processing system, a first mobile edge compute (MEC) node at a first location according to a proximity threshold that does not include a MEC agent for the application, and identifying, by the processing system, a second MEC node at a second location that include the MEC agent for the application according to the proximity threshold. In addition, the method can comprise determining, by the processing system, a first network relative performance (NRP) metric associated with a first communications between the group of mobile devices and the second MEC node, the first communications are associated with the application, and determining, by the processing system, that the first NRP metric satisfies an NRP threshold. Also, the method can comprise identifying, by the processing system, a second movement pattern for the group of mobile devices implementing the application, and determining, by the processing system, a second NRP metric associated with a second communications between the group of mobile devices and the first MEC node. The second communications are associated with the application. Further, the method can comprise determining, by the processing system, that the second NRP metric does not satisfy the NRP threshold, and provisioning, by the processing system, the MEC agent to the first MEC node.

FIGS. 2A-2Dare block diagrams illustrating example, non-limiting embodiments of a system functioning within the communication network ofFIG. 1in accordance with various aspects described herein. Referring toFIG. 2A, in one or more embodiments, system200includes a network device202communicatively coupled to a first mobile edge compute (MEC) node204, a second MEC node206, and a third MEC node208over a communication network210. A mobile edge compute node can be a device that communicates to a mobile device over a wireless communication network (e.g. cellular network, WiFi network). A network device can be a device located in a core of network that communicates with a mobile edge compute node. Further, the system200can include a plurality of mobile devices212,213,214,215,216,218, each with its own user, communicatively coupled to one of the MEC nodes204,206,208over a wireless communication network211. A mobile device212,213,214,215,216,218can include, but is not limited to, a mobile phone, smartphone, tablet computer, laptop computer, wearable devices, smartwatch, vehicle communication system, or any other mobile device. In some embodiments, the MEC nodes204,206,208and the mobile devices212,214,216,218can be in various communication configurations that include with a portion of the mobile devices212,213214,215216,218communicating with any one of the MEC nodes204,206,208over a cellular communication network while another portion of the mobile devices212,214,216,218communicating with any one of the MEC nodes204,206,208over a WiFi communication network.

In one or more embodiments, the mobile devices212,213,214,215,216,218can implement/run/execute various applications from any one of the MEC nodes204,206,208. These applications can include media content applications, virtual reality applications, location applications, etc. Thus, an MEC node204,206,208can operate as an application server for a client application running/executing on any one of the mobile devices212,213,214,215216,218.

In one or more embodiments, a network device202can identify a plurality of mobile devices212,213,214,215216,218implementing an application. Further, the network device202can identify a group of mobile devices212,214,216,218from among the plurality of mobile devices212,213,214,215216,218according to a first movement pattern217of the group of mobile devices212,214,216,218. That is, the network device202can obtain location information of the mobile devices212,214,216,218from multiple base stations or WiFi routers that have been in communication with each of the group of mobile devices212,214,216,218over a period of time (at multiple time instances) to determine a movement pattern217of the group of mobile device212,214,216,218. The network device202may discern a need to provision an MEC agent for an application onto one or more of the MEC nodes204,206,208so that one of the MEC nodes can act as a server for the application for the group of mobile devices212,214,216,218to provide a quality user experience to each user of each of the mobile devices212,214,216,218.

In one or more embodiments, the network device202can identify a first location for a first MEC node204within or in proximity to the first movement pattern that does not include the MEC agent for the application, which may be a target to provision the MEC agent to serve the application to the mobile device212,214,216,218. Proximity can include determining a proximity threshold between an MEC node a group of mobile devices in a movement pattern. The proximity threshold can be a distance, time to transmit a message, signal strength, etc., between an MEC node and one mobile device within the group of mobile devices. Thus, in embodiments described herein, determining proximity between an MEC node and a group of mobile devices in a movement pattern can include determining an MEC node at a location according to, or within, a proximity threshold from a movement pattern.

However, the network node202can also identify a second MEC node in proximity to the first movement pattern that is already provisioned with an MEC agent. The network node202can determine an NRP metric for communications between the group of mobile devices212,214,216,218and an MEC node (the communications are associated with the application) to determine whether there is a need to provision an MEC agent to an MEC node to continue to provide a quality user experience to the user of mobile devices212214,216,218. Proximity may mean not only next to a movement pattern217but also substantially close or substantially near the movement pattern217. Further, the network device202can identify a second location of a second MEC node206that includes the MEC agent for the application that is in proximity to the first MEC node204, and therefore within or in proximity to the first movement pattern217. In addition, the network device202can determine a first NRP metric associated with a first communications between the group of mobile devices and the second MEC node (the first communications are associated with the application). The group of mobile devices212,214,216,218that are in a first movement pattern and the second MEC node can comprise a first network. An NRP metric can be calculated by the network device202for such a first network.

Referring toFIG. 2H, an NRP metric can include determining available bandwidth for portions or for an entire network, processing capacity of various network devices in portions or in an entire network, and/or memory capacity of portions or in an entire network, as well as jitter, latency, delay, packet loss, reliability, etc. of the network devices comprising the first network, namely the group of mobile devices212,214,216,218and the second MEC node206. Thus, determining the first NRP metric for the application according to the first movement pattern can include determining the first NRP metric for the first network associated with the first movement pattern and the location of the second MEC node206.

In one or more embodiments, the network device202can comprise several components288including a deep learning pattern matching engine290, a safe reinforcement learning engine292, a graph database293, and a performance metrics engine294all of which can communicate with each other. The deep learning pattern matching engine290can obtain a graph of the topology or geometry of the first network296that includes the first movement pattern of the group of mobile devices212,214,216,218and the second MEC node206from the graph database293and determine the performance metrics for each link (P1, P2, P3, P4) and the performance metrics for each network component (P5, P6, P7, P8, P9) from the performance metrics engine294. Performance metrics for each link (P1, P2, P3, P4) can include available bandwidth, throughput, jitter, latency, delay, packet loss, reliability, etc. or a combination thereof. Performance metrics for each network component (P5, P6, P7, P8, P9) can include processing capacity, memory capacity, throughput, etc. or a combination thereof. In some embodiments the deep learning pattern matching engine290can implement geometric deep learning such that the deep learning pattern matching engine290analyzes the performance metrics of each link and network component in concert with the geometry or topology of the first network296comprising the group of mobile devices212,214,216,218and the location of second MEC node206provided by the using a hierarchy of processors similar to a neural network. Such a hierarchy of processors can use machine learning to understand the behavior of the first network296, hence determine its NRP metric based on training data of similar networks having a similar geometry/topology and similar performance metrics for each network component. The deep learning pattern matching engine290provides an NRP metric for the first network296.

In some embodiments, the NRP can be a weighted sum of the performance metrics of the network components. For example, the performance metric for each link P1, P2, P3, P4can have a value of 1. The performance metric for each network component P5, P6, P7, P8, can have a value of 2 and the performance metric for another network component P9can be 3. The NRP metric can be a weighted sum of each performance metric, where the weight for P1-P8has a value of 1 and the weight for P9has a value of 3 such that the weighted sum of P1-P9for the NFP metric can have a value of 21.

In further embodiments, the deep learning matching engine290can provide an NRP metric for a second network comprising the group of mobile devices212,214,216,218and the location of the first MEC node204(with its own performance metric).

In other embodiments, the safe reinforcement learning engine292can compare the NRP metric of the first network296and the second network. In additional embodiments, if the NRP metric of the first network is greater than the NRP metric of the second network, the safe reinforcement learning engine292can decide not to provision the first MEC node204with the application to serve the application to the group of mobile devices212,214,216,218because the second MEC node206is providing a better user experience than the first MEC node204could provide, as indicated by having a greater NRP. However, in other embodiments, if the NRP metric of the first network is less than the NRP metric of the second network, the safe reinforcement learning engine292can provision the first MEC node204with the application to serve the application to the group of mobile devices212,214,216,218because the first MEC node204would be providing a better user experience than the second MEC node204currently provides because it has a greater NRP.

In some embodiments, the NRP metric of the first network does not satisfy a threshold (that corresponds to a threshold level of user experience), but the NRP metric of the second network does satisfy the threshold. Hence, the safe reinforcement learning engine292provisions the first MEC node204with the application to serve the application to the group of mobile devices212,214,216,218because the first MEC node204would be providing a better user experience than the second MEC node204currently provides because the NRP metric not satisfying the NRP threshold indicates an unsatisfactory user experience.

Details of examples of determining NRP metrics are described in US Publication No. 20170195171, which is incorporated by reference in its entirety into this patent application.

Referring toFIG. 2A, in one or more embodiments, the network device202can determine that the first NRP metric satisfies an NRP threshold. That is, the first NRP metric indicates that the second MEC node206is acting sufficiently as an application server for the applications running/executing on mobile devices212,214,216,218to provide users of the mobile devices212,214,216,218with a quality user experience. In some embodiments, the NRP threshold can be a value provisioned by network personnel. In other embodiments, the NRP threshold can be a previous determination of the NRP metric for a portion of the network involving the first movement pattern that provides an adequate user experience. That is, if the current NRP metric is above the previous NRP metric, then the current NRP metric can satisfy the NRP threshold.

In one or more embodiments, the network device202can determine that the first NRP metric does not satisfy the NRP threshold. Accordingly, the network node202can provision an MEC agent onto the first MEC node204to serve as an application server for the application running/executing on mobile devices212,214,216,218to provide a quality user experience for the users of the mobile devices212,214,216,218.

Referring toFIG. 2B, in one or more embodiments, mobile devices212,214,216,218can travel along a second movement pattern219and access a different part of the wireless communication network211. Due to the movement of the mobile devices,212,214,216,218, the network device202may determine the current movement pattern of the mobile devices212,214,216,218and may provision an MEC agent to another MEC node to act as an application server to continue to serve the applications running/executing on the mobile devices212,214,216,218to continue to provide a quality user experience.

In one or more embodiments, an MEC agent is provisioned on the first MEC node204such that it operates as an application server and the network device202can obtain a second movement pattern219for the group of mobile devices212,214,216,218implementing the application and determining a second NRP metric associated with a second communications between the group of mobile devices and the first MEC node (the second communications are associated with the application). This and other provisioning can be based on hardwire communications and/or wireless communications, including over-the-air (OTA) messaging. In some embodiments, the network device202can determine that the second NRP metric satisfies the NRP threshold. In other embodiments, the network device202can determine the second NRP metric does not satisfy the NRP threshold according to the second movement pattern219and the location of the first MEC node204. Further, the network device202can identify a third MEC node208and its location according to the second movement pattern219as an MEC node in proximity to the mobile devices212,214,216,218.

In addition, the network device202can determine a third NRP metric associated with a third communications between the group of mobile devices and the third MEC node (the third communications are associated with the application). Further, the network device202can determine that the third NRP metric satisfies the NRP threshold. Also, the network device202can provision the MEC agent to the third MEC node208to serve as an application server to continue to provide a quality user experience to the mobile devices212,214,216,218. In some embodiments, the network device202can remove the MEC agent from the first MEC node204. In other embodiments, a portion of the functions can be performed by an MEC node rather than the network node202. In other embodiments, the network node202can be an MEC node.

In one or more embodiments, an MEC agent may be provisioned on a second MEC node206to serve as an application server for applications running/executing on the mobile devices212,214,216,218. Further, the network device202can identify an application parameter (AP) according to the location of the second MEC node206. In some embodiments, the AP can be evaluated by the network device202for the second MEC node206and in other embodiments, the AP can be evaluated by the second MEC node206and provided to the network device202. The AP can include such parameters as latency, amount of bandwidth need, and/or delay in serving application from the second MEC node206to one or more of the mobile devices212,214,216,218. In addition, the network device202can determine that the AP does not satisfy an AP threshold (which can be configurable by network personnel) indicating an unsatisfactory user experience and can provision the MEC agent for the application to the third MEC node208to provide a quality user experience. In further embodiments, the AP threshold can be determined based on pre-defined factors or in additional embodiments can be dynamically determined based on inputted criteria by a user or by network personnel.

Referring toFIGS. 2C and 2D, in one or more embodiments, a portion of the mobile devices that run/execute an application that is served by the one of the MEC nodes204,206,208can be included on autonomous vehicles220,222,224. Thus, the embodiments that applied to mobile devices inFIGS. 2A and 2B, also apply to autonomous vehicles220,222,224. The frequency in obtaining movement patterns of the autonomous vehicles220,222,224, determining NRP metrics and determining whether they satisfy NRP thresholds may increase due to the increase in the change in frequency of movement patterns of autonomous vehicles220,222,224.

FIGS. 2E-2Gdepict illustrative embodiments of methods in accordance with various aspects described herein. In one or more embodiments, a network device(s) may implement the methods.

Referring toFIG. 2E, in one or more embodiments, the method230can include the network device, at231, identifying a plurality of mobile devices implementing an application. Also, the method230can include the network device, at232, identifying a group of mobile devices from among the plurality of mobile devices according to a first movement pattern of the group of mobile devices. Further, the method230can include the network device, at234, identifying a first mobile edge compute (MEC) node at a first location according to a proximity threshold that does not include a MEC agent for the application. In addition, the method230can include the network device, at236, identifying a second MEC node at a second location that includes the MEC agent for the application according to the proximity threshold. Also, the method230can include the network device, at238, determining a first NRP metric associated with a first communications between the group of mobile devices and the second MEC node. The first communications are associated with the application

In one or more embodiments, the method230can include the network device, at240, determining that the first NRP metric satisfies an NRP threshold. Further, the method230can include the network device, at242, determining that the first NRP metric does not satisfy an NRP threshold. In addition, the method230can include the network device, at244, provisioning the MEC agent for the application to the first MEC node.

Referring toFIG. 2F, the method250can include the network device, at252, identifying a second movement pattern for the group of mobile devices implementing the application. Further, the method250can include the network device, at254, determining a second NRP metric associated with a second communications between the group of mobile devices and the first MEC node. The second communications are associated with the application. In addition, the method250can include the network device, at256, determining the second NRP metric satisfies an NRP threshold. Also, the method250can include the network device, at258, determining the second NRP metric does not satisfy an NRP threshold. Further, the method250can include the network device, at260, identifying a third location of a third MEC node according to the proximity threshold. Also, the method250can include the network device, at261, determining a third NRP metric associated with a third communications between the group of mobile devices and the third MEC node. The third communications are associated with the application. In addition, the method250can include the network device, at262, determining that the third NRP metric satisfies the NRP threshold. Also, the method250can include the network device, at264, provisioning the MEC agent to the third MEC node. Further, the method250can include the network device, at266, removing the MEC agent from the first MEC node.

Referring toFIG. 2G, the method280can include the network device, at282, identifying an application parameter (AP) according to the second location of the second MEC node. Further, the method280can include the network device, at284, determining that the AP does not satisfy an AP threshold. In addition, the method280can include the network device, at286, provisioning the MEC agent for the application to the first MEC node. The AP can comprise at least one of latency, bandwidth, or delay

Further, portions of embodiments described herein can be combined with portions of other embodiments.

Referring now toFIG. 3, a block diagram300is shown illustrating an example, non-limiting embodiment of a virtualized communication network in accordance with various aspects described herein. In particular a virtualized communication network is presented that can be used to implement some or all of the subsystems and functions of communication network100, the subsystems and functions of system200, and method230presented inFIGS. 1, 2A, 2B, 2C, and 3. For example, virtualized communication network300can facilitate in whole or in part provisioning an MEC agent on an MEC node to serve as an application server for applications running/executing on a group of mobile devices according to an NRP metric for the group of mobile devices and the MEC node.

Turning now toFIG. 4, there is illustrated a block diagram of a computing environment in accordance with various aspects described herein. In order to provide additional context for various embodiments of the embodiments described herein,FIG. 4and the following discussion are intended to provide a brief, general description of a suitable computing environment400in which the various embodiments of the subject disclosure can be implemented. In particular, computing environment400can be used in the implementation of network elements150,152,154,156, access terminal112, base station or access point122, switching device132, media terminal142, and/or VNEs330,332,334, etc. Each of these devices can be implemented via computer-executable instructions that can run on one or more computers, and/or in combination with other program modules and/or as a combination of hardware and software. For example, computing environment400can facilitate in whole or in part provisioning an MEC agent on an MEC node to serve as an application server for applications running/executing on a group of mobile devices according to an NRP metric for the group of mobile devices and the MEC node. Network device202, MEC nodes204,206,208, mobile devices212,214,216,218, and autonomous vehicles220,222,224can comprise computing environment400.

Turning now toFIG. 6, an illustrative embodiment of a communication device600is shown. The communication device600can serve as an illustrative embodiment of devices such as data terminals114, mobile devices124, vehicle126, display devices144or other client devices for communication via either communications network125. For example, computing device600can facilitate in whole or in part provisioning an MEC agent on an MEC node to serve as an application server for applications running/executing on a group of mobile devices according to an NRP metric for the group of mobile devices and the MEC node. Network device202, MEC nodes204,206,208, mobile devices212,214,216,218, and autonomous vehicles220,222,224can comprise communication device600.