Electronic device, and operating method and storage medium therefor
The electronic device optimizes data transmission by identifying devices with frequent state changes and canceling unnecessary subscriptions, effectively managing network traffic and resource use in monitoring multiple devices.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SAMSUNG ELECTRONICS CO LTD
- Filing Date
- 2026-01-16
- Publication Date
- 2026-07-23
AI Technical Summary
Existing systems face inefficiencies in managing and reducing network traffic when monitoring a large number of devices by continuously receiving and transmitting status information, particularly for devices with frequent state changes, leading to unnecessary data transmission and resource consumption.
An electronic device identifies devices with state changes exceeding a certain frequency and cancels subscriptions to status information for those devices, obtaining only necessary data from an external device based on subscription information, thereby reducing unnecessary data transmission.
This approach reduces network traffic and resource consumption by prioritizing data transmission for devices with significant state changes, ensuring efficient and targeted data management.
Smart Images

Figure KR2026001027_23072026_PF_FP_ABST
Abstract
Description
Electronic device and its method of operation and storage medium
[0001] The present disclosure relates to an electronic device, a method of operation thereof, and a storage medium. More specifically, the present disclosure relates to an electronic device that transmits and receives data to and from an external device, a method of operation thereof, and a storage medium.
[0002] Driven by advancements in electronic technology, various types of electronic devices are being developed and distributed, and recently, various methods are being developed to efficiently monitor multiple connected devices.
[0003] The information above is merely background information intended to aid in understanding the invention. Furthermore, no determination has been made as to which of the contents above can be applied as prior art to this invention, nor has any claim been made to that effect.
[0004] Various aspects of the present disclosure are intended to resolve at least the problems and / or disadvantages mentioned above and to provide at least the advantages described below. Accordingly, one aspect of the present disclosure is to provide an electronic device that performs the transmission and reception of data with an external device, a method for operating the same, and a storage medium.
[0005] Additional aspects are described in part of the following description, some of which may become obvious from the description, and some of which may be acquired through the practice of the presented embodiments.
[0006] According to one aspect of the present disclosure, an electronic device is provided. The electronic device comprises a communication circuit, a memory including one or more storage media for storing instructions, and at least one processor including a processing circuitry coupled to communicate with the communication circuit and the memory, wherein when the instructions are executed individually or collectively by the at least one processor, the electronic device identifies a device corresponding to a state change of a first frequency or greater based on the state information of each of at least one first subscriber device among a plurality of devices that is a subscriber to state information, determines the subscription state information of the first device to be included in the subscription information based on the fact that the first device among the identified devices does not satisfy a first condition, and obtains the state information of at least one second subscriber device that is a subscriber to state information from an external device through the communication circuit based on the subscription information corresponding to the determined subscription state information of the first device, wherein the subscription information includes subscription state information corresponding to each of the plurality of devices, and the subscription state information is information including whether the state information of the corresponding device is a subscriber.
[0007] According to another aspect of the present disclosure, a method of operating an electronic device is provided. The method of operating an electronic device comprises: identifying a device corresponding to a state change of a first frequency or greater based on state information of each of at least one first subscribed device among a plurality of devices that is a subject of subscription to state information; determining subscription state information of said first device to be included in the subscription information based on the fact that said first device among the identified devices does not satisfy a first condition; and obtaining state information of at least one second subscribed device that is a subject of subscription to state information from an external device through a communication circuit based on said subscription information corresponding to the determined subscription state information of said first device, wherein the subscription information includes subscription state information corresponding to each of the plurality of devices, and said subscription state information is information including whether the state information of the corresponding device is a subject of subscription.
[0008] According to another aspect of the present disclosure, one or more non-transient computer-readable storage media are provided that store one or more computer programs comprising computer execution instructions that cause the electronic device to perform one or more operations when executed alone or in combination by at least one processor of the electronic device. The operations include: an operation of identifying a device corresponding to a state change of a first frequency or greater based on state information of each of at least one first subscriber device among a plurality of devices that is subject to subscription of state information; an operation of determining subscription state information of said first device to be included in the subscription information based on the fact that said first device among the identified devices does not satisfy a first condition; and an operation of obtaining state information of at least one second subscriber device subject to subscription of state information from an external device through a communication circuit based on said subscription information corresponding to the determined subscription state information of said first device, wherein the subscription information includes subscription state information corresponding to each of the plurality of devices, and said subscription state information is information including whether the state information of the corresponding device is subject to subscription.
[0009] Other aspects, advantages, and prominent features of the present disclosure will become apparent to those skilled in the art from the following detailed description disclosing various embodiments of the present disclosure in conjunction with the accompanying drawings.
[0010] The above and other aspects, features, and advantages of specific embodiments of the present disclosure will become more apparent from the following description taken together with the accompanying drawings, in which:
[0011] FIG. 1 is a diagram for schematically illustrating an electronic device according to one embodiment of the present disclosure.
[0012] FIG. 2 is a block diagram showing the configuration of an electronic device according to one embodiment of the present disclosure.
[0013] FIG. 3a is a drawing for explaining a method of providing state information of a device according to one embodiment of the present disclosure.
[0014] FIG. 3b is a drawing for explaining a method of providing state information of a device according to one embodiment of the present disclosure.
[0015] FIG. 4 is a block diagram for explaining a method of transmitting and receiving data between an electronic device and an external device according to one embodiment of the present disclosure.
[0016] FIG. 5a is a drawing for illustrating a list of devices according to one embodiment of the present disclosure.
[0017] FIG. 5b is a drawing for illustrating a list of devices according to one embodiment of the present disclosure.
[0018] FIG. 6 is a flowchart for explaining a method of operation of an electronic device according to one embodiment of the present disclosure.
[0019] FIG. 7 is a flowchart illustrating a method for updating subscription information according to one embodiment of the present disclosure.
[0020] FIG. 8a is a flowchart illustrating a method for identifying a second buffer region according to one embodiment of the present disclosure.
[0021] FIG. 8b is a drawing for explaining a method of receiving status information according to one embodiment of the present disclosure.
[0022] FIG. 9 is a drawing for explaining a method of obtaining state information of a device based on pre-set subscription information according to one embodiment of the present disclosure.
[0023] FIG. 10a is a flowchart illustrating a method for obtaining device information according to one embodiment of the present disclosure.
[0024] FIG. 10b is a drawing for explaining a method of obtaining device information and history information from an external device according to one embodiment of the present disclosure.
[0025] FIG. 11 is a flowchart illustrating a method for identifying subscription information based on whether an application is activated according to one embodiment of the present disclosure.
[0026] FIG. 12 is a drawing for explaining a method of obtaining device information according to one embodiment of the present disclosure.
[0027] FIG. 13 is a block diagram showing the detailed configuration of an electronic device according to one embodiment of the present disclosure.
[0028] It should be noted that the same reference numbers are used throughout the drawings to denote identical or similar elements, features, and structures.
[0029] The following description, made with reference to the attached drawings, is provided to facilitate a comprehensive understanding of the various embodiments of the present disclosure as defined by the claims and their equivalents. While various specific details are included to aid understanding, they should be considered merely illustrative. Accordingly, those skilled in the art will recognize that various changes and modifications to the various embodiments described herein may be made without departing from the scope and spirit of the present disclosure. Additionally, for the sake of clarity and brevity, descriptions of well-known functions and configurations may be omitted.
[0030] The terms and words used in the following description and claims are not limited to their bibliographic meanings and are used merely to enable the inventor to understand the present disclosure clearly and consistently. Accordingly, it is evident to those skilled in the art that the following description of various embodiments of the present disclosure is provided merely for illustrative purposes and is not intended to limit the present disclosure as defined by the appended claims and their equivalents.
[0031] It should be understood that, unless the context clearly indicates otherwise, the singular forms "a," "an," and "the" include plural referents. Thus, for example, a reference to "a component surface" includes a reference to one or more such surfaces.
[0032] Terms used in the specification will be briefly explained, and then the present disclosure will be explained.
[0033] Commonly used terms currently in use have been selected for use in the embodiments of this disclosure in consideration of their functions within this disclosure, and these terms may be changed according to the intent of those skilled in the art, case law, the emergence of new technology, etc. Additionally, in specific cases, terms may be selected at the applicant's discretion. In such cases, the meaning of such terms is mentioned in the relevant explanatory section of this disclosure. Accordingly, terms used in this disclosure should be defined based on their meaning and the content throughout this disclosure, rather than merely their names.
[0034] In the specification, expressions such as "have," "may have," "include," or "may include" indicate the presence of the relevant feature (e.g., a component such as a numerical value, function, behavior, or part) and do not exclude the presence of additional features.
[0035] Expressions such as "at least one of A or / and B" can represent "A or B" or "both A and B".
[0036] Expressions such as "first" and "second" used in this disclosure may refer to various components regardless of order or importance. These expressions are used solely to distinguish one component from another and do not limit said component.
[0037] Where a component (e.g., Component 1) is referred to as being "(functionally or telecommunicationally) coupled / coupled" or "connected" to another component (e.g., Component 2), it should be understood that the component may be directly coupled to the other component or coupled through another component (e.g., Component 3).
[0038] A singular expression may include a plural expression unless the context clearly indicates otherwise. In this application, terms such as "comprising" or "having" are intended to specify the existence of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.
[0039] In the present disclosure, a "module" or "a component / or" may perform at least one function or operation and may be implemented in hardware, software, or a combination of hardware and software. Additionally, a plurality of "modules" or a plurality of "components / or" may be integrated into at least one module and implemented by a processor (not shown), except for a "module" or "component / or" that must be implemented in specific hardware.
[0040] Furthermore, terms such as "signal" in the specification may include not only electrical signals but also signals in the form of sound waves, and electrical signals may be analog signals or digital signals. For example, expressions such as "audio signal (or noise signal)" indicate a sound wave (or radio wave) signal when the signal is outside the electronic device, and an electrical signal when it is inside the electronic device depending on its location. Additionally, signal processing inside the electronic device described below may be digital signal processing, analog signal processing, or a signal processing method that combines analog and digital methods.
[0041] Additionally, terms such as "filter" in the specification refer to a device for removing specific components (e.g., a specific frequency range or a specific pattern), and the filter may be a digital filter or an analog filter.
[0042] It should be understood that the blocks of each flowchart and combinations of flowcharts can be executed by one or more computer programs containing computer-executable instructions. One or more computer programs may be stored entirely in a single memory device, or one or more computer programs may be divided into different parts stored in several different memory devices.
[0043] Any of the functions or operations described herein may be processed by a single processor or a combination of processors. A single processor or a combination of processors is a circuit that performs processing and includes circuits such as an application processor (AP, e.g., a central processing unit (CPU)), a communication processor (CP, e.g., a modem), a graphics processing unit (GPU), a neural network processing unit (NPU) (e.g., an artificial intelligence (AI) chip), a Wi-Fi chip, a Bluetooth™ chip, a Global Positioning System (GPS) chip, a Near Field Communication (NFC) chip, a connectivity chip, a sensor controller, a touch controller, a fingerprint sensor controller, a display driver integrated circuit (IC), an audio codec (CODEC) chip, a Universal Serial Bus (USB) controller, a camera controller, an image processing IC, a microprocessor unit (MPU), a system-on-chip (SoC), an IC, etc.
[0044] FIG. 1 is a diagram for schematically illustrating an electronic device according to one embodiment of the present disclosure.
[0045] According to FIG. 1, according to one embodiment, the electronic device of the present invention can obtain status information of a plurality of devices. According to one example, the plurality of devices (1-1, 1-2, ..., 1-n) may be devices installed within a single building (10) as shown in FIG. 1, but are not limited thereto. According to one example, the plurality of devices may be a set of devices whose status is monitored in real time through an external device (e.g., a cloud server). According to one example, the status information of the devices may include the power status of the devices, the current operating mode, sensor measurements, error codes, etc.
[0046] According to one embodiment of the present disclosure, an electronic device can identify at least one device whose state change frequency is greater than or equal to a preset value, based on state information of each of a plurality of devices. According to one example, the electronic device can identify a device among the identified at least one device that satisfies a preset condition. According to one example, a device that satisfies a preset condition may be a device for which state information is scheduled to be provided to a user or has a relatively high probability of being provided.
[0047] According to one embodiment of the present disclosure, an electronic device may identify subscription information that causes a subscription to state information of a device that does not satisfy a preset condition to be cancelled. According to one example, the subscription information may include information corresponding to whether there is a subscription to state information for a plurality of devices. According to one example, the subscription information may include information regarding the subscription status (maintained or cancelled), the subscription period, and the range of subscription data for each device.
[0048] According to one embodiment of the present disclosure, an electronic device may obtain status information of a device from an external device through a communication circuit based on identified subscription information. According to one example, the electronic device may obtain only the status information of a device corresponding to a subscription maintenance state and provide it to a user.
[0049] FIG. 2 is a block diagram showing the configuration of an electronic device according to one embodiment of the present disclosure.
[0050] According to FIG. 2, the electronic device (100) may include a communication circuit (110), at least one processor (120), and a memory (130).
[0051] The electronic device (100) may be implemented as a user terminal. According to one example, the electronic device (100) may be implemented as a different type of user terminal including a smartphone, tablet PC, desktop, laptop, and smart TV, but is not limited thereto.
[0052] The communication circuit (110) can input and output various types of data. For example, the communication circuit (110) can transmit and receive various types of data to and from an external device (e.g., source device), an external storage medium (e.g., USB memory), an external server (e.g., web hard drive) through communication methods such as AP-based Wi-Fi (Wi-Fi, Wireless LAN network), Bluetooth, Zigbee, wired / wireless LAN (Local Area Network), WAN (Wide Area Network), Ethernet, IEEE 1394, HDMI (High-Definition Multimedia Interface), USB (Universal Serial Bus), MHL (Mobile High-Definition Link), AES / EBU (Audio Engineering Society / European Broadcasting Union), Optical, Coaxial, etc.
[0053] According to one example, the communication circuit (110) may include a BLE (Bluetooth Low Energy) module. BLE refers to Bluetooth technology capable of transmitting and receiving low-power, low-capacity data in a 2.4 GHz frequency band with a range of about 10 m. However, it is not limited thereto, and the communication circuit (110) may include a Wi-Fi communication module. That is, the communication circuit (110) may include at least one of a BLE (Bluetooth Low Energy) module or a Wi-Fi communication module.
[0054] At least one processor (120) (hereinafter, processor) is electrically connected to a communication circuit (110) and a memory (130) to control the overall operation of an electronic device (100). The processor (120) may be composed of one or more processors. For example, the processor (120) may perform the operation of an electronic device (100) according to various embodiments of the present disclosure by executing at least one instruction stored in the memory (130).
[0055] According to one embodiment, the processor (120) may be implemented as a digital signal processor (DSP) that processes digital video signals, a microprocessor, a Graphics Processing Unit (GPU), an Artificial Intelligence (AI) processor, a Neural Processing Unit (NPU), or a Time Controller (TCON). However, it is not limited thereto, and may include or be defined by one or more of a central processing unit (CPU), a Micro Controller Unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), a communication processor (CP), or an ARM processor. Additionally, the processor (120) may be implemented as a System on Chip (SoC) or Large Scale Integration (LSI) with a built-in processing algorithm, or may be implemented in the form of an Application Specific Integrated Circuit (ASIC) or Field Programmable Gate Array (FPGA).
[0056] The memory (130) can store data necessary for various embodiments of the present disclosure. Depending on the purpose of data storage, the memory (130) may be implemented in the form of a memory embedded in the electronic device (100) or in the form of a memory that can be attached to and detached from the electronic device (100). For example, data for operating the electronic device (100) may be stored in a memory embedded in the electronic device (100), and data for the expansion function of the electronic device (100) may be stored in a memory that can be attached to and detached from the electronic device (100).
[0057] Meanwhile, the memory embedded in the electronic device (100) may be implemented as at least one of volatile memory (e.g., DRAM (dynamic RAM), SRAM (static RAM), or SDRAM (synchronous dynamic RAM), etc.), non-volatile memory (e.g., OTPROM (one-time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, flash memory (e.g., NAND flash or NOR flash, etc.), hard drive, or solid state drive (SSD). Additionally, the memory that is detachable from the electronic device (100) may be implemented in the form of a memory card (e.g., CF (compact flash), SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.), external memory connectable to a USB port (e.g., USB memory), etc. there is.
[0058] According to one embodiment of the present disclosure, the processor (120) can identify at least one device among a plurality of devices.
[0059] For example, the device may be an electronic device that is connected to an external device (e.g., a cloud server) and whose status is continuously monitored through the external device. For example, the device may be different types of building facilities, including, but not limited to, air conditioning equipment, lighting, and refrigeration systems; for example, the device may be different types of home appliances, including, of course, refrigerators, dishwashers, air conditioners, air purifiers, and TVs.
[0060] According to one example, an external device may obtain device information including status information from each of a plurality of devices in order to monitor the status of each of a plurality of devices. According to one example, the device information may include at least one of status information of the device and information regarding the energy usage history of the device. According to one example, the status information of the device may include the power status of the device, the current operating mode, sensor measurements, error codes, etc. For example, the status information of a smart air conditioner may include the power on / off status, set temperature, current indoor temperature, and airflow, but is not limited thereto.
[0061] According to one example, the processor (120) can obtain status information of the device from an external device. According to one example, the processor (120) can obtain status information of at least some of the plurality of devices through the communication circuit (110).
[0062] According to one example, the processor (120) can identify at least one device corresponding to a state change of a first frequency or higher based on the state information of each of the plurality of devices.
[0063] According to one example, the first frequency may be the number of state changes per hour, the daily average number of state changes, or a preset value through user input. According to one example, the state change may be a different type of change, including a change in the power state of the device or a change in the operating mode of the device. For example, if the first frequency is 5 times per hour, the processor (120) may identify a device whose state changes 5 or more times per hour based on the state information of each of the plurality of devices. However, it is not limited thereto, and the processor (120) may also identify a device corresponding to a state change based on a different number of times.
[0064] According to one embodiment of the present disclosure, a processor (120) can identify subscription information. According to one example, the subscription information may include information corresponding to whether there is a subscription to status information for a plurality of devices. According to one example, the subscription information may include information regarding the subscription status (maintained or cancelled), the subscription period, and the range of subscription data for each device. According to one example, the processor (120) may obtain only information about the device in the subscription maintenance state from an external device based on the subscription information. According to one example, the subscription maintenance state may mean the subscription status of the status information. According to one example, the subscription cancelled state may mean the non-subscription status of the status information.
[0065] According to one example, the subscription information may include multiple subscription status information corresponding to each of multiple devices. According to one example, each of the multiple subscription status information may include information regarding whether the status information of the corresponding device is a subscription target.
[0066] According to one example, the processor (120) can identify subscription information that causes the subscription to the status information of a first device that does not satisfy the first condition among at least one identified device to be cancelled.
[0067] According to one example, a device satisfying the first condition may be a device corresponding to a first area displayed through a display (e.g., the display (140) of FIG. 13) among a plurality of devices. For example, a device corresponding to the first area may be an area displayed through a display within a list of devices that visually provides status information of each of the plurality of devices.
[0068] According to one example, a device satisfying the first condition may include a device corresponding to a first buffer area adjacent to a first area. According to one example, the first buffer area may be a pixel area of a predetermined size extending vertically or horizontally relative to the first area within a device list by a predetermined ratio or a predetermined number of devices, but is not limited thereto. For example, the number of devices included in the first buffer area may be twice the number of devices included in the first area, but is not limited thereto.
[0069] Alternatively, according to one example, a device satisfying the first condition may include a device corresponding to a second buffer area corresponding to a device type. According to one example, the second buffer area may be an area corresponding to the highest priority device corresponding to each device type (e.g., refrigerator, washing machine, air conditioner, etc.) within the device list. According to one example, the number of devices included in each of the second buffer areas may be twice the number of devices corresponding to the first area, but is not limited thereto. Meanwhile, a device satisfying the first condition will be described through FIGS. 5a and 5b.
[0070] According to one example, the processor (120) can identify a device that does not satisfy the first condition among at least one identified device. For example, the processor (120) can identify a device that satisfies the first condition based on a list of devices. The processor (120) can identify a first device that does not satisfy the first condition among at least one identified device.
[0071] According to one example, the processor (120) may identify subscription information that causes the subscription to the status information of the first device to be canceled when the first device is identified. According to one example, the device corresponding to the subscription cancellation may include cases where the subscription of a device that was in a current subscription maintenance state (or, subscription state) is canceled, and cases where the subscription cancellation state of a device that was in a current subscription cancellation state (or, non-subscription state) is maintained.
[0072] According to one embodiment of the present disclosure, when subscription information is identified, the processor (120) may obtain status information of a device from an external device via a communication circuit based on the identified subscription information. According to one example, the subscription information may include information regarding whether each of a plurality of devices is subscribed. According to one example, the processor (120) may transmit the subscription information to an external device via a communication circuit. Based on the received subscription information, the external device may select only the status information for devices in a subscription maintenance state and transmit it to the electronic device (100). According to one example, the status information transmitted from the external device may be real-time status information of a device currently being monitored, but is not limited thereto.
[0073] The electronic device (100) of the present invention can receive status information for a plurality of devices from an external device and synchronize the status information of the devices to provide it to the user. However, if the number of devices managed by the external device is very large (e.g., 1000 or more), network traffic may occur when receiving status information for all devices in real time.
[0074] According to the example described above, the electronic device (100) may preferentially receive status information of a device likely to be displayed to a user, for example, a device displayed to a user and a device in an adjacent area, or a device in an area (second buffer area) that is displayed when a user randomly accesses a specific type of device.
[0075] Additionally, the electronic device (100) can reduce network traffic by canceling the subscription to the device that generates network traffic as the state changes frequently and the state information is updated frequently.
[0076] FIGS. 3a and 3b are drawings for illustrating a method of providing state information of a device according to various embodiments of the present disclosure.
[0077] According to FIGS. 3a and 3b, according to one embodiment of the present disclosure, an electronic device (100) may provide a UI (user interface, 310 and 320) including state information of the device. According to one example, the electronic device (100) may include a display, and the electronic device (100) may display a UI including state information through the display.
[0078] Referring to FIG. 3a, the electronic device (100) can display status information of a plurality of devices in a preset order. For example, the UI (310) may be a UI that displays the devices managed by an external device in its entirety. The electronic device (100) may display status information of at least one device through a display based on a list of devices. According to one example, the electronic device (100) may display status information of a device different from the currently displayed device based on the user's scroll input. This will be explained in detail through FIG. 5a and FIG. 5b.
[0079] According to one example, the status information of the device may include different types of information, such as the device's operating mode, set value, and current sensing value. For example, the status information (311) of the 'Air Conditioner 1-3' device may include information regarding the operating mode ('automatic mode') corresponding to the current device, the set temperature, and the current temperature. Alternatively, for example, the status information (312) of a specific indoor unit type device may include information regarding the operating mode ('heating mode') corresponding to the current device, the set temperature, and the current temperature.
[0080] Referring to FIG. 3b, the electronic device (100) may provide only status information of a device of a preset type. For example, the electronic device (100) may provide a UI (320) that includes only status information of a device of the 'indoor' type based on user input to receive a device of the 'indoor' type among a plurality of device types.
[0081] According to one example, the electronic device (100) may provide a UI (313) for selecting a sub-device type among the 'indoor unit' types. For example, when user input is received to select an 'AHU (Air handling unit)' type among the 'indoor unit' types, the electronic device (100) may provide status information of the 'AHU' type device.
[0082] As described above, the user may obtain state information of the device using a sequential access method as shown in FIG. 3a, or obtain state information of the device using a random access method as shown in FIG. 3b. In order to provide state information using a sequential access method, the electronic device (100) may permanently obtain state information of the device corresponding to at least one of the first area or the first buffer area, and to this end, the electronic device (100) may identify subscription information in which the device corresponding to the first area and the first buffer area is in a subscription maintenance state. Alternatively, in order to provide state information of the device using a random access method, the electronic device (100) may also identify subscription information in which the state information of the device corresponding to the second buffer area is also in a subscription maintenance state.
[0083] FIG. 4 is a block diagram for explaining a method of transmitting and receiving data between an electronic device and an external device according to one embodiment of the present disclosure.
[0084] Referring to FIG. 4, according to one embodiment of the present disclosure, an electronic device (100) can transmit and receive data with an external device (400) through a communication circuit.
[0085] According to one example, the electronic device (100) may include a 'Subscription Manager' module that manages subscription information. According to one example, the 'Subscription Manager' module may obtain at least one of information regarding a device corresponding to a first area provided through the current display and a device corresponding to a first buffer area from a 'View Layer (UI)' module. Alternatively, the 'Subscription Manager' module may obtain information regarding a device corresponding to a first buffer area based on the device corresponding to the first area.
[0086] According to one example, the electronic device (100) may obtain information about a device corresponding to a second buffer area, although not illustrated in FIG. 4. For example, the 'Subscription Manager' module may obtain information about a device corresponding to the second buffer area from the 'Device State Manager' module or the 'Device State History Memory' module. According to one example, the 'Device State History Memory' module may be a memory that stores history information related to state information. According to one example, the electronic device (100) may include a 'Device State Logger' module. According to one example, the 'Device State Logger' module may record state information of the device in the 'Device State History Memory' module. Alternatively, the 'Device State Logger' module may retrieve history information about the state information of the device from the 'Device State History Memory' module.
[0087] According to one example, the electronic device (100) can obtain information about a device that has a state change through a 'Device State Manager' module. According to one example, the 'Device State Manager' may be a module that manages and controls the state of the device. According to one example, when the 'Device State Manager' obtains state information of the device (state information of a device that is in a subscription maintenance state) from an external device (400), it can transmit information about the device that has a state change based on the obtained state information.
[0088] According to one example, the electronic device (100) can identify subscription information. According to one example, the 'Subscription Manager' module can identify a device corresponding to a state change of a first frequency or higher based on information about a device having a state change. Based on information about a device corresponding to a first area, a device corresponding to a first buffer area, and a device corresponding to a second buffer area, the 'Subscription Manager' module can identify a first device among the identified devices that does not satisfy a first condition, and identify subscription information that causes the first device to be in a subscription cancellation state.
[0089] According to one example, the electronic device (100) may transmit subscription information identified to an external device (400). According to one example, the electronic device (100) may include a 'Session Manager' module. The 'Session Manager' module may be a module that transmits subscription information related to device state changes to the external device (400). According to one example, when the 'Session Manager' receives subscription information from the 'Subscription Manager' module, it may transmit the received subscription information to the external device (400).
[0090] According to one example, the electronic device (100) may transmit a state information request signal to an external device (400). According to one example, the electronic device (100) may include a 'Device State Synker' module. The 'Device State Synker' module may be a module that performs synchronization of device state information. The 'Device State Synker' module may transmit a state information request signal obtained from a 'Subscription Manager' module to the external device (400).
[0091] According to one example, an external device (400) may transmit state information of a device corresponding to a subscription state to an electronic device (100) based on acquired subscription information. For example, when the subscription information is updated, the external device (400) may transmit state information corresponding to the updated subscription information to the electronic device (100). According to one example, the external device (400) may also transmit a response signal to a state information request signal to the electronic device (100) along with the state information. According to one example, the electronic device (100) may acquire the state information and the response signal through a 'Device State Manager' module.
[0092] In one example, the 'View Layer (UI)' module may transmit information about the device corresponding to the first area (e.g., a list of devices) to the 'Subscription Manager' module. In one example, the 'View Layer (UI)' module may include a 'Device View' module. The 'Device View' module is a component responsible for the user interface and can perform the role of visually displaying the device status.
[0093] According to one example, the electronic device (100) may include a 'View Model Layer (Business Logic)'. The 'View Model Layer (Business Logic)' may include a 'Device View Model'. The 'Device View Model' may be a component that processes business logic. According to one example, when the 'View Model Layer (Business Logic)' receives information (notification information related to device status) from the 'Model Layer (Data logic)', it may bind the received information and transmit it to the 'View Layer (UI)' module.
[0094] FIGS. 5A and FIGS. 5B are drawings for illustrating a list of devices according to one embodiment of the present disclosure.
[0095] FIG. 5a is a diagram illustrating a list of devices according to an embodiment of the present disclosure, and FIG. 5b is a diagram illustrating a list of devices including state information of devices according to an embodiment of the present disclosure. According to one example, referring to FIG. 5b, the list of devices may be a list of information for a plurality of devices including state information of devices. For example, the list of devices may include state information for each of the plurality of devices, including state information of a device (501) located at the top left in FIG. 5b. According to one example, an area currently displayed through a display (or a first area, 510) may include state information of a predetermined number of devices.
[0096] Referring to FIG. 5a, the first buffer region (511 and 512) may be a region located adjacent to the first region (510). However, it is not limited thereto.
[0097] According to one example, the second buffer area (521, 531, 541, and 551) may be an area containing a device of the highest priority corresponding to each of the plurality of device types. For example, in the case of a device of the 'Air Conditioner' type, a preset number of devices with a relatively high priority among the devices corresponding to the 'Air Conditioner' type may be included in the second buffer area (521, 531, 541, and 551). According to one example, the devices included in the buffer area corresponding to the 'Air Conditioner' type may include a device with the least relative change in state or a device of relatively high user interest, but are not limited thereto.
[0098] According to one example, an area other than the second buffer area within a plurality of device types (or at least one of the remaining areas, 522, 532, 542, and 552) may include at least one of a device in a subscription maintenance state and a device in a subscription cancellation state. For example, the electronic device (100) may identify the subscription status of a device that does not satisfy the first condition among the devices included in the remaining area as a subscription cancellation state. Or, for example, the electronic device (100) may identify a device in a subscription maintenance state among the devices included in the remaining area.
[0099] FIG. 6 is a flowchart for explaining a method of operation of an electronic device according to one embodiment of the present disclosure.
[0100] Referring to FIG. 6, according to one embodiment of the present disclosure, the operation method may include an operation (S610) of identifying at least one device corresponding to a state change of a first frequency or higher based on state information of each of a plurality of devices.
[0101] According to one example, the electronic device (100) can obtain status information of at least some of the devices among a plurality of devices. For example, the electronic device (100) can obtain status information of a device corresponding to a subscription maintenance status from an external device through a communication circuit (110).
[0102] According to one example, the electronic device (100) can identify at least one device corresponding to a state change of a first frequency or higher based on state information of each of the plurality of devices.
[0103] According to one embodiment of the present disclosure, the operation method may include an operation (S620) of identifying subscription information such that a subscription to the status information of a first device that does not satisfy a first condition among at least one identified device is cancelled.
[0104] According to one example, when at least one device is identified, the electronic device (100) can identify a device among the at least one identified device that satisfies a first condition. According to one example, the electronic device (100) can identify a device among the at least one identified device that does not satisfy the first condition as a first device. According to one example, when the first device is identified, the electronic device (100) can identify subscription information that causes the subscription to the status information of the identified first device to be canceled.
[0105] According to one embodiment of the present disclosure, the operation method may include an operation (S630) of obtaining status information of a device from an external device through a communication circuit based on identified subscription information.
[0106] According to one example, the electronic device (100) can obtain status information of the device from an external device via a communication circuit based on identified subscription information. According to one example, the electronic device (100) can obtain status information of the device corresponding to the subscription maintenance status from an external device.
[0107] FIG. 7 is a flowchart illustrating a method for updating subscription information according to one embodiment of the present disclosure.
[0108] Referring to FIG. 7, according to one embodiment of the present disclosure, the operation method may include an operation (S710) of identifying a third device that is in a subscription cancellation state among the devices corresponding to the changed first area based on subscription information when a user input corresponding to a change in the first area is received.
[0109] According to one example, the user input corresponding to the change of the first area may be a scroll input, but is not limited thereto. According to one example, the electronic device (100) may include a user interface, and the electronic device (100) may receive a scroll input through the user interface.
[0110] According to one example, the electronic device (100) can identify the changed first area when user input corresponding to the change of the first area is received. According to one example, the electronic device (100) can identify a device corresponding to the changed first area from a list of devices based on the user's scroll input. According to one example, the electronic device (100) can identify a third device that is in a cancelled subscription state from among the devices corresponding to the changed first area based on subscription information.
[0111] According to one embodiment of the present disclosure, the operation method may include an operation (S720) of updating subscription information to maintain a subscription state for the status information of the identified third device.
[0112] According to one example, the electronic device (100) can update subscription information so that when a third device is identified, the subscription status of the identified third device becomes a subscription maintenance state.
[0113] According to one embodiment of the present disclosure, the operation method may include an operation (S730) of obtaining status information from an external device through a communication circuit (110) based on updated subscription information.
[0114] According to one example, when subscription information is updated, the electronic device (100) can transmit the updated subscription information to an external device through the communication circuit (110). According to one example, the electronic device (100) can receive status information corresponding to the updated subscription information from the external device.
[0115] For example, the electronic device (100) can receive status information of the third device from an external device. The electronic device (100) can display the status information of the third device through a display.
[0116] FIG. 8a is a flowchart illustrating a method for identifying a second buffer region according to an embodiment of the present disclosure. FIG. 8b is a diagram illustrating a method for receiving status information according to an embodiment of the present disclosure.
[0117] According to FIG. 8a, according to one embodiment, the operation method may include an operation (S810) of identifying at least one device type among a plurality of device types whose user interest level is greater than or equal to a preset value based on user history information.
[0118] According to one example, the electronic device (100) can identify the user's interest based on user history information. According to one example, the user history information may include history information regarding a device selected by the user (e.g., the user's selection input for a specific type) or a device monitored by the user. According to one example, the user's interest may be at least one of the relative number of selections or monitorings by the user for a specific type of device, but is not limited thereto.
[0119] According to one example, the electronic device (100) can identify at least one device type among a plurality of device types in which the user's interest level is greater than or equal to a preset value. For example, the electronic device (100) can identify five device types with the largest relative interest levels based on the interest levels corresponding to each identified type, but is not limited thereto.
[0120] According to one embodiment, the operation method may include an operation (S820) of identifying a buffer area corresponding to each of at least one identified device type as a second buffer area.
[0121] According to one example, the electronic device (100) may identify a buffer area corresponding to each identified device type (or an area containing the highest priority device) as a second buffer area. For example, if five device types are identified, the second buffer area may include five buffer areas (or sub-buffer areas) corresponding to each identified device type.
[0122] According to one example, the electronic device (100) can identify a list of devices according to the ranking of interest. For example, referring to FIG. 5a, a buffer area corresponding to the device type with the highest relative interest may exist at the bottom of the first buffer area. A list of devices can be identified in which a buffer area corresponding to the device type with the lowest relative interest exists as one moves down within the list of devices.
[0123] According to FIG. 8b, in one embodiment, the electronic device (100) can receive information about at least one device corresponding to a state change of a first frequency or higher from an external device (800).
[0124] According to one example, the external device (800) can monitor the state changes of each of the plurality of devices. According to one example, the external device (800) may include a 'Message Broker' module. According to one example, the 'Message Broker' module may be a module that receives real-time state information of the plurality of devices (e.g., a device corresponding to a Data Management Server (DMS) or a device corresponding to SmartThings, etc.) and transmits it to a 'Subscription' module. According to one example, the 'Subscription' module may receive state information from the 'Message Broker' module and receive history information regarding the state information of the device from the 'Client Device State History Memory' module through the 'Device State Synker' module.
[0125] According to one example, the 'Subscription Controller' module may be a module corresponding to the 'Subscription Manager' module of FIG. 4. The 'Subscription Controller' module may monitor the status information of multiple devices. According to one example, the 'Subscription Controller' module may identify a device corresponding to a status change of a first frequency or higher. Based on information regarding a device corresponding to a first area, a device corresponding to a first buffer area, and a device corresponding to a second buffer area, the 'Subscription Controller' module may identify a first device among the identified devices that does not satisfy a first condition, and identify subscription information that causes the first device to be in a subscription cancellation state. The 'Subscription Controller' module transmits the identified subscription information to the 'Subscription' module, and the 'Subscription' module may transmit status information to the electronic device (100) based on the identified subscription information. According to one example, if the 'Subscription Controller' module identifies a device among the devices in a subscription cancellation state that satisfies the first condition, it is obvious that the module may update the subscription information so that the identified device is in a subscription maintenance state.
[0126] Alternatively, according to one example, the external device (800) may monitor the state change of each device, and if a device corresponding to a state change of a first frequency or higher is identified, it may transmit information about the identified device to the electronic device (100). The electronic device (100) may also identify subscription information that causes the subscription to the state information of the first device to be canceled when information about at least one device corresponding to a state change of a first frequency or higher is received from the external device (800) through a communication circuit. The electronic device (100) transmits the identified subscription information to the external device (800) through a 'Session Manager' module, and the 'Subscription Controller' module of the external device (800) may update the subscription information based on the received information.
[0127] In one example, the 'App lifecycle state' module may be a module that manages the execution state of an application. In one example, when updated state information is received from an external device (800) through the 'Device State Manager' module, the 'Device State Manager' module may transmit the updated state information to the 'Model Layer'. Through this, the updated state information may be provided to the user through a display.
[0128] FIG. 9 is a drawing for explaining a method of obtaining state information of a device based on pre-set subscription information according to one embodiment of the present disclosure.
[0129] Referring to FIG. 9, according to one embodiment of the present disclosure, an electronic device (100) may obtain pre-set subscription information (910) for each device type from an external device (900). According to one example, the pre-set subscription information (910) for each device type may include information regarding whether a device is subscribed to by type. For example, the pre-set subscription information (910) may obtain subscription information from an external device (900) via a communication circuit, such that the subscription of a device included in a device type corresponding to subscription maintenance (e.g., 'Air Conditioner' type, 'Energy Meter' type, 'Home Air Conditioner', 'SI Sensor (Silicon Sensor)' and 'TV' type, etc.) is maintained, and the subscription of a device included in a device type corresponding to subscription cancellation (e.g., 'Air Conditioner Outdoor' type, 'Air Purifier Sensor' type, 'Light' type, 'Cold Chain' type and 'Hub' type, etc.) is cancelled.
[0130] According to one example, the electronic device (100) may obtain status information based on pre-set subscription information (910) for each device type. For example, the electronic device (100) may identify, based on pre-set subscription information (910) for each device type, that the subscription status of a device excluding a device satisfying a first condition among devices corresponding to a device type corresponding to a subscription cancellation state becomes a subscription cancellation state, and obtain status information based thereon.
[0131] FIG. 10a is a flowchart illustrating a method for obtaining device information according to an embodiment of the present disclosure. FIG. 10b is a diagram illustrating a method for obtaining device information and history information from an external device according to an embodiment of the present disclosure.
[0132] Referring to FIG. 10a, according to one embodiment of the present disclosure, the operation method may include an operation (S1010) of obtaining device information corresponding to a fourth device that is preferentially displayed through a device type display from an external device (1000) through a communication circuit based on a user's login input to an application for providing status information.
[0133] According to one example, the electronic device (100) may receive user input. According to one example, the electronic device (100) may receive a user's login input for an application for providing status information. According to one example, when the user's login input is received, the electronic device (100) may obtain device information corresponding to a fourth device that is preferentially displayed through a display according to device type from an external device (1000).
[0134] According to one example, a device that is preferentially displayed through a display may refer to a device that is preferentially provided to the user within a specific type of device when user input is received to display only a specific type of device. This will be explained in detail through FIG. 10b below.
[0135] According to one example, the device information may include at least one of the status information of the device and information regarding the energy usage history of the device. According to one example, the information regarding the energy usage history of the device may include at least one of the following: information regarding the energy usage history of the device itself for a preset period (e.g., one year); information regarding the energy usage history of devices included in the type to which the device belongs for a preset period; and information regarding the energy usage history of devices included in the zone where the device is located for a preset period, but is not limited thereto. Alternatively, according to one example, the device information may include history information regarding notification provision history corresponding to the device.
[0136] According to one embodiment of the present disclosure, the operation method may include an operation (S1020) of obtaining device information corresponding to a fifth device displayed after a fourth device from an external device (1000) through a communication circuit based on a user's scroll input.
[0137] According to one example, the electronic device (100) can receive scroll input from a user. For example, the electronic device (100) can receive scroll input from a user during the execution of an application for providing status information.
[0138] According to one example, when the electronic device (100) receives a scroll input from a user, it can obtain device information corresponding to a fifth device displayed after the fourth device currently displayed from an external device (1000) through a communication circuit.
[0139] Referring to FIG. 10b, according to one embodiment, the electronic device (100) can obtain device information corresponding to a fourth device that is preferentially displayed through a device type display from an external device (1000) via a communication circuit based on a user's login input to an application for providing status information.
[0140] According to one example, when the electronic device (100) receives a user's login input for an application for providing status information, it can obtain device information corresponding to a fourth device that is preferentially displayed through a display for each device type from a device information management module (1020). According to one example, the electronic device (100) can obtain device information corresponding to a device that is preferentially displayed through a display for each type among device information (1051, 1052, and 1053, etc.) corresponding to a plurality of device types through a 'Prefetch Engine' module. For example, the electronic device (100) can obtain device information corresponding to a device that is preferentially displayed through a display among device information (1051) corresponding to a first device type, device information (1052) corresponding to a second device type, and device information (1053) corresponding to a third device type in parallel through a 'Prefetch Engine' module. Here, 'prefetch' means the act of extracting or obtaining some of the data from an external device (1000) in advance.
[0141] According to one example, a block (1050) containing device information (1051, 1052, and 1053) displayed in a stack form may be a block that illustrates device information stored in a device information management module (1020), but is not limited thereto. According to one example, each stack may correspond to a preset number of devices (e.g., the number of devices displayed through a display, or a Buffer Range), but is not limited thereto.
[0142] According to one example, when a user's login input is received, the electronic device (100) may obtain only information about the device to be displayed first through the display. Subsequently, when a user's scroll input is received, the electronic device (100) may obtain device information corresponding to the fifth device displayed after the fourth device from an external device (1000).
[0143] According to one example, the electronic device (100) can obtain device information corresponding to the fifth device through a block (1040) including a 'Prefetcher' module, a 'Prefetch Engine' module, and a 'Device State Manager' module. When a scroll input is received from a user, the 'Device State Manager' module can transmit a signal to the 'Prefetch Engine' module requesting device information corresponding to the device displayed after the fourth device. The 'Prefetch Engine' module can request the transmission of device information corresponding to the fifth device to the device information management module (1020) through the 'Prefetcher' module. For example, the 'Prefetch Engine' module can transmit information regarding index information and buffer range corresponding to the fifth device to the device information management module (1020). Based on the received information, the device information management module (1020) can transmit device information corresponding to the fifth device to the electronic device (100) through the 'Prefetcher' module.
[0144] According to one example, the electronic device (100) may obtain device information corresponding to a device to be displayed after the fifth device when additional scroll input is received. Alternatively, according to one example, the electronic device (100) may receive device information corresponding to all devices when a user's login input or scroll input is received. This will be explained in detail through FIG. 12.
[0145] According to one example, the electronic device (100) can store or update history information regarding device information. For example, referring to block (1030) shown in the lower left of FIG. 10b, the 'History Data Manager' module can identify whether the history information needs to be updated by checking the cache of the 'Local Data Repository' module, which stores history information regarding device information corresponding to each of the multiple devices. If the 'History Data Manager' module identifies that the history information needs to be updated, it can request the 'Prefetch Engine' module to update the history information. The 'Prefetch Engine' module can request the transmission of device information to the history information storage module (1010), where the history information regarding device information is stored, through the 'Prefetcher' module. For example, the 'Prefetch Engine' module can transmit information regarding index information and buffer ranges corresponding to the device information that needs to be updated to the history information storage module (1010).
[0146] According to the example described above, the electronic device (100) can prioritize acquiring only device information corresponding to the device to be provided to the user and provide it to the user, thereby reducing network traffic. Additionally, the electronic device (100) can periodically check whether the history information of the device needs to be updated and update the history information whenever necessary. Since the electronic device (100) can acquire only newly added data to update the history information, network traffic can be reduced.
[0147] FIG. 11 is a flowchart illustrating a method for identifying subscription information based on whether an application is activated according to one embodiment of the present disclosure.
[0148] Referring to FIG. 11, according to one embodiment of the present disclosure, the operation method may include an operation (S1110) of identifying a fifth device corresponding to a state change of a second frequency or higher based on the state information of each of a plurality of devices when an application for providing state information is identified as being in an inactive mode.
[0149] According to one example, the electronic device (100) can identify whether the application for providing status information is in a disabled mode, including when the display of the electronic device (100) is turned off or when an application other than the application for providing status information is running.
[0150] According to one example, the electronic device (100) can identify a fifth device corresponding to a state change of a second frequency or higher based on the state information of each of the plurality of devices when an application for providing state information is identified as being in an inactive mode. According to one example, the fifth device of FIG. 11 may be a device different from the fifth device of FIG. 10a and FIG. 10b.
[0151] For example, the second frequency may be the number of state changes per hour, the daily average number of state changes, or a preset value through user input. For example, the second frequency may be the state change frequency of a device that corresponds to the top 20% of the state change frequency among a plurality of devices, but is not limited thereto.
[0152] According to one example, the electronic device (100) can identify a fifth device having a state change of at least the second frequency based on the time from when the application is deactivated until a preset time (e.g., 30 minutes) has elapsed.
[0153] According to one embodiment of the present disclosure, the operation method may include an operation (S1120) of identifying subscription information such that a subscription to the status information of a device among the identified fifth devices that does not satisfy the first condition is cancelled.
[0154] According to one example, the electronic device (100) can identify subscription information that causes the subscription to the status information of the remaining devices, excluding the device that satisfies the first condition among the identified fifth devices, to be canceled.
[0155] According to one example, the electronic device (100) may maintain a state of unsubscribed subscription for a device having a state change of a second frequency or higher until the application for providing state information is identified as an active mode. For example, the electronic device (100) may periodically monitor the state change of the device in the application's inactive mode. The electronic device (100) may periodically identify a device having a state change of a second frequency or higher and update the subscription information based thereon. Afterward, when the application is switched to an active mode, the electronic device (100) may provide the device's state information obtained based on the subscription information updated in the inactive mode to the user.
[0156] According to the example described above, the electronic device (100) can reduce network traffic even when the application is inactive by canceling the subscription to a device with frequent state changes when the application is inactive. Even in this case, by maintaining the subscription to a device that satisfies the first condition, device information can be provided to the user immediately in sequential access situations or random access situations.
[0157] FIG. 12 is a drawing for explaining a method of obtaining device information according to one embodiment of the present disclosure.
[0158] Referring to FIG. 12, according to one embodiment of the present disclosure, an electronic device can sequentially acquire device information by device type with a preset data capacity based on a user's login input to an application for providing status information.
[0159] According to one example, when the electronic device (100) receives a user's login input for an application for providing status information, it can obtain device information by device type from the device information management module (1220). According to one example, the electronic device (100) can obtain device information (1251, 1252, 1253, etc.) corresponding to a plurality of device types through the 'Prefetch Engine' module.
[0160] According to one example, the electronic device (100) can sequentially acquire device information in amounts of a preset data capacity (or a preset buffer range) through a 'Prefetch Engine' module. According to one example, a block (1250) containing device information (1251, 1252 and 1253) displayed in a stack form may be a block that illustrates device information stored in a device information management module (1220), but is not limited thereto. According to one example, each stack may correspond to a preset number of devices (e.g., the number of devices displayed through a display, or a buffer range), but is not limited thereto.
[0161] For example, the 'Prefetch Engine' module may first request a signal requesting device information corresponding to the first stack from the device information management module (1220) through the 'Prefetcher' module. Here, the device information corresponding to the first stack may be information with a preset data capacity corresponding to each of the multiple device types. The 'Prefetch Engine' module may acquire device information corresponding to each of the multiple device types in parallel as information included in the first stack.
[0162] Subsequently, the 'Prefetch Engine' module may request a signal requesting device information corresponding to the second stack after the first stack from the device information management module (1220) through the 'Prefetcher' module. The device information corresponding to the second stack may be information of a preset data capacity corresponding to each of a plurality of device types, and may be data provided after the data corresponding to the first stack has been provided.
[0163] The 'Prefetch Engine' module can request device information until all device information corresponding to each stack has been transmitted. The 'Prefetch Engine' module can stop requesting device information when it is complete that all device information corresponding to each of the multiple device types has been received.
[0164] According to the example described above, the electronic device can acquire device information corresponding to each of a plurality of device types by dividing it into data capacities of a preset size. Accordingly, network traffic can be reduced.
[0165] According to one example, an electronic device (100) can obtain device information corresponding to each of a plurality of device types through a block (1240) including a 'Prefetcher' module, a 'Prefetch Engine' module, and a 'Device State Manager' module. When a scroll input is received from a user, the 'Device State Manager' module can transmit a signal requesting device information to the 'Prefetch Engine' module. The 'Prefetch Engine' module can request the transmission of device information to the device information management module (1220) through the 'Prefetcher' module. For example, the 'Prefetch Engine' module can transmit index information corresponding to the first stack and information regarding the buffer range to the device information management module (1220). Based on the received information, the device information management module (1220) can transmit device information corresponding to the first stack to the electronic device (100) through the 'Prefetcher' module.
[0166] According to one example, the electronic device (100) can store or update history information regarding device information. For example, referring to block (1230) shown in the lower left of FIG. 12b, the 'History Data Manager' module can identify whether the history information needs to be updated by checking the cache of the 'Local Data Repository' module, which stores history information regarding device information corresponding to each of the multiple devices. If the 'History Data Manager' module identifies that the history information needs to be updated, it can request the 'Prefetch Engine' module to update the history information. The 'Prefetch Engine' module can request the transmission of device information to the history information storage module (1210), which stores history information regarding device information, through the 'Prefetcher' module. For example, the 'Prefetch Engine' module can transmit information regarding index information and buffer ranges corresponding to the device information that needs to be updated to the history information storage module (1210).
[0167] Returning to FIG. 2, according to one embodiment, the processor (120) can identify a device corresponding to a state change of at least a first frequency based on the state information of each of at least one first subscribed device among a plurality of devices that is a target for subscription to state information. According to one example, the subscribed device may be a device corresponding to a state of maintaining subscription to state information.
[0168] According to one embodiment, the processor (120) can determine the subscription status information of the first device to be included in the subscription information based on the fact that the first device among the identified devices does not satisfy the first condition.
[0169] According to one example, the processor (120) can identify 'non-subscribed' as subscription status information corresponding to each of at least one first device. According to one example, the processor (120) can identify subscription information that causes the subscription status of the first device to become 'non-subscribed'.
[0170] For example, if the initial subscription status of the first device is 'subscribed', the processor (120) can update the subscription information so that the subscription status of the first device is changed to 'unsubscribed'. Alternatively, for example, the processor (120) may identify the initial subscription status of the first device as 'unsubscribed'.
[0171] According to one embodiment, the processor (120) may obtain status information of at least one second subscriber device, which is a status information subscription target, from an external device through a communication circuit based on subscription information corresponding to the determined subscription status information of the first device. According to one example, the second subscriber device may be a device corresponding to the current subscription maintenance state after the subscription status of the first device is changed to 'non-subscription'.
[0172] FIG. 13 is a block diagram showing the detailed configuration of an electronic device according to one embodiment of the present disclosure.
[0173] According to FIG. 13, the electronic device (100') may include a communication circuit (110), at least one processor (120), memory (130), a display (140), a user interface (150), a speaker (160), a microphone (170), and at least one sensor (180). A detailed description of configurations shown in FIG. 13 that overlap with configurations shown in FIG. 2 will be omitted.
[0174] The display (140) may be implemented as a display including a self-emissive element or as a display including a non-emissive element and a backlight. For example, it may be implemented as various types of displays such as an LCD (Liquid Crystal Display), an OLED (Organic Light Emitting Diodes) display, an LED (Light Emitting Diodes), a micro LED, a Mini LED, a PDP (Plasma Display Panel), a QD (Quantum dot) display, or a QLED (Quantum dot light-emitting diodes). The display (140) may also include a driving circuit, a backlight unit, etc., which can be implemented in the form of an a-si TFT, an LTPS (low temperature poly silicon) TFT, an OTFT (organic TFT), etc. Meanwhile, the display (140) may be implemented as a touch screen combined with a touch sensor, a flexible display, a rollable display, a 3D display, a display in which a plurality of display modules are physically connected, etc. The processor (120) can control the display (140) to output an output image obtained according to the various embodiments described above. Here, the output image may be a high-resolution image of 4K or 8K or higher. According to one embodiment, the output image may be a game image.
[0175] According to one embodiment of the present disclosure, the display (140) may include a plurality of haptic elements. The haptic elements may be implemented as motors to provide haptic feedback (e.g., vibration feedback) to a user, but are not limited thereto. According to one example, the display (140) may include a predetermined number of haptic elements. For example, the display (140) may include a predetermined number of haptic elements corresponding to a predetermined number of sub-regions of the display, but is not limited thereto, and it is obvious that the display may include a number of haptic elements different from the number of sub-regions corresponding to the display.
[0176] The user interface (150) is a configuration for the electronic device (100') to perform interaction with the user. For example, the user interface (150) may include at least one of a touch sensor, a motion sensor, a button, a jog dial, a switch, a microphone, or a speaker, but is not limited thereto.
[0177] According to one embodiment of the present disclosure, the speaker (160) may be composed of a tweeter for reproducing high-frequency sound, a midrange for reproducing mid-frequency sound, a woofer for reproducing low-frequency sound, a subwoofer for reproducing ultra-low-frequency sound, an enclosure for controlling resonance, and a crossover network for dividing the frequency of an electrical signal input to the speaker into bands.
[0178] According to one embodiment of the present disclosure, a speaker (160) can output an acoustic signal to the outside of an electronic device (100'). The speaker (160) can output multimedia playback, recording playback, various notification sounds, voice messages, etc. The electronic device (100') may include an audio output device such as a speaker (160), but may include an output device such as an audio output terminal. In particular, the speaker (160) can provide acquired information, information processed or produced based on acquired information, response results to user voice or operation results, etc., in the form of voice.
[0179] A microphone (170) may refer to a module that acquires sound and converts it into an electrical signal, and may be a condenser microphone, a ribbon microphone, a moving coil microphone, a piezoelectric element microphone, a carbon microphone, or a MEMS (Micro Electro Mechanical System) microphone. Additionally, it may be implemented in omnidirectional, bidirectional, unidirectional, subcardioid, supercardioid, or hypercardioid modes. According to one embodiment, an electronic device (100') may include a microphone (170) and an inner microphone, and the microphone (170) may be a microphone located relatively outside the body. According to one example, the electronic device (100') may acquire an audio signal including external noise through the microphone (170). According to one embodiment of the present disclosure, the microphone (170) may be positioned in a direction opposite to the direction in which the speaker (160) emits sound.
[0180] At least one sensor (180, hereinafter referred to as the sensor) may include a plurality of sensors of various types. The sensor (180) may measure physical quantities or detect the operating state of an electronic device (100) and convert the measured or detected information into an electrical signal. The sensor (180) may include a camera (or a camera sensor), and the camera may include a lens that focuses visible light or other optical signals received by being reflected by an object onto an image sensor, and an image sensor capable of detecting visible light or other optical signals. Here, the image sensor may include a 2D pixel array divided into a plurality of pixels. Alternatively, at least one sensor (180) may include a temperature sensor or an infrared sensor.
[0181] According to the example described above, the electronic device (100') can preferentially receive status information of a device likely to be displayed to a user, for example, a device displayed to a user and a device in an adjacent area, or a device in an area (second buffer area) that is displayed when a user randomly accesses a specific type of device.
[0182] In addition, according to the example described above, the electronic device (100') can reduce network traffic by canceling the subscription to the device that generates network traffic as the state changes frequently and the state information is updated frequently.
[0183] Meanwhile, according to the exemplary embodiments of the present disclosure, the various embodiments described above may be implemented as software comprising instructions stored on a machine-readable storage medium (e.g., a computer). The machine may include a display device (e.g., a display device (A)) according to the disclosed embodiments, which is a device capable of calling instructions stored from the storage medium and operating according to the called instructions. When instructions are executed by a processor, the processor may perform a function corresponding to the instructions directly or by using other components under the control of the processor. Instructions may include code provided or executed by a compiler or an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, "non-transitory" means only that the storage medium does not contain a signal and is tangible, and does not distinguish whether data is stored semi-permanently or temporarily in the storage medium.
[0184] Additionally, according to one embodiment, the method according to the various embodiments described above 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 online in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or through an application store (e.g., Play Store™). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or provided on a storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
[0185] Additionally, each component (e.g., module or program) according to the various embodiments described above may be composed of a single or multiple entities, and some of the aforementioned sub-components may be omitted, or other sub-components may be further included in the various embodiments. Generally or additionally, some components (e.g., module or program) may be integrated into a single entity to perform the functions performed by each of the respective components prior to integration in the same or similar manner. The operations performed by the module, program, or other components according to the various embodiments may be executed sequentially, in parallel, iteratively, or heuristically, or at least some operations may be executed in a different order, omitted, or other operations added.
[0186] It will be understood that various embodiments of the present disclosure according to the claims and description of the specification may be implemented in the form of hardware, software, or a combination of hardware and software.
[0187] Any such software may be stored on a non-transient computer-readable storage medium. A non-transient computer-readable storage medium stores one or more computer programs (software modules), and one or more computer programs include computer-executable instructions that cause the electronic device to perform the method of the present disclosure when executed by one or more processors of the electronic device.
[0188] Any such software may be stored in volatile or non-volatile storage in the form of a storage device, such as read-only memory (ROM), regardless of whether it is eraseable or rewritable, for example; in the form of memory, such as random access memory (RAM), memory chips, devices, or integrated circuits, for example; or in the form of an optically or magnetically readable medium, such as a compact disc (CD), a digital multi-purpose disc (DVD), a magnetic disc, or a magnetic tape, for example. It will be understood that the storage device and storage medium are various embodiments of non-transient machine-readable storage suitable for storing computer programs or computer programs that include instructions that implement various embodiments of the present disclosure when executed. Accordingly, various embodiments provide a program including code for implementing any one of the devices or methods of the claims of this specification and a non-transient machine-readable storage for storing such a program.
[0189] Although the present disclosure has been illustrated and described with reference to various embodiments, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the scope and spirit of the present disclosure as defined by the appended claims and their equivalents.
Claims
1. In an electronic device, Communication circuit; Memory comprising one or more storage media for storing instructions; and At least one processor comprising the communication circuit and the processing circuitry coupled to communicate with the memory; When the above instructions are executed individually or collectively by the at least one processor, the electronic device, Identifying at least one device corresponding to a state change of at least a first frequency based on the state information of each of at least one first subscription device among a plurality of devices that is a subscription target for state information, and Based on the fact that the first device among the at least one identified device does not satisfy the first condition, the subscription status information of the first device to be included in the subscription information is determined, and Based on the subscription information corresponding to the determined subscription status information of the first device, the state information of at least one second subscription device that is a state information subscription target is obtained from an external device through the communication circuit, and The above subscription information is, It includes subscription status information corresponding to each of the plurality of devices mentioned above, and The above subscription status information is, An electronic device comprising information on whether the status information of the corresponding device is a subscription target.
2. In Paragraph 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device, Based on the subscription information corresponding to the determined subscription status information of the first device, the at least one second subscription device is identified, and An electronic device that transmits a signal to the external device requesting status information of at least one second subscriber device identified above.
3. In Paragraph 1, It further includes a display; The above first condition is, An electronic device comprising a condition corresponding to a first area displayed through the above display, a first buffer area adjacent to the first area, or a second buffer area corresponding to a type of device.
4. In Paragraph 3, When the above instructions are executed individually or collectively by the at least one processor, the electronic device, Based on user input corresponding to the change in the first area and the subscription information, a third device among the devices corresponding to the changed first area that is not subscribed to the status information is identified, and Update the subscription status information corresponding to the third device included in the above subscription information to correspond to the subscription, and An electronic device that obtains status information of the third device from an external device through the communication circuit based on the above-mentioned updated subscription information.
5. In Paragraph 3, When the above instructions are executed individually or collectively by the at least one processor, the electronic device, Based on user history information, identify at least one device type among multiple device types where the user's interest level is greater than or equal to a preset value, and An electronic device that identifies a buffer region corresponding to each of the at least one device type identified above as the second buffer region.
6. In Paragraph 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device, The subscription information corresponding to the determined subscription status information of the first device is transmitted to the external device through the communication circuit, and An electronic device that obtains status information of at least one second subscription device from the above external device through the communication circuit.
7. In Paragraph 1, The above subscription information is, For each device type, the above status information includes information on whether it is a subscription target, and When the above instructions are executed individually or collectively by the at least one processor, the electronic device, An electronic device that obtains status information of a device corresponding to the device type subject to the status information subscription from the external device based on the above subscription information.
8. In Paragraph 1, It further includes a display; When the above instructions are executed individually or collectively by the at least one processor, the electronic device, Based on the user's login input to the application for providing the above status information, device information corresponding to the fourth device that is preferentially displayed through the display according to the device type is obtained from the external device through the communication circuit, and An electronic device that obtains device information corresponding to a fifth device displayed after the fourth device from the external device through the communication circuit based on the scroll input of the user.
9. In Paragraph 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device, If the application for providing the above state information is identified as being in an inactive mode, a fifth device corresponding to a state change of a second frequency or higher is identified based on the state information of each of the plurality of devices, and An electronic device that updates the subscription information so that the subscription status information of a device among the identified fifth devices that does not satisfy the first condition corresponds to non-subscription.
10. In Paragraph 1, When the above instructions are executed individually or collectively by the at least one processor, the electronic device, An electronic device that acquires device information by device type within a preset data capacity limit based on a user's login input to an application for providing the above-mentioned status information.
11. In a method of operating an electronic device, An operation to identify at least one device corresponding to a state change of at least a first frequency based on the state information of each of at least one first subscribed device among a plurality of devices that is a target of subscription to state information; An operation to determine subscription status information of the first device to be included in the subscription information based on the fact that the first device among the at least one identified device does not satisfy the first condition; and The operation of obtaining state information of at least one second subscription device, which is a state information subscription target, from an external device through a communication circuit based on the subscription information corresponding to the determined subscription status information of the first device; The above subscription information is, It includes subscription status information corresponding to each of the plurality of devices mentioned above, and The above subscription status information is, A method of operation comprising information on whether the status information of the corresponding device is a subscription target.
12. In Paragraph 11, An operation of identifying the at least one second subscription device based on the subscription information corresponding to the determined subscription status information of the first device; and A method of operation comprising: transmitting a signal to the external device requesting status information of at least one second subscriber device identified above.
13. In Paragraph 11, The above first condition is, A method of operation comprising a condition corresponding to a first area displayed through a display, a first buffer area adjacent to the first area, or a second buffer area corresponding to a type of device.
14. In Paragraph 11, The above subscription information is, For each device type, the above status information includes information on whether it is a subscription target, and The above method of operation is, A method of operation further comprising: an operation of obtaining state information of a device corresponding to the device type that is the target of the state information subscription from the external device based on the above subscription information.
15. One or more non-transient computer-readable storage media storing one or more computer programs comprising computer-executable instructions that, when executed individually or collectively by at least one processor of an electronic device, cause said electronic device to perform operations, said operations being: An operation to identify at least one device corresponding to a state change of at least a first frequency based on the state information of each of at least one first subscribed device among a plurality of devices that is a target of subscription to state information; An operation to determine subscription status information of the first device to be included in the subscription information based on the fact that the first device among the at least one identified device does not satisfy the first condition; and The operation of obtaining state information of at least one second subscription device, which is a state information subscription target, from an external device through a communication circuit based on the subscription information corresponding to the determined subscription status information of the first device; The above subscription information is, It includes subscription status information corresponding to each of the plurality of devices mentioned above, and The above subscription status information is, A storage medium comprising information on whether the status information of the corresponding device is a subscription target.