Multi-master referential integrity
First Claim
Patent Images
1. A method, the method comprising:
- receiving, by a first directory server of a plurality of directory servers, a request to perform an operation on an entry in the first directory server;
determining, by the first directory server, whether the operation on the entry in the first directory server is valid, wherein the operation on the entry in the first directory server is valid when the entry exists in a repository associated with the first directory server, and wherein the operation on the entry in the first directory server is not valid when the entry does not exist in the repository associated with the first directory server;
when the operation on the entry in the first directory server is valid, performing, by the first directory server, the operation on the entry in the first directory server;
when the operation on the entry in the first directory server is not valid, forwarding, by the first directory server, the request to a next directory server of the plurality of directory servers, the next directory server having a multi-master replication agreement with the first directory server;
when the operation on the entry in a current directory server is not valid, continuing forwarding, by the current directory server, the request from the current directory server to a next directory server of the plurality of directory servers to find a peer directory server of the plurality of directory servers in which the operation on the entry is valid, the next directory server having the multi-master replication agreement with the first directory server;
when the operation on the entry is valid in the peer directory server, performing, by the peer directory server, the request in the peer directory server; and
when the operation on the entry is not valid in any directory server of the plurality of directory servers, returning a failure for the request,wherein at least one other directory server of the plurality of directory servers is not directly associated with the first directory server.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for maintaining referential integrity in a plurality of directory servers is described. In one embodiment, a first directory server receives a request to operate on an entry in the first directory server. The request is serially repeated in at least one other directory server if the operation on the entry in the first directory server is not valid. The at least one other directory server communicates indirectly with the first directly server.
27 Citations
28 Claims
-
1. A method, the method comprising:
-
receiving, by a first directory server of a plurality of directory servers, a request to perform an operation on an entry in the first directory server; determining, by the first directory server, whether the operation on the entry in the first directory server is valid, wherein the operation on the entry in the first directory server is valid when the entry exists in a repository associated with the first directory server, and wherein the operation on the entry in the first directory server is not valid when the entry does not exist in the repository associated with the first directory server; when the operation on the entry in the first directory server is valid, performing, by the first directory server, the operation on the entry in the first directory server; when the operation on the entry in the first directory server is not valid, forwarding, by the first directory server, the request to a next directory server of the plurality of directory servers, the next directory server having a multi-master replication agreement with the first directory server; when the operation on the entry in a current directory server is not valid, continuing forwarding, by the current directory server, the request from the current directory server to a next directory server of the plurality of directory servers to find a peer directory server of the plurality of directory servers in which the operation on the entry is valid, the next directory server having the multi-master replication agreement with the first directory server; when the operation on the entry is valid in the peer directory server, performing, by the peer directory server, the request in the peer directory server; and when the operation on the entry is not valid in any directory server of the plurality of directory servers, returning a failure for the request, wherein at least one other directory server of the plurality of directory servers is not directly associated with the first directory server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus comprising:
-
a first directory server to receive a request to perform an operation on an entry in the first directory server, to determine whether the operation on the entry in the first directory server is valid, wherein the operation on the entry in the first directory server is valid when the entry exists in a repository associated with the first directory server, and wherein the operation on the entry in the first directory server is not valid when the entry does not exist in the repository associated with the first directory server, to perform the operation on the entry in the first directory server when the operation on the entry in the first directory server is valid, to perform the operation on the entry in the first directory server when the operation on the entry in the first directory server is valid, to forward the request to a next directory server when the operation on the entry in the first directory server is not valid, the next directory server having a multi-master replication agreement with the first directory server; a next directory server to forward the request from the next directory server to at least one other directory server when the operation on the entry in the next directory server is not valid; a current directory server to continue forwarding the request from the current directory server to a next directory server when the operation on the entry in the current directory server is not valid to find a peer directory server in which the operation on the entry is valid, to perform the request in the peer directory server when the operation on the entry is valid in the peer directory server, and to return a failure for the request when the operation on the entry is not valid in any directory server, wherein the first directory server is not directly associated with at least one other directory server, and the next directory server has the multi-master replication agreement with the first directory server. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable storage medium, having instructions stored therein, which when executed, cause a computer system to perform operations comprising:
-
receiving, by a first directory server of a plurality of directory servers in the computer system, a request to perform an operation on an entry in the first directory server; determining, by the first directory server, whether the operation on the entry in the first directory server is valid, wherein the operation on the entry in the first directory server is valid when the entry exists in a repository associated with the first directory server, and wherein the operation on the entry in the first directory server is not valid when the entry does not exist in the repository associated with the first directory server; when the operation on the entry in the first directory server is valid, performing, by the first directory server, the operation on the entry in the first directory server; when the operation on the entry in the first directory server is not valid, forwarding, by the first directory server, the request to a next directory server of the plurality of directory servers, the next directory server having a multi-master replication agreement with the first directory server; when the operation on the entry in a current directory server is not valid, continuing forwarding, by the current directory server, the request from the current directory server to a next directory server of the plurality of directory servers to find a peer directory server of the plurality of directory servers in which the operation on the entry is valid, the next directory server having the multi-master replication agreement with the first directory server; when the operation on the entry is valid in the peer directory server, performing, by the peer directory server, the request in the peer directory server; and when the operation on the entry is not valid in any directory server of the plurality of directory servers, returning a failure for the request, wherein at least one other directory server of the plurality of directory servers is not directly associated with the first directory server. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification