APPENDING TO FILES VIA SERVER-SIDE CHUNKING AND MANIFEST MANIPULATION
First Claim
1. A method for modifying object data in a cloud storage system, the method comprising:
- storing a segmented file as a plurality of individual stored object segments and a manifest, wherein each of the plurality of individually stored object segments correspond to a portion of the data in the segmented file, and wherein the manifest describes the relationship of the plurality of individually stored object segments to the segmented file sufficient to reconstitute the segmented file;
receiving a first data range and an instruction to include object data from the first data range in the segmented file;
storing information from the first data range in at least one new object segment;
modifying the manifest such that a reconstruction of the segmented file includes the object data from the first data range as well as information from the plurality of preexisting object segments.
5 Assignments
0 Petitions
Accused Products
Abstract
Several different embodiments of a segmented object storage system are described. The object storage system divides files into a number of object segments, each segment corresponding to a portion of the object, and stores each segment individually in the cloud storage system. The system also generates and stores a manifest file describing the relationship of the various segments to the original data file. Requests to retrieve the segmented file are fulfilled by consulting the manifest file and using the information from the manifest to reconstitute the original data file from the constituent segments. Modifying, appending to, or truncating the object is accomplished by manipulating individual segments and the manifest file. In further embodiments, manipulation of the individual object segments and/or the manifest is used to implement copy-on-write, snapshotting, software transactional memory, and peer-to-peer transmission of the large file.
131 Citations
22 Claims
-
1. A method for modifying object data in a cloud storage system, the method comprising:
-
storing a segmented file as a plurality of individual stored object segments and a manifest, wherein each of the plurality of individually stored object segments correspond to a portion of the data in the segmented file, and wherein the manifest describes the relationship of the plurality of individually stored object segments to the segmented file sufficient to reconstitute the segmented file; receiving a first data range and an instruction to include object data from the first data range in the segmented file; storing information from the first data range in at least one new object segment; modifying the manifest such that a reconstruction of the segmented file includes the object data from the first data range as well as information from the plurality of preexisting object segments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for implementing localized changes to a data object in a cloud storage system, the method comprising:
-
storing a segmented file as a plurality of individual stored object segments and a first manifest, wherein each of the plurality of individually stored object segments correspond to a portion of the data in the segmented file, and wherein the first manifest describes the relationship of the plurality of individually stored object segments to the segmented file sufficient to reconstitute the segmented file; receiving a request for write access to the segmented file; creating a copy-on-write segmented file responsive to the request for write access to the segmented file, wherein creating the copy-on-write segmented file includes creating a second manifest file wherein the second manifest initially describes the relationship of the plurality of individually stored object segments to the segmented file in a manner identical to the first manifest; receiving a first data range and an instruction to include object data from the first data range in the copy-on-write segmented file; storing information from the first data range in at least one new object segment; modifying the second manifest such that a reconstruction of the copy-on-write segmented file includes the object data from the first data range as well as information from the plurality of preexisting object segments. - View Dependent Claims (14, 15, 16)
-
-
17. A network file system, the system including:
-
a storage management server, the storage management server further comprising a processor, a network interface and a filesystem export module; at least one computer-readable storage coupled to the storage management server; wherein the computer-readable storage includes a plurality of individual stored object segments and a first manifest, wherein each of the plurality of individually stored object segments correspond to a portion of the data in the filesystem, and wherein the first manifest describes the relationship of the plurality of individually stored object segments to the filesystem sufficient for the filesystem export module to present a filesystem interface in response to communications received over the network interface. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification