[info] [croquet-dev] Few quick questions about Croquet Router facets.

Eugen Leitl <eugen at leitl.org> on Mon Nov 12 14:45:52 UTC 2007

----- Forwarded message from Howard Stearns <howard.stearns at qwaq.com> -----

From: Howard Stearns <howard.stearns at qwaq.com>
Date: Mon, 12 Nov 2007 08:21:01 -0600
To: croquet-dev at duke.edu
Subject: Re: [croquet-dev] Few quick questions about Croquet Router facets.
User-Agent: Thunderbird 2.0.0.6 (Windows/20070728)
Reply-To: croquet-dev at duke.edu, Howard Stearns <howard.stearns at qwaq.com>

I've learned from David Reed and from Andreas to think of the developing 
Croquet abstractions as "invention in public." Some abstractions are 
quite clearly defined (e.g., island replication), yet there are still 
plenty of areas to be developed, and anyone's ideas are just as valid as 
anyone elses. It's sometimes hard to know the difference between what's 
been worked out and what has not.

At this moment, I think there is some basic, customizable machinery for 
gaining admittance to a collaboration, and for knowing how things 
operate after that. For example, as I understand it, the initial 
connection to the router is the application programmer's responsibility, 
and the hooks are designed to allow you to follow various well-known 
mechanisms for doing so. Assuming that this initial connection is 
secure, the existing machinery encrypts traffic using a per-user, 
per-session key so that observers can't peek, and per-user, per-session 
facets so that others can't forge.

But what things should have their own facet? My undestanding of the 
simple model so far is that the model does not distinguish capabilities 
within the replication: Messages to the router itself have individual 
facets, but messages to replicated objects that are merely forwarded 
through the router all use the same facet.

This supports the idea of an island as a symmetric group of peers, but 
it doesn't limit you to that. It sounds like you are thinking that 
replicated messages to on-island objects should have individual facets. 
I wondered about that, too. But I'm not completely clear on what problem 
that would solve. For example, if I don't trust logged-in participants 
to send valid messages, then I'm not sure I want them denying service by 
sending any messages. And I think the hard part of what you describe is 
not implementing facet messaging, but implementing facet management. 
(What facets do I have? How did I get them? How do I lose them?) But if 
individual facets for replicated object/messages are the right thing for 
some specific application, then by all means, do it! Let us know how it 
goes!


-Howard

Baldur Johannsson wrote:
>On 11/11/2007, Andreas Raab <andreas.raab at gmx.de> wrote:
>>Baldur Johannsson wrote:
>>>On 11/11/2007, Andreas Raab <andreas.raab at gmx.de> wrote:
>>>>Baldur Johannsson wrote:
>>>>> I am wondering for the reason of why facets are 128 bit as the set of
>>>>>facets are often inside 256 at any given time.
>>>>To create unguessable IDs.
>>>>
>>>Why would unguessable IDs for facets be required?
>>So that they cannot be fabricated by guessing about the ID.
>>
>>>Isnt the mapping from an facet ID to facets local to each Router Client?
>>No.
>>
>Hmm... but the router checks if an TMessageRouterClient has that facet
>in its facet dictionary, yes?
>>>>>So why dont we hit two flies in one blow by dynamicly mapping
>>>>>TObjectIDs and selectors of invocations of TFarRef futureSend: onto
>>>>>Croquet Router facets there by lower the bandwith usage and instating
>>>>>POLA for those objects in TIslands?
>>>>I have no idea what you mean by that.
>>>>
>>>Ah, my mistake of not expanding the acronym of POLA which stands for
>>>Principle Of Least Authority/Access. (Dont give an program more access
>>>than it needs to run and do its task)
>>I know what POLA stands for. What I don't get is is what you mean by
>>"dynamicly mapping TObjectIDs and selectors of invocations of TFarRef
>>futureSend: onto Croquet Router facets there by lower the bandwith usage
>>and instating POLA for those objects in TIslands".
>>
>Mapping of ((TMessageData reciver) (TMessageData selector)) onto an
>router facet is what I was meaning. So instead of an remote client
>using the send facet to send an replicated message it would use an
>facet spefic for that reciver selector pair.
>
>>>I hope that I am not trying your patience with these questions and ideas.
>>>If I do then please notify me so I can stop pestering you.
>>You aren't. I just have no idea what you're trying to say.
>>
>And I am trying as hard as I can to clarify.
>But sometimes one has proplem serializing ones ideas into text ;-)

----- End forwarded message -----
-- 
Eugen* Leitl <a href="http://leitl.org">leitl</a> http://leitl.org
______________________________________________________________
ICBM: 48.07100, 11.36820 http://www.ativel.com http://postbiota.org
8B29F6BE: 099D 78BA 2FD3 B014 B08A  7779 75B0 2443 8B29 F6BE

More information about the info mailing list