IP Library Granted Patent US 10,200,342
Granted Patent B2
US 10,200,342 · App. 14/815,862 · Granted Feb 5, 2019

Dynamic configurations based on the dynamic host configuration protocol

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,200,342
App. No.
14/815,862
Granted
Feb 5, 2019
Kind
B2
Abstract

Some embodiments provide a method for dynamically configuring multiple instances of applications that operate on clients in a network system. The method of some embodiments uses the Dynamic Host Configuration Protocol (DHCP) to configure the multiple instances of each application to share a pool of resources specific to the application that are used for configuring the application on each of the clients. Some embodiments of the invention store an application ID in DHCP-formatted packets to differentiate the packets from DHCP packets and to distribute shared configuration resources between various instances of the application.

Claims (38)

1. A non-transitory machine readable medium storing a program which when executed by a set of processing units of a host computer dynamically re-configures a client machine that (i) is executed by the set of processing units, (ii) is assigned a first Internet Protocol (IP) address, and (iii) runs an application, the program comprising sets of instructions for:

identifying an application identifier (ID) that identifies the application;

transmitting a Dynamic Host Configuration Protocol (DHCP) discovery packet comprising the application ID;

receiving a set of response packets from a set of DHCP configuration servers, the response packets comprising IP addresses designated for the application based on the application identifier, said designated IP addresses comprising a second IP address; and

based on a particular response packet of the received set of response packets, dynamically re-configuring the client machine by assigning the second IP address to the client machine in order to replace the first assigned IP address.

2. The non-transitory machine readable medium of claim 1 , wherein the set of response packets are formatted according to the DHCP protocol.

3. The non-transitory machine readable medium of claim 1 , wherein the application ID is stored in a field of the discovery packet that is unused by DHCP.

4. The non-transitory machine readable medium of claim 1 , wherein the set of instructions for receiving the set of response packets comprises sets of instructions for:

determining whether a particular response packet comprises the application ID; and

discarding the particular response packet when the particular response packet does not comprise the application ID.

5. The non-transitory machine readable medium of claim 1 , wherein the program further comprises a set of instructions for configuring the application running on the client machine by (i) identifying a configuration variable in the particular response packet, and (ii) modifying a configuration setting of the application based on the identified configuration variable.

6. The non-transitory machine readable medium of claim 1 , wherein the program further comprises a set of instructions for transmitting a set of request packets comprising the second IP address and the application ID to the set of DHCP configuration servers.

7. The non-transitory machine readable medium of claim 1 , wherein the client machine executed by the set of processing units of the host computer is one of a virtual machine and a container.

8. The non-transitory machine readable medium of claim 1 , wherein the set of DHCP configuration servers select the IP addresses designated for the application from a pool of shared IP addresses for the application.

9. The non-transitory machine readable medium of claim 1 , wherein the set of DHCP configuration servers comprises a first subset of servers that perform standard DHCP services to provide public IP addresses and a second subset of servers that perform application configuration DHCP services to provide application-specific IP addresses.

10. The non-transitory machine readable medium of claim 9 , wherein the application-specific IP addresses are a set of private IP addresses reserved for a plurality of client machines that execute on a plurality of host computers and run the application.

11. The non-transitory machine readable medium of claim 9 , wherein a particular DHCP service and a particular application configuration service operate on a single DHCP configuration server.

12. The non-transitory machine readable medium of claim 9 , wherein the set of instructions for receiving the set of response packets comprises a set of instructions for discarding response packets received from the first subset of servers that perform standard DHCP services.

13. A non-transitory computer readable medium storing a program which when executed by a set of processing units dynamically provides Internet Protocol (IP) addresses for a plurality of client machines that (i) execute on a plurality of host computers and (ii) run a plurality of applications, the program comprising sets of instructions for:

receiving a Dynamic Host Configuration Protocol (DHCP) discovery packet from a particular client machine that is assigned a first IP address;

determining whether the discovery packet comprises an application ID for a particular application running on the particular client machine;

when the discovery packet does not include an application ID for the particular application, sending a first offer packet comprising a first IP address from a first pool of IP addresses to the particular client machine for configuring the particular client machine; and

when the discovery packet comprises an application ID for the particular application, sending to the particular client machine a second offer packet comprising a second IP address from a second pool of IP addresses reserved for the particular application based on the application ID, the second offer packet for dynamically re-configuring the particular client machine by assigning the second IP address to replace the first assigned IP address.

14. The non-transitory machine readable medium of claim 13 , wherein the set of instructions for sending the second offer packet comprises a set of instructions for storing the application ID in the second offer packet.

15. The non-transitory machine readable medium of claim 14 , wherein the application ID is stored in a field of the discovery packet and in a field of the second offer packet that are unused by DHCP.

16. The non-transitory machine readable medium of claim 14 , wherein the offer packets are formatted according to the dynamic host configuration protocol (DHCP).

17. The non-transitory machine readable medium of claim 16 , wherein at least a portion of a set of configuration data is stored in a field of the offer packet that is unused by DHCP, and the set of configuration data comprises a configuration variable that is used to modify a configuration setting of the particular application running on the particular client machine, based on the configuration variable.

18. The non-transitory machine readable medium of claim 13 , wherein the program further comprises sets of instructions for, when the discovery packet comprises an application ID:

determining whether the second pool of IP addresses reserved for the particular application is available;

when the second pool of IP addresses is not available, discarding the discovery packet; and

when the second pool of IP addresses is available, reserving the second IP address from the second pool of IP addresses.

19. The non-transitory machine readable medium of claim 18 , wherein the program further comprises sets of instructions for:

receiving a request packet from the particular client machine;

determining whether the request packet comprises the second IP address; and

when the request packet does not comprise the second IP address, releasing the second IP address back to the second pool of IP addresses.

20. The non-transitory machine readable medium of claim 13 , wherein the particular client machine executes on a particular host computer in the plurality of host computers and is one of a virtual machine and a container.

21. The non-transitory machine readable medium of claim 20 , wherein the program executes on the set of processing units of the same particular host computer on which the particular client machine executes.

22. The non-transitory machine readable medium of claim 13 , wherein the first pool of addresses is a pool of public IP addresses.

Assignments (3)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2016
From: VMWARE, INC.
To: NICIRA, INC.
Reel/Frame 038683/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2015
From: ZHUO, ZHENJUN
To: VMWARE, INC.
Reel/Frame 036233/0096 →