|
System Design
Table of Contents
List of Documents
Introduction The Media Library Manager, MLM, is a software "middleware" product which allows multiple applications to manage, store and retrieve removable media. Throughout this document, we refer to a unit of removable media as a cartridge-- this might be a tape cartridge, a tape reel, an optical disk, or a removable magnetic disk. Retrieval may be performed either using a wide range of robotic library devices or by means of a human operator. MLM will support a wide range of robotic library devices, and includes facilities to make it easy for SGI or partner companies to add support for additional robotic devices.
MLM is a library management program -- it does not provide end-user
application functionality, nor does it become involved in data
I/O operations to cartridges.
It is expected that MLM will be used
in the full range of traditional tertiary storage management applications:
MLM is designed to be completely independent of user applications, so it
could also be used to manage robotic library units for which no computer
access of data is expected. An example of such a device would be a
broadcast video library unit equipped only with videotape units, such as
an Odetics Broadcast Library or a Sony Betacart Library. MLM could be used
to keep track of all of the videotapes at the site, whether inside a library
or not, and it would control one or more robotic library units, but the
SGI computer(s) which control the libraries would neither read nor write
the videotapes themselves. Using custom application software and signalling
protocols specified by the videotape deck manufacturers, the SGI systems
could perform standard control operations on the videotape machines.
Conventional Robotic Library Management Client applications may choose their own essentially arbitrary naming scheme for cartridges. Each client application operates within a separate name space, so different applications may re-use the same name for distinct cartridges. Full protection is also afforded between multiple client applications, as they do not have visibility to cartridges of any other application which might be utilizing MLM. (Administrative functions do permit specific cartridges to be moved from one application to another.) Library storage systems, including both robotic and non-robotic (manual) systems, are supported by MLM using a distinct interface. This interface is designed to make it easy to implement new libraries, while providing sufficient richness to handle large, complex library units.
Both the
Client Application Programming Interface (CAPI)
and the
Abstract Library Interface (ALI)
are designed so that applications and libraries may be added to the system
without software updates to the main body of MLM. Applications or
interface programs are simply installed at appropriate points in the
directory hierarchy and then administrative commands provided by MLM
are used to inform MLM of the existence of new applications or library
units. These administrative commands may be performed on a running system.
MLM accepts high-level requests from applications
and turns them into a set of low-level robotic controller
operations to accomplish the task.
It also schedules competing requests from different applications,
establishes and enforces cartridge pools on a per-application basis,
and provides a mapping from logical cartridge names
(an application's view) to physical cartridge numbers
(as used by robots).
The CAPI, ALI, and ADI will be published by SGI as freely available language specifications. Other organizations are welcome to implement programs which utilize these interfaces with no royalty payments to SGI. SGI welcomes input on these interfaces, and will evaluate suggestions for extensions. SGI expects to retain editorial control over these interfaces until such time as they stabilize and can be submitted to appropriate standards groups. SGI expects to develop a repertoire of Library Control Programs (LCPs) for many of the common robotic libraries which are on the market, as well as a Library Control Program for manual mount operations in which human operators are used in lieu of or in addition to robotic storage libraries. SGI will also encourage vendors of robotic devices to implement their own LCPs; SGI expects to not implement an LCP for a robotic device if the manufacturer of the device chooses to implement their own LCP. SGI will also develop a repertoire of Drive Control Programs (DCPs) for many of the common tape drives on the market, including both drives which SGI sells and those which are available through third parties on SGI's systems. In early versions of MLM, SGI does not plan to implement DCPs for non-tape devices, but in later versions, it is expected that SGI will provide support for devices such as magneto-optical disks, CDROM readers and writers, removable disk cartridges, and other removable media devices. As with LCP's, SGI will encourage vendors of drives to develop their own DCPs. Vendors may also need to develop device drivers for their drives.
Our experience with third-party peripherals has been that the most
successful path to having successful, functional devices on SGI
systems is through SGI's Gold Seal program. Under the Gold Seal program,
SGI agrees with the device manufacturer to implement appropriate control
software and to distribute this software as part of SGI's standard
system software releases. An expanded Gold Seal program will provide
implementation services for device drivers, DCPs, and LCPs.
All external MLM interfaces, including the
Client Applications Programming Interface (CAPI), the
Abstract Library Interface (ALI), the
Abstract Drive Interface (ADI),
and Administrative Interfaces
are designed to be operable either within a single host
computer system or in a networked environment with multiple
computers. To ensure that cartridges are protected against
unauthorized access, including attacks across a network, MLM implements
a set of
Interprocess Communication and Authentication
functions. These functions are provided in library form and are linked
in with applications so that the ASCII strings may be validated by both
MLM and the client or interface program.
Figure 5 illustrates the functional units present in MLM's internal
architecture. The dotted lines in the diagram indicate example
physical machine boundaries.
| |