Patents by Inventor Eric Boutin

Eric Boutin 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: 20230237099
    Abstract: There is provided a method of using a bitmap filter to filter a data source as part of a join operation. A set bit at a bit location of the bitmap filter is associated with an entry of the data source that comprises an identifier that matches a filter parameter. A row identifier of a row in another data source that corresponds to the identifier is determined based on a sum of a number of bits set in bit locations that are between the bit location of the set bit associated with the entry of the data source and a bit location in the bitmap filter corresponding to a different, known, row identifier of a different row in the another data source. The row of the another data source corresponding to the determined row identifier is interrogated to obtain information defining the identifier that matches the filter parameter.
    Type: Application
    Filed: April 3, 2023
    Publication date: July 27, 2023
    Inventors: Eric Norman HANSON, Michal NOWAKIEWICZ, Eric BOUTIN
  • Patent number: 11669521
    Abstract: A method for causing a processor to perform a query on a column-store table of encoded values is provided. The method includes configuring the processor to receive the query, comprising a filter to be applied to at least a first column vector of the encoded values. The processor processes the query for the encoded values in the first column vector, to generate a first vector indicative of respective encoded values passing or failing the filter. The processor determines, from the first vector, an indicator of encoded values passing the filter and encoded values failing the filter, relative to the encoded values in the first column vector. The processor determines a bit length of the encoded values. The processor selects an algorithm for processing the query based on the indicator and the determined bit length of the encoded values. A system and a non-transitory, computer-readable medium are also provided.
    Type: Grant
    Filed: February 22, 2022
    Date of Patent: June 6, 2023
    Assignee: SINGLESTORE, INC.
    Inventors: Michal Nowakiewicz, Eric Boutin
  • Patent number: 11645336
    Abstract: There is provided a system of generating a bitmap filter as part of a join operation. A query comprising a filter parameter is received and a first data source associated with the filter parameter is queried to identify an entry therein with an identifier corresponding to the filter parameter. Each entry of the first data source is identified by a corresponding identifier to differentiate the entries from one another. The system generates a bitmap filter corresponding to the filter parameter by identifying a single bit location in the bitmap filter that corresponds to an identifier of the entry corresponding to the filter parameter. Each identifier has a numerical value used to identify the bit location. A single bit location is assigned to the identifier and a bit is set at the assigned bit location such that there is one-to-one mapping between the identifier and the assigned bit location.
    Type: Grant
    Filed: December 7, 2020
    Date of Patent: May 9, 2023
    Assignee: SingleStore, Inc.
    Inventors: Eric Norman Hanson, Michal Nowakiewicz, Eric Boutin
  • Publication number: 20220179849
    Abstract: A method for causing a processor to perform a query on a column-store table of encoded values is provided. The method includes configuring the processor to receive the query, comprising a filter to be applied to at least a first column vector of the encoded values. The processor processes the query for the encoded values in the first column vector, to generate a first vector indicative of respective encoded values passing or failing the filter. The processor determines, from the first vector, an indicator of encoded values passing the filter and encoded values failing the filter, relative to the encoded values in the first column vector. The processor determines a bit length of the encoded values. The processor selects an algorithm for processing the query based on the indicator and the determined bit length of the encoded values. A system and a non-transitory, computer-readable medium are also provided.
    Type: Application
    Filed: February 22, 2022
    Publication date: June 9, 2022
    Inventors: Michal NOWAKIEWICZ, Eric BOUTIN
  • Patent number: 11341163
    Abstract: This application relates to multi-level replication filtering for a distributed database. A primary node of the database can generate log records that describe write requests performed to the database. The primary node can, in some embodiments, identify a portion of the data of the database that is stored at a second node, such as data stored by a read replica node that can be used in responding to read requests from clients. The primary node can select log records that are applicable to this identified portion of the data to send to the second node. Log records are not selected based on a determination that those unselected log records are not applicable to the identified portion of the data. The primary node can then send the selected log records to the second node, for the second node to apply the log records to its stored database data.
    Type: Grant
    Filed: March 30, 2020
    Date of Patent: May 24, 2022
    Assignee: Amazon Technologies, Inc.
    Inventors: Shriram Sridharan, Eric Boutin, Damien Katz, Kamal Kant Gupta, Alexandre Olegovich Verbitski, Pallavi Maheshwara Kakunje
  • Patent number: 11275731
    Abstract: A method for causing a processor to perform a query on a column-store table of encoded values is provided. The method includes configuring the processor to receive the query, comprising a filter to be applied to at least a first column vector of the encoded values. The processor processes the query for the encoded values in the first column vector, to generate a first vector indicative of respective encoded values passing or failing the filter. The processor determines, from the first vector, an indicator of encoded values passing the filter and encoded values failing the filter, relative to the encoded values in the first column vector. The processor determines a bit length of the encoded values. The processor selects an algorithm for processing the query based on the indicator and the determined bit length of the encoded values. A system and a non-transitory, computer-readable medium are also provided.
    Type: Grant
    Filed: November 30, 2018
    Date of Patent: March 15, 2022
    Assignee: Singlestore, Inc.
    Inventors: Michal Nowakiewicz, Eric Boutin
  • Publication number: 20210089591
    Abstract: There is provided a system of generating a bitmap filter as part of a join operation. A query comprising a filter parameter is received and a first data source associated with the filter parameter is queried to identify an entry therein with an identifier corresponding to the filter parameter. Each entry of the first data source is identified by a corresponding identifier to differentiate the entries from one another. The system generates a bitmap filter corresponding to the filter parameter by identifying a single bit location in the bitmap filter that corresponds to an identifier of the entry corresponding to the filter parameter. Each identifier has a numerical value used to identify the bit location. A single bit location is assigned to the identifier and a bit is set at the assigned bit location such that there is one-to-one mapping between the identifier and the assigned bit location.
    Type: Application
    Filed: December 7, 2020
    Publication date: March 25, 2021
    Inventors: Eric Norman HANSON, Michal NOWAKIEWICZ, Eric BOUTIN
  • Patent number: 10896225
    Abstract: There is provided a computer-implemented method of generating a bitmap filter. A filter parameter is received, and a first data source associated with the filter parameter is queried to identify at least one entry in the first data source with an identifier corresponding to the filter parameter. A first process is performed where zero or one single bit location of a plurality of bit locations in a bitmap filter is identified that corresponds to an identifier of an entry of the first data source corresponding to the filter parameter. Each identifier has a numerical value and the bit location is identified based on the numerical value of the corresponding identifier. The single bit location is assigned to the identifier, such that there is one-to-one mapping between each identifier corresponding to the filter parameter and an assigned bit location in the bitmap filter. A bit is set at the assigned bit location.
    Type: Grant
    Filed: May 23, 2018
    Date of Patent: January 19, 2021
    Assignee: SingleStore, Inc.
    Inventors: Michal Nowakiewicz, Eric Norman Hanson, Eric Boutin
  • Patent number: 10749984
    Abstract: Processing a job request for multiple versions of a distributed computing service. The service processing node does this by at least interleavingly (e.g., via time sharing with rapid context switching, or by actually concurrently) running a first runtime library associated with a first service version of the distributed computerized service and a second runtime library associated with a different service version of the distributed computerized service. While running the first runtime library, job requests of a first service version may be at least partially processed using a first set of one or more executables that interact with the first runtime library. While running the second runtime library, job requests of a second service version may be at least partially processed using a second set of one or more executables that interact with the second runtime library.
    Type: Grant
    Filed: February 19, 2019
    Date of Patent: August 18, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Zhicheng Yin, Xiaoyu Chen, Tao Guan, Paul Michael Brett, Nan Zhang, Jaliya N. Ekanayake, Eric Boutin, Anna Korsun, Jingren Zhou, Haibo Lin, Pavel N. Iakovenko
  • Patent number: 10530892
    Abstract: Processing received job requests for a multi-versioned distributed computerized service. For each received job request, the job request is channeled to an appropriate service processing node that depends on the version of the distributed computing service that is to handle the job request. A version of the distributed computing service is assigned to the incoming job request. A service processing node that runs a runtime library for the assigned service version is then identified. The identified service processing node also has an appropriate set of one or more executables that allows the service processing node to plan an appropriate role (e.g., compiler, scheduler, worker) in the distributed computing service. The job request is then dispatched to the identified service processing node.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: January 7, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Zhicheng Yin, Xiaoyu Chen, Tao Guan, Paul Michael Brett, Nan Zhang, Jaliya N. Ekanayake, Eric Boutin, Anna Korsun, Jingren Zhou, Haibo Lin, Pavel N. Iakovenko
  • Publication number: 20190387073
    Abstract: Processing a job request for multiple versions of a distributed computing service. The service processing node does this by at least interleavingly (e.g., via time sharing with rapid context switching, or by actually concurrently) running a first runtime library associated with a first service version of the distributed computerized service and a second runtime library associated with a different service version of the distributed computerized service. While running the first runtime library, job requests of a first service version may be at least partially processed using a first set of one or more executables that interact with the first runtime library. While running the second runtime library, job requests of a second service version may be at least partially processed using a second set of one or more executables that interact with the second runtime library.
    Type: Application
    Filed: February 19, 2019
    Publication date: December 19, 2019
    Inventors: Zhicheng YIN, Xiaoyu CHEN, Tao GUAN, Paul Michael BRETT, Nan ZHANG, Jaliya N. EKANAYAKE, Eric BOUTIN, Anna KORSUN, Jingren ZHOU, Haibo LIN, Pavel N. IAKOVENKO
  • Publication number: 20190362026
    Abstract: There is provided a computer-implemented method of generating a bitmap filter. A filter parameter is received, and a first data source associated with the filter parameter is queried to identify at least one entry in the first data source with an identifier corresponding to the filter parameter. A first process is performed where zero or one single bit location of a plurality of bit locations in a bitmap filter is identified that corresponds to an identifier of an entry of the first data source corresponding to the filter parameter. Each identifier has a numerical value and the bit location is identified based on the numerical value of the corresponding identifier. The single bit location is assigned to the identifier, such that there is one-to-one mapping between each identifier corresponding to the filter parameter and an assigned bit location in the bitmap filter. A bit is set at the assigned bit location.
    Type: Application
    Filed: May 23, 2018
    Publication date: November 28, 2019
    Inventors: Michal NOWAKIEWICZ, Eric Norman HANSON, Eric BOUTIN
  • Publication number: 20190171634
    Abstract: A method for causing a processor to perform a query on a column-store table of encoded values is provided. The method includes configuring the processor to receive the query, comprising a filter to be applied to at least a first column vector of the encoded values. The processor processes the query for the encoded values in the first column vector, to generate a first vector indicative of respective encoded values passing or failing the filter. The processor determines, from the first vector, an indicator of encoded values passing the filter and encoded values failing the filter, relative to the encoded values in the first column vector. The processor determines a bit length of the encoded values. The processor selects an algorithm for processing the query based on the indicator and the determined bit length of the encoded values. A system and a non-transitory, computer-readable medium are also provided.
    Type: Application
    Filed: November 30, 2018
    Publication date: June 6, 2019
    Inventors: Michal NOWAKIEWICZ, Eric BOUTIN
  • Patent number: 10212255
    Abstract: Processing a job request for multiple versions of a distributed computing service. The service processing node does this by at least interleavingly (e.g., via time sharing with rapid context switching, or by actually concurrently) running a first runtime library associated with a first service version of the distributed computerized service and a second runtime library associated with a different service version of the distributed computerized service. While running the first runtime library, job requests of a first service version may be at least partially processed using a first set of one or more executables that interact with the first runtime library. While running the second runtime library, job requests of a second service version may be at least partially processed using a second set of one or more executables that interact with the second runtime library.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: February 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Zhicheng Yin, Xiaoyu Chen, Tao Guan, Paul Michael Brett, Nan Zhang, Jaliya N. Ekanayake, Eric Boutin, Anna Korsun, Jingren Zhou, Haibo Lin, Pavel N. Iakovenko
  • Publication number: 20170090985
    Abstract: A system that includes a resource monitor and a resource consumer. The resource monitor keeps a state of resources that are available for consumption. For instance, the resources may be processing nodes in a distributed environment. The state of the resources kept by the resource monitor includes an estimated health score along a health score range for each of the resources being monitored. The resource monitor reports the resulting estimated health scores. The resource consumer uses at least some of the reported estimated health scores in order to determine which of the resources to consume. A higher estimated health score for a resource may result in the resource being more readily consumed. A lower estimated health score for a resource may result in consumption of the resource being more likely avoided.
    Type: Application
    Filed: May 23, 2016
    Publication date: March 30, 2017
    Inventors: Radhey Kiran Shah, Richard Powell Draves, JR., Zhou Zhou, Jaliya N. Ekanayake, Eric Boutin
  • Publication number: 20170094020
    Abstract: Processing received job requests for a multi-versioned distributed computerized service. For each received job request, the job request is channeled to an appropriate service processing node that depends on the version of the distributed computing service that is to handle the job request. A version of the distributed computing service is assigned to the incoming job request. A service processing node that runs a runtime library for the assigned service version is then identified. The identified service processing node also has an appropriate set of one or more executables that allows the service processing node to plan an appropriate role (e.g., compiler, scheduler, worker) in the distributed computing service. The job request is then dispatched to the identified service processing node.
    Type: Application
    Filed: June 29, 2016
    Publication date: March 30, 2017
    Inventors: Zhicheng Yin, Xiaoyu Chen, Tao Guan, Paul Michael Brett, Nan Zhang, Jaliya N. Ekanayake, Eric Boutin, Anna Korsun, Jingren Zhou, Haibo Lin, Pavel N. Iakovenko
  • Publication number: 20170090958
    Abstract: Processing a job request for multiple versions of a distributed computing service. The service processing node does this by at least interleavingly (e.g., via time sharing with rapid context switching, or by actually concurrently) running a first runtime library associated with a first service version of the distributed computerized service and a second runtime library associated with a different service version of the distributed computerized service. While running the first runtime library, job requests of a first service version may be at least partially processed using a first set of one or more executables that interact with the first runtime library. While running the second runtime library, job requests of a second service version may be at least partially processed using a second set of one or more executables that interact with the second runtime library.
    Type: Application
    Filed: June 29, 2016
    Publication date: March 30, 2017
    Inventors: Zhicheng Yin, Xiaoyu Chen, Tao Guan, Paul Michael Brett, Nan Zhang, Jaliya N. Ekanayake, Eric Boutin, Anna Korsun, Jingren Zhou, Haibo Lin, Pavel N. Iakovenko
  • Patent number: 9442760
    Abstract: A job scheduler that schedules ready tasks amongst a cluster of servers. Each job might be managed by one scheduler. In that case, there are multiple job schedulers which conduct scheduling for different jobs concurrently. To identify a suitable server for a given task, the job scheduler uses expected server performance information received from multiple servers. For instance, the server performance information might include expected performance parameters for tasks of particular categories if assigned to the server. The job management component then identifies a particular task category for a given task, determines which of the servers can perform the task by a suitable estimated completion time, and then assigns based on the estimated completion time. The job management component also uses cluster-level information in order to determine which server to assign a task to.
    Type: Grant
    Filed: October 3, 2014
    Date of Patent: September 13, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Eric Boutin, Jaliya Ekanayake, Wei Lin, Bin Shi, Jingren Zhou
  • Publication number: 20160098292
    Abstract: A job scheduler that schedules ready tasks amongst a cluster of servers. Each job might be managed by one scheduler. In that case, there are multiple job schedulers which conduct scheduling for different jobs concurrently. To identify a suitable server for a given task, the job scheduler uses expected server performance information received from multiple servers. For instance, the server performance information might include expected performance parameters for tasks of particular categories if assigned to the server. The job management component then identifies a particular task category for a given task, determines which of the servers can perform the task by a suitable estimated completion time, and then assigns based on the estimated completion time. The job management component also uses cluster-level information in order to determine which server to assign a task to.
    Type: Application
    Filed: October 3, 2014
    Publication date: April 7, 2016
    Inventors: Eric Boutin, Jaliya Ekanayake, Wei Lin, Bin Shi, Jingren Zhou
  • Patent number: 9262216
    Abstract: A computing cluster operated according to a resource allocation policy based on a predictive model of completion time. The predictive model may be applied in a resource control loop that iteratively updates resources assigned to an executing job. At each iteration, the amount of resources allocated to the job may be updated based on of the predictive model so that the job will be scheduled to complete execution at a target completion time. The target completion time may be derived from a utility function determined for the job. The utility function, in turn, may be derived from a service level agreement with service guarantees and penalties for late completion of a job. Allocating resources in this way may maximize utility for an operator of the computing cluster while minimizing disruption to other jobs that may be concurrently executing.
    Type: Grant
    Filed: February 14, 2012
    Date of Patent: February 16, 2016
    Assignee: Microsoft Technologies Licensing, LLC
    Inventors: Peter Bodik, Andrew D. Ferguson, Srikanth Kandula, Eric Boutin