Gireesh Punathil

Bengaluru, Karnataka, India Contact Info
1K followers 500+ connections

Join to view profile

About

Gireesh Punathil is a leader, inventor and mentor with demonstrated track record in…

Articles by Gireesh

Activity

Join now to see all activity

Experience & Education

  • IBM India Private Limited

View Gireesh’s full experience

See their title, tenure and more.

or

By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.

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 authors
    See 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
    • Sian January
    See publication
  • 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
    • Sathiskumar Palaniappan
    See publication
  • 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 authors
    See 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 authors
    See 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 authors
    See 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.

    See publication

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 inventors
    See 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 inventors
    See 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 inventors
    See 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 inventors
    See 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 inventors
    See 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 inventors
    See patent
  • Identification of Critical Web Services and their Dynamic Optimal Relocation

    US 20120124193

    Other inventors
  • Identification of Critical Web Services and their Dynamic Optimal Relocation

    US US 20130013774

    Other inventors
  • 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 inventors
    See 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 inventors
    See 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 inventors
    See 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

View Gireesh’s full profile

  • See who you know in common
  • Get introduced
  • Contact Gireesh directly
Join to view full profile

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

Add new skills with these courses