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: 10671671
    Abstract: 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: Grant
    Filed: June 9, 2017
    Date of Patent: June 2, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Scott M. Meyer, Andrew J. Carter, Andrew Rodriguez, Walaa Eldin M. Moustafa
  • Patent number: 10628492
    Abstract: 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: Grant
    Filed: July 20, 2017
    Date of Patent: April 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Xiaobin Ma, Scott M. Meyer, Andrew Rodriguez, Walaa Eldin M. Moustafa
  • Patent number: 10613855
    Abstract: 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: Grant
    Filed: May 7, 2018
    Date of Patent: April 7, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20190339969
    Abstract: 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: Application
    Filed: May 7, 2018
    Publication date: November 7, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: 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: 10445370
    Abstract: 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: Grant
    Filed: June 9, 2017
    Date of Patent: October 15, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew Rodriguez, Scott M. Meyer, Andrew J. Carter, Walaa Eldin M. Moustafa
  • Patent number: 10417230
    Abstract: 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: Grant
    Filed: October 26, 2016
    Date of Patent: September 17, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Walaa Eldin M. Moustafa, Srinath Shankar, Scott M. Meyer
  • Publication number: 20190026334
    Abstract: 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: Application
    Filed: July 20, 2017
    Publication date: January 24, 2019
    Applicant: LinkedIn Corporation
    Inventors: Xiaobin Ma, Scott M. Meyer, Andrew Rodriguez, Walaa Eldin M. Moustafa
  • Publication number: 20180357329
    Abstract: 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: Application
    Filed: June 9, 2017
    Publication date: December 13, 2018
    Applicant: LinkedIn Corporation
    Inventors: Scott M. Meyer, Andrew J. Carter, Andrew Rodriguez, Walaa Eldin M. Moustafa
  • Publication number: 20180357330
    Abstract: 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: Application
    Filed: June 9, 2017
    Publication date: December 13, 2018
    Applicant: LinkedIn Corporation
    Inventors: Andrew Rodriguez, Scott M. Meyer, Andrew J. Carter, Walaa Eldin M. Moustafa
  • Publication number: 20180357328
    Abstract: 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: Application
    Filed: June 9, 2017
    Publication date: December 13, 2018
    Applicant: LinkedIn Corporation
    Inventors: Scott M. Meyer, Andrew J. Carter, Andrew Rodriguez, Walaa Eldin M. Moustafa
  • Publication number: 20180357278
    Abstract: 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: Application
    Filed: June 9, 2017
    Publication date: December 13, 2018
    Applicant: LinkedIn Corporation
    Inventors: Walaa Eldin M. Moustafa, Andrew J. Carter, Andrew Rodriguez, Scott M. Meyer
  • Publication number: 20180113908
    Abstract: 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: Application
    Filed: October 26, 2016
    Publication date: April 26, 2018
    Applicant: LinkedIn Corporation
    Inventors: Walaa Eldin M. Moustafa, Srinath Shankar, Scott M. Meyer