US20060072595A1 - System and method for service tagging for enhanced packet processing in a network environment - Google Patents
System and method for service tagging for enhanced packet processing in a network environment Download PDFInfo
- Publication number
- US20060072595A1 US20060072595A1 US10/959,810 US95981004A US2006072595A1 US 20060072595 A1 US20060072595 A1 US 20060072595A1 US 95981004 A US95981004 A US 95981004A US 2006072595 A1 US2006072595 A1 US 2006072595A1
- Authority
- US
- United States
- Prior art keywords
- end user
- cspg
- charging
- operable
- inter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
Definitions
- This invention relates in general to the field of communications and, more particularly, to a system and a method for service tagging for enhanced packet processing in a network environment.
- networking services have become increasingly important in today's society.
- One feature of networking services relates to client or source awareness.
- Certain services, functions, or capabilities may be provided to a group of end users or to clients based on a corresponding source profile or policy.
- Devices or components within a network must generally be able to identify such a profile or policy before offering selected enhanced services, functions, or capabilities to a targeted group of end users. Accordingly, sufficient information must be made available at specific times in order to allow for an accurate identification of a flow and, further, to bill for and/or process that flow accordingly.
- a system and a method for billing and for implementing security policies in a network environment are provided that greatly reduce disadvantages and problems associated with conventional communications techniques.
- an apparatus for charging in a network environment that includes an access gateway encapsulation/decapsulation element operable to establish one or more packet data protocol (PDP) links on behalf of an end user and to perform encapsulation and decapsulation operations for one or more of the links associated with the end user.
- the access gateway encapsulation/decapsulation element is further operable to interface with a client services packet gateway (CSPG) that is operable to provide enhanced packet processing for the end user for requested information.
- the apparatus also includes an access gateway policy element operable to interface with the CSPG.
- the access gateway encapsulation/decapsulation element and the access gateway policy element cooperate to use one or more inter-module headers in order to coordinate the enhanced packet processing for one or more communication flows associated with the end user.
- Certain embodiments of the present invention may provide a number of technical advantages. For example, according to one embodiment of the present invention, a communications approach is provided that allows for distribution of an enhanced gateway functionality in two elements that are optimized for accurate billing. Such an architecture may also provide an ideal placement of a charging functionality in any enhanced gateway system such that charging is properly executed. Further, the proffered configuration provides enhanced processing of flows generated by active charging elements in any gateway.
- Another technical advantage associated with one embodiment of the present invention relates to security.
- the configuration of the present invention allows for an integration of a security functionality within enhanced gateways.
- one example embodiment could relate to billing, but another configuration could implement similar service tagging that can be used to integrate per subscriber security into the enhanced gateway.
- the present configuration may also provide the advantage of having failover scenarios with the per subscriber state being passed in-band with the packet.
- FIG. 1 is a simplified block diagram of a communications system for service tagging for billing in a network environment in accordance with one embodiment of the present invention
- FIG. 2 is a simplified flowchart that illustrates an example implementation and operation of the communication system
- FIG. 3 is a simplified schematic diagram that provides a summary of headers between elements that may be included in the communication system
- FIG. 4A is a simplified block diagram of an alternative embodiment of the present invention that is associated with security.
- FIG. 4B is an example overview of a method associated with the alternative embodiment of FIG. 4A .
- FIG. 1 is a simplified block diagram of a communication system 10 for providing enhanced packet processing (e.g. for purposes of security or billing) in a network environment.
- Communication system 10 includes an end user 12 , a radio access network (RAN) 16 , a serving general packet radio service (GPRS) support node (SGSN) 18 , and an internet protocol (IP) network 20 .
- RAN radio access network
- GPRS general packet radio service
- SGSN serving general packet radio service
- IP internet protocol
- communication system 10 includes a gateway GPRS support node (GGSN) encapsulation/decapsulation element 30 , a GGSN policy element 32 , and a client services packet gateway (CSPG) 14 .
- GGSN policy element 32 may be coupled to a policy decision function (PDF) 50 .
- PDF policy decision function
- CSPG 14 may include a loggen element 24 , a known user table (KUT) 26 , and a quota manager element 36 .
- Communication system 10 may additionally include a billing system element 40 that may include a quota server 42 and a billing mediation agent (BMA) 44 .
- BMA billing mediation agent
- FIG. 1 may be generally configured or arranged to represent 2.5 G communication architecture applicable to a Global System for Mobile (GSM) environment in accordance with a particular embodiment of the present invention.
- the 2.5 G architecture is offered for purposes of example only and may alternatively be substituted with any suitable networking protocol or arrangement that provides a communicative platform for communication system 10 .
- communication system 10 may cooperate with any version of a GPRS tunneling protocol (GTP) that could benefit from a billing function being provided for any network element.
- GTP GPRS tunneling protocol
- This may be inclusive of first generation, 2 G, and 3 G architectures that provide features and services for any end user 12 .
- communication system 10 could be applied to any access network/protocol that allows end user 12 to create sub-connections, which specify differential treatment for packets in those connections.
- the relaying of such information into one or more CSPG devices could be implemented in any such network/access technology.
- communication system 10 provides multiple inter-module headers that are used to permit the distribution of a charging functionality within an enhanced gateway (i.e. a given GGSN may be separated into two components that straddle CSPG 14 and that relate to charging).
- Inter-module headers are used to pass access point name (APN) and tunnel ID information between individual modules within the enhanced gateway (i.e. CSPG 14 ).
- Inter-module headers are also used to ensure locally generated charging IP packets are routed correctly through downlink policy control in order to determine whether packets should be dropped and, if permitted, which downlink tunnel should be used to transport the charging packet.
- inter-module headers may be used to integrate a security functionality into enhanced gateways. Additionally, inter-module headers are used to support failover scenarios in certain elements. This can be done because state information is passed in-band with the packet.
- Access gateways (such as a given GGSN) generally provide network access to end users 12 (e.g. mobile stations) by terminating GTP tunnels initiated by SGSN 18 .
- Version 1.0 of the GTP protocol allows mobile stations to open multiple packet data protocols (PDPs) within these GTP tunnels.
- the secondary PDPs are sub-tunnels intended to be used to provide differentiated quality of service (QoS) for traffic flowing through them.
- QoS quality of service
- a GGSN can generally provide network access to end user 12 (e.g. via a mobile station) by terminating GTP tunnels initiated by SGSN 18 .
- the GTP protocol may allow mobile stations to open multiple PDPs within these GTP tunnels.
- a mobile station can specify a traffic flow template (TFT) that defines the traffic pattern, which in turn governs the treatment of traffic that the mobile station will receive through this PDP.
- TFT may define, for example, the L3-L4 information (IP address and ports) as well as a desired QoS for this traffic pattern.
- the TFT information may be stored in a GGSN to offer per-PDP QoS to the mobile station (i.e. end user 12 ).
- the GGSN may be configured to relay the TFT information into backend flows (e.g. RADIUS, terminal access controller access system (TACACS), DIAMETER, and GTP′) to other interested network elements.
- backend flows e.g. RADIUS, terminal access controller access system (TACACS), DIAMETER, and GTP′
- the TFT information element may consist of source/destination IP addresses, source/destination ports, a protocol identifier, an IPSec security parameter index, a type of service/traffic class, etc. This allows other network elements that are gathering information (via RADIUS proxy or a GTP' interface to the GGSN) to properly classify and provide differentiated services to traffic on each secondary PDP.
- a service to be provided is differentiated billing.
- end user 12 opens two PDPs, one for basic internet connectivity and the other with a higher QoS for a voice application.
- Downstream service gateways could bill the voice application at a higher rate. This could be accomplished by matching user traffic to a TFT-defined L4 profile learned by an interested service gateway via (for example) RADIUS or GTP′.
- a GGSN is equipped to relay the TFT traffic profile data (i.e. traffic pattern information) associated with secondary PDPs through its control path interfaces (GTP′, RADIUS, etc). This enables interested service gateways in the control path (e.g. CSPG 14 ) to deliver per-PDP differentiated services.
- the GGSN adds TFT profile information to the GTP′ and RADIUS interfaces. CSPG 14 could then begin parsing this info and begin applying differentiated services per-PDP. In an implementation of charging, it is important that a bearer flow billing functionality does not account for (downlink) packets, which are subsequently dropped at the GGSN (i.e. due to the operation of such policy controlled gating functionality).
- access gateway refers to GGSN encapsulation/decapsulation element 30 and/or GGSN policy element 32 in one example, but could include any number of additional terms that can be included in a broad definition of an access gateway (e.g., a network access server (NAS)).
- NAS network access server
- charging refers to any element associated with billing or accounting. This broad term encompasses such elements, as well as additional objects (e.g., crediting or debiting) where appropriate.
- communication system 10 relates a scenario in which the charging functionality is implemented in a separate component, which can be independent of the traditional gateway functionality. This will frequently be the case as the charging functionality may require dedicated application specific integrated circuits (ASICs) for performing deep packet inspection, as compared to the more generic functionality provided by other gateway elements.
- ASICs application specific integrated circuits
- the policy that is to be implemented in the gateway element will frequently be defined to silently discard packets that are out of contract.
- This contract may be statically defined for a particular user or for a set of users and be set according to subscription. Further, this contract may be dynamically negotiated at session establishment (e.g., using 3GPP QoS negotiation and TFT definition) or dynamically controlled throughout the duration of the session, e.g., using 3GPP context modification procedures and/or COPS-PR control.
- the charging functionality should not be counting packets that will be subsequently dropped by the gateway element.
- one particular approach to deliver charging functionality is to terminate TCP and to perform a “half proxy” functionality, whereby (for example) hypertext transfer protocol (HTTP) requests can be intercepted by the charging function and quota server 42 can then determine how to process the flow. For example, if quota server 42 replies that insufficient quota is available, the charging function can reply with a HTTP 302 message that redirects the user.
- HTTP hypertext transfer protocol
- Communication system 10 overcomes a number of existing network deficiencies in order to provide a platform that relates to the integration of a charging functionality that includes TCP termination functionality in CSPG 14 . Similar concepts can be applied to other access technologies, e.g., integrated charging for digital subscriber line (DSL) access, a cable modem termination system (CMTS) for cable modem access, a packet data serving node (PDSN) for code division multiple access (CDMA) access, or a home agent configuration for mobile IP services.
- DSL digital subscriber line
- CMTS cable modem termination system
- PDSN packet data serving node
- CDMA code division multiple access
- the charging function for the downlink is generally executed after any policy control functionality is performed.
- the following is the chaining of service for downlink flows: downlink interface, GGSN policy element 32 (e.g., per user policy), charging function, tunnel encapsulation and then to the end user (via one or more tunnels).
- the placement of the charging function may be chosen to dissuade users from trying to circumvent policy control. In this manner, end user 12 would be penalized for sending out of contract packets.
- end user via one or more tunnels
- tunnel decapsulation e.g. per user policy
- charging function e.g. per user policy
- FIG. 1 a given GGSN has been deconstructed in communication system 10 , whereby the charging function (CSPG 14 ) is positioned between the tunnel encapsulation/decapsulation function (GGSN encapsulation/decapsulation element 30 ) and the policy function (GGSN policy element 32 ).
- the active charging element will be generating packets. This could translate into, for example, terminating TCP and potentially replying with HTTP 302 redirection messages.
- the downlink messages should pass through the per user policy function in order to establish: 1) whether the downlink packet matches a defined access control list (either static or dynamic); and 2) (in the case of GPRS) which downlink tunnel is used to transport the packet generated by the active charging element.
- a defined access control list either static or dynamic
- GPRS GPRS
- the TFT is generally user defined and, thus, it cannot be assumed that a flow uses a single tunnel and that the up-link TCP SYN will use the same tunnel as the downlink TCP SYN/ACK. In both cases, it is evident that the reverse packet should traverse the downlink policy function. Details relating to specific implementations of such signaling are provided below with reference to the flowchart of FIG. 2 .
- end user 12 is a client or a customer wishing to initiate a communication session or a data flow in communication system 10 via IP network 20 .
- End user 12 may be inclusive of devices used to initiate a communication, such as a computer, a personal digital assistant (PDA), a laptop or an electronic notebook, a telephone, a mobile station, or any other device, component, element, or object capable of initiating voice or data exchanges within communication system 10 .
- End user 12 may also be inclusive of a suitable interface to the human user, such as a microphone, a display, a keyboard, or other terminal equipment (such as for example an interface to a personal computer or to a facsimile machine in cases where end user 12 is used as a modem).
- End user 12 may also be any device that seeks to initiate a communication on behalf of another entity or element, such as a program, a database, or any other component, device, element, or object capable of initiating a voice or a data exchange within communication system 10 .
- Data refers to any type of numeric, voice, video, audio-visual, or script data, or any type of source or object code, or any other suitable information in any appropriate format that may be communicated from one point to another.
- RAN 16 is a communications interface between end user 12 and SGSN 18 .
- RAN 16 may comprise a base transceiver station and a base station controller.
- the communications interface provided by RAN 16 offers connectivity and allows data to be exchanged between end user 12 and any number of selected elements within communication system 10 .
- RAN 16 facilitates the delivery of a request packet generated by end user 12 and the reception of information sought by end user 12 .
- RAN 16 is only one example of a communications interface between end user 12 and SGSN 18 . Other types of communications interfaces may be used for a desired network design based on particular needs.
- IP network 20 represents a series of points or nodes of interconnected communication paths for receiving and transmitting packets of information that propagate through communication system 10 .
- IP network 20 offers a communicative interface between end user 12 and an access gateway (e.g. a GGSN) and may be any local area network (LAN), wireless local area network (WLAN), metropolitan area network (MAN), wide area network (WAN), virtual private network (VPN), or any other appropriate architecture or system that facilitates communications in a network environment.
- IP network 20 implements a user datagram protocol (UDP)/internet protocol (UDP/IP) communication language protocol in a particular embodiment of the present invention. However, IP network 20 may alternatively implement any other suitable communication protocol for transmitting and receiving data or information within communication system 10 .
- SGSN 18 , GGSN encapsulation/decapsulation element 30 , and GGSN policy element 32 are network elements that cooperate in order to facilitate a communication session involving end user 12 .
- GGSN encapsulation/decapsulation element 30 and GGSN policy element 32 are network nodes that may be working in conjunction with multiple SGSNs 18 to provide a communications medium in a GPRS service network environment.
- GPRS represents a packet-based data bearer service for communication services that may be delivered as a network overlay for any type of suitable network configuration or platform.
- GPRS generally applies packet-radio and packet switching principles to transfer data packets in an efficient way between GSM elements or units and external packet data networks.
- GPRS may support multiple internet communication protocols and may enable existing IP, X.25, frame relay, or any other suitable applications or platforms to operate over GSM connections.
- GGSN encapsulation/decapsulation element 30 includes software that is operable to facilitate appropriate signaling for service tagging for purposes of charging or for purposes of providing security in a network environment.
- the augmentation or enhancement may be provided in just one of these elements, two elements, or in all three elements. Such design choices may be based on particular networking or configuration needs.
- this signaling capability may be provided by any suitable hardware, component, device, ASIC, field-programmable gate array (FPGA), micro-processor, read only memory (ROM) element, random access memory (RAM) element, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), processor, algorithm, element or object that is operable to perform such operations.
- FPGA field-programmable gate array
- ROM read only memory
- RAM random access memory
- EPROM erasable programmable ROM
- EEPROM electrically erasable programmable ROM
- processor algorithm, element or object that is operable to perform such operations.
- CSPG 14 is an accounting element that also represents a client-aware device, which may provide or offer some service or feature to end user 12 .
- client-aware devices may key off the source IP address in providing services to end user 12 .
- There are a number of reasons why a device or a component would want to identify end user 12 For example, some devices may wish to identify end user 12 for authorization or quality of service purposes. In another example, a device may wish to maintain user profiles to provide for accounting records (for example per-user accounting) or to provide for content billing operations.
- a device or a component may use an identification to provide for any other type of suitable client-aware service, tool, or feature according to the particular needs of network components or equipment. Additional services may be related to areas such as routing, security, accounting, firewalling, intrusion detection, intrusion prevention, filtering, or any other suitable parameters or policies where user-aware characteristics serve as a basis for service implementation.
- CSPG 14 represents a generic piece of network equipment that can facilitate some type of accounting service for communication system 10 .
- CSPG 14 could be a wireless application protocol (WAP) gateway, a compression and/or optimization engine, a billing engine (inclusive of per-content billing), a service enforcement element, a content authorization component, a policy enforcement gateway, or any other element that is operable to modify, process, or transform data or information in a network environment.
- WAP wireless application protocol
- This may be inclusive of simple routers, switches, loadbalancers, gateways, bridges, or any other piece of network equipment where appropriate and based on particular needs.
- CSPG 14 represents any component, device, element, or object that can benefit from having suitable signaling information provided to it such that appropriate billing may be achieved.
- CSPG 14 utilizes the identity of the client or the end user to provide services based on a source profile.
- CSPG 14 provides client-aware services by operating at networking layers two and three. Accordingly, the information available at networking layers two and three provides a basis for the identification of an end user or a client.
- CSPG 14 may use an IP address or any other suitable parameter to uniquely identify a client or an end user in offering a service, enhanced capability, or feature to an end user.
- CSPG 14 may include any suitable hardware, software, components, or elements that identify a unique identifier in order to provide some networking feature or capability to an end user.
- CSPG 14 may be inserted into a data flow that may view, extract, identify, access, or otherwise monitor information included within the data flow.
- CSPG 14 may handle the enforcement of access, quota distribution, and accounting that is provided by the information retrieved from elements included within billing system element 40 .
- CSPG 14 may generally deduct quota after it has been properly allocated and, subsequently, retrieve additional quota when that quota allocation has been consumed. In a general sense, CSPG 14 may be responsible for quota enforcement for end user 12 .
- CSPG 14 may extract IP source address information associated with end user 12 .
- the IP source address may be used to determine an identity (or profile) of end user 12 that may be stored in KUT 26 .
- CSPG 14 may extract or identify any information within the data flow that provides a correlation between end user 12 and a given data flow.
- CSPG 14 may also be a client-aware device that provides or offers some service or feature to end user 12 . Such services may be based on an effective mapping between a source IP address of a given address packet and a user profile or information associated with end user 12 .
- CSPG 14 may utilize a source IP address in providing services or features to end user 12 .
- CSPG 14 may include a RADIUS component that may receive RADIUS updates and parse the updates. In addition, CSPG 14 may execute some action based on the RADIUS updates it receives. CSPG 14 may be provided with accounting, authorization, and authentication (AAA) capabilities where appropriate. Alternatively, these capabilities may be provided external to CSPG 14 , for example, in a AAA server.
- AAA accounting, authorization, and authentication
- a device or a component may seek to identify the source (end user 12 ) associated with a communication session or data flow. For example, some devices may wish to identify end user 12 for authorization purposes. In another example, a device may wish to maintain user profiles for billing or accounting records (for example, in conjunction with per-user accounting) or to provide for content billing information. Alternatively, a device or a component may use the identification of end user 12 to provide for any other type of suitable client-aware service, tool, or feature according to the particular needs of network operators.
- Additional services may be related to areas such as routing, permissions or access-granting mechanisms, priority, QoS, firewalling, intrusion detection and/or prevention, content filtering, or any other suitable parameters or policies where user-aware characteristics serve as a basis for a network service implementation.
- Loggen element 24 is a storage element operable to build billing records and to communicate the billing records to BMA 44 based on information provided by KUT 26 . Even in cases where the information returned by KUT 26 reflects a null (e.g., no active BMA), this may still be used to determine the destination and queue(s) to use or to invoke for a corresponding billing record. Loggen element 24 may also operate to store data for later use and execute all formatting for billing records to be communicated to BMA 44 . Loggen element 24 may be implemented using hardware, software, or any other suitable element or object operable to store information and to generate a billing record to be communicated to BMA 44 . Loggen element 24 may communicate with BMA 44 in order to log quota usage data associated with end user 12 . Loggen element 24 may generate logging records or billing records and additionally send messages to billing system element 40 associated with a change in SGSN.
- null e.g., no active BMA
- KUT 26 is a data storage element that manages one or more correlations between the ID of end user 12 and a corresponding IP address. KUT 26 may also store information relating to BMA 44 , previously designated to end user 12 , and BMA 44 may be invoked when additional information associated with end user 12 is communicated to CSPG 14 . KUT 26 may be consulted as additional billing records are created in order to determine that BMA 44 should receive selected billing records. KUT 26 may also include an application program interface (API) that may be implemented in order to obtain user ID information for an IP address from a data flow.
- API application program interface
- Quota manager element 36 is an element that manages quota information for services subscribed to by end user 12 .
- Quota manager element 36 also provides an interface between GGSN elements and billing system element 40 and may receive a communication that indicates a change in locale, e.g., corresponding to a change in SGSN 18 .
- Quota manager element 36 may also identify new and old identifiers or pointers for selected locales involved in the communication session and notify billing system element 40 .
- Quota manager element 36 may also communicate with billing system element 40 in order to exchange information associated with funding for end user 12 .
- Quota manager element 36 may also receive RADIUS updates from a GGSN that reflect the status associated with end user 12 .
- Billing system element 40 is an object that manages the billing and access policies associated with a given end user 12 .
- billing system element 40 includes quota server 42 and BMA 44 .
- CSPG 14 may communicate with billing system element 40 in order to retrieve information or to learn of billing policies for end user 12 .
- BMA 44 coordinates billing records and quota server 42 can be used to debit a selected amount of quota from an end user account.
- billing system element 40 may include any suitable elements, hardware, software, objects, or components capable of effecting their operations or additional operations where appropriate. Additionally, any one or more of the elements included in CSPG 14 and billing system element 40 may be provided in an external structure or combined into a single module or device where appropriate. Moreover, any of the functions provided by these two elements may be offered in a single unit or single functionalities may be arbitrarily swapped between CSPG 14 and billing system element 40 .
- the embodiment offered in FIG. 1 has been provided for purposes of example only. The arrangement of elements (and their associated operation(s)) may be reconfigured significantly in any other appropriate manner in accordance with the teachings of the present invention.
- PDF 50 is a logical policy decision element that can use standard IP mechanisms to implement a communications protocol in the IP bearer layer. These mechanisms may be conformant to, for example, the framework defined in IETF [RFC 2753], where PDF 50 is effectively representing a policy decision point. PDF 50 can make decisions using policy rules.
- FIG. 2 is a simplified flowchart that illustrates an example implementation of communication system 10 .
- the method begins at step 100 , where one or more up-link tunnels may be decapsulated. IP address spoofing detection may be performed to ensure that the decapsulated IP source address corresponds to the one allocated during the previous context establishment.
- the selected tunnel (amongst a plurality of tunnels) may affect policy control and charging.
- the decapsulated packet is first tagged with an inter-module packet header corresponding to the tunnel identity.
- an identifier corresponding to the routing domain also referred to as an APN in GPRS
- the final tag added corresponds to the address of the up-link charging function that enables proper switching of the packet.
- step 102 the decapsulated packet (after having been suitably tagged) is switched through to the charging function (i.e. CSPG 14 ).
- the charging function first removes its address header and then charging is performed, whereby the remaining tags of the packet can be used in the quota request to indicate to quota server 42 : 1) which tunnel was used in sending the packet; and 2) to which APN the packet corresponds.
- the packet may be tagged with the address of the up-link policy control unit, which enables proper switching of the packet within the enhanced gateway.
- step 104 the charged packet is switched through to the per user policy enforcement function (i.e. GGSN policy element 32 ).
- GGSN policy element 32 first removes its address header and then uses the remaining tags corresponding to the tunnel identifier and the APN (i.e. the routing domain) to perform per packet policy enforcement. This may entail matching the packet against defined access control lists and real-time gating control in order to determine whether to pass or to discard the packet.
- the APN header is used to determine the VPN routing and forwarding (VRF) element for switching the up-link packet.
- the VRF element reflects a routing table for connecting a set of sites to a VPN service.
- a VRF includes a template of a VPN routing/forwarding table that may be included in a given network device (e.g. a router).
- the inter-module packet headers are removed and the VRF is used to determine, e.g., which 802.1q tag is used to egress the packet from the enhanced gateway. In the downlink direction, the processing is simply reversed.
- the downlink 802.1q VLAN is used to determine to which APN the packet corresponds.
- the destination address of the IP packet (together with the APN) is used to index the policy control function and to identify how the packet is to be handled.
- Per subscriber policy control is indexed based on APN and IP address and, further, allows static and dynamic policy control to be determined.
- the traffic flow template may be used to determine to which tunnel the packet corresponds.
- the packet is tagged with an inter-module packet header, which corresponds to the tunnel identifier and the APN information.
- the final prepended inter-module packet header corresponds to the address of the downlink charging function.
- step 108 the downlink packet (suitably tagged) is switched through to the charging function.
- the charging function first removes its address header and then charging is performed, whereby the remaining tags of the packet can be used in the quota request to indicate to quota server 42 : 1) which tunnel was used in sending the packet; and 2) to which APN the packet corresponds.
- the packet is tagged with the address of the encapsulation/decapsulation function, which enables proper switching of the packet within the enhanced gateway (i.e. CSPG 14 ).
- step 110 the downlink packet is switched to the encapsulation/decapsulation function, whereby the inter-module packet headers are used to determine to which tunnel the downlink packet should be switched.
- the described use of inter-module packet headers has allowed the integration of the charging function within an enhanced gateway.
- the charging function terminates TCP, the following step is defined.
- Step 112 when the charging function generates a downlink packet for the user, e.g., when it responds to a TCP SYN with a TCP SYN/ACK, the charging function will tag the downlink-generated packet with the APN and then prepend the address of the downlink policy control unit to the packet.
- the packet is switched to the downlink policy control unit using the outer address header.
- the downlink policy control unit will strip its address and then use the APN header to determine to which APN the packet corresponds.
- the destination address of the IP packet (together with the APN) is used to index the policy control function and to determine how the packet is handled. Per subscriber policy control is indexed based on APN and IP address.
- the traffic flow template is used to determine to which tunnel the packet corresponds.
- the packet is tagged with an inter-module packet header that corresponds to the tunnel identifier and the APN information.
- the final prepended inter-module packet header corresponds to the address of the downlink charging function.
- FIG. 3 is a simplified schematic diagram that provides a summary of the inter-module headers between network elements that may be included in communication system 10 .
- the headers between the network elements include: an element 70 , which includes a decapsulation to up-link charging that corresponds to an up-link charging address (tunnel ID (APN (IP packet))); an element 72 , which includes charging to up-link policy control that corresponds to an up-link policy address (tunnel ID (APN (IP packet))); an element 74 , which includes a charging to down-link policy control that corresponds to a down-link policy control address (APN (IP Packet)); an element 76 , which includes a down-link policy control to charging that corresponds to a down-link charging address (tunnel ID (APN (IP Packet))); and an element 78 , which includes a down-link charging to tunnel encapsulation that corresponds to a tunnel encapsulation address (tunnel ID
- FIG. 4A is a simplified block diagram of an alternative embodiment of the present invention that relates to security.
- FIG. 4B is an example overview of a method associated with the alternative embodiment of FIG. 4A . These two FIGURES may be reviewed together, as FIG. 4B offers an example flow associated with the configuration of FIG. 4A . Note that FIG. 4B provides a simplistic synopsis of how such a security protocol may be used in conjunction with the teachings of the present invention. The illustrated steps may be supplemented with any appropriate additional steps where appropriate and based on particular needs.
- an inter-module header may be defined that represents the security policy group to which a user has subscribed. This is reflected by Step A. This will be prepended to the packet before it is switched to a security module 90 (of FIG. 4A ), as illustrated by Step B.
- Security module 90 can be part of CSPG 14 or be provided as an independent unit that addresses network security for end user 12 .
- the inter-module header will be used by the security functionality to select the policy to apply to the user's packet flows, as reflected by Step C.
- Step D For example a subscriber may subscribe to one out of ten security options: with option one corresponding to intrusion detection and prevention, option two corresponding to detection only, option three corresponding to no security options, etc.
- Security module 90 will then be able to know how packet handling is to be performed (according to the prepended inter-module header) without having to build its own subscriber state. This operation is reflected by Step D.
- security module 90 may include software operable to interface appropriately with GGSN encapsulation/decapsulation element 30 and GGSN policy element 32 .
- a functionality may be achieved by any suitable hardware, component, device, ASIC, FPGA, microprocessor, EPROM, EEPROM, processor, algorithm, element or object that is operable to perform such operations.
- Such a module may also be provided in any other suitable network component in cases where it is not provided as its own separate component.
- any suitable communicative platforms may be used to effectuate the operations, which provide appropriate signaling for communication system 10 .
- Elements may relay signaling information to other network elements via any suitable backend control protocol (e.g. GTP′, RADIUS, DIAMETER, TACACS, etc.).
- teachings of the present invention may be readily imparted to an end user (or a group of end users) such that the end user may sign up for (or enlist or enroll in) a charging plan that includes the operations and functions described herein.
- an end user could be enrolled in a charging plan that utilizes service tagging in order to achieve appropriate charging in a network environment.
- a corresponding bill may subsequently be generated that reflects such an arrangement.
- Such an arrangement may be reflected by a simple customer arrangement between a service provider and a client.
- an end user could be enrolled in a security policy plan, whereby similar subscribing occurs and billing ensues.
- the present invention is replete with such financial arrangements and readily encompasses all such possibilities.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
An apparatus for charging in a network environment is provided that includes an access gateway encapsulation/decapsulation element operable to establish one or more packet data protocol (PDP) links on behalf of an end user and to perform encapsulation and decapsulation operations for one or more of the links associated with the end user. The access gateway encapsulation/decapsulation element is further operable to interface with a client services packet gateway (CSPG) that is operable to provide enhanced packet processing for the end user for requested information. The apparatus also includes an access gateway policy element operable to interface with the CSPG. The access gateway encapsulation/decapsulation element and the access gateway policy element cooperate to use one or more inter-module headers in order to coordinate the enhanced packet processing for one or more communication flows associated with the end user.
Description
- This invention relates in general to the field of communications and, more particularly, to a system and a method for service tagging for enhanced packet processing in a network environment.
- Networking services have become increasingly important in today's society. One feature of networking services relates to client or source awareness. Certain services, functions, or capabilities may be provided to a group of end users or to clients based on a corresponding source profile or policy. Devices or components within a network must generally be able to identify such a profile or policy before offering selected enhanced services, functions, or capabilities to a targeted group of end users. Accordingly, sufficient information must be made available at specific times in order to allow for an accurate identification of a flow and, further, to bill for and/or process that flow accordingly.
- As the subscriber base of end users increases and/or becomes mobile, proper routing and efficient management of communication sessions and data flows becomes even more critical. In some environments, policy, locale, or service level may be unknown, inaccurate, or ambiguous at various times during a communication session. This deficiency may create synchronization issues where an end user may be incorrectly billed or where other users may have access to certain information that should not be made available to them or where other users are inadvertently susceptible to hacking. Thus, the ability to properly manage policy information in a network environment, while achieving optimal policy synchronization amongst network components, whilst maintaining charging accuracy presents a significant challenge to system designers, component manufacturers, and network operators.
- From the foregoing, it may be appreciated by those skilled in the art that a need has arisen for an improved communications approach that provides improved signaling for implementing policy on behalf of selected end users. In accordance with one embodiment of the present invention, a system and a method for billing and for implementing security policies in a network environment are provided that greatly reduce disadvantages and problems associated with conventional communications techniques.
- According to one embodiment of the present invention, there is provided an apparatus for charging in a network environment that includes an access gateway encapsulation/decapsulation element operable to establish one or more packet data protocol (PDP) links on behalf of an end user and to perform encapsulation and decapsulation operations for one or more of the links associated with the end user. The access gateway encapsulation/decapsulation element is further operable to interface with a client services packet gateway (CSPG) that is operable to provide enhanced packet processing for the end user for requested information. The apparatus also includes an access gateway policy element operable to interface with the CSPG. The access gateway encapsulation/decapsulation element and the access gateway policy element cooperate to use one or more inter-module headers in order to coordinate the enhanced packet processing for one or more communication flows associated with the end user.
- Certain embodiments of the present invention may provide a number of technical advantages. For example, according to one embodiment of the present invention, a communications approach is provided that allows for distribution of an enhanced gateway functionality in two elements that are optimized for accurate billing. Such an architecture may also provide an ideal placement of a charging functionality in any enhanced gateway system such that charging is properly executed. Further, the proffered configuration provides enhanced processing of flows generated by active charging elements in any gateway.
- Another technical advantage associated with one embodiment of the present invention relates to security. The configuration of the present invention, as explained more fully below, allows for an integration of a security functionality within enhanced gateways. Thus, one example embodiment could relate to billing, but another configuration could implement similar service tagging that can be used to integrate per subscriber security into the enhanced gateway. Moreover, the present configuration may also provide the advantage of having failover scenarios with the per subscriber state being passed in-band with the packet.
- Certain embodiments of the present invention may enjoy some, all, or none of these advantages. Other technical advantages may be readily apparent to one skilled in the art from the following figures, description, and claims.
- To provide a more complete understanding of the present invention and the features and advantages thereof, reference is made to the following description, taken in conjunction with the accompanying figures, wherein like reference numerals represent like parts, in which:
-
FIG. 1 is a simplified block diagram of a communications system for service tagging for billing in a network environment in accordance with one embodiment of the present invention; -
FIG. 2 is a simplified flowchart that illustrates an example implementation and operation of the communication system; -
FIG. 3 is a simplified schematic diagram that provides a summary of headers between elements that may be included in the communication system; -
FIG. 4A is a simplified block diagram of an alternative embodiment of the present invention that is associated with security; and -
FIG. 4B is an example overview of a method associated with the alternative embodiment ofFIG. 4A . -
FIG. 1 is a simplified block diagram of acommunication system 10 for providing enhanced packet processing (e.g. for purposes of security or billing) in a network environment.Communication system 10 includes anend user 12, a radio access network (RAN) 16, a serving general packet radio service (GPRS) support node (SGSN) 18, and an internet protocol (IP)network 20. Additionally,communication system 10 includes a gateway GPRS support node (GGSN) encapsulation/decapsulation element 30, a GGSNpolicy element 32, and a client services packet gateway (CSPG) 14. GGSNpolicy element 32 may be coupled to a policy decision function (PDF) 50. In addition, CSPG 14 may include aloggen element 24, a known user table (KUT) 26, and aquota manager element 36.Communication system 10 may additionally include abilling system element 40 that may include aquota server 42 and a billing mediation agent (BMA) 44. -
FIG. 1 may be generally configured or arranged to represent 2.5 G communication architecture applicable to a Global System for Mobile (GSM) environment in accordance with a particular embodiment of the present invention. However, the 2.5 G architecture is offered for purposes of example only and may alternatively be substituted with any suitable networking protocol or arrangement that provides a communicative platform forcommunication system 10. For example,communication system 10 may cooperate with any version of a GPRS tunneling protocol (GTP) that could benefit from a billing function being provided for any network element. This may be inclusive of first generation, 2 G, and 3 G architectures that provide features and services for anyend user 12. Moreover,communication system 10 could be applied to any access network/protocol that allowsend user 12 to create sub-connections, which specify differential treatment for packets in those connections. Furthermore, the relaying of such information into one or more CSPG devices could be implemented in any such network/access technology. - In accordance with the teachings of the present invention,
communication system 10 provides multiple inter-module headers that are used to permit the distribution of a charging functionality within an enhanced gateway (i.e. a given GGSN may be separated into two components that straddleCSPG 14 and that relate to charging). Inter-module headers are used to pass access point name (APN) and tunnel ID information between individual modules within the enhanced gateway (i.e. CSPG 14). Inter-module headers are also used to ensure locally generated charging IP packets are routed correctly through downlink policy control in order to determine whether packets should be dropped and, if permitted, which downlink tunnel should be used to transport the charging packet. In addition, inter-module headers may be used to integrate a security functionality into enhanced gateways. Additionally, inter-module headers are used to support failover scenarios in certain elements. This can be done because state information is passed in-band with the packet. - For purposes of teaching and discussion, it is useful to provide some overview as to the way in which the following invention operates. The following foundational information may be viewed as a basis from which the present invention may be properly explained. Such information is offered earnestly for purposes of explanation and discussion only and, accordingly, should not be construed in any way to limit the broad scope of the present invention and its potential applications.
- Access gateways (such as a given GGSN) generally provide network access to end users 12 (e.g. mobile stations) by terminating GTP tunnels initiated by SGSN 18. Version 1.0 of the GTP protocol allows mobile stations to open multiple packet data protocols (PDPs) within these GTP tunnels. The secondary PDPs are sub-tunnels intended to be used to provide differentiated quality of service (QoS) for traffic flowing through them.
- Thus, a GGSN can generally provide network access to end user 12 (e.g. via a mobile station) by terminating GTP tunnels initiated by
SGSN 18. The GTP protocol may allow mobile stations to open multiple PDPs within these GTP tunnels. When opening a secondary PDP, a mobile station can specify a traffic flow template (TFT) that defines the traffic pattern, which in turn governs the treatment of traffic that the mobile station will receive through this PDP. The TFT may define, for example, the L3-L4 information (IP address and ports) as well as a desired QoS for this traffic pattern. - The TFT information (or any significant portion thereof) may be stored in a GGSN to offer per-PDP QoS to the mobile station (i.e. end user 12). The GGSN may be configured to relay the TFT information into backend flows (e.g. RADIUS, terminal access controller access system (TACACS), DIAMETER, and GTP′) to other interested network elements. The TFT information element may consist of source/destination IP addresses, source/destination ports, a protocol identifier, an IPSec security parameter index, a type of service/traffic class, etc. This allows other network elements that are gathering information (via RADIUS proxy or a GTP' interface to the GGSN) to properly classify and provide differentiated services to traffic on each secondary PDP.
- An example of such a service to be provided is differentiated billing. Consider a case where
end user 12 opens two PDPs, one for basic internet connectivity and the other with a higher QoS for a voice application. Downstream service gateways could bill the voice application at a higher rate. This could be accomplished by matching user traffic to a TFT-defined L4 profile learned by an interested service gateway via (for example) RADIUS or GTP′. Thus, a GGSN is equipped to relay the TFT traffic profile data (i.e. traffic pattern information) associated with secondary PDPs through its control path interfaces (GTP′, RADIUS, etc). This enables interested service gateways in the control path (e.g. CSPG 14) to deliver per-PDP differentiated services. The GGSN adds TFT profile information to the GTP′ and RADIUS interfaces.CSPG 14 could then begin parsing this info and begin applying differentiated services per-PDP. In an implementation of charging, it is important that a bearer flow billing functionality does not account for (downlink) packets, which are subsequently dropped at the GGSN (i.e. due to the operation of such policy controlled gating functionality). - Note that usage of the term “access gateway” in this document refers to GGSN encapsulation/
decapsulation element 30 and/orGGSN policy element 32 in one example, but could include any number of additional terms that can be included in a broad definition of an access gateway (e.g., a network access server (NAS)). In addition, the term “charging” refers to any element associated with billing or accounting. This broad term encompasses such elements, as well as additional objects (e.g., crediting or debiting) where appropriate. - In particular,
communication system 10 relates a scenario in which the charging functionality is implemented in a separate component, which can be independent of the traditional gateway functionality. This will frequently be the case as the charging functionality may require dedicated application specific integrated circuits (ASICs) for performing deep packet inspection, as compared to the more generic functionality provided by other gateway elements. - The policy that is to be implemented in the gateway element will frequently be defined to silently discard packets that are out of contract. This contract may be statically defined for a particular user or for a set of users and be set according to subscription. Further, this contract may be dynamically negotiated at session establishment (e.g., using 3GPP QoS negotiation and TFT definition) or dynamically controlled throughout the duration of the session, e.g., using 3GPP context modification procedures and/or COPS-PR control.
- The charging functionality should not be counting packets that will be subsequently dropped by the gateway element. When the charging functionality is further analyzed, one particular approach to deliver charging functionality is to terminate TCP and to perform a “half proxy” functionality, whereby (for example) hypertext transfer protocol (HTTP) requests can be intercepted by the charging function and
quota server 42 can then determine how to process the flow. For example, ifquota server 42 replies that insufficient quota is available, the charging function can reply with a HTTP 302 message that redirects the user. -
Communication system 10 overcomes a number of existing network deficiencies in order to provide a platform that relates to the integration of a charging functionality that includes TCP termination functionality inCSPG 14. Similar concepts can be applied to other access technologies, e.g., integrated charging for digital subscriber line (DSL) access, a cable modem termination system (CMTS) for cable modem access, a packet data serving node (PDSN) for code division multiple access (CDMA) access, or a home agent configuration for mobile IP services. - Note that it is a prerequisite that downlink packets are not charged to an end user (or to their account) and then subsequently dropped by the access gateway. The charging function for the downlink is generally executed after any policy control functionality is performed. The following is the chaining of service for downlink flows: downlink interface, GGSN policy element 32 (e.g., per user policy), charging function, tunnel encapsulation and then to the end user (via one or more tunnels). For the up-link arrangement, the placement of the charging function may be chosen to dissuade users from trying to circumvent policy control. In this manner,
end user 12 would be penalized for sending out of contract packets. - The following is the chaining for up-link flows: end user (via one or more tunnels), tunnel decapsulation, charging function (e.g. per user policy), and then to an up-link interface. As is illustrated in
FIG. 1 , a given GGSN has been deconstructed incommunication system 10, whereby the charging function (CSPG 14) is positioned between the tunnel encapsulation/decapsulation function (GGSN encapsulation/decapsulation element 30) and the policy function (GGSN policy element 32). Note that in the downlink direction the active charging element will be generating packets. This could translate into, for example, terminating TCP and potentially replying with HTTP 302 redirection messages. The downlink messages should pass through the per user policy function in order to establish: 1) whether the downlink packet matches a defined access control list (either static or dynamic); and 2) (in the case of GPRS) which downlink tunnel is used to transport the packet generated by the active charging element. In the context of GPRS, the TFT is generally user defined and, thus, it cannot be assumed that a flow uses a single tunnel and that the up-link TCP SYN will use the same tunnel as the downlink TCP SYN/ACK. In both cases, it is evident that the reverse packet should traverse the downlink policy function. Details relating to specific implementations of such signaling are provided below with reference to the flowchart ofFIG. 2 . - Referring back to
FIG. 1 ,end user 12 is a client or a customer wishing to initiate a communication session or a data flow incommunication system 10 viaIP network 20.End user 12 may be inclusive of devices used to initiate a communication, such as a computer, a personal digital assistant (PDA), a laptop or an electronic notebook, a telephone, a mobile station, or any other device, component, element, or object capable of initiating voice or data exchanges withincommunication system 10.End user 12 may also be inclusive of a suitable interface to the human user, such as a microphone, a display, a keyboard, or other terminal equipment (such as for example an interface to a personal computer or to a facsimile machine in cases whereend user 12 is used as a modem).End user 12 may also be any device that seeks to initiate a communication on behalf of another entity or element, such as a program, a database, or any other component, device, element, or object capable of initiating a voice or a data exchange withincommunication system 10. Data, as used herein in this document, refers to any type of numeric, voice, video, audio-visual, or script data, or any type of source or object code, or any other suitable information in any appropriate format that may be communicated from one point to another. -
RAN 16 is a communications interface betweenend user 12 andSGSN 18.RAN 16 may comprise a base transceiver station and a base station controller. The communications interface provided byRAN 16 offers connectivity and allows data to be exchanged betweenend user 12 and any number of selected elements withincommunication system 10.RAN 16 facilitates the delivery of a request packet generated byend user 12 and the reception of information sought byend user 12.RAN 16 is only one example of a communications interface betweenend user 12 andSGSN 18. Other types of communications interfaces may be used for a desired network design based on particular needs. -
IP network 20 represents a series of points or nodes of interconnected communication paths for receiving and transmitting packets of information that propagate throughcommunication system 10.IP network 20 offers a communicative interface betweenend user 12 and an access gateway (e.g. a GGSN) and may be any local area network (LAN), wireless local area network (WLAN), metropolitan area network (MAN), wide area network (WAN), virtual private network (VPN), or any other appropriate architecture or system that facilitates communications in a network environment.IP network 20 implements a user datagram protocol (UDP)/internet protocol (UDP/IP) communication language protocol in a particular embodiment of the present invention. However,IP network 20 may alternatively implement any other suitable communication protocol for transmitting and receiving data or information withincommunication system 10. -
SGSN 18, GGSN encapsulation/decapsulation element 30, andGGSN policy element 32 are network elements that cooperate in order to facilitate a communication session involvingend user 12. GGSN encapsulation/decapsulation element 30 andGGSN policy element 32 are network nodes that may be working in conjunction withmultiple SGSNs 18 to provide a communications medium in a GPRS service network environment. GPRS represents a packet-based data bearer service for communication services that may be delivered as a network overlay for any type of suitable network configuration or platform. GPRS generally applies packet-radio and packet switching principles to transfer data packets in an efficient way between GSM elements or units and external packet data networks. GPRS may support multiple internet communication protocols and may enable existing IP, X.25, frame relay, or any other suitable applications or platforms to operate over GSM connections. - Note that because certain enhancements should be made to several network components to achieve the targeted signaling of the present invention, it is critical to explain their internal structures. In a particular embodiment of the present invention, GGSN encapsulation/
decapsulation element 30, aGGSN policy element 32, and/orCSPG 14 include software that is operable to facilitate appropriate signaling for service tagging for purposes of charging or for purposes of providing security in a network environment. The augmentation or enhancement may be provided in just one of these elements, two elements, or in all three elements. Such design choices may be based on particular networking or configuration needs. Alternatively, this signaling capability may be provided by any suitable hardware, component, device, ASIC, field-programmable gate array (FPGA), micro-processor, read only memory (ROM) element, random access memory (RAM) element, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), processor, algorithm, element or object that is operable to perform such operations. Note that such a signaling functionality may be provided external to the GGSN components and/orCSPG 14, allowing appropriate accounting to be achieved for interested components in the network. -
CSPG 14 is an accounting element that also represents a client-aware device, which may provide or offer some service or feature to enduser 12. Such services may be based on an effective mapping between a source IP address of a given request packet and a user profile. Client-aware devices may key off the source IP address in providing services toend user 12. There are a number of reasons why a device or a component would want to identifyend user 12. For example, some devices may wish to identifyend user 12 for authorization or quality of service purposes. In another example, a device may wish to maintain user profiles to provide for accounting records (for example per-user accounting) or to provide for content billing operations. Alternatively, a device or a component may use an identification to provide for any other type of suitable client-aware service, tool, or feature according to the particular needs of network components or equipment. Additional services may be related to areas such as routing, security, accounting, firewalling, intrusion detection, intrusion prevention, filtering, or any other suitable parameters or policies where user-aware characteristics serve as a basis for service implementation. -
CSPG 14 represents a generic piece of network equipment that can facilitate some type of accounting service forcommunication system 10.CSPG 14 could be a wireless application protocol (WAP) gateway, a compression and/or optimization engine, a billing engine (inclusive of per-content billing), a service enforcement element, a content authorization component, a policy enforcement gateway, or any other element that is operable to modify, process, or transform data or information in a network environment. This may be inclusive of simple routers, switches, loadbalancers, gateways, bridges, or any other piece of network equipment where appropriate and based on particular needs.CSPG 14 represents any component, device, element, or object that can benefit from having suitable signaling information provided to it such that appropriate billing may be achieved. - As described above,
CSPG 14 utilizes the identity of the client or the end user to provide services based on a source profile. In a particular embodiment of the present invention,CSPG 14 provides client-aware services by operating at networking layers two and three. Accordingly, the information available at networking layers two and three provides a basis for the identification of an end user or a client.CSPG 14 may use an IP address or any other suitable parameter to uniquely identify a client or an end user in offering a service, enhanced capability, or feature to an end user.CSPG 14 may include any suitable hardware, software, components, or elements that identify a unique identifier in order to provide some networking feature or capability to an end user. -
CSPG 14 may be inserted into a data flow that may view, extract, identify, access, or otherwise monitor information included within the data flow.CSPG 14 may handle the enforcement of access, quota distribution, and accounting that is provided by the information retrieved from elements included withinbilling system element 40.CSPG 14 may generally deduct quota after it has been properly allocated and, subsequently, retrieve additional quota when that quota allocation has been consumed. In a general sense,CSPG 14 may be responsible for quota enforcement forend user 12. - In operation of an example embodiment,
CSPG 14 may extract IP source address information associated withend user 12. The IP source address may be used to determine an identity (or profile) ofend user 12 that may be stored inKUT 26. Alternatively,CSPG 14 may extract or identify any information within the data flow that provides a correlation betweenend user 12 and a given data flow.CSPG 14 may also be a client-aware device that provides or offers some service or feature to enduser 12. Such services may be based on an effective mapping between a source IP address of a given address packet and a user profile or information associated withend user 12.CSPG 14 may utilize a source IP address in providing services or features to enduser 12.CSPG 14 may include a RADIUS component that may receive RADIUS updates and parse the updates. In addition,CSPG 14 may execute some action based on the RADIUS updates it receives.CSPG 14 may be provided with accounting, authorization, and authentication (AAA) capabilities where appropriate. Alternatively, these capabilities may be provided external toCSPG 14, for example, in a AAA server. - There are other reasons why a device or a component may seek to identify the source (end user 12) associated with a communication session or data flow. For example, some devices may wish to identify
end user 12 for authorization purposes. In another example, a device may wish to maintain user profiles for billing or accounting records (for example, in conjunction with per-user accounting) or to provide for content billing information. Alternatively, a device or a component may use the identification ofend user 12 to provide for any other type of suitable client-aware service, tool, or feature according to the particular needs of network operators. Additional services may be related to areas such as routing, permissions or access-granting mechanisms, priority, QoS, firewalling, intrusion detection and/or prevention, content filtering, or any other suitable parameters or policies where user-aware characteristics serve as a basis for a network service implementation. -
Loggen element 24 is a storage element operable to build billing records and to communicate the billing records toBMA 44 based on information provided byKUT 26. Even in cases where the information returned byKUT 26 reflects a null (e.g., no active BMA), this may still be used to determine the destination and queue(s) to use or to invoke for a corresponding billing record.Loggen element 24 may also operate to store data for later use and execute all formatting for billing records to be communicated toBMA 44.Loggen element 24 may be implemented using hardware, software, or any other suitable element or object operable to store information and to generate a billing record to be communicated toBMA 44.Loggen element 24 may communicate withBMA 44 in order to log quota usage data associated withend user 12.Loggen element 24 may generate logging records or billing records and additionally send messages tobilling system element 40 associated with a change in SGSN. -
KUT 26 is a data storage element that manages one or more correlations between the ID ofend user 12 and a corresponding IP address.KUT 26 may also store information relating toBMA 44, previously designated toend user 12, andBMA 44 may be invoked when additional information associated withend user 12 is communicated toCSPG 14.KUT 26 may be consulted as additional billing records are created in order to determine thatBMA 44 should receive selected billing records.KUT 26 may also include an application program interface (API) that may be implemented in order to obtain user ID information for an IP address from a data flow. -
Quota manager element 36 is an element that manages quota information for services subscribed to byend user 12.Quota manager element 36 also provides an interface between GGSN elements andbilling system element 40 and may receive a communication that indicates a change in locale, e.g., corresponding to a change inSGSN 18.Quota manager element 36 may also identify new and old identifiers or pointers for selected locales involved in the communication session and notifybilling system element 40.Quota manager element 36 may also communicate withbilling system element 40 in order to exchange information associated with funding forend user 12.Quota manager element 36 may also receive RADIUS updates from a GGSN that reflect the status associated withend user 12. -
Billing system element 40 is an object that manages the billing and access policies associated with a givenend user 12. In one embodiment,billing system element 40 includesquota server 42 andBMA 44.CSPG 14 may communicate withbilling system element 40 in order to retrieve information or to learn of billing policies forend user 12.BMA 44 coordinates billing records andquota server 42 can be used to debit a selected amount of quota from an end user account. - It is critical to note that billing system element 40 (and its internal components such as quota server 42) may include any suitable elements, hardware, software, objects, or components capable of effecting their operations or additional operations where appropriate. Additionally, any one or more of the elements included in
CSPG 14 andbilling system element 40 may be provided in an external structure or combined into a single module or device where appropriate. Moreover, any of the functions provided by these two elements may be offered in a single unit or single functionalities may be arbitrarily swapped betweenCSPG 14 andbilling system element 40. The embodiment offered inFIG. 1 has been provided for purposes of example only. The arrangement of elements (and their associated operation(s)) may be reconfigured significantly in any other appropriate manner in accordance with the teachings of the present invention. -
PDF 50 is a logical policy decision element that can use standard IP mechanisms to implement a communications protocol in the IP bearer layer. These mechanisms may be conformant to, for example, the framework defined in IETF [RFC 2753], wherePDF 50 is effectively representing a policy decision point.PDF 50 can make decisions using policy rules. -
FIG. 2 is a simplified flowchart that illustrates an example implementation ofcommunication system 10. The method begins atstep 100, where one or more up-link tunnels may be decapsulated. IP address spoofing detection may be performed to ensure that the decapsulated IP source address corresponds to the one allocated during the previous context establishment. The selected tunnel (amongst a plurality of tunnels) may affect policy control and charging. Thus, the decapsulated packet is first tagged with an inter-module packet header corresponding to the tunnel identity. In addition, to accommodate overlapping IP address allocation, an identifier corresponding to the routing domain (also referred to as an APN in GPRS) is prepended as a second inter-module packet header. The final tag added corresponds to the address of the up-link charging function that enables proper switching of the packet. - In
step 102, the decapsulated packet (after having been suitably tagged) is switched through to the charging function (i.e. CSPG 14). The charging function first removes its address header and then charging is performed, whereby the remaining tags of the packet can be used in the quota request to indicate to quota server 42: 1) which tunnel was used in sending the packet; and 2) to which APN the packet corresponds. Following charging, the packet may be tagged with the address of the up-link policy control unit, which enables proper switching of the packet within the enhanced gateway. - In
step 104, the charged packet is switched through to the per user policy enforcement function (i.e. GGSN policy element 32).GGSN policy element 32 first removes its address header and then uses the remaining tags corresponding to the tunnel identifier and the APN (i.e. the routing domain) to perform per packet policy enforcement. This may entail matching the packet against defined access control lists and real-time gating control in order to determine whether to pass or to discard the packet. - Finally, the APN header is used to determine the VPN routing and forwarding (VRF) element for switching the up-link packet. The VRF element reflects a routing table for connecting a set of sites to a VPN service. A VRF includes a template of a VPN routing/forwarding table that may be included in a given network device (e.g. a router). The inter-module packet headers are removed and the VRF is used to determine, e.g., which 802.1q tag is used to egress the packet from the enhanced gateway. In the downlink direction, the processing is simply reversed.
- In
step 106, the downlink 802.1q VLAN is used to determine to which APN the packet corresponds. The destination address of the IP packet (together with the APN) is used to index the policy control function and to identify how the packet is to be handled. Per subscriber policy control is indexed based on APN and IP address and, further, allows static and dynamic policy control to be determined. In addition, when a plurality of tunnels has been established, the traffic flow template may be used to determine to which tunnel the packet corresponds. After a policy control has been applied, the packet is tagged with an inter-module packet header, which corresponds to the tunnel identifier and the APN information. The final prepended inter-module packet header corresponds to the address of the downlink charging function. - In
step 108, the downlink packet (suitably tagged) is switched through to the charging function. The charging function first removes its address header and then charging is performed, whereby the remaining tags of the packet can be used in the quota request to indicate to quota server 42: 1) which tunnel was used in sending the packet; and 2) to which APN the packet corresponds. Following charging, the packet is tagged with the address of the encapsulation/decapsulation function, which enables proper switching of the packet within the enhanced gateway (i.e. CSPG 14). - In
step 110, the downlink packet is switched to the encapsulation/decapsulation function, whereby the inter-module packet headers are used to determine to which tunnel the downlink packet should be switched. As is evident, the described use of inter-module packet headers has allowed the integration of the charging function within an enhanced gateway. In order to accommodate active charging, whereby the charging function terminates TCP, the following step is defined. InStep 112, when the charging function generates a downlink packet for the user, e.g., when it responds to a TCP SYN with a TCP SYN/ACK, the charging function will tag the downlink-generated packet with the APN and then prepend the address of the downlink policy control unit to the packet. - In
step 114, the packet is switched to the downlink policy control unit using the outer address header. The downlink policy control unit will strip its address and then use the APN header to determine to which APN the packet corresponds. The destination address of the IP packet (together with the APN) is used to index the policy control function and to determine how the packet is handled. Per subscriber policy control is indexed based on APN and IP address. In addition, when a plurality of tunnels has been established, the traffic flow template is used to determine to which tunnel the packet corresponds. After a policy control has been applied, the packet is tagged with an inter-module packet header that corresponds to the tunnel identifier and the APN information. The final prepended inter-module packet header corresponds to the address of the downlink charging function. - It is critical to note that some of the steps illustrated in
FIG. 2 may be changed or deleted where appropriate and additional steps may also be added to the flowcharts. These changes may be based on specific communication architectures or particular interfacing arrangements and configurations of associated elements and do not depart from the scope or the teachings of the present invention. The interactions and operations of the elements withincommunication system 10, as disclosed inFIG. 2 , have provided merely one example for their potential applications. Numerous other applications may be equally beneficial and selected based on particular networking needs. -
FIG. 3 is a simplified schematic diagram that provides a summary of the inter-module headers between network elements that may be included incommunication system 10. The headers between the network elements include: anelement 70, which includes a decapsulation to up-link charging that corresponds to an up-link charging address (tunnel ID (APN (IP packet))); anelement 72, which includes charging to up-link policy control that corresponds to an up-link policy address (tunnel ID (APN (IP packet))); anelement 74, which includes a charging to down-link policy control that corresponds to a down-link policy control address (APN (IP Packet)); an element 76, which includes a down-link policy control to charging that corresponds to a down-link charging address (tunnel ID (APN (IP Packet))); and anelement 78, which includes a down-link charging to tunnel encapsulation that corresponds to a tunnel encapsulation address (tunnel ID (APN (IP Packet))). -
FIG. 4A is a simplified block diagram of an alternative embodiment of the present invention that relates to security. In addition,FIG. 4B is an example overview of a method associated with the alternative embodiment ofFIG. 4A . These two FIGURES may be reviewed together, asFIG. 4B offers an example flow associated with the configuration ofFIG. 4A . Note thatFIG. 4B provides a simplistic synopsis of how such a security protocol may be used in conjunction with the teachings of the present invention. The illustrated steps may be supplemented with any appropriate additional steps where appropriate and based on particular needs. - The previous examples discussed above (in the context of
FIGS. 1-3 ) relate to charging. However, similar service tagging can be used to integrate per subscriber security into an enhanced gateway. In a security implementation, an inter-module header may be defined that represents the security policy group to which a user has subscribed. This is reflected by Step A. This will be prepended to the packet before it is switched to a security module 90 (ofFIG. 4A ), as illustrated by StepB. Security module 90 can be part ofCSPG 14 or be provided as an independent unit that addresses network security forend user 12. The inter-module header will be used by the security functionality to select the policy to apply to the user's packet flows, as reflected by Step C. For example a subscriber may subscribe to one out of ten security options: with option one corresponding to intrusion detection and prevention, option two corresponding to detection only, option three corresponding to no security options, etc.Security module 90 will then be able to know how packet handling is to be performed (according to the prepended inter-module header) without having to build its own subscriber state. This operation is reflected by Step D. - Note that
security module 90 may include software operable to interface appropriately with GGSN encapsulation/decapsulation element 30 andGGSN policy element 32. Alternatively, such a functionality may be achieved by any suitable hardware, component, device, ASIC, FPGA, microprocessor, EPROM, EEPROM, processor, algorithm, element or object that is operable to perform such operations. Such a module may also be provided in any other suitable network component in cases where it is not provided as its own separate component. - Although the present invention has been described in detail with reference to particular embodiments, it should be understood that various other changes, substitutions, and alterations may be made hereto without departing from the spirit and scope of the present invention. For example, although the present invention has been described as operating in a GGSN environment, the present invention may be used in any networking environment that provides some type of accounting for
end user 12. The signaling protocol disclosed in the preceding figures is generally applicable to all communication systems in which information packets are routed between or through IP networks. - Note also that although specific protocols are described herein in this document to illustrate example operations, any suitable communicative platforms may be used to effectuate the operations, which provide appropriate signaling for
communication system 10. Elements may relay signaling information to other network elements via any suitable backend control protocol (e.g. GTP′, RADIUS, DIAMETER, TACACS, etc.). - It is also important to note that the teachings of the present invention may be readily imparted to an end user (or a group of end users) such that the end user may sign up for (or enlist or enroll in) a charging plan that includes the operations and functions described herein. Thus, an end user could be enrolled in a charging plan that utilizes service tagging in order to achieve appropriate charging in a network environment. A corresponding bill may subsequently be generated that reflects such an arrangement. Such an arrangement may be reflected by a simple customer arrangement between a service provider and a client. In a similar fashion, an end user could be enrolled in a security policy plan, whereby similar subscribing occurs and billing ensues. The present invention is replete with such financial arrangements and readily encompasses all such possibilities.
- Numerous other changes, substitutions, variations, alterations, and modifications may be ascertained to one skilled in the art and it is intended that the present invention encompass all such changes, substitutions, variations, alterations, and modifications as falling within the scope of the appended claims. In order to assist the United States Patent and Trademark Office (USPTO) and, additionally, any readers of any patent issued on this application in interpreting the claims appended hereto, Applicant wishes to note that the Applicant: (a) does not intend any of the appended claims to invoke paragraph six (6) of 35 U.S.C.
section 112 as it exists on the date of the filing hereof unless the words “means for” or “step for” are specifically used in the particular claims; and (b) does not intend, by any statement in the specification, to limit this invention in any way that is not otherwise reflected in the appended claims.
Claims (29)
1. An apparatus for enhanced packet processing in a network environment, comprising:
an access gateway encapsulation/decapsulation element operable to establish one or more packet data protocol (PDP) links on behalf of an end user and to perform encapsulation and decapsulation operations for one or more of the links associated with the end user, wherein the access gateway encapsulation/decapsulation element is further operable to interface with a client services packet gateway (CSPG) that is operable to provide an enhanced packet processing for the end user for requested information; and
an access gateway policy element operable to interface with the CSPG, wherein the access gateway encapsulation/decapsulation element and the access gateway policy element cooperate to use one or more inter-module headers in order to coordinate the enhanced packet processing for one or more communication flows associated with the end user.
2. The apparatus of claim 1 , wherein one or more of the inter-module headers are used to pass routing domain and tunnel ID information associated with one or more of the flows from the access gateway encapsulation/decapsulation element to the CSPG.
3. The apparatus of claim 2 , wherein the routing domain information corresponds to an Access Point Name.
4. The apparatus of claim 1 , wherein one or more of the inter-module headers are used to ensure locally generated packets are routed through a down-link policy control in order to determine whether one or more of the locally generated packets should be dropped.
5. The apparatus of claim 1 , wherein the CSPG is operable to provide one or more services to the end user, the services being selected from a group of services consisting of:
a) accounting;
b) firewalling;
c) filtering;
d) wireless application protocol transformations;
e) compression;
f) optimization;
g) billing;
h) content authorization;
i) intrusion detection; and
j) intrusion prevention.
6. The apparatus of claim 1 , wherein the access gateway encapsulation/decapsulation element and the access gateway policy element are general packet radio service (GPRS) network elements.
7. The apparatus of claim 1 , wherein the enhanced packet processing corresponds to a charging functionality.
8. The apparatus of claim 7 , further comprising:
a quota server operable to distribute a quantity of quota to the end user, wherein the CSPG is further operable to communicate with the quota server in order to execute enabling or disabling of the charging associated with the end user.
9. The apparatus of claim 1 , wherein the access gateway encapsulation/decapsulation element and the access gateway policy element are used to manage access for the end user in a selected one of a group of environments, the group consisting of:
a) digital subscriber line environment;
b) cable model termination system environment;
c) a packet data serving node (PDSN) for code division multiple access (CDMA) environment; and
d) a home agent environment for mobile IP services.
10. A method for enhanced packet processing in a network environment, comprising:
establishing one or more packet data protocol (PDP) links on behalf of an end user;
performing encapsulation and decapsulation operations for one or more of the links associated with the end user;
interfacing with a client services packet gateway (CSPG) that is operable to provide enhanced packet processing for the end user for requested information; and
using one or more inter-module headers in order to coordinate the enhanced packet processing for one or more communication flows associated with the end user.
11. The method of claim 10 , wherein one or more of the inter-module headers are used to pass access point name (APN) and tunnel ID information associated with one or more of the flows to the CSPG.
12. The method of claim 10 , wherein one or more of the inter-module headers are used to ensure locally generated packets are routed through a down-link policy control in order to determine whether one or more of the locally generated packets should be dropped.
13. The method of claim 10 , wherein the CSPG is operable to provide one or more services to the end user, the services being selected from a group of services consisting of:
a) accounting;
b) firewalling;
c) filtering;
d) wireless application protocol transformations;
e) compression;
f) optimization;
g) billing;
h) content authorization;
i) intrusion detection; and
j) intrusion prevention.
14. The method of claim 10 , further comprising:
distributing a quantity of quota to the end user, wherein the CSPG is further operable to execute enabling or disabling of charging associated with the end user.
15. The method of claim 10 , further comprising:
managing access for the end user in a selected one of a group of environments, the group consisting of:
a) digital subscriber line environment;
b) cable model termination system environment;
c) a packet data serving node (PDSN) for code division multiple access (CDMA) environment; and
d) a home agent environment for mobile IP services.
16. A system for enhanced packet processing in a network environment, comprising:
means for establishing one or more packet data protocol (PDP) links on behalf of an end user;
means for performing encapsulation and decapsulation operations for one or more of the links associated with the end user;
means for interfacing with a client services packet gateway (CSPG) that is operable to provide enhanced packet processing for the end user for requested information; and
means for using one or more inter-module headers in order to coordinate the enhanced packet processing for one or more communication flows associated with the end user.
17. The system of claim 16 , wherein one or more of the inter-module headers are used to pass access point name (APN) and tunnel ID information associated with one or more of the flows to the CSPG.
18. The system of claim 16 , wherein one or more of the inter-module headers are used to ensure locally generated packets are routed through a down-link policy control in order to determine whether one or more of the locally generated packets should be dropped.
19. The system of claim 16 , further comprising:
means for distributing a quantity of quota to the end user, wherein the CSPG is further operable to execute enabling or disabling of charging associated with the end user.
20. Software for charging in a network environment, the software being embodied in a computer readable medium and comprising computer code such that when executed is operable to:
establish one or more packet data protocol (PDP) links on behalf of an end user;
perform encapsulation and decapsulation operations for one or more of the links associated with the end user;
interface with a client services packet gateway (CSPG) that is operable to provide a charging functionality for charging the end user for requested information; and
use one or more inter-module headers in order to coordinate charging for one or more communication flows associated with the end user.
21. The medium of claim 20 , wherein one or more of the inter-module headers are used to pass access point name (APN) and tunnel ID information associated with one or more of the flows to the CSPG.
22. The medium of claim 20 , wherein one or more of the inter-module headers are used to ensure locally generated packets are routed through a down-link policy control in order to determine whether one or more of the locally generated packets should be dropped.
23. The medium of claim 20 , wherein the code is further operable to:
distribute a quantity of quota to the end user, wherein the CSPG is further operable to execute enabling or disabling of the charging associated with the end user.
24. A method for signing up an end user in a network environment, comprising:
enrolling an end user in a charging plan;
generating a bill for the end user that corresponds to the charging plan, wherein the charging plan is based on a plurality of operations that include:
establishing one or more packet data protocol (PDP) links on behalf of an end user;
performing encapsulation and decapsulation operations for one or more of the links associated with the end user;
interfacing with a client services packet gateway (CSPG) that is operable to provide a charging functionality for charging the end user for requested information; and
using one or more inter-module headers in order to coordinate charging for one or more communication flows associated with the end user.
25. The method of claim 24 , wherein one or more of the inter-module headers are used to pass access point name (APN) and tunnel ID information associated with one or more of the flows to the CSPG.
26. The method of claim 24 , wherein one or more of the inter-module headers are used to ensure locally generated packets are routed through a down-link policy control in order to determine whether one or more of the locally generated packets should be dropped.
27. The method of claim 24 , wherein the CSPG is operable to provide one or more services to the end user, the services being selected from a group of services consisting of:
a) accounting;
b) firewalling;
c) filtering;
d) wireless application protocol transformations;
e) compression;
f) optimization;
g) billing;
h) content authorization;
i) intrusion detection; and
j) intrusion prevention.
28. The method of claim 24 , further comprising:
distributing a quantity of quota to the end user, wherein the CSPG is further operable to execute enabling or disabling of the charging associated with the end user.
29. The method of claim 24 , further comprising:
managing access for the end user in a selected one of a group of environments, the group consisting of:
a) digital subscriber line environment;
b) cable model termination system environment;
c) a packet data serving node (PDSN) for code division multiple access (CDMA) environment; and
d) a home agent environment for mobile IP services.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/959,810 US20060072595A1 (en) | 2004-10-05 | 2004-10-05 | System and method for service tagging for enhanced packet processing in a network environment |
US10/977,218 US7568093B2 (en) | 2004-10-05 | 2004-10-28 | System and method for service tagging for enhanced packet processing in a network environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/959,810 US20060072595A1 (en) | 2004-10-05 | 2004-10-05 | System and method for service tagging for enhanced packet processing in a network environment |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/977,218 Continuation US7568093B2 (en) | 2004-10-05 | 2004-10-28 | System and method for service tagging for enhanced packet processing in a network environment |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060072595A1 true US20060072595A1 (en) | 2006-04-06 |
Family
ID=36125464
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/959,810 Abandoned US20060072595A1 (en) | 2004-10-05 | 2004-10-05 | System and method for service tagging for enhanced packet processing in a network environment |
US10/977,218 Active 2027-01-07 US7568093B2 (en) | 2004-10-05 | 2004-10-28 | System and method for service tagging for enhanced packet processing in a network environment |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/977,218 Active 2027-01-07 US7568093B2 (en) | 2004-10-05 | 2004-10-28 | System and method for service tagging for enhanced packet processing in a network environment |
Country Status (1)
Country | Link |
---|---|
US (2) | US20060072595A1 (en) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060088011A1 (en) * | 2004-10-26 | 2006-04-27 | Cisco Technology, Inc. | System and method for allocating and distributing end user information in a network environment |
US20080059635A1 (en) * | 2006-08-31 | 2008-03-06 | Redknee Inc. | Policy services |
US20080259926A1 (en) * | 2007-04-20 | 2008-10-23 | Humberto Tavares | Parsing Out of Order Data Packets at a Content Gateway of a Network |
US20080318603A1 (en) * | 2003-06-16 | 2008-12-25 | Shailesh Lakhani | Method and System for Multimedia Messaging Service (MMS) Rating and Billing |
WO2009082806A1 (en) * | 2007-12-27 | 2009-07-09 | Redknee Inc. | Policy-based communication system and method |
US20090182883A1 (en) * | 2008-01-14 | 2009-07-16 | Qualcomm Incorporated | Policy control and charging (pcc) rules based on mobility protocol |
US20090199268A1 (en) * | 2008-02-06 | 2009-08-06 | Qualcomm, Incorporated | Policy control for encapsulated data flows |
US20090204713A1 (en) * | 2006-06-16 | 2009-08-13 | France Telecom | Unit and a method for defining a session rule in a network |
US20090276377A1 (en) * | 2008-04-30 | 2009-11-05 | Cisco Technology, Inc. | Network data mining to determine user interest |
US20100142373A1 (en) * | 2008-12-09 | 2010-06-10 | Qualcomm Incorporated | Performing packet flow optimization with policy and charging control |
US20100223222A1 (en) * | 2008-03-31 | 2010-09-02 | Qing Zhou | Decision-making method, decision-making system, and policy decision function |
US20110078060A1 (en) * | 2003-06-19 | 2011-03-31 | Redknee Inc. | Method for implementing a wireless local area network (wlan) gateway system |
US20110082779A1 (en) * | 2007-09-13 | 2011-04-07 | Redknee Inc. | Billing profile manager |
US8050275B1 (en) * | 2003-11-18 | 2011-11-01 | Cisco Technology, Inc. | System and method for offering quality of service in a network environment |
US8694629B2 (en) * | 2011-10-03 | 2014-04-08 | Alcatel Lucent | Hierarchical metering policy attributes |
US9413718B1 (en) | 2011-02-16 | 2016-08-09 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
US20210185697A1 (en) * | 2010-07-29 | 2021-06-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Handling Network Traffic Via a Fixed Access |
US11424986B2 (en) * | 2019-10-24 | 2022-08-23 | Cisco Technology, Inc. | Method and apparatus for mobile packet core mechanism for GiLAN network slices with segment routing |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060182061A1 (en) * | 2005-02-17 | 2006-08-17 | Nokia Corporation | Interworking between wireless WAN and other networks |
US8544058B2 (en) * | 2005-12-29 | 2013-09-24 | Nextlabs, Inc. | Techniques of transforming policies to enforce control in an information management system |
WO2007120360A2 (en) * | 2005-12-29 | 2007-10-25 | Blue Jungle | Information management system |
FR2896940B1 (en) * | 2006-02-02 | 2008-04-04 | Alcatel Sa | RADIO COMMUNICATION DEVICE HAVING GAN AND 3SPP-WLAN INTERWORKING TECHNOLOGY ACCESS MEANS, AND CORRESPONDING ACCESS NETWORK CONTROLLER |
US8068499B2 (en) * | 2006-08-10 | 2011-11-29 | Motorola Solutions, Inc. | Optimized tunneling methods in a network |
US8018908B2 (en) * | 2006-08-16 | 2011-09-13 | Cisco Technology, Inc. | Mobile network backward compatibility support |
US8762295B2 (en) * | 2007-02-11 | 2014-06-24 | Trend Micro Incorporated | Methods and system for determining licensing/billing fees for computer security software |
US8379623B2 (en) * | 2007-07-10 | 2013-02-19 | Motorola Solutions, Inc. | Combining mobile VPN and internet protocol |
US8321937B2 (en) * | 2007-11-25 | 2012-11-27 | Trend Micro Incorporated | Methods and system for determining performance of filters in a computer intrusion prevention detection system |
KR101375734B1 (en) * | 2008-01-22 | 2014-03-19 | 삼성전자주식회사 | Apparatus and method for accounting in wireless communication system |
US7937300B2 (en) * | 2008-07-10 | 2011-05-03 | Bridgewater Systems Corp. | System and method for providing interoperability between diameter policy control and charging in a 3GPP network |
US8533780B2 (en) * | 2009-12-22 | 2013-09-10 | Cisco Technology, Inc. | Dynamic content-based routing |
US8874711B1 (en) | 2010-07-13 | 2014-10-28 | Cisco Technology, Inc. | Classifying objects on a cable modem termination system using tagging |
CN101945021B (en) * | 2010-09-20 | 2014-07-02 | 中兴通讯股份有限公司 | Method and system for realizing strategy synchronization |
KR101786602B1 (en) * | 2011-02-10 | 2017-11-15 | 삼성전자주식회사 | Semantic Negotiation Module and Method thereof |
JP2016508682A (en) * | 2013-01-29 | 2016-03-22 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Method and arrangement for differentiating VPN traffic across domains by QOS |
US10044581B1 (en) * | 2015-09-29 | 2018-08-07 | Amazon Technologies, Inc. | Network traffic tracking using encapsulation protocol |
US9871666B2 (en) | 2015-06-25 | 2018-01-16 | AvaLAN Wireless Systems, Inc. | Intermediate unicast network and method for multicast data networks |
Citations (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602907A (en) * | 1994-01-21 | 1997-02-11 | Fujitsu Limited | Method and system for accounting communication charges |
US5822411A (en) * | 1994-07-14 | 1998-10-13 | British Telecommunications Public Limited Company | Telecommunications charging |
US5828737A (en) * | 1995-10-24 | 1998-10-27 | Telefonaktiebolaget L M Ericsson | Communications service billing based on bandwidth use |
US5909238A (en) * | 1995-07-25 | 1999-06-01 | Canon Kabushiki Kaisha | Image transmission system with billing based on the kind of MPEG frame transmitted |
US5946670A (en) * | 1996-02-29 | 1999-08-31 | Fujitsu Limited | Data switching device and method of notifying charge information in data switching network |
US5987498A (en) * | 1996-02-16 | 1999-11-16 | Atcom, Inc. | Credit card operated computer on-line service communication system |
US6016509A (en) * | 1994-05-16 | 2000-01-18 | Intel Corporation | General purpose metering mechanism for distribution of electronic information |
US6035281A (en) * | 1997-06-16 | 2000-03-07 | International Business Machines Corporation | System and method of multiparty billing for Web access |
US6070192A (en) * | 1997-05-30 | 2000-05-30 | Nortel Networks Corporation | Control in a data access transport service |
US6075854A (en) * | 1997-12-09 | 2000-06-13 | Alcatel Usa Sourcing, L.P. | Fully flexible routing service for an advanced intelligent network |
US6131024A (en) * | 1997-10-09 | 2000-10-10 | Ericsson Inc. | System and method for setting subscriber-defined usage limits on a mobile terminal |
US6141684A (en) * | 1997-09-12 | 2000-10-31 | Nortel Networks Limited | Multimedia public communication services distribution method and apparatus with distribution of configuration files |
US6175879B1 (en) * | 1997-01-29 | 2001-01-16 | Microsoft Corporation | Method and system for migrating connections between receive-any and receive-direct threads |
US6208977B1 (en) * | 1998-12-04 | 2001-03-27 | Apogee Networks, Inc. | Accounting and billing based on network use |
US6282573B1 (en) * | 1998-03-25 | 2001-08-28 | Community Learning And Information Network | Computer architecture for managing courseware in a shared use operating environment |
US20010023428A1 (en) * | 1999-12-24 | 2001-09-20 | Tomiya Miyazaki | Data Terminal, data distribution system, and internet telephone system |
US6295447B1 (en) * | 1998-12-31 | 2001-09-25 | Ericsson Inc. | Method and system for enabling the control of execution of features in a telecommunications network |
US20010034831A1 (en) * | 2000-04-19 | 2001-10-25 | Brustoloni Jose C. | Method and apparatus for providing internet access to client computers over a lan |
US20020138601A1 (en) * | 2001-03-23 | 2002-09-26 | Nixu Oy | Proxy for content service |
US6480485B1 (en) * | 1996-01-15 | 2002-11-12 | Nokia Telecommunications Oy | Packet radio network with charging information collected by nodes and forwarded to billing center |
US20030067934A1 (en) * | 2001-09-28 | 2003-04-10 | Hooper Donald F. | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method |
US20030108030A1 (en) * | 2003-01-21 | 2003-06-12 | Henry Gao | System, method, and data structure for multimedia communications |
US6611821B2 (en) * | 1997-09-29 | 2003-08-26 | Alcatel | Method of charging for the use of an internet service plus a service control unit and a service provider unit |
US6665537B1 (en) * | 1999-01-21 | 2003-12-16 | Qualcomm, Incorporated | Automatic invocation of mobile IP registration in a wireless communication network |
US6671675B2 (en) * | 1996-02-27 | 2003-12-30 | Canon Kabushiki Kaisha | Metering the flow of electronic information |
US6728266B1 (en) * | 1999-12-23 | 2004-04-27 | Nortel Networks Limited | Pricing mechanism for resource control in a communications network |
US6728208B1 (en) * | 1998-03-19 | 2004-04-27 | Nokia Networks Oy | Method for controlling a quality of service in a mobile communications system |
US6757371B2 (en) * | 2002-08-01 | 2004-06-29 | Ktfreetel Co., Ltd. | Method for divisional billing and device thereof |
US20040158710A1 (en) * | 2002-12-31 | 2004-08-12 | Buer Mark L. | Encapsulation mechanism for packet processing |
US7173933B1 (en) * | 2002-06-10 | 2007-02-06 | Cisco Technology, Inc. | System and method for providing source awareness in a network environment |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7133511B2 (en) * | 1998-12-11 | 2006-11-07 | Securelogix Corporation | Telephony security system |
FI109950B (en) * | 2000-01-20 | 2002-10-31 | Nokia Corp | Address Acquisition |
US6602907B1 (en) * | 2001-06-08 | 2003-08-05 | University Of Central Florida | Treatment of breast cancer |
US20040174900A1 (en) * | 2003-03-06 | 2004-09-09 | Incucomm, Inc. A Delaware Corporation | Method and system for providing broadband multimedia services |
-
2004
- 2004-10-05 US US10/959,810 patent/US20060072595A1/en not_active Abandoned
- 2004-10-28 US US10/977,218 patent/US7568093B2/en active Active
Patent Citations (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602907A (en) * | 1994-01-21 | 1997-02-11 | Fujitsu Limited | Method and system for accounting communication charges |
US6016509A (en) * | 1994-05-16 | 2000-01-18 | Intel Corporation | General purpose metering mechanism for distribution of electronic information |
US5822411A (en) * | 1994-07-14 | 1998-10-13 | British Telecommunications Public Limited Company | Telecommunications charging |
US5909238A (en) * | 1995-07-25 | 1999-06-01 | Canon Kabushiki Kaisha | Image transmission system with billing based on the kind of MPEG frame transmitted |
US5828737A (en) * | 1995-10-24 | 1998-10-27 | Telefonaktiebolaget L M Ericsson | Communications service billing based on bandwidth use |
US6480485B1 (en) * | 1996-01-15 | 2002-11-12 | Nokia Telecommunications Oy | Packet radio network with charging information collected by nodes and forwarded to billing center |
US5987498A (en) * | 1996-02-16 | 1999-11-16 | Atcom, Inc. | Credit card operated computer on-line service communication system |
US6671675B2 (en) * | 1996-02-27 | 2003-12-30 | Canon Kabushiki Kaisha | Metering the flow of electronic information |
US5946670A (en) * | 1996-02-29 | 1999-08-31 | Fujitsu Limited | Data switching device and method of notifying charge information in data switching network |
US6175879B1 (en) * | 1997-01-29 | 2001-01-16 | Microsoft Corporation | Method and system for migrating connections between receive-any and receive-direct threads |
US6070192A (en) * | 1997-05-30 | 2000-05-30 | Nortel Networks Corporation | Control in a data access transport service |
US6035281A (en) * | 1997-06-16 | 2000-03-07 | International Business Machines Corporation | System and method of multiparty billing for Web access |
US6141684A (en) * | 1997-09-12 | 2000-10-31 | Nortel Networks Limited | Multimedia public communication services distribution method and apparatus with distribution of configuration files |
US6611821B2 (en) * | 1997-09-29 | 2003-08-26 | Alcatel | Method of charging for the use of an internet service plus a service control unit and a service provider unit |
US6131024A (en) * | 1997-10-09 | 2000-10-10 | Ericsson Inc. | System and method for setting subscriber-defined usage limits on a mobile terminal |
US6075854A (en) * | 1997-12-09 | 2000-06-13 | Alcatel Usa Sourcing, L.P. | Fully flexible routing service for an advanced intelligent network |
US6728208B1 (en) * | 1998-03-19 | 2004-04-27 | Nokia Networks Oy | Method for controlling a quality of service in a mobile communications system |
US6282573B1 (en) * | 1998-03-25 | 2001-08-28 | Community Learning And Information Network | Computer architecture for managing courseware in a shared use operating environment |
US6208977B1 (en) * | 1998-12-04 | 2001-03-27 | Apogee Networks, Inc. | Accounting and billing based on network use |
US6295447B1 (en) * | 1998-12-31 | 2001-09-25 | Ericsson Inc. | Method and system for enabling the control of execution of features in a telecommunications network |
US6665537B1 (en) * | 1999-01-21 | 2003-12-16 | Qualcomm, Incorporated | Automatic invocation of mobile IP registration in a wireless communication network |
US6728266B1 (en) * | 1999-12-23 | 2004-04-27 | Nortel Networks Limited | Pricing mechanism for resource control in a communications network |
US20010023428A1 (en) * | 1999-12-24 | 2001-09-20 | Tomiya Miyazaki | Data Terminal, data distribution system, and internet telephone system |
US20010034831A1 (en) * | 2000-04-19 | 2001-10-25 | Brustoloni Jose C. | Method and apparatus for providing internet access to client computers over a lan |
US20020138601A1 (en) * | 2001-03-23 | 2002-09-26 | Nixu Oy | Proxy for content service |
US20030067934A1 (en) * | 2001-09-28 | 2003-04-10 | Hooper Donald F. | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method |
US7173933B1 (en) * | 2002-06-10 | 2007-02-06 | Cisco Technology, Inc. | System and method for providing source awareness in a network environment |
US6757371B2 (en) * | 2002-08-01 | 2004-06-29 | Ktfreetel Co., Ltd. | Method for divisional billing and device thereof |
US20040158710A1 (en) * | 2002-12-31 | 2004-08-12 | Buer Mark L. | Encapsulation mechanism for packet processing |
US20030108030A1 (en) * | 2003-01-21 | 2003-06-12 | Henry Gao | System, method, and data structure for multimedia communications |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027334B2 (en) | 2003-06-16 | 2011-09-27 | Redknee, Inc. | Method and system for multimedia messaging service (MMS) rating and billing |
US20080318603A1 (en) * | 2003-06-16 | 2008-12-25 | Shailesh Lakhani | Method and System for Multimedia Messaging Service (MMS) Rating and Billing |
US20110078060A1 (en) * | 2003-06-19 | 2011-03-31 | Redknee Inc. | Method for implementing a wireless local area network (wlan) gateway system |
US8331902B2 (en) | 2003-06-19 | 2012-12-11 | Redknee Inc. | Method for implementing a wireless local area network (WLAN) gateway system |
US8050275B1 (en) * | 2003-11-18 | 2011-11-01 | Cisco Technology, Inc. | System and method for offering quality of service in a network environment |
US7450531B2 (en) * | 2004-10-26 | 2008-11-11 | Cisco Technology, Inc. | System and method for allocating and distributing end user information in a network environment |
US20060088011A1 (en) * | 2004-10-26 | 2006-04-27 | Cisco Technology, Inc. | System and method for allocating and distributing end user information in a network environment |
US20090204713A1 (en) * | 2006-06-16 | 2009-08-13 | France Telecom | Unit and a method for defining a session rule in a network |
US8775621B2 (en) | 2006-08-31 | 2014-07-08 | Redknee Inc. | Policy services |
US20080059635A1 (en) * | 2006-08-31 | 2008-03-06 | Redknee Inc. | Policy services |
US8194675B2 (en) | 2007-04-20 | 2012-06-05 | Cisco Technology, Inc. | Parsing out of order data packets at a content gateway of a network |
US7864771B2 (en) * | 2007-04-20 | 2011-01-04 | Cisco Technology, Inc. | Parsing out of order data packets at a content gateway of a network |
US20080259926A1 (en) * | 2007-04-20 | 2008-10-23 | Humberto Tavares | Parsing Out of Order Data Packets at a Content Gateway of a Network |
US20110082779A1 (en) * | 2007-09-13 | 2011-04-07 | Redknee Inc. | Billing profile manager |
US9059871B2 (en) | 2007-12-27 | 2015-06-16 | Redknee Inc. | Policy-based communication system and method |
WO2009082806A1 (en) * | 2007-12-27 | 2009-07-09 | Redknee Inc. | Policy-based communication system and method |
US8155020B2 (en) * | 2008-01-14 | 2012-04-10 | Qualcomm Incorporated | Policy control and charging (PCC) rules based on mobility protocol |
US20090182883A1 (en) * | 2008-01-14 | 2009-07-16 | Qualcomm Incorporated | Policy control and charging (pcc) rules based on mobility protocol |
US20090199268A1 (en) * | 2008-02-06 | 2009-08-06 | Qualcomm, Incorporated | Policy control for encapsulated data flows |
KR101216066B1 (en) | 2008-02-06 | 2012-12-27 | 콸콤 인코포레이티드 | Policy control for encapsulated data flows |
AU2009212422B2 (en) * | 2008-02-06 | 2013-02-21 | Qualcomm Incorporated | Policy control for encapsulated data flows |
US9043862B2 (en) * | 2008-02-06 | 2015-05-26 | Qualcomm Incorporated | Policy control for encapsulated data flows |
US20100223222A1 (en) * | 2008-03-31 | 2010-09-02 | Qing Zhou | Decision-making method, decision-making system, and policy decision function |
US8099377B2 (en) * | 2008-03-31 | 2012-01-17 | Huawei Technologies Co., Ltd. | Decision-making method, decision-making system, and policy decision function |
US20090276377A1 (en) * | 2008-04-30 | 2009-11-05 | Cisco Technology, Inc. | Network data mining to determine user interest |
US8504488B2 (en) | 2008-04-30 | 2013-08-06 | Cisco Technology, Inc. | Network data mining to determine user interest |
US8325638B2 (en) * | 2008-12-09 | 2012-12-04 | Qualcomm Incorporated | Performing packet flow optimization with policy and charging control |
US20100142373A1 (en) * | 2008-12-09 | 2010-06-10 | Qualcomm Incorporated | Performing packet flow optimization with policy and charging control |
US8582480B2 (en) | 2008-12-09 | 2013-11-12 | Qualcomm Incorporated | Performing packet flow optimization with policy and charging control |
US20210185697A1 (en) * | 2010-07-29 | 2021-06-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Handling Network Traffic Via a Fixed Access |
US11558879B2 (en) * | 2010-07-29 | 2023-01-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Handling network traffic via a fixed access |
US9413718B1 (en) | 2011-02-16 | 2016-08-09 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
US9455956B2 (en) * | 2011-02-16 | 2016-09-27 | Fortinet, Inc. | Load balancing in a network with session information |
US9825912B2 (en) | 2011-02-16 | 2017-11-21 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
US9853942B2 (en) | 2011-02-16 | 2017-12-26 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
US10084751B2 (en) | 2011-02-16 | 2018-09-25 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
US8694629B2 (en) * | 2011-10-03 | 2014-04-08 | Alcatel Lucent | Hierarchical metering policy attributes |
US11424986B2 (en) * | 2019-10-24 | 2022-08-23 | Cisco Technology, Inc. | Method and apparatus for mobile packet core mechanism for GiLAN network slices with segment routing |
Also Published As
Publication number | Publication date |
---|---|
US7568093B2 (en) | 2009-07-28 |
US20060072573A1 (en) | 2006-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7568093B2 (en) | System and method for service tagging for enhanced packet processing in a network environment | |
US8315170B2 (en) | System and method for signaling information in order to enable and disable distributed billing in a network environment | |
US7924854B2 (en) | System and method for billing end users in a peer-to-peer transaction in a network environment | |
US9923728B2 (en) | System and method for associating an end user for billing in a network environment | |
US8050275B1 (en) | System and method for offering quality of service in a network environment | |
US8942112B2 (en) | System and method for providing selective mobility invocation in a network environment | |
US8353000B2 (en) | System and charging control method of network convergence policy and charging control architecture | |
US7855982B2 (en) | Providing services to packet flows in a network | |
US7324551B1 (en) | System and method for managing bandwidth in a network environment | |
US9003489B2 (en) | System and method for providing virtual user groups in a network environment | |
CN101442428B (en) | Application method, system and equipment for end-to-end QoS | |
US20030108015A1 (en) | Mechanisms for policy based umts qos and ip qos management in mobile ip networks | |
EP2521385B1 (en) | Policy and charging control method, gateway and mobile terminal thereof | |
US20090132401A1 (en) | Generating a Single Advice of Charge Request for Multiple Sessions in a Network Environment | |
US20130343269A1 (en) | Routing data over a non-3rd generation partnership project trusted network | |
TalebiFard et al. | Access and service convergence over the mobile internet–a survey | |
CN101313624A (en) | Service information determination method and system of mobile communication system | |
Mitzel | Overview of 2000 IAB wireless internetworking workshop | |
US9202237B2 (en) | Generating a single billing record for multiple sessions in a network environment | |
EP2239894A1 (en) | A tunnel service data stream controlling method and apparatus | |
US7979890B2 (en) | System and method for handling per subscriber application and bearer authorization in a communications environment | |
US20070195801A1 (en) | Context-based processing of data flows | |
US7756040B1 (en) | System and method for relaying information in order to enable services in a network environment | |
US20090259577A1 (en) | Providing Billing Instructions Associated With a New Protocol in a Network Environment | |
WO2012110527A1 (en) | Distributed middleware for mobile devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CISCO TEHNOLOGY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BROBERG, ROBERT M.;GRAYSON, MARK (NMI);MENDITTO, LOUIS F.;AND OTHERS;REEL/FRAME:015883/0187;SIGNING DATES FROM 20040929 TO 20041005 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |