Date post: | 07-Apr-2018 |
Category: |
Documents |
Upload: | nawaz-sharief |
View: | 231 times |
Download: | 0 times |
of 139
8/4/2019 Networked Virtual Environments
1/139
Networked Virtual
Environments
Helmuth Trefftz
[email protected] University - Medelln, Colombia
8/4/2019 Networked Virtual Environments
2/139
8/4/2019 Networked Virtual Environments
3/139
Helmuth Trefftz
Associate Professor at Eafit University,Medelln, Colombia.
Director of Virtual Reality lab at Eafit.
Involved in NVEs since 1996.
Ph.D. in Computer Engineering in 2001
(Rutgers University, NJ). Ph.D. thesis: Heterogeneity in Virtual
Environments.
8/4/2019 Networked Virtual Environments
4/139
Agenda
Introduction (15)
History (10)
Networking Concepts (25)
Architectures (20) Shared State (45)
Scalability and Performance (45)
Research Topics (30) Toy application (30)
Summary and Conclusions (10)
8/4/2019 Networked Virtual Environments
5/139
Introduction
Why Networked Virtual Environments?
1. Technology is here: Powerful commodity 3D graphics accelerators on
every PC. Internet is almost everywhere (wired or wire-less).
2. Need for applications is here: Multiplayer games
Military combat training Design teams across continents
8/4/2019 Networked Virtual Environments
6/139
Introduction
What is a NetworkedVirtual Environment? A Networked Virtual
Environment is asoftware system inwhich multiple usersinteract with eachother in real-time,even though thoseusers may be locatedaround the world[Singhal/Zyda 1999]
http://www.crg.cs.nott.ac.uk/research/systems
8/4/2019 Networked Virtual Environments
7/139
Introduction
Collaborative Virtual Environments
(CVEs) are online digital places andspaces where we can be in touch, play
together and work together, even when weare, geographically speaking, worldsapart In CVEs we can share the
experience of worlds beyond the physical[Churchill/Snowdon/Munro 2001]
8/4/2019 Networked Virtual Environments
8/139
Introduction
Key elements:
A shared sense of space (common virtualspace)
A shared sense of presence (avatars)
A shared sense of time (real-time)
A way to communicate (text, voice,)
A way to interact (among users and with thevirtual world)
TELEPRESENCE
8/4/2019 Networked Virtual Environments
9/139
Introduction
Key components
Graphic engines and displays
Control devices (keyboardtrackers)
Processing Systems
Data Network
8/4/2019 Networked Virtual Environments
10/139
Introduction
CommonVirtual World
8/4/2019 Networked Virtual Environments
11/139
Current challenges
Network Bandwidth/Latency
Heterogeneity
Distributed Interaction (real-time) Resource Management - Scalability
8/4/2019 Networked Virtual Environments
12/139
History - Military
SIMNET (Simulator networking)[Miller/Thorpe95]
Distributed military environment developed forDARPA between 1983 and 1990.
Aimed at:
Building high-quality, low cost simulators
How to network the simulators together.
Created 11 sites with 50 - 100 simulator each.
8/4/2019 Networked Virtual Environments
13/139
History - SIMNET
8/4/2019 Networked Virtual Environments
14/139
History - Military
SIMNET Architecture
Object-event architecture
Autonomous nodes (each entity is responsiblefor informing its state to others)
Dead Reckoning
Average messages:
Slow moving vehicles: 1mess/sec.
Fast moving vehicles: 3mess/sec.
8/4/2019 Networked Virtual Environments
15/139
History - Military
SIMNET Modules
Network Interface
Other-vehicle state table
Controls
Own-vehicle dynamics
Sound generation
8/4/2019 Networked Virtual Environments
16/139
History - Military
SIMNET
Multicast groups: each exercise is assigned amulticast address.
Multiple exercises can co-exist
Scalability
Exercise in March 1990:
850 objects
5 sites
Network: T-1
8/4/2019 Networked Virtual Environments
17/139
History - Military
DIS (Distributed Interactive Simulation) [IEEE93] Started in 1989 as an effort to document the comm.
protocol of SIMNET.
Became an IEEE Standard 1278.
Definition of 27 PDUs (Protocol Data Unit).Examples: Entity State: position, orientation, velocity changes.
Fire
Detonation Collision
Each 5 seconds: a heart-beat state PDU.
8/4/2019 Networked Virtual Environments
18/139
History - Military
DIS - Traffic:
96% Entity State PDUs
Rest:
Fire
Detonation
Collision
Others
8/4/2019 Networked Virtual Environments
19/139
History - Military
DIS - Scalability
Designed for 300-500 users
8/4/2019 Networked Virtual Environments
20/139
History - Military
DIS - Fully distributed and Heterogeneous
Each machine that can read/write DIS PDUSand manages the state, can participate.
Heterogeneity can pose problems.
Slow machines can fall behind processingmessages from fast machines.
Inconsistencies!
8/4/2019 Networked Virtual Environments
21/139
History - Games
SGI Flight
Flight simulator demo program used from1984 to 1992.
Created in 1983.
Networked version shown in SIGGRAPH1984.
8/4/2019 Networked Virtual Environments
22/139
History - SGI Flight
http://www.berkelium.com/OpenGL/readme.html
Download source code from:
8/4/2019 Networked Virtual Environments
23/139
History - Games
Doom [idSoftware]
Released in December 1993.
Initial version: no dead-reckoning, messages
at frame-rate.
10s of millions of downloads.
Source code was available.
8/4/2019 Networked Virtual Environments
24/139
History - Doom
8/4/2019 Networked Virtual Environments
25/139
History - Academia
NPSNET [NPSNET]
The longest continuing academic research
effort in networked virtual environments
[Singhal/Zyda 1999] Focus on software technology for
implementing large-scale virtual environments(LSVE).
8/4/2019 Networked Virtual Environments
26/139
History - Academia
Courtesy of Naval Postgraduate School.
8/4/2019 Networked Virtual Environments
27/139
History - Academia
NPSNET
Contracted initially to handle SIMNET terrain.
Afterwards, improvements on protocols:
Protocol for Lans only
Bridges for Lans and Wans
Implementation of IP Multicast for Wans
vrtp proposal.
8/4/2019 Networked Virtual Environments
28/139
History
DIVE (Distributed Interactive VirtualEnvironment) [Hagsand96] [DIVE] Built at the Swedish institute of Computer
Science. World Database:
Distributed
Fully Replicated
New objects can be added/modified in aRELIABLE fashion.
Distributed lock mechanism.
8/4/2019 Networked Virtual Environments
29/139
History - DIVE
8/4/2019 Networked Virtual Environments
30/139
History - DIVE
8/4/2019 Networked Virtual Environments
31/139
History - DIVE
8/4/2019 Networked Virtual Environments
32/139
History - DIVE
Videos
8/4/2019 Networked Virtual Environments
33/139
History
DIVE
Because of the reliable multicastimplementation they use, DIVE does not scale
well beyond 32 participants. DIVE 3 uses a basic communications library
based on IP multicast and Scalable ReliableMulticast (SRM).
8/4/2019 Networked Virtual Environments
34/139
History
MR - TPP Minimal Reality Toolkit PeerPackage [Shaw/Green93]
MR-TTP is based on UDP (unreliable). Lost
packages are ignored.
Instead of heartbeat: sends packages at therate of the input device.
Topology: Complete Graph Connection. Number of users: 4 or less.
8/4/2019 Networked Virtual Environments
35/139
History
MASSIVE-1[MASSIVE][Greenhalgh/Benford9
5]
Developed atNottinhamUniversitys CRG
(Computer Research
Group), led by SteveBendford and ChrisGreenhalgh.
8/4/2019 Networked Virtual Environments
36/139
History
MASSIVE-1 Multi-user distributed V.R. system
Runs on Sun and SGI platforms
Textual, graphical and audio client programs Interaction controlled by aura, focus and
nimbus
Connection oriented networking
Scalability: MASSIVE usually works with upto about 10 users (from Massive-1 homepage).
8/4/2019 Networked Virtual Environments
37/139
History - MASSIVE
Video
8/4/2019 Networked Virtual Environments
38/139
History
MASSIVE 2 and 3
Scalability and Distribution based on Locales
Current networking via TCP client-server style
(to be combined with multicast)
The agent that creates an environment actsas distribution server for that environment
Persistency Management of audio links.
8/4/2019 Networked Virtual Environments
39/139
History
Summary
A number of successful Networked VEs hasbeen created:
Military
Gaming
Research
Differ greatly: What can the users do.
Technological decisions.
8/4/2019 Networked Virtual Environments
40/139
Networking Concepts
Latency
Amount of time to transfer a bit of data fromone point to another.
Latency has a direct impact on interactioninside the virtual world.
The designer cannot really reducelatency. It
is possible to hideit or reduce its impact.
8/4/2019 Networked Virtual Environments
41/139
Networking Concepts
Latency - causes:
Physical limitations: speed of electromagneticwaves in the transmission material (aprox.
8.25 msec per time zone). Delays introduced by the endpoint computers.
Delays introduced by the network itself
(routers).
8/4/2019 Networked Virtual Environments
42/139
Networking Concepts
Bandwidth
Rate at which the network can deliver data tothe destination host.
Examples: Modem: 56Kbits per second.
Ethernet: 10 or 100 Mbits per second.
Fiber-optic: 10 Gbps or more.
8/4/2019 Networked Virtual Environments
43/139
Networking Concepts
Reliability
How much data is lost by the network andhow that loss is handled.
Causes: Routers discard some of the messages (up to 50%
in some cases).
Data gets lost in the communication media.
8/4/2019 Networked Virtual Environments
44/139
Networking Concepts
Reliability - How to handle data that islost?
Detect/Correct: Error-correcting codes.
Detect: ACKS, NACKS.
8/4/2019 Networked Virtual Environments
45/139
Networking Concepts
TCP: Point-to-point connection to anapplication running in another machine.
Data Checksum for integrity.
Flow-control: to avoid flooding ofmessages, including acknowledgements.
Keeps strict ordering and consistency ofpackages. Is this necessary in NVEs?
8/4/2019 Networked Virtual Environments
46/139
Networking Concepts
UDP: Lightweight protocol.
Differences with TCP:
Connectionless transmission. Informationabout the state of the connection is not kept.
Best-effort delivery. No guarantee of deliveryor order of messages.
Each packet is auto-contained.
8/4/2019 Networked Virtual Environments
47/139
Networking Concepts
UPD Advantages:
No overhead for connection orientedsemantics.
Packages can be transmitted/receivedimmediately, no need for queues.
It is possible to send information to groupsof
users (multicasting).
8/4/2019 Networked Virtual Environments
48/139
Networking Concepts
Unicast
One computer sends information to onlyanother one computer.
8/4/2019 Networked Virtual Environments
49/139
Networking Concepts
Broadcast
One computer sends information to everycomputer in a subnet.
8/4/2019 Networked Virtual Environments
50/139
Networking Concepts
Multicast
Only computers listening to a specificmulticast groupreceive the message.
8/4/2019 Networked Virtual Environments
51/139
Networking Concepts
Multicast: Similar to distribution ofnewspapers:
Subscribers explicitly request the newspaper.
Duplicate copies are not sent down the samedistribution tree.
The publisher does not need to know the
subscribers.
8/4/2019 Networked Virtual Environments
52/139
Networking Concepts
Mulsticast is emerging as therecommended way to build large-scaleNVEs.
BUT many routers do not handle multicastmessages still.
8/4/2019 Networked Virtual Environments
53/139
Networking Concepts
TCPSmall number of users
Limited data requirements
Typically client-serverconfiguration
UDP Higher data requirementsUsed both in client-server andpeer-to-peer configurations.
IP Broadcasting Small peer-to-peer Net VEs with
high data requirements and timesensitive delivery.
IP Multicasting Large peer-to-peer NetVEs, becareful with routers.
8/4/2019 Networked Virtual Environments
54/139
Networking Concepts
Summary
Available networking infrastructure is a veryimportant factor when designing a NetVE.
Networking-related decisions have a bigimpact on:
Complexity of implementation
Overall performance
Scalability
8/4/2019 Networked Virtual Environments
55/139
Architectures
Client-Server Systems
logical architecture
Server
Client 1 Client 2 Client n
A hi
8/4/2019 Networked Virtual Environments
56/139
Architectures
Client-Server Systems
physical architecture with phone lines
Server
Client 1 Client 2 Client n
Phone Line Phone Line Phone Line
A hi
8/4/2019 Networked Virtual Environments
57/139
Architectures
Client-Server Systems
physical architecture on a LAN
Client 1 Client 2 Client n
Server
A hi
8/4/2019 Networked Virtual Environments
58/139
Architectures
Client-Server Systems
The Server can become a bottleneck.
What are the advantages? The servercan decide::
Which clients should receive a message.
What protocol to use with different clients.
Sub-sample messages to slow users.
Keep statistics.
...
A hi
8/4/2019 Networked Virtual Environments
59/139
Architectures
Multiple-Server Architectures
Server 1
Client 1 Client 2 Client n
Client 1 Client 2 Client n
Server 2
A hit t
8/4/2019 Networked Virtual Environments
60/139
Architectures
Multiple-Server Architectures
Several servers have the followingadvantages:
System scales better. Communication between clients attached to
different servers takes longer.
Key issue: how to assign clients to servers?
A hit t
8/4/2019 Networked Virtual Environments
61/139
Architectures
Peer-to-peer
NETWORK
Client 1
Client 2
Client n
A hit t
8/4/2019 Networked Virtual Environments
62/139
Architectures
Peer-to-peer
Network will be:
Broadcast
One or multiple multicast groups.
In the case of multicast groups:
Area of Interest Management: assign differentusers to different multicast groups, based on some
criteria.
A hit t
8/4/2019 Networked Virtual Environments
63/139
Architectures
How many participants can co-exist in avirtual world?
From a Network infrastructure point of
view: Infinite compute power at each node
Network does not saturate
Packet size: 144 bytes
PDUs per second: 5 - 30
A hit t
8/4/2019 Networked Virtual Environments
64/139
Architectures [Dawson98]
Technology Speed(Kbps)
Min #players
Max #players
Modem 56 1 6
DSL 1500 39 163
T-1 1500 39 163
10BT 10,000 263 1085
100BT 100,000 2630 10851
Sh d St t
8/4/2019 Networked Virtual Environments
65/139
Shared State
Main idea in a NVE:
Provide users with the illusion that everyparticipant is seeing the same things and
interacting with each other.
Things in the NVE change.
Without dynamic shared state, the illusionof sharing space and time breaks.
Sh d St t
8/4/2019 Networked Virtual Environments
66/139
Shared State
Definition of the problem - Theconsistency-throughput tradeoff
It is impossible to allow dynamic
shared state to change frequentlyand guarantee that all hostsimultaneously access identicalversions of that state. [Singha/Zyda1999]
Shared State
8/4/2019 Networked Virtual Environments
67/139
Shared State
Absolute consistency:
Wait until everybody acknowledges before moving toa new position.
Considering latency and available bandwidth, thismay imply slowing down too much.
Frequent updates:
Users send the updates and move on.
But: some users will receive the updates quickly andothers wont.
Inconsistent views!
Shared State
8/4/2019 Networked Virtual Environments
68/139
Shared State
Centralized Repositories - File Repository
For pedagogical purpose:
One file per entity
Each update:
Open File
Read/Updat
Close File
User 1
User 2
User n
Shared State
8/4/2019 Networked Virtual Environments
69/139
Shared State
Centralized Repositories - File Repository
Advantage:
absolute consistency.
Avoids concurrency problems. Locks on objects easily implemented (when are
locks necessary?)
Problems:
SLOW!
Shared State
8/4/2019 Networked Virtual Environments
70/139
Shared State
Centralized Repositories - Repository inServer Memory
Entry in memory per entity.
Users need to acquire a lock.
User 1
User 2
User n
Shared State
8/4/2019 Networked Virtual Environments
71/139
Shared State
Centralized Repositories - Repository inServer Memory
Advantages
Fast!
Disadvantages
No persistency.
What happens if server crashes?
Shared State
8/4/2019 Networked Virtual Environments
72/139
Shared State
Distributed Repositories - VirtualRepository
Different clients manage different parts of the
world. Clients have a local cache of used objects.
Shared State
8/4/2019 Networked Virtual Environments
73/139
Shared State
Distributed Repositories - VirtualRepository
Advantages:
No bottleneck
Disadvantages:
Complex to program.
Shared State
8/4/2019 Networked Virtual Environments
74/139
Shared State
Frequent State Regeneration
Is absolute consistency alwaysnecessary?
When is it NOT necessary?
Shared State
8/4/2019 Networked Virtual Environments
75/139
Shared State
Frequent State Regeneration
For instance in a group flight simulatorprogram:
A temporal inaccuracy in the position ofanother plane is not too serious.
Example: if updates are sent every 40milliseconds, one lost package is almostimperceptible.
Shared State
8/4/2019 Networked Virtual Environments
76/139
Shared State
Frequent State Regeneration
Producer
Broadcast location of local objects
Either when they move or at a fixed rate.
Consumers (other participants)
Draw the scene using the locations in the localcache.
Update the local cache with the remote events.
Shared State
8/4/2019 Networked Virtual Environments
77/139
Shared State
Frequent State Regeneration
Producers and consumers are decoupled.
All interactions can be decoupled?
Independent movements: YES.
Tight-collaborative tasks: NO.
Slow cycles Fast cycles
Shared State
8/4/2019 Networked Virtual Environments
78/139
Shared State
Situation 1:
A slow computer controls a plane moving in astraight line.
A participant in a fast computer perceives ajumpy movement.
Situation 2:
A fast computer floods a slow computer withmessages of a car moving in a straight line.
Shared State
8/4/2019 Networked Virtual Environments
79/139
Shared State
Issue 1 (slow updates - Fast computer sees jumpiness)
Issue 2 (fast updates - Slow computer overwhelmed)
Shared State
8/4/2019 Networked Virtual Environments
80/139
Shared State
Solution to alleviate both issues:
DEAD RECKONING.
Instead of sending updates at frame rate,
Send parameters that describe the trajectory ofthe object (example: initial position and velocity)
Each participant displays the trajectory at its ownrate.
Shared State
8/4/2019 Networked Virtual Environments
81/139
Shared State
Advantages:
Accommodates heterogeneity.
Bandwidth usage is reduced.
Cost:
More cycles to compute trajectory at eachnode.
Need to re-synchronize.
Shared State
8/4/2019 Networked Virtual Environments
82/139
Shared State
Dead Reckoning - Two parts:
Prediction
Predict where the object is based on the received
parameters. Convergence
Once an actual position is received: how to movethe object from the predicted to the actual position.
Shared State
8/4/2019 Networked Virtual Environments
83/139
Shared State
Prediction Algorithms
Derivative Polynomials:
Order one:
Order two:
Part of DIS protocol.
tvelpospos *01
2
01 *2
1
* tacctvelpospos
Shared State
8/4/2019 Networked Virtual Environments
84/139
Shared State
Other predictionalgorithms:
Circles
Spirals
Planes seem to followmany such curves.
Shared State
8/4/2019 Networked Virtual Environments
85/139
Shared State
Other strategy: Send an update when the actual position is
verydifferent from the predicted position.
Advantage: the errorin the system is keptunder certain threshold.
See paper by C. Faistnauer in IEEE VR 2000.
Shared State
8/4/2019 Networked Virtual Environments
86/139
Shared State
Convergence Algorithms
Predicted Position
Current Position
Last actual position
ConvergencePosition
Shared State
8/4/2019 Networked Virtual Environments
87/139
Shared State
Convergence Algorithms
Snap: Just move the object to the mostrecent actual position.
Linear: Linearly interpolate to a point in thenew predicted path (convergence point).
Cubic Spline: Create a path in the form of
a cubic spline from the current position tothe convergence point.
Scalability and Performance
8/4/2019 Networked Virtual Environments
88/139
Scalability and Performance
Improve the size and performance of aNet-VE by reducing network bandwidthand processor resources.
Less bandwidthrequirements means moreusers in the network.
Less processorrequirements means freecycles for other purposes (bettergraphics,) and more heterogeneousparticipants.
Scalability and Performance
8/4/2019 Networked Virtual Environments
89/139
Scalability and Performance
Required resources are a function of: Number of transmittedmessages
Average number of destinationhosts per
messsage Bandwidthrequired per message
Timeliness(minimal delays)
Processor cyclesneeded to process eachmessage.
Scalability and Performance
8/4/2019 Networked Virtual Environments
90/139
Scalability and Performance
A reduction in any of these items is a gain.
BUTusually a reduction in one means apenalty in another.
Example:
Dead Reckoningreduces required bandwidthbut more processor cycles are required.
Scalability and Performance
8/4/2019 Networked Virtual Environments
91/139
Scalability and Performance
Compression & Aggregation
Compression:
Aims at reducing bandwidth utilization byreducing the size of the messages.
Internal: encode in a more efficient manner.
External: Avoid retransmitting information thatis identical to previous packages.
Scalability and Performance
8/4/2019 Networked Virtual Environments
92/139
Scalability and Performance
Compression Example:
Send Snapshots at periodic rates.
Send updates to the snapshots.
Snapshots sent over reliable protocol.
Updates sent over unreliable protocol.
Scalability and Performance
8/4/2019 Networked Virtual Environments
93/139
Scalability and Performance
Packet Aggregation Aims at reducing the numberof packets by
merging several packets together.
The saving comes from the headers (25 bytesfor UDP and 40 bytes for TCP).
Which packets can be merged?
Packages from all entities managed by the node(at the client).
Packages from several clients (at the host).
Scalability and Performance
8/4/2019 Networked Virtual Environments
94/139
Scalability and Performance
Which packages to merge? Based on a timeout(send a message every
timeoutunits of time).
Based on quorum(send a message onlywhen the quorum has been reached).
Combination of the previous two.
Scalability and Performance
8/4/2019 Networked Virtual Environments
95/139
Scalability and Performance
Aggregation Servers Define servers that aggregate messages for
sets of entities having common
characteristics: Virtual World Location.
Entity type.
Scalability and Performance
8/4/2019 Networked Virtual Environments
96/139
Scalability and Performance
General model: Each node has an Aura, or area of influence.
Each node has a Nimbus, or a type of entities
from which to receive data.
Source
Dest1
Dest2Aura
Nimbus 1
Nimbus 2
Scalability and Performance
8/4/2019 Networked Virtual Environments
97/139
Scalability and Performance
An event is only send from the source tothe destination if the sources aura
intersects the destinations nimbus.
In Massive-1 unicast, peer-to-peer,unreliable protocols are used to sendevents from the sender to the destination.
This does not scale very well.
Scalability and Performance
8/4/2019 Networked Virtual Environments
98/139
Scalability and Performance
Multicast Key question: how to map groups of users to
multicast groups. Approaches:
Group-per-Entity Group-per-Region
Scalability and Performance
8/4/2019 Networked Virtual Environments
99/139
Scalability and Performance
Group-per-Entity [Abrams/Watsen/Zyda98].
There is a multicast group per entity.
Each node subscribes to multicast groups of
entities in its nimbus. A directory serveris necessary to inform nodes
about the position and multicast groups of otherentities.
Problem: The number of multicast groups growsrapidly.
Scalability and Performance
8/4/2019 Networked Virtual Environments
100/139
Scalability and Performance
Group-per-region The virtual world is partitioned into cells. Each
cell is assigned a multicast group.
Users subscribe/unsubscribe from multicastgroups as they travel.
As a user approaches a region, it needs tosubscribe to the neighbor cells. Hexagonalcells are an advantage.
Scalability and Performance
8/4/2019 Networked Virtual Environments
101/139
Scalability and Performance
Level of Detail perception
Objects that are very far away will:
Appear smaller
Probably not be the focus of attention.
Therefore:
Can be updated less frequently.
Scalability and Performance
8/4/2019 Networked Virtual Environments
102/139
Scalability and Performance
Need for multiple channels.
Different channels have differentresolution (update frequencies, spacial
granularity, etc) Who handles the channels?
A server
Each client
Research Topics
8/4/2019 Networked Virtual Environments
103/139
esea c op cs
Multimedia Incorporating audio/video live streams to
NVEs
Questions: What to display
Where to display it
A single rate or multiple rates?
Research Topics - Multimedia
8/4/2019 Networked Virtual Environments
104/139
s a p s a
FreeWalk [Nakanishi96]. Mapped a picture of the user in the front face of a
pyramid (avatar).
Users can move freely and establish voice
conversations. The volume depends on the distance and mutual
orientation.
A community serverinforms users about positionsand orientation of other users.
Actual voice messages and pictures are exchangedamong users.
Research Topics
8/4/2019 Networked Virtual Environments
105/139
p
FreeWalk
Research Topics - Multimedia
8/4/2019 Networked Virtual Environments
106/139
p
Awareness-Driven Video QOS [Reynard98]
Three different QOS levels are established:
Porthole: 1 update every 5 minutes. At the top ofthe virtual office.
Glance: 1 frame/sec. At the front of the office.
Communications: 20 frames/sec. On top of users
avatar.
Research Topics - Multimedia
8/4/2019 Networked Virtual Environments
107/139
p
Awareness-DrivenVideo QOS
Research Topics - Architectures
8/4/2019 Networked Virtual Environments
108/139
p
Hierarchy of Servers [Funkhouser95] Compared Static Allocation of clients to
servers vs. Dynamic Allocation (a server per
room). The number of server-to-server messages
was reduced.
Research Topics - Architectures
8/4/2019 Networked Virtual Environments
109/139
p
Courtesy of T. Funkhouserhttp://www.cs.princeton.edu/funk/ring.html
Research Topics - Architectures
8/4/2019 Networked Virtual Environments
110/139
p
Dynamic partitioning of space[Restrepo03]
Partition the space dynamically as the
users move in the world. Assign one partition to each server.
If a space becomes to crowded, split in a
quadtree fashion.
Load among servers was better balanced.
Research Topics - Architectures
8/4/2019 Networked Virtual Environments
111/139
p
Courtesy if the Eafit University.
Research Topics -
8/4/2019 Networked Virtual Environments
112/139
pHeterogeneity
How to accommodate heterogeneous nodes in aNetVE [Trefftz03] The system handles multiple variables:
Display Rate
Frequency of remote updates Frequency of video updates
The user can specify her preferences. The System Administrator can define minimum
levels The system optimizes the function and definesfidelity levels for each client.
Research Topics - Heterogeneity
8/4/2019 Networked Virtual Environments
113/139
Proof-of-conceptapplication:
Research Topics - Heterogeneity
8/4/2019 Networked Virtual Environments
114/139
The Switchboardarchitecture
Research Topics - Collaborative
8/4/2019 Networked Virtual Environments
115/139
AR
Two or more users collaborating in areality augmented with virtual objects.
See Studio3D by Vienna University.
What happens if the users are in differentphysical locations?
Research Topics
8/4/2019 Networked Virtual Environments
116/139
p
What are the big players doing? Mike Zyda (NPS):
Very successful army game.
Agents in VEs.
Defense-Entertainment cooperation for Training.
Greenhalgh/Benford (Nottingham)
Heterogeneity
Wireless
Steve Feiner IEEE VR 2003: Merge of VR and wireless technologies.
Research Topics
8/4/2019 Networked Virtual Environments
117/139
Americas Army
From Americas Armys home page.
Commercial Systems
8/4/2019 Networked Virtual Environments
118/139
ActiveWorlds Commercial system.
Free sessions for guests.
Used for: Education
Social interaction of groups
Provide avatars and connected virtual locales Communication: chat tool.
Toy Application (cubes)
8/4/2019 Networked Virtual Environments
119/139
Demonstration Will be downloadable from:
http://arcadia.eafit.edu.co/CGIMtutorial/
Toy Application
http://arcadia.eafit.edu.co/CGIMtutorial/http://arcadia.eafit.edu.co/CGIMtutorial/8/4/2019 Networked Virtual Environments
120/139
Packages - Client Application
Toy Application
8/4/2019 Networked Virtual Environments
121/139
Packages - Server Application Jus the Server Package.
8/4/2019 Networked Virtual Environments
122/139
Toy Application - server
8/4/2019 Networked Virtual Environments
123/139
Toy Application - send
8/4/2019 Networked Virtual Environments
124/139
Toy Application - receive
8/4/2019 Networked Virtual Environments
125/139
Toy Application - replicate
8/4/2019 Networked Virtual Environments
126/139
Toy Application - Documentation
8/4/2019 Networked Virtual Environments
127/139
JavaDoc Documentation of classes, methods and
atributes. Created by Java.
UML Poseidon UML
SourceCode
JBuilder Personal Edition project.
Toy Application
8/4/2019 Networked Virtual Environments
128/139
Changes you can do: Use UDP instead of TCP - Compare
performance.
Add audio-video streaming (JMF) Make it peer-to-peer - Compare performance.
Try the techniques for scalability defined inthe tutorial.
Use a VRML loader to import prettiergeometry.
Toy Application
8/4/2019 Networked Virtual Environments
129/139
Test your own ideas!
Conferences
8/4/2019 Networked Virtual Environments
130/139
IEEE Virtual Reality (formerly IEEEVRAIS)
ACM VRST (Virtual Reality Software and
Technology). ACM CVE (Collaborative VirtualEnvironments). (every two years).
ACM CSCW (Computer SupportedCollaborative Work).
IASTED CGIM.
Journals
8/4/2019 Networked Virtual Environments
131/139
PRESENCE. MIT Press. In General networking or Human-
Computer Interaction Journals have more
and more articles on NVEs.
Summary and Conclusions
8/4/2019 Networked Virtual Environments
132/139
New field. Technology is here.
The need & interest are growing.
Many areas to be explored.
Any idea for your own research? I will behappy to discuss.
Enjoy!
8/4/2019 Networked Virtual Environments
133/139
Thank you!
Bibliography - BOOKS
8/4/2019 Networked Virtual Environments
134/139
[Singhal/Zyda 1999] Singhal, S. and Zyda,M. Networked Virtual Environments:Design and Implementation. Addison-Wesley.1999.
[Churchill/Snowdon/Munro 2001]Churchill,E., Snowdon, D. and Munro, A.Collaborative Virtual Enironments. Digital
Places and Spaces for Interaction.Springer Verlag. 2001.
Bibliography - Papers and Articles
8/4/2019 Networked Virtual Environments
135/139
[Abrams/Wasten/Zyda98] Abrams, H., Waksen, K. andZyda M. Three tiered interest management for large-scale virtual environments. In Proceedings of VRST1998. Taipei, Taiwan, November 1998.
[Dawson98] Dawson, F. XDSL market blooming.Interactive Week5(39):28-29. October, 1998.
[Funkhouser96] Funkhouser, T. Network Topologies forScalable Multi-User Environments. In Proceedings of
IEEEVRAIS. 1996.
Bibliography - Papers and Articles
8/4/2019 Networked Virtual Environments
136/139
[Greenhalgh/Benford95] Greenhalgh, C.,Benford, S. Massive: a Virtual Reality Systemfor Teleconferencing. ACM Transaction onComputer Human Interfaces. 2(3):239-261.
[Hagsand96] Hagsand, O. Interactive multiuser VEs inthe DIVE system. IEEE Multimedia3(1):30-39, 1996.
[IEEE93] IEEE standard for information technology /protocols for distributed simulation applications. IEEEStandard 1278-1993. IEEE Computer Society, 1993.
[Macedonia95] Macedonia, M., Zyda, M., Pratt, D. and Barham, P.Exploiting reality with multicast groups: A network architecture forlarge-scale virtual environments. In Proceedings of IEEE VRAIS.1995.
Bibliography - Papers and Articles
8/4/2019 Networked Virtual Environments
137/139
[Miller/Thorpe95] Miler, D., Thorpe J.A. SIMNET: The advent of SimulatorNetworking. In Proceedings of the IEEE83(8):1114-1123, August 1995.
[Nakanishi96] Nakanishi, H., Yoshida, C., Nishimura, T. and Ishida, T.FreeWalk: Supporting Casual Meetings in a Network. InProceedings of ACM CSCW. 1996.
[Restrepo03] Restrepo A., Montoya, A. and Trefftz H. Dynamic
Server Allocation in Virtual Environments using QuadTrees forSpace Partitioning. In Proceedings of IASTED Computer Scienceand Technology, Cancun, Mexico, 2003.
[Reynard98] Reynard, G., Benford, S., Greenhalgh, C. & Heath, C.Awareness Driven Video Quality of Service in Collaborative VirtualEnvironments. In Proceedings of ACM CHI98.
Bibliography - Papers and Articles
8/4/2019 Networked Virtual Environments
138/139
[Shaw/Green93] Shaw, C. Green, M. TheMR toolkit peers package and experiment.In Proceedings of the 1993 IEEE VirtualRealityAnnual International Symposium,463/469. Seattle, September 1993.
[Trefftz03] Trefftz, H., Marsic, I. and ZydaM. Handling Heterogeneity in Networked
Virtual Environments. In Presence12(1)37. February 2003.
Bibliography - Web Pages
8/4/2019 Networked Virtual Environments
139/139
[DIVE] DIVE home page http://www.sics.se/dce/dive/ [idSoftware] idSoftware home page
http://www.idsoftware.com/
[MASSIVE-3] MASSIVE home page
http://www.crg.cs.nott.ac.uk/research/systems/MASSIVE-3/
[NPSNET] NPSNET home pagehttp://www.npsnet.org/~npsnet/
Toy application: http://arcadia.eafit.edu.co/CGIMtutorial/
http://www.sics.se/dce/dive/http://www.idsoftware.com/http://www.crg.cs.nott.ac.uk/research/systems/MASSIVE-3/http://www.crg.cs.nott.ac.uk/research/systems/MASSIVE-3/http://www.npsnet.org/~npsnet/http://arcadia.eafit.edu.co/CGIMtutorial/http://arcadia.eafit.edu.co/CGIMtutorial/http://www.npsnet.org/~npsnet/http://www.crg.cs.nott.ac.uk/research/systems/MASSIVE-3/http://www.crg.cs.nott.ac.uk/research/systems/MASSIVE-3/http://www.crg.cs.nott.ac.uk/research/systems/MASSIVE-3/http://www.idsoftware.com/http://www.sics.se/dce/dive/