This course will cover topics like Introduction to distributed computing, Message passing models, Logical time and global state, Message ordering and Group communication, Mutual exclusion, Consensus, and Self stabilization, etc. The course will also cover the design aspects of various advanced distributed computing models like Cluster of cooperative computers, Grid computing, Peer-to-Peer networks, and Internet of Things.
Scope and Objectives
Over the past three decades, distributed computing has emerged as a well-developed field in computer science and information technology domain. This field covers all aspects of computing and information access across multiple processing elements connected by any form of communication network, either local area, or wide area. There has been a steady growth in the development of contemporary applications that demonstrate their efficacy by connecting millions of users/applications/machines across the globe without relying on a traditional client-server approach. In recent times, the general computing trend is to leverage shared resources and massive amounts of data over the Internet. This course aims to provide an in-depth understanding of theory, algorithms, and systems aspects of distributed computing.
Prescribed Text Book
1) Ajay D. Kshemkalyani, and Mukesh Singhal “Distributed Computing: Principles, Algorithms, and Systems”, Cambridge University Press.