1. Ankur Srivastava 1 o f 4
Ankur Srivastava
Email: ankurmsrivastava@gmail.com Mobile: +91 -9999730535
Employer: Hughes Systique Corporation Place: New Delhi
Summary
3+ Years of professional R & D experience in SAN-STORAGE and Networking domain as Software
Developer with Hughes Systique Corporation since December 2014 and IGATE Global Solutions Ltd
between May 2012 to December 2014.
7 Months of experience in Network Programming and Networking Tools for the Client Hughes
Network Systems.
2.5 years of Experience in RAID algorithms (Multi-Core Architecture), Cache Design and Open Source
Contribution for the Client EMC Corp.
Well versed with Object Oriented design and development using C++ as well as lower level
programming using C.
Well Versed with scripting in Python General and Advanced.
Experienced in development of both user applications and kernel drivers on Linux/Windows
platform.
Fair knowledge of Agile and Waterfall methodology.
Working knowledge in Data Storage Backend, Multi-Core and Multi Threaded Programming, Device
Drivers, Data Structures and Algorithms, Sockets and Linux Kernel Internals.
Interest area also includes Big Data Analytic and Internet of Things.
Skills
Languages Known : C, C++, Python, R (Beginner for Big Data) .
Operating System (Platform(s)) : Linux, Windows, FreeBSD, Monta-Vista Linux, Cent-OS.
Tool(s) Used : Accurev, Coverity, Source Insight, Remedy, Clear Case, Visual
Studio, GCC, Windbg, GDB, KDB, SVN, Putty, Git, Bugzilla.
Protocol(s) : DMA, FCOE, SCSI, FC.
Processor(s) Knowledge : AVR – 8 Bits, ARM – 7TDMI.
Project Details:
Hughes Systique Corporation (December 2014 – Present)
#1: DNS Query over TCP with Open Source Contribution in DNSMASQ to the Linux Community
Type : Development
Platform : Linux, Monta-Vista Linux, C
Duration : December' 14 – July' 15
Role : Developer
Application/Driver : DNSMASQ Application
Client : Hughes Network System
Architecture, Design(HLD/LLD) and development of DNS Policies to develop DNS Query handling mechanism
over TCP/UDP Sockets to serve 20 simultaneous IPv4/IPv6 Query Packets.
This module DnsWrapper sits between the client sending the dns query and the DNSMASQ which
acts as a server for those queries, it receives all the queries from the client implements Forge Query to get all
the types of queries resolved and then populates the DNS Cache.
This Project also delivers an open source contribution for Populating DNS Cache which gets resolved
through TCP Sockets.
2. Ankur Srivastava 2 o f 4
Roles and Responsibilities :
HLD, LLD design for the complete DNS over TCP feature.
Implemented DNS Query Resolution feature over Ipv4/IPv6 Sockets.
Designed a intelligent updater to populate the cache with all the DNS queries resolved via TCP
Sockets in DNSMASQ which was later contributed to the Linux Community (Open Source
Contribution).
Developed Automated Test Framework in python to test end to end DNS and DNSMASQ feature and
capture the logs in a file.
This Project involves extensive knowledge on C, Python, Sockets and DNSMASQ knowledge.
IGATE Corporation (May 2012 - December 2014)
#2: Generic CACHING Solution (Cache Design)
Type : Development
Platform : Linux/Windows, C /C++
Duration : June' 14 – Present
Role : Developer
Driver : Windows/Linux
Client : IGATE's Internal Initiative
Architecture, Design and development of Cache policies for a generic solution which is hardware and OS
agnostic.
It has page re-balancing and various Cache algorithms for performance. Cache receives IO request from Host,
and is responsible for completing it either through Cache hit or getting data from disk by sending requests
down the stack of drivers.
Roles and Responsibilities :
Involved in Requirement Gathering, High Level and Low Level Design.
Designed Coding Standard for the Project.
Designed and Developed Page Replacement Algorithm for the Caching Solution.
Developed Templated Singly and Doubly Linked Lists for the Cache Driver.
Developed Kernel Level Persistence Manager which saves and retrieves Cache critical data and
parameters during crash and reboot.
Designed and Developed Command Line Interface by using Windows IOCTL to read the Cache
Read/Write Hit/Miss.
Kernel Debugging for fixing Cache Driver bugs.
Working to make it a Distributed Cache.
Porting the Cache Driver from Windows to Linux.
Working to make it OS agnostic and incorporate Multi-Core Optimization.
This project requires extensive knowledge of C/C++, Device Driver, OS/ Kernel Internals also Kernel
and Application Debugging skills.
3. Ankur Srivastava 3 o f 4
#3: RAID algorithms for Multi-Core Architecture – SAN (Storage Area Network)
Type : Development, Maintenance
Platform : Linux/Windows, C/C++
Duration : 2 Years 1 Month
Role : Developer
Client : EMC Corporation Hopkinton, USA
This project involves Development, Debugging and Testing of RAID module which is the heart of Storage Area
Network. This Project requires understanding of RAID algorithms for developing new features for Engineering
support, My focus area was Lun Geometry, Write/Read Paths, Proactive/Hot/Permanent Sparing, Portable
Drives, Mirroring /Striping, was also involved in finding the root cause of bugs and fixing them.
Roles and Responsibilities:
Designed and Developed Sparing Policies which reduced overhead of copying and reconstruction of
data in the disks which is more effective and less time consuming.
Designed and Developed Drives Portability Policies which minimized the risk of Disk failure and Data
Loss even if the geographical location of the Array changes.
Developed a utility using Windows/Linux IOCTL or Linux IPC to control and configure RAID related
objects in the Storage Stack.
Developed a tool which reads ring buffer containing the live kernel driver traces and documenting it
in a text file given by the user.
Developed a Debugger Macro which uses Windows/Linux IOCTL or Linux IPC to fetch a particular
RAID related data and present it in a readable format. (Awarded)
Involved in porting of Multi-Core Raid module from Windows to Linux Platform for Kitty Hawk
Release.
Involved in handling customer issues.
Involved in writing unit test cases for the Raid (Multi-Core Architecture).
This project requires extensive knowledge of C/C++, Device Driver, OS/ Kernel Internals, Multi-Core
/Multi-Threaded Programming also Kernel and Application Debugging skills (Crash and Core Dump).
#4: Automated Test Framework Development for FreeBSD (Open Source Contribution)
Type : ATF Test Case Developer
Platform : FreeBSD, C, Shell Script
Duration : 3 Months.
Role : Developer
Client : EMC Corporation
Open Source Contribution to FreeBSD, Developing ATF (Automated Testing Framework) test cases for the
changes made in Kernel Source of FreeBSD 10 by Isilon (Division of EMC Corporation), Porting non ATF test
cases to FreeBSD ATF test cases version 10.
Responsibilities:
Design and Development of ATF test cases in Shell/C from scratch.
Developed Test cases for Commands and Utilities of FreeBSD.
Developed Test cases for Stack-Protector flag used in GCC Compiler.
4. Ankur Srivastava 4 o f 4
Executing, Unit Testing the developed test cases in Kyua Testing framework.
This Project requires good knowledge in Linux/Unix internals, Shell Scripting/C, Kyua Testing
framework.
#5: Big Data and Analytic and Internet of Things (Skill Enhancement, Self Initiative)
Started learning and exploring basics of Big Data Analytics (Interest Area is Real Time Analytic).
Beginner in R (For Big Data)and Python Advanced Programming Language.
Exploring the basics of product design based on Internet of Things and latest trends in current
Technical Scenario.
Education
Post Graduate Diploma in Embedded System design from C-DAC(2011-2012), Hyderabad.
B.Tech.(Electrical & Electronics) from Maharshi Dayanand University(2007-2011), Rohtak.
Awards/Achievements
Selected to Work with EMC's one of the Best team, Multi-Core RAID Development.
Awarded for Best Work in Multi Core Raid Development.
Level 1 Certification from IGATE.
Personal Details
Date of Birth - May 31st
, 1988.
Passport : L6517159 (Valid till 25/12/2023).