73
A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation Ocer Senior Fellow Lockheed Martin GTL [email protected]

A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL [email protected]

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

A Virtual Worlds Architecture Framework

VWF

David A. Smith Chief Innovation Officer

Senior Fellow Lockheed Martin GTL

[email protected]

Page 2: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

VWFVision Frank DiGiovanni, SES Director, Training Readiness and Strategy

Office of the Deputy Under Secretary of Defense (Readiness)

The Pentagon, Washington D.C.

Page 3: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Summary •  What it is. •  Why it matters. •  Demonstration. •  How it works.

Page 4: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Essential Features of a Next Generation Virtual World Platform

•  Platform scalability - need to work across OSs and devices (desktops - handhelds)

•  Distribution - Needs to be easily deployed across an entire organization with a 0-install preferred. Needs to work on both sides of a firewall.

•  Security - needs to work with existing IT capabilities and requirements •  Open source - must avoid being a captive solution. Must be accessible to

non-business users, especially education •  Utilize and Define Standards - for interoperability and scalability. Must

interoperate and fully enable the Global Information Grid (GIG) •  Future Proof – must scale dynamically with new requirements and new

opportunities while protecting investments in content and infrastructure •  User Base – must be accessible to large population of developers. •  Business models - must provide interesting business ecosystem for small

and large organizations. Must lower the cost of content development while raising the level of quality and affordability.

Page 5: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

The Web is the Future of Virtual Worlds

• The next generation of browsers incorporating WebGL coupled with HTML 5 will become the de facto foundation for the next generation of shared virtual worlds.

• The next big 3D platform is simply the current WWW with additional capabilities.

Browser+

WebGL+

HTML 5+

JavaScript +

Jabber+

Collada

Page 6: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

VWF

•  Replicated computing platform for multi-user interactive 2D and 3D

•  Focused on training, collaboration and entertainment

•  Component based model – intelligent objects that can be easily added to existing spaces

•  Model view architecture to allow multiple rendering models (2D and 3D) as well as dead-reckoning models

•  Open Source platform

Page 7: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Release Alpha released November 2011 Beta released March 2012 Available here: http://www.virtualworldframework.com Hosted on Github. Includes: •  Full working system •  Online working Demo applications •  Demo Servers also distributed as running VMs

•  Apache (in progress) •  Ruby (available now!) •  NodeJS (in progress)

•  Documentation (in progress) •  System docs •  Developer docs •  Cookbook

Page 8: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Where?

http://www.virtualworldframework.com https://github.com/virtual-world-framework/vwf

Page 9: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Demos

Page 10: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Components •  YAML or JSON based •  Goal is Drag and Drop – user extendable •  Programming does NOT require deep

multi-user networking knowledge •  May require managing multiple user

events – basically matching mouse, keyboard etc to a given user

•  Support both 2D and 3D

Page 11: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Model/View View Rendered image Can be 2D, 3D, WebGL, Unity Allows for approximate representation of system state (eg dead reckoning)

Model Replicated state Provides replicated “truth” Deterministic Simulation Platform

Page 12: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Model/View

View

Model

Models are read only from view

Page 13: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Model/View

View

Model

User Interactions are indirect via a Reflector server Reflector

User Event

Page 14: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobbles* are “safe” replicated containers of other objects

* Courtesy of Vernor Vinge

•  Any component can be a Bobble

•  Bobbles can also contain other components

Page 15: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobbles can be easily saved and duplicated via JSON or YAML

Page 16: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Objects and components can interact directly with other objects within

Bobbles directly

Page 17: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Replicated Bobbles

Machine A Machine B

Page 18: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Replicated Bobbles

l  Deterministically Equivalent l  Bobbles replicated via checkpoint mechanism l  Internal Future messages implicitly replicated l  External Future amessages explicitly replicated l  External non-replicated messages VERY bad l  New objects: Reflectors and Controllers

Page 19: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Timing is Everything!

l  External messages must be executed in the same order and at the same time in all replicated bobbles.

l  Internal messages are executed deterministically, as long as bobble structure remains identical – we have identical results.

l  But how?

Page 20: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobble’s View of Time is defined only by message order!

Machine A

Target

Message

Arguments

Time

Message Queue Sorted by Time

Page 21: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

New message inserted with future()

Machine A

Target: cylinder

Message: turn()

Arguments: {25}

Time: now+100

Message Queue Sorted by Time

(self.future(100).turn(25)

Page 22: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

An example (temporal tail recursion):

ACylinder.aMessage(arg)

# this is a typical pattern for performing # redundant tasks, such as animations

function doSomethingWith(arg){

if (arg>0){ self.spin(10); self.future(100).doSomethingWith(arg-1); } }

Page 23: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Reflectors, Controllers and Genuine Time Based Replication

Page 24: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

The Reflector

l  Acts as the clock for the replicated bobbles l  Determines when an external message is actually

executed for all bobbles l  Sends heartbeat messages to move time forward l  The bobble Creator owns the reflector by default l  It is possible to have a number of reflectors that

share the ability to grant message send requests.

Page 25: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

The Controller

l  Manages the interface between the bobble and the reflector

l  Manages the message queue l  Non-replicated part of bobble/

controller pair l  Can exist without a bobble, acting as a

proto-bobble until the real bobble is either created or duplicated.

Page 26: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

The Reflector/Controller

Machine A

Reflector

Controller FarRef

Page 27: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Message sent to farRef – no time is specified

Machine A

Reflector

Controller

farRef.future.aMessage(args)

FarRef

Page 28: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

farRef forwards to controller

Machine A

Reflector

Controller

farRef.future.aMessage(args)

FarRef

Page 29: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Controller forwards to Reflector

Machine A

Reflector

Controller

farRef.future.aMessage(args)

FarRef

Page 30: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Reflector adds time stamp (and enumeration), forwards back to

controller

Machine A

Reflector

Controller

farRef.future.aMessage(args)

FarRef

Page 31: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Controller forwards time-stamped message to add to message queue.

Machine A

Reflector

Controller

farRef.future.aMessage(args)

FarRef

Page 32: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobble executes all messages up to the new external message

Machine A

Reflector

Controller

farRef.future.aMessage(args)

FarRef

Page 33: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobble executes all messages up to the new external message

Machine A

Reflector

Controller

farRef.future.aMessage(args)

FarRef

Page 34: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobble executes all messages up to the new external message

Machine A

Reflector

Controller

farRef.future.aMessage(args)

FarRef

Page 35: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

If there is no external message to move things forward, the reflector

will manufacture one.

Machine A

Reflector

Controller

Heartbeat message

Page 36: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Messages are then executed by bobble up to and including the

heartbeat message from Reflector

Machine A

Reflector

Controller

Heartbeat message

Page 37: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Messages are then executed by bobbles up to and including the

heartbeat message from reflector

Machine A

Reflector

Controller

Heartbeat message

Page 38: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Messages are then executed by bobble up to and including the

heartbeat message from Reflector

Machine A

Reflector

Controller

Heartbeat message

Page 39: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

This works for any number of replicated bobbles.

Machine A

Reflector

Machine B

Page 40: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

This works for any number of replicated bobbles.

Machine A

Reflector

Machine B

Page 41: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

This works for any number of replicated bobbles.

Machine A

Reflector

Machine B

Page 42: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

This works for any number of replicated bobbles.

Machine A

Reflector

Machine B

Page 43: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Reflector/Controller/Bobbles

l  Does not matter where the message comes from l  Bobbles can not move past whatever time the

Reflector specifies it is l  Reflector sends heartbeat messages to move time

forward when no external messages are available to drive time forward

l  Guarantees Bobbles execute identical messages in identical order

Page 44: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Reflector enumerates messages

l  Messages from reflector are enumerated.

l  If controller receives m1, m2, m4, controller knows that it missed m3 and request that it be resent.

Page 45: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobbles view of time

l  Bobbles only understand time in quantized terms – there is only now (when message is executed)

l  – and now + x (when future message will be executed)

l  Reflector controls execution time for all bobbles. l  Reflector needs to send heartbeat messages to

ensure smooth animations. l  Heartbeat messages can be ignored by

controller, with result of jerky updates.

Page 46: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Starting and Joining

Page 47: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

First there was the server/reflector...

Reflector

The new reflector can be on any machine, not just the users.

Page 48: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

User creates a Controller

Reflector

Controller

The new Controller will be on the users machine. It is given the Reflector address and port number. Since it will be used to construct the initial bobble, we call it the master controller.

Page 49: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Request to join

Reflector

Controller

The controller sends a message to the Reflector asking for messages. The Reflector (if it is authorized) begins publishing its message stream to the controller.

Join request

Page 50: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Controller joins Reflector message stream

Reflector

Controller

Once the join is accepted, the Reflector sends all replicated messages and heartbeats to the controller. The controller saves these into a message queue.

Message Stream

Page 51: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Controller constructs new Bobble

Reflector

Controller

Message Stream

Machine A

Page 52: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Adding a new user – construct controller

Machine A

Reflector

This is similar to constructing the initial controller/Bobble pair. First, create the controller.

Page 53: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Request to join Reflector

Machine A

Reflector

Request to join the reflector.

Page 54: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Start receiving messages

Machine A

Reflector

Once granted, we add new messages into the message queue.

Page 55: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Request Bobble

Machine A

Reflector

The controller can now be used to request a copy of the bobble.

Page 56: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobble checkpointed and sent

Machine A

Reflector

The bobble is a checkpoint streamed to the new controller via the reflector.

Page 57: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobble checkpointed and sent

Machine A

Reflector

Page 58: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobble checkpointed and sent

Machine A

Reflector

The controller resurrects the bobble locally.

Page 59: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Bobble is resurrected and can now be displayed.

Machine A

Reflector

Machine B

Page 60: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Message queue is culled to >= Bobble current time.

Machine A

Reflector

Machine B

Page 61: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Participating

l  Joining is “view only” interaction – the user can not modify the Bobble contents until he gets permission to participate.

l  The user must request permission from the Reflector to participate.

l  The Reflector grants participation capability via “facets”

l  Interesting aside – we can manage any number of “joined” users simply by broadcasting the message stream to them. This allows arena type interactions.

Page 62: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Request right to participate from Reflector

Reflector

Machine B

Page 63: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Reflector passes a list of facets, or interfaces to controller.

Reflector

Machine B

Page 64: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Reflector passes a list of facets, or interfaces to controller.

Reflector

Machine B

Page 65: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

External message is sent to controller.

Reflector

Machine B

Page 66: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Controller looks up object/message pair in facet dictionary.

Reflector

Machine B

Page 67: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Facet is used to invoke replicated message, sent to reflector

Reflector

Machine B

Page 68: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Reflector performs reverse look-up to find original message.

Reflector

Machine B

Page 69: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Actual message is sent to all controllers.

Reflector

Machine B

Page 70: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Nice side effects

l  Latency does not create timing problems, just feedback problems (system acts sluggish if you have higher latency).

l  Users are not punished for having a high-latency participant sharing a bobble (though the high latency participant has a poor experience).

l  Reflectors can be independent of Bobble/controller pairs, hence can be positioned on minimal latency or centralized balanced latency servers.

l  Reflectors can even be moved around if necessary to improve latency for specific users or groups.

Page 71: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Latency does not effect accuracy – only usability.

Reflector

Page 72: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

Redlector

Reflector can be moved to more latency centric location.

Reflector

Page 73: A Virtual Worlds Architecture Framework VWF...A Virtual Worlds Architecture Framework VWF David A. Smith Chief Innovation O#cer Senior Fellow Lockheed Martin GTL david.alan.smith@lmco.com

End