@TechReport{Dartmouth:TR2000-362,
author = {Chris Bailey-Kellogg and John J. Kelley and Clifford Stein and Bruce Randall Donald},
title = {{Reducing Mass Degeneracy in SAR by MS by Stable Isotopic Labeling}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-362},
year = {2000},
month = {February},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-362.ps.Z},
comment = {
This report supercedes TR99-359.
To appear in the 8th
International Conference on Intelligent Systems for Molecular Biology,
(August 20-23, 2000) La Jolla, CA (Accepted; in press).
},
abstract = {
Mass spectrometry (MS) promises to be an invaluable tool for
functional genomics, by supporting low-cost, high-throughput
experiments. However, large-scale MS faces the potential problem of
mass degeneracy -- indistinguishable masses for multiple
biopolymer fragments (e.g. from a limited proteolytic digest). This
paper studies the tasks of planning and interpreting MS experiments
that use selective isotopic labeling, thereby substantially reducing
potential mass degeneracy. Our algorithms support an
experimental-computational protocol called Structure-Activity
Relation by Mass Spectrometry (SAR by MS), for elucidating the
function of protein-DNA and protein-protein complexes. SAR by MS
enzymatically cleaves a crosslinked complex and analyzes the resulting
mass spectrum for mass peaks of hypothesized fragments. Depending on
binding mode, some cleavage sites will be shielded; the absence of
anticipated peaks implicates corresponding fragments as either part of
the interaction region or inaccessible due to conformational change
upon binding. Thus different mass spectra provide evidence for
different structure-activity relations. We address combinatorial and
algorithmic questions in the areas of data analysis
(constraining binding mode based on mass signature) and
experiment planning (determining an isotopic labeling strategy to
reduce mass degeneracy and aid data analysis). We explore the
computational complexity of these problems, obtaining upper and lower
bounds. We report experimental results from implementations of our
algorithms.
}
}
@TechReport{Dartmouth:TR2000-363,
author = {Jon Howell and David Kotz},
title = {{A Formal Semantics for SPKI}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-363},
year = {2000},
month = {March},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-363.ps.Z},
comment = {
This TR supercedes TR1999-361.
This technical report is an extended version of a paper submitted to
ESORICS 2000.
For more information, see the project web page.
},
abstract = {
We extend the logic and semantics of authorization due to
Abadi, Lampson, et al. to support restricted delegation.
Our formal model provides a simple interpretation for the variety of
constructs in the Simple Public Key Infrastructure (SPKI), and
lends intuition about possible extensions. We discuss both extensions
that our semantics supports and extensions that it cautions against.
}
}
@TechReport{Dartmouth:TR2000-364,
author = {Jon Howell and Keith Kotay},
title = {{Landmarks for absolute localization}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-364},
year = {2000},
month = {March},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-364.ps.Z},
comment = {
This document describes work done in the Dartmouth Robotics Laboratory
in April of 1997 and August of 1999. It was previously ``published'' as
a web page, but we thought it would make sense to document it more
permanently.
},
abstract = {
For certain experiments in mobile robotics, it is convenient to eliminate
positional estimation error in the interest of analyzing other parts of
the experiment. We designed and implemented a simple, accurate scheme
for encoding and recovering absolute position information. The encoding
is a two-dimensional image printed on the plane of the floor, and the
absolute position information is recovered using a downward-looking
video camera mounted on a mobile robot.
}
}
@TechReport{Dartmouth:TR2000-365,
author = {Robert S. Gray and David Kotz and George Cybenko and Daniela Rus},
title = {{Mobile Agents: Motivations and State-of-the-Art Systems}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-365},
year = {2000},
month = {April},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-365.ps.Z},
comment = {
This technical report will appear as a chapter in Jeffrey M. Bradshaw,
editor, Handbook of Agent Technology, AAAI/MIT Press, 2000. In Press.
},
abstract = {
A mobile agent is an executing program that can migrate, at times of its
own choosing, from machine to machine in a heterogeneous network. On
each machine, the agent interacts with stationary service agents and
other resources to accomplish its task. In this chapter, we first make
the case for mobile agents, discussing six strengths of mobile agents
and the applications that benefit from these strengths. Although none of
these strengths are unique to mobile agents, no
competing technique shares all six. In other words, a mobile-agent
system provides a single general framework in which a wide range of
distributed applications can be implemented efficiently and easily.
We then present a representative cross-section of current mobile-agent
systems.
}
}
@TechReport{Dartmouth:TR2000-366,
author = {David Kotz and Guofei Jiang and Robert S. Gray and George Cybenko and Ronald A. Peterson},
title = {{Performance Analysis of Mobile Agents for Filtering Data Streams on Wireless Networks}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-366},
year = {2000},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-366.ps.Z},
comment = {
In August 2000 a revised version appeared in the International
Workshop on Modeling and Simulation of Wireless and Mobile Systems
(MSWiM 2000). In October 2000 a further revised version appeared as
Dartmouth Technical Report TR2000-377, and was submitted to the
journal Mobile Networks and Applications (ACM MONET).
},
abstract = {
Wireless networks are an ideal environment for mobile agents, because
their mobility allows them to move across an unreliable link to reside
on a wired host, next to or closer to the resources they need to use.
Furthermore, client-specific data transformations can be moved across
the wireless link, and run on a wired gateway server, with the goal of
reducing bandwidth demands. In this paper we examine the tradeoffs
faced when deciding whether to use mobile agents to support a
data-filtering application, in which numerous wireless clients filter
information from a large data stream arriving across the wired
network. We develop an analytical model and use parameters from our
own experiments to explore the model's implications.
}
}
@TechReport{Dartmouth:TR2000-367,
author = {Cliff Stein and David P. Wagner},
title = {{Approximation Algorithms for the Minimum Bends Traveling Salesman Problem}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-367},
year = {2000},
month = {April},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-367.ps.Z},
comment = {
Submitted to FOCS 2000.
},
abstract = {
The problem of traversing a set of points in the order that minimizes
the total distance traveled (traveling salesman problem) is one of
the most famous and well-studied problems in combinatorial
optimization. It has many applications, and has been a testbed for
many of the must useful ideas in algorithm design and analysis. The
usual metric, minimizing the total distance traveled, is an important
one, but many other metrics are of interest.
In this paper, we introduce the metric of minimizing the number of
turns in the tour, given that the input points are in the Euclidean
plane. To our knowledge this metric has not been studied previously.
It is motivated by applications in robotics and in the movement of
other heavy machinery: for many such devices turning is an expensive
operation. We give approximation algorithms for several variants
of the traveling salesman problem for which the metric is to minimize
the number of turns. We call this the minimum bends traveling salesman
problem.
For the case of an arbitrary set of $n$ points in the
Euclidean plane, we give an O(lg z)-approximation algorithm, where
z is the maximum number of collinear points. In the worst case z
can be as big as n, but z will often be much smaller. For the case
when the lines are restricted to being either horizontal or vertical,
we give a 2-approximation algorithm. If we have the further
restriction that no two points are allowed to have the same x- or
y-coordinate, we give an algorithm that finds a tour which makes at
most two turns more than the optimal tour. Thus we have an
approximation algorithm with an additive, rather than a multiplicative
error bound. Beyond the additive error bound, our algorithm for this
problem introduces several interesting algorithmic techniques for
decomposing sets of points in the Euclidean plane that we believe
to be of independent interest.
}
}
@TechReport{Dartmouth:TR2000-368,
author = {Eric Michael Greenberg},
title = {{A Simulation of Auroral Absorption}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-368},
year = {2000},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-368.pdf},
comment = {
Advisor: Dan Rockmore
},
abstract = {
HF radio transmissions propagate long distances by reflecting off the ionosphere. At high latitudes radio propagation is strongly affected by the northern lights (aurora borealis), which causes ionization at low altitudes and hence the absorption of radio waves. Models of this process are still in a primitive state. A simulation of radio wave propagation was created in order to test Foppiano and Bradley's empirical model of auroral absorption. The simulation attempts to predict the net absorption of signals at a receiver by simulating a large number of transmitters, even though the exact sources of the signals are unknown. Although the simulation takes into account auroral and nonauroral absorption as well as other sources of path loss, the analysis focuses on the nighttime aurora. An intelligent search algorithm is used in order to efficiently adjust the model to best fit the data. The output of the simulation is qualitatively and quantitatively compared to signal levels observed with HF radio receivers located in northern Canada. The analysis allows us to develop alternative models of auroral absorption which account for the level of geomagnetic activity, and these are compared to the standard Foppiano and Bradley model.
}
}
@TechReport{Dartmouth:TR2000-369,
author = {Karolyn A. Abram},
title = {{Registration of Images with Dissimilar Contrast using a Hybrid Method Employing Correlation and Mutual Information}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-369},
year = {2000},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-369.ps.Z},
comment = {
Undergraduate Honors Thesis
Advisor: Daniel N. Rockmore
},
abstract = {
The problem of fitting one image into another is commonly
called "registration." Finding the best possible translation and rotation
necessary to align two images is one approach to solving this problem.
Registration is a crucial component of many remote sensing and medical
image interpretation applications. Image alignment techniques aid in
volumetric estimations of complicated structures and allow
radiologists to accurately identify changes between sequential images.
Radiologists require image alignment capabilities to correct for
patient motion and/or content displacement between images.
Numerous image registration techniques exist for correcting the
alignment problems mentioned above. Unfortunately, most of these
techniques, such as Correlation, fail to find a good alignment when
dealing with images that differ in contrast. The Mutual Information
method is able to align images independently of contrast, but it is
computationally intensive. We explore a hybrid technique that
utilizes both Correlation and Mutual Information. The Hybrid
technique hopes to gain greater contrast independence than Correlation
alone while achieving a lower running time than a pure Mutual
Information technique.
}
}
@TechReport{Dartmouth:TR2000-370,
author = {Debbie O. Chyi},
title = {{An Infrastructure for a Mobile-Agent System that Provides Personalized Services to Mobile Devices}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-370},
year = {2000},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-370.ps.Z},
comment = {
Undergraduate Honors Thesis.
Advisor: David F. Kotz
},
abstract = {
In this paper, we present the design of a mobile-agent system
that provides a mobile user with a personalized information retrieval
service and we describe the implementation of the infrastructure for
such a system. This "Personal Agent System" gathers information from
the Internet and uses context-aware mechanisms to manage the
information according to a mobile user's needs and preferences. The
user's schedule and location are the context indicators in this
system. These indicators are critical in ensuring that users obtain
only the information they want, receive information in a form that is
most useful for viewing on their mobile device, and is notified of
new information in a minimally intrusive manner. The system
incorporates a rule-based learning system to enhance the
personalization achieved by the system.
}
}
@TechReport{Dartmouth:TR2000-372,
author = {John C. Artz},
title = {{Personal Radio}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-372},
year = {2000},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-372.ps.Z},
comment = {
Undergraduate Honors Thesis.
Advisors: David Kotz and Daniela Rus
},
abstract = {
With the development of new technologies that allow the broadcast of
digital data over radio signals, there are many possibilities for
improving upon the traditional radio station model for content
delivery. The idea of Personal Radio is a system that tailors content
to meet the needs of each individual. Using Global Positioning System
(GPS) technology to play location specific content, the listening
history to play content an appropriate number of times, and user
feedback to learn personal preferences, the Personal Radio provides
the listener with the content that is the most useful/interesting to
them. This paper will examine the general design of such a system and
present solutions developed in the implementation of several pieces
of the design.
}
}
@TechReport{Dartmouth:TR2000-373,
author = {David B. Martin},
title = {{Depth from Flash}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-373},
year = {2000},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-373.ps.Z},
comment = {
Undergraduate Honors Thesis.
Advisor: Hany Farid
},
abstract = {
Digital camera technology has recently seen substantial
improvements in image quality while lower prices have made
it affordable to the average consumer. Camera manufacturers,
however, are not taking full advantage of this new medium
for image capture. By filtering the already digitized image
produced by these cameras through on-board image processing
algorithms we can dramatically increase the power of digital
cameras. For example, according to experts in the
photographic industry, most people simply take bad
pictures. Classic examples of this phenomenon are
photographs taken indoors with a point-and-shoot style
camera using its built-in flash. The subjects of these
photographs often seem to have a spotlight on them, making
them look bright and washed out while the rest of the
photograph is dark and indistinct. This can primarily be
accounted for by a well known property of point light
sources: falloff in brightness is inversely proportional to
the square of the distance between the light and the object
being illuminated. A technique first introduced in the field
of computer vision has been shown to successfully recover
information about the distance between the light source and
objects in the world. We propose using this technique, which
is readily implementable in hardware, to correct for a
variety of poorly illuminated digital images.
}
}
@TechReport{Dartmouth:TR2000-375,
author = {Ezra E. K. Cooper and Robert S. Gray},
title = {{An Economic CPU-Time Market for D'Agents}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-375},
year = {2000},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-375.ps.Z},
comment = {
Undergraduate honors thesis.
Advisor: Bob Gray.
},
abstract = {
A usable and efficient resource-management system has been created for
use with D'Agents. The software dynamically negotiates a price rate for
CPU time, using the competitive bids of mobile agents that offer
currency in return for fast computation. The system allows mobile agents
to plan their expenditures across many hosts while minimizing the time
needed for their tasks. The ability to price CPU time opens the door for
service owners to be compensated for the computation consumed by agents and
provides an incentive for servers to allow anonymous agents. We
discuss the theoretical background which makes a CPU market system
possible and the performance of the D'Agents market system.
}
}
@TechReport{Dartmouth:TR2000-376,
author = {Martin Mundhenk},
title = {{The complexity of planning with partially-observable Markov decision processes}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-376},
year = {2000},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-376.ps.Z},
abstract = {
This work surveys results on the complexity of planning under
uncertainty. The planning model considered is the partially-observable
Markov decision process. The general planning problems are,
given such a process,
(a) to calculate its performance under a given control policy,
(b) to find an optimal or approximate optimal control policy, and
(c) to decide whether a good policy exists.
The complexity of this and related problems
depend on a variety of factors,
including the observability of the process state,
the compactness of the process representation,
the type of policy, or
even the number of actions relative to the number of states.
In most cases, the problem can be shown to be
complete for some known complexity class.
The skeleton of this survey are results from
Littman, Goldsmith and Mundhenk (Journal of Artificial Intelligence
Research 1998), Mundhenk (Mathematics of Operations Research 2000),
Mundhenk, Goldsmith, Lusena and Allender (Journal of the ACM 2000),
and Lusena, Goldsmith and Mundhenk (University of KY CS TR).
But there are also some news.
}
}
@TechReport{Dartmouth:TR2000-377,
author = {David Kotz and George Cybenko and Robert S. Gray and Guofei Jiang and Ronald A. Peterson and Martin O. Hofmann and Daria A. Chacon and Kenneth R. Whitebread and James Hendler},
title = {{Performance Analysis of Mobile Agents for Filtering Data Streams on Wireless Networks}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-377},
year = {2000},
month = {October},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-377.ps.Z},
comment = {
Updated version of TR2000-366. To appear, after revisions, in the journal
Mobile Networks and Applications (ACM MONET).
},
abstract = {
Wireless networks are an ideal environment for mobile agents, since their
mobility allows them to move across an unreliable link to reside on a wired
host, next to or closer to the resources that they need to use. Furthermore,
client-specific data transformations can be moved across the wireless link and
run on a wired gateway server, reducing bandwidth demands. In
this paper we examine the tradeoffs faced when deciding whether to use mobile
agents in a data-filtering application where numerous wireless clients filter
information from a large data stream arriving across the wired network. We
develop an analytical model and use parameters from filtering experiments
conducted during a U.S. Navy Fleet Battle Experiment (FBE) to explore the
model's implications.
}
}
@TechReport{Dartmouth:TR2000-378,
author = {Jon Howell},
title = {{Naming and sharing resources across administrative boundaries (Volume I)}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-378},
year = {2000},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-378.ps.Z},
comment = {
This technical report represents Volume One of the dissertation. Volume
One (187 pages) is the heart of the dissertation. Volume Two (237
pages) contains a software manual introduced with illustrated code
fragments, plus plots of the raw data used for the experimental
results presented in Volume One. That material is optional; I
recommend that the interested reader begin with just Volume One.
Volume II is available as TR2000-379.
Please note that a list of errata is available as TR2000-380.
},
abstract = {
I tackle the problem of naming and sharing resources across
administrative boundaries. Conventional systems manifest the hierarchy
of typical administrative structure in the structure of their own
mechanism. While natural for communication that follows hierarchical
patterns, such systems interfere with naming and sharing that cross
administrative boundaries, and therefore cause headaches for both users
and administrators. I propose to organize resource naming and
security, not around administrative domains, but around the sharing
patterns of users.
The dissertation is organized into four main parts. First, I discuss
the challenges and tradeoffs involved in naming resources and consider
a variety of existing approaches to naming.
Second, I consider the architectural requirements for user-centric
sharing. I evaluate existing systems with respect to these
requirements.
Third, to support the sharing architecture, I develop a formal logic of
sharing that captures the notion of restricted delegation. Restricted
delegation ensures that users can use the same mechanisms to share
resources consistently, regardless of the origin of the resource, or
with whom the user wishes to share the resource next. A formal
semantics gives unambiguous meaning to the logic. I apply the
formalism to the Simple Public Key Infrastructure and discuss how the
formalism either supports or discourages potential extensions to such a
system.
Finally, I use the formalism to drive a user-centric sharing
implementation for distributed systems. I show how this implementation
enables end-to-end authorization, a feature that makes heterogeneous
distributed systems more secure and easier to audit. Conventionally,
gateway services that bridge administrative domains, add abstraction,
or translate protocols typically impede the flow of authorization
information from client to server. In contrast, end-to-end
authorization enables us to build gateway services that preserve
authorization information, hence we reduce the size of the trusted
computing base and enable more effective auditing. I demonstrate my
implementation and show how it enables end-to-end authorization across
various boundaries. I measure my implementation and argue that its
performance tracks that of similar authorization mechanisms without
end-to-end structure.
I conclude that my user-centric philosophy of naming and sharing
benefits both users and administrators.
}
}
@TechReport{Dartmouth:TR2000-379,
author = {Jon Howell},
title = {{Naming and sharing resources across administrative boundaries (Volume II)}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-379},
year = {2000},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-379.ps.Z},
comment = {
This technical report represents Volume Two of the dissertation. Volume
One (187 pages) is the heart of the dissertation. Volume Two (237
pages) contains a software manual introduced with illustrated code
fragments, plus plots of the raw data used for the experimental
results presented in Volume One. That material is optional; I
recommend that the interested reader begin with just Volume One.
Volume I is available as TR2000-378.
Please note that a list of errata is available as TR2000-380.
},
abstract = {
I tackle the problem of naming and sharing resources across
administrative boundaries. Conventional systems manifest the hierarchy
of typical administrative structure in the structure of their own
mechanism. While natural for communication that follows hierarchical
patterns, such systems interfere with naming and sharing that cross
administrative boundaries, and therefore cause headaches for both users
and administrators. I propose to organize resource naming and
security, not around administrative domains, but around the sharing
patterns of users.
The dissertation is organized into four main parts. First, I discuss
the challenges and tradeoffs involved in naming resources and consider
a variety of existing approaches to naming.
Second, I consider the architectural requirements for user-centric
sharing. I evaluate existing systems with respect to these
requirements.
Third, to support the sharing architecture, I develop a formal logic of
sharing that captures the notion of restricted delegation. Restricted
delegation ensures that users can use the same mechanisms to share
resources consistently, regardless of the origin of the resource, or
with whom the user wishes to share the resource next. A formal
semantics gives unambiguous meaning to the logic. I apply the
formalism to the Simple Public Key Infrastructure and discuss how the
formalism either supports or discourages potential extensions to such a
system.
Finally, I use the formalism to drive a user-centric sharing
implementation for distributed systems. I show how this implementation
enables end-to-end authorization, a feature that makes heterogeneous
distributed systems more secure and easier to audit. Conventionally,
gateway services that bridge administrative domains, add abstraction,
or translate protocols typically impede the flow of authorization
information from client to server. In contrast, end-to-end
authorization enables us to build gateway services that preserve
authorization information, hence we reduce the size of the trusted
computing base and enable more effective auditing. I demonstrate my
implementation and show how it enables end-to-end authorization across
various boundaries. I measure my implementation and argue that its
performance tracks that of similar authorization mechanisms without
end-to-end structure.
I conclude that my user-centric philosophy of naming and sharing
benefits both users and administrators.
}
}
@TechReport{Dartmouth:TR2000-380,
author = {Jon Howell},
title = {{Naming and sharing resources across administrative boundaries (errata)}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-380},
year = {2000},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-380.ps.Z},
comment = {
This technical report contains errata for the dissertation. Volume
One (187 pages) is the heart of the dissertation. Volume Two (237
pages) contains a software manual introduced with illustrated code
fragments, plus plots of the raw data used for the experimental
results presented in Volume One. That material is optional; I
recommend that the interested reader begin with just Volume One.
Volume I is available as TR2000-378.
Volume II is available as TR2000-379.
},
abstract = {
I tackle the problem of naming and sharing resources across
administrative boundaries. Conventional systems manifest the hierarchy
of typical administrative structure in the structure of their own
mechanism. While natural for communication that follows hierarchical
patterns, such systems interfere with naming and sharing that cross
administrative boundaries, and therefore cause headaches for both users
and administrators. I propose to organize resource naming and
security, not around administrative domains, but around the sharing
patterns of users.
The dissertation is organized into four main parts. First, I discuss
the challenges and tradeoffs involved in naming resources and consider
a variety of existing approaches to naming.
Second, I consider the architectural requirements for user-centric
sharing. I evaluate existing systems with respect to these
requirements.
Third, to support the sharing architecture, I develop a formal logic of
sharing that captures the notion of restricted delegation. Restricted
delegation ensures that users can use the same mechanisms to share
resources consistently, regardless of the origin of the resource, or
with whom the user wishes to share the resource next. A formal
semantics gives unambiguous meaning to the logic. I apply the
formalism to the Simple Public Key Infrastructure and discuss how the
formalism either supports or discourages potential extensions to such a
system.
Finally, I use the formalism to drive a user-centric sharing
implementation for distributed systems. I show how this implementation
enables end-to-end authorization, a feature that makes heterogeneous
distributed systems more secure and easier to audit. Conventionally,
gateway services that bridge administrative domains, add abstraction,
or translate protocols typically impede the flow of authorization
information from client to server. In contrast, end-to-end
authorization enables us to build gateway services that preserve
authorization information, hence we reduce the size of the trusted
computing base and enable more effective auditing. I demonstrate my
implementation and show how it enables end-to-end authorization across
various boundaries. I measure my implementation and argue that its
performance tracks that of similar authorization mechanisms without
end-to-end structure.
I conclude that my user-centric philosophy of naming and sharing
benefits both users and administrators.
}
}
@TechReport{Dartmouth:TR2000-381,
author = {Guanling Chen and David Kotz},
title = {{A Survey of Context-Aware Mobile Computing Research}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-381},
year = {2000},
month = {November},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-381.ps.Z},
abstract = {
Context-aware computing is a mobile computing paradigm in which
applications can discover and take advantage of contextual information
(such as user location, time of day, nearby people and devices, and
user activity). Since it was proposed about a decade ago, many
researchers have studied this topic and built several context-aware
applications to demonstrate the usefulness of this new
technology. Context-aware applications (or the system infrastructure
to support them), however, have never been widely available to
everyday users. In this survey of research on context-aware systems
and applications, we looked in depth at the types of context used and
models of context information, at systems that support collecting and
disseminating context, and at applications that adapt to the changing
context. Through this survey, it is clear that context-aware research
is an old but rich area for research. The difficulties and possible
solutions we outline serve as guidance for researchers hoping to make
context-aware computing a reality.
}
}
@TechReport{Dartmouth:TR2000-382,
author = {Javed A. Aslam and Mark Montague},
title = {{Bayes Optimal Metasearch: A Probabilistic Model for Combining the Results of Multiple Retrieval Systems}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-382},
year = {2000},
month = {December},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-382.ps.Z},
comment = {
Preliminary version appeared in SIGIR 2000.
},
abstract = {
We introduce a new, probabilistic model for combining the outputs of
an arbitrary number of query retrieval systems. By gathering simple
statistics on the average performance of a given set of query
retrieval systems, we construct a Bayes optimal mechanism for
combining the outputs of these systems. Our construction yields a
metasearch strategy whose empirical performance nearly always
exceeds the performance of any of the constituent systems. Our
construction is also robust in the sense that if ``good'' and
``bad'' systems are combined, the performance of the composite is
still on par with, or exceeds, that of the best constituent system.
Finally, our model and theory provide theoretical and empirical
avenues for the improvement of this metasearch strategy.
}
}
@TechReport{Dartmouth:TR2000-383,
author = {Hany Farid},
title = {{Reconstructing Ancient Egyptian Tombs}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2000-383},
year = {2000},
month = {December},
URL = {http://www.cs.dartmouth.edu/reports/TR2000-383.ps.Z},
abstract = {
From the pyramids of Giza to the tombs of Thebes (modern Luxor),
ancient Egypt's glorious history has produced remarkable architecture.
Sadly, the nearly four million yearly tourists have taken a heavy toll
on many of these ancient structures. Of particular concern are many
of the tombs located opposite to Luxor on the western bank of the
Nile. Digital reconstruction of these tombs has the potential to help
document and preserve these important historical structures.
Photographing and reconstruction of these tombs poses new and unique
problems that this paper begins to address. Techniques for removing
image distortions, recovering 3-D shape, and correcting for lighting
imbalances are discussed. A complete reconstruction of the tomb of
Sennedjem is shown.
}
}
@TechReport{Dartmouth:TR2001-384,
author = {Chris Bailey-Kellogg and Naren Ramakrishnan},
title = {{Ambiguity-Directed Sampling for Qualitative Analysis of Sparse Data from Spatially-Distributed Physical Systems}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-384},
year = {2001},
month = {January},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-384.ps.Z},
abstract = {
A number of important scientific and engineering applications, such as
fluid dynamics simulation and aircraft design, require analysis of
spatially-distributed data from expensive experiments and complex
simulations. In such data-scarce applications, it is advantageous to
use models of given sparse data to identify promising regions for
additional data collection. This paper presents a principled
mechanism for applying domain-specific knowledge to design focused
sampling strategies. In particular, our approach uses ambiguities
identified in a multi-level qualitative analysis of sparse data to
guide iterative data collection. Two case studies demonstrate that
this approach leads to highly effective sampling decisions that are
also explainable in terms of problem structures and domain knowledge.
}
}
@TechReport{Dartmouth:TR2001-385,
author = {Xiaowen Liu and David M. Nicol and King Tan},
title = {{Lock-free Scheduling of Logical Processes in Parallel Simulation}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-385},
year = {2001},
month = {January},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-385.ps.Z},
comment = {
A revision of this report appears on PADS 2001.
},
abstract = {
With fixed lookahead information in a simulation model, the overhead
of asynchronous conservative parallel simulation lies in the mechanism
used for propagating time updates in order for logical processes to
safely advance their local simulation clocks. Studies have shown that
a good scheduling algorithm should preferentially schedule processes
containing events on the critical path. This paper introduces a
lock-free algorithm for scheduling logical processes in conservative
parallel discrete-event simulation on shared-memory multiprocessor
machines. The algorithm uses fetch\&add operations that help avoid
inefficiencies associated with using locks. The lock-free algorithm is
robust. Experiments show that, compared with the scheduling algorithm
using locks, the lock-free algorithm exhibits better performance when
the number of logical processes assigned to each processor is small or
when the workload becomes significant. In models with large number of
logical processes, our algorithm shows only modest increase in
execution time due to the overhead in the algorithm for extra
bookkeeping.
}
}
@TechReport{Dartmouth:TR2001-386,
author = {Robert S. Gray and David Kotz and Ronald A. Peterson and Peter Gerken and Martin Hofmann and Daria Chacon and Greg Hill and Niranjan Suri},
title = {{Mobile-Agent versus Client/Server Performance: Scalability in an Information-Retrieval Task}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-386},
year = {2001},
month = {January},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-386.ps.Z},
comment = {
Revised version appeared in Mobile Agents 2001.
See here.
},
abstract = {
Mobile agents are programs that can jump from host
to host in the network, at times and to places of
their own choosing. Many groups have developed
mobile-agent software platforms, and several
mobile-agent applications. Experiments show that
mobile agents can, among other things, lead to
faster applications, reduced bandwidth demands, or
less dependence on a reliable network
connection. There are few if any studies of the
scalability of mobile-agent servers, particularly as
the number of clients grows. We present some recent
performance and scalability experiments that compare
three mobile-agent platforms with each other and
with a traditional client/server approach. The
experiments show that mobile agents often outperform
client/server solutions, but also demonstrate the
deep interaction between environmental and
application parameters. The three mobile-agent
platforms have similar behavior but their absolute
performance varies with underlying implementation
choices.
}
}
@TechReport{Dartmouth:TR2001-387,
author = {Javed A. Aslam},
title = {{A simple bound on the expected height of a randomly built binary search tree}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-387},
year = {2001},
month = {Sometime},
comment = {
Abstract and paper lost.
},
}
@TechReport{Dartmouth:TR2001-388,
author = {Michael F. Ringenburg},
title = {{Applying the Vector Radix Method to Multidimensional, Multiprocessor, Out-of-Core Fast Fourier Transforms}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-388},
year = {2001},
month = {March},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-388.ps.Z},
comment = {
Masters Thesis. Advisor: Tom Cormen.
},
abstract = {
We describe an efficient algorithm for calculating Fast Fourier
Transforms on matrices of arbitrarily high dimension using the
vector-radix method when the problem size is out-of-core (i.e.,
when the size of the data set is larger than the total available
memory of the system). The algorithm takes advantage of multiple
processors when they are present, but it is also efficient on single-processor
systems. Our work is an extension of work done by Lauren Baptist in
[Bapt99], which applied the vector-radix method to 2-dimensional
out-of-core matrices.
To determine the effectiveness of the algorithm, we present
empirical results as well as an analysis of the I/O, communication,
and computational complexity. We perform the empirical tests on
a DEC 2100 server and on a cluster of Pentium-based Linux
workstations. We compare our results with the traditional
dimensional method of calculating multidimensional FFTs, and show
that as the number of dimensions increases, the vector-radix-based
algorithm becomes increasingly effective relative to the dimensional
method.
In order to calculate the complexity of the algorithm, it was
necessary to develop a method for analyzing the interprocessor
communication costs of the BMMC data-permutation algorithm
(presented in [CSW98]) used by our FFT algorithms. We present
this analysis method and show how it was derived.
}
}
@TechReport{Dartmouth:TR2001-389,
author = {Thomas B. Stephens},
title = {{Improving a Brokering System for Linking Distributed Simulations}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-389},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-389.ps.Z},
comment = {
Senior Honors Thesis. Advisor: Linda F. Wilson.
},
abstract = {
The Agent Based Environment for Linking Simulations (ABELS)
is a software framework designed to provide disparate simulations
with dynamically updated data sources. It allows simulations and
other agents to join a "cloud" of interacting producers and consumers
of data. Once they have joined the cloud, they can publish services
to other members and use methods published by others. This paper
presents the initial design of a set of matchmaking components for
the ABELS framework. These components dictate how services describe
their abilities and requirements to ABELS. Furthermore, they help
ABELS successfully match data producing services to the requests of
data consuming clients.
We begin by describing a system for a data producing service
to describe itself to the ABELS cloud, as well as a corresponding
system for a data consumer to describe its needs. We then describe
in detail the three components that make up the ABELS matchmaking
system: the match ranker, which ranks a data producer's ability to
fill the request of a data consumer; the thesaurus, which helps the
match ranker recognize closely related terms; and the unit database,
which allows participants in the ABELS system to translate between
related data units. We also discuss how these basic components can
be built upon and improved in future versions of the ABELS framework.
}
}
@TechReport{Dartmouth:TR2001-390,
author = {G. Ayorkor Mills-Tettey},
title = {{Mobile Voice Over IP (MVOIP): An Application-level Protocol}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-390},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-390.ps.Z},
comment = {
Senior Honors Thesis. Advisor: David Kotz.
},
abstract = {
Current Voice over Internet Protocol (VOIP) protocols require
participating hosts to have fixed IP addresses for the duration of a
VOIP call. When using a wireless-enabled host, such as a tablet
computer on an 802.11 wireless network, it is possible for a
participant in a VOIP call to roam around the network, moving from
one subnet to another and needing to change IP addresses. This
address change creates the need for mobility support in VOIP
applications.
We present the design of Mobile Voice over IP (MVOIP), an
application-level protocol that enables such mobility in a VOIP
application based on the ITU H.323 protocol stack. An MVOIP
application uses hints from the surrounding network to determine that
it has switched subnets. It then initiates a hand-off procedure that
comprises pausing its current calls, obtaining a valid IP address for
the current subnet, and reconnecting to the remote party with whom it
was in a call. Testing the system shows that on a Windows 2000
platform there is a perceivable delay in the hand-off process, most
of which is spent in the Windows API for obtaining DHCP addresses.
Despite this bottleneck, MVOIP works well on a wireless network.
}
}
@TechReport{Dartmouth:TR2001-391,
author = {Ammar Khalid},
title = {{A Directory Infrastructure to Support Mobile Services}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-391},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-391.ps.Z},
comment = {
Senior Honors Thesis. Advisor: David Kotz.
},
abstract = {
Traditional Voice-over-IP applications such as Microsoft NetMeeting
assume that the user is on a machine with a fixed IP address. If,
however, the user connects to the Internet, via a wireless network,
on a handheld device, his IP address frequently changes as he moves
from one subnet to another. In such a situation, we need a service
that can be queried for the most current IP address of a person whom
we wish to contact. In this project, we design and implement such a
directory service. The service authenticates all callers and callees,
is robust against most host failure, and scales to several thousand
registered users.
}
}
@TechReport{Dartmouth:TR2001-392,
author = {Arun Mathias},
title = {{SmartReminder: A Case Study on Context-Sensitive Applications}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-392},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-392.ps.Z},
comment = {
Senior Honors Thesis. Advisor: David Kotz.
},
abstract = {
Designing context-sensitive applications is challenging. We design
and implement SmartReminder to explore designing context-sensitive
applications and to demonstrate how the SOLAR system can be used
in developing such applications. SmartReminder is an application
that reminds the user based on contextual information. Current
appointment-reminder applications remind the user about their
appointments at an arbitrarily specified time. For instance, they
might remind the user ten minutes before each appointment.
SmartReminder, on the other hand, uses contextual information,
like location, to better estimate the appropriate reminder time
for each appointment. It reminds the user based on where they are,
where they need to be, and how long it will take them to get
there. This paper presents SmartReminder as an illustration of how
context-sensitive applications can be designed using the SOLAR
system for dissemination of contextual information.
}
}
@TechReport{Dartmouth:TR2001-393,
author = {Pablo Stern},
title = {{Measuring early usage of Dartmouth's wireless network}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-393},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-393.ps.Z},
comment = {
Senior Honors Thesis. Advisor: David Kotz.
},
abstract = {
In Spring 2001, Dartmouth College installed a campus-wide 802.11b
wireless network. To understand how that network is used, we examined
the usage characteristics of the network over a five-week period. We
monitored access points to determine user behavior, and user and
network traffic characteristics. Because our study coincided with the
deployment of the access points, our analysis captures the growth of
a wireless network. The results of this study help understand the
behavior of mobile users and provide a reference to network engineers
wishing to deploy and expand similar wireless networks.
}
}
@TechReport{Dartmouth:TR2001-394,
author = {David D. Latham},
title = {{An Empirical Study of Training and Testing Error in Boosting}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-394},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-394.ps.Z},
comment = {
Senior Honors Thesis. Advisor: Jay Aslam.
},
abstract = {
Bounds have been proven for both training and testing error for the boosting
algorithm AdaBoost, but in practice neither seem to produce a particularly
tight bound. In this paper we share some observations of these bounds from
empirical results, and then explore some properties of the algorithm with an
eye towards finding an improved bound for the performance of AdaBoost.
Based on our empirical evidence, the error of a hypothesis which labels
examples probabilistically based upon the confidence of the vote of the weak
hypotheses forms a tighter bound for the training error.
}
}
@TechReport{Dartmouth:TR2001-395,
author = {Tiffany M. Wong},
title = {{An Implementation of Object-Oriented Program Transformation for Thought-Guided Debugging }},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-395},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-395.ps.Z},
comment = {
Senior Honors Thesis. Advisor: Tom Cormen
},
abstract = {
This paper presents our design and implementation of program transformation for
C++ that will be used in the context of a thought-guided debugging system. The
program uses a lexical analyzer written in Flex and a grammar written in Bison
that work in conjunction to scan the inputted C++ code for function definitions
and class definitions. The code is then transformed to produce trace
information for each defined function, while the original functionality of the
code is left untouched. We also implement two additional data structures that
are used for information storage during the course of the program.
}
}
@TechReport{Dartmouth:TR2001-396,
author = {Tiffany M. Wong},
title = {{Implementing a Database Information System for an Electronic Baseball Scorecard }},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-396},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-396.ps.Z},
comment = {
Senior Honors Thesis. Advisor: Tom Cormen
},
abstract = {
We present our design and implementation of a database system of information
storage and retrieval for an electronic baseball scorecard. The program uses
the relational MySQL database to hold information and a Tcl API to handle
interactions between the database and the user interface code. This paper
discusses the inner workings of how information storage was broken down inside
the database, how queries were internally constructed in accordance with the
user's input, and how statistics for players and teams were calculated and
returned to the user. Finally, we discuss some limitations attached to our
current implementation of the program and propose improvements that can be made
in future versions.
}
}
@TechReport{Dartmouth:TR2001-397,
author = {Guanling Chen and David Kotz},
title = {{Supporting Adaptive Ubiquitous Applications with the SOLAR System}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-397},
year = {2001},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-397.ps.Z},
abstract = {
As we embed more computers into our daily environment, ubiquitous
computing promises to make them less noticeable and help to prevent
information overload. We see, however, few ubiquitous applications
that are able to adapt to the dynamics of user, physical, and
computational context. We believe that there are two challenges
causing this lack of ubiquitous applications: there is no flexible and
scalable way to support information collection and dissemination in a
ubiquitous and mobile environment, and there is no general approach to
building adaptive applications given heterogeneous contextual
information. We propose a system infrastructure, Solar, to meet these
challenges. Solar uses a subscription-based operator graph abstraction
and allows dynamic composition of stackable operators to manage
ubiquitous information sources. After developing a set of diverse
adaptive applications, we expect to identify fundamental techniques
for context-aware adaptation. Our expectation is that Solar's
end-to-end support for information collection, dissemination, and
utilization will make it easy to build adaptive applications for a
ubiquitous mobile environment with many users and devices.
}
}
@TechReport{Dartmouth:TR2001-398,
author = {David Marmaros},
title = {{A System for Audio Personalization with Applications on Wireless Devices}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-398},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-398.pdf},
comment = {
Senior Honors Thesis. Advisors: David Kotz and Daniela Rus.
},
abstract = {
We present and analyze a system for dynamically tailoring discrete audio content for numerous users based on aggregate data and intuitive feedback mechanisms. The framework for this system utilizes a flexible client-server architecture to facilitate audio dissemination, with particular attention to distribution over wireless networks. We discuss the requirements and specifications of such a system. We further analyze the algorithms and protocols required for its operation. Finally, we outline and provide data from a demonstration of this application.
}
}
@TechReport{Dartmouth:TR2001-399,
author = {Shan Jiang},
title = {{WebALPS Implementation and Performance Analysis: Using Trusted Co-servers to Enhance Privacy and Security of Web Interactions}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-399},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-399.ps.Z},
comment = {
Master's thesis.
},
abstract = {
The client-server model of the Web poses a fundamental trust issue:
clients are forced to trust in secrecy and correctness of computation
occurring at a remote server of unknown credibility. The current solution
for this problem is to use a PKI (Public Key Infrastructure) system and
SSL (Secure Sockets Layer) digital certificates to prove the claimed
identity of a server and establish an authenticated, encrypted channel
between the client and this server. However, this approach does not
address the security risks posed by potential malicious server
operators or any third parties who may penetrate the server sites.
The WebALPS (Web Applications with Lots of Privacy and Security)
approach is proposed to address these weaknesses by moving sensitive
computations at server side into trusted co-servers running inside
high-assurance secure coprocessors.
In this report, we examine the foundations of the credibility of
WebALPS co-servers. Then we will describe our work of designing and
building a prototype WebALPS co-server, which is integrated into the
widely-deployed, commercial-grade Apache server. We will also present
the performance test results of our system which support the argument
that WebALPS approach provides a systematic and practical way to address the
remote trust issue.
}
}
@TechReport{Dartmouth:TR2001-400,
author = {Alex Iliev},
title = {{An Armored Data Vault}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-400},
year = {2001},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-400.pdf},
comment = {
Senior Honors Thesis.
Advisor: Sean Smith.
},
abstract = {
We consider the problem of secure long-term archiving of
network traffic, an instance of the problem of storing data
securely. We approach the problem using secure hardware, which enables
the enforcement of flexible access policy. The policy cannot be
circumvented by anyone, even insiders, and so we are assured that
access to the data is as originally intended. The policy can be
expressed as any feasible computation, as it will be checked inside
the secure hardware without possibility of interference. We discuss
our design of a device to perform such network data archiving and have
implemented a prototpe device. We discuss other possible application
areas of the design.
}
}
@TechReport{Dartmouth:TR2001-401,
author = {Sean W. Smith},
title = {{Outbound Authentication for Programmable Secure Coprocessors}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-401},
year = {2001},
month = {March},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-401.ps.Z},
abstract = {
A programmable secure coprocessor platform can help solve many
security problems in distributed computing. These solutions usually
require that coprocessor applications be able to participate as
full-fledged parties in distributed cryptographic protocols. Thus, to
fully enable these solutions, a generic platform must not only provide
programmability, maintenance, and configuration in the hostile
field---it must also provide outbound authentication for the
entities that result. A particular application on a particular
untampered device must be able to prove who it is to a party on the
other side of the Internet.
To be effective, a secure outbound authentication service must closely
mesh with the overall security architecture. Our initial architecture
only sketched a rough design for this service, and did not complete
it. This paper presents our research and development experience in
refining and implementing this design, to provide PKI-based outbound
authentication for the IBM 4758 Model 2 secure coprocessor platform.
}
}
@TechReport{Dartmouth:TR2001-402,
author = {Jeremy T. Fineman},
title = {{Optimizing the Dimensional Method for Performing Multidimensional, Multiprocessor, Out-of-Core FFTs}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-402},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-402.ps.Z},
comment = {
Senior Honors Thesis. Advisor: Tom Cormen.
},
abstract = {
We present an improved version of the Dimensional Method for computing
multidimensional Fast Fourier Transforms (FFTs) on a multiprocessor
system when the data consist of too many records to fit into
memory. Data are spread across parallel disks and processed in
sections. We use the Parallel Disk Model for analysis.
The simple Dimensional Method performs the 1-dimensional FFTs for
each dimension in term. Between each dimension, an out-of-core
permutation is used to rearrange the data to contiguous locations.
The improved Dimensional Method processes multiple dimensions at a
time.
We show that determining an optimal sequence and groupings of
dimensions is NP-complete. We then analyze the effects of two
modifications to the Dimensional Method independently: processing
multiple dimensions at one time, and processing single dimensions in a
different order.
Finally, we show a lower bound on the I/O complexity of the
Dimensional Method and present an algorithm that is approximately
asymptotically optimal.
}
}
@TechReport{Dartmouth:TR2001-403,
author = {Aidan S. Marcuss},
title = {{EcomRISK.org : A site to classify and organize the risks of performing business on the Internet}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-403},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-403.ps.Z},
comment = {
Senior Honors Thesis. Advisor: Fillia Makedon.
},
abstract = {
As the use of the Internet and other computer networks to transact
business grows, there is an ever increasing need for those taking
part in those transactions to understand the risks of doing so. While
there are many web sites that have created valuable databases of
specific vulnerabilities for certain types of hardware and software,
there is a lack of focus on attempting to analyze the interaction of
businesses, their systems, computer networks, and their customers and
the risks that are created by either intended or unattended
interactions. EcomRISK.org is a web site that presents a clear
taxonomy to classify these risks and provides other features to aid
in the general discussion of e-commerce risk. The site, and the
taxonomy at the center of it, creates a database of these incidents
so they can be clearly searched. This paper discusses the creation of
EcomRISK.org, from vision to birth.
}
}
@TechReport{Dartmouth:TR2001-404,
author = {Eric Kidd},
title = {{Efficient Compression of Generic Function Dispatch Tables}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-404},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-404.ps.Z},
comment = {
Senior Honors Thesis. Advisor: Chris Hawblitzel.
},
abstract = {
A generic function is similar to an overloaded operator, but provides a way
to select an appropriate behavior at run-time instead of compile-time.
Dujardin and colleagues have proposed an algorithm for building and
compressing generic function dispatch tables.
We present several modifications to their algorithm, including an
improvement to Pseudo-Closest-Poles and two new algorithms for compressing
pole tables. The two new compression algorithms are simple and fast, and
one produces smaller output than the original.
}
}
@TechReport{Dartmouth:TR2001-405,
author = {Mehmet Iyigun},
title = {{DaSSFNet: An Extension to DaSSF for High-Performance Network Modeling}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-405},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-405.ps.Z},
comment = {
Senior Honors Thesis. Advisor: David M. Nicol
},
abstract = {
Scalable Simulation Framework (SSF) is a discrete-event simulation
framework providing a unified programming interface geared towards
network simulation. Dartmouth SSF (DaSSF) is a C++ implementation of
SSF, designed for simulating very large-scale multi-protocol
communication networks. As of the latest release, DaSSF lacks many
features present in SSF and this prevents it from achieving
mainstream use. To alleviate this shortcoming we designed and
implemented DaSSFNet which extends DaSSF to the levels of
functionality found in SSF. In this paper, we show that DaSSFNet and
SSFNet are identical in operation given the same input. We also show
that DaSSFNet is about twice as fast and has one third the memory
consumption of SSFNet when simulating identical networks. Therefore,
we argue, that the DaSSF simulation package with DaSSFNet now offers
a viable alternative to SSF in high-performance network simulation.
}
}
@TechReport{Dartmouth:TR2001-406,
author = {Jeremy I. Robin},
title = {{Fastab: Solving the Pitch to Notation Problem}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-406},
year = {2001},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-406.ps.Z},
comment = {
Senior Honors Thesis. Advisor: Scot Drysdale
},
abstract = {
I have always been frustrated with the length of time necessary to
notate a piece of music. Computers have simplified so many other
aspects of our lives, it seems that they should be able to simplify
this task as well. In fact, there are already two distinct ways that
engineers have attempted to attack this problem. The first analyzes
the waveform generated by microphone input and relies on Fourier
Analysis and other similar methods. The other examines the analog
signal generated by a electric guitar-like pickup placed beneath the
strings. The method used by Fastab relies much less on the musical
properties of an instrument. Instead, Fastab records where and when
the fingers and pick contact the instrument using digital electronics
and microprocessor technology. Fastab provides a solution to the
pitch to notation problem which is cheaper and more accurate than any
other device available today.
}
}
@TechReport{Dartmouth:TR2001-407,
author = {Michael G. Khankin},
title = {{TCP/IP Implementation within the Dartmouth Scalable Simulation Framework}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-407},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-407.ps.Z},
comment = {
Senior Honors Thesis. Advisor: David M. Nicol
},
abstract = {
This paper discusses TCP/IP networking, and in particular, the DaSSF
implementation of TCP/IP. The paper reviews the protocols, outlines the
implementation design, and demonstrates some tests. In addition, some
performance and memory usage analysis is performed.
We find DaSSF TCP/IP to be a viable option to the existing SSF. DaSSF
TCP/IP is faster and uses less memory so we can simulate larger, more
complex, models.
}
}
@TechReport{Dartmouth:TR2001-408,
author = {Jonathan L. Bredin},
title = {{Market-based Control of Mobile-agent Systems}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-408},
year = {2001},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-408.ps.Z},
comment = {
A Ph.D thesis from the Department of Computer Science, Dartmouth College.
},
abstract = {
Modern distributed systems scatter sensors, storage, and computation
throughout the environment.
Ideally these devices communicate and share resources, but there
is seldom motivation for a device's owner to yield control to another user.
We establish markets for computational resources
to motivate principals to share resources with arbitrary users, to enforce
priority in distributed systems, to provide flexible and rational limitations
on the potential of an application, and to provide a lightweight structure
to balance the workload over time and between devices.
As proof of concept, we implement a structure software agents
can use to discover and negotiate access to networked resources.
The structure separates discovery, authentication, and consumption
enforcement as separate orthogonal issues to give system
designers flexibility.
Mobile agents represent informational and computational flow.
We develop mechanisms that distributively allocate computation among
mobile agents in two settings.
The first models a situation where users collectively own networked
computing resources and require priority enforcement.
We extend the allocation mechanism to allow
resource reservation to mitigate utility volatility.
The second, more general model relaxes the ownership assumption.
We apply our computational market to an open setting where a principal's
chief concern is revenue maximization.
Our simulations compare the performance of market-based allocation
policies to traditional policies and relate the cost of ownership and
consumption separation.
We observe that our markets effectively prioritize applications'
performance, can operate under uncertainty and network delay, provide
metrics to balance network load, and allow measurement of
market-participation risk versus reservation-based computation.
In addition to allocation problems, we investigate resource selection
to optimize execution time.
The problem is NP-complete if the costs and latencies are constant.
Both metrics' dependence on the chosen set complicates matters.
We study how a greedy approach, a novel heuristic, and a
shortest-constrained-path strategy perform in mobile-agent applications.
Market-based computational-resource allocation fertilizes
applications where previously there was a dearth of motive for or means
of cooperation.
The rationale behind mobile-agent performance optimization is also useful
for resource allocation in general distributed systems where an application
has a sequence of dependent tasks or when data collection is expensive.
}
}
@TechReport{Dartmouth:TR2001-409,
author = {Yougu Yuan and Eileen Zishuang Ye and Sean W. Smith},
title = {{Web Spoofing 2001}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-409},
year = {2001},
month = {July},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-409.ps.Z},
abstract = {
The Web is currently the pre-eminent medium for electronic
service delivery to remote users. As a consequence,
authentication of servers is more important than ever. Even
sophisticated users base their decision whether or not to trust a
site on browser cues---such as location bar information, SSL
icons, SSL warnings, certificate information, response time, etc.
In their seminal work on web spoofing, Felten et al showed how a
malicious server could forge some of these cues---but using
approaches that are no longer reproducible. However, subsequent
evolution of Web tools has not only patched security holes---it
has also added new technology to make pages more interactive and
vivid. In this paper, we explore the feasibility of web spoofing
using this new technology---and we show how, in many cases, every
one of the above cues can be forged.
In particular, we show how a malicious server can forge all the
SSL information a client sees---thus providing a cautionary tale
about the security of one of the most common applications of PKI.
We stress that these techniques have been implemented, and are
available for public demonstration.
}
}
@TechReport{Dartmouth:TR2001-410,
author = {Shan Jiang and Sean Smith and Kazuhiro Minami},
title = {{Securing Web Servers against Insider Attack}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-410},
year = {2001},
month = {July},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-410.ps.Z},
abstract = {
Too often, ``security of Web transactions'' reduces to ``encryption of
the channel''---and neglects to address what happens at the server on
the other end. This oversight forces clients to trust the good
intentions and competence of the server operator---but gives clients
no basis for that trust. Furthermore, despite academic and industrial
research in secure coprocessing, many in the computer science
community still regard ``secure hardware'' as a synonym for
``cryptographic accelerator.' This oversight neglects the real
potential of COTS secure coprocessing technology to establish trusted
islands of computation in hostile environments---such as at web
servers with risk of insider attack.
In this paper, we apply secure coprocessing and cryptography to solve
this real problem in Web technology. We present a vision: using
secure coprocessors to establish trusted co-servers at Web servers and
moving sensitive computations inside these co-servers. We present a
prototype implementation of this vision that scales to realistic
workloads. Finally, we validate this approach by building a simple
E-voting application on top of our prototype.
From our experience, we conclude that this approach provides a
practical and effective way to enhance the security of Web servers
against insider attack.
}
}
@TechReport{Dartmouth:TR2001-411,
author = {Arne Grimstrup and Robert S. Gray and David Kotz and Thomas Cowin and Greg Hill and Niranjan Suri and Daria Chacon and Martin Hofmann},
title = {{Write Once, Move Anywhere: Toward Dynamic Interoperability of Mobile Agent Systems}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-411},
year = {2001},
month = {July},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-411.ps.Z},
comment = {
Revised July 25, 2001.
},
abstract = {
Mobile agents are an increasingly popular paradigm,
and in recent years there has been a proliferation
of mobile-agent systems. These systems are, however,
largely incompatible with each other. In particular,
agents cannot migrate to a host that runs a
different mobile-agent system. Prior approaches to
interoperability have tried to force agents to use a
common API, and so far none have succeeded. Our
goal, summarized in the catch phrase ``Write
Once, Move Anywhere,'' led to our efforts to develop
mechanisms that support dynamic runtime
interoperability of mobile-agent systems. This paper
describes the Grid Mobile-Agent System,
which allows agents to migrate to different
mobile-agent systems.
}
}
@TechReport{Dartmouth:TR2001-412,
author = {Hany Farid},
title = {{Detecting Steganographic Messages in Digital Images}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-412},
year = {2001},
month = {September},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-412.ps.Z},
abstract = {
Techniques and applications for information hiding have
become increasingly more sophisticated and widespread. With
high-resolution digital images as carriers, detecting the presence of
hidden messages has also become considerably more difficult. It is
sometimes possible, nevertheless, to detect (but not necessarily
decipher) the presence of embedded messages. The basic approach taken
here works by finding predictable higher-order statistics of
``natural'' images within a multi-scale decomposition, and then
showing that embedded messages alter these statistics.
}
}
@TechReport{Dartmouth:TR2001-413,
author = {Senthil Periaswamy and Hany Farid},
title = {{Differential Elastic Image Registration}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2001-413},
year = {2001},
month = {September},
URL = {http://www.cs.dartmouth.edu/reports/TR2001-413.ps.Z},
abstract = {
We have applied techniques from differential motion
estimation to the problem of automatic elastic registration of medical
images. This method models the mapping between images as a locally
affine but globally smooth warp. The mapping also explicitly accounts
for variations in image intensities. This approach is simple and
highly effective across a broad range of medical images. We show the
efficacy of this approach on several synthetic and clinical images.
}
}
@TechReport{Dartmouth:TR2002-414,
author = {Valentino Crespi and George Cybenko and Massimo Santini and Daniela Rus},
title = {{Decentralized Control for Coordinated flow of Multi-Agent Systems}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-414},
year = {2002},
month = {January},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-414.ps.Z},
abstract = {
This paper describes a distributed algorithm for coordinating the flow
of a mass of vehicles approaching a highway exit or a tollbooth. We
provide the problem formulation, a general methodology for distributed
control and an instantiation of this methodology to the coordinated
flow problem. We analyze our algorithm and provide experimental data.
}
}
@TechReport{Dartmouth:TR2002-415,
author = {David Kotz and Robert S. Gray and Daniela Rus},
title = {{Future Directions for Mobile-Agent Research}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-415},
year = {2002},
month = {January},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-415.ps.Z},
abstract = {
During a discussion in September 2000 the authors
examined the future of research on mobile agents and
mobile code. (A mobile agent is a running program
that can move from host to host in network at times
and to places of its own choosing.) In this paper we
summarize and reflect on that discussion. It became
clear that the field should shift its emphasis
toward mobile code, in all its forms, rather than to
continue its narrow focus on mobile
agents. Furthermore, we encourage the development of
modular components, so that application designers
may take advantage of code mobility without needing
to rewrite their application to fit in a monolithic
mobile-agent system. There are many potential
applications that may productively use mobile code,
but there is no ``killer application'' for mobile
agents. Finally, we note that although security is
an important and challenging problem, there are many
applications and environments with security
requirements well within the capability of existing
mobile-code and mobile-agent frameworks.
}
}
@TechReport{Dartmouth:TR2002-416,
author = {John C. Marchesini and Sean W. Smith},
title = {{Virtual Hierarchies - An Architecture for Building and Maintaining Efficient and Resilient Trust Chains.}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-416},
year = {2002},
month = {February},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-416.ps.Z},
abstract = {
In Public Key Infrastructure (PKI), the simple, monopolistic CA model
works fine until we consider the real world. Then, issues such as
scalability and mutually suspicious organizations create the need for
a multiplicity of CAs, which immediately introduces the problem of how
to organize them to balance resilience to compromise against
efficiency of path discovery.
However, security has given us tools such as secure coprocessing,
secret splitting, secret sharing, and threshold cryptography for
securely carrying out computations among multiple trust domains;
distributed computing has given us peer-to-peer networking, for
creating self-organizing distributed systems.
In this paper, we use these latter tools to address the former
problem by overlaying a virtual hierarchy on a mesh architecture of
peer CAs, and achieving both resilience and efficiency.
}
}
@TechReport{Dartmouth:TR2002-417,
author = {Eileen Ye and Yougu Yuan and Sean Smith},
title = {{Web Spoofing Revisited: SSL and Beyond}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-417},
year = {2002},
month = {February},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-417.ps.Z},
comment = {
This TR supercedes TR2001-409.
},
abstract = {
Can users believe what their browsers tell them? Even sophisticated
Web users decide whether or not to trust a server based on browser
cues such as location bar information, SSL icons, SSL warnings,
certificate information, and response time. In their seminal work on
Web spoofing, Felten et al showed how, in 1996, a
malicious server could forge some of these cues. However, this work
used genuine SSL sessions, and Web technology has evolved much since
1996.
The Web has since become the pre-eminent medium for electronic service
delivery to remote users, and the security of many commerce,
government, and academic network applications critically rests on the
assumption that users can authenticate the servers with which they
interact. This situation raises the question: is the browser-user
communication model today secure enough to warrant this assumption?
In this paper, we answer this question by systematically showing how a
malicious server can forge every one of the above cues. Our work
extends the prior results by examining contemporary browsers, and by
forging all of the SSL information a client sees, including the very
existence of an SSL session (thus providing a cautionary tale about
the security of one of the most common applications of PKI). We have
made these techniques available for public demonstration, because
anything less than working code would not convincingly answer the
question. We also discuss implications and potential countermeasures,
both short-term and long-term.
}
}
@TechReport{Dartmouth:TR2002-418,
author = {Eileen Ye and Sean Smith},
title = {{Trusted Paths for Browsers: An Open-Source Solution to Web Spoofing}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-418},
year = {2002},
month = {February},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-418.ps.Z},
abstract = {
The security of the vast majority of ``secure'' Web services rests on
SSL server PKI. However, this PKI doesn't work if the the adversary
can trick the browser into appearing to tell the user the wrong thing
about the certificates and cryptography. The seminal web spoofing
work of Felten et al demonstrated the potential, in 1996, for
malicious servers to impersonate honest servers. Our recent follow-up
work explicitly shows how malicious servers can still do this---and
can also forge the existence of an SSL session and the contents of the
alleged server certificate.
This paper reports the results of our work to systematically defend
against Web spoofing, by creating a trusted path from the browser to
the user. Starting with the Mozilla source, we have implemented
techniques that protect a wide variety of browser-user communications,
that require little participation by the user and minimal disruption
of the displayed server content. We have prepared shell scripts that
install these modifications on the Mozilla source, to enable others to
replicate this work.
In on-going work, we are cleaning up and fine-tuning our code. In
future work, we hope to examine more deeply the role of user
interfaces in enabling users to make effective trust judgments.
}
}
@TechReport{Dartmouth:TR2002-419,
author = {Dennis M. Healy and Daniel N. Rockmore and Peter J. Kostelec and Sean S. B. Moore},
title = {{FFTs for the 2-Sphere - Improvements and Variations}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-419},
year = {2002},
month = {March},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-419.ps.Z},
comment = {
Preliminary versions of some of these results have appeared in the
Dartmouth College Department of Computer Science Technical Report
PCS-TR94-222 and ``An FFT for the 2-sphere and Applications'',
Proc. of ICASSP-96, Volume 3, pp. 1323--1326.
},
abstract = {
Earlier work by Driscoll and Healy has produced an efficient
algorithm for computing the Fourier transform of band-limited
functions on the 2-sphere. In this paper we present a reformulation
and variation of the original algorithm which results in a greatly
improved inverse transform, and consequent improved convolution
algorithm for such functions. All require at most $O(N\log^2 N)$
operations where $N$ is the number of sample points. We also address
implementation considerations and give heuristics for allowing
reliable and computationally efficient floating point implementations
of slightly modified algorithms.
These claims are supported by extensive numerical experiments from
our implementation in C on DEC, HP, SGI and Linux Pentium
platforms. These results indicate that variations of the algorithm
are both reliable and efficient for a large range of useful problem
sizes. Performance appears to be architecture-dependent. The paper
concludes with a brief discussion of a few potential applications.
}
}
@TechReport{Dartmouth:TR2002-420,
author = {Guanling Chen and David Kotz},
title = {{Context Aggregation and Dissemination in Ubiquitous Computing Systems}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-420},
year = {2002},
month = {February},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-420.ps.Z},
comment = {
To appear in WMCSA 2002.
},
abstract = {
Many ``ubiquitous computing'' applications need a constant flow of
information about their environment to be able to adapt to their
changing context. To support these ``context-aware'' applications we
propose a graph-based abstraction for collecting, aggregating, and
disseminating context information. The abstraction models context
information as events, produced by sources and flowing through a
directed acyclic graph of event-processing operators and delivered to
subscribing applications. Applications describe their desired event
stream as a tree of operators that aggregate low-level context
information published by existing sources into the high-level context
information needed by the application. The operator graph is thus the
dynamic combination of all applications' subscription trees.
In this paper, we motivate and describe our graph abstraction, and
discuss a variety of critical design issues. We also sketch our Solar
system, an implementation that represents one point in the design
space for our graph abstraction.
}
}
@TechReport{Dartmouth:TR2002-421,
author = {Guanling Chen and David Kotz},
title = {{Solar: A pervasive-computing infrastructure for context-aware mobile applications}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-421},
year = {2002},
month = {February},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-421.ps.Z},
abstract = {
Emerging pervasive computing technologies transform the way we live
and work by embedding computation in our surrounding environment. To
avoid increasing complexity, and allow the user to concentrate on her
tasks, applications must automatically adapt to their changing
\emph{context}, the physical and computational environment in which
they run. To support these ``context-aware'' applications we propose
a graph-based abstraction for collecting, aggregating, and
disseminating context information. The abstraction models context
information as \emph{events}, which are produced by \emph{sources},
flow through a directed acyclic graph of event-processing
\emph{operators}, and are delivered to subscribing applications.
Applications describe their desired event stream as a tree of
operators that aggregate low-level context information published by
existing sources into the high-level context information needed by the
application. The \emph{operator graph\/} is thus the dynamic
combination of all applications' subscription trees. In this paper,
we motivate our graph abstraction by discussing several applications
under development, sketch the architecture of our system (``Solar'')
that implements our abstraction, report some early experimental
results from the prototype, and outline issues for future research.
}
}
@TechReport{Dartmouth:TR2002-422,
author = {Kazuhiro Minami and David Kotz},
title = {{Controlling access to pervasive information in the ``Solar'' system}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-422},
year = {2002},
month = {February},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-422.ps.Z},
abstract = {
Pervasive-computing infrastructures necessarily collect a lot of
context information to disseminate to their context-aware
applications. Due to the personal or proprietary nature of much of
this context information, however, the infrastructure must limit
access to context information to authorized persons. In this paper we
propose a new access-control mechanism for event-based
context-distribution infrastructures. The core of our approach is
based on a conservative information-flow model of access control, but
users may express discretionary relaxation of the resulting
access-control list (ACL) by specifying relaxation functions.
This combination of automatic ACL derivation and user-specified ACL
relaxation allows access control to be determined and enforced in a
decentralized, distributed system with no central administrator or
central policy maker. It also allows users to express their personal
balance between functionality and privacy. Finally, our
infrastructure allows access-control policies to depend on
context-sensitive roles, allowing great flexibility.
We describe our approach in terms of a specific context-dissemination
framework, the Solar system, although the same principles would apply
to systems with similar properties.
}
}
@TechReport{Dartmouth:TR2002-423,
author = {David Kotz and Kobby Essien},
title = {{Characterizing Usage of a Campus-wide Wireless Network}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-423},
year = {2002},
month = {March},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-423.ps.Z},
comment = {
A major revision of this paper appeared in Mobicom 2002.
The Mobicom paper contained two erroneous figures, however;
another report, TR2002-432, is the final corrected version.
},
abstract = {
Wireless local-area networks (WLANs) are increasingly common, but
little is known about how they are used. A clear understanding of
usage patterns in real WLANs is critical information to those who
develop, deploy, and manage WLAN technology, as well as those who
develop systems and application software for wireless networks. This
paper presents results from the largest and most comprehensive trace
of network activity in a large, production wireless LAN. For eleven
weeks we traced the activity of nearly two thousand users drawn from a
general campus population, using a campus-wide network of 476 access
points spread over 161 buildings. Our study expands on those done by
Tang and Baker, with a significantly larger and broader population.
We found that residential traffic dominated all other traffic,
particularly in residences populated by newer students; students are
increasingly choosing a wireless laptop as their primary computer.
Although web protocols were the single largest component of traffic
volume, network backup and file sharing contributed an unexpectedly
large amount to the traffic. Although there was some roaming within a
network session, we were surprised by the number of situations in
which cards roamed excessively, unable to settle on one access point.
Cross-subnet roams were an especial problem, because they broke IP
connections, indicating the need for solutions that avoid or
accommodate such roams.
}
}
@TechReport{Dartmouth:TR2002-424,
author = {Mark H. Montague},
title = {{Metasearch: Data Fusion for Document Retrieval}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-424},
year = {2002},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-424.ps.Z},
comment = {
Ph.D dissertation.
},
abstract = {
The metasearch problem is to optimally merge the ranked lists
output by an arbitrary number of search systems into one ranked list.
In this work:
(1) We show that metasearch improves upon not just the raw performance
of the input search engines, but also upon the consistency of the
input search engines from query to query.
(2) We experimentally prove that simply weighting input systems by
their average performance can dramatically improve fusion results.
(3) We show that score normalization is an important component of a
metasearch engine, and that dependence upon statistical outliers
appears to be the problem with the standard technique.
(4) We propose a Bayesian model for metasearch that outperforms the
best input system on average and has performance competetive with
standard techniques.
(5) We introduce the use of Social Choice Theory to the metasearch
problem, modeling metasearch as a democratic election. We adapt a
positional voting algorithm, the Borda Count, to create a metasearch
algorithm, acheiving reasonable performance.
(6) We propose a metasearch model adapted from a majoritarian voting
procedure, the Condorcet algorithm. The resulting algorithm is the
best performing algorithm in a number of situations.
(7) We propose three upper bounds for the problem, each bounding a
different class of algorithms.
We present experimental results for each algorithm using two types of
experiments on each of four data sets.
}
}
@TechReport{Dartmouth:TR2002-425,
author = {Marco A. Barreno},
title = {{The Future of Cryptography Under Quantum Computers}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-425},
year = {2002},
month = {July},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-425.ps.Z},
comment = {
This paper was written as a senior honors thesis with advisor Sean
W. Smith.
},
abstract = {
Cryptography is an ancient art that has passed through many
paradigms, from simple letter substitutions to polyalphabetic
substitutions to rotor machines to digital encryption to public-key
cryptosystems. With the possible advent of quantum computers and the
strange behaviors they exhibit, a new paradigm shift in cryptography
may be on the horizon. Quantum computers could hold the potential to
render most modern encryption useless against a quantum-enabled
adversary. The aim of this thesis is to characterize this convergence
of cryptography and quantum computation.
We provide definitions for cryptographic primitives that frame them
in general terms with respect to complexity. We explore the various
possible relationships between BQP, the primary quantum complexity
class, and more familiar classes, and we analyze the possible
implications for cryptography.
}
}
@TechReport{Dartmouth:TR2002-426,
author = {Christopher P. Masone},
title = {{Role Definition Language (RDL): A Language to Describe Context-Aware Roles}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-426},
year = {2002},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-426.ps.Z},
comment = {
Senior Honors Thesis. Advisor: David Kotz.
},
abstract = {
As wireless networks become more prevalent, a widening array
of computational resources becomes available to the mobile user.
Since not all users should have unrestricted access to these
resources, a method of access control must be devised. In a
context-aware environment, context information can be used to
supplement more conventional password-based access control systems.
We believe the best way to achieve this is through the use of
Context-Aware Role-Based Access Control, a model in which permissions
are assigned to entities called roles, each principal is a member of
one or more roles, and a role's membership is determined using
context information. We designed and implemented RDL
(Role-Definition Language), a simple, expressive and somewhat
extensible programming language to facilitate the description of
roles in terms of context information.
}
}
@TechReport{Dartmouth:TR2002-427,
author = {A. Abram White},
title = {{Performance and Interoperability In Solar}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-427},
year = {2002},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-427.ps.Z},
comment = {
Senior Honors Thesis. Advisor: David Kotz.
See also TR2002-429.
},
abstract = {
Ubiquitous computing promises to integrate computers into our physical
environment, surrounding us with applications that are able to adapt
to our dynamics. Solar is a software infrastructure designed to
deliver contextual information to these applications. To serve the
large number and wide variety of context-aware devices envisioned by
ubiquitous computing, Solar must exhibit both high performance and the
ability to interoperate with many computing platforms. We created a
testing framework to measure the performance of distributed systems
such as Solar, as well as a pluggable data-transfer mechanism to
support the dissemination of information to heterogeneous
applications. This paper explores the testing framework developed,
analyzes its findings concerning the performance of the current Solar
prototype, presents several optimizations to Solar and their effects,
and finally discusses the design of the pluggable data-transfer
mechanism.
}
}
@TechReport{Dartmouth:TR2002-428,
author = {Sebastien M. Lahaie},
title = {{Information-theoretic Bounds on the Training and Testing Error of Boosting}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-428},
year = {2002},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-428.ps.Z},
abstract = {
Boosting is a means of using weak learners as subroutines to produce a
strong learner with markedly better accuracy. Recent results showing
the connection between logistic regression and boosting provide the
foundation for an information-theoretic analysis of boosting. We
describe the analogy between boosting and gambling, which allows us to
derive a new upper bound on training error. This upper bound
explicitly describes the effect of noisy data on training error. We
also use information-theoretic techniques to derive an alternative upper-bound
on testing error which is independent of the size of the weak-learner
space.
}
}
@TechReport{Dartmouth:TR2002-429,
author = {A. Abram White},
title = {{XSLT and XQuery as Operator Languages}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-429},
year = {2002},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-429.ps.Z},
comment = {
See also TR2002-427.
},
abstract = {
Ubiquitous computing promises to integrate computers into our physical
environment, surrounding us with applications that are able to adapt
to our dynamics. Solar is a software infrastructure designed to
deliver contextual information to these applications. Solar
represents context data as events, and uses small programs called
operators to filter, merge, aggregate, or transform event streams.
This paper explores the possibility of using XSLT and XQuery to build
language-neutral Solar operators.
}
}
@TechReport{Dartmouth:TR2002-430,
author = {Eileen Zishuang Ye},
title = {{Building Trusted Paths for Web Browsers}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-430},
year = {2002},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-430.ps.Z},
abstract = {
The communication between the Web browser and the human
user is one component of the server-client channel. It is not
the user but the browser that receives all server
information and establishes the secure connection. The
browser's user interface signals, such as SSL lock, https
protocol header et al., indicate whether the browser-server
communication at the current moment is secure. Those
user interface signals indicating the security status of
browser should be clearly and correctly understood by the
user.
A survey of modern Web browsers shows the information
provided by current browsers is insufficient for users to
make trust judgment. Our Web spoofing work further proved
that the browser status information is not reliable either.
We discuss the criteria for and how to build the
trusted paths between a browser and a human user. We present
an open source implementation of one of the
designs--synchronized random dynamic (SRD) boundary, based
on Modified Mozilla source code, together with its usability
study results.
}
}
@TechReport{Dartmouth:TR2002-431,
author = {Kobby Essien},
title = {{Analysis of Protein Sequences Using Time Frequency and Kolmogorov-Smirnov Methods}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-431},
year = {2002},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-431.ps.Z},
comment = {
Senior Honors Thesis. Advisor: Metin Akay.
},
abstract = {
The plethora of genomic data currently available has resulted in a
search for new algorithms and analysis techniques to interpret
genomic data. In this two-fold study we explore techniques for
locating critical amino acid residues in protein sequences and for
estimating the similarity between proteins. We demonstrate the use
of the Short-Time Fourier Transform and the Continuous Wavelet
Transform together with amino acid hydrophobicity in locating
important amino acid domains in proteins and also show that the
Kolmogorov-Smirnov statistic can be used as a metric of protein
similarity.
}
}
@TechReport{Dartmouth:TR2002-432,
author = {David Kotz and Kobby Essien},
title = {{Analysis of a Campus-wide Wireless Network}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-432},
year = {2002},
month = {September},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-432.ps.Z},
comment = {
This paper is a revision of the MOBICOM '02 paper by the same
title. The only difference is the correction of Figures 27-28
and the associated text. This report supplants TR2002-423.
},
abstract = {
Understanding usage patterns in wireless local-area networks (WLANs)
is critical for those who develop, deploy, and manage WLAN technology,
as well as those who develop systems and application software for
wireless networks. This paper presents results from the largest and
most comprehensive trace of network activity in a large, production
wireless LAN. For eleven weeks we traced the activity of nearly two
thousand users drawn from a general campus population, using a
campus-wide network of 476 access points spread over 161 buildings.
Our study expands on those done by Tang and Baker, with a
significantly larger and broader population.
We found that residential traffic dominated all other traffic,
particularly in residences populated by newer students; students are
increasingly choosing a wireless laptop as their primary computer.
Although web protocols were the single largest component of traffic
volume, network backup and file sharing contributed an unexpectedly
large amount to the traffic. Although there was some roaming within a
network session, we were surprised by the number of situations in
which cards roamed excessively, unable to settle on one access point.
Cross-subnet roams were an especial problem, because they broke IP
connections, indicating the need for solutions that avoid or
accommodate such roams.
}
}
@TechReport{Dartmouth:TR2002-433,
author = {Ron Oldfield and David Kotz},
title = {{Using the Emulab network testbed to evaluate the Armada I/O framework for computational grids}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-433},
year = {2002},
month = {September},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-433.ps.Z},
abstract = {
This short report describes our experiences using the Emulab network testbed
at the University of Utah to test performance of the Armada framework for
parallel I/O on computational grids.
}
}
@TechReport{Dartmouth:TR2002-434,
author = {Ryan H. Lilien and Hany Farid and Bruce R. Donald},
title = {{Probabilistic Disease Classification of Expression-Dependent Proteomic Data from Mass Spectrometry of Human Serum}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-434},
year = {2002},
month = {October},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-434.ps.Z},
comment = {
To appear in Journal of Computational Biology (2003).
},
abstract = {
We have developed an algorithm called Q5 for probabilistic
classification of healthy vs. disease whole serum samples using mass
spectrometry. The algorithm employs Principal Components Analysis (PCA)
followed by Linear Discriminant Analysis (LDA) on whole spectrum
Surface-Enhanced Laser Desorption/Ionization Time of Flight
(SELDI-TOF) Mass Spectrometry (MS) data, and is demonstrated on four
real datasets from complete, complex SELDI spectra of human blood
serum.
Q5 is a closed-form, exact solution to the problem of classification
of complete mass spectra of a complex protein mixture. Q5 employs a
novel probabilistic classification algorithm built upon a
dimension-reduced linear discriminant analysis. Our solution is
computationally efficient; it is non-iterative and computes the
optimal linear discriminant using closed-form equations. The optimal
discriminant is computed and verified for datasets of complete,
complex SELDI spectra of human blood serum. Replicate experiments of
different training/testing splits of each dataset are employed to
verify robustness of the algorithm. The probabilistic classification
method achieves excellent performance. We achieve sensitivity,
specificity, and positive predictive values above 97% on three
ovarian cancer datasets and one prostate cancer dataset. The Q5 method
outperforms previous full-spectrum complex sample spectral
classification techniques, and can provide clues as to the molecular
identities of differentially-expressed proteins and peptides.
}
}
@TechReport{Dartmouth:TR2002-435,
author = {Qun Li and Michael De Rosa and Daniela Rus},
title = {{Distributed Algorithms for Guiding Navigation across a Sensor Network}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-435},
year = {2002},
month = {October},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-435.ps.Z},
abstract = {
We develop distributed algorithms for self-reconfiguring sensor
networks that respond to directing a target through a region. The
sensor network models the danger levels sensed across its area and has
the ability to adapt to changes. It represents the dangerous areas as
obstacles. A protocol that combines the artificial potential field of
the sensors with the goal location for the moving object guides the
object incrementally across the network to the goal, while maintaining
the safest distance to the danger areas. We report on hardware
experiments using a physical sensor network consisting of Mote
sensors.
}
}
@TechReport{Dartmouth:TR2002-436,
author = {Robert C. Fitch},
title = {{Heterogeneous Self-Reconfiguring Robotics}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-436},
year = {2002},
month = {November},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-436.ps.Z},
abstract = {
Self-reconfiguring robots are modular systems that can change shape,
or "reconfigure," to match structure to task. They comprise many
small, discrete, often identical modules that connect together and
that are minimally actuated. Global shape transformation is achieved
by composing local motions. Systems with a single module type, known
as "homogeneous" systems, gain fault tolerance, robustness and low
production cost from module interchangeability. However, we are
interested in "heterogeneous" systems, which include multiple types of
modules such as those with sensors, batteries or wheels. We believe
that heterogeneous systems offer the same benefits as homogeneous
systems with the added ability to match not only structure to task,
but also capability to task.
Although significant results have been achieved in understanding
homogeneous systems, research in heterogeneous systems is challenging
as key algorithmic issues remain unexplored. We propose in this thesis
to investigate questions in four main areas: 1) how to classify
heterogeneous systems, 2) how to develop efficient heterogeneous
reconfiguration algorithms with desired characteristics, 3) how to
characterize the complexity of key algorithmic problems, and 4) how to
apply these heterogeneous algorithms to perform useful new tasks in
simulation and in the physical world. Our goal is to develop an
algorithmic basis for heterogeneous systems. This has theoretical
significance in that it addresses a major open problem in the field,
and practical significance in providing self-reconfiguring robots with
increased capabilities.
}
}
@TechReport{Dartmouth:TR2002-437,
author = {Heng Huang and Chris Hawblitzel},
title = {{Proofs of Soundness and Strong Normalization for Linear Memory Types}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-437},
year = {2002},
month = {November},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-437.ps.Z},
abstract = {
Efficient low-level systems need more control over memory than safe high-level languages usually provide. As a result, run-time systems are typically written in unsafe languages such as C. This report describes an abstract machine designed to give type-safe code more control over memory. It includes complete definitions and proofs.
}
}
@TechReport{Dartmouth:TR2002-438,
author = {Valentino Crespi},
title = {{Exact formulae for the Lovasz Theta Function of sparse Circulant Graphs}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2002-438},
year = {2002},
month = {November},
URL = {http://www.cs.dartmouth.edu/reports/TR2002-438.ps.Z},
abstract = {
The Lovasz theta function has attracted a lot of attention for its
connection with diverse issues, such as communicating without errors
and computing large cliques in graphs. Indeed this function enjoys the
remarkable property of being computable in polynomial time, despite
being sandwitched between clique and chromatic number, two well known
hard to compute quantities.
In this paper I provide a closed formula for the Lovasz function of a
specific class of sparse circulant graphs thus generalizing Lovasz
results on cycle graphs (circulant graphs of degree 2).
}
}
@TechReport{Dartmouth:TR2003-439,
author = {Chris J. Langmead and Bruce R. Donald},
title = {{3D-Structural Homology Detection via Unassigned Residual Dipolar Couplings}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2003-439},
year = {2003},
month = {January},
URL = {http://www.cs.dartmouth.edu/reports/TR2003-439.pdf},
comment = {
A revised and expanded version of this TR will appear as a refereed
paper at the
IEEE Computer Society Bioinformatics Conference
,
Stanford, California (August, 2003),
},
abstract = {
Recognition of a protein's fold provides valuable
information about its function. While many sequence-based
homology prediction methods exist, an important challenge remains:
two highly dissimilar sequences can have similar folds --- how can
we detect this rapidly, in the context of structural genomics?
High-throughput NMR experiments, coupled with novel algorithms for
data analysis, can address this challenge. We report an automated
procedure for detecting 3D-structural homologies from sparse,
unassigned protein NMR data.
Our method identifies the 3D-structural models in a protein
structural database whose geometries best fit the unassigned
experimental NMR data. It does not use sequence information and is
thus not limited by sequence homology. The method can also be
used to confirm or refute structural predictions made by other
techniques such as protein threading or sequence homology. The
algorithm runs in O(pnk3) time, where p is the number of
proteins in the database, n is the number of residues in the
target protein, and k is the resolution of a rotation search.
The method requires only uniform 15N-labelling of the protein
and processes unassigned 1H-15N residual dipolar couplings,
which can be acquired in a couple of hours. Our experiments on NMR
data from 5 different proteins demonstrate that the method
identifies closely related protein folds, despite low-sequence
homology between the target protein and the computed
model.
}
}
@TechReport{Dartmouth:TR2003-440,
author = {David M. Nicol and Sean W. Smith and Meiyuan Zhao},
title = {{Efficient Security for BGP Route Announcements}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2003-440},
year = {2003},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2003-440.R2.ps.Z},
comment = {
Revision 2 released May 9, 2003.
Original revision 1, of February 2003, is available in
pdf or
ps.Z.
},
abstract = {
The Border Gateway Protocol (BGP) determines how Internet traffic is
routed throughout the entire world; malicious behavior by one or more
BGP speakers could create serious security issues. Since the protocol
depends on a speaker honestly reporting path information sent by
previous speakers and involves a large number of independent speakers,
the Secure BGP (S-BGP) approach uses public-key cryptography to ensure
that a malicious speaker cannot fabricate this information. However,
such public-key cryptography is expensive: S-BGP requires a digital
signature operation on each announcement sent to each peer, and a
linear (in the length of the path) number of verifications on each
receipt. We use simulation of a 110 AS system derived from the
Internet to evaluate the impact that the processing costs of
cryptography have on BGP convergence time. We find that under heavy
load the convergence time using ordinary S-BGP is nearly twice as
large as under BGP. We examine the impact of highly aggressive caching
and pre-computation optimizations for S-BGP, and find that convergence
time is much closer to BGP. However, these optimizations may be
unrealistic, and are certainly expensive of memory. We consequently
use the structure of BGP processing to design optimizations that
reduce cryptographic overhead by amortizing the cost of private-key
signatures over many messages. We call this method
Signature-Amortization (S-A). We find that S-A provides as good or
better convergence times as the highly optimized S-BGP, but without
the cost and complications of caching and pre-computation. It is
possible therefore to minimize the impact route validation has on
convergence, by being careful with signatures, rather than consumptive
of memory.
}
}
@TechReport{Dartmouth:TR2003-441,
author = {Yasir Ali and S. W. Smith},
title = {{Flexible and Scalable Public Key Security for SSH}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2003-441},
year = {2003},
month = {February},
URL = {http://www.cs.dartmouth.edu/reports/TR2003-441.pdf},
comment = {
A revised version, published as a conference paper, as follows:
Y. Ali, S.W. Smith.
"Flexible and Scalable Public Key Security for SSH."
Public Key Infrastructure: EuroPKI 2004, pp. 43-56,
LNCS 3093, June 2004. Springer-Verlag. DOI 10.1007/b98201.
http://dx.doi.org/10.1007/b98201
http://www.springerlink.com/content/h8jng6kc1rf3j97g/
},
abstract = {
A standard tool for secure remote access, the SSH protocol uses public-key cryptography to establish an encrypted and integrity-protected channel with a remote server. However, widely-deployed implementations of the protocol are vulnerable to man-in-the-middle attacks, where an adversary substitutes her public key for the server's. This danger particularly threatens a traveling user Bob borrowing a client machine.
Imposing a traditional X.509 PKI on all SSH servers and clients is neither flexible nor scalable nor (in the foreseeable future) practical. Requiring extensive work or an SSL server at Bob's site is also not practical for many users.
This paper presents our experiences designing and implementing an alternative scheme that solves the public-key security problem in SSH without requiring such an a priori universal trust structure or extensive sysadmin work--although it does require a modified SSH client. (The code is available for public download.)
}
}
@TechReport{Dartmouth:TR2003-442,
author = {Alex Iliev and Sean Smith},
title = {{Privacy-enhanced credential services}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2003-442},
year = {2003},
month = {February},
URL = {http://www.cs.dartmouth.edu/reports/TR2003-442.ps.Z},
comment = {
Submitted to the 2nd Annual PKI Research Workshop.
},
abstract = {
The use of credential directories in PKI and authorization systems such as
Shibboleth introduces a new privacy risk: an insider at the directory can learn
much about otherwise protected interactions by observing who makes queries, and
what they ask for. Recent advances in Practical Private Information Retrieval
provide promising countermeasures. In this paper, we extend this technology to
solve this new privacy problem, and present a design and preliminary prototype
for a LDAP-based credential service that can prevent even an insider from
learning anything more than the fact a query was made. Our preliminary
performance analysis suggests that the complete prototype may be sufficiently
robust for academic enterprise settings.
}
}
@TechReport{Dartmouth:TR2003-443,
author = {John C. Marchesini and Sean W. Smith and Meiyuan Zhao},
title = {{Keyjacking: Risks of the Current Client-side Infrastructure}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2003-443},
year = {2003},
month = {February},
URL = {http://www.cs.dartmouth.edu/reports/TR2003-443.ps.Z},
abstract = {
In theory, PKI can provide a flexible and strong way to
authenticate users in distributed information systems. In practice,
much is being invested in realizing this vision via client-side SSL
and browser-based keystores. Exploring this vision, we demonstrate
that browsers will use personal certificates to authenticate requests
that the person neither knew of nor approved (and which password-based
systems would have defeated), and we demonstrate the easy permeability
of these keystores (including new attacks on medium and high-security
IE/XP keys). We suggest some countermeasures, but also suggest that a
fundamental rethinking of the trust, usage, and storage model might
result in a more effective PKI.
}
}
@TechReport{Dartmouth:TR2003-444,
author = {Geeta Chaudhry and Thomas H. Cormen},
title = {{Stupid Columnsort Tricks}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2003-444},
year = {2003},
month = {April},
URL = {http://www.cs.dartmouth.edu/reports/TR2003-444.ps.Z},
abstract = {
Leighton's columnsort algorithm sorts on an $r \times s$ mesh, subject
to the restrictions that $s$ is a divisor of~$r$ and that $r \geq
2s^2$ (so that the mesh is tall and thin). We show how to mitigate
both of these restrictions. One result is that the requirement that
$s$ is a divisor of~$r$ is unnecessary; columnsort sorts correctly
whether or not $s$ divides~$r$. We present two algorithms that, as
long as $s$ is a perfect square, relax the restriction that $r \geq
2s^2$; both reduce the exponent of~$s$ to~$3/2$. One algorithm
requires $r \geq 4s^{3/2}$ if $s$ divides~$r$ and $r \geq 6s^{3/2}$ if
$s$ does not divide~$r$. The other algorithm requires $r \geq
4^{3/2}$, and it requires $s$ to be a divisor of~$r$. Both algorithms
have applications in increasing the maximum problem size in
out-of-core sorting programs.
}
}
@TechReport{Dartmouth:TR2003-445,
author = {Geeta Chaudhry and Elizabeth A. Hamon and Thomas H. Cormen},
title = {{Relaxing the Problem-Size Bound for Out-of-Core Columnsort}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2003-445},
year = {2003},
month = {April},
URL = {http://www.cs.dartmouth.edu/reports/TR2003-445.ps.Z},
abstract = {
Previous implementations of out-of-core columnsort limit the problem
size to $N \leq \sqrt{(M/P)^3 / 2}$, where $N$ is the number of
records to sort, $P$ is the number of processors, and $M$ is the total
number of records that the entire system can hold in its memory (so
that $M/P$ is the number of records that a single processor can hold
in its memory). We implemented two variations to out-of-core
columnsort that relax this restriction. Subblock columnsort is based
on an algorithmic modification of the underlying columnsort algorithm,
and it improves the problem-size bound to $N \leq (M/P)^{5/3} /
4^{2/3}$ but at the cost of additional disk I/O\@. $M$-columnsort
changes the notion of the column size in columnsort, improving the
maximum problem size to $N \leq \sqrt{M^3 / 2}$ but at the cost of
additional computation and communication. Experimental results on a
Beowulf cluster show that both subblock columnsort and $M$-columnsort
run well but that $M$-columnsort is faster. A further advantage of
$M$-columnsort is that it handles a wider range of problem sizes than
subblock columnsort.
}
}
@TechReport{Dartmouth:TR2003-446,
author = {Prasad Jayanti and Srdjan Petrovic},
title = {{Efficient and Practical Constructions of LL/SC Variables}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2003-446},
year = {2003},
month = {June},
URL = {http://www.cs.dartmouth.edu/reports/TR2003-446.pdf},
abstract = {
Over the past decade, LL/SC have emerged as the most suitable
synchronization instructions for the design of lock-free algorithms.
However, current architectures do not support these instructions;
instead, they support either CAS or RLL/RSC (e.g. POWER4, MIPS, SPARC, IA-64). To bridge this gap, this paper presents two efficient wait-free
algorithms for implementing 64-bit LL/SC objects from 64-bit CAS or
RLL/RSC objects.
Our first algorithm is practical: it has a small, constant time complexity (of 4 for LL and 5 for SC) and a space overhead of only 4 words per process. This algorithm uses unbounded sequence numbers.
For theoretical interest, we also present a more complex bounded algorithm
that still guarantees constant time complexity and O(1) space overhead per process.
The LL/SC primitive is free of the well-known ABA problem that afflicts CAS. By efficiently implementing LL/SC words from CAS words,
this work presents an efficient general solution to the ABA problem.
}
}
@TechReport{Dartmouth:TR2003-448,
author = {Thomas Mueller},
title = {{Billiards Adviser as a Search in a Continuous Domain with Significant Uncertainty}},
institution = {Dartmouth College, Computer Science},
address = {Hanover, NH},
number = {TR2003-448},
year = {2003},
month = {May},
URL = {http://www.cs.dartmouth.edu/reports/TR2003-448.pdf},
comment = {
Advisor: Zack Butler
},
abstract = {
Typical search algorithms are limited to problems in which there is a certain number of moves for any given state, and the effect of each move is well known. In order to overcome this limitation, we consider the problem of determining the optimal shot given the positions of balls on a billiards table. Our solution includes the image recognition necessary to determine each ball's position, the calculation of the optimal shot, and the presentation of that shot to the player. The focus of the paper is on the second part - determining the angle and force with which the player should attempt to hit the cue ball for each shot in order to sink all of the other balls with the fewest shots. The solution to this problem is unique from other game search algorithms in that it must take into account the infinite number of possible shots given any configuration of balls as well as the fact that the player is not likely to hit the ball exactly how he attempts to do so. We compare the performance of our algorithm with one that ignores the latter fact to show that our modifications do in fact improve performance for a search in a continuous domain with significant uncertainty.
}
}
@TechReport{Dartmouth:TR2003-449,
author = {Lisa A. Torrey},
title = {{An Active Learning Approach to Efficiently Ranking Retrieval Engines}},
institution = {Dartmouth College, Computer Science},