Aditya Rajgarhia
  Aditya Rajgarhia
  Email Aditya




A master's student in Computer Science at Stanford University, interested in Operating Systems and Distributed Systems. Prior to this, attended Illinois Wesleyan University.

Current Projects

SPADE: Support for Provenance Authentication in Distributed Environments (with Dr. Ashish Gehani at SRI International).
This project aims to develop user space filesystem functionality for transparently auditing and certifying the lists of files that are read and written by processes executing in a distributed system. We are using FUSE to implement the file system functionality. I developed an API that enables FUSE file systems to be written in Java (source code available upon request, and to be available on SourceForge soon). I also explored performance issues that may arise in a file system implemented in user space.


Publications

Aditya Rajgarhia and Ashish Gehani. Performance and Extension of User Space File Systems. To appear in Proceedings of the 25th ACM Symposium on Applied Computing (SAC), 2010.



Work Experience

VMware Inc. (Jun-Aug 2009): Rewrote the Snapshot Viewer component of VMware's Workstation product for Linux. The existing component used a deprecated UI widget library called Gnome Canvas, and had to be ported to a newer library called GooCanvas.

SRI International (Jun-Sep 2008): SPADE project, described above.

Yahoo! (Jun-Sep 2007): Designed and implemented a user content-submission system for Yahoo! Travel.

Assistant Systems Administrator (2003-2007): Duties included implementing and troubleshooting campus-wide LAN, installing and maintaining workstations and servers running Windows, Linux, Mac OS, Sun Solaris. Also, installed several production servers including those for network monitoring, statistics gathering, and WI-FI authentication.

Web-based Chat Room (
Jun-Sep 2006)  - Developed an AJAX-based chat program using Ruby on Rails for a research project at the Department of Psychology, Illinois Wesleyan University.


Past Projects

Distributed File System
Designed the protocol for a distributed file system, and then implemented it for a UNIX environment. The protocol was designed to ensure file integrity under a variety of stressful network conditions.

Distributed Multi-player Game
Implemented a decentralized, multi-player game based on the historically significant “Mazerwar” game. The network protocol for the game was designed as part of a group, with individual implementations expected to work together.

Network Load Balancer
Implemented a web server load balancer on an OpenFlow-enabled switch, using the NOX controller. OpenFlow is an open standard led by Stanford University that allows experimental protocols to be run in production networks.

Pintos Operating System
Designed and implemented major components of the Pintos operating system, including multi-threading support, support for running user-level programs, virtual memory, and a persistent file system.

Piles: A novel user interface for handheld devices (with Dr. Clifford Nass at Stanford CHIMe lab).
For this project, we implemented a user interface for small-screen devices that has users 'flick' notes, images, audio, and video files onto virtual piles beyond the display of small-screen devices. This scheme allows PDA users to keep information close at hand without sacrificing valuable screen real estate.

Image Stitching on Mobile Phone
Explored techniques for creating panoramic images and implemented real-time, automatic image stitching on a SymbianOS mobile phone using Python. At the time, there did not exist such software for mobile phones.

Face Detection using ICA
For my undergraduate thesis, I developed and implemented in C++ a technique that uses Independent Components Analysis to potentially increase the accuracy of face detection systems.