Patent Description:
Currently the fifth generation (<NUM>) of cellular systems, also referred to as New Radio (NR), is being standardized within the Third-Generation Partnership Project (3GPP). NR is developed for maximum flexibility to support multiple and substantially different use cases. These include enhanced mobile broadband (eMBB), machine type communications (MTC), ultra-reliable low latency communications (URLLC), side-link device-to-device (D2D), and several other use cases.

At a high level, the <NUM> System (5GS) includes an Access Network (AN) and a Core Network (CN). The AN provides UEs connectivity to the CN, e.g., via base stations such as gNBs or ng-eNBs described below. The CN includes a variety of Network Functions (NF) that provide a wide range of different functionalities such as session management, connection management, charging, authentication, etc..

<FIG> illustrates a high-level view of an exemplary <NUM> network architecture, which includes a Next Generation Radio Access Network (NG-RAN, <NUM>) and a <NUM> Core (5GC, <NUM>). The NG-RAN can include one or more gNodeB's (gNBs, e.g., <NUM>, <NUM>) connected to the 5GC via one or more NG interfaces (e.g., <NUM>, <NUM>). More specifically, the gNBs can be connected to one or more Access and Mobility Management Functions (AMFs) in the 5GC via respective NG-C interfaces and to one or more User Plane Functions (UPFs) in the 5GC via respective NG-U interfaces. Various other network functions (NFs) can be included in the 5GC, as described in more detail below.

In addition, the gNBs can be connected to each other via one or more Xn interfaces (e.g., <NUM> between gNBs <NUM>, <NUM>). The radio technology for the NG-RAN is often referred to as "New Radio" (NR). With respect to the NR interface to UEs, each of the gNBs can support frequency division duplexing (FDD), time division duplexing (TDD), or a combination thereof. Each of the gNBs can serve a geographic coverage area including one or more cells and, in some cases, can also use various directional beams to provide coverage in the respective cells.

NG RAN logical nodes shown in <FIG> include a Centralized Unit (CU or gNB-CU) and one or more Distributed Units (DU or gNB-DU). CUs (e.g., <NUM>) are logical nodes that host higher-layer protocols and perform various gNB functions such controlling the operation of DUs. In contrast, DUs (e.g., <NUM>, <NUM>) are decentralized logical nodes that host lower layer protocols and can include, depending on the functional split option, various subsets of gNB functions. As such, CUs and DUs can include various circuitry needed to perform their respective functions, including processing circuitry, communication interface circuitry, power supply circuitry, etc. A CU connects to one or more DUs over respective F1 logical interfaces (e.g., <NUM>, <NUM>).

Another change in <NUM> networks (e.g., in 5GC) is that traditional peer-to-peer interfaces and protocols found in earlier-generation networks are modified and/or replaced by a Service Based Architecture (SBA) in which Network Functions (NFs) provide one or more services to one or more service consumers. This can be done, for example, by Hyper Text Transfer Protocol/Representational State Transfer (HTTP/REST) application programming interfaces (APIs). In general, the various services are self-contained functionalities that can be changed and modified in an isolated manner without affecting other services.

Furthermore, the services are composed of various "service operations," which are more granular divisions of the overall service functionality. The interactions between service consumers and producers can be of the type "request/response" or "subscribe/notify. " In the <NUM> SBA, network repository functions (NRF) allow every network function to discover the services offered by other network functions, and Data Storage Functions (DSF) allow every network function to store its context. This <NUM> SBA model is based on principles including modularity, reusability, and self-containment of NFs, which can enable network deployments to take advantage of the latest virtualization and software technologies.

A Network Data Analytics Function (NWDAF) provides network analytics information (e.g., statistical information of past events and/or predictive information) to other NFs. The NWDAF can also perform storage and retrieval of analytics information from an Analytics Data Repository Function (ADRF).

Indirect communication in SBA was specified in 3GPP Rel-<NUM>, using a Service Communication Proxy (SCP) as a standardized proxy between Service Consumers and Service Producers. 3GPP Rel-<NUM> enhanced SBA with a Data Management Framework that includes a Data Collection Coordination Function (DCCF) and an optional messaging framework. Data consumers ask DCCF for data collection in relation to a data producer. The DCCF subscribes to the data source (if it does not have a subscription already) and then coordinates the request and data delivery, e.g., using the messaging framework. The data producer inputs the requested data to the messaging framework, which delivers the data to the data consumer.

<CIT> relates to methods and apparatuses for providing authorization in communication networks.

<NPL> relates to data exchange and analytics exposure between Home Public Land Mobile Network (HPLMN) and Visited Public Land Mobile Network (VPLMN) of a of a user equipment (UE).

DCCF can be used by data consumers to request/obtain analytics information stored in ADRF. Before providing analytics information stored in ADRF to a requesting data consumer via DCCF, it is necessary and/or desirable to verify that the data consumer is actually authorized to obtain the requested information. Applicants have recognized that current verification solutions are inadequate for various reasons.

An object of embodiments of the present disclosure is to address these and other problems related to security of analytics information, issues, and/or difficulties, thereby enabling the otherwise-advantageous implementation of data and analytics functionality in a <NUM> system.

Some embodiments of the present disclosure include methods (e.g., procedures) for a data consumer NF (NFc) of a communication network (e.g., 5GC).

These exemplary methods can include sending, to a data producer network function (NFp) of the communication network, a first request for first data produced by the NFp and stored in a data repository function (DRF) of the communication network. These exemplary method can also include receiving, from the NFp, a response that includes an indication that the NFc is authorized to access the first data stored in the DRF. These exemplary methods can also include sending, to the DRF, a second request for the first data. The second request includes the indication that the NFc is authorized to access the first data stored in the DRF. These exemplary methods can also include receiving the first data from the DRF in response to the second request.

In some embodiments, the response from the NFc also includes information identifying the DRF. In some of these embodiments, the information identifying the DRF comprises an identity of the DRF or an address of the DRF.

In some embodiments, the indication that the NFc is authorized to access the first data stored in the DRF is an access token or a string signed with a digital signature of the NFp. In some of these embodiments, the access token or the signed string includes metadata related to one or more of the following: the first data, the NFc, the NFp, and the DRF. In some variants, the following apply:.

In other embodiments, the indication that the NFc is authorized to access the first data stored in the DRF is a random string and the second request also includes metadata related to the first data and metadata related to the NFc. In some of these embodiments, the following apply:.

In some embodiments, the first data includes one or more of the following: analytics data, and one or more AI/ML models.

Other embodiments include exemplary methods (e.g., procedures) for a data producer NF (NFp) of a communication network (e.g., 5GC).

These exemplary methods can include storing, in a DRF of the communication network, first data stored together with metadata related to one or more of the following: the first data, the NFp, the DRF, and an NFc. These exemplary methods can also include receiving from the NFc a first request for the first data stored in the DRF. These exemplary methods can also include sending, to the NFc, a first response that includes an indication that the NFc is authorized to access the first data stored in the DRF.

In some embodiments, the first response to the NFp also includes information identifying the DRF. In some of these embodiments, the information identifying the DRF comprises an identity of the DRF or an address of the DRF.

In various embodiments, the metadata can include any of the metadata summarized above for NFp embodiments. In some embodiments, the first data includes analytics data and/or one or more AI/ML models.

In some embodiments, the indication that the NFc is authorized to access the first data stored in the DRF is an access token or a string signed with a digital signature of the NFp. In some of these embodiments, the access token or the signed string includes the metadata that was stored together with the first data.

In other embodiments, the indication that the NFc is authorized to access the first data stored in the DRF is a random string. In such embodiments, these exemplary methods can also include the following operations: receiving from the DRF a second request that includes a random string, metadata related to the first data, and metadata related to the NFc; and sending to the DRF a second response indicating that the NFc is authorized to access the first data, based on detecting the following matches: between the random strings in the first response and the second request; and between the metadata stored with the first data and the metadata in the second request.

Other embodiments include exemplary methods (e.g., procedures) for a DRF of a communication network (e.g., 5GC).

These exemplary methods can include storing first data produced by an NFp of the communication network. The first data is stored together with metadata related to one or more of the following: the first data, the NFp, the DRF, and an NFc. These exemplary methods can also include receiving from the NFc a request for the first data. The request includes an indication that the NFc is authorized to access the first data. These exemplary methods can also include, based on verifying that the NFc is authorized to access the first data, sending the first data to the NFc.

In some embodiments, the indication that the NFc is authorized to access the first data is an access token that includes metadata related to one or more of the following: the first data, the NFp, the DRF, and the NFc. In such embodiments, verifying that the NFc is authorized to access the first data can include detecting a match between claims of the access token and the metadata stored with the first data.

In other embodiments, the indication that the NFc is authorized to access the first data is a string that includes metadata related to one or more of the following: the first data, the NFp, the DRF, and the NFc. The string is signed by a digital signature. In such embodiments, verifying that the NFc is authorized to access the first data can include detecting the following matches: between the digital signature and a digital signature associated with the NFp, and between the metadata in the string and the metadata stored with the first data.

In other embodiments, the indication that the NFc is authorized to access the first data is a random string. In such embodiments, verifying that the NFc is authorized to access the first data can include the following operations: sending to the NFp a second request that includes the random string, metadata related to the first data, and metadata related to the NFc; and receiving from the NFp a second response indicating that the NFc is authorized to access the first data.

Other embodiments include NFcs, NFps, and DRFs (or network nodes hosting the same) that are configured to perform the operations corresponding to any of the exemplary methods described herein. Other embodiments also include non-transitory, computer-readable media storing computer-executable instructions that, when executed by processing circuitry associated with such NFcs, NFps, and DRFs, configure the same to perform operations corresponding to any of the exemplary methods described herein.

These and other embodiments described herein can enable an ADRF (or other data repository) to verify whether an NFc is authorized to access and receive analytics data and/or models that have been collected from an NFp (e.g., NWDAF) and stored in ADRF. This prevents ADRF from distributing proprietary and/or sensitive data to an unauthorized and/or "rogue" prospective NFc. In this manner, embodiments can improve security of analytics and/or models used in <NUM> networks.

These and other objects, features, and advantages of the present disclosure will become apparent upon reading the following Detailed Description in view of the Drawings briefly described below.

Embodiments briefly summarized above will now be described more fully with reference to the accompanying drawings. These descriptions are provided by way of example to explain the subject matter to those skilled in the art and should not be construed as limiting the scope of the subject matter to only the embodiments described herein. More specifically, examples are provided below that illustrate the operation of various embodiments according to the advantages discussed above.

In general, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and/or is implied from the context in which it is used. All references to alan/the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The operations of any methods and/or procedures disclosed herein do not have to be performed in the exact order disclosed, unless an operation is explicitly described as following or preceding another operation and/or where it is implicit that an operation must follow or precede another operation. Any feature of any embodiment disclosed herein can apply to any other disclosed embodiment, as appropriate. Likewise, any advantage of any embodiment described herein can apply to any other disclosed embodiment, as appropriate.

Furthermore, the following terms are used throughout the description given below:.

The above definitions are not meant to be exclusive. In other words, various ones of the above terms may be explained and/or described elsewhere in the present disclosure using the same or similar terminology. Nevertheless, to the extent that such other explanations and/or descriptions conflict with the above definitions, the above definitions should control.

Note that the description given herein focuses on a 3GPP cellular communications system and, as such, 3GPP terminology or terminology similar to 3GPP terminology is generally used. However, the concepts disclosed herein are not limited to a 3GPP system, and can be applied in any system that can benefit from the concepts, principles, and/or embodiments described herein.

<FIG> shows an exemplary architecture of a <NUM> network (<NUM>) with service-based interfaces. The architecture shown in <FIG> includes the following NFs:.

The Unified Data Management (UDM) function supports generation of 3GPP authentication credentials, user identification handling, access authorization based on subscription data, and other subscriber-related functions. To provide this functionality, the UDM uses subscription data (including authentication data) stored in the 5GC unified data repository (UDR). In addition to the UDM, the UDR supports storage and retrieval of policy data by the PCF, as well as storage and retrieval of application data by NEF.

The NRF allows every NF to discover the services offered by other NFs, and Data Storage Functions (DSF) allow every NF to store its context. In addition, the NEF provides exposure of capabilities and events of the 5GC to AFs within and outside of the 5GC. For example, NEF provides a service that allows an AF to provision specific subscription data (e.g., expected UE behavior) for various UEs.

Communication links between the UE and a <NUM> network (AN and CN) can be grouped in two different strata. The UE communicates with the CN over the Non-Access Stratum (NAS), and with the AN over the Access Stratum (AS). All the NAS communication takes place between the UE and the AMF via the NAS protocol (N1 interface in <FIG>). Security for the communications over this these strata is provided by the NAS protocol (for NAS) and the PDCP protocol (for AS).

3GPP Rel-<NUM> enhances the SBA by adding a Data Management Framework that includes a Data Collection Coordination Function (DCCF) and a messaging framework, which is defined in detail in 3GPP TR <NUM>-<NUM> (v17. <NUM>) section <NUM>. The Data Management Framework is backward compatible with a Rel-<NUM> NWDAF function, described above.

For Rel-<NUM>, the baseline for services offered by the DCCF (e.g., to an NWDAF Analytics Function) are the Rel-<NUM> NF Services used to obtain data. For example, the baseline for the DCCF service used by an NWDAF consumer to obtain UE mobility data is Namf_EventExposure. The <NUM> system architecture also allows any NF to obtain analytics from an NWDAF using a DCCF function and associated Ndccf services. The NWDAF can also perform storage and retrieval of analytics information from an Analytics Data Repository Function (ADRF).

A Rel-<NUM> NWDAF can coexist with a Rel-<NUM> NWDAF and the Data Management Framework. A Rel-<NUM> NWDAF continues to request data directly from NFs without using the Data Management Framework and provides analytics to consumers that discover the Rel-<NUM> NWDAF. A Rel-<NUM> NWDAF can request data from the Data Management Framework, and if the data is not collected already, the Data Management Framework would request the data from a data source. In other words, a data source would independently send Data to the Rel-<NUM> NWDAF that sent a request directly to the data Source, and to the Data Management Framework that sent a request for the Rel-<NUM> NWDAF.

In Rel-<NUM>, the NWDAF is decomposed by moving Data Collection (including the task of identifying the Data Source) to the Data Management Framework. The Rel-<NUM> NWDAF requests data from the Data Management Framework but may not query other NFs (e.g., NRF, UDM, etc.) to determine which NF instance serves a UE, nor need it be concerned about life cycles of Data Source NFs, as was the case for Rel-<NUM> NWDAF. This decomposition also allows other NFs to obtain data via the Data Management Framework and avoids duplicate data collection from the same data source. The Rel-<NUM> NWDAF (without Data Collection) may be referred to as the "NWDAF Analytics Function.

<FIG> illustrates a high-level view of the Rel-<NUM> Data Management Framework. The main components are the DCCF (<NUM>) that communicates with other NFs, the Messaging Framework, and a Data Repository. The DCCF optionally includes a DCCF Adaptor (DA) used to communicate with the Messaging Framework, which optionally includes a Consumer Adaptor (3CA) and/or a Producer Adaptor (3PA) used to communicate with a Data Consumer (<NUM>) and a Data Source (<NUM>), respectively. The DA, 3CA, and 3PA may be standalone or combined with the DCCF, Data Consumer, and Data Source, respectively. Exemplary Data Consumers include the NWDAF Analytics Function an NF requesting analytics, but as with other NF services, nothing precludes other Consumer NFs. The Data Management Framework is compatible with both a 3GPP-defined Data Repository Function for ML/Analytics and Data Repositories that are not 3GPP-defined.

DCCF is a control-plane function that coordinates data collection and triggers data delivery to Data Consumers. A DCCF may support multiple Data Sources, Data Consumers, and Message Frameworks. However, to prevent duplicate data collection, each Data Source is associated with only one DCCF. DCCF provides the 3GPP defined Ndccf_DataExposure Service to Data Consumers and uses the services of Data Sources to obtain data. Although <FIG> shows one DCCF for the 5GC, there can be multiple DCCF instances associated with different network slices, different geographic regions where Data Sources reside, or different types of Data Sources. A DCCF registers with NRF and is discovered by Consumers (or SCP) using the registration and discovery procedures defined for the NF Service Framework in 3GPP TS <NUM> (v16.

DCCF receives data requests from Data Consumers via the Ndccf_DataExposure service. If a Data Source is not specified in the Data Request, DCCF determines the Data Source that can provide the data requested by the Data Consumer. For example, if the request is for UE-specific data, DCCF may query the other NFs (<NUM>, e.g., NRF, UDM, etc.) to determine which NF instance is serving the UE. If the Data Source is specified in the Data Request (e.g., the Data Consumer is configured with Data Sources), DCCF checks whether the data is already collected from the Data Source. If not, DCCF will request the data from the specified Data Source. If the requested data is partially covered by existing subscriptions with the Data Source, the DCCF sends a request to the Data Source to modify one or more subscriptions to accommodate both the previous requests for data and the new request for data.

Additionally, DCCF may determine if the requested data is currently being produced by any Data Source and being provided to the Messaging Framework. If the requested data is not being produced and/or provided, DCCF sends a new subscription/request towards the Data Source to trigger a new data collection, and DCCF then subscribes with the messaging framework for the Data Consumer to receive future notifications associated with the desired Data Source.

While the Messaging Framework is not standardized by 3GPP, a Messaging Framework Adaptor NF (MFAF) offers 3GPP-defined services that allow the 5GS to interact with the Messaging Framework. Internally, the Messaging Framework may for example support a pub-sub pattern, where received data are published to the Messaging Framework and requests from 3GPP Consumers result in Messaging Framework specific subscriptions. Alternatively, the Messaging Framework may support other protocols outside of the scope of 3GPP.

DCCF uses the Nmfaf_3daData Management service to convey information so that the Messaging Framework can recognize data that are received from a Data Source. The MFAF can obtain data received by the Messaging Framework, process and format the data according to instructions for each consumer/notification endpoint, and send notifications or responses to the Data Consumers.

When data is received (e.g., due to event notification), the Messaging Framework processes it according to the formatting and processing instructions for each consumer / notification endpoint before sending the respective notifications. Note that notifications sent via the Nmfaf_3caDataManagement service have the same content as those sent via a Ndccf_DataManagement service for data delivery via the DCCF.

The Nnwdaf_DataManagement service enables consumers to subscribe/unsubscribe for datalanalytics produced by NWDAF, be notified about data exposed by NWDAF, or fetch the subscribed data. It enables consumers to request generation of bulk data for Event IDs and/or Analytics IDs and to retrieve the requested data.

More specifically, the Nnwdaf_DataManagement Subscribe service operation of the Nnwdaf_DataManagement service enables consumers to subscribe to receive data or historical analytics (which is regarded as a kind of data). If the data is already defined in NWDAF, then the subscription is updated. The required service operation inputs include Data Specification or Analytics Specification, Notification Target Address, and Notification Correlation ID.

When the required data is a bulk data for Event IDs received from NFs, the Data Specification includes a set of Event IDs, Event Filter Information, Target of Event Reporting, and bulk data type. When the required data is a bulk data for Analytics ID, the Data Specification includes Target of Reporting with the set of Analytics ID(s) to generate bulk data, bulk data type, analytics stage, Filter Information with Target of Analytics Information, and Analytics Filter Information. These parameters are further defined in 3GPP <NUM> (v17. <NUM>) section <NUM>.

When the required data is historical analytics, the Analytics Specification is included in the required input parameters and identifies the historical analytics to be collected, based on Analytics ID(s), Target of Analytics Reporting, Analytics Filter information and other input parameters for NWDAF services. These parameters are further defined in 3GPP <NUM> (v17. <NUM>) sections <NUM> and <NUM>.

In any case, event filter information, target of event reporting, and bulk data type can be provided per individual Event ID in a set of Event IDs to generate bulk data. Likewise, bulk data type, analytics stage, target of analytics information, analytics filter information can be provided per individual Analytics ID in a set of Analytics IDs to generate bulk data.

Optional inputs to the Nnwdaf_DataManagement Subscribe service operation include service operation, bulk data formatting and processing, data source, ADRF information to store data used for generated bulk data, and ADRF ID or NWDAF ID (or ADRF Set ID or NWDAF Set ID) storing historical data to be used for bulk data generation. The bulk data formatting and processing parameters include parameters defined in 3GPP <NUM> (v17. <NUM>) section 5A. <NUM> as well as periodic bulk data notification, feature type, time window, minimum and/or maximum number of samples, fetch flag, bulk data deadline, notification event clubbing, and processing rules. The following inputs can be provided per individual Event ID or Analytics ID included in the data specification: service operation (in the case of Event IDs), bulk data formatting and processing, data source, and ADRF information to store data used for generated bulked data, ADRF ID or NWDAF ID (or ADRF Set ID or NWDAF Set ID) storing historical data to be used for bulked data generation.

When the subscription is accepted, the output of Nnwdaf_DataManagement Subscribe service operation is a subscription correlation ID (required for management of the requested subscription). When the subscription is not accepted, the output of Nnwdaf_DataManagement Subscribe service operation is an error response. For example, when the target of event reporting or target of reporting input parameter is a subscription permanent identifier (SUPI) or a generic public subscription identifier (GPSI), an error is sent to the consumer when the subscription request is not accepted, e.g., due to no user consent. As another example, when the target of event reporting or target of reporting input parameter is an internal group ID, a list of SUPIs/GPSI(s), or any UE, no error is sent but a SUPI or GPSI is skipped when user consent is not granted.

3GPP TR <NUM> (v17. <NUM>) section <NUM> describes a solution (called "solution #<NUM>") for data access authorization from ADRF when DCCF is used. In particular, this solution addresses the scenario of data received from a data producer (NFp) being stored in the ADRF based on a request from a DCCF. When the data are later retrieved, the DCCF may provide the stored data to a non-authorized consumer if requested.

<FIG> shows a signaling diagram for a procedure based on solution #<NUM>. In this arrangement, a NF service (or data) consumer (NFc, e.g., NWDAF) accesses the services of DCCF using the existing SBI mechanisms.

In operation <NUM>, as a pre-condition, ADRF subscribes/requests data from a NF service (or data) producer (NFp), directly or indirectly via DCCF. This subscription can be based on a request by DCCF or the NFc. Alternatively, the Messaging Framework may be configured by DCCF to forward a copy of the data to ADRF.

In operation <NUM>, the NFp sends the data to ADRF for storage and archiving, per subscription. When sending the data to the ADRF, the NFp appends its own NF type and NF Instance ID as metadata, which is archived along with the data by ADRF. If NFp does not add this metadata, DCCF may add it before sending the data to ADRF for archiving in operation <NUM>. Note that operations <NUM>-<NUM> ensure that information about the NFp from which the data was collected is present in the ADRF. If the information is already present, operations <NUM>-<NUM> are not needed and the procedure defined in 3GPP TS <NUM> (v17. <NUM>) section <NUM>. <NUM> is followed instead.

In operation <NUM>, the NFc sends a request to DCCF for analytics data stored in ADRF (as specified in 3GPP TS <NUM> (v17. <NUM>) section <NUM>. <NUM>), optionally including an NF Type (or NF Instance ID) of the target NFp. The request also contains an access token for requesting services from DCCF and CCA of the NFc. In operation <NUM>, after verifying that NFc is authorized to access the DCCF services, DCCF sends to NRF an access token request to collect historical data from data producer(s). DCCF includes information identifying the target NFs (i.e., ADRF, NFp), the source NF (i.e., DCCF, NFc), and the CCA provided by the NFc.

In operation <NUM>, after verifying the request, NRF authorizes NFc to request the data and adds in the access token claims the NF Type (or the NF Instance ID) of the NF Service Producers (i.e., ADRF, NFp). In operation <NUM>, DCCF forwards the analytics data request to ADRF along with the access token received in operation <NUM>. Upon receiving the request, in operation <NUM> the ADRF performs two verifications. First, it verifies the access token as described in 3GPP TS <NUM> (v17. Next, ADRF verifies that the metadata of the requested data (e.g., source NF type or NF Instance ID) matches the metadata that was earlier appended by the NFp (or DCCF or MF AF) when archiving the data. In operation <NUM>, ADRF sends the data to NFc via DCCF in case of successful verification.

However, Applicants have recognized that the metadata such as Source NF type or NF Instance ID is not enough to verify that NFc is authorized is authorized to access the requested analytics data via DCCF. For example, the solution shown in <FIG> only considers that NFc and NFp are the same NF instance or that they belong to the same NF type (e.g., SMF, AMF).

However, it is possible that the NFc and NFp may belong to different NF types, and NFp may not know in advance all NF types that may want to consume the data that it stores in ADRF. For example, an NWDAF may want to consume UE mobility data stored in ADRF by an AMF, which is not aware of this NFc when it appends the metadata before sending the UE mobility data to ADRF.

Furthermore, similar problems may exist if the DCCF is omitted, i.e., when NFp/NFc access ADRF directly. Additionally, there may be different authorization issues associated with storing/retrieving artificial intelligence/machine learning (AI/ML) modes in ADRF. In fact, such AI/ML models may be more sensitive and/or proprietary than analytics data, such that it is even more important to prevent unauthorized parties from obtaining them.

Embodiments of the present disclosure address these and other problems, issues, and/or difficulties by providing novel, flexible, and efficient techniques for authorization of prospective consumers (NFc) of analytics data and/or models stored in ADRF or any other NF that may store such information (which will be called "ADRF" for simplification).

At a high level, two types of techniques are disclosed. In the first type, NFc gets a token or a signed string from NFp, including some metadata such as NFc instance ID and datalmodel ID. ADRF checks the token, using public key or certificate of NFp for verification. In the second type, NFp provides a random string to NFc, which provides this string to ADRF. Based on this string, ADRF verifies from that NFc access to the datalmodel is granted by NFp.

Embodiments can provide various benefits and/or advantages. For example, embodiments enable an ADRF to easily verify whether an NFc is authorized to access and receive analytics data and/or models that have been collected from an NFp (e.g., NWDAF) and stored in ADRF. This prevents ADRF from distributing proprietary and/or sensitive data to an unauthorized and/or "rogue" prospective NFc. Thus, embodiments can improve security of analytics and/or models used in <NUM> networks.

<FIG> is a flow diagram of an exemplary procedure for authorization of an NFc to obtain information stored in an ADRF, according to some embodiments of the present disclosure. In particular, the procedure in <FIG> involves an NFc (or data consumer, <NUM>), an ADRF (<NUM>), and a NFp (or data producer, <NUM>). For brevity, these elements and/or functions will be referred to in the following description without their respective reference numbers. Although operations shown in <FIG> are given numerical labels, this is intended to facilitate explanation rather than to require or imply any strict ordering of the operations, unless specifically stated otherwise.

In operation <NUM>, the ADRF obtains and stores analytics data and/or model, including some metadata such as DataID, ModelID, Storage Transaction Identifier, Service Operation, Analytics Specification, Data Specification, Time Window, NF Consumer Type (optional), NF Consumer ID (optional), NF producer Type, NF producer ID, etc..

In operation <NUM>, NFc sends a request for the analytics data and/or model to NFp (e.g., NWDAF). Note that current SBA mechanisms can be used for authentication and authorization of NFc for services provided by the NFp. Because the analytics data and/or model is already stored in ADRF, there are two options (labelled 2a and 2b) for NFp response.

In operation 2a, NFp sends directly to NFc an OAuth <NUM> access token including metadata of the requested analytics data and/or model, such as DataID, ModelID, Storage Transaction Identifier, Service Operation, Analytics Specification, Data Specification, Time Window, NF Consumer Type (optional), NF Consumer ID (optional), NF producer Type, NF producer ID, etc. This token can be used by NFc to retrieve the datalmodel from ADRF.

In operation 2b, NFp sends directly to NFc a signed string including metadata of the requested analytics data and/or model, such as any of the metadata mentioned above for operation 2a. The signed stringed can be used by NFc directly to retrieve the datalmodel from ADRF. As one option, the NFp public key can also be included in the metadata. As another option, public key infrastructure (PKI) can be used. For example, the NFp certificate can be stored in the metadata or provided separately by the NFp to the NFc. In either case, the NFc can provide the NFp certificate to the ADRF.

In operation 3a (corresponding to 2a), NFc provides the access token to ADRF when requesting the corresponding analytics data and/or model. In operation 3b (corresponding to 2b), NFc provides the signed string and public key or certificate to ADRF when requesting the corresponding analytics data and/or model. In operation <NUM>, ADRF checks whether NFc is authorized to access the requested analytics data and/or model, based on the information received in 3a or 3b.

For example, in operation 4a (corresponding to 2a/3a), ADRF checks the access token to ensure that the claims therein match the metadata of the requested datalmodel. Alternately, in operation 4b (corresponding to 2b/3b), ADRF checks the signed string to ensure the claims in the token matches the metadata of the requested datalmodel. If the NFp public key is stored in the metadata, ADRF checks the validity of signature using this public key. If the NFp certificate is stored in the metadata, ADRF checks the certificate against NFp certificate in PKI.

In operation <NUM>, based on verifying that the NFc is authorized, the ADRF provides the requested analytics data and/or model to NFc.

<FIG> is a flow diagram of another exemplary procedure for authorization of an NFc to obtain information stored in an ADRF, according to other embodiments of the present disclosure. In particular, the procedure in <FIG> involves an NFc (or data consumer, <NUM>), an ADRF (<NUM>), and a NFp (or data producer, <NUM>). For brevity, these elements and/or functions will be referred to in the following description without their respective reference numbers. Although operations shown in <FIG> are given numerical labels, this is intended to facilitate explanation rather than to require or imply any strict ordering of the operations, unless specifically stated otherwise.

In operation <NUM>, NFc sends a request for the analytics data and/or model to NFp (e.g., NWDAF). Note that current SBA mechanisms can be used for authentication and authorization of NFc for services provided by NFp. In operation <NUM>, NFp generates a random string token for NFc and sends the random string token to NFc in response. In operation <NUM>, when requesting the analytics data and/or model, NFc provides the random string token to ADRF together with identifier(s) of the analytics data and/or model.

In operation <NUM>, ADRF sends the received random string token and identifier to NFp together with an NFc Instance ID. NFp verifies whether the random string token is identical to the one provided to NFc in operation <NUM>. NFp notifies ADRF of the verification results. In operation <NUM>, based on verifying that NFc is authorized, the ADRF provides the requested analytics data and/or model to NFc.

As an alternative to the embodiments shown in <FIG>, NFc can directly sends its request in operation <NUM> directly to ADRF, which then can verify NFc authorization with NFp. Then ADRF checks this request (including Consumer NF Type and/or NFc Instance ID, data/model ID) with NFp.

The embodiments described above can be further illustrated with reference to <FIG>, which depict exemplary methods (e.g., procedures) for a data consumer NF (NFc), a data producer NF (NFp), and a data repository function (DRF), respectively. Put differently, various features of the operations described below correspond to various embodiments described above. The exemplary methods shown in <FIG> can be used cooperatively (e.g., with each other and with other procedures described herein) to provide benefits, advantages, and/or solutions to problems described herein. Although the exemplary methods are illustrated in <FIG> by specific blocks in particular orders, the operations corresponding to the blocks can be performed in different orders than shown and can be combined and/or divided into blocks and/or operations having different functionality than shown. Optional blocks or operations are indicated by dashed lines.

In particular, <FIG> illustrates an exemplary method (e.g., procedure) for a data consumer NF (NFc) of a communication network (e.g., 5GC), according to various embodiments of the present disclosure. The exemplary method shown in <FIG> can be performed by any appropriate NF (or network node hosting the same) such as described elsewhere herein.

The exemplary method can include the operations of block <NUM>, where the NFc can send, to a data producer network function (NFp) of the communication network, a first request for first data produced by the NFp and stored in a data repository function (DRF, e.g., ADRF) of the communication network. The exemplary method can also include the operations of block <NUM>, where the NFc can receive, from the NFp, a response that includes an indication that the NFc is authorized to access the first data stored in the DRF. The exemplary method can also include the operations of block <NUM>, where the NFc can send, to the DRF, a second request for the first data. The second request includes the indication that the NFc is authorized to access the first data stored in the DRF. The exemplary method can also include the operations of block <NUM>, where the NFc can receive the first data from the DRF in response to the second request.

In addition, <FIG> illustrates an exemplary method (e.g., procedure) for a data producer NF (NFp) of a communication network (e.g., 5GC), according to various embodiments of the present disclosure. The exemplary method shown in <FIG> can be performed by any appropriate NF (or network node hosting the same) such as described elsewhere herein.

The exemplary method can include the operations of block <NUM>, where the NFp can store, in a DRF (e.g., ADRF) of the communication network, first data stored together with metadata related to one or more of the following: the first data, the NFp, the DRF, and a data consumer network function (NFc). The exemplary method can also include the operations of block <NUM>, where the NFp can receive from the NFc a first request for the first data stored in the DRF. The exemplary method can also include the operations of block <NUM>, where the NFp can send, to the NFc, a first response that includes an indication that the NFc is authorized to access the first data stored in the DRF.

In some embodiments, the first response to the NFp also includes information identifying the DRF. In some of these embodiments, the information identifying the DRF comprises an identity of the DRF or an address of the DRF. In some embodiments, the following apply:.

In other embodiments, the indication that the NFc is authorized to access the first data stored in the DRF is a random string. In such embodiments, the exemplary method can also include the operations of blocks <NUM>-<NUM>. In block <NUM>, the NFp can receive from the DRF a second request that includes a random string, metadata related to the first data, and metadata related to the NFc. In blocks <NUM>-<NUM>, the NFp can send to the DRF a second response indicating that the NFc is authorized to access the first data, based on detecting the following matches: between the random strings in the first response and the second request; and between the metadata stored with the first data and the metadata in the second request.

In addition, <FIG> illustrates an exemplary method (e.g., procedure) for a data repository function (DRF) of a communication network (e.g., 5GC), according to various embodiments of the present disclosure. The exemplary method shown in <FIG> can be performed by an ADRF or other type of DRF (or network node hosting the same) such as described elsewhere herein.

The exemplary method can include the operations of block <NUM>, where the DRF can store first data produced by an NFp of the communication network. The first data is stored together with metadata related to one or more of the following: the first data, the NFp, the DRF, and an NFc. The exemplary method can also include the operations of block <NUM>, where the DRF can receive from the NFc a request for the first data. The request includes an indication that the NFc is authorized to access the first data. The exemplary method can also include the operations of blocks <NUM>-<NUM>, where based on verifying that the NFc is authorized to access the first data, the DRF can send the first data to the NFc.

In some embodiments, the following apply:.

In some embodiments, the indication that the NFc is authorized to access the first data is an access token that includes metadata related to one or more of the following: the first data, the NFp, the DRF, and the NFc. In such embodiments, verifying that the NFc is authorized to access the first data in block <NUM> can include the operations of sub-block <NUM>, where the DRF can detect a match between claims of the access token and the metadata stored with the first data.

In other embodiments, the indication that the NFc is authorized to access the first data is a string that includes metadata related to one or more of the following: the first data, the NFp, the DRF, and the NFc. The string is signed by a digital signature. In such embodiments, verifying that the NFc is authorized to access the first data in block <NUM> can include the operations of sub-block <NUM>, where the DRF can detect the following matches: between the digital signature and a digital signature associated with the NFp, and between the metadata in the string and the metadata stored with the first data.

In other embodiments, the indication that the NFc is authorized to access the first data is a random string. In such embodiments, verifying that the NFc is authorized to access the first data in block <NUM> can include the operations of sub-blocks <NUM>-<NUM>, where the DRF can send to the NFp a second request that includes the random string, metadata related to the first data, and metadata related to the NFc; and receive from the NFp a second response indicating that the NFc is authorized to access the first data.

Although various embodiments are described herein above in terms of methods, apparatus, devices, computer-readable media, etc., the person of ordinary skill will readily comprehend that such methods can be embodied by various combinations of hardware and software in various systems, communication devices, computing devices, control devices, apparatuses, non-transitory computer-readable media, etc..

<FIG> shows an example of a communication system <NUM> in accordance with some embodiments. In this example, communication system <NUM> includes a telecommunication network <NUM> that includes an access network <NUM> (e.g., RAN) and a core network <NUM>, which includes one or more core network nodes <NUM>. Access network <NUM> includes one or more access network nodes, such as network nodes 1010a-b (one or more of which may be generally referred to as network nodes <NUM>), or any other similar 3GPP access node or non-3GPP access point. Network nodes <NUM> facilitate direct or indirect connection of UEs, such as by connecting UEs 1012a-d (one or more of which may be generally referred to as UEs <NUM>) to core network <NUM> over one or more wireless connections.

Moreover, in different embodiments, communication system <NUM> may include any number of wired or wireless networks, network nodes, UEs, and/or any other components or systems that may facilitate or participate in the communication of data and/or signals whether via wired or wireless connections. Communication system <NUM> may include and/or interface with any type of communication, telecommunication, data, cellular, radio network, and/or other similar type of system.

UEs <NUM> may be any of a wide variety of communication devices, including wireless devices arranged, configured, and/or operable to communicate wirelessly with network nodes <NUM> and other communication devices. Similarly, network nodes <NUM> are arranged, capable, configured, and/or operable to communicate directly or indirectly with UEs <NUM> and/or with other network nodes or equipment in telecommunication network <NUM> to enable and/or provide network access, such as wireless network access, and/or to perform other functions, such as administration in telecommunication network <NUM>.

In the depicted example, core network <NUM> connects network nodes <NUM> to one or more hosts, such as host <NUM>. Core network <NUM> includes one or more core network nodes (e.g., <NUM>) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and/or hosts, such that the descriptions thereof are generally applicable to the corresponding components of core network node <NUM>. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), Analytics Data Repository Function (ADRF), network repository function (NRF), network data analytics function (NWDAF), and/or a User Plane Function (UPF).

Host <NUM> may be under the ownership or control of a service provider other than an operator or provider of access network <NUM> and/or telecommunication network <NUM>, and may be operated by the service provider or on behalf of the service provider. Host <NUM> may host a variety of applications to provide one or more service.

As a whole, communication system <NUM> of <FIG> enables connectivity between the UEs, network nodes, and hosts.

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

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

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

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

<FIG> shows a UE <NUM> in accordance with some embodiments. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle-mounted or vehicle embedded/integrated wireless device, etc. Other examples include any UE identified by 3GPP, including a narrow band internet of things (NB-IoT) UE, a machine type communication (MTC) UE, and/or an enhanced MTC (eMTC) UE.

UE <NUM> includes processing circuitry <NUM> that is operatively coupled via bus <NUM> to input/output interface <NUM>, power source <NUM>, memory <NUM>, communication interface <NUM>, and possibly other components.

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

In the example, input/output interface <NUM> may be configured to provide an interface or interfaces to an input device, output device, or one or more input and/or output devices. An input device may allow a user to capture information into UE <NUM>.

In some embodiments, power source <NUM> is structured as a battery or battery pack. Power source <NUM> may further include power circuitry for delivering power from power source <NUM> itself, and/or an external power source, to the various parts of UE <NUM> via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging power source <NUM>. Power circuitry may perform any formatting, converting, or other modification to the power from power source <NUM> to make the power suitable for the respective components of UE <NUM> to which power is supplied.

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

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

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

In the illustrated embodiment, communication functions of communication interface <NUM> may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof.

The output may be periodic (e.g., once every <NUM> minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., an alert is sent when moisture is detected), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).

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

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

<FIG> shows a network node <NUM> in accordance with some embodiments. Examples of network nodes include, but are not limited to, access points (e.g., radio access points) and base stations (e.g., radio base stations, Node Bs, eNBs, and gNBs).

Network node <NUM> includes processing circuitry <NUM>, memory <NUM>, communication interface <NUM>, and power source <NUM>. Network node <NUM> may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. Network node <NUM> may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node <NUM>, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies.

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

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

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

Communication interface <NUM> is used in wired or wireless communication of signaling and/or data between a network node, access network, and/or UE. As illustrated, communication interface <NUM> comprises port(s)/terminal(s) <NUM> to send and receive data, for example to and from a network over a wired connection. Communication interface <NUM> also includes radio front-end circuitry <NUM> that may be coupled to, or in certain embodiments a part of, antenna <NUM>. Radio front-end circuitry <NUM> may be connected to antenna <NUM> and processing circuitry <NUM>. Radio front-end circuitry <NUM> may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. Radio front-end circuitry <NUM> may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters <NUM> and/or amplifiers <NUM>. Similarly, when receiving data, antenna <NUM> may collect radio signals which are then converted into digital data by radio front-end circuitry <NUM>.

In certain alternative embodiments, network node <NUM> does not include separate radio front-end circuitry <NUM>, instead, processing circuitry <NUM> includes radio front-end circuitry and is connected to antenna <NUM>. Similarly, in some embodiments, some or all of RF transceiver circuitry <NUM> is part of communication interface <NUM>. In still other embodiments, communication interface <NUM> includes one or more ports or terminals <NUM>, radio front-end circuitry <NUM>, and RF transceiver circuitry <NUM>, as part of a radio unit (not shown), and communication interface <NUM> communicates with baseband processing circuitry <NUM>, which is part of a digital unit (not shown).

Antenna <NUM> may be coupled to radio front-end circuitry <NUM> and may be any type of antenna capable of transmitting and receiving data and/or signals wirelessly. In certain embodiments, antenna <NUM> is separate from network node <NUM> and connectable to network node <NUM> through an interface or port.

Antenna <NUM>, communication interface <NUM>, and/or processing circuitry <NUM> may be configured to perform any receiving operations and/or certain obtaining operations described herein as being performed by the network node. Similarly, antenna <NUM>, communication interface <NUM>, and/or processing circuitry <NUM> may be configured to perform any transmitting operations described herein as being performed by the network node.

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

Embodiments of network node <NUM> may include additional components beyond those shown in <FIG> for providing certain aspects of the network node's functionality, including any of the functionality described herein and/or any functionality necessary to support the subject matter described herein.

In various embodiments, network node <NUM> (and its constituent components) can be configured to perform operations comprising various methods described herein, such as methods performed by a data consumer network function (NFc), a data producer network function (NFp), and a data repository function (DRF, e.g., ADRF).

<FIG> is a block diagram of a host <NUM>, which may be an embodiment of host <NUM> of <FIG>, in accordance with various aspects described herein. As used herein, host <NUM> may be or comprise various combinations hardware and/or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. Host <NUM> may provide one or more services to one or more UEs.

Host <NUM> includes processing circuitry <NUM> that is operatively coupled via bus <NUM> to input/output interface <NUM>, network interface <NUM>, power source <NUM>, and memory <NUM>.

Memory <NUM> may include one or more computer programs including one or more host application programs <NUM> and data <NUM>, which may include user data, e.g., data generated by a UE for host <NUM> or data generated by host <NUM> for a UE. Embodiments of host <NUM> may utilize only a subset or all of the components shown. Host application programs <NUM> may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC), MPEG, G. Host application programs <NUM> may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, host <NUM> may select and/or indicate a different host for over-the-top services for a UE. Host application programs <NUM> may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc..

Applications <NUM> (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment <NUM> to implement some of the features, functions, and/or benefits of some of the embodiments disclosed herein. For example, in various embodiments, various data consumer NFs (NFc), data product NFs (NFp), and data repository functions (DRF) described herein can be instantiated as virtual NFs in environment <NUM>, such that each instantiation performs operations corresponding to methods (or procedures) described elsewhere herein.

Hardware <NUM> includes processing circuitry, memory that stores software and/or instructions (collectively denoted computer program 1404a, which may be in the form of a computer program product) executable by hardware processing circuitry, and/or other hardware devices as described herein, such as a network interface, input/output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers <NUM> (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 1408a-b (one or more of which may be generally referred to as VMs <NUM>), and/or perform any of the functions, features and/or benefits described in relation with some embodiments described herein. The virtualization layer <NUM> may present a virtual operating platform that appears like networking hardware to the VMs <NUM>.

VMs <NUM> comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer <NUM>. Different embodiments of the instance of virtual appliance <NUM> may be implemented on one or more of VMs <NUM>, and the implementations may be made in different ways.

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

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

<FIG> shows a communication diagram of a host <NUM> communicating via a network node <NUM> with a UE <NUM> over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 1012a of <FIG> and/or UE <NUM> of <FIG>), network node (such as network node 1010a of <FIG> and/or network node <NUM> of <FIG>), and host (such as host <NUM> of <FIG> and/or host <NUM> of <FIG>) discussed in the preceding paragraphs will now be described with reference to <FIG>.

Host <NUM> also includes software, which is stored in or accessible by host <NUM> and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as UE <NUM> connecting via an over-the-top (OTT) connection <NUM> extending between UE <NUM> and host <NUM>. In providing the service to the remote user, a host application may provide user data which is transmitted using OTT connection <NUM>.

Network node <NUM> includes hardware enabling it to communicate with host <NUM> and UE <NUM>. Connection <NUM> may be direct or pass through a core network (like core network <NUM> of <FIG>) and/or one or more other intermediate networks, such as one or more public, private, or hosted networks.

UE <NUM> includes hardware and software, which is stored in or accessible by UE <NUM> and executable by the UE's processing circuitry. The software includes a client application, such as a web browser or operator-specific "app" that may be operable to provide a service to a human or non-human user via UE <NUM> with the support of host <NUM>. In host <NUM>, an executing host application may communicate with the executing client application via OTT connection <NUM> terminating at UE <NUM> and host <NUM>. The UE's client application may interact with the user to generate the user data that it provides to the host application through OTT connection <NUM>.

OTT connection <NUM> may extend via a connection <NUM> between host <NUM> and network node <NUM> and via a wireless connection <NUM> between network node <NUM> and UE <NUM> to provide the connection between host <NUM> and UE <NUM>. Connection <NUM> and wireless connection <NUM>, over which OTT connection <NUM> may be provided, have been drawn abstractly to illustrate the communication between host <NUM> and UE <NUM> via network node <NUM>, without explicit reference to any intermediary devices and the precise routing of messages via these devices.

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

In some examples, UE <NUM> executes a client application which provides user data to host <NUM>. The user data may be provided in reaction or response to the data received from host <NUM>. Accordingly, in step <NUM>, UE <NUM> may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input/output interface of UE <NUM>. Regardless of how the user data was provided, UE <NUM> initiates, in step <NUM>, transmission of the user data towards host <NUM> via network node <NUM>. In step <NUM>, in accordance with the teachings of the embodiments described throughout this disclosure, network node <NUM> receives user data from UE <NUM> and initiates transmission of the received user data towards host <NUM>. In step <NUM>, host <NUM> receives the user data carried in the transmission initiated by UE <NUM>.

One or more of the various embodiments improve the performance of OTT services provided to UE <NUM> using OTT connection <NUM>, in which wireless connection <NUM> forms the last segment. More precisely, embodiments can enable an ADRF (or other data repository) to easily verify whether a data consumer network function (NFc) is authorized to access and receive analytics data and/or models that have been collected from a data producer network function (e.g., NWDAF) and stored in ADRF. This prevents ADRF from distributing proprietary and/or sensitive data to an unauthorized and/or "rogue" prospective NFc. Thus, embodiments can improve security of analytics and/or models used in <NUM> networks. Improved network security can increase the value of OTT services delivered via the network to both service providers and end users.

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

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

The foregoing merely illustrates the principles of the disclosure. Various modifications and alterations to the described embodiments will be apparent to those skilled in the art in view of the teachings herein. It will thus be appreciated that those skilled in the art will be able to devise numerous systems, arrangements, and procedures that, although not explicitly shown or described herein, embody the principles of the disclosure and can be thus within the scope of the disclosure. Various embodiments can be used together with one another, as well as interchangeably therewith, as should be understood by those having ordinary skill in the art.

The term unit, as used herein, can have conventional meaning in the field of electronics, electrical devices and/or electronic devices and can include, for example, electrical and/or electronic circuitry, devices, modules, processors, memories, logic solid state and/or discrete devices, computer programs or instructions for carrying out respective tasks, procedures, computations, outputs, and/or displaying functions, and so on, as such as those that are described herein.

In some implementations, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according to one or more embodiments of the present disclosure.

Claim 1:
A method performed by a data consumer network function, NFc (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>) of a communication network (<NUM>, <NUM>, <NUM>), the method comprising:
sending (<NUM>), to a data producer network function, NFp (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>) of the communication network, a first request for first data produced by the NFp and stored in a data repository function, DRF (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>) of the communication network;
receiving (<NUM>), from the NFp, a response that includes an indication that the NFc is authorized to access the first data stored in the DRF;
sending (<NUM>), to the DRF, a second request for the first data, wherein the second request includes the indication that the NFc is authorized to access the first data stored in the DRF; and
receiving (<NUM>) the first data from the DRF in response to the second request.