Diffusion 0.9
=============

Brian Cornell, Jack Lange, and Peter Dinda
Department of Computer Science
Northwestern University

Copyright (c) 2002 by Brian Cornell, Jack Lange, and Peter Dinda

{cornell, jrl829, pdinda}@cs.northwestern.edu

http://www.cs.northwestern.edu/~plab/Diffusion


Description
-----------

This is an implementation of Diffusion within the Linux kernel and a
set of tools for using it.  Diffusion is a set of techniques for
piggybacking additional information on top of existing packet
transfers, creating new zero cost communication channels.

The included file, techreport.pdf, includes a detailed description of
this implementation and how to build and use it.  You may cite that
report as:

B. Cornell, J. Lange, and P. Dinda, "An Implementation Of Diffusion in
the Linux Kernel", Technical Report NWU-CS-02-12, Department of
Computer Science, Northwestern University.

The Diffusion concept itself is described in the following paper:

P. Dinda, "Exploiting Packet Header Redundancy for Zero Cost
Dissemination of Dynamic Resource Information", Proceedings of the 6th
Workshop on Languages, Compilers, and Run-time Systems for Scalable
Computers (LCR 2002), Washington, DC, 2002.


Licensing
---------

Please see the included file LICENSE.


Contents
--------

README          This file
LICENSE         Licensing information
techreport.pdf  Detailed documentation

Makefile        Makefile for Diffusion kernel modules and patch
ipdpatch        Kernel patch for Diffusion
ipdrecv.c       Diffusion receive kernel module
ipdsend.c       Diffusion send kernel module

lib             C interface

SpyTalk         Interactive and batch communications  built
                on top of Diffusion

loadbanner      Host load dissemination server and client
