8 February 1999 This is release 1.0 of the Parallel Data Laboratory NASD software prototype. This release is provided "as is" - Carnegie Mellon and the Parallel Data Laboratory disclaim any liability of any kind for any damages whatsoever resulting from the use of this software. This release is intended for the private use of Parallel Data Consortium members. PDC members are requested to consider this material "confidential," and as such to not redistribute it. This release includes the NASD drive prototype, the NASD-NFS filemanager, simple client APIs, a regression-testing suite, sample programs, a snapshot of Cheops (which is one implementation of aggregation over multiple NASDs), and some basic documentation. This release includes ports to run on user-level Linux, user-level Digital Unix, and in the Digital Unix kernel. A more complete enumeration of the contents of the release may be found in the ReleaseHistory file at the root of the distribution. No warranty, express or implied, is provided with this code. While it cannot guarantee support, the Parallel Data Lab is interested in hearing about problems you may experience with this code. You can send mail to nasd-prototype-support@cs.cmu.edu with such issues and questions. A mailing list for users of this software to share experiences and discussions exists. To subscribe to this list, send mail to nasd-prototype-request@cs.cmu.edu. To send mail to recipients of this list, mail nasd-prototype@cs.cmu.edu. Bulk mailings and advertisements are strictly prohibited. There are a few things that users of this release should be aware of with respect to the security code. Due to concerns over the U.S. Government export restrictions, all encryption code has been removed from the NASD release. Since there is no encryption code, all data is sent in the clear over the network so an adversary can potentially read your disk traffic. The code as included in the release does not provide any privacy to communication with the drive. The bulk of the NASD security system remains in the prototype. These are the integrity protections using SHA-1 and HMAC-SHA1. Within the framework where SHA-1 & HMAC-SHA1 are used, it should be reasonably clear where you can reinstall encryption/decryption calls if you wish to add privacy to your codebase. The prototype assumes that the clients, drive, and filemanager all use losely synchronized clocks. In a real NASD implementation, this would be a dangerous assumption and another avenue for attack. Instead, the drive clock does not synchronize with anyone and an RPC to request the current drive's time would be added. The prototype NASD drive utilizes a locally attached disk as the backing store for its implementation of the object store. This code can be trivially ported to any environment which provides random-access block or character devices. Copyright (c) 1996,1997,1998,1999 Carnegie Mellon University. All rights reserved. CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.