Systems and methods for synchronization of items without snapshots
First Claim
1. A method for synchronizing a mixed element between peer computer systems in a hardware software interface system, said method comprising:
- identifying a mixed element on a first peer computer system, wherein the mixed element comprises a structured data component and an unstructured filestream, wherein the hardware software interface permits snapshotting of the structured data component and does not permit the snapshotting of the unstructured filestream;
snapshotting the structured data component, wherein the snapshotting structured data component comprises i) copying the structured data component to a copy structured data component such that for a duration associated with synchronization of the mixed element, changes associated with target structured data component are made to the copy structured data component, ii) preventing changes to said structured data component while it is being copied to a synchronization peer iii) making a first copy of said structured data component for a process that would make changes to said structured data during said copying of said structured data to a synchronization peer, and enabling said process to make changes to said first copy instead of to said structured data and iv) updating said structured data with said first copy once said structured data component is copied to said synchronization peer;
determining a first change value associated with the filestream contemporaneously with the snapshotting;
determining based on a change value of the structured data component and the first change value of the filestream whether the mixed element is to be copied to a second peer computer;
locking the unstructured filestream to prepare it for copying to the second peer computer;
wherein the locking is associated with a second change value of the filestream;
comparing the first change value of the file stream to the second change value of the file stream to determine whether determining if the unstructured filestream was unchanged changed during the time between when the structured data component was snapshotted and when the unstructured filestream was locked; and
copying the unstructured filestream to the second peer computer based on condition that the unstructured filestream was unchanged during the time between when the structured data component was snapshotted and when the unstructured filestream was locked.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of the present invention are directed to systems and methods for synchronizing mixed elements (MEs) comprising structure data and unstructured filestreams between peer computer systems in a hardware/software interface system environment that does not permit snapshotting of large unstructured ME filestreams during synchronization. For several such embodiments, the method comprises synchronizing the ME in two steps, one for snapshotting the structured data component of the ME (as well as the cv of the filestream but not the filestream itself) and one for locking and transmitting the filestream to the receiving sync peer if and only if, after being locked, it is determined that the filestream is unchanged from the time of the ME data component snapshot.
-
Citations
13 Claims
-
1. A method for synchronizing a mixed element between peer computer systems in a hardware software interface system, said method comprising:
-
identifying a mixed element on a first peer computer system, wherein the mixed element comprises a structured data component and an unstructured filestream, wherein the hardware software interface permits snapshotting of the structured data component and does not permit the snapshotting of the unstructured filestream; snapshotting the structured data component, wherein the snapshotting structured data component comprises i) copying the structured data component to a copy structured data component such that for a duration associated with synchronization of the mixed element, changes associated with target structured data component are made to the copy structured data component, ii) preventing changes to said structured data component while it is being copied to a synchronization peer iii) making a first copy of said structured data component for a process that would make changes to said structured data during said copying of said structured data to a synchronization peer, and enabling said process to make changes to said first copy instead of to said structured data and iv) updating said structured data with said first copy once said structured data component is copied to said synchronization peer; determining a first change value associated with the filestream contemporaneously with the snapshotting; determining based on a change value of the structured data component and the first change value of the filestream whether the mixed element is to be copied to a second peer computer; locking the unstructured filestream to prepare it for copying to the second peer computer;
wherein the locking is associated with a second change value of the filestream;comparing the first change value of the file stream to the second change value of the file stream to determine whether determining if the unstructured filestream was unchanged changed during the time between when the structured data component was snapshotted and when the unstructured filestream was locked; and copying the unstructured filestream to the second peer computer based on condition that the unstructured filestream was unchanged during the time between when the structured data component was snapshotted and when the unstructured filestream was locked. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable storage medium for synchronizing a mixed element between peer computer systems in a hardware software interface system, said computer-readable storage medium having stored thereon computer executable instructions that when executed by at least a processor perform the method comprising:
-
identifying a mixed element on a first peer computer system, wherein the mixed element comprises a structured data component and an unstructured filestream, wherein the hardware software interface permits snapshotting of the structured data component and does not permit the snapshotting of the unstructured filestream; snapshotting the structured data component, wherein the snapshotting structured data component comprises i) copying the structured data component to a copy structured data component such that for a duration associated with synchronization of the mixed element, changes associated with target structured data component are made to the copy structured data component, ii) preventing changes to said structured data component while it is being copied to a synchronization peer iii) making a first copy of said structured data component for a process that would make changes to said structured data during said copying of said structured data to a synchronization peer, and enabling said process to make changes to said first copy instead of to said structured data and iv) updating said structured data with said first copy once said structured data component is copied to said synchronization peer; determining a first change value associated with the filestream contemporaneously with the snapshotting; determining based on a change value of the structured data component and the first change value of the filestream whether the mixed element is to be copied to a second peer computer; locking the unstructured filestream to prepare it for copying to the second peer computer;
wherein the locking is associated with a second change value of the filestream;comparing the first change value of the file stream to the second change value of the file stream to determine whether determining if the unstructured filestream was unchanged changed during the time between when the structured data component was snapshotted and when the unstructured filestream was locked; and copying the unstructured filestream to the second peer computer based on condition that the unstructured filestream was unchanged during the time between when the structured data component was snapshotted and when the unstructured filestream was locked. - View Dependent Claims (7, 8, 9)
-
-
10. A system for synchronizing a mixed element between peer computer systems in a hardware software interface system, said system for synchronizing comprising at least one subsystem for:
-
identifying a mixed element on a first peer computer system, wherein the mixed element comprises a structured data component and an unstructured filestream, wherein the hardware software interface permits snapshotting of the structured data component and does not permit the snapshotting of the unstructured filestream; snapshotting the structured data component, wherein the snapshotting structured data component comprises i) copying the structured data component to a copy structured data component such that for a duration associated with synchronization of the mixed element, changes associated with target structured data component are made to the copy structured data component, ii) preventing changes to said structured data component while it is being copied to a synchronization peer iii) making a first copy of said structured data component for a process that would make changes to said structured data during said copying of said structured data to a synchronization peer, and enabling said process to make changes to said first copy instead of to said structured data and iv) updating said structured data with said first copy once said structured data component is copied to said synchronization peer; determining a first change value associated with the filestream contemporaneously with the snapshotting; determining based on a change value of the structured data component and the first change value of the filestream whether the mixed element is to be copied to a second peer computer; locking the unstructured filestream to prepare it for copying to the second peer computer;
wherein the locking is associated with a second change value of the filestream;comparing the first change value of the file stream to the second change value of the file stream to determine whether determining if the unstructured filestream was unchanged changed during the time between when the structured data component was snapshotted and when the unstructured filestream was locked; and copying the unstructured filestream to the second peer computer based on condition that the unstructured filestream was unchanged during the time between when the structured data component was snapshotted and when the unstructured filestream was locked. - View Dependent Claims (11, 12, 13)
-
Specification