Patents by Inventor Rogerio Ramos
Rogerio Ramos 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: 11874816Abstract: Methods, systems, apparatuses, and computer program products are provided for coordinating a distributed database transaction. A transaction driver, such as a client machine, may initiate a distributed transaction. The transaction driver may transmit to a transaction coordinator a driver report that includes identifying information related to the distributed transaction, including an identification of participants involved in the transaction. The coordinator may determine whether participant reports, which include a status of the portion of the distributed database transaction of a particular participant, are received from each of the participants. Participant reports may also identify participants that are descendants of the reporting participant. The transaction coordinator may store, in a table, information to track the progress of the distributed transaction. Using the table, an outcome of the distributed transaction may be determined and transmitted to one or more of the involved participants.Type: GrantFiled: October 23, 2018Date of Patent: January 16, 2024Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Rogerio Ramos, Youssef M. Barakat, Shirish Gajera, Karthick Krishnamoorthy
-
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
-
Publication number: 20230297510Abstract: Data base performance is improved using write-behind optimization of covering cache. Non-volatile memory data cache includes a full copy of stored data file(s). Data cache and storage writes, checkpoints, and recovery may be decoupled (e.g., with separate writes, checkpoints and recoveries). A covering data cache supports improved performance by supporting database operation during storage delays or outages and/or by supporting reduced I/O operations using aggregate writes of contiguous data pages (e.g., clean and dirty pages) to stored data file(s). Aggregate writes reduce data file fragmentation and reduce the cost of snapshots. Performing write-behind operations in a background process with optimistic concurrency control may support improved database performance, for example, by not interfering with write operations to data cache. Data cache may store (e.g., in metadata) data cache checkpoint information and storage checkpoint information. A stored data file may store storage checkpoint information (e.g.Type: ApplicationFiled: May 3, 2023Publication date: September 21, 2023Inventors: Krystyna Ewa REISTETER, Cristian DIACONU, Rogério RAMOS, Sarika R. IYER, Siddharth Deepak MEHTA, Huanhui HU
-
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
-
Patent number: 11681631Abstract: Data base performance is improved using write-behind optimization of covering cache. Non-volatile memory data cache includes a full copy of stored data file(s). Data cache and storage writes, checkpoints, and recovery may be decoupled (e.g., with separate writes, checkpoints and recoveries). A covering data cache supports improved performance by supporting database operation during storage delays or outages and/or by supporting reduced I/O operations using aggregate writes of contiguous data pages (e.g., clean and dirty pages) to stored data file(s). Aggregate writes reduce data file fragmentation and reduce the cost of snapshots. Performing write-behind operations in a background process with optimistic concurrency control may support improved database performance, for example, by not interfering with write operations to data cache. Data cache may store (e.g., in metadata) data cache checkpoint information and storage checkpoint information. A stored data file may store storage checkpoint information (e.g.Type: GrantFiled: June 25, 2021Date of Patent: June 20, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Krystyna Ewa Reisteter, Cristian Diaconu, Rogério Ramos, Sarika R. Iyer, Siddharth Deepak Mehta, Huanhui Hu
-
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: 20220414015Abstract: Data base performance is improved using write-behind optimization of covering cache. Non-volatile memory data cache includes a full copy of stored data file(s). Data cache and storage writes, checkpoints, and recovery may be decoupled (e.g., with separate writes, checkpoints and recoveries). A covering data cache supports improved performance by supporting database operation during storage delays or outages and/or by supporting reduced I/O operations using aggregate writes of contiguous data pages (e.g., clean and dirty pages) to stored data file(s). Aggregate writes reduce data file fragmentation and reduce the cost of snapshots. Performing write-behind operations in a background process with optimistic concurrency control may support improved database performance, for example, by not interfering with write operations to data cache. Data cache may store (e.g., in metadata) data cache checkpoint information and storage checkpoint information. A stored data file may store storage checkpoint information (e.g.Type: ApplicationFiled: June 25, 2021Publication date: December 29, 2022Inventors: Krystyna Ewa REISTETER, Cristian DIACONU, Rogério RAMOS, Sarika R. IYER, Siddharth Deepak MEHTA, Huanhui HU
-
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: 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: 10901944Abstract: Storing an incoming data stream using successive files that are consecutively populated. The appropriate file to populate a given data stream portion into is determined by mapping the data stream offset to a file, and potentially also an address within that file. The successive files may be the same size, so that the file can be identified based on the data stream address (or offset) without the use of an index. Furthermore, the files may be easily named by having that size be some multiple of a binary power of bytes. That way, the files themselves can be automatically and named and identified by using the more significant bit or bits of the data stream offset to uniquely identify the file and establish ordering of the files. Replication may occur from a primary to a secondary store by transmitting the offset, and the actual data to be stored.Type: GrantFiled: May 24, 2017Date of Patent: January 26, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Rogerio Ramos, Fayssal Martani, Cristian Diaconu, Karthick Krishnamoorthy, Jacob R. Lorch
-
Publication number: 20200125654Abstract: Methods, systems, apparatuses, and computer program products are provided for coordinating a distributed database transaction. A transaction driver, such as a client machine, may initiate a distributed transaction. The transaction driver may transmit to a transaction coordinator a driver report that includes identifying information related to the distributed transaction, including an identification of participants involved in the transaction. The coordinator may determine whether participant reports, which include a status of the portion of the distributed database transaction of a particular participant, are received from each of the participants. Participant reports may also identify participants that are descendants of the reporting participant. The transaction coordinator may store, in a table, information to track the progress of the distributed transaction. Using the table, an outcome of the distributed transaction may be determined and transmitted to one or more of the involved participants.Type: ApplicationFiled: October 23, 2018Publication date: April 23, 2020Inventors: Rogerio Ramos, Youssef M. Barakat, Shirish Gajera, Karthick Krishnamoorthy
-
Patent number: 10592494Abstract: The insertion into a data stream of collection records associated with multiple collections of data items in the data stream, for purposes of aiding in subsequent processing of the data stream by collections. Each collection record comprises a collection definition that does not overlap with the collection definition in any of the sequence of collection records including the collection definition of any neighboring collection record in the sequence of collection records. Each collection record also includes a data stream address range extending from the first data item to the last data item in the collection.Type: GrantFiled: April 14, 2015Date of Patent: March 17, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Diaconu, Christian Damianidis, Arkadi Brjazovski, Rogerio Ramos, Raghavendra Thallam Kodandaramaih
-
Publication number: 20180341659Abstract: Storing an incoming data stream using successive files that are consecutively populated. The appropriate file to populate a given data stream portion into is determined by mapping the data stream offset to a file, and potentially also an address within that file. The successive files may be the same size, so that the file can be identified based on the data stream address (or offset) without the use of an index. Furthermore, the files may be easily named by having that size be some multiple of a binary power of bytes. That way, the files themselves can be automatically and named and identified by using the more significant bit or bits of the data stream offset to uniquely identify the file and establish ordering of the files. Replication may occur from a primary to a secondary store by transmitting the offset, and the actual data to be stored.Type: ApplicationFiled: May 24, 2017Publication date: November 29, 2018Inventors: Rogerio RAMOS, Fayssal MARTANI, Cristian DIACONU, Karthick KRISHNAMOORTHY, Jacob R. LORCH
-
Patent number: 10102251Abstract: A lockless open collection data structure used to create a sequence of collection records. The sequence of collection records may be inserted into a data stream for purposes of assisting in subsequent processing of the data stream in a parallel manner, by collection. The open collection data structure is re-usable for multiple collections of data items within the data stream. The use of the open collection data structure may occur while a data stream that includes multiple different types of data items is being evaluated. The open collection data structure is used to track an expandable collection definition of a currently open collection. Upon detecting that the collection definition is no longer expandable, the collection record is created based on state within the open collection data structure. Once the collection record for a collection has been created, the open collection data structure becomes available for the next collection record.Type: GrantFiled: April 14, 2015Date of Patent: October 16, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Diaconu, Christian Damianidis, Arkadi Brjazovski, Rogerio Ramos
-
Patent number: 10031814Abstract: The logging of tasks associated with multiple transactions in the context in which the computing system is capable of having multiple of the transactions active at a given time, and thus in which the order of completion of the transactions is not guaranteed to be the same as the order of initiation of the transactions. A sequence of transaction segment records is added to the log. Each transaction segment record comprises a transaction identifier range that does not overlap with the transaction identifier range in any of the sequence of transaction segment records including the transaction identifier range of any neighboring transaction segment record in the sequence of transaction segment records. Each transaction segment record also includes a log entry identifier range extending from the first task of the first of the transactions to be initiated to the last task of the last transaction to complete.Type: GrantFiled: April 14, 2015Date of Patent: July 24, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Diaconu, Rogerio Ramos, Raghavendra Thallam Kodandaramaih, Christian Damianidis, Arkadi Brjazovski, Daniel Vasquez Lopez
-
Patent number: 9766929Abstract: The use of a data stream that has therein data items and a sequence of collection records. each comprising a collection definition that is not overlapping with the collection definition in any of the sequence of collection records. The collection definition defines which data items of the data stream are included within the collection. Each collection record also includes a data stream address range at least extending from the data stream address of the first data item of the collection to the data stream address of the last data item in the collection. In this context, the data stream may be efficiently processed by quickly reviewing the data stream to find each collection record. Once a collection record is found, the collection record is dispatched for processing to a worker thread for processing of the corresponding collection.Type: GrantFiled: April 14, 2015Date of Patent: September 19, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Diaconu, Daniel Vasquez Lopez, Raghavendra Thallam Kodandaramaih, Arkadi Brjazovski, Rogerio Ramos