Patents by Inventor Laurent Daynes

Laurent Daynes 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: 20210182285
    Abstract: An in-memory graph query runtime is integrated inside a database management system and is capable of performing simple patter-matching queries against homogeneous graphs. The runtime efficiently combines breadth-first (BFS) and depth-first (DFS) neighbor traversal algorithms to achieve a hybrid runtime that takes the best from both sides. As a result, the hybrid runtime is able to process arbitrarily large queries with a fixed amount of memory, optimizing for memory locality.
    Type: Application
    Filed: December 11, 2019
    Publication date: June 17, 2021
    Inventors: Vlad Haprian, Laurent Daynes, Shasank K. Chavan, Jean-Pierre Lozi, Vasileios Trigonakis, Sungpack Hong, Marco Arnaboldi, Ciprian Baetu
  • Publication number: 20210182316
    Abstract: An in-memory graph query runtime is integrated inside a database management system and is capable of performing simple patter-matching queries against homogeneous graphs. The runtime efficiently combines breadth-first (BFS) and depth-first (DFS) neighbor traversal algorithms to achieve a hybrid runtime that takes the best from both sides. As a result, the hybrid runtime is able to process arbitrarily large queries with a fixed amount of memory, optimizing for memory locality.
    Type: Application
    Filed: December 11, 2019
    Publication date: June 17, 2021
    Inventors: Vlad Haprian, Laurent Daynes, Shasank K. Chavan, Jean-Pierre Lozi, Vasileios Trigonakis, Sungpack Hong, Marco Arnaboldi, Ciprian Baetu
  • Patent number: 10990594
    Abstract: Database techniques are provided that use state machines to manage polyglot subroutine bindings for database commands. In an embodiment, a computer receives a database command that contains call sites (CSs). Each CS is associated with a user defined logic (UDL). The computer associates an initial operational state with each of the CSs. During a first invocation of a particular CS, the CS becomes initialized and transitions to an optimized state that is configured for streamlined invocation of the UDL. The UDL is invoked to contribute data to a partial result for the database command. Eventually, command execution stalls and causes the CS to transition to an unready state, which entails releasing shared resources. Later execution resumes and during another invocation of the CS, resources are reacquired, the CS is made ready and transitioned back to the optimized state. The CS may again be repeatedly invoked while revisiting the optimized state.
    Type: Grant
    Filed: May 4, 2018
    Date of Patent: April 27, 2021
    Assignee: Oracle International Corporation
    Inventors: Anantha Kiran Kandukuri, Laurent Daynes, Hassan Chafi
  • Publication number: 20210064619
    Abstract: The present invention relates to execution optimization of database queries. Herein are techniques for optimal execution based on query interpretation by translation to a domain specific language (DSL), with optimizations such as partial evaluation, abstract syntax tree (AST) rewriting, just in time (JIT) compilation, dynamic profiling, speculative logic, and Futamura projection. In an embodiment, a database management system (DBMS) that is hosted on a computer generates a query tree that represents a database query that contains an expression that is represented by a subtree of the query tree. The DBMS generates a sequence of DSL instructions that represents the subtree. The sequence of DSL instructions is executed to evaluate the expression during execution of the database query. In an embodiment, an AST is generated from the sequence of DSL instructions. In an embodiment, the DSL AST is optimally rewritten based on a runtime feedback loop that includes dynamic profiling information.
    Type: Application
    Filed: August 29, 2019
    Publication date: March 4, 2021
    Inventors: PIT FENDER, ALEXANDER ULRICH, LAURENT DAYNES, MATTHIAS BRANTNER, BASTIAN HOSSBACH, BENJAMIN SCHLEGEL, HASSAN CHAFI
  • Patent number: 10684873
    Abstract: Computer-implemented techniques described herein provide efficient data decoding using runtime specialization. In an embodiment, a method comprises a virtual machine executing a body of code of a dynamically typed language, wherein executing the body of code includes: querying a relational database, and in response to the query, receiving table metadata indicating data types of one or more columns of a first table in the relational database. In response to receiving the table metadata: for a first column of the one or more columns, generating decoding machine code to decode the first column based on the data type of the first column, and executing the decoding machine code to decode the first column of the one or more columns.
    Type: Grant
    Filed: June 12, 2018
    Date of Patent: June 16, 2020
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Bastian Hossbach, Jürgen Christ, Laurent Daynes, Matthias Brantner, Hassan Chafi, Christian Humer
  • Patent number: 10592264
    Abstract: A method may include generating, from an expression, an expression tree including an arithmetic operation and conversion operations each converting an operand of the arithmetic operation from an initial decimal format to an optimized decimal format. The initial decimal format may include a shape. The method may further include at runtime, evaluating the arithmetic operation with initial operands represented in the initial decimal format, and specializing one of the conversion operations according to the shape of the corresponding initial operand.
    Type: Grant
    Filed: May 16, 2018
    Date of Patent: March 17, 2020
    Assignee: Oracle International Corporation
    Inventors: Alexey Karyakin, Laurent Daynes
  • Publication number: 20190377589
    Abstract: Computer-implemented techniques described herein provide efficient data decoding using runtime specialization. In an embodiment, a method comprises a virtual machine executing a body of code of a dynamically typed language, wherein executing the body of code includes: querying a relational database, and in response to the query, receiving table metadata indicating data types of one or more columns of a first table in the relational database. In response to receiving the table metadata: for a first column of the one or more columns, generating decoding machine code to decode the first column based on the data type of the first column, and executing the decoding machine code to decode the first column of the one or more columns.
    Type: Application
    Filed: June 12, 2018
    Publication date: December 12, 2019
    Inventors: Bastian Hossbach, Jürgen Christ, Laurent Daynes, Matthias Brantner, Hassan Chafi, Christian Humer
  • Publication number: 20190354391
    Abstract: A method may include generating, from an expression, an expression tree including an arithmetic operation and conversion operations each converting an operand of the arithmetic operation from an initial decimal format to an optimized decimal format. The initial decimal format may include a shape. The method may further include at runtime, evaluating the arithmetic operation with initial operands represented in the initial decimal format, and specializing one of the conversion operations according to the shape of the corresponding initial operand.
    Type: Application
    Filed: May 16, 2018
    Publication date: November 21, 2019
    Applicant: Oracle International Corporation
    Inventors: Alexey Karyakin, Laurent Daynes
  • Publication number: 20190340284
    Abstract: Database techniques are provided that use state machines to manage polyglot subroutine bindings for database commands. In an embodiment, a computer receives a database command that contains call sites (CSs). Each CS is associated with a user defined logic (UDL). The computer associates an initial operational state with each of the CSs. During a first invocation of a particular CS, the CS becomes initialized and transitions to an optimized state that is configured for streamlined invocation of the UDL. The UDL is invoked to contribute data to a partial result for the database command. Eventually, command execution stalls and causes the CS to transition to an unready state, which entails releasing shared resources. Later execution resumes and during another invocation of the CS, resources are reacquired, the CS is made ready and transitioned back to the optimized state. The CS may again be repeatedly invoked while revisiting the optimized state.
    Type: Application
    Filed: May 4, 2018
    Publication date: November 7, 2019
    Inventors: ANANTHA KIRAN KANDUKURI, LAURENT DAYNES, HASSAN CHAFI
  • Publication number: 20190065552
    Abstract: Herein are computerized techniques for deploying JavaScript and TypeScript stored procedures and user-defined functions into a database management system (DBMS). In an embodiment, a computer generates a SQL call specification for each subroutine of one or more subroutines encoded in a scripting language. The generating is based on a signature declaration of the subroutine. Each subroutine comprises a definition of a stored procedure or a user-defined function. The computer packages the definition and the SQL call specification of each subroutine into a single bundle file. The definition and the SQL call specification of each subroutine are deployed into a DBMS from the single bundle file. Eventually, the SQL call specification of at least one subroutine is invoked to execute the definition of the subroutine in the DBMS.
    Type: Application
    Filed: August 30, 2018
    Publication date: February 28, 2019
    Inventors: MATTHIAS BRANTNER, LAURENT DAYNES, PIT FENDER, BENJAMIN SCHLEGEL, ANANTHA KIRAN KANDUKURI, HASSAN CHAFI, ERIC SEDLAR, JUERGEN CHRIST, LUCAS BRAUN, BASTIAN HOSSBACH, ALEXANDER ULRICH, HARSHAD KASTURE
  • Patent number: 8453128
    Abstract: A method for implementing a just-in-time compiler involves obtaining high-level code templates in a high-level programming language, where the high-level programming language is designed for compilation to an intermediate language capable of execution by a virtual machine, and where each high-level code template represents an instruction in the intermediate language. The method further involves compiling the high-level code templates to native code to obtain optimized native code templates, where compiling the high-level code templates is performed, prior to runtime, using an optimizing static compiler designed for runtime use with the virtual machine. The method further involves implementing the just-in-time compiler using the optimized native code templates, where the just-in-time compiler is configured to substitute an optimized native code template when a corresponding instruction in the intermediate language is encountered at runtime.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: May 28, 2013
    Assignee: Oracle America, Inc.
    Inventors: Laurent Daynes, Bernd J. Mathiske, Gregory M. Wright, Mario I. Wolczko
  • Patent number: 7945920
    Abstract: Disclosed techniques ensure that isolates that are attached to a shared object region will see appropriate class states. In response to an isolate's attempt to instantiate, in such a region, an object that is an instance of a particular class, a bootstrap class' identity is added to that region's bootstrap class list. In response to an isolate's attempt to attach to the region, each class that is both (a) in the region's associated bootstrap class list, and (b) not yet initialized for that isolate, is initialized for that isolate. Thus, those bootstrap classes are seen by that isolate as being in the “initialized” state. In response to an isolate's addition of a particular bootstrap class to the region's list of dependent bootstrap classes, the particular bootstrap class is initialized for each of the isolates attached to the region and for which the bootstrap class is not initialized yet.
    Type: Grant
    Filed: September 19, 2006
    Date of Patent: May 17, 2011
    Assignee: Oracle America, Inc.
    Inventors: Grzegorz Czajkowski, Laurent Daynes, Michal Wegiel
  • Patent number: 7840967
    Abstract: A technique for allowing isolated JAVA applications (“isolates”) to share data between themselves is disclosed. According to one aspect, a shared object region, to which multiple isolates may attach, is defined in memory. A shared class loader associated with the region is stored in the region in conjunction with the region's creation. Isolates that can access the region can invoke that loader. The region only comprises objects whose type is defined by a bootstrap class loader or the region's associated shared class loader. Runtime representations of classes defined by the shared class loader are stored in the region. Thus, the types of objects stored in the region are known to all isolates that attach to the region. Isolates attached to the region may enter the context of the region to access objects stored therein. Within the context of a shared object region, all allocation instructions automatically allocate to that region.
    Type: Grant
    Filed: July 6, 2006
    Date of Patent: November 23, 2010
    Assignee: Oracle America, Inc.
    Inventors: Grzegorz Czajkowski, Laurent Daynes, Michal Wegiel
  • Patent number: 7761872
    Abstract: A method is provided to virtualize a mutually exclusive lock of a shared immutable object. A determination is made whether any threads have locked the immutable shared object. If threads have not locked the immutable shared object, threads of different tasks are allowed to fast lock and unlock the immutable shared object. If a thread requests the lock of an immutable shared object and the object is fast locked by another thread when both threads are from an equivalent task, the lock of the immutable shared object is inflated and the requesting thread is blocked. If a thread requests the lock of an immutable shared object and the object is fast locked by another thread when both threads are from different tasks, the lock of the immutable shared object is virtualized and granted to the requesting thread.
    Type: Grant
    Filed: March 1, 2006
    Date of Patent: July 20, 2010
    Assignee: Oracle America, Inc.
    Inventors: Laurent Daynès, Grzegorz Czajkowski
  • Patent number: 7665075
    Abstract: A method for sharing dynamically compiled code between different class loaders is provided. In this method, loader-reentrant compiled code is produced from bytecodes by generating native code implementing a class initialization barrier when compiling bytecodes that require a class to be initialized, by generating native code implementing a link resolution barrier when compiling bytecodes that require a symbolic link to be resolved, and by generating code to retrieve loader-dependent data from a loader-dependent table when compiling bytecodes that use data computed from a resolved symbolic link.
    Type: Grant
    Filed: May 18, 2004
    Date of Patent: February 16, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynes, Grzegorz Czajkowski
  • Patent number: 7644402
    Abstract: A method for reducing a usage of main memory by a first class loader and a second class loader is provided. The first class loader and the second class loader are capable of dynamically loading a class having a class file, and translating the class file into a first and a second class type, respectively. The method includes dividing a runtime representation of the first class type into a first loader independent part and a first loader dependent part. Also included is determining whether a runtime representation of the second class type can use the first loader independent part of the runtime representation of the first class type. If the first loader independent part can be used, the method includes generating a second loader dependent part of the runtime representation of the second class type using the first loader independent part of the runtime representation of the first class type.
    Type: Grant
    Filed: March 17, 2004
    Date of Patent: January 5, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynes, Grzegorz Czajkowski
  • Patent number: 7584231
    Abstract: A method is provided enabling concurrent garbage collection of a young generation of a task with other tasks executing in a multi-tasking virtual machine. A first record is provided for each thread which has a value in an old generation memory after each thread successfully allocates an object in the old generation memory. A second record is provided for each thread which has a memory address value. Threads of a garbage-collecting task are stopped and an end of scan value for the task is calculated. Garbage collection on threads associated the garbage-collected task are permitted when one of two conditions involving either second records or second records and first records are met.
    Type: Grant
    Filed: May 25, 2006
    Date of Patent: September 1, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynès, Andrew McClure, Grzegorz J. Czajkowski
  • Patent number: 7526760
    Abstract: A method for implementing virtual method invocation when a compiled code of an invoked method is shared between class types that share a runtime representation is provided. In this method, an entry of an inline cache is set to a reference to an object. Subsequently, instructions for calling code are modified and the inline cache is set to be in one of an unresolved state, a monomorphic state, a shared monomorphic state, or a megamorphic state. A computer readable medium and a system for implementing virtual method invocation are also described.
    Type: Grant
    Filed: November 5, 2004
    Date of Patent: April 28, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynes, Grzegorz Czajkowski
  • Publication number: 20090089767
    Abstract: A method for implementing a just-in-time compiler involves obtaining high-level code templates in a high-level programming language, where the high-level programming language is designed for compilation to an intermediate language capable of execution by a virtual machine, and where each high-level code template represents an instruction in the intermediate language. The method further involves compiling the high-level code templates to native code to obtain optimized native code templates, where compiling the high-level code templates is performed, prior to runtime, using an optimizing static compiler designed for runtime use with the virtual machine. The method further involves implementing the just-in-time compiler using the optimized native code templates, where the just-in-time compiler is configured to substitute an optimized native code template when a corresponding instruction in the intermediate language is encountered at runtime.
    Type: Application
    Filed: September 28, 2007
    Publication date: April 2, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Laurent Daynes, Bernd J. Mathiske, Gregory M. Wright, Mario I. Wolczko
  • Patent number: 7406687
    Abstract: A computer implemented process for making a bytecode of a method sharable by a first class loader and a second class loader is provided. The first class loader and the second class loader are capable of dynamically loading a class having a class file, and translating the class file into first and second class types, respectively. The process includes dividing a runtime representation of the first class type into first loader independent and first loader dependent parts and determining whether a runtime representation of the second class type can use the first loader independent part. If the first loader independent part can be used by the runtime representation of the second class type, the process includes generating a second loader dependent part using the first loader independent part. Further included is performing a loader re-entrant interpretation of a bytecode of the method if the method is invoked.
    Type: Grant
    Filed: March 17, 2004
    Date of Patent: July 29, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent Daynes, Grzegorz Czajkowski