6.2 Controlling the Visibility of Data 6.2 Controlling the - - PDF document

6 2 controlling the visibility of data 6 2 controlling
SMART_READER_LITE
LIVE PREVIEW

6.2 Controlling the Visibility of Data 6.2 Controlling the - - PDF document

Special Course on Networked Virtual February 20, 2004 Environments 6.2 Controlling the Visibility of Data 6.2 Controlling the Visibility of Data Protocol Optimizations Protocol Optimizations Compression Compression Aggregation


slide-1
SLIDE 1

Special Course on Networked Virtual Environments February 20, 2004 Jouni Smed 1

§6.2 Controlling §6.2 Controlling the Visibility of Data the Visibility of Data

  • Area

Area-

  • of
  • f-
  • interest

interest filters filters

  • each host provides explicit data filters

each host provides explicit data filters

  • filters define the interest in data

filters define the interest in data

  • Multicasting

Multicasting

  • use existing routing protocols to restrict the flow of data

use existing routing protocols to restrict the flow of data

  • divide the entities or the region into multicast groups

divide the entities or the region into multicast groups

  • Subscription

Subscription-

  • based aggregation

based aggregation

  • group available data into fine

group available data into fine-

  • grained ‘channels’

grained ‘channels’

  • hosts subscribe the appropriate channels

hosts subscribe the appropriate channels

Protocol Optimizations Protocol Optimizations

M M H H B B T T P P Compression Compression M M H H B B T T P P Host Filtering Host Filtering M M H H B B T T P P Aggregation Aggregation

Why to Do Why to Do Data Flow Data Flow Restriction? Restriction?

( (x x, , y y, , z z) ) ( (∆ ∆x x, , ∆ ∆y y, , ∆ ∆z z) ) Fire Fire o

  • 2

2

C r e a t e C r e a t e a n e w a n e w

  • b

j e c t

  • b

j e c t J

  • i

n J

  • i

n R e l e a s e l

  • c

k R e l e a s e l

  • c

k L L

7 7

Destroy object Destroy object Alive Alive o

  • 26

2 6

Alive Alive o

  • 3

7 3 7

Fire Fire o

  • 55

55

‘ ‘ E n e m y E n e m y s i g h t e d ! ’ s i g h t e d ! ’

Awareness and the Spatial Model of Interaction Awareness and the Spatial Model of Interaction

Key concepts: Key concepts:

  • medium

medium: communication type : communication type

  • aura

aura: subspace in which : subspace in which interaction can occur interaction can occur

  • awareness

awareness: quantifies one object’s : quantifies one object’s significance to another object (in a significance to another object (in a particular medium) particular medium)

  • focus

focus: represents an observing : represents an observing

  • bject’s interest
  • bject’s interest
  • nimbus

nimbus: represents an observed : represents an observed

  • bject’s wish to be seen
  • bject’s wish to be seen
  • adapters

adapters: can modify an object’s : can modify an object’s auras, foci, and nimbi auras, foci, and nimbi

User’s User’s video aura video aura Television’s Television’s video aura video aura Television’s video nimbus Television’s video nimbus User’s video User’s video focus focus

Nimbus Nimbus-

  • Focus Information Model

Focus Information Model

  • Nimbus: entity data should only

Nimbus: entity data should only be made available to entities be made available to entities capable of perceiving that capable of perceiving that information information

  • Focus: each entity is only

Focus: each entity is only interested in information from a interested in information from a subset of entities subset of entities

  • Ideally, all information is

Ideally, all information is processed individually and processed individually and delivered only to entities delivered only to entities

  • bserving it
  • bserving it
  • what about scaling up?

what about scaling up?

  • processing resouces

processing resouces

  • each packet has a custom set of

each packet has a custom set of destination entities destination entities ⇒ ⇒ hard to hard to utilize multicasting utilize multicasting

⇒ ⇒ Approximate the pure nimbus

Approximate the pure nimbus-

  • focus model

focus model

Area Area-

  • of
  • f-
  • Interest Filtering Subscriptions

Interest Filtering Subscriptions

  • Hosts

Hosts transmit transmit information to a set of subscription managers information to a set of subscription managers (or (or area area-

  • of
  • f-
  • interest

interest managers managers, filtering servers) , filtering servers)

  • Managers receive subscription descriptions from

Managers receive subscription descriptions from the the participating participating hosts hosts

  • For each piece of data, the managers determine which of the

For each piece of data, the managers determine which of the subscription subscription requests requests are satisfied and disseminate the are satisfied and disseminate the information to the corresponding subscribing hosts information to the corresponding subscribing hosts

  • AOI filtering:

AOI filtering:

  • restricted

restricted form of the pure nimbus form of the pure nimbus-

  • focus

focus model model

  • ignores nimbus specifications

ignores nimbus specifications

  • subscription

subscription descriptions specify the entity’s focus descriptions specify the entity’s focus

  • reduces the processing requirements of the pure model

reduces the processing requirements of the pure model

slide-2
SLIDE 2

Special Course on Networked Virtual Environments February 20, 2004 Jouni Smed 2

Subscription Interest Language Subscription Interest Language

  • Allows the hosts to expess

Allows the hosts to expess formally their interests in the NVE formally their interests in the NVE

  • Subscription description can be

Subscription description can be arbitrarily complex arbitrarily complex

  • a sequence of filters or assertions

a sequence of filters or assertions

  • based on the values of packet

based on the values of packet fields fields

  • Boolean operators

Boolean operators

  • programmable functions

programmable functions

( O R ( O R ( EQ TYPE ( EQ TYPE " Tank" ) " Tank" ) ( AND ( AND ( EQ TYPE ( EQ TYPE " Tr uck" ) " Tr uck" ) ( G T LO CATI O N ( G T LO CATI O N-

  • X 50)

X 50) ( LTE LOCATI ON ( LTE LOCATI ON-

  • X 75)

X 75) ( G T LO CATI O N ( G T LO CATI O N-

  • Y 83)

Y 83) ( LTE LOCATI ON ( LTE LOCATI ON-

  • Y 94)

Y 94) ( EQ PACKET ( EQ PACKET-

  • CLASS I NFRARED) ) )

CLASS I NFRARED) ) )

Filtering Subscription Filtering Subscription-

  • Based

Based System: Example System: Example

  • Joint Precision Strike Demonstration (JPSD)

Joint Precision Strike Demonstration (JPSD)

  • military

military NVE for training tactical commanders NVE for training tactical commanders

  • most

most entities are artificially constructed entities are artificially constructed

  • 6,000

6,000 entities, 80 hosts entities, 80 hosts

  • Subscription

Subscription management at each source host management at each source host

  • Each host manages subscriptions

Each host manages subscriptions from from its local its local entities entities

  • The host sends packets directly to

The host sends packets directly to the interested the interested clients using clients using peer peer-

  • to

to-

  • peer

peer unicast unicast

  • Interest subscriptions

Interest subscriptions

  • logical

logical predicates, operators (equality, predicates, operators (equality, ‘within ‘within range’) range’)

  • external function modules in a library

external function modules in a library

When When to Use Customized to Use Customized Information Information Flows? Flows?

1. 1.

Hosts cannot Hosts cannot afford the cost of receiving and processing afford the cost of receiving and processing unnecessary packets unnecessary packets

2. 2.

Hosts are connected over an extremely Hosts are connected over an extremely low low-

  • bandwidth

bandwidth network network

3. 3.

Multicast Multicast or broadcast protocols are not available

  • r broadcast protocols are not available

4. 4.

Client Client subscription patterns change rapidly subscription patterns change rapidly

5. 5.

No No a priori categorizations of a priori categorizations of data data

  • Problem when a large number of hosts are interested in the

Problem when a large number of hosts are interested in the same same piece of information piece of information

  • customized data

customized data streams streams ⇒ ⇒ unicast unicast ⇒ ⇒ the same data the same data travels multiple travels multiple times over the same network times over the same network

Intrinsic and Extrinsic Filtering Intrinsic and Extrinsic Filtering

Network Network Header Header Application Application Data Data

Intrinsic filtering Intrinsic filtering

  • The filter must inspect the

The filter must inspect the application content application content

  • Can dynamically partition data

Can dynamically partition data based on fine based on fine-

  • grained entity

grained entity interests interests

Extrinsic filtering Extrinsic filtering

  • Filters packets based on network

Filters packets based on network properties properties

  • Implementation efficient

Implementation efficient

  • Filtering cannot be as

Filtering cannot be as sophisticated sophisticated

Multicasting Multicasting

  • Transmit

Transmit a packet a packet to to a multicast a multicast group (multicast address) group (multicast address)

  • Packets are delivered to hosts who have subscribed to the multic

Packets are delivered to hosts who have subscribed to the multicast group ast group

  • Explicit

Explicit subscription subscription (join group) (join group) and and unsubscription unsubscription (leave group) (leave group)

  • A host can subscribe to multiple groups simultaneously

A host can subscribe to multiple groups simultaneously

  • Transmission

Transmission to a group does not require subscription to a group does not require subscription

  • Challenge: h

Challenge: how

  • w to partition the available data among a set of multicast

to partition the available data among a set of multicast groups? groups?

  • Each multicast group should deliver a set of related information

Each multicast group should deliver a set of related information

  • Worst case:

Worst case: each each host is interested in a small subset of information from host is interested in a small subset of information from every group every group ⇒ ⇒ must subscribe to every multicast address must subscribe to every multicast address ⇒ ⇒ broadcast broadcast

  • Methods:

Methods:

  • group

group-

  • per

per-

  • entity allocation

entity allocation

  • group

group-

  • per

per-

  • region allocation

region allocation

Group Group-

  • per

per-

  • Entity Allocation 1 (2)

Entity Allocation 1 (2)

  • A different multicast address to each entity

A different multicast address to each entity

  • Each host receives information about all entities within its

Each host receives information about all entities within its focus focus

  • Subscription filter is executed locally

Subscription filter is executed locally

  • Subscribe to the groups

Subscribe to the groups which have which have interesting entities interesting entities

  • Entities cannot specify their

Entities cannot specify their nimbus nimbus; no ; no control over control over which which hosts receive hosts receive the information the information

  • Example:

Example: PARADISE PARADISE

  • each

each entity entity subscribes subscribes to nearby entities to nearby entities

  • control directional information interests

control directional information interests

  • nearby entities that are behind

nearby entities that are behind

  • nearby and distant entities that are in front

nearby and distant entities that are in front

slide-3
SLIDE 3

Special Course on Networked Virtual Environments February 20, 2004 Jouni Smed 3

Group Group-

  • per

per-

  • Entity Allocation 2 (2)

Entity Allocation 2 (2)

  • Multiple multicast group addresses to each entity

Multiple multicast group addresses to each entity

  • position updates

position updates

  • infrared data

infrared data

  • Information at a finer granularity

Information at a finer granularity

  • More accurate focus by group subscriptions

More accurate focus by group subscriptions

  • Hosts need a way to learn about nearby entities

Hosts need a way to learn about nearby entities

  • Entity directory service

Entity directory service tracks the current state of the entities tracks the current state of the entities

  • entity

entity transmits transmits periodically state periodically state information information

  • directory servers collect the information and provide it to

directory servers collect the information and provide it to the entities the entities when requested when requested

Beacon Servers Beacon Servers

Beacon Beacon Server Server Beacon Beacon Server Server Beacon Beacon Server Server Beacon Beacon Server Server

Drawbacks Drawbacks

  • Consumes a large number of multicast addresses

Consumes a large number of multicast addresses

  • Address

Address collisions collisions become quite probable become quite probable

  • Network routers have to process the corresponding large

Network routers have to process the corresponding large number of join and leave requests number of join and leave requests

  • Group search induces network traffic

Group search induces network traffic

  • Network cards can only support a limited number of

Network cards can only support a limited number of simultaneous simultaneous subscriptions subscriptions

  • too many subscriptions

too many subscriptions ⇒ ⇒ ‘promiscuous’ mode ‘promiscuous’ mode

Group Group-

  • per

per-

  • Region Allocation

Region Allocation

  • Partition the world into regions

Partition the world into regions and assign each region to a and assign each region to a multicast group multicast group

  • An entity transmits to groups

An entity transmits to groups corresponding to the region(s) that corresponding to the region(s) that cover its location cover its location

  • The entity subscribes to groups

The entity subscribes to groups corresponding to interesting corresponding to interesting regions regions

  • Entities have limited

Entities have limited control over control over their nimbus but less their nimbus but less control over control over their focus their focus

Region Bounds Region Bounds

  • An entity has to change its target

An entity has to change its target group(s) throughout its lifetime group(s) throughout its lifetime

  • track the bounds of the current

track the bounds of the current region region

  • learn the multicast address of a

learn the multicast address of a new region new region

  • boundaries and addresses

boundaries and addresses assigned to the regions are often assigned to the regions are often static static

  • In grid

In grid-

  • based region assignment

based region assignment there are many points at which there are many points at which multiple grids meet multiple grids meet

  • Near these corners an entity has to

Near these corners an entity has to subscribe to several groups subscribe to several groups

Environment vs. Regular Environment vs. Regular Tessellation Tessellation

slide-4
SLIDE 4

Special Course on Networked Virtual Environments February 20, 2004 Jouni Smed 4

Hybrid Multicast Aggregation Hybrid Multicast Aggregation

  • Balance between

Balance between fine fine-

  • grained

grained data partitioning data partitioning and multicast grouping and multicast grouping

  • Three

Three-

  • tiered

tiered interest interest management system: management system:

1.

  • 1. Group

Group-

  • per

per-

  • region

region scheme scheme segments data based on segments data based on location location

2.

  • 2. Group

Group-

  • per

per-

  • entity

entity scheme scheme allows receiver to select allows receiver to select individual entities individual entities

3.

  • 3. Area

Area-

  • of
  • f-
  • interest

interest filter filter subscriptions subscriptions

Projections Projections

Location Location Type Type Cars between Cars between (85,70) and (85,70) and (110,85) (110,85) Tanks between Tanks between (10,25) and (10,25) and (30,40) (30,40) Composed Projection Composed Projection

  • Projection aggregation

Projection aggregation server server

  • collect data for a projection

collect data for a projection

  • transmit aggregated packets

transmit aggregated packets (projection aggregations) (projection aggregations)

  • Projection composition

Projection composition

  • merge the interest

merge the interest specifications of the specifications of the component projections component projections

§6.3 Exploiting §6.3 Exploiting Perceptual Limitations Perceptual Limitations

  • Humans

Humans have have inherent perceptual limitations inherent perceptual limitations Two approaches to exploit Two approaches to exploit

  • Information can provided at multiple levels of detail and at

Information can provided at multiple levels of detail and at different update rates different update rates

  • Mask the timeliness characteristics of information

Mask the timeliness characteristics of information