Introduction to Reliable and Secure Distributed Programming
In modern computing a program is usually distributed among several processes. The fundamental challenge when developing reliable and secure distributed programs is to support the cooperation of processes required to execute a common task, even when some o
- PDF / 3,691,706 Bytes
- 380 Pages / 439.369 x 666.14 pts Page_size
- 97 Downloads / 315 Views
•
Christian Cachin Lu´ıs Rodrigues
•
Rachid Guerraoui
Introduction to
Reliable and Secure Distributed Programming Second Edition
123
Dr. Christian Cachin IBM Research Z¨urich S¨aumerstrasse 4 8803 R¨uschlikon Switzerland [email protected]
Prof. Lu´ıs Rodrigues INESC-ID Instituto Superior T´ecnico Rua Alves Redol 9 1000-029 Lisboa Portugal [email protected]
Prof. Dr. Rachid Guerraoui Ecole Polytechnique F´ed´erale Lausanne (EPFL) Fac. Informatique et Communications Lab. Programmation Distribu´ee (LPD) Station 14 1015 Lausanne Bat. INR Switzerland [email protected]
ISBN 978-3-642-15259-7 e-ISBN 978-3-642-15260-3 DOI 10.1007/978-3-642-15260-3 Springer Heidelberg Dordrecht London New York Library of Congress Control Number: 2011921701 ACM Computing Classification (1998): C.2, F.2, G.2 c Springer-Verlag Berlin Heidelberg 2011, 2006 This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Cover design: KuenkelLopka GmbH Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com)
To Irene, Philippe and Andr´e. To Maria and Sarah. To Hugo and Sara.
•
Preface
This book provides an introduction to distributed programming abstractions and presents the fundamental algorithms that implement them in several distributed environments. The reader is given insight into the important problems of distributed computing and the main algorithmic techniques used to solve these problems. Through examples the reader can learn how these methods can be applied to building distributed applications. The central theme of the book is the tolerance to uncertainty and adversarial influence in a distributed system, which may arise from network delays, faults, or even malicious attacks.
Content In modern computing, a program usually encompasses multiple processes. A process is simply an abstraction that may represent a physical computer or a virtual one, a processor within a computer, or a specific thread of execution in a concurrent system. The fundamental problem with devising such distributed programs is to have all processes cooperate on some common task. Of course, traditional centralized algorithmic issues still need to be dealt with for each process individually. Distributed environments, which may
Data Loading...