IP Library Granted Patent US 8,312,237
Granted Patent B2
US 8,312,237 · App. 12/789,166 · Granted Nov 13, 2012

Automated relocation of in-use multi-site protected data storage

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,312,237
App. No.
12/789,166
Granted
Nov 13, 2012
Kind
B2
Abstract

Methods of providing access to data are presented. The method includes providing a storage grid which includes a source chain of storage nodes and a target chain of storage nodes, the source chain including a primary source node and a secondary source node which operates as a data mirror of the primary source node, and the target chain including a primary target node and a secondary target node which operates as a data mirror of the primary target node. The method also includes initially storing data on the source chain, the primary source node of the source chain maintaining a primary source copy of the data, and the secondary source node of the source chain maintaining a secondary source copy of the data. The method further includes relocating the data from the source chain to the target chain, the primary target node of the target chain maintaining a primary target copy of the data, and the secondary target node of the target chain maintaining a secondary target copy of the data, access to the data being continuously provided from the storage grid to an external device before, during, and after relocation of the data from the source chain to the target chain.

Claims (61)

1. A method of providing access to data, the method comprising:

providing a storage grid which includes a source chain of storage nodes and a target chain of storage nodes, the source chain including a primary source node and a secondary source node which operates as a data mirror of the primary source node, and the target chain including a primary target node and a secondary target node which operates as a data mirror of the primary target node;

initially storing data on the source chain, the primary source node of the source chain maintaining a primary source copy of the data, and the secondary source node of the source chain maintaining a secondary source copy of the data; and

relocating the data from the source chain to the target chain, the primary target node of the target chain maintaining a primary target copy of the data, and the secondary target node of the target chain maintaining a secondary target copy of the data, access to the data being continuously provided from the storage grid to an external device before, during, and after relocation of the data from the source chain to the target chain.

2. A method as in claim 1 wherein the primary source node and the primary target node reside at a first location;

wherein the secondary source node and the secondary target node reside at a second location which is different than and remote from the first location; and

wherein relocating the data from the source chain to the target chain includes deleting the data from the source chain after (i) the primary target node of the target chain maintains the primary target copy of the data, and (ii) the secondary target node of the target chain maintains the secondary target copy of the data.

3. A method as in claim 2 wherein the external device is a server which stores a policy; and wherein initially storing the data on the source chain includes:

making, as the primary source copy of the data maintained by the primary source node, a first backup of the policy stored on the server, and

making, as the secondary source copy of the data maintained by the secondary source node, a second backup of the policy stored on the server.

4. A method as in claim 3 , further comprising:

performing a restoration operation which restores at least a portion of the policy from the data on the source chain back to the server.

5. A method as in claim 2 wherein the external device is a server which stores a policy; and wherein relocating the data from the source chain to the target chain includes:

making, as the primary target copy of the data maintained by the primary target node, a first backup of the policy stored on the server, and

making, as the secondary target copy of the data maintained by the secondary target node, a second backup of the policy stored on the server.

6. A method as in claim 5 , further comprising:

performing a restoration operation which restores at least a portion of the policy from the data relocated from the source chain to the target chain back to the server.

7. A method as in claim 2 wherein the external device is a server which stores a policy; and wherein the method further comprises, prior to relocating the data from the source chain to the target chain:

at the primary source node, periodically receiving policy changes from the server and updating the primary source copy of the data maintained by the primary source node with the policy changes received from the server, and

at the secondary source node, periodically receiving the policy changes from the primary source node and updating the secondary source copy of the data maintained by the secondary source node with the policy changes received from the primary source node.

8. A method as in claim 7 , further comprising, after relocating the data from the source chain to the target chain:

at the primary target node, periodically receiving further policy changes from the server and updating the primary target copy of the data maintained by the primary target node with the further policy changes received from the server, and

at the secondary target node, periodically receiving the further policy changes from the primary target node and updating the secondary target copy of the data maintained by the secondary target node with the further policy changes received from the primary target node.

9. A method as in claim 8 wherein a chain database is constructed and arranged to store chain entries, each chain entry of the chain database defining a chain of storage nodes;

wherein a source chain entry of the chain database defines the source chain;

wherein updating the secondary source copy of the data maintained by the secondary source node with the policy changes received from the primary source node includes sending, based on the source chain entry, the policy changes from the primary source node to the secondary source node through a computerized public network which spans the first and second locations.

10. A method as in claim 9 wherein a target chain entry of the chain database defines the target chain; and

wherein updating the secondary target copy of the data maintained by the secondary target node with the further policy changes received from the primary target node includes sending, based on the target chain entry, the further policy changes from the primary target node to the secondary target node through the computerized public network which spans the first and second locations, the target chain entry being different than the source chain entry.

11. A method as in claim 2 wherein relocating the data from the source chain to the target chain includes:

replicating the primary source copy of the data maintained by the primary source node to the primary target node to form the primary target copy of the data maintained by the primary target node, and

replicating the secondary source copy of the data maintained by the secondary source node to the secondary target node to form the secondary target copy of the data maintained by the secondary target node.

12. A method as in claim 11 wherein the external device is a server which stores a policy; and wherein the method further comprises, during relocation of the data from the source chain to the target chain:

at the primary source node, receiving a policy change from the server and updating the primary source copy of the data maintained by the primary source node with the policy change received from the server,

at the primary target node, receiving the policy change from the primary source node and updating the primary target copy of the data maintained by the primary target node with the policy change received from the primary source node,

at the secondary source node, receiving the policy change from the primary target node and updating the secondary source copy of the data maintained by the secondary source node with the policy change received from the primary target node, and

at the secondary target node, receiving the policy change from the secondary source node and updating the secondary target copy of the data maintained by the secondary target node with the policy change received from the secondary source node.

13. A method as in claim 12 wherein a chain database is constructed and arranged to store chain entries, each chain entry of the chain database defining a chain of storage nodes; and wherein the method further comprises:

storing a temporary chain entry in the chain database, the temporary chain entry defining a temporary chain which is different than each of the source chain and the target chain, and including (i) the primary source node, (ii) the primary target node, (iii) the secondary source node, and (iv) the secondary target node, arranged in series.

14. A method as in claim 13 , further comprising:

communicating with each of (i) the primary source node, (ii) the primary target node, (iii) the secondary source node, and (iv) the secondary target node, to establish the temporary chain, the policy change traversing the storage grid in accordance with the established temporary chain during relocation of the data from the source chain to the target chain.

15. A system to provide access to data, the system comprising:

a storage grid having a source chain of storage nodes and a target chain of storage nodes, the source chain including a primary source node and a secondary source node which operates as a data mirror of the primary source node, and the target chain including a primary target node and a secondary target node which operates as a data mirror of the primary target node;

a relocation circuit coupled to the source chain of storage nodes and the target chain of storage nodes, the relocation circuit being constructed and arranged to:

direct initial storage of data on the source chain, the primary source node of the source chain maintaining a primary source copy of the data, and the secondary source node of the source chain maintaining a secondary source copy of the data, and

direct relocation of the data from the source chain to the target chain, the primary target node of the target chain maintaining a primary target copy of the data, and the secondary target node of the target chain maintaining a secondary target copy of the data, access to the data being continuously provided from the storage grid to an external device before, during, and after relocation of the data from the source chain to the target chain.

16. A system as in claim 15 wherein the primary source node and the primary target node reside at a first location;

wherein the secondary source node and the secondary target node reside at a second location which is different than and remote from the first location; and

wherein the relocation circuit, when relocating the data from the source chain to the target chain, is constructed and arranged to delete the data from the source chain after (i) the primary target node of the target chain maintains the primary target copy of the data, and (ii) the secondary target node of the target chain maintains the secondary target copy of the data.

17. A system as in claim 16 wherein the external device is a server which stores a policy; and wherein the relocation circuit, when directing initial storage of data on the source chain, is constructed and arranged to:

make, as the primary source copy of the data maintained by the primary source node, a first backup of the policy stored on the server, and

make, as the secondary source copy of the data maintained by the secondary source node, a second backup of the policy stored on the server.

18. A computer program product having a non-transitory computer readable storage medium which stores code thereon, the code when executed by a computer causing the computer to provide access to data, the code including:

instructions to direct operation of a storage grid which includes a source chain of storage nodes and a target chain of storage nodes, the source chain including a primary source node and a secondary source node which operates as a data mirror of the primary source node, and the target chain including a primary target node and a secondary target node which operates as a data mirror of the primary target node;

instructions to direct initial storage of the data on the source chain, the primary source node of the source chain maintaining a primary source copy of the data, and the secondary source node of the source chain maintaining a secondary source copy of the data; and

instructions to direct relocation of the data from the source chain to the target chain, the primary target node of the target chain maintaining a primary target copy of the data, and the secondary target node of the target chain maintaining a secondary target copy of the data, access to the data being continuously provided from the storage grid to an external device before, during, and after relocation of the data from the source chain to the target chain.

19. A computer program product as in claim 18 wherein the primary source node and the primary target node reside at a first location;

wherein the secondary source node and the secondary target node reside at a second location which is different than and remote from the first location; and

wherein the instructions to direct relocation of the data from the source chain to the target chain include instructions to delete the data from the source chain after (i) the primary target node of the target chain maintains the primary target copy of the data, and (ii) the secondary target node of the target chain maintains the secondary target copy of the data.

20. A computer program product as in claim 19 wherein the external device is a server which stores a policy; and wherein the instructions to direct initial storage of the data on the source chain include:

instructions to make, as the primary source copy of the data maintained by the primary source node, a first backup of the policy stored on the server, and

instructions to make, as the secondary source copy of the data maintained by the secondary source node, a second backup of the policy stored on the server.

Assignments (9)
SECURITY INTEREST Recorded Jun 26, 2024
From: JUNGLE DISK, LLC; KEEPITSAFE LLC
To: TRUIST BANK
Reel/Frame 067846/0738 →
RELEASE OF SECURITY INTEREST Recorded Jun 26, 2024
From: TEXAS CAPITAL BANK
To: KEEPITSAFE, LLC
Reel/Frame 067851/0608 →
CHANGE OF NAME Recorded Jul 6, 2022
From: KEEPITSAFE, INC.
To: KEEPITSAFE, LLC
Reel/Frame 060611/0760 →
SECURITY INTEREST Recorded Sep 27, 2021
From: KEEPITSAFE, INC.
To: TEXAS CAPITAL BANK
Reel/Frame 057605/0908 →
RELEASE OF SECURITY INTEREST Recorded Sep 20, 2021
From: MUFG UNION BANK, N.A.
To: KEEPITSAFE, INC.
Reel/Frame 057530/0491 →
SECURITY INTEREST Recorded Apr 8, 2021
From: EVERYDAY HEALTH, INC.; KEEPITSAFE, INC.; OOKLA, LLC; SPICEWORKS, INC.; THREATTRACK SECURITY, INC.; RETAILMENOT, INC.
To: MUFG UNION BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 056969/0755 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2016
From: AUTONOMY, INC.
To: KEEPITSAFE, INC.
Reel/Frame 038344/0154 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2012
From: IRON MOUNTAIN INCORPORATED
To: AUTONOMY, INC.
Reel/Frame 028103/0838 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2010
From: KOZIY, LEILA; PALUMBO, THOMAS M.
To: IRON MOUNTAIN INCORPORATED
Reel/Frame 024557/0113 →