Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.[1][2]
The components of a distributed system communicate and coordinate their actions by passing messages to one another in order to achieve a common goal. Three significant challenges of distributed systems are: maintaining concurrency of components, overcoming the lack of a global clock, and managing the independent failure of components.[1] When a component of one system fails, the entire system does not fail.[3] Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications.
A computer program that runs within a distributed system is called a distributed program,[4] and distributed programming is the process of writing such programs.[5] There are many different types of implementations for the message passing mechanism, including pure HTTP, RPC-like connectors and message queues.[6]
Distributed computing also refers to the use of distributed systems to solve computational problems. In distributed computing, a problem is divided into many tasks, each of which is solved by one or more computers,[7] which communicate with each other via message passing.[8]
^ abTanenbaum, Andrew S.; Steen, Maarten van (2002). Distributed systems: principles and paradigms. Upper Saddle River, NJ: Pearson Prentice Hall. ISBN 0-13-088893-1. Archived from the original on 2020-08-12. Retrieved 2020-08-28.
^"Distributed Programs". Texts in Computer Science. London: Springer London. 2010. pp. 373–406. doi:10.1007/978-1-84882-745-5_11. ISBN 978-1-84882-744-8. ISSN 1868-0941. Systems consist of a number of physically distributed components that work independently using their private storage, but also communicate from time to time by explicit message passing. Such systems are called distributed systems.
^Dusseau & Dusseau 2016, p. 1–2.
^"Distributed Programs". Texts in Computer Science. London: Springer London. 2010. pp. 373–406. doi:10.1007/978-1-84882-745-5_11. ISBN 978-1-84882-744-8. ISSN 1868-0941. Distributed programs are abstract descriptions of distributed systems. A distributed program consists of a collection of processes that work concurrently and communicate by explicit message passing. Each process can access a set of variables which are disjoint from the variables that can be changed by any other process.
^Andrews (2000). Dolev (2000). Ghosh (2007), p. 10.
^Magnoni, L. (2015). "Modern Messaging for Distributed Sytems (sic)". Journal of Physics: Conference Series. 608 (1): 012038. doi:10.1088/1742-6596/608/1/012038. ISSN 1742-6596.
^Godfrey (2002).
^Andrews (2000), p. 291–292. Dolev (2000), p. 5.
and 26 Related for: Distributed computing information
message queues. Distributedcomputing also refers to the use of distributed systems to solve computational problems. In distributedcomputing, a problem is...
The fallacies of distributedcomputing are a set of assertions made by L Peter Deutsch and others at Sun Microsystems describing false assumptions that...
The DistributedComputing Environment (DCE) is a software system developed in the early 1990s from the work of the Open Software Foundation (OSF), a consortium...
Cloud computing is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct...
of DistributedComputing (PODC) is an academic conference in the field of distributedcomputing organised annually by the Association for Computing Machinery...
volunteer computing projects; a type of distributedcomputing where volunteers donate computing time to specific causes. The donated computing power comes...
Java Heterogeneous DistributedComputing refers to a programmable Java distributed system which was developed at the National University of Ireland in...
international academic conferences in the fields of distributedcomputing, parallel computing, and concurrent computing. The conferences listed here are major conferences...
and databases. In the early days of computing, a number of terms for the practitioners of the field of computing were suggested in the Communications...
tasks. For certain applications, distributed or grid computing can be seen as a special type of parallel computing that relies on complete computers...
real-time low-latency applications. Fog computing, also called edge computing, is intended for distributedcomputing where numerous "peripheral" devices connect...
Edge computing is a distributedcomputing model that brings computation and data storage closer to the sources of data, so that a user is likely to be...
mechanism. In doing so, a distributed operating system attempts to provide an efficient and reliable distributedcomputing framework allowing for an absolute...
grid computing approach, one of the earliest volunteer computing projects, since 1997. Quasi-opportunistic supercomputing is a form of distributed computing...
and scheduled by software. The newest manifestation of cluster computing is cloud computing. The components of a cluster are usually connected to each other...
grid computing environment. Hyperscale computing is necessary in order to build a robust and scalable cloud, big data, map reduce, or distributed storage...
the layer below. In distributedcomputing, the network architecture often describes the structure and classification of a distributed application architecture...
between the operating system and applications on each side of a distributedcomputing system in a network." Services that can be regarded as middleware...
dissemination, to distribute information without direct feedback Digital distribution, publishing media digitally Distributedcomputing, the coordinated...
for Enterprise Distributed Object Computing (EDOC) is a standard of the Object Management Group in support of open distributedcomputing using model-driven...
limitations in the MapReduce cluster computing paradigm, which forces a particular linear dataflow structure on distributed programs: MapReduce programs read...
storage, query languages, security and privacy of sensitive data, and distributedcomputing issues, including supporting concurrent access and fault tolerance...
Distributed networking is a distributedcomputing network system where components of the program and data depend on multiple sources. Distributed networking...
centralized computing exists when the majority of functions are carried out, or obtained from a remote centralized location. Decentralized computing is a trend...