Downlink event allocation in a network
Techniques for allocating event offsets within a period of transmission are described. A mains-powered device (MPD) may act as a “parent” to one or more battery-powered devices (BPDs). The MPD may assign “event offsets” to each BPD. The event offset is a time by which the BPD's timeslot is “offset” from the start of a periodic cycle of transmissions by the MPD. Thus, each event offset indicates a time that the BPD must be “awake,” i.e., operating its radio receiver and/or performing other functionality. A BPD may spend a substantial fraction of its time in a “sleep” mode, wherein less power is used and fewer functions are performed than during a period of that BPD's event offset. Another BPD may have a different event offset. Communications by the MPD with each child BPD may be substantially uniformly distributed over the period. To increase efficiency, groups of BPDs may receive multicasts.
1. A method, comprising:
transmitting, according to a schedule, a broadcast transmission to a plurality of devices at a first event start-time offset from among a plurality of event start-time offsets indicated by the schedule;
transmitting, according to the schedule, a first unicast transmission to a device of the plurality of devices at a second time indicated by a second event start-time offset from among the plurality of event start-time offsets indicated by the schedule; and
transmitting a plurality of unicast transmissions to the plurality of devices, wherein the transmitting is performed according to the schedule, and wherein a distribution of numbers of devices associated with event start-time offsets dedicated to unicast transmissions is substantially uniform;
detecting that a first device of the plurality of devices has left a network of the plurality of devices; and
changing an event start-time offset of a second device of the plurality of devices that is not leaving the network to an event start-time offset previously used by the first device.
2. The method of claim 1 , additionally comprising:
assigning devices of the plurality of devices to event start-time offsets such that a variance of the distribution of numbers of devices associated with each of the plurality of event start-time offsets is under a threshold value.
3. The method of claim 1 , additionally comprising:
assigning devices of the plurality of devices to event start-time offsets within the schedule such that a difference between a number of devices assigned to a third event start-time offset and a number of devices assigned to a fourth event start-time offset is within a threshold value.
4. The method of claim 1 , additionally comprising:
assigning devices of the plurality of devices to event start-time offsets within the schedule in a manner that results in each event start-time offset being associated with “n” number of devices or “n” plus 1 number of devices, wherein “n” is an integer that is zero or greater.
5. The method of claim 1 , wherein a number of event start-time offsets defined within the schedule is based at least in part on one or more factors, comprising:
a number of battery-powered devices expected to communicate with a mains-powered device;
an expected message length used in communications between the battery-powered devices and the mains-powered device;
an expected data rate used by the battery-powered devices and the mains-powered device.
6. The method of claim 1 , additionally comprising:
transmitting, according to the schedule, a multicast transmission to at least two devices of the plurality of devices, wherein the multicast transmission is sent at a third time indicated by a third event start-time offset from among the plurality of event start- time offsets.
7. The method of claim 1 , additionally comprising:
receiving a request from a device to join the network; and
assigning the device requesting to join the network to an event start-time offset such that a number of devices assigned to each event start-time offset is substantially uniform.
8. The method of claim 1 , additionally comprising:
receiving requests from additional devices to join the network;
assigning the additional devices to event start-time offsets within the schedule in a manner that results in each event start-time offset being associated with “n” number of devices or “n” plus 1 number of devices, wherein “n” is an integer that is zero or greater.
9. The method of claim 1 , wherein:
a device transmitting according to the schedule is a mains-powered device (MPD); and
devices of the plurality of devices are battery-powered devices (BPDs).
10. The method of claim 1 , additionally comprising:
transmitting a preamble of a packet of the first unicast transmission at the first event start-time offset associated with a first battery-powered device of the plurality of devices; and
transmitting portions of the packet other than the preamble of the packet after the second event start-time offset associated with a second battery-powered device of the plurality of devices.
11. The method of claim 1 , additionally comprising:
sending a second unicast transmission to another device of the plurality of devices at a time indicated by a third event start-time offset;
wherein a radio frequency of the second unicast transmission is based at least in part on a media access control (MAC) address of the third device.
12. The method of claim 1 , additionally comprising:
transmitting to a first battery-powered device of the plurality of devices according to a first event start-time offset of the schedule during a high-power-use period of the first battery-powered device; and
transmitting to a second battery-powered device of the plurality of devices according to a second event start-time offset of the schedule during a low-power-use period of the first battery-powered device.
13. The method of claim 1 , additionally comprising:
prior to changing the event start-time offset of the second device, receiving a request to join the network from the second device.
14. A method, comprising:
receiving a broadcast transmission at each of two or more devices according to a first event start-time offset indicated by a schedule;
receiving data in a first unicast transmission at a first device from among of the two or more devices according to a second event start-time offset indicated by the schedule; and
receiving data in a second unicast transmission at a second device from among of the two or more devices according to a third event start-time offset indicated by the schedule;
wherein:
the schedule associates numbers of devices to event start-time offsets dedicated to unicast transmissions in a substantially uniform manner,
a battery-powered device of the two or more devices communicates according to an event start-time offset of the schedule during a high-power-use period of the battery- powered device, and
the battery-powered device alternates high-power-use periods and low-power-use periods according to event start-time offsets.
15. The method of claim 14 , wherein:
at least two battery-powered devices of the two or more devices are associated with a same event start-time offset within the schedule; and
at the same event start-time offset, each of the at least two battery-powered devices determines if a message is available.
16. The method of claim 14 , additionally comprising:
changing the schedule to move one of the two or more devices from the first event start-time offset to the second event start-time offset;
wherein the changing of the schedule reduces a variance of the distribution of numbers of devices associated with each of a plurality of event start-time offsets.
17. The method of claim 14 , wherein receiving the broadcast transmission at each of two or more devices according to the first event start-time offset indicated by the schedule includes receiving the broadcast transmission from a mains-powered device.
18. A method, comprising:
receiving a request to add a first device to a network;
selecting an event start-time offset for assignment to the first device, wherein the selected event start-time offset is selected such that a distribution of numbers of devices associated with each of a plurality of event start-time offsets is substantially uniform;
instructing the first device to transmit and/or receive data according to a schedule based at least in part on the selected event start-time offset, wherein the schedule associates numbers of devices on the network to event start-time offsets dedicated to unicast transmissions in a substantially uniform manner;
sending a unicast message to the first device at a time indicated by the schedule;
determining that the first device has left the network; and
reassigning the selected event start-time offset to a second device that is part of the network,
wherein the reassigning is performed such that the distribution of numbers of devices associated with each of the plurality of event start-time offsets used by devices connected to the network has a variance that is less than a threshold value.
19. The method of claim 18 , additionally comprising:
prior to reassigning the selected event start-time offset to the second device, receiving a second request to add the second device to the network,
wherein the selected event start-time offset is the event start-time offset already assigned to the first device.
20. The method of claim 18 , wherein the first device and the second device are battery-powered devices.