WO2017131674A1 - Managing network traffic using experiential capacity - Google Patents

Managing network traffic using experiential capacity Download PDF

Info

Publication number
WO2017131674A1
WO2017131674A1 PCT/US2016/015192 US2016015192W WO2017131674A1 WO 2017131674 A1 WO2017131674 A1 WO 2017131674A1 US 2016015192 W US2016015192 W US 2016015192W WO 2017131674 A1 WO2017131674 A1 WO 2017131674A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
flow
experiential
per
flows
Prior art date
Application number
PCT/US2016/015192
Other languages
French (fr)
Inventor
Ayon Chakraborty
Shruti SANADHYA
Kyu Han Kim
Original Assignee
Hewlett Packard Enterprise Development Lp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development Lp filed Critical Hewlett Packard Enterprise Development Lp
Priority to PCT/US2016/015192 priority Critical patent/WO2017131674A1/en
Publication of WO2017131674A1 publication Critical patent/WO2017131674A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic

Definitions

  • Networks are a widely used component of many enterprises.
  • a network may include wired and wireless components.
  • More and more networks are running network applications over wireless networks such as Wi-Fi or Long term evolution (LTE) networks.
  • LTE Long term evolution
  • Each network can accommodate a certain amount of traffic, the amount of traffic a network can handle is referred to as the network capacity.
  • FIG. 1 is a diagram illustrating an experiential capacity region for a network, according to one example of the principles described herein.
  • FIG. 2 is a diagram of a system for managing network traffic using experiential capacity, according to one example of the principles described herein.
  • FIG. 3 is a flow diagram of a method for managing network traffic using experiential capacity, according to one example of the principles described herein.
  • Fig. 4 is a diagram of a system for managing network traffic using experiential capacity, according to one example of the principles described herein.
  • FIG. 5 is a flow diagram of a method for managing network traffic using experiential capacity, according to one example of the principles described herein.
  • FIG. 6 is a diagram of an electronic device for managing network traffic using experiential capacity, according to one example of the principles described herein.
  • Networks are widely used in many organizations. Examples of such organizational networks include enterprise networks and campus networks, among others.
  • a network may include wired and wireless
  • More and more networks are running network applications over wireless networks such as Wi-Fi or Long term evolution (LTE) networks.
  • wireless networks such as Wi-Fi or Long term evolution (LTE) networks.
  • LTE Long term evolution
  • Each network can accommodate a certain amount of traffic.
  • the amount of traffic a network can handle is referred to as the network capacity.
  • network administrators are thus tasked with answering the questions "how many users can I satisfy?" or "what is the capacity of my network?" More specifically, network administrators are tasked with determining how many users can be added to a network, such as a mobile network, without adversely affecting the experience of existing users.
  • network capacity has been generally defined in terms of bandwidth that can be shared between multiple concurrent users. The belief being that such a measurement is appropriate because the total bandwidth can be switched between users as one user's rate can be traded off for another.
  • Still further other network conditions may affect the capacity of the network.
  • a Wi-Fi network may not have any interference and can accommodate ten web flows and two video flows.
  • the network may have interference such that the capacity reduces to ten web flows and zero video flows.
  • Examples of other network conditions affecting network capacity include user mobility and fading.
  • the present specification defines network capacity in a way that captures the mixed traffic prevalent in many networks and also addresses the changing conditions of the network. Still further, network capacity is not measured based on characteristics of the system, but how well the network delivers services to a user, i.e., a user's experience with the network.
  • QoE Quality of Experience
  • An experiential capacity region is defined that indicates whether a particular number and type of different application classes can be run on a network while satisfying QoE thresholds for the associated application flows.
  • an experiential capacity region defines how many flows of different types of application classes can be run on a network such that quality of experience thresholds for each flow can be satisfied by the network. Accordingly, additional flows are either allowed or disallowed from interacting with the network if the addition of the flow would lead to the dissatisfaction of any of the QoE thresholds for the then existing flows, or the to- be-added flow.
  • the requesting flow is not allowed if its addition leads to a traffic matrix that is outside of the experiential capacity region for the network.
  • the present application also describes an effective way to determine the experiential capacity region by observing some of the
  • an experiential capacity region for the network is determined.
  • the experiential capacity region indicates how many flows of multiple
  • application classes are run on a network while satisfying per-flow quality of experience thresholds for the individual flows. Then in an operating phase, it is determined whether a flow is to be added to the network based on whether the addition of the flow generates a traffic matrix that is outside of the experiential capacity region for the network. Also during the operating phase, the
  • the system also includes an admission control engine to allow or disallow the incoming traffic based on the classification.
  • the present specification describes a non-transitory machine-readable storage medium encoded with instructions.
  • instructions are executable by a processor to cause the processor to, while in a learning phase, 1 ) measure a per-flow quality of service for at least one application flow, 2) map the per-flow quality of service to a per-flow quality of experience for the at least one application flow, 3) classify the per-flow quality of experiences based on at least one experience policy for the network.
  • a grouping of application flows classified as having satisfactory QoE define an experiential capacity region.
  • the instructions are also executable to, while in an operating phase, 1 ) allow a flow to be added to the network when the resulting traffic matrix is within the experiential capacity region for the network, 2) prevent a flow from being added to the network when the resulting traffic matrix is outside of the experiential capacity region for the network, and 3) update the experiential capacity region for the network based on termination and activation of a number of flows.
  • the term "experiential capacity region" indicates how many application flows of multiple application classes can be run on a network while satisfying quality of experience thresholds for each application.
  • application class refers to a type of application run on a network.
  • application classes include video streaming, voice- over-internet-protocol, web-browsing, conferencing, file-sharing, backing-up, instant messaging, interactive gaming, downloading, etc.
  • QoS Quality of Service
  • Metrics that indicate a quality of service include delay, loss, throughput, and jitter.
  • the term “Quality of Experience” or “QoE” measures how well a network is satisfying an end user. Examples of metrics that indicate quality of experience include stall rate, frame drop, page load time, etc.
  • the term “per-flow” QoE measures how well an individual flow of a user is satisfied. Such a per-flow QoE is measured per flow. For example, a user on a particular flow may have a particular QoE.
  • the term "network-wide" QoE measures an aggregation of the per-flow QoEs given a particular configuration of flows and applications.
  • the network-wide QoE may be a statistical mean or median of the per- flow QoE values for users on a network at a given point in time irrespective of the application class run by the user.
  • the network-wide QoE may also be such a value but further based on the type of application run.
  • traffic matrix refers to the application classes and the number of flows of those application classes that are run on a network at a particular point in time.
  • Fig. 1 is a diagram illustrating an experiential capacity region (100) for a network, according to one example of the principles described herein.
  • each network such as a mobile network
  • QoS Quality of Service
  • this metric is outdated in that it 1 ) measures a single metric
  • 2) does not account for changing configurations of a network
  • 3) doesn't represent user satisfaction with their experience on the network.
  • the present specification relies on an experience metric, i.e., QoE which indicates a user's satisfaction with the application and the network as a whole, in determining network capacity.
  • Those flows that can be facilitated by the network to such a level as to satisfy their individual QoE thresholds given the present network conditions can be visualized as an experiential capacity region (1 00) as indicated in Fig. 1 .
  • the experiential capacity region (100) depicted in Fig. 1 indicates how many flows of two classes can be run simultaneously while satisfying the QoEs of each application flow.
  • Fig., 1 depicts a two-dimensional region corresponding to two classes of flows
  • the experiential capacity region (100) could be a higher dimensional figure representing multiple application classes.
  • the experiential capacity region (100) could be depicted as a multi-dimensional surface.
  • an experiential capacity region (1 00) can be defined as a k-tuple (ai , a2, ... ak), where k ⁇ s the number of application classes and a is the number of flows of each application / ' which can be concurrently satisfied by the network.
  • the experiential capacity region (100) is a region that defines the ability of a network to handle multi-user and multi- application configurations while delivering desired experience to the users of the network.
  • the experiential capacity region (100) includes those traffic matrices, i.e., grouping of flows of different application classes, whose QoE thresholds are satisfied for a set of network conditions. Any composition of flows within this region is considered
  • An unfilled dot (102) represents an unsatisfactory QoE.
  • the unfilled dot (102) located at (4, 9) represents that four flows of a first class and nine flows of a second class cannot be satisfactorily run by the network.
  • the experiential capacity region (100) for a network indicates how many flows of multiple classes can be run on a network having certain wireless conditions while satisfying quality of experience thresholds for the flows.
  • the boundary of the experiential capacity region (1 00) is defined by network conditions - types of devices, number of devices, etc. - as well as the QoE thresholds for the flows of the network.
  • Using an experiential capacity region (100) to define the capacity of the network is beneficial in that it results in a more instructive result.
  • a QoS indicates how a system performs, but may not completely communicate whether a user is happy or not with their experience.
  • a capacity region defined by QoE more accurately reflects a user's experience and therefore would likely be more valuable to a consumer as client satisfaction is likely more reflective of value than system characteristics.
  • Fig. 2 is a diagram of a system (206) for managing network traffic using experiential capacity, according to one example of the principles described herein.
  • the system (206) may be included in various network access devices such as Wi-Fi access points and LTE base stations.
  • the memory (210) may include various types of memory modules, including volatile and nonvolatile memory.
  • the memory (210) of the present example includes Random Access Memory (RAM), Read Only Memory (ROM), and Hard Disk Drive (HDD).
  • RAM Random Access Memory
  • ROM Read Only Memory
  • HDD Hard Disk Drive
  • Many other types of memory may also be utilized, and the present specification contemplates the use of many varying type(s) of memory (21 0) as may suit a particular application of the principles described herein.
  • different types of memory (210) may be used for different data storage needs.
  • the processor (208) may boot from Read Only Memory (ROM), maintain nonvolatile storage in the Hard Disk Drive (HDD) memory, and execute program code stored in Random Access Memory (RAM).
  • the memory (210) may include a computer readable medium, a computer readable storage medium, or a non-transitory computer readable medium, among others.
  • the memory (210) may be, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • the system (206) also includes a number of engines.
  • An engine refers to a combination of hardware and program instructions to perform a designated function.
  • the engines may be hardware.
  • the engines may be implemented in the form of electronic circuitry (e.g., hardware).
  • Each of the engines may include its own processor, but one processor may be used by all the engines.
  • each of the engines may include a processor and memory. Alternatively, one processor may execute the designated function of each of the engines.
  • a region defining engine (212) is used to define the experiential capacity region (Fig. 1 , 100) of the network. That is, the region defining engine (212) defines how many flows of different application classes the network can handle at any time.
  • the experiential capacity region (Fig. 1 , 1 00) may indicate the capacity of different kinds of networks, including a mobile network, such as a Wi-Fi network or an LTE network.
  • the region defining engine (212) separates those traffic matrices that are acceptable from those traffic matrices that are unacceptable. That is it classifies the universe of traffic matrices into two regions.
  • the experiential capacity region (Fig. 1 , 100) may be defined with minimal interaction from the user devices.
  • some networks such as mobile networks where client devices are mobile, relying on the user devices may not be possible to determine the actual experiential capacity region (Fig. 1 , 100) for the network.
  • such networks are susceptible to certain conditions such as channel interference, propagation losses, multi-path fading, and user mobility. These conditions introduce random losses and bandwidth fluctuations in these networks, which affect the bandwidth available to handle the various flows passing through the network.
  • the region defining engine (212) relies on the network infrastructure and machine learning in determining the capacity region (Fig. 1 , 1 00).
  • the region defining engine (212) operates in two phases, a learning phase and an operating phase.
  • the system (206) observes the network without making any admission control determinations.
  • the system (206) allows all network flows to pass into the network.
  • the region defining engine (212) uses a classifier to determine what effect an incoming flow has on the existing traffic matrix and what the QoE of the incoming flow is given the existing traffic matrix, again without making any admission control determination.
  • QoS metrics include channel conditions, throughput delay, loss and jitter.
  • Such values are easily measured from the network infrastructure, unlike QoE which is generally measured at an end user device.
  • a QoE can be estimated from such QoS values for the infrastructure components of the network.
  • factors that are used in determining the QoE. For example, such things as quantity of devices in the network, types of devices in the network, mobility of devices in the network, etc.
  • a QoE for a particular application flow changes sharply from an unacceptable level to an acceptable level with changes related to QoS parameters.
  • QoE metrics may differ between application classes. For example, a QoE for a web-browsing application may be measured in terms of page load time, a QoE for VoIP applications may be measured in terms of peak signal to noise ratio, and the QoE of video streaming applications may be measured in terms of startup delay.
  • the engine (212) determines whether the additional flow will lead to a traffic matrix that includes the additional flow, which is inside or outside of the experiential capacity region (Fig. 1 , 100).
  • a grouping of flows whose QoEs can be satisfied by the network define the experiential capacity region (Fig. 1 , 100) for the network.
  • the region defining engine (212) can generate a model, i.e., an experiential capacity region (Fig. 1 , 1 00) wherein the network provides service to customers at levels that satisfy the individual flow QoE thresholds.
  • the region defining engine (212) When in the operating phase, the region defining engine (212) continues to estimate QoE per incoming application flow and its effect on the existing flows. The region defining engine (21 2) also continues to modify the classification of different incoming flows. For example, as network conditions change, the affect an incoming flow has on a traffic matrix may also change. Accordingly, during the operating phase, the region defining engine (212) continues to estimate QoE values and to classify those flows based on their effect to the QoE values of the flows in the existing traffic matrix. In so doing, the region defining engine (212) further refines the capacity region (Fig. 1 , 1 00). In this fashion, the engine (212) is able to update the capacity region (Fig.
  • the region defining engine (212) is capable of providing a real-time indication of network capacity, thus enhancing the efficiency of network capacity measurements.
  • the system (206) estimates QoE for the various flows and classifies incoming flows as either acceptable or unacceptable based on the impact of those flows on the QoE of the traffic matrix flows while not performing admission control.
  • the system (206) similarly estimates QoE, but in this phase, performs admission control of the incoming flows.
  • the region defining engine (212) is useful in that it learns the experiential capacity region (Fig. 1 , 1 00) by actually observing traffic in the network. Specifically, learning the experiential capacity region (Fig. 1 , 100) by permeating every possibility of users and types of applications and numbers of flows results in such a high number of possibilities that determining a database of all the possible combinations would be very difficult if not impossible.
  • the present system (206) avoids such a complex consideration of all the possible combinations by determining the experiential capacity region based on a few observations and machine learning.
  • the capacity region may change. For example, in wireless networks characteristics such as channel interference, propagation losses, multi-path fading, and user mobility introduce random losses and bandwidth fluctuations in these networks.
  • the region defining engine (212) thus continually re-learns the experiential capacity region (Fig. 1 , 100) by retraining a classifier; thereby accounting for, and adapting to, changes in a network and client population.
  • the system (206) also includes an admission control engine (214) to allow or disallow the incoming traffic based on the classification.
  • the admission control engine (214) When in the learning phase, the admission control engine (214) is inactive in that all traffic is allowed to pass through to the network. That is, when in the learning phase, no flows are prevented entry into the network. Doing so ensures that an accurate model, i.e., experiential capacity region (Fig. 1 , 100), for the network is defined. Then, when in the operating phase, the admission control engine (214) determines whether a particular flow will be allowed onto the network based on its effect to the QoE for the existing flows and the particular flow.
  • the additional flow will be blocked from the network, perhaps to be redirected to another network.
  • the addition of the flow will result in a QoE for all the existing flows that is at least as great as the QoE thresholds for those flows, the additional flow will be admitted to the network.
  • Fig. 3 is a flow diagram of a method (300) for managing network traffic using experiential capacity, according to one example of the principles described herein.
  • the methods (300, 500) may be described below as being executed or performed by at least one device, for example, an electronic device. Other suitable systems and/or computing devices may be used as well.
  • the methods (300, 500) may be implemented in the form of executable instructions stored on at least one machine-readable storage medium of at least one of the devices and executed by at least one processor of at least one of the device.
  • the methods (300, 500) may be implemented in the form of electronic circuitry (e.g., hardware). While Figs.
  • a number of the operations of the methods (300, 500) may be executed concurrently or in a different order than shown in Figs. 3 and 5.
  • the methods (300 and 500) may include more or less operations than are shown in Figs. 3 and 5.
  • a number of the operations of the methods (300 and 500) may, at certain times, be ongoing and/or may repeat.
  • an experiential capacity region (Fig. 1 , 100) for the network is determined (block 301 ).
  • the experiential capacity region (Fig. 1 , 100) is a region that indicates whether a certain number of flows of multiple application classes can be operated at the same time within a network, all while satisfying the different QoE thresholds of each application flow.
  • the determination (block 301 ) of the experiential capacity region (Fig. 1 , 100) occurs in a learning phase (316) of the method (300). As described above, when in the learning phase (316) no flows are denied entry into the network such that an accurate picture of how different types and numbers of flows affect different network configurations.
  • the experiential capacity region (Fig. 1 , 100) may indicate how many flows of multiple heterogeneous applications can be run. For example, in today's society many different kinds of application classes including a web- browsing class, an audio-streaming class, a video conferencing class, and a video streaming class to name a few. While specific reference is made to a few types of classes, many types of application classes rely on networks such as mobile networks. Still further, the experiential capacity region (Fig. 1 , 100) may be for a multi-user, multi-application network configuration.
  • 1 , 100 can be determined (block 301 ) independently of the devices that access the network. Doing so facilitates a growing trend towards "bring your own device” network configurations where the devices that are to access a network are brought by users. Still further a capacity determination made from the infrastructure also gives a global view of the network and centralized control allows operation of multiple network technologies.
  • determining (block 301 ) the experiential capacity region (Fig. 1 , 100) first begins by observing per-flow Quality of Service metrics for the network.
  • per-flow QoS metrics include channel conditions, throughput, delay, loss and jitter. These may be collected form measurements taken on the network.
  • a mapping is generated between a per-flow QoS and a per-flow QoE.
  • QoE is different from QoS because QoE is application specific, while QoS is network specific. For example, a Voice over internet protocol (VoIP) application is a delay sensitive application.
  • VoIP Voice over internet protocol
  • the mapping between the per-flow QoS and the per-flow QoE takes into account not only the throughput/delay/loss for a particular flow, but network conditions such as how many devices are on the network, what types of devices are on the network, and other factors. Put another way, the mapping from a QoS-value to a QoE-value determines how a QoS translates into a QoE for a given network and given application class. For example, a relationship may exist between QoS and QoE for a video streaming application, which includes constants representative of the conditions of the network. The system (Fig. 2, 206) is used to empirically determine the constants used to define this relationship. In one example, this relationship can be represented as Equation (1 ) below:
  • policies may be used to determine whether a particular QoE for a particular application flow is satisfactory.
  • the policies may be Yes/No policies where an administrator or other individual can specify certain experiences that are unsatisfactory or those that are satisfactory.
  • a network administrator may note that a page load time of more than five seconds is unsatisfactory.
  • the per-flow quality of experience is classified into one of two or more classes.
  • a network administrator may note that a page load time of 0-2 seconds is "good,” a page load time of 2-5 seconds is “fair,” and that a page load time of more than 5 seconds is “bad.”
  • the system can determine whether or not flows that are requesting to be added to the network can do so without dropping the quality of experience outside of the capacity region (Fig. 1 , 100).
  • a flow is to be added to the network based on whether addition of the flow leads to a traffic matrix outside of the experiential capacity region (Fig. 1 , 100) for the network.
  • the experiential capacity region (Fig. 1 , 100) identified in Fig. 1 if the current configuration of the network includes six flows of a first class and three flows of the second class, i.e. the point (6, 3), the addition of one more flow of the first class or one more flow of the second class is not going to result in a traffic matrix outside of the experiential capacity region (Fig. 1 , 100).
  • the flow will likely be allowed to transfer via the network.
  • the current configuration of the network includes seven flows of the first class and three flows of the second class, i.e. the point (7, 3)
  • the addition of either a flow of the first class or a flow of the second class will lead to a traffic matrix outside the experiential capacity region (Fig. 1 , 100).
  • the flow will likely be denied to transmit within the network and may instead be routed to another network.
  • this determination of whether to allow a flow or not occurs in an operating phase (318) of the method (300). More detail regarding the operating phase is provided below.
  • the experiential capacity region (Fig. 1 , 100) is updated (block 303) based on 1 ) the termination and activation of various flows and 2) other network conditions such as interference, fading, and user mobility.
  • some networks are unique in that the devices that access the network, and therefore the networks capacity to handle different flows, is constantly changing. For example users may leave an area, which frees up resources of the network to be dedicated to other flows and application classes.
  • Still further network conditions such as interference and multi-path fading may also change. Accordingly, in the method (300), these changing circumstances are considered and added to the model that is used to calculate the experiential capacity region (Fig. 1 , 1 00) for the network.
  • the method (300) described herein may allow for the continuous exploration of the capacity of dynamic networks, such as wireless networks.
  • Fig. 4 is a diagram of a system for managing network traffic using experiential capacity, according to one example of the principles described herein.
  • the system (206) estimates a QoE of various flows that enter the network (424).
  • the system (206) relies on a training device (420) to learn the QoS-to-QoE mapping.
  • the training device (420) can run a particular flow and measures its QoE directly. From known QoS values of the network components, and the end QoE via the training device (420), the region defining engine (212) generates a mapping between the two.
  • mapping from a QoS to a QoE may be represented as a mathematical relationship wherein QoS is multiplied by various constants.
  • the training device (420) is used to calculate these constants so that a QoE for any given QoS can be estimated for a given load setting.
  • Fig. 4 also illustrates the various functions of the different components in the learning phase (Fig. 3, 316) and the operating phase (Fig. 3, 318).
  • the region defining engine (212) focuses on defining the experiential capacity region (Fig. 1 , 100). This includes relying on the training device (420), in part, to generate a mapping between per- flow QoS values and per-flow QoE values. It also includes receiving and allowing to pass to the network (424), flows from the client device (422).
  • the admission control engine (214) is inactive during the learning phase (Fig. 3, 316) and all traffic is allowed to pass.
  • the region defining engine (212) is continually updating the capacity region (Fig. 1 , 100) model by continuing to determine QoE for incoming traffic and classifying the flows based on the effect of its inclusion on the rest of the flows in the network.
  • the admission control engine (214) is activated to either allow or disallow traffic based on whether the additional flow is inside or outside of the capacity region (Fig. 1 , 1 00).
  • the system (206) may be used in load- balancing between various networks (424).
  • a Wi- Fi network and an LTE network may both be available to accommodate traffic.
  • the region defining engine (212) in addition to determining per-flow QoE, may also calculate a network-wide QoE.
  • This network-wide QoE may be a statistical mean or median of the per-flow QoEs of the traffic matrix. In the event that both networks (424) can accommodate traffic, the flow would be routed to the network (42) with the higher QoE.
  • Fig. 5 is a flow diagram of a method (500) for managing network traffic using experiential capacity, according to one example of the principles described herein.
  • the system Fig. 2, 206
  • determines a capacity region Fig. 1 , 100
  • a per-flow quality of service for the application flows is measured (block 501 ).
  • the system Fig. 2, 206) monitors the network components to determine per-flow QoS.
  • Such things that are monitored include delay, loss, jitter, and throughput.
  • a QoE can be mapped (block 502).
  • the system considers other factors than just the QoS values.
  • a QoE representation is more indicative of a user's experience as it considers more than just throughput, and it is a multidimensional metric as opposed to QoS which is a single dimensional metric.
  • each per-flow QoE value can be classified (block 503) thereby defining the capacity region (Fig. 1 , 1 00). More specifically, whether a QoE is satisfactory or not is determined by established policies that can be set by an administrator. Those groupings of flows with QoE thresholds that are satisfied for a given configuration define the boundary of the
  • Updating (block 506) the experiential capacity region (Fig. 1 , 100) may include updating the classification model used by the region defining engine (Fig. 2,212). For example, as users go out of range of the network (Fig. 4, 424), the network capacity may change. Accordingly, the region defining engine (Fig. 2, 21 2) may classify incoming flows differently than when those users were still in range of the network (Fig. 4, 424). In another example, when a user does not leave a network range, but moves farther away from a wireless access point, the associated QoE may worsen. In such a case, the region defining engine (Fig. 2, 21 2) may classify that flow incorrectly and may re-learn the experiential capacity region (Fig. 1 , 100).
  • Fig. 6 is a diagram of an electronic device (626) using experiential capacity regions (Fig. 1 , 100), according to one example of the principles described herein.
  • the electronic device (626) includes a processor (208) and a machine-readable storage medium (628).
  • a processor (208) and a single machine-readable storage medium (628) the descriptions may also apply to an electronic device (626) with multiple processors and multiple machine-readable storage mediums.
  • the instructions may be distributed (e.g., stored) across multiple machine-readable storage mediums and the instructions may be distributed (e.g., executed by) across multiple processors.
  • executable instruction representations e.g., boxes
  • executable instructions and/or electronic circuits included within one box may, in alternate examples, be included in a different box shown in the figures or in a different box not shown.
  • the machine-readable storage medium (628) represent generally any memory capable of storing data such as programmed instructions or data structures used by the electronic device (626).
  • the machine-readable storage medium (628) includes a machine readable storage medium that contains machine readable program code to cause tasks to be executed by the processor (208).
  • the machine-readable storage medium (628) may be tangible and/or non-transitory storage medium.
  • the machine-readable storage medium (628) may be any appropriate storage medium that is not a transmission storage medium.
  • the machine-readable storage medium (628) may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions.
  • machine-readable storage medium (628) may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like.
  • RAM Random Access Memory
  • EEPROM Electrically-Erasable Programmable Read-Only Memory
  • the machine-readable storage medium (628) may be disposed within the electronic device (626), as shown in Fig. 6. In this situation, the executable instructions may be "installed" on the electronic device (626).
  • the machine-readable storage medium (628) may be encoded with executable instructions for dual-power reception.
  • per-flow QoS instructions (630), when executed by a processor (208), may cause the electronic device (626) to measure a per-flow QoS for at least one application flow.
  • QoS mapping instructions (632), when executed by a processor (208), may cause the electronic device (626) to map the per-flow QoS to a per-flow QoE for the at least one application flow.
  • the processor (208) and machine-readable storage medium (628) are located within the same physical component, such as a server, or a network component.
  • the machine-readable storage medium (628) may be part of the physical component's main memory, caches, registers, non-volatile memory, or elsewhere in the physical component's memory hierarchy.
  • the machine-readable storage medium (628) may be in communication with the processor (208) over a network.
  • the electronic device (626) may be implemented on a user device, on a server, on a collection of servers, or combinations thereof.
  • the electronic device (626) of Fig. 6 may be part of a general purpose computer. However, in alternative examples, the electronic device (626) is part of an application specific integrated circuit
  • the computer usable program code 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 machine-readable program code, when executed via, for example, the processor (Fig. 2, 208) of the computing system or other programmable data processing apparatus, implement the functions or acts specified in the flowchart and/or block diagram block or blocks.
  • the computer usable program code may be embodied within a computer readable storage medium; the computer readable storage medium being part of the computer program product.
  • the computer readable storage medium is a non-transitory computer readable medium.

Abstract

In one example in accordance with the present disclosure a method is described. In a learning phase an experiential capacity region for a network is determined. The experiential capacity region indicates how many flows of multiple application classes are run on a network while satisfying per-flow quality of experience thresholds for the flows. In an operating phase, it is determined whether a flow is to be added to the network based on whether the addition of the flow leads to a traffic matrix that is outside of the experiential capacity region for the network. Still in the operating phase, the experiential capacity region is updated based on changes to network conditions.

Description

MANAGING NETWORK TRAFFIC USING EXPERIENTIAL CAPACITY
BACKGROUND
[0001] Networks are a widely used component of many enterprises. A network may include wired and wireless components. More and more networks are running network applications over wireless networks such as Wi-Fi or Long term evolution (LTE) networks. Each network can accommodate a certain amount of traffic, the amount of traffic a network can handle is referred to as the network capacity.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] The accompanying drawings illustrate various examples of the principles described herein and are a part of the specification. The illustrated examples are given merely for illustration, and do not limit the scope of the claims.
[0003] Fig. 1 is a diagram illustrating an experiential capacity region for a network, according to one example of the principles described herein.
[0004] Fig. 2 is a diagram of a system for managing network traffic using experiential capacity, according to one example of the principles described herein.
[0005] Fig. 3 is a flow diagram of a method for managing network traffic using experiential capacity, according to one example of the principles described herein. [0006] Fig. 4 is a diagram of a system for managing network traffic using experiential capacity, according to one example of the principles described herein.
[0007] Fig. 5 is a flow diagram of a method for managing network traffic using experiential capacity, according to one example of the principles described herein.
[0008] Fig. 6 is a diagram of an electronic device for managing network traffic using experiential capacity, according to one example of the principles described herein.
[0009] Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.
DETAILED DESCRIPTION
[0010] Networks are widely used in many organizations. Examples of such organizational networks include enterprise networks and campus networks, among others. A network may include wired and wireless
components. More and more networks are running network applications over wireless networks such as Wi-Fi or Long term evolution (LTE) networks. Along with this movement to more wireless networks, there is also greater use of such networks, i.e., the networks are being asked to handle more and more user traffic.
[0011] Each network can accommodate a certain amount of traffic. The amount of traffic a network can handle is referred to as the network capacity. Given the rising use of networks, network administrators are thus tasked with answering the questions "how many users can I satisfy?" or "what is the capacity of my network?" More specifically, network administrators are tasked with determining how many users can be added to a network, such as a mobile network, without adversely affecting the experience of existing users.
[0012] In the past, network capacity has been generally defined in terms of bandwidth that can be shared between multiple concurrent users. The belief being that such a measurement is appropriate because the total bandwidth can be switched between users as one user's rate can be traded off for another.
[0013] However, the present nature of networks renders such a measurement unreliable. For example, with the growing popularity of interactive applications, such as video/audio streaming, file sharing, backup, social web, VOIP, video conferencing and web browsing, etc., throughput is not the only factor influencing application performance, and in turn, user experience. In other words, network capacity is not effectively captured in terms of a single network parameter, such as throughput, delay, loss etc. Such single parameter indicators therefore do not adequately capture the experience a user has with the network, which experience is modeled across multiple dimensions.
Moreover, while such single-dimension measures focus on rate, they are incapable of describing metrics that are not direct functions of rate.
[0014] Still further, traditional indicators of network capacity may incorrectly presume a fixed capacity of the network. However, different types of applications, and different numbers of flows within those applications can change the capacity of a network. For example, a network may be able to handle a first number of video streaming applications yet in another instance can accommodate a greater number of web browsing applications. Thus the capacity is dependent not only on physical characteristics of the system, but on the types of applications and how many specific flows of that class are running on the network.
[0015] Still further other network conditions may affect the capacity of the network. For example, at one time a Wi-Fi network may not have any interference and can accommodate ten web flows and two video flows. At another point in time, the network may have interference such that the capacity reduces to ten web flows and zero video flows. Examples of other network conditions affecting network capacity include user mobility and fading.
[0016] Accordingly, the present specification defines network capacity in a way that captures the mixed traffic prevalent in many networks and also addresses the changing conditions of the network. Still further, network capacity is not measured based on characteristics of the system, but how well the network delivers services to a user, i.e., a user's experience with the network.
[0017] Specifically, the present application describes a method wherein Quality of Experience (QoE) thresholds are specified by the network
administrator for multiple application flows. An experiential capacity region is defined that indicates whether a particular number and type of different application classes can be run on a network while satisfying QoE thresholds for the associated application flows. In other words, an experiential capacity region defines how many flows of different types of application classes can be run on a network such that quality of experience thresholds for each flow can be satisfied by the network. Accordingly, additional flows are either allowed or disallowed from interacting with the network if the addition of the flow would lead to the dissatisfaction of any of the QoE thresholds for the then existing flows, or the to- be-added flow. In other words, the requesting flow is not allowed if its addition leads to a traffic matrix that is outside of the experiential capacity region for the network.
[0018] The present application also describes an effective way to determine the experiential capacity region by observing some of the
characteristics of the system and using machine learning, rather than
permeating through all the combinations of number of users, types of application classes, and number of application flows.
[0019] Accordingly, the present specification describes a method. During a learning phase, an experiential capacity region for the network is determined. The experiential capacity region indicates how many flows of multiple
application classes are run on a network while satisfying per-flow quality of experience thresholds for the individual flows. Then in an operating phase, it is determined whether a flow is to be added to the network based on whether the addition of the flow generates a traffic matrix that is outside of the experiential capacity region for the network. Also during the operating phase, the
experiential capacity region is updated based on changes in network conditions, such as the termination and activation of a number of application flows and changes in wireless channel conditions. [0020] The present specification also describes a system for defining an experiential capacity region. The system includes a processor and memory communicatively coupled to the processor. The system also includes a region defining engine to 1 ) for multiple application flows running on the network, estimate a per-flow quality of experience from a per-flow quality of service, 2) classify incoming traffic as acceptable or unacceptable based on the estimated per-flow quality of experience for multiple application flows, wherein multiple acceptable per-flow quality of experience values define, in part, the experiential capacity region, and 4) update the
experiential capacity region based on changes to network conditions. The system also includes an admission control engine to allow or disallow the incoming traffic based on the classification.
[0021] Still further, the present specification describes a non-transitory machine-readable storage medium encoded with instructions. The
instructions are executable by a processor to cause the processor to, while in a learning phase, 1 ) measure a per-flow quality of service for at least one application flow, 2) map the per-flow quality of service to a per-flow quality of experience for the at least one application flow, 3) classify the per-flow quality of experiences based on at least one experience policy for the network. A grouping of application flows classified as having satisfactory QoE define an experiential capacity region. The instructions are also executable to, while in an operating phase, 1 ) allow a flow to be added to the network when the resulting traffic matrix is within the experiential capacity region for the network, 2) prevent a flow from being added to the network when the resulting traffic matrix is outside of the experiential capacity region for the network, and 3) update the experiential capacity region for the network based on termination and activation of a number of flows.
[0022] Using an adaptive determination of an experiential capacity region which is based on quality of experience 1 ) allows for more efficient
determination of network capacity by accounting for multiple application use on a network; 2) prevents the blind over-provisioning of network infrastructure; 3) accounts for network capacity that changes over time; 4) facilitates efficient admission control by a) allowing or disallowing network traffic based on whether a satisfactory qualify of experience can be delivered and b) selecting among multiple networks, the best network to route traffic to in order to satisfy the experience thresholds for the multiple applications. However, it is contemplated that the devices disclosed herein may prove useful in addressing other matters and deficiencies in a number of technical areas. Therefore the systems and methods disclosed herein should not be construed as addressing any of the particular matters.
[0023] As used in the present specification and in the appended claims, the term "experiential capacity region" indicates how many application flows of multiple application classes can be run on a network while satisfying quality of experience thresholds for each application.
[0024] Accordingly, as used in the present specification and in the appended claims, the term "application class" refers to a type of application run on a network. Examples of application classes include video streaming, voice- over-internet-protocol, web-browsing, conferencing, file-sharing, backing-up, instant messaging, interactive gaming, downloading, etc.
[0025] Still further, as used in the present specification and in the appended claims, the term "application flow" or "flow" refer to instances of an application class; i.e., a well-defined source-destination pair or traffic generated by a specific user. For example, within an enterprise one user may be executing one flow of a VOIP application and another user may be executing another flow of a VOIP application.
[0026] Even further, as used in the present specification and in the appended claims, the term "Quality of Service" or "QoS" refers to a metric used to measure network ability to provide a predetermined level of service. Metrics that indicate a quality of service include delay, loss, throughput, and jitter.
[0027] By comparison, as used in the present specification and in the appended claims, the term "Quality of Experience" or "QoE" measures how well a network is satisfying an end user. Examples of metrics that indicate quality of experience include stall rate, frame drop, page load time, etc. [0028] As used in the present specification and in the appended claims, the term "per-flow" QoE measures how well an individual flow of a user is satisfied. Such a per-flow QoE is measured per flow. For example, a user on a particular flow may have a particular QoE.
[0029] By comparison, as used in the present specification and in the appended claims, the term "network-wide" QoE measures an aggregation of the per-flow QoEs given a particular configuration of flows and applications. For example the network-wide QoE may be a statistical mean or median of the per- flow QoE values for users on a network at a given point in time irrespective of the application class run by the user. The network-wide QoE may also be such a value but further based on the type of application run.
[0030] Even further, as used in the present specification and in the appended claims, the term "traffic matrix" refers to the application classes and the number of flows of those application classes that are run on a network at a particular point in time.
[0031] Further, as used in the present specification and in the appended claims, the term "a number of" or similar language is meant to be understood broadly as any positive number including 1 to infinity; zero not being a number, but the absence of a number.
[0032] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present systems and methods. It will be apparent, however, to one skilled in the art that the present apparatus, systems, and methods may be practiced without these specific details. Reference in the specification to "an example" or similar language indicates that a particular feature, structure, or characteristic described in connection with that example is included as described, but may not be included in other examples.
[0033] Turning now to the figures, Fig. 1 is a diagram illustrating an experiential capacity region (100) for a network, according to one example of the principles described herein. As described above, each network, such as a mobile network, has a capacity which defines the amount of traffic that it can sustain. While Quality of Service (QoS) has been used to measure capacity, this metric is outdated in that it 1 ) measures a single metric, 2) does not account for changing configurations of a network, and 3) doesn't represent user satisfaction with their experience on the network. Accordingly, the present specification relies on an experience metric, i.e., QoE which indicates a user's satisfaction with the application and the network as a whole, in determining network capacity. Those flows that can be facilitated by the network to such a level as to satisfy their individual QoE thresholds given the present network conditions can be visualized as an experiential capacity region (1 00) as indicated in Fig. 1 . The experiential capacity region (100) depicted in Fig. 1 indicates how many flows of two classes can be run simultaneously while satisfying the QoEs of each application flow.
[0034] While Fig., 1 depicts a two-dimensional region corresponding to two classes of flows, the experiential capacity region (100) could be a higher dimensional figure representing multiple application classes. For example, the experiential capacity region (100) could be depicted as a multi-dimensional surface. In a non-visual example, an experiential capacity region (1 00) can be defined as a k-tuple (ai , a2, ... ak), where k \s the number of application classes and a is the number of flows of each application /' which can be concurrently satisfied by the network. In other words, the experiential capacity region (100) is a region that defines the ability of a network to handle multi-user and multi- application configurations while delivering desired experience to the users of the network.
[0035] All such k-tuples having a satisfactory QoE level together define the experiential capacity region (100). In other words, the experiential capacity region (100) includes those traffic matrices, i.e., grouping of flows of different application classes, whose QoE thresholds are satisfied for a set of network conditions. Any composition of flows within this region is considered
satisfactory. For example, in Fig. 1 , each point (x, y) denotes (ai , Ά∑) , i.e., experience when a number, ai, of flows of the first class and number, a∑, of flows of the second class occur simultaneously in a network. A filled dot (104) represents a satisfactory QoE for both flows of that quantity, meaning that all flows , i.e., the ai flows of the first class and the a2 flows of the second class have QoEs that are satisfied given the current configuration of the network. For example, the filled dot (1 04) located at (6, 4) represents that six flows of a first class and four flows of a second class can be satisfactorily run by the network. An unfilled dot (102) represents an unsatisfactory QoE. For example, the unfilled dot (102) located at (4, 9) represents that four flows of a first class and nine flows of a second class cannot be satisfactorily run by the network. Put another way, the experiential capacity region (100) for a network indicates how many flows of multiple classes can be run on a network having certain wireless conditions while satisfying quality of experience thresholds for the flows. In other words, the boundary of the experiential capacity region (1 00) is defined by network conditions - types of devices, number of devices, etc. - as well as the QoE thresholds for the flows of the network.
[0036] Using an experiential capacity region (100) to define the capacity of the network is beneficial in that it results in a more instructive result. In other words, a QoS indicates how a system performs, but may not completely communicate whether a user is happy or not with their experience. A capacity region defined by QoE more accurately reflects a user's experience and therefore would likely be more valuable to a consumer as client satisfaction is likely more reflective of value than system characteristics.
[0037] Fig. 2 is a diagram of a system (206) for managing network traffic using experiential capacity, according to one example of the principles described herein. The system (206) may be included in various network access devices such as Wi-Fi access points and LTE base stations.
[0038] To achieve its desired functionality, the system (206) includes various hardware components. Specifically, the system (206) includes a processor (208) and memory (210). The memory (210) is communicatively coupled to the processor (208). The system (206) also includes engines which include instructions loaded into memory (21 0) and executed by the processor (208).
[0039] The processor (208) may include the hardware architecture to retrieve executable code from memory (21 0) and execute the executable code. The executable code may, when executed by the processor (208), cause the processor (208) to implement at least the functionality of managing network traffic. In the course of executing code, the processor (208) may receive input from and provide output to a number of the remaining hardware units.
[0040] The memory (210) may store data such as executable program code that is executed by the processor (208) or other processing device. As will be discussed, the memory (210) may specifically store computer code representing a number of applications that the processor (208) executes to implement at least the functionality described herein.
[0041] The memory (210) may include various types of memory modules, including volatile and nonvolatile memory. For example, the memory (210) of the present example includes Random Access Memory (RAM), Read Only Memory (ROM), and Hard Disk Drive (HDD). Many other types of memory may also be utilized, and the present specification contemplates the use of many varying type(s) of memory (21 0) as may suit a particular application of the principles described herein. In certain examples, different types of memory (210) may be used for different data storage needs. For example, in certain examples the processor (208) may boot from Read Only Memory (ROM), maintain nonvolatile storage in the Hard Disk Drive (HDD) memory, and execute program code stored in Random Access Memory (RAM).
[0042] The memory (210) may include a computer readable medium, a computer readable storage medium, or a non-transitory computer readable medium, among others. For example, the memory (210) may be, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium may include, for example, the following: an electrical connection having a number of wires, 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 portable compact disc read-only memory (CD- ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store computer usable program code for use by or in connection with an instruction execution system, apparatus, or device. In another example, a computer readable storage medium may be any non-transitory medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0043] The system (206) also includes a number of engines. An engine refers to a combination of hardware and program instructions to perform a designated function. The engines may be hardware. For example, the engines may be implemented in the form of electronic circuitry (e.g., hardware). Each of the engines may include its own processor, but one processor may be used by all the engines. For example, each of the engines may include a processor and memory. Alternatively, one processor may execute the designated function of each of the engines.
[0044] A region defining engine (212) is used to define the experiential capacity region (Fig. 1 , 100) of the network. That is, the region defining engine (212) defines how many flows of different application classes the network can handle at any time. The experiential capacity region (Fig. 1 , 1 00) may indicate the capacity of different kinds of networks, including a mobile network, such as a Wi-Fi network or an LTE network. In other words, the region defining engine (212) separates those traffic matrices that are acceptable from those traffic matrices that are unacceptable. That is it classifies the universe of traffic matrices into two regions.
[0045] The experiential capacity region (Fig. 1 , 100) may be defined with minimal interaction from the user devices. In fact, in some networks such as mobile networks where client devices are mobile, relying on the user devices may not be possible to determine the actual experiential capacity region (Fig. 1 , 100) for the network. For example, such networks are susceptible to certain conditions such as channel interference, propagation losses, multi-path fading, and user mobility. These conditions introduce random losses and bandwidth fluctuations in these networks, which affect the bandwidth available to handle the various flows passing through the network. Accordingly, the region defining engine (212) relies on the network infrastructure and machine learning in determining the capacity region (Fig. 1 , 1 00).
[0046] In determining the experiential capacity region (Fig. 1 , 1 00), the region defining engine (212) operates in two phases, a learning phase and an operating phase. In the learning phase, the system (206) observes the network without making any admission control determinations. In other words, the system (206) allows all network flows to pass into the network. The region defining engine (212) then uses a classifier to determine what effect an incoming flow has on the existing traffic matrix and what the QoE of the incoming flow is given the existing traffic matrix, again without making any admission control determination.
[0047] By letting all flows to pass through during the learning phase some flows that may adversely affect the QoE of the remaining flows are also allowed to pass. Doing so allows a diverse training set to be collected for preparation of the model that will define the network. In this learning phase, different numbers of users are accessing different numbers and different kinds of applications thereby giving a picture of how the experience of users is affected by the number and type of applications running on a particular network.
[0048] In relying on the network infrastructure, the region defining engine (212) first estimates a per-flow quality of experience value from a per-flow quality of service value for the application flows running on the network. For example, the region defining engine (212) monitors the infrastructure
components, i.e., access points, switches, routers, to determine QoS levels for each flow of a network. Examples of such QoS metrics include channel conditions, throughput delay, loss and jitter. Such values are easily measured from the network infrastructure, unlike QoE which is generally measured at an end user device. As applications react predictably to the infrastructure, a QoE can be estimated from such QoS values for the infrastructure components of the network. In estimating the QoE from these QoS values, there are a number of factors that are used in determining the QoE. For example, such things as quantity of devices in the network, types of devices in the network, mobility of devices in the network, etc. In other words, a QoE for a particular application flow changes sharply from an unacceptable level to an acceptable level with changes related to QoS parameters. Note that QoE metrics may differ between application classes. For example, a QoE for a web-browsing application may be measured in terms of page load time, a QoE for VoIP applications may be measured in terms of peak signal to noise ratio, and the QoE of video streaming applications may be measured in terms of startup delay.
[0049] Accordingly with the estimation of QoEs possible, the region defining engine (212) can classify whether or not an incoming flow is going to have an acceptable QoE given the existing flows in the network, or whether the incoming flow is going to have an unacceptable QoE given the existing flows in the network. Also, the region defining engine (212) can classify how existing flows QoE will be affected by the addition of an incoming flow.
[0050] In other words, the engine (212) determines whether the additional flow will lead to a traffic matrix that includes the additional flow, which is inside or outside of the experiential capacity region (Fig. 1 , 100). A grouping of flows whose QoEs can be satisfied by the network define the experiential capacity region (Fig. 1 , 100) for the network.
[0051] In this example, by gathering QoEs for incoming flows and determining their effect on the existing networks, the region defining engine (212) can generate a model, i.e., an experiential capacity region (Fig. 1 , 1 00) wherein the network provides service to customers at levels that satisfy the individual flow QoE thresholds.
[0052] When in the operating phase, the region defining engine (212) continues to estimate QoE per incoming application flow and its effect on the existing flows. The region defining engine (21 2) also continues to modify the classification of different incoming flows. For example, as network conditions change, the affect an incoming flow has on a traffic matrix may also change. Accordingly, during the operating phase, the region defining engine (212) continues to estimate QoE values and to classify those flows based on their effect to the QoE values of the flows in the existing traffic matrix. In so doing, the region defining engine (212) further refines the capacity region (Fig. 1 , 1 00). In this fashion, the engine (212) is able to update the capacity region (Fig. 1 , 100) based on changes to the network conditions, which changes are prevalent in many networks, specifically mobile networks. As such, the region defining engine (212) is capable of providing a real-time indication of network capacity, thus enhancing the efficiency of network capacity measurements. In other words, in the learning phase, the system (206) estimates QoE for the various flows and classifies incoming flows as either acceptable or unacceptable based on the impact of those flows on the QoE of the traffic matrix flows while not performing admission control. By comparison, in the operating phase, the system (206) similarly estimates QoE, but in this phase, performs admission control of the incoming flows.
[0053] The region defining engine (212) is useful in that it learns the experiential capacity region (Fig. 1 , 1 00) by actually observing traffic in the network. Specifically, learning the experiential capacity region (Fig. 1 , 100) by permeating every possibility of users and types of applications and numbers of flows results in such a high number of possibilities that determining a database of all the possible combinations would be very difficult if not impossible.
Accordingly, the present system (206) avoids such a complex consideration of all the possible combinations by determining the experiential capacity region based on a few observations and machine learning. Moreover, as in networks such as mobile networks, the capacity region may change. For example, in wireless networks characteristics such as channel interference, propagation losses, multi-path fading, and user mobility introduce random losses and bandwidth fluctuations in these networks. The region defining engine (212) thus continually re-learns the experiential capacity region (Fig. 1 , 100) by retraining a classifier; thereby accounting for, and adapting to, changes in a network and client population.
[0054] The system (206) also includes an admission control engine (214) to allow or disallow the incoming traffic based on the classification. When in the learning phase, the admission control engine (214) is inactive in that all traffic is allowed to pass through to the network. That is, when in the learning phase, no flows are prevented entry into the network. Doing so ensures that an accurate model, i.e., experiential capacity region (Fig. 1 , 100), for the network is defined. Then, when in the operating phase, the admission control engine (214) determines whether a particular flow will be allowed onto the network based on its effect to the QoE for the existing flows and the particular flow. For example, if the addition of the flow will result in a sub-threshold QoE for the additional flow, or for any of the existing flows, the additional flow will be blocked from the network, perhaps to be redirected to another network. By comparison, if the addition of the flow will result in a QoE for all the existing flows that is at least as great as the QoE thresholds for those flows, the additional flow will be admitted to the network.
[0055] Fig. 3 is a flow diagram of a method (300) for managing network traffic using experiential capacity, according to one example of the principles described herein. As a general note, the methods (300, 500) may be described below as being executed or performed by at least one device, for example, an electronic device. Other suitable systems and/or computing devices may be used as well. The methods (300, 500) may be implemented in the form of executable instructions stored on at least one machine-readable storage medium of at least one of the devices and executed by at least one processor of at least one of the device. Alternatively or in addition, the methods (300, 500) may be implemented in the form of electronic circuitry (e.g., hardware). While Figs. 3 and 5 depict operations occurring in a particular order, a number of the operations of the methods (300, 500) may be executed concurrently or in a different order than shown in Figs. 3 and 5. In some examples, the methods (300 and 500) may include more or less operations than are shown in Figs. 3 and 5. In some examples, a number of the operations of the methods (300 and 500) may, at certain times, be ongoing and/or may repeat.
[0056] According to the method (300), an experiential capacity region (Fig. 1 , 100) for the network is determined (block 301 ). As described above, the experiential capacity region (Fig. 1 , 100) is a region that indicates whether a certain number of flows of multiple application classes can be operated at the same time within a network, all while satisfying the different QoE thresholds of each application flow. Note that the determination (block 301 ) of the experiential capacity region (Fig. 1 , 100) occurs in a learning phase (316) of the method (300). As described above, when in the learning phase (316) no flows are denied entry into the network such that an accurate picture of how different types and numbers of flows affect different network configurations.
[0057] The experiential capacity region (Fig. 1 , 100) may indicate how many flows of multiple heterogeneous applications can be run. For example, in today's society many different kinds of application classes including a web- browsing class, an audio-streaming class, a video conferencing class, and a video streaming class to name a few. While specific reference is made to a few types of classes, many types of application classes rely on networks such as mobile networks. Still further, the experiential capacity region (Fig. 1 , 100) may be for a multi-user, multi-application network configuration.
[0058] In determining (block 301 ) the experiential capacity region (Fig. 1 , 100), a region defining engine (Fig. 2, 212) estimates the quality of experience values for the various application flows and then determines whether the values are acceptable, the division between those that are acceptable and those that are not acceptable can be visualized as the boundary of the experiential capacity region (Fig. 1 , 100). This may be performed without input from the devices that access the network. In other words, the system (Fig. 2, 206) does not assume any support or feedback from client devices in learning the QoE of each flow. These devices will connect to the network to run the application flows; however, they are not modified or customized to support the QoE-aware admission control logic. In other words, an experiential capacity region (Fig. 1 , 100) can be determined (block 301 ) independently of the devices that access the network. Doing so facilitates a growing trend towards "bring your own device" network configurations where the devices that are to access a network are brought by users. Still further a capacity determination made from the infrastructure also gives a global view of the network and centralized control allows operation of multiple network technologies.
[0059] By operating independently of the devices that access the network, determining (block 301 ) the experiential capacity region (Fig. 1 , 100) first begins by observing per-flow Quality of Service metrics for the network. Examples of such per-flow QoS metrics include channel conditions, throughput, delay, loss and jitter. These may be collected form measurements taken on the network. Next, a mapping is generated between a per-flow QoS and a per-flow QoE. QoE is different from QoS because QoE is application specific, while QoS is network specific. For example, a Voice over internet protocol (VoIP) application is a delay sensitive application. For example, on a network with 1 megabits per second (Mbps) bandwidth and a 1 0 millisecond (ms) delay, the VoIP application will have acceptable QoE as the delay is quite low. By comparison, a video streaming application is bandwidth sensitive and will have an unacceptable QoE on the same network (i.e., 1 Mbps bandwidth and 10 ms delay). Accordingly, even though the QoS may be the same, the QoE can be different. Table 1 below presents textual description of conversions between QoS and QoE for various application classes.
Figure imgf000019_0001
Table (1 )
[0060] The mapping between the per-flow QoS and the per-flow QoE takes into account not only the throughput/delay/loss for a particular flow, but network conditions such as how many devices are on the network, what types of devices are on the network, and other factors. Put another way, the mapping from a QoS-value to a QoE-value determines how a QoS translates into a QoE for a given network and given application class. For example, a relationship may exist between QoS and QoE for a video streaming application, which includes constants representative of the conditions of the network. The system (Fig. 2, 206) is used to empirically determine the constants used to define this relationship. In one example, this relationship can be represented as Equation (1 ) below:
QoE = α + ββ YQOS Equation (1 ). [0061] As mentioned, the system (Fig. 2, 206), for example by using a training device, empirically determines the constants of Equation (1 ).
[0062] Next, policies may be used to determine whether a particular QoE for a particular application flow is satisfactory. For example, the policies may be Yes/No policies where an administrator or other individual can specify certain experiences that are unsatisfactory or those that are satisfactory. For example, a network administrator may note that a page load time of more than five seconds is unsatisfactory. In other examples, the per-flow quality of experience is classified into one of two or more classes. For example, a network administrator may note that a page load time of 0-2 seconds is "good," a page load time of 2-5 seconds is "fair," and that a page load time of more than 5 seconds is "bad." With a knowledge of these various QoE values, the system can determine whether or not flows that are requesting to be added to the network can do so without dropping the quality of experience outside of the capacity region (Fig. 1 , 100).
[0063] Accordingly, it can be determined (block 302) whether a flow is to be added to the network based on whether addition of the flow leads to a traffic matrix outside of the experiential capacity region (Fig. 1 , 100) for the network. For example for the experiential capacity region (Fig. 1 , 100) identified in Fig. 1 , if the current configuration of the network includes six flows of a first class and three flows of the second class, i.e. the point (6, 3), the addition of one more flow of the first class or one more flow of the second class is not going to result in a traffic matrix outside of the experiential capacity region (Fig. 1 , 100).
Accordingly, the flow will likely be allowed to transfer via the network. By comparison, if the current configuration of the network includes seven flows of the first class and three flows of the second class, i.e. the point (7, 3), the addition of either a flow of the first class or a flow of the second class will lead to a traffic matrix outside the experiential capacity region (Fig. 1 , 100).
Accordingly, the flow will likely be denied to transmit within the network and may instead be routed to another network. Note that this determination of whether to allow a flow or not occurs in an operating phase (318) of the method (300). More detail regarding the operating phase is provided below. [0064] Still while in the operating phase (318), the experiential capacity region (Fig. 1 , 100) is updated (block 303) based on 1 ) the termination and activation of various flows and 2) other network conditions such as interference, fading, and user mobility. For example, as described above, some networks are unique in that the devices that access the network, and therefore the networks capacity to handle different flows, is constantly changing. For example users may leave an area, which frees up resources of the network to be dedicated to other flows and application classes. Still further network conditions such as interference and multi-path fading may also change. Accordingly, in the method (300), these changing circumstances are considered and added to the model that is used to calculate the experiential capacity region (Fig. 1 , 1 00) for the network. The method (300) described herein may allow for the continuous exploration of the capacity of dynamic networks, such as wireless networks.
[0065] Fig. 4 is a diagram of a system for managing network traffic using experiential capacity, according to one example of the principles described herein. As described above, the system (206) estimates a QoE of various flows that enter the network (424). To this end, the system (206) relies on a training device (420) to learn the QoS-to-QoE mapping. For example, under a particular load setting, i.e., network conditions, the training device (420) can run a particular flow and measures its QoE directly. From known QoS values of the network components, and the end QoE via the training device (420), the region defining engine (212) generates a mapping between the two. Put another way, the mapping from a QoS to a QoE may be represented as a mathematical relationship wherein QoS is multiplied by various constants. The training device (420) is used to calculate these constants so that a QoE for any given QoS can be estimated for a given load setting.
[0066] Fig. 4 also illustrates the various functions of the different components in the learning phase (Fig. 3, 316) and the operating phase (Fig. 3, 318). In the learning phase (Fig. 3, 316) the region defining engine (212) focuses on defining the experiential capacity region (Fig. 1 , 100). This includes relying on the training device (420), in part, to generate a mapping between per- flow QoS values and per-flow QoE values. It also includes receiving and allowing to pass to the network (424), flows from the client device (422). As described above, the admission control engine (214) is inactive during the learning phase (Fig. 3, 316) and all traffic is allowed to pass.
[0067] During the operating phase, the region defining engine (212) is continually updating the capacity region (Fig. 1 , 100) model by continuing to determine QoE for incoming traffic and classifying the flows based on the effect of its inclusion on the rest of the flows in the network. However in the operating phase (Fig. 3, 31 8), the admission control engine (214) is activated to either allow or disallow traffic based on whether the additional flow is inside or outside of the capacity region (Fig. 1 , 1 00).
[0068] In some examples, the system (206) may be used in load- balancing between various networks (424). For example, in a given area, a Wi- Fi network and an LTE network may both be available to accommodate traffic. Accordingly, the region defining engine (212) in addition to determining per-flow QoE, may also calculate a network-wide QoE. This network-wide QoE may be a statistical mean or median of the per-flow QoEs of the traffic matrix. In the event that both networks (424) can accommodate traffic, the flow would be routed to the network (42) with the higher QoE.
[0069] Fig. 5 is a flow diagram of a method (500) for managing network traffic using experiential capacity, according to one example of the principles described herein. According to the method (500) the system (Fig. 2, 206), in a learning phase (316), determines a capacity region (Fig. 1 , 100) for the network. Specifically, a per-flow quality of service for the application flows is measured (block 501 ). For example, the system (Fig. 2, 206) monitors the network components to determine per-flow QoS. Such things that are monitored include delay, loss, jitter, and throughput.
[0070] From these values a QoE can be mapped (block 502). In mapping the QoS values to QoE values, the system considers other factors than just the QoS values. As such a QoE representation is more indicative of a user's experience as it considers more than just throughput, and it is a multidimensional metric as opposed to QoS which is a single dimensional metric. [0071] With this mapping, each per-flow QoE value can be classified (block 503) thereby defining the capacity region (Fig. 1 , 1 00). More specifically, whether a QoE is satisfactory or not is determined by established policies that can be set by an administrator. Those groupings of flows with QoE thresholds that are satisfied for a given configuration define the boundary of the
experiential capacity region (Fig. 1 , 1 00) for the network.
[0072] Then in an operating phase (318), traffic is admitted or denied from being transmitted over the network (Fig. 4, 424) based on the experiential capacity region (Fig. 1 , 100). Specifically, a flow that does not result in traffic matrix is outside the experiential capacity region (Fig. 1 , 100) is allowed (block 504) to transmit across the network (Fig. 4, 424) while flows that do result in a traffic matrix that is outside the experiential capacity region (Fig. 1 , 100) are prevented (block 505) from being added to the network. Still during the operating phase (318), flows and QoEs are continually monitored so as to update (block 506) the experiential capacity region (Fig. 1 , 100) as flows activate and terminate over the course of time.
[0073] Updating (block 506) the experiential capacity region (Fig. 1 , 100) may include updating the classification model used by the region defining engine (Fig. 2,212). For example, as users go out of range of the network (Fig. 4, 424), the network capacity may change. Accordingly, the region defining engine (Fig. 2, 21 2) may classify incoming flows differently than when those users were still in range of the network (Fig. 4, 424). In another example, when a user does not leave a network range, but moves farther away from a wireless access point, the associated QoE may worsen. In such a case, the region defining engine (Fig. 2, 21 2) may classify that flow incorrectly and may re-learn the experiential capacity region (Fig. 1 , 100).
[0074] Fig. 6 is a diagram of an electronic device (626) using experiential capacity regions (Fig. 1 , 100), according to one example of the principles described herein. The electronic device (626) includes a processor (208) and a machine-readable storage medium (628). Although the following descriptions refer to a single processor (208) and a single machine-readable storage medium (628), the descriptions may also apply to an electronic device (626) with multiple processors and multiple machine-readable storage mediums. In such examples, the instructions may be distributed (e.g., stored) across multiple machine-readable storage mediums and the instructions may be distributed (e.g., executed by) across multiple processors.
[0075] The processor (208) may include at least one processor and other resources used to process programmed instructions. For example, the processor (208) may be a number of central processing units (CPUs), microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions stored in machine-readable storage medium (628). In the electronic device (626) depicted in Fig. 6, the processor (208) may fetch, decode, and execute instructions (630, 632, 634, 636, 638) to power up and down the electronic device (626). As an alternative or in addition to retrieving and executing instructions, the processor (208) may include a number of electronic circuits comprising a number of electronic components for performing the functionality of a number of the instructions in the machine-readable storage medium (628). With respect to the executable instruction representations (e.g., boxes) described and shown herein, it should be understood that part or all of the executable instructions and/or electronic circuits included within one box may, in alternate examples, be included in a different box shown in the figures or in a different box not shown.
[0076] The machine-readable storage medium (628) represent generally any memory capable of storing data such as programmed instructions or data structures used by the electronic device (626). The machine-readable storage medium (628) includes a machine readable storage medium that contains machine readable program code to cause tasks to be executed by the processor (208). The machine-readable storage medium (628) may be tangible and/or non-transitory storage medium. The machine-readable storage medium (628) may be any appropriate storage medium that is not a transmission storage medium. For example, the machine-readable storage medium (628) may be any electronic, magnetic, optical, or other physical storage device that stores executable instructions. Thus, machine-readable storage medium (628) may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like. The machine-readable storage medium (628) may be disposed within the electronic device (626), as shown in Fig. 6. In this situation, the executable instructions may be "installed" on the electronic device (626).
Alternatively, the machine-readable storage medium (628) may be a portable, external or remote storage medium, for example, that allows the electronic device (626) to download the instructions from the portable/external/remote storage medium. In this situation, the executable instructions may be part of an
"installation package". As described herein, the machine-readable storage medium (628) may be encoded with executable instructions for dual-power reception.
[0077] Referring to Fig. 6, per-flow QoS instructions (630), when executed by a processor (208), may cause the electronic device (626) to measure a per-flow QoS for at least one application flow. QoS mapping instructions (632), when executed by a processor (208), may cause the electronic device (626) to map the per-flow QoS to a per-flow QoE for the at least one application flow. QoE classify instructions (634), when executed by a processor (208), may cause the electronic device (626) to classify the per-flow QoE based on at least one experience policy for the network. Admission instructions (636), when executed by a processor (208), may cause the electronic device (626) to 1 ) allow a flow to be added to the network when addition of the flow leads to a traffic matrix that is within the capacity region of the network and 2) prevent a flow from being added to the network when doing so leads to a traffic matrix that is outside of the capacity region for the network. The update instructions (638), when executed by a processor (208), may also cause the electronic device (626) to update the capacity region for the network based on changes to network conditions, i.e., termination and activation of a number of flows, changing interference, multi-path fading, and user mobility.
[0078] In some examples, the processor (208) and machine-readable storage medium (628) are located within the same physical component, such as a server, or a network component. The machine-readable storage medium (628) may be part of the physical component's main memory, caches, registers, non-volatile memory, or elsewhere in the physical component's memory hierarchy. Alternatively, the machine-readable storage medium (628) may be in communication with the processor (208) over a network. Thus, the electronic device (626) may be implemented on a user device, on a server, on a collection of servers, or combinations thereof.
[0079] The electronic device (626) of Fig. 6 may be part of a general purpose computer. However, in alternative examples, the electronic device (626) is part of an application specific integrated circuit
[0080] Aspects of the present system and method are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to examples of the principles described herein. Each block of the flowchart illustrations and block diagrams, and combinations of blocks in the flowchart illustrations and block diagrams, may be implemented by computer usable program code. The computer usable program code 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 machine-readable program code, when executed via, for example, the processor (Fig. 2, 208) of the computing system or other programmable data processing apparatus, implement the functions or acts specified in the flowchart and/or block diagram block or blocks. In one example, the computer usable program code may be embodied within a computer readable storage medium; the computer readable storage medium being part of the computer program product. In one example, the computer readable storage medium is a non-transitory computer readable medium.
[0081] Using an adaptive determination of an experiential capacity region which is based on quality of experience 1 ) allows for more efficient
determination of network capacity by accounting for multiple application use on a network; 2) prevents the blind over-provisioning of network infrastructure; 3) accounts for network capacity that changes over time; 4) facilitates efficient admission control by a) allowing or disallowing network traffic based on whether a satisfactory qualify of experience can be delivered and b) selecting among multiple networks, the best network to route traffic to in order to satisfy the experience thresholds for the multiple applications. However, it is contemplated that the devices disclosed herein may prove useful in addressing other matters and deficiencies in a number of technical areas. Therefore the systems and methods disclosed herein should not be construed as addressing any of the particular matters.
[0082] The preceding description has been presented to illustrate and describe examples of the principles described. This description is not intended to be exhaustive or to limit these principles to any precise form disclosed. Many modifications and variations are possible in light of the above teaching.

Claims

CLAIMS WHAT IS CLAIMED IS:
1 . A method comprising:
in a learning phase, determining an experiential capacity region for a network, in which the experiential capacity region indicates how many flows of multiple application classes are run on a network while satisfying per-flow quality of experience thresholds for the flows; and
in an operating phase:
determining whether a flow is to be added to the network based on whether addition of the flow leads to a traffic matrix that is outside of the experiential capacity region for the network; and updating the experiential capacity region based on changes in network conditions.
2. The method of claim 1 , wherein the multiple application classes are heterogeneous application classes.
3. The method of claim 1 , wherein determining an experiential capacity region for the network comprises:
measuring a per-flow quality of service level for at least one flow; mapping the per-flow quality of service to a per-flow quality of experience for the at least one application flow; and
classifying the per-flow quality of experiences based on at least one experience policy for the network.
4. The method of claim 3, wherein a per-flow quality of experience is classified into one of two or more classes.
5. The method of claim 3, further comprising computing a network-wide quality of experience as a statistical mean or statistical median of the per- flow quality of experience values.
6. The method of claim 1 , wherein when in the learning phase, no flows are prevented entry into the network.
7. The method of claim 1 , wherein the experiential capacity region is calculated for a multi-user multi-application network configuration.
8. A system for defining an experiential capacity region comprising: a processor;
memory communicatively coupled to the processor;
a region defining engine to:
estimate a per-flow quality of experience from a per-flow quality of service for multiple application flows running on the network;
classify incoming traffic as acceptable or unacceptable based on estimated per-flow quality of experience for multiple flows; and update the capacity region based on changes to a network conditions; and
an admission control engine to allow or disallow the incoming traffic based on the classification.
9. The system of claim 8, wherein the network is a mobile network.
10. The system of claim 8, wherein the system is in the form of a wireless access point comprising the memory, the processor, the region defining engine, and the admission control engine.
1 1 . The system of claim 8, wherein the system is in the form of a long- term evolution (LTE) base station comprising the memory, the processor, the region defining engine, and the admission control engine.
12. The system of claim 8, wherein the system further comprises a training device in the network to map the quality of service values for multiple applications to quality of experience values for the multiple applications.
13. A non-transitory machine-readable storage medium encoded with instructions, the instructions executable by a processor to cause the processor to:
in a learning phase:
measure a per-flow quality of service for at least one application flow;
map the per-flow quality of service to a per-flow quality of experience for the at least one application flow; and
classify the per-flow quality of experiences based on at least one experience policy for the network, wherein a grouping of application flows classified as having satisfactory quality of
experience define in part an experiential capacity region; and in an operating phase:
allow a flow to be added to the network when addition of the flow leads to a traffic matrix that is within the experiential capacity region for the network;
prevent a flow from being added to the network when addition of the flow leads to a traffic matrix that is outside of the experiential capacity region for the network;
update the experiential capacity region for the network based on changes to network conditions.
14. The machine-readable storage medium of claim 13, further
comprising instructions to calculate the per-flow quality of experience values independent of client device support.
15. The machine-readable storage medium of claim 13, further comprising instructions to estimate how an addition of a flow to the network affects the experiential capacity region for the network.
PCT/US2016/015192 2016-01-27 2016-01-27 Managing network traffic using experiential capacity WO2017131674A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2016/015192 WO2017131674A1 (en) 2016-01-27 2016-01-27 Managing network traffic using experiential capacity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2016/015192 WO2017131674A1 (en) 2016-01-27 2016-01-27 Managing network traffic using experiential capacity

Publications (1)

Publication Number Publication Date
WO2017131674A1 true WO2017131674A1 (en) 2017-08-03

Family

ID=59399008

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/015192 WO2017131674A1 (en) 2016-01-27 2016-01-27 Managing network traffic using experiential capacity

Country Status (1)

Country Link
WO (1) WO2017131674A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669788A (en) * 2020-05-22 2020-09-15 中国联合网络通信集团有限公司 Service rate guaranteeing method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030148768A1 (en) * 2002-02-01 2003-08-07 Naveen Kakani Method and system for service rate allocation, traffic learning process, and QoS provisioning measurement of traffic flows
US8280994B2 (en) * 2006-10-27 2012-10-02 Rockstar Bidco Lp Method and apparatus for designing, updating and operating a network based on quality of experience
WO2014173466A1 (en) * 2013-04-26 2014-10-30 Nec Europe Ltd. Method for operating a wireless network and a wireless network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030148768A1 (en) * 2002-02-01 2003-08-07 Naveen Kakani Method and system for service rate allocation, traffic learning process, and QoS provisioning measurement of traffic flows
US8280994B2 (en) * 2006-10-27 2012-10-02 Rockstar Bidco Lp Method and apparatus for designing, updating and operating a network based on quality of experience
WO2014173466A1 (en) * 2013-04-26 2014-10-30 Nec Europe Ltd. Method for operating a wireless network and a wireless network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D AVID SOLDANI ET AL.: "IEEE Communications Magazine", TRAFFIC MANAGEMENT FOR MOBILE BROADBAND NETWORKS, vol. 49, no. 10, 6 October 2011 (2011-10-06), pages 98 - 100, XP011385321 *
J EONG-ROK YANG ET AL.: "Capacity plane of CDMA system for multimedia traffic", ELECTRONICS LETTERS, vol. 33, no. 17, 14 August 1997 (1997-08-14), pages 1432 - 1433, XP006007843 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669788A (en) * 2020-05-22 2020-09-15 中国联合网络通信集团有限公司 Service rate guaranteeing method and device
CN111669788B (en) * 2020-05-22 2022-05-13 中国联合网络通信集团有限公司 Method and device for guaranteeing service rate

Similar Documents

Publication Publication Date Title
US11509589B2 (en) Method and system for managing service quality according to network status predictions
Wang et al. SQUAD: A spectrum-based quality adaptation for dynamic adaptive streaming over HTTP
US10447594B2 (en) Ensuring predictable and quantifiable networking performance
Scoca et al. Scheduling latency-sensitive applications in edge computing
US20150236962A1 (en) Method and system for using dynamic bandwidth detection to drive quality of service control refinement
EP2456142A1 (en) Methods and apparatus for detecting and limiting focused server overload in a network
Seppänen et al. An autonomous QoE-driven network management framework
Hoßfeld et al. Can context monitoring improve QoE? A case study of video flash crowds in the internet of services
Petrangeli et al. A machine learning-based framework for preventing video freezes in HTTP adaptive streaming
US11490149B2 (en) Cap-based client-network interaction for improved streaming experience
Krishnamoorthi et al. Slow but steady: Cap-based client-network interaction for improved streaming experience
BR102016002826A2 (en) method, system, and device for managing congestion in network services
Cofano et al. A control architecture for massive adaptive video streaming delivery
Chen et al. FlowTele: Remotely shaping traffic on internet-scale networks
Hoßfeld et al. Quality of experience management for youTube: clouds, foG and the aquareYoum
Ahmad et al. Timber: An SDN based emulation platform for QoE management experimental research
Hayamizu et al. QoE-aware bitrate selection in cooperation with in-network caching for information-centric networking
WO2017131674A1 (en) Managing network traffic using experiential capacity
Oliveira et al. QoE-based load balancing of OTT video content in SDN networks
Villa et al. Improving fairness for adaptive http video streaming
AT&T CMSY8
Park et al. Client-side rate adaptation scheme for HTTP adaptive streaming based on playout buffer model
Metzger et al. Context monitoring for improved system performance and QoE
Hiraoka et al. A Progressive Download Method Using Multiple TCP Flows on Multiple Paths
Ghobadi et al. TCP adaptation framework in data centers

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16888406

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16888406

Country of ref document: EP

Kind code of ref document: A1