Amazon's Dynamo Key Value store (CS551 - Computer Communication)
     This class project involved Designing and implementing a highly available networked distributed system on Network simulator depicting real time requests/traffic in the presence of network and server failures. Implemented a distributed hash table for load balancing for put and get requests. Each physical node in the system invokes 4 virtual nodes that are arranged in a form of a Chord Ring, based on individual hash values. Implemented transient failure of physical nodes and replication for satisfying Quorum. Programming language used: C++, Network Simulator: NetSim.
Directed Research: “Batch Queue Prediction System for Supercomputing jobs” at ISI
     What will you do if you have accounts at more than 20 HPC facilities and want to process a large job as early as possible? You probably need to predict the best site at that moment! Using a service called Network weather services, I wrote a perl script to gather information to predict the best site for execution of super computing jobs having some specified parameters. In the next phase of the research I also designed an algorithm to split/parallelize PBS jobs intended to execute simultaneously at multiple sites. Research Paper
Customized Google maps using Flickr services (CS571 – Web Technologies project)
     The mash-up of Google maps API and Yahoo Flickr services was used to search for a map and also retieve photos (using Flickr API) uploaded within a radius of 10kms around that location. The map was shown by placing markers at each photo coordinate location. Users can click on markers to get the info window with the photo and other options to click on. I also implemented the street view feature of Google maps. Technologies used: Javascript, AJAX, Java servlet, XML, JSON; Application Server: Apache Tomcat. >>Link
Netflix Movie Recommendation System (CS567 - Machine Learning project)
     Predicting ‘Who Rated What’ based on competition organized by Netflix (aka Netflix Prize) using a historic database of more than 1 million ratings for 480,000 users upto 2005. The goal of the project was to predict whether a user rated a movie in 2006 or not. Approaches used: Decision tree and k-nearest neighbor (k-NN). Programming language used: Perl. Project Research Paper
Distributed Trusted Computing (CS530 - Security Systems)
     This is a research paper on “Distributed Trusted Computing and its applicability in Prevention of Botnets“. Research mainly focused on 1. How trusted computing can be used to provide Distributed Authorization of resources spread over the internet 2. How Trusted Computing can be applied to Distributed systems to prevent construction of Botnets to launch Distributed Denial of Service (DDoS) and other kinds of malicious attacks. Research Paper
Parallelizing LDA algorithm using Hadoop Map-reduce (CS596 - Sci Comp & Viz)
     Clustering large number of documents by topic using Latent Dirichlet Allocation (LDA) algorithm and use a technique called Gibbs sampling to search for correct probabilities guided by probabilistic rules. Hadoop map reduce framework was used to parallelize this computational challenging problem. Programming language used: Java; Framework: Apache Hadoop. Project Research Paper
Advanced Search Engine (Collator) using Grid at C-DAC
     As part of our undergraduation final year project, we constructed a distribued computing infrastructure - "Grid" using Globus toolkit. We implemented one more layer of abstraction over the conventional search engines by pulling results from 6 top search engines simultaneously for the user entered search query. Applying our Ranking algorithm we then display the best and most relevant search results out of them. The Search Collator had many advanced settings to suit every user. So, No Google-ing anymore!:) Programming language used: Java; Database: MySQL; IDE: Eclipse; Grid: Globus Toolkit gt4. Abstract
Spatial Database project (CS585 – Database Systems)
     This project involved storing and retrieving spatial data objects for different geometries like buildings, vehicles and cameras for surveillance. The above data objects were highlighted on USC map using interactive GUI by querying the Spatial database. A number of spatial querries were used based on line of sight of above geometries. Programming language used: Java; Spatial Database used: Oracle.
Scraping Web Pages using Perl script (CS571 – Web Technologies)
     Search engines have always interest me and this project involved scraping the sponsored links from Google and Live (now Bing) search engines for user entered search string and compare them. Programming language used: Perl; Web server: Apache HTTP. >>Link
Online Supermarket - Food Junction
     Implemented a fully functional web portal for e-commerce. This class project was undertaken in my junior year. Programming language used: PHP; Database: Oracle.
HANGMAN - The Game
     An interactive Game that awards points by quizzing users to guess phrases/words. The graphical hangman looses one limb everytime user enters an incorrect letter. The hangman is beheaded on the last mistake, he dies and so does the user. Trust me it's a fun game and addictive too:). Even this class project was undertaken in my junior year. Programming language used: Visual Basics; Database: Oracle.
