This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2016-205030, filed on Oct. 19, 2016, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a method of handover, a communication system and a communication device.
In recent years, the Internet of Things (IoT) has been widely used. In the IoT, data to be used for services is collected using devices and sensors (hereinafter referred to as IoT devices) connected to networks including the Internet. The results of processing the data on the services may be fed back to the devices.
At a location where it is difficult to install a power supply line, an IoT device that is driven by a battery is installed. In this case, as a communication method of the IoT device, low-power-consumption Near Field Communication (for example, Bluetooth (registered trademark) Low Energy (BLE)) is used in some cases.
Distances that radio waves from IoT devices that use BLE reach are very short, and communication (IP communication) using the Internet Protocol (IP) is not executed. Thus, a device that is referred to as “gateway (GW)” hosts (or is connected via a network to) an IoT device and relays data between the IoT device and a network (such as the Internet). Related-art documents are Japanese Laid-open Patent Publication No. 2016-42645 and International Publication Pamphlet No. WO2012/114937.
According to an aspect of the invention, a method of handover from a first communication device to a second communication device, the method includes executing, by the first communication device, first communication with a terminal device using a first plurality of channels, acquiring, by the second communication device, from the first communication device, connection information indicating the first communication and first channel information indicating the first plurality of channels, specifying, by the second communication device, based on the first channel information indicating the first plurality of channels and second channel information indicating a second plurality of channels to be used by the second communication device, a third plurality of channels included in both of the first plurality of channels and the second plurality of channels, transmitting, by the second communication device, to the first communication device, third channel information indicating the third plurality of channels, switching, by the first communication device, the first communication with the terminal device from using the first plurality of channels to using the third plurality of channels based on the third channel information, and executing, by the second communication device, based on the connection information acquired in the acquiring, a handover process from the first communication to a second communication which is executed between the second communication device and the terminal device using the third plurality of channels, wherein a number of channels included in the third plurality of channels is less than one or more of a number of channels included in the first plurality of channels and a number of channels included in the second plurality of channels.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
After the start of an operation of a GW, the operation of the GW may be stopped for a maintenance task. The maintenance task for the GW is, for example, the replacement of the GW, the replacement or update of software (any or a combination of an operating system (OS), middleware, an application, and the like) installed in the GW, the installation of a driver for the addition of a new device, or the like.
When the GW is stopped, communication (data collection) with an IoT device connected to the GW is stopped, and as a result, the quality of an IoT service may be reduced. To avoid the reduction in the quality, it is considered that an alternative GW with which the GW to be maintained is to be replaced is prepared or that another GW located in the vicinity of the GW to be maintained hosts the IoT device.
To connect an IoT device that executes BLE communication to a GW, tasks that are referred to as “Passkey Entry”, “Numeric Comparison” and “Out-of-band” are performed for pairing of the IoT device and the GW, for example. “Passkey Entry” is a task of inputting, in the GW, a number displayed in the IoT device. “Numeric Comparison” is a task of checking whether the number displayed in the IoT device matches a number displayed in the GW. “Out-of-band” is a task of reading information to be used for a connection to the IoT device.
However, if the number of IoT devices hosted by the GW to be maintained is large, it takes time and effort to perform the aforementioned tasks, and a worker may erroneously perform a task. To avoid an error of the tasks, the tasks may be carefully performed and a time period for performing the tasks may increase.
Hereinafter, embodiments of a communication control method, a communication device, a communication system, and a program are described with reference to the accompanying drawings. Configurations described in the embodiments are an example, and the present disclosure is not limited to the configurations described in the embodiments.
A first embodiment describes a communication system that uses a work terminal to change a destination for hosting an IoT device that executes BLE communication. A worker uses the work terminal to change a GW that is the destination for hosting the IoT device. The BLE communication has the following characteristics.
First, the communication is executed using Frequency Hopping Spread Spectrum (FHSS). FHSS is a communication method of dividing a wide frequency band into some channels, switching the frequency of a carrier wave in a short time period, and spreading signals in the wide frequency band. In the BLE communication, 40 channels are set for each 2 MHz in a wide frequency band (2402 MHz to 2480 MHz) of 2.4 GHz, and channel switching is executed 400 times per second.
Secondly, the BLE communication uses Adaptive Frequency Hopping (AFH). In AFH, a master (GW) and a slave (device) negotiate channels to be used so that a channel causing a packet loss is not used. AFH avoids the use (interference) of a channel already used by another device.
The terminal 4 is connected to a GW 2 via a network N2. For example, a wireless local area network (LAN), a third-generation (3G) wireless communication network, a wired LAN, serial communication, or the like may be used as the network N2. The GW 2A and the GW 2B are connected to each other via a network N3. The network N3 may be the same as the network N2. In addition, a wired LAN or Wi-Fi may be used as the network N3.
The GW 2A and the GW 2B have the same configuration. The GW 2B is described as an example. The GW 2B includes a handover controller 31, an inter-GW communicator 32, a connection information manager 33, a BLE communicator 34, and a channel hopping controller (CH controller) 35. An illustration of the sections that are included in the GW 2A illustrated in
The terminal 4 includes a handover requester 41 and a GW information manager 42. The handover requester 41 transmits, to the GW 2B (alternative GW), an instruction to host the predetermined device 1 hosted by the GW 2A (current GW). The GW information manager 42 manages information such as an address related to the GW (GW 2A) to be managed.
The handover controller 31 receives the handover instruction, transmits instructions to the inter-GW communicator 32, the connection information manager 33, the CH controller 35, and the like that are included in the GW 2B, and executes a handover process. The inter-GW communicator 32 executes secure communication with the other GW (GW 2A). The connection information manager 33 manages an address identifying a connection between the device 1 and the GW 2 and an encryption key. The BLE communicator 34 establishes a BLE connection to the device 1 and executes BLE communication. The CH controller 35 manages channels to be used for channel hopping and controls a hopping pattern of the channel hopping and the timing of the channel hopping.
Operations to be executed upon the handover according to the first embodiment are as follows.
When the handover is started, the GW information manager 42 of the terminal 4 acquires an address of the alternative GW (GW 2B) by which the device 1 to be handed over is to be hosted, and an address of the current GW (GW 2A) currently hosting the device 1 (in 001 illustrated in
The handover requester 41 transmits, to the GW 2B (alternative GW), an instruction (handover instruction) to host the predetermined device 1 instead of the GW 2A (in 002 illustrated in
The GW 2B receives the handover instruction (in 003 illustrated in
The handover controller 31 determines whether or not the intensity of a radio wave from the device 1 is sufficient (or is equal to or larger than a predetermined threshold) (in 006 illustrated in
The handover controller 31 of the GW 2B transmits a request for a current available channel list to the CH controller 35 of the GW 2A via the inter GW communicator 32 (in 008 illustrated in
The handover controller 31 of the GW 2B acquires an available channel list from the CH controller 35 of the GW 2B, crosschecks the available channel list with the available channel list acquired from the GW 2A, and selects a predetermined number (for example, 3) of channels available for both GWs (in 010 illustrated in
If the three channels are selected, the handover controller 31 transmits an instruction to change available channels to the three channels selected for a hopping pattern to the GW 2A via the inter-GW communicator 32 (in 012 illustrated in
When receiving the instruction, the handover controller 31 of the GW 2A instructs the CH controller 35 to change the hopping channels (to the selected three channels). The CH controller 35 limits the hopping channels to the three channels in accordance with the instruction (in 013 illustrated in
The handover controller 31 of the GW 2B gives an instruction to start polling to the device 1 to the connection information manager 33 of the GW 2B. Thus, the BLE communicator 34 of the GW 2B uses the connection information stored in the connection information manager 33 to start the polling to the device 1 in accordance with the channel hopping controlled by the CH controller 35 (in 014 illustrated in
The handover controller 31 of the GW 2B transmits an instruction to stop the polling to the device 1 to the GW 2A (in 015 illustrated in
On the other hand, in the GW 2B, the hopping pattern of the GW 2B upon the start of the polling may deviate from the hopping pattern of the device 1. However, a transmit window is modified in a short time period and the hopping patterns are synchronized with each other. When the synchronization is completed, the handover controller 31 of the GW 2B instructs the CH controller 35 to restore the hopping pattern. Then, the hopping pattern of the device 1 is synchronously changed, and the communication may be executed using the original pattern (in 017 illustrated in
In the first embodiment, as illustrated in
Then, the deviation between the channel hopping patterns of the GWs 2A and 2B is reduced. This is due to the fact that, if the number of available channels is small, the channel hopping patterns (including the timing) are nearly the same.
In addition, the hopping pattern of the device 1 is synchronized with and changed to the hopping pattern of the GW 2A by AFH. Thus, the hopping pattern of the device 1 may be close to the hopping pattern of the GW 2B (alternative GW). According to the specifications of BLE, if the deviation of the timing of the channel hopping is small, the transmit window is automatically modified and it becomes possible to execute the communication. Thus, the device 1 may communicate with the GW 2B without being disconnected.
According to the first embodiment, the alternative GW (GW 2B) acquires, from the current. GW (GW 2A), the information (connection information: encryption key and either or both of BD address and access address) identifying the connection relationship between the device 1 and the GW 2A. In addition, the GW 2B sets the number of channels to be used to the predetermined number and causes the hopping patterns of the device 1 and the GW 2B to become nearly the same. Thus, the synchronization (reduction in the deviation between the hopping patterns) between the GW 2B and the device 1 may be achieved.
Since the GW 2B uses the same connection information as that used by the GW 2A, the device 1 may continue to execute the communication while treating the GW 2B as a base unit (GW 2A). As a result, the base unit is switched while the device 1 does not recognize the switching of the base unit (from the GW 2A to the GW 2B). Thus, a disconnection does not occur between the device 1 and the GWs 2, and paring tasks such as “Passkey Entry”, “Numeric Comparison”, and “Out-of-band” are not performed. Since the alternative GW (GW 2B) takes over the encryption key used between the device 1 and the GW 2A, the security is not reduced.
Thus, according to the first embodiment, a device 1 hosted by a GW 2 may be hosted by another GW 2 with the simple method without a reduction in the security while not becoming inaccessible. Specifically, according to the first embodiment, a load caused by a change in a connection destination of the device 1 may be reduced.
<Hardware Configurations>
Hardware configurations of the terminal 4, the GWs 2, and the device 1 are described below.
The primary storage 402 is a storage device to be used as a region in which a program is loaded, a work region of the CPU 401, a region for storing data and the program, or a buffer region. The primary storage 402 is, for example, a random access memory (RAM) or formed by combining a RAM with a read only memory (ROM).
The secondary storage 403 is a storage device to be used as a region for storing data and the program. The secondary storage 403 stores a handover management program, the GW management table T1, and the like. The handover management program is executed by the CPU 401, and the terminal 4 executes the operations illustrated in
The secondary storage 403 is, for example, a nonvolatile storage medium such as a hard disk drive (HDD), a solid state drive (SSD), a flash memory, or an electrically erasable programmable read-only memory (EEPROM). The secondary storage 403 may include portable storage media such as a disk-type storage medium and a USB memory.
The display device 404 displays information and data. The input device 405 is used to input information. The input device 405 is, for example, keys, buttons, a pointing device (mouse or the like), a touch panel, or the like. A user interface (UI) is provided by the input device 405 and the display device 404. The communication IF 406 is a circuit that executes a communication process. For example, a network interface card (NIC) may be used as the communication IF 406.
The CPU 401 loads programs (including an operating system and the handover management program) stored in a memory (any or a combination of the primary storage and the secondary storage) and executes the programs. By executing the programs, the CPU 401 of the terminal 4 operates as the GW information manager 42 and the handover requester 41 and executes the operations illustrated in
The CPU 201, the primary storage 202, the secondary storage 203, the display device 204, the input device 205, and the communication IF 207 have functions that are the same as or similar to those included in the CPU 401, the primary storage 402, the secondary storage 403, the display device 404, the input device 405, and the communication IF 406. The BLE IF 206 is a BLE communication circuit.
The secondary storage 203 stores a handover control program, a BLE communication driver, and the like. The handover control program and the BLE communication driver are executed by the CPU 201. By executing the handover control program and the BLE communication driver, the CPU 201 operates as the handover controller 31, the inter-GW communicator 32, the connection information manager 33, the BLE communicator 34, and the channel hopping controller (CH controller) 35 and executes the operations illustrated in
The IoT device 1 includes a CPU 101, primary storage 102, secondary storage 103, a display device 104, an input device 105, and a BLE IF 106 that are connected to each other via a bus. The CPU 101, the primary storage 102, the secondary storage 103, the display device 104, and the input device 105 have functions that are the same as or similar to those included in the those included in the CPU 401, the primary storage 402, the secondary storage 403, the display device 404, and the input device 405. The BLE IF 106 is a BLE communication circuit.
The secondary storage 103 stores a program to be executed as the IoT device, a BLE communication driver, and the like. The program and the BLE communication driver are executed by the CPU 101. Thus, the device 1 acquires desired data (for example, data detected by a sensor (not illustrated)) and transmits the acquired data to a GW 2 (base unit).
Each of the primary storage 402, the primary storage 202, the primary storage 102, the secondary storage 403, the secondary storage 203, and the secondary storage 103 is an example of a “storage device”, a “storage medium”, a “memory”, or a “storage unit”. Primary storage and secondary storage are referred to as “memory” in some cases.
Each of the CPU 401, the CPU 201, and the CPU 101 is an example of a “control device”, a “control unit”, a “controller”, or a “processor”. Each of the CPUs may be referred to as microprocessor (MPU) or processor. Each of the CPUs is not limited to a single processor and may be a multi-processor. In addition, a single CPU connected to a single socket may have a multi-core configuration. A part or all of processes to be executed by the CPUs may be executed by a processor other than a CPU or by, for example, a dedicated processor such as a digital signal processor (DSP), a graphics processing unit (GPU), a numerical processor, a vector processor, or an image processor.
In addition, a part or all of the processes to be executed by the CPUs may be executed by an integrated circuit (IC) or another digital circuit. Furthermore, the integrated circuit or the digital circuit may include an analog circuit. The integrated circuit includes an LSI, an application specific integrated circuit (ASIC), and a programmable logic device (PLD). The PLD includes, for example, a field-programmable gate array (FPGA). A part or all of the processes to be executed by the CPUs may be executed by a combination of a processor and the integrated circuit. The combination is referred to as microcontroller (MCU), system-on-chip (SoC), system LSI, chip set, or the like, for example.
Although the first embodiment describes the example in which the handover instruction is transmitted by the terminal 4 to the alternative GW 2 (GW 2B), the handover instruction may be transmitted to the current GW 2 (GW 2A). In this case, the GW 2A communicates with the GW 2B and transmits the connection information to the GW 2B. Processes to be executed after the transmission are the same as those illustrated in
A second embodiment is described below. Since the second embodiment describes configurations common to those described in the first embodiment, a description of common features is omitted and different features are mainly described. In the first embodiment, the terminal 4 is used to transmit, to the GW 2B, the handover instruction including the information specifying the device 1 to be handed over and the GW 2B by which the device 1 is to be hosted.
In the second embodiment, processing loads of the GWs 2 are collected by a GW managing server. The GW managing server determines a hosting destination for hosting a device 1 so that the processing loads of the GWs 2 are equal to each other, and the GW managing server causes the device 1 to be automatically handed over. This may avoid delays of processes (data collection and transmission) of IoT device.
A general-purpose or dedicated computer (information processing device) having the constituent elements illustrated in
In addition, each of the GWs 2 includes a GW state notifier 36. The CPU 201 of each of the GWs 2 may operate as the GW state notifier 36 by executing the program. The GW state notifier 36 regularly measures a processing load of the GW 2 and transmits information of the processing load to the server 5. In addition, the GW state notifier 36 executes a process of transmitting, to the server 5, the intensity of a radio wave from a device 1 connected to another GW, and the like.
Specifically, when the certain time period elapses, the GW state notifier 36 (CPU 201) measures a processing load of the target GW 2. In addition, the GW state notifier 36 acquires the result of measuring the intensity of a BLE radio wave (radio wave from a device 1 connected to another GW) (in 102 illustrated in
The server 5 sends the information received from the GW 2 and indicating the processing load and the intensity of the radio wave to the GW information manager 52. In this case, the server 5 receives the information indicating the processing load and the intensity of the radio wave (in 104 illustrated in
The GW information manager 52 manages the GW information management table T2.
A BLE packet transmitted by an IoT device does not include a BD address and includes an access address. An IoT device to be handed over is hosted by any of the GWs, and the GW manages an association, relationship between a BD address of the IoT device and an access address. Thus, the BD address may be identified from the access address. In other words, the server 5 stores, in the table T2, the BD address obtained based on information stored in the memory of the GW and indicating the association relationship between the BD address and the access address.
The GW information manager 52 (CPU 401, hereinafter also referred to as “manager 52”) uses the information indicating the processing load and the intensity of the radio wave to update the table T2 (in 105 illustrated in
The manager 52 determines whether or not the processing load is larger than a threshold (stored in the memory in advance) (in 106 illustrated in
In process 107, the manager 52 selects a device 1 to be handed over and GWs 2 (GWs 2 corresponding to the GW 2B), each of which may serve as an alternative GW. For example, if a processing load of a GW 2 having an identifier “gw #1” is larger than the threshold, the manager 52 extracts a GW 2 that has measured the intensities, equal to or larger than a certain value, of radio waves from devices 1 hosted by the GW 2 having the identifier “gw #1”.
The manager 52 extracts, as an alternative GW, a GW 2 (for example, a GW 2 with the lowest processing load) with a low processing load from the GWs extracted in 107 (in 108 illustrated in
The manager 52 determines the device 1 selected in 109 as a device 1 to be handed over and determines the GW extracted in 108 as the alternative GW. The handover requester 51 specifies the determined device 1 and the current GW (GW 2 with a processing load larger than the threshold) and instructs the alternative GW to execute the handover (in 110 illustrated in
Effects that are the same as or similar to those described in the first embodiment may be obtained in the second embodiment. In addition, according to the second embodiment if the state of a GW 2 satisfies a predetermined requirement (for example, if a processing load is equal to or larger than the threshold), the GW 2 is treated as a current. GW, an alternative GW by which a device hosted by the current GW is to be hosted is selected, and a handover instruction is transmitted to the alternative GW. Thus, the handover instruction is automatically transmitted to the alternative GW 2. Specifically, an operation of the terminal 4 is not executed.
In the description of the example of the operations according to the second embodiment, whether or not the handover is to be executed is determined based on the processing load of the GW 2. Process 106 (of determining whether or not the processing load is larger than the threshold) is an example of the determination of “whether or not a predetermined requirement is satisfied”. If the intensity of a radio wave of a hosted device 1 is smaller than the threshold, and a packet error rate increases, it may be determined that the handover is to be executed. Specifically, process 107 illustrated in
In addition, process 107 illustrated in
The second embodiment exemplifies the configuration of the GW managing server 5 independent of the GWs 2. Each of the GWs 2, however, may have the functions of the GW managing server 5 (or each of the communication devices may include the managing device). While the GWs may collaborate with each other, a device 1 to be handed over and an alternative GW may be determined.
A third embodiment is described below. Since the third embodiment describes configurations common to those described in the first and second embodiments, a description of common features is omitted and different features are mainly described. The CPU 101 of the device 1 executes an application and regularly or periodically collects predetermined data (for example, sensor data or data other than sensor data).
In the communication systems according to the first and second embodiments, an application server (app server) is connected to a GW 2 via the network N2, for example. The app server regularly accesses the device 1 via the GW 2 and collects data from the device 1. In the first and second embodiments, the handover is executed without consideration of the data collection by the app server.
Thus, the timing of the access to the device 1 may overlap the time when the handover is executed, and the data collection may not be appropriately executed. In the third embodiment, the GW 2 executes control to execute the handover in consideration of an operation of the app server so that the timing of the handover does not affect the data collection.
In a memory (any or a combination of the primary storage 402 and the secondary storage 403) of the server 6, programs including an application 61 are stored. The CPU 401 of the server 6 executes the application 61. The application 61 is a program to be executed to collect data acquired by the device 1. By executing the application 61, the server 6 accesses the device 1 via the GW 2 and collects the data acquired by the device 1 periodically, or regularly, or in response to the occurrence of an event. The CPU 401 operates as the application 61.
The GW 2 includes a data acquiring section 37 (acquiring section 37) and an app access monitor 38 (monitor 38), as well as the configuration (illustrated in
The acquiring section 37 receives a data acquisition request from the server 6. The GW 2 acquires data from the device 1 via the BLE communicator 34 and transmits the data to the server 6 (application 61).
The monitor 38 collects, from the application 61, information indicating intervals (access cycles) at which a request reaches the data acquiring section 37 from the application 61. The monitor 38 estimates time until the next access timing (time when the request reaches the data acquiring section 37). If multiple applications 61 use the same device 1, the next access timing is estimated based on access cycles of the applications 61.
In process 202, the handover requester 51 (CPU 401) of the server 5 transmits, to the monitor 38 of the current GW, an inquiry about the timing of the handover of the device 1. In the current. GW that has received the inquiry, the handover controller 31 reads, from the memory of the current GW, a log of access to the device 1 (in 203), for example.
In process 204, the monitor 38 estimates an access pattern (access timing or time when access is executed one or more times) within a certain time period (of, for example, 3 minutes) after the current time based on access intervals at which an access source (for example, application 61) executes access.
In process 205, the monitor 38 determines whether or not all intervals between the access timing of the access pattern are smaller than a threshold. If the monitor 38 determines that all the intervals are smaller than the threshold, the process proceeds to 207. If not all the intervals are smaller than the threshold, the process proceeds to 206.
In process 206, the server 5 receives, from the monitor 38 of the current GW, a message indicating that appropriate handover timing has not been found, and determines that the handover has failed. Then, the server 5 terminates the process.
In process 207, the monitor 38 transmits, to the server 5, information indicating the most recent access timing (an example of “the timing of access to the device 1 via the first communication device 2A within a predetermined time period”) among access executed at intervals larger than the predetermined threshold.
In process 208, the server 5 determines whether or not predetermined time (the most recent access timing) has elapsed. If the server 5 determines that the predetermined time has not elapsed, the server 5 stands by for a certain time period (in 209), and the process returns to 208. If the server 5 determines that the predetermined time has elapsed, the handover requester 51 of the server 5 transmits an instruction (handover instruction) to start the handover to the alternative GW.
The alternative GW that has received the handover instruction executes processes that are the same as or similar to processes 003 and later described in the first embodiment (a detailed description thereof is omitted to avoid duplication). In this manner, in the third embodiment, the server 5 transmits the aforementioned instruction to the second communication device after the timing of access to the device 1 (first device 1) via the first communication device (2A).
In the third embodiment, the server 5 as the managing device transmits the handover instruction to the alternative GW (GW 2B: an example of the second communication device) after the timing of access to the device 1 (first device 1) via the current GW (GW 2A: an example of the first communication device).
According to the third embodiment, before the start of the handover, the handover requester 51 of the server 5 transmits, to the monitor 38 of the current GW, an inquiry about the access timing of the application 61 and transmits the handover instruction to the alternative GW after the access timing. Specifically, the handover requester 51 delays the handover instruction and avoids an interruption caused by access of the application 61. Thus, the data collection is appropriately executed.
A fourth embodiment is described below. Since the fourth embodiment describes configurations common to those described in the first to third embodiments, a description of common features is omitted and different features are mainly described. The first to third embodiments assume the handover of a single device 1.
However, if a GW is replaced, all multiple devices 1 hosted by the GW to be replaced are handed over. In this case, the handover is executed on each of the multiple devices 1. The order in which the multiple devices 1 are handed over may affect the efficiency of a task of replacing the GW 2 or the data collection. In the fourth embodiment, the order in which the multiple devices 1 are handed over is determined based on communication states of the devices 1 and the usage state of the application 61.
When receiving an instruction (handover instruction) to execute migration from the current GW to the alternative GW, the scheduler 53 causes all devices 1 hosted by the current GW to be hosted by the alternative G. In this case, the scheduler 53 references communication states of the devices 1 and the usage state of the application 61.
In this case, a device 1 that is in a poor communication state and to be accessed by the application 61 after the elapse of a sufficient time period is selected on a priority basis and handed over. This is due to the fact that, if the communication state of a device 1 is poor, retransmission may be executed many times, the response performance may be reduced, and the communication of another device 1 may be inhibited.
In process 302, the scheduler 53 acquires communication states of devices 1 hosted by the current GW and the usage state of the application 61. The communication states may be calculated based on the intensities of radio waves, packet error rates, or the like, for example. A time period from the current time to the next access timing may be used as the usage state. Data indicating the communication states and the usage state is collected by and stored in the current GW.
In process 303, the scheduler 53 uses the communication states of the devices 1 and the usage state of the application 61 to select,as a device to be handed over from among the multiple devices 1, a device 1 that is in a poor communication state and to be accessed next after the elapse of a long time period.
For example, as a device 1 in a poor communication state, a device 1 in the poorest communication state is selected from among the multiple devices 1. However, as the device 1 in the poor communication state, a device other than the device 1 in the poorest communication state may be selected. In addition, for example, as a device 1 to be accessed after the elapse of a long time period, a device 1 to be accessed after the elapse of the longest waiting time period is selected from among the multiple devices 1. However, a device 1 other than the device 1 to be accessed after the elapse of the longest waiting time period may be selected.
In process 304, the handover requester 51 transmits, to the alternative GW, an instruction to hand over the device 1 selected in 303. Thus, processes 003 and later that are illustrated in
In process 306, the server 5 determines whether or not the handover has been successful. If the handover has been successful, the process returns to 301. If the handover has not been successful, the process is terminated.
According to the fourth embodiment, the scheduler 53 (CPU 201) determines a device that is in a poor communication state and is to be accessed after the elapse of a long time period (long time length) via the GW 2B, as a target device (first device 1) among two or more devices 1 hosted by and connected to the GW 2A or the connection destination to be changed.
According to the fourth embodiment, the scheduler 53 selects, from among multiple devices 1, a device 1 that is in a poor communication state (or to be handed over with high urgency) and is to be accessed next after the elapse of a long time period (or to be accessed by the application 61 next after the elapse of a sufficient time period). Thus, devices 1 are handed over in the order from a device in a communication environment considered to be changed, and the devices 1 may execute appropriate data collection.
The case where the communication between the devices 1 (devices or extensions) and the GWs 2 (relay devices or base units) is BLE communication is described above. However, a radio communication standard that uses FHSS and AFH is applicable to a communication system in which communication is executed according to a communication standard other than BLE. Two or more of the configurations described in the first to fourth embodiments may be combined.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2016-205030 | Oct 2016 | JP | national |