Software update system, communication device, data structure of update information, and software update method.
The system efficiently updates firmware for cellular devices by identifying and matching carrier information, addressing limitations in existing systems by ensuring compatibility with the connected carrier and network slices, thereby optimizing firmware for the current network environment.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SUMITOMO ELECTRIC INDUSTRIES LTD
- Filing Date
- 2022-11-08
- Publication Date
- 2026-05-11
Smart Images

Figure 0007856115000001 
Figure 0007856115000002 
Figure 0007856115000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a software update system, a communication device, a data structure of update information, and a software update method. This application claims priority based on Japanese Patent Application No. 2022-012590 filed on January 31, 2022, and incorporates all of the disclosure thereof herein.
Background Art
[0002] Patent Document 1 discloses wireless firmware update (FOTA: Firmware Over-The-Air) in a wireless communication device for cellular communication. <000001l>
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
[0004] A software update system according to an aspect of the present disclosure includes a communication device connectable to a mobile communication network, and a server that provides update information used for updating control software for the communication device to the communication device. The communication device includes an acquisition unit that acquires first carrier identification information for identifying a carrier that provides the mobile communication network to which the communication device is connected; a first request unit that requests the server to provide the update information in which second carrier identification information corresponding to the control software that can be provided to the communication device is specified; a second request unit that requests the server to provide update data for updating to the control software corresponding to the second carrier identification information when the first carrier identification information and the second carrier identification information match; and an update unit that updates the control software for the communication device with the received update data.
[0005] A communication device according to one aspect of the present disclosure is a communication device that can connect to a mobile communication network, and comprises: an acquisition unit for acquiring first carrier identification information for identifying a communication carrier providing the mobile communication network to which the communication device is connected; a first request unit for requesting a server to provide update information that specifies second carrier identification information corresponding to the control software that can be provided to the communication device; a second request unit for requesting the provision of update data for updating the control software corresponding to the second carrier identification information when the first carrier identification information and the second carrier identification information match; and an update unit for updating the control software for the communication device based on the received update data.
[0006] A data structure for update information according to one aspect of the present disclosure is a data structure for update information used for updating control software of a communication device that can connect to a mobile communication network, and includes a first carrier identification information for identifying a communication carrier that provides the mobile communication network corresponding to the control software that can be provided to the communication device, wherein the first carrier identification information is used in a process of comparing it with a second carrier identification information obtained by the communication device in order to determine the control software that the communication device will use for the update.
[0007] A software update method for update information according to one aspect of the present disclosure is a software update method relating to a software update system comprising: a communication device that can connect to a mobile communication network; and a server that provides the communication device with update information used to update control software for the communication device, the method comprising: acquiring first carrier identification information for identifying a communication carrier that provides the mobile communication network to which the communication device is connected; requesting the server to provide update information that identifies a second carrier identification information corresponding to the control software that can be provided to the communication device; requesting the server to provide update data for updating the control software corresponding to the second carrier identification information when the first carrier identification information and the second carrier identification information match; and updating the control software for the communication device using the received update data. [Brief explanation of the drawing]
[0008] [Figure 1] Figure 1 shows an example of the configuration of a software update system according to an embodiment. [Figure 2] Figure 2 is a diagram illustrating the S-NSSAI format. [Figure 3] Figure 3 shows the correspondence between SST values and slice types. [Figure 4] Figure 4 is a block diagram showing an example of the hardware configuration of the gateway according to this embodiment. [Figure 5] Figure 5 is a block diagram showing an example of the server hardware configuration according to the embodiment. [Figure 6] Figure 6 is a functional block diagram showing an example of the functions of the software update system according to the embodiment. [Figure 7] Figure 7 shows an example of an update list. [Figure 8A] Figure 8A is a flowchart showing the first half of an example of the FW update determination process by the GW according to this embodiment. [Figure 8B]Figure 8B is a flowchart showing the latter half of an example of the FW update determination process by the GW according to the embodiment. [Figure 9] Figure 9 is a flowchart showing an example of a firmware update process by a gateway according to this embodiment. [Figure 10] Figure 10 shows the first modified version of the update list. [Figure 11] Figure 11 shows a second modified version of the update list. [Modes for carrying out the invention]
[0009] In industrial applications such as managing sensor information in factories or commercial facilities (hereinafter referred to as "industrial facilities"), the use of mobile communications (hereinafter also referred to as "cellular communications") via fifth-generation mobile communication systems (5G), fourth-generation mobile communication systems (4G), etc. is expected. Each of the multiple cellular communication carriers (hereinafter also referred to as "communication carriers") provides control software (firmware) that has been verified to work with cellular communications, and users have been required to install the verified firmware into their communication devices.
[0010] <Issues this disclosure aims to address> With conventional FOTA firmware updates, users had to select firmware provided by the telecommunications carrier with whom they had a contract for cellular communication on their communication equipment.
[0011] <Effects of this disclosure> According to this disclosure, the control software of communication devices can be updated efficiently.
[0012] <Summary of the embodiments of this disclosure> The embodiments of this disclosure are outlined below.
[0013] (1) The software update system according to this embodiment includes a communication device that can connect to a mobile communication network, and a server that provides the communication device with update information used to update the control software for the communication device, wherein the communication device includes an acquisition unit that acquires first carrier identification information for identifying a communication carrier that provides the mobile communication network to which the communication device is connected, a first request unit that requests the server to provide the update information which specifies a second carrier identification information corresponding to the control software that can be provided to the communication device, a second request unit that requests the server to provide update data for updating the control software corresponding to the second carrier identification information when the first carrier identification information and the second carrier identification information match, and an update unit that updates the control software for the communication device based on the received update data.
[0014] (2) In (1) above, the update information specifies PLMN (Public Land Mobile Network) as the second carrier identification information, and the acquisition unit may acquire Visited PLMN as the second carrier identification information. This allows the communication device to identify the control software using the Visited PLMN provided by the base station when connecting to the mobile communication network.
[0015] (3) In (2) above, the acquisition unit may further acquire the Home PLMN, and the first request unit may request the server to provide the update information corresponding to the Home PLMN acquired by the acquisition unit. In this case, the update information only needs to include the Home PLMN and the Visited PLMN of the roaming destination available to the Home PLMN as carrier identification information, so that the carrier identification information in the update information is limited and the amount of data in the update information can be reduced.
[0016] (4) In (3) above, when the Visited PLMN acquired by the acquisition unit is different from the Home PLMN, and the PLMN specified in the update information matches the Visited PLMN acquired by the acquisition unit, the second request unit may request the provision of the update data for updating the control software corresponding to the Visited PLMN. Thereby, when the communication device is receiving a roaming service by the Visited PLMN, the control software of the communication device can be updated to the control software corresponding to the Visited PLMN.
[0017] (5) In (3) above, the communication device can set an operation mode of either a first mode or a second mode. When the first mode is set, the second request unit requests the provision of the update data for updating the control software corresponding to the Visited PLMN when the PLMN specified in the update information matches the Visited PLMN acquired by the acquisition unit. When the second mode is set, the second request unit requests the provision of the update data for updating the control software corresponding to the Home PLMN when the PLMN specified in the update information matches the Home PLMN acquired by the acquisition unit. Thereby, in the first mode, when the communication device is receiving a roaming service by the Visited PLMN, the control software of the communication device can be updated to the control software corresponding to the Visited PLMN. In the second mode, regardless of whether the communication device is receiving a roaming service by the Visited PLMN, the control software of the communication device can be updated to the control software corresponding to the Home PLMN.
[0018] (6) In any one of (1) to (5) above, the acquisition unit may further acquire the type information of the communication device, and the first request unit may request the server to provide the update information corresponding to the type information acquired by the acquisition unit. As a result, the update information only needs to include carrier identification information corresponding to the control software for the type shown in the type information, so that the carrier identification information in the update information is limited and the amount of data in the update information can be reduced.
[0019] (7) In any one of (1) to (6) above, the acquisition unit further acquires slice information indicating a network slice set in the communication device, and the update information specifies the second carrier identification information and slice information indicating a network slice corresponding to the control software that can be provided to the communication device, and the second request unit may request the provision of update data for updating the control software corresponding to the second carrier identification information and slice information when the first carrier identification information and slice information match the second carrier identification information and slice information.
[0020] (8) In any one of (1) to (7) above, the communication device further includes a notification unit that notifies the user that it is possible to update the control software corresponding to the second carrier identification information when the first carrier identification information and the second carrier identification information match, and the second request unit may request the provision of the update data when it receives an instruction from the user to update the control software corresponding to the second carrier identification information. This allows the user to determine whether or not it is necessary to update the control software.
[0021] (9) The communication device according to this embodiment is a communication device that can connect to a mobile communication network and includes: an acquisition unit that acquires first carrier identification information for identifying a telecommunications carrier that provides the mobile communication network to which the communication device is connected; a first request unit that requests a server to provide update information that identifies a second carrier identification information corresponding to the control software that can be provided to the communication device; a second request unit that requests the provision of update data for updating the control software corresponding to the second carrier identification information when the first carrier identification information and the second carrier identification information match; and an update unit that updates the control software for the communication device based on the received update data. This allows the communication device to identify the control software provided by the telecommunications carrier of the mobile communication network to which the communication device is connected and to update to the identified control software. Therefore, the updating of the control software of the communication device is made more efficient.
[0022] (10) The update information data structure according to this embodiment is a data structure for update information used to update the control software of a communication device that can connect to a mobile communication network, and includes a first carrier identification information for identifying a communication carrier that provides the mobile communication network corresponding to the control software that can be provided to the communication device, wherein the first carrier identification information is used in a process of comparing it with a second carrier identification information obtained by the communication device in order to determine the control software that the communication device will use for the update. By using update information with such a data structure, the communication device can identify the control software provided by the communication carrier of the mobile communication network to which the communication device is connected, and update to the identified control software. Therefore, the update of the control software of the communication device is made more efficient.
[0023] (11) A software update method for update information according to one aspect of the present disclosure is a software update method relating to a software update system comprising: a communication device that can connect to a mobile communication network; and a server that provides the communication device with update information used for updating control software for the communication device, the method comprising: acquiring first carrier identification information for identifying a communication carrier that provides the mobile communication network to which the communication device is connected; requesting the server to provide update information that identifies a second carrier identification information corresponding to the control software that can be provided to the communication device; requesting the server to provide update data for updating the control software corresponding to the second carrier identification information when the first carrier identification information and the second carrier identification information match; and updating the control software for the communication device using the received update data.
[0024] <Details of the embodiments of this disclosure> The embodiments of this disclosure will be described in detail below with reference to the drawings. At least some of the embodiments described below may be combined in any way.
[0025] [1. Software Update System] Figure 1 shows an example of the configuration of a software update system according to an embodiment. The software update system 10 includes gateways (hereinafter also referred to as "GW") 100A, 100B, and 100C, and a server 600.
[0026] GW100A, 100B, and 100C are communication devices capable of cellular communication. GW100A, 100B, and 100C are deployed in factories or commercial facilities. The facilities where GW100A, 100B, and 100C are deployed are owned and operated by a single business (company). GW100A is deployed at facility a. GW100B is deployed at facility b. GW100C is deployed at facility c. For example, facilities a and b are located in different regions (e.g., different prefectures) within the same country (Japan). Facility c is located in a different country from facilities a and b (e.g., the United States).
[0027] GW100A can connect to carrier A's cellular network 400A, GW100B can connect to carrier A's cellular network 400A, and GW100C can connect to carrier C's cellular network 400C. Cellular networks 400A and 400C are 5G mobile communication networks.
[0028] Cellular networks 400A and 400C each include a core network and a RAN (Radio Access Network) and are connected to the Internet 500. The RAN of cellular network 400A includes radio base stations 300A and 300B, and the RAN of cellular network 400C includes radio base station 300C. GW100A is connected to cellular network 400A via radio base station 300A, GW100B is connected to cellular network 400A via radio base station 300B, and GW100C is connected to cellular network 400C via radio base station 300C.
[0029] The core networks of cellular networks 400A and 400C each include UDM (Unified Data Management) 410A and 410C, respectively. UDM 410A and 410C manage subscriber information. When a communication session is established between GW 100A and 100B and cellular network 400A, UDM 410A notifies GW 100A and 100B of the destination Visited PLMN. When a communication session is established between GW 100C and cellular network 400C, UDM 410C notifies GW 100C of the destination Visited PLMN.
[0030] A PLMN (Public Land Mobile Network) is information that identifies a telecommunications carrier's cellular network and also serves as carrier identification information. More specifically, a PLMN includes an MCC (Mobile Country Number), which is a code representing the country or region, and an MNC (Mobile Network Code), which is a code representing the telecommunications carrier. The combination of the MCC and MNC allows for the identification of the telecommunications carrier. The Home PLMN is the identification information of the telecommunications carrier with which the subscriber has a contract for cellular communication services. The Visited PLMN is the identification information of the telecommunications carrier to which the subscriber is roaming. If the subscriber is subscribed to a cellular communication service of an MVNO (Mobile Virtual Network Operator), the Visited PLMN is the identification information of the MVNO. If the subscriber is subscribed to a cellular communication service of an MNO (Mobile Network Operator) and is connected to that MNO's cellular network (not roaming), the Visited PLMN is the identification information of that MNO and matches the Home PLMN.
[0031] In this embodiment, GW100A located at site a is subscribed to a cellular communication service provided by telecommunications carrier A and connects to telecommunications carrier A's cellular network 400A. Telecommunications carrier A is an MNO and owns the cellular network 400A. GW100B located at site b is subscribed to a cellular communication service provided by telecommunications carrier B and connects to the cellular network 400A. Telecommunications carrier B is an MVNO. Telecommunications carrier B leases the cellular network 400A from telecommunications carrier A and provides subscribers with a connection service to the cellular network 400A. GW100C located at site c is subscribed to a cellular communication service provided by telecommunications carrier A and roams to telecommunications carrier C's cellular network 400C. Both the Home PLMN and Visited PLMN of GW100A indicate telecommunications carrier A. The Home PLMN of GW100B indicates telecommunications carrier A, and the Visited PLMN of GW100B indicates telecommunications carrier B. The Home PLMN of GW100C indicates carrier A, and the Visited PLMN of GW100C indicates carrier C.
[0032] In 5G, network slicing is performed, where the network is virtualized, network resources are divided, and logical networks (network slices; hereinafter also referred to as "slices") are assigned to User Equipment (UEs), which are mobile stations. In establishing a session between the UEs GW100A, 100B, 100C and the cellular networks 400A, 400C, information on the configurable slices in the cellular networks 400A, 400C (hereinafter referred to as "slice configuration information") is transmitted from the core network to GW100A, 100B, 100C, and GW100A, 100B, 100C selects the slice they request based on the slice configuration information. GW100A, 10B, 100C creates an NSSAI (Network Slice Selection Assistance Information) specifying the selected slice and sends the NSSAI, which is a slice assignment request, to the core network of the cellular networks 400A, 400C. Figure 2 is a diagram illustrating the format of S-NSSAI. NSSAI includes multiple S-NSSAI (Single-NSSAI). S-NSSAI includes SST (Slice / Service Type) and SD (Slice Differentiator). SST is a number indicating the slice type. Figure 3 shows the correspondence between SST values and slice types. SST value "1" indicates eMBB (enhanced Mobile Broadband). eMBB is a slice for high-speed, high-capacity communication. SST value "2" indicates URLLC (Ultra-Reliable and Low Latency Communications). URLLC is a slice for high-reliability, low-latency communication. SST value "3" indicates mMTC (massive Machine Type Communications). mMTC is a slice for mass simultaneous connection communication. Refer to Figure 2 again. SD is definition information for slices that further subdivide the slice type indicated by SST.
[0033] Refer to Figure 1 again. Each of the GW100A, 100B, and 100C is connected to multiple sensors 200 located within the facility. The sensors 200 include, for example, cameras, temperature sensors, humidity sensors, motion sensors, pressure sensors, and vibration sensors. The GW100A, 100B, and 100C are connected to the sensors 200 by, for example, a LAN (Local Area Network). The sensors 200 transmit data obtained through measurement (hereinafter referred to as "sensor data") to the GW100A, 100B, and 100C. The GW100A, 100B, and 100C upload the sensor data transmitted from the sensors 200 to a database (not shown) connected to the Internet 500 via a communication path (hereinafter referred to as the "first communication path") 510A, 510B, and 510C, which conforms to the standards established by the Third Generation Partnership Project, including the cellular networks 400A and 400C.
[0034] GW100A, 100B, and 100C can connect to the Internet 500 via communication methods that are not standards established by the Third Generation Partnership Project, such as wireless LAN (Local Area Network), wired LAN, and Bluetooth® (hereinafter referred to as "second communication paths") 520A, 520B, and 520C.
[0035] Server 600 is connected to the Internet 500. Server 600 can download update lists (update information) used to update the control software (firmware; hereinafter also referred to as "FW") of GW100A, 100B, and 100C to GW100A, 100B, and 100C.
[0036] Database 700 is connected to Internet 500. Database 700 stores update data for updating the firmware (FW) of GW100A, 100B, and 100C. The update data includes the updated firmware and the firmware installer. Database 700 can download the update data to GW100A, 100B, and 100C upon request from them.
[0037] In the following explanation, GW100A, 100B, and 100C may be collectively referred to as "GW100." Wireless base stations 300A, 300B, and 300C may be collectively referred to as "wireless base station 300." Cellular networks 400A and 400C may be collectively referred to as "cellular network 400."
[0038] [2. Gateway Configuration] Figure 4 is a block diagram showing an example of the hardware configuration of the gateway according to this embodiment. GW100 includes a processor 101, a non-volatile memory 102, a volatile memory 103, an input / output interface (I / O) 104, a first communication interface (I / F) 105, and a second communication interface (I / F) 106.
[0039] The volatile memory 103 is a semiconductor memory such as SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory). The non-volatile memory 102 is a flash memory, hard disk, or ROM (Read Only Memory). The non-volatile memory 102 stores FW107 and data used to execute FW107. The non-volatile memory 102 stores FW update program 108 and data used to execute FW update program 108. The non-volatile memory 102 also stores GW program 109 and data used to execute GW program 109. The GW100 is configured with a computer, and each function of the GW100 is performed by the execution of computer programs, FW107, FW update program 108, and GW program 109, which are stored in the computer's storage device, by the processor 101. Each of FW107, FW update program 108, and GW program 109 can be stored in a recording medium such as flash memory, ROM, or CD-ROM. By having processor 101 execute FW107, GW100 functions as the UE of the cellular network 400. By having processor 101 execute FW update program 108, GW100 can download update data and update the firmware. By having processor 101 execute GW program 109, GW100 can collect sensor data from sensor 200 and upload the collected sensor data to the database.
[0040] The processor 101 is, for example, a CPU (Central Processing Unit). However, the processor 101 is not limited to a CPU. The processor 101 may also be a GPU (Graphics Processing Unit). The processor 101 may also be, for example, an ASIC (Application Specific Integrated Circuit), or it may include a programmable logic device such as a gate array or an FPGA (Field Programmable Gate Array). In this case, the ASIC or programmable logic device is configured to perform processing similar to, for example, at least one of the FW update program 108 and the GW program 109.
[0041] I / O104 is connected to sensor 200. Sensor data output from sensor 200 is input to I / O104. The sensor data input to I / O104 is provided to processor 101.
[0042] The first communication interface 105 is a 5G-compliant wireless communication interface. The first communication interface 105 includes a wireless antenna and is capable of wireless communication with the wireless base station 300. The first communication interface 105 can communicate with external devices through the first communication path 510, which includes the cellular network 400. By executing the GW program 109, the processor 101 processes the sensor data output from the sensor 200, or provides it to the first communication interface 105 without processing it. Processed or unprocessed sensor data is uploaded from the first communication interface 105 to the database.
[0043] The second communication interface 106 is, for example, an Ethernet interface ("ETHERNET" is a registered trademark), a wireless LAN interface, or a Bluetooth interface, and is a communication interface that is not a standard developed by the Third Generation Partnership Project. The second communication interface 106 connects to the internet 500 without going through the cellular network 400. The second communication interface 106 can communicate with external devices through a second communication path 520 that does not include the cellular network 400.
[0044] [3. Server Configuration] Figure 5 is a block diagram showing an example of the server hardware configuration according to this embodiment. The server 600 includes a processor 601, non-volatile memory 602, volatile memory 603, and a communication interface (I / F) 604.
[0045] The volatile memory 603 is, for example, a semiconductor memory such as SRAM or DRAM. The non-volatile memory 602 is, for example, flash memory, a hard disk, or ROM. The non-volatile memory 602 stores the FOTA server program 605 and the data used to execute the FOTA server program 605. The non-volatile memory 602 also stores multiple update lists 606. The server 600 is configured with a computer, and each function of the server 600 is performed by the execution of the FOTA server program 605, which is a computer program stored in the computer's storage device, by the processor 601. The FOTA server program 605 can be stored in a recording medium such as flash memory, ROM, or CD-ROM. By the processor 601 executing the FOTA server program 605, the server 600 can download the update list 606 to the GW100.
[0046] The processor 601 is, for example, a CPU. However, the processor 601 is not limited to a CPU. The processor 601 may be a GPU. The processor 601 may be, for example, an ASIC, or a programmable logic device such as a gate array or FPGA. In this case, the ASIC or programmable logic device is configured to perform processing similar to that of the FOTA server program 605.
[0047] Communication I / F 604 is, for example, an Ethernet interface, a wireless LAN interface, or a Bluetooth interface, and is not a standard developed by the Third Generation Partnership Project. Communication I / F 604 connects to the Internet 500 without going through the cellular network 400.
[0048] [4. Functions of the Software Update System] Figure 6 is a functional block diagram showing an example of the functions of a software update system according to an embodiment. When the processor 101 of GW100 executes the FW update program 108, GW100 functions as an acquisition unit 121, a first request unit 122, a first reception unit 123, a notification unit 124, an instruction reception unit 125, a second request unit 126, a second reception unit 127, and an update unit 128. When the processor 601 of server 600 executes the FOTA server program 605, server 600 functions as a request reception unit 611 and an update information provision unit 612.
[0049] The acquisition unit 121 acquires the PLMN to identify the telecommunications carrier providing the cellular network 400 to which the GW100 connects. Specifically, the acquisition unit 121 can acquire the Home PLMN and the Visited PLMN. For example, the Home PLMN is stored on the SIM (Subscriber Identity Module) card. The acquisition unit 121 can read the Home PLMN from the SIM card installed in the GW100. The acquisition unit 121 can receive the Visited PLMN from the UDM 410 when a communication session is established with the cellular network 400.
[0050] The acquisition unit 121 can acquire the model information of GW100. Specifically, the model information 110 is stored in the non-volatile memory 102 (see Figure 4). The acquisition unit 121 can read the model information 110 from the non-volatile memory 102.
[0051] The acquisition unit 121 can acquire SST. SST is an example of slice information indicating a slice set in GW100. Specifically, the acquisition unit 121 can receive SST when a session is established for communication connection with the cellular network 400.
[0052] The acquisition unit 121 can acquire the name (FW name) and version information of the FW107 running on the GW100. Specifically, the FW107 installed in the non-volatile memory 102 includes the FW name and version information. The acquisition unit 121 can acquire the FW name and version information from the FW107.
[0053] The first request unit 122 requests the server 600 to provide the update list 606. The update list 606 is information that identifies the PLMN corresponding to each FW available to the GW100. Specifically, the first request unit 122 generates a URL (Uniform Resource Locator) for downloading the update list 606. In this embodiment, the first request unit 122 generates the URL from the type information and Home PLMN acquired by the acquisition unit 121.
[0054] The non-volatile memory 602 of the server 600 stores update lists 606 corresponding to combinations of GW100 model information and Home PLMN. For example, if there are two models, TYPE01 and TYPE02, and three MNOs, A, C, and D, the non-volatile memory 602 stores update lists 606 corresponding to the combination of TYPE01 and carrier A, update lists 606 corresponding to the combination of TYPE01 and carrier C, update lists 606 corresponding to the combination of TYPE01 and carrier D, update lists 606 corresponding to the combination of TYPE02 and carrier A, update lists 606 corresponding to the combination of TYPE02 and carrier C, and update lists 606 corresponding to the combination of TYPE02 and carrier D. For example, if the acquisition unit 121 acquires model information "TYPE01" and PLMN "PLMN0" which indicates carrier A, the first request unit 122 generates a URL from "TYPE01" and "PLMN0". This URL contains information for downloading update list 606, which corresponds to the combination of TYPE01 and telecommunications carrier A, from server 600.
[0055] The first request unit 122 requests the server 600 to provide the update list 606 by accessing the generated URL.
[0056] The request receiving unit 611 of server 600 receives a request from the first request unit 122 for the provision of the update list 606. The update information providing unit 612 sends the update list 606 to GW100 in response to the request received by the request receiving unit 611.
[0057] The first receiving unit 123 receives the update list 606 sent from the server 600.
[0058] Figure 7 shows an example of an update list. Update list 606 is information that identifies the Visited PLMN (operator identification information), SST (slice information), FW name, and version information for each FW available to GW100. Each update list 606 corresponds to a combination of model information and Home PLMN, and each update list 606 identifies the Visit PLMN, SST, FW name, and version information corresponding to the available FW. Therefore, by using update list 606, it is possible to identify the FW corresponding to a combination of model information, Home PLMN, Visit PLMN, SST, FW name, and version information.
[0059] The update list 606 shown in Figure 7 is assumed to correspond to the combination of model information "TYPE01" and Home PLMN "PLMN0". In the example in Figure 7, each row is FW information corresponding to the FW available for GW100. More specifically, the first row of FW information 606a includes Visited PLMN "PLMN0", FW name "FW01", and version information "1.2". FW information 606a indicates a FW for a GW100 of model "TYPE01" that connects to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", and whose FW name is "FW01" and version is "1.2".
[0060] The second line, FW information 606b, includes Visited PLMN "PLMN0", slice information "SST1", FW name "FW02", and version information "2.0". FW information 606b indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST1", and has a FW name of "FW02" and a version of "2.0".
[0061] The third line, FW information 606c, includes Visited PLMN "PLMN0", slice information "SST2", FW name "FW03", and version information "1.1.2". FW information 606c indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST2", and has a FW name of "FW03" and a version of "1.1.2".
[0062] The FW information 606d on the fourth line includes Visited PLMN "PLMN0", slice information "SST3", FW name "FW04", and version information "3.4". FW information 606d indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST3", and has a FW name of "FW04" and a version of "3.4".
[0063] The FW information 606e on the 5th line includes Visited PLMN "PLMN1", FW name "FW11", and version information "2.4". FW information 606e indicates a FW of type "TYPE01" for a GW100 that connects to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN1", and whose FW name is "FW11" and version is "2.4".
[0064] The FW information 606f on the 6th line includes Visited PLMN "PLMN2", slice information "SST1", FW name "FW21", and version information "5.1.1". FW information 606f indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN2", is for slice "SST1", and has a FW name of "FW21" and a version of "5.1.1".
[0065] The FW information 606g on line 7 includes Visited PLMN "PLMN3", slice information "SST1", FW name "FW31", and version information "3.0.2". FW information 606g indicates a FW of type "TYPE01" for a GW100 that connects to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN3", is for slice "SST1", and has a FW name of "FW31" and a version of "3.0.2".
[0066] Returning to Figure 6, the update data 710 for updating the FW information 606a to 606g, which is included in the update list 606, is stored in the database 700.
[0067] The notification unit 124 compares the Visited PLMN identified in the update list 606 received from the server 600 with the Home PLMN or Visited PLMN acquired by the acquisition unit 121. If the Visited PLMN identified in the update list 606 received from the server 600 matches the PLMN acquired by the acquisition unit 121, the notification unit 124 notifies the user (e.g., facility worker) that an update to the FW corresponding to that PLMN is possible. More specifically, the notification unit 124 compares the SST identified in the update list 606 with the SST acquired by the acquisition unit 121. The notification unit 124 compares the FW name identified in the update list 606 with the FW name acquired by the acquisition unit 121. The notification unit 124 compares the version information identified in the update list 606 with the version information acquired by the acquisition unit 121. The notification unit 124 notifies the user that a firmware update is possible if the update list 606 contains firmware information that includes Visited PLMN, SST, and FW names that match the PLMN, SST, and FW names obtained by the acquisition unit 121, and also includes newer version information (updated version) than the version information (current version) obtained by the acquisition unit 121.
[0068] In a more specific example, the GW100 can be set to either a first mode or a second mode of operation. The operating mode is set using an optimization flag 111 stored in the non-volatile memory 102 (see Figure 4). If the optimization flag 111 is enabled, the first mode is set. If the optimization flag 111 is disabled, the second mode is set.
[0069] In the first mode, the notification unit 124 compares the Visited PLMN acquired by the acquisition unit 121 with the Visited PLMN identified in the update list 606. If the update list 606 contains FW information that includes a Visited PLMN, SST, and FW name that matches the Visited PLMN, SST, and FW name acquired by the acquisition unit 121, and also includes version information newer than the version information acquired by the acquisition unit 121, the notification unit 124 notifies the user that a FW update is possible. If FW information containing a Visited PLMN, SST, and FW name that matches the Visited PLMN, SST, and FW name acquired by the acquisition unit 121 exists in the update list 606, the FW corresponding to this FW information is a FW optimized for the SST set on the GW100 in the cellular network 400 to which the GW100 is connected. Therefore, if the updated FW version is newer than the current version, the FW can be updated to one suitable for the communication environment in the cellular network 400 of the GW100. When the Visited PLMN and Home PLMN are different, if the update list 606 contains FW information that includes a Visited PLMN, SST, and FW name that matches the Visited PLMN, SST, and FW name acquired by the acquisition unit 121, the FW corresponding to this FW information is a FW optimized for the cellular network 400 of the Visited PLMN to which GW100 is connected. When the Visited PLMN and Home PLMN are the same, if the update list 606 contains FW information that includes a Visited PLMN, SST, and FW name that matches the Visited PLMN (the same PLMN as Home PLMN), SST, and FW name acquired by the acquisition unit 121, the FW corresponding to this FW information is a FW optimized for the cellular network 400 of the Home PLMN to which GW100 is connected.
[0070] In the second mode, the notification unit 124 compares the Home PLMN acquired by the acquisition unit 121 with the Visited PLMN identified in the update list 606. If the update list 606 contains FW information that includes a Visited PLMN, SST, and FW name that matches the Home PLMN, SST, and FW name acquired by the acquisition unit 121, and also includes a newer version than the version information acquired by the acquisition unit 121, the notification unit 124 notifies the user that a FW update is possible. When the Visited PLMN and Home PLMN are different, if the update list 606 contains FW information that includes a Visited PLMN, SST, and FW name that matches the Home PLMN, SST, and FW name acquired by the acquisition unit 121, the FW corresponding to this FW information cannot be said to be a FW optimized for the cellular network 400 of the Visited PLMN to which the GW100 is connected. However, it may be preferable to update to a FW optimized for the cellular network of the Home PLMN. For example, in Figure 1, assume that the FW provided by carrier A allows access to services provided by carrier A, but the FW provided by carriers B and C does not. GW100A's Home PLMN and Visited PLMN correspond to carrier A and use the FW provided by carrier A. Therefore, GW100A can use the services provided by carrier A. GW100B and 100C's Home PLMN corresponds to carrier A, and their Visited PLMN corresponds to carriers B and C. If GW100B and 100C are set to the second mode, GW100B and 100C use the FW provided by carrier A. Therefore, GW100B and 100C can also use the services provided by carrier A.
[0071] The optimization flag 111 can be rewritten by the user. The user can remotely control the GW100 using an external device such as the terminal 800 and rewrite the optimization flag 111. When the user sets the GW100 to mode 1, the optimization flag 111 is set to "enabled". When the user sets the GW100 to mode 2, the optimization flag 111 is set to "disabled".
[0072] Returning to Figure 6, the GW100 can connect to the user's terminal 800, for example, via the second communication I / F106. The notification unit 124 sends information to the terminal 800 to notify the user that the FW107 can be updated. Upon receiving this information, the terminal 800 displays a screen, for example, to notify the user that the FW107 can be updated.
[0073] The user can input a FW107 update command into terminal 800. Terminal 800 then sends the FW107 update command from the user to GW100.
[0074] The instruction receiving unit 125 receives an update instruction sent from the terminal 800. When the instruction receiving unit 125 receives the FW107 update instruction, the GW100 performs the FW107 update.
[0075] The notification function of the notification unit 124 is not limited to the above. For example, if the GW100 has the functionality of a web server, the notification unit 124 may generate a web page to notify that the FW107 can be updated. An external information terminal such as terminal 800 can access the GW100's web page to notify the user that the FW107 can be updated. In yet another example, the GW100 may also use an automatic management protocol to send information to notify that the FW107 can be updated.
[0076] For example, GW100 can switch between enabling and disabling automatic updates for FW107. When automatic updates are disabled, GW100 updates FW107 when it receives an update instruction from the user, as described above. When automatic updates are enabled, GW100 updates FW107 if it is possible to update FW107, that is, if the update list 606 contains FW information that includes Visited PLMN, SST, and FW names that match the PLMN, SST, and FW names acquired by the acquisition unit 121, and also includes version information newer than the version information acquired by the acquisition unit 121.
[0077] When GW100 performs an update on FW107, the second request unit 126 requests the database 700 to provide update data 710 corresponding to FW information (hereinafter referred to as "compliant FW information") that includes Visited PLMN, SST, and FW name that match the PLMN, SST, and FW name obtained by the acquisition unit 121, and also includes version information newer than the version information obtained by the acquisition unit 121. Specifically, the second request unit 126 generates a URL for downloading the update data 710 corresponding to the compliant FW information. In this embodiment, the second request unit 126 generates a URL from Visited PLMN, SST, FW name, and version information included in the compliant FW information. However, the URL does not have to be refined by the second request unit 126. For example, the update list 606 may include URLs associated with each FW information 606a to 606g. In this case, the second request unit 126 can obtain the URL corresponding to the compliant FW information from the update list 606.
[0078] The second request unit 126 requests the database 700 to provide the update data 710 by accessing the generated URL.
[0079] Database 700 receives a request from the second request unit 126 for the provision of update data 710. Database 700 sends the update data 710 to GW100 in accordance with the received request.
[0080] The second receiving unit 127 receives the update data 710 transmitted from the database 700.
[0081] The update unit 128 updates the FW107 of the GW100 using the received update data 710.
[0082] [5. Operation of the Software Update System] The operation of the software update system 10 according to the embodiment will be described below. The processor 101 of the GW100 can execute the following FW update determination process by executing the FW update program 108. Figures 8A and 8B are flowcharts showing an example of the FW update determination process by the GW according to the embodiment.
[0083] The GW100's processor 101 obtains model information, Home PLMN, Visited PLMN, SST, FW name, and version information (step S101). As described above, the processor 101 can obtain the Home PLMN from the SIM card. The processor 101 can obtain the Visited PLMN and SST when a communication session is established with the cellular network 400. The processor 101 can obtain the FW name and version information from the FW 107.
[0084] Processor 101 generates a download URL for the update list 606 from the acquired model information and Home PLMN (step S102). Processor 101 accesses the URL and requests server 600 to provide the update list 606. Server 600 sends the update list 606 to GW100 in response to the request. Processor 101 downloads the update list 606 from server 600 (step S103).
[0085] The processor 101 determines whether the optimization flag 111 is enabled or disabled (step S104). If the optimization flag 111 is enabled (YES in step S104), the GW 100 is set to the first mode. In this case, the processor 101 determines whether there is FW information (i.e., compatible FW information) in the update list 606 that matches the acquired Visited PLMN, SST, and FW name (step S105). If compatible FW information is not present in the update list 606 (NO in step S105), the processor 101 terminates the FW update determination process. If compatible FW information is present in the update list 606 (YES in step S105), the processor 101 proceeds to step S107.
[0086] If the optimization flag 111 is disabled (NO in step S104), the GW100 is set to the second mode. In this case, the processor 101 determines whether there is FW information (i.e., compatible FW information) in the update list 606 that matches the acquired Home PLMN, SST, and FW name with the Visited PLMN, SST, and FW name (step S106). If there is no compatible FW information in the update list 606 (NO in step S106), the processor 101 terminates the FW update determination process. If there is compatible FW information in the update list 606 (YES in step S106), the processor 101 moves to step S107.
[0087] The processor 101 determines whether the version information (updated version) included in the compatible FW information is newer than the acquired version information (current version) (step S107). If the updated version is the same as or older than the current version (NO in step S107), the processor 101 terminates the FW update determination process.
[0088] If the updated version is newer than the current version (YES in step S107), the processor 101 determines whether automatic updates are enabled (step S108). If automatic updates are enabled (YES in step S108), the processor 101 performs the FW update process (step S111).
[0089] If automatic updates are disabled (NO in step S108), the processor 101 notifies the user that a firmware update is available (step S109). For example, as described above, the notification that a firmware update is available is made by the terminal 800. The user can, for example, instruct the GW100 to perform a firmware update via the terminal 800.
[0090] The processor 101 determines whether or not it has received a firmware update instruction from the user (step S110). If it has not received a firmware update instruction (NO in step S110), the processor 101 terminates the firmware update determination process. If it has received a firmware update instruction (YES in step S110), the processor 101 executes the firmware update process (step S111).
[0091] Figure 9 is a flowchart showing an example of a firmware update process by a gateway according to this embodiment.
[0092] The processor 101 generates a download URL for the update data 710 from the Visited PLMN, SST, FW name, and version information included in the compatible FW information (step S201). The processor 101 accesses the URL and requests the database 700 to provide the update data 710. The database 700 sends the update data 710 to the GW100 in response to the request. The processor 101 downloads the update data 710 from the database 700 (step S202).
[0093] Once the download of update data 710 is complete, the processor 101 installs the new firmware using update data 710 (step S203). The firmware 107 in the non-volatile memory 102 is rewritten with the new firmware.
[0094] Processor 101 restarts GW100 (step S204). This terminates the old FW107 and starts the new FW. The FW update is now complete.
[0095] Returning to Figure 8B, once the FW update process (step S111) is completed, the FW update determination process is terminated.
[0096] In the operation of the software update system 10 described above, the request for the update list 606 from GW100 to server 600 and the download of the update list 606 from server 600 to GW100, as well as the request for update data 710 from GW100 to database 700 and the download of update data 710 from database 700 to GW100, are performed through the first communication paths 510A, 510B, and 510C. However, if the communication status in the cellular networks 400A and 400C is poor, the above-mentioned communication between GW100 and server 600, and communication between GW100 and database 700, can be performed through the second communication paths 520A, 520B, and 520C.
[0097] [6. Variant] In the embodiment described above, the first request unit 122 requests the server 600 to provide an update list 606 corresponding to the combination of the GW100 model information and Home PLMN, but the embodiment is not limited to this. In the first modified example, the first request unit 122 requests the server 600 to provide an update list corresponding to Home PLMN. The non-volatile memory 602 of the server 600 stores the update list corresponding to Home PLMN.
[0098] For example, if there are three MNOs, A, C, and D, the update list corresponding to carrier A, the update list corresponding to carrier C, and the update list corresponding to carrier D are stored in the non-volatile memory 602. For example, if the acquisition unit 121 acquires "PLMN0", which is a PLMN representing carrier A, the first request unit 122 generates a URL from "PLMN0". This URL is information for downloading the update list corresponding to carrier A from the server 600.
[0099] Figure 10 shows a first modified example of the update list. The update list 606A related to the first modified example contains information that identifies the type information, Visited PLMN (operator identification information), SST (slice information), FW name, and version information for each FW available to GW100. Each update list 606A corresponds to a Home PLMN, and each update list 606A identifies the type information, Visit PLMN, SST, FW name, and version information corresponding to the available FW. Therefore, by using the update list 606A, it is possible to identify the FW corresponding to the combination of type information, Home PLMN, Visit PLMN, SST, FW name, and version information.
[0100] The update list 606A shown in Figure 10 is assumed to correspond to Home PLMN "PLMN0". In the example in Figure 10, each row is FW information corresponding to the FW available to GW100. More specifically, the first row of FW information 606Aa includes model information "TYPE01", Visited PLMN "PLMN0", FW name "FW01", and version information "1.2". FW information 606Aa indicates a FW of model "TYPE01" for GW100 that connects to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", and whose FW name is "FW01" and version is "1.2".
[0101] The second line of FW information 606Ab includes model information "TYPE01", Visited PLMN "PLMN0", slice information "SST1", FW name "FW02", and version information "2.0". FW information 606Ab indicates a FW for a GW100 of model "TYPE01" that connects to the cellular network of a telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST1", and has a FW name of "FW02" and a version of "2.0".
[0102] The third line of FW information 606Ac includes the model information "TYPE01", Visited PLMN "PLMN0", slice information "SST2", FW name "FW03", and version information "1.1.2". FW information 606Ac indicates a FW for a GW100 of model "TYPE01" that connects to the cellular network of a telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST2", and has a FW name of "FW03" and a version of "1.1.2".
[0103] The FW information 606Ad on the fourth line includes the model information "TYPE01", Visited PLMN "PLMN0", slice information "SST3", FW name "FW04", and version information "3.4". FW information 606Ad indicates a FW of model "TYPE01" for a GW100 connected to the cellular network of a telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST3", and has a FW name of "FW04" and a version of "3.4".
[0104] The FW information 606Ae on the 5th line includes the model information "TYPE01", Visited PLMN "PLMN1", FW name "FW11", and version information "2.4". FW information 606Ae indicates a FW of model "TYPE01" for a GW100 that connects to the cellular network of a telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN1", and whose FW name is "FW11" and version is "2.4".
[0105] The FW information 606Af on the 6th line includes the model information "TYPE02", Visited PLMN "PLMN0", slice information "SST2", FW name "FW41", and version information "10.2". FW information 606Af indicates a FW for a GW100 of model "TYPE02" that connects to the cellular network of a telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST2", and has a FW name of "FW41" and a version of "10.2".
[0106] The FW information 606Ag on the 7th line includes the model information "TYPE02", Visited PLMN "PLMN0", slice information "SST1", FW name "FW42", and version information "5.6.1". FW information 606Ag indicates a FW for a GW100 of model "TYPE02" that connects to the cellular network of a telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST1", and has a FW name of "FW42" and a version of "5.6.1".
[0107] The FW information 606Ah on line 8 includes the model information "TYPE02", Visited PLMN "PLMN1", slice information "SST1", FW name "FW51", and version information "3.4.2". FW information 606Ah indicates a FW of model "TYPE02" for a GW100 connected to the cellular network of a telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN1", is for slice "SST1", and has a FW name of "FW51" and a version of "3.4.2".
[0108] The FW information 606Ai on line 9 includes the model information "TYPE02", Visited PLMN "PLMN2", slice information "SST3", FW name "FW61", and version information "5.5.2". FW information 606Ai indicates a FW for a GW100 of model "TYPE02" that connects to the cellular network of a telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN2", is for slice "SST3", and has a FW name of "FW61" and a version of "5.5.2".
[0109] In the second modified example, the first request unit 122 requests the server 600 to provide an update list corresponding to the model information. The server 600's non-volatile memory 602 stores the update list corresponding to the model information.
[0110] For example, if there are two types, TYPE01 and TYPE02, the update list corresponding to TYPE01 and the update list corresponding to TYPE02 are stored in the non-volatile memory 602. For example, if the acquisition unit 121 acquires the type information "TYPE01", the first request unit 122 generates a URL from "TYPE01". This URL is information for downloading the update list corresponding to TYPE01 from the server 600.
[0111] Figure 11 shows a second modified version of the update list. The update list 606B related to the second modified version is information that identifies the Home PLMN, Visited PLMN, SST, FW name, and version information for each FW available to GW100. Each update list 606B corresponds to the model information, and each update list 606B identifies the Home PLMN, Visit PLMN, SST, FW name, and version information corresponding to the available FW. Therefore, by using the update list 606B, it is possible to identify the FW corresponding to the combination of model information, Home PLMN, Visit PLMN, SST, FW name, and version information.
[0112] The update list 606B shown in Figure 11 is assumed to correspond to the model information "TYPE01". In the example in Figure 10, each row is FW information corresponding to the FW available for GW100. More specifically, the first row of FW information 606Ba includes Home PLMN "PLMN0", Visited PLMN "PLMN0", FW name "FW01", and version information "1.2". FW information 606Ba indicates a FW for GW100 of model "TYPE01" that connects to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", and whose FW name is "FW01" and version is "1.2".
[0113] The second line of FW information 606Bb includes Home PLMN "PLMN0", Visited PLMN "PLMN0", slice information "SST1", FW name "FW02", and version information "2.0". FW information 606Bb indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST1", and has a FW name of "FW02" and a version of "2.0".
[0114] The third line of FW information 606Bc includes Home PLMN "PLMN0", Visited PLMN "PLMN0", slice information "SST2", FW name "FW03", and version information "1.1.2". FW information 606Bc indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST2", and has a FW name of "FW03" and a version of "1.1.2".
[0115] The FW information 606Bd on the fourth line includes Home PLMN "PLMN0", Visited PLMN "PLMN0", slice information "SST3", FW name "FW04", and version information "3.4". FW information 606Bd indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN0, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN0", is for slice "SST3", and has a FW name of "FW04" and a version of "3.4".
[0116] The FW information on the 5th line, 606Be, includes Home PLMN "PLMN0", Visited PLMN "PLMN1", FW name "FW11", and version information "2.4". FW information 606Be indicates a FW of type "TYPE01" for the GW100 that connects to the cellular network of the telecommunications carrier identified as PLMN0, which has been verified to work by the telecommunications carrier identified as Visited PLMN "PLMN1", and whose FW name is "FW11" and version is "2.4".
[0117] The FW information 606Bf on the 6th line includes Home PLMN "PLMN2", Visited PLMN "PLMN2", slice information "SST1", FW name "FW71", and version information "8.3.1". FW information 606Bf indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN2, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN2", is for slice "SST1", and has a FW name of "FW71" and a version of "8.3.1".
[0118] The FW information 606Bg on the 7th line includes Home PLMN "PLMN2", Visited PLMN "PLMN2", slice information "SST2", FW name "FW72", and version information "6.7.3". FW information 606Bg indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN2, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN2", is for slice "SST2", and has a FW name of "FW72" and a version of "6.7.3".
[0119] The FW information 606Bh on line 8 includes Home PLMN "PLMN2", Visited PLMN "PLMN1", slice information "SST1", FW name "FW81", and version information "10.3.1". FW information 606Bh indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN2, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN1", is for slice "SST1", and has a FW name of "FW81" and a version of "10.3.1".
[0120] Line 9, FW information 606Bi, includes Home PLMN "PLMN2", Visited PLMN "PLMN1", slice information "SST2", FW name "FW82", and version information "10.2.8". FW information 606Bi indicates a FW of type "TYPE01" for a GW100 connected to the cellular network of the telecommunications carrier identified by PLMN2, which has been verified to work by the telecommunications carrier identified by Visited PLMN "PLMN1", is for slice "SST2", and has a FW name of "FW82" and a version of "10.2.8".
[0121] In the embodiment described above, the server 600 provides the update list 606 to the GW100 and the database 700 provides the update data 710 to the GW100, but the embodiment is not limited to this. For example, the server 600 may provide both the update list 606 and the update data 710 to the GW100.
[0122] [7. Effects] The software update system 10 according to this embodiment includes a GW100 (communication device) and a server 600. The GW100 is connectable to a cellular network 400. The server 600 provides the GW100 with an update list 606 (update information) used to update the FW107 (control software) for the GW100. The GW100 includes an acquisition unit 121, a first request unit 122, a second request unit 126, and an update unit 128. The acquisition unit 121 acquires first carrier identification information for identifying the communication carrier providing the cellular network 400 to which the GW100 is connected. The first request unit 122 requests the server 600 to provide an update list 606 in which second carrier identification information corresponding to each FW available to the GW100 is specified. The second request unit 126 requests the provision of update data 710 to update the FW corresponding to the second business identifier information if the first business identifier information and the second business identifier information match. The update unit 128 updates the FW 107 for GW100 using the received update data 710. This allows GW100 to identify the FW provided by the telecommunications carrier of the cellular network 400 to which GW100 is connected, and to update to the identified FW. Therefore, the updating of GW100's FW becomes more efficient.
[0123] The above embodiment describes a case where the communication device 100 performs the processing necessary to select appropriate update data 710, but it is not limited to this. For example, the server 600 may perform the processing. In this case, the communication device 100 transmits some or all of the following information to the server 600: carrier identification information, Home PLMN, Visited PLMN, model information of the communication device 100, slice information, and other information. The server 600 then determines whether or not there is update data for the control software corresponding to the carrier identification information and whether or not the update is possible. The server 600 then transmits the result of that determination (appropriate update data 710) to the communication device 100. Thus, the selection and determination processing can also be performed by a device other than the communication device 100.
[0124] [8. Supplementary Notes] The embodiments disclosed herein are illustrative in all respects and are not restrictive. The scope of the present invention is indicated by the claims rather than by the embodiments described above, and includes the meaning of equivalents to the claims and all modifications within that scope.
[0125] Each process (each function) of the above-described embodiment is implemented by a processing circuit (Circuitry) including one or more processors. In addition to the one or more processors, the processing circuit may consist of an integrated circuit that combines, for example, one or more memories, various analog circuits, and various digital circuits. The one or more memories store programs (instructions) that cause the one or more processors to execute each of the above processes. The one or more processors may execute each of the above processes according to the programs read from the one or more memories, or they may execute each of the above processes according to logic circuits that have been pre-designed to execute each of the above processes. The processors may be various processors suitable for computer control, such as a CPU (Central Processing Unit), GPU (Graphics Processing Unit), DSP (Digital Signal Processor), FPGA (Field Programmable Gate Array), and ASIC (Application Specific Integrated Circuit). Note that the physically separated multiple processors may cooperate with each other to execute each of the above processes. For example, the processors installed in each of several physically separate computers may cooperate with each other via a network such as a LAN (Local Area Network), WAN (Wide Area Network), and the Internet to perform the above processes. The program may be installed in the memory via the network from, for example, an external server device, or it may be distributed on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), DVD-ROM (Digital Versatile Disk Read Only Memory), and semiconductor memory, and then installed in the memory from the recording medium. [Explanation of Symbols]
[0126] 10. Software update system 100, 100A, 100B, 100C Gateway (GW, communication device) 101 Processors 102 Non-volatile memory 103 Volatile memory 104 Input / Output Interface (I / O) 105 First Communication Interface (First Communication I / F) 106 Second Communication Interface (Second Communication I / F) 107 Firmware (FW, control software) 108 FW update 109 GW Program 110 Model Information 111 Optimization Flag 121 Acquisition Department 122 1st request part 123 First Receiving Unit 124 Notification Department 125 Instruction Reception Department 126 2nd request part 127 Second Receiving Unit 128 Update Department 200 sensors 300,300A,300B,300C Wireless base station 400, 400A, 400C Cellular Network (Mobile Communication Network) 410, 410A, 410C UDM 500 Internet 510, 510A, 510B, 510C First communication path 520, 520A, 520B, 520C Second communication path 600 Servers 601 Processor 602 Non-volatile memory 603 Volatile memory 604 Communication Interface (Communication I / F) 605 FOTA server program 606, 606A, 606B Update List 606a,606b,606c,606d,606e,606f,606g,606Aa,606Ab,606Ac,606Ad,606Ae,606Af, 606Ag,606Ah,606Ai,606Ba,606Bb,606Bc,606Bd,606Be,606Bf,606Bg,606Bh,606Bi FW information 611 Request Reception Department 612 Update information provision department 700 databases 710 Update Data 800 devices
Claims
1. A communication device capable of connecting to a mobile communication network, A server that provides update information used to update the control software for the aforementioned communication device to the aforementioned communication device, Equipped with, The aforementioned communication device is An acquisition unit that acquires first carrier identification information for identifying the telecommunications carrier providing the mobile communication network to which the communication device is connected, A first request unit requests the server to provide the update information, which specifies a second carrier identification information corresponding to the control software that can be provided to the communication device, A second request unit requests the provision of update data for updating the control software corresponding to the second business identification information when the first business identification information and the second business identification information match. An update unit updates the control software for the communication device based on the received update data, Includes, The acquisition unit further acquires slice information indicating the network slice set in the communication device, The update information is provided to the communication device by the control software, which specifies the second carrier identification information and slice information indicating a network slice corresponding to the control software. The second request unit requests the provision of update data for updating the control software corresponding to the second business identification information and slice information when the first business identification information and slice information match the second business identification information and slice information. Software update system.
2. The aforementioned update information identifies PLMN as the second business identification information. The acquisition unit acquires Visited PLMN as the second business identification information. The software update system according to claim 1.
3. The acquisition unit further acquires Home PLMN, The first request unit requests the server to provide the update information corresponding to the Home PLMN acquired by the acquisition unit. The software update system according to claim 2.
4. The second request unit requests the provision of update data for updating the control software corresponding to the Visited PLMN if the Visited PLMN obtained by the acquisition unit is different from the Home PLMN, and the PLMN specified in the update information matches the Visited PLMN obtained by the acquisition unit. The software update system according to claim 3.
5. The communication device can be configured to operate in either a first mode or a second mode. The second request unit, when the first mode is set, requests the provision of update data for updating the control software corresponding to the Visited PLMN when the PLMN identified in the update information matches the Visited PLMN acquired by the acquisition unit, and when the second mode is set, requests the provision of update data for updating the control software corresponding to the Home PLMN when the PLMN identified in the update information matches the Home PLMN acquired by the acquisition unit. The software update system according to claim 3.
6. The acquisition unit further acquires the model information of the communication device, The first request unit requests the server to provide the update information corresponding to the type information acquired by the acquisition unit. A software update system according to any one of claims 1 to 5.
7. The communication device further includes a notification unit that, when the first carrier identification information and the second carrier identification information match, notifies the user that it is possible to update the control software corresponding to the second carrier identification information. When the second request unit receives an instruction from the user to update the control software corresponding to the second business identification information, it requests the provision of the update data. A software update system according to any one of claims 1 to 5.
8. A communication device that can connect to a mobile communication network, An acquisition unit that acquires first carrier identification information for identifying the telecommunications carrier providing the mobile communication network to which the communication device is connected, A first request unit requests the server to provide update information that identifies a second carrier identification information corresponding to the control software that can be provided to the aforementioned communication device, A second request unit requests the provision of update data to update the control software corresponding to the second business identification information when the first business identification information and the second business identification information match. An update unit updates the control software for the communication device based on the received update data, Equipped with, The acquisition unit further acquires slice information indicating the network slice set in the communication device, The update information is provided to the communication device by the control software, which specifies the second carrier identification information and slice information indicating a network slice corresponding to the control software. The second request unit requests the provision of update data for updating the control software corresponding to the second business identification information and slice information when the first business identification information and slice information match the second business identification information and slice information. Communication device.
9. A communication device capable of connecting to a mobile communication network, A server that provides update information used to update the control software for the aforementioned communication device to the aforementioned communication device, A software update method relating to a software update system equipped with, The steps include obtaining first carrier identification information for identifying the telecommunications carrier providing the mobile communication network to which the communication device is connected, The steps include requesting the server to provide the update information, which identifies a second carrier identification information corresponding to the control software that can be provided to the communication device, If the first business identification information and the second business identification information match, the step of requesting the provision of update data for updating the control software corresponding to the second business identification information, The steps include updating the control software for the communication device using the received update data, Includes, In the aforementioned acquisition step, slice information indicating the network slice set in the communication device is further acquired, The update information is provided to the communication device by the control software, which specifies the second carrier identification information and slice information indicating a network slice corresponding to the control software. In the step of requesting the provision of the update data, if the first business identification information and slice information match the second business identification information and slice information, the system requests the provision of update data to update the control software corresponding to the second business identification information and slice information. How to update the software.