IP Library Granted Patent US 9,396,156
Granted Patent B2
US 9,396,156 · App. 13/804,436 · Granted Jul 19, 2016

System and method for socially organized storage and shared access to storage appliances

Inventors: Geoffrey S. Barrall (San Jose, CA); John B. Turner (Sunnyvale, CA); David Gary Mendelson (San Carlos, CA); Brad Lee Morse (Sunnyvale, CA); Joel Feaster (Boise, ID)
Assignee: Connected Data, Inc.
G06F15/167G06F17/30292
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,396,156
App. No.
13/804,436
Granted
Jul 19, 2016
Kind
B2
Abstract

In various embodiments, the present invention relates to systems and methods for managing user data in a plurality of storage appliances coupled to a wide area network. In some embodiments, the present invention relates to systems and methods that allow users to view and manipulate files in a shared virtual container. In other embodiments, the present invention also relates to systems and methods that allow users to access virtual containers located on storage appliances that are owned by other users.

Claims (39)

1. A computer program product for propagating, over a wide area network, a change, to data in a local storage appliance under control of a first computing device of a first user, to remote storage appliances under control of computing devices of other users, the computer program product comprising a non-transitory computer-readable medium having computer readable program code stored thereon, wherein the computer readable program code, when being run by a processor in the local appliance, is configured to cause the local storage appliance to perform computer processes comprising:

receiving a change to data in a virtual container associated with the local storage appliance, the local storage appliance being under control of the first computing device of the first user;

responsive to the change, sending a request over a wide area network to a central server for information regarding the virtual container, the central server storing a set of relationships, each relationship identifying a distinct remote storage appliance that has been granted sharing privileges for the virtual container and is thus linked to the virtual container;

in response to the request, receiving over the wide area network from the central server identifying information for a set of remote storage appliances, corresponding to the set of relationships with respect to the virtual container, wherein the set of remote storage appliances is controlled via computing devices of users other than the first user; and

transmitting, over the wide area network, a data update corresponding to the change from the local storage appliance to the set of remote storage appliances, on a peer-to-peer basis, so that the set of remote storage appliances are updated to reflect the change.

2. The computer program product of claim 1 , wherein sending the request includes sending an identifier for the virtual container.

3. The computer program product of claim 1 , wherein sending the request includes sending a GetReplicationTargetsForContainer request.

4. The computer program product of claim 1 , wherein receiving the identifying information includes receiving identifying information under conditions wherein the set of remote storage appliances corresponds to a replication/synchronization group associated with the virtual container.

5. The computer program product of claim 1 , wherein transmitting to the set of remote storage appliances includes establishing peer-to-peer connections with the set of remote storage appliances.

6. The computer program product of claim 1 , wherein transmitting to the remote storage appliance includes establishing secure connections over the wide area network with the set of remote storage appliances.

7. The computer program product of claim 1 , wherein transmitting to the set of remote storage appliances includes transmitting updated Container change history information.

8. The computer program product of claim 1 , wherein transmitting to the set of remote storage appliances includes transmitting updated file version history information.

9. The computer program product of claim 1 , wherein transmitting to the set of remote storage appliances includes transmitting updated file data.

10. The computer program product of claim 1 , wherein transmitting to the set of remote storage appliances includes transmitting updated metadata associated with files in the virtual container, wherein the metadata is associated with organization of the files.

11. The computer program product of claim 1 , wherein the computer processes further comprise:

sending to the central server over the wide area network a status update message regarding the change.

12. A method of providing to a new user access to a given storage appliance that is (1) under control of a computer device of another user and (2) coupled to a computer network, the method comprising:

managing, at a server, a database system having owner account data governing access to storage appliances that are registered in the database system, wherein (i) each storage appliance is associated in the database system with at least one owner, (ii) the given storage appliance is one of the registered storage appliances and has a registered owner, (iii) the database system stores a set of relationships that identify users, in addition to the registered owners, who have been granted sharing privileges to storage appliances and their associated virtual containers, and (iv) the storage appliances are configured to share data with each other on a peer-to-peer basis in accordance with the set of relationships that are stored in the database system;

receiving at the server, from a computing device of the new user, a request for a list of virtual containers and storage appliances for which the new user has been granted sharing privileges;

in response to the request, determining, by the server, that a registered owner of the given storage appliance has configured a virtual container on the given storage appliance to be shared with the new user; and

sending, by the server, an identifier of the given storage appliance of the registered owner to the computing device of the new user, so that the computing device can access data on the given storage appliance on a peer-to-peer basis in accordance with the sharing privileges stored in the database system.

13. The method of claim 12 , wherein managing the database system comprises:

receiving, by the server, an indication of an access grant to the new user for the virtual container on the given storage appliance, wherein the indication is received from the registered owner of the given storage appliance; and

storing, by the server, information about the access grant to the new user.

14. The method of claim 13 , wherein receiving the indication of the access grant comprises:

receiving, by the server, an indication of access selected from the group consisting of a grant of read access, a grant of read and write access, and a grant of write access.

15. The method of claim 12 , wherein managing the database system comprises:

receiving, by the server, an indication of an access grant to a group of users, wherein the new user is a member in the group; and

storing, by the server, information about the access grant to each member of the group.

16. The method of claim 12 , wherein receiving the request for the list of virtual containers and storage appliances comprises:

receiving the request from a client application executing on the computing device.

17. The method of claim 12 , wherein determining that the registered owner has configured the virtual container on the given storage appliance to be shared comprises:

retrieving, by the server, the identifier of the given storage appliance from a list of storage appliances that the new user has permission to access.

18. The method of claim 12 , wherein determining that the registered owner has configured the virtual container on the given storage appliance to be shared comprises:

displaying, by the server, information about the relative locations of the given storage appliance and the computing device of the new user.

19. The method of claim 18 , wherein displaying the information about the relative locations comprises:

displaying, by the server, an indication that the given storage appliance and the computing device of the new user are located on the same local area network.

20. The method of claim 18 , wherein displaying the information about the relative locations comprises:

displaying, by the server, an indication that the given storage appliance and the computing device of the new user can communicate over a wide area network.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2023
From: STORCENTRIC, INC.; DROBO, INC.; NEXSAN CORPORATION; NEXSAN TECHNOLOGIES INCORPORATED; VS ACQUISITION COMPANY, LLC; CONNECTED DATA, INC.; RETROSPECT, INC.
To: STORCENTRIC DIP LENDER, LLC
Reel/Frame 063416/0914 →
RELEASE OF SECURITY INTEREST Recorded Apr 24, 2023
From: NEWLIGHT CAPITAL, LLC; UMB BANK, NATIONAL ASSOCIATION
To: STORCENTRIC, INC.; CONNECTED DATA, INC.; DROBO, INC.; NEXSAN TECHNOLOGIES INCORPORATED; NEXSAN CORPORATION; RETROSPECT, INC.
Reel/Frame 063414/0816 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER: 13532559 PREVIOUSLY RECORDED AT REEL: 051860 FRAME: 0839. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 10, 2021
From: STORCENTRIC, INC.; CONNECTED DATA, INC.; DROBO, INC.; NEXSAN TECHNOLOGIES INCORPORATED; NEXSAN CORPORATION; RETROSPECT, INC.
To: NEWLIGHT CAPITAL, LLC; UMB BANK, NATIONAL ASSOCIATION, AS TRUSTEE
Reel/Frame 057156/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2020
From: CONNECTED DATA, INC.
To: NEXSAN CORPORATION
Reel/Frame 051964/0533 →
SECURITY INTEREST Recorded Feb 19, 2020
From: STORCENTRIC, INC.; CONNECTED DATA, INC.; DROBO, INC.; NEXSAN TECHNOLOGIES INCORPORATED; NEXSAN CORPORATION; RETROSPECT, INC.
To: NEWLIGHT CAPITAL, LLC; UMB BANK, NATIONAL ASSOCIATION, AS TRUSTEE
Reel/Frame 051860/0839 →
RELEASE OF SECURITY INTEREST Recorded Feb 19, 2020
From: GORDON BROTHERS FINANCE CO.
To: STORCENTRIC, INC.; DROBO, INC.; NEXSAN CORPORATION; NEXSAN TECHNOLOGIES INCORPORATED; CONNECTED DATA, INC.; NEXSAN TECHNOLOGIES LIMITED; NEXSAN TECHNOLOGIES CANADA INC.
Reel/Frame 051864/0774 →
SHORT FORM INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 17, 2018
From: DROBO, INC.; NEXSAN CORPORATION; NEXSAN TECHNOLOGIES INCORPORATED; CONNECTED DATA, INC.; NEXSAN TECHNOLOGIES LIMITED; NEXSAN TECHNOLOGIES CANADA INC.; DROBO LIMITED
To: GORDON BROTHERS FINANCE COMPANY, AS AGENT
Reel/Frame 046845/0495 →
RELEASE OF SECURITY INTEREST Recorded Aug 14, 2018
From: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
To: CONNECTED DATA, INC.
Reel/Frame 046821/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2014
From: BARRALL, GEOFFREY S.; TURNER, JOHN B.; MENDELSON, DAVID GARY; MORSE, BRAD LEE; FEASTER, JOEL
To: CONNECTED DATA, INC.
Reel/Frame 033715/0425 →
SECURITY AGREEMENT Recorded May 23, 2013
From: CONNECTED DATA, INC.
To: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
Reel/Frame 030486/0841 →
Continuity (4)
Provisional Application 61638866 · Apr 26, 2012
Provisional Application 61731517 · Nov 30, 2012
Provisional Application 61731518 · Nov 30, 2012
Related Publication 20130290464A1 · Oct 31, 2013