IP Library Patent Application 11573794
Patent Application
App. No. 11/573,794

System and Method for the Synchronization of Data Across Multiple Computing Devices

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 None
App. No.
11/573,794
Abstract

Disclosed are a method and an apparatus for synchronizing data from a synchronization module or application to one or more associated synchronization modules or applications. According to some embodiments of the present invention, a data item may be created in response to an action executed on a data unit. The data item may be associated with a unique or a substantially unique identifier The unique identifier associated with the data item may be included in an activity log which may be created in response to an action executed on the data unit. The activity log may further include an ascending log number The activity log may be propagated to one or more of the associated synchronization applications or modules.

Claims (58)

1 .- 50 . (canceled)

51 . A method of synchronizing data from a synchronization application to one or more associated synchronization applications, said method comprising:

creating a data item in response to an action executed on a data unit, said data item being associated with a substantially unique identifier;

creating an activity log in response to an action executed on the data unit, said activity log including the substantially unique identifier associated with the data item and an ascending log number;

propagating the activity log to one or more of the associated synchronization applications.

52 . The method according to claim 51 , wherein said creating a data item comprises, creating the data item in response to a non-data-deleting action executed on the data unit, and wherein said creating an activity log comprises creating the activity log in response to an action including a data-deleting or a non-data-deleting action executed on the data unit.

53 . The method according to claim 52 , wherein said creating further comprises associating the activity log with a substantially unique identifier corresponding to the synchronization application which created the activity log and with the ascending log number of the activity log at the synchronization application which created the activity log.

54 . The method according to claim 53 , further comprising receiving an activity log and associating the received activity log with a substantially unique identifier corresponding to the transmitting synchronization application from which the activity log was received.

55 . The method according to claim 54 , further comprising discarding the received activity log in case it is determined that the identifier corresponding to the synchronization application which created the received activity log is identical to the identifier corresponding to the receiving synchronization application.

56 . The method according to claim 54 , further comprising obtaining a recorded log number of the last activity log received from the synchronization application which created a received activity log in case it is determined that the identifier corresponding to the synchronization application which created the received activity log is not identical to the identifier corresponding to the transmitting synchronization application nor to the identifier corresponding to the receiving synchronization application.

57 . The method according to claim 51 , further comprising recording in each synchronization application the log number of the last activity log which was received from each of the associated synchronization applications.

58 . The method according to claim 57 , further comprising for each activity log received in a synchronization application, recording the ascending log number of the activity log at the synchronization application which created the activity log.

59 . The method according to claim 58 , further comprising for each of the associated synchronization applications, recording the log number of the last activity log which was transmitted to that synchronization application.

60 . The method according to claims 56 , further comprising comparing the recorded log number of the last activity log received from the synchronization application which created the received activity log with the ascending log number of the activity log at the synchronization application which created the received activity log.

61 . The method according claim 60 , further comprising implementing the received activity log in case it is determined that the ascending log number of the activity log at the synchronization application which created the received activity log is greater than the recorded log number of the last activity log received from the synchronization application which created the received activity log.

62 . The method according to claim 60 , further comprising discarding the received activity log in case it is determined that the ascending log number of the activity log at the synchronization application which created the received activity log is not greater than the recorded log number of the last activity log received from the synchronization application which created the received activity log.

63 . The method according to claim 60 , further comprising requesting the transmitting synchronization application to send activity logs created by the synchronization application which created the received activity log whose log number is greater than the log number recorded at the receiving synchronization application for the last implemented activity log created by the synchronization application which created the received activity log.

64 . The method according to claim 61 , wherein said implementing further comprises:

associating the implemented activity log with the ascending log number of the receiving synchronization application in addition to the substantially unique identifier associated with the data item; and

associating the implemented activity log with the substantially unique identifier corresponding to the synchronization application which created the activity log, and with the ascending log number of the synchronization application which created the activity log.

65 . The method according to claim 64 , wherein each of the associated synchronization applications may be synchronized with each of the other associated synchronization applications.

66 . The method according to claim 61 , wherein said implementing comprises one or more of the following:

creating a data item corresponding to the received activity log in case the activity log is associated with creating a new data unit;

updating a data item corresponding to the received activity log in case the activity log is associated with updating an existing data unit; and

deleting a data item in case the activity log is associated with a deletion of an existing data unit.

67 . The method according to claim 66 , wherein said creating a data item corresponding to the received activity log comprises processing the data item to determine whether the implemented data item is associated with supplemental data.

68 . The method according to claim 67 , further comprising retrieving the supplemental data from one or more of the associated synchronization applications.

69 . The method according to claim 66 , wherein said updating a data item corresponding to the received activity log comprises processing the data item to determine whether the implemented data item is associated with supplemental data.

70 . The method according to claim 68 , further comprising retrieving the supplemental data from one or more of the associated synchronization applications.

71 . An apparatus for synchronizing data from a synchronization module to one or more associated synchronization modules, said apparatus comprising:

a synchronization module adapted to create a data item in response to an action executed on a data unit, and to associate the data item with a substantially unique identifier, said synchronization module being further adapted to create an activity log in response to an action executed on the data unit, and to associate the activity log with the substantially unique identifier associated with the data item and with an ascending log number,

wherein said synchronization module is adapted to cause the activity log to be propagated to one or more of the associated synchronization modules.

72 . The apparatus according to claim 71 , wherein said synchronization module is adapted to create the data item in response to a non-data-deleting action executed on a data unit, and wherein said synchronization module is adapted to create the activity log in response to a data-deleting or a non-data-deleting action executed on the data unit.

73 . The apparatus according to claim 72 , wherein said synchronization module is adapted to associate the activity log with a substantially unique identifier corresponding to a synchronization module which created the activity log and with the ascending log number of the activity log at the synchronization module which created the activity log.

74 . The apparatus according to claim 73 , wherein said synchronization module is further adapted to receive an activity log and to associate the received activity log with a substantially unique identifier corresponding to a transmitting synchronization module from which the activity log was received.

75 . The apparatus according to claim 74 , wherein said synchronization module is adapted to discard the received activity log in case it is determined that the identifier corresponding to the synchronization module which created the received activity log is identical to the identifier corresponding to the receiving synchronization module.

76 . The device according to claim 74 , wherein said synchronization module is adapted to obtain a recorded log number of the last activity log received from the synchronization module which created the received activity log in case it is determined that the identifier corresponding to the synchronization module which created the received activity log is not identical to the identifier corresponding to the transmitting synchronization module nor to the identifier corresponding to the receiving synchronization module.

77 . The apparatus according to claim 71 , further comprising a peers table, and wherein said synchronization module is adapted to record in said peers table the log number of the last activity log which was received from each of the associated synchronization modules.

78 . The apparatus according to claim 71 , wherein for each activity log received, said synchronization module is adapted to record in said peers table the ascending log number of the activity log at the synchronization module which created the activity log.

79 . The apparatus according to claim 78 , wherein for each of the associated synchronization modules, said synchronization module is adapted to record in said peers table the log number of the last activity log which was transmitted to that synchronization module.

80 . The apparatus according to claim 76 , wherein said synchronization module is adapted to compare the recorded log number of the last activity log received from the synchronization module which created the received activity log with the ascending log number of the activity log at the synchronization module which created the received activity log.

81 . The apparatus according to claim 80 , wherein said synchronization module is adapted to implement the received activity log in case it is determined that the ascending log number of the activity log at the synchronization module which created the received activity log is greater than the recorded log number of the last activity log received from the synchronization module which created the received activity log.

82 . The apparatus according to claim 80 , wherein said synchronization module is adapted to discard the received activity log in case it is determined that the ascending log number of the activity log at the synchronization module which created the received activity log is not greater than the recorded log number of the last activity log received from the synchronization module which created the received activity log.

83 . The apparatus according to claim 80 , wherein said synchronization module is adapted to request the transmitting synchronization module to send activity logs created by the synchronization module which created the received activity log whose log number is greater than the log number recorded at the receiving synchronization module for the last implemented activity log created by the synchronization module which created the received activity log.

84 . The apparatus according to claim 81 , wherein said synchronization module is adapted to associate the implemented activity log with the ascending log number of the receiving synchronization module in addition to the substantially unique identifier associated with the data item, and wherein said synchronization module is further adapted to the implemented activity log with the substantially unique identifier corresponding to the synchronization module which created the activity log, and with the ascending log number of the synchronization module which created the activity log.

85 . The apparatus according to claim 84 , wherein each of the associated synchronization modules may be synchronized with each of the other associated synchronization modules.

86 . The apparatus according to claim 81 , wherein as part of implementing the received activity log, said synchronization module is adapted to act upon a data item corresponding to the received activity log according to one or more of the following:

create a data item corresponding to the received activity log in case the activity log is associated with creating a new data unit;

update a data item corresponding to the received activity log in case the activity log is log is associated with updating an existing data unit.

delete a data item in response to an activity log created in response to a data-deleting action executed on a data unit.

87 . The apparatus according to claim 86 , wherein as part of creating a data item corresponding to the received activity log, said synchronization module is adapted process the data item to determine whether the implemented data item is associated with supplemental data.

88 . The apparatus according to claim 87 , wherein said synchronization module is adapted to retrieve the supplemental data from one or more of the associated synchronization modules.

89 . The apparatus according to claim 86 , wherein as part of updating a data item corresponding to the received activity log, said synchronization module is adapted process the data item to determine whether the implemented data item is associated with supplemental data.

90 . The apparatus according to claim 89 , wherein said synchronization module is adapted to retrieve the supplemental data from one or more of the associated synchronization modules.

91 . The apparatus according to claim 71 , wherein as part of creating the data item, said synchronization module is adapted to determine whether the new data item is derived from another data item.

92 . The apparatus according to claim 91 , wherein, in case the synchronization module determines that the new data item is derived from another data item, said synchronization module is adapted to further associate the new data item with a substantially unique identifier corresponding to the data item from which the new data item is derived.

93 . The apparatus according to claim 91 , wherein said synchronization module is adapted to determine that a new data item is derived from another data item when the new data item and the data item from which it is derived are created in response to corresponding actions executed on the same data unit.

94 . The apparatus according to claim 93 , wherein said synchronization module is adapted to determine that a new data item is derived from another data item when the new data item is created in response to a non-data-deleting action executed on the data unit.

Assignments (13)
LIEN AND SECURITY INTEREST Recorded Jan 13, 2017
From: KINGLITE HOLDINGS INC.
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 041366/0255 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF ASSIGNOR ON THE ABSTRACT OF TITLE PREVIOUSLY RECORDED ON REEL 022895 FRAME 0758. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT SPELLING OF THE NAME OF ASSIGNOR SHOULD BE BEINSYNC LTD. Recorded Mar 28, 2013
From: BEINSYNC LTD
To: PHOENIX TECHNOLOGIES LTD.
Reel/Frame 030107/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2012
From: PHOENIX TECHNOLOGIES LTD.
To: KINGLITE HOLDINGS INC.
Reel/Frame 029339/0716 →
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2012
From: MEP PLP, LLC
To: PHOENIX TECHNOLOGIES LTD.
Reel/Frame 029307/0590 →
SECURITY AGREEMENT Recorded Nov 13, 2012
From: HIGHBRIDGE PRINCIPAL STRATEGIES, LLC
To: MEP PLP, LLC
Reel/Frame 029291/0354 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE FIELD FROM "BEINSYNC LTD." TO "PTL (PHOENIX TECHNOLOGIES ISRAEL) LTD." PREVIOUSLY RECORDED ON REEL 022667 FRAME 0847. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR'S INTEREST. Recorded Nov 1, 2012
From: BORER, YOAV; HOD, DAN; SINVANI, ASAF; SION, LIOR
To: PTL (PHOENIX TECHNOLOGIES ISRAEL) LTD
Reel/Frame 029230/0001 →
CHANGE OF NAME Recorded Aug 28, 2012
From: BEINSYNC LTD.
To: PTL (PHOENIX TECHNOLOGIES ISRAEL) LTD.
Reel/Frame 028859/0852 →
NUNC PRO TUNC ASSIGNMENT Recorded Aug 23, 2012
From: PTL (PHOENIX TECHNOLOGIES ISRAEL) LTD.
To: PHOENIX TECHNOLOGIES LTD.
Reel/Frame 028838/0106 →
GRANT OF SECURITY INTEREST - PATENTS Recorded Nov 24, 2010
From: PHOENIX TECHNOLOGIES LTD.
To: HIGHBRIDGE PRINCIPAL STRATEGIES, LLC, AS COLLATERAL AGENT
Reel/Frame 025406/0604 →
MERGER Recorded Aug 17, 2009
From: BEINSYNC LTD
To: PHOENIX TECHNOLOGIES LTD
Reel/Frame 023105/0199 →
SHARE PURCHASE AGREEMENT Recorded Jun 30, 2009
From: BELNSYNC LTD
To: PHOENIX TECHNOLOGIES LTD
Reel/Frame 022895/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2009
From: BORER, YOAV; HOD, DAN; SINVANI, ASAF; SION, LIOR
To: BEINSYNC, LTD
Reel/Frame 022667/0847 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2007
From: CARMEL, SHARON
To: BEINSYNC LTD
Reel/Frame 018896/0519 →