Praveen Krishnamoorthy

   About      Courses      Projects      Contact   


About:

I did my Masters in Computer Science from The State University of New York, Stony Brook and graduated in Dec'10. Currently, I am working with LSI Corporation, Colorado Springs in the Device Drivers(Linux) & Firmware team for SAS(Serial attached SCSI) I/O Technology. When in Stony Brook, I was also a Research Assistant in the Secure Systems Lab and worked under the guidance of Prof.Sekar

During the Summer of 2010, I interned at Akamai Technologies, San Mateo, California. I was working on optimizing the log analysis by analyzing the code using oprofile and restucturing the algorithm that parses through the Content delivery network logs.

I was with Hewlett Packard, India for 2 years before taking up my masters in fall 2009. At HP, I was working in the System Technology and Software Division which maintains the HP-UX codebase. I graduated from Thiagarajar College of Engineering, affiliated to Anna University in May 2007.

Graduate Courses:

Fall'09:
CSE 506 - Operating System, Prof. Erez Zadok
CSE 548 - Analysis of Algorithms, Prof. Radu Grosu
CSE 590 - Wireless and Mobile Networks, Prof. Jie Gao
CSE 596 - Independant Study, under the guidance of Prof. Sekar

Spring'10:
CSE 502 - Computer Architecture, Prof. Larry Wittie
CSE 509 - Computer System Security, Prof. Sekar
CSE 594 - Cloud Computing, Prof. Radu Sion
CSE 523 - Introduction to Software Engineering and Project Plan, under the guidance of Prof. Sekar

Fall'10:
CSE 533 - Network Programming, Prof. Hussein Badr
CSE 549 - Computational Biology, Prof. Steven Skiena
CSE 524 - Lab in Computer Science, under the guidance of Prof. Sekar


Projects:

# V-NetLab [C++, shell scripting, VMware Server 2, VIX API] :

VNetlab is a NSF funded research project developed in the Secure Systems Lab under the guidance of Prof. Sekar. The project involves isolating the virtual network created using virtualized systems for conducting security related experiments.

# Odr-Proto [C, Unix Network Programming] :

Odr-Proto is an On-Demand shortest-hop Routing (ODR) protocol for networks of fixed but arbitrary and unknown connectivity, using AF PACKET (Raw) sockets. The implementation is based on (a simplified version of) the AODV algorithm. A sample time client and server application was developed that send requests and replies to each other across the network using this ODR Protocol (instead of TCP/UDP). An API implemented using Unix domain datagram sockets enables applications to communicate with the ODR mechanism running locally at their nodes <\p>

# Rftp [C, Unix Network Programming] :

Implemented a primitive file transfer protocol for Unix platforms, based on UDP, and with TCP-like reliability features (acknowledgements, sliding-window mechanisms, flow and congestion control) added to it. The server is a concurrent server which can handle multiple clients simultaneously by forking off a child that transfers the contents over to the client using UDP datagrams. The client handles the incoming content, and ensures that all packets have arrived inorder with nothing missing and with no duplication of content(using the receiver sliding window)

# App-Sandboxer [C] :

App-Sandboxer is an user-level application that can monitor and restrict an untrusted application. The system call interception framework provided by Ptrace is used to intercept the system calls made by the untrusted application and based on the policies defined for that application, access is either granted or denied.

# Very Simple Network FileSystem(VSNFS) [C, Linux Kernel Programming]:

VSNFS is a bare minimal Network Filesystem that serves files and directories across the network.Remote Procedure Call(RPC) is used to implement the client server model on top of TCP.

# Extended eCryptfs [C, Linux Kernel Programming]:

eCryptfs is a stackable filesystem that provides the encryption/decryption functionality with a basic passphrase as authentication mechanism. Extended eCryptfs provided the additional fine grained authentication and authorization mechanism with the implementation of ACLs.

# Crypt - System Call for File Encryption/Decryption [C, Linux Kernel Programming] :

sys crypt() is a system call implemented as a linux kernel module that supports ecryption/decryption of the file.To support usage of that file across systems, the encrytion related attributes were written as a metadata to the header, which would be used while decryption

# JigSaw [Hadoop MapReduce, Python, PHP, MySQL] :

JigSaw is a large photo sharing application and management infrastructure developed to handle and display images at a faster rate. The crux of the project lies in slicing the uploaded images using our Hadoop Mapreduce functions and storing them in NFS. The webpage displaying the images downloads the slices parallely through different web server machines thereby overcoming the limit on estabilishing parallel connections by the web browser

# First Task and Process Management Server for the Mexokernel ProX [C]:

Partial Implementation of a simple process management server for the Mexokernel ProX which primarily involved the implementation of priority based scheduler for the process management server.

# TCENet Administration [Perl, PHP & Network Administration]:

Migrated the IT infrastructure of Thiagarajar College of Engineering to Free and Open Source Solutions which involved the setup of Firewall(IP tables), Proxy Server(Squid), Mail Server(Exim + Cyrus + SquirrelMail), DNS Server(Bind), Web Server(Apache), Centralized authentication System(Single Sign On)(Kerberos + OpenLDAP + Samba). Developed scripts in Perl to easily add, edit and delete user proles into the LDAP directory and to create, edit and delete mail boxes.


Contact:

Contact me : kpraveen85@gmail.com