MIGRATE RELEASE 0.4
=====================

These are the release notes for Migrate version 0.4.  Before reading
any further, you should check for more recent versions on the Migrate
web page at:

	http://nms.lcs.mit.edu/migrate/

Migrate is a toolkit for Internet mobility.  This toolkit contains a
library that provides mobility support to dynamically-linked
applications (or apps explicitly linked against it).  It also contains
`migrated', a system daemon that manages session state for
Migrate-enabled applications.  Migrated can interact with network
status monitors such as the included `migmonitord' and the embedded
TCL-based policy engine to automatically suspend or migrate sessions
in response to changing network conditions.


QUICK START:

  For the impatient, there are three basic steps to get up and running:

  First, build and compile the Migrate software (Migrate requires TCL,
  SSL, and TESLA.  Please see the INSTALL file for details).  That
  should be as simple as typing ./configure in this directory.  If
  configure seemed to run without error, make install should do the
  rest.  If either of these steps fails, we'd appreciate it if you'd
  drop us an email letting us know what OS (and version) you're using,
  what the error was, and what (if anything) you did to fix it.

  Once the software is installed, you need to configure your system
  policy.  This is located in /etc/monitor-rules.tcl (or wherever else
  you specified when you ran configure).  An example file is provided;
  read the man page (monitor-rules(5)) for more details.

  Now you're reading to go.  First you need to start up the Migrate 
  system daemon, migrated.  Once again, check the man page, but a 
  good way to start is likely migrated -i.  This will run
  the daemon in interactive mode so you can see what's happening.  Type
  help for a list of commands.

  If you're interested in having the system automagically migrate sessions
  for you, you'll also want to fire up the connectivity monitor,
  migmonitord.  It will check the status of your network
  interfaces (and TCP connections) and notify migrated when something
  goes awry.

  Once those two daemons are running, you're set to go.  All you need
  to do to Migrate-enable your legacy applications is to link them
  against TELSA with the migrate handler.  For dynamically-linked
  programs, that's as simple.  To add migrate support to an existing
  program, say foo, simply type:

	tesla +migrate foo

  That's it--you should be off and running.  When Migrate-enabled
  applications open communication sessions, they will be visible from the
  Migrate daemon (try typing 'sessions').  Remember that both ends of
  the communication session must be migrate enabled to support new
  functionality.


MIGRATE-AWARE APPLICATIONS:

  Applications that wish to make use of the Migrate API must include
  migrate.h, located in the include/ subdirectory.  They further must
  be linked against mighandler.c in the lib/ subdirectory.  The API
  is implemented using TESLA, so the application must also be linked
  against the TESLA library.  This can be done statically or at run
  time using the tesla command line tool as above.

  Applications that do not statically link against TESLA may find the
  migrate_avail() function useful.  migrate_avail() returns a non-zero
  value of TESLA is available and the Migrate handler installed.


DOCUMENTATION:

  Generic installation instructions are included in the `INSTALL' file.

  Migrate requires TCL and the OpenSSL library <http://www.openssl.org>.
  Additionally, the GNU Readline library is required to build an
  interactive version of migrated.  The embedded policy engine requires
  TCL.  

  Documentation will (eventually) be available in the `doc/' directory,
  but is largely non-existent at this point.  The best place to look for
  up-to-date documentation is on the Migrate web page, at the URL above.


CONTACT INFO:

  This is ALPHA software.  We expect there to be lots of bugs and missing
  features.  Please direct any questions, comments, bug reports, or
  cookie recipes to:

	migrate@nms.lcs.mit.edu
