Patent Publication Number: US-9906986-B2

Title: Prioritizing QoS for user applications in communication networks

Description:
FIELD OF INVENTION 
     The present subject matter relates to communication networks and, particularly, but not exclusively, to quality of service for user applications in communication networks. 
     BACKGROUND 
     Advancement in communication technology has made it possible for a user to avail services like mobile TV, E-commerce, video calling, online gaming, multimedia applications, and the like, provided by a service provider over a communication network. Implementation of high speed network technologies has made it possible for service providers to offer such services to the user. The user, through various communication devices, such as laptops, computers, desktops, smart phones, PDA&#39;s, and the like, may enjoy the services offered by the service provider over one or more communication networks, such as Ethernet, wireless local area network (WLAN), local area network (LAN), and other similar networks. Such services provided by the service provider usually involve real-time data transfer over the communication network and may thus require high bandwidth for their entire duration of operation to ensure smooth operation. 
     Some applications and services however are delay sensitive and thus require certain minimum connection speed in order to function efficiently. For example, certain E-commerce transactions over the web are sensitive to network connection and require continuous connectivity to the network for successful completion of the transaction. To ensure that satisfactory services are provided to the user, the service provider adopts several measures to provide reasonable quality of service (QoS) to the user and may charge the user accordingly. 
     Typically, the service providers classify the users into different classes based on an agreement between the service provider and the user. Based on the class, the service provider may ascertain a minimum level of QoS for the user and provides the services accordingly. Ascertaining the minimum level of QoS provided by the service provider assures the user of certain minimum level of quality, such as connectivity speed as data traffic for the user is routed based on the level of QoS associated with the class of the user. For example, a user enlisted in a top priority class will be offered more bandwidth as the level of QoS associated with the user will be attributed by high bandwidth as compared to a user enlisted in a lower priority class. 
     Ascertaining different levels of QoS for users helps in efficient management and allocation of network resources, thereby considerably reducing delays in routing data traffic over the communication network. However, allocation of network resources, such as channel bandwidth, processor, and routers based on the classes associated with the user may affect the user&#39;s experience as certain user applications may not be able to obtain sufficient resources. For example, a user enlisted in the lower priority class might not be able to run some application that requires high bandwidth as the communication network may not be able to provide bandwidth higher than the bandwidth designated for the level of QoS associated with the lower priority class. Allocation of the network resources based on the class of the user may thus affect the flexibility in connection speed provided to the user as the communication network may not be able to offer more bandwidth than allocated to the user. The user may thus either have to frequently request the service provider for a change in the class or use applications having bandwidth requirement corresponding to the user&#39;s class. Frequent change in class of the user, however, may not be feasible for the service provider as it would require re-allocation of network resources which may be a cumbersome process. 
     SUMMARY 
     This summary is provided to introduce concepts related to prioritizing QoS based on user applications. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter. 
     In one implementation, a method for prioritizing QoS for user application in a communication network is described. The method includes receiving a user defined domain name list (UDDL) message, where the UDDL message includes a UDDL comprising of domain names in a priority order. The method further includes converting the domain names specified in the UDDL to obtain a modified UDDL, where the modified UDDL includes the domain names converted in a format recognizable by a home location register (HLR). Subsequently, a radio access bearer assignment message including the modified UDDL is sent to the HLR. 
     In another implementation, a domain name system (DNS) server for prioritizing QoS for user applications in a communication system is described. The DNS server includes a processor and a user interaction module coupled to the processor. The user interaction module is configured to receive a user defined domain name list (UDDL) message from a communication device, where the UDDL message includes a UDDL determined by a user of the communication device. The DNS server further includes a conversion module coupled to the processor, the conversion module configured to convert the UDDL to a modified UDDL. 
     In another implementation, a home location register (HLR) for managing network resources for prioritizing QoS for user applications in a communication network is described. The HLR is configured to manage network resources based on a radio access bearer (RAB) assignment message, where the RAB assignment message includes a modified user defined domain name list (UDDL), and wherein the modified UDDL comprises domain names in a priority order. 
     In accordance with another implementation of the present subject matter, a computer-readable medium having embodied thereon a computer program for executing a method of prioritizing QoS for user application in a communication network is described. The method includes receiving a user defined domain name list (UDDL) message, where the UDDL message includes a UDDL comprising of domain names in a priority order. The method further includes converting the domain names specified in the UDDL to obtain a modified UDDL, where the modified UDDL includes the domain names converted in a format recognizable by a home location register (HLR). Subsequently, a radio access bearer assignment message including the modified UDDL is sent to the HLR. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
       The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the figures to reference like features and components. Some embodiments of system and/or methods in accordance with embodiments of the present subject matter are now described, by way of example only, and with reference to the accompanying figures, in which: 
         FIG. 1  illustrates an exemplary network environment implementation for prioritizing QoS based on user applications, according to an embodiment of the present subject matter; 
         FIG. 2  is a call flow diagram indicating procedures for prioritizing QoS based on user application, in accordance with an embodiment of the present subject matter; and 
         FIG. 3  illustrates a method for prioritizing QoS based on user application, in accordance with an embodiment of the present subject matter. 
     
    
    
     In the present document, the word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or implementation of the present subject matter described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. 
     It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. 
     DESCRIPTION OF EMBODIMENTS 
     The present subject matter relates to methods and systems for providing quality of service in communication networks. The methods can be implemented in various communication devices communicating through various communication networks. The communication devices that can implement the described method(s) include, but are not limited to, cellular phones, smart phones, personal digital assistants (PDAs), portable computers, desktop computers, wireless data cards, servers, and the like. The communication networks in which the described method(s) can be implemented include, but are not limited to, Code Division Multiple Access (CDMA) Global System for Mobile Communication (GSM) network, Universal Mobile Telecommunications System (UMTS) network, Wideband Code Division Multiple Access (W-CDMA) network, and the like. Although the description herein is with reference to the UMTS network, the methods and systems may be implemented in other communication networks, albeit with a few variations, as will be understood by a person skilled in the art. 
     In communication networks, a user may register with a service provider for using various communication services, such as telephonic services and messaging services. In addition, the service providers may further offer add-on services, such as Mobile TV, Multimedia streaming, voice over internet protocol (VoIP), video calling, E-commerce, location based services, and online gaming, that may involve high speed data transfer over a communication network. Typically, these services are delay sensitive and require high bandwidth to sustain efficient operation over the communication network. For example, live streaming of an event, such as a football match over the communication network may require certain minimum bandwidth to ensure continuous transmission of the event. A decrease in the bandwidth may cause an undue lag in live transmission of the event, thereby leading to degradation in quality of the service provided to the user. Similarly, lack of sufficient bandwidth may lead to disruption or loss in connection with the communication network, resulting in unsuccessful completion of any online transaction happening at the user end. Further, live streaming and online gaming might appear like a buffer and burst application, thereby reducing the quality of service desired by the user. 
     To ensure that acceptable Quality of Service (QoS) is delivered to the user, the service provider typically deploys certain measures to efficiently manage network resources. Generally, the service provider enlists users into certain classes associated with different levels of QoS, for example, based on QoS profiles negotiated with the user. Different QoS profiles offer different connectivity speeds to the users enlisted in the class. For example, data traffic from applications of these users may be routed according to the level of QoS associated with the class, for instance, same applications when used by users associated with different classes may take different time for downloading data. 
     However, classification of users into classes associated with different levels of QoS may at times lead to insufficient bandwidth for certain user applications, thereby affecting QoS provided to the users. For example, a class into which a user is classified might not offer sufficient bandwidth to support online gaming The user in such a case may experience disrupted service over the communication network and may not be satisfied with the degraded gaming experience due to insufficient bandwidth support. The user may thus shift to higher class, which however, may not be cost efficient for the user as the user may need to pay additional charges to the service provider even if the user is accessing only a single high bandwidth application. 
     In one conventional method of managing network resources for providing desired level of QoS to the user, data traffic for the user applications is classified into several classes and mapped to per hop behavior (PHB) groups associated with different levels of QoS. Mapping data traffic to PHB groups helps in managing network resources based on the data traffic from the user applications as opposed to managing network resources based on the class of user. Based on the PHB group, the data traffic from the user applications are routed accordingly at each node over the communication network. For example, in UMTS networks, the users are enlisted into different classes and different levels of QoS are associated with each class. The different levels of QoS have specific attributes, such as bandwidth, transfer delay, maximum bit rate, and guaranteed bit rates, exclusive to that particular level of QoS. Data traffic from user applications pertaining to specific class is mapped to equivalent PHB groups. Based on the mapping, data traffic from the user applications is routed over the network using network resources assigned to the PHB group, thereby providing efficient utilization of bandwidth. 
     However, managing network resources for routing the data traffic according to the PHB groups may not provide sufficient bandwidth for certain user applications as the bandwidth associated with the PHB group may not be sufficient for efficient operation of the user application. Moreover, the service provider needs to ensure that proper mapping of data traffic classes to equivalent the PHB groups is done and that proper router settings capable of routing data traffic according to the PHB group is done. Thus, conventional routers may not be compatible with handling the data traffic based on the PHB groups and may need to be modified thereby increasing the cost of implementation. 
     The present subject matter relates to prioritizing QoS for user applications in communication networks. In an embodiment of the present subject matter, method and system for prioritizing QoS for user applications is described. In one implementation, a user of a communication device registered with a service provider may avail several services provided by the service provider over a communication network. For instance, the user registered with a particular service provider may access various services, such as messaging, applications for e-commerce transactions, and search applications. In one implementation, the user may desire a certain level of QoS for each of the services based on one or more parameters, such as frequency of use by the user. For instance, if the user needs to access a search engine or a particular website, say a trading website very frequently, the user may then desire that access to these applications is provided to the user without any delay. The user in such a case may request the service provider to provide a highest level of QoS for such user applications such that these user applications get the highest priority for data traffic exchange. In one implementation, the user application may include any services availed by the user, such as availing services over internet, performing transactions, e-commerce trading, online gaming, Mobile TV, streaming music, and the like. 
     In one implementation, the user may request the service provider for prioritizing the applications based on domain names of the applications. For the purpose, the user may initially define a list of domain names, hereinafter referred to as a user defined domain name list (UDDL), comprising domain names for which the user desires high level of QoS. For example, the UDDL may comprise a list of e-commerce websites, for which the user may seek high level of QoS from the service provider. The user may then establish a connection to the communication network through one or more access points, such as a wireless router, a communication tower, a wifi hotspot, modems, and the like, for sending the UDDL to a server, such as a domain name system (DNS) server associated with the communication network. 
     Upon receiving user request, a front-end firewall present in the communication network authenticates whether the user is a valid subscriber of the services requested. Upon successful authentication of the user, the front-end firewall grants access to the services provided by the service provider. The UDDL may then be sent to the DNS server. In one implementation, the user may send the list as a short message service (SMS) to its service provider. In another implementation, the user may send an E-mail to the service provider requesting high level QoS for domain names mentioned in the UDDL. In yet another implementation, the user may request the service provider for high level QoS, for the domain names mentioned in the UDDL, over voice call. 
     On receiving the UDDL from the user, the DNS server may store the UDDL. In one implementation, the DNS server may be configured to convert or modify the domain names in the UDDL to their respective IP addresses. Further, the DNS server sends the modified UDDL, comprising of the IP addresses corresponding to the domain names enlisted in the UDDL, over an interface to a central server, such as a home location register (HLR). In one implementation, the HLR may be configured to allocate network resources, based on the modified UDDL, in order to provide desired level of QoS to the user. For the purpose, the HLR may be configured to perform a radio access bearer (RAB) assignment for managing the network resources. In one implementation, the RAB is used for carrying user data over the communication network, as would be understood by a person skilled in the art. The HLR may further update a router linked to the HLR for routing the data traffic from the user based on the modified UDDL. 
     Consequently, the HLR sends a RAB assignment message containing the allocation details of the network resources based on the modified UDDL to the router linked to the HLR. In one implementation, the router may be configured for routing the data traffic from the user applications based on the modified UDDL, thereby providing desired level of QoS to the user for the domain names requested by the user in the UDDL. 
     The present subject matter, thus ensures that a sufficient level of QoS for user applications is provided to the user availing services provided by the service provider. Further, present subject matter may be implemented over conventional routers available for communication networks thereby reducing the cost for managing network resources and eliminating re-configuration of routers every time the user wishes to change the level of QoS for user applications. 
     The described methodologies can be implemented in hardware, firmware, software, or a combination thereof. For a hardware implementation, the processing units can be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof. Herein, the term “system” encompasses logic implemented by software, hardware, firmware, or a combination thereof. 
     For a firmware and/or software implementation, the methodologies can be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine readable medium, tangibly embodying instructions, can be used in implementing the methodologies described herein. For example, software codes and programs can be stored in a memory and executed by a processing unit. Memory can be implemented within the processing unit or may be external to the processing unit. As used herein, the term “memory” refers to any type of long term, short term, volatile, nonvolatile, or other storage devices and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored. 
     In another firmware and/or software implementation, the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include computer-readable media encoded with a data structure, and the computer-readable media encoded with a computer program. The computer-readable media may take the form of an article of manufacture. The computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such a computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of the computer-readable media. 
     In addition to storage on the computer readable media, instructions and/or data may be provided as signals on transmission media included in a communication apparatus. For example, a communication apparatus may include a transceiver having signals indicative of instructions and data. The instructions and the data are configured to cause one or more processors to implement the functions outlined in the claims. That is, a system includes transmission media with signals indicative of information to perform disclosed functions. At a first time, the transmission media included in the communication apparatus may include a first portion of the information to perform the disclosed functions, while at a second time the transmission media included in the communication apparatus may include a second portion of the information to perform the disclosed functions. 
     It should be noted that the description and figures merely illustrate the principles of the present subject matter. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the present subject matter and are included within its spirit and scope. Further, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the present subject matter and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the present subject matter, as well as specific examples thereof, are intended to encompass equivalents thereof. 
     It will also be appreciated by those skilled in the art that the words during, while, and when as used herein are not exact terms that mean an action takes place instantly upon an initiating action but that there may be some small but reasonable delay, such as a propagation delay, between the initial action, and the reaction that is initiated by the initial action. Additionally, the words “connected” and “coupled” are used throughout, for clarity of the description and can include either a direct connection or an indirect connection. 
     The manner in which the systems and the methods of prioritizing QoS for user applications shall be implemented has been explained in details with respect to the  FIG. 1 ,  FIG. 2 , and  FIG. 3 . While aspects of described systems and methods for prioritizing QoS for user applications can be implemented in any number of different computing systems, transmission environments, and/or configurations, the embodiments are described in the context of the following exemplary system(s). 
       FIG. 1  illustrates a network environment  100  for prioritizing QoS for user applications. The network environment  100  includes one or more communication devices  102 - 1 ,  102 - 2 ,  102 - 3 , . . . , and  102 -N, hereinafter collectively referred to as communication devices  102  and individually referred to as the communication device  102 , connected to a communication network  104 , according to an embodiment of the present subject matter. 
     The communication devices  102  may be defined as User Equipments (UEs) used by users to communicate with each other. Examples of the communication devices  102  may include, without limitation, mobile phones, landline phones, desktop computers, hand-held devices, laptops or other portable computers, network computers, and the like. Each of the communication devices  102  work on a communication protocol as defined by the communication network to which the communication device  102  is coupled. 
     The communication network  104  may be a wireless network, or a combination of wired and wireless network. The communication network  104  can be a collection of individual networks, interconnected with each other and functioning as a single large network (e.g., the internet or an intranet). Examples of such individual networks include, but are not limited to, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), and the like. Further, depending on the technology, the communication network  104  includes various network entities, such as gateways, routers; however, such details have been omitted for ease of understanding. 
     Further, the communication devices  102  are configured to interact with each other over the communication network  104  using network routed communication links  106 - 1 ,  106 - 2 ,  106 - 3 , . . . ,  106 -N. 
     The communication network  104  further comprises a domain name system (DNS) server  108  and a home location register (HLR)  110 . In one implementation, the DNS server  108  may be configured to send a user defined domain name list (UDDL), received from a user of the communication device  102 , to the HLR  110  for prioritizing domain names specified in the UDDL. Typically, the HLR  110  is responsible for managing the network resources for providing a quality of service (QoS) associated with the communication device  102 . Based on the UDDL, the HLR  110  performs a radio access bearer (RAB) assignment for the communication device  102  for prioritizing the domain names specified in the UDDL, thereby ensuring smooth operation of the services requested by the user. Further, as described previously, the RAB is used for carrying user data over the communication network  104 , as would be understood by a person skilled in the art. 
     For the purpose, the DNS server  108  includes one or more processor(s)  112 , I/O interface(s)  114 , and a memory  116  coupled to the processor(s)  112 . The processor(s)  112  may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s)  112  are configured to fetch and execute computer-readable instructions stored in the memory  116 . 
     The functions of the various elements shown in the figures, including any functional blocks labeled as “processor(s)”, may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and/or custom, may also be included. 
     The I/O interface(s)  114  may include a variety of software and hardware interfaces, for example, interfaces for peripheral device(s), such as data input output devices, referred to as I/O devices, storage devices, network devices, etc. The I/O device(s) may include Universal Serial Bus (USB) ports, Ethernet ports, host bus adaptors, etc., and their corresponding device drivers. The I/O interface(s)  114  facilitate the communication of the HLR  110  with various networks, such as the communication network  104  and various communication and computing devices, such as the communication devices  102 . 
     The memory  116  may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. 
     The DNS server  108  may also include various modules  118 . The modules  118 , amongst other things, include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types. The modules  118  may also be implemented as, signal processor(s), state machine(s), logic circuitries, and/or any other device or component that manipulate signals based on operational instructions. 
     Further, the modules  118  can be implemented in hardware, instructions executed by a processing unit, or by a combination thereof. The processing unit can comprise a computer, a processor, such as the processor  112 , a state machine, a logic array or any other suitable devices capable of processing instructions. The processing unit can be a general-purpose processor which executes instructions to cause the general-purpose processor to perform the required tasks or, the processing unit can be dedicated to perform the required functions. 
     In another aspect of the present subject matter, the modules  118  may be machine-readable instructions (software) which, when executed by a processor/processing unit, perform any of the described functionalities. The machine-readable instructions may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium or non-transitory medium. In one implementation, the machine-readable instructions can be also be downloaded to the storage medium via a network connection. 
     The DNS server  108  may further include data  120 , which amongst other things, serves as a repository for storing data processed, received, associated, and generated by one or more of the module(s)  118 . 
     The module(s)  118  further include a user interaction module  122 , a conversion module  124 , and other module(s)  126 . The other module(s)  126  may include programs or coded instructions that supplement applications and functions of the DNS server  108   
     The data  120  includes, for example, user interaction data  128 , conversion data  130 , and other data  132 . The other data  132  includes data generated as a result of the execution of one or more modules in the other module(s)  126 . 
     Typically, a service provider offers several services, such as mobile TV, internet services, online gaming, and several other services to a user over a communication network. The user may avail any of the services through a communication device registered with the service provider. Further, the communication device has a QoS profile associated with it based on a subscription plan availed by the user. For example, the communication device may have a class A QoS profile, based on the subscription plan availed by the user. In another example, the communication device may have a class B QoS profile. Each of the several classes of QoS profile offer different connectivity experience to the user. For instance, a communication device having class A QoS profile may have greater bandwidth allotted to it as compared to a communication device having class B QoS profile. Further, all traffic from various applications used by the user are serviced throughout the communication network according to the class of QoS profile associated with the communication device corresponding to the user. 
     According to an implementation of the present subject matter, a user of the communication device  102 , registered with the service provider, may wish to prioritize certain domains for ensuring convenient browsing experience while accessing services over those domains. For example, the user may wish to prioritize certain banking domains for ensuring successful completion of online transactions. In another implementation, the user may wish to prioritize certain online gaming domains for ensuring smooth gameplay over these websites. In order to prioritize the desired domains, the user may define a user defined domain list (UDDL), where the UDDL comprises of the domain names which the user wishes to prioritize. For example, the user may enlist several websites, such as banking websites, shopping websites, online gaming websites, and the like, in the UDDL to ensure convenient browsing experience while surfing these websites. In one implementation, the user may define the domain list in descending order of priority, i.e., domains with topmost priority are provided at the top of the domain list. In another implementation, the user may divide the UDDL in different sections. For example, the user may divide the UDDL in three sections, such as high priority section, medium priority section, and low priority section. The user may enlist certain domains, such as banking websites, e-mail websites, and news websites in high priority section to ensure convenient browsing experience while accessing these websites. Similarly, the user may classify certain domains which are not frequently used in the low priority section. 
     Typically, for availing services offered by the service provider, the communication device  102  latches onto an access point of the communication network  104 . Further, a firewall present in the communication network  104  performs the authentication check of the communication device  102  through a conventional authentication, authorization, and accounting (AAA) server. Upon successful authentication of the communication device  102 , conventional tunnel establishment takes place for carrying user data, as would be understood by a person skilled in the art. 
     Subsequently, the user sends the UDDL to the service provider through the communication device  102 . In one implementation, the user may send the UDDL through a short messaging service (SMS) message. In another implementation, the user may send the UDDL via an e-mail. In yet another implementation, the user may request for prioritizing the domain names enlisted in the UDDL over a voice call. 
     As described previously, the DNS server  108  may be configured to receive the UDDL sent by the user. In one implementation, the user interaction module  122  may be configured to receive the UDDL sent by the communication device  102 . Further, the user interaction module  122  may be configured to store the UDDL in the user interaction data  128 . In one implementation, the conversion module  124  may be configured to convert the UDDL into a format recognizable by the HLR  110 . For the purpose, the conversion module  124  may obtain the UDDL stored in the user interaction data  128 . For example, the conversion module  124  may be configured to convert the domain names enlisted in the UDDL into their respective IP addresses. Typically, in computer networks using internet protocol, all domain names are recognized by their respective IP addresses. Based on the IP address, data traffic is routed over the internet accordingly. In one implementation, the conversion module  124  may include an application for converting the domain names into a format recognizable by the HLR  110 . Further, the conversion module  124  may be configured to save the converted domain names in a modified UDDL. The conversion module  124  may be provisioned to store the modified UDDL in the conversion data  130 . Subsequently, the conversion module  124  may be configured to send a RAB assignment message containing the modified UDDL to the HLR  110  over an interface. 
     In one embodiment, the HLR  110  is responsible for managing network elements for providing QoS to user data in the communication network  104 . In one implementation, the HLR  110  is configured to manage network elements, such as routers, gateways, and the like, based on the QoS profile associated with the communication device  102  for providing QoS to user data from the communication device  102 . For example, for a communication device  102  having the class A QoS profile, the HLR  110  may manage the network resources accordingly in order to provide high bandwidth for all communications from the communication device  102 . For the purpose, the HLR  110  performs the RAB assignment for configuring network elements. Upon completion of the RAB assignment, the user data from the communication device  102  is routed over the network according to the QoS profile of the communication device  102 . QoS parameters, such as bandwidth, latency, and the like may be configured at the network elements for routing the user data accordingly. 
     In one implementation, the HLR  110  may be configured to perform the RAB assignment for the communication device  102  based on the modified UDDL received through the RAB assignment message from the DNS server  108 . Subsequently, the HLR  110  configures the network elements, such as a router and a gateway, based on the domain names enlisted in the modified UDDL. As a result, the network elements are configured to provide dedicated QoS, using the allocated resources for the communication device  102 , to the user data pertaining to the domain names enlisted in the modified UDDL, thereby ensuring a convenient browsing experience over these domain names. For example, the user data for a banking domain name enlisted in the modified UDDL may be provided dedicated QoS, thereby ensuring completion of transactions and averting any error during transactions over the banking website. 
     The present subject matter thus ensures that dedicated QoS for user data pertaining to the domain names enlisted in the UDDL is delivered, thereby ensuring a convenient browsing experience for the user. Further, the user is assured of completion of any service the user is availing over these domains, such as any banking transaction, gameplay over websites, and the like. 
       FIG. 2  illustrates a call-flow diagram indicating a procedure for prioritizing QoS for user applications in communication networks, in accordance with an embodiment of the present subject matter. The various arrow indicators used in the call-flow diagram depict the transfer of signal/information between the communication device  102 , the DNS server  108 , and the HLR  110 . In many cases, multiple network entities besides those shown may lie between the entities, including transmitting stations, and switching stations, although those have been omitted for clarity. Similarly, various acknowledgement and confirmation network responses may also be omitted for clarity. 
     In one implementation, the process of prioritizing QoS for user applications is initiated with the communication device  102  sending a UDDL request message  252  to the DNS server  108 . The UDDL request message  252  comprises of the UDDL. As described previously, the UDDL comprises of all the domain names which a user wishes to prioritize. In one implementation, the UDDL may include the domain names in an increasing/decreasing order of priority. For example, the user may enlist several banking domain names, stock exchange domain names, and other domain names of user&#39;s choice in UDDL. In one implementation, the user may send the UDDL through a communication device  102 . In one implementation, initially the communication device  102  latches onto an access point of the communication network  104  for availing services provided by the service provider. Further, a firewall present in the system authenticates the communication device  102  by matching the identification credentials of the communication device  102 , such as IMSI number, registration number, and the like with a database present in the authentication, authorization, and accounting (AAA) server. Further, conventional tunnel establishment procedure is performed and a tunnel is established for carrying user data. Subsequently, the UDDL request message  252  is sent to the DNS  108 . In one implementation, the UDDL may be sent through as an SMS message. In another implementation, the user may send the UDDL through an e-mail to its service provider. In another implementation, the user may request to prioritize the domain names enlisted in the UDDL through a voice call. 
     In one implementation, the DNS server  108  is provisioned to store the UDDL request message  252 . Further, the DNS server  108  may be configured to convert the domain names enlisted in the UDDL to a format recognizable by the HLR  110 . In one implementation, the DNS server  108  converts the domain names enlisted in the UDDL to their respective IP addresses. Further, the DNS server  108  may enlist the converted domain names in a modified UDDL. Subsequently, the DNS server  108  transmits a RAB assignment message  254  comprising the modified UDDL to the HLR  110 . 
     Typically, the HLR  110  is responsible for managing network elements for providing QoS in the communication network  104 . The HLR  110  performs RAB assignment for managing the network elements according to a QoS profile corresponding to the communication device  102 . In one implementation, the HLR  110  may be configured to manage network resources, such as routers, gateways, and the like based on the modified UDDL received via the RAB assignment message  254 . Subsequently, the HLR  110  sends a RAB assignment acknowledgement message  256  to the DNS server  108 , thereby indicating successful configuration of the network elements. 
     Upon successful exchange of these messages, the network elements are configured for prioritizing QoS for user data pertaining to the domain names specified in the UDDL, thereby ensuring convenient browsing experience for the user while availing services over these domains. 
       FIG. 3  illustrates an exemplary method  300  for prioritizing QoS for user applications in communication systems, according to an embodiment of the present subject matter. The order in which the method  300  is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method  300 , or an alternative method. Additionally, individual blocks may be deleted from the method without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof. 
     The method(s) may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices. 
     A person skilled in the art will readily recognize that steps of the method can be performed by programmed computers. Herein, some embodiments are also intended to cover program storage devices, for example, digital data storage media, which are machine or computer readable and encode machine-executable or computer-executable programs of instructions, wherein said instructions perform some or all of the steps of the described method. The program storage devices may be, for example, digital memories, magnetic storage media, such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media. The embodiments are also intended to cover both communication network and communication devices configured to perform said steps of the exemplary method. 
     At block  302 , a user defined domain list (UDDL) is created, where the UDDL comprises of domain names in order of priority which a user wishes to prioritize. In one implementation, the user may create the UDDL comprising domain names in descending order of priority. In another implementation, the user may divide the UDDL into three groups, i.e., high, medium, and low priority groups. The user may then enlist the domain names in these groups in the UDDL. 
     At block  304 , a UDDL message containing the UDDL is sent to a domain name system (DNS) server. For example, as described previously, the communication device  102  sends the UDDL message to the DNS server  108 . In one implementation, the UDDL message may be sent through an SMS message. In another implementation, the UDDL message may be sent through an e-mail. In yet another implementation, the user may wish to prioritize domain names enlisted in the UDDL through a voice call to its service provider. 
     At block  306 , the UDDL is converted into a modified UDDL. In one implementation, the conversion module  124  may be configured to convert the domain names enlisted in the UDDL to a format recognizable by the HLR  110 . Further, the conversion module  124  is provisioned to store the modified domain names in a modified UDDL. 
     At block  308 , a radio access bearer (RAB) assignment message containing the modified UDDL is sent to a home location register (HLR). For example, the conversion module  124  may be configured to send the RAB assignment message to the HLR  110 . 
     At block  310 , configuration of network elements based on the modified UDDL is performed. In one implementation, the HLR  110  may be configured to configure the network elements, such as router, gateway, and the like for prioritizing QoS based on the modified UDDL. Upon completion of the configuration of the network elements, user data pertaining to the domain names enlisted in the modified UDDL are provided dedicated QoS, thereby ensuring convenient browsing experience for the user while availing services over these domains. 
     Although embodiments for methods and systems for prioritizing QoS for user applications in a communication network have been described in a language specific to structural features and/or methods, it is to be understood that the invention is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as exemplary embodiments for triggering user authentication in a communication network.