From: Oana Baron Date: Wed, 8 Jun 2011 19:44:25 +0000 (+0300) Subject: research2 : architecture update X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=commitdiff_plain;h=b1ae2d71482cb2141a559e48cfbfee75e5bbe751;p=swifty.git research2 : architecture update --- diff --git a/doc/research2/img/archov.dia b/doc/research2/img/dia/archov.dia similarity index 100% rename from doc/research2/img/archov.dia rename to doc/research2/img/dia/archov.dia diff --git a/doc/research2/img/header.dia b/doc/research2/img/dia/header.dia similarity index 100% rename from doc/research2/img/header.dia rename to doc/research2/img/dia/header.dia diff --git a/doc/research2/img/kernel.dia b/doc/research2/img/dia/kernel.dia similarity index 100% rename from doc/research2/img/kernel.dia rename to doc/research2/img/dia/kernel.dia diff --git a/doc/research2/img/net.dia b/doc/research2/img/dia/net.dia similarity index 100% rename from doc/research2/img/net.dia rename to doc/research2/img/dia/net.dia diff --git a/doc/research2/img/dia/recv_data.dia b/doc/research2/img/dia/recv_data.dia new file mode 100644 index 0000000..4152957 Binary files /dev/null and b/doc/research2/img/dia/recv_data.dia differ diff --git a/doc/research2/img/dia/send_msg.dia b/doc/research2/img/dia/send_msg.dia new file mode 100644 index 0000000..98a1c67 Binary files /dev/null and b/doc/research2/img/dia/send_msg.dia differ diff --git a/doc/research2/img/kernel.dia.autosave b/doc/research2/img/kernel.dia.autosave deleted file mode 100644 index cb443f9..0000000 --- a/doc/research2/img/kernel.dia.autosave +++ /dev/null @@ -1,986 +0,0 @@ - - - - - - - - - - - - - #Letter# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Sender (Seeder) / Receiver (Leecher)# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #??LEDBAT??# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #socket API# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #user space# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #kernel space# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #raw socket implementation# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #transport protocol# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Linux kernel implementation# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #piece (binmap) -management# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #piece (binmap) -management# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #file -management# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #hash -management# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #peer discovery# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/research2/img/recvdata.png b/doc/research2/img/recvdata.png new file mode 100644 index 0000000..a2cbb1f Binary files /dev/null and b/doc/research2/img/recvdata.png differ diff --git a/doc/research2/img/sendmsg.png b/doc/research2/img/sendmsg.png new file mode 100644 index 0000000..a8140cc Binary files /dev/null and b/doc/research2/img/sendmsg.png differ diff --git a/doc/research2/img/untitled folder/AppFinal.png b/doc/research2/img/untitled folder/AppFinal.png deleted file mode 100644 index 7f40b45..0000000 Binary files a/doc/research2/img/untitled folder/AppFinal.png and /dev/null differ diff --git a/doc/research2/img/untitled folder/AppFinal_bak.png b/doc/research2/img/untitled folder/AppFinal_bak.png deleted file mode 100644 index 1042df3..0000000 Binary files a/doc/research2/img/untitled folder/AppFinal_bak.png and /dev/null differ diff --git a/doc/research2/img/untitled folder/App_Fin.svg b/doc/research2/img/untitled folder/App_Fin.svg deleted file mode 100644 index 9ac289b..0000000 --- a/doc/research2/img/untitled folder/App_Fin.svg +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - Page-1 - - - - Rounded rectangle.3 - Kernel Space - - - - - - - Kernel Space - - Rounded rectangle - User Space - - - - - - - User Space - - Cloud - Internet - - - - - - - Internet - - Data store - Swift Socket (Data transfer) - - - - - - - - Swift Socket(Data transfer) - - Pointer (1-D) - - - - - - - Pointer (1-D).11 - - - - - - - Pointer (1-D).12 - - - - - - - Pointer (1-D).13 - - - - - - - Data store.14 - UDP Socket (Information update) - - - - - - - - UDP Socket(Information update) - - Pointer (1-D).19 - - - - - - - Pointer (1-D).20 - - - - - - - Pointer (1-D).21 - - - - - - - Pointer (1-D).22 - - - - - - - Pointer (1-D).27 - - - - - - - Pointer (1-D).28 - - - - - - - Pointer (1-D).29 - - - - - - - 12pt. text - … - - - - - - - - - - … - - 12pt. text.32 - … - - - - - - - - - - … - - Pointer (1-D).33 - - - - - - - 12pt. text.31 - … - - - - - - - - - - … - - Rounded rectangle.34 - Swift Library - - - - - - - Swift Library - - Rounded rectangle.23 - Application which uses SWIFT Library - - - - - - - Application which uses SWIFT Library - - Pointer (1-D).35 - - - - - - - Rounded rectangle.36 - Swift Transport Layer - - - - - - - Swift Transport Layer - - Rounded rectangle.37 - IP 1 - - - - - - - IP 1 - - Rounded rectangle.38 - Physical Layer 1 - - - - - - - Physical Layer 1 - - Rounded rectangle.39 - Data Link 1 - - - - - - - Data Link 1 - - Rounded rectangle.7 - Data Link N - - - - - - - Data Link N - - Rounded rectangle.8 - IP N - - - - - - - IP N - - Rounded rectangle.9 - Physical Layer 1 - - - - - - - Physical Layer 1 - - Rounded rectangle.5 - UDP Transport Layer - - - - - - - UDP Transport Layer - - Rounded rectangle.15 - Data Link - - - - - - - Data Link - - Rounded rectangle.24 - IP - - - - - - - IP - - Rounded rectangle.16 - Physical Layer - - - - - - - Physical Layer - - diff --git a/doc/research2/img/untitled folder/RD.png b/doc/research2/img/untitled folder/RD.png deleted file mode 100644 index 8b7a54c..0000000 Binary files a/doc/research2/img/untitled folder/RD.png and /dev/null differ diff --git a/doc/research2/img/untitled folder/RD_.pdf b/doc/research2/img/untitled folder/RD_.pdf deleted file mode 100644 index 696d573..0000000 Binary files a/doc/research2/img/untitled folder/RD_.pdf and /dev/null differ diff --git a/doc/research2/img/untitled folder/RD_.svg b/doc/research2/img/untitled folder/RD_.svg deleted file mode 100644 index 2a076eb..0000000 --- a/doc/research2/img/untitled folder/RD_.svg +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - Page-1 - - - - Function / subroutine - Swift Application - - - - - - - Swift Application - - Function / subroutine.2 - Swift Library - - - - - - - Swift Library - - Invocation - - - - - - - - Invocation.4 - - - - - - - - Function / subroutine.5 - Kernel Space - - - - - - - Kernel Space - - Function / subroutine.6 - Kernel Space 1 - - - - - - - Kernel Space 1 - - Invocation.7 - - - - - - - - Invocation.8 - - - - - - - - Function / subroutine.9 - Kernel Space N - - - - - - - Kernel Space N - - Invocation.13 - - - - - - - - 12pt. text - Request - - - - - - - - - - Request - - 12pt. text.16 - SysCall - - - - - - - - - - SysCall - - 12pt. text.17 - ……….. - - - - - - - - - - ……….. - - Invocation.18 - - - - - - - - Invocation.19 - - - - - - - - 12pt. text.20 - Network communication - - - - - - - - - - Network communication - - Invocation.10 - - - - - - - - diff --git a/doc/research2/src/arch.tex b/doc/research2/src/arch.tex index 1e16e6e..1066eb4 100644 --- a/doc/research2/src/arch.tex +++ b/doc/research2/src/arch.tex @@ -17,26 +17,26 @@ calls that initially are resolved with the socket raw implementation (still in u In the future this wrapper library will represent entry points into the kernel. The peer discovery overlay will remain unchanged. It is still going to work based on UDP sockets and link the same -levels in the swift implementation as before. +levels in the swift implementation as before. The peer discover will be part of the application implementation and it +will be at the developer choice how to implement and how to manage it. -The multiparty protocol is implemented for now by a user level socket raw layer. This has the advantage of simulating the -real design modularization but also permit an easier debugging and testing procedure of the integration. In the next step -this part will be represented by a kernel patch that will communicate through custom made system calls with the wrapper -library. +The multiparty protocol is implemented for now at user space level by a raw socket layer to validate our architecture. +This has the advantage of simulating the real design modularization but also permit an easier debugging and testing +procedure of the integration. In the next step this part will be represented by a kernel patch that will communicate +through custom made system calls with the wrapper library. This two phases are described in +\labelindexref{Figure}{img:kernel} \image[scale=0.5]{img/kernel.png}{img:kernel}{Detail architecture} -\begin{comment} -In this picture we try to define more which elements are in US and which are in KS. -In the first implementation we will make an US implementation for our protocol with raw socket to validate our architecture -and to make easier our kernel implementation that will communicate with this implementation. - Raw socket implementation will support all syscalls and it will be a copy of our kernel implementation. -This implementation will have the same API and behavior with kernel implementation. The peer discover will be in -Application implementation and it will be developer problems how to implement and how to manage it. -When you make a syscall you need to pass the ips where the protocol can find the specify hash - -In the first implementation a swift socket will be available for only one operation transmit data or receive data. -In the last implementation the swift protocol will be develop in kernel space, and it will be accessible with a datagram -socket that will support all socket syscalls. It will intend to support both operations (receive/ send) data over only one socket. -\end{comment} \ No newline at end of file +This implementation will have the same API and behavior as the kernel implementation. Still, in the first +implementation, a swift socket will be available to act as only a seeder or a leecher, explicitly one operation transmit +data or receive data will be supported. + +In the last implementation the swift protocol will be develop in kernel space, and it will be accessible with a +datagram socket that will support all socket syscalls. It will intend to support both operations (receive / send) data +over only one socket. + +\image[scale=0.55]{img/recvdata.png}{img:recvdata}{Leecher} + +\image[scale=0.55]{img/sendmsg.png}{img:sendmsg}{Seeder} diff --git a/doc/research2/src/intro.tex b/doc/research2/src/intro.tex index a2f3903..4e774f6 100644 --- a/doc/research2/src/intro.tex +++ b/doc/research2/src/intro.tex @@ -1,4 +1,3 @@ -%\section{\fontfamily{phv}\selectfont{\large{\bfseries{INTRODUCTION}}}} The \emph{swift} protocol is a generic multiparty transport protocol. Its mission is to disseminate content among a swarm of peers. Basically, it answers one and only one request: \emph{'Here is a hash! Give me data for it!'}. Such diff --git a/doc/research2/src/summary.tex b/doc/research2/src/summary.tex index e8950dd..10aeb53 100644 --- a/doc/research2/src/summary.tex +++ b/doc/research2/src/summary.tex @@ -1,4 +1,3 @@ -%\section{\fontfamily{phv}\selectfont{\large{\bfseries{SUMMARY}}}} The \emph{swift} protocol is a multiparty content-centric protocol that aims to disseminate content among a swarm of peers. This paper proposes an approach for the optimization of the currently \emph{swift} protocol. The integration of