Skip to main content

2001 | Buch

Distributed Systems for System Architects

verfasst von: Paulo Veríssimo, Luís Rodrigues

Verlag: Springer US

Buchreihe : Advances in Distributed Computing and Middleware

insite
SUCHEN

Über dieses Buch

The primary audience for this book are advanced undergraduate students and graduate students. Computer architecture, as it happened in other fields such as electronics, evolved from the small to the large, that is, it left the realm of low-level hardware constructs, and gained new dimensions, as distributed systems became the keyword for system implementation. As such, the system architect, today, assembles pieces of hardware that are at least as large as a computer or a network router or a LAN hub, and assigns pieces of software that are self-contained, such as client or server programs, Java applets or pro­ tocol modules, to those hardware components. The freedom she/he now has, is tremendously challenging. The problems alas, have increased too. What was before mastered and tested carefully before a fully-fledged mainframe or a closely-coupled computer cluster came out on the market, is today left to the responsibility of computer engineers and scientists invested in the role of system architects, who fulfil this role on behalf of software vendors and in­ tegrators, add-value system developers, R&D institutes, and final users. As system complexity, size and diversity grow, so increases the probability of in­ consistency, unreliability, non responsiveness and insecurity, not to mention the management overhead. What System Architects Need to Know The insight such an architect must have includes but goes well beyond, the functional properties of distributed systems.

Inhaltsverzeichnis

Frontmatter

Distribution

Frontmatter
1. Distributed Systems Foundations
Abstract
This chapter discusses the foundations of distributed systems. It begins with defining distributed systems, and performing a review of the basic subjects re-garding distribution, such as computer networks, distributed operating systems and services. It introduces some generic formal notation to be used throughout the book in more elaborate treatments of some subjects. Distributed system architectures are discussed, namely: remote access; file and memory distribu-tion; client-server; thin clients and network computers; portable and mobile code; message-based architectures; mobile computing.
Paulo Veríssimo, Luís Rodrigues
2. Distributed System Paradigms
Abstract
This chapter presents the most important paradigms in distributed systems, in a problem-oriented manner, purposely addressed to to-be architects. Namely, the chapter addresses: naming and addressing; message passing; remote op-erations; group communication; time and clocks; synchrony; ordering; coordi-nation; consistency; concurrency; and atomicity. Paradigms are motivated by showing their problem-solving potential and also their limitations.
Paulo Veríssimo, Luís Rodrigues
3. Models of Distributed Computing
Abstract
This chapter discusses the main distributed systems models. As an introduc-tion, it sets the context by addressing the main facets of the problem. Frame-works clarify what can be done given different assumptions on failures and synchronism, explaining that we can structure distributing computing along different vectors serving different needs. Strategies help the architect reason about the available ways to go in order to serve her requirements and objec­tives. Then two more fundamental issues are addressed before delving into the system models: explaining the main differences between the synchronous and asynchronous formal frameworks for distributed computing; and presenting the primitive classes of distributed activities and their overall scheme of operation, for understanding the purposes of distribution. Finally, the chapter presents known models such as: client-server with RPC, group-oriented, distributed shared memory, message buses.
Paulo Veríssimo, Luís Rodrigues
4. Distributed Systems and Platforms
Abstract
This chapter consolidates the matters discussed in the previous chapters, in the form of examples of enabling technologies, toolboxes, platforms and sys-tems. Namely, we discuss: name and directory services; distributed file systems; the Distributed Computing Environment (DCE); object-oriented environments (CORBA); the World-Wide Web; groupware systems.
Paulo Veríssimo, Luís Rodrigues
5. Case Study: VP’63- The Vintageport’63 Large-Scale Information System
Abstract
This chapter starts a case study that we carry throughout the book: The VP’63 (VintagePort’63) Large-Scale Information System. An imaginary wine company owning a traditional and obsolete information system starts a project aiming at its modernization. The case study is methodically addressed at the end of each part, so that we progressively improve VP’63. In this part, we start by making it: modular, distributed and interactive.
Paulo Veríssimo, Luís Rodrigues
6. Fault-Tolerant Systems Foundations
Abstract
This chapter addresses the fundamental concepts concerning fault tolerance. It starts by introducing the notion of dependability and discussing why it is difficult to build dependable systems. The evolution of fault-tolerant computing is reviewed, from hardware fault tolerance to distributed software-based fault tolerance. Finally, the chapter introduces the most relevant architectures for fault-tolerant communication and processing, that are later described in detail in the subsequent chapters of this part.
Paulo Veríssimo, Luís Rodrigues

Fault Tolerance

Frontmatter
7. Paradigms for Distributed Fault Tolerance
Abstract
This chapter discusses the main paradigms concerning fault tolerance in distributed systems. Namely, the chapter addresses: failure detection, membership, fault-tolerant communication, replication management, resilience and recovery. The paradigms are explained in practical terms, by exemplifying the problems they solve, as well as their limitations.
Paulo Veríssimo, Luís Rodrigues
8. Models of Distributed Fault-Tolerant Computing
Abstract
This chapter ilLuístrates how the paradigms discussed in the previous chapter can be applied and combined to achieve fault tolerance in an application-oriented way. The chapter starts by introducing classes of fault-tolerant systems that make different assumptions about the system properties, from arbitrary to crash and from asynchronous to synchronous. Then, it discusses strategies for the several approaches to building a fault-tolerant architecture. The main models for building fault-tolerant systems are then presented: remote operations, event services and transactions.
Paulo Veríssimo, Luís Rodrigues
9. Dependable Systems and Platforms
Abstract
This chapter gives some examples of dependable systems and platforms. Whenever possible, paradigms and models previously studied are pointed to the reader. The overview of each system is concise and the selection is subjective but tries to ilLuístrate each class of approaches using concrete case studies that we find representative of that class. Namely, we discuss: distributed fault-tolerant systems, transactional systems, cLuíster architectures, and how to make legacy systems dependable. In each section, we will mention several examples in a summarized form, and then will describe one or two the most relevant in detail.at the end of the chapter gives a few URL pointers to where information about most of these systems can be found.
Paulo Veríssimo, Luís Rodrigues
10. Case Study: Making VP’63 Dependable
Abstract
This chapter takes the next step in our case study: making the VP’63 (VintagePort’63) Large-Scale Information System dependable. Increased reliance on computers for day-to-day operation on the one hand, and greater geographical dispersion of the system on the other, have raised concerns about the impact of service outages or even severe failures on the business results. In consequence, part of the study concerns the enhancement of the reliability and availability of the VP’63 system.
Paulo Veríssimo, Luís Rodrigues

Real-Time

Frontmatter
11. Real-Time Systems Foundations
Abstract
This chapter addresses the fundamental concepts concerning real-time, starting with the definition real-time and clarifying a few current misconceptions. It traces the evolution of real-time computing towards distribution and discusses its relation with fault-tolerance. Finally, the most relevant architectural approaches to real-time in networks and distributed systems are introduced, to be detailed in the subsequent chapters of this part.
Paulo Veríssimo, Luís Rodrigues
12. Paradigms For Real-Time
Abstract
This chapter discusses the main paradigms concerning real-time in distributed systems, in the viewpoint of the system architect. Namely, the chapter addresses: specifications for describing timeliness; timing failure detection; the real-time entity-representative relation; the time-value duality of real-time entities; real-time communication; flow control; scheduling; clock synchronization; input-output. We explain these paradigms in practical terms, giving examples of the problems they solve and of their limitations.
Paulo Veríssimo, Luís Rodrigues
13. Models of Distributed Real-Time Computing
Abstract
In this chapter, we aim at providing a global view of what is timely behavior of a distributed system architecture. The chapter starts by introducing classes of real-time systems with different timeliness guarantees, setting the stage for introducing the several frameworks for structuring real-time systems. Then, it discusses strategies for the several approaches to building an architecture, where the paradigms presented in the last chapter show their usefulness. The main models of real-time systems are then presented. From the viewpoint of timing: partial synchronism; time-triggered; and event-triggered models. From a functional viewpoint: real-time communication; real-time control; real-time and active databases; and quality-of-service.
Paulo Veríssimo, Luís Rodrigues
14. Distributed Real-Time Systems and Platforms
Abstract
This chapter gives examples of systems and platforms for real-time computing, consolidating the matters discussed in the previous chapters. Namely, it discusses: operating systems; real-time LANs and field buses; time services; embedded systems; dynamic mission-critical systems; real-time over the Internet. In each section, we will mention several examples in a summarized form, and then will describe one or two the most relevant in detail. Table 14.1 at the end of the chapter gives a few URL pointers to where information about most of these systems can be found. The table also points to the IETF Request for Comments site, where any RFCs cited can also be found.
Paulo Veríssimo, Luís Rodrigues
15. Case Study: Making VP’63 Timely
Abstract
This chapter continues the case study that we have been carrying throughout the book: The VP’63 (VintagePort’63) Large-Scale Information System. The wine company has planned to automate some of its industrial facilities and needs to guarantee two objectives: to implement distributed real-time control and automation of some units such as wine processing and bottling/corking; to incorporate the real-time supervisory, control and acquisition (SCADA) into the global enterprise resource planning and information system, under a CIM perspective.
Paulo Veríssimo, Luís Rodrigues

Security

Frontmatter
16. Fundamental Security Concepts
Abstract
This chapter addresses the fundamental concepts concerning security. It starts by defining what security is: the reasons leading to insecurity, the types of computer misuse, and the evaluation of the risk associated with both the vulnerabilities of computers and the threats to which they are exposed. Then, it explains the foundations of secure computing, and traces the relationship between distribution and security, on the one hand, and fault tolerance and security, on the other hand. Next, it analyzes the behavior of the intruder, in an attempt to ilLuístrate to the reader both the motivations for attack, and the techniques and procedures normally used to perform that attack. Finally, the most relevant architectural and technological approaches to security in networks and distributed systems are introduced, to be detailed in the subsequent chapters of this part.
Paulo Veríssimo, Luís Rodrigues
17. Security Paradigms
Abstract
This chapter discusses the main paradigms concerning security. An exhaustive description of all the major algorithms concerned would require a whole book’s length in order not to be shallow. Instead, we will motivate each paradigm in a problem-solving manner, exemplified when applicable with one or two chosen algorithms that are analyzed with the necessary detail. Throughout the chapter, we are going to discuss: trusted computing bases, cryptography, digital signature, digital cash, authentication, protection, and secure communication.
Paulo Veríssimo, Luís Rodrigues
18. Models of Distributed Secure Computing
Abstract
This chapter aims at providing the architect with a global view of the problem of security, by showing where the paradigms learned in the previous chapter, fit in the several models of distributed secure computing. It starts by discussing the main classes of malicious faults and errors expected in computer systems, and in distributed systems in particular— that is, attacks and intrusions. Then, it equates the main frameworks and strategies for building secure systems authentication, secure channels and envelopes, protection and authorization, and auditing— as a form of bridging from the detail of paradigms to the global view provided by models. Finally, specific models for distributed secure computing are presented.
Paulo Veríssimo, Luís Rodrigues
19. Secure Systems and Platforms
Abstract
This chapter gives examples of systems and platforms for secure computing. We are going to talk about remote operations and messaging, firewall systems, virtual private networks, authentication and authorization services, smart cards and payment systems, and secure electronic commerce. In each section, we will mention several examples in a summarized form, and then will describe one or two the most relevant in detail. at the end of the chapter gives a few URL pointers to where information about most of these systems can be found. The table also points to the IETF Request for Comments site, where the RFCs cited can also be found.
Paulo Veríssimo, Luís Rodrigues
20. Case Study: Making VP’63 Secure
Abstract
This chapter brings our case study one step further: making the VP’63 (VintagePort’63) Large-Scale Information System secure. Increased distribution of the infrastructure through the Internet, combined with remote access of company salespersons dictated this step in the project, in order to address concerns with privacy and integrity of the company’s information system. As selling on the Internet becomes attractive, plans are also made for setting-up an electronic commerce server, a major step for a company that did not even have a passive Web presence.
Paulo Veríssimo, Luís Rodrigues

Management

Frontmatter
21. Fundamental Concepts of Management
Abstract
This chapter discusses the problem of management. The fundamental concepts are presented, and the rationale for configuring and managing systems is discussed. The main architectures for systems management are introduced, in order to be further developed in the following chapters.
Paulo Veríssimo, Luís Rodrigues
22. Paradigms for Distributed Systems Management
Abstract
This chapter addresses the main paradigms for distributed systems management. Management models have been developed in the past few years, mainly in the course of standardization activities, such as OSI Systems Management, the Internet Engineering Task Force, or the Open Distributed Processing initiative, but also under significant research effort. As these models have matured, a number of significant paradigms have been retained, and made it possible to define the generic body of research and technology of today’s systems management. We will make a non-exhaustive effort to study the main paradigms, and in consequence, we will address: managers and managed objects, domains, management information bases, and the several management functions— configuration, faults, performance and QoS, accounting, security, names and directories.
Paulo Veríssimo, Luís Rodrigues
23. Models of Network and Distributed Systems Management
Abstract
This chapter aims at giving the reader a global view of the problem of management. After studying several paradigms, we see how they fit in several models for management of networks and distributed systems. We start by presenting management frameworks: functional, such as configuration, management, monitoring; and structural, such as the tool and platform levels. Then we discuss the strategic alternatives the architect is faced with, clarifying the difference between strategy and tactics, and the subtleties between distribution, centralization and decentralization. Finally, specific models for distributed systems management are presented.
Paulo Veríssimo, Luís Rodrigues
24. Management Systems and Platforms
Abstract
This chapter gives examples of management systems and platforms. Namely, we discuss ISO (CMISE/CMIP) and Internet (SNMP) management services and protocols, standard MIBs, management tools and platforms, and the Distributed Management Environment (DME). We finish the chapter with a presentation of several tools specifically addressing security management. In each section of the chapter, we will mention several examples in a summarized form, and then will describe one or two of the most relevant in detail. at the end of the chapter gives a few URL pointers to where information about most of these systems can be found. The table also points to the IETF Request for Comments, ISO and ITU sites, where any cited standards can also be found.
Paulo Veríssimo, Luís Rodrigues
25. Case Study: Managing VP’63
Abstract
This chapter finalizes our case study: managing the (VintagePort’63) Large-Scale Information System. VP’63 became significantly complex, and the company depends heavily on it. Its operation must remain stable, and its reconfiguration made as easy as possible. Tactical management mechanisms implementing strategic management policies will be studied, and developed around an integrated management platform.
Paulo Veríssimo, Luís Rodrigues
Backmatter
Metadaten
Titel
Distributed Systems for System Architects
verfasst von
Paulo Veríssimo
Luís Rodrigues
Copyright-Jahr
2001
Verlag
Springer US
Electronic ISBN
978-1-4615-1663-7
Print ISBN
978-1-4613-5666-0
DOI
https://doi.org/10.1007/978-1-4615-1663-7