# Presentation: 425275

## Scalable Peer to Peer Virtual Venue Services for the Access Grid

- Robert Olson
- Access Grid Retreat
- January, 2001

## What does Peer to Peer mean in the context of the AG?

- AG is peer to peer like the Web is peer to peer
- Anyone can run a server (“host” virtual spaces)
- Anyone can visit a space on the network
- Global topology links all spaces
- All of this modulo access restrictions, just as in the web
- Why have servers distinct from clients?
- Persistence
- Simplicity (for clients)
- Weight (of servers)
- Groove model? (Synchronized shared spaces)

## Places! Things! People!

- 6 million road segments in US road database
- Over 24 million web servers, December 2000
- 100 million street addresses
- 130 million people watched the SuperBowl
- 600 million cell phones / year
- 1 – 100 billion non-digital “places”

## Design goals

- Extreme scalability
- 1 Million nodes
- Many Million virtual spaces
- Strong security
- Open architecture
- Multiple implementations
- Reference implementations available
- Closed implementations possible
- Community saturation
- Trivial to create new spaces

## What are the Venues services?

- Spatial Metaphor
- Interaction scoping
- Fabric of the virtual space
- Persistence
- Media streams / multicast address assignments
- Documents
- Objects
- MUD / Text communication
- Security information
- Session keys
- Private / Public keys
- Certificates
- Shared application coordination / support

## Scalability Challenges

| Huge numbers of nodes | Identification and Authentication
Software Distribution |
| --- | --- |
| Huge numbers of venues | Multicast address assignment
Resource Discovery |
| Huge numbers of nodes in the same venue at the same time | Traffic management
Multicast routing
Presentation / Stream Management |
| Fault tolerance / High Availability | Fallback routing in the network
Fallback support for media channels
Replicated services |

## How do we do it?

- Many *Community Servers*
- Identification / Authentication
- Domain- or institution-specific
- Many *Venue Servers*
- Provides virtual spaces and persistence
- Many *Nodes*
- Similar to today’s nodes
- Carry *Credentials* each validated by an issuing Community Server
- External services
- Archiving, translation, transcoding
- Mapping, indexing, directory services
- Research questions
- Network traffic management
- Fault Tolerance
- Replication

## Architecture Sketch: From the 747

- Venue Server

- Venue Server

- Venue Server

- Community Server

- Community Server

- Node

- Node

- Node

- Node

## A Global Space

- Community-administered space to which privately-administered spaces are attached
- Leverage Metcalfe’s law
- The usefulness, or utility, of a network equals the square of the number of users.
- Discourage islands
- Breaks the Metcalfe’s law advantage
- Strong encryption-based authentication to override the usual objections to attachment to the world at large
- No technical barriers to islands; however, policy or social barriers may form them

## Navigation

- Research question still
- How to handle very large and complex spaces
- User interfaces may or may not look like web pages
- Industry toying with 3D spaces: Blaxxun Interactive

## Navigation model: issues

- Private areas
- Public areas
- Interlinks – plazas, etc

- Registration of private areas?
- Who governs the public areas
- Who adds private areas to public areas
- Who decides limited access?
- (Zoning?)
- (Property taxes?)

## Architectural abstractions

- Virtual Room / Venue / Space
- locus for persistence
- Locus for access control
- Node / physical space
- Door
- Authentication / access control bound here

## Authentication model

- Multiple mechanisms
- Don’t care at all ... open door / public policy
- IP source address
- Username / password
- Public key cryptography architecture
- Effects of security on usability
- Keeping track of logins/ passwords
- User authentication vs. Node authentication
- Private intranet sort of thing

## Strawman Architecture

- Community Server
- LDAP + Apache + PHP + ...
- Venues server
- Database + Apache + PHP
- XML Interface
- Node
- Integrated client
- Lurkers
- Web-based interfaced (XML-based)

## Architecture Sketch: Venue Server

- Venue Engine (Apache + PHP + ...)

- Database

- XML Interface

- HTML translator

- Web client

- AG Client

## AG Protocols

- Browsing
- HTTP (current)
- HTTP + XML document (richer interface)
- Custom clients?
- Multicast tool address
- SDP
- Voyager remote control
- RTSP
- Corba
- Multimedia streaming
- RTP
- Shared document control
- JSDT (current dppt)
- DAV
- Corba
- Custom protocols

## References

- Groove.	_[http://www.groove.net/](http://www.groove.net/)_
- Netcraft (web server survey). _[http://www.netcraft.com/survey/](http://www.netcraft.com/survey/)_
- Blaxxun Interactive. _[http://www.blaxxun.com](http://www.blaxxun.com/)_