# US 10,768,985 B1 · Active directory organizational unit-based deployment of computing systems

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

- Number: US 10,768,985 B1
- Document ID: US10768985B1
- Status: Granted
- Kind: B1
- Application number: 15/833,028
- Filed: 2017-12-06
- Granted: 2020-09-08
- Earliest claimed: 2017-12-06
- Assignees: Parallels International GmbH
- Applicants: Parallels International GmbH
- Inventors: Yuriy Batsura; Nikolay Dobrovolskiy; Serguei M. Beloussov
- Web page: https://patentgrep.com/patent/US10768985B1

## CPC

- G06F 9/5011: {the resources being hardware resources other than CPUs, Servers and Terminals}
- G06F 8/61: Installation
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 9/5061: {Partitioning or combining of resources}
- G06F 16/148: {File search processing}
- G06F 9/452: {Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed are systems and methods for deploying a distributed computing system. A domain controller manages a domain comprised of a plurality of computer objects each having an assigned system role. The described technique includes receiving a system configuration of a distributed directory-service-based system, wherein the system configuration specifies a path to a root organizational unit (OU) within the domain. The technique includes generating group policy objects based on system requirements for each system roles, creating an organizational unit (OU) for each system role, linking each group policy object for each system role to the corresponding created OU, and moving computer objects to an OU according to the system role. The described deployment technique is performed according to a distribution scheme generated based on a number of the system roles and computer objects of each system role.

## Claims

### Claim 1

A computer-implemented method for deploying a distributed computing system, wherein the method comprises:
receiving a system configuration of a distributed directory-service-based system, wherein the system configuration specifies a path to a root organizational unit (OU) within a domain of a domain controller, wherein the domain comprises a plurality of computer objects each having an assigned system role, wherein each of the plurality of computer objects represents a node configured to run a service of a plurality of services of the distributed computing system, and wherein the assigned system role represents a type of system service provided by a corresponding node;
generating, within the domain, one or more group policy objects based on system requirements for each system role, wherein the one or more group policy objects specify settings and permissions for computer objects of a given system role;
creating, in the root OU of the domain, an organizational unit (OU) for each assigned system role;
linking, in the domain, each of the group policy objects for each assigned system role to the corresponding created OU;
moving, in the domain, the computer objects to at least one OU according to the system role assigned to each computer object;
generating a distribution scheme according to a number of the system roles and computer objects of each system role retrieved from the domain; and
deploying a plurality of nodes of the distributed directory-service-based system according to the generated distribution scheme.

### Claim 2 (depends on 1)

The method of claim 1, wherein the domain controller comprises an Active Directory service.

### Claim 3 (depends on 1)

The method of claim 1, wherein receiving the system configuration of a distributed directory-service-based system further comprises:
modifying the computer objects using an Lightweight Directory Access Protocol (LDAP) filter to assign the plurality of system roles to computer objects having a name that matches a query string.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
creating a new OU as the root OU according to the path specified by the system configuration.

### Claim 5 (depends on 1)

The method of claim 1, wherein the distribution scheme is represented by a table comprising name fields, network address fields, directory path fields, and system role fields, such that a name is resolved into a network address and a directory path is resolved into a system role.

### Claim 6 (depends on 1)

The method of claim 1, wherein deploying the plurality of nodes of the distributed directory-service-based system according to the generated distribution scheme further comprises iterating through the distribution scheme, and for each computing device in the domain:
establishing a connection to the computing device at the network address specified by the distribution scheme;
copying, to first computing device, a software package associated with a role assigned to the computing device according to the distribution scheme;
remotely installing the software package on the computing device; and
transmitting a name, network address, and role identifier specified by the distribution scheme to a system core component to initialize the installed software package.

### Claim 7 (depends on 1)

The method of claim 1, wherein the system roles comprise a publishing agent, a gateway a remote desktop service agent, and a virtual desktop infrastructure agent.

### Claim 8

A system for deploying a distributed computing system, wherein the system comprises:
a hardware processor configured to:
receive a system configuration of a distributed directory-service-based system, wherein the system configuration specifies a path to a root organizational unit (OU) within a domain of a domain controller, wherein the domain comprises a plurality of computer objects each having an assigned system role, wherein each of the plurality of computer objects represents a node configured to run a service of a plurality of services of the distributed computing system, and wherein the assigned system role represents a type of system service provided by a corresponding node;
generate, within the domain, one or more group policy objects based on system requirements for each system role, wherein the one or more group policy objects specify settings and permissions for computer objects of a given system role;
create, in the root OU of the domain, an organizational unit (OU) for each assigned system role;
link, in the domain, each of the group policy objects for each assigned system role to the corresponding created OU;
move, in the domain, the computer objects to at least one OU according to the system role assigned to each computer object;
generate a distribution scheme according to a number of the system roles and computer objects of each system role retrieved from the domain; and
deploy a plurality of nodes of the distributed directory-service-based system according to the generated distribution scheme.

### Claim 9 (depends on 8)

The system of claim 8, wherein the domain controller comprises an Active Directory service.

### Claim 10 (depends on 8)

The system of claim 8, wherein the processor configured to receive the system configuration of a distributed directory-service-based system is further configured to:
modify the computer objects using an Lightweight Directory Access Protocol (LDAP) filter to assign the plurality of system roles to computer objects having a name that matches a query string.

### Claim 11 (depends on 8)

The system of claim 8, wherein the processor is further configured to:
create a new OU as the root OU according to the path specified by the system configuration.

### Claim 12 (depends on 8)

The system of claim 8, wherein the distribution scheme is represented by a table comprising name fields, network address fields, directory path fields, and system role fields, such that a name is resolved into a network address and a directory path is resolved into a system role.

### Claim 13 (depends on 8)

The system of claim 8, wherein the processor configured to deploy the plurality of nodes of the distributed directory-service-based system according to the generated distribution scheme is further configured to iterate through the distribution scheme, and for each computing device in the domain:
establish a connection to the computing device at the network address specified by the distribution scheme;
copy, to first computing device, a software package associated with a role assigned to the computing device according to the distribution scheme;
remotely install the software package on the computing device; and
transmit a name, network address, and role identifier specified by the distribution scheme to a system core component to initialize the installed software package.

### Claim 14 (depends on 8)

The system of claim 8, wherein the system roles comprise a publishing agent, a gateway a remote desktop service agent, and a virtual desktop infrastructure agent.

### Claim 15

A non-transitory computer readable medium comprising computer executable instructions for deploying a distributed computing system, including instructions for:
receiving a system configuration of a distributed directory-service-based system, wherein the system configuration specifies a path to a root organizational unit (OU) within a domain of a domain controller, wherein the domain comprises a plurality of computer objects each having an assigned system role, wherein each of the plurality of computer objects represents a node configured to run a service of a plurality of services of the distributed computing system, and wherein the assigned system role represents a type of system service provided by a corresponding node;
generating, within the domain, one or more group policy objects based on system requirements for each system role, wherein the one or more group policy objects specify settings and permissions for computer objects of a given system role;
creating, in the root OU of the domain, an organizational unit (OU) for each assigned system role;
linking, in the domain, each of the group policy objects for each assigned system role to the corresponding created OU;
moving, in the domain, the computer objects to at least one OU according to the system role assigned to each computer object;
generating a distribution scheme according to a number of the system roles and computer objects of each system role retrieved from the domain; and
deploying a plurality of nodes of the distributed directory-service-based system according to the generated distribution scheme.

### Claim 16 (depends on 15)

The computer readable medium of claim 15, wherein the domain controller comprises an Active Directory service.

### Claim 17 (depends on 15)

The computer readable medium of claim 15, wherein the instructions for receiving the system configuration of a distributed directory-service-based system further comprises instructions for:
modifying the computer objects using an Lightweight Directory Access Protocol (LDAP) filter to assign the plurality of system roles to computer objects having a name that matches a query string.

### Claim 18 (depends on 15)

The computer readable medium of claim 15, further comprising instructions for:
creating a new OU as the root OU according to the path specified by the system configuration.

### Claim 19 (depends on 15)

The computer readable medium of claim 15, wherein the distribution scheme is represented by a table comprising name fields, network address fields, directory path fields, and system role fields, such that a name is resolved into a network address and a directory path is resolved into a system role.

### Claim 20 (depends on 15)

The computer readable medium of claim 15, wherein the instructions for deploying the plurality of nodes of the distributed directory-service-based system according to the generated distribution scheme further comprises instructions for iterating through the distribution scheme, and for each computing device in the domain:
establishing a connection to the computing device at the network address specified by the distribution scheme;
copying, to first computing device, a software package associated with a role assigned to the computing device according to the distribution scheme;
remotely installing the software package on the computing device; and
transmitting a name, network address, and role identifier specified by the distribution scheme to a system core component to initialize the installed software package.
