IP Library Granted Patent US 9,426,218
Granted Patent B2
US 9,426,218 · App. 14/977,085 · Granted Aug 23, 2016

Virtual storage appliance gateway

Inventors: Joseph P. CaraDonna (Ashland, MA); David Anthony Slik (Northridge, CA); Darrell Gene Suggs (Raleigh, NC)
Assignee: NetApp, Inc.
H04L67/1095G06F9/45558G06F17/30575H04L67/1097H04L67/141G06F2009/45583G06F2009/45595
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 9,426,218
App. No.
14/977,085
Granted
Aug 23, 2016
Kind
B2
Abstract

A network connection is established between a virtual storage appliance (VSA) in a virtual machine and a storage server system. The virtual machine can run on a computing device remote to the storage server system. Access is provided to a second shared namespace of data at the VSA over the network connection. The second shared namespace is a policy defined subset of a first shared namespace of the storage server system. Data in the second shared namespace is accessible at the storage server system by at least one other computing device communicatively coupled to the storage server system. The data in the second shared namespace at the VSA is replicated to create a local copy at the computing device. Changes to the local copy are synchronized with the data in the second shared namespace at the storage sever system.

Claims (34)

1. A method comprising:

establishing a network connection between a virtual storage appliance (VSA) in a virtual machine and a storage server system, wherein the virtual machine runs on a computing device remote to the storage server system, wherein the virtual machine isolates operations of the VSA from other processing activities on the computing device and implements the VSA in an operating system that is different from an operating system of the computing device;

providing access to a second shared namespace of data at the VSA over the network connection, wherein the second shared namespace is a policy defined subset of a first shared namespace of the storage server system, wherein data in the second shared namespace is accessible at the storage server system by at least one other computing device communicatively coupled to the storage server system, wherein the data in the second shared namespace at the VSA is replicated to create a local copy at the computing device; and

synchronizing changes to the local copy with the data in the second shared namespace at the storage server system.

2. The method of claim 1 , wherein synchronizing changes comprises updating changes made to existing data in the local copy.

3. The method of claim 1 , wherein synchronizing changes comprises adding new data created in the local copy at the computing device.

4. The method of claim 1 , further comprising:

reestablishing the network connection in response to a failure of the network connection, wherein the synchronizing is in response to the reestablishing of the network connection.

5. The method of claim 1 , wherein the data in the second shared namespace comprises a smaller subset of data in the first shared namespace.

6. The method of claim 5 , wherein the data in the second shared namespace has a higher priority than at least a portion of the data in the first shared namespace.

7. The method of claim 5 , wherein the data in the second shared namespace is defined as more critical for access than at least a portion of the data in the first shared namespace.

8. One or more non-transitory machine-readable storage media having program code for operating a storage server system stored therein, the program code comprising instructions to:

establish a network connection between a virtual storage appliance (VSA) in a virtual machine and the storage server system, wherein the virtual machine runs on a computing device remote to the storage server system, wherein the virtual machine isolates operations of the VSA from other processing activities on the computing device and implements the VSA in an operating system that is different from an operating system of the computing device;

provide access to a second shared namespace of data at the VSA over the network connection, wherein the second shared namespace is a policy defined subset of a first shared namespace of the storage server system, wherein data in the second shared namespace is accessible at the storage server system by at least one other computing device communicatively coupled to the storage server system, wherein the data in the second shared namespace at the VSA is replicated to create a local copy at the computing device; and

synchronize changes to the local copy with the data in the second shared namespace at the storage server system.

9. The one or more non-transitory machine-readable storage media of claim 8 , wherein the program code comprising instructions to synchronize changes comprises program code having instructions to update changes made to existing data in the local copy.

10. The one or more non-transitory machine-readable storage media of claim 8 , wherein the program code comprising instructions to synchronize changes comprises program code having instructions add new data created in the local copy at the computing device.

11. The one or more non-transitory machine-readable storage media of claim 8 , wherein the program code comprises instructions to:

reestablish the network connection in response to a failure of the network connection, wherein the program code comprising instructions to synchronize comprises program code to synchronize in response to the network connection being reestablished.

12. The one or more non-transitory machine-readable storage media of claim 8 , wherein the data in the second shared namespace comprises a smaller subset of data in the first shared namespace.

13. The one or more non-transitory machine-readable storage media of claim 12 , wherein the data in the second shared namespace has a higher priority than at least a portion of the data in the first shared namespace.

14. The one or more non-transitory machine-readable storage media of claim 12 , wherein the data in the second shared namespace is defined as more critical for access than at least a portion of the data in the first shared namespace.

15. An apparatus comprising:

a processor; and

a machine-readable medium having program code executable by the processor to cause the apparatus to,

establish a network connection between a virtual storage appliance (VSA) in a virtual machine and a storage server system, wherein the virtual machine runs on a computing device remote to the storage server system, wherein the virtual machine isolates operations of the VSA from other processing activities on the computing device and implements the VSA in an operating system that is different from an operating system of the computing device;

provide access to a second shared namespace of data at the VSA over the network connection, wherein the second shared namespace is a policy defined subset of a first shared namespace of the storage server system, wherein data in the second shared namespace is accessible at the storage server system by at least one other computing device communicatively coupled to the storage server system, wherein the data in the second shared namespace at the VSA is replicated to create a local copy at the computing device, wherein the data in the second shared namespace comprises a smaller subset of data in the first shared namespace; and

synchronize changes to the local copy with the data in the second shared namespace at the storage server system.

16. The apparatus of claim 15 , wherein the program code comprising instructions to synchronize changes comprises program code having instructions to update changes made to existing data in the local copy.

17. The apparatus of claim 15 , wherein the program code comprising instructions to synchronize changes comprises program code having instructions add new data created in the local copy at the computing device.

18. The apparatus of claim 15 , wherein the program code comprises instructions to:

reestablish the network connection in response to a failure of the network connection, wherein the program code comprising instructions to synchronize comprises program code to synchronize in response to the network connection being reestablished.

19. The apparatus of claim 15 , wherein the data in the second shared namespace has a higher priority than at least a portion of the data in the first shared namespace.

20. The apparatus of claim 15 , wherein the data in the second shared namespace is defined as more critical for access than at least a portion of the data in the first shared namespace.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2015
From: CARADONNA, JOSEPH P.; SLIK, DAVID; SUGGS, DARRELL G.
To: NETAPP, INC.
Reel/Frame 037344/0320 →
Continuity (2)
Continuation 13458199 · Apr 27, 2012
Related Publication 20160112513A1 · Apr 21, 2016