An Event-Based Data Distribution Mechanism for Collaborative Mobile Augmented Reality and Virtual Environments DennisBrown,SimonJulier,YohanBaillot MarkA.Livingston ITTAdvancedEngineering&Sciences NavalResearchLaboratory 2560HuntingtonAve 4555OverlookAveSW Alexandria,VA22303 Washington,DC20375 fdbrown,julier,[email protected] [email protected] Abstract The problem of distributing data to such users is some- whatunusual. Mostresearchintodistributedvirtualoraug- The full power of mobile augmented and virtual real- mented reality focuses on the support of common, consis- itysystemsisrealizedwhenthesesystemsareconnectedto tentvirtualworlds,typicallymaintainedbyasmallnumber one another, to immersive virtual environments, and to re- of users. However, the objective of BARS is to support a mote information servers. Connections are usually made consistentinformationspace. Therefore,objectstendtobe through wireless networks. However, wireless networks less complicated and updates occur less frequently than in cannot guarantee connectivity and their bandwidth can be virtualenvironments. Furthermore,itrequiresaunifiedar- highlyconstrained. Inthispaperwepresentarobustevent- chitecturethatallowstransportofgeneralstateinformation based data distribution mechanism for mobile augmented thatcanbeusedformanypurposes,suchastheobvioustask reality and virtual environments. It is based on replicated of distributing the virtual object database, as well as more databases, pluggablenetworkingprotocols, andcommuni- generalusessuchas“remotecontrol”ofapplications. This cationchannels. WedemonstratethemechanismintheBat- systemmustalsohandlethepoornetworkconnectivitythat tlefieldAugmentedRealitySystem(BARS)situationaware- cansometimesbeencounteredinmilitaryoperations.Given ness system, which is composed of several mobile aug- theseparameters,wehavedevelopedarobust,flexible,and mented reality systems, immersive and desktop-based vir- generalevent-basednetworkinginfrastructurefordatadis- tual reality systems, a 2D map-based multi-modal system, tribution. The mechanism builds upon three techniques: handheldPCs,andothersourcesofinformation. distributed databases, pluggable transport protocols, and a high-levelmanagementtechniqueknownaschannels. The structure of this paper is as follows. The problem statementandasurveyofexistingliteratureisgiveninSec- 1.Introduction tion 2. Section 3 describes the event distribution system. ConclusionsandfutureworkarediscussedinSection4. Ascomputershavebecomesmallerandmorepowerful, theconceptofportable,highperformancesystemcomputer 2.ProblemStatement systemforaugmentedandvirtualrealityhasbecomefeasi- ble. State-of-the-art (2002) laptops boast processor, mem- ory, disk, andgraphicshardwarethatrivalsupercomputers TheBattlefieldAugmentedRealitySystem(BARS)isa from only five years ago. The full power of these systems collaborativemobileaugmentedrealitysystemdesignedto isrealizedwhenthesesystemsarenetworkedwithonean- improve the situation awareness and the coordination be- otherandwithremoteinformationservers. Forexample,a tween a team of mobile users. By situation awareness, we user walking down a street might be able to see the loca- mean that each user obtains a better understanding of the tionsofotherusers, up-to-dateinformationaboutpricesin environment. Thetypesofdataincludethenamesofbuild- shop windows, and even email [4]. In our research on the ings, routes, objectives, and the locations of other users. BattlefieldAugmentedRealitySystem(BARS)[9][11],we While short-range radio communications can accomplish arefocusedontheproblemofdevelopinginformationsys- much of this, the passive and natural display paradigm of tems able to provide users with “situation awareness” — augmented reality (AR) makes distribution of this type of dataabouttheirenvironmentanditscontents. informationimportantformobileARsystems. Report Documentation Page Form Approved OMB No. 0704-0188 Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number. 1. REPORT DATE 3. DATES COVERED 2003 2. REPORT TYPE 00-00-2003 to 00-00-2003 4. TITLE AND SUBTITLE 5a. CONTRACT NUMBER An Event-Based Data Distribution Mechanism for Collaborative Mobile 5b. GRANT NUMBER Augmented Reality and Virtual Environments 5c. PROGRAM ELEMENT NUMBER 6. AUTHOR(S) 5d. PROJECT NUMBER 5e. TASK NUMBER 5f. WORK UNIT NUMBER 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION ITT Advanced Engineering & Sciences,2560 Huntington REPORT NUMBER Ave,Alexandria,VA,22303 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S) 11. SPONSOR/MONITOR’S REPORT NUMBER(S) 12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release; distribution unlimited 13. SUPPLEMENTARY NOTES IEEE Virtual Reality 2003, March 22-26, Los Angeles, California: IEEE Computer Society, 2003 14. ABSTRACT 15. SUBJECT TERMS 16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF 18. NUMBER 19a. NAME OF ABSTRACT OF PAGES RESPONSIBLE PERSON a. REPORT b. ABSTRACT c. THIS PAGE Same as 7 unclassified unclassified unclassified Report (SAR) Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18 Thehardwareofoneofourprototypesystemsisshown inFigure1. Itconsistsofamobilecomputer,eitheranem- bedded PC with a high-end graphics card or a laptop with high-end graphics built in. A see-through SVGA display is worn by the user; we have built systems with the Sony GlasstronTM andtheMicrovisionNomadTM retinaldisplay. Thesystemsupportsspatializedaudiothroughsoftware,us- ingcommoditysoundcardsandheadphones. Theuserop- erates the system using a cordless mouse and a wrist key- board. A Global Positioning System (GPS) receiver han- dles position tracking while an inertial device handles ori- entationtracking. Acameracanbeusedfortrackingorfor sending video reports to a base station. Wireless 802.11b Figure2.ASampleAugmentation networking is used for data distribution and GPS correc- tions1. TheBARSmobileuserseesgraphicsonornextto the real objects they are intended to augment, as well as (cid:15) Datadistributionbetweenuserscanbeheterogeneous. status information such as a compass and messages from Differentusersmightcarryoutdifferenttasksandthus other users. Figure 2 shows an output from the system — havedifferentinformationrequirements. the parking lot is augmented to highlight the neighboring (cid:15) Thedistributionsystemshouldfacilitatecollaboration buildingandafellowBARSuser. between different users. In addition to environmental data,thedistributionsystemmustsupportthepropaga- tionofmeta-datasuchastaskassignments,objectives, andmessages. (cid:15) Usersshouldhavetheabilitytocreatereportsandup- dateentitiesinthedatabase.Forexample,ausermight observethatanenvironmentalfeature(suchasavehi- cle) is not where the database indicates it should be. Theusershouldhavetheabilitytomovetheobjectto itscorrectlocation. (cid:15) Network connectivity is unreliable. As a user moves fromlocationtolocation, receptionstrengthwillvary and the bandwidth can be limited and can be time Figure1.TheBARSWearable varying (depending on signal strength and number of users). This application introduces number of characteristics that impact the distribution of information and events be- Given its potential importance, a great deal of research tweenusers: hasbeencarriedoutintodistributedsystemsforvirtualand augmentedreality. (cid:15) The objective is to provide information, not a consis- The Naval Postgraduate School has been working on large-scale distributed virtual environments for over a tent virtual world. The environment can be viewed decade, their first version of NPSNET being shown in to be populated by a set of objects which are self- 1991.Thedatadistributioninthecurrentversion,NPSNET contained entities and other types of discrete data. V [3], uses replicated data and the model-view-controller Each object can be relatively simple. It is not neces- paradigmtomaintainit. Usersofthesystemseeaviewof sary to transmit complicated geometric objects or be- the entities (models) drawn by a rendering system. These haviors(suchasanimation). Thelatencyintheupdate entities are modified by the protocols (controllers) that ofanobjectoranentityisasecondaryconsideration. translate network messages into state changes. New pro- 1WhensomefutureversionofBARSisusedinrealoperations,com- tocolscanbeloadedatrun-timetoextendthebehaviorsof municationwouldlikelyhappenovertheUSmilitary’scommunications entities. Thepacketsaresentviamulticast,andthesystem system of that time, its construction probably influenced by the current allows many protocols to share a single multicast socket. researchdescribedbyNorthet.al.[13]. However,itislikelythatanyde- Network traffic is controlled with an area-of-interest man- ployedsystemwillstillhaveproblemswithconnectivityandbandwidthin built-upareas. ager. TheDistributedInteractiveVirtualEnvironment(DIVE) system [5] is designed to scale to many participants while maintaining a high level of interactivity at each site. It is basedonapeer-to-peerarchitecturethatusesreliablemul- ticasttomaintainadatabasethatisreplicatedateachpeer. Usingaheirarchicalpartitioningofthedatabase, onlypart ofthedatabasemaybereplicatedatsomepeers. Tomain- tain highly interactive rates, some copies of the database maybeupdatedfasterthanothers,buttherearemechanisms toensureequalityovertime. MASSIVE-2 [6] uses the concept of a local object, or Figure3.Eventdistributionwithinanapplica- artifact,andremoteviewsofthatartifact.Theseartifactsare tion: Arrowsshoweventmovement. pagedinandoutofremoteapplications. Aspatialmodelof interaction is used in that a remote application will have a focusthatdefinesasubgroupoftheartifactstopageinand sponsible for dispatching events within an application and out, instead of copying the entire database. Artifact state distributingthoseeventstoremoteapplications. changesaredistributedusingreliablemulticast. WhentheObjectandEventManagerreceivesanevent, Notallworkhasbeensolelyforimmersivevirtualenvi- itplacesitonanasynchronouseventqueue. Theeventdis- ronments. SomecollaborativeARsystemshavebeenbuilt, patchingthreaddeliverstheeventtoallthelistenersthatare typicallyforsmallgroupsofco-locatedusers.Oneexample subscribed to receive the specified event type. The event isSharedSpacesystem[2]forcomputer-supportedcollabo- dispatching mechanism maintains two sets of data — the rativeworkusingAR.Typically,usersareoperatingclosely setofvalidevent/listenerpairs,andthesetoflistenersreg- with one another and latency requirements are extremely istered for each event type. Because the event system has high. Another system designed for augmented and virtual itsrootsintheJavaAWTeventmodel[17]weleveragethe reality is COTERIE [12], which provides useful semantics Reflection API to achieve these steps. The type of each throughitsnotionsofDistributedSharedMemoryandCall- eventisspecifiedbyitsclass.Foreacheventtype,alistener backObjects. DistributedSharedMemoryallowsmanyap- is defined as well. When a listener is registered with the plications to shared the same data objects, while Callback object and event manager, its interface is queries and it is Objectsallowapplicationstobenotifiedofchangestothose registeredtoreceivealleventtypesforwhichitsinterfaceis dataobjects—anevent-likemechanism. TheStudierstube compatible. Therefore,itispossibletodynamicallyextend system[16]extendstheconceptthroughitsuseofanexten- thesetofeventandlistenertypesatruntime. siblescenegraphofapplicationobjectsthatisdistributedto Thefollowingisanexampleofthelifeofaneventwithin allusers. an application. A thread handling the position and orien- tation trackers will update the user’s position by calling a 3.TheBARSEventDistributionSystem method in the user object to set its attitude based on data gatheredfromthetrackers. Thismethodinturncreatesan The BARS distribution system is based entirely on the event encapsulating the change to the attitude and sends it concept of events. Events are used both to instantiate ob- to the dispatcher. The event arrives in the dispatcher’s in- jects(ineffect, transmitaviewofadatabasebetweensys- comingqueueandissoonprocessed. Thedispatchersends tems), to send information to update preexisting objects, theeventtoalllisteners,includingtheobjectitself,aswell andtoprovideothernon-databasestatusinformation(such asthegraphicssystem(toupdatetheviewpoint)andthefil- as a new objective for an individual user). The event dis- ter(toupdatewhatobjectsarebeingdrawn),andanyother tributionsystemisbasedonthreecomponents: eventtrans- registeredlisteners. Notethattheobject’sattitudeisn’tset porters, replicated object repositories, and communication untilitreceivestheeventbackfromthedispatcher(theal- channels. We will describe these components, as well as ternativeistosetthepositionatthesametimetheeventis theuseofbridgeapplicationstocommunicatewithoutside set) — this way, the order of events is retained by going virtualandaugmentedrealitysystems,andsomeotheruses through the event queue in the dispatcher. Figure 3 shows oftheeventdistributionsystem. theflowofeventswithinanapplication. Wehavedescribedhoweventspropagatewithinasingle 3.1.EventTransportation application instance. We extended this event mechanism to allow many separate BARS applications to trade events TheheartoftheeventtransportationsystemistheObject bycreatingEventTransportersthatallowObjectandEvent andEventManager. TheObjectandEventManagerisre- Managers in different application instances to send events to and receive events from each other using Internet Pro- system is self-contained, the user will have a working AR tocol (IP). If an event is tagged as distributed, an Event systemevenifallnetworkconnectivityislostduringanop- Transporter serializes the event and broadcasts it to other eration. applications. The Event Transporters in remote applica- Although network limitations may hamper wireless tions synthesize the event object, and dispatch it on those communications for the mobile users, there are very few applications’ event queues. Our system uses several types limitationsonthebaseusers. Theirapplicationsrunonsta- oftransporters,basedonIPmulticast,theLightweightRe- tionaryVRsystemssuchasadesktopcomputers,3Dwork- liable Multicast Protocol (LRMP) from INRIA [10], and benches,andimmersiveVRrooms. Usingthesamedistri- a combination protocol we call the Selectively Unreliable butionsystem,theywillhavehighlevelsofdetailandinter- MulticastProtocol(SUMP)thatcombinesIPmulticastand actionbytakingadvantageofthebetterbandwidthforrepli- LRMP. Typically, application instances use SUMP on the cating more objects and seeing change events at a higher localnetwork.Tocommunicateoutsideofthelocalnetwork frequency. (where multicast is typically filtered out) a TCP/IP trans- porter and bridge are used (described later in the Bridges 3.3.Channels section). BecauseoftheconnectionlessnatureofIPmulti- cast,thedistributionisrobustinthatthenetworkconnection Ifsimplyimplementedasdescribedabove,theeventdis- cancomeandgoandtheuserapplicationstillfunctions,al- tribution mechanism will send all events to every applica- thoughwithoutnetworkupdatesatsometimes. tion,whichforexamplewouldreplicatetheentiredatabase Aseventsarecreated,theyaretagged“reliable”or“un- insideeveryapplication. Asdemonstratedbytheworksof reliable”designatinghowtheyshouldbesent. Objectcre- othersdescribedearlier,creatingcopiesofeveryobjectfor ationanddeletionarealwayssentreliably. Objectchanges every user and updating those replicas would soon swamp are sent reliably or unreliably based first on whether the the network with information many users would not care change is relative or absolute. Relative changes have an about anyway. So, like those systems, we have devised a ordering and each one is important, so those are sent re- way of partially replicating the database to minimize the liably. Absolute changes, such as the constant updates of amountofunwanteddatadistributedtoeachapplication. a user position, are mostly sent unreliably since if one is In creating this replication mechanism, we first looked missed,thenextwouldoverwriteitanyway—periodically at the uses of BARS that should drive our policies. One these changes are sent reliably. This policy makes the as- condition to consider is that a mobile user can only see so sumptionthattheimplementationofIPnetworkinginareal muchanddealwithinformationinarelativelysmallradius, operationmaydropIPpacketsoften,makingreliablemulti- so we looked at a spatial area-of-interest mechanism. It is castexpensive,andsowedon’tsendeventsreliablyunless notnecessarilythecasethatamobileuseronlycaresabout we think it is truly necessary. Figure 4 shows the flow of objectsthatcanbeseenfromhisorhercurrentpositionin eventsbetweenapplications. therealworld;forexample,ourmobileapplicationincludes an overhead map mode in which the user can zoom out to 3.2.ReplicatedObjectRepositories an arbitrary height and would want to see objects within a possiblyhugeradiusaroundthecurrentposition. However, An object repository inside a BARS application holds itseemsthattherewouldbefewsituationsinwhichamo- the data for that application. This data consists of the bileuserwouldcareaboutobjectsveryfaraway,soformost mostly static models of the physical surroundings (build- situations,asimplearea-of-interestmechanismcouldwork. ings, streets, points of interest, etc), dynamic avatars for However, another condition is the type of information users and entities, and objects created as communications, beingdistributed. Evenifsomeobjectsareneartoamobile suchasreportsofenemylocations, routesforuserstofol- user, they may have no importance and could be distract- low,anddigitalink. Thisdatabaseisreplicatedinwholeor ing. Or, they may indeed be too far away to be seen, but inpartforeveryBARSapplication. veryimportant,suchaswithpossiblesniperlocations. For When an application starts, it loads an initial set of ob- thesecases,asimplearea-of-interestmechanismisn’tsuffi- jects from a number of sources, including data files, other cient. Inanearlierpaper[8],wedescribedafilteringmech- applicationsalreadyrunningonthenetwork,andfilesspec- anism for mobile augmented reality. This filtering mecha- ified on the command line. This initial set of objects typi- nism works on the object repository within an application. callyconsistsofstreetlabels,landmarks,buildinginforma- Itissufficientforitsoriginalgoalofnotshowingusersob- tion,andotherterrain-likeinformation,aswellasaninitial jects in which they have no interest in order to reduce dis- setofobjectives, routes, andphasemarkersforthecurrent playclutter. However,itsimplyhidesobjectsfromtheuser task. Therefore, since the user will have some form of the — it does not actually control whether or not the applica- databasetostart,andeverythingelseinthewearableBARS tion holds replicas of these objects, or whether or not the Figure4.Eventdistributionbetweenapplications: Arrowsshoweventmovement. canjoinandleavechannelsbasedonspatialareas. Another exampleisthesetofhazardousobjects;whileintheprevi- ous example, the application would replicate most objects nearby, thehazardousobjectschannelcouldcoveralarger area, but only include those hazards. BARS also has sev- eralinteractionmodulesthatproducemanyobjectsasthey areused. Oneinteractorisforconstructioninwhichusers cancollaboratetoplacepointsandbuildobjectsfromthose points [1]; in this case, the intermediate points would be in a channel only joined by the constructing users so that otheruserswouldonlyseethefinalobjects. Anotherinter- actorallowsausertodrawdigitalinkforinterpretationby a multimodal interaction system — this ink is turned into new objects or user interface commands. In this case, the user drawing the ink and the application to interface with the multimodal system would place the ink in a separate channelsothatotheruserswouldnotseethesesketchesout ofcontext. Figure5.Applicationjoinedtotwochannels: 3.4.Bridges Arrowsshoweventmovement. Aswealludedtointheprevioussectionwiththemulti- modal interaction example, some of our applications com- applicationstillreceiveseventsrelatedtotheseobjects. municate with other systems. We call these applications Keeping these situations in mind, we have developed bridges.TheseapplicationsjoinboththeBARSdistribution channels. The term has many uses in many systems, but system and an outside system. They translate object cre- in our system, a channel is a set of related objects. It is ationandchangesbetweenBARSandoutsidesystems. By implemented as an instance of an event transporter and a maintainingmapsbetweenBARSobjectsandtheseoutside multicast group designated for that transporter. An appli- objects, wecanrepresenttheoutsideobjectsinBARSand cation can join an arbitrary number of channels and create vice-versa. Two systems with which we can communicate new ones, until all available multicast groups are used up. are the Columbia Mobile Augmented Reality System [7] Figure5showsasingleapplicationusingtwochannels. and the Oregon Graduate Institute’s Quickset multimodal Oneexampleofachannelisasetofobjectsinacertain interface[14]. spatialarea. Asusersmovefromlocationtolocation,they We also mentioned that a TCP/IP transporter is avail- able in the BARS distribution system. Although the sys- Finally, we would like to implement some performance temisdesignedprimarilyformulticast,sometimesweneed evaluationcodeandrunteststocompareagainstotherdis- to connect to networks that block multicast. In this case tribution systems. While we’ve found the performance to we have a simple TCP/IP bridge application that joins lo- besufficientforourneeds,wehavenotactuallyquantified calmulticastgroupsandcreatessocketconnectionstoother ittocomparedagainstothersystems. BARSapplicationsthroughTCP/IPeventtransporters.This canbeabitofabottleneck, butwecancreateoneTCP/IP References bridge per outside application if necessary, and effective creationofchannelscanhelplimittheamountofdatatrans- [1] Y. Baillot, D. Brown, and S. Julier, “Physical Model ferred. Authoring Using Mobile Computers”, in Proceedings of the 2001 International Symposium on Wearable 3.5.OtherUses Computers,Zurich,October2001. The final aspect of the BARS event distribution system [2] M.Billinghurst, S.Baldis, E.Miller, andS.Weghorst, we will discuss is its flexibility. Although the system was “Shared Space: Collaborative Information Spaces,” in designedtocarryinformationaboutobjectsinthedatabase, ProceedingsofHCIInternational1997,pp.7-10. at its heart, it is still a distributed event system. We use the same base event types and transporters for other pur- [3] M. Capps, D. McGregor, D. Brutzman, and M. Zyda, poses. Onesetofeventsare”meta-events”toconfigurethe “NPSNET-V: A New Beginning for Dynamically Ex- event transporters; a similar set of events configures chan- tensible Virtual Environments,” in IEEE Computer nels. Another set of events is used to distribute our user Graphics&Applications,September/October2000. interface to remote systems — for example, when a new [4] S.K.Feiner,“AugmentedReality: ANewWayofSee- useristryingouttheBARSmobilesystemandisunfamil- ing”, in Scientific American, Vol. 286, No. 4, April iarwiththeuserinterface,wecancontrolitsuserinterface 2002,pp.48–55. fromanothercomputer(includinghandheldcomputersand PDAs)bysendingandreceivingeventsthatarehandledby [5] E. Fre´con and M. Stenuis, “DIVE: A scaleable net- theuserinterfacesystem. workarchitecturefordistributedvirtualenvironments,” inDistributedSystemsEngineeringJournal(specialis- 4.ConclusionsandFutureWork sueonDistributedVirtualEnvironments),Vol.5,No.3, Sept.1998,pp.91–100. Wehavepresentedanevent-baseddatadistributionsys- tem that we have fully implemented for BARS, our mo- [6] C.Greenhalgh, “Dynamic, embodiedmulticastgroups bileaugmentedrealitysystem,thataddressessomerequire- in MASSIVE-2,” Technical Report NOTTCS-TR-96- ments we encounter that developers of networked virtual 8,DepartmentofComputerScience,TheUniversityof environmentsdonot. Someoftheseareworkingonunreli- Nottingham,UK,1996. ablenetworkconnections,handlingmanyusersthroughits [7] T. Ho¨llerer, S. Feiner, T. Terauchi, G. Rashid, and channels, working well in both high-bandwidth (base VE) D. Hallaway, “Exploring MARS: Developing Indoor andlow-bandwidth(mobileAR)applications,communicat- and Outdoor User Interfaces to a Mobile Augmented ingwithoutsidesystemsthroughitsbridges,andbeingflex- Reality System,” in Computers and Graphics, 23(6), ibleenoughfornon-databasedatadistribution. ElsevierPublishers,Dec.1999,pp.779-785. For future work, we need to develop the channel con- cept further. Specifically, we would like to develop intel- [8] S. Julier, M. Lanzagorta, S. Sestito, L. Rosenblum, ligentalgorithmstoautomaticallycreatechannelsandjoin T. Ho¨llerer, and S. Feiner, “Information Filtering for applicationstothosechannels.Thesealgorithmswouldtake Mobile Augmented Reality,” in Proceedings of the intoaccountsuchfactorsasdatabaseobjecttypes,theuser’s IEEE2000InternationalSymposiumonAugmentedRe- task,location,andshort-terminterests,andnetworkcondi- ality,Germany,October2000. tions. Wealsowillcontinuecreatingbridgeapplicationsto widely-usedmilitaryinformationsystems. [9] S. Julier, Y. Baillot, M. Lanzagorta, D. Brown, and Thesecondareaweshallconsideristheproblemof“par- L. Rosenblum, “BARS: Battlefield Augmented Re- titioned”datanetworks[15].Theseariseifamobileuser(or ality System,” NATO Information Systems Technol- setofmobileusers)areoutofcontactforprolongedperiods ogyPanelSymposiumonNewInformationProcessing of time. During this time, multiple state updates have oc- TechniquesforMilitarySystems,Istanbul,Turkey,Oc- curredanditisnecessarytosynchronizethesystemsagain. tober2000. [10] T. Liao, “Light-weight Reliable Multi- cast Protocol Specification,” Internet-Draft http://webcanal.inria.fr/lrmp/draft-liao-lrmp-00.txt, October13,1998. [11] M.A.Livingston,L.Rosenblum,S.Julier,D.Brown, Y.Baillot,J.Swan,J.Gabbard,andD.Hix,“AnAug- mented Reality System for Military Operations in Ur- ban Terrain,” Proceedings of the Interservice/Industry Training, Simulation and Education Conference 2002, Orlando,December2002. [12] B.MacIntyreandS.Feiner, “Language-levelsupport for exploratory programming of distributed virtual en- vironments,”inProceedingsofUIST’96(ACMSympo- siumonUserInterfaceSoftwareandTechnology),Seat- tle,November1996. [13] R. North, D. Bryan, and D. Baker, “Wireless Net- worked Radios: Comparison ofMilitary, Commercial, andR&DProtocols,”inProceedingsofthe2ndAnnuel UCSD Conference on Wireless Communications, San Diego,February1999. [14] J.Pittman,I.Smith,P.Cohen,S.Oviatt,andT.Yang, “Quickset: A multimodal interface for millitary sim- ulations,” in Proceedings of the 6th Conference on Computer-GeneratedForcesandBehavioralRepresen- tation, University of Central Florida, 1996, pp. 217- 224. [15] N. Reijers, R. Cunningham, R. Meier, B. Hughes, G. Gaertner, and V. Cahill, “Using Group Communi- cationtoSupportMobileAugmentedRealityApplica- tions,” in Proceedings of the 5th IEEE International Symposium on Object-oriented Real-time Distributed Computing(ISORC2002),CrystalCity,VA,2002. [16] G.ReitmayrandD.Schmalstieg,“MobileCollabora- tive Augmented Reality,” in Proceedings of the IEEE 2001 International Symposium on Augmented Reality, NewYork,October2001. [17] Sun Microsystems, Inc., Java API Documentation, http://java.sun.com/docs