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

Slides:



Advertisements
Similar presentations
PHP syntax basics. Personal Home Page This is a Hypertext processor It works on the server side It demands a Web-server to be installed.
Advertisements

28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09.
Layer 7- Application Layer
Introduction to Web Database Processing
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Responder Anonymity and Anonymous Peer-to-Peer File Sharing. by Vincent Scarlata, Brian Levine and Clay Shields Presentation by Saravanan.
Part 1: Overview of Web Systems Part 2: Peer-to-Peer Systems Internet Computing Workshop Tom Chothia.
Active X Microsoft’s Answer to Dynamic Content Reference: Using Active X by Brian Farrar QUE
Introduction to Web Interface Technology (CSE2030)
Introduction to Web Interface Technology (CSE2030)
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
Chapter 9: Moving to Design
The Internet & The World Wide Web Notes
Introduction to JavaScript Programming With XML and PHP Creating Interactive Web Pages Elizabeth Drake.
CSCI 6962: Server-side Design and Programming
INTRODUCTION TO WEB DATABASE PROGRAMMING
CS 299 – Web Programming and Design CS299: Web Programming and Design Instructor: Dr. Fang (Daisy) Tang.
1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.
A Back-Stage Pass: What Every Hacker Wants Presented by: Art Jones.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
2013Dr. Ali Rodan 1 Handout 1 Fundamentals of the Internet.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Twelfth Edition.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
IT Introduction to Information Technology. The Internet & World Wide Web Began in 1969 with the ARPANET (Advanced Research Project Agency Network)
M1G Introduction to Database Development 6. Building Applications.
Web Services An introduction for eWiSACWIS May 2008.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
FF 1 : Modules A presentation by Robin Upton ( ) ‏ Latest version at Attribution – NonCommercial - ShareAlike
A presentation by Robin Upton ( ) ‏ latest version at Attribution – NonCommercial - ShareAlike FF 404.
Chapter 8 Safeguarding the Internet. Firewalls Firewalls: hardware & software that are built using routers, servers and other software A point between.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
A presentation by Robin Upton ( ) ‏ latest version at Attribution – NonCommercial - ShareAlike FF 4 :
1 實驗九:建置網路安全閘道器 教師: 助教:. 2 Outline  Background  Proxy – Squid  Firewall – IPTables  VPN – OpenVPN  Experiment  Internet gateway  Firewall  VPN.
1 Welcome to CSC 301 Web Programming Charles Frank.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
802.11n Sniffer Design Overview Vladislav Mordohovich Igor Shtarev Luba Brouk.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
The Intranet.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Construction Planning and Prerequisite
A presentation by Robin Upton ( ) ‏ Latest version at Attribution – NonCommercial - ShareAlike FF 10.
FF 12 : Clients A presentation by Robin Upton ( ) ‏ Latest version at Attribution – NonCommercial - ShareAlike
Altruistic Economics A presentation by Dr. Robin Upton, , for Dhaka University Computer Science Department. Available for download at
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Jini Architecture Introduction System Overview An Example.
CHAPTER 7 THE INTERNET AND INTRANETS 1/11. What is the Internet? 2/11 Large computer network ARPANET (Dept of Defense) It is international and growing.
The Snippet Engine (SnEn) Servers Form an Infinitely Large Network Front End Snippet Engine Servers (located anywhere in the world) Front End Snippet Engine.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
FF 11 : Hooks A presentation by Robin Upton ( ) ‏ Latest version at Attribution – NonCommercial - ShareAlike
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
FF 17 : Processes A presentation by Robin Upton ( ) ‏ Latest version at Attribution – NonCommercial - ShareAlike
A presentation by Robin Upton ( ) ‏ Latest version at Attribution – NonCommercial - ShareAlike Recommended.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
Information Systems Design and Development Security Precautions Computing Science.
Lecture 10 Page 1 CS 236 Online SSL and TLS SSL – Secure Socket Layer TLS – Transport Layer Security The common standards for securing network applications.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Unit 5: Providing Network Services
PHP / MySQL Introduction
Using SSL – Secure Socket Layer
Snippet Engine as a Database Server
Presentation transcript:

A presentation by Dr. Robin Upton ( ). Available for download at Attribution – NonCommercial - ShareAlike FF 1 : Friend2Friend Technical Overview What is a Friend2Friend Network? v1.0.1

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

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;

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.

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

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 p9;45p[54t[po'kljh:M0 SEESuDETB6ED7iEuhoEDE ^Teu#'[hEB B GE& E7Un emni09wd;lkjIU£'jk3e In...

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 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.

Soft Nodes Modules Each soft node has... (1) a namespace, identifying its type (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

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

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.

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

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:

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:

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

Rerouting To execute in at a soft node: 1) Look 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

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

Processing To process in at a soft node: 1) Carry out any pre-processing directives on 2) 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...

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

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