Device and method for distributing software update for communication devices

A distribution device includes an information acquisition part configured to acquire the device identification information to identify a communication device and the base-station identification information to identify a base station attributed to the communication device among a plurality of base stations over a wireless communication network from the communication device, a determination part configured to determine a sequence of distributing software to a plurality of communication devices connectible to the base station based on the device identification information and the base-station identification information with respect to each base station, and a distribution part configured to distribute the software from the base station to a threshold number or less of communication devices according to the sequence determined by the determination part.

TECHNICAL FIELD

The present invention relates to a distribution device and a distribution method for distributing software to communication devices.

The present application claims the benefit of priority on Japanese Patent Application No. 2017-167043 filed on Aug. 31, 2017, the subject matter of which is hereby incorporated herein by reference.

BACKGROUND ART

Various devices configured to distribute software to multiple communication devices have been known. Patent Document 1 discloses a technology of a distribution device configured to carry out broadcast transmission of software to multiple communication devices.

CITATION LIST

Patent Literature Document

Patent Document 1: Japanese Patent Application Publication No. 2010-199955

SUMMARY OF INVENTION

Technical Problem

Recently, due to the propagation of the IoT (Internet of Things) technology, IoT devices configured to receive or transmit data with external servers through networks have been rapidly increasing in number. Since IoT devices should be reduced in power consumption for communication, IoT devices may need to use wireless communication lines capable of transmitting small amounts of data at lower communication speed than other communication devices mounted on personal computers, smartphones, and the like.

When deficiencies are revealed in software executed by IoT devices, product manufacturers or communication carriers should provide the updating software to eliminate deficiencies of software. Using the technology of FOTA (Firmware Over the Air), for example, it is possible to automatically update the software of IoT devices without human hands. Using the conventional technology, it is possible to distribute the updating software to multiple IoT devices. However, it takes a long time to distribute the updating software having a larger data size than an amount of data to be received or transmitted with IoT devices in normal operations. In this case, it is possible to transmit the updating software to numerous IoT devices in a broadcast manner, however, which may suppress communication bands of base stations so as to affect communication devices or other IoT devices.

The present invention is made in consideration of the aforementioned problem, and therefore the present invention aims to update the software with communication devices serving as updated subjects without affecting other communication devices connected to base stations.

Solution to Problem

In a first aspect of the present invention, a distribution device includes an information acquisition part configured to acquire the device identification information to identify a communication device and the base-station identification information to identify a base station attributed to the communication device among a plurality of base stations over a wireless communication network from the communication device; a determination part configured to determine a sequence of distributing software to a plurality of communication devices connectible to the base station based on the device identification information and the base-station identification information with respect to each base station, and a distribution part configured to distribute the software from the base station to a threshold number or less of communication devices according to the sequence determined by the determination part.

Upon a completion of distributing the software to one or more communication devices among a plurality of communication devices while distributing the software to a prescribed number equivalent to the threshold number of the communication devices, the distribution part may start to distribute the software to one or more communication devices selected from among a plurality of communication devices according to the sequence.

The distribution part may determine the threshold number based on the size of the software. The distribution part may determine the threshold number based on a time to distribute the software. The distribution part may determine the threshold number based on the type of the base station.

When the distribution part is unable to start distributing the software to the communication device before the predetermined time lapses after acquisition of the base-station identification information from the communication device, the information acquisition part may reacquire the base-station identification information of the base station attributed to the communication device.

When the first base-station identification information previously acquired by the information acquisition part differs from the second base-station identification information reacquired by the information acquisition part, the determination part may redetermine the sequence with respect to a first base station which is attributed to the communication device when the information acquisition part acquires the first base-station identification information and a second base station which is attributed to the communication device when the information acquisition part acquires the second base-station identification information.

When the communication device is a mobile communication device, the information acquisition part may reacquire the base-station identification information of the base station attributed to the communication device the predetermined time before distribution of the software by the distribution part.

The information acquisition part may determine the predetermined time based on the number of mobile communication devices connectible to the base station.

The determination part may determine the sequence at an earlier timing when a ratio of mobile communication devices to a plurality of communication devices connectible to the base station is less than a threshold value rather than when the ratio of mobile communication devices is equal to or above the threshold value.

The determination part may determine the sequence after a ready to distribute the software when the ratio of mobile communication devices to a plurality of communication devices connectible to the base station is equal to or above the threshold value.

When a predetermined number or more of communication devices serving as software-distributed subjects is located in a predetermined area covering a plurality of base stations, the distribution part may distribute the software from a plurality of base stations to the threshold number or less of communication devices according to the sequence determined by the determination part.

The distribution part may distribute the software at a timing at which the communication device does not execute a predetermined application.

In a second aspect of the present invention, a distribution method includes the steps of: acquiring the device identification information to identify a communication device and the base-station identification information to identify a base station attributed to the communication device among a plurality of base stations over a mobile telephone network from the communication device; determining a sequence of distributing software to a plurality of communication devices connectible to the base station based on the device identification information and the base-station identification information with respect to each base station; and distributing the software to a threshold number or less of communication devices correlated to the base station according to the determined sequence.

Advantageous Effects of Invention

According to the present invention, it is possible to provide advantageous effects of updating the software with communication devices serving as updated subjects without affecting other communication devices connected to base stations.

DESCRIPTION OF EMBODIMENTS

First Embodiment

Overview of Software Distribution Method

FIG. 1is a schematic diagram used to explain the overview of a software distribution method according to the first embodiment.FIG. 1shows a distribution device3configured to receive or transmit data with communication devices1via base stations2.

The communication device1is configured of a device to receive or transmit data with a server or another communication device1, e.g. an IoT device or a device conforming to the M2M (Machine to Machine), i.e. a machine-to-machine communication allowing multiple devices to mutually communicate with each other without human hands. For example, the communication device1is configured of a smart meter including a communication module to measure power usage rates or home appliances which can be operated via the Internet. The present embodiment refers to the communication device1as a fixed device which may not be moved from its setup location.

The base station2plays a role as a repeater to repeat communication between the communication device1and the distribution device3. For example, wireless communication networks refer to mobile-phone networks or LPWA (Low Power Wide Area) used for communication with IoT devices, specifically, which may be NB-IoT (Narrow Band-IoT), LoRaWAN (a registered trademark), SIGFOX (a registered trademark), or the like.

The distribution device3is a FOTA server to control software distribution. For example, the distribution device3is configured of a PC (Personal Computer). Herein, the distribution device3is configured to distribute software including updating software to update the installed software of the communication device1and additional software to add functions to be executed by the communication device1. The present specification mainly refers to the updating software as the software distributed by the distribution device3.

The distribution device3may be divided into a provider server configured to provide the updating software and a FOTA server configured to control the distribution of the updating software. In this case, a communication carrier may set up the FOTA server while a communication carrier or a manufacture of each communication device1may set up the provider server. The present specification refers to the distribution device3as a server managed by a communication carrier, i.e. a single server sharing the functions of the provider server and the FOTA server.

When the distribution server3shown inFIG. 1is about to distribute the updating software, the distribution device3transmits a response request to each of multiple communication devices1which are stored in advance as distributed subjects. Upon receiving the response request, the communication device1transmits to the distribution device3a communication-device ID (Identification) representing the device-identification information of the communication device1and a base-station ID representing the identification information of the base station2which the communication device1belongs to among multiple communication devices1over wireless communication networks.

In this connection, the concurrent connection count for each type of wireless communication line is set to the base station2. For this reason, when the concurrent connection count of the PLWA, i.e. one wireless communication line attributed to the base station2, reaches its upper-limit value due to the distribution of the updating software, the communication device1conducting communication in its normal operation cannot be connected to the LPWA. Upon receiving the communication-device ID and the base-station ID from the communication device1, the distribution device3determines a sequence of distributing the updating software to the communication device1for each base station2based on the communication-device ID and the base-station ID, according to which the base station2distributes the updating software to the prescribed number of communication devices1which is equal to or less than a threshold number of communication devices1.

It is assumed that the threshold number of communication devices1, which a single base station2can distribute the updating software to, is set to “5” in an ascending order of the communication-device IDs of the communication devices1. The threshold number used to distribute the updating software indicates the number of communication devices1to which the base station2can concurrently distribute the updating software using the LPWA. According to the LPWA, numerous devices may share the limited radio communication bands, wherein the communication device1is wirelessly connected to the base station2during a data transmission period alone. In this connection, the threshold number is equal to the number of radio channels which can be used by the base station2to distribute the updating software.

Assuming that the threshold number is five, the distribution device3shown inFIG. 1may start to concurrently distribute the updating software from the base station2to five communication devices1having the communication-device IDs “0001” through “0007” among all the communication devices1attributed to the base station2having the base-station ID “1001” or to distribute the updating software by changing its distribution-start time according to the order of communication-device IDs. Upon completion of receiving the updating software, the communication device1notifies the distribution device3of the resultant information representing the completion of reception. Upon receiving the resultant information representing the completion of receiving the updating software from the communication device1, the distribution device3determines a completion of distributing the updating software to the communication device1.

Upon receiving the resultant information representing the completion of receiving the updating software from the communication device1, the distribution device3distributes the updating software to other communication devices1to which the updating software has not been distributed. Upon receiving the resultant information representing a completion of receiving the updating software from a single communication device1, for example, the distribution device3distributes the updating software from the base station2to the communication device1having the communication-device ID “0008” serving as a next order of priority among other communication devices1to which the updating software has not been distributed. The distribution device3controls other base stations2such as the base station2having the base-station ID “1002” similar to the base station2having the base-station ID “1001” to distribute the updating software to the prescribed number of communication devices1without exceeding the threshold number of communication devices1.

As described above, the distribution device3is configured to control the number of base station devices2to which each base station2may distribute the updating software, and therefore it is possible to update the software with numerous communication devices1serving as updated subjects without affecting other communication devices connected to the base station2. Hereinafter, the details of the distribution device3will be described below.

Configuration of Distribution Device3

FIG. 2is a block diagram showing the configuration of the distribution device3according to the first embodiment. The distribution device3includes a communication part31, a storage32, and a controller33.

The communication part31includes a wireless communication controller configured to receive or transmit data with the communication device1via the base station2.

For example, the storage32may be a ROM (Read-Only Memory), a RAM (Random-Access Memory), or storage media such as hard disks. The storage32is configured to store various types of programs executed by the controller33. The storage32stores the updating software and a distributed-subject list indicating a list of communication-device IDs identifying the communication devices1serving as distributed subjects of updating software. In addition, the storage32stores the communication-device IDs of the communication devices1, to which the updating software be distributed, on a distribution-status data base (hereinafter, simply referred to as a distribution-status DB (Database)) while storing the communication-device IDs of the communication devices1, to which the updating software has not been distributed yet, on a distribution-queue database (hereinafter, simply referred to as a distribution-queue DB).

FIG. 3shows a table describing the configuration of the distribution-status DB according to the first embodiment. As shown inFIG. 3, the distribution-status DB is configured to store a correlation between the base-station ID, the communication-device ID of the communication device1attributed to the base-station ID, and the distribution status, i.e. the distribution status of the updating software. In the distribution-status DB, the communication device1may have records indicating whether the updating software can be distributed to the communication device1or whether the updating software is being distributed to the communication device L Herein, records are made up of combinations of data representing the base-station ID, the communication-device ID, and the distribution status as well as combination of data representing the communication-device ID and the base-station ID, which will be described later in conjunction withFIG. 4.

For example, the distribution status may indicate “UNEXECUTED”, “SUCCESS”, or “FAILURE”. Herein, “UNEXECUTED” indicates that the updating software can be distributed to the communication device1or that the updating software is being distributed to the communication device1. In addition, “SUCCESS” indicates a completion of distributing the updating software. That is, it indicates that the communication device1completes receiving the updating software. Moreover, “FAILURE” indicates an incompletion of distributing the updating software, i.e. it indicates that the communication device1fails to complete reception of the updating software. The distribution-status DB may be configured of a single DB intermingling multiple base-station IDs or a single DB for each base-station ID. The present embodiment refers to a single distribution-status DB intermingling multiple base-station IDs.

FIG. 4shows a table describing the configuration of the distribution-queue DB according to the first embodiment. As shown inFIG. 4, the distribution-queue DB is configured to store a correlation between the communication-device ID and the base-station ID of the base station2attributed to the communication device1having the communication-device ID. In the distribution-queue DB, the communication device1may have records indicating that the updating software1has not been distributed thereto yet. In an initial condition, the distribution-queue DB stores the communication-device IDs described in the distribution-subject list as well as the base-station IDs as blanks, and therefore the distribution-queue DB may store the base-station ID upon acquiring the base-station ID from the communication device1with an information acquisition part331which will be described later.

Returning toFIG. 2, for example, the controller33is configured of a CPU (Central Processing Unit). The controller33is configured to execute programs stored on the storage32and to thereby control the function of the distribution device3. By executing programs, the controller33may achieve the functions of an information acquisition part331, a determination part332, and a distribution part333.

The information acquisition part331is configured to receive or transmit data with the communication device1via the communication part31. Specifically, the information acquisition part331transmits a response request to the communication device1via the communication part31according to the list information of communication-device IDs stored on the storage32. In addition, the information acquisition part331acquires from the communication device1via the communication part31its communication-device ID and a base-station ID to identify the base station2attributed to the communication device1among multiple base stations2over wireless communication networks.

The information acquisition part331is configured to acquire the resultant information as to whether or not the communication device1completes reception of the updating software distributed thereto. The information acquisition part331applies to the determination part332the communication-device ID and the base-station ID acquired from the communication device1as well as the resultant information.

The determination part332is configured to determine a sequence of distributing the software to multiple communication devices1attributed to each base station2based on the communication-device IDs and the base-station ID. Based on the communication-device ID and the base-station ID input from the information acquisition part331, for example, the determination part332determines a sequence of communication devices1for each base station2to which the updating software be distributed, and then the determination part332resorts the order of records stored on the distribution-queue DB according to the determined sequence. The sequence of distributing software may be ascribed to the order of communication-device IDs or the order of dates to acquire data from the communication devices1. The present embodiment sets the sequence of distributing software to an ascending order of communication-device IDs.

The determination part332may update the distribution-status DB according to the resultant information input thereto from the information acquisition part331. Specifically, the determination part332updates the distribution status of the communication-device ID included in the resultant information among records stored on the distribution-status DB according to the resultant information input thereto from the information acquisition part331. In this connection, the determination part332sets the distribution status to “SUCCESS” when the resultant information indicates a completion of receiving the updating software, while the determination part332sets the distribution status to “FAILURE” when the resultant information indicates an incompletion of receiving the updating software.

The distribution part333distributes the updating software from the base station2to the prescribed number of communication devices1, which is equal to or less than the threshold number, according to the sequence determined by the determination part333. Specifically, the distribution part33extracts the prescribed number of records, which is equal to or less than the threshold number, from the distribution-queue DB, which stores records according to the sequence determined by the determination part332, with respect to each of multiple base stations2, thus storing the extracted records on the distribution-status DB according to the sequence determined by the determination part332. Next, the distribution part333distributes the updating software stored on the storage32from the base station2to the communication devices1in the order of records stored on the distribution-status DB.

When the threshold number is set to five with respect to a single base station2, the distribution part333extracts an upper-order of five records for each of multiple base stations2among the records stored on the distribution-queue DB according to the sequence determined by the determination part332, thus storing the extracted recodes on the distribution-status DB. Next, the distribution part333distributes the updating software from the base station2to the communication devices1in an order of records stored on the distribution-status DB.

The distribution part333may determine the threshold number based on the size of the updating software. For example, it is possible to reduce the threshold number in units of 100 kilo-bytes such that the threshold number ascribed to a single base station2would be reduced to four by decreasing one when the size of the updating software exceeds 100 kilo-bytes or the threshold number would be reduced to three by decreasing two when the size of the updating software exceeds 200 kilo-bytes. In this case, when the size of the updating software is 200 kilo-bytes, the distribution part333distributes the updating software from the base station2to an upper-order of three communication devices1for each of multiple base stations according to the sequence determined by the determination part332. Accordingly, even when the updating software has a larger size, it is possible to prevent the communication capacity of the base station from being tightened.

The distribution part333may determine the threshold number based on the time to distribute the updating software. For example, the distribution part333may reduce the threshold number of communication devices1, to which the updating software be distributed, in a time zone causing a larger amount of communication in the LPWA, while the distribution part333may increase the threshold number in another time zone causing a smaller amount communication. Accordingly, it is possible to prevent the base station2from being affected in communication due to the distribution of the updating software.

The distribution part333may determine the threshold number based on the type of the base station2. When the concurrent connection count differs according the type of the base station2, for example, the distribution part333may determine the threshold number based on the type of the base station. Accordingly, it is possible to prevent the base station2from being affected in communication due to the distribution of the updating software.

The distribution part333may distribute the updating software at the timing at which the communication device1does not execute a predetermined application. When the communication device1does not execute a predetermined application in a late-night time zone, for example, the distribution part333may distribute the updating software at the timing at which the communication device1does not execute the predetermined application, i.e. a late-night time zone.

Upon acquiring the operation time information representing an operation time of an application from an unillustrated application server configured to manage the communication device1, for example, the distribution part333may determine whether or not the communication device1is executing a predetermined application. In this case, the distribution part333may distribute the updating software at the prescribed timing other than the operation time indicated by the operation time information which the information acquisition part331acquires from the application server. Alternatively, the distribution part333may transmit a response request to the communication device1so as to determine whether or not the communication device1is executing an application based on the response information which is received from the communication device1in reply to the response request and which include the operation information representing whether or not the communication device1is executing an application. In this case, the distribution part333does not distribute the updating software when the operation information included in the response information indicates an execution of an application in progress. The distribution part333may distribute the updating software when the operation information indicates a nonexecution of an application. Accordingly, it is possible to prevent the communication device1conducting its normal operation from being affected due to the distribution of the updating software.

Upon a completion of distributing the updating software to one or more communication devices1among multiple communication devices1while distributing the updating software to the prescribed number of communication devices1corresponding to the threshold number of communication devices1, the distribution part333starts to distribute the updating software to one or more communication devices1, which are selected from among multiple communication devices1, according to the sequence determined by the determination part332. When the threshold number indicates five communication devices1attributed to a single base station2, for example, it is assumed that the distribution part333may complete distributing the updating software to two communication devices1attributed to a certain base station2.

In this case, the distribution part333may firstly extract an upper-order of two records ascribed to the base station2from the records stored on the distribution-queue DB according to the sequence determined by the determination part332and thereby store the extracted records on the distribution-status DB. Next, the distribution part333may distribute the updating software from the base station2to two communication devices1corresponding to the extracted records in the order of the records stored on the distribution-status DB. Accordingly, irrespective of the existence of numerous communication devices1serving as updated subjects, it is possible to sequentially update the software with all the communication devices1without affecting the base station2conducting other communications.

The distribution part333is configured to update the distribution-status DB and the distribution-queue DB based on the distribution status of the distribution-status DB. Specifically, the distribution part333may delete the record of the communication device1from the distribution-status DB when the distribution status is “SUCCESS”, i.e. when the information acquisition part331acquires the resultant information from the communication device1indicating a completion of receiving the updating software. On the other hand, the distribution part333may extract the record of the communication device1from the distribution-status DB to thereby store the extracted record on the distribution-queue DB when the distribution status is “FAILURE”, i.e. when the information acquisition part331acquires the resultant information from the communication device1indicating an incompletion of receiving the updating software. When the distribution status is “FAILURE”, the distribution part333may store the record extracted from the distribution-status DB at the last end of a queue of the distribution-queue DB or the distribution part333may store the extracted record on the distribution-queue DB in an ascending order of communication-device IDs. When the distribution-status DB has no records, i.e. when the distribution-status DB shows nonexistence of communication devices1serving as distributed subjects, the distribution part333may determine a completion of distributing the updating software to all the communication devices1serving as distributed subjects.

Process of Distribution Device3

Next, a flow of processing executed by the distribution device3will be described below.FIG. 5is a flowchart showing a flow of processing executed by the distribution device3according to the first embodiment. The flowchart starts its steps when triggered by a manager of the distribution device3to store the updating software on the storage32.

The information acquisition part331transmits a response request to the communication device1via the communication part31according to the list information of communication-device IDs stored on the storage32(S1). Responsive to the response information transmitted by each of the communication devices1receiving the response request, the information acquisition part331acquires the base-station ID included in the response information via the communication part31(S2). Specifically, the information acquisition part331acquires the communication-device ID and the base-station ID from the communication device1. The information acquisition part331acquires and inputs the communication-device ID and the base-station ID to the determination part332.

The determination part332determines a sequence of communication devices1, to which the updating software be distributed, based on the communication-device ID and the base-station ID input by the information acquisition part331(S3).FIG. 6show tables used to explain a distribution process according to the first embodiment. The determination part332resorts a sequence of communication devices1in an ascending order of communication-device IDs and thereby stores the resorted sequence on the distribution-queue DB of version 1 shown inFIG. 6such that the communication-device IDs are each correlated to the base-station ID.

Returning toFIG. 5, the distribution part333distributes the updating software from the base station2to the prescribed number of communication devices1, which is equal to or less than the threshold number, according to the sequence determined by the determination part332(S4). When the threshold number indicates five communication devices1attributed to a single base station2, for example, the distribution part333firstly extracts an upper-order of five records ascribed to the base-station ID “1001” from the distribution-queue DB of version 1 shown inFIG. 6so as to store the extracted records on the distribution-status DB of version 1. The distribution part333deletes the extracted records from the distribution-status DB of version 1 and then stores the record of the communication-device ID “0008”, which indicates the communication device1exceeding the threshold number, at the last end of a queue of the distribution-queue DB of version 2. Next, the distribution part333starts to distribute the updating software from the base station2to the communication devices1having the records stored on the distribution-status DB of version 1. The distribution part333carries out the same process for other communication devices1attributed to the other base station2.

Returning toFIG. 5, when the communication device1having received the updating software distributed thereto transmits the resultant information as to whether or not reception is completed, the determination part332determines whether or not to successfully distribute the updating software based on the resultant information (S5). Specifically, the information acquisition part331firstly acquires the resultant information from the communication device1to input the resultant information to the determination part332. Next, the determination part332updates the distribution-status DB based on the resultant information input by the information acquisition part331.

FIG. 7shows tables used to explain a distribution process according to the first embodiment. When the communication device1having the communication-device ID “0001” transmits the resultant information indicating a completion of reception, for example, the determination part332updates the distribution status of the communication-device ID “0001” to “SUCCESS” with the distribution-status DB of version 2.

On the other hand, when the communication device1having the communication-device ID “0007” transmits the resultant information indicating an incompletion of reception, the determination part332updates the distribution status of the communication-device ID “0007” to “FAILURE” with the distribution-status DB of version 2. Returning toFIG. 5, the determination part332may proceed to the process of S6upon determining successful distribution, while the determination part332proceeds to the process of S8upon determining failed distribution.

Upon determining successful distribution, the distribution part333deletes the record of the communication device1indicating the successful distribution from the distribution-status DB (S6). Specifically, the distribution part333deletes the record indicating the distribution status of “SUCCESS” from the distribution-status DB. Subsequently, the distribution part333determines whether or not the distribution-queue DB has any records (S7). The distribution part333proceeds to S10upon determining the existence of any records on the distribution-queue DB, while the distribution part333proceeds to S11upon determining the nonexistence of any records on the distribution-queue DB.

When the determination part332determines a failure of distributing the updating software in S5, the distribution part333determines whether or not any records are registered in the distribution-queue DB (S8). Upon determining the existence of any records on the distribution-queue DB, the distribution part333proceeds to S9. On the other hand, the distribution part333returns its processing to S4upon determining the nonexistence of any records on the distribution-queue DB, i.e. the nonexistence of the communication devices1to which the updating software has not be distributed, and therefore the distribution part333will redistribute the updating software to the communication device1undergoing a failure of distributing the updating software.

Upon determining the existence of any records on the distribution-queue DB in S8, the distribution part333, the distribution part333extracts the record of the communication device1undergoing a failure of distributing the updating software from the distribution-status DB so as to store the extracted record at the last end of a queue of the distribution-queue DB (S9). Specifically, the distribution part333extracts the record indicating the distribution status of “FAILURE” from the distribution-status DB shown inFIG. 7so as to store the extracted record at the last end of a queue of the distribution-queue DB of version 3. The distribution part333deletes the extracted record from the distribution-status DB.

Subsequent to S9or when determining the existence of any records on the distribution-queue DB in S7, the distribution part333carries out an update process with the distribution-status DB (S10). Specifically, upon a completion of distributing the updating software to one or more communication devices1among multiple communication devices1during an operation of distributing the updating software to the prescribed number of communication devices1, which is equal to the threshold number of communication devices1, the distribution part333starts to distribute the updating software to one or more communication devices1among multiple communication devices1according to the sequence determined by the determination part332.

In the distribution-status DB of version 2 shown inFIG. 7, it is assumed that the updating software has been completely distributed to two communication devices1having the communication-device IDs “0001” and “0007”. In this case, the distribution part333extracts an upper-order of two records among the records ascribed to the base-station ID “1001” from the distribution-queue DB of version 3 so as to store the extracted records on the distribution-status DB of version 3. Next, the distribution part333returns its processing to S4so as to start distributing the updating software from the base station2to the two communication devices1corresponding to the records stored on the distribution-status DB.

Upon determining the nonexistence of any records on the distribution-queue DB in S7, the distribution part333determines whether or not any records are registered in the distribution-status DB (S11). Upon determining the existence of any records on the distribution-status DB, the distribution part333returns its processing to S5. The distribution part333exits its processing upon determining the nonexistence of any records on the distribution-status DB, i.e. upon determining a completion of distributing the updating software to all the communication devices1serving as distributed subjects due to reception of the resultant information indicating a completion of reception from all the communication devices1serving as distributed subjects.

Effect of First Embodiment

As described above, the distribution device3is configured to determine a sequence of distributing the updating software with respect to each base station2and to thereby distribute the updating software from the base station2to the prescribed number of communication devices1, which is equal to or less than the threshold number of communication devices1. Upon determining a completion of distributing the updating software due to reception of the resultant information indicating a completion of reception from one or more communication devices1among multiple communication devices1, to which the updating software is being distributed, the distribution device3may distribute the updating software to the prescribed number of communication devices1equivalent to the number of communication devices1having completed in distribution according to a sequence of distribution. Accordingly, irrespective of the existence of numerous communication devices1serving as updated subjects, the distribution device3is able to distribute the updating software to all the communication devices1while controlling the concurrent distribution count of the updating software. As a result, the distribution device3is able to update the software with numerous communication devices1serving as updated subjects without affecting other communication devices1connected to the base station2.

Second Embodiment

Distribution of Updating Software to Mobile Communication Device1

Next, the second embodiment will be described below. The distribution device3of the first embodiment is configured to distribute the updating software to the communication device1which may not be moved in normal usage. In contrast, the second embodiment differs from the first embodiment in that the distribution device3of the second embodiment is configured to distribute the updating software to the immobile communication device1and the mobile communication device1(e.g. a GPS tracker configured to transmit its position information to a server through wireless communication networks). Hereinafter, differences than the first embodiment will be described below. The descriptions of the same parts as the first embodiment will be appropriately omitted here. In addition, the present embodiment refers to the updating software as the software used for controlling communication modules, which is provided by a communication carrier to establish connections to its own networks.

FIG. 8shows a table describing the configuration of a distribution-queue DB according to the second embodiment. As shown inFIG. 8, the distribution-queue DB is configured to store the device type indicating whether or not the communication device1is a mobile one and the acquisition date indicating the date of acquiring the response information from the communication device1in connection with the communication-device ID and the base-station ID. For example, the device type is either “MOBILE” indicating the mobile communication device1or “FIXED” indicating the communication device1set up at the fixed location. For example, the device type is stored in the list information in connection with the communication-device ID in advance. The distribution device3is configured to store a distribution history of the updating software on the storage32, wherein the distribution device3may determine the communication device1as “MOBILE” when the base station2attributed to the communication device1at the last time differs from the base station2ascribed to the distribution history. The present embodiment refers to the device type which is stored in advance in the list information in connection with the communication-device ID.

Before a lapse of a predetermined time after acquiring the base-station ID from the communication device1, the information acquisition part331of the second embodiment reacquires the base-station ID of the base station2attributed to the communication device1when the distribution part333cannot start distributing the updating software to the communication device1. When the predetermined time is set to “ten minutes”, for example, the information acquisition part331retransmits a response request to the communication device1after a lapse of ten minutes from the acquisition date/time when it becomes ready to distribute the updating software to the communication device1having the record stored on the distribution-queue DB. Subsequently, when the communication device1receiving the response request transmits the response information, the information acquisition part331acquires the response information to thereby input into the determination part332the date/time of acquiring the response information as well as the communication-device ID and the base-station ID included in the response information.

Before reacquiring the base-station ID of the base station2attributed to the communication device1, the information acquisition part331may determines a predetermined wait time based on the number of mobile communication devices1attributed to the base station2. When the number of mobile communication devices1is larger than the number of fixed communication devices1, for example, the information acquisition part331may determine shorter wait time than the wait time which is determined when the number of fixed communication devices1is larger than the number of mobile communication devices1. On the other hand, the information acquisition part331may determine a longer wait time when the number of fixed communication devices1is larger than the number of mobile communication devices1than the wait time which is set when number of mobile communication devices1is larger than the number of fixed communication devices1. Accordingly, it is possible for the information acquisition part331to increase the frequency of updating the communication-device IDs of the communication devices1attributed to the base station2connectible with a large number of mobile communication devices1, and therefore it is possible to reduce a probability of distributing the updating software to the other base station2not attributed to the communication device1.

The information acquisition part331may determine a predetermined wait time to stand by its operation before reacquiring the base-station ID of the base station2attributed to the communication device1based on the device type. For example, the information acquisition part331may determine a shorter wait time for the mobile communication device1than the wait time for the fixed communication device1. On the other hand, the information acquisition part331may determine a longer wait time for the fixed communication device1than the wait time for the mobile communication device1.

When the mobile communication device1is equipped with an acceleration sensor, the information acquisition part331may acquire the response information including the information of an acceleration measured by the acceleration sensor from the communication device1, thus determining whether or not the communication device1is being moved based on the acceleration information. In this case, the information determination part331may determines a shorter wait time upon determining that the mobile communication device1is being moved than the wait time upon determining that the mobile communication device1is not moved. Accordingly, it is possible for the information acquisition part331to increase the frequency of updating the base-station ID of the base station2attributed to the “moving” communication device1, and therefore it is possible to reduce a probability of distributing the updating software to the base station2not attributed to the communication device1by the distribution part333.

On the condition that the communication device1is a mobile one, the information acquisition part331may reacquire the base-station ID of the base station2attributed to the communication device1a predetermined time before the timing to retransmit the updating software by the distribution part333. Specifically, in a ready condition to transmit the updating software to the communication device1having the record stored on the distribution-queue DB, the information acquisition part331may reacquire the base-station ID of the base station2attributed to the communication device having the device type of “MOBILE”. The information acquisition part331may reacquire the base-station ID of the base station2attributed to the communication device1on the condition that the communication device1is being moved. Accordingly, it is possible to prevent the information acquisition part331from reacquiring the base-station ID with respect to the fixed communication device1which may not change the base station2attributed thereto.

When a first base-station ID previously acquired by the information acquisition part331differs from a second base-station ID reacquired by the information acquisition part331, the determination part332of the second embodiment may redetermine a sequence with respect to a first base station2attributed to the communication device1when the information acquisition part331acquires the first base-station ID and a second base station2attributed to the communication device1when the information acquisition part331acquires the second base-station ID.

FIG. 9show tables used to explain a flow of processing to determine a distribution process according to the second embodiment. It is assumed as shown in the distribution-status DB of version 1 that, due to successful distribution of the updating software when three communication devices1have successfully received the updating software, the base station2attributed to the communication devices1becomes ready to distribute the updating software to a single communication device1. In addition, it is assumed as shown in the distribution-queue DB of version 1 that the communication device1having the communication-device ID “0008” might have changed its connected base station2since the information acquisition part331reacquires the base-station ID from the prescribed number of communication devices1connected to the base station2, which becomes lower than the threshold number of communication devices1.

In this case, the determination part332changes the base-station ID, which is described in the record of the communication-device ID “0008”, from the base-station ID “1002” to the base-station ID “1003”. As a result, the base station2having the base-station ID “1002” changes the distribution sequence by deleting the communication-device ID “0008” as the communication device1subjected to distribution of the updating software. In addition, base station2having the base-station ID “1003” changes the distribution sequence by adding the communication-device ID “0008” as a new communication device1subjected to distribution of the updating software.

In this connection, the determination part332may change the sequence of the distribution-queue DB due to the movement of the communication device1having the communication-device ID “0008”, for example, by adding the communication-device ID “0008” to the last end of a queue of the distribution-queue DB of version 2. The determination part332may redetermine the sequence such that the communication device1having changed its connected base station2can be added to the last end of a queue or a top position of a queue listing the communication devices1connected to the same base station2.

To determine the sequence based on the acquisition date/time, the determination part332may resort the order of records stored on the distribution-queue DB based on the date/time of acquiring the second base-station ID different from the first base-station ID. For example, the determination part332may determine the sequence in the order from the oldest date/time of acquiring the second base-station ID.

The determination part332may redetermine the sequence of distributing the updating software to the communication devices1for each base station2by updating the sequence determined based on the first base-station ID due to a change of the base station2attributed to a certain communication device1to the second base-station ID different from the first base-station ID. Thereafter, the distribution part333extracts the records correlated to the communication devices1connected to the base stations having the base-station IDs “1001”, “1002”, “1003” among the records stored on the distribution-queue DB, thus storing the extracted records on the distribution-status DB of version 2. Next, the distribution part333starts to distribute the updating software to each of the base stations2attributed to the communication devices1having the communication-device IDs “0007”, “0009”, “0011” stored on the distribution-status DB.

Accordingly, it is possible for the determination part332to reduce a probability of distributing the updating software to the base station2not attributed to any communication devices1by the distribution part333, and therefore it is possible to distribute the updating software according to the sequence determined based on the number of communication devices1which may be changed with respect to each base station2.

The determination part332may determine the sequence at an earlier timing on the condition that the ratio of mobile communication devices1to multiple communication devices1connected to the base station2is less than a threshold value than the condition that the ratio of mobile communication devices1is equal to or above the threshold value. For example, the determination part332may determine the sequence at the preceding timing before the information acquisition part331acquires the base-station ID from the communication device1due to a very small number of mobile communication devices1relative to the majority of fixed communication devices1. On the other hand, the determination part332may not determine the sequence at the preceding timing before the information acquisition part331acquires the base-station ID from the communication device1but may determine the sequence at the later timing after the information acquisition part331acquires the base-station ID due to a very small number of fixed communication devices1relative to the majority of mobile communication devices1. Since the determination part332can determine the sequence in advance, it is possible for a manager of the distribution device3to forecast the period necessary to distribute the updating software.

The determination part332may determine the sequence after it becomes ready to distribute the updating software when the ratio of mobile communication devices1to multiple communication devices1connected to the base station2is equal to or above a threshold value. For example, the determination part332may not determine the sequence in advance but may determine the sequence based on the base-station ID which the information acquisition part331acquires from the communication device1due to a very small number of fixed communication devices1relative to the majority of mobile communication devices1. Accordingly, it is possible for the determination part332to reduce a possibility of distributing the updating software to the base station2not attributed to any communication devices1by the distribution part333.

Updating Process of Distribution-Status DB

Next, a flow of processing executed by the distribution device3will be described below. The processing executed by the distribution device3of the second embodiment differs from the foregoing processing in terms of a distribution-status DB updating process (S10) shown inFIG. 5, which will be solely described below.FIG. 10is a flowchart showing the distribution-status DB updating process executed by the distribution device3of the second embodiment. The flowchart starts its steps subsequent to S9ofFIG. 5or when triggered by the distribution part33to determine the existence of any records on the distribution-queue DB.

The information acquisition part331determines whether or not one or more communication devices1selected from among multiple communication devices1according to the sequence are mobile communication devices1(S101) upon a completion of distributing the updating software to one or more communication devices1among multiple communication devices while the distribution part333is distributing the updating software to the prescribed number of communication devices1equivalent to the threshold number of communication devices1. Specifically, the information acquisition part331determines whether one or more records, which the distribution part333selects from among all the records stored on the distribution-queue DB, indicates the device type of “MOBILE” or “FIXED”.

When the acceleration status is stored in connection with the record(s) stored on the distribution-queue DB, the information acquisition part331may determine whether the device type indicates “MOBILE” or “FIXED” based on a decision as to whether or not the acceleration status indicates movement in progress with respect to one or more records, which the distribution part333selects from among all the records stored on the distribution-queue DB. When the distribution history of the updating software is stored on the storage32, the information acquisition part331may determine whether the device type indicates “MOBILE” or “FIXED” based on a decision as to whether or not the current base station2currently attributed to the communication device1differs from the previous base station2previously attributed to the communication device1having the record which is indicated by the distribution history among the records stored on the distribution-queue DB.

Upon determining the device type of “FIXED”, the information acquisition part331proceeds to S105. On the other hand, upon determining the device type of “MOBILE”, the information acquisition part331determines whether or not a predetermined time has elapsed after acquiring the base-station ID (S102).

Upon determining that the predetermined time has not elapsed after acquisition of the base-station ID, the information acquisition part331proceeds to S105. Upon determining a lapse of the predetermined time, the information acquisition part331reacquires the base-station ID from the communication device1(S103). Specifically, the information acquisition part331firstly transmits a response request to the communication device1having the record indicating a lapse of the predetermined time from the acquisition date/time among the records stored on the distribution-queue DB. Next, the information acquisition part331acquires the base-station ID included in the response information which is transmitted by the communication device1upon receiving the response request. The information acquisition part331acquires and inputs the communication-device ID, the base-station ID, and the acquisition date/time of the response information to the determination part332.

The determination part332redetermines a distribution sequence based on the communication-device ID, the base-station ID, and the acquisition date/time input thereto from the information acquisition part331(S104). Specifically, the determination part332redetermines a sequence of distributing the updating software to the communication device(s)1for each base station2by updating the sequence determined based on the first base-station ID when the current base-station ID is changed to the second base-station ID different from the first base-station ID.

When the information acquisition part331determines the device type of “FIXED” in S101or when the information acquisition part331determines that the predetermined time has not elapsed after acquisition of the base-station ID in S102, the distribution part333extracts a prescribed number of records ascribed to the communication devices1serving distributed subjects of the updating software from the distribution-queue DB without exceeding the threshold number of communication devices1, thus storing the extracted records on the distribution-status DB (S105).

Effect of Second Embodiment

As described above, the distribution device3of the second embodiment is configured to reacquire from the communication device1the base-station ID of the base station2attributed to the communication device1when it is not possible to start distributing the updating software before a lapse of a predetermined time after acquiring the base-station ID from the communication device1. Next, the distribution device3is configured to redetermine a sequence of distributing the updating software when the reacquired base-station ID differs from the previously-acquired base station ID. Accordingly, it is possible for the distribution device3to reflect a change of the base station2attributed to the mobile communication device1in the distribution sequence eve when it takes a long time to start distributing the updating software. As a result, it is possible for the distribution device3to reduce a probability of distributing the updating software to the base station2not attributed to any communication devices1.

The aforementioned descriptions are made upon assuming that the distribution part333is configured to distribute the software according to the sequence determined by the determination part332. In addition, the distribution part333may distribute the software from multiple base stations2to a plurality of communication devices1, the number of which is equal to or below the threshold number, according to the sequence determined by the determination part332on the condition that the predetermined number or more of communication devices1may server as software-distributed subjects within a certain area including multiple base stations2.

For example, the distribution part333may distribute the software to all the communication devices1serving as software-distributed subjects irrespective of the sequence determined by the determination part332when the number of communication devices1located in an area having a necessity of distributing software is equal to or less than the number of communication devices1to which a single base station2can concurrently distribute the software. On the other hand, the distribution part333may sequentially distribute the software according to the sequence determined by the determination part332when the number of communication devices1located in an area having a necessity of distributing software is larger than the number of communication devices1which a single base station2can concurrently distribute the software. Accordingly, it is possible to reduce the processing load of the distribution device3to distribute the software to the communication devices1located in an area having a small number of communication devices1serving as software-distributed subjects.

In this connection, it is possible to employ an arbitrary area determination method, for example, it is possible to determine an area based on the number of communication devices1when the communication devices1are dispersed nationwide comprehensively. To prevent an excessively heavy load of a single distribution device3used to distribute the software to all the communication devices1nationwide, the determination part332may determine a sequence of software-distributed areas such that the distribution part333can distribute the software according to the determined sequence.

In addition, concentration of many communication devices1at a specific area (e.g. a Kanto region in Japan) may arise a fear that the base station2may be occupied in its resources by distribution of software. To repress the fear, the distribution device3may divide the number of communication devices1serving as software-distributed subjects located at a specific area into a plurality of groups so as to sequentially distribute the software to a plurality of groups. In this case, the determination part332may determine a distribution sequence for each group of communication devices1. Accordingly, it is possible to reduce loads with both the distribution device3and the base station(s)2.

Heretofore, the present invention has been described by way of embodiments, whereas the technical scope of protection sought for the present invention is not necessarily limited to the technical scope of the foregoing embodiments; hence, it is possible to provide any modifications or changes within the subject matter of the invention. For example, the foregoing embodiments are not restrictive in terms of concrete examples of decentralizing or integrating devices, and therefore it is possible to functionally or physically decentralize or integrate the entirety or part of devices in arbitrary units. In addition, it is possible to provide new embodiments made up of arbitrary combinations of foregoing examples, which can be embraced within the foregoing embodiments of the present invention. Herein, new embodiments made up of arbitrary combinations of foregoing examples may share the advantageous effects realized by the original embodiments.

REFERENCE SIGNS LIST