US2014222866A1PendingUtilityA1
Accessing objects in hosted storage
Est. expiryFeb 1, 2033(~6.5 yrs left)· nominal 20-yr term from priority
Inventors:Navneet Joneja
G06F 16/1824G06F 16/113G06F 21/6218G06F 2221/2141G06F 16/168G06F 16/13G06F 17/30194
46
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A hosted storage system receives a storage request that includes a single object and conforms to an API implemented by the hosted storage system. The API is designed to only support a single object in a storage request. The hosted storage system, in response to determining that the single object is an archive file, extracts each of the bundled files from the archive file and stores each of the extracted files in the hosted storage system such that each of the extracted files is separately accessible by the client system over the network.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for storing multiple files in a hosted storage system, the method comprising:
receiving, at a hosted storage system, a storage request sent by a client system over a network to the hosted storage system, the storage request including a single object and conforming to a API implemented by the hosted storage system for accessing storage services provided by the hosted storage system over the network, wherein the API is designed to only support a single object in a storage request; extracting, at the hosted storage system, the single object from the received storage request; determining that the single object is an archive file composed of multiple bundled files; in response to determining that the single object is an archive file, extracting each of the bundled files from the archive file; and separately storing each of the extracted files in the hosted storage system such that each of the extracted files is separately accessible by the client system over the network.
2 . The method of claim 1 wherein the archive file includes a metadata file with a defined name.
3 . The method of claim 2 wherein the metadata file includes access control information for each of the multiple bundled files, the method further comprising:
extracting the metadata file from the archive;
extracting the access control information for each of the multiple bundled files from the extracted metadata file;
generating an access control list for each of the extracted files based on the extracted access control information; and
storing each access control file in association with the corresponding extracted file.
4 . The method of claim 3 wherein each access control file defines access permissions for the corresponding extracted file.
5 . The method of claim 2 wherein each of the bundled files has a filename designated in the archive file and the metadata file designates a common prefix, the method comprising:
extracting the metadata file from the archive;
extracting the common prefix from the extracted metadata file; and
wherein separately storing the extracted files comprises storing each of the extracted files with a name that includes the common prefix and the filename designated for the extracted file in the archive file.
6 . The method of claim 1 further comprising:
receiving, at the hosted storage system, a retrieval request sent by the client system over the network to the hosted storage system, the retrieval request designating multiple objects and conforming to a API implemented by the hosted storage system for accessing storage services provided by the hosted storage system over the network, wherein the API is designed to only support a single object in a response to the retrieval request;
in response to receiving the retrieval request, accessing the multiple objects designated in the retrieval request;
generating a single response object based on the accessed objects, wherein the response object is an archive file that includes the accessed objects;
generating a response to the retrieval request, the response including the response object; and
sending the response to the retrieval request to the client system over the network.
7 . The method of claim 1 further comprising:
receiving, at the hosted storage system, a retrieval request sent by the client system over the network to the hosted storage system, the retrieval request designating a common prefix and conforming to a API implemented by the hosted storage system for accessing storage services provided by the hosted storage system over the network, wherein the API is designed to only support a single object in a response to the retrieval request;
in response to receiving the retrieval request, identifying one or more objects that include the common prefix in the name of the object;
accessing the identified objects;
generating a single response object based on the accessed objects, wherein the response object is an archive file that includes the accessed objects;
generating a response to the retrieval request, the response including the response object; and
sending the response to the retrieval request to the client system over the network.
8 . The method of claim 7 wherein the prefix is a directory path in the hosted storage system.
9 . The method of claim 1 wherein the API is a RESTful API.
10 . The method of claim 1 wherein the archive file is a compressed archive.
11 . A system for storing multiple files in a hosted storage system, the system comprising:
a hosted storage system configured to:
receive a storage request sent by a client system over a network to the hosted storage system, the storage request including a single object and conforming to a API implemented by the hosted storage system for accessing storage services provided by the hosted storage system over the network, wherein the API is designed to only support a single object in a storage request;
extract the single object from the received storage request;
determine that the single object is an archive file composed of multiple bundled files;
in response to determining that the single object is an archive file, extract each of the bundled files from the archive file;
separately store each of the extracted files in the hosted storage system such that each of the extracted files is separately accessible by the client system over the network; and
the client system configured to:
send, to the hosted storage system over a network, the storage request.
12 . The system of claim 11 wherein the archive file includes a metadata file with a defined name.
13 . The system of claim 12 wherein the metadata file includes access control information for each of the multiple bundled files, the hosted storage system further configured to:
extract the metadata file from the archive;
extract the access control information for each of the multiple bundled files from the extracted metadata file;
generate an access control list for each of the extracted files based on the extracted access control information, the access control lists defining access permissions for the corresponding extracted file; and
store each access control file in association with the corresponding extracted file.
14 . The method of claim 13 wherein each access control file defines access permissions for the corresponding extracted file.
15 . The system of claim 12 wherein each of the bundled files has a filename designated in the archive file and the metadata file designates a common prefix, the hosted storage system further configured to:
extract the metadata file from the archive;
extract the common prefix from the extracted metadata file; and
wherein separately storing the extracted files comprises storing each of the extracted files with a name that includes the common prefix and the filename designated for the extracted file in the archive file.
16 . The system of claim 11 wherein:
the hosted storage system is further configured to:
receive a retrieval request sent by the client system over the network to the hosted storage system, the retrieval request designating multiple objects and conforming to a API implemented by the hosted storage system for accessing storage services provided by the hosted storage system over the network, wherein the API is designed to only support a single object in a response to the retrieval request;
in response to receiving the retrieval request, access the multiple objects designated in the retrieval request;
generate a single response object based on the accessed objects, wherein the response object is an archive file that includes the accessed objects;
generate a response to the retrieval request, the response including the response object; and
send the response to the retrieval request to the client system over the network; and
the client system further configured to:
send, to the hosted storage system, the retrieval request; and
receive, from the hosted storage system, the response to the retrieval request.
17 . The system of claim 11 wherein:
the hosted storage system is further configured to:
receive a retrieval request sent by the client system over the network to the hosted storage system, the retrieval request designating a common prefix and conforming to a API implemented by the hosted storage system for accessing storage services provided by the hosted storage system over the network, wherein the API is designed to only support a single object in a response to the retrieval request;
in response to receiving the retrieval request, identify one or more objects that include the common prefix in the name of the object;
access the identified objects;
generate a single response object based on the accessed objects, wherein the response object is an archive file that includes the accessed objects;
generate a response to the retrieval request, the response including the response object; and
send the response to the retrieval request to the client system over the network; and
the client system is further configured to:
send, to the hosted storage system, the retrieval request; and
receive, from the hosted storage system, the response to the retrival request.
18 . The system of claim 17 wherein the prefix is a directory path in the hosted storage system.
19 . The system of claim 11 wherein the API is a RESTful API.
20 . The system of claim 11 wherein the archive file is a compressed archive.
21 . A computer-readable storage medium storing instructions that, when executed by one or more processing devices, cause the processing device to perform operations comprising:
receiving, at a hosted storage system, a storage request sent by a client system over a network to the hosted storage system, the storage request including a single object and conforming to a API implemented by the hosted storage system for accessing storage services provided by the hosted storage system over the network, wherein the API is designed to only support a single object in a storage request; extracting, at the hosted storage system, the single object from the received storage request; determining that the single object is an archive file composed of multiple bundled files; in response to determining that the single object is an archive file, extracting each of the bundled files from the archive file; and separately storing each of the extracted files in the hosted storage system such that each of the extracted files is separately accessible by the client system over the network.
22 . A system comprising:
a source hosted storage system configured to:
store a plurality of files on behalf of a user; and
send, over a network to a client system, the plurality of files to a client system;
a client system, authorized by the user, configured to:
receive, from the source hosted storage system, the plurality of files;
generate a storage request that includes a single object that is an archive object containing the plurality of files, the storage request conforming to a API implemented by a destination hosted storage system for accessing storage services provided by the destination hosted storage system over the network, wherein the API is designed to only support a single object in a storage request; and
send, over a network to the destination hosted storage system, the storage request; and
the destination hosted storage system configured to:
receive, from the client system, the storage request;
extract the single object from the received storage request;
determine that the single object is an archive file composed of multiple bundled files;
in response to determining that the single object is an archive file, extract each of the bundled files from the archive file; and
separately store each of the extracted files in the destination hosted storage system such that each of the extracted files is separately accessible by the client system over the network.
23 . The system of claim 22 , wherein:
the client system is configured to send, over the network to the source hosted storage system, a retrieval request for the plurality of files, the retrieval request conforming to a second API implemented by the hosted storage system for accessing storage services provided by the hosted storage system over the network, wherein the second API is designed to only support a single object in a response to the retrieval request; and wherein, to send, over the network to a client system, the plurality of files, the source hosed storage system is configured to:
receive the retrieval request;
in response to receiving the retrieval request, access the plurality of files;
generate a single response object based on the plurality of files, wherein the response object is an archive file that includes the plurality of files;
generate a response to the retrieval request, the response including the response object; and
send the response to the retrieval request to the client system over the network.
24 . The system of claim 23 , wherein the second API is the API.
25 . The system of claim 23 , wherein:
to generate a single response object based on the plurality of file, the source hosted storage system is configured to:
include the plurality of files in the response object; and
include metadata associated with the plurality of files; and
to separately store each of the extracted files in the destination hosted storage system such that each of the extracted files is separately accessible by the client system over the network, the destination hosted storage system is configured to:
store the metadata in association with the extracted files.
26 . The system of claim 22 , wherein the client system is a component of the destination hosted storage system.
27 . The system of claim 22 , wherein the source hosted storage system and the destination hosted storage system are under different administrative control.Join the waitlist — get patent alerts
Track US2014222866A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.