TRAFFIC IN A DISTRIBUTED CLOUD SYSTEM
20210195465 · 2021-06-24
Assignee
Inventors
Cpc classification
H04L41/40
ELECTRICITY
H04W99/00
ELECTRICITY
H04L67/52
ELECTRICITY
International classification
Abstract
The invention relates to a method for operating a control entity (100) configured to influence a selection of one service instance (31) from a plurality of service instances provided by a distributed cloud system (30), each service instance providing a predefined service to a data packet flow of a user entity (60) connected to a mobile communications network. The method comprises monitoring a creation of new service instances providing the predefined service in the distributed cloud system (30), wherein for each new service instance a corresponding location in the distributed cloud system (30) is determined, determining, 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, and transmitting the location information to the mobile communications network requesting to take into account the transmitted location information for a selection of a user plane entity (70) configured to transmit at least a user data plane of the data packet flow between the user entity (60) and one of the service instances.
Claims
1. 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, each service instance providing a predefined service to a data packet flow of a user entity connected to a mobile communications network, the method comprising: monitoring a 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, determining, 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, transmitting the location information to the mobile communications network requesting to take into account the transmitted location information for a 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.
2. The method according to claim 1, wherein the creation of all new service instances providing different types of services is monitored, wherein the location information is determined and transmitted for each service instance and for each type of the different types of services.
3. The method according to claim 1, wherein monitoring the creation of new service instances comprises transmitting 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, receiving a response to the transmitted request, the response comprising the new service instance and its location in the distributed cloud system.
4. The method according to claim 1, wherein the location information is transmitted to an exposure entity configured to expose services provided by the mobile communications network.
5. The method according to claim 4, wherein transmitting the location information comprises transmitting an influence request to the exposure entity, the request comprising a service identifier identifying the service and an access identifier identifying the nearest access point.
6. The method according to claim 3, wherein, when the response is received from the cloud distributed system, it is checked whether the new service instance is provided for a service requiring traffic optimization, wherein 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.
7. The method according to claim 1, wherein the nearest access point in the location information is determined based on at least one of the following: the nearest access point based on geographical coordinates of the access point and of the service instance, the nearest access point based on metrics of a routing protocol used to route the user data plane between the service instance and the access point, the nearest access point based on latency measurements carried out on the user data plane.
8. The method according to claim 1, further determining a processing capacity of each new service instance, wherein the location information with 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.
9. The method according to claim 1, wherein determining location information comprises accessing a database where the nearest access point is stored for each service instance.
10. The method according to claim 1, further determining a subscriber information of the user entity, wherein the nearest access point depends on the subscriber information and is determined taking into account the nearest subscriber information.
11. A method for operating an exposure entity configured to expose different type of services provided to a mobile entity through a mobile communications network, wherein each type of service is provided by a plurality of service instances located in a distributed cloud system, the method comprising: receiving 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, the request comprising location information indicating for one of the service instances a corresponding nearest access point to the mobile communications network, transmitting 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.
12. The method according to claim 11, wherein transmitting a request to the subscriber database comprises transmitting an override request requesting to override available access information in the subscriber database for the service instances providing said one type of service with 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.
13. A control entity configured to influence a selection of one service instance from a plurality of service instances provided by a distributed cloud system, each service instance providing a predefined service to a data packet flow of a user entity connected to a mobile communications network, the control entity comprising a memory and at least one processing unit, the memory containing instructions executable by said at least one processing unit, wherein the control entity is operative to: monitor a 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, 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, transmit the location information to the mobile communications network requesting to take into account the transmitted location information for a selection of a user plane entity configured to transmit at least a user data plane of the data packet flow of the user entity between the user entity and one of the service instances.
14. The control entity according to claim 13, further being operative to monitor the creation of all new service instances providing different types of services, and to determine and transmit the location information for each service instance and for each type of the different types of services.
15. The control entity according to claim 13, further being operative, for monitoring the creation of new service instances, to 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, and to receive a response to the transmitted request, the response comprising the new service instance and its location in the distributed cloud system.
16. The control entity according to claim 13, further being operative to transmit the location information to an exposure entity configured to expose services provided by the mobile communications network.
17. The control entity according to claim 13, further being configured, for transmitting the location information, to transmit an influence request to the exposure entity, the request comprising a service identifier identifying the service and an access identifier identifying the nearest access point.
18. (canceled)
19. The control entity according to claim 13, further being configured to determine the nearest access point in the location information based on at least one of the following: the nearest access point based on geographical coordinates of the access point and of the service instance, the nearest access point based on metrics of a routing protocol used to route the user data plane between the service instance and the access point, the nearest access point based on latency measurements carried out on the user data plane.
20. (canceled)
21. An exposure entity configured to expose different type of services provided to a mobile entity through a mobile communications network, wherein each type of service is provided by a plurality of service instances located in a distributed cloud system, the exposure entity comprising a memory and at least one processing unit, the memory containing instructions executable by said at least one processing unit, wherein the exposure entity is operative 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, the request comprising location information indicating for one of the service instances a corresponding nearest access point to the mobile communications network, transmit 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.
22. (canceled)
23. (canceled)
24. A computer program product comprising a non-transitory computer readable medium storing a computer program comprising program code to be executed by at least one processing unit, wherein execution of the program code causes the at least one processing unit to execute a method according to claim 1.
25. (canceled)
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] 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.
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
DETAILED DESCRIPTION OF EMBODIMENTS
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039]
[0040] In connection with
[0041] In
[0042] As shown in
[0043] 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
[0044] As shown in
[0045] 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
[0046] As shown in
[0047] 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.
[0048] 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.
[0049] 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).
[0050] 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.
[0051] 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).
[0052] 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.
[0053] 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.
[0054]
[0055] In the following, a possible implementation is discussed in connection with a 4G mobile core network. [0056] 1. An interface, e.g. the northbound T8 interface of the SCEF (Service Capability Exposure Function) is extended with a new API to influence the placement of GTP tunnel termination for individual subscribers or classes of subscribers. [0057] 2. The control entity 100 subscribes for (watches) the creation of services and corresponding endpoints (server implementations) in the cloud orchestration system (e.g. Kubernetes). [0058] 3. The cloud orchestration system notifies the control entity 100 of creation of new service Endpoints. [0059] 4. The control entity 100 holds information linking service endpoints in the cloud container orchestration system with APNs in the mobile network. The control entity 100 matches the service identifier and endpoint IP addresses received from the cloud container orchestration system against the database 130 to determine the closest mobile network access point for the compute node running the service endpoint (server implementation, i.e. VM, Virtual Machine, or container). [0060] 5. When the control entity 100 receives notification of the creation of a service endpoint that it has knowledge of and that is registered for traffic optimization, it initiates the following procedure: [0061] 6. The control entity 100 through the extended T8 interface sends an influence request to the SCEF including a service identifier and an access point name (APN). [0062] 7. A functionality provided in the SCEF sends a request to the HSS, e.g. through the S6t interface to configure the APN override feature for all subscribers marked with the service tag, i.e. requesting this service, derived from the aforementioned database. The functionality in the SCEF can also only configure the APN override feature for the users which are tagged with that label as well, thus in dependence on their subscription. Through this a subset of users which are marked with the service tag can use the service on the Edge-Cloud. Other users would then be configured with another APN override so that they are able to use the service but on another quality level (National/Central-Cloud). So in the aforementioned database we would have more rows not only showing the Closest APN but different APNs which stand for different quality levels.
[0063] The following procedure is triggered by subscriber activity (e.g. attach or mobility): [0064] a) The MME (Mobile Management Entity) sends update location request to HSS upon which the HSS responds with update location answer containing the subscriber profile and the APN previously stored with the subscriber profile. [0065] b) MME selects an S-GW and a P-GW based on received APN and geographical closeness to the tracking area of the subscriber. MME sends a create session request message to S-GW containing among other data the APN, P-GW IP address, and subscriber profile. The S-GW establishes GTP tunnel between S-GW and the P-GW holding the APN and GTP termination point designated by the control entity 100 in the previous procedure.
[0066] For already existing EPS sessions, a forced EPS session termination is used to make APN change take effect.
[0067] 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.
[0068] 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.
[0069]
[0070]
[0071] 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.
[0072] As far as the exposure entity is concerned,
[0073]
[0074]
[0075]
[0076]
[0077] 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.
[0078] 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.
[0079] 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.
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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.
[0085] 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.
[0086] 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.