| Projects |
I am interested in the field of networking and the projects I chose as part of my B.E. curriculum reflect this. Below is a list of some of the projects I have worked on. SMS API and Automated response system: Developed an API to send/receive SMS messages via a phone connected to the serial port of a PC. The API was used to develop an Automated Response System which allows users to query information from a database by sending keywords. Such a system could be used to obtain information about airline reservations, university results etc from a mobile phone. The applicaton also provided functionality to manage SMS messages using an interface similar to Mozilla Thunderbird/MS Outlook. Bittorrent Coordination Tracker System: The Bittorrent Coordination Tracker System attempts to improve the robustness of the bittorrent protocol by allowing groups of users to coordinate and download discrete parts of a file so that they can build a collectively exhaustive set of pieces for the file in the minimum amount of time. The tracker server advices each client involved in the coordination process on which pieces of the file to assign higher priority to. All communication between the client and server uses XML for easy readability. I am currently running a test system at http://www.voidbots.net. For a brief faqs type of explanation about this project, please visit http://vsagesoftware.com/vct. Links to the clients for both Windows and Linux are also available at the same location. Software Modules for Digital Key Telephone System (DKTS): Implemented the state machine, display, phonebook and Ringtone modules for the DKTS from Aural Networks which will soon replace their analog system (http://www.auralnetworks.com/telephones_1.html). Video Conferencing Application: Designed and implemented a Video Conferencing Application using the OpenH323 library and Microsoft Visual C++. It supported Whiteboard Chat, unlimited simultaneous file transfers, and Audio/Video Conferencing using the OpenH323 Library. The audio and video communication component was provided as a separate application with strong Inter-Process communication between the two applications to provide a seamless experience. DHCP Client and Server: Implemented a DHCP Client and Server application as specified in RFC 2131. The Server supported both static and dynamic assignment of IP addresses. The static assignment used the MAC address of the client to always assign it the same unique IP. This also took precedence over dynamic IP ranges. The server would assign a dynamic address if it was unable to find a matching entry for the MAC address in its tables. IRC Library: Developed an IRC library as specified in RFC 1459. The library supported connections to multiple IRC servers and parsed incoming messages to automatically handle ping requests from the server etc. I wanted to add support for CTCP and DCC protocols too but havent implemented it yet. These will be added later. LAN Instant Messenger Client/Server: Designed and implemented a LAN instant messenger client for windows using VC++ which could be run in either client or server mode or both. The messenger showed a list of users currently connected to the server and allowed private as well as group chat. Support for file transfer was not provided in this version but code from this project was used to develop the Video Conferencing application which supported file transfers also. Linux Text Editor: Implemented a Full Screen Linux text editor using the NCURSES library in C++. The program was designed to mimic the feel of edit in DOS. It used a linked list data structure to store characters allowing customized formats for characters such as different colours, underlined and bold. 2D Graphics Editor: Designed and implemented a 2D graphics editor in C++ using BGI. The program was designed to run in DOS and provide features present in MS Paint. The program however did not support standard formats such as bmp and jpeg and used a custom format of its own though support for other formats could be added as a module. Database for a Mobile Phone store: Designed and implemented a Database system for a Mobile Phone store. The front-end was implemented in Microsoft Visual Basic and the back-end used Oracle. |