Cloud native data streaming for performance measurement and trace management

The implementation of a NF/MnS producer for cloud-native data streaming addresses scalability and reliability issues in telecommunications networks, enabling efficient handling of high-volume data streams for performance measurement and trace management.

WO2025221291A1PCT designated stage Publication Date: 2025-10-23RAKUTEN MOBILE INC +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/050445
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-16
Filing Date
2024-10-09
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Existing telecommunications networks face scalability, reliability, and efficiency challenges in handling high-volume, real-time data streaming due to reliance on monolithic architectures and dedicated servers, which are not suited for cloud-native applications.

Method used

A method and system for cloud-native data streaming using a Network Function (NF)/Management Service (MnS) producer that receives streaming requests, sends notifications, and instructs a message bus, supporting scalable, reliable, and efficient data handling.

Benefits of technology

Enables scalable, reliable, and efficient data streaming for cloud-native telecommunications applications by utilizing a NF/MnS producer to manage performance metrics and trace data through a message bus, enhancing network performance and troubleshooting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024050445_23102025_PF_FP_ABST
    Figure US2024050445_23102025_PF_FP_ABST
Patent Text Reader

Abstract

A method, apparatus, and system for cloud native data streaming for performance measurement and trace management may be provided and may include, receiving, by a Network Function(NF) / Management Service(MnS) producer, a streaming request originating for a streaming topic originating from a management system / MnS consumer, wherein the streaming topic comprises at least one of performance metrics and trace data; sending, by the NF / MnS producer, a notification to the management system / MnS consumer comprising a status of the streaming request based on the streaming request; and sending, by the NF / MnS producer, an instruction to a message bus based on the streaming request.
Need to check novelty before this filing date? Find Prior Art

Description

CLOUD NATIVE DATA STREAMING FOR PERFORMANCE MEASUREMENT AND TRACE MANAGEMENTFIELD

[0001] The present disclosure relates to cloud native data streaming for performance measurement and trace management.BACKGROUND

[0002] The information disclosed in this background section is only for enhancement of understanding of the general background of the disclosure and should not be taken as an acknowledgement or any form of suggestion that this information forms the prior art already known to a person skilled in the art.

[0003] In the related art, typical telecommunications network may control data for streaming from a network function (NF) via a point-to-point connection. Large amounts of performance data may be generated by network elements in this telecommunication network (e.g., from cell towers and core network equipment). This performance data may include performance measurement (PM) which may be responsible for monitoring network performance metrics (e.g., such as call drop rates, latency, to identify potential issues and optimize network efficiency), as well as trace management for tracking and analyzing the path data takes to troubleshoot problems and pinpoint any bottlenecks.SUMMARY

[0004] However, systems in the related art may rely on dedicated servers and monolithic architecture, and are not well-suited for managing high volume and real-time data in streaming, and are especially not suited to be used for cloud-native telecommunications applications. Limitations may include, scalability challenges (e.g., high volume data may not be well supported and may lead to performance degradation, potential connection drops, and resource consumption increase), reliability concerns (message delivery may not be guaranteed), latency considerations (from increased overhead, etc ), and security constraints (eavesdropping due to lack of encryption).

[0005] Accordingly, there is a need for a more scalable, reliable, and efficient solution which can handle data streaming for cloud-native telecommunications applications.

[0006] According to embodiments, a method, apparatus, and system for cloud native data streaming may be provided and may include, receiving, by a Network Function (NF)ZManagement Service(MnS) producer, a streaming request originating for a streaming topic originating from a management system / MnS consumer, wherein the streaming topic comprises at least one of performance metrics and trace data; sending, by the NF / MnS producer, a notification to the management system / MnS consumer comprising a status of the streaming request based on the streaming request; and sending, by the NF / MnS producer, an instruction to a message bus based on the streaming request.

[0007] According to embodiments, a Network Function (NF) / Management Service (MnS) producer may be provided and configured to: receive a streaming request for a streaming topic originating from a management system / MnS consumer, wherein the streaming topic comprises at least one of performance metrics and trace data; send a notification to the managementsystem / MnS consumer comprising a status of the streaming request based on the streaming request; and send an instruction to a message bus based on the streaming request.

[0008] Based on the above embodiments, a more scalable, reliable, and efficient method for handling data streaming in cloud-native telecommunications applications may be achieved.

[0009] Additional aspects will be set forth in part in the description that follows and, in part, will be apparent from the description, or may be realized by practice of the presented embodiments of the disclosure.BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Features, aspects and advantages of certain exemplary embodiments of the disclosure will be described below with reference to the accompanying drawings, in which like reference numerals denote like elements, and wherein:

[0011] FIG. 1 illustrates a system architecture diagram for cloud-native streaming according to an embodiment;

[0012] FIG. 2 illustrates a protocol stack for streaming performance data and trace data reporting according to an embodiment;

[0013] FIG. 3 illustrates a call flow diagram for adding a streaming topic according to an embodiment;

[0014] FIG. 4 illustrates a call flow diagram for adding a streaming topic with HTTP protocol according to an embodiment;

[0015] FIG. 5 illustrates a call flow diagram for deleting a streaming topic according to an embodiment;

[0016] FIG. 6 illustrates a call flow diagram for deleting a streaming topic with HTTP protocol according to an embodiment;

[0017] FIG. 7 illustrates a call flow diagram for establishing a cloud streaming configuration according to an embodiment;

[0018] FIG. 8 illustrates a call flow diagram for establishing a cloud streaming configuration with HTTP protocol according to an embodiment;

[0019] FIG. 9 illustrates a call flow diagram for terminating a cloud streaming configuration according to an embodiment;

[0020] FIG. 10 illustrates a call flow diagram for terminating a cloud streaming configuration with HTTP protocol according to an embodiment;

[0021] FIG. 11 illustrates a call flow diagram for getting information for a cloud streaming configuration according to an embodiment;

[0022] FIG. 12 illustrates a call flow diagram for getting information for a cloud streaming configuration with HTTP protocol according to an embodiment;

[0023] FIG. 13 illustrates a call flow diagram for getting information for a streaming topic according to an embodiment;

[0024] FIG. 14 illustrates a call flow diagram for getting information for a streaming topic with HTTP protocol according to an embodiment;

[0025] FIG. 15 illustrates a call flow diagram for reporting stream data with HTTP protocol according to an embodiment;

[0026] FIG. 16 illustrates an example method performing a streaming topic operation according to an embodiment;

[0027] FIG. 17 is a diagram of an example environment in which systems and / or methods, described herein, may be implemented; and

[0028] FIG. 18 is a diagram of example components of a device according to an embodiment.DETAILED DESCRIPTION

[0029] The following detailed description of example embodiments refers to the accompanying drawings. The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations. Further, one or more features or components of one embodiment may be incorporated into or combined with another embodiment (or one or more features of another embodiment). Additionally, in the flowcharts and descriptions of operations provided below, it is understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed simultaneously (at least in part), and the order of one or more operations may be switched.

[0030] It will be apparent that systems and / or methods, described herein, may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and / or methods were described herein without reference to specific software code. It is understood that software and hardware may be designed to implement the systems and / or methods based on the description herein.

[0031] Even though particular combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.

[0032] No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” “include,” “including,” or the like are intended to be open- ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Furthermore, expressions such as “at least one of [A] and [B]” or “at least one of [A] or [B]” are to be understood as including only A, only B, or both A and B.

[0033] According to embodiments, a method, apparatus, and system for cloud native data streaming for performance measurement and trace management may be provided and may include, receiving, by a NF / MnS producer, a streaming request originating for a streaming topic originating from a management system / MnS consumer, wherein the streaming topic comprises at least one of performance metrics and trace data; sending, by the NF / MnS producer, a notification to the management system / MnS consumer comprising a status of the streaming request based on thestreaming request; and sending, by the NF / MnS producer, an instruction to a message bus based on the streaming request.

[0034] Based on the above embodiments, a more scalable, reliable, and efficient method for handling data streaming in cloud-native telecommunications applications may be achieved.

[0035] FIG. 1 illustrates a system architecture diagram for cloud-native streaming according to an embodiment. The system architecture as seen in FIG. 1 is illustrated for both function view and service views. In function view, a cloud network function (NF) 110, management function (MnF) 120, and message broker 130 may be provided. NF 110 may include 1, 2.. N Data producers 111-1, 111-2,. .. 112-N. Similarly, management system 120 may include 1, 2..N Data consumers 121-1, 121-2,... 122-N. Message broker 130 may be used for example to handle the data streaming for Cloud NF 110. Workloads which produce data in NF 110 (e.g., data producers 111-1, 111-2,... 112-N) may connect to and produce streaming data in parallel to message broker 130 by publishing, while the workloads consuming data in the management system 120 (e.g., Data consumers 121-1, 121-2,.. . 121-N) may connect to and consume the streaming data in parallel from message broker 130 by subscribing.

[0036] In service view, the Management Service (MnS) producer implemented by the NF may produce the message bus based data streaming services to the MnS consumer implemented by the MnF. The services may include, but are not necessarily limited to, management data job control service and message bus based data streaming / communication service.

[0037] Based on the architecture illustrated in FIG. 1, the number of data producers 111- 1, 111-2,... 112-N and data consumers 121-1, 121-2,... 121-N can be scaled such that the number of parallel connections may be scaled.

[0038] Although not illustrated, multiple instances of message broker 130 may be implemented in order to duplicate connections with NF / MnS producers and consumers for connectivity fault-tolerance, and resiliency.

[0039] According to embodiments, a generic interface may be introduced for data streaming jobs (e.g., connection establishment and data subscriptions). Message broker 130 may be implemented by a variety of method (e.g., Kafka).

[0040] Data producer 111 and data consumer 121 may be in communication with each other for data job control.

[0041] Streaming topic 140 may contain information (such as PM / trace / analytic data) regarding a data stream in the cloud-native telecommunications network which is sent from a NF / MnS producer to the message broker 130 (by publishing to the streaming topic), and sent from message broker 130 to a management system / MnS consumer (via subscription to the streaming topic 140). Streaming topic 140 may be partitioned into one or more partitions 141-1, 141-2,. .. 141- N, which contain a portion of the data (such as PM and trace data). Each NF / MnS producer may only see one partition, and likewise each management system / MnS consumer may only see one partition. A measurement job for PM / trace / analytic data may be associated with 0-N number of streaming topics 140.

[0042] FIG. 2 illustrates a protocol stack for streaming performance data and trace data reporting according to an embodiment.

[0043] In the data interchange layer, a serialization format 210 may be used. Serialization formats are generalized for data interchange. For example, JSON and ASN.1 may be used.

[0044] In the application / security layer, message bus / broker 220 and TLS 230 may be used.In particular, message bus / broker 220 may be implemented using a combination of protocols (such as Kafka and Websocket), and one protocol may handle event streaming whereas another protocol can handle real-time bidirectional communication between clients and servers.

[0045] In the transport layer, TCP 240 may be used. In the network layer, IP 250 may be used. TCP 240 and IP 250 in combination may be more reliable since the data stream between applications will be ordered and error-checked.

[0046] FIG. 3 illustrates a call flow diagram for adding a streaming topic according to an embodiment.

[0047] Referring to FIG. 3, at step 1, addStreamingTopic may be sent from management function implementing the MnS consumer310 to the NF implementing the MnS provider 300. The management function / MnS consumer is to provide details about data jobs to be created in relationship to the data to be streamed, the data to be streamed by the NF / MnS producer along with other streaming related configurations 310 (e.g., related to the streaming topic to be created with NF / MnS producer 300) as well as the message broker end-point information. More details may include, but may not necessarily be limited to: Type of streaming (PM Metrics, Tracing information etc, Analytics, PROPRIETARY), Streaming formats such as ASN.l, GPB, XML etc., and Streaming IDs may be included.

[0048] In the case of PM Metrics, the DN of the measured object instance, a list of performance metric names whose values are to be reported by the Performance Data Stream Units,Jobld defined in the PerfMetricJob MOI for which the data is being reported may be included.

[0049] In case of Analytics, providing the details about the analytics activity for which the data is being reported may be included.

[0050] In case of PROPRIETARY providing the details about the data being reported may be included.

[0051] It should be appreciated that the above list is non-exhaustive and an example, and that other parameters may be sent by management system / MnS consumer 310 to NF / MnS producer 300 with regards to the streaming topic.

[0052] At step 2, NF / MnS produced 00 may send a notification to management system / MnS consumed 10 that the streaming topic has been created.

[0053] At step 3, NF / MnS producer 300 may send an instruction to message bus / broker 320 to stream the data.

[0054] FIG. 4 illustrates a call flow diagram for adding a streaming topic with HTTP protocol according to an embodiment.

[0055] At step 1, management system / MnS consumer 410 may send an HTTP POST request to NF / MnS producer400 to create a topic which may include the topic name, optionally include the number of partitions, and optionally include the replication factor (e.g., how many replicas of each partition will be stored against different message brokers across a node cluster) as parameters. This may allow the management system / MnS consumer 410 to add one or more reporting streams to an already established producer instance configuration at NF / MnS producer400.

[0056] At step 2a, if the create topic call in step 1 was successful, a 201 OK message is returned by NF / MnS producer 400 to management system / MnS consumer 410 which may include the producer topic ID and topic name as parameters.

[0057] At step 2b, if the create topic call in step 1 was not successful, a 400 error message is returned by NF / MnS producer 400 to management function / MnS consumer which may indicate for example the topic name already exists, the configuration is not supported, etc.

[0058] FIG. 5 illustrates a call flow diagram for deleting a streaming topic according to an embodiment.

[0059] Referring to FIG. 5, at step 1, deleteStreamingTopic request may be sent by management system / MnS consumers 10 to NF / MnS producer500. This operation may allow the management system / MnS consumer 510 to delete one or more reporting streams to an already established connection with a message broker / bus configuration, management system / MnS consumer 510 should provide the details regarding the streaming connection configuration and streaming topics to be deleted to NF / MnS producer 500.

[0060] At step 2, a notification indicating that the streaming topic deleted may be sent by NF / MnS producer 500 to management system / MnS consumer 510.

[0061] At step 3, no more streaming data may be sent by NF / MnS producer 500 to message bus / broker 520.

[0062] FIG. 6 illustrates a call flow diagram for deleting a streaming topic with HTTP protocol according to an embodiment.

[0063] At step 1, management system / MnS consumer 610 may send an HTTP DELETE request to NF / MnS producer 400 to delete an existing topic, which may include the topic ID as aparameter. This may allow the management system / MnS consumer 610 to delete one or more reporting streams to an already established producer instance configuration.

[0064] At step 2a, if the delete topic call in step 1 was successful, a 201 OK message is returned by NF / MnS producer 600 to management system / MnS consumer 610 which may include the producer topic ID and topic name as parameters.

[0065] At step 2b, if the delete topic call in step 1 was not successful, a 400 error message is returned by NF / MnS producer 600 to management system / MnS consumer 610 which may indicate for example NF / MnS producer or the management system / MnS consumer is still active, etc.

[0066] According to some embodiments, the management system / MnS consumer 610 may be able to force delete a topic.

[0067] FIG. 7 illustrates a call flow diagram for establishing a cloud streaming configuration according to an embodiment.

[0068] At step 1, management system / MnS consumer 710 may send an establishCloudStreamingConfiguration OR createCloudStreamingProducerConfig call to NF / MnS producer 700. This may allow NF / MnS producers in the NF 700 to establish connections to the message bus or broker. The connection establishment may include exchange of meta-data (management system / MnS consumer 710 may inform NF / MnS producer 700 about the required configuration to be created producer-side which is client-side of the bus / broker, as well as characteristics of the data to be reported via streaming), the phase, and the actual connection (e.g., data pipe for streaming) establishment.

[0069] According to embodiments, the established connection may support stream multiplexing (one connection supporting one or more reporting streams simultaneously).

[0070] At step 2, NF / MnS producer 700 may send management system / MnS consumer 710 an indication that a cloud streaming configuration was created. Upon successful connection establishment, the message bus / broker may be aware of the NF / MnS producer 700’ s identity, and the nature of data being reported on each of the streams. The established connection may be kept “alive” either by built-in functionality of the solution set or by periodic heartbeat.

[0071] FIG. 8 illustrates a call flow diagram for establishing a cloud streaming configuration with HTTP protocol according to an embodiment.

[0072] At step 1, management system / MnS consumer 810 may send a HTTP POST request including producer name, producer ID, bootstrap servers / message broker, and serialization format, and an ACK parameter / message.

[0073] At step 2, upon successful creating the producer instance, a 201 OK message may be sent from NF / MnS producer800 to management system / MnS consumer 810 indicating the cloud streaming configuration was successfully implemented.

[0074] According to embodiments, the same NF / MnS producer instance may be created with different serializers (e g., 3GPP defined TS 32.436 and TS 28.550 ASN.l, JSON etc.). According to embodiments, a single NF / MnS producer instance may be configured to work with different serializer for different topics or messages within the same cloud-native application. It should be appreciated that the appropriate serializer may be selected based on the topic or message content during data preparation. Accordingly, a single NF / MnS producer instance may be dynamically adapt its behavior based on data being published.

[0075] According to another embodiment, separate NF / MnS producer instances may be implemented. While a single instance can handle different serialization formats, there may be instances in which separate NF / MnS producer instances are preferred. For example, if performance should be optimized, and there is a high volume of messages with distinct serialization formats, separate instances may offer improved performance (e.g., dedicated thread pools for each serializer). Dedicated configurations may also improve code readability and maintainability especially in scenarios where handling logic for different formats is complex.

[0076] Nevertheless, it should be appreciated that the specific implementation of NF / MnS producer instances may be determined by a person skilled in the art.

[0077] FIG. 9 illustrates a call flow diagram for terminating a cloud streaming configuration according to an embodiment. This operation may allow management system / MnS consumer 910 to terminate the connections between NF / MnS producer 910 and the message broker / bus.

[0078] At step 1, a terminateCloudStreamingConfiguration or deleteCloudStreamingProducerConfig operation may be received by NF / MnS producer 900 from management system / MnS consumer 910.

[0079] At step 2, a notification may be sent from NF / MnS producer 900 to management system / MnS consumer that the cloud streaming configuration was deleted / terminated. Upon successful termination, the NF / MnS producer 900 will stop reporting data on this connection.

[0080] FIG. 10 illustrates a call flow diagram for terminating a cloud streaming configuration with HTTP protocol according to an embodiment.

[0081] At step 1, a management system / MnS consumer 1010 may send an HTTP delete request which may include the producer name and producer ID as parameters.

[0082] At step 2, if the request in step 1 was successful, a 201 OK message may be returned from NF / MnS producer 1000 to management system / MnS consumer 1010 that the producer instance was deleted successfully (e.g., at the client side of the message bus / broker).

[0083] FIG. 11 illustrates a call flow diagram for getting information for a cloud streaming configuration according to an embodiment.

[0084] At step 1, management system / MnS consumer 1110 may send a getCloudStreamingConfigurationlnfo or getCloudStreamingProducerConfiglnfo operation to NF / MnS producer 1100. This may allow management system / MnS consumer 1110 to get information on an already established streaming configuration (on the client side) from NF / MnS producer 1100 with the message bus / broker.

[0085] At step 2, cloud streaming configuration information is sent from NF / MnS producer 1100 to management system / MnS consumer 1110. The NF / MnS producer is to provide details about the configuration created connection with the message bus / broker.

[0086] FIG. 12 illustrates a call flow diagram for getting information for a cloud streaming configuration with HTTP protocol according to an embodiment.

[0087] At step 1, an HTTP GET request may be sent from management system / MnS consumer 1210 to NF / MnS producer 1200. This may include the production instance ID to be requested.

[0088] At step 2, if the request was successful, a 201 OK message may be returned by NF / MnS producer 1200 to management system / MnS consumer 1210, which may includeinformation on producer instance details such as the boot strap servers, serialization format, ACK, strategy, etc.

[0089] FIG. 13 illustrates a call flow diagram for getting information for a streaming topic according to an embodiment. This operation may allow for management system / MnS consumer 1310 to get information on one or more reporting streams to an already established connection with a message broker / bus configuration.

[0090] At step 1, getStreamingTopicInfo request may be sent by management system / MnS consumer 1310 to NF / MnS producer 1300. The management system / MnS consumer 1310 should provide details related to the streaming connection configuration and streaming topics whose information is required.

[0091] At step 2 NF / MnS producer 1300 may return the requested information from step 1 to management system / MnS consumer 1310.

[0092] FIG. 14 illustrates a call flow diagram for getting information for a streaming topic with HTTP protocol according to an embodiment.

[0093] At step 1, management system / MnS consumer 1410 may send an HTTP get request including the URI address for the producer instance. According to embodiments, parameters may be included to filter specifically for a topic name or ID.

[0094] At step 2a, if the request was successful, NF / MnS producer 1400 may return a 201 OK message with the producer topic ID and topic name to management system / MnS consumer 1410.

[0095] At step 2b, if the request was not successful, NF / MnS producer 1400 may return a 404 not found message to management system / MnS consumer 1410 (e.g., the topic does not exist).

[0096] FIG. 15 illustrates a call flow diagram for reporting stream data with HTTP protocol according to an embodiment. This operation may enable NF / MnS producer 1500 to send a unit of streaming data to the message bus / broker 1520 which is to publish data.

[0097] At step 1, an HTTP PUT request which may include the producer instance ID and topic ID may be sent by management system / MnS consumer 1510 to NF / MnS producer 1500.

[0098] At step 2, if the request is accepted by NF / MnS producer 1500, a 200 OK message may be returned to management system / MnS consumer 1510.

[0099] At step 3, data delivery (e.g., publishing and streaming of units) may be sent by NF / MnS producer 1500 to message bus / broker 1520. NF / MnS producer 1500 may be required to send a topic name or ID along with data in a serialized format (such as ASN.l and JSON as mentioned above). Producer configuration settings (as part of the producer instance creation) may determine the level of acknowledge required from message bus / broker 1520 prior to NF / MnS producer 1500 considering a message as successfully published.

[0100] At step 4, a 200 OK message may be received by NF / MnS producer 1500 from message bus / broker 1520 if the publishing in step 3 was successful. This may include a data delivery ACK.

[0101] FIG. 16 illustrates an example method 1600 performing a streaming topic operation according to an embodiment.

[0102] At operation S1610, a streaming request for streaming topic may be received from a management system / MnS consumer by a NF / MnS producer. The streaming topic may include at least one of performance metrics and trace data

[0103] At operation SI 620, a notification may be sent by NF / MnS producer to a management system / MnS consumer comprising the status of the streaming request.

[0104] At operation SI 630, an instruction may be sent from the NF / MnS producer to the message bus based on the streaming request.

[0105] Based on the above embodiments, a more scalable, reliable, and efficient method for handling data streaming in cloud-native telecommunications applications may be achieved.

[0106] FIG. 17 is a diagram of an example environment 1700 in which systems and / or methods, described herein, may be implemented. As shown in FIG. 17, environment 1700 may include a user device 1710, a platform 1720, and a network 1730. Devices of environment 1700 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections. In embodiments, any of the functions and operations described with reference to FIGS. 1-16 above may be performed by any combination of elements illustrated in FIG. 17.

[0107] User device 1710 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with platform 1720. For example, user device 1710 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc ), a mobile phone (e g., a smart phone, a radiotelephone, etc.), a wearable device (e.g., a pair of smart glasses or a smart watch), or a similar device. In some implementations, user device 1710 may receive information from and / or transmit information to platform 1720.

[0108] Platform 1720 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information. In some implementations, platform 1720 mayinclude a cloud server or a group of cloud servers. In some implementations, platform 1720 may be designed to be modular such that certain software components may be swapped in or out depending on a particular need. As such, platform 1720 may be easily and / or quickly reconfigured for different uses.

[0109] In some implementations, as shown, platform 1720 may be hosted in cloud computing environment 1722. Notably, while implementations described herein describe platform 1720 as being hosted in cloud computing environment 1722, in some implementations, platform 1720 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.

[0110] Cloud computing environment 1722 includes an environment that hosts platform 1720. Cloud computing environment 1722 may provide computation, software, data access, storage, etc., services that do not require end-user (e.g., user device 1710) knowledge of a physical location and configuration of system(s) and / or device(s) that hosts platform 1720. As shown, cloud computing environment 1722 may include a group of computing resources 1724 (referred to collectively as “computing resources 1724” and individually as “computing resource 1724”).

[0111] Computing resource 1724 includes one or more personal computers, a cluster of computing devices, workstation computers, server devices, or other types of computation and / or communication devices. In some implementations, computing resource 1724 may host platform 1720. The cloud resources may include compute instances executing in computing resource 1724, storage devices provided in computing resource 1724, data transfer devices provided by computing resource 1724, etc. In some implementations, computing resource 1724 may communicate withother computing resources 1724 via wired connections, wireless connections, or a combination of wired and wireless connections.

[0112] As further shown in FIG. 17, computing resource 1724 includes a group of cloud resources, such as one or more applications (“APPs”) 1724-1, one or more virtual machines (“VMs”) 1724-2, virtualized storage (“VSs”) 1724-3, one or more hypervisors (“HYPs”) 1724-4, or the like.

[0113] Application 1724-1 includes one or more software applications that may be provided to or accessed by user device 1710. Application 1724-1 may eliminate the need to install and execute the software applications on user device 1710. For example, application 1724-1 may include software associated with platform 1720 and / or any other software capable of being provided via cloud computing environment 1722. In some implementations, one application 1724- 1 may send / receive information to / from one or more other applications 1724-1, via virtual machine 1724-2.

[0114] Virtual machine 1724-2 includes a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machine 1724-2 may be either a system virtual machine or a process virtual machine, depending upon use and degree of correspondence to any real machine by virtual machine 1724-2. A system virtual machine may provide a complete system platform that supports execution of a complete operating system (“OS”). A process virtual machine may execute a single program, and may support a single process. In some implementations, virtual machine 1724-2 may execute on behalf of a user (e.g., user device 1710), and may manage infrastructure of cloud computing environment 1722, such as data management, synchronization, or long-duration data transfers.

[0115] Virtualized storage 1724-3 includes one or more storage systems and / or one or more devices that use virtualization techniques within the storage systems or devices of computing resource 1724. In some implementations, within the context of a storage system, types of virtualizations may include block virtualization and file virtualization. Block virtualization may refer to abstraction (or separation) of logical storage from physical storage so that the storage system may be accessed without regard to physical storage or heterogeneous structure. The separation may permit administrators of the storage system flexibility in how the administrators manage storage for end users. File virtualization may eliminate dependencies between data accessed at a file level and a location where files are physically stored. This may enable optimization of storage use, server consolidation, and / or performance of non-disruptive file migrations.

[0116] Hypervisor 1724-4 may provide hardware virtualization techniques that allow multiple operating systems (e.g., “guest operating systems”) to execute concurrently on a host computer, such as computing resource 1724. Hypervisor 1724-4 may present a virtual operating platform to the guest operating systems and may manage the execution of the guest operating systems. Multiple instances of a variety of operating systems may share virtualized hardware resources.

[0117] Network 1730 includes one or more wired and / or wireless networks. For example, network 1730 may include a cellular network (e.g., a fifth generation (5G) network, a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the PublicSwitched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, or the like, and / or a combination of these or other types of networks.

[0118] The number and arrangement of devices and networks shown in FIG. 17 are provided as an example. In practice, there may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than those shown in FIG. 17. Furthermore, two or more devices shown in FIG. 17 may be implemented within a single device, or a single device shown in FIG. 17 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 1700 may perform one or more functions described as being performed by another set of devices of environment 1700.

[0119] FIG. 18 illustrates an embodiment of a device 1800. As shown in FIG. 18, the device 1800 processor 1810, a memory 1820, a storage component 1830, an input component 1840, an output component 1850, a communication interface 1860, and a bus 1870.

[0120] The processor 1810, as used herein, means any type of computational circuit that may comprise hardware elements and software elements. The processor 1810 may be embodied as a multi-core processor, a single core processor, or a combination of one or more multi-core processors and / or one or more single core processors, a distributed processing system, or the like. The processor 1810 may be a Central Processing Unit (CPU)a graphics processing unit (GPU), an accelerated processing unit (APU), an application-specific integrated circuit (ASIC), or another type of processing component.

[0121] Memory 1820 includes a non-transitory computer readable medium. Memory 1820 includes a random-access memory (RAM), a read only memory (ROM), and / or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and / or an optical memory) that stores information and / or instructions for use by processor 1810. The memory 1820 comprises machine-readable instructions which are executable by the processor 1810. These machine-readable instructions when executed by the processor 1810 cause the processor 1810 to perform one or more method steps of an embodiment described above.

[0122] Storage component 1830 stores information and / or software related to the operation and use of the device 1800. For example, storage component 1830 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and / or a solid-state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium, along with a corresponding drive.

[0123] Input component 1840 is configured to receive information, such as user input. For example, the input component 1840 may include, but not be limited to, a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and / or a microphone. Additionally, or alternatively, the input component 1840 may include a sensor for sensing information (e.g., a global positioning system (GPS), an accelerometer, a gyroscope, and / or an actuator).

[0124] Output component 1850 is configured to provide output information from the device 1800. For example, the output component 1850 may be, but not limited to, a display, a speaker, instructions to an external device, and / or one or more light-emitting diodes (LEDs).

[0125] Communication interface 1860 is an interface that provides a communication connection to other devices, such as external devices and internal devices. The connection by thecommunication interface 1860 can be a wired connection, a wireless connection, or a combination of wired and wireless connections, and can be a direct connection or an indirect connection via a communication network that exists between the device 1800 and other devices. In other words, the standard of the communication interface 1860 is not limited.

[0126] The bus 1870 acts as an interconnect between the processor 1810, the memory 1820, the storage component 1830, the input component 1840, the output component 1850, and the communication interface 1860 of the device 1800. The bus 1870 may include a wired interconnection or a wireless interconnection.

[0127] The number and arrangement of components shown in FIG. 18 are provided as an example. In practice, device 1800 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 18. Additionally, or alternatively, a set of components (e.g., one or more components) of device 1800 may perform one or more functions described as being performed by another set of components of device 1800. Further, one or more method steps described in any of the embodiments may be performed utilizing a plurality of devices 1800 in communication with one another.

[0128] In embodiments, any one of the operations or processes of FIGS. 1-16 may be implemented by or using any one of the elements illustrated in FIGS. 17 and 18. It is understood that other embodiments are not limited thereto, and may be implemented in a variety of different architectures (e.g., bare metal architecture, any cloud-based architecture or deployment architecture such as Kubernetes, Docker, OpenStack, etc ).

[0129] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications andvariations are possible in light of the above disclosure or may be acquired from practice of the implementations.

[0130] Some embodiments may relate to a system, a method, and / or a computer readable medium at any possible technical detail level of integration. Further, one or more of the above components described above may be implemented as instructions stored on a computer readable medium and executable by at least one processor (and / or may include at least one processor). The computer readable medium may include a computer-readable non-transitory storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out operations.

[0131] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves,electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

[0132] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0133] Computer readable program code / instructions for carrying out operations may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a standalone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a widearea network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects or operations.

[0134] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.

[0135] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0136] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer readable media according to various embodiments. In this regard, each block in the flowchart or block diagrams may represent a microservice(s), module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). The method, computer system, and computer readable medium may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in the Figures. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed concurrently or substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

[0137] It will be apparent that systems and / or methods, described herein, may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and / or methods were described herein without reference to specific software code — it being understood that software and hardware may be designed to implement the systems and / or methods based on the description herein.

[0138] Various further respective aspects and features of embodiments of the present disclosure may be defined by the following items:Item [1] A method including: receiving, by a NF / MnS producer, a streaming request for a streaming topic originating from a management system / MnS consumer, wherein the streaming topic includes at least one of performance metrics and trace data; sending, by the NF / MnS producer, a notification to the management system / MnS consumer including a status of the streaming request based on the streaming request; and sending, by the NF / MnS producer, an instruction to a message bus based on the streaming request.Item [2] The method according to item [1], wherein the streaming request includes a add streaming topic request indicating details about the streaming topic which is to be added, wherein the status of the streaming request indicates whether a streaming topic is successfully created or an error has occurred, and wherein the instruction to the message bus is to stream data.Item [3] The method according to item [2], wherein the add streaming topic request is a HTTP POST topic request including a topic name, number of partitions, and replication factor, wherein if the streaming topic is successfully created, the status of the streaming request includes a streaming topic identifier and a name of the streaming topic.Item [4] The method according to item [1], wherein the streaming request includes a delete streaming topic request indicating details about the streaming topic which is to be deleted, whereinthe status of the streaming request indicates a streaming topic is deleted, and wherein the instruction to the message bus is to stop streaming data.Item [5] The method according to item [4], wherein the delete streaming topic request is a HTTP DELETE topic request including a topic identifier, wherein if the streaming topic is successfully deleted, the status of the streaming request includes a streaming topic identifier and a name of the streaming topic.Item [6] The method according to item [1], further including: receiving, by the NF / MnS producer, a request to establish a cloud streaming configuration; configuring, by the NF / MnS producer, a connection to the message bus based on the request to establish the cloud streaming configuration; and sending, by the NF / MnS producer, a notification to the management system / MnS consumer that the cloud streaming configuration has been established.Item [7] The method according to item [6], wherein the request to establish the cloud streaming configuration is a HTTP POST request including a name of the NF / MnS producer, an identifier of the NF / MnS producer, bootstrap server information, serialization format, and ACK parameters.Item [8] The method according to item [6], further including: receiving, by the NF / MnS producer, a request to terminate the cloud streaming configuration; terminating, by the NF / MnS producer, the connection to the message bus based on the request to terminate the cloud streamingconfiguration; and sending, by the NF / MnS producer, a notification to the management system / MnS consumer that the cloud streaming configuration has been terminated.Item [9] The method according to item [8], wherein the request to terminate the cloud streaming configuration includes an HTTP delete request including a name of the NF / MnS producer and an identifier of the NF / MnS producer.Item

[0010] The method according to item [6], further including: receiving, by the NF / MnS producer, a cloud streaming configuration information request originating from the management system / MnS consumer; and sending, by the NF / MnS producer, information about the cloud streaming configuration based on the cloud streaming configuration information request.Item

[0011] The method according to item [1], further including: receiving, by the NF / MnS producer, a streaming topic information request originating from the management system / MnS consumer; and sending, by the NF / MnS producer, information about at least one streaming topic based on the streaming topic information request.Item

[0012] The method according to item

[0011] , wherein the streaming topic information request includes a HTTP GET information request.Item

[0013] The method according to item [3], further including: receiving, by the NF / MnS producer, an HTTP PUT request originating from the management system / MnS consumer including thestreaming topic identifier; sending, by the NF / MnS producer, a notification to the management system / MnS consumer that the HTTP PUT request is accepted; sending, by the NF / MnS producer, at least one streaming unit to the message broker based on the HTTP PUT request; and receiving, by the NF / MnS producer, a notification originating from the message broker that the streaming unit was successfully received.Item

[0014] : The method according to Item [1], wherein the NF / MnS producer is configured to produce streaming services based on the message bus to the management system / MnS consumer.Item

[0015] : The method according to Item

[0014] , wherein the streaming services may include at least one of management data job control service, message bus based data streaming service, and message bus based communication service.Item

[0016] : A Network Function (NF) / Management Service (MnS) producer configured to: receive a streaming request for a streaming topic originating from a management system / MnS consumer, wherein the streaming topic comprises at least one of performance metrics and trace data; send a notification to the management system / MnS consumer comprising a status of the streaming request based on the streaming request; and send an instruction to a message bus based on the streaming request.Item

[0017] : The NF / MnS producer according to Item

[0016] , wherein the streaming request comprises a add streaming topic request indicating details about the streaming topic which is to be added,wherein the status of the streaming request indicates whether a streaming topic is successfully created or an error has occurred, and wherein the instruction to the message bus is to stream data.Item

[0018] : The NF / MnS producer according to Item

[0017] , wherein the add streaming topic request is a HTTP POST topic request comprising a topic name, number of partitions, and replication factor, wherein if the streaming topic is successfully created, the status of the streaming request comprises a streaming topic identifier and a name of the streaming topic.Item

[0019] : The NF / MnS producer according to Item

[0016] wherein the streaming request comprises a delete streaming topic request indicating details about the streaming topic which is to be deleted, wherein the status of the streaming request indicates a streaming topic is deleted, and wherein the instruction to the message bus is to stop streaming data.Item

[0020] : The NF / MnS producer according to Item

[0019] , wherein the delete streaming topic request is a HTTP DELETE topic request comprising a topic identifier wherein if the streaming topic is successfully deleted, the status of the streaming request comprises a streaming topic identifier and a name of the streaming topic.It can be understood that numerous modifications and variations of the present disclosure are possible in light of the above teachings. It will be apparent that within the scope of the appended clauses, the present disclosures may be practiced otherwise than as specifically described herein.

Claims

WHAT IS CLAIMED IS1. A method comprising: receiving, by a Network Function(NF) / Management Service(MnS) producer, a streaming request for a streaming topic originating from a management system / MnS consumer, wherein the streaming topic comprises at least one of performance metrics and trace data; sending, by the NF / MnS producer, a notification to the management system / MnS consumer comprising a status of the streaming request based on the streaming request; and sending, by the NF / MnS producer, an instruction to a message bus based on the streaming request.

2. The method as claimed in claim 1, wherein the streaming request comprises a add streaming topic request indicating details about the streaming topic which is to be added, wherein the status of the streaming request indicates whether a streaming topic is successfully created or an error has occurred, and wherein the instruction to the message bus is to stream data.

3. The method as claimed in claim 2, wherein the add streaming topic request is a HTTP POST topic request comprising a topic name, number of partitions, and replication factor, wherein if the streaming topic is successfully created, the status of the streaming request comprises a streaming topic identifier and a name of the streaming topic.

4. The method as claimed in claim 1, wherein the streaming request comprises a delete streaming topic request indicating details about the streaming topic which is to be deleted, wherein the status of the streaming request indicates a streaming topic is deleted, and wherein the instruction to the message bus is to stop streaming data.

5. The method as claimed in claim 4, wherein the delete streaming topic request is a HTTP DELETE topic request comprising a topic identifier wherein if the streaming topic is successfully deleted, the status of the streaming request comprises a streaming topic identifier and a name of the streaming topic.

6. The method as claimed in claim 1, further comprising: receiving, by the NF / MnS producer, a request to establish a cloud data streaming configuration; configuring, by the NF / MnS producer, a connection to the message bus based on the request to establish the cloud data streaming configuration; and sending, by the NF / MnS producer, a notification to the management system / MnS consumer that the cloud data streaming configuration has been established.

7. The method as claimed in claim 6, wherein the request to establish the cloud data streaming configuration is a HTTP POST request comprising a name of the NF / MnS producer, an identifier of the NF / MnS producer, bootstrap server information, serialization format, and ACK parameters.

8. The method as claimed in claim 6, further comprising: receiving, by the NF / MnS producer, a request to terminate the cloud data streaming configuration; terminating, by the NF / MnS producer, the connection to the message bus based on the request to terminate the cloud data streaming configuration; and sending, by the NF / MnS producer, a notification to the management system / MnS consumer that the cloud data streaming configuration has been terminated.

9. The method as claimed in claim 8, wherein the request to terminate the cloud data streaming configuration comprises an HTTP delete request comprising a name of the NF / MnS producer and an identifier of the NF / MnS producer.

10. The method as claimed in claim 6, further comprising: receiving, by the NF / MnS producer, a cloud data streaming configuration information request originating from the management system / MnS consumer; and sending, by the NF / MnS producer, information about the cloud data streaming configuration based on the cloud data streaming configuration information request.

11. The method as claimed in claim 1, further comprising: receiving, by the NF / MnS producer, a streaming topic information request originating from the management system / MnS consumer; and sending, by the NF / MnS producer, information about at least one streaming topic based on the streaming topic information request.

12. The method as claimed in claim 11, wherein the streaming topic information request comprises a HTTP GET information request.

13. The method as claimed in claim 3, further comprising: receiving, by the NF / MnS producer, an HTTP PUT request originating from the management system / MnS consumer comprising the streaming topic identifier; sending, by the NF / MnS producer, a notification to the management system / MnS consumer that the HTTP PUT request is accepted; sending, by the NF / MnS producer, at least one streaming unit to the message broker based on the HTTP PUT request; and receiving, by the NF / MnS producer, a notification originating from the message broker that the streaming unit was successfully received.

14. The method as claimed in claim 1, wherein the NF / MnS producer is configured to produce streaming services based on the message bus to the management system / MnS consumer.

15. The method as claimed in claim 14, wherein the streaming services may include at least one of management data job control service, message bus based data streaming service, and message bus based communication service.

16. A Network Function (NF) / Management Service (MnS) producer configured to: receive a streaming request for a streaming topic originating from a management system / MnS consumer, wherein the streaming topic comprises at least one of performance metrics and trace data; send a notification to the management system / MnS consumer comprising a status of the streaming request based on the streaming request; and send an instruction to a message bus based on the streaming request.

17. The NF / MnS producer as claimed in claim 16, wherein the streaming request comprises a add streaming topic request indicating details about the streaming topic which is to be added, wherein the status of the streaming request indicates whether a streaming topic is successfully created or an error has occurred, and wherein the instruction to the message bus is to stream data.

18. The NF / MnS producer as claimed in claim 17, wherein the add streaming topic request is a HTTP POST topic request comprising a topic name, number of partitions, and replication factor,wherein if the streaming topic is successfully created, the status of the streaming request comprises a streaming topic identifier and a name of the streaming topic.

19. The NF / MnS producer as claimed in claim 16, wherein the streaming request comprises a delete streaming topic request indicating details about the streaming topic which is to be deleted, wherein the status of the streaming request indicates a streaming topic is deleted, and wherein the instruction to the message bus is to stop streaming data.

20. The NF / MnS producer as claimed in claim 19, wherein the delete streaming topic request is a HTTP DELETE topic request comprising a topic identifier wherein if the streaming topic is successfully deleted, the status of the streaming request comprises a streaming topic identifier and a name of the streaming topic.

Citation Information

Patent Citations

  • Uniform communication protocols for communication between controllers and accessories

    EP4336804A2

  • Streaming API subscription without loss of events

    US20180198837A1

  • Intelligent event streaming

    US20180213018A1

  • Measurement data collection to support radio access network intelligence

    US20230370879A1