1: \section{The Analysis}
2: \label{sec:internode}
3: \subsection{Distributional Properties of Inter-Node Distances}
4: In this section we will assume that all keys are populated by peers
5: with independent and equal probability, and, furthermore, that
6: this probability does not change with time.
7: The first condition is a natural consequence
8: of peers joining and leaving/failing
9: independently. The last condition, on the other hand,
10: does not hold strictly since the number
11: of peers present under churn is a fluctuating quantity,
12: Nevertheless, it can be expected to hold to good accuracy
13: in sufficiently large systems.
14: A detailed analysis along these lines will be given elsewhere.
15:
16:
17: \begin{definition}
18: \label{def:int}
19: Given two keys $u, v \in \{0...{\cal K}-1\}$, the ``distance''
20: between them is $u - v $ (with modulo-{$\cal K$} arithmetic).
21: We interchangeably say that $u$ and $v$ form an
22: ``interval'' of length $u - v $. Hence
23: the number of keys
24: {\it inside} an interval of length $\ell$ is $\ell-1$ keys.
25: %i.e all intervals are considered to be half-closed.
26: \end{definition}
27:
28: %\begin{definition} Let $Int_x$ be the number of intervals of length $x$
29: %\textit{i.e.}, the number of pairs
30: %of consecutive nodes which are separated by a distance of $x$ keys on the ring.
31: %\end{definition}
32:
33:
34: %%=================================================
35: %% THEOREM - BEGIN
36: %%=================================================
37: \begin{property}
38: \label{prop:px}
39:
40: %For a process in which nodes join or leave with equal rates
41: %independently of each other and uniformly on the ring, and
42: %the number of nodes $N$ in the network is almost constant with $N << K$,
43: %the probability ($P(x) \equiv \frac{Int_{x}}{N}$)
44: %of finding an interval of length $x$ is:
45:
46: The probability $P(x)$
47: of finding an interval of length $x$ is:
48: $P(x) = \rho^{x-1}(1-\rho)$ where $\rho = \frac{{\cal K}-N}{\cal K}$.
49: \end{property}
50: Under the stated conditions, each \minorchange{key} will be populated
51: with the same probability $\frac{N}{\cal K}=1-\rho$, \minorchange{for $N<<K$}.
52: An interval of length $x$ then involves $x-1$ consecutive
53: unpopulated \minorchange{keys}, and then one populated \minorchange{key}, which explains the formula.
54:
55: \begin{figure}[t]
56: \centering
57: \includegraphics{props.eps}
58: % \vspace*{-0.4cm}
59: \caption{(a) Case when $n$ and $p$ have the same value of $fin_k.node$.
60: (b) Case where a newly joined node $p$ copies the $k^{th}$ entry
61: of its successor node $n$ as the best approximation for its own $k^{th}$ entry
62: (by the join protocol). In this case, there could be a node $o$ which
63: is the 'correct' entry for $p.fin_k.node$. However, since $p$ is newly joined, the only information it has access to is the finger table of $n$.}
64: \label{fig:props}
65: \end{figure}
66:
67:
68: We now derive some properties of this distribution
69: which will be used in the ensuing analysis.
70: %%=================================================
71: %% PROPERTY- BEGIN
72: %%=================================================
73: \begin{property}
74: \label{prop:ab}
75: For any two keys $u$ and $v$, where $v=u+x$, let $b_i$ be the probability
76: that the first node encountered in between these two keys is at $u+i$
77: (where $0 \leq i < x$).
78: Then $b_i \equiv {\rho^{i}(1-\rho)}$.
79: The probability that there is definitely at least one node between $u$ and $v$ is: $a(x)\equiv {1-\rho^x}$.
80: Hence the conditional probability that the first node is at a distance $i$ {\it given} that
81: there is at least one node in the interval is $ bc(i,x)\equiv b(i)/a(x)$.
82: \end{property}
83: %%=================================================
84: %% PROPERTY - END
85: %%=================================================
86:
87:
88: %%=================================================
89: %% PROPERTY- BEGIN
90: %%=================================================
91: \begin{property}
92: \label{prop:share}
93: The probability that a node and at least one of its immediate predecessors
94: share the same $k^{th}$ finger
95: is $p_1(k)\equiv \frac{\rho}{1+\rho} (1-\rho^{2^k-2})$.
96: The explanation for this property goes as follows.
97: If the distance between node $n$ and its predecessor $p$ is $x$, the distance between
98: $n.fin_k$.\emph{start} and $p.fin_k$.\emph{start} is also $x$ (see Fig. \ref{fig:props}(a)). If there is no node
99: in between $n.fin_k$.\emph{start} and $p.fin_k$.\emph{start} then $n.fin_k$.\emph{node} and $p.fin_k$.\emph{node}
100: will share the same value. From Property~\ref{prop:px},
101: the probability that the distance between $n$ and $p$ is $x$
102: is $\rho^{x-1}(1-\rho)$. However, $x$ has to be less than $2^{k-1}$, otherwise
103: $p.fin_k$.\emph{node} will be equal to $n$. The probability that no node
104: exists between $n.fin_k$.\emph{start} and $p.fin_k$.\emph{start}
105: is $\rho^x$ (by Property \ref{prop:ab}).
106: Therefore the probability that the $n.fin_k$.\emph{node} and
107: $p.fin_k$.\emph{node} share the same value is:
108: %\begin{equation}
109: %\label{eqn:iii}
110: $\sum_{x=1}^{2^{k-1}-1} \rho^{x-1}(1-\rho)\rho^x = \frac{\rho}{1+\rho} (1-\rho^{2^k-2})$.
111: %\end{equation}
112: It is straightforward (though tedious) to
113: derive similar expressions for $p_2(k)$ the probability that a node and
114: at least {\it two} of its immediate predecessors share the same $k^{th}$ finger,
115: $p_3(k)$ and so on.
116: \end{property}
117:
118: %%=================================================
119: %% PROPERTY - END
120: %%=================================================
121:
122:
123: %%=================================================
124: %% PROPERTY- BEGIN
125: %%=================================================
126: \begin{property}
127: \label{prop:copy}
128: We can similarly assess the probability that the join
129: protocol (see Section~\ref{sec:fingers})
130: results in further replication of the $k^{th}$ pointer. Let us define the probability
131: $p_{\minorchange{\it join}} (i,k)$ as the probability that a newly joined node, chooses
132: the $i^{th}$ entry of its successor's finger table for its own $k^{th}$ entry. Note
133: that this is unambiguous even in the case that the successor's $i^{th}$
134: entry is repeated. All we
135: are asking is, when is the $k^{th}$ entry of the new joinee the same as the $i^{th}$
136: entry of the successor? Clearly $ i \leq k$.
137: In fact for the larger fingers, we only need to consider
138: $p_{\minorchange{\it join}} (k,k)$, since $p_{\minorchange{\it join}}(i,k) \sim 0 $ for $i<k$.
139: Using the interval distribution we find, for large $k$,
140: $p_{\mathrm join}(k,k) \sim \rho (1-\rho^{2^{k-2} -2}) + (1-\rho) (1-\rho^{2^{k-2}-2}) -(1-\rho) \rho (2^{k-2} -2) \rho^{2^{k-2}-3} $. This function goes to $1$ for large $k$.
141: %The function $p_{\mathrm join}(k)=0$ for small $k$ and $1$ for large $k$.
142: \end{property}
143:
144: We can also analogously compute $p_{\minorchange{\it join}}(i,k)$ for any $i$.
145: The only trick here is to estimate the probability that
146: starting from $i$, the last {\it distinct} entry of $n$'s finger table
147: {\it does not} give $p$ a better choice for its $k_{th}$ entry.
148: This can again readily be computed using property \ref{prop:ab}, but we
149: do not do the computation here since for our purposes $p_{\minorchange{\it join}}(k,k)$
150: suffices.
151:
152: %%=================================================
153: %% PROPERTY - END
154: %%=================================================
155:
156:
157:
158:
159: