Patents by Inventor Michael Karl

Michael Karl 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: 10747628
    Abstract: Autonomous recovery from a transient hardware failure by executing portions of a stream of program instructions as a transaction. A start of a transaction is created in a stream of program instructions executing on a first processor of a multi-processor computer. A snapshot of a system state information is saved when the transaction begins. When the transaction ends, store data of the transaction is committed. If a transient hardware failure occurs, the transaction is aborted without notifying the computer software application that initiated the stream of program instructions. The transaction is re-executed on a second processor of the multi-processors, based on the saved snapshot of the system state information.
    Type: Grant
    Filed: September 18, 2018
    Date of Patent: August 18, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Valentina Salapura
  • Patent number: 10747514
    Abstract: A method and associated computer program product are disclosed for generating an object file for subsequent linking by a linker. The method comprises inserting at least one save instruction before a function call instruction and at least one restore instruction after the function call instruction, the at least one save instruction and the least one restore instruction corresponding to one or more call-clobbered registers. The method further comprises generating a first list of registers that are referenced by the function. The function call instruction includes a first annotation referencing the restore instruction, and the restore instruction includes a second annotation referencing the save instruction. The first and second annotations configure the linker to determine whether to eliminate the save instruction and the restore instruction corresponding to at least one of the one or more call-clobbered registers.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: August 18, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 10740106
    Abstract: A transactional memory system determines whether a hardware transaction can be salvaged. A processor of the transactional memory system begins execution of a transaction in a transactional memory environment. Based on detection that an amount of available resource for transactional execution is below a predetermined threshold level, the processor determines whether the transaction can be salvaged. Based on determining that the transaction can not be salvaged, the processor aborts the transaction. Based on determining the transaction can be salvaged, the processor performs a salvage operation, wherein the salvage operation comprises one or more of: determining that the transaction can be brought to a stable state without exceeding the amount of available resource for transactional execution, and bringing the transaction to a stable state; and determining that a resource can be made available, and making the resource available.
    Type: Grant
    Filed: September 15, 2015
    Date of Patent: August 11, 2020
    Assignee: International Business Machines Corporation
    Inventors: Fadi Y. Busaba, Harold W. Cain, III, Michael Karl Gschwind, Maged M. Michael, Valentina Salapura
  • Publication number: 20200196914
    Abstract: An ear-wearable device includes a photoplethysmography (PPG) sensor. One or more processors of the ear-wearable device are configured to determine, based on sample values of a PPG signal generated by the PPG sensor, whether a user of the ear-wearable device has fallen.
    Type: Application
    Filed: December 21, 2018
    Publication date: June 25, 2020
    Inventor: Michael Karl Sacha
  • Patent number: 10691456
    Abstract: A method is disclosed for storing vector data into memory with a processor. The method includes obtaining, by the processor, a variable-length vector store instruction. The method also includes determining that the vector store instruction specifies a vector register for a source, a memory address, and a length, where the memory address and the length are each specified in at least a general purpose register. The method also includes determining whether data should be stored into memory at the memory address using big endian byte-ordering or little endian byte-ordering. The method further includes storing data from the vector register into memory, where if the length is less than a length of the vector register, storing only the data from the vector register specified by the length.
    Type: Grant
    Filed: November 13, 2015
    Date of Patent: June 23, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Brett Olsson
  • Patent number: 10691453
    Abstract: A method is disclosed for loading a vector with a processor. The method includes obtaining, by the processor, a variable-length vector load instruction. The method also includes determining that the vector load instruction specifies a vector register for a target, a memory address, and a length, wherein the memory address and the length are each specified in at least a general purpose register. The method also includes determining whether data should be loaded into the vector register using big endian byte-ordering or little endian byte-ordering. The method further includes loading data from memory into the vector register, wherein if the length is less than a length of the vector register, setting one or more residue bytes in the vector register to a pad value, wherein the residue bytes are determined based on the determined byte-ordering.
    Type: Grant
    Filed: November 13, 2015
    Date of Patent: June 23, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Brett Olsson
  • Patent number: 10671397
    Abstract: A method and associated computer program product are disclosed for generating an executable file from an object file, the object file being associated with an architecture having a predefined calling convention designating one or more call-clobbered registers. The method comprises identifying, from a first annotation included in the object file with a function call instruction, at least one restore instruction that follows the function call instruction, the function call instruction associated with a predefined function of the object file. The at least one restore instruction corresponds to at least one of the one or more call-clobbered registers. The method further comprises determining, based on at least a first list of registers that are referenced by the predefined function, the first list being included in the object file, whether to eliminate the at least one restore instruction.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: June 2, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 10649417
    Abstract: A control system controls tenant services to various tenants by obtaining tenant attributes for each tenant, with respect to a particular workload. A model is generated that models tenant usage performance for a set of best performing tenants. The model is then applied to a remainder of the tenants to obtain a metric indicative of a likely tenant capacity for incremental usage of the workload. The control system controls the services provided to the tenant based upon the likelihood of adoption metric.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: May 12, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ravikumar Venkata Seetharama Bandaru, Michael Karl-Frans Berg
  • Patent number: 10642586
    Abstract: An optimizing compiler includes a vector optimization mechanism that optimizes vector operations that are reformatting-resistant, such as source instructions that do not have a corresponding reformatting operation, sink instructions that do not have a corresponding reformatting operation, a source instruction that is a scalar value, a sink instruction that may produce a scalar value, and an internal operation that depends on lanes being in a specified order. The ability to optimize vector instructions that are reformatting-resistant reduces the number of operations to improve the run-time performance of the code.
    Type: Grant
    Filed: December 8, 2018
    Date of Patent: May 5, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, William J. Schmidt
  • Publication number: 20200120432
    Abstract: A method is a described for constructing a hearing aid shell that comprises a combination of hard and soft materials. In one embodiment, 3D printing is combined with conventional mold/casting methods so that a first shell portion made of a hard material and a mold for a second shell portion are 3D printed. The mold is then filled with a soft material which is allowed to set to form the second shell portion, and the first and second shell portions are adhesively attached.
    Type: Application
    Filed: August 26, 2019
    Publication date: April 16, 2020
    Inventors: Michael Karl Sacha, Jay Stewart, Wes Gentry, Craig Feldsien
  • Patent number: 10620926
    Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, a linker is provided to generate at application modules that at least partially defines an indirect function call configuration. The linker loads a first address of a function by using a first symbolic reference, and determines that the function pointer value of the first symbolic reference is solely used to perform indirect calls in the same application module, e.g. local-use-only. The linker indicates that the first symbolic reference can be resolved using the local entry point associated with the function, and performs that indirect function call exclusively through the first symbolic reference, thereby reducing execution of operations.
    Type: Grant
    Filed: July 19, 2018
    Date of Patent: April 14, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 10606574
    Abstract: Embodiments relate to optimizing an indirect call function. A compiler is provided to identify potential target functions and indicate the potential target functions in the program code. Additionally, the compiler determines and indicates in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module. A linker can read the indication the compiler made in the program code and optimize the indirect call function.
    Type: Grant
    Filed: March 13, 2018
    Date of Patent: March 31, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 10606638
    Abstract: A transaction is detected. The transaction has a begin-transaction indication and an end-transaction indication. If it is determined that the begin-transaction indication is not a no-speculation indication, then the transaction is processed.
    Type: Grant
    Filed: May 12, 2017
    Date of Patent: March 31, 2020
    Assignee: International Business Machines Corporation
    Inventors: Fadi Y. Busaba, Michael Karl Gschwind, Eric M. Schwarz, Chung-Lung K. Shum
  • Patent number: 10585652
    Abstract: Embodiments relate to using a local entry point with an indirect call function. A compiler is provided to determine and indicate in the program code that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. The compiler loads an address of a function through use of a symbolic reference. When the compiler determines that the value employed by the symbolic reference is used exclusively to perform an indirect function call, the compiler proceeds to resolve a local entry point address of the function, thereby reducing a quantity of operations to be executed.
    Type: Grant
    Filed: July 9, 2018
    Date of Patent: March 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Patent number: 10580144
    Abstract: A method, system, and computer product for detecting a virtual object include transmitting a probe signal to objects, receiving an echo signal reflected by at least one object of the objects, generating scan data based on the echo signal, capturing one or more images of the objects, generating image data corresponding to the captured images, computing the scan data to identify each of the objects, computing the image data to identify each of the objects, and determining another object of the objects as a virtual object, responsive to determining that the another object is identified by the computation on the image data and is not identified by the computation on the scan data.
    Type: Grant
    Filed: November 29, 2017
    Date of Patent: March 3, 2020
    Assignee: International Business Machines Corporation
    Inventors: Sarbajit K. Rakshit, Eric V. Kline, Anthony Spielberg, Michael Karl Gschwind, Valentina Salapura
  • Patent number: 10579353
    Abstract: Embodiments relate to using a local entry point with an indirect call function. More specifically, an indirect call function configuration comprises a first application module having a target function of the indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate an indirect function call. A compiler determines and indicates, in the program code, that the function pointer value resulting from a non-call reference of a function symbol is solely used to perform indirect calls in the same module, e.g. local-use-only. A linker or loader can read the indication the compiler made in the program code. The linker or loader use the local entry point associated with the target function if the target function is defined in the same module as the reference and is local-use-only.
    Type: Grant
    Filed: August 28, 2018
    Date of Patent: March 3, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Ulrich Weigand
  • Publication number: 20200068319
    Abstract: Disclosed herein, among other things, are methods and apparatus for hearing assistance devices, and in particular to behind the ear and receiver in canal hearing aids with distributed processing. One aspect of the present subject matter relates to a hearing assistance device including hearing assistance electronics in a housing configured to be worn above or behind an ear of a wearer. The hearing assistance device includes an ear piece configured to be worn in the ear of the wearer and a processing component at the ear piece configured to perform functions in the ear piece and to communicate with the hearing assistance electronics, in various embodiments.
    Type: Application
    Filed: October 31, 2019
    Publication date: February 27, 2020
    Inventor: Michael Karl Sacha
  • Publication number: 20200065138
    Abstract: A computer-implemented method includes identifying two or more memory locations and referencing, by a memory access request, the two or more memory locations. The memory access request is a single action pursuant to a memory protocol. The computer-implemented method further includes sending the memory access request from one or more processors to a node and fetching, by the node, data content from each of the two or more memory locations. The computer-implemented method further includes packaging, by the node, the data content from each of the two or more memory locations into a memory package, and returning the memory package from the node to the one or more processors. A corresponding computer program product and computer system are also disclosed.
    Type: Application
    Filed: November 1, 2019
    Publication date: February 27, 2020
    Inventors: Fadi Y. Busaba, Harold W. Cain, III, Michael Karl Gschwind, Valentina Salapura, Timothy J. Slegel
  • Publication number: 20200057954
    Abstract: A system and method for selecting one sensor from among a plurality of sensors. For each of the plurality of sensors, a conditional probability of the sensor correctly identifying the target from among a plurality of objects detected by the sensor, given an association event, is calculated, and multiplied by a reward function for the sensor. The sensor for which this product is greatest is selected.
    Type: Application
    Filed: August 16, 2018
    Publication date: February 20, 2020
    Inventor: Michael Karl Binder
  • Patent number: 10567891
    Abstract: An ear-wearable device includes a shell shaped for wearing in a user's ear. The shell comprises a tunnel wall shaped to define a tunnel that passes through the ear-wearable device. The ear-wearable device includes a receiver coil that is formed in or around the tunnel wall of the tunnel. The receiver coil is configured to inductively couple with a power coil via the tunnel and to inductively receive electromagnetic power from the power coil, and the receiver coil is configured to convert the electromagnetic power to an electrical current. The ear-wearable device includes one or more electrical components encased within the shell and configured to receive the electrical current from the receiver coil.
    Type: Grant
    Filed: December 7, 2018
    Date of Patent: February 18, 2020
    Assignee: Starkey Laboratories, Inc.
    Inventors: Jay Stewart, Michael Karl Sacha