Patent 10095500 was granted and assigned to Apple (company) on October, 2018 by the United States Patent and Trademark Office.
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.