Printer Services Mail Archive: PS> RE: URI GUID example

PS> RE: URI GUID example

From: McDonald, Ira (imcdonald@sharplabs.com)
Date: Wed Dec 04 2002 - 15:27:23 EST

  • Next message: BERKEMA,ALAN C (HP-Roseville,ex1): "PS> [PSI]: next call 12/10/02"

    Hi Dave,

    Take a look at "A UUID URN Namespace":

    ftp://ftp.ietf.org/internet-drafts/draft-mealling-uuid-urn-00.txt

    (Note that this registration comes from the ISO JTC1 folks, this
    is solid).

    Numerous examples, and implementation details.

    Cheers,
    - Ira McDonald
      High North Inc

    ------------------------------------------------------------------
    [exerpts from "A UUID URN Namespace" draft]

    Abstract

       This specification defines a Uniform Resource Name namespace for
       UUIDs ( (Universally Unique IDentifier), also known as GUIDs
       (Globally Unique IDentifier). A UUID is 128 bits long, and if
       generated according to the one of the mechanisms in this document, is
       either guaranteed to be different from all other UUIDs/GUIDs
       generated until 3400 A.D. or extremely likely to be different
       (depending on the mechanism chosen). UUIDs were originally used in
       the Network Computing System (NCS) [1] and later in the Open Software
       Foundation's (OSF) Distributed Computing Environment [2].

       This specification is derived from the latter specification with the
       kind permission of the OSF. The original version of this document
       was written by Paul Leach and Rich Salz but was unpublished for
       several years. This is an updated version incorporated as part of
       the URN registration document.

    Table of Contents

       1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
       2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4
       3. Namespace Registration Template . . . . . . . . . . . . . . 4
       4. Specification . . . . . . . . . . . . . . . . . . . . . . . 7
       4.1 Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
       4.1.1 Variant . . . . . . . . . . . . . . . . . . . . . . . . . . 7
       4.1.2 UUID Layout . . . . . . . . . . . . . . . . . . . . . . . . 8
       4.1.3 Version . . . . . . . . . . . . . . . . . . . . . . . . . . 9
       4.1.4 Timestamp . . . . . . . . . . . . . . . . . . . . . . . . . 10
       4.1.5 Clock sequence . . . . . . . . . . . . . . . . . . . . . . . 10
       4.1.6 Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
       4.1.7 Nil UUID . . . . . . . . . . . . . . . . . . . . . . . . . . 11
       4.2 Algorithms for creating a time-based UUID . . . . . . . . . 12
       4.2.1 Basic algorithm . . . . . . . . . . . . . . . . . . . . . . 12
       4.2.2 Reading stable storage . . . . . . . . . . . . . . . . . . . 13
       4.2.3 System clock resolution . . . . . . . . . . . . . . . . . . 13
       4.2.4 Writing stable storage . . . . . . . . . . . . . . . . . . . 14
       4.2.5 Sharing state across processes . . . . . . . . . . . . . . . 14
       4.2.6 UUID Generation details . . . . . . . . . . . . . . . . . . 14
       4.3 Algorithm for creating a name-based UUID . . . . . . . . . . 15
       5. Algorithms for creating a UUID from truly random or
             pseudo-random numbers . . . . . . . . . . . . . . . . . . . 16
       6. Byte order of UUIDs . . . . . . . . . . . . . . . . . . . . 17
       7. Node IDs when no IEEE 802 network card is available . . . . 17
       8. Obtaining IEEE 802 addresses . . . . . . . . . . . . . . . . 19
       9. Community Considerations . . . . . . . . . . . . . . . . . . 19
       10. Security Considerations . . . . . . . . . . . . . . . . . . 20
       11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20
             Normative References . . . . . . . . . . . . . . . . . . . . 20
             Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 21
       A. Appendix A - UUID Sample Implementation . . . . . . . . . . 21
       B. Appendix B - Sample output of utest . . . . . . . . . . . . 33
       C. Appendix C - Some name space IDs . . . . . . . . . . . . . . 33
             Full Copyright Statement . . . . . . . . . . . . . . . . . . 35

    -----Original Message-----
    From: HALL,DAVID (HP-Vancouver,ex1) [mailto:dhall@hp.com]
    Sent: Wednesday, December 04, 2002 10:47 AM
    To: 'McDonald, Ira'
    Subject: URI GUID example

    Hey Ira...

    We're moving forward with the sample implementation, and are having a hard
    time figuring out what a String representation of a GUID would be...

    Do you have a link to, or can you make some examples?

    Would it look like this:?

    GUID://myserver.mydomain/{12321-23123-231adfe-321f}

    Thanks!

    Dave



    This archive was generated by hypermail 2b29 : Wed Dec 04 2002 - 15:27:37 EST