[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dcms-dev
Subject:    Xdelta 2.0beta1
From:       Josh MacDonald jmacd () cs ! berkeley ! edu
Date:       2000-06-15 5:50:12
[Download RAW message or body]

Announcing the BETA release of Xdelta version 2.  This release builds
on earlier functionality to provide a complete system for managing
delta-compressed storage and network transport.  Using the Xdelta
system, you can easily incorporate this functionality into your
application.  The system offers improvements over the use of RCS for
back-end delta-compressed storage, common in version control systems,
and also provides primitive support for delta-compressed transport in
a manner similar to CVSup.  This release is accompanied by a technical
report describing the system and comparing it with RCS and GNU diff.

The first version of Xdelta, released in 1998, featured the
delta-compression algorithm alone, including diff- and patch-like
utilities.  Xdelta uses a fast, linear-time, and linear-space
algorithm that works well on both binary and text files.  The Xdelta
algorithm is based on the Rsync algorithm by Andrew Tridgell and Paul
Mackerras.  This BETA release does not include the same console-based
utilities for computing and applying deltas, nor does it support the
Xdelta-1.x file formats, although these interfaces may be
re-incorporated at a later date.

This release of Xdelta presents an application-level file system based
on the Berkeley Database called the Xdelta File System (XDFS).  XDFS
uses underlying database transactions for their ACID semantics
(Atomicity, Consistency, Isolation, and Durability), making it a
reliable solution for delta-compressed file storage.  XDFS avoids the
use of rename() for atomicity, and consequently insertion-time
performance does not degrade with the total size of the archive
(unlike RCS).  The XDFS directory interface uses the underlying
database access methods (B+tree, Hash, and Queue) for indexing and
naming versions and allows secondary indexing.

The XDFS interface supports delta-compressed transport through a
feature that allows deltas to be extracted directly from storage.
Much like CVSup, XDFS can extract deltas from storage without using
the delta compression algorithm.  Unlike CVSup, however, XDFS can
extract deltas between versions other than the ones used in storage.
The complex task of combining and inverting storage deltas is hidden
from the application programmer.  XDFS does not itself implement any
network transport protocols, although an HTTP delta-compression proxy
has already been implemented using XDFS.

This release is a step forward in the progress of PRCS, the Project
Revision Control System, towards a client/server architecture.  XDFS
will serve as the foundation for the next-generation PRCS repository.
In addition to version control systems, XDFS is intended for use by
software distribution and package management systems.  In addition to
an application programming interface, this BETA release includes a
console application that exports basic RCS-like functionality and
several test applications that demonstrate other features.

Xdelta is released under a BSD-style license.  This marks a departure
from previous releases, which were made available under the GNU Public
License.

More information about Xdelta is available at the Xdelta home page:

  http://www.cs.berkeley.edu/~jmacd/xdelta.html

Xdelta is being hosted at SourceForge.  Project administration is
available through the SourceForge web site:

  http://sourceforge.net/project/?group_id=6966

The release is directly available here:

  http://download.sourceforge.net/xdelta/xdelta-2.0-beta1.tar.gz

The aforementioned technical report, my Master's thesis:

  http://www.cs.berkeley.edu/~jmacd/xdfs.ps.gz

A paper by Mihut Ionescu and Matthew Delco describing an HTTP proxy
written using XDFS:

  http://www.cs.pdx.edu/~delco/xproxy.ps.gz

The Berkeley Database is available from Sleepycat Software, Inc.

  http://sleepycat.com

Xdelta is written by Josh MacDonald.  You can reach me by email at
jmacd@cs.berkeley.edu.

-josh

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic