Conflict resolution for keychain syncing
First Claim
1. A non-transitory machine-readable medium storing a program which when executed by at least one processing unit of a first device in a set of peer devices synchronizes a keychain stored on the first device with a set of keychains stored on other devices in the set of peer devices, each keychain comprising a set of keychain items, the set of peer devices communicatively coupled to one another in a peer-to-peer network through a set of network storage devices, the program comprising sets of instructions for:
- receiving, from the set of network storage devices, a first keychain item for updating the keychain stored on the first device;
determining whether a first unique identifier associated with the first keychain item matches a second unique identifier associated with a second keychain item in the keychain stored on the first device;
resolving, when the second unique identifier is determined to match the first unique identifier, a conflict between the first and second keychain items and updating the second keychain item based on the resolution, wherein the first keychain item is associated with a first conflict resolver and the second keychain item is associated with a second conflict resolver; and
wherein the resolving comprises utilizing the second conflict resolver to resolve the conflict between the first and second keychain items in response to the second conflict resolver being a same conflict resolver or a more recently updated conflict resolver than the first conflict resolver.
1 Assignment
0 Petitions
Accused Products
Abstract
Some embodiments provide a program that synchronizes a keychain stored on a device with a set of other devices. The keychain includes a set of keychain items. The program receives (1) a list of keychain items for updating the keychain stored on the device and (2) data representing the keychain items specified in the list of keychain items. For each keychain item in the list of keychain items, the program updates the keychain stored on the device with the data that represents the keychain item.
88 Citations
28 Claims
-
1. A non-transitory machine-readable medium storing a program which when executed by at least one processing unit of a first device in a set of peer devices synchronizes a keychain stored on the first device with a set of keychains stored on other devices in the set of peer devices, each keychain comprising a set of keychain items, the set of peer devices communicatively coupled to one another in a peer-to-peer network through a set of network storage devices, the program comprising sets of instructions for:
-
receiving, from the set of network storage devices, a first keychain item for updating the keychain stored on the first device; determining whether a first unique identifier associated with the first keychain item matches a second unique identifier associated with a second keychain item in the keychain stored on the first device; resolving, when the second unique identifier is determined to match the first unique identifier, a conflict between the first and second keychain items and updating the second keychain item based on the resolution, wherein the first keychain item is associated with a first conflict resolver and the second keychain item is associated with a second conflict resolver; and wherein the resolving comprises utilizing the second conflict resolver to resolve the conflict between the first and second keychain items in response to the second conflict resolver being a same conflict resolver or a more recently updated conflict resolver than the first conflict resolver. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for synchronizing a keychain stored on a first device in a set of devices with a set of keychains stored on other devices in the set of devices, each keychain comprising a set of keychain items, the method comprising:
-
receiving a first keychain item for updating the keychain stored on the first device, the first keychain item comprising a password; at the first device, determining whether a first unique identifier associated with the first keychain item matches a second unique identifier associated with a second keychain item in the keychain stored on the device; and at the first device, resolving a conflict between the first and second keychain items and updating the second keychain item based on the resolution when the second unique identifier is determined to match the first unique identifier, wherein the first keychain item is associated with a first conflict resolver and the second keychain item is associated with a second conflict resolver, wherein the resolving comprises utilizing the second conflict resolver to resolve the conflict between the first and second keychain items in response to the second conflict resolver being a same conflict resolver or a more recently updated conflict resolver than the first conflict resolver. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A first device, comprising:
-
a set of physical processing units for executing sets of instructions; and a non-transitory machine readable medium storing a program which when executed by at least one of the physical processing units synchronizes a keychain stored on the device with a set of keychains stored on a set of other devices, each keychain comprising a set of keychain items, the program comprising sets of instructions for; receiving, from a second device, a first keychain item associated with a first conflict resolver on the second device; determining that there is a conflict between the first keychain item and a second keychain item stored on the first device; setting a value of the second keychain item to a value of the first keychain item when the first conflict resolver has a more recent version than a second conflict resolver that is associated with the second keychain item; and resolving the conflict between the first and second keychain items utilizing the second conflict resolver when the second conflict resolver has a same version or a more recent version than the first conflict resolver. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification