Objective: Looking for a full time position in design and implementation of
software systems.
Education:
Master of Science, Electrical and Computer Engineering (Expected 2010)
Overall GPA 3.5
UNIVERSITY OF ROCHESTER, ROCHESTER, NY
Coursework: Wireless communications and networking, Mobile
communications, Introduction to random processes, Digital communication,
Digital Signal Processing, Computer Networks.
Bachelor of Engineering, Electronics and Computer Engineering (Completed
2008)
SP COLLEGE OF ENGINEERING, MUMBAI UNIVERSITY, MUMBAI, INDIA
Coursework: Wireless communication, Data Communication and Networking,
Applied Mathematics, Microprocessors and Microcontrollers, Microwave and
Fiber Optic Communication, Analog Integrated Circuits and Applications,
Communication systems, Computer Organization, Operating Systems,
Computer Architecture, Basics of Communication Engineering, Computer
Programming(C,C Data structures.
Languages used: C, C++, VHDL, ASSEMBLY LANGAUGE, MATLAB, HTML
Operating systems and platforms: Windows, UNIX, LINUX Fedora, LINUX
Ubuntu
Tools: EAGLE CAD software, AVR GCC, GCC, Visual Studio, Dev C++, Emacs,
PUTTY, VMware
Network Protocols & Cellular Networks: TCP/IP, UDP, DHCP, ICMP, IGMP,
FTP, IMAP, POP, 2G, 3G (GSM, CDMA, UMTS)
Projects:
Web data Crawling and Collecting
> Web crawler crawls URLs within the given webpage.
> Implementation in two modes: N bytes/sec, N pages/sec; controlling
bandwidth of the crawler.
> HTML parsing and normalization are done in C.
> Obeys politeness policy by not accessing disallowed links after
checking robots.txt at the root of the webpage.
> Avoids looping problem by doing lookup in crawl frontier.
> Downloads large files (PDFs, images etc) and gives choice for type of
file to be downloaded.
> Multithreading could be implemented in future.
> Planning to implement a page ranking system.
Peer-to-Peer File Sharing Gnutella Style
> Directory containing local files is shared through this protocol.
> A search query is initiated at any node with input filename prefix.
> Query flooding is implemented using a protocol running on top of TCP
> A feature is included to take care of looping within the network.
> TTL control is implemented.
Multi-threaded Web Proxy Server
> The proxy server acts as an HTTP server to client browsers while it
acts as an HTTP Client to the "real" Web server.
> Proxy server supports GET method like HTTP 1.0 compliant web server
for taking data from the web browser.
> Parsing of HTTP response from the real web server is done in C.
> Multithreading is implemented with POSIX threads from pthread library
which serve multiple client requests in parallel.
> Caching is implemented thus saving Wide Area Network Bandwidth
Distance Vector Routing Protocol
> The program runs in all hosts in the specified network.
> The program at each host doesn't know the complete network topology.
> Routing program at each host reports the cost and next hop of the
shortest paths to all hosts in the network.
> Each host sends out routing information only to its neighbors at a
certain frequency regardless of whether the information has changed
since its last announcement improving robustness of the protocol.
> The host recomputes distance vector and routing table right before
sending out routing information to neighbors.
> Program handles the recursive-update problem that only involves two
nodes.
Reliable Data Transfer Protocol (RDT)
> A Go-Back-N protocol which is implemented as an RDT in a simulated
environment.
> There exists a link between the lower layers at the sender and the
receiver which can corrupt, reorder or lose data.
> Lower layer at the sender gets messages of different sizes from upper
layer thus data fragmentation is done if the message is too big to fit
into a packet.
> Window size for the number of packets is kept fixed and the sender
buffer is created to guard against data loss due to high transmission
rate from the upper layer.
> Checksum field is included in the packet to ensure proper error
detection.
> Sequence numbers are used for packets to ensure loss free and in order
delivery.
Socket Programming
> Berkeley socket library containing standard APIs is studied.
> Stream sockets implementing connection oriented semantics are studied
and TCP protocol is implemented.
> Datagram sockets implementing connectionless semantics are studied and
UDP protocol is implemented.
> Client-Server network architecture is learned and implemented.
Web Server Based Automation System
> Control system automation to combat hazardous conditions, fill need
for precision and efficiency.
> Designed hardware, board layout, test and validation as lead
electrical engineer.
> Demonstrated use of an embedded web server; system provided user
authentication, internet based switch control.
> Used microcontroller (Atmel ATMEGA88) an Ethernet controller
(Microchip ENC28J60), CAD software for layout.
Presentations:
> Verification of audio speakers using Mel Spaced Filter Bank Cepstrum
Coefficient;
Department of Electronics, SPCE May 2007
> Hyper-Threading Technology Electronic Students Association
Competition, SP
College of Engineering, October 2006