5 Network Working Group J. Sermersheim
6 Internet-Draft Novell, Inc
7 Expires: August 5, 2005 H. Chu
12 The LDAP Change Sequence Number
13 draft-sermersheim-ldap-csn-02.txt
17 By submitting this Internet-Draft, each author represents that any
18 applicable patent or other IPR claims of which he or she is aware
19 have been or will be disclosed, and any of which he or she becomes
20 aware will be disclosed, in accordance with Section 6 of BCP 79.
22 Internet-Drafts are working documents of the Internet Engineering
23 Task Force (IETF), its areas, and its working groups. Note that
24 other groups may also distribute working documents as Internet-
27 Internet-Drafts are draft documents valid for a maximum of six months
28 and may be updated, replaced, or obsoleted by other documents at any
29 time. It is inappropriate to use Internet-Drafts as reference
30 material or to cite them other than as "work in progress."
32 The list of current Internet-Drafts can be accessed at
33 http://www.ietf.org/ietf/1id-abstracts.txt.
35 The list of Internet-Draft Shadow Directories can be accessed at
36 http://www.ietf.org/shadow.html.
38 This Internet-Draft will expire on August 5, 2005.
42 Copyright (C) The Internet Society (2005).
46 This document defines a syntax schema element for the Lightweight
47 Directory Access Protocol (LDAP) which is used to hold a Change
48 Sequence Number (CSN). In general, a change sequence number
49 represents the place and time that a directory entity was changed.
50 It may be used by various attributes for various LDAP replication,
51 and synchronization applications.
56 Sermersheim & Chu Expires August 5, 2005 [Page 1]
58 Internet-Draft LDAP CSN February 2005
63 Technical discussion of this document will take place on the IETF
64 LDAP Extensions mailing list <ldapext@ietf.org>. Please send
65 editorial comments directly to the author(s).
70 1. Introduction . . . . . . . . . . . . . . . . . . . . . 3
71 2. Conventions . . . . . . . . . . . . . . . . . . . . . 4
72 3. Syntaxes . . . . . . . . . . . . . . . . . . . . . . . 5
73 3.1. ChangeSequenceNumber Syntax . . . . . . . . . . . . . 5
74 3.2. UTF8String . . . . . . . . . . . . . . . . . . . . . . 6
75 4. Matching Rules . . . . . . . . . . . . . . . . . . . . 7
76 4.1. changeSequenceNumberMatch Matching Rule . . . . . . . 7
77 4.2. utf8CodePointMatch Matching Rule . . . . . . . . . . . 7
78 4.3. changeSequenceNumberOrderingMatch Matching Rule . . . 7
79 4.4. utf8CodePointOrderingMatch Matching Rule . . . . . . . 8
80 5. Attributes . . . . . . . . . . . . . . . . . . . . . . 9
81 5.1. entryCSN Attribute . . . . . . . . . . . . . . . . . . 9
82 6. Security Considerations . . . . . . . . . . . . . . . 10
83 7. Normative References . . . . . . . . . . . . . . . . . 10
84 Appendix A. IANA Considerations . . . . . . . . . . . . . . . . . 11
85 A.1. LDAP Object Identifier Registrations . . . . . . . . . 11
86 A.2. LDAP Descriptor Registrations . . . . . . . . . . . . 11
87 Authors' Addresses . . . . . . . . . . . . . . . . . . 15
88 Intellectual Property and Copyright Statements . . . . 16
112 Sermersheim & Chu Expires August 5, 2005 [Page 2]
114 Internet-Draft LDAP CSN February 2005
119 A number of technologies have been documented, implemented and
120 experimented with which in one way or another seek to replicate, or
121 synchronize directory data. A common need among these technologies
122 is to determine which of two copies of an element represents the
123 latest or most authoritative data. Part of meeting this need
124 involves associating a change sequence number to an element copy at
125 the time of an update to that element. When replication or
126 synchronization occurs, the change sequence numbers associated with
127 directory elements can be used to decide which element's data will be
128 copied to the other element(s).
168 Sermersheim & Chu Expires August 5, 2005 [Page 3]
170 Internet-Draft LDAP CSN February 2005
175 Imperative keywords defined in [RFC2119] are used in this document,
176 and carry the meanings described there.
178 The General Considerations of [I-D.ietf-ldapbis-syntaxes] apply to
179 the syntax definition in this document.
181 The terms "directory element" and "element" refer to data held in a
182 directory and may apply to an attribute value, attribute, entry, or
183 any other identifiable directory entity.
224 Sermersheim & Chu Expires August 5, 2005 [Page 4]
226 Internet-Draft LDAP CSN February 2005
231 3.1. ChangeSequenceNumber Syntax
233 A value of the ChangeSequenceNumber syntax is the time of a change
234 along with a replicaID which represents the Directory System Agent
235 (DSA) holding the element when it was changed. There are also two
236 sequence numbers used to disambiguate directory entities that are
237 changed at the same time and place.
239 The Abstract Syntax Notation One (ASN.1)[X680] type corresponding to
240 this syntax is defined as follows:
242 ChangeSequenceNumber ::= SEQUENCE {
244 time GeneralizedTime,
246 timeCount INTEGER (0 .. MaxInt),
248 replicaID UTF8String,
250 changeCount INTEGER (0 .. MaxInt)}
252 MaxInt INTEGER ::= 2147483647 -- (2^^31 - 1) --
254 GeneralizedTime is defined in [X680]. Local time without a
255 differential SHALL NOT be used.
257 UTF8String is defined below.
259 The LDAP-specific encoding of a value of this syntax is the Generic
260 String Encoding Rules (GSER)[RFC3641] encoding of the ASN.1 type.
264 { time "196701160315-0700",
272 The following is an LDAP syntax description [RFC2252] suitable for
273 publication in the subschema.
275 ( IANA-ASSIGNED-OID.1 DESC 'ChangeSequenceNumber' )
280 Sermersheim & Chu Expires August 5, 2005 [Page 5]
282 Internet-Draft LDAP CSN February 2005
287 The UTF8String syntax is used to express a string of characters from
288 the [ISO.10646-1.1993] character set (a superset of [Unicode]),
289 encoded following the [UTF-8] algorithm. Note that Unicode
290 characters U+0000 through U+007F are the same as ASCII 0 through 127,
291 respectively, and have the same single octet UTF-8 encoding. Other
292 Unicode characters have a multiple octet UTF-8 encoding.
294 UTF8String::= OCTET STRING -- UTF-8 encoded,
296 -- [ISO10646] characters
298 The LDAP-specific encoding of a value of this syntax are the UTF-8
299 encoded characters themselves.
301 The following is an LDAP syntax description [RFC2252] suitable for
302 publication in the subschema.
304 ( IANA-ASSIGNED-OID.2 DESC 'UTF8String' )
336 Sermersheim & Chu Expires August 5, 2005 [Page 6]
338 Internet-Draft LDAP CSN February 2005
343 4.1. changeSequenceNumberMatch Matching Rule
345 The changeSequenceNumberMatch rule compares an assertion value of the
346 ChangeSequenceNumber syntax to a value of a syntax (e.g the
347 ChangeSequenceNumber syntax) whose corresponding ASN.1 type is
348 ChangeSequenceNumber.
350 The rule evaluates to TRUE if and only if each of the components of
351 the two values evaluate to TRUE using the following rules:
353 o The time component uses generalizedTimeMatch.
355 o The timeCount and changeCount components use integerMatch.
357 o The replicaID component uses utf8CodePointMatch.
359 The following is a LDAP matching rule description [RFC2252] suitable
360 for publication in the subschema.
362 ( IANA-ASSIGNED-OID.3 NAME changeSequenceNumberMatch SYNTAX IANA-
365 4.2. utf8CodePointMatch Matching Rule
367 The utf8CodePointMatch rule compares an assertion value of the
368 UTF8String syntax to a value of a syntax (e.g the UTF8String syntax)
369 whose corresponding ASN.1 type is UTF8String. The rule evaluates to
370 TRUE if and only if the code points [Unicode] of each of the
373 The following is a LDAP matching rule description [RFC2252] suitable
374 for publication in the subschema.
376 ( IANA-ASSIGNED-OID.4 NAME utf8CodePointMatch SYNTAX IANA-ASSIGNED-
379 4.3. changeSequenceNumberOrderingMatch Matching Rule
381 The changeSequenceNumberOrderingMatch rule compares the
382 ChangeSequenceNumber ordering of an assertion value of the
383 ChangeSequenceNumber syntax to a value of a syntax (e.g the
384 ChangeSequenceNumber syntax) whose corresponding ASN.1 type is
385 ChangeSequenceNumber.
387 When evaluating ChangeSequenceNumber values for ordering, the
388 components are evaluated in this order: time, timeCount, replicaID,
392 Sermersheim & Chu Expires August 5, 2005 [Page 7]
394 Internet-Draft LDAP CSN February 2005
397 changeCount. If a component evaluates to TRUE using the appropriate
398 ordering matching rule specified below, then the rule evaluates to
399 TRUE. Otherwise if the component evaluates to TRUE using the
400 equality matching rule specified below, the next component is
401 evaluated. Otherwise the changeSequenceNumberOrderingMatch rule
402 evaluates to FALSE or Undefined as appropriate.
404 o The time components of the two values are evaluated for ordering
405 using GeneralizedTimeOrderingMatch, and evaluated for equality
406 using GeneralizedTimeMatch.
408 o The timeCount and changeCount components of the two values are
409 evaluated for ordering using integerOrderingMatch, and evaluated
410 for equality using integerMatch.
412 o The replicaID components of the two values are evaluated for
413 ordering using utf8CodePointOrderingMatch and evaluated for
414 equality using utf8CodePointMatch.
416 The following is a LDAP matching rule description [RFC2252] suitable
417 for publication in the subschema.
419 ( IANA-ASSIGNED-OID.5 NAME changeSequenceNumberOrderingMatch SYNTAX
420 SYNTAX IANA-ASSIGNED-OID.1 )
422 4.4. utf8CodePointOrderingMatch Matching Rule
424 The utf8CodePointOrderingMatch rule compares the ordering of an
425 assertion value of the UTF8String syntax to a stored value of a
426 syntax (e.g. the UTF8String syntax) whose corresponding ASN.1 type is
429 The rule evaluates to TRUE if, and only if, in the code point
430 collation order, the stored value character string appears earlier
431 than the assertion value character string, i.e., the stored value is
432 "less than" the assertion value.
434 The following is a LDAP matching rule description [RFC2252] suitable
435 for publication in the subschema.
437 ( IANA-ASSIGNED-OID.6 NAME utf8CodePointOrderingMatch SYNTAX IANA-
448 Sermersheim & Chu Expires August 5, 2005 [Page 8]
450 Internet-Draft LDAP CSN February 2005
455 5.1. entryCSN Attribute
457 The entryCSN operational attribute provides the CSN of the last
458 update applied to the entry.
460 The following is a LDAP attribute type description [RFC2252] suitable
461 for publication in the subschema.
463 ( IANA-ASSIGNED-OID.7 NAME entryCSN DESC 'CSN of the entry content'
464 EQUALITY changeSequenceNumberMatch ORDERING
465 changeSequenceNumberOrderingMatch SYNTAX IANA-ASSIGNED-OID.1 SINGLE-
466 VALUE NO-USER-MODIFICATION USAGE directoryOperation )
468 Servers MAY assign a CSN to each entry upon its addition to the
469 directory and provide the entry's CSN as the value of the entryCSN
470 operational attribute. If the entryCSN attribute is assigned, the
471 attribute SHOULD be updated upon every update of the entry.
504 Sermersheim & Chu Expires August 5, 2005 [Page 9]
506 Internet-Draft LDAP CSN February 2005
509 6. Security Considerations
511 7. Normative References
513 [I-D.ietf-ldapbis-syntaxes]
514 Legg, S., "Lightweight Directory Access Protocol (LDAP):
515 Syntaxes and Matching Rules",
516 draft-ietf-ldapbis-syntaxes-11 (work in progress),
520 International Organization for Standardization,
521 "Information Technology - Universal Multiple-octet coded
522 Character Set (UCS) - Part 1: Architecture and Basic
523 Multilingual Plane", ISO Standard 10646-1, May 1993.
525 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
526 Requirement Levels", BCP 14, RFC 2119, March 1997.
528 [RFC2252] Wahl, M., Coulbeck, A., Howes, T., and S. Kille,
529 "Lightweight Directory Access Protocol (v3): Attribute
530 Syntax Definitions", RFC 2252, December 1997.
532 [RFC3383] Zeilenga, K., "Internet Assigned Numbers Authority (IANA)
533 Considerations for the Lightweight Directory Access
534 Protocol (LDAP)", BCP 64, RFC 3383, September 2002.
536 [RFC3641] Legg, S., "Generic String Encoding Rules (GSER) for ASN.1
537 Types", RFC 3641, October 2003.
539 [UTF-8] International Organization for Standardization,
540 "Information Technology - Universal Multiple-octet coded
541 Character Set (UCS) - Amendment 2: UCS Transformation
542 Format 8 (UTF-8)", ISO Standard 10646-1 Addendum 2,
545 [Unicode] The Unicode Consortium, "The Unicode Standard", 2004.
547 [X680] International Telecommunications Union, "Abstract Syntax
548 Notation One (ASN.1): Specification of basic notation",
549 ITU-T Recommendation X.680, July 2002.
560 Sermersheim & Chu Expires August 5, 2005 [Page 10]
562 Internet-Draft LDAP CSN February 2005
565 Appendix A. IANA Considerations
567 Registration of the following values is requested [RFC3383].
569 A.1. LDAP Object Identifier Registrations
571 It is requested that IANA register upon Standards Action an LDAP
572 Object Identifier in identifying the protocol elements defined in
573 this technical specification. The following registration template is
576 Subject: Request for LDAP OID Registration
578 Person & email address to contact for further information:
584 Specification: RFCXXXX
586 Author/Change Controller: IESG
590 Seven delegations will be made under the assigned OID:
592 IANA-ASSIGNED-OID.1 ChangeSequenceNumber: LDAP Syntax
594 IANA-ASSIGNED-OID.2 UTF8String: LDAP Syntax
596 IANA-ASSIGNED-OID.3 changeSequenceNumberMatch: LDAP Matching Rule
598 IANA-ASSIGNED-OID.4 utf8CodePointMatch: LDAP Matching Rule
600 IANA-ASSIGNED-OID.5 changeSequenceNumberOrderingMatch: LDAP
603 IANA-ASSIGNED-OID.6 utf8CodePointOrderingMatch: LDAP Matching Rule
605 IANA-ASSIGNED-OID.7 entryCSN: LDAP Attribute Type
607 A.2. LDAP Descriptor Registrations
609 It is requested that IANA register upon Standards Action the LDAP
610 descriptors described in this document. The following registration
616 Sermersheim & Chu Expires August 5, 2005 [Page 11]
618 Internet-Draft LDAP CSN February 2005
621 Subject: Request for LDAP Descriptor Registration
623 Descriptor (short name): ChangeSequenceNumber
625 Object Identifier: IANA-ASSIGNED-OID.1
627 Person & email address to contact for further information:
635 Specification: RFCXXXX
637 Author/Change Controller: IESG
639 Comments: LDAP Syntax
641 Subject: Request for LDAP Descriptor Registration
643 Descriptor (short name): UTF8String
645 Object Identifier: IANA-ASSIGNED-OID.2
647 Person & email address to contact for further information:
655 Specification: RFCXXXX
657 Author/Change Controller: IESG
659 Comments: LDAP Syntax
661 Subject: Request for LDAP Descriptor Registration
663 Descriptor (short name): changeSequenceNumberMatch
665 Object Identifier: IANA-ASSIGNED-OID.3
667 Person & email address to contact for further information:
672 Sermersheim & Chu Expires August 5, 2005 [Page 12]
674 Internet-Draft LDAP CSN February 2005
683 Specification: RFCXXXX
685 Author/Change Controller: IESG
687 Comments: LDAP Matching Rule
689 Subject: Request for LDAP Descriptor Registration
691 Descriptor (short name): utf8CodePointMatch
693 Object Identifier: IANA-ASSIGNED-OID.4
695 Person & email address to contact for further information:
703 Specification: RFCXXXX
705 Author/Change Controller: IESG
707 Comments: LDAP Matching Rule
709 Subject: Request for LDAP Descriptor Registration
711 Descriptor (short name): changeSequenceNumberOrderingMatch
713 Object Identifier: IANA-ASSIGNED-OID.5
715 Person & email address to contact for further information:
723 Specification: RFCXXXX
728 Sermersheim & Chu Expires August 5, 2005 [Page 13]
730 Internet-Draft LDAP CSN February 2005
733 Author/Change Controller: IESG
735 Comments: LDAP Matching Rule
737 Subject: Request for LDAP Descriptor Registration
739 Descriptor (short name): utf8CodePointOrderingMatch
741 Object Identifier: IANA-ASSIGNED-OID.6
743 Person & email address to contact for further information:
751 Specification: RFCXXXX
753 Author/Change Controller: IESG
755 Comments: LDAP Matching Rule
757 Subject: Request for LDAP Descriptor Registration
759 Descriptor (short name): entryCSN
761 Object Identifier: IANA-ASSIGNED-OID.7
763 Person & email address to contact for further information:
769 Usage: Attribute Type
771 Specification: RFCXXXX
773 Author/Change Controller: IESG
775 Comments: LDAP Attribute Type
784 Sermersheim & Chu Expires August 5, 2005 [Page 14]
786 Internet-Draft LDAP CSN February 2005
793 1800 South Novell Place
797 Phone: +1 801 861-3088
798 Email: jimse@novell.com
803 18740 Oxnard Street, Suite 313A
804 Tarzana, California 91356
807 Phone: +1 818 757-7087
840 Sermersheim & Chu Expires August 5, 2005 [Page 15]
842 Internet-Draft LDAP CSN February 2005
845 Intellectual Property Statement
847 The IETF takes no position regarding the validity or scope of any
848 Intellectual Property Rights or other rights that might be claimed to
849 pertain to the implementation or use of the technology described in
850 this document or the extent to which any license under such rights
851 might or might not be available; nor does it represent that it has
852 made any independent effort to identify any such rights. Information
853 on the procedures with respect to rights in RFC documents can be
854 found in BCP 78 and BCP 79.
856 Copies of IPR disclosures made to the IETF Secretariat and any
857 assurances of licenses to be made available, or the result of an
858 attempt made to obtain a general license or permission for the use of
859 such proprietary rights by implementers or users of this
860 specification can be obtained from the IETF on-line IPR repository at
861 http://www.ietf.org/ipr.
863 The IETF invites any interested party to bring to its attention any
864 copyrights, patents or patent applications, or other proprietary
865 rights that may cover technology that may be required to implement
866 this standard. Please address the information to the IETF at
870 Disclaimer of Validity
872 This document and the information contained herein are provided on an
873 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
874 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
875 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
876 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
877 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
878 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
883 Copyright (C) The Internet Society (2005). This document is subject
884 to the rights, licenses and restrictions contained in BCP 78, and
885 except as set forth therein, the authors retain all their rights.
890 Funding for the RFC Editor function is currently provided by the
896 Sermersheim & Chu Expires August 5, 2005 [Page 16]