160 likes | 284 Vues
This comprehensive overview of distributed systems by Prof. Dr. Alexander Schill from Dresden Technical University explores the motivation and development trends in computing. It discusses important aspects such as high-performance networks, client-server architectures, and the role of middleware in bridging heterogeneous systems. Key applications, including Computer Supported Collaborative Work (CSCW) and Computer Aided Software Engineering (CASE), are highlighted, along with essential requirements like scalability, security, and fault tolerance. The document serves as a foundational guide for understanding the complex interplay between systems, networks, and application logic in distributed computing.
E N D
Distributed Systems Prof. Dr. Alexander Schill DresdenTechnical University Computer Networks Dept. http://www.rn.inf.tu-dresden.de
Motivation and development tendencies • Desktop PC: • multitasking • networking • direct manipulation, graphical interface • high performance (CPU, transfer) • large primary and secondary storage • Areas of application: • management / development (CASE – Computer Aided Software Engineering) • team working (CSCW – Computer Supported Collaborative Work) • group communication • process control (CIM – Computer Integrated Manufacturing)
Sample topology LAN • networked workstations, also organizationally integrated • super-proportionally increasing communication performance WAN L V.A.N. L LAN (for instance high performance network) Value added network A A N N DistributedOS Distributed DB
Distributed System • physical computer nodes (processor + storage) • direct / indirect computer coupling • local networks (Ethernet (CSMA/CD), Token Ring, Token Bus) • high-performance networks (Gigabit Ethernet, ATM) • gateways / bridges • radio networks (GSM, UMTS) • transport-oriented comm. protocols (TCP/IP, UDP/IP, IPng) • communicating processes • complete logical connection • no complete physical connection (communication via inter-components) • system oriented resources (file system, threads, system programs) • distributed storage, decentralized, co-operative • distributed applications (area specific) on top of distributed systems
Example: distributed application LAN WAN L V.A.N. L LAN for instance high performance network) Value added network A A N N DistributedOS Logical communication path Process Distributed DB
Distribution: Purposes • data, function and load distribution • decentralization and co-operation • locality properties and efficiency • integration of partial applications • remote resource access • fault tolerance: reliability and availability
Application example Client (for instance Point of Sale) Server (for instance account server) Server (for instance database) Client (for instance Automated Teller Machine) Requirements: - decentralized system structure - Internet/Intranet-integration - scalability - security concepts - transaction processing - heterogeneity of systems Client (for instance Home Access)
Network infrastructure: examples ISDN / X.25Fast Ethernet / Token Ring Client (for instance Point of Sale) • required bridging between • heterogeneous networks, • system platforms and • applications • Middleware Fast Ethernet /Token Ring Server (for instance account server) Server (for instance database) ATM Client (for instance Automated Teller Machine) X.25 Modem / ISDN / ADSLInternet-access Client (for instance Home Access)
N-tier-architectures Client (for instance Point of Sale) Server (for instance account server) Server (for instance database) Client (for instance Automated Teller Machine) Data management Application logic 3-tier: three-level structure; preferable for complex applications 2-tier: two-level structure (user-interface <->Host); simpler, but less flexible Client (for instance Home Access) User interface, if necessary pre-processing (thin client vs.fat client)
Client (for instance Point of Sale) Server (for instance account server) Middleware (for instance Java RMI, CORBA, .NET, SOAP) Middleware Transport-oriented layers (for instance TCP/IP, SNA) Transport-oriented layers Phys. network (for instance Fast Ethernet, Token Ring, ATM) Phys. network Middleware and Client/Server: coordination Application interaction Object interaction Def. of Middleware: “Infrastructure services for distributed applications for bridging of heterogeneity of different systems and networks”
Middleware: Basic technologies Java (Sun and others): - programming language, applets - Remote Method Invocation (RMI) - Enterprise JavaBeans (EJB): Components CORBA (Common Object Request Broker Architecture): - object-oriented, language independent; relatively low-level - standard of Object Management Group (OMG) .NET / COM+ (Component Object Model): - object-oriented, COM+ relatively proprietary, .NET more open - development of Microsoft Further approaches: - MOM (Message Oriented Middleware) - SOAP (Simple Object Access Protocol), Web Services - transaction monitors, Application Servers
Middleware: general overview Application Server / Enterprise Appli- cation Integration Integrity Usability by application developer Component-Frameworks (CORBA, EnterpriseJavaBeans, .NET, WebServices) Transaction monitors Message Oriented Middleware Object TransactionMonitor CORBA-/ RMI-/.NET/SOAP-Object-oriented Basic comm. Client/Server, Remote Procedure Call (RPC) (for instance DCE - Distributed Computing Environment) Flexibility
System models Client/Server (Remote Procedure Call): Client Call Result Server Offered procedures Control thread and data transfer Separate address spaces Object-oriented communication: 06 01 02 04 03 07 Computer 2 Computer 1 05 Computer 3
Document Server Document 1 Document 2 . . . Document n provide document (“Document 1”) Client A Copy Document 1 generate index (“Document 1”) Client B Client C provide document (“Document 3”) Copy Document 3
D1 = Server.provideDocument (“Document 1”) D1.move (here) D1.<operation> Client-Object A Document Server Document 1 Document 1 D2 = Server ... D2.generate Index () Document 2 Client-Object B Document 2 . . . Document n Client-Object C Document 3 D3 = Server.provideDocument (“Document 3”) D3.<operation>
Comparison of system models higher transparency grade and improved influence on distribution with object-oriented model