 To: Gary Meyer From: Glenn Everhart> Re: Thought you'd like some docs on what virtual disk packages4 exist. I whipped up the software worm very recently. ------@ The following varieties of virtual disks exist in demonstratable states: @ VDdriver: virtual disk on contiguous disk file. Fast performance9 	and allows  volume ACLs and custom cluster factors among  	other things.> VQdriver: Virtual disk on two contiguous disk files, mirrored.; 	This driver allows volume shadowing (and has a transparent ? 	catch up) of two virtual disks. (Like VDdriver, the contiguous @ 	files can be entire volumes or sections of volumes; the storage< 	can be specified by logical block and size, or by filename.= 	On write, both containers are written (if present); on read, ; 	the container with the closest "last accessed LBN" is used  	to get the data.  FQdriver/FDdriver:< 	This driver allows a host process to handle actual storage,= 	making that process' storage appear to be a locally attached * 	disk. Host processes implemented include:  # 	* Remote virtual disk over DECnet. : 	* Memory disk using the host process' virtual memory. The8 		actual memory consumption is determined by the process 		working set.= 	* Virtual disk based on a file which need not be contiguous. 5 		This file may be accessed across DECnet if desired. 3 		RMS read/write do the low level I/O in this case. ; 	* Virtual disk shadowed by memory region. In this case all ; 		writes go to both the memory region and a not necessarily 3 		contiguous file. Reads come from the memory area. > 	* Virtual disk on encrypted file. The encryption algorithm is6 		an XOR with very long string, which is very fast and9 		tends not to inspire such unwanted interest on the part 4 		of export agencies when done commercially. The bit7 		string is computed from the key, and this computation   		is relatively hard to reverse.  8 The following varieties are not available to the public:A 	* Virtual disk, read-only, made from physical backup. A physical 7 		VMS Backup image (or any block-for-block disk dump as 7 		well) are presented to VMS as a read-only disk. Large . 		cache allocation helps speed performance up.G FVdriver: This driver uses a contiguous file for its storage as a disk, ? 	and on read its' operation is exactly like VDdriver. On write, < 	it buffers writes and notifies a journalling "host process"; 	when the buffer fills. Because this is done from start-IO, = 	if an FVdriver unit is MSCP served to a cluster, the journal ; 	will automatically capture all writes from anywhere on the ; 	cluster. the journal preserves all write data, timestamped > 	with the 64 bit VMS time, and labelled by block it comes from> 	and byte count. In this way, a backup of an FV: unit plus the; 	journal can reconstruct that unit as of any moment in time 9 	from the backup time on, and separate backup need not be  	done so often.   E FWdriver: This driver and fdhostworm work together to form a software < 	"worm" device. The driver returns I/O errors on attempts to< 	delete files, and the host process will inhibit overwriting@ 	blocks above a "fence" LBN which is user settable (/FENCE:nnn),< 	so that a normal index file and directories can exist below? 	the fence LBN, but above it, any attempts to overwrite journal ! 	files and the like are rejected. ; 	  The storage is on a not necessarily contiguous disk file > 	somewhere on the DECnet, and the storage file is encrypted to= 	prevent traceless modifications. To do volume maintenance it < 	is necessary to use the fddriver crypto-disk host to access: 	the container, which will treat it as a normal disk. This< 	WORM disk is vulnerable to wholesale corruption, but not to 	traceless mods.  