Ramesh Krishnamurthy
I am a Software Developer, Architect and Researcher with over 20 years of experience. I have worked on a wide-range of areas ranging from developing protocols on Cisco IOS to working on IP Phones, Android-based SmartDesktop DX series, and Large-scale Cloud-based, Distributed Web-Applications. While working full time at Cisco, I earned my Ph.D in Computer Science from North Carolina State University.
I worked at Sensus, a leading clean tech solutions company in the area of smart grid, smart water and smart cities. Sensus creates smart meters, communication systems, software and services that help electric, gas, and water industries drive operational efficiency and customer engagement.[Apr 2016 - Sep 2018]
I joined back Cisco as Software Architect and Lead developer in the Custom Application Development and Integration team in the Cisco CX division. [Sep 2018 - Feb 2021]
I worked as a Software Architect at OneTrust, in the Platform Core team for about a year and half. One Trust provides a platform to operationalize Privacy, Security & Data Governance. [From Feb 2021 ]
I am currently working as a Principal Software Engineer at Mandiant. The team manages the platform for the analytics tools, that is used by security analysts and researchers to analyze, catalog and detect malware and other cyber threats. [Aug 2022]
With Google's acquisition of Mandiant, I am working as Staff Software Engineer in the same Mandiant team.[Nov 2022 - Present]
RESEARCH AND PROJECTS
2016 and Before
The growing number of customers and devices that make use of SIP is placing an increased demand on the SIP proxy servers (SPS) that make up the core of the SIP network. For service providers to deal effectively with the demand growth they must develop a good understanding of current usage patterns, forecast and plan upgrade needs, and be able to configure a robust service capability for new users. Ultimately, all of these considerations require accurate estimates of the performance capability of the SPS. These factors motivated me to undertake research to evaluate the performance of servers in Internet with a specific focus on SPS servers.
In the Colloboration Group at Cisco I worked on the “Cisco DX Series” desktop collaboration product at Cisco. I was the lead developer and architect for the design and development of several software features for the Cisco DX series. This product uses Android OS. As architect for the features, the various tasks were: a) Researching all architectural and security aspects for the feature, b) Interfacing with Product marketing, User-Experience teams and development engineering teams, c) Defining tasks for developers in the team. Agile development methodology was followed for development of various features on the DX series platform.
2017
Sensus is a leading clean tech solutions company in the area of smart grid, smart water and smart cities. Sensus creates smart meters, communication systems, software and services that help electric, gas, and water industries drive operational efficiency and customer engagement.
I worked on the Next Generation Handheld Device Application at Sensus. This is multi-platform smart grid application addressing need for Electric, Gas and Water utilities. The application has layered networking architectures and communications protocols, applied to radio networks.
2018
The ability to manage Advanced Metering Infrastructure (AMI) infrastructure devices (base stations, collectors and repeaters) is a critical component of managing a Sensus FlexNet AMI deployment. Management may be performed by the customer or by Sensus depending on the type of deployment, and currently requires significant technical knowledge. Those responsible for monitoring the overall health, configuration and performance of these infrastructure devices need a single place to view and manage existing and potential issues to enable investigation and proactive resolution of these issues. To address this need, a new web application called Infrastructure Asset Manager (IAM) is being developed.
2019
Collaboration Workflow Manager (CWM) is a Web-application that provides automation solution to all Cisco collaboration products and seamlessly integrates into customers’ workflows and processes. Using CWM, Enterprise IT admins can deploy, configure, manage and troubleshoot Cisco Collaboration products within the entire enterprise from a single portal. Furthermore, CWM provides a highly customizable REST API driven interface that can work with any business process applications software. CWM supports management of various versions of Cisco Unified Communication Manager (CUCM), Cisco Unity Connection (CUC), various IP phone Models, Video end-points and it can synchronize user data from enterprise LDAP Servers.
CWM is made up of five "pillars", they are :
-
Provisioning
-
Self-Service
-
Automated Phone-test
-
Migration/Consolidation
-
Analytics and Visualization
2020
As part of providing self-service to end-users we developed a self-service ‘Webex Teams’ chatbot called ‘jeanie’ that provides a NLP interface to end-users and allows end-users to change their device settings for their IP phones. Some of the setting supported by the NLP interface include :
-
Setting ‘Call Forwarding’
-
Extension Mobility ‘PIN’
-
Speed Dial
-
Single-Number Reach (SNR)
The Self-Service Web-applications allow end-users to manage some of the basic operations for their devices and accounts. This reduces the overall support cost as this prevents calls to the IT Support team. Further, end-users can get faster resolution to the issues they are facing using the self-service application.
The CWM Self-Service Web-Application provides following services for Cisco Collaboration portfolio:
-
Single-sign on for users to the management portal.
-
Settings management of user’s Phones, PIN settings etc.
2020 / 2021
Cloud-based applications have become a standard for most businesses. Almost all businesses are looking for ways to have their applications in the cloud in order to achieve greater Scalability, Cost savings and Flexibility.
Migration of Data involves three basic steps:
-
Extract the Data from Source
-
Transform the data to Destination format
-
Load the data into the Destination
In short this is known as E-T-L.
I designed, architected and lead the development an automation application based on the CWM platform developed earlier to achieve two types of migrations:
-
Cloud Migration
-
Application migration
2021/ 2022
Multi-tenancy allows a cloud service provider to serve multiple customers using the same resources. A single instance of the software runs, however, for each of its tenants, it appears as if there is a dedicated share of the resources. The data for each tenant is kept separate from other tenants.
In this article I go over the details of how we designed and developed a solution that mitigates the impact of the "Noise Neighbor Effect".
Multi-Tenant Data Fairness:
"Noisy Neighbor Problem"
2022
A typical Software as a Service (SaaS) platform holds a lot of data specific to each enterprise that uses the platform. More loosely connected data gets stored as new features and modules are added to the platform. Evolving features require users to search across various modules, structured and unstructured data such as PDFs and word documents. “Enterprise search” describes the ability to search for such data within an enterprise. In the SaaS platform I worked on, each module implemented its own search using SQL queries. This led to a fragmented User Experience (UX) for the customers. In this document, I go over the architecture and implementation I led to enable ‘Enterprise Search’ for the platform.
2023
Messaging System Redesign
The Threat Intelligence Mandiant Graph platform is designed with a modular architecture comprising three main subsystems:
-
Data Import Systems - This includes Automated ingestion from various systems
-
Data processing System - This system interfaces with the Janusgraph and ElasticSearch systems.
-
Data Export and Enrichment services - The stored data is analyzed and enriched using manual analysis, internal and external threat intelligence systems.
The overall system was unreliable due to the technology mix of Kafka and gRPC