Intro and Problem Statement Don McGregor Research Associate MOVES Institute

Slides:



Advertisements
Similar presentations
TCP/IP The Universal substrate. Background You’ve got some computers, each running a simulation. How do you get them to talk to each other? Network.
Advertisements

CompSci Applets & Video Games. CompSci Applets & Video Games The Plan  Applets  Demo on making and running a simple applet from scratch.
MV-3500 DoD Modeling & Simulation Network Protocols.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Different types of operating systems including: – Single-user – Multi-user – Multi-tasking – Interactive – Real-time – Batch processing – Distributed.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets, 5e By Douglas E. Comer Lecture PowerPoints.
CSCD 433/533 Advanced Computer Networks Lecture 1 Course Overview Fall 2011.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
1 By Vanessa Newey. 2 Introduction Background Scalability in Distributed Simulation Traditional Aggregation Techniques Problems with Traditional Methods.
TENA Test and Training Enabling Architecture. TENA TENA is used in range environments, often in the L portion of LVC Slightly different emphasis; small.
1 DOS with Windows 3.1 and 3.11 Operating Environments n Designed to allow applications to have a graphical interface DOS runs in the background as the.
CSCD 330 Network Programming Winter 2012 Lecture 1 - Course Details.
Client/Server Architecture
EMERGING TRENDS, TECHNOLOGIES, AND APPLICATIONS CHAPTER 14 Hossein BIDGOLI MIS GOOGLE Apple strategy COKE INFO Predator Drones Khan Academy Stuxnet.
Networking Components Chad Benedict – LTEC
Massively Multiplayer Online Games & DIS Commercial/Defense Convergence?
Welcome to the world of G.V.Ram Mohan Reddy G.V.Ram Mohan Reddy.
TCP Sockets Reliable Communication. TCP As mentioned before, TCP sits on top of other layers (IP, hardware) and implements Reliability In-order delivery.
Client/Server Architectures
INTRODUCTION TO WEB DATABASE PROGRAMMING
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 3: Networking.
Network Address Translation (NAT)
Networked Games - consistency and real-time Objectives – –Understand the problems associated with networked games. –Realize the importance of satisfying.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
Lecture 8 Page 1 Advanced Network Security Review of Networking Basics: Internet Architecture, Routing, and Naming Advanced Network Security Peter Reiher.
Applets & Video Games 1 Last Edited 1/10/04CPS4: Java for Video Games Applets &
© BJSS Limited Going Agile UK TMF - April 2011 Mark Crowther, Test Consultant.
Scotty E. Hancock Rome/Floyd LEPC LEPC EXERCISING.
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
Military Simulation Case Study
Exercises for Chapter 2: System models
1 Distributed Systems: an Introduction G53ACC Chris Greenhalgh.
Scalability Don McGregor Research Associate MOVES Institute
Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)
CSCD 330 Network Programming Fall/Winter/Spring 2014 Lecture 1 - Course Details.
Chapter 22 Q and A Victor Norman CS 332 Spring 2014.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Parallel and Distributed Simulation Introduction and Motivation.
The High Level Architecture Introduction. Outline High Level Architecture (HLA): Background Rules Interface Specification –Overview –Class Based Subscription.
Chapter Four - Communication Architectures Two Players on a LAN 87 Multiplayer Client-Server Systems 90 Multiplayer Client-Server, with Multiple-Server.
Parallel and Distributed Simulation Introduction and Motivation.
MV-3500 DoD Modeling & Simulation Network Protocols.
WebSocket Gateway Don McGregor Research Associate MOVES Institute
Darkstar. Darkstar is a Sun research project on massively parallel online games The objective (not yet demonstrated!) is to supply a framework for massively.
TCP Sockets Reliable Communication. TCP As mentioned before, TCP sits on top of other layers (IP, hardware) and implements Reliability In-order delivery.
 What are CASE Tools ?  Rational ROSE  Microsoft Project  Rational ROSE VS MS Project  Virtual Communication  The appropriate choice for ALL Projects.
Efficient XML Interchange High Performance XML Don McGregor (mcgredo (at) nps.edu) Don Brutzman (brutzman (at) nps.edu)
Unit 9: Distributing Computing & Networking Kaplan University 1.
CSCD 330 Network Programming Winter 2015 Lecture 1 - Course Details.
High Level Architecture Time Management. Time management is a difficult subject There is no real time management in DIS (usually); things happen as packets.
Test Enabled and Training Architecture (TENA) Don McGregor Research Associate MOVES Institute
WebRTC Don McGregor Research Associate MOVES Institute
Website Design, Development and Maintenance ONLY TAKE DOWN NOTES ON INDICATED SLIDES.
Semester 1 v CCNA 1 Module 1:Introduction. Semester 1 v Connecting to the Internet.
Computational Thinking
CSCD 433/533 Advanced Computer Networks Lecture 1 Course Overview Spring 2016.
WHAT'S THE DIFFERENCE BETWEEN A WEB APPLICATION STREAMING NETWORK AND A CDN? INSTART LOGIC.
Computer Technology Semester 2 Final Exam Review.
Simulation Networking Standards and the Web Don McGregor Research Associate MOVES Institute
Web Design Vocabulary #3. HTML Hypertext Markup Language - The coding scheme used to format text for use on the World Wide Web.
Chapter 27 Network Management Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
The Concept of Universal Service
PROTOCOLS PROTOCOLS.
1.2 The Network Edge Beginning at the edge of a network we are looking at the components with which we are most familiar - namely, the computers that we.
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Simulation as a Service, Scalability, and Network Architectures
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Understanding the OSI Reference Model
Lecture 6: TCP/IP Networking 1nd semester By: Adal ALashban.
Presentation transcript:

Intro and Problem Statement Don McGregor Research Associate MOVES Institute

MV-3500 DoD Modeling & Simulation Network Protocols

Admin This class is intended to introduce you to the simulation network protocols used in DoD M&S applications This will require a little background on networking first, then we can look at two of the major protocols, DIS and HLA.

Admin Grading Two midterms (50%) Final project (25%) Programming assignments (25%) Contact: Watkins 281 (stop by any time) Phone (don’t) x mcgredo at nps edu; put MV3500 in the subject Web page:

Textbook Networked Graphics, Steed & Oliveira Read chapters 1 & 2 Chapter 2 will probably be over your head a bit; just roll with it.

Other Sources “I want to know everything about networking” Stevens: Unix Network Programming and TCP/IP Illustrated (V 1, 2, 3) Zyda: Networked Virtual Environments Gaffer on Games: Game Developer’s Conference Some commercial techniques are encumbered with intellectual property restrictions Neyland: Virtual Combat: A Guide to DIS SISO: DIS Plain and Simple Alexander, Massively Multiplayer Game Development

What Do We Want to Do?

Live, Virtual, Constructive The military wants to do a variety of simulations, including but not limited to Live: Real people, real systems Virtual: Real people, simulated systems Constructive: simulated people, simulated systems

Live An E-5 is driving a Stryker at NTC. The Stryker is generating Blue Force Tracker data. This is a real person driving a real vehicle. Perhaps he sees other live vehicles on his BFT. To increase the training experience, we might want to display simulated enemy forces as well. The training exercise is now no longer completely live—the BFT may be displaying computer-generated forces as well, a constructive element

Virtual An F-18 pilot is in a 6-axis dome simulator. This is a simulated weapon controlled by a real person. We can inject the Stryker BFT data into the F-18 simulator so that the pilot sees Strykers on the ground on the simulated NTC terrain The training now has live and virtual components

Constructive Suppose we don’t have all the live simulation red force necessary to achieve the training objectives. We can create computer-generated, AI-controlled tanks and inject them into the training environment The E-5 on the Stryker may see these on his situational display The F-18 pilot can see the computer-generated forces in his dome terrain The training is live, virtual, and constructive

How Do We Get There? Notice that these all involve sending data between computers, sometimes computers that are a long ways apart geographically What data do we want to send? What semantics do we need? What about practical issues, like latency and reliability? What if the computers are running different operating systems on different CPU architectures? What if the Stryker is using BFT and the dome simulator something else? Can you come up with some examples of the state data that we need to exchange?

Data (X,Y,Z), orientation, what entity type, terrain, velocity, unique entity identifiers, ….

Semantics Semantics are “meaning” associated with the values we send. Can you just transmit a few bytes of data to another host and call it good? Three floating point numbers (X,Y,Z) isn’t enough— also implied is a coordinate system with which those values are associated. These are the semantics associated with the three floating point numbers Are they referring to lat/lon/altitude? MGRS? What units? Where is the origin? How do we determine a position message is referring to a particular M1A2 tank? Semantics is extremely tricky to do in the general case. It is basically all the assumptions you make about data values

Practical Issues The speed of light limits network traffic speed, and the reality is often much worse. Human reaction time is around 250ms, and long haul network latency can often approach or exceed this. This can make “twitch” applications tricky; air to air combat, first person shooter, etc What if we send a message and it doesn’t arrive?

What Do We Want to Do? “Get relevant data to other computers in a format that can be understood, fast enough to be useful” This problem statement also happens to coincide with a lot of other commercial applications. The DoD uses the standards adopted by industry for “basic plumbing”, and adds its own “protocols” for its applications

Commercial Applications First Person Shooter Games: Modern Warfare, Call of Duty et al Massively Multiplayer Online Games (MMOG). Large scale, with thousands or tens of thousands of participants. World of Tanks Online worlds--live simulations and role playing in a virtual world; less emphasis on physics, more on human interaction. Second Life, Open Simulator To an extent there has been a convergence between the capabilities of military & commercial, but commercial is heavily focused on games What’s the difference between training and games, anyway? More of an issue of the goals than the technology

Protocols What do network protocols do? Basically, they are an agreed-upon way for applications to talk to each other If you have a Boeing flight simulator and a General Dynamics tank simulator and a Hughes helicopter trainer, it would be helpful if all of them could cooperate in the same networked virtual environment

Networked Virtual Environment (NVE) GD Tank Simulator Sikorsky Helo Simulator

“NVE?” Huh? What’s a “Networked Virtual Environment?” An illusion of a virtual environment that is shared between participating users. This is typically done across a network. In the tanks & helos example, we have a virtual battlefield, users controlling vehicles, and each user can view the virtual world from their own point of view.

Protocols So how do simulations talk to each other? Generally this happens across the network (“distributed”) as multiple computers cooperate on the problem. The substrate used by all modern simulations is TCP/IP sockets. This is a protocol, but DoD simulation protocols are built on top of TCP/IP Simulation protocols started with ad-hoc protocols, made up for each task Moved on to Distributed Interactive Simulation (DIS) and High Level Architecture (HLA) Web-based protocols are emerging

Simplified Diagram “Basic Plumbing”: TCP/IP “Semantics”: Simulation Protocol (DIS, HLA, etc) The Application: OneSAF, VBS2, etc Host 1 “Basic Plumbing”: TCP/IP “Semantics”: Simulation Protocol (DIS, HLA, etc) The Application: OneSAF, VBS2, etc The Network:State information messages sent Host 2

Protocols What if Strykers are generating BFT data with (X, Y, Z) in lat/lon/altitude, and the dismounted infantry simulator is using a simulation protocol coordinate system that using MGRS? The contents of the protocols are slightly different, in different order, floats vs. doubles, different semantics, etc. The lowest level, TCP/IP, simply ships bytes around with no knowledge of the contents In our simplified diagram, the protocols are in the second row of boxes The simulation application (VBS2, OneSAF, etc) make use of the protocols What happens if an application sends a DIS protocol message to an HLA application? What happens if VBS2 sends a DIS message to another DIS application?

Protocols (another look) TCP/IP Sockets Ad-Hoc Protocols DISHLA Web Services Application/Simulation

Installed Base vs Emerging From the 90’s until very recently the classic thing to do was run desktop simulation applications written in compiled C++ or Java applications. This has meant a lot of conventional programming and network programming I think the world is moving towards web-based and cloud-based applications, which require some different technology The economics are compelling. See the lack of desktop applications when compared to web applications. 10 years ago you installed a desktop mail application; now you use a web-based mail application Good integration with mobile devices

Installed Base Technology Compiled App Compiled Apps Communicating Over Network

Emerging Technolgy Javascript Web App Web Server Network

Brave New World The transition makes teaching the class a bit difficult. Most of the installed base of simulations use the compiled applications on workstations model. Much of the future is oriented towards the web. The technologies used are very different, and requires some context switching. We’ll try to give you some of both, but remember to keep clear which is which

Background During this class, we’ll look at each of these elements: – TCP/IP sockets – Ad-hoc protocols – DIS – HLA – Web Technology