| Both authors have taught the course of “Distributed Systems” for many years in the respective schools. During the teaching, we feel strongly that “Distributed systems” have evolved from traditional “LAN” based distributed systems towards “Internet based” systems. Although there exist many excellent textbooks on this topic, because of the fast development of distributed systems and network programming/protocols, we have difficulty in finding an appropriate textbook for the course of “distributed systems” with orientation to the requirement of the undergraduate level study for today’s distributed technology. Specifically, from upto- date concepts, algorithms, and models to implementations for both distributed system designs and application programming.
Thus the philosophy behind this book is to integrate the concepts, algorithm designs and implementations of distributed systems based on network programming. After using several materials of other textbooks and research books, we found that many texts treat the distributed systems with separation of concepts, algorithm design and network programming and it is very difficult for students to map the concepts of distributed systems to the algorithm design, prototyping and implementations. This book intends to enable readers, especially postgraduates and senior undergraduate level, to study up-to-date concepts, algorithms and network programming skills for building modern distributed systems. It enables students not only to master the concepts of distributed network system but also to readily use the material introduced into implementation practices.
The book takes an integrated approach to view the distributed system as a set of programming blocks cooperating on distributed sites. The primary objective of the concept, design and implementation is to meet the requirements or distributed applications based on the networking environment. In this book, networking and distribution design for applications are represented in the form of several dimensions. Therefore, the book describes the distributed systems along a line from general distributed system requirement of applications to system transparency that reflect system structure and algorithm designs and implementation techniques. |