/[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.73 by hemppah, Tue Feb 25 12:13:50 2003 UTC revision 1.74 by hemppah, Tue Feb 25 13:52:46 2003 UTC
# Line 17  Line 17 
17  %***********************  %***********************
18  %   Tyyliluokan pakolliset määritykset  %   Tyyliluokan pakolliset määritykset
19  %***********************  %***********************
20  \title{Gzz in Peer-to-Peer Enviroment}  \title{Fenfire in Peer-to-Peer Enviroment}
21    
22  \translatedtitle{Gzz in Peer-to-Peer Enviroment}  \translatedtitle{Fenfire in Peer-to-Peer Enviroment}
23    
24  \author{Hermanni Hyytiälä}  \author{Hermanni Hyytiälä}
25    
# Line 492  load balance Line 492  load balance
492    
493  \scriptsize  \scriptsize
494  \begin{longtable}{|l|c|c|c|c|l|}  \begin{longtable}{|l|c|c|c|c|l|}
   
 \caption[Different Peer-to-Peer lookup protocols]{Different Peer-to-Peer lookup protocols}  
 \label{table_Peer-to-Peer_protocols}  
495    
496  \\ \hline  \hline
497  \multicolumn{1}{|c|}{\textbf{Protocol}} &  \multicolumn{1}{|c|}{\textbf{Protocol}} &
498  \multicolumn{1}{c|}{\textbf{Insert/Delete}} &  \multicolumn{1}{c|}{\textbf{Insert/Delete}} &
499  \multicolumn{1}{c|}{\textbf{Space}} &  \multicolumn{1}{c|}{\textbf{Space}} &
# Line 671  load balance Line 668  load balance
668  \parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, not necessarily fault-tolerant because of constant degree of neighbors}  \parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, not necessarily fault-tolerant because of constant degree of neighbors}
669  \\ \hline  \\ \hline
670    
671    
672    \caption{Different Peer-to-Peer lookup protocols. In this table $n$ is the number of peers in the system.
673    Insert/Delete: Number of messages when a node joins or leaves the network. Space: Space required for a node's neighbors
674    Search: Number of messages when an object lookup is performed. Number of network connections: number of concurrent
675    network connections required to maintain correct neighbor information}
676    \label{table_Peer-to-Peer_protocols}
677    
678    
679  \end{longtable}  \end{longtable}
680  \normalsize  \normalsize
 Insert/Delete:  
 Number of messages when a node joins or leaves the network.  
   
 Space:  
 Space required for a node's neighbors  
   
 Search:  
 Number of messages when an object lookup is performed  
681    
682    
683    
# Line 1005  General security considerations \cite{si Line 1001  General security considerations \cite{si
1001  \scriptsize  \scriptsize
1002  \begin{longtable}{|l|l|l|l|}  \begin{longtable}{|l|l|l|l|}
1003    
1004  \caption[Security problems in Peer-to-Peer]{Security problems in Peer-to-Peer} \label{table_security_problems_Peer-to-Peer}  \hline
   
   
 \\ \hline  
1005  \multicolumn{1}{|c|}{\textbf{Problem}} &  \multicolumn{1}{|c|}{\textbf{Problem}} &
1006  \multicolumn{1}{c|}{\textbf{Problem description}} &  \multicolumn{1}{c|}{\textbf{Problem description}} &
1007  \multicolumn{1}{c|}{\textbf{Solutions}} &  \multicolumn{1}{c|}{\textbf{Solutions}} &
# Line 1029  General security considerations \cite{si Line 1022  General security considerations \cite{si
1022    
1023    
1024    
1025  \parbox{90pt}{Query routing} &                    \parbox{90pt}{Query routing \cite{sit02securitycons}, \cite{aspnes02faultrouting}, \cite{castro02securerouting}, \cite{ratnasamy02routing}, \cite{gavoille01routing}} &                
1026  \parbox{110pt}{Incorrect forwarding (hostile), incorrect routing (hostile)} &  \parbox{110pt}{Incorrect forwarding (hostile), incorrect routing (hostile)} &
1027  \parbox{110pt}{Query monitoring, cross check routing tables, verify routing tables, create routing table invariants} &  \parbox{110pt}{Query monitoring, cross check routing tables, verify routing tables, create routing table invariants} &
1028  \parbox{110pt}{Increases system complexity}  \parbox{110pt}{Increases system complexity}
1029  \\ \hline  \\ \hline
1030    
1031    
1032  \parbox{90pt}{DoS attack} &  \parbox{90pt}{DoS attack \cite{sit02securitycons}, \cite{saia02dynamicfaultcontentnetwork}, \cite{datar02butterflies}, \cite{daswani02queryflooddos}} &
1033  \parbox{110pt}{Distributed, controlled burden againts specific computer(s)} &  \parbox{110pt}{Distributed, controlled burden againts specific computer(s)} &
1034  \parbox{110pt}{Client puzzles, load balancing, traffic measurements, traffic models, replication} &  \parbox{110pt}{Client puzzles, load balancing, traffic measurements, traffic models, replication} &
1035  \parbox{110pt}{Only partial solutions, traffic models most effective}  \parbox{110pt}{Only partial solutions, traffic models most effective}
1036  \\ \hline  \\ \hline
1037    
1038    
1039  \parbox{90pt}{Sybil attack} &  \parbox{90pt}{Sybil attack \cite{douceur02sybil}, \cite{castro02securerouting}} &
1040  \parbox{110pt}{Single hostile entity present multiple entities} &  \parbox{110pt}{Single hostile entity present multiple entities} &
1041  \parbox{110pt}{Identify all nodes simultaneously across the system, collect pool of nodes which are validated, distributed node ID creation} &  \parbox{110pt}{Identify all nodes simultaneously across the system, collect pool of nodes which are validated, distributed node ID creation} &
1042  \parbox{110pt}{Not practically realizable, research focused on persistence, not on identity distinction}  \parbox{110pt}{Not practically realizable, research focused on persistence, not on identity distinction}
1043  \\ \hline  \\ \hline
1044    
1045    
1046  \parbox{90pt}{Spam attack} &  \parbox{90pt}{Spam attack \cite{naor03simpledht}} &
1047  \parbox{110pt}{Hostile entity creates false versions of data} &  \parbox{110pt}{Hostile entity creates false versions of data} &
1048  \parbox{110pt}{Do not trust to single entity, get information from multiple entities, trust on majority's opinion} &  \parbox{110pt}{Do not trust to single entity, get information from multiple entities, trust on majority's opinion} &
1049  \parbox{110pt}{Easy to implement, creates more network traffic}  \parbox{110pt}{Easy to implement, creates more network traffic}
# Line 1064  General security considerations \cite{si Line 1057  General security considerations \cite{si
1057  \\ \hline  \\ \hline
1058    
1059    
1060  \parbox{90pt}{Entity identification} &  \parbox{90pt}{Entity identification \cite{ajmani02conchord}} &
1061  \parbox{110pt}{Identify participating entities reliably and efficiently } &  \parbox{110pt}{Identify participating entities reliably and efficiently } &
1062  \parbox{110pt}{Digital signatures, key infrastructure} &  \parbox{110pt}{Digital signatures, key infrastructure} &
1063  \parbox{110pt}{Not practically realizable}  \parbox{110pt}{Not practically realizable}
1064  \\ \hline  \\ \hline
1065    
1066    
1067  \parbox{90pt}{Data integrity/authenticity} &  \parbox{90pt}{Data integrity/authenticity \cite{dabek01widearea}} &
1068  \parbox{110pt}{Integrity/originality of data is unknown} &  \parbox{110pt}{Integrity/originality of data is unknown} &
1069  \parbox{110pt}{Cryptographic content hashes, key architectures} &  \parbox{110pt}{Cryptographic content hashes, key architectures} &
1070  \parbox{110pt}{For data integrity, there are working solutions, but for data authenticity, some of the solutions are partial, which may be practically realizable}  \parbox{110pt}{For data integrity, there are working solutions, but for data authenticity, some of the solutions are partial, which may be practically realizable}
1071  \\ \hline  \\ \hline
1072    
1073    
1074  \parbox{90pt}{Anonymity} &  \parbox{90pt}{Anonymity \cite{reiter98crowds}, \cite{tarzan:ccs9}, \cite{pub00}, \cite{clarke00freenet}} &
1075  \parbox{110pt}{Anonymity cannot be provided in all cases} &  \parbox{110pt}{Anonymity cannot be provided in all cases} &
1076  \parbox{110pt}{Remailers, pre-routing} &  \parbox{110pt}{Remailers, pre-routing} &
1077  \parbox{110pt}{Total anonymity cannot be provided yet}  \parbox{110pt}{Total anonymity cannot be provided yet}
1078  \\ \hline  \\ \hline
1079    
1080    
1081  \parbox{90pt}{Malicious nodes} &  \parbox{90pt}{Malicious nodes \cite{sit02securitycons}, \cite{castro02securerouting}} &
1082  \parbox{110pt}{How to identify malicious nodes in the system} &  \parbox{110pt}{How to identify malicious nodes in the system} &
1083  \parbox{110pt}{Create invariants for node behaviour, verify invariants, self-certifying data} &  \parbox{110pt}{Create invariants for node behaviour, verify invariants, self-certifying data} &
1084  \parbox{110pt}{Partial solutions, self-certifying data most realiable}  \parbox{110pt}{Partial solutions, self-certifying data most realiable}
1085  \\ \hline  \\ \hline
1086    
1087    
1088  \parbox{90pt}{Access Control} &  \parbox{90pt}{Access Control \cite{nejdl03accesscontrol}, \cite{daswani03openproblems}} &
1089  \parbox{110pt}{Can we define access control levels in Peer-to-Peer network ?} &  \parbox{110pt}{Can we define access control levels in Peer-to-Peer network ?} &
1090  \parbox{110pt}{Schema-based rules} &  \parbox{110pt}{Schema-based rules} &
1091  \parbox{110pt}{Some initial experiences, need more research}  \parbox{110pt}{Some initial experiences, need more research}
1092  \\ \hline  \\ \hline
1093    
1094    
1095  \parbox{90pt}{Inconsistent behaviour} &  \parbox{90pt}{Inconsistent behaviour \cite{sit02securitycons}} &
1096  \parbox{110pt}{Hostile node could act correctly with its neighbors, but incorrectly with others} &  \parbox{110pt}{Hostile node could act correctly with its neighbors, but incorrectly with others} &
1097  \parbox{110pt}{Public keys, digital signatures} &  \parbox{110pt}{Public keys, digital signatures} &
1098  \parbox{110pt}{Not practical approach/working proposal created yet}  \parbox{110pt}{Not practical approach/working proposal created yet}
1099  \\ \hline  \\ \hline
1100    
1101    
1102  \parbox{90pt}{Hostile groups} &  \parbox{90pt}{Hostile groups \cite{castro02securerouting}} &
1103  \parbox{110pt}{Joining node may join parallel network, formed a group of hostile nodes, hostile node(s) controls the construction of the network} &  \parbox{110pt}{Joining node may join parallel network, formed a group of hostile nodes, hostile node(s) controls the construction of the network} &
1104  \parbox{110pt}{Use trusted nodes, based on history information, Cryptography, key infrastructure} &  \parbox{110pt}{Use trusted nodes, based on history information, Cryptography, key infrastructure} &
1105  \parbox{110pt}{Not 100\% sure if Centreal Authority (CA) is missing, not practical approach/working proposal created yet}  \parbox{110pt}{Not 100\% sure if Centreal Authority (CA) is missing, not practical approach/working proposal created yet}
# Line 1119  General security considerations \cite{si Line 1112  General security considerations \cite{si
1112  \parbox{110pt}{Not much research has been done on this}  \parbox{110pt}{Not much research has been done on this}
1113  \\ \hline  \\ \hline
1114    
1115    \caption{Security problems in Peer-to-Peer.}
1116    \label{table_security_problems_Peer-to-Peer}
1117    
1118    
1119  \end{longtable}  \end{longtable}
1120  \normalsize  \normalsize
# Line 1127  General security considerations \cite{si Line 1123  General security considerations \cite{si
1123    
1124  \scriptsize  \scriptsize
1125  \begin{longtable}{|l|l|l|l|}  \begin{longtable}{|l|l|l|l|}
 \caption[Performance and usability problems in Peer-to-Peer]{Performance and usability problems in Peer-to-Peer} \label{table_performanceusability_problems_Peer-to-Peer} \\  
   
1126    
1127  \hline  \hline
1128  \multicolumn{1}{|c|}{\textbf{Problem}} &  \multicolumn{1}{|c|}{\textbf{Problem}} &
# Line 1149  General security considerations \cite{si Line 1143  General security considerations \cite{si
1143    
1144  \endfoot  \endfoot
1145                                    
1146  \parbox{90pt}{Web indexing and searching} &  \parbox{90pt}{Web indexing and searching \cite{li03feasibility}, \cite{Bhattacharjee03resultcache}, \cite{362692}} &
1147  \parbox{110pt}{Perform Web like searches in Peer-to-Peer network} &  \parbox{110pt}{Perform Web like searches in Peer-to-Peer network} &
1148  \parbox{110pt}{Data compression, view trees, bloom filters and its variations, gap compression, index intersection optimizations, clustering} &  \parbox{110pt}{Data compression, view trees, bloom filters and its variations, gap compression, index intersection optimizations, clustering} &
1149  \parbox{110pt}{Effective but complex solutions, some compromises have to be done (decrease result quality, modify overlay's structure), more research needed}  \parbox{110pt}{Effective but complex solutions, some compromises have to be done (decrease result quality, modify overlay's structure), more research needed}
1150  \\ \hline  \\ \hline
1151    
1152    
1153  \parbox{90pt}{Efficient data discovery} &  \parbox{90pt}{Efficient data discovery \cite{lv02searchreplication}, \cite{osokine02distnetworks}, \cite{yang02improvingsearch}} &
1154  \parbox{110pt}{Find resources efficiently, if resource exists (broadcasting)} &  \parbox{110pt}{Find resources efficiently, if resource exists (loosely structured)} &
1155  \parbox{110pt}{Super nodes, node clusters, caching techiques} &  \parbox{110pt}{Super nodes, node clusters, caching techiques} &
1156  \parbox{110pt}{More efficient, less network traffic, not comparable to DHT's efficiency}  \parbox{110pt}{More efficient, less network traffic, not comparable to DHT's efficiency}
1157  \\ \hline  \\ \hline
1158    
1159    
1160  \parbox{90pt}{Richness of queries} &  \parbox{90pt}{Richness of queries \cite{harren02complex}, \cite{ansaryefficientbroadcast03}, \cite{andrzejak02rangequeries}} &
1161  \parbox{110pt}{Query languages should be more powerful} &  \parbox{110pt}{Query languages should be more powerful} &
1162  \parbox{110pt}{SQL-like queries} &  \parbox{110pt}{SQL-like queries} &
1163  \parbox{110pt}{Hard to implement, increases system complexity, not much research has been done}  \parbox{110pt}{Hard to implement, increases system complexity, not much research has been done}
# Line 1191  General security considerations \cite{si Line 1185  General security considerations \cite{si
1185  \\ \hline  \\ \hline
1186    
1187    
1188  \parbox{90pt}{Network proximity} &  \parbox{90pt}{Network proximity \cite{pias03lighthouse}, \cite{ng02predicting}} &
1189  \parbox{110pt}{Can we take account the underlying network's properties better when forming overlay network (network-awareness for performance) ?} &  \parbox{110pt}{Can we take account the underlying network's properties better when forming overlay network (network-awareness for performance) ?} &
1190  \parbox{110pt}{Global Network Positioning, Lighthouse technique, trianqulated heuristics} &  \parbox{110pt}{Global Network Positioning, Lighthouse technique, trianqulated heuristics} &
1191  \parbox{110pt}{Increases system complexity, no real world experience in a wide scale, proposed solutions are susceptible to single point of failure}  \parbox{110pt}{Increases system complexity, no real world experience in a wide scale, proposed solutions are susceptible to single point of failure}
# Line 1248  General security considerations \cite{si Line 1242  General security considerations \cite{si
1242  \parbox{110pt}{Byzantine replication protocols -> get information from multiple entities, trust majority's opinion} &  \parbox{110pt}{Byzantine replication protocols -> get information from multiple entities, trust majority's opinion} &
1243  \parbox{110pt}{Much research has been done on this field, practical solutions, decreases system's, performance slighly}  \parbox{110pt}{Much research has been done on this field, practical solutions, decreases system's, performance slighly}
1244  \\ \hline  \\ \hline
1245    
1246    \caption{Performance and usability problems in Peer-to-Peer.}
1247    \label{table_performanceusability_problems_Peer-to-Peer}
1248                                    
1249    
1250  \end{longtable}  \end{longtable}
# Line 1256  General security considerations \cite{si Line 1253  General security considerations \cite{si
1253    
1254  \scriptsize  \scriptsize
1255  \begin{longtable}{|l|l|l|l|}  \begin{longtable}{|l|l|l|l|}
 \caption[Miscellaneous problems in Peer-to-Peer]{Miscellaneous problems in Peer-to-Peer} \label{table_Miscellaneous_problems_Peer-to-Peer} \\  
1256    
1257    
1258  \hline  \hline
# Line 1300  General security considerations \cite{si Line 1296  General security considerations \cite{si
1296  \\ \hline  \\ \hline
1297    
1298    
1299  \parbox{90pt}{Programming guidelines} &  \parbox{90pt}{Programming guidelines \cite{zhao03api}, \cite{frise02p2pframework}, \cite{babaoglu02anthill}, \cite{rhea03benchmarks}} &
1300  \parbox{110pt}{Set of programming guidelines/frameworks is needed for better interoperability between different systems} &  \parbox{110pt}{Set of programming guidelines/frameworks is needed for better interoperability between different systems} &
1301  \parbox{110pt}{Common frameworks and APIs} &  \parbox{110pt}{Common frameworks and APIs} &
1302  \parbox{110pt}{Common framework/API is still missing, a few proposals have been made (DHTs)}  \parbox{110pt}{Common framework/API is still missing, a few proposals have been made (DHTs)}
# Line 1326  General security considerations \cite{si Line 1322  General security considerations \cite{si
1322  \parbox{110pt}{Depends on implementation and purpose of the system, for mobile ad hoc networks more research is needed}  \parbox{110pt}{Depends on implementation and purpose of the system, for mobile ad hoc networks more research is needed}
1323  \\ \hline  \\ \hline
1324    
1325    \caption{Miscellaneous problems in Peer-to-Peer.}
1326    \label{table_Miscellaneous_problems_Peer-to-Peer}
1327    
1328  \end{longtable}  \end{longtable}
1329  \normalsize  \normalsize
# Line 1359  General security considerations \cite{si Line 1357  General security considerations \cite{si
1357    
1358    
1359    
1360  \chapter{Gzz hypermedia system}  \chapter{Fenfire hypermedia system}
1361    
1362  \section{Overview}  \section{Overview}
1363    
# Line 1407  that share text with the current documen Line 1405  that share text with the current documen
1405  \cite{benja02urn5}  \cite{benja02urn5}
1406  \cite{balakrishnan03semanticfree}  \cite{balakrishnan03semanticfree}
1407    
1408  \chapter{Evaluation of Peer-to-Peer for Gzz}  \chapter{Evaluation of Peer-to-Peer for Fenfire}
1409    
1410  In this chapter we evaluate Gzz in Peer-to-Peer enviroment.  In this chapter we evaluate Fenfire in Peer-to-Peer enviroment.
1411  We start by giving an overview of Gzz Peer-to-Peer system. Then,  We start by giving an overview of Fenfire Peer-to-Peer system. Then,
1412  we define our objectives and special needs and consider possible  we define our objectives and special needs and consider possible
1413  benefits over existing Peer-to-Peer filesharing systems. Finally, we  benefits over existing Peer-to-Peer filesharing systems. Finally, we
1414  evaluate different peer-to-peer systems with regard to Gzz, make  evaluate different peer-to-peer systems with regard to Fenfire, make
1415  initial analsysis and discuss possible problems. In the following  initial analsysis and discuss possible problems. In the following
1416  sections, we don't respond security issues. In fact, we assume  sections, we don't respond security issues. In fact, we assume
1417  that system has a working distributed Public Key Infrastructure  that system has a working distributed Public Key Infrastructure
# Line 1434  Fething videos, pictures, music and othe Line 1432  Fething videos, pictures, music and othe
1432  -supports simultaenous downloads  -supports simultaenous downloads
1433  -since each new downloader introduces a new upload capacity, eventually the upload overhead for the original server/node/computer bandwidth is reasonable small  -since each new downloader introduces a new upload capacity, eventually the upload overhead for the original server/node/computer bandwidth is reasonable small
1434  -uses SHA-1 for checking data integrity (suits for us very well!)  -uses SHA-1 for checking data integrity (suits for us very well!)
1435  -we don't have to create 'mini-blocks' for Gzz p2p, since bitTorrent itself partitions data into several blocks for us  -we don't have to create 'mini-blocks' for Fenfire p2p, since bitTorrent itself partitions data into several blocks for us
1436    
1437  5.1 The Merkle Hash Tree  5.1 The Merkle Hash Tree
1438    
# Line 1461  document, in where parts of the document Line 1459  document, in where parts of the document
1459  global, large scale data pool. To be practical and useful, system implementing  global, large scale data pool. To be practical and useful, system implementing
1460  xanalogical model have to be distributed.  xanalogical model have to be distributed.
1461    
1462  We have decided to use Peer-to-Peer network as a Gzz's communication layer. For  We have decided to use Peer-to-Peer network as a Fenfire's communication layer. For
1463  motivations and discussion, see \cite{lukka02freenetguids, fallenstein03storm}.  motivations and discussion, see \cite{lukka02freenetguids, fallenstein03storm}.
1464  This paper's focus, however, is to evaluate existing Peer-to-Peer systems and their  This paper's focus, however, is to evaluate existing Peer-to-Peer systems and their
1465  applicably with regard to Gzz's requirements. Anyhow, it must be feasible to perform  applicably with regard to Fenfire's requirements. Anyhow, it must be feasible to perform
1466  efficient lookups to locate parts of the document from the global repository based on  efficient lookups to locate parts of the document from the global repository based on
1467  block's identifier. To be more specific, Gzz's Storm module has to support \emph{global scale}  block's identifier. To be more specific, Fenfire's Storm module has to support \emph{global scale}
1468  data lookup to locate and fetch scroll blocks by using \emph{location-independent}  data lookup to locate and fetch scroll blocks by using \emph{location-independent}
1469  identifiers.  identifiers.
1470    
# Line 1526  return the most recent block, if the sig Line 1524  return the most recent block, if the sig
1524    
1525  \section{Special needs}  \section{Special needs}
1526    
1527  Storm (and therefore Gzz) has several unique features which postulates  Storm (and therefore Fenfire) has several unique features which postulates
1528  different kind of requirements for Peer-to-Peer system. First, Storm stores data  different kind of requirements for Peer-to-Peer system. First, Storm stores data
1529  as append-and-delete only blocks, which are immutable byte sequences. Second, Storm  as append-and-delete only blocks, which are immutable byte sequences. Second, Storm
1530  uses urn-5 random strings for binding concepts to data. Finally, all data is identified  uses urn-5 random strings for binding concepts to data. Finally, all data is identified
# Line 1606  better alternative to our needs. Both St Line 1604  better alternative to our needs. Both St
1604  globally unique identifiers for locating data. Furthermore, tightly structured  globally unique identifiers for locating data. Furthermore, tightly structured
1605  overlays provides guaranteed data lookup and has very efficient lookup protocols,  overlays provides guaranteed data lookup and has very efficient lookup protocols,
1606  which are essential to xanalogical model to be usable in distributed environment.  which are essential to xanalogical model to be usable in distributed environment.
   
1607  Table \ref{table_comparison_approach} lists the key feature of both approaches.  Table \ref{table_comparison_approach} lists the key feature of both approaches.
1608    
1609    
1610  \scriptsize  \scriptsize
1611  \begin{longtable}{|l|l|l|}  \begin{longtable}{|l|l|l|}
1612    
 \caption[Comparison of loosely structured and tightly structured approaches]{Comparison of loosely structured and tighly structured approaches}  
 \label{table_comparison_approach}  
   
1613    
1614  \\ \hline  \hline
1615  \multicolumn{1}{|c|}{\textbf{Property}} &  \multicolumn{1}{|c|}{\textbf{Property}} &
1616  \multicolumn{1}{c|}{\textbf{Unstructured}} &  \multicolumn{1}{c|}{\textbf{Unstructured}} &
1617  \multicolumn{1}{c|}{\textbf{Structured}}    \multicolumn{1}{c|}{\textbf{Structured}}  
# Line 1698  Table \ref{table_comparison_approach} li Line 1693  Table \ref{table_comparison_approach} li
1693  \\ \hline  \\ \hline
1694    
1695    
1696    \caption{Comparison of loosely structured and tighly structured approaches}
1697    \label{table_comparison_approach}
1698    
1699    
1700  \end{longtable}  \end{longtable}
1701  \normalsize  \normalsize
1702    
1703    
1704    
1705    
1706    
1707    
1708    

Legend:
Removed from v.1.73  
changed lines
  Added in v.1.74

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