Electronic Devices and Systems
Patent Information
- Application Number
- JP2023210082
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-12-13
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2040-09-24
Smart Images

Figure 0007631490000001 
Figure 0007631490000002 
Figure 0007631490000003
Abstract
Description
[Technical field]
[0001] FIELD OF THE DISCLOSURE Embodiments of the present invention relate to electronic devices and systems. [Background technology]
[0002] IoT (Internet of Things) systems that connect objects (called devices) in the real world via the Internet are becoming more common. Creating an IoT system requires advanced technical knowledge, such as programming for controlling the devices, and creating an IoT system is not easy.
[0003] In recent years, it has been proposed to create an IoT system by linking multiple devices according to rule information such as "if this, then do that." The IoT system is realized by installing rule information in an electronic device that can control multiple devices.
[0004] A user who wants to create an IoT system selects rule information suitable for him / herself from a large number of rule information prepared and published in advance, and downloads it to an electronic device. As the number of rule information prepared in advance increases, it becomes difficult to select rule information. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2019-145150 A Summary of the Invention [Problem to be solved by the invention]
[0006] An object of the present invention is to provide an electronic device and system that can easily select at least one piece of rule information, etc. from a large number of pieces of rule information, etc. for implementing an IoT system. [Means for solving the problem]
[0007] According to one embodiment, an electronic device coupled to the plurality of sensors and the plurality of processing modules comprises: a storage unit that stores a plurality of rule information items associated with a sense result of at least one sensor among the plurality of sensors such that, when the sense result of at least one sensor among the plurality of sensors is a specific result, at least one processing module among the plurality of processing modules executes an operation associated with the sense result; a display control unit that generates a display screen that displays rule identification information included in the plurality of rule information; and An electronic device is provided, wherein each of the multiple rule information includes identification information of a creator of the rule information and attribute information of the rule information, the attribute information including at least first identification information indicating a scene in which the service provided by the rule information is used, second identification information indicating a theme of the service provided by the rule information, and third identification information indicating a problem to be solved by the service provided by the rule information. [Brief description of the drawings]
[0008] [Figure 1] FIG. 2 is a diagram illustrating an example of functional blocks of an edge computer in the IoT system according to the first embodiment. [Diagram 2] 4 is a diagram showing an example of a data structure of rule information used by the IoT system according to the first embodiment; FIG. [Diagram 3] 3 is a diagram showing an example of a data structure of an IF-THEN part in the rule information shown in FIG. 2. [Figure 4] 3 is a diagram showing an example of a data structure of a rule attribute in the rule information shown in FIG. 2. FIG. [Diagram 5] FIG. 13 is a diagram illustrating an example of a data structure of execution history information stored in the edge computer. [Figure 6] FIG. 13 is a diagram illustrating an example of a data structure of evaluation information stored in the edge computer. [Figure 7] FIG. 2 is a diagram illustrating an example of functional blocks of a cloud server in the IoT system according to the first embodiment. [Figure 8] FIG. 13 is a diagram illustrating an example of a data structure of usage frequency ranking information generated by a cloud server. [Figure 9] FIG. 13 is a diagram showing an example of a usage frequency ranking table. [Figure 10] FIG. 13 is a diagram illustrating another example of the data structure of the usage frequency ranking information. [Figure 11] FIG. 13 is a diagram illustrating another example of the data structure of the usage frequency ranking information. [Figure 12] FIG. 13 is a diagram showing another example of the usage frequency ranking table. [Figure 13] 13 is a diagram illustrating an example of a data structure of evaluation ranking information generated by a cloud server. FIG. [Figure 14] FIG. 13 is a diagram showing an example of an evaluation ranking table. [Figure 15] FIG. 13 is a diagram showing yet another example of the usage frequency ranking table. [Figure 16] FIG. 13 is a diagram showing yet another example of the usage frequency ranking table. [Figure 17] FIG. 13 is a diagram showing yet another example of the evaluation ranking table. [Figure 18] FIG. 13 is a diagram showing yet another example of the evaluation ranking table. [Figure 19] 11 is a flowchart illustrating an example of rule creation by the edge computer according to the first embodiment. [Figure 20] 20 is a diagram showing an example of a screen transition of the display of the edge computer when creating the rule shown in FIG. 19. [Figure 21] 20A and 20B are diagrams showing another example of screen transition of the display when creating a rule shown in FIG. 19. [Figure 22] 20 is a diagram showing still another example of screen transition of the display when creating a rule shown in FIG. 19. FIG. [Diagram 23] FIG. 11 is a sequence diagram illustrating an example of a process of downloading rule information by the edge computer according to the first embodiment. [Figure 24] 11 is a flowchart showing an example of rule use by the edge computer according to the first embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, the embodiments will be described with reference to the drawings. The following description is an example of an apparatus and method for embodying the technical idea of the embodiment, and the technical idea of the embodiment is not limited to the structure, shape, arrangement, material, etc. of the components described below. Modifications that a person skilled in the art can easily conceive are naturally included in the scope of the disclosure. In order to make the description clearer, the size, thickness, planar dimensions, or shape of each element may be changed from the actual embodiment and shown diagrammatically. Elements having different dimensional relationships or ratios may be included in multiple drawings. In multiple drawings, corresponding elements may be given the same reference numerals and duplicated descriptions may be omitted. Some elements may be given multiple names, but these examples of names are merely examples and do not deny the use of other names for these elements. In addition, it is not denied that elements not given multiple names may be given other names. In the following description, "connection" means not only direct connection but also indirect connection via other elements.
[0010] (IoT system overview) The embodiment relates to an IoT system that links various devices based on rule information. The IoT system of the embodiment links not only devices but also services provided by software. The services include email services and SNS services provided by programs installed on the devices, and web services provided by cloud servers. In this specification, devices and services that are units linked by the IoT system are sometimes called modules. Rule information is information that describes rules that define how multiple modules are combined. The embodiment allows devices and services to be freely combined, making it possible to realize a convenient mechanism in various situations at home, in the office, and in society.
[0011] A service means an active operation that combines control of predetermined entities / states / information to provide a user with predetermined processing, state changes, or content, data, or information, with or without payment. In the embodiment, a service is provided to a user according to rule information. As a form of providing this service, in the embodiment, a combined (composite) service that crosses (spans) the boundaries between a service in real space or physical space using various devices and a service in cyberspace using a Web service or the like may be provided.
[0012] Content means specific matters related to a specific function, and has a specificity that allows individual distinction from other things. For example, it does not include the abstract concept of "movie", but rather a specific content with a "movie name (title)" set as a means of distinguishing it from other content. Similarly, it does not include the abstract concept of a "web screen" displayed in a web browser, but rather a specific web page located at a specific URL.
[0013] A module includes a means for realizing a predetermined function. A module is composed of a combination of a human-recognizable entity (also called a state or information) in a real space in which the predetermined function is realized and a control unit thereof. A service is provided to a user by a combination of operations of a plurality of modules controlled by individual control units. A module is a concept of a combination of an entity and a control unit for realizing a predetermined function. The human-recognizable entity constituting a module and its control unit do not need to be physically integrated. For example, the human-recognizable entity and its control unit may be installed in physically separate locations, and the two may be linked together using a communication function. The human-recognizable entity constituting a module and its control unit do not need to form a physical entity (physically real object).
[0014] A device includes anything that exists in the real space and is used to realize a predetermined function. A device includes a device that executes processing, a device that displays content, and a storage device that stores data. A device may have a built-in communication function for communicating with an external device. A device may have a function that acts on physical or chemical states or phenomena in the natural world. Devices that act passively on the natural world include sensors, etc. Devices that act actively on the natural world include robots, drive mechanisms, and display devices (display elements), etc. The physical form of a device is not limited to a stationary type, and may be a mobile, portable type. Examples of the physical form of a device include a form that can be worn by a user, such as a band-type sensor fixed to the user's arm or leg, a belt-type sensor fixed to the user's waist, and a VR-type or AR-type head-mounted display worn on the head.
[0015] An example of a rule is one that specifies a cooperation relationship between modules such that, when a state detected by a sensor module is a specific state, an execution module executes a specific process. There are various formats of rule information that describes a rule, and an example of such a format includes condition information (also referred to as an IF section) that indicates a specific state, and process information (also referred to as a THEN section) that indicates a specific process to be executed by the execution module when a state detected by the sensor module is a specific state. However, the format of the rule information is not limited to this format.
[0016] An example of rule information in this format is "If the temperature is 26 degrees or higher, operate the air conditioner in cooling mode." In this example, the modules (devices in this case) that the IoT system links are a temperature sensor that detects temperature, which is an example of a state, and an air conditioner that executes operation in cooling mode, which is an example of a process. Examples of states and processes are not limited to the above examples.
[0017] In this specification, a module that detects a state is referred to as an IF module, and a module that performs an action is referred to as a THEN module. The IoT system includes an IF module, a THEN module, and an electronic device. The electronic device is connected to the IF module and the THEN module, for example, wirelessly. The electronic device determines whether the state detected by the IF module is a specific state, and if so, provides instructions to the THEN module to perform an action.
[0018] An example of the electronic device includes, but is not limited to, a smartphone. Rule information and software that controls the IF module and the THEN module according to the rule information are installed in the electronic device. The electronic device periodically requests the IF module to detect a state, and when the electronic device detects that the state detected by the IF module is a specific state based on the output of the IF module, it controls the THEN module to execute a specific process.
[0019] The number of IF sections and THEN sections in one rule information, that is, the number of states to be detected and the number of processes to be executed are not limited to one each. For example, one process may be executed when each of a plurality of states is a plurality of specific states. For example, the rule information may indicate one process to be executed when the state detected by the first IF module is a first specific state and the state detected by the second IF module is a second specific state. Alternatively, multiple processes may be executed when one state is a specific state. Furthermore, multiple processes may be executed when each of a plurality of states is a plurality of specific states. For example, the rule information may indicate a first process to be executed by the first THEN module and a second process to be executed by the second THEN module when the state detected by the detection module is a specific state.
[0020] A user who wants to create or use an IoT system may create rule information by himself / herself, but can also use rule information created by other users. In the embodiment, the user who creates the rule information uploads the rule information to a server. A user who wants to use the rule information accesses the server, selects appropriate rule information from a large number of rule information, and downloads it.
[0021] (Rule information) The electronic device transmits a request signal to an IF module identified by an IF module ID included in valid rule information stored in a memory, requesting the IF module to detect a state and transmit the detection result to the electronic device for each IF cycle. The IF module detects a state in response to the request signal from the electronic device, and transmits a detection signal indicating the detected state to the electronic device.
[0022] The electronic device determines whether the state detected by the IF module is a specific state described in the IF section of any rule information. When the electronic device determines that the detected state is a specific state, the electronic device transmits a request signal to the THEN module described in the THEN section of the rule information to request the THEN module to execute the process described in the THEN section.
[0023] The electronic device provides a convenient mechanism (IoT system) by linking at least one IF module and at least one THEN module in this way. Note that the rule information defines the modules for providing the mechanism and their linkages, and corresponds to a recipe in cooking, so in this specification the rule information is also referred to as recipe information.
[0024] In order to build an IoT system using rule information, it is necessary to expand and distribute the rule information. The cloud server could have a rule publication site and publish a rule list screen showing the stored rule information. Note that some rule information may not be permitted to be published. In such cases, the rule publication site will publish only rule information that is permitted to be published.
[0025] When a user accesses the rule publication site, the user can view a screen listing published rules. The user can select rule information from the rule list screen and download the selected rule information to the edge computer.
[0026] Users can easily configure an IoT system by simply preparing the IF and THEN modules listed in the rule information.
[0027] Rule information is created by users who want to build IoT systems, but rule information can also be created by other parties, such as creators who create it as a business or manufacturers of the IF and THEN modules that make up the rule information.
[0028] It is expected that many people will upload many pieces of rule information to the cloud server in this way. If the number of pieces of rule information stored in the cloud server increases, it becomes difficult to select appropriate rule information. Therefore, the cloud server provides a list screen of rule information recommended to the user from among many pieces of rule information. This makes it easier for the user to select rule information.
[0029] In order to recommend a rule, the cloud server needs to calculate recommendation level information for the rule information. The recommendation level information is information on an index used to recommend the rule information. The value of the recommendation level information corresponds to the degree to which the rule information is recommended. For example, the value of recommendation level information for more recommended rule information is greater than the value of recommendation level information for less recommended rule information. The recommendation level information may be calculated from multiple indexes rather than a single index. Examples of the index include the number of times of use and the evaluation. The number of times of use includes the cumulative number of times of use and the number of times of use within a certain period. The number of times of use within a certain period includes the number of times of use in the most recent unit period (e.g., one month). Rule information that is used frequently or has a high evaluation may be considered to be more recommended rule information.
[0030] The cloud server may provide the user with a rule list screen that shows a ranking table in which rule information is arranged in order of the value of recommendation level information related to the number of times of use or evaluation (e.g., highest to lowest). The ranking table may consist of multiple pages, and the multiple pages are displayed in order of the value of recommendation level information. This allows the user to select and download desired rule information from the rule list screen in a short time, even if there is a large number of rule information.
[0031] (Edge Computer) FIG. 1 is a diagram showing an example of the configuration of an IoT system according to this embodiment, and in particular shows an example of details of an edge computer 6 in the IoT system. The IoT system according to this embodiment includes a cloud server 2, an edge computer 6, an IF module 8A, and a THEN module 8B. The cloud server 2 and the edge computer 6 are connected via a network 18. The edge computer 6 and the IF module 8A are connected via a network 18. The edge computer 6 and the THEN module 8B are connected via a network 18. The edge computer 6 is an example of an electronic device that creates rule information. The configuration of the cloud server is shown in FIG. 7. The edge computer 6 is an example of an electronic device for each user. Although FIG. 1 shows a single edge computer 6, multiple edge computers 6 of different users or the same user may be connected to the network 18.
[0032] The edge computer 6 includes an input device 102, a display device 104, a transmitting unit 106, a receiving unit 108, microservices 10A and 10B, an application 20, a rule memory 28, an evaluation memory 122, and a history memory 124. The input device is, for example, a keyboard or a mouse. The display device is, for example, a liquid crystal display or a projector. Instead of being configured from separate devices, the input device 102 and the display device 104 may be configured from a single display having a touch input function.
[0033] Examples of the edge computer 6 include a personal computer, a smartphone, a tablet, a signage, a gateway, a router, a car navigation system, a home appliance (such as a television), a multifunction device (a copy machine), a cloud server, and the like.
[0034] Places where edge computers 6 are installed include transportation equipment such as trucks, trains, ships, and aircraft, as well as facilities such as hospitals, factories, apartments, private homes (voice synthesis, email, SNS, etc.), agricultural facilities, fishing facilities, forestry facilities, schools, and parks.
[0035] The application 20 for constructing an IoT system based on rule information includes a rule creation unit 112, a rule acquisition unit 114, an evaluation management unit 116, an execution history management unit 118, and a rule engine 26. The application 20 is a program for realizing a platform for constructing an IoT system based on rule information. The rule engine 26 includes a rule management unit 132, a state monitor 134, and a process startup unit 136.
[0036] The rule creating unit 112 creates rule information based on the text information input from the input device 102, and sends the rule information to the transmitting unit .
[0037] Examples of rule information are shown in FIG. 2 to FIG.
[0038] Fig. 2 shows an example of the data structure of rule information. The rule information includes a plurality of items. Examples of the items of the rule information include a rule ID, a rule name, a creator ID, a creation date and time, an IF-THEN section, a rule attribute, an editable / uneditable flag, an editor ID, etc. Examples of the items of the rule information are not limited to the example of Fig. 2. For example, the rule attribute, the editable / uneditable flag, the editor ID, etc. may be omitted.
[0039] The rule ID is unique identification information for each rule information. The rule ID is automatically determined at the time of creation, but does not have to be determined at the time of creation. The creator may freely set the rule ID as long as there is no duplication. The rule name represents the content of the rule, i.e., the content of the IoT system. Examples of rule names include, but are not limited to, "cooling operation at high temperatures," "visitor notification," "audio guidance," "machine failure notification," and "abnormal heart rate notification." The creator ID is unique identification information for each creator of rule information. The creation date and time are entered automatically.
[0040] The IF-THEN section shows the cooperation between the IF module 8A and the THEN module 8B. An example of the IF-THEN section is shown in FIG.
[0041] The rule attribute is information that indicates what kind of service the rule information provides. An example of the rule attribute is shown in FIG.
[0042] A rule creator can permit or prohibit others from editing the rules (specifically, IF-THEN parts, rule attributes, etc.) that he or she created. When permitting editing of a rule that he or she created, the rule creator sets the edit permission flag to, for example, "1," and when prohibiting editing, the rule creator sets the edit permission flag to, for example, "0." Note that the specific value of the edit permission flag is not limited to this.
[0043] This system is designed so that when user-editable rule information is downloaded, the user can edit the rule information. When editable rule information is downloaded, an icon indicating that the rule information can be edited is displayed on the display. When this icon is touched, the rule information becomes editable.
[0044] Rule information created by a user through editing is uploaded to the server in the same way as newly created rule information. A rule created through editing is registered as a rule with a rule ID that is different from the original rule before editing. In this case, the creator ID remains unchanged, but an editor ID is added. The editor ID is unique identification information for each editor. It is also possible for multiple rules to be created and registered from a single editable original rule through editing.
[0045] 3 shows an example of the data structure of an IF-THEN section. The IF-THEN section is input by the creator or edited by the editor, and consists of an IF section and a THEN section.
[0046] The IF section includes a plurality of items. Examples of items in the IF section include, but are not limited to, an IF module ID, which is identification information of the IF module 8A, a condition for starting execution of processing, an IF parameter that defines the details of the condition, and an IF cycle that indicates a period for checking the condition. A condition is a specific state that is compared with a state detected by the IF module 8A. Examples of the IF module 8A include, but are not limited to, a temperature sensor, a humidity sensor, a door, a breathalyzer, an open / close sensor, a beacon, a human sensor, a water leak sensor, a power-generating chair, a power-generating floor, a weight sensor, a composite multi-function sensor (light, temperature, humidity, acceleration, gyro, etc.), a thermometer, a weight scale, a microphone, a hygrometer, a camera, etc.
[0047] The THEN section also includes a plurality of items. Examples of items in the THEN section include, but are not limited to, a THEN module ID that is identification information of the THEN module 8B, a process executed by the THEN module 8B, and THEN parameters that define details of the process. Examples of the THEN module 8B include, but are not limited to, a communication robot, a power strip, a notification watch, a wristband, an LED, a remote control for an electronic device, sending an email, displaying a map, and synthesizing speech.
[0048] Examples of combinations of IF and THEN sections include, but are not limited to, the following: "When an object weighing more than xx grams is placed on the tray, it will light up for xx seconds to notify you." "When the temperature exceeds XX degrees, operate the air conditioner in XX mode." "If the vibration of the machine tool stops for more than XX seconds, a warning message will be displayed for XX seconds to notify the operator." "When XX person arrives at XX, start audio guidance of XX in XX language." For example, "If the heart rate exceeds XX, the person will be notified by XX."
[0049] The ○○ in the IF and THEN sections are values or options that specify the details of the IF and THEN sections, and are defined by the IF and THEN parameters.
[0050] FIG. 4 shows an example of a data structure of a rule attribute. The rule attribute includes a plurality of items. Examples of items of the rule attribute include, but are not limited to, a subject ID, a scene ID, a theme ID, and a task ID. The rule attribute may be used in a rule recommendation process described later. The rule attribute may also be used as a keyword in searching for rule information.
[0051] The target ID is identification information that indicates the user who is the target of the process executed based on the rule information, that is, the target of the service provided by the rule information. Examples of the target include, but are not limited to, an employee (ID=P1), a manager (ID=P2), a professor, a nurse, etc.
[0052] The scene ID is identification information indicating a scene where processing is performed based on the rule information, that is, a scene where a service provided by the rule information is used. Examples of scenes include, but are not limited to, a conference room, a restaurant, a luggage packing area, a construction site, an office (ID=S1), a factory (ID=S2), a classroom, an elevator, a house, a living room at home, a grocery store, a coffee shop, a park, a school grounds, a clothing store (apparel shop), an immigration gate, a tourist spot, a convenience store, a museum (ID=S3), an art museum, a train station, an office building, a hotel, a highway, a hotel lobby, a logistics center, a tennis court, an airport, a toilet, and the inside of a bus.
[0053] The theme ID is identification information that indicates the theme of the process executed based on the rule information, i.e., the theme of the service provided by the rule information. Examples of themes include, but are not limited to, security (ID=T1), efficiency (ID=T3), comfort, peace of mind, market share expansion (ID=T2), automation, money making / saving, entertainment (ID=T4), health (ID=T5), convenience, etc.
[0054] The problem ID is identification information indicating a problem to be solved by a process executed based on the rule information, i.e., a problem to be solved by a service provided by the rule information. Examples of problems include, but are not limited to, visualization (ID=O1), function addition, energy saving (ID=O2), ecology (ID=O3), etc. The data structure of the rule attribute is not limited to the example shown in FIG. 4.
[0055] The creator may set the rule attributes when creating the rule information. The creator may set or change the rule attributes at any timing other than when creating the rule information. If the rule ID, rule name, keyword in the IF-THEN section, creator ID, editor ID, etc. are used to search for rule information and at least one item of the rule attributes is not used, the creator does not need to set the rule attribute items that are not used. Instead of inputting the rule attribute items, options for the rule attribute items may be displayed and the rule attribute items may be set by selecting an option from among them. If there is an item among the rule attribute items that does not need to be limited, the ID of all (all) is set for that item.
[0056] For ease of illustration, the rule information is divided into three tables, but the actual rule information may be a single table in which the IF-THEN section shown in FIG. 3 and the rule attributes shown in FIG. 4 are incorporated into the table shown in FIG. 2.
[0057] Returning to the explanation of FIG. 1, the transmission unit 106 transmits the rule information to the cloud server 2 via the network 18.
[0058] When a user of the edge computer 6 creates rule information, the rule creation unit 112 may display a guidance screen for rule creation on the display device 104. The rule creation unit 112 creates rule information based on information that the creator inputs or selects from the input device 102 in accordance with the guidance screen. Here, an example is shown in which rule information is created in accordance with the guidance screen, but the user may create rule information by directly inputting information necessary for rule creation without using the guidance screen.
[0059] Instead of inputting the rule information as text information from the input device 102, the rule information may be input as a voice signal, and the voice signal may be subjected to voice recognition to input the rule information.
[0060] The transmitting unit 106 has a memory (not shown). The transmitting unit 106 writes the rule information transmitted from the rule creating unit 112 into the memory. When the transmitting unit 106 receives a transmission request for rule information from a user, the transmitting unit 106 may transmit the rule information in the memory to the cloud server 2, or may transmit a fixed number of rule information to the cloud server 2 every time a fixed number of rule information is stored in the memory, or may transmit the rule information stored in the memory to the cloud server 2 at fixed time intervals. The user can send a transmission request for rule information to the transmitting unit 106 using the input device 102.
[0061] The rule information transmitted from the multiple edge computers 6 to the cloud server 2 is stored in the cloud server 2 in the format shown in, for example, FIGS.
[0062] When a user of the edge computer 6 downloads rule information from the cloud server 2, the rule acquisition unit 114 sends a display request signal requesting display of a ranking table of rule information for recommendation level information specified by the user, or a download request signal requesting download of rule information selected by the user, to the transmission unit 106. The transmission unit 106 transmits the display request signal or the download request signal to a rule publication site (not shown) of the cloud server 2 via the network 18.
[0063] When the rule disclosure site receives a display request signal requesting the display of a ranking table of rule information for specified recommendation level information, it transmits ranking information in which multiple rule information is arranged in descending order of recommendation level information value to the edge computer 6 as rule list screen information.
[0064] The receiving unit 108 of the edge computer 6 transmits the received rule list screen information to the rule acquiring unit 114. The rule acquiring unit 114 displays a ranking table on the display device 104 based on the rule list screen information.
[0065] When the user selects at least one piece of rule information from the displayed ranking table, the rule acquisition unit 114 sends a download request signal requesting download of the selected rule information to the transmission unit 106. The transmission unit 106 transmits the download request signal to the rule disclosure site via the network 18.
[0066] When the rule disclosure site receives the download request signal for the selected rule information, it transmits the selected rule information to the edge computer 6 .
[0067] The receiving unit 108 of the edge computer 6 sends the received rule information to the rule management unit 132 of the rule engine 26. The rule management unit 132 writes the rule information into the rule memory 28. The rule memory 28 stores the rule information.
[0068] Downloading the rule information may be free or charged. If a fee is charged, the fee may be added to the items in the data structure of the rule information shown in Fig. 2, and the rule management unit 132 may write the rule information to the rule memory 28 to perform the charging process.
[0069] The state monitor 134 of the rule engine 26 is connected to the microservices 10A and 10B. The microservice 10A is connected to the IF module 8A via the network 18. The microservice 10B is connected to the THEN module 8B via the network 18. Note that although the network connecting the edge computer 6 and the cloud server 2 and the network connecting the edge computer 6 and the IF module 8A and the THEN module 8B are illustrated as the same network in the example of FIG. 1, they may be different networks. The microservices 10A and 10B are control means for the IF module 8A and the THEN module 8B configured by a program using an object-oriented programming language.
[0070] For convenience of explanation, FIG. 1 shows a single IF module 8A and a single THEN module 8B, but a plurality of IF modules 8A and a plurality of corresponding microservices 10A may be provided, or a plurality of THEN modules 8B and a plurality of corresponding microservices 10B may be provided. When configuring an IoT system that provides one service, at least two modules, at least one IF module 8A and at least one THEN module 8B, are required. Also, if one module has a function of detecting a state and executing processing, one module is sufficient. For example, by using an illuminance sensor with an LED, an IoT system can be realized that follows rule information that turns on an LED when the illuminance is equal to or higher than a threshold value.
[0071] As described above, the IF module 8A and the THEN module 8B are not limited to devices, but also include processes, contents, or data. Therefore, the microservices 10A and 10B also include program software using AI technology for controlling transitions between web pages and screen operations corresponding to specific web pages. Similarly, the microservices 10A and 10B also include application programs that automatically extract the number of people appearing in specific video content using AI technology, and application programs that analyze the obtained data using, for example, statistical analysis.
[0072] The IF module 8A, the THEN module 8B, and the microservices 10A and 10B may be connected to the network 18 wirelessly or wired. Examples of wireless connections include Bluetooth (registered trademark), a mobile phone line, and Wi-Fi (registered trademark). Examples of wired connections include a wired LAN and a USB connection.
[0073] The IF module 8A and the THEN module 8B include modules in the real space and modules in the cyberspace. Examples of modules in the real space include, but are not limited to, sensors, beacons, home appliances, mobile terminals such as smartphones and tablets, HMDs (head mounted displays), IoT devices, and GPS satellites. Modules in the real space include modules disposed outside the edge computer 6 as shown in FIG. 1, and modules built into the edge computer 6, although not shown in FIG. 1. Examples of built-in modules include, but are not limited to, a temperature sensor, a pressure sensor, and a gyroscope.
[0074] Examples of modules in cyberspace include, but are not limited to, user services such as automatic buying and selling of securities (specific brands of stocks), ordering of specific products and automatic transfer of the received product price (billing processing), application to purchase movie or music tickets, and application to make travel reservations, etc., which are realized by web service servers or IoT service servers.
[0075] Returning to the explanation of the rule engine 26, the state monitor 134 periodically requests the microservice 10A corresponding to the IF module 8A described in the IF section of the rule information to detect a state, and receives a detection signal from the microservice 10A. Upon receiving a detection request from the microservice 10A, the state monitor 134 determines whether or not the state detected by the IF module 8A matches a specific state described in the IF section of any of the valid rule information stored in the rule memory 28, and sends the determination result to the process startup unit 136.
[0076] When the state monitor 134 detects that the detected state of the IF module 8A matches a specific state, the process startup unit 136 transmits an execution instruction signal to the microservice 10B corresponding to the THEN module 8B to cause the THEN module 8B to execute the process described in the THEN part of the rule information. When the microservice 10B receives the control signal, it transmits a process execution command to the corresponding THEN module 8B. The control signal is also transmitted to the execution history management unit 118.
[0077] The use of the rule information may be free or charged. If a fee is charged, a fee may be added to the items in the data structure of the rule information shown in FIG. 2, and the processing start-up unit 136 may start up the rule information and then the charge process may be performed.
[0078] The execution history management unit 118 creates execution history information based on a control signal output from the process startup unit 136, writes the execution history information in the history memory 124, and transmits the execution history information to the transmission unit 106. The history memory 124 stores the execution history information. The execution history indicates the history of execution of the process described in the THEN section, and also indicates the history of use of the rule information. An example of the execution history information will be described later with reference to FIG. 5.
[0079] The transmission unit 106 includes a memory that stores the execution history information transmitted from the execution history management unit 118 until the execution history information is transmitted to the cloud server 2. When the transmission unit 106 receives a transmission request for execution history information from a user, the transmission unit 106 may transmit the execution history information in the memory to the cloud server 2 via the network 18, or may transmit a fixed number of pieces of execution history information each time a fixed number of pieces of execution history information are stored in the memory, or may transmit the execution history information stored in the memory at fixed time intervals. The user can send a transmission request for execution history information to the transmission unit 106 using the input device 102.
[0080] The user can input text information indicating an evaluation of the rule information from the input device 102. The evaluation management unit 116 creates evaluation information of the rule information based on the text information input from the input device 102. The evaluation information includes character strings such as comments, evaluation values, and the like. There is no limit to the time when the evaluation information is created. The user can instruct the edge computer 6 to create the evaluation information or the time of creation using the input device 102.
[0081] When the evaluation management unit 116 is instructed to create evaluation information, it causes the display device 104 to display a list of rule information used in the past (rule information for which the process described in the THEN section has been executed) based on the rule information stored in the edge computer 6 and stored in the rule memory 28 and the execution history stored in the history memory 124, and permits input of evaluation information for rule information in the list, while also prompting the input of evaluation information. In other words, evaluation information for rule information can be input only by users who have actually used that rule information, and evaluation information cannot be input by people who have not used the rule information. This can increase the credibility of the evaluation information.
[0082] It should be noted that displaying a list of rule information used in the past is not essential, and the user may select rule information by rule ID, rule name, etc., and input evaluation information. In this case as well, the evaluation management unit 116 does not allow rule information that has not actually been used to be selected and evaluation information to be input.
[0083] The evaluation management unit 116 writes the created evaluation information in the evaluation memory 122 and also transmits it to the transmission unit 106. Details of the evaluation information will be described later with reference to Fig. 6. The evaluation memory stores the evaluation information.
[0084] Incidentally, instead of inputting the evaluation information as text information from the input device 102, the information may also be input as a voice signal, and the voice signal may be subjected to voice recognition to input the evaluation information.
[0085] The transmitting unit 106 includes a memory that stores the evaluation information transmitted from the evaluation management unit 116 until it is transmitted to the cloud server 2. When the transmitting unit 106 receives a transmission request for evaluation information from a user, it may transmit the evaluation information in the memory to the cloud server 2 via the network 18, or may transmit a fixed number of pieces of evaluation information each time a fixed number of pieces of evaluation information are stored in the memory, or may transmit the evaluation information stored in the memory at fixed time intervals. The user can send a transmission request for evaluation information to the transmitting unit 106 using the input device 102.
[0086] The rule memory 28, history memory 124, and evaluation memory 122 may be composed of three memories as shown in Fig. 1, or may be composed of one memory. When composed of one memory, the area of the single memory may be divided into three, and the rule information, execution history information, and evaluation information may be stored in each divided area. When composed of three memories, they may be composed of three independent memory devices, or may be composed of three memories used as one memory device.
[0087] Although it has been described that the edge computer 6 creates the rule information, the cloud server 2 may create the rule information instead of the edge computer 6. Furthermore, instead of the edge computer 6 or the cloud server 2, another electronic device (e.g., a personal computer or another edge computer) connected to the edge computer 6 via the network 18 may create the rule information and manage the rule information. The edge computer 6 has a function of creating rule information and transmitting the created rule information to the cloud server 2, and a function of downloading the rule information and using the rule information. However, the other electronic device may have a function of creating rule information but may not have a function of using it, that is, may not have a rule engine. The process of creating rule information in the other electronic device is similar to the process of creating rule information in the edge computer 6, so this specification will describe the operation of creating rule information in the edge computer 6.
[0088] In the above explanation, it is assumed that the rule creator and the rule user are different people, but the rule creator and the rule user may be the same person. In this case, the rule information created in the edge computer 6 does not need to be registered in the cloud server 2. However, similar to the above explanation, the rule information may be transmitted from the edge computer 6 to the cloud server 2, registered in the cloud server 2, and then downloaded from the cloud server 2 to the edge computer 6.
[0089] In principle, the rule information stored in the rule memory 28 is used automatically, but there are cases where a large amount of rule information is stored in the rule memory 28 and it is not necessary to use all of the rule information at all times. For example, there are cases where specific rule information is not desired to be used at night. The rule management unit 132 may set rule information to be used from a large amount of rule information stored in the rule memory 28 as valid rule information based on a user instruction from the input device 102. Invalid rule information is not used. The user is not limited to selecting valid / invalid, and when validating, can also specify a period / time period, etc. for validity. Columns for valid / invalid rules, period / time period for validity, etc. may be added to the rule information of the data structure shown in FIG. 2.
[0090] 5 shows an example of a data structure of execution history information. The execution history information includes multiple items. Examples of items of the execution history information include, but are not limited to, execution date and time, rule ID, user attribute, used device ID, used location ID, etc. The execution date and time indicates the execution start date and time of the process described in the THEN section in the rule information. One line of data in the execution history information corresponds to one execution of the process.
[0091] The user attributes indicate the attributes of a user who uses a rule, and consist of multiple items. Examples of user attribute items include, but are not limited to, a user ID, name, date of birth, gender, nationality, address, occupation, etc. These items may be set when a user is registered in the edge computer 6. The user attributes may be used in the rule recommendation process described later. The user attributes may also be used as keywords in searching for rule information.
[0092] The device ID used identifies the edge computer 6 that executes a specific process based on the rule information, and can be obtained when the edge computer 6 logs in. The location ID used identifies the location of the edge computer 6 that executes a specific process. If the edge computer 6 has a GPS function like a smartphone, the location ID used can be obtained from the GPS function. If the edge computer 6 does not have a GPS function, the location ID used can be obtained from the installation location information set during initial setup of the edge computer 6. Since the execution history information shown in FIG. 5 is created by one edge computer 6, the user ID (and user attributes) and the device ID used indicate the same user and the same device used, respectively. The device ID used and location ID used can also be used in the rule recommendation process described later, and can also be used as keywords in searching for rule information.
[0093] When a large number of pieces of execution history information are sent from a large number of edge computers 6 to the cloud server 2, a large number of pieces of execution history information with different user IDs and different usage device IDs are accumulated in the server memory 38 of the cloud server 2. When the cloud server 2 displays a ranking table, if the user attributes, usage device ID, and usage location ID are specified by the user, it becomes possible to display a ranking table narrowed down based on the specified items. Alternatively, when the user wants to search for rule information held by the rule disclosure site, the user attributes, usage device ID, and usage location ID can be used as search keywords.
[0094] A user can input comments and evaluations of the rule information that he or she has used. The comments and evaluations may be rule comments and rule evaluations regarding the entire rule information, IF module comments and IF evaluations regarding the IF module 8A, or THEN module comments and TNEN module evaluations regarding the THEN module 8B. An example of a rule comment is "This rule realizes a good solution to the problem of XX." An example of an IF module comment is "This IF module has high accuracy." An example of a THEN module comment is "This THEN module has a long life." The evaluation is a numerical value, and can be set in increments of 0.1, with a maximum value of 5.0, for example. The higher the evaluation, the larger the numerical value. It is possible to omit input of either the comment or the evaluation.
[0095] The evaluation management unit 116 creates evaluation information with the data structure shown in FIG. 6. The evaluation information consists of a plurality of items. The items of the evaluation information include, but are not limited to, a rule ID, a user ID, a rule comment, a rule evaluation, an IF module comment, an IF module evaluation, a THEN module comment, a THEN module evaluation, and the like, as examples. The comments are text, and the evaluations are numerical values. The rule comment, the rule evaluation, the IF module comment, the IF module evaluation, the THEN module comment, the THEN module evaluation, and the like are created by the evaluation management unit 116 based on input from the user via the input device 102. Note that the rule evaluation, the IF module evaluation, the THEN module evaluation, and the like may not be input by the user, but may be determined by an AI analyzing characters included in the rule comment, the IF module comment, and the THEN module comment.
[0096] 6 is created by one edge computer 6, the user ID indicates the same user. Each item of the evaluation information can be used in the rule recommendation process described later. Each item of the evaluation information can also be used as a keyword in searching for rule information.
[0097] The evaluation management unit 116 transmits the evaluation information stored in the evaluation memory 122 to the cloud server 2 via the transmission unit 106. When instructed to transmit by a user, the evaluation management unit 116 may transmit the evaluation information to the cloud server 2, or may transmit a certain number of pieces of evaluation information to the cloud server 2 every time a certain number of pieces of evaluation information are stored in the evaluation memory 122, or may transmit the evaluation information stored in the evaluation memory 122 to the cloud server 2 at regular intervals. Note that, if the same user inputs the evaluation information using various devices, the evaluation information may be transmitted to the cloud server 2. For example, if the edge computer 6 is a smartphone, the evaluation information input using another device (for example, a personal computer) may be transmitted to the cloud server 2.
[0098] When a large number of pieces of evaluation information are transmitted from a large number of edge computers 6 to the cloud server 2, evaluation information by different users regarding the same rule is accumulated in the cloud server 2. The rule creator can view the evaluation information of the rule information that he or she created.
[0099] (Cloud Server) FIG. 7 shows an example of the configuration of the cloud server 2 in the IoT system.
[0100] The cloud server 2 has a first receiving unit 202, a rule writing unit 204, a history writing unit 206, an evaluation writing unit 208, a ranking processing unit 210, a server memory 38, a second receiving unit 232, a request determination unit 234, a rule selection unit 236, a rule list screen creation unit 238, and a transmission unit 242.
[0101] The server memory 38 includes a rule memory 222 , a history memory 224 , an evaluation memory 226 , and a ranking memory 228 .
[0102] The rule memory 222 stores rule information. The history memory 224 stores execution history information. The evaluation memory 226 stores evaluation information. The ranking memory 228 stores ranking information. The ranking information includes first usage count ranking information, second usage count ranking information, and third usage count ranking information. The first usage count ranking information, second usage count ranking information, and third usage count ranking information will be described later. The first receiving unit 202 receives rule information, execution history information, and evaluation information from all edge computers 6 that can be connected to the cloud server 2.
[0103] The operations of the cloud server 2 include operations during rule registration and rule distribution. Rule registration includes receiving rule information created by all edge computers 6 and transmitted from the edge computers 6 to the cloud server 2, and storing it in the rule memory 222. When the cloud server 2 creates the rule information instead of the edge computers 6, rule registration includes writing the rule information created by the cloud server 2 to the rule memory 222. Rule registration is executed in response to an instruction from the edge computer 6.
[0104] The rule writing unit 204 writes the rule information received by the first receiving unit 202 from all edge computers 6 into the rule memory 222. When the rule writing unit 204 receives the rule information, it may transfer the rule information to an authentication authority (not shown) and request authentication. When the condition described in the IF section is satisfied, the authentication authority determines whether or not the THEN module described in the THEN section can correctly execute processing. The rule writing unit 204 may write the rule information that has been authenticated by the authentication authority into the rule memory 222.
[0105] The history writing unit 206 writes the execution history information received by the first receiving unit 202 from all edge computers 6 into the history memory 224. The evaluation writing unit 208 writes the evaluation information received by the first receiving unit 202 from all edge computers 6 into the evaluation memory 226.
[0106] The ranking processing unit 210 counts the execution date and time information in the execution history information stored in the history memory 224 for each rule, calculates the number of times each rule is used, and writes the number of times of use ranking information to the ranking memory 228. The ranking processing unit 210 counts the evaluation information stored in the evaluation memory 226 for each rule, calculates an overall evaluation for each rule, and writes the overall evaluation ranking information to the ranking memory 228. One example of the counting includes calculating an average value. The ranking processing unit 210 will be described in detail later.
[0107] When the rule memory 222, the history memory 224, the evaluation memory 226, and the ranking memory 228 are configured from one memory, the area of the one memory may be divided into four, and the rule information, the execution history information, the evaluation information, and the ranking information may be stored in each divided area. However, the rule memory 222, the history memory 224, the evaluation memory 226, and the ranking memory 228 may be configured from four memories. When configured from four memories, they may be configured from four independent memories. The rule memory 222, the history memory 224, the evaluation memory 226, and the ranking memory 228 may be configured from two or more memories used as one memory.
[0108] The second receiving unit 232 receives a request signal from the edge computer 6. The request signal is a display request signal requesting the display of a rule list screen or a download request signal requesting the download of selected rule information. The download request signal has information requesting the download of rule information and information identifying the rule information to be downloaded.
[0109] If the request signal received by second receiving unit 232 is a display request signal, request determination unit 234 transmits the request signal to rule list screen creation unit 238, and if it is a download request signal, transmits the request signal to rule selection unit 236.
[0110] When the rule list screen creation unit 238 receives a display request signal from the request determination unit 234, it reads out ranking information based on the recommendation level information specified in the request signal from the ranking memory 228, creates a ranking table based on the ranking information as a rule list screen, and sends the rule list screen information to the transmission unit 242. That is, the ranking processing unit 210 and the rule list screen creation unit 238 work together to generate a display screen that displays at least one rule information of the multiple rule information based on the recommendation level information. Therefore, the ranking processing unit 210 and the rule list screen creation unit 238 may be referred to as a display control unit. The display control unit may also include the server memory 38.
[0111] When the rule selection unit 236 receives a download request signal from the request determination unit 234 , it reads out the rule information to be downloaded from the rule memory 222 and sends the rule information to the transmission unit 242 .
[0112] The transmission unit 242 transmits the rule list screen information or the rule information to the edge computer 6 that is the source of the request signal.
[0113] As a result, the rule list screen is displayed on the display device 104 of the edge computer 6 that requested the display of the rule list screen. After that, when at least one piece of rule information is selected on the rule list screen, the selected rule information is downloaded to the edge computer 6.
[0114] The division of the functions of the edge computer 6 and the cloud server 2 is not limited to the examples shown in FIG. 1 and FIG. 7. At least a part of the functions of the edge computer 6 shown in FIG. 1 may be realized by the cloud server 2. At least a part of the functions of the cloud server 2 shown in FIG. 7 may be realized by the edge computer 6. Furthermore, a single electronic device including both functions may be provided. For example, a configuration corresponding to the microservices 10A and 10B, the application 20, the rule memory 28, the transmitting unit 106, the receiving unit 108, the evaluation memory 122, and the history memory 124 in FIG. 1 may be implemented in the cloud server 2. In this case, the cloud server 2 determines whether the state detected by the IF module 8A matches a specific state described in the IF part of any rule information among the valid rule information stored in the rule memory 28, and if they match, performs a process of transmitting an execution instruction signal to the microservice 10B corresponding to the THEN module 8B to cause the THEN module 8B to execute the process described in the THEN part of the rule information.
[0115] (Rule list display) The ranking processing unit 210 calculates recommendation level information for each rule information and writes it into the ranking memory 228. The ranking processing unit 210 creates ranking information by arranging a plurality of rule information in descending order of value based on the recommendation level information.
[0116] When it is time to count, the ranking processing unit 210 counts up the execution history information from all edge computers 6 stored in the history memory 224 for each rule ID, and calculates the cumulative number of uses for each rule information and the number of uses within a certain period. The counting may be done every time the execution history information is written to the history memory 224, or may be done every certain period.
[0117] The ranking processing unit 210 associates the rule ID, the cumulative number of uses, and the number of uses within a certain period, calculates first use count ranking information by arranging multiple rule information in descending order of the number of uses, and writes the first use count ranking information to the ranking memory 228. Alternatively, the counting may be performed when the ranking information is requested. In other words, the ranking processing unit 210 may calculate the ranking information when requested, without calculating the ranking information in advance and writing it to the ranking memory 228.
[0118] 8 shows an example of the first usage count ranking information. In the first usage count ranking information, multiple rule information is arranged in descending order of cumulative usage count, but may be arranged in descending order of usage count within a certain period. Note that the ranking processing unit 210 does not need to rearrange the multiple rule information in descending order of usage count, and only associates the rule ID, cumulative usage count, and usage count within a certain period. When the rule list screen creation unit 238 creates the list screen, it may create the list screen after rearranging the multiple rule information in descending order of usage count in the ranking information read from the ranking memory 228.
[0119] When a request to display a first rule list screen regarding number of uses is sent from the edge computer 6 to the cloud server 2, the rule list screen creation unit 238 reads out the first number of uses ranking information, for example as shown in FIG. 8, from the ranking memory 228, creates a first number of uses ranking table signal based on the first number of uses ranking information, and sends the first number of uses ranking table signal to the edge computer 6 as a rule list screen signal.
[0120] As a result, the display device 104 of the edge computer 6 displays, for example, a first usage count ranking table as shown in Fig. 9. In the first usage count ranking table, multiple rule information (each rule information consists of a rule name and a usage count) are arranged in descending order of cumulative usage count, but may be arranged in descending order of usage count within a certain period of time. Whether to display the ranking table of cumulative usage count or the ranking table of usage count within a certain period of time can be specified by a display request for the first rule list screen transmitted from the edge computer 6.
[0121] The ranking processing unit 210 may calculate the number of uses for each rule information as well as the number of uses for each user. The user can know the number of uses for all users from the first number of uses ranking table shown in FIG. 9, but cannot know the number of uses for a specific user. If the user can know the rule information that has been used many times by a user who provides a service similar to the service the user wants to provide, the user can easily or quickly select the rule information. In order to calculate the number of uses for a specific user, the ranking processing unit 210 counts up the execution history information stored in the history memory 224 for each combination of rule ID and user ID at the time of counting, and calculates the cumulative number of uses for each combination of rule ID and user ID and the number of uses within a certain period.
[0122] The ranking processing unit 210 obtains second use count ranking information that associates rule IDs, user IDs, cumulative use counts, and use counts within a certain period, and writes the second use count ranking information into the ranking memory 228.
[0123] FIG. 10 shows an example of the second usage count ranking information. The edge computer 6 can display a second usage count ranking table for specific users based on the second usage count ranking information. The second usage count ranking table is substantially the same as the first usage count ranking table shown in FIG. 9, but differs in that the usage count is for specific users. The order of the rule information in the second usage count ranking table may be in order of the most cumulative usage count or the most cumulative usage count within a certain period of time. Whether to display a ranking table of the cumulative usage count or a ranking table of the usage count within a certain period of time for a user with a user ID can be specified by a display request for the rule list screen sent from the edge computer 6.
[0124] Furthermore, the ranking processing unit 210 may calculate the number of times each rule attribute item (subject, scene, theme, and task) is used. The rule creator can set rule attributes that indicate what kind of service the rule information provides. The same rule information may have different effects if the rule attribute items are different and the situation in which it is used is different. In order to find rule information suitable for a service to be provided by an IoT system, it is useful to specify a rule attribute item and find rule information that is used frequently for that item.
[0125] In order to calculate the number of uses for each item of the rule attribute, the ranking processing unit 210, at the timing of counting, counts the execution history information stored in the history memory 224 for each combination of the rule ID and each item of the rule attribute, and calculates the cumulative number of uses and the number of uses within a certain period for each combination of the rule ID and each item of the rule attribute. The ranking processing unit 210 calculates third number of uses ranking information and writes the third number of uses ranking information to the ranking memory 228. The third number of uses ranking information includes at least any of information in which the rule ID is associated with the cumulative number of uses, information in which each item of the rule attribute is associated with the cumulative number of uses, information in which the rule ID is associated with the number of uses within a certain period, and information in which each item of the rule attribute is associated with the number of uses within a certain period.
[0126] 11 shows an example of the third usage frequency ranking information. Note that the rule attribute items do not need to include all of the target person, scene, theme, and task, and it is sufficient to include at least one of these.
[0127] The edge computer 6 can display the third usage frequency ranking table shown in FIG. 12 based on the third usage frequency ranking information shown in FIG. 11. In the usage frequency ranking table shown in FIG. 12, a scene is selected as an item of the rule attribute, and multiple rule information (each rule information is composed of a rule name, a usage frequency, and other items of the rule attribute) are arranged in descending order of the cumulative usage frequency for a specific scene ID, but a scene may be arranged in descending order of the usage frequency within a certain period. An item other than a scene may be selected as an item of the rule attribute. Furthermore, multiple items of the rule attribute may be selected, and the usage frequency for a combination of multiple items may be calculated. It is possible to specify by a display request for a rule list screen transmitted from the edge computer 6 which ID of which item (or items) of the rule attribute is to be displayed in the ranking table of the cumulative usage frequency or the ranking table of the usage frequency within a certain period.
[0128] When a subject, theme or task is clicked in the display area of each rule information in the usage frequency ranking table shown in Figure 12, the usage frequency ranking table for a specific scene is changed to a usage frequency ranking table for the specific subject, theme or task that was clicked.
[0129] In the third usage count ranking information shown in Figure 11, as in the second usage count ranking information shown in Figure 10, the usage count may be calculated for each combination of rule ID, user ID, and each item of rule attribute, including user ID.
[0130] Another example of recommendation level information calculated by the ranking processing unit 210 is recommendation level information related to evaluation. The evaluation includes a rule evaluation, an IF module evaluation, and a THEN module evaluation. As shown in Fig. 6, the rule evaluation, the IF module evaluation, and the THEN module evaluation are included in the evaluation information.
[0131] When it is time to tally up, the ranking processing unit 210 tallies up the rule evaluations, IF module evaluations, and THEN module evaluations of the evaluation information stored in the evaluation memory 226 for each rule ID, and calculates a rule evaluation tally value, an IF module evaluation tally value, and a THEN module evaluation tally value for each rule information. The tally values include an average evaluation value, a pair of maximum and minimum evaluation values, etc. The tallying up may be done every time evaluation information is written to the evaluation memory 226, or at regular intervals.
[0132] The ranking processing unit 210 calculates evaluation ranking information that associates rule IDs, rule evaluation aggregate values, IF module evaluation aggregate values, and THEN module evaluation aggregate values, and writes the evaluation ranking information to the ranking memory 228. Fig. 13 shows an example of evaluation ranking information. Note that the evaluation aggregate value does not need to include all of the rule evaluation aggregate value, IF module evaluation aggregate value, and THEN module evaluation aggregate value, but it is sufficient to include at least one of these. In the evaluation ranking information shown in Fig. 13, the rule IDs are arranged in descending order of the rule evaluation aggregate value, but they may also be arranged in descending order of the IF module evaluation aggregate value or the THEN module evaluation aggregate value.
[0133] The edge computer 6 can display a rule evaluation ranking table shown in Fig. 14 based on the evaluation ranking information shown in Fig. 13. In the rule evaluation ranking table shown in Fig. 14, multiple rule information (each rule information is composed of a rule name, a rule evaluation aggregate value, an IF module evaluation aggregate value, and a THEN module evaluation aggregate value) are arranged in descending order of the rule evaluation aggregate value, but they may be arranged in descending order of the IF module evaluation aggregate value or the THEN module evaluation aggregate value. Whether the ranking table is to be displayed in descending order of the rule evaluation, the IF module evaluation, or the THEN module evaluation can be specified by a display request for the rule list screen transmitted from the edge computer 6.
[0134] When an IF module evaluation aggregate value or a THEN module evaluation aggregate value is clicked in the display area of each rule information in the ranking table shown in Figure 14, the rule evaluation ranking table is changed to a ranking table for the clicked IF module evaluation aggregate value or THEN module evaluation aggregate value.
[0135] In the evaluation ranking information shown in FIG. 13, like the second use count ranking information shown in FIG. 10, the user ID may also be included and the use count may be calculated for each combination of the rule ID, user ID, and evaluation aggregate value.
[0136] The evaluation may include comments (rule comments, IF module comments, THEN module comments) included in the evaluation information. In this case, the ranking processing unit 210 is capable of executing natural language processing using morphological analysis, syntactic analysis, semantic analysis, and context analysis. The ranking processing unit 210 performs natural language processing on the comments consisting of text, and converts the text into a comment value indicating the comment content. The ranking processing unit 210 counts up the comment values for each rule ID, and calculates a comment count value of the rule information. The ranking processing unit 210 may calculate second evaluation ranking information that associates the rule ID, the evaluation count value, and the comment count value.
[0137] In the above description, the ranking processing unit 210 calculates ranking information in which rule information is pre-arranged in relation to specific recommendation level information, writes the ranking information in the ranking memory 228, and reads out the ranking information from the ranking memory 228 when a rule list display request is received from the edge computer 6. However, in the ranking information stored in the ranking memory 228, the rule IDs do not need to be arranged in descending order of the recommendation level information value. The ranking processing unit 210 may write ranking information in which the rule IDs are simply associated with the recommendation level information in the ranking memory 228. The rule list screen creation unit 238 may create a list screen after rearranging the rule IDs in the ranking information read out from the ranking memory 228 in descending order of the recommendation level information value.
[0138] Furthermore, instead of or in addition to the above information, the ranking processing unit 210 may calculate the cumulative number of uses, the number of uses within a certain period of time, or an evaluation summary value for each combination of the usage device ID, usage location ID, and rule.
[0139] For example, a rule creator ID may be added to the use count ranking information shown in Fig. 8, Fig. 10, or Fig. 11. For example, when a rule creator ID is added to the first use count ranking information shown in Fig. 8, a use count ranking table shown in Fig. 15 may be displayed. The use count ranking table shown in Fig. 15 differs from the ranking table shown in Fig. 9 in that the rule creator is displayed in the display area for each rule information.
[0140] In the ranking table shown in FIG. 15, rule information is arranged in descending order of frequency of use, regardless of who the rule creator is, as in the ranking table shown in FIG. 9. When a rule creator is clicked in the display area of each rule information in the ranking table shown in FIG. 15, the ranking table is changed to a usage frequency ranking table for rule information created by the specific creator clicked, as shown in FIG. 16, for example. Therefore, by clicking the rule creator of the rule information with the highest frequency of use, it is possible to display a usage frequency ranking table for rule information created by the creator of the rule information with the highest frequency of use. Since it is considered safe to select rule information created by a rule creator with the highest frequency of use, displaying a usage frequency ranking table for rule information created by a specific rule creator, as shown in FIG. 16, for example, is useful in selecting rule information.
[0141] The same effect can be obtained by adding the rule creator ID to the evaluation ranking information shown in FIG.
[0142] Also, the same effect can be obtained by adding an IF module ID and a THEN module ID to the ranking information instead of the rule creator ID. For example, when an IF module ID and a THEN module ID are added to the usage count ranking information shown in Fig. 8, a rule evaluation ranking table as shown in Fig. 17 is displayed. The ranking table shown in Fig. 17 differs in that the IF module evaluation aggregate value of each rule information in the rule evaluation ranking table shown in Fig. 14 has been changed to an IF module ID, and the THEN module evaluation aggregate value has been changed to a THEN module ID. Note that instead of adding both the IF module ID and the THEN module ID to the ranking information, only one of the IF module ID and the THEN module ID may be added.
[0143] In the ranking table shown in FIG. 17, similar to the ranking table shown in FIG. 14, multiple rule information are arranged in order of frequency of use, regardless of what the IF module or THEN module is. When an IF module ID or a THEN module ID is clicked in the display area of each rule information in the ranking table shown in FIG. 17, the ranking table is changed to a frequency of use ranking table limited to rule information that uses the clicked IF module or THEN module, as shown in FIG. 18. Therefore, it is possible to display a frequency of use ranking table of rule information that uses an IF module or THEN module that is used frequently. Since it is considered safe to select rule information that uses an IF module or THEN module that is used frequently, displaying the frequency of use ranking table shown in FIG. 18 is useful for selecting rule information.
[0144] The same effect can be obtained by adding the IF module ID and the THEN module ID to the evaluation ranking information instead of adding them to the usage start ranking information.
[0145] As described above, the embodiment includes a display control unit that generates a display screen that presents rule information that is ultimately recommended to the user based on the recommendation level information. The display control unit is only required to generate the final display screen based on the recommendation level information, and there is no limitation on the display screen and the process for generating it. The final display screen is not limited to the above-mentioned number of use ranking table and evaluation ranking table, and there is no limitation on its form as long as it displays rule information that is recommended to the user, and the ranking table can be modified in various ways. Furthermore, the process for generating a display screen from the recommendation level information is not limited to the process of reading ranking information based on the recommendation level information from the ranking memory 228 and creating a ranking table based on the ranking information as a rule list screen, as described above, but may also directly obtain the ranking table from the recommendation level information.
[0146] A modification of the recommendation level information will now be described.
[0147] In the above description, recommendation level information related to the number of times of use and evaluation is used, but recommendation level information related to the creation date and time may also be used. That is, a rule list screen in which the rules are arranged in ascending order of creation date and time may be displayed. In this case, it is not necessary to provide the ranking processing unit 210 and the ranking memory 228 in the cloud server 2. The rule list screen creation unit 238 may simply read out the rule information from the rule memory 222 in descending order of creation date and time, and generate the list screen.
[0148] The edge computer 6 also manages the IDs of the IF modules and the THEN modules that it owns. The edge computer 6 may transmit these IDs to the cloud server 2 together with a rule list display request, for example. The cloud server 2 can search for rule information that uses the IF modules and THEN modules that the user owns from the rule information stored in the rule memory 222, and generate a rule list screen made up of the searched rule information. In other words, it is possible to recommend to the user rule information that can be used only with the IF modules and THEN modules that the user currently owns. The user can create an IoT system without purchasing new modules.
[0149] When the execution date and time or the usage location ID is included as the execution history information, the cloud server 2 can analyze them and know what date and time this rule information is often used, or where this rule information is often used. By using this knowledge in creating a rule list, more efficient rule information can be recommended. That is, the cloud server 2 can extract rule information that is often used at the date and time when the request signal for displaying the rule list screen is transmitted, or rule information that is often used at the location where the request signal for displaying the rule list screen is transmitted, based on the execution history information. Alternatively, when the edge computer 6 transmits a request signal for displaying the rule list screen, the edge computer 6 specifies the usage date and time or the usage location, and the cloud server 2 can create a list screen of rule information that is often used at the specified date and time or the specified location.
[0150] The user can also send a search request for rule information to the rule disclosure site from the rule acquisition unit 114 of the edge computer 6. The search request may be sent while the rule list screen is being displayed, or may be sent independently of the rule list screen.
[0151] (rule creation) Fig. 19 is a flowchart showing an example of a rule creation process by the rule creation unit 112 of the edge computer 12. Here, it is assumed that the edge computer 12 is a smartphone. Fig. 20 to Fig. 22 show an example of screen transitions on the display device 104 of the edge computer 12 when creating a rule.
[0152] In step S104, the rule creation unit 112 displays a rule creation menu on the display device 104. An example of the rule creation menu is shown in FIG. 20(a). The rule creation menu includes a rule ID field 302, an IF button 306, and a THEN button 308. In the rule ID field 302, an alphanumeric character of several tens of digits that is an identification number of the edge computer 12 is entered. The identification number may be issued automatically.
[0153] When the rule creator selects the IF button 306, the rule creation unit 112 displays the IF module selection screen shown in Fig. 20(b) in step S106 and performs the IF unit setting process. The selection screen is a list of IF module icons and names, and the list can be scrolled up and down. The IF modules may be grouped by function or type. The names may be ordered in alphabetical order, or by frequency of use.
[0154] When the rule creator selects any of the IF module icons, the rule creation unit 112 displays the condition setting screen for the IF unit shown in FIG. 20(c). Here, an example will be described in which "Button" is selected as the IF module. The condition setting screen includes condition options and a "Next" button 312. When "When the button is pressed" is selected as the condition, single click, double click, and long click are further displayed as options for the IF parameter. When the IF parameter is selected, although not shown, an IF cycle option is further displayed and the IF cycle is also set.
[0155] When the rule creator selects the "Next" button 312, the rule creation unit 112 displays the end screen for setting IF section conditions shown in Fig. 21(a) The end screen includes a rule ID field 302, an IF button 306, a THEN button 308, and an icon 314 for the selected IF module.
[0156] For example, there may be cases where multiple conditions, such as "temperature is 25 degrees or higher" and "humidity is 80% or higher", are to be included in one piece of rule information. In this case, the rule creator selects the IF button 306 on the end screen. When the IF button 306 is selected, the setting process of the IF section described above is executed again, and the multiple conditions are set in one piece of rule information. Note that the multiple conditions may be AND conditions or OR conditions. When the setting process of the IF section is executed again, an option is also set as to whether the multiple conditions are AND conditions or OR conditions. When the multiple conditions are AND conditions, the process described in the THEN section will not be executed unless all of the multiple conditions are met. When the multiple conditions are OR conditions, the process described in the THEN section will be executed if any one of the multiple conditions is met.
[0157] When the rule creator selects the THEN button 308 on the IF section setting end screen, the rule creation unit 112 displays the THEN module selection screen shown in Fig. 21(b) in step S108 and performs the setting process for the THEN section. The selection screen is a list of icons and names of THEN modules, and the list can be scrolled up and down. THEN modules may be grouped by function or type. The names may be ordered in alphabetical order, or by frequency of use.
[0158] When the rule creator selects any of the THEN modules, rule creation unit 112 displays a process setting screen for the THEN unit shown in Fig. 21(c). Here, an example will be described in which LED is selected as the THEN module. The process setting screen includes process options and a "Next" button 316. When "light up" is selected as the process, a light emission pattern, for example, "blink every 100 ms" is further displayed as a THEN parameter option.
[0159] When the rule creator selects the "Next" button 316, the rule creation unit 112 displays a setting completion screen for the THEN section shown in Fig. 22(a). The setting completion screen includes a rule ID field 302, an IF button 306, a THEN button 308, an IF module icon 314, a THEN module icon 318, and a "Next" button 322.
[0160] As with the condition setting process, there may be cases where multiple processes, such as "notify user by vibration" and "notify user by email", are to be included in one piece of rule information. In this case, the rule creator selects the THEN button 308 on the end screen. When the THEN button 308 is selected, the setting process of the THEN section described above is executed again, and multiple processes are set in one piece of rule information. Note that the multiple processes may be either AND processes or OR processes. When the setting process of the THEN section is executed again, the option of whether the multiple processes are AND processes or OR processes is also set.
[0161] When the rule creator selects the "Next" button 322 on the end screen for setting the THEN part, the rule creation unit 112 displays a setting screen for the rule attributes and the editability flag shown in Fig. 22(b) and performs setting processing for the rule attributes and the editability flag in step S112. The setting screen includes options for the rule attributes and the editability flag.
[0162] When one of these options is selected, rule creation unit 112 displays a transmission confirmation screen shown in Fig. 22(c). The transmission confirmation screen includes the content of the set rule and a transmission button 326. The user can enter a rule name on this screen.
[0163] When the rule creator selects send button 326, in step S114, rule creation unit 112 sends the rule information to transmission unit 106. Transmission unit 106 transmits the rule information to cloud server 2 at a predetermined timing.
[0164] In this way, the cloud server 2 stores many pieces of rule information transmitted from each edge computer 6 in the rule memory 222 .
[0165] (Download rules) When a user uses a rule, first, the user downloads the desired rule information from the cloud server 2 to the edge computer 6. Fig. 23 is a sequence chart showing an example of the processing flow of the edge computer 6 and the cloud server 2 regarding the downloading of rule information.
[0166] In step S122, the rule acquisition unit 114 of the edge computer 6 accesses the rule distribution site of the cloud server 2 and transmits a display request signal requesting display of a rule list screen to the cloud server 2 via the transmission unit 106. The display request signal specifies which recommendation level information is to be ranked.
[0167] In the cloud server 2, when the display request signal is received, the rule list screen creation unit 238, in step S142, reads ranking information related to the specified recommendation level information from the ranking memory 228, generates a rule list screen signal based on the read ranking information, and transmits the rule list screen signal to the edge computer 6 via the transmission unit 242.
[0168] In the edge computer 6, when the receiving unit 108 receives the rule list screen signal, the rule acquiring unit 114 displays the ranking table shown in FIG. 9, FIG. 12, FIG. 14 or FIG. 15 on the display device 104 based on the rule list screen signal in step S124.
[0169] The user selects desired rule information from the ranking table. In some cases, the user scrolls the screen to view the ranking table. However, if the user cannot select rule information from the ranking table, the user can request to change the displayed ranking table to a different type of ranking table. The rule acquisition unit 114 may execute step S122 again based on an instruction from the user, and transmit a display request signal specifying other recommendation level information to the cloud server 2. For example, it is possible to change from a usage count ranking table to an evaluation ranking table, or vice versa. Furthermore, even if the ranking table is related to the same recommendation level information, it is also possible to change it to a ranking table narrowed down for a specific user, a specific rule creator, a specific rule attribute, a specific IF module, or a specific THEN module. In this case, the rule acquisition unit 114 may execute step S122 again based on an instruction from the user, and transmit a request signal to narrow down the ranking table to the cloud server 2.
[0170] When the user selects a rule from the ranking table, the rule acquisition unit 114 transmits a download request signal for the selected rule information to the cloud server 2 via the transmission unit 106 in step S126.
[0171] In the cloud server 2, upon receiving the download request signal, the rule selection unit 236 reads the requested rule information from the rule memory 222 and transmits the rule information to the edge computer 6 via the transmission unit 242 in step S144.
[0172] In the edge computer 6, when the rule information is received, the rule management unit 132 writes the rule information into the rule memory 28 in step S128.
[0173] (rule use) 24 is a flowchart showing an example of a process in which the rule engine 26 of the edge computer 12 uses rules. In step S152, the rule management unit 132 reads out the rule information stored in the rule memory 28, and sends the read rule information to the state monitor 134 and the process startup unit 136. If valid / invalid or a valid period is set in the rule information, the rule management unit 132 reads out only the currently valid rule information. Here, it is assumed that a plurality of IF modules 8A and a THEN module 8B are prepared. It is also assumed that a plurality of microservices 10A corresponding to the plurality of IF modules 8A, respectively, and a plurality of microservices 10B corresponding to the plurality of THEN modules 8B, respectively, are prepared.
[0174] In step S154, the status monitor 134 transmits a status detection request signal to the microservice 10A corresponding to the IF module ID defined in the rule information transmitted from the rule management unit 132, to detect the status of the IF module 8A at a specified period in the IF cycle. The microservice 10A periodically transmits a status detection request signal to the corresponding IF module 8A, causing the IF module 8A to detect the status. The IF module 8A detects the status in response to the request signal, and transmits a status detection signal to the microservice 10A.
[0175] In step S156, the status monitor 134 receives the status detection signal of the IF module 8A transmitted from the microservices 10a to 10i.
[0176] In step S158, the state monitor 134 determines whether the state detected by the IF module 8A satisfies the condition (considering the IF parameters) described in the IF section of any rule information. If the state monitor 134 determines that the state does not satisfy the condition, it executes the process of step S154 again.
[0177] If the status monitor 134 determines that the status satisfies the condition, it sends the rule ID of the rule information.
[0178] When the process startup unit 136 receives the rule ID, in step S160, the process startup unit 136 transmits a control signal for executing the process defined in the rule information to the microservice 10B corresponding to the THEN module ID defined in the rule information of the rule ID, and transmits the rule ID to the execution history management unit 118. The microservice 10B drives the THEN module 8B so as to execute the process defined in the rule information.
[0179] Upon receiving the rule ID, the execution history management unit 118 creates execution history information and writes the execution history information in the history memory 124 in step S162.
[0180] The execution history management unit 118 transmits the execution history information to the cloud server 2 in step S164.
[0181] At any timing (step S166) after the THEN module 8B executes the process, the evaluation management unit 116 displays a screen for inputting comments and evaluations of the rule. The user inputs comments and evaluations of the used rule according to the screen. As a result, evaluation information is created.
[0182] The evaluation management unit 116 transmits the evaluation information to the cloud server 2 in step S168.
[0183] The execution history information transmitting step S164 and the evaluation information transmitting step S170 may be performed at different times.
[0184] The present invention is not limited to the above-described embodiments as they are, and the components can be modified and embodied in the implementation stage without departing from the gist of the invention. In addition, various inventions can be formed by appropriately combining multiple components disclosed in the above-described embodiments. For example, some components may be deleted from all the components shown in the embodiments. Furthermore, components from different embodiments may be appropriately combined. [Explanation of symbols]
[0185] 2...cloud server, 6...edge computer, 8A...IF module, 8B...THEN module, 10a, 10B...microservice, 18...network, 26...rule engine, 28...rule memory, 204...rule writing unit, 206...history writing unit, 208...evaluation writing unit, 210...ranking processing unit, 222...rule memory, 224...history memory, 226...evaluation memory, 228...ranking memory, 236...rule selection unit, 238...rule list screen creation unit.
Claims
1. An electronic device connected to a plurality of sensors and a plurality of processing modules a storage unit that stores a plurality of rule information items associated with a sense result of at least one sensor among the plurality of sensors such that, when the sense result of at least one sensor among the plurality of sensors is a specific result, at least one processing module among the plurality of processing modules executes an operation associated with the sense result; a display control unit that generates a display screen that displays rule identification information included in the plurality of rule information, Each of the plurality of rule information includes: Identification information of the creator of the rule information; The rule information includes attribute information, The attribute information is First identification information indicating a scene in which a service provided by the rule information is used; second identification information indicating a theme of the service provided by the rule information; and third identification information indicating a problem to be solved by the service provided by the rule information. electronic equipment.
2. The electronic device of claim 1 , wherein the sensor and / or the processing module is connected to a microservice via a network.
3. The electronic device according to claim 1 , wherein the rule information is downloaded from a rule publishing site and stored in a storage unit.
4. 4. The electronic device according to claim 3, further comprising: means for accessing the rule publication site, viewing the rules published on a rule list screen, and selecting the rule information.
5. Further, a rule creating unit for creating the rule information, The rule creating unit, a first storage area and a second storage area for specifying identification information of a sensor (IF module) and identification information of a processing module (THEN module) in association with one rule identification information; a third and fourth memory area for describing the sensing contents of the sensor (IF module) and the processing contents of the processing module (THEN module); 2. The electronic device of claim 1.
6. An electronic device system connected to a plurality of sensors, a plurality of processing modules, and the Internet, a storage unit that stores a plurality of rule information items associated with a sense result of at least one sensor among the plurality of sensors such that, when the sense result of at least one sensor among the plurality of sensors is a specific result, at least one processing module among the plurality of processing modules executes an operation associated with the sense result; a display control unit that generates a display screen that displays rule identification information included in the plurality of rule information, Each of the plurality of rule information includes: Identification information of the creator of the rule information; The rule information includes attribute information, The attribute information is First identification information indicating a scene in which a service provided by the rule information is used; second identification information indicating a theme of the service provided by the rule information; and third identification information indicating a problem to be solved by the service provided by the rule information, The sensor and / or the processing module are connected to the Internet via microservices. Electronic equipment system.
7. A method for controlling an electronic device connected to a plurality of sensors and a plurality of processing modules, comprising: storing a plurality of rule information items in a storage unit, the rule information items being associated with at least one of the plurality of processing modules so that, when a sensed result of at least one of the plurality of sensors is a specific result, at least one of the plurality of processing modules executes an operation associated with the sensed result; a display control unit that displays rule identification information included in the plurality of pieces of rule information, generating a display screen; Each of the plurality of rule information includes: Identification information of the creator of the rule information; The rule information includes attribute information, The attribute information is First identification information indicating a scene in which a service provided by the rule information is used; second identification information indicating a theme of the service provided by the rule information; and third identification information indicating a problem to be solved by the service provided by the rule information; The sensor and the processing module are linked by the rule information. A method for controlling an electronic device.
Citation Information
Patent Citations
Sensor data providing system, method and device
JP2011180946A
Device information providing system and device information providing method
JP2014153797A
Mediation device, information processing system, program, and data structure
JP2018157455A
Contextualizing knowledge panels
JP2019145150A