/[storm]/storm/doc/pegboard/available_overlays--hemppah/peg.rst
ViewVC logotype

Diff of /storm/doc/pegboard/available_overlays--hemppah/peg.rst

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.28 by humppake, Mon Jul 21 18:04:40 2003 UTC revision 1.29 by hemppah, Mon Jul 28 09:10:55 2003 UTC
# Line 14  PEG available_overlays--hemppah: Availab Line 14  PEG available_overlays--hemppah: Availab
14    
15  .. Affect-PEGs:  .. Affect-PEGs:
16    
17  The purpose of this PEG document is to give short overview of existing  The purpose of this PEG document is to give a short overview of existing
18  overlays which have an implementation and try to choose the implementation  overlays which have an implementation and try to choose an implementation
19  which suits best to our needs.  that suits best to our needs.
20    
21  The reason for creating this PEG document is that, quite recently, we have  The reason for creating this PEG document is that, quite recently, we have
22  noticed that the current implementation of GISP [5]_  seems to  noticed that the current implementation of GISP [5]_  seems to
23  have many obvious security exploits. This indiciates that GISP is in early  have (too) many obvious security exploits. This indiciates that GISP is in early
24  phase of development. Therefore, we need to examine other  phase of development. Therefore, we need to examine other
25  available overlays which have a implementation in hope for finding a more  available overlays which have an implementation in hope for finding a more
26  mature tightly structured P2P platform.  mature tightly structured P2P platform.
27    
28  The list of implemented overlays is of as of June 2003.  The list of implemented overlays is of as of June 2003.
# Line 30  The list of implemented overlays is of a Line 30  The list of implemented overlays is of a
30  Issues  Issues
31  ======  ======
32    
33  How "heavy" the current implementation of Tapestry is (~57000 lines of  .. nothing yet.
 Java code)? And therefore, does Tapestry consume too much memory?    
34    
35  Terms  Terms
36  =====  =====
# Line 91  Language Line 90  Language
90      What programming language is used to program a software.      What programming language is used to program a software.
91    
92  License  License
93      Which license is used with a software.      Under what license a software is distributed.
94    
95  Other notes  Other notes
96      Other miscellaneous notes.      Other miscellaneous notes.
# Line 126  Language Line 125  Language
125      C++ (GCC 2.95, not 2.96, although 3.x should work)      C++ (GCC 2.95, not 2.96, although 3.x should work)
126    
127  Additional requirements  Additional requirements
128      * Self-certifying File System (http://fs.net)      * Self-certifying File System (http://sfs.net)
129      * autoconf, automake, etc.      * autoconf, automake, etc.
130      * Berkeley DB 3.X      * Berkeley DB 3.X
131    
# Line 134  License Line 133  License
133      BSD-like      BSD-like
134    
135  Other notes  Other notes
136      No support for network locality- do not take network latencies into account      No support for network locality- do not take network latencies into account.
137    
138      Includes a Chord [1]_ simulator      Includes a Chord [1]_ simulator.
139    
140      According to the Chord [1]_ website:      According to the Chord [1]_ website:
141    
142          "At this point no official release for          At this point no official release for
143          Chord is available, but you are welcome to check out the latest version          Chord is available, but you are welcome to check out the latest version
144          from the CVS repository. This version is experimental, under active          from the CVS repository. This version is experimental, under active
145          development, and may frequently be broken."          development, and may frequently be broken.
146    
147  Tapestry [2]_  Tapestry [2]_
148  --------------  --------------
# Line 155  Redundancy Line 154  Redundancy
154      According to `Tapestry: A Resilient Global-scale Overlay for Service      According to `Tapestry: A Resilient Global-scale Overlay for Service
155      Deployment`_:      Deployment`_:
156    
157          "Tapestry is highly resilient under dynamic conditions,          Tapestry is highly resilient under dynamic conditions,
158          providing a near optimal success rate for requests          providing a near optimal success rate for requests
159          under high churn rates, and quicly recovering from          under high churn rates, and quicly recovering from
160          massive membership events in under a minute."          massive membership events in under a minute.
161            
162      According to the Tapestry [2]_ website:      According to the Tapestry [2]_ website:
163    
# Line 179  Redundancy Line 178  Redundancy
178          Replication, backup links          Replication, backup links
179    
180  Fault tolerance against hostile nodes  Fault tolerance against hostile nodes
181      * PKI is used while creating node identifiers.      * PKI is used while creating node identifiers
182      * MACs are used to maintain integrity of overlay traffic.      * MACs are used to maintain integrity of overlay traffic
183        * Monitoring system for maintaining neighbor links
184    
185  Activity of development  Activity of development
186      Very active.      Very active.
# Line 280  Fault tolerance against hostile nodes Line 280  Fault tolerance against hostile nodes
280    
281  Activity of development  Activity of development
282      Java development discontinued, C++ version      Java development discontinued, C++ version
283      is under development      is under development.
284    
285  Developer  Developer
286      New York University (research community)      New York University (research community).
287    
288  Language  Language
289      Java (Sun JDK 1.3 or a compatible Java Development and Runtime environment (?))      Java (Sun JDK 1.3 or a compatible Java Development and Runtime environment (?))
# Line 301  Abstraction Line 301  Abstraction
301      DHT_/DOLR_      DHT_/DOLR_
302    
303  Redundancy  Redundancy
304     (undefined)     Backup links.
305    
306  Fault tolerance against hostile nodes  Fault tolerance against hostile nodes
307     (undefined)     (undefined)
# Line 346  Redundancy Line 346  Redundancy
346      Chord [1]_-like.      Chord [1]_-like.
347    
348  Fault tolerance against hostile nodes  Fault tolerance against hostile nodes
349      Weak (the current implementation), not known      Based on our initial experiments, the fault tolerance
350      (the current protocol specification)      is relatively weak.
351    
352  Activity of development  Activity of development
353      (undefined)      Quite active.
354    
355  Developer  Developer
356      Daishi Kato (software engineering community)      Daishi Kato (software engineering community)
# Line 362  License Line 362  License
362      Sun Project JXTA License Version 1.1      Sun Project JXTA License Version 1.1
363    
364  Other notes  Other notes
365      Uses 10x more cache as Chord [1]_ for routing table      Uses 10x more cache as Chord [1]_ for routing table.
366    
367      Includes a GISP [5]_ simulator      Includes a GISP [5]_ simulator.
368    
369  Circle [6]_  Circle [6]_
370  -----------  -----------
# Line 395  Other notes Line 395  Other notes
395    
396      According to Info-Anarchy Wiki:      According to Info-Anarchy Wiki:
397    
398          "Problems are: The DHT implementation is          Problems are: The DHT implementation is
399          vulnerable to denial of service attacks."          vulnerable to denial of service attacks.
400    
401  Khashmir [7]_  Khashmir [7]_
402  -------------  -------------
# Line 410  Redundancy Line 410  Redundancy
410  Fault tolerance against hostile nodes  Fault tolerance against hostile nodes
411      According to the authors:      According to the authors:
412    
413          "Note that Khashmir currently isn't very          Note that Khashmir currently isn't very
414          attack resistant."          attack resistant.
415    
416  Activity of development  Activity of development
417      Not active (?)      Not active
418            
419      The current version is "3 - Alpha" (2002-09-02)      The current version is "3 - Alpha" (2002-09-02)
420    
# Line 579  Other notes Line 579  Other notes
579  Changes  Changes
580  =======  =======
581    
582  - (possible) reject gisp, choose new overlay  Based on this PEG document we recommend using Tapestry [2]_ with Storm. The
583  - (possible) develop a abstraction (i.e., p2p-plugin system) which allows  reasons are:
584    Storm to change lookup layer easily  
585    - maturity of the implementation (the most important aspect)
586    - activity of development
587    - the license
588    
589    
590    
591    
592  .. [1] http://www.pdos.lcs.mit.edu/chord/  .. [1] http://www.pdos.lcs.mit.edu/chord/
593  .. [2] http://www.cs.berkeley.edu/~ravenben/tapestry/  .. [2] http://www.cs.berkeley.edu/~ravenben/tapestry/

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26