The present invention relates to communications. More particularly, the present invention relates to techniques that provide for the efficient transfer of information among multiple devices.
Short range wireless systems typically involve devices that have a communications range of one hundred meters or less. To provide communications over long distances, these short range systems often interface with other networks. For example, short range networks may interface with cellular networks, wireline telecommunications networks, and the Internet.
Bluetooth defines a short-range radio network, originally intended as a cable replacement. It can be used to create ad hoc networks (also referred to as piconets) of multiple devices, where one device is referred to as a master device. The other devices are referred to as slave devices. The slave devices can communicate with the master device and with each other via the master device. The devices operate in the 2.4 GHz radio band reserved for general use by Industrial, Scientific, and Medical (ISM) applications. Bluetooth devices are designed to find other Bluetooth devices within their communications range and to discover what services they offer.
Bluetooth implements a frequency hopping system derived from the master's Bluetooth clock signal and device address. Generally, the hop rate in a normal connection is 1600 hops/s. Transmissions are conducted during specified time slots that are determined according to a predetermined hopping scheme, (e.g., the duration of a time slot is 625 μs). According to the Bluetooth protocol, a master device may start transmitting only in even-numbered slots, whereas the slave devices may transmit in odd-numbered slots. The data packets may occupy 1, 3 or 5 slots. The whole packet is always transmitted in the same channel. The master polls one slave at the time. Each slave transmits a response message back to the master after receiving the poll. The active slave devices recognize their packets by processing a 3-bit active member address in the packet header. Further interaction between a master and a slave depends upon which of three types of master/slave communication links is established.
Bluetooth provides for low power operation across three different types of communications links. These link types are Synchronous Connection-Oriented (SCO), Extended Synchronous Connection-Oriented (eSCO), and Asynchronous Connection-Less (ACL). Synchronous links establish point-to-point links between a master and a single slave in the piconet. A master can manage up to three SCO links by using reserved slots at regular intervals. In SCO links, packets are never retransmitted, whereas eSCO links may have an additional retransmission window after the reserved transmission slots.
An ACL link may be a point-to-multi-point link between a master and all of the slaves participating in the piconet. A master can establish an ACL link on a per-slot basis to any slave, in transmission slots not reserved for the synchronous links. In ACL links, slave devices may enter a sleep state for a predetermined length of time. For example, the Bluetooth protocol implements a low power technique (sniff mode) for slaves which participate on ACL links. Sniff mode reduces the number of the time slots in which the master can start transmission to a specific slave. The master can start transmission only in specified time slots, called sniff slots. These sniff slots are spaced regularly within a time interval (Tsniff). The slave in sniff mode starts listening for sniff slots after a predetermined delay (Dsniff).
Despite improved power consumption characteristics, such operations do not satisfy the power requirements of a multitude of wireless devices and applications with low power requirements. Thus, many devices (such as sensors) were originally unable to implement Bluetooth capabilities due to prohibitively high power consumption requirements and implementation costs. To address this issue, Bluetooth Low End Extension (BT LEE) has been developed as an addition to “regular” Bluetooth. BT LEE involves wireless protocols allowing communications between devices having limited power resources. Thus, BT LEE offers significant power and cost reductions over Bluetooth wireless devices.
As a Bluetooth extension, BT LEE may utilize at least the analog parts of the Bluetooth radio. Unlike “regular” Bluetooth, BT LEE does not implement a frequency hopping routine or a transmission slot system. This results in a simpler, less complex system than a standard Bluetooth implementation. For instance, BT LEE divides the communication frequency band into a multitude of communication channels.
BT LEE is labeled as “low-end radio”. Various references address low-end radio. For instance, short range low-end radio is discussed in U.S. Pat. No. 6,944,457. Also, U.S. patent application Ser. No. 10/224,768 involves a low power solution utilizing an optimized combination of carrier sensing and frequency division multiple access to avoid collisions.
Future mobile terminals may carry several complementary access radios. These access radios may include multiple short-range radios as well as longer range (e.g., cellular) radios. Some of these radios may employ low end (e.g., BT LEE) techniques to communicate with remote low power consumption devices. However, communicating with a large number of such devices may be both time and power consuming for these terminals.
For instance, BT LEE communications involve a terminal polling each remote device individually and defining times in which a device may transmit data. When many remote devices are involved, little time may be left over for communications according to other transmission modes (e.g., regular Bluetooth). Accordingly, technical issues currently exist in providing devices with the ability to engage in multimode communications.
Currently, the IEEE 802.15.4 Wireless Personal Area Network (WPAN) Task Group is trying to resolve such issues through the use of a guaranteed time slot (GTS) concept in slotted beacon intervals. However, for multiple mode devices (e.g., devices supporting both Bluetooth and BT LEE), this concept does not offer a way for GTS periods to be defined so that multiple mode support can be arranged. Also, such GTS periods are very limited and time usage is not very flexible. For instance, allocation is always unidirectional (i.e., either receive or transmit).
Moreover, there are only seven GTS periods addressable during a single beacon interval. Thus, if more GTS periods are needed, several beacons have to be utilized. This increases the terminal's power consumption. Furthermore, GTS periods require allocation through a carrier sense multiple access with collision avoidance (CSMA/CA) routine, and must be deallocated when no longer used.
In light of the above, flexible and efficient techniques are needed for providing devices with the ability to employ multiple transmission modes.
The present invention provides a method that allocates a plurality of polling response transmission times for a corresponding plurality of remote devices. The remote devices operate according to a first wireless transmission mode, such as Bluetooth LEE. These allocated polling response transmission times are outside of a time interval designated for communications according to a second wireless transmission mode, such as Bluetooth. Each of the polling response transmission times may be offset from a polling packet transmission time by a corresponding delay interval.
The method also transmits a polling packet to the plurality of remote devices and receives one or more responses to the polling packet. Each of these responses is sent by one of the remote devices during its corresponding polling response transmission time. In addition, the method may also communicate according to the second wireless transmission mode during the designated time interval.
In allocating the polling response times, the method may, for each remote device, send a request to the remote device. This request asks the remote device to move from an active mode to a low-activity mode (e.g., Bluetooth LEE sniff mode) and includes the polling response transmission time corresponding to the remote device.
In addition to the above features, the method may include an indication in the polling packet that identifies whether transmissions from each of the remote devices have been previously received.
Polling response times may be allocated in various ways. For instance, allocation may include, for each of the plurality of remote devices, setting the corresponding polling response transmission time to a particular value when the designated device is a first polled device among the plurality of remote devices. However, when the designated device is a subsequently polled device among the plurality of remote devices, a different approach may be taken. For example, a potential response transmission time for the designated device may be generated. This potential response transmission time is set as the polling response transmission time when a polling response transmission according to the potential response transmission time would be outside of a time interval designated for communications according to the second wireless transmission mode.
The present invention also provides devices and systems exhibiting the above features. Further features and advantages of the present invention will become apparent from the following description and accompanying drawings.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the reference number. The present invention will be described with reference to the accompanying drawings, wherein:
I. Low End Radio
The techniques described herein are directed to reducing power consumption, while maintaining communication links between short range wireless devices. Such devices may communicate using a variety of communication protocols, such as low end radio protocols. Bluetooth low-end extension (BT LEE) is an example of such a protocol. Accordingly, the examples provided herein are described in the context of Bluetooth LEE. However, other protocols may be employed. For instance, ZigBee is an example of such other protocols. ZigBee provides a set of communication protocols designed to use small, low power digital radios that are based on the IEEE 802.15.4 standard for wireless personal area networks (WPANs). These protocols provide for the creation of low data rate ad-hoc and mesh networks. Such networks utilize direct sequence spread spectrum (DSSS) transmissions within the ISM band. ZigBee networks are aimed at low power consumption so that devices may operate on batteries for long periods of time. ZigBee networks typically include a single ZigBee coordinator device. Moreover, ZigBee provides for full function devices (FFDs), and reduced function device (RFDs). The software for RFDs requires relatively little storage space.
Generally, devices implementing optimized low-end radio protocols are wireless devices that have a transmitter, a receiver, a processor, memory, and may include any number of either consumer, commercial, or industrial electronic devices.
Communications between devices according to Bluetooth LEE involve two types of packet structures: identification packets and general packets. However, in alternate embodiments, communications between devices may involve other forms of wireless communication, such as analog communications. General packets are used for data and control information. The same header structure is employed for all general packets. However, the payload length for general packets is variable (up to 255 bytes). One type of general packet is an ID_INFO packet, which is used to establish connections between local and remote devices within a communication coverage range.
The present invention provides techniques in which communications links optimized for low power consumption are established between devices that are within communications range of each other. Low-end radio (LER) devices (e.g. Bluetooth LEE devices) may establish communications link also between multiple devices. In these environments, one device assumes a polling device role, while the other devices assume a polled device role. Advantageously, each device is capable of assuming either the polling role or the polled role.
The local device's connectivity mode is application-dependent. The advertise mode 110 makes the local device visible to other devices within a communication coverage range. A local device in the advertise mode may be constrained to communicate with a limited subset of devices. BT LEE, enables the possibility of an application-dependent tradeoff between connection set-up time and power consumption. For example, a device in advertise mode 110 consumes power and time determining whether there are any connectable devices within a coverage area.
After determining, that there is at least one desirable connectable device present, the device in advertise mode consumes additional power connecting to any of the user-specified devices. In contrast, a device in connect mode 120 attempts to connect with a specific advertising remote device and does not consume power or time determining whether there are other connectable devices within a coverage area. In scan mode 115, a local device collects addresses and short descriptions from one or more advertising remote devices within a communication coverage range.
When a local device enters the connect mode 120, the local device attempts to establish a point-to-point, bi-directional data delivery with possible error detection, and Automatic Repeat-ReQuest message (ARQ). As illustrated in
The operations and functionality illustrated in the figures are accomplished by advertising devices and user devices. The advertising devices advertise data or information for subsequent data transfers. The user devices receive and process the data or information. Accordingly, implementations of such devices may include components, such as transmitters, receivers, and processors. Such processors may be operatively programmed to transmit, receive, and process the messages exchanged between devices, as well as execute the functionality associated with the exchanged messages as described herein and shown in the drawings.
For example, two BT LEE devices communicating in a point-to-point topology are capable of negotiating device control roles as the devices establish the communication link. Specifically, to increase power consumption savings, a user device may initiate a polling device role exchange (polling role switching). In this role exchange, the user device (initial polled device) assumes the role of the polling device and the advertising device (the initial polling device) assumes the polled device role.
BT LEE divides, according to embodiments of the present invention, the range of available communication channels into advertising channels and data transfer channels. By way of example only, a device in advertise mode 110 periodically broadcasts an advertising message, ID_INFO, in one of three advertising channels, such as, for example channel 26, as the device advertises its availability to connect. The ID_INFO packet, sent by the polling device 300, contains the lower part of a 64-bit IEEE address and a service field. In turn, the service field may contain information about the device, for example: if the device allows connections to all the devices, if connection to certain devices are restricted, if users may purchase services associated with a LER device, if a particular LER device provides access to the internet, if the upper layer of the protocol stack has updated information, or if the LER device can facilitate polling role switching of connected devices as discussed below.
As shown in
This time, the polled user device 305, which now is in the listening mode (318), receives and processes the ID_INFO packet at step (337). In step (340), the polled device 305 prepares and transmits on channel 26, a responding ID_INFO_RSP packet 343A, to acknowledge receipt of the ID_INFO packet 313A. The polled device 305 indicates in ID_INFO_RSP 343A that polling role switching is not enabled and also that subsequent communication should be carried out on a data transmission channel, in this example specifically channel 5.
After transmitting the ID_INFO_RSP packet 343A, the polled user device 305 switches to channel 5 (346) and begins listening for any data transmissions from the advertising device. Meanwhile, the polling device 300 receives and processes the ID_INFO_RSP 343A packet and switches to data transmission channel 5 (349), the data transmission channel designated by the polled device 305.
At this point, a communication link has been established. Subsequent communications between the polling device 300 and the polled device 305 involve transmitting a data packet, DATA_PDU 350, from the polling device 300 to the polled device 305 at step (352), and the polled device 305 responding by transmitting (355) an acknowledgement 360 on the data transfer channel, channel 5.
After conducting carrier sensing and determining the channel is clear for transmitting, the advertising device 300 attempts to initiate contact by transmitting the ID_INFO packet 313B on advertising channel 26. The advertising device 300 sets the role_switch_allowed flag in the packet ID_INFO 313B prior to transmission in step 400. After transmitting, the polling device moves to a listening (receive) state on channel 26 (401). As in
In
In
In
As noted earlier, BT LEE devices that have established a wireless communication link and entered the connected state 125, as shown in
Devices in the low activity mode (also referred to as a “sniff” mode) can operate according to either a symmetrical low activity mode or an asymmetrical low activity mode. An LER device may enter the symmetrical low activity mode, in which the advertising device and the user device enter a sleep state for the same predetermined duration between successive poll/acknowledgement sequences. In the asymmetrical low activity mode, the polling device and the polled device enter sleep states that have different durations. While in the sleep state, the polled device does not respond to a predetermined number of polling messages from the polling device. However, the polled device may respond earlier to the polling messages, if it has data to send.
The polling frequency used for either, or both, the active and low activity modes may be either predetermined or dynamically determined. In either event, the devices tune to the data transfer channel, where one device periodically polls the other. In response, the polled device transmits an acknowledgement. This process continues until one of the devices disconnects.
The data transfer and acknowledge transmission steps 352 and 355 in
As described above, a device may alternatively be connected in a low activity mode (sniff mode), which enables a slower, but periodic data packet exchange between connected devices. As will be described below, the greater lengths of time associated with periodic communications between a polling device and a polled device, facilitate maintenance of the communication link, while decreasing power consumption. These embodiments achieve data transfers that are faster than if two unconnected devices have to establish a communication link anew in order to transfer data.
Once the polling roles are established, the devices may transfer the data according to a polling protocol, (e.g. active or continuous data transfer mode, symmetrical low activity mode, or asymmetrical low activity mode). Either the polling device, or the polled device in the active mode, may initiate a move to the low activity mode. Also, either device may modify the low activity parameters when the devices are in low activity mode. Specifically, to initiate a move to the low activity mode, a device transmits a sniff request packet, which shares the same general packet format as the packets used in the other operational modes discussed above. The payload, however, contains several low activity mode indicators SNIFFINTERVAL (sniff interval), MAXRSPINTERVAL (maximum response interval), MAXPAYLOAD (maximum payload), and FIXEDSIZEPAYLOAD (fixed size payload).
The SNIFFINTERVAL is an 8-bit field defining the polling interval. Depending on the application, the interval may be calculated through an equation, for example, (2ˆ(x+1)+2*y)*3*0.625 [ms], where x is the four most significant bits of the field, and y represents the four least significant bits. The MAXRSPINTERVAL is an 8-bit field defining the number of ignorable poll packets (i.e. the number of consecutive polling messages to which the polled device does not need to prepare and transmit a response).
The MAXPAYLOAD is an 8-bit field defining the maximum allowable packet payload in bytes during the low activity mode. Finally, the FIXEDSIZEPAYLOAD, a 1-bit field, defines whether or not all of the transmitted and received packets will be the same size. In the event that the FIXEDSIZEPAYLOAD indicator is enabled, the payloads of all packets will correspond to the MAXPAYLOAD value.
In accordance with the sniff request and response, the polling device enters a sleep mode to establish the sniff timing (620). The polling device 600 may use this initial sleep period to coordinate the low activity mode connection with polled device 605 and with any other low activity connections that the polling device 600 may be managing. The polled device 605 initiates a low activity mode (sniff) timer and awaits receipt of the first low activity mode transmission (621). Accordingly, the polling device 600 prepares and transmits the first sniff data packet DATA_PDU (624).
The sniff data packets may be transmitted according to a fixed-time interval with the interval starting with the completion of the transmission of the polling message. The polled device 605 receives this initial sniff data packet and responds by transmitting an acknowledgement (627). The acknowledgement is received and processed by the polling device 600 (630). The devices have now entered low activity mode, and both enter a sleep mode corresponding to a sniff interval (635). The devices wake from the sleep mode with the polling device 600 conducting a data transfer (638) and the polled device 605 transmitting an acknowledgement (641). After the data transfer/acknowledgement, the devices once again enter the sleep mode (645). The symmetrical sleep states with both devices sleeping for an equal duration are indicative of the symmetrical low activity mode.
Generally, during a low activity mode connection, the device polling roles remain the same as determined during the connection setup. In the low activity mode, the devices may enter a sleep state between completed data transfer/acknowledgement sequences to conserve power. Under the circumstances discussed below, a polled device in an asymmetrical low activity mode may enter an extended sleep state.
In order to enter low activity mode, either device may prepare and transmit a new sniff request with a new set of sniff parameters at any time the devices are connected. This may be, for example, after a data transfer has occurred. A sniff request (e.g., by setting all of the sniffinterval bits to one), may terminate the low activity mode connection. Depending on the application, the connection between devices may be terminated, (i.e., stopped) or the connection may revert to active mode (i.e., continuous data transfer). The connection in low activity mode terminates in a manner similar to the active mode—due to the transmission or reception of a termination message or due to an error condition (no packets received).
The polling device 500 enters the SNIFF_QUIET_POLLER state 700 in
The connection in low activity mode terminates in the method described above, for example, by sending a sniff request with all sniff interval bits set to one, or when a device fails to respond to repeated to polling retransmissions. The device in the RESCUE_WAIT state 535 terminates the connection, if the PollerRetryCounter value shown in
In a symmetrical low activity connection, as illustrated in
The symmetrical low activity mode is useful in applications, for example, where the polling device frequently sends control data. In contrast, asymmetrical low activity mode is useful in applications where polled devices do not have periodic data to send or do not need to receive data on a regular basis. Several examples of asymmetrical devices may include wireless mice, keyboards and remote controllers. Generally, these devices transmit data if a user provides a direct input to the device. The inputs may be time critical. Therefore, it is worthwhile to maintain a connection and avoid the time associated with establishing a new connection.
Polling devices, such as personal computers or televisions generally do not rely on low power operability in the same way a wireless mouse or headset would. Accordingly, such polling devices are able to maintain a relatively high polling frequency, so that when the polled device does respond, the data transfer rate is relatively fast, as compared with establishing a new connection and transferring the data.
During asymmetrical low activity mode, there are two instances in which a polled device may not enter an extended sleep state. When the polled device responds to the polling device, the polled device must acknowledge any received additional polling packets if either of two conditions is true (1) the payload packet is not empty or (2) the poll packet contains a negative acknowledgement (NACK). A non-empty Poll PDU payload signifies that the polling device is currently transmitting data. A NACK indicates that the polling device has not received an error free response to previous Poll PDU. If neither of these conditions (payload not empty or NACK) is true, then the polling device has completed the data transfer or has indicated that the acknowledgement sent by the polled device in response to the previous polling message was properly received, and the polled device may now enter an extended sleep state.
The polling device 800 transmits an empty payload in the Poll PDU, but includes a positive acknowledgement indicator (ACK) (817). The ACK indicates that the previous polled device response packet was properly received by the polling device 805. The ACK, in coordination with the empty data payload, enables the polled device 805 to enter an extended sleep state 820, as noted above, during which it ignores a predetermined number 810 (MAXRSPINTERVAL value=2) of polling device Poll PDUs. For example, assuming the MAXRSPINTERVAL value 810 associated with the embodiment illustrated in
Continuing with
Polling Device 800 starts a data transfer (907), by transmitting a Poll PDU 906A with data in the payload. Polled device 805 transmits an ACKNOWLEDGEMENT, since data was transferred in Poll PDU 906A (910). Polled device 805 must actively receive any additional data that the polling device 800 may transfer during subsequent Poll PDUs, such as Poll PDU 906B transmitted by the polling device 800 at step 913. After receiving the transferred data, polled device 805 again issues an ACKNOWLEDGEMENT in step 915 and waits for additional data. Assuming polling device 800 transmits Poll PDU 906C with an empty payload at step 919, the polled device 805 processes the Poll PDU 906C at step 922 and determines that Poll PDU 906C has an empty payload and an ACK indicator. Therefore, polled device 805 may enter an extended sleep state (924). According to the MAXRSPINTERVAL value discussed above, the polled device 805 may ignore two Poll PDUs, including 906C and 906D. Thereafter, referring to
As illustrated in
After the low activity mode operational (sniff) parameters are established between polling device 1100 and polled device 1110, polling device conducts Poll PDU/ACKNOWLEDGMENT exchange 1126. Upon completion of exchange 1126, polled device 1110 enters extended sleep state 1129. When polled device 1110 is in sleep state 1129, polling device 1100 conducts a Poll PDU/ACKNOWLEDGEMENT exchange 1132 with polled device 1105, after polled device 1105 exits extended sleep state 1117. Subsequently, polled device 1105 moves into sleep state 1135, after transmitting the ACKNOWLEDGEMENT, as part of exchange 1132. Polling device 1100 conducts Poll/Ack exchange 1138 with polled device 1110, after polled device exits extended sleep state 1129.
As illustrated in
From the foregoing exemplary embodiments, it is readily appreciated that the aforementioned techniques provide flexible connectivity attributes, as well as low power consumption characteristics for both polling and polled devices. For instance, in maintaining a communication link in both low activity modes, symmetrical and asymmetrical, a faster data transfer is achieved than found in unconnected devices that must re-establish a communication link before transferring data. Devices implementing these techniques may conserve power by periodically entering a sleep state. Devices implementing the low activity mode sleep state in coordination with polling role switching, obtain higher power conservation, since power sensitive devices may delegate or assume the role of polling/polled device.
II. Efficient Polling
For instance,
Communications with device 1206 may be at a higher data rate than with devices
For instance, the environment of
In such environments, it may take a considerable amount of time (as well as power) for a terminal device to request and obtain information from several sensors/devices. As discussed above, IEEE 802.15.4 attempts to address this issue with a Guaranteed Time Slot (GTS) concept in slotted beacon intervals. However, this approach has several drawbacks. For instance, this approach does not offer dual mode or multi-mode devices (e.g., Bluetooth and Bluetooth LEE devices) with a reasonable way of defining the GTS periods so that other radio techniques can be supported or arranged.
Embodiments of the present invention provide a delay mask parameter that may be employed during a sensor/device sniff negotiation. This delay mask parameter identifies a time position (or a delay value) when a certain sensor/device is allowed to respond. This delay value can be tied to a terminal's repeatedly occurring polling time. For example, a response time for a certain sensor/device is measured in delay mask units after the moment of the poll message. Through employment of such masks, a single poll message from a terminal device can obtain responses (or input) from several sensors/devices.
Delay mask parameters are allocated so that other radio techniques may be supported by the same device. More particularly, delay mask parameters are calculated so that support or transmissions for other radio techniques (e.g. Bluetooth) can be arranged after or between sensor/device responses. Such arrangements depend on the time requirements of the other radio techniques. In aspects of the present invention, these parameter values (which provide delay spread) can also be changed dynamically. This feature may be utilized to accommodate for various changing conditions, such as drifts between radios or connection changes among radios.
In addition, aspects of the present invention provide ACK mask parameters during sensor/device sniff negotiations. These parameters allow for terminals to acknowledge responses from several sensors/devices through the transmission of a single poll message. For instance, each ACK mask parameter defines a position of an individual ACK bit in a multiple bit ACK mask. This ACK mask is included in a terminal's poll packet. Upon receipt of this packet, multiple sensors/devices will receive ACK information through their respective ACK bits. This received ACK information involves previous transmissions from sensors/devices to the terminal. Based on this received information, each sensor/device can determine how to react (i.e., retransmit or not).
As discussed above, Bluetooth LEE provides for a simple “sensor” radio that can be integrated into Bluetooth radio in a straightforward manner. Thus, a device may have multi-mode capabilities. For example, a device may possess both simple low power sensor radio (Bluetooth LEE) and higher data rate radio (e.g., regular Bluetooth) capabilities.
Described below is a multi-mode device, such as terminal device 1202 having, for example, Bluetooth and Bluetooth LEE capabilities. In the following examples, this device (referred to as a terminal) operates as a polling device in which it polls one or more remote devices (referred to as a sensor/device). This polling involves the terminal transmitting poll packets. These poll packets provide information to sensors/devices that are not actively communication communicating with the terminal.
The terminal can place devices/sensors in “sniff mode”. As described above, devices/sensors operating in this mode can sleep most of the time—only waking up to listen poll packets from the terminal. Also when “sniff subrating” is employed, the devices/sensors do not need to listen to every poll packet. Sniff subrating is described in greater detail below with reference to
In embodiments of the present invention, the terminal achieves optimal power efficiency by acquiring information from several sensors/devices with a single poll message. To do this, timing parameters are negotiated with each sensor/device upon its entry into the sniff mode. Table 1, below, lists exemplary timing parameters (Delay_mask and ACK_mask). In the context of Bluetooth LEE, these parameters may be incorporated into a SNIFF_REQ packet.
With the delay mask, the terminal controls when an individual sensor/device is going to respond. More particularly, the delay mask defines a position in time related to the terminal's poll packet. This defined position is when the sensor/device can send data to the terminal. In aspects of the present invention, the delay mask is defined so that other supported radio modes can operate between polls or between different sensor/device responses to poll.
By defining a maximum payload size, particular delays can be specified for multiple (e.g., consecutively polled) sensor/devices so that they can respond. Maximum payload size may be defined, for example, in the Bluetooth LEE SNIFF_REQ packet. Moreover, with the poll packet, the terminal can also send data to one or more sensors/devices.
With the ACK mask, the terminal may indicate which sensors/devices have previously responded. In embodiments, the ACK mask is a plurality of bits in which each bit corresponds to a particular sensor device. The setting of each bit indicates whether the corresponding sensor device has previously responded. Each sensor/device is informed of its particular bit through an ACK_mask parameter transmitted, for example, in a SNIFF_REQ packet.
As described above, polling packets may be directed to multiple sensors/devices. Accordingly, in embodiments, a terminal may store parameters (e.g., Delay_mask and ACK_mask parameters) for each sensor/device polled by the terminal. An indexing scheme may be employed for these parameters. For instance, an index value (referred to below as n) may be assigned for the parameters of each particular sensor device. In embodiments of the present invention, index values are sequentially assigned in the order of sensor/device polling. Thus, for a first polled sensor/device, n=0, for a second polled device n=1.
In a step 1304, the terminal determines whether this sensor/device is the first sensor/device polled by the terminal (e.g., whether n=0). If so, then the terminal sets its Delay_mask parameter to an offset, which does not overlap with any other transmissions or receptions, in a step 1306. However, if the terminal determines that it is not the first polled sensor/device (e.g., if n>0), then a step 1308 is performed.
In step 1308, the terminal sets potential Delay_mask parameter for this sensor/device based on the previously polled device's Delay_mask parameter and an estimated response time, which includes time to send out the packet and possible guard time, of this previously polled device. As example of this is expressed below in Equation (1):
Potential_Delay_mask[n]=Delay_mask[n−1]+Est_response_time[n−1] (1)
Next, in a step 1310, the terminal determines channel availability between the times of the potential delay mask determined in step 1308 and the transmission time (e.g., estimated response time of the corresponding sensor/device. This determination is made for the purposes of multimode support. For instance, the terminal determines whether this time interval needs to be reserved (or is currently being used) for other types of transmissions, such as regular Bluetooth traffic.
As indicated by a step 1312, if the channel is available during this time interval, then operation proceeds to a step 1314. In this step, the terminal designates the potential delay mask as the intended delay mask for the sensor/device currently under consideration. However, if the channel is unavailable (e.g., busy) during this time interval, then operation proceeds to a step 1316.
In step 1316, the terminal assigns a new potential delay mask for the sensor/device under consideration. Thus, as shown in
Delay intervals 1410, 1412, and 1414 are based on the delay mask parameters of their corresponding sensors/devices. In embodiments, these parameters are integers. For example, the delay mask value corresponding to intervals 1410, 1412, and 1414 could be 1, 6, and 8, respectively. The actual delay intervals may be calculated according to various techniques. For instance, they may be determined from the mask values through the employment of a predetermined multiplier or coefficient.
Additionally,
In a step 1508, the terminal requests a sensor/device in active mode to go into sniff mode. This request involves Delay_mask and ACK_mask parameters. As indicated by a step 1509, steps 1510-1516 are performed when a polling time approaches. Otherwise, operation returns to step 1502
In step 1510, the terminal determines whether all of the sensors/devices to which it is connected are in sniff mode. If so, then step 1512 is performed. Otherwise, step 1514 is performed.
In step 1512, the terminal polls the sensors/devices through a single polling packet (if all of the sensors/devices are supporting single polling operation). This packet may employ an ACK_mask, as described herein. In response, the terminal may receive data from these sensors/devices.
In step 1514, the terminal individually polls the sensors/devices that are not in sniff mode, as well as any sensors/devices that are in sniff mode but do not support single polling operation. However, as shown by step 1516, the terminal may poll any sensors/devices that are in sniff mode through a single polling packet if all of such sensors/devices are supporting this.
As shown in
ACK bits 1602 and 1606 are each set to “1”. This signifies, for example, that the terminal has correctly received previous packets from the first and third sensors/devices. However, ACK bit 1604 is set to “0”. This signifies, for example, that the terminal has not received a previous packet from the second sensor/device correctly. Thus, the second sensor/device can now retransmit a previously sent packet and/or send the terminal new data if needed.
In embodiments of the present invention, the terminal may also inform sensors/devices that the polling message transmission time may be delayed. Such delays may occur for various reasons, such as the need to fulfill other radio support duties. In the context of BT LEE, this information may be included, for example, as a parameter in a SNIFF_REQ packet. With this parameter, the sensors/devices can know whether a terminal polling message will be delayed, and if so, by how much. From this knowledge, the sensors/devices can then extend their polling message search windows commensurately.
In further embodiments of the present invention, parameters may be provided that define links between particular devices as being bidirectional (i.e., 2-way). In the context of BT LEE, such parameters may be included in SNIFF_REQ and/or POLL packets. Over such bidirectional links, the terminal can send data to the corresponding sensor/device during allocated sniff time.
As described herein, poll packets may include data. Accordingly, in embodiments of the present invention, the sequence numbering for data portions of poll packets is defined individually to each sensor device. However, if broadcast is used, the sequence numbering is defined according to broadcast connection(s). For example when a terminal device is sending a poll packet to several sensors, the poll packet can include data to one sensor (“sensor 1”). In embodiments, the sequence numbering of the data part going to sensor 1 is individual. That is, if the terminal device sends data to a second sensor device (“sensor 2”) in next poll packet, then the next poll packet containing data for sensor 1 obeys the sensor numbering regarding to previous data transmission to sensor 1. However, as stated above, the sequence numbering for broadcast data is done according to broadcast connection (i.e. without individual sensor based numbering).
III. Wireless Communications Device
The device architecture of
As shown in
Link manager 1710 performs functions related to Bluetooth link set-up, security and control. These functions involve discovering corresponding link managers at remote devices and communicating with them according to a link manager protocol (LMP). To perform these functions, LMP defines a set of messages, which are also referred to as protocol data units (PDUs). Link manager 1710 exchanges these PDUs with link managers at remote devices.
Link manager 1710 (as well as low end link manager module 1720) exchanges information with host 1702 across HCI 1708. This information may include commands received from host 1702, and information transmitted to host 1702. HCI 1708 defines a set of messages, which provide for this exchange of information. As shown in
Link controller 1712 operates as an intermediary between link manager 1710 and Bluetooth transceiver 1714. Link controller 1712 also performs baseband processing for Bluetooth transmission, such as error correction encoding and decoding. In addition, link controller 1712 exchanges data between corresponding link controllers at remote devices according to physical layer protocols. Such functions related to low end radio communications may be performed by a low end module link controller module 1722, which is included in link controller 1712.
In embodiments of the present invention, sensors/devices may have architectures similar to the architecture of
The architecture of
Processor 1810 controls device operation. As shown in
Memory 1812 includes random access memory (RAM), read only memory (ROM), and/or flash memory, and stores information in the form of data and software components (also referred to herein as modules). The data stored by memory 1812 may be associated with particular software components.
The software components stored by memory 1812 include instructions (computer program products) that can be executed by processor 1810. Various types of software components may be stored in memory 1812. For instance, memory 1812 may store software components that control the operation of transceiver 1714. Also, memory 1812 may store software components that provide for the functionality of processor 1810 to perform the techniques described herein.
For instance, the software components may allow processor 1810 to generate the various messages or packets described herein, and to transmit them through corresponding hardware (e.g., transceiver 1714). Also, the software components may allow processor 1810 to process received transmissions.
As shown in
As described above, transceiver 1714 provides for the transmission and reception of signals through antenna 1716. Accordingly, these portions may include components (e.g., electronics) that perform functions, such as modulation, demodulation, amplification, and filtering.
The elements shown in
IV. Sniff Subrating
As described above, sensors/devices do not need to listen to every poll packet when “sniff subrating” is employed. An example of sniff subrating (also referred to as an extended sleep state) is described below with reference to
MaxRspInt represents the number of polling messages that polled device 1905 (e.g., five). MaxPollInt represents the number of polling messages that polling device 1900 may selectively refrain from transmitting (e.g., three). Polling device 1900 does not necessarily have to refrain from transmitting any polling messages, but in accordance with the MaxPollInt=3, polling device 1900 cannot refrain from transmitting more than three polling messages during a given extended sleep mode.
In this example, it is assumed that the polled device 1905 wishes to maintain a quicker connection with the polling device 1900 (i.e., short sleep periods that provide faster data updates/transfers). Accordingly, the SNIFF RSP message transmitted by polled device 1905 in step 1915 indicates that the proposed SNIFF REQ is rejected. The SNIFF RSP includes a new proposed MaxRspInt=3. Polling device 1900 receives the SNIFF RSP and updates the MaxRspInt parameter with the new proposed value. Polling device 1900 thereupon transmits an updated SNIFF REQ in step 1920 that reflects the requested new value of MaxRspInt=3. Polled device 1905, recognizing an acceptable activity parameter, transmits an acceptance of the updated sniff request in step 1925.
Once the low activity parameters are established, data transfer in a low activity mode is executed. The devices transmit data in poll event 1930 and then enter extended sleep state 1935 in accordance with the negotiated low activity parameter(s). As illustrated in
One of the advantages of such features is that it provides a more efficient way of synchronizing the transmission/response interactions of communications devices. In the example described herein, both the polling/polled devices are informed when the other device will transmit/listen for a polling message. The optimization conserves power by minimizing the transmission of polling messages when the polled device is not listening and will not respond. Similarly, the optimization conserves power by minimizing the periods of time when the polled device listens for a polling message on the transmission channel.
V. Conclusion
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not in limitation. For instance, the present invention is not limited to Bluetooth and Bluetooth low end communications.
Accordingly, it will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.