Patents by Inventor Mostafa Elhemali

Mostafa Elhemali 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: 12007977
    Abstract: Selective application of log records may be performed. A target storage node for a new replica being added to a replica group for a database may obtain a paginated result of a scan of ordered items of the database from a source. The paginated result may have a log sequence number that corresponds to a replica log consistent with the paginated result. The target storage node may obtain log records from the replication log after the log sequence number for the paginated result. The target storage node may selectively apply the log records from the replication log according to one or more application rules that determine whether to ignore a change described in a log record.
    Type: Grant
    Filed: September 30, 2022
    Date of Patent: June 11, 2024
    Assignee: Amazon Technologies, Inc.
    Inventors: Omendra Pratap Singh, Jiancheng Wang, Mostafa Elhemali, Sroaj Sosothikul, Jhansi Lakshmi Kolla, Wan Man Ryan Chan, Somasundaram Perianayagam
  • Patent number: 11625273
    Abstract: Throughput capacity may be changed to sustain throughput for accessing individual items in a database. A table hosted at storage nodes that provide access to the table in a database may be identified as allocated with a client-specified throughput capacity for accessing the table. Performance of access requests to the table at the storage nodes may be tracked. Based on the performance of the access requests, a change may be determined that modifies a throughput capacity for the table to sustain a guaranteed throughput for each access request independent of other access requests received for the table.
    Type: Grant
    Filed: November 23, 2018
    Date of Patent: April 11, 2023
    Assignee: Amazon Technologies, Inc.
    Inventors: Mostafa Elhemali, Dolev Ish-am, Jonathan L. Meed, Richard Krog, Adel Gawdat, Kai Zhao, Saumil Ramesh Hukerikar
  • Patent number: 9876878
    Abstract: Embodiments are directed to progressively migrating source computer nodes where the source computer nodes perform a computer-implemented service. In one embodiment, a computer system determines that execution of the performed service is to be migrated from the source computer nodes to target computer nodes. The computer system groups the source computer nodes into multiple source subgroups, where each source subgroup includes at least one source computer node. The computer system then schedules creation of target subgroups of target nodes. These target subgroups include at least one source computer node and, themselves, correspond to a source subgroup. The computer system activates a first target subgroup corresponding to a first source subgroup, and deactivates the first source subgroup. In this manner, the first target subgroup replaces the first source subgroup. Still further, the target subgroups are scheduled to be created only after the first source subgroup has been deactivated.
    Type: Grant
    Filed: January 20, 2017
    Date of Patent: January 23, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kishore Chaliparambil, Carlo Curino, Kannababu Karanam, Subramaniam Venkatraman Krishnan, Christopher William Douglas, Sriram Rao, Mostafa Elhemali, Chuan Liu
  • Publication number: 20170134526
    Abstract: Embodiments are directed to progressively migrating source computer nodes where the source computer nodes perform a computer-implemented service. In one embodiment, a computer system determines that execution of the performed service is to be migrated from the source computer nodes to target computer nodes. The computer system groups the source computer nodes into multiple source subgroups, where each source subgroup includes at least one source computer node. The computer system then schedules creation of target subgroups of target nodes. These target subgroups include at least one source computer node and, themselves, correspond to a source subgroup. The computer system activates a first target subgroup corresponding to a first source subgroup, and deactivates the first source subgroup. In this manner, the first target subgroup replaces the first source subgroup. Still further, the target subgroups are scheduled to be created only after the first source subgroup has been deactivated.
    Type: Application
    Filed: January 20, 2017
    Publication date: May 11, 2017
    Inventors: Kishore Chaliparambil, Carlo Curino, Kannababu Karanam, Subramaniam Venkatraman Krishnan, Christopher William Douglas, Sriram Rao, Mostafa Elhemali, Chuan Liu
  • Patent number: 9589017
    Abstract: A query is received. The query comprises a plural number of efficiency expressions. A key is generated for the query indicating a first selectivity region in multi-dimensional selectivity space comprising an array of selectivity regions arranged according to a grid with a number of dimensions equal to the plural number. The generated key is used to look up a stored query plan among a plurality of stored query plans. A stored query plan is executed for the query that is associated with a stored key determined to match the generated key.
    Type: Grant
    Filed: October 14, 2014
    Date of Patent: March 7, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nimish S. Khanolkar, Pawel Terlecki, Cesar A. Galindo-Legaria, Yavor V. Angelov, Mostafa Elhemali, Pooja N. Darera
  • Patent number: 9578091
    Abstract: Embodiments are directed to progressively migrating source computer nodes where the source computer nodes perform a computer-implemented service. In one embodiment, a computer system determines that execution of the performed service is to be migrated from the source computer nodes to target computer nodes. The computer system groups the source computer nodes into multiple source subgroups, where each source subgroup includes at least one source computer node. The computer system then schedules creation of target subgroups of target nodes. These target subgroups include at least one source computer node and, themselves, correspond to a source subgroup. The computer system activates a first target subgroup corresponding to a first source subgroup, and deactivates the first source subgroup. In this manner, the first target subgroup replaces the first source subgroup. Still further, the target subgroups are scheduled to be created only after the first source subgroup has been deactivated.
    Type: Grant
    Filed: December 30, 2013
    Date of Patent: February 21, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kishore Chaliparambil, Carlo Curino, Kannababu Karanam, Subramaniam Venkatraman Krishnan, Christopher William Douglas, Sriram Rao, Mostafa Elhemali, Chuan Liu
  • Publication number: 20150188989
    Abstract: Embodiments are directed to progressively migrating source computer nodes where the source computer nodes perform a computer-implemented service. In one embodiment, a computer system determines that execution of the performed service is to be migrated from the source computer nodes to target computer nodes. The computer system groups the source computer nodes into multiple source subgroups, where each source subgroup includes at least one source computer node. The computer system then schedules creation of target subgroups of target nodes. These target subgroups include at least one source computer node and, themselves, correspond to a source subgroup. The computer system activates a first target subgroup corresponding to a first source subgroup, and deactivates the first source subgroup. In this manner, the first target subgroup replaces the first source subgroup. Still further, the target subgroups are scheduled to be created only after the first source subgroup has been deactivated.
    Type: Application
    Filed: December 30, 2013
    Publication date: July 2, 2015
    Applicant: Microsoft Corporation
    Inventors: Kishore Chaliparambil, Carlo Curino, Kannababu Karanam, Subramaniam Venkatraman Krishnan, Christopher William Douglas, Sriram Rao, Mostafa Elhemali, Chuan Liu
  • Publication number: 20150032723
    Abstract: A query is received. The query comprises a plural number of efficiency expressions. A key is generated for the query indicating a first selectivity region in multi-dimensional selectivity space comprising an array of selectivity regions arranged according to a grid with a number of dimensions equal to the plural number. The generated key is used to look up a stored query plan among a plurality of stored query plans. A stored query plan is executed for the query that is associated with a stored key determined to match the generated key.
    Type: Application
    Filed: October 14, 2014
    Publication date: January 29, 2015
    Inventors: Nimish S. Khanolkar, Pawel Terlecki, Cesar A. Galindo-Legaria, Yavor V. Angelov, Mostafa Elhemali, Pooja N. Darera
  • Patent number: 8874547
    Abstract: A query configured according to a query template is received. The query includes values for a plurality of parameters. A key is generated for the query that indicates a selectivity region in a selectivity space determined for the included parameter values. Whether the generated key matches any key of a plurality of keys is determined. Each key of the plurality of keys is associated with a corresponding query plan. If the generated key is determined to not match any of the keys, the query is compiled to generate a new query plan, and the generated query plan is executed with respect to the query. If the key is determined to match any key of the plurality of keys, a query plan associated with the matched key is selected, and the query plan associated with the matched key is executed with respect to the query.
    Type: Grant
    Filed: January 4, 2010
    Date of Patent: October 28, 2014
    Assignee: Microsoft Corporation
    Inventors: Nimish S. Khanolkar, Pawel Terlecki, Cesar A. Galindo-Legaria, Yavor V. Angelov, Mostafa Elhemali, Pooja N. Darera
  • Publication number: 20110167056
    Abstract: A query configured according to a query template is received. The query includes values for a plurality of parameters. A key is generated for the query that indicates a selectivity region in a selectivity space determined for the included parameter values. Whether the generated key matches any key of a plurality of keys is determined. Each key of the plurality of keys is associated with a corresponding query plan. If the generated key is determined to not match any of the keys, the query is compiled to generate a new query plan, and the generated query plan is executed with respect to the query. If the key is determined to match any key of the plurality of keys, a query plan associated with the matched key is selected, and the query plan associated with the matched key is executed with respect to the query.
    Type: Application
    Filed: January 4, 2010
    Publication date: July 7, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Nimish S. Khanolkar, Pawel Terlecki, Cesar A. Galindo-Legaria, Yavor V. Angelov, Mostafa Elhemali, Pooja N. Darera