Patents by Inventor Craig S. Freedman
Craig S. Freedman 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: 11860829Abstract: Methods for page split detection and affinity in query processing pushdowns are performed by systems and devices. Page servers perform pushdown operations based on specific, and specifically formatted or generated, information, instructions, and data provided thereto from a compute node. Page servers also determine that page splits have occurred during reading of data pages maintained by page servers during pushdown operations, and also during fulfillment of compute node data requests. To detect a data page has split, page servers utilize information from a compute node of an expected next data page which is compared to a next data page in the page server page index. A mismatch in the comparison by page servers indicates data page was split. Compute nodes and page servers store and maintain off-row data generated during data operations via page affinity considerations where the off-row data is stored at the same page server as the data.Type: GrantFiled: February 19, 2021Date of Patent: January 2, 2024Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Craig S. Freedman, Adrian-Leonard Radu, Daniel G. Schall, Hanumantha R. Kodavalla, Panagiotis Antonopoulos, Raghavendra Thallam Kodandaramaih, Alejandro Hernandez Saenz, Naveen Prakash
-
Publication number: 20230376479Abstract: Distributed database systems including compute nodes and page servers are described herein that enable compute nodes to pushdown certain query processing compute tasks to the page servers to take advantage of otherwise idle compute resources at the page servers, and to reduce the quantity of data that moves between compute nodes and page servers. A distributed database system includes a page server and a compute node, wherein the page server is configured to maintain multiple versions of stored data objects. The compute node is configured to receive a query and generate a transaction context (TC) and modified table schemas (MTS) scoped to the query, and pushdown the query, TC and MTS to the page server that is configured to determine which data objects at the page server satisfy the query, and for each such object, which version of the object should be returned based on the TC.Type: ApplicationFiled: July 31, 2023Publication date: November 23, 2023Inventors: Craig S. FREEDMAN, Adrian-Leonard G. Radu, Daniel G. SCHALL, Hanumantha R. KODAVALLA, Panagiotis ANTONOPOULOS, Raghavendra Thallam KODANDARAMAIH, Alejandro Hernandez SAENZ, Naveen PRAKASH
-
Patent number: 11797523Abstract: Distributed database systems including compute nodes and page servers are described herein that enable compute nodes to pushdown certain query processing compute tasks to the page servers to take advantage of otherwise idle compute resources at the page servers, and to reduce the quantity of data that moves between compute nodes and page servers. A distributed database system includes a page server and a compute node, wherein the page server is configured to maintain multiple versions of stored data objects. The compute node is configured to receive a query and generate a transaction context (TC) and modified table schemas (MTS) scoped to the query, and pushdown the query, TC and MTS to the page server that is configured to determine which data objects at the page server satisfy the query, and for each such object, which version of the object should be returned based on the TC.Type: GrantFiled: February 19, 2021Date of Patent: October 24, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Craig S. Freedman, Adrian-Leonard Radu, Daniel G. Schall, Hanumantha R. Kodavalla, Panagiotis Antonopoulos, Raghavendra Thallam Kodandaramaih, Alejandro Hernandez Saenz, Naveen Prakash
-
Publication number: 20230014697Abstract: Methods for operation fragmentation with metadata serialization in query processing pushdowns are performed by systems and devices. A compute node receives a query directed to database data, and generates query text fragments. Portions of metadata of the database are read from different page servers, and are serialized by the compute node. Page identities of data pages in a page server that stores the data are determined from a page index at the compute node, and the compute node provides the text fragments, the serialized metadata, and the page identities to the page server storing the data. The page server compiles the text fragments based on the serialized metadata to generate an executable query plan for the query. The page server initializes and performs execution of the executable query plan against the data as a pushdown query operation, and a result of pushdown query operation is provided to the compute node.Type: ApplicationFiled: September 26, 2022Publication date: January 19, 2023Inventors: Craig S. FREEDMAN, Adrian-Leonard RADU, Daniel G. SCHALL, Hanumantha R. KODAVALLA, Panagiotis ANTONOPOULOS, Raghavendra Thallam KODANDARAMAIH, Alejandro Hernandez SAENZ, Naveen PRAKASH
-
Patent number: 11487766Abstract: Methods for operation fragmentation with metadata serialization in query processing pushdowns are performed by systems and devices. A compute node receives a query directed to database data, and generates query text fragments. Portions of metadata of the database are read from different page servers, and are serialized by the compute node. Page identities of data pages in a page server that stores the data are determined from a page index at the compute node, and the compute node provides the text fragments, the serialized metadata, and the page identities to the page server storing the data. The page server compiles the text fragments based on the serialized metadata to generate an executable query plan for the query. The page server initializes and performs execution of the executable query plan against the data as a pushdown query operation, and a result of pushdown query operation is provided to the compute node.Type: GrantFiled: February 19, 2021Date of Patent: November 1, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Craig S. Freedman, Adrian-Leonard Radu, Daniel G. Schall, Hanumantha R. Kodavalla, Panagiotis Antonopoulos, Raghavendra Thallam Kodandaramaih, Alejandro Hernandez Saenz, Naveen Prakash
-
Publication number: 20220197873Abstract: Methods for page split detection and affinity in query processing pushdowns are performed by systems and devices. Page servers perform pushdown operations based on specific, and specifically formatted or generated, information, instructions, and data provided thereto from a compute node. Page servers also determine that page splits have occurred during reading of data pages maintained by page servers during pushdown operations, and also during fulfillment of compute node data requests. To detect a data page has split, page servers utilize information from a compute node of an expected next data page which is compared to a next data page in the page server page index. A mismatch in the comparison by page servers indicates data page was split. Compute nodes and page servers store and maintain off-row data generated during data operations via page affinity considerations where the off-row data is stored at the same page server as the data.Type: ApplicationFiled: February 19, 2021Publication date: June 23, 2022Inventors: Craig S. FREEDMAN, Adrian-Leonard RADU, Daniel G. SCHALL, Hanumantha R. KODAVALLA, Panagiotis ANTONOPOULOS, Raghavendra Thallam KODANDARAMAIH, Alejandro Hernandez SAENZ, Naveen PRAKASH
-
Publication number: 20220197911Abstract: Methods for operation fragmentation with metadata serialization in query processing pushdowns are performed by systems and devices. A compute node receives a query directed to database data, and generates query text fragments. Portions of metadata of the database are read from different page servers, and are serialized by the compute node. Page identities of data pages in a page server that stores the data are determined from a page index at the compute node, and the compute node provides the text fragments, the serialized metadata, and the page identities to the page server storing the data. The page server compiles the text fragments based on the serialized metadata to generate an executable query plan for the query. The page server initializes and performs execution of the executable query plan against the data as a pushdown query operation, and a result of pushdown query operation is provided to the compute node.Type: ApplicationFiled: February 19, 2021Publication date: June 23, 2022Inventors: Craig S. FREEDMAN, Adrian-Leonard RADU, Daniel G. SCHALL, Hanumantha R. KODAVALLA, Panagiotis ANTONOPOULOS, Raghavendra Thallam KODANDARAMAIH, Alejandro Hernandez SAENZ, Naveen PRAKASH
-
Publication number: 20220197892Abstract: Distributed database systems including compute nodes and page servers are described herein that enable compute nodes to pushdown certain query processing compute tasks to the page servers to take advantage of otherwise idle compute resources at the page servers, and to reduce the quantity of data that moves between compute nodes and page servers. A distributed database system includes a page server and a compute node, wherein the page server is configured to maintain multiple versions of stored data objects. The compute node is configured to receive a query and generate a transaction context (TC) and modified table schemas (MTS) scoped to the query, and pushdown the query, TC and MTS to the page server that is configured to determine which data objects at the page server satisfy the query, and for each such object, which version of the object should be returned based on the TC.Type: ApplicationFiled: February 19, 2021Publication date: June 23, 2022Inventors: Craig S. FREEDMAN, Adrian-Leonard RADU, Daniel G. SCHALL, Hanumantha R. KODAVALLA, Panagiotis ANTONOPOULOS, Raghavendra Thallam KODANDARAMAIH, Alejandro Hernandez SAENZ, Naveen PRAKASH
-
Patent number: 8255387Abstract: Technologies for forming logical indexes and utilizing such indexes so as to abstract many of the complexities resulting from referencing partitioned database tables. Included are technologies for making use of order-preserving properties of table metadata, for adding a partition equality predicate to an explicit predicate in merge-join processing on partitioned tables, and for selecting execution of a logical skip scan on a partitioned table when a query predicate does not reference a specific partition. Such technologies generally abstract from the query writer and processing systems explicit referencing of table partitions.Type: GrantFiled: July 9, 2010Date of Patent: August 28, 2012Assignee: Microsoft CorporationInventors: Cesar A. Galindo-Legaria, Craig S. Freedman, Milind M. Joshi
-
Publication number: 20100274780Abstract: Technologies for forming logical indexes and utilizing such indexes so as to abstract many of the complexities resulting from referencing partitioned database tables. Included are technologies for making use of order-preserving properties of table metadata, for adding a partition equality predicate to an explicit predicate in merge-join processing on partitioned tables, and for selecting execution of a logical skip scan on a partitioned table when a query predicate does not reference a specific partition. Such technologies generally abstract from the query writer and processing systems explicit referencing of table partitions.Type: ApplicationFiled: July 9, 2010Publication date: October 28, 2010Applicant: Microsoft CorporationInventors: César Alejandro Galindo-Legaria, Craig S. Freedman, Milind M. Joshi
-
Patent number: 7792822Abstract: Technologies for forming logical indexes and utilizing such indexes so as to abstract many of the complexities resulting from referencing partitioned database tables. Included are technologies for making use of order-preserving properties of table metadata, for adding a partition equality predicate to an explicit predicate in merge-join processing on partitioned tables, and for selecting execution of a logical skip scan on a partitioned table when a query predicate does not reference a specific partition. Such technologies generally abstract from the query writer and processing systems explicit referencing of table partitions.Type: GrantFiled: April 16, 2007Date of Patent: September 7, 2010Assignee: Microsoft CorporationInventors: Cesar A. Galindo-Legaria, Craig S. Freedman, Milind M. Joshi
-
Patent number: 7676525Abstract: Disclosed are systems and methods for optimization and efficient processing of MERGE statements. MERGE allows performing a mix of inserts, updates, and deletes in a single statement, and introduces new challenges compared to legacy DML statements, where the kind of action to be performed is hard-coded and known at compile time. Such optimizations may include Halloween Protection detection for MERGE statements, optimized prevention of non-deterministic MERGE statements, in-place inserts for MERGE statements scanning the “Read Instance” of the target table, and optimized execution of MERGE statements seeking the “Read Instance” of the target table. Such optimizations may be fundamental in order to ensure proper performance and reliable processing times.Type: GrantFiled: July 2, 2007Date of Patent: March 9, 2010Assignee: Microsoft CorporationInventors: Stefano Stefani, Naveen Prakash, Craig S. Freedman, Marcel van der Holst
-
Patent number: 7580920Abstract: A method to achieve acceptable query performance even when a database query optimizer chooses an inefficient query plan due to poor cardinality (row count) estimation includes generating a batch sort query plan which includes a row count operation and a reorder operation. The batch sort, and in particular the reorder operation, is not required to satisfy the query but without these operations the query plan may prove to be inefficient. When the row count operation determines that the query plan is inefficient, the row reordering operation reorders rows for more I/O efficient processing. The results of both the row count operation and the reorder operation are used to produce the desired rowset to satisfy the input query without discarding any retrieved rows.Type: GrantFiled: July 22, 2004Date of Patent: August 25, 2009Assignee: Microsoft CorporationInventors: Craig S. Freedman, Goetz Graefe
-
Publication number: 20090012980Abstract: Disclosed are systems and methods for optimization and efficient processing of MERGE statements. MERGE allows performing a mix of inserts, updates, and deletes in a single statement, and introduces new challenges compared to legacy DML statements, where the kind of action to be performed is hard-coded and known at compile time. Such optimizations may include Halloween Protection detection for MERGE statements, optimized prevention of non-deterministic MERGE statements, in-place inserts for MERGE statements scanning the “Read Instance” of the target table, and optimized execution of MERGE statements seeking the “Read Instance” of the target table. Such optimizations may be fundamental in order to ensure proper performance and reliable processing times.Type: ApplicationFiled: July 2, 2007Publication date: January 8, 2009Applicant: Microsoft CorporationInventors: Stefano Stefani, Naveen Prakash, Craig S. Freedman, Marcel van der Holst
-
Patent number: 7472133Abstract: The present invention is directed to systems and methods for improved prefetching. The present invention reduces the processing time and associated costs of prefetching by incorporating a number of techniques for efficiently searching a node structure. Such techniques eliminate redundant traversal of nodes. Additionally, such techniques do not require locking the node structure to prevent concurrent updates. Furthermore, such techniques may exploit known key ordering information to optimize a search.Type: GrantFiled: July 30, 2004Date of Patent: December 30, 2008Assignee: Microsoft CorporationInventors: Craig S. Freedman, Gang He, Goetz Graefe
-
Publication number: 20080215544Abstract: Technologies for forming logical indexes and utilizing such indexes so as to abstract many of the complexities resulting from referencing partitioned database tables. Included are technologies for making use of order-preserving properties of table metadata, for adding a partition equality predicate to an explicit predicate in merge-join processing on partitioned tables, and for selecting execution of a logical skip scan on a partitioned table when a query predicate does not reference a specific partition. Such technologies generally abstract from the query writer and processing systems explicit referencing of table partitions.Type: ApplicationFiled: April 16, 2007Publication date: September 4, 2008Applicant: Microsoft CorporationInventors: Cesar Alejandro Galindo-Legaria, Craig S. Freedman, Milind M. Joshi