System Models: Difficulties and Threats For Distributed Systems Widely Varying Modes of Use
The document outlines the complexities and challenges faced by distributed systems, including varying workloads, heterogeneous environments, and internal and external threats. It categorizes system models into physical, architectural, and fundamental models, each addressing different aspects of distributed systems such as communication, failure, and security. Additionally, it discusses architectural styles, communication paradigms, placement strategies, and middleware, along with techniques for ensuring system reliability and security.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
5 views55 pages
System Models: Difficulties and Threats For Distributed Systems Widely Varying Modes of Use
The document outlines the complexities and challenges faced by distributed systems, including varying workloads, heterogeneous environments, and internal and external threats. It categorizes system models into physical, architectural, and fundamental models, each addressing different aspects of distributed systems such as communication, failure, and security. Additionally, it discusses architectural styles, communication paradigms, placement strategies, and middleware, along with techniques for ensuring system reliability and security.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55
SYSTEM MODELS
• Difficulties and threats for distributed systems
• Widely varying modes of use: • The component parts of systems are subject to wide variations in workload –
• for example, some web pages are accessed several
million times a day. • Wide range of system environments: A distributed system must accommodate heterogeneous hardware, operating systems and networks. SYSTEM MODELS • The networks may differ widely in performance – wireless networks operate at a fraction of the speed of local networks. • Internal problems: • Non-synchronized clocks, conflicting data updates and many modes of hardware and software failure involving the individual system components. SYSTEM MODELS • External threats: • Attacks on data integrity and secrecy, denial of service attacks. SYSTEM MODELS • Types of model in a distributed system • Physical models are the most explicit way in which to describe a system;
• they capture the hardware composition of a system
in terms of the computers (and other devices, • such as mobile phones) and their interconnecting networks. SYSTEM MODELS • Architectural models describe a system in terms of the computational and communication tasks performed by its computational elements;
• Fundamental models take an abstract perspective
in order to examine individual aspects of a distributed system. SYSTEM MODELS • There are three important aspects of distributed systems examined by fundamental models: • interaction models, which consider the structure and sequencing of the communication between the elements of the system; • failure models, which consider the ways in which a system may fail to operate correctly and; • security models, which consider how the system is protected against attempts to interfere with its correct operation or to steal its data. SYSTEM MODELS • Physical models • A physical model is a representation of the underlying hardware elements of a distributed system that • abstracts away from specific details of the computer and networking technologies employed. • Three generations of distributed systems: • Early distributed systems: Such systems emerged in the late 1970s and early 1980s in response to the emergence of local area networking technology, usually Ethernet. SYSTEM MODELS • These systems typically consisted of between 10 and 100 nodes interconnected by a local area network, • with limited Internet connectivity and supported a small range of services • such as shared local printers and file servers as well as email and file transfer across the Internet. SYSTEM MODELS • Internet-scale distributed systems: Building on this foundation, larger-scale distributed systems started to emerge in the 1990s • in response to the dramatic growth of the Internet during this time (for example, the Google search engine was first launched in 1996). • In such systems, the underlying physical infrastructure consists of a physical model, i.e., an extensible set of nodes interconnected by a network of networks (the Internet). SYSTEM MODELS • Contemporary distributed systems: In these systems, nodes were typically desktop computers and therefore relatively • static (that is, remaining in one physical location for extended periods), • discrete (not embedded within other physical entities) and • autonomous (to a large extent independent of other computers in terms of their physical infrastructure). SYSTEM MODELS • Architectural models • The architecture of a system is its structure in terms of separately specified components and their inter- relationships. • The overall goal is to ensure that the structure will meet present and likely future demands on it. SYSTEM MODELS • The architectural styles of distributed systems include: • client-server models, • peer-to-peer approaches, • distributed objects, • distributed components, • distributed event based systems SYSTEM MODELS • Architectural elements • To understand the fundamental building blocks of a distributed system, it is necessary to consider four key questions: • What are the entities that are communicating in the distributed system? • How do they communicate, or, more specifically, what communication paradigm is used? SYSTEM MODELS • What (potentially changing) roles and responsibilities do they have in the overall architecture? • How are they mapped on to the physical distributed infrastructure (what is their placement)? SYSTEM MODELS • Communicating entities • The first two questions above are absolutely central to an understanding of distributed systems;
• what is communicating and how those entities
communicate together define a rich design space for the distributed systems developer to consider. • From a system perspective, the answer is normally very clear in that the entities that communicate in a distributed system are typically processes SYSTEM MODELS • Communication paradigms • Here the attention is turned to how entities communicate in a distributed system,
• and consider three types of communication
paradigm: • Inter-process communication; • remote invocation; • indirect communication. SYSTEM MODELS • Roles and responsibilities • In a distributed system processes or objects, components or services, • including web services– interact with each other to perform a useful activity, • for example, to support a chat session.
• In doing so, the processes take on given roles, and
• these roles are fundamental in establishing the overall architecture to be adopted. SYSTEM MODELS • There are two architectural styles stemming from the role of individual processes: • Client-server: This is the architecture that is most often cited when distributed systems are discussed. SYSTEM MODELS • In the above figure, processes take on the roles of being clients or servers.
• In particular, client processes interact with individual
server processes
• in potentially separate host computers in order to
access the shared resources that they manage. SYSTEM MODELS • Servers may in turn be clients of other servers, as the figure indicates.
• For example, a web server is often a client of a local
file server that manages the files in which the web pages are stored
• Web servers and most other Internet services are
clients of the DNS service, which translates Internet domain names to network addresses. . SYSTEM MODELS • Peer-to-peer: In this architecture all of the processes involved in a task or activity
• play similar roles, interacting cooperatively as
peers without any distinction between
• client and server processes or the computers on
which they run. SYSTEM MODELS • In practical terms, all participating processes run the same program and offer the same set of interfaces to each other.
• While the client-server model offers a direct and
relatively simple approach to the sharing of data and other resources, it scales poorly. SYSTEM MODELS • Peer-to-peer architecture SYSTEM MODELS • A service provided by multiple servers SYSTEM MODELS • Placement • Placement is crucial in terms of determining the properties of the distributed system, • most obviously with regard to performance but also to other aspects, such as reliability and security.
• The question of where to place a given client or
server in terms of machines and processes within machines is a matter of careful design. SYSTEM MODELS • Placement needs to take into account the patterns of • communication between entities, • the reliability of given machines and their current loading, • the quality of communication between different machines and so on. SYSTEM MODELS • The following are placement strategies: • mapping of services to multiple servers: Services may be implemented as several server processes in separate host computers interacting as necessary to provide a service to client processes ;
• Caching: A cache is a store of recently used data
objects that is closer to one client or a particular set of clients than the objects themselves. ; SYSTEM MODELS • mobile code: Applets are a well-known and widely used example of mobile code. • The code is downloaded to the browser and runs there.
• An advantage of running the downloaded code
locally is that it can give good interactive response • since it does not suffer from the delays or variability of bandwidth associated with network communication. ; SYSTEM MODELS • mobile agents: A mobile agent is a running program (including both code and data) that travels
• from one computer to another in a network
carrying out a task on someone’s behalf,
• such as collecting information, and eventually
returning with the results. SYSTEM MODELS • Architectural patterns • Layering: The concept of layering is a familiar one and is closely related to abstraction. • In a layered approach, a complex system is partitioned into a number of layers, • with a given layer making use of the services offered by the layer below. • In terms of distributed systems, this equates to a vertical organization of services into service layers. SYSTEM MODELS SYSTEM MODELS • Tiered architecture • Tiered architectures are complementary to layering. • Whereas layering deals with the vertical organization of services into layers of abstraction, • tiering is a technique to organize functionality of a given layer and • place this functionality into appropriate servers and, as a secondary consideration, on to physical nodes. SYSTEM MODELS • Two-tier architecture SYSTEM MODELS • Three-tier architecture SYSTEM MODELS • This standard style of interaction constrains the development of web applications in several significant ways: • Once the browser has issued an HTTP request for a new web page, • the user is unable to interact with the page until the new HTML content is received and presented by the browser. SYSTEM MODELS • In order to update even a small part of the current page with additional data from the server, • an entire new page must be requested and displayed. • This results in a delayed response to the user, additional processing at both the client and the server and redundant network traffic. SYSTEM MODELS • Thin clients • This trend has given rise to interest in the concept of a thin client, • enabling access to sophisticated networked services, provided for example by a cloud solution, • with few assumptions or demands on the client device. • Thin client refers to a software layer that supports a window-based user interface that is local to the user while executing application programs on a remote computer. SYSTEM MODELS • Categorization of middleware • distributed objects, • distributed components, • publish subscribe systems, • message queues, • web services, and peer-to-peer SYSTEM MODELS • Limitations of middleware • Much has been achieved in simplifying the programming of distributed systems through the development of middleware support,
• but some aspects of the dependability of systems
require support at the application level. • But consider the problem of a user who attempts to transfer a very large file over a potentially unreliable network. SYSTEM MODELS • TCP provides some error detection and correction, but it cannot recover from major network interruptions.
• Therefore the mail transfer service adds another level
of fault tolerance, maintaining a record of progress
• and resuming transmission using a new TCP
connection if the original one breaks. SYSTEM MODELS • Fundamental models • In general, fundamental model should contain only the essential ingredients needed to consider understanding and reasoning about some aspects of a system’s behavior. • The purpose of such a model is: • To make explicit all the relevant assumptions about the systems to be modeled. • To make generalizations concerning what is possible or impossible, given those assumptions. SYSTEM MODELS • Interaction model • The discussion of system architectures indicates that fundamentally distributed systems are composed of many processes, interacting in complex ways. • For example: • Multiple server processes may cooperate with one another to provide a service • A set of peer processes may cooperate with one another to achieve a common goal SYSTEM MODELS • There are two significant factors affecting interacting processes in a distributed system: • Communication performance is often a limiting characteristic. • It is impossible to maintain a single global notion of time. SYSTEM MODELS • Event ordering • In many cases, the interest is in knowing whether an event (sending or receiving a message) at one process occurred before, after or • concurrently with another event at another process.
• For example, consider the following set of exchanges
between a group of email users, X, Y, Z and A, on a mailing list: SYSTEM MODELS
• User X sends a message with the subject Meeting.
• Users Y and Z reply by sending a message with the subject Re: Meeting. SYSTEM MODELS • In real time, X’s message is sent first, and Y reads it and replies; • Z then reads both X’s message and Y’s reply and sends another reply, which references both X’s and Y’s messages. • But due to the independent delays in message delivery. For example, user A might see: SYSTEM MODELS • Failure model • In a distributed system both processes and communication channels may fail – that is, they may depart from what is considered to be correct or desirable behavior: • Omission failures, • Arbitrary failures, • Timing failures, • Masking failures SYSTEM MODELS • Reliability of one-to-one communication • The term reliable communication is defined in terms of validity and integrity as follows: – Validity: Any message in the outgoing message buffer is eventually delivered to the incoming message buffer.
– Integrity: The message received is identical to one
sent, and no messages are delivered twice. SYSTEM MODELS • Security model • Architectural model provides the basis for security model: • the security of a distributed system can be achieved by securing the processes and • the channels used for their interactions and by • protecting the objects that they encapsulate against unauthorized access. SYSTEM MODELS • Protection is described in terms of objects, although the concepts apply equally well • to resources of all types. SYSTEM MODELS • The enemy • To model security threats, postulate/identify an enemy that is • capable of sending any message to any process and reading or copying any message sent between a pair of processes.
• Such attacks can be made simply by using a computer
connected to a network to run a program that reads network messages addressed to other computers on the network, SYSTEM MODELS • or a program that generates messages that make false requests to services, purporting to come from authorized users. SYSTEM MODELS • Defeating security threats • Here, the main techniques are introduced on which secure systems are based: • Cryptography and shared secrets, • Authentication, and • Secure channels Assignment 1. Discuss difficulties and threats for distributed systems. 2. Discuss three generations of distributed systems. 3. Define and explain Architectural models of a distributed system. 4. Describe Communicating entities and Communication paradigms of a distributed system. 5. Define Key techniques for indirect communication in Communication paradigms of distributed systems. 6. Using a diagram, discuss two architectural styles that stem from the role of individual processes. 7. Explain 4 placement strategies to alter the characteristics of a given design in the distributed system. 8. Discuss the Architectural patterns in the DS and the task given to middleware . 9. Explain two significant factors affecting interacting processes in a distributed system. 10. Discuss different failure model types. 11. Discuss the main techniques introduced to secure distributed systems.