Tools, Technologies & Platforms
Distributed Applications, High Performance Computing, Machine Learning, Big Data Technologies
(Hadoop / Cassandra / Storm), Complex Event Processing (CEP), Large Real Time Systems/Analytics,
Distributed Artificial Intelligence, Multiagent Systems, Simulations, Apple iOS, Image Processing, Live
Media Streaming, RTOS, Network Stacks/Protocols, Open Source, Algorithms, C#/C/C++, Java
Education
PhD. in Computer Science (April 2004 – March 2008)
25th
Mar 2008, University of Tsukuba and AIST, Ibaraki, JAPAN
Masters (M.Tech) in Computer Science and Engineering (1995-1997) [CGPA SCORE 6.99/10]
9th
Aug 1997, Indian Institute of Technology (IIT), Delhi, INDIA
Bachelors (B.Tech) in Computer Science and Engineering (1991-1995) [Marks 70%]
HBTI (Harcourt Butler Technological Institute), Kanpur, INDIA
Senior Secondary/12th
CBSE, (1991) [Marks 66%]
CBSE (Delhi Kannada School), Delhi, INDIA
Higher Secondary/10th
CBSE, (1989) [Marks 71%]
CBSE (Delhi Kannada School), Delhi, INDIA
References
Dr. Kazuo Miyashita: Senior research scientist at Japanese government research
institute AIST. mailto:k.miyashita@aist.go.jp
Prof. K. K. Biswas: Professor, Former Head of Department, Department of Computer
Science and Engineering, Indian Institute of Technology (IIT) Delhi, INDIA
mailto:kkb@cse.iitd.ernet.in
Dr. Rajesh Sanghi: Managing Director of Mara-Ison Connectiva, Founder/Director of
Momark Services. mailto:rs@mara-ison.com
Deepak Pant: Engineering Director, Cadence Design Systems INDIA,
mailto:dpant@cadence.com
Rajesh Gautam, PhD
EMAIL: rajeshgautam@yahoo.com
MOBILE PHONE: +91 9810307588 (INDIA)
Experience Summary
I have more than 13 years of extensive software development experience. My work
experience includes designing, managing and R&D of various products and projects. I am
working on building and improving the system to handle large amount of data efficiently and
intelligently to improve its quality and freshness. I’ve use Machine Learning techniques to
extract value out of large amount of data. I have also worked on products that involve large
amount of incoming data which is required to be processed and analyzed in real-time using
complex rules (Complex Event Processing). Multiple analytics also need to be performed on
large accumulated data in batch mode to find intelligent insights. I have used multiple Big-
Data technologies in multiple projects. I have also worked on other real-time systems and
server applications that involve streaming of multiple kinds of data and that are very sensitive
to delay. I have extensive hands-on experience in programming and software technologies.
The area of my research for my PhD was Distributed Artificial Intelligence and
Multiagent Systems. I worked on developing agent based framework and new coordination
mechanisms in which large number of agents in a complex network coordinated their actions
to optimize the functionality at the system level. I worked on the problem of complex wafer
fabrication process for my research and used multiagent based simulations for evaluation of
my coordination mechanism. My research was selected for World’s topmost AI conferences,
IJCAI and AAMAS (also nominated for best student paper), and published in other important
journals.
03/2015 to till-date Microsoft, (INDIA)
as Senior Software Development Engineer
Search Engine
Platform & Technologies Web-Services, Large data processing, Machine Learning
Microsoft’s search engine Bing constantly processes large amount of data to provide
high quality and rich search results. The search infrastructure interacts not only with end-user
but many other internal systems, and data flows through a large number of pipelines. I am
involved in the team that ingests data about the local entities. This information is then served
to users using maps and other surfaces. We have data pipeline and I am involved in building
some critical components of improving the volume, speed and quality. I have built parts of
pipeline to extract and analyze relevant information efficiently and intelligently. I’ve used big
data technologies to process web mined data of Peta Bytes and used machine learning
techniques (classification) techniques to identify relevant pages in the web for further
processing.
01/2014 to 01/2015 Amazon, (INDIA)
as Senior Software Development Engineer
HiGH PERFORMANCE WEB SERVICES
Platform & Technologies Web-Services, High Performance Processing, Java
Amazon is the World’s largest online store. A majority of money spend in the business
is in transportation of goods that is done by engaging various carriers. I am working in the
transportation team that has systems for managing the configurations and operations of
transportation network. I am working on optimizing the configuration system in the face of
ever-increasing size and complexity of transportation network.
06/2009 to 10/2013 Mara-Ison Group, (INDIA) Multiple
Roles
BIG DATA ANALYTICS PLATFORM @ Mara-Ison Connectiva as Architect
Platform & Technologies Big Data, Cassandra, Hadoop, Storm, CEP, Rule Engine,
Analytics Algorithm,
The company has product to provide analytics for telecom operators for Revenue
Assurance, Customer Experience Management, Fraud Detection etc. The existing system is
build on conventional technologies. The data that needs to be processed is the huge number
call detail records that continuously arrive at the system.
I am working on building the analytics platform use the new Big-Data technologies for
processing the large amount of data in efficient manner. The new system will process the
incoming stream of data in real-time for generating alerts etc. The analysis will be done based
on user defined rules. We are using STORM as the framework for realtime scalable
processing of streaming events. We are using DROOLS-FUSION and ESPER for Complex
Event Processing to identify patterns in the stream and generate further events/alarms. For
efficiently storing large amount of accumulated data we are using Cassandra. The system will
also provide batch mode analytics to get insights into the accumulated data. We will be using
and extending KNIME for building and executing analytics workflows by interacting with our
platform.
LOYLTY REWARDS FRAMEWORK @ Momark Services as Head of Innovations
Platform & Technologies Image Processing, Device Drivers, Mobile Technologies,
Analytics
The company has a product of mobile phone based loyalty rewards management
system. The system is offered to merchants as a Software As a Service (SAAS). The system
has a software component that is installed on the merchants Point Of Sale (POS) System.
Along with the customer’s phone number, the receipt of transaction is captured in a non-
intrusive manner and send to server for processing. At server, the image of receipt is
processed for OCR in an intelligent manner and various details of transaction like date-time,
items, price, quantity of items purchased are extracted. The information is then processed
using a rule based mechanism to award loyalty points. The service also does analytics on the
accumulated data to get customer purchasing behavior, and the items across the customers.
The system also provides location based services using which location based deals etc. are
pushed to the customer via the phone application.
REALTIME LOCATION TRAKING SYSTEM @ DinSys Technologies, (INDIA) as
Founder/CEO
Platform & Technologies Real Time Event Processing, Message Queues, Mobile
Technologies, Map APIs, Storm
We have developed a service that provides mobile phone based location tracking
service. Through a website application, on Google maps, the user can define/draw routes
along which that they want to track the movement of a mobile phone. User can drag/modify
the route on Google map, add checkpoints/way points en-route. User can add time/distance
based conditions on the specified checkpoints. e.g. during the movement, time taken from
previous checkpoint to a given checkpoint not to exceed X minutes. Deviation from the
specified checkpoint/route not to exceed 200 meters. The tracking can also be set as
recurring, day-wise etc.
The system can be used to track movement of school buses, kids, fleet tracking by
using only regular smart phones.
The system has a mobile application that periodically sends a beacon with its GPS
coordinates. The system tracks the real-time location updates from mobile device and verifies
that the location and movement of the device constantly follows the rules and conditions
provided by the user. The system generates realtime alerts whenever the conditions are
violated by the movement of device. The alerts and send to other registered endpoints, like
SMS, Email etc.
The system uses STORM as framework for processing large number of simultaneous
streams of frequently incoming location events in a scalable manner. The system then applies
the rules on the streaming events for validation and generating alerts. The system also uses
RabbitMQ message-queues.
The system could be extended to be used for crowd sourcing the location information
to monitor predict and manage the traffic.
REALTIME MULTIPARTY CONFERENCING SYSTEM @ DinSys Technologies, (INDIA) as
Founder/CEO
Platform & Technologies Real Time Streaming, Networking, Media Processing,
Image Processing, Multithreading etc.
We also developed, a multiparty desktop based conferencing system that supports one
to many audio, video, PPT, text, desktop sharing & control. The system extends the features
of Webex, GoToMeeting etc. The system as a highly efficient and scalable server
infrastructure. Besides providing the realtime interaction capabilities to multiple clients on
internet, there are numerous management and other features that distinguish it from similar
existing products. An online demo is available at http://www.dinsys.com/connect . We have
also packaged the system as a Moodle plugin, a demo of which is available at
http://www.dinsys.com/moodle. The Moodle plugin is available for free at
https://moodle.org/plugins/view.php?plugin=mod_dinsysconnect The plugin is being used by
many educational groups worldwide.
MOBILE APPLICATIONS@ DinSys Technologies, (INDIA) as Founder/CEO
Platform & Technologies iOS, Android, Media
We have successfully completed numerous iPhone applications for our various clients.
We have developed some specialized applications of our own that have been launched in
Apple Store.
06/2008 to 05/2009 Minvesta Infotech, (Hyderabad, INDIA)
as Chief Architect
SIGNIFICANT PROJECTS
Platform & Technologies Microsoft Technologies, Artificial Intelligence, High
Processing Computing
MinVesta (http://www.minvesta.com) is independent software company building
innovative software products for enterprises. Minvesta is a part of Randstad Holding
(http://www.ranstadholding.com), a leading global HR service provider with revenues of €9.2
billion (2007). We at Minvesta define, design and deliver HR related IT solutions for
enterprises. MinVesta has a global foot print with offices in Chennai, Hyderabad and Pune
and clients across the Globe.
I worked as a Chief Architect at Minvesta, which has a strength 100+ software
engineers. I lead the R&D effort on the technical front. The work involves conducting research
for deciding the technical path of product development effort. We have recently bagged a
project of US$ 2M and currently we are conducting research on design and technologies that
will be used to develop the upcoming project/product. I also analyze the performance
improvement of our existing projects. I lead the team for conducting research and also
conduct research myself.
04/2004 to 03/2008 PhD, Computer Science, AIST & University of Tsukuba
(Japan) I was awarded the Japanese government scholarship (Monbukagakusho)
Thesis Title : “A Coordination Mechanism to Sustain Throughput of Failure-Prone Agent
Networks”
Read thesis online: http://www.tulips.tsukuba.ac.jp/limedio/dlam/B27/B2779710/1.pdf
Platform & Technologies: Distributed Artificial Intelligence, Multiagent Systems, Multiagent
coordination, Multiagent Simulations, Discrete Event Simulations, Parallel Simulation, Linux Bewoulf
Cluster, C/C++
Research Publications:
 Paper presentation in IJCAI-07: Topmost Ranked International Conference,
Impact Factor: 0.09, Acceptance rate 16% for oral presentations
• Rajesh Gautam and Kazuo Miyashita, “Coordination to avoid
starvation of bottleneck agents in a large network system” in
Proceeding of IJCAI-07, 2007, pages 1281—1286 Read online:
http://www.ijcai.org/papers07/Papers/IJCAI07-207.pdf
 Paper presentation in AAMAS-07: Topmost Ranked International Conference,
Impact Factor: 0.02, Acceptance rate 23% for oral presentations
• Rajesh Gautam and Kazuo Miyashita, “Robust coordination to sustain
throughput of an unstable agent network” in Proceeding of AAMAS-07,
2007, pages 752—759 (Nominated for best student paper award) Read
online: http://doi.acm.org/10.1145/1329125.1329264
 Journal Publication in “Expert Systems with Applications: An International
Journal”: Journal’s Rank 16
• Kazuo Miyashita and Rajesh Gautam, “Multiagent coordination for
controlling complex and unstable manufacturing processes” in Expert
Systems with Applications In Press, Corrected Proof, Available online
4 August 2009, Read online: http://dx.doi.org/10.1016/j.eswa.2009.07.023
 Book Chapter in “Multiagent Systems” IN-TECH Publishers: International
Publishers
• Rajesh Gautam and Kazuo Miyashita, “Scalable Coordination Mechanism
to Maintain Throughput of Dynamic Multiagent Networks” BOOK CHAPTER in
Multiagent Systems ISBN 978-3-902613-51-6 Publisher: IN-TECH, Pages:
129 - 152, Publication Date: January 2009. Read online:
http://www.intechopen.com/books/multiagent_systems/scalable_coordination_me
chanism_to_maintain_throughput_of_dynamic_multiagent_networks
 Journal Publication in Journal of Advanced Mechanical Design, Systems, and
Manufacturing: International Journal
• Rajesh Gautam and Kazuo Miyashita, “Addressing Production System
Failures Using Multi-agent Control” in Journal of Advanced Mechanical
Design, Systems, and Manufacturing, Vol.1, No.2, 2007, pages 205-216.
Read online: http://jlc.jst.go.jp/JST.JSTAGE/jamdsm/1.205
https://www.jstage.jst.go.jp/article/jamdsm/1/2/1_2_205/_article
 Conference Proceedings (International): Proceeding of International
Symposium on Scheduling 2006
• Rajesh Gautam and Kazuo Miyashita, “Multiagent Based Production
Control to Prevent Capacity Loss During Failures” in International Symposium on
Scheduling 2006 (ISS2006) Date: July 18-20, 2006 Location: Arcadia Ichigaya, Tokyo, Japan
http://www.se.uec.ac.jp/iss2006/
 Conference Proceedings (International): INFORMS International Hong Kong
2006
• Rajesh Gautam and Kazuo Miyashita, “Multiagent Based Production
Control to Prevent Capacity Loss During Failures” in INFORMS International Hong
Kong 2006 Date: June 25-28, 2006 Location: Sheraton Hotel & Towers Hong Kong, Hong Kong, China.
http://www2.informs.org/Conf/Hongkong06/
08/2002 to 03/2004 Cadence Design Systems, (INDIA)
as Senior Member Technical Staff
SIGNIFICANT PROJECTS
IP Protection – Providing protection support for the Designs
Platform & Technologies Cryptographic algorithms, RSA libraries, C/UNIX.
In the EDA/Chip Design industry, like the S/W industry, the trend is to buy available
components off the shelf rather that building the functionality from the scratch. In the Chip
Design industry these components are chip designs for specified functionality, and are
provided by various IP vendors. Various IP consumers purchase these IPs and integrate in
their designs, to build bigger designs.
Before manufacturing the actual (costly) h/w chip the chips design are simulated on a
virtual machine kind of s/w platform to ensure that chip/design performs as expected.
Cadence had NCSim(ulator) which does this job. NCSim has language (Verilog/VHDL)
compilers etc. that parse/compile the run the chip designs.
The requirement from the IP vendors is that their IPs should not be made directly
visible to the IP consumers, but it should still be possible to simulate their IPs with the IP
consumers’ designs seamlessly. So I wrote a tool that encrypted that is used by IP Vendors to
encrypt their design files before sending them to the IP consumers. I also wrote a decryption
library that was integrated in the NCSim, which internally decrypted and compiled the IP,
without making it visible to the IP consumer in plain-text. The encryption solution/format is
made generic to enable use of different kind of Algorithms, DES/RC5, Public/Private Key
Mechanisms etc. and Digital Envelope is used to speed up the performance.
04/2000 to 08/2002 AARKAY Compusoft India Pvt. Ltd
as Team Leader
SIGNIFICANT PROJECTS
IComX – A low bandwidth conferencing and collaboration platform (iComX) and solution
Platform & Technologies TCP/UDP/RTP, VoIP, MultiThreading,C/C++/VC++,
DCOM, Linux/Windows 2000/98, XML/SOAP
Worked as Team Leader for this low bandwidth collaboration and conferencing solution
for AARKAY Compusoft.
iComX is a solution for enabling audio, presentation, scratch pad and messaging based
desktop conferencing and collaboration at low bandwidth. Low bandwidth is achieved by high
content compression and adequate multimedia delivery. The multimedia streaming includes
real-time video of what actor draws on whiteboard or paper, VoIP audio data of what actors
speaks, and other data that he/she communicates.
iComX system is based on multi tier architecture. At the presentation layer of the
system are console applications (front-ends). At the middle-tier of the system are Media
Conference Server and Management services. iComX Conference server is central media
routing and processing unit.
The Conference Server is a real-time, robust, multithreaded server that receives
streaming media from the various active conference clients over the network and forwards the
data to the relevant clients. To achieve good response time of the streaming media (VoIP
data, video), the server is designed to be multithreaded. It provides the flexibility to receive
data to/from clients over TCP, UDP or RTP. The Audio Conference Server also does the real-
time audio mixing of the audio data of multiple clients.
The Conference Server provides very finer control in choosing the transmission
protocol to/from the clients, and to send only selective in streams to the desired out streams
after changing the transmission protocol. To make the Conference Server scalable and
manageable, it had a component based architecture, the management of which was exposed
via SOAP/ DCOM/CORBA. The Management service is to provide for the management of
collaboration and Conference Server. The Management Services are COM+ components and
are exposed to the front-end consoles thought SOAP.
At the front-end console applications there are modules for:
• Generating various media for transmission, capturing and compressing audio data using
various speech codecs, compressed video data.
• Transmitting and receiving media streams to and from iComX Conference server using
TCP-UDP/IP protocol.
• Decoding and rendering call medias like audio, video and data (messaging, PPT etc) that
are received from the Conference Server.
• Communicating and coordinating with management server using SOAP protocol
Platform & Technologies Linux/C/C++,XML/SOAP,COM/DCOM, Windows NT/9x
We designed and build Mobile Application Platform (zMAP) to provide a rich set of
tools, and servers to mobilize any enterprise application. The idea was to build a
comprehensive platform by integrating existing technologies and developing new technologies
for a wide variety of operating systems.
We designed and developed a working prototype of Mobile Application Platform. zMAP
is a powerful, secure, flexible, and scalable Mobile Data Delivery environment. Open
technologies like Extensible Markup Language (XML) and Hyper Text Transfer Protocol
(HTTP) are used to make zMAP a powerful and flexible platform for mobilizing existing
enterprise applications and/or writing wide range of new services and applications. We
adopted well-proven security standards and algorithm for data integrity and privacy, access
control and authentication. In zMap we handled wireless world peculiarities like frequent
connection-disconnection by using queue based messaging and the problem of expensive
and narrow network bandwidth by using data compression.
At the core of zMAP was the back-end application server, which was responsible for
securely communicating with the clients on the mobile devices using SOAP/HTTP or MSMQ.
To achieve efficiency the data was compressed before the transmission. To achieve security
over the public network, encryption of data was done using public/private key infrastructure.
An IDL and IDL compiler was also written which was used to generate stubs/skeletons
for the interfaces of the components that were to be exposed via zMAP.
01/1997 to 04/2000 Network Programs/Aplion Networks India Pvt. Ltd
as Software consultant
SIGNIFICANT PROJECTS
Network Virtuoso Product
Aplion's Network Virtuoso is a knowledge and information based services solution with
a unique hardware and software architecture that manages services as streams. By defining
communications services as streams instead of connections and bandwidth, services can be
provisioned and personalized through an easy to use graphical interface giving service
providers and their customers an unprecedented level of service control, service differentiation
and manageability. This results in dramatic advantages for service providers who offer Active
Services to their customers.
The above features are achieved by the key component, which is a edge device
(Soloist) sitting at customer's office providing connection to the ISP. It has two Ethernet
interfaces towards the customer's side and two T1 interface towards the ISP side.
This soloist provides the quality of service (QoS) as it has the capability of examining
the data flowing through it and to apply the various users based policies on it.
Stateful Packet Inspection (SPI) Engine
Platform & Technologies C, VxWorks, Application/Network Protocols, Network Stack hooks
I worked on the SPI engine of the soloist. To provide powerful and effective bandwidth
management, it is mandatory to understand the data flowing through the box.
To achieve this objective, we have implemented a SPI engine in the IP-stack which
identifies the protocol going on the network by looking in the packets. It has an engine which
keeps the information of the various protocols in the form of postfix stack, which the engine
evaluates and finds out the packet belong to which protocol. The protocol is input to the
engine in the form of a language which consists of postfix stacks ( as rules ) and transitions.
On getting a packet the engine evaluates the stack to find if the rule matches, if it does then it
makes the associated transition to some state of some protocol, e.g. on receiving an TCP
packet transition to TCP-application state is made, then if the some packet
of that session matches some pattern of the HTTP, sat GET/POST etc. a transition to
HTTP state is made. By identifying the protocols by looking in the packets the SPI identifies
the application protocol on which the QoS (quality of service) and firewall policies can act. e.g
a policy could be to guarantee 10Kbps bandwidth to ftp file transfers, or to reject any chat data
( using firewall capability ). The size of the team is 2 persons and the language used is C.
SNMP Agent Implementation
Platform & Technologies C, VxWorks, SNMP Stack
The networking current networking world every device needs to be SNMP manageable
for configuration and Monitoring. The SNMP architecture has a device (running SNMP
agent ) and a SNMP manager running on some remote machine. The manager sends the
SNMP requests to the agent and the agent sends back the response to the manager. In
case of some alert the agent asynchronously sends alarm to the manager.
The vxWorks (the OS on the Soloist) has the master-subagent architecture of SNMP
agent. I was involved in writing the SNMP sub-agents for the services in the box. These
agents interfaced with the various services in the box at one end, and on the other end they
talked to the Master SNMP agent which sent and received the message from the SNMP
Manager. The size of the team was 4 persons and the language used is C.
Telnet and Serial Interface
Platform & Technologies C, VxWorks, TCP/IP
Besides the SNMP interface for the management of the box, I was wrote a telnet
server. This telnet server provided the service or remote login and management. To support
the configuration and monitoring of various services/devices in the box, I wrote a shell for the
telnet interface which provided the various commands to the remote user. I also extended this
shell to be used through the serial interface.
Full Solution Network
Platform & Technologies HTTP,TCP/IP, Solaris, Windows
This was a (Video On Demand) project for the client Fujitsu (Japan) .
The project is meant to provide service of video on demand. The transfer mode for which is
ATM, and besides the Video (MPEG) stream which comes from the video server all of the
interaction of client to servers id through HTTP protocol, I've developed the HTTP servers
required to interact with the client.
The Programming Language is MSVC++ (4.0) on windows NT platform and C on
Solaris. Both the servers are multithreaded, and for optimization caching of the pages is used.
Multiple read and single write locks are implemented using Critical Section in the Windows NT
server and the cache is flushed using LRU method. In the Solaris Server the locks supported
with threads are used to provide the same effect. The servers have GUI for configuration.
Networking Monitoring Agent
Platform & Technologies TCP/IP, Windows
Whenever the movie is being played, the STB (the client which receives and
displays the video and interacts with the user) needs to periodically send the heartbeat
information to a server ( NMS Server) , which keeps track of the various active movie session
at a given point of time. This information is kept to insure that whenever a STB goes down
abnormally, a message can be indirectly passed to the Video Server to stop the un-necessary
transmission of movie stream to that particular STB.
To implement this the server maintains a list of active STB's .The STB sends a
registration message to the NMS server whenever it opens a new movie session, and it sends
a de-registration message to when the movie is over and in between these two messages it
sends a heartbeat message at regular intervals.
The NMS server has a different thread for each active STB, It receives the
heartbeat messages, if a deregistration message comes it exits, and whenever a STB
times out it connects an utility on different machine which in turn sends a message to close
the session with that STB.
The Programming Language is C on Windows NT platform.

RajeshGautamResearchResume-Apr-2016

  • 1.
    Tools, Technologies &Platforms Distributed Applications, High Performance Computing, Machine Learning, Big Data Technologies (Hadoop / Cassandra / Storm), Complex Event Processing (CEP), Large Real Time Systems/Analytics, Distributed Artificial Intelligence, Multiagent Systems, Simulations, Apple iOS, Image Processing, Live Media Streaming, RTOS, Network Stacks/Protocols, Open Source, Algorithms, C#/C/C++, Java Education PhD. in Computer Science (April 2004 – March 2008) 25th Mar 2008, University of Tsukuba and AIST, Ibaraki, JAPAN Masters (M.Tech) in Computer Science and Engineering (1995-1997) [CGPA SCORE 6.99/10] 9th Aug 1997, Indian Institute of Technology (IIT), Delhi, INDIA Bachelors (B.Tech) in Computer Science and Engineering (1991-1995) [Marks 70%] HBTI (Harcourt Butler Technological Institute), Kanpur, INDIA Senior Secondary/12th CBSE, (1991) [Marks 66%] CBSE (Delhi Kannada School), Delhi, INDIA Higher Secondary/10th CBSE, (1989) [Marks 71%] CBSE (Delhi Kannada School), Delhi, INDIA References Dr. Kazuo Miyashita: Senior research scientist at Japanese government research institute AIST. mailto:k.miyashita@aist.go.jp Prof. K. K. Biswas: Professor, Former Head of Department, Department of Computer Science and Engineering, Indian Institute of Technology (IIT) Delhi, INDIA mailto:kkb@cse.iitd.ernet.in Dr. Rajesh Sanghi: Managing Director of Mara-Ison Connectiva, Founder/Director of Momark Services. mailto:rs@mara-ison.com Deepak Pant: Engineering Director, Cadence Design Systems INDIA, mailto:dpant@cadence.com Rajesh Gautam, PhD EMAIL: rajeshgautam@yahoo.com MOBILE PHONE: +91 9810307588 (INDIA)
  • 2.
    Experience Summary I havemore than 13 years of extensive software development experience. My work experience includes designing, managing and R&D of various products and projects. I am working on building and improving the system to handle large amount of data efficiently and intelligently to improve its quality and freshness. I’ve use Machine Learning techniques to extract value out of large amount of data. I have also worked on products that involve large amount of incoming data which is required to be processed and analyzed in real-time using complex rules (Complex Event Processing). Multiple analytics also need to be performed on large accumulated data in batch mode to find intelligent insights. I have used multiple Big- Data technologies in multiple projects. I have also worked on other real-time systems and server applications that involve streaming of multiple kinds of data and that are very sensitive to delay. I have extensive hands-on experience in programming and software technologies. The area of my research for my PhD was Distributed Artificial Intelligence and Multiagent Systems. I worked on developing agent based framework and new coordination mechanisms in which large number of agents in a complex network coordinated their actions to optimize the functionality at the system level. I worked on the problem of complex wafer fabrication process for my research and used multiagent based simulations for evaluation of my coordination mechanism. My research was selected for World’s topmost AI conferences, IJCAI and AAMAS (also nominated for best student paper), and published in other important journals. 03/2015 to till-date Microsoft, (INDIA) as Senior Software Development Engineer Search Engine Platform & Technologies Web-Services, Large data processing, Machine Learning Microsoft’s search engine Bing constantly processes large amount of data to provide high quality and rich search results. The search infrastructure interacts not only with end-user but many other internal systems, and data flows through a large number of pipelines. I am involved in the team that ingests data about the local entities. This information is then served to users using maps and other surfaces. We have data pipeline and I am involved in building some critical components of improving the volume, speed and quality. I have built parts of pipeline to extract and analyze relevant information efficiently and intelligently. I’ve used big data technologies to process web mined data of Peta Bytes and used machine learning techniques (classification) techniques to identify relevant pages in the web for further processing. 01/2014 to 01/2015 Amazon, (INDIA) as Senior Software Development Engineer HiGH PERFORMANCE WEB SERVICES Platform & Technologies Web-Services, High Performance Processing, Java Amazon is the World’s largest online store. A majority of money spend in the business is in transportation of goods that is done by engaging various carriers. I am working in the transportation team that has systems for managing the configurations and operations of transportation network. I am working on optimizing the configuration system in the face of ever-increasing size and complexity of transportation network.
  • 3.
    06/2009 to 10/2013Mara-Ison Group, (INDIA) Multiple Roles BIG DATA ANALYTICS PLATFORM @ Mara-Ison Connectiva as Architect Platform & Technologies Big Data, Cassandra, Hadoop, Storm, CEP, Rule Engine, Analytics Algorithm, The company has product to provide analytics for telecom operators for Revenue Assurance, Customer Experience Management, Fraud Detection etc. The existing system is build on conventional technologies. The data that needs to be processed is the huge number call detail records that continuously arrive at the system. I am working on building the analytics platform use the new Big-Data technologies for processing the large amount of data in efficient manner. The new system will process the incoming stream of data in real-time for generating alerts etc. The analysis will be done based on user defined rules. We are using STORM as the framework for realtime scalable processing of streaming events. We are using DROOLS-FUSION and ESPER for Complex Event Processing to identify patterns in the stream and generate further events/alarms. For efficiently storing large amount of accumulated data we are using Cassandra. The system will also provide batch mode analytics to get insights into the accumulated data. We will be using and extending KNIME for building and executing analytics workflows by interacting with our platform. LOYLTY REWARDS FRAMEWORK @ Momark Services as Head of Innovations Platform & Technologies Image Processing, Device Drivers, Mobile Technologies, Analytics The company has a product of mobile phone based loyalty rewards management system. The system is offered to merchants as a Software As a Service (SAAS). The system has a software component that is installed on the merchants Point Of Sale (POS) System. Along with the customer’s phone number, the receipt of transaction is captured in a non- intrusive manner and send to server for processing. At server, the image of receipt is processed for OCR in an intelligent manner and various details of transaction like date-time, items, price, quantity of items purchased are extracted. The information is then processed using a rule based mechanism to award loyalty points. The service also does analytics on the accumulated data to get customer purchasing behavior, and the items across the customers. The system also provides location based services using which location based deals etc. are pushed to the customer via the phone application. REALTIME LOCATION TRAKING SYSTEM @ DinSys Technologies, (INDIA) as Founder/CEO Platform & Technologies Real Time Event Processing, Message Queues, Mobile Technologies, Map APIs, Storm We have developed a service that provides mobile phone based location tracking service. Through a website application, on Google maps, the user can define/draw routes along which that they want to track the movement of a mobile phone. User can drag/modify the route on Google map, add checkpoints/way points en-route. User can add time/distance based conditions on the specified checkpoints. e.g. during the movement, time taken from previous checkpoint to a given checkpoint not to exceed X minutes. Deviation from the
  • 4.
    specified checkpoint/route notto exceed 200 meters. The tracking can also be set as recurring, day-wise etc. The system can be used to track movement of school buses, kids, fleet tracking by using only regular smart phones. The system has a mobile application that periodically sends a beacon with its GPS coordinates. The system tracks the real-time location updates from mobile device and verifies that the location and movement of the device constantly follows the rules and conditions provided by the user. The system generates realtime alerts whenever the conditions are violated by the movement of device. The alerts and send to other registered endpoints, like SMS, Email etc. The system uses STORM as framework for processing large number of simultaneous streams of frequently incoming location events in a scalable manner. The system then applies the rules on the streaming events for validation and generating alerts. The system also uses RabbitMQ message-queues. The system could be extended to be used for crowd sourcing the location information to monitor predict and manage the traffic. REALTIME MULTIPARTY CONFERENCING SYSTEM @ DinSys Technologies, (INDIA) as Founder/CEO Platform & Technologies Real Time Streaming, Networking, Media Processing, Image Processing, Multithreading etc. We also developed, a multiparty desktop based conferencing system that supports one to many audio, video, PPT, text, desktop sharing & control. The system extends the features of Webex, GoToMeeting etc. The system as a highly efficient and scalable server infrastructure. Besides providing the realtime interaction capabilities to multiple clients on internet, there are numerous management and other features that distinguish it from similar existing products. An online demo is available at http://www.dinsys.com/connect . We have also packaged the system as a Moodle plugin, a demo of which is available at http://www.dinsys.com/moodle. The Moodle plugin is available for free at https://moodle.org/plugins/view.php?plugin=mod_dinsysconnect The plugin is being used by many educational groups worldwide. MOBILE APPLICATIONS@ DinSys Technologies, (INDIA) as Founder/CEO Platform & Technologies iOS, Android, Media We have successfully completed numerous iPhone applications for our various clients. We have developed some specialized applications of our own that have been launched in Apple Store. 06/2008 to 05/2009 Minvesta Infotech, (Hyderabad, INDIA) as Chief Architect SIGNIFICANT PROJECTS Platform & Technologies Microsoft Technologies, Artificial Intelligence, High Processing Computing MinVesta (http://www.minvesta.com) is independent software company building innovative software products for enterprises. Minvesta is a part of Randstad Holding
  • 5.
    (http://www.ranstadholding.com), a leadingglobal HR service provider with revenues of €9.2 billion (2007). We at Minvesta define, design and deliver HR related IT solutions for enterprises. MinVesta has a global foot print with offices in Chennai, Hyderabad and Pune and clients across the Globe. I worked as a Chief Architect at Minvesta, which has a strength 100+ software engineers. I lead the R&D effort on the technical front. The work involves conducting research for deciding the technical path of product development effort. We have recently bagged a project of US$ 2M and currently we are conducting research on design and technologies that will be used to develop the upcoming project/product. I also analyze the performance improvement of our existing projects. I lead the team for conducting research and also conduct research myself. 04/2004 to 03/2008 PhD, Computer Science, AIST & University of Tsukuba (Japan) I was awarded the Japanese government scholarship (Monbukagakusho) Thesis Title : “A Coordination Mechanism to Sustain Throughput of Failure-Prone Agent Networks” Read thesis online: http://www.tulips.tsukuba.ac.jp/limedio/dlam/B27/B2779710/1.pdf Platform & Technologies: Distributed Artificial Intelligence, Multiagent Systems, Multiagent coordination, Multiagent Simulations, Discrete Event Simulations, Parallel Simulation, Linux Bewoulf Cluster, C/C++ Research Publications:  Paper presentation in IJCAI-07: Topmost Ranked International Conference, Impact Factor: 0.09, Acceptance rate 16% for oral presentations • Rajesh Gautam and Kazuo Miyashita, “Coordination to avoid starvation of bottleneck agents in a large network system” in Proceeding of IJCAI-07, 2007, pages 1281—1286 Read online: http://www.ijcai.org/papers07/Papers/IJCAI07-207.pdf  Paper presentation in AAMAS-07: Topmost Ranked International Conference, Impact Factor: 0.02, Acceptance rate 23% for oral presentations • Rajesh Gautam and Kazuo Miyashita, “Robust coordination to sustain throughput of an unstable agent network” in Proceeding of AAMAS-07, 2007, pages 752—759 (Nominated for best student paper award) Read online: http://doi.acm.org/10.1145/1329125.1329264  Journal Publication in “Expert Systems with Applications: An International Journal”: Journal’s Rank 16 • Kazuo Miyashita and Rajesh Gautam, “Multiagent coordination for controlling complex and unstable manufacturing processes” in Expert Systems with Applications In Press, Corrected Proof, Available online 4 August 2009, Read online: http://dx.doi.org/10.1016/j.eswa.2009.07.023
  • 6.
     Book Chapterin “Multiagent Systems” IN-TECH Publishers: International Publishers • Rajesh Gautam and Kazuo Miyashita, “Scalable Coordination Mechanism to Maintain Throughput of Dynamic Multiagent Networks” BOOK CHAPTER in Multiagent Systems ISBN 978-3-902613-51-6 Publisher: IN-TECH, Pages: 129 - 152, Publication Date: January 2009. Read online: http://www.intechopen.com/books/multiagent_systems/scalable_coordination_me chanism_to_maintain_throughput_of_dynamic_multiagent_networks  Journal Publication in Journal of Advanced Mechanical Design, Systems, and Manufacturing: International Journal • Rajesh Gautam and Kazuo Miyashita, “Addressing Production System Failures Using Multi-agent Control” in Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.1, No.2, 2007, pages 205-216. Read online: http://jlc.jst.go.jp/JST.JSTAGE/jamdsm/1.205 https://www.jstage.jst.go.jp/article/jamdsm/1/2/1_2_205/_article  Conference Proceedings (International): Proceeding of International Symposium on Scheduling 2006 • Rajesh Gautam and Kazuo Miyashita, “Multiagent Based Production Control to Prevent Capacity Loss During Failures” in International Symposium on Scheduling 2006 (ISS2006) Date: July 18-20, 2006 Location: Arcadia Ichigaya, Tokyo, Japan http://www.se.uec.ac.jp/iss2006/  Conference Proceedings (International): INFORMS International Hong Kong 2006 • Rajesh Gautam and Kazuo Miyashita, “Multiagent Based Production Control to Prevent Capacity Loss During Failures” in INFORMS International Hong Kong 2006 Date: June 25-28, 2006 Location: Sheraton Hotel & Towers Hong Kong, Hong Kong, China. http://www2.informs.org/Conf/Hongkong06/ 08/2002 to 03/2004 Cadence Design Systems, (INDIA) as Senior Member Technical Staff SIGNIFICANT PROJECTS IP Protection – Providing protection support for the Designs Platform & Technologies Cryptographic algorithms, RSA libraries, C/UNIX. In the EDA/Chip Design industry, like the S/W industry, the trend is to buy available components off the shelf rather that building the functionality from the scratch. In the Chip Design industry these components are chip designs for specified functionality, and are provided by various IP vendors. Various IP consumers purchase these IPs and integrate in their designs, to build bigger designs. Before manufacturing the actual (costly) h/w chip the chips design are simulated on a virtual machine kind of s/w platform to ensure that chip/design performs as expected. Cadence had NCSim(ulator) which does this job. NCSim has language (Verilog/VHDL) compilers etc. that parse/compile the run the chip designs. The requirement from the IP vendors is that their IPs should not be made directly visible to the IP consumers, but it should still be possible to simulate their IPs with the IP
  • 7.
    consumers’ designs seamlessly.So I wrote a tool that encrypted that is used by IP Vendors to encrypt their design files before sending them to the IP consumers. I also wrote a decryption library that was integrated in the NCSim, which internally decrypted and compiled the IP, without making it visible to the IP consumer in plain-text. The encryption solution/format is made generic to enable use of different kind of Algorithms, DES/RC5, Public/Private Key Mechanisms etc. and Digital Envelope is used to speed up the performance. 04/2000 to 08/2002 AARKAY Compusoft India Pvt. Ltd as Team Leader SIGNIFICANT PROJECTS IComX – A low bandwidth conferencing and collaboration platform (iComX) and solution Platform & Technologies TCP/UDP/RTP, VoIP, MultiThreading,C/C++/VC++, DCOM, Linux/Windows 2000/98, XML/SOAP Worked as Team Leader for this low bandwidth collaboration and conferencing solution for AARKAY Compusoft. iComX is a solution for enabling audio, presentation, scratch pad and messaging based desktop conferencing and collaboration at low bandwidth. Low bandwidth is achieved by high content compression and adequate multimedia delivery. The multimedia streaming includes real-time video of what actor draws on whiteboard or paper, VoIP audio data of what actors speaks, and other data that he/she communicates. iComX system is based on multi tier architecture. At the presentation layer of the system are console applications (front-ends). At the middle-tier of the system are Media Conference Server and Management services. iComX Conference server is central media routing and processing unit. The Conference Server is a real-time, robust, multithreaded server that receives streaming media from the various active conference clients over the network and forwards the data to the relevant clients. To achieve good response time of the streaming media (VoIP data, video), the server is designed to be multithreaded. It provides the flexibility to receive data to/from clients over TCP, UDP or RTP. The Audio Conference Server also does the real- time audio mixing of the audio data of multiple clients. The Conference Server provides very finer control in choosing the transmission protocol to/from the clients, and to send only selective in streams to the desired out streams after changing the transmission protocol. To make the Conference Server scalable and manageable, it had a component based architecture, the management of which was exposed via SOAP/ DCOM/CORBA. The Management service is to provide for the management of collaboration and Conference Server. The Management Services are COM+ components and are exposed to the front-end consoles thought SOAP. At the front-end console applications there are modules for: • Generating various media for transmission, capturing and compressing audio data using various speech codecs, compressed video data. • Transmitting and receiving media streams to and from iComX Conference server using TCP-UDP/IP protocol. • Decoding and rendering call medias like audio, video and data (messaging, PPT etc) that are received from the Conference Server. • Communicating and coordinating with management server using SOAP protocol
  • 8.
    Platform & TechnologiesLinux/C/C++,XML/SOAP,COM/DCOM, Windows NT/9x We designed and build Mobile Application Platform (zMAP) to provide a rich set of tools, and servers to mobilize any enterprise application. The idea was to build a comprehensive platform by integrating existing technologies and developing new technologies for a wide variety of operating systems. We designed and developed a working prototype of Mobile Application Platform. zMAP is a powerful, secure, flexible, and scalable Mobile Data Delivery environment. Open technologies like Extensible Markup Language (XML) and Hyper Text Transfer Protocol (HTTP) are used to make zMAP a powerful and flexible platform for mobilizing existing enterprise applications and/or writing wide range of new services and applications. We adopted well-proven security standards and algorithm for data integrity and privacy, access control and authentication. In zMap we handled wireless world peculiarities like frequent connection-disconnection by using queue based messaging and the problem of expensive and narrow network bandwidth by using data compression. At the core of zMAP was the back-end application server, which was responsible for securely communicating with the clients on the mobile devices using SOAP/HTTP or MSMQ. To achieve efficiency the data was compressed before the transmission. To achieve security over the public network, encryption of data was done using public/private key infrastructure. An IDL and IDL compiler was also written which was used to generate stubs/skeletons for the interfaces of the components that were to be exposed via zMAP. 01/1997 to 04/2000 Network Programs/Aplion Networks India Pvt. Ltd as Software consultant SIGNIFICANT PROJECTS Network Virtuoso Product Aplion's Network Virtuoso is a knowledge and information based services solution with a unique hardware and software architecture that manages services as streams. By defining communications services as streams instead of connections and bandwidth, services can be provisioned and personalized through an easy to use graphical interface giving service providers and their customers an unprecedented level of service control, service differentiation and manageability. This results in dramatic advantages for service providers who offer Active Services to their customers. The above features are achieved by the key component, which is a edge device (Soloist) sitting at customer's office providing connection to the ISP. It has two Ethernet interfaces towards the customer's side and two T1 interface towards the ISP side. This soloist provides the quality of service (QoS) as it has the capability of examining the data flowing through it and to apply the various users based policies on it. Stateful Packet Inspection (SPI) Engine Platform & Technologies C, VxWorks, Application/Network Protocols, Network Stack hooks
  • 9.
    I worked onthe SPI engine of the soloist. To provide powerful and effective bandwidth management, it is mandatory to understand the data flowing through the box. To achieve this objective, we have implemented a SPI engine in the IP-stack which identifies the protocol going on the network by looking in the packets. It has an engine which keeps the information of the various protocols in the form of postfix stack, which the engine evaluates and finds out the packet belong to which protocol. The protocol is input to the engine in the form of a language which consists of postfix stacks ( as rules ) and transitions. On getting a packet the engine evaluates the stack to find if the rule matches, if it does then it makes the associated transition to some state of some protocol, e.g. on receiving an TCP packet transition to TCP-application state is made, then if the some packet of that session matches some pattern of the HTTP, sat GET/POST etc. a transition to HTTP state is made. By identifying the protocols by looking in the packets the SPI identifies the application protocol on which the QoS (quality of service) and firewall policies can act. e.g a policy could be to guarantee 10Kbps bandwidth to ftp file transfers, or to reject any chat data ( using firewall capability ). The size of the team is 2 persons and the language used is C. SNMP Agent Implementation Platform & Technologies C, VxWorks, SNMP Stack The networking current networking world every device needs to be SNMP manageable for configuration and Monitoring. The SNMP architecture has a device (running SNMP agent ) and a SNMP manager running on some remote machine. The manager sends the SNMP requests to the agent and the agent sends back the response to the manager. In case of some alert the agent asynchronously sends alarm to the manager. The vxWorks (the OS on the Soloist) has the master-subagent architecture of SNMP agent. I was involved in writing the SNMP sub-agents for the services in the box. These agents interfaced with the various services in the box at one end, and on the other end they talked to the Master SNMP agent which sent and received the message from the SNMP Manager. The size of the team was 4 persons and the language used is C. Telnet and Serial Interface Platform & Technologies C, VxWorks, TCP/IP Besides the SNMP interface for the management of the box, I was wrote a telnet server. This telnet server provided the service or remote login and management. To support the configuration and monitoring of various services/devices in the box, I wrote a shell for the telnet interface which provided the various commands to the remote user. I also extended this shell to be used through the serial interface. Full Solution Network Platform & Technologies HTTP,TCP/IP, Solaris, Windows This was a (Video On Demand) project for the client Fujitsu (Japan) . The project is meant to provide service of video on demand. The transfer mode for which is ATM, and besides the Video (MPEG) stream which comes from the video server all of the
  • 10.
    interaction of clientto servers id through HTTP protocol, I've developed the HTTP servers required to interact with the client. The Programming Language is MSVC++ (4.0) on windows NT platform and C on Solaris. Both the servers are multithreaded, and for optimization caching of the pages is used. Multiple read and single write locks are implemented using Critical Section in the Windows NT server and the cache is flushed using LRU method. In the Solaris Server the locks supported with threads are used to provide the same effect. The servers have GUI for configuration. Networking Monitoring Agent Platform & Technologies TCP/IP, Windows Whenever the movie is being played, the STB (the client which receives and displays the video and interacts with the user) needs to periodically send the heartbeat information to a server ( NMS Server) , which keeps track of the various active movie session at a given point of time. This information is kept to insure that whenever a STB goes down abnormally, a message can be indirectly passed to the Video Server to stop the un-necessary transmission of movie stream to that particular STB. To implement this the server maintains a list of active STB's .The STB sends a registration message to the NMS server whenever it opens a new movie session, and it sends a de-registration message to when the movie is over and in between these two messages it sends a heartbeat message at regular intervals. The NMS server has a different thread for each active STB, It receives the heartbeat messages, if a deregistration message comes it exits, and whenever a STB times out it connects an utility on different machine which in turn sends a message to close the session with that STB. The Programming Language is C on Windows NT platform.