Integrated IP address management
First Claim
1. An IP address management system for managing dynamic IP address allocation in a data communications network having a point of presence, a network access device, an Authentication, Authorization and Accounting (AAA) server and a dynamic IP allocation server associated with said point of presence, said system comprising:
- a protocol gateway in communication with the network access device;
said AAA server in communication with said protocol gateway;
said dynamic IP allocation server in communication with said protocol gateway;
a local memory in communication with the protocol gateway; and
a local memory publisher, said local memory publisher periodically publishing to subscribers contents of said local memory over an information bus.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for managing dynamic IP address allocation in a data communications network having a point of presence, a network access device associated with said point of presence, and user connections to users formed through the network access device. The system includes a protocol gateway in communication with the network access device, an authentication, authorization and accounting (AAA) server in communication with the protocol gateway, a dynamic IP allocation server in communication with the protocol gateway, a local memory in communication with the protocol gateway; and a local memory publisher, which periodically publishes the contents of the local memory over an information bus so that the contents may be received by subscribing entities.
-
Citations
145 Claims
-
1. An IP address management system for managing dynamic IP address allocation in a data communications network having a point of presence, a network access device, an Authentication, Authorization and Accounting (AAA) server and a dynamic IP allocation server associated with said point of presence, said system comprising:
-
a protocol gateway in communication with the network access device;
said AAA server in communication with said protocol gateway;
said dynamic IP allocation server in communication with said protocol gateway;
a local memory in communication with the protocol gateway; and
a local memory publisher, said local memory publisher periodically publishing to subscribers contents of said local memory over an information bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
a timer, said local memory publisher publishing contents of said local memory at times determined by said timer.
-
-
13. A system in accordance with claim 3, further comprising:
a timer, said local memory publisher publishing contents of said local memory at times determined by said timer.
-
14. A system in accordance with claim 3 wherein in response to said query to said AAA server, said protocol gateway receives information including the latest home point of presence (PoP) ID of said user.
-
15. A system in accordance with claim 14 wherein the network access device forwards a user identification and a network access device PoP ID to said protocol gateway in response to an attempted log-in by said user.
-
16. A system in accordance with claim 15 wherein said local memory publisher publishes IP address allocation events when a PoP ID received from the network access device differs from said latest home PoP ID of said user.
-
17. A system in accordance with claim 2, further comprising:
-
a network controller in communication with said protocol gateway over an information bus;
a controller memory associated with said network controller;
a controller memory publisher associated with said controller memory, said controller memory publisher periodically publishing to subscribers contents of said controller memory over an information bus;
a controller subscriber associated with said network controller, said controller subscriber subscribing to IP address allocation events and user accounting events published by said protocol gateway; and
an IP address revoke database maintained in said controller memory, said database containing IP address revoke events, said IP address revoke events held in said IP address revoke database until said controller memory publisher publishes contents of said controller memory over an information bus.
-
-
18. A system in accordance with claim 17, further comprising:
an IP address allocation database maintained in said controller memory, said IP address allocation database including entries having user identification and allocated IP address for said users for a plurality of points of presence on the data communications network.
-
19. A system in accordance with claim 18 wherein said IP address allocation database further includes for each entry an IP address expiration time.
-
20. A system in accordance with claim 19, further comprising:
a controller database updater associated with said network controller, said controller database updater updating said IP address allocation database in response to IP address allocation events and user accounting events received by said controller subscriber.
-
21. A system in accordance with claim 20, further comprising:
a clock, said network controller periodically examining said IP address allocation database maintained in said controller memory and said clock so as to determine if an IP address has expired, said network controller removing said expired IP address entries from said IP address database upon confirming log-out of a user to whom said expired IP address was allocated.
-
22. A system in accordance with claim 20 wherein:
-
said controller subscriber receives user accounting stop events published by said protocol gateway, and said network controller removes IP addresses from said IP address allocation database and places said IP addresses into said IP address revoke database.
-
-
23. A system in accordance with claim 22 wherein:
said network controller removes IP addresses from said IP address allocation database in response to the receipt by said controller subscriber of user accounting stop events corresponding to users to whom said IP addresses are allocated.
-
24. A system in accordance with claim 22 wherein:
said network controller removes IP addresses from said IP address allocation database in response to the expiration of said IP addresses.
-
25. A system in accordance with claim 18, further comprising:
a controller database updater associated with said network controller, said controller database updater updating said IP address allocation database in response to IP address allocation events and user accounting events received by said controller subscriber.
-
26. A system in accordance with claim 17, further comprising:
a dynamic IP allocation subscriber associated with said dynamic IP allocation server, said dynamic IP allocation subscriber subscribing to IP address revoke events published by said controller memory publisher over said information bus.
-
27. A system in accordance with claim 26, further comprising:
means associated with said dynamic IP allocation server for revoking leased IP addresses in response to receipt of published IP address revoke events.
-
28. A system in accordance with claim 17, further comprising:
-
a domain name system (DNS) server maintaining an association database mapping between domain names and IP addresses; and
a DNS subscriber associated with said DNS server, said DNS subscriber subscribing to IP address revoke events and accounting start events.
-
-
29. A system in accordance with claim 28 wherein:
said DNS server adds mappings between domain names and IP addresses to its association database in response to accounting start events received from said protocol gateway.
-
30. A system in accordance with claim 29 wherein:
said DNS server deletes mappings between domain names and IP addresses from its association database in response to IP address revoke events received from said controller memory publisher.
-
31. A system in accordance with claim 3, further comprising:
an IP addresses allocated database maintained in said local memory, said IP addresses allocated database containing information including IP addresses allocated to users at the point of presence and user identification information for each IP address allocated at the point of presence.
-
32. A system in accordance with claim 31, further comprising:
a user record database maintained in said local memory, said user record database containing information relating to users having a current home PoP ID the same as that of the point of presence.
-
33. A system in accordance with claim 32, further comprising:
a protocol gateway subscriber associated with said protocol gateway for subscribing to IP address allocation events and IP address revoke events form locations other than the point of presence.
-
34. A system in accordance with claim 33, further comprising:
a protocol gateway updater associated with said protocol gateway, said protocol gateway updater updating a local address information database maintained in said local memory in response to IP address allocation events and IP address revoke events received, said local address information database containing IP addresses allocated and corresponding user identification records.
-
35. A system in accordance with claim 34 wherein said protocol gateway subscriber further subscribes to accounting start events and said protocol gateway updater further updates said local address information database maintained in said local memory regarding IP addresses allocated and corresponding user identification records in response to said accounting start events.
-
36. A system in accordance with claim 35, further comprising:
a temporary database maintained by said protocol gateway updater, said temporary database containing IP addresses reported by IP address allocation events received by said protocol gateway subscriber until said IP addresses are also reported by accounting start events received by said protocol gateway subscriber.
-
37. A system in accordance with claim 36 wherein said local address information database is updated to include a particular IP address as currently allocated only after an IP address allocation event specifying said particular IP address has been followed by a corresponding accounting start event specifying said particular IP address.
-
38. A system in accordance with claim 37, further comprising:
a home PoP ID filter associated with said protocol gateway, said filter selectively passing published events corresponding to the PoP ID of the point of presence.
-
39. A system in accordance with claim 34 wherein said protocol gateway subscriber further subscribes to accounting start events and accounting stop events and said protocol gateway updater further updates said local address information database maintained in said local memory regarding IP addresses allocated and corresponding user identification records in response to said accounting start events and said accounting stop events.
-
40. A system in accordance with claim 3, further comprising:
a protocol gateway subscriber associated with said protocol gateway for subscribing to IP address allocation events and IP address revoke events form locations other than the point of presence.
-
41. A system in accordance with claim 40, further comprising:
a protocol gateway updater associated with said protocol gateway, said protocol gateway updater updating information maintained in said local memory regarding IP addresses allocated and corresponding user identification records in response to IP address allocation events and IP address revoke events received.
-
42. A system in accordance with claim 1 wherein said protocol gateway receives reports from the network access device corresponding to user log-in events and user log-out events.
-
43. A system in accordance with claim 42 wherein said protocol gateway maintains user accounting event records in said local memory until said local memory publisher publishes said events, said user accounting event records including user identification information, an IP address assigned to the user and a time at which the event occurred.
-
44. A system in accordance with claim 43 wherein said user accounting event records include accounting start event records which correspond to user log-in events and accounting stop event records corresponding to user log-out events.
-
45. A system in accordance with claim 43, further comprising:
a timer, said local memory publisher publishing contents of said local memory at times determined by said timer.
-
46. A method for managing IP addresses on a data communications network including:
- a network access device in a point of presence (PoP) for providing user access to the data communications network;
a protocol gateway coupled to said network access device;
a local memory associated with said protocol gateway;
an authentication, authorization and accounting (AAA) server providing user authentication, authorization and accounting information to said protocol gateway; and
a dynamic IP address server maintaining a pool of IP addresses, said method comprising;querying said AAA server upon attempted log-in to said data communications network by a user through said network access device to determine if said user is an authorized user and if an IP address is already allocated to said user;
receiving an IP address from said AAA service if said user is authorized to access the data communications network and an IP address is already allocated to said user, obtaining an available IP address from said pool of IP addresses if said user is authorized to access the data communications network and an IP address is not already allocated to said user;
allocating said received or obtained IP address to the user;
maintaining in said local memory a database for IP address allocation events each including an IP address allocated to a user and associated user identification information until said IP address allocation events are published; and
periodically publishing said IP address allocation events. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69)
receiving from said network access device users'"'"' log-in and log-out information;
maintaining in said local memory a database for user accounting events including users'"'"' log-in and log-off records until said user accounting events are published; and
periodically publishing said user accounting events.
- a network access device in a point of presence (PoP) for providing user access to the data communications network;
-
50. A method according to claim 49, wherein said user accounting events include:
-
accounting start events each including a user name, an IP address, and time at which the user logged in; and
accounting stop events each including a user name, and IP address, and time at which the user logged out.
-
-
51. A method according to claim 49, wherein in said periodically publishing said IP address allocation events are published based on a timer associated with said database for said IP address allocation events.
-
52. A method according to claim 51, wherein said IP address allocation events are further published before said user accounting events are published.
-
53. A method according to claim 52, further including:
-
receiving from said network access device user information including a user name and a PoP ID upon a user'"'"'s attempted log-in to the data communications network;
obtaining latest PoP ID records for said user from said AAA service; and
publishing said IP address allocation events when said PoP ID received from said network access device is different from a latest PoP ID in said PoP ID records obtained from said AAA service.
-
-
54. A method according to claim 49, wherein said data communications network further includes:
- a network controller in communication with said protocol gateway; and
a controller memory associated with said network controller, said method further comprising;subscribing at said network controller to said IP address allocation events and said user accounting events published from said local memory, producing a database for IP address revoke events including IP addresses to be revoked;
maintaining said database in said controller memory until said IP address revoke events are published; and
periodically publishing said IP address revoke events.
- a network controller in communication with said protocol gateway; and
-
55. A method according to claim 54, further comprising:
-
maintaining in said local memory information on IP addresses allocated and user identification records for said point of presence;
subscribing at said protocol gateway to said IP address allocation events and said IP address revoke events; and
updating contents of said local memory information on IP addresses allocated and user identification records based on said IP address allocation events and said IP address revoke events received at said protocol gateway.
-
-
56. A method according to claim 55, further comprising:
-
maintaining in said controller memory information on IP addresses allocated and user identification records for said data communications network; and
updating said information on IP addresses allocated and user identification records in said controller memory based on said IP address allocation events and said user accounting events subscribed to.
-
-
57. A method according to claim 56, wherein said AAA service obtains said authorization, authentication and accounting information from said local memory and said controller memory.
-
58. A method according to claim 54, further comprising:
-
maintaining in said local memory an IP address database storing IP address information including IP addresses currently allocated to users, said IP addresses being included in said pool of IP addresses;
maintaining in said local gateway memory a user record database storing user identification information for users having a home PoP ID the same as a PoP ID of said network access device; and
updating the contents of said IP address database and said user record database based on said IP address allocation events and said IP address revoke events received at said protocol gateway.
-
-
59. A method according to claim 58, further comprising:
-
subscribing at said protocol gateway to said accounting start events; and
further updating contents of said IP address database based on said accounting start events.
-
-
60. A method according to claim 59, further comprising:
-
subscribing at said protocol gateway to said accounting stop events; and
further updating contents of said user record database based on said accounting start events and accounting stop events.
-
-
61. A method according to claim 59, further comprising:
-
maintaining a temporary database containing IP addresses reported by said IP address allocation events until reported by said accounting start events; and
moving said IP addresses from said temporary database to said IP address database when the IP addresses are reported by said accounting start events.
-
-
62. A method according to claim 59, further comprising:
filtering on users'"'"' home PoP IDs at said protocol gateway so as to receive events for users having a home PoP ID of said point of presence.
-
63. A method according to claim 54, further comprising:
-
maintaining in said controller memory an IP address database storing IP address information including IP addresses currently allocated to users;
maintaining in said controller memory a user record database storing user identification information; and
updating said IP address database and said user record database in said controller memory based on said IP address allocation events and said user accounting events subscribed to.
-
-
64. A method according to claim 63, where in said IP address information further includes user names and respective expiry time of the IP addresses allocated to the users, said method further comprising:
-
periodically examining said IP address database based on a timer so as to determine if an IP address has expired;
confirming on said user record database that a user to whom said expired IP address has been allocated logged out; and
removing said expired and confirmed IP addresses from said IP address database to said database for IP address revoke events.
-
-
65. A method according to claim 63, wherein said IP address information further includes user names and respective expiration times of the IP addresses allocated to the users, said method further comprising:
-
verifying the expiration time of IP addresses on said IP address database when the IP addresses are reported by said accounting stop events subscribed to; and
removing said reported and verified IP addresses from said IP address database to said database for IP address revoke events.
-
-
66. A method according to claim 65, further comprising:
updating contents of said user record database in said controller memory in accordance with changes in said IP address database.
-
67. A method according to claim 54, further comprising:
-
subscribing at said dynamic IP address server to at least said IP address revoke events; and
revoking leases of IP addresses reported by said IP address revoke events and making said IP addresses available to users by putting them back in the IP address pool.
-
-
68. A method according to claim 54, said data communications network further including a domain name system server (DNS) for maintaining associations between users'"'"' domain names and IP addresses, said method further comprising:
-
subscribing at said DNS to at least said accounting start events and said IP address revoke events; and
adding entries of said associations for IP addresses reported by said accounting start events subscribed to; and
deleting entries of said associations for IP addresses reported by said IP address revoke events subscribed to.
-
-
69. A method according to claim 49, further comprising:
updating contents of said user record database in said controller memory in accordance with changes in said IP address database.
-
70. A program storage device readable by a machine, embodying a program of instructions executable by the machine to perform a method to manage IP addresses on a data communications network comprising:
- a network access device in a point of presence (PoP) for providing user access to the data communications network;
a protocol gateway coupled to said network access device;
a local memory associated with said protocol gateway;
an authentication, authorization and accounting (AAA) server providing user authentication, authorization and accounting information to said protocol gateway; and
a dynamic IP address server maintaining a pool of IP addresses, the method comprising;querying said AAA server upon attempted log-in to said data communications network by a user through said network access device to determine if said user is an authorized user and if an IP address is already allocated to said user;
receiving an IP address from said AAA service if said user is authorized to access the data communications network and an IP address is already allocated to said user, obtaining an available IP address from said pool of IP addresses if said user is authorized to access the data communications network and an IP address is not already allocated to said user;
allocating said received or obtained IP address to the user;
maintaining in said local memory a database for IP address allocation events each comprising an IP address allocated to a user and associated user identification information until said IP address allocation events are published; and
periodically publishing said IP address allocation events. - View Dependent Claims (71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93)
receiving from said network access device users'"'"' log-in and log-out information;
maintaining in said local memory a database for user accounting events comprising users'"'"' log-in and log-off records until said user accounting events are published; and
periodically publishing said user accounting events.
- a network access device in a point of presence (PoP) for providing user access to the data communications network;
-
74. The program storage device of claim 73 wherein said user accounting events include:
-
accounting start events each comprising a user name, an IP address, and time at which the user logged in; and
accounting stop events each comprising a user name, and IP address, and time at which the user logged out.
-
-
75. The program storage device of claim 73 wherein said periodically publishing said IP address allocation events are published based on a timer associated with said database for said IP address allocation events.
-
76. The program storage device of claim 75 wherein said IP address allocation events are further published before said user accounting events are published.
-
77. The program storage device of claim 76 wherein said method further comprises:
-
receiving from said network access device user information comprising a user name and a PoP ID upon a user'"'"'s attempted log-in to the data communications network;
obtaining latest PoP ID records for said user from said AAA service; and
publishing said IP address allocation events when said PoP ID received from said network access device is different from a latest PoP ID in said PoP ID records obtained from said AAA service.
-
-
78. The program storage device of claim 73 wherein said data communications network further comprises:
- a network controller in communication with said protocol gateway; and
a controller memory associated with said network controller, said method further comprising;subscribing at said network controller to said IP address allocation events and said user accounting events published from said local memory, producing a database for IP address revoke events comprising IP addresses to be revoked;
maintaining said database in said controller memory until said IP address revoke events are published; and
periodically publishing said IP address revoke events.
- a network controller in communication with said protocol gateway; and
-
79. The program storage device of claim 78 wherein said method further comprises:
-
maintaining in said local memory information on IP addresses allocated and user identification records for said point of presence;
subscribing at said protocol gateway to said IP address allocation events and said IP address revoke events; and
updating contents of said local memory information on IP addresses allocated and user identification records based on said IP address allocation events and said IP address revoke events received at said protocol gateway.
-
-
80. The program storage device of claim 79 wherein said method further comprises:
-
maintaining in said controller memory information on IP addresses allocated and user identification records for said data communications network; and
updating said information on IP addresses allocated and user identification records in said controller memory based on said IP address allocation events and said user accounting events subscribed to.
-
-
81. The program storage device of claim 80 wherein said AAA service obtains said authorization, authentication and accounting information from said local memory and said controller memory.
-
82. The program storage device of claim 78 wherein said method further comprises:
-
maintaining in said local memory an IP address database storing IP address information comprising IP addresses currently allocated to users, said IP addresses being included in said pool of IP addresses;
maintaining in said local gateway memory a user record database storing user identification information for users having a home PoP ID the same as a PoP ID of said network access device; and
updating the contents of said IP address database and said user record database based on said IP address allocation events and said IP address revoke events received at said protocol gateway.
-
-
83. The program storage device of claim 82 wherein said method further comprises:
-
subscribing at said protocol gateway to said accounting start events; and
further updating contents of said IP address database based on said accounting start events.
-
-
84. The program storage device of claim 83 wherein said method further comprises:
-
subscribing at said protocol gateway to said accounting stop events; and
further updating contents of said user record database based on said accounting start events and accounting stop events.
-
-
85. The program storage device of claim 83 wherein said method further comprises:
-
maintaining a temporary database containing IP addresses reported by said IP address allocation events until reported by said accounting start events; and
moving said IP addresses from said temporary database to said IP address database when the IP addresses are reported by said accounting start events.
-
-
86. The program storage device of claim 83 wherein said method further comprises:
filtering on users'"'"' home PoP IDs at said protocol gateway so as to receive events for users having a home PoP ID of said point of presence.
-
87. The program storage device of claim 78 wherein said method further comprises:
-
maintaining in said controller memory an IP address database storing IP address information comprising IP addresses currently allocated to users;
maintaining in said controller memory a user record database storing user identification information; and
updating said IP address database and said user record database in said controller memory based on said IP address allocation events and said user accounting events subscribed to.
-
-
88. The program storage device of claim 87 wherein said IP address information further comprises user names and respective expiry time of the IP addresses allocated to the users, said method further comprising:
-
periodically examining said IP address database based on a timer so as to determine if an IP address has expired;
confirming on said user record database that a user to whom said expired IP address has been allocated logged out; and
removing said expired and confirmed IP addresses from said IP address database to said database for IP address revoke events.
-
-
89. The program storage device of claim 87 wherein said IP address information further comprises user names and respective expiration times of the IP addresses allocated to the users, said method further comprising:
-
verifying the expiration time of IP addresses on said IP address database when the IP addresses are reported by said accounting stop events subscribed to; and
removing said reported and verified IP addresses from said IP address database to said database for IP address revoke events.
-
-
90. The program storage device of claim 89 wherein said method further comprises:
updating contents of said user record database in said controller memory in accordance with changes in said IP address database.
-
91. The program storage device of claim 78 wherein said method further comprises:
-
subscribing at said dynamic IP address server to at least said IP address revoke events; and
revoking leases of IP addresses reported by said IP address revoke events and making said IP addresses available to users by putting them back in the IP address pool.
-
-
92. The program storage device of claim 78, the method further comprising:
-
subscribing at a domain name system (DNS) server to at least said accounting start events and said IP address revoke events, said DNS server for maintaining associations between users'"'"' domain names and IP addresses;
adding entries of said associations for IP addresses reported by said accounting start events subscribed to; and
deleting entries of said associations for IP addresses reported by said IP address revoke events subscribed to.
-
-
93. The program storage device of claim 73 wherein said method further comprises:
updating contents of said user record database in said controller memory in accordance with changes in said IP address database.
-
94. An apparatus to manage IP addresses on a data communications network comprising:
- a network access device in a point of presence (PoP) for providing user access to the data communications network;
a protocol gateway coupled to said network access device;
a local memory associated with said protocol gateway;
an authentication, authorization and accounting (AAA) server providing user authentication, authorization and accounting information to said protocol gateway; and
a dynamic IP address server maintaining a pool of IP addresses, the apparatus comprising;means for querying said AAA server upon attempted log-in to said data communications network by a user through said network access device to determine if said user is an authorized user and if an IP address is already allocated to said user;
means for receiving an IP address from said AAA service if said user is authorized to access the data communications network and an IP address is already allocated to said user, means for obtaining an available IP address from said pool of IP addresses if said user is authorized to access the data communications network and an IP address is not already allocated to said user;
means for allocating said received or obtained IP address to the user;
means for maintaining in said local memory a database for IP address allocation events each comprising an IP address allocated to a user and associated user identification information until said IP address allocation events are published; and
means for periodically publishing said IP address allocation events. - View Dependent Claims (95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117)
means for receiving from said network access device users'"'"' log-in and log-out information;
means for maintaining in said local memory a database for user accounting events comprising users'"'"' log-in and log-off records until said user accounting events are published; and
means for periodically publishing said user accounting events.
- a network access device in a point of presence (PoP) for providing user access to the data communications network;
-
98. The apparatus of claim 97 wherein said user accounting events include:
-
accounting start events each comprising a user name, an IP address, and time at which the user logged in; and
accounting stop events each comprising a user name, and IP address, and time at which the user logged out.
-
-
99. The apparatus of claim 97 wherein said means for periodically publishing said IP address allocation events comprises means for publishing said IP address allocation events based on a timer associated with said database for said IP address allocation events.
-
100. The apparatus of claim 99 wherein said IP address allocation events are further published before said user accounting events are published.
-
101. The apparatus of claim 100 wherein said apparatus further comprises:
-
means for receiving from said network access device user information comprising a user name and a PoP ID upon a user'"'"'s attempted log-in to the data communications network;
means for obtaining latest PoP ID records for said user from said AAA service; and
means for publishing said IP address allocation events when said PoP ID received from said network access device is different from a latest PoP ID in said PoP ID records obtained from said AAA service.
-
-
102. The apparatus of claim 97 wherein
said data communications network further comprises: -
a network controller in communication with said protocol gateway; and
a controller memory associated with said network controller; and
said apparatus further comprises;
means for subscribing at said network controller to said IP address allocation events and said user accounting events published from said local memory, means for producing a database for IP address revoke events comprising IP addresses to be revoked;
means for maintaining said database in said controller memory until said IP address revoke events are published; and
means for periodically publishing said IP address revoke events.
-
-
103. The apparatus of claim 102, further comprising:
-
means for maintaining in said local memory information on IP addresses allocated and user identification records for said point of presence;
means for subscribing at said protocol gateway to said IP address allocation events and said IP address revoke events; and
means for updating contents of said local memory information on IP addresses allocated and user identification records based on said IP address allocation events and said IP address revoke events received at said protocol gateway.
-
-
104. The apparatus of claim 103, further comprising:
-
means for maintaining in said controller memory information on IP addresses allocated and user identification records for said data communications network; and
means for updating said information on IP addresses allocated and user identification records in said controller memory based on said IP address allocation events and said user accounting events subscribed to.
-
-
105. The apparatus of claim 104 wherein said AAA service obtains said authorization, authentication and accounting information from said local memory and said controller memory.
-
106. The apparatus of claim 102, further comprising:
-
means for maintaining in said local memory an IP address database storing IP address information comprising IP addresses currently allocated to users, said IP addresses being included in said pool of IP addresses;
means for maintaining in said local gateway memory a user record database storing user identification information for users having a home PoP ID the same as a PoP ID of said network access device; and
means for updating the contents of said IP address database and said user record database based on said IP address allocation events and said IP address revoke events received at said protocol gateway.
-
-
107. The apparatus of claim 106, further comprising:
-
means for subscribing at said protocol gateway to said accounting start events; and
means for further updating contents of said IP address database based on said accounting start events.
-
-
108. The apparatus of claim 107, further comprising:
-
means for subscribing at said protocol gateway to said accounting stop events; and
means for further updating contents of said user record database based on said accounting start events and accounting stop events.
-
-
109. The apparatus of claim 107, further comprising:
-
means for maintaining a temporary database containing IP addresses reported by said IP address allocation events until reported by said accounting start events; and
means for moving said IP addresses from said temporary database to said IP address database when the IP addresses are reported by said accounting start events.
-
-
110. The apparatus of claim 107, further comprising means for filtering on users'"'"' home PoP IDs at said protocol gateway so as to receive events for users having a home PoP ID of said point of presence.
-
111. The apparatus of claim 102, further comprising:
-
means for maintaining in said controller memory an IP address database storing IP address information comprising IP addresses currently allocated to users;
means for maintaining in said controller memory a user record database storing user identification information; and
means for updating said IP address database and said user record database in said controller memory based on said IP address allocation events and said user accounting events subscribed to.
-
-
112. The apparatus of claim 111 wherein
said IP address information further comprises user names and respective expiry time of the IP addresses allocated to the users; - and
said apparatus further comprises;
means for periodically examining said IP address database based on a timer so as to determine if an IP address has expired;
means for confirming on said user record database that a user to whom said expired IP address has been allocated logged out; and
means for removing said expired and confirmed IP addresses from said IP address database to said database for IP address revoke events.
- and
-
113. The apparatus of claim 111 wherein
said IP address information further comprises user names and respective expiration times of the IP addresses allocated to the users; - and
said apparatus further comprises;
means for verifying the expiration time of IP addresses on said IP address database when the IP addresses are reported by said accounting stop events subscribed to; and
means for removing said reported and verified IP addresses from said IP address database to said database for IP address revoke events.
- and
-
114. The apparatus of claim 113, further comprising means for updating contents of said user record database in said controller memory in accordance with changes in said IP address database.
-
115. The apparatus of claim 113, further comprising:
-
means for subscribing at said dynamic IP address server to at least said IP address revoke events; and
means for revoking leases of IP addresses reported by said IP address revoke events and making said IP addresses available to users by putting them back in the IP address pool.
-
-
116. The apparatus of claim 113, further comprising:
-
means for subscribing at a domain name system (DNS) server to at least said accounting start events and said IP address revoke events, said DNS server for maintaining associations between users'"'"' domain names and IP addresses;
means for adding entries of said associations for IP addresses reported by said accounting start events subscribed to; and
means for deleting entries of said associations for IP addresses reported by said IP address revoke events subscribed to.
-
-
117. The apparatus of claim 97, further comprising means for updating contents of said user record database in said controller memory in accordance with changes in said IP address database.
-
118. An IP address management system for managing dynamic IP address allocation in a data communications network having a point of presence, a network access device, an Authentication, Authorization and Accounting (AAA) server and a dynamic IP allocation server associated with said point of presence, said system comprising:
-
a protocol gateway configured to submit a query to said AAA server in response to an attempted log-in by a user through the network access device, said protocol gateway receiving an IP address previously assigned to said user if said user is authorized to log-in and said IP address is currently allocated to said user, said protocol gateway receiving a leased IP address from said dynamic IP allocation server if said user is authorized to log-in and an IP address is not currently allocated to said user. a local memory in communication with the protocol gateway;
a local memory publisher, said local memory publisher periodically publishing to subscribers contents of said local memory over an information bus;
a network controller in communication with said protocol gateway over an information bus;
a controller memory associated with said network controller;
a controller memory publisher associated with said controller memory, said controller memory publisher periodically publishing to subscribers contents of said controller memory over an information bus;
a controller subscriber associated with said network controller, said controller subscriber subscribing to IP address allocation events and user accounting events published by said protocol gateway; and
an IP address revoke database maintained in said controller memory, said database containing IP address revoke events, said IP address revoke events held in said IP address revoke database until said controller memory publisher publishes contents of said controller memory over an information bus. - View Dependent Claims (119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131)
said controller subscriber receives user accounting stop events published by said protocol gateway, and said network controller removes IP addresses from said IP address allocation database and places said IP addresses into said IP address revoke database. -
124. The system of claim 123 wherein said network controller removes IP addresses from said IP address allocation database in response to the receipt by said controller subscriber of user accounting stop events corresponding to users to whom said IP addresses are allocated.
-
125. The system of claim 123 wherein said network controller removes IP addresses from said IP address allocation database in response to the expiration of said IP addresses.
-
126. The system of claim 119, further comprising a controller database updater associated with said network controller, said controller database updater updating said IP address allocation database in response to IP address allocation events and user accounting events received by said controller subscriber.
-
127. The system of claim 118, further comprising a dynamic IP allocation subscriber associated with said dynamic IP allocation server, said dynamic IP allocation subscriber subscribing to IP address revoke events published by said controller memory publisher over said information bus.
-
128. The system of claim 127, further comprising means associated with said dynamic IP allocation server for revoking leased IP addresses in response to receipt of published IP address revoke events.
-
129. The system of claim 118, further comprising:
-
a domain name system (DNS) server maintaining an association database mapping between domain names and IP addresses; and
a DNS subscriber associated with said DNS server, said DNS subscriber subscribing to IP address revoke events and accounting start events.
-
-
130. The system of claim 129 wherein said DNS server adds mappings between domain names and IP addresses to its association database in response to accounting start events received from said protocol gateway.
-
131. The system of claim 130 wherein said DNS server deletes mappings between domain names and IP addresses from its association database in response to IP address revoke events received from said controller memory publisher.
-
-
132. A method for managing IP addresses on a data communications network including:
- a network access device in a point of presence (PoP) for providing user access to the data communications network;
a protocol gateway coupled to said network access device;
a local memory associated with said protocol gateway;
an authentication, authorization and accounting (AAA) server providing user authentication, authorization and accounting information to said protocol gateway;
a dynamic IP address server maintaining a pool of IP addresses, a network controller in communication with said protocol gateway and a controller memory associated with said network controller, said method comprising;querying said AAA server upon attempted log-in to said data communications network by a user through said network access device to determine if said user is an authorized user and if an IP address is already allocated to said user;
receiving an IP address from said AAA service if said user is authorized to access the data communications network and an IP address is already allocated to said user, obtaining an available IP address from said pool of IP addresses if said user is authorized to access the data communications network and an IP address is not already allocated to said user;
allocating said received or obtained IP address to the user;
maintaining in said local memory a database for IP address allocation events each including an IP address allocated to a user and associated user identification information until said IP address allocation events are published;
periodically publishing said IP address allocation events;
receiving from said network access device users'"'"' log-in and log-out information;
maintaining in said local memory a database for user accounting events including users'"'"' log-in and log-off records until said user accounting events are published;
periodically publishing said user accounting events;
subscribing at said network controller to said IP address allocation events and said user accounting events published from said local memory, producing a database for IP address revoke events including IP addresses to be revoked;
maintaining said database in said controller memory until said IP address revoke events are published; and
periodically publishing said IP address revoke events. - View Dependent Claims (133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145)
maintaining in said local memory information on IP addresses allocated and user identification records for said point of presence;
subscribing at said protocol gateway to said IP address allocation events and said IP address revoke events; and
updating contents of said local memory information on IP addresses allocated and user identification records based on said IP address allocation events and said IP address revoke events received at said protocol gateway.
- a network access device in a point of presence (PoP) for providing user access to the data communications network;
-
134. A method according to claim 133, further comprising:
-
maintaining in said controller memory information on IP addresses allocated and user identification records for said data communications network; and
updating said information on IP addresses allocated and user identification records in said controller memory based on said IP address allocation events and said user accounting events subscribed to.
-
-
135. A method according to claim 132, further comprising:
-
maintaining in said local memory an IP address database storing IP address information including IP addresses currently allocated to users, said IP addresses being included in said pool of UP addresses;
maintaining in said local gateway memory a user record database storing user identification information for users having a home PoP ID the same as a PoP ID of said network access device; and
updating the contents of said IP address database and said user record database based on said IP address allocation events and said IP address revoke events received at said protocol gateway.
-
-
136. A method according to claim 135, further comprising:
-
subscribing at said protocol gateway to said accounting start events; and
further updating contents of said IP address database based on said accounting start events.
-
-
137. A method according to claim 136, further comprising:
-
subscribing at said protocol gateway to said accounting stop events; and
further updating contents of said user record database based on said accounting start events and accounting stop events.
-
-
138. A method according to claim 136, further comprising:
-
maintaining a temporary database containing IP addresses reported by said IP address allocation events until reported by said accounting start events; and
moving said IP addresses from said temporary database to said IP address database when the IP addresses are reported by said accounting start events.
-
-
139. A method according to claim 136, further comprising filtering on users'"'"' home PoP IDs at said protocol gateway so as to receive events for users having a home PoP ID of said point of presence.
-
140. A method according to claim 132, further comprising:
-
maintaining in said controller memory an IP address database storing IP address information including IP addresses currently allocated to users;
maintaining in said controller memory a user record database storing user identification information; and
updating said IP address database and said user record database in said controller memory based on said IP address allocation events and said user accounting events subscribed to.
-
-
141. A method according to claim 140 wherein said IP address information further includes user names and respective expiry time of the IP addresses allocated to the users, said method further comprising:
-
periodically examining said IP address database based on a timer so as to determine if an IP address has expired;
confirming on said user record database that a user to whom said expired IP address has been allocated logged out; and
removing said expired and confirmed IP addresses from said IP address database to said database for IP address revoke events.
-
-
142. A method according to claim 140 wherein said IP address information further includes user names and respective expiration times of the IP addresses allocated to the users, said method further comprising:
-
verifying the expiration time of IP addresses on said IP address database when the IP addresses are reported by said accounting stop events subscribed to; and
removing said reported and verified IP addresses from said IP address database to said database for IP address revoke events.
-
-
143. A method according to claim 142, further comprising updating contents of said user record database in said controller memory in accordance with changes in said IP address database.
-
144. A method according to claim 132, further comprising:
-
subscribing at said dynamic IP address server to at least said IP address revoke events; and
revoking leases of IP addresses reported by said IP address revoke events and making said IP addresses available to users by putting them back in the IP address pool.
-
-
145. A method according to claim 132, said data communications network further including a domain name system (DNS) server for maintaining associations between users'"'"' domain names and IP addresses, said method further comprising:
-
subscribing at said DNS to at least said accounting start events and said IP address revoke events; and
adding entries of said associations for IP addresses reported by said accounting start events subscribed to; and
deleting entries of said associations for IP addresses reported by said IP address revoke events subscribed to.
-
Specification