1822Distributed Computing

One of the primary features that distinguishes a software agent from other computational processes is the concept of autonomy. Currently, when a user executes a command on a computer, a single process is activated that executes until it terminates. More sophisticated software applications wait for user input and then carry out some action or sequence of actions and return some result to the user. This is a passive view of computation — the direction or motivation for action comes from the user.

In agent-based distributed computing, this passive view gives way to a self-motivated computational process (software agent). Agent-based distributed computing always seeks to satisfy some internal goals with a minimum of human intervention. An autonomous software agent is viewed as one that can reason and plan a solution strategy once a task is delegated to that agent. The choice of strategy will depend on many factors. An autonomous agent will have the ability to select appropriate strategies for solving ill-posed problems without the user having to provide the decision-making intelligence at each step.

Another important characteristic of software agents is their ability to migrate across networks and carry their data and execution state with them. There are three main ways to access information in a computer network:

• Client software applications (such as web browsers) can access information directly through a fixed set of standard communication protocols.

• Intermediate software between the client application and the information source can provide a layer of abstraction that encapsulates the details of finding and retrieving relevant data.

• Software processes with specific goals can migrate across the network and search remote sites for relevant data.

The last of these three methods alleviates the need to maintain stable communication channels between a client and a server and the need to transport data to the client site before any processing can be carried out on it. Ideally, a mobile agent can perform most of its computation where the data resides and simply bring back the results.

Software agents are well suited for distributed problem solving applications such as those encountered in DG. Distributed problem solving strategies address situations where top-down problem solving turns out to be very difficult. A classic example of distributed problem solving is encountered in restaurants. Each individual who works at the restaurant is in charge of a specific function — seating guests, preparing food, cleaning up, etc. There is no central authority that continuously tells each person what to do next. If each employee handles his or her duties well, the overall objectives of the restaurant — business profitability and customer loyalty — are automatically achieved. The duties and responsibilities of each employee are defined in advance, and his or her activities are regularly monitored to ensure smooth running of the establishment. This type of distributed problem solving is qualitatively different from conventional strategies where a centralized control mechanism issues commands about what each system component should do next.

The success of a centralized problem solving strategy depends on the continuous availability of global information about the state of the entire system to the central decision-making authority. As problem domains become larger, this assumption seldom holds. Besides, the nature of certain problems makes the availability of complete and accurate system information impossible. Unfortunately, most problems in the real world are of this kind. This makes software agents promising candidates for distributed problem solving. From scheduling meetings to running manufacturing processes and air traffic control systems, distributed artificial intelligence researchers are applying agent-based techniques for solving complex real world problems.

Solar Stirling Engine Basics Explained

Solar Stirling Engine Basics Explained

The solar Stirling engine is progressively becoming a viable alternative to solar panels for its higher efficiency. Stirling engines might be the best way to harvest the power provided by the sun. This is an easy-to-understand explanation of how Stirling engines work, the different types, and why they are more efficient than steam engines.

Get My Free Ebook

Post a comment