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: 10853114Abstract: 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: GrantFiled: January 5, 2018Date of Patent: December 1, 2020Assignee: Soroco Private LimitedInventors: Sanyam Agarwal, Rohan Narayan Murty, George Peter Nychis, Wolfgang Richter, Nishant Kumar Jain, Surabhi Mour, Shreyas H. Karanth, Shashank Anand
-
Patent number: 10789157Abstract: 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: GrantFiled: May 1, 2018Date of Patent: September 29, 2020Assignee: Soroco Private LimitedInventors: Nishant Kumar Jain, Rohan Narayan Murty, George Peter Nychis, Harsh Gupta, Yoongu Kim
-
Publication number: 20180322004Abstract: 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: ApplicationFiled: May 1, 2018Publication date: November 8, 2018Inventors: Nishant Kumar Jain, Rohan Narayan Murty, George Peter Nychis, Harsh Gupta, Yoongu Kim
-
Publication number: 20180189093Abstract: 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: ApplicationFiled: January 5, 2018Publication date: July 5, 2018Inventors: Sanyam Agarwal, Rohan Narayan Murty, George Peter Nychis, Wolfgang Richter, Nishant Kumar Jain, Surabhi Mour, Shreyas H. Karanth, Shashank Anand
-
Patent number: 10015039Abstract: 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: GrantFiled: April 17, 2015Date of Patent: July 3, 2018Assignee: Citrix Systems, Inc.Inventors: Saravana Annamalaisami, Raveendra Holla, Nishant Kumar Jain, Sharvari Mithyantha, Dhiraj Gedam
-
Patent number: 9817789Abstract: 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: GrantFiled: April 12, 2013Date of Patent: November 14, 2017Assignee: Citrix & Systems, Inc.Inventor: Nishant Kumar Jain
-
Patent number: 9602465Abstract: 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: GrantFiled: September 9, 2014Date of Patent: March 21, 2017Assignee: Citrix Systems, Inc.Inventors: Nishant Kumar Jain, Sameer Bagepalli Ramesh
-
Publication number: 20160072766Abstract: 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: ApplicationFiled: September 9, 2014Publication date: March 10, 2016Applicant: CITRIX SYSTEMS, INC.Inventors: Nishant Kumar Jain, Sameer Bagepalli Ramesh
-
Publication number: 20150222475Abstract: 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: ApplicationFiled: April 17, 2015Publication date: August 6, 2015Inventors: Saravana Annamalaisami, Raveendra Holla, Nishant Kumar Jain, Sharvari Mithyantha, Dhiraj Gedam
-
Patent number: 9015304Abstract: 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: GrantFiled: June 15, 2012Date of Patent: April 21, 2015Assignee: Citrix Systems, Inc.Inventors: Saravana Annamalaisami, Raveendra Holla, Nishant Kumar Jain, Sharvari Mithyantha, Dhiraj Gedam
-
Publication number: 20130339503Abstract: 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: ApplicationFiled: June 15, 2012Publication date: December 19, 2013Inventors: Saravana Annamalaisami, Raveendra Holla, Nishant Kumar Jain, Sharvari Mithyantha, Dhiraj Gedam
-
Publication number: 20130275543Abstract: 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: ApplicationFiled: April 12, 2013Publication date: October 17, 2013Applicant: Citrix System, Inc.Inventor: Nishant Kumar Jain