Locales and Beacons by Barrus et al in 1996
- Locales are regions of the world containing objects and split statically by designers. Locales can be children of another locale. Ex: car locale contains rear-view mirror + tires + ..., and the car's parent locale can switch from garage to street.
- Absolute object positions in the world are obtained by converting their position in their locale's frame of reference into the world's locale by a series of transformations between locales. Ex: make a locale neighbor of itself using a reflection transformation gives a mirror effect.
- A locale is run by only one server, and users in that locale belong to that locale's multicast address. Objects push updates to their locale's multicast.
- A beacon maps a tag to a locale's mutlicast address. A beacon is handled by its beacon server (not a locale server). That beacon server is found by hashing the beacon's tag.
- Beacon usages:
If someone creates a part of a virtual world and wants other people to visit, he can mark the area with a beacon and publish the tag.
- Private tag only seen by people in the object's locale;
people that run into the beacon can subsequently keep track of it no matter where it moves. Useful to follow an object across locales.
Someone who wants to provide a service can publish a tag, without creating a beacon. For example, suggest the tag "car", and car-makers tag their cars with "car". All the cars are addressable from that beacon's multicast.
- Demo: Tour Diamond Park