// archives

Distributed Systems

This category contains 11 posts

Reliable one-to-one Communication

Although this is stated in the post about distributed system models, I better write it down again. Validity: Any message sent to the outgoing buffer is eventually delivered in the incoming buffer Integrity: Received messages are identical to the ones sent and delivered just once

Replication in Distributed Systems

System Model Assume synchronous system with crashing the only fail Replica Managers contain the replica in a computer and perform operations upon them Front-end issues request to one or more replica managers Coordination: Replica managers coordinate the requests FIFO, Casual, Total Replica manager pass back the first result for responsiveness or what majority has reply [...]

Coordination and Agreement in Distributed Systems

For the rest of the post we assume the following: Processes connected by reliable channels Only possible file is a crash Systems Asynchronous Distributed Mutual Exclusion If server involved allowing access to one process at a time Algorithms evaluated following: Bandwidth consumed Client delay Throughput of the system Central Server Algorithm: A process sends a [...]

Time and Global States in Distributed Systems

Simple Synchronization in Synchronous Systems A process sends its internal clock to a UTC Server t + Ttrans not valid because of network variations instead uses t + (max +min) / 2, being transmission max/min bounds Cristian’s Algorithm Method achieves synchronization if round-trip is sufficiently short compared with the accuracy P1 ask for time to P2 P1 receives [...]

Name Services in Distributed Systems

Names are not the only useful means, descriptive attributes can be used too. A client knowing just a few characteristics needs to be able to find a proper service provider. Pure Names: uninterpreted bit patterns, always need to be lookup. e.g. Object’s address Non-Pure Names: contain information about the location Binding: Association between name and [...]

Distributed File Systems

Requirements of a Distributed File System Transparency: Access Transparency: Programs written to operate local files are able to access remote ones without modification Location Transparency: Uniform name space, files maybe relocated without changing path-names Mobility Transparency: no change of administration tables or client programs when files are moved Performance Transparency: Clients continue to perform satisfactorily [...]

Distributed Objects and Remote Invocation

Properties of middle providing remote invocation and events: Location transparency:  Invoking client does know where the receiver is located nor even those objects sending or receiving events. Communication Protocols: UDP/TCP Computer Hardware: They hide properties such byte-ordering Operating Systems: Independent from OSs Programming Languages:  CORBA allows interaction between different programming languages Distributed Objects Can be [...]

Group Communication in Distributed Systems

Charateristics: Fault tolerance based on replicated services: Client request multicast to a bunch of server. Finding the discovery servers in spontaneous networking Better performance through replicated data: when a value changes it is multicasted Propagation of event notifications: IP Multicast: Sender is unaware of the identities of the recipients Multicast group is a class D [...]

Interprocess Communication in Distributed Systems

Here some brief notions about CORBA and RMI. CORBA CDR (Common Data Representation) represents all data type used as arguments and return values 15 primitive types such as short, long, unsigned short, unsigned long, float double, char, boolean, octect, etc any represents any basic or construct type. Primitive types: transmitted in sender’s ordering, floating point [...]

Distributed Systems Models

Architectural Models: considers Placement of the component across the Network, to distribute workload and data. Interrelationships between components. Platform: Lowest-level hardware and software layers, including OS till APIs. Middleware: Communication and resource sharing for distributed apps. CORBA: naming, security, transactions, persistent storage and event notification. Fault tolerance: needs to be included in the application, not [...]