Hemanth Sunkara
#**/*, **** * *****,, HSR Layout, Bangalore - 560 034
+91-990******* ? **************@*****.***
Professional Profile
. Seasoned engineering professional with an experience of 5 years in
designing, developing applications for large scale, carrier grade
distributed systems
. Extensive experience in development in Java
. Designed and developed large scale, highly responsive distributed
applications like profile targeted ads serving engine and statistics
based content recommendation engine
. Designed and developed an application framework for distributed
network applications called Nucleus Platform
. Designed and developed highly scalable centralized monitoring system
for distributed applications using JMX
. Developed framework for hot patching java classes
. Developed SIP and Diameter protocol stacks in Java
. Performed java performance optimization and JVM tuning
. Introduced several process improvements like adopting the Scrum
development model
. Received several individual and team excellence awards for
learnability, quality of work and ideation
Professional Summary
Organization Position Period
OnMobile Global Limited Senior Software April 2009 to Present
Engineer
OnMobile Global Limited Software Engineer September 2008 t0 March
2009
Sasken Communication Software Engineer July 2006 to September
Technologies Ltd. 2008
Knowledge Base
. Programming Languages: C, C++, Java SE &
EE
. Relational Databases: MySQL
. Operating Systems: Linux/UNIX, Windows
. Mobile Technologies: IP Multimedia Subsystems
(IMS)
. Protocols: Diameter Protocol, Session
Initiation Protocol (SIP), HTTP
. Scripting Languages: Shell scripting, Python
. Web Technologies: Google Web Toolkit
(GWT), PHP, HTML, JSP, JavaScript
. Hardware Platforms: Advanced
Telecommunications Computing Architecture
(ATCA), IBM Blade Center and HP Blade server
. Other tools, frameworks and APIs:
Aspect Programming: AspectJ ORM: Hibernate
Non-relational Databases: Apache Cloud Technologies: Amazon Web
HBase services
Distributed Databases: MySQL Reporting Tools: Dynamic Jasper
Cluster Logging: Commons logging, Log4j
Distributed File system: Apache Data interchange: XML, JSON
Hadoop HTTP: Commons HTTP
Statistical Tools: A Rules, R Data Center Management: VMWare
Analytics, VSphere
Apache mahout Project Management: Jira with
Rule Engines: Drools, JRules Greenhopper
Key Value DB/Caches: Memcached, UML: Visio, UML2 for Eclipse
Voldemort Version Control: CVS, SVN,
Search & Indexing: Apache Lucene ClearCase, Git
ETL: Kettle Continuous Integration: Hudson-CI
Webservers: Apache HTTPD, Tomcat IDE: Eclipse
Test Automation: JMockit,
Selenium
Awards & Recognitions
. Received "Exemplary Award" Award for reducing costs by moving the
servers to the AWS cloud in Q1 2010-11
. Received "Star Performer" for eradicating functional and operational
issues in handling large volume of profile data in Q3 FY 2009-10
. Received "Awesome Employee" Award for developing a messaging layer for
communication between distributed entities across systems in Q4 FY
2008-09
. Received Special Mention Team award during Quarterly Awards in Q3 2007-
08 for "Team Work Excellence"
. Received "Spot Award" for my learnability on the IMS domain and for my
efforts to spread it across the organization in Q4 FY 2006-07
. Nominated for the "Fast Track Programme", the top 2% people among all
who joined Sasken in 2006.
Education
. Bachelor of Technology in Computer Science Engineering, Andhra
University, Visakhapatnam, (Class of 2006). Aggregate : 75%
. 12th Standard (Intermediate), Narayana Junior College, Board of
Intermediate Education, 2000-2002. Aggregate : 81%
. 10th Standard, Ramanath Secondary School, Central Board of Secondary
Education, 1999-2000. Aggregate: 78%
Project Details
OnMobile Global Limited
OnMobile is India's largest white labeled company for Mobile, Landline and
Media Service Providers, which offers telecom Value Added Services (VAS),
Voice portals, RingBack Tones, mobile content aggregation & distribution,
interactive media portals, mobile advertising, 1-to-1 direct marketing on
mobiles and M-Commerce.
1) RecoEngine:
Started about 6 months back, RecoEngine is an intelligent content serving
engine that gives statistical recommendations to mobile users based on
their profile and behavior patterns. RecoEngine integrates with various
channels like RBT, SMS, IVR, USSD to reach out to users and serve out the
probable user favorites in a unified way.
a. Product Design
. Ownership of RecoEngine solution and responsibility of the product
design and evolution: Designed the RecoEngine and its various
components from ground up. Started as a recommendation rendering
engine, RE grew into a self-sustained statistical engine which can
horizontally scale with addition of new hardware and can scale
vertically to optimally utilize the system resources. The main
challenges faced in this process are to keep the various components as
loosely coupled and generalized as possible. Apache Mahout provides
the standard statistical algorithms like the collaborative filtering
and keyword clustering to RE.
b. Component Design & development
. Designed and developed the integration layer for unified interaction
with various channels like RBT, SMS, IVR and USSD: RE being a cross
channel recommendation engine, it was important to have the
integration with each of the channels to be as generalized as
possible. The integration layer takes care on channel specific
handling to keep the communication with the internal RE components
unified.
. Designed and developed the content provisioning layer: The content
provisioning layer provisions huge volumes of pre-canned statistical
data into the RE system. To handle the volume, the CP layer has to be
extremely efficient in processing the data. With provisioning data
coming from various sources, CP has to be generalized enough to read
from all sources. Both efficiency and generalization have been
achieved in CP
2) Nucleus Framework:
A network application framework, which can be used to develop low-latency
and high-throughput distributed java applications. It provides an
integrated environment for developing event-driven applications. It is
lightweight (available as a jar) and does not enforce concepts on users
a. Framework Design and Development
. Aspect Programming: With the introduction of annotation driven aspect
programming, generalizing the most commonly used components of a
distributed network application was the need of the hour. Aspects
aided this cause by injecting byte code during complete time.
. Application monitoring: Any sw application required status variables
and counters to measure and tune its performance. But the overhead of
creating this monitoring piece which can integrate with JMX or SNMP is
very high. The runtime monitoring piece in the Nucleus framework
addresses this problem by letting the users add the entire monitoring
functionality just by annotating their counters and variables.
. Application configuration: Changing an application configuration
without having to reboot the application via a JMX or SNMP interface
is a must have for any SW application. Nucleus framework provides this
functionality via annotations.
. Application communication: In a distributed network application,
communication between various distributed components accounts to large
portion of the application performance. Nucleus provides easy to use
API for low latency and high TPS communication between components.
. Utility APIs: Nucleus also provides the most commonly used constructs
as API to the developer like DB connection pool, HTTP communication
APIs, Caching algorithms etc.
3) AdWiser:
Adwiser is a large scale distributed system which resides alongside an
operator's mobile network and servers advertisements to mobile subscribes
based on their profile through SMS, ring back tones (RBT), WAP, ODP etc.
a. Product design
. Designed a distributed architecture for profile targeted ads serving
engine: Designing and developing ads serving engine for mobiles throws
up new challenges as the response time to an ad request <200ms and the
mobile network traffic can scale up to insane volumes. The existing
architecture was facing a number of performance and scalability issue.
We have redesigned the architecture to enable easy scaling and even
distributing the application across the globe. The new architecture
provided considerable performance improvement.
b. Component design and development
. Designed and development monitoring system for AdWiser using JMX:
AdWiser is a distributed system with each component residing in a
separate geographical location. In such a scenario a monitoring system
with which the performance of each node and be monitored and
controlled is required. I am responsible for the Design and
development of the system. Using the JMX API, a central monitoring
system was developed which runs the MBean server. The JMX clients,
which reside along with the nodes, constantly notify the MBean server
of the nodes performance. Remote communication is done over RMI. The
different data structures in java have been extensively used.
. Designed and developed a unified reporting module: With high volume of
CDRs generated in AdWiser, a need for a scalable reporting module to
consume various types of CDRs in a unified way had arisen. The
reporting module should not only be java efficient by also MySQL
efficient. A generalized file handling was developed to consume
various CDR formats. Complex aggregation calculations have been moved
to distributed database notes to provide scale.
. Unified HTTP and UDP API for application integration: Ads are
ubiquitous; we see them in all applications now days. Each of the
application which wants to integrate with AdWiser for ads needs a HHTP
to socket based API to communicate with AdWiser, The same was
developed to keep-up with the volumes handled by AdWiser.
Sasken Communication Technologies Ltd
Sasken is an embedded communications solutions company, which offers a
combination of research and development consultancy, wireless software
products and software services, and works with Network OEMs, Semiconductor
Vendors, Terminal Device OEMs and Operators across the world.
1) Call Session Control Function (CSCF), Nortel Networks:
The CSCF provides session control for subscribers accessing services within
the IMS network. In essence the CSCF is a SIP Server. It has responsibility
for interacting with network databases such as the HSS for mobility and AAA
(Access, Authorization and Accounting) Servers for security.
a. Product development:
. Developed a framework for hot patching java classes: Creating CEE
framework and appropriate use of polymorphism through interfaces made
it possible to apply a patch to a java class without terminating its
execution in the JVM. The state information of the class being patched
has also been successfully transferred to the new patch class.
Extensively used Visio and Rational rose for creating use-case
diagrams and class diagrams.
. Developed the SIP messaging framework for CSCF in Java: Made use of
the MBean concept from JMX. Used the following Java concepts: Reusing
classes through inheritance, use of interfaces and abstract classes,
use of containers in the form of Hash Maps and Lists. Implemented the
SAX XML parser.
. Developed Diameter protocol for Rx Interface in Java: Various Rx
messages of the AAA protocol have been formed, parsed and processed.
Development involved interaction with TCP and SCTP layers also. The
stack incorporates support for redundancy, handles hardware failure
and state transmission through check pointing.
. Designed the Journaling log framework for the OAM layer in Java:
Creates journaling logs at user defined log level. Has a direct impact
on the performance of the system and has been perfectly handled
through concurrency. Extensively used Visio and Rational rose for
creating use-case diagrams and class diagrams.
. Created configuration interface for ATCA in C: The existing Command
line interface to configure ATCA has been updated with a GUI version.
The development involved interaction with the Java Swing front end and
the backend configuration engine. The new version had clear advantage
in response time.
b. Product Verification:
. Extensively verified the Cx, Rx, Rf interfaces at the protocol level:
In the verification process tasks like XML Parsing, scripting in Unix
and Perl, developing tools where performed. Swings, event handling,
multithreading concepts of Java were used while developing tools.
. Responsible from the verification of the ACTA platform entities: This
verification involved using various features of the middleware like
Service groups, service units, operational and performance
measurements to ensure carrier grade reliability and performance are
provided by the system.
Extra-Curricular Activities
. Founded the "OnMobile Gaming Club", forum for gamming enthusiasts in
November 2010
. Won the "Bangalore Go Karting Championship" conducted by ICICI Bank in
February 2009
. "Creative Head" for organizing the annual celebration called Detox in
Sasken
. Charter President of Rotaract Club, Youth wing of Rotary Club of
Visakha Valley
. Editor of "Brainwave", a fortnightly magazine of Anil Neerukonda
Institute of Technology & Sciences (ANITS)
Other Details
. Date of Birth: 21 October 1984
. Languages Known: English, Hindi and Telugu
. Hobbies: Photography, Travelling, Gaming, Kart racing and Graphic
Designing
References
. References will be provided on request
Date: 24 July 2011 HEMANTH
SUNKARA