IP Library Granted Patent US 9,237,195
Granted Patent B2
US 9,237,195 · App. 13/458,199 · Granted Jan 12, 2016

Virtual storage appliance gateway

Inventors: Joseph P. CaraDonna (Ashland, MA); David Slik (Burnaby, CA); Darrell G. Suggs (Raleigh, NC)
Assignee: NetApp, Inc.
H04L67/1097G06F17/30165G06F17/30235G06F17/30292G06F17/30339
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,237,195
App. No.
13/458,199
Filed
Apr 27, 2012
Granted
Jan 12, 2016
Kind
B2
Art Unit
2448
USPC
709/214
Abstract

Methods and apparatuses for operating a storage system are provided. In one example, a storage system includes a storage server and a virtual storage appliance (VSA) implemented in a virtual machine. The storage server provides access to a first shared namespace of data. The VSA is operatively connected to the storage server system over a network connection and provides access to a second shared namespace of data over the network connection. The second shared namespace is defined by a policy and includes a subset of the first shared namespace. The VSA also replicates data of a third shared namespace of data at the VSA making the third shared namespace available at the VSA when the network connection is unavailable. The third namespace is defined by the policy and includes a subset of the second shared namespace.

Claims (67)

1. A storage system, comprising:

a storage server system including a first shared namespace of data; and

a virtual storage appliance (VSA) implemented in a virtual machine running on a computing device remote to the storage server system, the computing device operatively connected to the storage server system over a network connection, to:

provide access to a second shared namespace of data over the network connection, wherein the second shared namespace is defined by a policy and includes a shared subset of the first shared namespace; and

replicate data of a third shared namespace of data at the VSA running on the computing device remote to the storage server system to make the replicated data of the third shared namespace available at the VSA when the network connection is unavailable, wherein the third shared namespace is defined by the policy and includes a subset of the second shared namespace;

wherein the virtual machine isolates operations of the virtual storage appliance from other processing activities on the computing device and implements the virtual storage appliance in an operating system that is different from an operating system of the computing device.

2. The storage system of claim 1 wherein the VSA is configured to:

permit a modification of a dataset in the third shared namespace at the VSA when the network connection is unavailable; and

synchronize the modification with the first shared namespace based on the policy when the network connection is available.

3. The storage system of claim 1 wherein the VSA is configured to:

permit creation of a new dataset in the third shared namespace at the VSA when the network connection is unavailable; and

adding the new dataset to the first shared namespace when the network connection is available.

4. The storage system of claim 1 further comprising:

a peer VSA implemented in the virtual machine, operatively connected to the storage server system over the network connection, to:

provide access to a fourth shared namespace of data over the network connection, wherein the fourth shared namespace is defined by the policy and includes a subset of the first shared namespace; and

replicate data of a fifth namespace of data at the peer VSA making the data of the fifth namespace available at the peer VSA when the network connection is unavailable, wherein the fifth namespace is a subset of the fourth shared namespace.

5. The storage system of claim 4 wherein the VSA and the peer VSA comprise a VSA cluster.

6. The storage system of claim 1 wherein the storage server system comprises a plurality of data storage devices operated and the VSA as a federated group, and wherein modifications of or additions to the third shared namespace of data at the VSA are synchronized within the federated croup when the network connection is available.

7. The storage system of claim 1 wherein the virtual machine is implemented in an end user computing device.

8. A method of operating a storage system, 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;

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; and

replicating data of a third shared namespace of data at the VSA running on the computing device remote to the storage server system to make the data of the third shared namespace available at the VSA when the network connection is unavailable, wherein the third shared namespace is a policy defined subset of the second shared namespace;

wherein the virtual machine isolates operations of the virtual storage appliance from other processing activities on the computing device and implements the virtual storage appliance in an operating system that is different from an operating system of the computing device.

9. The method of claim 8 further comprising:

permitting a modification of a dataset in the third shared namespace at the VSA when the network connection is unavailable; and

synchronizing the modification with the first shared namespace when the network connection is available.

10. The method of claim 8 further comprising:

permitting creation of a new dataset in the third shared namespace at the VSA when the network connection is unavailable; and

adding the new dataset to the first shared namespace when the network connection is available.

11. The method of claim 8 further comprising:

providing access to a fourth shared namespace of data over the network connection at a peer VSA, wherein the fourth shared namespace is a policy defined subset of the first shared namespace; and

replicating data of a fifth shared namespace of data at the peer VSA making the data of the fifth shared namespace available at the peer VSA when the network connection is unavailable, wherein the fifth shared namespace is a policy defined subset of the fourth shared namespace.

12. The method of claim 11 wherein the peer VSA is implemented in the virtual machine.

13. The method of claim 11 wherein the peer VSA is implemented in another virtual machine.

14. The method of claim 11 further comprising accessing the replicated data of the fifth namespace through the VSA.

15. The method of claim 8 wherein the storage server system comprises a plurality of data storage devices operated as a federated group.

16. The method of claim 15 wherein the VSA is included in the federated group.

17. The method of claim 8 wherein the virtual machine is implemented in a portable end user computing device.

18. A non-transitory machine-readable storage medium storing instructions, that, when executed by one or more processors, direct the one or more processors 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;

provide access to a second shared namespace of data at the VSA, wherein the second shared namespace is a policy defined subset of a first shared namespace of the storage server system;

replicate data of a third shared namespace of data at the VSA running on the computing device remote to the storage server system making the data of the third shared namespace available at the VSA when the network connection is unavailable, wherein the third shared namespace is a policy defined subset of the second shared namespace;

permit a modification of a dataset in the third shared namespace at the VSA when the network connection is unavailable; and

synchronize the modification with the first shared namespace when the network connection is available;

wherein the virtual machine isolates operations of the virtual storage appliance from other processing activities on the computing device and implements the virtual storage appliance in an operating system that is different from an operating system of the computing device.

19. The non-transitory machine-readable storage medium of claim 18 wherein the instructions further direct the one or more processors to:

permit creation of a new dataset in the third shared namespace at the VSA when the network connection is unavailable; and

add the new dataset to the first shared namespace when the network connection is available.

20. The non-transitory machine-readable storage medium of claim 18 wherein the instructions further direct the one or more processors to

provide access to a fourth shared namespace of data over the network connection at a peer VSA, wherein the fourth shared namespace is a policy defined subset of the first shared namespace; and

replicate data of a fifth shared namespace of data at the peer VSA making the data of the fifth shared namespace available at the peer VSA when the network connection is unavailable, wherein the fifth shared namespace is a policy defined subset of the fourth shared namespace.

21. The non-transitory machine-readable storage medium of claim 20 wherein the peer VSA is implemented in the virtual machine.

22. The non-transitory machine-readable storage medium of claim 20 wherein the peer VSA is implemented in another virtual machine.

23. The non-transitory machine-readable storage medium of claim 20 wherein the instructions further direct the one or more processors to provide the VSA access to the replicated data of the fifth namespace at the peer VSA.

24. The non-transitory machine-readable storage medium of claim 18 wherein the storage server system comprises a plurality of data storage devices operated as a federated group.

25. The non-transitory machine-readable storage medium of claim 24 wherein the VSA is included in the federated group.

26. A processing device comprising a virtual machine that includes a virtual storage appliance (VSA) running on a computing device remote to a storage server system, the computing device operatively connected to the storage server system over a network connection, to:

provide access to a second shared namespace of data over the network connection, wherein the second shared namespace is a subset of a first shared namespace of data in the storage server system;

replicate data of a third shared namespace of data at the VSA running on the computing device remote to the storage server system, wherein the third shared namespace is a subset of the second shared namespace;

permit a modification of an existing dataset in the third shared namespace at the VSA when the network connection is unavailable;

synchronize the modification with the first shared namespace when the network connection is available;

permit creation of a new dataset in the third shared namespace at the VSA when the network connection is unavailable; and

add the new dataset to the first shared namespace when the network connection is available;

wherein the virtual machine isolates operations of the virtual storage appliance from other processing activities on the computing device and implements the virtual storage appliance in an operating system that is different from an operating system of the computing device.

27. The processing device of claim 26 wherein the virtual machine includes additional VSAs configured to operate with the VSA as a cluster.

28. The processing device of claim 26 wherein the VSA and the storage server system comprise a federated group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2012
From: CARADONNA, JOSEPH P.; SLIK, DAVID; SUGGS, DARRELL G.
To: NETAPP, INC.
Reel/Frame 028590/0842 →
Continuity (1)
Related Publication 20130290470A1 · Oct 31, 2013