Common Understanding Wiki
A Common Knowledge Source of Terms and Definitions
Distributed Systems Terminolgy
Distributed Systems Terminology #
This page presents terminology commonly used for distributed systems. In particular, we cover endpoint types in as well as properties of distributed systems.
Fixed Endpoint #
A physical device, fixed in its location that provided a man/machine interface to cloud services and applications. A fixed endpoint typically uses one method and protocol to connect to cloud services and applications.
Mobile Endpoint #
A physical device, often carried by the user that provided a man/machine interface to cloud services and applications. A Mobile Endpoint may use multiple methods and protocols to connect to cloud services and applications.
Reliability enables a component to perform its required functions under stated conditions for a specific period of time. It is a measure of continuity of correct service. Reliability is a safety guarantee stating that nothing bad will happen (under the stated conditions).
The proportion of time for which a system can perform its function. Availability is a lifeness property stating that something will eventually happen. From a mathematical point of view, availability is a probability distribution defining the likelihood that a service is available at a certain point in time. Hence, in practice, the definition of availability has to be coupled with a time span (e.g. month, year) as otherwise, the operator of the service can always recover by providing better service later on.
"Scalability" is the ability to meet an increasing workload requirement by incrementally adding a proportional amount of resources capacity. Therefore, Scalability is quantified by a measure of "linearity", which maintains a constant ratio between resource to workload. Hence, scalability is a property of the distributed application/service.
In contrast to Scalability, "Elasticity" is the ability to instantly commission and decommission large amount of resource capacity on the fly, and then charge purely based on the actual resource usage. "Elasticity" is quantitatively measured by speed of commissioning / decommissioning, max amount of resource that can be brought in, granularity of usage accounting.
Fault-resistence describes the capability to tolerate failures/faults/errors occurring in a (distributed) system including cloud systems. This resistance (also referred to as resiliance) may include the toleration of servers/data centres at provider level (due to redundancy, e.g. as introduced by data replication), loss of network connectivity (e.g. by buffering at client side), but also by certain programming techniques.
Applications and Processes #
This definitions captures application instances as they are distributed over various servers and the entire IT infrastructure. The static partitioning and assembly the application is part of the software definitions.
A process refers to an operating system process that runs on a dedicated host and is an instantiation of a dedicated software component.
(Distributed) Application #
The closure of interacting processes form a distributed application.