# US 11,443,283 B2 · Dynamic construction of configuration profiles for settings common across different operating systems

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

- Number: US 11,443,283 B2
- Document ID: US11443283B2
- Status: Granted
- Kind: B2
- Application number: 15/660,990
- Filed: 2017-07-27
- Published: 2018-12-06
- Granted: 2022-09-13
- Earliest claimed: 2017-06-01
- Assignees: AirWatch LLC
- Applicants: Airwatch LLC
- Inventors: Adam Stephen Rykowski; Huda Osman; Mithila Tople; Jacob Postema; Jeremy Dejiacomo; Harit Patel; Manikandan Sigamani
- Web page: https://patentgrep.com/patent/US11443283B2

## CPC

- G06Q 10/107: Computer-aided management of electronic mailing [e-mailing]
- G06F 9/452: {Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131)}
- G06F 16/211: {Schema design and management}
- G06F 16/24578: {using ranking}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/275: {Synchronous replication}
- G06F 16/83: Querying
- G06F 40/174: Form filling; Merging
- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 41/0803: Configuration setting
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0846: {based on copy from other elements}
- H04L 63/0272: {Virtual private networks}
- H04L 63/06: {for supporting key management in a packet data network (cryptographic mechanisms or cryptographic arrangements for key management H04L9/08)}
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 63/0876: {based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint}
- H04L 63/166: {at the transport layer}
- H04L 67/303: Terminal profiles
- H04L 67/53: using third party service providers
- H04W 12/06: Authentication
- H04W 12/065: Continuous authentication
- H04W 12/068: {using credential vaults, e.g. password manager applications or one time password [OTP] applications}
- H04W 12/069: using certificates or pre-shared keys
- H04W 24/02: Arrangements for optimising operational condition
- G06F 9/453: {Help systems}
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 63/0823: {using certificates (cryptographic mechanisms or cryptographic arrangements for entity authentication involving certificates H04L9/3263)}
- H04W 84/12: WLAN [Wireless Local Area Networks]
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Disclosed are various examples for the dynamic construction of configuration profiles using settings common across different operating systems. A computing environment having a management service can determine variable names for inclusion in configuration profiles based on operating systems. The computing environment can dynamically generate configuration profiles using the appropriate variable names such that the value provided by an administrator is a value or parameter of the variable name for deployment to a client device having an operating system capable of interpreting the value using the variable name.

## Claims

### Claim 1

A system, comprising:
at least one computing device; and
program instructions executable in the at least one computing device that, when executed by the at least one computing device, cause the at least one computing device to:
identify a value from a field of at least one user interface, the field being associated with a setting common to a plurality of operating systems;
determine a first variable name for inclusion in a first configuration profile in association with the value based at least in part on a first one of the plurality of operating systems;
determine a second variable name for inclusion in a second configuration profile in association with the value based at least in part on a second one of the plurality of operating systems, the second one of the plurality of operating systems being different than the first one of the plurality of operating systems;
generate the first configuration profile such that the value is a parameter of the first variable name for deployment to a first client device having the first one of the plurality of operating systems installed thereon; and
generate the second configuration profile such that the value is a parameter of the second variable name for deployment to a second client device having the second one of the plurality of operating systems installed thereon, wherein the first configuration profile and the second configuration profile are each configured to, when installed on a respective client device, configure the respective client device and designate a respective agent application as a device administrator, the agent application as the device administrator being configured to control access to at least one software or hardware function of the respective client device.

### Claim 2 (depends on 1)

The system of claim 1, wherein:
the first configuration profile comprises a first extensible markup language (XML) document programmatically generated by the at least one computing device; and
the second configuration profile comprises a second XML, document programmatically generated by the at least one computing device.

### Claim 3 (depends on 2)

The system of claim 2, wherein:
the first XML document is generated based at least in part on a first predefined format corresponding to the first one of the plurality of operating systems; and
the second XML document is generated based at least in part on a second predefined format corresponding to the second one of the plurality of operating systems.

### Claim 4 (depends on 3)

The system of claim 3, wherein the first predefined format is different than the second predefined format.

### Claim 5 (depends on 1)

The system of claim 1, further comprising program instructions that, when executed, cause the at least one computing device to:
instruct a first agent application executable on the first client device to configure the first client device using the first variable name and the value as specified in the first configuration profile; and
instruct a second agent application executable on the second client device to configure the second client device using the second variable name and the value as specified in the second configuration profile.

### Claim 6 (depends on 1)

The system of claim 1, further comprising program instructions that, when executed, cause the at least one computing device to maintain a database that comprises a mapping of a name attribute for the field to the first variable name corresponding to the first one of the plurality of operating systems and the second variable name corresponding to the second one of the plurality of operating systems.

### Claim 7 (depends on 1)

The system of claim 1, wherein the setting common to the plurality of operating systems is one of: a wireless fidelity (Wi-Fi) network setting, a virtual private network (VPN) setting, and an email server setting.

### Claim 8

A non-transitory computer-readable medium embodying program code executable in at least one computing device that, when executed by the at least one computing device, causes the at least one computing device to:
identify a value from a field of at least one user interface, the field being associated with a setting common to a plurality of operating systems;
determine a first variable name for inclusion in a first configuration profile in association with the value based at least in part on a first one of the plurality of operating systems;
determine a second variable name for inclusion in a second configuration profile in association with the value based at least in part on a second one of the plurality of operating systems, the second one of the plurality of operating systems being different than the first one of the plurality of operating systems;
generate the first configuration profile such that the value is a parameter of the first variable name for deployment to a first client device having the first one of the plurality of operating systems installed thereon; and
generate the second configuration profile such that the value is a parameter of the second variable name for deployment to a second client device having the second one of the plurality of operating systems installed thereon, wherein the first configuration profile and the second configuration profile are each configured to, when installed on a respective client device, configure the respective client device and designate a respective agent application as a device administrator, the agent application as the device administrator being configured to control access to at least one software or hardware function of the respective client device.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein:
the first configuration profile comprises a first extensible markup language (XML) document programmatically generated by the at least one computing device; and
the second configuration profile comprises a second XML document programmatically generated by the at least one computing device.

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein:
the first XML document is generated based at least in part on a first predefined format corresponding to the first one of the plurality of operating systems; and
the second XML document is generated based at least in part on a second predefined format corresponding to the second one of the plurality of operating systems.

### Claim 11 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the first predefined format is different than the second predefined format.

### Claim 12 (depends on 8)

The non-transitory computer-readable medium of claim 8, further comprising program code that, when executed, causes the at least one computing device to:
instruct a first agent application executable on the first client device to configure the first client device using the first variable name and the value as specified in the first configuration profile; and
instruct a second agent application executable on the second client device to configure the second client device using the second variable name and the value as specified in the second configuration profile.

### Claim 13 (depends on 8)

The non-transitory computer-readable medium of claim 8, further comprising program code that, when executed, causes the at least one computing device to maintain a database that comprises a mapping of a name attribute for the field to the first variable name corresponding to the first one of the plurality of operating systems and the second variable name corresponding to the second one of the plurality of operating systems.

### Claim 14 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the setting common to the plurality of operating systems is one of: a wireless fidelity (Wi-Fi) network setting, a virtual private network (VPN) setting, and an email server setting.

### Claim 15

A computer-implemented method, comprising:
identifying a value from a field of at least one user interface, the field being associated with a setting common to a plurality of operating systems;
determining a first variable name for inclusion in a first configuration profile in association with the value based at least in part on a first one of the plurality of operating systems;
determining a second variable name for inclusion in a second configuration profile in association with the value based at least in part on a second one of the plurality of operating systems, the second one of the plurality of operating systems being different than the first one of the plurality of operating systems;
generating the first configuration profile such that the value is a parameter of the first variable name for deployment to a first client device having the first one of the plurality of operating systems installed thereon; and
generating the second configuration profile such that the value is a parameter of the second variable name for deployment to a second client device having the second one of the plurality of operating systems installed thereon, wherein the first configuration profile and the second configuration profile are each configured to, when installed on a respective client device, configure the respective client device and designate a respective agent application as a device administrator, the agent application as the device administrator being configured to control access to at least one software or hardware function of the respective client device.

### Claim 16 (depends on 15)

The computer-implemented method of claim 15, wherein:
the first configuration profile comprises a first extensible markup language (XML) document programmatically generated by at least one computing device;
the second configuration profile comprises a second XML document programmatically generated by the at least one computing device;
the first XML document is generated based at least in part on a first predefined format corresponding to the first one of the plurality of operating systems; and
the second XML document is generated based at least in part on a second predefined format corresponding to the second one of the plurality of operating systems.

### Claim 17 (depends on 16)

The computer-implemented method of claim 16, wherein the first predefined format is different than the second predefined format.

### Claim 18 (depends on 15)

The computer-implemented method of claim 15, further comprising:
instructing a first agent application executable on the first client device to configure the first client device using the first variable name and the value as specified in the first configuration profile; and
instructing a second agent application executable on the second client device to configure the second client device using the second variable name and the value as specified in the second configuration profile.

### Claim 19 (depends on 15)

The computer-implemented method of claim 15, further comprising maintaining a database that comprises a mapping of a name attribute for the field to the first variable name corresponding to the first one of the plurality of operating systems and the second variable name corresponding to the second one of the plurality of operating systems.

### Claim 20 (depends on 15)

The computer-implemented method of claim 15, wherein the setting common to the plurality of operating systems is one of: a wireless fidelity (Wi-Fi) network setting, a virtual private network (VPN) setting, and an email server setting.
