Patents by Inventor Pavan Edara

Pavan Edara 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: 11436261
    Abstract: A method for shuffle-less reclustering of clustered tables includes receiving a first and second group of clustered data blocks sorted by a clustering key value. A range of clustering key values of one or more the data blocks in the second group overlaps with the range of clustering key values of a data block in the first group. The method also includes generating split points for partitioning the first and second groups of clustered data blocks into a third group. The method also includes partitioning using the split points, the first and second groups into the third group. Each data block in the third group includes a range of clustering key values that do not overlap with any other data block in the third group. Each split point defines an upper limit or lower limit for the range of clustering key values a data block in the third group.
    Type: Grant
    Filed: April 14, 2020
    Date of Patent: September 6, 2022
    Assignee: Google LLC
    Inventors: Hua Zhang, Pavan Edara, Nhan Nguyen
  • Patent number: 11423049
    Abstract: A method for execution-time dynamic range partitioning includes receiving user data including a partitioning key and a clustering key. The user data includes a respective number of total rows defining a total data size for the user data. The method also includes identifying storage constraints for the data storage system. The storage constraints include a target file size and a target number of rows per file. The method further includes determining a plurality of split points for the user data based on the storage constraints. The method also includes generating partitioning quantiles from the plurality of split points that define a range between each split point of the plurality of split points. The method further includes range partitioning each row of the user data into files using the partitioning quantiles.
    Type: Grant
    Filed: May 11, 2020
    Date of Patent: August 23, 2022
    Assignee: Google LLC
    Inventors: Seyed Omid Fatemieh, Mikhail Entin, Adrian Baras, Pavan Edara, Aleksandras Surna
  • Publication number: 20220155972
    Abstract: A method for synchronous replication of stream data includes receiving a stream of data blocks for storage at a first storage location associated with a first geographical region and at a second storage location associated with a second geographical region. The method also includes synchronously writing the stream of data blocks to the first storage location and to the second storage location. While synchronously writing the stream of data blocks, the method includes determining an unrecoverable failure at the second storage location. The method also includes determining a failure point in the writing of the stream of data blocks that demarcates data blocks that were successfully written and not successfully written to the second storage location. The method also includes synchronously writing, starting at the failure point, the stream of data blocks to the first storage location and to a third storage location associated with a third geographical region.
    Type: Application
    Filed: November 13, 2020
    Publication date: May 19, 2022
    Applicant: Google LLC
    Inventors: Pavan Edara, Jonathan Forbes
  • Publication number: 20220156260
    Abstract: A method for managing big metadata using columnar techniques includes receiving a query request requesting data blocks from a data table that match query parameters. The data table is associated with system tables that each includes metadata for a corresponding data block of the data table. The method includes generating, based on the query request, a system query to return a subset of rows that correspond to the data blocks that match the query parameters. The method further includes generating, based on the query request and the system query, a final query to return a subset of data blocks from the data table corresponding to the subset of rows. The method also includes determining whether any of the data blocks in the subset of data blocks match the query parameters, and returning the matching data blocks when one or more data blocks match the query parameters.
    Type: Application
    Filed: November 13, 2020
    Publication date: May 19, 2022
    Applicant: Google LLC
    Inventors: Pavan Edara, Mosha Pasumansky
  • Publication number: 20220138071
    Abstract: A method for processing data exactly once using transactional stream writes includes receiving, from a client, a batch of data blocks for storage on memory hardware in communication with the data processing hardware. The batch of data blocks is associated with a corresponding sequence number and represents a number of rows of a table stored on the memory hardware. The method also includes partitioning the batch of data blocks into a plurality of sub-batches of data blocks. For each sub-batch of data blocks, the method further includes assigning the sub-batch of data blocks to a buffered stream; writing, using the assigned buffered stream, the sub-batch of data blocks to the memory hardware; updating a storage log with an intent to commit the sub-batch of data blocks using the assigned buffered stream; and committing the sub-batch of data blocks to the memory hardware.
    Type: Application
    Filed: October 30, 2020
    Publication date: May 5, 2022
    Applicant: Google LLC
    Inventors: Pavan Edara, Reuven Lax, Yi Yang, Gurpreet Singh Nanda
  • Publication number: 20220067006
    Abstract: The present disclosure describes a service which provides primary in-line deduplication. A streaming application program interface (API) may allow for streaming records into a storage system with high throughput and low latency. As part of this process, the API allows user to add identifiers as a field used for data deduplication. The deduplication service keeps a moving window of the identifiers in memory and does in-line deduplication by quickly determining whether data is a duplicate. Keeping only deduplication keys in memory reduces the cost of running the service. Moreover, the real-time nature of the moving window approach allows for storing deduplication information alongside the data and accessing it immediately on read. In this regard, read after write consistency is supported, and costs are reduced.
    Type: Application
    Filed: August 31, 2020
    Publication date: March 3, 2022
    Inventors: Pavlo Padinker, Pavan Edara, Bigang Li
  • Publication number: 20210382892
    Abstract: A method for managing metadata for a transactional storage system include receiving a query request at a snapshot timestamp. The query request requests return of at least one data block from a plurality of data blocks. Each data block includes a corresponding write epoch timestamp and a corresponding conversion indicator indicating whether the data block is active or has been converted at a respective conversion timestamp. The method also includes setting a read epoch timestamp equal to the earliest one of the write epoch and determining whether any of the respective conversion timestamps occurring at or before the snapshot timestamp occur after the read epoch timestamp. The method also includes determining the at least one data block requested by the query request by scanning each of the data blocks including corresponding write epoch timestamps occurring at or after the read epoch timestamp.
    Type: Application
    Filed: August 19, 2021
    Publication date: December 9, 2021
    Applicant: Google LLC
    Inventors: Pavan Edara, Yang Yi
  • Publication number: 20210357404
    Abstract: A computer-implemented method includes receiving a query specifying an operation to perform on a first table of a plurality of data blocks stored. Each data block in the first table includes a respective reference count indicating a number of tables referencing the data block. The method also includes determining that the operation specified by the query includes copying the plurality of data blocks in the first table into a second table and, in response, for each data block of the plurality of data blocks in the first table copied into the second table, incrementing, the respective reference count associated with the data block in the first table, appending, by the data processing hardware, into metadata of the second table, a reference of the corresponding data block copied into the second table.
    Type: Application
    Filed: May 8, 2021
    Publication date: November 18, 2021
    Applicant: Google LLC
    Inventors: Pavan Edara, Jordan Tigani
  • Publication number: 20210349648
    Abstract: A method for execution-time dynamic range partitioning includes receiving user data including a partitioning key and a clustering key. The user data includes a respective number of total rows defining a total data size for the user data. The method also includes identifying storage constraints for the data storage system. The storage constraints include a target file size and a target number of rows per file. The method further includes determining a plurality of split points for the user data based on the storage constraints. The method also includes generating partitioning quantiles from the plurality of split points that define a range between each split point of the plurality of split points. The method further includes range partitioning each row of the user data into files using the partitioning quantiles.
    Type: Application
    Filed: May 11, 2020
    Publication date: November 11, 2021
    Applicant: Google LLC
    Inventors: Seyed Omid Fatemieh, Mikhail Entin, Adrian Baras, Pavan Edara, Aleksandras Surna
  • Publication number: 20210319031
    Abstract: A method for managing data processing includes receiving, from a user of a data query system, a data query for data stored in a data store in communication with the data query system. The method also includes receiving a staleness parameter indicating an upper time boundary for the data query. The upper time boundary limits a query response to data within the data store that is older than the upper time boundary. The method further includes determining whether the data stored within the data store satisfies the staleness parameter. When a portion of the data within the data store fails to satisfy the staleness parameter, the method includes generating the query response that excludes the portion of the data that fails to satisfy the staleness parameter.
    Type: Application
    Filed: April 14, 2020
    Publication date: October 14, 2021
    Applicant: Google LLC
    Inventors: Pavan Edara, Jonathan Forbes, Yang Yi
  • Publication number: 20210319044
    Abstract: A method for shuffle-less reclustering of clustered tables includes receiving a first and second group of clustered data blocks sorted by a clustering key value. A range of clustering key values of one or more the data blocks in the second group overlaps with the range of clustering key values of a data block in the first group. The method also includes generating split points for partitioning the first and second groups of clustered data blocks into a third group. The method also includes partitioning using the split points, the first and second groups into the third group. Each data block in the third group includes a range of clustering key values that do not overlap with any other data block in the third group. Each split point defines an upper limit or lower limit for the range of clustering key values a data block in the third group.
    Type: Application
    Filed: April 14, 2020
    Publication date: October 14, 2021
    Applicant: Google LLC
    Inventors: Hua Zhang, Pavan Edara, Nhan Nguyen
  • Patent number: 11113296
    Abstract: A method for managing metadata for a transactional storage system include receiving a query request at a snapshot timestamp. The query request requests return of at least one data block from a plurality of data blocks. Each data block includes a corresponding write epoch timestamp and a corresponding conversion indicator indicating whether the data block is active or has been converted at a respective conversion timestamp. The method also includes setting a read epoch timestamp equal to the earliest one of the write epoch and determining whether any of the respective conversion timestamps occurring at or before the snapshot timestamp occur after the read epoch timestamp. The method also includes determining the at least one data block requested by the query request by scanning each of the data blocks including corresponding write epoch timestamps occurring at or after the read epoch timestamp.
    Type: Grant
    Filed: April 14, 2020
    Date of Patent: September 7, 2021
    Assignee: Google LLC
    Inventors: Pavan Edara, Yang Yi
  • Patent number: 9824092
    Abstract: Data storage systems and processes are provided including processes for handling write and read requests to a storage system. A storage system can include data stores, such as a log store, a hash store and a journal store. Data can be written to a log store, a log store can be converted to a hash store, and hash stores can be merged into a journal store. A storage system can use optimizations in writing and storing data, to provide lower latency, lower levels of write amplification and higher throughput.
    Type: Grant
    Filed: June 16, 2015
    Date of Patent: November 21, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Alex Shamis, Edmund Nightingale, Mugdha Jamsandekar, Pavan Edara
  • Publication number: 20160371291
    Abstract: Data storage systems and processes are provided including processes for handling write and read requests to a storage system. A storage system can include data stores, such as a log store, a hash store and a journal store. Data can be written to a log store, a log store can be converted to a hash store, and hash stores can be merged into a journal store. A storage system can use optimizations in writing and storing data, to provide lower latency, lower levels of write amplification and higher throughput.
    Type: Application
    Filed: June 16, 2015
    Publication date: December 22, 2016
    Inventors: Alex Shamis, Edmund Nightingale, Mugdha Jamsandekar, Pavan Edara