Snowflake has been granted a patent for a data platform that allows users to develop and deploy data applications. The platform enables users to grant privileges to other users, such as consumer usage and access to data privileges. The platform also authorizes users to access and execute data applications based on their account privileges. During execution, the platform allows the data application to access both provider and consumer database objects based on the granted privileges. GlobalData’s report on Snowflake gives a 360-degree view of the company including its patenting strategy. Buy the report here.
According to GlobalData’s company profile on Snowflake, Social media analytics was a key innovation area identified from patents. Snowflake's grant share as of September 2023 was 66%. Grant share is based on the ratio of number of grants to total number of patents.
Data platform for developing and deploying data applications
A recently granted patent (Publication Number: US11775669B1) describes a computer-implemented method for a data platform. The method involves receiving a data application from a provider user, along with granted privileges for the application. These privileges include a consumer usage privilege that allows a consumer user to use the application and a consumer access to data privilege that authorizes the application to access a provider database object. The data platform then authorizes the consumer user to access the platform based on their consumer account privilege.
Once the consumer user is authorized, they can provide their own granted privileges, including a provider access to data privilege that allows the application to access a consumer database object. The data platform then authorizes the consumer user to use the data application by attaching their session to a Web socket connection, which evaluates the context for processing their request in a sandboxed execution environment.
During the execution of the data application, the data platform performs operations such as authorizing the application to access the provider database object based on the consumer access to data privilege, and authorizing the application to access the consumer database object based on the provider access to data privilege.
The patent also describes additional features of the data application, such as an application identification with a Universally Unique Identifier (UUID) that remains constant even if the name of the application changes. The application can also include roles that restrict the actions it can perform, and an identification of an execution environment that determines how it should be run.
The data platform receives the consumer granted privileges when the consumer user purchases the consumer usage privilege for the data application. The authorization process involves establishing a Web socket connection between the data application browser and the data platform, based on the consumer account privileges.
Overall, this patent describes a method and system for a data platform that allows for secure and controlled access to data applications by consumer users, while also providing flexibility in terms of application identification, roles, and execution environment.