Patents by Inventor Solomon Boulos

Solomon Boulos 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: 10025571
    Abstract: In one aspect, a method includes receiving a code block including one or more variables, performing forward data flow analysis for the code block including generating a control flow graph of the code block and for each operation in the control flow graph determining if the operation provides an update regarding the type of one or more of the operations or variables of the code block, the update being based on one or more rules of type inference, updating a type set of each of the operations or variables where the operation provides an update regarding the type, determining if the operation provides an update regarding the location of the variables, the update being based on one or more rules of location inference and updating a location set of each of the variables where the operation provides an update regarding the location set.
    Type: Grant
    Filed: July 17, 2014
    Date of Patent: July 17, 2018
    Assignee: Google LLC
    Inventors: Solomon Boulos, Jeremy Sugerman
  • Publication number: 20180129488
    Abstract: In one aspect, a method for optimizing executing of dynamic language code is provided, the method includes identifying a first dynamic language function call during runtime, the function call including argument values for one or more arguments of the function, calculating a type signature for the one or more argument values of the function, determining if a function associated with the type signature is stored in a cache, looking up the function in the cache when the function associated with the type signature is stored in the cache and dynamically calling the function associated with the type signature when the specialized function for the type signature is not stored in the cache.
    Type: Application
    Filed: January 5, 2018
    Publication date: May 10, 2018
    Inventors: Solomon BOULOS, Jeremy SUGERMAN
  • Publication number: 20160179489
    Abstract: In one aspect, a method for optimizing execution of dynamic language code is provided, the method includes identifying a first dynamic language function call during runtime, the function call including argument values for one or more arguments of the function, calculating a type signature for the one or more argument values of the function, determining if a function associated with the type signature is stored in a cache, looking up the function in the cache when the function associated with the type signature is stored in the cache and dynamically calling the function associated with the type signature when the specialized function for the type signature is not stored in the cache.
    Type: Application
    Filed: December 16, 2015
    Publication date: June 23, 2016
    Inventors: Solomon BOULOS, Jeremy Sugerman
  • Patent number: 9244665
    Abstract: In one aspect, a method for optimizing execution of dynamic language code is provided, the method includes identifying a first dynamic language function call during runtime, the function call including argument values for one or more arguments of the function, calculating a type signature for the one or more argument values of the function, determining if a function associated with the type signature is stored in a cache, looking up the function in the cache when the function associated with the type signature is stored in the cache and dynamically calling the function associated with the type signature when the specialized function for the type signature is not stored in the cache.
    Type: Grant
    Filed: July 17, 2014
    Date of Patent: January 26, 2016
    Assignee: Google Inc.
    Inventors: Solomon Boulos, Jeremy Sugerman
  • Publication number: 20160019035
    Abstract: in one aspect, a method for optimizing execution of dynamic language code is provided, the method includes identifying a first dynamic language function call during runtime, the function call including argument values for one or more arguments of the function, calculating a type signature for the one or more argument values of the function, determining if a function associated with the type signature is stored in a cache, looking up the function in the cache when the function associated with the type signature is stored in the cache and dynamically calling the function associated with the type signature when the specialized function for the type signature is not stored in the cache.
    Type: Application
    Filed: July 17, 2014
    Publication date: January 21, 2016
    Inventors: Solomon BOULOS, Jeremy SUGERMAN
  • Patent number: 9104449
    Abstract: Program code in a dynamic language is executed through a dynamic execution module that includes an execution context and an execution codebase. The instructions of the program code are translated into machine code that is stored in the execution codebase, and the execution context tracks the runtime state and persistent state of the program through executions and across executions. Using the execution codebase and the execution context the dynamic execution module minimizes duplicative machine code generation, while preserving the dynamic aspects of the program.
    Type: Grant
    Filed: June 18, 2012
    Date of Patent: August 11, 2015
    Assignee: Google Inc.
    Inventors: Solomon Boulos, Jeremy Sugerman
  • Patent number: 8711145
    Abstract: The present invention extends to methods, systems, and computer program products for representing polarized light in computer models. A rendering pipeline receives three dimensional modeling data (e.g., geometric primitives) for rendering a two dimensional image are received. The modeling data includes data representing a light source The light energy from the simulated transmission of particles at each pixel of the two dimensional image is calculated for any particles transmitted in an adjoint direction from a specified view point back to the light source. The light energies from each pixel are summed to calculate the total light energy present at the specified view point. The total light energy can be forwarded to other modules in rendering pipeline to more accurately render the two dimensional image, such as, for example, representing polarized light in the two dimensional image.
    Type: Grant
    Filed: February 7, 2008
    Date of Patent: April 29, 2014
    Assignee: The University of Utah Research Foundation
    Inventors: Peter Schuyler Shirley, Solomon Boulos, Jared Moroni Johnson, Austin Huff Robison
  • Publication number: 20130339936
    Abstract: Program code in a dynamic language is executed through a dynamic execution module that includes an execution context and an execution codebase. The instructions of the program code are translated into machine code that is stored in the execution codebase, and the execution context tracks the runtime state and persistent state of the program through executions and across executions. Using the execution codebase and the execution context the dynamic execution module minimizes duplicative machine code generation, while preserving the dynamic aspects of the program.
    Type: Application
    Filed: June 18, 2012
    Publication date: December 19, 2013
    Applicant: TALARIA TECHNOLOGIES, INC.
    Inventors: Solomon Boulos, Jeremy Sugerman
  • Patent number: 8259105
    Abstract: Ray tracing a three-dimensional scene made up of geometric primitives that are spatially partitioned into a hierarchical data structure. One example embodiment is a method for ray tracing a three-dimensional scene made up of geometric primitives that are spatially partitioned into a hierarchical data structure. In this example embodiment, the hierarchical data structure includes at least a parent node and a corresponding plurality of child nodes. The method includes a first act of determining that a first active ray in the packet hits the parent node and a second act of descending to each of the plurality of child nodes.
    Type: Grant
    Filed: July 16, 2007
    Date of Patent: September 4, 2012
    Assignee: The University of Utah Research Foundation
    Inventors: Ingo Wald, Solomon Boulos, Peter Shirley
  • Publication number: 20110043516
    Abstract: The present invention extends to methods, systems, and computer program products for representing polarized light in computer models. A rendering pipeline receives three dimensional modeling data (e.g., geometric primitives) for rendering a two dimensional image are received. The modeling data includes data representing a light source The light energy from the simulated transmission of particles at each pixel of the two dimensional image is calculated for any particles transmitted in an adjoint direction from a specified view point back to the light source. The light energies from each pixel are summed to calculate the total light energy present at the specified view point. The total light energy can be forwarded to other modules in rendering pipeline to more accurately render the two dimensional image, such as, for example, representing polarized light in the two dimensional image.
    Type: Application
    Filed: February 7, 2008
    Publication date: February 24, 2011
    Inventors: Peter Schuyler Shirley, Solomon Boulos, Jared Moroni Johnson, Austin Huff Robison
  • Publication number: 20100060634
    Abstract: Ray tracing a three-dimensional scene made up of geometric primitives that are spatially partitioned into a hierarchical data structure. One example embodiment is a method for ray tracing a three-dimensional scene made up of geometric primitives that are spatially partitioned into a hierarchical data structure. In this example embodiment, the hierarchical data structure includes at least a parent node and a corresponding plurality of child nodes. The method includes a first act of determining that a first active ray in the packet hits the parent node and a second act of descending to each of the plurality of child nodes.
    Type: Application
    Filed: July 16, 2007
    Publication date: March 11, 2010
    Inventors: Ingo Wald, Solomon Boulos, Peter Shirley