| 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) | |||||