This description relates to wireless communications, such as for monitoring of patients within a medical body area network.
A medical body area network (MBAN) may replace wired sensors that monitor a patient with wireless sensors. Each sensor may measure or monitor one or more patient conditions or physiological measurements, such as blood pressure, heart rate, blood glucose level, pulse, or other clinical patient data or patient measurements. A wireless node may be provided or connected to each of the sensors to allow the clinical patient data measured by each sensor to be wirelessly communicated to a hub (which may also be referred to as a controller, a central controller, or a gateway).
MBAN clinical patient data may range from important patient data (e.g., a heart rate of a healthy patient undergoing a stress test), to critical patient data (e.g., such as clinical patient data for a critically ill patient in intensive care). For patient safety and MBAN performance, it may be desirable for clinical patient data be transmitted (delivered) to the hub with low latency and high reliability. For example, data that is not delivered to the hub, or data that is delivered late may create serious safety issues for the patient. Unfortunately, there may be many sources of radio interference within a hospital or clinic that may interfere with transmission of clinical patient data from a wireless node to the hub or controller, e.g., which may result in failed data transmissions (data that is transmitted by a wireless node but is not received by the hub or controller).
According to an example embodiment, a method may include allocating, by a controller within a wireless network for a first frame, slots to a plurality of wireless nodes within a wireless network, wherein each of the plurality of wireless nodes has one or more allocated slots for transmission or retransmission of data at least for the first frame, and wherein each frame includes a plurality of slots; determining, by the controller based on data transmissions performed during the first frame, that there is a failed data transmission from a first wireless node to the controller via at least one slot of a first set of one or more slots that were allocated to the first wireless node; determining, by the controller based on data transmissions performed during the first frame, that data was received by the controller from a second wireless node via at least one slot of a second set of one or more slots allocated to the second wireless node; and transmitting, by the controller to a plurality of wireless nodes including at least the first wireless node and the second wireless node, a message including slot allocation or reallocation information for the second frame, including information indicating that the at least one slot of the second set of one or more slots, which were allocated to the second wireless node, has been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame, via the reallocated at least one slot.
According to an example embodiment, an apparatus may include means for allocating, by a controller within a wireless network for a first frame, slots to a plurality of wireless nodes within a wireless network, wherein each of the plurality of wireless nodes has one or more allocated slots for transmission or retransmission of data at least for the first frame, and wherein each frame includes a plurality of slots; means for determining, by the controller based on data transmissions performed during the first frame, that there is a failed data transmission from a first wireless node to the controller via at least one slot of a first set of one or more slots that were allocated to the first wireless node; means for determining, by the controller based on data transmissions performed during the first frame, that data was received by the controller from a second wireless node via at least one slot of a second set of one or more slots allocated to the second wireless node; and means for transmitting, by the controller to a plurality of wireless nodes including at least the first wireless node and the second wireless node, a message including slot allocation or reallocation information for the second frame, including information indicating that the at least one slot of the second set of one or more slots, which were allocated to the second wireless node, has been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame, via the reallocated at least one slot.
According to an example embodiment, an apparatus may include: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: allocate, by a controller within a wireless network for a first frame, slots to a plurality of wireless nodes within a wireless network, wherein each of the plurality of wireless nodes has one or more allocated slots for transmission or retransmission of data at least for the first frame, and wherein each frame includes a plurality of slots; determine, by the controller based on data transmissions performed during the first frame, that there is a failed data transmission from a first wireless node to the controller via at least one slot of a first set of one or more slots that were allocated to the first wireless node; determine, by the controller based on data transmissions performed during the first frame, that data was received by the controller from a second wireless node via at least one slot of a second set of one or more slots allocated to the second wireless node; and transmit, by the controller to a plurality of wireless nodes including at least the first wireless node and the second wireless node, a message including slot allocation or reallocation information for the second frame, including information indicating that the at least one slot of the second set of one or more slots, which were allocated to the second wireless node, has been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame, via the reallocated at least one slot.
According to an example embodiment, a non-transitory computer-readable storage medium may include instructions stored thereon that, when executed by at least one processor, are configured to cause a computing system to allocate, by a controller within a wireless network for a first frame, slots to a plurality of wireless nodes within a wireless network, wherein each of the plurality of wireless nodes has one or more allocated slots for transmission or retransmission of data at least for the first frame, and wherein each frame includes a plurality of slots; determine, by the controller based on data transmissions performed during the first frame, that there is a failed data transmission from a first wireless node to the controller via at least one slot of a first set of one or more slots that were allocated to the first wireless node; determine, by the controller based on data transmissions performed during the first frame, that data was received by the controller from a second wireless node via at least one slot of a second set of one or more slots allocated to the second wireless node; and transmit, by the controller to a plurality of wireless nodes including at least the first wireless node and the second wireless node, a message including slot allocation or reallocation information for the second frame, including information indicating that the at least one slot of the second set of one or more slots, which were allocated to the second wireless node, has been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame, via the reallocated at least one slot.
According to an example embodiment, a method may include receiving, by a first wireless node from a controller within a wireless network, an allocation of a first set of one or more slots for transmission or retransmission of data at least for a first frame, and wherein each frame includes a plurality of slots; transmitting, by the first wireless node to the controller, a packet via each of the slots of the first set of one or more slots allocated to the first wireless node; and receiving, by the first wireless node from the controller, a message including slot allocation or reallocation information for a second frame, including information indicating that at least one slot of a second set of one or more slots, which were previously allocated to another wireless node, has been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame.
According to an example embodiment, an apparatus may include means for receiving, by a first wireless node from a controller within a wireless network, an allocation of a first set of one or more slots for transmission or retransmission of data at least for a first frame, and wherein each frame includes a plurality of slots; means for transmitting, by the first wireless node to the controller, a packet via each of the slots of the first set of one or more slots allocated to the first wireless node; and means for receiving, by the first wireless node from the controller, a message including slot allocation or reallocation information for a second frame, including information indicating that at least one slot of a second set of one or more slots, which were previously allocated to another wireless node, has been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame.
According to an example embodiment, an apparatus may include: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: receive, by a first wireless node from a controller within a wireless network, an allocation of a first set of one or more slots for transmission or retransmission of data at least for a first frame, and wherein each frame includes a plurality of slots; transmit, by the first wireless node to the controller, a packet via each of the slots of the first set of one or more slots allocated to the first wireless node; and receive, by the first wireless node from the controller, a message including slot allocation or reallocation information for a second frame, including information indicating that at least one slot of a second set of one or more slots, which were previously allocated to another wireless node, has been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame.
According to an example embodiment, a non-transitory computer-readable storage medium may include instructions stored thereon that, when executed by at least one processor, are configured to cause a computing system to receive, by a first wireless node from a controller within a wireless network, an allocation of a first set of one or more slots for transmission or retransmission of data at least for a first frame, and wherein each frame includes a plurality of slots; transmit, by the first wireless node to the controller, a packet via each of the slots of the first set of one or more slots allocated to the first wireless node; and receive, by the first wireless node from the controller, a message including slot allocation or reallocation information for a second frame, including information indicating that at least one slot of a second set of one or more slots, which were previously allocated to another wireless node, has been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame.
According to an example embodiment, a method may include receiving, by a second wireless node from a controller within a wireless network for a first, an allocation of a second set of one or more slots for transmission or retransmission of data at least for the first frame, and wherein each frame includes a plurality of slots; transmitting, by the first wireless node to the controller, packets via the slots of the second set of one or more slots allocated to the second wireless node; and receiving, by the second wireless node from the controller, a message including slot allocation or reallocation information for a second frame, including information indicating that all slots of the second set of one or more slots, which were previously allocated to the second wireless node, have been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame.
According to an example embodiment, an apparatus may include means for receiving, by a second wireless node from a controller within a wireless network for a first, an allocation of a second set of one or more slots for transmission or retransmission of data at least for the first frame, and wherein each frame includes a plurality of slots; means for transmitting, by the first wireless node to the controller, packets via the slots of the second set of one or more slots allocated to the second wireless node; and means for receiving, by the second wireless node from the controller, a message including slot allocation or reallocation information for a second frame, including information indicating that all slots of the second set of one or more slots, which were previously allocated to the second wireless node, have been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame.
According to an example embodiment, an apparatus may include: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: receive, by a second wireless node from a controller within a wireless network for a first, an allocation of a second set of one or more slots for transmission or retransmission of data at least for the first frame, and wherein each frame includes a plurality of slots; transmit, by the first wireless node to the controller, packets via the slots of the second set of one or more slots allocated to the second wireless node; and receive, by the second wireless node from the controller, a message including slot allocation or reallocation information for a second frame, including information indicating that all slots of the second set of one or more slots, which were previously allocated to the second wireless node, have been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame.
According to an example embodiment, a non-transitory computer-readable storage medium may include instructions stored thereon that, when executed by at least one processor, are configured to cause a computing system to receive, by a second wireless node from a controller within a wireless network for a first, an allocation of a second set of one or more slots for transmission or retransmission of data at least for the first frame, and wherein each frame includes a plurality of slots; transmit, by the first wireless node to the controller, packets via the slots of the second set of one or more slots allocated to the second wireless node; and receive, by the second wireless node from the controller, a message including slot allocation or reallocation information for a second frame, including information indicating that all slots of the second set of one or more slots, which were previously allocated to the second wireless node, have been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame.
According to an example embodiment, a method may include allocating, by a controller to each of a plurality of wireless nodes within a wireless network provided for a patient monitoring system, at least one initial slot for transmission of new data in a first frame and at least one retransmission slot for retransmission of data in one or more subsequent frames, wherein each frame includes a plurality of slots, wherein the wireless nodes include at least a first wireless node and a second wireless node, wherein the allocating includes allocating to the second wireless node at least a first retransmission slot for data retransmission in one or more frames subsequent to a first frame; determining, by the controller based on data transmissions performed during the first frame, that there is a failed data transmission from the first wireless node during the first frame; determining, by the controller based on data transmissions performed during the first frame, that the second wireless node does not need the at least the first retransmission slot that was allocated to the second wireless node for data retransmission for one or more frames subsequent to the first frame; and transmitting, by the controller to the plurality of wireless nodes including at least the first wireless node and the second wireless node, a retransmission slot allocation message including information indicating that the at least the first retransmission slot that was allocated to the second wireless node for data retransmission has been allocated to the first wireless node for at least one frame subsequent to the first frame.
According to an example embodiment, an apparatus may include means for allocating, by a controller to each of a plurality of wireless nodes within a wireless network provided for a patient monitoring system, at least one initial slot for transmission of new data in a first frame and at least one retransmission slot for retransmission of data in one or more subsequent frames, wherein each frame includes a plurality of slots, wherein the wireless nodes include at least a first wireless node and a second wireless node, wherein the means for allocating includes means for allocating to the second wireless node at least a first retransmission slot for data retransmission in one or more frames subsequent to a first frame; means for determining, by the controller based on data transmissions performed during the first frame, that there is a failed data transmission from the first wireless node during the first frame; means for determining, by the controller based on data transmissions performed during the first frame, that the second wireless node does not need the at least the first retransmission slot that was allocated to the second wireless node for data retransmission for one or more frames subsequent to the first frame; and means for transmitting, by the controller to the plurality of wireless nodes including at least the first wireless node and the second wireless node, a retransmission slot allocation message including information indicating that the at least the first retransmission slot that was allocated to the second wireless node for data retransmission has been allocated to the first wireless node for at least one frame subsequent to the first frame.
According to an example embodiment, an apparatus may include: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: allocate, by a controller to each of a plurality of wireless nodes within a wireless network provided for a patient monitoring system, at least one initial slot for transmission of new data in a first frame and at least one retransmission slot for retransmission of data in one or more subsequent frames, wherein each frame includes a plurality of slots, wherein the wireless nodes include at least a first wireless node and a second wireless node, wherein the allocating includes allocating to the second wireless node at least a first retransmission slot for data retransmission in one or more frames subsequent to a first frame; determine, by the controller based on data transmissions performed during the first frame, that there is a failed data transmission from the first wireless node during the first frame; determine, by the controller based on data transmissions performed during the first frame, that the second wireless node does not need the at least the first retransmission slot that was allocated to the second wireless node for data retransmission for one or more frames subsequent to the first frame; and transmit, by the controller to the plurality of wireless nodes including at least the first wireless node and the second wireless node, a retransmission slot allocation message including information indicating that the at least the first retransmission slot that was allocated to the second wireless node for data retransmission has been allocated to the first wireless node for at least one frame subsequent to the first frame.
According to an example embodiment, a non-transitory computer-readable storage medium may include instructions stored thereon that, when executed by at least one processor, are configured to cause a computing system to allocate, by a controller to each of a plurality of wireless nodes within a wireless network provided for a patient monitoring system, at least one initial slot for transmission of new data in a first frame and at least one retransmission slot for retransmission of data in one or more subsequent frames, wherein each frame includes a plurality of slots, wherein the wireless nodes include at least a first wireless node and a second wireless node, wherein the allocating includes allocating to the second wireless node at least a first retransmission slot for data retransmission in one or more frames subsequent to a first frame; determine, by the controller based on data transmissions performed during the first frame, that there is a failed data transmission from the first wireless node during the first frame; determine, by the controller based on data transmissions performed during the first frame, that the second wireless node does not need the at least the first retransmission slot that was allocated to the second wireless node for data retransmission for one or more frames subsequent to the first frame; and transmit, by the controller to the plurality of wireless nodes including at least the first wireless node and the second wireless node, a retransmission slot allocation message including information indicating that the at least the first retransmission slot that was allocated to the second wireless node for data retransmission has been allocated to the first wireless node for at least one frame subsequent to the first frame.
The details of one or more examples of embodiments are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
Also, with reference to
Each of wireless nodes 1-5 and/or the hub (or controller) 114, may include a wireless transmitter/receiver (wireless transceiver) for transmitting and/or receiving information or signals via radio link or wireless link. Each of wireless nodes 1-5, hub (or controller) 114 and/or server and/or data base 216 may include a processor, memory, and computer program code (or software) that may be executed by the processor to perform the various functions, tasks and/or operations described herein.
Therefore, according to various example embodiments, techniques are described that may allow for (e.g., a dynamic, after each frame) reallocation of a slot(s) from a second wireless node that does not need the slot(s) for retransmission to a first wireless node that suffered a failed transmission/retransmission (and thus, has or may have a need for additional slots or wireless resources) for retransmission of data during a next frame. For example, the second wireless node may have transmitted all of its data to the hub 114, and therefore, may not need to perform data retransmission during a next frame. As a result, any slots that may have been allocated or assigned to the second wireless node for retransmission may be reallocated to other node(s) (such as the first wireless node) that may have suffered a failed data transmission, and thus may need to perform a data retransmission during a next frame.
According to an example embodiment, a method or technique may include allocating, by a controller (e.g., hub or controller 114,
The use of the terms first wireless node and second wireless node may refer to any wireless nodes. Unneeded slots (e.g., slots that were allocated to the second node, but the second node no longer needs to perform retransmissions) may be reallocated from the second wireless node to one or more other nodes, such as to the first wireless node, which may need or be able to use such reallocated slots for retransmission. Also, free slots (unused or unallocated slots) may be allocated to the first node or other nodes that may need to retransmit data. After receiving such reallocation of data slots, the first node (or any node that may need to retransmit data or which had a failed data transmission during the last frame) may (during the next frame) use any of its allocated slots (either slots originally assigned to it for initial transmission, or any slot subsequently allocated or reallocated to such wireless node) to retransmit data that may need to be retransmitted (e.g., data which failed or was not (or has not been) received by the hub or controller). Allocation or reallocation may take place after any frame (e.g., excluding the last transmission frame of a set of 3 superframes, since initial transmission of new data may be performed during a first frame of the set of three superframes, for example).
Each frame may be, e.g., 25 ms in length, and may include, for example, at least a beacon (or beacon slot, e.g., for transmission of a beacon message by controller or hub 114) and 22 data slots (data slots 1-22, or simply slots 1-22).
According to an example embodiment, frame 1 (or the first frame of the frame structure 308) includes 22 data slots for transmission of new data (e.g., uplink transmission of new data from wireless node(s) to hub 114, where new data is data that has not been transmitted before), and frames 2-9 may be provided for retransmission of failed data (or data that was not successfully transmitted or was not successfully received by hub 114. Thus, in this example, frame 1 includes slots for initial transmission of new data, and frames 2-9 include slots for retransmission of any data that failed or was not received by the hub 114.
Thus, according to an example embodiment, frame structure 308 may provide or allow for transmission (or initial transmission) of new data via allocated slot(s) in frame 1, and may allow for retransmission of data via slot(s) of any (or one or more of) frames 2-9, as needed (e.g., if the new data was not successfully transmitted or delivered to hub 114). Thus, according to an example embodiment, in order to improve transmission reliability and reduce latency, a wireless node may use any slots assigned to it to initially transmit new data within or during frame 1, and the wireless node may then use any assigned slots in subsequent frames 2-9 for retransmission of failed data (data that was not received by hub or controller 114). Thus, as noted, in this illustrative example, frame 1 may be used to initially transmit new data, and frames 2-9 may be used, if necessary, to retransmit any failed data (data that was not successfully transmitted or was not delivered to the hub 114).
As noted with respect to
A beacon may include control and/or management information transmitted (e.g., broadcast) by the hub (or controller) 114 to the wireless nodes. A beacon may include, for example, acknowledgements that may acknowledge receiving a packet for 1 or more (or each) of the allocated slots in the previous frame, or negative acknowledgements that may indicate that a packet was not received on one or more allocated slots of a previous frame, and e.g., may be indicated as a bit map to indicate for which slots a packet was received and/or was not received. Thus, such acknowledgement or negative acknowledgement information may inform a wireless node of data transmitted via a particular allocated slot that failed or was not received by the hub 114 and needs to be retransmitted during a next or subsequent frame, for example.
A beacon may also include, for example, slot allocation or slot reallocation information that includes or may indicate an allocation (or assignment) or reallocation (or re-assignment) of one or more slots (data slots) for the current (next) frame. For example, a beacon 310 is provided for frame 1, and may indicate an initial allocation of one or more slots for each of a plurality of wireless nodes; a beacon 312 is provided for frame 2 and may indicate an allocation and/or reallocation of slots for frame 2; and a beacon 314 is provided for frame 3, which may indicate an allocation or reallocation of slots for frame 3. The other frames 4-9 may also typically include a beacon.
Thus, according to an example embodiment, hub 114 may initially allocate slot(s) to one or more wireless nodes for transmission of new data within frame 1, and may initially allocate slot(s) to the one or more wireless nodes for retransmission of data for subsequent frames (e.g., frames 2-9) that are provided for retransmission of data. In an illustrative example embodiment, hub 114 may initially allocate a same slots for both transmission of new data in frame 1, and retransmission of data in frame 2 (or for retransmission of data via subsequent frames 2-9). However, as described hereinbelow, one or more slots allocated to wireless nodes for retransmission of data (e.g., allocated for one or more of frames 2, 3, . . . 9) that are no longer needed by a wireless node may be reallocated to another wireless node (that may have had a failed data transmission) to be used for data retransmission, e.g., in order to improve data transmission reliability and decreased latency via improved use of wireless resources or slots within the frame structure.
In one example, the same slots allocated to a node for frame 1 (transmission of new data) may also be initially allocated to the wireless node for retransmission of data in frames 2, 3, . . . 9 (but these allocations of slots may be adjusted based on data transmissions performed by the wireless nodes, and/or based on packets received by the hub 114 after each frame. For example, slot 9 may be allocated to node 1 for both frame 1 (transmission of new data) and initially allocated to node 1 for frame 2 (for retransmission of data that failed or was not received by hub 114). Although, in general, different slots may be assigned to a wireless node for new data transmission of frame 1, and for retransmissions in frame 2.
According to an example embodiment, after all 9 frames (after frames 1-9, including after all 3 superframes, SF1-SF3) of the frame structure 308 have occurred, the frame structure 308 may repeat itself, e.g., wireless nodes may transmit new data again via slots allocated or assigned to them for frame 1 for transmission of new data, and then the nodes may have opportunities to retransmit failed data via allocated slots of frames 2-9 (e.g., subject to one or more of such slots, that are no longer needed, being reallocated by hub 114 to other nodes).
Similarly, for frame 1 (which include slots allocated to nodes for transmission of new data), slots 10-11 of frame 1 have been allocated to node 2, e.g., for transmission of new data D, E, while slots 10-11 of frame 2 have been initially allocated to node 2 to allow node 2 to perform retransmission of any failed data (e.g., retransmission of any of data d or e, corresponding to new data D, E, respectively which may have failed transmission within frame 1) to hub 114. While data d is shown for slot 10 and data e is shown for slot 11, node 2 may use either (or any) of its allocated slots in frame 2 to retransmit any failed data (e.g., any of slots 10 or 11 may be used to retransmit any of data d, e, which may have failed or were not received by hub 114.
Similarly, for frame 1 (which include slots allocated to nodes for transmission of new data), slots 18-20 of frame 1 have been allocated by hub 114 to node 3, e.g., for transmission of new data F, H, I, while slots 18-20 of frame 2 have been initially allocated to node 3 to allow node 3 to perform retransmission of any failed data (e.g., retransmission of any of data f, h or i, corresponding to new data F, H or I, respectively which may have failed transmission in frame 1) to hub 114. While data f is shown for slot 18, data h is shown for slot 19, and data i is shown for slot 20 of frame 2, node 3 may use any of its allocated slots 18-20 in frame 2 to retransmit any of its failed data (e.g., any of slots 18-20 may be used to retransmit any of data f, h i, which may have failed or were not received by hub 114, according to an example embodiment).
Thus, frame 2 of
During or at the end of each frame, hub 114 may determine for which allocated slots there was a data transmission failure (or a failed transmission) from one of the wireless nodes (e.g., for which slots was data not received). For example, during, or at the end of frame 1, hub may determine that data A, B and C were successfully received via slots 1-3, respectively of frame 1, that data D and E failed (failed data transmission or were not received by the hub 114) via slots 10-11 of frame 1, and that data F (or slot 18) and data H (slot 19) failed transmission (were not received by hub 114 during frame 1), while data I (slot 20) was received by hub 114. Therefore, hub 114 may determine, based on transmissions performed within frame 1, that data A, B and C were received, both data D and E failed, data I was received, and data F and H failed, according to an example embodiment. At 450 in
Different or various techniques may be used by hub 114 to determine which allocated slots had data that were received by hub 114 and which allocated slots had a data transmission failure. In one example embodiment, a wireless node will transmit either a data packet or an empty or null packet (e.g., a packet with a header, e.g., destination address and possibly other control information, but no data) via each of its allocated slots. Thus, for example, if hub 114 does not receive a packet (either a data packet or a null/empty packet for an allocated slot), hub 114 assumes or determines that there was a failed data transmission for that allocated slot. For example, if no packet (either a data packet or a null or empty packet) was received by hub 114 in slots 10 or 11 within frame 1, the hub 114 assumes the data (e.g., data d, e) transmitted by node 2 failed or was not received, and thus, more slots should or may be allocated to node 2 for a subsequent frame (e.g., for frame 2) to increase the probability of a successful data retransmission for these data d, e, which suffered a failed data transmission in frame 1. As another technique for hub 114 to determine which slots for which there was a failed data transmission, each of the nodes with allocated slots may transmit to hub 114 a bit map that may indicate which slots the node is transmitting (or has transmitted) data (and thus, slots for which data was transmitted, and/or empty slots may be identified by hub 114 via the bit map(s), for example).
Thus, to summarize with respect to
In this manner, hub 114 may dynamically reallocate or reassign slots for frame 2 based on the transmissions that were performed during frame 1, e.g., including possibly reallocating one or more slots that are no longer needed (e.g., such as slots 1-3) and/or from a node (e.g., node 1) that did not have any data transmission failures during frame 1, to a node (e.g., such as nodes 2 and/or 3) that had at least one data transmission failure during frame 1 or the previous frame). Also, hub 114 may allocate one or more or all of the unallocated or free slots (e.g., such as free slot 16) to one or more of the nodes that need to retransmit data during the next frame (e.g., frame 2). Hub 114 may transmit a beacon 312 at the beginning of frame 2 that may include slot allocation/reallocation information that indicates that slots 1-3 are reallocated, and free slot 16 is allocated now).
Also, in this illustrative example, during data transmissions for frame 2, the retransmissions for data e, f and h were successful (and as noted, data transmissions for data A, B and C were previously successful during frame 1), but the data transmission for data d failed during frame 2. Thus, no data transmission failure was detected for node 3, and a data transmission failure was detected for node 2. Also, for example, an acknowledgement sent by hub 114 to node 2 may have indicated that no packet was received for a slot(s) for which data d was transmitted by node 2. Thus, a data transmission failure occurred during frame 2 for node 2, but all of the other new data (A, B, C, E, F, H and I) have now been successfully transmitted and received by hub 114. Thus, node 2 remains a possible slot recipient for frame 3 based on the data transmission failure(s) for node 2 (e.g., data d) during frame 2.
According to an example embodiment of the method of
According to an example embodiment of the method of
According to an example embodiment of the method of
According to an example embodiment of the method of
According to an example embodiment of the method of
According to an example embodiment of the method of
According to an example embodiment of the method of
According to an example embodiment of the method of
According to an example embodiment of the method of
The method of
According to an example embodiment of the method of
According to an example embodiment of the method of
Various techniques are described that allow an allocation and/or reallocation of slots between wireless nodes, e.g., based on need. Slots from any node (e.g., that may no longer need such slots) may be reallocated to any other node (e.g., to any node that may need or may be able to use such reallocated slots for data retransmission). Thus, according to an example embodiment, unneeded slots may be reallocated between nodes, e.g., including reallocating slots from a node that no longer needs such slots for retransmission (e.g., because all of its data for this set of 3 superframes has been successfully delivered to the hub or controller) to a node that may need to retransmit data (e.g., because at least some data of such node has not yet been successfully delivered to the hub or controller). Also, free or unused slots may be allocated to any node, such as to a wireless node that may need to retransmit data to the hub or controller. After receiving such allocation or reallocation of slots, the node(s) may use such allocated or reallocated slots (as well as any other slots the node may have previously been allocated) to perform data retransmission during a next frame. According to an example embodiment, this process of allocating or reallocating slots to nodes that may need such slots for data retransmission may be repeated after each frame, e.g., until the last frame of the set of three superframes has been reached. According to an illustrative example embodiment, new data may be transmitted during allocated slots of a first frame (e.g., frame 1) of the set of three superframes, while subsequent frames (e.g., frames 2-9) of the set of three superframes may be used for data retransmission, if necessary.
An apparatus may include: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: allocate, by a controller within a wireless network for a first frame, slots to a plurality of wireless nodes within a wireless network, wherein each of the plurality of wireless nodes has one or more allocated slots for transmission or retransmission of data at least for the first frame, and wherein each frame includes a plurality of slots; determine, by the controller based on data transmissions performed during the first frame, that there is a failed data transmission from a first wireless node to the controller via at least one slot of a first set of one or more slots that were allocated to the first wireless node; determine, by the controller based on data transmissions performed during the first frame, that data was received by the controller from a second wireless node via at least one slot of a second set of one or more slots allocated to the second wireless node; and transmit, by the controller to a plurality of wireless nodes including at least the first wireless node and the second wireless node, a message including slot allocation or reallocation information for the second frame, including information indicating that the at least one slot of the second set of one or more slots, which were allocated to the second wireless node, has been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame, via the reallocated at least one slot.
An apparatus may include: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: receive, by a first wireless node from a controller within a wireless network, an allocation of a first set of one or more slots for transmission or retransmission of data at least for a first frame, and wherein each frame includes a plurality of slots; transmit, by the first wireless node to the controller, a packet via each of the slots of the first set of one or more slots allocated to the first wireless node; and receive, by the first wireless node from the controller, a message including slot allocation or reallocation information for a second frame, including information indicating that at least one slot of a second set of one or more slots, which were previously allocated to another wireless node, has been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame.
An apparatus may include: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: receive, by a second wireless node from a controller within a wireless network for a first, an allocation of a second set of one or more slots for transmission or retransmission of data at least for the first frame, and wherein each frame includes a plurality of slots; transmit, by the first wireless node to the controller, packets via the slots of the second set of one or more slots allocated to the second wireless node; and receive, by the second wireless node from the controller, a message including slot allocation or reallocation information for a second frame, including information indicating that all slots of the second set of one or more slots, which were previously allocated to the second wireless node, have been reallocated to the first wireless node to enable the first wireless node to retransmit to the controller, during the second frame, data for which there was a failed data transmission during the first frame.
An apparatus may include: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: allocate, by a controller to each of a plurality of wireless nodes within a wireless network provided for a patient monitoring system, at least one initial slot for transmission of new data in a first frame and at least one retransmission slot for retransmission of data in one or more subsequent frames, wherein each frame includes a plurality of slots, wherein the wireless nodes include at least a first wireless node and a second wireless node, wherein the allocating includes allocating to the second wireless node at least a first retransmission slot for data retransmission in one or more frames subsequent to a first frame; determine, by the controller based on data transmissions performed during the first frame, that there is a failed data transmission from the first wireless node during the first frame; determine, by the controller based on data transmissions performed during the first frame, that the second wireless node does not need the at least the first retransmission slot that was allocated to the second wireless node for data retransmission for one or more frames subsequent to the first frame; and transmit, by the controller to the plurality of wireless nodes including at least the first wireless node and the second wireless node, a retransmission slot allocation message including information indicating that the at least the first retransmission slot that was allocated to the second wireless node for data retransmission has been allocated to the first wireless node for at least one frame subsequent to the first frame.
Various example embodiments of the controller or hub, and/or wireless nodes may, at least in part, be implemented by a computer or a processor, and may execute software or computer programs. A computer program, such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit or part of it suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
Method steps may be performed by one or more programmable processors executing a computer program or computer program portions to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer, chip or chipset. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, embodiments may be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and a user interface, such as a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
Embodiments may be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an embodiment, or any combination of such back-end, middleware, or front-end components. Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
While certain features of the described embodiments have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the various embodiments.