Patents by Inventor Alexander B. Brown

Alexander B. Brown 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: 20170359462
    Abstract: A computer readable media, a method, and a system registering a third party application providing an available communication system between a local user and a remote user identity, storing information related to the available communication system in a first database, obtaining contact information for the remote user identity from the third party application, determining a communication type for the third party application, pairing the remote user identity with a contact, and updating a graphical representation of contact information.
    Type: Application
    Filed: September 23, 2016
    Publication date: December 14, 2017
    Inventors: Jeffrey D. Harris, Joseph H. Engel, Keith Stattenfield, John-Peter E. Cafaro, Colter S. Reed, Bruce M. Stadnyk, James C. Wilson, David A. McLeod, Alexander B. Brown
  • Patent number: 9615333
    Abstract: According to one embodiment, a first battery number is determined representing a battery condition of a battery of a mobile device using a predictive model, where the predictive model is configured to predict future battery conditions based on a past battery usage of the battery. A second battery number is determined representing the battery condition using a drain model, where the drain model is configured to predict a future battery discharge rate based on a past battery discharge rate. A third battery number is determined representing the battery condition based on a current battery level corresponding to a remaining life of the battery at the point in time. Power management logic performs a power management action based on the battery condition derived from at least one of the first battery number, the second battery number and the third battery number.
    Type: Grant
    Filed: November 3, 2015
    Date of Patent: April 4, 2017
    Assignee: Apple Inc.
    Inventors: Alexander B. Brown, Gaurav Kapoor
  • Publication number: 20160157180
    Abstract: According to one embodiment, a first battery number is determined representing a battery condition of a battery of a mobile device using a predictive model, where the predictive model is configured to predict future battery conditions based on a past battery usage of the battery. A second battery number is determined representing the battery condition using a drain model, where the drain model is configured to predict a future battery discharge rate based on a past battery discharge rate. A third battery number is determined representing the battery condition based on a current battery level corresponding to a remaining life of the battery at the point in time. Power management logic performs a power management action based on the battery condition derived from at least one of the first battery number, the second battery number and the third battery number.
    Type: Application
    Filed: November 3, 2015
    Publication date: June 2, 2016
    Inventors: Alexander B. Brown, Gaurav Kapoor
  • Patent number: 9317264
    Abstract: Execution control techniques are described for use in a translator that converts subject code into target code. The translator includes a translator trampoline function that is called from a translator run loop and which in turn calls either to a translator code generator to generate target code, or else calls previously generated target code for execution. Control then returns to the translator trampoline function to make a new call, or returns to the translator run loop. Other aspects include making context switches through the trampoline function and setting first and second calling conventions either side of the trampoline function. Jumping directly or indirectly between target code blocks during execution is also described.
    Type: Grant
    Filed: December 23, 2013
    Date of Patent: April 19, 2016
    Assignee: International Business Machines Corporation
    Inventors: Gavin Barraclough, Kit Man Wan, ALexander B. Brown, David N. MacKintosh
  • Patent number: 9210662
    Abstract: According to one embodiment, a first battery number is determined representing a battery condition of a battery of a mobile device using a predictive model, where the predictive model is configured to predict future battery conditions based on a past battery usage of the battery. A second battery number is determined representing the battery condition using a drain model, where the drain model is configured to predict a future battery discharge rate based on a past battery discharge rate. A third battery number is determined representing the battery condition based on a current battery level corresponding to a remaining life of the battery at the point in time. Power management logic performs a power management action based on the battery condition derived from at least one of the first battery number, the second battery number and the third battery number.
    Type: Grant
    Filed: May 29, 2014
    Date of Patent: December 8, 2015
    Assignee: Apple Inc.
    Inventors: Alexander B. Brown, Gaurav Kapoor
  • Publication number: 20150351037
    Abstract: According to one embodiment, a first battery number is determined representing a battery condition of a battery of a mobile device using a predictive model, where the predictive model is configured to predict future battery conditions based on a past battery usage of the battery. A second battery number is determined representing the battery condition using a drain model, where the drain model is configured to predict a future battery discharge rate based on a past battery discharge rate. A third battery number is determined representing the battery condition based on a current battery level corresponding to a remaining life of the battery at the point in time. Power management logic performs a power management action based on the battery condition derived from at least one of the first battery number, the second battery number and the third battery number.
    Type: Application
    Filed: May 29, 2014
    Publication date: December 3, 2015
    Applicant: Apple Inc.
    Inventors: Alexander B. Brown, Gaurav Kapoor
  • Publication number: 20150242245
    Abstract: A method for managing workloads in a multiprocessing computer system is disclosed. Initially, a set of affinity domains is defined for a group of processor cores, wherein each of the affinity domains includes a subset of the processor cores. An affinity measure is defined to indicate that a given workload should be moved to a smaller affinity domain having fewer processor cores. A performance measure is defined to indicate the performance of a given workload. A given workload is determined based on the affinity measure and the performance measure. In response to a determination that a given workload should be moved to a smaller affinity domain based on the affinity measure, the given workload is moved to a smaller affinity domain. In response to a determination that there is a reduction in performance based on the performance measure, the given workload is moved to a larger affinity domain.
    Type: Application
    Filed: June 23, 2014
    Publication date: August 27, 2015
    Inventors: Alexander B. BROWN, Gisle M. Nitter DANKEL
  • Patent number: 9043816
    Abstract: A technique is provided for handling dynamically linked subject function calls arranged pass subject control flow to an intermediate control structure such as a procedure linkage table, then to subject linker code for modifying link information associated with the subject function calls during translation of subject code into target code in a dynamic binary translator. The subject code for execution on a subject processor is received by a translator, and corresponding target code for execution on the target processor is generated. The translator is arranged to build a function linkage table containing an entry giving the location of each function called by the subject code, so that code can be generated by the translator in which subject function calls are associated with code for performing the function, without generating target code corresponding to the intermediate control structure.
    Type: Grant
    Filed: June 18, 2013
    Date of Patent: May 26, 2015
    Assignee: International Business Machines Corporation
    Inventor: Alexander B. Brown
  • Patent number: 8954765
    Abstract: A method allocates energy entitlement to a logical partition (LPAR) executing on a data processing system. An energy entitlement allocation (EEA) utility enables an administrator to specify a minimum and/or maximum energy entitlement and an LPAR priority. When the relevant LPARs utilize the respective minimum energy entitlement based on a respective energy consumption, the EEA utility determines whether the LPAR(s) has satisfied a respective maximum energy entitlement. When the LPAR has not satisfied its maximum energy entitlement, the EEA utility allocates unused energy entitlement from the data processing system to the LPAR, according to an allocation policy. Additionally, the EEA utility dynamically adjusts a priority level for the LPAR to efficiently control resource allocation, according to the LPAR's energy consumption relative to its energy entitlement.
    Type: Grant
    Filed: September 15, 2012
    Date of Patent: February 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Alexander B. Brown, Neil A. Campbell, Ryan J. Cocks
  • Patent number: 8893100
    Abstract: A dynamic code translator with isoblocking uses a return trampoline having branch instructions conditioned on different isostates to optimize return address translation, by allowing the hardware to predict that the address of a future return will be the address of trampoline. An IP relative call is inserted into translated code to write the trampoline address to a target link register and a target return address stack used by the native machine to predict return addresses. If a computed subject return address matches a subject return address register value, the current isostate of the isoblock is written to an isostate register. The isostate value in the isostate register is then used to select the branch instruction in the trampoline for the true subject return address. Sufficient code area in the trampoline instruction set can be reserved for a number of compare/branch pairs which is equal to the number of available isostates.
    Type: Grant
    Filed: May 23, 2012
    Date of Patent: November 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: William O. Lovett, Alexander B. Brown
  • Publication number: 20140137089
    Abstract: Execution control techniques are described for use in a translator that converts subject code into target code. The translator includes a translator trampoline function that is called from a translator run loop and which in turn calls either to a translator code generator to generate target code, or else calls previously generated target code for execution. Control then returns to the translator trampoline function to make a new call, or returns to the translator run loop. Other aspects include making context switches through the trampoline function and setting first and second calling conventions either side of the trampoline function. Jumping directly or indirectly between target code blocks during execution is also described.
    Type: Application
    Filed: December 23, 2013
    Publication date: May 15, 2014
    Applicant: International Business Machines Corporation
    Inventors: Gavin Barraclough, Kit Man Wan, ALexander B. Brown, David N. MacKintosh
  • Publication number: 20140007142
    Abstract: A technique is provided for handling dynamically linked subject function calls arranged pass subject control flow to an intermediate control structure such as a procedure linkage table, then to subject linker code for modifying link information associated with the subject function calls during translation of subject code into target code in a dynamic binary translator. The subject code for execution on a subject processor is received by a translator, and corresponding target code for execution on the target processor is generated. The translator is arranged to build a function linkage table containing an entry giving the location of each function called by the subject code, so that code can be generated by the translator in which subject function calls are associated with code for performing the function, without generating target code corresponding to the intermediate control structure.
    Type: Application
    Filed: June 18, 2013
    Publication date: January 2, 2014
    Inventor: Alexander B. Brown
  • Patent number: 8615749
    Abstract: An execution control method is described for use in a translator (19) which converts subject code (17) into target code (21). The translator (19) includes a translator trampoline function (191) which is called from a translator run loop (190) and which in turn calls either to a translator code generator (192) to generate target code, or else calls previously generated target code (212) for execution. Control then returns to the translator trampoline function (191) to make a new call, or returns to the translator run loop (190). Other aspects include making context switches through the trampoline function (191) and setting first and second calling conventions either side of the trampoline function (191). Jumping directly or indirectly between target code blocks (212) during execution is also described.
    Type: Grant
    Filed: May 27, 2005
    Date of Patent: December 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: Gavin Barraclough, Kit Man Wan, Alexander B Brown, David N Mackintosh
  • Patent number: 8468552
    Abstract: A technique is provided for handling dynamically linked subject function calls arranged pass subject control flow to an intermediate control structure such as a procedure linkage table, then to subject linker code for modifying link information associated with the subject function calls during translation of subject code into target code in a dynamic binary translator. The subject code for execution on a subject processor is received by a translator, and corresponding target code for execution on the target processor is generated. The translator is arranged to build a function linkage table containing an entry giving the location of each function called by the subject code, so that code can be generated by the translator in which subject function calls are associated with code for performing the function, without generating target code corresponding to the intermediate control structure.
    Type: Grant
    Filed: October 2, 2007
    Date of Patent: June 18, 2013
    Assignee: International Business Machines Corporation
    Inventor: Alexander B. Brown
  • Publication number: 20130047006
    Abstract: A method allocates energy entitlement to a logical partition (LPAR) executing on a data processing system. An energy entitlement allocation (EEA) utility enables an administrator to specify a minimum and/or maximum energy entitlement and an LPAR priority. When the relevant LPARs utilize the respective minimum energy entitlement based on a respective energy consumption, the EEA utility determines whether the LPAR(s) has satisfied a respective maximum energy entitlement. When the LPAR has not satisfied its maximum energy entitlement, the EEA utility allocates unused energy entitlement from the data processing system to the LPAR, according to an allocation policy. Additionally, the EEA utility dynamically adjusts a priority level for the LPAR to efficiently control resource allocation, according to the LPAR's energy consumption relative to its energy entitlement.
    Type: Application
    Filed: September 15, 2012
    Publication date: February 21, 2013
    Applicant: IBM Corporation
    Inventors: Alexander B. Brown, Neil A. Campbell, Ryan J. Cocks
  • Publication number: 20130046998
    Abstract: A system and computer program product allocates energy entitlement to a logical partition (LPAR) executing on a data processing system. An energy entitlement allocation (EEA) utility enables an administrator to specify a minimum and/or maximum energy entitlement and An LPAR priority. When the relevant LPARs utilize the respective minimum energy entitlement based on respective energy consumption, the EEA utility determines whether the LPAR (and other LPARs) has satisfied a respective maximum energy entitlement. When the LPAR has not satisfied its maximum energy entitlement, the EEA utility allocates unused energy entitlement from the data processing system to the LPAR, according to an allocation policy. Additionally, the EEA utility dynamically adjusts a priority level for the LPAR to efficiently control resource allocation, according to the LPAR's energy consumption relative to its energy entitlement.
    Type: Application
    Filed: August 17, 2011
    Publication date: February 21, 2013
    Applicant: IBM Corporation
    Inventors: Alexander B. Brown, Neil A. Campbell, Ryan J. Cocks
  • Patent number: 8381168
    Abstract: A target computing system 10 is adapted to support a register window architecture, particularly for use when converting non-native subject code 17 instead into target code 21 executed by a target processor 13. A subject register stack data structure (an “SR stack”) 400 in memory has a plurality of frames 410 each containing a set of entries 401 corresponding to a subset of subject registers 502 of one register window 510 in a subject processor 3. The SR stack 400 is accessed by the target code 21 executing on the target processor 13. The SR stack 400 stores a large plurality of such frames 410 and thereby avoids overhead such as modelling automatic spill and fill operations from the windowed register file of the subject architecture. In one embodiment, a target computing system 10 having sixteen general purpose working registers is adapted to support a register window architecture reliant upon a register file containing tens or hundreds of subject registers 502.
    Type: Grant
    Filed: July 11, 2011
    Date of Patent: February 19, 2013
    Assignee: International Business Machines Corporation
    Inventor: Alexander B. Brown
  • Publication number: 20130024674
    Abstract: A dynamic code translator with isoblocking uses a return trampoline having branch instructions conditioned on different isostates to optimize return address translation, by allowing the hardware to predict that the address of a future return will be the address of trampoline. An IP relative call is inserted into translated code to write the trampoline address to a target link register and a target return address stack used by the native machine to predict return addresses. If a computed subject return address matches a subject return address register value, the current isostate of the isoblock is written to an isostate register. The isostate value in the isostate register is then used to select the branch instruction in the trampoline for the true subject return address. Sufficient code area in the trampoline instruction set can be reserved for a number of compare/branch pairs which is equal to the number of available isostates.
    Type: Application
    Filed: July 20, 2011
    Publication date: January 24, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William O. Lovett, Alexander B. Brown
  • Publication number: 20130024675
    Abstract: A dynamic code translator with isoblocking uses a return trampoline having branch instructions conditioned on different isostates to optimize return address translation, by allowing the hardware to predict that the address of a future return will be the address of trampoline. An IP relative call is inserted into translated code to write the trampoline address to a target link register and a target return address stack used by the native machine to predict return addresses. If a computed subject return address matches a subject return address register value, the current isostate of the isoblock is written to an isostate register. The isostate value in the isostate register is then used to select the branch instruction in the trampoline for the true subject return address. Sufficient code area in the trampoline instruction set can be reserved for a number of compare/branch pairs which is equal to the number of available isostates.
    Type: Application
    Filed: May 23, 2012
    Publication date: January 24, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William O. Lovett, Alexander B. Brown
  • Patent number: 8108842
    Abstract: A native binding technique is provided for inserting calls to native functions during translation of subject code to target code, such that function calls in the subject program to subject code functions are replaced in target code with calls to native equivalents of the same functions. Parameters of native function calls are transformed from target code representations to be consistent with native code representations, native code calling conventions, and native function prototypes.
    Type: Grant
    Filed: October 1, 2008
    Date of Patent: January 31, 2012
    Assignee: International Business Machines Corporation
    Inventors: Alexander B. Brown, Geraint M. North, Frank Thomas Weigel, Gareth Anthony Knight