System and method for managing user data in a plurality of storage appliances over a wide area network for collaboration, protection, publication, or sharing
First Claim
1. A method of operating a server, coupled to a database system and to a wide area network, to manage user data in a plurality of storage appliances coupled to a wide area network, the method comprising:
- establishing in the database system, via the server, information for each registered user including (1) a user account, (2) a set of registered storage appliances, and (3) a set of container designations for storage of the user data, wherein each container designation is associated with a registered storage appliance;
establishing and storing in the database system a set of relationships that are based on designations by the users, each relationship corresponding to sharing privileges that have been granted to one of the registered storage appliances for a container designation associated with another of the registered storage appliances; and
using a central service running on the server, coupled to the database system, to deliver relationship data, based on the set of relationships, to the storage appliances so as to (1) enable the appliances to substantiate the containers therein, and (2) replicate user data in container designations among storage appliances, on a peer-to-peer basis, in a manner consistent with the set of relationships, andwherein the central service operates without interaction with user data stored in the containers.
10 Assignments
0 Petitions
Accused Products
Abstract
In various embodiments, the present invention relates to a method of operating a server to manage user data in a plurality of storage appliances. The method involves establishing in a database system, via the server, information for each registered user; establishing and storing in the database system a set of relationships, based on designations by the users, among registered storage appliances and container designations; and using a central service running on the server to deliver storage appliance-container relationship data to the storage appliances so as to enable the appliances to substantiate the containers therein, and to replicate user data with other storage appliances that have substantiated corresponding containers, in a manner consistent with the stored relationships, and wherein the central service operates without interaction with user data stored in the containers.
20 Citations
21 Claims
-
1. A method of operating a server, coupled to a database system and to a wide area network, to manage user data in a plurality of storage appliances coupled to a wide area network, the method comprising:
-
establishing in the database system, via the server, information for each registered user including (1) a user account, (2) a set of registered storage appliances, and (3) a set of container designations for storage of the user data, wherein each container designation is associated with a registered storage appliance; establishing and storing in the database system a set of relationships that are based on designations by the users, each relationship corresponding to sharing privileges that have been granted to one of the registered storage appliances for a container designation associated with another of the registered storage appliances; and using a central service running on the server, coupled to the database system, to deliver relationship data, based on the set of relationships, to the storage appliances so as to (1) enable the appliances to substantiate the containers therein, and (2) replicate user data in container designations among storage appliances, on a peer-to-peer basis, in a manner consistent with the set of relationships, and wherein the central service operates without interaction with user data stored in the containers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A storage appliance comprising:
-
a storage device; a wide area network interface; a storage controller, coupled to the wide area interface, that receives from a server, over the wide area network, relationship data regarding sharing privileges that have been granted to other storage appliances for user data in the storage device and causes sharing, with the other storage appliances on a peer-to-peer basis, of the user data in the storage device consistent with the relationship data; wherein the storage appliance requires no local user interface for obtaining the relationship data. - View Dependent Claims (12, 13)
-
-
14. A method of transmitting data to a storage appliance over a wide area network, the method comprising:
on receipt at a server of a token identifying a receiving user, providing via the server, to a host computer of a sender, a computer program that provides a mechanism for selection, by the sender, of a file to be sent and, upon the sender'"'"'s command, causes the file to be transmitted directly over the wide area network from the host computer of the sender to a storage appliance of the receiving user on a peer-to-peer basis, without storage of the file at the server, wherein the storage appliance is running a process that communicates with processes established by the computer program.
-
15. A method of transmitting data over a wide area network from a storage appliance of a sending user, the method comprising:
on receipt at a server of a URL established by the sending user by commanding a sending program running on a host computer of the sending user to send a file selected by the sending user to a recipient, providing via the server to a host computer of the recipient, a receiving computer program downloadable via the URL that communicates with the sending user'"'"'s storage appliance in causing the file to be transmitted directly from the storage appliance of the sending user to the host computer of the recipient on a peer-to-peer basis without storage of the file at the server.
-
16. A storage client comprising:
-
a processor; a storage application that runs on the processor; a local memory in communication with the storage application; and a storage appliance interface in communication with the storage application, wherein the storage application is configured to provide a user interface enabling a user to select, for each of a number of containers stored on the storage appliance, whether the container is accessed remotely by the storage application via the storage appliance interface or locally cached by the storage appliance, wherein the storage appliance obtains contents of the container from another storage appliance on a peer-to-peer basis in a manner consistent with relationship data from a central service. - View Dependent Claims (17, 18, 19)
-
-
20. A method for synchronizing contents of a storage container across a plurality of storage appliances, the method comprising:
-
transmitting, on a peer-to-peer basis, by a first storage appliance to a second storage appliance, change history information for a container that is shared between the first storage appliance and the second storage appliance; processing the change history information by the second storage appliance to resolve any conflicts with any other change history information related to the container; transmitting, on a peer-to-peer basis, by the second storage appliance to the first storage appliance, a request for the first storage appliance to send any modified files for the container to the second storage appliance; upon receiving, on a peer-to-peer basis, a modified file for the container from the first storage appliance, updating the contents of the container by the second storage appliance based on the modified file received from the first storage appliance; updating, by the second storage appliance, a change history associated with the container to reflect the updated contents of the container; and repeating the steps of transmitting, processing, transmitting, and updating until the first and second storage appliances have the same file data in their respective copies of the container.
-
-
21. A method of operating a plurality of servers, each server coupled to a corresponding database system and to a wide area network and having a central service coupled to its corresponding database system, to manage user data in a plurality of storage appliances coupled to a wide area network, the method comprising:
-
operating the servers so as to; a. establish, via a given one of the servers, for a given registered user, a user account, a set of registered storage appliances, and a set of container designations for storage of user data, wherein each container designation is associated with a registered storage appliance; b. store in the database system associated with the given one of the servers a set of relationships that have been established by the user, each relationship corresponding to sharing privileges that have been granted to one of the registered storage appliances for a container designation associated with another of the registered storage appliances; c. synchronize data in the database systems so that each database system replicates data in each of the other database systems; and d. repeat the processes above for all registered users so that each of the database systems stores a set of relationships, collectively established by all the users, among the registered storage appliances and the container designations; and using the central service to update relationship data, based on the set of relationships, to the storage appliances so as to (1) enable the storage appliances to substantiate the containers therein, and (2) replicate files among storage appliances, on a peer-to-peer basis, in a manner consistent with the set of relationships, and wherein the central services operate without interaction with user data stored in the containers.
-
Specification