Patent ID: 8819229

Claim:
A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising: code that creates, upon receiving a first service call in at least one computing device, a data structure describing a logical network gateway; code that transmits, in response to the first service call, a handle for the logical network gateway; code that creates, upon receiving a second service call in the at least one computing device, a data structure describing a plurality of clients of the logical network gateway, the second service call received after the first service call; code that transmits, in response to the second service call, a handle for the clients; code that creates, upon receiving a third service call in the at least one computing device, a data structure describing a plurality of permissions associated with the clients, the third service call received after the second service call; code that transmits, in response to the third service call, a handle for the permissions associated with the clients; code that creates, upon receiving a fourth service call in the at least one computing device, a data structure describing an accounting of usage of the logical network gateway by the clients, the fourth service call received after the third service call; code that transmits, in response to the fourth service call, a handle for the accounting of usage of the logical network gateway by the clients; code that programmatically configures, upon receiving a fifth service call in the at least one computing device, a logical network that includes the logical network gateway, the clients, the permissions associated with the clients and the accounting of usage of the logical network gateway by the clients, the fifth service call received after the fourth service call; and code that transmits, in response to the fifth service call, configuration data associated with a client device establishing a connection with the logical network gateway.