Projects

 Navigation
 o Home
 o Myself
 o Bio
 o Contact me
 o Projects
 o Publications
 o Stuff
 o Links

This page has moved!

I have moved this website to my own domain. Hereafter, this version of my homepage will be lazily mirrored or removed altogether. Please update your bookmarks/links to My new Homepage.


Selected Projects

Publications page contains more details about some of these projects.

Multilingual, Meaning Based Search Engine (B.Tech Project)
The aim of this project was to make a Meaning Based and Multilingual Search Engine (extension of my work at Media Lab Asia). I developed a complete search engine system with modules like crawler, preprocessor, search, page rank etc. Currently it supports English, Hindi and Marathi languages. I designed it such that support for other languages can easily be added. The search was carried on using the meaning of the keywords entered as opposed to keyword based search engines like Google,giving it a broader applicability and greater accuracy than existing models. This search engine retrieves only the knowledge that is relevant and attempts to bridge the language gap by using an underlying, structured language as a backhand translator. The development environment was Linux/Unix and Windows using C++, MYSQL database, mysql++ (library), shell scripting, PHP and HTML. Related News Articles. [Report] [Presentation]
 
 
Phoebes: An Artificial Creativity Engine for Generating Music
Developed a new model for creativity, based on Minsky's model. Specifically for the domain of music, we developed Phoebes, an engine that can be trained with music samples and then asked to generate music on its own, based on a consensus between several mindless agents, each one representing a particular aspect of music. [Presentation]
 
 
Distributed Banking System
Implemented a multi-threaded distributed banking system in Java/RMI supporting distributed transaction processing, concurrency control, logging and recovery for distributed database. Two phase commit was implemented as the final distributed commitment protocol. The distributed nature of transactions coupled with the possiblity of failure of any server at any point of time made it a challenging project.
 
 
An Online Stock Exchange
As the conventional trading floor system disappears from Stock Exchanges, an online approach is adopted to manage the massive amount of data and flow a stock exchange has to handle. We designed a complete system that distributes services over the internet and allows a huge number of concurrent biddings. The system then deals between the users and updates its massive database of equity ownership. Also implemented are safety features and other real life stock market mechanisms. [Report]
 
 
GUMNAM - A Two way Anonymous Communication Protocol
The aim of this project was to design and implement a two way anonymous communication protocol. In this protocol, unlike the other protocols used for anonymity, identity of both the sender and receiver is to be protected. As, a communication cannot be initiated without the knowledge of the second party involved in it, we use a concept of public handle to identify the party that we are trying to reach. We used a semi-trusted third party for this protocol and found a minimal trust model for the communication between entities. This project was implemented in C using Remote Procedure Calls (RPC). [Report]
 
 
XINU
Implemented Proportional Share Schedulers / Process Synchronization/ File System / Virtual Memory / Demand paging / Inter-Process Communication for XINU (UNIX alike OS) Operating System
 
 
Library for Threshold Signatures
We implemented a library for RSA Threshold Signatures based on protocol proposed by Shoup in Practical Threshold Signatures. Threshold signature schemes enable a group of n entities share a private signature key in such a way that, for some parameter k, any subset of k entities can collectively create a valid signature on a message, whereas any collection of k-1 or fewer entities cannot. To the best of our knowledge there is no open source Threshold Signature toolkit available. This toolkit was developed in C using OpenSSL Crypto Library. It can be installed on any platform which has openssl crypto library installed. [Report] [Presentation]
 
 
A Distributed Peer to Peer File Sharing System
Developed a Java driven Linux based system for decentralized sharing of files on a Peer to Peer basis. Emulating the paradigm of Network Neighborhood of the Windows platform, the system was extensible enough to identify new hosts wanting to join the community. It also supported an intelligent file search for fishing through files of peers and a smart download management approach to optimize multiple downloads.
 
 
Centralized Controller
Designed two kind of switches - one master and many slaves (with equal number of push buttons). Master Switch is able to monitor and change state of any one of the slave switches at a given time. It involved designing a protocol for communication and two way communication between master and slave switches. The challenge was to use only one line of communication between master and slaves switches. Project involved design and simulation on VHDL and Xilinx.
 
 
Indefinite Integrator
Made a program in C++, which did Indefinite Integration. I did not hard code the Integration rules but programmed only the domain knowledge of mathematics and ability to learn/deduce rules of Integration (and forget bad rules) through interaction with human users. [Report]
 
 
Implementation of Mini-ML
Implemented a subset of ML (called Mini-ML) using standard ML as the implementation language. Both SML and Mini-ML are mostly-function higher-order programming languages. The compiler supported optimizations such as CPS simplification, simple copy propagation, constant folding and function inlining. The final code generated was an assembly-like code for a virtual machine.
 
 
Multi-class classification using SVM
We did multi-class classification of the Yahoo! directory using Support Vector Machines (SVM). Project also involved building a simple web-crawler for crawling the yahoo directory. [Report]
 
 
Computer Vision
This project involved registration and Analysis of SAR SLC satellite images. This project was sponsored by Govt. of India.
 
 
Java-based compiler for a subset of Pascal language
We designed and implemented a compiler for a Pascal like language using the Java based lexer generator JFlex and the LALR parser generator CUP
 
 
A Text Editor in 8086 Assembly language
Implemented a text editor with features like loading, saving and searching in 8086 assembly language
 
 
Four bit CPU
The project involved the design and implementation of a four bit CPU. The implementation was done in VHDL using Xilinx tools, followed by downloading the program on an FPGA (Field-Programmable Gate Array).
 
 

© 2005 Sarvjeet Singh. All rights reserved.