0
6.8kviews
State the goals of Distributed system.
1 Answer
1
181views

Four important goals that should be met to make building a distributed system worth the effort.

A distributed system should make resources easily accessible; it should reasonably hide the fact that resources are distributed across a network; it should be open; and it should be scalable.

Making Resources Accessible:

The main goal of a distributed system is to make it easy for the users (and applications) to access remote resources, and to share them in a controlled and efficient way. Resources can be just about anything, but typical examples include things like printers, computers, storage facilities, data, files, Web pages, and networks, to name just a few.

For eg It make economic sense to share costly resources such as ,high-performance storage systems, image setters, and other expensive peripherals.

Connecting users and resources also makes it easier to collaborate and exchange information, as is clearly illustrated by the success of the Internet with its simple protocols for exchanging files, mail, documents, audio, and video.

The connectivity of the Internet is now leading to numerous virtual organizations in which geographically widely-dispersed groups of people work together by means of groupware, that is, software for collaborative editing, teleconferencing, and so on.

Distribution Transparency:

An important goal of a distributed system is to hide the fact that its processes and resources are physically distributed across multiple computers.

A distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be transparent. Let us first take a look at what kinds of transparency exist in distributed systems.

For example, a distributed system may have computer systems that run different operating systems, each having their own file-naming conventions.

Differences in naming conventions, as well as how files can be manipulated, should all be hidden from users and applications.

Transparency Description
Access Hide differences in data representation and how a resource is accessed.
Location Hide where a resource is located.
Migration Hide that a resource may move to another location
Relocation Hide that a resource may be moved to another location while in use
Replication Hide that a resource is replicated
Concurrency Hide that a resource may be shared by several competitive users
Failure Hide the failure and recovery of a resource

Openness:

An open distributed system is a system that offers services according to standard rules that describe the syntax and semantics of those services.

For example, in computer networks, standard rules govern the format, contents, and meaning of messages sent and received.

Such rules are formalized in protocols. In distributed systems, services are generally specified through interfaces, which are often described in an Interface Definition Language (IDL). Interface definitions written in an IDL nearly always capture only the syntax of services.

In other words, they specify precisely the names of the functions that are available together with types of the parameters, return values, possible exceptions that can be raised, and so on.

It also allows two independent parties to build completely different implementations of those interfaces, leading to two separate distributed systems that operate in exactly the same way.

Scalability:

Scalability of a system can be measured along at least three different dimensions.

First, a system can be scalable with respect to its size, meaning that we can easily add more users and resources to the system.

Second, a geographically scalable system is one in which the users and resources may lie far apart.

Third, a system can be administratively scalable that it can still be easy to manage even if it spans many independent administrative organizations.

Unfortunately, a system that is scalable in one or more of these dimensions often exhibits some loss of performance as the system scales up.

Please log in to add an answer.