Method and apparatus for transmitting mobile edge computing application

A method, performed by an electronic device, of transmitting a mobile edge application, includes obtaining information related to an execution environment of at least one pre-installed mobile edge application, receiving an installation request for a new mobile edge application, determining a mobile edge computing host for installing the new mobile edge application, based on the information related to the execution environment and the requirement information related to an execution environment of the new mobile edge application, and transmitting the new mobile edge application to the determined mobile edge computing host.

BACKGROUND

Field

The disclosure relates to a method and apparatus for transmitting a mobile edge computing (for example, multi-access or mobile edge computing (MEC)) application.

Description of Related Art

Recently, an edge computing technology of transmitting data using an edge server has been developed. Edge computing technology may include, for example, multi-access edge computing (MEC) or fog computing (FOC). Edge computing technology is a technology of providing data to an electronic device through a separate server (hereinafter, referred to as an edge server, an MEC server, or an MEC host) provided at a location geographically close to the electronic device, for example, inside a base station or near the base station. For example, an application requiring a low delay time (latency) among at least one application provided in the electronic device may transmit or receive data through an edge server provided at a geographically close location, without passing through a server located in an external data network (DN) (for example, the Internet).

Recently, a service (hereinafter, referred to as an MEC-based service or an MEC service) using the edge computing technology has been proposed. With the progress in studies and development for supporting the MEC-based service, a method of selecting an optimum MEC host to provide a high-quality MEC service to a user has been introduced.

SUMMARY

Provided are a method and apparatus for transmitting a mobile edge computing application.

DETAILED DESCRIPTION

According to an embodiment of the disclosure, an electronic device includes: a communicator; and at least one processor configured to obtain information related to an execution environment of at least one pre-installed mobile edge application, receive an installation request for a new mobile edge application, determine a mobile edge computing host for installing the new mobile edge application based on the information related to the execution environment and requirement information related to an execution environment of the new mobile edge application, and transmit the new mobile edge application to the determined mobile edge computing host.

According to an embodiment of the disclosure, the at least one processor may be further configured to receive, from at least one external server, the information related to the execution environment and the installation request for the new mobile edge application.

According to an embodiment of the disclosure, the information related to the execution environment of the at least one pre-installed mobile edge application may include at least one of requirement information related to the execution environment of the at least one pre-installed mobile edge application, information about a transmission history, information about network congestion of the mobile edge computing host, or information about an available resource.

According to an embodiment of the disclosure, the information about the transmission history may include change history information of the mobile edge computing host where the at least one mobile edge application is installed.

According to an embodiment of the disclosure, the at least one processor may be further configured to compare the information related to the execution environment with the requirement information related to the execution environment of the new mobile edge application, and determine the mobile edge computing host based on a result of the comparison.

According to an embodiment of the disclosure, the at least one processor may be further configured to determine stability of the execution environment of the at least one pre-installed mobile edge application, based on the information related to the execution environment, and determine the mobile edge computing host based on the stability and the requirement information related to the execution environment of the new mobile edge application.

According to an embodiment of the disclosure, the at least one processor may be further configured to determine an idle resource of a mobile edge computing host of the at least one pre-installed mobile edge application, based on the information related to the execution environment, and determine the mobile edge computing host based on the idle resource and the requirement information related to the execution environment of the new mobile edge application.

According to an embodiment of the disclosure, the at least one processor may be further configured to digitize the information related to the execution environment and the requirement information related to the execution environment of the new mobile edge application respectively into data, and determine the mobile edge computing host based on the digitized data.

According to an embodiment of the disclosure, the at least one processor may be further configured to generate a data comparison list based on the digitized data, and determine the mobile edge computing host based on the data comparison list.

According to an embodiment of the disclosure, the at least one processor may be further configured to obtain information related to the execution environment of the transmitted new mobile edge application, determine a mobile edge computing host for reinstalling the new mobile edge application, based on the information related to the execution environment of the at least one pre-installed mobile edge application and the information related to the execution environment of the transmitted new mobile edge application, and retransmit the new mobile edge application to the determined mobile edge computing host.

According to an embodiment of the disclosure, provided is a method, performed by an electronic device, of transmitting a mobile edge application. The method, performed by an electronic device, of transmitting a mobile edge application, includes: obtaining information related to an execution environment of at least one pre-installed mobile edge application; receiving an installation request for a new mobile edge application; determining a mobile edge computing host for installing the new mobile edge application, based on the information related to the execution environment and the requirement information related to an execution environment of the new mobile edge application; and transmitting the new mobile edge application to the determined mobile edge computing host.

According to an embodiment of the disclosure, the obtaining of the information related to the execution environment may include receiving, from at least one external server, the information related to the execution environment, and the receiving of the installation request may include receiving, from the at least one external server, the installation request for the new mobile edge application.

According to an embodiment of the disclosure, the information related to the execution environment of the at least one pre-installed mobile edge application may include at least one of requirement information related to the execution environment of the at least one pre-installed mobile edge application, information about a transmission history, information about network congestion of the mobile edge computing host, or information about an available resource.

According to an embodiment of the disclosure, the information about the transmission history may include change history information of the mobile edge computing host where the at least one mobile edge application is installed.

According to an embodiment of the disclosure, the determining of the mobile edge computing host for installing the new mobile edge application may include: comparing the information related to the execution environment with the requirement information related to the execution environment of the new mobile edge application; and determining the mobile edge computing host based on a result of the comparing.

According to an embodiment of the disclosure, the determining of the mobile edge computing host for installing the new mobile edge application may include: determining stability of the execution environment of the at least one pre-installed mobile edge application, based on the information related to the execution environment; and determining the mobile edge computing host based on the stability and the requirement information related to the execution environment of the new mobile edge application.

According to an embodiment of the disclosure, the determining of the mobile edge computing host for installing the new mobile edge application may include: determining an idle resource of a mobile edge computing host of the at least one pre-installed mobile edge application, based on the information related to the execution environment; and determining the mobile edge computing host based on the idle resource and the requirement information related to the execution environment of the new mobile edge application.

According to an embodiment of the disclosure, the determining of the mobile edge computing host for installing the new mobile edge application may include: digitizing the information related to the execution environment and the requirement information related to the execution environment of the new mobile edge application respectively into data; and determining the mobile edge computing host based on the digitized data.

According to an embodiment of the disclosure, the determining of the mobile edge computing host based on the digitized data may include: generating a data comparison list based on the digitized data; and determining the mobile edge computing host based on the data comparison list.

According to an embodiment of the disclosure, the method may further include: obtaining information related to the execution environment of the transmitted new mobile edge application; determining a mobile edge computing host for reinstalling the new mobile edge application, based on the information related to the execution environment of the at least one pre-installed mobile edge application and the information related to the execution environment of the transmitted new mobile edge application; and retransmitting the new mobile edge application to the determined mobile edge computing host.

In describing the embodiments, descriptions of technical contents that are well known in the technical field to which the disclosure belongs and are not directly related to the disclosure will be omitted. By omitting the unnecessary description, the gist of the disclosure may be more clearly conveyed without obscuring the subject matter.

For the same reasons, components may be exaggerated, omitted, or schematically illustrated in drawings for clarity. Also, the size of each component does not completely reflect the actual size. In the drawings, like reference numerals denote like elements.

Advantages and features of the disclosure and methods of accomplishing the same may be understood more readily by reference to the following detailed description of the embodiments and the accompanying drawings. In this regard, the embodiments of the disclosure may have different forms and should not be construed as being limited to the descriptions set forth herein. Rather, these embodiments of the disclosure are provided so that this disclosure will be thorough and complete and will fully convey the concept of the present embodiments of the disclosure to one of ordinary skill in the art, and the disclosure will only be defined by the appended claims. Throughout the specification, like reference numerals denote like elements.

Here, it will be understood that combinations of blocks in flowcharts or process flow diagrams may be performed by computer program instructions. Because these computer program instructions may be loaded into a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus, the instructions, which are executed via the processor of the computer or other programmable data processing apparatus generate means for implementing the functions specified in the flowchart block(s).

The computer program instructions may be stored in a computer-executable or computer-readable memory (e.g., a non-transitory computer-executable or computer-readable memory) capable of directing a computer or another programmable data processing apparatus to implement a function in a particular manner, and thus the instructions stored in the computer-executable or computer-readable memory may also be capable of producing manufacturing items containing instruction units for performing the functions described in the flowchart block(s).

The computer program instructions may also be loaded into a computer or another programmable data processing apparatus, and thus, instructions for operating the computer or the other programmable data processing apparatus by generating a computer-executed process when a series of operations are performed in the computer or the other programmable data processing apparatus may provide operations for performing the functions described in the flowchart block(s).

In addition, each block may represent a portion of a module, segment, or code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative implementations, functions mentioned in blocks may occur in a different order. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Here, the term “unit” used in the embodiments refers, for example, to a software component or hardware component such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC), and performs a specific function. However, the term “unit” is not limited to software or hardware. The “unit” may be formed so as to be in an addressable storage medium, or may be formed so as to operate one or more processors.

A function provided by the components and “units” may be associated with the smaller number of components and “units”, or may be divided into additional components and “units”. Furthermore, the components and “units” may be embodied to reproduce one or more central processing units (CPUs) in a device or security multimedia card. Also, in the embodiments, the “unit” may include at least one processor.

FIG.1is a diagram for schematically describing an example network environment supporting a mobile edge computing (MEC)-based service, according to various embodiments.

Referring toFIG.1, a network environment10may include a terminal100, a 3rd generation partnership project (3GPP) network200, an edge data network300, and a service server400. However, components included in the network environment10are not limited to the components illustrated inFIG.1.

According to an embodiment, each of the components included in the network environment10may denote a physical entity unit or denote a software or module unit capable of performing an individual function. Accordingly, the component included in the network environment10may be referred to as an entity or a function.

According to an embodiment, the terminal100may denote, for example, an apparatus used by a user. For example, the terminal100may denote a user equipment (UE), a remote terminal, a wireless terminal, or a user device. Also, the terminal100may include any type of device.

According to an embodiment, the terminal100may drive (or execute) a plurality of application clients. For example, the terminal100may include a first application client111and a second application client112. The plurality of application clients may require different network services based on at least one of a data rate of the terminal100, a delay time (or a speed) (latency), reliability, the number of terminals100accessing a network, a network accessing cycle of the terminal100, or average data usage. The different network services may include, for example, enhanced mobile broadband (eMBB), ultra-reliable and low latency communication (URLLC), or massive machine type communication (mMTC).

An application client of the terminal100may denote a basic application pre-installed in the terminal100or an application provided by a third party. In other words, the application client may denote a client application program driven in the terminal100for a particular application service. Several application clients may be driven in the terminal100. At least one of the application clients may be used to provide a service from the edge data network300to the terminal100. For example, the application client is an application installed in and executed by the terminal100, and may provide a function of transmitting or receiving data through the edge data network300. The application client of the terminal100may denote application software (or a module) executed on the terminal100so as to use a function provided by at least one particular edge application.

According to an embodiment, the first and second application clients111and112of the terminal100may perform data transmission with the service server400based on a required network service type or perform edge computing-based data transmission with the edge data network300. For example, when the first application client111does not require low latency, the first application client111may perform data transmission with the service server400. As another example, when the second application client112requires low latency, the second application client112may perform MEC-based data transmission with the edge data network300. The disclosure is not limited to the above examples, and the terminal100may determine whether to transmit or receive data to or from the service server400or edge data network300, based on various conditions other than latency.

According to an embodiment, an application client of the terminal100may be referred to as a UE app, an application client, a client application (client app), or a UE application. In the disclosure below, for convenience, the application client of the terminal100will be referred to as an application client.

According to an embodiment, the 3GPP network200is a wireless communication system following the 3GPP standard, and may provide a wireless communication service to the terminal100by being connected to the terminal100. The 3GPP network200may include a radio access network (RAN) and a core network. The 3GPP network200may include a 3rd generation (3G) network, a long-term evolution (LTE) network, a long-term evolution advanced (LTE-A) network, or a next-generation network (5th generation (5G) or new radio (NR)). The disclosure is not limited to the above examples, and the 3GPP network200of the disclosure may include a network using another communication technology.

According to an embodiment, the edge data network300may denote, for example, a server accessed by the terminal100to use an MEC service. The edge data network300may be arranged inside a base station of the 3GPP network200to which the terminal100is connected or at a location geographically close to the base station, and provide content that is at least partially the same as content provided by the service server400. According to an embodiment, MEC may stand for multi-access edge computing or mobile edge computing.

According to an embodiment, the edge data network300may be referred to as an MEC server, an MEC host, an edge computing server, a mobile edge host, or an edge computing platform.

According to an embodiment, the edge data network300may execute a plurality of edge applications. For example, the edge data network300may execute a first edge application311and a second edge application312. According to an embodiment, an edge application may denote an application provided by a third party in the edge data network300providing an MEC service. The edge application may be used to form a data session with an application client so as to transmit or receive data related to the application client. In other words, the edge application may form the data session with the application client. According to an embodiment, the data session may denote a communication path formed such that an application client of the terminal100and an edge application of the edge data network300transmit or receive data.

According to an embodiment, an application of the edge data network300may be referred to as an edge application an MEC application (MEC app), an edge application server, an ME (MEC) app, or an edge application. In the disclosure below, for convenience, the application of the edge data network300will be referred to as an edge application.

According to an embodiment, the edge data network300may include an edge enabler server320. According to an embodiment, the edge enabler server320may be referred to as a mobile edge computing (MEC) platform, a mobile edge (ME) platform (MEP), or a platform. Details about the edge enabler server320will be described below with reference toFIG.4.

According to an embodiment, the service server400may provide content related to an application client of the terminal100. For example, the service server400may provide a service or data required for the terminal100to drive (or execute) an application client, and provide, to the edge data network300, an edge application for providing an MEC service to the application client of the terminal100. Also, the service server400may provide, to the edge data network300, a service or data required for the terminal100to drive (or execute) an application client. The service server400may be operated or managed by a content business operator providing content to the terminal100.

Although not shown inFIG.1, a data network (DN) may be present between the 3GPP network200and the edge data network300. According to an embodiment, the DN may provide a service (for example, an Internet service or an IP multimedia subsystem (IMS) service) by transmitting or receiving data (or a data packet) to or from the terminal100through the 3GPP network200. For example, the DN may be managed by a communication business operator. According to an embodiment, the edge data network300may be connected to the 3GPP network200through a DN (for example, a local DN).

According to an embodiment of the disclosure, when first application client111or second application client112is executed in the terminal100, the terminal100may access the edge data network300through the 3GPP network200to transmit or receive data for executing an application client. Here, when the data is transmitted from the terminal100to the edge data network300or from the edge data network300to the terminal100, transmission latency may occur. According to an embodiment, such transmission latency may be referred to as end-to-end transmission latency.

According to an embodiment, when the edge data network300transmits data to the terminal100through the 3GPP network200, the edge data network300may store only a portion of the data to be transmitted to the terminal100or may not store the data. For example, with the diversification of MEC services provided to the terminal100, the edge data network300may not store all pieces of data regarding all MEC services provided to the terminal100. The edge data network300may store only a portion of data to be transmitted to the terminal100so as to provide an MEC service for some MEC services, and receive remaining data from the service server400and transmit the same to the terminal100.

FIG.2is a diagram showing an example network environment supporting an MEC-based service based on a terminal, according to various embodiments.

According to an embodiment, the terminal100may include the first application client111, the second application client112, an edge enabler client120, and a 3GPP communication layer130. The first application client111and the second application client112may denote basic applications pre-installed in the terminal100or applications provided by a third party. The first application client111and the second application client112may perform data transmission with the service server400based on a required network service type or perform edge computing-based data transmission with the edge data network300.

According to an embodiment, the edge enabler client120may denote a layer performing operations in the terminal100to enable the terminal100to use an MEC service. According to an embodiment, the edge enabler client120may also be referred to as an MEC enabling layer (MEL). The edge enabler client120may perform operations of determining which application client is able to use an MEC service and connecting a network interface such that data of an application client of the terminal100may be transmitted to the edge data network300providing the MEC service.

Also, the edge enabler client120may perform, together with the 3GPP communication layer130, an operation for establishing a data connection for the terminal100to use the MEC service. The 3GPP communication layer130may denote, for example, a layer performing a modem operation for using a mobile communication system, and perform operations of establishing a wireless communication for data communication, register the terminal100in the mobile communication system, establish a connection in the mobile communication system for data transmission, and transmit or receive data.

FIG.3is a diagram showing an example network environment supporting an MEC-based service based on an MEC server, according to various embodiments.

According to an embodiment, the terminal100may include the first application client111and the second application client112. The terminal100may be connected to the 3GPP network200to transmit or receive data related to the first application client111and second application client112.

According to an embodiment, the edge data network300may provide an MEC service to the terminal100. In this regard, the edge data network300may be arranged inside the base station of the 3GPP network200to which the terminal100is connected or at a location geographically close to the base station, and provide content that is at least partially the same as content provided by the service server400.

According to an embodiment, the edge data network300may include a plurality of edge applications (the first edge application311, the second edge application312, and the edge enabler server320). However, the configuration of the edge data network300is not limited to the configuration shown inFIG.3.

According to an embodiment, an edge application is an application provided by a third party in the edge data network300, and may form a data session with an application client to transmit or receive data related to the application client.

According to an embodiment, the edge enabler server320may provide a function required to execute an edge application. For example, the edge enabler server320may provide a function or environment such that an edge application provides an MEC service to the terminal100or the like, or the edge application may use (consume) the MEC service. Also, the edge enabler server320may perform traffic control or domain name system (DNS) handling.

According to an embodiment, an MEC service may collectively denote a procedure and information-related service required to use an edge application. The MEC service may be provided or used (consumed) by the edge enabler server320or an edge application. For example, the edge application may provide the MEC service to the terminal100or use the MEC service provided by the edge enabler server320to provide the MEC service to the terminal100. Also, the edge enabler server320may provide, to the edge application, the MEC service that may be used by the edge application to provide the MEC service to the terminal100. Hereinafter, the MEC service may denote a service provided by the edge data network300or edge application to the terminal100or a service provided by the edge enabler server320and used by the edge application.

According to an embodiment, the edge enabler server320may provide the MEC service to the edge application. For example, according to the provided MEC service, the edge enabler server320may provide, to the edge application, various types of information (data and content, for example, information about a location of a terminal, caching data, and information about a subscribed service). The edge application may provide the MEC service to the terminal100using the MEC service provided by the edge enabler server320. For example, the edge application may provide the MEC service to the terminal100, based on pieces of information provided by the edge enabler server320as the MEC service. The MEC service provided to the terminal100may be a service required for the terminal100to drive an application client (for example, provision of data required to drive the application client).

According to an embodiment, the edge enabler server320may include an MEC service330and a service registry340. The MEC service330may provide a service to edge applications included in the edge data network300. The MEC service330may be implemented as software or a module for performing an individual function. The service registry340may provide information about a service(s) available in the edge data network300. According to an embodiment, the edge enabler server320may internally register an edge application when an instance of the edge application is generated (instantiation). The edge enabler server320may register (or install) the edge application and store information related to the edge application. The information related to the edge application stored in the edge enabler server320may include information about an MEC service to be provided by the edge application to the terminal100or the like, information about whether the MEC service is a required service or an option service for the edge application, and the like.

According to an embodiment, the edge application may register a new MEC service in the edge enabler server320(service registration) or search for an MEC service registered in the edge enabler server320. While registering an MEC service in the edge enabler server320, the edge application may provide, to the edge enabler server320, information about the MEC service to be registered. The edge enabler server320may register the MEC service in the service registry340.

According to an embodiment, the edge application may update the MEC service registered in the edge enabler server320. For example, to update the MEC service registered in the edge enabler server320, the edge application may transmit, to the edge enabler server320, information about the MEC service to be updated. Here, the edge enabler server320may perform updating in the service registry340in relation to the updated MEC service.

According to an embodiment, the edge enabler server320may transmit, to the edge application in the edge data network300, information about MEC services registered in the service registry340. For example, the edge enabler server320may transmit, to the edge application, a list of the MEC services registered in the service registry340. Also, the edge enabler server320may transmit, to the edge application, information about availability of MEC services that have been registered or are newly registered in the service registry340.

According to an embodiment, information indicating that the availability of the MEC services have been changed may be transmitted from the edge enabler server320to the edge applications in the edge data network300. For example, when a new MEC service is registered in the service registry340or an MEC service registered in the service registry340is updated, and thus availability of an MEC service is changed, the edge enabler server320may transmit, to the edge application information indicating that the availability of the MEC service has been changed. Here, the edge enabler server320may transmit the information indicating that the availability of the MEC service has been changed to the edge applications that registered, as a required service or optional service, the MEC service of which the availability has been changed.

FIG.4is a diagram showing an example network environment supporting an MEC-based service, according to various embodiments.

According to an embodiment, components ofFIG.4may correspond to the components ofFIG.3. For example, an MEC host350, first and second mobile edge (ME) applications (apps)361and362, and an MEC platform (MEP)370ofFIG.4may respectively correspond to the edge data network300, the first and second edge applications311and312, and the edge enabler server320ofFIG.3. In the descriptions ofFIG.4below, details overlapping those ofFIG.3are not repeated.

Referring toFIG.4, an MEC system may include the MEC host350, a mobile edge platform manager (MEPM)392, a virtualization infrastructure manager (VIM)394, and a mobile edge orchestrator (MEO)396. However, components included in the MEC system are not limited to the components illustrated inFIG.4. Each of the components included in the MEC system may denote a physical entity unit or denote a software or module unit capable of performing an individual function. According to an embodiment, the MEC host350may include a plurality of ME apps (the first ME app361and the second ME app362), the MEP370, and a virtual infrastructure380. However, components of the MEC host350are not limited thereto.

According to an embodiment, the virtual infrastructure380may include virtual resources381and a data plane382. The virtual infrastructure380may provide the virtual resources381to an ME app. The virtual resources381may include, for example, at least one of a computer resource available to an ME app, a storage resource, or a network resource (for example, a network bandwidth). An ME app of the MEC host350may be operated by a virtual machine on the virtual infrastructure380.

According to an embodiment, the data plane382may execute traffic rules received by the MEP370, and route traffic between an application, a service, a DNS server/proxy, the 3GPP network200, a local network, and an external network.

According to an embodiment, the MEPM392may manage life cycles of ME apps operating in the MEC host350, and transmit, to the MEO396, information associated with the life cycles and information related to an execution environment. According to another embodiment, the MEPM392may transmit, to the MEP370, information for operating the ME apps or manage the information. The information for operating the ME apps may include, for example, at least one of rules of an application, a requirement, service approval, or traffic rules.

According to an embodiment, the VIM394may allocate, manage, or release the virtual resources381of the virtual infrastructure380, which are required to execute an ME app in the MEC host350.

According to an embodiment, the MEO396may manage and maintain overall functions of data transmission based on the MEC system. The MEO396may manage and maintain overall functions of MEC-based data transmission, based on at least one of resources available in the MEC system, an available MEC service, rules and requirements of an application, policy of an operator, or topology. For example, the MEO396may select the MEC host350suitable to a UE app of the terminal100, or trigger or terminate instantiation of the UE app.

Here, the UE app of the terminal100may require different network services based on at least one of a data rate of the terminal100, a delay time (or a speed) (latency), reliability, the number of terminals100accessing a network, a network accessing cycle of the terminal100, or average data usage.

The UE app of the terminal100may perform data transmission with the service server400or perform edge computing-based data transmission with the edge data network300or MEC host350, based on a required network service.

According to an embodiment, whenever the number of network services required by the UE app of the terminal100increases, complexity of rules of selecting the suitable MEC host350may increase. When network services required by the UE app of the terminal100are unable to be represented quantitatively or prioritized due to complexity, an unsuitable MEC host350may be selected (or determined).

The disclosure provides a method by which an electronic device600(seeFIG.6) determines a suitable edge data network300or MEC host350so as to provide a high-quality service to a user.

FIG.5is a diagram showing an example network environment supporting an MEC-based service by determining the suitable MEC host350, according to various embodiments.

The MEC host350, the first and second ME apps361and362, and an MEP370may respectively correspond to the edge data network300, the first and second edge applications311and312, and the edge enabler server320ofFIG.3. Hereinafter, details about components ofFIG.5, which overlap those in the descriptions ofFIGS.3and4, are briefly described.

According to an embodiment, the terminal100may denote an apparatus used by a user. The service server400may provide content related to an application client of the terminal100. The MEC host350may denote a server accessed by the terminal100to use an MEC service. The MEO396may manage and maintain overall functions of data transmission based on an MEC system. The MEPM392may manage life cycles of ME apps operating in the MEC host350, and transmit, to the MEO396, information associated with the life cycles and information related to an execution environment. The first and second ME apps361and362may denote applications provided by a third party in the MEC host350providing the MEC service. The MEP370may provide a function required to execute the first and second ME apps361and362.

FIG.6is a diagram showing example procedures for supporting an MEC-based service by determining the suitable MEC host350, according to various embodiments.

The electronic device600may manage and maintain overall functions of data transmission based on an MEC system. For example, the electronic device600may be the MEO396in a network environment supporting the MEC-based service ofFIG.5.

In operation605, the MEC host350may transmit, to the MEPM392, information610related to an execution environment of a pre-installed ME app. In operation606, the MEPM392may transmit, to the electronic device600, the information610related to the execution environment of the pre-installed ME app.

According to an embodiment of the disclosure, the information610related to the execution environment of the pre-installed or pre-registered ME app may include at least one of requirement information (application descriptor (app D))611related to the execution environment of the pre-installed ME app, transmission history information612of the pre-installed ME app, information613about network congestion of the MEC host350of the pre-installed ME app, or information614about an available resource of the MEC host350of the pre-installed ME app.

According to an embodiment of the disclosure, the app D611of the ME app may be information related to an environment required for execution of the ME app. For example, the information related to the environment may include at least one of latency information required to execute the ME app, required resource information, computing power, bandwidth, storage, or information on a service being used.

According to an embodiment of the disclosure, the app D611of the ME app may be requirement information about a network service. For example, the requirement information may include at least one of a data rate of the terminal100, latency (or a speed), reliability, the number of terminals100accessing a network, a network access cycle of the terminal100, or average data usage.

As such, the app D611of the ME app includes information (for example, location information) related to a service used for execution of the ME app, and in detail, pieces of information related to the environment required to execute the ME app, and thus similarity of the ME apps may be determined by the electronic device600based on the app D611of the ME app. For example, regarding vehicle navigation applications, the electronic device600may determine ME apps to be similar when pieces of information related to services used to execute the ME apps are the same, i.e., location information, and a difference in latency required for execution, a required resource, computing power, a bandwidth, or storage is equal to or less than a set value.

According to an embodiment of the disclosure, the transmission history information612of the pre-installed ME app may denote a history of transmitting an ME app from the MEO396or electronic device600to the MEPM392or MEC host350so as to install (or reinstall) the ME app. According to an embodiment, the transmission history information612of the pre-installed ME app may include change history information of the MEC host350of the pre-installed ME app.

According to an embodiment of the disclosure, even after the ME app is installed in the MEC host350, the electronic device600or MEO396may retransmit the ME app to reinstall or relocate the ME app in another MEC host350or MEPM392after determining that the MEC host350where the ME app is installed is not a suitable execution environment for the ME app. Accordingly, when the frequency of reinstalling the ME app is high, the frequency of retransmitting or reinstalling the ME app is high because the MEC host350or MEPM392where the ME app is installed is not a suitable execution environment. Accordingly, in the execution environment of the ME app, the electronic device600may determine that the MEC host350or MEPM392where the ME app is installed is unstable. On the other hand, when the frequency of retransmitting or reinstalling the ME app is low, the electronic device600may determine that the MEC host350or MEPM392is stable with respect to the execution environment of the ME app. An operation in which the electronic device600determines the suitable MEC host350will be described in detail with respect toFIGS.7through13.

According to an embodiment of the disclosure, the information613about the network congestion of the MEC host350of the pre-installed ME app may include, but is not limited to, the number of terminals100accessing the MEC host350, the network access cycle of the terminal100, the average data usage, in/out network traffic, or the number of ME apps installed in the MEC host350.

According to an embodiment of the disclosure, the information614about the available resource of the MEC host350of the pre-installed ME app may include, but is not limited to, a central processing unit (CPU), memory, computing power, or storage of the MEC host350.

As such, the information613about the network congestion of the MEC host350of the pre-installed ME app or the information614about the available resource of the MEC host350of the pre-installed ME app includes information about the MEC host350where the ME app may be installed, and thus an idle resource of the MEC host350may be determined based on the information613about the network congestion of the MEC host350of the pre-installed ME app (in/out network traffic) or the information614about the available resource of the MEC host350of the pre-installed ME app.

According to an embodiment of the disclosure, the information610related to the execution environment of the pre-installed ME app may be transmitted from the MEC host350or MEPM392to the electronic device600. According to another embodiment of the disclosure, the electronic device600may store the information610related to the execution environment of the pre-installed ME app.

In operation608, the terminal100, an external server (not shown), or the service server400may transmit a new ME app installation request615to the electronic device600. The new ME app installation request615may include an app D621of a new ME app.

According to an embodiment of the disclosure, the electronic device600may determine the MEC host350for installing the new ME app, based on the information610related to the execution environment of the pre-installed ME app and the app D621of the new ME app. A detailed operation of the determining will be described with reference toFIG.7.

In operation616, the electronic device600may transmit the new ME app to the MEPM392or MEC host350so as to install the new ME app in the determined MEC host350.

In operation617, the MEC host350may transmit, to the MEPM392, information620related to an execution environment of the transmitted new ME app.

In operation618, the MEPM392may transmit, to the electronic device600, the information620related to the execution environment of the transmitted new ME app. According to an embodiment of the disclosure, the electronic device600may store the information620related to the execution environment of the transmitted new ME app.

According to an embodiment of the disclosure, the electronic device600may determine the MEC host350for reinstalling the transmitted new ME app, based on the information610related to the execution environment of the pre-installed ME app and the information620related to the execution environment of the transmitted new ME app. A detailed operation of the determining will be described with reference toFIG.13.

In operation630, the electronic device600may retransmit the new ME app to the MEPM392so as to reinstall the new ME app in the determined MEC host350. According to an embodiment of the disclosure, the electronic device600may retransmit the new ME app to the determined MEC host350.

FIG.7is a flowchart for describing operations in which the example electronic device600determines the suitable MEC host350, according to various embodiments.

In operation700, the electronic device600may obtain the information610related to the execution environment of the pre-installed ME app and receive the new ME app installation request615. An operation of obtaining the information610related to the execution environment of the pre-installed ME app and an operation of receiving the new ME app installation request615may be simultaneously performed or an order of performing the operations may be changed.

According to an embodiment of the disclosure, the operation in which the electronic device600obtains the information610related to the execution environment of the pre-installed ME app may include receiving the same from the MEC host350or MEPM392. According to an embodiment of the disclosure, because the electronic device600may store the information610related to the execution environment of the pre-installed ME app, the information610related to the execution environment of the pre-installed ME app may not be received from the MEC host350or MEPM392.

Then, in operation710, the electronic device600may determine the MEC host350based on the information610related to the execution environment of the pre-installed ME app and the app D621of the new ME app.

The app D621of the new ME app may include information related to an environment required to execute the new ME app. However, it is not possible for an ME app developer to predict all actual execution environments, and there is a limit to including all pieces of information620related to an environment required for execution to the app D621. Accordingly, the MEO396may install the new ME app in the MEC host350based on the app D621of the new ME app, and after the new ME app is installed, reinstall the new ME app in another MEC host350through the information related to the execution environment.

When the MEO396reinstalls the new ME app, the MEO396may revise the app D621of the new ME app such that the new ME app may be reinstalled in the suitable MEC host350. Also, the MEO396may add an installation rule for the MEC host350, based on the app D621of the ME app. When the MEO396revises the app D621of the new ME app or adds a rule, not only time costs and financial costs are consumed, but also complexity of rules may increase. Accordingly, it is desirable to reduce reinstallation of a new ME app and determine the optimum (or better) MEC host350.

According to an embodiment of the disclosure, the information610related to the execution environment of the pre-installed ME app may include at least one of the app D611of the pre-installed ME app, the transmission history information612of the pre-installed ME app, the information613about the network congestion of the MEC host350of the pre-installed ME app, or the information614about the available resource of the MEC host350of the pre-installed ME app. SeeFIG.6. The transmission history information612of the pre-installed ME app includes the change history information of the MEC host350of the ME app, and thus the information610related to the execution environment of the pre-installed ME app may denote information related to an actual execution environment (or an execution environment after installation) of the ME app.

In operation710, the electronic device600determines the MEC host350for installing the new ME app, based on the information610related to the execution environment of the pre-installed ME app and the app D621(seeFIG.6) of the new ME app, and thus reinstallation of the new ME app may be reduced and the optimum or better MEC host350may be determined.

In operation720, the electronic device600may transmit the new ME app to the determined MEC host350to install the new ME app in the determined MEC host350. According to another embodiment of the disclosure, when the electronic device600transmits the new ME app to the MEPM392, the MEPM392may transmit the new ME app to the determined MEC host350.

FIG.8is a flowchart for describing operations in which the example electronic device600determines the suitable MEC host350, according to various embodiments. Operations810and820ofFIG.8are a concretization of operation710ofFIG.7of determining the MEC host350based on the information610related to the execution environment of the pre-installed ME app and the app D621of the new ME app.

In operation810, the electronic device600may compare the information610related to the execution environment of the pre-installed ME app with the app D621of the new ME app. The electronic device600may compare information among the information610related to the execution environment of the pre-installed ME app, which corresponds to the app D621of the new ME app, with the app D621of the new ME app. For example, the electronic device600may compare the pre-installed ME app with the new ME app with respect to each of latency required to execute an ME app, required resource information, computing power, a bandwidth, a storage, and a service used for execution.

As described above, because an app D of an ME app includes information on a service being used, and in detail, pieces of information related to an environment required to execute the ME app, similarity of ME apps may be determined by comparing app Ds of the ME apps.

According to an embodiment of the disclosure, the electronic device600may determine a pre-installed ME app, in which information corresponding to the app D621of the new ME app from among the information610related to the execution environment of the pre-installed ME app differs from the app D621of the new ME app by a set value or less, to be similar to the new ME app. According to an embodiment of the disclosure, the electronic device600may determine a pre-installed ME app, in which a sum of differences of pieces of corresponding information is equal to or less than the set value, to be similar to the new ME app. Here, the electronic device600may determine a pre-installed ME app, in which a weighted sum of the differences of the pieces of corresponding information is equal to or less than the set value, to be similar to the new ME app. For example, a pre-installed ME app, in which a weighted sum obtained by multiplying a coefficient A by a difference in latencies required to execute ME apps and multiplying a coefficient B by a difference in required resources for execution of ME apps is equal to or less than the set value, to be similar to the new ME app.

Also, coefficients of a weighted sum may be provided and learned by each node of a hidden layer of an artificial neural network. The learning of the coefficients of the weighted sum may be performed via supervised learning (for example, k-nearest neighbor (KNN)), unsupervised learning (for example, K-means), or reinforced learning (for example, Q-learning). Details about each learning method are well-known, and thus descriptions thereof are not provided here.

In operation820, the electronic device600may determine the MEC host350based on a result of the comparison. The electronic device600may determine the MEC host350where the pre-installed ME app similar to the new ME app is installed as the MEC host350for installing the new ME app. Even when the number of pieces of information included in an app D of an ME app increases, complexity of rules may not increase because the electronic device600determines the MEC host350through similarity of ME apps. Also, the electronic device600may compare app Ds of ME apps and obtain a weighted sum of differences of pieces of corresponding information. Accordingly, even when requirement information related to an execution environment is unable to be quantitatively represented or priority thereof is unable to be determined due to complexity, the electronic device600may determine the suitable MEC host350by adjusting coefficients.

FIG.9is a flowchart for describing principles of operations in which the example electronic device600determines the suitable MEC host350, according to various embodiments. Operations910and920ofFIG.9are a concretization of operation710ofFIG.7of determining the MEC host350based on the information610related to the execution environment of the pre-installed ME app and the app D621of the new ME app.

In operation910, the electronic device600may determine stability of the execution environment of the pre-installed ME app, based on the information610related to the execution environment of the pre-installed ME app. As described above with reference toFIG.6, regarding an ME app with low frequency of retransmission or reinstallation, it may be determined that the MEC host350or MEPM392in which the ME app is installed is stable with respect to an execution environment of the ME app. The electronic device600may determine the stability of the execution environment of the pre-installed ME app, based on information related to the execution environment, for example, the transmission history information612of the pre-installed ME app.

In operation920, the electronic device600may determine the MEC host350based on the stability of the execution environment of the pre-installed ME app and the app D621of the new ME app. The electronic device600may determine the MEC host350of the pre-installed ME app with high stability (low retransmission frequency) as the MEC host350for installing the new ME app. Accordingly, the new ME app being reinstalled or relocated in another MEC host350or MEPM392because the installed MEC host350is not a suitable execution environment for the new ME app may be reduced.

According to an embodiment of the disclosure, the electronic device600may determine the MEC host350with high stability of execution environment from among the MEC hosts350of pre-installed ME apps similar to the new ME app, as the MEC host350for installing the new ME app. Also, the electronic device600may determine the MEC host350based on a sum or weighted sum of the similarity and stability of the ME app. As described above, coefficients of the weighted sum may be provided and learned by each node of a hidden layer of an artificial neural network.

FIG.10is a flowchart for describing principles of operations in which the example electronic device600determines the suitable MEC host350, according to various embodiments. Operations1010and1020ofFIG.10are a concretization of operation710ofFIG.7of determining the MEC host350based on the information610related to the execution environment of the pre-installed ME app and the app D621of the new ME app.

In operation1010, the electronic device600may determine an idle resource of the MEC host350of the pre-installed ME app, based on information related to a pre-installed execution environment. The electronic device600may determine a resource available in the MEC host350of the pre-installed ME app, based on the information related to the pre-installed execution environment, for example, information about network congestion or information about an available resource.

In operation1020, the electronic device600may determine the MEC host350based on the idle resource and the app D621of the new ME app. The electronic device600may determine a resource required for execution, based on the app D621of the new ME app, and filter the MEC host350that possesses an idle resource smaller than the required resource. Accordingly, the new ME app being reinstalled or relocated in another MEC host350or MEPM392because the installed MEC host350is not a suitable execution environment for the new ME app, for example, the resource required for the execution is insufficient, may be reduced.

FIG.11is a flowchart for describing operations in which the example electronic device600determines the suitable MEC host350, according to various embodiments. Operations1100,1110, and1120ofFIG.11are a concretization of operation710ofFIG.7of determining the MEC host350based on the information610related to the execution environment of the pre-installed ME app and the app D621of the new ME app.

In operation1100, the electronic device600may digitize the information610related to the pre-installed execution environment and the app D621of the new ME app respectively into data. The electronic device600may generate a matrix or array such that pieces of information may be distinguished from each other, and allocate a digitized data value to each component.

In operation1110, the electronic device600may generate a data comparison list based on the digitized data. The data comparison list may be generated, for example, by a sum or weighted sum of differences in digitized data of corresponding information between the pre-installed ME app and the new ME app, so as to determine similarity of ME apps. As described above, coefficients of the weighted sum may be provided and learned by each node of a hidden layer of an artificial neural network.

In operation1120, the electronic device600may determine the MEC host350based on the data comparison list. The electronic device600may list or sort the data comparison list in an order from high similarity as the sum or weighted sum of the differences in the digitized data of the corresponding information included in the data comparison list is small, and from high stability because retransmission or reinstallation frequency is low. The listing may be performed according to a sorting algorithm, and descriptions about the sorting algorithm will not be provided here because the sorting algorithm is a well-known technology.

According to another embodiment of the disclosure, the electronic device600may list the data comparison list in an order from a high sum or weighted sum of similarity and stability that are digitized into data. In this case, as described above, coefficients of the weighted sum may be provided and learned by each node of a hidden layer of an artificial neural network.

According to an embodiment of the disclosure, the electronic device600may filter the MEC host350that possesses an idle resource smaller than a resource required to execute the new ME app that is digitized into data. According to another embodiment of the disclosure, the electronic device600may not include, to the data comparison list, the MEC host350that possesses the idle resource smaller than the resource required to execute the new ME app. Accordingly, the filtering or the comparing of the idle resource may be performed before operation1110.

FIG.12is a flowchart for describing operations in which the example electronic device600retransmits the new ME app, according to various embodiments. Operations1200,1210, and1220ofFIG.12are the same as operations700,710, and720ofFIG.7. Hereinafter, details about components ofFIG.12, which overlap those in the descriptions ofFIG.7, are briefly described.

In operation1200, the electronic device600may obtain the information610related to the execution environment of the pre-installed ME app and receive the new ME app installation request615. In operation1210, the electronic device600may determine the MEC host350for installing the new ME app, based on the information610related to the execution environment of the pre-installed ME app and the app D621of the new ME app. In operation1220, the electronic device600may transmit the new ME app to the determined MEC host350to install the new ME app in the determined MEC host350.

In operation1230, the electronic device600may obtain the information620(FIG.6) related to the execution environment of the transmitted new ME app621. As described above, the information620related to the execution environment of the transmitted new ME app may include at least one of requirement information (the app D621) related to the execution environment of the new ME app, transmission history information622of the new ME app, information623about network congestion of the MEC host350of the new ME app, or information624about an available resource of the MEC host350of the new ME app.

According to an embodiment of the disclosure, because the electronic device600may store the information620related to the execution environment of the transmitted new ME app, the information620related to the execution environment of the transmitted new ME app may not be received from the MEC host350or MEPM392.

In operation1240, the electronic device600may determine the MEC host350based on the information610related to the execution environment of the pre-installed ME app and the information620related to the execution environment of the transmitted new ME app. In operation1240, the app D621of the new ME app of operation710is changed to the information620related to the execution environment of the transmitted new ME app, and other principles of operation1240are the same as operation710. For example, as described above (refer to the descriptions inFIGS.7through11), the electronic device600may determine the MEC host350where the transmitted new ME app is to be reinstalled, based on the similarity between the transmitted new ME app and the pre-installed ME app, the stability of the pre-installed ME app with respect to the MEC host350, or the idle resource of the MEC host350.

As such, even when the app D621of the transmitted new ME app is not revised, the electronic device600may determine the suitable MEC host350where the transmitted new ME app is to be reinstalled, based on the stability of the pre-installed ME app with respect to the MEC host350or the idle resource of the MEC host350. Also, even when an installation rule for the MEC host350based on an app D of an ME app is not added, the electronic device600may determine the suitable MEC host350based on information related to an execution environment after installation of the ME app (or an actual execution environment), for example, the stability of the pre-installed ME app with respect to the MEC host350.

In operation1250, the electronic device600may retransmit the new ME app to the determined MEC host350. According to an embodiment of the disclosure, the electronic device600may retransmit the new ME app to the MEPM392or MEC host350so as to install the new ME app in the determined MEC host350.

FIG.13is a block diagram of the example electronic device600according to an embodiment of the disclosure.

As shown inFIG.13, the electronic device600according to the disclosure may include a processor1310, a communicator1320, and a memory1330. However, the components of the electronic device600are not limited to the components illustrated inFIG.13. For example, the electronic device600may be implemented by more or fewer components than those described above. In addition, the processor1310, the communicator1320, and the memory1330may be implemented as a single chip.

According to an embodiment, the processor1310(e.g., including processing circuitry) may control a series of processes for the electronic device600to operate according to an embodiment of the disclosure described above. For example, the components of the electronic device600may be controlled such that the electronic device600according to an embodiment of the disclosure may determine the suitable MEC host350. There may be a plurality of processors1310, and the processor1310may execute a plurality of instructions (or programs) stored in the memory1330to perform the above-described operations, for example, an operation of determining the suitable MEC host350. Detailed operations have been described above with reference toFIGS.7through12.

The communicator1320(e.g., including communication circuitry) may transmit or receive a signal to or from an external device (for example, the terminal100), a network (for example, the 3GPP network200), or a server (for example, the service server400). The signal transmitted or received by the communicator1320may include control information and data. The communicator1320may include a radio frequency (RF) transmitter for up-converting and amplifying a frequency of a transmitted signal, and a RF receiver for amplifying low-noise and down-converting a frequency of a received signal. However, this is only an example of the communicator1320and components of the communicator1320are not limited to the RF transmitter and the RF receiver. Also, the communicator1320may receive and output, to the processor1310, a signal through a wireless channel, and transmit a signal output from the processor1310through the wireless channel.

According to an embodiment, the communicator1320may transmit or receive data to or from the terminal100, an external server (not shown), and the service server400. For example, the communicator1320may receive the new ME app installation request615from the terminal100, external server, or service server400, through the 3GPP network200.

According to an embodiment, the communicator1320may transmit or receive data to or from the MEC host350or MEPM392according to control by the processor1310. For example, the communicator1320may receive the information610related to the execution environment of the pre-installed ME app from the MEC host350or MEPM392, and transmit the new ME app to the determined MEC host350. According to another embodiment of the disclosure, because the electronic device600stores the information610related to the execution environment of the pre-installed ME app, the information610related to the execution environment of the pre-installed ME app may not be received from the MEC host350or MEPM392.

According to an embodiment, the memory1330may store data and a plurality of instructions (or programs) required for operations of the electronic device600. Also, the memory1330may store control information or data included in a signal transmitted or received by the electronic device600. The memory1330may include a storage medium, such as read-only memory (ROM), random access memory (RAM), a hard disk, a CD-ROM, or a DVD, or a combination of storage media. Also, there may be a plurality of the memories1330. According to an embodiment, the memory1330may store a plurality of instructions (or programs) for the electronic device600according to an embodiment of the disclosure to determine the suitable MEC host350.

Methods according to the claims of the disclosure or the embodiments described in the specification may be implemented in hardware, software, or firmware, or a combination of hardware, software and/or firmware.

When the methods are implemented in software, a computer-readable recording medium or computer program product having one or more programs (software modules) recorded thereon may be provided. The one or more programs recorded on the computer-readable recording medium or computer program product are configured to be executable by one or more processors in the electronic device600(device). The one or more programs include instructions that enable the electronic device600to execute the methods according to the embodiments of the disclosure described in the claims or the detailed description.

The programs (e.g., software modules or software) may be stored in random access memory (RAM), non-volatile memory including flash memory, read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), a magnetic disc storage device, a compact disc-ROM (CD-ROM), a digital versatile disc (DVD), another optical storage device, or a magnetic cassette. Alternatively, the programs may be stored in memory including a combination of some or all of the above-mentioned storage media. A plurality of such memories may be included.

In addition, the programs may be stored in an attachable storage device accessible through any or a combination of communication networks such as the Internet, an intranet, a local area network (LAN), a wide LAN (WLAN), and a storage area network (SAN). The storage device may be connected through an external port to an apparatus according to the embodiments of the disclosure. Another storage device on the communication network may also be connected to the apparatus performing the embodiments of the disclosure.

In the disclosure, the term “computer program product” or “computer-readable medium” is used to entirely refer to a medium such as a memory, a hard disk installed in a hard disk drive, or a signal. The “computer program product” or “computer-readable medium” provides software configured of instructions for setting a length of a timer for receiving a missing data packet, based on network metrics corresponding to a determined event according to the disclosure, to a computer system.

In the afore-described embodiments of the disclosure, elements included in the disclosure are expressed in a singular or plural form according to specific embodiments. However, the singular or plural form is appropriately selected for convenience of explanation and the disclosure is not limited thereto. As such, an element expressed in a plural form may also be configured as a single element, and an element expressed in a singular form may also be configured as plural elements.

Meanwhile, specific embodiments have been described in the detailed description of the disclosure, but various modifications may be possible without departing from the scope of the disclosure. Therefore, the scope of the disclosure should not be limited to the embodiments described above, but should be determined not only by the scope of the following claims, but also by the equivalents of the claims.