Electronic device configured to perform MQTT protocol communication and method for controlling same

The electronic device addresses MQTT protocol limitations by processing RDF and key-value data through syntax execution and metadata optimization, facilitating efficient data management and remote access in low-power, real-time communication scenarios.

WO2025159569A1PCT designated stage Publication Date: 2025-07-31SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/001468
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-24
Filing Date
2025-01-24
Publication Date
2025-07-31

AI Technical Summary

Technical Problem

The MQTT protocol, while efficient in limited network bandwidth, poses challenges in accessing databases and performing data management tasks due to its lightweight nature, making it difficult to manage RDF and key-value data effectively.

Method used

An electronic device equipped with a processor and memory that executes instructions to handle MQTT protocol messages for managing RDF and key-value data, including syntax processing and data management tasks, such as Create, Read, Update, and Delete operations, using SPARQL and HTTP request syntax, and optimizing message transmission through metadata utilization.

Benefits of technology

Enables efficient management of RDF and key-value data via MQTT protocol, allowing remote data access and simplified message interpretation, enhancing performance in low-power, real-time communication environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025001468_31072025_PF_FP_ABST
    Figure KR2025001468_31072025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed are an electronic device configured to perform message queuing telemetry transport (MQTT) protocol communication and a method for controlling same. The electronic device comprises: a memory configured to store one or more instructions; and at least one processor configured to execute one or more instructions stored in the memory. The at least one processor is configured to: receive a first MQTT protocol message including a syntax for processing resource description framework (RDF) data stored in the memory from an external electronic device; and perform RDF data a management tasks on the basis of the first MQTT protocol message.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device performing MQTT protocol communication and its control method

[0001] The present disclosure relates to an electronic device that performs MQTT protocol communication and a control method thereof. Specifically, an electronic device that performs management tasks on RDF data or key-value data via MQTT protocol communication and a control method thereof are disclosed.

[0002] The MQTT (Message Queuing Telemetry Transport) protocol is a lightweight messaging protocol that requires only a small amount of data to transmit messages, making it efficient in limited network bandwidth or network environments.

[0003] However, due to these characteristics, it is difficult to access the database and perform data management tasks through MQTT protocol communication.

[0004] According to one aspect of the present disclosure, a method for an electronic device performing MQTT protocol communication to perform management tasks on RDF (Resource Description Framework) data may be provided. In one embodiment, the method may include receiving, from an external electronic device, a first MQTT protocol message including syntax for processing RDF (Resource Description Framework) data stored in a memory. In one embodiment, the method may perform management tasks on the RDF data based on the first MQTT protocol message.

[0005] According to one aspect of the present disclosure, an electronic device performing MQTT protocol communication may be provided. The electronic device may include a memory storing one or more instructions and at least one processor executing one or more instructions stored in the memory. In one embodiment, the electronic device may receive, from an external electronic device, a first MQTT protocol message including a syntax for processing RDF (Resource Description Framework) data stored in the memory by the at least one processor executing one or more instructions. In one embodiment, the electronic device may perform a management task on the RDF data based on the first MQTT protocol message by the at least one processor executing one or more instructions.

[0006] According to one aspect of the present disclosure, a computer-readable recording medium having recorded thereon a program for causing an electronic device performing MQTT protocol communication to perform a management task for RDF data, the program causing the electronic device to perform any one of the aforementioned and hereinafter described methods.

[0007] According to one aspect of the present disclosure, a method for performing a management task on key-value data by an electronic device performing MQTT protocol communication may be provided. In one embodiment, the method may include receiving, from an external electronic device, a subscription request for a topic including a target key, which is one of a plurality of keys included in a key-value database stored in a memory. In one embodiment, the method may receive, from the external electronic device, a first MQTT protocol message including a request for data for a target value, which is a value corresponding to the target key included in the key-value database. In one embodiment, the method may obtain, based on one MQTT protocol message, a second MQTT protocol message including data for the target value and published to a topic including the target key. In one embodiment, the method may transmit the second MQTT protocol message to the external electronic device.

[0008] According to one aspect of the present disclosure, an electronic device performing MQTT protocol communication may be provided. The electronic device may include a memory storing one or more instructions and at least one processor executing the one or more instructions stored in the memory. In one embodiment, the electronic device may receive a subscription request for a topic including a target key, which is one of a plurality of keys included in a key-value database stored in the memory, from an external electronic device by the at least one processor executing the one or more instructions. In one embodiment, the electronic device may receive a first MQTT protocol message including a request for data for a target value, which is a value corresponding to the target key included in the key-value database, from the external electronic device by the at least one processor executing the one or more instructions. In one embodiment, the electronic device may obtain a second MQTT protocol message, which includes data for the target value and is published to a topic including the target key, based on the first MQTT protocol message, by the at least one processor executing the one or more instructions. In one embodiment, the electronic device may transmit the second MQTT protocol message to the external electronic device by the at least one processor executing the one or more instructions.

[0009] According to one aspect of the present disclosure, a computer-readable recording medium having recorded thereon a program for causing an electronic device performing MQTT protocol communication to perform a management task for key-value data, the program causing any one of the methods described above and below to be performed.

[0010] FIG. 1 is a diagram schematically illustrating an electronic device according to one embodiment of the present disclosure providing a personalized image.

[0011] FIG. 2 is a flowchart illustrating an operation of an electronic device according to one embodiment of the present disclosure performing management tasks on RDF data.

[0012] FIGS. 3A and 3B are diagrams illustrating an MQTT protocol message including a SPARQL query syntax according to one embodiment of the present disclosure.

[0013] FIG. 4 is a diagram illustrating an MQTT protocol message including an HTTP request syntax according to one embodiment.

[0014] FIG. 5 is a diagram illustrating an MQTT protocol message including metadata related to the format of data in an attribute field according to one embodiment of the present disclosure.

[0015] FIG. 6 is a flowchart illustrating an operation of an electronic device according to one embodiment of the present disclosure to perform management operations on key-value data.

[0016] FIG. 7 is a diagram illustrating an operation of an electronic device according to one embodiment of the present disclosure receiving a subscription request for a topic including a target key.

[0017] FIG. 8 is a diagram illustrating an operation of an electronic device according to one embodiment of the present disclosure receiving a first MQTT protocol message including a request for data for a target value.

[0018] FIGS. 9A, 9B, and 9C are diagrams illustrating an operation of an electronic device according to one embodiment of the present disclosure to obtain a second MQTT protocol message including data for a target value.

[0019] FIG. 10 is a diagram for explaining an MQTT protocol communication system according to one embodiment of the present disclosure.

[0020] FIG. 11 is a block diagram illustrating a configuration of an electronic device according to one embodiment of the present disclosure.

[0021] FIG. 12 is a block diagram illustrating a configuration of an external electronic device according to one embodiment of the present disclosure.

[0022] FIG. 13 is a block diagram illustrating the configuration of an MQTT server according to one embodiment of the present disclosure.

[0023] Hereinafter, terms used in this specification will be briefly described, and the present disclosure will be described in detail. In this disclosure, the expression “at least one of a, b, or c” can refer to “a,” “b,” “c,” “a and b,” “a and c,” “b and c,” “all of a, b, and c,” or variations thereof.

[0024] The terms used in this disclosure are selected from widely used, common terms, taking into account the functions of the disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, in which case their meanings will be described in detail in the relevant description. Therefore, the terms used in this disclosure should not be defined simply as names, but rather based on the meanings of the terms and the overall content of the disclosure.

[0025] Singular expressions may include plural expressions unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art described herein. Furthermore, terms containing ordinal numbers, such as "first" or "second," used herein may be used to describe various components, but such components should not be limited by such terms. Such terms are used solely to distinguish one component from another.

[0026] In the present disclosure, a processor is a component that controls a series of processes so that an electronic device operates according to the embodiments described below, and may be composed of one or more processors. One or more processors included in the processor may be circuitry such as a System on Chip (SoC), an Integrated Circuit (IC), etc. One or more processors included in the processor may be a general-purpose processor such as a Central Processing Unit (CPU), a Micro Processor Unit (MPU), an Application Processor (AP), a Digital Signal Processor (DSP), a graphics-only processor such as a Graphics Processing Unit (GPU), a Vision Processing Unit (VPU), an artificial intelligence-only processor such as a Neural Processing Unit (NPU), or a communication-only processor such as a Communication Processor (CP). When one or more processors included in the processor are artificial intelligence-only processors, the artificial intelligence-only processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.

[0027] In the present disclosure, a processor may include various processing circuits and / or multiple processors. For example, the term “processor” as used herein, including in the claims, may include various processing circuits, including at least one processor. At least one processor, one or more processors may be configured to perform various functions described herein, individually and / or collectively, in a distributed fashion. As used herein, “processor,” “at least one processor,” and “one or more processors” may be configured to perform various functions. However, these terms encompass, without limitation, situations where one processor performs some of the functions and other processor(s) perform other parts of the functions, and situations where a single processor may perform all of the functions. Furthermore, the at least one processor may include a combination of processors that perform various functions of the disclosed functions in a distributed manner. At least one processor may execute program instructions to achieve or perform various functions.

[0028] It should be understood that the blocks and combinations of flowcharts in each of the flowcharts in this disclosure can be implemented by one or more computer programs containing computer-executable instructions. The one or more computer programs may be stored entirely in a single memory, or may be divided and stored across multiple different memories.

[0029] In this disclosure, all functions or operations described in this document may be processed by a single processor or a combination of processors. A single processor or a combination of processors may be a circuitry that performs processing, and may include circuitry such as an Application Processor (AP), a Communication Processor (CP), a Graphical Processing Unit (GPU), a Neural Processing Unit (NPU), a Microprocessor Unit (MPU), a System on Chip (SoC), an Integrated Chip (IC), etc.

[0030] The processor can write data to memory, read data stored in memory, and process data according to predefined operating rules or artificial intelligence models, particularly by executing a program or at least one instruction stored in memory. Accordingly, the processor can perform the operations described in the following embodiments, and operations described as performed by electronic devices or detailed components included in the electronic devices in the following embodiments can be considered to be performed by the processor, unless otherwise specified.

[0031] When a component is referred to as being "connected" or "connected" to another component in this disclosure, it should be understood that the component may be directly connected or connected to the other component, but may also be connected or connected via another component in between, unless otherwise specifically stated.

[0032] Throughout this disclosure, unless specifically stated otherwise, "or" is inclusive and not exclusive. Thus, unless explicitly stated otherwise or the context dictates otherwise, "A or B" can mean "A, B, or both." As used herein, the phrases "at least one of" or "one or more of" can mean that different combinations of one or more of the listed items can be used, or that only any one of the listed items is required. For example, "at least one of A, B, and C" can include any of the following combinations: A, B, C, A and B, A and C, B and C, or A and B and C.

[0033] It will be appreciated that each block of the flowchart drawings and combinations of the flowchart drawings can be performed by computer program instructions. These computer program instructions can be installed in a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, such that the instructions, when executed by the processor of the computer or other programmable data processing equipment, create a means for performing the functions described in the flowchart block(s). These computer program instructions can also be stored in a computer-available or computer-readable memory that can direct a computer or other programmable data processing equipment to perform the functions in a specific manner, such that the instructions stored in the computer-available or computer-readable memory can produce an article of manufacture that includes instruction means for performing the functions described in the flowchart block(s). Since the computer program instructions may be installed on a computer or other programmable data processing device, a series of operational steps may be performed on the computer or other programmable data processing device to create a computer-executable process, and the instructions that cause the computer or other programmable data processing device to perform the steps for performing the functions described in the flowchart block(s) may also provide steps for performing the functions described in the flowchart block(s).

[0034] Additionally, each block may represent a module, segment, or portion of code that contains one or more executable instructions for performing a specific logical function(s). It should also be noted that in some alternative implementation examples, the functions described in the blocks may occur out of order. For example, two blocks depicted in succession may actually be executed substantially concurrently, or the blocks may sometimes be executed in reverse order, depending on their respective functions.

[0035] When a part of the specification is said to "include" a component, unless otherwise specifically stated, this does not exclude other components but rather implies the inclusion of other components. Furthermore, terms such as "part" and "module" used in the specification refer to a unit that processes at least one function or operation, which may be implemented in hardware, software, or a combination of hardware and software.

[0036] In this disclosure, “MQTT (Message Queuing Telemetry Transport)” may refer to a publish-subscribe based message transmission and reception protocol that is an ISO standard.

[0037] In this disclosure, “Resource Description Framework (RDF)” may refer to a standard data model for expressing information about resources on the web established by the World Wide Web Consortium (W3C).

[0038] In this disclosure, “SPARQL (Simple Protocol and RDF Query Language)” may mean a semantic query language used in an RDF-based database established by W3C.

[0039] Below, with reference to the attached drawings, embodiments of the present disclosure are described in detail so that those skilled in the art can easily practice the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, portions irrelevant to the description have been omitted for clarity of explanation, and similar reference numerals have been used throughout the specification to designate similar parts.

[0040] The present disclosure will be described below with reference to the attached drawings.

[0041] FIG. 1 is a diagram schematically illustrating an electronic device according to one embodiment of the present disclosure providing a personalized image.

[0042] Referring to FIG. 1, the MQTT broker (110) of the electronic device (2000) can transmit and receive MQTT protocol messages by performing MQTT protocol communication with an external electronic device (3000) and a database (100) of the electronic device (2000).

[0043] In one embodiment, the electronic device (2000) may include an MQTT broker (110). The MQTT broker (110) may manage sessions in which multiple clients are connected, and may receive MQTT protocol messages issued by clients or transmit received MQTT protocol messages to clients.

[0044] In one embodiment, the MQTT broker (110) may be implemented by at least one processor included in the electronic device (2000) executing a program or command stored in a memory included in the electronic device (2000). Accordingly, the operations of the broker described below may actually be performed by at least one processor included in the electronic device (2000).

[0045] In one embodiment, the MQTT broker (110) may be a component included in an electronic device other than the electronic device (2000). For example, the MQTT broker (110) may be a component included in an external electronic device (3000) and implemented by executing a program or command stored in the memory of the external electronic device (3000). As another example, the MQTT broker (110) may be a component included in an external electronic device (e.g., an MQTT server) other than the electronic device (2000) and the external electronic device (3000). In this way, even if the MQTT broker (110) is included in an electronic device other than the electronic device (2000), it can mediate and manage MQTT protocol communication between the electronic device (2000) and the external electronic device (3000) by being connected to a client of the electronic device (2000) and a client of the external electronic device (3000) through a communication interface, respectively.

[0046] In one embodiment, the database (100) of the electronic device (2000) may include a client connected to an MQTT broker (110). The client may transmit a connection request to the MQTT broker (110), and the MQTT broker (110) may create a session to which the client is connected based on the connection request of the client. In one embodiment, the client may transmit a subscription request for a specific topic to the MQTT broker (110) in order to receive messages for the specific topic. The MQTT broker (110) may store subscription information of the client that requested the subscription and the topic to which the subscription request was made based on the subscription request of the client. In one embodiment, the client may transmit an MQTT protocol message published to a specific topic to the MQTT broker (110), and the MQTT broker (110) may identify a client that subscribes to the topic based on the subscription information of the client, and transmit the received MQTT protocol message to the identified client.

[0047] In one embodiment, the client may be a configuration implemented by at least one processor included in the electronic device (2000) and an external electronic device executing a program or instruction stored in a memory included in the electronic device (2000) and the external electronic device. Accordingly, the operations of the client described below may actually be performed by at least one processor included in the electronic device (2000) and the external electronic device.

[0048] In one embodiment, the electronic device (2000) may include a database (100). In one embodiment, the database (100) may be included in the memory of the electronic device (2000). In one embodiment, a client of the database (100) may perform MQTT protocol communication by being connected to an MQTT broker (110). In one embodiment, the client of the database (100) may generate an MQTT protocol message based on data stored in the database (100) and issue the generated MQTT protocol message to the MQTT broker (110). In one embodiment, the client of the database (100) may receive an MQTT protocol message from the MQTT broker (110) and perform management of data stored in the database (100) based on the received MQTT protocol message.

[0049] In one embodiment, the database (100) may include a graph database storing RDF data. In one embodiment, the MQTT broker (110) may receive an MQTT protocol message (10a) including a syntax for processing RDF data from a client of an external electronic device (3000), and transmit the received MQTT protocol message (10a) to the client of the database (100). In one embodiment, the client of the database (100) may perform a management task on the RDF data based on the received MQTT protocol message (10a). In one embodiment, the client of the database (100) may issue an MQTT protocol message (20a) including a result of the management task on the RDF data to the MQTT broker (110), and the MQTT broker (110) may transmit the issued MQTT protocol message (20a) to the client of the external electronic device (3000).

[0050] In this way, the electronic device (2000) according to one embodiment of the present disclosure can perform management tasks on RDF data included in the electronic device (2000) based on MQTT protocol messages received from an external electronic device (3000). In other words, a user of the external electronic device (3000) can remotely perform management tasks on RDF data stored in the electronic device (2000) via the MQTT protocol. Accordingly, the MQTT protocol, which is lightweight and efficient compared to other communication protocols and has characteristics such as low power characteristics, real-time communication, and continuous connectivity, can be utilized to perform management tasks on RDF data.

[0051] In one embodiment, the database (100) may include a key-value database that stores data as pairs of keys and corresponding values. The key-value database may include a plurality of key-value data pairs in which a unique key used to identify a data item is mapped to a value corresponding to the key. In one embodiment, the electronic device (2000) may receive a subscription request for a topic including a target key, which is one of a plurality of keys included in the key-value database, from an external electronic device (3000). Here, the target key and the target value may mean a key for which a client requests a query among a plurality of keys included in the key-value database and a value corresponding to the key.

[0052] In one embodiment, the MQTT broker (110) can receive an MQTT protocol message (10b) including a request for data for a target value corresponding to a target key included in a key-value database from a client of an external electronic device (3000), and transmit the received MQTT protocol message (10b) to the client of the database (100). In one embodiment, the client of the database (100) can issue an MQTT protocol message (20b) to the MQTT broker (110), which includes data for the target value based on the received MQTT protocol message (10b) and is published to a topic including the target key, and the MQTT broker (110) can transmit the issued MQTT protocol message (20b) to the client of the external electronic device (3000).

[0053] In this way, the electronic device (2000) according to one embodiment of the present disclosure can transmit data on a target value to the external electronic device (3000) that subscribes to a topic including a target key based on an MQTT protocol message received from the external electronic device (3000). Accordingly, a user of the external electronic device (3000) can more easily request data on a desired target value through the MQTT protocol. In addition, since the external electronic device (3000) can only receive data on the target value requested from the electronic device (2000), the message interpretation process can be simplified, thereby improving the performance of the MQTT protocol communication system.

[0054] The specific operations of the electronic device (2000) will be described in more detail through the drawings and descriptions thereof described below.

[0055] FIG. 2 is a flowchart illustrating an operation of an electronic device according to one embodiment of the present disclosure performing management tasks on RDF data.

[0056] Referring to FIG. 2, operations of an electronic device (2000) performing management tasks on RDF data will be briefly described, and detailed descriptions of each operation will be described with reference to subsequent drawings. The specific operations of the electronic device (2000) described below can be understood as being performed by at least one processor (3300) of the electronic device (2000) of FIG. 10.

[0057] In step S210, the electronic device (2000) may receive, from the external electronic device (3000), a first MQTT protocol message including a syntax for processing RDF (Resource Description Framework) data stored in the memory. In one embodiment, the database (100) included in the memory of the electronic device (2000) may include RDF data, and the first MQTT protocol message may include a message published to a topic subscribed to by a client of the database (100). In one embodiment, the MQTT broker (110) may transmit the received first MQTT protocol message to the client of the memory of the database (100) based on the subscription information of the client.

[0058] In one embodiment, the syntax for processing RDF data may include a syntax that can perform management tasks on RDF data by being executed by a client that manages RDF data. In one embodiment, the syntax for processing RDF data may include commands or strings defined as rules or conventions for performing management tasks on RDF data. In other words, the electronic device (2000) can perform management tasks on RDF data by executing commands or strings included in the syntax for processing RDF data. For example, a client of a memory can perform management tasks on RDF data included in the memory based on the syntax for processing RDF data included in a first MQTT protocol message.

[0059] In one embodiment, management operations on RDF data may include data processing operations such as Create, Read, Update, and Delete for RDF data. In other words, by performing management operations on RDF data, the electronic device (2000) may search RDF data, extract specific data included in RDF data, add new data to RDF data, or delete specific data from RDF data.

[0060] In one embodiment, the syntax for processing RDF data may include one of a SPARQL query syntax and an HTTP request syntax.

[0061] In one embodiment, the SPARQL query syntax may include commands defined according to SPARQL. For example, the SPARQL query syntax may include at least one of commands such as 'SELECT', 'CONSTRUCT', 'ASK', and 'DESCRIBE' for performing a Query operation of SPARQL. Accordingly, the electronic device (2000) may perform a task of searching and returning RDF data by executing commands for performing a Query operation of SPARQL. As another example, the SPARQL query syntax may include at least one of commands such as 'DELETE' and 'INSERT' for performing an Update operation of SPARQL. Accordingly, the electronic device (2000) may perform a task of changing the content of data, such as adding, modifying, and deleting RDF data, by executing commands for performing an Update operation of SPARQL. However, the SPARQL query syntax is not necessarily limited to the examples described above.

[0062] In one embodiment, the HTTP request syntax may include commands defined according to the HTTP protocol. For example, the HTTP request syntax may include commands for requesting the GET method, the POST method, the PUT method, and the DELETE method. Accordingly, the electronic device (2000) may perform at least one of reading, creating, updating, and deleting operations on RDF data by executing the HTTP request syntax.

[0063] In one embodiment, the maximum transmission capacity of MQTT protocol messages supported by the MQTT protocol can be determined based on the specifications of the network over which MQTT protocol communication is performed or the settings of the MQTT protocol system.

[0064] At step S220, the electronic device (2000) can perform management tasks on RDF data based on the first MQTT protocol message.

[0065] In one embodiment, the electronic device (2000) may receive a first MQTT protocol message from an external electronic device that includes some of the syntax required to perform a management task on RDF data when the syntax required to perform the management task exceeds the maximum transmission capacity of the first MQTT protocol message.

[0066] In one embodiment, the external electronic device (3000) can obtain syntax required to perform management tasks on RDF data based on user input, and identify whether the total size of the obtained syntax exceeds the maximum transmission capacity of the MQTT protocol message. In one embodiment, if the total size of the obtained syntax exceeds the maximum transmission capacity of the MQTT protocol message, the external electronic device (3000) can obtain a plurality of MQTT protocol messages including the divided syntax by splitting the obtained syntax into a size less than or equal to the maximum transmission capacity of the MQTT protocol message.

[0067] In one embodiment, the external electronic device (3000) transmits a plurality of acquired MQTT protocol messages to the electronic device (2000), so that the electronic device (2000) can receive an MQTT protocol message including some of the syntax required to perform a management task from the external electronic device. In one embodiment, the electronic device (2000) can acquire all of the syntax required to perform the management task based on the syntax included in the plurality of received MQTT protocol messages, and perform the management task on RDF data by executing the entire acquired syntax.

[0068] In one embodiment, the electronic device (2000) may transmit a second MQTT protocol message including the result of a management task on RDF data to an external electronic device. In one embodiment, the electronic device (2000) may perform a management task on the RDF data and obtain a result of the management task. In one embodiment, the result of the management task may include at least one of data on whether the management task was successful and RDF data related to the management task, depending on the type of the management task. For example, when the electronic device (2000) performs a task related to retrieving or reading RDF data, the RDF data to be retrieved or read may be obtained as a result of the management task. As another example, when the electronic device (2000) performs a task related to creating and updating RDF data, data on whether the creation and update were successful may be obtained as a result of the management task. However, the present invention is not necessarily limited to the examples described above.

[0069] In one embodiment, the second MQTT protocol message may include a message published to a topic subscribed to by the client of the external electronic device (3000). In one embodiment, the first MQTT protocol message may include at least one of data for a 'response-topic' of the MQTT protocol and data for a 'correlation-data property'. In one embodiment, the client of the database (100) may identify a topic subscribed to by the client of the external electronic device (3000) based on the data for the 'response-topic' included in the first MQTT protocol message. In one embodiment, the client of the database (100) may identify a response ID for the client of the external electronic device (3000) to distinguish which request the second MQTT protocol message is related to based on the data for the 'correlation-data property'. In one embodiment, the client of the database (100) may publish the second MQTT protocol message to the identified topic based on the identified topic or include the response ID in the second MQTT protocol message. In one embodiment, the MQTT broker (110) may transmit a second MQTT protocol message to a client of an external electronic device (3000) that subscribes to the identified topic based on the client's subscription information.

[0070] In one embodiment, if data obtained as a result of a management task exceeds the maximum transmission capacity of a second MQTT protocol message, the electronic device (2000) may divide the obtained data and transmit a second MQTT protocol message including the divided data to an external electronic device (3000).

[0071] In one embodiment, when the electronic device (2000) obtains the result of a management task for RDF data, it can identify whether the data obtained as a result of the management task exceeds the maximum transmission capacity of an MQTT protocol message. In one embodiment, when the total size of the data obtained as a result of the management task exceeds the maximum transmission capacity of an MQTT protocol message, the electronic device (2000) can obtain a plurality of MQTT protocol messages including the divided data by splitting the data obtained as a result of the management task to have a size less than or equal to the maximum transmission capacity of the MQTT protocol message.

[0072] In one embodiment, the electronic device (2000) can transmit an MQTT protocol message including segmented data to the external electronic device (3000) by transmitting the acquired multiple MQTT protocol messages to the external electronic device (3000). The external electronic device (3000) can obtain entire data representing the result of the management task based on the segmented data included in the acquired multiple MQTT protocol messages.

[0073] In this way, the electronic device (2000) according to one embodiment of the present disclosure can receive syntax for processing RDF data or transmit the result of a management task of RDF data even through an MQTT protocol message with a small maximum transmission capacity.

[0074] In one embodiment, the first MQTT protocol message may include a message published to one of a plurality of preset topics corresponding to a plurality of types of management operations. In one embodiment, the management operations may be classified into one of the plurality of types based on a command included in the syntax, and a client of the database (100) may subscribe to a plurality of preset topics corresponding to the plurality of types. For example, if the MQTT protocol message includes a command for performing a Query operation of a SPARQL query syntax, it may be published to the 'mde / graphdb / query' topic, and if it includes a command for performing an Update operation of the SPARQL query syntax, it may be published to the 'mde / graphdb / update' topic. As another example, if the MQTT protocol message includes a command for requesting an HTTP method by specifying specific graph data, it may be published to the 'mde / graphdb / store' topic, and if it includes a command for requesting an HTTP method for all graph data, it may be published to the 'mde / graphdb / store / all' topic.

[0075] In this way, the electronic device (2000) according to one embodiment of the present disclosure can transmit MQTT protocol messages issued to preset topics according to multiple types of management tasks for RDF data to the client of the database (100). In other words, the client of the database (100) can perform management tasks for RDF data by implementing them for each function by receiving MQTT protocol messages through multiple topics corresponding to multiple types of management tasks for RDF data.

[0076] In one embodiment, the first MQTT protocol message may include metadata related to the format of data in the User Property field of the MQTT protocol. In one embodiment, the User Property field of the MQTT protocol message may include metadata related to the format of data composed of key-value data pairs in the MQTT protocol message. In one embodiment, a client receiving the MQTT protocol message may analyze the MQTT protocol message or generate a response message for the received MQTT protocol message based on the metadata related to the format of data included in the Property field of the MQTT protocol.

[0077] In one embodiment, metadata associated with the data format may include at least one of a Content-Type header value and an Accept header value.

[0078] In one embodiment, the Content-Type header value may include metadata expressing the format of data included in the MQTT protocol message issued by the client according to the Multipurpose Internet Mail Extensions (MIME) standard. For example, the Content-Type header value may include SPARQL query syntaxes such as 'sparql-update' and 'sparql-query', or may include data indicating the format of graph data such as "application / n-triples" and "application / n-quads", but is not necessarily limited to the examples described above.

[0079] In one embodiment, the Accept header value may include metadata indicating the format of the data of the response message requested by the client that issued the MQTT protocol message, expressed according to the MIME standard. For example, the Accept header value may include metadata indicating the format of text data, such as 'json', 'xml', 'csv', or 'tsv', or may include metadata indicating the format of graph data, such as 'xml', 'n-triples', or 'turtle', but is not necessarily limited to the examples described above.

[0080] FIGS. 3A and 3B are diagrams illustrating an MQTT protocol message including a SPARQL query syntax according to one embodiment of the present disclosure.

[0081] Referring to FIGS. 3A and 3B, the memory of the electronic device (2000) may include a graph database (100a) containing RDF data. The graph database (100a) may include a client that manages the RDF data and communicates with an MQTT broker (110).

[0082] Referring to FIG. 3A, the electronic device (2000) may receive an MQTT protocol message (310a) including an INSERT query of a SPARQL query syntax from an external electronic device (3000). In one embodiment, the MQTT protocol message (310a) including the INSERT query is a message published to the 'mde / graphdb / update' topic, and may include a syntax including a Content-Type header value and a syntax including an INSERT query.

[0083] In one embodiment, the MQTT broker (110) can transmit an MQTT protocol message (310a) including an INSERT query received by the electronic device (2000) to a client of the graph database (100a) that subscribes to the 'mde / graphdb / update' topic. In one embodiment, the client of the graph database (100a) can perform management tasks on the RDF data by executing an INSERT query on the RDF data based on the MQTT protocol message (310a) including the received INSERT query.

[0084] In one embodiment, if the execution of an INSERT query is successful, the client of the graph database (100a) may issue an MQTT protocol message including the execution result of the query and transmit it to the MQTT broker (110). For example, if the execution of an INSERT query is successful, the client of the graph database (100a) may transmit an MQTT protocol message (320a) including a phrase indicating the success result to the MQTT broker (110). As another example, if the execution of an INSERT query fails, the client of the graph database (100a) may transmit an MQTT protocol message (330a) including a phrase indicating the failure result to the MQTT broker (110).

[0085] Referring to FIG. 3b, the electronic device (2000) may receive an MQTT protocol message (310b) including a SELECT query of a SPARQL query syntax from an external electronic device (3000). In one embodiment, the MQTT protocol message (310b) including the SELECT query is a message published to the 'mde / graphdb / query' topic, and may include a syntax including a Content-Type header value, a syntax including an Accept header value, and a syntax including a SELECT query. In one embodiment, the syntax including the SELECT query may include data indicating that the type of the query is 'SELECT'.

[0086] In one embodiment, the MQTT broker (110) can transmit an MQTT protocol message (310a) including a SELECT query received by the electronic device (2000) to a client of the graph database (100a) that subscribes to the 'mde / graphdb / query' topic. In one embodiment, the client of the graph database (100a) can perform management tasks on the RDF data by executing a SELECT query on the RDF data based on the MQTT protocol message (310a) including the received SELECT query.

[0087] In one embodiment, if the execution of a SELECT query is successful, the client of the graph database (100a) may issue an MQTT protocol message including the execution result of the query and transmit it to the MQTT broker (110). For example, if the execution of a SELECT query is successful, the client of the graph database (100a) may transmit an MQTT protocol message (320b) including a syntax indicating data to be extracted according to the SELECT query to the MQTT broker (110). As another example, if the execution of a SELECT query fails, the client of the graph database (100a) may transmit an MQTT protocol message (330b) including a syntax indicating a failure result to the MQTT broker (110).

[0088] In one embodiment, an MQTT protocol message including the execution result of the query of FIGS. 3A and 3B may be published to the 'mde / graphdb / update / response' topic. In one embodiment, the topic to which the MQTT protocol message including the execution result of the query is published may be a topic preset in an MQTT protocol communication system composed of an MQTT broker (110) and a client, or a topic identified by the client of the graph database (100a) based on data for 'response-topic' included in an MQTT protocol message received from an external electronic device (3000). In one embodiment, the MQTT broker (110) may transmit the MQTT protocol message including the execution result of the query to the client of the external electronic device (3000) that subscribes to the 'mde / graphdb / update / response' topic.

[0089] FIG. 4 is a diagram illustrating an MQTT protocol message including an HTTP request syntax according to one embodiment.

[0090] Referring to FIG. 4, the electronic device (2000) may receive an MQTT protocol message including an HTTP POST request from an external electronic device (3000). For example, the MQTT protocol message including the HTTP POST request may include an MQTT protocol message (410a) that requests an HTTP POST by specifying specific graph data and an MQTT protocol message (410b) that includes an HTTP POST request targeting the entire graph data.

[0091] In one embodiment, an MQTT protocol message (410a) requesting an HTTP POST by specifying specific graph data is a message published to the 'mde / graphdb / store' topic, and may include a syntax including a Content-Type header value, a syntax indicating that the HTTP method is a POST request, and a syntax including specific graph data that is the target of the HTTP POST.

[0092] In one embodiment, an MQTT protocol message (410b) containing an HTTP POST request targeting all graph data is a message published to the 'mde / graphdb / store / all' topic, and may include a syntax including a Content-Type header value, a syntax indicating that the HTTP method is a POST request, and a syntax including all graph data that is the target of the HTTP POST.

[0093] In one embodiment, the MQTT broker (110) may transmit an MQTT protocol message including an HTTP POST request from the electronic device (2000) to a client of the graph database (100a). For example, the electronic device (2000) may transmit an MQTT protocol message (410a) requesting an HTTP POST by specifying specific graph data to a client of the graph database (100a) that subscribes to the topic 'mde / graphdb / store'. As another example, the electronic device (2000) may transmit an MQTT protocol message (410b) including an HTTP POST request for all graph data to a client of the graph database (100a) that subscribes to the topic 'mde / graphdb / store / all'.

[0094] In one embodiment, a client of a graph database (100a) can perform management operations on RDF data by executing an HTTP POST method based on an MQTT protocol message including a received HTTP POST request. For example, a client of a graph database (100a) can execute an HTTP POST method on specific graph data included in an MQTT protocol message (410a) that requests an HTTP POST by specifying specific graph data. As another example, a client of a graph database (100a) can execute an HTTP POST method on all graph data included in an MQTT protocol message (410b) that includes an HTTP POST request targeting all graph data.

[0095] In one embodiment, a client of a graph database (100a) may transmit an MQTT protocol message including an execution result of an HTTP POST method to a client of the graph database (100a). For example, a client of a graph database (100a) may execute an HTTP POST method based on an MQTT protocol message (410a) requesting an HTTP POST by specifying specific graph data, and transmit an MQTT protocol message (420a) including a syntax indicating the execution result to an MQTT broker (110). As another example, a client of a graph database (100a) may execute an HTTP POST method based on an MQTT protocol message (410b) including an HTTP POST request for the entire graph data, and transmit an MQTT protocol message (420b) including a syntax indicating the execution result to an MQTT broker (110). In one embodiment, the syntax indicating the execution result of the HTTP POST method may include data regarding an address of a resource created based on the HTTP POST method.

[0096] In Fig. 4, only MQTT protocol messages including the POST method among HTTP request syntax are illustrated, but it is not necessarily limited thereto and can also be applied to the GET method, PUT method, and DELETE method. In one embodiment, the syntax indicating the execution result of the HTTP method may be different depending on the type of method of the HTTP request syntax. For example, as shown in Fig. 4, the execution result of the POST method may include data on whether it is successful and a resource address, but the execution result of the GET method may include data on whether it is successful and the RDF data for which a search is requested, and is not necessarily limited to the above-described examples.

[0097] FIG. 5 is a diagram illustrating an MQTT protocol message including metadata related to the format of data in an attribute field according to one embodiment of the present disclosure.

[0098] In one embodiment, an MQTT protocol message containing syntax for processing RDF data may include metadata regarding the format of the data in a user properties field of the MQTT protocol.

[0099] In one embodiment, an MQTT protocol message (510) that does not include a user properties field may include a syntax in its payload field that includes a Content-type header value such as "content-type": "application / sparql-query" and a syntax in its payload field that includes an Accept header value such as "accept": "application / sparql-results+json".

[0100] In one embodiment, an MQTT protocol message (520) including a user properties field may include a syntax including a SELECT query in a payload field, a syntax including a Content-type header value in a user properties field, and a syntax including an Accept header value.

[0101] In this way, the MQTT protocol message according to one embodiment of the present disclosure can more efficiently perform message analysis of the electronic device (2000) by including metadata related to the data format in a user property field rather than a payload field.

[0102] FIG. 6 is a flowchart illustrating an operation of an electronic device according to one embodiment of the present disclosure to perform management operations on key-value data.

[0103] Referring to FIG. 6, an operation of an electronic device (2000) performing management tasks for key-value data will be schematically described, and a detailed description of each operation will be described with reference to subsequent drawings. The specific operations of the electronic device (2000) described below may be understood as being performed by at least one processor (3300) of the electronic device (2000) of FIG. 10.

[0104] In step S610, the electronic device (2000) may receive a subscription request for a topic including a target key, which is one of a plurality of keys included in a key-value database stored in a memory, from an external electronic device (3000). In one embodiment, the database (100) included in the memory of the electronic device (2000) may include a key-value database, and the subscription request may include an MQTT protocol message in which a client of the external electronic device (3000) requests a subscription to a topic including a target key, which is one of a plurality of keys of the key-value database. In one embodiment, the MQTT broker (110) may store subscription information of the client of the external electronic device (3000) and the client to which the topic including the target key is mapped based on the subscription request.

[0105] In one embodiment, a topic containing a target key may refer to a topic containing the target key in one of multiple topic levels. For example, if the target key is 'is_open' in a key-value database, the topic containing the target key may be a topic containing the target key in the last topic level, such as ' / noti / is_open'. However, the present invention is not necessarily limited to the above-described example, and the location of the topic level containing the target key may vary, or the target key may be contained in a topic level with other characters.

[0106] At step S620, the electronic device (2000) may receive, from an external electronic device, a first MQTT protocol message including a request for data regarding a target value, which is a value corresponding to a target key in a key-value database. In one embodiment, the MQTT broker (110) may transmit the first MQTT protocol message to a client of the database (100) based on the client's subscription information.

[0107] In one embodiment, a request for data regarding a target value may include a syntax indicating a method for requesting data. For example, a request for data regarding a target value may include a 'get' syntax indicating a method for requesting data regarding a target value currently contained in a key-value database. As another example, a request for data regarding a target value may include a 'subscribe' syntax indicating a method for requesting data regarding a changed target value when the target value currently contained in the key-value database changes. However, the present invention is not necessarily limited to the examples described above.

[0108] In step S630, the electronic device (2000) may obtain a second MQTT protocol message based on the first MQTT protocol message, which includes data for a target value and is published to a topic including a target key. In one embodiment, a request for data for a target value may include a target key. In one embodiment, a client of the database (100) may extract data for a target value corresponding to a target key from a key-value database according to a data request method included in the first MQTT protocol message, and publish a second MQTT protocol message including the extracted data to a topic including the target key. In one embodiment, the second MQTT protocol message published by the client of the database (100) may be transmitted to the MQTT broker (110).

[0109] In one embodiment, the first MQTT protocol message may include an identifier for identifying data included in the second MQTT protocol message among data stored as target values ​​included in the database. In one embodiment, some of the data stored as target values ​​in the key-value database may be included as data for the target value in the second MQTT protocol message. In one embodiment, the identifier may include a character or command for specifying data included in the second MQTT protocol message among the data stored as target values. In one embodiment, the first MQTT protocol message may further include a separator for distinguishing the identifier from other characters or commands.

[0110] In one embodiment, the electronic device (2000) can extract a portion of data stored as a target value based on an identifier, and obtain a second MQTT protocol message including the extracted data. In one embodiment, the client of the database (100) can extract a portion of data stored as a target value corresponding to a target key included in a key-value database based on a target key and identifier included in a first MQTT protocol message, and issue a second MQTT protocol message including the extracted data.

[0111] In one embodiment, the identifier may include an index indicating the position of an element in data of an array structure. In one embodiment, the electronic device (2000) may extract an element corresponding to the index from data of the array structure, which is data stored as a target value. For example, the identifier may include an index that increases in number according to the order in which the elements are located, such as '[0]' indicating the first positioned element in the data of the array structure and '[1]' indicating the second positioned element, or an index such as '[-1]' indicating the last positioned element.

[0112] In one embodiment, the identifier may include a string corresponding to a sub-key in data in a JavaScript Object Notation (JSON) structure. In one embodiment, the electronic device (2000) may extract a value corresponding to the string from data in a JSON structure, which is data stored as a target value. For example, if data in a JSON structure includes sub-keys 'owner' and 'age', the identifier may include 'owner', which is one of the multiple sub-keys.

[0113] In one embodiment, the electronic device (2000) can identify a topic including a target key based on a target key included in a first MQTT protocol message. A client of the database (100) can identify a topic including a target key based on the target key included in the first MQTT protocol message, and issue a second MQTT protocol message to the topic including the identified target key. In one embodiment, information on topic levels other than the target key in the topic including the target key can be preset, and the client of the database (100) can identify a topic including the target key based on the target key and information on the remaining topic levels other than the preset target key.

[0114] In one embodiment, a topic including a target key may further include an identifier. In one embodiment, the electronic device (2000) may receive a subscription request for a topic including an identifier and a target key from an external electronic device (3000), and store subscription information of a client of the external electronic device (3000) to which a topic including the identifier and the target key is mapped. In one embodiment, the electronic device (2000) may identify a topic including an identifier and a target key based on the target key and identifier included in a first MQTT protocol message, and obtain a second MQTT protocol message published to the topic including the identifier and the target key.

[0115] In one embodiment, the electronic device (2000) may obtain the second MQTT protocol message including data for a target value excluding data for a target key. In one embodiment, the client of the database (100) may extract only data for a target value from data in which a target key and a target value are mapped included in a key-value database, and issue a second MQTT protocol message including the extracted data. In this case, since the second MQTT protocol message is transmitted to a client subscribing to a topic including the target key, even if the second MQTT protocol message does not include data for the target key, the data for the target value included in the message may be processed as a target value corresponding to the topic to which the second MQTT protocol message is issued. In other words, since the second MQTT protocol message does not include data for an unnecessary target key, the cost required for transmitting the message may be reduced.

[0116] At step S640, the electronic device (2000) may transmit a second MQTT protocol message to an external electronic device. In one embodiment, the second MQTT protocol message issued by the client of the database (100) may be transmitted to the MQTT broker (110). In one embodiment, the MQTT broker (110) may transmit the second MQTT protocol message to the client of the external electronic device (3000) that subscribes to a topic including a target key based on the client's subscription information.

[0117] FIG. 7 is a diagram illustrating an operation of an electronic device according to one embodiment of the present disclosure receiving a subscription request for a topic including a target key.

[0118] Referring to FIG. 7, a key-value database (100b) may include a plurality of key-value data pairs (120). In one embodiment, an electronic device (2000) may receive a subscription request for a topic including a target key, which is one of a plurality of keys included in the key-value database (100b), from clients A (710a), B (710b), and C (710c). In one embodiment, the electronic device (2000) may store client subscription information (730) in which a topic including the target key and a client are mapped based on the received subscription request. In one embodiment, clients A (710a), B (710b), and C (710c) may be clients included in different external electronic devices, respectively. However, the present invention is not limited to the above-described example, and two or more clients may be independently driven in the same external electronic device.

[0119] For example, client A (710a) can send a subscription request (720a) for a topic ' / noti / in_open' containing a target key 'is_open' to the MQTT broker (110). Based on the subscription request (720a) received from client A (710a), the MQTT broker (110) can map ' / noti / is_open' to client A (710a) and store it in the client's subscription information (730).

[0120] As another example, client B (710b) may transmit a subscription request (720b) ​​for a topic ' / noti / in_open' including a target key 'is_open' and a subscription request (722b) for a topic ' / noti / opentime_list$[-1]' including a target key 'opentime_list' and an identifier '[-1]' to the MQTT broker (110). Here, '[-1]' included in ' / noti / opentime_list$[-1]' means an index indicating the position of the last element in the data of the array structure corresponding to 'opentime_list' among a plurality of key-value data pairs (120), and '$' may mean a delimiter for distinguishing an identifier from other characters except for the identifier in a topic including a target value. The MQTT broker (110) can map ' / noti / is_open' and ' / noti / opentime_list$[-1]' to client B based on subscription requests (720b, 722b) received from client B (710b) and store them in the client's subscription information (730).

[0121] As another example, client C (710c) may transmit a subscription request (720c) for a topic ' / noti / owner_info&owner' including a target key 'owner_info' and an identifier 'owner' to the MQTT broker (110). Here, the identifier 'owner' may mean a string corresponding to the subkey 'onwer' in the data of the JSON structure, which is a value corresponding to 'owner_info' among a plurality of key-value data pairs (120). The MQTT broker (110) may map ' / noti / owner_info&owner' to client C based on the received subscription request (720c) and store it in the client's subscription information (730).

[0122] As such, according to one embodiment of the present disclosure, a topic to which an MQTT protocol message including data regarding a target value is issued may include a target key. In other words, a client of an external electronic device can, by requesting a subscription to a topic including the target key, receive an MQTT protocol message including data regarding a target value corresponding to the target key issued to the topic including the target key. In other words, since data regarding a target value contained in a database can be obtained using only the target key, a user can more easily access the database without special knowledge of the database structure.

[0123] FIG. 8 is a diagram illustrating an operation of an electronic device according to an embodiment of the present disclosure receiving a first MQTT protocol message including a request for data regarding a target value. The operation of the electronic device (2000) described in FIG. 8 may be understood as being performed after the operation of the electronic device (2000) described in FIG. 7.

[0124] Referring to FIG. 8, the electronic device (2000) can receive an MQTT protocol message including a request for data for a target value, which is a value corresponding to a target key included in a key-value database (100b), from client A (710a), client B (710b), and client C (710c).

[0125] For example, client A (710a) may transmit an MQTT protocol message (820a) including a request for data for a target value corresponding to a target key 'is_open' to the MQTT broker (110). In one embodiment, the MQTT protocol message (820a) received from client A (710a) is a message published to a topic ' / pvd', and the MQTT broker (110) may transmit the MQTT protocol message (820a) received from client A (710a) to 'Contexthub', which is a client of a key-value database (100b) that subscribes to the topic ' / pvd', based on the client's subscription information (730).

[0126] As another example, client B (710b) may transmit an MQTT protocol message (820b) including a request for data for a target value corresponding to a target key 'is_open' and an MQTT protocol message (822b) including a request for data for a target value corresponding to a target key 'opentime_list' to the MQTT broker (110). In one embodiment, the request for data for a target value corresponding to 'opentime_list' may include the identifier '[-1]. In one embodiment, the MQTT protocol messages (820b, 822b) received from client B (710b) are messages published to a topic ' / pvd', and the MQTT broker (110) may transmit the MQTT protocol messages (820b, 822b) received from client B (710b) to 'Contexthub', which is a client of a key-value database (100b) that subscribes to the topic ' / pvd', based on the client's subscription information (730).

[0127] As another example, client C (710c) may transmit an MQTT protocol message (820c) to the MQTT broker (110) that includes a request for data for a target value corresponding to a target key 'owner_info'. In one embodiment, the request for data for a target value corresponding to 'owner_info' may include an identifier 'owner'. In one embodiment, the MQTT protocol message (820c) received from client C (710c) is a message published to topic ' / pvd', and the MQTT broker (110) may transmit the MQTT protocol messages (820c) received from client B (710c) to 'Contexthub', which is a client of the key-value database (100b) that subscribes to topic ' / pvd', based on the client's subscription information (730).

[0128] FIGS. 9A, 9B, and 9C are diagrams illustrating operations of an electronic device according to an embodiment of the present disclosure to obtain a second MQTT protocol message including data regarding a target value. The operations of the electronic device (2000) described in FIGS. 9A, 9B, and 9C may be understood as being performed after the operations of the electronic device (2000) described in FIG. 8.

[0129] In one embodiment, the electronic device (2000) may obtain an MQTT protocol message including data for a target value and published to a topic including a target key based on an MQTT protocol message including a request for data for a target value. In one embodiment, the electronic device (2000) may parse the MQTT protocol message including the request for data for the target value to identify a target key corresponding to the target value and a data request method for the target value. In one embodiment, the electronic device (2000) may extract a target value corresponding to the identified target key according to the identified data request method, and obtain an MQTT protocol message including the extracted target value. In one embodiment, the electronic device (2000) may parse the MQTT protocol message including the request for data for the target value to identify a topic including the target key, and publish an MQTT protocol message including data for the target value to the topic including the identified target key.

[0130] For example, referring to FIG. 9a, the client of the key-value database (100b) can identify, based on the MQTT protocol message (820a) received from client A (710a) of FIG. 8 or the MQTT protocol message (820b) received from client B (710b), that the target key corresponding to the target value is 'is_open', and that the method of requesting data for the target value is a method of requesting data for the changed target value when the target value is changed. Accordingly, the client of the key-value database (100b) can extract the changed value, 'false', as data for the target value when the target value corresponding to the target key 'is_open' of the first data pair (121a) is changed from 'true' to 'false' (122a).

[0131] In one embodiment, the client of the key-value database (100b) can identify that the topic including the target key 'is_open', which is the topic to which client A (710a) and client B (710b) requested subscription, is ' / noti / is_open' based on the target key 'is_open' included in the MQTT protocol message (820a) received from client A (710a) and the MQTT protocol message (820b) received from client B (710b) of FIG. 8. In one embodiment, the client of the key-value database (100b) can publish an MQTT protocol message (841) to the topic ' / noti / is_open' including the identified target key. In one embodiment, the MQTT broker (110) can transmit an MQTT protocol message (941) to client A (710a) and client B (710b) that subscribe to the topic ' / noti / is_open' containing the target key based on the clients' subscription information (730).

[0132] As another example, referring to FIG. 9b, the client of the key-value database (100b) can identify, based on the MQTT protocol message (822b) received from the client B (710b) of FIG. 8, that the target key corresponding to the target value is 'opentime_list', and that the method of requesting data for the target value is a method of requesting data for the changed target value when the target value is changed. In addition, the client of the key-value database can identify, based on the identifier '[-1]' included in the MQTT protocol message (822b) received from the client B (710b), that the element extracted as data of the target value from the target value of the array structure is the last element in the array. Accordingly, when a new element '11:30' is added (122b) to the target value of the array structure corresponding to the target key 'opentime_list' of the second data pair (121b), the client of the key-value database (100b) can extract the added element '11:30' as data for the target value.

[0133] In one embodiment, the client of the key-value database (100b) can identify that the topic including the target key to which the client B (710a) requested to subscribe is ' / noti / opentime_list&[-1]' based on the target key and identifier 'opentime_list&[-1]' included in the MQTT protocol message (820b) received from the client B (710a) of FIG. 8. In one embodiment, the client of the key-value database (100b) can publish the MQTT protocol message (841) to the topic ' / noti / opentime_list&[-1]' including the identified target key. In one embodiment, the MQTT broker (110) can transmit the MQTT protocol message (942) to the client B (710b) that subscribes to the topic ' / noti / opentime_list&[-1]' including the target key based on the client's subscription information (730).

[0134] As another example, referring to FIG. 9c, the client of the key-value database (100b) can identify, based on the MQTT protocol message (822c) received from the client C (710c) of FIG. 8, that the target key corresponding to the target value is 'owner_info', and that the method of requesting data for the target value is a method of requesting data for the changed target value when the target value is changed. In addition, the client of the key-value database (100b) can identify that a value corresponding to the subkey 'owner' among the multiple subkeys included in the target value of the JSON structure is requested based on the identifier 'owner' included in the MQTT protocol message (822c) received from the client C (710c). Accordingly, the client of the key-value database (100b) can extract the changed value 'Mary' as data for the target value when the value of the subkey 'Owner' of the target value of the JSON structure corresponding to the target key 'owner_info' of the third data pair (121c) is changed from 'Tom' to 'Mary' (122c).

[0135] In one embodiment, the client of the key-value database (100b) can identify that the topic including the target key to which the client B (710a) requested to subscribe is ' / noti / opentime_list&[-1]' based on the target key and identifier 'owner_info&owenr' included in the MQTT protocol message (820c) received from the client B (710c) of FIG. 8. In one embodiment, the client of the key-value database (100b) can publish the MQTT protocol message (841) to the topic ' / noti / opentime_list&[-1]' including the identified target key. In one embodiment, the MQTT broker (110) can transmit the MQTT protocol message (942) to the client B (710b) that subscribes to the topic ' / noti / opentime_list&[-1]' including the target key based on the client's subscription information (730).

[0136] In this way, the electronic device (2000) according to one embodiment of the present disclosure can, in response to an MQTT protocol message including a request for data regarding a target value, publish an MQTT protocol message including data regarding a target value to a topic including a target key. In this case, since the target key differs depending on the requested target value, responses to requests for data regarding multiple target values ​​can be published to different topics. Accordingly, multiple clients can receive MQTT protocol messages including data regarding the target values ​​they have requested, thereby preventing unnecessary communications.

[0137] FIG. 10 is a diagram for explaining an MQTT protocol communication system according to one embodiment of the present disclosure.

[0138] Referring to FIG. 10, a first electronic device (2000-1), a second electronic device (2000-2), an external electronic device (3000), and an MQTT server (4000) can perform MQTT protocol communication. In one embodiment, the MQTT server (4000) can include an MQTT broker (110). The MQTT broker (110) manages a session in which a client of the first electronic device (2000-1), a client of the second electronic device (2000-2), and a client of the external electronic device (2000) are connected, receives an MQTT protocol message issued by each client, and transmits the received MQTT protocol message to each client. Here, the client of the first electronic device (2000-1) can manage data stored in the first database (100-1), and the client of the second electronic device (2000-2) can manage data stored in the second database (100-2).

[0139] In one example, the MQTT server (4000) can receive connection requests from a client of a first electronic device (2000-1), a client of a second electronic device (2000-2), and a client of an external electronic device (3000). The MQTT server (4000) can create a session to which each client is connected based on the received connection requests. In one embodiment, the client of the first electronic device (2000-1), the client of the second electronic device (2000-2), and the client of the external electronic device (3000) can transmit a subscription request for a specific topic to the MQTT server (4000) in order to receive messages for the specific topic. The MQTT server (4000) can store subscription information of a client that requested a subscription and a client to which a topic for which a subscription request is requested is mapped based on the received subscription request. In one embodiment, the MQTT server (4000) may store subscription information of a client that requested a subscription and a client to which a topic for which a subscription request was requested is mapped based on the subscription request of each client.

[0140] In one embodiment, a client of a first electronic device (2000-1), a client of a second electronic device (2000-2), and a client of an external electronic device (3000) can transmit an MQTT protocol message published to a specific topic to an MQTT server (4000), and the MQTT server (4000) can identify a client that subscribes to the topic based on the subscription information of the client, and transmit the received MQTT protocol message to the identified client.

[0141] In this way, the MQTT protocol communication system according to one embodiment of the present disclosure can transmit and receive MQTT protocol messages between the electronic device (2000), the first electronic device (2000-1), the second electronic device (2000-2), and the external electronic device (3000) by including the MQTT broker (110) in the MQTT server (4000). Since the specific details of the first electronic device (2000-1), the second electronic device (2000-2), and the external electronic device (3000) transmitting and receiving MQTT protocol messages have been described above, a redundant description will be omitted.

[0142] FIG. 11 is a block diagram illustrating a configuration of an electronic device according to one embodiment of the present disclosure.

[0143] Referring to FIG. 11, the electronic device (2000) may include a communication interface (2100), a memory (2200), and a processor (2300). The communication interface (2100), the memory (2200), and the processor (2300) may each be electrically and / or physically connected to each other. In one embodiment, the electronic device (2000) may be a server including a high-performance computing device capable of processing operations and tasks using large amounts of data.

[0144] The components illustrated in FIG. 11 are only according to one embodiment of the present disclosure, and the components included in the electronic device (2000) are not limited to those illustrated in FIG. 11. The electronic device (2000) according to one embodiment of the present disclosure may not include some of the components illustrated in FIG. 11, and may further include components not illustrated in FIG. 11. For example, the electronic device (2000) may include a display that outputs MQTT protocol messages, or may include a user input unit that inputs data included in MQTT protocol messages.

[0145] The communication interface (2100) can perform data communication with other electronic devices under the control of the processor (2300).

[0146] The communication interface (2100) may include a communication circuit that can perform data communication between the electronic device (2000) and another electronic device (e.g., an external electronic device (3000)) using at least one of data communication methods including, for example, wired LAN, wireless LAN, Wi-Fi, Bluetooth, ZigBee, Wi-Fi Direct (WFD), infrared Data Association (IrDA), Bluetooth Low Energy (BLE), Near Field Communication (NFC), Wireless Broadband Internet (Wibro), World Interoperability for Microwave Access (WiMAX), Shared Wireless Access Protocol (SWAP), Wireless Gigabit Alliances (WiGig), and RF communication.

[0147] In one embodiment, the communication interface (2100) can perform MQTT protocol communication with another electronic device. For example, the communication interface (2100) can receive a subscription request for a specific topic from an external electronic device (3000) or an MQTT protocol message published for a specific topic. As another example, the communication interface (2100) can transmit an MQTT protocol message published for a specific topic acquired by the electronic device (2000) to the external electronic device (3000). However, the present invention is not limited to the above-described example, and the communication interface (2100) can transmit or receive various data transmitted and received in MQTT protocol communication under the control of the processor (2300).

[0148] The memory (2200) may store instructions, data structures, and program codes that can be read by the processor (2300). Operations performed by the processor (2300) may be implemented by executing instructions or codes of a program stored in the memory (2200).

[0149] The memory (2200) may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), and may include a non-volatile memory including at least one of a ROM (Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a PROM (Programmable Read-Only Memory), a magnetic memory, a magnetic disk, and an optical disk, and a volatile memory such as a RAM (Random Access Memory) or an SRAM (Static Random Access Memory).

[0150] In one embodiment, the memory (2220) may include a graph database (2210). The graph database (2210) may include RDF data. At least one processor (2300) may perform management tasks on the RDF data included in the graph database (2210) based on a syntax for processing the RDF data. Since the graph database (2210) may correspond to the graph database (100a) of FIGS. 3A, 3B, and 4, a redundant description thereof will be omitted.

[0151] In one embodiment, the memory (2220) may include a key-value database (2220). The key-value database (2220) may include a plurality of key-value data pairs in which a unique key and a corresponding value are mapped. At least one processor (2300) may perform management tasks on key-value data stored in the key-value database (2220). Since the key-value database (2220) may correspond to the key-value database (100b) of FIGS. 7, 8, 9A, 9B, and 9C, a redundant description thereof will be omitted.

[0152] In one embodiment, the memory (2200) may store one or more instructions and / or programs that cause the electronic device (2000) to perform operations. For example, the memory (2200) may further store instructions and / or programs for implementing an MQTT broker that performs MQTT protocol communication, a client of a graph database (2210), and a client of a key-value database (2220). As another example, the memory (2200) may further store instructions and / or programs for performing RDF data management tasks or key-value data management tasks. In one embodiment, the memory (2200) may include multiple memories, and one or more instructions and / or programs that cause the electronic device (2000) to perform operations may be stored in one memory or may be stored in multiple memories.

[0153] The processor (2300) can control the overall operations of the electronic device (2000). For example, at least one processor (2300) can execute one or more instructions of a program stored in the memory (2200), thereby allowing the electronic device (2000) to perform MQTT protocol communication and perform RDF data management tasks. As another example, at least one processor (2300) can execute one or more instructions of a program stored in the memory (2200), thereby allowing the electronic device (2000) to perform MQTT protocol communication and perform key-value data management tasks. In one embodiment, the processor (2300) can include multiple processors.

[0154] The processor (2300) may be configured with at least one of, for example, a central processing unit, a microprocessor, a graphic processing unit, an application specific integrated circuits (ASICs), a digital signal processor (DSPs), a digital signal processing device (DSPDs), a programmable logic device (PLDs), a field programmable gate array (FPGAs), an application processor, a neural processing unit, or an artificial intelligence processor designed with a hardware structure specialized for processing an artificial intelligence model, but is not limited thereto.

[0155] The processor (2300) can perform management tasks for RDF data or key-value data by executing an MQTT broker and client to perform MQTT protocol communication. Descriptions related to management tasks for RDF data and key-value data have already been described in the descriptions of previous drawings, so redundant descriptions are omitted.

[0156] When a method according to an embodiment of the present disclosure includes multiple operations, the multiple operations may be performed by a single processor or by multiple processors. For example, when a first operation, a second operation, and a third operation are performed by a method according to an embodiment, the first operation, the second operation, and the third operation may all be performed by a first processor, or the first and second operations may be performed by a first processor and the third operation may be performed by a second processor. However, the embodiments of the present disclosure are not limited thereto.

[0157] One or more processors according to the present disclosure may be implemented as a single-core processor or a multi-core processor. If a method according to an embodiment of the present disclosure includes multiple operations, the multiple operations may be performed by a single core or by multiple cores included in one or more processors.

[0158] In one embodiment, at least one processor (2300) may receive, from an external electronic device, a first MQTT protocol message including a syntax for processing Resource Description Framework (RDF) data stored in a memory by executing one or more instructions.

[0159] In one embodiment, at least one processor (2300) can perform management tasks on RDF data based on a first MQTT protocol message by executing one or more instructions.

[0160] In one embodiment, at least one processor (2300) may receive, from an external electronic device, a first MQTT protocol message including some of the syntax required to perform a management task on RDF data by executing one or more instructions, if the syntax required to perform the management task exceeds the maximum transmission capacity of the first MQTT protocol message.

[0161] In one embodiment, at least one processor (2300) may transmit a second MQTT protocol message including a result of a management task to an external electronic device by executing one or more instructions.

[0162] In one embodiment, at least one processor (2300) may execute one or more instructions to segment the data obtained as a result of the management task if the data exceeds the maximum transmission capacity of the second MQTT protocol message.

[0163] In one embodiment, at least one processor (2300) may transmit a second MQTT protocol message including segmented data to an external electronic device by executing one or more instructions.

[0164] In one embodiment, an MQTT protocol message may include a message published to one of a plurality of predefined topics corresponding to a plurality of types of management operations.

[0165] In one embodiment, the first MQTT message may include metadata related to the format of the data in a User Property field of the MQTT protocol.

[0166] In one embodiment, metadata associated with the data format may include at least one of a Content-Type header value and an Accept header value.

[0167] In this way, the electronic device (2000) according to one embodiment of the present disclosure can perform management tasks on RDF data included in the electronic device (2000) based on MQTT protocol messages received from an external electronic device (3000). In other words, a user of the external electronic device (3000) can remotely perform management tasks on RDF data stored in the electronic device (2000) via the MQTT protocol. Accordingly, the MQTT protocol, which is lightweight and efficient compared to other communication protocols and has characteristics such as low power characteristics, real-time communication, and continuous connectivity, can be utilized to perform management tasks on RDF data.

[0168] In one embodiment, at least one processor (2300) may receive a subscription request for a topic including a target key, which is one of a plurality of keys included in a key-value database stored in a memory, from an external electronic device by executing one or more instructions.

[0169] In one embodiment, at least one processor (2300) may receive, from an external electronic device, a first MQTT protocol message including a request for data for a target value, the target value being a value corresponding to a target key included in a key-value database, by executing one or more instructions.

[0170] In one embodiment, at least one processor (2300) may obtain, by executing one or more instructions, a second MQTT protocol message that includes data for a target value and is published to a topic that includes a target key, based on the first MQTT protocol message.

[0171] In one embodiment, at least one processor (2300) may transmit a second MQTT protocol message to an external electronic device by executing one or more instructions.

[0172] In one embodiment, the first MQTT message may include an identifier for identifying data included in the second MQTT protocol message among data stored as target values ​​included in the key-value database.

[0173] In one embodiment, at least one processor (2300) may extract a portion of data stored as a target value based on an identifier by executing one or more instructions. In one embodiment, at least one processor (2300) may obtain a second MQTT protocol message including the extracted data.

[0174] In one embodiment, the identifier may include an index indicating the position of an element in data of an array structure. In one embodiment, at least one processor (2300) may extract an element corresponding to the index from data of the array structure, which is data stored as a target value.

[0175] In one embodiment, the identifier may include a string corresponding to a subkey in data in a JavaScript Object Notation (JSON) structure. In one embodiment, at least one processor (2300) may extract a value corresponding to the string from data in a JSON structure, which is data stored as a target value.

[0176] In one embodiment, a topic containing a target key may further include an identifier.

[0177] In one embodiment, at least one processor (2300) can identify a topic including a target key based on a target key included in a first MQTT protocol message by executing one or more instructions.

[0178] In one embodiment, at least one processor (2300) may obtain a second MQTT protocol message including data for a target value excluding data for a target key by executing one or more instructions.

[0179] In this way, the electronic device (2000) according to one embodiment of the present disclosure can transmit data on a target value to the external electronic device (3000) that subscribes to a topic including a target key based on an MQTT protocol message received from the external electronic device (3000). Accordingly, a user of the external electronic device (3000) can more easily request data on a desired target value through the MQTT protocol. In addition, since the external electronic device (3000) can only receive data on the target value requested from the electronic device (2000), the message interpretation process can be simplified, thereby improving the performance of the MQTT protocol communication system.

[0180] FIG. 12 is a block diagram illustrating a configuration of an external electronic device according to one embodiment of the present disclosure.

[0181] Referring to FIG. 12, the external electronic device (3000) may include a communication interface (3100), a memory (3200), a user input unit (3300), and a processor (3300). The communication interface (3100), the memory (3200), the user input unit (3300), and the processor (3400) may each be electrically and / or physically connected to each other.

[0182] The components illustrated in FIG. 12 are merely in accordance with one embodiment of the present disclosure, and the components included in the external electronic device (3000) are not limited to those illustrated in FIG. 12. The external electronic device (3000) according to one embodiment of the present disclosure may not include some of the components illustrated in FIG. 12, and may further include components not illustrated in FIG. 12. For example, the external electronic device (3000) may include a display that outputs MQTT protocol messages.

[0183] The communication interface (3100) can perform data communication with other electronic devices under the control of the processor (3400). Since the configuration, operation, and function of the communication interface (3100) correspond to the operation and function of the communication interface (2100) described in FIG. 11, a redundant description will be omitted.

[0184] The memory (3200) can store instructions, data structures, and program codes that can be read by the processor (3400). Operations performed by the processor (3400) can be implemented by executing instructions or codes of a program stored in the memory (3200). Since the configuration, operation, and function of the memory (3200) correspond to the operation and function of the communication interface (2100) described in FIG. 11, a duplicate description will be omitted.

[0185] The user input unit (3300) is a component for receiving various user inputs. In one embodiment, the user input unit (3300) may include a touch panel, a physical button, etc. In one embodiment, information entered through the user input unit (3300) may be provided to at least one processor (2800). In one embodiment, a syntax for processing RDF data or information about a target key may be entered through the user input unit (3300). However, the present invention is not necessarily limited to the above-described example, and various data included in an MQTT protocol message transmitted by an external electronic device (3000) may be entered through the user input unit (3300).

[0186] The processor (3400) can control the overall operations of the external electronic device (3000). In one embodiment, at least one processor (3400) can transmit an MQTT protocol message including a syntax for processing RDF data through MQTT protocol communication by executing one or more instructions of a program stored in the memory (3200). As another example, at least one processor (3400) can transmit an MQTT protocol message including a subscription request for a topic including a target key and a request for data for a target value through MQTT protocol communication by executing one or more instructions of a program stored in the memory (3200). In one embodiment, the processor (3400) can include a plurality of processors.

[0187] Since the operation and function of the processor (3400) correspond to the operation and function of the processor (3300) described in FIG. 11, redundant description will be omitted.

[0188] FIG. 13 is a block diagram illustrating the configuration of an MQTT server according to one embodiment of the present disclosure.

[0189] Referring to FIG. 13, the MQTT server (4000) may include a communication interface (4100), a memory (4200), a display (4300), and a processor (4300). The communication interface (4100), the memory (4200), the display (4300), and the processor (4300) may each be electrically and / or physically connected to each other.

[0190] The components illustrated in FIG. 13 are only according to one embodiment of the present disclosure, and the components included in the external electronic device (3000) are not limited to those illustrated in FIG. 13. The MQTT server (4000) according to one embodiment of the present disclosure may not include some of the components illustrated in FIG. 13, and may further include components not illustrated in FIG. 13. For example, the MQTT server (4000) may include a user input unit that receives user input related to an MQTT protocol message.

[0191] The communication interface (4100) can perform data communication with other electronic devices under the control of the processor (4400). Since the configuration, operation, and function of the communication interface (4100) correspond to the operation and function of the communication interface (2100) described in FIG. 11, a redundant description will be omitted.

[0192] The memory (4200) can store instructions, data structures, and program codes that can be read by the processor (3400). Operations performed by the processor (3400) can be implemented by executing instructions or codes of a program stored in the memory (3200). Since the configuration, operation, and function of the memory (3200) correspond to the operation and function of the communication interface (2100) described in FIG. 11, a duplicate description will be omitted.

[0193] The display (4300) is configured to display various information related to MQTT protocol communication. For example, the display (4300) may display information indicating that clients of the electronic device (2000) and clients of an external electronic device (3000) are connected to a created session, or display client subscription information indicating the mapping relationship between clients and topics. As another example, the display (4300) may display a subscription request for a topic that includes syntax or a target key for processing data in MQTT protocol messages transmitted and received between the electronic device (2000) and the external electronic device (3000).

[0194] The processor (4400) can control the overall operations of the MQTT server (4000). In one embodiment, at least one processor (4400) can transmit an MQTT protocol message including syntax for processing RDF data through MQTT protocol communication by executing one or more instructions of a program stored in the memory (4200). As another example, at least one processor (4400) can transmit an MQTT protocol message including a subscription request for a topic including a target key and a request for data for a target value through MQTT protocol communication by executing one or more instructions of a program stored in the memory (3200). In one embodiment, the processor (4400) can include a plurality of processors.

[0195] Since the operation and function of the processor (4400) correspond to the operation and function of the processor (4300) described in FIG. 11, redundant description will be omitted.

[0196] Meanwhile, embodiments of the present disclosure may also be implemented in the form of a recording medium containing computer-executable instructions, such as program modules, executed by a computer. Computer-readable media may be any available media that can be accessed by a computer, and include both volatile and nonvolatile media, removable and non-removable media. Furthermore, computer-readable media may include computer storage media and communication media. Computer storage media include both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Communication media may typically include computer-readable instructions, data structures, or other data in a modulated data signal, such as program modules.

[0197] Additionally, a computer-readable storage medium may be provided in the form of a non-transitory storage medium. Here, the term "non-transitory storage medium" simply means a tangible device that does not contain signals (e.g., electromagnetic waves). This term does not distinguish between cases where data is permanently stored in the storage medium and cases where data is temporarily stored. For example, a "non-transitory storage medium" may include a buffer in which data is temporarily stored.

[0198] The above description of the present disclosure is provided for illustrative purposes only, and those skilled in the art will readily appreciate that modifications to other specific forms can be made without altering the technical spirit or essential features of the present disclosure. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. For example, components described as being single may be implemented in a distributed manner, and similarly, components described as being distributed may be implemented in a combined manner.

[0199] The scope of the present disclosure is indicated by the claims described below rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present disclosure.

Claims

1. In an electronic device (2000) that performs MQTT (Message Queuing Telemetry Transport) protocol communication, A memory (2200) storing one or more instructions; and At least one processor (2300) that executes one or more instructions stored in the memory (2200); The electronic device (2000) executes the one or more instructions by the at least one processor (2300), Receive a first MQTT protocol message including a syntax for processing RDF (Resource Description Framework) data stored in the above memory (2200) from an external electronic device, An electronic device that performs management tasks on the RDF data based on the first MQTT protocol message.

2. In paragraph 1, The electronic device is configured such that the at least one processor executes the one or more instructions. An electronic device that receives, from the external electronic device, the first MQTT protocol message including some of the syntax required to perform the management task when the syntax required to perform the management task for the RDF data exceeds the maximum transmission capacity of the first MQTT protocol message.

3. In any one of paragraphs 1 to 3, The electronic device, by having at least one processor execute the one or more instructions, An electronic device that transmits a second MQTT protocol message containing the result of the above management task to the external electronic device.

4. In paragraph 3, The electronic device, by having at least one processor execute the one or more instructions, If the data obtained as a result of the above management task exceeds the maximum transmission capacity of the second MQTT protocol message, the obtained data is divided, An electronic device that transmits the second MQTT protocol message including the segmented data to the external electronic device.

5. In any one of paragraphs 1 to 4, The syntax for processing the above RDF data is: An electronic device comprising one of a SPARQL query syntax and an HTTP request syntax.

6. In any one of paragraphs 1 to 5, The above first MQTT protocol message is, An electronic device comprising a message published to one of a plurality of preset topics corresponding to a plurality of types of the above management tasks.

7. In an electronic device (2000) performing MQTT (Message Queuing Telemetry Transport) protocol communication, A memory (2200) storing one or more instructions; and At least one processor (2300) that executes one or more instructions stored in the memory (2200); The electronic device (2000) executes the one or more instructions by the at least one processor (2300), Receive a subscription request for a topic including a target key, which is one of a plurality of keys included in a key-value database stored in the above memory, from an external electronic device; Receiving a first MQTT protocol message from the external electronic device that includes a request for data for a target value that is a value corresponding to the target key included in the key-value database; Based on the first MQTT protocol message, a second MQTT protocol message is obtained that includes data for the target value and is published to a topic that includes the target key, An electronic device that transmits the second MQTT protocol message to the external electronic device.

8. In paragraph 7, The above first MQTT message is, An electronic device including an identifier for identifying data included in a second MQTT protocol message among data stored as the target value included in the key-value database.

9. In paragraph 8, The electronic device, by having at least one processor execute the one or more instructions, Extracting a portion of the data stored as the target value based on the identifier; An electronic device that obtains the second MQTT protocol message including the extracted data.

10. In any one of paragraphs 8 to 9, The above identifier is, Contains an index pointing to the position of an element in the data of an array structure, The electronic device, by having at least one processor execute the one or more instructions, An electronic device that extracts an element corresponding to the index from data of the array structure, which is data stored as the target value.

11. In any one of paragraphs 8 to 10, The above identifier is, Contains a string corresponding to a sub-key in data in the JSON (JavaScript Object Notation) structure, The electronic device, by having at least one processor execute the one or more instructions, An electronic device that extracts a value corresponding to the string from the data of the JSON structure, which is data stored as the target value.

12. In any one of paragraphs 8 to 11, Topics containing the above target key are: An electronic device further comprising the above identifier.

13. In any one of paragraphs 8 to 12, The electronic device, by having at least one processor execute the one or more instructions, An electronic device that identifies a topic containing a target key based on a target key included in the first MQTT protocol message.

14. In any one of paragraphs 8 to 13, The electronic device, by having at least one processor execute the one or more instructions, An electronic device that obtains the second MQTT protocol message including data for the target value excluding data for the target key.

15. A method for controlling an electronic device that performs MQTT (Message Queuing Telemetry Transport) protocol communication, A step (S610) of receiving a subscription request for a topic including a target key, which is one of a plurality of keys included in a key-value database stored in the memory of the electronic device, from an external electronic device; A step (S620) of receiving a first MQTT protocol message requesting data for a target value corresponding to the target key included in the key-value database from the external electronic device; A step (S630) of obtaining the second MQTT protocol message, which includes data for the target value and is published to a topic including the target key, based on the first MQTT protocol message; and A method comprising a step (S640) of transmitting the second MQTT protocol message to the external electronic device.

Citation Information

Patent Citations

  • Numerical control system password infrastructure based on domestic password algorithm and control method

    CN116318910A

  • Method for realizing file distribution in iot network based on mail protocol

    CN116708347A

  • Apparatus and method for logical grouping method of IoT connected client nodes using client identifier

    KR1020180073154A

  • System having the Semantic Engine based on RDF Graph for Autonomous Interaction between IoT Devices in Real-Time

    KR102094041B1

  • KR20190069230A