COMMUNICATION PLATFORM FOR SYNCHRONOUS COLLABORATIVE VIRTUAL ENVIRONMENT St´ ephane Louis Dit Picard, Samuel Degrande, Christophe Gransart, Christophe Chaillou (1) Gr´ egory Saugis (2) (1) Universit´ e des Sciences et Technologies de Lille Laboratoire d’Informatique Fondamentale de Lille 59655 Villeneuve d’Ascq cedex, FRANCE Tel: +(33)(0)320436557; Fax: +(33)(0)320436566 louisdit, degrande, gransart, chaillou @lifl.fr (2) France T´ el´ ecom R&D - DIH/HDM/NEW 2 avenue Pierre-Marzin 22307 Lannion cedex, FRANCE Tel: +(33)(0)296052741; Fax: +(33)(0)296051129 gregory.saugis@rd.francetelecom.fr ABSTRACT This paper describes our communication platform over which a 3D CVE (Collaborative Virtual Environment) called SPIN- 3D is built. With our 3D interface, a small group of people operates simultaneously on 3D objects described with the VRML format. Multi-user is supported through a VRML ex- tension. We propose to share some data of the scene tree as well as an easy way to implement this solution: each shared data communicates with its remote copies through a multicast CORBA technology for discrete actions and through multicast real-time streams for animations. Keywords: CVE, CORBA, MIOP, Reliable Multicast Protocol, multi-user world, VRML 1 INTRODUCTION SPIN-3D [3] is a three-dimensional user interface for synchro- nous collaborative work. Our interface is designed for small group meetings such as distant learning or co-design situa- tions. We propose a new spatial organization [14] taking ad- vantage of the third dimension and a 3D interaction model using two devices [3], one for designation and the other to manipulate objects. To support collaboration awareness, each user is represented on remote SPIN-3D by a clone [3], a 3D representation of himself. We adopt a “conference table” me- taphor [14]: the users are located around a table in a single room. Figure 1 is a screen shot of our interface. Figure 1: A learning situation in SPIN-3D 2 STATE-OF-THE-ART As we use the VRML (Virtual Reality Modelling Lan- guage) [2] format to describe 3D objects on which users ope- rate, we need to improve it with a multi-user support. Living Worlds multi-user extension [8] allows standard VRML brow- sers, such as Cosmoplayer or Blaxxun Contact, to support multi-user Virtual Communities but they lack several capabili- ties to support CVE. Classical multi-user virtual environments use a “world replication” mechanism. From a technical point of view, the world is described with a scene tree in which some nodes are shared. So, the “world replication” means that the scene tree is the same for all users. A client-server architec- ture is an easy way to implement this solution: a server ma- nages the scene tree. To achieve acceptable frame rates, each connected user must have a local copy of the scene tree: modi- fications on shared objects are sent to the server which notifies each client with scene tree updates. The needs of a CVE are more specific than the “world replica- tion” mechanism. First, a CVE needs specific information to support collaboration, such as telepresence, telepointers, de- signation gestures, a private point of view on the objects, etc. Each user organizes his own interface as he wants and without remote influence. So, each shared object is not necessarily at the same place in a CVE: only the object content is shared. To support collaboration, a CVE needs to share objects, more accurately characteristic values of objects (e.g. a position, an orientation, etc), which are not only 3D values but also text va- lues, management services (e.g. lock manager or session ma- nager) and “special” events (e.g. enter or quit session events). For example, in SPIN-3D we have the notion of pointer and telepointer which is the remote representation of a pointer: for such an object, its color is shared, but its position is shared only when user points at an object, moreover a pointer does not have the same 3D representation as a telepointer. The new MPEG-4 standard [5], which uses VRML concepts, does not currently offer capabilities to support CVE. As we want real-time interactions on local computer for local manipulations in order not to disturb the user during collabo- rative actions, a client/server architecture is unsuitable: such architecture involves network lag during interaction. 3 COMMUNICATION PLATFORM REQUIRE- MENTS First, we need a way to declare shared data and then a mecha- nism to support data sharing and CVE’s specific needs.