/[gzz]/gzz/Documentation/misc/hemppah-progradu/masterthesis.tex
ViewVC logotype

Diff of /gzz/Documentation/misc/hemppah-progradu/masterthesis.tex

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

revision 1.96 by hemppah, Fri Feb 28 10:24:51 2003 UTC revision 1.97 by hemppah, Fri Feb 28 12:36:15 2003 UTC
# Line 437  locarithmic efficiency. Line 437  locarithmic efficiency.
437    
438  Kademlia, Pastry and Tapestry uses balanced tree-like  Kademlia, Pastry and Tapestry uses balanced tree-like
439  data structures. Figure \ref{fig:kademlia_lookup} shows the process of Kademlia  data structures. Figure \ref{fig:kademlia_lookup} shows the process of Kademlia
440  data lookup. Viceroy maintains a butterfly data structure, which requires  data lookup. Viceroy maintains a butterfly data structure (see e.g., \cite{226658}),
441  only constant number of neighbor peers while providing $O(\log{n})$ data lookup  which requires only constant number of neighbor peers while providing $O(\log{n})$ data lookup
442  efficiency. Koorde, recent modification of Chord, uses de Bruijn graphs to maintain  efficiency. Koorde, recent modification of Chord, uses de Bruijn graphs to maintain
443  local routing tables. Koorde requires each peer to have only about two links to other  local routing tables. Koorde requires each peer to have only about two links to other
444  peers to to provide $O(\log{n})$ performance.  peers to to provide $O(\log{n})$ performance.
# Line 550  structured systems provides much more ri Line 550  structured systems provides much more ri
550  have support for keyword search and fuzzy search. On the other, tightly structured systems support  have support for keyword search and fuzzy search. On the other, tightly structured systems support
551  only exact key lookups as each data item is identified by unique keys.  only exact key lookups as each data item is identified by unique keys.
552    
553  In the end, both systems have open problems and issues. We will discuss these aspect more detail in  In the end, both systems have open problems and issues. We will discuss these aspects more detail in
554  chapter 3. Table \ref{table_comparison_approach} lists key differences between loosely structured  chapter 3. Table \ref{table_comparison_approach} lists key differences between loosely structured
555  approach and tightly structured approach.  approach and tightly structured approach.
556    
# Line 1644  General security considerations \cite{si Line 1644  General security considerations \cite{si
1644    
1645  \chapter{Fenfire hypermedia system}  \chapter{Fenfire hypermedia system}
1646    
1647    In this chaper we give an overview of Fenfire system and its objectives. We also
1648    describe briefly xanalogical model. At the end of this chapter we study Storm,
1649    Fenfire's software module, which is an essential part of Fenfire's Peer-to-Peer
1650    functionality.
1651    
1652  \section{Overview}  \section{Overview}
1653    
1654  \section{Objectives}  Fenfire project \cite{fenfireurl} is an effort to build a distributed, hyperstructured user
1655    interface system. Fenfire is licenced under GNU L-GPL. It's main goal is to implement
1656    xanalogical storage model \cite{ted-xu-model}. Fenfire was formely also an implementation
1657    of the ZigZag\texttrademark --structure, which was originally invented
1658    by Ted Nelson. Now, however, Fenfire uses Resource Description Framework \cite{w3rdfurl}
1659    for representing internal data structures and their relationships.
1660    
1661  \cite{thompson01hypermedia}  Fenfire is high modular software system. It consists of several independent software modules:
1662  \cite{wiil02p2phypertext}  
1663  \cite{bouvin02openhypermedia}  \begin{itemize}
1664    \item \textbf{Storm}: distributed storage module for storing arbitrary data items
1665    \item \textbf{UMLLinker}: UML based tool for generating software documentation  
1666    \item \textbf{Xu-Storm}: xanalogical hypertext built upon Storm storage model
1667    \item \textbf{GLMosaicText}: flexible OpenGL interface for font manipulation
1668    \item \textbf{CallGL}: wrapping library used for OpenGL calls
1669    \item \textbf{LibVob}: graphic library used for creating navigation interfaces in complex data views
1670    \end{itemize}
1671    
1672    In this thesis, we focus on Storm module, since it's the foundation of Fenfire's Peer-to-Peer
1673    functionality.
1674    
1675  \section{Xanalogical model}  \section{Xanalogical model}
1676    
1677    Xanalogical storage \cite{nelson99xanalogicalneeded} is different kind of model for
1678    presenting data and relationships between data. While in World Wide Web links are
1679    between \emph{documents}, in xanalogical model links are between individual
1680    \emph{characters}.
1681    
1682    
1683    
1684  4.1. Xanalocical model (some parts from our article, modify)  4.1. Xanalocical model (some parts from our article, modify)
1685  Xanalocical model [cite] is a simple, but rather different model for representing content.  Xanalocical model [cite] is a simple, but rather different model for representing content.
1686  Project Xanadu [cite] has been a pioneer implementing xanalogical model. In xanalocical model  Project Xanadu [cite] has been a pioneer implementing xanalogical model. In xanalocical model
# Line 1677  that share text with the current documen Line 1704  that share text with the current documen
1704      * Documents can be created by listing new content or transcluding existing content in an enfilade.      * Documents can be created by listing new content or transcluding existing content in an enfilade.
1705      * Annotations can be entered as new content and Xanadu-linked to a part of document.      * Annotations can be entered as new content and Xanadu-linked to a part of document.
1706    
1707  \cite{nelson99xanalogicalneeded}  
1708    
1709  \section{Storm}  \section{Storm}
1710    
# Line 1756  identifiers. Line 1783  identifiers.
1783  Storm uses SHA-1 \cite{fips-sha-1} hash over the contents of a block for creating globally  Storm uses SHA-1 \cite{fips-sha-1} hash over the contents of a block for creating globally
1784  unique identifiers. SHA-1 is considered a collision free hash function, so it's very unlikely  unique identifiers. SHA-1 is considered a collision free hash function, so it's very unlikely
1785  that two different scroll blocks would have same identifiers. Obviously, Storm has to  that two different scroll blocks would have same identifiers. Obviously, Storm has to
1786  efficiently find a specific scroll block if it is available in the network.  efficiently find a specific scroll block if it is available in the network.
1787    
1788    \cite{thompson01hypermedia}
1789    \cite{wiil02p2phypertext}
1790    \cite{bouvin02openhypermedia}
1791    
1792    
1793  \section{Objectives}  \section{Objectives}

Legend:
Removed from v.1.96  
changed lines
  Added in v.1.97

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