IP Library Granted Patent US 8,745,072
Granted Patent B2
US 8,745,072 · App. 13/216,057 · Granted Jun 3, 2014

Virtual directory server changelog

Inventors: Amit Sharma (San Ramon, CA); Jingjing Wei (Redwood City, CA); Vasukiammaiyar Asokkumar (Sunnyvale, CA)
Assignee: Oracle International Corporation
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 8,745,072
App. No.
13/216,057
Granted
Jun 3, 2014
Kind
B2
Abstract

Techniques for providing a consolidated view of directory changes across different directory servers. In one set of embodiments, a changelog record can be received from a directory server, where the directory server is associated with a proprietary changelog format, and where the changelog record is formatted according to the proprietary changelog format. The received changelog record can then be translated into a virtualized changelog record that is formatted according to a standard changelog format, and the virtualized changelog record can be sent to a consuming client. With this virtualization capability, the client does not need to be concerned with, or even aware of, the proprietary changelog mechanisms/formats that may be used by different directory servers in a multi-server deployment.

Claims (63)

1. A method comprising:

receiving, by a computer system, a plurality of changelog records from a plurality of directory servers, each changelog record identifying a change to a base directory entry maintained by the directory server from which the changelog record is received, and each changelog record being formatted according to a proprietary changelog format associated with the directory server from which the changelog record is received,

each directory server being associated with a different proprietary changelog format, wherein the plurality of changelog records comprises:

a first changelog record formatted according to a first proprietary changelog format and comprising a first changelog attribute; and

a second changelog record formatted according to a second proprietary changelog format and comprising a second changelog attribute that is different from the first changelog attribute;

virtualizing, by the computer system, the plurality of changelog records into virtualized changelog records such that the virtualized changelog records are formatted according a standard changelog format, wherein each virtualized changelog record includes a change type attribute identifying a type of change made to the base directory entry, and an entry identification attribute identifying the base directory entry, wherein the virtualizing the plurality of changelog records comprises:

mapping the first changelog attribute to the standard changelog format for a corresponding attribute; and

mapping the second changelog attribute to the standard changelog format for the corresponding attribute;

consequent to determining that the base directory entry is a shadow entry and determining that the change type attribute identifies the type of change as a modify or add attribute operation;

determining a primary entry associated with the shadow entry; and

mapping the entry identification attribute to a distinguished name of the primary entry;

returning, by the computer system, the virtualized changelog records.

2. The method of claim 1 , wherein each virtualized changelog record further includes:

a first attribute representing an identifier of the virtualized changelog record that is unique to the directory server from which the changelog record is received; and

a second attribute identifying all of the changes made to the base directory entry.

3. The method of claim 2 , wherein each directory server is associated with a changelog adapter executing on the computer system, and wherein the virtualizing of changelog records received from the directory server is performed by the changelog adapter.

4. The method of claim 3 , wherein the virtualizing the plurality of changelog records further comprises, for each changelog record:

adding a new attribute to the virtualized changelog record, the new attribute reflecting a name of the changelog adapter.

5. The method of claim 3 , wherein the virtualizing the plurality of changelog records further comprises, for each changelog record:

determining whether the base directory entry is a standalone entry or a shadow entry; and

if the base directory entry is a standalone entry, mapping the fourth entry identification attribute of the virtualized changelog record to a distinguished name of the standalone entry.

6. The method of claim 5 , wherein the determining the primary entry associated with the shadow entry comprises:

determining a base adapter associated with the changelog adapter, the base adapter being configured to join the primary entry with the shadow entry to present a single directory entry to a client requesting the primary entry; and

determining the distinguished name of the primary entry from the base adapter.

7. The method of claim 1 , wherein:

if a first directory server in the plurality of directory servers is an Active Directory server, changelog records received from the Active Directory server correspond to base directory entries with a uSNChanged attribute; and

virtualizing a changelog record received from the Active Directory server comprises mapping the value of the uSNChanged attribute to a first attribute in the virtualized changelog record.

8. The method of claim 7 , wherein virtualizing a changelog record received from the Active Directory server further comprises including all of the attributes in the base directory entry within a third attribute in the virtualized changelog record.

9. A non-transitory computer readable medium having stored thereon program code executable by a processor, the program code comprising:

code that causes the processor to receive a plurality of changelog records from a plurality of directory servers, each changelog record identifying a change to a base directory entry maintained by the directory server from which the changelog record is received, and each changelog record being formatted according to a proprietary changelog format associated with the directory server from which the changelog record is received, each directory server being associated with a different proprietary changelog format, wherein the plurality of changelog records comprises:

a first changelog record formatted according to a first proprietary changelog format and comprising a first changelog attribute; and

a second changelog record formatted according to a second proprietary changelog format and comprising a second changelog attribute that is different from the first changelog attribute;

code that causes the processor to virtualize the plurality of changelog records into virtualized changelog records such that the virtualized changelog records are formatted according a standard changelog format, wherein each virtualized changelog record includes a change type attribute identifying a type of change made to the base directory entry, and an entry identification attribute identifying the base directory entry, wherein the virtualizing the plurality of changelog records comprises:

mapping the first changelog attribute to the standard changelog format for a corresponding attribute; and

mapping the second changelog attribute to the standard changelog format for the corresponding attribute;

consequent to determining that the base directory entry is a shadow entry and determining that the change type attribute identifies the type of change as a modify or add attribute operation;

determining a primary entry associated with the shadow entry; and

mapping the entry identification attribute to a distinguished name of the primary entry;

code that causes the processor to return the virtualized changelog records.

10. The non-transitory computer readable medium of claim 9 , wherein each virtualized changelog record includes:

a first attribute representing an identifier of the virtualized changelog record that is unique to the directory server from which the changelog record is received; and

a second attribute identifying all of the changes made to the base directory entry.

11. The non-transitory computer readable medium of claim 10 , wherein the virtualizing the plurality of changelog records further comprises, for each changelog record:

determining whether the base directory entry is a standalone entry or a shadow entry; and

if the base directory entry is a standalone entry, mapping the entry identification attribute of the virtualized changelog record to a distinguished name of the standalone entry.

12. A system comprising:

a processor configured to:

receive a plurality of changelog records from a plurality of directory servers, each changelog record identifying a change to a base directory entry maintained by the directory server from which the changelog record is received, and each changelog record being formatted according to a proprietary changelog format associated with the directory server from which the changelog record is received, each directory server being associated with a different proprietary changelog format, wherein the plurality of changelog records comprises:

a first changelog record formatted according to a first proprietary changelog format and comprising a first changelog attribute; and

a second changelog record formatted according to a second proprietary changelog format and comprising a second changelog attribute that is different from the first changelog attribute;

virtualize the plurality of changelog records into virtualized changelog records such that the virtualized changelog records are formatted according a standard changelog format, wherein each virtualized changelog record includes a change type attribute identifying a type of change made to the base directory entry, and an entry identification attribute identifying the base directory entry, wherein the virtualizing the plurality of changelog records comprises:

mapping the first changelog attribute to the standard changelog format for a corresponding attribute; and

mapping the second changelog attribute to the standard changelog format for the corresponding attribute;

consequent to determining that the base directory entry is a shadow entry and determining that the change type attribute identifies the type of change as a modify or add attribute operation;

determining a primary entry associated with the shadow entry; and

mapping the entry identification attribute to a distinguished name of the primary entry;

return the virtualized changelog records.

13. The system of claim 12 , wherein each virtualized changelog record includes:

a first attribute representing an identifier of the virtualized changelog record that is unique to the directory server from which the changelog record is received; and

a second attribute identifying all of the changes made to the base directory entry.

14. The system of claim 13 , wherein the virtualizing the plurality of changelog records further comprises, for each changelog record:

determining whether the base directory entry is a standalone entry or a shadow entry; and

if the base directory entry is a standalone entry, mapping the entry identification attribute of the virtualized changelog record to a distinguished name of the standalone entry.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2011
From: SHARMA, AMIT; WEI, JINGJING; ASOKKUMAR, VASUKIAMMAIYAR
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 026794/0391 →
Continuity (1)
Related Publication 20130054571A1 · Feb 28, 2013