Full Name: Y Giridhar Appaji Nag
Professional Status: Member of Technical Staff
Organization: NetApp, 3rd Floor, Fair
Winds Block, Embassy Golf Links, Off Intermediate Ring Road, Bangalore
560042, INDIA.
Web:
http://appaji.net/
E-Mail:
giridhar@appaji.net
LinkedIn:
http://www.linkedin.com/in/appaji
Areas of Expertise: Seven years; working with
systems software, web caching and security, internet protocols and
mobile communications.
Education: Bachelor of Technology, Department of
Computer Science and Engineering, Indian Institute of Technology,
Guwahati, Assam, India. CPI: 8.10 (On a scale of 10). May 2000.
Academic Distinctions: Jawaharlal Nehru Center for
Advanced Scientific Research (JNCASR) summer research fellow, Council
for Scientific and Industrial Research (CSIR) studentship, Qualifying
test for the International Mathematical Olympiad.
Current Work
Member of Technical Staff: [Oct 2006 to date]
NetApp, Bangalore, Karnataka, INDIA.
Currently working with the NearStore Virtual Tape Libraries team.
Past Work Experience
Member of Technical Staff: [Jan 2004 to Oct 2006]
NetApp, Bangalore, Karnataka, INDIA.
- NetCache Nx: Involved in the study and high level
architecture for the next generation NetCache (a high performace
internet gateway, proxy cache and web delivery appliance) to solve
problems like third party library/application integration, using
user-space, MP support, better manageability, etc.
- Proposed and implemented extensions to the ICAP protocol for
(a) Stateful handover of user profile to non communicating ICAP
servers in a pipeline (b) Enhanced mime-type based content
modification. These extensions were to be proposed as extensions to
RFC 3507.
- NetCache: Maintained and enhanced the Internet Content
Adaptation Protocol (ICAP - RFC 3507) implementation used for web URL
filtering and virus scanning. Enhanced the functionality and fixed
bugs in the HTTP, FTP, networking, caching, administration, logging,
authentication and on-box filtering.
- OnTap GX: Was involved in the design review for the on-box
virus scanning functionality for the next generation filer.
Senior Engineer: [Aug 2001 to Jan 2004] UbiNetics
(Now Cambdrige Silicon Radio), Bangalore, Karnataka, INDIA. Was
involved in the Multi-Mode (GSM/GPRS+UMTS) Mobile Terminal software
project with the Core Technology Division of UbiNetics.
- Requirements Specification and Architecture: Involved in the
project since its inception. Prepared the complete detailed
requirements specification and the architecture of the GSM/GPRS Access
Stratum part of the project.
- GSM/GPRS Cell Selection and Re-selection: Detailed design and
implementation of the cell/PLMN selection and re-selection algorithms
for GSM/GPRS. This was to provide for the mobile station with mobility
in GSM/GPRS networks. Functionality was based on the 3GPP Release 99
specifications. SDL and C Language were used for this. Was
responsible for the integration of the other Mobile Station modules
involved in Idle Mode operation.
- Design of network controlled cell re-selection and study for
providing Inter-RAT (Radio Access Technology) mobility features in the
Mobile Station software.
- Software Quality: Was an active participant in defining
lightweight processes for the software development life cycle.
Participated in two external ISO certification audits. Consultant on
various issues like configuration management, code reviews, change
& bug reporting processes, build & release procedures and
software engineering issues.
Software Engineer: [June 2000 to Aug 2001] Hughes
Software Systems (Now Aricent), Gurgaon, Haryana, INDIA. Was a part of
the Access Terminals division of Mobile Satellite Communication group.
Work responsibilities included system and low level design,
implementation, testing and integration
- GPRS Mobile User Terminal Stack (Oct 2000 to Aug 2001): Design
and development of the SNDCP and LLC layers. Stack based on the
Release 97 specification of GSM Phase 2+. SDL 98 and C Language were
used for design and implementation.
- WAP Man Machine Interface Simulator Prototype and
Microbrowser, MMI Interface (Aug 2000 to Oct 2000): WAP Phone MMI
Simulator capable of displaying WML pages and WBMP images. Implemented
using Xt and Motif libraries.
- Profiles for Bluetooth Stack (June 2000 to Aug 2000):
Development of Service Discover Application Profile, Serial Port
Profile and the Cordless Telephony Profile for a Bluetooth stack.
Based on the Bluetooth SIG specification of Bluetooth profiles and
Core stack. X-window based Bluetooth device simulator was also built
to demonstrate the stack capabilities using these profiles with
wireless chat and a printing application.
Summer Research Fellow: of JNCASR Bangalore [May 1999
to Jul 1999]. At the Indian Institute of Technology-Kanpur, Kanpur,
Uttar Pradesh, INDIA
- Re-engineering of a File System with Support for On-The-Fly
Compression. Analysis of the design and implementation of a file
system for the Linux 2.0 Kernel with on-the-fly Compression support.
Was responsible for the re-engineering of the file system. Gained a
fair amount of knowledge of file systems and software re-engineering.
Analyzed the design of the file system and made changes taking speed
and compression factors into consideration. Certain subtle problems
in the existing implementation were also fixed.
Publications, Reports and Patents
- O(1) Parallel Lookups for High Speed Layer Four
Switching The Sixth International Conference of Information
Technology - CIT2003. Bhubaneshwar, India, Dec 22-25, 2003.
- Re-engineering of a File System with Support for
On-The-Fly Compression Report submitted to the Jawaharlal Nehru
Center for Advanced Scientific Research, Bangalore. July 1999.
Volunteer Work
The Linux Documentation Project:
- Compiler and Co-Editor (Apr 2003 to Apr 2006) of the Linux
Documentation Project Weekly News.
- Deployed and maintaining an unofficial bug reporting service
for the Linux Documentation Project.
- Currently working on a GNU Build System HOWTO.
Debian Project:
- Report, triage and fix several Debian project bugs.
- Currently packaging few software for the official Debian
archive.
Important Academic Work
B. Tech Project (Aug 1999 to Apr 2000) High Speed Lookups for Fast
Layer Four Switching.
- This work deals with the problem of design of a router from an
algorithmic stand point so that packet filtering at high speed, based
on the higher layer (above L3) packet headers can be done. Fast lookup
on these fields and deciding the least cost filter for taking a
routing decision using parallel hardware was the main problem of
interest. Designed constant and logarithmic time algorithms and
investigated randomized approaches (like Karp-Rabin fingerprinting)
for possible solutions.
Independent Study (Seminar) Work (Jan 1999 to Apr 1999) Real-time
Operating System Kernels.
- Studied various paradigms in the design of Operating Systems
that provide Real-time support (Aspects like the architectural
requirements, Interrupt handling, multi-threading, scheduling,
resource allocation, IPC, formal design and verification methods (VDM)
etc.). SunOS and MiThOS were taken up as case studies.
Design and Implementation of a 4 bit CPU (Jan 1998 to Apr 1998)
- Designed and implemented a programmable CPU with a cut-down
CPU instruction set, the bus and the required hardwired controller
along with the I/O (by means of DIP switches and segmented displays),
memory (RAM chips).
Skills
- Programming Languages and Libraries: C/C++,
Perl, SDL (ITU-T, Specification and Description Language), X-Window
(XLib, Xt, Motif) system, Shell programming and Shell scripting tools
like sed etc.
- Protocols: HTTP, FTP, ICAP, GSM, GPRS and
Bluetooth.
- Design and Development Tools: Telelogic Tau
suite (for design and implementation of real-time communicating
systems. The code generators, Tau public and postmaster interface).
ClearCase and Perforce for configuration management, X-designer,
software development tools like gcc, flex, bison, cvs, gmake,
automake, autoconf, gdb, gprof, gcov etc.
- Operating Systems: Programmed for Linux,
VxWorks, SunOS and Windows (Basic Win32 programming).
- Languages Known: English (Read/Write/Speak),
Telugu (R/W/S), Hindi (R/W/S) and basic French.
- Additional Computing Skills: Documentation
tools like DocBook SGML/XML & Latex. Power user of GNU/Linux.
Knowledge of Internet technologies. Academic experience on working
with databases, Prolog, Sun-PHIGS, Matlab and 80x86 Assembly Language.
Software development processes.