Distributed storage for collaboration servers
AssigneeMicrosoft Corporation
InventorsSimon Skaria, Andrew Sean Watson
Life of this patent
Estimating the term…
Abstract
Distributed storage of collaboration data is managed over internal and external data stores in a collaboration service environment based on categorization of the data. The categorization may be based on type of data (e.g. structured vs. unstructured), how the data is accessed, an expected storage life for the data, back-up requirements, and the like. Data that can be stored externally according to its category is then directed to the external storage through a storage provider. A unique identifier associated with the location of the externally stored data is saved in one of the internal data stores for seamless retrieval of data in a transparent manner to the user.
Claims21
1-20. (canceled)
A method to be executed at least in part in a computing device for managing distributed storage of data in a collaboration environment, the method comprising:
- receiving, at a collaboration server, unstructured data to be stored in a collaboration system;
- determining whether at least one portion of the received unstructured data is to be stored in an external data store;
- upon determining that no portion of the received unstructured data is to be stored in the external data store:
- storing all of the received unstructured data in an internal data store managed by the collaboration server;
- upon determining that the at least one portion of the received unstructured data is to be stored in the external data store:
- requesting an identifier generated by a storage provider managing the external data store;
- receiving the identifier from the storage provider;
- providing the at least one portion of the received unstructured data to the storage provider;
- and
- storing the identifier in the internal data store.
A computer storage media having computer-executable instructions for managing distributed storage of data in a collaboration environment, the computer-executable instructions, when executed, performing a method comprising:
- receiving, at a collaboration server, unstructured data to be stored in a collaboration system;
- determining whether at least one portion of the received unstructured data is to be stored in an external data store;
- upon determining that no portion of the received unstructured data is to be stored in the external data store:
- storing all of the received unstructured data in an internal data store managed by the collaboration server;
- upon determining that the at least one portion of the received unstructured data is to be stored in the external data store:
- requesting an identifier generated by a storage provider managing the external data store;
- receiving the identifier from the storage provider;
- providing the at least one portion of the received unstructured data to the storage provider;
- and
- storing the identifier in the internal data store.
A computer system comprising:
- a processor;
- and
- a memory communicatively coupled to the processor, the memory having computer-executable instructions that when executed by the processor, provide a method for managing distributed storage of data in a collaboration environment, the method comprising:
- receiving, at a collaboration server, unstructured data to be stored in a collaboration system;
- determining whether at least one portion of the received unstructured data is to be stored in an external data store;
- upon determining that no portion of the received unstructured data is to be stored in the external data store:
- storing all of the received unstructured data in an internal data store managed by the collaboration server;
- upon determining that the at least one portion of the received unstructured data is to be stored in the external data store:
- requesting an identifier generated by a storage provider managing the external data store;
- receiving the identifier from the storage provider;
- providing the at least one portion of the received unstructured data to the storage provider;
- and
- storing the identifier in the internal data store.
Dependencies are inferred from the claim text.