2. Definition
• What is a distributed system?
”You know you have a
distributed system when the
crash of a computer you have
never heard of stops you from
getting any work done.”
Leslie Lamport
We counteract this definition!
ali@sics.se 2
3. Distributed Systems
• Example of distributed systems:
– File systems
Frequently, an organization
– Web servers stores all its files on a centralized
distributed file server
– Mail servers
If it fails, no one can access their
– Databases files
The central mail server crashes, no one can read their
Webb servers often become
email!
overloaded and fail
ali@sics.se 3
4. Our effort
• Build on an 30-year old idea
• Arpanet, the precursor of Internet, was
built for:
– Military survivability
• If some part stops working, the rest should continue
to function
• Internet has been quite successful so far…
– No fail-stop yet
• But the effort stopped here…
ali@sics.se 4
5. Peer-to-Peer System
• We want to build
– Services
– Servers
– Applications
• That are self-managed
• Achieved by peer-to-peer techniques!
ali@sics.se 5
6. Peer-to-Peer Middleware
• After several years of research
– Built a middleware: DKS
• Provides:
– Routing services
– Directory services
– Name-based messaging
(multicast/publish/subscribe)
ali@sics.se 6
7. Peer-to-Peer System
• DKS is self-managing
• Automatic managent:
– Adding servers/resources
– Removing servers/resources
– Crash of servers/resources
– Load balancing of data/nodes
– Security
ali@sics.se 7
8. Peer-to-Peer?
• How is it different from:
– KaZaa
– Napster
– Gnutella
– Skype
• These are so called unstructured p2p
systems
– Limited applicability (file sharing)
– Inefficient (wastes bandwidth)
• Our focus is on structured p2p systems
– Chord/CAN/Pastry (USA)
– DKS/P-Grid (Europe)
ali@sics.se 8
9. What can we do with DKS?
• Three concrete applications:
– P2P Web server
– P2P Backup
– P2P File system
ali@sics.se 9
10. P2P Web
• Works like an Publish your web pages
ordinary web
server
• Differences:
– It is distributed
– Automatic data Gets stored on the DKSStore a copy here
replication 15 0
Store it here 1
– Load-balancing 14 15 1
2
of users
13 13 3
4
12 4
• Too much load 5
– Add another 11 5
server Store a new copy here 10 6
9 7
8
ali@sics.se 10
11. P2P Backup
• Initialization
– Install a client on your computer
– Decide on amount of space to share
– Choose files for backup
• Regular backup
– Data is encrypted
– Always accessible
ali@sics.se 11
12. Conclusion
• Structured Peer-to-Peer system
– Self-organizing
• Automatic fault-tolerance
• Automatic addition of nodes/resources
• Automatic removal of nodes/resources
• Automatic load-balancing
• Many interesting applications
– File systems
– Backup
– Web
– M.m.
• Cost-saving for companies
– Save money on administration
ali@sics.se 12