This invention relates generally to quality of service management on a network.
Typically, a user application has a fixed desired level of quality of service, such as data priorities. When a user is using multiple applications, however, this fixed quality of service as assigned to these applications may not be appropriate for the current main activity of the user. For example, a user may be simultaneously using multiple high bandwidth applications, which is becoming more typical, such as a video streaming application, a file download, and web browsing. The user, under these circumstances, often has a severely limited transport connection to the Internet, especially on a cellular network.
Current priority schemes will generally prioritize the flows associated with the applications in the following order of streaming, browsing, and downloading. The user, though, may move the Internet browser window over the streaming window, which usually indicates that the user has expressed a temporary desire to concentrate on browsing rather than watching the video. In cases such as this, the aforementioned fixed flow priority scheme is misplaced and inefficient.
The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views and which together with the detailed description below are incorporated in and from part of the specification, serve to further illustrate various embodiments and to explain various principles and advantages all in accordance with the present invention.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve understanding of various embodiments of the present invention. Also, common and well-understood elements that are useful or necessary in a commercially feasible embodiment are typically not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention.
Generally speaking, pursuant to these various embodiments, a change in user interest level of a user application of a client device in communication with a network infrastructure at a first quality of service level is assessed. In response, the quality of service associated with the user application is dynamically changed to a second quality of service level, while keeping the user application active, based, at least in part, on the change in user interest level of the user application.
In a specific embodiment, prior to the assessment of the change in user interest level, the user application is initiated at the first quality of service level. For another embodiment, the user application is a video stream such that the first quality of service level is associated with video portion of the video stream and the second quality of service level is associated with the audio portion of the video stream. According to one embodiment, the first quality of service level is provided from the client device to the network infrastructure via a first quality of service profile identifier. In an embodiment, the second quality of service level is provided from the client device to the network infrastructure via a second quality of service profile identifier.
For one embodiment, a quality of service associated with a second user application is further dynamically changed based, at least in part, on the change in user interest level of the user application. Also in various embodiments, a quality of service of another user who is in communication with the network infrastructure and/or a user of the user application is dynamically changed based, at least in part, on the change in user interest level of the user application.
According to various embodiments, at least one user application of a client device communicating through a network infrastructure is tracked. A change in user interest level of the user application(s) is detected to provide at least one detected change. An indication of the detected change is sent to the network infrastructure, wherein a quality of service associated with the user application(s) is dynamically changed based, at least in part, on the detected change. In one specific embodiment, the indication further includes a request to change the current quality of service of the user application(s) based, at least in part, on the detected change.
According to various embodiments, an apparatus is further provided with a controller circuit that tracks at least one user application in a client device in communication with a network infrastructure and detects a change in user interest level of the user application(s) in order to provide at least one detected change. Moreover, a transceiver coupled to the controller circuit is included to send an indication of the at least one detected change to the network infrastructure, wherein a quality of service associated with the user application(s) is/are dynamically changed based, at least in part, on the at least one detected change. For a particular embodiment, the controller circuit further sends a request to change a current quality of service based, at least in part, on the at least one detected change.
According to various embodiments, a computer-readable medium having thereon computer-executable instructions is further included, which tracks at least one user application in a client device in communication with a network infrastructure, detects a change in user interest level of the at least one user application to provide at least one detected change, and sends an indication of the at least one detected change to the network infrastructure, wherein a quality of service associated with the at least one user application is dynamically changed based, at least in part, on the at least one detected change.
According to various embodiments, the assessment of the change in user level of the user application includes a user specified switch of priority of at least the first user application, a second application at the client device being initiated, a triggered mute function in the client device, a triggered energy conservation function in the client device, a detection of a user of the client device being away from the client device, a screensaver being activated, a backlight being extinguished, an actuator being triggered in a user chair, a detection by a camera of a user being away, an expiration of an inactivity timer, a short range wireless connection being lost, a user modification of a numerical priority associated with the user application, a user adjustment of a slider on a window, a detection of occluding of a window associated with the user application, a change in audio volume at the client device, a triggered download of a web browser plug-in, a triggered user of a web browser plug-in, and/or a detection of presence state of at least one user of the client device.
In various embodiments, dynamic changes in the quality of service to the client device includes, but is not limited to, a dedication of resources to a higher priority user activity, a reduction of resources for a user activity that has been temporarily suspended, a reduction of resources for a user activity that has been de-prioritized, a change in data flow priority, a change in user priority, a change in an application priority, a change in latency, a change in jitter characteristics, a change in frame erasure rate, a change in bit error rate, a change in power control setting, a change in number of resources assigned to data flow of the user application, a change in modulation rate, a change in modulation type, a change in encoding rate, a change in speech encoding rate, a change in video encoding rate, a change in encoding type, a change in speech encoding type, and/or a change in video encoding type.
According to various embodiments, at least one user application in a client device in communication with a network infrastructure is tracked. A change in user interest level of the user application(s) is detected to provide at least one detected change. An indication of the detected change is sent to the network infrastructure, wherein a quality of service associated with the user application(s) is dynamically changed based, at least in part, on the detected change.
Through the embodiments of various teachings, a more intelligent flow priority arrangement has been provided that, among other things, considers the user interest of the client device, instead of following the predefined priority flows of the user applications. As a result, the flow priorities of the user applications match more closely to the current priorities desired by the user instead of the system configurations. This can be especially important when the bandwidth resources are limited, such as in the case of wireless network.
Referring now to the drawings, and in particular to
Pursuant to this example, a client device 102 communicates with a base station (“BS”) 104 that is operably coupled to a radio network controller (“RNC”) 106 via a wireless network 108. As commonly known in the art, the RNC 106 typically controls multiple BSs 104 (one shown) for data transmission between the client device 102 and the serving BS 104. In this example, typical of a general communication network, the client device 102 sends requests and/or data to the serving BS 104, which, in turn, forwards the requests and/or data to the RNC for processing.
The BS 104 and the RNC 106, as shown, cooperatively route data to multiple client devices 102 (one shown), but depending upon the system, the network may include other components with different arrangement of these components. Thus, the communication system 100 shown is only one of many typical exemplary structures of a cellular communication network that is suitable for use with various described embodiments. Moreover, the RNC 106 along with the BS 104 will herein be referred to as a network infrastructure 110 to emphasize that the data exchange may include communications with either or both the RNC and the BS, depending upon the configuration of the system.
Turning now to
A dynamic change in the quality of service association with a user application of the client device 200 may be triggered for multiple reasons. Specifically, a controller circuit 202 is included that tracks at least one user application in a client device in communication with a network infrastructure and detects a change in user interest level of the at least one user application to provide at least one detected change. A transceiver 204, which is coupled to the controller circuit 202, sends an indication of the at least one detected change to the network infrastructure, wherein a quality of service associated with the at least one user application is dynamically changed based, at least in part, on the at least one detected change. As typically found in a transceiver, both a transmitter circuit 206 and a receiver circuit 208 are also provided.
The one or more detected change may include, according to various embodiments, a user specified switch of priority of at least the first user application, initiating of a second application at the client device, a triggered mute function in the client device, a triggered energy conservation function in the client device, a detection of a user of the client device being away from the client device, a screensaver being activated, a backlight being extinguished, an actuator being triggered in a user chair, a detection by a camera of a user being away, an expiration of an inactivity timer, a short range wireless connection being lost, a user modification of a numerical priority associated with the user application, a user adjustment of a slider on a window, a detection of occluding of a window associated with the user application, a change in audio volume at the client device, a triggered download of a web browser plug-in, a triggered user of a web browser plug-in, and a detection of presence state of at least one user of the client device.
Moreover, depending upon the communications system, the quality of service associated with the user application may be dynamically changed as a dedication of resources to a higher priority user activity, a reduction of resources for a user activity that has been temporarily suspended, a reduction of resources for a user activity that has been de-prioritized, a change in data flow priority, a change in user priority, a change in an application priority, a change in latency, a change in jitter characteristics, a change in frame erasure rate, a change in bit error rate, a change in power control setting, a change in number of resources assigned to data flow of the user application, a change in modulation rate, a change in modulation type, a change in encoding rate, a change in speech encoding rate, a change in video encoding rate, a change in encoding type, a change in speech encoding type, and/or a change in video encoding type.
A user interface 210 is also provided, which includes a user input 212, a display 214, and an audio output 216. In various embodiments, a memory circuit 218 is also included along with a temporary memory circuit 220 and a permanent memory circuit 222 for storing and maintaining needed predefined condition(s) for triggering the detection of the change in user interest level. Moreover, the memory circuit 218 can also be used as a computer-readable medium to store the computer-executable instructions implemented with the various embodiments of the invention.
Turning now to
And as such, other embodiments of the management process are contemplated and are within the scope of he various teachings shown. Moreover, as one skilled in the art would readily appreciate, any of the processes shown can be altered in multiple ways to achieve the same functions and results of the various teachings described. As a result, these processes shown are one exemplary embodiment of multiple embodiment variations that may not be specifically shown. These other embodiments, however, are within the scope of the various teachings described.
In this particular example shown, the process starts 302 with an initiation 304 of a quality of service that is associated with a user application of a client device in communication with a network infrastructure at a first quality of service level. A change in the user interest level of the user application is then assessed 306, and in response, the quality of service associated with the user application is then dynamically changed 308 to a second quality of service, while keeping the user application active, based, at least in part, on the change in user interest level of the user application. In other specific embodiments, the quality of service associated with a second user application is also dynamically changed 310 based, at least in part, on this change in user interest level of the user application.
As an example, if the user switched an Internet browser window on top of a previous window that was streaming video data, in this case, the user application of the streaming video data may be changed to a lower priority flow while the second user application of the Internet browser window is also changed to a higher priority flow. This is, of course, one of the many examples of how the various teachings can be used. Moreover, the quality of service, in various embodiments, relates to the data delivery, transport, and/or infrastructure of the application. The application, itself, is still controlled by the operating system.
In another embodiment, specifically in the case of when the user application may affect another user communicating through the network infrastructure, the quality of service of this other user may also be dynamically changed 312. Anther scenario is when a user of the user application is in direct communication with another user via the user application, the quality of service of this other user may also be dynamically changed 314 in addition to the user application.
The process, as shown in this embodiment, ends 316 at this point. Of course, there are practically unlimited ways to implement management of quality of service of the user application according to user interest level of the user application for creating a more efficient delegation of network resources. For example, in a push to talk application, one way to adjust the quality of service is that when a first user mutes, the quality of service of the data stream to a second user communicating with the first user can be reduced. Since one skilled in the art can readily appreciate these various implementations, multiple embodiments are included even if they have not been specifically shown.
Turning now to
Through the embodiments of various teachings, a more intelligent flow priority arrangement has been provided that, among other things, considers the user interest of the client device, instead of following the predefined priority flows of the user applications. As a result, the flow priorities of the user applications match more closely to the current priorities desired by the user instead of the system configurations. This is especially important when the bandwidth resources are limited, such as in the case of wireless network.
Those skilled in the art will recognize that a wide variety of modifications, alterations, and combinations can be made with respect to the above described embodiments without departing from the spirit and scope of the invention, and that such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept.