Quality sensing network management
By dynamically calculating the QoE value and performing intelligent flow control at intermediate network nodes, the impact of intermediate nodes on user experience quality is resolved, network path selection is optimized, and user experience and network performance are improved.
Patent Information
- Application Number
- CN202311054004.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2023-03-13
- Filing Date
- 2023-08-21
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2043-08-21
AI Technical Summary
In existing technologies, the impact of the performance of intermediate network nodes on the quality of user experience (QoE) is not fully considered, leading to congestion on the data flow path and a decline in user experience.
The concept of QoE is extended to intermediate network nodes. By monitoring and evaluating the operational status of each node, the QoE value of the node is dynamically calculated, and intelligent flow control is performed based on these values to select the best path to improve the user experience.
By dynamically evaluating and predicting the QoE value of nodes, network path selection is optimized, improving user experience quality, reducing data flow latency and congestion, and enhancing overall network performance.
Smart Images

Figure CN118647051B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates generally to improving the performance of a network. More specifically, the present disclosure relates to flow control based on quality of experience (QoE) values of nodes in a network. BRIEF DESCRIPTION OF DRAWINGS
[0002] Figure 1 An exemplary network that implements quality of experience (QoE) based path selection is illustrated in accordance with an aspect of the present application.
[0003] Figure 2A The diagram illustrates one example of a quality of experience (QoE) topology of a network in accordance with an aspect of the present application.
[0004] Figure 2B The diagram illustrates one example of a QoE topology of a network in accordance with an aspect of the present application.
[0005] Figures 3A-3B The diagram illustrates an example of a simplified QoE topology of a network in accordance with an aspect of the present application.
[0006] Figure 4 A flowchart illustrating one example of a flow control process in accordance with an aspect of the present application is presented.
[0007] Figure 5 The diagram illustrates one example of an apparatus for performing QoE based flow control in accordance with an aspect of the present application.
[0008] Figure 6 The diagram illustrates one example of a computer system that facilitates QoE based flow control in accordance with an aspect of the present application.
[0009] In the drawings, like reference numerals refer to same parts throughout the various drawings. DETAILED DESCRIPTION
[0010] Quality of experience (QoE) refers to the overall satisfaction and perception of users with respect to the delivery and consumption of digital content and services. It encompasses a wide range of factors, including the speed, reliability, and perceived value of the service, as well as the emotional and psychological reactions of the user to the experience. As the demand for high quality digital content and services continues to grow, the concept of QoE has become increasingly important, and QoE has been recognized as a key metric for measuring the success of these products.
[0011] Traditionally, QoE metrics are measured on client devices that directly interact with users, without considering the performance of intermediate network nodes (such as switches, routers, access points (APs), intermediate Internet of Things (IoT) devices, etc.) on the data path. However, the performance of intermediate network nodes can also impact user experience. For example, a congested switch on the data flow path can cause undesirable latency, negatively impacting user experience.
[0012] To improve overall network performance with respect to QoE, the solutions described herein extend the concept of QoE from client devices to intermediate network nodes, such that each node in the network can be associated with a QoE value based on how the node impacts the QoE of a service. The QoE value of a network node can be dynamic and application-specific. According to some aspects of the present application, a network management service can perform intelligent flow control based on the QoE values of nodes in the network.
[0013] Figure 1 An exemplary network implementing quality of experience (QoE)-based path selection is shown in accordance with one aspect of the present application. In Figure 1 In particular, network 100 can include a plurality of application servers (e.g., server 102), a plurality of network routers (e.g., router 104) and switches (e.g., switch 106), an access switch 108, a plurality of access points (APs) (e.g., AP 110), and a plurality of client devices (e.g., client devices 112, 114, and 116).
[0014] Application servers can provide users of client devices (e.g., smart televisions, notebook computers, etc.) with various services (e.g., streaming services, gaming services, video conferencing services, etc.) via routers, switches, and APs in the network. As an example, Figure 1 An end-to-end data path 118 for an application is also shown, starting from the source of application data (e.g., application server 102) to the terminal device that receives the data (e.g., client device 112). In this example, the application can be a video streaming application, and client device 112 can be a smart television.
[0015] For users of a video streaming application, the QoE of the application can be measured at the client device 112, and many factors can influence the QoE, including video startup time, rebuffering ratio, bitrate, resolution, jitter, latency, etc. These factors can depend on the operational state of intermediate nodes (e.g., routers 104, access switches 108, APs 110, etc.) on the end-to-end path 118. According to some aspects of the present application, in order to improve the QoE of a video streaming application, the system can perform QoE-based flow control in selecting the path 118 for delivering the streaming service to the user of the client device 112. More specifically, the operational state of each intermediate node can be evaluated according to the QoE (i.e., based on how the node affects the QoE of the application), and nodes that can negatively affect the QoE can not be included in the end-to-end path 118. In one example, among all possible paths between the application server 102 and the client device 112, the end-to-end path 118 can be the path that provides the best QoE performance for the application.
[0016] According to some aspects, the impact of each intermediate node on the overall QoE of the application can be quantified. More specifically, a dynamic QoE value can be assigned to each node in the network, which indicates the level of impact of the node on the QoE based on the current operational state of the node. Various aspects of the operational state of the node can affect the QoE of the application, including but not limited to: memory usage, central processing unit (CPU) utilization, node temperature, available buffer space on the data path, etc.
[0017] The QoE value can be binary. In some examples, the QoE value of a node can be set to "1" when the performance of the node is close to its limit, which can negatively affect the QoE. For example, if the current memory usage or CPU utilization of the node is equal to or greater than a predetermined threshold (e.g., 80%), the QoE value of the node can be set to "1". On the other hand, if the current memory usage or CPU utilization of the node is less than the predetermined threshold, the QoE value of the node can be set to "0". Alternatively, the QoE value can be multi-level (e.g., ranging from 0 to 5). The maximum QoE value can indicate that the node negatively affects the QoE the most. For example, memory usage or CPU utilization exceeding 90% can correspond to a QoE value of "5"; memory usage or CPU utilization between 80% and 90% can correspond to a QoE value of "4"; etc.
[0018] In the above example, the QoE value is determined based on memory usage or CPU utilization. Other factors can also affect the QoE value. In one example, the system can monitor the operating state of the node in various aspects (e.g., memory usage, CPU utilization, temperature, available buffer space, etc.), and can set the QoE value to “1” if the node reaches a predetermined threshold in any aspect. In another example, various factors can be combined according to a predetermined formula. For example, a QoE vector can be computed based on various QoE determining factors, where each component corresponds to one factor. The QoE vector can be represented as [Q1, Q2, Q3, Q4], where the four components of the QoE vector correspond to QoE values determined based on memory usage, CPU utilization, temperature, and available buffer space, respectively. The QoE vector [0, 0, 0, 1] can represent that the current memory usage, CPU utilization, and temperature of the node are all below their corresponding thresholds and will not negatively affect the QoE of the data flow, but the current buffer space of the data flow is below a predetermined threshold and can negatively affect the QoE. Depending on the specific implementation, the final QoE value of the node can be computed based on the QoE vector in various ways. In one example, the final QoE value can be a simple summation of the vector components, i.e., Q = Q1+ Q2+ Q3+ Q4. In another example, the final QoE value can be a weighted summation of the vector components, where each QoE component is assigned a weight factor.
[0019] In addition to associating the QoE value of a node with the current operating state of the node, other types of metrics can also be used to define the QoE value. According to some aspects, a function between quality of service (QoS) and QoE can be determined, and the QoE value of a node can be derived based on QoS parameters (e.g., delay, jitter, packet loss, throughput, etc.) measured at the node. It should be noted that the QoS parameters can be obtained by an entity that monitors network performance (e.g., a network analyzer). Certain QoS parameters can also be extracted from packets traversing the node.
[0020] Machine learning techniques can also be used to determine the QoE value of a node. For example, a machine learning model (e.g., a neural network) can be trained to learn the correlation between the operating state of a node on a flow path and the QoE measured at a client device. The trained model can then determine the QoE value of each node based on the monitored node operating state. The scope of the present disclosure is not limited by the criteria and mechanisms used to determine the QoE value of a node.
[0021] Because user experiences can vary across different applications, the impact of a node on the QoE of different applications can also differ. Therefore, the QoE value of a network node (e.g., a router, switch, or access point) may differ for different applications. For example, the QoE value of a node for a video conferencing application may differ from the QoE value of a node for a gaming application. Furthermore, certain node performance factors (e.g., available buffer space) may differ for different applications or flows. Depending on several factors, the QoE value should be calculated for each flow or each type of flow. In other words, the QoE value of each node can be flow-specific or flow-type specific. It should be noted that the application or application type associated with each flow can be derived from flow information (e.g., the source and destination addresses of the flow).
[0022] Besides being flow-specific, QoE values can also change over time. Real-time monitoring of the operational status of each node allows the system to determine the instantaneous QoE value of each node. It may also be advantageous to predict the future QoE values of nodes in the network in order to perform QoE-based flow control. In other words, it may be desirable for the network management system to predetermine flow control policies based on the future QoE values of nodes in the network. Various mechanisms can be used to predict the QoE values of nodes. The number and type of flows arriving at a node can alter the node's operational status, as each incoming flow may require a certain amount of processing power, memory, and buffer space. Therefore, by predicting future flows to arrive at nodes, the system can predict the QoE values of nodes associated with these flows. Depending on some aspects, the system can predict QoE values based on recently arrived flows. It is assumed that once a flow arrives at a node, there is a high probability that packets belonging to the same or similar flow type will arrive at that node. Therefore, the system can predict the QoE values of specific flows or specific types of flows in the near future (e.g., in the next few minutes) based on information associated with current flows. Simultaneously, the system can verify its predictions by calculating the actual QoE values in real time. In one example, the system can predict the QoE value for the next time step based on the QoE value at the current time step, and continuously update the QoE value by performing QoE calculations at each time step.
[0023] Depending on several factors, stream sampling methods can also be used to predict QoE values. More specifically, the system can apply clustering analysis techniques to group various streams into multiple clusters (e.g., Voice over Internet Protocol (VoIP) clusters, video clusters, gaming clusters, text / graphics clusters, encrypted clusters, etc.). Because applications within each cluster can provide similar services to users, the QoE of streams within the same cluster can be similar. The system can determine the QoE value for each cluster based on the operational state of the nodes. Therefore, during runtime, the system can classify each incoming stream and then determine the QoE value based on the cluster to which the stream belongs.
[0024] Because date and time can significantly impact network traffic and user experience, the system can also predict QoE values based on the time of day and the day of the week. For example, video applications typically have a worse QoE at night than during the day because most users watch videos at night. Therefore, the system can apply machine learning techniques to learn the mapping between QoE values and time. The system can then use the learned mapping to predict QoE values at future times. For instance, by calculating the QoE values at different times over N consecutive days, the system can be able to predict the QoE value at a specific time on day N+1.
[0025] Alternatively, the system can also use machine learning techniques (e.g., training deep learning neural networks) to directly learn the relationship between flow information and QoE values. The trained neural network can then be used to predict the QoE value of a node for a specific flow based on the flow information.
[0026] To implement QoE-based flow control, depending on several factors, a standalone network management server or a cloud-based network management platform can provide management services and maintain a management database. Corresponding client services can be executed on each network node (i.e., switches, routers, access points, controllers, etc.). These client services can perform multiple QoE-related functions, including monitoring flow information for each flow arriving at the node, monitoring the node's operational status (e.g., memory usage, CPU utilization / temperature, available buffer space, etc.), determining the QoE value of flows arriving at the node based on flow information and the node's operational status, and reporting the QoE value to the management service. The management service can then store the QoE values in the management database and perform QoE-based flow control.
[0027] It should be noted that QoE calculations may require varying amounts of computational resources depending on the mechanism used to compute the QoE value. For example, calculating a QoE value based on a simple mapping between a node's operational state and its QoE value requires far fewer computational resources than machine learning-based methods used to predict QoE values. To reduce the computational burden at network nodes (i.e., switches, routers, APs, controllers, etc.), QoE calculations can, according to an alternative, be performed by a management service residing on a remote server or in the cloud. Each node in the network can periodically report its operational state and flow information associated with the flows arriving at that node to the management service, and the management service can calculate the node's QoE value based on the received information. Performing QoE calculations more frequently improves the accuracy of the determined QoE value but requires more bandwidth and computational resources. According to one aspect, the time interval for each node to report its operational state and flow information to the management service can be between 30 seconds and five minutes. The management service can update the QoE value of each node based on such information received from the corresponding node.
[0028] Depending on several factors, the management service can generate the network's QoE topology based on the connectivity between nodes and the QoE value of each node in the network. To this end, the management service can first generate the network topology based on the connectivity information associated with the nodes. Then, the management service can assign a QoE value to each node in the network topology based on the results of the aforementioned QoE calculation process. Figure 2A The illustration shows an example of a network topology based on one aspect of Quality of Experience (QoE). Figure 2A In this example, the QoE topology 200 may include multiple interconnected nodes (e.g., nodes 202, 204, and 206), each representing a network device such as a server, router, switch, access point (AP), controller, terminal device, etc. In this example, each node is assigned a binary QoE value. For example, node 202 is assigned a QoE value of "0", node 204 is assigned a QoE value of "1", and node 206 is assigned a QoE value of "0". As discussed earlier, the QoE value assigned to each node indicates whether that node negatively impacts the user experience of a particular application or a specific type of application. More specifically, "0" indicates that the node has no impact on the user experience or has a positive impact, while "1" indicates that the node has a negative impact on the user experience.
[0029] Once the QoE topology is generated, the management service can perform flow control based on it. Depending on several aspects, the management service can calculate the cumulative QoE value for each possible path of the network flow and select the path with the minimum QoE value. For example, the management service can sum the QoE values of all nodes along the path to obtain the cumulative QoE value of the path. Figure 2A In the example shown, there are multiple possible paths between nodes 202 and 206, including paths 208, 210, and 212, with cumulative QoE values of 1, 0, and 2, respectively. Therefore, the management service may choose path 210 as the path with the best QoE performance. It should be noted that path 210 has an additional hop compared to path 208. However, when QoE is the primary concern, the management service will prefer the path with better QoE performance even if the number of hops is not the minimum.
[0030] Because the operational state of the same node can affect the QoE of different applications differently, different applications or application types can have different QoE values. Therefore, the management service needs to generate different network QoE topologies for different applications or application types. In one example, the management service can classify applications in the network into N different categories, such as streaming applications, text-based or graphics-based applications, VoIP applications, encrypted applications, gaming applications, video conferencing applications, etc. Therefore, the management service can generate N QoE topologies, one QoE topology for each application / streaming category.
[0031] For example, it can be generated for a specific application type (e.g., a streaming application). Figure 2A The QoE topology 200 is shown, and the QoE topology may be different for different types of applications (e.g., video conferencing applications). Figure 2B An example of a QoE topology based on one aspect of a network is shown. From Figure 2A and Figure 2B It can be seen that the connectivity between nodes in the two topologies remains the same, but the nodes in the two topologies may have different QoE values.
[0032] When selecting a path for a network flow, the management service can first generate a QoE topology based on the application type associated with the flow. For example, for a network flow originating from a video streaming server, the management service can generate the network's QoE topology based on the node's video streaming QoE value (e.g., ...). Figure 2A The QoE topology 200 is shown, and then the cumulative QoE value for all possible paths is calculated based on this QoE topology. On the other hand, for network streams originating from the video conferencing server, the cumulative QoE value can be calculated based on... Figure 2B The QoE topology 220 shown is used to calculate the cumulative QoE value for all possible paths.
[0033] In large-scale networks, the number of possible paths for network flows can be enormous, and calculating the cumulative QoE of a large number of paths can be very time-consuming and computationally expensive. To reduce computational costs, QoE topology can be simplified by removing nodes with significant negative QoE impacts, depending on several factors. When QoE values are binary, the topology can be simplified by removing nodes with non-zero QoE values. When QoE values are multi-level, the topology can be simplified by removing nodes with QoE values greater than a predetermined threshold. For example, if QoE values are between 0 and 5, the topology can be simplified by removing nodes with QoE values greater than two.
[0034] Figures 3A-3BAn example of a simplified QoE topology of a network according to one aspect of this application is illustrated. More specifically, Figure 3A The QoE topology 300 shown is Figure 2A The QoE topology shown is a simplified version of 200, and Figure 3B The QoE topology 320 shown is Figure 2B The image shows a simplified version of the QoE topology 220. For better comparison, the removed nodes and edges are shown in... Figures 3A-3B The middle part is shown as dashed circles and lines. From Figure 3A As can be seen, after removing nodes with non-zero QoE values, the resulting topology is significantly simplified compared to the original QoE topology. More specifically, only one path remains between the source node 302 and the destination node 304. Simplifying the QoE topology makes calculating the cumulative QoE value and selecting the optimal QoE path much easier.
[0035] exist Figure 3B In the example shown, removing a node with a non-zero QoE value results in a situation where no path exists between the source node 322 and the destination node 324. In fact, only three nodes remain in the simplified graph. In this case, the management service may need to select a path with suboptimal QoE performance. This can be achieved by adding nodes with non-zero QoE values to enhance the simplified QoE topology. In one example, nodes with non-zero QoE values can be added one at a time based on the frequency with which they are included in selected paths of other flows. In other words, nodes selected more frequently can have higher priority. In another example, low-latency nodes can have higher priority to be included in the selected path. Other algorithms can also be used to enhance the simplified QoE topology until one or more suboptimal QoE paths can be established between the source and destination nodes. The management service can also select the path with the minimum cumulative QoE value from the suboptimal QoE paths.
[0036] It should be noted that network traffic patterns and the operational state of each node can change dynamically, and the management service can update the QoE value of each node in the network accordingly. As discussed earlier, the QoE values associated with multiple flows or applications for a node can be updated periodically by client services residing on the node or by cloud-based management services. Alternatively, the QoE topology associated with an application can be updated periodically or whenever the node's QoE is modified.
[0037] Figure 4A flowchart illustrating an example of a flow control process according to one aspect is presented. During operation, a client service executed on a network node (e.g., a router, switch, controller, AP, etc.) determines flow information associated with a flow arriving at the network node (operation 402). Flow information may include the source and destination addresses of the flow, the type of application associated with the flow, etc. In addition, the client service may monitor the operational status of the node, including but not limited to: memory usage, CPU utilization, node temperature, available buffer space, etc.
[0038] Based on flow information and the current operational state of each node in the network, a QoE value associated with each node in the network can be estimated (Operation 404). Depending on the implementation, the QoE value can be defined based on different criteria. For example, the criteria may include a simple mapping function between the operational state of a node and the QoE value. In another example, the criteria may include a mapping between QoS metrics and QoE values. More complex QoE definition criteria can also be used. For example, a machine learning model can be trained to learn the mapping between the QoE value and the operational state of a node plus flow information. The QoE value may include binary or multi-level values. Depending on some aspects, a client service executing on each node can estimate the QoE value. The client service can estimate the QoE value for each flow or each type of flow arriving at the node. Once the QoE values for different flows are calculated, the client service can report the QoE values to a management service executing on a remote service or a cloud-based network management platform. Alternatively, the client service can report the operational state and flow information of the nodes to a remote management service that receives such information from each node in the network and calculates the QoE value for each node.
[0039] The management service can then generate the network's QoE topology based on the connectivity between nodes and the QoE value associated with each node in the network (operation 406). It should be noted that the management service can be aware of the connectivity between nodes in the network. For example, the management service can store a graph (e.g., an undirected graph) indicating the connectivity between network nodes. The management service can generate the QoE topology by assigning a QoE value to each node in the connectivity graph. Because the QoE values of nodes can be different for different network flows or different types of network flows, the management service can generate multiple QoE topologies, one for each flow or each type of flow.
[0040] The management service can determine multiple potential paths between the network node receiving the data stream and the destination node of the data stream (operation 408). Potential paths can be determined based on the connectivity between nodes indicated by the QoE topology. The management service can select a path for forwarding the data stream based on the QoE topology (operation 410). Depending on some aspects, the management service can calculate a cumulative QoE value for each possible path based on the QoE topology and select the path that provides the best QoE performance for the data stream. In some implementations, a positive QoE value for a node indicates that the node has a negative impact on QoE, and a larger QoE value corresponds to a more negative QoE impact. Therefore, the management service can select the path with the minimum cumulative QoE value.
[0041] Because there can be many potential paths for data flows in a relatively large network, management services can simplify the QoE topology by removing nodes that negatively impact QoE before the accumulated QoE value for those potential paths is calculated. For example, when the QoE value is binary, management services can simplify the QoE topology by removing nodes with non-zero values.
[0042] Depending on several factors, when the management service determines that a node is negatively impacting QoE, it can also temporarily suspend that node. For example, if the management service determines that a switch in the network is overloaded and potentially causing QoE degradation, it can temporarily disable the switch and select a neighboring switch with better QoE performance as a replacement. Traffic previously routed to the disabled switch can be routed to the replacement switch until the disabled switch's QoE performance recovers. In another example, if the management service determines that an overloaded AP has poor QoE performance, it can send a control signal to the AP to prevent new client devices from connecting to it. The management service can then identify alternative APs to provide connectivity services to the new client devices, thus achieving QoE-based load balancing among APs. In yet another example, the management service can detect that an end device (e.g., a user equipment or IoT device) is experiencing poor QoE. In addition to the possibility of an end device failure, the management service can infer that an uplink node (e.g., an AP) may be the cause of the poor QoE at the end device. Therefore, the management service can identify new uplink nodes to provide connectivity services to the end device.
[0043] After selecting a path, the management service can forward the data stream according to the selected path (operation 412). Depending on some aspects, the management service can send control signals to nodes on the selected path to facilitate the correct forwarding of the data stream.
[0044] Figure 5An example of an apparatus for performing QoE-based flow control is shown, according to one aspect. Apparatus 500 may include a QoE information receiving unit 502, a QoE value calculation unit 504, an optional QoE prediction unit 506, a QoE value storage unit 508, a QoE topology generation unit 510, an optional topology simplification unit 512, an accumulated QoE calculation unit 514, and a path selection unit 516. Apparatus 500 may be implemented using hardware components, software components, or both. According to some aspects, apparatus 500 may reside on a network management server or a cloud-based network management platform.
[0045] QoE information receiving unit 502 can be responsible for receiving various QoE-related information from each node in the network. According to some aspects, such information may include the node's operational status and information associated with data flows arriving at the node. The node's operational status, which can affect QoE, may include memory usage, CPU utilization, temperature, available buffer space, etc. Flow information may include the source and destination addresses of each flow and the application type of the flow. According to one aspect, the client service executed on each network node can directly calculate the QoE value for each flow or each type of flow arriving at the network node. In this case, QoE information receiving unit 502 can also receive the calculated QoE value from the client service.
[0046] QoE value calculation unit 504 can be responsible for calculating or estimating the QoE value(s) for each node in the network. Due to the dynamic nature of the network, QoE value calculation unit 504 can periodically calculate the QoE value(s). The QoE calculation period can be between 30 seconds and five minutes. Depending on some aspects, QoE value calculation unit 504 can calculate the QoE value at the node for a flow based on the node's current operating state and flow information. QoE value calculation unit 504 can use various techniques to calculate QoE values, such as applying mapping functions to convert QoS parameters (e.g., latency, jitter, packet loss, throughput, etc.) into QoE values, determining the QoE vector based on various aspects of the operating state and then calculating the magnitude of the QoE vector, and applying machine learning techniques to learn the mapping relationship between the node's operating state and the QoE value for different types of applications.
[0047] An optional QoE prediction unit 506 can be responsible for predicting the future QoE value at a node. In some aspects, the QoE prediction unit 506 can predict the future QoE of a node based on its current QoE. Alternatively, the QoE prediction unit 506 can use machine learning techniques to classify incoming flows into different types or clusters and predict the QoE of the incoming flows based on the cluster to which they belong. The QoE prediction unit 506 can pre-calculate the corresponding QoE values for different types of flows based on the current node state. When a flow arrives at a node, the QoE prediction unit 506 can predict the QoE value of the flow based on its classification. Furthermore, the QoE prediction unit 506 can use machine learning techniques to learn the correlation between the time of day or the day of the week and the QoE value.
[0048] QoE value storage unit 508 can be responsible for storing the current and future QoE values of nodes in the network. Because QoE values are calculated periodically, the contents of QoE value storage unit 508 can be updated periodically. QoE topology generation unit 510 can be responsible for generating QoE topology for each flow or each type of flow in the network. More specifically, QoE topology generation unit 510 can first obtain an undirected graph representing the connectivity between nodes in the network and then associate each node in the graph with a QoE value. Topology simplification unit 512 can be optional and is responsible for simplifying the QoE topology. For example, nodes with undesirable QoE performance can be removed from the QoE topology. If simplification results in the QoE topology lacking a pre-defined available path between the source and destination nodes, the simplified graph can be expanded to recover the removed nodes.
[0049] The cumulative QoE calculation unit 514 can be responsible for calculating the cumulative QoE value of the potential paths of the data flow. Depending on several aspects, the cumulative QoE value for that path can be obtained by adding the QoE values of the nodes on the potential path one by one. It should be noted that the potential paths of the data flow can be determined based on QoE topology or a simplified QoE topology. The path selection unit 516 can be responsible for selecting the path with the best QoE performance based on the cumulative QoE values of all potential paths.
[0050] Figure 6 An example of a computer system facilitating QoE-based flow control according to one aspect of this application is illustrated. The computer system 600 may include a processor 602, a memory 604, and a storage device 606. Furthermore, the computer system 600 may be coupled to peripheral input / output (I / O) user devices 610, such as a display device 612, a keyboard 614, and a pointing device 616. The storage device 606 may store an operating system 618, a QoE-based flow control system 620, and data 640.
[0051] The QoE-based flow control system 620 may include instructions that, when executed by the computer system 600, cause the computer system 600 or processor 602 to perform the methods and / or processes described in this disclosure. Specifically, by executing these instructions, the computer system 600 can achieve the goal of selecting paths for network flows that provide optimal QoE performance. The QoE-based flow control system 620 may include instructions for calculating the QoE value of nodes in the network (QoE value calculation instruction 622), instructions for predicting future QoE values (QoE prediction instruction 624), instructions for generating the QoE topology of the network (QoE topology generation instruction 626), instructions for simplifying the QoE topology (topology simplification instruction 628), instructions for calculating the cumulative QoE value of potential paths (cumulative QoE calculation instruction 630), and instructions for selecting paths for network flows with optimal QoE performance (path selection instruction 632). Data 640 may include a network connectivity graph 642.
[0052] Generally, this disclosure describes systems and methods for performing QoE-based flow control in a network. More specifically, multiple QoE values for a node can be calculated based on how each node in the network affects the QoE of different flows in the network, where each QoE value corresponds to a specific flow or a specific type of flow. The QoE value of a flow or type of flow can be binary or multi-level and can be calculated based on the node's operational state and flow information associated with the flow. A QoE topology of the network can be generated for each flow or type of flow based on the network's connectivity graph and the corresponding QoE values of the nodes in the network. The system can calculate a cumulative QoE value for each potential path of a flow by summing the QoE values of nodes in the potential path. The system can select the path that provides the best QoE performance for forwarding the flow by comparing the cumulative QoE values of the potential paths.
[0053] One aspect provides a system and method for selecting paths for data flows in a network. During operation, a first node receiving the data flow can determine flow information associated with the data flow, which at least specifies a destination node. The system estimates a Quality of Experience (QoE) value associated with each node in the network based on the flow information and the current operational state of each node, the QoE value of the respective node indicating whether the respective node negatively impacts the QoE performance of the data flow. A management service generates a network QoE topology based on connectivity between multiple nodes in the network and the QoE value associated with each node; determines multiple potential paths between the first node and the destination node, where each potential path includes multiple intermediate nodes; and selects the path providing the best QoE performance from the multiple potential paths based on the network's QoE topology. Path selection includes calculating a cumulative QoE value for each potential path based on the QoE values of the intermediate nodes included in the potential paths.
[0054] In a variation of this, the current operating state of each node may include one or more of the following: memory usage, central processing unit (CPU) utilization, node temperature, and available buffer space.
[0055] In a variation of this approach, the QoE value may include a binary value, and a non-zero QoE value indicates that the corresponding node has a negative impact on the QoE performance of the data stream.
[0056] In another variation, calculating the cumulative value of a potential path may include summing the QoE values of intermediate nodes included in the potential path.
[0057] In this variant, the system can estimate different QoE values for streams of different data types.
[0058] In another variation, different types of data streams may include one or more of the following: data streams associated with streaming applications, data streams associated with Voice over Internet Protocol (VoIP) applications, data streams associated with video conferencing applications, data streams associated with gaming applications, data streams associated with text-based or graphics-based applications, and data streams associated with encrypted applications.
[0059] In a variation of this approach, the system can predict the future QoE value associated with each node.
[0060] In another variation, predicting future QoE values can include one of the following: predicting future QoE values based on the flow currently arriving at the node; applying machine learning techniques to classify the incoming data flow; and applying machine learning techniques to learn the mapping relationship between QoE values and time.
[0061] In a variation of this approach, generating a QoE topology may include obtaining a connectivity graph of the network and assigning a corresponding QoE value to each node in the graph.
[0062] In a variation of this approach, the system can simplify the QoE topology by removing one or more nodes that negatively impact the QoE performance of the data flow.
[0063] The foregoing description is provided to enable any person skilled in the art to make and use these examples, and the foregoing description is provided in the context of a particular application and its requirements. Various modifications to the disclosed examples will be apparent to those skilled in the art, and the general principles defined herein can be applied to other implementations and applications without departing from the spirit and scope of this disclosure. Therefore, the scope of this disclosure is not limited to the examples shown, but is consistent with the widest scope consistent with the principles and features disclosed herein.
[0064] The methods and processes described in the detailed description section may be embodied in code and / or data, which may be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and / or data stored on the computer-readable storage medium, the computer system executes the methods and processes embodied in data structures and code and stored within the computer-readable storage medium.
[0065] Furthermore, the methods and processes described above may be included in hardware devices or apparatuses. Hardware devices or apparatuses may include, but are not limited to, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), dedicated or shared processors that execute specific software units or code segments at specific times, and other programmable logic devices now known or developed hereafter. When hardware devices or apparatuses are activated, they execute the methods and processes included therein.
Claims
1. A method for selecting a path for a data stream in a network comprising multiple nodes, the method comprising: At a system including a hardware processor, at a first node in the network, flow information associated with the data flow is received, wherein the flow information specifies a destination node; The system obtains the Quality of Experience (QoE) value associated with the plurality of nodes based on the flow information and the current operating state of the plurality of nodes, wherein the QoE value of a corresponding node among the plurality of nodes indicates whether the corresponding node negatively affects the QoE performance of the data flow; The system generates the QoE topology of the network based on the connectivity between the plurality of nodes in the network and the QoE values associated with the plurality of nodes; The system generates a simplified QoE topology of the network by removing the at least one node from the QoE topology based on the QoE value of at least one node relative to the QoE values of the other nodes among the plurality of nodes; The system determines multiple potential paths in the simplified QoE topology between the first node and the destination node, wherein the potential paths among the multiple potential paths include multiple intermediate nodes between the first node and the destination node; as well as The system selects the path that provides the best QoE performance from the plurality of potential paths based on the simplified QoE topology, wherein the selection of the path includes: calculating the cumulative QoE value of each of the plurality of potential paths based on the QoE values of the intermediate nodes included in the respective potential paths.
2. The method according to claim 1, wherein the current operating state of a corresponding node among the plurality of nodes includes one or more of the following: The memory in the corresponding node is used; CPU utilization of the central processing unit in the corresponding node; The temperature of the corresponding node; and Available buffer space in the corresponding node.
3. The method of claim 1, wherein the QoE value of a node comprises a binary value, and wherein a non-zero QoE value indicates that the node negatively impacts the QoE performance of the data stream.
4. The method of claim 1, wherein calculating the cumulative QoE value for each corresponding potential path comprises summing the QoE values of the intermediate nodes included in the corresponding potential path.
5. The method of claim 1 further includes estimating different QoE values for different types of data streams.
6. The method of claim 5, wherein the different types of data streams include one or more of the following: Data streams associated with streaming applications; Data streams associated with Internet Voice over IP (VOIP) applications; Data streams associated with video conferencing applications; Data streams associated with game applications; Data streams associated with text-based or graphics-based applications; or Data streams associated with encrypted applications.
7. The method of claim 1, wherein obtaining the QoE value associated with the plurality of nodes comprises: Predict the QoE value at a future time point, wherein the QoE value of the at least one node removed to generate the simplified QoE topology is the predicted QoE value at the future time point.
8. The method of claim 7, wherein predicting the QoE value comprises applying machine learning to predict the QoE value at the future time point.
9. The method of claim 1, wherein removing the at least one node from the QoE topology to generate the simplified QoE topology is based on comparing the QoE value of the at least one node with a threshold.
10. The method of claim 1, further comprising pausing the at least one node based on the QoE value of the at least one node, the QoE value indicating that the at least one node negatively impacts the QoE performance of the data stream.
11. A computer system, comprising: processor; and Storage medium, storing instructions executable on the processor to: Receive flow information associated with the data flow at the first node in the network, wherein the flow information specifies the destination node; Based on the flow information and the current operating state of multiple nodes, an experience quality (QoE) value associated with the multiple nodes is obtained, wherein the QoE value of a corresponding node among the multiple nodes indicates whether the corresponding node negatively affects the QoE performance of the data flow. Based on the connectivity between the plurality of nodes in the network and the QoE values associated with the plurality of nodes, the QoE topology of the network is generated; A simplified QoE topology of the network is generated by removing the at least one node from the QoE topology based on the QoE value of at least one node relative to the QoE values of the other nodes among the plurality of nodes; Determine multiple potential paths in the simplified QoE topology between the first node and the destination node, wherein the potential paths among the multiple potential paths include multiple intermediate nodes between the first node and the destination node; as well as Based on the simplified QoE topology, the path providing the best QoE performance is selected from the plurality of potential paths, wherein the selection of the path includes calculating the cumulative QoE value of the respective potential path based on the QoE values of the intermediate nodes included in the respective potential path.
12. The computer system of claim 11, wherein obtaining the QoE value associated with the plurality of nodes includes receiving the QoE value associated with the plurality of nodes from a client service at the computer system.
13. The computer system of claim 11, wherein obtaining the QoE value associated with the plurality of nodes comprises calculating the QoE value associated with the plurality of nodes at the computer system.
14. The computer system of claim 11, wherein calculating the cumulative QoE value of the respective potential path comprises summing the QoE values of the intermediate nodes included in the respective potential path.
15. The computer system of claim 11, wherein the instructions are executable on the processor to pause the at least one node based on the QoE value of the at least one node, the QoE value indicating that the at least one node negatively impacts the QoE performance of the data stream.
16. The computer system of claim 11, wherein removing the at least one node from the QoE topology to generate the simplified QoE topology is based on comparing the QoE value of the at least one node with a threshold.
17. The computer system of claim 11, wherein obtaining the QoE value associated with the plurality of nodes includes predicting the QoE value at a future time point, and wherein the QoE value of the at least one node removed to generate the simplified QoE topology is the predicted QoE value at a future time point.
18. The computer system of claim 17, wherein predicting the QoE value comprises applying machine learning to predict the QoE value at the future time point.
19. A machine-readable storage medium comprising instructions that, when executed, cause a system to: Receive flow information associated with the data flow at the first node in the network, wherein the flow information specifies the destination node; Based on the flow information and the current operating state of multiple nodes, an experience quality (QoE) value associated with the multiple nodes is obtained, wherein the QoE value of a corresponding node among the multiple nodes indicates whether the corresponding node negatively affects the QoE performance of the data flow. Based on the connectivity between the plurality of nodes in the network and the QoE values associated with the plurality of nodes, the QoE topology of the network is generated; A simplified QoE topology of the network is generated by removing the at least one node from the QoE topology based on the QoE value of at least one node relative to the QoE values of the other nodes among the plurality of nodes; Determine multiple potential paths in the simplified QoE topology between the first node and the destination node, wherein the potential paths among the multiple potential paths include multiple intermediate nodes between the first node and the destination node; as well as Based on the simplified QoE topology, the path providing the best QoE performance is selected from the plurality of potential paths, wherein the selection of the path includes calculating the cumulative QoE value of the respective potential path based on the QoE values of the intermediate nodes included in the respective potential path.
20. The machine-readable storage medium of claim 19, wherein the instructions, when executed, cause the system to: The at least one node is paused based on its QoE value, which indicates that the at least one node negatively impacts the QoE performance of the data stream.
Citation Information
Patent Citations
Network path prediction and selection using machine learning
CN109039884A
Planning and managing network probes by using centralized controller
CN111766837A