• Ei tuloksia

User’s focus is typically nearby User’s focus is typically nearby

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "User’s focus is typically nearby User’s focus is typically nearby"

Copied!
5
0
0

Kokoteksti

(1)

Exploiting Level

Exploiting Level- -of of- -Detail Perception Detail Perception

‹‹

Nearby viewers Nearby viewers

™

™expect full graphical expect full graphical detailsdetails

™™accurate structure, position, orientationaccurate structure, position, orientation

™™update rate update rate →→local frame ratelocal frame rate

‹

‹

Distant viewers Distant viewers

™

™can tolerate can tolerate lesslessgraphical graphical detailsdetails

™

™less accurate structure, position, orientationless accurate structure, position, orientation

‹‹

User’s focus is typically nearby User’s focus is typically nearby

‹

‹

Many inaccuracies cannot even be detected on a fine Many inaccuracies cannot even be detected on a fine- - resolution display

resolution display

A

Multiple

Multiple- -Channel Architecture Channel Architecture

‹

‹

Multiple independent data channels for each entity Multiple independent data channels for each entity

Low-Low-resolution channelresolution channel (

(xx, , yy)) ((xx, , yy)) High

High--resolution channelresolution channel

High High--frequency,frequency, highhigh--bandwidthbandwidth information information Low Low--frequencyfrequency,, low low--bandwidthbandwidth information information

⇒The overall bandwidth ⇒

The overall bandwidth requirements are reduced requirements are reduced

Implementation Examples Implementation Examples

‹

‹

Client Client- -server server

™

™each transmission identifies its channeleach transmission identifies its channel

™

™server dispatches data from channels to clientsserver dispatches data from channels to clients

‹

‹

Multicast group for each region Multicast group for each region

™

™assign multiple assign multiple addressesaddressesfor each regionfor each region

~~one group provides all of the entities’ highone group provides all of the entities’ high--resolution channels,resolution channels, another group provides all of the entities’ low

another group provides all of the entities’ low--resolution channelsresolution channels

‹‹

Multicast group for each entity Multicast group for each entity

™™assign multiple assign multiple addressesaddressesfor each entityfor each entity

‹

‹

Different reliabilities to each channel Different reliabilities to each channel

™

™lowlow--frequency updates are frequency updates are importantimportant

~~lost packets can have a significant impactlost packets can have a significant impact

Selecting the Channels to Provide Selecting the Channels to Provide

‹

‹

How many channels to provide for an entity? How many channels to provide for an entity?

™

™

more channels: better service for subscribers more channels: better service for subscribers

™™

each channel imposes a cost (bandwidth and each channel imposes a cost (bandwidth and computational)

computational)

‹‹

To satisfy the To satisfy the trade trade- -off off, three channels for each entity , three channels for each entity is typically needed

is typically needed

™

™

channels channels provide order provide order- -of of- -magnitude differences in magnitude differences in

~~structural and positional accuracystructural and positional accuracy

~~packet ratepacket rate Rigid

Rigid--body channelbody channel Approximate

Approximate--body channelbody channel Full

Full--body channelbody channel Far

Far--range viewersrange viewers Mid

Mid--range viewersrange viewers Near

Near--range viewersrange viewers

Rigid

Rigid- -Body Channel Body Channel

‹‹

Demands the least bandwidth and computation Demands the least bandwidth and computation

‹‹

Represents the entity as a rigid body Represents the entity as a rigid body

‹

‹

Ignores changes in the entity’s structure Ignores changes in the entity’s structure

‹

‹

Update types: Update types:

™

™positionposition

™

™orientationorientation

™

™structurestructure

Approximate

Approximate- -Body Channel Body Channel

‹

‹

More frequent position and orientation updates More frequent position and orientation updates

‹

‹

Hosts can render a rough approximation of the entity’s Hosts can render a rough approximation of the entity’s dynamic structure

dynamic structure

™

™appendages and other articulated partsappendages and other articulated parts

‹

‹

Provided information is entity Provided information is entity- -specific specific

™

™correspondscorrespondsto the dominant changes of the structureto the dominant changes of the structure

(2)

Common Approximations Common Approximations

‹

‹Radial lengthRadial length

™™motion towards and away from a motion towards and away from a centre point

centre point

™

™update packets include the update packets include the current radius current radius

‹

‹Articulation vectorArticulation vector

™

™the current direction of the the current direction of the appendage

appendage

™

™models a rotating turret, arms and models a rotating turret, arms and legs

legs

‹

‹Local coLocal co--ordinate system pointsordinate system points

™

™subset of the entity’s significant subset of the entity’s significant vertices relative to the entity’s vertices relative to the entity’s local co

local co--ordinate systemordinate system

™

™the entity is composed of the entity is composed of multiple components multiple components

Radius Radius

Full- Full -Body Channel Body Channel

‹

‹

Highest level of detail Highest level of detail

‹‹

High bandwidth and computational requirements High bandwidth and computational requirements

™

™viewerviewercan subscribe to a limited number of full-can subscribe to a limited number of full-body body channelschannels

‹

‹

Frequent transmissions Frequent transmissions

‹

‹

Position and orientation Position and orientation

‹

‹

Accurate structure information Accurate structure information

Exploiting Temporal Perception Exploiting Temporal Perception

‹

‹

Render the entity in an accurate location Render the entity in an accurate location — — albeit slightly out- albeit slightly out - of of- -date date

‹

‹

As long as the local user does not interact, small temporal As long as the local user does not interact, small temporal inaccuracies

inaccuracies can be can be allowed allowed

‹‹

Advantages Advantages: :

™™worksworkson on WANs WANs having great latencyhaving great latency

™™cancanenhance packet aggregationenhance packet aggregation

™™cancanenhance dead reckoningenhance dead reckoning

Active and Passive Entities Active and Passive Entities

‹‹An active entityAn active entity

™

™takes actions on its owntakes actions on its own

™™generates updatesgenerates updates

™

™human participants, computerhuman participants, computer-- controlled entities controlled entities

™

™cannot be predicted typicallycannot be predicted typically

™™rendered using state updates rendered using state updates adjusted for the latency adjusted for the latency

‹‹A passive entityA passive entity

™

™reacts to events from the reacts to events from the environment, does not generate environment, does not generate its own actions

its own actions

™

™inanimate objects (e.g., rocks, inanimate objects (e.g., rocks, balls, books)

balls, books)

™

™active entities interact with active entities interact with passive entities passive entities

™

™rendered according to the latency rendered according to the latency of its nearest active entity of its nearest active entity

™™reactsreactsinstantaneously to instantaneously to the the actions

actionsof of a nearbya nearbyactive entityactive entity

Example: Pong Example: Pong

‹

‹

Two active entities: Two active entities:

paddles paddles

™™

movement unpredictable movement unpredictable

‹

‹

One passive entity: ball One passive entity: ball

™

™

movement predictable movement predictable

‹

‹

Latency of Latency of d d seconds seconds d d

View of

View of the Blue the Blue Player Player

(3)

View

View of the of the Red Player Red Player Pong: Pong: A Summary A Summary

‹

‹

Each player sees a different representation of Each player sees a different representation of the same the same playing playing field

field

‹‹

The ball accelerates as it approaches the local player’s paddle The ball accelerates as it approaches the local player’s paddle

‹

‹

The ball decelerates as it approaches the remote player’s The ball decelerates as it approaches the remote player’s paddle

paddle

‹

‹

The ball’s rendered position alternates between The ball’s rendered position alternates between

™

™the current timethe current time

~~meaningful interaction for local playermeaningful interaction for local player

™

™a past time referencea past time reference

~

~network latencynetwork latency

~~observing meaningful interaction for remote observing meaningful interaction for remote playerplayer

3½ 3 ½- -Dimensional Playing Field Dimensional Playing Field

‹

‹

Represent each player’s perception as a four Represent each player’s perception as a four- - dimensional

dimensional co co- -ordinate ordinate system ( system (x

x,

, y

y,

, z

z,

, t

t)

)

™

™xx, , yy, , zz: the spatial position relative to the local : the spatial position relative to the local player’s current position

player’s current position

~~local player at (local player at (0, 0, 00, 0, 0))

™

™tt: the time associated with rendered information : the time associated with rendered information from that position

from that position

~~local player rendered at current time: local player rendered at current time: t t = 0= 0

~

~opposing player: opposing player: t t = −= −dd

(0, 0, 0 (0, 0, 0))

d d

Co- Co -ordinate ordinate Systems Systems

t t = 0= 0

t = −t = −dd

Blue Player Blue Player

t t = −= −dd

t t = 0= 0

Red Player Red Player

Properties of the Co

Properties of the Co- -ordinate System ordinate System

‹

‹The coThe co--ordinate system is defined ordinate system is defined independently for each player independently for each player

‹‹Depends on the player’s current Depends on the player’s current position and the delay of arriving position and the delay of arriving information

information

‹‹Changes dynamically as the player Changes dynamically as the player moves or as the network properties moves or as the network properties change

change

‹

‹Defines how a passive object Defines how a passive object should be rendered should be rendered

‹

‹Each user perceives all collisions Each user perceives all collisions correctly

correctly

‹‹Objects that approach the local Objects that approach the local user are rendered in the user’s user are rendered in the user’s timetime

‹‹Smooth movementSmooth movement

Generalizing the Local Temporal Contour Generalizing the Local Temporal Contour

‹

‹

Limitations: Limitations:

™™players are capable of moving along a single axis onlyplayers are capable of moving along a single axis only

™™supports twosupports twoactive objects onlyactive objects only

‹

‹

Generalization to a 4D Generalization to a 4D co co- -ordinate ordinate system system requires preserving requires preserving for the local user:

for the local user:

™

™interactinginteractingnaturally withnaturally withpassive objects passive objects in vicinityin vicinity

™

™seeingseeingremote interactions remote interactions (passive(passive--toto--passive,passive,passivepassive--toto--active)active)

(4)

Local Temporal Contour Local Temporal Contour

‹

‹

The local user at ( The local user at (0, 0, 0 0, 0, 0) )

‹‹

Each active object is Each active object is assigned a assigned a t

t

value value corresponding

corresponding to its latency to its latency

‹‹

Interpolate Interpolate the contour the contour over over all active objects including all active objects including local

local

‹‹

Contour defines a suitable Contour defines a suitable t

t

value for each spatial point value for each spatial point

local local

t t y y

x x

Limitations Limitations

‹

‹

Varying latency can cause entities to (unnaturally) jump Varying latency can cause entities to (unnaturally) jump forward or backward in time

forward or backward in time

™

™use use averagedaveragedlatency to dampen the effectlatency to dampen the effect

‹‹

What if an update What if an update packet is packet is delayed

delayed considerably? considerably?

™™predict entity’s past position, dead reckoningpredict entity’s past position, dead reckoning

‹

‹

Computational requirements Computational requirements

™

™compute compute the contourthe contourusing only the nearest active entitiesusing only the nearest active entities

§6.4 Enhancing the System Architecture

§6.4 Enhancing the System Architecture

‹

‹

Change the network software architecture Change the network software architecture

‹

‹

Basic structures: client Basic structures: client- -server and peer server and peer- -to to- -peer peer

‹‹

Augment and combine basic structures Augment and combine basic structures

™

™server clustersserver clusters

~~partition clients across multiple serverspartition clients across multiple servers

~

~partition the NVE across multiple serverspartition the NVE across multiple servers

™

™server hierarchiesserver hierarchies

™

™peerpeer--server systemsserver systems

M

M HH BB TT PP

Traditional Client

Traditional Client- -Server Server

‹

‹

Server may act as Server may act as

™

™broadcast reflectorbroadcast reflector

™

™filtering reflectorfiltering reflector

™

™packet aggregation serverpacket aggregation server

‹‹

Scalability problems Scalability problems

™™all traffic all traffic goes throughgoes throughthe the server

server

⇒⇒Server clusters

Server clusters

SS CC

CC CC C C

C C C

C CC

C C C C

CC C C CC C

C

C C

Partitioning Clients

Partitioning Clients across across Multiple Servers Multiple Servers

‹‹

The servers exchange control The servers exchange control messages among themselves messages among themselves

™

™inform the interestsinform the interestsof their of their clients

clients

‹‹

Reduces the workload on each Reduces the workload on each server

server

‹‹

Incurs a greater Incurs a greater latency latency

‹

‹

The total The total processing and processing and bandwidth requirements are bandwidth requirements are greater

greater

S S S

S SS

S S C

C

C C C C CC

C C C

C CC

C C C C

C C

C C C C C

C

CC

Partitioning the NVE

Partitioning the NVE across across Multiple Servers Multiple Servers

‹

‹Each server manages clients Each server manages clients located within a certain region located within a certain region

‹‹Client communicates with Client communicates with different serves as it moves different serves as it moves

‹

‹Eliminates a lot of network trafficEliminates a lot of network traffic

‹

‹Requires Requires advancedadvancedconfigurationconfiguration

‹

‹Is Is a regiona regionvisible from another visible from another region?

region?

‹

‹AggregationAggregationservers are servers are a speciala special case of NVE server partitioning case of NVE server partitioning CC CC

CC C C

CC C C

CC S

S SS

S

S SS

(5)

Server Hierarchies Server Hierarchies

‹

‹Servers themselves Servers themselves act asact asclientsclients

‹

‹Packet fromPacket froman upstreaman upstreamserver:server:

™™deliver to deliver to the interestedthe interested downstream clients downstream clients

‹

‹Packet from Packet from a downstreama downstreamclient:client:

™

™deliver to deliver to the interestedthe interested downstream clients downstream clients

™

™if other regions are interested in if other regions are interested in the

the packetpacketthen then deliver itdeliver itto the to the upstream

upstreamserverserver CC CC

CC C C

CC C C

CC S

S SS

S

S SS

SS S S

S S

Viittaukset

LIITTYVÄT TIEDOSTOT

To counterbalance all of this criticism towards poor graphs, posting 23 mentioned one group of LinkedIn users who were generally thought to have appropriate, high quality

Helppokäyttöisyys on laitteen ominai- suus. Mikään todellinen ominaisuus ei synny tuotteeseen itsestään, vaan se pitää suunnitella ja testata. Käytännön projektityössä

All information, be it lexical entries (bilingual or monolingual), grammatical construction types, semantic types, or translation instructions, is given in the form

Normal Flow: User provides searching options to be applied on the list of entities by input- ting a keyword or a tag that an entry might include.. Application returns list of

Conceptualizing policy as an assemblage means we focus on how the restriction of entitlement to ECEC is connected to other entities of social reality – both human and

Floristic variation can not be inventoried in every location and of all the flora, thus inventory is limited in sample sites of a group(s) of indicator species and modelled to

A different placement (Figure 1c) yields a different partition, where all but one of the points is joined into one group. The isolated object to the left of the

™ ™ rendered according to the latency rendered according to the latency of its nearest active entity of its nearest active