The present invention relates generally to preventing data collisions in a master-slave network and in particular to preventing data collisions and reducing power consumption in a master-slave wireless network using communication slot affinity.
In current master-slave wireless network used for inventory tracking systems, the slave population is often unknown or weakly known by the master since the slave population changes over time. An exemplary master-slave wireless network is a radio frequency identification (RFID) system. In an RFID system, the master is an RFID reader and the slave is an RFID tag attached to an object. RFID systems are used to track inventory, in which each tracked item in the inventory population has an attached active RFID tag. The inventory population changes over time as items are shipped out and as new items are brought into the system. Thus, the inventory varies and is completely changed within a timeframe that depends on the rate of sales or rate of use of the inventory.
To track the inventory in an RFID system, the RFID reader periodically interrogates the slaves by broadcasting a command signal to prompt a response from the RFID tags on the inventory located within the range of the RFID reader's command signal. When the RFID tags in the inventory population receive the initial interrogation command signal from the RFID reader, they power up and transmit an identifying response to the RFID reader. In a slot-based protocol system, the RFID tags each communicate in a self-selected time slot that is desirably a unique slot, identified by an integer for each RFID tag. The RFID tags respond to the interrogation prompt after a time delay equal to the time slot integer times the time slot duration. It is possible that two or more RFID tags may select the same slot time. In that case, the response signals from the RFID tags collide and the RFID reader does not recognize either of the response signals. In order to maximize the accuracy of the inventory taken by the RFID reader, the inventory is typically interrogated multiple times in close succession. In some master-slave wireless networks, the RFID reader recognizes the collisions and re-interrogates the inventory population of RFID tags and the RFID tags retransmit their identifying response. In other systems, the RFID reader may enumerate the empty time slots, including those where collisions occurred, transmit a list of those empty slots, and the RFID tags that did not receive an acknowledgement of having been read would attempt to reduce collisions future collisions by randomly selecting a new time slot from the transmitted list. In most implementations, the RFID reader may need to re-interrogate the inventory population many times during the interrogation event in order to receive a high percentage of correct responses.
With every interrogation event, a portion of the fixed power source in the active RFID tag is consumed. The power remaining in the RFID tag's power source decreases with the ON time of the RFID tag during each interrogation event and with the number of interrogation prompts to which the RFID tag must respond during each interrogation event.
The time between interrogation events depends on the type of tracked inventory and how quickly the inventory population is completely replaced. For example, if the inventory consists of items that are stored for an extended time, such as years, the inventory could be interrogated once every week. If the inventory population is highly dynamic and is completely replaced every few days, then the inventory may be interrogated every 30 minutes. The RFID tags, which receive frequent interrogation events and/or that receive multiple interrogation prompts per interrogation event, require a power source that is large enough to function for the duration of their expected tracked time in inventory. However, larger power sources increase the size and cost of each RFID tag and thereby increase the total system cost.
For the reasons stated above, there is a need to reduce the number and duration of interrogation prompts per interrogation event in order to reduce the cost of the master-slave wireless networks.
One aspect of the present invention provides a method to dynamically schedule communication between a master and slaves in a variable slave population in a master-slave wireless network. The method includes receiving a first interrogation phase command signal from the master, transmitting a response signal to the master responsive to the first interrogation phase command signal after a current time interval, the current time interval based on a current time slot selection, receiving an acknowledgment list from the master responsive to the transmitted response signal, determining whether the current time slot selection matches a master-filled time slot based on the acknowledgement list, and modifying an affinity value based on the determination.
Another aspect of the present invention provides a system to dynamically schedule communication between a master and a slave in a variable slave population in a master-slave wireless network. The system includes means for determining an initial time slot selection for the slave, means for establishing an affinity value for the slave, means for establishing a current time slot selection for the slave and means for dynamically re-establishing the affinity value and the current time slot selections for the slave as the slave population changes.
Another aspect of the present invention provides a computer readable medium storing a computer program. The medium includes computer readable code for receiving a first interrogation phase command signal from the master computer readable code for transmitting a response signal to the master after a current time interval, computer readable code for receiving an acknowledgement list from the master, computer readable code for determining whether the current time slot selection matches a master-filled time slot and computer readable code for modifying an affinity value based on the determination.
The above mentioned problems of current systems are addressed by embodiments of the present invention and will be understood by reading and studying the following specification.
The present invention can be more easily understood and further advantages and uses thereof more readily apparent, when considered in view of the description of the embodiments and the following figures, in which like references indicate similar elements, and in which:
In the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. The following detailed description is not to be taken in any limiting sense and the scope of the present invention is defined only by the claims and equivalents thereof.
Each slave 31 determines an initial time slot upon entering the master-slave wireless network 10 as known in the art. The initially selected time slot is stored as a current time slot in a memory 41 in the slave 31. The current time slot is positive integer between 1 and N, if N is the maximum number of time slots recognized by the master 20.
Additionally, each slave 31 determines an affinity value upon entering the master-slave wireless network 10. The affinity value indicates the affinity of a slave 31 to a time slot. After a successful interrogation event 130 by the master 20, the slave 31 sets the affinity value of the currently selected time slot to a pre-established maximum affinity value. In a successful interrogation event 130, a response signal 212 (
After an unsuccessful interrogation event 130 by the master 20, the slave 31 decreases the affinity to the currently selected time slot. In an unsuccessful interrogation event 130, a response signal 202 (
Referring now to
Thus, the first interrogation phase 100 occurs before the second interrogation phase 110 and the second interrogation phase 110 occurs before the third interrogation phase 120. The duration of third interrogation phase 120 is less than the duration of second interrogation phase 110. The duration of the second interrogation phase 110 is less than the duration of first interrogation phase 100. The interrogation phases 100, 110 and 120 include sequential time slots 101-106 of about equal duration ΔT.
The interrogation phase 100 is shown in an exploded view in
During the subsequent N time slots 102-104, the master 20 is in a response-received mode. If the master 20 recognizes that there are N slaves 31 in the slave population 30, the master 20 waits the duration of N time slots to receive the response signals. Thus, as shown in
In the case illustrated in
In one embodiment, the memory 22 is located external to the master 20. In another embodiment, only slave 31 transmits a response signal 202 during time slot 102. In this case, only slave 31 has selected time slot 102 and the master 20 receives and recognizes the response signal 202 and time slot 102 becomes a master-filled time slot. A time slot is defined herein as a master-filled time slot if the data from the message payload 202C of the response signal 202 from the slave 31 is stored by the master 20 in memory 22 during the duration of the time slot.
In yet another embodiment, no slaves 31 transmit a response signal 202 during time slot 102. If the master 20 does not receive a response signal 202 from any slave 31 during the duration of the time slot, the time slot is a master-quiet time slot. Master-quiet time slots are a subset of the master-open time slots.
If the master 20 fails to receive a response signal 202 sent from a slave 31, the time slot is a receive-failed time slot. Receive-failed time slots are a subset of the master-open time slots. The master 20 fails to receive the response signal 202 if there are errors in the response signal 202. Additionally, the master 20 fails to receive the response signal 202 if there are errors in the master's transceiver.
Time slot 102 is the first time slot during the response-received mode and the second time slot of the first interrogation phase 100. Time slot 103 is the second time slot during the response-received mode and the third time slot of the first interrogation phase 100. Time slot 104 is the Nth time slot during the response-received mode and the (N+1) time slot of the first interrogation phase 100. Time slot 104 is the last time slot of the response-received mode of the first interrogation phase 100. As used herein, N is a positive integer.
The time slot 105 is the second-to-last time slot of the first interrogation phase 100. The second-to-last time slot of every interrogation phase is the time during which the master 20 broadcasts an acknowledgement list to the slave population 30 responsive to the response signals 202 received from the slave population 30 during the response-received mode of the first interrogation phase. The acknowledgement list is a list of master-filled time slots. Other types of acknowledgement lists are possible. The acknowledgement includes one or more of the list of master-filled time slots, the list of master-open time slots, the list of receive-failed time slots, the list of master-contended time slots, and the list of master-quiet time slots. The slaves 31 include protocol and computer programmable media required to recognize whether the acknowledgement list is the set open time slots, a subset of open time slots or the set of filled time slots.
The time slot 106 is the last time slot of the first interrogation phase 100. The last time slot of every interrogation phase is the time during which the master 20 broadcasts a list of master-open time slots to the slave population 30 responsive to the signal responses 202 received from the slave population 30 during the response-received mode of the first interrogation phase 100. The combined acknowledgement list that includes master-filled time slots and the list of master-open time slots include all the time slots from 102 through 104.
In one embodiment, the time slot 105 is the last time slot of the first interrogation phase 100 and the list of master-open time slots is not broadcast to the slave population 30. In another embodiment, the list of master-open time slots is transmitted during time slot 105 and the acknowledgement list of master-filled time slots is not broadcast to the slave population 30. In one embodiment, the slaves 31, which have selected a time slot that was listed in a master-filled acknowledgement list, power OFF their power sources list to reduce power consumption after recognizing that their selected time slot was in the master-filled acknowledgement. In another embodiment, the slaves 31, which have a selected time slot that was not listed in a master-open acknowledgement list, power OFF their power sources to reduce power consumption after recognizing that their selected time slot was not listed in a master-open acknowledgement list.
In one embodiment of an interrogation event, subsequent interrogations phases follow the second interrogation phase 120 until the all time slots in an acknowledgment list are master-filled time slots, and wherein each subsequent interrogation phase is of shorter duration than the previous interrogation phase.
The affinity value of the slave 31 is modified if the acknowledgement list indicated that message payload 202C of slave 31 was not stored in memory 22. A slave 31 having a modified affinity value is represented as slave 33 (
At the start of the second interrogation phase 110, the master 20 recognizes that K time slots of the available N time slots were filled during the response-received mode of the first interrogation phase 100 (
The modified (N−K) slaves 33 retransmit a response signal 212 during one of the time slots in the response-received mode of the second interrogation phase 110. The modified (N−K) slaves 33 determine when to transmit response signal 212 as described below with reference to stage S906 of method 900 in
The third interrogation phase 120 experiences a like reduction in duration of response-received mode. In some embodiments of the present invention, the affinity value for each slave 31 in the slave population 30 reduces the duration of the response-received mode for each subsequent response-received mode, as is apparent from the discussion related to
Time slot 112 is the first time slot during the response-received mode and the second time slot of the second interrogation phase 110. Time slot 113 is the second time slot during the response-received mode and the third time slot of the second interrogation phase 110. Time slot 114 is the (N−K)th time slot during the response-received mode and the (N−K+1)th time slot of the second interrogation phase 110. Time slot 114 is the last time slot of the response-received mode of the second interrogation phase 110.
The time slot 115 is the second-to-last time slot of the second interrogation phase 110. The second-to-last time slot of every interrogation phase is the time during which the master 20 broadcasts an acknowledgement list as described above with reference to
In one embodiment, the time slot 115 is the last time slot of the second interrogation phase 110 and the list of master-open time slots is not broadcast to the slave population 30. In another embodiment, the list of master-open time slots is transmitted during time slot 115 and the list of master-filled time slots is not broadcast to the slave population 30. In yet another embodiment, the slaves 33, which have a selected time slot that was listed in the acknowledgement list, power OFF their power sources to reduce power consumption after recognizing that their selected time slot was in the master-filled acknowledgement.
In one embodiment, this master-slave wireless network 10 is an RFID master-slave wireless network. In this case, the master 20 is an RFID reader and the slaves 31 are RFID tags within the range of a radio frequency signal broadcast by the RFID reader.
In
Specifically, method 500 describes the flow in
During stage S502, the slave 31 generates an initial time slot selection. The slave 31 includes a random number generator (not shown). When the slave 31 is entered into the master-slave wireless network 10, the random number generator generates a number within the limit N of the master-slave wireless network 10. The initial time slot selection is stored in the memory 41 of the slave 31 as the current time slot selection. During stage S504, the slave 31 sets the affinity value equal to the affinity threshold value and stores the affinity value in the memory 41 of slave 31. At this point, the slave 31 is initiated to communicate with the master 20 in the master-slave wireless network 10. In one embodiment, the affinity threshold value is the integer one. In another embodiment, the master 20 transmits the value of N to the slave 31 when the slave 31 enters the broadcast region of the master 20. In yet another case, the slave 31 has N preset in the memory 41.
During stage S506, the slave 31 waits to receive an interrogation phase command signal, such as first interrogation phase command signal 201, from the master 20. The time that the slave 31 waits between receiving the interrogation events 130 depends on the interrogation schedule of the master 20. The interrogation schedule is a function of the type of inventory and the rate of turnover in the inventory. During stage S508, the master 20 waits to interrogate the slave population 30. Stage S506 overlaps in time with stage S508. If the slave 31 has not been initiated into the master-slave wireless network 10 before the last interrogation event, then stage S506 occurs, at least in part, at about the same time as stage S508.
During stage S510, the master 20 broadcasts a first interrogation phase command signal 201, as described above with reference to
During stage S514, the slave 31 transmits a response signal 202 to the master 20, as described above with reference to
During stage S516, the master 20 is in the response-received mode. The master 20 waits for and receives the response signals 202 from one or more of the slaves 31 during the response-received mode. The master 20 receives the responses at receiver 21. The master 20 stores the message payload 202C from the slave 31 in memory 22 along with an indicator of the time slot in which the message payload 202C was received. Stage S514 and S516 partially overlap in time.
During stage S518, the master 20 generates at least one acknowledgement list after the response-received mode is over. The master 20 generates the acknowledgement list according to the protocol of the master-slave wireless network 10 as described above with reference to
During stage S520, the master 20 broadcasts the acknowledgement list generated during stage S518 to the slave population 30. Referencing the exemplary master-slave wireless network 10 of
During stage S522, the slaves 31 in the slave population 30 receive the acknowledgement list from the master 20. During stage S524, each slave 31 determines whether the current time slot selection stored in memory 41 matches one of the master-filled time slots in the acknowledgement list. The slaves 31 retrieve the current time slot selection from memory 41 when the acknowledgement list is received and compare the acknowledgement list to the retrieved current time slot selection. In one embodiment, each slave 31 determines whether the current time slot selection stored in memory 41 matches a time slot in the master-open time slot list. In yet another embodiment, each slave 31 determines whether the current time slot stored in memory 41 does not match a time slot in the concatenated list of receive-failed time slots, master-quiet time slots and the master-contented time slots.
During stage S526, each slave 31 modifies the affinity value based on the determination made during stage S526. The details of the determination are described below with reference to method 600 in
If the determination made during stage S602 is positive, the method 600 flows to stage S604. During stage S604, the slave 31 sets the affinity value to a pre-established maximum affinity value. The pre-established maximum affinity value is stored in memory 41 and is greater than an affinity threshold value. In one embodiment, the affinity threshold value is one. The pre-established maximum affinity value was stored in memory 41 by the manufacturer of the slave 31.
If the determination made during stage S602 is negative, the method 600 flows to stage S606. During stage S606, the slave 31 reduces the affinity value. The slave 31 retrieves the affinity value from the memory 41 and stores the reduced affinity value in memory 41. Each slave's 31 affinity value is based on the pre-established maximum affinity value, an affinity reducing value and the number of times the slave 31 has made a negative determination during stage S602 since last making a positive determination during stage S602. The function of the affinity reducing value is described below with reference to stage S702 of method 100 in
During stage S702, the slave 31 reduces the affinity value by the affinity reducing value. Since the slave 31 has experienced at least one successful interrogation event the affinity value is greater than the affinity threshold value before the reduction. During stage S704, the slave 31 determines the affinity value is not less than the affinity threshold value. In one embodiment of method 700, the affinity reducing value is one and the affinity threshold value is one. During stage S706, the slave determines the master 20 is not transmitting a second interrogation phase command signal. This determination is made based on the protocol of master-slave wireless network 10 in which the slave 31 operates. The protocol indicates the number of interrogation phases the master 20 transmits in one interrogation event 130.
During stage S708, the slave 31 waits to receive the first interrogation phase command signal 210 from the master 20 as described above with reference to stage S508 during method 500 in
During stage S802, the slave 31 reduces the affinity value by the affinity reducing value. Since the slave 31 has experienced at least one successful interrogation event the affinity value is greater than the affinity threshold value before the reduction. In one embodiment of method 800, the affinity reducing value is one and the affinity threshold value is one. During stage S804, the slave 31 determines the affinity value is not less than the affinity threshold value.
During stage S806, the slave 31 receives the second interrogation phase command signal 211 from the master 20. During stage S808, the slave 31 transmits a response signal 212 to the master 20 responsive to the second interrogation phase command signal 211. The slave 31 transmits the response signal 212 after waiting the current time interval. In this embodiment, the current time interval during the second interrogation phase 110 is the same duration as the current time interval of the first interrogation phase 100. They are the same since the current time slot selection has not changed. In the exemplary master-slave wireless network 10, the time duration of each slot is ΔT, the current time slot selection is F, and the current time interval is FΔT. Thus, the slave 31 waits for a time duration equal to FΔT to pass and then transmits the response signal 212.
During stage S810, the slave 31 receives an acknowledgement list from the master 20 responsive to the latest response signal 212 transmitted during stage S806. The flow of method 800 continues for a third interrogation phase 120, based the protocol of master-slave wireless network 10 and number of open-master time slots at the master 20 following the second interrogation phase 110. The flow of the third interrogation phase 120 and any additional interrogation phases proceed according to the flow of method 800, as is understandable to one skilled in the art.
The affinity value is driven to the value of the affinity threshold value by going through iterations of method 700. Take an exemplary case in which the affinity reducing value is one and the affinity threshold value is one and the affinity value was set to an affinity value M as described above with reference to stage S604 in method 600 of
In another exemplary case of method 900, the slave 31 was introduced to the master-slave wireless network and current interrogation event is the first interrogation event experienced by the slave 31 while in the master-slave wireless network 10. In this case, slave 31 has an affinity value equal to the affinity threshold value at the start of method 900.
During stage S902, the slave 31 reduces the affinity value by the affinity reducing value. During stage S904, the slave 31 determines the affinity value is less than the affinity threshold value. In one embodiment of method 900 as described above, the affinity reducing value is one and the affinity threshold value is one.
During stage S906, the slave 31 modifies the current time slot selection. The time slot selection is modified by one of many possible techniques. The master-slave wireless network 10 protocols stored in the memory 41 of the slave 31 and the memory 22 of master 20 set the modification technique. In a first embodiment of modifying the current time slot selection, the current time slot selection is randomly selected from the list of all time slots one through N. In this embodiment, the master 20 broadcasts the acknowledgement list during time slot 105 and broadcasts the list of master-open time slots during time slot 106. In this embodiment, the time slot 105 is the last time slot of the first interrogation phase 100.
In a second embodiment of modifying the current time slot selection, the slave 31 determines the current time slot selection by applying a first selection algorithm to the list of all time slots. In the first selection algorithm, the slave randomly selects a stride value from a list of preset stride values, adds the randomly selected stride value to the current time slot selection and sets the sum as the current time slot selection. Once the first selection algorithm is applied by the slave 31, the current time slot selection becomes a new current time slot selection. A stride value is a positive integer. The list of preset stride values stored in the memory 41. In one embodiment, the stride value is less than (N−K) where K is an integer less than N where N is the number of slaves 31 in the slave population 30. When the sum of the randomly selected stride value and the current time slot selection is greater than N, the current time slot assignment is wrapped around the time slot list.
In a third embodiment of modifying the current time slot selection, the slave 31 randomly selects the current time slot selection from the list of master-open time slots. In this embodiment, the master 20 has mapped a sub-list of master-open time slots to the total list of time slots. In this embodiment, the master 20 is required to broadcast the acknowledgement list during time slot 105 and to broadcast the list of master-open time slots during time slot 106. In this embodiment, the time slot 106 is the last time slot of the first interrogation phase 100.
In a fourth embodiment of modifying the current time slot selection, the slave 31 applies a second selection algorithm from a list of preset stride values to the list of unused time slots. In the second selection algorithm, the slave 31 randomly selects a stride value from a list of preset stride values, determines which of the master-open time slots is closest to the current time slot selection, determines the position of the master-open time slot that is closest to the current time slot, adds that position to the randomly selected stride value and sets the sum as the time slot selection in the list of master-open time slots. The value of the time slot in the list of master-open time slots is the new current time slot selection.
In an exemplary application of the second selection algorithm, the list of master-open time slots is 1, 4, 11, 13, 15, 16, 17, 20 and 24 while the list of preset values is 3, 5, 7 and 17. The slave 31, which has a current time slot of 8, applies the second selection algorithm and randomly selects the stride value 5. The slave 31 determines that 11 in the list of master-open time slots is closest to 8 and that 11 has selected the position of 3 in the list of master-open time slots, since only 1 and 4 precede 11 in the list of master-open time slots. The position 3 is added to the randomly selected stride value 5 to obtain the sum of 8. This sum 8 is the time slot selection in the list of master-open time slots 1, 4, 11, 13, 15, 16, 17, 20 and 24. The eighth digit in the list of master-open time slots is 20. Thus, 20 is the new current time slot selection. The slave 31 will wait for a time of 20ΔT after receiving the second interrogation phase command signal and then send the response signal 202 to the master 20. Once the second selection algorithm is applied by the slave 31 the current time slot selection becomes a new current time slot selection. In this embodiment, the master 20 is required to broadcast the acknowledgement list during time slot 105 and to broadcast the list of master-open time slots during time slot 106.
In a fifth embodiment of modifying the current time slot selection, the master 20 generates a mapping matrix 300 that correlates the list of unused time slots 305 to the list of all time slots 310.
In an implementation of this embodiment of modifying the current time slot selection, the first row of the mapping matrix 300 is the numerical value for each of the 7 unused time slots in the list of all time slots 310 as they numerically fall within the list of all time slots 305. The second row is the number 1 through 7, for each of the unused time slots in the list of all time slots 310 as they numerically fall within the list of unused time slots 310.
During stage S1104, each slave 31 selects a current time slot from the second column 315 of the mapping matrix 300 if the slave 31 has a current time slot selection that does not match one of the master-filled time slots in the acknowledgement list. The slaves 31 receive a second interrogation phase command signal 211 from the master 20. The slaves 31 transmit a response signal 212 to the master 20 responsive to the second interrogation phase command signal 211 after waiting the current time interval. The slaves 31 then receive an acknowledgement list from the master 20 responsive to the latest response signal 202. In this case, the second interrogation phase 110 is shorter in duration than the first interrogation phase 100.
In the implementation of the embodiment in which the second row is the numerical value for 1-7 each unused time slot in the list of all time slots 310 the slaves 31 select a current time slot from a row of the mapping matrix 300. In the implementation of this embodiment, the mapping matrix 300 is transmitted after the acknowledgement list.
During stage 1106, the slaves 31 determine the current time slot selection, made from the mapping matrix 300, matches the master-filled time slot based on the acknowledgement list from the master 20 received in response to the latest response signal 202. Thus, the master 21 received the response signal 212 from the slave 31 during the second interrogation phase. In an implementation of this embodiment, the acknowledgement list from the master 20 responsive to the latest response signal 202 also includes a new mapping matrix. This new mapping matrix is used by the slaves 31 which still have not effectively communicated a response to the master 20. In one implementation of this embodiment, the new mapping matrix overrides the first mapping matrix by mapping directly to the list of all time slots. In another implementation of this embodiment, the new mapping matrix maps indirectly to the list of all time slots by mapping to the first mapping matrix.
During stage S1108, the slave 31 maps the current time slot from the list of unused time slots 310 in the second column of mapping matrix 300 to the list of all time slots. The first column of mapping matrix 300 indicates the rank order of the current time slot in the list of all time slots 305. Consider the exemplary slave that has a current time slot of 5. The exemplary slave selected the current time slot of 5 from the second column, fifth row of the mapping matrix. The exemplary slave maps to the list of all time slots 305 by mapping to the first column fifth row of the mapping matrix 300. Other mapping schemes are possible.
During stage S1110, the slave 31 re-selects the current time slot from the list of all time slots 305. The re-selected current time slot is based on the value retrieved from the mapping process of stage S11108. In the case of the exemplary slave with current time slot of 5, the value from the first column fifth row of the mapping matrix 300 becomes the current time slot and the exemplary slave now has a current time slot of 11 for the first interrogation phase 100 of the next interrogation event 130.
Thus, many implementations of the current time slot selection are possible. The current time slot selection is done by at least one of: randomly selecting a new time slot from a list of all time slots; applying a selection algorithm to the list of all time slots; randomly selecting the current time slot from a list of unused time slots; applying a selection algorithm to the list of unused time slots; randomly selecting a time slot from the list of unused time slots and mapping the time slot to the list of all time slots; and applying the selection algorithm to the list of unused time slots and mapping the time slot to the list of all time slots. Other embodiments of methods to modify the current time slot selection are possible as is understandable by those skilled in the art.
During stage S908, the slave 31 sets the affinity value equal to the affinity threshold value as described above with reference to stage S504 of method 500 in
During stage S1202, the slave 31 reduces the affinity value by the affinity reducing value. During stage S1204, the slave 31 determines the affinity value is less than the affinity threshold value. In one embodiment of method 1000 as described above, the affinity reducing value is one and the affinity threshold value is one. During stage S11206, the slave 31 modifies the current time slot selection as described above with reference to stage S906 of method 900 in
During stage S1210, the slave 31 receives the second interrogation phase command signal 211 from the master 20. During stage S1212, the slave 31 transmits a response signal 212 to the master 20 responsive to the second interrogation phase command signal 211 after waiting the current time interval.
In one embodiment, the response-received mode of the master 20 in the second interrogation phase command signal is shortened in duration from the first interrogation phase command signal. For example, if the current time slot selection is modified during stage S1206 by random selection of the from the list of all time slots 1 through N, the master 20 does not have a shortened response-received mode. Alternatively, if the current time slot selection is not modified during stage S1206 by random selection from the list of master-open time slots, the master 20 has a shortened response-received mode. In either case, the slaves 31 that were matched to the master-filled time slot acknowledgement list have powered OFF their power sources and do not transmit a response signal 212 to the master 20 during the second interrogation phase 110.
During stage S1214, the slave 31 receives an acknowledgement list from the master 20 responsive to the latest response signal 212 transmitted during stage S11212. The flow of method 1000 continues for a third interrogation phase 120, based the protocol of master-slave wireless network 10 and number of open-master time slots at the master 20 following the second interrogation phase 110. The flows of the third interrogation phase 120 and any additionally required interrogation phases proceed according to the flow of method 1200, as is understandable to one skilled in the art.
Although specific embodiments have been described herein, it will be appreciated by those of skill in the art that other algorithms and protocols for a master-slave wireless network may be substituted for the specific embodiments described. This application is intended to cover any adaptations and variations of the present invention. Therefore it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.