Abstract: Accordingly, the present invention provides a method and apparatus for managing bandwidth allocation to a mobile terminal through which different applications are possibly accessed such that for a predetermined overall bandwidth, a combined quality of experience measure reaches a maximum or for a predetermined combined quality of experience measure, a modified overall bandwidth allocation is lesser than an initial overall bandwidth allocation. In the method, the combined quality of experience measure indicates a quality of experience perceived by the user for all applications and is summation of quality of experience measure for the different applications, wherein the quality of experience measure for a particular application is summation of network related quality of experience measure for that particular application and subscriber related quality of experience measure for that particular subscriber for that particular application and wherein the subscriber related quality of experience measure considers Popularity and Personalization Index.
CLIAMS:WE CLAIM:
1. A method of managing bandwidth allocation to a mobile terminal through which a subscriber possibly access different applications, said method comprising:
• allocating a predetermined overall bandwidth to the mobile terminal;
• registering the applications accessed by the mobile terminal and allocating to each application an initial bandwidth;
• calculating an initial combined quality of experience measure, wherein the combined quality of experience measure indicates a quality of experience perceived by the user for all applications and is summation of quality of experience measure for the different applications, wherein the quality of experience measure for a particular application is summation of network related quality of experience measure for that particular application and subscriber related quality of experience measure for that particular subscriber for that particular application;
• performing an optimizing operation to thereby obtain an optimized bandwidth for each application, wherein the optimization operation comprises calculating a combined quality of experience measure based on the quality of experience measures for the different applications and for different possible bandwidth allocations to the plurality of applications and wherein the optimized bandwidth for each application is such that:
(a) for the predetermined overall bandwidth, said combined quality of experience measure reaches a maximum; or
(b) for a predetermined combined quality of experience measure, a revised overall bandwidth is lesser than the predetermined overall bandwidth; and
• allocating the optimized bandwidth for each application.
2. The method as claimed in claim 1, wherein the combined quality of experience measure is a weighted sum of quality of experience measures for the different applications, wherein the weights are predetermined.
3. The method as claimed in claim 2, wherein the weights are determined based on: (a) subscriber category, (b) a plan taken by the subscriber, (c) a data down load rate, (d) a bandwidth allotted to the subscriber, (e) a priority level of the application, or a combination thereof.
4. The method as claimed in claim 1, wherein the quality of experience measure for a particular application is a weighted sum of network related quality of experience measure for that particular application and subscriber related quality of experience measure for that particular subscriber for that particular application, wherein the weights are predetermined and configurable by service provider.
5. The method as claimed in claim 1, wherein the network related quality of experience measure for a particular application is calculated using (a) a bandwidth related data, (b) a page load time related data, (c) a packet loss related data, (d) a latency related data or a combination thereof.
6. The method as claimed in claim 5, further comprising obtaining one or more of (a) the bandwidth related data, (b) the page load time related data, (c) the packet loss related data and (d) a latency related data.
7. The method as claimed in claim 1, wherein the subscriber related quality of experience measure for a particular application is calculated using (a) a popularity index related data, (b) a personalization index related data, or a combination thereof.
8. The method as claimed in claim 7, further comprising obtaining one or more of (a) the popularity index related data and (b) the personalization index related data.
9. The method as claimed in claim 1, further comprising transmitting a message to the mobile terminal informing the mobile terminal of the allocations.
10. An apparatus of managing bandwidth allocation to a mobile terminal through which a subscriber possibly access different applications, said apparatus comprising:
a monitoring means for registering the applications accessed by the mobile terminal;
a processor for allocating a predetermined overall bandwidth to the mobile terminal and an initial bandwidth to each application; and
a calculating means for calculating an initial combined quality of experience measure, wherein the combined quality of experience measure indicates a quality of experience perceived by the user for all applications and is summation of quality of experience measure for the different applications, wherein the quality of experience measure for a particular application is summation of network related quality of experience measure for that particular application and subscriber related quality of experience measure for that particular subscriber for that particular application;
wherein the processor is configured to perform an optimizing operation to thereby obtain an optimized bandwidth for each application, wherein the optimization operation comprises calculating a combined quality of experience measure based on the quality of experience measures for the different applications and for different possible bandwidth allocations to the plurality of applications and wherein the optimized bandwidth for each application is such that:
(a) for the predetermined overall bandwidth, said combined quality of experience measure reaches a maximum; or
(b) for a predetermined combined quality of experience measure, a revised overall bandwidth is lesser than the predetermined overall bandwidth; and
the processor is further configured to allocate the optimized bandwidth for each application.
11. The apparatus as claimed in claim 10, wherein the apparatus further comprises an input means for obtaining one or more of (a) the bandwidth related data, (b) the page load time related data, (c) the packet loss related data and (d) a latency related data.
12. The apparatus as claimed in claim 10, wherein the apparatus further comprises an input means for obtaining one or more of (a) the popularity index related data and (b) the personalization index related data.
13. The apparatus as claimed in claim 10, wherein the apparatus further comprises a transceiver unit for transmitting a message to the mobile terminal informing the mobile terminal of the allocations.
,TagSPECI:Field of the Invention
The present disclosure relates to a method and an apparatus for allocating network resources. In particular, the present disclosure relates to method and apparatus for bandwidth allocation to mobile device of the subscriber based on optimizing the quality of experience for a given total bandwidth.
Background of the Invention
The following background discussion includes information that may be useful in understanding the present invention. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.
Network resource management and resource allocation in wireless network has become a priority for telecom service providers and internet service providers. The most commonly adopted approach worldwide is to use Quality of Service (QoS) based bandwidth allocation. By way of example, in this method, the service provider may guarantee a minimum overall bandwidth of X Kbps. While the QoS may have a direct relationship with bandwidth allocation, meaning thereby that with an increase in bandwidth allocated the associated QoS is higher, in reality, an improved QoS does not necessarily imply that the quality experienced/perceived by the subscriber (referred to as QoE) would be improved at all. The current Internet with its burgeoning set of services clearly demonstrates that improving the quality experienced/perceived by the subscriber is more important than any technical mechanisms used inside the network (including mechanisms for improving QoS).
To give a simple example, let’s consider a particular subscriber who is consuming different types of applications. By way of example, let’s assume that the subscriber is consuming, either simultaneously or at different points of time, a video application (for example, performing a video viewing/download), a web-browsing application (for example, a webpage viewing) and a Peer to Peer application (for example, a chat). It can be easily understood that each of the aforesaid type of application may have its own unique data download rate requirements and more particularly, the video application can have data download requirements substantially different from those of web-browsing application. Likewise, web-browsing application can have data download requirements substantially different from that of the Peer to Peer application. Let’s assume for the sake of simplicity that the bandwidth requirement of the Peer to Peer application is about 75 Kbps, the bandwidth requirement of the web browsing application is 150 Kbps and the bandwidth requirement for the video application is about 700 Kbps.
In case the subscriber is consuming the aforesaid applications at different points of time and the service provider allocates a constant bandwidth of let’s say 512 Kbps (in accordance with the QoS statement), the subscriber may not have the same quality of experience for all three applications. For example, the allocated bandwidth of 512 Kbps may be in far excess of the required bandwidth for Peer to Peer application and the web browsing application and hence, the subscriber may have a higher quality of experience for these two applications. On the other hand, the allocated bandwidth of 512 Kbps may be insufficient for the video application and hence the subscriber may have a low quality of experience for video application. Thus, under this scenario, it can be observed that at some instance of time the service provider is allocating excessive bandwidth, which will not contribute to increasing the subscriber’s quality of experience. Since bandwidth is a time-bound resource and allocation of excessive bandwidth to a subscriber the bandwidth once wasted cannot be recovered.
The problem is furthermore aggrieved, when the subscriber is consuming all the aforesaid applications simultaneously. Under this scenario, by allocating the overall bandwidth of 512 Kbps the service provider is not able to cater to the overall requirement. While it can be observed that the overall bandwidth requirement is a mere 925 Kbps, the service provider may land in a scenario wherein to attain a particular level of overall quality of experience, the allocated bandwidth is in excess of 925 (for example, by not allocating appropriate the bandwidths to the respective applications) or in a scenario wherein despite allocating bandwidth in excess of 925, the overall quality of experience is not high.
Addressing the aforesaid problems, ways of allocating bandwidth to mobile device of the subscriber based the quality of experience are being explored. By way of example, U.S. Patent Publication No. 2012/0051299 describes a method for allocating network data rates to a plurality of mobile terminals through which users access possibly different applications through a network having a certain limited total bandwidth to allocate, said method comprising: using as an input to an optimizing operation a quality utility function, which indicates for a certain application the quality perceived by a user depending on the allocated data rate, preferably further also depending on the channel condition; performing said optimizing operation such that it calculates a combined quality measure based on the quality utility functions for the different applications and for different possible resource allocations to the plurality of applications in such a way that said quality measure is optimized by finding among the plurality of possible resource allocations the resource allocation for which said quality measure reaches an extremum, to thereby obtain an overall optimized resource allocation for the network, wherein said method further comprises: applying said optimizing operation such that it uses a penalty parameter in such a way that it uses a penalty parameter in such a way that it penalizes a resource allocation for which the amount of deviation of the user perceived quality from a user perceived quality in the past at one or more of said mobile terminals would exceed a certain threshold compared to another resource allocation for which the amount of deviation of the user perceived quality from the user perceived quality in the past does not exceed said certain threshold.
PCT Publication WO 2013/116129 discloses systems and methods which adjust virtualized resources for delivery of a real-time multi-media session to a user terminal. Based on resource parameters, setting resource requirements, the user terminal sets resource requirements for delivery of the real-time multi-media session. The user terminal allocates the resources in accordance with the set resource requirements. The user terminal then continually determines if the distributed resources are sufficient for a desired quality of experience. If the distributed resources are not sufficient, at the user terminal adjusts the allocation of resources by procuring resources from a management of resources (MRD)/resources pre-positioning policy (RPP) database, to maintain the desired quality of experience. The resource parameters may include historic trends of resource allocation of delivery of audio, video, and/or text- messaging, current resource allocation trends, optimization criteria, traffic signature generation, and the like.
A paper entitled “QOE-based dynamic resource allocation for multimedia traffic in IEEE 802.11 wireless network” by Xinghua Sun, Kandaraj Piamrat and Cesar Viho acknowledges use of QoE as a parameter for admission control and at the same time proposes use of QoE for controlling on-going traffic. The document more particularly, attempts to enhance QoE for video subscribers and achieve good tradeoff between video quality and bandwidth utilization by applying control on on-going background traffic when the resource requirement by video stream changes over time. The paper proposes a method wherein in response to a drop in quality of a video connection (as indicated by drop of Mean Opinion Score (MOS) below a threshold mosth), background traffic flow in some connections is dynamically halted, and resumed once the link conditions becomes good.
Despite the fact that industry is therefore gradually exploring the possibilities of allocating bandwidth to mobile device of the subscriber based on quality of experience, a lot still needs to be performed so as to improve the overall QoE for the subscriber and reduce the overall bandwidth allocation on part of the service provider.
Object of the Invention:
An object of the present invention is to provide a method of managing bandwidth allocation to a mobile terminal through which different applications are possibly accessed such that for a predetermined overall bandwidth, a combined quality of experience measure reaches a maximum or for a predetermined combined quality of experience measure, a modified overall bandwidth allocation is lesser than an initial overall bandwidth allocation.
Summary of the Invention:
Accordingly, the present invention provides a method of managing bandwidth allocation to a mobile terminal through which a subscriber possibly access different applications, said method comprising:
• allocating a predetermined overall bandwidth to the mobile terminal;
• registering the applications accessed by the mobile terminal and allocating to each application an initial bandwidth;
• calculating an initial combined quality of experience measure, wherein the combined quality of experience measure indicates a quality of experience perceived by the user for all applications and is summation of quality of experience measure for the different applications, wherein the quality of experience measure for a particular application is summation of network related quality of experience measure for that particular application and subscriber related quality of experience measure for that particular subscriber for that particular application;
• performing an optimizing operation to thereby obtain an optimized bandwidth for each application, wherein the optimization operation comprises calculating a combined quality of experience measure based on the quality of experience measures for the different applications and for different possible bandwidth allocations to the plurality of applications and wherein the optimized bandwidth for each application is such that:
(a) for the predetermined overall bandwidth, said combined quality of experience measure reaches a maximum; or
(b) for a predetermined combined quality of experience measure, a revised overall bandwidth is lesser than the predetermined overall bandwidth; and
• allocating the optimized bandwidth for each application.
Additionally, the present invention provides an apparatus of managing bandwidth allocation to a mobile terminal through which a subscriber possibly access different applications, said apparatus comprising:
a monitoring means for registering the applications accessed by the mobile terminal;
a processor for allocating a predetermined overall bandwidth to the mobile terminal and an initial bandwidth to each application; and
a calculating means for calculating an initial combined quality of experience measure, wherein the combined quality of experience measure indicates a quality of experience perceived by the user for all applications and is summation of quality of experience measure for the different applications, wherein the quality of experience measure for a particular application is summation of network related quality of experience measure for that particular application and subscriber related quality of experience measure for that particular subscriber for that particular application;
wherein the processor is configured to perform an optimizing operation to thereby obtain an optimized bandwidth for each application, wherein the optimization operation comprises calculating a combined quality of experience measure based on the quality of experience measures for the different applications and for different possible bandwidth allocations to the plurality of applications and wherein the optimized bandwidth for each application is such that:
(a) for the predetermined overall bandwidth, said combined quality of experience measure reaches a maximum; or
(b) for a predetermined combined quality of experience measure, a revised overall bandwidth is lesser than the predetermined overall bandwidth; and
the processor is further configured to allocate the optimized bandwidth for each application.
To further clarify advantages and features of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof, which is illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail with the accompanying drawings.
Brief Description of Figures:
These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
Figure 1 shows a graph illustrating a possible relationship between the quality of experience and the quality of service for a plurality of applications;
Figure 2 shows a graph illustrating the difference in the quality of experience for two subscribers consuming two different applications at various levels of Quality of Service;
Figure 3 shows a flow chart of the process in accordance with an embodiment of the present invention;
Figure 4 shows the detailed internal construction of the device in accordance with one embodiment of the present invention;
Figure 5 shows yet another internal construction of the device in accordance with one embodiment of the present invention;
Figure 6 illustrates a first mode of implementation wherein the QoE based bandwidth allocation occurs among services within a subscriber pipe; and
Figure 7 illustrates a first mode of implementation wherein the QoE based bandwidth allocation occurs among subscribers using a service.
Further, skilled artisans will appreciate that elements in the drawings are illustrated for simplicity and may not have been necessarily been drawn to scale. For example, the flow charts illustrate the method in terms of the most prominent steps involved to help to improve understanding of aspects of the present invention. Furthermore, in terms of the construction of the device, one or more components of the device may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having benefit of the description herein.
Detailed Description:
For the purpose of promoting an understanding of the principles of the invention, reference will now be made to the embodiment illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended, such alterations and further modifications in the illustrated system, and such further applications of the principles of the invention as illustrated therein being contemplated as would normally occur to one skilled in the art to which the invention relates.
It will be understood by those skilled in the art that the foregoing general description and the following detailed description are exemplary and explanatory of the invention and are not intended to be restrictive thereof.
Reference throughout this specification to “an aspect”, “another aspect” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrase “in an embodiment”, “in another embodiment” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
The terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process or method that comprises a list of steps does not include only those steps but may include other steps not expressly listed or inherent to such process or method. Similarly, one or more devices or sub-systems or elements or structures or components proceeded by "comprises... a" does not, without more constraints, preclude the existence of other devices or other sub-systems or other elements or other structures or other components or additional devices or additional sub-systems or additional elements or additional structures or additional components.
Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The system, methods, and examples provided herein are illustrative only and not intended to be limiting.
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
As stated in the background section, most telecom service providers and internet service providers worldwide adopt Quality of Service (QoS) based bandwidth allocation for network resource management and resource allocation. However, referring to figure 1, it can be seen that for QoE does not have a direct relationship with QoS and more particularly, the relationship vary based on the kind application being consumed. For example, if we take consider the QoE for a QoS of 512 Kbps/Mbps, the QoE for video application can be as low as 1 (graph 102), about 4 for Peer to Peer applications (graph 104) and about 5 for web browsing applications (graph 106).
Similarly, referring to figure 2, wherein two different subscribers are being compared, the first subscriber (a silver grade Subscriber) having an allocated QoS of only 512 Kbps can have a high QoE as compared to the second subscriber (a gold grade Subscriber) despite the fact that the allocated QoS is 1Mbps. Such differences tend to arise because of the different types of applications have different QoE requirements and more particularly, the first subscriber may be predominantly consuming web browsing applications (graph 106), while the second subscriber may be predominantly consuming video applications (graph 102).
Thus, to address the aforesaid the invention proposes to track/calculate a combined quality of experience measure for all applications, wherein the same is summation of quality of experience measure for the different applications and wherein for each application, the QoE may be preferably calculated differently. It may be noted that throughout the specification, the term “application” is intended to mean protocols, applications, services, contents, etc.. To simplify the above requirement, the invention proposes to categorize the applications into for example, three basic categories which include Real-time applications, web / email applications and File transfer applications and the QoE for each of the aforesaid category is calculated differently and termed as network related quality of experience measure for each application. It must however, be noted that the applications can be categorized in a different manner thereby resulting in either more number of categories or a fewer number of categories. A more detailed description about the manner of calculating the network related quality of experience measure is provided in subsequent paragraphs.
Even in respect of a particular category of application, let’s say web browsing, it has been observed that the certain applications have a high popularity index, as compared to the remaining applications of the same category and hence, more number of subscribers tend to consume the same. For example, for a subscriber visiting a highly popular website for example, msn.com, there is an expectation that the application is much better than an unknown application, for example, noname.com which is not popular. Hence it is expected that a subscriber who is very much aware of a popular application and has interest in it will expect much more from the application as against an application which is not popular and if it doesn’t interest the user. In addition, a particular subscriber may have preferences to certain categories of applications or certain applications within a particular category and hence, tends to consume the preferred application(s) more often as compared to other applications. These aspects therefore can play a role on the QoE for the subscriber. Keeping in view the above, the invention tracks/calculates a second type of QoE, termed as a subscriber related QoE and a more detailed description about the manner of calculating the subscriber related quality of experience measure is provided in subsequent paragraphs. More particularly, QoE for different applications can be calculated based on the type of application. For example, a HD video will have a different QoE curve as compared to a 360p Video. At the same time, VoIP session using GSM codec will have a different QoE curve as compared to a VoIP session using iSAC. Hence the identification of the application and some of the parameters are also taken into account when calculating QoE and each of the said type of application will possess its own weights as predetermined by the service provider.
Accordingly, referring to figure 3, the present invention provides a method 200 of managing bandwidth allocation to a mobile terminal through which a subscriber possibly access different applications, said method comprising:
• allocating a predetermined overall bandwidth to the mobile terminal (step 202);
• registering the applications accessed by the mobile terminal and allocating to each application an initial bandwidth (step 204);
• calculating an initial combined quality of experience measure, wherein the combined quality of experience measure indicates a quality of experience perceived by the user for all applications and is summation of quality of experience measure for the different applications, wherein the quality of experience measure for a particular application is summation of network related quality of experience measure for that particular application and subscriber related quality of experience measure for that particular subscriber for that particular application (step 206);
• performing (step 208) an optimizing operation to thereby obtain an optimized bandwidth for each application, wherein the optimization operation comprises calculating a combined quality of experience measure based on the quality of experience measures for the different applications and for different possible bandwidth allocations to the plurality of applications and wherein the optimized bandwidth for each application is such that:
(a) for the predetermined overall bandwidth, said combined quality of experience measure reaches a maximum; or
(b) for a predetermined combined quality of experience measure, a revised overall bandwidth is lesser than the predetermined overall bandwidth; and
• allocating the optimized bandwidth for each application (step 210).
In an embodiment of the present invention, the combined quality of experience measure is a weighted sum of quality of experience measures for the different applications, wherein the weights are predetermined.
In another embodiment of the present invention, wherein the weights are determined based on: (a) subscriber category, (b) a plan taken by the subscriber, (c) a data down load rate, (d) a bandwidth allotted to the subscriber, (e) a priority level of the application, or a combination thereof.
In yet another embodiment of the present invention, the quality of experience measure for a particular application is a weighted sum of network related quality of experience measure for that particular application and subscriber related quality of experience measure for that particular subscriber for that particular application, wherein the weights are predetermined and configurable by the service provider.
In a further embodiment of the present invention, the network related quality of experience measure for a particular application is calculated using (a) a bandwidth related data, (b) a page load time related data, (c) a packet loss related data, (d) a latency related data, or a combination thereof.
In an embodiment, the present invention further comprises obtaining one or more of (a) the bandwidth related data, (b) the page load time related data, (c) the packet loss related data and a latency related data (step 212).
In a further embodiment of the present invention, the subscriber related quality of experience measure for a particular application is calculated using (a) a popularity index related data, (b) a personalization index related data, or a combination thereof.
In another embodiment, the present invention further comprises obtaining one or more of (a) the popularity index related data and (b) the personalization index related data (step 214).
In yet another embodiment, the present invention further comprises transmitting a message to the mobile terminal informing the mobile terminal of the allocations (step 216).
Referring to figure 4, the present invention provides an apparatus 300 of managing bandwidth allocation to a mobile terminal through which a subscriber possibly access different applications, said apparatus comprising:
a monitoring means 302 for registering the applications accessed by the mobile terminal;
a processor 304 for allocating a predetermined overall bandwidth to the mobile terminal and an initial bandwidth to each application; and
a calculating means 306 for calculating an initial combined quality of experience measure, wherein the combined quality of experience measure indicates a quality of experience perceived by the user for all applications and is summation of quality of experience measure for the different applications, wherein the quality of experience measure for a particular application is summation of network related quality of experience measure for that particular application and subscriber related quality of experience measure for that particular subscriber for that particular application;
wherein the processor 304 is configured to perform an optimizing operation to thereby obtain an optimized bandwidth for each application, wherein the optimization operation comprises calculating a combined quality of experience measure based on the quality of experience measures for the different applications and for different possible bandwidth allocations to the plurality of applications and wherein the optimized bandwidth for each application is such that:
(a) for the predetermined overall bandwidth, said combined quality of experience measure reaches a maximum; or
(b) for a predetermined combined quality of experience measure, a revised overall bandwidth is lesser than the predetermined overall bandwidth; and
the processor 304 is further configured to allocate the optimized bandwidth for each application.
In an embodiment of the present invention, the apparatus further comprises an input means 308 for obtaining one or more of (a) the bandwidth related data, (b) the page load time related data and (c) the packet loss related data.
In another embodiment of the present invention the apparatus further comprises an input means 310 for obtaining one or more of (a) the popularity index related data and (b) the personalization index related data.
In yet another embodiment of the present invention, the apparatus further comprises a transceiver unit 312 for transmitting a message to the mobile terminal informing the mobile terminal of the allocations.
Referring to figure 5, yet another typical hardware configuration of the device 300 for managing bandwidth allocation to a mobile terminal in the form of a computer system 300 is shown. The computer system 300 can include a set of instructions that can be executed to cause the computer system 300 to perform any one or more of the methods disclosed. The computer system 300 may operate as a standalone device or may be connected, e.g., using a network, to other computer systems or peripheral devices.
In a networked deployment, the computer system 300 may operate in the capacity of a server or as a client user computer in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. The computer system 300 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while a single computer system 300 is illustrated, the term "system" shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
The computer system 300 may include a processor 402, e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both. The processor 402 may be a component in a variety of systems. For example, the processor 402 may be part of a standard personal computer or a workstation. The processor 402 may be one or more general processors, digital signal processors, application specific integrated circuits, field programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other now known or later developed devices for analyzing and processing data The processor 402 may implement a software program, such as code generated manually (i.e., programmed).
The computer system 300 may include a memory 404, such as a memory 404 that can communicate via a bus 408. The memory 404 may be a main memory, a static memory, or a dynamic memory. The memory 404 may include, but is not limited to computer readable storage media such as various types of volatile and non-volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media and the like. In one example, the memory 404 includes a cache or random access memory for the processor 402. In alternative examples, the memory 404 is separate from the processor 402, such as a cache memory of a processor, the system memory, or other memory. The memory 404 may be an external storage device or database for storing data. Examples include a hard drive, compact disc ("CD"), digital video disc ("DVD"), memory card, memory stick, floppy disc, universal serial bus ("USB") memory device, or any other device operative to store data. The memory 404 is operable to store instructions executable by the processor 402. The functions, acts or tasks illustrated in the figures or described may be performed by the programmed processor 402 executing the instructions stored in the memory 404. The functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firm-ware, micro-code and the like, operating alone or in combination. Likewise, processing strategies may include multiprocessing, multitasking, parallel processing and the like.
As shown, the computer system 300 may or may not further include a display unit 410, such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, a cathode ray tube (CRT), a projector, a printer or other now known or later developed display device for outputting determined information. The display 410 may act as an interface for the user to see the functioning of the processor 402, or specifically as an interface with the software stored in the memory 404 or in the drive unit 416.
Additionally, the computer system 300 may include an input device 412 configured to allow a user to interact with any of the components of system 300. The input device 412 may be a number pad, a keyboard, or a cursor control device, such as a mouse, or a joystick, touch screen display, remote control or any other device operative to interact with the computer system 300.
The computer system 300 may also include a disk or optical drive unit 416. The disk drive unit 416 may include a computer-readable medium 422 in which one or more sets of instructions 424, e.g. software, can be embedded. Further, the instructions 424 may embody one or more of the methods or logic as described. In a particular example, the instructions 424 may reside completely, or at least partially, within the memory 404 or within the processor 402 during execution by the computer system 300. The memory 404 and the processor 402 also may include computer-readable media as discussed above.
The present invention contemplates a computer-readable medium that includes instructions 424 or receives and executes instructions 424 responsive to a propagated signal so that a device connected to a network 426 can communicate voice, video, audio, images or any other data over the network 426. Further, the instructions 424 may be transmitted or received over the network 426 via a communication port or interface 420 or using a bus 408. The communication port or interface 420 may be a part of the processor 402 or may be a separate component. The communication port 420 may be created in software or may be a physical connection in hardware. The communication port 420 may be configured to connect with a network 426, external media, the display 410, or any other components in system 300, or combinations thereof. The connection with the network 426 may be a physical connection, such as a wired Ethernet connection or may be established wirelessly as discussed later. Likewise, the additional connections with other components of the system 400 may be physical connections or may be established wirelessly. The network 426 may alternatively be directly connected to the bus 408.
The network 426 may include wired networks, wireless networks, Ethernet AVB networks, or combinations thereof. The wireless network may be a cellular telephone network, an 802.11, 802.16, 802.20, 802.1Q or WiMax network. Further, the network 426 may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols.
In an alternative example, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement various parts of the system 300.
Means that form part of the apparatus may include the systems can broadly include a variety of electronic and computer systems. One or more examples described may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
The system described may be implemented by software programs executable by a computer system. Further, in a non-limited example, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement various parts of the system.
The system is not limited to operation with any particular standards and protocols. For example, standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) may be used. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed are considered equivalents thereof.
In the following paragraphs a detailed description about implementation of the aforesaid method is provided. It should however, be understood every implementation of the method need not follow the scenario as mentioned in the following paragraphs. Thus, the scope of the claims is intended to be restricted only on the basis of the claims and their equivalents and not on the basis of the examples provided herein below.
Base Scenario:
Let ‘A’ be a subscriber who has a 2 Mbps connection. ‘A’ is currently using three services: Web, P2P and Video.
Let f(x), g(x) and h(x) be functions that map QoE to QoS for web, P2P and video traffic respectively i.e. for P2P traffic, if a bandwidth of 1 Mbps translates to QoE of 4, then
f(4) = 1 Mbps --- Equation 1
Now, assuming that all traffic classes are of equal priority, we need to solve the following equation for x:
f(x) + g(x) + h(x) = 2 Mbps --- Equation 2
i.e. for a QoE of x, the sum of bandwidth allocated for web, P2P and video traffic is equal to the total bandwidth allocated to the subscriber which is 2 Mbps. By solving this equation, we can get the QoE that has to be allocated to each service that subscriber ‘A’ is using. Once x is computed, the bandwidth management software should allocate bandwidths equal to f(x), g(x) and h(x) respectively to web, P2P and video traffic.
Scenario with traffic prioritization:
Now, let us consider the more complex case with traffic prioritization. Let us say that Video is of highest priority and should get twice the QoE that web traffic gets. Similarly, web traffic should get twice the priority that P2P traffic gets. Therefore, if QoE for P2P traffic is x, then QoE for web traffic is 2x and QoE for video traffic is 4x.
Therefore ‘Equation 2’ is now modified into,
f(2x) + g(x) + h(4x) = 2 Mbps --- Equation 3
By solving this equation for x, one can determine the QoE to be allocated to P2P traffic from which one can determine the QoE to be allocated to web and video traffic.
Now, the device allocating the bandwidth has to ensure that it allocates the bandwidths of f(2x), g(x) and h(4x) to web, P2P and video traffic respectively.
QoE Definition based on Popularity, moving window and personalization:
There are many industry standard definitions for QoE, especially for real time communications. One of the standards is the MOS (Mean Opinion Score) which is a score rated from 1 to 5.
In the present invention QoE calculation takes into account the “Popularity” of the service / application / url accessed by the subscriber to arrive at a QoE value. Most of the generally available methods take into account only the bandwidth delivered to the subscriber. While this is good beginning, it cannot provide accurate QoE values since the new-age subscribers “expect” more from already known applications / url’s than unknown applications.
Another concept of the present invention calculation of the QoE number is in the form of a moving window concept. When subscribers are offered services, they experiences are perceived through time and it is not an instantaneous value. Hence, QoE for a file download or web page download cannot be taken in its absolute value but should maintain a history and the final value depends on the near-window average of the QoE.
The third concept of the present invention is personalization. In this, many subscribers have interests in different service categories. For example, Subscriber A can be very much interested in sports category whereas subscriber B maybe interested in movies category. Hence the method of the present invention takes into account many other parameters such as latency, packet retransmission / packet loss, page load time, video stalling, than just the bandwidth. The QoE thus calculated will be more comprehensive and complicated measurement can be done taking into account.
Methods of implementing QoE:
An exemplary method of implementing QoE is through bandwidth for a subscriber. In this method, plans / bundles have a throughput requirement. Different services share this bandwidth and the algorithm optimizes the use the bandwidth by maximizing the QoE. This is done by calculating the service that requires the bandwidth most for maximum QoE.
Additionally, the service provider can use QoE based allocation either at subscriber level or at service level as shown in figures 6 and 7. In figure 6, a subscriber subscribed to a 2 Mbps plan is using three services. QoE based allocation of the 2 Mbps to the three services ensures optimal experience for the subscriber.
Figure 7 illustrates the alternative implementation wherein the service provider allocates 20 Mbps bandwidth to video traffic. This bandwidth is divided among the different subscribers based on the QoE – e.g. if operator decides that gold subscribers should get twice the QoE of silver subscribers, he can allocate the total video bandwidth among gold and silver subscribers to accomplish the same. This will be more effective than QoS based plan where a gold subscriber might get higher bandwidth than silver subscriber and the higher bandwidth may not necessarily translate into noticeable improvement in QoE.
Function definition:
In accordance with a preferred embodiment, the present invention uses multiple sets of parameters while calculating and arriving at a Quality of Experience value. MOS score is the most widely used method to measure and provide details on the Quality of Experience. MOS score ranges from 1 to 5, 1 being the least and 5 being the best.
In accordance with the present invention, the combined QoE is calculated as:
Combined QoE = X1.QoE(A1) + X2.QoE(A2) + …… + Xn.QoE(An)
Wherein QoE(Ai) = Y1.QoENR(Ai) + Y2.QoESR(Ai)
Wherein QoE indicates Quality of Experience
Wherein A1, A2, … An are the applications
Wherein QoE(Ai) indicates Quality of Experience for ith application;
Wherein QoENR (Ai) indicates network related quality of experience measure for ith application;
Wherein QoENR indicates subscriber related quality of experience measure for the ith application;
Wherein “i" is an integer having a value of 1 to n;
Wherein X1, X2, …Xn are the weights given to each application;
Wherein Y1 and Y2 are the weights given to network related quality of experience measure and the subscriber related quality of experience measure, respectively.
While typical MOS score calculation results in values between 1 and 5, the present invention splits this into two parts: Network related QoE and Subscriber related QoE and the manner of calculation of each of the aforesaid is described in detail in the following paragraphs.
Network Related QoE:
QoE calculation to result in a value between 1 and 4. 3 different parameters are taken into consideration to encompass most of the services offered. The parameters are; Bandwidth, Page Load Time, Latency and Packet Loss. For different services, one of the parameter makes sense to calculate the QoE. For example, suppose a subscriber is opening a website, though bandwidth has an effect, the experience is primarily on the page load. One of the primary reasons why Google has one of the best experiences is due to the fact that the page size is small and hence even in lower bandwidth, the page load is fast delivering better experience. For real-time applications, packet loss makes more sense than bandwidth. For example, let’s take a Skype call. When two users are talking on Skype, there is no way bandwidth can be improved, since data will always be generated by each of the subscribers at a certain rate and the rate cannot be improved. For such applications, the experience improves or deteriorates primarily on packet loss. The more the packet loss, the lesser will be the experience. The final parameter is the most general parameter which is Bandwidth. Most of the other services / applications will have bandwidth as the primary measure to calculate experience.
Subscriber Related QoE:
In the second part of the QoE, the present invention introduces two variables that will affect the experience: Popularity and Personalization Index.
Popularity Index: Most of the time, subscribers using a very highly popular application / website / service will have a tendency to expect more than usual. Popularity has an inverse effect on experience. A subscriber viewing a webpage for the first time will set lower expectations than for a website which he regularly visits or is aware of. A popularity index is taken into account in the formula. A website / application which is very popular will have a popularity index number that is closer to 1 (the lower the popularity index the higher the popularity. Hence the highest popular app will have an index of 1). The popularity index alone will not be taken to calculate the MOS / QoE score. It will also require the Personalization Index, which is explained in the next section.
Personalization Index: The second parameter that affects the experience is how closely the service / application / website is of interest to the subscriber. Each and every service / application can be segregated into multiple categories and each subscriber can be “fit” into one of these categories. For example, a subscriber is an ardent movie fan, hence will check movie related information / content with far more greater interest than something on science. Personalization index for a subscriber for different categories can be calculated by using multiple methods. The number of times a subscriber visits that category, volumes of information consumed by the subscriber for that category or through a survey.
The above two parameters are used to calculate the remaining 1 score of the overall MOS score.
The QoE calculation may be done using exponential models that depict the non-linearity behavior of subscribers for each such parameter explained. Without being limited to any particular model, one of the ways of calculating the QoE for application which are predominantly affected by download (such as file transfer applications including for example, video application) include:
QoE (Download) = -3* + .
wherein the part -3* is taken as the network related QoE value and the part is taken as the Subscriber related QoE value, with “ß” being the popularity index, “a” being the personalization index and “s” being the size of the set which is under consideration.
Furthermore, the Network Related QoE may be represented on a scale of 1 to 4 and the Subscriber Related QoE may be represented on a scale of 0 to 1 and the overall QoE may be represented on a scale of 1 to 5 (as a summation of Network Related QoE and Subscriber QoE).
On the other hand, without being limited to any particular model, one of the ways of calculating the QoE for application which are predominantly affected by Page Load Time (such as web browsing/e-mail application) include:
QoE (Web) = -3* +
wherein the part -3* is taken as the network related QoE value and the part is taken as the Subscriber related QoE value, with “ß” being the popularity index, “a” being the personalization index and “s” being the size of the set which is under consideration.
Furthermore, the Network Related QoE may be represented on a scale of 1 to 4 and the Subscriber Related QoE may be represented on a scale of 0 to 1 and the overall QoE may be represented on a scale of 1 to 5 (as a summation of Network Related QoE and Subscriber QoE).
Without being limited to any particular model, for real time applications, such as VoIP, peer to communication applications, etc. the QoE for application may be predominantly affected by packet loss and/or Latency.
Without being limited to any particular model, one of the ways of calculating the QoE on the basis of packet loss include:
QoE ( Realtime , Packet loss) = -3* +
wherein the part -3* is taken as the network related QoE value and the part is taken as the Subscriber related QoE value, with “ß” being the popularity index, “a” being the personalization index and “s” being the size of the set which is under consideration.
Without being limited to any particular model, one of the ways of calculating the QoE on the basis of packet loss include:
QoE (Realtime , Latency) = 3* +1 +
wherein the part = 3* +1 is taken as the network related QoE value and the part is taken as the Subscriber related QoE value, with “ß” being the popularity index, “a” being the personalization index and “s” being the size of the set which is under consideration.
Once again without being limited, for real time applications the QoE for a particular application (QoE (Realtime)) may be taken as a weighted sum of QoE (Realtime , Packetloss) and QoE (Realtime , Latency), wherein the weights may be allocated by the service provider.
Once the QoE (Download), QoE (Web) and QoE Realtime have been calculated, an overall QoE can be calculated as a weighted sum of the same as mentioned above.
Sequences / Steps:
The following are the sequences / steps of the system. Kindly note that the entire QoE based management is per subscriber.
1. Subscriber A signs into the system. The subscriber profile is retrieved from the PCRF to PCEF.
2. The QoE for the subscriber is noted. Depending on the profile, there could either be a QoE based subscriber plan or QoS based subscriber plan. For the sake of simplicity, we assume that the subscriber plan is based on bandwidth.
3. Subscriber opens a browser session. All the available bandwidth is provided to browsing session.
4. The subscriber opens a P2P download session.
5. The functions for Browsing and P2P are taken. Starting from the QoEMin for the two services, small chunks of bandwidth is added to the service that results in a larger QoE. For example, for Min QoE of Browsing and P2P, the bandwidth is calculated. To this bandwidth 10Kbps is added to both the services and the resulting QoE is noted using the QoE function. If Browsing has more QoE than P2P, then the 10Kbps is added to Browsing alone and not to P2P.
6. The above step is repeated until all the available bandwidth for the subscriber is utilized.
7. To incorporate priority of services and allocation of bandwidth for the same, the minimum QoE for that service would be much higher when done without priority. For example, if VoIP service is a priority for a subscriber, the minimum QoE for VoIP would be 4/5 whereas for a subscriber whose priority is not VoIP the minimum QoE would be 3/5.
8. The above steps are repeated at regular intervals or during a connection initiation.
It may be noted that throughout the specification, the term “application” is intended to mean applications or services or contents.
While specific language has been used to describe the disclosure, any limitations arising on account of the same are not intended. As would be apparent to a person in the art, various working modifications may be made to the method in order to implement the inventive concept as taught herein.
The drawings and the forgoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein. Moreover, the actions any flow diagram need not be implemented in the order shown; nor do all of the acts necessarily need to be performed. Also, those acts that are not dependent on other acts may be performed in parallel with the other acts. The scope of embodiments is by no means limited by these specific examples. Numerous variations, whether explicitly given in the specification or not, such as differences in structure, dimension, and use of material, are possible. The scope of embodiments is at least as broad as given by the following claims.
Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any component(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or component of any or all the claims.
| # | Name | Date |
|---|---|---|
| 1 | Specification.pdf | 2014-04-02 |
| 2 | FORM 5.pdf | 2014-04-02 |
| 3 | Form 3.pdf | 2014-04-02 |
| 4 | Form 26.pdf | 2014-04-02 |
| 5 | Drawings.pdf | 2014-04-02 |
| 6 | 916-del-2014-GPA-(13-07-2014).pdf | 2014-07-13 |
| 7 | 916-del-2014-Correspondence-Others-(26-09-2014).pdf | 2014-09-26 |
| 8 | 916-del-2014-Correspondence Other-(13-07-2015).pdf | 2015-07-13 |
| 9 | 916-DEL-2014-FER.pdf | 2019-09-26 |
| 1 | 916_26-09-2019.pdf |