loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
IEEE Third International Workshop on Systems Management
A Mobile Agent for Asynchronous Administration of Multiple DBMS Servers
Newport, Rhode Island
April 22-April 24
ISBN: 0-8186-8476-3
Hiroyuki Takahashi, Informix Software, Inc.
Vasanthi Kavalan, Informix Software, Inc.
Informix-Enterprise Command Center (IECC) is a Systems Management tool to administer Informix-Dynamic Servers (DBMS) in a distributed network environment. It is designed to administer hundreds of DBMSs across multiple geographic regions from multiple remote clients. DBMS administrative tasks include such operations as start/stop DBMS, create new spaces for database tables, add/delete user privileges, query a database, backup/restore a database, etc. IECC is structured as a client/server application where there is one system management service provider, called Server Administration Agent, per DBMS server. One or more clients operate on each of the Server Administration Agents. The idea of a monopolistic provider (a single provider managing a large number of DBMSs) was abandoned due to bandwidth limitations, configuration difficulties, and legacy reasons.IECC employs Common Object Request Broker Architecture (CORBA) as its communication middleware. Communications between a client and a provider can be synchronous or asynchronous depending on the operation that the client wants to execute, as follows:1. Create and execute an operation, monitor and wait for its completion (Synchronous) 2. Create and execute an operation at a fixed time (Asynchronous, Scheduled) 3. Reapply a created operation on multiple Agents (Asynchronous, Multiple Agent support) In general, we found CORBA's distributed support, extensibility, and language independence are well suited for IECC's goal of managing multiple DBMS in a distributed network environment from a single console. CORBA works well when clients and server remain connected and perform synchronous operations (case 1 above). However, CORBA's support for asynchronous operations is rather limited; a client is expected to connect to a server to start an asynchronous operation, and maintain the connection until the operation completes. In IECC, this is an impractical approach, when the client has to connect to many servers or when the DBMS operation takes a long time.We conceived the notion of a "Mobile Agent" to solve the issue of running repeatable asynchronous operations in a distributed, dynamic environment. A mobile agent is defined as an agent that is instantiated by a creator, travels around the network, performs operation(s) on qualified nodes of the network, without having any interaction with the creator. Mobile agents can live and perform operation(s) without having any client. In addition, a creator of a mobile agent does not have to make connections to all nodes of the network, where the mobile agent would perform operation(s). Technologies such as JAVA and IIOP help make mobile agent a reality. In IECC, mobile agents solve both kinds of asynchronous communication needs (cases 2 and 3) mentioned in the last paragraph. IECC provides easy to use discovery tools to monitor the mobile agents when needed. Some of the important factors to be considered in designing the mobile agents are:1. Definition of nodes: In the context of IECC, a node is a server running an Informix database 2. Discovery of nodes: CORBA Naming Service provides this feature 3. Environment to execute operation(s) Java's platform independence, support for instance serialization, and CORBA accessibility through IIOP make Java the ideal execution environment to execute IECC operations. 4. Mechanism to transfer a mobile agent: Requires Web and Corba technologies in conjunction with specially developed CORBA objects which transfer serialized Java instance. 5. Mechanism to monitor activities of a mobile agent: Once the nodes are discovered using CORBA Naming services, CORBA method invocations can be used to query the status of a mobile agent. 6. Communication from a mobile agent and clients: Requires specially developed CORBA object which uses call-back technique. Informix's approach to managing a large number of DBMSs in a networked environemet relies heavily on JAVA, IIOP, and CORBA. Our initial experience with these technologies are very encouraging. We hope to share additional insights on our mobile agent approach at the workshop.
Index Terms:
autonomous agent, database administration, asynchronous
Citation:
Hiroyuki Takahashi, Vasanthi Kavalan, "A Mobile Agent for Asynchronous Administration of Multiple DBMS Servers," smw, pp.32, IEEE Third International Workshop on Systems Management, 1998
Usage of this product signifies your acceptance of the Terms of Use.