Communication control device, communication control system, and communication control method

A data acquisition unit repeatedly acquires pieces of notification information for executing predetermined processing from respective BLE devices. A connection controller detects a BLE device, calculates digitalized values of influences of the respective pieces of notification information acquired from the respective BLE devices on the predetermined processing on the basis of the pieces of notification information already acquired by the data acquisition unit, selects a BLE device on the basis of the calculated digitalized values of the influences, and causes the data acquisition unit to stop acquisition of the notification information from the selected BLE device and establishes connection with the BLE device.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2017-071403, filed on Mar. 31, 2017, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are related to a communication control device, a communication control system, and a communication control method.

BACKGROUND

In recent years, Internet of Things (IoT) solutions that collect pieces of data from a large number of devices such as sensors and apparatuses collecting predetermined information and utilize them for service have spread. Examples of the IoT solutions include solutions for improving productivity and quality in factories and solutions for efficiently using energy.

Bluetooth (registered trademark) low energy (BLE) devices have recently increased as devices that are used in IoT. The BLE is a short-range radio communication standard and a configuration in which pieces of notification information as pieces of data transmitted from the BLE devices are connected to a center server through a gate way (GW) device arranged in the range where radio waves reach is used in many cases. There are two methods for acquiring the pieces of data from the BLE devices by the GW device. Both of the methods use scanning processing with which the GW device detects the BLE devices and advertise messages with which the BLE devices notify of their own presences.

With the one data acquisition method, when the GW device receives the advertise message output from the BLE device during execution of the scanning, the GW device transmits and receives data to and from the BLE device as an output source of the advertise message and acquires notification information. Hereinafter, the BLE device that transmits the notification information using this data acquisition method is referred to as a “beacon-type” BLE device. The beacon-type BLE device includes a type of device that incorporates the notification information into the advertise message and transmits it to the GW device.

With the other data acquisition method, when the GW device receives the advertise message output from the BLE device during execution of the scanning, the GW device performs connection processing with the BLE device as an output source of the advertise message. Then, the GW device transmits and receives data to and from the BLE device with which the connection processing has been completed to establish connection and acquires the notification information. When the GW device acquires the notification information from the BLE device with which connection has already been established, it acquires the notification information without performing the scanning, the reception of the advertise message, and the connection processing. Hereinafter, the BLE device that transmits the notification information using this data acquisition method is referred to as a “connection-type” BLE device.

When the GW device performs the scanning and data transmission and reception during execution of the connection processing with the connection-type BLE device, the connection processing is finished and connection with the BLE device is not established. For this reason, the GW device detects no BLE device through the scanning and acquires no notification information from other BLE devices during the connection processing. In the case in which there are the BLE devices subordinate to one GW device, the GW device does not acquire the pieces of notification information that are transmitted from the other BLE devices during the connection processing when performing the connection processing with the connection-type BLE device. Missing of the notification information therefore occurs and service quality of service involving provision of the pieces of notification information of the BLE devices is deteriorated.

Several methods can be considered in order to avoid the deterioration in the service. For example, a method in which the GW device has a plurality of interfaces can be considered. This method enables the GW device to perform the connection processing and the detection of the BLE devices by the scanning and acquisition of the pieces of notification information from the other BLE devices in parallel. In addition, there is, for example, a method in which reception intervals of the pieces of notification information from the other BLE devices are monitored and the connection processing is executed in a time band during which data transmission and reception are not performed.

Furthermore, there is a conventional communication control technique in which connection with a plurality of terminals is performed while lowering the priority of connection with a terminal under a bad radio wave environment. There is also a conventional technique in which data transfer capable of being delayed is delayed in congestion. Moreover, a conventional technique in which assignment of channel time is changed depending on types of services that pieces of transmission and reception data provide has been known. A conventional technique in which connection with apparatuses making short-range wireless communication is performed in the order of priority by adding the priorities to the apparatuses has been also known.

Conventional techniques are described, for example, in Japanese Laid-open Patent Publication No. 2013-211815, Japanese National Publication of International Patent Application No. 2006-520550, Japanese Laid-open Patent Publication No. 2005-198305, and Japanese Laid-open Patent Publication No. 2006-319946 are examples of the conventional techniques.

With the method in which the interfaces are mounted in the GW device, it is difficult to add a communication interface because cost for introduction and operation is increased although addition of the communication interface is considered to be requested after operation. That is to say, it is difficult to prevent addition of the connection-type BLE device from influencing acquisition of the pieces of notification information of the other BLE devices and there is the risk that service quality is reduced. Furthermore, the method in which the connection processing is executed in the time band during which the data transmission and reception are not performed by the other devices has the risk that spare time becomes short and the connection is not completed when many BLE devices are present. In addition, when it takes a long time for the connection using spare time due to a worse radio wave status, acquisition failure of the notification information of another BLE device occurs.

Even with the conventional technique in which the connection with the terminals is performed while lowering the priority of connection with the terminal under the bad radio wave environment, it is difficult to reduce influences by the connection of the connection-type BLE device on information acquisition of the other BLE devices and there is the risk that the service quality is reduced. The same holds true for the usage of the conventional technique in which the data transfer capable of being delayed is delayed in congestion, the conventional technique in which the assignment of the channel time is changed depending on the types of services, and the conventional technique in which the connection is performed in the order of priority.

SUMMARY

According to an aspect of an embodiment, a communication control device includes: a data acquisition unit that repeatedly acquires pieces of notification information for executing predetermined processing from a plurality of terminal devices; and a connection controller that detects a specific connectible terminal device, calculates digitalized values of influences of the respective pieces of notification information acquired from the respective terminal devices on the predetermined processing on the basis of the pieces of notification information already acquired by the data acquisition unit, selects a terminal device on the basis of the calculated digitalized values of the influences, and causes the data acquisition unit to stand by for acquisition of the notification information from the selected terminal device and establishes connection with the specific terminal device.

DESCRIPTION OF EMBODIMENTS

Preferred embodiments of the present invention will be explained with reference to accompanying drawings. The communication control device, the communication control system, the communication control method, and the communication control program that are disclosed in the present application are not limited by the following embodiments.

[a] First Embodiment

FIG. 1is a diagram illustrating the system configuration of an information collection system. As illustrated inFIG. 1, an information collection system100in the embodiment includes GW devices1, BLE devices2, a center server3, and an application server4. The information collection system100is an example of a “communication control system”.

The application server4transmits, to the center server3, a transmission request of notification information notified from the BLE device2. Thereafter, the application server4acquires the specified notification information from the center server3. The application server4performs predetermined processing using the collected notification information. The application server4is an example of a “processing execution device”.

In the embodiment, the application server4has, for the respective BLE devices2, abnormal values for detecting occurrence of abnormalities with the pieces of notification information notified from the BLE devices2. The application server4transmits, to the center server3, determination conditions for determining the abnormalities using the abnormal values.

The center server3is connected to one or the plurality of GW devices1. The center server3receives the pieces of notification information collected from the BLE devices2from the GW device1connected thereto. The center server3accumulates therein the pieces of received notification information. After that, when the center server3receives the transmission request from the application server4, it extracts specified data from the pieces of accumulated notification information and transmits it to the application server4.

The center server3receives the determination conditions of the respective BLE devices2from the application server4. The center server3transmits the received determination conditions of the respective BLE devices2to the GW device1to which the respective BLE devices2are connected.

AlthoughFIG. 1illustrates the center server3and the application server4as different servers, in practice, one apparatus may have functions of the center server3and the application server4.

The BLE devices2are connected to the GW device1. Hereinafter, the BLE devices2connected to the GW device1are referred to as the BLE devices2subordinate to the GW device1. A large number of BLE devices2are arranged and the number of them exceeds the number of manageable devices by the GW device1in many cases. In order to cope with such a case and reduce load on one GW device1, the GW devices1are arranged for one center server3in many cases.

The GW device1executes scanning and receives advertise messages from the subordinate BLE devices2with constant time intervals. When the BLE device2is a beacon-type device, the GW device1transmits a data transmission request to the BLE device2as a transmission source of the advertise message. Thereafter, the GW device1receives, as a response to the transmission request, the notification information from the BLE device2as the transmission destination of the data transmission request. The GW device1is an example of a “communication control device”.

When the BLE device2is a connection-type device, the GW device1executes connection processing with the BLE device2as a transmission source of the advertise message to establish connection therewith. After the establishment of the connection, the GW device1transmits a data transmission request to the BLE device2with which the connection has been established with a constant time interval. Thereafter, the GW device1receives, as a response to the transmission request, the notification information from the BLE device2as the transmission destination of the data transmission request. The connection processing will be described in detail later.

Each BLE device2acquires predetermined information. The BLE device2acquires, for example, information about the temperature of an installed place and information about humidity thereof. The BLE device2transmits the acquired information as the notification information to the GW device1. The BLE device2is an example of a “terminal device”.

Next, the connection processing of the connection-type BLE device2by the GW device1will be described with reference toFIG. 2.FIG. 2is a block diagram of the GW device. Each BLE device21is a BLE device2that has ever transmitted notification information to the GW device1. The BLE device21may be a connection-type or beacon-type BLE device. When the BLE device21is the connection-type BLE device, the BLE device2is in a connected state with the GW device1. There are a plurality of BLE devices21. Hereinafter, the BLE device2from which the GW device1continuously receives the notification information is referred to as a data collection device in some cases. A BLE device20is the connection-type BLE device2with which the connection processing is to be performed. Hereinafter, the connection-type BLE device2with which the connection processing is to be performed is referred to as a BLE device to be connected.

As illustrated inFIG. 2, the GW device1includes a data acquisition unit11, a connection controller12, a necessity management unit13, a notification information management unit14, a radio wave intensity management unit15, and a device management unit16.

The data acquisition unit11makes data transmission request and so on and receives the notification information from each BLE device21. The data acquisition unit11outputs the received notification information and the acquisition time to the notification information management unit14. The data acquisition unit11acquires a connection status with the BLE device21that includes a radio wave intensity using received packets containing the notification information in the reception of the packets. The data acquisition unit11outputs the radio wave intensity to the radio wave intensity management unit15. The connection status that includes the radio wave intensity is an example of a “communication state”.

The data acquisition unit11receives notification of connection completion of the BLE device20from the connection controller12. Thereafter, the data acquisition unit11starts reception of the notification information from the BLE device20and outputs the received notification information from the BLE device20to the notification information management unit14. The data acquisition unit11outputs the radio wave intensity with the BLE device20to the radio wave intensity management unit15.

The notification information management unit14includes a storage device. The notification information management unit14has a notification information table141as illustrated inFIG. 3in its own storage device.FIG. 3is a diagram illustrating an example of the notification information table.

The notification information management unit14receives, from the data acquisition unit11, input of the notification information and the acquisition time together with identification information of the BLE device21as a transmission source. In this example, the notification information management unit14acquires a device identifier (ID) as the identification information of the BLE device21. The notification information management unit14registers, in the notification information table141, the acquired notification information and acquisition time while making them correspond to the device ID. The notification information management unit14transmits, to the center server3, the identification information and the notification information of the BLE device21as the transmission source.

The radio wave intensity management unit15includes a storage device. The radio wave intensity management unit15has a radio wave intensity table151as illustrated inFIG. 4in its own storage device.FIG. 4is a diagram illustrating an example of the radio wave intensity table.

The radio wave intensity management unit15receives, from the data acquisition unit11, input of the radio wave intensity together with the identification information of the BLE device21as the transmission source of the packets from which the radio wave intensity has been acquired. The radio wave intensity management unit15also acquires the device ID as the identification information of the BLE device21. The radio wave intensity management unit15registers, in the radio wave intensity table151, the acquired radio wave intensity while making it correspond to the device ID.

The device management unit16includes a storage device. The device management unit16has a device table161in which the BLE devices21are registered in its own storage device.FIG. 5is a diagram illustrating an example of the device table.

The device management unit16receives the determination conditions of the BLE devices21from the center server3. The device management unit16registers, in the device table161, the received determination conditions while making them correspond to the BLE devices21. The determination condition has the abnormal value as a threshold for determining an abnormal state and a condition for determination using the abnormal value. For example, in the case of the determination condition that the temperature is higher than 40° C. inFIG. 5, the abnormal value is 40° C.

After connection with the BLE device20is established, the device management unit16acquires the device ID as the identification information of the BLE device20and a data acquisition cycle thereof from the connection controller12. Then, the device management unit16adds an entry of the BLE device20to the device table161. Thereafter, the device management unit16registers, in the device table161, the determination conditions of the BLE devices21that have been received from the center server3.

The device management unit16further acquires, from the data acquisition unit11, pieces of information of the BLE devices2including the BLE devices21as data acquisition sources. The device management unit16adds, to the device table161, information indicating whether data is being collected for each BLE device2. InFIG. 5, the BLE devices2with circles in the item of “data collection in progress” are, for example, the BLE devices2as notification information reception targets. The BLE device2with no circle in the item of “data collection in progress” is the BLE device2excluded from the notification information reception targets. The BLE device2excluded from the notification information reception targets is, for example, a BLE device2from which notification information was being received but for which it has become difficult to acquire notification information due to a worsened radio wave status. In the embodiment, the device table161keeps information of the BLE device2excluded from the notification information reception targets but the device management unit16may delete, from the device table161, the information of the BLE device2excluded from the notification information reception targets.

The necessity management unit13includes a storage device. The necessity management unit13stores therein a necessity table131illustrated inFIG. 6in its own storage device.FIG. 6is a diagram illustrating an example of the necessity table. The necessity will be described in detail later.

The connection controller12receives the advertise message from the BLE device20. The connection controller12detects, as the BLE device20to be connected, the BLE device20as the transmission source of the advertise message. Then, the connection controller12executes processing of determining timing at which the connection processing with the BLE device20to be connected will be performed. Hereinafter, the processing of determining the timing at which the connection processing with the BLE device20will be performed will be described in detail.

The connection controller12extracts the BLE devices21during the data collection from the device table161that the device management unit16has. Subsequently, the connection controller12selects one from the extracted BLE devices21during the data collection.

Then, the connection controller12acquires the pieces of notification information of the selected BLE device21up to the current time point from a time point, which was a specific period of time before the current time, from the notification information table141that the notification information management unit14has. For example, when the BLE device21transmits a measurement value as the notification information every 1 to 10 seconds, the connection controller12sets the constant period of time to 10 minutes or the like. The connection controller12calculates an average value and a dispersion value of the pieces of acquired notification information.

Subsequently, the connection controller12acquires the abnormal value of the selected BLE device21from the device table161that the device management unit16has. The connection controller12then calculates a difference between the calculated average value of the pieces of notification information and the acquired abnormal value.

Furthermore, the connection controller12acquires the radio wave intensity of the selected BLE device21from the radio wave intensity table151that the radio wave intensity management unit15has.

The connection controller12calculates the necessity of the selected BLE device21using the difference between the average value and the abnormal value, the dispersion value of the pieces of notification information, and the radio wave intensity in the following equation 1.

The necessity is decreased as the difference between the average value of the pieces of notification information and the abnormal value is larger. That is to say, the necessity is increased when the recent pieces of notification information are close to the abnormal value and the possibility that the abnormality occurs is high. The necessity is increased as variation is increased. That is to say, the necessity is increased when the variation is large, the notification information to be subsequently transmitted is incapable of being predicted, and the possibility that the abnormality occurs is high. The necessity is decreased as the radio wave intensity is higher. That is to say, the necessity is increased for the BLE device2for which the number of times of trying to acquire the notification information therefrom is preferably increased because the possibility that the notification information can be acquired is low due to a bad radio wave status. In other words, the necessity can be considered as a digitized value of the influence on the predetermined processing that the application server4executes.

The connection controller12outputs the calculated necessity to the necessity management unit13. The connection controller12repeats the above-described necessity calculation processing to calculate the necessities of all of the BLE devices21.

Then, the connection controller12sorts the pieces of information of the BLE devices21registered in the necessity table131that the necessity management unit13has in the descending order of the necessity. The connection controller12selects the BLE devices21in the decreasing order of the necessity from the pieces of sorted information in the necessity table131.

The connection controller12previously stores therein a threshold of the necessity for determining whether next acquisition of the notification information of each BLE device21may be skipped. The connection controller12determines whether the necessity of the selected BLE device21is lower than the threshold. When the necessity of the selected BLE device21is equal to or higher than the threshold, the connection controller12shifts to determination of the subsequent BLE device21.

On the other hand, when the necessity of the selected BLE device21is lower than the threshold, the connection controller12acquires the data acquisition cycle of the selected BLE device21from the device table161that the device management unit16has. The connection controller12calculates the next acquisition timing of the notification information of the selected BLE device21. The next acquisition timing of the notification information is, for example, time from the current time point to the next acquisition of the notification information.

The connection controller12stores therein the calculated next acquisition timing of the notification information of the selected BLE device21and shifts to determination for the subsequent BLE device21. The connection controller12repeats the determination in order to make the determination for all of the BLE devices21during the data collection. Thereafter, the connection controller12determines whether there is a BLE device2the necessity of which is lower than the threshold among the BLE devices21.

When there are the BLE devices2the necessities of which are lower than the threshold, the connection controller12specifies the BLE device21with the closest next acquisition timing of the notification information among the BLE devices21the necessities of which are lower than the threshold. Then, the connection controller12determines that the connection processing with the BLE device20to be connected is executed at the next acquisition timing of the notification information of the specified BLE device21.

When the necessities of the BLE devices21are equal to or higher than the threshold, the connection controller12specifies the BLE device21with the lowest necessity. Then, the connection controller12determines that the connection processing with the BLE device20to be connected is executed at the next acquisition timing of the notification information of the specified BLE device21.

After that, when the next acquisition timing of the notification information of the specified BLE device21comes, the connection controller12executes the connection processing with the BLE device20to be connected. When the connection with the BLE device20to be connected is established, the connection controller12notifies the data acquisition unit11of the establishment of the connection and notifies the device management unit16of the identification information and the data acquisition cycle of the BLE device20.

That is to say, when the abnormal value is set to each BLE device21, the connection controller12executes the connection processing at the acquisition timing of the notification information of the BLE device21under the condition that the abnormality is difficult to occur although the closest timing is finally selected. In the embodiment, the connection controller12executes the connection processing preferentially at the acquisition timing of the notification information of the BLE device21with the high possibility that the notification information can be acquired therefrom.

The data acquisition unit11acquires no notification information from the BLE devices21while the connection controller12executes the connection processing. That is to say, the data acquisition unit11stands by for collection of the pieces of notification information of the BLE devices23.

In the embodiment, the abnormal value is set to each BLE device21as an example. Alternatively, when no abnormal value is set, the connection controller12executes the connection processing at the acquisition timing of the notification information of the BLE device21for which the notification information to be subsequently transmitted can be predicted for the following reason. That is, when the notification information to be subsequently transmitted can be predicted to some extent, the processing that the application server4executes is less influenced even when the notification information is not acquired.

Next, flow of the connection processing of the connection-type BLE device2by the GW device1in the embodiment will be described with reference toFIG. 7.FIG. 7is a sequence diagram of the connection processing by the GW device in the first embodiment. InFIG. 7, the BLE devices21to23are the BLE devices2from which pieces of data are being acquired and the BLE device24is the BLE device2from which data has been acquired before but no data is being currently acquired. The BLE devices21and23are the beacon-type BLE devices2and the BLE device22is the connection-type BLE device2. The BLE device20is the BLE device2to be connected. AlthoughFIG. 7illustrates the BLE devices20to24, they are examples and there are other BLE devices2subordinate to the GW device1.

The application server4transmits, to the center server3, the determination conditions (step S1).

The center server3receives the determination conditions from the application server4. The center server3then transmits the determination conditions to the GW device1(step S2).

The device management unit16of the GW device1receives the determination conditions from the center server3. The device management unit16registers the determination conditions corresponding to the respective BLE devices21to23in the device table161. Thereafter, the data acquisition unit11of the GW device1collects the pieces of notification information from the BLE devices21to23(step S3). Then, the notification information management unit14registers, in the notification information table141, the pieces of notification information of the BLE devices21to23collected by the data acquisition unit11.

Details of the acquisition processing of the pieces of notification information at step S3will be described. The connection controller12receives the advertise message from the BLE device21(step S31). The connection controller12notifies the data acquisition unit11of the reception of the advertise message from the BLE device21. When the data acquisition unit11is notified of the reception of the advertise message, it transmits a collection request to the BLE device21as the transmission source of the advertise message (step S32). The BLE device21transmits, as a response to the collection request, the notification information to the data acquisition unit11of the GW device1(step S33).

The data acquisition unit11transmits the collection request to the BLE device22in a state of being connected periodically (step S34). The BLE device22transmits, as a response to the collection request, the notification information to the data acquisition unit11of the GW device1(step S35).

The connection controller12receives the advertise message from the BLE device23(step S36). Thereafter, the data acquisition unit11transmits the collection request to the BLE device23(step S37). The BLE device23transmits, as a response to the collection request, the notification information to the data acquisition unit11of the GW device1(step S38). The GW device1also receives the pieces of notification information from the BLE devices2as the other data collection devices and completes step S3. The GW device1acquires no notification information from the BLE device24because the BLE device24is excluded from the notification information reception targets.

Thereafter, the connection controller12of the GW device1receives the advertise message from the BLE device20(step S4).

Then, the connection controller12of the GW device1calculates the necessities of the data collection devices including the BLE devices21to23(step S5).

The connection controller12of the GW device1determines the connection timing using the calculated necessities of the respective data collection devices (step S6). That is to say, the connection controller12determines the BLE device2with the collection timing of the notification information at which it executes the connection processing with the BLE device20. In this example, the connection controller12determines that it executes the connection processing with the BLE device20at the collection timing of the notification information of the BLE device23.

Thereafter, the data acquisition unit11of the GW device1executes the collection processing of the pieces of notification information from the BLE devices21and22(step S7).

The connection controller12of the GW device1executes the connection processing with the BLE device20at the collection timing of the notification information of the BLE device23(step S8). In this case, the data acquisition unit11of the GW device1acquires no notification information of the BLE device23at timing P. That is to say, the data acquisition unit11stands by for collection of the notification information of the BLE device23and skips the collection for one time at the timing P.

Thereafter, the data acquisition unit11of the GW device1executes the collection processing of the pieces of notification information from the other data collection devices (step S9). With these pieces of processing, the data acquisition unit11can acquire the pieces of notification information of all of the data collection devices other than the BLE device23.

Thereafter, the data acquisition unit11of the GW device1executes the collection processing of the pieces of notification information from the data collection devices including the BLE devices20to23because connection with the BLE device20has been established (step S10).

Next, flow of the necessity calculation processing by the GW device1in the embodiment will be described with reference toFIG. 8.FIG. 8is a flowchart of the necessity calculation unit processing. The processing illustrated in the flowchart inFIG. 8is an example of the processing that is executed at step S5inFIG. 7.

The data acquisition unit11collects the pieces of notification information from the BLE devices2as the data collection devices. The data acquisition unit11measures and collects the connection statuses such as the radio wave intensities of the respective BLE devices2using the packets used for transmission of the pieces of notification information (step S101). The data acquisition unit11then transmits the pieces of notification information of the respective data collection devices to the notification information management unit14. The notification information management unit14registers, in the notification information table141, the pieces of notification information of the respective data collection devices. The data acquisition unit11transmits the radio wave intensities of the respective BLE devices2to the radio wave intensity management unit15. The radio wave intensity management unit15registers, in the radio wave intensity table151, the radio wave intensities of the respective BLE devices2.

The connection controller12receives the advertise message to detect the BLE device2to be connected (step S102).

Subsequently, the connection controller12extracts the BLE devices2as the data collection devices from the device table161that the device management unit16has (step S103).

The connection controller12selects one BLE device2from the extracted BLE devices2(step S104).

Then, the connection controller12acquires the pieces of notification information of the selected BLE device2for the constant period of time from the notification information table141that the notification information management unit14has. The connection controller12calculates the average value and the dispersion value of the pieces of notification information of the selected BLE device2(step S105).

Subsequently, the connection controller12acquires the abnormal value set to the selected BLE device2from the device table161that the device management unit16has (step S106). The connection controller12calculates the difference between the average value of the pieces of notification information of the selected BLE device2and the abnormal value thereof.

The connection controller12acquires the radio wave intensity of the selected BLE device2from the radio wave intensity table151that the radio wave intensity management unit15has (step S107).

The connection controller12calculates the necessity of the selected BLE device2using the difference between the average value of the pieces of notification information of the selected BLE device2and the abnormal value thereof, the dispersion value of the pieces of notification information, and the radio wave intensity for the equation 1 (step S108). After that, the connection controller12outputs the calculated necessity to the necessity management unit13. The necessity management unit13registers, in the necessity table131, the necessity while making it correspond to the selected BLE device2.

After that, the connection controller12determines whether selection of all of the extracted BLE devices2has been completed (step S109). When the BLE device2that has not been selected remains (No at step S109), the connection controller12returns the process to step S104.

On the other hand, when selection of all of the extracted BLE devices2has been completed (Yes at step S109), the connection controller12finishes the necessity calculation processing.

Next, flow of the connection timing determination processing by the GW device1in the embodiment will be described with reference toFIG. 9.FIG. 9is a flowchart of the connection timing determination processing. The processing illustrated in the flowchart inFIG. 9is an example of the processing that is executed at step S6inFIG. 7.

The connection controller12extracts the BLE devices2as the data collection devices from the device table161that the device management unit16has (step S111). The connection controller12may use the extraction result of the data collection devices in the necessity calculation processing illustrated inFIG. 8.

Then, the connection controller12sorts the extracted BLE devices2in the descending order of the necessity using the necessity table131that the necessity management unit13has (step S112).

The connection controller12selects the BLE devices2in the order from the head of the sorted BLE devices2to select the BLE device2with the highest necessity from the unselected BLE devices2(step S113).

Then, the connection controller12determines whether the necessity of the selected BLE device2is lower than the threshold (step S114). When the necessity of the selected BLE device2is equal to or higher than the threshold (No at step S114), the connection controller12proceeds the process to step S116.

On the other hand, when the necessity of the selected BLE device2is lower than the threshold (Yes at step S114), the connection controller12acquires the data acquisition cycle of the selected BLE device2registered in the device table161that the device management unit16has. Then, the connection controller12acquires next transmission and reception timing of the notification information of the selected BLE device2using the data acquisition cycle (step S115).

Thereafter, the connection controller12determines whether selection of all of the extracted BLE devices2has been completed (step S116). When a BLE device2that has not been selected is remaining (No at step S116), the connection controller12returns the process to step S113.

On the other hand, when selection of all of the extracted BLE devices2has been completed (Yes at step S116), the connection controller12determines whether there is a BLE device2the necessity of which is lower than the threshold among the extracted BLE devices2(step S117).

When there is a BLE device2the necessity of which is lower than the threshold (Yes at step S117), the connection controller12determines the closest transmission and reception timing of the notification information to be the connection timing of the BLE device2to be connected (step S118).

When there is no BLE device2the necessity of which is lower than the threshold (No at step S117), the connection controller12determines the transmission timing of the notification information of the BLE device2with the lowest necessity to be the connection timing of the BLE device2to be connected (step S119).

Next, variation in the connection timing of the BLE device2to be connected based on difference in the necessity of each BLE device2during the data collection will be described with reference toFIG. 10.FIG. 10is a diagram for explaining the variation in the connection timing based on the difference in the necessity of each BLE device.

In this example, there are BLE devices #1to #7as the data collection devices for explanation. In graph201, the transverse axis indicates elapse of time and transmission and reception timings of the pieces of notification information of the respective BLE devices #1to #7. The times T1to T7are the transmission and reception timings of the pieces of notification information of the BLE devices #1to #7, respectively. The necessities of the BLE devices #1to #7are assumed to be #1to #7, respectively. The necessities satisfy a relation of #1>#2>#3>#4>#5>#6>#7.

Graph202is a graph expressing selection of the connection timing when the threshold is higher than #5and is lower than #4. In this case, #5to #7are lower than the threshold. In the graph202, the times T5to T7enclosed with circles indicate the transmission and reception timings of the pieces of notification information of the BLE devices2the necessities of which are lower than the threshold. In this case, the connection controller12determines the time T6as the closest transmission and reception timing from the times T5and T6to be the connection timing of the BLE device2to be connected. That is to say, the connection timing of the BLE device2to be connected in this case corresponds to the timing indicated by a thick arrow in the graph202.

Graph203is a graph expressing selection of the connection timing when the threshold is higher than #3and is lower than #2. In this case, #3to #7are lower than the threshold. In the graph203, the times T3to T7enclosed with circles indicate the transmission and reception timings of the pieces of notification information of the BLE devices2the necessities of which are lower than the threshold. In this case, the connection controller12determines the time T4as the closest transmission and reception timing among the times T3to T6to be the connection timing of the BLE device2to be connected. That is to say, the connection timing of the BLE device2to be connected in this case corresponds to the timing indicated by a thick arrow in the graph203.

As described above, the more BLE devices2having low necessities in the data collection devices, the earlier the connection timing of the BLE device2to be connected. By contrast, the more BLE devices2having high necessities in the data collection devices, the later the connection timing of the BLE device2to be connected.

As described above, when the GW device in the embodiment detects the connection-type BLE device, it calculates the necessities of the respective data collection devices and executes the connection processing of the BLE device to be connected at the transmission and reception timing of the notification information of the BLE device the necessity of which is lower than the threshold. With this GW device, the connection-type BLE device can be connected and the notification information thereof can be acquired while reducing acquisition failure of the notification information with the high necessity that largely influences the processing of the application when the acquisition failure thereof occurs. Accordingly, service quality of service using the notification information can be improved.

Modifications

In the first embodiment, the difference between the average value and the abnormal value, the dispersion value, and the radio wave intensity are used for calculation of the necessity. The necessity calculation method is however not limited thereto as long as a method can provide a value enabling determination of whether the processing that the application executes is largely influenced when acquisition failure occurs. The connection controller12may calculate the necessity using the difference between the average value and the abnormal value and the dispersion value without using the radio wave intensity while focusing on the possibility of the abnormality occurring.

The connection controller12may use the frequency of the acquisition failure of a notification information instead of the radio wave intensity as information indicating the radio wave status for determining the possibility of occurrence of the acquisition failure. When the frequency of the acquisition failure is high, the possibility that the data acquisition unit11fails to acquire data is considered to be high and the number of times of reception of the notification information is preferably increased as much as possible.

In this case, when the data acquisition unit11has failed to acquire the notification information, it notifies the notification information management unit14of the acquisition failure of the notification information together with identification of the BLE device2as the target.

The notification information management unit14is notified of the acquisition failure of the notification information by the data acquisition unit11. The notification information management unit14registers, in the notification information table141, the acquisition failure of the notification information while making it correspond to the identification information of the BLE device2as the transmission source of the notification information that has been incapable of being acquired.

In the necessity calculation processing, the connection controller12calculates the numbers of times of the acquisition failure of the pieces of notification information of the respective BLE devices2as the data collection devices for a predetermined period of time from the notification information table141that the notification information management unit14has. The connection controller12sets, to the frequencies of the data acquisition failure, the numbers of times of the acquisition failure of the pieces of notification information of the respective BLE devices2as the data collection devices for the predetermined period of time. The frequency of the data acquisition failure is an example of the “communication state”.

Subsequently, the connection controller12calculates the necessities of the respective BLE devices21using the differences between the average values and the abnormal values, the dispersion values of the pieces of notification information, the radio wave intensities, and the frequencies of the data acquisition failure for the following equation 2.

The connection controller12can acquire the necessity enabling accurate determination of whether the processing of the application is largely influenced when the acquisition failure occurs by thus increasing the conditions for calculating the necessity.

In the above description, the BLE devices2to which the abnormal values are set are targets. The GW device1can however determine the connection timing on the basis of the necessities even when the abnormal values are not set to the BLE devices2.

In this case, the connection controller12can determine the connection timing of the BLE device2to be connected by calculating the dispersion values of the pieces of notification information of the BLE devices2as the data collection devices and using, as the necessities, the dispersion values.

The magnitude of the dispersion value enables determination of whether variation in the notification information of the BLE device2having the dispersion value is recently large. That is to say, when the dispersion value is small, the variation in the notification information is small and it can therefore be predicted that subsequent notification information has a similar value. Accordingly, the influence on the processing that the application executes can be reduced even when the notification information is not acquired. The connection controller12can determine the connection timing using the dispersion values even when the abnormal values are not set to the BLE devices2. Also in this case, the connection controller12may determine the connection timing while taking the radio wave status into consideration.

[b] Second Embodiment

Next, a second embodiment will be described. A GW device in the embodiment is different from the first embodiment in a point that when a connection-type BLE device is reconnected, the GW device calculates the necessity of the BLE device to be connected from previous information and determines connection timing using the calculated necessity.FIG. 1illustrates an information collection system in the embodiment.FIG. 2also illustrates the GW device in the embodiment. Hereinafter, determination of the connection timing in reconnection is mainly described and description of functions of respective parts that are the same as those in the first embodiment is omitted.

Description is made with reference toFIG. 2. The connection controller12receives an advertise message to detect the BLE device20to be connected. The connection controller12checks registration of identification information of the detected BLE device20and non-registration of information indicating that the BLE device20is in progress of data collection in the device table161in the device management unit16. The connection controller12determines that the current connection with the BLE device20is reconnection.

Then, the connection controller12acquires pieces of notification information of the BLE device20to be connected for a constant period of time in the past from the notification information table141that the notification information management unit14has. The constant period of time in the past is, for example, a period of time from the time at which the notification information of the BLE device20to be connected was received last up to a time point in a specific period of time. The connection controller12calculates an average value and a dispersion value of the pieces of notification information of the BLE device20to be connected using the acquired pieces of notification information.

The connection controller12acquires the abnormal value of the BLE device20to be connected from the device table161that the device management unit16has. The connection controller12calculates the difference between the average value of the pieces of notification information of the BLE device20to be connected and the abnormal value thereof.

Furthermore, the connection controller12acquires the radio wave intensity when the notification information has been received last from the BLE device20to be connected as the radio wave intensity of the BLE device20to be connected from the radio wave intensity table151of the radio wave intensity management unit15. That is to say, in this case, the radio wave intensity management unit15keeps pieces of information of the radio wave intensities of the disconnected connection-type BLE devices2including the BLE device20.

The connection controller12calculates the necessity of the BLE device20to be connected using the difference between the average value and the abnormal value, the dispersion value, and the radio wave intensity for the equation 1. In this case, the connection controller12uses the necessity of the BLE device20to be connected as a threshold. The necessity of the BLE device20to be connected is an example of a “specific value”.

Subsequently, the connection controller12extracts the BLE devices21as the data collection devices from the device table161that the device management unit16has. Then, the connection controller12calculates the necessities of the respective BLE devices21.

Thereafter, the connection controller12determines whether the necessities of the respective BLE devices21are lower than the necessity of the BLE device20to be connected. The connection controller12acquires next transmission and reception timing of the notification information of the BLE device21the necessity of which is lower than the necessity of the BLE device20to be connected.

When there are the BLE devices2the necessities of which are lower than the necessity of the BLE device20to be connected, the connection controller12specifies the BLE device21with the closest next acquisition timing of the notification information among the BLE devices21the necessities of which are lower than the necessity of the BLE device20. Then, the connection controller12determines that the connection processing with the BLE device20to be connected is executed at the next acquisition timing of the notification information of the specified BLE device21.

When the necessities of the BLE devices21are equal to or higher than the necessity of the BLE device20, the connection controller12specifies the BLE device21with the lowest necessity. Then, the connection controller12determines that the connection processing with the BLE device20to be connected is executed at the next acquisition timing of the notification information of the specified BLE device21.

After that, when the next acquisition timing of the notification information of the specified BLE device21comes, the connection controller12executes the connection processing with the BLE device20to be connected. When connection with the BLE device20to be connected is established, the connection controller12notifies the data acquisition unit11of the establishment of the connection and notifies the device management unit16of the identification information of the BLE device20and the data acquisition cycle.

Next, flow of the connection timing determination processing by the GW device1in the embodiment will be described with reference toFIG. 11.FIG. 11is a flowchart of the connection timing determination processing. In this case, the BLE device2to be connected is reconnected for description.

The connection controller12extracts the BLE devices2as the data collection devices from the device table161that the device management unit16has (step S201).

Then, the connection controller12sorts the extracted BLE devices2in the descending order of necessity using the necessity table131that the necessity management unit13has (step S202).

The connection controller12calculates the necessity of the BLE device2to be connected (step S203). In this example, the necessity of the BLE device2to be connected is calculated when the connection timing is determined. The calculation may however be performed at another timing and the connection controller12may calculate it, for example, when the necessities of the data collection devices are calculated.

The connection controller12selects the BLE devices2in the order from the top of the sorted BLE devices2to select the BLE device2having the highest necessity among the unselected BLE devices2(step S204).

Thereafter, the connection controller12determines whether the necessity of the selected BLE device2is lower than the necessity of the BLE device2to be connected (step S205). When the necessity of the selected BLE device2is equal to or higher than the necessity of the BLE device2to be connected (No at step S205), the connection controller12proceeds the process to step S207.

On the other hand, when the necessity of the selected BLE device2is lower than the necessity of the BLE device2to be connected (Yes at step S205), the connection controller12acquires next transmission and reception timing of the notification information of the selected BLE device2(step S206).

Thereafter, the connection controller12determines whether selection of all of the extracted BLE devices2has been completed (step S207). When a BLE device2that has not been selected is remaining (No at step S207), the connection controller12returns the process to step S204.

On the other hand, when selection of all of the extracted BLE devices2has been completed (Yes at step S207), the connection controller12determines whether there is a BLE device2the necessity of which is lower than the necessity of the BLE device2to be connected (step S208).

When there is a BLE device2the necessity of which is lower than the necessity of the BLE device2to be connected (Yes at step S208), the connection controller12determines the closest transmission and reception timing of the notification information to be the connection timing of the BLE device2to be connected (step S209).

On the other hand, when there is no BLE device2the necessity of which is lower than the necessity of the BLE device20(No at step S208), the connection controller12determines the transmission timing of the notification information of the BLE device2with the lowest necessity to be the connection timing of the BLE device2as the connection timing (step S210).

Next, variation in the connection timing based on difference in the necessity of each BLE device2to be connected in the reconnection will be described with reference toFIG. 12.FIG. 12is a diagram for explaining the variation in the connection timing based on the difference in the necessity of the BLE device to be connected in the reconnection.

In this example, there are the BLE devices #1to #7as the data collection devices for explanation. In graph211, the transverse axis indicates elapse of time and transmission and reception timings of the pieces of notification information of the respective BLE devices #1to #7. The times T1to T7are the transmission and reception timings of the pieces of notification information of the BLE devices #1to #7, respectively. The necessities of the BLE devices #1to #7are assumed to be #1to #7, respectively. The necessities satisfy a relation of #1>#2>#3>#4>#5>#6>#7. Furthermore, the necessity of the BLE device2to be connected is assumed to be N.

Graph212is a graph expressing selection of the connection timing when the necessity of the BLE device2to be connected is higher than #5and is lower than #4. In this case, #5to #7are lower than N. In graph212, the times T5to T7enclosed with circles indicate the transmission and reception timings of the pieces of notification information of the BLE devices2the necessities of which are lower than N. In this case, the connection controller12determines the time T6as the closest transmission and reception timing from the times T5and T6to be the connection timing of the BLE device2to be connected. That is to say, the connection timing of the BLE device2to be connected in this case corresponds to the timing indicated by a thick arrow in the graph212.

Graph213is a graph expressing selection of the connection timing when the necessity of the BLE device2to be connected is higher than #3and is lower than #2. In this case, #3to #7are lower than N. In the graph213, the times T3to T7enclosed with circles indicate the transmission and reception timings of the pieces of notification information of the BLE devices2the necessities of which are lower than N. In this case, the connection controller12determines the time T4as the closest transmission and reception timing among the times T3to T6to be the connection timing of the BLE device2to be connected. That is to say, the connection timing of the BLE device2to be connected in this case corresponds to the timing indicated by a thick arrow in the graph213.

As described above, in the reconnection, the higher the necessity of the BLE device2to be connected, the earlier the connection timing of the BLE device2as the BLE device2to be connected. By contrast, the lower the necessity of the BLE device2to be connected, the later the connection timing of the BLE device2to be connected.

As described above, the GW device in the embodiment determines the connection timing using the necessity of the BLE device to be connected as the threshold in the reconnection. With this GW device, the connection-type BLE device can be connected and the notification information thereof can be acquired while further reducing acquisition failure of the notification information with the high necessity that largely influences the processing of the application when the acquisition failure thereof occurs. Accordingly, service quality of service using the notification information can be further improved.

Hardware Configuration

FIG. 13is a hardware configuration diagram of the GW device. The GW device1includes a central processing unit (CPU)901, a hard disk drive (HDD)902, a memory903, a communication interface904, an input device905, and an output device906.

The input device905is a keyboard, a mouse, or the like. The output device906is a monitor or the like. An operator inputs data to the GW device1using the input device905and the output device906. The communication interface904is an interface for communicating with the center server3and the BLE devices2illustrated inFIG. 1.

The HDD902is an auxiliary storage device. The HDD902has functions of the storage devices that the notification information management unit14, the radio wave intensity management unit15, and the device management unit16illustrated inFIG. 2have, for example. The HDD902stores therein, for example, the necessity table131, the notification information table141, the radio wave intensity table151, and the device table161. The HDD902stores therein various programs including a program for implementing the functions of the data acquisition unit11, the connection controller12, the necessity management unit13, the notification information management unit14, the radio wave intensity management unit15, and the device management unit16illustrated inFIG. 2.

The CPU901is connected to the HDD902, the memory903, the communication interface904, the input device905, and the output device906via a bus. The CPU901reads various programs stored in the HDD902and develops and executes them onto the memory903. The CPU901thereby implements the functions of the data acquisition unit11, the connection controller12, the necessity management unit13, the notification information management unit14, the radio wave intensity management unit15, and the device management unit16illustrated inFIG. 2.

FIG. 14is a hardware configuration diagram of each BLE device. The BLE device2includes a CPU911, a memory912, a communication interface913, and a sensor914, as illustrated inFIG. 14.

The communication interface913is an interface for communicating with the GW device1illustrated inFIG. 1. The sensor914is a device for acquiring predetermined information. The sensor914is, for example, a temperature measuring instrument, a humidity measuring instrument, or an illuminance measuring instrument.

The memory912stores therein various programs including a program for implementing the function of transmitting the information acquired by the sensor914to the GW device1through the communication interface913.

The CPU911is connected to the memory912, the communication interface913, and the sensor914through a bus. The CPU911reads, develops, and executes the various programs from the memory912to implement the function of transmitting the information acquired by the sensor914to the GW device1through the communication interface913.

One aspect of the present invention can improve service quality.