Patent ID: 8619798

Claim:
A method comprising: receiving, by a server in a network and from a first device, a request for a network address to be used to establish a session for a user device, determining, by the server, one or more privileges associated with the user device based on the request; determining, by the server, one or more restrictions associated with the user device based on the request, the one or more restrictions including information identifying a period of time for a particular privilege of the one or more privileges; determining, by the server, to grant the request based on the one or more privileges and the information identifying the period of time for the particular privilege; requesting, by the server and from a second device, a group of network addresses, the group of network addresses being included in a plurality of network addresses, the plurality of network addresses including assigned addresses and unassigned addresses, and the second device storing information that includes: first data classifying each of the plurality of network addresses as one of: the assigned addresses, or the unassigned addresses, and second data identifying devices to which the assigned addresses are assigned; acquiring, by the server and from the second device, the group of network addresses from the unassigned addresses included in the plurality of addresses; assigning, by the server, a particular network address, of the group of network addresses, to the user device; sending, by the server, a response to the first device, the response indicating that the request should be granted, and the response including information identifying the particular network address; and causing, by the server, the second device to update the first data and the second data based on assigning the particular network addresses to the user device.