Machine Learning on the Blockchain
By dividing and allocating sub-data sets processed by IoT devices in a distributed ledger network, using smart contracts and blockchain technology, the problem of insufficient processing capabilities of IoT devices is solved, and efficient and secure machine learning data processing is achieved, which protects the User privacy and improve prediction accuracy.
Patent Information
- Application Number
- CN201980027933.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-04-25
- Filing Date
- 2019-04-25
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2039-04-25
AI Technical Summary
IoT devices are difficult to run machine learning models effectively due to insufficient storage and processing capabilities when processing machine learning data. Sending data to a centralized server increases costs and may harm user privacy, and compressed models may reduce prediction accuracy.
By dividing data into sub-data sets in a distributed ledger network and distributing them to multiple IoT devices for processing, smart contracts and blockchain technology are used to aggregate data processing and output, and a response to user queries is generated.
It enables the processing of machine learning data in a cost-effective and secure manner on IoT devices, improves prediction accuracy, and protects user privacy.
Smart Images

Figure CN112041860B_ABST
Abstract
Description
Technical Field
[0001] Embodiments herein relate to processing information, and more particularly, to processing information of Internet of Things (IoT) devices by using a distributed ledger network. Background Art
[0002] Typically, IoT devices generate data streams that need to be processed by using machine learning (ML) processes to learn the user's behavioral patterns or routines. However, it is difficult to use ML processes on devices such as IoT sensors because such sensors do not have sufficient memory and processing power to run ML processes on them. To solve this problem, the data can be sent to a Figure 1 and Figure 2 The ML model shown in the paper is stored on a centralized server, but maintaining this server is expensive and may compromise the privacy of users. If the ML model is compressed to run on IoT sensors, the accuracy of the prediction may be reduced. Summary of the invention
[0003] According to an embodiment, an electronic device is provided, comprising: a memory storing instructions; and at least one processor configured to execute the instructions to: in response to an input, identify a data set to be processed in response to the input; divide the data set into multiple sub-data sets; identify at least one electronic device that processes at least one sub-data set; assign the at least one sub-data set to the at least one electronic device to process the at least one sub-data set; and receive at least one output of the processed at least one sub-data set from the at least one electronic device to generate a response to the input. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The above and other advantages of the embodiments will be better understood through the following description with reference to the accompanying drawings, in which:
[0005] Figure 1 It is a diagram for explaining machine learning (ML) models and centralized servers;
[0006] Figure 2 is a schematic diagram showing communication between a server and an IoT device;
[0007] Figure 3 is a schematic diagram showing an IoT device according to an embodiment;
[0008] Figure 4a is a block diagram of an IoT device according to an embodiment;
[0009] Figure 4bis a block diagram of a processor included in an IoT device according to an embodiment;
[0010] Figure 5a is a flow chart illustrating a method of processing ML data on a distributed ledger network according to an embodiment;
[0011] Figure 5b is a flowchart illustrating a method of processing ML data by using a smart contract according to an embodiment;
[0012] Figure 5c is a flow chart illustrating a method according to an embodiment;
[0013] Figure 6a is a schematic diagram for explaining personalization of a washing machine according to an embodiment;
[0014] Figure 6b is a schematic diagram for explaining the use of a smart contract according to an embodiment;
[0015] Figure 7 is a schematic diagram for explaining a navigation system according to an embodiment;
[0016] Figure 8 is a schematic diagram for explaining a virtual assistant application using a server;
[0017] Fig. 9 is a schematic diagram for explaining an example scenario of a virtual assistance application according to an embodiment;
[0018] Fig.10 is a diagram used to explain the visitor verification process;
[0019] Fig.11 is a schematic diagram for explaining a visitor authentication process according to an embodiment;
[0020] Fig.12 is a schematic diagram for explaining a visitor authentication process according to an embodiment;
[0021] Fig.13 is a schematic diagram for explaining intelligent garbage collection according to an embodiment;
[0022] Fig.14 is a schematic diagram for explaining a smart home according to an embodiment;
[0023] Fig.15 is a schematic diagram for explaining smart fuel saving in a car according to an embodiment;
[0024] Fig.16 is a schematic diagram for explaining the partitioning of a machine learning model via forking according to an embodiment;
[0025] Fig.17 is a schematic diagram for explaining ML prediction using blockchain according to an embodiment;
[0026] Fig.18 is a schematic diagram for explaining a random forest on a blockchain according to an embodiment;
[0027] Fig.19 is a schematic diagram for explaining a decision tree trained model working as a smart contract on a node in a blockchain according to an embodiment; and
[0028] Fig. 20 It is a schematic diagram for explaining a deep neural network (DNN) on a blockchain according to an embodiment. DETAILED DESCRIPTION
[0029] Best Mode for Carrying Out the Invention
[0030] Aspects of the present disclosure are to address at least the above-mentioned problems and / or disadvantages and to provide at least the advantages described below.
[0031] According to an embodiment, an electronic device is provided, comprising: a memory storing instructions; and at least one processor configured to execute the instructions to: in response to an input, identify a data set to be processed in response to the input; divide the data set into multiple sub-data sets; identify at least one electronic device that processes at least one sub-data set; assign the at least one sub-data set to the at least one electronic device to process the at least one sub-data set; and receive at least one output of the processed at least one sub-data set from the at least one electronic device to generate a response to the input.
[0032] According to an embodiment, an electronic device is provided, comprising: a memory storing instructions; and at least one processor configured to execute the instructions to: receive a sub-data set divided from a data set from another electronic device, the data set being identified at the other electronic device for responding to the input; process the sub-data set to generate an output; and send the output of the processed sub-data set to the other electronic device to generate a response to the input.
[0033] According to an embodiment, a method is provided, comprising: in response to an input, identifying a data set to be processed in response to the input; dividing the data into multiple sub-data sets; identifying at least one electronic device that processes at least one sub-data set; assigning the at least one sub-data set to the at least one electronic device to process the at least one sub-data set; and receiving an output of the at least one sub-data set processed from the at least one electronic device to generate a response to the input.
[0034] According to an embodiment, a method is provided, comprising: receiving a sub-data set divided from a data set from another electronic device, wherein the data set is identified at the other electronic device for use in responding to an input; processing the sub-data set to generate an output; and sending the output of the processed sub-data set to the other electronic device to generate a response to the input.
[0035] According to an embodiment, there is provided a computer program comprising instructions, which, when the computer program is executed by at least one processor, cause the at least one processor to perform one of the above methods.
[0036] Therefore, an embodiment provides a method for IoT devices to assist in processing data in a distributed ledger network. The method includes receiving a query from a user by a first IoT device in the distributed ledger network. In addition, the method includes identifying, by the first IoT device, ML data for processing the query. In addition, the method includes dividing the ML data into a plurality of sub-models by the first IoT device. In addition, the method includes identifying, by the first IoT device, a plurality of second IoT devices capable of processing at least one sub-model of the ML data. In addition, the method includes executing, by the first IoT device, a smart contract between the first IoT device and a second IoT device from the plurality of second IoT devices that processes at least one of the plurality of sub-models. In addition, the method includes assigning, by the first IoT device, at least one sub-model from the plurality of sub-models to at least one second IoT device in a blockchain-based IoT network based on the smart contract. In addition, the method includes obtaining, by the first IoT device, output data of the remaining sub-models of the ML data from each of the second IoT devices. In addition, the method includes generating a response to the query by the first IoT device by processing the output data of the at least one sub-model processed by the first IoT device and the output of the remaining sub-models processed by the at least one second IoT device.
[0037] In an embodiment, assigning the remaining sub-model to the at least one second IoT device in the blockchain-based IoT network includes identifying the at least one second IoT device for processing the remaining sub-model based on at least one of capabilities, neighboring IoT devices of the first IoT device, and user-set priorities, executing at least one smart contract between the first IoT device and the at least one identified second IoT device for processing the remaining sub-model, and assigning the remaining sub-model to the at least one second IoT device for processing the remaining sub-model.
[0038] In an embodiment, generating a response to the query by processing the output data of the at least one sub-model processed by the first IoT device and the output of the remaining sub-models processed by the at least one second IoT device includes aggregating each of the output data of the at least one sub-model processed by the at least one second IoT device and the output of the at least one sub-model processed by the first IoT device to generate a trained machine learning model, and generating a response to the query by applying the trained machine learning model to the query.
[0039] In an embodiment, the output data of the first IoT device and the at least one second IoT device are added as separate blocks in the distributed ledger network.
[0040] In an embodiment, the at least one second IoT device processes the remaining sub-models according to the terms and specifications of the at least one smart contract.
[0041] In an embodiment, the first IoT device links at least one smart contract to a blockchain infrastructure, wherein a private ledger and a public ledger of the blockchain infrastructure are used to verify processing of the sub-model on the at least one second IoT device according to the smart contract.
[0042] In an embodiment, identifying, by the first IoT device, the plurality of second IoT devices having the capability of processing at least one sub-model of the ML data comprises detecting, by the first IoT device, the presence of a user in the distributed ledger network, obtaining, by the first IoT device, a profile of the user, and identifying, by the first IoT device, the plurality of second IoT devices having the capability of processing at least one sub-model of the ML data based on the profile.
[0043] In an embodiment, identifying, by the first IoT device, the plurality of second IoT devices having the capability to process at least one sub-model of the sub-model comprises detecting, by the first IoT device, a context associated with the ML data in a distributed ledger network, and identifying, by the first IoT device, the plurality of second IoT devices having the capability to process at least one sub-model of the ML data based on the context.
[0044] In an embodiment, identifying, by the first IoT device, the plurality of second IoT devices having the capability of processing at least one sub-model of ML data comprises: detecting, by the first IoT device, the presence of at least two users in a distributed ledger network; determining, by the first IoT device, a conflict to identify, in response to the presence of the at least two users in the distributed ledger network, the plurality of second IoT devices having the capability of processing at least one sub-model of ML data; and identifying, by the first IoT device, the plurality of second IoT devices having the capability of processing at least one sub-model of ML data based on a setting.
[0045] In an embodiment, the setting includes at least one of a first come first serve (FCFS) setting, a last come first serve (LCFS) setting, and a voting-based setting.
[0046] In an embodiment, a trained machine learning model is generated by: receiving a query from a first IoT device, selecting the at least one second IoT device from the plurality of IoT devices based on capabilities of each of the IoT devices to process the received query, partitioning the query into labeled data and unlabeled data, identifying at least one second IoT device to process the labeled data and the unlabeled data, and aggregating data results of each partition.
[0047] Therefore, embodiments of the present invention provide a method for IoT devices to assist in processing data in a distributed ledger network. The method includes receiving a query from a user by a first IoT device in a distributed ledger network. In addition, the method includes identifying, by the first IoT device, non-machine learning (ML) data for processing the query. In addition, the method includes dividing the non-ML data into a plurality of sub-models by the first IoT device. In addition, the method includes identifying, by the first IoT device, a plurality of second IoT devices capable of processing at least one sub-model of non-ML data. In addition, the method includes executing, by the first IoT device, a smart contract between the first IoT device and the second IoT device, the second IoT device being from the plurality of second IoT devices that process at least one sub-model from the plurality of sub-models. In addition, the method includes assigning, by the first IoT device, at least one sub-model from the plurality of sub-models to the at least one second IoT device from the plurality of second IoT devices based on the smart contract. In addition, the method includes obtaining, by the first IoT device, output data of a processed sub-model of non-ML data from each of the second IoT devices. In addition, the method includes generating a response to the query by the first IoT device by processing the output data of the at least one sub-model processed by the first IoT device and the output of the remaining sub-models processed by the at least one second IoT device.
[0048] In an embodiment, identifying, by the first IoT device, the plurality of second IoT devices having the capability of processing at least one sub-model of non-ML data comprises detecting, by the first IoT device, the presence of a user in the distributed ledger network, obtaining, by the first IoT device, a profile of the user, and identifying, by the first IoT device, the plurality of second IoT devices having the capability of processing at least one sub-model of non-ML data based on the profile.
[0049] In an embodiment, identifying, by the first IoT device, the plurality of second IoT devices having the capability to process at least one of the sub-models includes detecting, by the first IoT device, a context associated with non-ML data in a distributed ledger network, and identifying, by the first IoT device, the plurality of second IoT devices having the capability to process at least one sub-model of the non-ML data based on the context.
[0050] In an embodiment, identifying, by the first IoT device, the plurality of second IoT devices having the capability of processing at least one sub-model of non-ML data comprises: detecting, by the first IoT device, the presence of at least two users in a distributed ledger network; determining, by the first IoT device, a conflict to identify, in response to the presence of the at least two users in the distributed ledger network, the plurality of second IoT devices having the capability of processing at least one sub-model of non-ML data; and identifying, by the first IoT device, the plurality of second IoT devices having the capability of processing at least one sub-model of non-ML data based on a setting.
[0051] In an embodiment, a trained machine learning model is generated by: receiving a query from a first IoT device, selecting at least one second IoT device from the plurality of IoT devices based on capabilities of each of the IoT devices to process the received query, partitioning the query into labeled data and unlabeled data, identifying at least one second IoT device to process the labeled data and the unlabeled data, and aggregating data results of each partition.
[0052] Therefore, embodiments of the present invention provide an IoT device for assisting in processing data in a distributed ledger network. The IoT device includes a processor coupled to a memory. The processor may receive a query from a user and determine ML data to process the query. In addition, the processor may divide the ML data into a plurality of sub-models. In addition, the processor may identify a plurality of second IoT devices having the ability to process at least one sub-model of the ML data. In addition, the processor may execute a smart contract between a first IoT device and a second IoT device, the second IoT device being from the plurality of second IoT devices for processing at least one of the plurality of sub-models. In addition, the processor may assign the remaining sub-models of the plurality of sub-models to at least one other IoT device in a blockchain-based IoT network, and obtain output data of the remaining sub-models processed by the at least one other IoT device. In addition, the processor may generate a response to the query by processing the output data of the at least one sub-model processed by the processor included in the IoT device and the output of the sub-model processed by the at least one other IoT device.
[0053] Therefore, embodiments of the present invention provide a first IoT device for assisting in processing data in a distributed ledger network. The first IoT device includes a processor coupled to a memory. The processor may receive a query from a user and identify non-machine learning (ML) data for processing the query. The processor may divide the non-ML data into a plurality of sub-models. The processor may identify a plurality of second IoT devices having the ability to process at least one sub-model of the non-ML data. The processor may execute a smart contract between the first IoT device and the second IoT device, the second IoT device being from the plurality of second IoT devices for processing at least one sub-model of the plurality of sub-models. The processor may assign at least one sub-model from the plurality of sub-models to the at least one second IoT device from the plurality of second IoT devices based on the smart contract. The processor may obtain output data of a processed sub-model of the non-ML data from each of the second IoT devices. The processor may generate a response to the query by processing the output data of the at least one sub-model processed by the first IoT device and the output of the remaining sub-models processed by the at least one second IoT device.
[0054] Invention method
[0055] The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of the various embodiments of the present disclosure as defined by the claims and their equivalents. The following description includes various specific details to assist in this understanding, but these are considered to be exemplary only. Therefore, it will be appreciated by those of ordinary skill in the art that various changes and modifications may be made to the various embodiments described herein without departing from the scope and spirit of the present disclosure as defined in the appended claims. In addition, for the sake of clarity and conciseness, descriptions of well-known functions and configurations may be omitted.
[0056] It may be noted that, to the extent possible, the same reference numerals are used to represent the same elements in the drawings. In addition, it will be appreciated by those of ordinary skill in the art that the elements in the drawings are shown for simplicity and are not necessarily drawn to scale. For example, the dimensions of some elements in the drawings may be enlarged relative to other elements to help improve understanding of various aspects of the embodiments. In addition, one or more elements may have been represented by various symbols in the drawings, and the drawings may only show those specific details relevant to understanding the embodiments of the present disclosure so as not to obscure the drawings due to details that are obvious to those of ordinary skill in the art who benefit from the description herein.
[0057] The terms and words used in the following description and claims are not limited to the bibliographical meanings, but are merely used by the inventor to enable a clear and consistent understanding of the present disclosure. Therefore, it will be apparent to those skilled in the art that the following description of various embodiments of the present disclosure is provided for illustrative purposes only and not for limiting the present disclosure as defined by the appended claims and their equivalents.
[0058] It should be understood that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a component surface" includes reference to one or more such surfaces. In addition, when an expression such as "at least one" precedes a list of elements, it modifies the entire list of elements, rather than modifying a single element in the list. For example, the expression "at least one of a, b, and c" should be understood to include only a, only b, only c, both a and b, both a and c, both b and c, or all of a, b, and c.
[0059] The terms "include" and "comprising" and their derivatives mean inclusion rather than limitation. The term "or" is inclusive, meaning and / or. The phrases "associated with" and "associated with" and their derivatives may mean include, be included, interconnected with, contain, be contained within, connected to or connected with, coupled to or coupled with, communicable with, cooperating with, interlaced, juxtaposed, bound to or bound with, having, having the property of, and the like.
[0060] In addition, the various functions described below can be implemented or supported by one or more computer programs, each of which can be formed by a computer-readable program code and contained in a computer-readable medium. The terms "application" and "program" refer to one or more computer programs, software components, instruction sets, programs, functions, objects, classes, instances, related data or parts thereof suitable for implementation with suitable computer-readable program codes. The phrase "computer-readable program code" includes any type of computer code, including source code, object code and executable code. The phrase "computer-readable medium" includes any type of medium that can be accessed by a computer, such as a read-only memory (ROM), a random access memory (RAM), a hard drive, a compact disc (CD), a digital video disc (DVD) or any other type of memory. "Non-transitory" computer-readable media does not include wired, wireless, optical or other communication links that transmit temporary electrical signals or other signals. Non-transitory computer-readable media include media in which data can be permanently stored and media in which data can be stored and then rewritten, such as rewritable optical discs or erasable memory devices.
[0061] The term “unit,” “manager,” “engine,” or “device” may refer to a unit that processes at least one function or operation and may be implemented by hardware, software, or a combination of hardware and software.
[0062] Thus, an embodiment discloses a method for processing data. The data may include ML data and non-ML data. The data may be processed in a distributed ledger network. The method may include receiving a query from a user by a first device in the distributed ledger network. The first device may be a first IoT device. In addition, the method may include determining, by the first IoT device, data (e.g., ML data) for processing the query. In addition, the method may include dividing the ML data into a plurality of sub-models by the first IoT device. The sub-model may be an ML sub-model. In addition, the method may include identifying, by the first IoT device, a plurality of second devices having the ability to process at least one sub-model of the ML data. The second device may be a second IoT device. In addition, the method may include executing, by the first IoT device, a smart contract between the first IoT device and the second IoT device, the second IoT device being from the plurality of second IoT devices for processing at least one sub-model of the plurality of sub-models. In addition, the method may include assigning, by the first IoT device, a sub-model from the plurality of sub-models to at least one second IoT device in a blockchain-based IoT network. The sub-model assigned to the at least one second IoT device may be a sub-model remaining after assigning at least one sub-model to the first IoT device. In addition, the method may include obtaining, by the first IoT device, output data of the sub-model processed by the at least one second IoT device. Furthermore, the method may include generating, by the first IoT device, a response to the query by processing output data of the at least one sub-model processed by the first IoT device and an output of the sub-model processed by the at least one second IoT device.
[0063] According to an embodiment, each IoT device can automatically divide the ML model into smaller parts according to their capabilities, send the divided parts to surrounding IoT devices for calculation, and merge the results of the calculation. The division of the ML model can be performed by branching the smart contract. Distributed and secure blockchain storage can be used to store ML models and calculation results. This results in processing ML data on a distributed ledger network in a cost-effective, secure and accurate manner.
[0064] According to an embodiment, a personalized security system for IoT devices in a smart home can be provided to users based on the use of blockchain. A distributed ledger network can store device profiles of individual users in a shared home. According to an embodiment, automatic personalization of each device can be implemented in a secure and cost-effective manner in response to detecting that a specific user has entered the room where the device is located. In an example, when a first user has a preferred brightness or luminous value for a smart light bulb, and the first user enters the room, then the smart light bulb can detect the presence of the first user at home, obtain the first user's luminous setting preference from the blockchain, and automatically set its brightness based on the luminous setting of the first user. When a different user (e.g., a second user) is detected in the same room before the first user, an appropriate conflict resolution strategy can be applied, such as calculating an average or first come first served (FCFS).
[0065] Figure 3 is a schematic diagram showing IoT devices according to an embodiment. The IoT devices can process data based on their capabilities.
[0066] The distributed ledger network 1000 includes a first IoT device 100a and a collection of IoT devices 100b-100n. The first IoT device 100a can communicate with the collection of IoT devices 100b-100n. IoT devices 100a-100n may be, for example but not limited to, smart TVs, smart light bulbs, smart phones, smart air conditioners (ACs), smart refrigerators, door sensors, etc. IoT devices 100a-100n may communicate with each other. IoT devices 100a-100n may be in the same home network, but not limited to this. The distributed ledger network may be, for example but not limited to, a blockchain-based Internet of Things (IoT) network, a graph-based distributed ledger system (such as IOTA (based on Tangle), Hashgraph (based on gossip protocol), etc.).
[0067] In an embodiment, the first IoT device 100a may receive a query from a user and determine ML data or non-ML data for processing the query. The user's query may be received from the user's personal device. ML data may include components of a core machine learning model, for example, weights learned by a model / process. ML data may not be provided to the user externally, but rather generated in the process of running its core logic. Data other than ML data may be referred to as non-ML data. Non-ML data may be, for example, input data such as device logs, images, text, and the like. Non-ML data may be given as input to a machine learning model (e.g., images with cats / dogs, images without cats / dogs), and the labels "cat" / "dog" along with the image may be categorized into the non-ML data.
[0068] In the example, weights and hyperparameters can be learned by processing decision trees, random forests, neural networks, etc. Non-ML data can be used as input to the ML model (even labels for ML tasks can belong to non-ML data). Non-ML data may include images, text, news articles, application categories, application metadata, and application usage data, but are not limited to this. In addition, the first IoT device 100a can divide the ML data / non-ML data into multiple sub-models. ML data may include ML models or components of ML models. In addition, the first IoT device 100a can identify multiple IoT devices 100b-100n. The first IoT device 100a can identify the multiple IoT devices 100b-100n based on the ability of the multiple IoT devices 100b-100n to process at least one sub-model of ML data / non-ML data. In addition, the first IoT device 100a may generate a smart contract between the first IoT device 100a and a second IoT device 100b from the plurality of IoT devices 100b-100n processing the at least one sub-model of the plurality of sub-models. The smart contract may be executed.
[0069] In addition, the first IoT device 100a may assign a sub-model from the plurality of sub-models to at least one of the IoT devices 100b-100n. The sub-model assigned to the at least one IoT device may be a sub-model remaining after at least one sub-model is assigned to the first IoT device. The assignment may be performed based on a smart contract between the first IoT device 100a and the IoT devices 100b-100n. The first IoT device 100a may obtain output data of a sub-model processed by at least one of the IoT devices 100b-100n. In addition, the first IoT device 100a may generate a response to the query by processing the output data of at least one sub-model processed by the IoT device 100a and the output of the sub-model processed by the at least one of the IoT devices 100b-100n.
[0070] In an embodiment, the first IoT device 100a may assign a sub-model to at least one of the IoT devices 100b-100n by identifying at least one of the IoT devices 100b-100n based on capabilities of the IoT devices 100b-100n in the distributed ledger network. In an embodiment, at least one of the IoT devices 100b-100n may be identified based on neighboring IoT devices 100b-100n of the IoT device 100a. In an embodiment, at least one of the IoT devices 100b-100n may be identified based on a priority set by a user. In an embodiment, at least one smart contract between the IoT device 100a and at least one of the identified IoT devices 100b-100n may be executed to process the sub-model.
[0071] In an embodiment, the first IoT device 100a may aggregate each output of the sub-model processed by at least one of the IoT devices 100b-100n and the output of at least one sub-model processed by the IoT device 100a to generate a trained machine learning model. The trained ML model may be used to generate a response to the user query.
[0072] In an embodiment, a trained machine learning model may be generated by receiving a query from a first IoT device 100a, identifying at least one IoT device from the plurality of IoT devices 100b-100n based on capabilities of each of the IoT devices to process the received query, partitioning the query into labeled data and unlabeled data, causing the at least one IoT device to process the labeled data and the unlabeled data, and aggregating each output according to each partitioned data.
[0073] Labeled data can include an input data set mapped to one or more labels. For example, when predicting whether an image has a dog, a cat, or both, each image can be labeled "dog", "cat", "none", or "both".
[0074] Untagged data may include input data sets that are not mapped to one or more tags. In order to find similar devices in a smart home environment without explicitly tagging each device, an ML model may be built based on the user's usage of each device to find similar devices, which may help replace a device with another device. In this case, no "tag" is provided for the device (e.g., "refrigerator"), but based on the user's usage of the device, the ML model may find the corresponding device.
[0075] Furthermore, the first IoT device 100a may generate a response to the query by processing output data of at least one sub-model processed by the IoT device 100a and outputs of sub-models processed by at least one of the IoT devices 100b-100n.
[0076] In an embodiment, the output data of at least one of the IoT devices 100b-100n and the IoT device 100a may be added as a single block in the distributed ledger network. In an embodiment, the at least one of the IoT devices 100b-100n may process the sub-model according to the terms and specifications of at least one smart contract between the first IoT device 100a and the at least one of the IoT devices 100b-100n.
[0077] In an embodiment, the IoT device 100a may link the at least one smart contract to a blockchain infrastructure, and a private ledger or a public ledger of the blockchain infrastructure may be used to verify processing of the sub-model on at least one of the IoT devices 100b-100n according to the smart contract.
[0078] 1. In an embodiment, the IoT device 100a may identify the plurality of IoT devices 100b-100n that process at least one sub-model of ML data or non-ML data based on detecting a user. The user may be detected in the distributed ledger network 1000. The profile of the user may be used to identify the plurality of IoT devices 100b-100n that process at least one sub-model of ML data or non-ML data.
[0079] In an embodiment, the IoT device 100a may identify the plurality of IoT devices 100b - 100n that process at least one sub-model of the ML data or the non-ML data based on detecting a context associated with the ML data or the non-ML data in the distributed ledger network 1000 .
[0080] In an embodiment, when at least two users are detected, the first IoT device 100a may identify the plurality of IoT devices 100b-100n that process at least one sub-model of ML data or non-ML data based on the settings. The at least two users may be detected in the distributed ledger network 1000. The first IoT device 100a,
[0081] In an embodiment, the setting may include at least one of a first come first served (FCFS) setting, a last served first served (LCFS) setting, and a voting based setting.
[0082] In an embodiment, the first IoT device 100a may store user data on the blockchain using the Interplanetary file system (IPFS), and may store ML models on the blockchain using IPFS. IPFS may be implemented on multiple IoT devices 100a-100n formed by a blockchain. IPFS may be viewed as a distributed file system used in a blockchain. A hash of the address of an IPFS file may be stored on the blockchain of the IoT devices 100a-100n. The machine learning process of prediction / training (implemented by a blockchain smart contract) may be divided into sub-processes and distributed to nearby devices, and the results of the ML process may be aggregated. A sub-process may be referred to as a sub-contract.
[0083] In an example, the blockchain may be a public blockchain system (e.g., Ethereum, etc.). The blockchain may store data in IPFS. In another example, the blockchain may be a private blockchain system, and the blockchain may store data in an IoT hub or IoT device on a network.
[0084] Using Ethereum: In an example, the first step may be to calculate an IoT device profile for each user and each device on a smart hub. The device profile may be updated periodically, for example, monthly. It may be assumed that user preferences do not change too frequently. IoT devices 100a-100n may send usage data to an IoT hub, where the IoT hub analyzes the data and calculates the device profile. An example of an IoT hub may be SmartThings, but is not limited thereto. A person of ordinary skill in the art may use other tools (e.g., Truffle, Ganache, etc.) to perform the same operation.
[0085] The calculated profile can be stored on the blockchain using IPFS, which in turn generates a hash. The generated hash can be stored on the Ethereum network. The transaction hash can be securely stored on the IoT hub.
[0086] 2. Use a private blockchain system and store data in the center: In another example, block mining calculations (with a reduced difficulty level) can be performed in an IoT center (e.g., SmartThings) composed of an IoT environment instead of in a remote server. In this architecture, the IoT center can calculate device profiles and store them in a private blockchain system. According to an embodiment, because the user's preferences for different device settings are not stored on any external server, and the user's preferences are stored on the IoT center, the protection of privacy can be strengthened.
[0087] Using IOTA: In another example, IOTA can be used. Using IOTA, each IoT device 100a-100n or IoT hub can work as part of the blockchain itself and can have the ability to mine data. Instead of storing profiles for all IoT devices 100a-100n in a smart house, each device calculates and stores its own user device profile for each of the users.
[0088] IOTA has a distributed ledger based on Tangle, where Tangle is made up of nodes connected in the form of a web, rather than a blockchain. Tangle uses a Directed Acyclic Graph (DAG) to store transactions. Any transaction is verified by two other closer nodes on the network, unlike the blockchain where only miners verify transactions. In Tangle, when a transaction gains enough cumulative weight, it can be confirmed. Therefore, technical resources can be shared locally and in real time between IoT devices in a distributed network. The verification of transactions can be done by the nearest node. IOTA utilizes a hash function called Curl, which is quantum-immune. IOTA can be used to trade the exact amount of resources on demand, as well as to securely store data from sensors and data loggers after verification.
[0089] Figure 4a is a block diagram of an IoT device according to an embodiment, and Figure 4b 1 is a block diagram of a processor included in an IoT device according to an embodiment. In an embodiment, the IoT device 100 includes a processor 110, a communicator 120, and a memory 130. The processor 110 may receive a query from a user and determine ML data for processing the query. In addition, the processor 110 may divide the ML data into a plurality of sub-models based on the capabilities of the first IoT device 100a and process at least one sub-model from the plurality of sub-models.
[0090] In addition, the processor 110 may assign the remaining sub-models from the plurality of sub-models to at least one other IoT device 100b-100n in the blockchain-based IoT network, and obtain output data of the remaining sub-models processed by the at least one other IoT device 100b-100n. In addition, the processor 110 may generate a response to the query by processing the output data of the at least one sub-model processed by the processor 110 included in the IoT device 100a and the output of the remaining sub-models processed by the at least one other IoT device 100b-100n.
[0091] In an embodiment, the processor 110 may assign the remaining sub-models to the at least one other IoT device 100b-100n in the blockchain-based IoT network by identifying the at least one other IoT device 100b-100n for processing the remaining sub-model based on at least one of capabilities, neighboring IoT devices 100b-100n of the IoT device 100a, and priorities set by a user, and executing at least one smart contract between the IoT device 100a and the at least one identified other IoT device 100b-100n that processes the remaining sub-model.
[0092] In an embodiment, the processor 110 may aggregate the output data of at least one sub-model processed by the at least one other IoT device 100b-100n and each of the outputs of the at least one sub-model processed by the IoT device 100a to generate a trained machine learning model. In addition, the processor 110 may generate a response to the query by processing the output data of the at least one sub-model processed by the processor 110 included in the IoT device 100a and the outputs of the remaining sub-models processed by the at least one other IoT device 100b-100n.
[0093] In an embodiment, the processor 110 includes an ML data partitioning unit, an ML sub-model processing unit, an ML sub-model processing allocation unit, and a response generation unit for processing an ML model on a blockchain-based IoT network.
[0094] The communicator 120 is configured to communicate with the processor 110 that processes ML data on the blockchain-based IoT network.
[0095] The memory 130 also stores instructions to be executed by the processor 110. The memory 130 may include a non-volatile storage element. Examples of such non-volatile storage elements may include a magnetic hard disk, an optical disk, a floppy disk, a flash memory, or various forms of electrically programmable memory (EPROM) or electrically erasable and programmable memories (EEPROM). In addition, in some examples, the memory 130 may be considered to be a non-transitory storage medium. The term "non-transitory" may indicate that the storage medium is not embodied in a carrier or propagation signal. However, the term "non-transitory" should not be interpreted as the memory 130 being non-removable. In some examples, the memory 130 may be configured to store a larger amount of information than the memory. In a specific example, a non-transitory storage medium may store data that can change over time (e.g., in a random access memory (RAM) or a cache).
[0096] although Figure 4a Various hardware components of IoT devices 100a-100n are shown, but it should be understood that other embodiments are not limited thereto. In another embodiment, IoT devices 100a-100n may include fewer or more components. In addition, the labels or names of the components are for illustrative purposes only and do not limit the scope of the present invention. One or more components can be combined to perform the same or substantially similar functions for IoT devices to assist in processing data based on the capabilities of the IoT devices in the distributed ledger network 1000.
[0097] Figure 4b Various hardware components of a processor included in IoT devices 100a-100n according to embodiments disclosed herein are shown. In an embodiment, the processor 110 includes a query analyzer 110a, a data partitioner 110b, a capability identifier 110c, a data aggregator 110d, a smart contract executor 110e, and a blockchain-based response modeler 110e.
[0098] The query analyzer 110a may receive a query from a user and determine ML data or non-ML data for processing the query. In addition, the data distributor 110b may divide the ML data or non-ML data into a plurality of sub-models. In addition, the capability identifier 110c may identify a plurality of IoT devices 100b-100n having the capability to process at least one sub-model of the ML data or non-ML data. The smart contract executor 100e may execute a smart contract between the first IoT device 100a and at least one IoT device from the plurality of IoT devices 100b-100n for processing the at least one sub-model of the plurality of sub-models.
[0099] In addition, the blockchain-based response modeler 110f may assign the remaining sub-models from the plurality of sub-models to at least one other IoT device 100b-100n, and obtain output data of the remaining sub-models processed by the at least one other IoT device 100b-100n. In addition, the blockchain-based response modeler 110f may generate a response to the query by processing the output data of the at least one sub-model processed by the processor 110 included in the IoT device 100a and the output of the remaining sub-models processed by the at least one other IoT device 100b-100n.
[0100] In an embodiment, the blockchain-based response modeler 110f may assign the remaining sub-models to the at least one other IoT device 100b-100n in the blockchain-based IoT network by identifying the at least one other IoT device 100b-100n for processing the remaining sub-models based on at least one of capabilities, neighboring IoT devices 100b-100n of the IoT device 100a, and user-set priorities, and executing at least one smart contract between the IoT device 100a and the identified at least one other IoT device for processing the remaining sub-models.
[0101] 4. In an embodiment, the blockchain-based response modeler 110f may aggregate each of the output data of at least one sub-model processed by at least one other IoT device 100b-100n and the output of at least one sub-model processed by the IoT device 100a to generate a trained machine learning model. In addition, the blockchain-based response modeler 110f may generate a response to the query by processing the output data of the at least one sub-model processed by the processor 110 included in the IoT device 100a and the output of the remaining sub-models processed by the at least one other IoT device 100b-100n.
[0102] although Figure 4b Various hardware components of the processor 110 are shown, but it should be understood that other embodiments are not limited thereto. In another embodiment, the processor 110 may include fewer or more components. In addition, the labels or names of these components are for illustrative purposes only and do not limit the scope of the present invention. One or more components can be combined to perform the same or substantially similar functions for IoT devices to process data in the distributed ledger network 1000.
[0103] 5. Figure 5a is a flowchart illustrating a method of processing ML data on a distributed ledger network according to an embodiment, and Figure 5b is a flow chart illustrating a method for processing ML data by using a smart contract according to an embodiment. Steps 502a-514a may be processed by the processor 110.
[0104] At 502a, the method includes receiving, by a first IoT device 100a in a distributed ledger network, a query from a user. At 504a, the method includes determining ML data for processing the query. At 506a, the method includes partitioning the ML data into a plurality of sub-models. At 508a, the method includes identifying a plurality of IoT devices having the capability to process at least one sub-model of the ML data. At 510a, the method includes executing a smart contract between the first IoT device 100a and at least one IoT device from the plurality of IoT devices 100b-100n for processing the at least one sub-model of the plurality of sub-models.
[0105] At 512a, the method includes assigning a sub-model of the plurality of sub-models to at least one IoT device of the IoT devices 100b-100n in the blockchain-based IoT network. At 514a, the method includes obtaining output data of the remaining sub-models processed by the at least one IoT device. At 516a, the method includes generating a response to the query by processing the output data of the at least one sub-model processed by the first IoT device 100a and the output of the remaining sub-models processed by the at least one IoT device.
[0106] Steps 502b-516b may be processed by the processor 110. At 502b, the method includes receiving a query from a user. At 504b, the method identifies non-ML data for processing the query. At 506b, the method divides the non-ML data into a plurality of sub-models.
[0107] At 508b, the method identifies a plurality of IoT devices 100b-100n having the capability to process at least one sub-model of the non-ML data. At 510b, the method executes a smart contract between the first IoT device 100a and at least one IoT device from the plurality of IoT devices 100b-100n for processing the at least one sub-model of the plurality of sub-models.
[0108] At 512b, the method assigns at least one sub-model from the plurality of sub-models to at least one IoT device from the plurality of IoT devices 100b-100n based on a smart contract. At 514b, the method obtains output data of the processed sub-model of non-ML data from each of the IoT devices. At 516b, the method generates a response to the query by processing the output data of the at least one sub-model processed by the first IoT device 100a and the output of the sub-model processed by the at least one IoT device.
[0109] The various actions, actions, boxes, steps, etc. in flowchart 500a and flowchart 500a can be performed in the order presented, in a different order, or simultaneously. In addition, in some embodiments, some actions, actions, boxes, steps, etc. can be omitted, added, modified, skipped, etc. without departing from the scope of the present invention.
[0110] Figure 5c is a flow chart illustrating a method performed at an electronic device according to an embodiment.
[0111] At 502c, a data set may be identified at an electronic device. The electronic device may be the first IoT device 100a. The data set may be identified in response to an input. The input may be a query. The input may be entered by a user or received from a user.
[0112] In an embodiment, the data set may include ML data. The data set may include non-ML data. The data set may include both ML data and non-ML data, but is not limited thereto. The ML data may be an ML model.
[0113] At 504c, the data set may be divided into sub-data sets. When the data set is or includes ML data, the divided sub-data sets may be or include ML sub-models.
[0114] At 506c, at least one electronic device may be identified. The identified at least one electronic device may be at least one of the IoT devices 100b-100n. The identified at least one electronic device may process at least one sub-data set.
[0115] At 508c, the at least one sub-data set may be distributed to the at least one electronic device. The at least one electronic device may process the distributed at least one sub-data set. Each of the at least one electronic device may process each of the at least one sub-data set.
[0116] At 510c, at least one output of the processed at least one sub-data set may be received from the at least one electronic device. The received at least one output may be used to generate a response to the input. In an embodiment, the electronic device may also process the sub-data set. The sub-data set processed at the at least one electronic device and the electronic device is different from the data set and is divided from the data set.
[0117] In an embodiment, the at least one output may be added as a block in a distributed ledger network and constituted by a blockchain. The at least one output may be aggregated to generate an ML model. The generated ML model may be used to generate a response to the input. When the input includes a labeled input and an unlabeled input, each output for each input may be aggregated.
[0118] In an embodiment, a smart contract between the electronic device and the at least one electronic device may be generated to process the sub-datasets. The sub-datasets may be distributed based on the generated smart contract. The output of the processed sub-datasets may be verified based on the smart contract on the distributed ledger network.
[0119] In an embodiment, the electronic device may identify the at least one electronic device based on the processing capability of the at least one electronic device. The at least one electronic device having the processing capability to process the sub-data set may be identified among a plurality of electronic devices. The identified at least one electronic device may process the sub-data set.
[0120] In an embodiment, the electronic device may identify the at least one electronic device based on the user's information. The user's information may be the user's profile information, the user's preference information, the user's behavior pattern information, the user's routine information, the user's calendar information, but is not limited thereto. The identified at least one electronic device may process the sub-data set.
[0121] In an embodiment, the electronic device may identify the at least one electronic device based on a context associated with the data set.
[0122] In an embodiment, when at least two users are detected, the electronic device may identify the at least one electronic device based on a predetermined criterion. Figure 6a is a schematic diagram for explaining personalization of a washing machine according to an embodiment, and Figure 6b is a schematic diagram for explaining the use of a smart contract according to an embodiment.
[0123] Washing machine personalization can be performed according to an embodiment. For example, Table 1 indicates various devices and corresponding device profile data. In addition, the user's device log (e.g., user 1, washing machine, Wednesday at 7 am (morning), colored, conventional, warm; user 2, washing machine, Wednesday at 10 am (morning), white, conventional, warm; user 1, washing machine, Sunday at 5 pm (evening), gentle, cold; and user 2, washing machine, Wednesday at 8 am (morning), colored, conventional, warm). According to an embodiment, the IoT device 100a can create distributed association rule mining information and association rules. The ML data may include the distributed association rule mining information and association rules. In the example, based on the association rule, the washing machine personalization of user 2 can be determined as frequent time of day: morning, frequent day of the week: Wednesday, fabric type: white / colored, cycle: conventional, temperature: warm, and the washing machine personalization of user 1 can be determined as frequent time of day: morning, frequent day of the week: Wednesday, Sunday, fabric type: colored, cycle: conventional, temperature: warm.
[0124]
Table 1
[0125]
[0126] The washing machine, the smart TV, and the smart light bulb link at least one smart contract to the blockchain infrastructure. In order to process the ML data, according to an embodiment, the processor 110 included in the washing machine may divide the ML data into a plurality of sub-models and process at least one of the plurality of sub-models based on the capabilities of the smart washing machine. In addition, the processor 110 may allocate the remaining sub-models of the plurality of sub-models to the smart light bulb and the smart TV in the blockchain-based IoT network.
[0127] The processor 110 included in the washing machine may obtain output data of the remaining sub-models processed by the smart bulb and the smart TV. In addition, the processor 110 included in the washing machine may generate a response to the query by processing the output data of the at least one sub-model processed by the processor 110 included in the washing machine and the output of the remaining sub-models processed by the smart bulb and the smart TV. The output data of the at least one sub-model processed by the washing machine and the output of the remaining sub-models processed by the smart bulb and the smart TV may be aggregated to generate a response to the input or the query.
[0128] 1. In the example, in a blockchain-based IoT network, the association rules of transactions can be defined according to contracts. For example, the contract is defined as follows:
[0129] Call_profile_for_user(username,device_type)
[0130] So if the device type is DEVICE_LIGHTBULB, and the user name is USER_A, the following contract can be executed:
[0131] Call_profile_for_user(USER_A, DEVICE_LIGHTBULB)
[0132] In another example, the IoT device 100a may analyze personalized information for each user for each device type and generate a device user profile for each user for each device type. The generated device user profile may be stored in a blockchain. The personalization program may use the device log of each device as input and generate an output of a user device profile for each user for a given device. The generation of the IoT user profile for each device type may be performed on the IoT hub and other IoT devices 100b-100n on the IoT network. The IoT device 100a may be the IoT hub.
[0133] In another example, where there are multiple users in the same household, the minimum and maximum setting values used by the users may be used to determine mutually acceptable values for device settings of IoT devices 100a-100n connected to the hub. According to an embodiment, predefined rules may be used to create device user profiles on the hub. In an embodiment, the predefined rules may be defined by each user.
[0134] For example, the following can be extracted from the usage log of a smart washing machine:
[0135] a) The first user uses it for 20 minutes at 7:00 a.m. on Wednesday,
[0136] b) The second user uses it for 30 minutes at 10:00 a.m. on Wednesday,
[0137] c) The first user used it for 20 minutes at 5:00 PM (evening) on Sunday, and
[0138] d) User 1 uses it for 10 minutes at 8:00 AM (morning) on Wednesday.
[0139] The example rules are as follows:
[0140] If the smart washing machine is used continuously for more than 5 minutes and the same pattern is observed at least 2 times in the last month, the smart washing machine may update the user device profile of the user and the device with the most frequent time of day and the most frequent 2 days of the week.
[0141] These rules can be programmed and applied on the smart hub and the devices connected to the hub. Profile information of all users and all connected devices can be analyzed once a month and stored on the InterPlanetary File System (IPFS). IPFS is a protocol for storing and sharing distributed content and is often used on blockchains.
[0142] By applying this rule, the updated user device profile is as follows:
[0143] a) (Second user, washing machine, frequent time of day: morning, frequent day of the week: Wednesday)
[0144] b) (First user, washing machine, frequent time of day: morning, frequent days of the week: Wednesday, Sunday)
[0145] The device user profile created for the washing machine can be stored in IPFS. The following is an example of the JSON code of a user device profile that is prepared by the hub and stored in IPFS.
[0146]
[0147]
[0148] In another example, whenever a user enters a smart home, the following actions may occur according to an embodiment.
[0149] Smart sensors can identify a user by associating with their mobile phone or using sensors. The presence of a user can be determined in any of the following ways:
[0150] a) implicitly, by inferring a person from their activity profile, and
[0151] b) Explicitly, by asking a person’s smartphone to identify him / her when he / she enters a room, uses a new device, or logs into the hub using his / her smartphone.
[0152] After identifying the user, the stored user device profile can be extracted from the blockchain in the following manner: the smart hub can use the stored hash to obtain the transaction message from the blockchain (e.g., Ethereum). This first hash can be used to read the user profile information from IPFS, and then the user profile is used to determine the settings to be applied on the smart device. Finally, the extracted profile parameters / settings can be applied to the smart device.
[0153] In another example, according to an embodiment, if there are multiple users in a room, the IoT device 100 may resolve the conflict based on its settings, which are any of the following:
[0154] a. First Come First Served (FCFS): The settings of the user who first enters the room are applied until the user leaves the room.
[0155] b. Last-come-first-served (LCFS): applies the settings of the last user to enter the room, and
[0156] c. Average or median: If the setpoint is a numeric value (such as AC temperature), take the average or median of the setpoints. If it is absolute, a voting system can be used and the setting with the most votes can be applied.
[0157] Figure 7 is a schematic diagram for explaining a navigation system according to an embodiment.
[0158] According to an embodiment, a navigation system in a smart car may provide recommendations to a user based on ML data. The ML data is trained by using real-time traffic data, user data from an electronic device, car data using an on board display (OBD), and user personal calendar data. By processing output data of at least one sub-model processed by a processor 110 included in the smart car and outputs of the remaining sub-models processed by another device, the output of the ML data may be obtained so that the navigation system provides personalized recommendations to the user based on the ML data. The other device may be included in the smart car, but is not limited thereto.
[0159] Figure 8 is a schematic diagram for explaining a virtual assistant application using a server. In the method, a user may issue a command "turn on the backlight" to the virtual assistant application. The virtual assistant application may send the command to the cloud server, and a machine learning model is used to find a response corresponding to the command. The cloud server may send the response to the virtual assistant application. The virtual assistant application may forward the response to a corresponding device (e.g., a smart light bulb, a smart TV, a smart washing machine, etc.) so that the corresponding device performs a function corresponding to the command.
[0160] Fig. 9 is a schematic diagram for explaining an example scenario of a virtual assistance application according to an embodiment. According to an embodiment, a user may issue a command of "turn on the backlight" to the virtual assistance application. The virtual assistance application processes the command in an IoT environment without connecting to a cloud server. In addition, a machine learning model may be used to find a response corresponding to the user command. The corresponding function may be executed on a corresponding IoT device (e.g., a smart light bulb).
[0161] Fig.10 is a diagram for explaining the visitor verification procedure. According to this method, the security personnel need to call the homeowner and ask whether the homeowner receives visitors. Based on the response, the visitor verification procedure is completed manually.
[0162] Fig.11 is a schematic diagram for explaining a visitor authentication procedure according to an embodiment, and Fig.12 is a schematic diagram for explaining a visitor authentication procedure according to an embodiment.
[0163] like Fig.11 As shown, according to an embodiment, visitor verification can be performed by security capturing a photo of the visitor and processing the photo in the IoT environment. Based on the processing, when the visitor is correctly identified in any one of the IoT devices, then the door will be opened. According to an embodiment, the photo may not be sent to any external device outside the IoT environment, which can effectively enhance security and privacy.
[0164] like Fig.12 As shown, visitor verification can be performed by security capturing a photo of the visitor and processing the photo in the IoT environment using an ML model. Based on the processing, when the visitor is correctly identified in any one of the IoT devices, then the door will be opened. According to an embodiment, the photo is not shared with any external device outside the IoT environment, which can effectively enhance security and privacy.
[0165] Fig.13 is a schematic diagram for explaining smart garbage collection according to an embodiment. For example, for smart garbage collection, when a container has an IoT sensor, distributed ML can be used to calculate an optimized garbage collection route by using the output from the IoT filled sensor. In addition, the container can tell the truck where to go. This can reduce the workload and collect garbage efficiently.
[0166] Fig.14 is a schematic diagram for explaining a smart home according to an embodiment.
[0167] When different people living in a shared home / office have different IoT device preferences (e.g., the first user wants the air conditioner (AC) to be set to 20 degrees, while the second user wants it to be 30 degrees). According to an embodiment, when someone enters the smart home, the door sensor can be triggered based on the person walking towards the smart home, and the user identity can be identified from the user's phone. In addition, the door sensor can send event data to the smart TV to apply the predicted user preferences of the identified person by using the ML model. The smart TV can obtain the stored prediction of the person's preferences and apply the person's preferences to its settings.
[0168] Fig.15 is a schematic diagram for explaining smart fuel saving in a car according to an embodiment.
[0169] In an example, an IoT mirror may predict fuel savings by using the mirror data ML model. An IoT light may predict fuel savings by using the light data ML model, an IoT door may predict fuel savings, a tablet / phone may predict fuel savings using the engine speed data ML model, and an IoT wheel may predict fuel savings by using the wheel pressure data ML model. The fuel savings prediction may be performed based on the mirror data ML model, the light data ML model, the engine speed data ML model, and the wheel pressure data ML model.
[0170] In another example, the proposed method can be used to provide fair sharing of resources in a shared home, which can be used to split the electricity bill based on actual usage of the equipment or according to some other arrangement (such as where the owner and the renter live in the same house and the owner does not need to pay but the renter does). Here, once each user is identified for each device, the length of time can be billed to each user in virtual currency. At the end of each month, the virtual currency usage of each person is recorded, and the total bill for the shared home can be divided based on the actual usage of the equipment by each user.
[0171] In another example, the proposed method can be used to provide water distribution management in smart buildings. Here, the water consumption of each unit in the building can be determined with the help of sensors installed on water pipes or taps, so the water distribution and water bill for each unit can be inferred.
[0172] Fig.16 is a schematic diagram for explaining the partitioning of a machine learning model via forking according to an embodiment.
[0173] IoT devices (e.g., smart light bulbs) can receive input data and pass it to the smart hub. The smart hub can create a smart contract and fork it to other nodes (e.g., other IoT devices). The smart contract can be defined to calculate the error gradient using a stochastic gradient descent (SGD) process. Other nodes can send an aggregated updated weight matrix to the smart hub. The updated weight matrix can be stored on IPFS. IPFS can send a transaction message to a blockchain platform (e.g., Ethereum). The hash of the weight matrix can be stored on the blockchain in the smart hub. Ethereum can send another transaction message to the smart hub.
[0174] Typically, a hash of the device user profile information stored on IPFS can be stored as a transaction message in the blockchain Ethereum. The Ethereum network calculates a second hash based on the transaction message stored in the smart center.
[0175] Fig.17 is a schematic diagram for explaining ML prediction using blockchain according to an embodiment.
[0176] IoT devices (e.g., smart light bulbs) can receive input data and pass it to the smart hub. The smart hub can create a smart contract and branch it to other nodes (e.g., other IoT devices). The smart hub can store the hash value of the weight matrix and send the hash value of the weight matrix to the blockchain (e.g., Ethereum). Ethereum can send another transaction message to the distributed storage in the form of a hash value. The distributed storage can send the weight matrix to the smart hub.
[0177] Fig.18 is a schematic diagram for explaining a random forest on a blockchain according to an embodiment, and Fig.19 is a schematic diagram for explaining a decision tree trained model working as a smart contract on a node in a blockchain according to an embodiment.
[0178] like Fig.18 and Fig.19 As shown, the IoT device can implement each decision tree trained model calculation as a smart contract on the node stored on IPFS. The hash of each block can be stored on the blockchain. The decision tree smart contract in the node can be used to predict the class of a given input and branch the calculation to the next node. The final block smart contract (running on the smart hub) can be a majority vote. The smart contract in the majority voting module is to perform the vote and obtain the final prediction.
[0179] In the random forest model, there is an ensemble of decision tree models and the majority vote is taken as the predicted class.
[0180] Fig. 20 It is a schematic diagram for explaining a deep neural network (DNN) on a blockchain according to an embodiment.
[0181] In a DNN model, there can be multiple nodes in the input layer, hidden layer, and output layer, and each node can perform nonlinear calculations (such as Sigmoid or RELU). According to an embodiment, the IoT device can use the weight matrix of each layer (input layer, hidden layer, and output layer) as a smart contract calculation in the node in the blockchain. The smart contract in each node is: (a) Forward phase: calculate the product of the weight matrix and the input vector in the forward pass; (b) Reverse phase: modify the weight after backpropagating the error in the forward phase. Each block performs its calculation or branches it to a neighboring node.
[0182] The various actions, actions, boxes, steps, etc. in the flow chart can be performed in the order presented, in a different order or simultaneously. In addition, in some embodiments, some actions, actions, boxes, steps, etc. can be omitted, added, modified, skipped, etc. without departing from the scope of the present invention.
[0183] The embodiments disclosed herein may be implemented using at least one software program running on at least one hardware device and performing network management functions to control the elements.
[0184] The foregoing description of specific embodiments will so fully reveal the general nature of the embodiments herein that others can easily modify and / or adapt such specific embodiments to various applications by applying current knowledge without departing from the general concepts, and therefore, such adaptations and modifications should and are intended to be understood to be within the meaning and range of equivalents of the disclosed embodiments. It should be understood that the words or terms used herein are for descriptive purposes and not for limitation. Therefore, although the embodiments herein have been described according to preferred embodiments, those skilled in the art will recognize that the embodiments herein can be modified within the spirit and scope of the embodiments described herein.
Claims
1. An IoT device, comprising: Memory, which stores instructions; and At least one processor configured to execute the instructions to: Responsive to the input, identifying a data set of usage data generated by the IoT device to be processed for use in response to the input; dividing the data set into a plurality of sub-data sets by branching at least one smart contract; identifying at least one other IoT device that processes at least one of the plurality of sub-data sets, wherein the at least one other IoT device is identified as having the ability to process the at least one sub-data set based on user information, the user information comprising user profile information, user behavior pattern information, user routine information, or user calendar information; distributing the at least one sub-data set to the at least one other IoT device to process the at least one sub-data set and generate at least one processed sub-data set; and At least one output of the at least one processed sub-data set is received from the at least one other IoT device to generate a response to the input.
2. The IoT device according to claim 1, wherein: The at least one output of the at least one processed sub-data set is added as a block in the distributed ledger network.
3. The IoT device according to claim 1, wherein: The at least one processor is further configured to execute the instructions to: generating a smart contract with the at least one other IoT device to process the at least one sub-data set; and allocating the at least one subset of data to the at least one other IoT device based on the smart contract with the at least one other IoT device, and Wherein, the at least one output of the at least one processed sub-data set is verified on a distributed ledger network based on the smart contract with the at least one other IoT device.
4. The IoT device according to claim 1, wherein: The data set includes a machine learning (ML) model, and the plurality of sub-data sets include a plurality of sub-models.
5. The IoT device according to claim 1, wherein: The at least one processor is further configured to execute the instructions to: Process sub-datasets to produce local output; as well as The local output and the at least one output of the at least one processed sub-dataset are aggregated to generate an aggregate of the output and a response to the input.
6. The IoT device according to claim 5, wherein: The at least one processor is further configured to execute the instructions to: An ML model is generated based on the aggregation of the outputs to generate a response to the input by using the ML model.
7. The IoT device according to claim 5, wherein: The input is divided into a labeled input and an unlabeled input, and each output for each divided input is aggregated to generate a response to the input.
8. The IoT device according to claim 1, wherein: The at least one other IoT device is identified based on a processing capability of the at least one other IoT device.
9. The IoT device according to claim 1, wherein: The input is received at the IoT device from another IoT device included in the at least one other IoT device.
10. The IoT device according to claim 1, wherein: The at least one processor is further configured to execute the instructions to detect a context associated with the data set, wherein the at least one other IoT device is identified based on the context associated with the data set.
11. The IoT device according to claim 1, wherein: When the IoT device detects at least two users, the at least one other IoT device is identified based on a predetermined criterion.
12. The IoT device according to claim 3, wherein: The smart contract with the at least one other IoT device defines rules for transactions between the IoT device and the at least one other IoT device.
13. The IoT device according to claim 3, wherein: The smart contract with the at least one other IoT device is linked to a distributed ledger network for the at least one other IoT device.
14. The IoT device according to claim 3, wherein: The at least one smart contract corresponds to the data set, wherein the smart contract with the at least one other IoT device is generated by branching the at least one smart contract, and Wherein, the smart contract with the at least one other IoT device corresponds to the at least one sub-dataset.
15. The IoT device according to claim 3, wherein: The smart contract with the at least one other IoT device is executed for processing the at least one sub-data set.
16. A method comprising: Responsive to the input, identifying a data set of usage data generated by an Internet of Things (IoT) device to be processed for use in response to the input; dividing the data set into a plurality of sub-data sets by branching at least one smart contract; identifying at least one other IoT device that processes at least one of the plurality of sub-data sets, wherein the at least one other IoT device is identified as having the ability to process the at least one sub-data set based on user information, the user information comprising user profile information, user behavior pattern information, user routine information, or user calendar information; distributing the at least one sub-data set to the at least one other IoT device to process the at least one sub-data set and generate at least one processed sub-data set; and An output of the at least one processed sub-data set is received from the at least one other IoT device to generate a response to the input.
17. A method performed by an IoT device, the method comprising: receiving, from another IoT device, a sub-dataset divided from a data set, the data set being identified at the other IoT device for use in response to an input, the data set being a data set of usage data generated by the other IoT device; processing the sub-dataset to generate an output; as well as sending the output to the other IoT device to generate a response to the input, wherein the sub-datasets are divided by branching at least one smart contract, and The IoT device has been identified as receiving the sub-data set based on user information, wherein the user information includes user profile information, user behavior pattern information, user routine information or user calendar information.
18. A non-transitory computer-readable medium comprising instructions which, when executed by at least one processor, cause the at least one processor to perform the method of one of claims 16 or 17.
Citation Information
Patent Citations
Method and equipment for model training in distributed system
CN107025205A
Distributed model training
US20150193695A1
Privacy-guided disclosure of crowd-based scores computed based on measurements of affective response
US20160224803A1