Electronic device and method for performing update operation for firmware

The electronic system intelligently manages firmware updates for IoT devices by using location and time condition data to coordinate updates, reducing disruptions and improving operational efficiency.

WO2026121595A1PCT designated stage Publication Date: 2026-06-11SAMSUNG ELECTRONICS CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
SAMSUNG ELECTRONICS CO LTD
Filing Date
2025-11-05
Publication Date
2026-06-11

AI Technical Summary

Technical Problem

Existing firmware update systems lack the ability to intelligently manage updates based on location, time, and operational conditions of IoT devices, leading to potential interruptions and inefficiencies.

Method used

An electronic system that includes a server device, an electronic device, and a mobile device, which uses location and time condition data from automation programs to determine when and where to transmit firmware updates, ensuring minimal disruption to IoT devices by coordinating updates based on predefined conditions.

🎯Benefits of technology

The system effectively manages firmware updates by minimizing operational interruptions and optimizing update timing and location, enhancing the reliability and efficiency of IoT device operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025018072_11062026_PF_FP_ABST
    Figure KR2025018072_11062026_PF_FP_ABST
Patent Text Reader

Abstract

This electronic device may comprise a first communication circuit, a second communication circuit, at least one processor, and a memory for storing instructions. When executed individually or collectively by the at least one processor, the instructions can instruct the electronic device to: using the first communication circuit to receive data for updating firmware stored in a client device; identify whether there is position condition data of an automation program; receive a signal indicating the position of a mobile device; identify, on the basis of the signal, whether the mobile device is positioned within an area defined in relation to a reference area; use the second communication circuit to transmit the data to the client device on the basis that the mobile device is positioned outside the area; and refrain, on the basis that the mobile device is positioned within the area, from transmitting the data to the client device.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device and method for performing update operations for firmware

[0001] The following descriptions relate to an electronic device and method for performing an update operation for firmware.

[0002] An electronic device may store firmware for driving and controlling the hardware of the electronic device in memory. For example, the electronic device may update the firmware stored in memory by receiving data for updating the firmware from an external electronic device.

[0003] The information described above may be provided as related art for the purpose of aiding understanding of the present disclosure. No claim or determination is made as to whether any of the foregoing may be applied as prior art related to the present disclosure.

[0004] An electronic device is provided. The electronic device may include at least one processor comprising a first communication circuit, a second communication circuit, and a processing circuit, and a memory comprising one or more storage media for storing instructions. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to receive, from the server device using the first communication circuit, data for updating firmware stored in a client device registered in the server device in association with the electronic device. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to identify whether there is location condition data of the automation program for the operation of the client device controlled by the automation program based on the mobile device being located within a reference area. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to receive a signal indicating the location of the mobile device from the server device or the mobile device based on identifying the existence of the location condition data. The above instructions, when executed individually or collectively by the at least one processor, may cause the electronic device to identify whether the mobile device is located within a defined area in relation to the reference area based on the signal.The above instructions may cause the electronic device to transmit the data to the client device using the second communication circuit in order to cause the client device to update the firmware, based on the fact that the mobile device is located outside the area when executed individually or collectively by the at least one processor. The above instructions may cause the electronic device to refrain from transmitting the data to the client device, based on the fact that the mobile device is located within the area when executed individually or collectively by the at least one processor.

[0005] An electronic device is provided. The electronic device may include at least one processor comprising a first communication circuit, a second communication circuit, and a processing circuit, and a memory comprising one or more storage media for storing instructions. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to receive, from the server device using the first communication circuit, data for updating firmware stored in a client device registered in the server device in association with the electronic device. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to identify whether location data exists for an operation of the client device performed based on the location of the mobile device. When the instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to receive a signal indicating the location of the mobile device from the server device or the mobile device based on identifying the existence of the location data. The above instructions may cause the electronic device to identify, based on the signal, whether the mobile device is located within a defined area with respect to the location, when executed individually or collectively by the at least one processor. The above instructions may cause the electronic device to transmit the data to the client device using the second communication circuit, based on whether the mobile device is located outside the defined area, in order to cause the client device to update the firmware, when executed individually or collectively by the at least one processor.The above instructions may cause the electronic device to refrain from transmitting the data to the client device based on the mobile device being located within the defined area when executed individually or collectively by the at least one processor.

[0006] A method is provided. The method may be performed by an electronic system having an electronic device and a server device. The method may include an operation in which the server device identifies data for updating firmware stored in a client device registered within the server device in association with the electronic device. The method may include an operation in which the electronic device identifies whether there is location condition data of an automation program for the operation of the client device controlled by the automation program based on the mobile device being located within a reference area. The method may include an operation in which the electronic device receives a signal indicating the location of the mobile device from the server device or the mobile device based on identifying the existence of the location condition data. The method may include an operation in which the electronic device identifies whether the mobile device is located within an area defined in relation to the reference area based on the signal. The method may include an operation in which the data is transmitted from the electronic device to the client device to cause the client device to update the firmware based on the mobile device being located outside the area. The above method may include an operation in which the electronic device refrains from transmitting the data to the client device based on the fact that the mobile device is located within the area.

[0007] Figure 1 is a schematic view of an exemplary electronic system.

[0008] FIG. 2 illustrates an example of signaling generated within an electronic system to update firmware stored in a client device based on location condition data of an automation program.

[0009] Figure 3 illustrates another example of signaling generated within an electronic system to update firmware stored in a client device based on location condition data of an automation program.

[0010] Figure 4 is a flowchart illustrating a method for scheduling the time to update firmware stored in a client device based on time condition data of an automation program.

[0011] FIG. 5 is a flowchart illustrating a method for transmitting data to update firmware stored in a client device according to a scheduled time.

[0012] Figure 6 illustrates an example of a user interface displayed within a mobile device regarding the update of firmware stored within a client device.

[0013] FIG. 7 is a block diagram of an electronic device in a network environment according to various embodiments.

[0014] Figure 1 is a schematic view of an exemplary electronic system.

[0015] Referring to FIG. 1, an electronic system (100) comprising a server device (110), an electronic device (120), at least one client device (130), and a mobile device (140) is shown. For example, the electronic system (100) can be described as an IoT (Internet of Things) environment in which the server device (110), the electronic device (120), at least one client device (130), and the mobile device (140) are connected to each other through a network.

[0016] The server device (110) may include at least one processor (111), memory (112), a first communication circuit (113), and a second communication circuit (114). For example, the server device (110) may be described as a server providing an IoT (internet of things) network for an electronic device (120), at least one client device (130), and a mobile device (140).

[0017] At least one processor (111) may include a processing circuit. At least one processor (111) may include a single processor or multiple processors. At least one processor (111) may control the memory (112) and / or one or more components (e.g., a first communication circuit (113) and a second communication circuit (114)) of the server device (110).

[0018] Memory (112) may store one or more programs configured to be executed individually and / or collectively by at least one processor (111). The one or more programs may include instructions. The instructions may cause a server device (110) to perform operations described with reference to FIGS. 2 through 6. Memory (112) may include one or more storage media. For example, memory (112) may register at least one client device (130) in association with an electronic device (120) by storing information regarding at least one client device (130) in the storage media. For example, at least some of the one or more programs may be available to manage, control, and / or execute an automation program described below. For example, at least some of the one or more programs may be available to manage, control, and / or execute a trained language model described below.

[0019] The first communication circuit (113) may be available to communicate with the electronic device (120). The first communication circuit (113) may be controlled by at least one processor (111). In an example not limited to, the first communication circuit (113) may exchange data with the electronic device (120) via a wired network.

[0020] The second communication circuit (114) may be available to communicate with the mobile device (140). The second communication circuit (114) may be controlled by at least one processor (111). As an example without limitation, the second communication circuit (114) may exchange data with the mobile device (140) via a wireless network based on satellite communication, LTE / 5G, and / or Wi-Fi (wireless fidelity).

[0021] The electronic device (120) may include at least one processor (121), memory (122), a first communication circuit (123), and a second communication circuit (124). For example, the electronic device (120) may be described as an electronic device that communicates with a server device (110) and at least one client device (130). For example, the electronic device (120) may be described as an electronic device that manages and / or controls at least one client device (130) using various protocols including Zigbee, Z-Wave, Bluetooth, and / or Wi-Fi (wireless fidelity).

[0022] At least one processor (121) may include a processing circuit. At least one processor (121) may include a single processor or multiple processors. At least one processor (121) may control the memory (122) and / or one or more components (e.g., a first communication circuit (123) and a second communication circuit (124)) of the electronic device (120).

[0023] Memory (122) may store one or more programs configured to be executed individually and / or collectively by at least one processor (121). The one or more programs may include instructions. The instructions may cause an electronic device (120) to perform operations described with reference to FIGS. 2 through 6. Memory (122) may include one or more storage media. For example, memory (122) may store information regarding at least one client device (130) within the storage media. For example, at least some of the one or more programs may be available to manage, control, and / or execute an automation program described below. For example, at least some of the one or more programs may be available to manage, control, and / or execute a trained language model described below.

[0024] The first communication circuit (123) may be available to communicate with the server device (110). The first communication circuit (123) may be controlled by at least one processor (121). As an example without limitation, the first communication circuit (123) may exchange data with the server device (110) via a wired network.

[0025] The second communication circuit (124) may be available to communicate with at least one client device (130) and / or a mobile device (140). The second communication circuit (124) may be controlled by at least one processor (121). In an example without limitation, the second communication circuit (124) may exchange data with at least one client device (130) via a wireless network based on Zigbee, Z-Wave, Bluetooth and / or Wi-Fi (wireless fidelity). In an example without limitation, the second communication circuit (124) may exchange data with a mobile device (140) via a wireless network based on Wi-Fi (wireless fidelity).

[0026] At least one client device (130) may be described as one or more client devices registered within the server device (110) in association with the electronic device (120). For example, at least one client device (130) may be described as an Internet of Things (IoT) device. By example, without limitation, at least one client device (130) may be described as an IoT device (e.g., occupancy sensor, smart light bulb, thermostat, and lock) that communicates with the electronic device (120) via Zigbee or Z-Wave. By example, without limitation, at least one client device (130) may be described as an IoT device (e.g., TV, air conditioner, and robot vacuum cleaner) that communicates with the electronic device (120) via Wi-Fi (wireless fidelity). At least one client device (130) may include a memory that stores firmware. For example, the firmware stored in the memory of at least one client device (130) can be described as software for driving and controlling the hardware of at least one client device (130).

[0027] The mobile device (140) may be described as an electronic device that communicates with the server device (110) and / or the electronic device (120). By example, without limitation, the mobile device (140) may be described as a portable electronic device (e.g., a smartphone, a tablet, and a wearable device). For example, the mobile device (140) may include at least a part of the electronic device (701) of FIG. 7 or correspond to at least a part of the electronic device (701) of FIG. 7.

[0028] A server device (110) can identify data for updating firmware stored in at least one client device (130). For example, the server device (110) can receive update version information of the firmware stored in at least one client device (130) via an electronic device (120) using a first communication circuit (113). For example, based on identifying the update version information, the server device (110) can identify whether there is an updatable version of the firmware through an external server device that manages the update of the firmware. For example, based on identifying whether there is an updatable version, the server device (110) can determine whether to update the firmware according to the update priority (e.g., update importance) indicated by the updatable version. For example, the server device (110) can identify the data for updating the firmware by receiving the data for updating the firmware from the external server device based on the decision to update the firmware.

[0029] The electronic system (100) can identify whether to transmit the data for updating the firmware to at least one client device (130) according to a condition data set of an automation program when the server device (110) identifies the data for updating the firmware stored in at least one client device (130).

[0030] For example, the automation program may be described as a program for controlling at least one client device (130) to perform an action based on the satisfaction of conditions indicated by user input (e.g., text input, dropdown selection, button click, and voice prompt). According to an embodiment, the automation program may be executed by a server device (110), an electronic device (120), or a mobile device (140). For example, the automation program may be described as web application software executed by the server device (110), a user input-based automation program executed by the electronic device (120), or mobile application software (e.g., automation and routine applications) executed by the mobile device (140). According to an embodiment, the automation program may control at least one client device (130) not to perform the action based on the satisfaction of conditions indicated by the user input.

[0031] For example, the condition data set may be for the operation of at least one client device (130) controlled through the automation program. For example, the condition data set may include condition data representing various conditions set by the user input through the automation program.

[0032] For example, the above condition data set may include first condition data (hereinafter, location condition data) for the operation of at least one client device (130) controlled by the automation program based on the mobile device (140) being located within a reference area. The reference area may be set by the user input through the automation program. For example, the reference area may be set as an area where at least one client device (130) is located (e.g., indoors). For example, at least one client device (130) may perform the operation according to the automation program based on the mobile device (140) being located in the reference area (e.g., indoors). In another embodiment, the reference area may be set as an area outside the area where at least one client device (130) is located (e.g., outdoors).

[0033] For example, the above condition data set may include second condition data (hereinafter, time condition data) for the operation of at least one client device (130) controlled through the automation program based on the fact that a time of day passes a reference time. The reference time may be set by the user input through the automation program. For example, the reference time may be set to 6:00 PM. For example, at least one client device (130) may perform the operation according to the automation program based on the fact that the current time passes 6:00 PM.

[0034] The above condition data set may include third condition data for the operation of a second client device controlled through the automation program according to the operation state of the first client device. The first client device and the second client device may be included in at least one client device (130). For example, the operation state may be set by the user input through the automation program. For example, the second client device may perform the operation according to the automation program based on the operation state of the first client device being identified as a turn-off state.

[0035] For example, the condition data set may include fourth condition data for the operation of at least one client device (130) controlled by the automation program based on the weather status corresponding to a reference state. The weather status may represent a state regarding temperature and / or humidity in relation to the location of at least one client device (130). The reference state may be set by the user input through the automation program. For example, the reference state may be set to a state where the humidity is 50% or less. For example, at least one client device (130) may perform the operation according to the automation program based on the humidity indicated by the weather status being identified as 50% or less.

[0036] The electronic system (100) can identify whether at least one client device (130) will perform the operation based on the condition data set. For example, while the electronic system (100) identifies that at least one client device (130) will not perform the operation according to the condition data set, it may transmit the data for updating the firmware to at least one client device (130) to cause at least one client device (130) to update the firmware. For example, while the electronic system (100) identifies that at least one client device (130) will perform the operation according to the condition data set, it may refrain from transmitting the data for updating the firmware to at least one client device (130). For example, the electronic system (100) can mitigate the interruption of the operation of at least one client device (130) according to the update of the firmware by performing an update of the firmware while it is identified that the operation of at least one client device (130) will not be performed based on the condition data set of the automation program.

[0037] A server device (110) or an electronic device (120) can identify whether to update the firmware stored in at least one client device (130) based on the location condition data of the automation program. A method of operation for identifying whether to update the firmware based on the location condition data is described later with reference to FIGS. 2 and FIGS. 3.

[0038] As an example not limited to, a server device (110) or an electronic device (120) may store data regarding the firmware stored within at least one client device (130). For example, the data regarding the firmware may include information regarding the manufacturer, model name, firmware update version, idle time, firmware update importance, network connection status (e.g., online or offline), firmware update time, size of the data for updating the firmware, memory capacity (or available capacity), and / or firmware update history of at least one client device (130).

[0039] As an example not limited to, a server device (110) or an electronic device (120) may monitor the usage status, battery level, and network connection status of at least one client device (130). For example, based on the monitoring, the server device (110) or the electronic device (120) may determine whether to perform an update of the firmware stored in at least one client device (130).

[0040] A server device (110) or an electronic device (120) can identify a scheduled time for updating the firmware stored in at least one client device (130) based on the time condition data of the automation program. A method of operation for identifying the scheduled time based on the time condition data is described later with reference to FIG. 4.

[0041] As an example not limited to, a server device (110) or an electronic device (120) can identify the scheduled time by applying user information of the automation program (e.g., user history information related to a condition data set) and device information of at least one client device (130) (e.g., network connection status, memory capacity, and firmware update history of the client device) to a trained language model. For example, the trained language model may sequentially perform the operations of collecting data regarding the user information and the device information, refining the data, applying the data to the trained language model, identifying data output from the trained language model, and identifying the scheduled time based on the identification. For example, the server device (110) or the electronic device (120) may send a request to a mobile device (140) to set a time to update the firmware while the scheduled time cannot be identified.

[0042] As an example not limited to, the server device (110) or electronic device (120) may record an event regarding the occurrence of an update conflict when it is identified that an operation of at least one client device (130) according to the automation program is performed at the scheduled time. For example, the server device (110) or electronic device (120) may send a notification regarding the event to the mobile device (140). For example, the server device (110) or electronic device (120) may adjust the scheduled time for updating the firmware according to the idle time of at least one client device (130). For example, the server device (110) or electronic device (120) may send the adjusted scheduled time to the mobile device (140). For example, the mobile device (140) may send a request to the server device (110) or electronic device (120) to change the scheduled time by user input.

[0043] As an example not limited to, a server device (110) or an electronic device (120) can identify whether an error occurs regarding the update of the firmware by monitoring the status of at least one client device (130) while at least one client device (130) is updating the firmware. For example, if the error occurs regarding the update of the firmware, the server device (110) or the electronic device (120) can send a notification regarding the error to a mobile device (140). For example, if the error occurs regarding the update of the firmware, the server device (110) or the electronic device (120) can control at least one client device (130) to restart the update of the firmware. For example, if the update of the firmware is completed without the error, the server device (110) or the electronic device (120) can send a notification regarding the completion of the update to a mobile device (140).

[0044] As an example not limited to, a server device (110) or an electronic device (120) may send a notification regarding the urgent update to a mobile device (140) when an urgent update regarding the firmware is required while the operation of at least one client device (130) is being performed.

[0045] As an example not limited to, a server device (110) or an electronic device (120) may provide a user interface regarding the update of the firmware.

[0046] FIG. 2 illustrates an example of signaling generated within an electronic system to update firmware stored in a client device based on location condition data of an automation program.

[0047] Referring to FIG. 2, an example of signaling between a server device (110), an electronic device (120), a client device (131), and a mobile device (140) is illustrated. The client device (131) may be included in at least one client device (130). For example, the client device (131) may be registered within the server device (110) in association with the electronic device (120). The signaling illustrated in FIG. 2 corresponds to an example in which the electronic device (120) identifies whether to perform an update of firmware stored within the client device (131) based on the location condition data of the automation program.

[0048] In operation 201, the electronic device (120) can identify data for updating the firmware stored in the client device (131). For example, the server device (110) can transmit the data for updating the firmware to the electronic device (120) using the first communication circuit (113). For example, the electronic device (120) can receive the data for updating the firmware from the server device (110) using the first communication circuit (123).

[0049] In operation 202, the electronic device (120) can identify whether the position condition data of the automation program exists from the condition data set of the automation program.

[0050] For example, the automation program may be described as a program for controlling a client device (131) to perform an action based on satisfying conditions indicated by user input (e.g., text input, dropdown selection, button click, and voice prompt). According to an embodiment, the automation program may be executed by a server device (110), an electronic device (120), or a mobile device (140). For example, the automation program may be described as web application software executed by the server device (110), a user input-based automation program executed by the electronic device (120), or mobile application software executed by the mobile device (140) (e.g., automation and routine applications).

[0051] For example, the condition data set may be for the operation of a client device (131) controlled by the automation program. According to an embodiment, the condition data set may be configured in various ways by the user input through the automation program. For example, the location condition data may be for the operation of the client device (131) controlled by the automation program based on the mobile device (140) being located within a reference area. The reference area may be configured by the user input through the automation program. For example, the reference area may be configured as an area where the client device (131) is located (e.g., indoors). In another embodiment, the reference area may be configured as an area outside the area where the client device (131) is located (e.g., outdoors).

[0052] In operation 203, the electronic device (120) can receive a signal indicating the location of the mobile device (140) from the server device (110) using the first communication circuit (123), based on identifying that the location condition data exists from the condition data set of the automation program. For example, the signal may be described as a GPS (global positioning system) signal indicating the location of the mobile device (140). For example, the server device (110) can receive the signal indicating the location of the mobile device (140) from the mobile device (140) using the second communication circuit (114). For example, the server device (110) can transmit the received signal to the electronic device (120) using the first communication circuit (113). In another embodiment, the electronic device (120) can receive the signal indicating the location of the mobile device (140) from the mobile device (140) using the second communication circuit (124), based on identifying that the location condition data exists from the condition data set of the automation program.

[0053] In operation 204, the electronic device (120) can identify whether the mobile device (140) is located within a defined area in relation to the reference area based on the signal indicating the location of the mobile device (140). The defined area may include the reference area. For example, the defined area may be described as a circular area within a distance of x (m) (x is positive) from the center of the reference area. For another example, the defined area may be substantially the same as the reference area.

[0054] In operation 205, the electronic device (120) may transmit the data for updating the firmware of the client device (131) to the client device (131) using the second communication circuit (124) in order to cause the client device (131) to update the firmware, based on the mobile device (140) being located outside the defined area. For example, the electronic device (120) may refrain from transmitting the data for updating the firmware to the client device (131) based on the mobile device (140) being located within the defined area.

[0055] In operation 206, the electronic device (120) can identify whether the mobile device (140) is located within the reference area based on the signal indicating the location of the mobile device (140). For example, the reference area may be set to the area where the client device (131) is located (e.g., indoors).

[0056] In operation 207, the electronic device (120) may transmit a signal to the client device (131) to control the client device (131) to perform the operation based on the mobile device (140) being located within the reference area, using the second communication circuit (124). For example, the electronic device (120) may refrain from transmitting the signal to the client device (131) to control the operation of the client (131) based on the mobile device (140) being located outside the reference area.

[0057] In the operation 205 and the operation 207 illustrated in FIG. 2, the electronic device (120) can identify whether to transmit the data for updating the firmware to the client device (131) based on an operation status signal received from the client device (131). For example, the electronic device (120) can receive the operation status signal from the client device (131) using a second communication circuit (124). For example, the electronic device (120) can identify whether the client device (131) performs the operation based on the operation status signal. For example, the electronic device (120) can transmit the data for updating the firmware to the client device (131) using the second communication circuit (124) based on identifying that the client device (131) does not perform the operation based on the operation status signal. For example, the electronic device (120) may refrain from transmitting the data to update the firmware to the client device (131) while identifying that the client device (131) is performing the operation according to the operation status signal.

[0058] In FIG. 2, an operation in which the electronic device (120) identifies whether to update the firmware stored in the client device (131) based on the location condition data of the automation program is described, but this is exemplary. For example, the electronic device (120) may identify whether to update the firmware stored in the client device (131) based on the location data of the mobile device (140).

[0059] For example, the electronic device (120) can receive the data for updating the firmware stored in the client device (131) from the server device (110) using the first communication circuit (123).

[0060] For example, the electronic device (120) can identify whether location data exists for the operation of the client device (131) performed based on the location of the mobile device (140). For example, based on identifying that the location data exists, the electronic device (120) can receive a signal indicating the location of the mobile device (140) from the mobile device (140) via the server device (110) using the first communication circuit (123). According to an embodiment, the electronic device (120) can receive a signal indicating the location of the mobile device (140) from the mobile device (140) using the second communication circuit (124) based on identifying that the location data exists.

[0061] For example, the electronic device (120) can identify whether the mobile device (140) is located within a defined area based on the signal indicating the location of the mobile device (140). For example, the defined area may be an area defined in relation to the location of the client device (131). For example, the defined area may be set as an area where the client device (131) is located (e.g., indoors). In another embodiment, the defined area may be set as an area outside the area where the client device (131) is located (e.g., outdoors).

[0062] For example, the electronic device (120) may transmit the data for updating the firmware to the client device (131) using the second communication circuit (124) to cause the client device (131) to update the firmware based on the mobile device (140) being located outside the defined area. For example, the electronic device (120) may refrain from transmitting the data for updating the firmware to the client device (131) based on the mobile device (140) being located within the defined area.

[0063] For example, the electronic device (120) may transmit a signal to the client device (131) to control the client device (131) to perform the operation based on the mobile device (140) being located within the defined area, using the second communication circuit (124). For example, the electronic device (120) may refrain from transmitting the signal to the client device (131) to control the client device (131) to perform the operation based on the mobile device (140) being located outside the defined area.

[0064] For example, the electronic device (120) may receive an operation status signal from the client device (131) using a second communication circuit (124). For example, the electronic device (120) may identify whether the client device (131) performs the operation based on the operation status signal. For example, the electronic device (120) may transmit the data for updating the firmware to the client device (131) using the second communication circuit (124) based on identifying that the client device (131) does not perform the operation based on the operation status signal. For example, the electronic device (120) may refrain from transmitting the data for updating the firmware to the client device (131) while identifying that the client device (131) performs the operation based on the operation status signal.

[0065] Figure 3 illustrates another example of signaling generated within an electronic system to update firmware stored in a client device based on location condition data of an automation program.

[0066] Referring to FIG. 3, an example of signaling between a server device (110), an electronic device (120), a client device (131), and a mobile device (140) is illustrated. The client device (131) may be included in at least one client device (130). For example, the client device (131) may be registered within the server device (110) in association with the electronic device (120). The signaling illustrated in FIG. 3 corresponds to an example in which the server device (110) identifies whether to perform an update of firmware stored within the client device (131) based on the location condition data of the automation program.

[0067] In operation 301, the server device (110) can identify data for updating the firmware stored in the client device (131). For example, the server device (110) can receive update version information of the firmware stored in the client device (131) via the electronic device (120) using the first communication circuit (113). For example, based on identifying the update version information, the server device (110) can identify whether there is an updatable version of the firmware through an external server device that manages updates of the firmware. For example, based on identifying whether there is an updatable version, the server device (110) can determine whether to update the firmware according to the update priority (e.g., update importance) indicated by the updateable version. For example, the server device (110) can identify the data for updating the firmware by receiving the data for updating the firmware from the external server device based on the decision to update the firmware.

[0068] In operation 302, the server device (110) can identify whether the location condition data of the automation program exists from the condition data set of the automation program.

[0069] For example, the automation program may be described as a program for controlling a client device (131) to perform an action based on the satisfaction of conditions indicated by user input (e.g., text input, dropdown selection, button click, and voice prompt). According to an embodiment, the automation program may be executed by a server device (110) or a mobile device (140). For example, the automation program may be described as web application software executed by the server device (110) or mobile application software executed by the mobile device (140) (e.g., automation and routine applications).

[0070] For example, the condition data set may be for the operation of a client device (131) controlled by the automation program. According to an embodiment, the condition data set may be configured in various ways by the user input through the automation program. For example, the location condition data may be for the operation of a client device (131) controlled by the automation program based on the mobile device (140) being located within a reference area. The reference area may be configured by the user input through the automation program. For example, the reference area may be configured as an area where the client device (131) is located (e.g., indoors). In another embodiment, the reference area may be configured as an area outside the area where the client device (131) is located (e.g., outdoors).

[0071] In operation 303, the server device (110) can receive a signal indicating the location of the mobile device (140) from the mobile device (140) using the second communication circuit (114), based on identifying that the location condition data exists from the condition data set of the automation program. For example, the signal may be described as a GPS (global positioning system) signal indicating the location of the mobile device (140).

[0072] In operation 304, the server device (110) can identify whether the mobile device (140) is located within a defined area in relation to the reference area based on the signal indicating the location of the mobile device (140). The defined area may include the reference area. For example, the defined area may be described as a circular area within a distance of x (m) (x is positive) from the center of the reference area. As another example, the defined area may be substantially the same as the reference area.

[0073] In operation 305, the server device (110) may transmit data for updating the firmware of the client device (131) to the client device (131) via the electronic device (120) using the first communication circuit (113) in order to cause the client device (131) to update the firmware based on the mobile device (140) being located outside the defined area. For example, the server device (110) may refrain from transmitting the data for updating the firmware to the client device (131) based on the mobile device (140) being located within the defined area.

[0074] In operation 306, the server device (110) can identify whether the mobile device (140) is located within the reference area based on the signal indicating the location of the mobile device (140). For example, the reference area may be set to the area where the client device (131) is located (e.g., indoors).

[0075] In operation 307, the server device (110) may transmit a signal to control the client device (131) to perform the operation through the electronic device (120) using the first communication circuit (113), based on whether the mobile device (140) is located within the reference area. For example, the server device (110) may refrain from transmitting the signal to control the operation of the client (131) to the client device (131) based on whether the mobile device (140) is located outside the reference area.

[0076] In the operation 305 and the operation 307 illustrated in FIG. 3, the server device (110) can determine whether to transmit the data for updating the firmware to the client device (131) based on an operation status signal received from the client device (131) via the electronic device (120). For example, the server device (110) can receive the operation status signal from the client device (131) via the electronic device (120) using the first communication circuit (113). For example, the server device (110) can determine whether the client device (131) performs the operation based on the operation status signal. For example, the server device (110) may transmit the data for updating the firmware to the client device (131) via the electronic device (120) using the first communication circuit (113), based on identifying that the client device (131) is not performing the operation according to the operation status signal. For example, the server device (110) may refrain from transmitting the data for updating the firmware to the client device (131) while identifying that the client device (131) is performing the operation according to the operation status signal.

[0077] In FIG. 3, the operation of the server device (110) identifying whether to update the firmware stored in the client device (131) based on the location condition data of the automation program is described, but this is exemplary. For example, the server device (110) may identify whether to update the firmware stored in the client device (131) based on the location data of the mobile device (140).

[0078] For example, the server device (110) can identify the data for updating the firmware stored in the client device (131).

[0079] For example, the server device (110) can identify whether there is location data for an operation of the client device (131) performed based on the location of the mobile device (140). For example, based on identifying that the location data exists, the server device (110) can receive a signal indicating the location of the mobile device (140) from the mobile device (140) using the second communication circuit (114).

[0080] For example, the server device (110) can identify whether the mobile device (140) is located within a defined area based on the signal indicating the location of the mobile device (140). For example, the defined area may be an area defined in relation to the location of the client device (131). For example, the defined area may be set as an area where the client device (131) is located (e.g., indoors). In another embodiment, the defined area may be set as an area outside the area where the client device (131) is located (e.g., outdoors).

[0081] For example, the server device (110) may transmit the data for updating the firmware to the client device (131) via the electronic device (120) using the first communication circuit (113) to cause the client device (131) to update the firmware based on the mobile device (140) being located outside the defined area. For example, the server device (110) may refrain from transmitting the data for updating the firmware to the client device (131) based on the mobile device (140) being located within the defined area.

[0082] For example, the server device (110) may transmit a signal to control the client device (131) to perform the operation through the electronic device (120) using the first communication circuit (113), based on whether the mobile device (140) is located within the defined area. For example, the server device (110) may refrain from transmitting a signal to control the client device (131) to perform the operation based on whether the mobile device (140) is located outside the defined area.

[0083] For example, the server device (110) may receive an operation status signal from the client device (131) via the electronic device (120) using the first communication circuit (113). For example, the server device (110) may identify whether the client device (131) performs the operation based on the operation status signal. For example, the server device (110) may transmit the data for updating the firmware to the client device (131) via the electronic device (120) using the first communication circuit (113), based on identifying that the client device (131) does not perform the operation based on the operation status signal. For example, the server device (110) may refrain from transmitting the data for updating the firmware to the client device (131) while identifying that the client device (131) performs the operation based on the operation status signal.

[0084] Figure 4 is a flowchart illustrating a method for scheduling the time to update firmware stored in a client device based on time condition data of an automation program.

[0085] Referring to FIG. 4, in operation 401, the electronic device (120) can identify data for updating firmware stored in at least one client device (130). For example, the server device (110) can transmit the data for updating the firmware to the electronic device (120) using the first communication circuit (113). For example, the electronic device (120) can receive the data for updating the firmware from the server device (110) using the first communication circuit (123).

[0086] In operation 402, the electronic device (120) can identify whether time condition data of the automation program exists from the condition data set of the automation program. The time condition data may be for the operation of at least one client device (130) controlled by the automation program based on the time of day passing a reference time. The reference time may be set by the user input through the automation program. For example, the reference time may be set to 6:00 PM. For example, at least one client device (130) may perform the operation according to the automation program based on the current time passing 6:00 PM. As another example, the reference time may be set to 9:00 PM. For example, at least one client device (130) may not perform the operation according to the automation program based on the current time passing 9:00 PM.

[0087] In operation 403, the electronic device (120) can identify a first time interval in which the operation of at least one client device (130) is performed according to the time passing through the reference time, based on identifying that the time condition data exists from the condition data set of the automation program. For example, the first time interval may be identified as a time interval from 6:00 PM to 9:00 PM.

[0088] In operation 404, the electronic device (120) may receive past usage data indicating the time interval during which at least one client device (130) performed the operation from at least one client device (130) using the second communication circuit (124). For example, the past usage data may be described as log data indicating the time interval during which at least one client device (130) was turned off and the time interval during which it was turned on.

[0089] In operation 405, the electronic device (120) may determine a second time interval in which the operation of at least one client device (130) is performed based on the past usage data. For example, the second time interval may be determined as a time interval from 9:00 AM to 6:00 PM based on the past usage data.

[0090] In operation 406, the electronic device (120) can identify the idle time of at least one client device (130) based on the first time interval and the second time interval. For example, the idle time may be described as a time interval in which at least one client device (130) is identified as not performing the operation. For example, the idle time may not be included in the first time interval and the second time interval. For example, the idle time may be identified as a time interval from 9:00 PM to 9:00 AM.

[0091] In operation 407, the electronic device (120) can identify whether other condition data exists from the condition data set of the automation program. For example, the other condition data may be described as condition data different from the location condition data and the time condition data. For example, the other condition data may include condition data related to weather conditions and condition data related to the operating status of other client devices, as described above.

[0092] In operation 408, the electronic device (120) may determine a third time interval in which the operation of at least one client device (130) is to be performed based on identifying that the other condition data exists from the condition data set of the automation program. For example, the electronic device (120) may obtain at least a portion of the condition data set (e.g., condition data related to weather conditions and condition data related to the operating status of other client devices) from a trained language model to which the condition data set is applied as a prompt. As an example without limitation, the electronic device (120) may determine the third time interval by applying user information of the automation program (e.g., user history information related to the condition data set) and device information of at least one client device (130) (e.g., network connection status, memory capacity, and firmware update history of the client device) to the trained language model. For example, the trained language model may be executed by at least one processor (121) of the electronic device (120) and stored in the memory (122) of the electronic device (120). For example, the third time interval may be determined as a time interval from 7:00 AM to 9:00 AM.

[0093] In operation 409, the electronic device (120) can identify a scheduled time for transmitting data to update the firmware based on the idle time of at least one client device (130) and the third time interval. The electronic device (120) can identify the scheduled time that is not included within the idle time and the third time interval. For example, the electronic device (120) can identify 5:00 AM as the scheduled time that is not included within the time interval from 9:00 PM to 9:00 AM corresponding to the idle time and the time interval from 7:00 AM to 9:00 AM corresponding to the third time interval.

[0094] According to an embodiment, the operations 401 to 409 illustrated in FIG. 4 may be performed by a server device (110).

[0095] In operation 401, the server device (110) can identify data for updating firmware stored in at least one client device (130).

[0096] In operation 402, the server device (110) can identify whether time condition data of the automation program exists from the condition data set of the automation program. The time condition data may be for the operation of at least one client device (130) controlled by the automation program based on the fact that a time of day passes a reference time. The reference time may be set by the user input through the automation program. For example, the reference time may be set to 6:00 PM. For example, at least one client device (130) may perform the operation according to the automation program based on the fact that the current time passes 6:00 PM. As another example, the reference time may be set to 9:00 PM. For example, at least one client device (130) may not perform the operation according to the automation program based on the fact that the current time passes 9:00 PM.

[0097] In operation 403, the server device (110) can identify a first time interval in which the operation of at least one client device (130) is performed according to the time passing the reference time, based on identifying that the time condition data exists from the condition data set of the automation program. For example, the first time interval may be identified as a time interval from 6:00 PM to 9:00 PM.

[0098] In operation 404, the server device (110) may receive past usage data indicating the time interval during which at least one client device (130) performed the operation, from at least one client device (130) via the electronic device (120) using the first communication circuit (113). For example, the past usage data may be described as log data indicating the time interval during which at least one client device (130) was turned off and the time interval during which it was turned on.

[0099] In operation 405, the server device (110) may determine a second time interval in which the operation of at least one client device (130) is performed based on the past usage data. For example, the second time interval may be determined as a time interval from 9:00 AM to 6:00 PM based on the past usage data.

[0100] In operation 406, the server device (110) can identify the idle time of at least one client device (130) based on the first time interval and the second time interval. For example, the idle time may be described as a time interval in which at least one client device (130) is identified as not performing the operation. For example, the idle time may not be included in the first time interval and the second time interval. For example, the idle time may be identified as a time interval from 9:00 PM to 9:00 AM.

[0101] In operation 407, the server device (110) can identify whether other condition data exists from the condition data set of the automation program. For example, the other condition data may be described as condition data different from the location condition data and the time condition data. For example, the other condition data may include condition data related to weather conditions and condition data related to the operating status of other client devices, as described above.

[0102] In operation 408, the server device (110) may determine a third time interval in which the operation of at least one client device (130) is to be performed based on identifying that the other condition data exists from the condition data set of the automation program. For example, the server device (110) may obtain at least a portion of the condition data set (e.g., condition data related to weather conditions and condition data related to the operation status of other client devices) from a trained language model to which the condition data set is applied as a prompt. As an example without limitation, the server device (110) may determine the third time interval by applying user information of the automation program (e.g., user history information related to the condition data set) and device information of at least one client device (130) (e.g., network connection status, memory capacity, and firmware update history of the client device) to the trained language model. For example, the above-mentioned trained language model may be executed by at least one processor (111) of the server device (110) and stored in the memory (112) of the server device (110). For example, the above-mentioned third time interval may be determined as a time interval from 7:00 AM to 9:00 AM.

[0103] In operation 409, the server device (110) can identify a scheduled time for transmitting data to update the firmware based on the idle time of at least one client device (130) and the third time interval. The server device (110) can identify the scheduled time that is not included within the idle time and the third time interval. For example, the server device (110) can identify 5:00 AM as the scheduled time that is not included within the time interval from 9:00 PM to 9:00 AM corresponding to the idle time and the time interval from 7:00 AM to 9:00 AM corresponding to the third time interval.

[0104] FIG. 5 is a flowchart illustrating a method for transmitting data to update firmware stored in a client device according to a scheduled time.

[0105] Referring to FIG. 5, in operation 501, the electronic device (120) can identify a scheduled time for transmitting data to update firmware stored in at least one client device (130). For example, the scheduled time can be identified as 5:00 AM.

[0106] In operation 502, the electronic device (120) can identify whether a request to change the scheduled time has been transmitted from the mobile device (140). For example, the electronic device (120) can receive the request to change the scheduled time from the mobile device (140) using the second communication circuit (124). According to an embodiment, the electronic device (120) can receive the request from the mobile device (140) through the server device (110) using the first communication circuit (123).

[0107] In operation 503, the electronic device (120) may change the scheduled time based on identifying the request to change the scheduled time. For example, the electronic device (120) may adjust the scheduled time by performing operations 401 through 409 illustrated in FIG. 4. According to an embodiment, the request may include information regarding a time set by user input. For example, the electronic device (120) may adjust the scheduled time to the time set by user input based on identifying the request.

[0108] In operation 504, the electronic device (120) can identify whether the operation of at least one client device (130) is performed at the scheduled time. For example, the electronic device (120) can receive an operation status signal of at least one client device (130) from at least one client device (130) using the second communication circuit (124). For example, the electronic device (120) can identify whether the operation of at least one client device (130) is performed at the scheduled time based on the operation status signal.

[0109] In operation 505, the electronic device (120) may transmit a notification (e.g., push notification, sound notification, interactive notification, and pop-up window) to be displayed on the display of the mobile device (140) via the server device (110) using the first communication circuit (123), based on the identification of the operation of at least one client device (130) performed at the scheduled time according to the operation status signal. The notification may be described as a message indicating that the operation of at least one client device (130) is performed at the scheduled time. In another embodiment, the electronic device (120) may transmit the notification to be displayed on the display of the mobile device (140) using the second communication circuit (124), based on the identification of the operation performed at the scheduled time according to the operation status signal. For example, the electronic device (120) may refrain from transmitting the data for updating the firmware to at least one client device (130) while identifying that at least one client device (130) performs the operation at the scheduled time according to the operation status signal. For example, the electronic device (120) may adjust the scheduled time by performing the operations 401 through 409 illustrated in FIG. 4.

[0110] In operation 506, the electronic device (120) can transmit the data for updating the firmware to at least one client device (130) using a second communication circuit (124), based on identifying that at least one client device (130) does not perform the operation at the scheduled time according to the operation status signal.

[0111] According to an embodiment, the operations 501 to 506 illustrated in FIG. 5 may be performed by a server device (110).

[0112] In operation 501, the server device (110) can identify a scheduled time for transmitting data to update firmware stored in at least one client device (130). For example, the scheduled time can be identified as 5:00 AM.

[0113] In operation 502, the server device (110) can identify whether a request to change the scheduled time has been transmitted from the mobile device (140). For example, the server device (110) can receive the request to change the scheduled time from the mobile device (140) using the second communication circuit (114). In another embodiment, the server device (110) can receive the request to change the scheduled time from the mobile device (140) using the first communication circuit (113) via the electronic device (120).

[0114] In operation 503, the server device (110) may change the scheduled time based on identifying the request to change the scheduled time. For example, the server device (110) may adjust the scheduled time by performing operations 401 through 409 illustrated in FIG. 4. According to an embodiment, the request may include information regarding a time set by user input. For example, the server device (110) may adjust the scheduled time to the time set by user input based on identifying the request.

[0115] In operation 504, the server device (110) can identify whether the operation of at least one client device (130) is performed at the scheduled time. For example, the server device (110) can receive an operation status signal of at least one client device (130) from at least one client device (130) via the electronic device (120) using the first communication circuit (113). For example, the server device (110) can identify whether the operation of at least one client device (130) is performed at the scheduled time based on the operation status signal.

[0116] In operation 505, the server device (110) may transmit a notification to be displayed on the display of the mobile device (140) to the mobile device (140) using the second communication circuit (114), based on identifying the operation of at least one client device (130) performed at the scheduled time according to the operation status signal. The notification may be described as a message indicating that the operation of at least one client device (130) is performed at the scheduled time. For example, the server device (110) may refrain from transmitting the data for updating the firmware to at least one client device (130) while identifying that at least one client device (130) performs the operation at the scheduled time according to the operation status signal. For example, the server device (110) may adjust the scheduled time by performing operations 401 through 409 illustrated in FIG. 4.

[0117] In operation 506, the server device (110) can transmit the data for updating the firmware according to the scheduled time to at least one client device (130) via the electronic device (120) using the first communication circuit (113), based on identifying that at least one client device (130) does not perform the operation according to the operation status signal.

[0118] Figure 6 illustrates an example of a user interface displayed within a mobile device regarding the update of firmware stored within a client device.

[0119] Referring to FIG. 6, an example of a user interface (600) of a mobile device (601) is illustrated. For example, the mobile device (140) may be described as the mobile device (601). For example, the mobile device (601) may be described as a smartphone. For example, the user interface (600) may relate to mobile application software for remotely controlling the operation of a first client device (client device 1) and a second client device (client device 2) included in at least one client device (130). For example, the mobile application software may be described as a program for the operation of the first client device and the second client device controlled via a server device (110) and / or an electronic device (120).

[0120] A mobile device (601) may include a display (602). The display (602) may visually provide information to an external user (e.g., a user) of the mobile device (601). For example, the display (602) may provide a user interface (UI) object (610) and a UI object (620) to an external user (601) of the mobile device (601).

[0121] For example, the UI object (610) may display information related to the first client device. For example, the UI object (610) may be for remotely controlling the operation of the first client device. For example, the UI object (610) may display text (611) indicating that the scheduled time for updating the firmware stored in the first client device is 01:00 AM.

[0122] For example, the UI object (620) may display information related to the second client device. For example, the UI object (620) may be for remotely controlling the operation of the second client device. For example, the UI object (620) may display text (621) indicating that the update progress of the firmware stored in the second client device is 54%.

[0123] The mobile device (140) may correspond to the electronic device (701) described with reference to FIG. 7 below.

[0124] FIG. 7 is a block diagram of an electronic device in a network environment according to various embodiments.

[0125] Referring to FIG. 7, in a network environment (700), an electronic device (701) may communicate with an electronic device (702) through a first network (798) (e.g., a short-range wireless communication network) or with at least one of an electronic device (704) or a server (708) through a second network (799) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (701) may communicate with the electronic device (704) through a server (708). According to one embodiment, the electronic device (701) may include a processor (720), memory (730), input module (750), sound output module (755), display module (760), audio module (770), sensor module (776), interface (777), connection terminal (778), haptic module (779), camera module (780), power management module (788), battery (789), communication module (790), subscriber identification module (796), or antenna module (797). In some embodiments, at least one of these components (e.g., connection terminal (778)) may be omitted from the electronic device (701), or one or more other components may be added. In some embodiments, some of these components (e.g., sensor module (776), camera module (780), or antenna module (797)) may be integrated into a single component (e.g., display module (760)).

[0126] The processor (720) can control at least one other component (e.g., a hardware or software component) of the electronic device (701) connected to the processor (720) by executing software (e.g., a program (740)), for example, and can perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (720) can store commands or data received from other components (e.g., a sensor module (776) or a communication module (790)) in volatile memory (732), process the commands or data stored in volatile memory (732), and store the resulting data in non-volatile memory (734). According to one embodiment, the processor (720) may include a main processor (721) (e.g., a central processing unit or an application processor) or an auxiliary processor (723) that can operate independently or together with it (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor). For example, if the electronic device (701) includes a main processor (721) and an auxiliary processor (723), the auxiliary processor (723) may be configured to use less power than the main processor (721) or to be specialized for a designated function. The auxiliary processor (723) may be implemented separately from the main processor (721) or as part thereof.

[0127] The auxiliary processor (723) may control at least some of the functions or states associated with at least one component of the electronic device (701) (e.g., display module (760), sensor module (776), or communication module (790)) on behalf of the main processor (721) while the main processor (721) is in an inactive (e.g., sleep) state, or together with the main processor (721) while the main processor (721) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary processor (723) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (780) or communication module (790)). According to one embodiment, the auxiliary processor (723) (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model. The artificial intelligence model may be generated through machine learning. Such learning may be performed, for example, on the electronic device (701) itself where the artificial intelligence model is executed, or through a separate server (e.g., server (708)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers.An artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to the hardware structure, the artificial intelligence model may include a software structure, either additionally or substantially.

[0128] The memory (730) can store various data used by at least one component of the electronic device (701) (e.g., processor (720) or sensor module (776)). The data may include, for example, software (e.g., program (740)) and input or output data for related commands. The memory (730) may include volatile memory (732) or non-volatile memory (734).

[0129] The program (740) may be stored as software in memory (730) and may include, for example, an operating system (742), middleware (744), or an application (746).

[0130] The input module (750) can receive commands or data to be used for a component of the electronic device (701) (e.g., processor (720)) from outside the electronic device (701) (e.g., user). The input module (750) may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

[0131] The sound output module (755) can output an audio signal to the outside of the electronic device (701). The sound output module (755) may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as multimedia playback or recording playback. The receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.

[0132] The display module (760) can visually provide information to an external (e.g., user) of the electronic device (701). The display module (760) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display module (760) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of the force generated by said touch.

[0133] The audio module (770) can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module (770) can acquire sound through the input module (750) or output sound through the sound output module (755) or an external electronic device (e.g., electronic device (702)) (e.g., speaker or headphones) connected directly or wirelessly to the electronic device (701).

[0134] The sensor module (776) can detect the operating state of the electronic device (701) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (776) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0135] The interface (777) may support one or more specified protocols that can be used for the electronic device (701) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (702)). According to one embodiment, the interface (777) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0136] The connection terminal (778) may include a connector through which the electronic device (701) can be physically connected to an external electronic device (e.g., electronic device (702)). According to one embodiment, the connection terminal (778) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0137] The haptic module (779) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module (779) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.

[0138] The camera module (780) can capture still images and video. According to one embodiment, the camera module (780) may include one or more lenses, image sensors, image signal processors, or flashes.

[0139] The power management module (788) can manage power supplied to the electronic device (701). According to one embodiment, the power management module (788) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).

[0140] The battery (789) can supply power to at least one component of the electronic device (701). According to one embodiment, the battery (789) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0141] The communication module (790) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (701) and an external electronic device (e.g., electronic device (702), electronic device (704), or server (708)), and the performance of communication through the established communication channel. The communication module (790) may include one or more communication processors that operate independently of the processor (720) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (790) may include a wireless communication module (792) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (794) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device (704) through a first network (798) (e.g., a short-range communication network such as Bluetooth, WiFi (wireless fidelity) direct, or IrDA (infrared data association)) or a second network (799) (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (792) can identify or authenticate the electronic device (701) within a communication network such as the first network (798) or the second network (799) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (796).

[0142] The wireless communication module (792) can support 5G networks and next-generation communication technologies following 4G networks, for example, new radio access technology. NR access technology can support high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and connection of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low-latency communications (URLLC)). The wireless communication module (792) can support a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate, for example. The wireless communication module (792) can support various technologies for securing performance in the high-frequency band, such as beamforming, massive MIMO (multiple-input and multiple-output), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large-scale antenna. The wireless communication module (792) can support various requirements specified in the electronic device (701), external electronic device (e.g., electronic device (704)), or network system (e.g., second network (799)). According to one embodiment, the wireless communication module (792) may support a Peak data rate (e.g., 20 Gbps or more) for eMBB realization, loss coverage (e.g., 164 dB or less) for mMTC realization, or U-plane latency (e.g., downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) for URLLC realization.

[0143] An antenna module (797) can transmit a signal or power to or from an external source (e.g., an external electronic device). According to one embodiment, the antenna module (797) may include an antenna comprising a radiator made of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (797) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as a first network (798) or a second network (799), may be selected from the plurality of antennas, for example, by a communication module (790). A signal or power may be transmitted or received between the communication module (790) and an external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, other components (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module (797).

[0144] According to various embodiments, the antenna module (797) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high frequency band (e.g., mmWave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving a signal of the specified high frequency band.

[0145] At least some of the above components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.

[0146] According to one embodiment, commands or data may be transmitted or received between the electronic device (701) and an external electronic device (704) through a server (708) connected to a second network (799). Each of the external electronic devices (702, or 704) may be the same or a different type of device as the electronic device (701). According to one embodiment, all or part of the operations performed on the electronic device (701) may be performed on one or more of the external electronic devices (702, 704, or 708). For example, if the electronic device (701) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (701) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (701). The electronic device (701) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (701) may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In one embodiment, the external electronic device (704) may include an Internet of Things (IoT) device. The server (708) may be an intelligent server using machine learning and / or neural networks. According to one embodiment, the external electronic device (704) or the server (708) may be included within the second network (799).The electronic device (701) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

[0147] The technical problems to be solved in this disclosure are not limited to those mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art to which this disclosure pertains.

[0148] As described above, an electronic device (e.g., electronic device (120)) may include at least one processor (e.g., at least one processor (121)) comprising a first communication circuit (e.g., first communication circuit (123)), a second communication circuit (e.g., second communication circuit (124)), and a processing circuit; and a memory (e.g., memory (122)) that stores instructions and includes one or more storage media. When the instructions are executed individually or collectively by the at least one processor: receiving, from the server device using the first communication circuit, data for updating firmware stored in a client device (e.g., at least one client device (130)) registered in a server device (e.g., server device (110)) in association with the electronic device; identifying whether there is location condition data of the automation program for the operation of the client device controlled by the automation program based on whether the mobile device (e.g., mobile device (140)) is located within a reference area; Based on identifying the existence of the above location condition data, a signal indicating the location of the mobile device is received from the server device or the mobile device; based on the signal, whether the mobile device is located within a defined area in relation to the reference area is identified; based on whether the mobile device is located outside the area, the data is transmitted to the client device using the second communication circuit to cause the client device to update the firmware; and based on whether the mobile device is located within the area, the electronic device may be caused to refrain from transmitting the data to the client device.

[0149] For example, when the above instructions are executed individually or collectively by the at least one processor: the electronic device may be caused to transmit, using the second communication circuit, a signal to control the client device to perform the operation based on the mobile device being located within the reference area.

[0150] For example, when the above instructions are executed individually or collectively by the at least one processor: receiving an operation status signal from the client device using the second communication circuit; identifying whether the client device performs the operation based on the operation status signal; transmitting the data to the client device using the second communication circuit based on identifying that the client device does not perform the operation based on the operation status signal; and causing the electronic device to refrain from transmitting the data to the client device while identifying that the client device performs the operation based on the operation status signal.

[0151] For example, the above instructions may cause the electronic device to be executed individually or collectively by the at least one processor to: identify whether time condition data of the automation program for the operation of the client device controlled by the automation program exists based on whether a time of day passes a reference time; identify a time interval in which the operation is to be performed according to the time passing the reference time based on identifying whether the time condition data exists; and identify a scheduled time for transmitting the data to the client device based on the time interval. The scheduled time may not be included in the time interval.

[0152] For example, when the above instructions are executed individually or collectively by the at least one processor: receiving, from the client device, via the second communication circuit, past usage data indicating the time interval during which the client device performed the operation; determining the time interval during which the client device performs the operation based on the past usage data; and identifying the scheduled time not included within the determined time interval, the electronic device may be configured to do so.

[0153] For example, when the above instructions are executed individually or collectively by the at least one processor: receiving an operation status signal from the client device using the second communication circuit; identifying whether the client device performs the operation at the scheduled time according to the operation status signal; and transmitting to the mobile device a notification to be displayed on the mobile device based on the identification of the operation performed at the scheduled time.

[0154] For example, the condition data set of the automation program may include the location condition data and the time condition data. The scheduled time may be obtained from a trained language model in which at least a portion of the condition data set is applied as a prompt.

[0155] For example, the above region may include the above reference region.

[0156] As described above, an electronic device (e.g., electronic device (120)) may include at least one processor (e.g., at least one processor (121)) comprising a first communication circuit (e.g., first communication circuit (123)), a second communication circuit (e.g., second communication circuit (124)), and a processing circuit; and a memory (e.g., memory (122)) that stores instructions and includes one or more storage media. When the instructions are executed individually or collectively by the at least one processor: receiving, from the server device using the first communication circuit, data for updating firmware stored in a client device (e.g., at least one client device (130)) registered in a server device (e.g., server device (110)) in association with the electronic device; identifying whether there is location data for an operation of the client device performed based on the location of the mobile device (e.g., mobile device (140)); Based on identifying the existence of the above location data, a signal indicating the location of the mobile device is received from the server device or the mobile device; based on the signal, whether the mobile device is located within a defined area is identified; based on whether the mobile device is located outside the defined area, the data is transmitted to the client device using the second communication circuit to cause the client device to update the firmware; and based on whether the mobile device is located within the defined area, the electronic device may be caused to refrain from transmitting the data to the client device.

[0157] For example, when the above instructions are executed individually or collectively by the at least one processor: the electronic device may be caused to transmit, using the second communication circuit, a signal to control the client device to perform the operation, based on the mobile device being located within the defined area.

[0158] For example, when the above instructions are executed individually or collectively by the at least one processor: receiving an operation status signal from the client device using the second communication circuit; identifying whether the client device performs the operation based on the operation status signal; transmitting the data to the client device using the second communication circuit based on identifying that the client device does not perform the operation based on the operation status signal; and causing the electronic device to refrain from transmitting the data to the client device while identifying that the client device performs the operation based on the operation status signal.

[0159] For example, the area defined above may be an area defined in relation to the location of the client device.

[0160] The method as described above may be performed by an electronic system (e.g., electronic system (100)) having an electronic device (e.g., electronic device (120)) and a server device (e.g., server device (110)). The method comprises: the server device identifying data for updating firmware stored in a client device (e.g., at least one client device (130)) registered within the server device in association with the electronic device; the electronic device identifying whether there is location condition data of an automation program for the operation of the client device controlled by the automation program based on whether the mobile device (e.g., mobile device (140)) is located within a reference area; the electronic device receiving a signal indicating the location of the mobile device from the server device or the mobile device based on identifying the existence of the location condition data; and the electronic device identifying whether the mobile device is located within a defined area in relation to the reference area based on the signal. The method may include: transmitting the data from the electronic device to the client device to cause the client device to update the firmware based on the mobile device being located outside the area; and the electronic device refraining from transmitting the data to the client device based on the mobile device being located within the area.

[0161] For example, the above method may further include the operation of transmitting a signal from the electronic device to the client device to control the client device to perform the operation based on the mobile device being located within the reference area.

[0162] For example, the above method may further include: the operation of the electronic device receiving an operation status signal from the client device; the operation of the electronic device identifying whether the client device performs the operation according to the operation status signal; the operation of transmitting the data from the electronic device to the client device based on identifying that the client device does not perform the operation according to the operation status signal; and the operation of the electronic device refraining from transmitting the data to the client device while identifying that the client device performs the operation according to the operation status signal.

[0163] For example, the above method may further include: an operation in which the electronic device identifies whether time condition data of the automation program exists for the operation of the client device controlled by the automation program based on whether a time of day passes a reference time; an operation in which the electronic device identifies a time interval in which the operation is to be performed according to the time passing the reference time, based on identifying whether the time condition data exists; and an operation in which the electronic device identifies a scheduled time for transmitting the data to the client device based on the time interval. The scheduled time may not be included in the time interval.

[0164] For example, the above method may further include the operation of the electronic device receiving, from the client device, past usage data representing a time interval during which the client device performed the operation; the operation of the electronic device determining a time interval during which the client device performs the operation based on the past usage data; and the operation of the electronic device identifying a scheduled time that is not included within the determined time interval.

[0165] For example, the above method may further include: the operation of the electronic device receiving an operation status signal from the client device; the operation of the electronic device identifying whether the client device performs the operation at the scheduled time according to the operation status signal; and the operation of transmitting a notification to be displayed on the mobile device from the electronic device to the mobile device based on the identification of the operation performed at the scheduled time.

[0166] For example, the condition data set of the automation program may include the location condition data and the time condition data. The scheduled time may be obtained from a trained language model in which at least a portion of the condition data set is applied as a prompt.

[0167] For example, the above region may include the above reference region.

[0168] The effects obtainable from the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art to which the present disclosure belongs.

[0169] The electronic device according to the various embodiments disclosed in this document may be of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a consumer electronics device. The electronic device according to the embodiments of this document is not limited to the devices described above.

[0170] The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may each include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish said components from other said components and do not limit said components in any other aspect (e.g., importance or order). Where any (e.g., 1st) component is referred to as "coupled" or "connected" to another (e.g., 2nd) component, with or without the terms "functionally" or "communicationly," it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.

[0171] The term “module” as used in the various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0172] Various embodiments of the present document may be implemented as software (e.g., a program stored in memory (112), a program stored in memory (122), and a program (740)) comprising one or more instructions stored in a storage medium (e.g., memory (112), memory (122), and internal memory (736) (or external memory (738))) that is readable by a machine (e.g., a server device (110), an electronic device (120), and an electronic device (701)). For example, a processor of the machine (e.g., at least one processor (111), at least one processor (121), and processor (720)) may call at least one of the one or more instructions stored from the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. One or more of the above instructions may include code generated by a compiler or code that can be executed by an interpreter. A device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and this term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily in the storage medium.

[0173] According to one embodiment, the method according to the various embodiments disclosed herein may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or distributed online (e.g., download or upload) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

[0174] According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities, and some of the multiple entities may be separated and placed in other components. According to various embodiments, one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

Claims

1. In an electronic device, First communication circuit; Second communication circuit; At least one processor including a processing circuit; and Memory that stores instructions and includes one or more storage media, When the above instructions are executed individually or collectively by the at least one processor: Data for updating firmware stored in a client device registered in a server device in association with the above electronic device is received from the server device using the first communication circuit; Identifying whether there exists location condition data of the automation program for the operation of the client device controlled through the automation program based on the mobile device being located within a reference area; Based on identifying that the above location condition data exists, a signal indicating the location of the mobile device is received from the server device or the mobile device; Based on the above signal, identify whether the mobile device is located within a defined area in relation to the reference area; Based on the fact that the mobile device is located outside the area, the data is transmitted to the client device using the second communication circuit to cause the client device to update the firmware; and Based on the fact that the mobile device is located within the area, to refrain from transmitting the data to the client device, The above electronic device, causing, Electronic device.

2. In Claim 1, When the above instructions are executed individually or collectively by the at least one processor: Based on the fact that the mobile device is located within the reference area, a signal for controlling the client device to perform the operation is transmitted to the client device using the second communication circuit. The above electronic device, causing, Electronic device.

3. In Claim 1, When the above instructions are executed individually or collectively by the at least one processor: Receive an operation status signal from the above client device using the second communication circuit; Based on the above operation status signal, identify whether the client device performs the above operation; Based on identifying that the client device does not perform the operation according to the above operation status signal, the data is transmitted to the client device using the second communication circuit; and While identifying that the client device performs the operation according to the above operation status signal, refrain from transmitting the data to the client device. The above electronic device, causing, Electronic device.

4. In Claim 1, When the above instructions are executed individually or collectively by the at least one processor: Identifying whether time condition data of the automation program exists for the operation of the client device controlled through the automation program based on whether a time (a time of day) passes a reference time; Based on identifying that the above time condition data exists, identify the time interval in which the above operation is to be performed according to the above time passing the above reference time; and Based on the above time interval, to identify a scheduled time for transmitting the data to the client device, The above electronic device, causing, The above scheduled time is not included in the above time interval, Electronic device.

5. In Claim 4, When the above instructions are executed individually or collectively by the at least one processor: The client device receives past usage data indicating the time interval during which it performed the operation from the client device using the second communication circuit; Based on the above past usage data, the client device determines a time interval for performing the above operation; and To identify the scheduled time not included within the above-determined time interval, The above electronic device, causing, Electronic device.

6. In Claim 4, When the above instructions are executed individually or collectively by the at least one processor: Receive an operation status signal from the above client device using the second communication circuit; Identifying whether the client device performs the operation at the scheduled time according to the above operation status signal; and Based on the identification of the operation performed at the scheduled time, to transmit a notification to be displayed on the mobile device to the mobile device. The above electronic device, causing, Electronic device.

7. In Claim 4, The condition data set of the above automation program includes the location condition data and the time condition data, and The above scheduled time is obtained from a trained language model in which at least a portion of the above condition data set is applied as a prompt, Electronic device.

8. In Claim 1, The above region includes the above reference region, Electronic device.

9. A method performed by an electronic system having an electronic device and a server device, The operation of the server device identifying data for updating firmware stored in a client device registered within the server device in association with the electronic device; The above electronic device performs an operation of identifying whether there exists location condition data of the automation program for the operation of the client device controlled through the automation program based on the mobile device being located within a reference area; The operation of the electronic device receiving a signal indicating the location of the mobile device from the server device or the mobile device based on identifying that the location condition data exists; The electronic device performs an operation of identifying, based on the signal, whether the mobile device is located within a defined area in relation to the reference area; The operation of transmitting the data from the electronic device to the client device to cause the client device to update the firmware based on the mobile device being located outside the area; and The electronic device includes an operation of refraining from transmitting the data to the client device based on the mobile device being located within the area. method.

10. In Claim 9, The method further comprises the operation of transmitting a signal from the electronic device to the client device to control the client device to perform the operation based on the mobile device being located within the reference area. method.

11. In Claim 9, The operation of the above electronic device receiving an operation status signal from the client device; The above electronic device performs an operation of identifying whether the client device performs the operation according to the operation status signal; An operation of transmitting the data from the electronic device to the client device based on identifying that the client device does not perform the operation according to the operation status signal; and The electronic device further comprises an operation of refraining from transmitting the data to the client device while identifying that the client device performs the operation according to the operation status signal. method.

12. In Claim 9, The above electronic device performs an operation of identifying whether time condition data of the automation program exists for the operation of the client device controlled through the automation program based on whether a time (a time of day) passes a reference time; The electronic device identifies a time interval in which the operation is to be performed according to the time passing the reference time, based on identifying that the time condition data exists; and The electronic device further includes an operation of identifying a scheduled time for transmitting the data to the client device based on the time interval, and The above scheduled time is not included in the above time interval, method.

13. In Claim 12, The electronic device performs the operation of receiving past usage data from the client device, which indicates the time interval during which the client device performed the operation; The above electronic device performs an operation of determining a time interval for the client device to perform the operation based on the past usage data; and The electronic device further comprises the operation of identifying the scheduled time not included within the determined time interval. method.

14. In Claim 12, The operation of the above electronic device receiving an operation status signal from the client device; The above electronic device performs an operation of identifying whether the client device performs the operation at the scheduled time according to the operation status signal; and Based on the identification of the operation performed at the scheduled time, the operation of transmitting a notification to be displayed on the mobile device from the electronic device to the mobile device further comprises method.

15. In Claim 12, The condition data set of the above automation program includes the location condition data and the time condition data, and The above scheduled time is obtained from a trained language model in which at least a portion of the above condition data set is applied as a prompt, method.