Vous êtes sur la page 1sur 5

Openness in Distributed System 1.0 What is a distributed system?

A collection of independent computers that appears to its users as a single coherent system. It consists of multiple computers that do not share memory. Each Computer has its own memory and runs its own operating system. The computers can communicate with each other through a communication network.

Figure 1 A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface.

2.0 Why distributed system? Much better price/performance ratio. Resource sharing. Enhanced performance -- tasks can be executed concurrently; load distribution to reduce response time. Higher reliability -- data replication. Easier modular expansion -- hardware and software resources can be easily added without replacing existing resources.

3.0 Challenges in distributed system. Heterogeneity Openness Security Scalability Failure handling Concurrency Transparency Quality of service

4.0 Openness in distributed system. An open distributed system is a system that offers services according to standard rules that describe syntax and semantics of the services. System extension, reimplementation via standards Portability, interoperability, conformance to well defined interfaces

Figure 2 Show the distributed system must support with different type of network services and operating system (kernel).

If the well-defined interfaces for a system are published, it is easier for developers to add new features or replace sub-systems in the future. For example Twitter and Facebook have API that allows developers to develop their own software interactively. Other example In computer networks, standard rules govern the format, contents and meaning of messages sent and received. In D.S services are specified through interfaces definition language (IDL). Interoperability characteristics the extent by which two implementations of systems or components from different manufactures can work together by relays on each other. Portability characterizes to what extent the application developed for a distributed system. Be able to interact with services from other open systems, irrespective of the underlying environment: Systems should conform to well-defined interfaces Systems should support portability of applications Systems should easily interoperate

5.0 Achieving openness At least make the distributed system independent from heterogeneity of the underlying environment: Hardware Platforms Languages

Distributed systems are called heterogeneous if they contain many different types of hardware and software.

6.0 Defining openness Requires support for different policies specified by applications and users: What level of consistency do we require for client cached data? Which operations do we allow downloaded code to perform? Which QoS requirements do we adjust in the face of varying bandwidth? What level of secrecy do we require for communication?

7.0 Implementing openness Ideally, a distributed system provides only mechanisms: Allow (dynamic) setting of caching policies, preferably per catchable item Support different levels of trust for mobile code Provide adjustable QoS parameters per data stream Offer different encryption algorithms

8.0 Middleware and openness In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. The main point of this subsection is that even with the advantages offered by middleware, problems can still exist. Specifically, different middleware products present different APIs, protocols, etc. making them mutually incompatible. This leads to the problem of over-dependence on one particular middleware product. Another issue that arises is that of completeness: Completeness: if the middleware's interface is incomplete, it means that not everything necessary for implementing the system has been specified. This can lead to user (programmer) specification of the incomplete parts. That is, the developers using the middleware end up having to add functionality. This means that two systems developed using the same middleware could be incompatible. It's also undesirable for middleware to be completely specified but implemented differently such that incompatibilities arise. That's what the authors attempt to illustrate in the slide above. Specifically, if two different implementations use the same set of completely-specified interfaces but rely on different communication protocols, then they will not work together.

Figure 3 show the important of middleware program to make distributed system work in many kinds of platforms.

Vous aimerez peut-être aussi