Research Progress Presented By: Mohamed Ramez Atassi Supervisor: Dr. Ahmed Sameh
� How to use a group of untrusted volunteers to increase the capacity of the web server of a dynamic web site � Volunteers contribute by providing disk space and network bandwidth � Internet forums application (Message Boards) is used as a Case Study
� 1- Increase server capacity and performance � 2- Scalability � 3- Load Balancing � 4- Data Integrity � 5- Low Latency � 6- Security � 7- Up-to-date data � 8- Adaptive � 9- Application-Specific Requirements
� The web server creates and maintains a DHT � Volunteers join the DHT � Popular web files are periodically inserted into DHT using content hashing as key � Links to immutable files like images are inserted directly on web pages using dht:// links � Example: dht://dht.mysite.com/key=A2SD74EF5F389 � These dht:// links are resolved by a browser’s extension � Web pages are accessed using a script on server � Script directs requests to either DHT or files on server � Redirection to DHT is achieved by returning an html file with an embedded iframe with DHT link as source or by JavaScript
� 1 - Approach Modifications � 2 – Client Extension Alternatives � 3 – DHT Peer program implementation
� Two approaches were suggested in first proposal: Complete page storage and storage of objects as html fragments � Complete page storage causes wasted storage, hence wasted bandwidth to synchronize replicas � Second approach causes more server load and higher failure rates � New approach, combination of both, is suggested � Store complete web page as one fragment, and add other fragments that modifies the first fragment – using JavaScript – as needed
� An extension of the client’s browser is used to do the following tasks: ◦ 1- dht:// links are used to retrieve a file from the DHT network. The extension must first contact the server to get an address of a random node IP/Port ◦ 2- The node address should be stored in a cookie. The same address should be used till a timout or a failure occur. Then, a new random node address would be retreived ◦ 3- The retrieved file must be hashed. The resulting value is compared to file key to ensure data integrity � An attractive objective to add to our objectives would be “Client-side transparency” � Question: Can we fulfill the required tasks using JavaScript without using a browser extension
� Many DHT implementations are available: Chord, Tapestry, Pastry, CAN, Kademilia, Bamboo, … � Chord/Dhash has been chosen � Default implementation versus Other ports � Choosing Parameters: ◦ Simple replication vs Erasure codes ◦ Number of replicas ◦ Replicas maintenance algorithm ◦ Number of virtual nodes per real node � Modify the implementation to act as a mini web server
Recommend
More recommend