Enabler system and method for federated learning

The enabler system addresses the challenge of different identifiers used by application servers by associating network and local identifiers and using correlation identifiers, enabling efficient and secure federated learning across telecommunication networks.

WO2025262207A1PCT designated stage Publication Date: 2025-12-26KONINK KPN NV +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/067238
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-20
Filing Date
2025-06-19
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

Current telecommunication standards do not support federated learning across application servers due to different identifiers used by these servers for the same user equipment (UE), leading to challenges in sample alignment and reluctance to share identifiers due to privacy and security concerns, which results in high communication overhead.

Method used

An enabler system that maintains data records associating network and local identifiers for UEs, assigns correlation identifiers, and acts as an intermediary to enable federated learning without requiring Private Set Intersection (PSI), allowing data alignment across application servers.

Benefits of technology

Enables federated learning by aligning data across application servers without sharing identifiers, reducing communication overhead and addressing privacy concerns, thus facilitating efficient and secure distributed machine learning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025067238_26122025_PF_FP_ABST
    Figure EP2025067238_26122025_PF_FP_ABST
Patent Text Reader

Abstract

An enabler system may be provided to enable federated learning on data of user equipment of a telecommunications network. The enabler system may represent a trusted entity to federated learning entities, for example by being part of a trusted domain of the telecommunications network, such as an enabler layer. The enabler system may be configured to may maintain data records for user equipment on the basis of registration requests received from application servers. In the data records, the enabler system may record local identifiers used by application servers for a user equipment. Based on the data records, the enabler system may provide association functionality through which potentially different local identifiers used by application servers for a same user equipment may be associated with each other. The association functionality may be used to enable a federated learning iteration to be requested from a particular application server on the basis of the local identifier of a user equipment.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] ENABLER SYSTEM AND METHOD FOR FEDERATED LEARNING

[0002] TECHNICAL FIELD

[0003] The presently disclosed subject matter relates to an enabler system and method for enabling federated learning on data of user equipment of a telecommunications network. The presently disclosed subject matter further relates to an application server and a method for executing a federated learning iteration at an application server. The presently disclosed subject matter further relates to a federated learning aggregation system and a method for obtaining an aggregated training result in federated learning. The presently disclosed subject matter further relates to a computer-readable medium comprising data representing instructions for causing a processor system to perform any one of the methods.

[0004] BACKGROUND

[0005] Federated Learning (FL) is a machine learning technique where multiple entities may collaborate in solving a machine learning problem without sharing their underlying data, thereby preserving privacy. In a typical FL scenario, an active party, such as a coordinating server, may send a request to passive parties, such as local devices or local servers, to execute an iteration of federated learning in respect of their local data. The passive parties may process the request and perform local training on their data. The active party may then receive partial training results from the passive parties and aggregate these partial training results to obtain a global model.

[0006] Federated learning thereby provides a decentralized approach to machine learning. Such a decentralized approach offers various advantages including enhanced privacy by keeping data localized, increased data security by minimizing transmission risks, compliance with data protection regulations, efficient use of network bandwidth and storage resources, and improved scalability across numerous devices. Federated learning may be beneficial for various applications ranging from healthcare to industry and telecommunications, and may generally enable robust, privacy-preserving, and efficient distributed machine learning across various application domains.

[0007] It would be desirable to enable federated learning in respect of data of user equipment (UE) of a telecommunications network. Such federated learning on data of UEs may be particularly relevant because a significant amount of valuable data is stored for UEs within telecommunication networks, often at application servers (AS). For example, UE data may include usage patterns, location data, and application- specific interactions, which may be crucial for technical machine learning problems such as network optimization, user behaviour prediction, and personalized services.

[0008] However, current telecommunication standards such as those defined by 3GPP do not support performing federated learning across application servers. Namely, different application servers may store data about the same UE yet use different identifiers for the same UE, making sample alignment challenging. Here, the term ‘sample alignment’ may refer to the process of matching corresponding data entries across different datasets. For example, through sample alignment, data stored at different application servers may be attributed to the same UE to enable vertical federated learning. Furthermore, these application servers may be reluctant to share the identifiers of UEs amongst each other due to privacy and / or security concerns.

[0009] This problem may be addressed using Private Set Intersection (PSI) algorithms [1], where the different entities involved exchange only encrypted information to determine the common set of samples. These algorithms, while effective in preserving privacy, often result in high communication overhead, which may be a significant drawback in a distributed system like a telecommunications network.

[0010] It would be desirable to enable federated learning on data of UEs of a telecommunications network without requiring the use of PSI or similar techniques.

[0011] References

[0012] [1] Vertical Federated Learning, Khan, A., Thij, M. T., & Wilbik, A. (2022). Vertical Federated Learning: A Structured Literature Review, (pp. 2212.00622v1).

[0013] SUMMARY

[0014] In accordance with a first aspect of the presently disclosed subject matter, an enabler system is provided for enabling federated learning on data of user equipment of a telecommunications network. The enabler system may comprise:

[0015] - a network interface;

[0016] - a processor subsystem which may be configured to: receive a registration request from an application server, wherein the registration request may comprise local identifiers of one or more user equipment for which the application server may store data, wherein a local identifier of a user equipment may be an identifier used locally by the application server; for a user equipment identified in the registration request, based on the local identifier, determine a network identifier of the user equipment, wherein the network identifier may be an identifier used by a core network of the telecommunications network to uniquely identify the user equipment; store the network identifier in a data record for the user equipment, wherein the data record may indicate that the application server uses the local identifier for the user equipment; receive a second registration request from a second application server, and if the second registration request comprises a second local identifier of the user equipment, update the data record of the user equipment to indicate that the second application server uses the second local identifier for the user equipment; receive, from a federated learning entity, a request for setting up federated learning in respect of one or more particular user equipment, wherein the request may comprise a particular identifier of the particular user equipment; based on the particular identifier, determine the network identifier of the particular user equipment, and based on the network identifier, identify a data record for the particular user equipment; from the identified data record, retrieve a local identifier which may be used by a particular application server for the particular user equipment, to enable a federated learning iteration to be requested from the particular application server on the basis of the local identifier.

[0017] In accordance with a further aspect of the presently disclosed subject matter, a method is provided of enabling federated learning on data of user equipment of a telecommunications network. The method may comprise:

[0018] - receiving a registration request from an application server, wherein the registration request may comprise local identifiers of one or more user equipment for which the application server may store data, wherein a local identifier of a user equipment may be an identifier used locally by the application server;

[0019] - for a user equipment identified in the registration request, based on the local identifier, determining a network identifier of the user equipment, wherein the network identifier may be an identifier used by a core network of the telecommunications network to uniquely identify the user equipment; storing the network identifier in a data record for the user equipment, wherein the data record may indicate that the application server uses the local identifier for the user equipment;

[0020] - receiving a second registration request from a second application server, and if the second registration request comprises a second local identifier of the user equipment, update the data record of the user equipment to indicate that the second application server uses the second local identifier for the user equipment;

[0021] - receiving, from a federated learning entity, a request for setting up federated learning in respect of one or more particular user equipment, wherein the request may comprise a particular identifier of the particular user equipment;

[0022] - based on the particular identifier, determining the network identifier of the particular user equipment, and based on the network identifier, identify a data record for the particular user equipment;

[0023] - from the identified data record, retrieving a local identifier which may be used by a particular application server for the particular user equipment, to enable a federated learning iteration to be requested from the particular application server on the basis of the local identifier.

[0024] The above measures involve providing an enabler system for enabling federated learning on data of user equipment (UE) of a telecommunications network. In some examples, the enabler system may be part of an enabler layer or enablement layer of the telecommunications network or may in another manner represent a trusted entity within the telecommunications network. Here, the adjective ‘trusted’ may refer to the enabler system being allowed and / or authorized by the telecommunications network or by a network operator. The enabler system may access a data storage to maintain data records for UEs. The data storage may be an internal data storage within the enabler system, or a centralized or decentralized external data storage.

[0025] The enabler system may be further configured to receive registration requests from application servers. Such a request may comprise local identifiers of one or more user UEs for which the application server stores data. Here, the adjective ‘local’ may refer to the identifier being used locally by the application server. As such, from the perspective of the application server, a local identifier may serve the function as locally identifying a respective UE. In addition, local identifiers may also be referred to as ‘external identifiers’ since they may be used by an entity, in this case an application server, located outside of, and thereby external to, a core network of the telecommunications network. The local identifier may also be referred to as an application server-specific identifier due to its use by a specific application server. A non-limiting example of a local identifier is a Generic Public Subscription Identifier (GPSI). The request may thus comprise at least one local identifier for a respective UE for which the application server stores data. The stored data may belong to or originate from the UE. However, the stored data may also include data that relates to, but does not necessarily belong to, the UE. For example, the data may comprise usage patterns, location data, application interactions, and other relevant data that may be stored by an application server, for example to enhance services or optimize performance. Thus, “data of a UE” is broadly considered to refer to all data associated with a particular UE.

[0026] For a UE identified in the registration request, the enabler system may determine a network identifier of the UE. Here, the adjective ‘network’ identifier may refer to the identifier being used by the core network of the telecommunications network to uniquely identify the UE. Examples of network identifiers include, but are not limited to, the International Mobile Subscriber Identity (IMSI), the Mobile Station International Subscriber Directory Number (MSISDN), and the Subscriber Identity Module (SIM) card identifier. Such identifiers may also be referred to as ‘internal identifiers’ since they may be used internally within the core network of the telecommunications network. Having determined the network identifier, for example by resolving the network identifier via a network exposure function of the telecommunications network, the enabler system may store the network identifier in a data record for the UE and indicate in the data record for the UE that the application server uses the local identifier for the UE, for example by storing the local identifier together with an identifier of the application server. Thereby, the enabler system may create an association between the network identifier and the local identifier used by a particular application server. If a second registration request again identifies the UE but now using a second local identifier, the data record for the UE may be updated to indicate that the second application server uses the second local identifier for the UE. This way, the enabler system may establish a collection of data records for respective UEs, with a respective data record indicating a network identifier of the UE and one or more local identifiers used by respective application servers for the UE.

[0027] In this respect, it is noted that the term ‘data record’ may refer to a structured collection of information within a data storage. In a specific example, the data storage may be or comprise a database comprising the aforementioned data records. Moreover, while a data record may typically comprise fields and attributes, e.g., fields for the network identifier and local identifiers and identifiers of application servers, the data record may also be structured in any other manner. In general, the enabler system may be configured to maintain data records, e.g., by adding information to a data record or updating information contained in a data record, but may in some cases also be configured to create new data records, e.g., for newly identified UE.

[0028] The enabler system may thus have functionality to maintain data records for UEs on the basis of registration requests received from application servers. In addition, the enabler system may make use of the information recorded in the data records to provide mapping functionality to set up the federated learning. Here, the term ‘set up’ or ‘setting up’ may refer to one or more precursor steps before federated learning iterations may be executed. For that purpose, the enabler system may be configured to receive a request for setting up federated learning in respect of one or more particular UE. Here and elsewhere, the adjective ‘particular’ may indicate that the request pertains to a specific entity, in this case a UE, without implying any other limitations. The request may be received from a federated learning entity, which may denote a party in the federated learning, for example an active party such as a coordinating server. In some examples, the federated learning entity may be a federated learning aggregation system which may receive partial training results from application servers, aggregate them, and optionally perform subsequent steps such as model refinement, validation, and distribution of the updated global model back to the application servers. In some examples, the federated learning entity may also store data for one or more particular UEs. In some examples, the federated learning entity may also store labels for the data of the particular UEs to be used as ground truth in the federated learning to train a model to be able to predict the labels. In some examples, the federated learning entity may be an application server acting as an active party in the federated learning.

[0029] The request for setting up the federated learning may identify each particular UE using a particular identifier, which may for example take the form of a type of local identifier as otherwise used by an application server or a network identifier as otherwise used by the core network. The enabler system may determine the network identifier of the particular UE using the particular identifier, which may for example involve, if the particular identifier is not a network identifier, resolving the network identifier via a network exposure function of the telecommunications network. Having determined the network identifier of the particular UE, the enabler system may identify the data record of the particular UE, for example by searching for the network identifier, and from the data record, identify one or more local identifiers which are used by respective application servers for the particular UE. This way, the enabler system may, using a network identifier as a central key, match the particular UE to local identifiers used by different application servers and thereby enable data of the UE which is stored across various application servers to be aligned. Such alignment may be a necessary precursor for federated learning and therefore the enabler system may contribute to setting up the federated learning in respect of the particular UE.

[0030] The above measures may thereby address the problem in federated learning on data of user equipment of a telecommunications network, in that different application servers may store data about the same UE but may use different identifiers for the same UE, making sample alignment challenging. Even in cases where some or all application servers use the same identifier for the same UE, the use of the same identifier may be unintentional. Moreover, due to privacy and / or security concerns, application servers may be reluctant to share UE identifiers with each other. Consequently, the application servers and other parties in the federated learning, in particular active parties, may not be able to align and use the data of a particular UE as training data for federated learning. By providing an enabler system, which may be a trusted entity or at least an independent entity, the task of data alignment may be performed without a need for the application servers to mutually share their identifiers nor without a need for schemes such as PSI to preserve privacy. Thereby, disadvantages of PSI, such as a high communication overhead, may be avoided.

[0031] In an embodiment, the processor subsystem may be configured to:

[0032] - assign a correlation identifier to the particular user equipment; and to enable the federated learning iteration to be requested from the particular application server:

[0033] - generate a mapping between the correlation identifier and the local identifier used by the particular application server for the particular user equipment;

[0034] - provide, to the particular application server, the correlation identifier and the mapping to the local identifier used by the particular application server; and

[0035] - provide, to the federated learning entity, the correlation identifier.

[0036] It may be desirable for parties involved in the federated learning, such as the federated learning entity which requests the set up of the federated learning and / or the application servers, to directly communicate with each other, for example to exchange partial training results and model updates. To enable such direct communication, it may be desirable for the parties involved have knowledge of the identifiers used by other entities for the UE to be able to refer to a particular UE. However, due to privacy and / or security concerns, the parties involved may be reluctant to share UE identifiers with each other. To address this problem, the enabler system may assign a correlation identifier to a particular UE. The correlation identifier may be a temporary or in some cases permanent identifier which may be shared amongst the parties involved and which correlation identifier may serve as a central key to identify a particular UE across the parties. Another term for correlation identifier may therefore be ‘common identifier’. The enabler system may further generate a mapping between the correlation identifier and the local identifier used by a respective application server and inform the application server thereof. The application server may thereby be enabled to associate the correlation identifier with a particular UE for which it stores data. As a result, if a request for executing a federated learning iteration is received which identifies a particular UE by its correlation identifier, the application server may be able to identify the UE via the mapping to the local identifier and thereby execute the federated learning iteration in respect of the data of the UE. Furthermore, the federated learning entity may be enabled to directly request the application servers to execute federated learning iteration in respect of the data of one or more particular UEs by providing the correlation identifiers of the particular UEs. The above measures may thereby provide the advantage that the parties involved may not need to share their local UE identifiers with each other, but may nevertheless be able to mutually align the data of the UE which is stored across various application servers.

[0037] In some examples, the correlation identifier may be a newly generated identifier, e.g., not matching any of the local identifiers nor the network identifier(s) used for the particular UE. In other examples, the correlation identifier may be a local identifier or a network identifier. It is noted that even when a local identifier is selected which is in use by an application server, privacy and security may be maintained since parties in the federated learning may remain unaware of whether an application server uses the correlation identifier as the local identifier, and certainly unaware of which specific application server uses the correlation identifier as the local identifier.

[0038] In an embodiment, the processor subsystem may be configured to assign a time validity to the correlation identifier and provide the time validity to the particular application server. It may be desirable for the correlation identifier to have a limited time validity, for example to be valid only for a particular instance of federated learning, so as to establish a form of access control to the data of a UE stored by a party to the federated learning. By assigning the time validity and providing the time validity to an application server, the application server may be enabled to time-limit the access to the data of a UE as it may refuse a request which identifies a correlation identifier of which the time validity has expired. For example, the time validity may be specified in relative terms, e.g., as a duration, or in absolute terms, e.g., as a timestamp or a datetime. In an embodiment, the processor subsystem may further provide the time validity to the federated learning entity. Thereby, the federated learning entity may be enabled to autonomously determine until what time it may use the correlation identifier, for example to request applications servers to execute federated learning iterations.

[0039] In an embodiment, the processor subsystem may be configured to, when the federated learning or a phase of the federated learning is completed, provide a signal invalidating the correlation identifier to the particular application server. Alternatively, or in addition to providing a time validity to an application server, the enabler system may provide a signal invalidating the correlation identifier to the application server. Thereby, the application server may not need to keep track of the time validity and / or may be reminded of the expiry of the time validity, as instead, the enabler system may keep track of the time validity. This may have the advantage that the enabler system may dynamically determine when the validity should expire and may signal the application server(s) at the expiry. In an embodiment, the processor subsystem may further provide the signal invalidating the correlation identifier to the federated learning entity. Thereby, the federated learning entity may not need to keep track of the time validity and / or may be reminded of the expiry of the time validity.

[0040] In an embodiment, the processor subsystem may be configured to:

[0041] - send a request to the particular application server to execute the federated learning iteration in respect of data of the particular user equipment, wherein the request may comprise the local identifier used by the particular application server for the particular user equipment;

[0042] - receive a partial training result from the particular application server;

[0043] - provide the partial training result to the federated learning entity.

[0044] To further address privacy and / or security concerns, the enabler system may not only assist in the set up of federated learning, but may also act as an intermediary between the federated learning entity requesting the set up of the federated learning, e.g., the coordinating server, and the application servers. For that purpose, the enabler system may be configured to request individual application servers to execute a federated learning iteration in respect of data of a particular UE identified in the request, receive a partial training result from the application server, and provide the partial training result to the federated learning entity. The request for executing the federated learning iteration may for each individual application server include the local identifier used by the application server for the particular UE, or in an alternative embodiment, may include a correlation identifier previously assigned to the particular UE. By acting as an intermediary, it may not be needed for the parties to the federated learning to disclose their network addresses to each other. This may reduce the risk of a potential identification of parties through their network addresses.

[0045] In an embodiment, the processor subsystem may be configured to provide the partial training result to the federated learning entity in form of an aggregated training result which may be obtained by aggregating a plurality of partial training results from a plurality of different application servers. The enabler system may thus also perform the task of an aggregator by aggregating the partial training results. In an embodiment, the request for setting up the federated learning may comprise one or more requested data identifiers of requested data which may be requested as training data for the federated learning, and the processor subsystem may be configured to include the one or more requested data identifiers in the request to the particular application server to identify which data of the particular user equipment is to be used as the training data. The federated learning entity may intend to perform the federated learning on certain types of data. The data may be identified by identifiers, also referred to as data identifiers, and by pertaining to the request, may be referred to as ‘requested data’ identifiers. In the field of federated learning, the data used for the training may also be referred to as ‘feature(s)’ and the data identifiers as feature identifiers. For example, the request may contain a data identifier which indicates that the federated learning is to be performed on location data of a particular UE. In response to the federated learning entity specifying which type of data is to be used as training data, the enabler system may perform various actions. For example, when the enabler system acts as an intermediary between parties, the enabler system may forward (part of the) data identifiers included in the request to the application server to inform the application server on which type of data the federated learning iteration is to be performed. By forwarding the data identifiers, the enabler system may avoid having to keep track of the types of data available at each application server.

[0046] In an embodiment, the registration request may comprise one or more data identifiers which identify the data stored by the application server for the user equipment, and the processor subsystem may be configured to:

[0047] - store the one or more data identifiers in the data record for the user equipment; and

[0048] - identify, in the data record, the application server as storing the data identified by the one or more data identifiers.

[0049] By way of the data identifiers included in the registration requests, the enabler system may be informed of which type(s) of data is available for a particular UE at which application server. The enabler system may store the data identifiers in the data records for a user equipment while identifying the application server at which the data is available. Thereby, the enabler system may keep track of the types of data available at application servers to enable federated learning on specific types of data.

[0050] In an embodiment, the request for setting up the federated learning may comprise one or more requested data identifiers of requested data which may be requested as training data for the federated learning, and the processor subsystem may be configured to identify one or more application servers which store at least part of the requested data by comparing the one or more requested data identifiers to data identifiers stored in the data records. The federated learning entity may intend to perform the federated learning on certain types of data. The data may be identified by identifiers, also referred to as data identifiers, and by pertaining to the request, may be referred to as ‘requested data’ identifiers. As the enabler system may keep track of the types of data available at application servers, the enabler system may identify at which application servers the requested types of data of a particular UE are available.

[0051] In an embodiment, the processor subsystem may be configured to, based on the one or more identified application servers:

[0052] - send a message identifying the one or more identified application servers to the federated learning entity; and / or

[0053] - send a request to an identified application server to execute a federated learning iteration in respect of the requested data.

[0054] Having identified the application servers at which the requested types of data of a particular UE are available, the enabler system may perform various actions, such as identifying these application servers to the federated learning entity, and / or requesting the identified application servers to participate in the federated learning while using the requested types of data as training data. Thereby, the enabler system may enable federated learning to be performed on specific types of data.

[0055] In an embodiment, the processor subsystem may be configured to determine the network identifier of a user equipment by querying a network exposure function of the telecommunications network for the network identifier. The enabler system may use a network exposure function, such as the 3GPP-defined NEF, to resolve a network identifier, for example by using a local identifier of a UE as a look-up key. This may enable the enabler system to resolve the network identifier of a UE identified by a local identifier used by an application server as well as the network identifier of a particular UE identified by a federated learning entity. It is noted that instead of using the local identifier used for a UE by the respective entity as query, another identifier of the UE may be used instead, e.g., a local identifier which is not actively used by the respective entity but may nevertheless be provided to the enabler system, for example as part of a registration request of an application server.

[0056] In an embodiment, the processor subsystem may be configured to determine the network identifier of a user equipment by determining if the local identifier is a type of network identifier, and if so, using the local identifier as the network identifier. One or more parties in the federated learning may use a network identifier of a UE as local identifier. The enabler system may determine if the local identifier received in a registration request or other type of request is a type of network identifier, and if so, use the local identifier as the network identifier. For that purpose, the enabler system may analyse the format of the local identifier and match it against known formats of network identifiers. Thereby, the enabler system may not have to resolve the network identifier with another entity, such as a network exposure function. In this respect, it is noted that there may be different types of network identifiers, such as the earlier mentioned I MSI , MSISDN, and SIM card identifier. For efficiency reasons, the enabler system may choose to use one type of network identifier, for example by resolving all local identifiers to this type of network identifier. Alternatively, the enabler system may register and support different types of network identifiers simultaneously.

[0057] In a further aspect of the presently disclosed subject matter, a telecommunications network is provided comprising the enabler system as defined in this specification.

[0058] In an embodiment, the telecommunications network may comprise an enabler layer, wherein the enabler system may be comprised in the enabler layer of the telecommunications network. An enabler layer, also referred to as an enablement layer, may be defined by telecommunication standards such as those of 3GPP. Consequently, entities within the enabler layer may be attributed a certain level of trust. The enabler system may thus act as a trusted entity or trusted broker between parties.

[0059] In an embodiment, the enabler layer may be a Service Enabler Architecture Layer for Verticals (SEAL) layer.

[0060] In accordance with a further aspect of the presently disclosed subject matter, an application server for a telecommunications network is provided, wherein the application server stores data of user equipment. The application server may comprise:

[0061] - a network interface;

[0062] - a processor subsystem configured to: send a registration request to an enabler system for federated learning, wherein the registration request may comprise one or more local identifiers of user equipment for which the application server stores data, wherein a local identifier of a user equipment may be an identifier used locally by the application server; receive a request to execute a federated learning iteration in respect of data of a particular user equipment; execute the federated learning iteration in respect of the data of the particular user equipment to obtain a partial training result; and provide the partial training result as a response to the request. In accordance with a further aspect of the presently disclosed subject matter, a method is provided of executing a federated learning iteration at an application server. The method may comprise: sending a registration request to an enabler system for federated learning, wherein the registration request comprises one or more local identifiers of user equipment for which the application server stores data, wherein a local identifier of a user equipment is an identifier used locally by the application server;

[0063] - receiving a request to execute a federated learning iteration in respect of data of a particular user equipment;

[0064] - executing the federated learning iteration in respect of the data of the particular user equipment to obtain a partial training result; and

[0065] - providing the partial training result as a response to the request.

[0066] The above measures may provide an application server which may be configured to register with the enabler system and, after registration, act as a passive party in the federated learning by, upon request of an active party or an intermediary such as the enabler system, carrying out federated learning iterations.

[0067] In an embodiment, the registration request may further comprise one or more data identifiers which identify the data stored by the application server for the user equipment. The application server may not only inform the enabler system for which UEs it stores data, but also which type of data is stored for which UEs. This may enable the federated learning to be performed in respect of specific types of data.

[0068] In an embodiment, the processor subsystem may be configured to:

[0069] - receive, from a federated learning entity, the request for executing the federated learning iteration, wherein the request may comprise a correlation identifier for the particular user equipment;

[0070] - receive, from the enabler system, a mapping of the correlation identifier to a local identifier of the particular user equipment;

[0071] - based on the correlation identifier and the mapping, determine the local identifier of the user equipment;

[0072] - based on the local identifier, execute the federated learning iteration in respect of the data of the user equipment to obtain the partial training result; and

[0073] - provide the partial training result to the federated learning entity.

[0074] The aforementioned aspects related to the correlation identifier, which were explained in the context of an enabler system, are equally applicable to the application server. As such, if a request for executing a federated learning iteration is received which identifies a particular UE by its correlation identifier, the application server may be able to identify the particular UE via the mapping to the local identifier and thereby execute the federated learning iteration in respect of the data of the particular UE.

[0075] In accordance with a further aspect of the presently disclosed subject matter, a federated learning aggregation system is provided. The federated learning aggregation system may comprise:

[0076] - a network interface to a telecommunications network;

[0077] - a processor subsystem configured to: send a request for setting up federated learning to an enabler system, wherein the request may comprise an identifier of a user equipment of the telecommunications network; receive, from the enabler system: a network address of an application server which stores data of the user equipment; and a correlation identifier of the user equipment which may be assigned to the user equipment by the enabler system; send a request to the application server to execute an iteration of federated learning in respect of the data of the user equipment, wherein the request may comprise the correlation identifier; receive, from the application server, a partial training result; and aggregate the partial training result with partial training results received from other application servers to obtain an aggregated training result.

[0078] In accordance with a further aspect of the presently disclosed subject matter, a method is provided of obtaining an aggregated training result in federated learning. The method may comprise:

[0079] - sending a request for setting up federated learning to an enabler system, wherein the request may comprise an identifier of a user equipment of the telecommunications network;

[0080] - receiving, from the enabler system: a network address of an application server which stores data of the user equipment; and a correlation identifier of the user equipment which may be assigned to the user equipment by the enabler system;

[0081] - sending a request to the application server to execute an iteration of federated learning in respect of the data of the user equipment, wherein the request may comprise the correlation identifier;

[0082] - receiving, from the application server, a partial training result; and - aggregating the partial training result with partial training results received from other application servers to obtain an aggregated training result.

[0083] The aforementioned aspects related to the correlation identifier, which were explained in the context of an enabler system, are equally applicable to the federated learning aggregation system. As such, the federated learning aggregation system may request application servers to executing iterations of federated learning in respect of the data of a particular user equipment by referring to the correlation identifier of the particular user equipment and without having knowledge of the local identifier used by a respective application server for the particular user equipment. In some examples, the federated learning entity may perform subsequent steps such as model refinement, validation, and distribution of the updated global model back to the application servers. In some examples, the federated learning aggregation system may also store data for one or more particular UEs. In some examples, the federated learning aggregation system may also store labels for the data of the particular UEs to be used as ground truth in the federated learning to train a model to be able to predict the labels. In some examples, the federated learning aggregation system may be an application server acting as an active party in the federated learning. The application server may also be referred to as a ‘consumer’ by being the recipient of the partial training results.

[0084] In an embodiment, the processor subsystem may be configured to include, in the request for setting up federated learning, one or more requested data identifiers of requested data, wherein the requested data may be data requested as training data for the federated learning. Thereby, the federated learning aggregation system may inform the enabler system of the type(s) of data to be used as training data.

[0085] In accordance with a further aspect of the presently disclosed subject matter, a transitory or non-transitory computer-readable medium is provided comprising data representing a computer program, the computer program comprising instructions for causing a processor system to perform any of the methods described in this specification.

[0086] It will be appreciated by those skilled in the art that two or more of the above-mentioned embodiments, implementations, and / or aspects of the invention may be combined in any way deemed useful.

[0087] Modifications and variations of any one of the above-mentioned entities (e.g., enabler system, application server, federated learning aggregator system, any of the methods, any of the computer programs), which correspond to the described modifications and variations of another one of these entities, may be carried out by a person skilled in the art on the basis of the present description. BRIEF DESCRIPTION OF THE DRAWINGS

[0088] These and other aspects of the invention are apparent from and will be elucidated with reference to the embodiments described hereinafter. In the drawings,

[0089] Fig. 1 shows a number of application servers, for example cloud-based or edge-based application servers, which may be configured to serve user equipment and which may be local identifiers to locally identify the user equipment;

[0090] Fig. 2 shows the application servers storing data of the user equipment;

[0091] Fig. 3 shows an enabler system which may be configured to assist in setting up of federated learning, showing messages / events which include the enabler system assigning a correlation identifier to a user equipment and generating a mapping between the correlation identifier and a local identifier used for the user equipment;

[0092] Fig. 4 shows an enabler system which may be configured to act as an intermediary between a federated learning entity requesting the set up of the federated learning and the application servers which store the data of the user equipment;

[0093] Fig. 5 shows an enabler system which may be configured to act as an intermediary between the federated learning entity and the application servers, wherein the enabler system receives partial training results from application servers and provides the partial training results to the federated learning entity;

[0094] Fig. 6 shows a system which may be exemplary for an enabler system or other federated learning entity as described in this specification;

[0095] Fig. 7 shows a non-transitory computer-readable medium comprising data;

[0096] Fig. 8 shows an exemplary data processing system.

[0097] Reference signs list

[0098] The following list of references and abbreviations is provided for facilitating the interpretation of the drawings and shall not be construed as limiting the claims.

[0099] ASX application server X

[0100] AS-C application server consumer

[0101] ENS enabler system

[0102] NEF network exposure function

[0103] NF network function

[0104] UDM unified data management function

[0105] UEX user equipment X 1-25 messages I actions

[0106] 100 user equipment(s)

[0107] 120 network core

[0108] 122 network function

[0109] 124 network exposure function

[0110] 126 unified data management

[0111] 140 trusted domain I enabler layer

[0112] 142 enabler system

[0113] 160 edge I cloud

[0114] 162 application server(s)

[0115] 180 local user identifier(s) for user equipment

[0116] 190 user equipment data

[0117] 200 system

[0118] 220 network interface

[0119] 222 received data

[0120] 224 sent data

[0121] 240 processor subsystem

[0122] 260 data storage

[0123] 300 non-transitory computer-readable medium

[0124] 310 stored data

[0125] 1000 exemplary data processing system

[0126] 1002 processor

[0127] 1004 memory element

[0128] 1006 system bus

[0129] 1008 local memory

[0130] 1010 bulk storage device

[0131] 1012 input device

[0132] 1014 output device

[0133] 1016 network adapter

[0134] 1018 application DESCRIPTION OF EMBODIMENTS

[0135] The following embodiments are described in the context of a 5G telecommunications network adhering to one or more 3GPP, ETSI NFV and / or related standards. Nonetheless, the embodiments described in this specification are not confined solely to this context. Rather, they can be adapted and applied to any type of telecommunications network, such as those adhering to different standards like earlier generation (e.g., 4G) or subsequent generation (e.g., 6G or 7G) standards.

[0136] Moreover, while some of the following examples may refer to Vertical Federated Learning (VFL), the described measures may be equally applied to other types of federated or distributed learning where entities may be reluctant to share the identifiers of UEs amongst each other due to privacy and / or security concerns.

[0137] Fig. 1 shows a number of UEs 100 of a telecommunication networks. The UEs may include a first UE1 , a second UE2, etc. Fig. 1 further shows a network core 120 of the telecommunications network. The network core 120 may comprise one or more network functions NF 122. Fig. 1 further shows a number of application servers 162, which may include a first application server AS1 , a second application server AS2, a third application server AS3, etc. The application servers 162 may for example be cloud- or edge-based application servers which may be connected to the telecommunications network, for example via respective user plane functions (UPF) (not shown in Fig. 1). The application servers 162 may typically provide services to respective UEs 100 but may also utilize services from the UEs 100 or have any other type of client-server relationship. To be able to internally identify respective UEs, for example when storing or retrieving data of a UE in or from a data storage, a respective application server may use a local identifier to identify the UE. This identification is shown symbolically in Fig. 1 by a dashed arrow having been drawn between a UE and a bounding box reading ‘ID ASn: xx’, symbolically representing a local identifier (‘ID’) having a value of ‘xx’ which is used by the respective application server ‘n’ for the UE.

[0138] For example, the first application server AS1 may have a client-server relationship with the first UE1 and with the second UE2 and may internally identify the first UE1 by the numerical identifier ‘10’ and the second UE2 by the numerical identifier ‘15’. The second application server AS2 may also have a client-server relationship with the first UE1 and the second UE2 but may internally identify the first UE1 by the numerical identifier ‘203’ and the second UE2 by the numerical identifier ‘200’. Finally, the third application server AS3 may have a client-server relationship with the second UE2 and may internally identify the second UE2 by the numerical identifier ‘99’. In some examples, a local identifier may be locally defined by the application server for internal use, and may be or may not be globally unique across the telecommunications network. For example, an application server may assign a UE- ID to a UE which may not need to be a globally unique identifier. Another example of a potentially globally non-unique identifier for a UE may be the assignment of a Session ID to the UE. Such a Session ID may be locally assigned by an application server to manage sessions. Another example of a potentially globally non-unique identifier for a UE may be an external GPSI which may be defined as a <local identifier>@<domain identifier. In other examples, an application server may use a potentially globally unique yet temporary identifier for a UE, such as a local IP address. In yet other examples, an application server may use a unique and more persistent identifier for a UE. Such a globally unique and more persistent identifier may elsewhere also be referred to as a network identifier and may be used by a core network of the telecommunications network to uniquely identify the UE. Non-limiting examples of network identifiers include the I MSI , MSISDN, I M El , and the SIM card identifier of a UE. In some examples, a respective application server may store and use several local identifiers for a same UE, such as a combination of any two or more of the aforementioned identifiers. For example, an application server may store a GPSI serving as a network identifier, such as a MSISDN, an external GPSI, a UE address (IPv4, IPv6, and / or MAC address), and / or an external group identifier.

[0139] Fig. 2 shows the application servers AS1 , AS2, and AS3 162 storing data 190 of the respective UEs. Within an application server, the data 190 may be associated with or identified by a respective a local identifier 180 of a UE. In the specific example shown in Fig. 2, the first application server AS1 may provide a sports service which may tracks activities of a group of user, e.g., via a user’s smart watch having cellular connectivity. The first application server AS1 may thus store, or at least be able to determine, sports activity data of a user. The second application server AS2 may provide a positioning service which may estimate and store a current geographical location of a user and which may thereby keep track of the geographical locations of a group users. The second application server AS2 may thus store, or at least be able to determine, movement pattern data of a user. Finally, the third application server AS3 may provide a hospital service which may store healthcare data of a group of users. While the above refers to ‘users’, it will be understood that a user may be identified within the telecommunications network by an identifier of a UE used by the user. As such, the application servers AS1 , AS2, and AS3 162 may store data 190 of the respective UEs of the users, with the UEs being attributable to respective users. The following may therefore interchangeably refer to users and UEs, with the understanding that a reference to a user may technically represent a reference to a UE of a user.

[0140] It may be desired to train a machine learning model to be able to predict the health of a user based on the sports activity of a user and the user’s movement patterns. For that purpose, the health data stored by the third application server AS3 may be used as labels, e.g., as a target or dependent variable or a ground truth, in the training of the machine learning model, whereas the sports activity data and the movement pattern data may be used as features, e.g., as predictors or independent variables or attributes, in the training of the machine learning model. However, for such training, the health data of a user may need to be associated with the sports activity data and the movement data of the same user so that in the training of the machine learning model, a correct label may be used for a particular set of features and vice versa, e.g., a correct set of features may be used for a particular label.

[0141] This may represent a challenge, since each application server 162 may internally identify the data of a user using a local identifier of the UE. In the example of Fig. 2, the local identifiers for a same user / UE may be different across the application servers 162. For example, the sports activity data of UE2 of a particular user may be identified with the numerical identifier ‘15’ while the movement pattern data of UE2 may be identified with the numerical identifier ‘202’ and the health data of UE2 may be identified with the numerical identifier ‘99’. If federated learning is to be performed in respect of the data of UE2, it may be needed to be able to associate the data of UE2 across the application servers 162 despite the use of different local identifiers. In this respect, it is noted that a same or similar challenge may exist even if the application servers 162 were to use a same identifier for a UE. Namely, due to privacy and / or security concerns, application servers may be reluctant to mutually share the identifiers used for respective UEs and / or to share them with other federated learning entities.

[0142] Fig. 3 shows an enabler system ENS 142 which may be configured to assist in addressing the abovementioned challenge. The enabler system 142 may represent a trusted entity to federated learning entities, for example by being part of a trusted domain 140 of the telecommunications network, such as an enabler layer. The enabler system 142 may maintain data records for UEs on the basis of registration requests received from application servers, and based on the data records, provide association functionality through which the local identifiers used by the respective application servers for a same UE may be associated with each other. The association functionality, which may also be referred to as a mapping functionality, may represent internal functionality of the enabler system 142 which may be used when acting as an intermediary between federated learning entities, as also described with reference to Figs. 4 and 5. In the example of Fig. 3, the enabler system 142 may use the association functionality to allow federated learning entities to directly communicate with each other on the basis of correlation identifiers provided by the enabler system.

[0143] The following describes the establishment of the data records and the provision of the application functionality, before continuing to refer to Fig. 3.

[0144] The enabler system may be configured, for example by software executed by a processor subsystem of the enabler system, to establish the data records as follows. The enabler system may be configured to receive registration requests from application servers. A respective registration request may comprise local identifiers of one or more UEs for which the application server stores data. The enabler system may, for a UE identified in the respective registration request, and based on a respective local identifier, determine a network identifier of the UE, wherein the network identifier may be an identifier used by a core network of the telecommunications network to uniquely identify the UE, and in a data storage, store the network identifier in a data record for the UE. The data record may further indicate that the application server uses the local identifier for the UE. When receiving a second registration request from a second application server, the enabler system may, if the second registration request comprises a second local identifier of the UE, update the data record of the UE to indicate that the second application server uses the second local identifier for the UE.

[0145] Based on the information stored in the data records, the enabler system may provide the aforementioned association functionality. Namely, the enabler system may receive, from a federated learning entity, a request for setting up federated learning in respect of one or more particular UE. The request may comprise a particular identifier of the particular UE. Based on the particular identifier, the enabler system may determine the network identifier of the particular UE, and based on the network identifier, identify a data record for the particular UE. The enabler system may then, from the identified data record, retrieve a local identifier which is used by a particular application server for the particular UE, to enable a federated learning iteration to be requested from the particular application server on the basis of the local identifier. This way, the enabler system may enable a federated learning iteration to be requested from a particular application server on the basis of the local identifier of a UE.

[0146] Fig. 3 shows a network core 120 of the telecommunications network, which may comprise a network exposure function (NEF) and a unified data management (UDM) function. As previously described, the enabler system ENS 142 may be provided in a trusted domain 140 of the telecommunications network, such as an enabler layer. Fig. 3 further shows a number of application servers 162 which may store data of respective UEs. In the example of Fig. 3, the application servers AS1, AS2, and AS3 162 may store data for UE1 and UE2 and may use the local identifiers 180 for UE1 and UE2 as previously described with reference to Figs. 1 and 2.

[0147] Fig. 3 additionally shows an application server AS-C 164 acting as a so- called consumer, which application server may also be referred to as application server-consumer AS-C or in short as AS-C. The application server-consumer AS-C 164 may be an example of a federated learning entity which may actively seek to perform federated learning in respect of data of UEs. The application server-consumer AS-C 164 may thus represent a so-called active party in the federated learning, while other application servers 162 may represent so-called passive parties. As will be also explained elsewhere, the application server-consumer AS-C 164 may request the enabler system 142 to assist in setting up the federated learning, and in some examples, request partial training iterations to be executed, aggregate the partial training results and optionally perform subsequent steps such as model refinement, validation, and distribution of the updated global model back to the application servers 162. The application server-consumer AS-C 164 may be an example of a federated learning aggregation system as described elsewhere. It will be appreciated, however, that the active party in the federated learning being an application server is merely exemplary and that the federated learning entity representing the active party may also take any another form. In some examples, the application server-consumer AS-C 164, or any other type of active federated learning entity, may also store data of UEs to be used in the federated learning. For example, the application server-consumer AS-C 164 may store labels for the data of the particular UEs which can be used as ground truth data in the federated learning to train a model to be able to predict the labels. For example, the application server-consumer AS-C 164 may store health data of users as previously described with reference to the third application server AS3 of Fig. 2.

[0148] Fig. 3 as well as subsequent Figs. 4 and 5 show examples of various steps in the federated learning. These steps may be indicated by arrows in the respective figures and accompanied by reference numerals, e.g., 1-5 in Fig. 3. Examples of steps include sending messages and performing internal actions.

[0149] The steps in Fig. 3 may comprise steps 1 , 2, 3, 4a, 4b, 4c, and 5:

[0150] 1. Each application server 162 may register with the enabler system 142 in a manner as described elsewhere, for example by providing local identifiers of UEs for which the respective application server stores data, and optionally data identifiers of the stored data, to the enabler system 142 in a registration request message. 2. The enabler system 142 may determine a network identifier of each registered UE, for example by resolving the network identifier via the NEF and UDM. The determined network identifier may be stored in the data storage in conjunction with the local identifiers used for a respective UE. By being a trusted entity, the enabler system may be authorized to retrieve such network identifiers via the NEF and UDM.

[0151] 3. The application server-consumer AS-C 164, which may store labels for a set of UEs and may additionally store data of the UEs which may be used as feature data in the federated learning, may send a request to the enabler system 142 to determine which other application servers store data for set of UEs. For that purpose, the application server-consumer AS-C 164 may include identifiers of the UEs in the request, for example local identifiers used locally by the AS-C 164. Optionally, the application server-consumer AS-C 164 may provide data identifiers of types of data which are desired as features in the federated learning. Such data identifiers may also be referred to as feature identifiers since the data may be used as features, or as feature data, in the federated learning.

[0152] 4. The enabler system 142 may: a) Identify application servers that have data for the UEs identified in the request and optionally identify application servers that have a particular type of data as identified in the request, e.g., identified by way of one or more data identifiers. This step may involve the enabler system 142 determining a subset of the UEs specified in the request for which one or more application servers each store data. b) Generate a correlation identifier and send a mapping between the correlation identifier and the local identifier used by a respective application server to the application server. Each application server may only receive the mapping between the correlation identifier and the internally used local identifier of the UE. c) The application server-consumer AS-C 164 may receive a complete set of correlation identifiers as well as identifiers, such as network addresses, of application servers which store data of one or more of the UEs which are identified in the request of the application server-consumer AS-C 164 and optionally which store specific types of data as requested by the application server-consumer AS-C 164.

[0153] 5. The application server-consumer AS-C 164 may perform federated learning collaboratively with the other application servers 162 by using the correlation identifier and without having to reveal a local identifier or network identifier of a UE.

[0154] Fig. 4 shows an example in which the enabler system ENS 142 is configured to act as an intermediary between a federated learning entity requesting the set up of the federated learning, such as the application server-consumer AS-C 164, and the application servers 162 which store data of UEs. In this example, the enabler system 142 may act as a coordinator for at least part of the federated learning. Instead of generating correlation identifiers and allowing the application server-consumer AS-C 164 to coordinate the federated learning, in this example, the enabler system ENS 142 may coordinate the federated learning iterations, which may result in partial training results being shared between application servers 162, 164. Here and elsewhere, ‘partial training result’ may refer to the result of an application server training a local model on the local UE data, e.g., for a number of epochs. The local model may be previously distributed global model. The partial training result may be obtained in form of an intermediate model update, e.g., as updated model weights or gradients.

[0155] The steps shown in Fig. 4 may comprise steps 11, 12, 13, 14a, 14b, 15a, 15b, and 15c. Steps 11-13 may correspond to steps 1-3 as described with reference to Fig. 3. The steps 14a, 14b, 15a, 15b, and 15c may be explained as follows:

[0156] 14. The enabler system 142 may: a) Identify application servers that have data for the UEs identified in the request and optionally identify application servers that have a particular type of data as identified in the request, e.g., identified by way of one or more data identifiers. This step may involve the enabler system 142 determining a subset of the UEs specified in the request for which one or more application servers each store data. b) Send a list of the identified application servers, e.g., by listing application server identifiers and / or network addresses such as URLs of application servers, to the application server-consumer AS-C 164. The application servers included in the list may take part in the federated learning by locally executing federated learning iterations. The enabler system 142 may refrain from sharing local identifiers of UEs used by the application servers 162 with the application server-consumer AS-C 164.

[0157] 15. During the federated learning: a) For each of the identified application servers, the enabler system 142 may send a request to execute a federated learning iteration in respect of the data of one or more particular UEs. To identify a particular UE, the local identifier used by the application server for the particular UE may be included in the request. b) An application server receiving the request sent in step 15a may execute the federated learning iteration to obtain a partial training result and send the partial training result to the application server-consumer AS-C 164. c) The application server-consumer AS-C 164 may notify the enabler system 142 that the federated learning iteration is completed after receiving the partial training results from the application servers participating in the federated learning. d) (not shown in Fig. 4) The enabler system 142 may repeat steps 15a through 15c until all federated learning iterations have been executed.

[0158] Fig. 5 shows an example in which the enabler system ENS 142 is configured to act as an intermediary between a federated learning entity requesting the set up of the federated learning, such as the application server-consumer AS-C 164, and the application servers 162 which store data of UEs. In this example, the enabler system 142 may act both as a coordinator and data relay for the federated learning. Compared to the example of Fig. 4, the application servers 162 may now send the partial training results back to the enabler system 142, instead of sending them directly to the application server-consumer AS-C 164. The enabler system 142 may forward the individual partial training results to the application server-consumer AS-C 164, or aggregate the partial training results to obtain an aggregated training result and send the aggregated training result to the application server-consumer AS-C 164. Optionally, when aggregating the partial training results to obtain an aggregated training result, the enabler system 142 may perform subsequent steps such as model refinement, validation, and distribution of the updated global model back to the application servers 162, and only return a trained model back to the application server-consumer AS-C 164. This way, the identity of the application servers participating in the federated learning may remain hidden from the application server-consumer AS-C 164.

[0159] The steps shown in Fig. 5 may comprise steps 21, 22, 23, 24a, 25a, 25b, and 25c. Steps 21-23 may correspond to steps 1-3 as described with reference to Fig. 3. The steps 24a, 25a, 25b, and 25c may be explained as follows:

[0160] 24. The enabler system 142 may: a) Identify application servers that have data for the UEs identified in the request and optionally identify application servers that have a particular type of data as identified in the request, e.g., identified by way of one or more data identifiers. This step may involve the enabler system 142 determining a subset of the UEs specified in the request for which one or more application servers each store data. b) (Omitted compared to the example of Fig. 4)

[0161] 25. During the federated learning: a) For each of the identified application servers, the enabler system 142 may send a request to execute a federated learning iteration in respect of the data of one or more particular UEs. To identify a particular UE, the local identifier used by the application server for the particular UE may be included in the request. b) An application server 162 receiving the request sent in step 25a may execute the federated learning iteration to obtain a partial training result and send the partial training result to the enabler system 142. c) The enabler system 142 may send the partial training results received from the participating application servers 162 to the application server-consumer AS-C 164, or may aggregate the partial training results to obtain an aggregated training result and send the aggregated training result to the application server-consumer AS-C 164. The application server-consumer AS-C 164 may determine that the federated learning iteration is completed and may further process the (partial) training results. d) (not shown in Fig. 5) The enabler system 142 may repeat steps 25a through 25c until all federated learning iterations have been executed.

[0162] In some examples, which are not shown explicitly in the figures, the enabler system may take consent of each application server into account when identifying the application servers which may take part in the federated learning. Such consent may be determined in various ways, for example: i) A priori during registration (e.g., in step 1 in Fig 3), where an application server may indicate whether it consents to participating in federated learning or not. ii) Alternatively, during or after identifying application servers that may join the federated learning (e.g., step 4a in Fig. 3, step 14a in Fig. 4, step 24a in Fig. 5), the enabler system may separately request each identified application server to consent to participating in the federated learning initiated by the application server-consumer.

[0163] In some examples, the correlation identifiers may expire after a predetermined time and / or once the federated learning has been completed. This may involve steps 1-3 as in Fig. 3, to which the following steps 34-37 may be added:

[0164] 34a. (same as step 4a in Fig. 3)

[0165] 34b. The enabler system may generate a temporary correlation identifier and send a mapping between the temporary correlation identifier and the local identifier used by a respective application server to the application server. Each application server may receive the mapping between the temporary correlation identifier and the internally used local identifier of the UE, as well as a time validity of the temporary correlation identifier. The time validity may for example be specified in relative terms, e.g., as a duration, or in absolute terms, e.g., as a timestamp or a datetime.

[0166] 34c. The application server-consumer may receive a complete set of temporary correlation identifiers and their time validities as well as identifiers of the application servers which store relevant data for the federated learning. Optionally, only the identifiers of application servers are received which store any of the types of data as requested by the application server-consumer.

[0167] 35. (same as step 5 in Fig. 3);

[0168] 36. The application server-consumer may notify the enabler system that the federated learning iteration is completed.

[0169] 37. When the time validity of the correlation identifiers expires and / or a notification from application server-consumer is received indicating that the federated learning iteration is completed, the enabler system may send a message to participating application servers that the correlation identifiers should no longer be used. Optionally, the application server-consumer may request a renewal of correlation identifiers if a new instance of federated learning is to be performed.

[0170] In some examples, the application server-consumer may refrain from providing data identifiers of types of data which are desired as features in the federated learning, and may instead seek to discover which types of data are available for one or more particular UEs. Accordingly, the application server-consumer may include identifiers of the UEs in the request and in response receive a list of data identifiers indicating the types of data which are available for the UEs identified in the request. This may involve steps 1-2 of Fig. 3, to which the following steps 43-45 may be added:

[0171] 43. The application server-consumer, which may store labels for a set of UEs and which may additionally store data representing feature data for the federated learning, may send a request to the enabler system to determine which other application servers store data for set of UEs. For that purpose, the application serverconsumer may include identifiers of the UEs in the request, for example local identifiers used locally by the application server-consumer.

[0172] 44. The enabler system may: a) Identify application servers that have data for the UEs identified in the request. This step may involve the enabler system determining a subset of the UEs specified in the request for which one or more application servers each store data. b) (same as step 4b in Fig. 3); c) The application server-consumer may receive the set of correlation identifiers as well as identifiers, such as network addresses, of the application servers which store data of one or more of the UEs which are identified in the request of the application server-consumer. In addition, the application server-consumer may receive a list of data identifiers identifying the types of data which may be available at each application server for the respective UEs. 45. The application server-consumer may determine in respect of which types of data the federated learning is to be performed and then perform federated learning collaboratively with the other application servers by using the correlation identifier and without having to reveal a local identifier or network identifier of a UE.

[0173] Fig. 6 shows a system 200 which may represent or embody any of the entities described in this specification, such as the enabler system, an application server, a federated learning aggregation system such as an application serverconsumer, or any other federated learning entity. The system 200 may comprise a network interface 220 for network data communication, e.g., to receive data 222 and to send data 224. The network interface 220 may for example be a wired communication interface, e.g., a fibreoptic interface. The system 200 may further comprise a processor subsystem 240 which may be configured, e.g., by hardware design or software, to perform the operations described in this specification pertaining to the embodied entity.

[0174] In general, the processor subsystem 240 may be embodied by a single Central Processing Unit (CPU), such as a x86 or ARM-based CPU, but also by a combination or system of such CPUs and / or other types of processing units. As also shown in Fig. 6, the system 200 may comprise a data storage 260, which may comprise non-volatile memory such as flash memory, a solid-state drive, etc., and which may be used for long-term storage of data. Although not shown in Fig. 6, the system 200 may further comprise volatile memory for temporary storage of data.

[0175] In general, each entity described in this specification may be embodied as, or in, a device or apparatus. The device or apparatus may comprise one or more (micro) processors which execute appropriate software. The processor(s) of a respective entity may be embodied by one or more of these (micro)processors. Software implementing the functionality of a respective entity may have been downloaded and / or stored in a corresponding memory or memories, e.g., in volatile memory such as RAM or in non-volatile memory such as Flash. Alternatively, the processor(s) of a respective entity may be implemented in the device or apparatus in the form of programmable logic, e.g., as a Field-Programmable Gate Array (FPGA). Any input and / or output interfaces may be implemented by respective interfaces of the device or apparatus. In general, each functional unit of a respective entity may be implemented in the form of a circuit or circuitry. A respective entity may also be implemented in a distributed manner, e.g., involving different devices or apparatus.

[0176] It is noted that any of the methods described in this specification, for example in any of the claims, may be implemented on a computer as a computer implemented method, as dedicated hardware, or as a combination of both. Instructions for the computer, e.g., executable code, may be stored on a computer-readable medium 300 as for example shown in Fig. 7, e.g., in the form of a series 310 of machine-readable physical marks and / or as a series of elements having different electrical, e.g., magnetic, or optical properties or values. The executable code may be stored in a transitory or non-transitory manner. Examples of computer-readable mediums include memory devices, optical storage devices, integrated circuits, servers, online software, etc. Fig. 7 shows by way of example a memory card 300.

[0177] Fig. 8 is a block diagram illustrating an exemplary data processing system 1000 that may be used in the embodiments described in this specification. Such data processing systems include data processing entities described in this specification, including but not limited to an enabler system, an application server, a federated learning aggregation system such as an application server-consumer, and any other federated learning entity. The data processing system 1000 may include at least one processor 1002 coupled to memory elements 1004 through a system bus 1006. As such, the data processing system may store program code within memory elements 1004. Furthermore, processor 1002 may execute the program code accessed from memory elements 1004 via system bus 1006. In one aspect, data processing system may be implemented as a computer that is suitable for storing and / or executing program code. It should be appreciated, however, that data processing system 1000 may be implemented in the form of any system including a processor and memory that is capable of performing the functions described within this specification. The memory elements 1004 may include one or more physical memory devices such as, for example, local memory 1008 and one or more bulk storage devices 1010. Local memory may refer to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code. A bulk storage device may be implemented as a hard drive, solid state disk or other persistent data storage device. The data processing system 1000 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the number of times program code is otherwise retrieved from bulk storage device 1010 during execution.

[0178] Input / output (I / O) devices depicted as input device 1012 and output device 1014 optionally can be coupled to the data processing system. Examples of input devices may include, but are not limited to, for example, a microphone, a keyboard, a pointing device such as a mouse, a game controller, a Bluetooth controller, a VR controller, and a gesture-based input device, or the like. Examples of output devices may include, but are not limited to, for example, a monitor or display, speakers, or the like. Input device and / or output device may be coupled to data processing system either directly or through intervening I / O controllers. A network adapter 1016 may also be coupled to data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and / or remote storage devices through intervening non-public or public networks. The network adapter may comprise a data receiver for receiving data that is transmitted by said systems, devices and / or networks to said data and a data transmitter for transmitting data to said systems, devices and / or networks. Radios, modems, cable modems, and ethernet cards are examples of different types of network adapter that may be used with data processing system 1000.

[0179] As shown in Fig. 8, memory elements 1004 may store an application 1018. It should be appreciated that data processing system 1000 may further execute an operating system (not shown) that can facilitate execution of the application. The application, being implemented in the form of executable program code, can be executed by data processing system 1000, e.g., by processor 1002. Responsive to executing the application, the data processing system may be configured to perform one or more operations to be described herein in further detail.

[0180] For example, data processing system 1000 may represent an enabler system. In that case, application 1018 may represent an application that, when executed, configures data processing system 1000 to perform the functions described with reference to the enabler system. In another example, data processing system 1000 may represent an application server. In that case, application 1018 may represent an application that, when executed, configures data processing system 1000 to perform the functions described with reference to the application server. In another example, data processing system 1000 may represent a federated learning aggregation system. In that case, application 1018 may represent an application that, when executed, configures data processing system 1000 to perform the functions described with reference to the federated learning aggregation system.

[0181] An abstract for the present specification may read as follows: an enabler system may be provided to enable federated learning on data of user equipment of a telecommunications network. The enabler system may represent a trusted entity to federated learning entities, for example by being part of a trusted domain of the telecommunications network, such as an enabler layer. The enabler system may be configured to may maintain data records for user equipment on the basis of registration requests received from application servers. In the data records, the enabler system may record local identifiers used by application servers for a user equipment. Based on the data records, the enabler system may provide association functionality through which potentially different local identifiers used by application servers for a same user equipment may be associated with each other. The association functionality may be used to enable a federated learning iteration to be requested from a particular application server on the basis of the local identifier of a user equipment.

[0182] It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims.

[0183] In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. Use of the verb "comprise" and its conjugations does not exclude the presence of elements or stages other than those stated in a claim. The article "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. Expressions such as “at least one of” when preceding a list or group of elements represent a selection of all or of any subset of elements from the list or group. For example, the expression, “at least one of A, B, and C” should be understood as including only A, only B, only C, both A and B, both A and C, both B and C, or all of A, B, and C. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

Claims

CLAIMSClaim 1. An enabler system for enabling federated learning on data of user equipment of a telecommunications network, comprising: a network interface; a processor subsystem configured to: receive a registration request from an application server, wherein the registration request comprises local identifiers of one or more user equipment for which the application server stores data, wherein a local identifier of a user equipment is an identifier used locally by the application server; for a user equipment identified in the registration request, based on the local identifier, determine a network identifier of the user equipment, wherein the network identifier is an identifier used by a core network of the telecommunications network to uniquely identify the user equipment; store the network identifier in a data record for the user equipment, wherein the data record indicates that the application server uses the local identifier for the user equipment; receive a second registration request from a second application server, and if the second registration request comprises a second local identifier of the user equipment, update the data record of the user equipment to indicate that the second application server uses the second local identifier for the user equipment; receive, from a federated learning entity, a request for setting up federated learning in respect of one or more particular user equipment, wherein the request comprises a particular identifier of the particular user equipment; based on the particular identifier, determine the network identifier of the particular user equipment, and based on the network identifier, identify a data record for the particular user equipment; from the identified data record, retrieve a local identifier which is used by a particular application server for the particular user equipment, to enable a federated learning iteration to be requested from the particular application server on the basis of the local identifier.Claim 2. The enabler system according to claim 1, wherein the processor subsystem is configured to:assign a correlation identifier to the particular user equipment; and to enable the federated learning iteration to be requested from the particular application server: generate a mapping between the correlation identifier and the local identifier used by the particular application server for the particular user equipment; provide, to the particular application server, the correlation identifier and the mapping to the local identifier used by the particular application server; and provide, to the federated learning entity, the correlation identifier.Claim 3. The enabler system according to claim 1 or 2, wherein the processor subsystem is configured to determine the network identifier of a user equipment by querying a network exposure function of the telecommunications network for the network identifier.Claim 4. The enabler system according to any one of claims 1 to 3, wherein the processor subsystem is configured to: send a request to the particular application server to execute the federated learning iteration in respect of data of the particular user equipment, wherein the request comprises the local identifier used by the particular application server for the particular user equipment; receive a partial training result from the particular application server; provide the partial training result to the federated learning entity.Claim 5. The enabler system according to claim 4, wherein the processor subsystem is configured to provide the partial training result to the federated learning entity in form of an aggregated training result which is obtained by aggregating a plurality of partial training results from a plurality of different application servers.Claim 6. The enabler system according to claim 4 or 5, wherein the request for setting up the federated learning comprises one or more requested data identifiers of requested data which is requested as training data for the federated learning, wherein the processor subsystem is configured to include the one or more requested data identifiers in the request to the particular application server to identify which data of the particular user equipment is to be used as the training data.Claim 7. The enabler system according to according to any one of claims 1 to 6, wherein the registration request comprises one or more data identifiers which identify the data stored by the application server for the user equipment, wherein the processor subsystem is configured to: store the one or more data identifiers in the data record for the user equipment; and identify, in the data record, the application server as storing the data identified by the one or more data identifiers.Claim 8. A telecommunications network comprising the enabler system according to any one of claims 1 to 7.Claim 9. An application server for a telecommunications network, wherein the application server stores data of user equipment, comprising: a network interface; a processor subsystem configured to: send a registration request to an enabler system for federated learning, wherein the registration request comprises: one or more local identifiers of user equipment for which the application server stores data, wherein a local identifier of a user equipment is an identifier used locally by the application server; and optionally one or more data identifiers which identify the data stored by the application server for the user equipment; receive a request to execute a federated learning iteration in respect of data of a particular user equipment; execute the federated learning iteration in respect of the data of the particular user equipment to obtain a partial training result; and provide the partial training result as a response to the request.Claim 10. The application server according to claim 9, wherein the processor subsystem is configured to: receive, from a federated learning entity, the request for executing the federated learning iteration, wherein the request comprises a correlation identifier for the particular user equipment; receive, from the enabler system, a mapping of the correlation identifier to a local identifier of the particular user equipment;based on the correlation identifier and the mapping, determine the local identifier of the user equipment; based on the local identifier, execute the federated learning iteration in respect of the data of the user equipment to obtain the partial training result; and provide the partial training result to the federated learning entity.Claim 11. A federated learning aggregation system, comprising: a network interface to a telecommunications network; a processor subsystem configured to: send a request for setting up federated learning to an enabler system, wherein the request comprises an identifier of a user equipment of the telecommunications network; receive, from the enabler system: a network address of an application server which stores data of the user equipment; and a correlation identifier of the user equipment which is assigned to the user equipment by the enabler system; send a request to the application server to execute an iteration of federated learning in respect of the data of the user equipment, wherein the request comprises the correlation identifier; receive, from the application server, a partial training result; and aggregate the partial training result with partial training results received from other application servers to obtain an aggregated training result.Claim 12. A method of enabling federated learning on data of user equipment of a telecommunications network, comprising: receiving a registration request from an application server, wherein the registration request comprises local identifiers of one or more user equipment for which the application server stores data, wherein a local identifier of a user equipment is an identifier used locally by the application server; for a user equipment identified in the registration request, based on the local identifier, determining a network identifier of the user equipment, wherein the network identifier is an identifier used by a core network of the telecommunications network to uniquely identify the user equipment;storing the network identifier in a data record for the user equipment, wherein the data record indicates that the application server uses the local identifier for the user equipment; receiving a second registration request from a second application server, and if the second registration request comprises a second local identifier of the user equipment, update the data record of the user equipment to indicate that the second application server uses the second local identifier for the user equipment; receiving, from a federated learning entity, a request for setting up federated learning in respect of one or more particular user equipment, wherein the request comprises a particular identifier of the particular user equipment; based on the particular identifier, determining the network identifier of the particular user equipment, and based on the network identifier, identify a data record for the particular user equipment; from the identified data record, retrieving a local identifier which is used by a particular application server for the particular user equipment, to enable a federated learning iteration to be requested from the particular application server on the basis of the local identifier.Claim 13. A method of executing a federated learning iteration at an application server, comprising: sending a registration request to an enabler system for federated learning, wherein the registration request comprises: one or more local identifiers of user equipment for which the application server stores data, wherein a local identifier of a user equipment is an identifier used locally by the application server; and optionally one or more data identifiers which identify the data stored by the application server for the user equipment; receiving a request to execute a federated learning iteration in respect of data of a particular user equipment; executing the federated learning iteration in respect of the data of the particular user equipment to obtain a partial training result; and providing the partial training result as a response to the request.Claim 14. A method of obtaining an aggregated training result in federated learning, comprising:sending a request for setting up federated learning to an enabler system, wherein the request comprises an identifier of a user equipment of the telecommunications network; receiving, from the enabler system: - a network address of an application server which stores data of the user equipment; and a correlation identifier of the user equipment which is assigned to the user equipment by the enabler system; sending a request to the application server to execute an iteration of federated learning in respect of the data of the user equipment, wherein the request comprises the correlation identifier; receiving, from the application server, a partial training result; and aggregating the partial training result with partial training results received from other application servers to obtain an aggregated training result.Claim 15. A transitory or non-transitory computer-readable medium comprising data representing a computer program, the computer program comprising instructions for causing a processor system to perform the method according to any one of claims 12 to 14.

Citation Information

Patent Citations

  • Longitudinal federated learning method and system, communication entity and storage medium

    CN118095484A

  • Method for determining service experience model, and communication apparatus

    EP4262268A1

  • Network assisted application layer federated learning member selection

    WO2023173321A1

  • Registering and discovering external federated learning clients in a wireless communication system

    WO2024088572A1