diff --git a/developer/jami-concepts/drt.md b/developer/jami-concepts/drt.md index 15b3e14ad432915094ceb584821acbc5ba0a6cf7..788ce91c7d116c28d5e9454b99df960b40e371dc 100644 --- a/developer/jami-concepts/drt.md +++ b/developer/jami-concepts/drt.md @@ -23,7 +23,6 @@ Several solutions have been proposed to achieve these goals: Additionally, to optimize the number of sockets, a socket will be allocated by a **ConnectionManager** to enable multiplexing sockets with a specific hash. This means that if there is a need to transmit multiple files and engage in a chat with someone, only one socket will be utilized. - ## Definitions **Notations:** @@ -52,10 +51,8 @@ This means that if there is a need to transmit multiple files and engage in a ch - Response (e.g., FOUND): Query | nodes | mobileNodes - Message: Version | isMobile | Request or Response - ## Algorithms comparison - ## Chord In a [Chord network](https://en.wikipedia.org/wiki/Chord_(peer-to-peer)), each node is associated with a unique key computed using either [SHA-1](https://en.wikipedia.org/wiki/SHA-1) or [MD5](https://en.wikipedia.org/wiki/MD5) hash functions. @@ -81,9 +78,9 @@ The number of hops to get a value is: $\log(N)$ Sources: -* Liben-Nowell, David; Balakrishnan, H.; Karger, David R. “Analysis of the evolution of peer-to-peer systems.” *ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing* (2002). -* Liben-Nowell, David, Balakrishnan, H.; Karger, David R. “Observations on the Dynamic Evolution of Peer-to-Peer Networks.” International Workshop on Peer-to-Peer Systems (2002). -* Stoica, Ion; Morris, Robert Tappan; Karger, David R; Kaashoek, M. Frans; Balakrishnan, H. “Chord: A scalable peer-to-peer lookup service for internet applications.” *Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication* (2001). +1. Liben-Nowell, David; Balakrishnan, H.; Karger, David R. “Analysis of the evolution of peer-to-peer systems.” *ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing* (2002). +2. Liben-Nowell, David, Balakrishnan, H.; Karger, David R. “Observations on the Dynamic Evolution of Peer-to-Peer Networks.” International Workshop on Peer-to-Peer Systems (2002). +3. Stoica, Ion; Morris, Robert Tappan; Karger, David R; Kaashoek, M. Frans; Balakrishnan, H. “Chord: A scalable peer-to-peer lookup service for internet applications.” *Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication* (2001). ## Pastry @@ -106,8 +103,7 @@ $\log_{2}(N)$ where $b$ is generally $2$. Sources: -* Tirée de Castro, Miguel; Druschel, Peter; Hu, Y. Charlie; and Rowstron, Antony Ian Taylor. “Exploiting network proximity in peer-to-peer overlay networks.” (2002). - +1. Tirée de Castro, Miguel; Druschel, Peter; Hu, Y. Charlie; and Rowstron, Antony Ian Taylor. “Exploiting network proximity in peer-to-peer overlay networks.” (2002). ## Kademlia @@ -158,15 +154,12 @@ Subsequently, a "FIND" request is sent every ten minutes to keep the routing tab The primary class responsible for this process in the codebase is `SwarmManager`, and the bootstrapping phase is handled within the conversation's section. - ## Architecture  - ## Performance analysis - ## Tools To validate the implementation and performance of the DRT component, several tools have been developed and are located in `daemon/tests/unitTest/swarm`, including `swarm_spread`, `bootstrap`, and more. @@ -185,7 +178,6 @@ While the major focus is on unit tests, for performance analysis, `swarm_spread` * Calculating the iterations needed to transmit a message to all nodes. * Measuring message reception times. - ## Results  @@ -194,8 +186,7 @@ While the major focus is on unit tests, for performance analysis, `swarm_spread`  - ## Future work 1. Dynamic bucket size limit to get different bucket sizes depending on the size of the routing table. -2. Declining some connections to speed up the transmission a bit. +2. Declining some connections to speed up the transmission a bit. \ No newline at end of file