Wireless communication device and method
By identifying priority candidates in BLE networks and managing communication periods, the solution addresses disconnection issues in Bluetooth Low Energy communication, improving stability by prioritizing devices at risk of disconnection.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- RENESAS ELECTRONICS CORP
- Filing Date
- 2022-11-21
- Publication Date
- 2026-07-17
AI Technical Summary
In Bluetooth Low Energy (BLE) communication, when multiple centrals attempt to communicate with a peripheral, overlapping communication periods can lead to disconnections, impairing communication stability due to frequency differences between crystal oscillators and supervision timeouts.
A wireless communication device identifies a priority candidate device based on the likelihood of disconnection and grants communication permission to this device while prioritizing it over others, managing communication periods to avoid overlaps and disconnections.
This approach enhances communication stability by prioritizing devices at risk of disconnection, ensuring continuous and stable connections in BLE networks.
Smart Images

Figure 0007891907000001 
Figure 0007891907000002 
Figure 0007891907000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a wireless communication device and method.
Background Art
[0002] As a technology for short-range communication, there is BLE (Bluetooth (Registered Trademark) Low Energy) technology, which is a type of digital wireless communication standard (for example, Patent Document 1). When a first communication device and a second communication device communicate in BLE technology, the side that starts and dominates the connection is called the "central (device)", and the side that accepts the connection is called the "peripheral (device)".
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Communication between the central and the peripheral is performed during a plurality of "connection interval (Connection Interval) periods" that repeatedly arrive. The reference timing (start timing) of the connection interval period is called an "anchor point". Parameters such as the connection interval are included in the CONNECT_IND packet transmitted by the central in response to the advertising packet transmitted by the peripheral. ]>
[0005] The inventors have found that when two centrals attempt to communicate with one peripheral, the communication of one central may be repeated, while the communication of the other central may not be performed. That is, assuming that the communication unit of the peripheral can only transmit and receive with one central at a time, if the communication periods of one central and the other central overlap, the communication of the central that reached its communication timing first may be repeated, while the communication of the other central may not be performed. As a result, the connection between the other central and the peripheral, which was not permitted to communicate within a predetermined period, will be disconnected, which may impair the stability of the communication. Furthermore, even if the communication periods of one central and the other central do not overlap in the initial stage, for example, a frequency difference between the frequencies of the crystal oscillators of one central and the other central may cause the communication periods of the two centrals to overlap in a later stage.
[0006] Other challenges and novel features will become apparent from the description and accompanying drawings in this specification. [Means for solving the problem]
[0007] According to one embodiment, the first wireless communication device identifies a wireless communication device that is highly likely to be interrupted as a priority candidate device, and when it receives a permission request for communication with the second wireless communication device and the third wireless communication device, it grants permission for communication between the second wireless communication device and the priority candidate device among the third wireless communication devices. [Effects of the Invention]
[0008] This disclosure can improve the stability of communications. [Brief explanation of the drawing]
[0009] [Figure 1A] This is a diagram used to explain related technologies. [Figure 1B] This diagram illustrates the connection between the central and peripheral systems. [Figure 1C] This diagram illustrates the disconnection due to the expiration of the supervision timeout. [Figure 2] This figure shows an example of the system in the first embodiment. [Figure 3] Block diagram showing an example of a first wireless communication device in the first embodiment. [Figure 4] This diagram illustrates the communication failure time. [Figure 5] This is a diagram used to explain the expected period of occupancy. [Figure 6] This is a diagram used to explain the determination of whether or not to permit communication. [Figure 7] This is a diagram used to explain the determination of whether or not to permit communication. [Figure 8] This is a flowchart showing an example of the processing operation of the communication control unit in the first wireless communication device of the first embodiment. [Figure 9] This is a flowchart showing an example of the permission determination process. [Figure 10] This flowchart shows an example of the processing operation of a specific part in the first wireless communication device of the first embodiment. [Figure 11] This figure illustrates the processing operation of the communication control unit in the second embodiment. [Figure 12] This figure illustrates the processing operation of the communication control unit in the second embodiment. [Figure 13] Modified form of the second embodiment <1> This diagram illustrates the processing operation of the communication control unit. [Figure 14] Modified form of the second embodiment <2> This diagram illustrates the processing operation of the communication control unit. [Figure 15] This is a block diagram showing an example of a first wireless communication device in the third embodiment. [Figure 16] This is a flowchart showing an example of the processing operation of the communication control unit in the first wireless communication device of the third embodiment. [Figure 17]It is a flowchart showing an example of the processing operation of a specific part in the first wireless communication device of the third embodiment. [Figure 18] It is a diagram for explaining an example of the processing operation of the first wireless communication device of the third embodiment. [Figure 19] It is a diagram showing an example of the hardware configuration of a wireless communication device.
Embodiments for Carrying Out the Invention
[0010] Hereinafter, embodiments will be described with reference to the drawings. In the embodiments, the same or equivalent elements are denoted by the same reference numerals, and redundant descriptions are omitted.
[0011] The plurality of embodiments described below can be implemented independently or can be implemented in appropriate combination. These plurality of embodiments have different novel features. Therefore, these plurality of embodiments contribute to solving different purposes or problems and contribute to achieving different effects.
[0012] (Related Art) First, the related art will be described. Each of the embodiments is based on these technologies. In other words, these technologies can be incorporated into each of the embodiments.
[0013] <� FIG. 1A is a diagram for explaining the related art. Referring to FIG. 1A, the establishment and maintenance of a BLE (Bluetooth Low Energy) connection will be described.
[0014] As described above, when the first communication device and the second communication device communicate in the BLE technology, the side that starts and leads the connection is called the "central (device)", and the side that accepts the connection is called the "peripheral (device)".
[0015] The central server requests a connection by sending a CONNECT_IND packet to the peripheral in response to an advertising packet sent from the peripheral. The CONNECT_IND packet is sent from the central server 150us (T_IFS) after the central server receives the advertising packet.
[0016] Then, the central server sends the first packet during time t, which is represented by equation (1) below. transmitWindowDelay + transmitWindowOffset ≦ t ≦ transmitWindowDelay + transmitWindowOffset + transmitWindowsSize ···(1)
[0017] In other words, the central system uses "transmitWindowDelay" and "transmitWindowOffset" to stagger the start time of the transmit window, and then sends the first packet within that transmit window. The transmit window has a size (duration) corresponding to transmitWindowsSize.
[0018] When a peripheral receives a packet from the central, it sends the packet back to the central after a time T_IFS from the time of reception. In the following, this exchange of packets between the central and peripheral will sometimes simply be referred to as "packet exchange." The period during which "packet exchange" takes place will sometimes be referred to as the "exchange unit period."
[0019] Typically, the central and peripheral networks repeat this packet exchange every time a connection interval (connInterval) elapses. Therefore, this packet exchange at each connection interval is sometimes called a connection event. The starting point of this connection interval, and the moment when the central network begins sending packets, is called the "anchor point." In other words, anchor points reappear repeatedly at intervals between connections. Figure 1B illustrates the connection between the central and peripheral. In Figure 1B, "Packet C→P" represents a packet sent from the central to the peripheral. If the rectangle representing "Packet C→P" is shown as a solid line, it means that the peripheral received this packet. If the rectangle representing "Packet C→P" is shown as a dotted line, it means that the central sent this packet, but the peripheral did not receive it. Also, in Figure 1B, "Packet P→C" represents a packet sent from the peripheral to the central. If the rectangle representing "Packet P→C" is shown as a solid line, it means that the peripheral sent this packet, but it does not indicate whether the central received it. If the peripheral receives "Packet C→P", it will send "Packet P→C" after T_IFS. If the peripheral does not receive "Packet C→P", it will not send "Packet P→C". If the peripheral does not send "Packet P→C", "Packet P→C" is not shown.
[0020] Parameters such as "transmitWindowDelay", "transmitWindowOffset", "transmitWindowsSize", and "connInterval" are notified from the central to the peripheral by being included in the CONNECT_IND packet.
[0021] In this case, frequency hopping is applied to packet exchange between the central and peripheral. For example, the central and peripheral communicate by changing the frequency (channel) at each connection interval. Therefore, even when one peripheral and two centrals communicate, frequency hopping reduces the possibility that the communication between the peripheral and one central, and the communication between the peripheral and the other central, will use the same frequency at the same time.
[0022] However, the communication unit of a peripheral can often only transmit and receive data with one central at a time. Therefore, if the communication period (packet exchange period) of one central and the communication period (packet exchange period) of the other central overlap, the communication of the central that reached its communication timing first may be repeated, and the communication of the other central may not be performed. Furthermore, the connection between the other central and the peripheral will be disconnected if communication is not permitted within a predetermined period (Supervision Timeout) starting from the connection event in which packet exchange was successful (see Figure 1C), which may impair the stability of communication. In addition, even if the communication periods of one central and the other central do not overlap in the initial stage, the frequency difference between the frequencies of the crystal oscillators of one central and the other central may cause the communication periods of one central and the other central to overlap in a later stage. Figure 1C illustrates the disconnection due to the expiration of the Supervision Timeout. A circle (○) in the "Estimated Occupancy Period" indicates that communication was successful and the Supervision Timeout start date was updated. An "X" (×) in the "Estimated Occupancy Period" indicates that communication failed and the Supervision Timeout start date was not updated.
[0023] <First Embodiment> <System Overview> Figure 2 shows an example of a system in the first embodiment. In Figure 2, system 1 includes a wireless communication device 10 and wireless communication devices 20-1 and 20-2. Hereinafter, when wireless communication devices 20-1 and 20-2 are not distinguished, they may simply be referred to as wireless communication device 20. Wireless communication device 10 and wireless communication device 20 may have the same configuration.
[0024] This explanation assumes that, at a certain point in time, the wireless communication device operating as a peripheral is wireless communication device 10, and the wireless communication device operating as a central device at that time is wireless communication device 20. For the sake of simplicity, only two wireless communication devices 20 communicating with wireless communication device 10 are shown here, but there may be three or more wireless communication devices 20. Furthermore, below, wireless communication device 10 may be referred to as the "first wireless communication device," and wireless communication devices 20-1 and 20-2 may be referred to as the "second wireless communication device" and the "third wireless communication device," respectively.
[0025] <Example of the configuration of the first wireless communication device> Figure 3 is a block diagram showing an example of a first wireless communication device in the first embodiment. In Figure 3, the wireless communication device 10 includes a transmitting / receiving unit (communication unit) 11 and a control unit 12. The control unit 12 includes a connection control unit 13, a specification unit 14, and a communication control unit 15.
[0026] The transmitting / receiving unit (communication unit) 11 transmits and receives radio signals with the wireless communication device of the communication partner. Here, it is assumed that the transmitting / receiving unit (communication unit) 11 can only transmit and receive with one wireless communication device 20 at a time. In other words, it is assumed that the transmitting / receiving unit (communication unit) 11 can only use one channel (frequency) for communication at a time. Furthermore, it is assumed that the transmitting / receiving unit (communication unit) 11 cannot transmit and receive at the same time.
[0027] The connection control unit 13 controls the establishment and disconnection of connections with wireless communication device 20-1 and wireless communication device 20-2. For example, the connection control unit 13 disconnects any connection where no packet exchanges have occurred before the supervision timeout expires. The connection control unit 13 also outputs permission requests for communication from each wireless communication device 20 to the communication control unit 15.
[0028] The identification unit 14 identifies the "priority candidate device" among the wireless communication devices 20-1 and 20-2. The identification unit 14 then notifies the communication control unit 15 of the information regarding the identified priority candidate device. For example, the identification unit 14 determines whether wireless communication device 20-1 is a priority candidate device based on the possibility of disconnection of the connection with wireless communication device 20-1. The identification unit 14 also determines whether wireless communication device 20-2 is a priority candidate device based on the possibility of disconnection of the connection with wireless communication device 20-2. This determination and the above notification are performed, for example, at the timing before each anchor point.
[0029] For example, the specific unit 14 may use "communication failure time," which is the period during which communication of the wireless communication device 20-1 is not permitted, as a parameter related to the possibility of disconnection from the wireless communication device 20-1. Alternatively, the specific unit 14 may use "communication failure time," which is the period during which communication of the wireless communication device 20-2 is not permitted, as a parameter related to the possibility of disconnection from the wireless communication device 20-2.
[0030] Here, we will explain "communication failure time". Figure 4 is a diagram used to explain communication failure time. The "expected occupancy period (overlap determination period)" described later includes at least one exchange unit period. Figure 4 shows a case in which each expected occupancy period includes one exchange unit period. It also shows a case in which the timing of the anchor point of wireless communication device 20-2 (connection 1) is earlier than the timing of the anchor point of wireless communication device 20-1 (connection 2). In this case, communication is continuously permitted during the expected occupancy period of wireless communication device 20-2, while communication is not continuously permitted during the expected occupancy period of wireless communication device 20-1. The value obtained by multiplying the number of connection interval periods in which communication was not continuously permitted during the expected occupancy period of wireless communication device 20-1 by the length of the connection interval period (Connection Interval) is "communication failure time". The number of connection interval periods in which communication was not continuously permitted during the expected occupancy period of wireless communication device 20-1 is counted by the communication control unit 15.
[0031] For example, as shown in Figure 3, the specific unit 14 has a calculation unit 14A and a determination unit 14B.
[0032] The calculation unit 14A calculates the "communication failure time" by multiplying the counted "number of connection interval periods in which communication was not permitted" by the length of the connection interval period (Connection Interval). This "communication failure time" is calculated for each of the wireless communication devices 20-1 and 20-2. The calculation unit 14A also calculates a threshold (hereinafter sometimes referred to as the "first threshold") by multiplying the initial value of the monitoring timer (Supervision Timeout) by a predetermined coefficient less than 1. The value of the predetermined coefficient may be, for example, 1 / 2.
[0033] The determination unit 14B determines that the wireless communication device 20 to be determined is a "priority candidate device" if the calculated value of the communication failure time for the wireless communication device 20 to be determined is greater than the first threshold. In other words, the wireless communication device 20 to be determined is determined to be a "priority candidate device" if the time until the monitoring timer (Supervision Timeout) expires is determined to be shorter than a predetermined level. The determination unit 14B notifies the communication control unit 15 of the information regarding the identified priority candidate device.
[0034] In this example, the "communication failure time" is used directly to determine the "priority candidate device," but this disclosure is not limited to this.
[0035] For example, the calculation unit 14A may calculate the time until the monitoring timer (Supervision Timeout) expires (i.e., the remaining time) by subtracting the "communication failure time" from the initial value (Supervision Timeout) of the monitoring timer. The calculation unit 14A may then calculate a first threshold by multiplying the initial value (Supervision Timeout) of the monitoring timer (Supervision Timeout) by a predetermined coefficient less than 1 / 2. The determination unit 14B may then determine that the wireless communication device 20 to be determined is a "priority candidate device" if the calculated remaining time for the wireless communication device 20 to be determined is less than the first threshold.
[0036] Alternatively, for example, the calculation unit 14A may calculate a first threshold by multiplying the number of connection intervals included in the initial value of the monitoring timer (Supervision Timeout) by a predetermined coefficient less than 1. Then, the determination unit 14B may determine that the wireless communication device 20 to be determined is a "priority candidate device" if the number of connection intervals for which communication was not continuously permitted, counted for the wireless communication device 20 to be determined, is greater than the first threshold.
[0037] Alternatively, for example, the calculation unit 14A may calculate the "remaining attempts" by subtracting the "number of connection intervals for which communication was not consecutively permitted" counted for the wireless communication device 20 to be judged from the number of connection intervals included in the initial value (Supervision Timeout) of the monitoring timer. The "remaining attempts" is the number of connection intervals until the monitoring timer (Supervision Timeout) expires. The calculation unit 14A may then calculate the first threshold by multiplying the number of connection intervals included in the initial value (Supervision Timeout) of the monitoring timer (Supervision Timeout) by a predetermined coefficient of less than 1 / 2. The determination unit 14B may then determine that the wireless communication device 20 to be judged is a "priority candidate device" if the remaining attempts calculated for the wireless communication device 20 to be judged are less than the first threshold.
[0038] In the following explanation, we will use the "communication failure time" as an example to determine the "priority candidate device."
[0039] When the communication control unit 15 receives a "permission request" from the connection control unit 13 regarding communication with the wireless communication device 20, it determines whether or not to grant permission for that communication. This determination may be made, for example, at the timing before each anchor point.
[0040] For example, when the communication control unit 15 receives permission requests for communication between each of the wireless communication devices 20-1 and 20-2, it grants permission for communication with the "priority candidate device". The communication control unit 15 then grants permission for communication with the "non-priority candidate device" among the wireless communication devices 20-1 and 20-2 for the "expected occupation period" of the non-priority candidate device's communication that does not overlap with the "expected occupation period" of the communication with the priority candidate device. On the other hand, the communication control unit 15 does not grant permission for communication with the "non-priority candidate device" for all or part of the expected occupation period of the communication with the non-priority candidate device that overlaps with the expected occupation period of the communication with the priority candidate device.
[0041] Here, we will explain the "estimated occupancy period (overlap determination period)." Figure 5 is a diagram used to explain the estimated occupancy period. In Figure 5, "the connection in question" corresponds to the connection of a non-priority candidate device, and "priority connection" corresponds to the connection of a priority candidate device. In Figure 5, one anchor point of the connection of a non-priority candidate device is represented by time T1, and one anchor point of the connection of a priority candidate device is represented by time T2. The estimated occupancy period is represented by T (=t1+t2+t3+t4) in Figure 5. t1 is the transmission time of packets sent from the central to the peripheral. t2 is the interval between packets (T_IFS, pause time). t3 is the transmission time of packets sent from the peripheral to the central. t4 is the overhead time required for channel switching. Note that here, a case is shown where the estimated occupancy period includes one exchange unit period.
[0042] Figures 6 and 7 illustrate the determination of whether to permit or deny communication. In the situations shown in Figures 6 and 7, the communication control unit 15 permits communication with the "priority candidate device". Also, as shown in Figure 6, the communication control unit 15 permits communication with the "non-priority candidate device" during the "expected occupancy period" of the non-priority candidate device that does not overlap with the "expected occupancy period" of the priority candidate device. On the other hand, as shown in Figure 7, the communication control unit 15 does not permit communication with the "non-priority candidate device" during the expected occupancy period of the non-priority candidate device that overlaps with the expected occupancy period of the priority candidate device.
[0043] <Example of operation of the first wireless communication device> An example of the processing operation of the wireless communication device 10 having the above configuration will be described below.
[0044] (Processing operation of the communication control unit) Figure 8 is a flowchart showing an example of the processing operation of the communication control unit in the first wireless communication device of the first embodiment. The processing flow shown in Figure 8 is executed for each wireless communication device 20. Furthermore, the processing flow shown in Figure 8 starts, for example, at the timing before each anchor point.
[0045] The communication control unit 15 waits until it receives a permission request from the connection control unit 13 (step S11 NO). When the communication control unit 15 receives a permission request (step S11 YES), it executes the "permission determination process" (step S12). The "permission determination process" will be explained later with reference to Figure 9. The connection control unit 13 may output a permission request for communication of each wireless communication device 20 to the communication control unit 15 at the timing before the anchor point for each wireless communication device 20.
[0046] The communication control unit 15 determines whether the permission request has been granted in the "permission determination process" (step S13).
[0047] If the "permission determination process" determines that the permission request is not permitted (step S13NO), the communication control unit 15 increments the "number of communication failures" for the wireless communication device 20 related to that permission request (step S14).
[0048] If the "permission determination process" determines that the permission request is permitted (step S13 YES), the communication control unit 15 notifies the connection control unit 13 that permission has been granted (step S15). As a result, the connection control unit 13 controls the channel of the transmitting / receiving unit (communication unit) 11 to be the channel of the wireless communication device 20 related to the permission request. Then, an attempt is made to exchange packets between the wireless communication device 20 and the wireless communication device 10 related to the permission request.
[0049] The communication control unit 15 determines whether packet switching has been successful (step S16).
[0050] If it is determined that packet exchange was not successful (step S16NO), the communication control unit 15 increments the "number of communication failures" for the wireless communication device 20 involved in the permission request (step S14).
[0051] If it is determined that packet exchange has been successful (step S16YES), the communication control unit 15 clears the "number of communication failures" for the wireless communication device 20 involved in the permission request (step S17).
[0052] Figure 9 is a flowchart showing an example of the permission determination process.
[0053] The communication control unit 15 determines whether the permission request pertains to communication from a priority candidate device (step S21).
[0054] If it is determined that the permission request pertains to communication of a preferred candidate device (step S21 YES), the communication control unit 15 grants permission for that permission request (step S22).
[0055] If it is determined that the permission request is not for communication of a priority candidate device (step S21NO), that is, if it is determined that the permission request is for communication of a non-priority candidate device, the communication control unit 15 determines whether the "expected occupancy period" of the non-priority candidate device overlaps with the "expected occupancy period" of the priority candidate device (step S23).
[0056] If it is determined that the "expected occupancy period" of the non-priority candidate device overlaps with the "expected occupancy period" of the priority candidate device (step S23 YES), the communication control unit 15 does not grant permission in response to the permission request (step S24).
[0057] If it is determined that the "expected occupancy period" of the non-priority candidate device does not overlap with the "expected occupancy period" of the priority candidate device (step S23NO), the communication control unit 15 determines whether the transmitting / receiving unit (communication unit) 11 is being used for another connection (i.e., a connection to a wireless communication device other than the wireless communication device 20 involved in the permission request) (step S25).
[0058] If the device is not in use for another connection (step S25NO), the communication control unit 15 grants permission in response to the permission request (step S22). If the device is in use for another connection (step S25YES), the communication control unit 15 does not grant permission in response to the permission request (step S24). In other words, in the case of communication between multiple non-priority candidate devices, permission will be granted to the communication of the non-priority candidate device for which permission request was made first.
[0059] (Processing operation of a specific part) Figure 10 is a flowchart showing an example of the processing operation of a specific part in the first wireless communication device of the first embodiment. This processing is repeated for each wireless communication device 20 at each connection interval. The processing flow shown in Figure 10 starts, for example, at the timing before each anchor point.
[0060] The identification unit 14 calculates the "communication failure time" for the wireless communication device 20 to be judged (step S31). Specifically, the identification unit 14 calculates the "communication failure time" for the wireless communication device 20 to be judged by multiplying the "number of communication failures" counted in step S14 by the length of the connection interval (Connection Interval).
[0061] The identification unit 14 determines whether the "communication failure time" calculated for the wireless communication device 20 to be judged is greater than the first threshold (step S32).
[0062] If the "communication failure time" calculated for the wireless communication device 20 to be judged is greater than the first threshold (step S32 YES), the identification unit 14 notifies the communication control unit 15 that the wireless communication device 20 to be judged is a "priority candidate device" (step S33). Then the flow ends.
[0063] If the "communication failure time" calculated for the wireless communication device 20 being evaluated is less than or equal to the first threshold (step S32NO), the flow terminates.
[0064] As described above, according to the first embodiment, the identification unit 14 in the wireless communication device 10 determines whether the wireless communication device 20 is a priority candidate device based on the possibility that the connection with the wireless communication device 20 may be disconnected. When the communication control unit 15 receives a permission request for communication with the wireless communication device 20, it grants permission for communication with the "priority candidate device".
[0065] This configuration of wireless communication device 10 allows for prioritizing communication from wireless communication device 20, which is more likely to experience connection interruptions, thereby ensuring communication stability.
[0066] <Second Embodiment> The second embodiment relates to a case where one connection interval period includes multiple exchange unit periods, that is, a case where one expected occupancy period includes multiple exchange unit periods. In other words, for example, in BLE (Bluetooth Low Energy), if the data to be transmitted is larger than 247 bytes and does not fit into a single packet, the data is divided into multiple packets and transmitted (More Data function). The basic configuration of the system and the first wireless communication device in the second embodiment is the same as the configuration of the system 1 and wireless communication device 10 in the first embodiment, so it will be explained with reference to Figures 2 and 3.
[0067] In the wireless communication device 10 of the second embodiment, if each expected occupancy period includes multiple exchange unit periods, the communication control unit 15 grants permission for communication with the non-priority candidate device during exchange unit periods of non-priority candidate devices that do not overlap with the expected occupancy period of the priority candidate device. On the other hand, the communication control unit 15 does not grant permission for communication with the non-priority candidate device during exchange unit periods of non-priority candidate devices that overlap with the expected occupancy period of the priority candidate device. In other words, the communication control unit 15 of the second embodiment determines, for each exchange unit period of a non-priority candidate device, whether or not that exchange unit period overlaps with the expected occupancy period of the priority candidate device.
[0068] Figures 11 and 12 are diagrams illustrating the processing operation of the communication control unit in the second embodiment.
[0069] In Figure 11, the expected occupancy period EOP1 of the non-priority candidate device has exchange unit period EXP11 and exchange unit period EXP12. Neither exchange unit period EXP11 nor exchange unit period EXP12 overlaps with the expected occupancy period EOP2 of the priority candidate device. In this situation, the communication control unit 15 grants permission for communication with the non-priority candidate device for the entirety of the expected occupancy period EOP1 (i.e., for both exchange unit period EXP11 and exchange unit period EXP12).
[0070] In Figure 12, the expected occupancy period EOP1 of the non-priority candidate device has two exchange unit periods: EXP11 and EXP12. EXP11 does not overlap with the expected occupancy period EOP2 of the priority candidate device, while EXP12 overlaps with it. In this situation, the communication control unit 15 does not grant permission for communication with the non-priority candidate device for a portion of the expected occupancy period EOP1. That is, the communication control unit 15 grants permission for communication with the non-priority candidate device during the EXP11 exchange unit period, but does not grant permission during the EXP12 exchange unit period.
[0071] <Variation> <1> In the above description, the communication control unit 15 determines whether the exchange unit period of the non-priority candidate device overlaps with the expected occupancy period of the priority candidate device. Based on this result, the communication control unit 15 determines whether to grant permission for communication with the non-priority candidate device for each exchange unit period, but this disclosure is not limited thereto.
[0072] For example, even if one expected occupancy period includes multiple exchange unit periods, the communication control unit 15 may determine whether the expected occupancy period of the non-priority candidate device overlaps with the expected occupancy period of the priority candidate device. Based on the result, the communication control unit 15 may then determine whether to grant permission for communication with the non-priority candidate device for each expected occupancy period.
[0073] Figure 13 shows a modified example of the second embodiment. <1> This figure illustrates the processing operation of the communication control unit. In Figure 13, the expected occupancy period EOP1 of the non-priority candidate device has an exchange unit period EXP11 and an exchange unit period EXP12. A portion of the expected occupancy period EOP1 of the non-priority candidate device (exchange unit period EXP12) overlaps with the expected occupancy period EOP2 of the priority candidate device. In this situation, a modified example of the second embodiment is shown. <1> The communication control unit 15 does not grant permission for communication with non-priority candidate devices during the expected occupation period EOP1.
[0074] <2> Furthermore, for example, the communication control unit 15 does not have to grant permission for communication from non-priority candidate devices during the expected occupation period of all non-priority candidate devices that exist from the time any wireless communication device is determined to be a priority candidate device until the next expected occupation period for that priority candidate device.
[0075] Figure 14 shows a modified example of the second embodiment. <2> This figure illustrates the processing operation of the communication control unit. In Figure 14, the wireless communication device corresponding to connection 2 is not permitted to communicate during the expected occupation period EOP21, and at that time, the wireless communication device corresponding to connection 2 is the preferred candidate device. In this situation, the communication control unit 15 does not permit communication from the non-preferred candidate device during the expected occupation periods EOP12, EOP13, and EOP14 of the non-preferred candidate device, which exist until the next expected occupation period EOP22 for the preferred candidate device.
[0076] <3> Second embodiment, modified example of the second embodiment <1> , <2> The three variations of the processing operation of the communication control unit 15 described above may be switched as appropriate. The variation of the second embodiment can reduce the number of packets for which communication is not permitted, but the resource load increases because the determination frequency increases. <1> While variations in this regard can reduce resource load because the frequency of judgment decreases, the number of packets whose communication is not permitted increases.
[0077] <Third Embodiment> The third embodiment relates to an embodiment in which, if the number of consecutive connection interval periods in which communication with the priority candidate device is not established exceeds a second threshold, permission for communication with the priority candidate device is not granted for a predetermined number of connection interval periods. The basic configuration of the system and the first wireless communication device of the third embodiment is the same as the configuration of system 1 of the first embodiment, so it will be explained with reference to Figure 2. That is, system 1 of the third embodiment has a wireless communication device 30, which will be described later, instead of the wireless communication device 10.
[0078] <Example of the configuration of the first wireless communication device> Figure 15 is a block diagram showing an example of a first wireless communication device in a third embodiment. In Figure 15, the wireless communication device 30 includes a transmitting / receiving unit (communication unit) 11 and a control unit 31. The control unit 31 includes a connection control unit 13, a specification unit 32, and a communication control unit 33.
[0079] The identification unit 32 identifies the "priority candidate device" among the wireless communication devices 20-1 and 20-2, similar to the identification unit 14 in the first embodiment. However, the identification unit 32 does not perform the process of determining whether the wireless communication device 20 to be determined is a "priority candidate device" if the "number of failed attempts" of that wireless communication device 20 is equal to or greater than a threshold. In other words, if the "number of failed attempts" of the wireless communication device 20 to be determined is equal to or greater than a threshold, that wireless communication device 20 will be treated as a "non-priority candidate device". The identification unit 32 then performs the process of determining whether the wireless communication device 20 to be determined is a "priority candidate device" if the "number of failed attempts" of that wireless communication device 20 is less than a threshold. In other words, the identification unit 32 calculates the "communication failure time", etc., if the "number of failed attempts" of the wireless communication device 20 to be determined is less than a threshold.
[0080] For example, the specific unit 32 includes a priority prohibition control unit 32A, a calculation unit 14A, and a determination unit 14B.
[0081] The priority prohibition control unit 32A sets the "priority prohibition counter" for each wireless communication device 20 if the number of consecutive communication failures during the expected occupancy period (i.e., the "number of failures") exceeds a threshold. In other words, the initial value of the "priority prohibition counter" is set. Then, the priority prohibition control unit 32A decrements the priority prohibition counter for each wireless communication device 20 each time a connection interval has elapsed. When the value of this priority prohibition counter is not "zero", the corresponding wireless communication device 20 is treated as a non-priority candidate device.
[0082] When the "priority prohibition counter" is not set, or when the value of the "priority prohibition counter" is "zero", the calculation unit 14A calculates the "communication failure time".
[0083] The communication control unit 33 basically performs the same processing operations as the communication control unit 15 in the first embodiment. However, unlike the communication control unit 15 in the first embodiment, the communication control unit 33 manages the "number of failed attempts".
[0084] <Example of operation of the first wireless communication device> An example of the processing operation of the wireless communication device 30 having the above configuration will be described below.
[0085] (Processing operation of the communication control unit) Figure 16 is a flowchart showing an example of the processing operation of the communication control unit in the first wireless communication device of the third embodiment. The processing flow shown in Figure 16 is executed for each wireless communication device 20. Furthermore, the processing flow shown in Figure 16 starts, for example, at the timing before each anchor point. In the following, the differences between the processing flow in Figure 16 and the processing flow in Figure 8 will be mainly explained.
[0086] If it is determined that packet exchange was not successful (step S16NO), the communication control unit 33 increments the "number of failures" for the wireless communication device 20 involved in the permission request (step S41). In this way, the number of times communication was not successful despite permission being granted for the permission request is counted. Then, the communication control unit 33 increments the "number of communication failures" for the wireless communication device 20 involved in the permission request (step S14).
[0087] If it is determined that packet exchange has been successful (step S16YES), the communication control unit 33 clears the "number of failures" for the wireless communication device 20 involved in the permission request (step S42). Then, the communication control unit 33 clears the "number of communication failures" for the wireless communication device 20 involved in the permission request (step S17).
[0088] If the "permission determination process" determines that the permission request is not permitted (step S13NO), the communication control unit 33 clears the "number of failed attempts" for the wireless communication device 20 related to that permission request (step S43). Then, the communication control unit 33 increments the "number of communication failures" for the wireless communication device 20 related to that permission request (step S14).
[0089] (Processing operation of a specific part) Figure 17 is a flowchart showing an example of the processing operation of a specific part in the first wireless communication device of the third embodiment. This processing is repeated for each wireless communication device 20 at each connection interval. The processing flow shown in Figure 17 starts, for example, at the timing before each anchor point. In the following, the differences between the processing flow in Figure 17 and the processing flow in Figure 10 will be mainly explained.
[0090] The identification unit 32 determines whether a priority prohibition counter is set for the wireless communication device 20 to be judged (whether the value of the priority prohibition counter is not zero) (step S51).
[0091] If the priority prohibition counter is not set (step S51NO), the identification unit 32 determines whether the "number of failures" for the wireless communication device 20 to be judged is equal to or greater than the threshold (step S53).
[0092] If the number of failed attempts for the wireless communication device 20 being judged is equal to or greater than the threshold (step S53 YES), the identification unit 32 sets a priority prohibition counter for the wireless communication device 20 being judged (step S54). In other words, the initial value of the priority prohibition counter is set.
[0093] If the priority prohibition counter is set (i.e., the value of the priority prohibition counter is not zero) (step S51YES), the identification unit 32 decrements the priority prohibition counter.
[0094] If the number of failed attempts for the wireless communication device 20 being evaluated is less than the threshold (step S53NO), the identification unit 32 calculates the communication failure time for the wireless communication device 20 being evaluated (step S31). In this way, as long as the number of failed attempts for the wireless communication device 20 being evaluated is greater than or equal to the threshold and the priority prohibition counter is set to a non-zero value, the wireless communication device 20 being evaluated will not be treated as a priority candidate device. This prevents, for example, the continued granting of permission for communication to a wireless communication device 20 that has been identified as a priority candidate device when it is in a situation where communication is impossible (for example, powered off).
[0095] Figure 18 is a diagram illustrating an example of the processing operation of the first wireless communication device in the third embodiment. As shown in Figure 18, permission is granted for communication of connection 1 in the expected occupancy period EOP11, but permission is not granted for communication of connection 2 in the expected occupancy period EOP21. Therefore, assume that the wireless communication device 20 corresponding to connection 2 satisfies the conditions for a priority candidate device at a timing before the expected occupancy period EOP22. For this reason, permission is granted for communication of the priority candidate device in the expected occupancy periods EOP22, EOP23, and EOP24, but here, the communication of the priority candidate device ends in failure. At this time, if the threshold value used in step S53 is 3, a "priority prohibition counter" is set for the wireless communication device 20 corresponding to connection 2. As a result, communication in the expected occupancy period EOP15, where the anchor point arrives earlier, is permitted, while communication in the expected occupancy period EOP25 is not permitted.
[0096] <Other Embodiments> <1> The first wireless communication device of the first to third embodiments may have other modes for granting permission for communication. For example, the first other mode may grant permission to the communication of wireless communication device 20-1 and wireless communication device 20-2, whose expected occupancy periods overlap, according to a predetermined pattern. For example, permission may be granted alternately to the communication of wireless communication device 20-1 and wireless communication device 20-2. Alternatively, permission may be granted to the communication of wireless communication device 20-2 according to a predetermined pattern. For example, permission may be granted to the communication of wireless communication device 20-1 and wireless communication device 20-2 in a predetermined ratio (e.g., a ratio of 3:2).
[0097] <2> In the first to third embodiments, if there are multiple priority candidate devices, a "priority" may be assigned to each priority candidate device, and permission may be granted preferentially to the communication of the priority candidate device with the highest "priority". For example, the priority may be determined based on the magnitude of parameters related to each priority candidate device (such as the remaining time until Supervision Timeout). For example, permission may be granted preferentially to the communication of the priority candidate device with the shortest remaining time until Supervision Timeout.
[0098] <3> Figure 19 shows an example of the hardware configuration of a wireless communication device. In Figure 19, the wireless communication device 100 includes a processor 101, a memory 102, and a communication circuit 103. The processor 101 may be, for example, a microprocessor, an MPU (Micro Processing Unit), or a CPU (Central Processing Unit). The processor 101 may include multiple processors. The memory 102 is composed of a combination of volatile memory and non-volatile memory. The memory 102 may include storage located away from the processor 101. In this case, the processor 101 may access the memory 102 via an I / O interface that is not shown.
[0099] The wireless communication devices 10, 20, and 30 of the first to third embodiments may each have the hardware configuration shown in Figure 19. The control units 12 and 31 of the wireless communication devices 10, 20, and 30 of the first to third embodiments may be implemented by a processor 101 reading and executing a program stored in memory 102. The transmitting and receiving unit 11 may be implemented by a communication circuit 103. The program can be stored using various types of non-transitory computer-readable media and supplied to the wireless communication devices 10, 20, and 30. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives) and magneto-optical recording media (e.g., magneto-optical disks). Furthermore, examples of non-transitory computer-readable media include CD-ROMs (Read Only Memory), CD-Rs, and CD-R / Ws. Furthermore, examples of non-transitory computer-readable media include semiconductor memory. Semiconductor memory includes, for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, and RAM (Random Access Memory). The program may also be supplied to the wireless communication devices 10, 20, and 30 by various types of transient computer-readable medium. Examples of transient computer-readable medium include electrical signals, optical signals, and electromagnetic waves. The transient computer-readable medium can supply the program to the wireless communication devices 10, 20, and 30 via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.
[0100] The present invention has been described in detail above based on embodiments, but it goes without saying that the present invention is not limited to the embodiments already described, and various modifications are possible without departing from the spirit of the invention. [Explanation of symbols]
[0101] 1 System 10 Wireless communication devices 11. Transceiver (Communication Unit) 12 Control Unit 13 Connection Control Unit 14 Specific part 14A Calculation Unit 14B Judgment section 15 Communication Control Unit 20 Wireless communication devices 30 Wireless communication devices 31 Control Unit 32 Specific part 32A Priority Prohibition Control Unit 33 Communication Control Unit
Claims
1. A first wireless communication device capable of establishing connections and communicating with the second wireless communication device and the third wireless communication device, respectively. A connection control unit controls the establishment and disconnection of connections with the second wireless communication device and the third wireless communication device, and transmits permission requests for communication with the second wireless communication device and the third wireless communication device. A selection unit that identifies a preferred candidate device among the second wireless communication device and the third wireless communication device, When the aforementioned permission request is received, the communication control unit grants permission for communication with the preferred candidate device, It is equipped with, The identifying unit determines whether the second wireless communication device is the priority candidate device based on the communication failure time during which communication of the second wireless communication device was not continuously permitted. First wireless communication device.
2. The communication control unit grants permission for the communication of the non-priority candidate device among the second and third wireless communication devices for the expected period of occupancy of the non-priority candidate device's communication that does not overlap with the expected period of occupancy of the communication of the priority candidate device, and does not grant permission for all or part of the expected period of occupancy of the communication of the non-priority candidate device that overlaps with the expected period of occupancy of the communication of the priority candidate device. The first wireless communication device according to claim 1.
3. The anchor point that serves as the starting point for the expected occupancy period appears repeatedly with intervals between connections. Multiple estimated occupancy periods based on multiple anchor points are each included in different connection interval periods. The aforementioned connection interval period is the period between two adjacent anchor points. Each expected occupancy period includes at least one exchange unit period for performing packet switching, in which packets are sent to and from the communication partner once each. The connection control unit disconnects any connection for which no packet exchange has occurred before the monitoring timer expires. The first wireless communication device according to claim 2.
4. The communication control unit counts the number of connection intervals in which communication of the second wireless communication device was not permitted for consecutive periods. The specified part is, A calculation unit that calculates the communication failure time based on the counted number and the time length of the connection interval, A determination unit that determines whether the second wireless communication device is the priority candidate device based on the communication failure time and a first threshold, Equipped with, The first wireless communication device according to claim 3.
5. The calculation unit calculates the first threshold by multiplying the initial value of the monitoring timer by a predetermined coefficient less than 1. The determination unit determines that the second wireless communication device is the priority candidate device when the communication failure time is equal to or greater than the first threshold. The first wireless communication device according to claim 4.
6. If each expected occupancy period includes multiple exchange unit periods, the communication control unit grants permission for communication with the non-priority candidate device during the exchange unit period of the non-priority candidate device that does not overlap with the expected occupancy period of the priority candidate device, and does not grant permission for communication with the non-priority candidate device during the exchange unit period of the non-priority candidate device that overlaps with the expected occupancy period of the priority candidate device. The first wireless communication device according to claim 3.
7. If the number of consecutive connection intervals during which communication with the preferred candidate device is not established exceeds a second threshold, the communication control unit will not grant permission for communication with the preferred candidate device for a predetermined number of connection intervals. The first wireless communication device according to claim 3.
8. The communication control unit does not grant permission for communication of the non-priority candidate devices during all connection intervals of the non-priority candidate devices that exist from the current timing until the next connection interval of the priority candidate device. The first wireless communication device according to claim 3.
9. Communication between the first wireless communication device and the second wireless communication device, and communication between the first wireless communication device and the third wireless communication device, are based on the Bluetooth Low Energy protocol. The first wireless communication device according to claim 1.
10. A method performed by a first wireless communication device capable of establishing connections and communicating with a second wireless communication device and a third wireless communication device, respectively, The system controls the establishment and disconnection of connections with the second wireless communication device and the third wireless communication device, and performs connection control processing to transmit permission requests for communication with the second wireless communication device and the third wireless communication device. Identifying a preferred candidate device among the second wireless communication device and the third wireless communication device, Upon receiving the aforementioned permission request, the system performs a communication control process that grants permission for communication with the preferred candidate device. Includes, The aforementioned determination includes determining whether the second wireless communication device is the preferred candidate device based on the communication failure time during which communication of the second wireless communication device was not continuously permitted. method.
11. The communication control process, upon receiving a permission request for communication between the second wireless communication device and the third wireless communication device, includes granting permission for the communication of the non-priority candidate device among the second and third wireless communication devices for the expected period of occupancy of the non-priority candidate device's communication that does not overlap with the expected period of occupancy of the communication of the priority candidate device, and denying permission for all or part of the expected period of occupancy of the communication of the non-priority candidate device that overlaps with the expected period of occupancy of the communication of the priority candidate device. The method according to claim 10.
12. The anchor point that serves as the starting point for the expected occupancy period appears repeatedly with intervals between connections. Multiple estimated occupancy periods based on multiple anchor points are each included in different connection interval periods. The aforementioned connection interval period is the period between two adjacent anchor points. Each expected occupancy period includes at least one exchange unit period for performing packet switching, in which packets are sent to and from the communication partner once each. The connection control process includes disconnecting any connection for which no packet exchange has occurred before the monitoring timer expires. The method according to claim 11.
13. The method includes counting the number of connection intervals in which communication of the second wireless communication device was not permitted for consecutive periods. The above determination means that The communication failure time is calculated based on the counted number and the time length of the connection interval, Based on the communication failure time and the first threshold, it is determined whether the second wireless communication device is the preferred candidate device. including, The method according to claim 12.
14. The calculation described above includes calculating the first threshold by multiplying the initial value of the monitoring timer by a predetermined coefficient less than 1. The determination includes determining that the second wireless communication device is the preferred candidate device when the communication failure time is equal to or greater than the first threshold. The method according to claim 13.
15. The communication control process includes, when each expected occupancy period includes multiple exchange unit periods, granting permission for communication with the non-priority candidate device during the exchange unit period of the non-priority candidate device that does not overlap with the expected occupancy period of the priority candidate device, and not granting permission for communication with the non-priority candidate device during the exchange unit period of the non-priority candidate device that overlaps with the expected occupancy period of the priority candidate device. The method according to claim 12.
16. The communication control process includes, if the number of consecutive connection intervals during which communication with the preferred candidate device is not established exceeds a second threshold, not granting permission for communication with the preferred candidate device for a predetermined number of connection intervals. The method according to claim 12.
17. The communication control process includes not granting permission for communication from the non-priority candidate device during all connection intervals of the non-priority candidate device that exist from the current timing to the next connection interval of the preferred candidate device. The method according to claim 12.
18. Communication between the first wireless communication device and the second wireless communication device, and communication between the first wireless communication device and the third wireless communication device, are based on the Bluetooth Low Energy protocol. The method according to claim 10.