Systems, devices, and methods for edge node computing
Patent Information
- Application Number
- CN202080090693.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-17
- Filing Date
- 2020-12-28
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2040-12-28
Smart Images

Figure CN114930294B_ABST
Abstract
Description
Technical Field
[0001] The currently disclosed topics relate to a session manager, a cloud service system, a mobile device, a session management method, a cloud service method, a mobile device method, and a computer-readable medium. Background Technology
[0002] The following document discloses a form of edge computing: Sami Kekki et al., MEC in 5G networks, ETSI White Paper No. 28 (ISBN: 979-10-92620-22-1). This document is incorporated herein by reference. References to 3GPP and MEC can also be found in this document.
[0003] Edge computing improves upon cloud computing by moving application hosting from centralized data centers to the network edge, bringing it closer to consumers and the data generated by applications. This improves latency and bandwidth efficiency. 5G networks based on the 3GPP 5G specification are a key future target environment for MEC (Multi-access Edge Computing) deployments.
[0004] In the 5G system specifications, there are two available architecture options: one option has a traditional reference point and interface approach, and the other option uses a service-based architecture (SBA) for core network functions to interact with each other. The SBA options for the 5G system architecture are shown in Figure 1. Figure 1 in this document is adapted from Figure 2 in the aforementioned document.
[0005] In SBA (Service Provider Architecture), there are functions for consuming services and functions for producing services. Any network function can provide one or more services. In Figure 1, the left side shows the 3GPP 5G system and its SBA, while the right side shows the MEC (Multi-access Edge Computing) system architecture.
[0006] For example, the left side shows the Access and Mobility Management Function (AMF), which handles mobility-related processes. Using SBA, the AMF provides communication and reachability services to other Network Functions (NFs), and it also allows subscriptions to receive notifications about mobility events. Similar to the AMF, the Session Management Function (SMF) can provide many functions, such as session management, IP address allocation and management, etc.
[0007] User plane functions (UPFs) can play a role in integrating MEC deployments in 5G networks. From the perspective of an MEC system, a UPF can be viewed as a distributed and configurable data plane. Therefore, in some specific deployments, a local UPF may be part of the MEC implementation. For example, mobile devices can connect to a UPF located next to the MEC infrastructure (e.g., an edge node) via the RAN. The UPF can be (re)configured to route traffic to the edge node.
[0008] In the MEC system shown on the right side of Figure 1, the MEC orchestrator is a functional entity at the MEC system level that can act as an application function (AF). MEC infrastructure (e.g., edge nodes) can be deployed at N6 reference points, such as in a data network (DN) outside the 5G system. This is achieved through the flexibility of locating the UPF.
[0009] Logically, MEC hosts are deployed in edge or central data networks, and the User Plane Function (UPF) is responsible for directing user plane traffic to the target MEC applications within the data network. The locations of the data network and UPF are chosen by the network operator, who can select where to place physical computing resources based on technical and business parameters. Summary of the Invention
[0010] Improvements in the allocation of edge computing resources would be beneficial. For example, it would be advantageous if cloud services could allocate computing resources on edge nodes as needed. Systems and devices can be advantageously implemented in the context of edge computing within 5G networks, but this is not necessary.
[0011] A session manager is provided, configured to manage edge computing resources in a mobile network. The mobile network may include edge nodes configured to provide edge computing resources to mobile devices. Mobile devices may be so-called user equipment or user devices. For example, a mobile device may be a mobile phone, a vehicle, or an IoT device. The session manager may be implemented as a device or a system. The session manager may run on one or more virtual machines, etc. The session manager may be implemented as an application function (AF) in the mobile network, such as an application function in a 5G mobile network.
[0012] The session manager can be a standalone system. It can also be included within an edge computing manager. The edge computing manager can be configured to launch virtual machines on edge nodes that support edge computing resources for mobile devices. The edge computing manager can be configured to instruct the mobile network to configure traffic routing from mobile devices to edge nodes. For example, the edge computing manager can be an MEC orchestrator. Configuring traffic routing can be done by configuring a UPF. For example, the MEC orchestrator can generate configuration messages instructing the mobile network to perform this action.
[0013] Mobile devices can access cloud services from cloud service systems via data networks. For example, a mobile device can connect to a cloud service system to obtain cloud services. The cloud service can perform tasks on behalf of the mobile device, which can be at least partially taken over by edge computing. For example, the data network can be a computer network, such as the Internet. The cloud service system can, for example, use a session manager to dynamically deploy additional edge computing resources as needed. The cloud service system can be implemented as a single device, such as a single server. The cloud service system can also be implemented as a system comprising multiple devices (e.g., multiple servers). For example, these multiple servers can be distributed across a geographical area, for example, to improve latency and / or bandwidth.
[0014] The session manager, cloud service system, and mobile devices can communicate with each other via a data network. For example, they may have corresponding data network interfaces to exchange data messages as needed. The session manager, cloud service system, and mobile devices may include processor systems configured for their respective functions. For example, the processor system may include one or more microprocessors configured for said functions.
[0015] The session manager and mobile device can cooperate to establish a session identifier. The session identifier can be used to identify the mobile device. For example, the mobile device can send a device identifier, which identifies the mobile device on the mobile network, to the session manager. The mobile network can be, for example, a 5G network based on the 3GPP 5G specifications, such as those described in 3GPP TS 23.501 V15.1.0, “3rd Generation Partnership Project; Technical Specification Group Services and Systems Aspects; System Architecture of 5G Systems; Phase 2 (Release 15)”. The mobile network can, for example, use multiple radio nodes or base stations to support wireless communication. The device identifier can identify the mobile device on the mobile network. For example, the device identifier can be used to request location information of the mobile device. The device identifier can identify the connection between the mobile device (e.g., user equipment) and the mobile network. For example, the device identifier can be a PDU session.
[0016] Mobile devices can be configured with a session manager's data network address. For example, the session manager's data network address can be a fixed address on the mobile device, such as a configurable address. The session manager address can also be obtained dynamically. For example, it can be obtained when the mobile device subscribes to a telecommunications network.
[0017] For example, a mobile device can be configured to connect to a network function in the mobile core network to obtain the correct session manager address; for example, this network function could be an AMF (Active Mobile Function). For example, the mobile device can be configured to receive the session manager address via a signaling channel. The data network address (such as the session manager's data network address) can be a URL or an IP address, etc.
[0018] The session manager can receive a device identifier from the mobile device. For example, the device identifier (such as a PDU session identifier) can be received via a data network (e.g., via the Internet). Alternatively, the device identifier can be sent from the mobile device to the session manager. For example, the device identifier could be the same identifier that the mobile device sends to the functions of the mobile core network when it registers on the mobile network. The session manager can then use the device identifier to obtain the location of the mobile device within the mobile network. Location requests can also be made later, for example, after receiving a request for edge computing resources.
[0019] For example, a session manager can request the location of a mobile device from a location function (e.g., an AMF within the mobile network). The location of the mobile device within the mobile network can reflect the location of the mobile device itself. For instance, this location can provide information about the mobile device relative to the mobile network, allowing for the selection of edge nodes with low latency and / or high bandwidth.
[0020] For example, the location may include radio nodes with which mobile devices can connect in a mobile network. For example, the location may include base stations. The location may also include a group of radio nodes, such as a group of base stations. Radio nodes, base stations, and groups thereof can be identified by identifiers. For example, the location may include a tracking area to refer to a group of base stations.
[0021] For example, in one embodiment, the session manager may include a mobile network interface configured to establish a connection with the mobile network. The session manager may obtain the location of the mobile device via the mobile network interface to the mobile network. For example, the mobile network interface may be connected to a network function directly or via a network access function (e.g., a Network Open Function (NEF) in a 5G network). A distinction may be made between the mobile network and the mobile core network, wherein the mobile network includes the core network, and the core network is responsible for managing and controlling the mobile network.
[0022] Note that without support from the session manager, the cloud service system itself may be unable to determine the location of the mobile device. For example, the identification information used for the cloud service might be a username and password that may not be known on the mobile network. Therefore, the identity of the mobile device known to the cloud service manager may not match the identity of the mobile device known on the mobile network.
[0023] The session manager can be further configured to generate session identifiers for mobile devices and associate these session identifiers with the mobile devices. For example, the session manager can be configured to map session identifiers to device identifiers and locations. The association or mapping can be performed in a list, tabular database, or other suitable data structure. The association and / or session identifier can be temporary, such as expired or terminated.
[0024] For example, a session identifier can be obtained by applying a function (e.g., a hash function) to a device identifier, location, and / or further information. For instance, the session identifier could be a random number. Further information could include identifiers of the cloud service systems, thus the session identifier would be different for different cloud services. As a result, a session identifier created for one cloud service system might not work for a second cloud service system. Cryptographic algorithms can be used to protect the session identifier. For example, the session identifier could include an encrypted tag created using the session manager's secret key. For example, the session identifier could be signed with the session manager's private key.
[0025] The session manager can be configured to send session identifiers to mobile devices. Session identifiers allow for information at both the data network level and the mobile network level. For example, knowledge of the mobile network may include its structure and traffic. Knowledge of the data network may include services used or requested by the mobile device, and relationships between mobile devices.
[0026] Session identifiers may include a device identifier and / or location in a recognizable form. However, in some embodiments, the cloud service system cannot determine the device identifier and / or location based on the session identifier. For example, a mobile device may be configured to receive a session identifier and forward it to the cloud service system, for example, as part of a connection that the mobile device may make with the cloud service system (e.g., a cloud service connection).
[0027] One advantageous way to organize mobile devices is to house some of their functionality within an operating system and others within cloud applications. A cloud application refers to the portion of a cloud application running on the mobile device; it can also be called a cloud-enabled application. For example, an operating system can be provided for the mobile device, configured to send a device identifier that identifies the mobile device on the mobile network to a session manager and receive a session identifier from the session manager. Similarly, a cloud application can be configured to obtain a session identifier from the operating system and send it to a cloud service system. For instance, the operating system can handle interactions with the session manager before edge computing resources are initiated or before a demand for edge computing resources arises. A cloud application can be configured to handle interactions with a cloud service system. The portion of the mobile device configured to interface with the session manager (e.g., the operating system portion) can be referred to as a session handler.
[0028] The cloud service system can receive a session identifier from the mobile device. Note that the cloud service system can be the same entity as the mobile network operator (e.g., MNO), or the cloud service system can be located within the mobile network operator's network, but neither is required. For example, the cloud service system can be a cloud service accessible via the public Internet.
[0029] Cloud service systems can store session identifiers, such as those associated with login information of mobile devices or their users, for later use, or they can use session identifiers directly. For example, a cloud service system can determine a mobile device's demand for edge computing resources. This demand may arise in several scenarios. For example, the demand may arise because of a specific application in which the mobile device and / or cloud service are involved, such as a local real-time streaming application or a so-called prosumer application, or a high-resource computing application (e.g., a GPU rented for a specific application). The mobile device can inform the cloud service of this demand. Demand may also arise because congestion, particularly network congestion, is detected. For example, in content streaming applications, network congestion can be detected, and edge resources can then alleviate the congestion. Determining demand may include detecting high storage or computing requirements or identifying demand peaks originating from locations within the data network (e.g., server locations within the cloud service system).
[0030] In any case, once the cloud service system determines that it needs edge computing resources, it can send a request to the session manager to deploy edge computing resources for mobile devices on edge nodes. The mobile device can be identified in the request via a session identifier. For example, the cloud service system can be configured to receive the data network address of the initiated edge computing resources from the session manager. For example, the cloud service system can receive the data network address from the mobile device, for example, along with the session identifier. The session manager can verify the request from the cloud service system, for example, to prevent fraud or to check the agreement with the MNO or MEC provider. For example, the session manager can verify that it has indeed created the session identifier. For example, if the session identifier is encrypted, the encryption protection can be verified. For example, if the session identifier is signed and / or includes a tag, the signature and / or tag can be verified using the session manager's key (e.g., a public key corresponding to its private key).
[0031] When the session manager receives a request for edge computing resources from the cloud service system, it can use the session identifier received along with the request to obtain the device identifier and / or its location. The location of the mobile device within the mobile network can also be obtained at this time. Using this location, an edge node can be determined for the mobile device. Preferably, the edge node location is selected such that, for example, latency and / or bandwidth are improved compared to a connection to a server in the cloud service system.
[0032] For example, the session manager can be configured with a table indicating which edge node is used for which location. This table can be fixed and / or predetermined. It can also be dynamic. For example, an edge node can report its availability and location within the mobile network to the session manager. Using this latter information, a dynamic selection of suitable (e.g., nearby) edge nodes can be chosen. For example, the table can indicate how a base station can connect to an edge node.
[0033] The table can also include the capabilities of the edge nodes; for example, whether the edge node has (multiple) GPUs, whether it has storage capacity, and how much, etc. Requests for resources can be matched with available resources. For example, a request for GPUs (e.g., for training a neural network) might first select the edge node based on GPU availability, while latency might be less important. On the other hand, for content streaming applications, latency and storage capacity might be important selection criteria. The selection of edge nodes can be done by the edge computing manager (e.g., an MEC orchestrator) or in conjunction with the edge computing manager. For example, a session manager can request specific edge nodes from the edge computing manager. Edge nodes can be organized into groups. In this case, the group, rather than a specific edge node, can be selected, for example, by the session manager or the edge computing manager.
[0034] For example, edge computing resources for mobile devices are launched on edge nodes via an edge computing manager (e.g., an MEC orchestrator). This is convenient if the session manager is part of the MEC orchestrator, but not required; the session manager can be a standalone device or system. For example, the session manager and the edge computing manager can cooperate via internal or external APIs. For example, the session manager and the edge computing manager can cooperate by exchanging messages (e.g., via a data network or via an internal interface).
[0035] Edge computing resources can be launched on existing virtual machines or new virtual machines can be launched. For example, the session manager can be configured (e.g., notified) by the cloud service system to provide the image of the virtual machine to be launched on the edge node; the session manager can also know that there are already active edge nodes available for use. The image can be provided as a data network address (e.g., a URL), or the image itself can be provided, and so on. For example, the cloud service system can provide the session manager with one or more session identifiers and a reference to one or more requested resources. The reference could be the name of an image to be downloaded from a common repository (e.g., Docker Hub in the case of a Docker container), or a URL where the image can be downloaded, etc. The image can also be referenced by an image identifier (which may already be available at the edge node) and associated with that image identifier.
[0036] Once an edge computing resource is started, traffic can be sent to that resource. There are several ways to do this. For example, a session manager can send the data network address of the edge computing resource started on the edge node to the cloud service system. This data network address can be a URL, IP address, port address, etc. The cloud service system can then send this address to the mobile device. If needed, the cloud service system can configure the edge node resource.
[0037] Mobile devices can, for example, receive the data network address of an initiated edge computing resource from a cloud service system and connect to that resource. Alternatively, traffic from a mobile device can be redirected without requiring the mobile device to receive the data network address of the initiated edge computing resource. For example, a reconfiguration message can be sent to a routing interface from the mobile network to the data network. This routing interface can be associated with the mobile device and / or edge nodes to route traffic to the initiated edge computing resource. The router or router interface can be a User Plane Function (UPF) of the mobile network, such as the UPF of a 5G network.
[0038] For example, the additional resources may be transparent, or largely transparent, to the cloud service system and / or mobile device. For instance, the mobile device can continue to use the same data network address now routed to the new edge node resource. Alternatively, the mobile device and / or cloud service system can be configured to establish a new connection to the new address, for example, to explicitly connect to that edge node resource. In the latter case, rerouting may not be necessary. Hybrid solutions are possible.
[0039] Determining the demand for edge computing resources, especially congestion-related demands, can be challenging for cloud service systems. This problem can be mitigated by a session manager. For example, a session manager can be configured to collect mobile network-level information from the mobile network for use by the cloud service system to indicate network congestion to the cloud service system. The session manager can then notify the cloud service system of network congestion.
[0040] For example, a cloud service system can be configured to send a request to a session manager for information indicating mobile network congestion. This request may include data network information identifying one or more network flows destined for the cloud service system's servers. For example, network flows can be identified using traffic descriptions (e.g., so-called 5-tuples). The session manager can request information from the mobile network and send network congestion reports (e.g., when network congestion is detected for a specific server of the cloud service system). The cloud service system can then select one or more mobile devices connected to that server and send a request to deploy edge computing resources for those one or more mobile devices.
[0041] Interestingly, this can be implemented as a subscription. For example, a cloud service system can subscribe to notifications from a session manager regarding network congestion. The cloud service system can provide network-level information, for example, using one or more data network addresses (such as a list of IP addresses and port numbers) used by the cloud service system. When network congestion is detected, the session manager can, for example, notify the cloud service system of the server causing the congestion (e.g., the data network address). Following the notification, the cloud service system can select one or more mobile devices as suitable candidates for edge computing and instantiate the edge computing instance.
[0042] In an embodiment, the cloud service system can be configured to measure the latency and / or bandwidth of one or more devices, for example, by exchanging messages between the cloud service system and mobile devices. For example, the round-trip time of a message being sent from the cloud service system to the mobile device and back can be measured. For mobile devices that perform poorly in quality metrics such as latency or bandwidth, edge computing resources can be requested. For example, multiple such mobile devices can be identified and combined in a single request. The session manager can then select edge nodes that improve quality metrics (e.g., on average).
[0043] A cloud service system may include multiple session identifiers in its requests. For example, the request may include multiple session identifiers identifying multiple mobile devices. A session manager may receive multiple session identifiers from the cloud service system. For example, the multiple mobile devices associated with these session identifiers may be configured for data exchange between the multiple mobile devices. Edge computing resources may be deployed to facilitate data exchange, for example, to improve latency and / or bandwidth. For example, a mobile device may be configured for prosumer applications. For example, a mobile device may be configured as a sensor, and sensor values may be computed locally on edge computing resources before forwarding computation results to, for example, a cloud service system.
[0044] The session manager can select edge nodes based on multiple locations associated with multiple session identifiers. For example, a new resource can be instantiated, or an existing resource can be used.
[0045] For example, the cloud service system can provide the session manager with session identifiers for mobile devices selected for edge computing, as well as relationships between the mobile devices. Mappings between mobile devices and edge nodes can be calculated (e.g., optimized). For example, in one embodiment, the cloud service system can list mobile devices that would ideally connect to the same edge node. For example, in one embodiment, the cloud service system can use graph-based definitions. For example, when the API between the session manager and the cloud service system uses JSON to format the body content, relationships between mobile devices can be expressed using JSON Graph Format (JGF).
[0046] For example, if two or more mobile devices are located at or near the same edge node, edge computing resources can be deployed at that edge node. Alternatively, if two or more mobile devices do not share a common location, the edge node can be located in the middle and / or at the center, or the system can revert to using a server that utilizes a cloud service system. For instance, two mobile devices can be connected at the application level, such as an uploader and a downloader.
[0047] Multiple mobile devices may belong to a common base station group, such as a tracking area. Note that cloud service systems are typically unaware of tracking areas, etc., although the session manager may know this. For example, the session manager and / or edge computing manager may have a table indicating edge nodes belonging to a specific tracking area. The session manager can use this information to select edge nodes, but it can also do so in conjunction with the edge computing manager.
[0048] Selecting edge nodes for multiple mobile devices can be accomplished by estimating improvements in relevant metrics (e.g., latency) and selecting the edge node that will provide the greatest improvement (e.g., on average). This can be done by weighting the average based, for example, on application, service level, data consumption, etc. For instance, edge nodes associated with the base station that has the highest value n can be selected. For example, n1 mobile devices might be associated with base station 1, n2 mobile devices with base station 2, and so on. i Edge computing resources are initiated on edge node i corresponding to base station i. Instead of choosing majority, a loss function (e.g., ∑l) can be selected. i n i Minimize the edge nodes, where l i This indicates the latency that will be obtained if this specific edge node is selected. After starting the edge computing resources, the next iteration can be performed and further edge computing resources can be started.
[0049] There are several reasons why cloud service systems may include multiple session identifiers in a request. For example, demand spikes originating from locations on a mobile network associated with multiple mobile devices can be detected.
[0050] For example, a cloud service system can identify peak demand originating from specific server instances connected to multiple mobile devices within the cloud service system. For instance, content projects, such as videos, may be distributed regionally, so if a region, such as Amsterdam, experiences high demand, additional edge node resources at that location would be helpful. This allows for dynamic server splitting. For example, content streaming applications could use this implementation.
[0051] For example, in a prosumer scenario, all content can be hosted on a specific server. All traffic is captured and consumed in one location. Edge nodes can then be allocated using that location.
[0052] For example, a cloud service system can determine the common location of multiple mobile devices based on the data network addresses used by these devices. For instance, the common location can be determined based on the source IP address of the mobile devices arriving at the cloud service system.
[0053] For example, a cloud service system can receive geographic information from mobile devices and determine peak demand originating from multiple mobile devices with matching geographic information. For example, a user might access an application on their mobile device. For example, they might send coordinates, such as GPS coordinates, a city, or an address. For example, the application could be a navigation app, and edge nodes could be used to store navigation information, such as augmented reality information.
[0054] For example, a cloud service system can receive location information from mobile devices in a mobile network and determine demand peaks originating from multiple mobile devices with matching location information. Location information may include mobile network parameters, such as tracking area or cell identifiers, for example, 5G parameters. This information may be obtained by the mobile device and sent to the cloud service system. The mobile device may provide an API to make this information available, for example, through an operating system call. This can be implemented in a telephony API. For example, the mobile device (e.g., a session handler) may gain access to the location information.
[0055] In this embodiment, the location information is obfuscated before it becomes available (e.g., outside the mobile device's operating system). For example, the API may hash it, for instance, along with a key or string. In this way, the location information can be used for the allocation of edge node resources without having to make the location information visible on the mobile device's API. Alternatively, this information can be obtained through a session manager, which may in turn receive the information from a telecommunications network. For example, the location information can be encrypted with the session manager's key (e.g., a public key).
[0056] The session manager can be configured to receive termination messages from mobile devices or cloud service systems to terminate initiated resources. Termination of edge computing resources can be accomplished through the edge computing manager (e.g., an MEC orchestrator). The edge computing manager and session manager can be combined; for example, one can be contained within the other.
[0057] In another embodiment, the edge computing resource is used by multiple mobile devices. In this case, the edge computing manager (e.g., an MEC orchestrator) may terminate the edge computing resource only when any mobile device is no longer using the edge computing resource (e.g., the VM running it) or when the cloud service system provides an instruction to terminate the resource. The session manager and / or the edge computing manager can track how many mobile devices are still using the edge computing resource, and this information can be used to terminate the resource, for example, when the number of users is zero or below a threshold. This can be application-specific. For example, this can be determined by the party operating the edge computing manager, edge nodes, MEC orchestrator, and / or cloud service.
[0058] For example, in an embodiment, the edge computing manager and / or session manager may be configured to maintain a list of mobile devices using edge computing resources, and / or terminate edge computing resources if the list is empty or below a threshold.
[0059] An edge computing manager (e.g., an MEC orchestrator) can control one or more edge nodes. For example, the edge computing manager can include edge node information indicating the location of the edge nodes. For example, the edge computing manager can be configured to verify infrastructure in a region and / or launch infrastructure, such as (multiple) edge nodes. For example, a session manager can interact with the edge computing manager to launch edge computing for a specified mobile device, for example, on a specified edge node using a specified image and / or resources. The edge computing manager can be configured to check if it is necessary to deploy a new VM. For example, there may already be a running VM available for mobile devices. For example, multiple mobile devices can use the same VM. If needed or instructed, the edge computing manager can instantiate a new VM on an edge node. For example, an edge node can be selected to obtain good bandwidth and / or low latency. For example, an edge node can be selected to achieve load balancing, for example, using a round-robin scheme.
[0060] The edge computing manager can be configured to reconfigure routing interfaces, such as the UPF. The edge computing manager can be configured to interact with the mobile network to reconfigure the UPF. For example, the edge computing manager can send information in the form of a traffic description to configure the UPF. The traffic description could be a five-tuple, but other filters are also possible. In 5G networks, this might traverse through the AMF and / or SMF, but this is not necessary—fewer or more intermediate nodes are possible. The edge computing manager can select the UPF and configure traffic routing to the edge nodes.
[0061] The edge computing manager can be located in the data network and can be connected to the mobile network via a reference point (e.g., the N6 reference point); for example, to configure the mobile network, the edge computing manager can be connected to the mobile core network via a service-based architecture interface (e.g., Nnef or Namf).
[0062] Edge nodes can be located close to the base station. In one embodiment, the edge computing manager deploys services on the edge node closest to the mobile device; however, this choice may be made by the session manager.
[0063] Devices and systems are electronic devices and systems.
[0064] Further aspects include methods, including session manager methods, cloud service methods, and mobile device methods. Embodiments of these methods can be implemented on a computer as computer-implemented methods, or in dedicated hardware, or a combination of both. Executable code for embodiments of the methods can be stored on a computer program product. Examples of computer program products include memory devices, optical storage devices, integrated circuits, servers, online software, etc. Preferably, the computer program product includes non-transitory program code stored on a computer-readable medium for executing embodiments of the method when the program product is executed on a computer.
[0065] In embodiments, the computer program includes computer program code adapted to perform all or part of the steps of an embodiment of the method when the computer program is run on a computer. Preferably, the computer program is embodied on a computer-readable medium. Another aspect of the subject matter disclosed herein is a method for making a computer program downloadable. Attached Figure Description
[0066] Further details, aspects, and embodiments will be described by way of example only with reference to the accompanying drawings. Elements in the drawings are shown for simplicity and clarity and are not necessarily drawn to scale. In the drawings, elements corresponding to those already described may have the same reference numerals. In the drawings:
[0067] Figure 1a Examples of embodiments of mobile networks and MEC systems are illustrated schematically.
[0068] Figure 1b An example of an embodiment of an MEC system is illustrated schematically.
[0069] Figure 2a An example of an embodiment of a session manager is illustrated schematically.
[0070] Figure 2b An example of an embodiment of a cloud service system is illustrated schematically.
[0071] Figure 2c An example of an embodiment of a mobile device is illustrated schematically.
[0072] Figure 2d An example of an embodiment of an edge computing system is illustrated schematically.
[0073] Figure 3a An example of an embodiment of an edge computing system is illustrated schematically.
[0074] Figure 3b An example of an embodiment of an edge computing system is illustrated schematically.
[0075] Figure 4 An example of an embodiment of the session management method is illustrated schematically.
[0076] Figure 5 An example of an embodiment of a cloud service method is illustrated schematically.
[0077] Figure 6 An example of an embodiment of the mobile device method is illustrated schematically.
[0078] Figure 7a A computer-readable medium having a writable portion including a computer program, according to an embodiment, is illustrated schematically.
[0079] Figure 7b A representation of a processor system according to an embodiment is shown schematically.
[0080] List of reference numerals and abbreviations
[0081] The following list of reference numerals and abbreviations is provided for the convenience of interpreting the drawings and description and should not be construed as limiting the claims.
[0082] 3GPP Third Generation Partner Program
[0083] 4G and 5G are fourth-generation and fifth-generation mobile networks.
[0084] AF Application Functions
[0085] AMF Access and Mobility Management Functions
[0086] API (Application Programming Interface)
[0087] APP application
[0088] AUSF Authentication Server Functionality
[0089] CN Core Network
[0090] ETSI (European Telecommunications Standards Institute)
[0091] IoT (Internet of Things)
[0092] IP Internet Protocol
[0093] MEC (Multi-access Edge Computing)
[0094] MEP MEC Platform
[0095] MNO mobile network operator
[0096] NEF Network Open Functions
[0097] NFV (Network Functions Virtualization)
[0098] NSSF Network Slice Selection Function
[0099] NRF Network Repository Functionality
[0100] PCF policy control function
[0101] RAN (Radio Access Network)
[0102] Data retained by RD
[0103] SBA Service-Based Architecture
[0104] SCP Service Communication Agent
[0105] SMF Session Management Function
[0106] UDM Unified Data Management
[0107] UE User Equipment
[0108] UPF User Face Functions
[0109] 120 MEC System
[0110] 122, 123 App
[0111] 121 Virtualization Infrastructure
[0112] 124, 125 services
[0113] 126 MEC Platform
[0114] 127 MEC Platform Manager
[0115] 130 MEC orchestrator
[0116] 141 System Level
[0117] 142 Distributed Host Level
[0118] 211 Session Manager
[0119] 212 Cloud Service System
[0120] 213 Mobile Devices
[0121] 231-233 Processor System
[0122] 241-243 Memory
[0123] 251-253 Communication Interface
[0124] 270 Data Network
[0125] R1-R5 interface
[0126] 310 User Equipment
[0127] 312 Application Examples
[0128] 314 Session Handler
[0129] 320 Cloud Services
[0130] 342 Session AF
[0131] 344 MEC Arranger
[0132] 350 Cloud
[0133] 1000 computer-readable media
[0134] 1010 writable portion
[0135] 1020 Computer Program
[0136] 1110 (multiple) integrated circuits
[0137] 1120 Processing Unit
[0138] 1122 Memory
[0139] 1124 Application-Specific Integrated Circuit
[0140] 1126 Communication Components
[0141] 1130 Interconnect
[0142] 1140 Processor System Detailed Implementation
[0143] While the subject matter currently disclosed allows for many different forms of embodiments, one or more specific embodiments are shown in the accompanying drawings and will be described in detail herein. It should be understood that this disclosure should be regarded as an example of the principles of the subject matter currently disclosed and is not intended to limit it to the specific embodiments shown and described.
[0144] In the following description, for ease of understanding, the elements of the embodiments are described in operation. However, it will be apparent that the various elements are arranged to perform the functions described as being performed by them.
[0145] Furthermore, the subject matter disclosed herein is not limited to the embodiments, but also includes all other combinations of features described herein or set forth in mutually different dependent claims.
[0146] The following embodiments are described in the context of telecommunications networks that comply with one or more 5G 3GPP and related standards (e.g., as defined by [1] to [4]). However, the concepts described in the following embodiments can be applied equally to any other type of telecommunications network having a network management system, a slice management system, and a network virtualization system as defined by the wording of the appended claims, with necessary modifications to the details.
[0147] References:
[0148] [1] 3rd Generation Partnership Project (3GPP), Service requirements for next generation new services and markets, TS 22.261, v16.3.0
[0149] [2] 3GPP, Technical Specification, 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Management and orchestration; Concepts, use cases and requirements, TS 28.530, v16
[0150] [3] ETSI GS NFV-MAN 001 V1.1.1 (2014-12), Network Functions Virtualization (NFV); Management and Orchestration; 3GPP TS 23.501 V15.1.0, “3rd Generation Partnership Project”; Technical Specification Group Services and System Aspects; System Architecture of 5G Systems; Phase 2 (Version 15)
[0151] [4] 3GPP, System Architecture for the 5G System (5GS), Phase 2 (Revision 16), September 2019
[0152] Figure 1a An example of an embodiment of mobile network 100 and MEC system 120 is illustrated schematically. Figure 1b An example embodiment of the MEC system 120 is illustrated schematically. For example, Figure 1b The MEC system can be used to implement the MEC system shown in Figure 100.
[0153] Figure 1a A possible implementation of a mobile network is shown, in this case, a 5G system architecture. Figure 1a and Figure 1b This demonstrates how the 3GPP 5G service-based architecture and the ETSI MEC architecture can be integrated.
[0154] Conceptually, the MEC system 120 can be divided into a system-level 141 and a distributed host-level 142. At the system-level, there can be an MEC orchestrator 130. At the distributed host-level, various functions can be implemented. For example, a virtualization infrastructure 121 can exist, which can support one or more applications; applications 122 and 124 are shown. For example, an MEC platform 126 and / or an MEC platform manager 127 can be used. At the distributed host-level, there can be one or more services; services 124 and 125 are shown. For example, the MEC platform 126 and the MEC platform manager 127 can be used by the MEC orchestrator 130 to launch edge resources.
[0155] In this embodiment, a third-party cloud service can launch services for one or more specific users of the cloud service on a multi-access edge cloud. This functionality can be used in 5G mobile networks or other types of mobile networks. Interfaces on the mobile network allow the cloud service to launch service deployments on the multi-access edge cloud and redirect UEs to edge nodes in the network. Dynamically allocating edge computing resources offers advantages. For example, bandwidth can be increased or latency reduced as needed, thereby improving service levels with fewer resources. For example, mobile devices can gain access to computing or storage resources as needed, such as for computationally intensive tasks, such as processing data (e.g., sensor data), using or training neural networks, storing data (e.g., sensor data or content data, etc.).
[0156] Edge computing can be a cloud-based networking architecture where computing and data storage resources are brought to the edge of the network, closer to end users. Multi-access edge computing (MEC) is defined by the European Telecommunications Standards Institute (ETSI) industry specification group. Implementations may conform to this standard, or may partially conform to it. By running cloud applications closer to end users, network congestion can be avoided or the performance of cloud applications can be improved. MEC resources can be obtained with high bandwidth, low latency, and high availability. MEC can be used for demanding networking applications, such as in mobile networks.
[0157] In a MEC architecture, applications typically run in virtual machines (VMs) on a virtualized infrastructure. The management of the infrastructure and the applications running on it can be coordinated by an MEC orchestrator. Figure 1b As shown, the MEC architecture can be integrated into the 3GPP 5G Service-Based Architecture (SBA) at two points. The MEC orchestrator can act as an application function (AF) and can interact directly with other 5G network functions (NFs) when the MEC orchestrator is trusted (e.g., because it is operated by a mobile network operator (MNO)), or via network open functions (NEFs).
[0158] Examples of relevant NFs are the Access and Mobility Management Function (AMF), which handles application mobility, and the Session Management Function (SMF), which handles session management, IP address management, and control over User Plane Functions (UPFs). The UPF is the interconnection point between the mobile network infrastructure and the data network (DN). The data network can be a local area network (LAN) or a wide area network (WAN). Typically, the data network is the Internet. The UDF can act as an anchor point for Protocol Data Unit (PDU) sessions. Figure 1a This illustrates the possible relationships between components and NFs in a 5G SBA.
[0159] MEC infrastructure (e.g., edge nodes) can reside within the data network and connect to the 5G mobile network via an N6 reference point. In a typical MEC deployment, the MEC infrastructure (e.g., edge nodes) is located close to a base station (e.g., a 5G base station, such as a gNB). The UE (e.g., a mobile device) can connect to a UPF located adjacent to the MEC infrastructure via the RAN. The MEC orchestrator (e.g., as an AF) controls UPF (re)selection and traffic routing, thereby connecting the UE to the MEC infrastructure located near the UE. Traditionally, a UE can only utilize edge computing services if the application runs in a VM on the MEC infrastructure and the UPF is configured accordingly. Because a PDU session in the 5G core network may have multiple N6 interfaces facing the data network, only specific traffic related to the selected application can be redirected to the MEC infrastructure.
[0160] For example, MEC use cases can be internet-based and can include, for instance, video analytics, virtual / augmented reality, the Internet of Things (IoT), optimized local content distribution, and local data caching. Such applications can, for example, offer improvements in increased bandwidth, reduced latency, and greater availability.
[0161] By using edge computing, UEs can gain expanded computing power while saving internet bandwidth, because traffic between the UE and MEC remains local.
[0162] In this embodiment, the cloud service system can dynamically activate edge computing resources on edge nodes as needed. Many stakeholders benefit from this dynamic allocation. For example, mobile network operators (MNOs), cloud services (CSs), and end users benefit from traffic localization and computation, such as in MECs. Activating edge computing resources (e.g., when a need is detected) can be used to avoid the need for the MEC system to host all available services, pre-select UPFs, and configure all traffic routes applied to the MEC.
[0163] For some use cases, such as real-time "prosumer" streaming, edge computing resources may only be beneficial when the number of users at a particular location for the application grows. This demand can be detected, for example, when the number of users from that location grows beyond a threshold, or when the bandwidth consumed locally at a location exceeds a threshold. Therefore, edge computing resources can then be activated. For example, both demand detection and the activation of edge node resources can be performed by the cloud service, although this is not mandatory. Therefore, pre-configuring MEC by the cloud service can be avoided. In practice, pre-configuration of MEC is typically only done for large cloud services. However, through dynamic allocation, edge node resources can also be used for smaller cloud services. In this embodiment, the cloud service is configured to dynamically instantiate resources for selected UEs on the MEC infrastructure.
[0164] For example, bandwidth savings can be achieved by distributing content via MEC (e.g., via an edge node) to other UEs served by the same edge node. This can be used, for example, in so-called prosumer applications. In prosumer applications, multiple users in the same location (e.g., users served by the same edge node) generate content for local consumption. For example, prosumer applications can be used during congested events, allowing users to watch live streams created by other participants in the same event.
[0165] The difficulty in dynamically allocating edge node resources (especially via cloud services) lies in the fact that CS providers are often unaware of MEC infrastructure instances, such as network layout and 5G core intranetting. For example, the CS cannot identify the PDU sessions of UEs running cloud applications that interact with the CS. On the other hand, the MEC orchestrator or other AF / NFs in the 5G core cannot identify application instances that interact with the CS. According to an embodiment, an identity exchange is created between the network and the CS.
[0166] For example, in one embodiment, the MEC orchestrator can be configured to interface with both cloud application instances on the UE and the CS. The MEC orchestrator can act as a bridge identifying the UE selected for edge computing. The cloud application instance can, for example, establish a session with the MEC orchestrator via a function on the UE and obtain an identifier linked to that session. This identifier can be passed to the CS, allowing the cloud service to instantiate edge computing for the UE by referencing the UE using the passed identifier. An MEC orchestrator located in a data network and capable of interfaced with a mobile network is naturally well-suited for this task. However, this is not necessary; for example, a session manager can be configured to assign session identifiers. The session manager can then interface with the MEC orchestrator as needed. The advantage of using a separate session manager is that fewer changes are required in the MEC orchestrator, making it easier to introduce this functionality into the network, especially in existing networks. On the other hand, integrating the session handler with the MEC orchestrator reduces complexity.
[0167] Figure 2a An example of an embodiment of the session manager 211 is illustrated schematically. Figure 2b An example of an embodiment of cloud service system 212 is illustrated schematically. Figure 2c An example embodiment of mobile device 213 is illustrated schematically. For example, cloud service system 212 may be a cloud service, such as 'CS'. For example, mobile device may be or include user equipment, such as 'UE'. For example, session manager may be or include session AF or MEC orchestrator.
[0168] For example, session manager 211 can be configured to generate a session identifier for mobile device 213 and associate the session identifier with the mobile device. The session identifier can be transmitted between mobile device 213 and cloud service system 212, for example. For example, cloud service system 213 can be configured to send a request to session manager to deploy edge computing resources for the mobile device on an edge node, wherein the request identifies the mobile device with the session identifier. Session manager 211 can be configured to initiate edge computing resources for the mobile device on an edge node (e.g., an edge node selected based on the location of the mobile device).
[0169] The session manager 211, cloud service system 212, and mobile device 213 may include processor systems, such as processor systems 231, 232, and 233, respectively.
[0170] The session manager 211, cloud service system 212, and mobile device 213 may include storage, for example, storage 241, 242, and 243 respectively.
[0171] The session manager 211, cloud service system 212, and mobile device 213 may include communication interfaces, such as communication interfaces 251, 252, and 253, respectively.
[0172] Session manager 211, cloud service system 212, and mobile device 213 can be configured to communicate with a data storage device, which can be a local storage device or a cloud storage device. The storage device can be implemented as electronic storage (such as flash memory) or magnetic storage (such as a hard disk). The storage device may include multiple discrete memories that together constitute the storage device. The storage device may include temporary storage, such as RAM. The storage may be cloud storage.
[0173] Figure 2d An example embodiment of an edge computing system is illustrated schematically. Session manager 211, cloud service system 212, and mobile device 213 can communicate with each other and with external storage devices, input devices, output devices, etc., via computer network 270. This computer network can be the Internet, intranet, LAN, WLAN, etc. These systems include connectivity interfaces configured to communicate as needed, either within or outside the system.
[0174] Communication interfaces can vary depending on requirements and may include one or more communication modes. For example, a mobile device may include a wireless connector, such as an antenna, for example, a Wi-Fi, 4G, or 5G antenna. For example, a mobile network may connect to a data network via an interface. For example, a mobile device may establish a RAN connection to a UDF and from there connect to a data network (e.g., the Internet). For example, a cloud service may include a wired or wireless interface to a data network, such as an Ethernet connection. For example, a session manager may include an interface to a data network, but may also include an interface to a mobile network.
[0175] Apart from Figure 2dThe connections shown (e.g., the connection between session manager 211, cloud service system 212, and mobile device 213 via data network 270) may also include connections to the mobile network. The latter may not be via the data network, or may not be entirely via the data network. For example, mobile device 213 may be configured to connect to the mobile network; in fact, its connection to the data network may be via the mobile network. For example, session manager 211 may connect to the data network, for example, to obtain location information of the mobile device.
[0176] The execution of the session manager 211, cloud service system 212, and mobile device 213 can be implemented in a processor system, such as one or more processor circuits, for example, a microprocessor, examples of which are shown herein. For example, the functionality can be implemented as a functional unit, which can be a functional unit of the processor system. For example, the functional unit can be implemented wholly or partially as computer instructions stored in the electronic memory of the devices or systems 211, 212, and 213, and can be executed by their microprocessors. In hybrid embodiments, the functional unit is implemented partly in hardware, for example as a coprocessor, such as a cryptographic coprocessor, and partly in software stored and executed on the device or system.
[0177] Session manager 211, cloud service system 212, and mobile device 213 can each be implemented as a single device. However, this is not necessary; in particular, session manager 211 and cloud service system 212 can be implemented as systems, such as distributed systems. All or part of these can be implemented in virtual machines. Specifically, the session manager can be implemented in this manner.
[0178] Typically, systems and / or devices include a microprocessor that executes appropriate software stored at the system; for example, this software may have been downloaded and / or stored in a corresponding memory, such as volatile memory (e.g., RAM) or non-volatile memory (e.g., flash memory). Alternatively, the system may be implemented wholly or partially as programmable logic, for example, as a field-programmable gate array (FPGA). These systems may also be implemented wholly or partially as so-called application-specific integrated circuits (ASICs), for example, integrated circuits (ICs) customized for their specific purpose. For example, the circuitry may be implemented in CMOS, for example, using hardware description languages such as Verilog, VHDL, etc.
[0179] Processor circuitry can be implemented in a distributed manner, for example, as multiple sub-processor circuits. Storage devices can be distributed across multiple distributed sub-storage devices. Part or all of the memory can be electronic memory, magnetic memory, etc. For example, a storage device can have volatile and non-volatile components. A portion of the storage device can be read-only.
[0180] Figure 4 An example of an embodiment of session management method 400 is illustrated schematically. Method 400 is configured to manage edge computing resources in a mobile network. The mobile network includes edge nodes that are configured to provide edge computing resources to mobile devices. Session management method 400 may include:
[0181] -Establish (410) connections with mobile devices and cloud service systems,
[0182] - Receive (420) a device identifier that identifies the mobile device on the mobile network from the mobile device.
[0183] - Use the device identifier to obtain the location of the (430) mobile device in the mobile network.
[0184] - Generate a (440) session identifier for the mobile device and associate the session identifier with the mobile device.
[0185] - Send a (450) session identifier to a mobile device configured to forward the session identifier to the cloud service system.
[0186] - Receive (460) a request from the cloud service system to deploy edge computing resources for mobile devices on an edge node, wherein the request identifies the mobile device with a session identifier.
[0187] - Select (470) edge nodes for mobile devices based on their location.
[0188] - Launch (480) edge computing resources for mobile devices on this edge node.
[0189] Figure 5 Example 500 of an embodiment of a cloud service method is illustrated schematically. Method 500 may include...
[0190] - Establish (510) a connection with the mobile device and session manager, and
[0191] - Connect (520) to mobile devices to provide cloud services,
[0192] - Receive a session identifier (530) from the mobile device, which is associated with the mobile device via a session manager.
[0193] - Determine (540) the edge computing resource requirements of mobile devices.
[0194] - Send a request (550) to the session manager to deploy edge computing resources for mobile devices on the edge node, wherein the request identifies the mobile device with a session identifier.
[0195] Figure 6 An example of an embodiment of mobile device method 600 is illustrated schematically. Method 600 may include...
[0196] - Establish (610) connections with the cloud service system and session manager, and
[0197] - Connect (620) to the cloud service system to obtain cloud services.
[0198] - Send (630) a device identifier that identifies the mobile device on the mobile network to the session manager.
[0199] - Receive the (640) session identifier from the session manager.
[0200] - Send a (650) session identifier to the cloud service system.
[0201] It will be apparent to those skilled in the art that many different ways are possible to perform these methods. For example, the steps may be performed in the order shown, but the order of the steps may vary or some steps may be performed in parallel. Furthermore, other method steps may be inserted between the steps. The inserted steps may represent, for example, a refinement of the methods described herein, or may be unrelated to the method. For example, some steps may be performed at least partially in parallel. Moreover, a given step may not be fully completed before the next step begins.
[0202] Embodiments of these methods can be executed using software that includes instructions for causing a processor system to perform methods 400, 500, and / or 600. The software may only include those steps taken by a specific sub-entity of the system. The software can be stored on a suitable storage medium, such as a hard disk, floppy disk, memory, optical disk, etc. The software can be transmitted as a signal over a wire, wirelessly, or using a data network (e.g., the Internet). The software can be made available for download and / or remote use on a server. Embodiments of the method can also be executed using a bitstream configured to configure programmable logic (e.g., a field-programmable gate array (FPGA)) to perform the method.
[0203] In the following description, further embodiments are presented within the context of telecommunications networks that comply with one or more 5G 3GPP and related standards. For example, the following embodiments may be applicable to... Figure 1a and / or Figure 1b These embodiments are implemented in the mobile network and / or data network shown. These embodiments can be used... Figure 1a To implement the device and / or system shown in Figure 1c.
[0204] Figure 3a An example of an embodiment of an edge computing system is illustrated schematically. Figure 3aUser equipment 310 is shown, such as a mobile device. The user equipment can be a mobile phone, a vehicle, an IoT device, etc. On user equipment 310, there may be application instances 312 (e.g., cloud applications) and session handlers 314. Figure 3a Cloud service 320 is also shown. For example, cloud service 320 can interact with application instance 312 to deliver cloud services to mobile device 310. Figure 3a The Session AF 342 and MEC Orchestrator 344 are shown. The Session AF can be a Session Manager, for example, implemented as an AF.
[0205] Figure 3a The diagram also illustrates possible interfaces R1 through R5 between different components. Interfaces R2, R3, and R5 can be implemented as computer network interfaces, such as connections like the Internet. Interface R1 can be an internal API. Interface R4 can be either an internal API or a computer network connection. In addition to the interfaces shown, there may be additional interfaces, such as interfaces between components and the core mobile network.
[0206] In one embodiment, the interface to the UE and CS can be implemented as an extension of the MEC orchestrator. The MEC orchestrator can act as an AF in the 5G core network, thus interacting with the AMF and SMF to obtain information about the PDU session for the selected UE, thereby influencing the UPF used for the selected PDU session. Therefore, the MEC orchestrator can be a session AF that maintains sessions between application instances on the UE, the CS, and other functions within the MEC orchestrator. In another embodiment, the interface is an additional session AF, where the session AF triggers the instantiation of MEC resources and UPF (re)selection and traffic routing via the MEC orchestrator. This separate session AF is preferably located near the MEC orchestrator.
[0207] Figure 3a The diagram illustrates reference points between the application instance and the UE (R1), the UE and the session AF (R2), the CS and the session AF (R3), the session AF and a function in the MEC orchestrator (R4), and the application instance and the CS (R5). In addition to these reference points, the session AF can interact with functions in the mobile network (e.g., the 5G core network) via the 5G SBA's Nnef or Namf / Nsmf reference points. This means the session AF can have interfaces to both the internal 5G core network and the public internet.
[0208] In this embodiment, the application instance and the session handler are two separate components on the UE. The application instance can be specific software, and the session handler can be a general function that can be used by multiple application instances. For example, the session handler can be implemented as a function of the UE's operating system (OS), and R1 is an API exposed by the OS. In another embodiment, the session handler is part of the application instance; for example, the application instance can implement the session handler. In this case, R1 is an internal API within the application instance.
[0209] The following illustrates an exemplary possible interaction between components. In this process, the CS and Session AF obtain a common identifier for the UE, allowing the MEC orchestrator to be instructed to initiate computation and / or configure UPF (re)selection and traffic routing on the MEC infrastructure. Many elements are optional or can be implemented alternatively, as also shown herein. The process is detailed below:
[0210] 1. Application instances running on the UE connect to the CS via R5. The implementation of this interface is under the control of the CS provider. The CS provider can be the same entity as the MNO, but is usually a different entity. The CS can be located within the MNO network or can be accessed via the public Internet, etc.
[0211] 2. Application example: The UE requests the session handler on R1 to establish a session with the session AF.
[0212] 3. The session handler establishes a session with session AF via R2.
[0213] 4. The Session AF obtains information to identify the UE, such as the PDU session, and determines the UE's location in the network, such as the tracking area, by obtaining information from the AMF. The Session AF then generates an identifier for the application instance and maps that identifier to the UE and the location.
[0214] 5. The session AF notifies the session identifier to the session handler on the UE via R2.
[0215] 6. Application instances on the UE obtain session identifiers from the session handler.
[0216] 7. The application instance transmits the session identifier to the CS via R5.
[0217] 8. The CS determines that the application instance requires resources on the MEC instance. In response, the CS requests the deployment of edge computing resources near the affected UE. The CS makes this request to the session AF via R3.
[0218] 9. Session AF can verify requests from CS, for example, to prevent fraud, and when approved, Session AF interacts with MEC orchestrator to initiate edge computing for the specified UE.
[0219] 10. The MEC orchestrator checks whether it is necessary to deploy a new VM, as a VM may already be running, and the UE may also be able to use that VM. If necessary, the MEC orchestrator instantiates the new VM on a nearby MEC instance. The MEC orchestrator interacts with the 5G core network to (re)select the UPF and configure traffic routing to the MEC.
[0220] 11. After instantiation, the session AF provides the CS with the location of the resource that was just instantiated on the MEC instance via R3, such as a URL.
[0221] 12. Depending on the application and the connection to the CS, the CS can notify the application instance of the location of MEC resources via R5.
[0222] 13. Application instances connect to MEC resources.
[0223] The exchange of UE identifiers allows the CS and session AF to address the UE using the identifier. In steps 2 through 5, the application instance obtains the identifier from the session AF. The application instance invokes the API on the session handler, which creates a new session at the session AF using the API exposed by the session AF. In this embodiment, the API is an HTTP RESTful API. In this case, the session can be established by sending an HTTP POST request to the session AF. Upon receiving the request, the session AF obtains the UE information and generates the identifier (step 4). The response to the HTTP POST then includes the session identifier (step 5). For example, the response can be formatted using common JSON or XML formats.
[0224] When an application instance becomes inactive, the session handler terminates the session, for example, using an HTTP delete request to the session AF. In response to this HTTP delete request, the session AF can instruct the MEC orchestrator to remove traffic routes to the MEC server. Alternatively, the MEC orchestrator can terminate MEC resources based on other usage patterns (e.g., VM instances). In one embodiment, the MEC resource is exclusively used by a single UE. The MEC orchestrator can also terminate the resource when the session is terminated. In another embodiment, the MEC resource is used by multiple UEs. In this case, the MEC orchestrator terminates the MEC resource only when it is no longer used by any UE or when the CS provides an instruction to terminate the MEC resource.
[0225] In addition to the APIs exposed on the mobile network, the Session AF can also expose APIs to the CS over the Internet. In one embodiment, the API may be an HTTP RESTful API. The CS can request edge resources by providing one or more identifiers of the UE selected for edge computing via an HTTP POST request to the Session AF. In one embodiment, the Session AF and CS may have pre-determined which instance to launch on the MEC, for example, the image of the VM to launch. In this case, simply sending the identifier is sufficient for the Session AF to instruct the MEC orchestrator. In another embodiment, the CS can dynamically provide resources. In this case, in addition to the list of identifiers, the CS can provide the Session AF with a reference to the resource to be instantiated. This reference could be the name of an image to be downloaded from a common repository (e.g., Docker Hub in the case of a Docker container), or a URL where the image can be downloaded, etc.
[0226] Depending on the time required to instantiate the MEC resource, the resource's location, such as a URL or IP address, can be provided in the response to the HTTP POST request. When instantiation takes longer, such as minutes instead of seconds, the response to the HTTP POST request can include the URL of the HTTP REST resource, which the CS can use to check the availability and location of the MEC resource. The URL of the HTTP REST resource can be provided using the "Location" header field or as part of the response body.
[0227] The process by which the CS (Service Controller) determines whether an application on the UE (User Equipment) benefits from edge computing depends on the type of application and the services provided by the CS on the edge node. In one embodiment, the application relies on significant computing resources that may not be available on the UE, such as complex video analytics. For such applications, the benefits of edge computing are immediately apparent. In this embodiment, the CS can request resources directly from the Session AF (Active AF) after the application provides a session identifier to the CS.
[0228] In another embodiment, applications can use MEC for local content distribution, such as "prosumer" applications where users can simultaneously upload and download live streams from local events. When the number of users is small and the connection to the CS is sufficient, there is no need to use MEC and services can be provided directly via the CS. However, as the number of users increases, thus increasing the probability that users will consume content created by other users, using MEC for local distribution can reduce network congestion and improve distribution performance. In this embodiment, the CS can detect demand spikes originating from a location. In this embodiment, the CS can use knowledge of its infrastructure, such as the location of the server instance on the CS from which the UE arrives. In another embodiment, the CS can use knowledge about the network, such as the source IP address of the UE arriving at the CS. In yet another embodiment, the CS can use information specifically provided by the application on the UE. For example, the application can provide the CS with location information obtained from the CS. Alternatively, the application can transmit 5G network-level parameters (such as tracking area or cell identifier) to the CS. Combinations of these methods are also possible.
[0229] Following the process defined above, the CS determines whether edge computing resources in the MEC instance are needed. In this embodiment, the CS can use knowledge about the application and the device on which it is running to make this decision. For example, when a user launches a graphics application that requires significant computation on the device's GPU but the device lacks this capability, the CS may decide to instantiate edge resources.
[0230] When applications have high bandwidth requirements, the CS can decide to migrate to MEC if it notices content delivery problems (e.g., increased packet loss and / or lower than required throughput). Performance issues may be caused by network congestion between the UE and the CS, or by the availability of computing resources at the CS. Then, depending on the source and destination of the traffic flow, the CS can select the UE for edge computing to alleviate performance problems.
[0231] Even if the CS may have information on how to improve services through edge computing, the network provider can also help the CS monitor network congestion issues. In this embodiment, the CS subscribes to notifications from the Session AF. The CS can provide network-level information, such as a list of IP addresses and port numbers used by the CS. When network congestion is detected, the Session AF can notify the CS that caused the congestion. After the notification, the CS can select one or more UEs as suitable candidates for edge computing and instantiate the edge computing according to steps 8 to 13 of the process described above.
[0232] In this embodiment, there is no relationship between UEs. UEs can use MEC resources for purposes such as cloud rendering of games or processing sensor data from connected vehicles before uploading metadata to the cloud. In this embodiment, the MEC orchestrator deploys services on MEC instances located close to the UEs. By using nearby (e.g., edge nodes) MEC instances, latency and network congestion can be minimized. In another embodiment, the MEC orchestrator can use information about the load on the MEC infrastructure and can decide to use different MEC instances to achieve load balancing.
[0233] In another embodiment, there are relationships between UEs. This can occur when edge computing is used for local content distribution. For example, distribution can be localized when a real-time video stream generated by one UE is consumed by another UE connected to the same base station or by a UE that will be served by the same MEC.
[0234] Figure 3b An example of an embodiment of a hierarchical edge computing system is illustrated schematically. Figure 3b The diagram illustrates a tiered deployment of MEC instances and four UEs connected in different locations. For example, when UE 1 is associated with UE 2, such as UE 1 streaming video to UE 2 in real time, MEC 1 would be the optimal MEC instance. However, when UE 1 is associated with UE 3, the more upstream instance MEC2 would be preferred. When UE 1 is associated with UE 4, where UE 4 is connected externally via the internet, using edge computing for localized content distribution is not beneficial, and distribution can be done via Cloud350.
[0235] To define relationships between UEs, the CS can provide the session AF with the relationships between UEs in addition to the identifiers of the UEs selected for edge computing. In one embodiment, the CS lists the UEs that would ideally connect to the same MEC instance. In another embodiment, the CS uses a graph-based definition. For example, when the API between the session AF and the CS uses JSON to format the body content, the relationships between UEs can be expressed using the JSON Graph Format (JGF).
[0236] Typically, the CS is unaware of the underlying network infrastructure and MEC instance deployment; therefore, in this embodiment, the UE relationship is a suggestion. The mapping between the UE and the infrastructure is created by the session AF and / or MEC orchestrator.
[0237] Depending on the application, application instances on the UE can connect to CS and MEC resources in different ways. In one embodiment, the UE uses connectionless communication, for example, by using UDP for transactions, or it can use short-lived connections, for example, by creating a new TCP connection for each transaction. In this case, traffic can be redirected to the MEC by rerouting packets to the MEC or by updating the MEC's DNS entries. This approach does not require active involvement of the application instance.
[0238] In another embodiment, the application instance maintains a long-term connection with the CS, such as a long-term TCP connection. When the UE is selected for edge computing, the connection with the CS can be terminated and a connection to the MEC can be re-established. In this case, the CS can notify the application instance on the selected UE that it must re-establish its connection. When giving the notification, the CS can provide the application with the location of the MEC resources, such as a URL or IP address.
[0239] Interestingly, in this embodiment, the request for additional edge node resources is initiated by a cloud service that may not know the location or connection of the client (e.g., a mobile device).
[0240] It should be understood that the subject matter currently disclosed also extends to computer programs, particularly computer programs on or within a carrier, suitable for putting the subject matter currently disclosed into practice. The program may be in the form of source code, object code, intermediate source code, and object code, such as in a partially compiled form, or any other form suitable for implementing embodiments of the method. Embodiments relating to computer program products include computer-executable instructions corresponding to each processing step of at least one of the methods described. These instructions may be subdivided into subroutines and / or stored in one or more files that may be statically or dynamically linked. Another embodiment relating to computer program products includes computer-executable instructions corresponding to each device, unit, and / or portion of at least one of the systems and / or products described.
[0241] Figure 7aA computer-readable medium 1000 according to an embodiment is illustrated, having a writable portion 1010 including a computer program 1020, which includes instructions for causing a processor system to perform a session management method, a cloud service method, and / or a mobile device method. The computer program 1020 may be embodied on the computer-readable medium 1000 as a physical mark or by magnetization of the computer-readable medium 1000. However, any other suitable embodiments are contemplated. Furthermore, it should be understood that although the computer-readable medium 1000 is shown herein as an optical disc, the computer-readable medium 1000 may be any suitable computer-readable medium, such as a hard disk, solid-state storage, flash memory, etc., and may be non-recordable or recordable. The computer program 1020 includes instructions for causing a processor system to perform the session management method, cloud service method, and / or mobile device method.
[0242] Figure 7b A schematic representation of a processor system 1140 according to embodiments of a session manager, cloud service system, and / or mobile device is shown. The processor system includes one or more integrated circuits 1110. Figure 7b The architecture of one or more integrated circuits 1110 is schematically illustrated. Circuit 1110 includes a processing unit 1120, such as a CPU, for running computer program components to perform methods according to embodiments and / or implement modules or units thereunder. Circuit 1110 includes a memory 1122 for storing program code, data, etc. A portion of the memory 1122 may be read-only. Circuit 1110 may include communication elements 1126 (e.g., an antenna, a connector, or both). Circuit 1110 may include an application-specific integrated circuit 1124 for performing some or all of the processing defined in the method. Processor 1120, memory 1122, application-specific IC 1124, and communication elements 1126 may be interconnected via interconnects 1130 (e.g., a bus). Processor system 1110 may be arranged for contact and / or contactless communication using antennas and / or connectors, respectively.
[0243] For example, in one embodiment, the processor system 1140 (e.g., a session manager, cloud service system, and / or mobile device) may include processor circuitry and memory circuitry, the processor being configured to execute software stored in the memory circuitry. For example, the processor circuitry may be an Intel Core i7 processor, an ARM Cortex-R8, etc. In another embodiment, the processor circuitry may be an ARM Cortex M0. The memory circuitry may be ROM circuitry or non-volatile memory (e.g., flash memory). The memory circuitry may be volatile memory, such as SRAM memory. In the latter case, the device may include a non-volatile software interface configured to provide the software, such as a hard disk drive, a network interface, etc.
[0244] It should be noted that the above embodiments are illustrative and not limiting of the subject matter currently disclosed, and those skilled in the art will be able to devise many alternative embodiments.
[0245] In the claims, any reference numerals placed between parentheses should not be construed as limiting the claims. The use of the verb "comprise" and its variations does not exclude the presence of elements or steps other than those described in the claims. The article "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. Expressions such as "at least one" preceding a list of elements indicate the selection of all elements or any subset of elements from the list. For example, the expression "at least one of A, B, and C" should be understood to include only A, only B, only C, both A and B, both A and C, both B and C, or all A, B, and C. The subject matter currently disclosed can be implemented by hardware comprising several different elements and by a suitably programmed computer. In a device claim enumerating several components, several of these components can be embodied by the same hardware. The fact that certain measures are stated in mutually different dependent claims does not imply that combinations of these measures cannot be advantageously used.
[0246] In the claims, the reference numerals enclosed in parentheses refer to reference numerals in the figures of the exemplary embodiments or formulas of the embodiments, thereby increasing the comprehensibility of the claims. These reference numerals should not be construed as limiting the claims.
Claims
1. A session manager configured to manage edge computing resources in a mobile network, wherein, The mobile network includes edge nodes configurable to provide edge computing resources to mobile devices, wherein the session manager includes: - A data network interface configured to establish connections with mobile devices and cloud service systems, and - Processor system, which is configured as - Receive the device identifier that identifies the mobile device on the mobile network from the mobile device. - Use the device identifier to obtain the location of the mobile device within the mobile network. - Generate a session identifier for the mobile device and associate the session identifier with the mobile device. - Send the session identifier to the mobile device, which is configured to forward the session identifier to the cloud service system. - Receive a request from the cloud service system to deploy edge computing resources for the mobile device on an edge node, wherein the request identifies the mobile device using the session identifier. - Select an edge node for the mobile device based on its location. - Launch the edge computing resources on the edge node for the mobile device. Send the data network address of the edge computing resources launched on that edge node to the cloud service system, and / or A reconfiguration message is sent to the routing interface from the mobile network to the data network, which is associated with the mobile device and / or the edge node to route traffic to the initiated edge computing resource.
2. The session manager as described in claim 1 above, wherein, The session manager's processor system is configured as follows: - Collect mobile network level information from the mobile network for use in the cloud service system to indicate network congestion to the cloud service system.
3. The session manager as described in any of the preceding claims, comprising: - A mobile network interface configured to establish a connection with the mobile network, wherein... The processor system is configured to obtain the location of the mobile device via a mobile network interface to the mobile network.
4. An edge computing manager, the edge computing manager comprising a session manager as described in any one of the preceding claims, the edge computing manager being configured to... - Launch a virtual machine on the edge node that supports the edge computing resources on the edge node for the mobile device. - Configure traffic routing from the mobile device to the edge node.
5. A cloud service system, comprising - A data network interface configured to establish connections with mobile devices and a session manager, and - Processor system, which is configured as - Connect to the mobile device to provide cloud services. - Receive a session identifier from the mobile device, which is associated with the mobile device through the session manager. - Determine the edge computing resource requirements of this mobile device. - Send a request to the session manager to deploy the edge computing resources for the mobile device on the edge node, wherein, The request identifies the mobile device using the session identifier. The session manager receives the data network address of the initiated edge computing resource, and Send the address to the mobile device.
6. The cloud service system as described in claim 5, wherein, The processor system of this cloud service system is configured as follows: - Send a request to the session manager for information indicating mobile network congestion, including data network information identifying one or more network flows destined for the cloud service system's servers. - When network congestion is detected on the server, receive a network congestion report from the session manager. - Select one or more mobile devices to connect to the server and send a request to deploy the edge computing resources for the one or more mobile devices.
7. The cloud service system as described in claim 6, wherein, The request includes multiple session identifiers that identify multiple mobile devices, and determining the demand includes detecting demand spikes originating from locations associated with the multiple mobile devices in the mobile network, wherein determining the demand spikes includes: - Determine the peak demand originating from specific server instances connected to the multiple mobile devices within the cloud service system, and / or - Determine the common location of the multiple mobile devices based on the data network addresses used by the multiple mobile devices, and / or - Receive geographic information from the mobile devices and determine the peak demand originating from the plurality of mobile devices with matching geographic information. - Receive location information of the mobile devices in the mobile network and determine the demand peaks originating from the plurality of mobile devices with matching location information.
8. A mobile device, comprising - A data network interface configured to establish connections with the cloud service system and session manager, and - Processor system, which is configured as - Connect to the cloud service system to obtain cloud services. - Send the device identifier, which identifies the mobile device on the mobile network, to the session manager. - Receive the session identifier from the session manager. - Send the session identifier to the cloud service system, and Receive the data network address of the edge computing resources initiated from the cloud service system.
9. The mobile device as claimed in claim 8, wherein, This processor system is configured for use in cloud applications and operating systems. - The operating system is configured as - Send the device identifier, which identifies the mobile device on the mobile network, to the session manager. - Receive the session identifier from the session manager, and - The cloud application is configured as - Obtain the session identifier from the operating system and send the session identifier to the cloud service system.
10. A session management method for managing edge computing resources in a mobile network, wherein, The mobile network includes edge nodes configurable to provide edge computing resources to mobile devices, wherein the session management method includes: - Establish connections with mobile devices and cloud service systems for the session manager's data network interface. - Receive the device identifier that identifies the mobile device on the mobile network from the mobile device. - Use the device identifier to obtain the location of the mobile device within the mobile network. - Generate a session identifier for the mobile device and associate the session identifier with the mobile device. - Send the session identifier to the mobile device, which is configured to forward the session identifier to the cloud service system. - Receive a request from the cloud service system to deploy edge computing resources for the mobile device on an edge node, wherein the request identifies the mobile device using the session identifier. - Select an edge node for the mobile device based on its location. - Launch the edge computing resources on the edge node for the mobile device. Send the data network address of the edge computing resources launched on that edge node to the cloud service system, and / or A reconfiguration message is sent to the routing interface from the mobile network to the data network, which is associated with the mobile device and / or the edge node to route traffic to the initiated edge computing resource.
11. A cloud service method, comprising: - For cloud service systems, establish connections with mobile devices and session managers, and - Connect to the mobile device to provide cloud services. - Receive a session identifier from the mobile device, which is associated with the mobile device through the session manager. - Determine the edge computing resource requirements of this mobile device. - Send a request to the session manager to deploy the edge computing resources for the mobile device on the edge node, wherein, The request identifies the mobile device using the session identifier. The session manager receives the data network address of the initiated edge computing resource, and Send the address to the mobile device.
12. A method for a mobile device, comprising: - For mobile devices, establish connections with cloud service systems and session managers, and - Connect to the cloud service system to obtain cloud services. - Send the device identifier, which identifies the mobile device on the mobile network, to the session manager. - Receive the session identifier from the session manager. - Send the session identifier to the cloud service system, and Receive the data network address of the edge computing resources initiated from the cloud service system.
13. A transient or non-transitory computer-readable medium comprising data representing instructions that, when executed by a processor system, cause the processor system to perform the method according to any one of claims 10 to 12.
Citation Information
Patent Citations
Traffic path change detection mechanism of mobile edge calculation
CN108574728A