Re: [vwrap] Networked Communication of Objects: some thoughts

Morgaine <morgaine.dinova@googlemail.com> Tue, 08 March 2011 12:10 UTC

Return-Path: <morgaine.dinova@googlemail.com>
X-Original-To: vwrap@core3.amsl.com
Delivered-To: vwrap@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8D7193A6868 for <vwrap@core3.amsl.com>; Tue, 8 Mar 2011 04:10:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.976
X-Spam-Level:
X-Spam-Status: No, score=-2.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gorCrwyTbTg0 for <vwrap@core3.amsl.com>; Tue, 8 Mar 2011 04:10:00 -0800 (PST)
Received: from mail-qw0-f44.google.com (mail-qw0-f44.google.com [209.85.216.44]) by core3.amsl.com (Postfix) with ESMTP id 481B43A6859 for <vwrap@ietf.org>; Tue, 8 Mar 2011 04:10:00 -0800 (PST)
Received: by qwh6 with SMTP id 6so4509361qwh.31 for <vwrap@ietf.org>; Tue, 08 Mar 2011 04:11:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=gJX0vkR8VvYGQroxhw/zyKNNNbfrT53xTE8jUBnkoXw=; b=DpWf9Sx6X9z4hUWc4Qk2QSQRfpbEPMCWq/L45Jmq4UtQZGsGxhBdusiCVa7DumwsEl pI0dHBhzGM32jbdHQOMlAEQKAArut9IPE1a3EcUCYK0AoPBv7LE1Ft79kHme6sVn2BAg 6ofH1hLPlmWbnu9f5sO4sxsts2NjAmV6sj17g=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=eJfWr5p0nb/z9RKgQu2pECQDBG6CifeiCoMH9e0Bho2pgMU7JgSgk/k4Z3OZHCL4Hi ckAuIVv5ceFIIRfyStQRWLXRn3jnJjmr87gWsd3P8cbcT7KH+vbIeb1iiAYv0SJv3PvI gz+3hyFj7V+i7n2Wh2JMYlfFco/6wotX6n0vU=
MIME-Version: 1.0
Received: by 10.229.135.208 with SMTP id o16mr3914192qct.129.1299586274754; Tue, 08 Mar 2011 04:11:14 -0800 (PST)
Received: by 10.229.222.70 with HTTP; Tue, 8 Mar 2011 04:11:14 -0800 (PST)
In-Reply-To: <4D75204B.3020903@cox.net>
References: <AANLkTinY3DGEhopPy8SCZQ1qG519Q1hJKwJEmTgBJxLT@mail.gmail.com> <AANLkTimFpEqh6qDR_FExVcodtQb3dPLyXXPPzUh8kqnS@mail.gmail.com> <4D75204B.3020903@cox.net>
Date: Tue, 08 Mar 2011 12:11:14 +0000
Message-ID: <AANLkTimpot2EESBBbdCbS2KC-FajtPj0QACQp2UWTNxb@mail.gmail.com>
From: Morgaine <morgaine.dinova@googlemail.com>
To: vwrap@ietf.org
Content-Type: multipart/alternative; boundary="00248c6a66d64304a0049df782d6"
Subject: Re: [vwrap] Networked Communication of Objects: some thoughts
X-BeenThere: vwrap@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual World Region Agent Protocol - IETF working group <vwrap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vwrap>
List-Post: <mailto:vwrap@ietf.org>
List-Help: <mailto:vwrap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vwrap>, <mailto:vwrap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 08 Mar 2011 12:10:02 -0000

Interesting points, Lawson.

As you know, IETF protocols are generally concerned with on-the-wire message
exchange, and hence they usually focus on message representation and message
sequencing, as opposed to language-dependent issues such as object
orientation or the syntax of messaging calls.  This has the colossal benefit
of making protocols usable from literally thousands of network-aware
languages.

In this group we are very strongly concerned with interoperability.
Language agnosticism of protocols provides an immense boost for interop ---
the Web would be a much poorer place if its protocols had been defined in
terms of its designers' favorite languages instead of using
language-agnostic messaging.  This is a benefit which we must not sacrifice
away.

Fortunately, your OO-focused suggestion can be incorporated quite easily
into a language-agnostic messaging protocol, because support for OO in a
network protocol requires nothing more than including sender and recipient
fields in each message to identify the source and target objects.  That's
easy.  UUIDs are perfectly adequate as object identifiers even on a
world-size scale.

If we take an on-the-wire ADT serialization of the LLSD kind, and we define
messages which include UUID fields as source/destination object identifiers,
this gives us a sufficient framework for expressing inter-object
communication not only between objects in different virtual worlds, but also
in a manner entirely independent of the languages in which those objects are
programmed.  It's even independent of computing paradigm.

On-the-wire message definitions are truly a lingua franca.  That's where we
need to go.


Morgaine.




=================================

On Mon, Mar 7, 2011 at 6:13 PM, Lawson English <lenglish5@cox.net> wrote:

>  For me, the best existing examples of networked objects are the
> Cobalt/Croquet implementations of David Reed's Teatime Architecture and the
> original Kansas collaborative environment from Sun. Of course, they were
> relatively easy to
> implement because the languages used, Smalltalk and Self, are OOP "all the
> way down," so there's no programmer skill required for sending messages to
> remote objects in different applications/computers because its all OOP
> messaging. You can fake the messaging in various ways with non-pure-OOP
> languages, and obviously when more than one language comes into play, things
> get more complicated.
>
> But, the basic relationships stay the same, even with multiple languages.
> Until you examine what is done with the pure OOP implementations of this
> idea, you're going to be limited in what you think can be done in this
> scenario (hint, its a lot more than you think... a LOT more) because you'll
> limit your ideas due to complications of the implementation.
>
> My own take is that virtual worlds should take an existing OOP
> implementation, like Teatime, and use it as the lingua franca for messaging
> between worlds. To the messaging system, its all TObjects passing messages
> back and forth. Within the TObject, the implementation can be done in any
> language on any hardware. The hard part, fully orthogonal message-passing
> between remote objects using existing network and IPC protocols, has already
> been solved by TeaTime, so why try to reinvent the wheel? Just use Squeak as
> the carrier for OOP interop between worlds and worry about the API between
> objects in terms of smalltalk message definitions.
>
> All else is implementation detail for the behavior of objects within the
> individual worlds, which is an already-solved problem.
>
> Boom. You're done.
>
>
> Lawson
>
>
>
> On 3/7/11 2:16 AM, Morgaine wrote:
>
> Christopher, your post
> http://www.ietf.org/mail-archive/web/vwrap/current/msg00528.html of a few
> weeks ago and its linked PDF gave me much food for thought.  Web-oriented
> communication with objects in virtual worlds is useful, but it seems to me
> that this is really just a subset of a larger field of interest:
> communication *between objects* in virtual worlds.
>
> It's rather remarkable that throughout the long AWG->OGP->MMOX->OGPX->VWRAP
> process, we never considered inter-object communication between VWs.  Yet,
> communication with and between VW objects is undoubtedly an important aspect
> of VW interop, as it provides essential mechanisms for integration.
>
> That was a failure on our part, probably caused by excessive familiarity
> with the largest commercial VW service, which unfortunately doesn't
> recognize the existence of other virtual worlds and the need to communicate
> with them.  We need to do better than this if we're trying to bring in a
> future of interop.
>
> Since we're already defining an abstract data type and some serialization
> formats to carry it, why don't we extend the role of these definitions to
> inter-object communication as well?  It's a relatively small step from LLSD
> to an LLSD-based messaging format --- the only additional requirement is a
> scheme for VW object addressing so that an LLSD-formatted message can reach
> the right object in the intended virtual world.
>
> I can think of several ways of achieving this in a flexible way, and
> numerous applications for it.  Perhaps it's worth discussing?
>
>
> Morgaine.
>
>
>
> =======================================
>
> On Sun, Jan 16, 2011 at 4:54 AM, L. Christopher Bird <zenmondo@gmail.com>wrote:
>
>> Before we turn off the lights...
>>
>> I have recently written a paper Entitled Networked Communication of Second
>> Life® Objects using LSL, php, and MySQL. And it can be found at
>> http://flynnos.org/Networked%20Communication%20of%20Second%20Life%20Objects.pdfIts short so I will wait while you read it.
>>
>> So this got me to thinking, though my application is specific to Second
>> Life, there is no reason that communication between objects in various grids
>> with non-persistent URLs could not be obtained with a simple extension to
>> this method.  Though my method specifically uses the LSL HTTP server (which
>> I believe up to this point is not reproduced in the OpenSimulator LSL clone)
>> any object in any virtual space that can send and receive HTTP requests
>> should be able to join in one of the networks described in the paper.
>>
>> The best part is that this is built on existing standards and all that is
>> needed  in any virtual world to implement something like this is an HTTP
>> channel to your virtual object.
>>
>> Thoughts? Criticisms? Comments?
>>
>> -- Christopher (ZenMondo)
>>
>> _______________________________________________
>> vwrap mailing list
>> vwrap@ietf.org
>> https://www.ietf.org/mailman/listinfo/vwrap
>>
>>
>
> _______________________________________________
> vwrap mailing listvwrap@ietf.orghttps://www.ietf.org/mailman/listinfo/vwrap
>
>
>
> _______________________________________________
> vwrap mailing list
> vwrap@ietf.org
> https://www.ietf.org/mailman/listinfo/vwrap
>
>