IP Library Granted Patent US 10,484,471
Granted Patent B2
US 10,484,471 · App. 14/709,306 · Granted Nov 19, 2019

Bridging clouds

Inventors: John Keith Fullbright (Evans, GA); Mark Beaupre (Los Gatos, CA); Lee Gates (Seatte, WA)
Assignee: NETAPP, INC.
H04L67/1097H04L12/4641H04L45/02H04L45/04H04L45/14H04L45/64H04L67/16
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 10,484,471
App. No.
14/709,306
Granted
Nov 19, 2019
Kind
B2
Abstract

Technology is disclosed for bridging clouds of computing devices for compute and data storage. The technology can receive a virtual routing table (VRT), wherein the VRT indicates an association with a virtual local area network (VLAN) and defines neighbors for each route wherein at least one neighbor is defined for each of the two different cloud service providers, wherein the route definition creates a private transitive network between the neighbors; receive from a first node a first message destined for a second node; determine that the first message employs the route specified by the VRT; forward the first message to the second node; receive from a third node a second message destined for the second node; determine that the second message does not employ the route specified by the VRT; and fail to forward the second message to the second node.

Claims (26)

1. A method comprising:

creating, by a storage device, a first virtual local area network (VLAN) and a second VLAN;

routing, by the storage device using a first virtual routing table (VRT) associated with the first VLAN and a first tenant in the first VLAN, a first Internet Protocol (IP) message between the first tenant and a first cloud service provider, wherein the first cloud service provider is identified as a neighbor in the first VRT, and the first IP message includes a first header indicating in a protocol level different than IP that the first cloud service provider is to receive the first IP message; and

routing, by the storage device using a second VRT associated with the second VLAN and a second tenant in the second VLAN, a second Internet Protocol (IP) message between the second tenant and a second cloud service provider, the second IP message including a second header indicating in the protocol level different than IP that the second cloud service provider is to receive the second IP message, wherein the first cloud service provider and the second cloud service provider have an overlapping IP address range, and wherein the first IP message and the second IP message are directed to the overlapping IP address range at the first cloud service provider and the second cloud service provider.

2. The method of claim 1 , wherein the first header comprises a header field with an identifier for the first VLAN.

3. The method of claim 1 , further comprising creating a port of the first VLAN on a physical interface of a storage cluster of the first tenant, wherein the physical interface is connected to a trunk port of the first VRT.

4. The method of claim 1 , wherein the first VRT is identified as a labeled portion of a virtual routing and forwarding (VRF) table.

5. The method of claim 1 , wherein the second VRT is partitioned from the first VRT.

6. A computing device comprising:

a memory containing machine-readable medium comprising machine executable code having stored thereon instructions for performing a method of exchanging data across different cloud service providers; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:

create, by a storage device, a first virtual local area network (VLAN) and a second VLAN;

route, by the storage device using a first virtual routing table (VRT) associated with the first VLAN and a first tenant in the first VLAN, a first Internet Protocol (IP) message between the first tenant and a first cloud service provider, wherein the first cloud service provider is identified as a neighbor in the first VRT, and the first IP message includes a first header indicating in a protocol level different than IP that the first cloud service provider is to receive the first IP message; and

route, by the storage device using a second VRT associated with the second VLAN and a second tenant in the second VLAN, a second Internet Protocol (IP) message between the second tenant and a second cloud service provider, the second IP message including a second header indicating in the protocol level different than IP that the second cloud service provider is to receive the second IP message, wherein the first cloud service provider and the second cloud service provider have an overlapping IP address range, and wherein the first IP message and the second IP message are directed to the overlapping IP address range at the first cloud service provider and the second cloud service provider.

7. The computing device of claim 6 , wherein the first header comprises a header field with an identifier for the first VLAN.

8. The computing device of claim 6 , further comprising code to cause the processor to create a port of the first VLAN on a physical interface of a storage cluster of the first tenant, wherein the physical interface is connected to a trunk port of the first VRT.

9. The computing device of claim 6 , wherein the first VRT is identified as a labeled portion of a virtual routing and forwarding (VRF) table.

10. The computing device of claim 6 , wherein the second VRT is partitioned from the first VRT.

11. A non-transitory machine-readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the at least one machine to:

create, by a storage device, a first virtual local area network (VLAN) and a second VLAN;

route, by the storage device using a first virtual routing table (VRT) associated with the first VLAN and a first tenant in the first VLAN, a first Internet Protocol (IP) message between the first tenant and a first cloud service provider, wherein the first cloud service provider is identified as a neighbor in the first VRT, and the first IP message includes a first header indicating in a protocol level different than IP that the first cloud service provider is to receive the first IP message; and

route, by the storage device using a second VRT associated with the second VLAN and a second tenant in the second VLAN, a second Internet Protocol (IP) message between the second tenant and a second cloud service provider, the second IP message including a second header indicating in the protocol level different than IP that the second cloud service provider is to receive the second IP message, wherein the first cloud service provider and the second cloud service provider have an overlapping IP address range, and wherein the first IP message and the second IP message are directed to the overlapping IP address range at the first cloud service provider and the second cloud service provider.

12. The non-transitory machine-readable medium of claim 11 , wherein the first header comprises a header field with an identifier for the first VLAN.

13. The non-transitory machine-readable medium of claim 11 , further comprising code to cause the machine to create a port of the first VLAN on a physical interface of a storage cluster of the first tenant, wherein the physical interface is connected to a trunk port of the first VRT.

14. The non-transitory machine-readable medium of claim 11 , wherein the first VRT is identified as a labeled portion of a virtual routing and forwarding (VRF) table.

15. The non-transitory machine-readable medium of claim 11 , wherein the second VRT is partitioned from the first VRT.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2015
From: FULLBRIGHT, JOHN KEITH; BEAUPRE, MARK; GATES, LEE
To: NETAPP, INC.
Reel/Frame 037251/0553 →
Continuity (2)
Provisional Application 61992106 · May 12, 2014
Related Publication 20150326467A1 · Nov 12, 2015
Cited By (1)
US 12,719,936