Patents Examined by Sen Chen
  • Patent number: 9916185
    Abstract: A facility is provided that, when installed, removes from an architecture a selected architectural function, such that the function is not able to be turned on/off regardless of other controls within the environment. When the facility is installed, the architectural function is not supported when processing in an architectural mode based on the architecture. It is as if the selected architectural function is no longer available in the architecture, and in fact, the code implementing the facility may have been deleted, bypassed, or otherwise eliminated. One such architectural function is virtual address translation, such as dynamic address translation (DAT), and the architecture is, for instance, ESA/390.
    Type: Grant
    Filed: March 18, 2014
    Date of Patent: March 13, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Charles W. Gainey, Jr., Michael K. Gschwind
  • Patent number: 9916186
    Abstract: A facility is provided that, when installed, removes from an architecture a selected architectural function, such that the function is not able to be turned on/off regardless of other controls within the environment. When the facility is installed, the architectural function is not supported when processing in an architectural mode based on the architecture. It is as if the selected architectural function is no longer available in the architecture, and in fact, the code implementing the facility may have been deleted, bypassed, or otherwise eliminated. One such architectural function is virtual address translation, such as dynamic address translation (DAT), and the architecture is, for instance, ESA/390.
    Type: Grant
    Filed: November 26, 2014
    Date of Patent: March 13, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Charles W. Gainey, Jr., Michael K. Gschwind
  • Patent number: 9904899
    Abstract: Certain example embodiments relate to techniques for executing business processes in a distributed computer system (e.g., cloud-based) environment. A representation of the business process is decomposed into executable components. The executable components each have assigned thereto process and sequence identifiers, and each is classified as having an executable component types. The executable component types including integration, task, and data flow types. The integration flow type represents activities to be performed in connection with external computer systems, the task flow type represents human-interactive activities, and the data flow type represents activities to be performed on data relevant to the business process.
    Type: Grant
    Filed: August 27, 2014
    Date of Patent: February 27, 2018
    Assignee: SOFTWARE AG
    Inventor: Michael Stachel
  • Patent number: 9880835
    Abstract: Initialization status of a register to be used as a pointer to a reference data structure is used to determine how a stub is to be generated to access the reference data structure. The register is one type of pointer configuration to be used to access the reference data structure, which is used to resolve a symbol associated with a function of a program. An indication is obtained as to whether the register has been initialized with a reference data structure pointer. Based on obtaining the indication, a stub is generated that is to be used to access the function. The generating depends on whether the register has been initialized. If the register has not been initialized, then the stub is generated to include another type of pointer configuration to be used to access the reference data structure.
    Type: Grant
    Filed: November 14, 2015
    Date of Patent: January 30, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael K. Gschwind
  • Patent number: 9880833
    Abstract: Initialization status of a register to be used as a pointer to a reference data structure is used to determine how a stub is to be generated to access the reference data structure. The register is one type of pointer configuration to be used to access the reference data structure, which is used to resolve a symbol associated with a function of a program. An indication is obtained as to whether the register has been initialized with a reference data structure pointer. Based on obtaining the indication, a stub is generated that is to be used to access the function. The generating depends on whether the register has been initialized. If the register has not been initialized, then the stub is generated to include another type of pointer configuration to be used to access the reference data structure.
    Type: Grant
    Filed: June 30, 2015
    Date of Patent: January 30, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael K. Gschwind
  • Patent number: 9875094
    Abstract: A method for upgrading microcode in a multi-module storage system may include selecting a first module from two or more modules and operating the first module using an upgraded microcode. The method may include monitoring the performance of the first module by a second module of the two or more modules and rendering an indication of performance of the first module. Further, the method may include determining whether the indication of performance of the first module is greater than or equal to a performance metric.
    Type: Grant
    Filed: August 29, 2012
    Date of Patent: January 23, 2018
    Assignee: International Business Machines Corporation
    Inventors: Juan A. Coronado, Lee C. LaFrese, Lisa R. Martinez
  • Patent number: 9841960
    Abstract: According to one aspect of the present disclosure, a method comprises receiving a command to load first compiled program code for execution by a processor. The first compiled program code is decompiled to generate source code. The source code is compiled to generate second compiled program code, the second compiled program code comprising information associated with the source code. The second compiled program code is provided to a debugger.
    Type: Grant
    Filed: March 30, 2015
    Date of Patent: December 12, 2017
    Assignee: CA, Inc.
    Inventor: Jean David Dahan
  • Patent number: 9836286
    Abstract: A computer program product according to some embodiments causes a processor to perform operations including disassembling executable code of an application program to provide disassembled code, identifying first wrapping code in the disassembled code, receiving second wrapping code, generating a consolidated application wrapper that manages operation of both the first wrapping code and the second wrapping code, inserting the second wrapping code and the consolidated application wrapper into the disassembled code to form modified disassembled code, and assembling the modified disassembled code to form modified executable code.
    Type: Grant
    Filed: March 27, 2015
    Date of Patent: December 5, 2017
    Assignee: CA, INC.
    Inventor: Vikrant Nandakumar
  • Patent number: 9811360
    Abstract: Embodiments of the present invention provide a method, system and computer program product for dynamic selection of a runtime classloader for a generated class file. In an embodiment of the invention, a method for dynamic selection of a runtime classloader for a generated class file is provided. The method includes extracting meta-data from a program object directed for execution in an application server and determining from the meta-data a container identity for a container in which the program object had been compiled. The method also includes selecting a container according to the meta-data. Finally, the method includes classloading the program object in the selected container.
    Type: Grant
    Filed: September 29, 2015
    Date of Patent: November 7, 2017
    Assignee: International Business Machines Corporation
    Inventors: Erik J. Burckart, Andrew Ivory, Todd E. Kaplinger, Stephen J. Kenna, Aaron K. Shook
  • Patent number: 9804896
    Abstract: Techniques described herein are generally related to thread migration across processing cores of a multi-core processor. Execution of a thread may be migrated from a first processing core to a second processing core. Selective state data required for execution of the thread on the second processing core can be identified and can be dynamically acquired from the first processing core. The acquired state data can be utilized by the thread executed on the second processing core.
    Type: Grant
    Filed: June 11, 2013
    Date of Patent: October 31, 2017
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Sriram Vajapeyam
  • Patent number: 9792161
    Abstract: Disclosed systems and methods incorporate a sound and maximal causal model with control flow information for maximum concurrency error detection in general multithreaded programs. The maximal causal model may be based on or integrated with the sequential consistency model, and form the basis for a formula including branch and order variables as first-order logical constraints solvable by an SMT solver for detection or prediction of concurrency errors. The disclosed systems and methods also relate to predictive trace analysis (PTA) for predicting generic concurrency properties using local traces (as opposed to a global trace) through the threads of a multithreaded program. By uniformly modeling violations of concurrency properties and the thread causality as constraints over events, and using an SMT solver, the systems and methods predict property violations allowed by the causal model.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: October 17, 2017
    Assignee: The Board of Trustees of the University of Illinois
    Inventors: Jeff Huang, Grigore Rosu
  • Patent number: 9727443
    Abstract: Described herein are means for debugging byte code in an on-demand service environment system including a system for simulating execution debug in a multi-tenant database environment. Such means may include: receiving a request at a web-server of the system, determining one or more trace preferences are active for the request, sending the request to a logging framework communicatively interfaced to the multi-tenant database implementation, processing the request via the logging framework, and capturing at least a portion of the execution data emitted responsive to execution of the plurality of events for use in simulating execution debug of the events. Other related embodiments are additionally described.
    Type: Grant
    Filed: November 17, 2015
    Date of Patent: August 8, 2017
    Assignee: salesforce.com, inc.
    Inventors: Taggart C. Matthiesen, Richard Unger, Peter S. Wisnovsky
  • Patent number: 9720667
    Abstract: Technologies for automatic loop vectorization include a computing device with an optimizing compiler. During an optimization pass, the compiler identifies a loop and generates a transactional code segment including a vectorized implementation of the loop body including one or more vector memory read instructions capable of generating an exception. The compiler also generates a non-transactional fallback code segment including a scalar implementation of the loop body that is executed in response to an exception generated within the transactional code segment. The compiler may detect whether the loop contains a memory read dependent on a condition that may be updated in a previous iteration or whether the loop contains a potential data dependence between two iterations. The compiler may generate a dynamic check for an actual data dependence and an explicit transactional abort instruction to be executed when an actual data dependence exists. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 21, 2014
    Date of Patent: August 1, 2017
    Assignee: Intel Corporation
    Inventors: Sara S. Baghsorkhi, Albert Hartono, Youfeng Wu, Nalini Vasudevan, Cheng Wang
  • Patent number: 9696986
    Abstract: A system for managing a code load for a storage system is disclosed. The system can include instantiating a code load. The code load can include a first update for a first component and a second update for a second component. The system can include monitoring the operational state of the first and second components in response to instantiating the code load. The system can also include determining to perform the first update in response to a triggering event. The system can also include performing the first update in response to determining to perform the first update.
    Type: Grant
    Filed: March 24, 2016
    Date of Patent: July 4, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael P. Groover, Robin Han, Yan Su, Wei Tang, Ming Zhi Zhao, Yi Zhou
  • Patent number: 9672029
    Abstract: Test case priorities are automatically determined based on the execution path of a software application that includes priority tags. By embedding the priority tags in the source code of the software application, the consistency and reliability of the test case priorities is improved compared to conventional, primarily manual approaches to determining test case priorities. Further, efficiency is increased by providing run-time feedback regarding test cases that facilitates identification of the highest priority test cases and corresponding test suite optimizations.
    Type: Grant
    Filed: September 16, 2014
    Date of Patent: June 6, 2017
    Assignee: VMware, Inc.
    Inventors: Vineet Kumar Sinha, Prasenjit Sarkar, Rishi Kant Sharda
  • Patent number: 9645807
    Abstract: Automatically deploying a configured system into a computing environment (such as a cloud computing environment) for execution therein comprises obtaining a configured architecture model describing the configured system, and iteratively evaluating the model to deploy pre-built components for the system and to create and enable a development environment in the computing environment for development of custom-built components needed for the system according to the model. The automated deployment processing further comprises automatically configuring the system; determining a proper installation sequence; allocating resources in the target environment; and installing the required tools and other software that will be needed for execution once the components of the system are deployed. Component metadata is used during the deployment, enabling automated consideration of various factors such as whether component dependencies, resource requirements, and compatibility issues are met.
    Type: Grant
    Filed: August 28, 2012
    Date of Patent: May 9, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Swaminathan Balasubramanian, Robert A. Morgan, Kenneth W. Roberson, Cheranellore Vasudevan
  • Patent number: 9635129
    Abstract: A mechanism is provided for integrated functionality across separate software applications to provide a response. First and second software applications are determined both of which are independently designed to perform actions to provide the response. The first software application has a first functionality software component and a first data source software component. The second software application has a second functionality software component and a second data source software component. According to a user profile, the OS selects between the first and second functionality software components a selected functionality software component, and selects between the first and second data source software components a selected data source software component from which to provide the data corresponding to the user request. The response is presented as the integration of the selected functionality and data source software components.
    Type: Grant
    Filed: September 10, 2014
    Date of Patent: April 25, 2017
    Assignee: AT&T INTELLECTUAL PROPERTY I, L.P.
    Inventor: Christopher Baldwin
  • Patent number: 9619215
    Abstract: A method for reducing a compile time of a source program includes receiving, by a compiler hosted on a computer, the source program. The compiler may have a compile time that depends non-linearly on a size of a function in the source program. The method involves identifying a source function in the source program and splitting the source function in to two or more target functions having sizes smaller than a size of the source function. The method further includes compiling the source program with the two or more target functions having sizes smaller than a size of the source function replacing the source function in the source program.
    Type: Grant
    Filed: November 26, 2014
    Date of Patent: April 11, 2017
    Assignee: SAP SE
    Inventors: Markus Eble, Soeren Pottberg
  • Patent number: 9612807
    Abstract: When a program function is called, if the instructions for that function are not in active memory, a page fault occurs. Resolving a page fault includes a costly process of loading a page of object code instructions, into active memory, including the instructions for the called function. Technology is disclosed to reduce page faults by placing interrelated functions near each other within executable code based on a log of previous function calls. A log of function calls may be from observing the execution of applications over time. Computing devices can compute where to place functions within executable code by: obtaining the function call log; building a call graph based on the function call log; defining multiple node clusters within the call graph; and generating an ordered list of functions by sorting the node clusters. The ordered list of functions can then be provided during linking to determine function placements.
    Type: Grant
    Filed: September 18, 2014
    Date of Patent: April 4, 2017
    Assignee: Facebook, Inc.
    Inventor: Guilherme de Lima Ottoni
  • Patent number: 9575792
    Abstract: Methods and systems for replicating a virtual machine and its associated data containers are provided. The virtual machine is placed in an inactive state and a replication directory is generated for cloning each data container from an active directory to the replication directory. The clone of each data container references a physical location where data associated with each data container is stored; and thereafter, the virtual machine is placed in an active state after the cloning is completed.
    Type: Grant
    Filed: March 14, 2014
    Date of Patent: February 21, 2017
    Assignee: NETAPP, INC.
    Inventors: Matthew Douglas Robinson, Keith Tenzer