Introduction to Distributed Systems A broad overview of distributed systems!
Dozent: Prof. Dr. Michael Eichberg
Kontakt: michael.eichberg@dhbw.de , Raum 149B
Version: 1.1.0.1
Slides/Script: https://delors.github.io/ds-introduction/folien.en.md.html
https://delors.github.io/ds-introduction/folien.en.md.html.pdf
Reporting errors: https://github.com/Delors/delors.github.io/issues
AI Usage: AI assistants (in particular Claude, but also ChatGPT, Ollama with
Gemma/LLama/Qwen, OpenCode with Kimi, etc.) were used to assist in the
creation of the slides. This was done, for example, to efficiently generate
graphics (i.e. SVG files), or to generate summary tables. Furthermore, AI was
used for general quality assurance. Content that may have been suggested by
an AI was explicitly validated and adapted whenever it was incorporated.
Basic Terminologioe of Distributed Systems
Recommended Literature Supplemental material for interested students:
Recommended Podcast: SE-Radio
Distributed Systems - Definition and Properties
Distributed vs. Decentralized Definition
A decentralised system is a networked computer system in which processes and resources are necessarily distributed across multiple computers.
A distributed system is a networked computer system in which processes and resources are sufficiently distributed across several computers.
Distributed Systems - Definition A distributed system is one in which the failure of a computer
you didn't even know existed can render your own computer
unusable.
—May 28, 1987 - Leslie Lamport
Common misunderstandings regarding centralised systems Centralized solutions do not scale
A distinction must be made between logical and physical centralization.
Centralized solutions have a single point of failure
Generally not true (e.g. DNS).
A single possible source of error is often...
Warning
There are many, poorly founded misconceptions about, for example, scalability, fault tolerance or security. We need to develop skills that make it easy to understand distributed systems in order to avoid such misunderstandings.
Perspectives on Distributed Systems Distributes systems are complex.
Architectures: What architectures and "architectural styles" are there?
Processes: What kind of processes are there and what are their relationships?
Communication: What options are there for exchanging data?
Coordination: How are the involved systems coordinated?
Naming: How do you identify resources?
Consistency and replication: What trade-offs need to be made in terms of data consistency, replication and performance?
Fault tolerance: How can operations be maintained even in the event of partial failures?
Security: How can authorized access to resources be guaranteed?
Design-goals of Distributed Systems
Shared Usage of Resources
Shared Usage of Resources - Examples Cloud-based shared storage and files
Peer-to-peer supported multimedia streaming
Shared email services (e.g. outsourced email systems)
Shared web hosting (e.g. content distribution networks )
Distribution Transparency
Definition Definition
Distribution Transparency
Transparency describes the property that a distributed system attempts to hide the fact that its processes and resources are physically distributed across multiple computers that may be separated by large(r) distances.
The distribution transparency is realized by many different techniques of the so-called middleware - a layer between applications and operating systems.
Aspects of Distribution Transparency Data access
hide differences in data representation and the type of access to a local or remote object
Location of data storage
hide where an object is located
Relocation
hide that an object may be moved to another location while in use
Migration
hide that an object may be moved to another location
Replication
hide that an object is replicated
Concurrency
hide that an object may be shared by several independent users
Fault transparency
hide the failure and recovery of an object
Representation of Information: Big-Endian vs. Little-Endian; ASCII vs. Iso-Latin 8859-1 vs. UTF-8
Degree of achievable Distribution Transparency However, a high level of distribution transparency can result in high costs.
There are communication latencies that cannot be hidden.
It is (theoretically and practically) impossible to completely hide network and node failures.
You cannot distinguish a slow computer from a failed computer.
You can never be sure that a server was actually performing an operation before it crashed.
"Complete transparency" costs performance and exposes the distribution of the system.
Disclosing Distribution can bring Advantages Use of location-based services
(E. g. to enable finding friends nearby.)
When dealing with users in different time zones
When it is easier for a user to understand what is going on
(E.g. if a server does not respond for a long time, it can be reported as down).
Observation
Distribution transparency is a noble goal, but often difficult to achieve and frequently not worth striving for.
Open Distributed Systems
Open Distributed Systems - Foundations Definition
An open distributed system offers components that can easily be used by other systems or integrated into other systems.
An open distributed system itself often consists of components that originate from elsewhere.
Open distributed systems must be able to interact with services of other (open) systems, regardless of the underlying environment:
they should implement well-defined interfaces correctly
they should be able to interact easily with other systems
they should support the portability of applications
they should be easily extensible
Authentication services are one example. They can be used by many different applications.
Policies vs. Mechanisms Policies vs. Mechanisms ≘ Vorgaben/Richtlinien vs. Umsetzungen
Policies when implementing openness
What level of consistency do we need for data in the client cache?
What operations do we allow downloaded code to perform?
Which QoS requirements do we adapt in the presence of fluctuating bandwidths?
What level of secrecy do we need for communication?
Mechanisms to support openness
Enabling the (dynamic) setting of caching policies
Support of different trust levels for mobile code
Provisioning of adjustable QoS parameters per data stream
Provisioning of various encryption algorithms
The hard coding of policies often simplifies administration and reduces the complexity of the system. However, it comes at the price of less flexibility.
Security in Distributed Systems - Security Objectives Foundational security objectives
Confidentiality : Information is only passed on to authorized parties.
Integrity : Changes to the values of a system may only be made in an authorized manner.
Together with the third security objective: availability , these three protection objectives form the CIA triad of information security: Confidentiality, Integrity, and Availability.
Security in Distributed Systems - Authorization, Authentication, Trust Authentication: Process for verifying the correctness of a claimed identity.
Authorization: Does an identified unit have the correct access rights?
Trust: A component can be certain that another component will perform certain actions in accordance with expectations.
Security - Encryption and Signatures It is essentially about encrypting and decrypting data (X) with the help of keys.
E(K,X) means that we e ncrypt the message X with the key K.
D(K,X) denotes the inverse function that d ecrypts the data.
Symmetric Encryption
The encryption key is identical to the decryption key; the same key K is used for both operations.
X = D(K,E(K,X))
Asymmetric Encryption
We distinguish between private (PR) and public keys (PU) (PU ≠ PR). A private and a public key always form a pair. The private key must always be kept secret.
Encrypting Messages
Alice sends a message to Bob using Bob's public key.
Y = E(PUBob ,X)
X = D(PRBob ,Y)
Signing Messages
Alice signs (S) a message with her private key.
Y = E(PRAlice ,X)
X = D(PUAlice ,Y)
Security - Secure Hashing A secure hash function Digest(X) returns a character string of fixed length (H).
Any change – no matter how small – to the input data results in a completely different character string.
With a hash value, it is mathematically impossible to find the original message X based on Digest(X).
Sicheres Hashing ≘ Secure Hashing
Question Encryption with Public-Private Keys/Asymmetric Encryption
If Alice sends Bob a message encrypted with Bob's public key, what security problem could arise?
MTAwMDAw:qhc+k4400EL9O8oXB0kN8RX2sqKmgcH7jI6oJlx9LT8=:r/lfpW18DxZal+Ry:wukn1v4uFf1eG7JBbftterdvXW57NfWsY5sng0M141JCoi8Aulac4Ux/8/GrRaj2vrtUvbLqdmDJRFwdjNJriBAPzUki/bRRv5wVcOJumYYPXAh3Rg23c6bsITcV5glZ38zbOmKri47BBhwedKuC8UAFAoavpUkXQ10chWevNQiiBMtWMLfmNB2pcdS0LOGsK4s1VFLL+cfmrAWtEt4O5UdJnlZ6yvS2OoqWCxHPskkazqFraRMbtH+gcyVSheDuXj9e9gIO71evAGGPJYHnOYVZt3Mw5OlUtHR54z54oND4wussw25EVzIhk+TwL0wDmdHGmCIIbkwb49pNzhJEhGKPKTDpADcTdPJfwsf2sT4Rc4h6hCpr7w3gPxJrE1aK7DWCOY09ybZ2O9H3eOvh/60Jm3SiosuivCOIY7L1BtgPx9QpVOG8YZBFG9tv12HZV3ZzoWNueW1m09+toDJZf6BvzfkzbBOGeOs=
Scalability
Scalability in Distributed Systems We can distinguish at least three types of scalability:
Number of users or processes (size scalability)
Maximum distance between nodes (geographical scalability)
Number of administrative domains (administrative scalability)
Scalability in terms of size can often be achieved by using more and more powerful servers that are operated in parallel.
Geographical and administrative scalability is often a greater challenge.
Analysis of the Scalability of Centralized Systems A centralized service can be modelled as a simple queuing system:
Assumptions
The queue has an infinite capacity, i.e. the arrival rate of requests is not influenced by the current length of the queue or by what is currently being processed.
Arrival rate of requests:
λ \lambda λ (requests per second)
Processing capacity of the service:
μ \mu μ (requests per second)
Proportion of time with x x x requests in the system:
p x = ( 1 − λ μ ) ( λ μ ) x p_x = \bigl(1 - \frac{\lambda}{\mu}\bigr)\bigl(\frac{\lambda}{\mu}\bigr)^x p x = ( 1 − μ λ ) ( μ λ ) x MTAwMDAw:Wk9D2WldwAUziplKS85kij8DIPBaUu3buzW6shENuCk=:pDvyqXI8na1Hh20U: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 # Requests in process and in queue
Legend
For example, the proportion of time in which the computer is idle (i. e. p 0 p_0 p 0 ) is : 90 %, 60 % and 30 %.
MTAwMDAw:iSqrtIkV6dFugBXzwIkzSwMCjwUERpnWc9lFtQNwAns=:L1ccPenmPhPl3Wcn:0/RGjSORplUIX5KLOC3gZ87d/VMLY1I7Cun1+ZNGUnX0yxvGaVBQlvEAwHIuHKimqqpq0lVy/QVoCTDq6YHpHHiCpwZ9cyJaxkvWF9fca2tVCMEOXC2UWELEamDXFcCIbG/3PRGbG2xAd2AhpMQ0JMJZqfVqYlcjUolSCRlfNXxecQK1JWGixZ+9tSTgcmqMa2BEYUlcVOup6cKSpzLvNEImz8usDQFLKwrxjoXXmcirZyAMG1TFXj4nGLP8dXhcyU/oPPu/MZrkBcG85cVNve8stzo4DtBPZyzmyJiluegRWEUrURpEiqCS2uJ6G8Ntyb+YJlmrlNAQZlgtt6i5oEH3cBjZWRP0hfXRsPF/GJs+wtX/M0zPodQxzUxX3NpB/qvw1pNR8JPGPKGH8nZkJ9cGd8MZI2a+1H5mIClBstQ5ml40oAMtQ7TPIv6Mtk5OkxYLy/7UIJniNAgRuDMTss9L3FIPEldlZygpMXiK7vnW2jYvRJCgnTF2Zof/6JUQ5lOCEMENvT7Fg8A2xHm4SKBpwGfvx/7F/ssuP10c3T8ZIkRw3W6lXyOZ2ewTbgwPC/1z6Pywl9LwwtJ14C9uLZbkFGei5LZ/2oXE11S/nLi28d3PhbTdGHt3iQkg5JnhEy7247QMhvY1QyK5Az5D8mXqU0LZg6eKqwk2boICbKxwLywQqfc5uSQYiP67FAZKaP0Y8I6t62+lEv9qI+7UQ3CSM5U7+qDsicScMCrGt4DNPEBtMGNh0h3LrtSV9/3yNTnRzPnfuuxvbOY/U2VFgjQFUSD7pXXAC4VL8YfXsahqN7jJxhHpw9HaQ7vJZAIUzgYLLh1CClv2wKBHbVK14HCAOswiXXVo/SnskMGDJI4CpJHM5k9V7gNQmzfg1MPabAlDhgBItej+VkAD2yUG2N/F+7+LWCfT2UKR1+XhQvLnpVXsWVdOQLE/7vQ5fEPrN8rjXnqE6hQoCTZhKmD5tS8C/UNDPGsYwgfJjAmsAK/QseznljCKkin3w2iCGlAaw2wGzgDVoALOO930W/kkMX9/1hRGlm8lioLDOxQ9+pXk+Umtue7ukNzu/KemFXPk4wV56OG/VSDuH0RAxZ8Ar4YxrwrRkacAAOMr06ivUV1AudAveLtdwqX9qs85eBrY4aKQT6rrz4CL/Q3emcEWJbssedqCPo8gMn7Np35WLkRrZZPIAmkjPRyg8lO/mdPHBweoAoY2n3qKnIm1Mwzegfyc/yqgRbwnAx2N5EQLzycIb4li1gUIW9JUrMO1ZIZOIyB3ZxNv/zqsJDwf2j5aOsWf9of1vU92kZaQCa1sNnQkpP7kN3JSrNV4cjcJKK37IOYrGQpwI5z3K58URWus1CQ1eaVVr4tlxsvkVFJ3ioo= Note
x x x = # Requests in Sys.
p x = ( 1 − λ μ ) ( λ μ ) x p_x = \bigl(1 - \frac{\lambda}{\mu}\bigr)\bigl(\frac{\lambda}{\mu}\bigr)^x p x = ( 1 − μ λ ) ( μ λ ) x U U U is the proportion of time in which a service is utilized:
U = ∑ x > 0 p x = 1 − p 0 = λ μ ⇒ p x = ( 1 − U ) U x U = \sum_{x > 0} p_x = 1 - p_0 = \frac{\lambda}{\mu} \Rightarrow p_x = (1-U) U^x U = x > 0 ∑ p x = 1 − p 0 = μ λ ⇒ p x = ( 1 − U ) U x Average number of requests:
N ˉ = ∑ x ≥ 0 x ⋅ p x = ∑ x ≥ 0 x ⋅ ( 1 − U ) U x = ( 1 − U ) ∑ x ≥ 0 x ⋅ U x = ( 1 − U ) U ( 1 − U ) 2 = U 1 − U \begin{matrix}
\bar{N} & = & \sum_{x\geq 0} x \cdot p_x
= \sum_{x \geq 0} x \cdot (1-U)U^x \\
& = & (1-U)\sum_{x\geq 0} x\cdot U^x
= \frac{(1-U)U}{(1-U)^2} = \frac{U}{1-U}
\end{matrix} N ˉ = = ∑ x ≥ 0 x ⋅ p x = ∑ x ≥ 0 x ⋅ ( 1 − U ) U x ( 1 − U ) ∑ x ≥ 0 x ⋅ U x = ( 1 − U ) 2 ( 1 − U ) U = 1 − U U Average throughput:
X = U ⋅ μ ⏟ \mbox u t i l i z e d + ( 1 − U ) ⋅ 0 ⏟ \mbox u n u s e d = λ μ ⋅ μ = λ X = \underbrace{U \cdot \mu}_{\mbox{utilized}} + \underbrace{(1-U) \cdot 0}_{\mbox{unused}} = \frac{\lambda}{\mu} \cdot \mu = \lambda X = \mbox u t i l i z e d U ⋅ μ + \mbox u n u se d ( 1 − U ) ⋅ 0 = μ λ ⋅ μ = λ For an infinite geometric series with the quotient U U U applies:
∑ k ≥ 0 k ⋅ U k = U ( 1 − U ) 2 \sum_{k\geq 0} k\cdot U^k = \frac{U}{(1-U)^2} k ≥ 0 ∑ k ⋅ U k = ( 1 − U ) 2 U Representation of the average number of requests in the system depending on the utilization U U U :
If U U U is small, the response time is close to 1 1 1 , i.e. a request is processed immediately.
If U U U increases to 1 1 1 , the system comes to a standstill.
Problems of Geographical Scalability
Problems of Administrative Scalability Observation
Conflicting guidelines in terms of usage (and therefore payment), administration and security.
Example
Grid computing: shared use of expensive resources across different domains.
Shared devices: How to control, manage and utilize a shared radio telescope designed as a large-scale shared sensor network?
Exception
Various peer-to-peer networks where end users collaborate rather than administrative units:
Approaches to achieve Scaling Hiding communication latencies through:
MTAwMDAw:XZPeCZqW6H0N1tPnbWgm5K8xj9uGC/q1j60nnsRer50=:QglQYkra61+sYhx5:fJFN09i0Pv5eRf2ibZlaK8Hkp5MJ344sjNkvnT7JV9hhhQjIhGDeLYZtxfV6rWzgVT4Lvr3/HmtySaULlkaWsjaaY1X0CHNaO/4DHgrDJHEvI+55XjzYbw2HXMYkCbivniM+mIrfiggeABxl/TBCz6Qyr7GGZL4agK4pkF6xcmL8XPWiobnQkvLuX7XJFH68vJr3ghnU/xKq5ZY/44e9WEV74kgn7oSAbRdjzD4vP8v3Rsw= Observation
However, this model is not always applicable.
Partitioning of data and calculations across multiple computers.
Relocation of calculations to clients
Decentralized naming services (e.g. DNS)
Decentralized information systems (e.g. WWW)
Shifting Calculations to Clients
Scaling via Replication and Caching Use of replication and caching to make copies of data available on different computers.
replicated file servers and databases
mirrored websites
Web caches (in browsers and proxies)
File caching (on server and client)
Challenges of Replication Multiple copies (cached or replicated) inevitably lead to inconsistencies. Changing one copy means that this copy differs from the others.
To achieve consistency, global synchronization is required for every change.
The extent to which inconsistencies can be tolerated is application-specific. However, if these can be tolerated, then the need for global synchronization can be reduced.
Parallel Computing Multiprocessor
Multicomputer
Distributed high-performance computing began with parallel computing.
Distributed systems with shared memory (i. e. multi-computers with shared memory) as an alternative architecture did not fulfil the expectations and are therefore no longer relevant.
Amdahl's law - Limits to Scalability Solving fixed problems in the shortest possible time
Example: Booting a computer. To what extent can more CPUs/cores shorten the time?
It models the expected acceleration (speedup ) of a partially parallelized/parallelizable program relative to the non-parallelized variant.
Definition
S ( C ) = 1 ( 1 − P ) + P C S(C) = \frac{1}{(1-P) + \frac{P}{C}} S ( C ) = ( 1 − P ) + C P 1
Gustafson's Law - Limits to Scalability Note
C C C : Number of CPUs
P P P : Degree of parallelisation as a function of the problem size n n n
S S S : Speedup
Example
Let the degree of parallelization for a relevant problem size n n n be 80 80 % 80 . This results in a speedup of ( 1 + 0.8 ⋅ 3 ) = 3.4 (1 + 0.8 \cdot 3) = 3.4 ( 1 + 0.8 ⋅ 3 ) = 3.4 for 4 4 4 CPUs, a speedup of 6.6 6.6 6.6 for 8 8 8 CPUs and a speedup of 13 13 13 for 16 16 16 CPUs.
Exercise Compute Speedup
You are a pentester and you try to penetrate a system by attacking the passwords of the administrators. At the moment, you are using 2 graphics cards with 2048 compute units each. The serial part of the attack is 10 %. How high is the speedup you can expect, if you add two more comparable graphics cards with another 2048 compute units per GPU?
Background
The attacks are highly parallelizable and effectively depend on the number of CUs. The graphics cards are able to accelerate the attacks effectively.
MTAwMDAw:aRiEXZhx/a5OidOjkEZAcROq3Fu5VPbKHq0XABDPeK0=:M3kVsgLJ5aidThiB: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
Requirements on Distributed Systems
Dependability of Distributed Systems Dependencies
A component provides services to its clients . For that, the component may in turn require services from other components and therefore the component is dependent on another component.
Correctnes and Dependencies
A component C depends on C* if the correctness of the behavior of C depends on the correctness of the behavior of C* .
Dependability ≘ Verlässlichkeit
Requirements on the Reliability of Distributed Systems Requirement
Description
Availability
The system is usable.
Reliability
Continuity of correct service provision.
Safety
Low probability of a catastrophic event.
Maintainability
How easily can a failed system be recovered?
Attention!
Security ≘ Sicherheit
Safety ≘ Sicherheit
Safety refers to the safety of people and property, while security refers to the security of data and information.
Reliability vs. Availability in Distributed Systems Reliability R(t) of the component C
Conditional probability that C worked correctly during [0,t) if C worked correctly at time T = 0.
Traditional Metrics
Mean Time to Failure (MTTF):
The average time to failure of a component.
Mean Time to Repair (MTTR):
The average time it takes to repair a component.
Mean Time between Failures (MTBF):
MTTF + MTTR = MTBF.
Reliability: How likely is it that a system will work correctly ?
Availability: How likely is it that a system will be available at a given time?
MTBF vs. MTTR
If the MTTF of a component is 100 hours and the MTTR is 10 hours, then the MTBF is: MTTF + MTTR = 100 + 10 = 110 hours (MTBF).
MapReduce - Programming model and Middleware for Parallel Computing MapReduce is a programming model and a corresponding implementation (a framework originally developed by Google) for processing very large amounts of data (possibly TBytes).
Programs implemented with the help of MapReduce are automatically parallelized and executed on a large cluster of commodity hardware.
Responsibility of the runtime environment:
Partitioning the input data and distributing it to the computers in the cluster.
Scheduling and execution of the Map and Reduce functions on the computers of the cluster.
Error handling and communication between the computers.
Exercise Availability and Failure Probability
Consider a large distributed system consisting of 500 independent computers which fail independently of each other. On average, each computer is unavailable for twelve hours within two days.
Determine the intact probability of a single computer.
A data set is replicated on three computers for reasons of fault tolerance. What is its average availability when we try to access it?
On how many computers do you have to store this data set so that the average availability is 99.999%?
For how many minutes per year (with 365 days) is it not possible to read the data set , when we have an average availability of 99.999%?
MTAwMDAw:KlaBzYEpu/F9JhuU0XKTQ/cbiCtTqmQRolRrrtP9K1Q=:jnYRAJxryaAJtitI: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
Classification of Distributed Systems
Cluster Computing A group of high-end systems connected via a LAN.
The individual computers/compute nodes are often identical (hardware and software) and are managed by a management node (management node ).
Grid Computing Continuation of cluster computing.
Many heterogeneous nodes scattered over a wide area and across several organizations.
The nodes are connected via the WAN.
Collaboration takes place within the framework of a virtual organization.
(Volunteer) Grid Computing - Examples:
https://scienceunited.org
https://einsteinathome.org
Basic Architecture for Grid Computing Fabric layer: Provides interfaces to local resources (for querying status and capabilities, locking, etc.)
Connectivity layer: Communication / transaction / authentication protocols, e.g. for transferring data between resources.
Resource layer: Manages a single resource, e.g. creating processes or reading data.
Collective Layer: Manages access to multiple resources: discovery, scheduling and replication.
Applications: Contains actual grid applications in a single organisation.
Auffindung ≘ Discovery
Einplanung ≘ Scheduling
Peer-to-Peer-Systems Vision: "The network is the computer." There is a database that is always accessible worldwide.
Idea: No dedicated clients and servers, each participant (peer) is both provider and customer.
Self-organising, without a central infrastructure (coordinator, database, directory of participants).
Each peer is autonomous and can be offline at any time, network addresses can change at will.
Main Application: File-Sharing-Systems (in particular BitTorrent)
The peak of classic peer-to-peer systems was in the 2000s.
Advantages of P2P systems are: cheap, fault-tolerant, dynamic, self-configuring, immensely high storage capacity, high data access speed.
Cloud-Computing Definition
Cloud computing refers to the provision of computing power, storage and applications as a service. It is the continuation of grid computing.
Variants
Public Cloud (z. B. Amazon EC2, Google Apps, Microsoft Azure, …)
Private Cloud
Hybrid Cloud
(The private cloud is supplemented by a public cloud if required).
Virtual Private Cloud
One way to solve the trust problem could be homomorphic encryption , which makes it possible to perform calculations on encrypted data.
[Fully homomorphic encryption , or FHE] can take thousands—even tens of thousands—of times longer to compute on today’s CPUs and GPUs than simply working with the decrypted data. [...] Intel demonstrated [...] Heracles, which sped up FHE computing tasks as much as 5,000-fold compared to a top-of the-line Intel server CPU.
—March 10, 2026, Samuel K. Moore, Intel Demos Chip to Compute With Encrypted Data, IEEE
Serverless Computing Serverless Computing enables developers to create applications faster, as they no longer have to worry about managing the Infrastructure.
Vendor-Lock-In
Cold-boot latency
Time until the first code is executed can be longer, as the serverless functions are only instantiated when required.
Debugging and Monitoring
Traditional tools and methods can no longer be used.
Cost-transparency/-management
The costs of serverless computing are difficult to predict and control.
Challenges in Developing Distributed Systems
Application Integration Typical enterprise applications in companies are networked applications and establishing interoperability between these applications is a major challenge.
Basic Approach
Clients combine requests for (different) applications, send them, collect the responses and present a coherent result to the user.
Modern Approach
Direct communication between applications leads to the integration of enterprise applications (Enterprise Application Integration (EAI)).
A networked application is an application that runs on a server and makes its services available to remote clients.
Transactions at Business Process Level Primitive
Description
BEGIN OF TRANSACTION
Indicates the start of a transaction.
END OF TRANSACTION
Completes the transaction with an attempt to COMMIT.
ROLLBACK OF TRANSACTION
terminate the transaction and restore the old status.
READ
Reading data from (e. g.) a file or a table.
WRITE
Writing data (e. g.) to a file or a table.
ACID-Properties:
Atomic: happens inseparably (seemingly)
Consistent: no violation of system invariants
Isolated: no mutual influence
Durable: after a commit, the changes are permanent
Transaction Processing Monitor (TPM) Observation
The data required for a transaction is often distributed across several servers.
A TPM is responsible for coordinating the execution of a transaction.
When you implement microservices, the use of TPMs and 2PC for the purpose of coordinating business processes is often not the first choice.
Nevertheless, distributed transactions are an important part of distributed systems and Google, for example, has developed Spanner, a solution that enables transactions on a global scale (Global Consistency ). (https://cloud.google.com/spanner?hl=en and https://www.youtube.com/watch?v=iKQhPwbzzxU ).
Middleware and Enterprise Application Integration (EAI) Middleware enables communication between applications.
Remote Procedure Call (RPC): Requests are sent via a local procedure call, packaged as a message, processed, answered by a message and the result is then the return value of the procedure call.
Message Oriented Middleware (MOM): Messages are sent (i. e. published) to a logical contact point (i. e. message broker) and forwarded to applications that subscribe to these messages.
How can application integration be achieved? File transfer: Technically simple, but not flexible:
Shared database: Way more flexible, but still requires a common data schema in addition to the risk of a bottleneck.
Remote Procedure Call (RPC): Effective when execution of a series of actions is required.
Messaging: Enables temporal and spatial decoupling compared to RPCs.
Modern Distributed Systems
Distributed Pervasive/Ubiquitous Systems Distributed Pervasive/Ubiquitous Systems ≘ verteilte, allgegenwärtige/alles durchdringende Systeme
Modern distributed systems are characterised by the fact that the nodes are small, mobile and often embedded in a larger system. The system embeds itself naturally in the user's environment. Networking is wireless.
Three (overlapping) subtypes
Ubiquitous computing: ubiquitous and always present ; i. e. there is constant interaction between the system and the user.
Mobile computing: ubiquitous ; the focus is on the fact that devices are inherently mobile.
Sensor/Actuator Networks: ubiquitous ; focus is on actual (collaborative) sensing and actuation.
Ubiquitous Systems - Key ElementsDistribution: The devices are networked, distributed and accessible without barriers.
Interaction: The interaction between users and devices is highly unobtrusive.
Context awareness: the system knows the user's context in order to optimize the interaction.
Autonomy: The devices work autonomously, without human intervention, and manage themselves independently to a high degree.
Intelligence: The system as a whole can handle a wide range of dynamic actions and interactions.
Mobile Computing - Characterizing featuresA variety of different mobile devices (smartphones, tablets, GPS devices, remote controls, active ID cards).
Mobile means that the location of a device can change over time. This can, e. g., have an impact on local services or accessibility.
Maintaining stable communication can lead to serious problems.
Observation
The current status is that mobile devices establish connections to stationary servers, making them in principle clients of cloud-based services.
Mobile Cloud Computing
Mobile Edge Computing
Sensor Networks The nodes to which sensors are attached:
Sensor Networks as Distributed Databases
The Cloud-Edge Continuum
Pitfalls in Developing Distributed Systems Observation
Many distributed systems are unnecessarily complex due to incorrect assumptions and architectural and design errors that have to be rectified later.
Incorrect (and often hidden) assumptions
The network is reliable
The network is secure
The network is homogeneous
The topology does not change
The latency is zero
The bandwidth is infinite
The transport costs are zero
There is only one administrator