Techniques for objectclass versioning in directory server schema are provided. The techniques include migrating from one version of a directory server to another version of the directory server, maintaining one or more versions of an objectclass while migrating from one version of a directory server to another version of the directory server, and selecting one of the one or more versions of an objectclass for normal functioning of an application.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for objectclass versioning in directory server schema, comprising the steps of: upgrading from a current version of a directory server to a new version of the directory server; maintaining multiple versions of an objectclass in a single directory server instance of the new version of the directory server after upgrading from the current version of the directory server to the new version of the directory server; generating a mapping that associates a first objectclass having a first version in the multiple versions of the objectclass with a second objectclass having a second version in the multiple versions of the objectclass; storing the mapping as entries in the directory server; and selecting one of the multiple versions of the objectclass on a per-application basis using the mapping such that an application accessing the objectclass is directed to the one of the multiple versions of the objectclass that is compatible with the application; wherein schemas for both of the current version of the directory server and the new version of the directory server are maintained in the single directory server instance, and wherein the new version of the directory server is a newer version having new functionality developed by a development team than the current version of the directory server; and wherein the upgrading comprises implementing one or more schema changes to the directory server schema of the current version of the directory server that are included in the new version of the directory server to provide the new functionality.
2. The method of claim 1 , further comprising: locating a matching objectclass in the multiple versions of the objectclass by traversing a list of the multiple versions of the objectclass in sequential order to identity a version of the objectclass that has (i) all attributes mentioned in an entry used to access the objectclass, and (ii) a minimal number of required attributes with respect to other of the multiple versions of the objectclass.
3. The method of claim 1 , wherein the objectclass versioning is configurable to be turned off.
4. The method of claim 1 , further comprising the steps of: exposing the multiple versions of the objectclass to a customer; and having the customer select a version of the objectclass.
5. The method of claim 1 , wherein per-application map entries are stored as directory entries in the directory server schema, wherein the selecting comprises: selecting one of the multiple versions of the objectclass by using an identifier provided by the application in a client request to locate a given one of the directory entries stored in the directory server schema.
6. The method of claim 1 , further comprising the steps of: querying a schema for a list of the multiple versions of the objectclass in an entry in the directory server schema; and performing a schema conformance check to determine whether a base version of an objectclass from the schema matches the entry.
7. A computer program product comprising a non-transitory computer readable medium having computer readable program code for objectclass versioning in directory server schema, said computer program product including: computer readable program code for upgrading from a current version of a directory server to a new version of the directory server, wherein the directory server is configured to provide directory services to an application; computer readable program code for maintaining multiple versions of an objectclass in a single directory server instance of the new version of the directory server after upgrading from the current version of the directory server to the new version of the directory server; computer readable program code for generating a mapping that associates a first objectclass having a first version in the multiple versions of the objectclass with a second objectclass having a second version in the multiple versions of the objectclass; computer readable program code for storing the mapping as entries in the directory server; and computer readable program code for selecting one of the multiple versions of the objectclass on a per-application basis using the mapping such that the application accessing the objectclass is directed to the one of the multiple versions of the objectclass that is compatible with the application; wherein schemas for both of the current version of the directory server and the new version of the directory server are maintained in the single directory server instance, and wherein the new version of the directory server is a newer version having new functionality developed by a development team than the current version of the directory server; and wherein the computer readable program code for upgrading comprises computer readable program code for implementing one or more schema changes to the directory server schema of the current version of the directory server that are included in the new version of the directory server to provide the new functionality.
8. The computer program product of claim 7 , wherein objectclass versioning is configurable to be turned off.
9. The computer program product of claim 7 , further comprising: computer readable program code for exposing the multiple versions of the objectclass to a customer; and computer readable program code for having the customer select a version of the objectclass.
10. The computer program product of claim 7 , wherein per-application map entries are stored as directory entries in the directory server schema, wherein the computer readable program code for selecting one of the multiple versions comprises: computer readable program code for selecting one of the multiple versions of the objectclass by using an identifier provided by the application in a client request to locate a given one of the directory entries stored in the directory server schema.
11. The computer program product of claim 7 , further comprising: computer readable program code for querying a schema for a list of the multiple versions of the objectclass in an entry in the directory server schema; and computer readable program code for performing a schema conformance check to determine whether a base version of an objectclass from the schema matches the entry.
12. An apparatus for objectclass versioning in directory server schema, comprising: a memory; and at least one processor coupled to said memory and operative to: upgrade from a current version of a directory server to a new version of the directory server, wherein the directory server is configured to provide directory services to an application; maintain multiple versions of an objectclass in a single directory server instance of the new version of the directory server after upgrading from the current version of the directory server to the new version of the directory server; generate a mapping that associates a first objectclass having a first version in the multiple versions of the objectclass with a second objectclass having a second version in the multiple versions of the objectclass; store the mapping as entries in the directory server; and select one of the multiple versions of the objectclass on a per-application basis using the mapping such that the application accessing the objectclass is directed to the one of the multiple versions of the objectclass that is compatible with the application; wherein schemas for both of the current version of the directory server and the new version of the directory server are maintained in the single directory server instance, and wherein the new version of the directory server is a newer version having new functionality developed by a development team than the current version of the directory server; and wherein the upgrade comprises implement one or more schema changes to the directory server schema of the current version of the directory server that are included in the new version of the directory server to provide the new functionality.
13. The apparatus of claim 12 , wherein the objectclass versioning is configurable to be turned off.
14. The apparatus of claim 12 , wherein the at least one processor coupled to said memory is further operative to: expose the multiple versions of the objectclass to a customer; and have the customer select a version of the objectclass.
15. The apparatus of claim 12 , wherein per-application map entries are stored as directory entries in the directory server schema, wherein the selecting comprises: selecting one of the multiple versions of the objectclass by using an identifier provided by the application in a client request to locate a given one of the directory entries stored in the directory server schema.
16. The method of claim 1 , further comprising: receiving a request to add an entry to the directory server schema for the objectclass comprising a number of attributes; selecting a version of the objectclass that contains all of the number of attributes using an identifier included in the request; and updating the one of the multiple versions in the mapping to the version when the version that contains all the attributes is different than the one of the multiple versions.
17. The method of claim 1 , wherein the directory server provides directory services for the application.
18. The method of claim 1 , wherein the directory server is accessed and updated using a lightweight directory access protocol (LDAP).
19. The method of claim 1 , wherein the directory server is a server that uses the directory server schema to provide directory services for the application.
20. The computer program product of claim 7 , further comprising: computer readable program code for locating a matching objectclass in the multiple versions of the objectclass by traversing a list of the multiple versions of the objectclass in sequential order to identity a version of the objectclass that has (i) all attributes mentioned in an entry used to access the objectclass, and (ii) a minimal number of required attributes with respect to other of the multiple versions of the objectclass.
21. The apparatus of claim 12 , wherein the processor is further operative to: locate a matching objectclass in the multiple versions of the objectclass by traversing a list of the multiple versions of the objectclass in sequential order to identity a version of the objectclass that has (i) all attributes mentioned in an entry used to access the objectclass, and (ii) a minimal number of required attributes with respect to other of the multiple versions of the objectclass.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 13, 2012
September 12, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.