Method for performing function on basis of idle computing power information for group of electronic devices associated with electronic device and apparatus performing method

By distributing AI data processing across a group of electronic devices, the computing power limitations of individual devices are overcome, enhancing performance and reducing heat generation.

WO2026034909A1PCT designated stage Publication Date: 2026-02-12SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/011506
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-09-27
Filing Date
2025-08-01
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Existing AI models are limited by the computing power of the device they are deployed on, leading to inefficiencies and potential user discomfort due to heat generation, especially in devices with limited processing capabilities like smartphones and XR devices.

Method used

Distribute data processing for AI operations across a group of electronic devices associated with the device, utilizing idle computing power to enhance processing capabilities and reduce heat generation.

Benefits of technology

Enhances computing power for AI operations, reducing heat generation and improving performance in devices with limited processing capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025011506_12022026_PF_FP_ABST
    Figure KR2025011506_12022026_PF_FP_ABST
Patent Text Reader

Abstract

An electronic device, according to one embodiment, may: acquire idle computing power information for an electronic device group; determine a first external electronic device from among the electronic device group on the basis of the idle computing power information when an execution command for a function requiring distributed processing of data is received; transmit a request for first data processing for performing the function to the first external electronic device; and perform the function on the basis of a first result for the first data processing received from the first external electronic device and a second result for second data processing performed by the electronic device for the function.
Need to check novelty before this filing date? Find Prior Art

Description

A method for performing a function based on idle computing power information for a group of electronic devices associated with an electronic device and a device for performing the method

[0001] One embodiment relates to a technique for performing an AI operation requested by an electronic device, and more particularly, to a technique for distributing data processing for performing the AI ​​operation.

[0002] A large language model (LLM) is an artificial intelligence (AI) model specialized for recognizing text and performing tasks related to the recognized text. LLM is based on machine learning, specifically a type of neural network called a Transformer model. Conventional language models (LMs) can be broadly categorized into cloud AI models and on-device AI models. Cloud AI models utilize server-based LLMs, also known as public LMs. On-device AI models utilize small language models (small LMs: SLMs) on the device itself, also known as private LMs. Because the larger the computing power of the device performing the computation, the larger the LM can be used, the LMs available may be limited by the device's computing power.

[0003] According to one embodiment, an electronic device includes at least one processor including a processing circuit, and a memory storing instructions including one or more storage media, wherein the instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: periodically obtain idle computing power information from a group of electronic devices.

[0004] According to one embodiment, when the instructions are individually or collectively executed by at least one processor, the electronic device may be configured to: determine a first external electronic device from among the group of electronic devices based on the idle computing power information when a command to perform a function requiring distributed processing of data is received.

[0005] According to one embodiment, when the instructions are individually or collectively executed by at least one processor, the electronic device may: transmit a request for first data processing for performing the function to the first external electronic device.

[0006] According to one embodiment, when the instructions are individually or collectively executed by at least one processor, the electronic device may: receive a first result for processing the first data from the first external electronic device.

[0007] According to one embodiment, when the instructions are individually or collectively executed by at least one processor, the electronic device may perform the function based on the first result and a second result of second data processing for the function performed by the electronic device.

[0008] According to one embodiment, a method performed by an electronic device may include an operation of periodically obtaining idle computing power information from a group of electronic devices.

[0009] According to one embodiment, a method performed by an electronic device may include an operation of determining a first external electronic device from among a group of electronic devices based on the idle computing power information when a command to perform a function requiring distributed processing of data is received.

[0010] According to one embodiment, a method performed by an electronic device may include transmitting a request for first data processing for performing the function to the first external electronic device.

[0011] According to one embodiment, a method performed by an electronic device may include receiving a first result for processing the first data from the first external electronic device.

[0012] According to one embodiment, a method performed by an electronic device may include performing the function based on the first result and a second result of second data processing for the function performed by the electronic device.

[0013] According to one embodiment, an electronic device includes at least one processor including a processing circuit, and a memory including one or more storage media storing instructions, wherein the instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: determine whether a current state of the electronic device is a first state based on at least one of a usage rate and a charge state of the at least one processor of the electronic device.

[0014] According to one embodiment, when the instructions are individually or collectively executed by the at least one processor, the electronic device may cause: the electronic device to generate a first idle computing power table for the at least one processor when the current state is the first state.

[0015] According to one embodiment, when the instructions are individually or collectively executed by the at least one processor, the electronic device may: determine a second state as the current state if the current point in time corresponds to the first point in time.

[0016] According to one embodiment, when the instructions are individually or collectively executed by the at least one processor, the electronic device may: transmit first idle computing power information corresponding to the second state among the information in the first idle computing power table to an external electronic device.

[0017] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.

[0018] Figure 2 is a diagram illustrating an artificial intelligence system according to one embodiment.

[0019] Figure 3 is a configuration diagram of an artificial intelligence system according to one embodiment.

[0020] FIG. 4 illustrates a group of electronic devices according to one embodiment.

[0021] FIG. 5 is a flowchart of a method for transmitting idle computing power information to an external electronic device according to one embodiment.

[0022] FIG. 6 is a flowchart of a method for generating an idle computing power table according to one embodiment.

[0023] FIG. 7 is a flowchart of a method for transmitting a first result generated based on a request for data processing received from an external electronic device to an external electronic device, according to one embodiment.

[0024] FIG. 8 is a flowchart of a method for performing a function based on idle computing power information for a group of electronic devices associated with an electronic device, according to one embodiment.

[0025] FIG. 9 is a flowchart of a method for generating a request for data processing, according to one embodiment.

[0026] FIG. 10 is a flowchart of a method for determining a first external electronic device and a second external electronic device according to one embodiment.

[0027] Hereinafter, various embodiments of the present disclosure will be described with reference to the attached drawings. However, this is not intended to limit the present disclosure to specific embodiments, and it should be understood that the present disclosure encompasses various modifications, equivalents, and / or alternatives of the embodiments.

[0028] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment.

[0029] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to an embodiment. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with the electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (104) or the server (108) via a second network (199) (e.g., a long-range wireless communication network). According to an embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).

[0030] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor (123) (e.g., a graphics processing unit (GPU), a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (121). For example, when the electronic device (101) includes the main processor (121) and the auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof.

[0031] The auxiliary processor (123) may control at least a part of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.

[0032] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).

[0033] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).

[0034] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

[0035] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. According to one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.

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

[0037] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).

[0038] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0039] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

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

[0041] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

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

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

[0044] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0045] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).

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

[0047] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the at least one selected antenna. According to some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).

[0048] In one embodiment, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.

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

[0050] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service on its own, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In one embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

[0051] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments disclosed in this document are not limited to the aforementioned devices.

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

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

[0054] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more commands stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one command among the one or more commands stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one command called. The one or more commands may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.

[0055] According to one embodiment, the method according to the various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store™) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.

[0056] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

[0057] Figure 2 is a diagram illustrating an artificial intelligence system according to one embodiment.

[0058] The artificial intelligence system (200) may include a user query / response interface (210), an AI framework (220), a knowledge component (230), an application / service component (240), and / or a generative model (250).

[0059] In the artificial intelligence system (hereinafter, “system”) (200), a user query / response interface (210) can receive input. The input can include user input and / or data acquired or generated by an electronic device (e.g., the electronic device (101) or the electronic device (301) described above). The data can include images, videos, and / or sensor data generated by at least one processor of the electronic device (e.g., at least one processor (120) or the processor (310)) (e.g., illuminance data around the electronic device acquired from a sensor or sensor hub (e.g., a coprocessor (123), posture data (or orientation data) of the electronic device, temperature inside the electronic device (e.g., temperature of the display module (160) or temperature of the at least one processor (120)), size information of a display area of ​​the display module (160), and / or images acquired through an image sensor of the electronic device (e.g., included in the camera module (180)). For example, the user input may be a type of input such as natural language, touch data obtained through a touch circuit included in the display module (160) (e.g., used to identify input from a finger and / or stylus), an image, audio, and / or video. Additionally, when the user input is transmitted, context information may also be transmitted. The context information may include various side information related to the time when the user input is input into the system (200). For example, there may be application information currently being used by the user or location information of the user.Additionally, user input may be a mixed type of input, including natural language, images, audio, video, and / or contextual information, as described above. Furthermore, user input may include non-natural language input, such as selecting a menu.

[0060] The user query / response interface (210) can provide the user with output from the generative artificial intelligence system. The output may include results (or result information) generated or obtained by the system (200), at least in part based on the input. The output may include a natural language-based response and / or specific content. The output may also include an action requested by the user. For example, the output may be formatted according to the user settings of the electronic device.

[0061] The AI ​​framework (220) can receive user input. Based on the user input (e.g., the user's query), the AI ​​framework (220) can coordinate and control one or more components necessary to perform an action corresponding to the user's intent.

[0062] User input received from the user query / response interface (210) can be transmitted to a prompt design component (221). The prompt design component (221) can be used to generate a prompt suitable as an input to a generative model (e.g., LLM, LVM (large vision model), and / or LMM (large multimodal model)) based on the user input.

[0063] The prompt design component (221) may be an AI component that uses a machine learning algorithm or a neural network. The prompt design component (221) may generate improved prompts through learning over time. The prompt design component (221) may access a knowledge repository (230) to generate prompts based on user input. The knowledge repository (230) may include user preference data, a prompt library, and / or prompt examples. The prompt design component (223) may provide the generated prompts to a generative model (e.g., LLM, LVM, and / or LMM).

[0064] The APIs / Plugins management component (223) can communicate with an external information source based on a request for additional information when user input is transmitted to the generative model (250).

[0065] The APIs / Plugins management component (223) can establish a communication channel for communication with the outside of the system (200) via APIs. The APIs / Plugins management component (223) can enable access to various data sources via the communication channel. For example, the APIs / Plugins management component (223) can be used to request other components (e.g., application / service components (240)) that perform feedback (or response) according to a prompt. The acquired information can be used to generate a prompt by the prompt design component (221) together with user input, or can be used as input to the generative model (250).

[0066] The APIs / Plugins management component (223) can request a final action via an API when a final action in response to user input, rather than an intermediate action, must be performed by an application or service.

[0067] The refiner component (225) can at least partially tune (or adjust) (or change) the results (e.g., content) obtained (or output) from the generative model (250). For example, the refiner component (225) can determine the relevance (e.g., score) between the output (e.g., content) of the generative model and the user input. For example, the refiner component (225) can determine whether the output contains biased information (e.g., selective information). For example, the refiner component (225) can determine whether the output contains harmful information (e.g., violent content or profanity).

[0068] The refinement component (225) can determine the degree of matching (e.g., score) between the output of the generative model (250) and the user input (e.g., the intent of the user input). If the refinement component (225) determines that the output of the generative model (250) does not correspond to the user input, the refinement component (225) can modify the output so that it corresponds to the user input.

[0069] The refinement component (225) can provide hints (e.g., hints for prompt generation) to the user so that the user can obtain information that matches the user's intention from the generative model (250).

[0070] A generative model (250) may refer to an artificial intelligence neural network that generates new data (e.g., text, images, audio, or video) based on user input (e.g., user utterances). The generative model (250) may include an image generation model and / or a language generation model.

[0071] Image generation models may include generative adversarial networks (GANs) and / or variational autoencoders (VAEs). An example of an image generation model is a diffusion-based generative model with a VAE and transformer architecture.

[0072] A language generation model (e.g., ChatGPT) can be a model trained to generate statistically most appropriate output based on input. A language generation model can include an LLM. An LLM can identify various types of input, such as text, images, audio (e.g., speech), and / or video, and generate new data corresponding to the input.

[0073] In one embodiment, the AI ​​framework (220) and / or the generative model (250) may be included within an AI module (e.g., including a processing circuit) within the electronic device. For example, the AI ​​module may be operatively coupled with at least one processor (e.g., at least one processor (120) or processor (310)) of the electronic device. For example, the AI ​​module may be operatively coupled with a sensor hub of the electronic device for one or more sensors within the electronic device.

[0074] Figure 3 is a configuration diagram of an artificial intelligence system according to one embodiment.

[0075] According to one embodiment, an artificial intelligence system (300) (hereinafter, system) may include an electronic device (301) (e.g., electronic device (101) of FIG. 1). The electronic device (301) may be a device such as a mobile terminal (e.g., a smartphone, a tablet, a laptop, a wearable device) or a fixed terminal (e.g., a personal computer (PC), a refrigerator, a television).

[0076] According to one embodiment, the electronic device (301) may include at least some of the components of the electronic device (101) of FIG. 1. The electronic device (301) may include a processor (310) including processing circuitry (e.g., processor (120) of FIG. 1). The processor (310) may include at least one processor. The electronic device (301) may include a memory (320) including one or more storage media for storing instructions (e.g., memory (130) of FIG. 1).

[0077] In the system (300), the electronic device (301) can perform a requested AI function (e.g., image generation) using an artificial intelligence model (330). The artificial intelligence model (330) can include at least one of an LLM, an LVM, or a multi-modal model (e.g., a large vision language model (LVLM)). For example, the artificial intelligence model (330) can include a generative model (250) of FIG. 2, such as a natural language generation model and an image generation model.

[0078] According to one embodiment, the system (300) may further include an external electronic device (340). The external electronic device (340) (e.g., the server (108) of FIG. 1) or the external electronic device (e.g., the electronic device (102) or the electronic device (104) of FIG. 1) may include (or store) an artificial intelligence model (330). The artificial intelligence model (330) may be embedded (or installed or deployed) in the external electronic device (340). The electronic device (301) may offload at least a portion of the performance of tasks associated with AI functions (e.g., image generation) generated by the electronic device (301) to the external electronic device (340). The external electronic device (340) may use the artificial intelligence model (330) to perform at least a portion of the tasks associated with AI functions generated by the electronic device (301). An external electronic device (340) can transmit the results of a task (or part of a task) performed using an artificial intelligence model (330) to an electronic device (301). The electronic device (301) can receive the results of a task associated with an AI function from the external electronic device (340). The electronic device (301) can perform an AI function based on the results of the task received from the external electronic device (340).

[0079] In the system (300), the method by which the electronic device (301) performs the AI ​​function is not limited to the illustrated example. According to one embodiment, the electronic device (301) may include (or store) an artificial intelligence model (330). The artificial intelligence model (330) may be built into (or installed or distributed) the electronic device (301). The electronic device (301) may perform the AI ​​function by on-device artificial intelligence computing using the artificial intelligence model (330) included in the electronic device (301). The electronic device (301) may perform the AI ​​function using the artificial intelligence model (330). For example, the artificial intelligence model (330) may be stored in the memory (320).

[0080] According to one embodiment, the system (300) may be a system based on the artificial intelligence system (200) of FIG. 2. The system (300) may include at least some components of the artificial intelligence system (200). For example, the electronic device (301) may be implemented as a user query / response interface (210).

[0081] In the system (300), the electronic device (301) can obtain data such as images, audio, video, voice, text, call records, messages, web page visit records, notes, or sensor information. The electronic device (301) can obtain data based on user input such as taking pictures, recording, typing, drawing, or operating an application. The electronic device (301) can receive data from an external server (e.g., server (108) of FIG. 1) or an external electronic device (e.g., electronic device (102) or electronic device (104) of FIG. 1, or external electronic device (302)).

[0082] An electronic device (301) can receive (or acquire) user input for the electronic device (301). The user input may include voice data corresponding to a user's speech, text data by a user's typing, or touch input data for icons, buttons, images, text, or various indicators acquired through a display of the electronic device.

[0083] The electronic device (301) can generate a prompt based at least in part on user input to the electronic device (301). The prompt can include natural language, text, photos, videos, audio, or any combination thereof. In one embodiment, the electronic device (301) can generate a prompt according to a predetermined template based at least in part on user input. In one embodiment, the electronic device (301) can generate a prompt based at least on user input using an artificial intelligence model (330).

[0084] The artificial intelligence model (330) can generate output data based on a prompt. The output data may be a multimedia file containing elements such as text, images (e.g., photos, videos), or graphics. The types and meaning of the output data generated by the artificial intelligence model (330) are not limited to the examples described, and for example, the artificial intelligence model (330) can classify images or output selected images based on a prompt containing instructions (or commands) composed of text and images.

[0085] FIG. 4 illustrates a group of electronic devices according to one embodiment.

[0086] When the server (420) performs data processing for an AI function requested by an electronic device (411) through LLM, a problem may arise in which the server (420) stores or learns information about the user of the electronic device (411). Additionally, a problem may arise in which the AI ​​function can only be used when the electronic device (411) can access the Internet.

[0087] When an electronic device (411) performs data processing for AI functions using an SLM mounted on the electronic device (411), the likelihood of obtaining the desired results may be lower than when performing data processing using an LLM. For example, electronic devices such as smartphones can perform relatively more limited LM operations than electronic devices such as PCs due to limitations in computing power as well as the power required for LM operations. For example, electronic devices such as XR (extended reality) devices, which require a large amount of basic operations, are worn by the user, and thus may cause discomfort to the user if heat is generated due to additional LM operations.

[0088] According to one embodiment, in a situation where an electronic device (411) performs data processing for an AI function using an on-device AI model, a method of distributing data processing using a group of electronic devices (410) associated with the electronic device (411) to increase computing power may be considered. For example, an external electronic device included in the group of electronic devices (410) associated with the electronic device (411) may be a device registered to be located around the electronic device (411) and capable of short-range wireless communication with the electronic device. For example, an external electronic device included in the group of electronic devices (410) associated with the electronic device (411) may be a device registered to a user account registered for a user of the electronic device (411) managed by a server. Since the purpose of existing resource selection-related algorithms is data processing using electronic devices connected through a wired network, such as grid computing, the current status, such as the heat generation status and spare power of individual electronic devices, is not taken into account. Below, a method of performing a requested AI function for an electronic device (411) using external electronic devices within a group of electronic devices (410) connected to the electronic device (411) wirelessly as well as wiredly is described in detail.

[0089] According to one embodiment, the electronic device group (410) may include an electronic device (411), a first external electronic device (412), a second external electronic device (413), a third external electronic device (414), and a fourth external electronic device (415). The external electronic devices (412 to 415) within the electronic device group (410) may be devices associated with the electronic device (411). Although the electronic device (411) is illustrated as an XR device (e.g., a glasses-type wearable device), the type of the electronic device (411) is not limited to the illustrated embodiment. Although the first external electronic device (412) is illustrated as a smartphone, the second external electronic device (413) is illustrated as a tablet, the third external electronic device (414) is illustrated as a refrigerator, and the fourth external electronic device (415) is illustrated as a PC, the type of the external electronic devices is not limited to the illustrated embodiment. For example, the external electronic device may be a vehicle.

[0090] According to one embodiment, at least one of the external electronic devices (412 to 415) may be an electronic device connected to the electronic device (411) via short-range wireless communication. For example, the short-range wireless communication may be based on any one of WiFi direct, Bluetooth, BLE (Bluetooth low energy), and UWB (Ultra-wideband).

[0091] According to one embodiment, at least one of the external electronic devices (412 to 415) may be an electronic device connected to the electronic device (411) via the server (420). For example, the electronic device (411) and the fourth external electronic device (415) may be devices logged in with the same user account managed by the server (420). The electronic device (411), the server (420), and the fourth external electronic device (415) may be directly or indirectly connected to each other via the Internet.

[0092] According to one embodiment, at least one of the external electronic devices (412 to 415) may be an electronic device registered in the contact list of the electronic device (411). For example, the first external electronic device (412) and the electronic device (411) may be devices registered with each other as a family group.

[0093] Each of the electronic devices within the electronic device group (410) can transmit and receive data with other electronic devices within the electronic device group (410) while powered on or operating in standby mode.

[0094] A method of performing an AI function requested for an electronic device (411) by using external electronic devices within an electronic device group (410) connected to an electronic device (411) is described in detail with reference to FIGS. 5 to 10 below.

[0095] FIG. 5 is a flowchart of a method for transmitting idle computing power information to an external electronic device according to one embodiment.

[0096] The operations 510 to 550 below may be performed by an electronic device (e.g., the electronic device (101) of FIG. 1, the electronic device (301) of FIG. 3, the electronic device (411) of FIG. 4, or the first external electronic device (412) of FIG. 4). For example, the electronic device may include at least one processor (e.g., the processor (120) of FIG. 1 or the processor (310) of FIG. 3) and a memory (e.g., the memory (130) of FIG. 1 or the memory (320) of FIG. 3).

[0097] According to one embodiment, the electronic device may determine whether at least one processor of the electronic device is capable of processing data for performing an AI function, and if the electronic device is determined to be capable of processing data for performing an AI function, the following operation 510 may be performed. For example, if the at least one processor of the electronic device includes at least one of a GPU and an NPU, the electronic device may be determined to be capable of processing data for performing an AI function.

[0098] In operation 510, the electronic device may determine whether the current state of the electronic device is a first state based on at least one of a usage rate and a charge state of at least one processor of the electronic device. For example, the at least one processor may include at least one of a CPU, an AP, a GPU, and an NPU. For example, the first state may be an idle state.

[0099] In one embodiment, the electronic device may determine that the current state is the first state if the utilization of at least one processor is less than a first utilization rate (or occupancy rate). For example, the first utilization rate may be 10%.

[0100] In one embodiment, the electronic device may determine that the current state is the first state when the electronic device is charging. For example, the electronic device may determine that the current state is the first state when the electronic device is charging at a current value greater than or equal to the first current value.

[0101] In one embodiment, the electronic device may determine that the current state is the first state when the utilization of at least one processor is less than the first utilization and is charging.

[0102] In operation 520, the electronic device may generate a first idle computing power table for at least one processor when the current state is a first state. The first idle computing power table may include information about a data processing speed and a current consumption for each of one or more operating frequencies. For example, the first idle computing power table may include a first operating frequency, a first data processing speed for the first operating frequency, and a first current consumption for the first operating frequency. For example, the first idle computing power table may include a second operating frequency, a second data processing speed for the second operating frequency, and a second current consumption for the second operating frequency.

[0103] According to one embodiment, the electronic device may determine one or more operating frequencies for at least one processor. For example, if at least one processor includes a GPU and an NPU, one or more operating frequencies for the GPU and one or more operating frequencies for the NPU may be determined. For example, one or more operating frequencies for at least one processor may be determined as shown in [Table 1] below.

[0104] GPU Operating Frequency (KHz)NPU Operating Frequency (KHz)10950001300000100000012000009000001066000800000935000700000800000650000664000600000533000545000332000500000166000450000-400000-350000-315000-252000-

[0105] According to one embodiment, the electronic device can calculate the data processing speed and the power consumption for the operating frequency of at least one processor while changing the operating frequency. For example, when a plurality of processors (e.g., a GPU and an NPU) are used simultaneously, the first operating frequency may include the first operating frequency of the GPU (e.g., 252000 KHz) and the first operating frequency of the NPU (e.g., 166000 KHz), and the second operating frequency may include the first operating frequency of the GPU (e.g., 252000 KHz) and the second operating frequency of the NPU (e.g., 332000 KHz). The electronic device can calculate the data processing speed and the power consumption for the operating frequency while increasing (or decreasing) the operating frequency of the GPU or the NPU by one step.

[0106] According to one embodiment, the electronic device can calculate the data processing speed and power consumption for the operating frequency of each processor (e.g., GPU or NPU), even if at least one processor includes multiple processors.

[0107] According to one embodiment, an electronic device can calculate a data processing speed and power consumption for a determined operating frequency by performing a set micro-batch operation using the determined operating frequency. The size of the standardized micro-batch can be predetermined so that a standardized data processing speed can be calculated for various electronic devices. For example, the data processing speed can be calculated in units of TFLOPs (tera floating point operations per second). TFLOPs represents computing power capable of performing one trillion floating point operations per second.

[0108] In one embodiment, the electronic device may calculate the power consumed for performing a set micro-batch operation using a determined operating frequency. For example, the electronic device may calculate the power consumption based on the difference between the remaining battery capacity before performing the micro-batch operation and the remaining battery capacity after performing the micro-batch operation. For example, the power consumption may be expressed as a power-to-weight ratio.

[0109] For example, at least a portion of the first idle computing power table, such as [Table 2] below, may be generated for the NPU.

[0110] NPU Operating Frequency (MHz) Data Processing Speed ​​(TFLOPs) Power Consumption (W) 1000 4.46 5.800 3.64 600 2.72 5.400 1.91 5.200 1.01

[0111] According to one embodiment, before performing operation 520, the electronic device may output a message to the user limiting the use of the electronic device. While performing operation 520, at least one processor of the electronic device may be used to generate a first idle computing power table, and thus the user's request may not be processed or the processing speed may be slow. Since the resources of at least one processor must be used to process the user's request while performing operation 520, the data processing speed and power consumption for the exact corresponding operating frequency may not be calculated. In operation 530, the electronic device may determine whether the current point in time corresponds to a set first point in time. For example, the first point in time may be a point in time when a preset operation cycle has arrived. For example, the electronic device may use a timer to determine whether the preset operation cycle has arrived. For example, the operation cycle may be 10 seconds.

[0112] In operation 540, if the current time corresponds to the first time, the electronic device may determine a second state as the current state of the electronic device. For example, the electronic device may determine the second state based on the current usage rate of at least one processor. For example, the electronic device may determine the second state based on the state of the battery (e.g., the remaining capacity or charging state). For example, the electronic device may determine the second state based on the current usage rate of one processor and the remaining capacity of the battery.

[0113] In operation 550, the electronic device may transmit first idle computing power information corresponding to the second state among the information in the first idle computing power table to an external electronic device (e.g., the electronic device (102) of FIG. 1, the server (108) of FIG. 1, the first external electronic device (412) of FIG. 4, or the server (420) of FIG. 4).

[0114] According to one embodiment, the electronic device may determine at least one of a maximum operating frequency and a maximum power consumption of at least one processor available in the second state. Based on at least one of the determined maximum operating frequency and maximum power consumption, the electronic device may determine first idle computing power information corresponding to the second state from among information in the first idle computing power table. For example, if there is a limit to the power consumption that the electronic device can additionally use, idle computing power information corresponding to the limited power consumption may be determined as the first idle computing power information. For example, if there is no limit to the power consumption that the electronic device can additionally use, idle computing power information indicating a maximum data processing speed among available operating frequencies may be determined as the first idle computing power information.

[0115] In one embodiment, the electronic device may transmit first idle computing information to an external electronic device via short-range wireless communication. For example, the electronic device may generate a payload of a data packet for short-range wireless communication to include the first idle computing information. The first idle computing information may be transmitted (or broadcast) to one or more external electronic devices in a group of electronic devices associated with the electronic device. The external electronic device may update idle computing power information for the group of electronic devices based on the first idle computing information.

[0116] In one embodiment, the electronic device may transmit first idle computing information to an external electronic device (e.g., a server) via the Internet. The server may transmit the received first idle computing information to one or more external electronic devices in a group of electronic devices associated with the electronic device.

[0117] FIG. 6 is a flowchart of a method for generating an idle computing power table according to one embodiment.

[0118] According to one embodiment, operations 610 to 630 below may be related to operation 520 described above with reference to FIG. 5. For example, operation 520 may include operations 610 to 630. Operations 610 to 630 may be performed by an electronic device (e.g., the electronic device (101) of FIG. 1 , the electronic device (301) of FIG. 3 , the electronic device (411) of FIG. 4 , or the first external electronic device (412) of FIG. 4 ). For example, the electronic device may include at least one processor (e.g., the processor (120) of FIG. 1 or the processor (310) of FIG. 3 ) and a memory (e.g., the memory (130) of FIG. 1 or the memory (320) of FIG. 3 ).

[0119] In operation 610, the electronic device may generate first idle computing power information by calculating a first data processing speed and a first current consumption for a first operating frequency of at least one processor of the electronic device. If the at least one processor includes a GPU and an NPU, the first operating frequency may include a first GPU operating frequency and a first NPU operating frequency. The first data processing speed may be an amount of data per reference time that is processed simultaneously using the first GPU operating frequency and the first NPU operating frequency.

[0120] In operation 620, the electronic device may generate second idle computing power information by calculating a second data processing speed and a second current consumption for a second operating frequency of at least one processor of the electronic device. If the at least one processor includes a GPU and an NPU, the second operating frequency may include a second GPU operating frequency and a second NPU operating frequency.

[0121] The second GPU operating frequency may be the same as or different from the first GPU operating frequency, and the second NPU operating frequency may be the same as or different from the first NPU operating frequency. However, when the second GPU operating frequency is the same as the first GPU operating frequency, the second NPU operating frequency may be different from the first NPU operating frequency, and when the second NPU operating frequency is the same as the first NPU operating frequency, the second GPU operating frequency may be different from the first GPU operating frequency. The second data processing speed may be the amount of data per reference time that is processed using the second GPU operating frequency and the second NPU operating frequency simultaneously.

[0122] In operation 630, the electronic device can generate a first idle computing power table based on the first idle computing power information and the second idle computing power information.

[0123] FIG. 7 is a flowchart of a method for transmitting a first result generated based on a request for data processing received from an external electronic device to an external electronic device, according to one embodiment.

[0124] According to one embodiment, operations 710 to 730 below may be performed after operation 550 described above with reference to FIG. 5 is performed.

[0125] Actions 710 to 730 may be performed by an electronic device (e.g., the electronic device (101) of FIG. 1, the electronic device (301) of FIG. 3, the electronic device (411) of FIG. 4, or the first external electronic device (412) of FIG. 4). For example, the electronic device may include at least one processor (e.g., the processor (120) of FIG. 1 or the processor (310) of FIG. 3) and a memory (e.g., the memory (130) of FIG. 1 or the memory (320) of FIG. 3).

[0126] In operation 710, the electronic device may receive a request for processing at least a portion of data for performing a function (e.g., a first data processing request) from an external electronic device (e.g., the electronic device 102 of FIG. 1 , the first external electronic device 412 of FIG. 4 , the second external electronic device 413, the third external electronic device 414, or the fourth external electronic device 415 of FIG. 4 ). The function for which at least a portion of data processing is requested, received by the electronic device from the external electronic device, may be a function requiring high computing power. The function may be a function capable of distributed processing of data across multiple electronic devices. For example, the function may be an AI function (e.g., image generation or processing), and is not limited to the described embodiments. For example, the request for data processing may include a first prompt associated with the function. For example, the request for data processing may include the most recent idle computing power information transmitted by the external electronic device to the electronic device (e.g., the first idle computing power information described above with reference to operation 550 of FIG. 5 ).

[0127] In operation 720, the electronic device may perform data processing based on the first idle computing power information to generate a first result. For example, if the function is image processing, the first result may be a processed image.

[0128] At operation 730, the electronic device can transmit the first result to an external electronic device.

[0129] FIG. 8 is a flowchart of a method for performing a function based on idle computing power information for a group of electronic devices associated with an electronic device, according to one embodiment.

[0130] Actions 810 to 860 may be performed by an electronic device (e.g., the electronic device (101) of FIG. 1, the electronic device (301) of FIG. 3, the electronic device (411) of FIG. 4, or the first external electronic device (412) of FIG. 4). For example, the electronic device may include at least one processor (e.g., the processor (120) of FIG. 1 or the processor (310) of FIG. 3) and a memory (e.g., the memory (130) of FIG. 1 or the memory (320) of FIG. 3).

[0131] In operation 810, the electronic device may periodically obtain idle computing power information from a group of electronic devices (e.g., the group of electronic devices (410) of FIG. 4). For example, the group of electronic devices may include an electronic device (e.g., the electronic device (411) of FIG. 4) and one or more external electronic devices (e.g., the first external electronic device (412) to the fourth external electronic device (415) of FIG. 4). The electronic device may receive first idle computing power information from each of the one or more external electronic devices of the group of electronic devices, and manage the received first idle computing power information as idle computing power information for the group of electronic devices. For example, the electronic device may periodically receive the first idle computing power information from the first external electronic device, and manage the idle computing power information for the group of electronic devices based on the most recently received first idle computing power information.

[0132] The first idle computing power information may be determined by the first external electronic device based on the current state of the first external electronic device. For example, the current state of the first external electronic device may include at least one of a usage rate and a charging state of at least one processor of the first external electronic device.

[0133] According to one embodiment, the electronic device can receive first idle computing power information from a first external electronic device via short-range wireless communication.

[0134] In one embodiment, the electronic device may receive first idle computing power information from a first external electronic device via a server. For example, the electronic device and the first external electronic device may be logged in with the same user account managed by the server.

[0135] According to one embodiment, the electronic device may request transmission of first idle computing power information to a first external electronic device, and receive the first idle computing power information from the first external electronic device in response to the request.

[0136] According to one embodiment, the electronic device may periodically receive first idle computing power information broadcast by the first external electronic device by scanning channels in frequency bands used by the first external electronic device. For example, the frequency bands used by the first external electronic device may include the 2.4 GHz, 5 GHz, and 6 GHz bands, but are not limited to the described embodiment.

[0137] In operation 820, the electronic device may receive a command to perform a function requiring distributed processing of data. For example, the electronic device may receive a command to perform the function from a user via a user interface (e.g., a touch sensor). For example, the function may be an AI function (e.g., image generation or processing), and is not limited to the described embodiments.

[0138] In operation 830, the electronic device may determine a first external electronic device from among a group of electronic devices based on idle computing power information. For example, the electronic device may determine an external electronic device exhibiting the highest data processing speed among a plurality of external electronic devices as the first external electronic device.

[0139] According to one embodiment, the electronic device can parallelize or sequence data processing for a function, and can determine a first external electronic device and a second external electronic device for parallelized or sequenced data processing. A method for determining the first external electronic device and the second external electronic device is described in detail below with reference to FIG. 10.

[0140] In one embodiment, the method for determining which of multiple external electronic devices will utilize the most resources for a function may vary depending on the policy governing the operation of the electronic devices. For example, the weights used in the above method may be learned in advance.

[0141] According to one embodiment, the electronic device determines whether data processing for a function should be performed through an external electronic device based on a current state of the electronic device, and if it is determined that data processing for the function should be performed through the external electronic device, the electronic device may determine a first external electronic device in the electronic device group based on idle computing power information for the electronic device group. For example, if the currently available computing power of the electronic device is lower than a set threshold power, it may be determined that data processing for the function should be performed through the external electronic device. For example, if the temperature of the electronic device is higher than a set threshold temperature, it may be determined that data processing for the function should be performed through the external electronic device.

[0142] In operation 840, the electronic device may transmit a first data processing request for performing a function to a first external electronic device. For example, the data processing request may include a first prompt associated with the function. For example, the first data processing request may include the most recent idle computing power information transmitted by the first external electronic device to the electronic device (e.g., the first idle computing power information described above with reference to operation 550 of FIG. 5 ).

[0143] In operation 850, the electronic device may receive a first result for first data processing from a first external electronic device. The external electronic device may perform the first data processing based on the first idle computing power information to generate the first result. For example, if the function is image processing, the first result may be a processed image.

[0144] According to one embodiment, when an electronic device requests data processing from a plurality of external electronic devices, the electronic device can receive first results from the plurality of external electronic devices.

[0145] In operation 860, the electronic device may perform a function based on the first result and the second result of the second data processing for the function performed by the electronic device. For example, the electronic device may perform an AI function for image generation as a function by outputting the generated image.

[0146] In one embodiment, the electronic device may perform a function by generating a second result based on a first result. For example, the electronic device may receive a first image as a first result from a first external electronic device, and generate a second image based on the first image, thereby generating a second image as a second result.

[0147] In one embodiment, when an electronic device receives first results from a plurality of external electronic devices, the electronic device can perform a function based on the first results.

[0148] FIG. 9 is a flowchart of a method for generating a request for data processing, according to one embodiment.

[0149] According to one embodiment, operations 910 and 920 below may be related to operation 840 described above with reference to FIG. 8. For example, operation 840 may include operations 910 and 920. Operations 910 and 920 may be performed by an electronic device (e.g., the electronic device (101) of FIG. 1 , the electronic device (301) of FIG. 3 , the electronic device (411) of FIG. 4 , or the first external electronic device (412) of FIG. 4 ). For example, the electronic device may include at least one processor (e.g., the processor (120) of FIG. 1 or the processor (310) of FIG. 3 ) and a memory (e.g., the memory (130) of FIG. 1 or the memory (320) of FIG. 3 ).

[0150] In operation 910, the electronic device may obtain a first prompt associated with a function. For example, the electronic device may receive the first prompt from a user via a user interface. For example, the electronic device may generate the first prompt based on user input received from the user via the user interface. The electronic device may generate the prompt using a prompt design component (e.g., the prompt design component (221) of FIG. 2 ).

[0151] In operation 920, the electronic device may generate a request for first data processing including a first prompt. The electronic device may transmit the request for first data processing including the first prompt to a first external electronic device. The first external electronic device may generate a first result using the first prompt included in the request for first data processing.

[0152] FIG. 10 is a flowchart of a method for determining a first external electronic device and a second external electronic device according to one embodiment.

[0153] According to one embodiment, operations 1010 and 1020 below may be related to operation 830 described above with reference to FIG. 8. For example, operation 830 may include operations 1010 and 1020. Operations 1010 and 1020 may be performed by an electronic device (e.g., the electronic device (101) of FIG. 1 , the electronic device (301) of FIG. 3 , the electronic device (411) of FIG. 4 , or the first external electronic device (412) of FIG. 4 ). For example, the electronic device may include at least one processor (e.g., the processor (120) of FIG. 1 or the processor (310) of FIG. 3 ) and a memory (e.g., the memory (130) of FIG. 1 or the memory (320) of FIG. 3 ).

[0154] In operation 1010, the electronic device can determine candidate external electronic devices capable of processing data for a function among a group of electronic devices based on idle computing power information.

[0155] According to one embodiment, if data processing for a requested function is possible in a distributed manner, the electronic device can determine candidate external electronic devices capable of processing the data among a group of electronic devices based on idle computing power information.

[0156] In operation 1020, the electronic device can determine a first external electronic device and a second external electronic device based on the candidate external electronic devices.

[0157] In one embodiment, when the requested function is a function of changing an object in an image into another object, the electronic device may determine a candidate external electronic device capable of performing data processing to delete an object in an image as a first data processing as the first external electronic device, and may determine a candidate external electronic device capable of performing data processing to create a new object in the image as a second data processing as the second external electronic device. The electronic device may receive results of the data processing from each of the first external electronic device and the second external electronic device, and may change the object in the image into another object using the received results.

[0158] In one embodiment, when the requested function is a function for detecting an object within an image, the electronic device may determine candidate external electronic devices capable of processing data for detecting an object within an image as a first external electronic device and a second external electronic device. In addition to the first external electronic device and the second external electronic device, additional external electronic devices may be determined. The electronic device may receive results for object detection from each of the first external electronic device and the second external electronic device, and may detect an object within an image using the received results.

[0159] The technical problems to be achieved in the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by a person having ordinary knowledge in the technical field to which the present disclosure pertains.

[0160] According to one embodiment, an electronic device (101; 301; 411) includes at least one processor (120; 310) including a processing circuit, and a memory (130; 320) including one or more storage media storing instructions, and when the instructions are individually or collectively executed by the at least one processor (120; 310), the electronic device (101; 301; 411) causes: periodically obtain idle computing power information from a group of electronic devices (410), and when an execution command for a function requiring data distribution processing is received, determine a first external electronic device (102; 412) among the group of electronic devices (410) based on the idle computing power information, transmit a request for first data processing for performing the function to the first external electronic device (102; 412), receive a first result for the first data processing from the first external electronic device (102; 412), and perform the first result and the electronic A function may be performed based on a second result of second data processing for a function performed by the device (101; 301; 411).

[0161] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may: receive first idle computing power information from a first external electronic device (102; 412).

[0162] According to one embodiment, the first idle computing power information may be determined by the first external electronic device (102; 412) based on the current state of the first external electronic device (102; 412).

[0163] According to one embodiment, the current state may include at least one of a usage rate and a charge state of at least one processor (120; 310) of the first external electronic device (102; 412).

[0164] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may: request transmission of first idle computing power information to a first external electronic device (102; 412), and receive first idle computing power information from the first external electronic device (102; 412) in response to the request.

[0165] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may be caused to: periodically receive first idle computing power information broadcast by the first external electronic device (102; 412) by scanning channels of frequency bands used by the first external electronic device (102; 412).

[0166] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may: receive first idle computing power information from a first external electronic device (102; 412) via short-range wireless communication.

[0167] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may: receive first idle computing power information from a first external electronic device (102; 412) via a server (108; 420).

[0168] According to one embodiment, the electronic device (101; 301; 411) and the first external electronic device (102; 412) can be logged in with the same user account managed by the server (108; 420).

[0169] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may: obtain a first prompt associated with a function, and generate a request for first data processing to include the first prompt.

[0170] In one embodiment, the idle computing power information may include a data processing speed of each external electronic device within the group of electronic devices.

[0171] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may be caused to: determine candidate external electronic devices capable of processing data for a function among a group of electronic devices (410) based on idle computing power information, and determine a first external electronic device (102; 412) and a second external electronic device based on the candidate external electronic devices.

[0172] According to one embodiment, a method performed by an electronic device (101; 301; 411) may include an operation (810) of periodically obtaining idle computing power information from a group of electronic devices (410), an operation (830) of determining a first external electronic device (102; 412) from among the group of electronic devices based on the idle computing power information when a command to perform a function requiring data distribution processing is received, an operation (840) of transmitting a request for first data processing for performing the function to the first external electronic device (102; 412), an operation (850) of receiving a first result for the first data processing from the first external electronic device (102; 412), and an operation (860) of performing the function based on the first result and a second result of second data processing for the function performed by the electronic device (101; 301; 411).

[0173] According to one embodiment, the operation (810) of obtaining idle computing power information for a group of electronic devices (410) may include the operation of receiving first idle computing power information from a first external electronic device (102; 412).

[0174] According to one embodiment, the first idle computing power information may be determined by the first external electronic device (102; 412) based on the current state of the first external electronic device (102; 412).

[0175] According to one embodiment, an electronic device (101; 301; 411) includes at least one processor (120; 310) including a processing circuit, and a memory (130; 320) including one or more storage media storing instructions, and when the instructions are individually or collectively executed by the at least one processor (120; 310), causes the electronic device (101; 301; 411) to: determine whether a current state of the electronic device (101; 301; 411) is a first state based on at least one of a usage rate and a charging state of the at least one processor (120; 310) of the electronic device (101; 301; 411), and if the current state is the first state, generate a first idle computing power table for the at least one processor (120; 310), and if the current point in time corresponds to the first point in time, determine a second state as the current state, and generate a second state among the information in the first idle computing power table. The first idle computing power information corresponding to the second state can be transmitted to an external electronic device (102; 108; 412; 413; 414; 415; 420).

[0176] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may be caused to: determine that the current state is the first state when the utilization of at least one processor (120; 310) is less than the first utilization and the electronic device (101; 301; 411) is charging.

[0177] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may be caused to: generate first idle computing power information by calculating a first data processing speed and a first current consumption for a first operating frequency of at least one processor (120; 310) of the electronic device (101; 301; 411), generate second idle computing power information by calculating a second data processing speed and a second current consumption for a second operating frequency of at least one processor (120; 310) of the electronic device (101; 301; 411), and generate a first idle computing power table based on the first idle computing power information and the second idle computing power information.

[0178] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may be configured to: receive a request for first data processing for performing a function from an external electronic device (102; 108; 412; 413; 414; 415; 420), perform the first data processing based on the first idle computing power information to generate a first result, and transmit the first result to the external electronic device (102; 108; 412; 413; 414; 415; 420).

[0179] According to one embodiment, when the instructions are individually or collectively executed by at least one processor (120; 310), the electronic device (101; 301; 411) may: transmit first idle computing power information to an external electronic device (102; 108; 412; 413; 414; 415; 420) via short-range wireless communication.

[0180] The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects that are not mentioned will be clearly understood by a person having ordinary skill in the art to which the present disclosure pertains.

[0181] The embodiments described above may be implemented using hardware components, software components, and / or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing instructions and responding to them. The processing device may execute an operating system (OS) and software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing device is sometimes described as being used alone; however, one of ordinary skill in the art will recognize that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, a processing unit may include multiple processors, or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.

[0182] Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may, independently or collectively, command the processing device. The software and / or data may be permanently or temporarily embodied in any type of machine, component, physical device, virtual equipment, computer storage medium or device, or transmitted signal wave, for interpretation by the processing device or for providing instructions or data to the processing device. The software may also be distributed over networked computer systems and stored or executed in a distributed manner. The software and data may be stored on a computer-readable recording medium.

[0183] The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program commands, data files, data structures, etc., alone or in combination, and the program commands recorded on the medium may be those specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program commands such as ROMs, RAMs, and flash memories. Examples of program commands include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc.

[0184] The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiment, and vice versa.

[0185] Although the embodiments described above have been described with limited drawings, those skilled in the art will appreciate that various technical modifications and variations can be applied based on the described embodiments. For example, appropriate results can still be achieved even if the described techniques are performed in a different order than described, and / or components of the described systems, structures, devices, circuits, etc. are combined or combined in a different manner than described, or are replaced or substituted with other components or equivalents.

[0186] Therefore, various implementations, various embodiments, and equivalents to the patent claims also fall within the scope of the patent claims described below.

Claims

1. Electronic devices (101; 301; 411) At least one processor (120; 310) comprising a processing circuit; and A memory (130; 320) comprising one or more storage media for storing commands, When the above instructions are individually or collectively executed by the at least one processor (120; 310), the electronic device (101; 301; 411) causes: Periodically obtain idle computing power information from the electronic device group (410), When a command to perform a function requiring distributed processing of data is received, a first external electronic device (102; 412) is determined among the electronic device group (410) based on the idle computing power information, Transmitting a request for first data processing for performing the above function to the first external electronic device (102; 412), Receive a first result for the first data processing from the first external electronic device (102; 412), Performing the function based on the first result and the second result of the second data processing for the function performed by the electronic device (101; 301; 411) To do, Electronic devices (101; 301; 411).

2. In paragraph 1, When the above instructions are individually or collectively executed by the at least one processor (120; 310), the electronic device (101; 301; 411) causes: Receive first idle computing power information from the first external electronic device (102; 412) To do, Electronic devices (101; 301; 411).

3. In paragraph 1 or 2, The first idle computing power information is determined by the first external electronic device (102; 412) based on the current status of the first external electronic device (102; 412). Electronic devices (101; 301; 411).

4. In any one of paragraphs 1 to 3, The current state includes at least one of a usage rate and a charging state of at least one processor (120; 310) of the first external electronic device (102; 412). Electronic devices (101; 301; 411).

5. In any one of paragraphs 1 to 4, When the above instructions are individually or collectively executed by the at least one processor (120; 310), the electronic device (101; 301; 411) causes: Requesting transmission of first idle computing power information to the first external electronic device (102; 412), In response to the request, the first idle computing power information is received from the first external electronic device (102; 412). To do, Electronic devices (101; 301; 411).

6. In any one of paragraphs 1 to 5, When the above instructions are individually or collectively executed by the at least one processor (120; 310), the electronic device (101; 301; 411) causes: By scanning the channels of the frequency bands used by the first external electronic device (102; 412), the first idle computing power information broadcasted by the first external electronic device (102; 412) is periodically received. To do, Electronic devices (101; 301; 411).

7. In any one of paragraphs 1 to 6, When the above instructions are individually or collectively executed by the at least one processor (120; 310), the electronic device (101; 301; 411) causes: Receive the first idle computing power information from the first external electronic device (102; 412) via short-range wireless communication. To do, Electronic devices (101; 301; 411).

8. In any one of paragraphs 1 to 7, When the above instructions are individually or collectively executed by the at least one processor (120; 310), the electronic device (101; 301; 411) causes: Receiving the first idle computing power information from the first external electronic device (102; 412) via the server (108; 420) To do, Electronic devices (101; 301; 411).

9. In any one of paragraphs 1 to 8, The electronic device (101; 301; 411) and the first external electronic device (102; 412) are logged in with the same user account managed by the server (108; 420). Electronic devices (101; 301; 411).

10. In any one of paragraphs 1 to 9, When the above instructions are individually or collectively executed by the at least one processor (120; 310), the electronic device (101; 301; 411) causes: Obtain the first prompt associated with the above function, Generate the request for the first data processing to include the first prompt. To do, Electronic devices (101; 301; 411).

11. In any one of paragraphs 1 to 10, The above idle computing power information includes the data processing speed of each external electronic device within the electronic device group. Electronic devices (101; 301; 411).

12. In any one of paragraphs 1 to 11, When the above instructions are individually or collectively executed by the at least one processor (120; 310), the electronic device (101; 301; 411) causes: Based on the above idle computing power information, candidate external electronic devices capable of processing data for the above function are determined among the group of electronic devices, Determine the first external electronic device and the second external electronic device based on the above candidate external electronic devices. To do, Electronic devices.

13. In a method performed by an electronic device (101; 301; 411) An operation (810) of periodically obtaining idle computing power information from a group of electronic devices (410); When a command to perform a function requiring distributed processing of data is received, an operation (830) of determining a first external electronic device (102; 412) among the group of electronic devices based on the idle computing power information; An operation (840) of transmitting a request for first data processing for performing the above function to the first external electronic device (102; 412); An operation (850) of receiving a first result for the first data processing from the first external electronic device (102; 412); and An operation (860) of performing the function based on the first result and the second result of the second data processing for the function performed by the electronic device (101; 301; 411) including, method.

14. In Article 13 The operation (810) of obtaining idle computing power information for the above electronic device group (410) is as follows: An operation of receiving first idle computing power information from the first external electronic device (102; 412) Including, The first idle computing power information is determined by the first external electronic device (102; 412) based on the current status of the first external electronic device (102; 412). method.

15. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform the method of claim 13 or 14.

Citation Information

Patent Citations

  • Low-power raid scheduling method for distributed storage application

    KR102197379B1

  • Distributed rendering system and method using idle resource of users

    KR102238670B1

  • Machine learning system based on distributed data processing

    KR102257039B1

  • Space improvement solution system with blockchain-based distributed storage

    KR102389139B1

  • UV curing device for polarizing plate manufacturing consisting of three steps

    KR102514364B1