Patents by Inventor Raul Esteban

Raul Esteban 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: 11610673
    Abstract: The Rojer Gathering Biological Index (ROGBIX) System and CyberGath Device is a system and test kit combination that allows users an easy and convenient way to keep their current tested state of a disease condition such as Covid updated under their own control. It is a system and test kit combination that allows users an easy and convenient automated means to share a positive or negative test result of a tested disease condition that allows users to keep their disease condition test state current and automatically sharable with other users.
    Type: Grant
    Filed: January 25, 2022
    Date of Patent: March 21, 2023
    Inventor: Raul Esteban Rojer Ruiz
  • Patent number: 10031184
    Abstract: The present invention discloses a method for the detection and diagnosis of faults in running electric machines.
    Type: Grant
    Filed: March 4, 2014
    Date of Patent: July 24, 2018
    Assignees: Universidad Nacional de Colombia, Empresas Publicas de Medellin E.S.P.
    Inventors: Raúl Esteban Jimenez Mejia, Guillermo León Mesa Betancur
  • Publication number: 20160018467
    Abstract: The present invention discloses a method for the detection and diagnosis of faults in running electric machines.
    Type: Application
    Filed: March 4, 2014
    Publication date: January 21, 2016
    Inventors: Raúl Esteban JIMENEZ MEJIA, Guillermo León MESA BETANCUR
  • Patent number: 9163877
    Abstract: A conveyor oven is described. The conveyor oven includes a frame made of load-bearing structural members. The conveyor oven has a modular construction, with the structural members defining a rectangular prism. Blocks of insulation are placed in the frame openings, and a flexible insulating material, such as a multi-layer insulating textile, is used to cover joints between adjacent modules. Along the length of the conveyor oven, idler rollers that support the conveyor belt have ends that penetrate the sides of the oven and are supported such that the rollers can shift as the oven expands and contracts without creating openings for heat or air leakage. Air flow within the oven is managed using sets of adjustable baffle plates above and below the conveyor belt.
    Type: Grant
    Filed: June 7, 2012
    Date of Patent: October 20, 2015
    Assignee: Berndorf Band GmbH
    Inventors: Oscar Lopez, Raul Esteban, James Schrader
  • Patent number: 9038045
    Abstract: Control flow information and data flow information associated with a program containing a upc_forall loop are built. A shared reference map data structure using the control flow information and the data flow information is created. All local shared accesses are hashed to facilitate a constant access stride after being rewritten. All local shared references in a hash entry having a longest list are privatized. The upc_forall loop is rewritten into a for loop. Responsive to a determination that an unprocessed upc_forall loop does not exist, dead store elimination is run. The control flow information and the data flow information associated with the program containing the for loop is rebuilt.
    Type: Grant
    Filed: November 15, 2011
    Date of Patent: May 19, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Yaoqing Gao, Liangxiao Hu, Raul Esteban Silvera, Ettore Tiotto
  • Publication number: 20140279183
    Abstract: Methods and systems of optimization are provided for a products subscription service in appearance-related commerce for a plurality of users that considers the relevant set of attributes of a customer against the available products in order to personalize the products contained in the customer recommended packages. A customer's physical characteristics, actions and preferences are matched with different products available during the subscription period. The process maximizes the chances the customer will receive products that are preferable and in turn increase probability of the provider retaining subscribers. Optimization is achieved by a two phase approach involving 1) determination of the beauty product combinations, i.e. determination of what items go into a set number of variety of bags/packages; and 2) assigning one of those bag types to each customer; thereby obtaining the maximum utility for the customer with the constraints of limited amount of product and product combination types.
    Type: Application
    Filed: March 17, 2014
    Publication date: September 18, 2014
    Applicant: Personalized Beauty Discovery, Inc.
    Inventors: Zhanibek Datbayev, Raúl Esteban Ochoa, Mikhail Ulinich, Marcelo Camberos
  • Patent number: 8640113
    Abstract: A process for check pointing in speculative execution frameworks, identifies calls to a set of setjmp/longjmp instructions to form identified calls to setjmp/longjmp, determines a control flow path between a call to a setjmp and a longjmp pair of instructions in the identified calls to setjmp/longjmp and replaces calls to the setjmp/longjmp pair of instructions with calls to an improved_setjmp and improved_longjmp instruction pair. The process creates a context data structure in memory, computes a non-volatile save/restore set and replaces the call to improved_setjmp of the setjmp/longjmp pair of instructions with instructions to save all required non-volatile and special purpose registers and replaces a call to improved_longjmp of the setjmp/longjmp pair of instructions with instructions to restore all required non-volatile and special purpose registers and to branch to an instruction immediately following a block of code containing the call to improved_setjmp.
    Type: Grant
    Filed: February 14, 2011
    Date of Patent: January 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Raul Esteban Silvera, Kai-Ting Amy Wang, Peng Wu, Mark Wayne Yamashita, Xiaotong Zhuang
  • Patent number: 8484630
    Abstract: Optimizing program code in a static compiler by determining the live ranges of variables and determining which live ranges are candidates for moving code from the use site to the definition site of source code. Live ranges for variables in a flow graph are determined. Selected live ranges are determined as candidates in which code will be moved from a use site within the source code to a definition site within the source code. Optimization opportunities within the source code are identified based on the code motion.
    Type: Grant
    Filed: December 23, 2008
    Date of Patent: July 9, 2013
    Assignee: International Business Machines Corporation
    Inventors: Shimin Cui, Raul Esteban Silvera
  • Publication number: 20130125105
    Abstract: Control flow information and data flow information associated with a program containing a upc_forall loop are built. A shared reference map data structure using the control flow information and the data flow information is created. All local shared accesses are hashed to facilitate a constant access stride after being rewritten. All local shared references in a hash entry having a longest list are privatized. The upc_forall loop is rewritten into a for loop. Responsive to a determination that an unprocessed upc_forall loop does not exist, dead store elimination is run. The control flow information and the data flow information associated with the program containing the for loop is rebuilt.
    Type: Application
    Filed: November 15, 2011
    Publication date: May 16, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Yaoqing Gao, Liangxiao Hu, Raul Esteban Silvera, Ettore Tiotto
  • Patent number: 8375375
    Abstract: A method and system of auto parallelization of zero-trip loops that substitutes a nested basic linear induction variable by exploiting a parallelizing compiler is provided. Provided is a use of a max{0,N} variable for loop iterations in case of no information is known about the value of N, for a typical loop iterating from 1 to N, in which N is the loop invariant. For the nested basic induction variables, an induction variable substitution process is applied to the nested loops starting from the innermost loop to the outermost one. Then a removal of the max operator afterwards through a copy propagation pass of the IBM compiler is provided. In doing so, the loop dependency on the induction variable is eliminated and an opportunity for a parallelizing compiler to parallel the outermost loop is provided.
    Type: Grant
    Filed: January 21, 2009
    Date of Patent: February 12, 2013
    Assignee: International Business Machines Corporation
    Inventors: Zhixing Ren, Raul Esteban Silvera, Guansong Zhang
  • Publication number: 20130034821
    Abstract: A conveyor oven is described. The conveyor oven includes a frame made of load-bearing structural members. The conveyor oven has a modular construction, with the structural members defining a rectangular prism. Blocks of insulation are placed in the frame openings, and a flexible insulating material, such as a multi-layer insulating textile, is used to cover joints between adjacent modules. Along the length of the conveyor oven, idler rollers that support the conveyor belt have ends that penetrate the sides of the oven and are supported such that the rollers can shift as the oven expands and contracts without creating openings for heat or air leakage. Air flow within the oven is managed using sets of adjustable baffle plates above and below the conveyor belt.
    Type: Application
    Filed: June 7, 2012
    Publication date: February 7, 2013
    Applicant: Brunnschweiler S.A.
    Inventors: Oscar Lopez, Raul Esteban, James Schrader
  • Patent number: 8352684
    Abstract: Computer implemented method, system and computer usable program code for cache management. A cache is provided, wherein the cache is viewed as a sorted array of data elements, wherein a top position of the array is a most recently used position of the array and a bottom position of the array is a least recently used position of the array. A memory access sequence is provided, and a training operation is performed with respect to a memory access of the memory access sequence to determine a type of memory access operation to be performed with respect to the memory access. Responsive to a result of the training operation, a cache replacement operation is performed using the determined memory access operation with respect to the memory access.
    Type: Grant
    Filed: September 23, 2008
    Date of Patent: January 8, 2013
    Assignee: International Business Machines Corporation
    Inventors: Roch Georges Archambault, Shimin Cui, Chen Ding, Yaoqing Gao, Xiaoming Gu, Raul Esteban Silvera, Chengliang Zhang
  • Patent number: 8332833
    Abstract: A computer implemented method for facilitating debugging of source code. The source code is scanned to identify a candidate region. A procedure control descriptor is generated, wherein the procedure control descriptor corresponds to the candidate region. The procedure control descriptor identifies, for the candidate region, a condition which, if true at runtime means that the candidate region can be specialized. Responsive to a determination during compile time that satisfaction of at least one condition will be known only at runtime, the procedure control descriptor is used to specialize the candidate region at compile time to create a first version of the candidate region for execution in a case where the condition is true and a second version of the candidate region for execution in a case where the condition is false, and further generate code to correctly select one of the first region and the second region at runtime.
    Type: Grant
    Filed: June 4, 2007
    Date of Patent: December 11, 2012
    Assignee: International Business Machines Corporation
    Inventors: Roch Georges Archambault, Shimin Cui, Yaoqing Gao, Raul Esteban Silvera, Peng Zhao
  • Patent number: 8161464
    Abstract: A method of compiling source code. The method includes converting pointer-based access in the source code to array-based access in the source code in a first pass compilation of the source code. Information is collected for objects in the source code during the first pass compilation. Candidate objects in the source code are selected based on the collected information to form selected candidate objects. Global stride variables are created for the selected candidate objects. Memory allocation operations are updated for the selected candidate objects in a second pass compilation of the source code. Multiple-level pointer indirect references are replaced in the source code with multi-dimensional array indexed references for the selected candidate objects in the second pass compilation of the source code.
    Type: Grant
    Filed: April 11, 2006
    Date of Patent: April 17, 2012
    Assignee: International Business Machines Corporation
    Inventors: Roch Georges Archambault, Shimin Cui, Yaoqing Gao, Raul Esteban Silvera
  • Patent number: 8146070
    Abstract: Inter-procedural strength reduction is provided by a mechanism of the present invention to optimize software program. During a forward pass, the present invention collects information of global variables and analyzes the information to select candidate computations for optimization. During a backward pass, the present invention replaces costly computations with less costly or weaker computations using pre-computed values and inserts store operations of new global variables to pre-compute the costly computations at definition points of the global variables used in the costly computations.
    Type: Grant
    Filed: November 13, 2008
    Date of Patent: March 27, 2012
    Assignee: International Business Machines Corporation
    Inventors: Roch Georges Archambault, Shimin Cui, Raul Esteban Silvera
  • Patent number: 8146071
    Abstract: A mechanism for folding all the data dependencies in a loop into a single, conservative dependence. This mechanism leads to one pair of synchronization primitives per loop. This mechanism does not require complicated, multi-stage compile time analysis. This mechanism considers only the data dependence information in the loop. The low synchronization cost balances the loss in parallelism due to the reduced overlap between iterations. Additionally, a novel scheme is presented to implement required synchronization to enforce data dependences in a DOACROSS loop. The synchronization is based on an iteration vector, which identifies a spatial position in the iteration space of the loop. Multiple iterations executing in parallel have their own iteration vector for synchronization where they update their position in the iteration space. As no sequential updates to the synchronization variable exist, this method exploits a greater degree of parallelism.
    Type: Grant
    Filed: September 18, 2007
    Date of Patent: March 27, 2012
    Assignee: International Business Machines Corporation
    Inventors: Raul Esteban Silvera, Priya Unnikrishnan
  • Patent number: 8104030
    Abstract: A computer implemented method, computer usable program code, and a system for parallelizing a loop. A parameter that will be used to limit parallelization of the loop is identified to limit parallelization of the loop. The parameter specifies a minimum number of loop iterations that a thread should execute. The parameter can be adjusted based on a parallel performance factor. A parallel performance factor is a factor that influences the performance of parallel code. A number of threads from a plurality of threads is selected for processing iterations of the loop based on the parameter. The number of threads is selected prior to execution of the first iteration of the loop.
    Type: Grant
    Filed: December 21, 2005
    Date of Patent: January 24, 2012
    Assignee: International Business Machines Corporation
    Inventors: Raul Esteban Silvera, Priya Unnikrishnan, Guansong Zhang
  • Publication number: 20110289303
    Abstract: A process for check pointing in speculative execution frameworks, identifies calls to a set of setjmp/longjmp instructions to form identified calls to setjmp/longjmp, determines a control flow path between a call to a setjmp and a longjmp pair of instructions in the identified calls to setjmp/longjmp and replaces calls to the setjmp/longjmp pair of instructions with calls to an improved_setjmp and improved_longjmp instruction pair. The process creates a context data structure in memory, computes a non-volatile save/restore set and replaces the call to improved_setjmp of the setjmp/longjmp pair of instructions with instructions to save all required non-volatile and special purpose registers and replaces a call to improved_longjmp of the setjmp/longjmp pair of instructions with instructions to restore all required non-volatile and special purpose registers and to branch to an instruction immediately following a block of code containing the call to improved_setjmp.
    Type: Application
    Filed: February 14, 2011
    Publication date: November 24, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Raul Esteban Silvera, Kai-Ting Amy Wang, Peng Wu, Mark Wayne Yamashita, Xiaotong Zhuang
  • Patent number: 7856628
    Abstract: A computer implemented method, system, and computer usable program code for simplifying compiler-generated software code by creating a stub routine for checking storage contiguity. A stub routine is generated for a subroutine. The stub routine is used to determine whether data is contiguous for the subroutine. A subroutine call in the code is replaced with a stub routine call for the stub routine. The subroutine call has at least one argument. The stub routine call includes each argument for the subroutine call. The code is executed. The stub routine is called by the stub routine call to determine whether data is contiguous for the subroutine.
    Type: Grant
    Filed: January 23, 2006
    Date of Patent: December 21, 2010
    Assignee: International Business Machines Corporation
    Inventors: Huiwen H. Li, Raul Esteban Silvera
  • Publication number: 20100162220
    Abstract: Optimizing program code in a static compiler by determining the live ranges of variables and determining which live ranges are candidates for moving code from the use site to the definition site of source code. Live ranges for variables in a flow graph are determined. Selected live ranges are determined as candidates in which code will be moved from a use site within the source code to a definition site within the source code. Optimization opportunities within the source code are identified based on the code motion.
    Type: Application
    Filed: December 23, 2008
    Publication date: June 24, 2010
    Applicant: International Business Machines Corporation
    Inventors: Shimin Cui, Raul Esteban Silvera