Professional Background:
Technical Background:
Operating Systems |
: |
Linux, eCoS (embedded OS), Solaris, IBM AIX, HP-UX and
Windows |
Languages |
: |
C, C++, Java and Javascript, Intel IXP 1200 and 2X00
Assembly Language |
Tools |
: |
IXP Developer Workbench on Windows, GNU tools
(Compilers, GDB etc), RedBoot, JDK, CVS, Bugzilla, KDevelop, MS Visual Studio
and .NET studio, HP OpenView network management application, WinRunner 7.5,
QT library |
Databases |
: |
Berkeley DB, Oracle 9.1.2, MS SQL Server 2000 |
Standards |
: |
HTTP, SMTP, IMAP, SNMP, MPLS and UP.Push |
Middleware |
: |
IBM Aglets, Voyager framework |
Application/Network Servers |
: |
Sendmail, Wu-FTPD, NFS, C-News based Netnews server |
Web Servers |
: |
Apache and IIS |
Directory Servers |
: |
Openwave Directory Server |
Other |
: |
Intel IXA SDK on Windows, OpenSSL on Linux and Windows NT
and RougeWave on HP-UX |
Educational
Background:
M.E. (Computer Engineering),
1998, VJTI, Mumbai, India
B.E.
(Computer Science), 1996, Govt. College of Engineering (SGGSCE&T), Nanded,
India
Work
Details:
Company Name:
Persistent Systems Pvt. Ltd.
Project Title |
: |
Mobilized Software Initiative (MSI) |
Scope of the Project |
: |
Mobilized Software Initiative from Intel aims to provide
a comprehensive set of tools, services and architecture specifications and
training programs to help design software for mobility. Mobilized software
means software designed to help insulate users from network dependencies by
moving server-based application functions and data to the client, effectively
making a client ‘rich’. The project at Persistent consists of defining and
delivering a three-day course for developers and architects of mobilized
software. This course would be offered through Intel Software college
worldwide to ISVs. The work involves defining best practices for mobilized
application development, explaining the state-of-the-art technology, web
services programming using C# on .NET platform and Java, PocketPC based
application development, database synchronization using Sybase iAnywhere and
programming using Centrino based wireless-enabled PCs. |
Duration |
: |
August 2003 – April 2004 |
Team Size |
: |
7 |
Role/Responsibilities |
: |
As a team-lead for the project, I am responsible for overall
course content generation with help from domain experts at Persistent,
day-to-day customer interaction and managing an engineering team to develop
applications required for the lab sessions of the course. |
Software Tools |
: |
Visual Studio .NET, C#, Web Services security
enhancements, Intel Mobility Enabling tools, Visual Studio .NET compact
framework, Embedded Visual C++, EWE framework for cross-platform Java
development, |
Project Title |
: |
Censtor: Backup appliance |
Scope of the Project |
: |
Censtor is a cost-effective backup appliance for SOHO
(Small Office Home Office) requirements. It is an Xscale based Linux machine
running a Samba server. It also provides Windows 98, 2000 and XP client to
schedule backup jobs. The work at Persistent involved implementation of
web-based management interface using CGI programs written in C and a backup
job scheduler application on Windows using VC++. The web interface involved
management of configuration, user names and passwords, starting and stopping
of Censtor custom services, interfaces to log files and firmware upgrades.
The scheduler work involved writing a Windows service, management of
application configuration through Windows Registry and programming with QT
library for GUI. |
Duration |
: |
July 2003 – August 2003 |
Team Size |
: |
3 |
Role/Responsibilities |
: |
Technical Manager. I was providing technical leadership
to this project while I was the leading the Intel project (listed above). |
Software Tools |
: |
Microsoft Visual Studio for C++, Apache 1.3 for RedHat
Linux 9.0, QT library, GNU C++ development tools (g++, gdb), CVS |
Project Title |
: |
MPLS Implementation and performance benchmarking |
Scope of the Project |
: |
The project involves implementation of various MPLS
(Multi-Protocol Label Switching) functional flows on Intel’s IXP 2800
processor and doing performance analysis. The individual MPLS workflows are
implemented and the performance statistics like sustained data rate, memory
accesses and latencies etc are computed. The intention of the activity is to
validate if IXP 2800 can handle a certain amount of MPLS traffic. |
Duration |
: |
March 2003 – June 2003 |
Team Size |
: |
1 |
Role/Responsibilities |
: |
Developer. As this was a one-person project, I had the
responsibility to design, implement, analyze the performance and put the
results in a proper perspective for the utilization by the customer for
performance comparison. |
Software Tools |
: |
IXA SDK, IXP Developer Workbench |
Project Title |
: |
Mobile Access Gateway |
Scope of the Project |
: |
MAG (Mobile Access Gateway) is a product that bridges
the wireless network and the wired Internet. This complex product, which gets
deployed at the CSPs (communication service providers), allows WAP devices
like mobile phones and PDAs to access internet over GSM/CDMA networks. When
we got involved into this project, it was in the testing phase and our team
was involved in writing test specifications and test automation for the
product. The work involved understanding the entire architecture of the
product, knowledge transfer from the US team and driving the test automation
activity. |
Duration |
: |
September 2002 – February 2003 |
Team Size |
: |
7 |
Role/Responsibilities |
: |
Technical Manager and team lead. My main role was to
convince our customers on the capability of our team to deliver on schedule. I
was responsible for understanding the product from the team at US, training
Persistent team back in India, design and develop the test suite and running
the test suite on the successive builds. |
Software Tools |
: |
Solaris 5.8, IBM AIX 5.1, Apache web server, WinRunner
7.5, Perl, Java based HTTP client and server tools, LDAP client, SNMP tools
and Oracle 9.1.2 |
Project Title |
: |
TCP Termination Engine on Intel IXP |
Scope of the Project |
: |
The work involved implementation of TCP termination on
Intel's IXP 1200 network processor. The IXPs have dedicated multi-threaded
hardware processors, called micro-engines, for processing the network
packets. We have to distribute the TCP/IP functionality across these multiple
micro-engines for optimum performance. We implemented TCP checksum, PCB
lookup, TCP Input processing and some part of the TCP output processing
functions. |
Duration |
: |
April 2002 – August 2002 |
Team Size |
: |
3 |
Role/Responsibilities |
: |
Team Lead, Developer. My role was to understand the
requirements, design the software framework, provide the flow for each major
function and handle the client communication. The major challenge was to
drive the relatively inexperienced team to learn the new technology and to
break down the complex functions into easy-to-implement modules. |
Software Tools |
: |
IXA SDK, IXP Developer Workbench, Tcpdump, BSD 4.3
Networking Stack |
Project Title |
: |
Embedded Systems |
Scope of the Project |
: |
This was an investigative project under the Technology
Incubation Division (TID) at Persistent Systems. The main goals of the
project were to build skills in embedded system development. |
Duration |
: |
November 2001 - March 2002 |
Team Size |
: |
3 |
Role/Responsibilities |
: |
Researcher, Prototype generation. We explored RedHat’s
eCoS (Embeddable Configurable OS) and related application development. I was
also responsible for implementing a highly efficient Berkeley-DB based system
logger, which could be used to replace the standard ‘syslogd’ on Unix for
embedded systems. The other responsibilities included helping the team
maintain the focus when the direction was not well defined, writing business
proposals for prospective customers and evolving the direction for future
work in this area for the company. |
Software Tools |
: |
eCoS (Embedded Configurable OS), RedBoot, Berkeley DB,
SyncML reference tool kits |
Project Title |
: |
Processing of CDR |
Scope of the Project |
: |
The work involved processing of telecommunication
related Call Detail Records (CDRs) in a batched mode. This short project involved
design and development of 3 utilities. The first utility would accept a
request from a remote client and after validating the request string, would
pass it on to the second utility as a file. Both these utilities run continuously
in a daemon mode. The second utility would filter out the CDRs based on the
input string received and put the results in some temporary files. After a
specified period, mentioned in the input string, the second utility would
call the third utility, which would merge the filtered records from all the
temporary files and produce a sorted output. The appropriate output would be
put into a file. All the utilities, especially the second, had to be
high-performance utilities as we needed to process more than 300,000 CDRs
every 10 minutes. The development was done on the HP-UX 11.0 platform using
C++ and Rouge-Wave library. |
Duration |
: |
Sept. 2001 - Oct. 2001 |
Team Size |
: |
3 |
Role/Responsibilities |
: |
Team Lead. Responsibilities included quickly understand
the requirements, get the entire team on the track and interact with the
client almost on a daily basis to get the requirements and implementation in
sync. Also wrote test plan and test cases for the module and was able to
deliver the software on time. |
Software Tools |
: |
RougeWave Library, HP-UX OS and HP aCC compiler |
Project Title |
: |
XML Content Router |
Scope of the Project |
: |
The product is a high-performance content routing
embedded Linux box. SCR takes as an input an XML message and after querying a
database of the recipients of the message, routes it over various channels
such as e-mail, pager, voice, SMS, UP Push phone etc. The product gets
deployed as an embedded box that is managed remotely using a Web interface.
The development of SCR was done on Redhat Linux 7.0 using an embedded Linux
development kit for Hardhat Linux, which is an embedded OS. The programming
was done in C++ language. The development involved heavy inter-process
communication (IPC) using Unix domain sockets and memory-mapped files. The
network I/O was based on BSD sockets library. The work involved interfacing
with Sendmail (the most popular mail transfer agent available on Unices), UP
Push client (for Phone.com's implementation of UP Push server),
implementation of SMTP, IMAP, POP3 & HTTP protocol clients and a high-throughput,
limited functionality HTTP web server. The multi-threading was implemented by
using the Pthread library available on Linux platform. |
Duration |
: |
April 2001 – August 2001 |
Team Size |
: |
8 |
Role/Responsibilities |
: |
Team Lead, |
Software Tools |
: |
HardHat SDK, RedHat 7.0, Sendmail, P-thread library |
Project Title |
: |
SSL Acceleration Appliance |
Scope of the Project |
: |
The product is an SSL (Secure Socket Layer) based web
appliance. It off-loads the SSL processing of the web servers. The product is
available on Windows NT as well as on RHLinux. The core product is a
multi-threaded server that accepts connections from the secure clients on the
Internet and establishes a secure channel with them. All the encrypted data
from the clients (typically an HTTPS request) is decrypted and passed to the
backend web server over a TCP connection. Similarly, any the response from
the web server is encrypted before sending it to the secure client. The
product gets deployed as an embedded box that needs to be managed remotely.
The management software is written in Java and communication between SB and the
management software happens over a custom protocol layered over SSL. The
development was done on Windows NT and Red Linux using C++ and Java. The
OpenSSL library and JSSL package was used for SSL support on SB and
management software respectively. |
Duration |
: |
October 1999 - March 2001 |
Team Size |
: |
4 |
Role/Responsibilities |
: |
Team Lead |
Software Tools |
: |
RedHat Linux 6.2, Windows NT Server 4.0, Kdevelop, MS
Visual Studio, OpenSSL library, JDK 1.2 |
Company Name:
National Center for Software Technology (http://www.ncst.ernet.in)
(Now
part of CDAC – Center for Development of Advanced Computing – http://www.cdacindia.com)
Project Title |
: |
Distribute Network Management System |
Scope of the Project |
: |
Distributed Network Management System (DNMS) was
developed for the Computer Networks and Internet Engineering division. This was
a research project that explored technologies like mobile agents and CORBA.
The basic idea was to use a mobile object framework instead of standard SNMP
agent for gathering management data from various networked devices such as
routers etc. The network management is distributed in the sense that each LAN
has its own network manager. Each network manager manages the networked
devices, application servers and hosts on it's own LAN. The network managers
interact with each other to manage the entire network. The management data is
distributed and shared between these network managers. The network managers
can send a management agent to any of the network device to either gather the
management data or control the device. The mobile agent framework running on that
device receives this management agent. The agent framework might use services
of a native SNMP agent to control the device. The development was done on
RHLinux 6.0 using Voyager mobile agent framework. |
Duration |
: |
August 1998 - August 1999 |
Team Size |
: |
3 |
Role/Responsibilities |
: |
Co-Team Lead, Developer. The group was loosely managed
in that we did not feel the need to have a team lead. Everybody in the group
contributed with ideas to overall design of the system. My role was to explore
the Voyager and IBM Aglet framework and possibility of using SNMP for native
device management. |
Software Tools |
: |
RedHat Linux 6.0, Voyager Mobile Agent Framework, IBM
Aglets |
Project Title |
: |
Network Monitoring Station |
Scope of the Project |
: |
The Network Monitoring Station (NMS) is a small
application which implements basic SNMP commands like GET, GETNEXT and SET.
It uses UCD SNMP library. It provided a X-MOTIF based simple UI. The project
was developed using C on RedHat Linux. |
Duration |
: |
March 1998 - June 1998 |
Team Size |
: |
2 |
Role/Responsibilities |
: |
Developer. I was taking care of SNMP components and my
teammate was taking care of putting the GUI around the SNMP commands. |
Software Tools |
: |
UCD SNMP library, RH Linux 5.2 |
Project Title |
: |
Network Operations |
Scope of the Project |
: |
National Center for Software Technology (NCST) provides
Internet connectivity to research and educational institutes in and around Bombay
as part of the Education and Research NETwork (ERNET) of India. I was part of
the network operations team looking after the DNS & Usenet News servers
and network management of routers, modems and leased lines. |
Duration |
: |
July 1997 - July 1999 |
Team Size |
: |
4 |
Role/Responsibilities |
: |
Network Operations Engineer. Initially, in the capacity
of individual team member I was responsible for smooth operations of Primary
DNS of .in domain and C-News based NetNews server at NCST. I also maintained
the secondary DNS hosted out of another facility premises in the other part
of Bombay. Later on, I was responsible for the entire network operations
leading a team of 4 engineers. In that role, I handled monitoring of routers
and modems, worked with UUCP based mail connectivity to various customers. I
also participated in consultancy to other government and private agencies
like Indian Oil Corporation and SP Jain Institute of Management. |
Software Tools |
: |
BIND Named, C-News Server, HP-Openview network manager |