Re: [vwrap] Definition of "Virtual World", in a protocols context
Carlo Wood <carlo@alinoe.com> Wed, 22 September 2010 15:14 UTC
Return-Path: <carlo@alinoe.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 D6B7628C0EA for <vwrap@core3.amsl.com>;
Wed, 22 Sep 2010 08:14:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 3.063
X-Spam-Level: ***
X-Spam-Status: No,
score=3.063 tagged_above=-999 required=5 tests=[BAYES_50=0.001,
FAKE_REPLY_C=2.012, SARE_TOWRITE=1.05]
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 JuwjwVfMgDgd for
<vwrap@core3.amsl.com>; Wed, 22 Sep 2010 08:14:06 -0700 (PDT)
Received: from fep13.mx.upcmail.net (fep13.mx.upcmail.net [62.179.121.33]) by
core3.amsl.com (Postfix) with ESMTP id 259DD28C114 for <vwrap@ietf.org>;
Wed, 22 Sep 2010 08:13:50 -0700 (PDT)
Received: from edge05.upcmail.net ([192.168.13.212]) by viefep13-int.chello.at
(InterMail vM.8.01.02.02 201-2260-120-106-20100312) with ESMTP id
<20100922151416.GZCN1353.viefep13-int.chello.at@edge05.upcmail.net> for
<vwrap@ietf.org>; Wed, 22 Sep 2010 17:14:16 +0200
Received: from mail9.alinoe.com ([77.250.43.12]) by edge05.upcmail.net with
edge id 9rEE1f04z0FlQed05rEFER; Wed, 22 Sep 2010 17:14:16 +0200
X-SourceIP: 77.250.43.12
Received: from carlo by mail9.alinoe.com with local (Exim 4.72) (envelope-from
<carlo@alinoe.com>) id 1OyPDA-0004dW-0q for vwrap@ietf.org;
Wed, 22 Sep 2010 15:18:12 +0200
Date: Wed, 22 Sep 2010 15:18:12 +0200
From: Carlo Wood <carlo@alinoe.com>
To: vwrap@ietf.org
Message-ID: <20100922131812.GA14700@alinoe.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.20 (2009-06-14)
X-Cloudmark-Analysis: v=1.1 cv=V15LrGZDFsIOLQGhFSBQucROxfiwgIeIJ7AmZ+xKGd4=
c=1 sm=0 a=sf7Vj8PguKwA:10 a=lF6S9qf5Q1oA:10 a=kj9zAlcOel0A:10
a=xOd6jRPJAAAA:8 a=cfHPFXhNAAAA:8 a=awljLMwJAAAA:8 a=BjFOTwK7AAAA:8
a=fCeZQui9XPft5vzOj_8A:9 a=N9scwd7wtmiLZ5gnw-cA:7
a=TWVpRv5-Q0ZL2qpwSJeuXh44B7IA:4 a=CjuIK1q_8ugA:10 a=Z3ufexD-yL4A:10
a=hYgao2WxYUcA:10 a=VzHvGEGFge0A:10 a=bW3kdApBr58A:10 a=lWMCziIvmFUkUFgB:21
a=55XsgrAqv5Dkv2CV:21 a=HpAAvcLHHh0Zw7uRqdWCyQ==:117
Subject: Re: [vwrap] Definition of "Virtual World", in a protocols context
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: Wed, 22 Sep 2010 15:14:08 -0000
As you might have noticed, I stopped writing to this list a while ago (and reading it I must admit). The reason for that being that I "gave up". I had the strong feeling that people don't listen and any time invested in this project from my side is wasted. Nevertheless, I decided to write another post... So, why would you listen to me? Who am I? I can only answer that with something that will sound rather arrogant, but I assure you, are just facts, not opinions: It is not uncommon for me to understand things that everyone else around me seems to miss (until they listen to me). I've been tested officially (with an official test, in an official test room by an official psychologist) to have an average intelligence in the top 0.01% of the general population. But I REALLY have a gift for the things: abstract comprehension, spacial insight and analytic insight. Imho, the latter matters in this case. I've also experience with related matters (see http://www.xs4all.nl/~carlo17/irc/run-irc.htm). The things in the design for IRC that map 100% to a protocol for VW's are... well, almost everything: targets, (routing?), uniqueness, scalability, flow control, Identities,... And the same holds for other design issues. In other words, years of thought and experience. ======================================================== Back to VWRAP. There are a lot commonalities between "the web" with http as the protocol, and VWRAP. It's absolutely not the same, but it seems an access point to understanding that works with most people. Down to earth, we are and will be dealing with (virtual) servers: machines on the internet with some IP number (ipv4 or ipv6 who cares). The most important difference between those servers is and will be who controls them. That can be an individual, or an organisation. For common understanding lets say that servers that belong to the same "who controls it"-class have an internet domain name that is the same. Remember, this is just a model to allow understanding. [In reality it's not the virtual server that is the smallest element in the whole, but the applications running on them. And then I don't even mention that I left the viewers (clients) out, although you can call them 'server' too if you wish. Clients are "leafs" (sort of) however, and therefore not a source of great confusion here. For the purpose of understanding we can (work with a model that) assume(s) that applications running on the same machine and that have the same IP number -- or even that have different IP numbers but with the same internet domain (ie, if both run in a virtual server each with their own IP number) -- are controlled by the same organisation.] Conclusion: it is very workable, for understanding and analysis purposes, to consider applictions running on servers with IP numbers in the same internet domain to be controlled by the same organisation. I'm sorry to overload your terminology, but let me call this simply a DOMAIN from now on (in this post). A (network) "protocol" is a language for communication between *applications*, however it has never been needed to have a *standard* for a protocol used within one and the same DOMAIN. Examples are secondlife.com, efnet.org, etc. Put very simplistically, that is because every server within a given DOMAIN runs the same (version of) application, and therefore automatically use the same protocol-- defined by the source code of the application (it is communicating with itself so to say). Here the special role of the viewers comes into play: the viewers are in many cases not directly controlled by the same organisation (after all, they run on machines owned by others, not by that organisation), which DOES give rise to the need of a client-server protocol document, but not as much as we need (see below) because the DOMAIN owner usually has a lot of power and can control which clients connect... I use(d) DOMAIN here, surely colliding with the meaning of that word ELSEWHERE, because I don't want to type "Applications connected over a network, most likely the internet, and communicating using some protocol, whose version, and therefore the protocol (version) is controlled by a single entity (called 'organization' above)" every time. We must realize however that this model so far is FUZZY. It is NOT exactly defined. We already saw the problem of needing a protocol document "some how" for the client-server protocol (although one approach is to release binary clients by the SAME organisation). But at least as important, probably even MORE important is the fact that a protocol evolves over time: it changes! Lets call this a "protocol version", even though the protocol may not be clearly documented and as a result doesn't really have a version. But wait, we only have ONE domain (so far) and thus the SAME server application everywhere and since that controls which clients can connect, there is hardly a difference between the *application* version of the server, and the protocol version. In this model, with a single DOMAIN, it is almost trivial to "solve" the protocol changes over time by constantly having at most two *server* versions running: N and N+1 and making sure they are compatible. Then it is possible to "slowly" migrate from 'protocol' version N to N+1, by upgrading the servers one by one from version N to N+1, and so on. ---------------------------------------------------- Our Problem I've seen the question on this list 'what we are doing' too many times. "What are virtual worlds?", "how many virtual worlds do we have?"... Blah. Forget all that. Empty your mind and just consider the text that I wrote above. What problem do we REALLY face here? When designing VWRAP. ... I almost decided to mail this post right here, because if it isn't obvious at this point you will never get it. Nevertheless, let me continue. The goal of this commitee is to design a well documented protocol to allow communication of applications from *different* DOMAIN's (as defined above). And that opens a lot of cans with worms: 1 The protocol suddenly becomes static. It cannot be upgraded anymore (unless we specifically builtin a method for that!) 2 The trust (level) between DOMAINS comes into play, which was non-existent before. 3 There might be differences between DOMAINS: from the fact that they run their own server implementations that are radically different from the others (no more version N and N+1, or anything that compares) to any thinkable difference at any level of the whole experience. It is our goal to define and write a protocol that addresses these three things. In general terms the solutions are: 1 Include protocol negotiation IN the protocol, to allow the protocol to evolve (slowly change over time). 2 While writing out the protocol details, keep in mind that we can't necessarily trust the other server. 3 Make the protocol as flexible as possible for possible differences between DOMAINS, without making a finite list of those possibilities. Imho opinion-- ok, not so humble-- point 3 is nearly the same as point 1: It can ONLY be satisfactory solved with protocol negotiations. That will allow *future* differences to be resolved that we can't take into account at this moment. -------------------------------------------------------- Prologue If one considers the virtual experience while connected with a server of a given DOMAIN to be "the same", and this experience is (slighty) different while connected to a server of another DOMAIN (because that organisation wants things different), then it is logical to speak of different virtual "worlds": when teleporting from one DOMAIN to the other, it is as if you travel between planets. On the other hand, if the protocol succeeds and you can as flawlessly as possibly teleport from one DOMAIN to the next in a way that is painless and realistic (ie, you still look the same, and it is mostly a feeling of having travelled between places) then you might more think of it like travelling between countries and still be on the same world. In that case ONE virtual world would be the whole of places you can reach with teleporting. None of that matters however. What we should concentrate on is a description of the protocol in the light of the three points mentioned above. -- Carlo Wood <carlo@alinoe.com>
- [vwrap] Definition of "Virtual World", in a proto… Morgaine
- Re: [vwrap] Definition of "Virtual World", in a p… Morgaine
- Re: [vwrap] Definition of "Virtual World", in a p… Meadhbh Hamrick
- Re: [vwrap] Definition of "Virtual World", in a p… Morgaine
- Re: [vwrap] Definition of "Virtual World", in a p… Carlo Wood
- Re: [vwrap] Definition of "Virtual World", in a p… Mike Dickson
- Re: [vwrap] Definition of "Virtual World", in a p… Morgaine
- Re: [vwrap] Definition of "Virtual World", in a p… Dan Olivares