798 |
|
|
799 |
\endfoot |
\endfoot |
800 |
|
|
|
\parbox{37pt}{Chord} & |
|
|
\parbox{37pt}{$O(\log^2{n})$} & |
|
|
\parbox{37pt}{$O(\log{n}$} & |
|
|
\parbox{37pt}{$O(\log{n})$} & |
|
|
\parbox{85pt}{2$(\log{n})$} & |
|
|
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
|
|
\\ \hline |
|
|
|
|
801 |
\parbox{37pt}{CAN} & |
\parbox{37pt}{CAN} & |
802 |
\parbox{37pt}{$O$($d$)} & |
\parbox{37pt}{$O$($d$)} & |
803 |
\parbox{37pt}{$O$($d$)} & |
\parbox{37pt}{$O$($d$)} & |
806 |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, where $d$ is the dimension of virtual key space} |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, where $d$ is the dimension of virtual key space} |
807 |
\\ \hline |
\\ \hline |
808 |
|
|
809 |
\parbox{37pt}{Pastry} & |
\parbox{37pt}{Chord} & |
|
\parbox{37pt}{$O(\log^2{n})$} & |
|
|
\parbox{37pt}{$O(\log{n})$} & |
|
|
\parbox{37pt}{$O(\log{n})$} & |
|
|
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable parameter for tuning digit-fixing properties (routing table)} & |
|
|
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
|
|
\\ \hline |
|
|
|
|
|
\parbox{37pt}{Tapestry} & |
|
810 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
811 |
|
\parbox{37pt}{$O(\log{n}$} & |
812 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
813 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{85pt}{2$(\log{n})$} & |
|
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable parameter for tuning digit-fixing properties (routing table)} & |
|
814 |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
815 |
\\ \hline |
\\ \hline |
816 |
|
|
|
\parbox{37pt}{Kademlia} & |
|
|
\parbox{37pt}{$O(\log{n})$} & |
|
|
\parbox{37pt}{$O(\log{n})$} & |
|
|
\parbox{37pt}{$O(\log{n})$} & |
|
|
\parbox{85pt}{$2(\log{n})$} & |
|
|
\parbox{85pt}{There is no action required when nodes leaves the system} |
|
|
\\ \hline |
|
817 |
|
|
818 |
\parbox{37pt}{Viceroy} & |
\parbox{37pt}{Freenet} & |
|
\parbox{37pt}{$O(\log{n})$} & |
|
|
\parbox{37pt}{$O(1)$} & |
|
|
\parbox{37pt}{$O(\log{n})$} & |
|
|
\parbox{85pt}{11} & |
|
|
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
|
|
\\ \hline |
|
|
|
|
|
\parbox{37pt}{SWAN} & |
|
819 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
820 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
821 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(n)$} & |
822 |
\parbox{85pt}{$r(2b+2s+2l)$ (where r=number of resources provided, b=boot connections, s=short range connections, l=long range connections), typical connection configuration: 2*(6+7+8)=36} & |
\parbox{85pt}{??} & |
823 |
\parbox{85pt}{In this approach, node is treated as 'named resource'; in this approach, \emph{resources} self-organise (opposite to DHTs)} |
\parbox{85pt}{} |
824 |
\\ \hline |
\\ \hline |
825 |
|
|
826 |
|
|
827 |
\parbox{37pt}{Gnutella} & |
\parbox{37pt}{Gnutella} & |
828 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
829 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
832 |
\parbox{85pt}{Number of messages can grow as fast as $O(n^{2})$} |
\parbox{85pt}{Number of messages can grow as fast as $O(n^{2})$} |
833 |
\\ \hline |
\\ \hline |
834 |
|
|
|
\parbox{37pt}{Social} & |
|
|
\parbox{37pt}{$O(1)$} & |
|
|
\parbox{37pt}{$O(1)$} & |
|
|
\parbox{37pt}{$O(n)$} & |
|
|
\parbox{85pt}{Can be 1-10000 connections (aka social connections, connections are permament)} & |
|
|
\parbox{85pt}{Connection number depends on node's memory/network capabilities} |
|
|
\\ \hline |
|
835 |
|
|
836 |
\parbox{37pt}{Skip Graphs} & |
\parbox{37pt}{Kademlia} & |
837 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
838 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
839 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
840 |
\parbox{85pt}{$4r(\log{n}) + (\log{n})$, where r=number of resources provided)} & |
\parbox{85pt}{$2(\log{n})$} & |
841 |
\parbox{85pt}{In this approach, node is treated as 'named resource'; in this approach, \emph{resources} self-organise (opposite to DHTs)} |
\parbox{85pt}{There is no action required when nodes leaves the system} |
842 |
\\ \hline |
\\ \hline |
843 |
|
|
844 |
\parbox{37pt}{SkipNet} & |
|
845 |
|
\parbox{37pt}{Kelips} & |
846 |
|
\parbox{37pt}{$O(2(\sqrt{n}*(log^2{n})) + (\sqrt{n} + (log^3{n})))$} & |
847 |
|
\parbox{37pt}{$O$($\sqrt{n}$)} & |
848 |
|
\parbox{37pt}{$O(1)$} & |
849 |
|
\parbox{85pt}{$\frac{n}{\sqrt{n}} + c*(\sqrt{n}-1) + \frac{Totalnumber of files}{\sqrt{n}}$, where n is the number of nodes and c the number of contacts/foreign affinity group} & |
850 |
|
\parbox{85pt}{Insert/delete overhead is constant and performed background, System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
851 |
|
\\ \hline |
852 |
|
|
853 |
|
\parbox{37pt}{Koorde} & |
854 |
|
\parbox{37pt}{$O(\log^2{n})$} & |
855 |
|
\parbox{37pt}{$O(1)$ or $O(\log{n})$} & |
856 |
|
\parbox{37pt}{$O(\log{n})$ or $O(\frac{\log{n}}{\log{}\log{n}})$} & |
857 |
|
\parbox{85pt}{$2(\log{n})$} & |
858 |
|
\parbox{85pt}{Based on Chord protocol, uses de Bruijn graphs for better efficiency/fault-tolerance} |
859 |
|
\\ \hline |
860 |
|
|
861 |
|
\parbox{37pt}{ODHDHT} & |
862 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
863 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
864 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
865 |
\parbox{85pt}{$2(\log{n})$} & |
\parbox{85pt}{$2(\log{n})$} & |
866 |
\parbox{85pt}{Partially supports underlying network's locality properties} |
\parbox{85pt}{There are two lookup algorithms. The other is $O(\log{n})$, which is robus under random deletion. The second is $O(\log^2{n})$, which is also robust under spam generating model} |
867 |
\\ \hline |
\\ \hline |
868 |
|
|
869 |
\parbox{37pt}{Symphony} & |
|
870 |
|
\parbox{37pt}{Pastry} & |
871 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
872 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
873 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
874 |
\parbox{85pt}{$2k+2+f$, where k = long range connections, 2 = node's neighbors, f = fault-tolerance connections)} & |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable parameter for tuning digit-fixing properties (routing table)} & |
875 |
\parbox{85pt}{Space can be also $O(1)$. Additional space of $space^2$ can be used as a lookahead list for better performance} |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, based on Plaxton's algorithm} |
876 |
\\ \hline |
\\ \hline |
877 |
|
|
878 |
\parbox{37pt}{ODHDHT} & |
|
879 |
|
\parbox{37pt}{PeerNet} & |
880 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
881 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
882 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
883 |
\parbox{85pt}{$2(\log{n})$} & |
\parbox{85pt}{$O(\log{n})$} & |
884 |
\parbox{85pt}{There are two lookup algorithms. The other is $O(\log{n})$, which is robus under random deletion. The second is $O(\log^2{n})$, which is also robust under spam generating model} |
\parbox{85pt}{Operates at network layer} |
885 |
\\ \hline |
\\ \hline |
886 |
|
|
887 |
\parbox{37pt}{Plaxton} & |
\parbox{37pt}{Plaxton} & |
892 |
\parbox{85pt}{Plaxton's algortihm is designed to operate in static environment (e.g., web cache)} |
\parbox{85pt}{Plaxton's algortihm is designed to operate in static environment (e.g., web cache)} |
893 |
\\ \hline |
\\ \hline |
894 |
|
|
895 |
\parbox{37pt}{PeerNet} & |
\parbox{37pt}{Skip Graphs} & |
896 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
897 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
898 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
899 |
\parbox{85pt}{$O(\log{n})$} & |
\parbox{85pt}{$4r(\log{n}) + (\log{n})$, where r=number of resources provided)} & |
900 |
\parbox{85pt}{Operates at network layer} |
\parbox{85pt}{In this approach, node is treated as 'named resource'; in this approach, \emph{resources} self-organise (opposite to DHTs)} |
901 |
\\ \hline |
\\ \hline |
902 |
|
|
903 |
\parbox{37pt}{Kelips} & |
\parbox{37pt}{SkipNet} & |
904 |
\parbox{37pt}{$O(2(\sqrt{n}*(log^2{n})) + (\sqrt{n} + (log^3{n})))$} & |
\parbox{37pt}{$O(\log{n})$} & |
905 |
\parbox{37pt}{$O$($\sqrt{n}$)} & |
\parbox{37pt}{$O(\log{n})$} & |
906 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O(\log{n})$} & |
907 |
\parbox{85pt}{$\frac{n}{\sqrt{n}} + c*(\sqrt{n}-1) + \frac{Totalnumber of files}{\sqrt{n}}$, where n is the number of nodes and c the number of contacts/foreign affinity group} & |
\parbox{85pt}{$2(\log{n})$} & |
908 |
\parbox{85pt}{Insert/delete overhead is constant and performed background, System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
\parbox{85pt}{Partially supports underlying network's locality properties} |
909 |
\\ \hline |
\\ \hline |
910 |
|
|
911 |
\parbox{37pt}{Freenet} & |
\parbox{37pt}{Social} & |
912 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
913 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
914 |
\parbox{37pt}{$O(n)$} & |
\parbox{37pt}{$O(n)$} & |
915 |
\parbox{85pt}{??} & |
\parbox{85pt}{Can be 1-10000 connections (aka social connections, connections are permament)} & |
916 |
\parbox{85pt}{} |
\parbox{85pt}{Connection number depends on node's memory/network capabilities} |
917 |
\\ \hline |
\\ \hline |
918 |
|
|
919 |
|
\parbox{37pt}{Symphony} & |
920 |
|
\parbox{37pt}{$O(\log^2{n})$} & |
921 |
|
\parbox{37pt}{$O(\log{n})$} & |
922 |
|
\parbox{37pt}{$O(\log{n})$} & |
923 |
|
\parbox{85pt}{$2k+2+f$, where k = long range connections, 2 = node's neighbors, f = fault-tolerance connections)} & |
924 |
|
\parbox{85pt}{Space can be also $O(1)$. Additional space of $space^2$ can be used as a lookahead list for better performance, not necessarily fault-tolerant because of constant degree of neighbors} |
925 |
|
\\ \hline |
926 |
|
|
927 |
|
\parbox{37pt}{SWAN} & |
928 |
|
\parbox{37pt}{$O(1)$} & |
929 |
|
\parbox{37pt}{$O(1)$} & |
930 |
|
\parbox{37pt}{$O(\log^2{n})$} & |
931 |
|
\parbox{85pt}{$r(2b+2s+2l)$ (where r=number of resources provided, b=boot connections, s=short range connections, l=long range connections), typical connection configuration: 2*(6+7+8)=36} & |
932 |
|
\parbox{85pt}{In this approach, node is treated as 'named resource'; in this approach, \emph{resources} self-organise (opposite to DHTs)} |
933 |
|
\\ \hline |
934 |
|
|
935 |
|
|
936 |
|
\parbox{37pt}{Tapestry} & |
937 |
|
\parbox{37pt}{$O(\log^2{n})$} & |
938 |
|
\parbox{37pt}{$O(\log{n})$} & |
939 |
|
\parbox{37pt}{$O(\log{n})$} & |
940 |
|
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable parameter for tuning digit-fixing properties (routing table)} & |
941 |
|
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, based on Plaxton's algorithm} |
942 |
|
\\ \hline |
943 |
|
|
944 |
|
\parbox{37pt}{Viceroy} & |
945 |
|
\parbox{37pt}{$O(\log{n})$} & |
946 |
|
\parbox{37pt}{$O(1)$} & |
947 |
|
\parbox{37pt}{$O(\log{n})$} & |
948 |
|
\parbox{85pt}{11} & |
949 |
|
\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} |
950 |
|
\\ \hline |
951 |
|
|
952 |
|
|
953 |
\end{longtable} |
\end{longtable} |