gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] storm/doc/pegboard/available_overlays--hemppah ...


From: Hermanni Hyytiälä
Subject: [Gzz-commits] storm/doc/pegboard/available_overlays--hemppah ...
Date: Fri, 01 Aug 2003 05:00:51 -0400

CVSROOT:        /cvsroot/storm
Module name:    storm
Branch:         
Changes by:     Hermanni Hyytiälä <address@hidden>      03/08/01 05:00:51

Modified files:
        doc/pegboard/available_overlays--hemppah: peg.rst 

Log message:
        benja's comments

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/storm/storm/doc/pegboard/available_overlays--hemppah/peg.rst.diff?tr1=1.39&tr2=1.40&r1=text&r2=text

Patches:
Index: storm/doc/pegboard/available_overlays--hemppah/peg.rst
diff -u storm/doc/pegboard/available_overlays--hemppah/peg.rst:1.39 
storm/doc/pegboard/available_overlays--hemppah/peg.rst:1.40
--- storm/doc/pegboard/available_overlays--hemppah/peg.rst:1.39 Thu Jul 31 
08:56:11 2003
+++ storm/doc/pegboard/available_overlays--hemppah/peg.rst      Fri Aug  1 
05:00:50 2003
@@ -4,21 +4,19 @@
 
 :Authors:  Hermanni Hyytiälä
 :Date-Created: 2003-06-18
-:Last-Modified: $Date: 2003/07/31 12:56:11 $
-:Revision: $Revision: 1.39 $
+:Last-Modified: $Date: 2003/08/01 09:00:50 $
+:Revision: $Revision: 1.40 $
 :Status:   Current
 :Scope:    Major
-:Type:     Architecture
+:Type:     Implementation
 :Stakeholders: tjl, benja
-.. Affect-PEGs:
 
-The purpose of this PEG document is to give a short overview of existing 
structured
-P2P overlays which have an open source implementation. 
 
-The reason for creating this PEG document is that the current implementation 
-of GISP [5]_ seems to have (too) many obvious security exploits. Therefore we 
need 
-to examine other available structured overlays which have an open source 
-implementation in hope for finding a more mature P2P platform. 
+The current implementation of GISP seems to have (too) many obvious security 
+exploits. Therefore we need to examine other available structured overlays 
which 
+have an open source implementation in the hope to find a more mature P2P 
platform. 
+After reviewing available open source overlays we propose that we shall use 
Tapestry 
+as a P2P platform with Storm/Fenfire. 
 
 The list of implemented overlays is as of July 2003.
 
@@ -44,35 +42,36 @@
         key and a value. This interface implements a simple store
         and retrieve functionality, where the value is always stored
         at the live overlay node(s) to which the key is mapped by
-        the KBR layer. Values can be objects of any type. For ex-ample, the 
DHT 
-        implemented as part of the DHash inter-face in CFS stores 
-        and retrieves single disk blocks by their content-hashed keys.
+        the KBR layer. Values can be objects of any type. For example, the DHT 
+        implemented as part of the DHash interface in CFS stores 
+        and retrieves single disk blocks by their content hashed keys.
 
 .. _DOLR:
 
     DOLR
-        The DOLR abstraction provides a decentralized direc-tory
+        The DOLR abstraction provides a decentralized directory
         service. Each object replica (or endpoint) has an
         objectID and may be placed anywhere within the system.
-        Applications announce the presence of endpoints by pub-lishing
+        Applications announce the presence of endpoints by publishing
         their locations. A client message addressed with
-        a particular objectID will be delivered to a nearby end-point
+        a particular objectID will be delivered to a nearby endpoint
         with this name. Note that the underlying distributed
-        directory can be implemented by annotating trees associ-ated
-        with each objectID; other implementations are pos-sible.
+        directory can be implemented by annotating trees associated
+        with each objectID; other implementations are possible.
         One might ask why DOLR is not implemented on
         top of a DHT, with data pointers stored as values; this is
-        not possible because a DOLR routes messages to the near-est
+        not possible because a DOLR routes messages to the nearest
         available endpoint providing a locality property not
         supported by DHTs. An integral part of this process is the
         maintenance of the distributed directory during changes
         to the underlying nodes or links.
+       
+       
+Note that DHT and DOLR can be seen as "equal" abstractions, i.e., either 
+one doesn't rely on other: DHT can be implemented without relying DOLR and 
vice 
+versa.
 
-Redundancy
-    What techniques are used for redundancy     
-
-Fault tolerance against hostile nodes
-    What techniques are used against hostile nodes    
+    
 
 Activity of development
     How actively a software is being developed.
@@ -89,17 +88,29 @@
 
 Other notes
     Other miscellaneous notes.
+    
+    
+Additionally, we will mention the community that is developing a software 
under a
+"Developer" section. THe two choices are:
+
+1) "software engineering community", i.e., a regular free software project.
+
+2) "research community, i.e., a research group that consist one or more 
researcher 
+   who developes a software
 
 Implemented overlays
 ====================
 
 In this section we list the structured P2P overlays which have an open source
-implementation. Please notice that features described for each implementation 
-are deliberately kept as short as possible. For more depth information about 
the 
+implementation. Please note that the description of each implementation's 
features 
+is deliberately kept as short as possible. For more in-depth information about 
the 
 overlays we suggest reading the original publications.
 
-Chord [1]_
-----------
+Chord
+-----
+
+Homepage
+http://www.pdos.lcs.mit.edu/chord/
 
 Abstraction
     DHT_/DOLR_
@@ -108,12 +119,18 @@
     Replication, backup links.
 
 Fault tolerance against hostile nodes
-    (undefined)
+    Not known.
+    
+License
+    BSD-like
+    
+Language
+    C++ (GCC 2.95, not 2.96, although 3.x should work)
 
 Activity of development
     Quite high.
 
-    According to the Chord [1]_ website:
+    According to the Chord website:
 
         At this point no official release for 
         Chord is available, but you are welcome to check out the latest 
version 
@@ -123,26 +140,25 @@
 Developer
     MIT (research community)
 
-Language
-    C++ (GCC 2.95, not 2.96, although 3.x should work)
-
 Additional requirements
     * Self-certifying File System (http://fs.net)
     * autoconf, automake, etc.
     * Berkeley DB 3.X 
 
-License
-    BSD-like
-
 Other notes
-    No support for network locality- do not take network latencies into account
+    No support for network locality- does not take network latencies into 
account
     when building neighbor links.
 
-    Includes a Chord [1]_ simulator.
+    Includes a Chord simulator.
+    
+    
     
 
-Tapestry [2]_
---------------
+Tapestry
+--------
+
+Homepage
+http://www.cs.berkeley.edu/~ravenben/tapestry/
 
 Abstraction
     DOLR_
@@ -153,10 +169,10 @@
 
         Tapestry is highly resilient under dynamic conditions,
         providing a near optimal success rate for requests
-        under high churn rates, and quicly recovering from
+        under high churn rates, and quickly recovering from
         massive membership events in under a minute.
     
-    According to the Tapestry [2]_ website:
+    According to the Tapestry website:
 
         Tapestry offers fault-resilient mechanisms for both object 
         location and point to point message delivery.  For object location, 
@@ -174,16 +190,25 @@
 
     
 Fault tolerance against hostile nodes
-    * PKI is used while creating node identifiers
-    * MACs are used to maintain integrity of overlay traffic
-    * Monitoring system for maintaining neighbor links
+    * PKI is used while creating node identifiers (to prevent `Sybil attacks`_)
+    * MACs are used to maintain integrity of overlay traffic (to maintain 
integrity 
+      of overlay traffic)
+    * Monitoring system for maintaining neighbor links (reduce packet 
loss/improve 
+      message delivery in the overlay)
+   
+License
+    BSD-like
 
+Language
+    Java (Sun JDK 1.3 or a compatible Java Development and Runtime 
environment).
+    The Java interface libraries for the BerkeleyDB database
+    
 Activity of development
     Active.
 
     Tapestry  1.0 (April 2002)
 
-    According to the Tapestry [2]_ website::
+    According to the Tapestry website::
 
         Tapestry Version 1.0 contains the following functionality:
 
@@ -205,7 +230,7 @@
           decide when to use backup routes   
       
       
-     According to the Tapestry [2]_ website, Tapestry Version 2.0 contains the 
+     According to the Tapestry website, Tapestry Version 2.0 contains the 
      following new functionality::
 
         * Algorithms for adapting to changing network conditions
@@ -230,33 +255,29 @@
 Developer
     University of Berkeley (research community)
 
-Language
-    Java (Sun JDK 1.3 or a compatible Java Development and Runtime 
environment).
-    The Java interface libraries for the BerkeleyDB database 
-
 Additional requirements
     * The Cryptix JCE library (included with the 2.0 release)
     * UNIX make program
     * The Java interface libraries for the BerkeleyDB database 
       (included with the 2.0 release) 
-    
-License
-    BSD-like
 
 Other notes
     Support for network locality when building neighbor links.
 
-    Why Oceanstore_ uses Tapestry [2]_? 
+    Why Oceanstore_ uses Tapestry ? 
     See http://www.oceanstore.org/info/whytapestry.html 
 
-Kademlia [3]_
--------------
+Kademlia
+--------
+
+Homepage
+http://kademlia.scs.cs.nyu.edu
 
 Abstraction
     DHT_
-
+    
 Redundancy
-    No simulation or test results published (not even in the original 
publication)
+    No simulation or test results published (not even in the original 
publication).
     In *theory*, however, the "free-choice" feature
     gives peers freedom to adapt different conditions. However, the
     author of SharkyPy says:
@@ -277,7 +298,13 @@
 
 
 Fault tolerance against hostile nodes
-    Nothing said, expect the "free-choice" feature. 
+    Nothing said, expect the "free-choice" feature.
+    
+License
+    GPL (Java), "Free for non-commercial use" (C++)
+    
+Language
+    Java (Sun JDK 1.3 or a compatible Java Development and Runtime environment 
(?))
 
 Activity of development
     Java development discontinued, C++ version
@@ -286,21 +313,18 @@
 Developer
     New York University (research community).
 
-Language
-    Java (Sun JDK 1.3 or a compatible Java Development and Runtime environment 
(?))
-
-License
-    GPL (Java), "Free for non-commercial use" (C++)
-
 Other notes
     The implementation of the Java version is discontinued. 
 
-Pastry [4]_
------------
+Pastry
+------
+
+Homepage
+http://research.microsoft.com/~antr/Pastry/
 
 Abstraction
     DHT_
-
+    
 Redundancy
    Backup links.
 
@@ -309,6 +333,12 @@
     this release. Therefore, the  software should only be run in trusted 
     environments. Future releases will include security."
 
+License
+    BSD-like license (Java), MSR-EULA (C#)
+    
+Language
+    Java (requires a Java runtime version 1.4), C# (not known)
+
 Activity of development
     Active
     
@@ -317,19 +347,13 @@
 Developer
     Microsoft Research and Rice University (research community)
 
-Language
-    Java (requires a Java runtime version 1.4), C# (not known)
-
-License
-    BSD-like license (Java), MSR-EULA (C#)
-
 Other notes
-    Support for network locality - Pastry [4]_ actively replicates the objects 
and 
+    Support for network locality - Pastry actively replicates the objects and 
     places them at random locations in the network. Result: When locating
     nearby object it might require the client to route to a distant replica of 
     the object.
     
-    According to the Pastry [4]_ website:
+    According to the Pastry website:
 
         Future releases will address efficiency, 
         security, interoperability and will provide additional 
@@ -337,38 +361,44 @@
         hash table implementation, replica management, 
         caching, etc.
 
-GISP [5]_
----------
+GISP
+----
+
+Homepage
+http://gisp.jxta.org/
 
 Abstraction
     DHT_/DOLR_
 
 Redundancy
-    Chord [1]_-like (since GISP uses similar routing tables as Chord)
+    Chord-like (since GISP uses similar routing tables as Chord)
 
 Fault tolerance against hostile nodes
     Based on our own initial experiments: the fault tolerance
     is relatively weak - no specific techiques used.
 
+License
+    Sun Project JXTA License Version 1.1
+    
+Language
+    Java (requires a Java runtime version 1.4)
+
 Activity of development
     Quite active.
 
 Developer
     Daishi Kato (software engineering community)
 
-Language
-    Java (requires a Java runtime version 1.4)
-
-License
-    Sun Project JXTA License Version 1.1
-
 Other notes
-    Uses 10x more cache as Chord [1]_ for routing table.
+    Uses 10x more cache as Chord for routing table.
+
+    Includes a GISP simulator.
 
-    Includes a GISP [5]_ simulator.
+Circle
+------
 
-Circle [6]_
------------
+Homepage
+http://thecircle.org.au/
 
 Abstraction
     DHT_
@@ -380,32 +410,35 @@
     According to Info-Anarchy Wiki:
 
         Problems are: The DHT implementation is 
-        vulnerable to denial of service attacks.    
+        vulnerable to denial of service attacks.
+
+License
+    GPL
+
+Language
+    Python (version 2.0 or higher, 2.2 preferred, GTK+-2 and PyGTK)
 
 Activity of development
     Active, the current version is 0.35 (30 May 2003)
 
 Developer
     Paul Harrison (software engineering community)
-
-Language
-    Python (version 2.0 or higher, 2.2 preferred, GTK+-2 and PyGTK) 
-
-License
-    GPL
-
+ 
 Other notes
     Uses MD5 hashes for generating IDs.
     
 
-Khashmir [7]_
--------------
+Khashmir
+--------
+
+Homepage
+http://khashmir.sourceforge.net/
 
 Abstraction
-    DHT_ (Kademlia [3]_ algorithm)
+    DHT_ (Kademlia algorithm)
 
 Redundancy
-    Not known
+    Not known.
 
 Fault tolerance against hostile nodes
     According to the authors:
@@ -413,6 +446,12 @@
         Note that Khashmir currently isn't very 
         attack resistant.
 
+License
+    MIT License
+    
+Language
+    Python
+    
 Activity of development
     Not active
     
@@ -421,32 +460,36 @@
 Developer
     Four developers (software engineering community)
 
-Language
-    Python
-
-License
-    MIT License
-
 Other notes
     (none)
 
-MLDonkey [8]_
--------------
+MLDonkey
+--------
+
+Homepage
+http://www.nongnu.org/mldonkey/
 
 Abstraction
-    DHT_ (Kademlia [3]_ algorithm)
+    DHT_ (Kademlia algorithm)
 
-    (MLDonkey [8]_ is compatible with Overnet_, and Overnet claims that it 
does 
-    Kademlia [3]_ and multisource downloading)
+    (MLDonkey is compatible with Overnet_ (non-open source implementation of 
Kademlia
+    developed by a company), and Overnet claims that it does Kademlia and 
multisource 
+    downloading).
 
 Redundancy
     Not known (we can imagine that redundancy is relatively high since MLDonkey
     is widely deplyed)
 
 Fault tolerance against hostile nodes
-    Not known (we can imagine that fault tolerance is relatively high since 
MLDonkey
-    is widely deplyed)
-
+    Not "officially" known (we can imagine that fault tolerance is relatively 
+    high since MLDonkey is widely deplyed).
+ 
+License
+    GPL
+    
+Language
+    Objective-Caml (a language that compiler compiling)
+    
 Activity of development
     Very active
 
@@ -456,12 +499,6 @@
     12 developers (according to Savannah's project page, software engineering 
     community)
 
-Language
-    Objective-Caml (a compiler, not a interpreter)
-
-License
-    GPL
-
 Other notes
     Supported P2P networks include eDonkey, Overnet, Bittorrent,
     Gnutella (Bearshare, Limewire,etc),  Gnutella2  (Shareaza),  
@@ -475,7 +512,7 @@
     Overnet is not a free specification ,i.e., change control is in the 
Overnet 
     company's hands.
 
-    According to the `MLDonkey CVS source server`_ (check this_ too), MLDonkey 
[8]_ 
+    According to the `MLDonkey CVS source server`_ (check this_ too), MLDonkey 
 
     uses MD4 hashes for Overnet/EDonkey2K IDs::
      
         peer: an overnet peer in the following format:
@@ -488,11 +525,14 @@
     (http://www.overnet.com/documentation/how.html, 
     http://bitzi.com/help/locallinks)
 
-SharkyPy [9]_
--------------
+SharkyPy
+--------
+
+Homepage
+http://www.heim-d.uni-sb.de/~heikowu/SharkyPy/
 
 Abstraction
-    DHT_ (Kademlia [3]_ algorithm)
+    DHT_ (Kademlia algorithm)
 
 Redundancy
     According to the author:
@@ -504,6 +544,12 @@
 Fault tolerance against hostile nodes
     No specific techniques used: "it should work as is"
 
+Language
+    Python
+
+License
+    LGPL
+    
 Activity of development
     The current version is 0.2b3 (16th February 2003)
 
@@ -568,12 +614,6 @@
 Developer
     Sprachenzentrum der Universität des Saarlandes / Heiko Wundram (research 
community)
 
-Language
-    Python
-
-License
-    LGPL
-
 Other notes
     According to the author of SharkyPy:
     
@@ -597,27 +637,19 @@
 - The activity of development
 - The implementation language
 
-As a result, we recommend using Tapestry's open source implementation with 
Storm.
-For detailed changes and information about using Tapestry with Storm, please
-see the `storm_with_tapestry--hemppah` PEG document.
+As a result, we recommend using Tapestry's open source implementation for use 
in
+Storm. For a detailed list of changes necessary to use Tapestry in Storm, see 
+the ``storm_with_tapestry--hemppah`` (a pending PEG) PEG document.
  
 
-.. [1] http://www.pdos.lcs.mit.edu/chord/
-.. [2] http://www.cs.berkeley.edu/~ravenben/tapestry/
-.. [3] http://kademlia.scs.cs.nyu.edu
-.. [4] http://research.microsoft.com/~antr/Pastry/
-.. [5] http://gisp.jxta.org/
-.. [6] http://thecircle.org.au/
-.. [7] http://khashmir.sourceforge.net/ 
-.. [8] http://www.nongnu.org/mldonkey/ 
-.. [9] http://www.heim-d.uni-sb.de/~heikowu/SharkyPy/
 
-.. _`Towards a Common API for Structured P2P Overlays`: 
http://www.cs.berkeley.edu/~ravenben/publications/pdf/apis.pdf
+.. _Towards a Common API for Structured P2P Overlays: 
http://www.cs.berkeley.edu/~ravenben/publications/pdf/apis.pdf
 .. _`Tapestry: A Resilient Global-scale Overlay for Service Deployment`: 
http://www.cs.berkeley.edu/~ravenben/publications/pdf/tapestry_jsac.pdf
 .. _Overnet: http://www.overnet.com
 .. _Oceanstore: http://www.oceanstore.org
-.. _`MLDonkey CVS source server`: 
http://savannah.nongnu.org/cgi-bin/viewcvs/mldonkey/mldonkey/docs/overnet.txt?rev=1.1&content-type=text/vnd.viewcvs-markup
+.. _MLDonkey CVS source server: 
http://savannah.nongnu.org/cgi-bin/viewcvs/mldonkey/mldonkey/docs/overnet.txt?rev=1.1&content-type=text/vnd.viewcvs-markup
 .. _this: 
http://savannah.nongnu.org/cgi-bin/viewcvs/mldonkey/mldonkey/src/networks/donkey/donkeyOvernet.ml?rev=1.4&content-type=text/vnd.viewcvs-markup
 .. _post: 
http://mail.python.org/pipermail/python-list/2003-February/143876.html
-.. _`python-list`: http://mail.python.org/mailman/listinfo/python-list
+.. _python-list: http://mail.python.org/mailman/listinfo/python-list
 .. _message: 
http://mail.python.org/pipermail/python-list/2003-February/148394.html
+.. _Sybil attacks: http://www.cs.rice.edu/Conferences/IPTPS02/101.pdf




reply via email to

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