Patents by Inventor Nishant Kumar Jain

Nishant Kumar Jain 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: 10853114
    Abstract: Techniques for executing one or more instances of a computer program using virtual machines, the computer program comprising multiple computer program portions including a first computer program portion. The techniques include determining whether an instance of any of the multiple computer program portions is to be executed; when it is determined that a first instance of the first computer program portion is to be executed, accessing first information specifying a first set of one or more virtual machine resources required for executing the first instance of the first computer program portion; determining whether any one of the plurality of virtual machines has at least the first set of virtual machine resources available; and when it is determined that a first of the plurality of virtual machines has the first set virtual machine resources available, causing the first virtual machine to execute the first instance of the first computer program portion.
    Type: Grant
    Filed: January 5, 2018
    Date of Patent: December 1, 2020
    Assignee: Soroco Private Limited
    Inventors: Sanyam Agarwal, Rohan Narayan Murty, George Peter Nychis, Wolfgang Richter, Nishant Kumar Jain, Surabhi Mour, Shreyas H. Karanth, Shashank Anand
  • Patent number: 10789157
    Abstract: According to at least one aspect, a system is provided. The system comprises at least one hardware processor; and at least one non-transitory computer-readable storage medium storing processor executable instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform: monitoring execution of a first computer program configured to control a second computer program to perform a task at least in part by controlling the second computer program, through a graphical user interface (GUI) and/or an application programming interface (API) for the second computer program, to perform at least one action in furtherance of the task; detecting at least one anomaly in the execution of the first computer program; and outputting the detected at least one anomaly in the execution of the first computer program.
    Type: Grant
    Filed: May 1, 2018
    Date of Patent: September 29, 2020
    Assignee: Soroco Private Limited
    Inventors: Nishant Kumar Jain, Rohan Narayan Murty, George Peter Nychis, Harsh Gupta, Yoongu Kim
  • Publication number: 20180322004
    Abstract: According to at least one aspect, a system is provided. The system comprises at least one hardware processor; and at least one non-transitory computer-readable storage medium storing processor executable instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform: monitoring execution of a first computer program configured to control a second computer program to perform a task at least in part by controlling the second computer program, through a graphical user interface (GUI) and/or an application programming interface (API) for the second computer program, to perform at least one action in furtherance of the task; detecting at least one anomaly in the execution of the first computer program; and outputting the detected at least one anomaly in the execution of the first computer program.
    Type: Application
    Filed: May 1, 2018
    Publication date: November 8, 2018
    Inventors: Nishant Kumar Jain, Rohan Narayan Murty, George Peter Nychis, Harsh Gupta, Yoongu Kim
  • Publication number: 20180189093
    Abstract: Techniques for executing one or more instances of a computer program using virtual machines, the computer program comprising multiple computer program portions including a first computer program portion. The techniques include determining whether an instance of any of the multiple computer program portions is to be executed; when it is determined that a first instance of the first computer program portion is to be executed, accessing first information specifying a first set of one or more virtual machine resources required for executing the first instance of the first computer program portion; determining whether any one of the plurality of virtual machines has at least the first set of virtual machine resources available; and when it is determined that a first of the plurality of virtual machines has the first set virtual machine resources available, causing the first virtual machine to execute the first instance of the first computer program portion.
    Type: Application
    Filed: January 5, 2018
    Publication date: July 5, 2018
    Inventors: Sanyam Agarwal, Rohan Narayan Murty, George Peter Nychis, Wolfgang Richter, Nishant Kumar Jain, Surabhi Mour, Shreyas H. Karanth, Shashank Anand
  • Patent number: 10015039
    Abstract: The present disclosure is directed towards systems and methods for supporting Simple Network Management Protocol (SNMP) request operations over clustered networking devices. The system includes a cluster that includes a plurality of intermediary devices and an SNMP agent executing on a first intermediary device of the plurality of intermediary devices. The SNMP agent receives an SNMP GETNEXT request for an entity. Responsive to receipt of the SNMP GETNEXT request, the SNMP agent requests a next entity from each intermediary device of the plurality of intermediary devices of the cluster. To respond to the SNMP request, the SNMP agent selects a lexicographically minimum entity. The SNMP agent may select the lexicographically minimum entity from a plurality of next entities received via responses from each intermediary device of the plurality of intermediary devices.
    Type: Grant
    Filed: April 17, 2015
    Date of Patent: July 3, 2018
    Assignee: Citrix Systems, Inc.
    Inventors: Saravana Annamalaisami, Raveendra Holla, Nishant Kumar Jain, Sharvari Mithyantha, Dhiraj Gedam
  • Patent number: 9817789
    Abstract: The SNMP cache of the present solution supports multi-core/multi-node environment by recalculating the SNMP ordering of the entities in the response from multiple cores/nodes at insertion time. The most significant gain is achieved by prefetching or augmenting the cache, wherein while requesting an entity and its stat information, next few entities in SNMP order are requested from the owner processes. SNMP Management systems extensively utilize repeated GETNEXT (such as via a SNMP WALK) and few next responses may be served from the cache directly. Further performance improvements are obtained by introducing another level of cache on top of the existing cache. This auxiliary cache ensures a high hit ratio for repeated SNMP GETNEXT request (SNMP WALK operation) by caching last accessed entity within the main cache. This auxiliary cache also aids in insertion in the larger main cache by maintaining pointers to last accessed entity before the main cache miss.
    Type: Grant
    Filed: April 12, 2013
    Date of Patent: November 14, 2017
    Assignee: Citrix & Systems, Inc.
    Inventor: Nishant Kumar Jain
  • Patent number: 9602465
    Abstract: Methods and systems for maintaining NAT session management on a multi-core device are disclosed. A first core of the multi-core device that is intermediary between a plurality of clients and a plurality of servers may insert a NAT session into a local outbound session table stored in a memory of the first core. The first core may determine that a second core of the multi-core device will serve as a receiving core for a response to the request from the server to the client. The first core may insert the NAT session into a global session table responsive to determining that the second core will serve as the receiving core.
    Type: Grant
    Filed: September 9, 2014
    Date of Patent: March 21, 2017
    Assignee: Citrix Systems, Inc.
    Inventors: Nishant Kumar Jain, Sameer Bagepalli Ramesh
  • Publication number: 20160072766
    Abstract: Methods and systems for maintaining NAT session management on a multi-core device are disclosed. A first core of the multi-core device that is intermediary between a plurality of clients and a plurality of servers may insert a NAT session into a local outbound session table stored in a memory of the first core. The first core may determine that a second core of the multi-core device will serve as a receiving core for a response to the request from the server to the client. The first core may insert the NAT session into a global session table responsive to determining that the second core will serve as the receiving core.
    Type: Application
    Filed: September 9, 2014
    Publication date: March 10, 2016
    Applicant: CITRIX SYSTEMS, INC.
    Inventors: Nishant Kumar Jain, Sameer Bagepalli Ramesh
  • Publication number: 20150222475
    Abstract: The present disclosure is directed towards systems and methods for supporting Simple Network Management Protocol (SNMP) request operations over clustered networking devices. The system includes a cluster that includes a plurality of intermediary devices and an SNMP agent executing on a first intermediary device of the plurality of intermediary devices. The SNMP agent receives an SNMP GETNEXT request for an entity. Responsive to receipt of the SNMP GETNEXT request, the SNMP agent requests a next entity from each intermediary device of the plurality of intermediary devices of the cluster. To respond to the SNMP request, the SNMP agent selects a lexicographically minimum entity. The SNMP agent may select the lexicographically minimum entity from a plurality of next entities received via responses from each intermediary device of the plurality of intermediary devices.
    Type: Application
    Filed: April 17, 2015
    Publication date: August 6, 2015
    Inventors: Saravana Annamalaisami, Raveendra Holla, Nishant Kumar Jain, Sharvari Mithyantha, Dhiraj Gedam
  • Patent number: 9015304
    Abstract: The present disclosure is directed towards systems and methods for supporting Simple Network Management Protocol (SNMP) request operations over clustered networking devices. The system includes a cluster that includes a plurality of intermediary devices and an SNMP agent executing on a first intermediary device of the plurality of intermediary devices. The SNMP agent receives an SNMP GETNEXT request for an entity. Responsive to receipt of the SNMP GETNEXT request, the SNMP agent requests a next entity from each intermediary device of the plurality of intermediary devices of the cluster. To respond to the SNMP request, the SNMP agent selects a lexicographically minimum entity. The SNMP agent may select the lexicographically minimum entity from a plurality of next entities received via responses from each intermediary device of the plurality of intermediary devices.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: April 21, 2015
    Assignee: Citrix Systems, Inc.
    Inventors: Saravana Annamalaisami, Raveendra Holla, Nishant Kumar Jain, Sharvari Mithyantha, Dhiraj Gedam
  • Publication number: 20130339503
    Abstract: The present disclosure is directed towards systems and methods for supporting Simple Network Management Protocol (SNMP) request operations over clustered networking devices. The system includes a cluster that includes a plurality of intermediary devices and an SNMP agent executing on a first intermediary device of the plurality of intermediary devices. The SNMP agent receives an SNMP GETNEXT request for an entity. Responsive to receipt of the SNMP GETNEXT request, the SNMP agent requests a next entity from each intermediary device of the plurality of intermediary devices of the cluster. To respond to the SNMP request, the SNMP agent selects a lexicographically minimum entity. The SNMP agent may select the lexicographically minimum entity from a plurality of next entities received via responses from each intermediary device of the plurality of intermediary devices.
    Type: Application
    Filed: June 15, 2012
    Publication date: December 19, 2013
    Inventors: Saravana Annamalaisami, Raveendra Holla, Nishant Kumar Jain, Sharvari Mithyantha, Dhiraj Gedam
  • Publication number: 20130275543
    Abstract: The SNMP cache of the present solution supports multi-core/multi-node environment by recalculating the SNMP ordering of the entities in the response from multiple cores/nodes at insertion time. The most significant gain is achieved by prefetching or augmenting the cache, wherein while requesting an entity and its stat information, next few entities in SNMP order are requested from the owner processes. SNMP Management systems extensively utilize repeated GETNEXT (such as via a SNMP WALK) and few next responses may be served from the cache directly. Further performance improvements are obtained by introducing another level of cache on top of the existing cache. This auxiliary cache ensures a high hit ratio for repeated SNMP GETNEXT request (SNMP WALK operation) by caching last accessed entity within the main cache. This auxiliary cache also aids in insertion in the larger main cache by maintaining pointers to last accessed entity before the main cache miss.
    Type: Application
    Filed: April 12, 2013
    Publication date: October 17, 2013
    Applicant: Citrix System, Inc.
    Inventor: Nishant Kumar Jain