Patents by Inventor Ian Andrew Rogers

Ian Andrew Rogers 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: 10855818
    Abstract: Disclosed are apparatus and methods for providing images of memory objects. A computing device can receive a plurality of memory objects for one or more executable software components. The computing device can classify the plurality of memory objects in accord with a plurality of object classifications. A particular object classification can represent a probability that a memory object classified with the particular object classification is to be written to during execution of the one or more executable software components. The computing device can order the plurality of memory objects based on the plurality of object classifications. The computing device can provide an image for the one or more executable software components using the computing device, where the image includes the ordered plurality of memory objects.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: December 1, 2020
    Assignee: Google LLC
    Inventors: Igor Murashkin, Ian Andrew Rogers
  • Publication number: 20180103131
    Abstract: Disclosed are apparatus and methods for providing images of memory objects. A computing device can receive a plurality of memory objects for one or more executable software components. The computing device can classify the plurality of memory objects in accord with a plurality of object classifications. A particular object classification can represent a probability that a memory object classified with the particular object classification is to be written to during execution of the one or more executable software components. The computing device can order the plurality of memory objects based on the plurality of object classifications. The computing device can provide an image for the one or more executable software components using the computing device, where the image includes the ordered plurality of memory objects.
    Type: Application
    Filed: December 7, 2017
    Publication date: April 12, 2018
    Inventors: Igor Murashkin, Ian Andrew Rogers
  • Patent number: 9871895
    Abstract: Disclosed are apparatus and methods for providing images of memory objects. A computing device can receive a plurality of memory objects for one or more executable software components. The computing device can classify the plurality of memory objects in accord with a plurality of object classifications. A particular object classification can represent a probability that a memory object classified with the particular object classification is to be written to during execution of the one or more executable software components. The computing device can order the plurality of memory objects based on the plurality of object classifications. The computing device can provide an image for the one or more executable software components using the computing device, where the image includes the ordered plurality of memory objects.
    Type: Grant
    Filed: April 24, 2015
    Date of Patent: January 16, 2018
    Assignee: Google LLC
    Inventors: Igor Murashkin, Ian Andrew Rogers
  • Publication number: 20160314134
    Abstract: Disclosed are apparatus and methods for providing images of memory objects. A computing device can receive a plurality of memory objects for one or more executable software components. The computing device can classify the plurality of memory objects in accord with a plurality of object classifications. A particular object classification can represent a probability that a memory object classified with the particular object classification is to be written to during execution of the one or more executable software components. The computing device can order the plurality of memory objects based on the plurality of object classifications. The computing device can provide an image for the one or more executable software components using the computing device, where the image includes the ordered plurality of memory objects.
    Type: Application
    Filed: April 24, 2015
    Publication date: October 27, 2016
    Inventors: Igor Murashkin, Ian Andrew Rogers
  • Publication number: 20160196119
    Abstract: Disclosed are apparatus and methods for calling software methods. A computing device can receive a request to call a software method of a class instance which can include an interface method table and a virtual method table (vtable). The interface method table can include interface method table entries, which can include a particular interface method table entry for a particular interface method of a software interface associated with the class instance. The particular interface method table entry can refer to the particular interface method. The vtable can include vtable entries, which can include a particular vtable entry for a particular virtual method associated with the class instance. The particular vtable entry can refer to the particular virtual method. The computing device can determine an entry point for the called software method based on the interface method table and/or the vtable. The computing device can call the called software method by executing instructions at the entry point.
    Type: Application
    Filed: January 5, 2015
    Publication date: July 7, 2016
    Inventors: Mingyao Yang, Ian Andrew Rogers
  • Patent number: 8972975
    Abstract: A disclosed method may include, in a computing device including at least one processor, a memory, and an operating system with a plurality of modes of execution, accessing instructions received by the computing device for installation and optimization use at least one of the plurality of modes of execution. The instructions may include a plurality of subroutines. A fingerprint for each of the subroutines may be generated. Each fingerprint may be associated with a number of instructions in a corresponding subroutine. The subroutine may also include determining, for each of the plurality of subroutines and based on the fingerprint, performance score and estimated compilation time associated with each of the plurality of modes of execution, for compiling the corresponding subroutine. One of the plurality of modes of execution may be selected based on maximizing a total performance score for the plurality of subroutines, and limiting total compilation and installation time.
    Type: Grant
    Filed: April 1, 2013
    Date of Patent: March 3, 2015
    Assignee: Google Inc.
    Inventor: Ian Andrew Rogers