Cloud native data streaming for network functions
The method addresses scalability and reliability issues in cloud-native telecommunications by using a NF/MnS producer to handle streaming session requests and data reporting with protocols like Kafka and gRPC, enhancing fault tolerance and reducing costs.
Patent Information
- Application Number
- PCT/US2025/024834
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-13
- Filing Date
- 2025-04-16
- Publication Date
- 2025-10-23
AI Technical Summary
Existing telecommunications networks face scalability, reliability, and efficiency challenges in managing high-volume, real-time data streaming due to reliance on dedicated servers and monolithic architectures, which are not suited for cloud-native applications.
A method for cloud-native data streaming involving a Network Function (NF)/Management Service (MnS) producer that receives streaming session requests, sends responses, and reports data to consumers using scalable and reliable protocols like Kafka, HTTP, and gRPC, decoupling production and consumption for independent scaling.
Enables efficient, scalable, and reliable data streaming in cloud-native telecommunications applications, improving fault tolerance, interoperability, and reducing infrastructure costs.
Smart Images

Figure US2025024834_23102025_PF_FP_ABST
Abstract
Description
CLOUD NATIVE DATA STREAMING FOR NETWORK FUNCTIONSFIELD
[0001] The present disclosure relates to cloud native data streaming for network functions.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 for data streaming in a cloud-native platform for network functions may be provided, the method may include receiving, by a Network Function(NF) / Management Service(MnS) producer, a streaming session request originating from a management system / MnS consumer comprising consumer endpoint information and stream information; sending, by the NF / MnS producer, a streaming session response to the management system / MnS consumer; and reporting, by the NF / MnS producer, stream data to the management system / MnS consumer based on the streaming session request.
[0007] Based on the above embodiments, a more scalable, reliable, and efficient method for handling data streaming in cloud-native telecommunications applications may be achieved.
[0008] According to embodiments, a Network Function (NF) / MnS producer may be provided, configured to: receive a streaming session request originating from a management system / MnS consumer including consumer endpoint information and stream information; send a streaming session response to the management system / MnS consumer; and report stream data to the management system / MnS consumer based on the streaming session request.
[0009] According to embodiments, a non-transitory computer-readable recording medium having recorded thereon instructions executable to perform a method may be provided, the methodincluding: receiving, by a Network Function(NF) / Management Service(MnS) producer, a streaming session request originating from a management system / MnS consumer including consumer endpoint information and stream information; sending, by the NF / MnS producer, a streaming session response to the management system / MnS consumer; and reporting, by the NF / MnS producer, stream data to the management system / MnS consumer based on the streaming session request.
[0010] 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
[0011] 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:
[0012] FIG. 1 illustrates a system architecture diagram for cloud-native streaming according to an embodiment;
[0013] FIG. 2 illustrates a protocol stack for streaming performance data and trace data reporting according to an embodiment;
[0014] FIG. 3 illustrates a call flow diagram for adding a streaming topic according to an embodiment;
[0015] FIG. 4 illustrates a call flow diagram for adding a streaming topic with HTTP protocol according to an embodiment;
[0016] FIG. 5 illustrates a call flow diagram for deleting a streaming topic according to an embodiment;
[0017] FIG. 6 illustrates a call flow diagram for deleting a streaming topic with HTTP protocol according to an embodiment;
[0018] FIG. 7 illustrates a call flow diagram for establishing a cloud streaming configuration according to an embodiment;
[0019] FIG. 8 illustrates a call flow diagram for establishing a cloud streaming configuration with HTTP protocol according to an embodiment;
[0020] FIG. 9 illustrates a call flow diagram for terminating a cloud streaming configuration according to an embodiment;
[0021] FIG. 10 illustrates a call flow diagram for terminating a cloud streaming configuration with HTTP protocol according to an embodiment;
[0022] FIG. 11 illustrates a call flow diagram for getting information for a cloud streaming configuration according to an embodiment;
[0023] FIG. 12 illustrates a call flow diagram for getting information for a cloud streaming configuration with HTTP protocol according to an embodiment;
[0024] FIG. 13 illustrates a call flow diagram for getting information for a streaming topic according to an embodiment;
[0025] FIG. 14 illustrates a call flow diagram for getting information for a streaming topic with HTTP protocol according to an embodiment;
[0026] FIG. 15 illustrates a call flow diagram for reporting stream data with HTTP protocol according to an embodiment;
[0027] FIG. 16 illustrates an example method performing a streaming topic operation according to an embodiment;
[0028] FIG. 17 illustrates a conventional streaming architecture implementing WebSocket according to the related art;
[0029] FIG. 18 illustrates a cloud-native streaming architecture according to an embodiment;
[0030] FIG. 19 illustrates an example flat layout architecture according to an embodiment;
[0031] FIG. 20 illustrates an example hierarchical layout with Kafka according to an embodiment;
[0032] FIG. 21 illustrates an example hierarchical layout with Prometheus and Kafka according to an embodiment;
[0033] FIG. 22 illustrates an example hierarchical layout with WebSocket and Kafka according to an embodiment;
[0034] FIG. 23 illustrates an example solution for management data streaming based on message bus, according to an embodiment;
[0035] FIG. 24 illustrates the interactions between MnS and MnS consumer for management data streaming based on message bus, according to an embodiment;
[0036] FIG. 25 illustrates an example method 2500 for reporting stream data, according to an embodiment;;
[0037] FIG. 26 is a diagram of an example environment in which systems and / or methods, described herein, may be implemented; and
[0038] FIG. 27 is a diagram of example components of a device according to an embodiment.DETAILED DESCRIPTION
[0039] 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.
[0040] 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.
[0041] 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 ofpossible 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.
[0042] 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.
[0043] According to embodiments, a method, apparatus, and system for cloud native data streaming for network functions may be provided and may include, receiving, by a Network Function(NF) / Management Service(MnS) producer, a streaming session request originating from a management system / MnS consumer comprising consumer endpoint information and stream information; sending, by the NF / MnS producer, a streaming session response to the management system / MnS consumer; and reporting, by the NF / MnS producer, stream data to the management system / MnS consumer based on the streaming session request.
[0044] Based on the above embodiments, a more scalable, reliable, and efficient method for handling data streaming in cloud-native telecommunications applications may be achieved.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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).
[0050] Data producer 111 and data consumer 121 may be in communication with each other for data job control.
[0051] 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 j ob for PM / trace / analytic data may be associated with 0-N number of streaming topics 140.
[0052] FIG. 2 illustrates a protocol stack for streaming performance data and trace data reporting according to an embodiment.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] FIG. 3 illustrates a call flow diagram for adding a streaming topic according to an embodiment.
[0057] Referring to FIG. 3, at step 1, addStreamingTopic may be sent from management function implementing the MnS consumed 10 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.
[0058] 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.
[0059] In case of Analytics, providing the details about the analytics activity for which the data is being reported may be included.
[0060] In case of PROPRIETARY providing the details about the data being reported may be included.
[0061] 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.
[0062] At step 2, NF / MnS producer300 may send a notification to management system / MnS consumed 10 that the streaming topic has been created.
[0063] At step 3, NF / MnS producer 300 may send an instruction to message bus / broker 320 to stream the data.
[0064] FIG. 4 illustrates a call flow diagram for adding a streaming topic with HTTP protocol according to an embodiment.
[0065] 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 producer 400.
[0066] 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.
[0067] 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.
[0068] FIG. 5 illustrates a call flow diagram for deleting a streaming topic according to an embodiment.
[0069] 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.
[0070] 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.
[0071] At step 3, no more streaming data may be sent by NF / MnS producer 500 to message bus / broker 520.
[0072] FIG. 6 illustrates a call flow diagram for deleting a streaming topic with HTTP protocol according to an embodiment.
[0073] 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 a parameter. This may allow the management system / MnS consumer 610 to delete one or more reporting streams to an already established producer instance configuration.
[0074] 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.
[0075] 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.
[0076] According to some embodiments, the management system / MnS consumer 610 may be able to force delete a topic.
[0077] FIG. 7 illustrates a call flow diagram for establishing a cloud streaming configuration according to an embodiment.
[0078] 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.
[0079] According to embodiments, the established connection may support stream multiplexing (one connection supporting one or more reporting streams simultaneously).
[0080] 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, andthe 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.
[0081] FIG. 8 illustrates a call flow diagram for establishing a cloud streaming configuration with HTTP protocol according to an embodiment.
[0082] 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.
[0083] 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.
[0084] 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.
[0085] 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 eachserializer). Dedicated configurations may also improve code readability and maintainability especially in scenarios where handling logic for different formats is complex.
[0086] Nevertheless, it should be appreciated that the specific implementation of NF / MnS producer instances may be determined by a person skilled in the art.
[0087] 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.
[0088] At step 1, a terminateCloudStreamingConfiguration or deleteCloudStreamingProducerConfig operation may be received by NF / MnS producer 900 from management system / MnS consumer 910.
[0089] 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.
[0090] FIG. 10 illustrates a call flow diagram for terminating a cloud streaming configuration with HTTP protocol according to an embodiment.
[0091] 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.
[0092] 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).
[0093] FIG. 11 illustrates a call flow diagram for getting information for a cloud streaming configuration according to an embodiment.
[0094] 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.
[0095] 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.
[0096] FIG. 12 illustrates a call flow diagram for getting information for a cloud streaming configuration with HTTP protocol according to an embodiment.
[0097] 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.
[0098] 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 include information on producer instance details such as the boot strap servers, serialization format, ACK, strategy, etc.
[0099] 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 consumer1310 to get information on one or more reporting streams to an already established connection with a message broker / bus configuration.
[0100] 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.
[0101] At step 2 NF / MnS producer 1300 may return the requested information from step 1 to management system / MnS consumer 1310.
[0102] FIG. 14 illustrates a call flow diagram for getting information for a streaming topic with HTTP protocol according to an embodiment.
[0103] 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.
[0104] 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.
[0105] 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).
[0106] 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.
[0107] 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.
[0108] 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.
[0109] 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.
[0110] 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.[0U1] FIG. 16 illustrates an example method 1600 performing a streaming topic operation according to an embodiment.
[0112] At operation S 1610, 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
[0113] At operation S1620, a notification may be sent by NF / MnS producer to a management system / MnS consumer comprising the status of the streaming request.
[0114] At operation SI 630, an instruction may be sent from the NF / MnS producer to the message bus based on the streaming request.
[0115] Streaming Transport Protocols
[0116] NF Data streaming in large scale cloud native deployment requires high performance for massive amount of data moving from cloud-native NFs to the management system (e g. data from the CU-UPs, UPFs workloads in central cloud serving the entire city), high availability for strong resiliency and fault protection (e.g. a failure in central cloud could affect the entire city), high scalability for the dynamic scaling of cloud-native NF workload, and high efficiency for lower infrastructure cost and energy saving.
[0117] In order to achieve the above requirements, different streaming transport protocols may be used. In the related art, a streaming transport protocol such as WebSocket may be provided, which was originally designed for data streaming between a Web server and client (usually is the Web browser) . Although WebSocket can still be used with some add-on development effort, the complexity and cost for handling the scalability and resiliency in the cloud is high and the efficiency is low in some scenarios. It may not necessarily be a best fit for all types of cloud deployment scenarios due to the highly diversified requirements.
[0118] There are newly developed streaming transport protocols (e.g. Kafka) which are designed natively to tackle the challenges for data streaming in those cloud environments at much lower complexity, cost and provide higher efficiency, and accordingly, there are requirements from operators that other data streaming options are needed by leveraging industry solutions not limited to WebSocket.
[0119] FIG. 17 illustrates a conventional streaming architecture implementing WebSocket according to the related art. Management system 1700 may be provided, and one or more NF’s1710 may be provided and interface with the management system 1700 using WebSocket protocol(e.g., WebSocket in 3GPP 28.532).
[0120] There may be many limitations with this example protocol. For example, it is single point-to-point connection based, traffic aggregation point is difficult to scale dynamically and to be efficient for cloud-native environment, there is no data publishing and sharing, there is limited transport resiliency and fault tolerance, a persistent websocket connection needs to be maintained with keep alive messages and reconnection overhead, application layer of the architecture manages all connection aspects for connections, parallel streaming, scaling, resiliency, load balancing, etc., which leads to huge development and maintenance cost for it to be adapted to cloud environment, and the coupling between producer and consumer side for scaling, resiliency may introduce interoperability issues.
[0121] FIG. 18 illustrates a cloud-native streaming architecture according to an embodiment. Management Function (MnF 1800) may interface with NF microservice(s) 1810 using a cloud-native streaming transport protocol (e g., Kafka). MnF 1800 may include one or more data consumer microservice(s) 1801, and streaming framework 1802.
[0122] The cloud-native streaming architecture may provide many improvements compared to the related art illustrated in FIG. 17. For example, multipoints-to-multipoints streaming may remove performance bottleneck at the aggregation point and improve efficiency, high scalability may be enabled by the streaming framework, high availability may be provided with strong transport resiliency and fault tolerance, a middleware streaming framework may be used for handling the complexities to manage the streaming connections, message routing, scaling,resiliency and load balancing etc, and the decoupling between consumer and producer based on the streaming middleware framework also improve interoperability.
[0123] According to example embodiments, multiple options of transport protocols and solutions can be implemented and coexist. Different solutions can be used in different cloud environment, e.g. edge cloud VS regional cloud VS central cloud, private cloud VS public cloud, and for different types for network functions: In central cloud, microservices in RAN or CN NFs may send data directly to microservices for NF management using message bus technology rather than via doing multiple stages of conversion, e.g. message bus (microservices within NF) to Web Socket (NF to management functions) to message bus (microservices within management functions). In central cloud, microservices in RAN or CN NFs may still send data to the management functions via WebSocket as long it meet the cloud deployment requirements.
[0124] In edge cloud, NF may send data to central management system via WebSocket first, which is then distributed to other microservices in the management system via message bus. In edge cloud, NF may also send data to central management system via message bus to leverage the benefit of recently developed message bus technologies. It is up to the implementation.
[0125] It should be appreciated that exactly which solution to use can be left to vendors and operators' choice depending the actual deployment scenario.
[0126] According to embodiments, protocols such as WebSocket can still be the only mandatory streaming method in the standard for guaranteed interoperability, while the other technologies are optional alternative transports. Choice of alternative transports, e.g. Kafka, gRPC and HTFP, can be implementation specific and based on handshake between MnS producer andconsumer Data collection and transport technology is one of the most important areas to be optimized for cloud-native NF applications.
[0127] Example Hierarchical Layouts
[0128] Example hierarchical layouts for implementing message bus for data streaming may be described below with reference to FIG. 19-22 below.
[0129] FIG. 19 illustrates an example flat layout architecture according to an embodiment. The flat layout uses a single message bus layer for both external data collection and data sharing.
[0130] A plurality of NF 1900-1, 1900-2, . . . 1900-N may be provided, each implementing a plurality of microservices 1901-1, 1901-2, ... 1901-N. NF 1900 may act as a MnS Producer, and send its contents to the management system 1910. In particular, they may send the data to message bus / broker 1920 (acting as a external data collection), and message bus / broker 1920 may share the data internally directly to data consumers 1911 (1911-1, 1911-2, ... 1911-N). All elements may be implemented in the Central Cloud.
[0131] FIG. 20 illustrates an example hierarchical layout with Kafka according to an embodiment. NF 2000, MS 2001, Management System 2010, and Data Consumer 2011 may be similar to their counterparts in FIG. 19. This architecture uses separate Kafka layers for external data collection and internal data sharing. For example, message bus / broker 2020-1 may be used for collecting data to data collector(s) 2030, which may collect data prior to exposure. Message bus / broker 2020-2 may perform the data exposure to internal microservices for data consumers 2011. Both message bus / brokers 2020-1 and 2020-2 may be implementing Kafka. The MnS producers may be implemented in the edge cloud, whereas the management system 2010 and message brokers may be implemented in the central cloud.
[0132] FIG. 21 illustrates an example hierarchical layout with Prometheus and Kafka according to an embodiment. NF 2100, MS 2101, Management System 2110, and Data Consumer 2111 may be similar to their counterparts in FIG. 19 or FIG. 20. This architecture uses a Prometheus layer 2130 for external data collection and Kafka for internal data sharing. For example, Prometheus layer 2130 may be used for collecting data prior to sharing, and Message bus / broker 2120 (implementing Kafka) may perform the data sharing to internal microservices for data consumers 2111. The MnS producers may be implemented in the edge cloud, whereas the management system 2110, Prometheus layer 2130, and message brokers may be implemented in the central cloud.
[0133] FIG. 22 illustrates an example hierarchical layout with WebSocket and Kafka according to an embodiment. NF 2200, MS 2201, Management System 2210, and Data Consumer 2211 may be similar to their counterparts in FIGs. 19-21. This architecture uses a WebSocket server 2230 for external data collection and Kafka for internal data sharing. For example, WebSocket server 2230 may be used for collecting data prior to exposure, and Message bus / broker 2020 (implementing Kafka) may perform the data exposure to internal microservices for data consumers 2211.
[0134] It should be appreciated that although specific message-bus based streaming protocols are mentioned (e.g., Kafka, WebSocket, Prometheus, etc.,) other alternative transport methods may be used, depending on the specific implementation. For example, AWS, Google Cloud, and Azure are other examples of potential cloud-native platforms.
[0135] Use-case for data streaming for cloud native network function
[0136] Description
[0137] ( Currently 3GPP management system support WebSocket based data streaming forPM, tracing and analytic which establish point-to-point connection between the streaming data reporting MnS consumer and MnS producer. There are newly developed and evolved industry solutions for data streaming in cloud-native environment that leverage industry standards, e g. message bus-based solution. Such industry solutions including WebSocket and non-WebSocket based can be used to address challenges related to cloud-native deployment environment e.g. for hybrid cloud deployments that deploy cloud native applications with hyperscale cloud providers. This use case considers the scenarios where the 3GPP management architecture is flexible to support use of industry solutions for the streaming data reporting of cloud-native NF.
[0138] Potential Requirements
[0139] PREQ-FS_Cloud-O AM-01 The 3 GPP management system should have the capability enabling the MnS consumer to configure the MnS producer for the streaming of management data.
[0140] Note: The management data may include performance measurements or KPIs defined in TS 28.552 and TS 28.554 (of 3GPP), trace reporting data and analytic reporting data.
[0141] PREQ-FS_Cloud-O AM-02 The 3GPP management system should have the capability enabling the MnS producer to stream management data to the MnS consumer based on industry solutions.
[0142] Potential Solutions
[0143] FIG. 23 illustrates an example solution for management data streaming based on message bus, according to an embodiment.
[0144] This potential solution exemplifies the addition of a new reporting method for management data for network functions running in the cloud. The solution proposes the use of message bus for the reporting of management data from the MnS producer to the MnS consumer as shown in FIG. 23.
[0145] The solution enables MnS producer(s) to stream management data to the message bus when ready while also enabling the MnS consumer(s) to consume the data from the message bus whenever they need to. There is no persistent connection and keep-alive message needed. In addition, this potential solution decouples the production of management data from the consumption of management data such that they can be auto-scaled independently. Furthermore, the message bus communication provides strong fault protection through redundant message bus communication endpoints and auto fail-over capabilities.
[0146] FIG. 24 illustrates the interactions between MnS and MnS consumer for management data streaming based on message bus, according to an embodiment.
[0147] The MnS consumer may send a request to the MnS producer to establish a message bus streaming session containing the consumer’s message bus communication endpoint information and stream information (for example, the same streamlnfoList in 3GPP TS 28.532, clause 12.5). The MnS producer after established the message bus streaming session sends response to the MnS consumer. The MnS producer start reporting the stream data to the message bus communication endpoint(s) provided by the MnS consumer. New streaming data reporting service APIs maybe defined, for example, in 3GPP TS 28.532 for the above interactions, or the existing streaming data reporting service APIs maybe modified. There are multiple options of streaming protocols can be used for the management data streaming reporting, e.g. Kafka, HTTPand gRPC etc. If a MnS producer support Web Socket only for cloud-native NF data streaming, the existing streaming data reporting service APIs (3GPP TS 28.532) can be used.
[0148] The supported streaming protocol(s) by the MnS producer can be informed to the MnS consumer before the streaming session establishment. This can be achieved through e g. the reportingMethod attribute in 3GPP TS 28.550 or a new attribute e.g. “transport method” can be defined.
[0149] FIG. 25 illustrates an example method 2500 for reporting stream data, according to an embodiment.
[0150] At operation S2510, a NF / MNS producer may receive a streaming session request from a management system / MnS consumer. According to embodiments, the streaming session request may include consumer endpoint information of the management system / MnS consumer, as well as stream information. For example, the MnS consumer sends a request to the MnS producer to establish a logical streaming session containing the consumer’s streaming endpoint information, rather than establishing a persistent WebSocket connection (as in the related art).
[0151] At operation S2520, the NF / MnS producer may send a streaming session response to the management system / MnS consumer based on receiving the streaming session request in operation S2510.
[0152] At operation S2530, the NF / MnS producer may report stream data to the management system / MnS consumer based on the streaming session request in operation S2510. The MnS producer start reporting the management data to the endpoint(s) provided by the MnS consumer using a pre-selected transport protocol (based on pre-agreement or runtime handshake between consumer and producer). There are multiple options of streaming transport protocols canbe used not limit to WebSocket, e.g., Kafka, HTTP and gRPC etc, for different cloud environment and different operator deployment requirements. There is no impact to application layer and any other management services. It is purely data transport optimization for cloud-native NFs. WebSocket can still be the only mandatory streaming method required by the standard for backward compatibility and guaranteed interoperability, while the other technologies are optional alternative transports. Choices of alternative transports is implementation specific and based handshake between MnS producer and consumer.
[0153] At operation S2540, optionally the NF / MnS producer may send data to a message bus. For example, the message bus may be configured to share the data to an internal microservice of the management system / MnS Consumer. According to embodiments, the message bus may be a first message bus which is configured to collect data and forward the collected to a second message bus for data exposure / sharing to internal microservices of the management system / MnS consumer. For example, the first message bus may be implemented using a first transport protocol such as Kafka, Prometheus, WebSocket server, whereas the second message bus may be the same or a different transport protocol.
[0154] Based on the above embodiments, a more scalable, reliable, and efficient method for handling data streaming in cloud-native telecommunications applications may be achieved.
[0155] FIG. 26 is a diagram of an example environment 2600 in which systems and / or methods, described herein, may be implemented. As shown in FIG. 26, environment 2600 may include a user device 2610, a platform 2620, and a network 2630. Devices of environment 2600 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections. In embodiments, any of the functions and operations described withreference to FIGS. 1-25 above may be performed by any combination of elements illustrated inFIG. 26.
[0156] User device 2610 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with platform 2620. For example, user device 2610 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 2610 may receive information from and / or transmit information to platform 2620.
[0157] Platform 2620 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information. In some implementations, platform 2620 may include a cloud server or a group of cloud servers. In some implementations, platform 2620 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 2620 may be easily and / or quickly reconfigured for different uses.
[0158] In some implementations, as shown, platform 2620 may be hosted in cloud computing environment 2622. Notably, while implementations described herein describe platform 2620 as being hosted in cloud computing environment 2622, in some implementations, platform 2620 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.
[0159] Cloud computing environment 2622 includes an environment that hosts platform 2620. Cloud computing environment 2622 may provide computation, software, data access,storage, etc., services that do not require end-user (e.g., user device 2610) knowledge of a physical location and configuration of system(s) and / or device(s) that hosts platform 2620. As shown, cloud computing environment 2622 may include a group of computing resources 2624 (referred to collectively as “computing resources 2624” and individually as “computing resource 2624”).
[0160] Computing resource 2624 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 2624 may host platform 2620. The cloud resources may include compute instances executing in computing resource 2624, storage devices provided in computing resource 2624, data transfer devices provided by computing resource 2624, etc. In some implementations, computing resource 2624 may communicate with other computing resources 2624 via wired connections, wireless connections, or a combination of wired and wireless connections.
[0161] As further shown in FIG. 26, computing resource 2624 includes a group of cloud resources, such as one or more applications (“APPs”) 2624-1, one or more virtual machines (“VMs”) 2624-2, virtualized storage (“VSs”) 2624-3, one or more hypervisors (“HYPs”) 2624-4, or the like.
[0162] Application 2624-1 includes one or more software applications that may be provided to or accessed by user device 2610. Application 2624-1 may eliminate the need to install and execute the software applications on user device 2610. For example, application 2624-1 may include software associated with platform 2620 and / or any other software capable of being provided via cloud computing environment 2622. In some implementations, one application 2624-1 may send / receive information to / from one or more other applications 2624- 1 , via virtual machine 2624-2.
[0163] Virtual machine 2624-2 includes a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machine 2624-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 2624-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 2624-2 may execute on behalf of a user (e.g., user device 2610), and may manage infrastructure of cloud computing environment 2622, such as data management, synchronization, or long-duration data transfers.
[0164] Virtualized storage 2624-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 2624. 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.
[0165] Hypervisor 2624-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 2624. Hypervisor 2624-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.
[0166] Network 2630 includes one or more wired and / or wireless networks. For example, network 2630 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 Public Switched 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.
[0167] The number and arrangement of devices and networks shown in FIG. 26 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. 26. Furthermore, two or more devices shown in FIG. 26 may be implemented within a single device, or a single device shown in FIG. 26 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 2600 may perform one or more functions described as being performed by another set of devices of environment 2600.
[0168] FIG. 27 illustrates an embodiment of a device 2700. As shown in FIG. 27, the device 2700 processor 2710, a memory 2720, a storage component 2730, an input component 2740, an output component 2750, a communication interface 2760, and a bus 2770.
[0169] The processor 2710, as used herein, means any type of computational circuit that may comprise hardware elements and software elements. The processor 2710 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 2710 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.
[0170] Memory 2720 includes a non-transitory computer readable medium. Memory 2720 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 2710. The memory 2720 comprises machine-readable instructions which are executable by the processor 2710. These machine-readable instructions when executed by the processor 2710 cause the processor 2710 to perform one or more method steps of an embodiment described above.
[0171] Storage component 2730 stores information and / or software related to the operation and use of the device 2700. For example, storage component 2730 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.
[0172] Input component 2740 is configured to receive information, such as user input. For example, the input component 2740 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 2740 may include a sensor for sensing information (e g., a global positioning system (GPS), an accelerometer, a gyroscope, and / or an actuator).
[0173] Output component 2750 is configured to provide output information from the device 2700. For example, the output component 2750 may be, but not limited to, a display, a speaker, instructions to an external device, and / or one or more light-emitting diodes (LEDs).
[0174] Communication interface 2760 is an interface that provides a communication connection to other devices, such as external devices and internal devices. The connection by the communication interface 2760 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 2700 and other devices. In other words, the standard of the communication interface 2760 is not limited.
[0175] The bus 2770 acts as an interconnect between the processor 2710, the memory 2720, the storage component 2730, the input component 2740, the output component 2750, and the communication interface 2760 of the device 2700. The bus 2770 may include a wired interconnection or a wireless interconnection.
[0176] The number and arrangement of components shown in FIG. 27 are provided as an example. In practice, device 2700 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 27. Additionally, or alternatively, a set of components (e.g., one or more components) of device 2700may perform one or more functions described as being performed by another set of components of device 2700. Further, one or more method steps described in any of the embodiments may be performed utilizing a plurality of devices 2700 in communication with one another.
[0177] In embodiments, any one of the operations or processes of FIGS. 1-25 may be implemented by or using any one of the elements illustrated in FIGS. 26 and 27. 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.).
[0178] 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.
[0179] 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.
[0180] 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 storagedevice, 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.
[0181] 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.
[0182] Computer readable program code / instructions for carrying out operations may beassembler 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 wide area 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.
[0183] 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 candirect 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.
[0184] 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.
[0185] 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 blockdiagrams 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.
[0186] 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.
[0187] 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 Network Function(NF) / Management Service(MnS) producer, a streaming session request originating from a management system / MnS consumer including consumer endpoint information and stream information; sending, by the NF / MnS producer, a streaming session response to the management system / MnS consumer; and reporting, by the NF / MnS producer, stream data to the management system / MnS consumer based on the streaming session request.Item [2]: The method according to Item [1], further including receiving, by the NF / MnS producer, a streaming request for a streaming topic originating from the managementsystem / 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 [3]: The method according to any one of Items [l]-[2], wherein the streaming session request includes consumer endpoint information of the management system / MnS consumer.Item [4]: The method according to Item [3], wherein the streaming session request includes stream information.Item [5]: The method according to any one of Items [l]-[4], further including sending, by the NF / MnS producer, data to a message bus, wherein the message bus is configured to share the data to internal microservices of the management system / MnS consumer.Item [6]: The method according to any one of Items [l]-[4], further including sending, by the NF / MnS producer, data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data exposure to internal microservices of the management system / MnS consumer.Item [7]: The method according to any one of Items [l]-[4], further including sending, by the NF / MnS producer, data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data sharing to internal microservices of the management system / MnS consumer.Item [8]: A Network Function (NF) / MnS producer configured to: receive a streaming session request originating from a management system / MnS consumer including consumer endpoint information and stream information; send a streaming session response to the management system / MnS consumer; and report stream data to the management system / MnS consumer based on the streaming session request.Item [9]: The NF / MnS producer according to Item [8], further configured to: receive a streaming request for a streaming topic originating from the management system / MnS consumer, wherein the streaming topic includes at least one of performance metrics and trace data; send a notification to the management system / MnS consumer including 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
[0010] : The NF / MnS producer according to any one of Items [8]-[9], wherein the streaming session request includes consumer endpoint information of the management system / MnS consumer.Item
[0011] : The NF / MnS producer according to Item
[0010] , wherein the streaming session request includes stream information.Item
[0012] : The NF / MnS producer according to any one of Items [8]-[l 1], further configured to: send data to a message bus, wherein the message bus is configured to share the data to internal microservices of the management system / MnS consumer.Item
[0013] : The NF / MnS producer according to any one of Items [8]-[l 1], further configured to: send data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data exposure to internal microservices of the management system / MnS consumer.Item
[0014] : The NF / MnS producer according to any one of Items [8]-[l 1], further configured to: send data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data sharing to internal microservices of the management system / MnS consumer.Item
[0015] : A non-transitory computer-readable recording medium having recorded thereon instructions executable to perform a method including: receiving, by a Network Function(NF) / Management Service(MnS) producer, a streaming session request originating from a management system / MnS consumer including consumer endpoint information and stream information; sending, by the NF / MnS producer, a streaming session response to the managementsystem / MnS consumer; and reporting, by the NF / MnS producer, stream data to the management system / MnS consumer based on the streaming session request.Item
[0016] : A non-transitory computer-readable recording medium according to Item
[0015] the method further including: receiving, by the NF / MnS producer, a streaming request for a streaming topic originating from the 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
[0017] : A non-transitory computer-readable recording medium according to any one of Items
[0015] -
[0016] , wherein the streaming session request includes consumer endpoint information of the management system / MnS consumer and stream information.Item
[0018] : A non-transitory computer-readable recording medium according to any one of Items
[0015] -
[0017] , the method further including: sending, by the NF / MnS producer, data to a message bus, wherein the message bus is configured to share the data to internal microservices of the management system / MnS consumer.Item
[0019] : A non-transitory computer-readable recording medium medium according to any one of Items
[0015] -
[0017] , tthe method further including: sending, by the NF / MnS producer,data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data exposure to internal microservices of the management system / MnS consumer.Item
[0020] : A non-transitory computer-readable recording medium medium according to any one of Items
[0015] -
[0017] , the method further including: sending, by the NF / MnS producer, data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data sharing to internal microservices of the management system / MnS consumer.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 session request originating from a management system / MnS consumer comprising consumer endpoint information and stream information; sending, by the NF / MnS producer, a streaming session response to the management system / MnS consumer; and reporting, by the NF / MnS producer, stream data to the management system / MnS consumer based on the streaming session request.
2. The method as claimed in claim 1, further comprising: receiving, by the NF / MnS producer, a streaming request for a streaming topic originating from the 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.
3. The method as claimed in claim 1, wherein the streaming session request comprises consumer endpoint information of the management system / MnS consumer.
4. The method as claimed in claim 3, wherein the streaming session request comprises stream information.
5. The method as claimed in claim 1, further comprising: sending, by the NF / MnS producer, data to a message bus, wherein the message bus is configured to share the data to internal microservices of the management system / MnS consumer.
6. The method as claimed in claim 1, further comprising: sending, by the NF / MnS producer, data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data exposure to internal microservices of the management system / MnS consumer.
7. The method as claimed in claim 1, further comprising: sending, by the NF / MnS producer, data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data sharing to internal microservices of the management system / MnS consumer.
8. A Network Function (NF) / MnS producer configured to: receive a streaming session request originating from a management system / MnS consumer comprising consumer endpoint information and stream information; send a streaming session response to the management system / MnS consumer; andreport stream data to the management system / MnS consumer based on the streaming session request.
9. The NF / MnS producer as claimed in claim 8, further configured to: receive a streaming request for a streaming topic originating from the 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.
10. The NF / MnS producer as claimed in claim 8, wherein the streaming session request comprises consumer endpoint information of the management system / MnS consumer.
11. The NF / MnS producer as claimed in claim 10, wherein the streaming session request comprises stream information.
12. The NF / MnS producer as claimed in claim 8, further configured to: send data to a message bus, wherein the message bus is configured to share the data to internal microservices of the management system / MnS consumer.
13. The NF / MnS producer as claimed in claim 8, further configured to:send data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data exposure to internal microservices of the management system / MnS consumer.
14. The NF / MnS producer as claimed in claim 8, further configured to: send data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data sharing to internal microservices of the management system / MnS consumer.
15. A non-transitory computer-readable recording medium having recorded thereon instructions executable to perform a method comprising: receiving, by a Network Function(NF) / Management Service(MnS) producer, a streaming session request originating from a management system / MnS consumer comprising consumer endpoint information and stream information; sending, by the NF / MnS producer, a streaming session response to the management system / MnS consumer; and reporting, by the NF / MnS producer, stream data to the management system / MnS consumer based on the streaming session request.
16. The non-transitory computer-readable recording medium as claimed in claim 15, the method further comprising:receiving, by the NF / MnS producer, a streaming request for a streaming topic originating from the 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.
17. The non-transitory computer-readable recording medium as claimed in claim 15, wherein the streaming session request comprises consumer endpoint information of the management system / MnS consumer and stream information.
18. The non-transitory computer-readable recording medium as claimed in claim 15, the method further comprising: sending, by the NF / MnS producer, data to a message bus, wherein the message bus is configured to share the data to internal microservices of the management system / MnS consumer.
19. The non-transitory computer-readable recording medium as claimed in claim 15, the method further comprising: sending, by the NF / MnS producer, data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data exposure to internal microservices of the management system / MnS consumer.
20. The non-transitory computer-readable recording medium as claimed in claim 15, the method further comprising: sending, by the NF / MnS producer, data to a first message bus, wherein the first message bus is configured to collect data and forward the collected data to a second message bus for data sharing to internal microservices of the management system / MnS consumer.
Citation Information
Patent Citations
Stream information management
EP4181563A1
Method and apparatus to support performance data streaming end-to-end (E2E) procedures
US20210219162A1
Systems and methods for performance data streaming, performance data file reporting, and performance threshold monitoring
US20220174521A1