The present application relates to a method for operating a control entity configured to influence a selection of one service instance from a plurality of service instances provided by a distributed cloud system. Furthermore, the corresponding control entity configured to influence the selection is provided. Additionally a method for operating an exposure entity configured to expose different type of services provided to a mobile entity through a mobile communications network is provided and the corresponding exposure entity itself. Furthermore, a system comprising the control entity and the exposure entity is provided, a computer program comprising program code and a carrier comprising the computer program.
Distributed cloud and edge computing aim at improving latency, security, policy compliance, aggregation, and availability of services by bringing service instances closer to clients in order to keep the traffic path short. To achieve these goals, it is necessary to control where workloads or service instances are placed in the network. It is also necessary to influence application traffic originating from client applications on mobile devices/user entities such that it addresses the server closest to the user entity. To simplify the adoption of edge services it is desirable to do this without making the client device or software aware of the distributed cloud topology or of the way how the packet core works.
Existing solutions to influence or intercept application traffic for local processing at service instances exist in following categories:
Accordingly, a need exists to influence the selection of a service instance in such a way that a service instance is selected among several service instances located close to the user entity requesting the service.
This need is met by the features of the independent claims. In the dependent claims further aspects are described.
According to a first aspect, a method for operating a control entity configured to influence a selection of one service instance from a plurality of service instances provided by a distributed cloud system is provided. Each service provides a predefined service to a data packet flow of the user entity connected to a mobile communications network. The method comprises the step of monitoring the creation of new service instances providing the predefined service in the distributed cloud system, wherein for each new service instance a corresponding location in the distributed cloud system is determined. Furthermore, for each of the newly created service instances location information is determined indicating for each service instance a corresponding nearest access point to the mobile communications network. The location information is transmitted to the mobile communications network requesting to take into account the transmitted location information for selection of a user plane entity configured to transmit at least a user data plane of the data packet flow between the user entity and one of the service instances.
Furthermore, the corresponding control entity configured to influence the selection of the service instances provided, the control entity comprising a memory and at least one processing unit, wherein the memory contains instructions executable by the at least one processing unit. The control entity is operative to work as discussed above or as discussed in further detail below.
As an alternative, a control entity configured to influence the selection of one service instance from a plurality of service instances provided by a distributed cloud system is provided, wherein each service instance provides a predefined service to a data packet flow of a user entity connected to a mobile communications network. The control entity comprises a first module configured to monitor a creation of new service instances providing the predefined service in the distributed cloud system, and configured to determine for each of the new service instances a corresponding location in the distributed cloud system. A second module of the control entity is configured to determine, for each of the newly created service instances, location information indicating for each service instance a corresponding nearest access point to the mobile communications network. The control entity furthermore comprises a third module configured to transmit the location information to the mobile communications network requesting to take into account the transmitted location information for a selection of the user plane entity configured to transmit at least the user data plane of the data packet flow of the user entity between the user entity and one of the service endpoints.
Furthermore, a method for operating an exposure entity configured to expose different type of services provided to a mobile entity through a mobile communications network is provided, wherein each type of service is provided by a plurality of service instances located in a distributed cloud system. The method comprises the step of receiving a request from a control entity configured to influence a selection of one service instance from the priority of service instances for one type of service, wherein the request comprises location information indicating for one of the service instances a corresponding nearest access point to the mobile communications network. The exposure entity furthermore transmits a request to a subscriber database of the mobile communications network requesting the subscriber database to use the location information for all subscribers requesting the use of said one type of service.
Additionally the corresponding exposure entity is provided comprising a memory and at least one processing unit wherein the memory contains instructions executable by the at least one processing unit and wherein the exposure entity is operative to work as discussed above or as discussed in further detail below.
As an alternative, an exposure entity is provided configured to expose the different type of services provided to a mobile entity through a communications network, wherein each type of services provided by a plurality of service instances located in the distributed cloud system. The exposure entity comprises a first module configured to receive a request from a control entity configured to influence a selection of one service instance from the plurality of service instances for one type of service, wherein the request comprises location information indicating for one of the service instances a corresponding nearest access point to the mobile communications network. The exposure entity comprises a second module configured to transmit a request to the subscriber database of the mobile communications network requesting the subscriber database to use the location information for all subscribers requesting the use of said one type of service.
The control entity can influence the selection of a data path between the user entity and the service instance so that the shortest possible path between the user entity and the service instance is selected as information is provided which allows selecting an access point which is close to the service instance and the user requesting the service. The information about the nearest access point to the mobile communications network is transmitted to the exposure entity, which itself can then inform the subscriber database to use this information for user entities requesting the corresponding type of service.
In addition, a system comprising the control entity as discussed above or as discussed below is provided and the exposure entity as discussed above or as discussed below.
Furthermore, a computer program comprising program code to be executed by at least one processing unit of the control entity or of the exposure entity is provided, wherein execution of the program code causes the at least one processing unit to execute a method as discussed above or as discussed in further detail below.
It is to be understood that the features mentioned above and features yet to be explained below can be used not only in the respective combinations indicated, but also in other combinations or in isolation without departing from the scope of the present invention. Features of the above-mentioned aspects and embodiments described below may be combined with each other in other embodiments unless explicitly mentioned otherwise.
The foregoing and additional features and effects of the application will become apparent from the following detailed description when read in conjunction with the accompanying drawings in which like reference numerals refer to like elements.
In the following, embodiments of the invention will be described in detail with reference to the accompanying drawings. It is to be understood that the following description of embodiments is not to be taken in a limiting sense. The scope of the invention is not intended to be limited by the embodiments described hereinafter or by the drawings, which are to be illustrative only.
The drawings are to be regarded as being schematic representations, and elements illustrated in the drawings are not necessarily shown to scale. Rather, the various elements are represented such that their function and general purpose becomes apparent to a person skilled in the art. Any connection or coupling between functional blocks, devices, components of physical or functional units shown in the drawings and described hereinafter may also be implemented by an indirect connection or coupling. A coupling between components may be established over a wired or wireless connection. Functional blocks may be implemented in hardware, software, firmware, or a combination thereof.
Within the context of the present application, the term “mobile entity” or “user equipment” (UE) refers to a device for instance used by a person (i.e. a user) for his or her personal communication. It can be a telephone type of device, for example a telephone or a Session Initiating Protocol (SIP) or Voice over IP (VoIP) phone, cellular telephone, a mobile station, cordless phone, or a personal digital assistant type of device like laptop, notebook, notepad, tablet equipped with a wireless data connection. The UE may also be associated with non-humans like animals, plants, or machines. A UE may be equipped with a SIM (Subscriber Identity Module) or electronic-SIM comprising unique identities such as IMSI (International Mobile Subscriber Identity), TMSI (Temporary Mobile Subscriber Identity), or GUTI (Globally Unique Temporary UE Identity) associated with the user using the UE. The presence of a SIM within a UE customizes the UE uniquely with a subscription of the user.
For the sake of clarity, it is noted that there is a difference but also a tight connection between a user and a subscriber. A user gets access to a network by acquiring a subscription to the network and by that becomes a subscriber within the network. The network then recognizes the subscriber (e.g. by IMSI, TMSI or GUTI or the like) and uses the associated subscription to identify related subscriber data. A user is the actual user of the UE, and the user may also be the one owning the subscription, but the user and the owner of the subscription may also be different. E.g. the subscription owner may be the parent, and the actual user of the UE could be a child of that parent.
As will be described below, the application provides a control entity between a cloud orchestration system and a mobile packet core of a mobile communications network that influences a node selection and a packet core such, that a carrier for a data packet flow, by way of example a GTP tunnel termination or the terminations are placed near application server instance locations in the distributed cloud system. By doing so, the present application removes the disadvantage of anycast routing such that stateful sessions are not broken when topology changes occur in the IP network. This enables network operators to use anycast routing as an elegant solution that ensures traffic locality in distributed cloud systems. Furthermore, application developers are given full flexibility through existing cloud orchestration Application Programming Interfaces, APIs, to place their workloads where they want and steer traffic to the instance closest to the UE without having to deal with the complexity of the mobile communications network.
The concept described above as all described in further detail below, can be used together with any kind of mobile communications network, be it a 3G, 4G or 5G network.
In connection with
In
As shown in
The control entity 100 is provided that watches the creation of service endpoints or service instances in the cloud environment, such as the container orchestration system. The control entity 100 then interacts with the packet core 90 shown in
As shown in
When the control entity 100 monitors the creation of a new service instance and the cloud system informs the control entity 100 that a new service instance is created, the control entity 100 matches the service identifier received from the cloud system and the endpoint IP addresses received from the cloud system, e.g. the cloud container orchestration system against a data base 130 as shown in
As shown in
A DNS resolution of FQDN (Fully Qualified Domain Name) can be used in addition and is compatible with the approach, but is not required for the solution. It is an advantage of anycast routing that it can also work with clients that use server IP addresses directly.
The invention can use a common way of describing network locations and this common understanding of locations is established between the distributed cloud system, the cloud orchestration system, the packet core 90 and the control entity 100. By way of example, the geographical coordinates such as latitude and longitude can be used to determine the distance between the network elements. In another example, the metrices of the routing protocols are used to determine the distance between network elements. As another option latency measurements can be used to determine the distance between network elements. The location information is attached to the compute nodes so that it can be referred to when placing the IT application workloads as well as when instantiating or referring to existing packet core node functions.
In 3G and 4G EPC (Enhanced Packet Core) the control entity 100 steers the selection of GGSN or P-GW to influence GTP tunnel termination to occur near the application server instance. With Control Plane User Plane Split (CUPS) present in Packet Core, the control entity influences the selection of PGW-U user plane nodes. In 5G core the control entity influences the selection of UPF (user plane functions).
In one example, the control entity 100 uses the APN (Access Point Name) override feature in the 4G packet core to influence the point of local break-out. This approach establishes a large number of APNs, one per each distributed cloud location. The packet core then overrides the Access Point Name (APN) selected by the UE in such a way that GTP tunnel termination is placed near the application workload. This approach allows to control place of local break-out with minimal or no impact on existing packet core software implementations.
In one example, where CUPS is used in 4G core, a virtual APN (vAPN) is used to apply the APN override feature for selection of user plane devices (GW-U).
The Service Capability Exposure Function (SCEF) can be extended with functionality to influence the location of local break-out and the controller device interacts with the SCEF.
The control entity 100 uses the Network Exposure Function (NEF) in a 5G Core (5GC) Service Based Architecture (SBA) network to influence the location of local break-out.
In the following, a possible implementation is discussed in connection with a 4G mobile core network.
The following procedure is triggered by subscriber activity (e.g. attach or mobility):
For already existing EPS sessions, a forced EPS session termination is used to make APN change take effect.
In the examples above the invention was discussed in connection with a GTP tunnel scheme. However it should be understood that the invention is limited to this scheme. As an alternative PMIP (Proxy Mobile IP) could be used which is being used for CDMA (Code Division Multiple Access) and WIMAX. PMIP (Proxy Mobile IPv6) is a protocol used to create connectivity between an LMA (Local Mobility Anchor) and a MAG (Mobility Access Gateway). PMIP uses GRE (Generic Routing Encapsulation) tunnels. The invention discussed above with the nearest access points can also be applied in this technology.
In another example, the control entity 100 takes into consideration the capacity of server implementations in each site and only directs a limited number of EPS sessions to each site based on the available capacity.
As discussed above, the location information can be transmitted to the exposure entity. However, it should be understood that it may be transmitted to any other entity of the mobile communications network.
As far as the exposure entity is concerned,
In order to monitor the creation of the new service instances, the control entity may transmit a request to the distributed cloud system requesting that the control entity be informed each time a new service instance is created in the distributed cloud system. Furthermore, a response is received to the transmitted request wherein the response comprises the new service instance and its location in the distributed cloud system.
When the location information is transmitted to the mobile communications network, it may be transmitted to the exposure entity 200 configured to expose the services provided by the mobile communications network or accessible through the mobile communications network.
When the location information is transmitted to the network, an influence request can be transmitted to the exposure entity 200, wherein the request comprises the service identifier identifying the service and an access identifier identifying the nearest access point.
When a response in response to the transmitted request is received from the distributed cloud system, it is checked whether the new service instance is provided for a service requiring traffic optimization. The location information is only transmitted to the mobile communications network when it is confirmed that the new service instance is provided for a service requiring traffic optimization.
The nearest access point in the location information may be determined based on the nearest access point using the geographical coordinates of the access point and the service instance, using the metrics of a routing protocol used to route the user data plane between the service instance and the access point or based on latency measurements carried out on the user data plane.
Furthermore, it is possible that the processing capacity of each new service instance is determined and the location information within the nearest access point is determined taking into account the processing capacity of each new service instance such that the nearest access point for one service instance additionally depends on the processing capacity of the service instance. By way of example, when the processing capacity of a service instance is smaller compared to the processing capacity of another service instance located in the neighborhood, a smaller amount of data packet sessions may be directed to the service instance with the lower processing capacity It is assumed that in anycast addressing, routing in the network makes sure packets from an end device are routed to the service instance closest to the tunnel termination point. Thus by selecting a termination point for a certain number of session, it is possible to control the number of session that send traffic to a given service instance.
For determining the nearest access point the control entity can access a database where the nearest access point is stored for the each service instance.
The selection of the nearest access point can also depend on the mobile device/subscription of the user of the mobile device. For different subscribers different nearest access points can be stored in the database in order to be able to differentiate different subscriber levels.
As far as the exposure entity is concerned, when the exposure entity transmits the request to a subscriber database, the transmitted request can be an override request requesting to override the available access information in the subscriber database for the service instances providing said one type of service with the location information present in the request for all subscribers requesting said one type of service wherein the access information provides information where the mobile communications network connects to a packet switched wide area network such as the internet.
The above described application has the advantage that the IT application developers can control the placement of their workloads in the distributed cloud and keep the traffic local without the knowledge of the packet cores. Furthermore, the mobile communications network, e.g. the packet core, can dynamically steer the application traffic to geographically closest application service instances while avoiding disadvantages inherent to known solutions. Furthermore, the invention enables synergies between the packet core and the distributed cloud.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2018/073475 | 8/31/2018 | WO | 00 |