[x3d-public] Distributed Interactive Simulation Component

John Richardson richards at spawar.navy.mil
Mon Apr 9 13:22:53 PDT 2018


While we are on the topic of distributed simulation and graphics.

Drum Roll: The Summersim 2018 paper call is still open Extended to April 20.
As is the Computer Graphics for Simulation paper track...:-)

www.scs.org/summersim is where you all want to go...:-)


-----Original Message-----
From: x3d-public [mailto:x3d-public-bounces at web3d.org] On Behalf Of Don
Sent: Friday, April 6, 2018 10:48 PM
To: GPU Group <gpugroup at gmail.com>; X3D Graphics public mailing list
<x3d-public at web3d.org>
Subject: Re: [x3d-public] Distributed Interactive Simulation Component

Thanks for your interest and scrutiny Doug.


IEEE Distributed Interactive Simulation (DIS) protocol is a long-running
networking standard used by many DoD systems for creating shared virtual
environments, Live Virtual Constructive (LVC) hybrid simulations/exercises,


As it turns out, NPS has an extensive body of active effort in this arena.
We expect to be able to tackle this with partners sometime after Soft Launch
this summer.  Current course work is testing and improving a number of
Web-based examples using the OpenDIS library.

Integration with X3D is relatively easy.  We have a DIS-networked
EspduTransform node which can be the scene-graph parent of any moving

X3D-Edit has pretty good support including
sender-receiver-tester-recorder-player tools.  It works, we ran it many
times in class last quarter, tested with WireShark, etc. etc.

Further references for people who want to read ahead:

a. IITSEC 2017 slideset, DIS 101

b. X3D and Distributed Interactive Simulation (DIS)

c. X3D v3.3 Distributed interactive simulation (DIS) component
d. IEEE Standards Maintained by SISO SAC

The protocol is quite mature, evolving since early 1990s.  Multiple
commercial players.

Our team is "getting back up on the horse" and gradually rejuvenating the
OpenDIS implementation.  It has code generators for API binding in multiple
programming languages (Java JavaScript C++ C# others).  We are working
through examples and fixing them in a pair of courses, 3-months into a
12-month cycle.  Initial bindings existed in X3DOM at some point, not sure
of their current status.

You are asking good questions, n.b. that good answers exist too.  Too bad
others didn't follow through "back in the day" but certainly happy that you
are pursuing this.  IMO it has huge potential value, especially as we make
progress on using Javascript inside HTML to bridge to web services or other
connections rather than UDP multicast.

I expect that sometime after Web3D 2018 Conference we will have our internal
work ready for broader sharing.  Can you wait until then?  We will be keen
to help and test together - sounds like a great student team project
actually.  Topmost priorities right now include HAnim spec and Motion node,
other OpenDIS work is slowly progressing and will help.

Step by step, again thanks...

v/r Don

On 4/6/2018 11:33 AM, GPU Group wrote:
> http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/comp
> onents/dis.html Q1. should DIS be dropped from future specs Q2. is 
> there a more web3d-like way to do something like it?
> -Doug
> I can see why this isn't widely implemented.
> x half-baked - looks like student papers - just a prototype or proof 
> of concept x only one implents it -xj3d-, and I have yet to see it run 
> with DIS nodes (it whitescreens on me when run from x3d-edit), so 
> difficult to reverse engineer fuzzy concepts x the flavor of some 
> nodes like radio transmitter, receiver, signal seems too specific/high 
> level compared to the rest of web3d which is more about general 
> capabilites that can be combined flexibly in many permutations x the 
> DIS specs are very 1990s like x DIS specs are big
> But it also seems to fill some gaps versus EAI:
> * node level synchronization (versus EAI access via rootnode > tree)
> **- so easier to bury inside proto bodies
> * wireline protocol
> ** so compatible among any browsers or utilities that implement the 
> protocol
> * no server -peer-to-peer, nothing bad happens if peers join or leave
> And it has problems:
> - using broadcast udp means no ACK / resend if packet lost
> - better at regular / heartbeat updates
> -- if one is dropped, just wait a few seconds
> -- if peer joins late, just wait a few seconds x, poor at one-time 
> state intializations / transfers xx if packet lost, DIS spec full of 
> bandaids for this issue xx if peer joins late, awkward

> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org

all the best, Don
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman

x3d-public mailing list
x3d-public at web3d.org

More information about the x3d-public mailing list