proceedings of the 2002 winter simulation conference

7
Proceedings of the 2002 Winter Simulation Conference E. Yücesan, C.-H. Chen, J. L. Snowdon, and J. M. Charnes, eds. VRML CLIENTS LINKED THROUGH CONCURRENT CHAT Lee A. Belfore II Sudheer Battula Department of Electrical and Computer Engineering YnotLearn, Inc. Virginia Modeling Analysis and Simulation Center Virginia Beach, Virginia, U.S.A. Old Dominion University Norfolk, Virginia, U.S.A. ABSTRACT Internet based virtual reality offers the opportunity to ren- der content in three dimensions. In addition, the Internet provides a medium to support collaborative activities. In this work, we describe how collaborative capabilities are in- tegrated into the Interactive Land use VRML Application (ILUVA). ILUVA is a VRML based application that supports highly interactive functionality, live updates, and the dynamic generation of VRML content. The collaborative functions have been added in the context of an Internet chat session in which multiple users may participate from the Internet. In addition to the usual functions supported by chat applica- tions, user information sharing is supported. The union or intersection of sessions from different users may be produced and reviewed in the world. 1 INTRODUCTION Internet technology provides both the fabric and function for collaborative enterprise. Providing the ability to effectively communicate from any location on the Internet is an im- portant consideration given the impact the Internet has on many people’s personal and business lives. Several tech- nologies provide useful bases for exploration. Our VRML applications have evolved, first through development of the client part (Belfore 2001) and then have been extended to in- clude client server applications (Belfore and Chitithoti 2000, Belfore and Chitithoti 2001). The client applications are stand-alone applications that support live updates, or the abil- ity to add content to the world without reload. A variety of models can be added to a client session including, for exam- ple, buildings, roadways, and areas of interest. Most models include the ability to be moved and edited to suit the particular circumstances. Collectively, the session represents an area of interest that includes improvements and modifications that are visualized. The application integrates GIS and planning information appropriate for the theme of the application. To expand the capabilities, server processing has been devel- oped to increase the flexibility and capabilities (Belfore and Chitithoti 2000, Belfore and Chitithoti 2001, Belfore 2002). The server processing provides the opportunity to enforce access control, enable selection of the content to be viewed, and to generate content dynamically. Indeed, in (Belfore 2002), GIS VRML content is generated by translating native GIS content, in the form of ESRI Shapefiles (ESRI 1998), on demand. To support information sharing, a mechanism must be in place to allow users to determine what information can be shared and how that information is shared. As described in prior works (Belfore and Chitithoti 2000, Belfore and Chi- tithoti 2001, Belfore 2002), a user has several usage options including starting a new session, revising an old session, or including a session made available by another user. Sessions from other users are read only to protect the integrity of the original user’s session. The application supports multiple simultaneous logins from a single user who is restricted to reviewing sessions not actively being reviewed. Interaction among users is limited since information can be shared only at login. The results described in this paper extend prior efforts by enabling the creation and management of virtual worlds that allow interactive collaboration through a chat session. In addition to the expected capabilities associated with a chat application, users may share information from sessions each has created. Furthermore, simple operations for combining information from different user sessions have been imple- mented through intersection and union operations. The op- erations give participants the ability to determine common- ality between their respective efforts through the intersection operation and combine their efforts using union operations. Several other researchers have made contributions in the development of VRML based collaborative virtual worlds (Testani, Wagner, and Wehden 1999, Brutzman, Zyda, Wat- son, and Macedonia 1997, The Web3D Consortium, Incor- porated 2000, Kirner, Kirner, Kawamoto, Cantao, Pinto, and Wazlawick 2001, Damer, Marcelo, and Revi 1999). The work most similar to ours includes a concurrent chat that links clients in an educational application (Kirner, Kirner, Kawamoto, Cantao, Pinto, and Wazlawick 2001). A chat that links clients and their worlds to a chat server enables commu-

Upload: others

Post on 30-Dec-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Proceedingsof the2002Winter SimulationConferenceE. Yücesan,

�C.-H. Chen,J. L. Snowdon,andJ. M. Charnes,eds.

VRML CLIENTS LINKED THROUGH CONCURRENT CHAT

LeeA. BelforeII SudheerBattula

Departmentof ElectricalandComputerEngineering YnotLearn,Inc.VirginiaModelingAnalysisandSimulationCenter VirginiaBeach,Virginia,U.S.A.

Old DominionUniversityNorfolk, Virginia,U.S.A.

ABSTRACT

Internetbasedvirtual reality offers the opportunityto ren-der contentin threedimensions. In addition, the Internetprovides a mediumto supportcollaborative activities. Inthiswork, wedescribehow collaborativecapabilitiesarein-tegratedinto the Interactive Land useVRML Application(ILUVA). ILUVA isaVRML basedapplicationthatsupportshighly interactivefunctionality, liveupdates,andthedynamicgenerationof VRML content. The collaborative functionshave beenaddedin the context of an Internetchatsessionin which multiple usersmay participatefrom the Internet.In additionto theusualfunctionssupportedby chatapplica-tions, userinformationsharingis supported.The union orintersectionof sessionsfromdifferentusersmaybeproducedandreviewedin theworld.

1 INTRODUCTION

Internettechnologyprovidesboththefabricandfunctionforcollaborative enterprise.Providing theability to effectivelycommunicatefrom any location on the Internet is an im-portantconsiderationgiven the impact the Internethasonmany people’s personaland businesslives. Several tech-nologiesprovide usefulbasesfor exploration. Our VRMLapplicationshave evolved,first throughdevelopmentof theclientpart(Belfore2001)andthenhavebeenextendedto in-cludeclientserverapplications(BelforeandChitithoti 2000,Belfore and Chitithoti 2001). The client applicationsarestand-aloneapplicationsthatsupport liveupdates,or theabil-ity to addcontentto theworld without reload. A varietyofmodelscanbeaddedto aclientsessionincluding,for exam-ple,buildings,roadways,andareasof interest.Mostmodelsincludetheability tobemovedandeditedtosuittheparticularcircumstances.Collectively, the sessionrepresentsan areaof interestthatincludesimprovementsandmodificationsthatarevisualized.TheapplicationintegratesGIS andplanninginformationappropriatefor thethemeof theapplication.Toexpandthe capabilities,server processinghasbeendevel-opedto increasetheflexibility andcapabilities(Belforeand

Chitithoti 2000,BelforeandChitithoti 2001,Belfore2002).The server processingprovides the opportunityto enforceaccesscontrol,enableselectionof thecontentto beviewed,and to generatecontentdynamically. Indeed,in (Belfore2002),GISVRML contentis generatedby translatingnativeGIScontent,in theform of ESRIShapefiles(ESRI1998),ondemand.

To supportinformationsharing,a mechanismmustbein placeto allow usersto determinewhatinformationcanbesharedandhow that informationis shared.As describedinprior works (BelforeandChitithoti 2000,Belfore andChi-tithoti 2001,Belfore2002),auserhasseveralusageoptionsincludingstartinga new session,revising anold session,orincludingasessionmadeavailableby anotheruser. Sessionsfrom otherusersarereadonly to protecttheintegrity of theoriginal user’s session. The applicationsupportsmultiplesimultaneouslogins from a singleuserwho is restrictedtoreviewing sessionsnot actively beingreviewed. Interactionamongusersislimitedsinceinformationcanbesharedonly atlogin. Theresultsdescribedin thispaperextendprior effortsby enablingthecreationandmanagementof virtual worldsthatallow interactivecollaborationthroughachatsession.Inadditionto the expectedcapabilitiesassociatedwith a chatapplication,usersmayshareinformationfrom sessionseachhascreated.Furthermore,simpleoperationsfor combininginformation from differentusersessionshave beenimple-mentedthroughintersectionandunionoperations.Theop-erationsgive participantstheability to determinecommon-ality betweentheirrespectiveeffortsthroughtheintersectionoperationandcombinetheir effortsusingunionoperations.

Severalotherresearchershavemadecontributionsin thedevelopmentof VRML basedcollaborative virtual worlds(Testani,Wagner, andWehden1999,Brutzman,Zyda,Wat-son,andMacedonia1997,TheWeb3DConsortium,Incor-porated2000,Kirner, Kirner, Kawamoto,Cantao,Pinto,andWazlawick 2001, Damer, Marcelo, and Revi 1999). Thework most similar to ours includesa concurrentchat thatlinks clients in an educationalapplication(Kirner, Kirner,Kawamoto,Cantao,Pinto,andWazlawick 2001).A chatthatlinksclientsandtheirworldstoachatserverenablescommu-

BelforeandBattula

nicationandmodificationof theworlds. Onecharacteristicthatdistinguishesourapplicationis themannerin whichob-ject propertiesarechanged.In (Kirner, Kirner, Kawamoto,Cantao,Pinto, andWazlawick 2001),a dialog appearsforediting object locationandappearancewhereasin our ap-plication,a usermodifiesobjectsthroughcandraganddropactionson objectswithin theworld. TheNerve Gardenar-chitecture(Damer, Marcelo,andRevi 1999)describeshowalgorithmsmimicking life processesareusedto createandplantartificialplants.NerveGardenisacollaborativelabora-toryallowinguserstocreateandgerminateplantsin anappletwindow with subsequentinsertioninto a scenegraphcom-mon to all users. The vrtp (Brutzman,Zyda, Watson,andMacedonia1997)describesa generalapproachfor linkingVRML basedworldsandseveralexampledeployments(TheWeb3DConsortium,Incorporated2000). (Testani,Wagner,andWehden1999)describesa virtual trainingenvironmentallowing participantsat distantlocationsto collaborate.In-teractionamongusersis accomplishedusing a multi-userdomain(MUD). A key contribution of this work is the de-scriptionof a softwarearchitecture.

This paperis organizedinto five sectionsincluding anintroduction,anoverview of theILUVA architecture,a pre-sentationof thechatarchitecture,anexamplesession,andaconclusion.

2 OVERVIEW OF THE ILUVA ARCHITECTURE

The applicationarchitectureis assembledto link four pri-marycomponents(BelforeandChitithoti 2000,BelforeandChitithoti 2001,Belfore2001,Belfore2002).Thefirst com-ponentis thedomaindatathat is usedto setthecontext forthe world. The secondcomponentis the server that satis-fies userrequests,convertsbetweendataformats,andlogssessions.Thethird componentis theclient applicationthatrenderstheworld. The fourth component,thechatcompo-nent is describedin the next section. The interrelationshipamongthefirst threecomponentsis illustratedin Figure1. Atstartup,theuserrequeststheURL for theworld. In response,theserverprovidesbothstaticinformationanddynamiccon-tentthatis assembledto createtherequestedworld. Duringa session,the userhasthe ability to make live updates,i.e.modify theworld,saveapplicationinformationontheserver,andrestorea prior session.

2.1 Server Architecture

A key challengein creatingvisualizationsis beingable toprovide timely, up to dateinformation to clientsautomati-cally. In order to achieve this flexibility , the server needsto be able to determinewhat information is available andthenpresenttheappropriatechoicesto theuseruponloggingin. Furthermore,the maintenanceproceduresfor updatingandaddinginformationshouldbe simpleandreliable. Ta-

VRML Plug-in

ApacheWebServer

ContentURLURLContent

zones

urban

Display

RecordDocumentDirectory

Servlets

Host Machine

Client Machine

DatabaseReset

Figure1: Top Level Architecture

ble1 showsahigh level sequenceof theactivities thatoccurin a session.The client andserver have specificfunctionsthat occur in eachstep. In addition,the administrative as-pectsfor eachactivity aredescribedin thethird column.Theserver architectureis built upontheApachewebserver andApacheJServservletengine.Apacheprovidesall of thenec-essarycapabilitiestoservefilesontheInternet.ApacheJServenablesthecodingof servlets,light weightJavamethods,foraccesscontrol,sessioncontrol,generationof dynamiccon-tent, and logging useractivity. The server architectureisdesignedto makeupdateof currentanddevelopmentof newdeploymentsaseasyaspossible. The currentwork buildson server functionality describedin (Belfore andChitithoti2001,Belfore2002)andaddssignificantcapabilitiesfor inte-gratingdynamiccontent.Usersmaylogandafterloggingin,

Table1: User, Client,andAdministrativeAspects

Client Server AdministrativeLogin Login page, user

authenticationUserinformation

Configure Provide choices,take responses

Datarepositories

Generate Content, assem-bly, generation,conversion

Methods to sup-port generationofworlds

Explore Monitor, log, con-tent

Associateloggingwith user

theuserhastheopportunityto selectinformationto view andotheraspectsrelatedto theconfigurationof theworld. Fromthis configurationinformation,therequestedinformationisformattedandpresentedto theuserfor verification. At thispoint,theserverassemblestheinformationandmakeswhat-

BelforeandBattula

everconversionsarenecessaryto includetheinformationintheworld. Oncetheclient hasrenderedtheworld, theuserexplorestheworld. At varioustimes,informationis passedbackto theserver to providearecordof certainevents,suchastheadditionor modificationof a feature.

2.2 Client Architecture

Thedetailsof theclientarchitecturearedescribedelsewhere(Belfore andChitithoti 2000,Belfore andChitithoti 2001,Belfore2001). Theclient is written entirely in VRML andsalientaspectsof the architecturearedescribedhere. Thepurposeof theclient is to provide a platformuponwhich torenderthe world andallow the userthe ability to navigatethroughandinteractwith theworld. In additionto managingthe direct interactionswith the user, the client architecturemustalsocommunicatewith theserver. Theclientarchitec-tureis shown in Figure2. GISinformationcanbeintegrated

Server

Server

points

command

grant

object type

grant

requ

est

request

number of points required

parameters

ResourceManager

ManagerCollision

Object

Work ZoneMain

Arbiter

ManagerSimulation

collision data

bounding box

Initializationhandshake

Menu

Figure2: Client Architecture(BelforeandChitithoti 2001)

in several ways. In the basevisualization,GIS providesabasicframeof referencefor theapplication,describingter-rain,imageryandotherdesiredfeatures.In addition,theGIScanbeacomponentin theapplicationthatausercanchangethe appearanceof or otherwisemanipulate(Belfore 2002).To control the differentcapabilitiesandfeatures,a userin-terfaceis includedto helpguidetheuserthroughtheworld.Theuserinterfaceis implementedasa head’s up displayintheworld thatalwaysfollowstheuser. Theuserinterfacecanincludesuchfeaturesasnavigationaidesto assisttheuserinidentifying importantfeaturesor locations.A live updateisaprocesswherebynew contentis integratedinto anexistingworld. Dependingon thecomplexity of theupdatedcontentandits linkageto theworld, theprocessof performinga liveupdatecanbe complicated. In ILUVA, addedcontentcanbemovedandmanipulatedrequiringa separatemodule,theresourcemanager, to coordinate.Furthermore,caremustbetakenin definingthearchitectureof thecontentto beadded.Figure3 givesanoverview of theobjectarchitecturethat isdeployed in ILUVA (Belfore 2001). Browserapplicationstypically have limited capabilitiesto protectthe userfrommaliciousor inadvertentmodificationof dataon the clientmachine.Thus,in orderto captureinformationfrom a usersession,communicationwith the server is necessary. The

ModelControl

Updates to Server

Any update

Monitor

fields

type

dimensions

location

orientation

parking

etc.

CollisionManager

Bounding Box

Collisioncollision

LocalArbiter

selectedRequest

GrantHighlight

Object Activated

CommandConfiguration and state

Interaction Layer

User interactionSensors

Touch and Planeselect, position, orientation

Edit Layer

Edit Controls

BehaviorLayer

Figure 3: Object Architecture Supporting Live Updates(Belfore2001)

client applicationcommunicateswith theserver by request-ingURLsfor servlets.Theseservletsmaydirecttheservertolog theinformationor mayalsobearequestfor VRML con-tent thatcanbesubsequentlybeaddedto theworld. Thesecommunicationissuesaredescribedin detailin (BelforeandChitithoti 2001).

3 THE CHAT ARCHITECTURE

Building onprior work, ILUVA chatis aclient serverarchi-tecturethatimplementsthechatthatrunsconcurrentwith thesession.The technologyfor constructingchatapplicationsis well defined(Harold2000). In this work, usershave twomethodsfor communicating.Previously, ILUVA providedinformationsharingonly throughthesharingof sessionsina non-interactive fashionasdescribedin (Belfore andChi-tithoti 2001).A chatapplicationhasbeenintegratedinto theILUVA to extendits multiusercapabilities.Thechatappli-cation,implementedin Java,providesamethodallowing im-mediatecommunicationamongclientsthroughachatserverapplication.Thechatsupportstheexportingandimportingof sessionsbetweenusers.Thelatterpartof this sectionex-plains the chatclient, chatserver, importing a sessionandexportinga session.Thechatapplicationarchitectureis il-lustratedin Figure4. In orderto assuresessionownersretaincontrolovertheirsession,sharingof sessionsisaccomplishedonly with their consent.Theusersnegotiatesharingby ex-changingchat messages.Export of a sessionoccursafterthe provider exportsthe requestedsessionthroughthe chatclient. Uponnotificationof theexport, thefirst userreloadsthescenethatincludesthecombinationof thecurrentuser’ssessionandtheexportedsession.

3.1 Chat Protocol

Thechatprotocoloperatesin a client-servermodewith oneserver and several clients. Sockets are openedbetweenasingleserverandeachclientaseachuserlogsin andusersare

BelforeandBattula

Chat Server

Interlock

VRML Frame

URLs

Client

Content

Apache

Servlets

Server

Database

Chat Client

Figure4: ChatApplicationArchitecture.

added.Thechatserver is capableof acceptingconnectionsfrom chatclientsandrelayingmessagesamongsttheclients.Thechatclient takesinput from theuserandcommunicatesthis informationto theserver. In addition,theclientdisplaysany updatesfrom theserver. This formsthegroundwork forthechatapplication.Thechatprotocolissimpleandsupportsa handfulof basiccommandssummarizedin Table2.

Table2: ChatCommandSummary

Command DescriptionStartUserList informsthechatclientthatit isabout

to receive is thelist of usersAdd addsa userto theuserlist box in all

thechatclientRemove removesauserfrom theuserlist box

of all thechatclientsEndof UserList no more user to be updatedin the

userslist box of the chatclientsofall users

exportunion export operationwith union the oftwo sessionshasto beperformed

export intersection export operation with intersectionthe of two sessionshas to be per-formed

3.2 Chat Client

Thechatclientthatis embeddedinto ILUVA is aJavaapplet(Harold 2000). Thechatclient appearsin a browserframeandhastheappearanceshown in Figure5. Informationre-lating to individual usersis storedas browser parameters,previously setduring the login processby servlets,that thechatclientusestonegotiateasocketconnectionwith thechatserver. Thechatclient interfaceincludesthreebuttons,tworadiobuttons,alist, andtwo text boxes.In onetext box,mes-sagesfrom otherusersaredisplayed,servingasthebulletin

boardfor thechatserver. In typical “chat” fashion,theuserrespondsto the messagesin the bulletin boardby enteringa messageto send.Thetwo remainingbuttonsareusedforexportingasessionto a userandimportinga sessionfrom auser. Thelist boxdisplaysall theuserswhohavebeenloggedon this virtual environment. If a sessionis to be exported,theuserhasto selectauser(to whomtheuserlikesto exportasession)from thelist. A mouseclick on theuserin thelistsetstheenvironmentfor exportingasessionto him/her. Theexportbuttonhasto bepressedin orderto transfera sessionto theselecteduser. Throughthechatbulletinboardtheuserscannegotiatetheexchangeof information. Oncetheexportis confirmed,the recipientselectsthe reloadbutton to viewall theobjectsthathavebeenexportedfor theselectedoper-ation. The radio buttonsfor union andintersectioncontroltheexportfunction. Everyapplethasathread(Harold2000)thatreadsto andwritesfrom thechatserver. Thecommandsthatareexchangedarelistedin Table2. In addition,thechatclient handlesfunctionssuchas addinga userto the userlist uponloggingin, deletingtheuserwhenloggedout,andmanagingthe client chatdisplay. User informationfor thechatserverisprovidedthroughservletcallsontheserverthatmaintainandupdatelist of concurrentchatclients.

Figure5: ChatClient Appearance

3.3 The Chat Server

The chat server operateson the samemachinethat servesInternetcontentandservletmethods. This is necessaryinourapplicationbecausebothaccessa commondatabaseonthis machine. The chatserver will responduponreceivingany of theclient commandssummarizedin Table2 andper-form therequiredprocessing.Whena new userlogsin, theuseris connectedto thechatserver by issuinganaddcom-mand.Sinceseveralusersmaybeloggedin simultaneously,multi-threading(Harold2000)is necessary. Requestsfromtheclient areprocessedandthechatserverprovidesseveralresultsincludingalist of chatparticipants,availableexportedsessions,andsessionoperations.Thechatservermustinter-actwith the samedatabaseastheservletsdescribedabove,so an interlock mechanismis implementedto ensurethatthedatabaseis not corrupted.Wheneithertheexport-unionor export-intersectioncommandsareissued,theserver willcombinethesessionsin therequestedfashion.Currentlytheunionandintersectionoperationsaredeterminedby identify-ing coincidentobjectsin thesceneaslistedin therespectivesessionfiles for theusers.Theunionoperationenablescol-

BelforeandBattula

laboratorsto combinetheir work into a singlesession.Theintersectionenablesuserstoexaminedifferencesbetweenthesessions,useful if both arecomparingmodificationsto thesamearea.

4 SESSION

In this section,anexampleof aninterchangebetweenusersis presented.The ILUVA applicationsupportssharingofinformationbetweenusersin two methods.Theinformationsharingmechanismdiffers in whetheror not the direct andimmediateinteractionwith anotheruseris necessary. In thefirst case,whenuserslog in, sessionsexportedby otherusersareavailabletheir review (BelforeandChitithoti 2001). Bythis method,sessionsareexportedin a read-onlyfashiontoprotectthe integrity original user’s session. In this work,a second,moreinteractive sharingmethodis presentedthatreliessupportedby a chatapplication. Using the chat, theuserscan merge their sessionsusing a union operationoridentify the commoncomponentsthroughthe intersectionoperation.Figure6 shows theprocessandresultof a unionoperation. As notedearlier, the significanceof the unionoperationis in the ability to combinework betweenusers.In Figure6.a, a userrequestsa sessionfrom anotheruser.Figure6.bshowsthestateandchatclientof theseconduser.This userselectstheoperation,eitherunionor intersection,andexportsit to thefirst user. After theexport, theseconduser informs the first that the export hasoccurred. Withthe confirmation,the first userreloadsthe sceneasshownin Figure6.c. In addition,Figure7 shows the intersectionsbetweentheinitial sessionandthemodifiedsession.

5 SUMMARY

In this paper, we have presentedextensionsto the ILUVAarchitecturethatsupportaconcurrentcollaborativechatses-sion. Thechatsessionsupportsimmediatecollaborationandsharingof informationamongusersthatarecurrentlyloggedin. Unionandintersectionoperationsaresupportedto showmodificationsand cumulative efforts respectively. Futurework will focus on developing a wider rangeof chat op-erations,closerintegrationof the chatserver with the webserver, andalsoto supportconcurrentVRML worldswheremodificationsbyoneclientareimmediately reflectedin otherclients’worlds.

REFERENCES

Belfore, L. A. 2001, September. An architecturefor con-structing large VRML worlds. In Transactionsof theSocietyfor ComputerSimulation, 24–40.

Belfore, L. A. 2002,April 14-18.An architecturesupportlive updatesanddynamiccontentin VRML basedvir-

tual worlds. In Military, Government,and AerospaceSymposium, 138–143.SanDiego,California.

Belfore,L. A., andS.Chitithoti. 2000,December. An inter-active landuseVRML applicationILUVA with servletassist.In 2000Winter SimulationConferenceProceed-ings, 1823–1830.Orlando,Florida.

Belfore, L. A., andS. Chitithoti. 2001,April 22-26.Mul-tiuserextensionsto the interactive landuseVRML ap-plication ILUVA. In Thirty-Fourth Annual SimulationSymposium, 159–166.Seattle,Washington.

Brutzman,D., M. Zyda, K. Watson,and M. Macedonia.1997,June18-20.virtual realitytransportprotocol (vrtp)designrationale.In Workshopson EnablingTechnolo-gies: Infrastructurefor CollaborativeEnterprises(WETICE): Sharinga DistributedVirtual Reality. CambridgeMassachusetts:MassachusettsInstituteof Technology.

Damer, B., K. Marcelo,andF. Revi. 1999,January. Nervegarden:A virtual terrariumin cyberspace.In Proceed-ingsof the1999Virtual Worlds andSimulationConfer-ence(VWSIM’99), 131–135.SanFrancisco,CA.

ESRI1998,July.ESRIShapefiletechnical description.ESRI.Harold,E. R. 2000.Javanetworkprogramming. O’Reilly &

Associates,Inc.Kirner, T. G., C. Kirner, A. L. S. Kawamoto, J. Cantao,

A. Pinto,andR. S. Wazlawick. 2001,February. Devel-opmentof acollaborativevirtualenvironmentfor educa-tional applications.In WEB3D2001, 61–68.Paderbon,Germany.

Testani, S., E. Wagner, and K. Wehden.1999, January.CIMBLE: TheCADETTinteractivemulti-userbusinesslearningenvironment.In Proceedingsof the 1999Vir-tual Worlds and SimulationConference(VWSIM’99),105–109.SanFrancisco,CA.

TheWeb3DConsortium,Incorporated2000.Thedistributedinteractive simulation DIS-Java-VRML workinggroup.http://www.web3d.org/WorkingGroups/vrtp/dis-java_vrml.

AUTHOR BIOGRAPHIES

LEE A. BELFORE II is an AssistantProfessorof Elec-trical andComputerEngineeringat Old Dominion Univer-sity. He received the B.S. degreein electricalengineeringfrom Virginia Techin 1982,theM.S.E.degreein electricalengineeringand computersciencefrom PrincetonUniver-sity in 1983, and the Ph.D. degreein electricalengineer-ing from the University of Virginia in 1990. From 1982to 1985,he wasa Memberof TechnicalStaff at AT&T In-formationSystems.From1987to 1988,hewasa researchscientistin theDepartmentof ElectricalEngineering,Centerfor SemicustomIntegratedSystemsat theUniversityof Vir-ginia. From 1990to 1997,he waswith the DepartmentofElectricalandComputerEngineeringat MarquetteUniver-sity, Mil waukee,Wisconsin.Since1997,hehasbeenwith the

BelforeandBattula

(a)User1 Request (b) User2 ExportOperation

(c) ResultingUnion

Figure6: ExampleChat: UnionOperation

Departmentof ElectricalandComputerEngineeringat OldDominionUniversity, Norfolk, Virginia. His researchinter-estsincludeneuralnetworks,datacompression,andInternetbasedvirtual reality applications. He is a Seniormemberof theIEEE anda memberof theComputerSocietyandtheSystems,ManandCyberneticsSocieties.His e-mailaddressis <[email protected]>.

SUDHEER BATTULA is currently employed withYnotLearn,Inc., Virginia Beach,Virginia. In addition,Mr.Battulais currentlyworkingtowardsanM.S.Degreein elec-trical engineeringfrom Old DominionUniversity. Mr. Bat-tula received his B.E. in electronicsand communicationsfrom OsmaniaUniversity, Hyderabad,India.

BelforeandBattula

(a)User1 (b) User2

(c) Intersection

Figure7: IntersectionOperation