1. Field of the Invention
The present invention relates to an accounting method and apparatus used in a computer network. More particularly, the present invention relates to a method and apparatus for generating time-based and/or byte-based accounting for various significant start/stop events using standard Internet protocol, such as the Remote Authentication Dial-In User Service (RADIUS) protocol.
2. Background
The ability to provide computer networking capabilities to the home personal computer (PC) is typically provided by telephone companies (Telcos) or commercial Internet Service Providers (ISPs) who operate network access points along the information superhighway. Network access points which are commonly referred to as Points of Presence or PoPs are located within wide area networks (WAN) and serve to house the network interfaces and service components necessary to provide routing, bridging and other essential networking functions. It is through these network access points that the user is able to connect with public domains, such as the Internet and private domains, such as the user's employer's intra-net.
Currently, Telcos and ISPs are limited in the means by which they can charge customers for their product Basically, Telcos and ISPs are confined to either charging a flat fee, typically on a monthly basis, thus allowing the user united network access for the specified period, or charging the user on a rate basis, typically an hourly rate. These billing schemes are primitive because the current capabilities possessed by the Telcos and ISPs provide only a simplified means of accounting for the events which a user undertakes during the time the user is logged on to the access point. Current technology only allows for the Telco or ISP to account for the duration of the period from when a user logs-on to the Telco or ISP and when the user subsequently logs-off.
As an example, a user implements a “dashboard” application on their host/computer which requires them to input identification and authorization information. This information is then sent via modem and telephone line to the Telco or ISP operated access point. A network access server (NAS) receives the identification and authorization information and proxies it to an authentication, authorization and accounting server. Once the server verifies the user authentication and authorization it grants the user logon access to downstream public and private networks. At this point a counter within the NAS is engaged which begins tracking the duration of the log-on session as well as the byte count encountered during the session. Subsequently, when the user desires to log off or a log off is warranted by other means outside of the control of the user, the counter within the NAS is disengaged and the appropriate accounting data is forwarded to the accounting server.
The Telco or ISP would benefit from having a more developed accounting scheme which allows for the tracking of various major events which occur during the life of the logon session. For example, through the Telco or ISP the user is capable of connecting with various services (e.g. the Internet, private intra nets, private pay-for-access domains). Additionally, once the user has initialized or connected to the service, the individual. PPP connections and PPP disconnections in to and out of the service can be accounted for. Such multiple-level accounting would provide the Telco or ISP with flexibility in devising sophisticated rate schemes. The ISPs and Telcos would no longer be restricted by rate schemes solely based on account logon and account logoff, but rather customers could be charged in accordance to the specific services which they access and the duration, byte-count or quantity of the connections to those service. The ability to account for service establishment and PPP connections allows Telcos and ISPs to offer their customers (i.e. computer users) cost effective access to communities of interest (i.e. those domains sites which are designated as pay-per-use.) Telcos and ISPs would be afforded the capability to provide detailed billing information and create various service options.
The present invention is a method and apparatus for providing computer network access points the capability for multiple-level accounting. A gateway device located at the access point is capable of generating Internet protocol accounting start and stop requests based on various events that are to be accounted for when a user accesses a network. These events include the user account logon, the service establishments and the Point to Point protocol (PPP) connections between the gateway device and public and private domains within the network. The counter is capable of tracking the duration of sessions and connections and the byte-count associated with the specified session or connection. The gateway device communicates with an accounting server which stores the accounting requests and matches start requests with subsequent stop requests.
Accordingly, it is an object and advantage of the present invention to provide a method for network access point maintainers to implement multiple-level accounting which thereby provides the capability for detailed billing records and create various service options.
Another object and advantage of the present invention is to provide for a accounting system within a PoP of a computer network which is capable of multiple-level accounting.
Another object and advantage of the present invention is to provide a computer network service provider the capability to account for account logons, service establishments and PPP connections.
Another object and advantage of the present invention is to provide a secured means for providing multiple-level accounting by implementing means for retrying accounting requests and providing for secondary hardware back-up.
Yet another object and advantage of the present invention is to allow for the accounting request packets to use eight byte integers thus operating at 1.5 meg bits/second and eliminating the concern over counter overflow.
These and many other objects and advantages of the present invention will become apparent to those of ordinary skill in the art from a consideration of the drawings and ensuing description.
Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and is not intended to be in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons from an examination of the within disclosure.
The present invention allows the computer network service provider to assemble accounting records for three separate accounting events. These events are the initial network account logon/logoff, the service establishment/termination and the individual connection starts and stops to a specified service. The present invention is capable of accounting for both the time duration for an event and for the byte count encountered during a given event.
In a presently preferred embodiment of the present invention, a method for multiple-level internet protocol accounting is illustrated by the computer network schematic of
At step 30 of
At step 34, the computer network service provider receives the RADIUS logon request data packet at the SSG 20 and initiates a RADIUS account logon access request packet for host authentication. At step 36, the RADIUS account logon access request packet is directed to the AAA server 22 where, at step 38, the access request packet is matched against unique user profiles in memory to verify the authenticity of the user host 12. Next, at step 40 the AAA server 22 sends an authentication reply back to the SSG 20 which confirms the authentication and lists the services available for a particular user. If the authentication reply indicates that the authentication process was successful then, at step 42, the SSG 20 logons on the host 12 by sending an access-accept packet from the SSG 20 to the host 12 informing the user that the logon process has been completed and displaying the available services on the user's dashboard. If the authentication reply indicates that the authentication process was unsuccessful then, at step 44, the SSG 20 sends a prompt back to the host 12 noting the user that the authentication process was unsuccessful.
Once the SSG 20 logons on the host 12, at step 46 the SSG 20 generates an account logon accounting start request and, at step 48, this accounting start request is sent to the AAA server 22. In the preferred embodiment the RADIUS account logon accounting start request will have the following attributes associated with the record:
Once the account logon accounting start request has been completed, at step 50, the host 12 is capable of initiating a service logon request. At step 52, the service logon request is sent from the host 12 to the computer network service provider where it is received by the SSG 20. The SSG 20 makes an initial determination, at step 54, to determine if the requested service is available within the SSG 20. If the user profile pre-exists in the SSG 20 then a determination is made, at step 64, as to whether the user has authorization to access the desired service. If no user profile exists, then at step 56, the SSG 20 prepares a RADIUS service access request packet as a means for verifying the authorized services available for the given user. The RADIUS service access request packet is sent, at step 58, to the AAA server 22 where the information in the service access request packet is used to locate, at step 60, user profile stored in the memory of the AAA server 22. Once the user profile is found, it is forwarded to the SSG 20 at step 62 and at step 64 a determination is made as to whether the user has authorization to access the desired service. If no match to the desired service is found within the user profile then authorization to access the service is withheld and, at step 66, a prompt is sent to the host 12 informing the user that service authorization is denied. If the service to which the user 12 desires access to is found within the user profile then the SSG 20 at step 68, logs the user on to the desired service. The connection to the service may be accomplished by various means, including but not limited to, an L2TP (Layer Two Tunneling Protocol) tunnel connection 24 or a standard Internet (packet-forward) connection 26 via a leased line.
Once the service logon is successfully completed, at step 70, the SSG 20 determines whether a pre-existing service connection exists (typically, generated by any other host which connects through this particular access point). If a service connection is pre-existing then no need exists to generate a service accounting start request packet because the AAA server 22 will already have such stored in memory. If no pre-existing service connection exists, then at step 72, the SSG 20 generates a service accounting start request packet and at step 74 this request is sent from the SSG 20 to the AAA server 22. In the preferred embodiment the RADIUS service accounting start request packet will have the following attributes associated with the record:
Once the service establishment is completed, the user, at step 76, is connected with the home gateway 28 of the desired service. When this type of Point to Point Protocol (PPP) connection is made with the home gateway 78 of the desired service, it triggers the SSG 20, at step 80, to generate a connection accounting request packet and forward this request to the AAA server 22, step 80. In the preferred embodiment the RADIUS connection accounting start request packet will have the following attributes associated with the record:
Once a user desires to disconnect from an open PPP connection and, at step 82, the disconnect is executed, the SSG 20 generates a connection accounting stop request packet, step 84. While these packets will typically be generated due to a host-request disconnect command, it is also possible to generate the packets when a disconnect is prompted by other events outside the control of the user, such as, a lost-carrier, a lost-service or a session-timeout. Once the connection account stop request packet is generated, at step 86, the packet is forwarded to the AAA server 22 where it is coupled with the initial connection start request for accounting and filing purposes. In the preferred embodiment the RADIUS connection accounting stop request packet will have the following attributes associated with the record:
Once the host terminates the PPP connection, at step 88, the SSG 20 determines whether any remaining connections exist to the service. If the host 12 or other hosts connected through this access point have current connections existing with this service, then no need exists at this time to generate a service accounting stop request packet The service accounting stop request packet will be generated only when no existing connections exist through the service connection. If the SSG 20 determines that no other then-existing connections exist through the service connection then, at step 90, the SSG 20 generates a service accounting stop request packet. While these service stop request packets will typically be generated as a result of a host-request disconnect command, it is also possible to generate the packets when a disconnect is prompted by other events outside the control of the user, such as, a lost-carrier, a lost-service or a session-timeout. Once the service account stop request packet is generated, at step 92, the packet is forwarded to the AAA server 22 where it is coupled with the initial service start request for accounting and filing purposes. In the preferred embodiment the RADIUS service accounting stop request packet will have the following attributes associated with the record:
Finally, once the host desires to logoff from the network account and, at step 94, the logoff is executed, the SSG 20 generates an account logoff accounting stop request packet, step 96. While these packets will typically be generated due to a user-requested logoff command, it is also possible to generate the stop packets when a logoff is prompted by other events outside the control of the user, such as a session timeout. Once the account logoff accounting stop request packet is generated, at step 98, the packet is forwarded to the AAA server 22 where it is coupled with the initial account logon accounting start request for further accounting and filing purposes. In the preferred embodiment the RADIUS account logoff accounting stop request packet will have the following attributes associated with the record:
In another preferred embodiment of the present invention the method for multiple-level accounting can include an additional accounting session implemented to provide periodic update information to the AAA server 22. These periodic accounting update request packets contain information which, typically, mirrors the data found in account logoff accounting stop request packets and serve as an added measure of security should system errors, transmission errors, or the like, prevent the actual account logoff accounting stop request from being either properly generated at the SSG 20 or properly sent to the AAA server 22. The Telco or commercial ISP is capable of defining the attributes associated with the periodic accounting update request and defining the time period between such requests.
Additional security measures can also be imposed by the SSG 20 to insure that accounting request packets are properly received by the AAA server 22. These security measures include defining within the SSG 20 scheme a retry value and an interval between retry to be employed when the SSG 20 makes a determination that an accounting request packet was not properly delivered to the AAA 22 server. The retry value and the interval between retry are SSG-user configurable.
In another embodiment of the present invention, a networking event metering system using the multiple level accounting of the present invention is detailed in
The AAA server 128 then compares attribute data found in the account logon access request packets against data found in the user profiles 130 of the AAA server's memory bank. If the data in the RADIUS access requests are found to match data in the AAA server 128 then access to the network can be granted. Additionally, the AAA server 128 holds service profiles 132 within the memory bank. The user profiles 130 contain, among various data attributes, a listing of which services (private and public domains) a specified user is authorized to access. The service profiles 132, which are not user dependant, contain attribute data for a specific service domain. The gateway device 122 can query the AAA server 128 for a given user profile 130 and then within the processor 134 of the gateway device 122 assess the profile to determine which services the user has authorization to access.
The gateway device 122 also encompasses an accounting request generator 136 which is capable of generating the accounting start and stop requests for various events which are triggered within the gateway device 122. Upon the gateway device 122 authenticating the user for account logon, the accounting request generator 136 will issue an account logon accounting start request packet and forward the packet to the accounter 138 located within the AAA server 128. Similarly, upon the gateway device 122 authorizing the user to access a specific service, the accounting request generator 136 will, typically, issue a service accounting start request and forward the packet to the accounter 138 located within the AAA server 128. In the instance where the service already has a then-existing connection established by the host or any other host connecting through the gateway device 122, no need would exist to generate the service start request because such a request will already be existing within the accounter 138. Once the user establishes a PPP connection 140 to the desired service 142, the accounting request generator 136 will issue a PPP connection accounting start request and forward the packet to the accounter 138 located within the AAA server 128.
The gateway device 122 will also rely on the accounting request generator 136 to issue the accounting stop requests upon certain triggering events occurring. When the user disconnects from a PPP connection, the accounting request generator 136 will issue a PPP connection accounting stop request packet and forward this packet to the accounter 138 where it will be married with its corresponding start request for accounting purposes. While these packets will typically be generated due to a host-request disconnect command, it is also possible to generate the packets when a disconnect is prompted by other events outside the control of the user, such as, a lost-carrier, a lost-service or a session-timeout. When the user disconnects from a PPP connection the processor 134 within the gateway device 122 will determine if any additional connections remain to that particular service through that particular tunnel or routed connection. If no additional connections remain, then the accounting request generator 136 will issue a service accounting stop request packet and forward this packet to the accounter 138 where it will be married with the corresponding stop request for subsequent accounting purposes. While these service stop request packets will typically be generated as a result of a host-request disconnect command, it is also possible to generate the packets when a disconnect is prompted by other events outside the control of the user, such as, a lost-carrier, a lost-service or a session-timeout. Finally, when the host initiates an account logoff, the accounting request generator 136 will issue an account logoff accounting stop request packet and forward this to the accounter 138 where it will be married with the corresponding stop request for subsequent accounting purposes. While these packets will typically be generated due to a user-requested logoff command, it is also possible to generate the stop packets when a logoff is prompted by other events outside the control of the user, such as a session timeout.
Additionally, it is within the inventive concept herein disclosed to provide back-up capacity to both the gateway device 122 and AAA server 128 to compensate for device failures or errors in transmission. A back-up gateway device 144 allows for a safeguard should the primary gateway device 122 become temporarily inactive and fail to provide a means for generating and sending accounting start or stop requests a secondary AAA server 146 allows for the initial accounting start request data to be catalogued in a second location should the primary AAA server encounter a temporary failure or service outage.
In another preferred embodiment of the present invention, a computer network having the capabilities to use multiple-level accounting is illustrated in
Alternative Embodiments
Although illustrative presently preferred embodiments and applications of this invention are shown and described herein, many variations and modifications are possible which remain within the concept, scope and spirit of the invention, and these variations would become clear to those skilled in the art after perusal of this application. The invention, therefore, is not limited except in spirit of the appended claims.
This application is a divisional of U.S. patent application Ser. No. 09/589,609, entitled “Multiple-Level Internet Protocol Accounting,” filed on Jun. 7, 2000, now U.S. Pat. No. 6,792,457, issued Sep. 14, 2004, which is a continuation of U.S. patent application Ser. No. 09/172,183, entitled “Multiple-Level Internet Protocol Accounting,” filed on Oct. 13, 1998, now U.S. Pat. No. 6,119,160 issued Sep. 12, 2000, all of which are in the names of the same inventors and assigned to the same assignee.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5241594 | Kung | Aug 1993 | A |
| 5283783 | Nguyen et al. | Feb 1994 | A |
| 5287103 | Kasprzyk et al. | Feb 1994 | A |
| 5408469 | Opher et al. | Apr 1995 | A |
| 5519704 | Farinacci et al. | May 1996 | A |
| 5555244 | Gupta et al. | Sep 1996 | A |
| 5592470 | Rudrapatna et al. | Jan 1997 | A |
| 5621721 | Vatuone | Apr 1997 | A |
| 5655077 | Jones et al. | Aug 1997 | A |
| 5668857 | McHale | Sep 1997 | A |
| 5671354 | Ito et al. | Sep 1997 | A |
| 5673265 | Gupta et al. | Sep 1997 | A |
| 5678006 | Valizadeh et al. | Oct 1997 | A |
| 5682482 | Burt et al. | Oct 1997 | A |
| 5684950 | Dare et al. | Nov 1997 | A |
| 5715394 | Jabs | Feb 1998 | A |
| 5717604 | Wiggins | Feb 1998 | A |
| 5729546 | Gupta et al. | Mar 1998 | A |
| 5740176 | Gupta et al. | Apr 1998 | A |
| 5745556 | Ronen | Apr 1998 | A |
| 5761507 | Govett | Jun 1998 | A |
| 5768521 | Dedrick | Jun 1998 | A |
| 5778182 | Cathey et al. | Jul 1998 | A |
| 5787253 | McCreery et al. | Jul 1998 | A |
| 5799017 | Gupta et al. | Aug 1998 | A |
| 5812529 | Czarnik et al. | Sep 1998 | A |
| 5815665 | Teper et al. | Sep 1998 | A |
| 5852812 | Reeder | Dec 1998 | A |
| 5870550 | Wesinger, Jr. et al. | Feb 1999 | A |
| 5898780 | Liu et al. | Apr 1999 | A |
| 5905736 | Ronen et al. | May 1999 | A |
| 5913037 | Spofford et al. | Jun 1999 | A |
| 5918016 | Brewer et al. | Jun 1999 | A |
| 5922051 | Sidey | Jul 1999 | A |
| 5933625 | Sugiyama | Aug 1999 | A |
| 5944824 | He | Aug 1999 | A |
| 5960409 | Wexler | Sep 1999 | A |
| 5968116 | Day, II et al. | Oct 1999 | A |
| 5970477 | Roden | Oct 1999 | A |
| 5974463 | Warrier et al. | Oct 1999 | A |
| 5987430 | Van Horne et al. | Nov 1999 | A |
| 5991810 | Shapiro et al. | Nov 1999 | A |
| 5991828 | Horie et al. | Nov 1999 | A |
| 6009103 | Woundy | Dec 1999 | A |
| 6011910 | Chau et al. | Jan 2000 | A |
| 6018619 | Allard et al. | Jan 2000 | A |
| 6018770 | Little et al. | Jan 2000 | A |
| 6021429 | Danknick | Feb 2000 | A |
| 6021496 | Dutcher et al. | Feb 2000 | A |
| 6026440 | Shrader et al. | Feb 2000 | A |
| 6026441 | Ronen | Feb 2000 | A |
| 6035281 | Crosskey et al. | Mar 2000 | A |
| 6035404 | Zhao | Mar 2000 | A |
| 6047376 | Hosoe | Apr 2000 | A |
| 6052730 | Felciano et al. | Apr 2000 | A |
| 6091951 | Sturniolo et al. | Jul 2000 | A |
| 6092196 | Reiche | Jul 2000 | A |
| 6104704 | Buhler et al. | Aug 2000 | A |
| 6119160 | Zhang et al. | Sep 2000 | A |
| 6141687 | Blair | Oct 2000 | A |
| 6151628 | Xu et al. | Nov 2000 | A |
| 6205479 | Dulai et al. | Mar 2001 | B1 |
| 6219790 | Lloyd et al. | Apr 2001 | B1 |
| 6282575 | Lin et al. | Aug 2001 | B1 |
| 6442588 | Clark et al. | Aug 2002 | B1 |
| 6792457 | Zhang et al. | Sep 2004 | B1 |
| 20020002688 | Gregg et al. | Jan 2002 | A1 |
| Number | Date | Country |
|---|---|---|
| 9953408 | Oct 1999 | WO |
| Number | Date | Country | |
|---|---|---|---|
| 20050044216 A1 | Feb 2005 | US |
| Number | Date | Country | |
|---|---|---|---|
| Parent | 09589609 | Jun 2000 | US |
| Child | 10936006 | US |
| Number | Date | Country | |
|---|---|---|---|
| Parent | 09172183 | Oct 1998 | US |
| Child | 09589609 | US |