Patents by Inventor Gireesh Punathil

Gireesh Punathil has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11340955
    Abstract: Execution of varying tasks for heterogeneous applications running in a single runtime environment is managed. The runtime environment is capable of managing thread pools for any of the plurality of applications and receives a request to manage a thread pool for one of the applications. The request includes size thresholds for the pool, a first function to be invoked for creation of threads, and a second function to be invoked for termination of the threads. Responsive to detecting that a first size threshold is not satisfied, the runtime environment invokes the first function to cause the application to create an additional thread. Responsive to detecting that a second size threshold is not satisfied, the runtime environment places an artificial task that incorporates the second function into a work queue for the thread pool, whereby a thread executes the artificial task to invoke the second function and thereby terminates.
    Type: Grant
    Filed: January 2, 2020
    Date of Patent: May 24, 2022
    Assignee: International Business Machines Corporation
    Inventors: Suman Mitra, Gireesh Punathil, Vipin M V
  • Patent number: 11099820
    Abstract: An automated method extracts the topology of a software application, identifies static and runtime internal code flow, data flow, dependencies, accessibility, reachability, and resource consumption characteristics of the application. The method identifies code refactoring boundaries, and helps to adapt and/or re-configure the software application into a set of microservices for deployment in a cloud environment.
    Type: Grant
    Filed: June 19, 2019
    Date of Patent: August 24, 2021
    Assignee: International Business Machines Corporation
    Inventors: Gireesh Punathil, Vijayalakshmi Kannan, Deepthi Sebastian
  • Patent number: 11074095
    Abstract: Methods and systems for an event-based virtual machine that hosts microservices are disclosed.
    Type: Grant
    Filed: January 4, 2019
    Date of Patent: July 27, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Gireesh Punathil, Deepthi Sebastian, Vijayalakshmi Kannan, Kabir Islam
  • Patent number: 11061743
    Abstract: A computer system for event loop optimization through event ordering within an event loop of a node to improve externally visible attributes of the runtime. The optimization is carried out by labeling a set of events by assigning one or more attributes to each event of the set of events; processing a plurality of events of the set of events for an interval based on at least the attributes of each event of the plurality of events; ordering the events of the plurality of events within the interval based on assigned priorities to the one or more assigned attributes of each event of the plurality of events; and executing the plurality of events in the order determined based on the assigned priorities.
    Type: Grant
    Filed: October 29, 2019
    Date of Patent: July 13, 2021
    Assignee: International Business Machines Corporation
    Inventors: Michael H. Dawson, Gireesh Punathil
  • Patent number: 11063823
    Abstract: Embodiments of the present invention are directed towards optimizing two or more services that exchange data over a communication network to send, receive and record data across a plurality of network connections, where each network connection is between two sockets, and modifying the communication network to, at least temporarily, assign a plurality of sockets for use by the two services to exchange data between them.
    Type: Grant
    Filed: June 19, 2019
    Date of Patent: July 13, 2021
    Assignee: International Business Machines Corporation
    Inventors: Gireesh Punathil, Vipin M V, Subrahmanya Chari Paradani, Jayashree Shamkoor Kumar
  • Publication number: 20210208944
    Abstract: Execution of varying tasks for heterogeneous applications running in a single runtime environment is managed. The runtime environment is capable of managing thread pools for any of the plurality of applications and receives a request to manage a thread pool for one of the applications. The request includes size thresholds for the pool, a first function to be invoked for creation of threads, and a second function to be invoked for termination of the threads. Responsive to detecting that a first size threshold is not satisfied, the runtime environment invokes the first function to cause the application to create an additional thread. Responsive to detecting that a second size threshold is not satisfied, the runtime environment places an artificial task that incorporates the second function into a work queue for the thread pool, whereby a thread executes the artificial task to invoke the second function and thereby terminates.
    Type: Application
    Filed: January 2, 2020
    Publication date: July 8, 2021
    Inventors: SUMAN MITRA, Gireesh Punathil, Vipin M V
  • Patent number: 10915268
    Abstract: A computer-implemented method, apparatus, and computer program product for scheduling a process to run on a processor. A determination is made whether a process running on a processor is making an input/output operation system call. The process is de-scheduled from running on the processor in response to a determination that the process is making an input/output operation system call. The process is allowed to continue running on the processor in response to a determination that the process is not making an input/output system call.
    Type: Grant
    Filed: December 22, 2017
    Date of Patent: February 9, 2021
    Assignee: International Business Machines Corporation
    Inventors: Lakshmi S. Gopireddy, Sreepurna Jasti, Gireesh Punathil, Bidisha Pyne
  • Patent number: 10901807
    Abstract: Threads running in a computer system are managed. Responsive to a thread for an application attempting to acquire a lock to a shared computing resource to perform a task for the application, a determination is made by the computer system as to whether the lock for the shared computing resource was acquired by the thread for the application. An unrelated task for the application assigned by the computer system to the thread in an absence of a determination that the lock was acquired.
    Type: Grant
    Filed: January 2, 2019
    Date of Patent: January 26, 2021
    Assignee: International Business Machines Corporation
    Inventors: Sreepurna Jasti, Lakshmi Swetha Gopireddy, Gautam Mittal, Gireesh Punathil
  • Patent number: 10896130
    Abstract: 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.
    Type: Grant
    Filed: October 19, 2016
    Date of Patent: January 19, 2021
    Assignee: International Business Machines Corporation
    Inventors: Michael H. Dawson, Gireesh Punathil
  • Publication number: 20200403868
    Abstract: Embodiments of the present invention are directed towards optimizing two or more services that exchange data over a communication network to send, receive and record data across a plurality of network connections, where each network connection is between two sockets, and modifying the communication network to, at least temporarily, assign a plurality of sockets for use by the two services to exchange data between them.
    Type: Application
    Filed: June 19, 2019
    Publication date: December 24, 2020
    Inventors: Gireesh Punathil, Vipin M V, Subrahmanya Chari Paradani, Jayashree Shamkoor Kumar
  • Publication number: 20200401386
    Abstract: An automated method extracts the topology of a software application, identifies static and runtime internal code flow, data flow, dependencies, accessibility, reachability, and resource consumption characteristics of the application. The method identifies code refactoring boundaries, and helps to adapt and/or re-configure the software application into a set of microservices for deployment in a cloud environment.
    Type: Application
    Filed: June 19, 2019
    Publication date: December 24, 2020
    Inventors: Gireesh Punathil, Vijayalakshmi Kannan, Deepthi Sebastian
  • Publication number: 20200387934
    Abstract: Embodiments describe an approach for improving user consumption and promotion of multi-media content. Embodiments retrieve social media and location-specific context information from one or more social media platforms associated with one or more audience members. Embodiments determine a baseline mood for the one or more audience members based on the one or more audience member's social media activity and social media posts. Embodiments of capture one or more images of one or more audience member reactions while the one or more audience members view the multi-media content. Embodiments identify relevant scenes in the multi-media content based on the captured one or more audience member reactions. Additionally, embodiments generate promotional content based on the identified relevant scenes; and distribute the promotional content on the one or more social media platforms.
    Type: Application
    Filed: June 10, 2019
    Publication date: December 10, 2020
    Inventors: Vipin M V, Lakshmi Swetha Gopireddy, Gireesh Punathil
  • Publication number: 20200285716
    Abstract: A system containing a central software enterprise license management (CSELM) server computer, a client agent that acts as a command slave for the CSELM server computer, a desktop monitoring service that has well defined set of monitoring application programming interface (APIs) and tunables or parameters that keep a one-to-one relation with the monitoring APIs, a cloud based software service that provides cognition based services for common license subscriptions. The disclosed methods include abstracting licensing restrictions, generating the set of rules that truly represent the restrictions thus abstracted, configuring and invoking the desktop monitoring agent with the set of rules thus identified for the installation, and reporting, logging or auditing user actions that violate the defined rules thereon.
    Type: Application
    Filed: March 7, 2019
    Publication date: September 10, 2020
    Inventors: Gireesh Punathil, Vipin M V, Subrahmanya C. Paradani, Vijayalakshmi Kannan
  • Publication number: 20200218584
    Abstract: Methods and systems for an event loop based runtime are disclosed. A method includes: receiving, by a computing device, a first request to register a first event in an event loop; in response to determining that the first request to register the first event is not triggered by a callback routine, the computing device generating an event list and storing an event descriptor for the first event in the event list; determining, by the computing device, that the first event has occurred; executing, by the computing device, a callback routine associated with the first event; marking, by the computing device, the first event as complete in the event list; determining, by the computing device, information about a transaction including a start time and an end time based on the event list; and outputting, by the computing device, the information about the transaction.
    Type: Application
    Filed: January 3, 2019
    Publication date: July 9, 2020
    Inventor: Gireesh Punathil
  • Publication number: 20200218557
    Abstract: Methods and systems for an event-based virtual machine that hosts microservices are disclosed.
    Type: Application
    Filed: January 4, 2019
    Publication date: July 9, 2020
    Inventors: Gireesh Punathil, Deepthi Sebastian, Vijayalakshmi Kannan, Kabir Islam
  • Publication number: 20200210247
    Abstract: Threads running in a computer system are managed. Responsive to a thread for an application attempting to acquire a lock to a shared computing resource to perform a task for the application, a determination is made by the computer system as to whether the lock for the shared computing resource was acquired by the thread for the application. An unrelated task for the application assigned by the computer system to the thread in an absence of a determination that the lock was acquired.
    Type: Application
    Filed: January 2, 2019
    Publication date: July 2, 2020
    Inventors: Sreepurna Jasti, Lakshmi Swetha Gopireddy, Gautam Mittal, Gireesh Punathil
  • Publication number: 20200174812
    Abstract: A computer-implemented method includes opening, by a computer device, a global data dictionary on a virtual machine running on the computer device; running, by the computer device, a system defined class on the virtual machine; allocating, by the computer device, program objects that relate to the system defined class from an operating system onto the virtual machine; initializing, by the computer device, a system trace module on the virtual machine; collecting and storing in the global data dictionary, by the computer device, additional class data that was not originally abstracted, the additional class data being references to the allocated program objects; triggering, by the computer device, the system trace module in response to a trace event; identifying, by the computer device, particular ones of the program objects that relate to the trace event; and consolidating, by the computer device, the additional class data that corresponds to the particular ones of the program objects with abstracted object dat
    Type: Application
    Filed: November 30, 2018
    Publication date: June 4, 2020
    Inventors: Srividya SHAMAIAH, Vijayalakshmi KANNAN, Deepthi SEBASTIAN, Gireesh PUNATHIL
  • Publication number: 20200065164
    Abstract: A computer system for event loop optimization through event ordering within an event loop of a node to improve externally visible attributes of the runtime. The optimization is carried out by labeling a set of events by assigning one or more attributes to each event of the set of events; processing a plurality of events of the set of events for an interval based on at least the attributes of each event of the plurality of events; ordering the events of the plurality of events within the interval based on assigned priorities to the one or more assigned attributes of each event of the plurality of events; and executing the plurality of events in the order determined based on the assigned priorities.
    Type: Application
    Filed: October 29, 2019
    Publication date: February 27, 2020
    Inventors: Michael H. Dawson, Gireesh Punathil
  • Patent number: 10545802
    Abstract: A method of event loop optimization through event ordering within an event loop of a node to improve externally visible attributes of the runtime. The optimization is carried out by labeling a set of events by assigning one or more attributes to each event of the set of events; processing a plurality of events of the set of events for an interval based on at least the attributes of each event of the plurality of events; ordering the events of the plurality of events within the interval based on assigned priorities to the one or more assigned attributes of each event of the plurality of events; and executing the plurality of events in the order determined based on the assigned priorities.
    Type: Grant
    Filed: March 10, 2017
    Date of Patent: January 28, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael H. Dawson, Gireesh Punathil
  • Publication number: 20190196871
    Abstract: A computer-implemented method, apparatus, and computer program product for scheduling a process to run on a processor. A determination is made whether a process running on a processor is making an input/output operation system call. The process is de-scheduled from running on the processor in response to a determination that the process is making an input/output operation system call. The process is allowed to continue running on the processor in response to a determination that the process is not making an input/output system call.
    Type: Application
    Filed: December 22, 2017
    Publication date: June 27, 2019
    Inventors: Lakshmi S. Gopireddy, Sreepurna Jasti, Gireesh Punathil, Bidisha Pyne