US2014222866A1PendingUtilityA1

Accessing objects in hosted storage

Assignee: GOOGLE INCPriority: Feb 1, 2013Filed: Feb 1, 2013Published: Aug 7, 2014
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-modified
What 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.