# US 12,113,641 B2 · Consistency checking of a delegated trigger in an automated environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,113,641 B2
- Document ID: US12113641B2
- Status: Granted
- Kind: B2
- Application number: 17/184,178
- Filed: 2021-02-24
- Published: 2021-06-17
- Granted: 2024-10-08
- Earliest claimed: 2015-07-31
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Anush G. Nadathur; Kevin P. McLaughlin; Nathan E. Carroll
- Web page: https://patentgrep.com/patent/US12113641B2

## CPC

- G06F 9/54: Interprogram communication
- H04L 12/2816: {Controlling appliance services of a home automation network by calling their functionalities (arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station; in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom H04Q9/00)}
- H04L 12/2803: {Home automation networks}
- H04L 12/2814: {Exchanging control software or macros for controlling appliance services in a home automation network (arrangements for maintenance or administration involving configuration of the network and network elements H04L41/08)}
- H04L 12/283: {Processing of data at an internetworking point of a home automation network}
- H04L 41/0681: Configuration of triggering conditions
- H04L 67/125: involving control of end-device applications over a network
- H04L 67/59: Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A first device can receive a delegation message from a second device. The delegation message can include a trigger data object that defines a triggered action set including a triggering event and an action to be performed by an accessory device in response to the triggering event. The first device can perform consistency checking of the received trigger data object relative to one or more previously received trigger data objects to determine whether a conflict exists.

## Claims

### Claim 1

A method comprising:
receiving, by a first electronic device, a delegation message from a second electronic device, the delegation message including a first trigger data object that defines a triggered action set, the triggered action set including a triggering event and an action to be performed by one or more accessory devices in response to detecting, by the first electronic device, the triggering event and sending, by the first electronic device, a control message to the one or more accessory devices;
receiving, by the first electronic device, a second delegation message from the second electronic device, the second delegation message being different from the first delegation message, the second delegation message including a second trigger data object that defines a second triggered action set, the second triggered action set including a second triggering event and a second action to be performed by a second set of one or more accessory devices in response to detecting, by the first electronic device, the second triggering event and sending, by the first electronic device, a second control message to the second set of one or more accessory devices;
performing, by the first electronic device, consistency checking of the second trigger data object relative to the first trigger data object to determine whether a trigger conflict exists;
in accordance with a determination that the trigger conflict exists, sending, by the first electronic device, a notification to the second electronic device that the trigger conflict exists; and
in response to determining that the trigger conflict does not exist, executing, by the first electronic device, the second triggered action set, wherein executing the second triggered action set includes detecting the second triggering event and sending the second control message to the second set of one or more accessory devices in response to detecting the second triggering event.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first electronic device disables execution of the second triggered action set in accordance with determining that the trigger conflict exists.

### Claim 3 (depends on 1)

The method of claim 1, wherein performing the consistency checking includes:
detecting an inconsistency, wherein the second trigger data object and the first trigger data object have a same triggering event and different actions to be performed.

### Claim 4 (depends on 1)

The method of claim 1, wherein performing the consistency checking includes:
detecting a loop, wherein the second trigger data object and the first trigger data object will trigger repeated execution of each other.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
detecting, by the first electronic device, that the first electronic device is transitioning to a state of unavailability to execute the second triggered action set; and
in response to detecting that the first electronic device is entering a state of unavailability to execute the second triggered action set, sending a notification of unavailability to the second electronic device.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
returning, by the first electronic device, to a state of availability to execute the second triggered action set; and
in response to an event, resuming execution of the second triggered action set.

### Claim 7 (depends on 6)

The method of claim 6, wherein the event comprises identification of the return to the state of availability to execute the second triggered action set or receipt, from the second electronic device, of an instruction to resume execution of the second triggered action set.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first electronic device is a device that is resident in a local environment where the accessory device is located, and wherein the second electronic device is a mobile communication device.

### Claim 9 (depends on 1)

The method of claim 1, further comprising in accordance with the determination that the trigger conflict exists:
determining whether a corrective action can be taken by the first electronic device; and
in accordance with a determination that the corrective action can be taken:
take the corrective action; and
execute, by the first electronic device, the second triggered action set according to the corrective action.

### Claim 10 (depends on 9)

The method of claim 9, wherein the corrective action comprises at least one of enabling superseding triggered action sets instead of preceding triggered action sets, enabling triggered action sets received from administrator accounts instead of non-administrator accounts, breaking a loop, or merging triggered action sets.

### Claim 11 (depends on 10)

The method of claim 10, wherein the notification comprises identification of the corrective action.

### Claim 12

A first electronic device comprising:
a communications interface; and
a processor coupled to the communications interface, the processor being configured to:
receive, by the processor of the first electronic device, a first delegation message from a second electronic device, the first delegation message including a first trigger data object that defines a triggered action set, the triggered action set including a triggering event and an action to be performed by one or more accessory devices in response to detecting, by the first electronic device, the triggering event and sending, by the first electronic device, a control message to the one or more accessory devices;
receive, by the processor of the first electronic device, a second delegation message from the second electronic device, the second delegation message being different from the first delegation message, the second delegation message including a second trigger data object that defines a second triggered action set, the second triggered action set including a second triggering event and a second action to be performed by a second set of one or more accessory devices in response to detecting, by the first electronic device, the second triggering event and sending, by the first electronic device, a second control message to the second set of one or more accessory devices;
perform, by the processor of the first electronic device, consistency checking of the second trigger data object relative to the first trigger data object to determine whether a trigger conflict exists;
in accordance with a determination that the trigger conflict exists, send, by the processor of the first electronic device, a notification to the second electronic device that the trigger conflict exists; and
in response to determining that the trigger conflict does not exist, execute, by the processor of the first electronic device, the second triggered action set, wherein executing the triggered action set includes detecting the second triggering event and sending the second control message to the second set of accessory devices in response to detecting the triggering event.

### Claim 13 (depends on 12)

The first electronic device of claim 12, wherein performing the consistency checking includes at least one of:
detecting an inconsistency, wherein the second trigger data object and the first trigger data object have a same triggering event and different actions to be performed; or
detecting a loop, wherein the second trigger data object and the first trigger data object will trigger repeated execution of each other.

### Claim 14 (depends on 13)

The first electronic device of claim 13, wherein the processor is further configured to:
in accordance with the determination that the trigger conflict exists:
determine whether a corrective action can be taken by the first electronic device; and
in accordance with a determination that the corrective action can be taken:
take the corrective action; and
execute, by the first electronic device, the second triggered action set according to the corrective action.

### Claim 15 (depends on 14)

The first electronic device of claim 14, wherein the corrective action comprises at least one of enabling superseding triggered action sets instead of preceding triggered action sets, enabling triggered action sets received from administrator accounts instead of non-administrator accounts, breaking the loop, or merging triggered action sets.

### Claim 16 (depends on 12)

The first electronic device of claim 12, wherein the processor is further configured to:
detect that the first electronic device is transitioning to a state of unavailability to execute the second triggered action set; and
in response to detecting that the first electronic device is entering a state of unavailability to execute the second triggered action set, send a notification of unavailability to the second electronic device.

### Claim 17

A non-transitory computer readable storage medium having stored therein program code that, when executed by a processor in a first electronic device, cause the first electronic device to perform operations comprising:
receiving, by the processor of the first electronic device, a first delegation message from a second electronic device, the first delegation message including a first trigger data object that defines a triggered action set, the triggered action set including a triggering event and an action to be performed by one or more accessory devices in response to detecting, by the first electronic device, the triggering event and sending, by the first electronic device, a control message to the one or more accessory devices;
receiving, by the first electronic device, a second delegation message from the second electronic device, the second delegation message being different from the first delegation message, the second delegation message including a second trigger data object that defines a second triggered action set, the second triggered action set including a second triggering event and a second action to be performed by a second set of one or more accessory devices in response to detecting, by the first electronic device, the second triggering event and sending, by the first electronic device, a second control message to the second set of one or more accessory devices;
performing, by the processor of the first electronic device, consistency checking of the second trigger data object relative to the first trigger data object to determine whether a trigger conflict exists;
in accordance with a determination that the trigger conflict exists, sending, by the processor of the first electronic device, a notification to the second electronic device that the trigger conflict exists; and
in response to determining that the trigger conflict does not exist, executing, by the processor of the first electronic device, the second triggered action set, wherein executing the second triggered action set includes detecting the second triggering event and sending the second control message to the second set of one or more accessory devices in response to detecting the second triggering event.

### Claim 18 (depends on 17)

The non-transitory computer readable storage medium of claim 17, wherein the first electronic device disables execution of the second triggered action set in accordance with determining that the trigger conflict exists.

### Claim 19 (depends on 17)

The non-transitory computer readable storage medium of claim 17, wherein the operations further comprise:
in accordance with the determination that the trigger conflict exists:
determining whether a corrective action can be taken by the first electronic device; and
in accordance with a determination that the corrective action can be taken:
take the corrective action; and
execute, by the first electronic device, the second triggered action set according to the corrective action.

### Claim 20 (depends on 19)

The non-transitory computer readable storage medium of claim 19, wherein the corrective action comprises at least one of:
enabling superseding triggered action sets and disabling preceding triggered action sets;
enabling triggered action sets received from administrator accounts and disabling triggered action set received from non- administrator accounts;
breaking a loop; or
merging triggered action sets.
