Patents by Inventor Alejandro Hernandez SAENZ
Alejandro Hernandez SAENZ 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).
-
Publication number: 20240126706Abstract: Methods for local page writes via pre-staging buffers for resilient buffer pool extensions are performed by computing systems. Compute nodes in database systems insert, update, and query data pages maintained in storage nodes. Data pages cached locally by compute node buffer pools are provided to buffer pool extensions on local disks as pre-copies via staging buffers that store data pages prior to local disk storage. Encryption of data pages occurs at the staging buffers, which allows a less restrictive update latching during the copy process, with page metadata being updated in buffer pool extensions page tables with in-progress states indicating it is not yet written to local disk. When stage buffers are filled, data pages are written to buffer pool extensions and metadata is updated in page tables to indicate available/valid states. Data pages in staging buffers can be read and updated prior to writing to the local disk.Type: ApplicationFiled: December 8, 2023Publication date: April 18, 2024Inventors: Rogério RAMOS, Kareem Aladdin GOLAUB, Chaitanya GOTTIPATI, Alejandro Hernandez SAENZ, Raj Kripal DANDAY
-
Patent number: 11880318Abstract: Methods for local page writes via pre-staging buffers for resilient buffer pool extensions are performed by computing systems. Compute nodes in database systems insert, update, and query data pages maintained in storage nodes. Data pages cached locally by compute node buffer pools are provided to buffer pool extensions on local disks as pre-copies via staging buffers that store data pages prior to local disk storage. Encryption of data pages occurs at the staging buffers, which allows a less restrictive update latching during the copy process, with page metadata being updated in buffer pool extensions page tables with in-progress states indicating it is not yet written to local disk. When stage buffers are filled, data pages are written to buffer pool extensions and metadata is updated in page tables to indicate available/valid states. Data pages in staging buffers can be read and updated prior to writing to the local disk.Type: GrantFiled: March 28, 2022Date of Patent: January 23, 2024Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Rogério Ramos, Kareem Aladdin Golaub, Chaitanya Gottipati, Alejandro Hernandez Saenz, Raj Kripal Danday
-
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
-
Publication number: 20230350912Abstract: Distributed database systems including compute nodes and page servers are described herein that enable separating logical and physical storage of database files in a distributed database system. A distributed database system includes a page server and a compute node, and is configured to store a logical database file that includes data and is associated with a file identifier. Each page server is configurable to store slices (i.e., subportions) of the logical database file. The compute node is coupled to the plurality of page servers and configured to store the logical database file responsive to a received command. In an aspect, such storage may comprise slicing the data comprising the logical database file into a set of slices with each being associated with a respective page server, maintaining an endpoint mapping for each slice of the first set of slices, and transmitting each slice to the associated for storage thereby.Type: ApplicationFiled: July 12, 2023Publication date: November 2, 2023Inventors: Alejandro Hernandez SAENZ, Cristian DIACONU, Krystyna Ewa REISTETER, Naveen PRAKASH, Sheetal SHROTRI, Rogério RAMOS, Alexander BUDOVSKI, Hanumantha Rao KODAVALLA
-
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
-
Patent number: 11748369Abstract: Distributed database systems including compute nodes and page servers are described herein that enable separating logical and physical storage of database files in a distributed database system. A distributed database system includes a page server and a compute node and is configured to store a logical database file that includes data and is associated with a file identifier. Each page server is configurable to store slices (i.e., subportions) of the logical database file. The compute node is coupled to the plurality of page servers and configured to store the logical database file responsive to a received command. In an aspect, such storage may comprise slicing the data comprising the logical database file into a set of slices with each being associated with a respective page server, maintaining an endpoint mapping for each slice of the first set of slices, and transmitting each slice to the associated for storage thereby.Type: GrantFiled: September 2, 2021Date of Patent: September 5, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Alejandro Hernandez Saenz, Cristian Diaconu, Krystyna Ewa Reisteter, Naveen Prakash, Sheetal Shrotri, Rogério Ramos, Alexander Budovski, Hanumantha Rao Kodavalla
-
Publication number: 20230140121Abstract: Methods for local page writes via pre-staging buffers for resilient buffer pool extensions are performed by computing systems. Compute nodes in database systems insert, update, and query data pages maintained in storage nodes. Data pages cached locally by compute node buffer pools are provided to buffer pool extensions on local disks as pre-copies via staging buffers that store data pages prior to local disk storage. Encryption of data pages occurs at the staging buffers, which allows a less restrictive update latching during the copy process, with page metadata being updated in buffer pool extensions page tables with in-progress states indicating it is not yet written to local disk. When stage buffers are filled, data pages are written to buffer pool extensions and metadata is updated in page tables to indicate available/valid states. Data pages in staging buffers can be read and updated prior to writing to the local disk.Type: ApplicationFiled: March 28, 2022Publication date: May 4, 2023Inventors: Rogério RAMOS, Kareem Aladdin GOLAUB, Chaitanya GOTTIPATI, Alejandro Hernandez SAENZ, Raj Kripal DANDAY
-
Publication number: 20230046342Abstract: Distributed database systems including compute nodes and page servers are described herein that enable separating logical and physical storage of database files in a distributed database system. A distributed database system includes a page server and a compute node and is configured to store a logical database file that includes data and is associated with a file identifier. Each page server is configurable to store slices (i.e., subportions) of the logical database file. The compute node is coupled to the plurality of page servers and configured to store the logical database file responsive to a received command. In an aspect, such storage may comprise slicing the data comprising the logical database file into a set of slices with each being associated with a respective page server, maintaining an endpoint mapping for each slice of the first set of slices, and transmitting each slice to the associated for storage thereby.Type: ApplicationFiled: September 2, 2021Publication date: February 16, 2023Inventors: Alejandro Hernandez SAENZ, Cristian DIACONU, Krystyna Ewa REISTETER, Naveen PRAKASH, Sheetal SHROTRI, Rogério RAMOS, Alexander BUDOVSKI, Hanumantha Rao KODAVALLA
-
Patent number: 11567839Abstract: Embodiments described herein detect data corruption in a distributed data set system. For example, a system comprises node(s) for processing queries with respect to a distributed data set comprising a plurality of storage segments. A write transaction resulting from a query with respect to a particular storage segment is logged in a log record that describes a modification to the storage segment. A log service provides the log record to a data server managing a portion of the distributed data set in which the storage segment is included, which performs the write transaction with respect to the storage segment. For redundancy purposes, the data server has replica(s) that manage respective replicas of the portion of the distributed data set managed thereby. For backup purposes, snapshots of the replica(s) are periodically generated. To determine a data corruption, a snapshot of one replica is cross-validated with a snapshot of another replica.Type: GrantFiled: October 27, 2021Date of Patent: January 31, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Alexander Budovski, Cristian Diaconu, Sandeep Lingam, Alejandro Hernandez Saenz, Naveen Prakash, Krystyna Ewa Reisteter, Rogerio Ramos, Huanhui Hu, Peter Byrne
-
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: 20220342778Abstract: Embodiments described herein detect data corruption in a distributed data set system. For example, a system comprises node(s) for processing queries with respect to a distributed data set comprising a plurality of storage segments. A write transaction resulting from a query with respect to a particular storage segment is logged in a log record that describes a modification to the storage segment. A log service provides the log record to a data server managing a portion of the distributed data set in which the storage segment is included, which performs the write transaction with respect to the storage segment. For redundancy purposes, the data server has replica(s) that manage respective replicas of the portion of the distributed data set managed thereby. For backup purposes, snapshots of the replica(s) are periodically generated. To determine a data corruption, a snapshot of one replica is cross-validated with a snapshot of another replica.Type: ApplicationFiled: October 27, 2021Publication date: October 27, 2022Inventors: Alexander BUDOVSKI, Cristian DIACONU, Sandeep LINGAM, Alejandro Hernandez SAENZ, Naveen PRAKASH, Krystyna Ewa REISTETER, Rogerio RAMOS, Huanhui HU, Peter BYRNE
-
Patent number: 11455292Abstract: Brokering log records so as to prevent log records that are not yet persisted in a persistent log from being disseminated. The log records may be generated as a primary compute system performs operations. Upon receiving a request for a log record, the broker component determines whether the requested log record has been persisted in a persistent log. If the broker component determines that the log record has been persisted in the persistent log, the broker component responds to the request by causing the requested log record to be provided to the requesting entity (e.g., a secondary compute system). On the other hand, if the log record cannot yet determine that the log record has been persisted in the persistent log, the broker component prevents the log record from being provided to the requesting entity. This prevents data from being inconsistent during recovery.Type: GrantFiled: September 21, 2018Date of Patent: September 27, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Diaconu, Naveen Prakash, Alexander Budovski, Huanhui Hu, Alejandro Hernandez Saenz
-
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: 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: 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: 11249866Abstract: Embodiments described herein detect data corruption in a distributed data set system. For example, a system comprises node(s) for processing queries with respect to a distributed data set comprising a plurality of storage segments. A write transaction resulting from a query with respect to a particular storage segment is logged in a log record that describes a modification to the storage segment. A log service provides the log record to a data server managing a portion of the distributed data set in which the storage segment is included, which performs the write transaction with respect to the storage segment. For redundancy purposes, the data server has replica(s) that manage respective replicas of the portion of the distributed data set managed thereby. For backup purposes, snapshots of the replica(s) are periodically generated. To determine a data corruption, a snapshot of one replica is cross-validated with a snapshot of another replica.Type: GrantFiled: April 22, 2021Date of Patent: February 15, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Alexander Budovski, Cristian Diaconu, Sandeep Lingam, Alejandro Hernandez Saenz, Naveen Prakash, Krystyna Ewa Reisteter, Rogerio Ramos, Huanhui Hu, Peter Byrne
-
Patent number: 11151101Abstract: Adaptive adjusting of the growth of a persistent log. The persistent log has a log record generator that adds log records to the persistent log. In addition, there are multiple log consumers that consume records from the persistent log. The log consumers publish log processing parameters with respect to the persistent log. The log processing parameters are then used to determine an appropriate adjustment in the growth of the log, which adjustments may then be executed. As an example, the log processing parameter may be a log consumption progress, in which case the log generator may be caused to slow down the generation of log records, thereby slowing the growth of the log.Type: GrantFiled: September 21, 2018Date of Patent: October 19, 2021Inventors: Cristian Diaconu, Alejandro Hernandez Saenz
-
Patent number: 11048664Abstract: The bifurcation of a log into a fixed-size log portion and a growable log portion. Log records are first written to the fixed-size log portion. At some point, the older log records within the fixed-size log portion are destaged to the growable log portion. Destaging may involve copying the log records from the fixed-size log portion and tacking the log record onto the end of the growable log portion. This destaging might occur one sub-portion (e.g., one virtual log file) at a time. The more recent log records are within the fixed-size log portion. Accordingly, new writes to the log occur to the fixed-size log portion. Furthermore, a large portion of the reads are of the more recent log records within the fixed-size log portion. Thus, optimizing performance within the fixed-size log portion results in significant improvement in the performance of the overall log.Type: GrantFiled: September 21, 2018Date of Patent: June 29, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Cristian Diaconu, Naveen Prakash, Alejandro Hernandez Saenz, Alexander Budovski