next up previous
Next: CES: Tickle Locks Up: Session- and Artifact- Previous: Cognoter: Private/Shared Windows

GROVE: Access-Controlled Views

GROVE [], like RTCAL is a group outline editor, but unlike RTCAL supports fine-grained access control and allows private items to be viewed within the context of public information. A GROVE outline is a recursive structure consisting of structured items. Each item is associated with some text and can contain subitems of its own. Each user displays a view of the outline in a viewport. A view is a subset of the outline to which the user has access and a viewer is a window that displays an outline view. This distinction allows users to share views without sharing the viewers displaying them.

A view may be private, public, or shared. A private view is readable only by the user who created it, a public view contains items readable by everyone, and a shared view contains items readable only by a subset of users.

When a Grove session is started, the user initiating it specifies whether a private, public, or shared view is desired.

A new viewer is created on the screens of all users who share this view. The viewer shows the entire contents of the current outline that are accessible to its user. Any additions of to the outline are shown only to the users who share the view. (Images of these users are displayed at the bottom of the viewport displaying the view.) The additions do not have unique numbers but do have labels that show their place relative to the nearest public ancestor (e.g. 1.2.*). In contrast, an entry made in a public view is numbered (e.g. 1.2) since it is readable by all users.

Grove also allows private and shared views to be dynamically forked from existing shared and public views. Whenever a new view is created by a user, viewports displaying it are created on screens of all users who can read it. This feature allows users to divide a meeting into several parallel submeetings. It is not clear how the work done in these submeetings are merged back into a common meeting.

An item displayed in a view is associated with permission to read, write, and change permissions. At any time, a user with the change permission right to an item can make an item readonly or writeable for a selected set of users. Writeable item are displayed in black and readonly items in grey in the viewports of the users. Users can bring up forms that show what kind of permissions the different users sharing the view have to an item. Grove provides commands to textually edit leaf items and insert, delete, open and close non-leaf items.

Grove also supports the concept of a a telepointer, a pointer that can be moved by a remote user. In Grove, a single telepointer is created for all collaborators.

A change made by a user to an item is immediately transmitted to the users sharing it. Grove allows multiple users to change an item simultaneously and ensures that they see these changes in the same logical order. It does not use centralization or aborts to ensure global order, optimistically expecting few inconsistent concurrent operations. When such operations do occur, it transforms them to ensure consistency, as we shall see in detail later. Moreover, it does not support locking, and relies on social protocol to prevent conflicts.



next up previous
Next: CES: Tickle Locks Up: Session- and Artifact- Previous: Cognoter: Private/Shared Windows



Prasun Dewan
Tue Jan 28 17:46:09 EST 1997