OHSWG 1997.02.12
OHSWG logo

Open Hypermedia Systems Working Group

Collaboration via OHS - Analysis


Preliminaries


Goals of the Scenario

  1. Support for references between distributed hyperdocument partitions
    Support for references from a hyperdocument maintained by one hypermedia environment into another hyperdocument maintained by another hypermedia environment. This includes not only the issue of addressing (URL's) but also of document retrieval and display of "foreign documents" and the storage of references to remote documents (parts).

  2. Support for access control
    To control access to documents/hypermedia objects, user authentification and the definition of access rights is required.

  3. Support for group awareness
    There must be some group awareness mechanism that allows the collaborators to recognize each other's presence (and activities). This mechanism consists of awareness detection (potentially in the server) and awareness presentation (in the client/browser).

  4. Support for joint editing sessions
    Thus, browsers need a mechanism to contact other/remote browsers and to establish a cooperative editing session. In such a session, the authors want to share a joint workspace (e.g., the workspace of one author) and a joint view (potentially some relaxed WYSIWIS presentation). For this, the coupled browsers or hypermedia environments need to translate their respective navigation commands into each other's "command language". Furthermore, the translation of different display techniques (even of a shared document) need to be supported. Additional communication channels (such as A/V or a chatbox) need to be provided.
    Dynamic and spontaneous session creation, join and leave must be supported.

  5. Support for consistency between remote document partitions
    If co-authors change a document partition with dependencies to other remote document partitions (e.g., removing an object that is referenced by other remote objects) then consistency should be maintained. This can be achieved by different approaches: e.g., notification mechanisms, transactions, object replication and synchronization techniques.


Characters

  1. Authors
    Authors are humans using a hypermedia authoring environment to create and manipulate (possibly distributed) hyperdocuments.

  2. Browsers
    Browsers are clients (front end) of a hypermedia authoring environment providing (navigational) access to a hyperdocument provided by the server (back end) of a hypermedia authoring environment.

  3. Servers
    Servers are the back end of a hypermedia authoring environment providing storage, computational and retrieval functionality for accessing and manipulating hypermedia documents (nodes, links).

  4. Hyperdocument
    A hyperdocument is a graph structure consisting of (typed) nodes and (typed) links, that can be partitioned into one or more subsets each maintained by a server. Thus, links can either connect objects within one links (and be contained in that partition) - so called intra-server links - or links can connect objects located in different partitions (or be themselves contained in a different partition) - so called inter-server links). The same is true for references in general (say, objects referenced in aggregate nodes (composites)).

  5. Session
    A session is characterized by a set of collaborators using applications (here browsers) to access and manipulate a shared artifact (here the shared hyperdocument part) within a certain time interval. Different types of sessions can be defined depending on the specific kind of support they provide for the collaborators (e.g., extent of WYSIWIS property of shared views, synchronicity, communication channels, or specific operations).


Data

  1. Hypermedia objects

  2. Usage Informaion

  3. Session Information


    Requirements for Participating Applications:

    Requirements for participating browsers are:

    1. Accessing and displaying group awareness
      Each browser needs to be able to access the usage information of the partitions it works on and to create some kind of visualization of the current usage situation in the workspace (or in the whole partition).

    2. Displaying remote partitions
      Each browser needs to be able to access a part of a remote partition via its link service and to display the retrieved object. If this is not possible, the next best option is to start the browser of the hypermedia environment maintaining the target partition on the user's workstation, so that the remote partitionis displayed via its natural interface. However, this requires the presence of an installed browser software on each participating user's machine.

    3. Following links accross partitions
      When asking the link server to trigger the destinations of a inter partition link, the link server has to trigger the display of th target objects (see above).

    4. Identifying its user
      To enable access control in the link server or stores, a user id must be provided.

    5. Commands for joining and leaving sessions
      Browsers must provide a UI for joining and leaving sessions, and controlling session behavior.

    6. Shared workspace functionality
      Browsers must provide both, functionality for transmitting their user's activities to other session members (e.g., scrolling, pointing, input activity) as well as functionality for receiving updates from remote collaborators' browsers (e.g., updating collaboration status, display etc.). This either requires a direct communication channels between cooperating browsers in a session, or a mediator object provided by the link server (see below).

    7. Notification interface
      A browser needs an interface for displaying notifications caused by remote collaborators' activities (e.g., removing referenced objects during the user's absence) and to deal with potential problems caused by these changes.


    Requirements for Link Server:

    1. Provide and update usage information for browsers
      Whenever browsers access objects via a link server, the respective usage information must be updated. Browsers can ask for usage information.

    2. Provide and update session information
      Whenever browsers access sessions via a link server (join or leave or change sharing aspects, or create sessions), the respective session information must be updated. Browsers can ask for session information.

    3. Provide notification information
      Browsers might ask for notifications (provided by the store) explicitly, or the link server might call the browser to deliver notifications actively.

    4. Provide access to other link servers information
      There are two general options when solving the problem of how browsers can access remote partitions: Either all requests are send to the local link server and transparently propagated to the target link server, or the browser itself can interact with several link servers at the same time.

    5. Provide mediator service to connect session members
      If a mediator object or service is used that mediates the communication between browsers in a session, this service can also be used to translate operations between different browsers. A more difficult problem is the translation between different display techniques.

    6. Public interface for access by other link servers or browsers
      Is required to allow other browsers to - directly or by using their link server - access objects maintained by this link server.


    Requirements for Stores:

    1. Storage of hypermedia objects
      as usual, inluding references to objects maintained by other link servers/stores.

    2. Storage of usage information
      see above

    3. Storage of session information
      see above


    Implementations:


    Protocol Requirements:


    Jörg Haake
    GMD-IPSI, Germany
    haake@darmstadt.gmd.de
    http://www.darmstadt.gmd.de/~haake/