X3D Distributed Interactive Simulation (DIS) Implementation and Run-Time Discovery of New Entities using X3DOM Don McGregor, Byron Harder, Don Brutzman.

Slides:



Advertisements
Similar presentations
Encrypting Wireless Data with VPN Techniques
Advertisements

Overview Environment for Internet database connectivity
A Javascript Implementation of the Binary DIS Protocol Don McGregor, Don Brutzman, Curt Blais, MOVES Institute
Reza hooshangi ( ). short history  One of the last major challenges for the web is to enable human communication via voice and video: Real Time.
CCNA – Network Fundamentals
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 1 – Introduction to VRML.
The Virtual World Framework: Implementing a Web Based Client Side Simulator Rob Chadwick, Katmai Government Services in support of ADL.
1 Improving the Performance of Distributed Applications Using Active Networks Mohamed M. Hefeeda 4/28/1999.
Browsers and Servers CGI Processing Model ( Common Gateway Interface ) © Norman White, 2013.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
V1.00 © 2009 Research In Motion Limited Introduction to Mobile Device Web Development Trainer name Date.
Definitions, Definitions, Definitions Lead to Understanding.
Esri International User Conference | San Diego, CA Technical Workshops | Esri Tracking Solutions: Working with real-time data Adam Mollenkopf David Kaiser.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Packetizer ® Copyright © 2009 H.325: An Application Platform A Closer Look at the “Container” Paul E. Jones Rapporteur Q12/16 April 7,
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
Enterprise Resource Planning
IP Network Basics. For Internal Use Only ▲ Internal Use Only ▲ Course Objectives Grasp the basic knowledge of network Understand network evolution history.
INTRODUCTION TO WEB DATABASE PROGRAMMING
IT 210 The Internet & World Wide Web introduction.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
GIS technologies and Web Mapping Services
Getting to Know TiVo: The Home Media Engine (HME SDK) Eric M. Upchurch CS 525 Spring 2008.
Page  1 Developing a Cross Platform IMS Client using the JAIN SIP Applet Phone Muswera Walter Supervisor: Prof Alfredo Terzoli.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Nadir Saghar, Tony Pan, Ashish Sharma REST for Data Services.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
vrtp Research Update Don Brutzman Naval Postgraduate School February 7, 2000.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Session: 1. © Aptech Ltd. 2Introduction to the Web / Session 1  Explain the evolution of HTML  Explain the page structure used by HTML  List the drawbacks.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
WebSocket Gateway Don McGregor Research Associate MOVES Institute
Lab Assignment 15/ INF5060: Multimedia data communication using network processors.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
Theia Technical Design Presentation 3. Theia Overview Theia’s purpose is to create three dimensional, virtual representations of a room. To allow the.
SOCKS By BITSnBYTES (Bhargavi, Maya, Priya, Rajini and Shruti)
Jabber Technical Overview Presenter: Ming-Wei Lin.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Web Services. 2 Internet Collection of physically interconnected computers. Messages decomposed into packets. Packets transmitted from source to destination.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
WebRTC Don McGregor Research Associate MOVES Institute
Internet Infrastructure Min Ding Smeal College of Business Administration Pennsylvania State University.
Internet Protocol Storage Area Networks (IP SAN)
Presentation Title Subtitle DSpace UI Prototype 7 Spring, Angular.js, and the DSpace REST API.
COMPUTER NETWORKS Hwajung Lee. Image Source:
Simulation Networking Standards and the Web Don McGregor Research Associate MOVES Institute
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Progress Apama Fundamentals
X3DOM : Integrating 3D content seamlessly into webpage
MPEG-4 Binary Information for Scenes (BIFS)
Simulation as a Service, Scalability, and Network Architectures
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
03 | Building a Backend with Socket.IO and Mongo
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Don Brutzman and Mike Zyda NPSNET Research Group
Presentation transcript:

X3D Distributed Interactive Simulation (DIS) Implementation and Run-Time Discovery of New Entities using X3DOM Don McGregor, Byron Harder, Don Brutzman . Modeling, Virtual Environments Simulation (MOVES) Institute Naval Postgraduate School, Monterey California Web3D 2015 Conference, Crete Greece 18 June 2015

Topics Standards Approach for Networked Virtual Environments (NVEs) X3D, JavaScript, X3DOM and WebGL DIS, WebSockets and WebRTC Geospatial and Modeling Conventions X3DOM source for X3D DIS component Performance and Demonstration Conclusions and Future Work

Standards-Based Approach for Networked Virtual Environments (NVEs) Motivation: Web is the real NVE Everything else is smaller Twenty five year challenge “Break out” time!

X3D, HTML5 and JavaScript Multiple technologies need to be aligned X3D and Script node HTML and scripts Bridging event models between X3D, HTML X3DOM implementation, X3D v4 strategy http://x3dom.org http://web3d.org/standards

IEEE Distributed Interactive Simulation (DIS) Protocol Network protocol, IEEE standard since 1995 IEEE 1278 is a communications standard for physically based distributed simulations Standard defines binary layout of messages used to transmit simulation information Often used in military applications since IEEE 1278 covers a wide range of data: entity location, velocity, and orientation, and more features such as signal and supply support Civilian applications: air-traffic control, etc.

DIS protocol and X3D IEEE Distributed Interactive Simulation (DIS) protocol has been used for many years to build networked simulations that share state X3D DIS component aligns these capabilities with X3D scenes to enable sharing of state data EspduTransform: protocol data units (PDUs) for EntityState, Collision, Fire, Detonation Signals: ReceiverPdu,SignalPdu,TransmitterPdu Real-time discovery, display of new entities: DISEntityManager, DISEntityTypeMapping Tutorial slides X3D for Advanced Modeling, DIS

WebSockets Networking IETF/W3C standard API RFC 6455 et al. (Wikipedia) Language agnostic, includes JavaScript API Technical summary: TCP-like sockets for web browsers, http/https Reliable connection-oriented, provides framing Client-server architecture (not peer-peer) No broadcast or multicast Browser support excellent (including mobile)

WebSockets diagram A TCP socket is established from the web browser to the server, and state updates relayed through the server

WebSockets Browser Adoption ~85% of deployed browser user base can use WebSockets, including mobile http://caniuse.com/#feat=websockets

WebRTC Networking IETF/W3C standard API RFC standards still in development Language agnostic with JavaScript API Browser support growing (including mobile) Technical summary: UDP-like sockets for web browsers; encrypted Best effort (e.g. “unreliable”) message-oriented, acceptable to drop packets Client-server or peer-peer (rendezvous point) No broadcast or multicast

WebRTC diagram Initial signaling step using external rendezvous service allows browsers to find each other After signaling step, direct browser-to-browser communication of data possible using WebRTC UDP

WebRTC Browser Adoption ~ 50% of installed browser user base is capable of using WebRTC http://caniuse.com/#search=WebRTC

Geospatial Conventions DIS Coordinate System Uses WGS84 Geocentric coordinate system (only) Problem: missing geospatial conventions X3D: WGS84 and other datums allowed Many different terrain models in the heterogeneous DIS application domain Caveat tester: current prototype uses “flat earth” coordinates, clamped data inputs to surface

Modeling Conventions DIS X3D Orientation: Euler angle rotations from geocentric earth fixed world coordinate system to body coordinate system X3D Orientation convention: X nose, Y up, Z RHS X3D Scene Authoring Hints collects numerous “best practices” for compatible, scalable models Savage Developers Guide lists our design patterns for configuration and setup

Performance Chen-Fu Hsiao thesis 2014 looked at WebSocket & WebRTC performance in a 3D environment Significant performance differences between browsers at the time of publication; this is likely to converge as implementations mature Approximately 5000 messages per second can be achieved with commodity desktop/laptop; low value of ~2000 messages per second with some implementations of WebRTC, likely due to immature browser implementation. Some test results > 10K PDUs/second !! That is a LOT of state transfer possible! Enough for numerous networked games and NVES Further scalability possible through server-to-server bridging and filtering, area of interest management, etc.

Demonstrations available Web-Enabled DIS Maps with Websockets https://track.nps.edu Simple text HTML GoogleMaps API Three.js X3DOM

Google Maps Demo Generate simulated traffic for San Francisco Bay Area Entities displayed on map real-time Can easily hook up live ship position feeds from Automated Information System (AIS) streams

X3DOM Same traffic as Google Maps scene Live 3D entities added to scene

Demonstration topology track.nps.edu Backend: open-source Jetty WebSockets Server, modified X3DOM javascript engine, models, and maps loaded from server Crete Internet (proxies OK!) NPS and other enterprise firewalls https://track.nps.edu Serves content

Various implementation issues Choosing and implementing a terrain model Nonconventional entity models (and workarounds) Modeling dynamic features like shot animation and damage/destruction Practical limits of unicast routing EspduTransform + Transform workaround Ungraceful degradation of connection-oriented protocol (WebSocket) forwarding UDP stream Application gateway filtering may be appropriate, TBD

X3DOM source for X3D DIS component sourceforge.net/projects/open-dis Java, JavaScript, C++, C#, Objective-C XML definitions + code generators = agile, easy x3dom.org Checked out a pull, sent back a push github.com/mcgredonps/x3dom Several work-weeks effort Ready to work with Fraunhofer team

X3D specification coverage Available for X3DOM EspduTransform including ESPDU, Fire, Detonation PDUs TODO Collision PDU (integrated with EspduTransform) Receiver, Signal, Transmitter PDU Align X3D DIS and Geospatial components Specify parameters for WebSockets, WebRTC as part of url field

Current State Connect to websocket server and load X3DOM-powered viewer page Display, navigate on flat map Forward DIS via websocket Display and move entities driven by DIS PDUs Display basic entity info Demonstration video: https://savage.nps.edu/videos/McGregorHarderBrutzmanOpenDisX3domWeb3d2015.mov

Remaining Issues Clamping entity elevation to (flat) sea level, need integration with geospatial X3D terrain Proper scaling while also maintaining useful user visibility and interaction conventions “Highlighting bubble” for quick visual location Smooth animation between movement locations based on ESPDU dead reckoning Display FirePDUs, DetonatePDUs – boom! Testing (and debugging) on bigger networks

Conclusions X3DOM-based client deployment of DIS is feasible with initial implementation available Availability of models, documentation, code Ready to make this technology mashup reliable and maintainable Extending to entity control and PDU injection in dynamic simulations

Future work 1 Integrate with X3DOM Add, integrate other PDUs in EspduTransform True dead reckoning Candidate future PDUs for X3D specification Comment and Simulation Management PDUs Intercom PDUs (Voice over IP) Open-DIS Coordinate system conversion libraries Orientation conversion

Future work 2 X3D-Edit Web3D Projects Wish List Embed Jetty web-socket server Auto-configure connections to Web3D channels Simplified DIS network integration into scenes Web3D Projects Wish List Stand-alone fully configured X3D server Compatible with open-source GeoServer

Contact Don McGregor, Byron Harder, Don Brutzman mcgredo@nps.edu brharder1@nps.edu brutzman@nps.edu Modeling, Virtual Environments Simulation (MOVES) Institute Naval Postgraduate School Monterey California 93943-5000 USA

Backup slides

Overview Use Cases Sequence Diagram Domain Model Deployment Diagram Current State Remaining Issues Conclusion