Patent ID: 12219469

DETAILED DESCRIPTION

The characteristics that are used today for determining the “best” cloud computing resource of a plurality of geographically distributed cloud computing resources for handling data of wireless communication devices in a wireless communication network are based on network characteristics such as RTT, packet loss and cost of deployment. The inventors have found out that network performance such as RTT can be lowered even more by distributing handling of data for the wireless communication devices across distributed cloud computing resources based on the mobility of the individual wireless communication devices. In other words, based on how individual wireless communication devices move in the network, they are to be handled by different cloud computing resources. In a first step, the mobility of wireless communication devices is observed for a longer time, at least over days but preferably over even longer time periods such as weeks or months, in order to determine a regular mobility pattern for a wireless communication device. In a second step, if it has been determined that a wireless communication device moves predominantly within one and the same access subnetwork, this wireless communication device is connected to a local distributed cloud computing resource connected to this access subnetwork. Thereafter, the handling of data for this wireless communication device is performed by the local distributed cloud computing resource connected to this access subnetwork. On the other hand, in the second step, if another wireless communication device is determined to be moving over wide distances, e.g. globally, this device is connected to a global cloud computing resource that is connected to many different wireless access subnetwork, probably via core networks and/or IP backbone networks. Hereby, handling of wireless communication devices by cloud computing resources can be optimized in order to e.g. lower RTT for communication between a cloud computing resource handling a wireless communication device and the wireless communication device.

FIG.1describes an exemplary wireless communication network100in which the present invention may be used. The wireless communication network comprises one or more access subnetworks that provides radio access to wireless communication devices180. The one or more access subnetworks comprises a plurality of radio access network nodes, aka base stations, geographically dispersed in order to provide radio access to the wireless communication devices in geographically dispersed areas. The one or more access subnetworks is connected to one or more core networks, which in turn may be connected to IP backbone networks in order to e.g. handle services dispersed in the wireless communication network. The wireless communication network ofFIG.1comprises a first access subnetwork110providing radio access in a first geographic area and a second access subnetwork120providing radio access in a second geographic area. The first access subnetwork110is in its turn connected to a first core subnetwork160in which a first local cloud computing resource130is situated. The second access subnetwork120is connected to a second core subnetwork170in which a second local cloud computing resource140is situated. The first and the second core subnetwork160,170may comprise any kind of core network functionality such as access aggregation and backbone technologies. The network100ofFIG.1also comprises a central cloud computing resource150, which is connected to the first and the second core subnetwork160,170, via which the central cloud computing resource150can connect to the first and second access subnetwork110,120.

The wireless communication network100may be any kind of wireless communication network capable of providing radio access to wireless communication devices. Example of such wireless communication networks are Global System for Mobile communication (GSM), Enhanced Data Rates for GSM Evolution (EDGE), Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA 2000), Long Term Evolution (LTE), LTE Advanced, Wireless Local Area Networks (WLAN), Worldwide Interoperability for Microwave Access (WiMAX), WiMAX Advanced, as well as fifth generation wireless communication networks based on technology such as New Radio (NR).

The wireless communication devices180may be any type of device capable of wirelessly communicating with the first and second access subnetwork110,120using radio signals. For example, the individual wireless communication devices180may be a User Equipment (UE), a machine type UE or a UE capable of machine to machine (M2M) communication, a sensor, a tablet, a mobile terminal, a smart phone, a laptop embedded equipped (LEE), a laptop mounted equipment (LME), a USB dongle, a Customer Premises Equipment (CPE) etc.

FIG.2, in conjunction withFIG.1, describes a method performed by a system of a wireless communication network100for handling cloud computing resources. The wireless communication network comprising a first access subnetwork110providing wireless access to wireless communication devices180residing in a first geographic area, a second access subnetwork120providing wireless access to wireless communication devices residing in a second geographic area. The wireless communication network further comprises a first cloud computing resource130connected to the first access subnetwork110, and a second cloud computing resource140connected to the second access subnetwork120. The method comprises obtaining202mobility information over a time period for a plurality of wireless communication devices180having wireless access to the communication network, the mobility information comprising information of when, during the time period, each of the plurality of wireless communication devices180has wireless access to the communication network100via the first access subnetwork110, and when each of the plurality of wireless communication devices180has wireless access to the communication network100via the second access subnetwork120. The method further comprises selecting204which of the first or second cloud computing resource130,140that is to serve each of the plurality of wireless communication devices180based on the obtained mobility information of the plurality of wireless communication devices, and sending206an instruction to each of the plurality of wireless communication devices180to connect to a server that is connected to the selected cloud computing resource for that wireless communication device180, or for each of the plurality of wireless communication devices, triggering routing of data directed towards the wireless communication device or originating from the wireless communication device to the selected cloud computing resource.

By selecting cloud computing resources for communication devices based on their individual mobility patterns, communication devices (or data related to communication devices) can be handled where they are best handled in order to avoid tromboning effects as well as to reduce latency for handling communication devices from cloud computing resources. In other words, if it is determined that a communication device most of the time receives wireless access from a first access subnetwork, this communication device should be served by a cloud computing resource that is locally connected to the first access subnetwork.

An access subnetwork could be any part of a communication network that serves wireless communication devices with radio access to the communication network, such as one or more base stations providing radio access to the wireless communication devices in one or more geographically limited cell, or a larger area covering many different base stations and cells. The first geographic area is different from the second geographic area. However, overlap may occur. A difference between the first access subnetwork110and the second access subnetwork120is that the first cloud computing resource130has a local connection to the first access subnetwork110and not to the second access subnetwork120, and the second cloud computing resource140has a local connection to the second access subnetwork120and not to the first access subnetwork110. The time period over which the mobility information is obtained would normally be at least one day and up to weeks or even months, but possibly even years. The information of when a wireless communication device is connected to the first access subnetwork110and when a wireless communication device is connected to the second access subnetwork120could be obtained from GPS-information obtained from the wireless communication device or from the network, from handover information from any of the first or second access subnetwork e.g. via a packet core network, or from information from any location-based service, comprising for example cell ID. Alternatively, the information of when a wireless communication device is connected to the first access subnetwork and to the second access subnetwork could be based on a predicted mobility path in case of deployments being prepared before mobility event happens. The sending206of an instruction could be performed by sending a Domain Name Server (DNS) redirect or a Hypertext Transfer Protocol (HTTP) redirect to the communication device including the address of the server that is connected to the selected cloud computing resource, the redirect instructing the communication device to connect to the server. The system of the wireless communication network that performs the method may be a wireless communication network node, such as a core network node or an access network node or a router. Alternatively, the system of the wireless communication network that performs the method may be a group of network nodes, wherein functionality for performing the method are spread out over different physical, or virtual, nodes of the network. In other words, the system for improving use of cloud computing resources may in its turn be a cloud-solution, i.e. the system may be deployed as cloud computing resources that may be distributed in the network.

According to an embodiment, the selecting204comprises selecting the first cloud computing resource130for the ones of the plurality of wireless communication devices180that predominantly have wireless access to the communication network100via the first access subnetwork110during the time period, and selecting the second cloud computing resource140for the ones of the plurality of wireless communication devices180that predominantly have wireless access to the communication network100via the second access subnetwork120during the time period. For determining whether a communication device is predominantly connected to the first or the second access subnetwork, the frequency of positions from the mobility information could be compared to a threshold. Hereby, data latency will be low at a predominant amount of time.

According to another embodiment, the selecting204of which of the first or the second cloud computing resource130,140that is to serve each of the plurality of wireless communication devices180is based on capacity of the first and the second cloud computing resource or on communication capacity from the first and the second cloud computing resource and its respective first and second access subnetwork110,120, as well as on the obtained mobility information of the plurality of wireless communication devices180. Hereby, use of the different cloud-computing resources in relation to data latency and tromboning effects for individual communication devices can be optimally balanced.

According to another embodiment, the selecting204of which of the first or second cloud computing resource130,140that is to serve each of the plurality of wireless communication devices180is further based on mobility pattern, such as velocity of the wireless communication device or number of handovers performed by the wireless communication device, and/or communication pattern, such as amount of communication with application servers of the plurality of wireless communication devices180. I.e. if the communication device usually communicates much data, such as video, or if the device is a less-data intensive device, such as a sensor-type device, different cloud computing resources may be selected. Communication pattern could be provided by an application server using 5G network exposure provisioning service, such as defined in 3GPP TS 23.502, for more information see further below.

According to another embodiment, the method further comprises deploying205application resources in the first and second cloud computing resource130,140based on the selecting204of the first or the second cloud computing resource for the plurality of wireless communication devices180. An application is in this context an end-user application that is requested by the wireless communication device. An application resource may be a server. According to a version of this embodiment, the wireless communication network provides a plurality of different content-specific applications. An example of a content-specific application requested by the wireless communication device is Pokemon Go™. In this version, the system may analyze which of the plurality of content-specific applications that the plurality of wireless communication devices have installed or have used during the time period. The deployment205of application resources may then be performed based on the selecting204and on the analysis of which of the content-specific applications that the devices have installed or used. The analysis may be if the application is frequent in use. The analysis may also be to detect if a change in usage occurs, for example to detect a sudden increase in usage of the application in an area, e.g. to detect flash crowds, in order to be able to increase capacity for handling such increase. For performing such an analysis, you may need to check the usage in servers in a central data center for determining the applications in the cloud. Traffic analysis is also a way to identify the usage of applications. For example, a “wire tap” may be probed to get traffic traces. The deployment205of application resources is then preferably performed before instructions are sent206to the wireless devices or routing has been triggered, so that the application resources are deployed before the data is sent to the selected resources. However, instructions may already have been sent206as well, and a deployment of (increased) application resources may be performed as it is determined that more resources is needed, on the fly.

According to another embodiment, the communication network100further comprises a central cloud computing resource150connected to the first access subnetwork110and to the second access subnetwork120via a respective core subnetwork160,170in which the respective first and second cloud computing resource130,140is arranged. Further, the selecting204comprises selecting the first cloud computing resource130for the ones of the plurality of wireless communication devices that predominantly has wireless access to the communication network100via the first access subnetwork110during the time period, selecting the second cloud computing resource140for the ones of the plurality of wireless communication devices that predominantly has wireless access to the communication network100via the second access subnetwork120during the time period, and selecting the central cloud computing resource150for the ones of the plurality of wireless communication devices which wireless access to the communication network100is alternating between the first access subnetwork110and the second access subnetwork120during the time period. Hereby, tromboning effects are avoided for the communication devices that travel a lot between the first and the second access subnetwork. Alternatively, it is avoided to often trigger change of routing between first and second cloud computing resource depending on the movement of such communication devices. The respective core sub-network may be a backbone network, e.g. an IP transport network.

According to another embodiment, the communication network100further comprises a central cloud computing resource150connected to the first access subnetwork110and to the second access subnetwork120. The method further comprises allocating203, based on the mobility information, each of the plurality of wireless communication devices to either a first class for local mobility in the first access subnetwork110, a second class for local mobility in the second access subnetwork120, or a global class for mobility in both the first and the second access subnetwork. Further, the selecting204comprises selecting the first local cloud computing resource130for wireless communication devices allocated to the first class, selecting the second local cloud computing resource140for wireless communication devices allocated to the second class, and selecting the central cloud computing resource150for wireless communication devices allocated to the global class. By such an allocation into different mobility classes, the selection of cloud computing resources is alleviated as it is performed for all communication devices classified into the same class.

According to another embodiment, the communication network100further comprises a third access subnetwork serving wireless communication devices residing in a third geographic area, and a regional cloud computing resource connected to the first access subnetwork110and to the third access subnetwork. Further, the obtaining202of mobility information over a time period further comprises obtaining information of when, during the time period, each of the plurality of wireless communication devices has wireless access to the communication network100via the third access subnetwork110, and when it is determined that one of the plurality of wireless communication devices180has wireless access to the communication network alternately via the first access subnetwork110and via the third access subnetwork, selecting204the third cloud computing resource to serve the one of the plurality of wireless communication devices. Hereby, a user of the one of the plurality of wireless communication devices commuting between the first geographic area and the third geographic area is served by the third cloud computing resource, whereby resources are best used in the network. Hereby, tromboning is avoided for the commuting user, which would occur if the user is handled by the first cloud computing resource when the user is in the third geographic area. Further, in case the communication network comprises a central cloud computing resource, the central cloud computing resource is connected to the third access subnetwork as well as to the first and second access subnetwork, preferably through an IP-backbone network. Then a high latency is avoided that may occur if the user would be handled by the central cloud computing resource. In case the embodiment of allocation of class is used, the one of the plurality of wireless communication devices would be allocated a regional class.

FIG.3, in conjunction withFIG.1, describes a method performed by a wireless communication device180in communication with a wireless communication network100, for handling cloud computing resources. The wireless communication network100comprises a first access subnetwork110for providing wireless access to wireless communication devices residing in a first geographic area, and a second access subnetwork120for providing wireless access to wireless communication devices residing in a second geographic area. The wireless communication network100further comprises a first cloud computing resource130connected to the first access subnetwork110and a second cloud computing resource140connected to the second access subnetwork120. The method comprises providing302, to the wireless communication network100, mobility information over a time period, the mobility information comprising information of when, during the time period, the wireless communication device180has wireless access to the communication network100via the first access subnetwork110and when the wireless communication device180has wireless access to the communication network100via the second access subnetwork120. The method further comprises, receiving304, from the wireless communication network100, an instruction to connect to a server that is connected to a selected one of the first or the second cloud computing resource130,140, the selection of first or second cloud computing resources being based on the provided mobility information. The mobility information may be provided to the system of the communication network described in relation toFIG.2. The communication network, or the system in the communication network can then use the mobility information provided by the wireless communication device to select which of the first or second cloud computing resource that the wireless communication device180is to connect to. Further, the wireless communication device connects to a server of the selected cloud computing resource according to the instructions it receives from the network. The instruction to connect to a server may be a HTTP redirect, comprising an address to the new server, or the instruction may comprise a TCP-address to the server. As an alternative, in case the wireless communication device is multi-homed to more than one gateway, the instruction comprises an update of an IPv6 prefix to be used.

The current existing distributed cloud architecture does not consider the mobility of the communication devices, aka clients. The deployment of resources in the distributed cloud is today selected from resource or network performance perspective, but does not consider the degradation caused by handling a wireless communication device on a non-optimal distributed cloud resource considering its mobility. The resources in the distributed cloud may be servers or application resources. The resources in the distributed cloud may be cloud infrastructure resources and network function resources, i.e. Virtual Network Functions, VNFs, allocated to the cloud resources. Depending on the location of the client and the cloud resource it is connected to, different performance is achieved. A person with a wireless communication device, hereinafter called an end-user, which travels between home and his/her workplace generates a mobility pattern for his/her daily travelling. During weekends, the end-user may travel to other places i.e. summer house. According to an embodiment of the invention, such mobility pattern is observed in the wireless communication network and stored, and thereafter used to select which distributed cloud resource (in this case it may be cloud infrastructure resources) that is to support the client.

Tracking and storing mobility patterns of end-users as part of the wireless communication network functions has not been supported in 3GPP specifications. However, in the current R15 Service Based Architecture TS 23.501 and TS 23.502, “Expected UE Behavior” parameters include “Expected UE Moving Trajectory”, which is exposed by a Network Exposure Function (NEF) used by external applications and possibly also internal network functions. The NEF uses mobility event information sent from Access and mobility Management Function (AMF) or Service Management Function (SMF), but 3GPP has not defined how this parameter can be used, nor how the predicted mobility parameters are created or when that data is sent. In some embodiments, the inventors propose to use any Expected UE behavior parameter in combination with 3GPP specified mobility related event reporting services that are sent also from NEF or direct from AMF or SMF, to build needed mobility patterns for the wireless communication devices.

Going back to the end-user commuting between home and work, and looking atFIG.1again: If both work and home of the end-user lies within a geographic area covered by the 1st access subnetwork110, the wireless device of this end-user should be connected to the first cloud computing resource130that has a local connection to the first access subnetwork110. This would result in low latencies for this end-user. On the other hand, such a local deployment would increase the probability for tromboning in the backhaul for end-users that are moving outside the geographic area above. For example, if home lies in a geographic area covered by the first access subnetwork110and work lies in a geographic area covered by the second access subnetwork120and the device of the end-user would be connected to the first cloud computing resource130, the connection from the first CC resource130to the device180of the end-user would need to go from the first CC resource130via the IP backbone network155and the second core network170to the second access subnetwork120to be able to reach the device when connected to the second access subnetwork. This is what tromboning means and this would result in long latency times for delivering data to the device. Such tromboning may be especially problematic for e.g. a salesman working with e.g. AR/VR tools in the sales process which requires low latencies in the network to perform acceptable, or for network-assisted driving applications and car safety applications requiring edge deployment to get robustness and lower latencies. Instead, when home is in an area covered by the first access subnetwork110and work is in an area covered by the second access subnetwork120, the device of the end-user of the example should be connected to the central cloud computing resource150.

On the other hand, if the communication network ofFIG.1would also have a regional cloud computing resource having a local connection to the first and the second access subnetwork, but not to a third access subnetwork (not shown), the end-user of the latest example is to be handled at this regional cloud computing resource, whereas another end-user travelling across all three subnetworks is to be handled at the central cloud computing resource.

So, given a certain distribution of cloud computing resources in the communication network, the obtained aggregated mobility pattern of a set of wireless devices should be used to select an optimal deployment of wireless devices to cloud computing resources, taking into account low latency times as well as cloud computing capacity and network capacity. A “short path” to a local cloud gives good network characteristics as long as the wireless device is within the geographical area served by the access subnetwork that the local cloud is connected to.

FIG.4is a block diagram of an exemplary architecture comprising databases, servers/controllers and functions for performing the described methods. The architecture comprises a network topology database402, a mobility database404, an application deployer406, a network controller408, a mobility controller410and functions like a client classification function412, a network performance function414and a function for determining best connected cloud called “best-connected function”416. The client classification function412, the network performance function414and the best-connected function416may be arranged in a processing circuitry418. All databases, deployers, controllers and functions are connected via a service bus420. The network topology database402describes the topology of the wireless communication network100, with its nodes, i.e. routers, access gateways, e.g. Packet Data Network-Gateway (PDN-GW) described as separate nodes or grouped in subnetworks. The network topology database402further describes how the cloud computing resources are connected to the subnetworks. The cloud computing resources are described as endpoints in the topology database. Performance of communication interfaces between nodes in the network topology, such as RTT, packet loss, delay, number of hops may also be described in the network topology database.

The mobility database404comprises collected time series of mobility data of wireless communication devices, i.e. information of time and position of individual wireless communication devices in the communication network. The mobility database404obtains information regarding time and position of wireless communication devices from the mobility controller410. The information may be handover information. The mobility controller410may be any standard node in the wireless communication network for controlling mobility of wireless communication devices in a communication network, such as a Mobility Management Entity (MME) in 4G or an Access and mobility Management Function (AMF) or Service Management Function (SMF) in 5G. The handover information contains identities of which base-station/cell the client is connected to or using. The handover information may be both Cell-ID (from the AMF) and node ID (from SMF) of a gateway. The mobility of a client can be described in a time-sequence of handovers i.e. record of {from cellld, to CellID, time} or {fromGPS, toGPS, time}. The CellId, or base station ID, can be associated with a physical location of the client. The base station ID can also in some cases be the transport IP-address of the base station.

The application deployer406is arranged for deploying applications and network functions based on received requests for such deployment. There may be a Service Assurance Function that triggers a request to the application deployer to deploy the needed functions and to trigger the network controller for configuring transport links and switches, also called network orchestration.

The network controller408is arranged for setting the routing of data related to wireless communication devices to the appropriate cloud computing resource. In other words, the network controller408sets the routing of data depending on to which cloud computing resource each wireless communication device is connected. The network controller408may be a Software Defined Networking, SDN, controller that can configure routers.

The client classification function412is used for classifying the wireless communication devices (herein called “clients”) in the communication network according to their mobility. The classification is based on identification of significant positions for the individual clients according to the following sequence:0) Fetch mobility traces for a client from the mobility database404;1) Map the mobility trace to geographical positions, such as two-dimensional x,y-coordinates;2) Map the geographical positions into a three-dimensional Cartesian coordinate diagram with position on x,y axis and frequency of occurrence of that position on the z-axis;3) Compare, in the diagram, the frequency of the different positions to thresholds in order to determine positions that have significance of the client, i.e. positions visited many times by the client;4) Classify mobility behavior for the individual clients according to e.g. the classification shown in the following paragraph.

FIG.5shows an example diagram with position mapped on one axis and frequency of occurrence of that position on the other axis. In two-dimension positions, the graphs will have the same basic characteristics: number of peaks and height. A possible classification scheme is to classify the clients into:

Stationary clients, which are clients with no or geographically limited mobility and that are connected to only one access subnetwork, e.g. one and the same access gateway. The mobility is “hidden” by the RAN-internal mobility. In a diagram such as inFIG.5, the client is visible at single point with high probability. Threshold1inFIG.5is a threshold of frequency of occurrence that needs to be passed for a client to be classified as stationary. As can be seen inFIG.5, client502passes that threshold and is consequently classified as a stationary client;

Clients with daily mobility, for example commuting between home and office so that they are connected to different access subnetworks at home and at the office. In this case the mobility during weekdays are analyzed to see how clients are behaving. This category of clients is appearing in two points: home and office, it is a high peak in a histogram based on position of the clients. In order to be classified as a client with daily mobility, a second threshold (Threshold2) has to be passed at two different positions. As can be seen inFIG.5, client504passes threshold2twice and is consequently classified as a client with daily mobility. Threshold2is set lower than Threshold1;

Clients with wide-area mobility, e.g. a typical sales-personal. This is a client that has a rather flat occurrence of positions in a diagram such asFIG.5or in a histogram. This means that the geographic position of the client is “random” during the weekday without any specific peaks. Client506inFIG.5is an example of such a client.

Please observe thatFIG.5is only showing one-dimensional position characteristics while the real network position is two-dimensional. This is only a simplification made to better illustrate how the comparison of position and frequency of the position is performed in order to classify the clients. Also, the frequency of positions are thresholds to limit the problem with fluctuation in the measured mobility records.

Going back toFIG.4, the network performance function414is arranged to calculate the network performance of paths between the access subnetwork serving a certain client (e.g. a base station of the access subnetwork serving the client) and the different cloud computing resources. This calculation is then used for placement of the clients in the different cloud computing resources. For those position that are above Threshold1and Threshold2(seeFIG.5), the position is mapped in the network topology database402so that different topological paths can be identified. If the mobility database404includes IP-endpoint addresses of the base-stations, these may directly be used for those positions to define the IP-endpoints in the topology. The network topology database402can use many types of identities depending on how the topology is defined. The mobility-trace stored in the mobility database404may also be composed of different identities, depending on the network exposure interface. The output from the network topology function can have several formats i.e. average number of hops for the handover time-series or the average number of hops during the mobility period.

The best-connected function416comprises algorithms for determining to which cloud computing resource the client is to be connected. For clients that have been determined to be Clients with daily mobility, the following algorithm may apply: For each mobility time-series do an estimation of best-connected cloud computing resource given a) minimum number of hops or b) minimum of {delay or packet-loss} based on the determined network performance. For clients that have been determined to be Stationary clients, the following algorithm may apply: Estimate the best cloud computing resource based on a) minimum number of hops or b) minimum of {delay or packet-loss} between the access subnetwork to which the client is connected and the different cloud computing resources. For clients that have been determined to be Clients with wide-area mobility: Recommend placement in a centralized cloud computing resource.

FIG.6describes an embodiment in which a method is performed by a system of a wireless communication network for handling cloud computing resources using an architecture as described inFIG.4. The method comprises receiving552a deployment request from the application deployer406for deploying an application in a distributed cloud, the application being used by clients in a communication network. Thereafter, the clients in the communication network are classified554as stationary clients, daily mobility clients or wide-area mobility clients based on mobility data for each client, the mobility data being stored in the mobility database404. Thereafter, for each client, the network performance function414is applied556in order to estimate performance of paths between the access subnetwork serving a certain client and the different cloud computing resources, for placement of the client handling in different cloud computing resources. Then, the best-connected cloud computing resource is selected558for each client, the number of clients assigned to each cloud computing resource is counted560and the capacity needed at each cloud computing resource is calculated562based on the number of clients assigned. Thereafter, capacity in each cloud computing resource is reserved564according to distribution of clients. Then the network controller408configures566routing and/or DNS such that client traffic is routed to the selected cloud computing resource, where after the application deployer406deploys568the application in the cloud computing resources.

FIG.7, in conjunction withFIG.1, describes an embodiment of a system600operable in a wireless communication network100, and configured for handling cloud computing resources. The wireless communication network comprises a first access subnetwork110providing wireless access to wireless communication devices residing in a first geographic area, a second access subnetwork120providing wireless access to wireless communication devices residing in a second geographic area, and a first cloud computing resource130connected to the first access subnetwork110and a second cloud computing resource140connected to the second access subnetwork120. The system600comprises a processing circuitry603and a memory604. The memory contains instructions executable by said processing circuitry, whereby the system600is operative for obtaining mobility information over a time period for a plurality of wireless communication devices180having wireless access to the communication network, the mobility information comprising information of when, during the time period, each of the plurality of wireless communication devices180has wireless access to the communication network100via the first access subnetwork110and when, each of the plurality of wireless communication devices180has wireless access to the communication network100via the second access subnetwork120. The system is further operative for selecting which of the first or second cloud computing resource130,140that is to serve each of the plurality of wireless communication devices180based on the obtained mobility information of the plurality of wireless communication devices, and for sending an instruction to each of the plurality of wireless communication devices180to connect to a server that is connected to the selected cloud computing resource for that wireless communication device180, or, for each of the plurality of wireless communication devices, triggering routing of data directed towards the wireless communication device or originating from the wireless communication device to the selected cloud computing resource.

The system of the wireless communication network may be a wireless communication network node, such as a core network node or an access network node or a router. Alternatively, the system of the wireless communication network may be a group of network nodes, wherein functionality of the system is spread out over different physical, or virtual, nodes of the network. In other words, the system for improving use of cloud computing resources may in its turn be a cloud-solution, i.e. the system may be deployed as cloud computing resources that may be distributed in the network.

According to an embodiment, the system is operative for selecting the first cloud computing resource130for the ones of the plurality of wireless communication devices180that predominantly have wireless access to the communication network100via the first access subnetwork110during the time period, and for selecting the second cloud computing resource140for the ones of the plurality of wireless communication devices180that predominantly have wireless access to the communication network100via the second access subnetwork120during the time period.

According to another embodiment, the system is operative for selecting which of the first or the second cloud computing resource130,140that is to serve each of the plurality of wireless communication devices180based on capacity of the first and the second cloud computing resource or on communication capacity from the first and the second cloud computing resource and its respective first and second access subnetwork110,120, as well as on the obtained mobility information of the plurality of wireless communication devices180.

According to another embodiment, the system is operative for selecting which of the first or second cloud computing resource130,140that is to serve each of the plurality of wireless communication devices180based also on mobility pattern, such as velocity of the wireless communication device or number of handovers performed by the wireless communication device, and/or on communication pattern, such as amount of communication with application servers of the plurality of wireless communication devices180.

According to another embodiment, the system is further operative for deploying application resources in the first and second cloud computing resource based on the selecting of the first or the second cloud computing resource for the plurality of wireless communication devices.

According to another embodiment, the communication network100further comprises a central cloud computing resource150connected to the first access subnetwork110and to the second access subnetwork120via a respective core subnetwork160,170in which the respective first and second cloud computing resource130,140is arranged. Further, the system is operative for selecting the first cloud computing resource130for the ones of the plurality of wireless communication devices that predominantly has wireless access to the communication network100via the first access subnetwork110during the time period, selecting the second cloud computing resource140for the ones of the plurality of wireless communication devices that predominantly has wireless access to the communication network100via the second access subnetwork120during the time period and selecting the central cloud computing resource150for the ones of the plurality of wireless communication devices which wireless access to the communication network100is alternating between the first access subnetwork110and the second access subnetwork120during the time period.

According to another embodiment, the communication network further comprises a central cloud computing resource150connected to the first access subnetwork110and to the second access subnetwork120. Further, the system is further operative for allocating, based on the mobility information, each of the plurality of wireless communication devices to either a first class for local mobility in the first access subnetwork, a second class for local mobility in the second access subnetwork, or a global class for mobility in both the first and the second access subnetwork. Further, the system is operative for selecting the first local cloud computing resource130for wireless communication devices allocated to the first class, for selecting the second local cloud computing resource140for wireless communication devices allocated to the second class, and for selecting the central cloud computing resource150for wireless communication devices allocated to the global class.

According to another embodiment, the communication network100further comprises a third access subnetwork serving wireless communication devices residing in a third geographic area and a regional cloud computing resource connected to the first access subnetwork110and to the third access subnetwork. The system is operative for the obtaining of mobility information over a time period by obtaining information of when, during the time period, each of the plurality of wireless communication devices has wireless access to the communication network100via the third access subnetwork110, and when it is determined that one of the plurality of wireless communication devices180has wireless access to the communication network alternately via the first access subnetwork110and via the third access subnetwork, selecting the third cloud computing resource to serve the one of the plurality of wireless communication devices.

According to other embodiments, the system600may further comprise a communication unit602, which may be considered to comprise conventional means for communication with nodes in the communication network. The instructions executable by said processing circuitry603may be arranged as a computer program605stored e.g. in said memory604. The processing circuitry603and the memory604may be arranged in a sub-arrangement601. The sub-arrangement601may be a micro-processor and adequate software and storage therefore, a Programmable Logic Device, PLD, or other electronic component(s)/processing circuit(s) configured to perform the methods mentioned above. The processing circuitry603may comprise one or more programmable processor, application-specific integrated circuits, field programmable gate arrays or combinations of these adapted to execute instructions.

The computer program605may be arranged such that when its instructions are run in the processing circuitry, they cause the system600to perform the steps described in any of the described embodiments of the system600and its method. The computer program605may be carried by a computer program product connectable to the processing circuitry603. The computer program product may be the memory604, or at least arranged in the memory. The memory604may be realized as for example a RAM (Random-access memory), ROM (Read-Only Memory) or an EEPROM (Electrical Erasable Programmable ROM). Further, the computer program605may be carried by a separate computer-readable medium, such as a CD, DVD or flash memory, from which the program could be downloaded into the memory604. Alternatively, the computer program may be stored on a server or any other entity to which the system600has access via the communication unit602. The computer program605may then be downloaded from the server into the memory604.

FIG.8, in conjunction withFIG.1, describes an alternative embodiment of a system600operable in a wireless communication network100, and configured for handling cloud computing resources. The wireless communication network comprises a first access subnetwork110providing wireless access to wireless communication devices residing in a first geographic area, a second access subnetwork120providing wireless access to wireless communication devices residing in a second geographic area, and a first cloud computing resource130connected to the first access subnetwork110and a second cloud computing resource140connected to the second access subnetwork120. The system600comprises an obtaining module704for obtaining mobility information over a time period for a plurality of wireless communication devices180having wireless access to the communication network, the mobility information comprising information of when, during the time period, each of the plurality of wireless communication devices180has wireless access to the communication network100via the first access subnetwork110and when, each of the plurality of wireless communication devices180has wireless access to the communication network100via the second access subnetwork120. The system further comprises a selecting module706for selecting which of the first or second cloud computing resource130,140that is to serve each of the plurality of wireless communication devices180based on the obtained mobility information of the plurality of wireless communication devices. The system further comprises a sending module708for sending an instruction to each of the plurality of wireless communication devices180to connect to a server that is connected to the selected cloud computing resource for that wireless communication device180, or, for each of the plurality of wireless communication devices, triggering routing of data directed towards the wireless communication device or originating from the wireless communication device to the selected cloud computing resource. The system600may further comprise a communication unit602similar to the communication unit described inFIG.7. In an embodiment, the modules ofFIG.8are implemented as a computer program running on a processing circuitry, such as the processing circuitry603shown inFIG.7.

FIG.9, in conjunction withFIG.1, shows a wireless communication device180configured for communication with a wireless communication network100. The wireless communication network comprises a first access subnetwork110for providing wireless access to wireless communication devices residing in a first geographic area, a second access subnetwork120for providing wireless access to wireless communication devices residing in a second geographic area, a first cloud computing resource130connected to the first access subnetwork110and a second cloud computing resource140connected to the second access subnetwork120. The wireless communication device180comprises a processing circuitry803and a memory804. The memory contains instructions executable by said processing circuitry, whereby the wireless communication device180is operative for providing, to the wireless communication network100, mobility information over a time period, the mobility information comprising information of when, during the time period, the wireless communication device180has wireless access to the communication network100via the first access subnetwork110and when the wireless communication device180has wireless access to the communication network100via the second access subnetwork120. The wireless communication device180is further operative for receiving, from the wireless communication network100, an instruction to connect to a server that is connected to a selected one of the first or the second cloud computing resource130,140, the selection of first or second cloud computing resources being based on the provided mobility information.

According to other embodiments, the wireless communication device180may further comprise a communication unit802, which may be considered to comprise conventional means for wireless communication with radio access nodes of the first and second access subnetwork, such as a transceiver for wireless transmission and reception. The instructions executable by said processing circuitry803may be arranged as a computer program805stored e.g. in said memory804. The processing circuitry803and the memory804may be arranged in a sub-arrangement801. The sub-arrangement801may be a micro-processor and adequate software and storage therefore, a Programmable Logic Device, PLD, or other electronic component(s)/processing circuit(s) configured to perform the methods mentioned above. The processing circuitry803may comprise one or more programmable processor, application-specific integrated circuits, field programmable gate arrays or combinations of these adapted to execute instructions.

The computer program805may be arranged such that when its instructions are run in the processing circuitry, they cause the wireless communication device180to perform the steps described in any of the described embodiments of the wireless communication device180and its methods. The computer program805may be carried by a computer program product connectable to the processing circuitry803. The computer program product may be the memory804, or at least arranged in the memory. The memory804may be realized as for example a RAM (Random-access memory), ROM (Read-Only Memory) or an EEPROM (Electrical Erasable Programmable ROM). Further, the computer program805may be carried by a separate computer-readable medium, such as a CD, DVD or flash memory, from which the program could be downloaded into the memory804. Alternatively, the computer program may be stored on a server or any other entity connected to the wireless communication network100, to which the wireless communication device180has access via the communication unit802. The computer program805may then be downloaded from the server into the memory804.

FIG.10, in conjunction withFIG.1, shows an alternative embodiment of a wireless communication device180configured for communication with a wireless communication network100, the wireless communication network comprising a first access subnetwork110for providing wireless access to wireless communication devices residing in a first geographic area, a second access subnetwork120for providing wireless access to wireless communication devices residing in a second geographic area, a first cloud computing resource130connected to the first access subnetwork110and a second cloud computing resource140connected to the second access subnetwork120. The wireless communication device180comprises a providing module904for providing, to the wireless communication network100, mobility information over a time period, the mobility information comprising information of when, during the time period, the wireless communication device180has wireless access to the communication network100via the first access subnetwork110and when the wireless communication device180has wireless access to the communication network100via the second access subnetwork120. The wireless communication device180further comprises a receiving module906for receiving, from the wireless communication network100, an instruction to connect to a server that is connected to a selected one of the first or the second cloud computing resource130,140, the selection of first or second cloud computing resources being based on the provided mobility information. The wireless communication device180may further comprise a communication unit802similar to the communication unit described inFIG.9. In an embodiment, the modules ofFIG.10are implemented as a computer program running on a processing circuitry, such as the processing circuitry803shown inFIG.9.

Although the description above contains a plurality of specificities, these should not be construed as limiting the scope of the concept described herein but as merely providing illustrations of some exemplifying embodiments of the described concept. It will be appreciated that the scope of the presently described concept fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of the presently described concept is accordingly not to be limited. Reference to an element in the singular is not intended to mean “one and only one” unless explicitly so stated, but rather “one or more.” All structural and functional equivalents to the elements of the above-described embodiments that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed hereby. Moreover, it is not necessary for an apparatus or method to address each and every problem sought to be solved by the presently described concept, for it to be encompassed hereby. In the exemplary figures, a broken line generally signifies that the feature within the broken line is optional.