Systems and methods for application layer artificial intelligence and machine learning services

The implementation of client registration management, client member management, and training status estimation services addresses the challenges of client management in application layer AI/ML services, enhancing the efficiency and robustness of AI/ML operations.

WO2025073697A1PCT designated stage expired Publication Date: 2025-04-10TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/077606
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-02
Filing Date
2024-10-01
Publication Date
2025-04-10

AI Technical Summary

Technical Problem

Current systems lack mechanisms for client registration, discovery, and status updates in application layer AI/ML services, such as DML, FL, split learning, and regular ML, which are essential for efficient AI/ML operations.

Method used

The introduction of new services like client registration management, client member management, and training status estimation services within the MTMES/MTMEC or AIML enabler server/client framework, enabling efficient client registration, discovery, and status updates for AI/ML services.

Benefits of technology

These services enhance the robustness of client management, improve the selection and discovery of clients for AI/ML processes, and enable better handling of varying conditions that may affect AI/ML training processes, such as straggler clients and delayed model updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024077606_10042025_PF_FP_ABST
    Figure EP2024077606_10042025_PF_FP_ABST
Patent Text Reader

Abstract

There are disclosed systems and methods for client registration management services or client member management services. A method is provided that comprises performing a client registration process, receiving a service request, and performing at least one service based on the received service request. The service request may be for one or more of discovery of clients, selection of clients, client member management services, coordination of an AI / ML training process, or providing a training status estimation service. Another method is provided that comprises sending a service request and receiving at least one service responsive to the received service request, where the service request is for one or more of discovery of clients, selection of clients, client member management services, coordination of an AI / ML training process, or providing a training status estimation service.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEMS AND METHODS FOR APPLICATION LAYER ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING SERVICESTECHNICAL FIELD

[0001] Disclosed are embodiments related to Artificial Intelligence (Al) and Machine Learning (ML), and in particular, one or more of Distributed ML (DML), Federated Learning (FL), split learning, the Service Enabler Architecture Layer for Verticals (SEAL), the 5G Core Network (5GC), a Network Data Analytics Function (NWDAF), an Analytics logical function (AnLF), a Model Training logical function (MTLF), or an Application Data Analytics Enabler Server (AD AES), and methods and systems regarding the same.BACKGROUND

[0002] AI / ML relevant topics are being studied. For example, FL among multiple NWDAFs within 5GC has been studied in SA2 Release 18 work item eNA_Ph3 (in 3GPP TS 23.288). 5GC supports application layer AI / ML operations, which have been studied in SA2 Release 18 work item AIMLsys (in TS 23.501 and TS 23.502). A new Release 19 SA6 SID was agreed on, which addresses application layer support for AI / ML services.

[0003] For instance, SAI Rel-18 identified requirements (in TS 22.261) for the support of AI / ML model distribution, transfer, training for various applications (e.g., video / speech recognition, robot control, automotive) and initiated AIML_MT_Ph2 in Rel-19 for supporting Distributed Al training / inference based on direct device connection. Such use cases and requirements have application layer impacts. SA6 has specified enablement services to ensure efficient use and deployment of vertical applications over 3GPP systems. Thus, SAI requirements can be studied to identify application enablement impacts and architecture requirements needed to provide assistance in AI / ML operations (model distribution, transfer and training) at the application layer.

[0004] In addition, SA6 has specified the application layer architecture to enable data analytics as a new SEAL service, also known as AD AES, in TS 23.436. Such architecture provides an application layer analytics framework that offers generic analytics exposure and value-added services for verticals and ASPs. This includes application layer analytics related to end-to-end application performance, edge load, service API availability, location accuracy and slice-related performance and fault analysis. In Rel-19, the ADAES functional architecture requires enhancements to further improve and enhance functionality in 3 GPP for improved support for analytics using AI / ML methods.

[0005] One focus will be on supporting application layer AI / ML enablement for: (1) addressing SAI requirements, and in particular, support for the application specific or VAL layer in the transfer / distribution / training covering both on-network and off-network models, taking into consideration system architecture capabilities developed by SA2 to assist AI / ML services; and (2) enhancing and potentially extending existing analytics enablement services, as provided by SEAL AD AES, using AI / ML support services.

[0006] Possible new areas of study include new enablers or enhancement of existing SA6 enablers (e.g. AD AES, EDGEAPP) for supporting AI / ML service enablement, based on the SAI requirements and SA2 capabilities. Part of the study will also investigate the enablement for device-to-device AI / ML model transfer / distribution and training as discussed in SAI Rel- 19 AIML_MT_Ph2. Another area of study is implications of using AI / ML methods for ADAES analytics. In particular, to study enhanced or new enablement capabilities for supporting ML model training / inference and federated learning in coordinated ADAES deployments. Such support can be, for example, assistance for the discovery and selection of the S A6 enablers (e.g. Application Data Analytics Enabler Client (ADAEC), edge or central ADAES) to serve as ML training / inference entities or FL members in a federated learning case). Another area of study is enhancements of edge analytics service to support more advanced EDGEAPP scenarios (e.g. support the selection of common EAS). Another area of study is whether and how digital twin modelling data at the data network side can be utilized as part of the AI / ML model lifecycle, at the application layer. In particular, whether the digital twin model output can be used as input for the ML model lifecycle operations (e.g., based on the use case in TS 22.104, A.2.3.4) and how this impacts the SA6 existing or potentially new functionalities.

[0007] An SA6 objective of the study is to enable support for AI / ML services at the application enablement layer, which include the following:1) Analyze Rel-18 and Rel-19 requirements in 3GPP TS 22.261 related to AI / ML model distribution, transfer, training and further identify key issues, develop corresponding architectural requirements at the application enablement layer and potential enhancements to the application layer architecture.2) Study architectural and functional implications on existing SA6 application enablers (e.g. ADAES and other SEAL services, EDGEAPP) for supporting AI / ML lifecycle operations (e.g. operations including the data collection, data preparation, training / inference / federated learning for the ML models to be used for ADAE layer analytics).3) Identify potential solutions, including the information flows and developer-friendly application enablement APIs, where necessary to satisfy the architectural requirements and enhancements identified in items (1) and (2).4) Investigate possible impacts of application layer support for AI / ML services for different deployments and business models.With respect to item 1 above, this objective will leverage existing SA2 5GC capabilities developed in Re- 18 AIMLsys (TS 23.501 and TS 23.502) and may not have any impact on the system architecture. With respect to item 2, for the UE data collection aspects, this study will rely primarily upon EVEX framework specifications in TS 26.531 and TS 26.532.

[0008] In SA2 Rel-18 eNA_Ph3, FL among multiple NWDAFs within 5GC is considered. The FL operations can be performed among multiple NWDAFs containing MTLF (Model Training logical function). For instance, one FL Server NWDAF (NWDAF containing MTLF) controls the FL training process among multiple NWDAFs containing MTLF (FL Client NWDAFs). Each NWDAF registers to Network Repository Function (NRF) with NF profile, including the information on FL capability, etc. The FL Server NWDAF discovers FL Client NWDAF via NRF. During the FL training process, the FL Server NWDAF may adjust the FL group members according to the status changes of the FL Client NWDAF(s).

[0009] In SA2 Rel-18 AIMLsys, 5GS supports AI / ML-based services in the application layer with the assumptions, for example, that application AI / ML operation logic is controlled by an Application Function (AF), and the AF sends requests to the 5G System (e.g., NEF, NWDAF, etc.) in the context of 5GS assistance to Application AI / ML operation. For application layer FL, there may be one application server (e.g., an AF) controlling the application layer learning or training process among multiple application clients (e.g., UEs).SUMMARY

[0010] There currently exist certain challenges. For instance, before execution of the application layer learning or training process (e.g., a DML, FL, split learning, and / or regular ML process), the application server needs to discover and select members (e.g., application clients) to join the process. During the execution of a training process, the clients’ status may change with time, and / or the membership of the clients and task assignment among the clients may need to be adjusted. However, in the existing SEAL services TS 23.434, there are no corresponding mechanisms for client (e.g., UE, application client) registration to support application layer AI / ML services (e.g., for ML, DML, FL), for client discovery and selection,and for the application server to update clients’ memberships and task assignments according to the status changes of clients during the application layer DML / FL / split learning / regular ML process.

[0011] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. For instance, solutions for client (e.g., UE, application client) registration, discovery, and status updates for application servers to adjust clients (e.g., UE members, application clients), in an application layer DML / FL / split learning / regular ML process, are provided in embodiments. In particular, one or more new services of the MTMES / MTMEC (Machine Learning Model Training and Management Enabler Server / Client) or other AIML enabler servers / clients may be used according to embodiments. Some examples include client registration management services, client member management services, training status estimation services.

[0012] With respect to the client registration management service, in embodiments, this service supports: (i) receiving client register requests from a client with the client’s AI / ML relevant profile; (ii) maintaining the client AI / ML relevant profile of available clients; (iii) receiving client discovery requests from consumers and providing the information for a discovered client (be discovered) to the consumer for AI / ML services; and / or (iv) providing notifications about one or more newly registered / updated / deregistered client(s) along with their status to the subscribed consumer. In embodiments, the client profile of a client is maintained in the MTMES / MTMEC, and may include various information, such as: client ID; client type (e.g., UE, application client / server, 5GC NFs, other Network Entities, DML / FL / split learning / regular ML server, DML / FL / split learning / regular ML client); service ID(s) to identify service(s) that are allowed to perform training on the client; client capability information (e.g., ML capability, such as support for ML related operations), DML capability (e.g., support for split learning and related ML operations, ML model aggregation, ML distribution, other DML related operations, etc.), FL capability (e.g., support for ML model aggregation, ML distribution, train common / various models in one FL process, and other FL related operations); available time and location for participating in DML / FL / split learning / regular ML training; and / or AI / ML traffic QoS requirement (e.g., latency, bandwidth, jitter, Packet Loss Rate (PLR)). In certain aspects, the consumers of this service could be UEs, application clients, other network entities. This information can be used, for instance, in the discovery or selection process to identify clients that meet the client criteria of a requester.

[0013] With respect to a client member management service, this service supports: (i) receiving client member discovery / selection / maintaining requests for AI / ML services; (ii) discovery of client member(s) for application AI / ML services, e.g., DML / FL / splint learning; (iii) selection of client member(s) for application AI / ML services, e.g., DML / FL / split learning; and / or (iv) maintaining client member(s) for application AI / ML services, e.g., DML / FL / split learning. In certain aspects, the consumer of this service could be, for example, a VAL server / client and SEAL server / client.

[0014] With respect to a training status estimation service, this service supports: (i) receiving an updated status for one or more clients during a training process; (ii) estimating the training status based on a server / clients’ status information / analytics; and (iii) providing notifications about the estimation information of the training status to the subscribed consumer. The consumer of this service could be, for example, a VAL server / client and SEAL server / client. In certain aspects, the training status information (e.g., that is estimated) could include one or more of: (i) whether the training is going as planned or out of control at one or more of the clients; (ii) whether existing clients are enough, or there is a need to remove; (iii) whether new clients are needed or not; and / or (iv) whether straggler problems (e.g., due to out of power, lack of computation resource, bad condition of connections, etc.) are occurring at specific clients, which could affect the training process.

[0015] Embodiments may provide solutions on UE registration, discovery, and status updates for an application server to adjust UE member(s), for instance in an application layer DML / FL process. New services of the MTME (MTMES / MTMEC) are proposed, including a client registration management service and a client member management service. For an application layer DML / FL / split learning / regular ML process, one application server (e.g., MTMES, MTMEC, or any other entity with similar functionality (e.g. AIML enabler server / client)) may control the application layer DML / FL / split learning / regular ML training among multiple application clients (e.g., MTME clients, UEs). The new services described herein can be used by the application server to perform numerous processes. Examples include:■ Discovery of client member(s) for AI / ML services.■ Selection of client member(s) for AI / ML services.■ Getting updates of client status information / analytics, including the existing client member(s) and the potential new client member(s), for AI / ML services.■ Getting estimation information of training status for a ML / DML / FL process.■ Maintaining, for instance, client memberships (add, remove, temporarily suspend) and task assignments, for the DML / FL / split learning / regular ML process according to the updated client status information / analytics and the estimation information.In certain aspects, the new services can be used by application clients to:■ Register client AI / ML relevant profiles.■ Update client status for AI / ML services.■ Make decisions on participation of a DML / FL / split learning / regular ML process (e.g., stay, leave, temporarily stay or leave) according to the client status information / analytics and the estimation information.■ Be discovered and selected by the application server to participate in a DML / FL / split learning / regular ML process.

[0016] In certain aspects, the MTMES and MTMEC may be collocated with the exiting SEAL layer architecture (e.g., ADAES / ADAEC or any other existing SEAL service(s)), or a new standalone SEAL service, or a new enabler layer.

[0017] According to embodiments, a method is performed in an Artificial Intelligence Machine Learning enabler (AIMLE) server. The method may comprise performing a client registration process, receiving a service request, and providing at least one service based on the received service request. In embodiments, the service request is for one or more of discovery of clients or selection of clients, and the service request comprises a requestor ID and client criteria.

[0018] In certain aspects, performing the client registration process comprises one or more of: (i) receiving a client registration request to register, de-register, or update one or more client profiles; (ii) sending a response with a client registration, de-regi strati on, or update result; and / or (iii) registering, de-regi stering, or updating at least one of the client profiles. The client profiles may comprise, for example, a client ID, client type, application service ID, application ID, identifier of a service consumer, client capability information, client capacity information, a client’s available time for participating in training, AI / ML traffic QoS requirements, ML capability mode, ML capability type, computing capability of the client, and / or communication capability of the client. Also, the service request can comprise one or more of a service identifier, client ML capability, or client availability. With the client criteria in the in theservice request, in certain aspects, the server can filter clients in order to provide the desired discovery of clients or selection of clients to a requester.

[0019] According to embodiments, a method comprises sending a service request and receiving a service response in response to the service request. The service request may be for one or more of discovery of clients or selection of clients, and the service request can comprise a requestor ID and client criteria.

[0020] According to embodiments, a device may be adapted to perform one or more of the methods described herein. Additionally, a non-transitory computer readable medium may store instructions that, when performed by processing circuitry of a device, cause the device to perform one or more of the methods described herein.

[0021] Certain embodiments may provide one or more of the following technical advantages. This includes more robust client registration and management, which can lead to improved discovery and / or selection for supporting AI / ML services. Additionally, consumers and other entities, including client or 5GC network function and entities, may be better suited to handle varying conditions or other factors that could degrade a DML / FL / split leaming / regular ML process, such as straggler clients, delayed model updates, client drop off, etc. As another example, in one more embodiments, a server can select clients that are in better coverage, with good Quality of Service (QoS). Advantages may apply to numerous applications, as the new services could be used for UE registration, discovery, and update status for application server to adjust UE member(s), in an application layer DML / FL / split learning / regular ML process.BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.

[0023] FIG. 1 illustrates a system according to some embodiments where a consumer provides a request to an MTMES / MTMEC or AIML enabler server / client for services, such as client registration management services or client member management services.

[0024] FIGs. 2A-2D illustrate systems and methods according to embodiments.

[0025] FIGs. 3A-3C illustrate procedures according to embodiments.

[0026] FIG. 4 is a flow chart illustrating a process according to embodiments.

[0027] FIG. 5 is a flow chart illustrating a process according to embodiments.

[0028] FIGs. 6-12 illustrate networks, systems, and devices according to one or more embodiments.

[0029] FIGs. 13-15 illustrate procedures according to embodiments.DETAILED DESCRIPTION

[0030] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.

[0031] Referring now to FIG. 1, according to some embodiments, in a system 100 a consumer 102 provides one or more requests to a MTMES / MTMEC or AIML enabler server / client 104 for a client registration management service or UE member management service. For instance, the consumer 102 (e.g., UEs, application clients) may provide one or more requests for a client registration management service for registering client profiles, updating / deregistering client status, etc. In some embodiments, the consumer 102 (e.g., VAL server / client or SEAL server / client) may provide requests for a client member management service for discovering client member(s), selection of client member(s), getting updates of client status information / analytics, and maintaining client member(s) for a DML / FL / split learning / regular ML process (e.g., to add client(s), remove client(s), adjust task assignment) according to the updated client status information / analytics. In other embodiments, the consumer 102 (e.g., VAL server / client or SEAL server / client) may request a training status estimation service for estimating the training status based on clients’ status information / analytics, or other information.

[0032] Referring now to FIGs. 2A-2D, one or more services are illustrated according to embodiments, such as for services to be used for a DML / FL / split learning / regular ML process. The services include, for instance: (FIG. 2A) clients registering client profiles to an MTMES; (FIG. 2B) consumers sending requests to the MTMES for di scovery / sel ection of clients or to coordinate a DML / FL / split learning / regular ML training; (FIG. 2C) the consumer (e.g., Application Server) coordinates a DML / FL / split learning / regular ML training with assistance from the MTMES; and (FIG. 2D) the MTMES coordinates a DML / FL / split learning / regular ML training based on the request from the consumer. In certain aspects, the MTMES provides one or more of the client registration management service and client member management service to the consumer. According to embodiments, the MTMES can also be replaced by a MTMEC (MTMEC with management / coordination functional), for instance, for off-network model DML / FL / split learning / regular ML training processes or an AIML enabler server / client.

[0033] As shown in the system 200 of FIG. 2A, clients (or other entities) can submit a request to register client profiles in the MTMES, for instance, as part of the client registration management service. According to embodiments, each client profile may contain a client ID, client type (e.g., UE, application client), client capacity information (e.g., ML / DML / FL capability, such as DML / FL server, DML / FL client), available time for participation in DML / FL / split learning / regular ML training, communication capability of the client. Other information may be included as well, according to embodiments. The MTMES may respond to the clients with a registration result, such as including a positive or negative acknowledgement, and / or providing one or more correlation IDs.

[0034] As shown in system 210 of FIG. 2B, consumers can send request to the MTMES for di scovery / sel ection of clients or to coordinate a DML / FL training. For discovery / selection of clients, the consumer requests that the MTMES provide the client member management service with requirements on discovery / selection of clients, e.g., DML / FL / split learning / regular ML capability, client type, time of training, area of interest, number of clients, communication capability (e.g., reliability, availability, latency), etc. According to embodiment, the MTMES responds to the consumer with the information of clients that satisfy the discovery / selection criteria provide with the request. With the client criteria in the in the service request, in certain aspects, the MTMES can filter clients in order to provide the desired discovery of clients or selection of clients to a requester. This can be, for instance, based on client profiles.

[0035] The consumer may use the information received in the above scenarios for its further AI / ML operations. For example, it can be used to coordinate a DML / FL / split learning / regular ML training process, with the assistance of MTMES as shown in FIG. 2C and system 220. The assistance from MTMES may include updating of client status information / analytics and estimation information of training status to the consumer. The consumer can maintain, for example, client memberships (add, remove, temporarily suspend) and task assignments, for the DML / FL / split learning / regular ML process according to the updated client status information / analytics and the estimation information.

[0036] For coordinating a DML / FL / split learning / regular ML request as shown with respect to system 230 of FIG. 2D, the consumer provides a request to the MTMES for a client member management service. This can include, for instance, requirements on DML / FL / split learning / regular ML training, such as maximum time for training, preferred time horizon for training, area of interest for the training, trained ML model performance level, whether need update intermediate training information or now, number of clients, etc. In embodiments, theMTMES responds to the consumer with the positive or negative acknowledgement, and a DML / FL / split learning / regular ML ID, for example. Then the MTMES coordinates a DML / FL / split learning / regular ML training process, using its own client member management service, training status estimation service, and other services. After the DML / FL / split learning / regular ML training has been completed, the MTMES responds to the consumer with the required ML model(s) and / or other required information.

[0037] According to embodiments, the MTMES in the above descriptions and throughout this disclosure can also be replaced by a MTMEC (MTMEC with management / coordination functional), for instance, for off-network model DML / FL / split learning / regular ML training processes, or an AIML enabler server / client.

[0038] According to one more embodiments, new services are proposed that can provide solutions for client (e.g., UE, application client) registration, discovery, and updated status for an application server to adjust clients (e.g., UE members, application clients), in an application layer DML / FL process. The new services of the MTMES / MTMEC (Machine Learning Model Training and Management Enabler Server / Client) or AIML enabler server / client may include one or more of the following:

[0039] Client Registration Management Service. In some embodiments, this service supports one or more of the following activities:■ Receiving client register requests from client with the client’s AI / ML relevant profile.■ Maintaining client AI / ML relevant profiles for available clients.■ Receiving client discovery requests from consumers and providing the information of the discovered client (to be discovered) to the consumer for AI / ML services.■ Providing notifications about newly registered / updated / deregistered client(s) along with its status to the subscribed consumer.■ Profile management - the client profile of a client can be maintained in the MTMES / MTMEC or AIML enabler server / client.Additionally, in certain aspects, the profiles may include the following information, as examples:■ Client ID■ Client type (e.g., UE, application client / server, 5GC NFs, other Network Entities, DML / FL / split learning / regular ML server, DML / FL / split learning / regular ML client)■ Service ID(s) to identify service(s) that are allowed to perform training on the client.■ Client capability information, such as ML capability (e.g., supporting ML related operations), DML capability (e.g., supporting split learning and related ML operations, ML model aggregation, ML distribution, other DML related operations), FL capability (e.g., supporting ML model aggregation, ML distribution, train common / various models in one FL process, other FL related operations)■ Available time and location for participating in DML / FL / split learning / regular ML training■ AI / ML traffic QoS requirements (e.g., latency, bandwidth, jitter, PLR)■ Communication capability (e.g., indicating the communication capability, such as 5G, 4G, WLAN, etc.)■ Computing capability (e.g., indicating the computational capability, such as TPU, GPU, CPU, RAM, VRAM, GPU acceleration capabilities)In embodiments, the consumer of this service could be, for example, UEs or application clients.

[0040] Client Member Management Service. In some embodiments, this service supports one or more of the following activities:■ Receiving client member discovery / selection / maintain request for AI / ML services.■ Discovery of client member(s) for application AI / ML services, e.g.,DML / FL / split learning.■ Selection of client member(s) for application AI / ML services, e.g.,DML / FL / split learning.■ Maintaining client member(s) for application AI / ML services, e.g.,DML / FL / split learning.■ Interact with 5GC NFs (e.g., NEF, NWDAF, etc.), exiting SEAL layer architecture (e.g., ADAES / ADAEC or any other existing SEAL service(s)), or other network entities, for update status / information / analytics of the client member(s).■ Based on the updated status / information / analytics of the client member(s) or changes of requirements on the DML / FL / split learning / regular ML training, adjust the client member(s) for the DML / FL / split learning / regular ML process (e.g., add client(s), removeclient(s), temporarily suspend client(s), adjust task assign among clients).In embodiments, the consumer of this service could be, for example, a VAL server / client and SEAL server / client.

[0041] Training Status Estimation Service. In some embodiments, this service supports one or more of the following activities:■ Receiving an update status of clients during a training process.■ Estimating the training status based on clients’ status information / analytics e.g. :■ the training is going as planned or out of control at the clients■ existing clients are enough, or need to remove■ new clients are needed or not■ whether straggler problems (e.g., due to out of power, lack of computation resource, bad condition of connections, etc.) occur at specific clients affects the training process or not)■ Notifying about the estimation information of the training status to the subscribed consumer.In embodiments, the consumer of this service could be, for example, a VAL server / client and SEAL server / client.

[0042] According to one or more embodiments, new services in an application layer DML / FL process are provided. For an application layer DML / FL / split learning / regular ML process, for instance where one application server is controlling the application layer DML / FL / split learning / regular ML training among multiple application clients (e.g., MTME clients, UEs), the new services can be used by an application server to:■ Discover client member(s) for AI / ML services.■ Select client member(s) for AI / ML services.■ Get updates of client status information / analytics, including the existing client member(s) and the potential new client member(s), for AI / ML services.■ Get estimation information of training status for a ML / DML / FL process.■ Maintain client memberships (e.g., add, remove, temporarily suspend) and task assignments, for the DML / FL / split learning / regular ML process according to the updated client status information / analytics and the estimation information.In embodiments, that application server may be MTMES or MTMEC or any other entity with similar functionality (e.g. AIML enabler server / client).

[0043] In certain aspects, the new services can be used by application clients to: register client AI / ML relevant profiles; update a client status for AI / ML services; make decisions on a participation status of a DML / FL / split learning / regular ML process (e.g., stay, leave, temporarily stay or leave) according to the client status information / analytics and the estimation information; and be discovered and selected by an application server to participate in a DML / FL process. According to some embodiments, the MTMES and MTMEC may be collocated with the exiting SEAL layer architecture (e.g., ADAES / ADAEC or any other existing SEAL service(s)), or a new standalone SEAL service, or a new enabler layer.

[0044] Referring now to FIGs. 3 A-3C, one or more procedures are illustrated according to embodiments. This may include, for instance, a general procedure for the MTME function (as new SEAL service, or collocated with ADAE, or as new enabler layer) to provide ML management / execution services to consumers; or an example procedure for the MTME function to coordinate DML / FL and provide requested ML model to the consumer.

[0045] An example of a registration procedure is provided in FIG. 3 A, which illustrates a procedure 300 for a consumer 302 to request registration / update / deregistration of client profile to MTMES 304 according to some embodiments. The corresponding numbered steps in FIG. 3A are as follows:(1) The consumer of the Client Registration Management service sends a client registration to the MTMES for registering its client AI / ML relevant profile. The request may include, for example:■ Identifier of service consumer (e.g., requestor ID)■ Application ID■ Service ID to identify the service (e.g., VAL service)■ Client profile (e.g., AI / ML relevant, the client can be a UE, etc.)■ Payload (indicates the container for client model)The information in the Client profile may include:■ Client ID■ Client type (e.g., UE, application client / server, 5GC NFs, other Network Entities, DML / FL / split learning / regular ML server, DML / FL / split learning / regular ML client)■ Service ID(s) to identify service(s) that are allowed to perform training on the client.■ Client capacity information (e.g., management / coordination capability, execution / computation capability)■ ML capability (e.g., support for ML related operations), DML capability (e.g., support split learning and related ML operations, ML model aggregation, ML distribution, other DML related operations), FL capability (e.g., support ML model aggregation, ML distribution, train common / various models in one FL process, other FL related operations)■ Available time and location for participating in DML / FL / split1 earning / regular ML training■ AI / ML traffic QoS requirements (e.g., latency, bandwidthjitter, PLR)■ Communication capability (indicating the communication capability, e.g., 5G, 4G, WLAN)■ Computing capability (e.g., indicating the computational capability, e.g., TPU, GPU, CPU)Or, the consumer of the Client Registration Management service sends a client registration update request to the MTMES for updating its registered client profile. The update may include, for instance:■ Updates to client capability information■ Updates to available time and location for participating DML / FL / split1 earning / regular ML training■ AIML traffic QoS requirements (e.g., latency, bandwidth, jitter, PLR)■ Updates to available resource information e.g., computation resource, energy status, etc.■ Updates on communication capability■ Updates on computing capability (e.g., indicating the computational capability, such as TPU, GPU, CPU, RAM, VRAM, GPU acceleration capabilities)Or, the consumer of the Client Registration Management service sends a deregistration request to the MTMES to delete its registered Client profile.(2) Upon receiving the request, the MTMES performs an authorization check. If authorization is successful, the MTMES registers the UEs, and creates the correlation ID.(3) The MTMES sends a response to the consumer with the registration result including positive or negative acknowledgement, and correlation ID.

[0046] According to embodiments, the MTMES can be replaced by a MTMEC (MTMEC with management / coordination functional) for off-network model DML / FL / split learning / regular ML process, or an AIML enabler server / client.

[0047] An example of a discovery / selection procedure 310 is provided in FIG. 3B, which illustrates the procedure for consumer 312 to request discovery / selection of client(s) to the MTMES 314 or other entity. The corresponding numbered steps in FIG. 3B are as follows:(1) The consumer (e.g., DML / FL / split learning / regular ML coordinator) of the Client Registration Management / Client Member Management service sends a client discovery / selection request to the MTMES. The Client Registration Management service can be used for discovery / selection of clients that fulfill the requirements from the consumer, including based on specified client criteria. In some embodiments, the Client Member Management service can be used for discovery / selection of clients for a ML / DML / FL process. The information in the client discovery / selection request may include, for instance, capability, resource, policy, etc. relevant parameters:■ identifier of service consumer (e.g., requestor ID)■ DML / FL capability■ Client type■ time and location of training■ area of interest■ number of clients■ AIML traffic QoS requirement (e.g., latency, bandwidth, jitter, PLR)■ available resource information e.g., computation resource, energy status / battery level, etc.■ computing capability (e.g., CPU, TPU, GPU, RAM, VRAM, GPU acceleration capabilities)■ client drop-offs rate (indicating the number of times a client drops off during model training based on historical information per application)■ client location information■ ML model convergence communication rounds (indicating the number of successful communication rounds required for the UE to reach convergence based on historical information per application)■ Service ID(s) to identify service(s) that are allowed to perform training on the client■ Service ID to identify the service (e.g., VAL service)■ Application ID(s)(2) Upon receiving the request, the MTMES performs an authorization check. If authorization is successful, the MTMES discover / select clients according to the requirements in the request.(3) The MTMES sends a response to the consumer with the information of the discovered / selected clients. The response may contain:■ Client ID (e.g., UE ID, UE address)■ Client information

[0048] According to embodiments, the MTMES can be replaced by a MTMEC (MTMEC with management / coordination functional) for off-network model DML / FL / split learning / regular ML process, or an AIML enabler server / client.

[0049] An example of a client status update procedure 320 is provided in FIG. 3C. The corresponding procedures are as follows:(1) The consumer 322 of the Client Member Management service requests the MTMES 324 to coordinate a DML / FL / split 1 earning / regular ML process for trained ML model. In the request may include:■ identifier of service consumer (e.g., requestor ID)■ maximum time for training■ preferred start and end time for training■ area of interest for the training■ trained ML model performance level■ whether there is a need to update intermediate training information or not■ number of clients■ termination condition (e.g., achieve the maximum training rounds, expire the maximum time for training)■ client ID(s) if available■ Service ID to identify the service (e.g., VAL service)The MTMES performs an authorization check. If authorization is successful, the MTMES manages / coordinates the discovery / selection of clients, and the DML / FL / split learning / regular ML operations. The MTMES responds to the consumer with the results, which may include positive or negative acknowledgement, DML / FL / split learning / regular ML ID, estimated training time, etc.(2) The clients 326 may update their status / information by using the Client Registration Management service provided by the MTMES. The updated client status may include■ Updated client capacity information■ Updated available time and location for participating in DML / FL / split learning / regular ML training■ Updated AIML traffic QoS requirements (e.g., latency, bandwidth, jitter, PLR)■ Updated available resource information e.g., computation resources, energy status, etc.(3) The MTMES may interact with 5GC NFs (e.g., NEF, NWDAF, etc.), SEAL layer architecture (e.g., ADAES / ADAEC or any other existing SEAL service(s)), or other network entities 328, for updated status / information / analytics of the client member(s). In the request, it may include:■ Analytics filters (e.g., number of clients, delayed clients (indicate the delayed time. 11 filters the clients taking more time to train the model and communicate the model with respect to the given delayed time))■ Analytics reporting modes (e.g., periodicity, event triggered (e.g., immediate reporting if Immediate flag is contained in the request))■ Required analytics (predictions and / or statistics on e.g., network resource usage, QoS for intermediate information / parameter / ML model exchanging, client mobility and communication, client model download / training / update- communication time, client location)The updated client information / analytics may include■ Client ID (e.g., UE ID)■ Update analytics (predictions or statistics) on e.g., network resource usage, QoS for intermediate information / parameter / ML model exchanging, client mobility and communication, client model download / training / update-communication time, client location, etc.(4) The MTMES estimates the training status based on clients’ status / information / analytics.(5) The clients may subscribe to / request the Training Status Estimation Service from MTMES for the estimation information of training status. The MTMES notifies / responds to the clients with the required estimation information.(6) Based on the updated status / information / analytics of the clients and estimation information, the MTMES may update the clients’ memberships (add, remove, temporarily suspend) and adjust the task assignments among the clients for the DML / FL process, and the clients may determine and update participation status of the DML / FL process (e.g., stay, leave, temporarily stay or leave).The steps 2-6 may repeated / performed without fixed order for multiple rounds. The training process stops, for example, when the required ML model is generated, or the termination condition is reached, or the MTMES determine that the training has to stop (due to e.g., lack of clients, insufficient computation or energy resource, cannot satisfy the training conditions / requirements anymore, etc.).(7) The MTMES sends a response to the consumer with the required ML model(s) and information.

[0050] Alternatively, and in some embodiments, the consumer subscribes to the MTMES for assistance of its DML / FL / split 1 earning / regular ML process in step 1. Based on the request from consumer, the MTMES may perform (assist with) discovery and selection of clients, estimate the training status based on clients’ status / information / analytics received from above steps 2 and 3, and notify to the consumer with the clients’ status / information / analytics and / or estimation information (which is generated in above step 4). The consumer may update clients’ memberships, and adjust task assignments based on the estimation information.

[0051] In some embodiments, the MTMES can be replaced by a MTMEC (MTMEC with management / coordination functional) for off-network model DML / FL / split learning / regular ML process, or an AIML enabler server / client.

[0052] Referring now to FIG. 4, a process 400 is provided according to some embodiments. The process 400 may be performed, for instance, by an MTMES / MTMEC or AIML enabler server / client. The process may begin, for instance, with performing (s402) a client registration process. The process may further comprise receiving (s404) a service request. According to embodiments, the service request is for one or more of discovery of clients, selection of clients, client member management services, coordination of an AI / ML training process (e.g., DML / FL / split learning / regular ML), or providing a training statusestimation service. The process may further comprise performing (s406) at least one service based on the received service request. In some embodiments, a client status update is performed (s408). According to embodiments, process 400 may comprise one or more of the steps, and associated parameters, described in connection with FIGs. 2A-2C, FIGs. 3 A-3C, and FIGs. 13-15. In some embodiments, the service request comprises one or more parameters, such as a requester ID and client criteria.

[0053] Referring now to FIG. 5, a process 500 is provided according to some embodiments. The process 500 may be performed, for instance, by a consumer (e.g., a UE, application server / client, VAL server / client, or SEAL server / client or other Network entities (e.g., 5GC NFs)). The process may begin, for instance, with sending (s502) a service request, wherein the service request is for one or more of discovery of clients, selection of clients, client member management services, coordination of an AI / ML training process (e.g., DML / FL / split learning / regular ML), or providing a training status estimation service. The process may also comprise receiving (s504) at least one service responsive to the received service request. In some embodiment, the process further comprises performing (s506) an application layer AI / ML process (e.g., a DML / FL / split learning / regular ML training process) based at least in part on received information. This step may be optional in some embodiments. According to embodiments, process 500 may comprise one or more of the steps, and associated parameters, described in connection with FIGs. 2A-2C, FIGs. 3A-3C, FIGs. 13-15. In some embodiments, the service request comprises one or more parameters, such as a requester ID and client criteria.

[0054] An example of a 5G core network 600 is illustrated in FIG. 6, which may be applicable to one or more embodiments described herein. Other network setups may be used according to the embodiments. In this example, UE(s), Radio Access Network (RAN) entities, the User Plane Function (UPF), and Data Network (DN) are shown. Additionally, in this example, the illustrated functions include an Authentication Server Function (AUSF), Access and Mobility Management Function (AMF), Session Management Function (SMF), Location Management Function (LMF), Application Function (AF), Unified Data Management (UDM), Policy Control Function (PCF), Network Repository Function (NRF), Network Exposure Function (NEF), and Network Slice Selection Function (NSSF).

[0055] FIG. 7 shows an example of a communication system 700 in accordance with some embodiments.

[0056] In the example, the communication system 700 includes a telecommunication network 702 that includes an access network 704, such as a radio access network (RAN), and a core network 706, which includes one or more core network nodes 708. The access network704 includes one or more access network nodes, such as network nodes 710a and 710b (one or more of which may be generally referred to as network nodes 710), or any other similar 3rdGeneration Partnership Project (3GPP) access nodes or non-3GPP access points. Moreover, as will be appreciated by those of skill in the art, a network node is not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network 702 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network 702 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network 702, including one or more network nodes 710 and / or core network nodes 708.

[0057] Examples of an ORAN network node include an open radio unit (O-RU), an open distributed unit (O-DU), an open central unit (O-CU), including an O-CU control plane (O- CU-CP) or an O-CU user plane (O-CU-UP), a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an Al, Fl, Wl, El, E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an O-2 interface defined by the O-RAN Alliance or comparable technologies. The network nodes 710 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 712a, 712b, 712c, and 712d (one or more of which may be generally referred to as UEs 712) to the core network 706 over one or more wireless connections.

[0058] 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 communicationsystem 700 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 700 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.

[0059] The UEs 712 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 710 and other communication devices. Similarly, the network nodes 710 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 712 and / or with other network nodes or equipment in the telecommunication network 702 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 702.

[0060] In the depicted example, the core network 706 connects the network nodes 710 to one or more hosts, such as host 716. These connections may be direct or indirect via one or more intermediary networks or devices. I n other examples, network nodes may be directly coupled to hosts. The core network 706 includes one more core network nodes (e.g., core network node 708) 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 708. 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).

[0061] The host 716 may be under the ownership or control of a service provider other than an operator or provider of the access network 704 and / or the telecommunication network 702, and may be operated by the service provider or on behalf of the service provider. The host 716 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 withremote devices, functions for an alarm and surveillance center, or any other such function performed by a server.

[0062] As a whole, the communication system 700 of FIG. 7 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.

[0063] In some examples, the telecommunication network 702 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 702 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 702. For example, the telecommunications network 702 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 loT services to yet further UEs.

[0064] In some examples, the UEs 712 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 704 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 704. 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).

[0065] In the example, the hub 714 communicates with the access network 704 to facilitate indirect communication between one or more UEs (e.g., UE 712c and / or 712d) and network nodes (e.g., network node 710b). In some examples, the hub 714 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 714 may be a broadband router enabling access to the core network 706 for the UEs. As another example, the hub 714 may be a controller that sendscommands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 710, or by executable code, script, process, or other instructions in the hub 714. As another example, the hub 714 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 714 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 714 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 714 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 714 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.

[0066] The hub 714 may have a constant / persistent or intermittent connection to the network node 710b. The hub 714 may also allow for a different communication scheme and / or schedule between the hub 714 and UEs (e.g., UE 712c and / or 712d), and between the hub 714 and the core network 706. In other examples, the hub 714 is connected to the core network 706 and / or one or more UEs via a wired connection. Moreover, the hub 714 may be configured to connect to an M2M service provider over the access network 704 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 710 while still connected via the hub 714 via a wired or wireless connection. In some embodiments, the hub 714 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 710b. In other embodiments, the hub 714 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node 710b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.

[0067] FIG. 8 shows a UE 800 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, vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identifiedby 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.

[0068] A UE may support device-to-device (D2D) communication, for example by implementing a 3 GPP 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).

[0069] The UE 800 includes processing circuitry 802 that is operatively coupled via a bus 804 to an input / output interface 806, a power source 808, a memory 810, a communication interface 812, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in FIG. 8. 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.

[0070] The processing circuitry 802 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 810. The processing circuitry 802 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 802 may include multiple central processing units (CPUs).

[0071] In the example, the input / output interface 806 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 UE800. 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.

[0072] In some embodiments, the power source 808 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 808 may further include power circuitry for delivering power from the power source 808 itself, and / or an external power source, to the various parts of the UE 800 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 808. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 808 to make the power suitable for the respective components of the UE 800 to which power is supplied.

[0073] The memory 810 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 810 includes one or more application programs 814, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 816. The memory 810 may store, for use by the UE 800, any of a variety of various operating systems or combinations of operating systems.

[0074] The memory 810 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 universalintegrated 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 810 may allow the UE 800 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 810, which may be or comprise a device-readable storage medium.

[0075] The processing circuitry 802 may be configured to communicate with an access network or other network using the communication interface 812. The communication interface 812 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 822. The communication interface 812 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 818 and / or a receiver 820 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 818 and receiver 820 may be coupled to one or more antennas (e.g., antenna 822) and may share circuit components, software or firmware, or alternatively be implemented separately.

[0076] In the illustrated embodiment, communication functions of the communication interface 812 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.

[0077] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 812, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connectionto 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).

[0078] 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.

[0079] A UE, when in the form of an Internet of Things (loT) 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 loT 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 loT device comprises circuitry and / or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE 800 shown in FIG. 8.

[0080] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmit 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 otherequipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.

[0081] 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.

[0082] FIG. 9 shows a network node 900 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)), 0-RAN nodes or components of an 0-RAN node (e.g, 0-RU, 0-DU, O-CU).

[0083] 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, distributed units (e.g., in an 0-RAN access node) 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).

[0084] 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).

[0085] The network node 900 includes a processing circuitry 902, a memory 904, a communication interface 906, and a power source 908. The network node 900 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 900 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 NodeB s. 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 900 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 904 for different RATs) and some components may be reused (e.g., a same antenna 910 may be shared by different RATs). The network node 900 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 900, 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 900.

[0086] The processing circuitry 902 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 900 components, such as the memory 904, to provide network node 900 functionality.

[0087] In some embodiments, the processing circuitry 902 includes a system on a chip (SOC). In some embodiments, the processing circuitry 902 includes one or more of radio frequency (RF) transceiver circuitry 912 and baseband processing circuitry 914. In some embodiments, the radio frequency (RF) transceiver circuitry 912 and the baseband processing circuitry 914 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 912 and baseband processing circuitry 914 may be on the same chip or set of chips, boards, or units.

[0088] The memory 904 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 computerexecutable memory devices that store information, data, and / or instructions that may be used by the processing circuitry 902. The memory 904 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 902 and utilized by the network node 900. The memory 904 may be used to store any calculations made by the processing circuitry 902 and / or any data received via the communication interface 906. In some embodiments, the processing circuitry 902 and memory 904 is integrated.

[0089] The communication interface 906 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 906 comprises port(s) / terminal(s) 916 to send and receive data, for example to and from a network over a wired connection. The communication interface 906 also includes radio front-end circuitry 918 that may be coupled to, or in certain embodiments a part of, the antenna 910. Radio front-end circuitry 918 comprises filters 920 and amplifiers 922. The radio front-end circuitry 918 may be connected to an antenna 910 and processing circuitry 902. The radio front-end circuitry may be configured to condition signals communicated between antenna 910 and processing circuitry 902. The radio front-end circuitry 918 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 918 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 920 and / or amplifiers 922. The radio signal may then be transmitted via the antenna 910. Similarly, when receiving data, the antenna 910 may collect radio signals which are then converted into digital data by the radio front-end circuitry 918. The digital data may be passed to the processing circuitry 902. In other embodiments, the communication interface may comprise different components and / or different combinations of components.

[0090] In certain alternative embodiments, the network node 900 does not include separate radio front-end circuitry 918, instead, the processing circuitry 902 includes radio front-end circuitry and is connected to the antenna 910. Similarly, in some embodiments, all or some of the RF transceiver circuitry 912 is part of the communication interface 906. In still other embodiments, the communication interface 906 includes one or more ports or terminals 916, the radio front-end circuitry 918, and the RF transceiver circuitry 912, as part of a radio unit(not shown), and the communication interface 906 communicates with the baseband processing circuitry 914, which is part of a digital unit (not shown).

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

[0092] The antenna 910, communication interface 906, and / or the processing circuitry 902 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 910, the communication interface 906, and / or the processing circuitry 902 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.

[0093] The power source 908 provides power to the various components of network node 900 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 908 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 900 with power for performing the functionality described herein. For example, the network node 900 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 908. As a further example, the power source 908 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.

[0094] Embodiments of the network node 900 may include additional components beyond those shown in FIG. 9 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 900 may include user interface equipment to allow input of information into the network node 900 and to allow output of information from the network node 900. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 900.

[0095] FIG. 10 is a block diagram of a host 1000, which may be an embodiment of the host 716 of FIG. 7, in accordance with various aspects described herein. As used herein, the host 1000 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 1000 may provide one or more services to one or more UEs.

[0096] The host 1000 includes processing circuitry 1002 that is operatively coupled via a bus 1004 to an input / output interface 1006, a network interface 1008, a power source 1010, and a memory 1012. 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 FIGs. 8 and 9, such that the descriptions thereof are generally applicable to the corresponding components of host 1000.

[0097] The memory 1012 may include one or more computer programs including one or more host application programs 1014 and data 1016, which may include user data, e.g., data generated by a UE for the host 1000 or data generated by the host 1000 for a UE. Embodiments of the host 1000 may utilize only a subset or all of the components shown. The host application programs 1014 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), 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 1014 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 1000 may select and / or indicate a different host for over-the-top services for a UE. The host application programs 1014 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.

[0098] FIG. 11 is a block diagram illustrating a virtualization environment 1100 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 ormore 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 1100 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. In some embodiments, the virtualization environment 1100 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an 0-2 interface.

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

[0100] Hardware 1104 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 1106 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 1108a and 1108b (one or more of which may be generally referred to as VMs 1108), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 1106 may present a virtual operating platform that appears like networking hardware to the VMs 1108.

[0101] The VMs 1108 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 1106. Different embodiments of the instance of a virtual appliance 1102 may be implemented on one or more of VMs 1108, 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.

[0102] In the context of NFV, a VM 1108 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 1108, and that part of hardware 1104 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, formsseparate 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 1108 on top of the hardware 1104 and corresponds to the application 1102.

[0103] Hardware 1104 may be implemented in a standalone network node with generic or specific components. Hardware 1104 may implement some functions via virtualization. Alternatively, hardware 1104 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 1110, which, among others, oversees lifecycle management of applications 1102. In some embodiments, hardware 1104 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 1112 which may alternatively be used for communication between hardware nodes and radio units.

[0104] FIG. 12 shows a communication diagram of a host 1202 communicating via a network node 1204 with a UE 1206 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 712a of FIG. 7 and / or UE 800 of FIG. 8), network node (such as network node 710a of FIG. 7 and / or network node 900 of FIG. 9), and host (such as host 716 of FIG. 7 and / or host 1000 of FIG. 10) discussed in the preceding paragraphs will now be described with reference to FIG. 12.

[0105] Like host 1000, embodiments of host 1202 include hardware, such as a communication interface, processing circuitry, and memory. The host 1202 also includes software, which is stored in or accessible by the host 1202 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 1206 connecting via an over-the-top (OTT) connection 1250 extending between the UE 1206 and host 1202. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 1250.

[0106] The network node 1204 includes hardware enabling it to communicate with the host 1202 and UE 1206. The connection 1260 may be direct or pass through a core network (like core network 706 of FIG. 7) 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.

[0107] The UE 1206 includes hardware and software, which is stored in or accessible by UE 1206 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 1206 with the support of the host 1202. In the host 1202, an executing host application may communicate with the executing client application via the OTT connection 1250 terminating at the UE 1206 and host 1202. 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 1250 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 1250.

[0108] The OTT connection 1250 may extend via a connection 1260 between the host 1202 and the network node 1204 and via a wireless connection 1270 between the network node 1204 and the UE 1206 to provide the connection between the host 1202 and the UE 1206. The connection 1260 and wireless connection 1270, over which the OTT connection 1250 may be provided, have been drawn abstractly to illustrate the communication between the host 1202 and the UE 1206 via the network node 1204, without explicit reference to any intermediary devices and the precise routing of messages via these devices.

[0109] As an example of transmitting data via the OTT connection 1250, in step 1208, the host 1202 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 1206. In other embodiments, the user data is associated with a UE 1206 that shares data with the host 1202 without explicit human interaction. In step 1210, the host 1202 initiates a transmission carrying the user data towards the UE 1206. The host 1202 may initiate the transmission responsive to a request transmitted by the UE 1206. The request may be caused by human interaction with the UE 1206 or by operation of the client application executing on the UE 1206. The transmission may pass via the network node 1204, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 1212, the network node 1204 transmits to the UE 1206 the user data that was carried in the transmission that the host 1202 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 1214, the UE 1206 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 1206 associated with the host application executed by the host 1202.

[0110] In some examples, the UE 1206 executes a client application which provides user data to the host 1202. The user data may be provided in reaction or response to the data received from the host 1202. Accordingly, in step 1216, the UE 1206 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 1206. Regardless of the specific manner in which the user data was provided, the UE 1206 initiates, in step 1218, transmission of the user data towards the host 1202 via the network node 1204. In step 1220, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 1204 receives user data from the UE 1206 and initiates transmission of the received user data towards the host 1202. In step 1222, the host 1202 receives the user data carried in the transmission initiated by the UE 1206.[OHl] One or more of the various embodiments improve the performance of OTT services provided to the UE 1206 using the OTT connection 1250, in which the wireless connection 1270 forms the last segment.

[0112] In an example scenario, factory status information may be collected and analyzed by the host 1202. As another example, the host 1202 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 1202 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host 1202 may store surveillance video uploaded by a UE. As another example, the host 1202 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 1202 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.

[0113] 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 1250 between the host 1202 and UE 1206, 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 1202 and / or UE 1206. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 1250 passes; the sensors may participate in themeasurement 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 1250 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node 1204. 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 1202. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 1250 while monitoring propagation times, errors, etc.

[0114] 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.

[0115] 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 ordiscrete 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.

[0116] Referring now to FIG. 13, aspects of client registration functionality are addressed according to some embodiments, for instance, with respect to federated learning and supporting AI / ML services in the application layer. The federated learning model typically involves a large number of clients to collaboratively train the model. This creates the need for a federated server or coordinator to connect with clients, maintain connections, communicate back and forth with clients, perform aggregation of each client model update and send the updated global model to clients. Embodiments can enable the registration of the AIML clients in the enabler layer. This allows the enabler layer to identify the clients, AIML application service, and QoS requirments. Such information can be later used for discovery of clients, selection of clients for federated leanring, ensuring QoS requirements, etc.

[0117] In process 1300, a machine learning client registration request procedure is illustrated. At step sl306, the requestor 1302 sends a ML client registration request to the AIML enabler server 1304. The requestor may be, for instance, a VAL server or VAL UE. In this example, the request contains a UE ML client profile, ML application QoS requirements, or other features. At step sl308, upon receiving the request, the AIML enabler server performs an authorization check. If authorization is successful, the AIML enabler server registers the client and provides the response to the requestor with a correlation ID. This may be an ML client registration response at step sl310.

[0118] Table A describes the information flow from the Requestor to the AIML Enabler server to send an ML client registration request. Table B illustrate aspects of a machine learning (e.g., FedML) UE client profile.TABLE ATABLE B

[0119] Table C describes the information flow from the AIML Enabler server to theRequestor to send the ML client registration response.TABLE C

[0120] Referring now to FIG. 14, aspects of client information retrieval are addressed according to some embodiments, for instance, with respect to federated learning and client information retrieval to enable participation of clients. In step sl406, a requester 1402 (e.g., VAL server) sends an ML client information retrieval request to the AIML enabler server 1404. In embodiments, the request contains Requestor ID, UE Identifier, VAL service ID, applicationID, and ML client filter requirements. The filter requirements enable the AIML enabler to filter the ML client based on the requested filter criteria. In step si 408a, upon receiving the request, the AIML enabler server 1404 subscribes to the procedure defined in clause 4.15.13 of TS 23.502, for instance. Other procedures may be used according to embodiments. In the example of FIG. 14, it also fetches (sl408b) client information from the AIML enabler client. The AIML enabler processes the NEF response and AIML client response and provides the filtered UE(s) satisfying the requested filtering criteria in the response to the requestor 1404 at step sl410.

[0121] In federated learning, the server typically needs to select clients or devices to collaboratively train the model. There can be different devices like low power, low computing, etc. The device’s radio link may change because of time-varying radio conditions and UE mobility. The federated learning process is iterative and requires low latency as the model is exchanged back and forth multiple times between client and server. In federated learning, each client trains their local model with local data and sends the updated model to the server. The server typically waits to receive model updates from each client participating in the model training. The wait period is impacted or worsened by the weakest client sending the delayed model updates to the server or taking a relatively long time to train the model. Because of this increased wait period, the server cannot aggregate the received client model updates to train the global model. The server iteratively sends the global model to the clients back so that clients train their local model, this iterative exchange happens until the model convergence is reached. The latencies introduced by different clients because of heterogeneity in the devices like different compute capacities, varying radio conditions, different bandwidth, QoS, usage of different access technologies, and UE mobility impact the convergence of the model and lead to delayed model convergence.

[0122] Therefore it is often required for the server to choose the clients based on certain parameters to achieve the fast model convergence. Since the model update exchange happens over the 3GPP system, it is important to take network-UE status, compute, and communication capability into account. Hence it is necessary to provide the server with some information about the clients and its supported network interaction like supported bitrates, latencies, location, etc. Embodiments propose solution to filter clients based on filters such as Location, QoS, UE availability, etc. The VAL server can use the client information to select clients for later use like model training. In certain aspects, procedures, information flows and APIs for ML client information retrieval to the requestor are specified to enable the selection of clients for DML / Federated learning / Split Learning.

[0123] Table D describes the information flow from the requestor to the AIML enabler server to send the ML client information retrieval request. Table E illustrates ML client filter requirements.TABLE DTABLE E

[0124] Table F describes the information flow from the AIML Enabler server to the requestor to send ML client information retrieval response. TABLE F

[0125] Referring now to FIG. 15, aspects of an ML client’s analytics retrieval procedures are described according to some embodiments. In DML (e.g. federated learning), the server often needs to select clients or devices to collaboratively train the model. There can be different devices like low power or low computing. The device’ s condition may change because of timevarying radio conditions. The federated learning process is iterative and requires low latency as the model is exchanged back and forth multiple times between client and server. The most delayed update sent by a client may lead to an increase in the latency for aggregation of updates which leads to further delay in sending global updates to the clients and in turn increases the delay in convergence of the model on the devices. Thus, it is important for a DML server (e.g. federated server) to understand the client’s model compute (e.g. training the model) and communication time (e.g. sending model updates) in real-time. Such information enables the server to devise strategies around scheduling of clients, and aggregation of client model updates to reach faster convergence. Embodiments propose a solution to provide ML client analytics information to understand the client’s performance in terms of model download time, model training time and model update upload time.

[0126] According to some embodiments, FIG. 15 specifies processes useful in determining ML client analytics information to understand the performance of the ML client, such as model training time, model download and model updates upload time. Process 1500 may begin with step si 506, in which a requestor 1502 sends an ML client analytics information subscribe request to the AIML Enabler server 1504. The requestor can indicate the predictive mode to receive the predictive values of the ML client information. It can configure the prediction frequency to indicate how often the prediction should be performed and the prediction duration to indicate how long the prediction should be performed for the ML client information. The requestor can provide the location of interest and a time window of interest to perform the analytics. In steps sl508, si 510, si 512, upon receiving the request, the AIML Enabler server subscribes to ADAE or NWDAF analytics services for UE analytics information. The AIML enabler fetches UE information from the AIML enabler client. It provides the subscription response to the requestor. In step si 514, based on the information from ADAE or NWDAF and AIML enabler client, the AIML processes the information as per the filtering criteria and indicated prediction. It sends the notification message to the requestor as per the reporting interval mentioned in the periodicity IE in request message.

[0127] Table G describes the information flow from the requestor to the AIML Enabler server to send ML client analytics information subscription requests. Table H describes the information flow from the AIML Enabler server to the Requestor to send ML client analyticsinformation subscription response. Table I describes the information flow from the AIML Enabler server to the Requestor to send ML client analytics information notification.TABLE GTABLE HTABLE I

[0128] Summary of Embodiments

[0129] Al. A method, comprising: performing a client registration process; receiving a service request, wherein the service request is for one or more of discovery of clients, selection of clients, client member management services, coordination of an AI / ML training process (e.g., DML / FL / split learning / regular ML), or providing a training status estimation service; and performing at least one service based on the received service request.

[0130] A2. The method of Al, further comprising: performing a client status update.

[0131] A3. The method of Al or A2, wherein the method is performed in an MTMES orMTMEC or any other entity with similar functionality (e.g. AIML enabler server / client) and the service request is received from a consumer.

[0132] A4. The method of any of A1-A3, wherein the service request is for discovery or selection of clients, and wherein performing the at least one service comprises one or more of: discovering one or more client members; selecting one or more client members; and responding to the service request with information for one or more discovered / selected clients (e.g., with a client ID or other client information).

[0133] A5. The method of A4, wherein the service request comprises discovery or selection requirements for the clients, and wherein the information is responsive to said requirements.

[0134] A6. The method of A5, wherein the service request or the discovery or selection requirements includes one or more of: identifier of service consumer (e.g., requestor ID), DML / FL / split leaming / regular ML capability, client type, time and location of training, area of interest, number of clients, AIML traffic QoS requirement, available resource information, computing capability, client drop-offs rate, client location information, ML model convergence communication rounds, service ID(s) to identify service(s) that are allowed to perform training on the client, service ID to identify the application service, client profile information, payload, application ID(s), UE mobility (e.g., including UE velocity and UE direction), battery level, and UE availability).

[0135] A7. The method of any of A1-A6, further comprising: performing an authorization check with respect to the service request, and wherein performing the at least one service is based at least in part on a successful authorization.

[0136] A8. The method of any of A1-A7, wherein performing the client registration process comprises one or more of: receiving a client registration request to register, de-register, or update one or more client profiles; sending a response with a client registration, deregistration, or update result; and / or registering, de-registering, or updating at least one of the client profiles.

[0137] A9. The method of A8, wherein the client profiles comprise one or more of a clientID, client type, application service ID, application ID, identifier of service consumer, client capability information, client capacity information, a client’s available time for participating in training, AI / ML traffic QoS requirements, ML capability mode (indicating the supported ML capability, e.g. management / coordination capability, execution / computation capability), ML capability type (indicating the supported ML types, e.g. FL, DML, split learning, and / or regular ML), computing capability of the client, or communication capability of the client.

[0138] A10. The method of A8 or A9, wherein the registration result comprises a positive / negative result indication and / or a correlation ID.

[0139] Al l. The method of any of A2-A10, wherein performing a client status update comprises providing updated client status information, analytics, or estimation information of training status to a consumer (e.g., the consumer that provided the service request).

[0140] A12. The method of any of Al-Al l, further comprising: maintaining client members for an application AI / ML service.

[0141] A13. The method of A12, wherein the maintaining comprises one or more of: (i) interacting with 5GC NFs, SEAL layer architecture, or other network entities to update status / information / analytics of the client member(s); and / or (ii) based on the updated status / information / analytics of the client member(s) and estimation information of training status or changes of requirements on AI / ML (e.g., DML / FL / split learning / regular ML) training, adjusting the client member(s) for an AI / ML process (e.g., by adding client(s), removing client(s), temporarily suspending client(s)), or adjusting task assignments among clients.

[0142] A14. The method of any of A1-A13, wherein performing the at least one service comprises one or more of: sending or receiving updated client status information during a training process; estimating a training status / information based on one or more client’s status information / analytics; updating client membership, adjusting task assignments, or determining participation status, and / or providing a notification regarding the estimated status / information or an ML model (e.g., to a subscribed consumer).

[0143] A15. The method of A14, wherein the one or more client’s status information / analytics comprises one or more of whether a training is proceeding effectively, whether additional clients are required, whether clients need to be removed, or whether straggler issues are occurring, client ID, or updated analytics (e.g., predictions or statistics) relating to network resource usage, QoS for intermediate information / parameter / ML model exchanging, client mobility and communication, client model download / training / update- communication time, or client location .

[0144] Al 6. The method of any of Al -Al 5, wherein the service request comprises a client registration update request, further comprising one or more of: updating client capability information; updating ML capability mode; updating ML capability type; updating batterylevel information; updating available time and location for participating in DML / FL / split learning / regular ML training; updating one or more AIML traffic QoS requirements; updating available resource information; updating communication capability; or updating computing capability.

[0145] Al 7. The method of Al 6, wherein the updating occurs following an authorization check.

[0146] Al 8. The method of any of A14-A18, wherein a request for updated status information (or a message with updated status information) comprises one or more of:■ location of interest indicating the location area where the analytics for the VAL Service ID shall apply■ time window of interest indicating time window when the analytics for the VAL Service ID shall apply■ Analytics reporting mode (e.g., periodicity, event triggered (e.g., immediate reporting if Immediate flag is contained in the request)■ predictive mode support enable or disable indication for the ML clients■ prediction duration and prediction frequency■ subscription duration■ Required analytics (predictions and / or statistics on e.g., network resource usage, QoS for intermediate information / parameter / ML model exchanging, client mobility and communication, client model download / training / upload-communication time, client location)

[0147] Al 9. The method of any of Al -Al 8, wherein the service request is for coordination of an AI / ML training process.

[0148] A20. The method of Al 9, wherein the request comprises one or more of: identifier of service consumer (e.g., requestor ID), maximum time for training, preferred start and end time for training, area of interest for the training, trained ML model performance level, whether request for intermediate training information, number of clients, a termination condition (e.g., achieve the maximum training rounds, expire the maximum time for training), client ID(s) or a request for discovery / selection of clients, application ID, or application service ID.

[0149] A21. The method of A19 or A20, further comprising: sending a response to a consumer comprising one or more ML models and / or information for an AI / ML training process.

[0150] A22. The method of any of A1-A21, further comprising: receiving a request to subscribe (e.g., from a consumer) to one or more services or updates.

[0151] A23. The method of A22, wherein any of the steps of A1-A21 are performed based at least in part on said subscription (e.g., one or more of discovery and selection of clients, estimating a training status based on clients’ status / information / analytics, notifications to a consumer with one or more client’s status / information / analytics and / or estimation information).

[0152] A24. The method of A22 or A23, wherein the request for subscription is for assistance with a DML / FL / split leaming / regular ML process.

[0153] A25. The method of any of A1-A24, wherein a consumer for the service is a UE, application server / client, VAL server / client, or SEAL server / client, or other network entity (e.g., 5GC NFs).

[0154] Bl. A system adapted to: perform a client registration process; receive a service request, wherein the service request is for one or more of discovery of clients, selection of clients, client member management services, coordination of an AI / ML training process (e.g., DML / FL / split learning / regular ML), or providing a training status estimation service; and perform at least one service based on the received service request.

[0155] B2. The system of Bl, further adapted to perform of any of steps of A2-A25.

[0156] B2. The system of B 1 or B2, wherein the system is an MTMES or MTMEC or any other entity with similar functionality (e.g. AIML enabler server / client).

[0157] Cl. A method, comprising: sending a service request, wherein the service request is for one or more of discovery of clients, selection of clients, client member management services, coordination of an AI / ML training process (e.g., DML / FL / split learning / regular ML), or providing a training status estimation service; and receiving at least one service responsive to the received service request.

[0158] C2. The method of Cl, further comprising: receiving a client status update (e.g., receiving updated client status information, analytics, or estimation information of training status).

[0159] C3. The method of Cl or C2, wherein the method is performed in a consumer (e.g., a UE, application server / client, VAL server / client, or SEAL server / client, or other Network entities (e.g., 5GC NFs)) and the service request is sent to an MTMES or MTMEC or any other entity with similar functionality (e.g. AIML enabler server / client).

[0160] C4. The method of any of C1-C3, wherein the service request is for discovery or selection of clients, and further comprising: receiving a response to the service request with information for one or more discovered / selected clients (e.g., with a client ID or other client information).

[0161] C5. The method of C4, wherein the service request comprises discovery or selection requirements for the clients, and wherein the received information is responsive to said requirements.

[0162] C6. The method of C5, wherein the service request or the discovery or selection requirements includes one or more of: identifier of service consumer (e.g., requestor ID), DML / FL / split learning / regular ML capability, ML capability mode (indicating the supported ML capability, e.g. management / coordination capability, execution / computation capability), ML capability type (indicating the supported ML types, e.g. FL, DML, split learning, and / or regular ML), client type, time and location of training, area of interest, number of clients, AIML traffic QoS requirement, available resource information, computing capability, client drop-offsrate, client location information, ML model convergence communication rounds, service ID(s) to identify service(s) that are allowed to perform training on the client, application service ID to identify the service, client profile information, payload, application ID(s), UE mobility (e.g., including UE velocity and UE direction), battery level, or UE availability.

[0163] C7. The method of any of C1-C6, wherein the service request is for coordination of an AI / ML training process.

[0164] C8. The method of C7, wherein the request comprises one or more of: identifier of service consumer (e.g., requestor ID), maximum time for training, preferred start and end time for training, area of interest for the training, trained ML model performance level, whether there is a need update intermediate training information, number of clients, a termination condition (e.g., achieve the maximum training rounds, expire the maximum time for training), client ID(s) or a request for di scovery / sel ection of clients, application ID, or application service ID.

[0165] C9. The method of C7 or C8, further comprising: receiving a response from anMTMES or MTMEC or any other entity with similar functionality (e.g. AIML enabler server / client) comprising one or more ML models and / or information for an AI / ML process.

[0166] CIO. The method of any of C1-C9, further comprising: performing an application layer AI / ML process (e.g., a DML / FL / split leaming / regular ML training process) based at least in part on received information.

[0167] Cl l. The method of any of Cl -Cl 10, wherein the method comprising sending a request for a client registration management service or client member management service.

[0168] C12. The method of Cl l, wherein the method comprises receiving information responsive to the request.

[0169] C13. The method of any of Cl-12, further comprising: subscribing to one or more service (e.g., from the MTMES or MTMEC or any other entity with similar functionality (e.g. AIML enabler server / client)).

[0170] C14. The method of C13, further comprising: based at least in part on the subscription, receiving one or more of discovery and selection of clients, estimated training status based on clients’ status / information / analytics, or notifications with one or more client’s status / information / analytics and / or estimation information.

[0171] C15. The method of C13 or C14, further comprising, updating a client’s membership or adjusting a task assignment based on received estimation information.

[0172] DI. A device adapted to: send a service request, wherein the service request is for one or more of discovery of clients, selection of clients, client member management services,coordination of an AI / ML training process (e.g., DML / FL / split learning / regular ML), or providing a training status estimation service; and receive at least one service responsive to the received service request.

[0173] D2. The device of DI, further adapted to perform any of the steps of C2-C15.

[0174] D3. The device of DI or D2, where in the device is a consumer (e.g., a UE or application client).

[0175] El. A computer program product comprising a non-transitory computer readable medium storing instructions which when performed by processing circuitry of a device causes the device to perform any of A1-A25 or Cl -Cl 5.

[0176] While various embodiments are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.

[0177] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.

Claims

CLAIMS:

1. A method (400) performed in an Artificial Intelligence Machine Learning enabler, AIMLE, server, comprising: performing (s402) a client registration process; receiving (s404) a service request, wherein the service request is for one or more of discovery of clients or selection of clients, and wherein the service request comprises a requestor ID and client criteria; and performing (s406) at least one service based on the received service request.

2. The method of claim 1, further comprising: performing (s408) a client status update.

3. The method claim 1 or 2, wherein performing the at least one service comprises: discovering one or more client members or selecting one or more clients; and responding to the service request with information for one or more discovered or selected clients, wherein the information comprises at least one client ID.

4. The method of claim 3, wherein the information is responsive to the client criteria.

5. The method of any of claims 1-4, wherein the service request comprises one or more of: a service identifier; client machine learning, ML, capability; or client availability.

6. The method of any of claims 1-5, further comprising: performing an authorization check with respect to the service request, and wherein performing the at least one service is based at least in part on a successful authorization.

7. The method of any of claims 1-6, wherein performing the client registration process comprises one or more of: receiving a client registration request to register, de-register, or update one or more client profiles; sending a response with a client registration, de-registration, or update result; and / or registering, de-registering, or updating at least one of the client profiles.

8. The method of claim 7, wherein the client profiles comprise one or more of a client ID, client type, application service ID, application ID, identifier of a service consumer, client capability information, client capacity information, a client’s available time for participating in training, AI / ML traffic QoS requirements, ML capability mode, ML capability type, computing capability of the client, or communication capability of the client.

9. The method of claim 7 or 8, wherein the response comprises: (i) a positive or negative result indication; and / or (ii) a correlation ID.

10. The method of any of claims 2-9, wherein performing a client status update comprises providing updated client status information, analytics, or estimation information of training status to a consumer.

11. The method of any of claims 1-10, further comprising: maintaining client members for an application AI / ML service.

12. The method of any of claims 1-11, further comprising: receiving a request to subscribe to one or more services or updates.

13. The method of claim 12, wherein any of the steps of claims 1-11 are performed based at least in part on the subscription.

14. The method of claim 12 or 13, wherein the request for subscription is for assistance with distributed ML, federated learning, split learning, or a regular ML process.

15. The method of any of claims 1-14, wherein a consumer for the service is a UE, application server or client, Vertical Application Layer, VAL, server or client, Service Enabler Architecture Layer, SEAL server or client, or 5GC Network Function, NF.

16. An Artificial Intelligence Machine Learning enabler, AIMLE, server adapted to: perform a client registration process; receive a service request, wherein the service request is for one or more of discovery of clients or selection of clients, and wherein the service request comprises a requestor ID andclient criteria and perform at least one service based on the received service request.

17. The server of claim 16, further adapted to perform of any of steps of claims 2-15.

18. A method (500), comprising: sending (s502) a service request, wherein the service request is for one or more of discovery of clients or selection of clients, and wherein the service request comprises a requestor ID and client criteria; and receiving (s504) a service response in response to the service request.

19. The method of claim 18, further comprising: receiving a client status update.

20. The method of claim 18 or 19, wherein the service request is sent to an Artificial Intelligence Machine Learning enabler, AIMLE, server.

21. The method of any of claims 18-20, wherein the method is performed in a consumer.

22. The method of claim 21, wherein the consumer is a Vertical Application Layer, VAL, server or client, a user equipment, UE, or an application client.

23. The method of any of claims 18-22, wherein the service response comprises information for one or more discovered or selected clients, wherein the information comprises one or more client IDs.

24. The method of claims 23, wherein the service request comprises discovery or selection requirements for the clients, and wherein the received information is responsive to the requirements.

25. The method of claim 24, wherein the service request comprises one or more of: a service identifier; client machine learning, ML, capability; or client availability.

26. The method of any of claims 18-25, further comprising: performing (s506) an application layer AI / ML process based at least in part on the service response.

27. The method of any of claims 18-26, further comprising: subscribing to one or more services, wherein the service response is based at least in part on the subscription.

28. The method of any of claims 18-27, further comprising, updating a client’s membership or adjusting a task assignment based at least in part on the service response.

29. A device adapted to: send a service request, wherein the service request is for one or more of discovery of clients or selection of clients, and wherein the service request comprises a requestor ID and client criteria; and receive a service response in response to the service request.

30. The device of claim 29, further adapted to perform any of the steps of claims 19-28.

31. A computer program product comprising a non-transitory computer readable medium storing instructions which when performed by processing circuitry of a device causes the device to perform any of claims 1-15 or 18-28.

Citation Information

Patent Citations

  • Management method of machine learning model for network data analytics function device

    US20220108214A1