# US 2019/0173836 A1 · Dynamic configurations based on the dynamic host configuration protocol

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0173836 A1
- Document ID: US20190173836A1
- Status: Published application
- Kind: A1
- Application number: 16/267,313
- Filed: 2019-02-04
- Published: 2019-06-06
- Earliest claimed: 2015-07-31
- Assignees: Nicira, Inc.
- Applicants: Nicira, Inc.
- Inventors: Zhenjun Zhuo
- Web page: https://patentgrep.com/patent/US20190173836A1

## CPC

- H04L 61/5014: using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim at position 1

1-23. (canceled)

### Claim 24

A method for dynamically configuring an application running on a client machine, the method comprising:
transmitting a discovery packet to a set of configuration servers, the discovery packet comprising an identifier associated with the application;
receiving response packets from each server in the set of configuration servers, wherein a particular response packet comprises configuration data designated for the application based on the identifier; and
configuring the application based on the configuration data from the particular response packet.

### Claim 25 (depends on 24)

The method of claim 24, wherein the discovery packet and the response packets are formatted according to the dynamic host configuration protocol (DHCP), wherein the identifier is stored in a field of the discovery packet that is unused by DHCP.

### Claim 26 (depends on 24)

The method of claim 24, wherein configuring the application comprises modifying a configuration setting of the application based on the configuration data from the particular response packet.

### Claim 27 (depends on 24)

The method of claim 24, wherein the configuration data comprises one of a central server IP address, an Application Programming Interface (API) version number, a root Uniform Resource Locator (URL), a directory of a public service, and a key used to join a particular network.

### Claim 28 (depends on 24)

The method of claim 24, wherein receiving response packets comprises:
for each response packet, determining whether the response packet of the set of response packets comprises the identifier; and
discarding the response packet when the response packet does not comprise the identifier.

### Claim 29 (depends on 28)

The method of claim 28, wherein the particular response packet comprises the identifier, the method further comprising selecting the particular response packet from other received response packets that also comprise the identifier.

### Claim 30 (depends on 29)

The method of claim 29, further comprising broadcasting a request packet to the set of configuration servers, the request packet comprising the selected particular resource and the identifier.

### Claim 31 (depends on 30)

The method of claim 30, further comprising:
receiving an acknowledgement packet comprising the identifier from a particular server in the set of configuration servers that provides the particular resource.

### Claim 32 (depends on 24)

The method of claim 24, wherein the set of configuration servers comprises a set of DHCP services for providing public IP addresses and a set of application configuration services for providing application-specific configuration data, wherein a particular DHCP service and a particular application configuration service operate on a single configuration server in the set of configuration servers.

### Claim 33 (depends on 24)

The method of claim 24, wherein the client machine is one of a virtual machine and a container executing on a host computer.

### Claim 34

A non-transitory machine readable medium storing a program for dynamically configuring an application running on a client machine, the program for executing by at least one hardware processing unit, the program comprising sets of instructions for:
transmitting a discovery packet to a set of configuration servers, the discovery packet comprising an identifier associated with the application;
receiving response packets from each server in the set of configuration servers, wherein a particular response packet comprises configuration data designated for the application based on the identifier; and
configuring the application based on the configuration data from the particular response packet.

### Claim 35 (depends on 34)

The non-transitory machine readable medium of claim 34, wherein the discovery packet and the response packets are formatted according to the dynamic host configuration protocol (DHCP), wherein the identifier is stored in a field of the discovery packet that is unused by DHCP.

### Claim 36 (depends on 34)

The non-transitory machine readable medium of claim 34, wherein the set of instructions for configuring the application comprises a set of instructions for modifying a configuration setting of the application based on the configuration data from the particular response packet.

### Claim 37 (depends on 34)

The non-transitory machine readable medium of claim 34, wherein the configuration data comprises one of a central server IP address, an Application Programming Interface (API) version number, a root Uniform Resource Locator (URL), a directory of a public service, and a key used to join a particular network.

### Claim 38 (depends on 34)

The non-transitory machine readable medium of claim 34, wherein the set of instructions for receiving response packets comprises sets of instructions for:
for each response packet, determining whether the response packet of the set of response packets comprises the identifier; and
discarding the response packet when the response packet does not comprise the identifier.

### Claim 39 (depends on 38)

The non-transitory machine readable medium of claim 38, wherein the particular response packet comprises the identifier, the program further comprising a set of instructions for selecting the particular response packet from other received response packets that also comprise the identifier.

### Claim 40 (depends on 39)

The non-transitory machine readable medium of claim 39, wherein the program further comprises a set of instructions for broadcasting a request packet to the set of configuration servers, the request packet comprising the selected particular resource and the identifier.

### Claim 41 (depends on 40)

The non-transitory machine readable medium of claim 40, wherein the program further comprises a set of instructions for receiving an acknowledgement packet comprising the identifier from a particular server in the set of configuration servers that provides the particular resource.

### Claim 42 (depends on 34)

The non-transitory machine readable medium of claim 34, wherein the set of configuration servers comprises a set of DHCP services for providing public IP addresses and a set of application configuration services for providing application-specific configuration data, wherein a particular DHCP service and a particular application configuration service operate on a single configuration server in the set of configuration servers.

### Claim 43 (depends on 34)

The non-transitory machine readable medium of claim 34, wherein the client machine is one of a virtual machine and a container executing on a host computer.
