Browse Prior Art Database

Method for Simulating Hardware in a Server Management Application Disclosure Number: IPCOM000015317D
Original Publication Date: 2001-Dec-07
Included in the Prior Art Database: 2003-Jun-20

Publishing Venue



Disclosed is a software architecture for simulating hardware in a computer management application. The design allows virtual and actual hardware components to appear simultaneously in an application. Designing a hardware management application is often difficult due to not only the number of hardware variants supported, but also the number of boundary conditions imposed by each variant. In developing such an application, it is generally impractical to assemble each hardware combination for testing. Furthermore, some would-be users of the software tool, such as documentation editors, help center personnel, recruiters, sales people, etc, may have no access to the managed hardware. It is therefore highly beneficial to be able to simulate hardware in the management tool. This capability is implemented in ServeRAID Manager, an object-oriented, Java-based application used to configure and monitor ServeRAID adapters. ServeRAID Manager is a tool for configuring and monitoring RAID adapters in an IBM server. The program uses a client-server architecture, so the management console may be separated from the agent portion that is always co-located with the RAID adapters. The agent is pure Java, but it must use DLLs to communicate with the RAID drivers. The simulation engine is located at the lowest layer of the Java agent, just above the DLLs Figure 1 ). This layer uses a parallel set of objects, each of which opens a specific DLL corresponding to a certain flavor of RAID adapter. The simulation engine is one of the blocks in this layer, but it has no associated DLL; all of the requisite behavior is simulated in Java code. The next layer up operates as a facade to the console, hiding the lowest layer. This solution has several advantages. Real adapters may appear in the console simultaneously with simulated ones; the application need not be started in "simulation mode". Any number of simulated adapters may be added dynamically while the agent is running. The console, with its requisite GUI code, does not know the difference between real and simulated adapters; GUI testing is of a quality equal to that of the simulation engine. Because the simulation engine is part of the agent, simulated hardware may just as easily be added at run time to a remote agent; all connected consoles will update themselves when the new simulated adapter appears. This might be useful in a collaborative problem-resolution environment. In Figure 2 , Controller 1 is real and Controller 2 is simulated. 1