28.06.2013 Views

Papers in PDF format

Papers in PDF format

Papers in PDF format

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

trigger components by two new nodes: BlockSharedTrigger nodes and MultiSharedTrigger nodes.<br />

BlockSharedTrigger nodes as used to give a user an exclusive right to execute a certa<strong>in</strong> behavior for a certa<strong>in</strong> time. This<br />

mechanism provides a k<strong>in</strong>d of lock which is automatically released, when the user deactivates the behavior or events<br />

from the lock<strong>in</strong>g site have not arrived for a certa<strong>in</strong> time period. Only further events of the same sender (activator) lead to<br />

further executions of the behavior.<br />

MultiSharedTrigger nodes are used to detect multi-user execution of a certa<strong>in</strong> behavior. This node is used to trigger<br />

several events created by different users at their local browsers (located on different sites). It keeps track of all events<br />

with a time stamp with<strong>in</strong> the specified time out <strong>in</strong>terval. All received events are removed after the behavior has been<br />

executed. Nevertheless, this trigger component is be able to store further <strong>in</strong>com<strong>in</strong>g events even before the execution of<br />

the behavior, s<strong>in</strong>ce this execution might require more time than the specified time out value.<br />

3 Our Server Extensions<br />

In the second part of this paper we want <strong>in</strong>troduce the necessary network and communication <strong>in</strong>frastructure <strong>in</strong> order to<br />

support large scale virtual environments on the Web.<br />

In our prototype [Broll and England 95] we use a standard HTTPD server for the <strong>in</strong>itial distribution of VRML files.<br />

However, these files are frequently updated by a second server daemon [Fig. 3]. This second server daemon (the<br />

multi-user daemon) is used for three purposes:<br />

add<strong>in</strong>g and remov<strong>in</strong>g avatars of current users to the virtual world file<br />

updat<strong>in</strong>g, add<strong>in</strong>g and remov<strong>in</strong>g virtual world entities of the VRML file<br />

supervis<strong>in</strong>g locks of virtual world entities and prevent<strong>in</strong>g clients (browsers) from unauthorized access<br />

S<strong>in</strong>ce the orig<strong>in</strong>al world file is modified by the multi-user daemon, even users of browsers which are not multi-user<br />

capable, can get a vague impression on the current state (<strong>in</strong>clud<strong>in</strong>g the current positions of avatars) of the virtual world.<br />

Multicast<strong>in</strong>g Avatars of jo<strong>in</strong><strong>in</strong>g users, updates of virtual world entities as well as lock<strong>in</strong>g requests have to be distributed<br />

to the multi-user server daemon as well as to all clients. Realiz<strong>in</strong>g this by ord<strong>in</strong>ary host-to-host network connections<br />

[Honda et al. 95], as used by HTTP, would exceed the capabilities and cause network overload. For that reason we use<br />

multicast groups to distribute the data. Multicast<strong>in</strong>g [Kumar 95] provides a very flexible and powerful mechanism to<br />

distribute messages to a large number of hosts with m<strong>in</strong>imal network load and distribution effort. Multicast packages are<br />

sent over a special part of the Internet -the Multicast backbone (MBone)- which connects multicast routers runn<strong>in</strong>g a<br />

special multicast rout<strong>in</strong>g daemon (mrouted). Additional subnets can be connected to the MBone by tunnels (host to host<br />

connections). This structure allows the reduction of unnecessary message distribution on a very low level, which makes<br />

multicast<strong>in</strong>g very effective for wide area communications of a large number of host, jo<strong>in</strong><strong>in</strong>g and leav<strong>in</strong>g dynamically.<br />

Multicast<strong>in</strong>g has already proven to be very suitable for this k<strong>in</strong>d of application <strong>in</strong> exist<strong>in</strong>g distributed virtual<br />

environments [Carlsson and Christer 93] [Macedonia et al. 95].<br />

In our approach a multicast group address and a port number identify a s<strong>in</strong>gle world. This allows the daemon as well as<br />

the participat<strong>in</strong>g host, to receive messages from this group and port only. Future extensions might even use several<br />

groups or ports for update messages of a s<strong>in</strong>gle world, <strong>in</strong> order to support the subdivision of large virtual worlds<br />

[Brutzman et al. 95]. The multicast address as well as the port number are transmitted to the clients (browsers) as part of<br />

the <strong>in</strong>itial world distribution.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!