Message-based database replication
AssigneeSnowflake Inc.
InventorsDamien Carru, Robert Bengt Benedikt Gernhardt, Martin Hentschel, Nithin Mahesh, Eric Robinson
Life of this patent
Estimating the term…
Loading patent…
AssigneeSnowflake Inc.
InventorsDamien Carru, Robert Bengt Benedikt Gernhardt, Martin Hentschel, Nithin Mahesh, Eric Robinson
Estimating the term…
A networked device communication system can configure network devices (e.g., a primary and secondary database) to send and receive sequences of messages, such as replicated data, using one or more keypairs and wrapping keys. The sequences of messages can include an initial set of messages that are encrypted by a wrapping key, and further include another set of messages that are encrypted by a replaced staggered key. The sequence of messages can be configured to be decrypted without exporting keys of hardware security modules.
A method comprising:
A system comprising:
A non-transitory machine-storage medium embodying instructions that, when executed by a machine, cause the machine to perform operations comprising:
Dependencies are inferred from the claim text.
From the US filing history. Foreign family members aren’t listed.
Drawings are temporarily unavailable. Open the PDF at USPTO
Using a plurality of keys or algorithms: the keys or algorithms being changed during operation
Wherein the data content is protected, e.g. by encrypting or encapsulating the payload: wherein the sending and receiving network entities apply…
Of structured data, e.g. relational data: replication, distribution or synchronisation of data between databases or within a distributed database…
Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords: revocation or update of secret…
About 13 years 6 months of term left · ends 30 Apr 2040 (estimated)
The present disclosure generally relates to special-purpose machines that manage databases and improvements to such variants, and to the technologies by which such special-purpose machines become improved compared to other special-purpose machines for transmitting data between networked devices.
Databases are used for data storage and access in computing applications. A goal of database storage is to provide enormous sums of information in an organized manner so that it can be accessed, managed, and updated. In a database, data may be organized into rows, columns, and tables. Different database storage systems may be used for storing different types of content, such as bibliographic, full text, numeric, and/or image content. Further, in computing, different database systems may be classified according to the organization approach of the database. There are many different types of databases, including relational databases, distributed databases, cloud databases, object-oriented and others.
In some instances, it may be beneficial to replicate database data in multiple locations or on multiple storage devices. Replicating data can safeguard against system failures that may render data inaccessible over a cloud network and/or may cause data to be lost or permanently unreadable.
Various ones of the appended drawings merely illustrate example embodiments of the present disclosure and should not be considered as limiting its scope.
FIG. 1 illustrates an example computing environment in which a network-based data warehouse system can implement streams on shared database objects, according to some example embodiments.
FIG. 2 is a block diagram illustrating components of a compute service manager, according to some example embodiments.
The description that follows includes systems, methods, techniques, instruction sequences, and computing machine program products that embody illustrative embodiments of the disclosure. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide an understanding of various embodiments of the inventive subject matter. It will be evident, however, to those skilled in the art, that embodiments of the inventive subject matter may be practiced without these specific details. In general, well-known instruction instances, protocols, structures, and techniques are not necessarily shown in detail.
As discussed, it can be difficult to manage secure network links between database systems. An example networked database system includes a virtual private cloud deployment that uses data storage devices and compute resources dedicated to that deployment. Different deployments can be linked, and channels can be set up to send and receive data between the deployments. For example, deployment_A and deployment_B can create a link over which a stream of data sent between the deployments is encrypted by a shared symmetric key. If multiple deployments are to share data, they can each store the symmetric key, and each can send and receive data using the shared symmetric key, according to some example embodiments.
In some example embodiments, to increase network security, each deployment includes a hardware security module (HSM), which is a physical computing device that safeguards and manages digital keys for strong authentication and provides crypto-processing for that deployment. Example HSMs can be implemented as a plug-in card or server rack module that attaches directly to a computer or network service running within the deployment's cloud execution instances. In some example embodiments, a given deployment's HSM is provided by a cloud provider as a network service, along with the provided execution units (e.g., Amazon S3, Google Cloud, Microsoft Azure each offer HSM services for their cloud compute units, e.g., virtual machines).