gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] manuscripts/pointers article.rst style.tex


From: Tuomas J. Lukka
Subject: [Gzz-commits] manuscripts/pointers article.rst style.tex
Date: Fri, 31 Oct 2003 01:16:18 -0500

CVSROOT:        /cvsroot/gzz
Module name:    manuscripts
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/10/31 01:16:18

Modified files:
        pointers       : article.rst style.tex 

Log message:
        sync

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/manuscripts/pointers/article.rst.diff?tr1=1.39&tr2=1.40&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/manuscripts/pointers/style.tex.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: manuscripts/pointers/article.rst
diff -u manuscripts/pointers/article.rst:1.39 
manuscripts/pointers/article.rst:1.40
--- manuscripts/pointers/article.rst:1.39       Thu Oct 30 09:24:32 2003
+++ manuscripts/pointers/article.rst    Fri Oct 31 01:16:17 2003
@@ -2,7 +2,9 @@
 Versioning for a location-independent Web: Stopping the shoulders of giants 
from rotting away
 
=============================================================================================
 
-.. (tentative title)
+META:
+
+(tentative title)
 
 Title suggestions and comments:
 
@@ -11,6 +13,27 @@
 Works even in ad hoc environments
 ...
 
+Important issue: the main message. Is it:
+
+    This is a nice way to do versioning
+
+    This is a distributed block-based versioning system
+
+    This is a distributed block-based system for getting the WWW static pages 
+    feature set from P2P
+
+    This is a way to avoid web rot (the Cassini-Huygens thing) by allowing
+    storage of old versions (this is VERY different from the 
location-independent
+    web name... more like a side effect)
+
+    This is a way to do an ad hoc networking web
+
+
+The MAIN goal of this work remains unclear and needs
+discussion. I think our getting this paper in depends on exactly that: 
+a CLEAR main goal, a good presentation that will generate discussion.
+
+REAL:
 
 Abstract
 ========
@@ -255,8 +278,9 @@
 No versioning model
 -------------------
 
-PAST [rowstron01storage]_ is a persistent storage system that use 
-[rowston01pastry]_ for locating data in a Peer-to-Peer environment.
+PAST [rowstron01storage]_ is a persistent storage system 
+that uses pastry [rowston01pastry]_ 
+for locating data in a Peer-to-Peer environment.
 Nodes and data items are distributed uniformly based on the hash 
 identifier in a PAST network. Free Haven [dingledine00free]_ 
 provides a distributed anonymous persistent data storage. It uses 
@@ -351,7 +375,13 @@
 blocks is available. 
 
 The benefits of starting from this basic model are numerous:
-XXX
+
+- simple to implement - existing models cover this well
+
+- can be made to work with peers that join and leave small
+  ad hoc networks often (and the global "net" less often)
+
+- robust - all state of the system is in the blocks
 
 In this framework, we shall define a system of *pointers*:
 some types of identifiers that refer to a block but whose
@@ -376,22 +406,51 @@
 
 This Section gives our main contribution: a way
 to implement a persistent, distributed versioning
-system relying only on the abstraction presented
+system relying only on the block abstraction presented
 in the previous section.
 
-Our system is based on adding blocks to the system
+Our system is based on adding *pointer record* 
+blocks to the system. Pointer record blocks are similar 
+to Oceanstore's heartbeats but the important difference
+in our system is that they are also represented as simple 
+data blocks.
 
 
 The PointerID is a combination of a public key of the
 owner of the pointer (possibly a certificate)
 and an identifier. The association of the PointerID to
-a particular data block is specified by adding a special
-*pointer block* into the system, which contains
+a particular data block is specified by adding a 
+pointer block into the system, which contains
 
 - the PointerID
-- the block ID
-- a timestamp
-- (optionally) a list of pointer blocks *obsoleted* by this pointer block
+- the pointee: a block ID
+- a way to sequence pointer blocks: either a
+  timestamp, 
+  a list of pointer blocks *obsoleted* by this pointer block, or both
+- a digital signature of all the above data, using the private
+  key corresponding to the public key in the PointerID 
+
+Then we can define, using the reverse indexing framework
+of the block abstraction, index functions such as the following:
+
+- all pointer blocks with the given PointerID
+- all pointer blocks with the given PointerID with timestamps in the given 
range 
+- the latest (timestamp / unobsoleted) pointer block with the given PointerID 
+  (this index will benefit from the ability to determine locally the "relevant"
+  blocks for a given index)
+
+The choice between timestamps and obsoletion lists or both allows
+some latitude in the semantics of pointers; timestamps define 
+a strictly linear version order, whereas obsoletion lists
+allow branching, i.e. having more than one "current" version.
+(XXX Also possible: timestamp and time of the latest version timestamp
+and we obsolete all versions we know with timestamps after that time - 
+gives more "coverage")
+The obsoletion lists are most relevant in a context such as blogging where 
+a user might sometimes submit new entries using a mobile device and sometimes 
on a
+desktop machine. If the blocks do not obsolete each other, the software
+can notice this and help the user bring the versions back to synch.
+
 
 ..  - In this section, we discuss a particular way
       of implementing pointers (this is our main contribution)
@@ -469,6 +528,10 @@
        - will be there only if someone *wants* to store those versions
          unwanted versions get purged
 
+       - spam with a stolen key?
+
+       - formulas for efficiency?
+
     - spamming with new versions (only author due to DS, but still)
 
     - Copyright issues
@@ -491,8 +554,9 @@
 
 
 
-Notes
-=====
+
+.. NOTES =================================================================
+
 
 .. [#cassini] ``http://www.seds.org/spaceviews/cassini/rtg.html``
 
@@ -505,3 +569,6 @@
    are generally not circular, making this domain map neatly
    to the properties of hash-based referencing.
    XXX Except for "in press", "unpublished manuscripts", ...
+
+
+
Index: manuscripts/pointers/style.tex
diff -u manuscripts/pointers/style.tex:1.2 manuscripts/pointers/style.tex:1.3
--- manuscripts/pointers/style.tex:1.2  Thu Oct 30 05:29:47 2003
+++ manuscripts/pointers/style.tex      Fri Oct 31 01:16:17 2003
@@ -21,6 +21,8 @@
 XXX}
 
 \newcommand{\hyp}{\discretionary{}{}{}}
+\setlength{\extrarowheight}{0pt}
+
 \renewcommand{\url}[1]{{\sf #1}}
 \def\hypertarget#1#2{}
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]