IP Library Granted Patent US 10,922,283
Granted Patent B2
US 10,922,283 · App. 16/283,714 · Granted Feb 16, 2021

File synchronization

Inventors: Todd Matters (Royersford, PA); Aniket Kulkarni (Maharashtra, IN); Vibhav Mulay (Maharashtra, IN); Radu Vines (Livermore, CA); Wenqing Jin (Saratoga, CA)
Assignee: RACKWARE, INC.
G06F16/178G06F11/1469G06F2201/80G06F2201/82G06F2201/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,922,283
App. No.
16/283,714
Granted
Feb 16, 2021
Kind
B2
Abstract

Apparatuses, methods, systems, and program products are disclosed for file synchronization. An apparatus includes an origin tracking module that tracks data change information for each of at least one data change in an origin file stored on an origin device. The data change information includes a location of the data change in the origin file and a length of the data change. An apparatus includes a synchronization detecting module that detects a synchronization event associated with the origin file. An apparatus includes a synchronizing module that copies the data of the origin file for each of the at least one data change in the origin file at the tracked location and length to a target file stored on a target device.

Claims (56)

1. An apparatus comprising:

an origin tracking module that tracks data change information for each of at least one data change in an origin file stored on an origin device, the data change information comprising a location of the data change in the origin file and a length of the data change;

a synchronization detecting module that detects a synchronization event associated with the origin file;

a synchronizing module that copies the data of the origin file for each of the at least one data change in the origin file at the tracked location and length to a target file stored on a target device; and

a snapshot module that creates a snapshot of the origin file prior to tracking data changes in the origin file, wherein a current data change tracking session is concluded in response to the snapshot being created,

wherein said modules comprise one or more of hardware circuits, programmable hardware devices, and a processor executing code.

2. The apparatus of claim 1 , wherein the data for each of the at least one data change in the origin file is read from a previously created snapshot on a file block basis prior to sending the data to the target device.

3. The apparatus of claim 1 , wherein the synchronizing module is further configured to queue data for each of the at least one data change in the origin file and sends the data and the corresponding data change information to the target device in a single transaction.

4. The apparatus of claim 1 , wherein the synchronization event comprises detecting a data change to the origin file, the synchronizing module copying the data for the data change to the target file in response to detecting the data change to the origin file.

5. The apparatus of claim 1 , wherein the synchronization event comprises a scheduled synchronization time, the synchronizing module copying data for the at least one data change to the target file in response to the scheduled synchronization time.

6. The apparatus of claim 1 , wherein the synchronizing module initially copies the origin file from the origin device to the target device in response to a copy of the origin file not being stored on the target device prior to tracking data changes to the origin file.

7. The apparatus of claim 1 , wherein the origin tracking module copies the data change information for the origin file to an intermediate device and, in response to the synchronization event, sends the data change information from the intermediate device to the target device so that each of the at least one data change in the origin file can be copied to the target file.

8. An apparatus comprising:

an origin tracking module that tracks data change information for each of at least one data change in an origin file stored on an origin device, the data change information comprising a location of the data change in the origin file and a length of the data change;

a synchronization detecting module that detects a synchronization event associated with the origin file;

a synchronizing module that copies the data of the origin file for each of the at least one data change in the origin file at the tracked location and length to a target file stored on a target device; and

a target tracking module that tracks data change information for each of at least one data change in the target file stored on the target device, the data change information comprising a location of the data change in the target file and a length of the data change,

wherein said modules comprise one or more of hardware circuits, programmable hardware devices, and a processor executing code.

9. The apparatus of claim 8 , wherein, in response to the synchronization event, the target tracking module sends the tracked data change information for the target file on the target device to the origin device where it is merged into the tracked data change information for the origin file.

10. The apparatus of claim 9 , wherein the data change information for the target file is used to identify data in the origin file to send to the target device and overwrite the data changes that were made in the target file on the target device.

11. An apparatus comprising:

an origin tracking module that tracks data change information for each of at least one data change in an origin file stored on an origin device, the data change information comprising a location of the data change in the origin file and a length of the data change;

a synchronization detecting module that detects a synchronization event associated with the origin file;

a synchronizing module that copies the data of the origin file for each of the at least one data change in the origin file at the tracked location and length to a target file stored on a target device, and

wherein data change information is discarded on the origin device in response to the data change information being completely within a location and length of different data change information, and

wherein said modules comprise one or more of hardware circuits, programmable hardware devices, and a processor executing code.

12. An apparatus comprising:

an origin tracking module that tracks data change information for each of at least one data change in an origin file stored on an origin device, the data change information comprising a location of the data change in the origin file and a length of the data change;

a synchronization detecting module that detects a synchronization event associated with the origin file;

a synchronizing module that copies the data of the origin file for each of the at least one data change in the origin file at the tracked location and length to a target file stored on a target device; and

a failover correcting module that:

detects a failure on the origin device, the origin device being a production device;

tracks data changes to the target file on the target device in response to the target device becoming the production device; and

in response to the origin device becoming available, synchronizes the tracked data changes to the target file on the target device to the origin file on the origin device,

wherein said modules comprise one or more of hardware circuits, programmable hardware devices, and a processor executing code.

13. A method comprising:

tracking data change information for each of at least one data change in an origin file stored on an origin device, the data change information comprising a location of the data change in the origin file and a length of the data change;

detecting a synchronization event associated with the origin file;

copying the data of the origin file for each of the at least one data change in the origin file at the tracked location and length to a target file stored on a target device; and

creating a snapshot of the origin file prior to tracking data changes in the origin file, wherein a current data change tracking session is concluded in response to the snapshot being created.

14. The method of claim 13 , wherein the data for each of the at least one data change in the origin file is read from a previously created snapshot on a file block basis prior to sending the data to the target device.

15. A method comprising:

tracking data change information for each of at least one data change in an origin file stored on an origin device, the data change information comprising a location of the data change in the origin file and a length of the data change;

detecting a synchronization event associated with the origin file;

copying the data of the origin file for each of the at least one data change in the origin file at the tracked location and length to a target file stored on a target device; and

tracking data change information for each of at least one data change in the target file stored on the target device, the data change information comprising a location of the data change in the target file and a length of the data change.

16. The method of claim 15 , further comprising, in response to the synchronization event, sending the tracked data change information for the target file on the target device to the origin device where it is merged into the tracked data change information for the origin file.

17. The method of claim 16 , wherein the data change information for the target file is used to identify data in the origin file to send to the target device and overwrite the data changes that were made in the target file on the target device.

18. A system comprising:

an origin device;

a target device;

an intermediate device communicatively coupled to the origin device and the target device over a data network;

a tracking module at the origin device that tracks data change information for each of at least one data change in an origin file stored on an origin device, the data change information comprising a location of the data change in the origin file and a length of the data change;

a synchronization detecting module at the origin device that detects a synchronization event associated with the origin file;

a synchronizing module at the intermediate device that facilitates copying the data of the origin file at the origin device for each of the at least one data change in the origin file at the tracked location and length to a target file stored on the target device; and

a snapshot module that creates a snapshot of the origin file prior to tracking data changes in the origin file, wherein a current data change tracking session is concluded in response to the snapshot being created.

Assignments (2)
SECURITY INTEREST Recorded Feb 5, 2026
From: RACKWARE, INC.
To: DECATHLON ALPHA V, L.P.
Reel/Frame 073700/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2019
From: MATTERS, TODD; KULKARNI, ANIKET; MULAY, VIBHAV; SUNKARA, SASH; VINES, RADU; JIN, WENQING
To: RACKWARE, INC.
Reel/Frame 048425/0388 →
Continuity (1)
Related Publication 20200272603A1 · Aug 27, 2020