Cloud based file storage service
AssigneeGoogle Inc.
InventorRyan Cairns
Life of this patent
Estimating the term…
Abstract
A server receives from a user's computer a request to store a file and a file hash value. The server determines whether a file with the same hash value is stored on the server. If so, the server grants access to the server's file copy. If not, the server requests the user to upload the file and stores it. The server grants access to the copy by sending the user a pointer to the copy's storage location and associating the user with the pointer in a database. The server can challenge the user's right to access the copy by requesting a file password or a portion of the file stored on the user's computer. The server can limit access to the server's copy to users who successfully respond to the challenge.
Claims20
A computer implemented method for storing files on a cloud-based server, the method comprising:
- receiving, at the cloud-based server, from a client computer controlled by the user, a hash value for a file;
- determining, through at least one processor of the cloud-based server, whether a file with a hash value identical to the received hash value is already stored on the cloud-based server;
- if a file with a hash value identical to the received hash value is already stored on the cloud-based server, further:
- challenging the user's right to access the copy of the file that is stored on the cloud-based server;
- receiving the user's response to the challenge;
- determining whether the user has the right to access the copy of the file that is stored on the cloud-based server based on the user's response to the challenge;
- and
- granting the user the right to access the copy of the file that is stored on the cloud-based server when the user successfully responds to the challenge.
A computer implemented method, comprising:
- determining, at a client computer, a hash value for a file;
- sending, from the client computer, to the cloud-based server the hash value for the file;
- if a file with a hash value identical to the received hash value is already stored on the cloud-based server, further:
- challenging the user's right to access a copy of the file that is stored on the cloud-based server;
- receiving the user's response to the challenge;
- determining whether the user has the right to access the copy of the file that is stored on the cloud-based server based on the user's response to the challenge;
- and
- granting the user the right to access the copy of the file that is stored on the cloud-based server when the user successfully responds to the challenge;
- and
- receiving, at the client computer, a response from the cloud-based server granting access to a copy of the file that is stored on the cloud-based server.
A computer program product, stored on a tangible machine readable medium, comprising instructions operable to cause one or more programmable processors of a computer system to:
- receive, at the cloud-based server, from a client computer controlled by the user, a hash value for a file;
- determine whether a file with a hash value identical to the received hash value is already stored on the cloud-based server;
- and
- if a file with a hash value identical to the received hash value is already stored on the server further cause the one or more programmable processors of the computer system to:
- challenge the user's right to access the copy of the file that is stored on the cloud-based server;
- receive the user's response to the challenge;
- determine whether the user has the right to access the copy of the file that is stored on the cloud-based server based on the user's response to the challenge;
- and
- grant the user the right to access the copy of the file that is stored on the cloud-based server when the user successfully responds to the challenge.
Dependencies are inferred from the claim text.