Networked Virtual Environments

download Networked Virtual Environments

of 139

Transcript of Networked Virtual Environments

  • 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/