Patents by Inventor Subramanian Muralidhar

Subramanian Muralidhar 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: 11080257
    Abstract: Systems, methods, and devices for storing database data in journal tables comprising a snapshot and a log table. A method includes defining a journal table comprising a snapshot and a log table, the snapshot comprising an up-to-date representation of data in the journal table at a point in time. The method includes assigning a timestamp to the snapshot indicating when the snapshot was generated. The method includes receiving a request to execute a transaction on the journal table to modify the data in the journal table, the transaction comprising one or more of an insert, a delete, an update, or a merge. The method includes inserting a new row into the log table in lieu of executing the transaction on the snapshot of the journal table, the new row comprising an indication of a change requested to be made to the journal table based on the transaction.
    Type: Grant
    Filed: May 13, 2019
    Date of Patent: August 3, 2021
    Assignee: Snowflake Inc.
    Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
  • Publication number: 20210216541
    Abstract: Systems, methods, and devices for automated maintenance of external tables in database systems are disclosed. A method includes receiving, by a database platform, read access to content in an external data storage platform that is separate from the database platform. The method includes defining an external table based on the content in the external data storage platform. The method includes connecting the database platform to the external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes generating metadata for the external table, the metadata comprising information about data stored in the external table. The method includes receiving a notification that a modification has been made to the content in the external data storage platform, the modification comprising one or more of an addition of a file, a deletion of a file, or an update to a file in a source location for the external table.
    Type: Application
    Filed: March 31, 2021
    Publication date: July 15, 2021
    Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri
  • Patent number: 11055430
    Abstract: A shared database platform implements dynamic masking on data shared between users where specific data is masked, transformed, or otherwise modified based on preconfigured functions that are associated with user roles. The shared database platform can implement the masking at runtime dynamically in response to users requesting access to a database object that is associated with one or more masking policies.
    Type: Grant
    Filed: October 30, 2020
    Date of Patent: July 6, 2021
    Assignee: Snowflake Inc.
    Inventors: Artin Avanes, Khalid Zaman Bijon, Damien Carru, Thierry Cruanes, Vikas Jain, Zheng Mi, Subramanian Muralidhar
  • Patent number: 11055315
    Abstract: A method of implementing sub-table replication starts with the processor detecting an update to an entitlements table. The processor performs filtering of a data table based on the update to the entitlements table. The data table including an entitlements column. The processor detects an update to the entitlements column and performs incremental replication of the data table by causing a version-based replication to be executed. Other embodiments are also described herein.
    Type: Grant
    Filed: July 31, 2020
    Date of Patent: July 6, 2021
    Assignee: Snowflake Inc.
    Inventors: Pui Kei Johnston Chu, Shreyas Narendra Desai, German Alberto Gil Echeverri, Prasanna Krishnan, Nithin Mahesh, Subramanian Muralidhar, Eric Robinson, Sahaj Saini
  • Publication number: 20210200754
    Abstract: Systems, methods, and devices for querying over an external table are disclosed. A method includes connecting a database platform to an external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes receiving a query comprising a predicate, the query directed at least to data in the external table. The method includes determining, based on metadata, one or more partitions in the external table comprising data satisfying the predicate. The method includes pruning, based on the metadata, all partitions in the external table that do not comprise any data satisfying the predicate. The method includes generating a query plan comprising a plurality of discrete subtasks. The method includes assigning, based on the metadata, the plurality of discrete subtasks to one or more nodes in an execution platform.
    Type: Application
    Filed: March 12, 2021
    Publication date: July 1, 2021
    Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri
  • Patent number: 11030191
    Abstract: Systems, methods, and devices for querying over an external table are disclosed. A method includes connecting a database platform to an external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes receiving a query comprising a predicate, the query directed at least to data in the external table. The method includes determining, based on metadata, one or more partitions in the external table comprising data satisfying the predicate. The method includes pruning, based on the metadata, all partitions in the external table that do not comprise any data satisfying the predicate. The method includes generating a query plan comprising a plurality of discrete subtasks. The method includes assigning, based on the metadata, the plurality of discrete subtasks to one or more nodes in an execution platform.
    Type: Grant
    Filed: April 7, 2020
    Date of Patent: June 8, 2021
    Assignee: Snowflake Inc.
    Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri
  • Publication number: 20210157785
    Abstract: Systems, methods, and devices for generating a transactional change tracking summary for a database. A method includes executing a transaction on a table of a database, wherein the table includes a micro-partition and the transaction is executed on the micro-partition. The method includes, in response to the transaction being fully executed, generating a change tracking entry comprising an indication of one or modifications made to the table by the transaction. The method includes storing the change tracking entry in a change tracking stream, wherein the change tracking stream includes one or more sequential change tracking entries that each correspond to a different transaction that is fully executed on the table.
    Type: Application
    Filed: January 6, 2021
    Publication date: May 27, 2021
    Inventors: Subramanian Muralidhar, Istvan Cseri, Torsten Grabs, Benoit Dageville
  • Publication number: 20210157948
    Abstract: A shared database platform implements dynamic masking on data shared between users where specific data is masked, transformed, or otherwise modified based on preconfigured functions that are associated with user roles. The shared database platform can implement the masking at runtime dynamically in response to users requesting access to a database object that is associated with one or more masking policies.
    Type: Application
    Filed: October 30, 2020
    Publication date: May 27, 2021
    Inventors: Artin Avanes, Khalid Zaman Bijon, Damien Carru, Thierry Cruanes, Vikas Jain, Zheng Mi, Subramanian Muralidhar
  • Patent number: 10997151
    Abstract: Systems, methods, and devices for generating a transactional change tracking summary for a database. A method includes executing a transaction on a table of a database, wherein the table includes a micro-partition and the transaction is executed on the micro-partition. The method includes, in response to the transaction being fully executed, generating a change tracking entry comprising an indication of one or modifications made to the table by the transaction. The method includes storing the change tracking entry in a change tracking stream, wherein the change tracking stream includes one or more sequential change tracking entries that each correspond to a different transaction that is fully executed on the table.
    Type: Grant
    Filed: December 6, 2019
    Date of Patent: May 4, 2021
    Assignee: Snowflake Inc.
    Inventors: Subramanian Muralidhar, Istvan Cseri, Torsten Grabs, Benoit Dageville
  • Patent number: 10997148
    Abstract: The subject technology receives one or more requests to execute one or more requested transactions on a journal table of a database, the journal table comprising a snapshot and a log table. The subject technology, based on the one or more requests, inserts a new row into the log table for each requested transaction, each new row reflecting a corresponding requested transaction. The subject technology receives, after the one or more requested transactions have been executed, a second request to execute a second requested transaction on the journal table. The subject technology generates, prior to executing the second requested transaction, a second snapshot, the second snapshot comprising a second representation of data in the journal table after the one or more requested transactions have been executed, the second snapshot stored in a third micro-partition different than the first micro-partition and the second micro-partition.
    Type: Grant
    Filed: October 23, 2020
    Date of Patent: May 4, 2021
    Assignee: Snowflake Inc.
    Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
  • Patent number: 10997165
    Abstract: Systems, methods, and devices for automated maintenance of external tables in database systems are disclosed. A method includes receiving, by a database platform, read access to content in an external data storage platform that is separate from the database platform. The method includes defining an external table based on the content in the external data storage platform. The method includes connecting the database platform to the external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes generating metadata for the external table, the metadata comprising information about data stored in the external table. The method includes receiving a notification that a modification has been made to the content in the external data storage platform, the modification comprising one or more of an addition of a file, a deletion of a file, or an update to a file in a source location for the external table.
    Type: Grant
    Filed: April 8, 2020
    Date of Patent: May 4, 2021
    Assignee: Snowflake Inc.
    Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri
  • Patent number: 10997210
    Abstract: A method of implementing sub-table replication starts with the processor detecting a first update to an entitlements table. The processor filters of a data table based on the first update. The processor then detects a second update to the entitlements table and performs incremental replication of the data table by causing a full inventory replication at a next refresh to be executed for provider accounts associated with the provider account identifiers in the entitlements table. Other embodiments are also described herein.
    Type: Grant
    Filed: July 31, 2020
    Date of Patent: May 4, 2021
    Assignee: Snowflake Inc.
    Inventors: Pui Kei Johnston Chu, Shreyas Narendra Desai, German Alberto Gil Echeverri, Prasanna Krishnan, Nithin Mahesh, Subramanian Muralidhar, Eric Robinson, Sahaj Saini
  • Patent number: 10990576
    Abstract: The subject technology defines a journal table of a database, the journal table comprising a snapshot and a log table, the snapshot comprising a representation of data in the journal table at a particular time, the log table comprising a listing of requested changes to the journal table since the particular time, the snapshot stored in a first micro-partition, the log table stored in a second micro-partition. The subject technology receives, after at least one first requested transaction has been executed, a request to execute a second requested transaction on the journal table. The subject technology generates, prior to executing the second requested transaction, a second snapshot, the second snapshot comprising a second representation of data in the journal table after the at least one first requested transaction has been executed, the second snapshot stored in a third micro-partition different than the first micro-partition and the second micro-partition.
    Type: Grant
    Filed: October 23, 2020
    Date of Patent: April 27, 2021
    Assignee: Snowflake Inc.
    Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
  • Publication number: 20210042283
    Abstract: The subject technology receives one or more requests to execute one or more requested transactions on a journal table of a database, the journal table comprising a snapshot and a log table. The subject technology, based on the one or more requests, inserts a new row into the log table for each requested transaction, each new row reflecting a corresponding requested transaction. The subject technology receives, after the one or more requested transactions have been executed, a second request to execute a second requested transaction on the journal table. The subject technology generates, prior to executing the second requested transaction, a second snapshot, the second snapshot comprising a second representation of data in the journal table after the one or more requested transactions have been executed, the second snapshot stored in a third micro-partition different than the first micro-partition and the second micro-partition.
    Type: Application
    Filed: October 23, 2020
    Publication date: February 11, 2021
    Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
  • Publication number: 20210042282
    Abstract: The subject technology defines a journal table of a database, the journal table comprising a snapshot and a log table, the snapshot comprising a representation of data in the journal table at a particular time, the log table comprising a listing of requested changes to the journal table since the particular time, the snapshot stored in a first micro-partition, the log table stored in a second micro-partition. The subject technology receives, after at least one first requested transaction has been executed, a request to execute a second requested transaction on the journal table. The subject technology generates, prior to executing the second requested transaction, a second snapshot, the second snapshot comprising a second representation of data in the journal table after the at least one first requested transaction has been executed, the second snapshot stored in a third micro-partition different than the first micro-partition and the second micro-partition.
    Type: Application
    Filed: October 23, 2020
    Publication date: February 11, 2021
    Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
  • Patent number: 10867063
    Abstract: A shared database platform implements dynamic masking on data shared between users where specific data is masked, transformed, or otherwise modified based on preconfigured functions that are associated with user roles. The shared database platform can implement the masking at runtime dynamically in response to users requesting access to a database object that is associated with one or more masking policies.
    Type: Grant
    Filed: November 27, 2019
    Date of Patent: December 15, 2020
    Assignee: Snowflake Inc.
    Inventors: Artin Avanes, Khalid Zaman Bijon, Damien Carru, Thierry Cruanes, Vikas Jain, Zheng Mi, Subramanian Muralidhar
  • Patent number: 10846277
    Abstract: Systems, methods, and devices for storing database data in journal tables comprising a snapshot and a log table. A method includes defining a journal table comprising a snapshot and a log table, the snapshot comprising an up-to-date representation of data in the journal table at a point in time. The method includes assigning a timestamp to the snapshot indicating when the snapshot was generated. The method includes receiving a request to execute a transaction on the journal table to modify the data in the journal table, the transaction comprising one or more of an insert, a delete, an update, or a merge. The method includes inserting a new row into the log table in lieu of executing the transaction on the snapshot of the journal table, the new row comprising an indication of a change requested to be made to the journal table based on the transaction.
    Type: Grant
    Filed: December 26, 2019
    Date of Patent: November 24, 2020
    Assignee: Snowflake Inc.
    Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
  • Publication number: 20200364200
    Abstract: Systems, methods, and devices for storing database data in journal tables comprising a snapshot and a log table. A method includes defining a journal table comprising a snapshot and a log table, the snapshot comprising an up-to-date representation of data in the journal table at a point in time. The method includes assigning a timestamp to the snapshot indicating when the snapshot was generated. The method includes receiving a request to execute a transaction on the journal table to modify the data in the journal table, the transaction comprising one or more of an insert, a delete, an update, or a merge. The method includes inserting a new row into the log table in lieu of executing the transaction on the snapshot of the journal table, the new row comprising an indication of a change requested to be made to the journal table based on the transaction.
    Type: Application
    Filed: May 13, 2019
    Publication date: November 19, 2020
    Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
  • Publication number: 20200364201
    Abstract: Systems, methods, and devices for storing database data in journal tables comprising a snapshot and a log table. A method includes defining a journal table comprising a snapshot and a log table, the snapshot comprising an up-to-date representation of data in the journal table at a point in time. The method includes assigning a timestamp to the snapshot indicating when the snapshot was generated. The method includes receiving a request to execute a transaction on the journal table to modify the data in the journal table, the transaction comprising one or more of an insert, a delete, an update, or a merge. The method includes inserting a new row into the log table in lieu of executing the transaction on the snapshot of the journal table, the new row comprising an indication of a change requested to be made to the journal table based on the transaction.
    Type: Application
    Filed: December 26, 2019
    Publication date: November 19, 2020
    Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
  • Publication number: 20200334230
    Abstract: Systems, methods, and devices for generating a materialized view over an external table. A method includes connecting a database platform to an external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes generating, by the database platform, a materialized view over the external table. The method includes receiving a notification that a modification has been made to the external table, the modification comprising one or more of an addition of a file, a deletion of a file, or an update to a file in a source location for the external table. The method includes, in response to the external table being modified, refreshing the materialized view such that the materialized view comprises an accurate representation of the external table.
    Type: Application
    Filed: April 16, 2019
    Publication date: October 22, 2020
    Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri