140 likes | 157 Views
Explore the fundamental concepts of distributed systems, including requirements, challenges, and various models such as client-server and peer-to-peer. Learn about network programming, security, protocols, and scalability.
E N D
Distributed Systems & Networks i206 Fall 2010 John Chuang Some slides adapted from Coulouris, Dollimore and Kindberg
Confidentiality Integrity Authentication … DistributedSystems Distributed Systems C/S, P2P Caching Security Cryptography Network Standards & Protocols sockets Inter-process Communication Methodologies/ Tools Principles TCP/IP, RSA, … UML, CRC OperatingSystem Formal models Application Design Process I/O Finite automata regex Context switch Process vs. Thread Locks and deadlocks Algorithms Program Analysis Memory hierarchy ALUs, Registers, Program Counter, Instruction Register Memory Big-O Compiler/ Interpreter Assembly Instructions Data Structures Register, Cache Main Memory, Secondary Storage Searching, sorting, Encryption, etc. Machine Instructions CPU Op-code, operands Instruction set arch Data storage Stacks, queues, maps, trees, graphs, … Circuits Lossless v. lossy Info entropy & Huffman code Decimal, Hexadecimal, Binary Adders, decoders, Memory latches, ALUs, etc. Gates Data compression Number Systems Data AND, OR, NOT, XOR, NAND, NOR, etc. Boolean Logic Numbers, text, audio, video, image, … Truth table Venn Diagram DeMorgan’s Law Data Representation Binary Numbers Bits & Bytes John Chuang
Outline • Distributed systems • Requirements and architectures • Inter-process communications • Socket API and network programming • Networking and Internetworking • Architecture and design • Protocols and standards John Chuang
What is a Distributed System? • “You know you have one when thecrash of a computer you’ve never heard of stops you from getting any work done.” -- Leslie Lamport • “A system in which components located at networked computers communicate and coordinate their actions by passing messages”-- Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd Edition John Chuang
Example: A typical intranet • Other examples? Source: Coulouris, Dollimore and Kindberg John Chuang
DS Requirements/Challenges • What are some requirements for distributed systems? John Chuang
DS Requirements/Challenges • Networks • Computer hardware • Operating systems • Programming languages • Implementation by different developers • Owners/operators • Heterogeneity Interoperability • Openness • Security • Scalability • Failure Handling • Concurrency • Transparency • Published interfaces • Standardized protocols • Confidentiality, Integrity, Availability, Authentication, Authorization, Accountability John Chuang
DS Requirements/Challenges • Growth in number of users, components, nodes, networks, messages, etc. • Controlling cost of physical/software resources; performance degradation • Heterogeneity Interoperability • Openness • Security • Scalability • Failure Handling • Concurrency • Transparency • Any DS component may fail • How to maximize systemavailability in face of component failures? • Detecting failures • Masking failures • Tolerating failures • Recovery from failures John Chuang
DS Requirements/Challenges • Heterogeneity Interoperability • Openness • Security • Scalability • Failure Handling • Concurrency • Transparency • Concurrency control (transactions) • Access transparency • Location transparency • Concurrency transparency • Replication transparency • Failure transparency • Mobility transparency • Performance transparency • Scaling transparency John Chuang
DS Models server client • Client-server • Peer-to-peer John Chuang Source: Coulouris, Dollimore and Kindberg
A service provided by multiple servers • Location transparency? Source: Coulouris, Dollimore and Kindberg John Chuang
Proxy server John Chuang Source: Coulouris, Dollimore and Kindberg
Network So, where is the Network? client server John Chuang
Inter-exchange Carrier (IXC) Long- Distance Network Network: Behind the Cloud Customer Premises Internet Service Providers Telephone Network Internet backbones Point of Presence Backbone Provider 1 Router Router Tandem Switch ISP Local Exchange Carrier (LEC) Exchange Point DNS Local Egress Switch Router Server Local Ingress Switch Content Provider Packet Network Local Loop Headend Backbone Provider 2 Cable ISP Remote ISP Analog Modem xDSL Modem Router router Cable Modem Firewall Client Corporate LAN John Chuang Wireless ISP Mobile Client