M. S. Jarrett, et al, "Clean store for operating system and software recovery,"
U.S. Patent 8 612 398, December 17, 2013.
M. S. Jarrett, A. M. Marinescu, M. G. Gheorghescu, G. C. Chicioreanu,
"Thread scanning and patching to disable injected malware threats,"
U.S. Patent 8 387 139, February 26, 2013.
M. S. Jarrett,
"Resource-reordered remediation of malware threats,"
U.S. Patent 8 087 061, December 27, 2011.
M. Jarrett and R. Seviora,
"Constructing an Autonomic Computing Infrastructure Using Cougaar",
Proceedings of the Third IEEE International Workshop on Engineering of Autonomic and Autonomous Systems (EASE 2006),
March 2006, pp. 119-128.
M. Jarrett and R. Seviora,
"Diversity to Enhance Autonomic Computing Self-Protection",
The First International Conference on Availability, Reliability and Security (ARES 2006),
April 2006, pp. 295-299.
M. Jarrett and P. Ward,
"Trusted Computing for Protecting Ad-hoc Routing",
Proceedings of the 4th Annual Communication Networks and Services Research Conference (CNSR 2006),
May 2006, pp. 61-68.
Computer Engineering - University of Waterloo
Work Term Reports
Tracing Java Operations in Hotspot
Describes the difficulties involved in tracing critical operations
in the "Hotspot" Java Virtual Machine from Sun Microsystems. Results
of an implementation of these tracing features are described.
Visualizing an Object Memory Simulator
Documentation of work done to allow a visual inspection of a memory system
simulator's state using the GCSpy tool.
Circumventing the Wired Equivalent Privacy Protocol
Outlines experiments targeting the Wired Equivalent
Privacy encryption and authentication scheme of 802.11 wireless networks,
and the conclusions reached from these experiments.
A PKI for Trusted Pervasive Computing
Final Project: ECE750-6 - Pervasive Computing
Describes a public key infrastructure rooted in PGP-like web-of-trust
ideas, used for remote attestation verification in a trusted computing
environment. Two example scenarios demonstrate how such a system
could be effective for a pervasive computing environment.
Survey of Trusted Computing Technologies and Challenges
Survey: ECE750-6 - Pervasive Computing
Outlines the approaches taken by several industry groups in the area
of trusted computing, and some of the challenges still faced.
Adjustable Autonomy for Autonomic Computing
Final Project: CS886 - Multi-Agent Systems
Outlines the need for autonomic computing, and describes a solution
based on a cooperative multi-agent system. Outlines the need for
adjustable autonomy to make such a system usable, and makes accomodation
in the design for adjustable autonomy.
YabAI - Winner of the First RoboCup Rescue Competition
Project 3: CS886 - Multi-Agent Systems
Discusses the RoboCup Rescue Simulation League competition for 2001.
The winning agent team, YabAI, is analysed, and conclusions drawn
about the competition and YabAI based on its performance.
Analysis of SouthamptonTAC in TAC'01
Project 2: CS886 - Multi-Agent Systems
Discusses the second Trading Agent Competition in Tampa in 2001, and
analyses the features of SouthamptonTAC, a finalist in the competition.
Investigation into Features of Public Key Infrastructures
Final Project: ECE628 - Computer Network Security
An overview of challenges and current technologies available
for the management and distribution of public keys for
public key based cryptosystems.
Re-Engineering the Java Buffer Library with OpenJava
Final Project: ECE750-7 - Software System Family Design and Generative Programming.
Description of an attempt to use the OpenJava preprocessor to generate
code in the Java NIO buffer library.
An Architecture for Self-Protecting Autonomic Systems"
Final Project: GENE 401 - Special Directed Studies.
A description of security issues as applied to autonomic computing.
A basic architecture is described, and a description of the critical
components given. An approach to investigating autonomic security
further is described.
Management Technologies for a Pervasive Computing System
Research Proposal: ECE750 - Distributed and Network Centric Computing.
Surveys the technologies that could be used to provide management of
pervasive computing technologies. Across several areas of pervasive
computing management, several common approaches were found, leading
to the proposal that these techniques could be used in a more general case.