research2 : architecture update
authorOana Baron <baronoana@gmail.com>
Wed, 8 Jun 2011 19:44:25 +0000 (22:44 +0300)
committerOana Baron <baronoana@gmail.com>
Wed, 8 Jun 2011 19:44:25 +0000 (22:44 +0300)
18 files changed:
doc/research2/img/dia/archov.dia [moved from doc/research2/img/archov.dia with 100% similarity]
doc/research2/img/dia/header.dia [moved from doc/research2/img/header.dia with 100% similarity]
doc/research2/img/dia/kernel.dia [moved from doc/research2/img/kernel.dia with 100% similarity]
doc/research2/img/dia/net.dia [moved from doc/research2/img/net.dia with 100% similarity]
doc/research2/img/dia/recv_data.dia [new file with mode: 0644]
doc/research2/img/dia/send_msg.dia [new file with mode: 0644]
doc/research2/img/kernel.dia.autosave [deleted file]
doc/research2/img/recvdata.png [new file with mode: 0644]
doc/research2/img/sendmsg.png [new file with mode: 0644]
doc/research2/img/untitled folder/AppFinal.png [deleted file]
doc/research2/img/untitled folder/AppFinal_bak.png [deleted file]
doc/research2/img/untitled folder/App_Fin.svg [deleted file]
doc/research2/img/untitled folder/RD.png [deleted file]
doc/research2/img/untitled folder/RD_.pdf [deleted file]
doc/research2/img/untitled folder/RD_.svg [deleted file]
doc/research2/src/arch.tex
doc/research2/src/intro.tex
doc/research2/src/summary.tex

diff --git a/doc/research2/img/dia/recv_data.dia b/doc/research2/img/dia/recv_data.dia
new file mode 100644 (file)
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 (file)
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 (file)
index cb443f9..0000000
+++ /dev/null
@@ -1,986 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
-  <dia:diagramdata>
-    <dia:attribute name="background">
-      <dia:color val="#ffffff"/>
-    </dia:attribute>
-    <dia:attribute name="pagebreak">
-      <dia:color val="#000099"/>
-    </dia:attribute>
-    <dia:attribute name="paper">
-      <dia:composite type="paper">
-        <dia:attribute name="name">
-          <dia:string>#Letter#</dia:string>
-        </dia:attribute>
-        <dia:attribute name="tmargin">
-          <dia:real val="2.5399999618530273"/>
-        </dia:attribute>
-        <dia:attribute name="bmargin">
-          <dia:real val="2.5399999618530273"/>
-        </dia:attribute>
-        <dia:attribute name="lmargin">
-          <dia:real val="2.5399999618530273"/>
-        </dia:attribute>
-        <dia:attribute name="rmargin">
-          <dia:real val="2.5399999618530273"/>
-        </dia:attribute>
-        <dia:attribute name="is_portrait">
-          <dia:boolean val="true"/>
-        </dia:attribute>
-        <dia:attribute name="scaling">
-          <dia:real val="1"/>
-        </dia:attribute>
-        <dia:attribute name="fitto">
-          <dia:boolean val="false"/>
-        </dia:attribute>
-      </dia:composite>
-    </dia:attribute>
-    <dia:attribute name="grid">
-      <dia:composite type="grid">
-        <dia:attribute name="width_x">
-          <dia:real val="1"/>
-        </dia:attribute>
-        <dia:attribute name="width_y">
-          <dia:real val="1"/>
-        </dia:attribute>
-        <dia:attribute name="visible_x">
-          <dia:int val="1"/>
-        </dia:attribute>
-        <dia:attribute name="visible_y">
-          <dia:int val="1"/>
-        </dia:attribute>
-        <dia:composite type="color"/>
-      </dia:composite>
-    </dia:attribute>
-    <dia:attribute name="color">
-      <dia:color val="#d8e5e5"/>
-    </dia:attribute>
-    <dia:attribute name="guides">
-      <dia:composite type="guides">
-        <dia:attribute name="hguides"/>
-        <dia:attribute name="vguides"/>
-      </dia:composite>
-    </dia:attribute>
-  </dia:diagramdata>
-  <dia:layer name="Background" visible="true" active="true">
-    <dia:object type="Standard - Line" version="0" id="O0">
-      <dia:attribute name="obj_pos">
-        <dia:point val="14.5,18.3"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="14.495,18.295;44.855,18.305"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="14.5,18.3"/>
-        <dia:point val="44.85,18.3"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="line_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O1">
-      <dia:attribute name="obj_pos">
-        <dia:point val="15.625,12.81"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="15.62,12.795;30.655,12.815"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="15.625,12.81"/>
-        <dia:point val="30.65,12.8"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="line_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O2">
-      <dia:attribute name="obj_pos">
-        <dia:point val="19.1,2.35"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="19.095,2.345;40.355,10.505"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="19.1,2.35"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="21.25"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="8.1500000000000004"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O3">
-      <dia:attribute name="obj_pos">
-        <dia:point val="29.725,6.425"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="28.9838,6.3775;30.4663,6.4725"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#Sender (Seeder) / Receiver (Leecher)#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="29.725,6.4525"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O2" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O4">
-      <dia:attribute name="obj_pos">
-        <dia:point val="51.65,15.3"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="51.6,15.25;58.05,17.35"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="51.65,15.3"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="6.3500000000000014"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="1.9999999999999982"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.10000000149011612"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O5">
-      <dia:attribute name="obj_pos">
-        <dia:point val="54.825,16.3"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="52.9088,15.9263;56.7413,16.6738"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#??LEDBAT??#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.80000000000000004"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="54.825,16.5213"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O4" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O6">
-      <dia:attribute name="obj_pos">
-        <dia:point val="17.5,14.6"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="17.495,14.595;27.605,16.755"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="17.5,14.6"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="10.100000000000001"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="2.1499999999999986"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O7">
-      <dia:attribute name="obj_pos">
-        <dia:point val="21.9,8.6"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="21.895,8.595;37.805,9.905"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="21.9,8.6"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="15.899999999999999"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="1.3000000000000007"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O8">
-      <dia:attribute name="obj_pos">
-        <dia:point val="29.85,9.25"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="29.6425,9.2025;30.0575,9.2975"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#socket API#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="29.85,9.2775"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O7" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O9">
-      <dia:attribute name="obj_pos">
-        <dia:point val="29.1068,9.90411"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="23.7687,9.89705;29.1139,14.6024"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="29.1068,9.90411"/>
-        <dia:point val="23.7771,14.595"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="line_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O7" connection="8"/>
-        <dia:connection handle="1" to="O6" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O10">
-      <dia:attribute name="obj_pos">
-        <dia:point val="9.55,16.05"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="9.33125,16.0025;9.76875,16.0975"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#user space#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="9.55,16.0775"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O11">
-      <dia:attribute name="obj_pos">
-        <dia:point val="9.7,20.9"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="9.445,20.8525;9.955,20.9475"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#kernel space#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="9.7,20.9275"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O12">
-      <dia:attribute name="obj_pos">
-        <dia:point val="22.55,15.675"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="22,15.6275;23.1,15.7225"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#raw socket implementation#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="22.55,15.7025"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O6" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O13">
-      <dia:attribute name="obj_pos">
-        <dia:point val="0.2,19.25"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="-3.9625,18.7125;4.3625,19.7875"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#transport protocol#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="1.1528777441753277"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="0.2,19.57"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O14">
-      <dia:attribute name="obj_pos">
-        <dia:point val="30.825,21.56"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="30.82,21.555;40.93,23.715"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="30.825,21.56"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="10.100000000000001"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="2.1499999999999986"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O15">
-      <dia:attribute name="obj_pos">
-        <dia:point val="35.875,22.635"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="35.3,22.5875;36.45,22.6825"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#Linux kernel implementation#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="35.875,22.6625"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O14" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O16">
-      <dia:attribute name="obj_pos">
-        <dia:point val="27.75,14.6"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="27.745,14.595;33.155,16.755"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="27.75,14.6"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="5.3999999999999986"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="2.1499999999999986"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O17">
-      <dia:attribute name="obj_pos">
-        <dia:point val="30.45,15.675"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="30.1487,15.5775;30.7512,15.7725"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#piece (binmap)
-management#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="30.45,15.6525"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O16" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O18">
-      <dia:attribute name="obj_pos">
-        <dia:point val="41.125,21.51"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="41.12,21.505;46.53,23.665"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="41.125,21.51"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="5.3999999999999986"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="2.1499999999999986"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O19">
-      <dia:attribute name="obj_pos">
-        <dia:point val="43.825,22.585"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="43.5237,22.4875;44.1262,22.6825"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#piece (binmap)
-management#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="43.825,22.5625"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O18" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O20">
-      <dia:attribute name="obj_pos">
-        <dia:point val="22.5,3.15"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="22.495,3.145;27.255,5.105"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="22.5,3.15"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="4.75"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="1.9500000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O21">
-      <dia:attribute name="obj_pos">
-        <dia:point val="24.875,4.125"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="24.6062,4.0275;25.1438,4.2225"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#file
-management#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="24.875,4.1025"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O20" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O22">
-      <dia:attribute name="obj_pos">
-        <dia:point val="29.55,3.2"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="29.545,3.195;35.455,5.055"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="29.55,3.2"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="5.9000000000000021"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="1.8500000000000005"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O23">
-      <dia:attribute name="obj_pos">
-        <dia:point val="32.5,4.125"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="32.2313,4.0275;32.7688,4.2225"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#hash
-management#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="32.5,4.1025"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O22" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O24">
-      <dia:attribute name="obj_pos">
-        <dia:point val="42.45,5.1"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="42.445,5.095;49.555,7.755"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="42.45,5.1"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="7.1000000000000014"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="2.6500000000000004"/>
-      </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O25">
-      <dia:attribute name="obj_pos">
-        <dia:point val="46,6.425"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="45.7025,6.3775;46.2975,6.4725"/>
-      </dia:attribute>
-      <dia:attribute name="text">
-        <dia:composite type="text">
-          <dia:attribute name="string">
-            <dia:string>#peer discovery#</dia:string>
-          </dia:attribute>
-          <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
-          </dia:attribute>
-          <dia:attribute name="height">
-            <dia:real val="0.10000000149011612"/>
-          </dia:attribute>
-          <dia:attribute name="pos">
-            <dia:point val="46,6.4525"/>
-          </dia:attribute>
-          <dia:attribute name="color">
-            <dia:color val="#000000"/>
-          </dia:attribute>
-          <dia:attribute name="alignment">
-            <dia:enum val="1"/>
-          </dia:attribute>
-        </dia:composite>
-      </dia:attribute>
-      <dia:attribute name="valign">
-        <dia:enum val="2"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O24" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O26">
-      <dia:attribute name="obj_pos">
-        <dia:point val="50.2,9.45"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="49.7753,9.39977;50.5585,23.9104"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="50.2,9.45"/>
-        <dia:point val="50.1338,23.8602"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O27">
-      <dia:attribute name="obj_pos">
-        <dia:point val="30.1446,9.90438"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="30.1379,9.89777;35.419,21.566"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="30.1446,9.90438"/>
-        <dia:point val="35.3892,21.5558"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="line_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O7" connection="8"/>
-        <dia:connection handle="1" to="O14" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O28">
-      <dia:attribute name="obj_pos">
-        <dia:point val="42.6308,7.75401"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="25.2776,7.74752;42.6373,14.6511"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="42.6308,7.75401"/>
-        <dia:point val="25.288,14.595"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="line_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O24" connection="8"/>
-        <dia:connection handle="1" to="O6" connection="8"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O29">
-      <dia:attribute name="obj_pos">
-        <dia:point val="45.1691,7.75522"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="36.5417,7.74833;45.176,21.5661"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="45.1691,7.75522"/>
-        <dia:point val="36.5486,21.5566"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="line_width">
-        <dia:real val="0.010000000000000002"/>
-      </dia:attribute>
-      <dia:attribute name="line_style">
-        <dia:enum val="4"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O24" connection="8"/>
-        <dia:connection handle="1" to="O14" connection="8"/>
-      </dia:connections>
-    </dia:object>
-  </dia:layer>
-</dia:diagram>
diff --git a/doc/research2/img/recvdata.png b/doc/research2/img/recvdata.png
new file mode 100644 (file)
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 (file)
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 (file)
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 (file)
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 (file)
index 9ac289b..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">\r
-<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 App_Fin.svg Page-1 -->\r
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="8.26772in"\r
-               height="11.6929in" viewBox="0 0 595.276 841.89" xml:space="preserve" color-interpolation-filters="sRGB" class="st16">\r
-       <v:documentProperties v:langID="1033" v:viewMarkup="false">\r
-               <v:userDefs>\r
-                       <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>\r
-               </v:userDefs>\r
-       </v:documentProperties>\r
-\r
-       <style type="text/css">\r
-       <![CDATA[\r
-               .st1 {fill:#96afcf;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}\r
-               .st2 {fill:#ff0000;font-family:Arial;font-size:1.00001em}\r
-               .st3 {fill:#dde2cd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}\r
-               .st4 {fill:#ff0000;font-family:Calibri;font-size:1.00001em}\r
-               .st5 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}\r
-               .st6 {fill:#000000;font-family:Calibri;font-size:0.666664em}\r
-               .st7 {stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}\r
-               .st8 {font-size:1em}\r
-               .st9 {marker-end:url(#mrkr4-24);marker-start:url(#mrkr10-22);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}\r
-               .st10 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.08695652173913}\r
-               .st11 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}\r
-               .st12 {fill:#000000;font-family:Calibri;font-size:1.00001em}\r
-               .st13 {fill:#edcdcb;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}\r
-               .st14 {fill:#000000;font-family:Arial;font-size:0.666664em}\r
-               .st15 {fill:#f1eef4;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}\r
-               .st16 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}\r
-       ]]>\r
-       </style>\r
-\r
-       <defs id="Markers">\r
-               <g id="lend10">\r
-                       <path\r
-                                       d="M 0 0.75 C -0.414214 0.75 -0.75 0.414214 -0.75 -0 -0.75 -0.414214 -0.414214 -0.75 -0 -0.75 0.414214 -0.75 0.75 -0.414214 0.75 -0 0.75 0.414214 0.414214 0.75 0 0.75 Z "\r
-                                       style="stroke:none"/>\r
-               </g>\r
-               <marker id="mrkr10-22" class="st10" v:arrowType="10" v:arrowSize="2" v:setback="7.125" refX="7.125" orient="auto"\r
-                               markerUnits="strokeWidth">\r
-                       <use xlink:href="#lend10" transform="scale(11.5) "/>\r
-               </marker>\r
-               <g id="lend4">\r
-                       <path d="M 2 1 L -0 0 L 2 -1 L 2 1 " style="stroke:none"/>\r
-               </g>\r
-               <marker id="mrkr4-24" class="st10" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto"\r
-                               markerUnits="strokeWidth">\r
-                       <use xlink:href="#lend4" transform="scale(-11.5,-11.5) "/>\r
-               </marker>\r
-       </defs>\r
-       <g v:mID="0" v:index="1" v:groupContext="foregroundPage">\r
-               <title>Page-1</title>\r
-               <v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"\r
-                               v:shadowOffsetY="-8.50394"/>\r
-               <v:layer v:name="Annotations" v:index="0"/>\r
-               <g id="shape3-1" v:mID="3" v:groupContext="shape" transform="translate(138.898,-538.583)">\r
-                       <title>Rounded rectangle.3</title>\r
-                       <desc>Kernel Space</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="136.063" cy="778.11" width="272.13" height="127.559"/>\r
-                       <path d="M257.95 841.89 A14.1733 14.1733 -180 0 0 272.13 827.72 L272.13 728.5 A14.1733 14.1733 -180 0 0 257.95 714.33\r
-                                                L14.17 714.33 A14.1733 14.1733 -180 0 0 -0 728.5 L0 827.72 A14.1733 14.1733 -180 0 0 14.17 841.89 L257.95\r
-                                                841.89 Z" class="st1"/>\r
-                       <text x="4" y="781.71" class="st2" v:langID="1033"><v:paragraph/><v:tabList/>Kernel Space</text>                </g>\r
-               <g id="shape2-4" v:mID="2" v:groupContext="shape" transform="translate(141.732,-717.165)">\r
-                       <title>Rounded rectangle</title>\r
-                       <desc>User Space</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="134.646" cy="789.449" width="269.3" height="104.882"/>\r
-                       <path d="M255.12 841.89 A14.1733 14.1733 -180 0 0 269.29 827.72 L269.29 751.18 A14.1733 14.1733 -180 0 0 255.12 737.01\r
-                                                L14.17 737.01 A14.1733 14.1733 -180 0 0 0 751.18 L0 827.72 A14.1733 14.1733 -180 0 0 14.17 841.89 L255.12\r
-                                                841.89 Z" class="st3"/>\r
-                       <text x="4" y="793.05" class="st4" v:langID="1033"><v:paragraph/><v:tabList/>User Space</text>          </g>\r
-               <g id="shape1-7" v:mID="1" v:groupContext="shape" transform="translate(248.031,-425.197)">\r
-                       <title>Cloud</title>\r
-                       <desc>Internet</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(1,1,1,1)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="49.6063" cy="806.457" width="99.22" height="70.8661"/>\r
-                       <path d="M2.15 806.53 A4.11071 4.37684 0 0 1 3.55 798.49 A5.58712 5.94883 0 0 1 8.84 789.46 A6.41543 6.83077 0 0 1 17.91\r
-                                                781.74 A4.37825 4.6617 0 0 1 25.82 777.73 A4.80773 5.11898 0 0 1 34.27 775.06 A9.49887 10.1138 0 0 1 47.47\r
-                                                773.38 A2.83791 3.02163 0 0 1 53.02 773.47 A3.16289 2.80085 38.87 0 1 58.9 773.36 A2.88433 2.03141 9.83\r
-                                                0 1 63.97 775.06 A5.38682 3.78202 13.74 0 1 74.29 777.75 A3.32082 2.23215 138.75 0 1 77.96 780.35 A5.45372\r
-                                                5.80679 0 0 1 86.69 786.63 A6.04052 4.24731 12.33 0 1 90.22 792.02 A7.71029 5.44445 176.96 0 1 95.43 801\r
-                                                A4.4562 3.14752 0 0 1 96.09 806.53 A2.22409 2.36808 0 1 1 95.73 810.65 A4.78543 5.09524 0 0 1 92.59 819.09\r
-                                                A3.15768 2.6659 177.55 1 1 89.39 823.6 A6.41543 6.83077 0 0 1 80.32 831.33 A5.01636 3.54317 0 0 1 72.42\r
-                                                835.34 A3.98821 4.24641 0 0 1 64.78 837.63 A4.16392 3.38295 7.87 0 1 56.84 839.26 A3.9331 2.77804 0 0 1\r
-                                                49.12 839.71 A5.03056 3.5532 0 0 1 39.54 839.01 A4.596 3.22656 14.33 0 1 31.51 835.56 A3.98256 2.41128 11.15\r
-                                                1 1 24.43 833.04 A4.70418 5.00874 0 0 1 17.81 827.27 A6.42064 6.83632 0 0 1 9.98 827.27 A11.2897 7.95527\r
-                                                8.91 0 1 5.65 819.09 A4.44141 4.72895 0 0 1 1.58 810.93 A4.37974 3.07437 14.02 0 1 2.15 806.53 Z"\r
-                                       class="st5"/>\r
-                       <text x="36.34" y="808.86" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Internet</text>               </g>\r
-               <g id="shape6-10" v:mID="6" v:groupContext="shape" transform="translate(1097.01,107.717) rotate(90)">\r
-                       <title>Data store</title>\r
-                       <desc>Swift Socket (Data transfer)</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(1,1,1,1)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="41.1024" cy="827.717" width="82.21" height="28.3465"/>\r
-                       <path d="M0 841.89 L82.2 841.89" class="st7"/>\r
-                       <path d="M0 813.54 L82.2 813.54" class="st7"/>\r
-                       <text x="21.24" y="825.32" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Swift Socket<v:newlineChar/><tspan\r
-                                               x="17.22" dy="1.2em" class="st8">(</tspan>Data transfer)</text>         </g>\r
-               <g id="shape10-16" v:mID="10" v:groupContext="shape" transform="translate(481.803,1024.39) rotate(165.379)">\r
-                       <title>Pointer (1-D)</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L28.17 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape11-25" v:mID="11" v:groupContext="shape" transform="translate(1078.58,238.11) rotate(90)">\r
-                       <title>Pointer (1-D).11</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L2.98 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape12-32" v:mID="12" v:groupContext="shape" transform="translate(777.133,-350.722) rotate(39.9364)">\r
-                       <title>Pointer (1-D).12</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L73.96 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape13-39" v:mID="13" v:groupContext="shape" transform="translate(1078.58,266.457) rotate(90)">\r
-                       <title>Pointer (1-D).13</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L2.98 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape14-46" v:mID="14" v:groupContext="shape" transform="translate(1193.39,107.717) rotate(90)">\r
-                       <title>Data store.14</title>\r
-                       <desc>UDP Socket (Information update)</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(1,1,1,1)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="41.1024" cy="827.717" width="82.21" height="28.3465"/>\r
-                       <path d="M0 841.89 L82.2 841.89" class="st7"/>\r
-                       <path d="M0 813.54 L82.2 813.54" class="st7"/>\r
-                       <text x="22.32" y="825.32" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>UDP Socket<v:newlineChar/><tspan\r
-                                               x="6.81" dy="1.2em" class="st8">(</tspan>Information update)</text>             </g>\r
-               <g id="shape19-52" v:mID="19" v:groupContext="shape" transform="translate(1206.14,209.764) rotate(90)">\r
-                       <title>Pointer (1-D).19</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L2.98 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape20-59" v:mID="20" v:groupContext="shape" transform="translate(1206.14,238.11) rotate(90)">\r
-                       <title>Pointer (1-D).20</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L2.98 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape21-66" v:mID="21" v:groupContext="shape" transform="translate(1206.14,266.457) rotate(90)">\r
-                       <title>Pointer (1-D).21</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L2.98 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape22-73" v:mID="22" v:groupContext="shape" transform="translate(876.186,963.161) rotate(142.549)">\r
-                       <title>Pointer (1-D).22</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L78.39 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape27-80" v:mID="27" v:groupContext="shape" transform="translate(1145.2,266.457) rotate(90)">\r
-                       <title>Pointer (1-D).27</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L2.98 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape28-87" v:mID="28" v:groupContext="shape" transform="translate(1143.78,238.11) rotate(90)">\r
-                       <title>Pointer (1-D).28</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L2.98 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape29-94" v:mID="29" v:groupContext="shape" transform="translate(481.803,-604.863) rotate(14.6209)">\r
-                       <title>Pointer (1-D).29</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L28.17 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape30-101" v:mID="30" v:groupContext="shape" v:layerMember="0" transform="translate(262.205,-602.362)">\r
-                       <title>12pt. text</title>\r
-                       <desc>…</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>\r
-                               <v:ud v:nameU="AutoWidth" v:val="VT0(0.19685039370079):24"/>\r
-                               <v:ud v:nameU="WidthIncrement" v:val="VT0(0.098425196850394):24"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="7.08661" cy="834.803" width="14.18" height="14.1732"/>\r
-                       <rect x="0" y="827.717" width="14.1732" height="14.1732" class="st11"/>\r
-                       <text x="2.94" y="838.4" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>…</text>             </g>\r
-               <g id="shape32-104" v:mID="32" v:groupContext="shape" v:layerMember="0" transform="translate(262.205,-574.016)">\r
-                       <title>12pt. text.32</title>\r
-                       <desc>…</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>\r
-                               <v:ud v:nameU="AutoWidth" v:val="VT0(0.19685039370079):24"/>\r
-                               <v:ud v:nameU="WidthIncrement" v:val="VT0(0.098425196850394):24"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="7.08661" cy="834.803" width="14.18" height="14.1732"/>\r
-                       <rect x="0" y="827.717" width="14.1732" height="14.1732" class="st11"/>\r
-                       <text x="2.94" y="838.4" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>…</text>             </g>\r
-               <g id="shape33-107" v:mID="33" v:groupContext="shape" transform="translate(1140.87,364.718) rotate(94.7636)">\r
-                       <title>Pointer (1-D).33</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L45.68 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape31-114" v:mID="31" v:groupContext="shape" v:layerMember="0" transform="translate(262.205,-545.669)">\r
-                       <title>12pt. text.31</title>\r
-                       <desc>…</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>\r
-                               <v:ud v:nameU="AutoWidth" v:val="VT0(0.19685039370079):24"/>\r
-                               <v:ud v:nameU="WidthIncrement" v:val="VT0(0.098425196850394):24"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="7.08661" cy="834.803" width="14.18" height="14.1732"/>\r
-                       <rect x="0" y="827.717" width="14.1732" height="14.1732" class="st11"/>\r
-                       <text x="2.94" y="838.4" class="st12" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>…</text>             </g>\r
-               <g id="shape34-117" v:mID="34" v:groupContext="shape" transform="translate(218.268,-734.173)">\r
-                       <title>Rounded rectangle.34</title>\r
-                       <desc>Swift Library</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="89.2913" cy="826.299" width="178.59" height="31.1811"/>\r
-                       <path d="M164.41 841.89 A14.1733 14.1733 -180 0 0 178.58 827.72 L178.58 824.88 A14.1733 14.1733 -180 0 0 164.41 810.71\r
-                                                L14.17 810.71 A14.1733 14.1733 -180 0 0 0 824.88 L0 827.72 A14.1733 14.1733 -180 0 0 14.17 841.89 L164.41\r
-                                                841.89 Z" class="st13"/>\r
-                       <text x="67.29" y="828.7" class="st14" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Swift Library</text>          </g>\r
-               <g id="shape23-120" v:mID="23" v:groupContext="shape" transform="translate(218.268,-779.528)">\r
-                       <title>Rounded rectangle.23</title>\r
-                       <desc>Application which uses SWIFT Library</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="89.2913" cy="826.299" width="178.59" height="31.1811"/>\r
-                       <path d="M164.41 841.89 A14.1733 14.1733 -180 0 0 178.58 827.72 L178.58 824.88 A14.1733 14.1733 -180 0 0 164.41 810.71\r
-                                                L14.17 810.71 A14.1733 14.1733 -180 0 0 0 824.88 L0 827.72 A14.1733 14.1733 -180 0 0 14.17 841.89 L164.41\r
-                                                841.89 Z" class="st15"/>\r
-                       <text x="28.94" y="828.7" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Application which uses SWIFT Library</text>            </g>\r
-               <g id="shape35-123" v:mID="35" v:groupContext="shape" transform="translate(1149.45,62.3622) rotate(90)">\r
-                       <title>Pointer (1-D).35</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M1.71 841.89 L2.07 841.89 L8.65 841.89" class="st9"/>\r
-               </g>\r
-               <g id="shape36-130" v:mID="36" v:groupContext="shape" transform="translate(212.598,-632.126)">\r
-                       <title>Rounded rectangle.36</title>\r
-                       <desc>Swift Transport Layer</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="56.6929" cy="831.969" width="113.39" height="19.8425"/>\r
-                       <path d="M103.46 841.89 A9.92134 9.92134 -180 0 0 113.39 831.97 A9.92134 9.92134 -180 0 0 103.46 822.05 L9.92 822.05\r
-                                                A9.92134 9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L103.46 841.89 Z" class="st15"/>\r
-                       <text x="48.52" y="829.57" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Swift <v:newlineChar/><tspan\r
-                                               x="31.12" dy="1.2em" class="st8">Transport Layer </tspan> </text>               </g>\r
-               <g id="shape37-134" v:mID="37" v:groupContext="shape" transform="translate(212.598,-603.78)">\r
-                       <title>Rounded rectangle.37</title>\r
-                       <desc>IP 1</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="24.0945" cy="831.969" width="48.19" height="19.8425"/>\r
-                       <path d="M38.27 841.89 A9.92134 9.92134 -180 0 0 48.19 831.97 A9.92134 9.92134 -180 0 0 38.27 822.05 L9.92 822.05 A9.92134\r
-                                                9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L38.27 841.89 Z" class="st15"/>\r
-                       <text x="18.09" y="834.37" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>IP 1</text>           </g>\r
-               <g id="shape38-137" v:mID="38" v:groupContext="shape" transform="translate(212.598,-547.087)">\r
-                       <title>Rounded rectangle.38</title>\r
-                       <desc>Physical Layer 1</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="24.0945" cy="831.969" width="48.19" height="19.8425"/>\r
-                       <path d="M38.27 841.89 A9.92134 9.92134 -180 0 0 48.19 831.97 A9.92134 9.92134 -180 0 0 38.27 822.05 L9.92 822.05 A9.92134\r
-                                                9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L38.27 841.89 Z" class="st15"/>\r
-                       <text x="11.11" y="829.57" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Physical <tspan\r
-                                               x="12.37" dy="1.2em" class="st8">Layer </tspan>1</text>         </g>\r
-               <g id="shape39-141" v:mID="39" v:groupContext="shape" transform="translate(212.598,-575.433)">\r
-                       <title>Rounded rectangle.39</title>\r
-                       <desc>Data Link 1</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="24.0945" cy="831.969" width="48.19" height="19.8425"/>\r
-                       <path d="M38.27 841.89 A9.92134 9.92134 -180 0 0 48.19 831.97 A9.92134 9.92134 -180 0 0 38.27 822.05 L9.92 822.05 A9.92134\r
-                                                9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L38.27 841.89 Z" class="st15"/>\r
-                       <text x="6.11" y="834.37" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Data Link 1</text>             </g>\r
-               <g id="shape7-144" v:mID="7" v:groupContext="shape" transform="translate(277.795,-575.433)">\r
-                       <title>Rounded rectangle.7</title>\r
-                       <desc>Data Link N</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="24.0945" cy="831.969" width="48.19" height="19.8425"/>\r
-                       <path d="M38.27 841.89 A9.92134 9.92134 -180 0 0 48.19 831.97 A9.92134 9.92134 -180 0 0 38.27 822.05 L9.92 822.05 A9.92134\r
-                                                9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L38.27 841.89 Z" class="st15"/>\r
-                       <text x="5.55" y="834.37" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Data Link N</text>             </g>\r
-               <g id="shape8-147" v:mID="8" v:groupContext="shape" transform="translate(277.795,-603.78)">\r
-                       <title>Rounded rectangle.8</title>\r
-                       <desc>IP N</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="24.0945" cy="831.969" width="48.19" height="19.8425"/>\r
-                       <path d="M38.27 841.89 A9.92134 9.92134 -180 0 0 48.19 831.97 A9.92134 9.92134 -180 0 0 38.27 822.05 L9.92 822.05 A9.92134\r
-                                                9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L38.27 841.89 Z" class="st15"/>\r
-                       <text x="17.53" y="834.37" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>IP N</text>           </g>\r
-               <g id="shape9-150" v:mID="9" v:groupContext="shape" transform="translate(277.795,-547.087)">\r
-                       <title>Rounded rectangle.9</title>\r
-                       <desc>Physical Layer 1</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="24.0945" cy="831.969" width="48.19" height="19.8425"/>\r
-                       <path d="M38.27 841.89 A9.92134 9.92134 -180 0 0 48.19 831.97 A9.92134 9.92134 -180 0 0 38.27 822.05 L9.92 822.05 A9.92134\r
-                                                9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L38.27 841.89 Z" class="st15"/>\r
-                       <text x="11.11" y="829.57" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Physical <tspan\r
-                                               x="12.37" dy="1.2em" class="st8">Layer </tspan>1</text>         </g>\r
-               <g id="shape5-154" v:mID="5" v:groupContext="shape" transform="translate(331.654,-632.126)">\r
-                       <title>Rounded rectangle.5</title>\r
-                       <desc>UDP Transport Layer</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="32.5984" cy="831.969" width="65.2" height="19.8425"/>\r
-                       <path d="M55.28 841.89 A9.92134 9.92134 -180 0 0 65.2 831.97 A9.92134 9.92134 -180 0 0 55.28 822.05 L9.92 822.05 A9.92134\r
-                                                9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L55.28 841.89 Z" class="st15"/>\r
-                       <text x="25.5" y="829.57" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>UDP <v:newlineChar/><tspan\r
-                                               x="7.03" dy="1.2em" class="st8">Transport Layer </tspan> </text>                </g>\r
-               <g id="shape15-158" v:mID="15" v:groupContext="shape" transform="translate(331.654,-575.433)">\r
-                       <title>Rounded rectangle.15</title>\r
-                       <desc>Data Link</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="32.5984" cy="831.969" width="65.2" height="19.8425"/>\r
-                       <path d="M55.28 841.89 A9.92134 9.92134 -180 0 0 65.2 831.97 A9.92134 9.92134 -180 0 0 55.28 822.05 L9.92 822.05 A9.92134\r
-                                                9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L55.28 841.89 Z" class="st15"/>\r
-                       <text x="17.54" y="834.37" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Data Link</text>              </g>\r
-               <g id="shape24-161" v:mID="24" v:groupContext="shape" transform="translate(331.654,-603.78)">\r
-                       <title>Rounded rectangle.24</title>\r
-                       <desc>IP</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="32.5984" cy="831.969" width="65.2" height="19.8425"/>\r
-                       <path d="M55.28 841.89 A9.92134 9.92134 -180 0 0 65.2 831.97 A9.92134 9.92134 -180 0 0 55.28 822.05 L9.92 822.05 A9.92134\r
-                                                9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L55.28 841.89 Z" class="st15"/>\r
-                       <text x="29.52" y="834.37" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>IP</text>             </g>\r
-               <g id="shape16-164" v:mID="16" v:groupContext="shape" transform="translate(331.654,-547.087)">\r
-                       <title>Rounded rectangle.16</title>\r
-                       <desc>Physical Layer</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(4,4,4,4)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="32.5984" cy="831.969" width="65.2" height="19.8425"/>\r
-                       <path d="M55.28 841.89 A9.92134 9.92134 -180 0 0 65.2 831.97 A9.92134 9.92134 -180 0 0 55.28 822.05 L9.92 822.05 A9.92134\r
-                                                9.92134 -180 0 0 0 831.97 A9.92134 9.92134 -180 0 0 9.92 841.89 L55.28 841.89 Z" class="st15"/>\r
-                       <text x="9.92" y="834.37" class="st6" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Physical Layer</text>          </g>\r
-       </g>\r
-</svg>\r
diff --git a/doc/research2/img/untitled folder/RD.png b/doc/research2/img/untitled folder/RD.png
deleted file mode 100644 (file)
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 (file)
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 (file)
index 2a076eb..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">\r
-<!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 RD.svg Page-1 -->\r
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="8.26772in"\r
-               height="11.6929in" viewBox="0 0 595.276 841.89" xml:space="preserve" color-interpolation-filters="sRGB" class="st8">\r
-       <v:documentProperties v:langID="1033" v:viewMarkup="false">\r
-               <v:userDefs>\r
-                       <v:ud v:nameU="msvNoAutoConnect" v:val="VT0(1):26"/>\r
-               </v:userDefs>\r
-       </v:documentProperties>\r
-\r
-       <style type="text/css">\r
-       <![CDATA[\r
-               .st1 {fill:#ffffff;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}\r
-               .st2 {fill:#000000;font-family:Arial;font-size:0.666664em}\r
-               .st3 {font-size:1em}\r
-               .st4 {marker-end:url(#mrkr4-14);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24}\r
-               .st5 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.08695652173913}\r
-               .st6 {fill:none;stroke:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.72}\r
-               .st7 {fill:#000000;font-family:Arial;font-size:1.00001em}\r
-               .st8 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}\r
-       ]]>\r
-       </style>\r
-\r
-       <defs id="Markers">\r
-               <g id="lend4">\r
-                       <path d="M 2 1 L -0 0 L 2 -1 L 2 1 " style="stroke:none"/>\r
-               </g>\r
-               <marker id="mrkr4-14" class="st5" v:arrowType="4" v:arrowSize="2" v:setback="23" refX="-23" orient="auto"\r
-                               markerUnits="strokeWidth">\r
-                       <use xlink:href="#lend4" transform="scale(-11.5,-11.5) "/>\r
-               </marker>\r
-       </defs>\r
-       <g v:mID="0" v:index="1" v:groupContext="foregroundPage">\r
-               <title>Page-1</title>\r
-               <v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394"\r
-                               v:shadowOffsetY="-8.50394"/>\r
-               <v:layer v:name="Annotations" v:index="0"/>\r
-               <g id="shape1-1" v:mID="1" v:groupContext="shape" transform="translate(56.6929,-651.969)">\r
-                       <title>Function / subroutine</title>\r
-                       <desc>Swift Application</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(1,1,1,1)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="21.2598" cy="820.63" width="42.52" height="42.5197"/>\r
-                       <rect x="0" y="799.37" width="42.5197" height="42.5197" class="st1"/>\r
-                       <text x="12.59" y="818.23" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Swift <tspan x="1.69"\r
-                                               dy="1.2em" class="st3">Application</tspan></text>               </g>\r
-               <g id="shape2-5" v:mID="2" v:groupContext="shape" transform="translate(134.646,-651.969)">\r
-                       <title>Function / subroutine.2</title>\r
-                       <desc>Swift Library</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(1,1,1,1)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="20.5512" cy="820.63" width="41.11" height="42.5197"/>\r
-                       <rect x="0" y="799.37" width="41.1024" height="42.5197" class="st1"/>\r
-                       <text x="11.88" y="818.23" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Swift <tspan x="8.32"\r
-                                               dy="1.2em" class="st3">Library</tspan></text>           </g>\r
-               <g id="shape3-9" v:mID="3" v:groupContext="shape" transform="translate(99.2126,-683.858)">\r
-                       <title>Invocation</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="CH" v:val="VT0(5):26"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M0 841.89 L29.91 841.89" class="st4"/>\r
-               </g>\r
-               <g id="shape4-15" v:mID="4" v:groupContext="shape" transform="translate(134.646,1021.18) rotate(180)">\r
-                       <title>Invocation.4</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="CH" v:val="VT0(5):26"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M0 841.89 L29.91 841.89" class="st4"/>\r
-               </g>\r
-               <g id="shape5-20" v:mID="5" v:groupContext="shape" transform="translate(216.142,-651.969)">\r
-                       <title>Function / subroutine.5</title>\r
-                       <desc>Kernel Space</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(1,1,1,1)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="22.3228" cy="820.63" width="44.65" height="42.5197"/>\r
-                       <rect x="0" y="799.37" width="44.6457" height="42.5197" class="st1"/>\r
-                       <text x="10.76" y="818.23" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Kernel <tspan\r
-                                               x="10.98" dy="1.2em" class="st3">Space</tspan></text>           </g>\r
-               <g id="shape6-24" v:mID="6" v:groupContext="shape" transform="translate(297.638,-694.488)">\r
-                       <title>Function / subroutine.6</title>\r
-                       <desc>Kernel Space 1</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(1,1,1,1)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="21.2598" cy="820.63" width="42.52" height="42.5197"/>\r
-                       <rect x="0" y="799.37" width="42.5197" height="42.5197" class="st1"/>\r
-                       <text x="9.7" y="818.23" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Kernel <tspan x="6.58"\r
-                                               dy="1.2em" class="st3">Space </tspan>1</text>           </g>\r
-               <g id="shape7-28" v:mID="7" v:groupContext="shape" transform="translate(-375.42,-393.348) rotate(-49.0856)">\r
-                       <title>Invocation.7</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="CH" v:val="VT0(5):26"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M0 841.89 L50.75 841.89" class="st4"/>\r
-               </g>\r
-               <g id="shape8-33" v:mID="8" v:groupContext="shape" transform="translate(933.845,677.521) rotate(130.914)">\r
-                       <title>Invocation.8</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="CH" v:val="VT0(5):26"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M0 841.89 L50.75 841.89" class="st4"/>\r
-               </g>\r
-               <g id="shape9-38" v:mID="9" v:groupContext="shape" transform="translate(297.638,-623.622)">\r
-                       <title>Function / subroutine.9</title>\r
-                       <desc>Kernel Space N</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(1,1,1,1)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="21.2598" cy="820.63" width="42.52" height="42.5197"/>\r
-                       <rect x="0" y="799.37" width="42.5197" height="42.5197" class="st1"/>\r
-                       <text x="9.7" y="818.23" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Kernel <tspan x="5.92"\r
-                                               dy="1.2em" class="st3">Space N</tspan></text>           </g>\r
-               <g id="shape13-42" v:mID="13" v:groupContext="shape" transform="translate(774.097,-498.641) rotate(37.5686)">\r
-                       <title>Invocation.13</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="CH" v:val="VT0(5):26"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M0 841.89 L40.97 841.89" class="st4"/>\r
-               </g>\r
-               <g id="shape15-47" v:mID="15" v:groupContext="shape" v:layerMember="0" transform="translate(99.2126,-687.402)">\r
-                       <title>12pt. text</title>\r
-                       <desc>Request</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>\r
-                               <v:ud v:nameU="AutoWidth" v:val="VT0(0.49212598425197):24"/>\r
-                               <v:ud v:nameU="WidthIncrement" v:val="VT0(0.098425196850394):24"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="17.7165" cy="834.803" width="35.44" height="14.1732"/>\r
-                       <rect x="0" y="827.717" width="35.4331" height="14.1732" class="st6"/>\r
-                       <text x="2.82" y="837.2" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Request</text>          </g>\r
-               <g id="shape16-50" v:mID="16" v:groupContext="shape" v:layerMember="0" transform="translate(177.165,-687.402)">\r
-                       <title>12pt. text.16</title>\r
-                       <desc>SysCall</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>\r
-                               <v:ud v:nameU="AutoWidth" v:val="VT0(0.49212598425197):24"/>\r
-                               <v:ud v:nameU="WidthIncrement" v:val="VT0(0.098425196850394):24"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="17.7165" cy="834.803" width="35.44" height="14.1732"/>\r
-                       <rect x="0" y="827.717" width="35.4331" height="14.1732" class="st6"/>\r
-                       <text x="4.16" y="837.2" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>SysCall</text>          </g>\r
-               <g id="shape17-53" v:mID="17" v:groupContext="shape" v:layerMember="0" transform="translate(291.26,-673.228)">\r
-                       <title>12pt. text.17</title>\r
-                       <desc>………..</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>\r
-                               <v:ud v:nameU="AutoWidth" v:val="VT0(0.68897637795276):24"/>\r
-                               <v:ud v:nameU="WidthIncrement" v:val="VT0(0.098425196850394):24"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="29.0551" cy="834.803" width="58.12" height="14.1732"/>\r
-                       <rect x="0" y="827.717" width="58.1102" height="14.1732" class="st6"/>\r
-                       <text x="7.72" y="838.4" class="st7" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>………..</text>              </g>\r
-               <g id="shape18-56" v:mID="18" v:groupContext="shape" transform="translate(175.748,-683.858)">\r
-                       <title>Invocation.18</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="CH" v:val="VT0(5):26"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M0 841.89 L34.87 841.89" class="st4"/>\r
-               </g>\r
-               <g id="shape19-61" v:mID="19" v:groupContext="shape" transform="translate(216.142,1021.18) rotate(180)">\r
-                       <title>Invocation.19</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="CH" v:val="VT0(5):26"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M0 841.89 L34.87 841.89" class="st4"/>\r
-               </g>\r
-               <g id="shape20-66" v:mID="20" v:groupContext="shape" v:layerMember="0" transform="translate(240.945,-722.835)">\r
-                       <title>12pt. text.20</title>\r
-                       <desc>Network communication</desc>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="AntiScale" v:val="VT0(1):26"/>\r
-                               <v:ud v:nameU="AutoWidth" v:val="VT0(0.78740157480315):24"/>\r
-                               <v:ud v:nameU="WidthIncrement" v:val="VT0(0.098425196850394):24"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <v:textBlock v:margins="rect(0,0,0,0)" v:tabSpace="42.5197"/>\r
-                       <v:textRect cx="28.3465" cy="834.803" width="56.7" height="14.1732"/>\r
-                       <rect x="0" y="827.717" width="56.6929" height="14.1732" class="st6"/>\r
-                       <text x="13.68" y="832.4" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>Network <v:newlineChar/><tspan\r
-                                               x="1.45" dy="1.2em" class="st3">communication</tspan></text>            </g>\r
-               <g id="shape10-70" v:mID="10" v:groupContext="shape" transform="translate(-215.671,874.94) rotate(-142.431)">\r
-                       <title>Invocation.10</title>\r
-                       <v:userDefs>\r
-                               <v:ud v:nameU="CH" v:val="VT0(5):26"/>\r
-                               <v:ud v:nameU="visVersion" v:val="VT0(12):26"/>\r
-                       </v:userDefs>\r
-                       <path d="M0 841.89 L40.97 841.89" class="st4"/>\r
-               </g>\r
-       </g>\r
-</svg>\r
index 1e16e6e..1066eb4 100644 (file)
@@ -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}
index a2f3903..4e774f6 100644 (file)
@@ -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
index e8950dd..10aeb53 100644 (file)
@@ -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