IP Library Granted Patent US 9,165,027
Granted Patent B2
US 9,165,027 · App. 13/721,811 · Granted Oct 20, 2015

Dynamic directory control registration

Inventor: Kam-Keung Wong (Sinking Spring, PA)
Assignee: Dell Software Inc.
G06F17/30386G06F9/44G06F17/3056
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,165,027
App. No.
13/721,811
Granted
Oct 20, 2015
Kind
B2
Abstract

Systems and methods for extending the capability of a directory processor by, for example, registering a control are presented. This control can be a non-native control, or a modification to a native control. Further, this disclosure describes example of systems and methods for performing a directory operation, which may include one or more controls. At least some of the one or more controls may be non-native or dynamic controls. In some cases, some of the controls may be native controls.

Claims (69)

1. A method for extending the capability of a directory processor performed by a computing system comprising one or more processors, the method comprising:

receiving at least one directory operation for interacting with a directory service system, the directory service system providing access to a set of records using a directory access protocol implemented by the directory service system;

receiving a control definition, the control definition included in the at least one directory operation and comprising information relating to how the at least one directory operation should be processed on the directory service system;

wherein the control definition is non-native to the directory access protocol implemented by the directory service system;

accessing a control identifier associated with the control definition;

determining whether the control identifier exists in a control database associated with a directory processor on the directory service system;

in response to determining that the control identifier does not exist in the control database, registering the control definition with the control database and performing the at least one directory operation according to the control definition; and

in response to determining that the control definition cannot be processed:

determining whether the control definition is critical based on a label included in the control definition;

in response to determining that the control definition is critical, rejecting the at least one directory operation; and

in response to determining that the control definition is not critical, performing the at least one directory operation regardless of whether the control definition is processed.

2. The method of claim 1 , wherein registering the control definition with the control database further comprises injecting the control identifier into the directory processor.

3. The method of claim 1 , wherein registering the control definition with the control database further comprises accessing an Application Programming Interface (API) associated with the directory processor.

4. The method of claim 1 , further comprising:

identifying a directory application associated with the control definition; and

registering the directory application with the control database, wherein the directory application is associated with the control definition at the control database.

5. The method of claim 1 , wherein, in response to determining that the control identifier exists in the control database, the method further comprises:

determining whether a provider of the control definition is authorized to modify an existing control definition; and

in response to determining that the provider is authorized to modify the existing control definition, modifying the existing control definition based on the received control definition.

6. The method of claim 5 , wherein modifying the existing control definition comprises replacing the existing control definition with the received control definition.

7. The method of claim 1 , wherein the control database is configured to store control definitions associated with non-native controls.

8. The method of claim 7 , wherein determining whether the control identifier exists in the control database further comprises determining whether the control identifier exists in a native control database, wherein the native control database is configured to store the identity of native controls.

9. The method of claim 1 , wherein registering the control definition with the control database further comprises registering when an operation associated with the control definition is performed.

10. Non-transitory physical computer storage comprising computer-executable instructions that direct a computing system to perform a method for extending the capability of a directory processor, the method comprising:

receiving at least one directory operation for interacting with a directory service system, the directory service system providing access to a set of records using a directory access protocol implemented by the directory service system;

receiving a control definition, the control definition included in the at least one directory operation and comprising information relating to how the at least one directory operation should be processed on the directory service system;

wherein the control definition is non-native to the directory access protocol implemented by the directory service system;

accessing a control identifier associated with the control definition;

determining whether the control identifier exists in a control database associated with a directory processor on the directory service system;

in response to determining that the control identifier does not exist in the control database, registering the control definition with the control database and performing the at least one directory operation according to the control definition; and

in response to determining that the control definition cannot be processed:

determining whether the control definition is critical based on a label included in the control definition;

in response to determining that the control definition is critical, rejecting the at least one directory operation; and

in response to determining that the control definition is not critical, performing the at least one directory operation regardless of whether the control definition is processed.

11. The non-transitory physical computer storage of claim 10 , wherein registering the control definition with the control database further comprises injecting the control identifier into the directory processor.

12. The non-transitory physical computer storage of claim 10 , wherein registering the control definition with the control database further comprises accessing an Application Programming Interface (API) associated with the directory processor.

13. The non-transitory physical computer storage of claim 10 , wherein the method further comprises:

identifying a directory application associated with the control definition; and

registering the directory application with the control database, wherein the directory application is associated with the control definition at the control database.

14. The non-transitory physical computer storage of claim 10 , wherein, in response to determining that the control identifier exists in the control database, the method further comprises:

determining whether a provider of the control definition is authorized to modify an existing control definition; and

in response to determine that the provider is authorized to modify the existing control definition, modifying the existing control definition based on the received control definition.

15. The non-transitory physical computer storage of claim 14 , wherein modifying the existing control definition comprises replacing the existing control definition with the received control definition.

16. The non-transitory physical computer storage of claim 10 , wherein the control database is configured to store control definitions associated with non-native controls.

17. The non-transitory physical computer storage of claim 16 , wherein determining whether the control identifier exists in the control database further comprises determining whether the control identifier exists in a native control database, wherein the native control database is configured to store the identity of native controls.

18. The non-transitory physical computer storage of claim 10 , wherein registering the control definition with the control database further comprises registering when an operation associated with the control definition is performed.

19. A system for extending the capability of a directory processor, the system comprising:

a directory processor configured to perform a directory operation;

physical data storage comprising a control database configured to store one or more control definitions, the control database associated with the directory processor; and

a control registration system comprising computer hardware, the control registration system configured to:

receive at least one directory operation for interacting with a directory service system, the directory service system providing access to a set of records using a directory access protocol implemented by the directory service system;

receive a control definition, the control definition included in the at least one directory operation and comprising information relating to how at least one directory operation should be processed by the directory processor;

wherein the control definition is non-native to the directory access protocol implemented by the directory processor;

access a control identifier associated with the control definition;

determine whether the control identifier exists in the control database;

in response to determining that the control identifier does not exist in the control database, register the control definition with the control database and perform the at least one directory operation according to the control definition; and

in response to determining that the control definition cannot be processed:

determine whether the control definition is critical based on a label included in the control definition;

in response to determining that the control definition is critical, reject the at least one directory operation; and

in response to determining that the control definition is not critical, perform the at least one directory operation regardless of whether the control definition is processed.

20. The system of claim 19 , wherein the control registration system is further configured to inject the control identifier into the directory processor.

21. The system of claim 19 , wherein the control registration system is further configured to:

identify a directory application associated with the control definition; and

register the directory application with the control database, wherein the directory application is associated with the control definition at the control database.

22. The system of claim 19 , wherein, in response to determining that the control identifier exists in the control database, the control registration system is further configured to:

determine whether a provider of the control definition is authorized to modify an existing control definition; and

in response to determining that the provider is authorized to modify the existing control definition, modify the existing control definition based on the received control definition.

23. The system of claim 19 , wherein the control database is configured to store control definitions associated with non-native controls, and wherein determining whether the control identifier exists in the control database further comprises determining whether the control identifier exists in a native control database, the native control database configured to store the identity of native controls.

24. The system of claim 19 , wherein registering the control definition with the control database further comprises registering when an operation associated with the control definition is performed.

Assignments (27)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
CHANGE OF NAME Recorded Aug 19, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031035/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2012
From: WONG, KAM-KEUNG
To: QUEST SOFTWARE, INC.
Reel/Frame 029512/0673 →
Continuity (2)
Provisional Application 61617471 · Mar 29, 2012
Related Publication 20130262496A1 · Oct 3, 2013