|
Distributed computing is a field of computer science that studies distributed systems. A ''distributed system'' is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components.〔 Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications. A computer program that runs in a distributed system is called a distributed program, and distributed programming is the process of writing such programs.〔. . , p. 10.〕 There are many alternatives for the message passing mechanism, including pure HTTP, RPC-like connectors and message queues. A goal and challenge pursued by some computer scientists and practitioners in distributed systems is location transparency; however, this goal has fallen out of favour in industry, as distributed systems are different from conventional non-distributed systems, and the differences, such as network partitions, partial system failures, and partial upgrades, cannot simply be "papered over" by attempts at "transparency" (see CAP theorem). ''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,〔.〕 which communicate with each other by message passing.〔, p. 291–292. , p. 5.〕 ==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.〔, p. 1.〕 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.〔 While there is no single definition of a distributed system,〔, p. 10.〕 the following defining properties are commonly used: * There are several autonomous computational entities, each of which has its own local memory.〔, p. 8–9, 291. , p. 5. , p. 3. , p. xix, 1. , p. xv.〕 * The entities communicate with each other by message passing.〔, p. 291. , p. 3. , p. 4.〕 In this article, the computational entities are called ''computers'' or ''nodes''. A distributed system may have a common goal, such as solving a large computational problem.〔, p. 3–4. , p. 1.〕 Alternatively, each computer may have its own user with individual needs, and the purpose of the distributed system is to coordinate the use of shared resources or provide communication services to the users.〔, p. 4. , p. 2.〕 Other typical properties of distributed systems include the following: * The system has to tolerate failures in individual computers.〔, p. 4, 8. , p. 2–3. , p. 4.〕 * The structure of the system (network topology, network latency, number of computers) is not known in advance, the system may consist of different kinds of computers and network links, and the system may change during the execution of a distributed program.〔, p. 2. , p. 1.〕 * Each computer has only a limited, incomplete view of the system. Each computer may know only one part of the input.〔, p. 7. , p. xix, 2. , p. 4.〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Distributed computing」の詳細全文を読む スポンサード リンク
|