]> git.mxchange.org Git - hub-docs.git/commitdiff
Updated mindmap for 'hub' project
authorRoland Häder <roland@mxchange.org>
Tue, 10 Jul 2012 23:42:55 +0000 (23:42 +0000)
committerRoland Häder <roland@mxchange.org>
Tue, 10 Jul 2012 23:42:55 +0000 (23:42 +0000)
77 files changed:
.gitattributes
mindmaps/Generic Object Sharing Protocol.html
mindmaps/Generic Object Sharing Protocol.html_files/icons/Mail.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/attach.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/back.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/bell.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/bookmark.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/broken-line.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/button_cancel.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/button_ok.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/calendar.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/clanbomber.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/clock.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/closed.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/desktop_new.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/down.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/edit.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/family.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/fema.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/female1.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/female2.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-black.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-blue.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-green.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-orange.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-pink.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-yellow.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/flag.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/folder.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/forward.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/freemind_butterfly.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/full-0.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/full-1.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/full-2.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/full-3.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/full-4.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/full-5.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/full-6.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/full-7.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/full-8.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/full-9.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/go.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/gohome.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/group.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/help.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/hourglass.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/idea.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/info.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/kaddressbook.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/kmail.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/knotify.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/korn.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/ksmiletris.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/launch.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/licq.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/list.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/male1.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/male2.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/messagebox_warning.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/password.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/pencil.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/penguin.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/prepare.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-angry.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-neutral.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-oh.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/smily_bad.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/stop-sign.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/stop.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/up.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/icons/wizard.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/xmag.png
mindmaps/Generic Object Sharing Protocol.html_files/icons/yes.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/ilink.png [new file with mode: 0644]
mindmaps/Generic Object Sharing Protocol.html_files/marktree.js
mindmaps/Generic Object Sharing Protocol.html_files/treestyles.css
mindmaps/Generic Object Sharing Protocol.mm

index 443e6e10ae17985d6baad4588e873fd1132cb18f..9376b888ca682520a40ab6bcddb92e164579c548 100644 (file)
@@ -45,12 +45,31 @@ mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/attach.
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/back.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/bell.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/bookmark.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/broken-line.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/button_cancel.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/button_ok.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/calendar.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/clanbomber.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/clock.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/closed.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/desktop_new.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/down.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/edit.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/family.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/fema.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/female1.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/female2.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/flag-black.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/flag-blue.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/flag-green.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/flag-orange.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/flag-pink.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/flag-yellow.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/flag.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/folder.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/forward.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/freemind_butterfly.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/full-0.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/full-1.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/full-2.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/full-3.png -text svneol=unset#image/png
@@ -58,21 +77,41 @@ mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/full-4.
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/full-5.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/full-6.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/full-7.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/full-8.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/full-9.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/go.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/gohome.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/group.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/help.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/hourglass.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/idea.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/info.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/kaddressbook.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/kmail.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/knotify.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/korn.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/ksmiletris.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/launch.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/licq.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/list.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/male1.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/male2.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/messagebox_warning.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/password.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/pencil.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/penguin.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/prepare.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/smiley-angry.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/smiley-neutral.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/smiley-oh.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/smily_bad.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/stop-sign.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/stop.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/up.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/wizard.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/xmag.png -text svneol=unset#image/png
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/icons/yes.png -text
+mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/ilink.png -text
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/marktree.js -text svneol=unset#text/javascript
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/minus.png -text svneol=unset#image/png
 mindmaps/Generic[!!-~]Object[!!-~]Sharing[!!-~]Protocol.html_files/plus.png -text svneol=unset#image/png
index af9e8f876f17ff5e7cef33aa3fe7a94827f44a01..2b9c3fb5abdaf6072036140cf4bfa91f25715392 100644 (file)
@@ -1,3 +1,345 @@
-<?xml version="1.0" encoding="iso-8859-1"?><?xml-stylesheet href="treestyles.css" type="text/css"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xml:lang="fi" xmlns="http://www.w3.org/1999/xhtml"><head><title>Generic Object-Sharing Protocol</title><link rel="stylesheet" href="Generic Object Sharing Protocol.html_files/treestyles.css" type="text/css"/><script type="text/javascript" src="Generic Object Sharing Protocol.html_files/marktree.js">  </script></head><body><div class="basetop"><a href="#" onclick="expandAll(document.getElementById('base'))">Expand</a> - <a href="#" onclick="collapseAll(document.getElementById('base'))">Collapse</a></div><div id="base" class="basetext"><ul><li class="col" style="" id="FMFreemind_Link_1069566441FM"><span style="font-size:167%;font-weight:bold;">Generic Object-Sharing Protocol</span><ul class="subexp"><li class="exp" style="" id="FMFreemind_Link_1660540085FM"><span style="font-size:133%;font-weight:bold;">Node Identification</span><ul class="sub"><li class="col" style="" id="FMFreemind_Link_780558731FM"><span style="">Every node generates an id string by random</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1498010716FM"><span style="">This is the node id (node identifier)</span></li><li class="basic" style="" id="FMFreemind_Link_458280781FM"><span style="">Only on first use</span></li><li class="basic" style="" id="FMFreemind_Link_698958541FM"><span style="">This should be globally unique</span></li><li class="basic" style="" id="FMFreemind_Link_1564511533FM"><span style="">It will be stored in node's database for later reuse</span></li><li class="col" style="" id="FMFreemind_Link_982080681FM"><span style="">A hash is being generated of it</span><ul class="subexp"><li class="col" style="" id="FMFreemind_Link_177707740FM"><span style="">Hashed data:</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1317863864FM"><span style="">Node's IP number and hostname</span></li><li class="basic" style="" id="FMFreemind_Link_1030355543FM"><span style="">Some random characters</span></li></ul></li></ul></li><li class="basic" style="" id="FMFreemind_Link_1022876700FM"><span style="">This id does not change as long as the database is not purged</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_1712131488FM"><span style="">Per session another id is generated</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_439993942FM"><span style="">This is the SID (Session IDentifier)</span></li><li class="basic" style="" id="FMFreemind_Link_1215594894FM"><span style="">It is being distributed to the nodes</span></li><li class="col" style="" id="FMFreemind_Link_1633651159FM"><span style="">It stored together with the Node-Id</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_651452439FM"><span style="">So other can validate bother together</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_789902518FM"><img src="Generic Object Sharing Protocol.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="">Logging should only enabled for debugging purposes</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_902328932FM"><span style="">Locking IPs or Node-Ids on master-nodes is not planed</span><ul class="subexp"><li class="col" style="" id="FMFreemind_Link_1592412776FM"><span style="">Censorship would be to very easy</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_423578439FM"><span style="">Government agencies or enterprise parties</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_84092519FM"><span style="">Censhorship makes no sence here</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_514458550FM"><span style="">It can very easy be bypassed:</span></li><li class="col" style="" id="FMFreemind_Link_1221678941FM"><span style="">Delete Node-Id in database</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_904836052FM"><span style="">A new one got generated</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_1262635656FM"><span style="">Locked IP or port number can be bypassed by proxies</span></li><li class="col" style="" id="FMFreemind_Link_1619827292FM"><span style="">One or two master-nodes should listen on ports commonly unblocked by firewalls</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_709609072FM"><span style="">Like 80/443/110/25</span></li></ul></li></ul></li></ul></li><li class="col" style="" id="FMFreemind_Link_441713513FM"><span style="">Hubs can be optionally registered by master-nodes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1200999421FM"><span style="">Increases karma because the node admin is verified</span></li><li class="basic" style="" id="FMFreemind_Link_1617168424FM"><span style="">Unregistered nodes does not receive negative votings</span></li></ul></li></ul></li><li class="col" style="" id="FMFreemind_Link_1339348415FM"><span style="font-size:133%;font-weight:bold;">Bootstrapping</span><ul class="subexp"><li class="exp" style="" id="FMFreemind_Link_453620216FM"><span style="">At least one, better 3 to 4, master-nodes are required</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_265648584FM"><span style="">Aka. "Bootstrap-Nodes"</span></li><li class="basic" style="" id="FMFreemind_Link_1226811309FM"><span style="">They should be listed in the configuration for all applications</span></li><li class="basic" style="" id="FMFreemind_Link_979767017FM"><span style="">A comma-seperated list of node IPs with port numbers seperated by double-dot (:)</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_854375254FM"><span style="">Bootstrap-Nodes are working stand-alone</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_882684293FM"><span style="">No central "Super-Node" is required</span></li><li class="basic" style="" id="FMFreemind_Link_1661888163FM"><span style="">Too much traffic would have to flow through it</span></li><li class="basic" style="" id="FMFreemind_Link_1121780060FM"><span style="">Attacks on the network by censorship are reduced</span></li><li class="basic" style="" id="FMFreemind_Link_924004535FM"><span style="">Traffic does not increase network-overall load</span></li><li class="col" style="" id="FMFreemind_Link_1573570415FM"><span style="">Small disadvantage:</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1018217993FM"><span style="">Hubs must register with ...</span></li><li class="basic" style="" id="FMFreemind_Link_665965725FM"><span style="">... more than one master-node ...</span></li><li class="basic" style="" id="FMFreemind_Link_1849172644FM"><span style="">.. or connect with each other</span></li></ul></li></ul></li><li class="exp" style="" id="FMFreemind_Link_1225609057FM"><span style="">1. Node checks if there is a list of master nodes already stored</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_712469416FM"><span style="">If so, it skips fetching the list of nodes step</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_934377424FM"><span style="">2. Node is announcing itself to the upper bootstrap hub(s)</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_1716805408FM"><span style="">This should be done generic to keep things easy</span></li><li class="basic" style="" id="FMFreemind_Link_1472603257FM"><span style="">Recommended is maybe an XML with all neccessary data</span></li><li class="col" style="" id="FMFreemind_Link_207316718FM"><span style="">The session id will not be included here</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_772369973FM"><span style="">A bootstrap node will never try to connect clients with nodes</span></li><li class="basic" style="" id="FMFreemind_Link_1528083000FM"><img src="Generic Object Sharing Protocol.html_files/icons/desktop_new.png" alt="desktop_new"/> <img src="Generic Object Sharing Protocol.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="">It should only "bootstrap" (tell the node where it should start sharing its objects)</span></li></ul></li></ul></li><li class="exp" style="" id="FMFreemind_Link_608191462FM"><span style="">3. Node is fetching a list of other nodes</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_195277951FM"><span style="">They must have at least X matching object types</span></li><li class="basic" style="" id="FMFreemind_Link_823475561FM"><span style="">If a bootstrap node is full it forwards the node to an other bootstrap hub</span></li><li class="basic" style="" id="FMFreemind_Link_1371102915FM"><span style="">If that node is again full the node will be forwarded to a list node</span></li><li class="basic" style="" id="FMFreemind_Link_897238975FM"><span style="">If wether no free bootstrap nor list node is available the node waits some time and tries it again</span></li><li class="col" style="" id="FMFreemind_Link_453619955FM"><span style="">Hashes of node-lists distributed over the bootstrap and list nodes should match</span><ul class="subexp"><li class="col" style="" id="FMFreemind_Link_1552507439FM"><span style="">This can be ensured by a DHT</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1112603271FM"><span style="">DHT = Distributed Hash Table</span></li><li class="basic" style="" id="FMFreemind_Link_123842120FM"><img src="Generic Object Sharing Protocol.html_files/icons/xmag.png" alt="xmag"/> <span style="">Which format?</span></li></ul></li></ul></li><li class="col" style="" id="FMFreemind_Link_574241054FM"><span style="">If to much are inconsistent:</span><ul class="subexp"><li class="col" style="" id="FMFreemind_Link_1253336655FM"><span style="">No connect can happen</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1412643595FM"><span style="">Node list is rejected</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_1181650485FM"><span style="">Or the bootstrap-nodes are working as regular nodes</span></li><li class="basic" style="" id="FMFreemind_Link_1134140787FM"><span style="">Replication of the node-list is required by all bootstrap-nodes</span></li></ul></li></ul></li><li class="exp" style="" id="FMFreemind_Link_210978828FM"><span style="">4. Node connects to gathered master nodes</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_1492702329FM"><span style="">It again announces its object types to the master nodes</span></li><li class="basic" style="" id="FMFreemind_Link_447040624FM"><span style="">Again it provides the session id so the master node can map session id -&gt; node id</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_1052054603FM"><span style="">5. If all authorization steps are completed:</span><ul class="sub"><li class="col" style="" id="FMFreemind_Link_1721222063FM"><span style="">The node starts to accept client connections</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_501632661FM"><span style="">(It already listens to them but rejects them)</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_663261299FM"><span style="">Objects will now be shared with other nodes which accepts the same object types</span></li></ul></li></ul></li><li class="col" style="" id="FM_FM"><span style="font-size:133%;font-weight:bold;">Karma</span><ul class="subexp"><li class="col" style="" id="FMFreemind_Link_1190748575FM"><span style="">Karma is given for validating entries in the DHT</span><ul class="subexp"><li class="exp" style="" id="FMFreemind_Link_29494292FM"><span style="">Last activity in near past</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_254202732FM"><span style="">Does not affect karma</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_210971136FM"><span style="">Returned pings</span><ul class="sub"><li class="col" style="" id="FMFreemind_Link_1680521907FM"><span style="">Amount of sent pings</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_689172908FM"><span style="">If no reply it got dead-listed</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_612939095FM"><span style="">Failed pings reduce karma</span></li><li class="basic" style="" id="FMFreemind_Link_45314722FM"><span style="">Slow responses reduce karma</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_538248067FM"><span style="">Karma voting for other nodes is not to negative</span><ul class="sub"><li class="col" style="" id="FMFreemind_Link_511404921FM"><span style="">Reduces manipulation chances</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_801930369FM"><span style="">Prefer karma votes of trusted nodes</span></li><li class="basic" style="" id="FMFreemind_Link_45612508FM"><span style="">Negative karma votings for untrusted karma reduce own karma</span></li></ul></li></ul></li><li class="basic" style="" id="FMFreemind_Link_1507410448FM"><span style="">To much "spam packages" reduce karma</span></li><li class="basic" style="" id="FMFreemind_Link_993155795FM"><span style="">Validated packages increase karma</span></li><li class="exp" style="" id="FMFreemind_Link_1606666417FM"><span style="">Protocol version should not be to old</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_1094995324FM"><span style="">This affects karma only negativly</span></li><li class="basic" style="" id="FMFreemind_Link_344926416FM"><span style="">An up-to-date protocol does not increase karma</span></li><li class="basic" style="" id="FMFreemind_Link_473648942FM"><span style="">Does also serve as a "spam protection"</span></li><li class="col" style="" id="FMFreemind_Link_594554525FM"><span style="">Received protocol version of node is older than stored</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_174968672FM"><span style="">Karma is reduced</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_1682037492FM"><span style="">Received protocol version is much than from master-nodes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1255846244FM"><span style="">Karma is reduced</span></li></ul></li></ul></li><li class="exp" style="" id="FMFreemind_Link_1260923814FM"><span style="">Provided object types by the peer hub</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_1973981672FM"><span style="">This affectes karma only negativly</span></li><li class="basic" style="" id="FMFreemind_Link_936683200FM"><span style="">New types must first be known by masters</span></li><li class="col" style="" id="FMFreemind_Link_965874760FM"><span style="">This should be configurable:</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1804987507FM"><span style="">Karma should be reduced...</span></li><li class="basic" style="" id="FMFreemind_Link_1719378455FM"><span style="">... or peer node should be black-listed</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_1318639621FM"><span style="">Because of every node can be a master-mode censorship is really hard</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_1158753702FM"><span style="">Correctly logging</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_571936771FM"><span style="">Does not affect karma</span></li><li class="col" style="" id="FMFreemind_Link_526838799FM"><span style="">Logout must be done by master node and active nodes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_961650790FM"><img src="Generic Object Sharing Protocol.html_files/icons/idea.png" alt="idea"/> <span style="">"Bye" message</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_548852073FM"><span style="">Rotating of dynamic IPs should be considered</span><ul class="subexp"><li class="col" style="" id="FMFreemind_Link_1811539187FM"><span style="">Must be registered by master-node</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_589306378FM"><span style="">ID is registered as "Dynamic IP"</span></li><li class="basic" style="" id="FMFreemind_Link_1377338623FM"><span style="">So connects are still possible</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_1985410220FM"><span style="">No negative votings by other nodes</span></li><li class="col" style="" id="FMFreemind_Link_289837552FM"><span style="">Current IP does spread good in network</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_962702337FM"><span style="">Query of the master-node only in doubt</span></li></ul></li></ul></li></ul></li></ul></li><li class="col" style="" id="FMFreemind_Link_1439794757FM"><span style="">Karma influences peer state scoring and vise versa</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_667972974FM"><span style=""><a href="Peer-State Scoring.mm">What is peer state scoring?</a> <a href="Peer-State Scoring.mm"><img src="Generic Object Sharing Protocol.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li></ul></li></ul></li><li class="exp" style="" id="FMFreemind_Link_831929021FM"><span style="font-size:133%;font-weight:bold;">Update Messages</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_71881649FM"><span style="">Will only be broadcasted from bootstrap- to master- and list-nodes</span></li><li class="col" style="" id="FMFreemind_Link_774046685FM"><span style="">No node will receive update messages due to heavy network load</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1204404067FM"><img src="Generic Object Sharing Protocol.html_files/icons/xmag.png" alt="xmag"/> <img src="Generic Object Sharing Protocol.html_files/icons/help.png" alt="help"/> <span style="">Maybe only "good" nodes should receive this?</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_1584525818FM"><span style="">Contains update notes and importance level</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_168475853FM"><span style="font-size:133%;font-weight:bold;">"Client" Connections</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_1154203316FM"><img src="Generic Object Sharing Protocol.html_files/icons/bell.png" alt="bell"/> <span style="">Should be interpreted as "application software"</span></li><li class="col" style="" id="FMFreemind_Link_1741675827FM"><span style="">Clients should also generate a "client id"</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_518254369FM"><span style="">Both id and sid</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_815708604FM"><span style="">Will also connect first to bootstrap-nodes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_934296740FM"><span style="">Ask for a node-list as well</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_480673349FM"><span style="">Do also receive karma from nodes</span></li><li class="basic" style="" id="FMFreemind_Link_692612491FM"><span style="">Dynamic IPs are also accepted and therefore must be registered</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_1445979240FM"><span style="font-size:133%;font-weight:bold;">Client&lt;-&gt;Node Communication</span><ul class="sub"><li class="col" style="" id="FMFreemind_Link_374257888FM"><span style="">After a client has bootstrapped it announces all it's object types to the nodes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1014689893FM"><span style="">Including acceptance of broadcasts, poll-mode and Ping-POST</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_730901168FM"><span style="">By this the nodes know clients and their accepted object types</span></li><li class="col" style="" id="FMFreemind_Link_1981646811FM"><span style="">Clients may download a node-list for a specific object type</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_376278255FM"><span style="">Distinct-List-Mode</span></li><li class="basic" style="" id="FMFreemind_Link_481362981FM"><span style="">After selecting a node the client can request a list of clients from that hub</span></li><li class="col" style="" id="FMFreemind_Link_1444901526FM"><span style="">From these clients the client can accept objects from and send to</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_423939808FM"><span style="">E.g. news by broadcast</span></li></ul></li></ul></li><li class="col" style="" id="FMFreemind_Link_619530506FM"><span style="">Clients may send "broadcast" objects</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_104270656FM"><span style="">Broadcast-Mode</span></li><li class="col" style="" id="FMFreemind_Link_187831566FM"><span style="">Must be allowed by nodes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_929863047FM"><span style="">This consumes traffic</span></li><li class="basic" style="" id="FMFreemind_Link_421479503FM"><span style="">Acceptance of broadcasts is known to list-/master- and bootstrap-nodes</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_20289741FM"><span style="">A client sends its broadcast to the master-nodes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_751901694FM"><span style="">They are distribute it to their fellow nodes</span></li><li class="basic" style="" id="FMFreemind_Link_908440118FM"><span style="">A node knows which client accepts broadcasts and "deposits" it for the client</span></li><li class="col" style="" id="FMFreemind_Link_1381761729FM"><span style="">Clients are requesting such broadcasts by poll-mode or are "pinged"</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_816499858FM"><span style="">In poll-mode the client asks on a regular basis at the node for new broadcasts</span></li><li class="col" style="" id="FMFreemind_Link_1452667491FM"><span style="">A Ping-POST is being sent by the node as a regular HTTP-POST request to the client</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_873242294FM"><span style="">This also happens on a regular basis</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_1845481591FM"><span style="">A node-admin may allow both types independly</span></li><li class="col" style="" id="FMFreemind_Link_1607423256FM"><span style="">If none is allowed the node acts as a "relay"</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_297001287FM"><span style="">And therefore it cannot accept clients with broadcast-functionality enabled</span></li></ul></li></ul></li></ul></li></ul></li><li class="col" style="" id="FMFreemind_Link_144167856FM"><span style="font-size:117%;font-weight:bold;">Client-Client Communication</span><ul class="subexp"><li class="col" style="" id="FMFreemind_Link_1642758810FM"><span style="">May be done "anonymously" over the node or directly with an other client</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1507061819FM"><span style="">Communication of the node is done in poll-mode or by Ping-POST</span></li><li class="basic" style="" id="FMFreemind_Link_1390010744FM"><span style="">Direct client-client communication client "A" sends a Ping-POST directly to client "B"</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_1445364933FM"><img src="Generic Object Sharing Protocol.html_files/icons/xmag.png" alt="xmag"/> <img src="Generic Object Sharing Protocol.html_files/icons/desktop_new.png" alt="desktop_new"/> <span style="">Wrongly sent Ping-POSTs (e.g. the admin doesn't allow them) may be answered with a regular HTTP status '4XX'</span></li></ul></li></ul></li><li class="exp" style="" id="FMFreemind_Link_329480665FM"><span style="font-size:133%;font-weight:bold;">Usage of low-level protocols</span><ul class="sub"><li class="col" style="" id="FMFreemind_Link_679379315FM"><span style="">Already existing low-level protocols like TCP/IP and UDP should be used</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1616250831FM"><span style="">TCP should be used for "inter-communication"</span></li><li class="col" style="" id="FMFreemind_Link_898295556FM"><span style="">UDP should be used for "streaming" the objects to other nodes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_401089184FM"><span style="">Parties are generating hashes of chunks for validation</span></li><li class="col" style="" id="FMFreemind_Link_947570234FM"><span style="">Chunks should only be created for very big objects</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_912553641FM"><img src="Generic Object Sharing Protocol.html_files/icons/xmag.png" alt="xmag"/> <img src="Generic Object Sharing Protocol.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="">Total object size is larger than X KByte</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_1011335691FM"><span style="">The sender creates hashes and adds them to the chunk</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_64829706FM"><span style="">The receivers validates them</span></li><li class="basic" style="" id="FMFreemind_Link_1875786790FM"><span style="">No serial numbers a-la TCP are generated</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_99186455FM"><span style="">The last chunk package contains both hashes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_398290140FM"><span style="">Hash of itself and the final hash</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_1741640397FM"><span style="">If a hash fails to validate it is being collected</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1930312770FM"><span style="">After the final chunk was sent, failed chunks a re-requested</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_681298548FM"><span style="">This is retried X times per hash</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1530992232FM"><span style="">But always at the end of the whole transaction and all together</span></li><li class="col" style="" id="FMFreemind_Link_766714583FM"><span style="">If still some hashes failed to transfer</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1262238289FM"><span style="">The object got dropped or fully requested</span></li><li class="basic" style="" id="FMFreemind_Link_1316903827FM"><span style="">This should be configurable by the admin</span></li><li class="col" style="" id="FMFreemind_Link_525157850FM"><span style="">To do so, the final hash and object type is submitted to the sender</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1316680608FM"><img src="Generic Object Sharing Protocol.html_files/icons/attach.png" alt="attach"/> <span style="">"Restransmit-Message"</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_9873596FM"><span style="">The sender is now trying smaller chunks</span></li></ul></li></ul></li><li class="col" style="" id="FMFreemind_Link_507679569FM"><span style="">If all was successfully received</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_566458700FM"><span style="">The receivers sends a "done-message" to the sender with final hash and object type</span></li></ul></li></ul></li><li class="col" style="" id="FMFreemind_Link_602435860FM"><span style="">There is also a "real" streaming mode</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1387836906FM"><span style="">This is e.g. used for chat</span></li><li class="basic" style="" id="FMFreemind_Link_1268993772FM"><span style="">For this TCP/IP is used and no hashes are generated</span></li><li class="basic" style="" id="FMFreemind_Link_602177505FM"><span style="">Also no chunks are generated</span></li><li class="basic" style="" id="FMFreemind_Link_191938147FM"><span style="">Only in this mode "multi-casting" is possible</span></li></ul></li></ul></li></ul></li><li class="col" style="" id="FMFreemind_Link_1372827895FM"><span style="font-size:133%;font-weight:bold;">Fault Tolerance / Reliability</span><ul class="subexp"><li class="exp" style="" id="FMFreemind_Link_28699698FM"><span style="">After X failed connection attempts a node got removed</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_1795377892FM"><span style="">Other nodes report this to the master-node</span></li><li class="basic" style="" id="FMFreemind_Link_1595372369FM"><span style="">The master-node probes the failed node and removes it</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_468909888FM"><span style="">Failed list-node</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_192209809FM"><span style="">Hubs are reporting it to the master-node</span></li><li class="basic" style="" id="FMFreemind_Link_933570791FM"><span style="">The master-node probes the failed list-node and removes it</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_1309357086FM"><span style="">Failed master-node</span><ul class="sub"><li class="col" style="" id="FMFreemind_Link_1228535079FM"><span style="">List-nodes takeover the role of a master-node if no bootstrap-nodes are available</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1324885722FM"><img src="Generic Object Sharing Protocol.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <img src="Generic Object Sharing Protocol.html_files/icons/desktop_new.png" alt="desktop_new"/> <span style="">This takeover should not be entirely and should be defined</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_489546245FM"><span style="">If there is no list-node, nodes look for an active master-node</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_496844314FM"><span style="">They report the failed master-node to it</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_1831877789FM"><span style="">If additionally no master-node is up, a node will be elected as new master-node</span><ul class="subexp"><li class="col" style="" id="FMFreemind_Link_1473765417FM"><span style="">Doing so, all nodes are identifying the node with...</span><ul class="subexp"><li class="col" style="" id="FMFreemind_Link_1849074808FM"><span style="">... the best karma</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1303674032FM"><span style="">This is known to many nodes</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_1087780155FM"><span style="">... most votings</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_585981486FM"><span style="">A "vote" is a positive karma</span></li><li class="basic" style="" id="FMFreemind_Link_616335445FM"><span style="">Also known to many nodes</span></li></ul></li></ul></li><li class="basic" style="" id="FMFreemind_Link_341438028FM"><span style="">The "election" should take place within a specific timeout</span></li><li class="basic" style="" id="FMFreemind_Link_515853064FM"><span style="">If no election is happening the node with most connections got elected</span></li></ul></li></ul></li><li class="exp" style="" id="FMFreemind_Link_694830716FM"><span style="">If one of the bootstrap-nodes is up</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_1701914366FM"><span style="">The elected nodes notifies a some of it's fellow nodes that the bootstrap-node is back</span></li><li class="basic" style="" id="FMFreemind_Link_561336762FM"><span style="">The elected node becomes a regular node and notifies other nodes on connection attempts</span></li></ul></li><li class="exp" style="" id="FMFreemind_Link_1745751398FM"><span style="">Disadvantages:</span><ul class="sub"><li class="col" style="" id="FMFreemind_Link_1189063074FM"><span style="">A new node with only knowlege about the bootstrap-nodes may not be able to connect to the nodes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1581407665FM"><span style="">Additional bootstrap-nodes on other server and/or continent may help here</span></li></ul></li></ul></li></ul></li><li class="exp" style="" id="FMFreemind_Link_1204819150FM"><span style="font-size:133%;font-weight:bold;">Object Types</span><ul class="sub"><li class="basic" style="" id="FMFreemind_Link_1961919735FM"><span style="">New object types are only addable by updating the software</span></li><li class="col" style="" id="FMFreemind_Link_188591190FM"><span style="">It also possible by 3rd-party</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_385578906FM"><span style="">Must be known by master/bootstrap-nodes</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_1667260565FM"><span style="">Outdated object types are marked "deprecated" for a longer time</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1936301650FM"><span style="">Master-nodes may accept or reject them</span></li><li class="basic" style="" id="FMFreemind_Link_505959038FM"><span style="">A "deprecation message" is always being sent</span></li><li class="basic" style="" id="FMFreemind_Link_1001362763FM"><span style="">A note of a required update can optionally be added</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_259217829FM"><span style="">After deprecation time they are treated as "unknown"</span></li><li class="col" style="" id="FMFreemind_Link_1228871005FM"><span style="">Other nodes should ask bootstrap-nodes</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_887331476FM"><span style="">This compensate errors made by master-nodes</span></li><li class="basic" style="" id="FMFreemind_Link_1450229897FM"><span style="">Wrongly deprecated object types by the master-node result in bad karma by the bootstrap-node</span></li></ul></li></ul></li></ul></li></ul></div></body></html>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="treestyles.css" type="text/css"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!--This file has been created with toxhtml.xsl--><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /><title>Generic Object-Sharing Protocol</title><link rel="stylesheet" href="Generic%20Object%20Sharing%20Protocol.html_files/treestyles.css" type="text/css" /><script type="text/javascript" src="Generic%20Object%20Sharing%20Protocol.html_files/marktree.js"> 
+       </script></head><body><div class="basetop"><a onclick="expandAll(document.getElementById('base'))" href="#">Expand</a> -
+<a onclick="collapseAll(document.getElementById('base'))" href="#">Collapse</a></div><div class="basetext" id="base"><ul>
+       <li class="col" id="FMFreemind_Link_1069566441FM"><div class="nodecontent" style="font-size:167%;font-weight:bold;">Generic Object-Sharing Protocol</div>
+               <ul class="subexp">
+       <li class="exp" id="FMFreemind_Link_1660540085FM"><div class="nodecontent" style="font-size:133%;font-weight:bold;">Node Identification</div>
+               <ul class="sub">
+       <li class="col" id="FMID_1477365404FM"><div class="nodecontent">Every node generates an id string by random</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1127544543FM"><div class="nodecontent">This is the node id (node identifier)</div></li>
+       <li class="basic" id="FMID_697104790FM"><div class="nodecontent">Only on first use</div></li>
+       <li class="basic" id="FMID_128861556FM"><div class="nodecontent">This should be globally unique</div></li>
+       <li class="basic" id="FMID_1439756693FM"><div class="nodecontent">It will be stored in node's database for later reuse</div></li>
+       <li class="col" id="FMID_1503568440FM"><div class="nodecontent">A hash is being generated of it</div>
+               <ul class="subexp">
+       <li class="col" id="FMID_1815442429FM"><div class="nodecontent">Hashed data:</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1724036552FM"><div class="nodecontent">Node's IP number and hostname</div></li>
+       <li class="basic" id="FMID_1636874238FM"><div class="nodecontent">Some random characters</div></li></ul></li></ul></li>
+       <li class="basic" id="FMID_1520648841FM"><div class="nodecontent">This id does not change as long as the database is not purged</div></li></ul></li>
+       <li class="col" id="FMID_898313647FM"><div class="nodecontent">Per session another id is generated</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_655958172FM"><div class="nodecontent">This is the SID (Session IDentifier)</div></li>
+       <li class="basic" id="FMID_554796464FM"><div class="nodecontent">It is being distributed to the nodes</div></li>
+       <li class="col" id="FMID_1894972611FM"><div class="nodecontent">It stored together with the Node-Id</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_996671794FM"><div class="nodecontent">So other can validate bother together</div></li></ul></li>
+       <li class="basic" id="FMID_1579813135FM"><img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/messagebox_warning.png" alt="messagebox_warning" /> <div class="nodecontent">Logging should be enabled for debugging purposes only</div></li></ul></li>
+       <li class="col" id="FMID_598230637FM"><div class="nodecontent">Private key and its corresponding hash</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1802867259FM"><img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/help.png" alt="help" /> <img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/idea.png" alt="idea" /> <div class="nodecontent">For signed and later encrypted traffic?</div></li></ul></li>
+       <li class="col" id="FMID_1999616583FM"><div class="nodecontent">Locking IPs or Node-Ids on master-nodes is not planed</div>
+               <ul class="subexp">
+       <li class="col" id="FMID_515276316FM"><div class="nodecontent">Censorship would be to very easy</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1582468782FM"><div class="nodecontent">Government agencies or enterprise parties</div></li></ul></li>
+       <li class="col" id="FMID_206577967FM"><div class="nodecontent">Censhorship makes no sence here</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_142027532FM"><div class="nodecontent">It can very easy be bypassed:</div></li>
+       <li class="col" id="FMID_482299521FM"><div class="nodecontent">Delete Node-Id in database</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1867340714FM"><div class="nodecontent">A new one got generated</div></li></ul></li>
+       <li class="basic" id="FMID_391061380FM"><div class="nodecontent">Locked IP or port number can be bypassed by proxies</div></li>
+       <li class="col" id="FMID_1806532479FM"><div class="nodecontent">One or two master-nodes should listen on ports commonly unblocked by firewalls</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_168189651FM"><div class="nodecontent">Like 80/443/110/25</div></li></ul></li></ul></li></ul></li>
+       <li class="col" id="FMID_523493738FM"><div class="nodecontent">Hubs can be optionally registered by master-nodes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1831087894FM"><div class="nodecontent">Increases karma because the node admin is verified</div></li>
+       <li class="basic" id="FMID_1334181154FM"><div class="nodecontent">Unregistered nodes does not receive negative votings</div></li></ul></li></ul></li>
+       <li class="col" id="FMFreemind_Link_1339348415FM"><div class="nodecontent" style="font-size:133%;font-weight:bold;">Bootstrapping</div>
+               <ul class="subexp">
+       <li class="exp" id="FMID_910314668FM"><div class="nodecontent">At least one, better 3 to 4, master-nodes are required</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_1435365989FM"><div class="nodecontent">Aka. "Bootstrap-Nodes"</div></li>
+       <li class="basic" id="FMID_1487578920FM"><div class="nodecontent">They should be listed in the configuration for all applications</div></li>
+       <li class="basic" id="FMID_213582832FM"><div class="nodecontent">A comma-seperated list of node IPs with port numbers seperated by double-dot (:)</div></li></ul></li>
+       <li class="exp" id="FMID_27169311FM"><div class="nodecontent">Bootstrap-Nodes are working stand-alone</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_1879966796FM"><div class="nodecontent">No central "Super-Node" is required</div></li>
+       <li class="basic" id="FMID_741244364FM"><div class="nodecontent">Too much traffic would have to flow through it</div></li>
+       <li class="basic" id="FMID_1096022992FM"><div class="nodecontent">Attacks on the network by censorship are reduced</div></li>
+       <li class="basic" id="FMID_1182056532FM"><div class="nodecontent">Traffic does not increase network-overall load</div></li>
+       <li class="col" id="FMID_1052031194FM"><div class="nodecontent">Small disadvantage:</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1150854056FM"><div class="nodecontent">Hubs must register with ...</div></li>
+       <li class="basic" id="FMID_1537201605FM"><div class="nodecontent">... more than one master-node ...</div></li>
+       <li class="basic" id="FMID_246674177FM"><div class="nodecontent">.. or connect with each other</div></li></ul></li></ul></li>
+       <li class="exp" id="FMID_1568438489FM"><div class="nodecontent">1. Node checks if there is a list of master nodes already stored</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_426676819FM"><div class="nodecontent">If so, it skips fetching the list of nodes step</div></li></ul></li>
+       <li class="exp" id="FMID_764597347FM"><div class="nodecontent">2. Node is announcing itself to the upper bootstrap hub(s)</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_1596045826FM"><div class="nodecontent">This should be done generic to keep things easy</div></li>
+       <li class="exp" id="FMID_1283494642FM"><div class="nodecontent">Recommended is maybe an XML with all neccessary data</div>
+               <ul class="sub">
+       <li class="col" id="FMID_1967390832FM"><div class="nodecontent">Node status</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_109028891FM"><div class="nodecontent">Mostly 'active' or 'reachable'</div></li></ul></li>
+       <li class="basic" id="FMID_577483198FM"><div class="nodecontent">Session id (see below)</div></li>
+       <li class="col" id="FMID_614578398FM"><div class="nodecontent">External and internal IP</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_974332986FM"><div class="nodecontent">To allow LAN connections over connections on WAN IP</div></li>
+       <li class="basic" id="FMID_717476080FM"><div class="nodecontent">Allowing this aids networks where DHCP and IP masquerade is used</div></li>
+       <li class="basic" id="FMID_352410425FM"><div class="nodecontent">Most customer asynchronous DSL does not allow to connect from inside over the WAN IP back inside</div></li></ul></li>
+       <li class="basic" id="FMID_1876026630FM"><div class="nodecontent">TCP and UDP listening ports</div></li></ul></li>
+       <li class="col" id="FMID_238301949FM"><div class="nodecontent">The session id will be included here</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1100719104FM"><div class="nodecontent">Other nodes shall always attempt to find a node by its current session id, not node it</div></li>
+       <li class="col" id="FMID_1636243419FM"><div class="nodecontent">The node id identifies the node globally</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1976097041FM"><div class="nodecontent">Requires a well-randomized id to be created to avoid collisions with other nodes</div></li>
+       <li class="basic" id="FMID_1275543965FM"><div class="nodecontent">First announcement dominates on all "upper" nodes</div></li>
+       <li class="basic" id="FMID_1845256702FM"><div class="nodecontent">A maximum limit of node ids per IP address shall prevent id flooding</div></li></ul></li>
+       <li class="col" id="FMID_977856197FM"><div class="nodecontent">The session id identifies the node currently</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_107303523FM"><div class="nodecontent">On every start a new one will be generated</div></li>
+       <li class="basic" id="FMID_1363422738FM"><div class="nodecontent">This requires a mechanism to purge old session ids</div></li></ul></li></ul></li></ul></li>
+       <li class="exp" id="FMID_1953640644FM"><div class="nodecontent">3. Node is fetching a list of other nodes</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_508674192FM"><div class="nodecontent">They must have at least X matching object types</div></li>
+       <li class="basic" id="FMID_1809816861FM"><div class="nodecontent">If a bootstrap node is full it forwards the node to an other bootstrap hub</div></li>
+       <li class="basic" id="FMID_1324283426FM"><div class="nodecontent">If that node is again full the node will be forwarded to a list node</div></li>
+       <li class="basic" id="FMID_1076323011FM"><div class="nodecontent">If wether no free bootstrap nor list node is available the node waits some time and tries it again</div></li>
+       <li class="col" id="FMID_823284955FM"><div class="nodecontent">Hashes of node-lists distributed over the bootstrap and list nodes should match</div>
+               <ul class="subexp">
+       <li class="col" id="FMID_1102025965FM"><div class="nodecontent">This can be ensured by a DHT</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1747728135FM"><div class="nodecontent">DHT = Distributed Hash Table</div></li>
+       <li class="basic" id="FMID_442289999FM"><img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/xmag.png" alt="xmag" /> <div class="nodecontent">Which format?</div></li></ul></li></ul></li>
+       <li class="col" id="FMID_1959787511FM"><div class="nodecontent">If to much are inconsistent:</div>
+               <ul class="subexp">
+       <li class="col" id="FMID_1007097645FM"><div class="nodecontent">No connect can happen</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1137015561FM"><div class="nodecontent">Node list is rejected</div></li></ul></li>
+       <li class="basic" id="FMID_99205407FM"><div class="nodecontent">Or the bootstrap-nodes are working as regular nodes</div></li>
+       <li class="basic" id="FMID_1082334730FM"><div class="nodecontent">Replication of the node-list is required by all bootstrap-nodes</div></li></ul></li></ul></li>
+       <li class="exp" id="FMID_780025605FM"><div class="nodecontent">4. Node connects to gathered master nodes</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_807839905FM"><div class="nodecontent">It again announces its object types to the master nodes</div></li>
+       <li class="basic" id="FMID_1575419923FM"><div class="nodecontent">Again it provides the session id so the master node can map session id -&gt; node id</div></li></ul></li>
+       <li class="exp" id="FMID_1753288477FM"><div class="nodecontent">5. If all authorization steps are completed:</div>
+               <ul class="sub">
+       <li class="col" id="FMID_957597032FM"><div class="nodecontent">The node starts to accept client connections</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1531381091FM"><div class="nodecontent">(It already listens to them but rejects them)</div></li></ul></li>
+       <li class="basic" id="FMID_1959816375FM"><div class="nodecontent">Objects will now be shared with other nodes which accepts the same object types</div></li></ul></li></ul></li>
+       <li class="exp" id="FM_FM"><div class="nodecontent" style="font-size:133%;font-weight:bold;">Karma</div>
+               <ul class="sub">
+       <li class="col" id="FMID_500911435FM"><div class="nodecontent">Karma is given for validating entries in the DHT</div>
+               <ul class="subexp">
+       <li class="exp" id="FMID_1111662870FM"><div class="nodecontent">Last activity in near past</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_183345962FM"><div class="nodecontent">Does not affect karma</div></li></ul></li>
+       <li class="exp" id="FMID_1990729495FM"><div class="nodecontent">Returned pings</div>
+               <ul class="sub">
+       <li class="col" id="FMID_1774017992FM"><div class="nodecontent">Amount of sent pings</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1872142288FM"><div class="nodecontent">If no reply it got dead-listed</div></li></ul></li>
+       <li class="basic" id="FMID_4860616FM"><div class="nodecontent">Failed pings reduce karma</div></li>
+       <li class="basic" id="FMID_550660986FM"><div class="nodecontent">Slow responses reduce karma</div></li></ul></li>
+       <li class="exp" id="FMID_1391273089FM"><div class="nodecontent">Karma voting for other nodes is not to negative</div>
+               <ul class="sub">
+       <li class="col" id="FMID_231770771FM"><div class="nodecontent">Reduces manipulation chances</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1089345314FM"><div class="nodecontent">Prefer karma votes of trusted nodes</div></li>
+       <li class="basic" id="FMID_1191307246FM"><div class="nodecontent">Negative karma votings for untrusted karma reduce own karma</div></li></ul></li></ul></li>
+       <li class="basic" id="FMID_60031662FM"><div class="nodecontent">To much "spam packages" reduce karma</div></li>
+       <li class="basic" id="FMID_1008982816FM"><div class="nodecontent">Validated packages increase karma</div></li>
+       <li class="exp" id="FMID_347040992FM"><div class="nodecontent">Protocol version should not be to old</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_728947067FM"><div class="nodecontent">This affects karma only negativly</div></li>
+       <li class="basic" id="FMID_1679596533FM"><div class="nodecontent">An up-to-date protocol does not increase karma</div></li>
+       <li class="basic" id="FMID_1372440450FM"><div class="nodecontent">Does also serve as a "spam protection"</div></li>
+       <li class="col" id="FMID_1083459898FM"><div class="nodecontent">Received protocol version of node is older than stored</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1678291605FM"><div class="nodecontent">Karma is reduced</div></li></ul></li>
+       <li class="col" id="FMID_541642714FM"><div class="nodecontent">Received protocol version is much than from master-nodes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_490617049FM"><div class="nodecontent">Karma is reduced</div></li></ul></li></ul></li>
+       <li class="exp" id="FMID_497450092FM"><div class="nodecontent">Provided object types by the peer hub</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_938306595FM"><div class="nodecontent">This affectes karma only negativly</div></li>
+       <li class="basic" id="FMID_825381485FM"><div class="nodecontent">New types must first be known by masters</div></li>
+       <li class="col" id="FMID_1293114895FM"><div class="nodecontent">This should be configurable:</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1877950218FM"><div class="nodecontent">Karma should be reduced...</div></li>
+       <li class="basic" id="FMID_495666559FM"><div class="nodecontent">... or peer node should be black-listed</div></li></ul></li>
+       <li class="basic" id="FMID_553181617FM"><div class="nodecontent">Because of every node can be a master-mode censorship is really hard</div></li></ul></li>
+       <li class="exp" id="FMID_1494399358FM"><div class="nodecontent">Correctly logging</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_1155831513FM"><div class="nodecontent">Does not affect karma</div></li>
+       <li class="col" id="FMID_1719547115FM"><div class="nodecontent">Logout must be done by master node and active nodes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_538121027FM"><img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/idea.png" alt="idea" /> <div class="nodecontent">"Bye" message</div></li></ul></li>
+       <li class="col" id="FMID_584354743FM"><div class="nodecontent">Rotating of dynamic IPs should be considered</div>
+               <ul class="subexp">
+       <li class="col" id="FMID_1448843742FM"><div class="nodecontent">Must be registered by master-node</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_215961236FM"><div class="nodecontent">ID is registered as "Dynamic IP"</div></li>
+       <li class="basic" id="FMID_1967228374FM"><div class="nodecontent">So connects are still possible</div></li></ul></li>
+       <li class="basic" id="FMID_643459265FM"><div class="nodecontent">No negative votings by other nodes</div></li>
+       <li class="col" id="FMID_1506077854FM"><div class="nodecontent">Current IP does spread good in network</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1841142933FM"><div class="nodecontent">Query of the master-node only in doubt</div></li></ul></li></ul></li></ul></li></ul></li>
+       <li class="col" id="FMID_1208606831FM"><div class="nodecontent">Karma influences peer state rating and vise versa</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_938444175FM"><div class="nodecontent"><a href="Peer-State%20Rating.mm">What is peer state rating?</a> <a href="Peer-State%20Rating.mm"><img src="Generic%20Object%20Sharing%20Protocol.html_files/ilink.png" alt="User Link" style="border-width:0" /></a></div></li></ul></li></ul></li>
+       <li class="exp" id="FMFreemind_Link_1372827895FM"><div class="nodecontent" style="font-size:133%;font-weight:bold;">Fault Tolerance / Reliability</div>
+               <ul class="sub">
+       <li class="exp" id="FMID_797851882FM"><div class="nodecontent">After X failed connection attempts a node got removed</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_1354060812FM"><div class="nodecontent">Other nodes report this to the master-node</div></li>
+       <li class="basic" id="FMID_1408027065FM"><div class="nodecontent">The master-node probes the failed node and removes it</div></li></ul></li>
+       <li class="exp" id="FMID_1731494290FM"><div class="nodecontent">Failed list-node</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_856486923FM"><div class="nodecontent">Hubs are reporting it to the master-node</div></li>
+       <li class="basic" id="FMID_351192162FM"><div class="nodecontent">The master-node probes the failed list-node and removes it</div></li></ul></li>
+       <li class="exp" id="FMID_17777023FM"><div class="nodecontent">Failed master-node</div>
+               <ul class="sub">
+       <li class="col" id="FMID_1174618015FM"><div class="nodecontent">List-nodes takeover the role of a master-node if no bootstrap-nodes are available</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1260650566FM"><img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/messagebox_warning.png" alt="messagebox_warning" /> <img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/desktop_new.png" alt="desktop_new" /> <div class="nodecontent">This takeover should not be entirely and should be defined</div></li></ul></li>
+       <li class="col" id="FMID_963822392FM"><div class="nodecontent">If there is no list-node, nodes look for an active master-node</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_454301053FM"><div class="nodecontent">They report the failed master-node to it</div></li></ul></li>
+       <li class="col" id="FMID_728427686FM"><div class="nodecontent">If additionally no master-node is up, a node will be elected as new master-node</div>
+               <ul class="subexp">
+       <li class="col" id="FMID_295035279FM"><div class="nodecontent">Doing so, all nodes are identifying the node with...</div>
+               <ul class="subexp">
+       <li class="col" id="FMID_1596264326FM"><div class="nodecontent">... the best karma</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1912814834FM"><div class="nodecontent">This is known to many nodes</div></li></ul></li>
+       <li class="col" id="FMID_849494777FM"><div class="nodecontent">... most votings</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_806892556FM"><div class="nodecontent">A "vote" is a positive karma</div></li>
+       <li class="basic" id="FMID_83856880FM"><div class="nodecontent">Also known to many nodes</div></li></ul></li></ul></li>
+       <li class="basic" id="FMID_1505645119FM"><div class="nodecontent">The "election" should take place within a specific timeout</div></li>
+       <li class="basic" id="FMID_378195399FM"><div class="nodecontent">If no election is happening the node with most connections got elected</div></li></ul></li></ul></li>
+       <li class="exp" id="FMID_1034853055FM"><div class="nodecontent">If one of the bootstrap-nodes is up</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_700296041FM"><div class="nodecontent">The elected nodes notifies a some of it's fellow nodes that the bootstrap-node is back</div></li>
+       <li class="basic" id="FMID_809583260FM"><div class="nodecontent">The elected node becomes a regular node and notifies other nodes on connection attempts</div></li></ul></li>
+       <li class="exp" id="FMID_20853367FM"><div class="nodecontent">Disadvantages:</div>
+               <ul class="sub">
+       <li class="col" id="FMID_1267155557FM"><div class="nodecontent">A new node with only knowlege about the bootstrap-nodes may not be able to connect to the nodes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_783948092FM"><div class="nodecontent">Additional bootstrap-nodes on other server and/or continent may help here</div></li></ul></li></ul></li></ul></li>
+       <li class="exp" id="FMFreemind_Link_1204819150FM"><div class="nodecontent" style="font-size:133%;font-weight:bold;">Object Types</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_901281826FM"><div class="nodecontent">New object types are only addable by updating the software</div></li>
+       <li class="col" id="FMID_1235221426FM"><div class="nodecontent">It also possible by 3rd-party</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1307763574FM"><div class="nodecontent">Must be known by master/bootstrap-nodes</div></li></ul></li>
+       <li class="col" id="FMID_1829407119FM"><div class="nodecontent">Outdated object types are marked "deprecated" for a longer time</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_958660560FM"><div class="nodecontent">Master-nodes may accept or reject them</div></li>
+       <li class="basic" id="FMID_1810554626FM"><div class="nodecontent">A "deprecation message" is always being sent</div></li>
+       <li class="basic" id="FMID_1476404622FM"><div class="nodecontent">A note of a required update can optionally be added</div></li></ul></li>
+       <li class="basic" id="FMID_1066601969FM"><div class="nodecontent">After deprecation time they are treated as "unknown"</div></li>
+       <li class="col" id="FMID_1079099687FM"><div class="nodecontent">Other nodes should ask bootstrap-nodes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_312192753FM"><div class="nodecontent">This compensate errors made by master-nodes</div></li>
+       <li class="basic" id="FMID_1378184528FM"><div class="nodecontent">Wrongly deprecated object types by the master-node result in bad karma by the bootstrap-node</div></li></ul></li></ul></li>
+       <li class="exp" id="FMFreemind_Link_831929021FM"><div class="nodecontent" style="font-size:133%;font-weight:bold;">Update Messages</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_609093084FM"><div class="nodecontent">Will only be broadcasted from bootstrap- to master- and list-nodes</div></li>
+       <li class="col" id="FMID_78459346FM"><div class="nodecontent">No node will receive update messages due to heavy network load</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_187276621FM"><img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/xmag.png" alt="xmag" /> <img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/help.png" alt="help" /> <div class="nodecontent">Maybe only "good" nodes should receive this?</div></li></ul></li>
+       <li class="basic" id="FMID_1800878584FM"><div class="nodecontent">Contains update notes and importance level</div></li></ul></li>
+       <li class="exp" id="FMFreemind_Link_168475853FM"><div class="nodecontent" style="font-size:133%;font-weight:bold;">"Client" Connections</div>
+               <ul class="sub">
+       <li class="basic" id="FMID_887207372FM"><img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/bell.png" alt="bell" /> <div class="nodecontent">Should be interpreted as "application software"</div></li>
+       <li class="col" id="FMID_1404415085FM"><div class="nodecontent">Clients should also generate a "client id"</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_890448171FM"><div class="nodecontent">Both id and sid</div></li></ul></li>
+       <li class="col" id="FMID_905265839FM"><div class="nodecontent">Will also connect first to bootstrap-nodes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_267897982FM"><div class="nodecontent">Ask for a node-list as well</div></li></ul></li>
+       <li class="basic" id="FMID_1618908435FM"><div class="nodecontent">Do also receive karma from nodes</div></li>
+       <li class="basic" id="FMID_1963451868FM"><div class="nodecontent">Dynamic IPs are also accepted and therefore must be registered</div></li></ul></li>
+       <li class="exp" id="FMFreemind_Link_1445979240FM"><div class="nodecontent" style="font-size:133%;font-weight:bold;">Client&lt;-&gt;Node Communication</div>
+               <ul class="sub">
+       <li class="col" id="FMID_943175241FM"><div class="nodecontent">After a client has bootstrapped it announces all it's object types to the nodes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1767214665FM"><div class="nodecontent">Including acceptance of broadcasts, poll-mode and Ping-POST</div></li></ul></li>
+       <li class="basic" id="FMID_863331362FM"><div class="nodecontent">By this the nodes know clients and their accepted object types</div></li>
+       <li class="col" id="FMID_1164918209FM"><div class="nodecontent">Clients may download a node-list for a specific object type</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_316412521FM"><div class="nodecontent">Distinct-List-Mode</div></li>
+       <li class="basic" id="FMID_1133743039FM"><div class="nodecontent">After selecting a node the client can request a list of clients from that hub</div></li>
+       <li class="col" id="FMID_1354848303FM"><div class="nodecontent">From these clients the client can accept objects from and send to</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_916621577FM"><div class="nodecontent">E.g. news by broadcast</div></li></ul></li></ul></li>
+       <li class="col" id="FMID_1437737506FM"><div class="nodecontent">Clients may send "broadcast" objects</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_502650341FM"><div class="nodecontent">Broadcast-Mode</div></li>
+       <li class="col" id="FMID_1181498655FM"><div class="nodecontent">Must be allowed by nodes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_21709646FM"><div class="nodecontent">This consumes traffic</div></li>
+       <li class="basic" id="FMID_1933322168FM"><div class="nodecontent">Acceptance of broadcasts is known to list-/master- and bootstrap-nodes</div></li></ul></li>
+       <li class="col" id="FMID_406948313FM"><div class="nodecontent">A client sends its broadcast to the master-nodes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_787211186FM"><div class="nodecontent">They are distribute it to their fellow nodes</div></li>
+       <li class="basic" id="FMID_137555539FM"><div class="nodecontent">A node knows which client accepts broadcasts and "deposits" it for the client</div></li>
+       <li class="col" id="FMID_1517266448FM"><div class="nodecontent">Clients are requesting such broadcasts by poll-mode or are "pinged"</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_226822278FM"><div class="nodecontent">In poll-mode the client asks on a regular basis at the node for new broadcasts</div></li>
+       <li class="col" id="FMID_690207050FM"><div class="nodecontent">A Ping-POST is being sent by the node as a regular HTTP-POST request to the client</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_651208220FM"><div class="nodecontent">This also happens on a regular basis</div></li></ul></li>
+       <li class="basic" id="FMID_1777926717FM"><div class="nodecontent">A node-admin may allow both types independly</div></li>
+       <li class="col" id="FMID_1034616429FM"><div class="nodecontent">If none is allowed the node acts as a "relay"</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_328449565FM"><div class="nodecontent">And therefore it cannot accept clients with broadcast-functionality enabled</div></li></ul></li></ul></li></ul></li></ul></li>
+       <li class="col" id="FMID_123440634FM"><div class="nodecontent" style="font-size:117%;font-weight:bold;">Client-Client Communication</div>
+               <ul class="subexp">
+       <li class="col" id="FMID_1297434555FM"><div class="nodecontent">May be done "anonymously" over the node or directly with an other client</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1164113868FM"><div class="nodecontent">Communication of the node is done in poll-mode or by Ping-POST</div></li>
+       <li class="basic" id="FMID_1562747100FM"><div class="nodecontent">Direct client-client communication client "A" sends a Ping-POST directly to client "B"</div></li></ul></li>
+       <li class="basic" id="FMID_1565480551FM"><img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/xmag.png" alt="xmag" /> <img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/desktop_new.png" alt="desktop_new" /> <div class="nodecontent">Wrongly sent Ping-POSTs (e.g. the admin doesn't allow them) may be answered with a regular HTTP status '4XX'</div></li></ul></li></ul></li>
+       <li class="exp" id="FMFreemind_Link_329480665FM"><div class="nodecontent" style="font-size:133%;font-weight:bold;">Usage of low-level protocols</div>
+               <ul class="sub">
+       <li class="col" id="FMID_1153839529FM"><div class="nodecontent">Already existing low-level protocols like TCP/IP and UDP should be used</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1598189785FM"><div class="nodecontent">TCP should be used for "inter-communication"</div></li>
+       <li class="col" id="FMID_645100554FM"><div class="nodecontent">UDP should be used for "streaming" the objects to other nodes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1495758083FM"><div class="nodecontent">Parties are generating hashes of chunks for validation</div></li>
+       <li class="col" id="FMID_1858876702FM"><div class="nodecontent">Chunks should only be created for very big objects</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_48304701FM"><img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/xmag.png" alt="xmag" /> <img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/messagebox_warning.png" alt="messagebox_warning" /> <div class="nodecontent">Total object size is larger than X KByte</div></li></ul></li>
+       <li class="col" id="FMID_787015036FM"><div class="nodecontent">The sender creates hashes and adds them to the chunk</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1735939949FM"><div class="nodecontent">The receivers validates them</div></li>
+       <li class="basic" id="FMID_1263867983FM"><div class="nodecontent">No serial numbers a-la TCP are generated</div></li></ul></li>
+       <li class="col" id="FMID_140457451FM"><div class="nodecontent">The last chunk package contains both hashes</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1247676236FM"><div class="nodecontent">Hash of itself and the final hash</div></li></ul></li>
+       <li class="col" id="FMID_699064211FM"><div class="nodecontent">If a hash fails to validate it is being collected</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_833760624FM"><div class="nodecontent">After the final chunk was sent, failed chunks a re-requested</div></li></ul></li>
+       <li class="col" id="FMID_45598378FM"><div class="nodecontent">This is retried X times per hash</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1953539364FM"><div class="nodecontent">But always at the end of the whole transaction and all together</div></li>
+       <li class="col" id="FMID_1087617216FM"><div class="nodecontent">If still some hashes failed to transfer</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1392619755FM"><div class="nodecontent">The object got dropped or fully requested</div></li>
+       <li class="basic" id="FMID_84288828FM"><div class="nodecontent">This should be configurable by the admin</div></li>
+       <li class="col" id="FMID_618078349FM"><div class="nodecontent">To do so, the final hash and object type is submitted to the sender</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_821681010FM"><img src="Generic%20Object%20Sharing%20Protocol.html_files/icons/attach.png" alt="attach" /> <div class="nodecontent">"Restransmit-Message"</div></li></ul></li>
+       <li class="basic" id="FMID_1340892559FM"><div class="nodecontent">The sender is now trying smaller chunks</div></li></ul></li></ul></li>
+       <li class="col" id="FMID_628938328FM"><div class="nodecontent">If all was successfully received</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1988047416FM"><div class="nodecontent">The receivers sends a "done-message" to the sender with final hash and object type</div></li></ul></li></ul></li>
+       <li class="col" id="FMID_1473966368FM"><div class="nodecontent">There is also a "real" streaming mode</div>
+               <ul class="subexp">
+       <li class="basic" id="FMID_1654508253FM"><div class="nodecontent">This is e.g. used for chat</div></li>
+       <li class="basic" id="FMID_429118222FM"><div class="nodecontent">For this TCP/IP is used and no hashes are generated</div></li>
+       <li class="basic" id="FMID_480009945FM"><div class="nodecontent">Also no chunks are generated</div></li>
+       <li class="basic" id="FMID_29563235FM"><div class="nodecontent">Only in this mode "multi-casting" is possible</div></li></ul></li></ul></li></ul></li></ul></li></ul></div></body></html>
\ No newline at end of file
index beea00eeae6e64d332b94d3958d9a556ef68b624..66553c3b7ef95100569c6ccd6a86993b6c8d2bae 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/Mail.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/Mail.png differ
index b03a77e60c353ca1d1b9cb8622a5b3776095ae52..2e4657e76897ef694ac21e088c5811ff7d1d4710 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/attach.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/attach.png differ
index 5a86cd8bc89676c1b0797ffa401bd2a7fcb85675..27930f93e91843c191f8818ad50e8e33f260618b 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/back.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/back.png differ
index 8afab9d8ae01cedacf1441645c5966516e2174e1..354f6d5e93ad5631a859ab580e9a55ee5cd57b41 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/bell.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/bell.png differ
index 67f1832da369c555ef353b33dc038bac42b1f505..2b61e4ad1e75b836a6e9dae338983aa2521f5635 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/bookmark.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/bookmark.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/broken-line.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/broken-line.png
new file mode 100644 (file)
index 0000000..cc55444
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/broken-line.png differ
index a9c624a083d9671706044d600ccd4a92ab0dec23..07112708943a250f241aee66bf8e57adc9efe45f 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/button_cancel.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/button_cancel.png differ
index 9a817fdcd81f61f35d9792020bc91eed0bb0fa0d..dd1c40891c0af85e406f5c323b8aad8ac8a8db96 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/button_ok.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/button_ok.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/calendar.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/calendar.png
new file mode 100644 (file)
index 0000000..c7fa6be
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/calendar.png differ
index 16679ba90d7e83b5f2c25c2711cd6e041c4be660..270f771a812bd96c807b93fc56e4076f02e98f7e 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/clanbomber.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/clanbomber.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/clock.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/clock.png
new file mode 100644 (file)
index 0000000..380c419
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/clock.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/closed.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/closed.png
new file mode 100644 (file)
index 0000000..7f0fa48
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/closed.png differ
index 366368f745a9d94275c2bca9e489ff01f5ddabe9..0337ddde9412087acb54bc981934cdfde1f754b1 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/desktop_new.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/desktop_new.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/down.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/down.png
new file mode 100644 (file)
index 0000000..9ea6d45
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/down.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/edit.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/edit.png
new file mode 100644 (file)
index 0000000..aeca7aa
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/edit.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/family.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/family.png
new file mode 100644 (file)
index 0000000..abeb561
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/family.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/fema.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/fema.png
new file mode 100644 (file)
index 0000000..f2691a9
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/fema.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/female1.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/female1.png
new file mode 100644 (file)
index 0000000..a67091f
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/female1.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/female2.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/female2.png
new file mode 100644 (file)
index 0000000..7202015
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/female2.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-black.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-black.png
new file mode 100644 (file)
index 0000000..3394ebb
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-black.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-blue.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-blue.png
new file mode 100644 (file)
index 0000000..3bee08a
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-blue.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-green.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-green.png
new file mode 100644 (file)
index 0000000..07850a2
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-green.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-orange.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-orange.png
new file mode 100644 (file)
index 0000000..a5a4346
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-orange.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-pink.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-pink.png
new file mode 100644 (file)
index 0000000..221114c
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-pink.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-yellow.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-yellow.png
new file mode 100644 (file)
index 0000000..c29b9cf
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag-yellow.png differ
index e9defd14f38e0244b1119409e61eada0e5427058..be26f268832c80b47124d953d429e4437cb4abdc 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/flag.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/folder.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/folder.png
new file mode 100644 (file)
index 0000000..f34809f
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/folder.png differ
index b80d28a5dcdab1230b9139ecf248489aab451090..af3668f76ac761f793d806d96c9f40d001bd1ae2 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/forward.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/forward.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/freemind_butterfly.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/freemind_butterfly.png
new file mode 100644 (file)
index 0000000..896188f
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/freemind_butterfly.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-0.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-0.png
new file mode 100644 (file)
index 0000000..253af36
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-0.png differ
index 80a6c6611f541648665ea9b55eafcc57ab2129cb..a2adb49ac766d5e5849c70a974f3155ac8d12645 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-1.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-1.png differ
index bc26aef8193298cf708b4325f36df13ef5a46280..47969063f4d3c9a64c9b3bf5d103db5b4960f03a 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-2.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-2.png differ
index e4194642cc318fdf03a62d6e2e96e11085675fe3..66acf1ccf27404938ae93cbad7aa1d2748f3dd5a 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-3.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-3.png differ
index d82ee2f47b46c82d40321747a9ed8650790edafc..595d587b24b3b9f833b3af9bd4467b5a2a2b19f8 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-4.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-4.png differ
index 2860401a04ad71aeee938c6d73bd85baad21374f..bffcee99439747d0bbe6f5380f8680bedeafb139 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-5.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-5.png differ
index 10ef02afaec94a312bc54da9aa110d2365deb453..9618296e6bb3e20c021bdd9680d403707a2e4e1d 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-6.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-6.png differ
index e55f3ff990b7a41913754eb08333ce18fa7322ff..69f057d54ae125aa620541211b93b4a68b652884 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-7.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-7.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-8.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-8.png
new file mode 100644 (file)
index 0000000..64b20a8
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-8.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-9.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-9.png
new file mode 100644 (file)
index 0000000..754226f
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/full-9.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/go.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/go.png
new file mode 100644 (file)
index 0000000..0fe8843
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/go.png differ
index 17bf02f599ff96f0ff4f60de81fd599c568e935b..a47001dab3e3876ccf310f8a4adf70b95c574139 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/gohome.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/gohome.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/group.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/group.png
new file mode 100644 (file)
index 0000000..c2c76e5
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/group.png differ
index d6391a2b6275ff3b0230f2700790d50b1ef205fb..31c4e679eca7185fbccd8cc26aeebbc3f501bdf1 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/help.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/help.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/hourglass.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/hourglass.png
new file mode 100644 (file)
index 0000000..84f9cdd
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/hourglass.png differ
index 8d18b021c6c48dad684a1ec59e3f5c06000c568a..b2c4be842492e318c8a41742020fe0614761532f 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/idea.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/idea.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/info.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/info.png
new file mode 100644 (file)
index 0000000..c7719ba
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/info.png differ
index 8bfe4ae581c1c860bd11409622269a3ddc11f092..e1067afeb27ca73386ce032b34575d31c0eea562 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/kaddressbook.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/kaddressbook.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/kmail.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/kmail.png
new file mode 100644 (file)
index 0000000..56325b6
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/kmail.png differ
index 0104e724c1b9c537a3a79f01da7fd5ae6c13a8db..9bea5a04497c2d0ca9f8ca0f7a28e82d02527613 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/knotify.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/knotify.png differ
index a4e91077452a3c3b8de319e8b6a9d08b621b8b8c..275f026e41cf5f4a5903a2eaf07f5f32fb7699f1 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/korn.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/korn.png differ
index b95f903cbb2d79afafe12cf03534ecf049797e96..54ab5b06459e1c462b1b5cdde8b524243a6ce0c1 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/ksmiletris.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/ksmiletris.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/launch.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/launch.png
new file mode 100644 (file)
index 0000000..30f8e3d
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/launch.png differ
index 34f8ccebe59ab9798686a359ab4128bace32675f..5ea5e4de46dada2d93921f113b72f978a82efdc3 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/licq.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/licq.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/list.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/list.png
new file mode 100644 (file)
index 0000000..1827654
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/list.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/male1.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/male1.png
new file mode 100644 (file)
index 0000000..6dfa853
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/male1.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/male2.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/male2.png
new file mode 100644 (file)
index 0000000..f2e9819
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/male2.png differ
index afc9c9ca9bcfa305ea9ca26208c9d24a65b2e525..dfc69db7e7096c14fcb7c9781fe02a918330cc0b 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/messagebox_warning.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/messagebox_warning.png differ
index 5e86bbbbd44e6d880933b1f5958a342bc513d25c..f7e8e5995ba89a3801648618553d79522c697fed 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/password.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/password.png differ
index 575dd32800ace876a9aac8594ded04cfb0119c75..b37112722242d5e851e34c90595fe0aab388e46c 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/pencil.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/pencil.png differ
index 0f61ec5971b509a6e3f91259224b9fb9ad1eb272..808dabd1366d07aacd52bf766fcf5c9ee454c216 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/penguin.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/penguin.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/prepare.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/prepare.png
new file mode 100644 (file)
index 0000000..260be28
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/prepare.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-angry.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-angry.png
new file mode 100644 (file)
index 0000000..43d0871
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-angry.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-neutral.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-neutral.png
new file mode 100644 (file)
index 0000000..89b9b27
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-neutral.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-oh.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-oh.png
new file mode 100644 (file)
index 0000000..3e1284c
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/smiley-oh.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/smily_bad.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/smily_bad.png
new file mode 100644 (file)
index 0000000..15bd61c
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/smily_bad.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/stop-sign.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/stop-sign.png
new file mode 100644 (file)
index 0000000..a978ed2
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/stop-sign.png differ
index 981c4cfe0ed143632a405f713562f3a9b9474f2a..a092f72a2e37ade1024f4571bbe04cd25b98f68c 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/stop.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/stop.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/up.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/up.png
new file mode 100644 (file)
index 0000000..284181c
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/up.png differ
index 93a1d9148b64c685ecb20973b336bdeae1ab77f1..be4f3e8954bdfa7ad5cb2536453303043040dcd3 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/wizard.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/wizard.png differ
index 32a4a15371f5abfe7f9cd38f20f7583117d7bf71..08d31e0462be2c1180849c8fee707d82dc6e7143 100644 (file)
Binary files a/mindmaps/Generic Object Sharing Protocol.html_files/icons/xmag.png and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/xmag.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/icons/yes.png b/mindmaps/Generic Object Sharing Protocol.html_files/icons/yes.png
new file mode 100644 (file)
index 0000000..d3c09a2
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/icons/yes.png differ
diff --git a/mindmaps/Generic Object Sharing Protocol.html_files/ilink.png b/mindmaps/Generic Object Sharing Protocol.html_files/ilink.png
new file mode 100644 (file)
index 0000000..3e7f928
Binary files /dev/null and b/mindmaps/Generic Object Sharing Protocol.html_files/ilink.png differ
index 10bba606f238ad486ec3d045cac43dde957ca369..60fcf266a772d2f5c0455709b3ef87c71c1a2d68 100644 (file)
@@ -1,9 +1,7 @@
 /* MarkTree JavaScript code\r
  * \r
- * The contents of this file are subject to the Mozilla Public License Version\r
- * 1.1 (the "License"); you may not use this file except in compliance with\r
- * the License. You may obtain a copy of the License at\r
- * http://www.mozilla.org/MPL/\r
+ * Distributed under the terms of the MIT License.\r
+ * See "LICENCE.MIT" or http://www.opensource.org/licenses/mit-license.php for details.\r
  *\r
  * Software distributed under the License is distributed on an "AS IS" basis,\r
  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
index aecb6e18a7b637c7e8e42aa9a55b00c88dc67b11..6d60733dc97c4d5b6e330e2df237729a2b51459c 100644 (file)
@@ -159,3 +159,89 @@ li.basic_active {
   margin-top:2px;\r
   margin-bottom:2px;\r
 }\r
+\r
+/* the 'boxed' and 'attributes' styles are used to display notes and attributes\r
+*/\r
+\r
+.boxed,.nodecontent {display:inline;}\r
+.boxed .note-and-attributes {display:none;}\r
+\r
+.boxed:hover .note-and-attributes {\r
+       position:fixed; top:2em;right:10px;z-index:3;\r
+       display:block;\r
+       min-width:33%;\r
+       max-width:60%;\r
+       max-height:95%;\r
+       color:black;\r
+       background:#ffffff;\r
+       font:normal 16px courier, sans-serif;\r
+       border:1px solid black;\r
+       padding:10px;\r
+}\r
+\r
+.note:before {\r
+       content:"NOTE: ";\r
+       font-weight:bold;\r
+}\r
+\r
+table.attributes {\r
+       border-collapse:collapse;\r
+       empty-cells:show;\r
+       border:thin black solid;\r
+}\r
+table.attributes td,th {\r
+       border:thin black solid;\r
+       padding-top:2px;\r
+       padding-bottom:2px;\r
+       padding-left:3px;\r
+       padding-right:3px;\r
+}\r
+table.attributes th {\r
+       text-align:center;\r
+}\r
+table.attributes caption {\r
+       margin-top:1em;\r
+       font-style:italic;\r
+       text-align:center;\r
+}\r
+/* Thanks to wolfgangradke, https://sourceforge.net/forum/message.php?msg_id=5991663 */\r
+div.nodecontent > p {\r
+       margin-top:0pt;\r
+       margin-bottom:0pt;\r
+       display:inline;\r
+}\r
+\r
+p + p { \r
+       margin-top: 0.5em !important;\r
+       display:block !important;\r
+}\r
+\r
+/* Thanks to erne100, https://sourceforge.net/tracker/?func=detail&atid=107118&aid=2747128&group_id=7118*/\r
+table {\r
+       border-collapse:collapse;\r
+       empty-cells:show;\r
+       border:thin black solid;\r
+}\r
+table td {\r
+       border:thin black solid;\r
+       padding-top:2px;\r
+       padding-bottom:2px;\r
+       padding-left:3px;\r
+       padding-right:3px;\r
+}\r
+\r
+/* Thanks to erne100, https://sourceforge.net/tracker/?func=detail&atid=107118&aid=2747000&group_id=7118*/\r
+ol {\r
+       margin-top:1px;\r
+    margin-bottom:1px;\r
+       margin-left:0px;\r
+       padding-left:3%;\r
+}\r
+\r
+ol li {\r
+       list-style:decimal;\r
+       font-family:sans-serif;\r
+       font-weight:normal;\r
+}\r
+\r
+\r
index 3e7f7c332b84858060b3ee6f923e4443439e0408..12ac5c2fcf0a61400dd1907db2ccaff085e1ba58 100644 (file)
-<map version="0.8.0">
+<map version="1.0.0">
 <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
-<node CREATED="1236122299751" ID="Freemind_Link_1069566441" MODIFIED="1236902424887" TEXT="Generic Object-Sharing Protocol">
+<node CREATED="1236122299751" ID="Freemind_Link_1069566441" MODIFIED="1341963437640" TEXT="Generic Object-Sharing Protocol">
 <font BOLD="true" NAME="Dialog" SIZE="20"/>
-<node CREATED="1236123417491" FOLDED="true" ID="Freemind_Link_1660540085" MODIFIED="1236899597347" POSITION="right" TEXT="Node Identification">
+<node CREATED="1236123417491" FOLDED="true" ID="Freemind_Link_1660540085" MODIFIED="1341963416827" POSITION="left" TEXT="Node Identification">
 <font BOLD="true" NAME="Dialog" SIZE="16"/>
-<node CREATED="1236124236611" ID="Freemind_Link_780558731" MODIFIED="1236124257084" TEXT="Every node generates an id string by random">
-<node CREATED="1236124483890" ID="Freemind_Link_1498010716" MODIFIED="1236124589043" TEXT="This is the node id (node identifier)"/>
-<node CREATED="1236124257580" ID="Freemind_Link_458280781" MODIFIED="1236124263937" TEXT="Only on first use"/>
-<node CREATED="1236124265079" ID="Freemind_Link_698958541" MODIFIED="1236124280179" TEXT="This should be globally unique"/>
-<node CREATED="1236124280846" ID="Freemind_Link_1564511533" MODIFIED="1236124294759" TEXT="It will be stored in node&apos;s database for later reuse"/>
-<node CREATED="1236124347351" ID="Freemind_Link_982080681" MODIFIED="1236124368097" TEXT="A hash is being generated of it">
-<node CREATED="1236124368566" ID="Freemind_Link_177707740" MODIFIED="1236124377872" TEXT="Hashed data:">
-<node CREATED="1236124379303" ID="Freemind_Link_1317863864" MODIFIED="1236124418199" TEXT="Node&apos;s IP number and hostname"/>
-<node CREATED="1236124387791" ID="Freemind_Link_1030355543" MODIFIED="1236124397985" TEXT="Some random characters"/>
-</node>
-</node>
-<node CREATED="1236124430078" ID="Freemind_Link_1022876700" MODIFIED="1236124456692" TEXT="This id does not change as long as the database is not purged"/>
-</node>
-<node CREATED="1236124463032" ID="Freemind_Link_1712131488" MODIFIED="1236124472608" TEXT="Per session another id is generated">
-<node CREATED="1236124474040" ID="Freemind_Link_439993942" MODIFIED="1236124511110" TEXT="This is the SID (Session IDentifier)"/>
-<node CREATED="1236124545181" ID="Freemind_Link_1215594894" MODIFIED="1236124553563" TEXT="It is being distributed to the nodes"/>
-<node CREATED="1236124613215" ID="Freemind_Link_1633651159" MODIFIED="1236124623514" TEXT="It stored together with the Node-Id">
-<node CREATED="1236124625776" ID="Freemind_Link_651452439" MODIFIED="1236124638851" TEXT="So other can validate bother together"/>
-</node>
-<node CREATED="1236124646273" ID="Freemind_Link_789902518" MODIFIED="1236124677328" TEXT="Logging should only enabled for debugging purposes">
+<node CREATED="1236124236611" ID="ID_1477365404" MODIFIED="1236124257084" TEXT="Every node generates an id string by random">
+<node CREATED="1236124483890" ID="ID_1127544543" MODIFIED="1236124589043" TEXT="This is the node id (node identifier)"/>
+<node CREATED="1236124257580" ID="ID_697104790" MODIFIED="1236124263937" TEXT="Only on first use"/>
+<node CREATED="1236124265079" ID="ID_128861556" MODIFIED="1236124280179" TEXT="This should be globally unique"/>
+<node CREATED="1236124280846" ID="ID_1439756693" MODIFIED="1236124294759" TEXT="It will be stored in node&apos;s database for later reuse"/>
+<node CREATED="1236124347351" ID="ID_1503568440" MODIFIED="1236124368097" TEXT="A hash is being generated of it">
+<node CREATED="1236124368566" ID="ID_1815442429" MODIFIED="1236124377872" TEXT="Hashed data:">
+<node CREATED="1236124379303" ID="ID_1724036552" MODIFIED="1236124418199" TEXT="Node&apos;s IP number and hostname"/>
+<node CREATED="1236124387791" ID="ID_1636874238" MODIFIED="1236124397985" TEXT="Some random characters"/>
+</node>
+</node>
+<node CREATED="1236124430078" ID="ID_1520648841" MODIFIED="1236124456692" TEXT="This id does not change as long as the database is not purged"/>
+</node>
+<node CREATED="1236124463032" ID="ID_898313647" MODIFIED="1236124472608" TEXT="Per session another id is generated">
+<node CREATED="1236124474040" ID="ID_655958172" MODIFIED="1236124511110" TEXT="This is the SID (Session IDentifier)"/>
+<node CREATED="1236124545181" ID="ID_554796464" MODIFIED="1236124553563" TEXT="It is being distributed to the nodes"/>
+<node CREATED="1236124613215" ID="ID_1894972611" MODIFIED="1236124623514" TEXT="It stored together with the Node-Id">
+<node CREATED="1236124625776" ID="ID_996671794" MODIFIED="1236124638851" TEXT="So other can validate bother together"/>
+</node>
+<node CREATED="1236124646273" ID="ID_1579813135" MODIFIED="1341962742169" TEXT="Logging should be enabled for debugging purposes only">
 <icon BUILTIN="messagebox_warning"/>
 </node>
 </node>
-<node CREATED="1236124693242" ID="Freemind_Link_902328932" MODIFIED="1236124765100" TEXT="Locking IPs or Node-Ids on master-nodes is not planed">
-<node CREATED="1236124770510" ID="Freemind_Link_1592412776" MODIFIED="1236124780694" TEXT="Censorship would be to very easy">
-<node CREATED="1236124781013" ID="Freemind_Link_423578439" MODIFIED="1236124872658" TEXT="Government agencies or enterprise parties"/>
+<node CREATED="1341962717511" ID="ID_598230637" MODIFIED="1341962729070" TEXT="Private key and its corresponding hash">
+<node CREATED="1341962748408" ID="ID_1802867259" MODIFIED="1341962769259" TEXT="For signed and later encrypted traffic?">
+<icon BUILTIN="help"/>
+<icon BUILTIN="idea"/>
 </node>
-<node CREATED="1236124882253" ID="Freemind_Link_84092519" MODIFIED="1236124903288" TEXT="Censhorship makes no sence here">
-<node CREATED="1236124904844" ID="Freemind_Link_514458550" MODIFIED="1236124918893" TEXT="It can very easy be bypassed:"/>
-<node CREATED="1236124919421" ID="Freemind_Link_1221678941" MODIFIED="1236124938847" TEXT="Delete Node-Id in database">
-<node CREATED="1236124939605" ID="Freemind_Link_904836052" MODIFIED="1236124945027" TEXT="A new one got generated"/>
 </node>
-<node CREATED="1236124945999" ID="Freemind_Link_1262635656" MODIFIED="1236124992323" TEXT="Locked IP or port number can be bypassed by proxies"/>
-<node CREATED="1236125001603" ID="Freemind_Link_1619827292" MODIFIED="1236125026247" TEXT="One or two master-nodes should listen on ports commonly unblocked by firewalls">
-<node CREATED="1236125029121" ID="Freemind_Link_709609072" MODIFIED="1236125034518" TEXT="Like 80/443/110/25"/>
+<node CREATED="1236124693242" ID="ID_1999616583" MODIFIED="1236124765100" TEXT="Locking IPs or Node-Ids on master-nodes is not planed">
+<node CREATED="1236124770510" ID="ID_515276316" MODIFIED="1236124780694" TEXT="Censorship would be to very easy">
+<node CREATED="1236124781013" ID="ID_1582468782" MODIFIED="1236124872658" TEXT="Government agencies or enterprise parties"/>
 </node>
+<node CREATED="1236124882253" ID="ID_206577967" MODIFIED="1236124903288" TEXT="Censhorship makes no sence here">
+<node CREATED="1236124904844" ID="ID_142027532" MODIFIED="1236124918893" TEXT="It can very easy be bypassed:"/>
+<node CREATED="1236124919421" ID="ID_482299521" MODIFIED="1236124938847" TEXT="Delete Node-Id in database">
+<node CREATED="1236124939605" ID="ID_1867340714" MODIFIED="1236124945027" TEXT="A new one got generated"/>
 </node>
+<node CREATED="1236124945999" ID="ID_391061380" MODIFIED="1236124992323" TEXT="Locked IP or port number can be bypassed by proxies"/>
+<node CREATED="1236125001603" ID="ID_1806532479" MODIFIED="1236125026247" TEXT="One or two master-nodes should listen on ports commonly unblocked by firewalls">
+<node CREATED="1236125029121" ID="ID_168189651" MODIFIED="1236125034518" TEXT="Like 80/443/110/25"/>
 </node>
-<node CREATED="1236125070021" ID="Freemind_Link_441713513" MODIFIED="1236125081500" TEXT="Hubs can be optionally registered by master-nodes">
-<node CREATED="1236125088538" ID="Freemind_Link_1200999421" MODIFIED="1236125107221" TEXT="Increases karma because the node admin is verified"/>
-<node CREATED="1236125114584" ID="Freemind_Link_1617168424" MODIFIED="1236125131976" TEXT="Unregistered nodes does not receive negative votings"/>
 </node>
 </node>
-<node CREATED="1236126779348" ID="Freemind_Link_1339348415" MODIFIED="1253894423583" POSITION="right" TEXT="Bootstrapping">
-<font BOLD="true" NAME="Dialog" SIZE="16"/>
-<node CREATED="1236126838827" FOLDED="true" ID="Freemind_Link_453620216" MODIFIED="1236126858610" TEXT="At least one, better 3 to 4, master-nodes are required">
-<node CREATED="1236126861889" ID="Freemind_Link_265648584" MODIFIED="1236126877833" TEXT="Aka. &quot;Bootstrap-Nodes&quot;"/>
-<node CREATED="1253894510297" ID="Freemind_Link_1226811309" MODIFIED="1253894527932" TEXT="They should be listed in the configuration for all applications"/>
-<node CREATED="1253894528917" ID="Freemind_Link_979767017" MODIFIED="1253894547575" TEXT="A comma-seperated list of node IPs with port numbers seperated by double-dot (:)"/>
-</node>
-<node CREATED="1236126921639" FOLDED="true" ID="Freemind_Link_854375254" MODIFIED="1236126946151" TEXT="Bootstrap-Nodes are working stand-alone">
-<node CREATED="1236126947723" ID="Freemind_Link_882684293" MODIFIED="1236126962499" TEXT="No central &quot;Super-Node&quot; is required"/>
-<node CREATED="1236126965866" ID="Freemind_Link_1661888163" MODIFIED="1236126982695" TEXT="Too much traffic would have to flow through it"/>
-<node CREATED="1236127003403" ID="Freemind_Link_1121780060" MODIFIED="1236127025469" TEXT="Attacks on the network by censorship are reduced"/>
-<node CREATED="1236127332394" ID="Freemind_Link_924004535" MODIFIED="1236127411770" TEXT="Traffic does not increase network-overall load"/>
-<node CREATED="1236127431176" ID="Freemind_Link_1573570415" MODIFIED="1236127439863" TEXT="Small disadvantage:">
-<node CREATED="1236127454917" ID="Freemind_Link_1018217993" MODIFIED="1236127479717" TEXT="Hubs must register with ..."/>
-<node CREATED="1236127466818" ID="Freemind_Link_665965725" MODIFIED="1236127476905" TEXT="... more than one master-node ..."/>
-<node CREATED="1236127480391" ID="Freemind_Link_1849172644" MODIFIED="1236127490538" TEXT=".. or connect with each other"/>
-</node>
-</node>
-<node CREATED="1253894719381" FOLDED="true" ID="Freemind_Link_1225609057" MODIFIED="1253894741309" TEXT="1. Node checks if there is a list of master nodes already stored">
-<node CREATED="1253894741787" ID="Freemind_Link_712469416" MODIFIED="1253894767578" TEXT="If so, it skips fetching the list of nodes step"/>
-</node>
-<node CREATED="1253894428802" FOLDED="true" ID="Freemind_Link_934377424" MODIFIED="1253894784130" TEXT="2. Node is announcing itself to the upper bootstrap hub(s)">
-<node CREATED="1253894443360" ID="Freemind_Link_1716805408" MODIFIED="1253894453653" TEXT="This should be done generic to keep things easy"/>
-<node CREATED="1253894454388" ID="Freemind_Link_1472603257" MODIFIED="1253894468689" TEXT="Recommended is maybe an XML with all neccessary data"/>
-<node CREATED="1253895161895" ID="Freemind_Link_207316718" MODIFIED="1253895177811" TEXT="The session id will not be included here">
-<node CREATED="1253895178123" ID="Freemind_Link_772369973" MODIFIED="1253895194476" TEXT="A bootstrap node will never try to connect clients with nodes"/>
-<node CREATED="1253895196001" ID="Freemind_Link_1528083000" MODIFIED="1253895256138" TEXT="It should only &quot;bootstrap&quot; (tell the node where it should start sharing its objects)">
-<icon BUILTIN="desktop_new"/>
-<icon BUILTIN="messagebox_warning"/>
+<node CREATED="1236125070021" ID="ID_523493738" MODIFIED="1236125081500" TEXT="Hubs can be optionally registered by master-nodes">
+<node CREATED="1236125088538" ID="ID_1831087894" MODIFIED="1236125107221" TEXT="Increases karma because the node admin is verified"/>
+<node CREATED="1236125114584" ID="ID_1334181154" MODIFIED="1236125131976" TEXT="Unregistered nodes does not receive negative votings"/>
 </node>
 </node>
-</node>
-<node CREATED="1236127732643" FOLDED="true" ID="Freemind_Link_608191462" MODIFIED="1253894770380" TEXT="3. Node is fetching a list of other nodes">
-<node CREATED="1236127749005" ID="Freemind_Link_195277951" MODIFIED="1236127763644" TEXT="They must have at least X matching object types"/>
-<node CREATED="1253894968712" ID="Freemind_Link_823475561" MODIFIED="1253895023332" STYLE="fork" TEXT="If a bootstrap node is full it forwards the node to an other bootstrap hub"/>
-<node CREATED="1253895005469" ID="Freemind_Link_1371102915" MODIFIED="1253895019605" STYLE="fork" TEXT="If that node is again full the node will be forwarded to a list node"/>
-<node CREATED="1253895024033" ID="Freemind_Link_897238975" MODIFIED="1253895056593" STYLE="fork" TEXT="If wether no free bootstrap nor list node is available the node waits some time and tries it again"/>
-<node CREATED="1236127559361" ID="Freemind_Link_453619955" MODIFIED="1253894864468" TEXT="Hashes of node-lists distributed over the bootstrap and list nodes should match">
-<node CREATED="1253894867514" ID="Freemind_Link_1552507439" MODIFIED="1253894879514" TEXT="This can be ensured by a DHT">
-<node CREATED="1253894880687" ID="Freemind_Link_1112603271" MODIFIED="1253894888420" TEXT="DHT = Distributed Hash Table"/>
-<node CREATED="1253894891016" ID="Freemind_Link_123842120" MODIFIED="1253894911641" TEXT="Which format?">
+<node CREATED="1236126779348" ID="Freemind_Link_1339348415" MODIFIED="1341963418341" POSITION="left" TEXT="Bootstrapping">
+<font BOLD="true" NAME="Dialog" SIZE="16"/>
+<node CREATED="1236126838827" FOLDED="true" ID="ID_910314668" MODIFIED="1236126858610" TEXT="At least one, better 3 to 4, master-nodes are required">
+<node CREATED="1236126861889" ID="ID_1435365989" MODIFIED="1236126877833" TEXT="Aka. &quot;Bootstrap-Nodes&quot;"/>
+<node CREATED="1253894510297" ID="ID_1487578920" MODIFIED="1253894527932" TEXT="They should be listed in the configuration for all applications"/>
+<node CREATED="1253894528917" ID="ID_213582832" MODIFIED="1253894547575" TEXT="A comma-seperated list of node IPs with port numbers seperated by double-dot (:)"/>
+</node>
+<node CREATED="1236126921639" FOLDED="true" ID="ID_27169311" MODIFIED="1236126946151" TEXT="Bootstrap-Nodes are working stand-alone">
+<node CREATED="1236126947723" ID="ID_1879966796" MODIFIED="1236126962499" TEXT="No central &quot;Super-Node&quot; is required"/>
+<node CREATED="1236126965866" ID="ID_741244364" MODIFIED="1236126982695" TEXT="Too much traffic would have to flow through it"/>
+<node CREATED="1236127003403" ID="ID_1096022992" MODIFIED="1236127025469" TEXT="Attacks on the network by censorship are reduced"/>
+<node CREATED="1236127332394" ID="ID_1182056532" MODIFIED="1236127411770" TEXT="Traffic does not increase network-overall load"/>
+<node CREATED="1236127431176" ID="ID_1052031194" MODIFIED="1236127439863" TEXT="Small disadvantage:">
+<node CREATED="1236127454917" ID="ID_1150854056" MODIFIED="1236127479717" TEXT="Hubs must register with ..."/>
+<node CREATED="1236127466818" ID="ID_1537201605" MODIFIED="1236127476905" TEXT="... more than one master-node ..."/>
+<node CREATED="1236127480391" ID="ID_246674177" MODIFIED="1236127490538" TEXT=".. or connect with each other"/>
+</node>
+</node>
+<node CREATED="1253894719381" FOLDED="true" ID="ID_1568438489" MODIFIED="1253894741309" TEXT="1. Node checks if there is a list of master nodes already stored">
+<node CREATED="1253894741787" ID="ID_426676819" MODIFIED="1253894767578" TEXT="If so, it skips fetching the list of nodes step"/>
+</node>
+<node CREATED="1253894428802" FOLDED="true" ID="ID_764597347" MODIFIED="1341963127249" TEXT="2. Node is announcing itself to the upper bootstrap hub(s)">
+<node CREATED="1253894443360" ID="ID_1596045826" MODIFIED="1253894453653" TEXT="This should be done generic to keep things easy"/>
+<node CREATED="1253894454388" FOLDED="true" ID="ID_1283494642" MODIFIED="1341962412990" TEXT="Recommended is maybe an XML with all neccessary data">
+<node CREATED="1341962254490" ID="ID_1967390832" MODIFIED="1341962269489" TEXT="Node status">
+<node CREATED="1341962270630" ID="ID_109028891" MODIFIED="1341962278686" TEXT="Mostly &apos;active&apos; or &apos;reachable&apos;"/>
+</node>
+<node CREATED="1341962279970" ID="ID_577483198" MODIFIED="1341962287400" TEXT="Session id (see below)"/>
+<node CREATED="1341962296306" ID="ID_614578398" MODIFIED="1341962303492" TEXT="External and internal IP">
+<node CREATED="1341962304114" ID="ID_974332986" MODIFIED="1341962326784" TEXT="To allow LAN connections over connections on WAN IP"/>
+<node CREATED="1341962328116" ID="ID_717476080" MODIFIED="1341962352213" TEXT="Allowing this aids networks where DHCP and IP masquerade is used"/>
+<node CREATED="1341962358604" ID="ID_352410425" MODIFIED="1341962397056" TEXT="Most customer asynchronous DSL does not allow to connect from inside over the WAN IP back inside"/>
+</node>
+<node CREATED="1341962399940" ID="ID_1876026630" MODIFIED="1341962406689" TEXT="TCP and UDP listening ports"/>
+</node>
+<node CREATED="1253895161895" ID="ID_238301949" MODIFIED="1341962156670" TEXT="The session id will be included here">
+<node CREATED="1341962185250" ID="ID_1100719104" MODIFIED="1341962218498" TEXT="Other nodes shall always attempt to find a node by its current session id, not node it"/>
+<node CREATED="1341962428367" ID="ID_1636243419" MODIFIED="1341962440132" TEXT="The node id identifies the node globally">
+<node CREATED="1341962440825" ID="ID_1976097041" MODIFIED="1341962503091" TEXT="Requires a well-randomized id to be created to avoid collisions with other nodes"/>
+<node CREATED="1341962506656" ID="ID_1275543965" MODIFIED="1341962563350" TEXT="First announcement dominates on all &quot;upper&quot; nodes"/>
+<node CREATED="1341962571396" ID="ID_1845256702" MODIFIED="1341962609080" TEXT="A maximum limit of node ids per IP address shall prevent id flooding"/>
+</node>
+<node CREATED="1341962614208" ID="ID_977856197" MODIFIED="1341962627219" TEXT="The session id identifies the node currently">
+<node CREATED="1341962643613" ID="ID_107303523" MODIFIED="1341962663993" TEXT="On every start a new one will be generated"/>
+<node CREATED="1341962666727" ID="ID_1363422738" MODIFIED="1341962681743" TEXT="This requires a mechanism to purge old session ids"/>
+</node>
+</node>
+</node>
+<node CREATED="1236127732643" FOLDED="true" ID="ID_1953640644" MODIFIED="1341962141215" TEXT="3. Node is fetching a list of other nodes">
+<node CREATED="1236127749005" ID="ID_508674192" MODIFIED="1236127763644" TEXT="They must have at least X matching object types"/>
+<node CREATED="1253894968712" ID="ID_1809816861" MODIFIED="1253895023332" STYLE="fork" TEXT="If a bootstrap node is full it forwards the node to an other bootstrap hub"/>
+<node CREATED="1253895005469" ID="ID_1324283426" MODIFIED="1253895019605" STYLE="fork" TEXT="If that node is again full the node will be forwarded to a list node"/>
+<node CREATED="1253895024033" ID="ID_1076323011" MODIFIED="1253895056593" STYLE="fork" TEXT="If wether no free bootstrap nor list node is available the node waits some time and tries it again"/>
+<node CREATED="1236127559361" ID="ID_823284955" MODIFIED="1253894864468" TEXT="Hashes of node-lists distributed over the bootstrap and list nodes should match">
+<node CREATED="1253894867514" ID="ID_1102025965" MODIFIED="1253894879514" TEXT="This can be ensured by a DHT">
+<node CREATED="1253894880687" ID="ID_1747728135" MODIFIED="1253894888420" TEXT="DHT = Distributed Hash Table"/>
+<node CREATED="1253894891016" ID="ID_442289999" MODIFIED="1253894911641" TEXT="Which format?">
 <icon BUILTIN="xmag"/>
 </node>
 </node>
 </node>
-<node CREATED="1236127598383" ID="Freemind_Link_574241054" MODIFIED="1236127616425" TEXT="If to much are inconsistent:">
-<node CREATED="1236127617853" ID="Freemind_Link_1253336655" MODIFIED="1236127632709" TEXT="No connect can happen">
-<node CREATED="1236127634178" ID="Freemind_Link_1412643595" MODIFIED="1236127642167" TEXT="Node list is rejected"/>
+<node CREATED="1236127598383" ID="ID_1959787511" MODIFIED="1236127616425" TEXT="If to much are inconsistent:">
+<node CREATED="1236127617853" ID="ID_1007097645" MODIFIED="1236127632709" TEXT="No connect can happen">
+<node CREATED="1236127634178" ID="ID_1137015561" MODIFIED="1236127642167" TEXT="Node list is rejected"/>
 </node>
-<node CREATED="1236127643409" ID="Freemind_Link_1181650485" MODIFIED="1236127660181" TEXT="Or the bootstrap-nodes are working as regular nodes"/>
-<node CREATED="1236127660613" ID="Freemind_Link_1134140787" MODIFIED="1236127715377" TEXT="Replication of the node-list is required by all bootstrap-nodes"/>
+<node CREATED="1236127643409" ID="ID_99205407" MODIFIED="1236127660181" TEXT="Or the bootstrap-nodes are working as regular nodes"/>
+<node CREATED="1236127660613" ID="ID_1082334730" MODIFIED="1236127715377" TEXT="Replication of the node-list is required by all bootstrap-nodes"/>
 </node>
 </node>
-<node CREATED="1253894942579" FOLDED="true" ID="Freemind_Link_210978828" MODIFIED="1253894962729" TEXT="4. Node connects to gathered master nodes">
-<node CREATED="1253895103324" ID="Freemind_Link_1492702329" MODIFIED="1253895129180" TEXT="It again announces its object types to the master nodes"/>
-<node CREATED="1253895133862" ID="Freemind_Link_447040624" MODIFIED="1253895150262" TEXT="Again it provides the session id so the master node can map session id -&gt; node id"/>
+<node CREATED="1253894942579" FOLDED="true" ID="ID_780025605" MODIFIED="1253894962729" TEXT="4. Node connects to gathered master nodes">
+<node CREATED="1253895103324" ID="ID_807839905" MODIFIED="1253895129180" TEXT="It again announces its object types to the master nodes"/>
+<node CREATED="1253895133862" ID="ID_1575419923" MODIFIED="1253895150262" TEXT="Again it provides the session id so the master node can map session id -&gt; node id"/>
 </node>
-<node CREATED="1253895314125" FOLDED="true" ID="Freemind_Link_1052054603" MODIFIED="1253895326100" TEXT="5. If all authorization steps are completed:">
-<node CREATED="1253895330153" ID="Freemind_Link_1721222063" MODIFIED="1253895354745" TEXT="The node starts to accept client connections">
-<node CREATED="1253895355292" ID="Freemind_Link_501632661" MODIFIED="1253895359347" TEXT="(It already listens to them but rejects them)"/>
+<node CREATED="1253895314125" FOLDED="true" ID="ID_1753288477" MODIFIED="1253895326100" TEXT="5. If all authorization steps are completed:">
+<node CREATED="1253895330153" ID="ID_957597032" MODIFIED="1253895354745" TEXT="The node starts to accept client connections">
+<node CREATED="1253895355292" ID="ID_1531381091" MODIFIED="1253895359347" TEXT="(It already listens to them but rejects them)"/>
 </node>
-<node CREATED="1253895363495" ID="Freemind_Link_663261299" MODIFIED="1253895380188" TEXT="Objects will now be shared with other nodes which accepts the same object types"/>
+<node CREATED="1253895363495" ID="ID_1959816375" MODIFIED="1253895380188" TEXT="Objects will now be shared with other nodes which accepts the same object types"/>
 </node>
 </node>
-<node CREATED="1236122378771" ID="_" MODIFIED="1236899597333" POSITION="right" TEXT="Karma">
+<node CREATED="1236122378771" FOLDED="true" ID="_" MODIFIED="1341963413930" POSITION="left" TEXT="Karma">
 <font BOLD="true" NAME="Dialog" SIZE="16"/>
-<node CREATED="1236122492566" ID="Freemind_Link_1190748575" MODIFIED="1236122514559" TEXT="Karma is given for validating entries in the DHT">
-<node CREATED="1236122431646" FOLDED="true" ID="Freemind_Link_29494292" MODIFIED="1236122473199" TEXT="Last activity in near past">
-<node CREATED="1236122473708" ID="Freemind_Link_254202732" MODIFIED="1236122479111" TEXT="Does not affect karma"/>
+<node CREATED="1236122492566" ID="ID_500911435" MODIFIED="1341962789340" TEXT="Karma is given for validating entries in the DHT">
+<node CREATED="1236122431646" FOLDED="true" ID="ID_1111662870" MODIFIED="1236122473199" TEXT="Last activity in near past">
+<node CREATED="1236122473708" ID="ID_183345962" MODIFIED="1236122479111" TEXT="Does not affect karma"/>
 </node>
-<node CREATED="1236122544359" FOLDED="true" ID="Freemind_Link_210971136" MODIFIED="1236122548222" TEXT="Returned pings">
-<node CREATED="1236122549203" ID="Freemind_Link_1680521907" MODIFIED="1236122582927" TEXT="Amount of sent pings">
-<node CREATED="1236122583437" ID="Freemind_Link_689172908" MODIFIED="1236122605188" TEXT="If no reply it got dead-listed"/>
+<node CREATED="1236122544359" FOLDED="true" ID="ID_1990729495" MODIFIED="1341962976338" TEXT="Returned pings">
+<node CREATED="1236122549203" ID="ID_1774017992" MODIFIED="1236122582927" TEXT="Amount of sent pings">
+<node CREATED="1236122583437" ID="ID_1872142288" MODIFIED="1236122605188" TEXT="If no reply it got dead-listed"/>
 </node>
-<node CREATED="1236122613591" ID="Freemind_Link_612939095" MODIFIED="1236122684314" TEXT="Failed pings reduce karma"/>
-<node CREATED="1236122659986" ID="Freemind_Link_45314722" MODIFIED="1236122681829" TEXT="Slow responses reduce karma"/>
+<node CREATED="1236122613591" ID="ID_4860616" MODIFIED="1236122684314" TEXT="Failed pings reduce karma"/>
+<node CREATED="1236122659986" ID="ID_550660986" MODIFIED="1236122681829" TEXT="Slow responses reduce karma"/>
 </node>
-<node CREATED="1236122692603" FOLDED="true" ID="Freemind_Link_538248067" MODIFIED="1236122712165" TEXT="Karma voting for other nodes is not to negative">
-<node CREATED="1236122713693" ID="Freemind_Link_511404921" MODIFIED="1236122728530" TEXT="Reduces manipulation chances">
-<node CREATED="1236122730091" ID="Freemind_Link_801930369" MODIFIED="1236122743908" TEXT="Prefer karma votes of trusted nodes"/>
-<node CREATED="1236122744853" ID="Freemind_Link_45612508" MODIFIED="1236122776006" TEXT="Negative karma votings for untrusted karma reduce own karma"/>
+<node CREATED="1236122692603" FOLDED="true" ID="ID_1391273089" MODIFIED="1236122712165" TEXT="Karma voting for other nodes is not to negative">
+<node CREATED="1236122713693" ID="ID_231770771" MODIFIED="1236122728530" TEXT="Reduces manipulation chances">
+<node CREATED="1236122730091" ID="ID_1089345314" MODIFIED="1236122743908" TEXT="Prefer karma votes of trusted nodes"/>
+<node CREATED="1236122744853" ID="ID_1191307246" MODIFIED="1236122776006" TEXT="Negative karma votings for untrusted karma reduce own karma"/>
 </node>
 </node>
-<node CREATED="1236122783733" ID="Freemind_Link_1507410448" MODIFIED="1236122798272" TEXT="To much &quot;spam packages&quot; reduce karma"/>
-<node CREATED="1236122819786" ID="Freemind_Link_993155795" MODIFIED="1236122831449" TEXT="Validated packages increase karma"/>
-<node CREATED="1236122841763" FOLDED="true" ID="Freemind_Link_1606666417" MODIFIED="1236122851076" TEXT="Protocol version should not be to old">
-<node CREATED="1236122853153" ID="Freemind_Link_1094995324" MODIFIED="1236122869980" TEXT="This affects karma only negativly"/>
-<node CREATED="1236122870509" ID="Freemind_Link_344926416" MODIFIED="1236122884569" TEXT="An up-to-date protocol does not increase karma"/>
-<node CREATED="1236122885070" ID="Freemind_Link_473648942" MODIFIED="1236122902587" TEXT="Does also serve as a &quot;spam protection&quot;"/>
-<node CREATED="1236122918035" ID="Freemind_Link_594554525" MODIFIED="1236122941184" TEXT="Received protocol version of node is older than stored">
-<node CREATED="1236122941749" ID="Freemind_Link_174968672" MODIFIED="1236122946169" TEXT="Karma is reduced"/>
+<node CREATED="1236122783733" ID="ID_60031662" MODIFIED="1236122798272" TEXT="To much &quot;spam packages&quot; reduce karma"/>
+<node CREATED="1236122819786" ID="ID_1008982816" MODIFIED="1236122831449" TEXT="Validated packages increase karma"/>
+<node CREATED="1236122841763" FOLDED="true" ID="ID_347040992" MODIFIED="1236122851076" TEXT="Protocol version should not be to old">
+<node CREATED="1236122853153" ID="ID_728947067" MODIFIED="1236122869980" TEXT="This affects karma only negativly"/>
+<node CREATED="1236122870509" ID="ID_1679596533" MODIFIED="1236122884569" TEXT="An up-to-date protocol does not increase karma"/>
+<node CREATED="1236122885070" ID="ID_1372440450" MODIFIED="1236122902587" TEXT="Does also serve as a &quot;spam protection&quot;"/>
+<node CREATED="1236122918035" ID="ID_1083459898" MODIFIED="1236122941184" TEXT="Received protocol version of node is older than stored">
+<node CREATED="1236122941749" ID="ID_1678291605" MODIFIED="1236122946169" TEXT="Karma is reduced"/>
 </node>
-<node CREATED="1236122947985" ID="Freemind_Link_1682037492" MODIFIED="1236122969203" TEXT="Received protocol version is much than from master-nodes">
-<node CREATED="1236122969588" ID="Freemind_Link_1255846244" MODIFIED="1236122973470" TEXT="Karma is reduced"/>
+<node CREATED="1236122947985" ID="ID_541642714" MODIFIED="1236122969203" TEXT="Received protocol version is much than from master-nodes">
+<node CREATED="1236122969588" ID="ID_490617049" MODIFIED="1236122973470" TEXT="Karma is reduced"/>
 </node>
 </node>
-<node CREATED="1236123002722" FOLDED="true" ID="Freemind_Link_1260923814" MODIFIED="1236123013764" TEXT="Provided object types by the peer hub">
-<node CREATED="1236123015319" ID="Freemind_Link_1973981672" MODIFIED="1236123025287" TEXT="This affectes karma only negativly"/>
-<node CREATED="1236123026356" ID="Freemind_Link_936683200" MODIFIED="1236123040623" TEXT="New types must first be known by masters"/>
-<node CREATED="1236123075821" ID="Freemind_Link_965874760" MODIFIED="1236123087086" TEXT="This should be configurable:">
-<node CREATED="1236123088545" ID="Freemind_Link_1804987507" MODIFIED="1236123146558" TEXT="Karma should be reduced..."/>
-<node CREATED="1236123147266" ID="Freemind_Link_1719378455" MODIFIED="1236123161157" TEXT="... or peer node should be black-listed"/>
+<node CREATED="1236123002722" FOLDED="true" ID="ID_497450092" MODIFIED="1236123013764" TEXT="Provided object types by the peer hub">
+<node CREATED="1236123015319" ID="ID_938306595" MODIFIED="1236123025287" TEXT="This affectes karma only negativly"/>
+<node CREATED="1236123026356" ID="ID_825381485" MODIFIED="1236123040623" TEXT="New types must first be known by masters"/>
+<node CREATED="1236123075821" ID="ID_1293114895" MODIFIED="1236123087086" TEXT="This should be configurable:">
+<node CREATED="1236123088545" ID="ID_1877950218" MODIFIED="1236123146558" TEXT="Karma should be reduced..."/>
+<node CREATED="1236123147266" ID="ID_495666559" MODIFIED="1236123161157" TEXT="... or peer node should be black-listed"/>
 </node>
-<node CREATED="1236123041207" ID="Freemind_Link_1318639621" MODIFIED="1236123073229" TEXT="Because of every node can be a master-mode censorship is really hard"/>
+<node CREATED="1236123041207" ID="ID_553181617" MODIFIED="1236123073229" TEXT="Because of every node can be a master-mode censorship is really hard"/>
 </node>
-<node CREATED="1236123176016" FOLDED="true" ID="Freemind_Link_1158753702" MODIFIED="1236123192038" TEXT="Correctly logging">
-<node CREATED="1236123192506" ID="Freemind_Link_571936771" MODIFIED="1236123197543" TEXT="Does not affect karma"/>
-<node CREATED="1236123201477" ID="Freemind_Link_526838799" MODIFIED="1236123218064" TEXT="Logout must be done by master node and active nodes">
-<node CREATED="1236123218463" ID="Freemind_Link_961650790" MODIFIED="1236123236943" TEXT="&quot;Bye&quot; message">
+<node CREATED="1236123176016" FOLDED="true" ID="ID_1494399358" MODIFIED="1236123192038" TEXT="Correctly logging">
+<node CREATED="1236123192506" ID="ID_1155831513" MODIFIED="1236123197543" TEXT="Does not affect karma"/>
+<node CREATED="1236123201477" ID="ID_1719547115" MODIFIED="1236123218064" TEXT="Logout must be done by master node and active nodes">
+<node CREATED="1236123218463" ID="ID_538121027" MODIFIED="1236123236943" TEXT="&quot;Bye&quot; message">
 <icon BUILTIN="idea"/>
 </node>
 </node>
-<node CREATED="1236123251132" ID="Freemind_Link_548852073" MODIFIED="1236123270878" TEXT="Rotating of dynamic IPs should be considered">
-<node CREATED="1236123319578" ID="Freemind_Link_1811539187" MODIFIED="1236123329144" TEXT="Must be registered by master-node">
-<node CREATED="1236123330548" ID="Freemind_Link_589306378" MODIFIED="1236123338841" TEXT="ID is registered as &quot;Dynamic IP&quot;"/>
-<node CREATED="1236123345030" ID="Freemind_Link_1377338623" MODIFIED="1236123350574" TEXT="So connects are still possible"/>
+<node CREATED="1236123251132" ID="ID_584354743" MODIFIED="1236123270878" TEXT="Rotating of dynamic IPs should be considered">
+<node CREATED="1236123319578" ID="ID_1448843742" MODIFIED="1236123329144" TEXT="Must be registered by master-node">
+<node CREATED="1236123330548" ID="ID_215961236" MODIFIED="1236123338841" TEXT="ID is registered as &quot;Dynamic IP&quot;"/>
+<node CREATED="1236123345030" ID="ID_1967228374" MODIFIED="1236123350574" TEXT="So connects are still possible"/>
 </node>
-<node CREATED="1236123356818" ID="Freemind_Link_1985410220" MODIFIED="1236123366085" TEXT="No negative votings by other nodes"/>
-<node CREATED="1236123374240" ID="Freemind_Link_289837552" MODIFIED="1236123395878" TEXT="Current IP does spread good in network">
-<node CREATED="1236123397287" ID="Freemind_Link_962702337" MODIFIED="1236123408274" TEXT="Query of the master-node only in doubt"/>
+<node CREATED="1236123356818" ID="ID_643459265" MODIFIED="1236123366085" TEXT="No negative votings by other nodes"/>
+<node CREATED="1236123374240" ID="ID_1506077854" MODIFIED="1236123395878" TEXT="Current IP does spread good in network">
+<node CREATED="1236123397287" ID="ID_1841142933" MODIFIED="1236123408274" TEXT="Query of the master-node only in doubt"/>
 </node>
 </node>
 </node>
 </node>
-<node CREATED="1323839786853" ID="Freemind_Link_1439794757" MODIFIED="1323839954380" TEXT="Karma influences peer state scoring and vise versa">
-<node CREATED="1323839876619" ID="Freemind_Link_667972974" LINK="Peer-State Scoring.mm" MODIFIED="1323840272834" TEXT="What is peer state scoring?"/>
+<node CREATED="1323839786853" ID="ID_1208606831" MODIFIED="1341963017817" TEXT="Karma influences peer state rating and vise versa">
+<node CREATED="1323839876619" ID="ID_938444175" LINK="Peer-State%20Rating.mm" MODIFIED="1341963103093" TEXT="What is peer state rating?"/>
 </node>
 </node>
-<node CREATED="1236819279117" FOLDED="true" ID="Freemind_Link_831929021" MODIFIED="1236899597332" POSITION="left" TEXT="Update Messages">
+<node CREATED="1236804847687" FOLDED="true" ID="Freemind_Link_1372827895" MODIFIED="1341962780452" POSITION="left" TEXT="Fault Tolerance / Reliability">
 <font BOLD="true" NAME="Dialog" SIZE="16"/>
-<node CREATED="1236819311945" ID="Freemind_Link_71881649" MODIFIED="1236819334898" TEXT="Will only be broadcasted from bootstrap- to master- and list-nodes"/>
-<node CREATED="1236819339152" ID="Freemind_Link_774046685" MODIFIED="1236819364243" TEXT="No node will receive update messages due to heavy network load">
-<node CREATED="1236819365454" ID="Freemind_Link_1204404067" MODIFIED="1236819386873" TEXT="Maybe only &quot;good&quot; nodes should receive this?">
-<icon BUILTIN="xmag"/>
-<icon BUILTIN="help"/>
+<node CREATED="1236805031745" FOLDED="true" ID="ID_797851882" MODIFIED="1236805057203" TEXT="After X failed connection attempts a node got removed">
+<node CREATED="1236805060886" ID="ID_1354060812" MODIFIED="1236805073614" TEXT="Other nodes report this to the master-node"/>
+<node CREATED="1236805074337" ID="ID_1408027065" MODIFIED="1236805094304" TEXT="The master-node probes the failed node and removes it"/>
 </node>
+<node CREATED="1236805095936" FOLDED="true" ID="ID_1731494290" MODIFIED="1236805105212" TEXT="Failed list-node">
+<node CREATED="1236805111066" ID="ID_856486923" MODIFIED="1236805126866" TEXT="Hubs are reporting it to the master-node"/>
+<node CREATED="1236805135129" ID="ID_351192162" MODIFIED="1236805143745" TEXT="The master-node probes the failed list-node and removes it"/>
 </node>
-<node CREATED="1236819395918" ID="Freemind_Link_1584525818" MODIFIED="1236819442284" TEXT="Contains update notes and importance level"/>
+<node CREATED="1236805147958" FOLDED="true" ID="ID_17777023" MODIFIED="1236805152648" TEXT="Failed master-node">
+<node CREATED="1236805160627" ID="ID_1174618015" MODIFIED="1236805192366" TEXT="List-nodes takeover the role of a master-node if no bootstrap-nodes are available">
+<node CREATED="1236805194058" ID="ID_1260650566" MODIFIED="1236805230236" TEXT="This takeover should not be entirely and should be defined">
+<icon BUILTIN="messagebox_warning"/>
+<icon BUILTIN="desktop_new"/>
 </node>
-<node CREATED="1236819472321" FOLDED="true" ID="Freemind_Link_168475853" MODIFIED="1236899597331" POSITION="left" TEXT="&quot;Client&quot; Connections">
-<font BOLD="true" NAME="Dialog" SIZE="16"/>
-<node CREATED="1236819488308" ID="Freemind_Link_1154203316" MODIFIED="1236819533272" TEXT="Should be interpreted as &quot;application software&quot;">
-<icon BUILTIN="bell"/>
 </node>
-<node CREATED="1236819549590" ID="Freemind_Link_1741675827" MODIFIED="1236819572277" TEXT="Clients should also generate a &quot;client id&quot;">
-<node CREATED="1236819572768" ID="Freemind_Link_518254369" MODIFIED="1236819577298" TEXT="Both id and sid"/>
+<node CREATED="1236805256862" ID="ID_963822392" MODIFIED="1236805284415" TEXT="If there is no list-node, nodes look for an active master-node">
+<node CREATED="1236805285629" ID="ID_454301053" MODIFIED="1236805295805" TEXT="They report the failed master-node to it"/>
 </node>
-<node CREATED="1236819583899" ID="Freemind_Link_815708604" MODIFIED="1236819600627" TEXT="Will also connect first to bootstrap-nodes">
-<node CREATED="1236819601271" ID="Freemind_Link_934296740" MODIFIED="1236819625910" TEXT="Ask for a node-list as well"/>
+<node CREATED="1236805300701" ID="ID_728427686" MODIFIED="1236805333472" TEXT="If additionally no master-node is up, a node will be elected as new master-node">
+<node CREATED="1236805370471" ID="ID_295035279" MODIFIED="1236805388795" TEXT="Doing so, all nodes are identifying the node with...">
+<node CREATED="1236805389203" ID="ID_1596264326" MODIFIED="1236805408420" TEXT="... the best karma">
+<node CREATED="1236805408843" ID="ID_1912814834" MODIFIED="1236805414368" TEXT="This is known to many nodes"/>
 </node>
-<node CREATED="1236819612157" ID="Freemind_Link_480673349" MODIFIED="1236819634577" TEXT="Do also receive karma from nodes"/>
-<node CREATED="1236819638653" ID="Freemind_Link_692612491" MODIFIED="1236819657034" TEXT="Dynamic IPs are also accepted and therefore must be registered"/>
+<node CREATED="1236805415695" ID="ID_849494777" MODIFIED="1236805439758" TEXT="... most votings">
+<node CREATED="1236805440417" ID="ID_806892556" MODIFIED="1236805465354" TEXT="A &quot;vote&quot; is a positive karma"/>
+<node CREATED="1236805470049" ID="ID_83856880" MODIFIED="1236805478210" TEXT="Also known to many nodes"/>
 </node>
-<node CREATED="1236819677106" FOLDED="true" ID="Freemind_Link_1445979240" MODIFIED="1236899597329" POSITION="left" TEXT="Client&lt;-&gt;Node Communication">
-<font BOLD="true" NAME="Dialog" SIZE="16"/>
-<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 nodes">
-<node CREATED="1236898577202" ID="Freemind_Link_1014689893" MODIFIED="1236898596094" TEXT="Including acceptance of broadcasts, poll-mode and Ping-POST"/>
 </node>
-<node CREATED="1236898600139" ID="Freemind_Link_730901168" MODIFIED="1236898624130" TEXT="By this the nodes know clients and their accepted object types"/>
-<node CREATED="1236898628920" ID="Freemind_Link_1981646811" MODIFIED="1236898649573" TEXT="Clients may download a node-list for a specific object type">
-<node CREATED="1236898649983" ID="Freemind_Link_376278255" MODIFIED="1236898658898" TEXT="Distinct-List-Mode"/>
-<node CREATED="1236898661907" ID="Freemind_Link_481362981" MODIFIED="1236898685390" TEXT="After selecting a node the client can request a list of clients from that hub"/>
-<node CREATED="1236898693369" ID="Freemind_Link_1444901526" MODIFIED="1236898735306" TEXT="From these clients the client can accept objects from and send to">
-<node CREATED="1236898744031" ID="Freemind_Link_423939808" MODIFIED="1236898750207" TEXT="E.g. news by broadcast"/>
+<node CREATED="1236805485261" ID="ID_1505645119" MODIFIED="1236805508476" TEXT="The &quot;election&quot; should take place within a specific timeout"/>
+<node CREATED="1236805519338" ID="ID_378195399" MODIFIED="1236805539978" TEXT="If no election is happening the node with most connections got elected"/>
 </node>
 </node>
-<node CREATED="1236898764873" ID="Freemind_Link_619530506" MODIFIED="1236898781532" TEXT="Clients may send &quot;broadcast&quot; objects">
-<node CREATED="1236898781858" ID="Freemind_Link_104270656" MODIFIED="1236898785647" TEXT="Broadcast-Mode"/>
-<node CREATED="1236898788766" ID="Freemind_Link_187831566" MODIFIED="1236898820811" TEXT="Must be allowed by nodes">
-<node CREATED="1236898821127" ID="Freemind_Link_929863047" MODIFIED="1236898833669" TEXT="This consumes traffic"/>
-<node CREATED="1236898845514" ID="Freemind_Link_421479503" MODIFIED="1236898864289" TEXT="Acceptance of broadcasts is known to list-/master- and bootstrap-nodes"/>
+<node CREATED="1236805556971" FOLDED="true" ID="ID_1034853055" MODIFIED="1236805567605" TEXT="If one of the bootstrap-nodes is up">
+<node CREATED="1236805568757" ID="ID_700296041" MODIFIED="1236805604922" TEXT="The elected nodes notifies a some of it&apos;s fellow nodes that the bootstrap-node is back"/>
+<node CREATED="1236805612004" ID="ID_809583260" MODIFIED="1236805631225" TEXT="The elected node becomes a regular node and notifies other nodes on connection attempts"/>
 </node>
-<node CREATED="1236898869927" ID="Freemind_Link_20289741" MODIFIED="1236898894884" TEXT="A client sends its broadcast to the master-nodes">
-<node CREATED="1236898903419" ID="Freemind_Link_751901694" MODIFIED="1236898927433" TEXT="They are distribute it to their fellow nodes"/>
-<node CREATED="1236898931205" ID="Freemind_Link_908440118" MODIFIED="1236899031658" TEXT="A node knows which client accepts broadcasts and &quot;deposits&quot; it for the client"/>
-<node CREATED="1236899048881" ID="Freemind_Link_1381761729" MODIFIED="1236899073911" TEXT="Clients are requesting such broadcasts by poll-mode or are &quot;pinged&quot;">
-<node CREATED="1236899074418" ID="Freemind_Link_816499858" MODIFIED="1236899104143" TEXT="In poll-mode the client asks on a regular basis at the node for new broadcasts"/>
-<node CREATED="1236899114179" ID="Freemind_Link_1452667491" MODIFIED="1236899160051" TEXT="A Ping-POST is being sent by the node as a regular HTTP-POST request to the client">
-<node CREATED="1236899160614" ID="Freemind_Link_873242294" MODIFIED="1236899170480" TEXT="This also happens on a regular basis"/>
+<node CREATED="1236805649317" FOLDED="true" ID="ID_20853367" MODIFIED="1236805654363" TEXT="Disadvantages:">
+<node CREATED="1236805655355" ID="ID_1267155557" MODIFIED="1236805688061" TEXT="A new node with only knowlege about the bootstrap-nodes may not be able to connect to the nodes">
+<node CREATED="1236805691077" ID="ID_783948092" MODIFIED="1236805728068" TEXT="Additional bootstrap-nodes on other server and/or continent may help here"/>
 </node>
-<node CREATED="1236899177795" ID="Freemind_Link_1845481591" MODIFIED="1236899200012" TEXT="A node-admin may allow both types independly"/>
-<node CREATED="1236899205412" ID="Freemind_Link_1607423256" MODIFIED="1236899216542" TEXT="If none is allowed the node acts as a &quot;relay&quot;">
-<node CREATED="1236899225741" ID="Freemind_Link_297001287" MODIFIED="1236899250404" TEXT="And therefore it cannot accept clients with broadcast-functionality enabled"/>
 </node>
 </node>
+<node CREATED="1236818932032" FOLDED="true" ID="Freemind_Link_1204819150" MODIFIED="1236899597325" POSITION="left" TEXT="Object Types">
+<font BOLD="true" NAME="Dialog" SIZE="16"/>
+<node CREATED="1236818952579" ID="ID_901281826" MODIFIED="1236818969501" TEXT="New object types are only addable by updating the software"/>
+<node CREATED="1236818987796" ID="ID_1235221426" MODIFIED="1236818998981" TEXT="It also possible by 3rd-party">
+<node CREATED="1236819000063" ID="ID_1307763574" MODIFIED="1236819012704" TEXT="Must be known by master/bootstrap-nodes"/>
 </node>
+<node CREATED="1236819026050" ID="ID_1829407119" MODIFIED="1236819039189" TEXT="Outdated object types are marked &quot;deprecated&quot; for a longer time">
+<node CREATED="1236819040263" ID="ID_958660560" MODIFIED="1236819053202" TEXT="Master-nodes may accept or reject them"/>
+<node CREATED="1236819057430" ID="ID_1810554626" MODIFIED="1236819072713" TEXT="A &quot;deprecation message&quot; is always being sent"/>
+<node CREATED="1236819073435" ID="ID_1476404622" MODIFIED="1236819086883" TEXT="A note of a required update can optionally be added"/>
 </node>
-<node CREATED="1236899269918" ID="Freemind_Link_144167856" MODIFIED="1236899586006" TEXT="Client-Client Communication">
-<font BOLD="true" NAME="Dialog" SIZE="14"/>
-<node CREATED="1236899286016" ID="Freemind_Link_1642758810" MODIFIED="1236899322515" TEXT="May be done &quot;anonymously&quot; over the node or directly with an other client">
-<node CREATED="1236899328390" ID="Freemind_Link_1507061819" MODIFIED="1236899349464" TEXT="Communication of the node is done in poll-mode or by Ping-POST"/>
-<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;"/>
+<node CREATED="1236819096719" ID="ID_1066601969" MODIFIED="1236819111770" TEXT="After deprecation time they are treated as &quot;unknown&quot;"/>
+<node CREATED="1236819117510" ID="ID_1079099687" MODIFIED="1236819187199" TEXT="Other nodes should ask bootstrap-nodes">
+<node CREATED="1236819188392" ID="ID_312192753" MODIFIED="1236819200697" TEXT="This compensate errors made by master-nodes"/>
+<node CREATED="1236819213718" ID="ID_1378184528" MODIFIED="1236819243856" TEXT="Wrongly deprecated object types by the master-node result in bad karma by the bootstrap-node"/>
 </node>
-<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;">
+</node>
+<node CREATED="1236819279117" FOLDED="true" ID="Freemind_Link_831929021" MODIFIED="1236899597332" POSITION="right" TEXT="Update Messages">
+<font BOLD="true" NAME="Dialog" SIZE="16"/>
+<node CREATED="1236819311945" ID="ID_609093084" MODIFIED="1236819334898" TEXT="Will only be broadcasted from bootstrap- to master- and list-nodes"/>
+<node CREATED="1236819339152" ID="ID_78459346" MODIFIED="1236819364243" TEXT="No node will receive update messages due to heavy network load">
+<node CREATED="1236819365454" ID="ID_187276621" MODIFIED="1236819386873" TEXT="Maybe only &quot;good&quot; nodes should receive this?">
 <icon BUILTIN="xmag"/>
-<icon BUILTIN="desktop_new"/>
+<icon BUILTIN="help"/>
 </node>
 </node>
+<node CREATED="1236819395918" ID="ID_1800878584" MODIFIED="1236819442284" TEXT="Contains update notes and importance level"/>
 </node>
-<node CREATED="1236899558200" FOLDED="true" ID="Freemind_Link_329480665" MODIFIED="1236899597327" POSITION="left" TEXT="Usage of low-level protocols">
+<node CREATED="1236819472321" FOLDED="true" ID="Freemind_Link_168475853" MODIFIED="1341963283530" POSITION="right" TEXT="&quot;Client&quot; Connections">
 <font BOLD="true" NAME="Dialog" SIZE="16"/>
-<node CREATED="1236901514992" ID="Freemind_Link_679379315" MODIFIED="1236901534483" TEXT="Already existing low-level protocols like TCP/IP and UDP should be used">
-<node CREATED="1236901538901" ID="Freemind_Link_1616250831" MODIFIED="1236901554266" TEXT="TCP should be used for &quot;inter-communication&quot;"/>
-<node CREATED="1236901556582" ID="Freemind_Link_898295556" MODIFIED="1236901583267" TEXT="UDP should be used for &quot;streaming&quot; the objects to other nodes">
-<node CREATED="1236901610332" ID="Freemind_Link_401089184" MODIFIED="1236901640384" TEXT="Parties are generating hashes of chunks for validation"/>
-<node CREATED="1236901642356" ID="Freemind_Link_947570234" MODIFIED="1236901665725" TEXT="Chunks should only be created for very big objects">
-<node CREATED="1236901666398" ID="Freemind_Link_912553641" MODIFIED="1236901689135" TEXT="Total object size is larger than X KByte">
-<icon BUILTIN="xmag"/>
-<icon BUILTIN="messagebox_warning"/>
+<node CREATED="1236819488308" ID="ID_887207372" MODIFIED="1236819533272" TEXT="Should be interpreted as &quot;application software&quot;">
+<icon BUILTIN="bell"/>
 </node>
+<node CREATED="1236819549590" ID="ID_1404415085" MODIFIED="1236819572277" TEXT="Clients should also generate a &quot;client id&quot;">
+<node CREATED="1236819572768" ID="ID_890448171" MODIFIED="1236819577298" TEXT="Both id and sid"/>
 </node>
-<node CREATED="1236901692592" ID="Freemind_Link_1011335691" MODIFIED="1236901715605" TEXT="The sender creates hashes and adds them to the chunk">
-<node CREATED="1236901719921" ID="Freemind_Link_64829706" MODIFIED="1236901727014" TEXT="The receivers validates them"/>
-<node CREATED="1236901734931" ID="Freemind_Link_1875786790" MODIFIED="1236901754322" TEXT="No serial numbers a-la TCP are generated"/>
+<node CREATED="1236819583899" ID="ID_905265839" MODIFIED="1236819600627" TEXT="Will also connect first to bootstrap-nodes">
+<node CREATED="1236819601271" ID="ID_267897982" MODIFIED="1236819625910" TEXT="Ask for a node-list as well"/>
 </node>
-<node CREATED="1236901817636" ID="Freemind_Link_99186455" MODIFIED="1236901826666" TEXT="The last chunk package contains both hashes">
-<node CREATED="1236901827048" ID="Freemind_Link_398290140" MODIFIED="1236901839943" TEXT="Hash of itself and the final hash"/>
+<node CREATED="1236819612157" ID="ID_1618908435" MODIFIED="1236819634577" TEXT="Do also receive karma from nodes"/>
+<node CREATED="1236819638653" ID="ID_1963451868" MODIFIED="1236819657034" TEXT="Dynamic IPs are also accepted and therefore must be registered"/>
 </node>
-<node CREATED="1236901850065" ID="Freemind_Link_1741640397" MODIFIED="1236901891617" TEXT="If a hash fails to validate it is being collected">
-<node CREATED="1236901891984" ID="Freemind_Link_1930312770" MODIFIED="1236901909386" TEXT="After the final chunk was sent, failed chunks a re-requested"/>
+<node CREATED="1236819677106" FOLDED="true" ID="Freemind_Link_1445979240" MODIFIED="1236899597329" POSITION="right" TEXT="Client&lt;-&gt;Node Communication">
+<font BOLD="true" NAME="Dialog" SIZE="16"/>
+<node CREATED="1236898541254" ID="ID_943175241" MODIFIED="1236898566531" TEXT="After a client has bootstrapped it announces all it&apos;s object types to the nodes">
+<node CREATED="1236898577202" ID="ID_1767214665" MODIFIED="1236898596094" TEXT="Including acceptance of broadcasts, poll-mode and Ping-POST"/>
 </node>
-<node CREATED="1236901915277" ID="Freemind_Link_681298548" MODIFIED="1236901923528" TEXT="This is retried X times per hash">
-<node CREATED="1236901937242" ID="Freemind_Link_1530992232" MODIFIED="1236901953148" TEXT="But always at the end of the whole transaction and all together"/>
-<node CREATED="1236901958504" ID="Freemind_Link_766714583" MODIFIED="1236901976592" TEXT="If still some hashes failed to transfer">
-<node CREATED="1236901976933" ID="Freemind_Link_1262238289" MODIFIED="1236901990294" TEXT="The object got dropped or fully requested"/>
-<node CREATED="1236901994695" ID="Freemind_Link_1316903827" MODIFIED="1236902002656" TEXT="This should be configurable by the admin"/>
-<node CREATED="1236902012089" ID="Freemind_Link_525157850" MODIFIED="1236902030267" TEXT="To do so, the final hash and object type is submitted to the sender">
-<node CREATED="1236902095145" ID="Freemind_Link_1316680608" MODIFIED="1236902127410" TEXT="&quot;Restransmit-Message&quot;">
-<icon BUILTIN="attach"/>
+<node CREATED="1236898600139" ID="ID_863331362" MODIFIED="1236898624130" TEXT="By this the nodes know clients and their accepted object types"/>
+<node CREATED="1236898628920" ID="ID_1164918209" MODIFIED="1236898649573" TEXT="Clients may download a node-list for a specific object type">
+<node CREATED="1236898649983" ID="ID_316412521" MODIFIED="1236898658898" TEXT="Distinct-List-Mode"/>
+<node CREATED="1236898661907" ID="ID_1133743039" MODIFIED="1236898685390" TEXT="After selecting a node the client can request a list of clients from that hub"/>
+<node CREATED="1236898693369" ID="ID_1354848303" MODIFIED="1236898735306" TEXT="From these clients the client can accept objects from and send to">
+<node CREATED="1236898744031" ID="ID_916621577" MODIFIED="1236898750207" TEXT="E.g. news by broadcast"/>
 </node>
 </node>
-<node CREATED="1236902035497" ID="Freemind_Link_9873596" MODIFIED="1236902042954" TEXT="The sender is now trying smaller chunks"/>
+<node CREATED="1236898764873" ID="ID_1437737506" MODIFIED="1236898781532" TEXT="Clients may send &quot;broadcast&quot; objects">
+<node CREATED="1236898781858" ID="ID_502650341" MODIFIED="1236898785647" TEXT="Broadcast-Mode"/>
+<node CREATED="1236898788766" ID="ID_1181498655" MODIFIED="1236898820811" TEXT="Must be allowed by nodes">
+<node CREATED="1236898821127" ID="ID_21709646" MODIFIED="1236898833669" TEXT="This consumes traffic"/>
+<node CREATED="1236898845514" ID="ID_1933322168" MODIFIED="1236898864289" TEXT="Acceptance of broadcasts is known to list-/master- and bootstrap-nodes"/>
 </node>
+<node CREATED="1236898869927" ID="ID_406948313" MODIFIED="1236898894884" TEXT="A client sends its broadcast to the master-nodes">
+<node CREATED="1236898903419" ID="ID_787211186" MODIFIED="1236898927433" TEXT="They are distribute it to their fellow nodes"/>
+<node CREATED="1236898931205" ID="ID_137555539" MODIFIED="1236899031658" TEXT="A node knows which client accepts broadcasts and &quot;deposits&quot; it for the client"/>
+<node CREATED="1236899048881" ID="ID_1517266448" MODIFIED="1236899073911" TEXT="Clients are requesting such broadcasts by poll-mode or are &quot;pinged&quot;">
+<node CREATED="1236899074418" ID="ID_226822278" MODIFIED="1236899104143" TEXT="In poll-mode the client asks on a regular basis at the node for new broadcasts"/>
+<node CREATED="1236899114179" ID="ID_690207050" MODIFIED="1236899160051" TEXT="A Ping-POST is being sent by the node as a regular HTTP-POST request to the client">
+<node CREATED="1236899160614" ID="ID_651208220" MODIFIED="1236899170480" TEXT="This also happens on a regular basis"/>
 </node>
-<node CREATED="1236902048687" ID="Freemind_Link_507679569" MODIFIED="1236902057647" TEXT="If all was successfully received">
-<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"/>
+<node CREATED="1236899177795" ID="ID_1777926717" MODIFIED="1236899200012" TEXT="A node-admin may allow both types independly"/>
+<node CREATED="1236899205412" ID="ID_1034616429" MODIFIED="1236899216542" TEXT="If none is allowed the node acts as a &quot;relay&quot;">
+<node CREATED="1236899225741" ID="ID_328449565" MODIFIED="1236899250404" TEXT="And therefore it cannot accept clients with broadcast-functionality enabled"/>
 </node>
 </node>
-<node CREATED="1236902139108" ID="Freemind_Link_602435860" MODIFIED="1236902146920" TEXT="There is also a &quot;real&quot; streaming mode">
-<node CREATED="1236902147315" ID="Freemind_Link_1387836906" MODIFIED="1236902152513" TEXT="This is e.g. used for chat"/>
-<node CREATED="1236902157513" ID="Freemind_Link_1268993772" MODIFIED="1236902221941" TEXT="For this TCP/IP is used and no hashes are generated"/>
-<node CREATED="1236902172714" ID="Freemind_Link_602177505" MODIFIED="1236902181106" TEXT="Also no chunks are generated"/>
-<node CREATED="1236902181913" ID="Freemind_Link_191938147" MODIFIED="1236902199404" TEXT="Only in this mode &quot;multi-casting&quot; is possible"/>
 </node>
 </node>
+<node CREATED="1236899269918" ID="ID_123440634" MODIFIED="1236899586006" TEXT="Client-Client Communication">
+<font BOLD="true" NAME="Dialog" SIZE="14"/>
+<node CREATED="1236899286016" ID="ID_1297434555" MODIFIED="1236899322515" TEXT="May be done &quot;anonymously&quot; over the node or directly with an other client">
+<node CREATED="1236899328390" ID="ID_1164113868" MODIFIED="1236899349464" TEXT="Communication of the node is done in poll-mode or by Ping-POST"/>
+<node CREATED="1236899361363" ID="ID_1562747100" MODIFIED="1236899393223" TEXT="Direct client-client communication client &quot;A&quot; sends a Ping-POST directly to client &quot;B&quot;"/>
 </node>
-<node CREATED="1236804847687" ID="Freemind_Link_1372827895" MODIFIED="1236899597302" POSITION="right" TEXT="Fault Tolerance / Reliability">
-<font BOLD="true" NAME="Dialog" SIZE="16"/>
-<node CREATED="1236805031745" FOLDED="true" ID="Freemind_Link_28699698" MODIFIED="1236805057203" TEXT="After X failed connection attempts a node got removed">
-<node CREATED="1236805060886" ID="Freemind_Link_1795377892" MODIFIED="1236805073614" TEXT="Other nodes report this to the master-node"/>
-<node CREATED="1236805074337" ID="Freemind_Link_1595372369" MODIFIED="1236805094304" TEXT="The master-node probes the failed node and removes it"/>
+<node CREATED="1236899405778" ID="ID_1565480551" 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;">
+<icon BUILTIN="xmag"/>
+<icon BUILTIN="desktop_new"/>
 </node>
-<node CREATED="1236805095936" FOLDED="true" ID="Freemind_Link_468909888" MODIFIED="1236805105212" TEXT="Failed list-node">
-<node CREATED="1236805111066" ID="Freemind_Link_192209809" MODIFIED="1236805126866" TEXT="Hubs are reporting it to the master-node"/>
-<node CREATED="1236805135129" ID="Freemind_Link_933570791" MODIFIED="1236805143745" TEXT="The master-node probes the failed list-node and removes it"/>
 </node>
-<node CREATED="1236805147958" FOLDED="true" ID="Freemind_Link_1309357086" MODIFIED="1236805152648" TEXT="Failed master-node">
-<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">
-<node CREATED="1236805194058" ID="Freemind_Link_1324885722" MODIFIED="1236805230236" TEXT="This takeover should not be entirely and should be defined">
+</node>
+<node CREATED="1236899558200" FOLDED="true" ID="Freemind_Link_329480665" MODIFIED="1341963454662" POSITION="right" TEXT="Usage of low-level protocols">
+<font BOLD="true" NAME="Dialog" SIZE="16"/>
+<node CREATED="1236901514992" ID="ID_1153839529" MODIFIED="1236901534483" TEXT="Already existing low-level protocols like TCP/IP and UDP should be used">
+<node CREATED="1236901538901" ID="ID_1598189785" MODIFIED="1236901554266" TEXT="TCP should be used for &quot;inter-communication&quot;"/>
+<node CREATED="1236901556582" ID="ID_645100554" MODIFIED="1236901583267" TEXT="UDP should be used for &quot;streaming&quot; the objects to other nodes">
+<node CREATED="1236901610332" ID="ID_1495758083" MODIFIED="1236901640384" TEXT="Parties are generating hashes of chunks for validation"/>
+<node CREATED="1236901642356" ID="ID_1858876702" MODIFIED="1236901665725" TEXT="Chunks should only be created for very big objects">
+<node CREATED="1236901666398" ID="ID_48304701" MODIFIED="1236901689135" TEXT="Total object size is larger than X KByte">
+<icon BUILTIN="xmag"/>
 <icon BUILTIN="messagebox_warning"/>
-<icon BUILTIN="desktop_new"/>
 </node>
 </node>
-<node CREATED="1236805256862" ID="Freemind_Link_489546245" MODIFIED="1236805284415" TEXT="If there is no list-node, nodes look for an active master-node">
-<node CREATED="1236805285629" ID="Freemind_Link_496844314" MODIFIED="1236805295805" TEXT="They report the failed master-node to it"/>
+<node CREATED="1236901692592" ID="ID_787015036" MODIFIED="1236901715605" TEXT="The sender creates hashes and adds them to the chunk">
+<node CREATED="1236901719921" ID="ID_1735939949" MODIFIED="1236901727014" TEXT="The receivers validates them"/>
+<node CREATED="1236901734931" ID="ID_1263867983" MODIFIED="1236901754322" TEXT="No serial numbers a-la TCP are generated"/>
 </node>
-<node CREATED="1236805300701" ID="Freemind_Link_1831877789" MODIFIED="1236805333472" TEXT="If additionally no master-node is up, a node will be elected as new master-node">
-<node CREATED="1236805370471" ID="Freemind_Link_1473765417" MODIFIED="1236805388795" TEXT="Doing so, all nodes are identifying the node with...">
-<node CREATED="1236805389203" ID="Freemind_Link_1849074808" MODIFIED="1236805408420" TEXT="... the best karma">
-<node CREATED="1236805408843" ID="Freemind_Link_1303674032" MODIFIED="1236805414368" TEXT="This is known to many nodes"/>
+<node CREATED="1236901817636" ID="ID_140457451" MODIFIED="1236901826666" TEXT="The last chunk package contains both hashes">
+<node CREATED="1236901827048" ID="ID_1247676236" MODIFIED="1236901839943" TEXT="Hash of itself and the final hash"/>
 </node>
-<node CREATED="1236805415695" ID="Freemind_Link_1087780155" MODIFIED="1236805439758" TEXT="... most votings">
-<node CREATED="1236805440417" ID="Freemind_Link_585981486" MODIFIED="1236805465354" TEXT="A &quot;vote&quot; is a positive karma"/>
-<node CREATED="1236805470049" ID="Freemind_Link_616335445" MODIFIED="1236805478210" TEXT="Also known to many nodes"/>
+<node CREATED="1236901850065" ID="ID_699064211" MODIFIED="1236901891617" TEXT="If a hash fails to validate it is being collected">
+<node CREATED="1236901891984" ID="ID_833760624" MODIFIED="1236901909386" TEXT="After the final chunk was sent, failed chunks a re-requested"/>
 </node>
+<node CREATED="1236901915277" ID="ID_45598378" MODIFIED="1236901923528" TEXT="This is retried X times per hash">
+<node CREATED="1236901937242" ID="ID_1953539364" MODIFIED="1236901953148" TEXT="But always at the end of the whole transaction and all together"/>
+<node CREATED="1236901958504" ID="ID_1087617216" MODIFIED="1236901976592" TEXT="If still some hashes failed to transfer">
+<node CREATED="1236901976933" ID="ID_1392619755" MODIFIED="1236901990294" TEXT="The object got dropped or fully requested"/>
+<node CREATED="1236901994695" ID="ID_84288828" MODIFIED="1236902002656" TEXT="This should be configurable by the admin"/>
+<node CREATED="1236902012089" ID="ID_618078349" MODIFIED="1236902030267" TEXT="To do so, the final hash and object type is submitted to the sender">
+<node CREATED="1236902095145" ID="ID_821681010" MODIFIED="1236902127410" TEXT="&quot;Restransmit-Message&quot;">
+<icon BUILTIN="attach"/>
 </node>
-<node CREATED="1236805485261" ID="Freemind_Link_341438028" MODIFIED="1236805508476" TEXT="The &quot;election&quot; should take place within a specific timeout"/>
-<node CREATED="1236805519338" ID="Freemind_Link_515853064" MODIFIED="1236805539978" TEXT="If no election is happening the node with most connections got elected"/>
 </node>
+<node CREATED="1236902035497" ID="ID_1340892559" MODIFIED="1236902042954" TEXT="The sender is now trying smaller chunks"/>
 </node>
-<node CREATED="1236805556971" FOLDED="true" ID="Freemind_Link_694830716" MODIFIED="1236805567605" TEXT="If one of the bootstrap-nodes is up">
-<node CREATED="1236805568757" ID="Freemind_Link_1701914366" MODIFIED="1236805604922" TEXT="The elected nodes notifies a some of it&apos;s fellow nodes that the bootstrap-node is back"/>
-<node CREATED="1236805612004" ID="Freemind_Link_561336762" MODIFIED="1236805631225" TEXT="The elected node becomes a regular node and notifies other nodes on connection attempts"/>
 </node>
-<node CREATED="1236805649317" FOLDED="true" ID="Freemind_Link_1745751398" MODIFIED="1236805654363" TEXT="Disadvantages:">
-<node CREATED="1236805655355" ID="Freemind_Link_1189063074" MODIFIED="1236805688061" TEXT="A new node with only knowlege about the bootstrap-nodes may not be able to connect to the nodes">
-<node CREATED="1236805691077" ID="Freemind_Link_1581407665" MODIFIED="1236805728068" TEXT="Additional bootstrap-nodes on other server and/or continent may help here"/>
+<node CREATED="1236902048687" ID="ID_628938328" MODIFIED="1236902057647" TEXT="If all was successfully received">
+<node CREATED="1236902061691" ID="ID_1988047416" MODIFIED="1236902086124" TEXT="The receivers sends a &quot;done-message&quot; to the sender with final hash and object type"/>
 </node>
 </node>
+<node CREATED="1236902139108" ID="ID_1473966368" MODIFIED="1236902146920" TEXT="There is also a &quot;real&quot; streaming mode">
+<node CREATED="1236902147315" ID="ID_1654508253" MODIFIED="1236902152513" TEXT="This is e.g. used for chat"/>
+<node CREATED="1236902157513" ID="ID_429118222" MODIFIED="1236902221941" TEXT="For this TCP/IP is used and no hashes are generated"/>
+<node CREATED="1236902172714" ID="ID_480009945" MODIFIED="1236902181106" TEXT="Also no chunks are generated"/>
+<node CREATED="1236902181913" ID="ID_29563235" MODIFIED="1236902199404" TEXT="Only in this mode &quot;multi-casting&quot; is possible"/>
 </node>
-<node CREATED="1236818932032" FOLDED="true" ID="Freemind_Link_1204819150" MODIFIED="1236899597325" POSITION="right" TEXT="Object Types">
-<font BOLD="true" NAME="Dialog" SIZE="16"/>
-<node CREATED="1236818952579" ID="Freemind_Link_1961919735" MODIFIED="1236818969501" TEXT="New object types are only addable by updating the software"/>
-<node CREATED="1236818987796" ID="Freemind_Link_188591190" MODIFIED="1236818998981" TEXT="It also possible by 3rd-party">
-<node CREATED="1236819000063" ID="Freemind_Link_385578906" MODIFIED="1236819012704" TEXT="Must be known by master/bootstrap-nodes"/>
-</node>
-<node CREATED="1236819026050" ID="Freemind_Link_1667260565" MODIFIED="1236819039189" TEXT="Outdated object types are marked &quot;deprecated&quot; for a longer time">
-<node CREATED="1236819040263" ID="Freemind_Link_1936301650" MODIFIED="1236819053202" TEXT="Master-nodes may accept or reject them"/>
-<node CREATED="1236819057430" ID="Freemind_Link_505959038" MODIFIED="1236819072713" TEXT="A &quot;deprecation message&quot; is always being sent"/>
-<node CREATED="1236819073435" ID="Freemind_Link_1001362763" MODIFIED="1236819086883" TEXT="A note of a required update can optionally be added"/>
-</node>
-<node CREATED="1236819096719" ID="Freemind_Link_259217829" MODIFIED="1236819111770" TEXT="After deprecation time they are treated as &quot;unknown&quot;"/>
-<node CREATED="1236819117510" ID="Freemind_Link_1228871005" MODIFIED="1236819187199" TEXT="Other nodes should ask bootstrap-nodes">
-<node CREATED="1236819188392" ID="Freemind_Link_887331476" MODIFIED="1236819200697" TEXT="This compensate errors made by master-nodes"/>
-<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"/>
 </node>
 </node>
 </node>