Download Intro - MOVES Institute

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Intro and Problem Statement
Don McGregor
Research Associate
MOVES Institute
[email protected]
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-7605
Email:mcgredo at nps edu; put MV3500 in the subject
Web page:
https://www.movesinstitute.org/~mcgredo/MV3500
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: http://gafferongames.com/
• 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
Host 1
Host 2
The Application: OneSAF,
The Application: OneSAF,
VBS2, etc
VBS2, etc
“Semantics”: Simulation
Protocol (DIS, HLA, etc)
“Semantics”: Simulation
Protocol (DIS, HLA, etc)
“Basic Plumbing”:
“Basic Plumbing”:
TCP/IP
TCP/IP
The Network:State information messages sent
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)
Application/Simulation
Ad-Hoc
Protocols
DIS
TCP/IP Sockets
HLA
Web
Services
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
App
Compiled
App
Compiled Apps Communicating Over Network
Emerging Technolgy
Javascript
Web App
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