Also found in: Dictionary, Acronyms.
Distributed systems (computers)
A distributed system consists of a collection of autonomous computers linked by a computer network and equipped with distributed system software. This software enables computers to coordinate their activities and to share the resources of the system hardware, software, and data. Users of a distributed system should perceive a single, integrated computing facility even though it may be implemented by many computers in different locations. This is in contrast to a network, where the user is aware that there are several machines whose locations, storage replications, load balancing, and functionality are not transparent. Benefits of distributed systems include bridging geographic distances, improving performance and availability, maintaining autonomy, reducing cost, and allowing for interaction. See Local-area networks, Wide-area networks
The object-oriented model for a distributed system is based on the model supported by object-oriented programming languages. Distributed object systems generally provide remote method invocation (RMI) in an object-oriented programming language together with operating systems support for object sharing and persistence. Remote procedure calls, which are used in client-server communication, are replaced by remote method invocation in distributed object systems. See Object-oriented programming
The state of an object consists of the values of its instance variables. In the object-oriented paradigm, the state of a program is partitioned into separate parts, each of which is associated with an object. Since object-based programs are logically partitioned, the physical distribution of objects into different processes or computers in a distributed system is a natural extension. The Object Management Group's Common Object Request Broker (CORBA) is a widely used standard for distributed object systems. Other object management systems include the Open Software Foundation's Distributed Computing Environment (DCE) and Microsoft's Distributed Common Object Manager (DCOM).
CORBA specifies a system that provides interoperability among objects in a heterogeneous, distributed environment in a way that is transparent to the programmer. Its design is based on the Object Management Group's object model.
This model defines common object semantics for specifying the externally visible characteristics of objects in a standard and implementation-independent way. In this model, clients request services from objects (which will also be called servers) through a well-defined interface. This interface is specified in Object Management Group Interface Definition Language (IDL). The request is an event, and it carries information including an operation, the object reference of the service provider, and actual parameters (if any). The object reference is a name that defines an object reliably.
The central component of CORBA is the object request broker (ORB). It encompasses the entire communication infrastructure necessary to identify and locate objects, handle connection management, and deliver data. In general, the object request broker is not required to be a single component; it is simply defined by its interfaces. The core is the most crucial part of the object request broker; it is responsible for communication of requests.
The basic functionality provided by the object request broker consists of passing the requests from clients to the object implementations on which they are invoked. In order to make a request, the client can communicate with the ORB core through the Interface Definition Language stub or through the dynamic invocation interface (DII). The stub represents the mapping between the language of implementation of the client and the ORB core. Thus the client can be written in any language as long as the implementation of the object request broker supports this mapping. The ORB core then transfers the request to the object implementation which receives the request as an up-call through either an Interface Definition Language (IDL) skeleton (which represents the object interface at the server side and works with the client stub) or a dynamic skeleton (a skeleton with multiple interfaces).
Many different ORB products are currently available; this diversity is very wholesome since it allows the vendors to gear their products toward the specific needs of their operational environment. It also creates the need for different object request brokers to interoperate. Furthermore, there are distributed and client-server systems that are not CORBA-compliant, and there is a growing need to provide interoperability between those systems and CORBA. In order to answer these needs, the Object Management Group has formulated the ORB interoperability architecture.
The interoperability approaches can be divided into mediated and immediate bridging. With mediated bridging, interacting elements of one domain are transformed at the boundary of each domain between the internal form specific to this domain and some other form mutually agreed on by the domains. This common form could be either standard (specified by the Object Management Group, for example, Internet Inter-ORB Protocol or IIOP), or a private agreement between the two parties. With immediate bridging, elements of interaction are transformed directly between the internal form of one domain and the other. The second solution has the potential to be much faster, but is the less general one; it therefore should be possible to use both. Furthermore, if the mediation is internal to one execution environment (for example, TCP/IP), it is known as a full bridge; otherwise, if the execution environment of one object request broker is different from the common protocol, each object request broker is said to be a half bridge.
Distributed systems (control systems)
Collections of modules, each with its own specific function, interconnected to carry out integrated data acquisition and control.
Industrial control systems have evolved from totally analog systems through centralized digital computer-based systems to multilevel, distributed systems. Originally, industrial control systems were entirely analog, with each individual process variable controlled by a single feedback controller. Although analog control systems were simple and reliable, they lacked integrated information displays for the process operator.
In supervisory control, the analog portion of the system is implemented in a traditional manner (including analog display in the central operating room), but a digital computer is added which periodically scans, digitizes, and inputs process variables to the computer. The computer is used to filter the data, compute trends, generate specialized displays, plot curves, and compute unmeasurable quantities of interest such as efficiency or quality measures. Once such data are available, optimal operation of the process may be computed and implemented by using the computer to output set-point values to the analog controllers. This mode of control is called supervisory control because the computer itself is not directly involved in the dynamic feedback. See Digital computer
Direct digital control replaces the analog control with a periodically executed equivalent digital control algorithm carried out in the central digital computer. A direct digital control system periodically scans and digitizes process variables and calculates the change required in the manipulated variable to reduce the difference between the set point and the process variable to zero. See Algorithm
The advantages of direct digital control are the ease with which complex dynamic control functions can be carried out and the elimination of the cost of the analog controllers themselves. To maintain the attractive display associated with analog control systems, the display portion of the analog controller is usually provided. Thus operation of the process is identical to operation of digital supervisory control systems with analog controllers, except that “tuning” of the controllers (setting of gains) can be done through operator consoles.
The cost reduction which resulted from the introduction of direct digital control was offset by a number of disadvantages. The most notable of these were the decrease in reliability and the total loss of graceful degradation. Failure of a sensor or transmitter had the same effect as before, but failure of the computer itself threw the entire control system into manual operation. Hence it was necessary to provide analog controllers to back up certain critical loops which had to function even when the computer was down.
Increasing demand for ever-higher levels of supervisory control highlighted two disadvantages of centralized digital computer control of processes. First, process signals were still being transmitted from the process sensor to the central control room in analog form, meaning that separate wires had to be installed for every signal going to or from the computer. Second, the digital computer system itself evolved into a very complex unit because of the number of devices attached to the computer and because of the variety of different programs needed to carry out the myriad control and management functions. The latter resulted in the need for an elaborate real-time operating system for the computer which could handle resources, achieve desired response time for each task, and be responsible for error detection and error recovery in a highly dynamic real-time environment. Design coding, installation, and checkout of centralized digital control systems was so costly and time-consuming that application of centralized digital control was limited.
Low-cost electronic hardware utilizing large-scale integrated circuits provided the technology to solve both of these problems while retaining the advantages of centralized direct digital and supervisory control. The solution, distributed control, involved distributing control functions among hardware modules to eliminate the critical central computer. See Integrated circuits
The combination of reliable, responsive distributed control and general-purpose communication networks leads to a system which can be adapted to critical control applications in a very flexible manner, with potential for increased productivity in plants, increased safety, and decreased energy consumption. Technology for higher-speed computation, data communication, and object-oriented software organization allows the integration of distributed control systems into plant-wide and enterprise-wise systems. See Control systems, Digital control, Object-oriented programming