Patents by Inventor Padmanabhan Krishnan

Padmanabhan Krishnan 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).

  • Publication number: 20190138433
    Abstract: A method for evaluating a test suite for a software library includes generating a mutated software library by adding a fault to the software library, while the software library is used by a testing tool to evaluate a test suite. The method further includes loading the mutated software library, then executing a test in the test suite on the mutated software library to obtain a test result. The method further includes analyzing the test result.
    Type: Application
    Filed: November 3, 2017
    Publication date: May 9, 2019
    Applicant: Oracle International Corporation
    Inventors: Padmanabhan Krishnan, Rebecca O'Donoghue, Jerome Loh
  • Publication number: 20190129826
    Abstract: A method for analyzing code may include generating, via a flow-insensitive points-to analysis, initial interest points each corresponding to a statement in the code, generating, via a flow-sensitive points-to analysis, flow tuples and refined interest points by removing a subset of the initial interest points, and constructing a flow graph using the refined interest points. The flow graph may include nodes each corresponding to a statement in the code, and edges corresponding to the flow tuples. The method may further include identifying a trace through the flow graph. The trace may include a node corresponding to an interest point of the refined interest points.
    Type: Application
    Filed: October 31, 2017
    Publication date: May 2, 2019
    Inventors: Raghavendra Kagalavadi Ramesh, Padmanabhan Krishnan, Francois Gauthier
  • Publication number: 20190104104
    Abstract: A source host device masks the hardware address of a hosted container from a network device to mitigate the use of resources in the network device. A virtual switch on the source host receives a frame from a hosted container. The frame includes a source hardware address of the hardware address corresponding to the hosted container. The frame also includes a source network address of the network address corresponding to the hosted container. The virtual switch replaces the source hardware address of the frame with the hardware address associated with the source host, and send the frame to the network device. The frame sent to the network device includes the host hardware address as the source hardware address and the container network address as the source network address.
    Type: Application
    Filed: September 29, 2017
    Publication date: April 4, 2019
    Inventors: Shyam N. Kapadia, Padmanabhan Krishnan, Naoshad Mehta, Rajesh B. Nataraja, Nilesh Shah
  • Patent number: 10228982
    Abstract: A mechanism is provided for allocating a hyper-threaded processor to nodes of multi-tenant distributed software systems. Responsive to receiving a request to provision a node of the multi-tenant distributed software system on the host data processing system, a cluster to which the node belongs is identified. Responsive to the node being a second type of node, responsive to determining that another second type of node in the same cluster has been provisioned on the host data processing system, and responsive to the number of unallocated VPs on different physical processors from that of the other second type of node being greater than or equal to the requested number of VPs for the second type of node, the requested number of VPs for the second type of node is allocated each to a different physical processor from that of the other second type of node.
    Type: Grant
    Filed: January 25, 2018
    Date of Patent: March 12, 2019
    Assignee: International Business Machines Corporation
    Inventors: Rachit Arora, Dharmesh K. Jain, Padmanabhan Krishnan, Shrinivas S. Kulkarni, Subin Shekhar
  • Publication number: 20190065180
    Abstract: A method for analyzing code may include determining, using a dependency graph for the code, modules each including function definitions, and generating source points-to tuples and a call graph for a source function definition in a first module. The source points-to tuples may include a source tuple including a source variable and a source allocation site. The source allocation site may be a reference to a location in a memory of a computer system allocated when the source function definition is executed. The method may further include determining, using the call graph and until a fixedpoint condition is triggered, target function definitions reachable from the source function definition, determining that a target summary is stored for a first target function definition, and importing the target summary into a source summary for the source function definition. The source summary may include the source points-to tuples.
    Type: Application
    Filed: August 31, 2017
    Publication date: February 28, 2019
    Applicant: Oracle International Corporation
    Inventors: Johannes Späth, Francois Gauthier, Padmanabhan Krishnan
  • Patent number: 10216547
    Abstract: A mechanism is provided for allocating a hyper-threaded processor to nodes of multi-tenant distributed software systems. Responsive to receiving a request to provision a node of the multi-tenant distributed software system on the host data processing system, a cluster to which the node belongs is identified. Responsive to the node being a second type of node, responsive to determining that another second type of node in the same cluster has been provisioned on the host data processing system, and responsive to the number of unallocated VPs on different physical processors from that of the other second type of node being greater than or equal to the requested number of VPs for the second type of node, the requested number of VPs for the second type of node is allocated each to a different physical processor from that of the other second type of node.
    Type: Grant
    Filed: November 22, 2016
    Date of Patent: February 26, 2019
    Assignee: International Business Machines Corporation
    Inventors: Rachit Arora, Dharmesh K. Jain, Padmanabhan Krishnan, Shrinivas S. Kulkarni, Subin Shekhar
  • Publication number: 20190012202
    Abstract: Techniques for virtual workload deployment based on computing resource hardware load and associated network hardware load. For each of a plurality of computing resources within one or more data centers onto which a virtual workload can be deployed, a computing resource hardware load of the respective computing resource is determined. Network topology information is maintained for at least one network fabric of the one or more data centers, and an associated network hardware load of a network device communicatively connected to the respective computing resource is determined. Embodiments automatically select one or more computing resources. The virtual workload is deployed onto the automatically selected one or more computing resources.
    Type: Application
    Filed: September 14, 2018
    Publication date: January 10, 2019
    Inventors: Padmanabhan KRISHNAN, Rajesh Babu NATARAJA, Shyam KAPADIA, Nader LAHOUTI, Viral Rajeshbhai BAROT, Jay Ajaykumar GHEEWALA
  • Patent number: 10078534
    Abstract: Embodiments include determining computing resources within one or more data centers onto which a virtual workload can be deployed. Network state data is determined for a plurality of network resources within a network fabric of a data center. For each of the plurality of computing resources, embodiments determine a respective suitability value describing a fitness of the respective physical server for deploying at least a portion of the virtual workload. Such a determination includes determining a respective at least one of the plurality of network resources within the at least one network fabric corresponding to the respective computing resource and determining a current workload of the at least one network resource, based on the network state data. Upon selecting one or more computing resources of the plurality of computing resources based on the determined suitability values, embodiments deploy the virtual workload onto the selected one or more computing resources.
    Type: Grant
    Filed: August 26, 2015
    Date of Patent: September 18, 2018
    Assignee: Cisco Technology, Inc.
    Inventors: Padmanabhan Krishnan, Rajesh Babu Nataraja, Shyam Kapadia, Nader Lahouti, Viral Rajeshbhai Barot, Jay Ajaykumar Gheewala
  • Patent number: 10003518
    Abstract: A monitoring session associated with a virtual nickname may be established in a TRILL network. A monitoring station may be connected to an edge switch of the TRILL network specifying the virtual nickname for the monitoring session. The monitoring station is set as a destination for the monitoring session and the virtual nickname is flooded throughout the TRILL network. A source may then be configured to the monitoring session by specifying the virtual nickname of the monitoring session without knowing the destination tied to the monitoring session. Network traffic through the source may then be forwarded to the destination tied to the monitoring session.
    Type: Grant
    Filed: December 14, 2015
    Date of Patent: June 19, 2018
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Rajagopalan Janakiraman, Yibin Yang, Pags Krishnamoorthy, Padmanabhan Krishnan
  • Publication number: 20180150332
    Abstract: A mechanism is provided for allocating a hyper-threaded processor to nodes of multi-tenant distributed software systems. Responsive to receiving a request to provision a node of the multi-tenant distributed software system on the host data processing system, a cluster to which the node belongs is identified. Responsive to the node being a second type of node, responsive to determining that another second type of node in the same cluster has been provisioned on the host data processing system, and responsive to the number of unallocated VPs on different physical processors from that of the other second type of node being greater than or equal to the requested number of VPs for the second type of node, the requested number of VPs for the second type of node is allocated each to a different physical processor from that of the other second type of node.
    Type: Application
    Filed: January 25, 2018
    Publication date: May 31, 2018
    Inventors: Rachit Arora, Dharmesh K. Jain, Padmanabhan Krishnan, Shrinivas S. Kulkarni, Subin Shekhar
  • Publication number: 20180143863
    Abstract: A mechanism is provided for allocating a hyper-threaded processor to nodes of multi-tenant distributed software systems. Responsive to receiving a request to provision a node of the multi-tenant distributed software system on the host data processing system, a cluster to which the node belongs is identified. Responsive to the node being a second type of node, responsive to determining that another second type of node in the same cluster has been provisioned on the host data processing system, and responsive to the number of unallocated VPs on different physical processors from that of the other second type of node being greater than or equal to the requested number of VPs for the second type of node, the requested number of VPs for the second type of node is allocated each to a different physical processor from that of the other second type of node.
    Type: Application
    Filed: November 22, 2016
    Publication date: May 24, 2018
    Inventors: Rachit Arora, Dharmesh K. Jain, Padmanabhan Krishnan, Shrinivas S. Kulkarni, Subin Shekhar
  • Publication number: 20180121488
    Abstract: A method may include executing operation types on a concurrent data structure to obtain executed operations. Each executed operation may cause a transition from a preceding state to a subsequent state. The method may further include recording each executed operation to obtain recorded operations, and assembling a concurrent history from the recorded operations. The concurrent history may include a subset of the recorded operations, and the concurrent history may impose overlapping and non-overlapping relationships on the subset of recorded operations. The method may further include checking whether the concurrent history has an equivalent linearization including a total sequential ordering of the subset of recorded operations, and reporting an error when the concurrent history has no equivalent linearization.
    Type: Application
    Filed: November 2, 2016
    Publication date: May 3, 2018
    Inventors: Patrick James Doolan, Chenyi Zhang, Graeme Paul Smith, Padmanabhan Krishnan
  • Publication number: 20180069757
    Abstract: A system and a method for automatically detecting and configuring server uplink network interfaces in a network environment. An exemplary method includes receiving a discovery packet from a network element on a network interface of a server connected to the network element; evaluating the discovery packet to determine whether the network element possesses virtual bridging capabilities; and configuring the network interface of the server as an uplink interface for communicating with a network when the discovery packet indicates that the network element possesses virtual bridging capabilities.
    Type: Application
    Filed: October 27, 2017
    Publication date: March 8, 2018
    Inventors: Milton Y. Xu, Padmanabhan Krishnan
  • Publication number: 20180041363
    Abstract: In one embodiment a method includes receiving a first message including information regarding a first host connected to a first tunnel endpoint in a first network domain, the received information being encoded in accordance with a control plane protocol of the first network domain; translating the received first message in accordance with an API and/or a database schema of a second network domain; and transmitting the translated first message to the second network domain. The method further includes receiving a second message comprising information regarding a second host connected to a second tunnel endpoint in the second network domain, the received information being encoded in accordance with the API and/or the database schema of the second network domain; translating the second received message in accordance with the control plane protocol of the first network domain; and transmitting the translated second message to the first network domain.
    Type: Application
    Filed: August 4, 2016
    Publication date: February 8, 2018
    Applicant: CISCO TECHNOLOGY, INC.
    Inventors: Victor Manuel Moreno, Padmanabhan Krishnan, Nilesh Shah, Suvil Singh Deora, Shyam Kapadia
  • Publication number: 20170344348
    Abstract: A method for analyzing a program may include obtaining the program and obtaining a points-to analysis that may include points-to tuples. The method may further include obtaining a result of a query based on the program. The method may further include extracting a data-flow trace specification that includes flow tuples. Each flow tuple may include a source variable defined in a first method and a sink variable defined in a second method. The method may further include adding, in a recursive manner until a termination condition is triggered, a trace edge to a data-flow trace graph for each points-to tuple of a list of points-to tuples. The respective points-to tuple and a first flow tuple may be used to form a first points-to tuple that is added to the list of points-to tuples. The list of points-to tuples may be initialized to the result of the query.
    Type: Application
    Filed: May 31, 2016
    Publication date: November 30, 2017
    Inventors: Stepan Sindelar, Padmanabhan Krishnan, Bernhard Scholz, Raghavendra Kagalavadi Ramesh, Yi Lu
  • Publication number: 20170337118
    Abstract: A method for points-to program analysis includes extracting a kernel from a program, performing a fixed object sensitive points to analysis of the kernel to obtain fixed analysis results, and assigning, for a first candidate object in the kernel, a first context depth to the first candidate object. The candidate objects are identified using the fixed analysis results. The method further includes assigning, for a second candidate object, a second context depth to the second candidate object. The second context depth is different than the first context depth. The method further includes performing, to obtain selective analysis results, a selective object sensitive points to analysis using the first context depth for the first candidate object and the second context depth for the second candidate object, and performing an action based on the selective analysis results.
    Type: Application
    Filed: May 20, 2016
    Publication date: November 23, 2017
    Inventors: Behnaz Hassanshahi, Raghavendra Kagalavadi Ramesh, Padmanabhan Krishnan, Bernhard F. Scholz, Yi Lu
  • Patent number: 9811322
    Abstract: A method for analyzing a program may include obtaining the program and obtaining a points-to analysis that may include points-to tuples. The method may further include obtaining a result of a query based on the program. The method may further include extracting a data-flow trace specification that includes flow tuples. Each flow tuple may include a source variable defined in a first method and a sink variable defined in a second method. The method may further include adding, in a recursive manner until a termination condition is triggered, a trace edge to a data-flow trace graph for each points-to tuple of a list of points-to tuples. The respective points-to tuple and a first flow tuple may be used to form a first points-to tuple that is added to the list of points-to tuples. The list of points-to tuples may be initialized to the result of the query.
    Type: Grant
    Filed: May 31, 2016
    Date of Patent: November 7, 2017
    Assignee: Oracle International Corporation
    Inventors: Stepan Sindelar, Padmanabhan Krishnan, Bernhard Scholz, Raghavendra Kagalavadi Ramesh, Yi Lu
  • Publication number: 20170318026
    Abstract: A method for analyzing a software library may include obtaining the software library, identifying a candidate security-sensitive entity in the software library, and generating a control flow graph that includes execution paths. Each execution path may include a public entry node corresponding to a public entry and a candidate security-sensitive entity node corresponding to the candidate security-sensitive entity. The public entry is a point where an application program external to the software library may access the software library. The method may further include determining whether each execution path in the control flow graph includes a permission check node between the respective public entry node and the candidate security-sensitive entity node in the respective execution path. Each permission check node may correspond to a permission check in the software library.
    Type: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventors: Yi Lu, Padmanabhan Krishnan, Raghavendra Kagalavadi Ramesh, Sora Bae
  • Patent number: 9807101
    Abstract: A method for analyzing a software library may include obtaining the software library, identifying a candidate security-sensitive entity in the software library, and generating a control flow graph that includes execution paths. Each execution path may include a public entry node corresponding to a public entry and a candidate security-sensitive entity node corresponding to the candidate security-sensitive entity. The public entry is a point where an application program external to the software library may access the software library. The method may further include determining whether each execution path in the control flow graph includes a permission check node between the respective public entry node and the candidate security-sensitive entity node in the respective execution path. Each permission check node may correspond to a permission check in the software library.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: October 31, 2017
    Assignee: Oracle International Corporation
    Inventors: Yi Lu, Padmanabhan Krishnan, Raghavendra Kagalavadi Ramesh, Sora Bae
  • Patent number: 9806950
    Abstract: A system and a method for automatically detecting and configuring server uplink network interfaces in a network environment. An exemplary method includes receiving a discovery packet from a network element on a network interface of a server connected to the network element; evaluating the discovery packet to determine whether the network element possesses virtual bridging capabilities; and configuring the network interface of the server as an uplink interface for communicating with a network when the discovery packet indicates that the network element possesses virtual bridging capabilities.
    Type: Grant
    Filed: March 17, 2015
    Date of Patent: October 31, 2017
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Milton Y. Xu, Padmanabhan Krishnan