Disclosure of Invention
When considering user mobility, the allocation of computing and data storage resources at the mobile edge may have an impact on the users of the provided services. Solutions are provided herein that aim to mitigate mobility-related issues for mobile edge operations.
According to a first aspect, there is provided a method for controlling relocation of a session of an application hosted in a first server connected to a wireless station, the wireless station being configured for communication with a wireless device, the method comprising the steps of:
a session of an application running between an application host in the server and an application client in a first wireless device;
obtaining context data in a server during the session, the context data relating to a first wireless device;
the context data is provided to a management entity configured to control relocation of the session from the first server to the second server.
In one embodiment, the method comprises the steps of:
relocation information related to the context data is received.
In one embodiment, the method comprises the steps of:
providing, to a management entity, context data related to a second wireless device running the application;
the session is relocated according to a common latency requirement for the first and second wireless devices.
In one embodiment, the method comprises the steps of:
relocating the session in accordance with a determination that the resulting latency will not exceed a predetermined level.
In one embodiment, the method comprises the steps of:
providing relocation information to the wireless device, wherein the context data relates to client suitability for performing the relocation.
In one embodiment, the context data includes timing data associated with a latency sensitivity level of an application session.
In one embodiment, the timing data identifies a time period associated with a low level of latency sensitivity.
In one embodiment, the timing data identifies a time delay.
In one embodiment, the first server is an ME server and the management entity comprises an ME orchestrator (organizer), an ME platform or an ME platform manager.
In one embodiment, the context data is provided on an interface from the ME server to the management entity.
According to a second aspect, there is provided a server comprising an application host, the server being connectable to a wireless station configured for communication with a wireless device and comprising processing means, a memory and computer program code for execution by the processing means to:
a session of an application running between the application host and an application client in the first wireless device;
obtaining context data related to a first wireless device during the session;
providing the context data on an interface to a management entity configured to control relocation of the session from the first server to the second server.
In one embodiment, the context data is related to an application session and includes data received from an application client.
In one embodiment, the server includes computer program code for execution by a processing device to:
providing, to a management entity, context data related to a second wireless device running the application;
relocating the session according to a common latency requirement for the first and second wireless devices.
In one embodiment, the context data includes timing data associated with a latency sensitivity level of an application session.
In one embodiment, the first server is an ME server and the management entity comprises an ME orchestrator, an ME platform or an ME platform manager.
Detailed Description
In the following description, for purposes of explanation and not limitation, details relating to various embodiments are set forth herein. However, it will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In certain instances, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail. The functions of the various elements comprising a functional block (including, but not limited to, those labeled or described as a "computer," "processor," or "controller") may be provided through the use of hardware, such as circuit hardware, and/or hardware capable of executing software in the form of coded instructions stored on a computer-readable medium. Accordingly, the functions and illustrated functional blocks should be understood as being hardware-implemented and/or computer-implemented, and thus machine-implemented. For a hardware implementation, the functional blocks may comprise or include, but are not limited to, digital Signal Processor (DSP) hardware, reduced instruction set processors, hardware (e.g., digital or analog) circuits including, but not limited to, application specific integrated circuits ASIC and, where appropriate, state machines capable of performing these functions. In terms of computer implementation, a computer is generally understood to include one or more processors or one or more controllers, and the terms "computer," "processor," and "controller" may be used interchangeably herein. When provided by a computer or processor or controller, the functions may be provided by a single dedicated computer or processor or controller, by a single shared computer or processor or controller, or by a plurality of individual computers or processors or controllers, some of which may be shared or distributed. Moreover, use of the term "processor" or "controller" should also be construed to refer to other hardware capable of performing these functions and/or executing software, such as the example hardware described above.
Fig. 1 illustrates an ME system reference architecture configured according to an embodiment, showing functional elements comprising the ME system and reference points between them. Three sets of reference points are defined between system entities:
reference points (Mp) on the ME platform functions;
management reference point (Mm); and
reference point (Mx) connected to external entity.
According to some embodiments, the ME system may be divided into anME system level 100 and anME host level 200. The system may include one ormore ME servers 220, 220-2, etc., and ME management necessary to run ME applications within the operator network or a subset of the operator network.
TheME server 220 may be an entity that contains an ME platform and avirtualization infrastructure 221, thevirtualization infrastructure 221 providing computing, storage, and network resources for the purpose of running MEapplications 228.
TheME server 220 may include anME platform 223, theME platform 223 being a collection of basic functions needed to run MEapplications 228 on a particular virtualization infrastructure and enable them to provide and consume ME services. TheME platform 223 may also provide services. Themobile edge application 228 is instantiated on the virtualized infrastructure of theME server 220 based on the configuration or request verified by the ME management. ME management may include ME system level management and ME host level management. The ME system level management includes an ME orchestrator 101 as a core component, which is configured to have an overview of the complete ME system. The ME host level management includes anME platform manager 210 and avirtualization infrastructure manager 201, and is configured to handle ME specific functions of aparticular ME server 220 and management ofapplications 228 running thereon.
Fig. 2 schematically showsvarious wireless devices 303 operating aswireless devices 303 in a radio communication network comprisingwireless stations 301, 302. The radio communication network may be, for example, a 3GPP LTE network, wherein thewireless stations 301, 302 are denoted as enodebs, and the wireless device may be referred to as a user equipment, UE, 303. In another embodiment, the radio communication network may be, for example, a wifi system (such as according to IEEE 802.11). Thewireless stations 301, 302 may be denoted as access points in such a system and are typically not arranged in a cellular arrangement. Afirst server 220 configured to operate as an ME server is connected to thefirst wireless station 301, and a second server 220-2 configured to operate as an ME server is connected to thesecond wireless station 302. TheME management entity 300 may be configured to control relocation of an application session from thefirst ME server 220 to the second ME server 220-2. Referring to fig. 1, in various embodiments, themanagement entity 300 may include, for example, an ME orchestrator 101 and/or anME platform manager 210 and/or anME platform 223. Aninterface 230 is schematically indicated between theME application 228 and themanagement entity 300. The interface may be used to provide the context obtained in theserver 220 to themanagement entity 300, themanagement entity 300 being configured to control the relocation of the application session from thefirst server 220 to the second server 220-2. Fig. 3 very schematically illustrates onewireless device 303 comprising anapplication client 105 and anME server 220 comprising anapplication host 228. Any of thewireless devices 303 of fig. 2 may be part of an application session running between theapplication host 228 in theserver 220 and theapplication client 105 in thewireless device 303.
For example, due to user mobility, the ME system may detect that thecurrent ME server 220 hosting an application, such as a gaming session or service, is not optimal for a user, such as a wireless device orwireless device 303 involved in an application session. Thus, based on the current and past locations of thewireless device 303, the ME system may decide to relocate the hosting of the session of the application to a new ME server that may be better, e.g., based on geographic location, load balancing, latency constraints, etc. To ensure that latency requirements are met, e.g., to maintain low latency, it is proposed herein to apply a context-determined relocation procedure between theME servers 220, 220-2 to guarantee low latency between theME servers 220, 220-2 and thewireless device 303. The proposed solution is for the ME application to provide context data to themanagement entity 300 of the ME system, which may include data related to thewireless device 303 and/or data related to the application of the running session. The obtained context data is provided to help themanagement entity 300 of the MEC system to optimize user session relocation (e.g. due to UE mobility). The management entity may include, for example,orchestrator 101,OSS 102, and possibly MEplatform manager 210 of the ME system, and may be configured to control relocation of application sessions forwireless device 303 fromfirst ME server 220 to second ME server 220-2. In fig. 1, aninterface 230 is schematically included between theME application 228 and the ME orchestrator 101 for such information exchange of context data, but as mentioned above, this is only one example of a configuration of themanagement entity 300. Themanagement entity 300 may be further configured to provide relocation information for reception in at least thecurrent ME server 220, the relocation information being related to and preferably optimized for the context data.
Accordingly, context data that may be application-dependent and/or UE-dependent is proposed herein for optimizing user session relocation to another ME server. The context data may be obtained in theME server 220 where it is provided by theclient application 105 or thehost application 228 or both in theME server 220. In one embodiment, the context data may be related to an application. For an application, it may be known by pre-configuration or foreseeable when running the application that different time periods of running the application may be associated with different latency sensitivity levels. For example, the first time period may be associated with a relatively high latency sensitivity level and the second time period may be associated with a relatively low latency sensitivity level. This may be the case, for example, where the ME application is a game or real-time virtual reality application. When a user or player executes an application with a high computational load, the application session may be latency sensitive. If the relocation is performed at such a point in time, the user or player may experience a malfunction, drop a frame, apply a freeze period, input lag, and the like. In other instances of such games or applications, the rendered graphics may be substantially the same for a particular time period. This may be the case, for example, if the controlled object or avatar in the game is stationary, or between different levels or stages of the computer game. During such time periods, applications may be associated with relatively low latency sensitivity levels. Thus, an example of context data may be a phase of an application. Another example of context data may be the degree of graphics rendering in thewireless device 303 involved in the application session.
In various embodiments, the context data may include server allocation information for two or morewireless devices 303 associated with a common application session. In such embodiments, the management entity may be configured to control the relocation of the session by deferring or prohibiting the relocation of any of the two or morewireless devices 303. In another embodiment, the management entity may be configured to control relocation of the session by timed relocation of any or all of the two or morewireless devices 303 in response to an indication of suitability for performing relocation of one of the two or more wireless devices. For example, if it is determined that one of the plurality ofwireless devices 303 associated with the common application session needs, or at least would benefit from, relocation from the first server to another server, the appropriateness or need to relocate any of theother wireless devices 303 is also evaluated. In one embodiment, during periods of high latency sensitivity. In one embodiment, the context data may include timing data associated with a latency sensitivity level for an application session for one or more or all of the two or morewireless devices 303. In one embodiment, the context data may comprise timing data of a time window within which it is appropriate to relocate thefirst wireless device 303, and thus the management entity may be configured to relocate two or morewireless devices 303 associated with the same application session within the same time window. The context data may be obtained in theME server 220, for example from theapplication host 228 or from theapplication client 105 of thewireless device 303 involved in the application session, for example. With reference to various examples given herein, the context data may include, for example, a particular or relative latency sensitivity level, timing information associated with suitability of relocation (e.g., related to latency sensitivity), information about multiple wireless devices associated with a common application session, and/or the like.
Reference will now be made to fig. 4, which schematically illustrates a scenario of a running application session during which session relocation is initiated by the ME system, according to an embodiment. In this embodiment, the context data includes time-related information about when the running ME application is more sensitive to latency and for example which time period it is less or less sensitive to latency. As used herein, a latency sensitivity level may be determined to be high if a predetermined level is exceeded and low if a particular level is not exceeded. Such levels may be configured according to various parameters, such as the expected performance of thewireless device 303.
Referring to fig. 4, an application session may be initiated at 21. The application session may then proceed with various degrees of latency sensitivity. By way of example, the application may be a computer game running in theserver 220, operated by the user through theapplication client 105 in thewireless device 303. During the game, the amount of graphical data may vary from time frame to time frame during thevarious time periods 22. During such atime period 22, the application is associated with a relatively high latency sensitivity, e.g., in the sense that if the application session is relocated during such atime period 22, there is a risk of failure (glitches) in the rendered graphics stream on the user'sdevice 303. On the other hand, the application may be configured with an intermediate period oftime 23 during which the latency sensitivity is relatively low. This may involve, for example,time period 23 when there is little or no movement in the video presentation on the screen of device 303 (e.g., when a user-controlled object or character is stationary in a game). Thus, such atime period 23 may be more suitable for relocating an application session from oneserver 220 to another server 220-2, since the risk of visible rendering failures is much less.
In various embodiments, such as those related to the gaming application of FIG. 4, the context data may thus relate to the client suitability for performing a relocation from oneserver 220 to another server 220-2. In one embodiment, the context data may be provided from theapplication client 105 to thecurrent server 220 in response to relocation information provided to theapplication client 105 in thewireless device 303. The relocation information may indicate a plan or need for server relocation and may identify a point in time t1. Referring to fig. 4, t1 is within atime period 22 of high latency sensitivity.
In one embodiment,application client 105 may therefore simply reply tocurrent server 220 with an indication that relocation is inappropriate.Server 220 may then issue new relocation information identifying a later point in time t2, point in time t2 being just withintime period 23 of the low latency sensitivity level. In response, theclient application 105 may respond with a high suitability indication, or indicate suitability by not responding at all.
In one embodiment, the context data may include timing data associated with a latency sensitivity level of the application session. In one embodiment where application session progress is substantially predictable, the context data may be provided for a longer time frame, including one or more periods ofhigh latency sensitivity 22, and one or more periods oflow latency sensitivity 23, and timing information for these time periods. In such embodiments, the potential need for relocation may be planned and executed based on the obtained context data, preferably during the low latencysensitive time period 23. Such context data may be obtained from theapplication client 105 or from theapplication host 228.
In one embodiment, context data may be obtained that includes timing data identifying atime period 23 associated with a low level of latency sensitivity, e.g., identifying a point in time t1 during a time period ofhigh latency sensitivity 22 in response to theapplication client 105 receiving relocation information. In an alternative embodiment, context data may be obtained that includes timing data identifying a point in time t2 associated with a low latency sensitivity, e.g., the beginning of thetime period 23 of low latency sensitivity. In yet another alternative embodiment, context data may be obtained that includes timing data identifying a time delay dt identifying a suitable delay or delay for relocation from the received point in time t1.
In one embodiment, the step of providing themanagement entity 300 with context data has the benefit of allowing themanagement entity 300 to efficiently distribute users between different servers. This may be achieved by allocating users so that as many users as possible can run from as few ME servers as possible with sufficient latency using the same ME application context (e.g. the same level in the game). Without this suggestion, the current approach is to deploy/have a static configuration to allocate it to as many clients as possible to ensure the lowest latency or concentrate too few clusters of data in the cloud. With this suggestion, the management entity can dynamically decide whether a user should be relocated to another server due to the user's mobility, depending on the context of each user in the application.
In one embodiment, the method therefore preferably comprises the step of providing the context data to a management entity 300 (e.g. the ME orchestrator 101), themanagement entity 300 being related to both the first wireless device and the second wireless device running the application. Relocation of the session may then be performed according to a common latency requirement for the first and second wireless devices.
In one embodiment, a relocation session may be initiated in accordance with a determination that the resulting latency will not exceed a predetermined level.
Fig. 5 broadly illustrates various steps of a method, according to which various embodiments have been provided herein. The method relates to controlling the relocation of a session of an application hosted in afirst server 220 connected to awireless station 301 of a radio communication network and comprises the steps of:
51: a session of an application running between theapplication host 228 in theserver 220 and theapplication client 105 in thefirst wireless device 303;
53: obtaining context data in a server during the session, the context data relating to a first wireless device;
55: the context data is provided to amanagement entity 300, themanagement entity 300 being configured to control the relocation of the session from thefirst server 220 to the second server 220-2.
Various embodiments have been provided herein, which may be combined in various ways, for controlling relocation of application sessions in a MEC system. Which is limited only by the claims.
Reference numerals of fig. 1
100. Moving edge system level
101. Moving edge organizer
102. Operation support system
103. User application LCM proxy
104 CFS portal
105 UE applications
200. Moving edge host level
201. Virtualized infrastructure manager
210. Mobile edge platform manager
211 ME platform element management
212 ME application rules & requirements management
213 ME application lifecycle management
220. Mobile edge server
221. Virtualized infrastructure
222. Data plane
223. Moving edge platform
224. Flow regulation control
225 DNS handling
226. Service registration
227 ME services
228 ME applications
229. Service
220-2 other ME servers
223-2 other ME platforms