Re: [mmox] MMOX: Strawman scope/goals/approach
Ryan McDougall <sempuki1@gmail.com> Tue, 03 March 2009 18:44 UTC
Return-Path: <sempuki1@gmail.com>
X-Original-To: mmox@core3.amsl.com
Delivered-To: mmox@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 613D228C0E7; Tue, 3 Mar 2009 10:44:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
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 vdCldfaZM0uE; Tue, 3 Mar 2009 10:44:14 -0800 (PST)
Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.187]) by core3.amsl.com (Postfix) with ESMTP id AED0628C2B9; Tue, 3 Mar 2009 10:44:10 -0800 (PST)
Received: by nf-out-0910.google.com with SMTP id b11so337224nfh.39 for <multiple recipients>; Tue, 03 Mar 2009 10:44:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=0ngHNigAEd2FHlC6F2yGGirpxRA+Qs0hIbMZjjhWE/g=; b=HH+edAR3p3K9q2f2J1d2yhtijrrqwssdPk8SJoCKr38OZ45knk/FW9o1V1IURm5Yeb p0a/IYqXRuvOnYbND5VxHhot7nLiNGfmMcDCY6DOdnKksbkGxstgnqE4wDVLiMpeRx4K Dhwu4r4dV+gRKl30+/0AivnV1Iw06fgtix2mA=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=AL7rGZiPTTo32yuuFPPtVFxkEVMs6ChIxyASxhXahdiBMaGNxAxwtXHlAgdIKLPeAS sfrhY380/L0ah6PMeF8/EJVpNDfpJfeICh5XB2q2Ssb2vspv+6E7dHUcmMlCjsIFFpCR MqYjltA5xl/8Eij1VEMq5eK1XQEkiAqLFK/D4=
MIME-Version: 1.0
Received: by 10.216.70.208 with SMTP id p58mr373588wed.29.1236105877137; Tue, 03 Mar 2009 10:44:37 -0800 (PST)
In-Reply-To: <OF7F32322B.61DEE52B-ON85257567.00564FEE-85257567.00585420@us.ibm.com>
References: <ebe4d1860902240729x5e86306bpd0950b05c3a11f28@mail.gmail.com> <OF7F32322B.61DEE52B-ON85257567.00564FEE-85257567.00585420@us.ibm.com>
Date: Tue, 03 Mar 2009 20:44:37 +0200
Message-ID: <c7a1b5240903031044s665bafe8x467a21de258b6708@mail.gmail.com>
From: Ryan McDougall <sempuki1@gmail.com>
To: David W Levine <dwl@us.ibm.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: mmox-bounces@ietf.org, mmox@ietf.org
Subject: Re: [mmox] MMOX: Strawman scope/goals/approach
X-BeenThere: mmox@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Massively Multi-participant Online Games and Applications <mmox.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mmox>, <mailto:mmox-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmox>
List-Post: <mailto:mmox@ietf.org>
List-Help: <mailto:mmox-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmox>, <mailto:mmox-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Mar 2009 18:44:21 -0000
Excellent post. The only one worth reading since I joined. Very agreeable. Cheers, Ryan McDougall realXtend On Tue, Feb 24, 2009 at 6:04 PM, David W Levine <dwl@us.ibm.com> wrote: > > After chewing through the entire mailing list the past week, I've banged out > something which *might* help structure our discussions a bit. I offer the > following as an attempt to distill and focus some of our thinking. We are > roughly 4 weeks from a face to face, and while i do not expect a charter to > emerge directly from that BOF, I think we need to end the face to face with > enough of an agreed broad framework, that we can imagine generating a > consensus charter on the mailing list prior to the next IETF face to face in > July. > > I am posting this as a complete document. I am looking for broad consensus > and proposed revisions, and will take them and spin back subsequent versions > on a hopefully daily turn around. I don't expect the document to survive > close to unchanged, but I'd like to try and manage it as a series of > successive drafts, so we can have something consistent to talk about. I > look at this as "If we can get rough consensus on this" then we can use it > as a basis for driving forward on a set of charter level tasks. > > > I am attaching the input as a .txt and a (sigh) Microsoft word document. I > am also posting it in line as plan text. (tho ugly, I'll work on that for > future versions) > There has been a fair bit of discussion on the MMOX mailing list, and in > casual > discussions about what we are actually trying to achieve. In service of a > better answer, I > am going to try and summarize: > > 1. The problem space we are tackling > 2. An Enumeration of interoperability goals in the problem space > 3. Some approaches to solving these goals > 4. How to both make concrete progress within the IETF approach and > end up with a > solution that people will actually want to adopt. > 5. Some things which fall out of scope > > I will try to cast both the problems and solutions separately from any > specific virtual > worlds or MMOS and instead draw on several underlying models as I describe > things. > Please view this as a strawman intended to provoke discussion, but also > think of it as > intended to evolve into something we can actually use to structure our work > going > forward. > v > I am taking as a given that we are all professionals, engaged in a > respectful, and > thoughtful exercise to generate good engineering solutions. I welcome > engaged, > constructive, on topic discussion. Please read the IETF NOTEWELL notice: > http://www.ietf.org/NOTEWELL.html Our goal, is a code driven, process, > anchored in > the ability to prove that specifications we create actually interoperate and > work as > described. Specifications do not advance in the IETF in the absence of > demonstrated > interoperability based on running code. > > - David W. Levine > ~ Zha Ewry (In Second Life) > > > ------------------------------------------- > > The Problem Space: > > I take MMOX as Massively MultiParty Online eXperiences (Since Meadbh didn't > define > X, we all get a shot at it) Lets take this one bit at a time. Massively, as > in experiences > intended to be shared by tens, hundreds, thousands, and over time, a > significant fraction > of the interne community. Online, focusing our attention on the concurrent > shared portion > of the experiences and eXperience as a shorthand for (Games, Applications > and shared > experiences.) > > The group's name and remit is intentionally broad, focused on a general set > of Games and > Applications, not any single game, application or experience. The group's > roots, and > interests are largely, but not exclusively shaped by Virtual Worlds, > including MMO > games, Virtual worlds, Collaboration and Simulation Environments and shared > online > streaming environments. Examples of these platforms include, but are not > limited to > World Of Warcaft, ProtonSphere, Eve Online, Forterra's OLIVE platform, Club > Penguin, Linden Lab's Second Life, IMVU, There.com, Croquet, > OpenSimulator.org, > Weblins. > > The common thread across all of these environments is a concurrent shared > experience, > often, but not exclusively rendered in a three dimensional space. Here's > one attempt to > scope what these environment share: > > 1. One or more virtual spaces > 2. A set of users > 3. A representation of the users projected into the space > 4. A shared experience of the events in the space projected back to > all the users > currently in the space. (Text, Voice, and the results of > actions) > > Many of these environments will also include one or more of: > > 5. Objects which can be dynamically created and modified to form part > of the > space's setting > 6. Persistent state in the virtual space(s) > 7. Mechanisms to associate external streams of media with portions of > the > immersive space > 8. Mechanisms to run scripted behaviors in the space > 9. Simulated physics and behavior of objects and projected users in > the spaace > 10. Mechanisms for users to move from one virtual space to another > (by hand off > between regions implicitly, or by explicit user request > (teleport) > 11. Libraries of material the users can add to the space > 12. Mechanisms for users which are not in a common virtual space to > interact with > each other in some form (be aware of each other's locations > and online status, > message each other, etc) > > Note I've very carefully avoided using most of the common words for the > shared > experience. We often speak of Simulators, Avatars, Regions, Assets and so > forth, for the > moment, I'm going to keep those terms off the table to think about the > problem in its > more general form. > > Note that I'm also very consciously taking a minimal base with optional > features > approach to describing the space. This allows us to focus on the core > overlapping > features, and then a set of services which add to this core. Think about how > these goals > and solutions could be applied to collaborative spaces such as Wikis, Micro > blogging > streams and collaborative desktop and application environments. > > Interoperability is not about defining the one true system which satisfies > these goals. > Interoperability is about making multiple existing implementation > interoperate by the use > of standards we define. > Goals: > > What sort of interoperability do we desire out of these spaces? > > I will start with some statements from the perspective of user experience, > and then talk > about the technical implications of these use cases. I will also start with > the broadest, > most expansive goals and then look at how to break these apart into a series > of sub goals. > > These goals are structured with the intent of listing a range of experiences > we hope to > enable. There sometimes seems to be a strong desire to think about the > ultimate end > state, where there is one uber-client, and every single virtual space > implements every > single capability in super grid spanning the world. I think that, its > important to think of > interoperability as happening over time, and in clusters of increasingly > integrated services > and spaces. Some low hanging fruit will come early. Some worlds, which are > close in > design will get deeper benefits sooner, others will only gradually become > more tightly > integrated. There are many important, useful, and desirable states between > "nothing > shares" and "Its one single model of everything." > > Note: These goals are not use cases. Ideally, each goal will, over time, > spawn a set of use > cases to help define them, and additionally some "cross goal" use cases > will be generated > which will show how multiple goals work together to provide valuable > results. > > > > 1. The ability to manage one's identity when interacting in multiple > MMOX spaces. > a. Allowing presence information to be shared and coordinated > across > MMOX spaces > b. Permitting friends lists, and IMs to be shared across > spaces > c. Permitting MMOX spaces to share naming > d. Simple ways of allowing a consistent name, managed by the > user, and > verifiable by other users > e. Single sign on, mediated by multiple spaces, within the > policy constraints > of the spaces > f. A consistent appearance, within the constraints of the > various systems > g. The ability to manage the degree of visibility / coupling > between identities > in MMOX spaces > > Note that for all of these, there is no requirement to couple the systems > together > beyond managing identity, and share presence and IM information. These use > cases don't speak to how you move between spaces. You may have to shutdown > your client on one system and start another. This also is not a "You must > enable > this" this is very much a "Make it easy for spaces which want to enable this > to do > it." Also, note that "presence and messaging" speak to user needs, and > consitent > appearance and name (when desired by users) again speeks to meeting user's > desires. > > 2. The ability for the services in an MMOX world to be named, and > authenticated > a. Services to associate virtual places and the services which > support them > with authentication and administrative domains > b. Services to permit a service to validate the membership of > a remote > service in one or more authentication and administrative domains > > This is needed so that we can do essentially any of the interoperability > work. > Without some framework which lets us know who we are talking to, it is > impossible to trust the behavior of distributed systems. > > 3. The ability to share content between MMOX spaces > a. Import and Export of content and models (This may well > leverage off of > existing work such as Collada) Static, import/export of content while > not > terribly dramatic is an important part of the value chain of > interoperability > b. Mark up schemes which recognize the existence of multiple > presentation > environments, but permit the sharing of content > i. Shared "type" information for the various types of > graphical > content which MMOX spaces contain > ii. Extensible, with a common registry, so that we can > understand the > types of contents a client can accept, and a virtual > space, or virtual > asset store can be asked to provide > c. A MMOX based, system independent asset addressing scheme > which includes > i. Content negotiation based on 2b > ii. Access Management based on (1) and (2) > > This is, to my mind, the key mid term deliverable > > 4. The affordances in MMOX to permit the creation of micro-payment > economies > a. Appropriate spots defined in MMOX protocols for cost > information > b. Appropriate spots defined in MMOX protocols for reference > to > micropayment systems > > 5. The ability to share "non immersive streams" between spaces > a. Markup to permit the consistent sharing of stream media > such as voice, > and video, with shared start and synchronization information > to permit > "parallel" events between MMOX space > > 6. The ability to express Policy intent between MMOX services and > virtual spaces > a. Places in reserved in the MOX protocols for expressing > policy intent > b. One or more policy languages for expressing policy > > > The solution space: > > Most of the deployed solutions partition the software problem into the > following chunks. > > 1. Some form of a client which permits a user to interact with the > shared experience > 2. Virtual space servers which manage the state of a portion of > virtual space > 3. A set of supporting services used by the virtual space servers > > Note that exactly how these three large chunks are assembled and the > granular nature of > the services can vary radically, even when serving very similar > environments. Some > environments push a large amount of rendering and management onto complex > clients, > others perform the bulk of rendering in the server portion of the > deployment. Some > implementations combine client and simulation into a single entity which > does some > simulation and some user presentation. Some distribute the simulation, some > centralize it. > > The heart of most of the solutions is managing to accept and merge a stream > of updates, > and then distribute the merged updates back to users. This can happen at a > range of > granularities. The two ends of the spectrum, are, roughly, sending updates > as a fully > merged audio visual stream, which the client merely displays, and sending > low level > changes to a underlying mode, which the client uses to assemble a complete > visual > representation of the scene. Variations include croquet and qwaq which use > an > underlying distributed object model to pass large amounts of updates, and > approaches > such as used by SecondLife and Protonsphere, where voice is managed in a > separate > service, with the merged state service merely letting the voice service know > where the > users are located. > > Closely related, are issues of representation and format of content. This > takes several, > separable forms. Import and Export of material to the core environment, and, > more > problematically, run time representations > > Approach > Our overall approach should be web centric, and web services oriented. We > can, and > should think of sets of related services which can be composed as part of > different > solutions which will enable varying degrees of interoperability. We can, and > should > attempt to provide as web like an approach to function as possible. Content > negotiation, > separation of protocol from security, separation of interface from > implementation and > other techniques. > > Our goal is not to enshrine any single virtual world as the standard for all > MMOX spaces, > but rather create a flexible, extensible set of services which will allow us > to grow larger > and large overlapping sets of capabilities. My expectation is that we will > see a lot of low > hanging fruit in the area of identity, authentication, authorization and > presence > management (Where a user is, and allowing messaging to them across MMOX > spaeces) > and initially, we will find a lot of format and content area addressed by > gateways, > markup, and content negotiation. I see nothing wrong with having a URI which > refers to > "A pretty maple tree with fall colors" which provides a way to fetch the > "Collada Style > version" the "3dMax Mesh version" the "Linden Lab 1.2 sculpty spec version" > such that > a virtual space can select, through content negotiation the one most useful > to it. > > We get value, when we have consistent ways of referring to all the various > forms of > content, and we get more value when we have ways of using existing content > negotiation > to allow a web light selection of an appropriate form. It is equally > possible to imagine > negotiating between a client and a virtual space, the desired form of > objects. There are > some deep challenges lurking, such as when two different approaches have > radically > different > > What I would encourage us, as a mailing list to do, is look through the > problem > statement, and interoperability goals I've put together here. They are an > attempt to > capture the various sentiments in the ongoing discussion. I am sure I have > missed points, > and I am sure some people will disagree with some of the points I have made. > > I would ask people to look for "No, you missed X" and "Hey, I don't think Y" > is true. I > will attempt to capture all of those, and revise the document, until we > think it represents > something close to the general group consensus. (I am not looking for 100% > consensus, > but a "Yeah, this captures most of what we're trying to do." With that in > hand, I would > suggest we could then begin to enumerate the specific services and markups > we need to > support our goals, and begin to flesh out use cases to help us understand > the goals and > services. > > I do not expect this to yield a set of specs which Linden Lab, or OpenSim, > Or any one > virtual world vendor or project would implement whole. What I expect it to > yield is a set > of specs, which can be combined with existing projects and code bases to > drive us > towards a more interoperable future. > > Out of scope > > I also want to begin to accumulate a short list of "No, this is out of > scope" assertions > > 1. We will provide all the affordances necessary to permit a broad > range of > interaction policies. Appropriate policies for various deployed solutions > and > future deployed solutions is out of scope, beyond providing us use cases > which > highlight specific affordances we may wish to consider > 2. Whether or not immersive multi-party spaces are useful and which > specific > capabilities are required is out of scope. We aspire to support a broad > range of > possible capabilities, and we respect that different organizations will have > different perspectives on what is required. Our goal is to define broad, > interoperable frameworks which will enable a range of deployments, not to > define > the one true model for this space > 3. Propose additional statements here > > Closing comments > > I don't think our collective goal can be to take any one existing spec or > solution and > simply declare it the basis for our work going forward. At the same time, we > must base > our work in actually running code, showing real interoperability. Our goal > must be to > build supersets of function, based on existing products and solutions which > demonstrate > real interoperability. > > The IETF favors working code and growing consensus over blank paper and blue > sky > efforts. This is based in a history of success and failure in the industry > when it comes to > building, promoting and succeeding at standards work. Work at the IETF is > grounded in > working code. > > One way forward is to focus on several clusters of work. One: a clear, broad > framework, > which forms the basis for long term broad interoperation. Two: Capturing the > current set > of incompatible and overlapping formats and protocols in use, so that we can > create a > extensible and shared catalog of artifacts for sharing. (eg. "Here is the > canonical, > extensible list of graphic content types you might want to move on a MMOX > transport" > Three grow out proposed solutions such as LLSD, OGP, and others, as they > are > contributed towards a common superset which can be used to as the basis for > demonstrating concrete progress towards interop goals. Four, Identify places > where we > simply want to use existing work, such as OpenID, OAuth, X.509 and create > a shared > profile for how we can use these protocols to further interoperability. > > > > > > > > > _______________________________________________ > mmox mailing list > mmox@ietf.org > https://www.ietf.org/mailman/listinfo/mmox > >
- [mmox] Requirements for new xxSD specification Catherine Pfeffer
- [mmox] MMOX: Strawman scope/goals/approach David W Levine
- Re: [mmox] MMOX: Strawman scope/goals/approach Jon Watte
- Re: [mmox] Requirements for new xxSD specification Lisa Dusseault
- Re: [mmox] MMOX: Strawman scope/goals/approach Mark P. McCahill
- Re: [mmox] MMOX: Strawman scope/goals/approach Christian Scholz
- Re: [mmox] MMOX: Strawman scope/goals/approach Meadhbh Hamrick (Infinity)
- Re: [mmox] MMOX: Strawman scope/goals/approach Christian Scholz
- Re: [mmox] MMOX: Strawman scope/goals/approach Gareth Nelson
- Re: [mmox] MMOX: Strawman scope/goals/approach Jon Watte
- Re: [mmox] MMOX: Strawman scope/goals/approach Lawson English
- Re: [mmox] MMOX: Strawman scope/goals/approach Meadhbh Hamrick (Infinity)
- Re: [mmox] MMOX: Strawman scope/goals/approach Gareth Nelson
- Re: [mmox] MMOX: Strawman scope/goals/approach Meadhbh Hamrick (Infinity)
- Re: [mmox] MMOX: Strawman scope/goals/approach David W Levine
- Re: [mmox] MMOX: Strawman scope/goals/approach Ryan McDougall