REVISION LOCKING
First Claim
1. A method of varying delivery of different types of messages based on device state and message origin, the method comprising:
- at a first device having one or more processors, performing, by a filter executing on the first device;
receiving a first message from a first application executing on the first device;
reading a set of stored mappings that includes a first mapping and a second mapping, wherein the first mapping maps the first application to a first set of message types;
determining, based on the first mapping, that the first application sends messages having message types that are members of the first set of message types, the first message being of one of the first set of message types;
determining a first state of the first device;
determining whether a first message type corresponding to the first state is a member of the first set of message types;
in response to determining that the first message type is a member of a second set of message types, holding the first message in a queue until the first device transitions to a state corresponding to a message type that is contained in the first set of message types.
1 Assignment
0 Petitions
Accused Products
Abstract
When a new version of a first program is to be installed on a first device, metadata supplied to that device specifies which versions of a second program stored on a second device are compatible with the new version. The first device uses this metadata to determine a compatibility classification that indicates how compatible the current version of the second program and the new version of the first program are, and transitions to a state representative of this compatibility classification. A process executing on the first device receives messages from applications executing on the first device. The process reads mappings between these applications and the message types these applications send. The process forwards an application'"'"'s message to the second device if the application sends a message type allowable in the first device'"'"'s state. Otherwise, the process queues that message at least until the first device transitions to a different state.
29 Citations
34 Claims
-
1. A method of varying delivery of different types of messages based on device state and message origin, the method comprising:
at a first device having one or more processors, performing, by a filter executing on the first device; receiving a first message from a first application executing on the first device; reading a set of stored mappings that includes a first mapping and a second mapping, wherein the first mapping maps the first application to a first set of message types; determining, based on the first mapping, that the first application sends messages having message types that are members of the first set of message types, the first message being of one of the first set of message types; determining a first state of the first device; determining whether a first message type corresponding to the first state is a member of the first set of message types; in response to determining that the first message type is a member of a second set of message types, holding the first message in a queue until the first device transitions to a state corresponding to a message type that is contained in the first set of message types. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A non-transitory computer-readable storage memory storing instructions which, when executed by one or more processors of a first device, cause the one or more processors to perform operations comprising:
-
receiving a first message from a first application executing on the first device; reading a set of stored mappings that includes a first mapping and a second mapping, wherein the first mapping maps the first application to a first set of message types; determining, based on the first mapping, that the first application sends messages having message types that are members of the first set of message types, the first message being of one of the first set of message types; determining a first state of the first device; determining whether a first message type corresponding to the first state is a member of the first set of message types; in response to determining that the first message type is a member of a second set of message types, holding the first message in a queue until the first device transitions to a state corresponding to a message type that is contained in the first set of message types. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A first device comprising:
-
one or more processors; and a non-transitory computer-readable storage memory coupled to the one or more processors and storing instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising; receiving a first message from a first application executing on the first device; reading a set of stored mappings that includes a first mapping and a second mapping, wherein the first mapping maps the first application to a first set of message types; determining, based on the first mapping, that the first application sends messages having message types that are members of the first set of message types, the first message being of one of the first set of message types; determining a first state of the first device; determining whether a first message type corresponding to the first state is a member of the first set of message types; in response to determining that the first message type is a member of a second set of message types, holding the first message in a queue until the first device transitions to a state corresponding to a message type that is contained in the first set of message types. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A method of facilitating an update of software on an accessory device using a companion device, the method comprising:
at the companion device having one or more processors; receiving, from the accessory device, an install message that a new version of the software is ready to install on the accessory device, the install message identifying an expected build number of the new version; storing the expected build number in a memory of the companion device; receiving input from a user to perform an installation of the new version of the software on the accessory device; receiving a confirmation message from the accessory device, the confirmation message including an actual build number of a current version of the software running on the accessory device; retrieving the expected build number from the memory; and comparing the actual build number to the expected build number to determine whether the installation of the new version of the software was successful. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34)
Specification