Patents by Inventor Walaa Eldin M. Moustafa
Walaa Eldin M. Moustafa 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: 10671671Abstract: During operation, a system for processing queries of a graph database executes a set of processes for processing queries of a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. When a query of the graph database is received, the system obtains, from the query, a compound comprising a compound type and a set of identity-giving nodes. Next, the system uses the compound to access a tuple for storage in a log-based representation of the graph database, wherein the tuple includes the compound type and the identity-giving nodes. The system then uses the tuple to generate a result of the query and provides the result in a response to the query.Type: GrantFiled: June 9, 2017Date of Patent: June 2, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Scott M. Meyer, Andrew J. Carter, Andrew Rodriguez, Walaa Eldin M. Moustafa
-
Patent number: 10628492Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes a set of processes for maintaining the graph database storing a graph, wherein the graph includes a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. When a write query of the graph database is received, the system uses one or more of the processes to process the write query by using a schema of the graph database to validate the write query. Next, the system transmits the validated write query to a set of shards containing the graph database. Finally, the system processes the write query at each shard when a shard identifier representing the shard is matched to one or more attributes in the write query.Type: GrantFiled: July 20, 2017Date of Patent: April 21, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Xiaobin Ma, Scott M. Meyer, Andrew Rodriguez, Walaa Eldin M. Moustafa
-
Patent number: 10613855Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains a user-defined function (UDF) that is defined using a standard UDF interface for accessing multiple platforms. Next, the system converts data in a platform into a standard form that is supported by the standard UDF interface using a platform-specific wrapper for the UDF and a platform-specific implementation of the standard UDF interface. The system then generates output data in the standard form by applying one or more operations to the data in the standard form. Finally, the system converts the output data into a platform-specific form that is supported by the platform and returns the output data in the platform-specific form.Type: GrantFiled: May 7, 2018Date of Patent: April 7, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Walaa Eldin M. Moustafa, Ratandeep S. Ratti, Maneesh Varshney, Carl W. Steinbach, Adwait N. Tumbde, Khai Quang Tran, Vasanth Rajamani, Suja Viswesan, Shrikanth Shankar
-
Publication number: 20190339969Abstract: The disclosed embodiments provide a system for processing data. During operation, the system obtains a user-defined function (UDF) that is defined using a standard UDF interface for accessing multiple platforms. Next, the system converts data in a platform into a standard form that is supported by the standard UDF interface using a platform-specific wrapper for the UDF and a platform-specific implementation of the standard UDF interface. The system then generates output data in the standard form by applying one or more operations to the data in the standard form. Finally, the system converts the output data into a platform-specific form that is supported by the platform and returns the output data in the platform-specific form.Type: ApplicationFiled: May 7, 2018Publication date: November 7, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Walaa Eldin M. Moustafa, Ratandeep S. Ratti, Maneesh Varshney, Carl W. Steinbach, Adwait N. Tumbde, Khai Quang Tran, Vasanth Rajamani, Suja Viswesan, Shrikanth Shankar
-
Patent number: 10445370Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes a set of processes for processing queries of a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. When a query of the graph database is received, the system performs a lookup of a hash map to obtain one or more offsets into a compound store for the graph database, which includes identity-giving nodes for a set of tuples in the graph database. Next, the system accesses the offset(s) in the compound store to obtain a subset of tuples matching the query. The system then uses the subset of tuples to generate a result of the query and provides the result in a response to the query.Type: GrantFiled: June 9, 2017Date of Patent: October 15, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Andrew Rodriguez, Scott M. Meyer, Andrew J. Carter, Walaa Eldin M. Moustafa
-
Patent number: 10417230Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes one or more processes for providing the graph database storing a graph, wherein the graph includes a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. Next, the system receives a query containing a missing value parameter, wherein the missing value parameter designates an attribute in the graph database with a nonexistent value. The system then produces, from the query, a transformed query comprising one or more parameters that do not include the missing value parameter. Finally, the system uses the transformed query and the graph database to generate a result of the query and provides the result in a response to the query.Type: GrantFiled: October 26, 2016Date of Patent: September 17, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Walaa Eldin M. Moustafa, Srinath Shankar, Scott M. Meyer
-
Publication number: 20190026334Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes a set of processes for maintaining the graph database storing a graph, wherein the graph includes a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. When a write query of the graph database is received, the system uses one or more of the processes to process the write query by using a schema of the graph database to validate the write query. Next, the system transmits the validated write query to a set of shards containing the graph database. Finally, the system processes the write query at each shard when a shard identifier representing the shard is matched to one or more attributes in the write query.Type: ApplicationFiled: July 20, 2017Publication date: January 24, 2019Applicant: LinkedIn CorporationInventors: Xiaobin Ma, Scott M. Meyer, Andrew Rodriguez, Walaa Eldin M. Moustafa
-
Publication number: 20180357329Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes a set of processes for processing queries of a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. When a query of the graph database is received, the system obtains, from the query, a compound comprising a compound type and a set of identity-giving nodes. Next, the system uses the compound to access a tuple for storage in a log-based representation of the graph database, wherein the tuple includes the compound type and the identity-giving nodes. The system then uses the tuple to generate a result of the query and provides the result in a response to the query.Type: ApplicationFiled: June 9, 2017Publication date: December 13, 2018Applicant: LinkedIn CorporationInventors: Scott M. Meyer, Andrew J. Carter, Andrew Rodriguez, Walaa Eldin M. Moustafa
-
Publication number: 20180357330Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes a set of processes for processing queries of a graph database storing a graph, wherein the graph comprises a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. When a query of the graph database is received, the system performs a lookup of a hash map to obtain one or more offsets into a compound store for the graph database, which includes identity-giving nodes for a set of tuples in the graph database. Next, the system accesses the offset(s) in the compound store to obtain a subset of tuples matching the query. The system then uses the subset of tuples to generate a result of the query and provides the result in a response to the query.Type: ApplicationFiled: June 9, 2017Publication date: December 13, 2018Applicant: LinkedIn CorporationInventors: Andrew Rodriguez, Scott M. Meyer, Andrew J. Carter, Walaa Eldin M. Moustafa
-
Publication number: 20180357328Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes a set of processes for processing queries of a graph database storing a graph, wherein the graph comprises a set of nodes, edges between pairs of nodes, and a set of predicates. Next, the system obtains a first query containing a first tuple and a second query containing a first subset of edges. The system transforms the first tuple into a second subset of edges and the first subset of edges into a second tuple. Finally, the system uses the second subset of edges to generate a first result of the first query and the second tuple to generate a second result of the second query, and provides the first result in a first response to the first query and the second result in a second response to the second query.Type: ApplicationFiled: June 9, 2017Publication date: December 13, 2018Applicant: LinkedIn CorporationInventors: Scott M. Meyer, Andrew J. Carter, Andrew Rodriguez, Walaa Eldin M. Moustafa
-
Publication number: 20180357278Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes one or more processes for providing the graph database storing a graph, wherein the graph includes a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. Next, the system obtains, from the query, an aggregation by a first attribute and a grouping by a second attribute. The system then uses the second attribute to generate a set of groupings of records in the graph database. For each grouping in the set of groupings, the system applies the aggregation to the first attribute in a subset of the records in the grouping to generate an aggregation result. Finally, the system uses the aggregation result to provide a response to the query.Type: ApplicationFiled: June 9, 2017Publication date: December 13, 2018Applicant: LinkedIn CorporationInventors: Walaa Eldin M. Moustafa, Andrew J. Carter, Andrew Rodriguez, Scott M. Meyer
-
Publication number: 20180113908Abstract: The disclosed embodiments provide a system for processing queries of a graph database. During operation, the system executes one or more processes for providing the graph database storing a graph, wherein the graph includes a set of nodes, a set of edges between pairs of nodes in the set of nodes, and a set of predicates. Next, the system receives a query containing a missing value parameter, wherein the missing value parameter designates an attribute in the graph database with a nonexistent value. The system then produces, from the query, a transformed query comprising one or more parameters that do not include the missing value parameter. Finally, the system uses the transformed query and the graph database to generate a result of the query and provides the result in a response to the query.Type: ApplicationFiled: October 26, 2016Publication date: April 26, 2018Applicant: LinkedIn CorporationInventors: Walaa Eldin M. Moustafa, Srinath Shankar, Scott M. Meyer