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: 12007977Abstract: 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: GrantFiled: September 30, 2022Date of Patent: June 11, 2024Assignee: Amazon Technologies, Inc.Inventors: Omendra Pratap Singh, Jiancheng Wang, Mostafa Elhemali, Sroaj Sosothikul, Jhansi Lakshmi Kolla, Wan Man Ryan Chan, Somasundaram Perianayagam
-
Patent number: 11625273Abstract: 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: GrantFiled: November 23, 2018Date of Patent: April 11, 2023Assignee: Amazon Technologies, Inc.Inventors: Mostafa Elhemali, Dolev Ish-am, Jonathan L. Meed, Richard Krog, Adel Gawdat, Kai Zhao, Saumil Ramesh Hukerikar
-
Patent number: 9876878Abstract: 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: GrantFiled: January 20, 2017Date of Patent: January 23, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Kishore Chaliparambil, Carlo Curino, Kannababu Karanam, Subramaniam Venkatraman Krishnan, Christopher William Douglas, Sriram Rao, Mostafa Elhemali, Chuan Liu
-
Publication number: 20170134526Abstract: 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: ApplicationFiled: January 20, 2017Publication date: May 11, 2017Inventors: Kishore Chaliparambil, Carlo Curino, Kannababu Karanam, Subramaniam Venkatraman Krishnan, Christopher William Douglas, Sriram Rao, Mostafa Elhemali, Chuan Liu
-
Patent number: 9589017Abstract: 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: GrantFiled: October 14, 2014Date of Patent: March 7, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Nimish S. Khanolkar, Pawel Terlecki, Cesar A. Galindo-Legaria, Yavor V. Angelov, Mostafa Elhemali, Pooja N. Darera
-
Patent number: 9578091Abstract: 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: GrantFiled: December 30, 2013Date of Patent: February 21, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Kishore Chaliparambil, Carlo Curino, Kannababu Karanam, Subramaniam Venkatraman Krishnan, Christopher William Douglas, Sriram Rao, Mostafa Elhemali, Chuan Liu
-
Publication number: 20150188989Abstract: 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: ApplicationFiled: December 30, 2013Publication date: July 2, 2015Applicant: Microsoft CorporationInventors: Kishore Chaliparambil, Carlo Curino, Kannababu Karanam, Subramaniam Venkatraman Krishnan, Christopher William Douglas, Sriram Rao, Mostafa Elhemali, Chuan Liu
-
Publication number: 20150032723Abstract: 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: ApplicationFiled: October 14, 2014Publication date: January 29, 2015Inventors: Nimish S. Khanolkar, Pawel Terlecki, Cesar A. Galindo-Legaria, Yavor V. Angelov, Mostafa Elhemali, Pooja N. Darera
-
Patent number: 8874547Abstract: 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: GrantFiled: January 4, 2010Date of Patent: October 28, 2014Assignee: Microsoft CorporationInventors: Nimish S. Khanolkar, Pawel Terlecki, Cesar A. Galindo-Legaria, Yavor V. Angelov, Mostafa Elhemali, Pooja N. Darera
-
Publication number: 20110167056Abstract: 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: ApplicationFiled: January 4, 2010Publication date: July 7, 2011Applicant: MICROSOFT CORPORATIONInventors: Nimish S. Khanolkar, Pawel Terlecki, Cesar A. Galindo-Legaria, Yavor V. Angelov, Mostafa Elhemali, Pooja N. Darera