[MUD-Dev] New MMP Networking Architecture
Fri Oct 19 14:41:00 New Zealand Daylight Time 2001
<EdNote: Please don't rely on me to fix attributions.>
> The above summary of Open Skies leaves out much of their history
> and grounding in solid research and implementations. Open Skies
> bases their product on HLA, the Department of Defense standard
> "High Level Architecture" which was the successor to the older DIS
> standards. Cybernet has been working in that field for years, so
> I'd doubt that that part of their product is new or totally
> unproven. (That's not something that I'd expect to be true for
> some of the other products in the field.)
> A good starting point for information on HLA itself is at
> The High Level Architecture (HLA) is a general purpose
> architecture for simulation reuse and interoperability. The
> HLA was developed under the leadership of the Defense
> Modeling and Simulation Office (DMSO) to support reuse and
> interoperability across the large numbers of different types
> of simulations developed and maintained by the DoD. The HLA
> Baseline Definition was completed on August 21, 1996.
This does seem to be a good starting point, clarifying that HLA +
RTI is a form of object brokering system, similar to CORBA (in fact,
it appears that they based many of their design decisions on CORBA
1), except that the concepts have been modified to an extent to work
with simulations. The HLA works through federations of objects
distributed over multiple servers and clients, using the RTI
HLA provides high level object brokering facilities, specialized to
work within the domain of real-time theater of operations
simulations. It's designed to be Peer to Peer, rather then client
server, though OpenSkies implementation offers a Client Server
extension (it sounds like individual clients can still operate in
peer to peer mode, though it is discouraged for large numbers of
players on the internet -- it should be fine with local area, high
What HLA provides:
- A method of interchanging metadata so servers can describe what
exactly they know about, as well as the interactions they support
being preformed on each other. The metadata being interchanged is
an early version of what the OMG offers with XMI, except in a
lispish form. You would have to do the same thing with a Windows
based solution by publishing new COM interfaces if you wanted to
update the presentation that a client saw.
- A method of negotiating a simulation heart beat -- a maximum
unit of time after which any old data that is sent is ignored.
This does make sense -- you need things like that in order to deal
with dead reckoning, and the true nature of
- There is a concept of area of interest management -- data is
routed to the servers that can handle it.
- Constraints on what is a valid input/output from any given
interface function. Anything outside of that those parameters can
then be recognized as being spoofed.
- Data reliability requirements.
- Object migration across peers (only the owner of an object can
modify its data, but ownership can be transferred).
What RTI provides:
RTI is the runtime infrastructure for HLA. The RTI provides
whatever support code needed for the operation of the peer, which
In my skimming of the information, I couldn't find a strict
definition of the wire protocol/inter RTI communications stuff. It
appears that it is a per vender solution right now, much like
CORBA's IIOP was ill defined at the time of the HLA's inception.
This link has some more information on the networking issues on:
(And numerous other things that you can find with Google and the
keywords ('HLA','RTI' and 'wire protocol')
Of course, one could take the IDL sources that are provided as a
definition of what's needed for both the RTI and the HLA, and
provide a CORBA interface relatively easily -- there's still a lot
of development time required.
There is a reference implementation available from the DMSO if
you're willing to go through their registration process. At the
very least, there is documentation there that is freely available if
you choose to get a temporary user account and password that might
provide more information on the wire protocol that they used.
The documentation for HLA is pretty complete on the OpenSky web
Norman Nunley, Jr.
MUD-Dev mailing list
MUD-Dev at kanga.nu
More information about the MUD-Dev