Academic Graduate Projects
Three-Tier Architecture for Ubiquitous Data Access Jan00-May01
Three-tier architecture of a middleware that addresses
challenges facing accessibility, availability, and consistency of data in
mobile environments is designed.
Coda File System, Carnegie Mellon University. http://www.coda.cs.cmu.edu
stockDen Feb01-April01
stockDEN is a complete suite of mobile stock services providing
stock tracking, mobile trading and customization tied with elegant
user-interfaces for the smart investor on the move. This design and
implementation was for a Motorola-sponsored project for the Mobile Computing
class. Used Sun's J2ME technology for small devices and implemented on
Motorola's new Java-enabled i85s and i50sx handsets that use the iDEN
technology.
J2ME, iDen
DLXSim Simulator for a Cycle-by-Cycle pipelined DLX architecture.
Sep00-Nov00
Implemented a cycle-by-cycle pipeline simulator for DLX. Also
developed an assembler. The assembler translates the pipelined assembly code
into DLX binary code. The simulator loads the binary code into memory,
execute the code, and produce performance statistics. The simulator also
does forwarding and handles branch delays.
Java, WinDLX.
TINY-Compiler construction for a C type language
Sep00-Nov00
In this project implemented a lexical analyzer, recursive
descent parser, constrainer and a code generator for the Tiny language. Tiny
is a small subset of C.
Java, Oolong (to convert JVM instructions to byte code)
Leader Election Problem in Distributed Systems
Mar00-Apr00
Implemented the Bully algorithm in distributed systems to
counter site failures by electing new leader to transparently manage
transactions.
Java.
Database Indexing using Hash and Joins
Feb00-Apr00
Increased query performance by adding primary and secondary hash
indexes, threading and word boundary techniques.
C++, Tcl.
Birman-Schiper-Stephenson Protocol for Causal Ordering of Messages in
Distributed Systems
Feb00-Mar00
Implemented a global clock mechanism for synchronization in
distributed systems based on the causal ordering of messages
Java.
Dining Philosophers Problem in Virtual Distributed System
Jan00-Feb00
Implemented the famous resource/data management problem for
concurrency and deadlock analysis.
Java.
mVoice - Design, Implementation and Performance Analysis of a Distributed
Multicast System for Audio conferencing
Nov'99-Jan00
Implemented a multicast audio conferencing system based on the
spanning tree topology. Performance evaluations showed marked improvement
against a unicast system in terms of bandwidth utilization and scalability.
TCP/IP, C, Solaris
Overview of the Data Warehousing Project at Stanford (WHIPS)
Oct99-Dec99
Studied the WHIPS and its features architecture, materialized
views, incremental hoarding, etc. - for presentation in the course Data
Warehousing and Decision Support System.
Design and Implementation of a Unix Shell
Mar00-Apr00
A complete UNIX shell was implemented with pipes, redirection
and shell environment management. A lexer and a parser were used to parse
command line inputs.
Java, JLex, CUP.
UNIX Device Drivers
Aug'98-Dec'98
Presented various building concepts of a UNIX Device Driver, the
importance of a device driver and how it interacts with other interfaces, an
overview of the system components and I/O data buffers, discussed the
various routines which provide block I/O interface, character I/O interface
and terminal I/O interface and introduction to streams I/O interface and
SCSI.
COMPDOC- A Medical Expert System using Prolog Inference Engine
Jan'98-Mar'98
Designed and developed a medical expert system having a Prolog
inference engine for diagnosing common diseases. Engine was interfaced to a
multimedia presentation made with Authorware and Adobe Photoshop.
Prolog, Adobe, Authorware.
CRC tool to aid efficient Object Oriented Design
Mar98-May98
A simple tool to manage the class-hierarchy-relationships for
object oriented design. The concept was picked up from the CRC cards used to
manage classes in software engineering.
ANSI C++
Component Based Development in Java
Aug '99 to Dec '99
The project was done at the Center for Instructional Software
set up by Learning Byte International to develop instructional Software.
Researched upon the benefits of Component Based Development, identified Java
as the language for implementation and implemented simple applications using
this distributed paradigm.
Java
Rain Drop Virus-Implementation for DOS
Sep97-Nov97
Assembly code was written to simulate the famous Rain Drop Virus
on DOS. Its a funny virus that drops all the characters on the screen to
the bottom of the screen like rain drops.
Language 8086 Assembly Language