It's a UUID.
Display names are *never* used as identifiers in OpenSim. They're just human-friendly tags that usually take the value of the user account name, but that can change at any time if you happen to land in a simulator with a sense of humor :)

And in the HG, UUIDs themselves are also 'unique' in the sense that the Gatekeepers don't let agents come in, that happen to claim a UUID of a local user.

Karen Palen wrote:
I would lobby for the "user id" being a UUID rather than a string simply because of the uniqueness of the UUID.

For example I use "Karen Palen" as userid on more than a dozen grids and several email addresses (Karen has even been issued a Credit Card!!!). Need I add that "Karen Palen" is a pseudonym, :-)

I am very concerned about the potential for resolution problems, especially where the same id was previously used in several places which are now part of some unified naming convention.

There seem to be four cases:

1) lookup http://authority... - get a valid update
2) http://authority... does not exist (temporary or permanent) - cache not updated, use the latest information available after checking the URL mapping (below) 3) http://authority... changed to another URL - update the URL and save the URL mapping for other references to "http://authority"; 4) http://authority... resolves to more than one "authority". Possibly due to malfeasance (spoofing), more likely due to several changes in "http://authotity"; over time and outdated information. - resolve this ambiguity by reference to other users of "http://authority";.

In the most pathological case of (4) several "authorities" will respond as valid, requiring some sort of probabilistic resolution - "most likely" the most recent "authority" provided that 90+% (or whatever) of UUIDs referring to "authority" now resolve to this authority. This implies several unresolvable possibilities and a high probability of picking the wrong one!

Case 4 should be very rare if a UUID is used, but quite common if a common name (like "Karen Palen") is used!

In real life me exact name "googles" to 25 people in the Phoenix area, at one time I had a namesake working in the same building as me! A literature search is even worse, my "tribe" seem to be prolific authors with many papers in biotech, medicine, computer science, electrical engineering, and several other fields. One of them is a member of the US Congress!

Much as we like to think otherwise, our names are NOT unique!

Karen

On Mon, Aug 30, 2010 at 3:38 PM, <d...@metaverseink.com <mailto:d...@metaverseink.com>> wrote:

    OK, so here's the form of the URI that will start showing up in the
    [non-Simian] DBs soon, specifically in the GridUser table:
    http://authority/user/user_id/First+Last

    Yes?

    I suspect that SimianGrid will take things like
    LoggedIn(string userID) and
    StoreGridUserInfo(GridUserInfo info)

    and create user accounts for these if they don't exist, because I
    think SimanGrid collapses the 2 concepts. Just keep in mind that
    you'll soon be receiving URLs of the form above as arguments.

    I agree with Melanie that not adding the display name is a missed
    opportunity for caching, but I'm willing to write up code that
    accounts for it being optional for all the grid operators who would
    rather have the extra lookups coming their way.


    Hurliman, John wrote:

        If we are still on the same page, there should never be a case
        where something could be either a local identifier (UUID) or a
        global identifier (URL). The context is always clear, where
        cross-grid communication and exported content uses only global
        identifiers and all intra-grid communication uses only local
        identifiers. If a sim wants to resolve the creator of a prim it
        uses a single path, the UUID->Profile (aka display name) API
        call which takes advantage of all the caching and optimizations
        we've built into OpenSim. There is no ambiguity there or
        potential for the code to take a slower or less tested path. The
        discussion is about communication outside of the local grid
        context, when you are exporting content or moving people or
        content between grids. In every use case there I think it makes
        sense to always use global identifiers, or at least a clear path
        to build a global identifier.

        John

            -----Original Message-----
            From: opensim-dev-boun...@lists.berlios.de
            <mailto:opensim-dev-boun...@lists.berlios.de>
            [mailto:opensim-dev- <mailto:opensim-dev->
            boun...@lists.berlios.de <mailto:boun...@lists.berlios.de>]
            On Behalf Of Melanie
            Sent: Monday, August 30, 2010 2:30 PM
            To: opensim-dev@lists.berlios.de
            <mailto:opensim-dev@lists.berlios.de>
            Subject: Re: [Opensim-dev] Global identifiers

            I think we already have a perfectly good field, which is a
            UUID for
            local users and a URL for remote ones.

            Melanie

            Serendipity Seraph wrote:

                 On 8/30/10 2:09 PM, d...@metaverseink.com
                <mailto:d...@metaverseink.com> wrote:

                    Hurliman, John wrote:

                        My interpretation (please correct me if I'm
                        wrong) is that there is
                        rough consensus on the overall strategy, but an
                        open question of

            how

                        to encode global identities when cross-grid
                        communication (or
                        out-of-grid archiving) happens.

                    That's what's going on.
                    Up to now, all global identifiers (that already
                    exist) have been
                    volatile; nothing has persisted. As I found myself
                    writing code that
                    would inject global identifiers into a DB table, I
                    thought we should
                    all talk about the form of such identifiers.

                        There is probably also a hidden question of how
                        to mark a local
                        account as linked to a foreign identity, which
                        may solve the
                        friending issue. If I am friends with your
                        avatar and we are both

            on

                        grid B but your avatar actually originated from
                        grid A, that link

            in

                        the profile is what can tip off the presence
                        service to try a

            remote

                        presence check (assuming the user is not online
                        in the local grid).
                        My only interest in these low level questions
                        like how the global
                        identifiers and profile links look is what the
                        final decision is so

            I

                        can implement it in the OpenSim SimianGrid
                        connectors.

                    Well, we distinguish "user accounts" from "grid
                    users" -- these are

            2

                    different interfaces, although implementers may
                    decide to collapse
                    them. But they are different concepts. User accounts
                    are the
                    locally-registered users; in some cases, like for
                    example, the UCI
                    grid, there's only some people who can get accounts
                    there, namely
                    people associated with the university. Grid users
                    are users that are
                    referenced by things that happen in the grid. So we
                    already have an
                    interface for that, although now I'm thinking that
                    perhaps we need

            to

                    separate its UserID field into 2 things: a local
                    UUID and a

            reference

                    to the external name. And I guess that's my main
                    issue at this

            point.

                It seems more reasonable in a distributed system to say
                that an X is

            an

                X - a User is a User, whether they originally were
                instantiated on a
                local or a remote system.   So I would go for collapsing
                the two as

            much

                as possible as a matter of policy.  Otherwise freedom to
                move between
                nodes in the system is more limited and there is more
                special case

            logic

                to deal with.    But that is speaking from a general
                distributed
                computing perspective.  There may be many Opensim
                details that make

            that

                seemingly ideal position in practice rather naive.

                - s

                _______________________________________________
                Opensim-dev mailing list
                Opensim-dev@lists.berlios.de
                <mailto:Opensim-dev@lists.berlios.de>
                https://lists.berlios.de/mailman/listinfo/opensim-dev


            _______________________________________________
            Opensim-dev mailing list
            Opensim-dev@lists.berlios.de
            <mailto:Opensim-dev@lists.berlios.de>
            https://lists.berlios.de/mailman/listinfo/opensim-dev

        _______________________________________________
        Opensim-dev mailing list
        Opensim-dev@lists.berlios.de <mailto:Opensim-dev@lists.berlios.de>
        https://lists.berlios.de/mailman/listinfo/opensim-dev

    _______________________________________________
    Opensim-dev mailing list
    Opensim-dev@lists.berlios.de <mailto:Opensim-dev@lists.berlios.de>
    https://lists.berlios.de/mailman/listinfo/opensim-dev


_______________________________________________
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to