Patents by Inventor David Sehr

David Sehr 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: 20230168902
    Abstract: Apparatus and methods related providing application execution information (AEI) are provided. A server can receive a request to provide a software package for a particular software application. The server can determine composite AEI (CAEI) for the particular software application. The CAEI can include a composite list of software with data about software methods of the particular software application executed by a computing device other than the server. The server can extract particular AEI related to the particular software application from the CAEI. The particular AEI can provide compiler hints for compiling at least one software method predicted to be executed by the particular software application. The server can generate the software package, where the software package can include the particular software application and the particular AEI. The server can provide the software package.
    Type: Application
    Filed: January 13, 2023
    Publication date: June 1, 2023
    Inventors: Matthew E. Kulick, Brian D. Carlstrom, David Sehr
  • Patent number: 11556348
    Abstract: Apparatus and methods related providing application execution information (AEI) are provided. A server can receive a request to provide a software package for a particular software application. The server can determine composite AEI (CAEI) for the particular software application. The CAEI can include a composite list of software with data about software methods of the particular software application executed by a computing device other than the server. The server can extract particular AEI related to the particular software application from the CAEI. The particular AEI can provide compiler hints for compiling at least one software method predicted to be executed by the particular software application. The server can generate the software package, where the software package can include the particular software application and the particular AEI. The server can provide the software package.
    Type: Grant
    Filed: February 22, 2021
    Date of Patent: January 17, 2023
    Assignee: Google LLC
    Inventors: Matthew E. Kulick, Brian D. Carlstrom, David Sehr
  • Publication number: 20210173665
    Abstract: Apparatus and methods related providing application execution information (AEI) are provided. A server can receive a request to provide a software package for a particular software application. The server can determine composite AEI (CAEI) for the particular software application. The CAEI can include a composite list of software with data about software methods of the particular software application executed by a computing device other than the server. The server can extract particular AEI related to the particular software application from the CAEI. The particular AEI can provide compiler hints for compiling at least one software method predicted to be executed by the particular software application. The server can generate the software package, where the software package can include the particular software application and the particular AEI. The server can provide the software package.
    Type: Application
    Filed: February 22, 2021
    Publication date: June 10, 2021
    Inventors: Matthew E. Kulick, Brian D. Carlstrom, David Sehr
  • Patent number: 10963267
    Abstract: Apparatus and methods related providing application execution information (AEI) are provided. A server can receive a request to provide a software package for a particular software application. The server can determine composite AEI (CAEI) for the particular software application. The CAEI can include a composite list of software with data about software methods of the particular software application executed by a computing device other than the server. The server can extract particular AEI related to the particular software application from the CAEI. The particular AEI can provide compiler hints for compiling at least one software method predicted to be executed by the particular software application. The server can generate the software package, where the software package can include the particular software application and the particular AEI. The server can provide the software package.
    Type: Grant
    Filed: May 13, 2019
    Date of Patent: March 30, 2021
    Assignee: Google LLC
    Inventors: Matthew E. Kulick, Brian D. Carlstrom, David Sehr
  • Publication number: 20190272180
    Abstract: Apparatus and methods related providing application execution information (AEI) are provided. A server can receive a request to provide a software package for a particular software application. The server can determine composite AEI (CAEI) for the particular software application. The CAEI can include a composite list of software with data about software methods of the particular software application executed by a computing device other than the server. The server can extract particular AEI related to the particular software application from the CAEI. The particular AEI can provide compiler hints for compiling at least one software method predicted to be executed by the particular software application. The server can generate the software package, where the software package can include the particular software application and the particular AEI. The server can provide the software package.
    Type: Application
    Filed: May 13, 2019
    Publication date: September 5, 2019
    Inventors: Matthew E. Kulick, Brian D. Carlstrom, David Sehr
  • Patent number: 10338932
    Abstract: Apparatus and methods related providing application execution information (AEI) are provided. A server can receive a request to provide a software package for a particular software application. The server can determine composite AEI (CAEI) for the particular software application. The CAEI can include a composite list of software with data about software methods of the particular software application executed by a computing device other than the server. The server can extract particular AEI related to the particular software application from the CAEI. The particular AEI can provide compiler hints for compiling at least one software method predicted to be executed by the particular software application. The server can generate the software package, where the software package can include the particular software application and the particular AEI. The server can provide the software package.
    Type: Grant
    Filed: June 28, 2017
    Date of Patent: July 2, 2019
    Assignee: Google LLC
    Inventors: Matthew E. Kulick, Brian D. Carlstrom, David Sehr
  • Publication number: 20180136941
    Abstract: Apparatus and methods related providing application execution information (AEI) are provided. A server can receive a request to provide a software package for a particular software application. The server can determine composite AEI (CAEI) for the particular software application. The CAEI can include a composite list of software with data about software methods of the particular software application executed by a computing device other than the server. The server can extract particular AEI related to the particular software application from the CAEI. The particular AEI can provide compiler hints for compiling at least one software method predicted to be executed by the particular software application. The server can generate the software package, where the software package can include the particular software application and the particular AEI. The server can provide the software package.
    Type: Application
    Filed: June 28, 2017
    Publication date: May 17, 2018
    Inventors: Matthew E. Kulick, Brian D. Carlstrom, David Sehr
  • Publication number: 20070079298
    Abstract: Thread-data affinity optimization can be performed by a compiler during the compiling of a computer program to be executed on a cache coherent non-uniform memory access (cc-NUMA) platform. In one embodiment, the present invention includes receiving a program to be compiled. The received program is then compiled in a first pass and executed. During execution, the compiler collects profiling data using a profiling tool. Then, in a second pass, the compiler performs thread-data affinity optimization on the program using the collected profiling data.
    Type: Application
    Filed: September 30, 2005
    Publication date: April 5, 2007
    Inventors: Xinmin Tian, Milind Girkar, David Sehr, Richard Grove, Wei Li, Hong Wang, Chris Newburn, Perry Wang, John Shen
  • Patent number: 7127710
    Abstract: In one embodiment, disambiguation of memory references, such as structure field accesses, of a computer program is performed. Disambiguation may be effected by identifying pure pointer variables within the computer program and applying at least one disambiguation rule to memory references associated with the pure pointers to determine whether the references are disjoint.
    Type: Grant
    Filed: June 24, 2002
    Date of Patent: October 24, 2006
    Assignee: Intel Corporation
    Inventors: Rakesh Ghiya, Daniel Lavery, David Sehr
  • Publication number: 20060047681
    Abstract: Methods and apparatus for reducing a control flow graph are disclosed. A disclosed method comprises: creating a points-to set associated with a function in a computer program; determining if a control flow edge between: (1) a call-site associated with a restore and return instruction and (2) a successor block following the call-site is removable from a control flow graph representing the computer program; and removing the control flow edge if it is determined that the control flow edge is removable.
    Type: Application
    Filed: August 27, 2004
    Publication date: March 2, 2006
    Inventors: Rakesh Ghiya, Robert Cox, David Sehr
  • Publication number: 20050120274
    Abstract: Methods and apparatus to minimize debugging and testing time of applications are described herein. In an example method, an instrumented code of the application is generated. A plurality of tests is executed on the instrumented code of the application. One or more test profiles associated with the plurality of tests are generated. A list containing at least one of the plurality of tests based on the one or more test profiles is identified.
    Type: Application
    Filed: November 14, 2003
    Publication date: June 2, 2005
    Inventors: Mohammad Haghighat, David Sehr
  • Publication number: 20040128661
    Abstract: An arrangement is provided for optimizing data locality for efficient memory access in code written in a non-type-safe programming language. Candidate structures in the code qualified to be optimized are first identified. Data locality optimization is then performed on such identified structures based on field re-ordering and structure splitting.
    Type: Application
    Filed: December 31, 2002
    Publication date: July 1, 2004
    Inventors: Somnath Ghosh, Rakesh Krishnaiyer, Wei Li, David Sehr
  • Publication number: 20040117606
    Abstract: The invention provides a method comprising monitoring an indicator indicating a usage of data speculatively loaded by a processor as a result of executing a speculative instruction; and selectively executing said speculative instruction when it is next encountered as an instruction pointer based on said usage. According to another embodiment, the invention provides a processor comprising a monitoring mechanism to monitor an indicator indicating a usage of data speculative loaded by said processor as a result of executing a speculative instruction; and a speculation control mechanism to selectively execute said speculative instruction when it is next encountered at an instruction pointer based on said usage.
    Type: Application
    Filed: December 17, 2002
    Publication date: June 17, 2004
    Inventors: Hong Wang, Rakesh Ghiya, John P. Shen, Ed Grochowski, Jim Fung, David Sehr, Kevin Rudd
  • Publication number: 20030237077
    Abstract: In one embodiment, disambiguation of memory references, such as structure field accesses, of a computer program is performed. Disambiguation may be effected by identifying pure pointer variables within the computer program and applying at least one disambiguation rule to memory references associated with the pure pointers to determine whether the references are disjoint.
    Type: Application
    Filed: June 24, 2002
    Publication date: December 25, 2003
    Inventors: Rakesh Ghiya, Daniel Lavery, David Sehr