By Noah | July 4, 2012
I’m delighted to announce that I have accepted a position as a Visiting Scholar in the Computer Science Department at Tufts University, and in fall of 2012, I will be teaching a new course titled: Internet-Scale Distributed Systems: Lessons from the World Wide Web.
The course description is:
The World Wide Web, one of the most important developments of our time, is a unique and in many ways innovative distributed system. This course will explore the design decisions that enabled the Web’s success, and from those will derive important and sometimes surprising principles for the design of other modern distributed systems.
We will introduce and draw comparisons with more traditional distributed system designs, including distributed objects, client/server, pub/sub, reliable queuing, etc. We will also study a few (easily understood) research papers and some of the core specifications of the Web. Specific topics to be covered include: global uniform naming; location-independence; layering and leaky abstractions; end-to-end arguments and decentralized innovation; Metcalfe’s law and network effects; extensibility and evolution of distributed systems; declarative vs. procedural languages; Postel’s law; caching; and HTML/XML/JSON document-based computing vs. RPC.
The purpose of this course is not to teach Web site development, but rather to explore lessons in system design that can be applied to any complex software system.
Everyone I’ve met from Tufts, both students and faculty, loves it there, and I’m very excited to have this opportunity to join them!