Traffic routing to data networks

EP4758929A1Pending Publication Date: 2026-06-17TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Filing Date
2023-10-11
Publication Date
2026-06-17

AI Technical Summary

Technical Problem

Current wireless SD-WAN routers lack the capability to route traffic to Edge Application Servers (EASs) deployed in edge clouds through corresponding Edge Data Networks based on enterprise policies.

Method used

The implementation of a method and apparatus that enables wireless SD-WAN routers to route traffic to EASs in edge clouds by using the Edge Enabler Layer provided by Communication Service Providers (CSPs), allowing for intelligent determination of Edge Data Networks and Protocol Data Unit (PDU) sessions based on enterprise policies.

Benefits of technology

This solution enables 5G SD-WAN routers to route traffic to edges according to enterprise policies, ensuring transparent operation without requiring additional edge computing support, thereby enhancing traffic management and application performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023123987_17042025_PF_FP_ABST
    Figure CN2023123987_17042025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure is related to methods and network nodes for routing traffic to data networks. A method at a first network node for routing traffic to data networks comprises: receiving, from a device, application data destined to an address of an application server associated with a data network; determining a PDU session based on at least the application data and / or the address of the application server; and routing the application data to the application server by using the determined PDU session.
Need to check novelty before this filing date? Find Prior Art

Description

TRAFFIC ROUTING TO DATA NETWORKSTechnical Field

[0001] The present disclosure is related to the field of telecommunication, and in particular, to methods and network nodes for routing traffic to data networks.Background

[0002] The traditional Wide Area Network (WAN) architecture was limited to enterprise, branch, and data center. Once an organization adopts cloud-based applications in the form of software-as-a-service (SaaS) and infrastructure-as-a-service (IaaS) , its WAN architecture experiences an explosion of traffic accessing applications distributed across the globe.

[0003] These changes have multiple implications for Information Technology (IT) . Employee productivity may be compromised by SaaS-application performance problems. WAN expenses can rise with inefficient use of dedicated and backup circuits. IT fights a daily, complex battle of connecting multiple types of users with multiple types of devices to multiple cloud environments.

[0004] An answer to these problems could be software defined WAN (SD-WAN) . With SD-WAN, IT can deliver routing, threat protection, efficient offloading of expensive circuits, and simplification of WAN network management. SD-WAN can provide benefits including (but not limited to) a better application experience, a higher security level, an optimized cloud connectivity, and a simplified management.

[0005] Meanwhile, edge computing as an evolution of cloud computing brings application hosting from centralized data centers down to the network edge, closer to consumers and the data generated by applications. Edge computing is acknowledged as one of the key pillars for meeting the demanding Key Performance Indicators (KPIs) of 5G, especially as far as low latency and bandwidth efficiency are concerned. However, not only is edge computing in telecommunications networks a technical enabler for the demanding KPIs, it also plays an essential role in the transformation of the telecommunications business, where telecommunications networks are turning into versatile service platforms for industry and other specific customer segments. This transformation is supported by edge computing, as it opens the network edge for applications and services, including those from third parties.

[0006] A lot of technical specifications or standards are proposed for edge computing. For example, European Telecommunications Standards Institution (ETSI) Industry Specification Group (ISG) MEC (Multi-access Edge Computing) is one of technical standards for edge computing. Further, the 3rd generation partnership project (3GPP) also proposes its own technical specification (TS) for edge computing, for example, 3GPP TS 23.558, "Architecture for enabling Edge Applications" .

[0007] Therefore, an SD-WAN solution optimized for edge computing may be needed.Summary

[0008] As mentioned earlier, edge computing and cloud technology are opening up new opportunities for Communication Service Providers (CSPs) and enterprises alike, bringing processing power and storage ever closer to where data is being generated and consumed. There is an existing solution that the wireless SD-WAN routers provide computing resources to host applications locally, i.e., the wireless SD-WAN routers act as edge computing devices.

[0009] However, there is no solution yet for wireless SD-WAN routers to route traffic to the Edge Application Servers (EASs) deployed in the edge cloud through the corresponding Edge Data Networks based on the enterprise policies.

[0010] Therefore, to solve or at least partially alleviate at least one of the above problems, some embodiments of the present disclosure are provided below.

[0011] According to a first aspect of the present disclosure, a method at a first network node for routing traffic to data networks is provided. The method comprises: application data destined to an address of an application server associated with a data network is received from a device. The method further comprises: a Protocol Data Unit (PDU) session is determined based on at least the application data and / or the address of the application server. The method further comprises: the application data is routed to the application server by using the determined PDU session.

[0012] In some embodiments, the application data is received via a Local Area Network (LAN) modem of the first network node, and the application data is routed to the application server via a User Equipment (UE) modem that is associated with the determined PDU session. In some embodiments, before the step of determining the PDU session, the method further comprises: establishing one or more PDU sessions for one or more data networks by using one or more UE modems of the first network node.  In some embodiments, the step of determining the PDU session comprises: selecting one of the established PDU sessions based on at least the application data and / or the address of the application server. In some embodiments, the step of selecting one of the established PDU sessions comprises: an application associated with the application data is determined based on at least an Application Traffic Descriptor (ATD) in an application profile. The step of selecting one of the established PDU sessions further comprises: at least one of the established PDU sessions is selected based on one or more policies and a mapping between the determined application and one or more data networks. In some embodiments, at least one of the application profile and the mapping are provisioned by a second network node to the first network node.

[0013] In some embodiments, before the step of determining the PDU session, the method further comprises: a message indicating one or more client identifiers (IDs) assigned for one or more UE modems of the first network node is received from a second network node. In some embodiments, before the step of determining the PDU session, the method further comprises: a message indicating one or more application profiles is received from the second network node. In some embodiments, before the step of determining the PDU session, the method further comprises: a message indicating one or more application server profiles is received from the second network node. In some embodiments, an application profile indicates at least one of: an identifier of the application profile, an identifier of an Application Client (AC) associated with an application, ATD, and an identifier of an application server serving the AC. In some embodiments, an application server profile indicates at least one of: an identifier of the application server profile, an identifier of the application server, a Fully Qualified Domain Name (FQDN) of the application server, and one or more addresses of one or more instances of the application server.

[0014] In some embodiments, before the step of determining the PDU session, the method further comprises at least one of: a message for data network discovery is transmitted to an configuration server, a message indicating one or more configurations for one or more data networks is received from the configuration server, the one or more data networks is filtered based on one or more application server IDs in the one or more configurations for the one or more data networks, a message for application server discovery is transmitted to a server in each of the filtered data networks, and a message indicating one or more application servers belonging to the corresponding data  network is received from the server. In some embodiments, the method further comprises: a message indicating the discovered data networks and / or the discovered application servers in each of the discovered data networks is transmitted to a second network node, and a message indicating a mapping between one or more applications and one or more data networks is received from the second network node.

[0015] In some embodiments, before the step of determining the PDU session, the method further comprises: determining whether or not the address of the application server is associated with a local application server at the first network node. In some embodiments, the step of determining the PDU session is performed only in response to determining that the address of the application server is not associated with a local application server at the first network node. In some embodiments, the method further comprises: routing the application data to the local application server in response to determining that the address of the application server is associated with the local application server at the first network node. In some embodiments, before the step of determining whether or not the address of the application server is associated with a local application server at the first network node, the method further comprises: a message indicating an application server artifact for deploying the local application server is received from a second network node, the local application server is deployed by using the application server artifact, and a message indicating an address of the deployed local application server is transmitted to the second network node.

[0016] In some embodiments, the first network node is a Software Defined Wide Area Network (SD-WAN) router, and the second network node is a Router Management Function (RMF) . In some embodiments, the application server is an Edge Application Server (EAS) . In some embodiments, the local application server is a local EAS. In some embodiments, the data network is an Edge Data Networks (EDN) . In some embodiments, the client is an Edge Enabler Client (EEC) . In some embodiments, the server is an Edge Enabler Server (EES) . In some embodiments, the configuration server is an Edge Configuration Server (ECS) .

[0017] According to a second aspect of the present disclosure, a first network node for routing traffic to data networks is provided. The first network node comprises: a processor and a memory storing instructions which, when executed by the processor, cause the first network node to: receive, from a device, application data destined to an address of an application server associated with a data network, determine a PDU  session based on at least the application data and / or the address of the application server, and route the application data to the application server by using the determined PDU session. In some embodiments, the instructions, when executed by the processor, cause the first network node further to perform any of the method of the first aspect. In some embodiments, the first network node comprises one or more UE modems for establishing one or more PDU sessions.

[0018] According to a third aspect of the present disclosure, a first network node for routing traffic to data networks is provided. The first network node comprises: a receiving module configured to receive, from a device, application data destined to an address of an application server associated with a data network, a determining module configured to determine a PDU session based on at least the application data and / or the address of the application server, and a routing module configured to route the application data to the application server by using the determined PDU session. In some embodiments, the first network node comprises one or more further modules, each of which may perform any of the steps of any of the methods of the first aspect.

[0019] According to a fourth aspect of the present disclosure, a method at a second network node for managing at least one first network node to route traffic to data networks is provided. The method comprises: receiving one or more inputs regarding to at least one of one or more application profiles, one or more application server profiles, and one or more policies, and creating at least one of one or more application profiles, one or more application server profiles, and one or more policies based on at least the one or more inputs. In some embodiments, the method further comprises at least one of:provisioning, to the at least one first network node, the one or more application profiles in response to creating the one or more application profiles, and provisioning, to the at least one first network node, the one or more application server profiles in response to creating the one or more application server profiles.

[0020] In some embodiments, the one or more inputs comprise at least one of: an identifier of an AC associated with an application, ATD, an identifier of an application server serving the AC, an identifier of the application server, an FQDN of the application server, and policy information. In some embodiments, an application profile indicates at least one of: an identifier of the application profile, an identifier of an AC associated with an application, ATD, and an identifier of an application server serving the AC. In some embodiments, an application server profile indicates at least one of: an identifier  of the application server profile, an identifier of the application server, an FQDN of the application server, and one or more addresses of one or more instances of the application server. In some embodiments, a policy and / or policy information indicates at least one of: which Radio Access Technology (RAT) is preferred to be used for routing data associated with a specific application to a specific application server, whether or not prioritized traffic is to be routed to a local application server, whether or not data network redundancy is to be provided for routing data associated with a specific application to a specific application server, and whether or not network redundancy is to be provided for routing data associated with a specific application to a specific application server.

[0021] In some embodiments, the method further comprises: obtaining an input regarding to one or more client IDs assigned for one or more UE modems of the at least one first network node, and transmitting, to the at least one first network node, a message indicating the one or more client IDs. In some embodiments, the method further comprises: receiving, from the at least one first network node, a message indicating one or more discovered data networks and / or one or more discovered application servers in each of the discovered data networks, updating one or more corresponding application server profiles based on the discovered data networks and / or the discovered application servers, determining a mapping between one or more applications and discovered data networks based on at least the one or more policies and the discovered data networks, and transmitting, to the at least one first network node, a message indicating the mapping. In some embodiments, the method further comprises: transmitting, to a third network node, a message for updating one or more Domain Name System (DNS) records. In some embodiments, the message indicates at least one of: an FQDN of an application server associated with the discovered application servers, the address of the discovered application servers, and one or more load balancing policies for the application server.

[0022] In some embodiments, the method further comprises: transmitting, to the at least one first network node, a message indicating an application server artifact for deploying a local application server, receiving, from the at least one first network node, a message indicating an address of the deployed local application server, and updating a corresponding application server profile with the address of the deployed local application server. In some embodiments, the method further comprises: transmitting,  to a third network node, a message for updating one or more DNS records. In some embodiments, the message indicates at least one of: an FQDN of an application server associated with the deployed local application server, the address of the deployed local application server, and one or more load balancing policies for the application server.

[0023] In some embodiments, the first network node is an SD-WAN router, the second network node is an RMF, and the third network node is a DNS server. In some embodiments, the application server is an EAS. In some embodiments, the local application server is a local EAS. In some embodiments, the data network is an EDN. In some embodiments, the client is an EEC. In some embodiments, the server is an EES. In some embodiments, the configuration server is an ECS.

[0024] According to a fifth aspect of the present disclosure, a second network node for managing at least one first network node to route traffic to data networks is provided. The second network node comprises: a processor, a memory storing instructions which, when executed by the processor, cause the second network node to: receive one or more inputs regarding to at least one of one or more application profiles, one or more application server profiles, and one or more policies, and create at least one of one or more application profiles, one or more application server profiles, and one or more policies based on at least the one or more inputs. In some embodiments, the instructions, when executed by the processor, cause the second network node to further perform at least one of: provision, to the at least one first network node, the one or more application profiles in response to creating the one or more application profiles, and provision, to the at least one first network node, the one or more application server profiles in response to creating the one or more application server profiles. In some embodiments, the instructions, when executed by the processor, cause the second network node further to perform any of the methods of the fourth aspect.

[0025] According to a sixth aspect of the present disclosure, a second network node for managing at least one first network node to route traffic to data networks is provided. The second network node comprises: a receiving module configured to receive one or more inputs regarding to at least one of one or more application profiles, one or more application server profiles, and one or more policies, and a creating module configured to create at least one of one or more application profiles, one or more application server profiles, and one or more policies based on at least the one or more inputs. In some  embodiments, the second network node further comprises at least one of: a first provisioning module configured to provision, to the at least one first network node, the one or more application profiles in response to creating the one or more application profiles, and a second provisioning module configured to provision, to the at least one first network node, the one or more application server profiles in response to creating the one or more application server profiles. In some embodiments, the second network node comprises one or more further modules, each of which may perform any of the steps of any of the methods of the fourth aspect.

[0026] According to a seventh aspect of the present disclosure, a computer program comprising instructions which, when executed by at least one processor, cause the at least one processor to carry out any of the methods of any of the first and fourth aspects.

[0027] According to an eighth aspect of the present disclosure, a carrier containing the computer program of the seventh aspect is provided. In some embodiments, the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium.

[0028] According to a ninth aspect of the present disclosure, a telecommunication system for routing traffic to data networks is provided. The telecommunication system comprises: a second network node and at least one first network node. In some embodiments, the second network node comprises: a processor, a memory storing instructions which, when executed by the processor, cause the second network node to: receive one or more inputs regarding to at least one of one or more application profiles, one or more application server profiles, and one or more policies, and create at least one of one or more application profiles, one or more application server profiles, and one or more policies based on at least the one or more inputs, wherein the instructions, when executed by the processor, cause the second network node to further perform at least one of: provision, to the at least one first network node, the one or more application profiles in response to creating the one or more application profiles, and provision, to the at least one first network node, the one or more application server profiles in response to creating the one or more application server profiles. In some embodiments, the at least one first network node comprises: a processor, a memory storing instructions which, when executed by the processor, cause the at least one first network node to: receive, from a device, application data destined to an address of an  application server, determine a PDU session based on at least the application data and / or the address of the application server, and route the application data to the application server by using the determined PDU session.

[0029] In some embodiments, the instructions stored in the memory of the at least one first network node, when executed by the processor of the at least one first network node, cause the at least one first network node further to perform any of the methods of the first aspect. In some embodiments, the instructions stored in the memory of the second network node, when executed by the processor of the second network node, cause the second network node further to perform any of the methods of the fourth aspect.

[0030] With some embodiments of the present disclosure, (5G) SD-WAN routers may be enabled to route traffic to edges according to enterprise policies. Further, the solution is transparent to the devices, and no additional edge computing support is required.Brief Description of the Drawings

[0031] The foregoing and other features of the present disclosure will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only several embodiments in accordance with the disclosure and therefore are not to be considered limiting of its scope, the disclosure will be described with additional specificity and detail through use of the accompanying drawings.

[0032] Fig. 1 is a diagram illustrating an exemplary telecommunication network in which traffic routing to data networks may be applicable according to an embodiment of the present disclosure.

[0033] Fig. 2 is a diagram illustrating another exemplary telecommunication network in which traffic routing to data networks may be applicable according to another embodiment of the present disclosure.

[0034] Fig. 3 is a diagram illustrating an exemplary telecommunication network in which traffic routing to data networks is applied according to an embodiment of the present disclosure.

[0035] Fig. 4 is a diagram illustrating an exemplary entity management procedure according to an embodiment of the present disclosure.

[0036] Fig. 5 is a diagram illustrating an exemplary edge discovery procedure according to an embodiment of the present disclosure.

[0037] Fig. 6 is a diagram illustrating an exemplary local EAS deployment procedure according to an embodiment of the present disclosure.

[0038] Fig. 7 is a diagram illustrating an exemplary traffic routing procedure according to an embodiment of the present disclosure.

[0039] Fig. 8 is a flow chart illustrating an exemplary method at a first network node for routing traffic to data networks according to an embodiment of the present disclosure.

[0040] Fig. 9 is a flow chart illustrating an exemplary method at a second network node for managing at least one first network node to route traffic to data networks according to an embodiment of the present disclosure.

[0041] Fig. 10 schematically shows an embodiment of an arrangement which may be used in one or more network nodes according to an embodiment of the present disclosure.

[0042] Fig. 11 is a block diagram of an exemplary first network node according to an embodiment of the present disclosure.

[0043] Fig. 12 is a block diagram of an exemplary first network node according to an embodiment of the present disclosure.

[0044] Fig. 13 shows an example of a communication system in accordance with some embodiments of the present disclosure.

[0045] Fig. 14 shows an exemplary UE in accordance with some embodiments of the present disclosure.

[0046] Fig. 15 shows an exemplary network node in accordance with some embodiments of the present disclosure.

[0047] Fig. 16 is a block diagram of an exemplary host, which may be an embodiment of the host of Fig. 13, in accordance with various aspects described herein.

[0048] Fig. 17 is a block diagram illustrating an exemplary virtualization environment in which functions implemented by some embodiments may be virtualized.

[0049] Fig. 18 shows a communication diagram of an exemplary host communicating via an exemplary network node with an exemplary UE over a partially wireless connection in accordance with some embodiments of the present disclosure.Detailed Description

[0050] Hereinafter, the present disclosure is described with reference to embodiments shown in the attached drawings. However, it is to be understood that those descriptions are just provided for illustrative purpose, rather than limiting the present disclosure. Further, in the following, descriptions of known structures and techniques are omitted so as not to unnecessarily obscure the concept of the present disclosure.

[0051] Those skilled in the art will appreciate that the term "exemplary" is used herein to mean "illustrative, " or "serving as an example, " and is not intended to imply that a particular embodiment is preferred over another or that a particular feature is essential. Likewise, the terms "first" and "second, " and similar terms, are used simply to distinguish one particular instance of an item or feature from another, and do not indicate a particular order or arrangement, unless the context clearly indicates otherwise. Further, the term "step, " as used herein, is meant to be synonymous with "operation" or "action. " Any description herein of a sequence of steps does not imply that these operations must be carried out in a particular order, or even that these operations are carried out in any order at all, unless the context or the details of the described operation clearly indicates otherwise.

[0052] Conditional language used herein, such as "can, " "might, " "may, " "e.g., " and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and / or states. Thus, such conditional language is not generally intended to imply that features, elements and / or states are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and / or states are included or are to be performed in any particular embodiment. Also, the term "or" is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term "or" means one, some, or all of the elements in the list. Further, the term "each, " as used herein, in addition to having its ordinary meaning, can mean any subset of a set of elements to which the term "each" is applied.

[0053] The term "based on" is to be read as "based at least in part on. " The term "one embodiment" and "an embodiment" are to be read as "at least one embodiment. " The term "another embodiment" is to be read as "at least one other embodiment. " Other  definitions, explicit and implicit, may be included below. In addition, language such as the phrase "at least one of X, Y and Z, " unless specifically stated otherwise, is to be understood with the context as used in general to convey that an item, term, etc. may be either X, Y, or Z, or a combination thereof.

[0054] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limitation of example embodiments. As used herein, the singular forms "a" , "an" , and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" , "comprising" , "has" , "having" , "includes" and / or "including" , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof. It will be also understood that the terms "connect (s) , " "connecting" , "connected" , etc. when used herein, just mean that there is an electrical or communicative connection between two elements and they can be connected either directly or indirectly, unless explicitly stated to the contrary.

[0055] Of course, the present disclosure may be carried out in other specific ways than those set forth herein without departing from the scope and essential characteristics of the disclosure. One or more of the specific processes discussed below may be carried out in any electronic device comprising one or more appropriately configured processing circuits, which may in some embodiments be embodied in one or more application-specific integrated circuits (ASICs) . In some embodiments, these processing circuits may comprise one or more microprocessors, microcontrollers, and / or digital signal processors programmed with appropriate software and / or firmware to carry out one or more of the operations described above, or variants thereof. In some embodiments, these processing circuits may comprise customized hardware to carry out one or more of the functions described above. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.

[0056] Although multiple embodiments of the present disclosure will be illustrated in the accompanying Drawings and described in the following Detailed Description, it should be understood that the disclosure is not limited to the disclosed embodiments, but instead is also capable of numerous rearrangements, modifications, and substitutions  without departing from the present disclosure that as will be set forth and defined within the claims.

[0057] Further, although the following description of some embodiments of the present disclosure is given in the context of 5G system (5GS) , the present disclosure is not limited thereto. In fact, as long as traffic routing to data networks is involved, the inventive concept of the present disclosure may be applicable to any appropriate communication architecture, for example, to Global System for Mobile Communications (GSM)  / General Packet Radio Service (GPRS) , Enhanced Data Rates for GSM Evolution (EDGE) , Code Division Multiple Access (CDMA) , Wideband CDMA (WCDMA) , Time Division -Synchronous CDMA (TD-SCDMA) , CDMA2000, Worldwide Interoperability for Microwave Access (WiMAX) , Wireless Fidelity (Wi-Fi) , Long Term Evolution (LTE) , Evolved Packet System (EPS) , 5G New Radio (NR) , etc. Therefore, one skilled in the arts could readily understand that the terms used herein may also refer to their equivalents in any other infrastructure. For example, the term "User Equipment" or "UE" used herein may refer to a mobile device, a mobile terminal, a mobile station, a user device, a user terminal, a wireless device, a wireless terminal, an Internet of Things (IoT) device, a vehicle, or any other equivalents. For another example, the term "network node" used herein may refer to a base station, a base transceiver station, an access point, a hot spot, a NodeB (NB) , an evolved NodeB (eNB) , a gNB, a network element, a network function, an SD-WAN router, a router management function or any other equivalents.

[0058] Further, following 3GPP documents are incorporated herein by reference in their entireties:

[0059] [1] 3GPP TS 23.558 V18.2.0 (2023-03) , Technical Specification, 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Architecture for enabling Edge Applications; (Release 18) ; and

[0060] [2] 3GPP TS 24.558 V17.3.0 (2023-03) , Technical Specification, 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Enabling Edge Applications; Protocol specification; (Release 17) .

[0061] SD-WAN is a type of networking technology that uses software-defined networking (SDN) principles to manage and optimize the performance of wide area networks (WANs) . It enables organizations to securely connect users, applications, and data across multiple locations while providing improved performance, reliability, and  scalability. SD-WAN also simplifies the management of WANs by providing centralized control and visibility over the entire network.

[0062] SD-WAN connects and extends enterprise networks over large geographical distances. WANs use links such as MPLS, wireless, broadband, virtual private networks (VPNs) , and the Internet to give users in branches and remote offices access to corporate applications, services, and resources, allowing them to work regardless of location. SD-WAN also monitors the performance of WAN connections and manages traffic in an effort to maintain high speeds and optimize connectivity.

[0063] 5G is a true enabler of SD-WAN because it provides high bandwidth and (ultra) low latency in locations where fixed-line networks may not be available. The higher performance of 5G, combined with the dynamic routing intelligence of SD-WAN, offers a compelling option to supplement and in some cases even replace traditional connectivity.

[0064] Fig. 1 is a diagram illustrating an exemplary telecommunication network 10 in which traffic routing to data networks may be applicable according to an embodiment of the present disclosure. As shown in Fig. 1, the network 10 may be a multi-site network, and comprise sub-networks deployed at multiple branches 100-1 through 100-6 (hereinafter, branches 100 collectively) . These branches 100 may communicatively connected to a data center 110 and / or the Internet 120 via one or more technologies, such as, MPLS, fixed broadband (e.g., xDSL, FTTx) , cellular links.

[0065] In some embodiments, there will be at least one SD-WAN router deployed at each of the branches 100, and all the SD-WAN routers may be managed and controlled in a centric manner, for example, by at least one router management function (RMF) (e.g., the RMF 300 shown in Fig. 3) at one or more of the branches 100, the data center 110, on the Internet 120, and / or other appropriate places. As mentioned earlier, the SD-WAN routers may route traffic intelligently to meet the requirements and needs of the users and efficiently utilize the network resources.

[0066] As also mentioned earlier, Edge Computing as an evolution of cloud computing brings application hosting from centralized data centers down to the network edge, closer to consumers and the data generated by applications, especially when latency and bandwidth efficiency are concerned. Edge computing plays an essential role in the transformation of the telecommunications business, where telecommunications networks are turning into versatile service platforms for industry and other specific  customer segments. This transformation is supported by edge computing, as it opens the network edge for applications and services, including those from third parties.

[0067] Due to the distributed architecture of edge computing, the Edge Discovery Service is critical for UEs to access the applications deployed in edges. The Edge Discovery Service takes into account the context of a UE, such as location, IP anchor location, current network traffic, and other factors to determine which edge or edge application server a UE should connect to. Mobility is the nature of UEs. When a UE moves within a mobile network, the mobile edge serving to the UE can be changed. Switching mobile edge, which might include application relocation and application context transfer (ACR) is critical to ensure service continuity.

[0068] Edge Computing is a concept that enables services to be hosted close to the service consumers and provides benefits such as efficient service delivery with significant reduction in end-to-end latency and decreased load on the transport network. The benefits of Edge Computing will strengthen the promise of 5G and expand the prospects for several new and enhanced use cases -including virtual and augmented reality, IoT, Industrial IoT, autonomous driving, real-time multiplayer gaming etc.

[0069] In Release 17, 3GPP aim to provide native support of Edge Computing in 3GPP networks. These efforts include initiatives across several working groups in 3GPP including SA6, SA2, SA3, SA4 and SA5, which cover application layer architecture, core network enhancement, security, media processing, and management aspects respectively.

[0070] SA6 initiated normative specification work on the architecture for enabling Edge Applications (EDGEAPP) . The objective of the work is to define an enabling layer to facilitate communication between the Application Clients (AC) running on the UE and the Edge Application Servers (EAS) deployed in the Edge Data Network. This includes aspects of service provisioning and EAS discovery. In addition, the work aims to provide support services such as application context transfer between EASs for service continuity, service enablement and capability exposure APIs towards the EAS.

[0071] Fig. 2 is a block diagram illustrating an exemplary architecture 20 for enabling edge applications, in which traffic routing to data networks may be applicable according to an embodiment of the present disclosure. As shown in Fig. 2, one or more Application Clients (ACs) 201 deployed at a UE 200 may communicate with one or more Edge Application Servers (EASs) 231 deployed in one or more network nodes in an Edge  Data Network (EDN) 230 via a 3GPP Core Network (CN) 220. Further, an Edge Enabler Client (EEC) 203 deployed at the UE 200 may communicate with one or more Edge Enabler Servers (EESs) 233 deployed in the one or more network nodes in the EDN 230 via the 3GPP CN 220 to enable the edge computing service. For example, the AC 201 may discover the one or more EAS 231 via the EEC 203 and the EES 233. Further, an Edge Configuration Server (ECS) 240 may be provided for configuring the various functional entities involved in edge computing. In some embodiments, the ECS 240 may provide configurations related to the EES 233 and / or EDN 230.

[0072] Please note that, although only one EDN 230 is shown in Fig. 2, the present disclosure is not limited thereto. In some embodiments, more than one EDN 230 may be provided, and one or more EASs 231 and / or one or more EESs 233 may be provided in each of the EDNs 230. In some embodiments, one or more EDNs 230 may be provided as one or more local data networks.

[0073] As also shown in Fig. 2, a notification management client 205 is provided at the UE 200 and a notification management server 250 is provided for the EES 233 and the ECS 240. The notification management client 205 and the notification management server 250 together may provide a Service Enabler Architecture Layer (SEAL) service that offers the notification functionality to the Edge Enabler Layer (EEL) . This service enables the EEL clients (e.g., the EEC 203) to subscribe and receive notifications from the servers (e.g., the ECS 240 and / or the EES 233) and thereby offloading the complexity of delivery and reception of notifications to the notification management enabler layer. In other words, the notification management client 205 and the notification management server 250 together provide a common notification delivery service to vertical applications (in our case, the EEL) .

[0074] Next, each of the functional entities shown in Fig. 2 will be described in details below.

[0075] The AC 201 is an application resident in the UE 200 performing the client function.

[0076] The EEC 203 may provide supporting functions needed for the AC (s) 201. Some of functionalities of the EEC 203 may comprise but not limited to:

[0077] - retrieval and provisioning of configuration information to enable the exchange of Application Data Traffic with the EAS 231;

[0078] - discovery of EASs 231 available in the EDN 230; and

[0079] - detecting UE mobility events.

[0080] The EES 233 may provide supporting functions needed for EASs 231 and EEC 203. Some of functionalities of the EES 233 may comprise but not limited to:

[0081] - discovery and provisioning of configuration information to the EEC 203, enabling exchange of application data traffic with the EAS 231;

[0082] - providing Application Programming Interface (API) invoker and API exposing functions as specified in 3GPP TS 23.222;

[0083] - interacting with the 3GPP Core Network 220 for accessing the capabilities of network functions either directly (e.g. via Policy Control Function (PCF) ) or indirectly (i.e. Service Capability Exposure Function (SCEF)  / Network Exposure Function (NEF)  / SCEF+NEF) ;

[0084] - exposing events related to Application Context Transfer (ACT) ;

[0085] - EEC context transfer between the EESs 233;

[0086] - supporting external exposure of 3GPP network and service capabilities to the EAS (s) 231 over EDGE-3;

[0087] - registration functions (i.e., registration, update, and de-registration) for the EEC (s) 203 and the EAS (s) 231;

[0088] - triggering the EAS instantiation on demand; and

[0089] - supporting Application Context Relocation (ACR) related operations (e.g. ACR launching, ACR information notification, EELManagedACR) .

[0090] The EAS 231 is the application server resident in the EDN 230, performing the server functions. The AC 201 may connect to the EAS 231 in order to avail the services of the application with the benefits of Edge Computing. It is possible that the server functions of an application are available only as an EAS 231. However, it is also possible that certain server functions are available both at the edge and in the cloud, as an EAS and an Application Server (AS) resident in the cloud respectively. The server functions offered by an EAS and its cloud Application Server counterpart may be the same or may differ; if they differ, the Application Data Traffic exchanged with the AC 201 may also be different. Please note that the terms "Cloud AS" and "Central AS" may be used herein in an interchangeable manner and both of them can be abbreviated as "CAS" hereinafter.

[0091] The EAS 231 can consume the 3GPP Core Network capabilities in the following ways, all of which are optional to support:

[0092] - invoking 3GPP Core Network capabilities via the edge enabler layer (EEL) through the EES 233;

[0093] - invoking 3GPP Core Network function (e.g. PCF) APIs directly, if it is an entity trusted by the 3GPP Core Network 220; and

[0094] - invoking the 3GPP Core Network capabilities through the capability exposure functions i.e. SCEF / NEF / SCEF+NEF.

[0095] The EAS 231 can support processing ACR related operations (e.g. ACR status update, selected target EAS declaration) .

[0096] The EAS 231 can expose its Service API (s) (i.e., EAS Service API (s) ) towards the other EASs by supporting API provider domain functions as specified in TS 23.222; and the EAS 231 can consume the EAS Service API (s) exposed by the other EAS (s) by supporting API invoker functionalities as specified in TS 23.222.

[0097] The ECS 240 may provide supporting functions needed for the EEC 203 to connect with an EES 233. Some of functionalities of the ECS 240 may comprise but not limited to:

[0098] - discovery and provisioning of Edge configuration information to the EEC 203. The Edge configuration information includes the following:

[0099] - the information for the EEC 203 to distinguish amongst the EESs 233 (e.g. EDN service area) ; and

[0100] - the information for establishing a connection with EESs 233 (such as URI) ;

[0101] - providing the Target EES (T-EES) information to the Source EES (S-EES) ;

[0102] Please note that the ECS 240 can be deployed in the Mobile Network Operator (MNO) domain or can be deployed in 3rd party domain by a service provider.

[0103] - supporting the functionalities of registration (i.e., registration, update, and de-registration) for the EES (s) 233;

[0104] - supporting the functionalities of API invoker and API exposing function as specified in 3GPP TS 23.222;

[0105] - interacting with 3GPP Core Network for accessing the capabilities of network functions either directly (e.g. via PCF) or indirectly (i.e. SCEF / NEF / SCEF+NEF) ;

[0106] - providing service provisioning information to a partner ECS; and

[0107] - retrieving service provisioning information from a partner ECS.

[0108] The notification management client 205 may act as the application client for notification management aspects. It may interact with the notification management server 250. It may handle the notification messages received from the notification management server 250 and deliver it to the corresponding clients (e.g., the EEC 203) residing on the UE 200.

[0109] The notification management server 250 may be a functional entity that handles the notification management aspects by interacting with the notification management client 205 and the servers (e.g., the EES 233 and / or the ECS 240) . The notification management server 250 may receive the notification messages from the vertical application layer and delivers it to the notification management client 205.

[0110] Next, the reference points shown in Fig. 2 will be described in details below.

[0111] EDGE-1 reference point enables interactions between the EES 233 and the EEC 203. It may support but not limited to:

[0112] - registration and de-registration of the EEC 203 to the EES 233;

[0113] - retrieval and provisioning of EAS configuration information;

[0114] - discovery of EASs 231 available in the EDN 230; and

[0115] - service continuity procedures (e.g. ACR initiation) .

[0116] EDGE-2 reference point enables interactions between the EES 233 and the 3GPP Core Network 220 functions and APIs for retrieval of network capability information. It may support but not limited to:

[0117] - access via SCEF and NEF APIs as defined in 3GPP TS 23.501, 3GPP TS 23.502, 3GPP TS 29.522, 3GPP TS 23.682, 3GPP TS 29.122; or

[0118] - direct access to core network functions with the EES 233 deployed within the MNO trust domain (see 3GPP TS 23.501 clause 5.13, 3GPP TS 23.503, 3GPP TS 23.682) .

[0119] Please note that EDGE-2 reference point may reuse 3GPP reference points or interfaces of EPS or 5GS considering different deployment models.

[0120] EDGE-3 reference point enables interactions between the EES 233 and the EASs 231. It may support but not limited to:

[0121] - registration of EASs 231 with availability information (e.g. time constraints, location constraints) ;

[0122] - de-registration of EASs 231 from the EES 233;

[0123] - discovery of T-EAS information to support ACT;

[0124] - providing access to network capability information (e.g. location information) ;

[0125] - requesting the setup of a data session between the AC 201 and the EAS 231 with a specific QoS and receiving QoS related information; and

[0126] - service continuity procedures (e.g., ACR status) .

[0127] EDGE-4 reference point enables interactions between the ECS 240 and the EEC 203. It may support but not limited to:

[0128] - provisioning of Edge configuration information to the EEC 203.

[0129] EDGE-5 reference point enables interactions between the AC (s) 201 and the EEC 203. It may support but not limited to:

[0130] - registration, registration update, and de-registration of AC 201 to the EEC 203;

[0131] - EAS discovery by the AC 201;

[0132] - ACR triggering by the AC 201;

[0133] - EEC services subscription; and

[0134] - UE ID request.

[0135] EDGE-6 reference point enables interactions between the ECS 240 and the EES 233. It may support but not limited to:

[0136] - registration of EES information to the ECS 240;

[0137] - de-registration of EES information from the ECS 240; and

[0138] - retrieval of the T-EES information from the ECS 240.

[0139] EDGE-7 reference point enables interactions between the EAS 231 and the 3GPP Core Network 220 functions and APIs for retrieval of network capability information. It may support but not limited to:

[0140] - access via SCEF and NEF APIs as defined in 3GPP TS 23.501, 3GPP TS 23.502, 3GPP TS 29.522, 3GPP TS 23.682, 3GPP TS 29.122; or

[0141] - direct access to core network functions with the EAS 231 deployed within the MNO trust domain (see 3GPP TS 23.501 clause 5.13, 3GPP TS 23.682) .

[0142] Please note that EDGE-7 reference point may reuse 3GPP reference points or interfaces of EPS or 5GS considering different deployment models.

[0143] EDGE-8 reference point enables interactions between the ECS 240 and the 3GPP Core Network 220 functions and APIs for retrieval of network capability information. It may support but not limited to:

[0144] - access via SCEF and NEF APIs as defined in 3GPP TS 23.501, 3GPP TS 23.502, 3GPP TS 29.522, 3GPP TS 23.682, 3GPP TS 29.122; or

[0145] - direct access to core network functions with the ECS 240 deployed within the MNO trust domain (see 3GPP TS 23.501 clause 5.13, 3GPP TS 23.682) .

[0146] Please note that EDGE-8 reference point may reuse 3GPP reference points or interfaces of EPS or 5GS considering different deployment models.

[0147] EDGE-9 reference point enables interactions between two EESs 233. EDGE-9 reference point may be provided between EES 233 within different EDNs and / or within the same EDN.

[0148] EDGE-9 may support but not limited to:

[0149] - discovery of T-EAS information to support ACR;

[0150] - EEC context relocation procedures; and

[0151] - transparent transfer of the application context during EELManagedACR.

[0152] NM-UU reference point supports the interactions related to notification management functions between the notification management client 205 and the notification management server 250. This reference point utilizes Uu reference point as described in 3GPP TS 23.401 and 3GPP TS 23.501.

[0153] NM-C reference point supports the interactions related to notification management functions between the client (s) (e.g., the EEC 203) and the notification management client 205 within a UE (e.g., the UE 200) .

[0154] NM-Sreference point supports the interactions related to notification management functions between the server (s) (e.g., the EES 233 and / or the ECS 240) and the notification management server 250.

[0155] As mentioned earlier, edge computing and cloud technology are opening up new opportunities for CSPs and enterprises alike, bringing processing power and storage ever closer to where data is being generated and consumed. There is an existing solution that the wireless SD-WAN routers provide computing resources to host applications locally, i.e., the wireless SD-WAN routers act as edge computing devices collocated with one or more (local) EASs.

[0156] However, there is no solution yet for wireless SD-WAN routers to route traffic to the Edge Application Servers (EASs) deployed in the edge cloud through the corresponding Edge Data Networks based on the enterprise policies.

[0157] Therefore, to solve or at least partially alleviate at least one of the problems, some embodiments of the present disclosure are provided below.

[0158] In some embodiments, a method and apparatus are introduced to enable wireless SD-WAN routers to route traffic to the EASs deployed in the edge cloud through the corresponding Edge Data Network based on the enterprise defined policies. Thanks for the Edge Enabler Layer provided by the CSP, the wireless SD-WAN system can intelligently determine the EDN and PDU session to route the traffic of a specific application.

[0159] In some embodiments, the SD-WAN Router may discover EDNs and EASs through the Edge Enabler Layer provided by the CSP. In some embodiments, the Router Management Function may determine the applicable EDNs based on the enterprise defined policies and ask the SD-WAN Router to create PDU sessions accordingly. In some embodiments, the Router Management Function may configure the enterprise DNS Server to provide intelligent domain name resolving based on the discovered EAS information and load balancing policies. In some embodiments, the SD-WAN Router may route the traffic to EASs based on the enterprise defined policies.

[0160] With some embodiments of the present disclosure, 5G SD-WAN routers may be enabled to route traffic to edges according to enterprise policies. Further, the solution is transparent to the devices, and no additional edge computing support is required.

[0161] Next, an exemplary overall architecture for routing traffic to data networks is illustrated by Fig. 3.

[0162] Fig. 3 is a diagram illustrating an exemplary telecommunication network 30 in which traffic routing to data networks is applied according to an embodiment of the present disclosure. As shown in Fig. 3, the network 30 may be divided into a CSP domain, in which an edge computing service (e.g., the one shown in Fig. 2) is provided, and an enterprise domain, in which one or more branches and their associated SD-WAN routers (e.g., the one shown in Fig. 1) are provided. Further, at least one RMF 300 and a DNS server 310 are provided in the enterprise domain.

[0163] As shown in Fig. 3, an SD-WAN router 320 may be located between LAN and WAN (or between the enterprise domain and the CSP domain) , and it may route application traffic between devices (e.g., the device #A350-1, the device #B 350-2, the device #C 350-3, or collectively the devices 350) in the LAN and application servers (e.g., the EAS #A341-1, the EAS #B 341-2, the EAS #C 341-3, or collectively the EASs 341) in the WAN according to enterprise defined policies. In some embodiments, the  LAN access may be Wi-Fi, Bluetooth, etc., while the WAN access may be wireless connectivity (e.g., 4G, 5G, or the like) .

[0164] In the edge computing scenario, the application servers may be Edge Application Servers (EASs) . The SD-WAN router 320 may access EASs 341 through Edge Data Networks (EDNs) 340 (e.g., the EDN #1 340-1, the EDN #2 340-2) . The CSP may provide an Edge Enabler Layer (EEL) to facilitate EAS and UE for the edge communication, as an example, 3GPP SA6 EDGEAPP or an edge computing architecture shown in Fig. 2. In some embodiments, the SD-WAN router 320 may act as an Edge Enabler Client (EEC) and Application Client (AC) to communicate with EEL.

[0165] As also shown in Fig. 3, the router management function (RMF) 300 may manage one or more SD-WAN routers 320 belonging to an enterprise. The RMF 300 may provide an user interface (UI) , such as a command line or a portal tool, to the enterprise administrator. In some embodiments, the enterprise may provide a DNS server 310 to resolve domain names to IP addresses. The DNS server 310 may be dynamically configured with discovered EAS information to provide intelligent domain names resolving service.

[0166] In some embodiments, the SD-WAN router 320 may comprise at least one of:

[0167] - a router application 323: the software program to communicate with RMF 300 and control the traffic routing;

[0168] - a LAN modem 321: it may provide LAN (e.g., Wi-Fi, Bluetooth) access to the devices 350.

[0169] - one or more UEs or UE modems: they may act as WAN modems. Multiple UEs may provide capacity and redundancy benefits. In some embodiments, these UEs or UE modems may support 5G access or any other appropriate RAT. In some embodiments, a single UE (modem) may establish one or more PDU sessions with one or more CSPs. In some embodiments, multiple UEs (modems) may establish multiple PDU sessions with a same CSP or multiple CSPs. The present disclosure is not limited thereto.

[0170] As shown in Fig. 3, by using the same SD-WAN router 320, a device (e.g., the device #B 350-2) may be served by an EAS (e.g., the EAS #B 341-2 deployed in the EDN #1 340-1) , while another device (e.g., the device #C 350-3) may be served by another EAS (e.g., the EAS #C 341-3 deployed in the EDN #2 340-2) . Further, as also shown in Fig. 3, a device (e.g., a device with a higher priority level or having a premium subscription, such as, the device #A350-1 on top) may be served by a local EAS (e.g.,  the local EAS #A325) , thereby resulting in a better user experience, e.g., a faster response time, a higher throughput, etc.

[0171] As shown in Fig. 3, the network 30 may further comprise an ECS 330 that functions in a similar manner as the ECS 240 shown in Fig. 2, and therefore a detailed description thereof is omitted.

[0172] Next, four exemplary procedures will be described below in detail with reference to Fig. 4 through Fig. 7. The four procedures comprise:

[0173] - an Entity Management Procedure: the enterprise administrator may manage different entities through the RMF, and this procedure will be described with reference to Fig. 4;

[0174] - an Edge Discovery Procedure: the SD-WAN router 320 may discover EDNs 340 and EASs 341 through the EEL provided by CSP, and this procedure will be described with reference to Fig. 5;

[0175] - a Local EAS Deployment Procedure: the enterprise administrator may deploy local EASs 325 through the RMF 300, and this procedure will be described with reference to Fig. 6; and

[0176] - a Traffic Routing Procedure: the SD-WAN router 320 may route traffic to edges according to the enterprise policies, and this procedure will be described with reference to Fig. 7.

[0177] Fig. 4 is a diagram illustrating an exemplary entity management procedure according to an embodiment of the present disclosure. As shown in Fig. 4, the procedure may begin with step S405 where the enterprise administrator 400 may configure an EEC ID of each UE to the router application 323 in the SD-WAN router 320 through the RMF 300. In some embodiments, this EEC ID may be used in a way similar to that shown in Fig. 5, and therefore a detailed description thereof is omitted.

[0178] At step S410, the enterprise administrator 400 may create one or more Application Profiles through the RMF 300. In some embodiments, the request may include at least one of (but not limited to) :

[0179] - AC ID: it is the Application Client ID which has been provisioned to the EEL. In some embodiments, the ID may be used for edge discovery.

[0180] - Application Traffic Descriptor (ATD) : this information may be used by the SD-WAN router 320 to identify the application traffic. In some embodiments, the information may comprise at least one of: device IP address and ports, protocol, EAS IP address and ports.

[0181] - Associated EAS IDs: the IDs of the EASs serving the application.

[0182] At step S415, the RMF 300 may send a response back with an Application Profile ID.

[0183] At step S420, the RMF 300 may provision the created Application Profiles to the SD-WAN router 320.

[0184] In some embodiments, the steps S410 through S420 may be performed at least once for each (edge) application that is intended to be supported by the enterprise.

[0185] At step S425, the enterprise administrator 400 may create one or more EAS Profiles through the RMF 300. In some embodiments, the request may include at least one of (but not limited to) :

[0186] - EAS ID: it is the EAS ID which has been provisioned to the EEL. In some embodiments, the ID may be used for edge discovery.

[0187] - EAS FQDN: the FQDN through which a device can access the services provided by the EAS.

[0188] At step S430, the RMF 300 may send a response back with the EAS Profile ID.

[0189] At step S435, the RMF 300 may provision the created EAS Profiles to the SD-WAN router 320.

[0190] In some embodiments, the steps S425 through S435 may be performed at least once for each EAS that is intended to be used by the enterprise.

[0191] At step S440, the enterprise administrator 400 may create one or more Enterprise Policies through the RMF 300. Some examples are provided as follows (but not limited to) :

[0192] - 5G is the preferred connectivity to route the traffic of Application #Ato EAS #A.

[0193] - For the traffic toward EAS #A, the prioritized traffic shall be routed to Local EAS #A, and the rest shall be routed to EAS #Ain public edges. The prioritized traffic is sent from a preconfigured device IP address list.

[0194] - For the traffic between Application #Ato EAS #A, EDN redundancy shall be provided (route to at least two EDNs) .

[0195] - For the traffic between Application #Ato EAS #A, network redundancy shall be provided (using the mobile networks at least from two CSPs) .

[0196] At step S445, the RMF 300 may send a response back with the Policy ID.

[0197] In some embodiments, the steps S440 through S445 may be performed at least once for each policy that is intended to be applied by the enterprise.

[0198] In some embodiments, an exemplary application profile is provided in Table 1.

[0199] Table 1: Application Profile

[0200] In some embodiments, an exemplary EAS profile is provided in Table 2.

[0201] Table 2: EAS Profile

[0202] In some embodiments, an exemplary enterprise policy is provided in Table 3.

[0203] Table 3: Enterprise Policy

[0204] However, the present disclosure is not limited thereto. In some other embodiments, an application profile, an EAS profile, and / or an enterprise policy may have more, less, and / or different fields / IEs than those shown in the above tables.

[0205] Fig. 5 is a diagram illustrating an exemplary edge discovery procedure according to an embodiment of the present disclosure. As shown in Fig. 5, the procedure may begin with step S505 where the SD-WAN router 320 may send a "Service Provisioning" request towards the ECS 330 to discover the EDNs. In some embodiments, the request may include at least one of (but not limited to) an EEC ID, a UE ID, and location information. In some embodiments, the Router Application 323 inside the SD-WAN router 320 may act as an EEC. For details, please refer to 3GPP TS 24.558, clause 7.2.

[0206] At step S510, the ECS 330 may send a "Service Provisioning" response back to the SD-WAN router 320. In some embodiments, the response may include one or more EDN configuration information. In some embodiments, EDN configuration information may comprise at least one of (but not limited to) :

[0207] - EDN connection information, including at least one of (but not limited to) DNN and S-SNSSAI information that a UE can use to create a PDU session.

[0208] - EES information, including at least one of (but not limited to) EES ID and a list of EAS IDs associated with the EDN. In some embodiments, the SD-WAN router 320 may select EDNs based on EAS IDs. For details, please refer to 3GPP TS 24.558, clause 7.2.

[0209] At step S515, the SD-WAN router 320 may filter EDNs, for example, based on the EAS IDs inside the returned EDN configuration information. For example, the SD-WAN router 320 may select one or more of the EDNs that are related to the applications of interest, or that are close to the place where the SD-WAN router 320 or its associated branch is located.

[0210] At step S520, for each applicable or selected EDN, the SD-WAN router 320 may send an "EAS Discovery" request towards the EES 343 inside the EDN. In some embodiments, the request may at least include at least one of (but not limited to) an EEC ID, a UE ID, and an EAS discovery filter. For details, please refer to 3GPP TS 24.558, clause 6.3.

[0211] At step S525, the EES 343 may send an "EAS Discovery" response back to the SD-WAN router 320. In some embodiments, the response may include a list of EAS information at least with EAS ID and the EAS endpoint (e.g., IP addresses) .

[0212] In some embodiments, the steps S520 and S525 may be performed at least once for each selected EDN.

[0213] At step S530, the SD-WAN router 320 may forward the EDN information with discovered EAS information to the RMF 300.

[0214] At step S535, the RMF 300 may update the corresponding EAS Profiles with the IP addresses from EAS discovery.

[0215] At step S540, the RMF 300 may determine an Application vs. EDN mapping, for example, based on the enterprise policies and / or EDN information.

[0216] At step S545, the RMF 300 may forward the Application vs. EDN mappings to the SD-WAN router 320.

[0217] At step S550, the SD-WAN router 320 may create a PDU session for each selected EDN.

[0218] At step S555, the RMF 300 may configure the DNS server 310 with EAS FQDN, EAS IP addresses, and / or one or more policies. In some embodiments, the one or more policies may comprise one or more enterprise policies and / or one or more load balancing policies. In this way, the DNS server 310 may resolve the FQDN of an EAS  based on the one or more enterprise policies and / or the one or more load balancing policies. For example, an FQDN of an EAS may be resolved to an address of a local EAS for a DNS request from a specific prioritized / premium device. For another example, an FQDN of an EAS may be resolved to multiple EASs in a load balanced manner (e.g., in a round-robin manner) .

[0219] Fig. 6 is a diagram illustrating an exemplary local EAS deployment procedure according to an embodiment of the present disclosure. As shown in Fig. 6, the procedure may begin with step S605 where the enterprise administrator 400 may deploy a local EAS through the RMF 300 by sending a request (e.g., an input to the UI) . In some embodiments, the request may at least include an EAS artifact (or a reference or link to the EAS artifact) and associated EAS Profile ID.

[0220] At step S610, the RMF 300 may send the EAS artifact (or the reference or link) to the SD-WAN router 320 for deployment.

[0221] At step S615, the SD-WAN router 320 (e.g., its router application 323) may execute the deployment.

[0222] At step S620, the SD-WAN router 320 (e.g., its router application 323) may send the (internal) IP address to the RMF 300.

[0223] At step S625, the RMF 300 may update the corresponding EAS Profiles with the (internal) IP address.

[0224] At step S630, the RMF 300 may configure the DNS server 310 with EAS FQDN, (internal) EAS IP addresses, and / or corresponding load balancing policies. In this way, the DNS server 310 may resolve the FQDN of the EAS (of which the deployed local EAS is an EAS instance) correctly and optionally in a load balanced manner.

[0225] Fig. 7 is a diagram illustrating an exemplary traffic routing procedure according to an embodiment of the present disclosure. As shown in Fig. 7, the procedure may begin with step S705 where the device 350 may request the DNS server 310 to resolve an EAS FQDN.

[0226] At step S710, the DNS server 310 may return an EAS IP address based on the context (e.g., the device IP address or the index of the request) and / or load balancing policies. For example, when the device 350 has a higher priority level or a premium subscription of application service (e.g., when the device 350 has a specific IP address) , the DNS server 310 may resolve the FQDN to an internal IP address pointing to a local EAS 325 deployed in the SD-WAN router 320.

[0227] At step S715, the device 350 may send application data through LAN.

[0228] At step S720, if the destination IP address points to the local EAS 325 (e.g., an internal IP address) , the SD-WAN router 320 may route the traffic to the local EAS 325.

[0229] At step S725, if the destination IP address points to the remote EAS 341 (e.g., an external IP address) , the SD-WAN router 320 may determine which PDU session (and / or an associated UE modem) is to be used to route the traffic.

[0230] In some embodiments, the SD-WAN router 320 may firstly determine the Application based on the Application Traffic Descriptor defined in the Application Profiles, and then the SD-WAN router 320 may determine the PDU session (and / or an associated UE modem) based on the enterprise Policies and / or the Application vs. EDN mappings.

[0231] In some embodiments, when the SD-WAN router 320 determines that the application traffic data is delay sensitive traffic, it may select a PDU session with a lower delay. In some embodiments, when the SD-WAN router 320 determines that the application traffic data is related to a high throughput requirement, it may select a PDU session that provides a higher throughput.

[0232] At step S730, the SD-WAN router 320 may route the traffic toward the remote EAS 341 through the determined PDU session (and / or the associated UE modem) .

[0233] With the embodiments described above, SD-WAN routers may be enabled to route traffic to edges according to enterprise policies. Further, the solution is transparent to the devices, and no additional edge computing support is required.

[0234] Although some procedures are shown in the Fig. 4 through Fig. 7 and described above, the present disclosure is not limited thereto. In some other embodiments, the procedures may have more, less, and / or different steps than those shown and described. In some other embodiments, the order of the steps in the procedures may not be exactly same as those shown and described. For example, the steps S410 through S420 may be performed in parallel to or after the steps S425 through S435 and / or the steps S440 through S445.

[0235] Fig. 8 is a flow chart of an exemplary method 800 at a first network node for routing traffic to data networks according to an embodiment of the present disclosure. The method 800 may be performed by an SD-WAN router (e.g., the SD-WAN router 320) . The method 800 may comprise steps S810, S820, and S830. However, the present disclosure is not limited thereto. In some other embodiments, the method 800 may comprise more steps, less steps, different steps, or any combination thereof.  Further the steps of the method 800 may be performed in a different order than that described herein. Further, in some embodiments, a step in the method 800 may be split into multiple sub-steps and performed by different entities, and / or multiple steps in the method 800 may be combined into a single step.

[0236] The method 800 may begin at step S810 where the first network node may receive, from a device, application data destined to an address of an application server associated with a data network.

[0237] At step S820, the first network node may determine a PDU session based on at least the application data and / or the address of the application server.

[0238] At step S830, the first network node may route the application data to the application server by using the determined PDU session.

[0239] In some embodiments, the application data may be received via a LAN modem of the first network node, and the application data may be routed to the application server via a UE modem that is associated with the determined PDU session. In some embodiments, before the step of determining the PDU session, the method 800 may further comprise: establishing one or more PDU sessions for one or more data networks by using one or more UE modems of the first network node. In some embodiments, the step of determining the PDU session may comprise: selecting one of the established PDU sessions based on at least the application data and / or the address of the application server. In some embodiments, the step of selecting one of the established PDU sessions may comprise: determining an application associated with the application data based on at least an ATD in an application profile; and selecting at least one of the established PDU sessions based on one or more policies and a mapping between the determined application and one or more data networks. In some embodiments, at least one of the application profile and the mapping may be provisioned by a second network node to the first network node.

[0240] In some embodiments, before the step of determining the PDU session, the method 800 may further comprise at least one of: receiving, from a second network node, a message indicating one or more client IDs assigned for one or more UE modems of the first network node; receiving, from the second network node, a message indicating one or more application profiles; and receiving, from the second network node, a message indicating one or more application server profiles. In some embodiments, an application profile may indicate at least one of: an identifier of the  application profile; an identifier of an AC associated with an application; ATD; and an identifier of an application server serving the AC. In some embodiments, an application server profile may indicate at least one of: an identifier of the application server profile; an identifier of the application server; an FQDN of the application server; and one or more addresses of one or more instances of the application server.

[0241] In some embodiments, before the step of determining the PDU session, the method 800 may further comprise at least one of: transmitting, to an configuration server, a message for data network discovery; receiving, from the configuration server, a message indicating one or more configurations for one or more data networks; filtering the one or more data networks based on one or more application server IDs in the one or more configurations for the one or more data networks; transmitting, to a server in each of the filtered data networks, a message for application server discovery; and receiving, from the server, a message indicating one or more application servers belonging to the corresponding data network. In some embodiments, the method 800 may further comprise: transmitting, to a second network node, a message indicating the discovered data networks and / or the discovered application servers in each of the discovered data networks; and receiving, from the second network node, a message indicating a mapping between one or more applications and one or more data networks.

[0242] In some embodiments, before the step of determining the PDU session, the method 800 may further comprise: determining whether or not the address of the application server is associated with a local application server at the first network node. In some embodiments, the step of determining the PDU session may be performed only in response to determining that the address of the application server is not associated with a local application server at the first network node. In some embodiments, the method 800 may further comprise: routing the application data to the local application server in response to determining that the address of the application server is associated with the local application server at the first network node. In some embodiments, before the step of determining whether or not the address of the application server is associated with a local application server at the first network node, the method 800 may further comprise: receiving, from a second network node, a message indicating an application server artifact for deploying the local application server; deploying the local application server by using the application server artifact;  and transmitting, to the second network node, a message indicating an address of the deployed local application server.

[0243] In some embodiments, the first network node may be an SD-WAN router, and the second network node may be an RMF. In some embodiments, the application server may be an EAS. In some embodiments, the local application server may be a local EAS. In some embodiments, the data network may be an EDN. In some embodiments, the client may be an EEC. In some embodiments, the server may be an EES. In some embodiments, the configuration server may be an ECS.

[0244] Fig. 9 is a flow chart of an exemplary method 900 at a second network node for managing at least one first network node to route traffic to data networks according to an embodiment of the present disclosure. The method 900 may be performed by a router management function (e.g., the router management function 300) . The method 900 may comprise steps S910, S920, 930, and / or S940. However, the present disclosure is not limited thereto. In some other embodiments, the method 900 may comprise more steps, less steps, different steps, or any combination thereof. Further the steps of the method 900 may be performed in a different order than that described herein. Further, in some embodiments, a step in the method 900 may be split into multiple sub-steps and performed by different entities, and / or multiple steps in the method 900 may be combined into a single step.

[0245] The method 900 may begin at step S910 where the second network node may receive one or more inputs regarding to at least one of one or more application profiles, one or more application server profiles, and one or more policies.

[0246] At step S920, the second network node may create at least one of one or more application profiles, one or more application server profiles, and one or more policies based on at least the one or more inputs.

[0247] In some embodiments, the method 900 may further comprise at least one of following steps.

[0248] At step S930, the second network node may provision, to the at least one first network node, the one or more application profiles in response to creating the one or more application profiles.

[0249] At step S940, the second network node may provision, to the at least one first network node, the one or more application server profiles in response to creating the one or more application server profiles.

[0250] In some embodiments, the one or more inputs may comprise at least one of: an identifier of an AC associated with an application; ATD; an identifier of an application server serving the AC; an identifier of the application server; an FQDN of the application server; and policy information. In some embodiments, an application profile may indicate at least one of: an identifier of the application profile; an identifier of an AC associated with an application; ATD; and an identifier of an application server serving the AC. In some embodiments, an application server profile may indicate at least one of: an identifier of the application server profile; an identifier of the application server; an FQDN of the application server; and one or more addresses of one or more instances of the application server. In some embodiments, a policy and / or policy information may indicate at least one of: which RAT is preferred to be used for routing data associated with a specific application to a specific application server; whether or not prioritized traffic is to be routed to a local application server; whether or not data network redundancy is to be provided for routing data associated with a specific application to a specific application server; and whether or not network redundancy is to be provided for routing data associated with a specific application to a specific application server.

[0251] In some embodiments, the method 900 may further comprise: obtaining an input regarding to one or more client IDs assigned for one or more UE modems of the at least one first network node; and transmitting, to the at least one first network node, a message indicating the one or more client IDs. In some embodiments, the method 900 may further comprise: receiving, from the at least one first network node, a message indicating one or more discovered data networks and / or one or more discovered application servers in each of the discovered data networks; updating one or more corresponding application server profiles based on the discovered data networks and / or the discovered application servers; determining a mapping between one or more applications and discovered data networks based on at least the one or more policies and the discovered data networks; and transmitting, to the at least one first network node, a message indicating the mapping. In some embodiments, the method 900 may further comprise: transmitting, to a third network node, a message for updating one or more DNS records. In some embodiments, the message may indicate at least one of: an FQDN of an application server associated with the discovered application servers, the address of the discovered application servers, and one or more load balancing policies for the application server.

[0252] In some embodiments, the method 900 may further comprise: transmitting, to the at least one first network node, a message indicating an application server artifact for deploying a local application server; receiving, from the at least one first network node, a message indicating an address of the deployed local application server; and updating a corresponding application server profile with the address of the deployed local application server. In some embodiments, the method 900 may further comprise: transmitting, to a third network node, a message for updating one or more DNS records. In some embodiments, the message may indicate at least one of: an FQDN of an application server associated with the deployed local application server, the address of the deployed local application server, and one or more load balancing policies for the application server.

[0253] In some embodiments, the first network node may be an SD-WAN router, the second network node may be an RMF, and the third network node may be a DNS server. In some embodiments, the application server may be an EAS. In some embodiments, the local application server may be a local EAS. In some embodiments, the data network may be an EDN. In some embodiments, the client may be an EEC. In some embodiments, the server may be an EES. In some embodiments, the configuration server may be an ECS.

[0254] Fig. 10 schematically shows an embodiment of an arrangement which may be used in one or more network nodes (e.g., the SD-WAN router 320 or the router management function 300) according to an embodiment of the present disclosure. Comprised in the arrangement 1000 are a processing unit 1006, e.g., with a Digital Signal Processor (DSP) or a Central Processing Unit (CPU) . The processing unit 1006 may be a single unit or a plurality of units to perform different actions of procedures described herein. The arrangement 1000 may also comprise an input unit 1002 for receiving signals from other entities, and an output unit 1004 for providing signal (s) to other entities. The input unit 1002 and the output unit 1004 may be arranged as an integrated entity or as separate entities.

[0255] Furthermore, the arrangement 1000 may comprise at least one computer program product 1008 in the form of a non-volatile or volatile memory, e.g., an Electrically Erasable Programmable Read-Only Memory (EEPROM) , a flash memory and / or a hard drive. The computer program product 1008 comprises a computer program 1010, which comprises code / computer readable instructions, which when  executed by the processing unit 1006 in the arrangement 1000 causes the arrangement 1000 and / or the network node (s) in which it is comprised to perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 4 through Fig. 9 or any other variant.

[0256] The computer program 1010 may be configured as a computer program code structured in computer program modules 1010A, 1010B, and 1010C. Hence, in an exemplifying embodiment when the arrangement 1000 is used in a first network node for routing traffic to data networks, the code in the computer program of the arrangement 1000 includes: a module 1010A configured to receive, from a device, application data destined to an address of an application server associated with a data network; a module 1010B configured to determine a PDU session based on at least the application data and / or the address of the application server; and a module 1010C configured to route the application data to the application server by using the determined PDU session.

[0257] Additionally or alternatively, the computer program 1010 may be configured as a computer program code structured in computer program modules 1010D, 1010E, 1010F, and / or 1010G. Hence, in an exemplifying embodiment when the arrangement 1000 is used in a second network node for r managing at least one first network node to route traffic to data networks, the code in the computer program of the arrangement 1000 includes: a module 1010D configured to receive one or more inputs regarding to at least one of one or more application profiles, one or more application server profiles, and one or more policies; and a module 1010E configured to create at least one of one or more application profiles, one or more application server profiles, and one or more policies based on at least the one or more inputs. In some embodiments, the code in the computer program of the arrangement 1000 may further comprises at least one of: a module 1010F configured to provision, to the at least one first network node, the one or more application profiles in response to creating the one or more application profiles; and a module 1010G configured to provision, to the at least one first network node, the one or more application server profiles in response to creating the one or more application server profiles.

[0258] The computer program modules could essentially perform the actions of the flow illustrated in Fig. 4 through Fig. 9, to emulate the network node (s) . In other words,  when the different computer program modules are executed in the processing unit 1006, they may correspond to different modules in the network node (s) .

[0259] Although the code means in the embodiments disclosed above in conjunction with Fig. 10 are implemented as computer program modules which when executed in the processing unit causes the arrangement to perform the actions described above in conjunction with the figures mentioned above, at least one of the code means may in alternative embodiments be implemented at least partly as hardware circuits.

[0260] The processor may be a single CPU (Central processing unit) , but could also comprise two or more processing units. For example, the processor may include general purpose microprocessors; instruction set processors and / or related chips sets and / or special purpose microprocessors such as Application Specific Integrated Circuit (ASICs) . The processor may also comprise board memory for caching purposes. The computer program may be carried by a computer program product connected to the processor. The computer program product may comprise a computer readable medium on which the computer program is stored. For example, the computer program product may be a flash memory, a Random-access memory (RAM) , a Read-Only Memory (ROM) , or an EEPROM, and the computer program modules described above could in alternative embodiments be distributed on different computer program products in the form of memories within the network node (s) .

[0261] Correspondingly to the method 800 as described above, an exemplary first network node for routing traffic to data networks is provided. Fig. 11 is a block diagram of a first network node 1100 according to an embodiment of the present disclosure. The first network node 1100 may be, e.g., the SD-WAN router 320 in some embodiments.

[0262] The first network node 1100 may be configured to perform the method 800 as described above in connection with Fig. 8. As shown in Fig. 11, the first network node 1100 may comprise a receiving module 1110 configured to receive, from a device, application data destined to an address of an application server associated with a data network; a determining module 1120 configured to determine a PDU session based on at least the application data and / or the address of the application server; and a routing module 1130 configured to route the application data to the application server by using the determined PDU session.

[0263] The above modules 1110, 1120, and / or 1130 may be implemented as a pure hardware solution or as a combination of software and hardware, e.g., by one or more  of: a processor or a micro-processor and adequate software and memory for storing of the software, a Programmable Logic Device (PLD) or other electronic component (s) or processing circuitry configured to perform the actions described above, and illustrated, e.g., in Fig. 8. Further, the first network node 1100 may comprise one or more further modules, each of which may perform any of the steps of the method 800 described with reference to Fig. 8.

[0264] Correspondingly to the method 900 as described above, an exemplary second network node for managing at least one first network node to route traffic to data networks is provided. Fig. 12 is a block diagram of a second network node 1200 according to an embodiment of the present disclosure. The second network node 1200 may be, e.g., the router management function 300 in some embodiments.

[0265] The second network node 1200 may be configured to perform the method 900 as described above in connection with Fig. 9. As shown in Fig. 12, the second network node 1200 may comprise a receiving module 1210 configured to receive one or more inputs regarding to at least one of one or more application profiles, one or more application server profiles, and one or more policies; and a creating module 1220 configured to create at least one of one or more application profiles, one or more application server profiles, and one or more policies based on at least the one or more inputs. In some embodiments, the second network node 1200 may further comprise at least one of: a first provisioning module 1230 configured to provision, to the at least one first network node, the one or more application profiles in response to creating the one or more application profiles; and a second provisioning module 1240 configured to provision, to the at least one first network node, the one or more application server profiles in response to creating the one or more application server profiles.

[0266] The above modules 1210, 1220, 1230, and / or 1240 may be implemented as a pure hardware solution or as a combination of software and hardware, e.g., by one or more of: a processor or a micro-processor and adequate software and memory for storing of the software, a PLD or other electronic component (s) or processing circuitry configured to perform the actions described above, and illustrated, e.g., in Fig. 9. Further, the second network node 1200 may comprise one or more further modules, each of which may perform any of the steps of the method 900 described with reference to Fig. 9.

[0267] Fig. 13 shows an example of a communication system QQ100 in accordance with some embodiments.

[0268] In the example, the communication system QQ100 includes a telecommunication network QQ102 that includes an access network QQ104, such as a radio access network (RAN) , and a core network QQ106, which includes one or more core network nodes QQ108. The access network QQ104 includes one or more access network nodes, such as network nodes QQ110a and QQ110b (one or more of which may be generally referred to as network nodes QQ110) , or any other similar 3rd Generation Partnership Project (3GPP) access node or non-3GPP access point. The network nodes QQ110 facilitate direct or indirect connection of user equipment (UE) , such as by connecting UEs QQ112a, QQ112b, QQ112c, and QQ112d (one or more of which may be generally referred to as UEs QQ112) to the core network QQ106 over one or more wireless connections.

[0269] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system QQ100 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system QQ100 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.

[0270] The UEs QQ112 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes QQ110 and other communication devices. Similarly, the network nodes QQ110 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs QQ112 and / or with other network nodes or equipment in the telecommunication network QQ102 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network QQ102.

[0271] In the depicted example, the core network QQ106 connects the network nodes QQ110 to one or more hosts, such as host QQ116. These connections may be direct or  indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network QQ106 includes one more core network nodes (e.g., core network node QQ108) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node QQ108. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC) , Mobility Management Entity (MME) , Home Subscriber Server (HSS) , Access and Mobility Management Function (AMF) , Session Management Function (SMF) , Authentication Server Function (AUSF) , Subscription Identifier De-concealing function (SIDF) , Unified Data Management (UDM) , Security Edge Protection Proxy (SEPP) , Network Exposure Function (NEF) , and / or a User Plane Function (UPF) .

[0272] The host QQ116 may be under the ownership or control of a service provider other than an operator or provider of the access network QQ104 and / or the telecommunication network QQ102, and may be operated by the service provider or on behalf of the service provider. The host QQ116 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.

[0273] As a whole, the communication system QQ100 of Fig. 13 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM) ; Universal Mobile Telecommunications System (UMTS) ; Long Term Evolution (LTE) , and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G) ; wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi) ; and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax) , Bluetooth, Z-Wave, Near  Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.

[0274] In some examples, the telecommunication network QQ102 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network QQ102 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network QQ102. For example, the telecommunications network QQ102 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC)  / Massive IoT services to yet further UEs.

[0275] In some examples, the UEs QQ112 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network QQ104 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network QQ104. Additionally, a UE may be configured for operating in single-or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC) , such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio -Dual Connectivity (EN-DC) .

[0276] In the example, the hub QQ114 communicates with the access network QQ104 to facilitate indirect communication between one or more UEs (e.g., UE QQ112c and / or QQ112d) and network nodes (e.g., network node QQ110b) . In some examples, the hub QQ114 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub QQ114 may be a broadband router enabling access to the core network QQ106 for the UEs. As another example, the hub QQ114 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes QQ110, or by executable code, script, process, or other instructions in the hub QQ114. As another example, the hub QQ114 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub QQ114 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub QQ114 may retrieve VR assets,  video, audio, or other media or data related to sensory information via a network node, which the hub QQ114 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub QQ114 acts as a proxy server or orchestrator for the UEs, in particular in if one or more of the UEs are low energy IoT devices.

[0277] The hub QQ114 may have a constant / persistent or intermittent connection to the network node QQ110b. The hub QQ114 may also allow for a different communication scheme and / or schedule between the hub QQ114 and UEs (e.g., UE QQ112c and / or QQ112d) , and between the hub QQ114 and the core network QQ106. In other examples, the hub QQ114 is connected to the core network QQ106 and / or one or more UEs via a wired connection. Moreover, the hub QQ114 may be configured to connect to an M2M service provider over the access network QQ104 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes QQ110 while still connected via the hub QQ114 via a wired or wireless connection. In some embodiments, the hub QQ114 may be a dedicated hub -that is, a hub whose primary function is to route communications to / from the UEs from / to the network node QQ110b. In other embodiments, the hub QQ114 may be a non-dedicated hub -that is, a device which is capable of operating to route communications between the UEs and network node QQ110b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.

[0278] Fig. 14 shows a UE QQ200 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA) , wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE) , laptop-mounted equipment (LME) , smart device, wireless customer-premise equipment (CPE) , vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP) , including a narrow band internet of things (NB-IoT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.

[0279] A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC) , vehicle-to-vehicle (V2V) , vehicle-to-infrastructure (V2I) , or vehicle-to-everything (V2X) . In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller) . Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter) .

[0280] The UE QQ200 includes processing circuitry QQ202 that is operatively coupled via a bus QQ204 to an input / output interface QQ206, a power source QQ208, a memory QQ210, a communication interface QQ212, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Fig. 14. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.

[0281] The processing circuitry QQ202 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory QQ210. The processing circuitry QQ202 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs) , application specific integrated circuits (ASICs) , etc. ) ; programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP) , together with appropriate software; or any combination of the above. For example, the processing circuitry QQ202 may include multiple central processing units (CPUs) .

[0282] In the example, the input / output interface QQ206 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE QQ200. Examples of an input device include a touch-sensitive or  presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc. ) , a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.

[0283] In some embodiments, the power source QQ208 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet) , photovoltaic device, or power cell, may be used. The power source QQ208 may further include power circuitry for delivering power from the power source QQ208 itself, and / or an external power source, to the various parts of the UE QQ200 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source QQ208. Power circuitry may perform any formatting, converting, or other modification to the power from the power source QQ208 to make the power suitable for the respective components of the UE QQ200 to which power is supplied.

[0284] The memory QQ210 may be or be configured to include memory such as random access memory (RAM) , read-only memory (ROM) , programmable read-only memory (PROM) , erasable programmable read-only memory (EPROM) , electrically erasable programmable read-only memory (EEPROM) , magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory QQ210 includes one or more application programs QQ214, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data QQ216. The memory QQ210 may store, for use by the UE QQ200, any of a variety of various operating systems or combinations of operating systems.

[0285] The memory QQ210 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID) , flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in- line memory module (DIMM) , synchronous dynamic random access memory (SDRAM) , external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs) , such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC) , integrated UICC (iUICC) or a removable UICC commonly known as ′SIM card. ′ The memory QQ210 may allow the UE QQ200 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory QQ210, which may be or comprise a device-readable storage medium.

[0286] The processing circuitry QQ202 may be configured to communicate with an access network or other network using the communication interface QQ212. The communication interface QQ212 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna QQ222. The communication interface QQ212 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network) . Each transceiver may include a transmitter QQ218 and / or a receiver QQ220 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth) . Moreover, the transmitter QQ218 and receiver QQ220 may be coupled to one or more antennas (e.g., antenna QQ222) and may share circuit components, software or firmware, or alternatively be implemented separately.

[0287] In the illustrated embodiment, communication functions of the communication interface QQ212 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA) , Wideband Code Division Multiple Access (WCDMA) , GSM, LTE, New Radio (NR) , UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP) ,  synchronous optical networking (SONET) , Asynchronous Transfer Mode (ATM) , QUIC, Hypertext Transfer Protocol (HTTP) , and so forth.

[0288] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface QQ212, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature) , random (e.g., to even out the load from reporting from several sensors) , in response to a triggering event (e.g., when moisture is detected an alert is sent) , in response to a request (e.g., a user initiated request) , or a continuous stream (e.g., a live video feed of a patient) .

[0289] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.

[0290] A UE, when in the form of an Internet of Things (IoT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an IoT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR) , a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal-or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV) , and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an IoT device comprises circuitry and / or software in  dependence of the intended application of the IoT device in addition to other components as described in relation to the UE QQ200 shown in Fig. 14.

[0291] As yet another specific example, in an IoT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-IoT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.

[0292] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone′s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone′s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.

[0293] Fig. 15 shows a network node QQ300 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points) , base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs) ) .

[0294] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units and / or  remote radio units (RRUs) , sometimes referred to as Remote Radio Heads (RRHs) . Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS) .

[0295] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs) , base transceiver stations (BTSs) , transmission points, transmission nodes, multi-cell / multicast coordination entities (MCEs) , Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs) ) , and / or Minimization of Drive Tests (MDTs) .

[0296] The network node QQ300 includes a processing circuitry QQ302, a memory QQ304, a communication interface QQ306, and a power source QQ308. The network node QQ300 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc. ) , which may each have their own respective components. In certain scenarios in which the network node QQ300 comprises multiple separate components (e.g., BTS and BSC components) , one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node QQ300 may be configured to support multiple radio access technologies (RATs) . In such embodiments, some components may be duplicated (e.g., separate memory QQ304 for different RATs) and some components may be reused (e.g., a same antenna QQ310 may be shared by different RATs) . The network node QQ300 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node QQ300, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node QQ300.

[0297] The processing circuitry QQ302 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal  processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node QQ300 components, such as the memory QQ304, to provide network node QQ300 functionality.

[0298] In some embodiments, the processing circuitry QQ302 includes a system on a chip (SOC) . In some embodiments, the processing circuitry QQ302 includes one or more of radio frequency (RF) transceiver circuitry QQ312 and baseband processing circuitry QQ314. In some embodiments, the radio frequency (RF) transceiver circuitry QQ312 and the baseband processing circuitry QQ314 may be on separate chips (or sets of chips) , boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry QQ312 and baseband processing circuitry QQ314 may be on the same chip or set of chips, boards, or units.

[0299] The memory QQ304 may comprise any form of volatile or non-volatile computer-readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM) , read-only memory (ROM) , mass storage media (for example, a hard disk) , removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD) ) , and / or any other volatile or non-volatile, non-transitory device-readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry QQ302. The memory QQ304 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry QQ302 and utilized by the network node QQ300. The memory QQ304 may be used to store any calculations made by the processing circuitry QQ302 and / or any data received via the communication interface QQ306. In some embodiments, the processing circuitry QQ302 and memory QQ304 is integrated.

[0300] The communication interface QQ306 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface QQ306 comprises port (s)  / terminal (s) QQ316 to send and receive data, for example to and from a network over a wired connection. The communication interface QQ306 also includes radio front-end circuitry QQ318 that may  be coupled to, or in certain embodiments a part of, the antenna QQ310. Radio front-end circuitry QQ318 comprises filters QQ320 and amplifiers QQ322. The radio front-end circuitry QQ318 may be connected to an antenna QQ310 and processing circuitry QQ302. The radio front-end circuitry may be configured to condition signals communicated between antenna QQ310 and processing circuitry QQ302. The radio front-end circuitry QQ318 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry QQ318 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters QQ320 and / or amplifiers QQ322. The radio signal may then be transmitted via the antenna QQ310. Similarly, when receiving data, the antenna QQ310 may collect radio signals which are then converted into digital data by the radio front-end circuitry QQ318. The digital data may be passed to the processing circuitry QQ302. In other embodiments, the communication interface may comprise different components and / or different combinations of components.

[0301] In certain alternative embodiments, the network node QQ300 does not include separate radio front-end circuitry QQ318, instead, the processing circuitry QQ302 includes radio front-end circuitry and is connected to the antenna QQ310. Similarly, in some embodiments, all or some of the RF transceiver circuitry QQ312 is part of the communication interface QQ306. In still other embodiments, the communication interface QQ306 includes one or more ports or terminals QQ316, the radio front-end circuitry QQ318, and the RF transceiver circuitry QQ312, as part of a radio unit (not shown) , and the communication interface QQ306 communicates with the baseband processing circuitry QQ314, which is part of a digital unit (not shown) .

[0302] The antenna QQ310 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna QQ310 may be coupled to the radio front-end circuitry QQ318 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna QQ310 is separate from the network node QQ300 and connectable to the network node QQ300 through an interface or port.

[0303] The antenna QQ310, communication interface QQ306, and / or the processing circuitry QQ302 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node  and / or any other network equipment. Similarly, the antenna QQ310, the communication interface QQ306, and / or the processing circuitry QQ302 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment.

[0304] The power source QQ308 provides power to the various components of network node QQ300 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component) . The power source QQ308 may further comprise, or be coupled to, power management circuitry to supply the components of the network node QQ300 with power for performing the functionality described herein. For example, the network node QQ300 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source QQ308. As a further example, the power source QQ308 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.

[0305] Embodiments of the network node QQ300 may include additional components beyond those shown in Fig. 15 for providing certain aspects of the network node's functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node QQ300 may include user interface equipment to allow input of information into the network node QQ300 and to allow output of information from the network node QQ300. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node QQ300.

[0306] Fig. 16 is a block diagram of a host QQ400, which may be an embodiment of the host QQ116 of Fig. 13, in accordance with various aspects described herein. As used herein, the host QQ400 may be or comprise various combinations hardware and / or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host QQ400 may provide one or more services to one or more UEs.

[0307] The host QQ400 includes processing circuitry QQ402 that is operatively coupled via a bus QQ404 to an input / output interface QQ406, a network interface QQ408, a  power source QQ410, and a memory QQ412. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Fig. 14 and Fig. 15, such that the descriptions thereof are generally applicable to the corresponding components of host QQ400.

[0308] The memory QQ412 may include one or more computer programs including one or more host application programs QQ414 and data QQ416, which may include user data, e.g., data generated by a UE for the host QQ400 or data generated by the host QQ400 for a UE. Embodiments of the host QQ400 may utilize only a subset or all of the components shown. The host application programs QQ414 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (WC) , High Efficiency Video Coding (HEVC) , Advanced Video Coding (AVC) , MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC) , MPEG, G.711) , including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems) . The host application programs QQ414 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host QQ400 may select and / or indicate a different host for over-the-top services for a UE. The host application programs QQ414 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMp) , Real-Time Streaming Protocol (RTSP) , Dynamic Adaptive Streaming over HTTP (MPEG-DASH) , etc.

[0309] Fig. 17 is a block diagram illustrating a virtualization environment QQ500 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments QQ500 hosted by one or more of hardware nodes, such as a hardware computing  device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host) , then the node may be entirely virtualized.

[0310] Applications QQ502 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc. ) are run in the virtualization environment QQ500 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.

[0311] Hardware QQ504 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers QQ506 (also referred to as hypervisors or virtual machine monitors (VMMs) ) , provide VMs QQ508a and QQ508b (one or more of which may be generally referred to as VMs QQ508) , and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer QQ506 may present a virtual operating platform that appears like networking hardware to the VMs QQ508.

[0312] The VMs QQ508 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer QQ506. Different embodiments of the instance of a virtual appliance QQ502 may be implemented on one or more of VMs QQ508, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV) . NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.

[0313] In the context of NFV, a VM QQ508 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs QQ508, and that part of hardware QQ504 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions  that run in one or more VMs QQ508 on top of the hardware QQ504 and corresponds to the application QQ502.

[0314] Hardware QQ504 may be implemented in a standalone network node with generic or specific components. Hardware QQ504 may implement some functions via virtualization. Alternatively, hardware QQ504 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration QQ510, which, among others, oversees lifecycle management of applications QQ502. In some embodiments, hardware QQ504 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system QQ512 which may alternatively be used for communication between hardware nodes and radio units.

[0315] Fig. 18 shows a communication diagram of a host QQ602 communicating via a network node QQ604 with a UE QQ606 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE QQ112a of Fig. 13 and / or UE QQ200 of Fig. 14) , network node (such as network node QQ110a of Fig. 13 and / or network node QQ300 of Fig. 15) , and host (such as host QQ116 of Fig. 13 and / or host QQ400 of Fig. 16) discussed in the preceding paragraphs will now be described with reference to Fig. 18.

[0316] Like host QQ400, embodiments of host QQ602 include hardware, such as a communication interface, processing circuitry, and memory. The host QQ602 also includes software, which is stored in or accessible by the host QQ602 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE QQ606 connecting via an over-the-top (OTT) connection QQ650 extending between the UE QQ606 and host QQ602. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection QQ650.

[0317] The network node QQ604 includes hardware enabling it to communicate with the host QQ602 and UE QQ606. The connection QQ660 may be direct or pass through a core network (like core network QQ106 of Fig. 13) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.

[0318] The UE QQ606 includes hardware and software, which is stored in or accessible by UE QQ606 and executable by the UE's processing circuitry. The software includes a client application, such as a web browser or operator-specific "app" that may be operable to provide a service to a human or non-human user via UE QQ606 with the support of the host QQ602. In the host QQ602, an executing host application may communicate with the executing client application via the OTT connection QQ650 terminating at the UE QQ606 and host QQ602. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection QQ650 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection QQ650.

[0319] The OTT connection QQ650 may extend via a connection QQ660 between the host QQ602 and the network node QQ604 and via a wireless connection QQ670 between the network node QQ604 and the UE QQ606 to provide the connection between the host QQ602 and the UE QQ606. The connection QQ660 and wireless connection QQ670, over which the OTT connection QQ650 may be provided, have been drawn abstractly to illustrate the communication between the host QQ602 and the UE QQ606 via the network node QQ604, without explicit reference to any intermediary devices and the precise routing of messages via these devices.

[0320] As an example of transmitting data via the OTT connection QQ650, in step QQ608, the host QQ602 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE QQ606. In other embodiments, the user data is associated with a UE QQ606 that shares data with the host QQ602 without explicit human interaction. In step QQ610, the host QQ602 initiates a transmission carrying the user data towards the UE QQ606. The host QQ602 may initiate the transmission responsive to a request transmitted by the UE QQ606. The request may be caused by  human interaction with the UE QQ606 or by operation of the client application executing on the UE QQ606. The transmission may pass via the network node QQ604, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step QQ612, the network node QQ604 transmits to the UE QQ606 the user data that was carried in the transmission that the host QQ602 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step QQ614, the UE QQ606 receives the user data carried in the transmission, which may be performed by a client application executed on the UE QQ606 associated with the host application executed by the host QQ602.

[0321] In some examples, the UE QQ606 executes a client application which provides user data to the host QQ602. The user data may be provided in reaction or response to the data received from the host QQ602. Accordingly, in step QQ616, the UE QQ606 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE QQ606. Regardless of the specific manner in which the user data was provided, the UE QQ606 initiates, in step QQ618, transmission of the user data towards the host QQ602 via the network node QQ604. In step QQ620, in accordance with the teachings of the embodiments described throughout this disclosure, the network node QQ604 receives user data from the UE QQ606 and initiates transmission of the received user data towards the host QQ602. In step QQ622, the host QQ602 receives the user data carried in the transmission initiated by the UE QQ606.

[0322] One or more of the various embodiments improve the performance of O T T services provided to the UE QQ606 using the OTT connection QQ650, in which the wireless connection QQ670 forms the last segment. More precisely, the teachings of these embodiments may improve the data rate, latency, power consumption and thereby provide benefits such as reduced user waiting time, relaxed restriction on file size, improved content resolution, better responsiveness, extended battery lifetime.

[0323] In an example scenario, factory status information may be collected and analyzed by the host QQ602. As another example, the host QQ602 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host QQ602 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights) . As another example, the  host QQ602 may store surveillance video uploaded by a UE. As another example, the host QQ602 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host QQ602 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices) , or any other function of collecting, retrieving, storing, analyzing and / or transmitting data.

[0324] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection QQ650 between the host QQ602 and UE QQ606, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host QQ602 and / or UE QQ606. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection QQ650 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection QQ650 may include message format, retransmission settings, preferred routing etc. ; the reconfiguring need not directly alter the operation of the network node QQ604. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host QQ602. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ′dummy′ messages, using the OTT connection QQ650 while monitoring propagation times, errors, etc.

[0325] Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or  similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.

[0326] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.

[0327] The present disclosure is described above with reference to the embodiments thereof. However, those embodiments are provided just for illustrative purpose, rather than limiting the present disclosure. The scope of the disclosure is defined by the attached claims as well as equivalents thereof. Those skilled in the art can make various alternations and modifications without departing from the scope of the disclosure, which all fall into the scope of the disclosure. Abbreviation         Explanation AC                   Application Client ACR                  Application Context Relocation DNS                  Domain Name System EAS                  Edge Application Server EDGEAPP              Architecture for Enabling Edge Applications EDN                  Edge Data Network EEC                  Edge Enabler Client EEL                  Edge Enabler Layer EES                  Edge Enabler Server FQDN                 Fully Qualified Domain Name LAN                  Local Area Network MPLS                 Multi-Protocol Label Switching SDN                  Software-Defined Network SD-WAN               Software-Defined Wide Area Network VPN                  Virtual Private Network WAN                  Wide Area Network

Claims

1.A method (800) at a first network node (320) for routing traffic to data networks, the method (800) comprising:receiving (S715, S810) , from a device (350) , application data destined to an address of an application server (341) associated with a data network (340) ;determining (S725, S820) a Protocol Data Unit (PDU) session based on at least the application data and / or the address of the application server (341) ; androuting (S730a / S730b, S830) the application data to the application server (341) by using the determined PDU session.2.The method (800) of claim 1, wherein the application data is received via a Local Area Network (LAN) modem (321) of the first network node (320) , and the application data is routed to the application server (341) via a User Equipment (UE) modem (327) that is associated with the determined PDU session.3.The method (800) of claim 1 or 2, wherein before the step of determining (S725, S820) the PDU session, the method (800) further comprises:establishing (S550) one or more PDU sessions for one or more data networks (340) by using one or more UE modems (327) of the first network node (320) ,wherein the step of determining (S725, S820) the PDU session comprises:selecting one of the established PDU sessions based on at least the application data and / or the address of the application server (341) .4.The method (800) of claim 3, wherein the step of selecting one of the established PDU sessions comprises:determining an application associated with the application data based on at least an Application Traffic Descriptor (ATD) in an application profile; andselecting at least one of the established PDU sessions based on one or more policies and a mapping between the determined application and one or more data networks (340) .5.The method (800) of claim 4, wherein at least one of the application profile and the mapping are provisioned by a second network node (300) to the first network node (320) .6.The method (800) of any of claims 1 to 5, wherein before the step of determining (S725, S820) the PDU session, the method (800) further comprises at least one of:receiving (S405) , from a second network node (300) , a message indicating one or more client identifiers (IDs) assigned for one or more UE modems of the first network node (320) ;receiving (S420) , from the second network node (300) , a message indicating one or more application profiles; andreceiving (S435) , from the second network node (300) , a message indicating one or more application server profiles.7.The method (800) of claim 6, wherein an application profile indicates at least one of:- an identifier of the application profile;- an identifier of an Application Client (AC) associated with an application;- ATD; and- an identifier of an application server serving the AC.8.The method (800) of claim 6 or 7, wherein an application server profile indicates at least one of:- an identifier of the application server profile;- an identifier of the application server;- a Fully Qualified Domain Name (FQDN) of the application server; and- one or more addresses of one or more instances of the application server.9.The method (800) of any of claims 1 to 8, wherein before the step of determining (S725, S820) the PDU session, the method (800) further comprises at least one of:transmitting (S505) , to an configuration server (330) , a message for data network discovery;receiving (S510) , from the configuration server (330) , a message indicating one or more configurations for one or more data networks;filtering (S515) the one or more data networks (340) based on one or more application server IDs in the one or more configurations for the one or more data networks;transmitting (S520) , to a server (343) in each of the filtered data networks (340) , a message for application server discovery; andreceiving (S525) , from the server (343) , a message indicating one or more application servers (341) belonging to the corresponding data network (340) .10.The method (800) of claim 9, further comprising:transmitting (S530) , to a second network node (300) , a message indicating the discovered data networks and / or the discovered application servers in each of the discovered data networks; andreceiving (S545) , from the second network node (300) , a message indicating a mapping between one or more applications and one or more data networks.11.The method (800) of any of claims 1 to 10, wherein before the step of determining the PDU session, the method (800) further comprises:determining whether or not the address of the application server is associated with a local application server (325) at the first network node (320) ,wherein the step of determining (S725, S820) the PDU session is performed only in response to determining that the address of the application server is not associated with a local application server (325) at the first network node (320) .12.The method (800) of claim 11, further comprising:routing (S720) the application data to the local application server (325) in response to determining that the address of the application server is associated with the local application server (325) at the first network node (320) .13.The method (800) of claim 11 or 12, wherein before the step of determining whether or not the address of the application server is associated with a local application server at the first network node (320) , the method (800) further comprises:receiving (S610) , from a second network node (300) , a message indicating an application server artifact for deploying the local application server (325) ;deploying (S615) the local application server (325) by using the application server artifact; andtransmitting (S620) , to the second network node (300) , a message indicating an address of the deployed local application server (325) .14.The method (800) of any of claims 1 to 13, wherein the first network node (320) is a Software Defined Wide Area Network (SD-WAN) router, and the second network node (300) is a Router Management Function (RMF) .15.The method (800) of any of claims 1 to 14, wherein the application server (341) is an Edge Application Server (EAS) ,wherein the local application server (325) is a local EAS,wherein the data network (340) is an Edge Data Networks (EDN) ,wherein the client (323) is an Edge Enabler Client (EEC) ,wherein the server (343) is an Edge Enabler Server (EES) ,wherein the configuration server (330) is an Edge Configuration Server (ECS) .16.A first network node (320, 1000, 1100) for routing traffic to data networks, the first network node (320, 1000, 1100) comprising:a processor (1006) ;a memory (1008) storing instructions which, when executed by the processor (1006) , cause the first network node (320, 1000, 1100) to:receive, from a device (350) , application data destined to an address of an application server (341) associated with a data network (340) ;determine a PDU session based on at least the application data and / or the address of the application server (341) ; androute the application data to the application server (341) by using the determined PDU session.17.The first network node (320, 1000, 1100) of claim 16, wherein the instructions, when executed by the processor (1006) , cause the first network node (320, 1000, 1100) further to perform the method (800) of any of claims 2 to 15.18.A method (900) at a second network node (300) for managing at least one first network node (320) to route traffic to data networks, the method (900) comprising:receiving (S410, S425, S440, S910) one or more inputs regarding to at least one of one or more application profiles, one or more application server profiles, and one or more policies; andcreating (S920) at least one of one or more application profiles, one or more application server profiles, and one or more policies based on at least the one or more inputs,wherein the method (900) further comprises at least one of:provisioning (S420, S930) , to the at least one first network node (320) , the one or more application profiles in response to creating the one or more application profiles; andprovisioning (S435, S940) , to the at least one first network node (320) , the one or more application server profiles in response to creating the one or more application server profiles.19.The method (900) of claim 18, wherein the one or more inputs comprise at least one of:- an identifier of an AC associated with an application;- ATD;- an identifier of an application server serving the AC;- an identifier of the application server;- an FQDN of the application server; and- policy information.20.The method (900) of claim 18 or 19, wherein an application profile indicates at least one of:- an identifier of the application profile;- an identifier of an AC associated with an application;- ATD; and- an identifier of an application server serving the AC.21.The method (900) of any of claims 18 to 20, wherein an application server profile indicates at least one of:- an identifier of the application server profile;- an identifier of the application server;- an FQDN of the application server; and- one or more addresses of one or more instances of the application server.22.The method (900) of any of claims 18 to 21, wherein a policy and / or policy information indicates at least one of:- which Radio Access Technology (RAT) is preferred to be used for routing data associated with a specific application to a specific application server;- whether or not prioritized traffic is to be routed to a local application server;- whether or not data network redundancy is to be provided for routing data associated with a specific application to a specific application server; and- whether or not network redundancy is to be provided for routing data associated with a specific application to a specific application server.23.The method (900) of any of claims 18 to 22, further comprising:obtaining (S405) an input regarding to one or more client IDs assigned for one or more UE modems of the at least one first network node (320) ; andtransmitting (S405) , to the at least one first network node (320) , a message indicating the one or more client IDs.24.The method (900) of any of claims 18 to 23, further comprising:receiving (S530) , from the at least one first network node (320) , a message indicating one or more discovered data networks and / or one or more discovered application servers in each of the discovered data networks;updating (S535) one or more corresponding application server profiles based on the discovered data networks and / or the discovered application servers;determining (S540) a mapping between one or more applications and discovered data networks based on at least the one or more policies and the discovered data networks; andtransmitting (S545) , to the at least one first network node (320) , a message indicating the mapping.25.The method (900) of claim 24, further comprising:transmitting (S555) , to a third network node (310) , a message for updating one or more Domain Name System (DNS) records,wherein the message indicates at least one of: an FQDN of an application server associated with the discovered application servers, the address of the discovered application servers, and one or more load balancing policies for the application server.26.The method (900) of any of claims 18 to 25, further comprising:transmitting (S610) , to the at least one first network node (320) , a message indicating an application server artifact for deploying a local application server;receiving (S620) , from the at least one first network node (320) , a message indicating an address of the deployed local application server; andupdating (S625) a corresponding application server profile with the address of the deployed local application server.27.The method (900) of claim 26, further comprising:transmitting (S630) , to a third network node (310) , a message for updating one or more DNS records,wherein the message indicates at least one of: an FQDN of an application server associated with the deployed local application server, the address of the deployed local application server, and one or more load balancing policies for the application server.28.The method (900) of any of claims 18 to 27, wherein the first network node (320) is an SD-WAN router, the second network node (300) is an RMF, and the third network node (310) is a DNS server.29.The method (900) of any of claims 18 to 28, wherein the application server (341) is an EAS,wherein the local application server (325) is a local EAS,wherein the data network (340) is an EDN,wherein the client (323) is an EEC,wherein the server (343) is an EES,wherein the configuration server (330) is an ECS.30.A second network node (300, 1000, 1200) for managing at least one first network node (320) to route traffic to data networks, the second network node (300, 1000, 1200) comprising:a processor (1006) ;a memory (1008) storing instructions which, when executed by the processor (1006) , cause the second network node (300, 1000, 1200) to:receive one or more inputs regarding to at least one of one or more application profiles, one or more application server profiles, and one or more policies; andcreate at least one of one or more application profiles, one or more application server profiles, and one or more policies based on at least the one or more inputs,wherein the instructions, when executed by the processor (1006) , cause the second network node (300, 1000, 1200) to further perform at least one of:provision, to the at least one first network node (320) , the one or more application profiles in response to creating the one or more application profiles; andprovision, to the at least one first network node (320) , the one or more application server profiles in response to creating the one or more application server profiles.31.The second network node (300, 1000, 1200) of claim 30, wherein the instructions, when executed by the processor (1006) , cause the second network node (300, 1000, 1200) further to perform the method (900) of any of claims 19 to 29.32.A computer program (1010) comprising instructions which, when executed by at least one processor (1006) , cause the at least one processor (1006) to carry out the method (800, 900) of any of claims 1 to 15 and 18 to 29.33.A carrier (1008) containing the computer program (1010) of claim 32, wherein the carrier (1008) is one of an electronic signal, optical signal, radio signal, or computer readable storage medium.34.A telecommunication system (30) for routing traffic to data networks, the telecommunication system (30) comprising:a second network node (300) ; andat least one first network node (320) ,wherein the second network node (300) comprises:a processor;a memory storing instructions which, when executed by the processor, cause the second network node (300) to:receive one or more inputs regarding to at least one of one or more application profiles, one or more application server profiles, and one or more policies; andcreate at least one of one or more application profiles, one or more application server profiles, and one or more policies based on at least the one or more inputs,wherein the instructions, when executed by the processor, cause the second network node (300) to further perform at least one of:provision, to the at least one first network node (320) , the one or more application profiles in response to creating the one or more application profiles; andprovision, to the at least one first network node (320) , the one or more application server profiles in response to creating the one or more application server profiles,wherein the at least one first network node (320) comprises:a processor;a memory storing instructions which, when executed by the processor, cause the at least one first network node (320) to:receive, from a device (350) , application data destined to an address of an application server (341) ;determine a PDU session based on at least the application data and / or the address of the application server (341) ; androute the application data to the application server (341) by using the determined PDU session.35.The telecommunication system (30) of claim 34, wherein the instructions stored in the memory of the at least one first network node (320) , when executed by the processor of the at least one first network node (320) , cause the at least one first network node (320) further to perform the method (800) of any of claims 2 to 15.36.The telecommunication system (30) of claim 34 or 35, wherein the instructions stored in the memory of the second network node (300) , when executed by the processor of the second network node (300) , cause the second network node (300) further to perform the method (900) of any of claims 19 to 29.