User-programmable cluster of smart devices
First Claim
1. A user-programmable system comprising:
- a cluster of a plurality of smart devices, each smart device including;
at least one functional unit, each functional unit having a current state of the functional unit, anda communication unit for communicating with other devices and for sending to other smart devices of the cluster updates on the current state of each functional unit of the smart device,wherein at least two of the plurality of smart devices are active devices, each active device including a functional unit that is an active unit that performs an action, each active unit having a target state of the active unit; and
a user-operable programming device including;
a communication unit for selectably communicating with smart devices of the cluster,a memory for storing a cluster spreadsheet, the cluster spreadsheet including;
(i) a plurality of current state cells, each current state cell corresponding to a functional unit of the cluster and is for storing a current state of the functional unit, and (ii) for each active unit of the cluster;
a formula cell for storing a spreadsheet formula authored by a user for calculating the target state of the active unit according to one or more cells of the cluster spreadsheet,a user interface for enabling viewing and modifying the cluster spreadsheet by users, anda processor programmed to;
(i) run a spreadsheet program for receiving from a user, via the user interface, spreadsheet formulas for formula cells, and (ii) send a programming message to each active device of the cluster, the programming message including instructions for calculating, by a processor of the active device, the target state of an active unit included in the active device, according to the spreadsheet formula corresponding to the active unit;
wherein, for autonomous operation of the cluster after the programming device is disconnected from the cluster, each active device of the cluster, that includes an active unit, further including;
a memory of the active device, anda processor programmed to;
(i) receive a programming message from a programming device, the programming message including instructions for calculating a target state of the active unit according to one or more spreadsheet formulas, (ii) store instructions from the programming message in the memory of the active device, (iii) receive one or more current states of one or more functional units of the cluster, (iv) execute instructions from the programming message stored in the memory of the active device for calculating the target state of the active unit according to one or more received current states, and (v) control the active unit for reaching the calculated target state.
0 Assignments
0 Petitions
Accused Products
Abstract
Cooperation among functional units of a cluster of smart devices is programmed by a user using a spreadsheet. The user authors spreadsheet formulas to calculate target states of active units of the cluster according to the contents of spreadsheet cells that include current states of functional units of the cluster. Programming messages based on the spreadsheet formulas are received by the smart devices of the cluster and program those smart devices for autonomous operation. Processors of the smart devices then receive updated current states of functional units of the cluster, calculate the target states of the active units according to the received updated current states, and control the active units toward reaching their calculated target states.
24 Citations
15 Claims
-
1. A user-programmable system comprising:
-
a cluster of a plurality of smart devices, each smart device including; at least one functional unit, each functional unit having a current state of the functional unit, and a communication unit for communicating with other devices and for sending to other smart devices of the cluster updates on the current state of each functional unit of the smart device, wherein at least two of the plurality of smart devices are active devices, each active device including a functional unit that is an active unit that performs an action, each active unit having a target state of the active unit; and a user-operable programming device including; a communication unit for selectably communicating with smart devices of the cluster, a memory for storing a cluster spreadsheet, the cluster spreadsheet including;
(i) a plurality of current state cells, each current state cell corresponding to a functional unit of the cluster and is for storing a current state of the functional unit, and (ii) for each active unit of the cluster;
a formula cell for storing a spreadsheet formula authored by a user for calculating the target state of the active unit according to one or more cells of the cluster spreadsheet,a user interface for enabling viewing and modifying the cluster spreadsheet by users, and a processor programmed to;
(i) run a spreadsheet program for receiving from a user, via the user interface, spreadsheet formulas for formula cells, and (ii) send a programming message to each active device of the cluster, the programming message including instructions for calculating, by a processor of the active device, the target state of an active unit included in the active device, according to the spreadsheet formula corresponding to the active unit;wherein, for autonomous operation of the cluster after the programming device is disconnected from the cluster, each active device of the cluster, that includes an active unit, further including; a memory of the active device, and a processor programmed to;
(i) receive a programming message from a programming device, the programming message including instructions for calculating a target state of the active unit according to one or more spreadsheet formulas, (ii) store instructions from the programming message in the memory of the active device, (iii) receive one or more current states of one or more functional units of the cluster, (iv) execute instructions from the programming message stored in the memory of the active device for calculating the target state of the active unit according to one or more received current states, and (v) control the active unit for reaching the calculated target state. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of operation of a cluster of a plurality of smart devices, the cluster including at least two active devices each including an active unit, the method comprising:
-
in each active device of the at least two active devices;
receiving from a user, via a programming device, at least one spreadsheet formula corresponding to the active unit included in the active device, and storing the at least one spreadsheet formula in a memory of the active device; andin each active device of the at least two active devices;
(i) receiving from each of at least one other smart device of the cluster, a current state of at least one functional unit included in the respective other smart device;
(ii) autonomously, after the programming device is disconnected from the cluster, interpreting the at least one spreadsheet formula stored in the memory of the active device for calculating a target state of the active unit according to at least one received current state of a functional unit; and
(iii) operating the active unit for reaching the calculated target state. - View Dependent Claims (9, 10)
-
-
11. A cluster of a plurality of smart devices, the cluster comprising at least two active devices, each active device of the at least two active devices including:
-
an active unit; a memory for storing at least one spreadsheet formula corresponding to the active unit and received from a user via a programming device; a communication unit for receiving, from each of at least one other smart device of the cluster, a current state of at least one functional unit included in the respective other smart device; and a processor programmed to;
(i) autonomously, after the programming device is disconnected from the cluster, interpret the at least one spreadsheet formula stored in the memory for calculating a target state of the active unit according to at least one received current state of a functional unit,and (ii) operate the active unit for reaching the calculated target state. - View Dependent Claims (12, 13, 14, 15)
-
Specification