[ogpx] Limits to interoperability of scripted objects
Morgaine <morgaine.dinova@googlemail.com> Tue, 27 October 2009 05:15 UTC
Return-Path: <morgaine.dinova@googlemail.com>
X-Original-To: ogpx@core3.amsl.com
Delivered-To: ogpx@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix)
with ESMTP id C9EB73A67F2 for <ogpx@core3.amsl.com>;
Mon, 26 Oct 2009 22:15:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.595
X-Spam-Level:
X-Spam-Status: No, score=-1.595 tagged_above=-999 required=5 tests=[AWL=0.381,
BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
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 qdDiURdR6YV2 for
<ogpx@core3.amsl.com>; Mon, 26 Oct 2009 22:15:30 -0700 (PDT)
Received: from mail-ew0-f208.google.com (mail-ew0-f208.google.com
[209.85.219.208]) by core3.amsl.com (Postfix) with ESMTP id 022343A635F for
<ogpx@ietf.org>; Mon, 26 Oct 2009 22:15:29 -0700 (PDT)
Received: by ewy4 with SMTP id 4so4321160ewy.37 for <ogpx@ietf.org>;
Mon, 26 Oct 2009 22:15:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma;
h=domainkey-signature:mime-version:received:date:message-id:subject
:from:to:content-type; bh=YTHtWcZpbztV58Waxf7l8U0aA0EkyKOv8qym5Q4ZC38=;
b=ifGVwyNXq4inuR9ZQj9cfy28RUYmy8XExHIgKVMfNPKnC56ypMYbeSvxFdhSYzNXuZ
l5dkFN9wkraj2F95cUSEjc5FDGMS3VSPqSBDuvNbBuH/QkeMf6dtl7qsJIDSKPSrHuta
5hs/sa6NPOp+WeyZETENFwar8hMbiWucGSw3M=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma;
h=mime-version:date:message-id:subject:from:to:content-type;
b=rhKeR27q5+gRXATwJldrKQRJHgN9doMKiikimxFaON/6F/DFZnQ2Ql75r1GWMHXVCZ
GPOFzeAM7QTtwOpata+GzsVoMqazrunjpAMkf5CI/pDY3BFwEuB4ANQ2iBO8eV5geWar
TMVk0/ll3iLvHxV2mQO0fOfaetwZYSRTV/MsE=
MIME-Version: 1.0
Received: by 10.216.87.7 with SMTP id x7mr4100931wee.53.1256620541414;
Mon, 26 Oct 2009 22:15:41 -0700 (PDT)
Date: Tue, 27 Oct 2009 06:15:41 +0100
Message-ID: <e0b04bba0910262215td0cf125lb3129947e8f81891@mail.gmail.com>
From: Morgaine <morgaine.dinova@googlemail.com>
To: ogpx@ietf.org
Content-Type: multipart/alternative; boundary=001636c5b1e2fd0d9d0476e3c47e
Subject: [ogpx] Limits to interoperability of scripted objects
X-BeenThere: ogpx@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual Worlds and the Open Grid Protocol <ogpx.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ogpx>,
<mailto:ogpx-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ogpx>
List-Post: <mailto:ogpx@ietf.org>
List-Help: <mailto:ogpx-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ogpx>,
<mailto:ogpx-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Oct 2009 05:15:31 -0000
There has been some mention here of script state transfer between regions on teleport over the last week. Some caution may be needed. VWRAP has not (yet) examined object scripting, and therefore to discuss transfer of script states has very little concrete meaning at the moment. Unfortunately the situation is worse than merely "not yet known", because as things stand today, there is very little likelihood that script states are interoperable at all. Script state is intrinsically linked to scripting engine implementation, and there is no proposal on the table for standardizing on a common scripting engine implementation for use by interoperating parties. The only reason why script state is maintained across region handovers or teleports in Second Life is because all the regions use the same scripting engines. The same is true for script state movement between regions in Opensim-based worlds. However, you can't transfer script states between SL and Opensim regions because they use different scripting engines with different state requirements, even when using a common scripting language. It's easy enough to conceive of a mechanism by which script states *could*be made portable irrespective of varying scripting engine implementations: it just requires an extensible state descriptor unit (SDU) to be defined using a portable ADT such as LLSD, thus making state transfer portable at the protocol level. Unfortunately this just passes the problem along to the language and scripting engine implementers who then have to map their incompatible scripting engines to a common SDU. While this is certainly possible, it doesn't get us much closer to effective interop for script states. While the above is bad enough, unfortunately it gets worse still. Object scripts interact with the local simulator environment, and that environment is: - undefined except by common practice, - continually changing under pressure from progress and policy, - semantically different in different worlds because the implementations differ, - programmatically different because the set of callable functions differs among interoperable worlds. What the above boils down to is that, without wholesale new design in this area, VWRAP is not going to be able to deliver continuity of script states across teleports between regions in different worlds, because neither the mechanisms nor the common environments are there to support this. Being pragmatic about the situation, if we wish to see interop of scripting in the relatively near future, we need to find an approach that is inherently interoperable. Here are some ideas that might be relevant to this end (these are alternatives, they don't all apply simultaneously): 1. Make script state transfer a deployment option: both source and destination regions have to allow script state transfer for it to happen. 2. Worlds running different scripting engine implementations do not transfer state and hence scripts are initialized on teleport. 3. Define a common scripting language and virtual machine environment --- ie. a web-like Javascript approach but for regions. 4. If script state continuity is desired on teleports between worlds running different script engines, let such scripts run client-side. Points 1 and 2 offer near-term solutions, but the functionality varies depending on the particular deployment. Points 3 and 4 offer much broader functionality, but have a much larger design effort penalty that is probably beyond our present scope. Morgaine.
- [ogpx] Limits to interoperability of scripted obj… Morgaine
- Re: [ogpx] Limits to interoperability of scripted… Joshua Bell
- Re: [ogpx] Limits to interoperability of scripted… Morgaine
- Re: [ogpx] Limits to interoperability of scripted… Lawson English
- Re: [ogpx] Limits to interoperability of scripted… Joshua Bell
- Re: [ogpx] Limits to interoperability of scripted… Carlo Wood
- [ogpx] Synchronization of gestures (was: Limits t… Carlo Wood
- Re: [ogpx] Limits to interoperability of scripted… Morgaine
- Re: [ogpx] Synchronization of gestures (was: Limi… Carlo Wood
- Re: [ogpx] Synchronization of gestures (was: Limi… Han Sontse
- Re: [ogpx] Synchronization of gestures (was: Limi… Carlo Wood
- Re: [ogpx] Synchronization of gestures (was: Limi… Carlo Wood
- Re: [ogpx] Synchronization of gestures Lawson English
- Re: [ogpx] Synchronization of gestures Carlo Wood
- Re: [ogpx] Synchronization of gestures (was: Limi… Nexii Malthus
- Re: [ogpx] Synchronization of gestures (was: Limi… Carlo Wood