PROXY  WHOIS  RQUOTE  TEXTS  SOFT  BBOARD
 Music  Philosophy  Code  Literature  Russian

= ROOT|Technical|Proxy_Docs|rfc2291.txt =

page 5 of 12



   It is often necessary to guarantee that a lock or unlock operation
   occurs at the same time across multiple resources, a feature which is
   supported by the multiple-resource locking requirement. This is
   useful for preventing a collision between two people trying to
   establish locks on the same set of resources, since with multi-
   resource locking, one of the two people will get a lock. If this same
   multiple-resource locking scenario was repeated by using atomic lock
   operations iterated across the resources, the result would be a
   splitting of the locks between the two people, based on resource
   ordering and race conditions.

5.4. Reservations

5.4.1. Functional Requirements

   5.4.1.1. Reserve. It must be possible for a principal to register
   with the server an intent to edit a given resource, so that other
   principals can discover who intends to edit the resource.

   5.4.1.2. Reservation Query. It must be possible to find out whether a
   given resource has any active reservations, and if so, who currently
   holds reservations.

   5.4.1.3. Release Reservation.  It must be possible to release the
   reservation.

5.4.2. Rationale

   Experience from configuration management systems has shown that
   people need to know when they are about to enter a parallel editing
   situation. Once notified, they either decide not to edit in parallel
   with the other authors, or they use out-of-band communication (face-
   to-face, telephone, etc.) to coordinate their editing to minimize the
   difficulty of merging their results. Reservations are separate from
   locking, since a write lock does not necessarily imply a resource
   will be edited, and a reservation does not carry with it any access
   restrictions. This capability supports versioning, since a check-out
   typically involves taking out a write lock, making a reservation, and
   getting the resource to be edited.









 
RFC 2291          Distributed Authoring and Versioning     February 1998


5.5. Retrieval of Unprocessed Source for Editing

5.5.1. Functional Requirement

   The source of any given resource must be retrievable by any principal
   with authorization to edit the resource.

5.5.2. Rationale

   There are many cases where the source stored on a server does not
   correspond to the actual entity transmitted in response to an HTTP
   GET. Current known cases are server side include directives, and
   Standard Generalized Markup Language (SGML) source which is converted
   on the fly to HyperText Markup Language (HTML) [HTML] output
   entities. There are many possible cases, such as automatic conversion
   of bitmap images into several variant bitmap media types (e.g. GIF,
   JPEG), and automatic conversion of an application's native media type
   into HTML. As an example of this last case, a word processor could
   store its native media type on a server which automatically converts
   it to HTML. A GET of this resource would retrieve the HTML.
   Retrieving the source would retrieve the word processor native
   format.

5.6. Partial Write.

5.6.1. Functional Requirement

   After editing a resource, it must be possible to write only the
   changes to the resource, rather than retransmitting the entire
   resource.

5.6.2. Rationale

   During distributed editing which occurs over wide geographic
   separations and/or over low bandwidth connections, it is extremely
   inefficient and frustrating to rewrite a large resource after minor
   changes, such as a one-character spelling correction. Support is
   needed for transmitting "insert" (e.g., add this sentence in the
   middle of a document) and "delete" (e.g. remove this paragraph from
   the middle of a document) style updates. Support for partial resource
   updates will make small edits more efficient, and allow distributed
   authoring tools to scale up for editing large documents.





=5=

1|2|3|4| < PREV = PAGE 5 = NEXT > |6|7|8|9|10|11|12

UP TO ROOT | UP TO DIR | TO FIRST PAGE

Google
 


0.0232401 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)