In subscriber aware networks, such as Worldwide Interoperability for Microwave Access (WiMax) networks, High Speed Packet Access (HSPA) networks, 3rd Generation Partnership Project Long Term Evolution (3GPP LTE) networks etc., quality of service (QoS) parameters are tightly associated with each subscriber. Due to network resource constraints such as radio bandwidth, QoS is enforced end-to-end on per subscriber basis.
Embodiments of the present invention include methods, apparatuses, and computer program products for enforcing service profiles in a mobile network. An example embodiment of the present invention includes a network node in a mobile network that includes modules configured to enforce service profiles. Modules are configured to compare service profiles based on service parameters and define service-profile identifiers with service profile having common service parameters. Further, the modules can group subscriber identifiers with the service-profile identifiers based on the service profiles and enforce the service profiles for each subscriber identifier.
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
A description of example embodiments of the invention follows.
In current subscriber-aware mobile networks, parameters of each subscriber are provisioned in a centrally located repository, such as an authentication, authorization, and accounting (AAA) server or home location register (HLR). These parameters are returned to entities enforcing quality of service (QoS) on a per-subscriber basis, which limits the number of subscribers that can be supported.
Previous approaches attempt a solution with infinite resources that can copy each QoS profile on per-subscriber basis and can have one-to-one mapping in software, as well as hardware. The previous attempts at solutions placed severe limitations on the number of subscribers that can be supported by a network. Other attempts to solve this problem tried to share common parameters, such as classifiers, in a scarce resource such as a ternary content addressable memory (TCAM), such that packets matching a set of classifiers can be mapped to one QoS class even though packets may arrive from two different subscribers. Previous approaches in the industry program a TCAM with classifier for each subscriber (with each subscriber's Internet protocol (IP) address), causing the scarce resource memory of the data plane to be quickly exhausted. Furthermore, prior approaches cannot support overlapping classifiers.
Example embodiments of the present invention allow a profile identifier to be associated to a given set of subscribers first, and classifiers for that profile identifier are programmed. Each profile identifier creates a unique (disjoint) set of classifiers that can be matched in parallel in the TCAM. Following receipt of a traffic packet, the forwarding engine can perform a look-up of the profile and use it to form a TCAM key. Based on the TCAM key, the TCAM can look-up only the classifiers that are needed. This provides the service class within a given profile. A look-up of classifiers using a subscriber identifier, which can include, for example, an IP address, international mobile subscriber identity (IMSI), or other known or future-developed identifier, can map the subscriber identifier to a unique QoS profile in hardware; thereby reducing QoS resource requirements without sacrificing functional capability.
In the example embodiment, a system-wide profile identifier is assigned to a plan; all subsequent subscribers with that plan can be mapped, at an enforcement device such as an Access Signaling Node Gateway (ASN-GN), Gateway GPRS Support Node (GGSN), or a network processing unit (NPU), with that system-wide profile identifier. For example, if a service provider has ten service plans and one million subscribers using those ten service plans, then a memory in a control plane of the example embodiment is only consumed for the ten plans. In alternative embodiments, data corresponding to the ten service plans are maintained strictly in the data plane, offloading more data and processing from this control plane. Details of which are described in Applicants' pending U.S. patent application (Serial Number not yet assigned) being filed concurrently herewith, entitled “Method and Apparatus for Assigning Resources in a Network Node” by Santosh Chandrachood, which claims priority to Applicants' U.S. Provisional Patent Application No. 61/278,486, filed Oct. 7, 2009, entitled “A Method and Apparatus to Allocate Network Processing Unit Resources Dynamically in Fast Path Without Host CPU Involvement and Without Statically Holding Up Resources” by Chandrachood, the entire teachings of both applications being incorporated herein by reference in their entirety.
Embodiments of the present invention can account for a fact that a network operator may create a few service classes with QoS parameters and derive various subscriber plans out of service classes. For example, a service provider can have voice1, voice2, voice3, video1, video2, video3, BE1, BE2, BE3 service classes but may create plans such as Gold'{voice1, video1, BE1} and so on. Embodiments of the present invention may enable plans to be generated in a dynamic manner as subscribers join the network.
Embodiments of the present invention provide various technical advantages over conventional methods and apparatuses for allocating resource in a network node, such as scaling network resources to handle large numbers of classifiers by “chunking” classifiers together dynamically without truncation. Some of these technical advantages are shown and described with respect to the accompanying figures. Certain embodiments of the present invention may enjoy some, all, or none of these advantages. Other technical advantages should be readily apparent to those skilled in the art from the following figures, description, and claims.
The access network 101 can connect basic network elements such as a mobility management entity (MME) (not shown), home location register (HLR) (not shown), home agent 125, gateways 120a-b, or other known network elements. The access network 101 connects to at least one base station 140a-f, either directly or through additional networks, such as an edge network (not shown), which connect mobile devices 150a-g via a telecommunications interface or wireless medium, e.g., an air interface. The home agent 125 further connects the wireless network to external networks, e.g., the Internet 116 or a mobile switching center containing service portals 115a-d. The service portals 115a-d can include a multitude of service types, for example, an authentication, authorization, and accounting (AAA) server 115a, dynamic host configuration protocol (DHCP) server 115b, billing server 115c, home policy function (PF) server 115d, or other type of portal that may be used at the mobile switching center. The AAA server 115a may provide authentication services to validate a subscriber, authorization to determine the subscriber's rights, and accounting to determine subscriber's usage. The DHCP server 115b may provide for address allocation services in a manual, automatic, or dynamic manner, or as otherwise provided by a network administrator. The PF server 115d may provide general policy rules or application dependent policy rules. The PF server 115d may evaluate network requests against the policies and may be associated with a home policy database, which may be associated with a network service processor (NSP) (not shown).
For example, continuing to refer to
Example embodiments of the present invention can include a quality of service (QoS) classifier table 131, which can be located at a network node, such as gateway 120b. The QoS classifier table 131 can maintain or include information relating to a subscriber or set of subscribers 150a-g on the network 100. The QoS classifier table 131 can be a centrally located repository for individual subscriber parameters that can be used by or forwarded to entities in the network 100 to enforce QoS on a per-subscriber basis.
Alternatively, an example embodiment of the present invention can support scalability of network resources and provide for fast processing on a per-subscriber basis because the embodiment can group subscribers together based on common parameters. The QoS classifier table 131 can map multiple subscribers with common parameters to a single class of service type (not shown), thereby lowering resource requirements on the network elements. In alternative example embodiments, QoS can provide different priorities to different elements of the network, which may include, for example, providing different services based on applications, subscribers, performance level, data flows, or other commonly known or here-after developed elements requiring quality of service specifications. QoS parameters can include, for example, delay, jitter, bit rate, guarantees, bandwidth, or other commonly employed or hereafter-developed parameters useful for quality of service in a network, such as a mobile communications network.
An example embodiment of the present invention includes a subscriber-aware switch, such as switch 119 in
When a subscriber enters a network, like the network 100 in
Example embodiments of the present invention can include a functional element at a gateway node, or other network node, which has access to a network processing unit (NPU). For example, the block diagram 200 illustrates two functional elements 260a-b, which are interconnected by a fabric 264. The functional elements 260a-b can be, for example, line cards around a network node, or multiple line cards in a chassis. The functional element 260a is designated as a local functional element and the functional element 260b is designated as an anchor functional element. The functional element 260a receives the traffic 202, from a downstream base station (not shown), and may perform network resource functions prior to transmitting the traffic 202 to a second functional element 260b. The functional element 260b can be an anchor line card, such that the anchor line card 260b includes information on a subscriber in the network. For example, a subscriber has a subscriber profile (explained in more detail below) at line card 260b, which is thereby designated, optionally by a central processing unit (CPU) 264a, as the anchor line card out of any interconnected line cards because the subscriber's profile is located at that specific line card 260b. However, any line card, which may be physically or logically interconnected, can be designated as an anchor line card for the same subscriber's profile of other subscriber profiles. Further, line cards can be a primary anchor or backup anchor, where backup anchor line cards become primary anchor line cards for a subscriber's profile in an event of a failure of the primary anchor, configuration, or other fault, depending on multiple factors, for example, where a subscriber's profile is located.
Functional element 260a receives subscriber traffic from a network or base station (as illustrated in
Similar to the functional element 260a, the anchor functional element 260b can receive the traffic packet 202, which can directly enter NPU 263b via a NPU interface (not shown), or, alternatively, the traffic packet 202 may enter a traffic management entity 219b, which may direct the packet further using commonly employed or hereafter-developed methods of traffic management.
The NPU 263b at the anchor functional element 260b can determine, in conjunction with the CPU 264b, classifier table 231, and other optionally interconnected devices, service parameters. For example, in one embodiment, the service parameters can be determined using a service type 255a-c of network traffic 202 that is associated with service profiles, the service parameters can be quality of service (QoS) parameters. Alternatively, in other example embodiments, the service parameters can be determined as a function of the subscriber identifier and the service class identifier. The classifier table 231 can determine rules 256a-c to apply to the traffic 202 based on the service type 255a-c and determine actions 259a-c to apply to the traffic based on the determined rules 256a-c.
For example, another embodiment of the present invention can allow a subscriber on the network to be determined with a certain service profile. The service profile can be contained in a table, such as a QoS profile table 232, which may include the subscriber's service type information 255a-c, the rules 256a-c associated with that type of service, and the actions 259a-c that can be taken based on the rules and services of the subscriber. The service type 255a-c can include, for example, data service 255a, voice service 255b, video stream service 255c, etc., where the voice service 255b has classifiers, or rules 256b, that can allow for different actions 259b to take place.
For example, one rule can state that if the call is an emergency call, mark the first traffic packet received as a high priority packet; therefore, the action may be to send that traffic packet as a high priority packet. Any additional packets determined to have the same protocol address, such as a wide area network (WAN) protocol address, as the first packet, are similarly marked with the subscriber identifier of the first packet.
Additional example embodiments of the present invention can include a module at a network node, which has access to a NPU, which can determine service parameters using a service type of network traffic that is associated with service profiles, the service parameters can be QoS parameters. The module can be in ay configuration, may include one or more corresponding or interconnected modules, in a system of any physical or logical configuration.
Alternative example embodiments can allow for identifying new subscribers joining the mobile network that may need a new service-profile identifier and generating one in a dynamic manner for that new subscriber. If the subscriber is not a new subscriber, in other words, the subscriber is associated with an existing subscriber identifier, it is determined whether that subscriber identifier is associated with a service-profile identifier, if not associated, a service-profile identifier having common service parameters as the subscriber identifier is generated in a dynamic manner and associated with the subscriber identifier.
Continuing to refer to
Alternative embodiments of the present invention may include additional QoS parameters, where the QoS parameters are specified for different layers of a system. QoS parameters can include, for example, expected performance characteristics, degree of synchronization between related services, events, rules, actions, or information flows, degree of resource commitment, cost of service, service access point specifications, and other commonly known or hereafter-developed requirements.
Alternative embodiments may allow for actual enforcement parameters to be bearer dependent, include traffic scheduling information, ordering, queuing, or other commonly employed or hereafter-developed procedures for enforcing quality of service or service parameters.
In alternative embodiments, any or all of the modules 385-388 may exist on a functional element at a network node or as individual, interconnected modules located at different sites on a network, such as network 100 in
Alternative embodiments of the present invention can map QoS information, or other information regarding a subscriber in a network, to a table or module in any configuration or format, where such modules can be in a system of any physical or logical configuration.
The subscriber table 531 can forward a copy of the profile identifiers 552a-c to a secondary table, a QoS profile table 532, which can include payload of traffic 502 corresponding with the profile identifiers 552a-c and further corresponding to QoS and service parameters 553a-c. QoS parameters may include information regarding a set or sets of services 555, which can correspond to a set or sets of rules 556, which further can correspond to a set or sets of actions 559. For example, the profile identifier “P1” 552a corresponds to QoS parameters, for example, service class 1 (SC1) 553a. The service class 553a may contain a multitude of information, which may include, for example, the service 555, rule 556, or action 559 that correspond to the profile identifier 552a.
The QoS profile table 532 may forward the QoS information or a copy of the service class 553a-c information to a tertiary table, a QoS match table 533, which can include, for example, the subscriber identifiers 557a-c and the QoS service classifiers that correspond to the individual subscriber identifiers 557a-c.
Alternative embodiments of the present invention can include, for example, multiple types of memory interconnected or available to forward and receive data from another memory unit. Other embodiments may include fewer or greater numbers of tables with similar or different network information.
Further example embodiments of the present invention may include a non-transitory computer readable medium containing instruction that may be executed by a processor, and, when executed, cause the processor to monitor the information, such as components or status, of at least a first and second network element. It should be understood that elements of the block and flow diagrams described herein may be implemented in software, hardware, firmware, or other similar medium determined in the future. In addition, the elements of the block and flow diagrams described herein may be combined or divided in any manner in software, hardware, or firmware. If implemented in software, the software may be written in any language that can support the example embodiments disclosed herein. The software may be stored in any form of computer readable medium, such as random access memory (RAM), read only memory (ROM), compact disk read only memory (CD-ROM), and so forth. In operation, a general purpose or application specific processor loads and executes software in a manner well understood in the art. It should be understood further that the block and flow diagrams may include more or fewer elements, be arranged or oriented differently, or be represented differently. It should be understood that implementation may dictate the block, flow, and/or network diagrams and the number of block and flow diagrams illustrating the execution of embodiments of the invention.
The teachings of all patents, published applications, and references cited herein are incorporated by reference in their entirety.
While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
This application claims the benefit of U.S. Provisional Application No. 61/278,505, filed on Oct. 7, 2009, the entire teachings of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61278505 | Oct 2009 | US |