90 likes | 243 Views
CS 775/875: Fall 2002. Chapter 2: System Models. Introduction. Architectural model defines “the way in which the components of systems interact with one another and the way in which they are mapped onto an underlying network of computers.”. Architectural models.
E N D
CS 775/875: Fall 2002 Chapter 2: System Models
Introduction • Architectural model defines “the way in which the components of systems interact with one another and the way in which they are mapped onto an underlying network of computers.”
Architectural models • Software layers (software architecture): “services offered and requested between processes located in the same or different computers. • Terminology: Platform, middleware, • The end-to-end argument
System Architectures • “The division of responsibilities between system components and the placement of the components in the network” • Client-server model, multiple servers, proxy servers and caches, peer processes, mobile code, mobile agents, network computing, thin clients, spontaneous networking
Design requirements for distributed architectures • Performance issues---responsiveness, throughput, load balance • Quality of service • Use of caching and replication • Dependability---fault tolerance and security
Fundamental Models • A system model has to describe: the main entities, their interactions, and the characteristics that affect their behavior • Aspects captured in these models: Interaction, failure, security
Interaction Model • Why do processes interact? • Performance of communication channels • Computer clocks and timing events • Synchronous (bounded time) versus asynchronous (unbounded time) distributed systems • Event ordering and logical clocks
Failure Model • Omission and commission failures • Byzantine failures versus fail-stop behavior • Timing failures (relevant for synchronous) • Masking failures • Reliability of one-to-one communication
Security Model • Protecting objects • Securing processes and their interactions • The enemy: Threats to processes( to servers and clients), threats to communication channels, denial of service • Defeating security threats: Cryptography, authentication, secure channels • Denial of service and mobile code