Notion of time in distributed systems; Logical clocks, vector clocks, bitmatrix clocks, virtual clocks; Shared memory vs. message passing; Consensus; Byzantine agreement, agreement protocols, commit protocols; Mutual exclusion in distributed systems; Distributed algorithms; 2, 3 tier c/s architectures; Languages for distributed computing; Linda, CSP, DP, SR; Distributed operating systems; Distributed file systems; Distributed databases; Distributed objects -DCOM, CORBA, Java.