]> git.mxchange.org Git - hub-docs.git/blob - mindmaps/Generic Object Sharing Protocol.mm
Dash added
[hub-docs.git] / mindmaps / Generic Object Sharing Protocol.mm
1 <map version="0.8.1">
2 <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
3 <node CREATED="1236122299751" ID="Freemind_Link_1069566441" MODIFIED="1236902424887" TEXT="Generic Object-Sharing Protocol">
4 <font BOLD="true" NAME="Dialog" SIZE="20"/>
5 <node CREATED="1236123417491" FOLDED="true" ID="Freemind_Link_1660540085" MODIFIED="1236899597347" POSITION="right" TEXT="Hub Identification">
6 <font BOLD="true" NAME="Dialog" SIZE="16"/>
7 <node CREATED="1236124236611" ID="Freemind_Link_780558731" MODIFIED="1236124257084" TEXT="Every hub generates an id string by random">
8 <node CREATED="1236124483890" ID="Freemind_Link_1498010716" MODIFIED="1236124589043" TEXT="This is the Hub-Id (Hub Identifier)"/>
9 <node CREATED="1236124257580" ID="Freemind_Link_458280781" MODIFIED="1236124263937" TEXT="Only on first use"/>
10 <node CREATED="1236124265079" ID="Freemind_Link_698958541" MODIFIED="1236124280179" TEXT="This should be globally unique"/>
11 <node CREATED="1236124280846" ID="Freemind_Link_1564511533" MODIFIED="1236124294759" TEXT="It will be stored in hub&apos;s database for later reuse"/>
12 <node CREATED="1236124347351" ID="Freemind_Link_982080681" MODIFIED="1236124368097" TEXT="A hash is being generated of it">
13 <node CREATED="1236124368566" ID="Freemind_Link_177707740" MODIFIED="1236124377872" TEXT="Hashed data:">
14 <node CREATED="1236124379303" ID="Freemind_Link_1317863864" MODIFIED="1236124418199" TEXT="Hub&apos;s IP number and hostname"/>
15 <node CREATED="1236124387791" ID="Freemind_Link_1030355543" MODIFIED="1236124397985" TEXT="Some random characters"/>
16 </node>
17 </node>
18 <node CREATED="1236124430078" ID="Freemind_Link_1022876700" MODIFIED="1236124456692" TEXT="This id does not change as long as the database is not purged"/>
19 </node>
20 <node CREATED="1236124463032" ID="Freemind_Link_1712131488" MODIFIED="1236124472608" TEXT="Per session another id is generated">
21 <node CREATED="1236124474040" ID="Freemind_Link_439993942" MODIFIED="1236124511110" TEXT="This is the SID (Session IDentifier)"/>
22 <node CREATED="1236124545181" ID="Freemind_Link_1215594894" MODIFIED="1236124553563" TEXT="It is being distributed to the hubs"/>
23 <node CREATED="1236124613215" ID="Freemind_Link_1633651159" MODIFIED="1236124623514" TEXT="It stored together with the Hub-Id">
24 <node CREATED="1236124625776" ID="Freemind_Link_651452439" MODIFIED="1236124638851" TEXT="So other can validate bother together"/>
25 </node>
26 <node CREATED="1236124646273" ID="Freemind_Link_789902518" MODIFIED="1236124677328" TEXT="Logging should only enabled for debugging purposes">
27 <icon BUILTIN="messagebox_warning"/>
28 </node>
29 </node>
30 <node CREATED="1236124693242" ID="Freemind_Link_902328932" MODIFIED="1236124765100" TEXT="Locking IPs or Hub-Ids on master-nodes is not planed">
31 <node CREATED="1236124770510" ID="Freemind_Link_1592412776" MODIFIED="1236124780694" TEXT="Censorship would be to very easy">
32 <node CREATED="1236124781013" ID="Freemind_Link_423578439" MODIFIED="1236124872658" TEXT="Government agencies or enterprise parties"/>
33 </node>
34 <node CREATED="1236124882253" ID="Freemind_Link_84092519" MODIFIED="1236124903288" TEXT="Censhorship makes no sence here">
35 <node CREATED="1236124904844" ID="Freemind_Link_514458550" MODIFIED="1236124918893" TEXT="It can very easy be bypassed:"/>
36 <node CREATED="1236124919421" ID="Freemind_Link_1221678941" MODIFIED="1236124938847" TEXT="Delete Hub-Id in database">
37 <node CREATED="1236124939605" ID="Freemind_Link_904836052" MODIFIED="1236124945027" TEXT="A new one got generated"/>
38 </node>
39 <node CREATED="1236124945999" ID="Freemind_Link_1262635656" MODIFIED="1236124992323" TEXT="Locked IP or port number can be bypassed by proxies"/>
40 <node CREATED="1236125001603" ID="Freemind_Link_1619827292" MODIFIED="1236125026247" TEXT="One or two master-hubs should listen on ports commonly unblocked by firewalls">
41 <node CREATED="1236125029121" ID="Freemind_Link_709609072" MODIFIED="1236125034518" TEXT="Like 80/443/110/25"/>
42 </node>
43 </node>
44 </node>
45 <node CREATED="1236125070021" ID="Freemind_Link_441713513" MODIFIED="1236125081500" TEXT="Hubs can be optionally registered by master-nodes">
46 <node CREATED="1236125088538" ID="Freemind_Link_1200999421" MODIFIED="1236125107221" TEXT="Increases karma because the hub admin is verified"/>
47 <node CREATED="1236125114584" ID="Freemind_Link_1617168424" MODIFIED="1236125131976" TEXT="Unregistered hubs does not receive negative votings"/>
48 </node>
49 </node>
50 <node CREATED="1236126779348" FOLDED="true" ID="Freemind_Link_1339348415" MODIFIED="1236899597346" POSITION="right" TEXT="Bootstrapping">
51 <font BOLD="true" NAME="Dialog" SIZE="16"/>
52 <node CREATED="1236126838827" ID="Freemind_Link_453620216" MODIFIED="1236126858610" TEXT="At least one, better 3 to 4, master-nodes are required">
53 <node CREATED="1236126861889" ID="Freemind_Link_265648584" MODIFIED="1236126877833" TEXT="Aka. &quot;Bootstrap-Nodes&quot;"/>
54 </node>
55 <node CREATED="1236126921639" ID="Freemind_Link_854375254" MODIFIED="1236126946151" TEXT="Bootstrap-Nodes are working stand-alone">
56 <node CREATED="1236126947723" ID="Freemind_Link_882684293" MODIFIED="1236126962499" TEXT="No central &quot;Super-Node&quot; is required"/>
57 <node CREATED="1236126965866" ID="Freemind_Link_1661888163" MODIFIED="1236126982695" TEXT="Too much traffic would have to flow through it"/>
58 <node CREATED="1236127003403" ID="Freemind_Link_1121780060" MODIFIED="1236127025469" TEXT="Attacks on the network by censorship are reduced"/>
59 <node CREATED="1236127332394" ID="Freemind_Link_924004535" MODIFIED="1236127411770" TEXT="Traffic does not increase network-overall load"/>
60 <node CREATED="1236127431176" ID="Freemind_Link_1573570415" MODIFIED="1236127439863" TEXT="Small disadvantage:">
61 <node CREATED="1236127454917" ID="Freemind_Link_1018217993" MODIFIED="1236127479717" TEXT="Hubs must register with ..."/>
62 <node CREATED="1236127466818" ID="Freemind_Link_665965725" MODIFIED="1236127476905" TEXT="... more than one master-node ..."/>
63 <node CREATED="1236127480391" ID="Freemind_Link_1849172644" MODIFIED="1236127490538" TEXT=".. or connect with each other"/>
64 </node>
65 </node>
66 <node CREATED="1236127732643" ID="Freemind_Link_608191462" MODIFIED="1236127747508" TEXT="Hub is fetching a list of other hubs">
67 <node CREATED="1236127749005" ID="Freemind_Link_195277951" MODIFIED="1236127763644" TEXT="They must have at least X matching object types"/>
68 <node CREATED="1236127559361" ID="Freemind_Link_453619955" MODIFIED="1236127593404" TEXT="Hashes of hub-lists should match"/>
69 <node CREATED="1236127598383" ID="Freemind_Link_574241054" MODIFIED="1236127616425" TEXT="If to much are inconsistent:">
70 <node CREATED="1236127617853" ID="Freemind_Link_1253336655" MODIFIED="1236127632709" TEXT="No connect can happen">
71 <node CREATED="1236127634178" ID="Freemind_Link_1412643595" MODIFIED="1236127642167" TEXT="Hub list is rejected"/>
72 </node>
73 <node CREATED="1236127643409" ID="Freemind_Link_1181650485" MODIFIED="1236127660181" TEXT="Or the bootstrap-nodes are working as regular hubs"/>
74 <node CREATED="1236127660613" ID="Freemind_Link_1134140787" MODIFIED="1236127715377" TEXT="Replication of the hub-list is required by all bootstrap-nodes"/>
75 </node>
76 </node>
77 </node>
78 <node CREATED="1236122378771" FOLDED="true" ID="_" MODIFIED="1236899597333" POSITION="right" TEXT="Karma">
79 <font BOLD="true" NAME="Dialog" SIZE="16"/>
80 <node CREATED="1236122492566" ID="Freemind_Link_1190748575" MODIFIED="1236122514559" TEXT="Karma is given for validating entries in the DHT">
81 <node CREATED="1236122431646" ID="Freemind_Link_29494292" MODIFIED="1236122473199" TEXT="Last activity in near past">
82 <node CREATED="1236122473708" ID="Freemind_Link_254202732" MODIFIED="1236122479111" TEXT="Does not affect karma"/>
83 </node>
84 <node CREATED="1236122544359" ID="Freemind_Link_210971136" MODIFIED="1236122548222" TEXT="Returned pings">
85 <node CREATED="1236122549203" ID="Freemind_Link_1680521907" MODIFIED="1236122582927" TEXT="Amount of sent pings">
86 <node CREATED="1236122583437" ID="Freemind_Link_689172908" MODIFIED="1236122605188" TEXT="If no reply it got dead-listed"/>
87 </node>
88 <node CREATED="1236122613591" ID="Freemind_Link_612939095" MODIFIED="1236122684314" TEXT="Failed pings reduce karma"/>
89 <node CREATED="1236122659986" ID="Freemind_Link_45314722" MODIFIED="1236122681829" TEXT="Slow responses reduce karma"/>
90 </node>
91 <node CREATED="1236122692603" ID="Freemind_Link_538248067" MODIFIED="1236122712165" TEXT="Karma voting for other hubs is not to negative">
92 <node CREATED="1236122713693" ID="Freemind_Link_511404921" MODIFIED="1236122728530" TEXT="Reduces manipulation chances">
93 <node CREATED="1236122730091" ID="Freemind_Link_801930369" MODIFIED="1236122743908" TEXT="Prefer karma votes of trusted hubs"/>
94 <node CREATED="1236122744853" ID="Freemind_Link_45612508" MODIFIED="1236122776006" TEXT="Negative karma votings for untrusted karma reduce own karma"/>
95 </node>
96 </node>
97 <node CREATED="1236122783733" ID="Freemind_Link_1507410448" MODIFIED="1236122798272" TEXT="To much &quot;spam packages&quot; reduce karma"/>
98 <node CREATED="1236122819786" ID="Freemind_Link_993155795" MODIFIED="1236122831449" TEXT="Validated packages increase karma"/>
99 <node CREATED="1236122841763" ID="Freemind_Link_1606666417" MODIFIED="1236122851076" TEXT="Protocol version should not be to old">
100 <node CREATED="1236122853153" ID="Freemind_Link_1094995324" MODIFIED="1236122869980" TEXT="This affects karma only negativly"/>
101 <node CREATED="1236122870509" ID="Freemind_Link_344926416" MODIFIED="1236122884569" TEXT="An up-to-date protocol does not increase karma"/>
102 <node CREATED="1236122885070" ID="Freemind_Link_473648942" MODIFIED="1236122902587" TEXT="Does also serve as a &quot;spam protection&quot;"/>
103 <node CREATED="1236122918035" ID="Freemind_Link_594554525" MODIFIED="1236122941184" TEXT="Received protocol version of hub is older than stored">
104 <node CREATED="1236122941749" ID="Freemind_Link_174968672" MODIFIED="1236122946169" TEXT="Karma is reduced"/>
105 </node>
106 <node CREATED="1236122947985" ID="Freemind_Link_1682037492" MODIFIED="1236122969203" TEXT="Received protocol version is much than from master-nodes">
107 <node CREATED="1236122969588" ID="Freemind_Link_1255846244" MODIFIED="1236122973470" TEXT="Karma is reduced"/>
108 </node>
109 </node>
110 <node CREATED="1236123002722" ID="Freemind_Link_1260923814" MODIFIED="1236123013764" TEXT="Provided object types by the peer hub">
111 <node CREATED="1236123015319" ID="Freemind_Link_1973981672" MODIFIED="1236123025287" TEXT="This affectes karma only negativly"/>
112 <node CREATED="1236123026356" ID="Freemind_Link_936683200" MODIFIED="1236123040623" TEXT="New types must first be known by masters"/>
113 <node CREATED="1236123075821" ID="Freemind_Link_965874760" MODIFIED="1236123087086" TEXT="This should be configurable:">
114 <node CREATED="1236123088545" ID="Freemind_Link_1804987507" MODIFIED="1236123146558" TEXT="Karma should be reduced..."/>
115 <node CREATED="1236123147266" ID="Freemind_Link_1719378455" MODIFIED="1236123161157" TEXT="... or peer hub should be black-listed"/>
116 </node>
117 <node CREATED="1236123041207" ID="Freemind_Link_1318639621" MODIFIED="1236123073229" TEXT="Because of every node can be a master-mode censorship is really hard"/>
118 </node>
119 <node CREATED="1236123176016" ID="Freemind_Link_1158753702" MODIFIED="1236123192038" TEXT="Correctly logging">
120 <node CREATED="1236123192506" ID="Freemind_Link_571936771" MODIFIED="1236123197543" TEXT="Does not affect karma"/>
121 <node CREATED="1236123201477" ID="Freemind_Link_526838799" MODIFIED="1236123218064" TEXT="Logout must be done by master hub and active hubs">
122 <node CREATED="1236123218463" ID="Freemind_Link_961650790" MODIFIED="1236123236943" TEXT="&quot;Bye&quot; message">
123 <icon BUILTIN="idea"/>
124 </node>
125 </node>
126 <node CREATED="1236123251132" ID="Freemind_Link_548852073" MODIFIED="1236123270878" TEXT="Rotating of dynamic IPs should be considered">
127 <node CREATED="1236123319578" ID="Freemind_Link_1811539187" MODIFIED="1236123329144" TEXT="Must be registered by master-node">
128 <node CREATED="1236123330548" ID="Freemind_Link_589306378" MODIFIED="1236123338841" TEXT="ID is registered as &quot;Dynamic IP&quot;"/>
129 <node CREATED="1236123345030" ID="Freemind_Link_1377338623" MODIFIED="1236123350574" TEXT="So connects are still possible"/>
130 </node>
131 <node CREATED="1236123356818" ID="Freemind_Link_1985410220" MODIFIED="1236123366085" TEXT="No negative votings by other hubs"/>
132 <node CREATED="1236123374240" ID="Freemind_Link_289837552" MODIFIED="1236123395878" TEXT="Current IP does spread good in network">
133 <node CREATED="1236123397287" ID="Freemind_Link_962702337" MODIFIED="1236123408274" TEXT="Query of the master-node only in doubt"/>
134 </node>
135 </node>
136 </node>
137 </node>
138 </node>
139 <node CREATED="1236819279117" FOLDED="true" ID="Freemind_Link_831929021" MODIFIED="1236899597332" POSITION="left" TEXT="Update Messages">
140 <font BOLD="true" NAME="Dialog" SIZE="16"/>
141 <node CREATED="1236819311945" ID="Freemind_Link_71881649" MODIFIED="1236819334898" TEXT="Will only be broadcasted from bootstrap- to master- and list-nodes"/>
142 <node CREATED="1236819339152" ID="Freemind_Link_774046685" MODIFIED="1236819364243" TEXT="No hub will receive update messages due to heavy network load">
143 <node CREATED="1236819365454" ID="Freemind_Link_1204404067" MODIFIED="1236819386873" TEXT="Maybe only &quot;good&quot; hubs should receive this?">
144 <icon BUILTIN="xmag"/>
145 <icon BUILTIN="help"/>
146 </node>
147 </node>
148 <node CREATED="1236819395918" ID="Freemind_Link_1584525818" MODIFIED="1236819442284" TEXT="Contains update notes and importance level"/>
149 </node>
150 <node CREATED="1236819472321" FOLDED="true" ID="Freemind_Link_168475853" MODIFIED="1236899597331" POSITION="left" TEXT="&quot;Client&quot; Connections">
151 <font BOLD="true" NAME="Dialog" SIZE="16"/>
152 <node CREATED="1236819488308" ID="Freemind_Link_1154203316" MODIFIED="1236819533272" TEXT="Should be interpreted as &quot;application software&quot;">
153 <icon BUILTIN="bell"/>
154 </node>
155 <node CREATED="1236819549590" ID="Freemind_Link_1741675827" MODIFIED="1236819572277" TEXT="Clients should also generate a &quot;client id&quot;">
156 <node CREATED="1236819572768" ID="Freemind_Link_518254369" MODIFIED="1236819577298" TEXT="Both id and sid"/>
157 </node>
158 <node CREATED="1236819583899" ID="Freemind_Link_815708604" MODIFIED="1236819600627" TEXT="Will also connect first to bootstrap-nodes">
159 <node CREATED="1236819601271" ID="Freemind_Link_934296740" MODIFIED="1236819625910" TEXT="Ask for a hub-list as well"/>
160 </node>
161 <node CREATED="1236819612157" ID="Freemind_Link_480673349" MODIFIED="1236819634577" TEXT="Do also receive karma from hubs"/>
162 <node CREATED="1236819638653" ID="Freemind_Link_692612491" MODIFIED="1236819657034" TEXT="Dynamic IPs are also accepted and therefore must be registered"/>
163 </node>
164 <node CREATED="1236819677106" FOLDED="true" ID="Freemind_Link_1445979240" MODIFIED="1236899597329" POSITION="left" TEXT="Client&lt;-&gt;Hub Communication">
165 <font BOLD="true" NAME="Dialog" SIZE="16"/>
166 <node CREATED="1236898541254" ID="Freemind_Link_374257888" MODIFIED="1236898566531" TEXT="After a client has bootstrapped it announces all it&apos;s object types to the hubs">
167 <node CREATED="1236898577202" ID="Freemind_Link_1014689893" MODIFIED="1236898596094" TEXT="Including acceptance of broadcasts, poll-mode and Ping-POST"/>
168 </node>
169 <node CREATED="1236898600139" ID="Freemind_Link_730901168" MODIFIED="1236898624130" TEXT="By this the hubs know clients and their accepted object types"/>
170 <node CREATED="1236898628920" ID="Freemind_Link_1981646811" MODIFIED="1236898649573" TEXT="Clients may download a hub-list for a specific object type">
171 <node CREATED="1236898649983" ID="Freemind_Link_376278255" MODIFIED="1236898658898" TEXT="Distinct-List-Mode"/>
172 <node CREATED="1236898661907" ID="Freemind_Link_481362981" MODIFIED="1236898685390" TEXT="After selecting a hub the client can request a list of clients from that hub"/>
173 <node CREATED="1236898693369" ID="Freemind_Link_1444901526" MODIFIED="1236898735306" TEXT="From these clients the client can accept objects from and send to">
174 <node CREATED="1236898744031" ID="Freemind_Link_423939808" MODIFIED="1236898750207" TEXT="E.g. news by broadcast"/>
175 </node>
176 </node>
177 <node CREATED="1236898764873" ID="Freemind_Link_619530506" MODIFIED="1236898781532" TEXT="Clients may send &quot;broadcast&quot; objects">
178 <node CREATED="1236898781858" ID="Freemind_Link_104270656" MODIFIED="1236898785647" TEXT="Broadcast-Mode"/>
179 <node CREATED="1236898788766" ID="Freemind_Link_187831566" MODIFIED="1236898820811" TEXT="Must be allowed by hubs">
180 <node CREATED="1236898821127" ID="Freemind_Link_929863047" MODIFIED="1236898833669" TEXT="This consumes traffic"/>
181 <node CREATED="1236898845514" ID="Freemind_Link_421479503" MODIFIED="1236898864289" TEXT="Acceptance of broadcasts is known to list-/master- and bootstrap-nodes"/>
182 </node>
183 <node CREATED="1236898869927" ID="Freemind_Link_20289741" MODIFIED="1236898894884" TEXT="A client sends its broadcast to the master-nodes">
184 <node CREATED="1236898903419" ID="Freemind_Link_751901694" MODIFIED="1236898927433" TEXT="They are distribute it to their fellow hubs"/>
185 <node CREATED="1236898931205" ID="Freemind_Link_908440118" MODIFIED="1236899031658" TEXT="A hub knows which client accepts broadcasts and &quot;deposits&quot; it for the client"/>
186 <node CREATED="1236899048881" ID="Freemind_Link_1381761729" MODIFIED="1236899073911" TEXT="Clients are requesting such broadcasts by poll-mode or are &quot;pinged&quot;">
187 <node CREATED="1236899074418" ID="Freemind_Link_816499858" MODIFIED="1236899104143" TEXT="In poll-mode the client asks on a regular basis at the hub for new broadcasts"/>
188 <node CREATED="1236899114179" ID="Freemind_Link_1452667491" MODIFIED="1236899160051" TEXT="A Ping-POST is being sent by the hub as a regular HTTP-POST request to the client">
189 <node CREATED="1236899160614" ID="Freemind_Link_873242294" MODIFIED="1236899170480" TEXT="This also happens on a regular basis"/>
190 </node>
191 <node CREATED="1236899177795" ID="Freemind_Link_1845481591" MODIFIED="1236899200012" TEXT="A hub-admin may allow both types independly"/>
192 <node CREATED="1236899205412" ID="Freemind_Link_1607423256" MODIFIED="1236899216542" TEXT="If none is allowed the hub acts as a &quot;relay&quot;">
193 <node CREATED="1236899225741" ID="Freemind_Link_297001287" MODIFIED="1236899250404" TEXT="And therefore it cannot accept clients with broadcast-functionality enabled"/>
194 </node>
195 </node>
196 </node>
197 </node>
198 <node CREATED="1236899269918" ID="Freemind_Link_144167856" MODIFIED="1236899586006" TEXT="Client-Client Communication">
199 <font BOLD="true" NAME="Dialog" SIZE="14"/>
200 <node CREATED="1236899286016" ID="Freemind_Link_1642758810" MODIFIED="1236899322515" TEXT="May be done &quot;anonymously&quot; over the hub or directly with an other client">
201 <node CREATED="1236899328390" ID="Freemind_Link_1507061819" MODIFIED="1236899349464" TEXT="Communication of the hub is done in poll-mode or by Ping-POST"/>
202 <node CREATED="1236899361363" ID="Freemind_Link_1390010744" MODIFIED="1236899393223" TEXT="Direct client-client communication client &quot;A&quot; sends a Ping-POST directly to client &quot;B&quot;"/>
203 </node>
204 <node CREATED="1236899405778" ID="Freemind_Link_1445364933" MODIFIED="1236899462999" TEXT="Wrongly sent Ping-POSTs (e.g. the admin doesn&apos;t allow them) may be answered with a regular HTTP status &apos;4XX&apos;">
205 <icon BUILTIN="xmag"/>
206 <icon BUILTIN="desktop_new"/>
207 </node>
208 </node>
209 </node>
210 <node CREATED="1236899558200" FOLDED="true" ID="Freemind_Link_329480665" MODIFIED="1236899597327" POSITION="left" TEXT="Usage of low-level protocols">
211 <font BOLD="true" NAME="Dialog" SIZE="16"/>
212 <node CREATED="1236901514992" ID="Freemind_Link_679379315" MODIFIED="1236901534483" TEXT="Already existing low-level protocols like TCP/IP and UDP should be used">
213 <node CREATED="1236901538901" ID="Freemind_Link_1616250831" MODIFIED="1236901554266" TEXT="TCP should be used for &quot;inter-communication&quot;"/>
214 <node CREATED="1236901556582" ID="Freemind_Link_898295556" MODIFIED="1236901583267" TEXT="UDP should be used for &quot;streaming&quot; the objects to other hubs">
215 <node CREATED="1236901610332" ID="Freemind_Link_401089184" MODIFIED="1236901640384" TEXT="Parties are generating hashes of chunks for validation"/>
216 <node CREATED="1236901642356" ID="Freemind_Link_947570234" MODIFIED="1236901665725" TEXT="Chunks should only be created for very big objects">
217 <node CREATED="1236901666398" ID="Freemind_Link_912553641" MODIFIED="1236901689135" TEXT="Total object size is larger than X KByte">
218 <icon BUILTIN="xmag"/>
219 <icon BUILTIN="messagebox_warning"/>
220 </node>
221 </node>
222 <node CREATED="1236901692592" ID="Freemind_Link_1011335691" MODIFIED="1236901715605" TEXT="The sender creates hashes and adds them to the chunk">
223 <node CREATED="1236901719921" ID="Freemind_Link_64829706" MODIFIED="1236901727014" TEXT="The receivers validates them"/>
224 <node CREATED="1236901734931" ID="Freemind_Link_1875786790" MODIFIED="1236901754322" TEXT="No serial numbers a-la TCP are generated"/>
225 </node>
226 <node CREATED="1236901817636" ID="Freemind_Link_99186455" MODIFIED="1236901826666" TEXT="The last chunk package contains both hashes">
227 <node CREATED="1236901827048" ID="Freemind_Link_398290140" MODIFIED="1236901839943" TEXT="Hash of itself and the final hash"/>
228 </node>
229 <node CREATED="1236901850065" ID="Freemind_Link_1741640397" MODIFIED="1236901891617" TEXT="If a hash fails to validate it is being collected">
230 <node CREATED="1236901891984" ID="Freemind_Link_1930312770" MODIFIED="1236901909386" TEXT="After the final chunk was sent, failed chunks a re-requested"/>
231 </node>
232 <node CREATED="1236901915277" ID="Freemind_Link_681298548" MODIFIED="1236901923528" TEXT="This is retried X times per hash">
233 <node CREATED="1236901937242" ID="Freemind_Link_1530992232" MODIFIED="1236901953148" TEXT="But always at the end of the whole transaction and all together"/>
234 <node CREATED="1236901958504" ID="Freemind_Link_766714583" MODIFIED="1236901976592" TEXT="If still some hashes failed to transfer">
235 <node CREATED="1236901976933" ID="Freemind_Link_1262238289" MODIFIED="1236901990294" TEXT="The object got dropped or fully requested"/>
236 <node CREATED="1236901994695" ID="Freemind_Link_1316903827" MODIFIED="1236902002656" TEXT="This should be configurable by the admin"/>
237 <node CREATED="1236902012089" ID="Freemind_Link_525157850" MODIFIED="1236902030267" TEXT="To do so, the final hash and object type is submitted to the sender">
238 <node CREATED="1236902095145" ID="Freemind_Link_1316680608" MODIFIED="1236902127410" TEXT="&quot;Restransmit-Message&quot;">
239 <icon BUILTIN="attach"/>
240 </node>
241 </node>
242 <node CREATED="1236902035497" ID="Freemind_Link_9873596" MODIFIED="1236902042954" TEXT="The sender is now trying smaller chunks"/>
243 </node>
244 </node>
245 <node CREATED="1236902048687" ID="Freemind_Link_507679569" MODIFIED="1236902057647" TEXT="If all was successfully received">
246 <node CREATED="1236902061691" ID="Freemind_Link_566458700" MODIFIED="1236902086124" TEXT="The receivers sends a &quot;done-message&quot; to the sender with final hash and object type"/>
247 </node>
248 </node>
249 <node CREATED="1236902139108" ID="Freemind_Link_602435860" MODIFIED="1236902146920" TEXT="There is also a &quot;real&quot; streaming mode">
250 <node CREATED="1236902147315" ID="Freemind_Link_1387836906" MODIFIED="1236902152513" TEXT="This is e.g. used for chat"/>
251 <node CREATED="1236902157513" ID="Freemind_Link_1268993772" MODIFIED="1236902221941" TEXT="For this TCP/IP is used and no hashes are generated"/>
252 <node CREATED="1236902172714" ID="Freemind_Link_602177505" MODIFIED="1236902181106" TEXT="Also no chunks are generated"/>
253 <node CREATED="1236902181913" ID="Freemind_Link_191938147" MODIFIED="1236902199404" TEXT="Only in this mode &quot;multi-casting&quot; is possible"/>
254 </node>
255 </node>
256 </node>
257 <node CREATED="1236804847687" FOLDED="true" ID="Freemind_Link_1372827895" MODIFIED="1236899597302" POSITION="right" TEXT="Fault Tolerance / Reliability">
258 <font BOLD="true" NAME="Dialog" SIZE="16"/>
259 <node CREATED="1236805031745" ID="Freemind_Link_28699698" MODIFIED="1236805057203" TEXT="After X failed connection attempts a hub got removed">
260 <node CREATED="1236805060886" ID="Freemind_Link_1795377892" MODIFIED="1236805073614" TEXT="Other hubs report this to the master-node"/>
261 <node CREATED="1236805074337" ID="Freemind_Link_1595372369" MODIFIED="1236805094304" TEXT="The master-node probes the failed hub and removes it"/>
262 </node>
263 <node CREATED="1236805095936" ID="Freemind_Link_468909888" MODIFIED="1236805105212" TEXT="Failed list-node">
264 <node CREATED="1236805111066" ID="Freemind_Link_192209809" MODIFIED="1236805126866" TEXT="Hubs are reporting it to the master-node"/>
265 <node CREATED="1236805135129" ID="Freemind_Link_933570791" MODIFIED="1236805143745" TEXT="The master-node probes the failed list-node and removes it"/>
266 </node>
267 <node CREATED="1236805147958" ID="Freemind_Link_1309357086" MODIFIED="1236805152648" TEXT="Failed master-node">
268 <node CREATED="1236805160627" ID="Freemind_Link_1228535079" MODIFIED="1236805192366" TEXT="List-nodes takeover the role of a master-node if no bootstrap-nodes are available">
269 <node CREATED="1236805194058" ID="Freemind_Link_1324885722" MODIFIED="1236805230236" TEXT="This takeover should not be entirely and should be defined">
270 <icon BUILTIN="messagebox_warning"/>
271 <icon BUILTIN="desktop_new"/>
272 </node>
273 </node>
274 <node CREATED="1236805256862" ID="Freemind_Link_489546245" MODIFIED="1236805284415" TEXT="If there is no list-node, hubs look for an active master-node">
275 <node CREATED="1236805285629" ID="Freemind_Link_496844314" MODIFIED="1236805295805" TEXT="They report the failed master-node to it"/>
276 </node>
277 <node CREATED="1236805300701" ID="Freemind_Link_1831877789" MODIFIED="1236805333472" TEXT="If additionally no master-node is up, a hub will be elected as new master-node">
278 <node CREATED="1236805370471" ID="Freemind_Link_1473765417" MODIFIED="1236805388795" TEXT="Doing so, all hubs are identifying the hub with...">
279 <node CREATED="1236805389203" ID="Freemind_Link_1849074808" MODIFIED="1236805408420" TEXT="... the best karma">
280 <node CREATED="1236805408843" ID="Freemind_Link_1303674032" MODIFIED="1236805414368" TEXT="This is known to many hubs"/>
281 </node>
282 <node CREATED="1236805415695" ID="Freemind_Link_1087780155" MODIFIED="1236805439758" TEXT="... most votings">
283 <node CREATED="1236805440417" ID="Freemind_Link_585981486" MODIFIED="1236805465354" TEXT="A &quot;vote&quot; is a positive karma"/>
284 <node CREATED="1236805470049" ID="Freemind_Link_616335445" MODIFIED="1236805478210" TEXT="Also known to many hubs"/>
285 </node>
286 </node>
287 <node CREATED="1236805485261" ID="Freemind_Link_341438028" MODIFIED="1236805508476" TEXT="The &quot;election&quot; should take place within a specific timeout"/>
288 <node CREATED="1236805519338" ID="Freemind_Link_515853064" MODIFIED="1236805539978" TEXT="If no election is happening the hub with most connections got elected"/>
289 </node>
290 </node>
291 <node CREATED="1236805556971" ID="Freemind_Link_694830716" MODIFIED="1236805567605" TEXT="If one of the bootstrap-nodes is up">
292 <node CREATED="1236805568757" ID="Freemind_Link_1701914366" MODIFIED="1236805604922" TEXT="The elected hubs notifies a some of it&apos;s fellow hubs that the bootstrap-node is back"/>
293 <node CREATED="1236805612004" ID="Freemind_Link_561336762" MODIFIED="1236805631225" TEXT="The elected hub becomes a regular hub and notifies other hubs on connection attempts"/>
294 </node>
295 <node CREATED="1236805649317" ID="Freemind_Link_1745751398" MODIFIED="1236805654363" TEXT="Disadvantages:">
296 <node CREATED="1236805655355" ID="Freemind_Link_1189063074" MODIFIED="1236805688061" TEXT="A new hub with only knowlege about the bootstrap-nodes may not be able to connect to the hubs">
297 <node CREATED="1236805691077" ID="Freemind_Link_1581407665" MODIFIED="1236805728068" TEXT="Additional bootstrap-nodes on other server and/or continent may help here"/>
298 </node>
299 </node>
300 </node>
301 <node CREATED="1236818932032" FOLDED="true" ID="Freemind_Link_1204819150" MODIFIED="1236899597325" POSITION="right" TEXT="Object Types">
302 <font BOLD="true" NAME="Dialog" SIZE="16"/>
303 <node CREATED="1236818952579" ID="Freemind_Link_1961919735" MODIFIED="1236818969501" TEXT="New object types are only addable by updating the software"/>
304 <node CREATED="1236818987796" ID="Freemind_Link_188591190" MODIFIED="1236818998981" TEXT="It also possible by 3rd-party">
305 <node CREATED="1236819000063" ID="Freemind_Link_385578906" MODIFIED="1236819012704" TEXT="Must be known by master/bootstrap-nodes"/>
306 </node>
307 <node CREATED="1236819026050" ID="Freemind_Link_1667260565" MODIFIED="1236819039189" TEXT="Outdated object types are marked &quot;deprecated&quot; for a longer time">
308 <node CREATED="1236819040263" ID="Freemind_Link_1936301650" MODIFIED="1236819053202" TEXT="Master-nodes may accept or reject them"/>
309 <node CREATED="1236819057430" ID="Freemind_Link_505959038" MODIFIED="1236819072713" TEXT="A &quot;deprecation message&quot; is always being sent"/>
310 <node CREATED="1236819073435" ID="Freemind_Link_1001362763" MODIFIED="1236819086883" TEXT="A note of a required update can optionally be added"/>
311 </node>
312 <node CREATED="1236819096719" ID="Freemind_Link_259217829" MODIFIED="1236819111770" TEXT="After deprecation time they are treated as &quot;unknown&quot;"/>
313 <node CREATED="1236819117510" ID="Freemind_Link_1228871005" MODIFIED="1236819187199" TEXT="Other hubs should ask bootstrap-nodes">
314 <node CREATED="1236819188392" ID="Freemind_Link_887331476" MODIFIED="1236819200697" TEXT="This compensate errors made by master-nodes"/>
315 <node CREATED="1236819213718" ID="Freemind_Link_1450229897" MODIFIED="1236819243856" TEXT="Wrongly deprecated object types by the master-node result in bad karma by the bootstrap-node"/>
316 </node>
317 </node>
318 </node>
319 </map>