IP Library Granted Patent US 9,806,952
Granted Patent B2
US 9,806,952 · App. 14/622,581 · Granted Oct 31, 2017

System and method for group-policy-based configuration

Inventors: Santosh Kumar Bidaralli (Round Rock, TX); Lokesh Krishna Bangera (Round Rock, TX); Chandrasekhar Mugunda (Austin, TX); Yogesh Prabhakar Kulkarni (Round Rock, TX)
Assignee: Dell Products L.P.
H04L41/0893H04L41/0813H04L41/0889H04L41/0843
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 9,806,952
App. No.
14/622,581
Granted
Oct 31, 2017
Kind
B2
Abstract

A system includes a processor of a first node, which is one of a plurality of nodes governed by a group policy. The processor is operable to transmit, using an interface, a first request to receive information associated with the plurality of nodes and receive, using the interface, sets of configuration information associated with the plurality of nodes after a change has occurred regarding the plurality of nodes. The processor is further operable to compare the sets of configuration information associated with the plurality of nodes to the configuration information associated with the first node and determine a difference. In response, the processor is operable to determine, based on the group policy, to configure the first node. The processor is additionally operable to determine a second node that stores a set of files to configure the first node and configure the first node using the set of files.

Claims (145)

1. A method, comprising:

storing, at a first node of a plurality of nodes, a group policy;

transmitting, from the first node, a first request to receive information associated with the plurality of nodes, the plurality of nodes being governed by the group policy;

receiving, at the first node, sets of configuration information associated with the plurality of nodes, the sets of configuration information being received after a change has occurred regarding the plurality of nodes;

comparing, by the first node, the sets of configuration information associated with the plurality of nodes to configuration information associated with the first node;

determining, by the first node, a difference between the sets of configuration information associated with the plurality of nodes and the configuration information associated with the first node;

in response to determining the difference, determining, by the first node, to configure the first node based on analyzing content of the stored group policy;

in response to determining to configure the first node, determining, by the first node, a second node that stores a set of files to configure the first node, the second node being one of the plurality of nodes; and

configuring, by the first node, the first node using the set of files stored at the second node.

2. The method of claim 1 , further comprising:

sending a second request from a ZeroMQ client of the first node to a ZeroMQ server of the second node to retrieve the set of files;

receiving a response from the ZeroMQ server of the second node that the set of files are available at a location;

retrieving the set of files from the location; and

wherein determining the second node that stores the set of files to configure the first node comprises:

determining, based on the group policy, that the first node needs to be configured according to a node of the plurality of nodes that has most recently been updated; and

determining that the second node is the node of the plurality of nodes that has most recently been updated.

3. The method of claim 1 , wherein:

a first set of the sets of configuration information comprises configuration information of a first component of one of the plurality of nodes;

determining the difference between the configuration information associated with the plurality of nodes and the configuration information associated with the first node comprises determining a difference between the configuration information of the first component of one of the plurality of nodes and the configuration information of a second component of the first node;

determining, based on the group policy, that the first node needs to be configured comprises determining, based on the group policy, that the second component of the first node needs to be configured;

determining the second node that stores the set of files to configure the first node comprises determining the second node that stores the set of files to configure the second component of the first node; and

configuring the first node using the set of files stored at the second node comprises configuring the second component of the first node using the set of files stored at the second node.

4. The method of claim 1 , further comprising:

sending a second request to the second node to retrieve the set of files;

receiving a response from the second node that the set of files are available at a location; and

retrieving the set of files from the location.

5. The method of claim 4 , wherein the second request sent to the second node to retrieve the set of files is sent from a ZeroMQ client and the response from the second node that the set of files are available at the location is received from a ZeroMQ server.

6. The method of claim 1 , wherein:

a first set of configuration information comprises configuration information of a first component of one of the plurality of nodes;

the group policy comprises a first policy and a second policy, a second component of the first node and the first component of one of the plurality of nodes governed by the first policy, a fourth component of the first node and the third component of one of the plurality of nodes governed by the second policy;

determining the difference between the configuration information associated with the plurality of nodes and the configuration information associated with the first node comprises determining a difference between the configuration information of the first component of one of the plurality of nodes and the configuration information of the second component of the first node;

determining, based on the group policy, that the first node needs to be configured comprises determining, based on the first policy, that the second component of the first node needs to be configured;

determining the second node that stores the set of files to configure the first node comprises determining the second node that stores the set of files to configure the second component of the first node;

configuring the first node using the set of files stored at the second node comprises configuring the second component of the first node using the set of files stored at the second node;

the method further comprises:

comparing configuration information of the third component of one of the plurality of nodes to configuration information of the fourth component of the first node;

determining a difference between the configuration information of the third component of one of the plurality of nodes to configuration information of the fourth component of the first node; and

in response to determining the difference, determining, based on the second policy, that the third component of the first node does not need to be configured.

7. The method of claim 1 , wherein determining the second node that stores the set of files to configure the first node comprises:

determining, based on the group policy, that the first node needs to be configured according to a node of the plurality of nodes that has most recently been updated; and

determining that the second node is the node of the plurality of nodes that has most recently been updated.

8. A system, comprising a processor of a first node of a plurality of nodes, the processor operable to:

store, in a memory of the first node, a group policy;

transmit, using an interface, a first request to receive information associated with the plurality of nodes, the plurality of nodes being governed by the group policy;

receive, using the interface, sets of configuration information associated with the plurality of nodes, the sets of configuration information being received after a change has occurred regarding the plurality of nodes;

compare the sets of configuration information associated with the plurality of nodes to configuration information associated with the first node;

determine a difference between the sets of configuration information associated with the plurality of nodes and the configuration information associated with the first node;

in response to determining the difference, determine, based on analyzing content of the stored group policy, to configure the first node;

in response to determining to configure the first node, determine a second node that stores a set of files to configure the first node, the second node being one of the plurality of nodes; and

configure the first node using the set of files stored at the second node.

9. The system of claim 8 , wherein:

the processor is further operable to:

send, using the interface, a second request from a ZeroMQ client of the first node to a ZeroMQ server of the second node to retrieve the set of files;

receive, using the interface, a response from the ZeroMQ server of the second node that the set of files are available at a location; and

retrieve the set of files from the location; and

the processor determines the second node that stores the set of files to configure the first node by:

determining, based on the group policy, that the first node needs to be configured according to a node of the plurality of nodes that has most recently been updated; and

determining that the second node is the node of the plurality of nodes that has most recently been updated.

10. The system of claim 8 , wherein:

a first set of the sets of configuration information comprises configuration information of a first component of one of the plurality of nodes;

the processor determines the difference between the configuration information associated with the plurality of nodes and the configuration information associated with the first node by determining a difference between the configuration information of the first component of one of the plurality of nodes and the configuration information of a second component of the first node;

the processor determines, based on the group policy, that the first node needs to be configured by determining, based on the group policy, that the second component of the first node needs to be configured;

the processor determines the second node that stores the set of files to configure the first node by determining the second node that stores the set of files to configure the second component of the first node; and

the processor configures the first node using the set of files stored at the second node by configuring the second component of the first node using the set of files stored at the second node.

11. The system of claim 8 , wherein the processor is further configured to:

send, using the interface, a second request to the second node to retrieve the set of files;

receive, using the interface, a response from the second node that the set of files are available at a location; and

retrieve the set of files from the location.

12. The system of claim 11 , wherein the second request sent to the second node to retrieve the set of files is sent from a ZeroMQ client and the response from the second node that the set of files are available at the location is received from a ZeroMQ server.

13. The system of claim 8 , wherein:

a first set of configuration information comprises configuration information of a first component of one of the plurality of nodes;

the group policy comprises a first policy and a second policy, a second component of the first node and the first component of one of the plurality of nodes governed by the first policy, a fourth component of the first node and the third component of one of the plurality of nodes governed by the second policy;

the processor determines the difference between the configuration information associated with the plurality of nodes and the configuration information associated with the first node by determining a difference between the configuration information of the first component of one of the plurality of nodes and the configuration information of the second component of the first node;

the processor determines, based on the group policy, that the first node needs to be configured by determining, based on the first policy, that the second component of the first node needs to be configured;

the processor determines the second node that stores the set of files to configure the first node by determining the second node that stores the set of files to configure the second component of the first node; and

the processor configures the first node using the set of files stored at the second node comprises configuring the second component of the first node using the set of files stored at the second node; and

the processor is further operable to:

compare configuration information of the third component of one of the plurality of nodes to configuration information of the fourth component of the first node;

determine a difference between the configuration information of the third component of one of the plurality of nodes to configuration information of the fourth component of the first node; and

in response to determining the difference, determine, based on the second policy, that the third component of the first node does not need to be configured.

14. The system of claim 8 , wherein the processor determines the second node that stores the set of files to configure the first node by:

determining, based on the group policy, that the first node needs to be configured according to a node of the plurality of nodes that has most recently been updated; and

determining that the second node is the node of the plurality of nodes that has most recently been updated.

15. A non-transitory computer readable storage medium comprising instructions, the instructions, when executed by a processor, executable to:

store a group policy;

transmit a first request to receive information associated with a plurality of nodes, the plurality of nodes being governed by the group policy;

receive sets of configuration information associated with the plurality of nodes, the sets of configuration information being received after a change has occurred regarding the plurality of nodes;

compare the sets of configuration information associated with the plurality of nodes to configuration information associated with a first node;

determine a difference between the sets of configuration information associated with the plurality of nodes and the configuration information associated with the first node;

in response to determining the difference, determine, based on analyzing content of the stored group policy, to configure the first node;

in response to determining to configure the first node, determine a second node that stores a set of files to configure the first node, the second node being one of the plurality of nodes; and

configure the first node using the set of files stored at the second node.

16. The non-transitory computer readable storage medium of claim 15 , wherein:

the instructions are further executable to:

send a second request from a ZeroMQ client of the first node to a ZeroMQ server of the second node to retrieve the set of files;

receive a response from the ZeroMQ server of the second node that the set of files are available at a location; and

retrieve the set of files from the location; and

the instructions are executable to determine the second node that stores the set of files to configure the first node by:

determining, based on the group policy, that the first node needs to be configured according to a node of the plurality of nodes that has most recently been updated; and

determining that the second node is the node of the plurality of nodes that has most recently been updated.

17. The non-transitory computer readable storage medium of claim 15 , wherein:

a first set of the sets of configuration information comprise configuration information of a first component of one of the plurality of nodes;

the instructions are executable to determine the difference between the configuration information associated with the plurality of nodes and the configuration information associated with the first node by determining a difference between the configuration information of the first component of one of the plurality of nodes and the configuration information of a second component of the first node;

the instructions are executable to determine, based on the group policy, that the first node needs to be configured by determining, based on the group policy, that the second component of the first node needs to be configured;

the instructions are executable to determine the second node that stores the set of files to configure the first node by determining the second node that stores the set of files to configure the second component of the first node; and

the instructions are executable to determine configuring the first node using the set of files stored at the second node by configuring the second component of the first node using the set of files stored at the second node.

18. The non-transitory computer readable storage medium of claim 15 , wherein the instructions are further executable to:

send a second request to the second node to retrieve the set of files;

receive a response from the second node that the set of files are available at a location; and

retrieve the set of files from the location.

19. The non-transitory computer readable storage medium of claim 15 , wherein:

a first set of configuration information comprises configuration information of a first component of one of the plurality of nodes;

the group policy comprises a first policy and a second policy, a second component of the first node and the first component of one of the plurality of nodes governed by the first policy, a fourth component of the first node and the third component of one of the plurality of nodes governed by the second policy;

the instructions are executable to determine the difference between the configuration information associated with the plurality of nodes and the configuration information associated with the first node by determining a difference between the configuration information of the first component of one of the plurality of nodes and the configuration information of the second component of the first node;

the instructions are executable to determine, based on the group policy, that the first node needs to be configured by determining, based on the first policy, that the second component of the first node needs to be configured;

the instructions are executable to determine the second node that stores the set of files to configure the first node by determining the second node that stores the set of files to configure the second component of the first node; and

the instructions are executable to configure the first node using the set of files stored at the second node by configuring the second component of the first node using the set of files stored at the second node; and

the instructions are further executable to:

compare configuration information of the third component of one of the plurality of nodes to configuration information of the fourth component of the first node;

determine a difference between the configuration information of the third component of one of the plurality of nodes to configuration information of the fourth component of the first node; and

in response to determining the difference, determine, based on the second policy, that the third component of the first node does not need to be configured.

20. The non-transitory computer readable storage medium of claim 15 , wherein the instructions are executable to determine the second node that stores the set of files to configure the first node by:

determining, based on the group policy, that the first node needs to be configured according to a node of the plurality of nodes that has most recently been updated; and

determining that the second node is the node of the plurality of nodes that has most recently been updated.

21. The method of claim 1 , further comprising:

storing, at a third node of a plurality of nodes, a group policy;

transmitting, from the third node, a first request to receive information associated with the plurality of nodes, the plurality of nodes being governed by the group policy;

receiving, at the third node, sets of configuration information associated with the plurality of nodes, the sets of configuration information being received after a change has occurred regarding the plurality of nodes;

comparing the sets of configuration information associated with the plurality of nodes to configuration information associated with the third node;

determining a difference between the sets of configuration information associated with the plurality of nodes and the configuration information associated with the third node;

in response to determining the difference, determining, based on analyzing content of the stored group policy, not to configure the third node.

22. The system of claim 8 , wherein the processor is further configured to:

store, at a third node of a plurality of nodes, a group policy;

transmit, from the third node, a first request to receive information associated with the plurality of nodes, the plurality of nodes being governed by the group policy;

receive, at the third node, sets of configuration information associated with the plurality of nodes, the sets of configuration information being received after a change has occurred regarding the plurality of nodes;

compare the sets of configuration information associated with the plurality of nodes to configuration information associated with the third node;

determine a difference between the sets of configuration information associated with the plurality of nodes and the configuration information associated with the third node;

in response to determining the difference, determine, based on analyzing content of the stored group policy, not to configure the third node.

23. The non-transitory computer readable storage medium of claim 15 , wherein the instructions are further executable to:

store, at a third node of a plurality of nodes, a group policy;

transmit, from the third node, a first request to receive information associated with the plurality of nodes, the plurality of nodes being governed by the group policy;

receive, at the third node, sets of configuration information associated with the plurality of nodes, the sets of configuration information being received after a change has occurred regarding the plurality of nodes;

compare the sets of configuration information associated with the plurality of nodes to configuration information associated with the third node;

determine a difference between the sets of configuration information associated with the plurality of nodes and the configuration information associated with the third node;

in response to determining the difference, determine, based on analyzing content of the stored group policy, not to configure the third node.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 035860 FRAME 0878 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040027/0158 →
RELEASE OF REEL 035860 FRAME 0797 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040028/0551 →
RELEASE OF REEL 035858 FRAME 0612 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040017/0067 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035858/0612 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035860/0878 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035860/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2015
From: BIDARALLI, SANTOSH KUMAR; BANGERA, LOKESH KRISHNA; MUGUNDA, CHANDRASEKHAR; KULKARNI, YOGESH PRABHAKAR
To: DELL PRODUCTS L.P.
Reel/Frame 034963/0503 →
Continuity (1)
Related Publication 20160241443A1 · Aug 18, 2016