702 |
\multicolumn{1}{|c|}{\textbf{Protocol}} & |
\multicolumn{1}{|c|}{\textbf{Protocol}} & |
703 |
\multicolumn{1}{c|}{\textbf{Insert/Delete}} & |
\multicolumn{1}{c|}{\textbf{Insert/Delete}} & |
704 |
\multicolumn{1}{c|}{\textbf{Space}} & |
\multicolumn{1}{c|}{\textbf{Space}} & |
705 |
\multicolumn{1}{c|}{\textbf{Search}} & |
\multicolumn{1}{c|}{\textbf{Lookup}} & |
706 |
\multicolumn{1}{c|}{\textbf{\# of network connections}} & |
\multicolumn{1}{c|}{\textbf{\# of network connections}} & |
707 |
\multicolumn{1}{c|}{\textbf{Notes}} |
\multicolumn{1}{c|}{\textbf{Notes}} |
708 |
\\ \hline |
\\ \hline |
709 |
|
|
710 |
\parbox{37pt}{Chord} & |
\parbox{37pt}{Chord} & |
711 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
712 |
\parbox{37pt}{$O$(log $n$)} & |
\parbox{37pt}{$O(\log{n}$} & |
713 |
\parbox{37pt}{$O$(log $n$)} & |
\parbox{37pt}{$O(\log{n})$} & |
714 |
\parbox{50pt}{2(log $n$)} & |
\parbox{85pt}{2$(\log{n})$} & |
715 |
\parbox{50pt}{} |
\parbox{85pt}{} |
716 |
\\ \hline |
\\ \hline |
717 |
|
|
718 |
\parbox{37pt}{CAN} & |
\parbox{37pt}{CAN} & |
719 |
\parbox{37pt}{$O$($d$)} & |
\parbox{37pt}{$O$($d$)} & |
720 |
\parbox{37pt}{$O$($d$)} & |
\parbox{37pt}{$O$($d$)} & |
721 |
\parbox{37pt}{$O(dn^{\frac{1}{d}})$} & |
\parbox{37pt}{$O(dn^{\frac{1}{d}})$} & |
722 |
\parbox{50pt}{2$d$} & |
\parbox{85pt}{2$d$} & |
723 |
\parbox{50pt}{} |
\parbox{85pt}{} |
724 |
\\ \hline |
\\ \hline |
725 |
|
|
726 |
\parbox{37pt}{Pastry} & |
\parbox{37pt}{Pastry} & |
727 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
728 |
\parbox{37pt}{$O$(log $n$)} & |
\parbox{37pt}{$O(\log{n})$} & |
729 |
\parbox{37pt}{$O$(log $n$)} & |
\parbox{37pt}{$O(\log{n})$} & |
730 |
\parbox{50pt}{$2^{b - 1}\frac{\log{n}}{b}$} & |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$} & |
731 |
\parbox{50pt}{} |
\parbox{85pt}{} |
732 |
\\ \hline |
\\ \hline |
733 |
|
|
734 |
\parbox{37pt}{Tapestry} & |
\parbox{37pt}{Tapestry} & |
735 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
736 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
737 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
738 |
\parbox{50pt}{$2^{b - 1}\frac{\log{n}}{b}$} & |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$} & |
739 |
\parbox{50pt}{} |
\parbox{85pt}{} |
740 |
\\ \hline |
\\ \hline |
741 |
|
|
742 |
\parbox{37pt}{Kademlia} & |
\parbox{37pt}{Kademlia} & |
743 |
\parbox{37pt}{$O$(log n)*} & |
\parbox{37pt}{$O(\log{n})$} & |
744 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
745 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
746 |
\parbox{50pt}{2(log n)} & |
\parbox{85pt}{$2(\log{n})$} & |
747 |
\parbox{50pt}{} |
\parbox{85pt}{There is no action required when nodes leaves the system} |
748 |
\\ \hline |
\\ \hline |
749 |
|
|
750 |
\parbox{37pt}{Viceroy} & |
\parbox{37pt}{Viceroy} & |
751 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
752 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O(1)$} & |
753 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
754 |
\parbox{50pt}{11} & |
\parbox{85pt}{11} & |
755 |
\parbox{50pt}{} |
\parbox{85pt}{} |
756 |
\\ \hline |
\\ \hline |
757 |
|
|
758 |
\parbox{37pt}{SWAN} & |
\parbox{37pt}{SWAN} & |
759 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O(1)$} & |
760 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O(1)$} & |
761 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
762 |
\parbox{50pt}{r(2b+2s+2l) (r=\# of resurces provided, b=boot, s=short, l=long), typical link conf: 2*(6+7+8)=36} & |
\parbox{85pt}{$r(2b+2s+2l)$ (r=\# of resurces provided, b=boot, s=short, l=long), typical link conf: 2*(6+7+8)=36} & |
763 |
\parbox{50pt}{} |
\parbox{85pt}{In this approach, node is treated as 'named resource'; in this approach, \emph{resources} self-organise (opposite to DHTs)} |
764 |
\\ \hline |
\\ \hline |
765 |
|
|
766 |
\parbox{37pt}{Gnutellas} & |
\parbox{37pt}{Gnutellas} & |
767 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O(1)$} & |
768 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O(1)$} & |
769 |
\parbox{37pt}{$O$(n)} & |
\parbox{37pt}{$O(n)$} & |
770 |
\parbox{50pt}{typical conf: 5, depends on implementation --> 2*5=10 total} & |
\parbox{85pt}{typical conf: 5, depends on implementation --> 2*5=10 total} & |
771 |
\parbox{50pt}{} |
\parbox{85pt}{Number of messages can grow as fast as $O(n^{2})$} |
772 |
\\ \hline |
\\ \hline |
773 |
|
|
774 |
\parbox{37pt}{Social} & |
\parbox{37pt}{Social} & |
775 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O(1)$} & |
776 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O(1)$} & |
777 |
\parbox{37pt}{$O$(n)} & |
\parbox{37pt}{$O(n)$} & |
778 |
\parbox{50pt}{can be 1-10000 connections (aka social connections, connections are permament)} & |
\parbox{85pt}{can be 1-10000 connections (aka social connections, connections are permament)} & |
779 |
\parbox{50pt}{} |
\parbox{85pt}{} |
780 |
\\ \hline |
\\ \hline |
781 |
|
|
782 |
\parbox{37pt}{Skip Graphs} & |
\parbox{37pt}{Skip Graphs} & |
783 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
784 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
785 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
786 |
\parbox{50pt}{4r(log n) + (log n) (r=\# of resurces provided)} & |
\parbox{85pt}{$4r(\log{n}) + (\log{n})$ (r=\# of resurces provided)} & |
787 |
\parbox{50pt}{} |
\parbox{85pt}{In this approach, node is treated as 'named resource'; in this approach, \emph{resources} self-organise (opposite to DHTs)} |
788 |
\\ \hline |
\\ \hline |
789 |
|
|
790 |
\parbox{37pt}{SkipNet} & |
\parbox{37pt}{SkipNet} & |
791 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
792 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
793 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
794 |
\parbox{50pt}{2(log n)} & |
\parbox{85pt}{$2(\log{n})$} & |
795 |
\parbox{50pt}{} |
\parbox{85pt}{} |
796 |
\\ \hline |
\\ \hline |
797 |
|
|
798 |
\parbox{37pt}{Symphony} & |
\parbox{37pt}{Symphony} & |
799 |
\parbox{37pt}{$O(\log^2{n})$} & |
\parbox{37pt}{$O(\log^2{n})$} & |
800 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
801 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
802 |
\parbox{50pt}{2k+2+f (k = long, 2 = node's neighbors, f = fault-tolerance links)} & |
\parbox{85pt}{$2k+2+f$ (k = long, 2 = node's neighbors, f = fault-tolerance links)} & |
803 |
\parbox{50pt}{} |
\parbox{85pt}{Space can be also $O(1)$. Additional space of $space^2$ can be used as a lookahed list for better performance} |
804 |
\\ \hline |
\\ \hline |
805 |
|
|
806 |
\parbox{37pt}{ODHDHT} & |
\parbox{37pt}{ODHDHT} & |
807 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
808 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
809 |
\parbox{37pt}{$O$(log n)/O(log\^2 n)} & |
\parbox{37pt}{$O(\log{n})$} & |
810 |
\parbox{50pt}{2(log n)} & |
\parbox{85pt}{$2(\log{n})$} & |
811 |
\parbox{50pt}{} |
\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} |
812 |
\\ \hline |
\\ \hline |
813 |
|
|
814 |
\parbox{37pt}{Plaxton} & |
\parbox{37pt}{Plaxton} & |
815 |
\parbox{37pt}{-} & |
\parbox{37pt}{-} & |
816 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
817 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
818 |
\parbox{50pt}{$O$(log n)} & |
\parbox{85pt}{$O(\log{n})$} & |
819 |
\parbox{50pt}{} |
\parbox{85pt}{Plaxton's algortihm is designed to operate in static environment} |
820 |
\\ \hline |
\\ \hline |
821 |
|
|
822 |
\parbox{37pt}{PeerNet} & |
\parbox{37pt}{PeerNet} & |
823 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
824 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
825 |
\parbox{37pt}{$O$(log n)} & |
\parbox{37pt}{$O(\log{n})$} & |
826 |
\parbox{50pt}{$O$(log n)} & |
\parbox{85pt}{$O(\log{n})$} & |
827 |
\parbox{50pt}{} |
\parbox{85pt}{Operates at network layer} |
828 |
\\ \hline |
\\ \hline |
829 |
|
|
830 |
\parbox{37pt}{Kelips} & |
\parbox{37pt}{Kelips} & |
831 |
\parbox{37pt}{} & |
\parbox{37pt}{} & |
832 |
\parbox{37pt}{$O$($\sqrt{n}$)} & |
\parbox{37pt}{$O$($\sqrt{n}$)} & |
833 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O$(1)} & |
834 |
%\parbox{50pt}{$\frac{n}{\sqrt{n}} + c*(\sqrt{n}-1) + \frac{Totalnumber of files}{\sqrt{n}}$} & |
\parbox{85pt}{$\frac{n}{\sqrt{n}} + c*(\sqrt{n}-1) + \frac{Totalnumber of files}{\sqrt{n}}$} & |
835 |
\parbox{50pt}{} |
\parbox{85pt}{Constant background overhead is: $O(2(\sqrt{n}*(log^2{n})) + (\sqrt{n} + (log^3{n})))$} |
836 |
\\ \hline |
\\ \hline |
837 |
|
|
838 |
\parbox{37pt}{Freenet} & |
\parbox{37pt}{Freenet} & |
839 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O(1)$} & |
840 |
\parbox{37pt}{$O$(1)} & |
\parbox{37pt}{$O(1)$} & |
841 |
\parbox{37pt}{$O$(n)} & |
\parbox{37pt}{$O(n)$} & |
842 |
\parbox{50pt}{??} & |
\parbox{85pt}{??} & |
843 |
\parbox{50pt}{} |
\parbox{85pt}{} |
844 |
\\ \hline |
\\ \hline |
845 |
|
|
846 |
|
|
847 |
\end{longtable} |
\end{longtable} |
848 |
|
|
849 |
|
Insert/Delete: |
850 |
|
Number of messages when a node joins or leaves the network. |
851 |
|
|
852 |
|
Space: |
853 |
|
Space required for a node's neighbors |
854 |
|
|
855 |
|
Search: |
856 |
|
Number of messages when an object lookup is performed |
857 |
|
|
858 |
|
\begin{figure} |
859 |
|
\centering |
860 |
|
\includegraphics[width=10cm, height=10cm]{application_level_overlay.eps} |
861 |
|
\caption{P2P Application Level Overlay} |
862 |
|
\label{fig:application_level} |
863 |
|
|
864 |
|
\end{figure} |
865 |
|
|
866 |
|
|
867 |
|
|
868 |
\chapter{Gzz System} |
\chapter{Gzz System} |