About
Articles by Gireesh
-
Use JavaScript closures efficiently [ Node.JS ]
Use JavaScript closures efficiently [ Node.JS ]
By Gireesh Punathil
Activity
-
View my verified achievement from IBM.
View my verified achievement from IBM.
Liked by Gireesh Punathil
-
I have seen people in leadership positions take full advantage of someone’s insecurities to advance their own twisted agendas. It’s truly…
I have seen people in leadership positions take full advantage of someone’s insecurities to advance their own twisted agendas. It’s truly…
Liked by Gireesh Punathil
-
I'll be speaking at the upcoming Google I/O Extended Manila Conference 2024 by Google Developer Group Manila. I'll tackle using Google Vertex AI -…
I'll be speaking at the upcoming Google I/O Extended Manila Conference 2024 by Google Developer Group Manila. I'll tackle using Google Vertex AI -…
Liked by Gireesh Punathil
Experience & Education
Licenses & Certifications
Publications
-
Use JavaScript closures efficiently
IBM developerWorks
Closures are used in Node.js pervasively in various forms to support Node's asynchronous and event-driven programming model. By having a good understanding of closures, you can ensure the functional correctness, stability, and scalability of the applications that you develop
Other authorsSee publication -
Node.js in the Enterprise: Core dump debugging for Node.js
IBM developerWorks
Debug Node.js application crashes and memory leaks with an Eclipse add-on. Find out how IBM Monitoring and Diagnostic Tools — Interactive Diagnostic Data Explorer (IDDE) works alongside the IBM SDK for Node.js to help you diagnose core dumps.
Other authors -
Method for Feedback driven Synchronization in a Virtual Machine
IP.com
This publication outlines a technique to comprehensively (or intelligently) wait for a lock under contention, by leveraging the instantaneous progression information of the lock owner. It also shows how this approach leads to optimal usage of computer resources by threads participating in locking, and thereby improve the overall efficiency of the software application.
Other authors -
A Probabilistic System for launching Deadlock Detection in a Virtual Machine
IP.com
Programs use locks to control and serialize access to certain resources. If two threads of execution each require two locks, but take them in a different order, they can deadlock; each thread holds one lock and is trying to get the other which is held by the other thread. In this situation, neither thread can make any progress. Deadlock detection is typically carried out using the construction of a graph of locks where the direction of the links corresponds to the order in which locks are…
Programs use locks to control and serialize access to certain resources. If two threads of execution each require two locks, but take them in a different order, they can deadlock; each thread holds one lock and is trying to get the other which is held by the other thread. In this situation, neither thread can make any progress. Deadlock detection is typically carried out using the construction of a graph of locks where the direction of the links corresponds to the order in which locks are acquired. A loop in the graph indicates where locks are taken in a different order at different points in a computer program which could potentially lead to a deadlock. This is well understood, but has the side effect of impacting the system: being able to traverse the locks and threads to build the graph is a "stop the world", time consuming event. As a result, most programs that offer some form of deadlock detection do so only on request, or on an interval basis. Disclosed is a system for determining when there is a high probability that a deadlock has occurred and using this to launch the costly deadlock detection mechanism.
Other authorsSee publication -
Method and system for Dynamic On-demand data tracing in a Virtual Machine
IP.com
System and method for comprehensively trace run-time values of variables in a java method under execution is provided. Methods may be implemented by the run-time systems to tap the currently executing java byte code or byte codes and map it to a source line contextual to the java program under execution, printing the trace data in a configurable way. Upon application misbehaviour, this trace data help computer systems to exhibit more comprehensive and convenient way of debugging the misbehaved…
System and method for comprehensively trace run-time values of variables in a java method under execution is provided. Methods may be implemented by the run-time systems to tap the currently executing java byte code or byte codes and map it to a source line contextual to the java program under execution, printing the trace data in a configurable way. Upon application misbehaviour, this trace data help computer systems to exhibit more comprehensive and convenient way of debugging the misbehaved application by providing the dynamic values contained in the variables and fields which impart in the misbehavior.
Other authorsSee publication -
Method and System for Persisting Data from Rarely Accessed Objects in a Java Heap
IP.com
A method and system for persisting data from data objects that are rarely accessed in a memory heap to a persisted storage is disclosed.
Other authorsSee publication -
Extracting Java Class file from System Coredump
IP.com
Disclosed is a method for retrieving java class files from system core files. Presently there are pluralities of Java Virtual machine implementations which represent the loaded class files in their own way, but every implementation has to store a minimum amount of information of the class data for the virtual machine to function. The disclosed invention postulates the fact that this minimum amount of information thus stored into the virtual machine's data structures pertaining to loaded classes…
Disclosed is a method for retrieving java class files from system core files. Presently there are pluralities of Java Virtual machine implementations which represent the loaded class files in their own way, but every implementation has to store a minimum amount of information of the class data for the virtual machine to function. The disclosed invention postulates the fact that this minimum amount of information thus stored into the virtual machine's data structures pertaining to loaded classes is sufficient enough to recreate the java class file, by performing a reverse action of class loading. System and method for extracting java class files dumped in a system core are provided. Functions with the intelligence of the data structure representation of java class files may be implemented to query the core image, intercept the data structures which represented the class file in the java virtual machine, extract the class data, and compile them into a class file adhering to the class file format specification.
Patents
-
Efficiently using memory for Java collection objects
Issued US US9588885 B1
A method for collection instance resizing. The method may include identifying at least one collection object within a collection framework of a virtual machine. The method may also include determining the at least one identified collection object satisfies at least one preconfigured criteria. The method may further include determining a garbage collection cycle count associated with the at least one identified collection object exceeds a preconfigured threshold. The method may also include…
A method for collection instance resizing. The method may include identifying at least one collection object within a collection framework of a virtual machine. The method may also include determining the at least one identified collection object satisfies at least one preconfigured criteria. The method may further include determining a garbage collection cycle count associated with the at least one identified collection object exceeds a preconfigured threshold. The method may also include determining an occupancy ratio associated with the at least one identified collection object is less than a preconfigured shrink threshold. The method may further include restructuring the at least one identified collection object based on the at least one identified collection object satisfying the at least one preconfigured criteria, the garbage collection cycle count exceeding the preconfigured threshold, and the occupancy ratio being less than the preconfigured shrink threshold.
Other inventorsSee patent -
Efficiently using memory for java collection objects
Issued US 9600204
A method for collection instance resizing. The method may include identifying at least one collection object within a collection framework of a virtual machine. The method may also include determining the at least one identified collection object satisfies at least one preconfigured criteria. The method may further include determining a garbage collection cycle count associated with the at least one identified collection object exceeds a preconfigured threshold. The method may also include…
A method for collection instance resizing. The method may include identifying at least one collection object within a collection framework of a virtual machine. The method may also include determining the at least one identified collection object satisfies at least one preconfigured criteria. The method may further include determining a garbage collection cycle count associated with the at least one identified collection object exceeds a preconfigured threshold. The method may also include determining an occupancy ratio associated with the at least one identified collection object is less than a preconfigured shrink threshold. The method may further include restructuring the at least one identified collection object based on the at least one identified collection object satisfying the at least one preconfigured criteria, the garbage collection cycle count exceeding the preconfigured threshold, and the occupancy ratio being less than the preconfigured shrink threshold.
Other inventorsSee patent -
Identification of critical web services and their dynamic optimal relocation
Issued US 8990388
A web service executing on a web server is monitored by detecting metadata generated for various performance characteristics of the web service. A relocation policy is consulted in response to detecting the performance characteristics exceeding a first predetermined threshold. The relocation policy specifies a target web server as a new location for the web, and instructions for relocating the web service to the target web server if the performance characteristics exceeding a second…
A web service executing on a web server is monitored by detecting metadata generated for various performance characteristics of the web service. A relocation policy is consulted in response to detecting the performance characteristics exceeding a first predetermined threshold. The relocation policy specifies a target web server as a new location for the web, and instructions for relocating the web service to the target web server if the performance characteristics exceeding a second predetermined threshold. The web service is relocated to the target web server based on the relocation policy and without human intervention.
Other inventorsSee patent -
Efficiently using memory for Java collection objects
US 9715448
A method for collection instance resizing. The method may include identifying at least one collection object within a collection framework of a virtual machine. The method may also include determining the at least one identified collection object satisfies at least one preconfigured criteria. The method may further include determining a garbage collection cycle count associated with the at least one identified collection object exceeds a preconfigured threshold. The method may also include…
A method for collection instance resizing. The method may include identifying at least one collection object within a collection framework of a virtual machine. The method may also include determining the at least one identified collection object satisfies at least one preconfigured criteria. The method may further include determining a garbage collection cycle count associated with the at least one identified collection object exceeds a preconfigured threshold. The method may also include determining an occupancy ratio associated with the at least one identified collection object is less than a preconfigured shrink threshold. The method may further include restructuring the at least one identified collection object based on the at least one identified collection object satisfying the at least one preconfigured criteria, the garbage collection cycle count exceeding the preconfigured threshold, and the occupancy ratio being less than the preconfigured shrink threshold.
Other inventorsSee patent -
Efficiently using memory for Java collection objects
US 20170161186
A method for collection instance resizing. The method may include identifying at least one collection object within a collection framework of a virtual machine. The method may also include determining the at least one identified collection object satisfies at least one preconfigured criteria. The method may further include determining a garbage collection cycle count associated with the at least one identified collection object exceeds a preconfigured threshold. The method may also include…
A method for collection instance resizing. The method may include identifying at least one collection object within a collection framework of a virtual machine. The method may also include determining the at least one identified collection object satisfies at least one preconfigured criteria. The method may further include determining a garbage collection cycle count associated with the at least one identified collection object exceeds a preconfigured threshold. The method may also include determining an occupancy ratio associated with the at least one identified collection object is less than a preconfigured shrink threshold. The method may further include restructuring the at least one identified collection object based on the at least one identified collection object satisfying the at least one preconfigured criteria, the garbage collection cycle count exceeding the preconfigured threshold, and the occupancy ratio being less than the preconfigured shrink threshold.
Other inventorsSee patent -
Efficiently using memory for Java collection objects
US 20170161187
A method for collection instance resizing. The method may include identifying at least one collection object within a collection framework of a virtual machine. The method may also include determining the at least one identified collection object satisfies at least one preconfigured criteria. The method may further include determining a garbage collection cycle count associated with the at least one identified collection object exceeds a preconfigured threshold. The method may also include…
A method for collection instance resizing. The method may include identifying at least one collection object within a collection framework of a virtual machine. The method may also include determining the at least one identified collection object satisfies at least one preconfigured criteria. The method may further include determining a garbage collection cycle count associated with the at least one identified collection object exceeds a preconfigured threshold. The method may also include determining an occupancy ratio associated with the at least one identified collection object is less than a preconfigured shrink threshold. The method may further include restructuring the at least one identified collection object based on the at least one identified collection object satisfying the at least one preconfigured criteria, the garbage collection cycle count exceeding the preconfigured threshold, and the occupancy ratio being less than the preconfigured shrink threshold.
Other inventorsSee patent -
Reducing idle resource usage
US 20180011788
A method, computer program product, and system for reallocating resources of an idle application or program includes a computer for running an application or a program and starting a predetermined time interval. The computer increases a number counter for each event triggered during the predetermined time interval, and the event is a predetermined trigger that is activated during the running of the application or program. The method and system includes comparing a total number of events that…
A method, computer program product, and system for reallocating resources of an idle application or program includes a computer for running an application or a program and starting a predetermined time interval. The computer increases a number counter for each event triggered during the predetermined time interval, and the event is a predetermined trigger that is activated during the running of the application or program. The method and system includes comparing a total number of events that occur during the predetermined time interval to a threshold value. The total number of events is the value of the number counter at the end of the predetermined interval. In response to determining, by the computer, the total number of events being below the threshold value, releasing resources allocated to the program by activating, using the computer, either: i) a garbage collector application, or ii) a resource release application.
Other inventorsSee patent -
Reducing idle resource usage
US 20180011789
A method, computer program product, and system for reallocating resources of an idle application or program includes a computer for running an application or a program and starting a predetermined time interval. The computer increases a number counter for each event triggered during the predetermined time interval, and the event is a predetermined trigger that is activated during the running of the application or program. The method and system includes comparing a total number of events that…
A method, computer program product, and system for reallocating resources of an idle application or program includes a computer for running an application or a program and starting a predetermined time interval. The computer increases a number counter for each event triggered during the predetermined time interval, and the event is a predetermined trigger that is activated during the running of the application or program. The method and system includes comparing a total number of events that occur during the predetermined time interval to a threshold value. The total number of events is the value of the number counter at the end of the predetermined interval. In response to determining, by the computer, the total number of events being below the threshold value, releasing resources allocated to the program by activating, using the computer, either: i) a garbage collector application, or ii) a resource release application.
Other inventorsSee patent -
Response times in asynchronous i/o-based software using thread pairing and co-execution
US US20180107600A1
Methods and systems for pre-fetching operations include executing event callbacks in an event loop using a processor until execution stops on a polling request. A path walk is performed on future events in the event loop until the polling request returns to pre-fetch information for the future events into a processor cache associated with the processor. Execution of the event callbacks in the event loop is resumed after the polling request returns.
Other inventorsSee patent
Courses
-
Advanced Communication for Technical Leaders
05/2014
-
Analysing Performance issues with IBM Healthcenter
11/2014
-
Assertive Skills
09/2010
-
Break-down or Break-through
03/2011
-
Building Relationship Versatility
02/2011
-
Business Acumen for Technical Leaders
10/2011
-
CICS Fundamentals
03/2007
-
Change Leadership
09/2013
-
Emerging Technical Leaders
10/2010
-
Enabling Performance Excellence
10/2010
-
Fast Forward
07/2008
-
Focus - the essence of Time
09/2010
-
IBM Design thinking
08/2016
-
Leading without a Title
05/2016
-
Leveraging Emotional Intelligence for Personal Effectiveness
08/2010
-
Mentoring Enablement Program
08/2008
-
Moving Forward in the Career Framework
09/2011
-
Negotiating to Yes
08/2010
-
Post-sales Service and Support Client Data Handling
08/2009
-
PowerLinux Leadership
12/2013
-
Present with Eminence
05/2015
-
Technical Leadership Today
12/2011
-
The 7 Habits of Highly effective People
06/2010
Languages
-
English
Professional working proficiency
More activity by Gireesh
-
It was 13th July 2009. When I joined #IBM I never thought I would continue for this long. Completing 15 years being an IBMer means a lot to…
It was 13th July 2009. When I joined #IBM I never thought I would continue for this long. Completing 15 years being an IBMer means a lot to…
Liked by Gireesh Punathil
-
my top 3 must-attend sessions today: * Navigating the GenAI Landscape: A Developer's Roadmap by Trent Gray-Donald, IBM Fellow, IBM Research *…
my top 3 must-attend sessions today: * Navigating the GenAI Landscape: A Developer's Roadmap by Trent Gray-Donald, IBM Fellow, IBM Research *…
Shared by Gireesh Punathil
-
🚀 Exciting News in Java 23! 🚀 I'm thrilled to share insights into the upcoming features of Java 23! Check out my latest blog post where I dive…
🚀 Exciting News in Java 23! 🚀 I'm thrilled to share insights into the upcoming features of Java 23! Check out my latest blog post where I dive…
Liked by Gireesh Punathil
-
this is not just a conclave, it is beginning of a journey! a journey to seek relevant worldly tasks that can be automated and optimized. with the…
this is not just a conclave, it is beginning of a journey! a journey to seek relevant worldly tasks that can be automated and optimized. with the…
Shared by Gireesh Punathil
-
Is #GenAI a partner or a challenger? How can you put GenAI into practice? How can you scale and monetize GenAI for enterprises? Get answers to…
Is #GenAI a partner or a challenger? How can you put GenAI into practice? How can you scale and monetize GenAI for enterprises? Get answers to…
Liked by Gireesh Punathil
-
View my verified achievement from IBM.
View my verified achievement from IBM.
Liked by Gireesh Punathil
Other similar profiles
Explore collaborative articles
We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.
Explore More