CIS 455/555: Internet and Web Systems | |||||
Tentative Schedule of Topics - Spring 2010 | |||||
Dates | Topics | Detailed Topics | Reading | ||
13-Jan | Introduction | Principles of building systems | Lampson | ||
Project management & debugging tips | |||||
18-Jan | MLK Day (no class) | ||||
20-Jan | Server Architectures | Common server types: Web, application, content management | Krishnamurthy/Rexford Ch 4 | ||
25-Jan | Architectures: Client-server, P2P, multi-tier, sensor networks | HTTP Made Really Easy | |||
Threads | Tanenbaum 3.1 | ||||
Monitors, signals, producer-consumer, thread pools, even-driven programming | Tanenbaum "Modern OS" 2.3 | ||||
Homework 1: Servlet engine | |||||
27-Jan | Naming & Locating Resources | Naming and directories, URIs | Wikipedia.org: DNS | ||
1-Feb | Search strategies | Marshall LDAP intro | |||
3-Feb | Content-based addressing | Heydon & Najork (web crawling) | |||
Document indexing | |||||
Publish-subscribe | |||||
Homework 1 Milestone 1 due Feb. 3 | |||||
8-Feb | Representing Data | Data representations | Doan et al. Chapter 8 | ||
15-Feb | Schemas | XSLT Tutorial | |||
JPEG, MP3, and QT | Altinel and Franklin | ||||
17-Feb | XML and XPath | ||||
22-Feb | XSLT | ||||
Homework 1 Milestone 2 due Feb. 15 | |||||
Homework 2: Crawling and transforms | |||||
24-Feb | Storing, Distributing, and Retrieving Data | Partitioning | Stoica et al. (Chord) | ||
1-Mar | Global coordination/directories | Dean & Ghemawat: MapReduce | |||
Cloud file systems | Olston: Pig Latin | ||||
15-Mar | Peer-to-peer and consistent hashing | Ghemawat et al: Google File System | |||
Homework 2 Milestone 1 due March 1 | |||||
Form project groups | |||||
17-Mar | Code Interoperability | Remote procedure calls | Tanenbaum 4.2, 10.3 (RPC, RMI) | ||
Web services , SOAP, WSDL, REST | SOAP tutorial | ||||
UDDI | WSDL tutorial | ||||
Service composition | |||||
Form project groups | |||||
8-Mar - 12-Mar | Spring break (no class) | ||||
22-Mar | Data Exchange | Views as abstractions and mappings | Doan et al. Chapters 2/3 | ||
Data integration + warehousing | |||||
Homework 2 Milestone 2 due Mar. 15 | |||||
Homework 3: Distributed hash tables, caching, mash-ups | |||||
Documents and Ranking | Simple pattern recognizers - regexps | Baeza-Yates Chapter 2 | |||
24-Mar | Information retrieval models | Baeza-Yates Chapter 8 | |||
29-Mar | Web connectivity | Kleinberg et al. | |||
5-Apr | Ranking | Brin & Page: PageRank | |||
7-Apr | Web crawlers | Brin & Page: Anatomy | |||
Collaborative filtering | |||||
Homework 3 due April 5 | |||||
Begin project planning | |||||
31-Mar | MIDTERM | ||||
12-Apr | Transactions & Security | Application server and TP monitor architectures | Weikum Ch. 19 | ||
14-Apr | ACID properties | Lewis Ch. 27 | |||
Two-phase commit | Silberschatz et al.
Sections 6.5-6.7 Tanenbaum 9.1-9.4 |
||||
Views, access control lists, capabilities | |||||
Secure transactions and SSL | |||||
Initial project plan due | |||||
Caching & Replication | Proxies | Krishnamurthy/Rexford Ch. 3, 11 | |||
19-Apr | Replication and web caching | Tanenbaum 7.1, 7.2, 7.3, 7.4, 7.5 | |||
Consensus for consistency | Cooper et al.: PNUTS | ||||
26-Apr | Second Midterm | Second midterm | |||
Code complete deadline | |||||
3-May - 11-May | Project demos and reports | ||||
(Final Exam week) |