US 11,782,949 B2
Violation resolution in client synchronization
Isaac Goldberg, San Francisco, CA (US); and Robert Ying, San Francisco, CA (US)
Assigned to Dropbox, Inc., San Francisco, CA (US)
Filed by Dropbox, Inc., San Francisco, CA (US)
Filed on Jul. 22, 2020, as Appl. No. 16/935,995.
Application 16/935,995 is a continuation of application No. 15/867,496, filed on Jan. 10, 2018, granted, now 10,733,205.
Claims priority of provisional application 62/611,473, filed on Dec. 28, 2017.
Prior Publication US 2020/0349171 A1, Nov. 5, 2020
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 17/00 (2019.01); G06F 16/27 (2019.01); G06F 16/11 (2019.01); G06F 16/18 (2019.01); G06F 16/178 (2019.01); G06F 16/176 (2019.01); G06F 3/06 (2006.01); G06F 21/60 (2013.01); G06F 21/62 (2013.01); H04L 9/40 (2022.01); H04L 67/06 (2022.01); H04L 67/1097 (2022.01); G06F 16/958 (2019.01); G06F 16/2455 (2019.01); G06F 16/951 (2019.01); G06F 16/172 (2019.01); G06F 1/04 (2006.01); G06F 9/54 (2006.01); G06F 11/14 (2006.01); G06F 12/14 (2006.01); G06F 21/10 (2013.01); H04L 9/32 (2006.01); H04L 67/1095 (2022.01); G06F 16/23 (2019.01); G06F 16/22 (2019.01); G06F 16/182 (2019.01); G06F 16/185 (2019.01); G06F 16/16 (2019.01); G06F 16/13 (2019.01); G06F 16/174 (2019.01); G06F 16/14 (2019.01); G06F 16/907 (2019.01); G06F 16/17 (2019.01); G06F 16/901 (2019.01); G06F 16/955 (2019.01); H04L 67/306 (2022.01); H04L 67/01 (2022.01)
CPC G06F 16/27 (2019.01) [G06F 1/04 (2013.01); G06F 3/065 (2013.01); G06F 3/067 (2013.01); G06F 3/0619 (2013.01); G06F 3/0623 (2013.01); G06F 3/0629 (2013.01); G06F 3/0652 (2013.01); G06F 9/547 (2013.01); G06F 11/1469 (2013.01); G06F 12/1466 (2013.01); G06F 16/11 (2019.01); G06F 16/113 (2019.01); G06F 16/116 (2019.01); G06F 16/119 (2019.01); G06F 16/122 (2019.01); G06F 16/125 (2019.01); G06F 16/128 (2019.01); G06F 16/13 (2019.01); G06F 16/137 (2019.01); G06F 16/148 (2019.01); G06F 16/152 (2019.01); G06F 16/156 (2019.01); G06F 16/16 (2019.01); G06F 16/162 (2019.01); G06F 16/168 (2019.01); G06F 16/172 (2019.01); G06F 16/176 (2019.01); G06F 16/178 (2019.01); G06F 16/1734 (2019.01); G06F 16/1744 (2019.01); G06F 16/1767 (2019.01); G06F 16/1787 (2019.01); G06F 16/18 (2019.01); G06F 16/182 (2019.01); G06F 16/183 (2019.01); G06F 16/184 (2019.01); G06F 16/185 (2019.01); G06F 16/1827 (2019.01); G06F 16/1844 (2019.01); G06F 16/2246 (2019.01); G06F 16/2255 (2019.01); G06F 16/2322 (2019.01); G06F 16/2358 (2019.01); G06F 16/2365 (2019.01); G06F 16/2379 (2019.01); G06F 16/24552 (2019.01); G06F 16/275 (2019.01); G06F 16/907 (2019.01); G06F 16/9027 (2019.01); G06F 16/951 (2019.01); G06F 16/955 (2019.01); G06F 16/958 (2019.01); G06F 21/10 (2013.01); G06F 21/604 (2013.01); G06F 21/6218 (2013.01); H04L 9/3213 (2013.01); H04L 9/3247 (2013.01); H04L 63/08 (2013.01); H04L 63/0853 (2013.01); H04L 63/10 (2013.01); H04L 63/101 (2013.01); H04L 63/102 (2013.01); H04L 67/06 (2013.01); H04L 67/1095 (2013.01); H04L 67/1097 (2013.01); G06F 2201/84 (2013.01); G06F 2212/1052 (2013.01); G06F 2221/2141 (2013.01); H04L 67/01 (2022.05); H04L 67/306 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
determining, by an application associated with a content management system, that server content items stored by the content management system and client content items stored on a client device are out of synchronization, wherein the determining is based on at least one of:
a server difference between the server content items and a shared content items that are synchronized between the content management system and the client device, and
a client difference between the client content items and the shared content items that are synchronized between the content management system and the client device;
generating, by the application associated with the content management system, a set of operations configured to converge the server content items and the client content items based on the determining that the server content items and the client content items are out of synchronization;
detecting a violation of a rule by an operation in the set of operations;
identifying resolution actions for the violation of the rule; and
applying the resolution actions to the set of operations.