IP Library Granted Patent US 8,504,670
Granted Patent B2
US 8,504,670 · App. 12/818,872 · Granted Aug 6, 2013

Virtualized data storage applications and optimizations

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 8,504,670
App. No.
12/818,872
Granted
Aug 6, 2013
Kind
B2
Abstract

Virtual storage arrays consolidate branch data storage at data centers connected via wide area networks. Virtual storage arrays appear to storage clients as local data storage, but actually store data at the data center. Virtual storage arrays may prioritize storage client and prefetching requests for communication over the WAN and/or SAN based on their associated clients, servers, storage clients, and/or applications. A virtual storage array may transfer large data sets from a data center to a branch location while providing branch location users with immediate access to the data set stored at the data center. Virtual storage arrays may be migrated by disabling a virtual storage array interface at a first branch location and then configuring another branch virtual storage array interface at a second branch location to provide its storage clients with access to storage array data stored at the data center.

Claims (49)

1. A method of migrating a block storage device between network locations, the method comprising:

configuring a first block storage device interface at a first branch network location to access a first logical storage in a block storage device at a data center network location, wherein the data center network location is connected with the first branch network location via a wide area network;

providing block storage access to a first storage client at the first branch network location via the first block storage device interface by retrieving storage blocks from the first logical storage in the block storage device via the wide area network;

disabling the block storage access to the first storage client to prevent the first storage client from accessing the storage blocks from the first logical storage in the block storage device;

configuring a second block storage device interface at a second branch network location to access the first logical storage in the block storage device at the data center network location, wherein the data center network location is connected with the second branch network location via the wide area network;

providing block storage access to a second storage client at the second branch network location via the second block storage device interface by retrieving storage blocks from the first logical storage in the block storage device via the wide area network; and

wherein disabling the block storage access to the first storage client comprises:

suspending a first virtual machine executing at the first branch network location using virtual machine data stored in the first logical storage in the block storage device at the data center location, and

restarting the suspended first virtual machine at the second branch network location using the virtual machine data stored in the first logical storage in the block storage device at the data center location.

2. The method of claim 1 , wherein disabling the block storage access to the first storage client comprises: identifying updated storage blocks in a first storage block cache at the branch network location; transferring the updated storage blocks from the first storage block cache to the first logical storage in the block storage device at the data center location via the wide area network; and storing the updated storage blocks in the first logical storage in the block storage device.

3. The method of claim 1 , wherein disabling the block storage access to the first storage client is in response to a schedule.

4. The method of claim 1 , comprising:

establishing a network connection between the first block storage device interface at the first branch location and the second block storage device interface at the second branch location via the wide area network;

configuring the first block storage device interface at a first branch network location to access the first logical storage through the second block storage device interface at the second network location; and

providing block storage access to the first storage client at the first branch network location via the first block storage device interface by retrieving storage blocks from the first logical storage in the block storage device with the second block storage device interface and communicating retrieved storage blocks from the second block storage device interface to the first block storage device interface.

5. A non-transitory computer-readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of migrating a block storage device between network locations, the method comprising:

configuring a first block storage device interface at a first branch network location to access a first logical storage in a block storage device at a data center network location, wherein the data center network location is connected with the first branch network location via a wide area network;

providing block storage access to a first storage client at the first branch network location via the first block storage device interface by retrieving storage blocks from the first logical storage in the block storage device via the wide area network;

disabling the block storage access to the first storage client to prevent the first storage client from accessing the storage blocks from the first logical storage in the block storage device;

configuring a second block storage device interface at a second branch network location to access the first logical storage in the block storage device at the data center network location, wherein the data center network location is connected with the second branch network location via the wide area network;

providing block storage access to a second storage client at the second branch network location via the second block storage device interface by retrieving storage blocks from the first logical storage in the block storage device via the wide area network; and

wherein disabling the block storage access to the first storage client comprises:

suspending a first virtual machine executing at the first branch network location using virtual machine data stored in the first logical storage in the block storage device at the data center location, and

restarting the suspended first virtual machine at the second branch network location using the virtual machine data stored in the first logical storage in the block storage device at the data center location.

6. The non-transitory computer-readable storage medium of claim 5 , wherein disabling the block storage access to the first storage client comprises:

identifying updated storage blocks in a first storage block cache at the branch network location; transferring the updated storage blocks from the first storage block cache to the first logical storage in the block storage device at the data center location via the wide area network; and storing the updated storage blocks in the first logical storage in the block storage device.

7. The non-transitory computer-readable storage medium of claim 5 , wherein disabling the block storage access to the first storage client is in response to a schedule.

8. The non-transitory computer-readable storage medium of claim 5 , comprising:

establishing a network connection between the first block storage device interface at the first branch location and the second block storage device interface at the second branch location via the wide area network;

configuring the first block storage device interface at a first branch network location to access the first logical storage through the second block storage device interface at the second network location; and providing block storage access to the first storage client at the first branch network location via the first block storage device interface by retrieving storage blocks from the first logical storage in the block storage device with the second block storage device interface and communicating retrieved storage blocks from the second block storage device interface to the first block storage device interface.

9. An apparatus, comprising:

a processor; and

a storage medium storing instructions that, when executed by the processor, cause the apparatus to perform a method of migrating a block storage device between network locations, the method comprising:

configuring a first block storage device interface at a first branch network location to access a first logical storage in a block storage device at a data center network location, wherein the data center network location is connected with the first branch network location via a wide area network;

providing block storage access to a first storage client at the first branch network location via the first block storage device interface by retrieving storage blocks from the first logical storage in the block storage device via the wide area network;

disabling the block storage access to the first storage client to prevent the first storage client from accessing the storage blocks from the first logical storage in the block storage device;

configuring a second block storage device interface at a second branch network location to access the first logical storage in the block storage device at the data center network location, wherein the data center network location is connected with the second branch network location via the wide area network;

providing block storage access to a second storage client at the second branch network location via the second block storage device interface by retrieving storage blocks from the first logical storage in the block storage device via the wide area network; and

wherein disabling the block storage access to the first storage client comprises:

suspending a first virtual machine executing at the first branch network location using virtual machine data stored in the first logical storage in the block storage device at the data center location, and

restarting the suspended first virtual machine at the second branch network location using the virtual machine data stored in the first logical storage in the block storage device at the data center location.

10. The apparatus of claim 9 , wherein disabling the block storage access to the first storage client comprises: identifying updated storage blocks in a first storage block cache at the branch network location;

transferring the updated storage blocks from the first storage block cache to the first logical storage in the block storage device at the data center location via the wide area network; and

storing the updated storage blocks in the first logical storage in the block storage device.

11. The apparatus of claim 9 , wherein disabling the block storage access to the first storage client is in response to a schedule.

12. The apparatus of claim 9 , comprising:

establishing a network connection between the first block storage device interface at the first branch location and the second block storage device interface at the second branch location via the wide area network;

configuring the first block storage device interface at a first branch network location to access the first logical storage through the second block storage device interface at the second network location; and

providing block storage access to the first storage client at the first branch network location via the first block storage device interface by retrieving storage blocks from the first logical storage in the block storage device with the second block storage device interface and communicating retrieved storage blocks from the second block storage device interface to the first block storage device interface.

Assignments (20)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
PATENT SECURITY AGREEMENT Recorded Sep 13, 2013
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 031216/0968 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2010
From: WU, DAVID TZE-SI; MCCANNE, STEVEN; DEMMER, MICHAEL J.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 024907/0030 →