A Corba Based Platform as Communication Support for Synchronous Collaborative Virtual Environment

Embed Size (px)

Citation preview

  • 8/3/2019 A Corba Based Platform as Communication Support for Synchronous Collaborative Virtual Environment

    1/4

    A C O R B A B A S E D P L A T F O R M A S C O M M U N I C A T I O NS U P P O R T F O R S Y N C H R O N O U S C O L L A B O R A T I V EV I R T U A L E N V I R O N M E N TSt6 pha ne Lou i s D i t

    P i c a r dU n i v e r s it 6 d e s S c i e n c e s e tTechnol og ies de L i l l eL a b o r a t o i r e d ' ln f o r m a t i q u eF o n d a m e n t a l e d e L ille5 9 6 5 5 V i l le n e u v e d ' A s c qcedex , F R A N C EIouisdit@ l i f l. fr

    S a m u e l D e g r a n d eU n i v e r s it 6 d e s S c i e n c e s e tTechnol og ies de L i l l eL a b o r a t o i r e d ' ln f o r m a t i q u eF o n d a m e n t a l e d e L ille5 9 6 5 5 V i l l e n e u v e d ' A s c qc e d e x , F R A N C Ed e g r a n d e @ i ft . fr

    C h r i s t o p h e G r a n s a r tU n i v e r si t6 d e s S c i e n c e s e tTechno l og ies de L i l l eL a b o r a t o i r e d ' l n f o r m a t i q u eF o n d a m e n t a l e d e L i lle5 9 6 5 5 V i l l e n e u v e d ' A s c qcedex , F R A N C Egra nsa r t @ i ft . fr

    A B S T R A C TThis paper describes the use of CORBA middleware to sup-port communi cation in a 3D synchronous Collaborative Vir-tual E nvir onmen t called SPIN-3D: users interact simultane-ously and work together on 3D shared objects. Shared ob-jects are duplicated: each participant owns a copy of eachshared object and our CORBA based platform allows tosynchronize their state and to man age the session. Ourplatform supports two ways of communication: one using aremote meth od invocation mechanism for "one shoot" com-munication, and one other using streaming with CORBAfor "flooding" communication.Categor ie s and Subjec t Descr iptorsC.2.4 [Com pute r-Co mmun ica t ion Networks] : Dis t ribu-te d S y s t e m s- -d i s t r ib u t e d a p pl ic a tion s ; H.5.3 [InformationI n t e r f a c e s a n d Presentat ion]: Group and OrganizationIn te r faces--co l labora t ive comput ing , computer-supported co -operative work; 1.3.7 [Computer Graphics]: Three-Dimen-sional Graphics and Rea lism--Vir tual Real i tyG e n e r a l T e r m sCommun ication Platform Design using CORBA MiddlewareK e y w o r d sCVE, multi- user virtual world, CORBA, MIOP, reliable mul-ticast, mu ltimed ia streaming service1 . I N T R O D U C T I O NTaking advantage of the rap id growth of the Inter net and ofthe Virtual Reality technology, many Collaborative VirtualPermission o make digital or hard copies of all or part of this work tbrpersonal or classroom use is granted without fee provided that copiesare not made or distributed for profit or commercial advantage and thatcopies bear this notice and the full citation on the first page. To copyotherwise, to republish, o post on servers or to redistribute o lists,requires prior specific permissionand/or a fee.InternationalWorkshop MultimediaMiddleware Ottawa CanadaCopyright ACM 2001 1-58113-396-0/01/10...$5.00

    Envi ronm ents (CVEs) emerge. CVEs place several users ina virtual world where they can interact with objects andeach other. Synchronous CVEs provide users with the il-lusion that they work simultaneously: it involves the samenotions as in real-life such as collaboration, co mmuni cationand interaction. A CVE platform requirements are [9]:

    suppo rt for multiple participants: par ticipant s shouldnot only visit the envir onmen t but also collaborate,communicate and interact with each other. data dis tribu tion and managem ent: to achieve accept-able video frame rates, client-server data sharing is themost common approach. Each parti cipant must havea local copy of each shared object: the CVE platformmust provide a layer to manage and to synchronize thestate of these duplicated objects. event notification and network communicat ion: mech-anisms must be provided to notify clients of events(these can be object events, such as an object statemodification, or session management events, such asenter ing or leaving a session). It mu st pro vide efficientcommun icatio n protocols to avoid network lag and tomaintain the interactive feeling in the shared virtualspace. scalability: multip le users are able to join the collabo-rative session without seriously degrading the qualityof service.

    In a multi-user virtual world, objects are duplicated on se-veral compute rs. These objects are characterized by fieldssuch as color, position, etc. An object is shared throu gh thesharing of its characteristic fields. Previous CVE platformssuch as MASSIVE [5] or DIVE [2] used their own communi-cation layer for the events notification. The newest CommonObject Request Broker Architecture ( CORBA) [11] specifi-cations provide several capabilities to support the develop-ment of Virtual Enviro nments. Some approaches [15] useth e e v e n t s e rv i c e as a method to deliver changes to sev-eral clients. The mechanism of observer-observable allows

    56

  • 8/3/2019 A Corba Based Platform as Communication Support for Synchronous Collaborative Virtual Environment

    2/4

    to keep a client-server architecture, the server manages thevirtual environ ment and notify the clients of any change.The main problem of such a solution is scalability: perfor-mance decreases when the numb er of clients increases. Asolution to solve this problem is to sub-divide the virtualspace [15]. As a client/server architecture introduces net-work lag, it is a problem for the i nteract ive feeling: in aCVE, the interaction must be in real-time in order to notdisturb user during collaborative action. Our approach is touse multicast com munication for scalability, and multicastreal-time streaming in order to keep the interactive feeling.As the communicatio ns are made in multicast, our platformgets rid of a centralized server.2 . T H E D E S I G N O F O U R P L A T F O R MOur pla tfo rm involves several services, e.g. a lock servicein order to ensure that, at the same time, only one userhas the access to an object, or a dynamic loading servicein order to connect new objects durin g the session. In thispaper, we present only the multicast CORBA based com-municati on layer. We have duplicated objects onto severalcomputers: we must synchronize their state. Our platformprovide two ways for updating the remote copies of objects:the first for a simple update (i.e. one shoot modification),this is ensured by the use of a remote method invocationmechanism; the second for several updates in a short time(i.e. streaming communication): this is ensured by the useof multicast streams set by a stream m anagem ent service.

    2 .1 M u l t ic a s t O R B M e c h a n i s mThe C ORBA sta ndard [11] proposed by the Object Man-agement Group (OMG) specifies a protocol, called GeneralInte r-O RB Protocol (GIOP)~ to describe messages. Thishigh level protocol defines: a Common Data Representation(CDR) to map IDL types to network representation, an In-teroperable Object Reference (IOR) to point to an objectand a message format (request, reply, etc). CORBA needsa tra nsp ort layer to carry GIOP messages. So the OMGalso specifies a unicast transport layer called IIOP (Inter-net Inter -ORB Protocol) which uses TCP/I P. In IIOP, eachmeth od inv ocation request is sent to exactly one server: anIIOP reference points only one object.2.1.1 Group CommunicationsIn order to synchronize the state of an object with thoseof its remote copies, we must be able to designate eachcopy. As it shown in figure 1, to allow grou p commu nica -tion with IIOP, we must know the reference of each remotecopy. However CORBA, thr ough a multicas t tra nsp ort layercalled Multicast Inte r-O RB Protocol (MIOP) [4, 12], allowsto call methods on several "identical" objects in one go: withMIOP, the reference is a group reference, so it means thatseveral objects have the same reference. Each met hod callon a mul ticast reference is executed on each compute r whichhas in memory an object with tha t reference. Currently, as ituses UDP/IP, the MIOP communicatio n layer (as specifiedby the OMG in its RF P [12]) is designed for unreliabl e com-munications and supports only oneway operations, i.e. thereis no retur n value and nor out parameters. As we must keepthe consisten cy between the CVEs (i.e. the stat e of eachshared object), we must provide a reliable communicationmechanism within MIOP.

    I I

    F i g u r e 1 : T h e n o t i o n o f g r o u p w i t h I I O P o n t h e l e fts i d e , a n d w i t h M I O P o n t h e r i g h t s i d e .

    L ~0P mew~ge 1

    and GIOPm e e s a g e r a g n e n t

    . . . . . . p ert t ~ d c ~ a ~~ysc al ~etw, ~k

    F i g u r e 2 : O n t h e l e f t t h e m u l t i c a s t c o m m u n i c a t i o ns t a ck , a n d o n t h e r i g h t t h e G I O P m e s s a g e s p l i t t i n g .

    2.1.2 Reliable CommunicationsAt the transp ort level, a meth od invocation is one GIOPmessage of any size which must be sent to objects using themulti cast reference. As it is shown in figure 2, each GIOPmessage is split into several fragments for the transport: weneed to provide a reliable protocol which ensures that allconnected users receive all messages, namely, all packets ofall messages.A first approach for reliable multicast is "the sender re-emits periodically each packet until receiving acknowledge-ment messages from all receivers": this is an ACK (Ac-knowledgement) based protocol [8]. Such protocols can be asolution to our problem but they create significant networktraffic.A second approach is "the sender numbers each sent packetwith a unique number (incremental number), receivers de-tect packets lost using the current received packet numberand the last received packet number, and a message is sentto the sender in order to re-emit missing packets": this isa NACK (Non Acknowledgement) based protocol [7]. Suchprotocols need an infinite flow of packets which is not ourcase: we have a finished numb er of packets for each GIOPmessage. We must receive all packets in order to re constr uctall GIOP messages, and there is no way to detect the lost ofthe last packet.As we prefer NACK based protocols to ACK based proto-cols for network traffic reasons, we adjust a NACK protocolto support a limited numbe r of packets. Each connectedcomputer must know the number of packets of each mes-sage: this number is sent in the last packet, and this specialpacket uses an ACK policy in order to ensure its reception.The other remaining packets are sent using a NACK pol-icy. Of course as it uses ACK pol icy for the last packet, weneed to know all connected users, using a group service an da distrib uted algorithm. This work is not presented in thispaper. As we are in a small group contex t, we do not needoptimizations such as hierarchy trees [8].2.1.3 PerformancesTo benchmark our Reliable MIOP (RMIOP) communicat ionlayer, we have made some experiments:

    a file transfer between two computer s using differentnetwork bandwidths. It emphasizes that our multicast

    57

  • 8/3/2019 A Corba Based Platform as Communication Support for Synchronous Collaborative Virtual Environment

    3/4

    t r a n s p o r t l a y e r o v e r U D P / I P i s a s f a s t a s T C P / I P f oro n e s e r ve r a n d o n e c li e n t. W h e n t h e n u m b e r o f c l i e nt si s m u l t i p l i e d b y n , t h e g l o b a l r e c e i p t t i m e ( f r o m t h es e n d e r p o i n t o f v ie w ) of t h e T C P / I P t r a n s p o r t l a y e ri s m u l t i p l i e d b y n w h e r e a s t h e g l o ba l r e c e i p t t i m e o fr e l i a b le m u l t i c a s t t r a n s p o r t l a y e r i s a p p r o x i m a t e l y t h es a m e .

    a s i m p l e a p p l i c a t i o n w h e r e u se r s c a n i n t e r a c t i v e l y c h a n -g e t h e o r i e n t a t i o n o f a 3 D o b j e c t o v e r n e t w o r k . I te m p h a s i z e s t h e l i m i t a t i o n s o f C O R B A f or a n i m a t i o n :e a c h o r i e n t a t i o n m o d i f ic a t i o n c o r r e s p o n d s t o o n e r e -m o t e m e - t h o d c a l l, so i t c r e a t e s a g r e a t n e t w o r k t r a f -t ic . T h e n u m b e r o f l a y e r s b e t w e e n n e t w o r k l a y e r ( o b -j e c t s k e l e t on ) a n d a p p l i c a t i o n l a y e r ( ob j e c t i m p l e m e n -t a t i o n ) c r e a t e s p r o b l e m s f o r r e a l - t im e i n t e r a c t i o n .

    2 .2 T h e M u l t i m e d i a S t r e a m s M a n a g e m e n t S e r-v i c e ov e r a M u l t i c a s t O R B

    A s i t is e m p h a s i z e d b y o u r e x p e r i m e n t s , C O R B A i s u n s u i t-a b l e f o r f l o o d i n g c o m m u n i c a t i o n s u c h a s r e m o t e r e a l - t i m ea n i m a t i o n s . A so l u t i o n is t o s e t m u l t i c a s t r e a l - t i m e s t r e a m sb e t w e e n d u p l i c a t e d o b j e c t s : C O I ~ B A i s a w a y t o e s t a b l i s ht h e s e s t r e a m s . O u r p r o p o s a l i s b a s e d o n t h e A u d i o / V i d e oS t r e a m i n g s e r v i c e [1 0, 1 3]: t h i s O M G s t a n d a r d d e f i n e s af r a m e w o r k f o r t h e d e v e l o p m e n t o f i n t e r o p e r a b l e d i s t r i b u t e dm u l t i m e d i a st r e a m i n g a p p l i c a t io n s . T h e k e y c o m p o n e n t s a r et h e s t r e a m c o n t r o l p r o t o c o l a n d t h e i n t e r f a c e of t h e s t r e a mc o n t r o l o b j e c t s . A f lo w i s c o n s i d e r e d a s a c o n t i n u o u s m e -d i a t r a n s f e r b e t w e e n m u l t i m e d i a d e v ic e s . T h e s e f lo w s c a nb e g r o u p e d t o g e t h e r t o f o rm a st r e a m . T h e s e s t r e a m s a r et e r m i n a t e d b y s t r e a m e n d p o i n t s t h a t c o n t a i n t h e fl ow e n d -p o i n t s . V i r t u a l d e v i c e s (V D e v ) c o n s u m e o r p r o d u c e s t r e a md a t a : t h e y a r e a h i g h le v e l a b s t r a c t i o n o f m u l t i m e d i a d e -v ic e s . T h e s t r e a m c o n t r o ll e r ( S t r e a m C t r l ) i s t h e k e y c o m p o -n e n t i n t h e s t r e a m e s t a b l i s h m e n t p r o t o c o l : i t a l l ow s t o b i n dt h e V D e v t o g e t h e r . T h e s t a x t d a r d p r o v id e s f le x i bl e s u p p o r tf o r d i f fe r e n t s k i n d s o f m u l t i m e d i a s e r v i c e s b y o ff e r i n g a L i g h ta n d F u l l P r o f i le s p e c i f i c a t i o n : t h i s o f fe r s t o a p p l i c a t i o n d e -v e l o p e r s t w o le v e ls o f s t r e a m s m a n a g e m e n t . F o r t h e L i g h tp r o f il e o n l y t h e S t r e a m E n d p o i n t a n d S t r e a m C t r l i nt e r f a c e sa r e e x p o s e d , w h e r e a s f o r t h e F u l l p r o fi l e , a g r e a t e r d e g r e e o fc o n t r o l i s p r o v i d e d a s e a c h f lo w i n t e r f a c e w i t h i n a s t r e a m i se x p o s e d .W e a d j u s t t h e s t a n d a r d t o o ur d i s t r i b u t e d a n d m u l t i c a s ta r c h i t e c t u r e : w e us e t h e R M I O P c o m m u n i c a t i o n la y e r i no r d e r t o s e t t h e s t r e a m s i n o n e g o . A s w e a r e i n a m u l t i c a s tc o n t e x t , o n l y o n e w a y o p e r a t i o n s a x e s u p p o r t e d : s o t h e n e -g o t i a t io n p h a s e , a s p r o p o s e d b y t h e s t a n d a r d , b e t w e e n t h ev i r t u a l d e v i c e s d i s a p p e a r s . W e a r e i n t h e c a s e o f t h e L i g h tP r o fi le : o n l y t h e s t r e a m e n d p o i n t s a n d t h e s t r e a m c o n t r o ll e re x p o s e t h e i r i n t e r f a c e . E a c h c o p y o f a s h a r e d o b j e c t i s a s -s o c i a t e d t o a s t r e a m e n d p o i n t : a sh a r e d o b j e c t i m p l e m e n t st h e V D e v i n t e r f a c e , a n d e a c h s t r e a m e n d p o i n t c a n b e a s -s o c i a t e d w i t h se v e r a l s h a r e d o b j e c t s . S t r e a m e n d p o i n t s a r ed u p l i c a t e d , t h e y r e p r e s e n t a unique logical s t ream endpoin t :t h e y a xe i m p l e m e n t e d w i t h a m u l t i c a s t C O R B A o b j e c t . A si t is s h o w n i n f i g ur e 3, w h e n a s h a r e d o b j e c t e s t i m a t e s t h a tu p d a t e s n e e d t o b e d o n e t h r o u g h a st r e a m , t h e r e q u e s t e r o b -j e c t a s k s th e s t r e a m c o n t r o l l e r t o s e t a s tr e a m : i t m e a n s t h a te a c h o b j e c t c o p y m u s t b e c o n n e c t e d t o i t s a s s o c i a t e d s t r e a me n d p o i n t ; t h i s is m a d e b y t h e s t r e a m c o n t r o l l e r t h r o u g h am u l t i c a s t r e m o t e m e t h o d i n v o c a t io n o n t h e g r o u p o f s t r e a m

    F i g u r e 3 : T h e m u l t i c a s t s t r e a m s e t t i n g p r o t o c o l .I . u p . r e

    F i g u r e 4: T h e m u l t i c a s t s t r e a m c o m m u n i c a t i o n .

    e n d p o i n t s. T h e c o n n e c t i o n of t h e s h a r e d o b j e c t t o i t s r e s -p e c t i v e s t r e a m e n d p o i n t c r e a t e s a f lo w e n d p o i n t : a s i t i ss h o w n in fi g ur e 4, d a t a a r e c o n s u m e d o r p r o d u c e d b y t h es h a r e d o b j e c t t h r o u g h t h i s fl ow e n d p o i n t .S o t h e s t r e a m i s s e t a n d d a t a t r a n s m i s s i o n c a n s t a r t . T h es t r e a m s m a n a g e m e n t i s m a d e b y t he s t r e a m c o n t r o l le r : a st h e s t r e a m e n d p o i n t s a r e m u l t i c a s t C O R B A o b j e c t s , a l l o p -e r a t i o n s ( c r e a t i o n , d e s t r u c t i o n , e t c ) a x e m a d e i n o n e g o . T h es t r e a m c o n t r o ll e r c a n b e i m p l e m e n t e d a s a c e n t r a l i ze d s e r -v i c e r u n n i n g o n a a s e r v e r , t o r e s p e c t t h e a r c h i t e c t u r e p r o -v i d e d b y t h e s t a n d a r d . C o m p a r e d t o t h e i ss u e s i n m u l t i p o i n ts t r e a m s p r o v i d e d b y t h e s t a n d a r d , t h e M I O P c o m m u n i c a -t i o n l a ye r e n a b l e s u s to c o n t r o l a l l t h e s t r e a m e n d p o i n t s i no n l y o n e g o . A s o u r p l a t f o r m i s f u l ly d i s t r i b u t e d ( i. e . t h e r ei s n o c e n t r a l i z e d s e r v e r ), w e a r e s t u d y i n g t h e d i s t r i b u t i o n o ft h e s t r e a m c o n t r o l l e r .2 . 3 I m p l e m e n t a t i o nW e u s e t h e O r b a c u s O ~ B m i d d l e w a x e [ 14 ] f r o m O b j e c t O r i -e n t e d C o n c e p t ( O O C ) t o i m p l e m e n t o u r c o m m u n i c a t i o n p l a t -f o r m . T h i s m i d d l e w a r e o f fe r s t o d e v e l o p e r s a n o t i o n o f c o m -m u n i c a t i o n p l u g - i n t h r o u g h a f r a m e w o r k c a l le d O p e n C o m -m u n i c a t i o n I n t e r fa c e ( O C I ) . U s i n g th i s f r a m e w o r k w e c a nd e v e l o p ne w p r o t o c o l s su c h a s a M I O P c o m m u n i c a t i o n l a y e r .T h e r e l i a b le m u l t i c a s t p r o t o c o l is i m p l e m e n t e d u s i n g C + +l a n gu a g e o ve r U D P / I P a n d i s in t e g r a t e d i n to t h e M I O Pp l u g - i n a s a n e x t e n s i o n w h i c h w e c a l l R M I O P ( R e l i a b l e -M I O P ) : i t i s p o s s i b le t o s w i t c h d y n a m i c a l l y b e t w e e n t r a n s f e rp o l ic i e s , r e l i a b le ( R M I O P ) o r n o t ( M I O P ) . W i t h o u r i m p l e -m e n t a t i o n , i t i s a l s o p o s s i b l e t o u s e I I O P i n o r d e r t o p o i n ta u n i q u e o b j e c t .T h e A u d i o / V i d e o S t r e a m s s e r vi c e i s a l so i m p l e m e n t e d i nC + + a n d u s e s t h e R M I O P c o m m u n i c a t i o n la y e r f or s t r e a m sm a n a g e m e n t . T h e i m p l e m e n t a t i o n p r ov i d e s a f r a m e w o r k toe a s i ly d e v e l o p m u l t i m e d i a a p p l i c a t i on s .3 . T H E S P I N - 3 D C V ES P I N - 3 D [3 ] i s a 3 D u s e r i n t e r f a c e f o r s y n c h r o n o u s c o l l a b o -r a t i v e w o r k . O u r i n t e r fa c e i s d e s i gn e d f o r sm a l l g r o u p m e e t -i n g s s u c h a s d i s t a n t l e a r n i n g o r c o - d e s i g n s i t u a t i o n s . A s i ti s s h o w n i n f ig u r e 5 , w e p r o p o s e a n e w s p a t i a l o r g a n i z a t i o nt a k i n g a d v a n t a g e o f t h e t h i r d d i m e n s i o n a n d a 3 D in t e r a c -t i o n m o d e l u s i n g t w o d e v i c e s , o n e f o r d e s i g n a t i o n a n d t h eo t h e r f o r m a n i p u l a t i o n o f o b j e c t s . T o s u p p o r t c o l l a b o r a t i o n

    5 8

  • 8/3/2019 A Corba Based Platform as Communication Support for Synchronous Collaborative Virtual Environment

    4/4

    F i g u r e 5 : A l e a r n i n g s i t u a t i o n i n S P I N - 3 D .

    a w a r e n e s s, e a c h u s e r is r e p r e s e n t e d o n r e m o t e S P I N - 3 D b y ac l o ne , a 3 D r e p r e s e n t a t i o n o f h e r / h im s e l f . W e a d o p t a " c o n -f e r e nc e t a b le " m e t a p h o r : u s e r s a r e l o c a t e d a r o u n d a t a b l ei n a s in g le v ir t u a l r o o m . S P I N - 3 D u s e s t h e C O R B A b a s e dp l a t f o r m d e s c r i b e d a b o v e . I t u se s t h e V i r t u a l R e a l i t y M o d e l -i n g L a n g u a g e ( V R M L ) t o d e s c r i b e 3 D o b j e c t s [ 1 ]: a V R M Lo b j e c t i s r e p r e s e n t e d b y s e v e r a l fi e ld s , a n d e a c h f i e ld c h a r a c -t e r i z e s t h e o b j e c t , f o r e x a m p l e a l i g h t i s c h a r a c t e r i z e d b y i t sc o l or a n d i t s p o si t io n . W e i m p r o v e t h e V R M L w i t h a m u l t i-u s e r e x t e n s i o n i n sp i r e d b y t h e w o r k o f t h e L i v i n g W o r l d sg r o u p [ 6] . O f t h e i m p l e m e n t a t i o n p o i n t o f v ie w , f o r a s h a r e dV R M L o b j e c t , e a c h o f i t s f ie ld s is r e p r e s e n t e d b y a C O R B Ao b j e c t . T h e s y n c h r o n i z a t i o n o f t h e v a l u e o f t h e s e f i e ld s ism a d e b y o u r c o m m u n i c a t i o n p l a tf o rm : w h e n a c h a n g e o c -c u r s o n a s h a r e d f ie ld (i.e . a C O R B A o b j e c t ) , t h e c o m m u -n i c a t i o n p l a t f o r m n o t i f i e s i t s r e m o t e c o p i e s u s i n g o n e s h o o tu p d a t e (i.e . u s in g r e m o t e m e t h o d i n v o c a t i o n m e c h a n i s m )o r m u l t ip l e u p d a t e s (i.e . u s in g t h e s t r e a m i n g s e r v ic e m e c h a -n i sm ) . T h e p l a t f o r m c h o o s e s th e w a y o f n o ti fi c a t i o n b y u s in gi n f o r m a t i o n c o n t a i n e d i n t h e V R M L s h a r i n g d e s c r i p t i o n: f o re a c h s h a r e d f ie ld , t h e r e i s a n a t t r i b u t e i n o r d e r t o s p e c i f y h owt h e r e m o t e u p d a t e s a r e m a d e , t h e v a lu e o f s u c h a n a t t r i b u t ec a n b e " a c t i o n " o r " a n i m a t i o n " . S o t h i s is t r a n s p a r e n t f o rt h e S P I N - 3 D p r o g r a m m e r s : t h e y o n l y s p e c if y th i s in f o r m a -t i o n in t h e V R M L s h a r i n g d e s c r ip t i o n ; m o r e o v e r t h e y c a nm o d i f y t h e n o t i f i c a t i o n t y p e d y n a m i c a l l y b y c h a n g i n g t h i sa t t r i b u t e w i t h o u t a n y c a ll t o t h e c o m m u n i c a t i o n p l a t fo r m .T h i s i s u s e f u l f o r o b j e c t s a n i m a t i o n s : a n o b j e c t i s r e m o t e l ya n i m a t e d u s i n g s t r e a m i n g . C o n t r o l o p e r a t i o n s o n s t r e a m s( su c h a s c r e a t i o n , d e s t r u c t i o n , e t c ) a n d d a t a t r a n s p o r t a r em a d e t r a n s p a r e n t l y b y t h e c o m m u n i c a t i o n p la t f or m .4 . C O N C L U S I O N ST h i s p a p e r p r e s e n t s t h e d e s ig n o f a C O R B A b a s e d c o m m u -n i c a t i o n p l a t f o r m f o r s y n c h r o n o u s C V E . I t a l lo w s t o s h a r ed a t a a m o n g s e v e r a l c o m p u t e r s : t h e s y n c h r o n i z a t i o n i s m a d eb y u si n g m u l t i c a s t r e m o t e m e t h o d i n v o c a t i o n a n d m u l t i c a s tr e a l - t im e s t r e a m s . C O R B A a n d i t s n e w e s t s p e c i fi c a t io n ss u c h a s M I O P a n d A u d i o / S t r e a m i n g s e r v i c e p r o v i d e a f l e x -i b le a n d e f fi c ie n t s o lu t i o n t o m a n y o f t h e t e c h n i c a l i ss u e si n V i r t u a l E n v i r o n m e n t p l a t f o r m . T h e a i m o f S P I N - 3 D i st o p r o v i d e a p l a t f o r m w i t h w h i c h i t w ill b e e a s y t o d e v e l o ps y n c h r o n o u s c o l l a b o r a t iv e a p p l i c a t i on s .5. A C K N O W L E D G E M E N T ST h e r e s e a rc h p r o j e c t r e p o r t e d h e r e is su p p o r t e d b y F r a n c eT ~ l ~ c o m R & D ( F T P O~ zD ) a n d t h e r e g i o n a l c o u n c i l o f N o r d -P a s d e C a la i s (F R A N C E ) .

    6. A D D I T I O N A L A U T H O R SC h r i s t o p h e C h a l l lo u ( U S T L - L I F L ) a n d G r e g o r y S a u g is( F T R & D , e m a i l : g r e g o r y , s a u g i s @ f r a n c e t e l e c o m . f r )7. R E F E R E N C E S[ 1 ] R . C a x e y , G . B e l l , a n d C . M a r r i n . I s o / i e c 1 4 7 7 2 - 1 : 1 9 9 7v i r t u a l r e a l i t y m o d e l i n g l a n g u a g e ( v r m 1 9 7 ) .w w w . v r m l . o r g / S p e c i f i c a t i o n s / V R M L 9 7 / .

    [2] O . C a r l s s o n a n d O . H a g s a n d . D i v e - a p l a t f o r m f o rm u l t i - u s e r v i r t u a l e n v i r o n m e n t s . Computer andGraphics, 1 7( 6) : 663- 669, 1 993.

    [ 3 ] C . D u m a s , S . D e g r a n d e , G . S a n g i s , C . C h a i l l o u , M . - L .V i a u d , a n d P . P l ~ n a c o s t e . S p i n : a 3 d i n t e r f a c e f o rc o o p e r a t i v e w o r k . Virtual Reality Society Journal,1999.[4 ] C . G r a n s a r t a n d J . M . G e i b . U s i n g a n o r b w i t hm u l t i c a s t i p . I n PCS '99 Parallel Computing Sy stem sConference Proceedings, E n s e n a d a , M e x ic o , A u g u s t1999.[5 ] C . G r e e n h a l g h a n d S . B e n f o r d . M a s s i v e , ac o l la b o r a t i v e v i r t u a l e n v i r o n m e n t f o rt e l e - c o n f e r e n c i n g . A CM Transaction on Com puter

    Human Interaction, 2 ( 3 ) : 2 3 9 - 2 6 1 , S e p t e m b e r 1 9 9 5 .[6] L i v i n g W o r l d W o r k i n g G r o u p . M a k i n g v r m l 97a p p l i c a t i o n s i n te r p e r s o n a l a n d i n t e r op e r a b l e .w w w . v r m l . o r g / w o r k i n g g r o u p s / l i v i n g - w o r l d s / .[ 7 ] T . L i a o . L i g h t - w e i g h t r e l i a b l e m u l t i c a s t p r o t o c o ls p e c i f i c a t i o n . I n t e r n e t - D r a f t , d r a f t - l i a o - l r m p - 0 0 . t x t ,w e b c a n a l . i n r i a . f r /l r m p / i n d e x . h t m l , O c t o b e r 1 99 8.[8 ] J. C . L i n a n d S . P a u l . R m t p : a r e l ia b l e m u l t i c a s tt r a n s p o r t p r o t o c o l . I n IE E E INF OCOM'9 6Conference Proceedings, p a g e s 1 4 1 4 - 1 4 2 4 , M a r c h 1 9 9 6 .[9] B . M a c I n t y r e a n d S . F e in e r . A d i s t r i b u t e d 3 d g r a p h i c sl i b r a r y . I n SIGGRAPH'98 Conference Proceedings,

    p a g e s 3 61 - 3 7 0 , O r l a n d o , F l o r i d a , J u l y 1 9 98 .[ 1 0 ] S . M u n g e e , N . S u r e n d r a n , a n d D . S c h m i d t . T h e d e s i g na n d s p e c i fi c a t io n o f a c o r b a a u d i o / v i d e o s t r e a m i n gs e r v i c e . I n HICSS-32 Haw aii In ternat ional Conferenceon System Sciences Conference Proceedings, H a w a i i ,J a n u a r y 1 9 9 9 .[ 11 ] O M G . T h e c o m m o n o b j e c t r e q u e s t b r o k e r :A r c h i t e c t u r e a n d s p e c i f i c a t i o n r e v i s i o n 2 . 3 . O M GD o c u m e n t fo r m a l / 98 - 1 2 - 0 1 , J u n e 1 9 99 .[ 1 2] O M G . U n r e l ia b l e m u l t ic a s t i n t e r - o rb p r o t o c o l r e q u e s tf o r p r o p o s a l . O M G D o c u m e n t o r b o s / 99 -1 1 - 1 4 ,N o v e m b e r 1 9 9 9 .[1 3 ] O M G . C o n t r o l a n d m a n a g e m e n t o f a u d i o / v id e o

    s t r e a m s s p e c i f i c a t i o n . O M G D o c u m e n tf o r m a l / 2 0 0 0 - 0 1 - 0 3 , J a n u a r y 2 0 0 0 .[ 1 4] O O C . T h e o r b a c u s h o m e p a g e . w w w . o o c . c o m / o b / .[ 1 5 ] S . W i l so n , H . S a y e r s , a n d M . M c N e i ll . U s i n g c o r b am i d d l e w a r e t o s u p p o r t t h e d e v e l o p m e n t o f d i s t r i b u t e dv i r t u a l e n v i r o n m e n t a p p l i c a t i o n s . I n WSCG'2001Conference Proceedings, P l z e n , C z e c h R e p u b l i c ,F e b r u a r y 2 0 0 1 .

    5 9