Patents Examined by Ravi K Sinha
  • Patent number: 9594668
    Abstract: An optimizing compiler includes a vector optimization mechanism that optimizes vector instructions by eliminating one or more vector element reverse operations. The compiler can generate code that includes multiple vector element reverse operations that are inserted by the compiler to account for a mismatch between the endian bias of the instruction and the endian preference indicated by the programmer or programming environment. The compiler then analyzes the code and reduces the number of vector element reverse operations to improve the run-time performance of the code. The compiler generates a debugger table that specifies which instructions have corresponding reformatting operations. A debugger then uses the debugger table to display contents of the vector register, which is displayed in regular form as well as in a form that is reformatted according to information in the debugger table.
    Type: Grant
    Filed: September 4, 2015
    Date of Patent: March 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, William J. Schmidt
  • Patent number: 9563534
    Abstract: An optimizing compiler includes a vector optimization mechanism that optimizes vector instructions by eliminating one or more vector element reverse operations. The compiler can generate code that includes multiple vector element reverse operations that are inserted by the compiler to account for a mismatch between the endian bias of the instruction and the endian preference indicated by the programmer or programming environment. The compiler then analyzes the code and reduces the number of vector element reverse operations to improve the run-time performance of the code. The compiler generates a debugger table that specifies which instructions have corresponding reformatting operations. A debugger then uses the debugger table to display contents of the vector register, which is displayed in regular form as well as in a form that is reformatted according to information in the debugger table.
    Type: Grant
    Filed: September 10, 2015
    Date of Patent: February 7, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, William J. Schmidt
  • Patent number: 9563475
    Abstract: A method, system and computer program product for efficiently utilizing connections in connection pools. A period of time an application running on a virtual machine needs a greater number of connections to an external resource than allocated in its pool of connections is identified. The connection pool for this application as well as the connection pools for the other applications containing connections to the same external resource are merged to form a logical pool of connections to be shared by those applications during the identified period of time. Alternatively, in an application server cluster environment, the connection pools utilized by the application servers to access the external resource may be reconfigured based on the weight assigned to each member (or application server) of the cluster which is based on the member's load size. In these manners, the resource connections in these pools of connections will be more efficiently utilized.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: February 7, 2017
    Assignee: International Business Machines Corporation
    Inventors: Rispna Jain, Anoop Gowda Malaly Ramachandra
  • Patent number: 9529608
    Abstract: Methods, systems, and products are provided for thread-agile dynamic programming language (‘DPL’) program execution. Thread-agile DPL program execution may be carried out by receiving, in a message queue, a message for an instance of a DPL program and determining whether the host application has a stored state object for the instance of the DPL program identified by the message. If the host application has a stored state object for the DPL program, thread-agile DPL program execution may also carried out by retrieving the state object; preparing a thread available from a thread pool for execution of the instance of the DPL program in dependence upon the state object and an execution context for the instance of the DPL program; providing, to an execution engine for executing the DPL program, the state object and the prepared thread; and passing the message to the execution engine.
    Type: Grant
    Filed: March 13, 2014
    Date of Patent: December 27, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stefan R. Batres, Geoffrey M. Kizer, Gaurav Seth, Amanda K. Silver
  • Patent number: 9519566
    Abstract: A method includes receiving a program code at a processor. The method also includes generating, via the processor, a heap model corresponding to the program code. The method further includes detecting, via the processor, a linearizable data structure in the program code. The method also further includes modifying, via the processor, the heap model based on the detected linearizable data structure. The method also further includes analyzing, via the processor, the program code using the modified heap model.
    Type: Grant
    Filed: June 9, 2015
    Date of Patent: December 13, 2016
    Assignee: International Business Machines Corporation
    Inventors: Roee Hay, Omer Tripp
  • Patent number: 9514025
    Abstract: A method includes receiving a program code at a processor. The method also includes generating, via the processor, a heap model corresponding to the program code. The method further includes detecting, via the processor, a linearizable data structure in the program code. The method also further includes modifying, via the processor, the heap model based on the detected linearizable data structure. The method also further includes analyzing, via the processor, the program code using the modified heap model.
    Type: Grant
    Filed: April 15, 2015
    Date of Patent: December 6, 2016
    Assignee: International Business Machines Corporation
    Inventors: Roee Hay, Omer Tripp
  • Patent number: 9489242
    Abstract: A method is implemented by a network device having a symmetric multi-processing (SMP) architecture. The method improves response time for processes implementing routing algorithms in a network. The method manages core assignments for the processes during a network convergence process. The method includes determining a number of interrupts or system events processed by a subset of cores of a set of cores of a central processing unit and identifying a core within the subset of cores with a lowest number of interrupts or system events processed. The method further includes changing an affinity mask of at least one process implementing the routing algorithms during the network convergence to target the core within the subset of cores with a lowest number of interrupts or system events processed.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: November 8, 2016
    Assignee: Telefonaktiebolaget L M Ericsson (publ)
    Inventor: Ramesh Uniyal
  • Patent number: 9489220
    Abstract: A system, method and computer program product for implementing a VM on a host computer and monitoring the VM processes from the Host computer. A host-based Task Manager monitors the VM process and obtains execution statistics using a proprietary dynamic link library that substitutes Guest statistic collection functions for standard host statistic collection functions. The Guest statistic collection functions acquire data related to the execution of the VM processes running on the Guest OS.
    Type: Grant
    Filed: November 27, 2015
    Date of Patent: November 8, 2016
    Assignee: Parallels IP Holdings GmbH
    Inventors: Elena A. Koryakina, Alexey B. Koryakin
  • Patent number: 9489189
    Abstract: A patch installation procedure may be generated and executed that is specific both to the patch and the configuration of the target computing system. Configuration data may be received that indicates the configuration of the target computing system. Installation metadata for the patch, describing the operations to be performed for installing the patch may also be received. A patch installation procedure may be generated that is based on both the configuration data and the installation metadata. This patch installation procedure may then be executed to automatically install the patch on the target computing system. In at least some embodiments, the target computing system may a distributed computing system including multiple nodes.
    Type: Grant
    Filed: February 21, 2013
    Date of Patent: November 8, 2016
    Assignee: Oracle International Corporation
    Inventors: Vijay N. Sriram, Mack S. Ningombam, Girish K. Balachandran, Weishi Liu, Timothy C. Misner
  • Patent number: 9471455
    Abstract: A method performed by a monitoring tool in a computer system, the method including: identifying a software update applied to a plurality of computer system assets, retrieving a first status of a first one of the assets from a first time period before the software update was applied to the first asset, retrieving a second status of the first asset from a second time period after the software update was applied to the first asset, determining a first effectiveness of the software update for the first asset based on comparing the first status and the second status, and displaying within a Graphical User Interface (GUI) an identification of the software update, an identification of the first asset, and a recommendation for the software update based on the first effectiveness.
    Type: Grant
    Filed: June 20, 2014
    Date of Patent: October 18, 2016
    Assignee: NETAPP, INC.
    Inventors: Ophir Horn, Nancy Walia, Jason Sprague, Francisco Rosa
  • Patent number: 9454364
    Abstract: A device may receive configuration information for an experiment associated with optimizing an application. The configuration information may identify a group of experimental treatments and information identifying a target event. The device may identify an experimental treatment to be implemented in the application, and may implement the experimental treatment in the application. The device may collect response information based on implementing the experimental treatment. The device may detect the target event associated with the experiment, indicating that the response information is to be provided to an experiment server. The device may determine that the experiment server is unreachable and may store the response information. The response information may be stored to allow the response information to be provided to the experiment server at a later time. The response information may be provided to the experiment server to permit the experiment server to determine a result of the experiment.
    Type: Grant
    Filed: June 20, 2014
    Date of Patent: September 27, 2016
    Assignee: Accenture Global Services Limited
    Inventor: Murray Williams
  • Patent number: 9424014
    Abstract: An optimizing compiler includes a strength reduction mechanism that optimizes a computer program that includes operations that have an unknown stride by analyzing the instructions in the computer program in a single pass, determining whether instruction substitution is profitable for original instructions in the code, and performing instruction substitution for one or more original instructions for which instruction substitution is deemed profitable, including operations with unknown strides. The substituted instructions result in strength reduction in the computer program.
    Type: Grant
    Filed: May 15, 2015
    Date of Patent: August 23, 2016
    Assignee: International Business Machines Corporation
    Inventor: William J. Schmidt
  • Patent number: 9417858
    Abstract: An optimizing compiler includes a strength reduction mechanism that optimizes a computer program that includes operations that have an unknown stride by analyzing the instructions in the computer program in a single pass, determining whether instruction substitution is profitable for original instructions in the code, and performing instruction substitution for one or more original instructions for which instruction substitution is deemed profitable, including operations with unknown strides. The substituted instructions result in strength reduction in the computer program.
    Type: Grant
    Filed: May 15, 2015
    Date of Patent: August 16, 2016
    Assignee: International Business Machines Corporation
    Inventor: William J. Schmidt
  • Patent number: 9411567
    Abstract: An optimizing compiler includes a strength reduction mechanism that optimizes a computer program that includes operations that have an unknown stride by analyzing the instructions in the computer program in a single pass, determining whether instruction substitution is profitable for original instructions in the code, and performing instruction substitution for one or more original instructions for which instruction substitution is deemed profitable, including operations with unknown strides. The substituted instructions result in strength reduction in the computer program.
    Type: Grant
    Filed: March 16, 2015
    Date of Patent: August 9, 2016
    Assignee: International Business Machines Corporation
    Inventor: William J. Schmidt
  • Patent number: 9405517
    Abstract: An optimizing compiler includes a strength reduction mechanism that optimizes a computer program that includes operations that have an unknown stride by analyzing the instructions in the computer program in a single pass, determining whether instruction substitution is profitable for original instructions in the code, and performing instruction substitution for one or more original instructions for which instruction substitution is deemed profitable, including operations with unknown strides. The substituted instructions result in strength reduction in the computer program.
    Type: Grant
    Filed: March 16, 2015
    Date of Patent: August 2, 2016
    Assignee: International Business Machines Corporation
    Inventor: William J. Schmidt
  • Patent number: 9405525
    Abstract: A computer system includes: storing a first file management table that stores a record associating a device driver that can be installed in the computer system with identification information of a logic area in which the particular device driver is stored; reading a second file management table stored in a recording medium placed in the drive, generating a third table by inserting the record in the first management table into the second management table, and generating a virtual file management table that associates the third table with the device driver stored in the first table as well as the device driver stored in the second table, and searching for the device driver requested, install the requested device driver.
    Type: Grant
    Filed: June 20, 2014
    Date of Patent: August 2, 2016
    Assignee: Hitachi, Ltd.
    Inventors: Takahiro Kuroki, Yusuke Yamamoto, Daiki Abe
  • Patent number: 9372716
    Abstract: In some examples, an electronic device includes a download manager that is configured to determine an order in which to download elements of a file based at least in part on: (i) element priorities of the respective elements of the files, and (ii) application priorities of the respective applications requesting the files.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: June 21, 2016
    Assignee: Amazon Technologies, Inc.
    Inventors: Ishwar VenkataManikanda Ramani, Ansuman Tapan Satpathy, Robert Lewis Bolton, Mridula Karumuru
  • Patent number: 9317276
    Abstract: This invention relates to updating an operating system in a hypervisor comprising: determining a new version of a component of the operating system; installing the new component version; measuring an identifying characteristic of the component and making it available to an attestation system; notifying the attestation system that a component has been updated to a new version whereby, when the attestation system finds that the identifying characteristic of the new component does not match a pre-stored attestation value it is aware that a legitimate mis-match could have occurred. The installing of the new version of the component comprises: identifying an updater associated with new version of the component; measuring an identifying characteristic of the identified updater; loading and installing the new version of the component; and making both the identifying measurement of the updater and the new version of the component available to the attestation system.
    Type: Grant
    Filed: January 10, 2012
    Date of Patent: April 19, 2016
    Assignee: International Business Machines Corporation
    Inventors: David A. Gilbert, David Haikney, James W. Walker
  • Patent number: 9311065
    Abstract: Embodiments relate to data splitting for multi-instantiated objects. An aspect includes receiving a portion of source code for compilation having a dynamic object to split using object size array data splitting. Another aspect includes replacing all memory allocations for the dynamic object with a total size of an object size array and object field arrays including a predetermined padding. Another aspect includes inserting statements in the source code after the memory allocations to populate the object size array with a value of a number of elements of the object size array. Another aspect includes updating a stride for load and store operations using dynamic pointers. Yet another aspect includes modifying field references by adding a distance between the object size array and the object field array to respective address operations.
    Type: Grant
    Filed: June 19, 2014
    Date of Patent: April 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Shimin Cui, Yan Zhang
  • Patent number: 9286037
    Abstract: Embodiments are directed to providing an application model to deploy and manage composite applications and to providing model-driven software coding assistance. In an embodiment, a computer system instantiates an application design interface that is configured to display composite application components and relationships between the components. Each component includes information specifying how communication is to be conducted with the component. The computer system accesses an application manifest that includes the components and component relationships of the application. The computer system displays the composite application's components and component relationships in the instantiated visual application design interface according to the application manifest.
    Type: Grant
    Filed: December 29, 2010
    Date of Patent: March 15, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthew R. Winkler, Dhama Shukla, Stephen M. Danton, Puravkumar B. Saraiya, Alexander M. DeJarnatt, Aditya Gopal Bhandarkar, Ramrajprabu Balasubramanian