230 likes | 276 Views
Explore the architecture, challenges, and applications of distributed systems. Learn about middleware layers, scalability, resource sharing, security, and more. Get insights into new generation systems and web services.
E N D
Distributed Computing Systems 電機三 B90901047 陳家宏
Outlines • Introduction to Distributed System • Middleware layers • Application -- Web Services • OS support
Distributed Systems :Why? • Parallel applications -scalability • Resource sharing -disks, CPU, memory -services ( e.g., name servers, games, etc.) -data (e.g., file systems, databases, etc.)
Challenges • Heterogeneity • Networks, OS, hardware, language • Openness • Documents and specifications • Security • Encryption, DOS( denial of service ) • Scalability • Data should be structured hierarchically
Challenges (con ‘t) • Failure handling • Any process, computer fails indep • Concurrency • Concurrent requests to resources • Transparency • the system is perceived as a whole
Architectural model Applications, services Middleware Operating System Computer and network hardware
Middleware layers RMI and RPC Request-reply protocol marshalling and external data representation
Middleware layers (con’ t) • Communicate using OS calls -using send() and receive • Communicate using procedure -RPC : remote procedure calls system translates RPC to send/receive • Communicate using object -RMI : remote method invocations Naming of remote data
Distributed object Model C A E B F D
Middleware layers (con’ t) • Traditional distributed systems • CORBA –common object request broker architecture - cross language • Java RMI - limits to java
Applications • Create a web service by yourself!
A Web Service Listener (web server) Client Web Service SOAP Object Object
Web Services • New generation distributed systems • Built on open technologies and protocols • Scalable, can build systems incrementally • Less complicated and easier to program • Future – Web services are becoming fundamental building blocks in the move to distributed computing
Web Services (con’ t) • UDDI • Discovery mechanism • WSDL • Description language -> defines the web service interface • SOAP • Communication protocols • XML & HTTP • data representation format
OS support • Alternative server threading architecture • Microkernels & monolithic kernels
Thread concept Activation Stack Process Text ( program code) Heap System-provided resources ( socket , files)
Alternative server threading architecture Worker thread I/O thread Remote object Thread per connection Thread per object
Monolithic kernel S4 Server program S1 S2 S3 Kernel can contain some server processes that execute within its address space, including file servers and some networking
Microkernel Dynamic loaded server program S3 S1 S2 Kernel
Middleware OS emulation subsystem Language support subsystem … Microkernel Hardware
References • Distributed systems concepts and design • George Coulouris, Jean Dollimore, Tim Kindberg