# US 2019/0171729 A1 · Enhanced techniques for copying cloud stored files

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0171729 A1
- Document ID: US20190171729A1
- Status: Published application
- Kind: A1
- Application number: 15/831,341
- Filed: 2017-12-04
- Published: 2019-06-06
- Earliest claimed: 2017-12-04
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Neal Robert CHRISTIANSEN; Ping Xie; Trevor Van Leeuwen; Jack Allen Nichols; Brian David Jones
- Web page: https://patentgrep.com/patent/US20190171729A1

## CPC

- G06F 16/178: Techniques for file synchronisation in file systems
- G06F 16/122: {using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185)}
- G06F 16/182: Distributed file systems
- G06F 16/184: {implemented as replicated file system}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system to enable a user to generate copies of files at a client device and to cause a file hosting platform to generate backups of these copies in a cloud database without transferring file content data for these files between the client device and the cloud database. When a user copies a file from a first folder on a client device to a second folder on the client device, the system may determine that the file content data for this file is already present in the cloud database. Then, rather than uploading the file content data to the cloud database from the client device, the system may cause a file hosting platform to access the file content data directly from the cloud database to perform a file copy operation.

## Claims

### Claim 1

A client device for remotely initiating file copy operations that are contained within a cloud data layer, the client device comprising:
a local drive;
one or more processors;
a memory in communication with the one or more processors, the memory having computer-readable instructions stored thereupon which, when executed by the one or more processors, cause the client device to:
determine an electronic folder structure for providing access to one or more files at the client device;
display a file-browser graphical user interface (GUI) showing the one or more files arranged within the electronic folder structure, wherein the file-browser GUI enables a user to generate selection data indicating an individual file, of the one or more files, and a destination path within the electronic folder structure to copy the individual file to;
generate, based on the selection data, a copy instruction that indicates at least the destination path and a source file ID blob corresponding to the individual file;
transmit the copy instruction to a synchronization engine to cause the synchronization engine to communicate at least some aspects of the copy instruction to a file hosting platform storing content data of the individual file, and wherein the at least some aspects cause the file hosting platform to initiate a file copy operation to generate a file copy by copying a first instance of the content data from a source path in a cloud database to generate a second instance of the content data at the destination path in the cloud database;
receive a response that indicates at least a destination file ID blob corresponding to the file copy at the destination path; and
update, at the local drive, the electronic folder structure to include a placeholder for providing access to the file copy at the client device, wherein the placeholder indicates at least the destination file ID blob.

### Claim 2 (depends on 1)

The client device of claim 1, wherein the computer-readable instructions further cause the client device to:
determine a hydration status, of the individual file, that indicates whether the content data of the individual file is stored in the local drive; and
determine the at least some aspects of the copy instruction based at least in part on the hydration status.

### Claim 3 (depends on 2)

The client device of claim 2, wherein the computer-readable instructions further cause the client device to include the source file ID blob within the copy instruction based at least in part on the hydration status indicating that the individual file is a dehydrated file such that the content data is absent from the local drive.

### Claim 4 (depends on 1)

The client device of claim 1, wherein the file-browser GUI is generated in accordance with a user application that enables the user to copy dehydrated files, that are stored within the electronic folder structure at the local drive, to remotely initiate the file copy operations for copying hydrated files, that correspond to the dehydrated files, within the electronic folder structure at the cloud database.

### Claim 5 (depends on 1)

The client device of claim 1, wherein the computer-readable instructions further cause the client device to:
receive reporting data that indicates at least progress of the file copy operation associated with an amount of the first instance of the content data that has been copied from the source path in the cloud database to the second instance of the content data at the destination path in the cloud database; and
display, based on the reporting data, a progress indicator GUI that graphically indicates the progress of the file copy operation.

### Claim 6 (depends on 1)

The client device of claim 1, wherein the computer-readable instructions further cause the client device to:
display, during the file copy operation, a GUI that enables the user to generate second selection data that indicates a cancellation of the copy instruction; and
generate, based on the second selection data, a cancellation instruction that causes the placeholder to be removed from the electronic folder structure at the local drive, and wherein the synchronization engine communicates at least some aspects of the cancellation instruction to the file hosting platform to cause the file hosting platform to terminate the file copy operation.

### Claim 7 (depends on 1)

The client device of claim 1, wherein the individual file is a hydrated file for which the content data is redundantly stored at both the local drive and the cloud database.

### Claim 8 (depends on 1)

The client device of claim 1, wherein the synchronization engine is configured to cause, in response to the individual file being dehydrated at the client device, the content data to be copied at the cloud database without receiving an upload of the content data from the client device.

### Claim 9 (depends on 1)

The client device of claim 1, wherein the copy instruction that indicates the source file ID blob includes an operation ID that is associated with the placeholder, and wherein the computer-readable instructions further cause the client device to:
associate the destination file ID blob with the placeholder in response to the operation ID being included within the response that indicates the destination file ID blob.

### Claim 10

A computer-implemented method comprising:
determining a local electronic folder structure that includes at least a set of dehydrated files associated with content data that is absent from a local drive of a client device;
receiving, at a client device, selection data indicating an individual dehydrated file, of the set of dehydrated files, to copy to a destination path within the local electronic folder structure;
generating, based on the selection data, a dehydrated file copy of the individual dehydrated file at the destination path within the local electronic folder structure at the client device; and
causing, based on the selection data, a file hosting platform to initiate a file copy operation within a cloud database, the file copy operation including:
identifying, within the cloud database, an individual hydrated file that is a hydrated counterpart to the individual dehydrated file of the local electronic folder structure; and
copying a portion of the content data that corresponds to the individual hydrated file to generate, within the cloud database, a hydrated file copy to serve a hydrated counterpart to the dehydrated file copy.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, further comprising:
providing a source file ID blob, that is stored in association with the individual dehydrated file at the local electronic folder structure, to the file hosting platform to facilitate identifying the hydrated counterpart within the file hosting platform.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, further comprising:
receiving, from the file hosting platform, a destination file ID blob that facilitates identification of the hydrated file copy in the cloud database; and
storing, at the local drive, the destination file ID blob in the local electronic folder in association with the dehydrated file copy to define a correlation between the dehydrated file copy at the client device and the hydrated file copy at the cloud database.

### Claim 13 (depends on 10)

The computer-implemented method of claim 10, wherein the generating the dehydrated file copy at the destination path within the local electronic folder structure includes copying, at the client device and based on the selection data, at least some metadata of the individual dehydrated file to the destination path within the local electronic folder structure.

### Claim 14 (depends on 10)

The computer-implemented method of claim 10, wherein the local electronic folder structure is an at least partially dehydrated parent directory that is designated for synchronization with the cloud database to maintain a hydrated counterpart to the at least partially dehydrated parent directory such that local copy operations of dehydrated files trigger the file hosting platform to initiate cloud copy operations of corresponding hydrated files.

### Claim 15 (depends on 10)

The computer-implemented method of claim 10, wherein the selection data that causes the file hosting platform to initiate the file copy operation within the cloud data layer is generated based on at least one of a drag-and-drop command or a copy-and-paste command performed by the user via a file-browser graphical user interface (GUI).

### Claim 16

A client device comprising:
a local drive;
one or more processors;
a memory in communication with the one or more processors, the memory having computer-readable instructions stored thereupon which, when executed by the one or more processors, cause the client device to:
determine a local directory structure that includes a set of dehydrated files associated with first content data that is absent from the local drive and a set of hydrated files associated with second content data that is stored on the local drive;
receive selection data that indicates an individual file from the local directory structure, and a destination path within the local directory structure to generate a file copy of the individual file;
determine a hydration status of the individual file to dynamically adjust a file copy operation for copying the individual file at a file hosting platform, wherein the hydration status indicates whether content data of the individual file is stored in the local drive of the client device; and
based on the hydration status indicating that the individual file is dehydrated at the local drive, transmit at least a source file ID blob to the file hosting platform to cause the file hosting platform to:
identify a first hydrated counterpart, to the individual file, that is stored in a cloud database; and
generate, in the cloud database, a second hydrated counterpart to the file copy by copying the first hydrated counterpart.

### Claim 17 (depends on 16)

The client device of claim 16, wherein the computer-readable instructions further cause the client device to:
receive second selection data that indicates a second individual file from the local directory structure, and a second destination path within the local directory structure to generate a second file copy of the second individual file; and
based at least in part on a determination that the second individual file is hydrated at the local drive, upload second content data of the second individual file from the local drive to the file hosting platform.

### Claim 18 (depends on 17)

The client device of claim 17, wherein uploading the second content data from the local drive to the file hosting platform is further based on the second individual file being synchronized with a corresponding counterpart file that exists on the cloud database.

### Claim 19 (depends on 16)

The client device of claim 16, wherein the computer-readable instructions further cause the client device to receive, from the file hosting platform, a destination file ID blob that facilitates identification of the second hydrated counterpart in the cloud database.

### Claim 20 (depends on 19)

The client device of claim 19, wherein the computer-readable instructions further cause the client device to associate the destination file ID blob with the file copy in the local drive.
