Patents by Inventor Vaibhav Arora

Vaibhav Arora 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: 11709814
    Abstract: Techniques are disclosed relating to building an in-memory multi-level data structure useable to determine presence or absence of key ranges in files consisting of database records. In various embodiments, a computer system operates a database, including maintaining a set of records having a set of corresponding keys that are accessible in key-sorted order and generates a multi-level data structure that facilitates key range lookups against the set of records. The generating may include accessing ones of the set of keys in key-sorted order and determining, for a particular accessed key that includes a set of characters, an intermediate level within the multi-level data structure and a subset of the characters of the particular accessed key for insertion. The computer system may insert, starting at the intermediate level, information that identifies the subset of characters, with the inserting being performed without traversing any levels before the intermediate level.
    Type: Grant
    Filed: October 23, 2020
    Date of Patent: July 25, 2023
    Assignee: Salesforce, Inc.
    Inventors: Rohit Agrawal, Aditya Shetty, Kaushal Mittal, Terry Chong, Thomas Fanghaenel, Vaibhav Arora
  • Publication number: 20230141205
    Abstract: Techniques are disclosed relating to merge operations for multi-level data structures, such as log-structured merge-trees (LSM trees). A computer system may store, in a database, a plurality of files as part of an LSM tree and a plurality of database key structures. A given one of the plurality of database key structures may indicate, for a corresponding one of the plurality of files, a set of key ranges derived from database records that are included in the corresponding file. The computer system may determine, using ones of the plurality of database key structures, a key range overlap that is indicative of an extent of overlap of key ranges from a set of the plurality of files with respect to a particular key range. Based on the determined key range overlap, the computer system may assign a priority level to a merge operation that involves the set of files.
    Type: Application
    Filed: December 22, 2022
    Publication date: May 11, 2023
    Inventors: Rohit Agrawal, Aditya Shetty, Kaushal Mittal, Terry Chong, Thomas Fanghaenel, Vaibhav Arora
  • Publication number: 20230060733
    Abstract: Techniques are disclosed relating to truncating a tenant's data from a table. A database node may maintain a multi-tenant table having records for tenants. Maintaining the table may include writing a record for a tenant into an in-memory cache and performing a flush operation to flush the record to a shared storage. The database node may write a truncate record into the in-memory cache that truncates a tenant from the table such that records of the tenant having a timestamp indicating a time before the truncate record cannot be accessed as part of a record query. While the truncate record remains in the in-memory cache, the database node may receive a request to perform a record query for a key of the tenant, make a determination on whether a record was committed for the key after the truncate record was committed, and return a response based on the determination.
    Type: Application
    Filed: August 27, 2021
    Publication date: March 2, 2023
    Inventors: Vaibhav Arora, Terry Chong, Thomas Fanghaenel
  • Patent number: 11537569
    Abstract: Techniques are disclosed relating to merge operations for multi-level data structures, such as log-structured merge-trees (LSM trees). A computer system may store, in a database, a plurality of files as part of an LSM tree and a plurality of database key structures. A given one of the plurality of database key structures may indicate, for a corresponding one of the plurality of files, a set of key ranges derived from database records that are included in the corresponding file. The computer system may determine, using ones of the plurality of database key structures, a key range overlap that is indicative of an extent of overlap of key ranges from a set of the plurality of files with respect to a particular key range. Based on the determined key range overlap, the computer system may assign a priority level to a merge operation that involves the set of files.
    Type: Grant
    Filed: September 1, 2020
    Date of Patent: December 27, 2022
    Assignee: salesforce.com, inc.
    Inventors: Rohit Agrawal, Aditya Shetty, Kaushal Mittal, Terry Chong, Thomas Fanghaenel, Vaibhav Arora
  • Publication number: 20220245113
    Abstract: Techniques are disclosed relating to index metadata that is usable for accessing multi-level data structures. A computer system may operate a database, including maintaining a set of records having a set of corresponding keys. The computer system may create multi-level data structures that facilitate key range lookups against those records. A given multi-level data structure may store key information indicative of a subset of the corresponding keys. The computer system may create separate index metadata that is usable for accessing the multi-level data structures. The index metadata may specify indications of key information that is stored in the multi-level data structures and locations of the multi-level data structures. The computer system may perform a key range lookup that includes using the index metadata to determine a particular set of the multi-level data structures whose key information corresponds to a key range of the key range lookup.
    Type: Application
    Filed: January 29, 2021
    Publication date: August 4, 2022
    Inventors: Rohit Agrawal, Aditya Shetty, Kaushal Mittal, Terry Chong, Thomas Fanghaenel, Vaibhav Arora
  • Publication number: 20220129433
    Abstract: Techniques are disclosed relating to building an in-memory multi-level data structure useable to determine presence or absence of key ranges in files consisting of database records. In various embodiments, a computer system operates a database, including maintaining a set of records having a set of corresponding keys that are accessible in key-sorted order and generates a multi-level data structure that facilitates key range lookups against the set of records. The generating may include accessing ones of the set of keys in key-sorted order and determining, for a particular accessed key that includes a set of characters, an intermediate level within the multi-level data structure and a subset of the characters of the particular accessed key for insertion. The computer system may insert, starting at the intermediate level, information that identifies the subset of characters, with the inserting being performed without traversing any levels before the intermediate level.
    Type: Application
    Filed: October 23, 2020
    Publication date: April 28, 2022
    Inventors: Rohit Agrawal, Aditya Shetty, Kaushal Mittal, Terry Chong, Thomas Fanghaenel, Vaibhav Arora
  • Publication number: 20220067004
    Abstract: Techniques are disclosed relating to merge operations for multi-level data structures, such as log-structured merge-trees (LSM trees). A computer system may store, in a database, a plurality of files as part of an LSM tree and a plurality of database key structures. A given one of the plurality of database key structures may indicate, for a corresponding one of the plurality of files, a set of key ranges derived from database records that are included in the corresponding file. The computer system may determine, using ones of the plurality of database key structures, a key range overlap that is indicative of an extent of overlap of key ranges from a set of the plurality of files with respect to a particular key range. Based on the determined key range overlap, the computer system may assign a priority level to a merge operation that involves the set of files.
    Type: Application
    Filed: September 1, 2020
    Publication date: March 3, 2022
    Inventors: Rohit Agrawal, Aditya Shetty, Kaushal Mittal, Terry Chong, Thomas Fanghaenel, Vaibhav Arora
  • Publication number: 20170329836
    Abstract: Example implementations relate to a database transfer of changes. For example, a computing device may include at least one processor. The at least one processor may receive a stream of changes to an online transaction processing (OLTP) database and may cache the stream of changes in a buffer. The at least one processor may identify specified criteria indicating a manner of sending the stream of changes to an online analytical processing (OLAP) database and may transfer the stream of changes from the buffer to the OLAP database based on the specified criteria.
    Type: Application
    Filed: November 26, 2014
    Publication date: November 16, 2017
    Inventors: Alkis Simitsis, William K. Wilkinson, Vaibhav Arora
  • Publication number: 20170329830
    Abstract: Example implementations relate to read-optimized database changes. For example, a computing device may include at least one processor. The at least one processor may receive a change associated with a read-optimized database and may identify at least one hot attribute associated with the change. The at least one processor may generate an insert operation based on the change using the at least one hot attribute and may send the insert operation to a hot table associated with the read-optimized database.
    Type: Application
    Filed: November 26, 2014
    Publication date: November 16, 2017
    Inventors: Alkis Simitsis, William K. Wilkinson, Vaibhav Arora
  • Publication number: 20170269974
    Abstract: Example implementations relate to speculative execution of a stream of changes. For example, a computing device may include at least one processor. The at least one processor may receive a stream of changes concurrently received by an online transaction processing (OLTP) database engine in communication with the computing device. The at least one processor may process the stream of changes based on speculative execution and verify that an order of the stream of changes processed based on speculative execution matches an OLTP order of the stream of changes committed by the OLTP database engine. The at least one processor may send the stream of changes processed based on speculative execution to an online analytical processing (OLAP) database engine to be stored in an OLAP database.
    Type: Application
    Filed: November 26, 2014
    Publication date: September 21, 2017
    Applicant: Hewlett Packard Enterprise Development LP
    Inventors: Vaibhav Arora, Alkis Simitsis, William K. Wilkinson