Re: [ogpx] Synchronization of gestures (was: Limits to interoperability of scripted objects)

Carlo Wood <carlo@alinoe.com> Wed, 20 January 2010 14:22 UTC

Return-Path: <carlo@alinoe.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 5768128C0CE for <ogpx@core3.amsl.com>; Wed, 20 Jan 2010 06:22:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.058
X-Spam-Level:
X-Spam-Status: No, score=-1.058 tagged_above=-999 required=5 tests=[AWL=0.372, BAYES_00=-2.599, HELO_EQ_AT=0.424, HOST_EQ_AT=0.745]
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 mgH6xC-PZfgq for <ogpx@core3.amsl.com>; Wed, 20 Jan 2010 06:22:46 -0800 (PST)
Received: from viefep19-int.chello.at (viefep19-int.chello.at [62.179.121.39]) by core3.amsl.com (Postfix) with ESMTP id C865B28C0D7 for <ogpx@ietf.org>; Wed, 20 Jan 2010 06:22:45 -0800 (PST)
Received: from edge02.upc.biz ([192.168.13.237]) by viefep19-int.chello.at (InterMail vM.7.09.01.00 201-2219-108-20080618) with ESMTP id <20100120142240.FFMB4655.viefep19-int.chello.at@edge02.upc.biz>; Wed, 20 Jan 2010 15:22:40 +0100
Received: from mail9.alinoe.com ([77.250.43.12]) by edge02.upc.biz with edge id XqNe1d0Ax0FlQed02qNfmC; Wed, 20 Jan 2010 15:22:40 +0100
X-SourceIP: 77.250.43.12
Received: from carlo by mail9.alinoe.com with local (Exim 4.71) (envelope-from <carlo@alinoe.com>) id 1NXbSA-0004JO-Bx; Wed, 20 Jan 2010 15:22:38 +0100
Date: Wed, 20 Jan 2010 15:22:38 +0100
From: Carlo Wood <carlo@alinoe.com>
To: Nexii Malthus <nexiim@googlemail.com>
Message-ID: <20100120142238.GA16038@alinoe.com>
References: <e0b04bba0910262215td0cf125lb3129947e8f81891@mail.gmail.com> <f72742de0910270951x6b4536d8wef165e850ba16ef8@mail.gmail.com> <e0b04bba0911091956j5edc4840pd5a32d98eff3776e@mail.gmail.com> <4AF8ECDE.2010900@cox.net> <f72742de0911100919r76c337b6i980736db91f7f53c@mail.gmail.com> <20091110201157.GA10861@alinoe.com> <20091110204155.GA5757@alinoe.com> <20091111101216.GB5757@alinoe.com> <824c8ab71001200413x3d017affn168c9f615bddf4cb@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <824c8ab71001200413x3d017affn168c9f615bddf4cb@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Cc: ogpx@ietf.org
Subject: Re: [ogpx] Synchronization of gestures (was: 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: Wed, 20 Jan 2010 14:22:53 -0000

On Wed, Jan 20, 2010 at 12:13:18PM +0000, Nexii Malthus wrote:
> Okay, this is a fancy idea. But I think it seems to miss the entire point.
> 
> Basically what you are doing is attempting to cope with a faulty
> system by implementing a hack on top of it. It isn't the way to go.

This idea deals ONLY with timing issues and permissions, it is completely
orthogonal to how animations are implemented.

Even if you design and use a completely different way to animate
avatars, my idea still holds (as it holds also for playing sounds,
which aren't even animations!).

The idea deals exclusively with timing and handshakes to get permission
and synchronization right. You can change the way animations work
in any way you like, this sheme will still be needed.

As I wrote in my post, I just used "animation" as example. You
can replace it with a more abstract word if you wish.

[..snip..]

I editted the first part of this code:

> > [A preloads animation/sound/whatever_data_needed (etc)]
> > A         --requests to run script on B,
> >            if the script is needing permissions, for example
> >            "animate B with xyz", it sends that request to
> >            the simulator.  Permission request-->        simulator
> > simulator --A requests to run script,
> >            needing permissions "animate B with xyz"--> B
> > [B starts preloading needed data]
> > simulator --preload data needed for xyz-->             C
> > [C starts preloading needed data]
> > B         --OK-->                                       simulator
> > simulator --script-->                                   B
> > simulator --Ready?-->                                   A,B,C
> > A         --Ready-->                                    simulator
> > B         --Ready-->                                    simulator
> > C         --Ready-->                                    simulator
> > simulator --GO-->                                       A,B,C
> > [all viewers run the script]
> >
> >
> > Now, although EVERYTHING can be implemented from here on with
> > "running client-side scripts" (possibly predefined, permanently
> > cached scripts), I'd personally add one more step to seperate
> > the 'voting' mechanism from 'running a script'.
> >
> > I think the most general support would be to first define
> > that some handle means "play script needing those permissions",
> > and then run the voting protocol, including it's timeout
> > and permission-denied policies, using that handle; in that
> > case the voting would look like:
> >
> >
> > * Define what we vote on, and what are the timeout/permission-denied
> >  policies, and obtain voting-handle
> >
> > * Handle preloading (tell everyone that they might need these assets).
> >
> > * Ask for permissions
> > * Wait for permissions and/or timeouts
> >
> > * Inform viewers of result about voting-handle
> >
> > * Wait for preload-ready signals
> > * Inform viewers that everyone is ready and we have a 'go'.
> >
> > * All viewers do as agreed, resulting in a mutally synchronized
> >  experience.

-- 
Carlo Wood <carlo@alinoe.com>