IP Library › Granted Patent US 11,539,672
Granted Patent B2
US 11,539,672 · App. 17/808,429 · Granted Dec 27, 2022

Private virtual network replication of cloud databases

Inventors: Robert Bengt Benedikt Gernhardt (Seattle, WA); Mikhail Kazhamiaka (Bellevue, WA); Eric Robinson (Sammamish, WA); Rodney Weaver (Kenmore, WA)
Assignee: Snowflake Inc.
H04L63/0272G06F16/27H04L63/0281H04L63/0435
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,539,672
App. No.
17/808,429
Granted
Dec 27, 2022
Kind
B2
Abstract

A network device communication system can configure network devices (e.g., a primary and secondary database) to send and receive sequences messages, such as replication data, over a channel comprising a plurality of private network nodes. The messages can be generated and encrypted using one or more key pairs and changing wrapping replication keys to send and receive the messages between different types of database deployments.

Claims (55)

1. A method comprising:

identifying, using one or more processors of a machine, a virtual private network connected to a first database deployment and a second database deployment;

identifying database items generated by the first database deployment;

determining that the database items are for transmission to the second database deployment; and

in response to determining that the database items are for transmission to the second database deployment, transmitting the database items from the first database deployment to the second database deployment via the virtual private network that is connected to the first database deployment and the second database deployment.

2. The method of claim 1 , further comprising: receiving further database items from the second database deployment via the virtual private network.

3. The method of claim 1 , further comprising:

generating additional database items by the first database deployment;

determining that the additional database items are for transmission to a third database deployment; and

in response to determining that the additional database items are for transmission to the third database deployment, transmitting the additional database items over the Internet.

4. The method of claim 3 , wherein the additional database items are transmitted over the Internet not using the virtual private network.

5. The method of claim 3 , wherein the additional database items are encrypted and transmitted over the Internet using Transport Security Layer (TLS).

6. The method of claim 1 , wherein the first database deployment connects to the virtual private network using one or more of: a hosted connection, a direct port connection, a physical connection.

7. The method of claim 6 , wherein the physical connection is a physical cord connection from a hardware device of the first database deployment and the additional hardware device of the virtual private network.

8. The method of claim 1 , wherein the second database deployment connects to the virtual private network using one or more of: a hosted connection, a direct port connection, a physical connection.

9. The method of claim 1 , wherein the database items are received by a network load balancer in the second database deployment.

10. The method of claim 9 , wherein the second database deployment distributes, using the network load balancer, the database items to one or more servers in the second database deployment.

11. The method of claim 1 , further comprising:

distributing the further database items using a network load balancer of the first database deployment, the further database items distributed to one or more servers in the first database deployment.

12. A system comprising:

one or more processors of a machine; and

at least one memory storing instructions that, when executed by the one or more processors, cause the machine to perform operations comprising:

identifying a virtual private network connected to a first database deployment and a second database deployment;

identifying database items generated by the first database deployment;

determining that the database items are for transmission to the second database deployment; and

in response to determining that the database items are for transmission to the second database deployment, transmitting the database items from the first database deployment to the second database deployment via the virtual private network that is connected to the first database deployment and the second database deployment.

13. The system of claim 12 , further comprising: receiving further database items from the second database deployment via the virtual private network.

14. The system of claim 12 , further comprising:

generating additional database items by the first database deployment;

determining that the additional database items are for transmission to a third database deployment; and

in response to determining that the additional database items are for transmission to the third database deployment, transmitting the additional database items over the Internet.

15. The system of claim 14 , wherein the additional database items are transmitted over the Internet not using the virtual private network.

16. The system of claim 14 , wherein the additional database items are encrypted and transmitted over the Internet using Transport Security Layer (TLS).

17. The system of claim 12 , wherein the first database deployment connects to the virtual private network using one or more of: a hosted connection, a direct port connection, a physical connection.

18. The system of claim 17 , wherein the physical connection is a physical cord connection from a hardware device of the first database deployment and the additional hardware device of the virtual private network.

19. The system of claim 12 , wherein the second database deployment connects to the virtual private network using one or more of: a hosted connection, a direct port connection, a physical connection.

20. The system of claim 12 , wherein the database items are received by a network load balancer in the second database deployment.

21. The system of claim 20 , wherein the second database deployment distributes, using the network load balancer, the database items to one or more servers in the second database deployment.

22. The system of claim 12 , further comprising:

distributing the further database items using a network load balancer of the first database deployment, the further database items distributed to one or more servers in the first database deployment.

23. A non-transitory computer-storage medium embodying instructions that, when executed by a machine, cause the machine to perform operations comprising:

identifying a virtual private network connected to a first database deployment and a second database deployment;

identifying database items generated by the first database deployment;

determining that the database items are for transmission to the second database deployment; and

in response to determining that the database items are for transmission to the second database deployment, transmitting the database items from the first database deployment to the second database deployment via the virtual private network that is connected to the first database deployment and the second database deployment.

24. The non-transitory computer-storage medium of claim 23 , further comprising: receiving further database items from the second database deployment via the virtual private network.

25. The non-transitory computer-storage medium of claim 23 , further comprising:

generating additional database items by the first database deployment;

determining that the additional database items are for transmission to a third database deployment; and

in response to determining that the additional database items are for transmission to the third database deployment, transmitting the additional database items over the Internet.

26. The non-transitory computer-storage medium of claim 25 , wherein the additional database items are transmitted over the Internet not using the virtual private network.

27. The non-transitory computer-storage medium of claim 25 , wherein the additional database items are encrypted and transmitted over the Internet using Transport Security Layer (TLS).

28. The non-transitory computer-storage medium of claim 23 , wherein the first database deployment connects to the virtual private network using one or more of: a hosted connection, a direct port connection, a physical connection.

29. The non-transitory computer-storage medium of claim 28 , wherein the physical connection is a physical cord connection from a hardware device of the first database deployment and the additional hardware device of the virtual private network.

30. The non-transitory computer-storage medium of claim 23 , wherein the second database deployment connects to the virtual private network using one or more of: a hosted connection, a direct port connection, a physical connection.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: GERNHARDT, ROBERT BENGT BENEDIKT; KAZHAMIAKA, MIKHAIL; ROBINSON, ERIC; WEAVER, RODNEY
To: SNOWFLAKE INC.
Reel/Frame 060294/0580 →
Continuity (7)
Continuation 17644854 · Dec 17, 2021
Continuation 17463338 · Aug 31, 2021
Continuation 17219716 · Mar 31, 2021
Continuation 17162919 · Jan 29, 2021
Continuation 17086258 · Oct 30, 2020
Continuation 16862996 · Apr 30, 2020
Related Publication 20220321538A1 · Oct 6, 2022
Cited By (1)
US 12,537,799