CS 542: Distributed Database Systems, Spring 2005

Time: Tuesday and Thursday, 10:30-11:45am.

Room: REC 121.

Prof. Bharat Bhargava (Office: CS 145, Office hours: T 11:45-1:00)

Teaching Assistant: Weichao Wang (Office: CS145, Office Hour: Friday, 11:00am -- 12:20 pm)

Mail list: cs542. Please add your email address to the mail list by typing "mailer" on a UNIX machine, and then get the help of the command.

Teaching Material

This course will deal with the fundamental issues in large distributed systems which are motivated by the computer networking and distribution of processors, and control. The theory, design, specification, implementation, and performance large systems will be discussed. Concurrency, Consistency, Integrity, Reliability, Privacy, and Security in distributed systems will be included.

A special feature of the course includes interesting problems in Mobile Adhoc networks that can benefit from research ideas in distributed systems. Research related to Mobile Computing, Streaming databases, Video conferencing, Peer to Peer systems will be covered.

Textbooks:

Principles of Distributed Database Systems, Prentice Hall, Tamer Oszu and Patrick Valduriez, (Copy on reserve in Math Sc) (MAIN TEXT)

Concurrency Control and Reliability in Distributed Systems, Van Nostrand and Reinhold Publishers by Bharat Bhargava (Ed.), 1987 (Copy on reserve in Math Sc)

Some reading materials based on current research projects in Purdue.

Course Outline:

a) Architecture, General Systems Issues, Example Systems ....(4 Hrs.)

b) Distributed control for synchronization and concurrency (will include the models for concurrent processing and transactions, theory of serializability, classes of concurrency control approaches, performance evaluation of these classes, centralized control vs. decentralized control).........(12 Hrs.)

c) Distributed commitment/termination (involves preservation of atomicity of transaction execution, blocking/non-blocking protocols).........(6 Hrs.)

d) Resiliency in distributed systems (involves design of protocols for site failure, network partitioning, loss of messages or variable transmission delays, consistent recovery)..........(3-6 hours.)

e) Security in distributed systems. (involves study of a variety of attacks on the components of system (such as on routing protocols in adhoc networks), privacy issues in Peer to Peer systems, trusted collaboration and dissemination of data among cooperative entities)...............(9-12 hours)

f) Design and Implementation of Prototype/commercial systems, Experimental Evaluations. Details of peer to peer system developed at Purdue and several commercial systems .....(9 Hrs)

Assignments and Grading Policy:

The following assignments/exams etc. are planned.

a) Non programming assignments ....5 (Once every two weeks: 25% of grade)

b) Programming assignments in the form of a project that you select from a choice of 6-8 projects. You may suggest a project based on your interest. (30% of grade)

c) Mid Term and Final Exams ....2 (20% of grade each)

d) Class participation, outside reading of research papers (5% of grade)

Your programming projects can involve implementing some component for integrity, security, reliability, or privacy policy. Or communication facility for LAN, or routing in mobile adhoc networks can be developed.

You can conduct experiments on ns2, or peer to peer system prototype. You should attend all classes for highest class participation credit.

Reading list

  • Building Distributed Database Systems, Bharat Bhargava.
  • The Raid Distributed Database System, Bharat Bhargava and John Riedl, IEEE Trans on Software Engineering, 15(6), June 1989.
  • Concurrency Control in Database Systems Bharat Bhargava, IEEE Trans on Knowledge and Data Engineering,11(1), Jan.-Feb. 1999
  • A Model for Adaptable Systems for Transaction Processing, Bharat Bhargava and John Riedl, IEEE Transactions on Knowledge and Data Engineering, 1(4), Dec 1989.
  • CollectCast: A Peer-to-Peer Service for Media Streaming, M. Hefeeda, A. Habib, D. Xu, B. Bhargava, and B. Botev, ACM/Springer Multimedia Systems Journal, under revision.
  • Distributed Crash Recovery. Slides (Power Point).
  • Communication Facilities for Distributed Transaction Processing Systems, E. Mafla, and B. Bhargava, IEEE Computer, 24(8), 1991.
  • A framework for communication software and meaurements for digital library , B. Bhargava and M. Annanalai, Journal of Multimedia systems, 2000.
  • WANCE: Wide area network communication emulation systems , Y. Zhang and B. Bhargava, IEEE workshop on Parallel and Distributed Systems, 1993.
  • Trust-Based Privacy Preservation for Peer-to-peer Media Streaming: paper , slide
  • Verifying Data Integrity in P2P Media Streaming
  • Homework

    A minor change in points for homework 1: the full mark for every question is 10 points, and the total points will be 70.

  • Homework 1
  • Homework 2
  • Homework 3
  • Homework 4
  • Projects

    The programming projects may involve using a mini version of the RAID system or the other systems to implement some algorithm or communication facility for transaction processing.

    Book Slides

    Please find the slides with the following links.

  • Begin ( ppt )
  • Introduction ( ppt)
  • Architecture ( ppt )
  • Design ( ppt )
  • Semantic Data Control ( ppt )
  • Distributed Query Processing and Optimization ( ppt )
  • Distributed Transaction Management ( ppt )
  • Parallel DBMS ( ppt )
  • Prof. Bhargava's Slides

  • Degrees of Committment
  • Distributed Version Management
  • Formal Concurrency Control
  • Mutual Consistency
  • Optimistic CC Performance
  • Optimistic CC
  • Optimistic Concurrency Control
  • RAND
  • Reliability Partition
  • Site Future
  • Termination and Recovery