The x-kernel is an object-based framework for implementing network protocols. It defines an interface that protocols use to invoke operations on one another (i.e., to send a message to and receive a message from an adjacent protocol) and a collection of libraries for manipulating messages, participant addresses, events, associative memory tables (maps), threads, and so on.
Over the last several years, the x-kernel has served as a research platform for investigating end-to-end issues related to computer networks. Broadly speaking, our work has focused on the implementation of network software running on the end systems connected to the network, and on the design of the protocols running on those systems. Our work is experimental in nature, meaning that we design, build, and measure systems.
The x-kernel is also used in computer network courses to give students hands-on experience with network protocols. Information about a new textbook that uses the x-kernel to illustrate networking concepts--- Computer Networks: A Systems Approach.
We currently distribute the x-kernel running on a variety of different platforms, as well as a wide collection of network protocols and other related software. To access more information on this software, see the following:
For a summary of the x-kernel-related research we have done over the past several years, see our annotated bibliography. For an introduction to current research projects that are using (or are based upon) the x-kernel, see the following:
To join a mailing list that discusses the xkernel, send an email
containing the line
in the message body to firstname.lastname@example.org
Back to CS Department Home Page.
Larry Peterson, email@example.com