 |
Home | Changes | Index | Search | Go
This page describes the design for federation in project Wonderland. Federation describes the process by which a single user can access multiple Wonderland servers. Currently, this requires the user to log off of one server, and then restart the Wonderland client connected to a different server. Starting in Wonderland 0.5, we will provide support for federation across multiple servers. From the user perspective, this will appear as "portals" linking one space to another. By going through these portals, a user can easily move to a different space. This page describes how this federation will be implemented.
A federated world is key to the vision of a "3D web". Rather than thinking of the Wonderland world as hosted in a single space, we see it as a set of spaces residing on different servers controlled by different people. So a user will be able to use Wonderland inside their corporate firewall, and then easily transition to a space hosted on an external server.
Contents
Goals and User Experience
Federation with portals
|
Basic implementation
Basic Federation Design
|
Implementation with Single Sign-On
Federation with Single-Sign-On
|
Discussion Notes - 13 Feb 08
Choices/Questions
- 2D Portals
- Optional audio through portal
- one way and bidirectional portal
- Users can link to an existing portal.
- How do users create portals ?
- Jump to location, create portal and jump back
- Create portal against a placemark
- Portal gun approach, like Valve portals game
- 3D content federation
- Tiled system
- Completely mixed/integrated system in which cells in a world can come from any server
Use OpenSSO? as the centralized User and avatar data authentication service. Standards based with current implementations.
Need to look through our API's and identify which things may need to be federated, as this has impact on implementation (ie can't be serviced in a DS transaction).
Require non federation aware server mode (mostly for development). These will be implemented as pluggable modules & services so this will be achievable via runtime settings.
|