Distributed Systems: Difference between revisions
No edit summary |
No edit summary |
||
Line 18: | Line 18: | ||
The second narrows down the range: programs on the same host and communicating over IPC are not |
The second narrows down the range: programs on the same host and communicating over IPC are not |
||
considered distributed. |
considered distributed. |
||
Likewise, both points affect security of such a system. Consistent with (1), in a distributed |
|||
setting new security problems arise, which are not limited to (2), that necessary links are |
|||
potentially dangerous. |
|||
==Concurrency== |
==Concurrency== |
Revision as of 10:18, 1 December 2004
Introduction
Out of the many possible definitions of a distributed system, we herein employ the following, which is perhaps the most general (and in particular supercedes Lamport's humorous remark that "a distributed system is the one that prevents you from working because of the failure of a machine that you had never heard of"):
- Distributed System
A distributed system is comprised by a set of distributed (i.e., not located in the same spot) components (hardware and/or software) working together to provide one service.
That is, there are two characteristics to a distributed system: (1) the service it provides emerges at the system level and (2) components must communicate over links (which are components themselves). The first implies that parts of the system, although they might be usable stand-alone, are not what we mean by the term -- a cell-phone's games or calendar functions are not distributed, but the service "communicate by voice independently of location" is. The second narrows down the range: programs on the same host and communicating over IPC are not considered distributed. Likewise, both points affect security of such a system. Consistent with (1), in a distributed setting new security problems arise, which are not limited to (2), that necessary links are potentially dangerous.
Concurrency
Trust
Fault Tolerance
Distributed systems allow parts of the system to be located on separate computers and different locations. So business logic and data can be reached from any remote computer (location).
Distributed objects are the most recent development in distributed computing. Distributed object technologies such as Java RMI, CORBA, and DCOM allow objects running on one machine to be used by applications on different computers.