Patent ID: 8892724

Claim:
A method, performed by an access gateway device that assigns addresses to client devices for the client devices to use while communicating via the access gateway device, the method comprising: the access gateway device receiving a first address request message sent on behalf of a first client device; and in response to receiving the first address request message, the access gateway device (i) determining a first expected transport-layer port utilization of the first client device, wherein the first expected transport-layer port utilization comprises a number of transport-layer ports that the first client device is expected to concurrently use while served by the access gateway device, (ii) based on the first expected transport-layer port utilization meeting a transport-layer port utilization threshold, assigning an address of a first type to the first client device, and (iii) transmitting a first address assignment message to the first client device, wherein the first address assignment message provides the address of the first type to the first client device the access gateway device receiving a second address request message sent on behalf of a second client device; in response to receiving the second address request message, the access gateway device (i) determining a second expected transport-layer port utilization of the second client device, (ii) based on the second expected transport-layer port utilization not meeting the transport-layer port utilization threshold, assigning an address of a second type to the second client device, and (iii) transmitting a second address assignment message to the second client device, wherein the second address assignment message provides the address of the second type to the second client device, wherein the first type comprises a public address and the second type comprises a private address; and the access gateway device (i) transmitting communications from the second client device through a network address translator (NAT) that translates the address of the second type to a shared public address, and (ii) refraining from transmitting communications from the first client device through the NAT.