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: 20240126706
    Abstract: 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: Application
    Filed: December 8, 2023
    Publication date: April 18, 2024
    Inventors: Rogério RAMOS, Kareem Aladdin GOLAUB, Chaitanya GOTTIPATI, Alejandro Hernandez SAENZ, Raj Kripal DANDAY
  • Patent number: 11880318
    Abstract: 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: Grant
    Filed: March 28, 2022
    Date of Patent: January 23, 2024
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Rogério Ramos, Kareem Aladdin Golaub, Chaitanya Gottipati, Alejandro Hernandez Saenz, Raj Kripal Danday
  • Patent number: 11860829
    Abstract: 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: Grant
    Filed: February 19, 2021
    Date of Patent: January 2, 2024
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Craig S. Freedman, Adrian-Leonard Radu, Daniel G. Schall, Hanumantha R. Kodavalla, Panagiotis Antonopoulos, Raghavendra Thallam Kodandaramaih, Alejandro Hernandez Saenz, Naveen Prakash
  • Publication number: 20230376479
    Abstract: 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: Application
    Filed: July 31, 2023
    Publication date: November 23, 2023
    Inventors: 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: 20230350912
    Abstract: 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: Application
    Filed: July 12, 2023
    Publication date: November 2, 2023
    Inventors: Alejandro Hernandez SAENZ, Cristian DIACONU, Krystyna Ewa REISTETER, Naveen PRAKASH, Sheetal SHROTRI, Rogério RAMOS, Alexander BUDOVSKI, Hanumantha Rao KODAVALLA
  • Patent number: 11797523
    Abstract: 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: Grant
    Filed: February 19, 2021
    Date of Patent: October 24, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Craig S. Freedman, Adrian-Leonard Radu, Daniel G. Schall, Hanumantha R. Kodavalla, Panagiotis Antonopoulos, Raghavendra Thallam Kodandaramaih, Alejandro Hernandez Saenz, Naveen Prakash
  • Patent number: 11748369
    Abstract: 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: Grant
    Filed: September 2, 2021
    Date of Patent: September 5, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Alejandro Hernandez Saenz, Cristian Diaconu, Krystyna Ewa Reisteter, Naveen Prakash, Sheetal Shrotri, Rogério Ramos, Alexander Budovski, Hanumantha Rao Kodavalla
  • Publication number: 20230140121
    Abstract: 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: Application
    Filed: March 28, 2022
    Publication date: May 4, 2023
    Inventors: Rogério RAMOS, Kareem Aladdin GOLAUB, Chaitanya GOTTIPATI, Alejandro Hernandez SAENZ, Raj Kripal DANDAY
  • Publication number: 20230046342
    Abstract: 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: Application
    Filed: September 2, 2021
    Publication date: February 16, 2023
    Inventors: Alejandro Hernandez SAENZ, Cristian DIACONU, Krystyna Ewa REISTETER, Naveen PRAKASH, Sheetal SHROTRI, Rogério RAMOS, Alexander BUDOVSKI, Hanumantha Rao KODAVALLA
  • Patent number: 11567839
    Abstract: 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: Grant
    Filed: October 27, 2021
    Date of Patent: January 31, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Alexander Budovski, Cristian Diaconu, Sandeep Lingam, Alejandro Hernandez Saenz, Naveen Prakash, Krystyna Ewa Reisteter, Rogerio Ramos, Huanhui Hu, Peter Byrne
  • Publication number: 20230014697
    Abstract: 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: Application
    Filed: September 26, 2022
    Publication date: January 19, 2023
    Inventors: Craig S. FREEDMAN, Adrian-Leonard RADU, Daniel G. SCHALL, Hanumantha R. KODAVALLA, Panagiotis ANTONOPOULOS, Raghavendra Thallam KODANDARAMAIH, Alejandro Hernandez SAENZ, Naveen PRAKASH
  • Patent number: 11487766
    Abstract: 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: Grant
    Filed: February 19, 2021
    Date of Patent: November 1, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Craig S. Freedman, Adrian-Leonard Radu, Daniel G. Schall, Hanumantha R. Kodavalla, Panagiotis Antonopoulos, Raghavendra Thallam Kodandaramaih, Alejandro Hernandez Saenz, Naveen Prakash
  • Publication number: 20220342778
    Abstract: 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: Application
    Filed: October 27, 2021
    Publication date: October 27, 2022
    Inventors: Alexander BUDOVSKI, Cristian DIACONU, Sandeep LINGAM, Alejandro Hernandez SAENZ, Naveen PRAKASH, Krystyna Ewa REISTETER, Rogerio RAMOS, Huanhui HU, Peter BYRNE
  • Patent number: 11455292
    Abstract: 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: Grant
    Filed: September 21, 2018
    Date of Patent: September 27, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Cristian Diaconu, Naveen Prakash, Alexander Budovski, Huanhui Hu, Alejandro Hernandez Saenz
  • Publication number: 20220197911
    Abstract: 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: Application
    Filed: February 19, 2021
    Publication date: June 23, 2022
    Inventors: Craig S. FREEDMAN, Adrian-Leonard RADU, Daniel G. SCHALL, Hanumantha R. KODAVALLA, Panagiotis ANTONOPOULOS, Raghavendra Thallam KODANDARAMAIH, Alejandro Hernandez SAENZ, Naveen PRAKASH
  • Publication number: 20220197873
    Abstract: 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: Application
    Filed: February 19, 2021
    Publication date: June 23, 2022
    Inventors: Craig S. FREEDMAN, Adrian-Leonard RADU, Daniel G. SCHALL, Hanumantha R. KODAVALLA, Panagiotis ANTONOPOULOS, Raghavendra Thallam KODANDARAMAIH, Alejandro Hernandez SAENZ, Naveen PRAKASH
  • Publication number: 20220197892
    Abstract: 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: Application
    Filed: February 19, 2021
    Publication date: June 23, 2022
    Inventors: Craig S. FREEDMAN, Adrian-Leonard RADU, Daniel G. SCHALL, Hanumantha R. KODAVALLA, Panagiotis ANTONOPOULOS, Raghavendra Thallam KODANDARAMAIH, Alejandro Hernandez SAENZ, Naveen PRAKASH
  • Patent number: 11249866
    Abstract: 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: Grant
    Filed: April 22, 2021
    Date of Patent: February 15, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Alexander Budovski, Cristian Diaconu, Sandeep Lingam, Alejandro Hernandez Saenz, Naveen Prakash, Krystyna Ewa Reisteter, Rogerio Ramos, Huanhui Hu, Peter Byrne
  • Patent number: 11151101
    Abstract: 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: Grant
    Filed: September 21, 2018
    Date of Patent: October 19, 2021
    Inventors: Cristian Diaconu, Alejandro Hernandez Saenz
  • Patent number: 11048664
    Abstract: 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: Grant
    Filed: September 21, 2018
    Date of Patent: June 29, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Cristian Diaconu, Naveen Prakash, Alejandro Hernandez Saenz, Alexander Budovski