This course investigates the issues involved in providing scalable and highly available network services over the best-effort Internet. Examples of such services include Web servers, application servers, search engines, proxy caches, online auction systems, and remote visualization. Topics include network programming, server design, clustering, caching, proxies, remote execution, resource naming, discovery, and monitoring, and wide-area metacomputing. The course consists of lectures on existing technology, student presentations of research papers, and a project where students design and implement a significant network service.
This course is currently being offered.