<?xml version="1.0"?>
<!DOCTYPE webpage
PUBLIC "-//NetBSD//DTD Website-based NetBSD Extension//EN"
"http://www.NetBSD.org/XML/htdocs/lang/share/xml/website-netbsd.dtd">

<webpage id="gallery-research">
  <config param="desc" value="Research carried out using NetBSD" />
  <config param="cvstag"
  value="$NetBSD: research.xml,v 1.13 2009/01/24 23:56:50 jschauma Exp $" />
  <config param="rcsdate" value="$Date: 2009/01/24 23:56:50 $" />
  <head>
<!-- Copyright (c) 1994-2005
        The NetBSD Foundation, Inc.  ALL RIGHTS RESERVED. -->
    <title>Research carried out using NetBSD</title>
  </head>
  <sect1 id="intro">
    <table border="0" id="intro-table">
      <tr>
        <td align="left">
          <para>Several groups, organizations, and individuals have
          conducted research or performed demonstrations utilizing
          NetBSD as a vehicle. If you have such material that might
          be appropriate for this section, and would like to make
          it available here, please 
          <ulink url="http://www.NetBSD.org/cgi-bin/feedback.cgi">
          let us know!</ulink>
          </para>
        </td>
        <td align="right" valign="bottom">
          <ulink url="../about/disclaimer.html#bsd-daemon">
            <html:img align="middle" src="../images/BSD-daemon.jpg"
            border="0" width="146" height="129" alt="BSD daemon" />
          </ulink>
        </td>
      </tr>
    </table>
  </sect1>
  <sect1 role="toc">
    <sect2 id="network-oriented">
      <title>Network orientated</title>
      <sect3 id="tcp_sat_nasa">
        <title>TCP in satellite networks (NASA Lewis)</title>
        <para>
        <emphasis role="bold">
          NASA Lewis Research Center - Satellite Networks and
          Architectures Branch
        </emphasis>
        use NetBSD almost exclusively in their investigation of TCP
        for use in satellite networks. They are currently examining
        several proposed modifications to the Transmission Control
        Protocol (TCP) protocol. Extensions are being tested in an
        attempt to improve satellite communication. However, the
        extensions are also being tested in terrestrial
        environments. Among the extensions being tested are
        restransmission mechanisms based on selective
        acknowledgements (e.g., FACK TCP) and TCP with larger
        initial windows. They are currently testing the mechanisms'
        performance benefits and their fairness to other traffic.
        They are also working with the Internet Engineering Task
        Force (IETF)'s TCP Over Satellite and TCP Implementations
        Working Groups.</para>
      </sect3>
      <sect3 id="kame">
        <title>IPv6/IPsec (KAME)</title>
        <para>
        <emphasis role="bold">
          <ulink url="http://www.kame.net/">KAME project</ulink>
        </emphasis>
        . A research group for implementing IPv6, IPsec and other
        recent TCP/IP related technologies into BSD UNIX kernels,
        under BSD license. KAME stack got merged into
        NetBSD-current tree in June 1999.</para>
      </sect3>
      <sect3 id="imk">
        <title>Institute for Media Communication (IMK) Value-added
        Solutions</title>
        <para>
        <emphasis role="bold">
          <ulink url="http://imk.gmd.de/">The Institute for Media
          Communication (IMK)</ulink>
          Value-added Solutions department
        </emphasis>
        . The current set of projects carries out on NetBSD:</para>
        <para>
          <itemizedlist>
            <listitem>
              <emphasis role="bold">Network Access
              Control</emphasis>
              <para>Implementing an access control language which
              is integretated into the ip stack and can be
              configured by the system administrator. This gives
              the system manager fine grained control over who is
              allowed to access the network, at what time, when
              logged in from a remote machine or not, etc...</para>
              <para>Certain users can be prohibited network access
              altogether ('nobody', 'bin', etc...). This reduces
              the risk of abuse on the machines.</para>
            </listitem>
            <listitem>
              <emphasis role="bold">
                <ulink
                url="http://www.isoc.org/isoc/conferences/inet/98/proceedings/6h/6h_1.htm">
                Tunneling</ulink>
              </emphasis>
              <para>Setting up a tunneling server which allows
              users to tunnel insecure protocols (pop3, smtp,
              etc...) through a secure tunnel transparently.</para>
            </listitem>
            <listitem>
              <emphasis role="bold">Spam Protection</emphasis>
              <para>They have developed a tool that protects
              Internet users from receiving unsolicited bulk mail
              (aka spam) and are currently evaluating whether it is
              a feasible solution.</para>
            </listitem>
            <listitem>
              <emphasis role="bold">Sendmail replacement</emphasis>
              <para>They are developing a sendmail-replacement
              which allows an arbitrary number of simultaneous SMTP
              connects with only one process, using asynchronous
              i/o. First beta versions are -substantially- faster
              than sendmail, qmail or any of the other free
              MTAs.</para>
            </listitem>
          </itemizedlist>
        </para>
      </sect3>
      <sect3 id="tcp_vegas">
        <title>TCP Vegas with Live Experiments</title>
        <para>
        <emphasis role="bold">
          <ulink
          url="http://catarina.usc.edu/yaxu/Vegas/Html/vegas.html">
          NetBSD TCP Vegas with Live Experiments</ulink>
        </emphasis>
        . TCP Vegas is an extended slowstart TCP flow control from
        Lawrence Brakmo et al. at the University of Arizona. Prof.
        Peter B. Danzig and his group at usc.edu ported TCP Vegas
        to NetBSD 1.0.</para>
      </sect3>
      <sect3 id="nec-europe">
        <title>NEC Europe Network Laboratories</title>
        <para>
        <ulink url="http://www.neceurope.com">NEC Europe</ulink>
        Ltd. established the Network Laboratories in Heidelberg,
        Germany in 1997, as NEC's third research facility in
        Europe. Research and development functions are integrated
        into the same organization to shorten the time to market of
        cutting-edge network technologies. The laboratories place
        special emphasis on solutions meeting the needs of NEC
        Network's European customers.</para>
        <para>The Heidelberg labs focus on software-oriented
        research and development for the next generation Internet.
        New communication architectures and protocols supporting
        multimedia and mobility over the Internet, together with
        intelligent Internet services, are the core of our work. A
        small market research team continuously analyses market
        trends and market requirements to assure that R&amp;D
        activities address actual market needs.</para>
        <para>NetBSD is used in the Network Laboratories for
        different task in the fields of research and IPv6 network
        operation among other free available BSD systems. The
        availability of NetBSD for different platforms makes it an
        ideal candidate for several activities, like:</para>
        <para>
          <itemizedlist>
            <listitem>running IPv6 routers and services on older
            computer systems, e.g. Sparc systems</listitem>
            <listitem>testing research result in real
            life</listitem>
          </itemizedlist>
        </para>
        <para>The free available sources, the tight coupling of the
        sources to the well documented 4.4 BSD and the use of
        innovative techniques makes NetBSD an excellent software
        research platform.</para>
      </sect3>
      <sect3 id="internet2-landspeed">
        <title>NetBSD sets Internet2 Land Speed World
        Record</title>
        <para>Researchers of the Swedish University Network ( 
        <ulink url="http://www.sunet.se/">SUNET</ulink>
        ) have beaten the Internet2 Land Speed Record using two
        Dell 2650 machines with single 2GHz CPUs running NetBSD 2.0
        Beta. SUNET has transferred around 840 GigaBytes of data in
        less than 30 minutes, using a single IPv4 TCP stream,
        between a host at the 
        <ulink url="http://www.luth.se/eng/">Lule&aring;
        University of Technology</ulink>
        and a host connected to a 
        <ulink url="http://www.sprintlink.net/">Sprint</ulink>
        PoP in San Jose, CA, USA. The achieved speed was 69.073
        Petabit-meters/second. According to the research team,
        NetBSD was chosen 
        <emphasis>"due to the scalability of the TCP
        code"</emphasis>
        .</para>
        <para>More information about this record including the
        NetBSD configuration can be found at: 
        <ulink url="http://proj.sunet.se/LSR2/" />
        </para>
        <para>The website of the Internet2 Land Speed Record
        (I2-LSR) competition is located at: 
        <ulink url="http://lsr.internet2.edu/" />
        </para>
      </sect3>
      <sect3 id="scampi">
	<title>A Scaleable Monitoring Platform for the Internet</title>
	<para><ulink url="http://www.ist-scampi.org/">SCAMPI</ulink>
	is a two-and-a-half-year European project to develop a
	scaleable monitoring platform for the Internet.  It also
	aims to promote the use of monitoring tools for improving
	services and technology.</para>
	<para>The project develops a network adapter, initially at
	10 Gbps speeds, tailored to the needs of monitoring tools.
	This includes development of an open and extensible monitoring
	architecture to support a secure and programmeable shared
	monitoring infrastructure.  It will also investigate the
	technical challenges of developing monitoring systems for
	100 Gbps speeds and beyond.</para>
	<para>The <ulink url="products.html#liberouter">Liberouter
	COMBO6 Card</ulink> is considered to be adopted as a base
	of the SCAMPI hardware monitoring adapter for speeds up to
	10 Gbps.</para>
      </sect3>
    </sect2>
    <sect2 id="other">
      <title>Other</title>
      <sect3 id="uvm">
        <title>The UVM Virtual Memory System</title>
        <para>
        <ulink url="/docs/kernel/uvm.html">UVM</ulink>
        is a new virtual memory system specifically designed to
        provide the I/O and IPC systems with a range of flexible
        data movement mechanisms. Implemented in the NetBSD
        operating system, UVM completely replaces the Mach based
        4.4BSD VM system. In addition to featuring flexible data
        movement mechanisms, UVM also improves virtual memory
        performance over BSD VM in traditional areas such as
        forking and pageout. UVM is implemented entirely within the
        framework of BSD and thus maintains all the features and
        standard parts of the traditional Unix environment that
        programmers have come to expect.</para>
      </sect3>
      <sect3 id="sams-ii">
        <title>Space Acceleration Measurement System II
        (SAMS-II)</title>
        <para>
          <emphasis role="bold">
          <ulink
          url="http://microgravity.grc.nasa.gov/MSD/MSD_htmls/samsII.html">
          SAMS-II Project</ulink>
          - Space Acceleration Measurement System II</emphasis>
        </para>
        <para>NASA will be measuring the microgravity environment
        on the International Space Station using a distributed
        system, consisting of: 
        <itemizedlist>
          <listitem>
            <emphasis role="bold">RTS (Remote Triaxial
            Systems)</emphasis>
            <para>Several PC104 ISA boxes running NetBSD 1.2.1 or
            1.3.2.</para>
          </listitem>
          <listitem>
            <emphasis role="bold">ICU (Interium Control
            Unit</emphasis>
            <para>An IBM ThinkPad 760XD as a temporary main
            box.</para>
          </listitem>
        </itemizedlist>
        The first RTS was scheduled to be delivered in September
        1998, for launch to the space station in Jan. 2000.</para>
        <para>More information can be found in some 
        <ulink
        url="http://mail-index.NetBSD.org/port-i386/1997/12/04/0022.html">
        mail</ulink>
        to the port-i386 mailing list, which also has some more 
        <ulink
        url="http://mail-index.NetBSD.org/port-i386/1997/12/04/0008.html">
        details</ulink>
        on the hardware.</para>
      </sect3>
      <sect3 id="mars">
        <title>Massively-parallel And Real-time Storage</title>
        <para>
          <emphasis role="bold">
            <ulink
            url="http://www.ccrc.wustl.edu/~milind/MediaServers.html">
            Project Massively-parallel And Real-time Storage
            (MARS)</ulink>
          </emphasis>
        </para>
        <para>Cluster based architectures that employ inexpensive
        Personal Computers (PCs) interconnected by high speed
        commodity interconnect have been recognized as a
        cost-effective way of building high performance scalable
        Multimedia-On-Demand (MOD) storage servers. Typically, the
        PCs in these architectures run operating systems such as
        UNIX that have traditionally been optimized for interactive
        computing and lack fast disk-to-network data paths and
        support for guaranteed CPU and storage access. In this work
        we report design, implementation and performance
        measurements of innovative enhancements to 4.4 BSD UNIX
        carried out to rectify these limitations in the context of
        our Massively-parallel And Real-time Storage (MARS)
        project. We have proposed and implemented the following
        enhancements to a 4.4 BSD compliant public domain NetBSD
        UNIX operating system:</para>
        <para>
          <orderedlist>
            <listitem>A new kernel buffer management system called
            Multimedia M-buf (mmbuf) which shortens the data path
            from a storage device to network interface,</listitem>
            <listitem>fair queuing within the SCSI driver for
            equitable resource sharing between real-time and
            non-real-time streams, and</listitem>
            <listitem>integration of these new OS services with a
            CPU scheduling mechanism called Real Time Upcall and a
            software disk striping driver called Concatenated Disk
            (ccd).</listitem>
          </orderedlist>
        </para>
        <para>Our experimental results demonstrate that these
        enhancements provide throughput improvements and QOS
        guarantees on the data path from the disk to
        network.</para>
        <para>There is a paper describing the OS enhancements that
        appeared in IEEE Multimedia98, and there are several papers
        on the "Project MARS-Scalable, Web Based
        Multimedia-On-Demand Servers and Services" of which this
        work was a part:</para>
        <para>
          <ulink
          url="http://www.ccrc.wustl.edu/~milind/MediaServers.html" />
        </para>
      </sect3>
      <sect3 id="callouts">
        <title>New Callout and Timer Facilities</title>
        <para>Research carried out at the Washington University in
        St. Louis: Current BSD kernels (4.4BSD-Lite and
        derivatives) take time proportional to the number of
        outstanding timers (``callouts'') to set or cancel timers.
        This implementation takes constant time to start, stop, and
        maintain timers leading to a highly scalable design that
        can support thousands of outstanding timers without much
        overhead. Unlike the existing implementation, it is
        guaranteed to lock out interrupts only for a small, bounded
        amount of time.</para>
      </sect3>
      <sect3 id="usask-awareness">
        <title>Group Awareness in Distributed Software
        Development</title>
        <para>Open-source software development projects are almost
        always collaborative and distributed. Despite the
        difficulties imposed by distance, these projects have
        managed to produce large, complex, and successful systems.
        However, there is still little known about how open-source
        teams manage their collaboration. In this paper we look at
        one aspect of this issue: how distributed developers
        maintain group awareness. This 
        paper
        aims at analyzing various Open Source projects (NetBSD,
        Apache, Subversion) and analyzing group structure and
        communication.</para>
      </sect3>
      <sect3 id="pooka-checkpointing">
        <title>Using Application-Driven Checkpointing Logic for Hot
        Spare High Availability</title>
        <para>&a.pooka; is investigating the use of
        application-driven checkpointing logic for hot spare high
        availability in 
        <ulink
        url="http://www.cs.hut.fi/~pooka/school/thesis/kantee-appchkpt.pdf">
        this research work</ulink>,
        which was in part presented at 
        <ulink
        url="http://www.eurobsdcon2004.de/uploads/media/EBSD04_36.pdf">
        EuroBSDCon 2004</ulink>.
        </para>
      </sect3>
    </sect2>
  </sect1>
</webpage>


