WO2023148811A1 - 空気調和システムおよび空気調和装置 - Google Patents

空気調和システムおよび空気調和装置 Download PDF

Info

Publication number
WO2023148811A1
WO2023148811A1 PCT/JP2022/003804 JP2022003804W WO2023148811A1 WO 2023148811 A1 WO2023148811 A1 WO 2023148811A1 JP 2022003804 W JP2022003804 W JP 2022003804W WO 2023148811 A1 WO2023148811 A1 WO 2023148811A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
air conditioner
memory
air conditioning
program
Prior art date
Application number
PCT/JP2022/003804
Other languages
English (en)
French (fr)
Inventor
圭吾 井口
貴之 辻
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2023578215A priority Critical patent/JPWO2023148811A1/ja
Priority to PCT/JP2022/003804 priority patent/WO2023148811A1/ja
Publication of WO2023148811A1 publication Critical patent/WO2023148811A1/ja

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F11/00Control or safety arrangements
    • F24F11/50Control or safety arrangements characterised by user interfaces or communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Definitions

  • the present disclosure relates to air conditioning systems and air conditioners.
  • an air conditioning system that includes a server that stores update software and an air conditioner that updates control software with the update software received from the server.
  • Patent Document 1 International Publication No. 2017/199331 discloses a server storing update software for an air conditioner, a wireless adapter that receives the update software from the server, and a wireless adapter that receives the update software.
  • An air conditioning system is described that includes an air conditioner that updates software stored in memory with updating software.
  • a remote device such as a server collectively distributes update software for updating the software of the air conditioner to the air conditioner, and the air conditioner receives the received update software and distributes it to the user in use. Separately from the software, it was temporarily stored in memory.
  • the present disclosure aims to reduce the memory capacity required for the air conditioner and shorten the update time when updating the software of the air conditioner.
  • An air conditioning system includes a first air conditioner and a server that distributes air conditioning software to the first air conditioner.
  • the first air conditioner has a first processor that executes air conditioning software and a first memory that stores the air conditioning software. and basic software for managing jobs of a plurality of application software, and the server stores first update data necessary for the first air conditioner to update one of the plurality of application software to the first air conditioner, and the first processor updates the corresponding application software in the first memory using the basic software based on the first update data.
  • An air conditioner includes a first processor that executes air conditioning software and a first memory that stores air conditioning software.
  • the air conditioning software includes a plurality of application software for realizing a plurality of functions provided by the air conditioner, and basic software for managing jobs of the plurality of application software.
  • the first processor is a server that distributes the air conditioning software. communicable, the first processor, when receiving from the server first update data required to update one of the plurality of application software, updates the basic software based on the first update data; is used to update the corresponding application software in the first memory.
  • FIG. 1 is a diagram showing the overall configuration of an air conditioning system according to Embodiment 1;
  • FIG. FIG. 2 is a diagram showing part of data contained in a database constructed in a storage device;
  • FIG. It is a figure which shows the outline
  • 4 is a flowchart showing an overview of the flow of updating air conditioning software;
  • FIG. 10 is a flow chart showing the flow of processing for searching for properties that have installed air conditioners in which updated air conditioning software is stored when air conditioning software is updated on the cloud.
  • FIG. 10 is a flow chart showing a flow of processing for determining whether or not distribution of target air-conditioning software is permitted in an air conditioner when air-conditioning software is updated on the cloud.
  • FIG. 4 is a flow chart showing the flow of processing for updating the application program of the air conditioner with the application program updated on the cloud.
  • 4 is a flow chart showing the flow of processing for updating the basic program of the air conditioner with the updated basic program on the cloud.
  • 4 is a flow chart showing the flow of processing for updating the basic program of the air conditioner with the updated basic program on the cloud.
  • FIG. 10 is a block diagram showing a specific example of processing for changing an entry point in the flowcharts of FIGS. 8 and 9; FIG. It is a figure which shows the property data registered into the database.
  • FIG. 4 is a diagram showing a specific example of a procedure for an air conditioner to calculate priorities.
  • FIG. 4 is a block diagram for explaining a procedure for a server to create an estimation model using a learning device; FIG.
  • FIG. 10 is a block diagram for explaining a procedure for estimating the priority of application program usage by the server using a learned estimation model;
  • FIG. 10 is a flow chart showing a procedure for registering first data and a property ID of a new property in a database when an air conditioner is installed in the new property;
  • FIG. 10 is a flowchart for explaining a procedure for creating a learned estimation model;
  • FIG. 4 is a flowchart for explaining a procedure for determining priority of application software recommended for an air conditioner; It is a figure showing the whole air-conditioning system composition as a modification.
  • FIG. 7 is a flowchart for explaining a modification related to FIG. 6;
  • FIG. 10 is a block diagram for explaining a procedure for estimating the priority of application program usage by the server using a learned estimation model;
  • FIG. 10 is a flow chart showing a procedure for registering first data and a property ID of a new property in a database when an air conditioner is installed in the new property;
  • FIG. 10 is
  • FIG. 1 is a diagram showing the overall configuration of an air conditioning system 1 according to Embodiment 1.
  • the air conditioning system 1 includes a remote control system 3 and air conditioners 200A, 200B, .
  • Each of the air conditioners 200A, 200B, . . . has a similar hardware configuration.
  • the hardware configuration of the air conditioners 200A, 200B, . . . may not be completely the same.
  • the number of indoor units or outdoor units included in the air conditioner 200A may differ from the number of indoor units or outdoor units included in the air conditioner 200B.
  • FIG. 1 shows two properties 300A and 300B as representative examples. In the following, the properties 300A, 300B, .
  • the number of properties 300 is not limited to two.
  • the remote control system 3 may be connected to air conditioners 200 installed in each of a large number of properties 300 .
  • the property 300 means the place where the air conditioner 200 is installed.
  • the remote control system 3 includes a terminal device 10, terminal devices 20A, 20B, . . . , a cloud 30, and a wide area network 60.
  • Cloud 30 is composed of server 100 and storage device 50 .
  • the server 100 performs various functions of the remote control system 3 using the database constructed in the storage device 50 .
  • the cloud 30 is communicably connected to the terminal device 10, the terminal devices 20A, 20B, . . . , and the air conditioners 200A, 200B, .
  • the terminal device 10 is operated by, for example, a developer of the air conditioner 200 .
  • the terminal devices 20A, 20B, . . . are operated by respective users of the air conditioners 200A, 200B, .
  • the terminal device 20A is operated by the user of the air conditioner 200A installed in the property 300A.
  • the terminal device 20B is operated by the user of the air conditioner 200B installed in the property 300B.
  • 20 A of terminal devices are installed in property 300A, for example.
  • the terminal device 20B is installed at the property 300B, for example.
  • the terminal device 20A may be installed at a location other than the property 300A.
  • the terminal device 20 is configured by, for example, a personal computer.
  • the terminal device 20 may be configured by a mobile terminal such as a smart phone.
  • the air conditioner 200 includes a management device 201, an indoor unit 202, and an outdoor unit 203.
  • the management device 201 includes a processor 211 functioning as a control unit and a memory 212 storing various programs.
  • Management device 201 controls air conditioner 200 based on air conditioning software installed in air conditioner 200 .
  • Each of the indoor unit 202 and the outdoor unit 203 includes an air conditioning component such as a heat exchanger.
  • the management device 201 may be included.
  • FIG. 2 is a diagram showing part of the data contained in the database 51 constructed in the storage device 50. As shown in FIG. As shown in FIG. 2, at least master data 52 and model identification data 53 are registered in the database 51 .
  • the master data 52 includes a software group configured for each model lineup of the air conditioner 200 and version information of each software included in the software group.
  • the model specifying data includes the model of the air conditioner 200 for each property 300A, 300B, and the type and version information of the software installed in each of the air conditioners 200A, 200B, and so on.
  • the developer of the air conditioner 200 upgrades any of the plurality of air conditioning software
  • the upgraded air conditioning software is uploaded to the cloud 30 .
  • the person in charge of the developer can upload updated air conditioning software to the cloud 30 by operating the terminal device 10 .
  • the upgraded air conditioning software is newly registered in the master data 52 of the database 51 .
  • the server 100 can identify the model of the air conditioner 200, the type of installed software, and the software version for each property 300 by referring to the database 51 constructed in the storage device 50.
  • the server 100 transmits data for updating the air conditioning software to the air conditioners 200 of the properties 300 in which the corresponding air conditioning software is installed.
  • the target air conditioner 200 can update the air conditioning software to the latest state.
  • FIG. 3 is a diagram showing an overview of the software configuration and hardware configuration of the air conditioner 200.
  • the air conditioner 200 includes air conditioning software 210 as a software configuration and a hardware device 240 as a hardware configuration.
  • Air-conditioning software 210 is stored, for example, in memory 212 of management device 201 .
  • the hardware device 240 includes a temperature sensor 241 that detects the temperature of the refrigerant flowing through the refrigerant circuit, a pressure sensor 242 that detects the pressure of the refrigerant flowing through the refrigerant circuit, and external temperature and humidity.
  • a temperature/humidity sensor 243 that controls the temperature and humidity, a compressor 244 that discharges high-temperature and high-pressure refrigerant to the refrigerant circuit, a fan 245 that convects air near the heat exchanger, and a valve 246 such as an expansion valve that adjusts the pressure of the refrigerant.
  • a temperature sensor 241 that detects the temperature of the refrigerant flowing through the refrigerant circuit
  • a pressure sensor 242 that detects the pressure of the refrigerant flowing through the refrigerant circuit
  • external temperature and humidity external temperature and humidity.
  • a temperature/humidity sensor 243 that controls the temperature and humidity
  • a compressor 244 that discharges high-temperature and high-pressure ref
  • the management device 201 controls the air conditioner 200 according to the air conditioning software 210. Detection values of the temperature sensor 241, the pressure sensor 242, and the temperature/humidity sensor 243 are input to the management device 201 (see FIG. 1). Management device 201 controls the operating frequency of compressor 244 and the degree of opening of valve 246 in consideration of the values detected by temperature sensor 241 and pressure sensor 242 .
  • the basic software section 220 includes a job control section 222 , a data management section 223 , a communication section 224 , a device driver 225 and a job scheduler 226 .
  • the job schedule 226 describes a job execution procedure.
  • the device driver 225 controls the job schedule 226 and the hardware device 240.
  • the communication unit 224 performs data communication with the wide area network 60 to which the air conditioner 200 is connected.
  • the data management section 223 manages the input/output information of the device driver 225 and exchanges data with the program of the application software section 230 .
  • the data management unit 223 manages commands from the job control unit 222 and also manages the states of various programs.
  • the job schedule 226 describes program priorities, program execution conditions, and program stop conditions.
  • the job control unit 222 outputs execution instructions and stop instructions for various programs based on the priority of those programs, the conditions for executing the programs, and the conditions for stopping the programs.
  • the various programs include various programs of the basic software section 220 and various programs of the application software section 230 .
  • the job control unit 222 monitors commands received from the communication unit 224 and the status of various programs held by the data management unit 223 in order to determine job schedule conditions.
  • the application program 231 of the application software section 230 implements various functions of the air conditioner 200 .
  • Each of the plurality of application programs 231 operates independently without being aware of competition among the application programs 231 .
  • the application program 231 is a highly flexible program designed by the designer individually declaring the functions and purposes of the air conditioner 200 on the program and defining the input, arithmetic algorithm, and output on the program. be.
  • the application software section 230 is composed of a group of programs that describe control algorithms that implement the functions of the air conditioner 200 .
  • the program group is composed of individual program units such as an operation control program 231A, a device protection control program 231B, a defrosting control program 231C, and the like, for example. Execution of each program creates program control states of start, run, and stop.
  • the operation control program 231A inputs the data of the communication unit 224, the detection value of the temperature sensor 241, and the detection value of the pressure sensor 242, performs calculation, and obtains the control values of the compressor 244, the fan 245, and the valve 246. Output.
  • the device protection control program 231B and the defrost control program 231C also input the detection value of the temperature sensor 241 and the detection value of the pressure sensor 242, perform calculations, and operate the compressor 244, the fan 245, and the valve 246. Output the control value.
  • the programs constituting the job control unit 222, the data management unit 223, the communication unit 224, the device driver 225, and the job schedule 226 of the basic software unit 220 are referred to as "basic programs (basic software). 221”.
  • Various application programs 231 may be processed in parallel according to instructions from the job control unit 222 . Various application programs 231 may share the same data at the same time. Data that needs to be shared is managed by the data management unit 223 .
  • the operation control program 231A determines the value to be output to the compressor 244, the fan 245, and the valve 246 based on the detection value of the temperature sensor 241, the detection value of the pressure sensor 242, and the indoor set temperature received by the communication unit 224. Calculate. By executing the operation control program 231A in this manner, operation in the normal operation mode (cooling operation or heating operation) is realized.
  • the application software section 230 needs to execute the device protection control program 231B in order to switch the operation mode from the normal operation mode to the abnormal mode.
  • the information of the temperature sensor 241 and the pressure sensor 242 may be shared between the operation control program 231A and the device protection control program 231B via the data management unit 223.
  • Output values to compressor 244 , fan 245 , and valve 246 may also be shared by multiple application programs 231 in application software section 230 via data management section 223 . These output values are notified to the device driver 225 according to the priority described in the job schedule 226.
  • the basic software section 220 is composed of basic programs 221 spanning various application programs 231 in the application software section 230 .
  • the application programs 231 belonging to the application software section 230 each independently output calculation results. Therefore, when each application program 231 simultaneously outputs the calculation results to the actuators such as the compressor 244, the fan 245, and the valve 246, competition occurs.
  • FIG. 4 is a flowchart outlining the flow of updating the air conditioning software 210 . This flowchart is executed by the air conditioning system 1 .
  • the air-conditioning software 210 is updated in three steps: generation of update, determination of whether update is possible, and update processing, as shown in FIG.
  • the object to be updated is the basic program 221 constituting the basic software section 220 or the application program 231 in the application software section 230 . Data required for updating is distributed from the server 100 of the cloud 30 to the air conditioner 200 .
  • the updated application program 231 is delivered to the air conditioner 200 .
  • difference data required for updating may be distributed to the air conditioner 200 instead of the application program 231 itself. Therefore, the update data distributed from the server 100 to the air conditioner 200 may be the program (basic program or application program) itself, and data including the contents necessary for updating the target program (for example, difference data).
  • the basic software section 220 updates only the application program 231 required for updating, rather than updating the entire application software section 230. Therefore, the minimum update unit is one application program 231 .
  • the air conditioner 200 updates the basic program 221 of the basic software section 220 .
  • Step S100 is determined by the server 100 .
  • Server 100 determines that updating of air-conditioning software 210 is necessary when any update program constituting air-conditioning software 210 is registered in storage device 50 . More specifically, server 100 determines that updating of air-conditioning software 210 is necessary when any update program constituting air-conditioning software 210 is registered in master data 52 of database 51 .
  • step S100 If it is determined in step S100 that updating is unnecessary, the process based on this flowchart ends.
  • step S100 it is determined whether or not the air conditioning software 210 can be updated in the air conditioner 200 (step S200).
  • step S200 if the remaining capacity of the memory 212 of the air conditioner 200 is less than the capacity required for updating the air conditioning software 210, it is determined in step S200 that the air conditioning software 210 cannot be updated. This determination is performed in air conditioner 200 or server 100, for example.
  • the air conditioner 200 can determine step S200.
  • the server 100 can determine step S200.
  • step S200 If it is determined in step S200 that the update is not possible, the processing based on this flowchart ends. Note that if the remaining capacity of the memory 212 of the air conditioner 200 is less than the capacity required for updating the air conditioning software 210, the server 100 notifies the terminal device 20 corresponding to the air conditioner 200 of the lack of capacity. good.
  • the data in the memory 212 of the air conditioner 200 may be arranged by operating the terminal device 20 by the user.
  • the air conditioner 200 When the remaining capacity of the memory 212 of the air conditioner 200 is less than the capacity required for updating the air conditioning software 210, the air conditioner 200 automatically organizes the data in the memory 212 and then downloads the update program from the server 100. It may operate to receive.
  • air conditioner 200 deletes the application program and then Updates may be received from server 100 .
  • the air conditioner 200 can execute the update process according to the schedule after writing the schedule for executing the update process using the update program in the job schedule 226 .
  • Step S400 the air conditioning software 210 of the air conditioner 200 is updated (step S400).
  • Step S ⁇ b>400 is executed by server 100 and air conditioner 200 . That is, the server 100 distributes the air conditioning software 210 to be updated to the air conditioner 200 .
  • the air conditioner 200 updates the target air conditioning software 210 using the received air conditioning software 210 .
  • FIG. 5 and 6 relate to updating the application software section 230
  • FIG. 7 relates to updating the basic software section 220.
  • FIG. 5 is a flow chart showing the flow of processing for searching for properties 300 installed with air conditioners 200 storing updated air conditioning software 210 when air conditioning software 210 is updated on cloud 30. .
  • the processing based on this flowchart is executed by the air conditioning system 1 .
  • server 100 determines whether air conditioning software 210 has been updated on cloud 30 (step S102).
  • the basic program 221 and the application program 231 can be updated individually.
  • the application program 231 there are a plurality of types such as an operation control program 231A, a device protection control program 231B, a defrosting control program 231C, .
  • step S102 it is determined whether any of those programs have been updated on the cloud 30.
  • FIG. 1 it is determined whether any of those programs have been updated on the cloud 30.
  • step S102 If it is determined in step S102 that the air conditioning software 210 has not been updated, the processing based on this flowchart ends.
  • the server 100 searches for the target property 300 (step S104).
  • the property 300 searched here is the property 300 that has installed the air conditioner 200 including the program corresponding to the updated air conditioning software 210 .
  • the basic program 221 is assigned a different ID for each model of the air conditioner 200 .
  • Different IDs are assigned to the application programs 231 according to their types. Therefore, for example, different IDs are assigned to the operation control program 231A, the device protection control program 231B, the defrosting control program 231C, and so on.
  • the ID of the basic program 221 and the ID of the application program 231 of the air conditioner 200 are registered for each property 300A, 300B.
  • the server 100 uses the database 51 to search for an air conditioner 200 in which a program with an ID matching the ID of the updated air conditioning software 210 is installed. Further, the server 100 uses the database 51 to search for the property 300 that has installed the air conditioner 200 found as a result of the search.
  • the server 100 selects an air conditioner 200 that has a free area for writing the update program, from among the air conditioners 200 installed in the property 300 found by the search (step S106). For example, the server 100 receives the size of the free space from the air conditioner 200 installed in the property 300 found by the search. Thereby, the server 100 can determine whether or not there is an empty area in which the update program is written in the air conditioner 200 .
  • the server 100 notifies the terminal device 20 corresponding to the property 300 in which the selected air conditioner 200 is installed that the update has occurred (step S108). As a result, one or a plurality of terminal devices 20 are notified of the occurrence of the update according to the number of properties 300 in which the air conditioners 200 to be updated are installed.
  • the server 100 determines whether the air conditioning software 210 to be updated is the application program 231 (step S110). If the air conditioning software 210 to be updated is not the application program 231, the process proceeds to step S114. If the air-conditioning software 210 to be updated is the application program 231, the server 100 notifies the terminal device 20 corresponding to the property 300 not selected in step S106 that the application program 231 can be newly installed. (step S112).
  • one or more terminal devices 20 that have received the notification of step S108 or step S112 from the server 100 notify that the air conditioning software 210 will be updated or that the application program 231 can be newly installed. It is displayed on the display 40 (step S114).
  • the user who understands that the update of the air conditioning software 210 will occur due to the display on the display 40 determines whether or not to permit the update of the air conditioning software 210 .
  • the user who understands from the display on the display 40 that the new application program 231 can be installed determines whether or not to permit the installation of the new application program 231 .
  • the terminal device 20 accepts an operation indicating permission to update the air conditioning software 210 (basic program 221 or application program 231) or newly install the application program 231 (step S116).
  • step S116 when the user's operation is detected, the terminal device 20 selects the air conditioner 200 to update the air conditioning software 210 or the air conditioner 200 to newly install the application program 231 from the cloud 30.
  • the server 100 is notified (step S120). This completes the processing based on this flowchart.
  • step S120 the server 100 can identify to which of the plurality of air conditioners 200 the update program should be distributed.
  • step S116 if no user operation is detected (when an operation that does not permit distribution is detected), server 100 is not notified of the air conditioner 200 to update or newly install the program. As a result, the update program is not distributed to the air conditioner 200 in question.
  • FIG. 6 is a flowchart showing a flow of processing for determining whether or not distribution of target air-conditioning software 210 is permitted in air conditioner 200 when air-conditioning software 210 is updated on cloud 30. .
  • the server 100 transmits program information and a distribution permission request to the target air conditioner 200 (step S202).
  • the target air conditioner 200 is the air conditioner 200 for which the server 100 has received the notification in step S120 of FIG. Therefore, the process of step S202 is performed for one or more air conditioners 200.
  • the program information includes the ID, program capacity, and version information of the air conditioning software 210 to be distributed (either the basic program 221 or a plurality of application programs 231).
  • the air conditioner 200 that has received the program information and the request for permission to distribute determines whether there is sufficient free space for installing the program to be distributed (step S204). More specifically, the management device 201 of the air conditioner 200 determines whether or not the memory 212 has sufficient free space for installing the distribution target program.
  • the air conditioner 200 adds update processing to the job schedule 226 (step S206).
  • the update process is added to the job schedule 226 by the management device 201 of the air conditioner 200.
  • the update process is a process of updating either the existing basic program 221 or multiple application programs 231 included in the air conditioning software 210 .
  • the update process is a process of installing a new application program 231 .
  • the air conditioner 200 returns a delivery permission to the server 100 of the cloud 30 (step S208).
  • Server 100 that has received the distribution permission determines YES in step S402 of FIG. 7, which will be described later.
  • step S204 determines NO in step S204, it returns a delivery impossibility to the server 100 of the cloud 30 (step S210), and ends the processing based on this flowchart.
  • the server 100 that has received the disapproval of delivery determines NO in step S402 of FIG. 7, which will be described later.
  • FIG. 7 is a flow chart showing the flow of processing for updating the application program 231 of the air conditioner 200 with the application program 231 updated on the cloud 30 .
  • program means any one of the plurality of application programs 231 .
  • the server 100 determines whether updating of the update program (application program 231) to the target air conditioner 200 is permitted (step S402). If the update of the program of the target air conditioner 200 is not permitted, the processing based on this flowchart ends. When the update of the program of the target air conditioner 200 is permitted, the server 100 distributes the update program to the target air conditioner 200 (step S404).
  • the communication unit 224 of the target air conditioner 200 receives the distributed update program, and the job control unit 222 detects the reception (step S406). Job control unit 222 recognizes that the received data is an update program. The job control unit 222 executes update processing of the job schedule 226 (step S408). The update process activates the data management unit 223 . The data management unit 223 starts processing to store the received update program in the free space of the memory 212 (step S410).
  • step S412 the data management unit 223 determines whether or not the process of storing the update program in the free space has ended.
  • the data management unit 223 repeats the process of step S412 until the process of storing the update program in the free space is completed.
  • the job control unit 222 searches the job schedule 226 for the ID of the update program (step S414). (step S416).
  • step S408 the job control unit 222 changes the entry point of the job schedule 226 so that the updated program will be activated the next time the program with that ID is activated.
  • the program (application program 231) with that ID is called next time, the updated program is activated.
  • the data management unit 223 may delete the pre-update program from the memory 212 when the post-update program is activated.
  • FIG. 10 is a block diagram showing a specific example of processing for changing the entry point in the flowcharts of FIGS. 8 and 9.
  • FIG. FIG. 10 shows the relationship between job schedule 226 and program area 213 .
  • a program area 213 is provided in the memory 212 .
  • the program area 213 has a free area 214 that can store update programs.
  • program means the basic program 221.
  • the server 100 determines whether distribution of the update program (basic program 221) of the target air conditioner 200 is permitted (step S602). If the update of the program of the target air conditioner 200 is not permitted, the processing based on this flowchart ends. When the update of the program of the target air conditioner 200 is permitted, the server 100 distributes the update program to the target air conditioner 200 (step S604).
  • the communication unit 224 of the target air conditioner 200 receives the distributed update program, and the job control unit 222 detects the reception (step S606).
  • Job control unit 222 recognizes that the received data is an update program.
  • the job control unit 222 executes update processing of the job schedule 226 (step S608).
  • the update process activates the data management unit 223 .
  • the data management unit 223 starts processing to store the received update program in the free area 214 of the program area 213 in units of program modules (step S610).
  • Each of the plurality of program modules constitutes a job control section 222, a data management section 223, a communication section 224, a device driver 225, and the like of the basic software section 220.
  • FIG. 10 shows a state in which the update program modules (1) to (3) are stored in the empty area 214 of the program area 213.
  • FIG. The program area 213 also stores the currently used old program modules (1) to (3) before update.
  • update program modules (1) to (3) are sequentially stored in empty area 214.
  • step S612 determines whether there is an update program module that has been completely stored in the free space 214 (step S612). Although step S610 is continuously executed, if there is no update program module that has been completely stored in the free area 214, the process proceeds to step S618. If there is an update program module that has been completely stored in the free space 214, the job control unit 222 searches the job schedule 226 for a program module with the same ID as that of the update program module (step S614).
  • the job control unit 222 changes the entry point of the program module corresponding to the ID in the job schedule 226 from the old module to the new module (step S616).
  • Step S618 is determined for the program module whose entry point has been changed in step S616. If the entry point has already been changed from the pre-update program module to the post-update program module, the pre-update program module can be deleted. However, when the pre-update program module is operating, it is necessary to delete the pre-update program module after the operation is completed.
  • step S618 the data management unit 223 deletes the pre-update program module from the program area 213 (step S620). However, if determined as YES in step S618, the process proceeds to step S622 without executing the process of step S620. In step S622, the job control unit 222 determines whether the process of storing all update program modules in the free area 214 has been completed. If the process of storing all update program modules in the free space 214 has not been completed, the process returns to step S610.
  • the data management unit 223 deletes all pre-update program modules from the program area 213, except for the program module corresponding to the job control unit 222. It is determined whether or not (step S624). If all the pre-update program modules have not been deleted from the program area 213 except for the program module corresponding to the job control unit 222, the process returns to step S618. The reason why the program modules corresponding to the job control unit 222 are excluded in the determination in step S624 is that the job control unit 222 executes the main control of this flowchart.
  • step S622 the process of returning from step S622 to step S610 and the process of returning from step S624 to step S618 are repeatedly executed. processing is performed for all program modules. As a result, except for the program module corresponding to the job control unit 222, all the program modules before updating are deleted. At this time, a determination of YES is made in step S624.
  • the air conditioner 200 performs a process of sequentially storing the update program in the free area 214, a process of changing the entry point for execution of the update program each time the update program is stored in the free area, and a process of changing the entry point.
  • the process of sequentially deleting old program modules that have already been deleted may be executed in parallel.
  • step S624 If the determination in step S624 is YES, the update program module (old program module) corresponding to job control unit 222 is initialized, and the job schedule of the pre-update program module (old program module) is inherited (step S626). ).
  • step S628 the update program module corresponding to the job control unit 222 is restarted by restarting the job control unit 222 (step S628).
  • step S630 the data management unit 223 deletes the pre-update program module from the program area 213 (step S632). As a result, the program module corresponding to the job control section 222 is completely updated. All the processing for updating the basic program 221 is thus completed.
  • the job control unit 222 sequentially stores each of the plurality of program modules in the memory 212 (step S610).
  • the job control unit 222 executes the second program module (for example, the program module corresponding to the communication unit 224) when the first program module (for example, the program module corresponding to the device driver 225) is completely stored in the memory 212. If storage in memory 212 is not complete, the first program module is used to update the first program module portion of the corresponding basic software in memory 212 (steps S612-S616).
  • the job control unit 222 is a job module used to update the basic program 221.
  • air conditioner 200 updates the module part of job control unit 222 last (step S624).
  • update processing is executed in units of programs that are required for updating. Therefore, it is possible to shorten the update time of the programs compared to updating all the programs constituting the air conditioning software 210 at once.
  • the memory capacity required for the air conditioner can be reduced and the amount of communication between the server 100 and the air conditioner 200 can be reduced. can be reduced.
  • the basic software unit 220 is responsible for the updating process for each application program 231 . Therefore, the operation of the air conditioner 200 can be continued without shutting off the power of the air conditioner 200 while the application program 231 is being updated.
  • the application program 231 is divided into a plurality of functional units that implement each of the plurality of functions provided by the air conditioner 200 .
  • This allows the user to selectively install the required application program 231 into the air conditioner 200 .
  • the program capacity required for the air conditioner 200 can be reduced.
  • the basic software unit 220 since the basic software unit 220 is responsible for updating the application program 231, there is no need to turn off the power when updating the program. Therefore, the state variables stored in the volatile memory or the like are not erased by updating the program.
  • the air conditioning software 210 is stored in the memory 212 of the management device 201 .
  • a controller equivalent to the management device 201 may be provided for the indoor unit 202 or the outdoor unit 203, and the air conditioning software 210 may be stored in the memory of the controller.
  • the indoor unit 202 or the outdoor unit 203 may be configured to include the management device 201 .
  • the basic software section 220 includes a program module corresponding to the job control section 222, a program module corresponding to the communication section 224, a program module corresponding to the device driver 225, and the like.
  • the job control unit 222 manages update processing of these program modules other than the job control unit 222 .
  • the job control unit 222 updates these program modules module by module.
  • the air conditioner 200 initializes and restarts the update program module corresponding to the job control unit 222 (steps S626 and S628). Terminate the update of the basic program. Therefore, according to the present embodiment, the basic program can be updated only by restarting the program module corresponding to the job control unit 222 among the program modules constituting the basic program.
  • FIG. 11 is a diagram showing property data 54 registered in the database 51. As shown in FIG.
  • the property data 54 includes data for specifying the environment of each property 300A, 300B, . . . .
  • the remote control system 3 including the server 100 can provide the air conditioning software 210 according to the environmental characteristics of the property 300 through machine learning using the property data 54 .
  • Property data 54 are registered in the database 51 for each property 300A, property 300B, .
  • Property data 54 is composed of first data and second data.
  • the first data is data that indicates almost permanent and persistent characteristics of the property 300, and includes, for example, location information and climate information.
  • the position information is composed of latitude and longitude indicating the position of the property 300 .
  • the climate information consists of information such as whether the property 300 is located in a relatively warm region or in a cold region.
  • the first data is registered in the database 51 by the developer of the air conditioner 200 when the air conditioner 200 is installed in the new property 300 .
  • the person in charge of the developer may use the terminal device 10 to register the first data in the database 51 .
  • the second data is data that may change depending on the season and time zone, and includes, for example, the priority of the application program 231 and weather information near the property 300.
  • the priority is information calculated based on the usage status of various application programs 231 that the air conditioner 200 has.
  • the weather information is information including the outdoor temperature and humidity of the property 300 .
  • the outside air temperature and humidity of the property 300 are measured by the temperature/humidity sensor 243 (see FIG. 3) of the air conditioner 200 .
  • the priority and weather information are calculated for each fixed period in the air conditioners 200A, 200B, . . .
  • the air conditioners 200A, 200B, . . . transmit the property IDs to the server 100 together with the information.
  • the server 100 registers the received date and time information, priority order, and weather information in the database 51 as second data for each property ID of the air conditioner 200 .
  • the server 100 can grasp which of the various application programs 231 possessed by the air conditioner 200 has the highest usage frequency and which has the lowest usage frequency. .
  • the server 100 can identify the application programs 231 that are used very infrequently and the application programs 231 that are not used by referring to the priority information.
  • FIG. 12 is a diagram showing a specific example of the procedure by which the air conditioner 200 calculates the priority.
  • the air conditioner 200 has first to fourth programs as the application programs 231 .
  • the air conditioner 200 counts the number of program uses each time each of the first to fourth programs is used. In the example shown in FIG. 12, the number of times of use of the fourth program is the largest, and the number of times of use of the first program is zero.
  • the air conditioner 200 calculates the usage frequency based on the number of times of use and the specified period when the specified period has passed. For example, the frequency of use can be calculated by "number of times of use/prescribed period". As a result, the usage frequency of each program is calculated. Also, as shown in FIG. 12, the priority of using the first to fourth programs is calculated.
  • the priority is calculated by the air conditioning software 210. More specifically, the air-conditioning software 210 periodically measures the number of uses of various application programs 231 of the application software section 230 . The air conditioning software 210 obtains the frequency of use by dividing the number of times of use by the unit time. The air-conditioning software 210 prioritizes the various application programs 231 used by the air-conditioning software 210 by ranking the usage frequencies. This priority is also referred to as "function priority".
  • FIG. 13 is a block diagram for explaining a procedure for server 100 to create estimation model 114 using learning device 110 .
  • server 100 includes learning device 110 and estimation model 114 .
  • Learning device 110 and estimation model 114 are implemented by processor 101 and memory 102 of server 100 .
  • estimation model 114 is implemented by memory 102 of server 100 .
  • Learning device 110 and estimation model 114 may be implemented using part of the storage area of storage device 50 .
  • the learning device 110 includes an input unit 111, a determination unit 112, and a learning unit 113.
  • Estimation model 114 includes neural network 115 and parameters 116 .
  • the estimation model 114 uses a neural network 115 to perform deep learning.
  • Parameters 116 include weighting factors and the like used in calculations by neural network 115 .
  • Estimation model 114 is learned by learning device 110 .
  • the estimation model 114 is trained by the learning device 110 so as to estimate the priority of utilization of the application program 231 of the air conditioner 200 .
  • a supervised learning algorithm is used to make the estimation model 114 learn.
  • the learning device 110 makes the estimation model 114 learn by supervised learning using a large amount of learning data 5 .
  • the learning data 5 is composed of first data and second data registered in the database 51 . First data and second data are registered in the database 51 for each property 300 (see FIG. 11).
  • the learning device 110 uses the first data and second data registered for each property 300 as one set of learning data 5 .
  • property data 54 shown in FIG. 11 (first data of property 300A, second data of date and time information A1 of property 300A), (first data of property 300A, second data of date and time information A2 of property 300A ), (first data of property 300A, second data of date and time information A3 of property 300A) ..., (first data of property 300B, second data of date and time information B1 of property 300B), (first data of property 300B , second data of date and time information B2 of property 300B), (first data of property 300B, second data of date and time information B3 of property 300B) .
  • the input unit 111 of the learning device 110 receives the first data (location information, climate information) and the weather information, which is part of the second data, out of the set of learning data 5 .
  • the priority of the second data is input as correct data to the learning unit 113 of the learning device 110 .
  • the determination unit 112 determines the priority based on the learning data 5 and the estimation model 114 input to the input unit 111 and outputs the determination result to the learning unit 113 .
  • the learning unit 113 makes the estimation model 114 learn based on the determination result obtained by the determination unit 112 and the correct data. Specifically, learning unit 113 causes estimation model 114 to learn by adjusting parameters 116 (for example, weighting coefficients) so that the determination result obtained by estimation model 114 approaches correct data.
  • FIG. 14 is a block diagram for explaining the procedure by which server 100 estimates the priority of use of application program 231 using trained estimation model 114 .
  • the server 100 can use the learned estimation model 114 to output the priority for the air conditioner 200 ⁇ /b>C newly installed in the new property 301 .
  • the server 100 includes a determination device 120 and an estimation model 114 .
  • Determination device 120 and estimation model 114 are implemented by processor 101 and memory 102 of server 100 .
  • the determination device 120 includes an input unit 121 , a processing unit 122 and an output unit 123 .
  • the input unit 121 receives information on the property 300 whose priority order recommended by the determination device 120 is to be checked. For example, if you want to check the priority order for the air conditioner 200C newly installed in the new property 301, the first data (position information, climate information) of the new property 301 and the current weather of the new property 301 Information (outside air temperature, humidity) is input to the input unit 121 .
  • the first data of the new property 301 is registered in the database 51 by the developer of the air conditioner 200 when the air conditioner 200 is installed in the new property 300 .
  • First data registered in the database 51 is input to the input unit 121 .
  • the weather information is input to the input unit 121 from the air conditioner 200C installed in the new property 301 via the wide area network 60, for example.
  • a user may input the weather information to the input unit 121 using the terminal device 20C corresponding to the new property 301 .
  • the processing unit 122 determines priority based on the first data and weather information input to the input unit 121 and the estimation model 114, and outputs the determination result to the output unit 123.
  • the output unit 123 outputs the determination result to the outside of the determination device 120 .
  • the server 100 transmits the determination result to the terminal device 20C.
  • the terminal device 20C displays the priority on the display 40 as a recommended application program based on the determination result.
  • the user can set the priority of the application programs 231 to be introduced into the air conditioner 200C.
  • the user can also specify the application programs 231 that are considered unnecessary to be installed from the priority displayed on the display 40 .
  • the terminal device 20C may be provided with a function for the user to rearrange the priorities.
  • the terminal device 20C may have a function of transmitting the determined priority to the server 100 when the user's operation to determine the priority is detected.
  • the server 100 may have a function of setting the application program 231 of the air conditioner 200C according to the priority when receiving the determined priority from the terminal device 20C.
  • the remote control system 3 including the server 100
  • the property data of the new property 301 is input to the learned estimation model 114, and applied.
  • Various application programs 231 to be introduced into the software section 230 can be recommended.
  • the learned estimation model 114 may be placed inside the air conditioner 200 .
  • the learning device 110 may also use the number of times of use of the application program 231 shown in FIG. 12 as learning data to perform learning for estimating the priority.
  • the air conditioner 200 ⁇ /b>C in the new property 301 may input data indicating the number of times each application program 231 is used to the learned estimation model 114 when performing a test run.
  • the air conditioner 200C can use the output results of the trained estimation model 114 placed in the air conditioner 200C or the server 100 to set more appropriate priorities for the application programs 231. Thereby, the air conditioner 200C (the job control unit 222 and the data management unit 223) can update its own job schedule 226 to an appropriate schedule.
  • FIG. 15 is a flowchart showing a procedure for registering the first data and the property ID of the new property 301 in the database 51 when the air conditioner 200C is installed in the new property 301.
  • the server 100 determines whether or not the air conditioner 200C is installed in the new property 301 (step S701).
  • the server 100 determines that the air conditioner 200C is installed in the new property 301 when receiving a property ID that has not been registered in the database 51 from the air conditioner 200C. In this case, the server 100 registers the first data of the new property 301 together with the property ID in the database 51 (step S702). If NO is determined in step S701, the process based on this flowchart ends without executing the process of step S702.
  • FIG. 16 is a flowchart for explaining the procedure for creating the learned estimation model 114.
  • FIG. Here, the processing of the air conditioners 200 installed in each of the plurality of properties 300 and the processing of the server 100 will be collectively described.
  • the air conditioner 200 determines that the timer T has timed a specified time (step S801).
  • the prescribed time is a time interval for calculating the priority of application program 231 and weather information in air conditioner 200 .
  • the air conditioner 200 calculates the usage frequency of the application programs 231 for each type of application program 231 (step S802).
  • the air conditioner 200 creates a priority order for the application programs 231 based on the calculated usage frequency (step S803).
  • the priority information created here includes the usage frequency of each application program 231 .
  • the air conditioner 200 measures the outside air temperature and humidity using the temperature/humidity sensor 243 (step S804).
  • the air conditioner 200 transmits the property ID and second data (including weather information and priority) to the server 100 (step S805). After that, the air conditioner 200 restarts the timer T (step S806) and ends the processing based on this flowchart.
  • the server 100 waits until it receives the second data (step S811). Eventually, one of the air conditioners 200 transmits the second data together with the property ID to the server 100 .
  • the server 100 registers the received second data in the database 51 by property ID (step S812).
  • server 100 executes learning processing using the first data and second data registered in database 51 (step S813), and updates estimation model 114 (step S814). This completes the processing based on this flowchart.
  • FIG. 17 is a flowchart for explaining the procedure for determining the priority of application programs 231 recommended for the air conditioner 200C.
  • the server 100 acquires the first data and weather information of the new property 301 (step S901).
  • the server 100 inputs the first data and weather information of the new property 301 to the learned estimation model 114 (step S902).
  • the server 100 outputs the determination result (priority) from the estimation model 114 (step S903).
  • the server 100 transmits the output determination result as recommended application program information to the terminal device 20C (step S904), and ends the processing based on this flowchart.
  • the determination device 120 by using the determination device 120, only the application programs 231 corresponding to the functions desired to be used locally (each property 300) are selected according to the frequency of use of the application programs 231. can be installed in the air conditioner 200.
  • unused application programs 231 can be eliminated from memory 212 of air conditioner 200 .
  • the free space for data in the memory 212 can be increased.
  • the estimation model 114 by learning the estimation model 114 from local information (each property 300) and program usage frequency (or number of times of use), appropriate priority data considering the characteristics of each property 300 can be obtained.
  • a learning model capable of outputting is formed. This makes it possible to recommend to the user which function should be applied to the air conditioner 200 ⁇ /b>C of the new property 301 .
  • the priority can be automatically applied to the air conditioner 200C.
  • the determination device 120 it becomes unnecessary for a person to select the application program 231 to be applied to the air conditioner 200C, and as a result, it is possible to prevent human error in determination. Therefore, according to the present embodiment, optimal control based on machine learning can be applied to the air conditioning system 1 .
  • FIG. 18 is a diagram showing the overall configuration of the air conditioning system 2 as a modified example. As shown in FIG. 18 , the air conditioner 200 is connected to the remote control system 3 via the local network 61 inside the property 300 .
  • the air-conditioning system 2 is the same as the air-conditioning system 1 except that a premises network 61 is formed within the property 300 . Therefore, the description of the air conditioning system 2 will not be repeated here.
  • FIG. 19 is a flowchart for explaining a modification related to FIG. In this modification, steps S2111 to S2115 are added to the flowchart shown in FIG.
  • step S204 if there is not enough free space in the memory 212 to install the target program, the low-priority application program 231 is deleted from the memory 212 to secure free space. do. Detailed descriptions of steps S202, S204, S206, S208, and S210 will not be repeated here.
  • the air conditioner 200 determines in step S204 that there is not enough free space for installing the target program in the memory 212, it selects the lowest priority application program 231 from the memory 212 (step S2111).
  • the application program 231 selected in step S2111 is assumed to be application program X.
  • FIG. Priority is determined, for example, by frequency of use.
  • the air conditioner 200 updates the usage count for each application program each time the application program 231 is used.
  • the air conditioner 200 determines the frequency of use based on the number of times of use.
  • the air conditioner 200 notifies the user that the application program X will be deleted (step S2112). For example, the air conditioner 200 transmits information indicating that the application program X is to be deleted to the terminal device 20 of the user.
  • the air conditioner 200 receives a user's instruction regarding deletion of the application program X (step S2113).
  • This instruction is transmitted from the user's terminal device 20, for example.
  • the air conditioner 200 determines whether the user permits deletion of the application program X (step S2114). If the user does not permit deletion of application program X, air conditioner 200 proceeds to step S210. When the user permits deletion of application program X, air conditioner 200 deletes application program X from memory 212 (step S2115). Next, the air conditioner 200 executes the process of step S208. As a result, permission to distribute the target program is returned from the air conditioner 200 to the server 100 . As a result, the target program is distributed to the air conditioning apparatus 200 with the free space in the memory 212 secured.
  • the present disclosure is an air conditioning system (1) comprising an air conditioner (200) and a server (100) communicating with the air conditioner, the air conditioner having a memory storing air conditioning software (212), and a processor (211) that executes air conditioning software in a memory.
  • basic software (221) for managing software jobs and the server distributes first update data necessary for the processor to update one of the plurality of application software to the air conditioner (step S404), the processor updates the corresponding application software in the memory using the basic software based on the first update data (step S418).
  • the server distributes new application software that is not stored in the memory to the air conditioner (step S112, step S114, step S404), and the processor stores the distributed new application software in the memory. , a new function realized by the new application software is added to the air conditioner (step S420).
  • the server distributes the second update data required to update the basic software to the air conditioner (step S604), and the processor updates the data in the memory based on the second update data. update the corresponding basic software (FIGS. 8 and 9).
  • the basic software includes a plurality of modules (222-226), and the processor updates the corresponding basic software in the memory for each of the plurality of modules based on the second update data (step S616).
  • the plurality of modules includes the job control unit 222 ), the processor sequentially stores each of the plurality of modules in the memory (step S610), and when the storage in the memory of the first module is completed, the processor stores the module in the memory of the second module. If not, the first module is used to update the first module's portion of the corresponding base software in memory (steps S612-S616).
  • the plurality of modules includes a job module (job control unit 222) used to update the corresponding basic software in memory, and the processor updates the corresponding basic software in memory for each of the plurality of modules. If so, the job module portion of the basic software is updated last (step S624).
  • job module job control unit 222 used to update the corresponding basic software in memory
  • processor updates the corresponding basic software in memory for each of the plurality of modules. If so, the job module portion of the basic software is updated last (step S624).
  • the air conditioning system further comprises a terminal device (20) that communicates with the server, and the server notifies the terminal device that one of the plurality of application software can be updated (step S108). obtains permission from the terminal device to update one of the plurality of application software, and then distributes the first update data to the air conditioner (step S120).
  • the air conditioning system is provided with a determination device (120) that determines the priority order in which each of the plurality of application software is used in the air conditioner. Priorities are determined based on climate information, weather information, and an estimation model including a neural network, and the priority determination results are output (step S903).
  • the server includes a determination device (Fig. 14).
  • the estimation model estimates the location of the location where the air conditioner is located based on learning data including location information, climate information, weather information, and priority of the location where the air conditioner is located. It is learned to determine priority from information, climate information, and weather information (Fig. 13).
  • the air conditioner When the capacity of the memory is insufficient, the air conditioner deletes low-priority application software among the multiple application software stored in the memory, and then deletes the corresponding application software in the memory. Update (steps S2111 to S2115).
  • the present disclosure is an air conditioner capable of communicating with a server, comprising a memory storing air conditioning software and a processor executing the air conditioning software stored in the memory, the air conditioning software
  • the processor includes a plurality of application software for realizing a plurality of functions to be provided, respectively, and basic software for managing jobs of the plurality of application software.
  • the basic software is used to update the corresponding application software in the memory based on the first update data.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Air Conditioning Control Device (AREA)

Abstract

空調システム(1)は、空気調和装置(200)と、サーバ(100)とを備える。空気調和装置は、空調ソフトウェアを格納するメモリ(212)と、メモリの空調ソフトウェアを実行するプロセッサ(211)とを有する。空調ソフトウェアは、複数の応用プログラムと、基本プログラムとを含む。サーバは、プロセッサが複数の応用ソフトウェアのうちの1つを更新するために必要な第1更新用データを空気調和装置に配信し、プロセッサは、第1更新用データに基づいて、基本ソフトウェアを用いてメモリ内の対応する応用ソフトウェアを更新する。

Description

空気調和システムおよび空気調和装置
 本開示は、空気調和システムおよび空気調和装置に関する。
 従来、更新用ソフトウェアを格納するサーバと、制御ソフトウェアをサーバから受信した更新用ソフトウェアで更新する空気調和機とを含む、空気調和システムが知られている。
 たとえば、特許文献1(国際公開第2017/199331号)には、空気調和装置のための更新用ソフトウェアが格納されたサーバと、サーバから更新用ソフトウェアを受信する無線アダプタと、無線アダプタが受信した更新用ソフトウェアでメモリに格納されているソフトウェアを更新する空気調和装置とを含む、空気調和システムが記載されている。
国際公開第2017/199331号
 従来、サーバなどの遠隔装置は、空気調和装置のソフトウェアを更新するための更新用のソフトウェアを一括して空気調和装置へ配信し、空気調和装置は、受信した更新用のソフトウェアを、利用中のソフトウェアとは別に、一旦、メモリに格納していた。
 このように、従来の空気調和装置は、利用中のソフトウェアと別に更新用のソフトウェアをメモリに格納していたため、空気調和装置に必要とされるメモリ容量が多くなってしまうという問題があった。また、従来、更新用のソフトウェアの容量が大きいため、ソフトウェアの更新にかかる時間も長くなるという問題があった。
 本開示は、空気調和装置のソフトウェアを更新する場合において、空気調和装置に必要とされるメモリ容量を削減するとともに、更新時間を短縮することを目的とする。
 本開示の第1の局面に係る空気調和システムは、第1空気調和装置と、空調ソフトウェアを第1空気調和装置に配信するサーバとを備える。第1空気調和装置は、空調ソフトウェアを実行する第1プロセッサと、空調ソフトウェアを格納する第1メモリとを有し、空調ソフトウェアは、第1空気調和装置が提供する複数の機能をそれぞれ実現する複数の応用ソフトウェアと、複数の応用ソフトウェアのジョブを管理する基本ソフトウェアとを含み、サーバは、第1空気調和装置が複数の応用ソフトウェアのうちの1つを更新するために必要な第1更新用データを第1空気調和装置に配信し、第1プロセッサは、第1更新用データに基づいて、基本ソフトウェアを用いて第1メモリ内の対応する応用ソフトウェアを更新する。
 本開示の第2の局面に係る空気調和装置は、空調ソフトウェアを実行する第1プロセッサと、空調ソフトウェアを格納する第1メモリとを備える。空調ソフトウェアは、空気調和装置が提供する複数の機能をそれぞれ実現する複数の応用ソフトウェアと、複数の応用ソフトウェアのジョブを管理する基本ソフトウェアとを含み、第1プロセッサは、空調ソフトウェアを配信するサーバと通信可能であって、第1プロセッサは、複数の応用ソフトウェアのうちの1つを更新するために必要な第1更新用データをサーバから受信した場合、第1更新用データに基づいて、基本ソフトウェアを用いて第1メモリ内の対応する応用ソフトウェアを更新する。
 本開示によれば、空気調和装置のソフトウェアを更新する場合において、空気調和装置に必要とされるメモリ容量を削減するとともに、更新時間を短縮することができる。
実施の形態1における空調システムの全体構成を示す図である。 記憶装置に構築されたデータベースに含まれるデータの一部を示す図である。 空気調和装置のソフトウェア構成およびハードウェア構成の概要を示す図である。 空調ソフトウェアを更新する流れの概要を示すフローチャートである。 クラウド上で空調ソフトウェアが更新された場合に、更新された空調ソフトウェアが格納された空気調和装置を導入している物件を検索する処理の流れを示すフローチャートである。 クラウド上で空調ソフトウェアが更新された場合に、空気調和装置にて対象の空調ソフトウェアの配信を許可するか否かを判定するための処理の流れを示すフローチャートである。 クラウド上で更新された応用プログラムで空気調和装置の応用プログラムを更新するための処理の流れを示すフローチャートである。 クラウド上で更新された基本プログラムで空気調和装置の基本プログラムを更新するための処理の流れを示すフローチャートである。 クラウド上で更新された基本プログラムで空気調和装置の基本プログラムを更新するための処理の流れを示すフローチャートである。 図8および図9のフローチャートにおいて、エントリーポイントを変更する処理の具体例を示すブロック図である。 データベースに登録されている物件データを示す図である。 空気調和装置が優先順位を算出する手順の具体例を示す図である。 サーバが学習装置を用いて推定モデルを作成する手順を説明するためのブロック図である。 サーバが学習済みの推定モデルを用いて応用プログラムの利用に関する優先順位を推定する手順を説明するためのブロック図である。 新規物件に空気調和装置が導入された場合に、新規物件の第1データおよび物件IDをデータベースに登録する手順を示すフローチャートである。 学習済みの推定モデルを作成する手順を説明するためのフローチャートである。 空気調和装置に推奨される応用ソフトウェアの優先順位を判定する手順を説明するためのフローチャートである。 変形例としての空調システムの全体構成を示す図である。 図6に関連する変形例を説明するためのフローチャートである。
 以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
 実施の形態1.
<空調システム1の全体構成>
 図1は、実施の形態1における空調システム1の全体構成を示す図である。空調システム1は、遠隔制御システム3と、複数の物件300A,300B…の各々に設置された空気調和装置200A,200B…とにより構成される。空気調和装置200A,200B…は、それぞれで同様のハードウェアの構成を備える。ただし、空気調和装置200A,200B…のハードウェア構成は、完全に同一でなくてもよい。たとえば、空気調和装置200Aが備える室内機または室外機の数と、空気調和装置200Bが備える室内機または室外機の数とが異なっていてもよい。図1には、代表例として、2つの物件300A,300Bを図示している。以下において、物件300A,300B…を「物件300」と総称することがあり、空気調和装置200A,200B…を「空気調和装置200」と総称することがある。
 物件300の数は、2つに限られるものではない。遠隔制御システム3には、さらに数多くの物件300の各々に設置された空気調和装置200を接続してもよい。本実施の形態において、物件300は、空気調和装置200の設置場所を意味する。
 遠隔制御システム3は、端末装置10と、端末装置20A,20B…と、クラウド30と、広域ネットワーク60とを含む。クラウド30は、サーバ100および記憶装置50により構成される。サーバ100は、記憶装置50に構築されるデータベースを利用して遠隔制御システム3の種々の機能を発揮する。
 クラウド30は、広域ネットワーク60を介して、端末装置10、端末装置20A,20B…、および空気調和装置200A,200B…と通信可能に接続される。端末装置10および端末装置20A,20B…は、それぞれ、ディスプレイ40を備える。端末装置10は、たとえば、空気調和装置200の開発元の担当者によって操作される。端末装置20A,20B…は、空気調和装置200A,200B…のそれぞれのユーザによって操作される。
 たとえば、端末装置20Aは、物件300Aに設置された空気調和装置200Aのユーザによって操作される。端末装置20Bは、物件300Bに設置された空気調和装置200Bのユーザによって操作される。端末装置20Aは、たとえば、物件300Aに設置される。端末装置20Bは、たとえば、物件300Bに設置される。端末装置20Aを物件300A以外の箇所に設置してもよい。端末装置20Bについても同様である。以下、端末装置20A,20B…を「端末装置20」と総称することがある。端末装置20は、たとえば、パーソナルコンピュータにより構成される。端末装置20をスマートフォンなどの携帯端末により構成してもよい。
 空気調和装置200は、管理装置201と、室内機202と、室外機203とを含む。管理装置201は、制御部として機能するプロセッサ211と、各種のプログラムが格納されたメモリ212とを備える。管理装置201は、空気調和装置200にインストールされている空調ソフトウェアに基づいて空気調和装置200を制御する。室内機202および室外機203は、それぞれ、熱交換器などの空調部品を備える。室内機202または室外機203の構成として、管理装置201が含まれていてもよい。
 空気調和装置200の開発元は、様々な機種の空気調和装置200をユーザに提供する。空気調和装置200に導入される空調ソフトウェアの種類は、空気調和装置200の機種に応じて異なる。空気調和装置200に導入される空調ソフトウェアの種類は、ユーザの希望に応じて異なる。たとえば、物件300Aに導入されている空気調和装置200Aと、物件300Bに導入されている空気調和装置200Bとが同じ機種であっても、それぞれの空気調和装置200A,200Bにインストールされている空調ソフトウェアが相異なる場合がある。
<データベース51に登録されるデータ>
 図2は、記憶装置50に構築されたデータベース51に含まれるデータの一部を示す図である。図2に示されるように、データベース51には、マスタデータ52と機種特定用データ53とが少なくとも登録されている。
 マスタデータ52は、空気調和装置200の機種ラインナップ毎に構成されているソフトウェア群と、ソフトウェア群に含まれる各々のソフトウェアのバージョン情報とを含む。機種特定用データは、物件300A,300B…毎の空気調和装置200の機種と、それぞれの空気調和装置200A,200B…にインストールされているソフトウェアの種類およびバージョン情報とを含む。空気調和装置200の開発元によって、複数の空調ソフトウェアのうちのいずれかがバージョンアップされた場合、バージョンアップ後の空調ソフトウェアがクラウド30へアップロードされる。たとえば、開発元の担当者は、端末装置10を操作することによって、更新された空調ソフトウェアをクラウド30へアップロードすることができる。これにより、バージョンアップ後の空調ソフトウェアがデータベース51のマスタデータ52に新たに登録される。
 サーバ100は、記憶装置50に構築されたデータベース51を参照することにより、空気調和装置200の機種、インストールされているソフトウェアの種類、およびソフトウェアのバージョンを物件300毎に特定することができる。サーバ100は、空調ソフトウェアがバージョンアップされた場合、対応する空調ソフトウェアが導入されている物件300の空気調和装置200に対して、空調ソフトウェアを更新するためのデータを送信する。これにより、対象の空気調和装置200は、空調ソフトウェアを最新の状態に更新することができる。
<ソフトウェア構成およびハードウェア構成>
 図3は、空気調和装置200のソフトウェア構成およびハードウェア構成の概要を示す図である。空気調和装置200は、ソフトウェア構成として、空調ソフトウェア210を備え、ハードウェア構成として、ハードウェアデバイス240を備える。空調ソフトウェア210は、たとえば、管理装置201のメモリ212に格納されている。
 図3には、空気調和装置200のハードウェアデバイス240の一部が例示されている。図3に示されるように、ハードウェアデバイス240は、冷媒回路を流れる冷媒の温度を検出する温度センサ241と、冷媒回路を流れる冷媒の圧力を検出する圧力センサ242と、外気温および湿度を検出する温湿度センサ243と、高温かつ高圧の冷媒を冷媒回路に吐出する圧縮機244と、熱交換器付近において空気を対流させるファン245と、冷媒の圧力を調整する膨脹弁などの弁246とを含む。
 管理装置201は、空調ソフトウェア210に従って、空気調和装置200を制御する。管理装置201(図1参照)には、温度センサ241、圧力センサ242、および温湿度センサ243の検出値が入力される。管理装置201は、温度センサ241および圧力センサ242の検出値を考慮して、圧縮機244の運転周波数と、弁246の開度とを制御する。
 基本ソフトウェア部220は、ジョブ制御部222と、データ管理部223と、通信部224と、デバイスドライバ225と、ジョブスケジュール226とを備える。ジョブスケジュール226には、ジョブの実行手順が記述されている。
 デバイスドライバ225は、ジョブスケジュール226およびハードウェアデバイス240を制御する。通信部224は、空気調和装置200が接続されている広域ネットワーク60とデータ通信を行う。データ管理部223は、デバイスドライバ225の入出力情報を管理し、応用ソフトウェア部230のプログラムとの間でデータを送受信する。データ管理部223は、ジョブ制御部222の指令を管理するとともに、各種プログラムの状態を管理する。
 ジョブスケジュール226には、プログラムの優先順位、プログラムの実行条件、およびプログラムの停止条件が記述されている。ジョブ制御部222は、それらのプログラムの優先順位、プログラムの実行条件、およびプログラムの停止条件に基づいて、各種プログラムの実行命令および停止命令を出力する。ここで、各種プログラムには、基本ソフトウェア部220の各種プログラムと、応用ソフトウェア部230の各種プログラムとが含まれる。
 ジョブ制御部222は、ジョブスケジュールの条件を判定するため、通信部224から受け取る指令、およびデータ管理部223が保有する各種プログラムの状態を監視する。
 応用ソフトウェア部230の応用プログラム231は、空気調和装置200の様々な機能を実現する。複数の応用プログラム231の各々は、応用プログラム231間での競合を意識せず、独立で動作する。
 応用プログラム231は、設計者が空気調和装置200の機能および目的をプログラム上で個別に宣言し、入力、演算アルゴリズム、および出力をプログラム上で定義することにより設計された、自由度の高いプログラムである。
 応用ソフトウェア部230は、空気調和装置200の機能を実現する制御アルゴリズムを記述したプログラム群で構成される。そのプログラム群は、たとえば、運転制御プログラム231A、機器保護制御プログラム231B、霜取制御プログラム231C…などの単独のプログラム単位で構成される。それぞれのプログラムが実行されることにより、起動、実行、および停止というプログラム制御状態が形成される。
 たとえば、運転制御プログラム231Aは、通信部224のデータ、温度センサ241の検出値、および圧力センサ242の検出値を入力し、演算を行い、圧縮機244、ファン245、および弁246の制御値を出力する。機器保護制御プログラム231B、および霜取制御プログラム231Cも、同様に、温度センサ241の検出値、および圧力センサ242の検出値を入力し、演算を行い、圧縮機244、ファン245、および弁246の制御値を出力する。
 以下、運転制御プログラム231A、機器保護制御プログラム231B、霜取制御プログラム231C…を「応用プログラム(応用ソフトウェア)231」と総称することがある。また、応用プログラム231との対比において、基本ソフトウェア部220のジョブ制御部222、データ管理部223、通信部224、デバイスドライバ225、およびジョブスケジュール226を構成するプログラムを、「基本プログラム(基本ソフトウェア)221」と総称することがある。
 各種の応用プログラム231は、ジョブ制御部222の命令に従って並列処理される場合がある。各種の応用プログラム231は、同一の時間において同じデータを共有する場合がある。共有が必要なデータは、データ管理部223によって管理される。
 運転制御プログラム231Aは、温度センサ241の検出値、圧力センサ242の検出値、および通信部224が受け取った室内の設定温度に基づいて、圧縮機244、ファン245、および弁246へ出力する値を演算する。このようにして、運転制御プログラム231Aが実行されることにより、通常運転モードによる運転(冷房運転または暖房運転)が実現する。
 運転制御プログラム231Aが実行されているとき、温度センサ241または圧力センサ242の検出値が閾値を超える場合がある。この場合、通常運転モードから異常モードに運転モードを切り替えるために、応用ソフトウェア部230は、機器保護制御プログラム231Bを実行する必要が生じる。
 温度センサ241および圧力センサ242の情報は、データ管理部223を介して、運転制御プログラム231Aと機器保護制御プログラム231Bとで共有される場合がある。圧縮機244、ファン245、および弁246への出力値も、データ管理部223を介して、応用ソフトウェア部230内の複数の応用プログラム231で共有される場合がある。それらの出力値は、ジョブスケジュール226に記述される優先順位に従って、デバイスドライバ225に通知される。
 基本ソフトウェア部220は、応用ソフトウェア部230内の各種の応用プログラム231間に跨る基本プログラム221で構成される。応用ソフトウェア部230に属する応用プログラム231は、各々、独立して演算結果を出力する。このため、各々の応用プログラム231が、圧縮機244、ファン245、および弁246などのアクチュエータ類に同時に演算結果を出力すると、競合が発生する。
 そこで、ジョブ制御部222は、予め定めた優先順位に従って、優先的に演算結果を出力させる応用プログラム231を決定する。優先順位は、ジョブスケジュール226に記述されている。データ管理部223は、複数の応用プログラム231が共有するデータを管理する。デバイスドライバ225は、複数の応用プログラム231が共通で取り扱うハードウェアデバイス240に対して、競合する指令が出力されることを阻止する。
<空調ソフトウェア210を更新する処理の概要>
 図4は、空調ソフトウェア210を更新する流れの概要を示すフローチャートである。本フローチャートは、空調システム1により実行される。空調ソフトウェア210は、図4に示されるとおり、更新の発生、更新の可否の判定、および更新処理の3つのステップにより更新される。更新対象は、基本ソフトウェア部220を構成する基本プログラム221または応用ソフトウェア部230内の応用プログラム231である。更新に必要なデータは、クラウド30のサーバ100から空気調和装置200に対して配信される。
 たとえば、複数の応用プログラム231のうちの1つがクラウド30で更新された場合、更新された応用プログラム231が空気調和装置200に配信される。なお、応用プログラム231それ自体ではなく、更新に必要な差分データを空気調和装置200に配信してもよい。したがって、サーバ100から空気調和装置200に配信される更新用データは、プログラム(基本プログラムまたは応用プログラム)自体であってもよく、対象のプログラムを更新するために必要な内容を含むデータ(たとえば、差分データ)であってもよい。
 基本ソフトウェア部220は、更新対象の応用プログラム231をサーバ100から受信した場合、応用ソフトウェア部230の全てを更新するのではなく、更新に必要な応用プログラム231のみを更新する。したがって、更新の最小単位は、1つの応用プログラム231である。空気調和装置200は、サーバ100から基本プログラム221を受信した場合、基本ソフトウェア部220の基本プログラム221を更新する。
 図4に示されるとおり、はじめに、空気調和装置200の空調ソフトウェア210の更新が必要か否かが判定される(ステップS100)。ステップS100は、サーバ100によって判定される。サーバ100は、空調ソフトウェア210を構成するいずれかの更新プログラムが記憶装置50に登録された場合、空調ソフトウェア210の更新が必要であると判定する。より具体的には、サーバ100は、データベース51のマスタデータ52に空調ソフトウェア210を構成するいずれかの更新プログラムが登録された場合、空調ソフトウェア210の更新が必要であると判定する。
 ステップS100において、更新不要と判定された場合、本フローチャートに基づく処理は終了する。ステップS100において、更新が必要と判定された場合、空気調和装置200において空調ソフトウェア210を更新可能であるか否かが判定される(ステップS200)。
 たとえば、空気調和装置200のメモリ212の残容量が空調ソフトウェア210の更新に必要な容量に満たない場合、ステップS200において、空調ソフトウェア210の更新は不可能と判定される。この判定は、たとえば、空気調和装置200において、または、サーバ100において実行される。更新に必要なメモリ容量をサーバ100が空気調和装置200に送信する場合、空気調和装置200はステップS200を判定可能である。メモリ212の残容量を空気調和装置200がサーバ100に送信する場合、サーバ100はステップS200を判定可能である。
 ステップS200において、更新不可能と判定された場合、本フローチャートに基づく処理は終了する。なお、空気調和装置200のメモリ212の残容量が空調ソフトウェア210の更新に必要な容量に満たない場合、サーバ100は、その空気調和装置200に対応する端末装置20へ容量不足を通知してもよい。端末装置20をユーザが操作することによって空気調和装置200のメモリ212のデータを整理できるように構成してもよい。
 空気調和装置200のメモリ212の残容量が空調ソフトウェア210の更新に必要な容量に満たない場合、空気調和装置200は、メモリ212のデータを自動的に整理した上で、更新プログラムをサーバ100から受信するように動作してもよい。
 たとえば、メモリ212内の優先順位(利用頻度)の低い応用プログラムを削除することによって、更新プログラムをファイルサイズ的にメモリ212に格納できる場合、空気調和装置200は、その応用プログラムを削除してから更新プログラムをサーバ100から受信してもよい。この場合、空気調和装置200は、更新プログラムを用いた更新処理を実行するスケジュールをジョブスケジュール226に書き込んだ後、そのスケジュールに従って更新処理を実行することができる。
 ステップS200において、更新可能と判定された場合、空気調和装置200の空調ソフトウェア210が更新される(ステップS400)。ステップS400は、サーバ100および空気調和装置200により実行される。すなわち、サーバ100は、更新対象の空調ソフトウェア210を空気調和装置200へ配信する。空気調和装置200は、受信した空調ソフトウェア210を用いて、対象の空調ソフトウェア210を更新する。
 図4を用いて説明した処理について、図5~図10を用いてより詳細に説明する。図5および図6は応用ソフトウェア部230の更新に関し、図7は基本ソフトウェア部220の更新に関する。
<空調ソフトウェア210の更新対象を特定する処理>
 図5は、クラウド30上で空調ソフトウェア210が更新された場合に、更新された空調ソフトウェア210が格納された空気調和装置200を導入している物件300を検索する処理の流れを示すフローチャートである。本フローチャートに基づく処理は、空調システム1により実行される。
 図5を参照して、サーバ100は、クラウド30上で、空調ソフトウェア210が更新されたか否かを判定する(ステップS102)。クラウド30上では、基本プログラム221と応用プログラム231とが個別に更新され得る。特に、応用プログラム231に関しては、運転制御プログラム231A、機器保護制御プログラム231B、霜取制御プログラム231C…などの複数の種類が存在し、それぞれがクラウド30上で個別に更新される。ステップS102において、それらのプログラムのいずれかがクラウド30上で更新されたか否かが判定される。
 ステップS102において、空調ソフトウェア210が更新されていないと判定された場合、本フローチャートに基づく処理は終了する。ステップS102において、空調ソフトウェア210が更新されたと判定された場合、サーバ100は、対象の物件300を検索する(ステップS104)。ここで検索される物件300は、更新された空調ソフトウェア210に対応するプログラムを含む空気調和装置200を導入している物件300である。
 本実施の形態において、基本プログラム221には、空気調和装置200の機種別に異なるIDが割り当てられている。応用プログラム231には、その種類別に異なるIDが割り当てられている。このため、たとえば、運転制御プログラム231A、機器保護制御プログラム231B、霜取制御プログラム231C…には、それぞれ、異なるIDが割り当てられている。
 データベース51の機種特定用データ53には、空気調和装置200の基本プログラム221のIDおよび応用プログラム231のIDが各物件300A,300B毎に登録されている。サーバ100は、データベース51を利用して、更新された空調ソフトウェア210のIDと一致するIDのプログラムがインストールされている空気調和装置200を検索する。さらに、サーバ100は、データベース51を利用して、検索の結果、見つかった空気調和装置200を導入している物件300を検索する。
 次に、サーバ100は、検索によって見つかった物件300に導入されている空気調和装置200のうち、更新プログラムを書込む空き領域が存在する空気調和装置200を選択する(ステップS106)。たとえば、サーバ100は、検索によって見つかった物件300に導入されている空気調和装置200から、空き領域のサイズを受信する。これにより、サーバ100は、空気調和装置200に更新プログラムを書込む空き領域が存在するか否かを判定することができる。
 次に、サーバ100は、選択された空気調和装置200が導入されている物件300に対応する端末装置20へ更新の発生を通知する(ステップS108)。その結果、更新対象の空気調和装置200が導入されている物件300の数に応じて、1または複数の端末装置20に更新の発生が通知される。
 次に、サーバ100は、更新対象の空調ソフトウェア210が応用プログラム231であるか否かを判定する(ステップS110)。更新対象の空調ソフトウェア210が応用プログラム231でない場合、処理がステップS114に進められる。更新対象の空調ソフトウェア210が応用プログラム231である場合、サーバ100は、ステップS106において選択されなかった他の物件300に対応する端末装置20へ、応用プログラム231を新規にインストール可能であることを通知する(ステップS112)。
 次に、サーバ100からステップS108またはステップS112の通知を受信した1または複数の端末装置20は、空調ソフトウェア210の更新が発生すること、または、新規で応用プログラム231をインストール可能であることを、ディスプレイ40に表示する(ステップS114)。ディスプレイ40の表示により空調ソフトウェア210の更新が発生することを理解したユーザは、空調ソフトウェア210の更新を許可するか否かを判定する。あるいは、ディスプレイ40の表示により新規で応用プログラム231をインストール可能であることを理解したユーザは、新規の応用プログラム231のインストールを許可するか否かを判定する。
 端末装置20は、空調ソフトウェア210(基本プログラム221または応用プログラム231)の更新または応用プログラム231の新規インストールを許可することを示す操作を受け付ける(ステップS116)。ステップS116において、ユーザの操作が検出された場合、端末装置20は、空調ソフトウェア210を更新する対象の空気調和装置200、または応用プログラム231を新規インストールする対象の空気調和装置200を、クラウド30のサーバ100へ通知する(ステップS120)。これにより、本フローチャートに基づく処理は終了する。
 ステップS120により、サーバ100は、複数の空気調和装置200のうち、いずれに対して、更新プログラムを配信すべきかを特定することができる。なお、ステップS116において、ユーザの操作が検出されない場合(配信を許可しない操作が検出された場合)、サーバ100へは、プログラムを更新または新規インストールする対象の空気調和装置200が通知されない。その結果、該当の空気調和装置200へ更新プログラムは配信されない。
 なお、本フローチャートにおいては、端末装置20におけるユーザの指示を受けて、サーバ100が更新プログラムを配信する例を示した。しかし、サーバ100は、ステップS106において、対象の空気調和装置200を選択した後、ユーザの指示を待つことなく、対象の空気調和装置200へ更新プログラムを自動的に配信してもよい。
<更新プログラムの配信を許可するか否かを特定する処理>
 図6は、クラウド30上で空調ソフトウェア210が更新された場合に、空気調和装置200にて対象の空調ソフトウェア210の配信を許可するか否かを判定するための処理の流れを示すフローチャートである。
 はじめに、サーバ100は、対象の空気調和装置200に、プログラム情報および配信許可伺いを送信する(ステップS202)。対象の空気調和装置200は、図5のステップS120によって、サーバ100が通知を受けた空気調和装置200である。したがって、ステップS202の処理は、1または複数の空気調和装置200に対して実行される。プログラム情報は、配信する空調ソフトウェア210(基本プログラム221または複数の応用プログラム231のいずれか)のID、プログラム容量、およびバージョン情報などである。
 プログラム情報および配信許可伺いを受信した空気調和装置200は、配信対象のプログラムをインストールするための十分な空き領域が存在するかを判定する(ステップS204)。より、具体的には、空気調和装置200の管理装置201は、配信対象のプログラムをインストールするための十分な空き領域がメモリ212に存在するかを判定する。
 空気調和装置200は、ステップS204にてYESと判定した場合、ジョブスケジュール226に更新処理を追加する(ステップS206)。更新処理は、空気調和装置200の管理装置201によってジョブスケジュール226に追加される。基本ソフトウェア部220の観点で説明すると、更新処理は、ジョブ制御部222によってジョブスケジュール226に追加される。
 更新処理は、空調ソフトウェア210に含まれる既存の基本プログラム221および複数の応用プログラム231のいずれかを更新する処理である。あるいは、更新処理は、新規の応用プログラム231をインストールする処理である。
 次に、空気調和装置200は、クラウド30のサーバ100に対して配信許可を返信する(ステップS208)。配信許可を受信したサーバ100は、後に説明する図7のステップS402において、YESと判定する。
 空気調和装置200は、ステップS204にてNOと判定した場合、クラウド30のサーバ100に対して配信不可を返信し(ステップS210)、本フローチャートに基づく処理を終える。配信不可を受信したサーバ100は、後に説明する図7のステップS402において、NOと判定する。
 なお、図6に示されるフローチャートには、空き領域を判定するステップS204が存在する。このため、図5において、更新プログラムを書き込む空き領域の存在を判定するステップS106は、省略してもよい。
<応用プログラム231を更新または新規インストールする処理>
 図7は、クラウド30上で更新された応用プログラム231で空気調和装置200の応用プログラム231を更新するための処理の流れを示すフローチャートである。
 ここでは、図7に示されるフローチャートを用いて、空気調和装置200の既存の応用プログラム231を更新するケースと、空気調和装置200に新規の応用プログラム231をインストールするケースとを説明する。なお、図7に示されるフローチャートの説明において、「プログラム」は、複数の応用プログラム231のうちのいずれかを意味するものとする。
 はじめに、サーバ100は、対象の空気調和装置200への更新プログラム(応用プログラム231)の更新が許可されたか否かを判定する(ステップS402)。対象の空気調和装置200のプログラムの更新が許可されなかった場合、本フローチャートに基づく処理は終了する。対象の空気調和装置200のプログラムの更新が許可された場合、サーバ100は、対象の空気調和装置200へ更新プログラムを配信する(ステップS404)。
 対象の空気調和装置200の通信部224は、配信された更新プログラムを受信し、ジョブ制御部222は、その受信を検知する(ステップS406)。ジョブ制御部222は、受信されたデータが更新プログラムであることを認識する。ジョブ制御部222は、ジョブスケジュール226の更新処理を実行する(ステップS408)。更新処理によって、データ管理部223が起動する。データ管理部223は、受信した更新プログラムをメモリ212の空き領域に格納する処理を開始する(ステップS410)。
 次に、データ管理部223は、更新プログラムを空き領域に格納する処理は終了したか否かを判定する(ステップS412)。データ管理部223は、更新プログラムを空き領域に格納する処理が終了するまで、ステップS412の処理を繰り返す。
 更新プログラムを空き領域に格納する処理が終了した場合、ジョブ制御部222は、更新プログラムのIDをジョブスケジュール226から検索し(ステップS414)、更新プログラムのIDと同一のIDのプログラムがジョブスケジュール226に存在するか否かを判定する(ステップS416)。
 更新プログラムのIDと同一のIDのプログラムがジョブスケジュール226に存在する場合、ジョブ制御部222は、次回、そのIDのプログラムを起動する際、更新前のプログラムのアドレスではなく、更新プログラムのアドレスが参照されるように、ジョブスケジュール226を設定する(ステップS418)。換言すると、ジョブ制御部222は、次回、そのIDのプログラムが起動するとき、更新後のプログラムが起動するようにジョブスケジュール226のエントリーポイントを変更する。これにより、次回、そのIDのプログラム(応用プログラム231)が呼び出される場合には、更新後のプログラムが起動する。
 なお、データ管理部223は、更新後のプログラムが起動した時点で、更新前のプログラムをメモリ212から削除してもよい。
 更新プログラムのIDと同一のIDのプログラムがジョブスケジュール226に存在しない場合、ジョブ制御部222は、新規プログラムとして、そのIDをジョブスケジュール226に登録し(ステップS420)、本フローチャートに基づく処理を終える。これにより、空気調和装置200には新規の応用プログラム231がインストールされる。
<基本プログラム221の更新処理>
 図8および図9は、クラウド30上で更新された基本プログラム221で空気調和装置200の基本プログラム221を更新するための処理の流れを示すフローチャートである。
 図10は、図8および図9のフローチャートにおいて、エントリーポイントを変更する処理の具体例を示すブロック図である。図10には、ジョブスケジュール226とプログラム領域213との関係が示されている。プログラム領域213は、メモリ212に設けられる。プログラム領域213には、更新プログラムを格納可能な空き領域214が存在する。
 先に説明した図4~図6に示されるフローチャートの処理は、基本プログラム221の更新に関しても同様に適用される。すなわち、図6のステップS208にて配信が許可されたプログラムが応用プログラム231の場合には、図7のフローチャートに基づく処理が実行され、図6のステップS208にて配信が許可されたプログラムが基本プログラム221の場合には、以下に説明する図8および図9のフローチャートに基づく処理が実行される。
 なお、図8および図9に示されるフローチャートの説明において、「プログラム」は、基本プログラム221を意味するものとする。
 はじめに、サーバ100は、対象の空気調和装置200の更新プログラム(基本プログラム221)の配信が許可されたか否かを判定する(ステップS602)。対象の空気調和装置200のプログラムの更新が許可されなかった場合、本フローチャートに基づく処理は終了する。対象の空気調和装置200のプログラムの更新が許可された場合、サーバ100は、対象の空気調和装置200へ更新プログラムを配信する(ステップS604)。
 対象の空気調和装置200の通信部224は、配信された更新プログラムを受信し、ジョブ制御部222は、その受信を検知する(ステップS606)。ジョブ制御部222は、受信されたデータが更新プログラムであることを認識する。ジョブ制御部222は、ジョブスケジュール226の更新処理を実行する(ステップS608)。更新処理によって、データ管理部223が起動する。データ管理部223は、受信した更新プログラムをプログラムモジュール単位でプログラム領域213の空き領域214に格納する処理を開始する(ステップS610)。複数のプログラムモジュールの各々は、基本ソフトウェア部220のジョブ制御部222、データ管理部223、通信部224、およびデバイスドライバ225などを構成する。
 図10には、プログラム領域213の空き領域214に更新プログラムモジュール(1)~(3)が格納されている状態が示されている。プログラム領域213には、現在、利用されている、更新前の旧プログラムモジュール(1)~(3)も格納されている。ステップS610が継続的に実行されることによって、空き領域214に順次、更新プログラムモジュール(1)~(3)が格納されていく。
 次に、ジョブ制御部222は、空き領域214への格納が完了した更新プログラムモジュールが存在するか否かを判定する(ステップS612)。ステップS610が継続的に実行されているものの、空き領域214への格納が完了した更新プログラムモジュールが存在しない場合、ステップS618に処理が進む。空き領域214への格納が完了した更新プログラムモジュールが存在する場合、ジョブ制御部222は、更新プログラムモジュールと同じIDのプログラムモジュールをジョブスケジュール226から検索する(ステップS614)。
 次に、ジョブ制御部222は、ジョブスケジュール226の当該IDに対応するプログラムモジュールのエントリーポイントを旧モジュールから新モジュールに変更する(ステップS616)。たとえば、図10には、ID=1に対応するプログラムモジュールのエントリーポイントが、旧プログラムモジュールのエントリーポイントAから新モジュール(更新プログラムモジュール)のエントリーポイントXに変更される様子が示されている。
 次に、ジョブ制御部222は、ジョブ制御部222に対応するプログラムモジュールを除いて、更新前のプログラムモジュールは実行中であるか否かを判定する(ステップS618)。ステップS618は、ステップS616において、エントリーポイントを変更済みのプログラムモジュールを対象にして判定される。エントリーポイントを更新前のプログラムモジュールから更新後のプログラムモジュールに変更済みであれば、更新前のプログラムモジュールを削除することができる。ただし、更新前のプログラムモジュールが動作している場合、その動作が終わった後に、更新前のプログラムモジュールを削除する必要がある。
 ステップS618において、NOと判定された場合、データ管理部223は、更新前のプログラムモジュールをプログラム領域213から削除する(ステップS620)。しかし、ステップS618において、YESと判定された場合、ステップS620の処理が実行されることなく、処理がステップS622に進む。ステップS622において、ジョブ制御部222は、全ての更新プログラムモジュールを空き領域214に格納する処理が完了したか否かを判定する。全ての更新プログラムモジュールを空き領域214に格納する処理が完了していない場合、ステップS610の処理に戻る。
 全ての更新プログラムモジュールを空き領域214に格納する処理が完了した場合、データ管理部223は、ジョブ制御部222に対応するプログラムモジュールを除いて、更新前のプログラムモジュールを全てプログラム領域213から削除したか否かを判定する(ステップS624)。ジョブ制御部222に対応するプログラムモジュールを除いて、更新前のプログラムモジュールを全てプログラム領域213から削除していない場合、ステップS618の処理に戻る。なお、ステップS624の判定において、ジョブ制御部222に対応するプログラムモジュールを除外しているのは、本フローチャートの主たる制御を実行するのはジョブ制御部222だからである。
 このように、ステップS622からステップS610に戻る処理と、ステップS624からステップS618に戻る処理とが繰り返し実行されることにより、やがて、全ての更新プログラムモジュールが空き領域214に格納され、エントリーポイントを変更する処理が全てのプログラムモジュールに対して実行される。その結果、ジョブ制御部222に対応するプログラムモジュールを除いて、更新前のプログラムモジュールの全てが削除された状態となる。このとき、ステップS624においてYESと判定される。
 なお、空気調和装置200は、更新プログラムを順次、空き領域214に格納する処理と、空き領域に更新プログラムが格納される毎に更新プログラムの実行に関するエントリーポイントを変更する処理と、エントリーポイントを変更済みの旧プログラムモジュールを順次、削除する処理とを、並列的に実行するようにしてもよい。
 ステップS624においてYESと判定された場合、ジョブ制御部222に対応する更新プログラムモジュール(旧プログラムモジュール)が初期化され、更新前のプログラムモジュール(旧プログラムモジュール)のジョブスケジュールが継承される(ステップS626)。
 次に、ジョブ制御部222が再起動することにより、ジョブ制御部222に対応する更新プログラムモジュールが再起動する(ステップS628)。次に、更新前のジョブ制御部222に対応するプログラムモジュールが停止することを待って(ステップS630)、データ管理部223は、更新前のプログラムモジュールをプログラム領域213から削除する(ステップS632)。これにより、ジョブ制御部222に対応するプログラムモジュールが完全に更新される。以上により、基本プログラム221を更新するための全ての処理が終了する。
 以上のとおり、ジョブ制御部222は、複数のプログラムモジュールの各々を、順次、前記メモリ212に格納する(ステップS610)。ジョブ制御部222は、第1プログラムモジュール(たとえば、デバイスドライバ225に対応するプログラムモジュール)のメモリ212への格納が完了したときに第2プログラムモジュール(たとえば、通信部224に対応するプログラムモジュール)のメモリへ212への格納が完了していない場合、第1プログラムモジュールを用いて、メモリ212の対応する基本ソフトウェアの第1プログラムモジュール部分を更新する(ステップS612~ステップS616)。
 ジョブ制御部222は、基本プログラム221を更新するために用いられるジョブモジュールである。空気調和装置200は、複数のプログラムモジュール毎にメモリ212内の対応する基本ソフトウェアを更新する場合、ジョブ制御部222のモジュール部分を最後に更新する(ステップS624)。
 以上、説明したように、本実施の形態によれば、空調ソフトウェア210を構成する各種のプログラムのうち、更新に必要なプログラムの単位で更新処理が実行される。このため空調ソフトウェア210を構成する全てのプログラムを一括して更新する場合に比べて、プログラムの更新時間を短くすることができる。また、更新に必要なプログラムのデータのみをサーバ100から配信すればよいため、空気調和装置に必要とされるメモリ容量を削減することができるとともにサーバ100と空気調和装置200との間の通信量を少なくすることができる。
 従来、プログラムの更新に際して、空気調和装置200の電源を遮断する必要が生じていた。しかし、本実施の形態では、各種の応用プログラム231単位の更新処理を基本ソフトウェア部220が担う。このため、応用プログラム231の更新中に、空気調和装置200の電源を遮断することなく、空気調和装置200の運転を継続することができる。
 このように、本実施の形態では、空気調和装置200が提供する複数の機能のそれぞれを実現する複数の機能単位で、応用プログラム231を分割している。これにより、ユーザは、必要な応用プログラム231を選択的に空気調和装置200に導入することができる。その結果、空気調和装置200に要求されるプログラム容量を減らすことができる。本実施の形態では、基本ソフトウェア部220が応用プログラム231を更新する処理を担うため、プログラムの更新の際に、電源を遮断する必要がない。そのため、揮発性メモリなどに格納している状態変数などがプログラムの更新によって消去されてしまうことがない。
 なお、ここでは、管理装置201のメモリ212に空調ソフトウェア210が格納される例を説明した。しかし、室内機202または室外機203に対して管理装置201と同等の制御装置を設け、その制御装置のメモリに空調ソフトウェア210を格納してもよい。室内機202または室外機203が管理装置201を含むように構成してもよい。
 また、本実施の形態では、基本ソフトウェア部220を構成する基本プログラム221を更新する際、基本プログラム221のプログラムモジュール単位で更新処理が実行される。基本ソフトウェア部220は、ジョブ制御部222に対応するプログラムモジュールの他、通信部224に対応するプログラムモジュール、およびデバイスドライバ225に対応するプログラムモジュールなどによって構成される。
 ジョブ制御部222は、ジョブ制御部222を除くこれらのプログラムモジュールの更新処理を司る。ジョブ制御部222は、これらのプログラムモジュールをモジュール単位で更新する。空気調和装置200は、ジョブ制御部222がこれらのプログラムモジュールを更新する処理を終えた後、ジョブ制御部222に対応する更新プログラムモジュールを初期化および再起動し(ステップS626、ステップS628)、最終的に基本プログラムの更新を終了させる。このため、本実施の形態によれば、基本プログラムを構成するプログラムモジュールのうち、ジョブ制御部222に対応するプログラムモジュールを再起動させることのみで、基本プログラムを更新することができる。
<データベース51に登録されている物件データ>
 図11は、データベース51に登録されている物件データ54を示す図である。物件データ54には、個々の物件300A,300B…の環境を特定するためのデータが含まれている。以下に説明するように、サーバ100を含む遠隔制御システム3は、物件データ54を利用した機械学習を経て、物件300の環境特性に応じた空調ソフトウェア210を提供することができる。
 図11に示されるように、物件データ54は、物件300A,物件300B,…毎にデータベース51に登録されている。物件データ54は、第1データと第2データとで構成される。
 第1データは、物件300のほぼ恒久的で持続性のある特性を示すデータであり、たとえば、位置情報および気候情報を含む。位置情報は、物件300の位置を示す緯度および経度により構成される。気候情報は、物件300が比較的温暖な地域に立地しているか、寒冷地に立地しているかなどといった情報により構成される。
 たとえば、第1データは、新たな物件300に空気調和装置200を設置する際、空気調和装置200の開発元の担当者によってデータベース51に登録される。たとえば、開発元の担当者は、端末装置10を用いて第1データをデータベース51に登録してもよい。
 第2データは、季節および時間帯によって変動し得るデータであり、たとえば、応用プログラム231の優先順位および物件300付近の気象情報などを含む。優先順位は、空気調和装置200が有する各種の応用プログラム231の利用状況に基づいて算出される情報である。気象情報は、物件300の外気温度および湿度を含む情報である。物件300の外気温度および湿度は、空気調和装置200の温湿度センサ243(図3参照)によって計測される。優先順位および気象情報は、物件300A,物件300B,…の各々に設置された空気調和装置200A,空気調和装置200B,…において、一定期間毎に算出される。
 空気調和装置200A,空気調和装置200B,…は、算出された優先順位および気象情報、並びに算出日時を示す日時情報をサーバ100へ送信する。空気調和装置200A,空気調和装置200B,…は、それらの情報とともに物件IDをサーバ100へ送信する。サーバ100は、受信した日時情報、優先順位および気象情報を、空気調和装置200の物件ID別に第2データとしてデータベース51に登録する。
 サーバ100は、優先順位の情報を参照することよって、空気調和装置200が有する各種の応用プログラム231のうち、いずれが最も利用頻度が高く、いずれか最も利用頻度が低いかを把握することができる。サーバ100は、優先順位の情報を参照することによって、極めて利用頻度の低い応用プログラム231、および利用されていない応用プログラム231を特定することができる。
 ここで、図12を参照して、優先順位に関して詳細に説明する。図12は、空気調和装置200が優先順位を算出する手順の具体例を示す図である。ここでは、空気調和装置200が応用プログラム231として第1プログラム~第4プログラムを有するものとする。空気調和装置200は、第1プログラム~第4プログラムのそれぞれが利用される毎にプログラムの利用回数を計数する。図12に示される例では、第4プログラムの利用回数が最も多く、第1プログラムの利用回数は0である。
 空気調和装置200は、規定期間が経過した段階で、利用回数と規定期間とに基づいて、利用頻度を算出する。たとえば、利用頻度は、「利用回数/規定期間」によって算出することができる。その結果、各々のプログラムの利用頻度が算出される。また、図12に示されるように、第1~第4プログラムの利用に関する優先順位が算出される。
 優先順位は、空調ソフトウェア210によって算出される。より具体的には、空調ソフトウェア210は、応用ソフトウェア部230の各種の応用プログラム231の利用回数を定期的に計測する。空調ソフトウェア210は、その利用回数を単位時間で除することによって利用頻度を求める。空調ソフトウェア210は、利用頻度を順位付けすることで、空調ソフトウェア210が利用する各種の応用プログラム231の優先順位を決定する。この優先順位は、「機能優先順位」とも称される。
 機能優先順位は、1日の時間帯に応じて変動するため、時間帯に応じた利用分布を求めることもできる。この場合、時間帯に応じ、自動的に空気調和装置200の起動、運転切換といった基本機能をスケジューリングすることも可能である。機能優先順位は、空調ソフトウェア210が利用する環境情報である外気温度、湿度等といった情報とともに定期的に遠隔制御システム3へ送信される。
<学習フェーズ>
 図13は、サーバ100が学習装置110を用いて推定モデル114を作成する手順を説明するためのブロック図である。図13に示されるように、サーバ100は、学習装置110と、推定モデル114とを備える。学習装置110および推定モデル114は、サーバ100のプロセッサ101およびメモリ102によって実現される。特に、推定モデル114は、サーバ100のメモリ102によって実現される。記憶装置50の記憶領域の一部を用いて、学習装置110および推定モデル114を実現してもよい。
 学習装置110は、入力部111と、判定部112と、学習部113とを備える。推定モデル114は、ニューラルネットワーク115と、パラメータ116とを含む。推定モデル114は、ニューラルネットワーク115を用いることで、ディープラーニングを行う。パラメータ116は、ニューラルネットワーク115による計算に用いられる重み付け係数などを含む。
 ここで、推定モデル114を学習させる学習フェーズについて説明する。推定モデル114は、学習装置110によって学習される。推定モデル114は、学習装置110によって、空気調和装置200の応用プログラム231の利用に関する優先順位を推定するように学習されている。
 推定モデル114を学習させるため、たとえば、教師あり学習のアルゴリズムが用いられる。学習装置110は、多数の学習用データ5を用いた教師あり学習によって、推定モデル114を学習させる。学習用データ5は、データベース51に登録された第1データおよび第2データにより構成される。データベース51には、物件300別に第1データおよび第2データが登録されている(図11参照)。
 学習装置110は、物件300別に登録された第1データおよび第2データを1セットの学習用データ5として利用する。たとえば、図11に示される物件データ54において、(物件300Aの第1データ、物件300Aの日時情報A1の第2データ)、(物件300Aの第1データ、物件300Aの日時情報A2の第2データ)、(物件300Aの第1データ、物件300Aの日時情報A3の第2データ)…、(物件300Bの第1データ、物件300Bの日時情報B1の第2データ)、(物件300Bの第1データ、物件300Bの日時情報B2の第2データ)、(物件300Bの第1データ、物件300Bの日時情報B3の第2データ)…、の各々が、1セットの学習用データ5に該当する。
 学習装置110の入力部111には、これらの1セットの学習用データ5のうち、第1データ(位置情報、気候情報)と、第2データの一部である気象情報とが入力される。学習装置110の学習部113には、第2データのうちの優先順位が正解データとして入力される。
 判定部112は、入力部111に入力された学習用データ5と推定モデル114とに基づいて優先順位を判定し、判定結果を学習部113に出力する。学習部113は、判定部112によって得られた判定結果と、正解データとに基づき、推定モデル114を学習させる。具体的には、学習部113は、推定モデル114によって得られた判定結果が、正解データに近づくように、パラメータ116(たとえば、重み付け係数)を調整することで、推定モデル114を学習させる。
 このように、推定モデル114は、空気調和装置200が配置される物件300の位置情報、気候情報、気象情報、および優先順位を含む学習用データに基づき、空気調和装置200が配置される物件300の位置情報、気候情報、および気象情報から優先順位を判定するように学習されている。
<運用フェーズ>
 図14は、サーバ100が学習済みの推定モデル114を用いて応用プログラム231の利用に関する優先順位を推定する手順を説明するためのブロック図である。サーバ100は、学習済みの推定モデル114を利用して、新規物件301に新たに設置された空気調和装置200Cを対象とする優先順位を出力することができる。
 サーバ100は、判定装置120と、推定モデル114とを備える。判定装置120および推定モデル114は、サーバ100のプロセッサ101およびメモリ102によって実現される。
 判定装置120は、入力部121と、処理部122と、出力部123とを備える。入力部121には、判定装置120がお勧めする優先順位を調べたい物件300の情報が入力される。たとえば、新規物件301に新たに設置された空気調和装置200Cを対象とする優先順位を調べたい場合、新規物件301の第1データ(位置情報、気候情報)と、現時点での新規物件301の気象情報(外気温度、湿度)とが入力部121に入力される。
 新規物件301の第1データは、新たな物件300に空気調和装置200を設置する際、空気調和装置200の開発元の担当者によってデータベース51に登録されている。入力部121へは、データベース51に登録済みの第1データが入力される。気象情報は、たとえば、広域ネットワーク60を介して、新規物件301に設置した空気調和装置200Cから入力部121に入力される。新規物件301に対応する端末装置20Cを用いてユーザが気象情報を入力部121に入力してもよい。
 処理部122は、入力部121に入力された第1データおよび気象情報と、推定モデル114とに基づいて優先順位を判定し、判定結果を出力部123に出力する。出力部123は、判定結果を判定装置120の外部に出力する。サーバ100は、判定結果を端末装置20Cに送信する。端末装置20Cは、判定結果に基づいて、優先順位をお勧めの応用プログラムとしてディスプレイ40に表示する。
 ユーザは、ディスプレイ40の表示に基づいて、空気調和装置200Cに導入する応用プログラム231の優先順位を設定することができる。また、ユーザは、ディスプレイ40に表示された優先順位から、導入不要と考えられる応用プログラム231を特定することもできる。
 ユーザが優先順位を組み替える機能を端末装置20Cに設けてもよい。端末装置20Cは、ユーザが優先順位を確定する操作を検出したときに、サーバ100に確定した優先順位を送信する機能を備えてもよい。サーバ100は、確定した優先順位を端末装置20Cから受信したときに、その優先順位に従って空気調和装置200Cの応用プログラム231を設定する機能を備えてもよい。
 以上説明したように、サーバ100を含む遠隔制御システム3によれば、新規物件301に空気調和装置200Cを導入する場合、学習済みの推定モデル114に、新規物件301の物件データを入力し、応用ソフトウェア部230に導入すべき各種の応用プログラム231をレコメンドすることができる。
 学習済みの推定モデル114をサーバ100に内に配置することに代えて、学習済みの推定モデル114を空気調和装置200内に配置してもよい。学習装置110は、学習用データとして、図12に示される応用プログラム231の利用回数をさらに利用して、優先順位を推定するための学習をしてもよい。この場合、新規物件301において空気調和装置200Cは、試運転をしたときに、各応用プログラム231の利用回数を示すデータを学習済みの推定モデル114に入力してもよい。
 空気調和装置200Cは、空気調和装置200Cまたはサーバ100に配置された学習済みの推定モデル114の出力結果を利用して、応用プログラム231に関する、より適切な優先順位を設定することができる。これにより、空気調和装置200C(ジョブ制御部222およびデータ管理部223)は、自身のジョブスケジュール226を適切なスケジュールに更新することができる。
 図15は、新規物件301に空気調和装置200Cが導入された場合に、新規物件301の第1データおよび物件IDをデータベース51に登録する手順を示すフローチャートである。はじめに、サーバ100は、新規物件301に空気調和装置200Cが設置されたか否かを判定する(ステップS701)。
 たとえば、サーバ100は、空気調和装置200Cから、データベース51に未登録の物件IDを受信した場合に新規物件301に空気調和装置200Cが設置されたと判定する。この場合、サーバ100は、新規物件301の第1データを物件IDとともにデータベース51に登録する(ステップS702)。ステップS701において、NOと判定された場合、ステップS702の処理が実行されることなく、本フローチャートに基づく処理は終了する。
 図16は、学習済みの推定モデル114を作成する手順を説明するためのフローチャートである。ここでは、複数の物件300の各々に設置された空気調和装置200の処理と、サーバ100の処理とをまとめて説明する。
 はじめに、空気調和装置200は、タイマTが規定時間を計時したことを判定する(ステップS801)。ここで、規定時間は、空気調和装置200において応用プログラム231の優先順位と気象情報とを算出する時間間隔である。
 空気調和装置200は、タイマTが規定時間を計時すると、応用プログラム231の利用頻度を応用プログラム231の種類別に算出する(ステップS802)。次に、空気調和装置200は、算出した利用頻度に基づいて、応用プログラム231の優先順位を作成する(ステップS803)。ここで作成される優先順位の情報には、各々の応用プログラム231の利用頻度が含まれる。次に、空気調和装置200は、温湿度センサ243を用いて外気温度および湿度を計測する(ステップS804)。
 次に、空気調和装置200は、物件IDおよび第2データ(気象情報および優先順位を含む)をサーバ100へ送信する(ステップS805)。その後、空気調和装置200は、タイマTをリスタートさせ(ステップS806)、本フローチャートに基づく処理を終える。
 サーバ100は、第2データを受信するまで待機する(ステップS811)。やがて、いずれかの空気調和装置200が第2データを物件IDとともにサーバ100へ送信する。サーバ100は、受信した第2データを物件ID別にデータベース51に登録する(ステップS812)。次に、サーバ100は、データベース51に登録されている第1データおよび第2データを用いて、学習処理を実行し(ステップS813)、推定モデル114を更新する(ステップS814)。これにより、本フローチャートに基づく処理が終了する。
 図17は、空気調和装置200Cに推奨される応用プログラム231の優先順位を判定する手順を説明するためのフローチャートである。
 はじめに、サーバ100は、新規物件301の第1データおよび気象情報を取得する(ステップS901)。
 次に、サーバ100は、新規物件301の第1データおよび気象情報を学習済みの推定モデル114に入力する(ステップS902)。次に、サーバ100は、推定モデル114から判定結果(優先順位)を出力する(ステップS903)。次に、サーバ100は、出力された判定結果をお勧めの応用プログラム情報として、端末装置20Cへ送信し(ステップS904)、本フローチャートに基づく処理を終える。
 以上、説明したとおり、本実施の形態によれば、判定装置120を利用することにより、応用プログラム231の利用頻度に応じて、現地(各物件300)で使用したい機能に対応する応用プログラム231のみを空気調和装置200にインストールすることができる。このように、本実施の形態によれば、使っていない応用プログラム231を空気調和装置200のメモリ212から排除することができる。これにより、メモリ212内のデータの空き領域を広げることができる。このことは、他の有用な応用プログラム231をインストールする余裕を空気調和装置200に与えることになる。したがって、ユーザは、必要に応じて、応用プログラム231の種類をカスタマイズすることができる。
 本実施の形態によれば、現地(各物件300)の情報とプログラムの利用頻度(あるいは利用回数)とから推定モデル114を学習させることで、各物件300の特性を考慮した適切な優先順位データを出力することが可能な学習モデルが形成される。これにより、新規物件301の空気調和装置200Cに対して、どの機能を適用すべきかをユーザにレコメンドすることができる。その結果、空気調和装置200Cを新規物件301に導入した時点で、その優先順位を自動的に空気調和装置200Cに適用することも可能となる。判定装置120を利用することにより、空気調和装置200Cに適用すべき応用プログラム231を人が選択する必要がなくなり、その結果、人による判定ミスを防止できる。したがって、本実施の形態によれば、機械学習による最適制御を空調システム1に適用することができる。
 図18は、変形例としての空調システム2の全体構成を示す図である。図18に示されるように、空気調和装置200は、物件300内の構内ネットワーク61を介して、遠隔制御システム3と接続される。空調システム2は、物件300内に構内ネットワーク61が形成される点を除くと、空調システム1と同様である。したがって、ここでは、これ以上、空調システム2の説明を繰り返すことをしない。
 図19は、図6に関連する変形例を説明するためのフローチャートである。本変形例では、図6に示されるフローチャートに対して、ステップS2111~ステップS2115が追加されている。
 本変形例では、ステップS204において、対象プログラムをインストールする十分な空き領域がメモリ212に存在しない場合、メモリ212の中から優先順位の低い応用プログラム231を削除し、空き領域を確保する例を説明する。ここでは、ステップS202、ステップS204、ステップS206、ステップS208、およびステップS210の詳細な説明を繰り返さない。
 空気調和装置200は、ステップS204において、対象プログラムをインストールする十分な空き領域がメモリ212に存在しないと判断した場合、メモリ212内から優先順位の最も低い応用プログラム231を選択する(ステップS2111)。ここでは、ステップS2111において選択された応用プログラム231を応用プログラムXとする。優先順位は、たとえば、使用頻度によって決定される。空気調和装置200は、応用プログラム231が使用される毎に使用回数を応用プログラム別に更新する。空気調和装置200は、その使用回数に基づいて、使用頻度を判定する。
 次に、空気調和装置200は、応用プログラムXを削除することを、ユーザに通知する(ステップS2112)。たとえば、空気調和装置200は、応用プログラムXを削除すること示す情報を、ユーザの端末装置20へ送信する。
 次に、空気調和装置200は、応用プログラムXの削除に関するユーザの指示をユーザから受信する(ステップS2113)。この指示は、たとえば、ユーザの端末装置20から送信される。
 次に、空気調和装置200は、ユーザが応用プログラムXの削除を許可しているか否かを判定する(ステップS2114)。ユーザが応用プログラムXの削除を許可していない場合、空気調和装置200は、ステップS210に処理を進める。ユーザが応用プログラムXの削除を許可している場合、空気調和装置200は、応用プログラムXをメモリ212から削除する(ステップS2115)。次に、空気調和装置200は、ステップS208の処理を実行する。これにより、空気調和装置200からサーバ100に対して、対象プログラムの配信許可が返信される。その結果、メモリ212の空き領域が確保された状態で対象プログラムが空気調和装置200に配信される。
 (まとめ)
 以上の実施の形態について総括する。
 (1) 本開示は、空気調和システム(1)であって、空気調和装置(200)と、空気調和装置と通信するサーバ(100)とを備え、空気調和装置は、空調ソフトウェアを格納するメモリ(212)と、メモリの空調ソフトウェアを実行するプロセッサ(211)とを有し、空調ソフトウェアは、空気調和装置が提供する複数の機能をそれぞれ実現する複数の応用ソフトウェア(231)と、複数の応用ソフトウェアのジョブを管理する基本ソフトウェア(221)とを含み、サーバは、プロセッサが複数の応用ソフトウェアのうちの1つを更新するために必要な第1更新用データを空気調和装置に配信し(ステップS404)、プロセッサは、第1更新用データに基づいて、基本ソフトウェアを用いてメモリ内の対応する応用ソフトウェアを更新する(ステップS418)。
 (2) 空調システムにおいて、サーバは、メモリに格納されていない新規の応用ソフトウェアを空気調和装置に配信し(ステップS112,ステップS114,ステップS404)、プロセッサは、配信された新規の応用ソフトウェアをメモリに格納することにより、新規の応用ソフトウェアによって実現される新たな機能を空気調和装置に追加する(ステップS420)。
 (3) 空調システムにおいて、サーバは、空気調和装置に基本ソフトウェアを更新するために必要な第2更新用データを配信し(ステップS604)、プロセッサは、第2更新用データに基づいて、メモリ内の対応する基本ソフトウェアを更新する(図8,図9)。
 (4) 空調システムにおいて、基本ソフトウェアは、複数のモジュールを含み(222~226)、プロセッサは、第2更新用データに基づいて、複数のモジュール毎にメモリ内の対応する基本ソフトウェアを更新する(ステップS616)。
 (5) 複数のモジュールは、第1モジュールおよび第2モジュール(ジョブ制御部222、データ管理部223、通信部224、デバイスドライバ225、およびジョブスケジュール226を構成するプログラムモジュールのうち、ジョブ制御部222を構成するモジュール以外)を含み、プロセッサは、複数のモジュールの各々を、順次、メモリに格納し(ステップS610)、第1モジュールのメモリへの格納が完了したときに第2モジュールのメモリへの格納が完了していない場合、第1モジュールを用いてメモリ内の対応する基本ソフトウェアの第1モジュールの部分を更新する(ステップS612~ステップS616)。
 (6)複数のモジュールは、メモリ内の対応する基本ソフトウェアを更新するために用いられるジョブモジュール(ジョブ制御部222)を含み、プロセッサは、複数のモジュール毎にメモリ内の対応する基本ソフトウェアを更新する場合、基本ソフトウェアのジョブモジュールの部分を最後に更新する(ステップS624)。
 (7) 空調システムにおいて、サーバと通信する端末装置(20)をさらに備え、サーバは、複数の応用ソフトウェアのうちの1つを更新可能であることを端末装置へ通知し(ステップS108)、サーバは、複数の応用ソフトウェアのうちの1つを更新することに対する許可を端末装置から得た後、空気調和装置へ前記第1更新用データを配信する(ステップS120)。
 (8) 空調システムは、空気調和装置において複数の応用ソフトウェアの各々が利用される優先順位を判定する判定装置(120)を備え、判定装置は、空気調和装置が配置される場所の位置情報、気候情報、および気象情報、並びに、ニューラルネットワークを含む推定モデルに基づき、優先順位を判定し、優先順位の判定結果を出力する(ステップS903)。
 (9) 空調システムにおいて、サーバは、判定装置を含む(図14)。
 (10) 空調システムにおいて、推定モデルは、空気調和装置が配置される場所の位置情報、気候情報、気象情報、および優先順位を含む学習用データに基づき、空気調和装置が配置される場所の位置情報、気候情報、および気象情報から優先順位を判定するように学習されている(図13)。
 (11) 空気調和装置は、メモリ内の容量が不足する場合、メモリに格納されている複数の応用ソフトウェアのうち、優先順位の低い応用ソフトウェアを削除してから、メモリ内の対応する応用ソフトウェアを更新する(ステップS2111~ステップS2115)。
 (12) 本開示は、サーバと通信可能な空気調和装置であって、空調ソフトウェアを格納するメモリと、メモリに格納された空調ソフトウェアを実行するプロセッサとを備え、空調ソフトウェアは、空気調和装置が提供する複数の機能をそれぞれ実現する複数の応用ソフトウェアと、複数の応用ソフトウェアのジョブを管理する基本ソフトウェアとを含み、プロセッサは、複数の応用ソフトウェアのうちの1つを更新するために必要な第1更新用データをサーバから受信した場合、第1更新用データに基づいて、基本ソフトウェアを用いてメモリ内の対応する応用ソフトウェアを更新する。
 今回開示された実施の形態は、全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施の形態の説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
 1,2 空調システム、 3 遠隔制御システム、5 学習用データ、10 端末装置、20,20A,20B 端末装置、30 クラウド、40 ディスプレイ、50 記憶装置、51 データベース、52 マスタデータ、53 機種特定用データ、54 物件データ、60 広域ネットワーク、61 構内ネットワーク、100 サーバ、101 プロセッサ、102 メモリ、110 学習装置、111 入力部、112 判定部、113 学習部、114 推定モデル、115 ニューラルネットワーク、116 パラメータ、117 処理部、118 出力部、120 判定装置、121 入力部、122 処理部、123 出力部、200,200A,200B 空気調和装置、201 管理装置、202 室内機、203 室外機、210 空調ソフトウェア、211 プロセッサ、212 メモリ、213 プログラム領域、214 空き領域、220 基本ソフトウェア部、221 基本プログラム、222 ジョブ制御部、223 データ管理部、224 通信部、225 デバイスドライバ、226 ジョブスケジュール、230 応用ソフトウェア部、231 応用プログラム、231A 運転制御プログラム、231B 機器保護制御プログラム、231C 霜取制御プログラム、240 ハードウェアデバイス、241 温度センサ、242 圧力センサ、243 温湿度センサ、244 圧縮機、245 ファン、246 弁、300,300A,300B 物件、301 新規物件。

Claims (12)

  1.  空気調和システムであって、
     空気調和装置と、
     前記空気調和装置と通信するサーバとを備え、
     前記空気調和装置は、
      空調ソフトウェアを格納するメモリと、
      前記メモリの空調ソフトウェアを実行するプロセッサとを有し、
     前記空調ソフトウェアは、
      前記空気調和装置が提供する複数の機能をそれぞれ実現する複数の応用ソフトウェアと、
      前記複数の応用ソフトウェアのジョブを管理する基本ソフトウェアとを含み、
     前記サーバは、前記プロセッサが前記複数の応用ソフトウェアのうちの1つを更新するために必要な第1更新用データを前記空気調和装置に配信し、
     前記プロセッサは、前記第1更新用データに基づいて、前記基本ソフトウェアを用いて前記メモリ内の対応する応用ソフトウェアを更新する、空気調和システム。
  2.  前記サーバは、前記メモリに格納されていない新規の応用ソフトウェアを前記空気調和装置に配信し、
     前記プロセッサは、配信された前記新規の応用ソフトウェアを前記メモリに格納することにより、前記新規の応用ソフトウェアによって実現される新たな機能を前記空気調和装置に追加する、請求項1に記載の空気調和システム。
  3.  前記サーバは、前記基本ソフトウェアを更新するために必要な第2更新用データを前記空気調和装置に配信し、
     前記プロセッサは、前記第2更新用データに基づいて、前記メモリ内の対応する基本ソフトウェアを更新する、請求項1または請求項2に記載の空気調和システム。
  4.  前記基本ソフトウェアは、複数のモジュールを含み、
     前記プロセッサは、前記第2更新用データに基づいて、前記複数のモジュール毎に前記メモリ内の対応する基本ソフトウェアを更新する、請求項3に記載の空気調和システム。
  5.  前記複数のモジュールは、第1モジュールおよび第2モジュールを含み、
     前記プロセッサは、前記複数のモジュールの各々を、順次、前記メモリに格納し、前記第1モジュールの前記メモリへの格納が完了したときに前記第2モジュールの前記メモリへの格納が完了していない場合、前記第1モジュールを用いて前記メモリ内の対応する基本ソフトウェアの前記第1モジュールの部分を更新する、請求項4に記載の空気調和システム。
  6.  前記複数のモジュールは、前記メモリ内の対応する基本ソフトウェアを更新するために用いられるジョブモジュールを含み、
     前記プロセッサは、前記複数のモジュール毎に前記メモリ内の対応する基本ソフトウェアを更新する場合、前記基本ソフトウェアの前記ジョブモジュールの部分を最後に更新する、請求項5に記載の空気調和システム。
  7.  前記サーバと通信する端末装置をさらに備え、
     前記サーバは、前記複数の応用ソフトウェアのうちの1つを更新可能であることを前記端末装置へ通知し、
     前記サーバは、前記複数の応用ソフトウェアのうちの1つを更新することに対する許可を前記端末装置から得た後、前記空気調和装置へ前記第1更新用データを配信する、請求項1~請求項6のいずれか1項に記載の空気調和システム。
  8.  前記空気調和装置で前記複数の応用ソフトウェアの各々が利用される優先順位を判定する判定装置を備え、
     前記判定装置は、前記空気調和装置が配置される場所の位置情報、気候情報、および気象情報、並びに、ニューラルネットワークを含む推定モデルに基づき、前記優先順位を判定し、前記優先順位の判定結果を出力する、請求項1~請求項7のいずれか1項に記載の空気調和システム。
  9.  前記サーバは、前記判定装置を含む、請求項8に記載の空気調和システム。
  10.  前記推定モデルは、前記空気調和装置が配置される場所の位置情報、気候情報、気象情報、および前記優先順位を含む学習用データに基づき、前記空気調和装置が配置される場所の位置情報、気候情報、および気象情報から前記優先順位を判定するように学習されている、請求項8または請求項9に記載の空気調和システム。
  11.  前記空気調和装置は、前記メモリ内の容量が不足する場合、前記メモリに格納されている複数の応用ソフトウェアのうち、優先順位の低い応用ソフトウェアを削除してから、前記メモリ内の対応する応用ソフトウェアを更新する、請求項1~請求項7のいずれか1項に記載の空気調和システム。
  12.  サーバと通信可能な空気調和装置であって、
     空調ソフトウェアを格納するメモリと、
     前記メモリに格納された空調ソフトウェアを実行するプロセッサとを備え、
     前記空調ソフトウェアは、
      前記空気調和装置が提供する複数の機能をそれぞれ実現する複数の応用ソフトウェアと、
      前記複数の応用ソフトウェアのジョブを管理する基本ソフトウェアとを含み、
     前記プロセッサは、前記複数の応用ソフトウェアのうちの1つを更新するために必要な第1更新用データを前記サーバから受信した場合、前記第1更新用データに基づいて、前記基本ソフトウェアを用いて前記メモリ内の対応する応用ソフトウェアを更新する、空気調和装置。
PCT/JP2022/003804 2022-02-01 2022-02-01 空気調和システムおよび空気調和装置 WO2023148811A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023578215A JPWO2023148811A1 (ja) 2022-02-01 2022-02-01
PCT/JP2022/003804 WO2023148811A1 (ja) 2022-02-01 2022-02-01 空気調和システムおよび空気調和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/003804 WO2023148811A1 (ja) 2022-02-01 2022-02-01 空気調和システムおよび空気調和装置

Publications (1)

Publication Number Publication Date
WO2023148811A1 true WO2023148811A1 (ja) 2023-08-10

Family

ID=87553328

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/003804 WO2023148811A1 (ja) 2022-02-01 2022-02-01 空気調和システムおよび空気調和装置

Country Status (2)

Country Link
JP (1) JPWO2023148811A1 (ja)
WO (1) WO2023148811A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073426A (ja) * 2000-09-05 2002-03-12 Sanyo Electric Co Ltd フラッシュメモリの書換え制御方法
JP2005100428A (ja) * 2004-10-12 2005-04-14 Fujitsu Ltd 無線端末装置及び該装置へのソフトウェア供給装置
JP2013049194A (ja) * 2011-08-31 2013-03-14 Kyocera Document Solutions Inc 画像形成装置、画像形成システム
WO2021149191A1 (ja) * 2020-01-22 2021-07-29 三菱電機株式会社 制御プログラムを更新するサービスシステム、サーバ装置及びサーバ装置における制御プログラム更新方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073426A (ja) * 2000-09-05 2002-03-12 Sanyo Electric Co Ltd フラッシュメモリの書換え制御方法
JP2005100428A (ja) * 2004-10-12 2005-04-14 Fujitsu Ltd 無線端末装置及び該装置へのソフトウェア供給装置
JP2013049194A (ja) * 2011-08-31 2013-03-14 Kyocera Document Solutions Inc 画像形成装置、画像形成システム
WO2021149191A1 (ja) * 2020-01-22 2021-07-29 三菱電機株式会社 制御プログラムを更新するサービスシステム、サーバ装置及びサーバ装置における制御プログラム更新方法

Also Published As

Publication number Publication date
JPWO2023148811A1 (ja) 2023-08-10

Similar Documents

Publication Publication Date Title
JP4346584B2 (ja) デマンド制御装置およびプログラム
US7216015B2 (en) HVAC control system
AU2019357534B2 (en) Air conditioner, data transmission method, and air conditioning system
CN106817909A (zh) 空调控制方法、空调控制装置以及空调控制程序
EP1729223A2 (en) Demand control apparatus, electric power consumption prediction method, and program therefor
CN102252400B (zh) 设定值管理方法以及装置
JP7101492B2 (ja) 空調制御装置、空調制御システム、空調制御方法、及び、プログラム
JP2019019988A (ja) 空調運転条件作成装置、空調運転条件作成方法、プログラム、および空調システム
AU2017422574B2 (en) Operation control device, air conditioning system, operation control method, and operation control program
CA3040117C (en) Operating an hvac system based on predicted indoor air temperature
JP6937261B2 (ja) 空調制御装置、空調制御方法及びコンピュータプログラム
CN114556027B (zh) 空调控制装置、空调系统、空调控制方法和记录介质
WO2020121437A1 (ja) 空調制御装置及び空調制御方法
CN113544439A (zh) 空调控制系统以及空调控制方法
CA3058316A1 (en) Systems and methods of predicting energy usage
EP2584277B1 (en) Network system equipped with air conditioner and control method thereof
CN112379766A (zh) 数据处理方法、装置、非易失性存储介质和处理器
WO2023148811A1 (ja) 空気調和システムおよび空気調和装置
JP5205183B2 (ja) 統合制御システム、統合制御方法、統合制御装置及び統合制御プログラム
CN110296497A (zh) 连接家庭的hvac健康监测的系统和方法
CN111397112B (zh) 空调控制方法、装置、服务器及计算机可读存储介质
JP5279617B2 (ja) 統合管理システム、統合管理方法、統合管理装置及び統合管理プログラム
CN110296854A (zh) 用于hvac系统舒适度破坏预报的预测系统和方法
JPWO2019030896A1 (ja) プログラム更新方法、室外機及び管理装置
KR102002076B1 (ko) 자원 할당 알고리즘 기반 IoT 분산 처리 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22924724

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023578215

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE