Distributed Systems basics
What is Distributed System? A Distributed System is a Collection of independent computers that appears to its users as a single coherent system. Physical Distribution Doesn’t Matter Logical Distribution: Multiple Processes Interprocess Communication Disjoint Address Spaces Collective Goal
Issues Transparency: Access – Hide differences in representation & how a resource is accessed. Location – Hide where a resource is located Relocation – Hide that a resource may be moved to another location while in use. Replication – Hide that a resource is replicated. Concurrency – Hide that a resource may be shared. Failure – Hide the failure & recovery of a resource. Persistence – Hide whether a resource is in Memory or Disk Scalability: Horizontal Vertical Openness: Standards
Issues (Cont.) Security : o Confidentiality: Communication bet n two parties not known to a third party. o Integrity: Ensuring that the messages received are genuine. o Availability: Ensuring the availability of data whenever required. o Authenticity: Validating that the party participating in a transaction is who the party claims to be. o Non-repudiation: Ensuring that a party can’t deny after committing an action.
Distributed Operating System (DOS) Transparency – High Scalability – Low Openness – Closed Resource Management – Global Heterogeneity – No Communication – Message Passing Kernel Distributed Operating System Services Distributed Application
Network Operating System (NOS) Transparency – Low Scalability – High Openness – Open Resource Management – Per Node Heterogeneity – Yes Communication – File Based Kernel Distributed Application NOS Services
Distributed System Transparency – High Scalability – Medium Openness – Open Resource Management – Per Node Heterogeneity – Yes Communication – Implementation Specific Kernel Distributed Application NOS Services Middleware Services
Examples World Wide Web (WWW) Sensor Network Peer-2-Peer Network Grid Computing Cloud Computing
Web Services UDDI Server Client WSDL Request Client Code Generate SOAP Server Code Codewww.smartphonetech.org
Grid Computing What is a Grid: Coordinates resources that are not subject to centralized control. Uses standard, open, general purpose protocols & interfaces. Delivers non-trivial Quality of Services (QoS) Resources are organized with heterogeneous distributed dynamic Virtual Organizations (VO) O -> the set concrete organizations ({o}) RS -> the set or resources & services offered by a VO I -> the interfaces for accessing RS PY -> the set of policies ({py}) for the operation of the VO & PL -> the set of protocols ({pl}) for the implementation of PY VO = (O, RS, I, PY, PL)
GT4, OGSA & WSRF GT4OGSAWSRF Statefull Web Services Web Services Grid Application extends requires specifies implements implemented on top ofmeet requirements of
Globus Toolkit (GT4) Machine A GateKeeper GRIS GIIS Machine B GSI MDS GRAM GridFTP GASS Cache Registrar Find Setup Job Request Job Response Job Execution
Thank You