Distributed computing is a field of computer science that studies distributed systems. A distributed system is a system whose components are located on different networked computers that communicate and coordinate their actions by passing messages. Distributed computing refers to using distributed systems to solve computational problems by dividing problems into tasks that are solved by one or more communicating computers. Key challenges of distributed systems include maintaining concurrency, overcoming the lack of a global clock, and managing independent component failures.
Distributed computing is a field of computer science that studies distributed systems. A distributed system is a system whose components are located on different networked computers that communicate and coordinate their actions by passing messages. Distributed computing refers to using distributed systems to solve computational problems by dividing problems into tasks that are solved by one or more communicating computers. Key challenges of distributed systems include maintaining concurrency, overcoming the lack of a global clock, and managing independent component failures.
components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another.[1][2] Distributed computing is a field of computer science that studies distributed systems. The components of a distributed system interact with 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] Introduction The word distributed in terms such as "distributed system", "distributed programming", and "distributed algorithm" originally referred to computer networks where individual computers were physically distributed within some geographical area.[9] The terms are nowadays used in a much wider sense, even referring to autonomous processes that run on the same physical computer and interact with each other by message passing.[8] While there is no single definition of a distributed system,[10] the following defining properties are commonly used as:
There are several autonomous
computational entities (computers or nodes), each of which has its own local memory.[11] The entities communicate with each other by message passing.[12]
A distributed system may have a common
goal, such as solving a large computational problem;[13] the user then perceives the collection of autonomous processors as a unit. Alternatively, each computer may have its own user with