Electronic apparatus and control method therefor

By allocating a temporary area with a specific ID and processing control requests in batches, the electronic device addresses the limitations of multiple REST API calls in cloud service management, enhancing efficiency and security.

WO2026127415A1PCT designated stage Publication Date: 2026-06-18SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing cloud service management systems require multiple REST API calls for each operation, limiting the ability to perform multiple operations simultaneously, which can lead to security vulnerabilities and inefficiencies.

Method used

An electronic device and method that allocates a temporary area with a specific area ID, stores control requests, and processes them in batches using a batch processing request, enabling simultaneous execution of multiple operations.

Benefits of technology

Enhances operational efficiency by allowing simultaneous execution of multiple cloud service operations, reducing security risks and improving resource management in cloud environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025018876_18062026_PF_FP_ABST
    Figure KR2025018876_18062026_PF_FP_ABST
Patent Text Reader

Abstract

According to one embodiment, an electronic apparatus comprises: a memory including one or a plurality of storage media for storing instructions; and at least one processor including processing circuitry, wherein, when executed individually or collectively by the at least one processor, the instructions can instruct the electronic apparatus to perform operations of: allocating, in response to a request from a first apparatus, a temporary area to which a specific area ID is assigned; using the specific area ID so as to store, in the temporary area to which the specific area ID is assigned, information related to a plurality of control requests provided from the first apparatus; and using the specific area ID so as to batch-process, in response to a batch processing request received from the first apparatus, the plurality of control requests on the basis of the information related to the plurality of control requests stored in the temporary area.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device and control method thereof

[0001] The present disclosure relates to an electronic device and method for providing a cloud service, and an electronic device and method for using a cloud service.

[0002] Cloud services can provide IT resources (e.g., servers, storage, networks) via wired and / or wireless communication. Users can flexibly allocate and use resources as needed without the need to directly own or manage physical hardware or software.

[0003] Operations that modify resources in the cloud (e.g., adding, removing, resizing, or changing settings) can be performed via the cloud service provider's web interface, command-line interface (CLI), or REST API (Representational State Transfer Application Programming Interface). While web interfaces and command-line interfaces use user interfaces that appear different from REST APIs, they utilize REST APIs internally. A cloud server can receive a single REST API request and perform a single operation on a single resource. To perform multiple operations, a separate REST API call is required for each operation. It is not possible to perform multiple operations simultaneously with a single REST API request.

[0004] The information described above may be provided as related art for the purpose of aiding understanding of the present disclosure. None of the foregoing is to be claimed as prior art related to the present disclosure, nor is it to be used to determine prior art.

[0005] The present disclosure relates to an electronic device and method for providing a cloud service, and an electronic device and method for using a cloud service. For example, the present disclosure provides an electronic device and method capable of processing a plurality of control requests in batches, and an electronic device and method for transmitting a plurality of control requests and a batch processing request.

[0006] According to one example, an electronic device comprises a memory including one or more storage media for storing instructions; and at least one processor including a processing circuit, wherein when the instructions are executed individually or collectively by at least one processor, the electronic device is caused to perform at least one operation, and the at least one operation may include: an operation of allocating a temporary area assigned a specific area ID in response to a request from a first device; an operation of storing information regarding a plurality of control requests provided by the first device using the specific area ID in the temporary area assigned the specific area ID; and an operation of batch processing the plurality of control requests based on the information regarding the plurality of control requests stored in the temporary area using the specific area ID in response to a batch processing request received from the first device.

[0007] According to one example, a control method for an electronic device may include: an operation of allocating a temporary area assigned a specific area ID in response to a request from a first device; an operation of storing information regarding a plurality of control requests provided by the first device using the specific area ID in the temporary area assigned the specific area ID; and an operation of processing the plurality of control requests in batches based on the information regarding the plurality of control requests stored in the temporary area using the specific area ID in response to a batch processing request received from the first device.

[0008] The effects obtainable from the exemplary embodiments of the present disclosure are not limited to those mentioned above, and other unmentioned effects can be clearly derived and understood by those skilled in the art to which the exemplary embodiments of the present disclosure belong from the description below. Unintended effects resulting from the implementation of the exemplary embodiments of the present disclosure can also be derived by those skilled in the art from the exemplary embodiments of the present disclosure.

[0009] Figure 1 is a block diagram of an electronic device according to one example.

[0010] Figure 2 is an exemplary block diagram showing the configuration of a cloud server.

[0011] Figure 3 is an exemplary block diagram showing the configuration of a cloud.

[0012] Figure 4 is an exemplary diagram illustrating the operation of an electronic device and a server.

[0013] Figure 5 is an exemplary diagram illustrating the operation of an electronic device and a server.

[0014] Figure 6 is an exemplary flowchart of the server's operation.

[0015] Figures 7a and 7b are exemplary drawings illustrating the operation of an electronic device and a cloud.

[0016] FIGS. 8a to 8g illustrate a cloud environment according to one example.

[0017] The terms used in this disclosure are used merely to describe specific embodiments and are not intended to limit the scope of other embodiments. A singular expression may include a plural expression unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as generally understood by those skilled in the art described in this disclosure. Terms used in this disclosure that are defined in a general dictionary may be interpreted as having the same or similar meaning as they have in the context of the relevant technology, and are not to be interpreted in an ideal or overly formal sense unless explicitly defined in this disclosure. In some cases, even terms defined in this disclosure are not to be interpreted to exclude the embodiments of this disclosure.

[0018] In the various embodiments of the present disclosure described below, a hardware-based approach is described as an example. However, since the various embodiments of the present disclosure include techniques using both hardware and software, the various embodiments of the present disclosure do not exclude a software-based approach.

[0019] Terms used in the following description to refer to the configuration of a device (e.g., processor, camera, display, module, communication circuit), terms for operation states (e.g., step, operation, procedure), terms for signals (e.g., signal, information, data, stream, user input, input), and terms for data (e.g., parameter, value) are exemplified for the convenience of explanation. Accordingly, the present disclosure is not limited to the terms described below, and other terms having equivalent technical meanings may be used.

[0020] Additionally, in this disclosure, expressions of "greater than" or "less than" may be used to determine whether a specific condition is satisfied or fulfilled; however, this is merely for the purpose of expressing an example and does not exclude descriptions of "greater than" or "less than." Conditions described as "greater than" may be replaced with "greater than," conditions described as "less than" may be replaced with "less than," and conditions described as "greater than and less than" may be replaced with "greater than and less than." Furthermore, "A" to "B" below refer to at least one of the elements from A (including A) to B (including B).

[0021] Figure 1 is a block diagram of an electronic device according to one example.

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

[0023] The processor (120) can control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) by executing software (e.g., a program (140)), and can perform various data processing or operations. According to one example, as at least part of the data processing or operations, the processor (120) can store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one example, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) that can operate independently or together with it (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor). For example, if the electronic device (101) includes a main processor (121) and an 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 designated function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as part thereof.

[0024] The auxiliary processor (123) may control at least some of the functions or states associated with at least one component of the electronic device (101) (e.g., display module (160), sensor module (176), or communication module (190)) 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. According to one example, the auxiliary processor (123) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (180) or communication module (190)). According to one example, the auxiliary processor (123) (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model. The artificial intelligence model may be generated through machine learning. Such learning may be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or through a separate server (e.g., server (108)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers.An artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to the hardware structure, the artificial intelligence model may include a software structure, either additionally or substantially.

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

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

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

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

[0029] The display module (160) can visually provide information to an external (e.g., 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 said device. According to one example, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of the force generated by said touch.

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

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

[0032] The interface (177) may support one or more specified protocols that can be used for the electronic device (101) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (102)). According to one example, the interface (177) may include, for example, a high definition multi-media interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0033] The connection terminal (178) may include a connector through which the electronic device (101) can be physically connected to an external electronic device (e.g., electronic device (102)). According to one example, 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).

[0034] The haptic module (179) can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that can be perceived by the user through tactile or kinesthetic senses. According to one example, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.

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

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

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

[0038] The communication module (190) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an 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 include one or more communication processors that operate independently of the processor (120) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one example, the communication module (190) may include a wireless communication module (192) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device (104) through a first network (198) (e.g., a short-range communication network such as Bluetooth, WiFi (wireless fidelity) direct, or IrDA (infrared data association)) or a second network (199) (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (196).

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

[0040] An antenna module (197) can transmit a signal or power to or from an external source (e.g., an external electronic device). According to one example, the antenna module (197) may include an antenna comprising a radiator made of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one example, 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 a first network (198) or a second network (199), may be selected from the plurality of antennas, for example, by a communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. According to some examples, in addition to the radiator, other components (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module (197).

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

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

[0043] According to one example, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) through 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 example, all or part of the operations performed on the electronic device (101) may be performed on one or more of the external electronic devices (102, 104, or 108). For example, if the electronic device (101) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (101) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (101) may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In another example, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server using machine learning and / or neural networks. According to one example, the external electronic device (104) or the server (108) may be included within 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.

[0044] The electronic devices according to the various examples disclosed in this document may be of 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 consumer electronics. The electronic devices according to the examples in this document are not limited to the devices described above.

[0045] FIG. 2 is an exemplary block diagram showing the configuration of a cloud server (200). The cloud server (200) can provide and manage resources in a cloud environment. Hereinafter, the cloud server (200) will be referred to as the server (200).

[0046] Referring to FIG. 2, a server (e.g., server (108) of FIG. 1) (200) may include or be composed of at least some of a storage device (210), a communication unit (220), or a processor (230). The configuration shown in FIG. 2 is an exemplary configuration for implementing embodiments of the present disclosure. Appropriate hardware and software configurations that are obvious to a person skilled in the art may additionally be included in the server (200).

[0047] The storage device (210) may store commands or data related to at least one other component of the server (200). The storage device (210) is accessed by the processor (230), and operations such as reading / writing / modifying / deleting / updating data by the processor (230) may be performed.

[0048] The storage device (210) may be implemented by non-volatile memory, volatile memory, flash memory, a hard disk drive (HDD), or a solid-state drive (SSD). In this disclosure, the term storage device may include memory, ROM (not shown) within the processor (230), RAM (not shown), or a memory card (not shown) mounted on the server (200) (e.g., a micro SD card, a memory stick). Additionally, the storage device (210) may be implemented as a single device, but is not limited thereto and may be implemented as a plurality of devices.

[0049] The storage device (210) may be provided inside the server (200), but may also be provided externally and electrically connected to the server (200). The storage device (210) may be provided externally and communicate with the server (200) through a wired / wireless interface (e.g., Wi-Fi, Bluetooth, LAN (Local Area Network), etc.). The processor (230) may control the communication unit (220) to transmit various types of data (e.g., data encrypted by multiple security modules, etc.) to the externally provided storage device (110-1).

[0050] The communication unit (220) includes a circuit for processing wired and / or wireless communication based on a predetermined communication protocol and can perform communication with an external device (not shown) or various devices. The communication unit (220) can transmit data stored on a cloud server from an external device. The communication unit (220) can receive data to be stored on a cloud server from an external device. The communication unit (220) can transmit and receive various data by performing communication with, for example, a storage device (210) provided outside the server (200).

[0051] The communication unit (220) may include various communication modules to perform communication with an external device or various types of devices. For example, the communication unit (220) may include a wireless communication module, and may include a cellular communication module using at least one of LTE, LTE-A (LTE Advance), 5G, CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications system), WiBro (Wireless Broadband), or GSM (Global System for Mobile Communications). However, it is not limited thereto and may include various wireless communication modules. For example, the communication unit (220) may include a wired communication module, and may include at least one of USB (universal serial bus), HDMI (high definition multimedia interface), RS-232 (recommended standard 232), power line communication, or POTS (plain old telephone service). A network in which wireless or wired communication is performed may include at least one of a telecommunication network, for example, a computer network (e.g., LAN or WAN), the Internet, or a telephone network.

[0052] The processor (230) can control the overall operation or function of the server (200) by being electrically connected to a storage device (210) provided inside the server (200) or by being connected to a storage device (210) provided outside through a communication unit (220). Although FIG. 2 shows one processor (230), this is merely one embodiment, and there may be two or more processors (230).

[0053] The processor (230) may include or be defined by one or more of a central processing unit (CPU), a Micro Controller Unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), a communication processor (CP), or an ARM™ processor that processes digital signals. The processor (230) may be implemented as a System on Chip (SoC) or Large Scale Integration (LSI) with built-in processing algorithms, or may be implemented in the form of a Field Programmable Gate Array (FPGA). The processor (230) can perform various functions by executing computer executable instructions stored in the storage device (210). In addition, the processor (230) may include at least one of a separate AI-dedicated processor such as a graphics-processing unit (GPU), a Neural Processing Unit (NPU), or a Visual Processing Unit (VPU) to perform artificial intelligence functions.

[0054] FIG. 3 is an exemplary block diagram showing the configuration of a cloud (300). For example, the cloud (300) may operate based on an infrastructure including a server (200) shown in FIG. 2.

[0055] Referring to FIG. 3, the cloud (300) may include or be composed of at least some of a public area (310), a temporary area (320), or an area manager (340). The components included in the cloud (300) may be software or firmware executed by the processor (230). The components included in the cloud (300) may be hardware modules included in the processor (230) or existing independently. The temporary area (320) may include a snapshot area (321) and / or a staging area (323). Some or all of the public area (310), the snapshot area (321), or the staging area (323) may be included in a storage device (e.g., memory (210) in FIG. 2). The area manager (340) may be included in the processor (e.g., processor (230) in FIG. 2).

[0056] The public area (310) may be an area that stores resources of the cloud. The public area (310) may be accessed by any user who has access to the cloud (300). The cloud (300) may be a public cloud that provides IT resources that can be shared and used by multiple users over the internet. The resources of the cloud (300) may be IT infrastructure and / or services provided by a cloud service provider so that they can be shared by users. Hereinafter, resources of the cloud may be referred to as resources. Resources may include at least one of computing resources, storage resources, database resources, network resources, security and identity management resources, or application resources. Computing resources may refer to resources equipped with processing capabilities provided to enable users to perform tasks in a cloud environment. Storage resources may refer to storage space for storing and managing data. Database resources may refer to a database system that supports the efficient storage, management, retrieval, and updating of data. Network resources may refer to network infrastructure that supports data transmission, connection management, or security settings in a cloud environment. Security and identity management resources can support the secure authentication and authorization management of users, applications, or services in a cloud environment. Application resources can support the deployment, execution, or management of applications in a cloud environment. Resources can be provided in a virtualized environment. Users can flexibly scale resources up or down as needed.

[0057] The snapshot area (321) may be an area that copies and stores information about resources in the public area (310). Whenever a user requests an operation on a resource in the public area (310), information regarding the operation request for that resource may be copied from the public area (310) and stored in the snapshot area (321). Operations on resources may include, for example, creating a resource, modifying a resource, and / or removing a resource. Hereinafter, operations on resources may be referred to as resource operations. Information regarding resource operation requests may be resource information necessary to process (or reflect) resource operation requests. The snapshot area (321) may be readable / writable but may not be updated. According to one example, a user may request batch processing of multiple operation requests for multiple resources. Once multiple operation requests are batch processed, the snapshot area (321) may be removed.

[0058] For example, if a user requests a change in the permission settings of a first storage resource located in a public area (310), resource information regarding the request for a change in permission settings (e.g., information of the first storage resource referenced in the permission setting change operation) may be copied from the public area (310) and stored in a snapshot area (321). The information of the first storage resource stored in the snapshot area (321) may be, for example, identification information of the first storage resource, access control information (e.g., information of authorized users), and / or security information (e.g., an accessible IP address range). The information of the first storage resource stored in the snapshot area (321) may not be updated. For example, if there is another request regarding the first storage resource, the information of the first storage resource stored in the snapshot area (321) may not be updated. The resource information stored in the snapshot area (321) may be utilized when validating the user request. Details regarding this will be described later.

[0059] The staging area (323) may be an area that temporarily stores one or more work requests for a resource. The staging area (323) may store one or more work requests until a user requests batch processing of one or more work requests for a resource in the public area (310). Once the work requests are batch processed, the staging area (323) may be removed.

[0060] The area manager (340) may be a module that manages the public area (310) and / or temporary area (320). The area manager (340) may check for work requests regarding resources stored in the public area (310) and / or temporary area (320). The area manager (340) may respond to work requests to process resources stored in the public area (310) and / or temporary area (320) (e.g., acquire / create / change / remove resources). The area manager (340) may process resources stored in the public area (310). The area manager (340) may process resources stored in the temporary area (320). The area manager (340) may process resources stored in the snapshot area (321). The area manager (340) may process resources stored in the staging area (323).

[0061] The zone manager (340) may allocate a temporary zone assigned a specific zone ID in response to a request from a first device (e.g., a client). For example, the zone manager (340) may create a new temporary zone (320) in response to a request to create a temporary zone. For example, the zone manager (340) may create a new temporary zone (320) in response to a request for a new operation on a resource in the public zone (310) (e.g., a request to create a new storage resource). The zone manager (340) may create a new snapshot zone (321). The zone manager (340) may create a new staging zone (323). The zone manager (340) may assign a zone identifier or zone ID (hereinafter referred to as zone ID) to the created temporary zone (320). The zone manager (340) may transmit the zone ID to the first device. The zone ID may correspond to a set or group of multiple operation requests to be processed in batches in the public zone (310).

[0062] The area manager (340) may, in response to a resource operation request, copy information referenced by the resource operation from the public area (310) and store it in the snapshot area (321). For example, the area manager (340) may, in response to a first control request, obtain information regarding a first resource stored in the public area (310) and store the obtained information regarding the first resource in the snapshot area (321). The area manager (340) may not update the information stored in the snapshot area (321). For example, the area manager (340) may, in response to a second control request, obtain information regarding a second resource stored in the public area (310), and if the obtained information regarding the second resource is stored in the snapshot area (321), not store the information regarding the second resource in the snapshot area (321), but if the obtained information regarding the second resource is not stored in the snapshot area (321), store the information regarding the second resource in the snapshot area (321). The area manager (340) can respond to a resource operation request and store information regarding the request in the staging area (323). A resource operation may be requested once or multiple times.

[0063] The area manager (340) can obtain information regarding multiple requests stored in the staging area (323) in response to a request for batch processing of multiple resource operations. Based on the information regarding the multiple requests obtained, the area manager (340) can batch process resource operation requests in the public area (310). A detailed description of this will be provided later with reference to FIGS. 6 through 8.

[0064] The area manager (340) can validate the validity of a user request based on resource information stored in the snapshot area (321). For example, the area manager (340) can obtain information regarding a resource stored in the public area based on multiple resource operation request information stored in the staging area (323) in response to a batch processing request for a resource operation. If the obtained information is stored in the snapshot area (321), the area manager (340) can batch process resource operation requests in the public area (310).

[0065] For example, multiple work requests may not be processed in the public area (310) until a user requests batch processing of multiple work requests for multiple resources in the public area (310). In this case, before the multiple work requests are processed in the public area (310), information about the resources in the public area (310) may be changed by a request from another user. Therefore, the server needs to verify whether the information about the resources in the public area (310) can be changed as requested before batch processing multiple work requests in the public area (310).

[0066] For example, User A may want to change the permission settings of a second storage resource located in the public area (310). User A may also want to change the storage capacity of the second storage resource. User A may request batch processing of operations (changing permission settings and storage capacity) for the second storage resource. Before User A's batch processing request, for example, User B may change the permission settings of the second storage resource stored in the public area (310). User A's request for permission settings of the second storage resource and User B's request for permission settings of the second storage resource may conflict. Before processing User A's request for permission settings of the second storage resource in the public area (310), the area manager (340) may obtain the permission setting information of the second storage resource (i.e., information stored in the snapshot area (321) in response to the request for permission settings of the second storage resource) at the time User A made the request to change the permission settings of the second storage resource. The area manager (340) can obtain permission setting information of the second storage resource stored in the public area (310) at the time when it intends to process a request to change the permission setting of the second storage resource. By comparing the permission setting information of the second storage resource obtained from the snapshot area (321) with the permission setting information of the second storage resource obtained from the public area (310), the area manager (340) can confirm that the permission setting information of the second storage resource in the public area (310) has changed between the time when User A sent the request to change the permission setting of the second storage resource and the time when it intends to process the request to change the permission setting of the second storage resource. In this case, the area manager (340) can notify User A that User A's request to change the permission setting of the second storage resource cannot be processed in the public area (310).

[0067] The area manager (340) can process the user's request in the public area (310) at once and remove the temporary area (320) in response to a signal (or 'termination signal') (e.g., batch processing request) that the user's request has ended. The area manager (340) can remove the snapshot area (321) in response to the termination signal. The area manager (340) can remove the staging area (323) in response to the termination signal.

[0068] The area manager (340) may detect an error while managing the public area (310) and / or temporary area (320). The area manager (340) may remove the temporary area (320) in response to detecting the error. The area manager (340) may remove the snapshot area (321) in response to detecting the error. The area manager (340) may remove the staging area (323) in response to detecting the error. The area manager (340) may remove resources in the public area (310) where some work requests have been processed in response to detecting the error. The area manager (340) may send information regarding the error to the user.

[0069] FIG. 4 is an exemplary drawing illustrating the operation of an electronic device (e.g., the electronic device (101) of FIG. 1) and a server (400) (e.g., the server (108) of FIG. 1).

[0070] Referring to FIG. 4, the electronic device (101) can create a storage area in the cloud that is accessible only to specific users. The cloud may be a public cloud that is accessible to anyone via the internet.

[0071] The electronic device (101) can request the creation of a storage resource in operation 401.

[0072] The server (400) can create a storage resource in a cloud environment in response to a request to create a storage resource. The created storage resource may exist in a public area (e.g., the public area (310) of FIG. 3). In operation 403, the server (400) can transmit information regarding the created storage resource to an electronic device (101).

[0073] For example, in operations 401 and 403, the electronic device (101) and the server (400) may interact through a storage client that supports the creation of a storage resource. For example, the electronic device (101) may create a storage client. The created storage client may request the server (400) to create a storage resource via a cloud API. The server (400) may validate the request and create the storage resource. After the creation of the storage resource is complete, the server (400) may transmit the information to the storage client. For example, when the creation of the storage resource is complete, the server (400) may transmit information such as the name, location, and configuration information of the storage resource to the storage client. The storage client may notify the electronic device (101) that the storage resource has been created, for example, via an API response or a graphical user interface (GUI).

[0074] The electronic device (101) can request permission settings for the generated storage resource in operation 405.

[0075] The server (400) can set permissions for the storage resources created in operation 407 and transmit information regarding the permission settings to the electronic device (101).

[0076] For example, in actions 405 and 407, the electronic device (101) and the server (400) may interact through an Identity and Access Management (IAM) client that performs user authentication and permission management. The electronic device (101) may create an IAM client. The created IAM client may call an API of the server or cloud to request the server (400) to grant permission to a specific user or group to access a storage resource. The server (400) may apply the requested permission to the storage resource by updating an IAM policy. The server (400) may notify the IAM client of the completion of permission settings for the storage resource, for example, through an API response. The IAM client may complete the permission settings for the storage resource, for example, by issuing an access token for the electronic device (101).

[0077] In a cloud environment, requesting multiple operations (creation, modification, and / or removal) on a resource means multiple REST API calls. A single REST API call can perform a single operation. In a cloud environment, multiple operations could not be performed simultaneously.

[0078] For example, as illustrated in FIG. 4, when creating a virtual storage resource accessible only to specific users in a public cloud, the operation of creating the storage resource and the operation of setting permissions cannot be performed simultaneously. From the time the storage resource is created in the public area (310) in operation 403 until the permissions for the created storage resource are set in operation 407, the created storage resource may be exposed to all users who have access to the public cloud. Therefore, the security of the storage resource may be vulnerable from operation 403 until operation 407 is performed.

[0079] FIG. 5 is an exemplary drawing illustrating the operation of an electronic device (e.g., the electronic device (101) of FIG. 1) and a server (500) (e.g., the server (108) of FIG. 1).

[0080] Referring to Fig. 5, an error may occur while setting permissions for a storage area in a public area (310) in the cloud.

[0081] Since operations 501 and 503 can be performed by substantially the same procedure as operations 401 and 403, respectively, a detailed description will be omitted.

[0082] The electronic device (101) can request permission settings for the storage resources created in operation 505.

[0083] The server (500) can identify an error occurring during the storage resource permission setting operation 507. In this case, the server (500) is unable to set permissions for the created storage resource.

[0084] For example, in actions 505 and 507, the electronic device (101) and the server (500) may interact through an IAM client that performs user authentication and authorization management. The electronic device (101) may create an IAM client. The created IAM client may call an API of the server or cloud to request the server (500) to grant permission to access storage resources for specific users or groups. An error may occur while the server (500) is applying the requested permission to the storage resources. For example, the error may occur because the format of the permission setting request from the electronic device (100) is incorrect or due to an internal error of the server (500). The server (500) may detect the error during permission setting. The server (500) may notify the IAM client that an error has occurred, for example, by returning an error code. The IAM client may notify the electronic device (101) that an error has occurred, for example, through a GUI.

[0085] In Fig. 5, the security of the storage resource may be vulnerable because the permission setting operation for the created storage resource is not completed.

[0086] For example, an error may occur while the server (500) is processing multiple work requests for multiple resources. When a specific task fails, some attributes of the resource may be changed while others remain in their previous state, which can break the consistency of the system. Since tasks for each resource are processed through different interfaces, the user may have to manually implement the logic to restore (rollback) the original state according to the unique interface for each resource. This can cause inconvenience to the user and increase the possibility of errors during the restoration process.

[0087] For example, Infrastructure as Code (IaC, e.g., Terraform) can manage resources in a declarative manner. For instance, if a user defines which resources they want, IaC can automatically configure those resources. In this process, the user does not need to directly specify the detailed procedures or sequence for obtaining resources. While it may appear that IaC can handle multiple tasks on resources, this is merely a visual effect in the user interface. In reality, IaC calls REST APIs sequentially, processing one task at a time before proceeding to the next. Even when using IaC, if an error occurs during the resource creation process, there is a possibility that resources with only partial requests processed may be created. Therefore, even when using IaC, the security vulnerabilities and complexity of recovery operations described in Figures 4 and 5 may still occur.

[0088] FIG. 6 is an exemplary flowchart of the operation of a server (e.g., the server (200) shown in FIG. 2).

[0089] Referring to FIG. 6, the server (200) may, in operation 610, allocate a temporary area assigned a specific area ID in response to a request from a first device. The first device may be, for example, the electronic device (101) shown in FIG. 1. The temporary area may mean, for example, the temporary area (320) shown in FIG. 3. The request from the first device may mean a request to create a temporary area. The request from the first device may notify the server (200) of the initiation of a plurality of control requests to be processed in batches. The request from the first device may be, for example, a control request to create a new resource in a public area (e.g., the public area (310) shown in FIG. 3). Such a request to create a new resource may be a request to create a new resource in the public area (310) after an additional control request for the new resource has been completed. In this case, the server (200) may allocate a temporary area assigned a specific area ID to store the request to create a new resource and the additional control request for the new resource. The server (200) may allocate a temporary area to which a specific area ID is assigned in response to a request from the first device. The temporary area may be allocated (or created). The server (200) may assign a specific area ID to the temporary area.

[0090] In operation 630, the server (200) may store information regarding multiple control requests provided by the first device using a specific area ID in a temporary area assigned to the specific area ID. For example, each control signal for transmitting multiple control requests may include a specific area ID. The server (200) may transmit the specific area ID to the first device. The server (200) may instruct the first device to use the specific area ID when transmitting requests to it. The first device may use the specific area ID when sending requests to the server (200) to be processed in batches. When the first device transmits a control request containing a specific area ID to the server (200), the server (200) may check the specific area ID included in the received control request and store information regarding the control request containing the specific area ID in a temporary area assigned to the specific area ID. For example, each control signal for transmitting multiple control requests may not include a specific area ID. The server (200) can identify the device that sent the control request by verifying identification information, such as an API key or authentication token included in the control request, for example. The server (200) can map the identification information of the first device that sent the new resource creation request to a specific area ID, for example. When the first device sends an additional control request to the server (200), the server (200) can verify the identification information of the first device included in the received control request. The server (200) can use the specific area ID to which the verified identification information of the first device is mapped to store information regarding the control requests to be processed in batches among the control requests received from the first device in a temporary area assigned to the specific area ID. The server (200) can identify the control requests to be processed in batches among the received control requests. For example, the server (200) can verify whether the control request to be processed in batches is in response to the receipt of the control request.In this way, the server (200) can store a set of multiple work requests to be processed in batches in a public area (310) using a specific area ID in a temporary area.

[0091] In operation 650, the server (200) can process multiple control requests in batches based on information regarding multiple control requests stored in a temporary area using a specific area ID in response to a batch processing request received from the first device. The first device can transmit a batch processing request to the server (200). For example, the batch processing request received from the first device may include a specific area ID. When the first device transmits a batch processing request including a specific area ID to the server (200), the server (200) checks the specific area ID included in the transmitted batch processing request and can process multiple control requests in batches based on information regarding multiple control requests stored in a temporary area to which the specific area ID is assigned. For example, the batch processing request received from the first device may not include a specific area ID. When the first device transmits a batch processing request to the server (200), the server (200) verifies the identification information of the first device included in the received batch processing request and can batch process multiple control requests based on information regarding multiple control requests stored in a temporary area assigned a specific area ID using the specific area ID to which the verified identification information of the first device is mapped. In this way, the server (200) can batch process multiple control requests based on information regarding multiple control requests stored in a temporary area assigned a specific area ID using the specific area ID. If the server (200) fails to batch process multiple control requests, it can maintain the state of the server (200) prior to the batch processing of multiple control requests. Each control request included in the multiple control requests may be a control request for a resource stored in a public area (e.g., the public area (310) of FIG. 3). The public area (310) may be implemented to batch process multiple control requests.The public area (310) may be configured not to expose resources where some of the control requests have been processed to any user who has access to the public area (310) before the multiple control requests are processed in batches. If the server (200) fails to process the multiple control requests in batches, it may retain information regarding the resources stored in the public area (310).

[0092] For example, a case may be assumed in which a server (200) processes a first control request corresponding to a first resource in a public area (310) and a second control request corresponding to a second resource in a batch. Before these control requests are processed in a batch, the server (200) may not expose the first resource in which the first control request was processed and the second resource in which the second control request was processed to any user who has access to the public area (310). The first resource in which the first control request was processed may be referred to as the first control request processing resource. The second resource in which the second control request was processed may be referred to as the second control request processing resource. The server (200) may not expose the first control request processing resource to any user who has access to the public area (310) until the first control request and the second control request are processed in a batch. The server (200) may not expose the second control request processing resource to any user who has access to the public area (310) until the first control request and the second control request are processed in a batch. For example, the server (200) may set access rights to the first control request processing resource. For example, the server (200) may set access rights to the second control request processing resource. If batch processing fails, the server (200) may retain information regarding the first resource and information regarding the second resource stored in the public area (310). For example, if batch processing fails, the server (200) may remove the first control request processing resource and the second control request processing resource while retaining information regarding the first resource and information regarding the second resource in the public area (310). The procedure for batch processing multiple control requests is not limited thereto.

[0093] FIGS. 7a and 7b are exemplary drawings illustrating the operation of an electronic device (101) and a cloud (700).

[0094] In the following examples of operations, each operation may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each operation may be changed, or at least two operations may be performed in parallel.

[0095] The cloud (700) may include or be composed of at least some of a public area (710), a snapshot area (721), a staging area (723), or an area manager (740).

[0096] The electronic device (101) may be, for example, a client using a service provided by the cloud (700). Although the electronic device (101) is shown in FIG. 7 requesting a service from the cloud (700), the user may also directly access the cloud (700) and communicate with the cloud (700).

[0097] The electronic device (101) may, in operation 701, transmit a zone initialization request to the zone manager (740). The zone initialization request may be a request for the creation (or allocation) of a new temporary zone. The temporary zone may include a snapshot zone (721) and / or a staging zone (723).

[0098] The area manager (740) can create a new snapshot area (721) in response to an area initialization request in operation 702.

[0099] The area manager (740) can create a new staging area (723) in response to an area initialization request in operation 703.

[0100] The area manager (740) can assign an area ID corresponding to the temporary area created in operation 704 and transmit the assigned area ID to the electronic device (101).

[0101] The electronic device (101) can transmit a resource operation request to the area manager (740) in operation 705. For example, the resource operation may include creating a resource, changing a resource, or removing a resource. The resource operation request may include an area ID.

[0102] The area manager (740) can, in operation 706, request resource information regarding a resource operation request stored in the public area (710) in response to a resource operation request.

[0103] The area manager (740) can receive the requested resource information in operation 707.

[0104] The area manager (740) can store the resource information returned using the area ID in operation 708 in the snapshot area (721).

[0105] The area manager (740) can, in response to a resource operation request in operations 706 to 708, obtain resource information corresponding to the resource operation request in the public area (710) using the area ID included in the resource operation request, and store the obtained resource information in the snapshot area (721).

[0106] The zone manager (740), in response to a resource operation request in operation 709, can store information regarding the resource operation request in the staging zone (323) using the zone ID included in the resource operation request. For example, when requesting the creation of a resource, the information regarding the resource creation request may include information such as the type of resource, the name or identifier of the resource, the size and specifications of the resource, or the location of the resource. The resource for which some resource operations have been processed is not yet identified in the public zone (310).

[0107] Operations 705 through 709 may be performed once or multiple times. For example, the electronic device (101) may request n resource operations (n ​​is a natural number). For example, resource operations may include a first resource operation request, a second resource operation request, and a third resource operation request. The area manager (740) may perform operations 706 through 709 in response to the first resource operation request. The area manager (740) may perform operations 706 through 709 in response to the second resource operation request. The area manager (740) may perform operations 706 through 709 in response to the third resource operation request. The number of requested resource operations is not limited to a specific number. The area manager (740) may identify the area ID included in each resource operation request. The area manager (740) may use the area ID included in the resource operation request to store information regarding the resource operation request containing the area ID in the staging area (323).

[0108] The electronic device (101) may request batch processing of resource operations in operation 710. Hereinafter, batch processing of resource operations may be referred to as batch processing or commit. A batch processing request may include a region ID.

[0109] The area manager (740) may, in response to a batch request in operation 711, request all resource work request information stored in the staging area (723) using the area ID included in the batch request. All resource work request information stored in the staging area (723) may be resource work request information accumulated in the staging area (723) prior to the batch request.

[0110] The area manager (740) can receive all resource operation request information stored in the staging area (723) in operation 712.

[0111] The area manager (740) can batch all resource operation requests returned in operation 713 in the public area (710). The public area (710) can be implemented so that resources for which some operation requests have been processed are not exposed in the public area (710) until resource operation requests are batched in the public area (710).

[0112] Although not shown in FIG. 7, the area manager (740) may remove the temporary area when batch processing is complete. The area manager (740) may remove the snapshot area (721) and / or the staging area (723) when batch processing is complete.

[0113] Errors may occur during the execution of operations 701 through 713. If an error occurs, the area manager (740) may remove the temporary area. If batch processing fails, the area manager (740) may remove the resources for which some work requests have been processed from the public area (710).

[0114] The area manager (740) can remove the snapshot area (721) where an error occurred in operation 714.

[0115] The area manager (740) can remove the staging area (723) where an error occurred in operation 715.

[0116] The area manager (740) can notify the electronic device (101) that an error has occurred in operation 716. The area manager (740) can transmit information regarding the error, such as the reason for the error, to the electronic device (101).

[0117] For example, as described in FIG. 5, if an error occurs while the server (500) is processing multiple resource operation requests, a user without access rights to the resource could access the resource. This system had security vulnerabilities. In addition, because the logic for rolling back to the original state had to be implemented directly according to the unique interface for each resource, it was cumbersome and prone to errors.

[0118] According to one example, a server of the cloud (700) can batch process multiple resource tasks in a public area (710). According to one example, if an error occurs while batch processing multiple resource tasks in the public area (710), the server of the cloud (700) can stop batch processing and retain information regarding resources stored in the public area (710). According to one example, a server of the cloud (700) can provide a service equipped with excellent security and improved usability.

[0119] FIGS. 8a to 8g illustrate a cloud (800) environment according to one example.

[0120] In FIG. 8a to 8g, a scenario is assumed in which a server performs the task of granting administrative (admin) rights to a storage resource (811) to each of the first user and the second user in a cloud environment (800).

[0121] Referring to FIG. 8a, a storage resource (811) exists in the public area (810) of the cloud (800).

[0122] Referring to FIG. 8b, a client may request the creation of a new temporary area. A server in the cloud (800) may create a new temporary area in response to the client's request to create a new temporary area. The temporary area may include a snapshot area (821) and a staging area (823). A server in the cloud (800) may provide a zone ID to the client to identify the created temporary area.

[0123] Referring to FIG. 8c, a client may request (first request) that a first user be granted management rights over a storage resource (811). In response to the first request, a server of the cloud (800) may obtain storage resource information (822) regarding the first request from a public area (810). The server of the cloud (800) may store the obtained storage resource information (822) in a snapshot area (821). The storage resource information (822) regarding the first request may be information necessary for granting management rights over the storage resource (811). In response to the first request, a server of the cloud (800) may store first request information (824) regarding the first request in a staging area (823). The first request information (824) may be information instructing the first user to be granted management rights over the storage resource (811).

[0124] Referring to FIG. 8d, the client may request (second request) that the second user be granted management rights to the storage resource (811). In response to the second request, the server of the cloud (800) may obtain storage resource information regarding the second request from the public area (810). The storage resource information regarding the second request may be the same as the storage resource information regarding the first request. In this case, the server of the cloud (800) may not update the storage resource information (822) stored in the snapshot area (821). In response to the second request, the server of the cloud (800) may store the second request information (826) regarding the second request in the staging area (823). The second request information (826) may be information requesting the second user to be granted management rights to the storage resource (811).

[0125] Referring to FIG. 8e, a client may request batch processing of a first request and a second request. A server of the cloud (800) may obtain request information (i.e., first request information (824) and second request information (826)) stored in a staging area (823) in response to the batch processing request. Based on the request information (824; 826), the server of the cloud (800) may batch process the first request and the second request in a public area (810). Until all requests are processed in the public area (810), the request information may not be exposed to users who have access to the public area (810). For example, a server of the cloud (800) may use a storage (815) that stores permission settings for a storage resource (811) in the public area (810). The storage (815) may not be exposed to users who have access to the public area (810). The server of the cloud (800) can apply permission settings for two users (a first user and a second user) to the storage resource (811) at once based on the permission settings stored in the storage (815). The permission settings of the storage resource (811) may not be changed until the permission settings are completed.

[0126] Referring to FIG. 8f, when batch processing is complete, the changed permission settings can be applied to the storage resource (811'). Accordingly, the first user and the second user can each access the storage resource (811'). When batch processing is complete, the server in the cloud (800) can remove the snapshot area (821) and the staging area (823).

[0127] Referring to FIG. 8g, if batch processing fails, the server in the cloud (800) can remove the snapshot area (821) and the staging area (823). In the public area (810), the storage resources (811) can maintain the same state as before batch processing. For example, resources in the public area (810) where some requests have been processed can be removed.

[0128] According to one example, an electronic device (200) comprises a memory (210) including one or more storage media for storing instructions; and at least one processor (230) including a processing circuit, wherein when the instructions are executed individually or collectively by at least one processor, the electronic device is caused to perform at least one operation, the at least one operation may include: an operation of allocating a temporary area assigned a specific area ID in response to a request from a first device; an operation of storing information regarding a plurality of control requests provided by the first device using the specific area ID in the temporary area assigned the specific area ID; and an operation of processing the plurality of control requests in batches based on the information regarding the plurality of control requests stored in the temporary area using the specific area ID in response to a batch processing request received from the first device.

[0129] According to one example, when the above instructions are executed individually or collectively by at least one processor, the electronic device may include: an operation of allocating a temporary area assigned a specific area ID in response to a request from a first device; an operation of transmitting the specific area ID to the first device; an operation of storing information regarding a plurality of control requests provided by the first device using the specific area ID in the temporary area assigned the specific area ID; and an operation of processing the plurality of control requests in batches based on the information regarding the plurality of control requests stored in the temporary area in response to a batch processing request received from the first device using the specific area ID.

[0130] According to one example, when the instructions are executed individually or collectively by at least one processor, the electronic device is caused to: perform the operation of transmitting the specific area ID to the first device, and the operation of storing in the temporary area may include the operation of using the specific area ID included in each of the plurality of control requests received from the first device, and the operation of batch processing the plurality of control requests may include the operation of using the specific area ID included in the batch processing request received from the first device.

[0131] According to one example, when the instructions are executed individually or collectively by at least one processor, the electronic device may be caused to perform: an operation of obtaining information regarding a first resource stored in a common area in response to a first control request which is one of the plurality of control requests; and an operation of storing information regarding the first resource in a snapshot area included in the temporary area.

[0132] According to one example, when the instructions are executed individually or collectively by at least one processor, the electronic device may be caused to: perform an operation of obtaining information regarding a second resource stored in the common area in response to a second control request which is one of the plurality of control requests; and, if the information regarding the second resource is not stored in the snapshot area, an operation of storing information regarding the second resource in the snapshot area.

[0133] According to one example, when the instructions are executed individually or collectively by at least one processor, the electronic device may be caused to: perform an operation of obtaining information regarding a resource stored in the common area based on information regarding the plurality of control requests stored in the temporary area in response to the batch processing request; and, if the information regarding the obtained resource is stored in the snapshot area, perform an operation of batch processing the plurality of control requests.

[0134] According to one example, when the instructions are executed individually or collectively by at least one processor, the electronic device may be caused to: perform an operation to maintain information regarding the resource stored in the common area if the batch processing fails.

[0135] According to one example, when the above instructions are executed individually or collectively by at least one processor, the electronic device may be caused to: perform the operation of removing the temporary area when the batch processing is completed.

[0136] According to one example, when the instructions are executed individually or collectively by at least one processor, the electronic device may be caused to perform: the operation of receiving the specific area ID from the second device; and the operation of transmitting the one or more control requests to the second device by including the specific area ID in the one or more control requests.

[0137] According to one example, an electronic device (100) comprises a memory (130) including one or more storage media for storing instructions; and at least one processor (120) including a processing circuit, wherein when the instructions are executed individually or collectively by at least one processor, the electronic device is caused to perform at least one operation, and the at least one operation may include: transmitting a request to a second device (200) regarding the allocation of a temporary area to which a specific area ID is assigned; transmitting a plurality of control requests to the second device; and transmitting a batch processing request to the second device.

[0138] According to one example, when the instructions are executed individually or collectively by at least one processor, the electronic device may include: transmitting a request to a second device (200) regarding the allocation of a temporary area to which a specific area ID is assigned; receiving a specific area ID from the second device in response to the request; transmitting a plurality of control requests including the specific area ID to the second device; and transmitting a batch processing request including the specific area ID to the second device.

[0139] According to one example, when the instructions are executed individually or collectively by at least one processor, the electronic device is caused to perform the operation of receiving the specific area ID from a second device in response to a request regarding the allocation of the temporary area, and each of the plurality of control requests includes the specific area ID, and the batch processing request may include the specific area ID.

[0140] According to one example, a control method of an electronic device (200) may include: an operation of allocating a temporary area assigned a specific area ID in response to a request from a first device; an operation of storing information regarding a plurality of control requests provided from the first device using the specific area ID in the temporary area assigned the specific area ID; and an operation of processing the plurality of control requests in batches based on the information regarding the plurality of control requests stored in the temporary area using the specific area ID in response to a batch processing request received from the first device.

[0141] According to one example, a control method of an electronic device (200) may include an operation of transmitting the specific area ID to the first device, an operation of storing in the temporary area may include an operation of using the specific area ID included in each of the plurality of control requests received from the first device, and an operation of processing the plurality of control requests in batches may include an operation of using the specific area ID included in the batch processing request received from the first device.

[0142] According to one example, a control method for an electronic device (200) may include: an operation of obtaining information regarding a first resource stored in a public area in response to a first control request, which is one of the plurality of control requests; and an operation of storing information regarding the first resource in a snapshot area included in the temporary area.

[0143] According to one example, a control method for an electronic device (200) may include: an operation of obtaining information regarding a second resource stored in the common area in response to a second control request, which is one of the plurality of control requests; and an operation of storing information regarding the second resource in the snapshot area if the information regarding the second resource is not stored in the snapshot area.

[0144] According to one example, a control method of an electronic device (200) may include: an operation of obtaining information regarding a resource stored in a common area based on information regarding a plurality of control requests stored in a temporary area in response to the batch processing request; and an operation of batch processing the plurality of control requests if the information regarding the obtained resource is stored in the snapshot area.

[0145] According to one example, a control method for an electronic device (200) may include an operation to maintain information regarding the resource stored in the common area if the batch processing fails.

[0146] According to one example, a control method for an electronic device (200) may include an operation to remove the temporary area when the batch processing is completed.

[0147] According to one example, a control method for an electronic device (200) may include: an operation to remove the temporary area in response to an error occurring during batch processing; and an operation to transmit information regarding the error to the first device.

[0148] According to one example, a control method for an electronic device (100) may include the operation of transmitting a request to a second device (200) regarding the allocation of a temporary area to which a specific area ID is assigned; the operation of transmitting a plurality of control requests to the second device; and the operation of transmitting a batch processing request to the second device.

[0149] According to one example, a control method of an electronic device (100) includes the operation of receiving the specific area ID from a second device in response to a request regarding the allocation of the temporary area, and each of the plurality of control requests includes the specific area ID, and the batch processing request may include the specific area ID.

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

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

[0152] Various examples of the present disclosure may be implemented as software (e.g., a program) comprising one or more instructions stored in a storage medium (e.g., internal memory or external memory) 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 of the one or more instructions stored from the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' simply means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily.

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

[0154] According to various examples, each component (e.g., module or program) of the components described above may include a singular or multiple entities, and some of the multiple entities may be separated and placed in other components. According to various examples, one or more of the components or operations among the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the multiple components in the same or similar manner as they were performed by the corresponding component among the multiple components prior to integration. According to various examples, 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.

Claims

1. In an electronic device (200), Memory (210) comprising one or more storage media for storing instructions; and It includes at least one processor (230) including a processing circuit, When the above instructions are executed individually or collectively by at least one processor, the electronic device, An operation of allocating a temporary area assigned a specific area ID (identifier) ​​in response to a request from a first device; The operation of storing information regarding a plurality of control requests provided from the first device using the specific area ID in the temporary area to which the specific area ID is assigned; and An operation of processing a plurality of control requests in batches based on information regarding the plurality of control requests stored in the temporary area using the specific area ID in response to a batch processing request received from the first device. An electronic device that causes to perform.

2. In Paragraph 1, When the above instructions are executed individually or collectively by at least one processor, the electronic device: The operation of transmitting the above specific area ID to the first device Causing to perform, The operation of storing in the above temporary area includes the operation of using the specific area ID included in each of the plurality of control requests received from the first device, and An electronic device wherein the operation of batch processing the plurality of control requests includes the operation of using the specific area ID included in the batch processing request received from the first device.

3. In Paragraph 1 or 2, When the above instructions are executed individually or collectively by at least one processor, the electronic device: An operation to obtain information regarding a first resource stored in a public area in response to a first control request, which is one of the plurality of control requests; and The operation of storing information regarding the first resource above in a snapshot area included in the temporary area above. An electronic device that causes to perform.

4. In Paragraph 3, When the above instructions are executed individually or collectively by at least one processor, the electronic device: An operation to obtain information regarding a second resource stored in the common area in response to a second control request, which is one of the plurality of control requests; and If information regarding the second resource is not stored in the snapshot area, the operation of storing information regarding the second resource in the snapshot area. An electronic device that causes to perform.

5. In Paragraph 3 or 4, When the above instructions are executed individually or collectively by at least one processor, the electronic device: An operation to obtain information regarding resources stored in the public area based on information regarding the plurality of control requests stored in the temporary area in response to the above batch processing request; and If information regarding the acquired resource is stored in the snapshot area, the operation of processing the plurality of control requests in batches An electronic device that causes to perform.

6. In Paragraph 5, When the above instructions are executed individually or collectively by at least one processor, the electronic device: If the above batch processing fails, the operation of maintaining information regarding the resource stored in the above public area An electronic device that causes to perform.

7. In any one of paragraphs 1 through 6, When the above instructions are executed individually or collectively by at least one processor, the electronic device: When the above batch processing is completed, the operation to remove the above temporary area An electronic device that causes to perform.

8. In any one of paragraphs 1 through 7, When the above instructions are executed individually or collectively by at least one processor, the electronic device: An operation to remove the temporary area in response to an error occurring during the above batch processing; and Operation of transmitting information regarding the above error to the first device An electronic device that causes to perform.

9. In an electronic device (100), Memory (130) comprising one or more storage media for storing instructions; and It includes at least one processor (120) including a processing circuit, and When the above instructions are executed individually or collectively by at least one processor, the electronic device is caused to perform at least one operation, and The above at least one operation is, The operation of transmitting a request to the second device (200) regarding the allocation of a temporary area to which a specific area ID has been assigned; The operation of transmitting a plurality of control requests to the second device; and The operation of transmitting a batch processing request to the second device. An electronic device including 10. In Paragraph 9, When the above instructions are executed individually or collectively by at least one processor, the electronic device: Operation of receiving the specific area ID from the second device in response to a request regarding the allocation of the temporary area. Causing to perform, Each of the above plurality of control requests includes the specific area ID, and The above batch processing request includes the above specific area ID, Electronic device.

11. A method for controlling an electronic device (200), An operation to allocate a temporary area assigned a specific area ID in response to a request from a first device; The operation of storing information regarding a plurality of control requests provided from the first device using the specific area ID in the temporary area to which the specific area ID is assigned; and An operation of processing a plurality of control requests in batches based on information regarding the plurality of control requests stored in the temporary area using the specific area ID in response to a batch processing request received from the first device. A control method including 12. In Paragraph 11, The operation of transmitting the above specific area ID to the first device Includes, The operation of storing in the above temporary area includes the operation of using the specific area ID included in each of the plurality of control requests received from the first device, and A control method comprising an operation of batch processing the plurality of control requests, wherein the operation of using the specific area ID included in the batch processing request received from the first device.

13. In Paragraph 11 or 12, An operation to obtain information regarding a first resource stored in a public area in response to a first control request, which is one of the plurality of control requests; and The operation of storing information regarding the first resource above in a snapshot area included in the temporary area above. A control method including 14. In Paragraph 13, An operation to obtain information regarding a second resource stored in the common area in response to a second control request, which is one of the plurality of control requests; and If information regarding the second resource is not stored in the snapshot area, the operation of storing information regarding the second resource in the snapshot area. A control method including 15. In Paragraph 13 or 14, An operation to obtain information regarding resources stored in the public area based on information regarding the plurality of control requests stored in the temporary area in response to the above batch processing request; and If information regarding the acquired resource is stored in the snapshot area, the operation of processing the plurality of control requests in batches A control method including