Presentation is loading. Please wait.

Presentation is loading. Please wait.

A presentation by Dr. Robin Upton (2008-11-02). Available for download at www.altruists.org/ff1 www.altruists.org/ff1 Attribution – NonCommercial - ShareAlike.

Similar presentations


Presentation on theme: "A presentation by Dr. Robin Upton (2008-11-02). Available for download at www.altruists.org/ff1 www.altruists.org/ff1 Attribution – NonCommercial - ShareAlike."— Presentation transcript:

1 A presentation by Dr. Robin Upton (2008-11-02). Available for download at www.altruists.org/ff1 www.altruists.org/ff1 Attribution – NonCommercial - ShareAlike www.altruists.org FF 1 : Friend2Friend Technical Overview What is a Friend2Friend Network? v1.0.1

2 What is a Friend2Friend (F2F) Network?. Friend2Friend.net? In Client-Server networks (Websites), unprivileged clients connect to more powerful servers. C C C C C C C S In Peer2Peer networks (Napster, BitTorrent...) users connect, sometimes via a central server, to random individuals (peers). P S P P P P P P P In Friend2Friend networks, you connect yourself directly to known individuals (friends). F F F F F F

3 Friend2Friend.net. F2F Network Home of an F2F system that... is XML-based; has a GUI/SDK for FireFox;is Free & Open Source; is not yet working ;-)‏ is Extensible/scriptable in XSLT;

4 F2F Network F2F Structure f2f.RobinUpton.com f2f.ekushey.org f2f.honesty.orgf2f.gifteconomy.org f2f.re-cycle.org Connections Server-Server Client-Server f2f.emni.com.bd Like WWW servers, F2F servers both send and receive data. Unlike WWW, traffic is digitally signed, & packets travel between F2F servers in multiple hops.

5 F2F Structure Client Structure The F2F network is built from 2 sorts of node 'Client' Node 'Server' Node Interaction with users JS + Java Intermittent (on demand)‏ Data storage and communication PHP + Java24/7 PurposeCodingAvailability

6 Client Structure Server Structure Human- readable DOM Machine- readable DOM Display XML JAVA Decryption Handle Events, clipboard etc. The F2F client runs in a browser, managing traffic, making the HTML to show the user & responding to user interaction. Out JAVA Encryption p9;45p[54t[po'kljh67O:M SEESuDETB6ED7iEuho DEDE ^Teu#'[hEB B GE& E7Unun KDUCe IunKDE{OccsdcscdK OKDEJ JLKJE LKDEED'@sdf 45r;oki4IOiJKkujYT-0345LKDEED'@sdf p9;45p[54t[po'kljh:M0 SEESuDETB6ED7iEuhoEDE ^Teu#'[hEB B GE& E7Un emni09wd;lkjIU£'jk3e In...

7 Server Structure Soft Nodes The F2F server is a tree of nodes, called soft nodes. /f2f /f2f/users /f2f/users/jim /f2f/lib /f2f/lib/demo /f2f/users/tom /f2f/lib/etc /f2f/users/jim.../public 'bubble' around the tree... JAVA Decryption p9;45p[54t[po'kljh67O:M SEESuDETB6ED7iEuho DEDE ^Teu#'[hEB B GE& E7Unu IunKDE{OccsdcscOKDELKJE LKDEED'@sdfKkujYT-0345; LKDEED'@sdf IncomingOutgoing p9;45p[54t[po'kljh:M0 SEESuDETB6ED7iEuhoEDE ^Teu#'[hEB B GE& E7Un emni09wd;lkjIU£'jk3e JAVA Encryption...transformed by sets of XSD/XSLT filters between nodes as they do so.

8 Soft Nodes Modules Each soft node has... (1) a namespace, identifying its type http://friend2friend.net/modules/user (3) a store of user data (2) a unique path on that server /f2f/users/jim (4) the system's record of ongoing transactions Soft nodes are installed from F2F modules. They are analagous to installed software. /f2f/users/jim default.xml dynamic.xml

9 Modules Message Structure An F2F module has... F2F Modules add extra functionality; they are analagous to software installers. (5) An XSLT script for each service, display or filter (3) A list of any services & displays it provides (4) A list of filters it uses (2) A schema to define its datatypes (1) A unique namespace and matching digital signature http://friend2friend.net/modules/user

10 Message Structure Bubbling Messages... Any XML, (typically )‏ /f2f/users /f2f/users/jim /f2f/users/tom Thread #2 X M LX M LX M LX M L Between F2F servers, are encrypted and signed.

11 Bubbling Messages Receiving Messages On receipt of data from the outside... 1) The F2F server uses its private key to produce a decrypted 2) If this does not have a valid address, discard it. Else bubble the from root To bubble from a softnode: 1) If it is at the node specified in, receive the here. Else: 2) Execute any filters which apply to the message. 3) If is an external address, and here is root, send out the message Else move the resulting message one node towards and bubble

12 Receiving Messages Crunching Threads 1) Create a new, setting = the item of the = the item of the 2) Crunch this thread. To receive at a soft node:

13 Crunching Threads Finishing Threads 1) If contains no active items, finish here. Else execute the next active in here, then crunch here... To crunch at a soft node:

14 Finishing Threads To finish at a soft node: 1) Create a new, setting @type= “term” = the of this = this node's address = the of this 2) Remove this 3) Bubble this Executing

15 Rerouting To execute in at a soft node: 1) Look up @function in this node's table of addresses 2) If it is not present, fail. Elseif this address is elsewhere, reroute to that address Else process in here

16 Rerouting Processing To reroute at a soft node to another soft node: 1) Create a new item, setting @type= “down” = the other node's address = this node's address = the 2) Bubble this

17 Processing To process in at a soft node: 1) Carry out any pre-processing directives on 2) If @function is a core service, pass to the appropriate PHP() call Else apply the appropriate.XSLT to 3) Carry out any post-processing directives on the data returned by 2)‏ 4) Remove from and replace it by the output of 3)‏. All you need to know to start coding...

18 All you need to know to start coding... Key Aspects

19 XML for all data exchange. Strong Cryptography secures all internet traffic. Non-hierarchical system architecture. XSLT-based scripting language. F F F F F F Volunteers please contact http://friend2friend.net http://friend2friend.net


Download ppt "A presentation by Dr. Robin Upton (2008-11-02). Available for download at www.altruists.org/ff1 www.altruists.org/ff1 Attribution – NonCommercial - ShareAlike."

Similar presentations


Ads by Google