AP consists of the following components:
AP daemon - ap_daemon(1M) runs on the Sun Enterprise server and receives user requests via the AP commands executed on the server. The daemon acts as an intermediary between the commands and the AP Librarian, ap(7). It passes requests received via RPCs to the librarian by invoking ioctls. The actual work of maintaining the database is performed by the librarian.
AP librarian - ap(7) manages the AP database and interacts with the metadrivers as necessary. It receives requests via ioctls and acts on them by updating the database or calling entry points in the metadrivers.
AP metadrivers - The low-level capability for re-routing I/O accesses to alternate paths is implemented in the metadrivers. The metadrivers are ap_dmd(7), ap_nmd(7), mge, mhme, mqfe, mle, mqe, and mnf. All application I/O requests that use the appropriate metadisk go through a metadriver that passes them to the physical device drivers. As a result, the metadrivers can decide which physical path to use, whether a given path is no longer functioning, and so forth. The information on which the metadrivers base their decisions comes from the AP librarian and AP database.
AP SSP daemon - ap_ssp_daemon(1M) executes on the SSP and receives RPC requests from the AP daemon whenever the AP database changes. (Note that the SSP is part of the Sun Enterprise 10000 server; the SSP is not available with any other Sun Enterprise servers.) This daemon is responsible for maintaining a file on the SSP containing alternate pathing information for booting.