Distributed Systems Architecture Part -1
Distributed Systems Architecture:
Architectural design for software that executes on more than one processor.
- Virtually all large computer based systems are now distributed systems
- Information processing is distributed over several computers rather than confined to a single machine
- Distributed software engineering is now very important
There are three types of systems –
- Personal Systems that are not distributed and that are designed to run on a personal computer or workstation. For example, word processor, spreadsheet, graphics systems etc.
- Embedded Systems that run on a single processor or on an integrated group of processor. For example, Control systems for domestic devices, instrument management systems etc.
- Distributed Systems where the systems software runs on a loosely integrated group of co-operating processors linked by a network. For example, Bank ATM Systems, booking systems, groupware systems etc.
Characteristics of Distributed Systems Architectures:
There are six important characteristics of distributed systems:-
- Resource Sharing: A distributed system allows the sharing of hardware and software resources – such as disks, printers, files and compilers – that are associated with computers on a network.
- Openness: Distributed systems are normally open systems, which means they are designed around standard protocols that allow equipment and software from different vendors to be combined.
- Concurrency: In a distributed system, several process may operate at the same time on separate computers on the network. These process may (but need not) communicate with each other during their normal operation.
- Scalability: In principle at least, distributed systems are scalable in that capabilities of the system can be increased by adding new resources to cope with new demands on the system. In practice, the network linking to individual computers in the system may limit the system scalability. If many new computers are added, then the network capacity may be adequate.
- Fault Tolerance: The availability of several computers and the potential for replicating information means that distributed systems can be tolerant of some hardware and software failure. In most distributed systems, a degraded service can’t be provided when failures occur; complete loss of service only tends to occur when there is a network failure.