Revision locking

US10095500B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10095500-B2
Application numberUS-201514640324-A
CountryUS
Kind codeB2
Filing dateMar 6, 2015
Priority dateSep 30, 2014
Publication dateOct 9, 2018
Grant dateOct 9, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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, wherein the first mapping maps the first application to a first set of two or more message types comprising at least one of an update message type, a configuration message type, or a compatibility message type; determining, based on the first mapping and a program version of the first application, that the first application sends messages of the first set of two or more message types, the first message being of one of the first set of two or more message types; determining a first state of the first device, the first state of the first device defining: that messages of a first message type of the two or more message types are allowed to pass to or from the first device; and that messages of a second message type of the two or more message types are prohibited from passing to or from the first device; determining the first state corresponds to the first message type; determining whether the first message type corresponding to the first state is a member of the first set of two or more message types; in response to determining that the first message type is not a member of the first set of two or more message types, holding the first message in a queue until the first device transitions to a different state corresponding to a message type that is contained in the first set of two or more message types; and in response to the first device transitioning to the different state corresponding to the message type that is contained in the first set of two or more message types, sending the first message from the queue. 2. The method of claim 1 , further comprising, at the first device: determining that the first device has transitioned from the different state to a second state different from the first state and the different state; determining whether the second message type corresponding to the second state is a member of the first set of two or more message types; and in response to determining that the second message type is a member of the first set of two or more message types, removing a second message from the queue and sending the second message from the first device to a second device separate from the first device. 3. The method of claim 1 , further comprising, at the first device: receiving a second message from a second application executing on the first device separately from the first application; wherein the set of stored mappings further includes a second mapping, wherein the second mapping maps the second application to a second set of one or more message types; determining, based on the second mapping and the program version of the second application, that the second application sends messages of the second set of one or more message types; determining whether the first message type corresponding to the first state is a member of the second set of one or more message types; and in response to determining that the first message type is a member of the second set of one or more message types, sending the second message from the first device to a second device separate from the first device. 4. The method of claim 1 , further comprising, at the first device: receiving compatibility data that indicates a set of compatibility classifications that indicate how compatible versions of a second program are with a particular version of a first program that is to be installed on the first device; determining, based on the compatibility data, a particular compatibility classification that indicates how compatible a current version of the second program stored on a second device separate from the first device is with the particular version of the first program; determining that the particular compatibility classification indicates that the current version of the second program is compatible with the particular version of the first program but requires a user configuration of the second program on the second device; transitioning the first device to a configuration state in which transmission of messages of the configuration message type from the first device to the second device is permitted; transmitting the first message from the first device to the second device; determining that the user configuration of the second program has been performed on the second device; and in response determining that the user configuration of the second program has been performed, installing the particular version of the first program on the first device and transitioning the first device from the configuration state to a general state in which transmission of messages of all message types from the first device is permitted. 5. The method of claim 4 , wherein determining that the user configuration of the second program has been performed on the second device comprises: receiving user input that confirms that a user has set values of one or more parameters used by the second program. 6. The method of claim 1 , further comprising, at the first device: receiving compatibility data that indicates a set of compatibility classifications that indicate how compatible versions of a second program are with a particular version of a first program that is to be installed on the first device; determining, based on the compatibility data, a particular compatibility classification that indicates how compatible a current version of the second program stored on a second device separate from the first device is with the particular version of the first program; determining that the particular compatibility classification indicates that the current version of the second program is incompatible with the particular version of the first program; transitioning the first device to an update state in which transmission of messages of the update message type from the first device to the second device is permitted; transmitting the first message from the first device to the second device; determining that an update of the second program has been performed on the second device; and in response determining that the update of the second program has been performed on the second device, rebooting the first device. 7. The method of claim 1 , further comprising, at the first device: receiving compatibility data that indicates a set of compatibility classifications that indicate how compatible versions of a second program are with a particular version of a first program that is to be installed on the first device; determining, based on the compatibility data, a particular compatibility classification that indicates how compatible a current version of the second program stored on a second device separate from the first device is with the particular version of the first program; and determining that the particular compatibility classification indicates that the current version of the second program is compatible with the particular version of the first program; installing the particular version of the first program on the first device; and transitioning the first device to a general state in which transmission of messages of all message types from the first device is permitted. 8. 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

Assignees

Inventors

Classifications

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • Message passing systems or structures, e.g. queues · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10095500B2 cover?
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 f…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 09 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).