Information processing apparatus, information processing method and service providing system
The information processing apparatus addresses the challenge of coordinating diverse IoT devices by managing and displaying rule sets with IF-THEN logic, enhancing the understanding and management of device interactions.
Patent Information
- Application Number
- JP2025065435
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-11
- Publication Date
- 2025-07-03
- Estimated Expiration
- 2041-03-09
AI Technical Summary
Existing IoT technologies struggle with coordinating devices independently determined rules, leading to stagnation in the expansion of device utilization.
An information processing apparatus that manages multiple rule sets with IF-THEN rules, including attribute information for leading and trailing elements, displays expiration dates, and allows for rule set adjustments to facilitate understanding and utilization of device cooperation.
Enhances the ease of understanding and utilization of device cooperation by visually displaying overlapping and conflicting rule sets, enabling effective management and control of device interactions.
Smart Images

Figure 2025100708000001_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to an information processing apparatus, an information processing method, and a service providing system.
Background Art
[0002] Many IoT (Internet of Thing) technologies have been proposed to coordinate the operations of objects (devices) in the real space via the Internet. Regarding the rules for coordinating devices, many manufacturers have each determined their own rules independently. For this reason, the expansion of the utilization of individual devices that can be coordinated has stagnated.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0004] Therefore, in the present embodiment, an object is to provide an information processing apparatus, an information processing method, and a service providing system that are convenient for making the cooperation state of a plurality of devices and services (so-called modules) easy to understand and facilitating the utilization of a plurality of devices and services.
Means for Solving the Problems
[0005] In the present embodiment, in an information processing apparatus that manages a plurality of rule sets including a rule set description in which each describes at least one IF-THEN rule, The rule set description of the IF-THEN rule includes first attribute information including at least the leading element identification information of the leading element that performs the leading action, and second attribute information including the trailing element identification information of the trailing element that executes the trailing action in cooperation with the leading action. Comprising a rule management and control unit, The rule management and control unit, When the attribute information regarding the rule set includes information indicating the expiration date of the rule set, the display unit is caused to display the rule set and the information indicating the expiration date. Enabling the change process of the expiration date according to an operation input An information processing apparatus is provided.
Brief Description of Drawings
[0006]
Figure 1A
Figure 1B
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9A
Figure 9B
Figure 9C
Figure 9D
Figure 10A
Figure 10B
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15A
Figure 15B
Figure 16
Figure 17
Figure 18A
Figure 18B
Figure 19
DETAILED DESCRIPTION OF THE INVENTION
[0007] The basic concept of the system of the present embodiment will be described with reference to FIGS. 1A and 1B. FIGS. 1A and 1B show the relationship between the cloud server 2 and the edge computer 600. FIG. 1A specifically shows the inside of the cloud server 2. FIG. 1B specifically shows the inside of one edge computer 600 as a representative. Inside the cloud server 2 and inside the edge computer 600 are physically composed of a control device, a memory, connection buses thereof, etc., but functional blocks are shown for ease of explanation. The cloud server 2 and the edge computer 600 are configured to be able to communicate with each other via a network (not shown).
[0008] <Cloud server... FIG. 1A> FIG. 1A shows the various functions in the cloud server 2 in a simplified manner and shows the relationship with each edge computer. The cloud server 2 is also referred to as the ifLink (registered trademark) platform.
[0009] The installation locations of the edge computers 600 (6A - 6F) include transportation devices such as trucks, trains, ships, airplanes, as well as hospitals, factories, apartments, private houses, etc. In addition, various facilities such as agricultural facilities, fishery facilities, forestry facilities, schools, parks, etc. are also included.
[0010] Examples of the edge computer 600 (6A - 6F) include a router type, a smartphone type, a personal computer type, an embedded product type, and an embedded IC chip type. In vehicles, aircraft, and mobile devices, the embedded IC type is preferred. Also, as the interface between various devices and services in the microservices and the edge computer, Windows (registered trademark), Linux (registered trademark), Android (registered trademark), iOS, etc. are adopted.
[0011] The cloud server 2 has a data section 250. The data section 250 stores various data used in the ifLink system. For example, data related to sensor devices and processing devices (hereinafter sometimes simply referred to as devices) connected to each edge computer 600 (6A - 6F) and service systems is stored. Therefore, so-called attribute information (including configuration, characteristics, setting information, etc.) including the identification information of devices and services is organized and registered for each of these devices and services. As setting information, there is information such as the operation period of the device, various restriction information, and usage period, and addition and modification are also possible.
[0012] Also, the data section 250 stores rule data describing rules or rule sets. The rules and / or rule sets include monitor (or condition) data for determining a detection signal when recognizing the detection signal from the IF device in order to associate between devices, and execution (JOB control) data for issuing a control command in response to the monitor data that satisfies the condition.
[0013] Rules and / or rule sets associate multiple devices with each other by including the attribute information of a plurality of devices under the rules in a predetermined descriptor. Since the rules are rules that instruct the operation mode of the device, the usage mode of the service, etc., they instruct (specify) device operations (on, off, output, waiting time, reception, extraction, etc.) and service contents (information transmission, display, input, deletion, etc.). In addition, the rules may also include attribute information such as, for example, the response speed of the device, usage restriction information, an exchange time guideline, lifespan information, expiration date information, etc. Furthermore, the data section 250 may also store information on recipes (rule usage status described later) and image data corresponding to devices and services.
[0014] The cloud server 2 is further provided with a manager for managing the above specific data. A rule manager 241, a device manager 242, and an account manager 243 are provided.
[0015] The rule manager 241 manages a list of various rules and / or rule sets (information indicating specific operations and control contents) in the ifLink system, manages the distribution and storage destinations of the rules and / or rule sets, and when there are additions or changes to the rules, executes the addition / change process and manages the rules and / or rule sets after the change. Therefore, the rule manager 241 can specify or call the rules and / or rule sets in the data section 250 and modify or change the data forming the rules.
[0016] The device manager 242 monitors the device data in the data section 250 and grasps the actual devices that implement the IF-THEN rules of the ifLink system. In addition to the sensors and devices used in the ifLink system, it also performs acceptance processes such as registration of new devices, and checks and management of device removal, etc. It can also check and manage the list of each device, the identification data and attributes of each device, etc.
[0017] The account manager 243 manages the accounts of users who utilize the ifLink system.
[0018] The IF-THEN engine 244 can specify a descriptor that describes data of rules and / or rule sets for linking IF devices and THEN devices. Then, the IF-THEN engine 244 can construct a command function for controlling single or multiple devices that specifically execute rules and / or rule sets based on the descriptor. The descriptor specifies devices recorded in the data section 250, their attributes, and the like.
[0019] Note that the rule execution (specific operations) based on rules and / or rule sets is actually executed in the IF-THEN engine of the edge computer 600 (6A - 6F) described later. Therefore, the execution operation of the IF-THEN engine 244 on the cloud may be used for confirmation by simulation.
[0020] The microservice repository 245 is a storage unit (registration unit) of software that functions as an interface when controlling sensors, devices, services, etc. connected to each edge computer. The software includes, for example, an API (Application Programming Interface).
[0021] Furthermore, the cloud server 2 is equipped with an application platform 5010. The application platform 5010 is a platform on which various applications such as performing various analyses, visualizing data, monitoring and tracking rule usage status, etc. can be set using the data in the data section 250. Therefore, in the application platform 5010, new applications can be added or unused applications can be deleted as needed.
[0022] The application platform 5010 can also perform visualization processing of the connection status, machine learning, AI (artificial intelligence) learning, analysis of optimal control, and various other analyses using the data forming the rules, the usage status (recipes) of the rules, and the log information of the JOB. It also has applications for consulting and receiving inquiries regarding the selection of IF devices and / or THEN devices, constructing data for new rule sets, etc. It includes applications that can receive solutions to consultations and inquiries and view modules in an IF-THEN relationship. It also has an application for detecting the locations of edge computers and modules in an IF-THEN relationship using GPS.
[0023] <Edge computer 600... Figure 1B> Edge computers (such as smartphones) 600 each download and save the rule set used at the location where they are installed from the cloud server 2. The rule set may be multiple or one. The rule set may be created by the user or may be a rule set sold or rented by a professional vendor. The professional vendor can also lend out the rule set via the cloud server 2 for a fee. The usage fee can be set on a monthly or annual basis.
[0024] The rule set is described so that elements (which may also be referred to as modules) such as devices and services used around the installation location of the edge computer 600 can be controlled according to the rules. In this case, the data sucked up (read) into the rules and the data output based on the rules are read or output via microservices (including application program interfaces (APIs)).
[0025] The rule set integrally describes the attribute information of each device and service (including the identification information of the device and service), and is constructed to control each installed device and service. There is also an application that oversees the entirety within the edge computer 600, called the ifLink application 1000.
[0026] When setting the above rule set in the edge computer 600 (if the edge computer is incorporated in, for example, a router instead of a smartphone), several methods are possible. For example, the user can first download it from the cloud server 2 to, for example, a smartphone (hereinafter referred to as a "smartphone") or a personal computer (hereinafter referred to as a "PC"). The user can install the rule set stored in the smartphone or PC on the edge computer 600 via wireless or wired means. For example, the smartphone and the edge computer 600 can be connected using a communication system such as Bluetooth (registered trademark) or Wi-Fi (registered trademark).
[0027] As another method, the user can remotely control the edge computer 600 via the smartphone. Then the user can obtain a state where the edge computer 600 is connected to the cloud server 2 using, for example, a URL (uniform resource locator). In this state, the edge computer 600 can be made to download a desired rule set from the cloud server 2.
[0028] External to the edge computer 600, various devices 8 such as sensors 802, beacons 804, home appliances 806, mobile terminals 808 such as smartphones and tablets, head mounted displays (HMDs) 810, and IoT devices 820 are connected. The edge computer 600 can control these various devices 8, and this system can provide various services to the user. When these various devices are, for example, temperature sensors, pressure sensors, gyroscopes, etc., they may be built into this edge computer 600. Also, all or part of these various devices may be arranged outside this edge computer 600 and controlled by communication. Further, this system can also transfer and commission a control signal for THEN device activation from the edge computer 600 to another edge computer (not shown).
[0029] By installing various software (such as the ifLink app pre-installed from the cloud server 2, rule sets, etc.), the edge computer 600, with the combination of the control unit and the memory, realizes various characteristic functional configurations. The functional configurations will be described below with illustrations.
[0030] The edge computer 600 includes an IF-THEN engine 900. The IF-THEN engine 900 reacts (responds) to the actions of the IF devices and controls the THEN devices according to the rules (described as descriptors) pre-stored in the rule storage unit 700. The basic function of the IF-THEN engine 900 has the same configuration as the IF-THEN engine 244 of the cloud server 2. The IF-THEN engine 900 processes at least the information related to this edge computer 600.
[0031] Inside the edge computer 600, microservices 80A to 80F (dedicated software), which individually control various devices 8 such as sensors 802, beacons 804, home appliances 806, mobile terminals 808 such as smartphones and tablets, head-mounted displays (HMDs) 810, and IoT devices 820, are incorporated. The IF-THEN engine 900 operates these microservices 80A to 80F to execute a cooperative operation between the IF device and the THEN device. At this time, API (application program interface) commands are issued to the microservices 80A to 80F that the IF-THEN engine 900 wants to operate.
[0032] Also, the edge computer 600 may own an IoT server microservice 80G that controls the IoT service server 220, a GPS microservice 80H that acquires GPS position information obtained from GPS satellites 230, a web microservice 80I for accessing the web service server 210 to obtain web services, and the like. Further, the GPS functional unit may further include a communication function with RTK-GNSS with higher measurement accuracy.
[0033] As a specific control example of the web microservice 80I, control for automatically writing necessary information within the frame of a form element specified in HTML (Hyper Text Mark-Up Language) or control for transitioning between web pages may be performed. By installing the activity area of the web microservice 80I inside the edge computer 600 in this way, users can enjoy advanced services such as web services.
[0034] Furthermore, micro-services that can individually access all services available in the cyber space, although not shown in the figures, may be arranged in the same category as the Web micro-service 80I and the like. For example, as an example of a service in the cyber space, user services such as automatic buying and selling of securities (shares of specific stocks), placing an order for a specific product and automatically transferring the received product payment (billing process), applying for the purchase of movie or music viewing tickets, and applying for reservations for a predetermined trip, etc. may be provided.
[0035] By enabling the placement of micro-services that can individually access various services in the cyber space within the edge computer 600 in this way, users can enjoy rich collaborative services that connect different services in the cyber space.
[0036] By arranging the micro-services 80 (80A to 80F) that control various devices 8 (802 - 820) in the same category as the above Web micro-service 80I, it becomes possible to provide users with advanced collaborative services that seamlessly and without a sense of incongruity span services in the real space or physical space (services by tangible objects) using various devices 8 and services in the cyber space (services by intangible objects). The "method of combining various services" for providing this advanced collaborative service can be defined by the rules in the rule storage unit 700. Note that examples of services by intangible objects include treatment methods, calculation methods, information acquisition methods, reservation information, educational information, recommendation information, etc. Therefore, the information processing method described later can also be easily applied in a service providing system that provides various services.
[0037] When the edge computer 600 provides services to users according to the rules in the rule storage unit 700, various data (such as log data) obtained can be managed / accumulated in the cloud server 2 and appropriately stored in the data unit 250. The log data can then be used for various analyses (such as analysis for future collaborative development, faults, malfunctioning operations, etc.).
[0038] In the cloud server 2 to which data is uploaded from the edge computer 600, Using various data stored in the data unit 250 by collection, various application services can be executed. For example, as specific service contents, ○ Visualization of collected data ○ Management of collected data ○ State monitoring and abnormal response of links and operations regarding the state of the edge computer 600 and the states of various modules (devices, etc.) using the collected data ○ Analysis of collected data ○ Optimization of services for users and optimization of module setting conditions using the ifLink application ○ Information service using the information obtained as a result of data analysis ○ Analysis of the relevance between various edge computers and so on.
[0039] FIG. 2 shows, for example, an example of the relationship (IF-THEN cooperation structure) between the IF device and the THEN device in the edge computer 600 and its functions. Here, as a simple example, a system is assumed in which there are a temperature sensor 6031 and a human sensor 6032 as the IF devices, and an air conditioner 6033 and a mail creation function (a personal computer or a smartphone is used) 6034 as the THEN devices. Regarding the determination of the operating state (conditions) of the temperature sensor 6031, the temperature microservice 6035 is set as a rule to acquire data, for example, once a minute. Regarding the determination of the operating state (conditions) of the human sensor 6032, the human sensor microservice 6036 is set as a rule to acquire data, for example, once a second. Also, the cooperation relationship with each sensor is set as a rule.
[0040] And in the IF-THEN engine 6040, while monitoring a plurality of rules, for example, if the temperature exceeds 30 degrees and there is a person in the room, it is determined to turn on the air conditioner 6033 and create and send an email with the email creation function 6034.
[0041] In the operation at this time, the number of execution tasks is 2. The number of execution tasks is sent to the data section 250 of the cloud server 2, for example, and becomes reference data such as usage status (also referred to as a recipe). Even when new sensors or devices related to this edge computer 600 are introduced, the information is sent to the data section 250 as a log. Also, rules regarding new sensors or devices can be added and sent to the data section 250.
[0042] Settings such as the cycle time for acquiring data from the above temperature sensor 6031, human sensor 6032, etc. can be set for each device as, for example, attribute information of an IF-THEN rule. The function for this setting is incorporated as part of the function of, for example, an IF-THEN engine.
[0043] Figure 3 shows examples of IF devices (including IF services) and THEN devices (THEN services) to be detected and controlled based on rule 6040. Examples of sensor types include illuminance sensor 8a31, temperature sensor 8a32, humidity sensor 8a33, gas sensor 8a34, odor sensor 8a35, gyro 8a36, altitude sensor 8a37, GPS 8a38, barometric pressure sensor 8a39, pressure sensor 8a40, water leakage sensor 8a41, dust detection sensor 8a42, and data analysis information section 8a43, but are not limited thereto. Also, examples of THEN devices (services) include home appliances 8b31, building facilities 8b32, factory facilities 8b33, automatic control devices and assist devices 8b34 such as transport vehicles, workers, passenger cars, airplanes, cleaning robots 8b35, and various data services 8a36, but are not limited to these.
[0044] Figure 4 shows a configuration example as an example for explaining the basic concept of a rule set. For example, assume that rule set 6s41 has four rules from rule 1 to rule 4. In the figure, the IF devices are shown by distinguishing the devices as IF1, IF2, IF3, ···, and the THEN devices are shown by distinguishing the devices as THEN1, THEN2, THEN3, ···. Rule 1 is a rule that coordinates the IF device IF1 and the THEN device THEN1, and when the condition of the IF device IF1 is satisfied, the THEN device THEN1 is activated. Rule 2 is a rule that, when the conditions of the IF device IF2 and the IF3 device IF3 are satisfied simultaneously, the THEN device THEN2 is activated. Rule 3 is a rule that, when the condition of the IF device IF4 is satisfied, the THEN devices THEN3 and THEN4 are activated. Rule 4 is a rule that, when the conditions of the IF device IF5 and the IF device IF6 are satisfied simultaneously, the THEN devices THEN5 and THEN6 are activated.
[0045] Here, as the overall attribute information 6s51 of the rule set, there is an overview of the rule set (which can be described in text), rule set identification data, and a rule set name (which can be described in text). In this case, furthermore, information (identification data) of the microservice corresponding to this rule set may exist. That is, the microservice prepared to reflect the rules of the rule set to external devices may be specified by the overall attribute information. Also, rule set priority information, rule set enabled / disabled setting information, and rule set usage environment information may exist.
[0046] The rule set priority information is information that determines the priority when other rule sets conflict, and may be described together with other rule set identification data that is the conflicting party. The rule set enabled / disabled setting information is information that sets whether this rule set should function. Therefore, by combining with the period information, it is also possible to set the valid period or invalid period of the rule set. Furthermore, there may be rule set usage environment information. This information is, for example, information that describes predetermined conditions (environmental conditions) for adopting this rule set. For example, when the weather is sunny, or when it is used in a special facility, etc. The environmental conditions may be automatically described by, for example, an edge computer that stores the rule set. Furthermore, attribute information of a specific usage environment such as a facility, user, issue, GPS information, etc. may be described. This attribute information of the usage environment may also be automatically described by the edge computer that stores the rule set, or may be described by a user having the edge computer from outside the edge computer.
[0047] As the attribute information of individual rules 6s52 (rule 1, 2, 3, ···), there are a rule name (describable by characters) and rule identification data. This attribute information may also include rule priority information and rule enabled / disabled setting information. Similarly to the rule set usage environment information, there may be unique rule usage environment information for each rule. In this case, the rule usage environment information will define a subordinate concept of the rule set usage environment information.
[0048] Furthermore, as the attribute information of individual IF devices 6s53 (IF1 - IF6), there are an IF device name (which may be a sensor name or a service name) (describable by characters), the serial number of the IF device, the outline of the IF device (describable by characters), conditions, etc. As the conditions, the range of the operating state (detection) of the IF device, threshold value, suppression time, individual parameters, etc. can be set.
[0049] The operating state (detection) range, for example in the case of a temperature sensor, is information that determines, for instance, to send a detection output when detecting a range from 20 degrees to 25 degrees. The threshold value, for example, is information that determines to send a detection output when detecting 30 degrees or more. The suppression time is information that determines how many seconds after detection to send a detection output, etc. With such attribute information, even for detection outputs from the same IF device, when this detection output has different values (different values in terms of value range or value threshold), it is also possible to specify different THEN devices according to the value range or value threshold of each value. Also, even for the same THEN device, it is possible to activate different control commands for this same THEN device according to each different value input from the IF device.
[0050] The above-mentioned IF device is basically a preceding element that causes an action first and has attribute information including at least preceding element identification information such as a sensor name and a serial number.
[0051] Also, as the attribute information 6s54 of an individual THEN device, there are a THEN device name (which may also be a sensor name or a service name) (describable in characters), a serial number of the THEN device, an overview of the THEN device (describable in characters), conditions, etc.
[0052] As conditions, the suppression time of the THEN device, a sensor name, a control target, individual parameters, etc. can be set. The suppression time is information that determines how many seconds after a detection notification from the IF device to start a response, or the waiting time for determining whether the operating environment of another THEN device (or another IF device) is ready, etc. The sensor name (or also called ifparam) is the name, number, etc. of the IF device as the corresponding preceding element, and is information that can be surely linked to the corresponding IF device. The controlled object, among the THEN devices, further refers to a specific part, switch, etc. that one wishes to specify. When the controlled object is described, it is effective not for, for example, simple on / off control of a power supply in a THEN device, but when, in the powered-on state, one wishes to further control current or voltage as the controlled object.
[0053] Individual parameters are information for generating specific control information. For example, there is specific information for setting an operating range (for example, information for restricting its height in the case of drone control). It is preferable that the above attribute information also describes data for specifying a microservice that outputs a command to an external device. This prevents the edge computer 600 from inadvertently controlling devices in other areas, etc. That is, since the microservice can identify the IF device and THEN device that it should manage, it does not respond to or control the IF device or THEN device under the jurisdiction of other microservices.
[0054] The above THEN device is basically a subsequent element that executes a subsequent action in cooperation with a previous preceding action, and has attribute information including at least subsequent element identification information such as a device name and a serial number.
[0055] Furthermore, "event-related information" may be described as attribute information. Event-related information is, for example, a field for describing the device name, serial number, or overview of an IF device when this THEN device operates and this operation affects other IF devices. Also, it may be possible to describe as a string the outline of what kind of influence is exerted. For example, if the THEN device is a device that emits a specific sound, it may affect an IF device that is originally an unrelated sound sensor. Also, if the THEN device is a device that outputs light, it may affect an IF device that is a light sensor. If such cases are known in advance, the user can consider replacing the THEN device or the IF device with other sensors. Event-related information is described in advance by, for example, the manufacturer that sells and provides the rule set, but the user may also be able to consciously describe it on the edge computer. This enables various ways of using the rule set.
[0056] Note that each attribute information is provided with attribute identification information for identification (which may also be referred to as a header). The rule execution program can read the attribute identification information and determine the type of attribute and the presence or absence of attribute information. When the rule execution program determines that attribute information is described, it can confirm and check the attribute content. When it determines that no attribute information is described, it skips the check of the attribute information.
[0057] In the case where there is no attribute identification information, the rule execution program sequentially determines the content of the attribute information according to the order of attribute description symbols (for example, deviceserial=, id=, etc.). In the case of attribute information whose content has not been determined, for example, 0000 is described in a predetermined data area next to the header or attribute description symbol of the attribute information. In this case, the determination and processing of the said attribute information are ignored.
[0058] In addition to the above attribute information, as the previous rule set usage environment information, information indicating (or recommending) the space where the rule set is used (scene information where the rule set is adopted), user information using the rule set, information such as themes related to the rule set, etc. may be described. Also, information such as these scene information, user information, themes, etc. may be selectively described within the attribute information of the IF device and within the attribute information of the THEN device.
[0059] Figure 5 schematically shows a specific example of the rules (descriptors) of the rule set 6s42, for example. Regarding the rule set, for example, the following description is made: <rule_set description="outline" id="ID" name="rule set name"> <rule name="”ルール名”" id="”ID”">Next, the following description regarding the if set is made: <if devicename="”デバイス名”" deviceserial="”シリアル番号”" dataname="”センサ名”" compare="”範囲指定”" value="”閾値”" description="”概要”" suppress="”抑止時間”" "個別パラメータ” / > The example in the figure shows an example where two if rules are described. For example, it is a rule similar to rule 2 shown in FIG. 4. The device names may be different or the same. When the devices are the same, it is assumed that the sensor is a temperature sensor and the temperature detection is for different temperature ranges (or threshold values).
[0060] Next, the following description regarding the then set is made: <then devicename="”デバイス名”" deviceserial="”シリアル番号”" description="”概要”" suppress="”抑止時間”" ifparame="”センサ名”" control="”制御対象”" "個別パラメータ” / > For simplicity, the description of detailed attribute information as shown in FIG. 4 is omitted here.
[0061] FIG. 6 shows an external view of an example of an edge computer 600 and a schematic hierarchy of a program incorporated inside the edge computer 600. The edge computer 600 is an example that employs a program used in, for example, an Android (registered trademark)-based smartphone. The state of ifLink is displayed within the ifLink (registered trademark) widget 1100.
[0062] Micro-services 80A to 80F described in the Java (registered trademark) language are installed in the lower region of the ifLink app 1000. Also, as a part of the ifLink app 1000, an IF-THEN engine 900 (see FIG. 7) operates. In addition, a rule storage unit is also used within this ifLink app 1000. That is, the ifLink app 1000 manages the micro-services 80A to 80F connected to ifLink and the rule storage unit 700 (see FIG. 7). When the ifLink app 1000 is activated by operating the touch operation unit (operation unit of the ifLink app) on the smartphone screen, the ifLink app 1000 establishes the operation preparation of the IF-THEN engine 900 and other functions within the edge computer 600, which will be described next.
[0063] <Overview within the edge computer> FIG. 7 shows inside the edge computer 600 under the management of the ifLink app 1000. Here, a schematic block configuration of the IF-THEN engine 900 is shown. Further various functions within this IF-THEN engine 900 are shown in FIG. 8.
[0064] When the icon of the display unit 6106 is operated, the ifLink app 1000 activates the activation within the IF-THEN engine 900, and this activation establishes the connection of each part inside the edge computer 600. The ifLink app 1000 comprehensively controls the receiving unit 6101, the transmitting unit 6102, the rule storage unit 700, the IF-THEN engine 900, the microservice 80A, etc. inside the edge computer 600. Although one microservice 80A is shown, other microservices (not shown) are also provided.
[0065] <Example of managing a rule set used within an edge computer> A user using the edge computer 600 can download a desired rule set from the cloud server 2. The edge computer 600 can conceptually be referred to as an information processing device. The edge computer 600 can manage a plurality of rule sets.
[0066] The rule set includes a rule set description describing at least one IF-THEN rule. As described in FIGS. 4 and 5, the description of the rule set of the IF-THEN rule includes first attribute information including at least the leading element identification information of the leading element (leading modules such as IF devices, IF services, etc.), and second attribute information including the trailing element identification information of the trailing element (trailing modules such as THEN devices, THEN services, etc.) that executes the trailing action in cooperation with the leading action. The rule management and control unit 951 detects that the preceding element identification information and / or the succeeding element identification information among the different rule sets overlap, and generates display data for the preceding element and the succeeding element of the rule sets in the overlapping relationship, and includes a display control unit 6105 that outputs the display data.
[0067] As described above, the rule management and control unit 951 detects the overlap of rule sets using the attribute information of the different rule sets (for example, using the preceding element identification information and / or the succeeding element identification information), and when the overlap is detected, generates display data for the preceding element and the succeeding element of the corresponding rule set description, and notifies the display control unit 6105. The display control unit 6105 displays on the display unit 6101 that an overlap has occurred between the rules based on the display data.
[0068] As a result, the cooperation state by a plurality of devices and services (so-called modules) becomes easy for the user to understand, so that it is possible to perform rule tuning (adjustment) as necessary, which is convenient for facilitating the use of a plurality of devices and services.
[0069] <Acquisition of IF-THEN Rules and Explanation of Tuning Examples> A large number of rule sets are stored in the data unit 250 of the cloud server 2. The user can download a desired rule set from the cloud server 2 and store it in the edge computer 600. Alternatively, the user can apply to the operator of the cloud server 2 for the distribution of a desired rule set. The application may be an electronic mail or a paper-based application form. The desired rule set may be one or a plurality. Then, the desired rule set is distributed from the cloud server 2 to the edge computer 600. The distributed rule set is managed by the rule manager 241 in the cloud server 2, and the rule manager 241 can manage the distribution date, expiration date, rental fee, etc. of the rule set.
[0070] The edge computer 600 stores the original rule set in the first storage unit 70A of the rule storage unit 700 via the reception unit 6101. At this time, the rule management and control unit 951 in the IF-THEN engine 900 has a function of checking the original rule set. That is, it detects that the leading element identification information among the different rule sets overlaps and / or the trailing element identification information overlaps, and generates display data for the leading element and the trailing element of the rule sets in the overlapping relationship. Then, the display control unit 6105 (which also serves as the operation input unit) outputs the display data to the display unit 6106. The user can visually confirm the relevance between the rule sets that conflict with each other among the plurality of IF-THEN rules on the display unit 6101.
[0071] The rule set has rewritable or writable attribute information, and the user can use this attribute information to assign a priority to any rule set, or set information (valid / invalid) indicating whether to use the rule set or not. In addition, it is also possible to set information such as various constraint (or restriction) conditions (such as operation time and operation period) using the attribute information. This setting information is input from the touch input unit 6106 to the rule management and control unit 951 via the operation input unit 6105.
[0072] The original rule set adjusted as described above is stored in the second storage unit 70B as a customized rule set. Thereafter, the edge computer 600 refers to and uses the customized rule set in the second storage unit 70B. Since a dedicated customized rule set can be stored in the second storage unit 70B, the edge computer 600 can accurately execute the IF-THEN rules intended by the user and can safely and reliably control the control target.
[0073] <Explanation of the operation example using the IF-THEN rule> Next, an example of the operation of the edge computer 600 using IF-THEN rules will be described. First, when there is normally an activation, the rule set used in this edge computer 600 is read from the second storage unit 70B, expanded into the if (condition) condition monitor 952 and the THEN execution management unit 953, and preparations for executing the IF-THEN rule are made. If_set (see FIG. 5) is set in the if (condition) condition monitor 952, and then_set (see FIG. 5) is set in the THEN execution management unit 953.
[0074] Now, when the IF device 8f1 reacts to something, a sensor detection signal is input to the microservice 80A. The microservice 80A provides microservice detection data corresponding to the sensor detection signal to the condition monitor 952 that monitors the if (condition). Next, this condition monitor 952 identifies the IF device based on the microservice detection data from the microservice 80A. That is, it can be determined which IF device within which rule set the microservice detection data corresponds to. This determination is made, for example, by depending on which microservice the microservice detection data is output from, or, for example, by comparing the attribute information (such as the IF device name, serial number, etc.) included in the microservice detection data with the attribute information of the IF devices included in each of the multiple rule sets, and determining by identifying the rule set containing the matching attribute information.
[0075] The condition monitor 952 transmits this to the rule management and control unit 951 and the THEN execution management unit 953. As a result, the THEN execution management unit 953 first determines the conditions (such as waiting time and set control content) for the THEN device corresponding to the IF device to operate. After this determination, the THEN execution management unit 953 gives a drive command (parameters) to the THEN device to the microservice 80A via the JOB control unit 954. Then the microservice 80A outputs a control signal to the THEN device, which is the subsequent element corresponding to the IF device as the preceding element. Depending on the attribute information of the THEN device described in the rule set, other microservices may be specified. Such a technique is used, for example, when it is desired to control a remote THEN device.
[0076] When executing the above information processing, the THEN execution management unit 953, regarding the execution of the If_set rule, while observing the conditions of the attribute information (such as threshold value, suppression time, etc.) described in the rule, and also regarding the execution of the then_set rule, while observing the attribute information (suppression time, control target, etc.) described in the rule, executes the processing. Also, the THEN execution management unit 953 provides parameters for controlling the THEN device to the JOB control unit 954. When this series of operations is completed, the rule management and control unit 951 can upload the usage status (recipe) of the rule as log data to the cloud server 2 via the log output unit 956 and the transmission unit 6102. The log data includes the destination server ID, rule set ID, rule ID, time when the rule fired, ID of the terminal (edge computer 600), etc. The cloud server 2 accumulates the log data and can analyze the usage status and usage time of the rule set in the edge computer 600. In addition, the display unit 6106 that also serves as the touch input unit may be provided outside the edge computer 600 depending on the type of the edge computer 600. That is, as described with reference to FIG. 1A, for example, when the edge computer 600 is of a router type, a product - embedded type, an IC chip - embedded type, etc., a separately provided display unit may be used. For example, vehicles and aircraft are equipped with display units, and these display units may be used as the display unit 6106.
[0077] <Fig. 8 shows an overview of various functions in the IF-THEN engine 900. Each of the various functions may also be referred to as a processing unit or a processing program>· Activation 961····A function to establish a connection with the service and microservices when the IF-THEN engine 900 is activated from a predetermined service (the display unit 6106 and the ifLink app 1000 cooperate with the IF-THEN engine 900).· Rule management control 962···A function to read the rules held in advance at the start of the IF-THEN engine 900, construct the internal state, and also perform rule checking (the rule management and control unit 951 and the rule storage 700 are utilized).· Rule execution control 963···A function to extract rules that match the conditions according to the internal state based on the sensor data notified from the microservices (the macro service 80A, the condition monitor 952 that monitors if(condition), the rule management and control unit 951, and the THEN execution management unit 953 operate in association. It functions in a state where the rule set has already been expanded).· Sensor data control 964···A function to receive the sensor data notified from the microservices and activate the rule execution control state (the macro service 80A,A condition monitor 952 that monitors if(condition), a rule management and control unit 951, a rule storage unit 700, and a THEN execution management unit 953 operate in association. When expanding a rule set from now on, functions such as: · JOB control 965 ··· Notify the necessary JOB information based on the rule to the microservice 80A. · Log output 966 ··· A function to output logs according to the log level (related to the THEN execution management unit 953 and the log output unit 965). · Same event ignore time control 967 ··· Even if similar sensor data is input, suppress the occurrence of actions for a set time (based on the suppression time determination by the condition monitor 952). · IF-THEN spanning other terminals 968 ··· A function to notify a JOB to another specific terminal and execute the JOB on that terminal (related to the THEN execution management unit 953, the JOB control unit 954, and the mobile terminal microservice 80D (Fig. 1B) device). · Rule activation / deactivation 969 ··· A function to switch on and off the rule specified in THEN in the IF-THEN rule (related to the rule management and control unit 951 and the rule storage unit 700). · Execution time control 970 ··· A function to shift the execution timing of a specific THEN and execute the subsequent THEN after a set fixed time (related to the THEN execution management unit 953, the JOB control unit 954, and the mobile terminal microservice 80A). · Intermediate data holding object 971 ··· A function to hold the THEN control data in the intermediate data holding object and input it to the IF of other rules ((related to the THEN execution management unit 953 and the condition monitor 952 for functioning). · Text matching 972 ··· A function to determine the IF input by text matching in the IF-THEN rule (function of the condition monitor 952, for example, when the IF input is a device name, compare it with the device name described in the rule). · Rule usage status collection 973 ··· A function to periodically notify the usage status (recipe) of the IF-THEN rule to the cloud (related to the rule management and control unit 951 and the log output unit 956). · Variable passing between IF-THENs 974 ··· A function to pass the parameters fired (detected) in the IF to the THEN (when the control content of the THEN varies according to the parameters (effective for service provision), related to the condition monitor 952 and the THEN execution management unit 953).
[0078] Furthermore, · Rule set storage control 975 ··· Obtains a rule set and controls the storage location of the rules adjusted by the user and the rules to be used. · Rule conflict check 976 ··· Checks the interrelationship of the rule sets and detects conflict relationships. · Priority setting 977 ··· A function that can set priorities for operations by rules among multiple rule sets. · Rule set expiration display 978 ··· A function that displays expiration information if there is an expiration date available for the rule set. · Rule set function stop 979 ··· A function that temporarily stops the functions by the rule set. · Cyclic rule set check 980 ··· A function that detects that multiple IF devices and THEN devices operate continuously in a cyclic manner by the rule set. · Serial rule set check 981 ··· A function that detects that multiple IF devices and THEN devices operate continuously in a serial manner by the rule set. · Active GPS area setting 982 ··· A function that can identify the area where the rules of the rule set are adopted. By providing this function, for example, it becomes possible to switch the rule set adopted according to the movement area (movement environment) of the moving body and change the operation mode of the control target.
[0079] <Typical examples of logical functions realized by rule set descriptors> Figures 9A, 9B, 9C, 9D, 10A, 10B, and 11 show examples of various logical functions realized by the descriptors of the rule sets described in FIGS. 4 and 5 above.
[0080] The rule set RSE1 shown in FIG. 9A is an example having a rule for starting or stopping the THEN device 1 according to the on / off of the IF device IF1. In this case, the rule set RSE1 may have a delay setting function DL. The delay setting function DL is a function realized by describing operation delay time information in the attribute information of the rule set RSE1.
[0081] The rule set RSE2 shown in FIG. 9B is an example having a rule for starting or stopping the THEN device 2 according to the simultaneous on or off (or off of either one) of the IF devices IF2 and IF3. Also in this case, the rule set RSE2 may have a delay setting function DL. By providing a delay setting function DL for covering the time difference in the detection timings of the respective IF devices IF2 and IF3, it is possible to cover the variations in the response characteristics of a plurality of IF devices and obtain synchronization of the detection timings of the respective devices. Thereby, the operation of the THEN device 2 can be made more accurate.
[0082] The rule set RSE3 shown in FIG. 9C has a rule for starting or stopping two THEN devices 3 and THEN device 4 according to the on / off of the IF device IF4. Also in this case, when it is desired to synchronize or provide a time difference (shift operation) for starting or stopping the THEN device 3 and the THEN device 4, a delay setting function DL (describing operation delay time information in the attribute information) may be provided in the rule set RSE3.
[0083] The rule set RSE4 shown in FIG. 9D is an example having a rule for starting or stopping the THEN devices 5 and THEN device 6 according to the simultaneous on or off (or off of either one) of the IF devices IF5 and IF6. Also in this case, when there is a time difference in the detection output due to differences in the characteristics of the IF devices IF5 and IF6, etc., adjustment such as providing a delay setting function DL to synchronize the operations of the THEN devices 5 and THEN device 6 or shift the operations is possible.
[0084] The IF device shown in FIG. 10A is a device that takes on and off values and change values in the middle from on to off, and obtains an analogically changing detection output such as a thermometer, a hygrometer, a sphygmomanometer, a pulse meter, etc. In such a case, in the rule set RSE11, when the IF device IF11 turns on and its output starts to change, according to the change value, the THEN device 11 can perform control such as changing the volume or changing the brightness (brightness or color) of the light.
[0085] The rule set RSE11 includes a plurality of "if statements" with a plurality of ifs (i.e., a plurality of conditions) set in the if_set to detect various changes in the IF device, and also includes "then statements" corresponding to the plurality of "if statements" in the then_set.
[0086] FIG. 10B is basically a rule set RSE12 that combines the example shown in the previous FIG. 9B and the example shown in FIG. 10. According to this rule set RSE12, when the IF devices IF12 and IF13 operate simultaneously, the control state of the THEN device 12 changes in response to this simultaneous operation.
[0087] The example in FIG. 11 is an example where the rule set RSE20 can control, for example, the IF device IFKX or the THEN device THENX through a microservice 80K different from the base microservice 80J. This rule set RSE20 is described such that in the normal operation mode, the THEN device THEN20 operates according to the output value from the IF device IF15. The IF device IF15 and the THEN device THEN20 are connected to the microservice 80J. The THEN device THEN20 can provide feedback information to the IF device F15. For example, as a functional example, there is an example where the output level of the IF device IF15 (light detection) changes according to the amount of light output by the THEN device THEN20. And usually, the output of the THEN device THEN20 is fed back to the IF device IF15 to maintain a stable state.
[0088] However, the rule set RSE20 is described such that when a specific condition is detected from the output of the IF device IF15 (for example, when a specific value range is detected), it can control the IF device IFKX or the THEN device THENKX through the specified microservice 80K.
[0089] FIG. 12 shows a processing routine for checking whether there is any conflict among a number of rule sets. When a number of rule sets are required in the edge computer 600, the rule sets are downloaded from the cloud server 2 and temporarily stored in the first storage unit 70A of the storage unit 700. Then, the rule management and control unit 951 checks whether there are, for example, conflicting rule sets among the plurality of rule sets, and the rule set to be actually used is selected by the user and stored in the first storage unit 70B.
[0090] As shown in FIG. 12, when the conflict check between rules is started (SA11), the rule management and control unit 951 temporarily stores the plurality of rule sets in the first storage unit 70A in the working memory (SA12). Next, by performing a rule set pairwise process, the duplication of the identification information of the IF device and the identification information of the THEN device is detected among the plurality of rule sets (SA13).
[0091] If a duplication is detected, the rule management and control unit 951 outputs display data for the IF device and the THEN device of the duplicate rule sets. This display data is displayed on the display unit 6106 via the display control unit 6105 (SA14).
[0092] In this state, the user can take measures against the conflict. For example, when two rule sets conflict, it is possible to cancel one of the rule sets or set a priority (SA15). To facilitate the user's operation, advice by voice and / or display may be given (SA16). When the user's treatment for the conflict of the rule sets is completed (the user operates the decision button), the process ends.
[0093] The competition check processing program can also detect cases where, for example, two rule sets each employ the same IF device (e.g., a temperature sensor) but control different THEN devices (two air conditioners). For example, it is also assumed that there is a need for a first air conditioner and a second air conditioner in a first area and a second area where the setting ranges for cooling and heating controlled according to temperature are different. It is also possible to detect cases where two rule sets each employ different IF devices (a human presence sensor and an illuminance sensor) but control the same THEN device (lighting).
[0094] Figure 13 shows an example in which the competition state of the rule sets is displayed on the display unit. In this case, an example where rule sets 1, 2, and 3 are in competition is shown. The rule set is an example where the IF device is a human presence sensor and the THEN device is an air conditioner.
[0095] Each rule set is described by a different person, and for example, it is an example where the temperature control range (temperature setting content) is different as the setting content.
[0096] When the rule management and control unit 951 detects an overlap in the rule sets, it displays the overlapping rule sets so that the user can understand. The example in the figure is an example where three rule sets overlap, indicating that there are three cases of competition (display area 6213). An advice button that starts giving advice in the case of an overlap is also displayed by voice or image (display area 6211). If the user wants to make adjustments between the rule sets, they can operate the adjustment button (display area 6211) to move to the next step ((A) to (B) in Figure 13).
[0097] At this stage, if you want to cancel an unnecessary rule set, you can cancel it by operating the "OFF" button (in (A) of Figure 13) next to the display position of each rule set.
[0098] When making adjustments, the user operates the adjustment button (display area 6211). Then, mode buttons (display areas 6215 and 6216) for selecting whether to set the priority or set the operating time zone appear (Figure 13(B)). Also, beside each rule set 1, 2, and 3, selection buttons 1, 2, and 3 for selection when setting the priority or setting the operating time zone are displayed. These selection buttons 1, 2, and 3 are used as will be described in Figure 14 below.
[0099] Figure 14 shows two cases, when the user selects the button for setting the priority (display area 6215) and when the user selects the button for setting the operating time zone (display area 6216), combined in the same figure. When the user operates the priority setting button (display area 6215), image 6220 is displayed. The user can select and set rank characters such as 1st, 2nd, and 3rd in the display area on the right side of each displayed rule set 1, 2, and 3. For example, the user selects an arbitrary rule set with the selection button on its right side, makes it blink, for example, and then selects one of 1st, 2nd, or 3rd rank in image 6220. Thereby, the priority of the said rule set is determined. In this way, the priority of each rule set is determined. Also, it is possible to set the operating time when each rule set operates. When the user selects the button for setting the operating time (display area 6216), display image 6221 is displayed. Next, the user can set the operating time in the display area on the right side of each displayed rule set 1, 2, and 3. For example, in display image 6221, the user can specify an arbitrary rule set 1 or 2 or 3 and set the operating time in the time setting area corresponding to the specified rule set.
[0100] The above images 6220 and 6221 are displayed, for example, in the lower area of the display unit 6106 when the operation mode (priority) or (operating time zone) is selected.
[0101] Figure 15A shows an example where two rule sets in which the IF devices are different sensors (for example, a human presence sensor and an illuminance sensor) and control a common THEN device (for example, luminaire Y1) conflict. In such a case, assume that for the user, rule set 1 is described such that luminaire Y1 responds to the human presence sensor, and rule set 2 is described such that luminaire Y1 responds to the illuminance sensor. In this case, as described above, the user can also set the time zones in which rule set 1 and rule set 2 respond to different time zones. Or, a setting as shown in Figure 15B is also possible. Rule set 1 turns on the lighting when it detects that a person is present in the room, and when the person is absent, it is adjusted to "indeterminate". That is, in the rule set of this system, it is also possible to set "do not react" to the output of the sensor. On the other hand, in rule set 2, when the illuminance sensor detects darkness, the lighting is set to turn on, and when the illuminance sensor detects brightness, the lighting is set to turn off. And as an example of the priority, it shows a case where rule set 1 is set to have a higher priority than rule set 2.
[0102] By making such a setting, when the human presence sensor does not detect a person, rule set 2 operates, and when the surroundings are dark, the lighting is turned on, and when it is bright, the lighting is turned off. That is, by incorporating the concept of "indeterminate" into the rule set, it becomes possible to realize a wide range of flexible IF-THEN rules. Of course, all of the above-described check functions are executed when the IF device or the THEN device is replaced, a new device is added, or a rule set is added or replaced. When there is such a device replacement or addition or rule set replacement or addition, a message is output to perform various checks as described above for the user.
[0103] FIG. 16 shows an example in which when the "Expiration Date Button" is touched in the menu display state of the edge computer 600, the expiration date of the rule set adopted in the edge computer is displayed. In particular, the cloud server 2 can manage billing information regarding the rule set, rental expiration date information (expiration date information) of the rule set, and the like. For this reason, the cloud server 2 can send a notification regarding the "expiration date" of the rule set to the edge computer 600. When the user operates the "Expiration Date Button" via the menu screen, the expiration date of each rule set is displayed by the function of the IF-THEN engine 900.
[0104] Although various display methods are possible, in the example of the figure, a list of a plurality of rule sets managed by the edge computer 600 is displayed. For example, an example in which rule sets (A, B), (C, D), (E, F), and (G, H) are displayed is shown. (A, B), (C, D), (E, F), and (G, H) are shown as symbols, but the symbol marks of the IF device and THEN device, images, or device names are displayed. And the expiration date is displayed beside the rule set.
[0105] In the example of the figure, it is shown that "December 31, 2025", "December 31, 2026", "September 30, 2023", and "March 31, 2024" are set as the expiration dates when each of (A, B), (C, D), (E, F), and (G, H) functions. Here, an extension button for extending the expiration date is displayed on the screen.
[0106] When the user selects the extension button here, a message such as "The expiration date can be extended. Please select the rule set you want to extend and change the expiration date" will be displayed, or the user will be guided by voice. The user touches and selects the display position of the rule set for which they want to change the expiration date. Then, the expiration date next to it becomes modifiable, and it can be changed to any date. For example, an expiration date count-up button and a count-down button will be displayed, and the user can select the buttons to edit the numerical values (year, month, date). After the editing is completed, the user can touch the OK button to confirm the numerical values.
[0107] Depending on the rule set, some may be provided for a fee. For example, when a device for important security is borrowed, or explanatory data related to the service lending of expensive artworks, etc. can be considered. When the expiration period is changed, the expiration date information of the rule set, usage period log information, etc. will be automatically uploaded to the cloud server and used as billing information for the user.
[0108] Of course, the above-mentioned expiration date may also be adjustable in units of groups or for each distribution provider of ifLink rules.
[0109] FIG. 17 shows an example of a screen display used when temporarily stopping the operation according to the rule set being used.
[0110] This display is shown when the rule set temporary stop function of the IF-THEN engine 900 operates. The user can touch and operate the "rule set temporary stop function" in the menu display state of the edge computer 600. Then, for example, as shown in FIG. 17, a plurality of rule sets used in the edge computer 600 will be displayed. Also, by swiping or flicking the screen, other rule sets can be scrolled and displayed.
[0111] Also in this case, within the display frames of the IF device and the THEN device, symbol marks, images, or device names of the IF device and the THEN device are displayed. And a setting button is displayed beside the rule set. The user can touch the setting button to set the corresponding rule set to on or off.
[0112] For example, with a specific basic rule set (such as an IF-THEN rule for emergency warnings like fire detection or for power maintenance) turned on, some other rule sets may be turned off, and the devices of the rule sets in the off state may need to be replaced or repaired. Of course, an operation button may be provided to temporarily stop all rule sets. For example, it is effective when temporarily stopping a production line in a factory for repair and inspection.
[0113] FIG. 18A and FIG. 18B are explanatory diagrams showing display examples when detecting the circular type and series type of a plurality of rule sets.
[0114] In FIG. 18A, rule set 1 controls a light sensor (IF device) and lighting (THEN device), and can turn on the lighting when the room is dark. Rule set 5 controls a light sensor (IF device) and a motor (THEN device) that closes the curtains to make it dark. This rule set 5 closes the curtains to make the room dark when the room gets bright. However, rule set 1 turns on the lighting to make it bright when the room is dark. Therefore, the room brightness control state becomes circular.
[0115] In such a case, the user can make adjustments to cancel the connection of the rule sets. As adjustment methods, for example, the following methods are possible. 1a) Turn off any rule set. 2a) Replace the type of the IF device. For example, change the IF device of rule set 1 to a human presence sensor (not a light sensor).
[0116] In addition, rule set 4 is a rule that sounds a chime when the front door is opened, and the THEN device outputs a chime sound. Rule set 7 has a sound detection sensor (IF device) and controls a remote controller (THEN device) to automatically turn on the TV power when a chime sound is detected. Here, rule set 11 is a monitoring system in which when a surveillance camera (IF device) detects a human figure on the window side, an alarm device (THEN device) gives an alarm and locks the door.
[0117] When such rule sets exist, for example, if the TV screen image is arranged to be reflected on the window glass, the door lock may continue permanently.
[0118] In such a case, the user can make adjustments to cancel the connection of the rule sets. As adjustment methods, for example, the following methods are possible. 1b) Turn off any rule set. 2b) Change the IF device of rule set 7 from a sound detection sensor to a motion sensor, or change the orientation of the TV or install curtains on the window.
[0119] Figure 18B shows an example when a serial type is detected. Rule set 2 is a rule that produces a chime sound when the door is opened, and uses a door opening / closing sensor (IF device) and a chime sound output device (THEN device). Rule set 6 is a rule that turns on the lighting when a chime sound is detected, and includes a chime sound sensor (IF device) and a lighting switch control device (THEN device). Rule set 8 is a rule that turns on the TV when the lighting becomes bright, and has a light sensor (IF device) and a remote controller (THEN device). Rule set 10 is a robot that picks up voice and retrieves an answer corresponding to the voice command from an intelligent cloud server. According to the above example, rule sets are connected one after another to form a series-type rule. In such a case, the user can make adjustments to cancel the connection of the rule sets. As adjustment methods, for example, the following methods are possible. 1c) Turn off any rule set, 2c) Change the IF device of rule set 8 from an optical sensor to a human sensor, and move the robot to another room, etc.
[0120] FIG. 19 shows an example of a flowchart for detecting a rule set that forms the circulation described above. When the detection of the rule set circulation type is started (SB11), first, a plurality of rule sets in the rule storage unit 70A are temporarily stored in the working memory (SB12). Next, when the THEN device of the first rule set performs an execution operation, a check is made as to whether the IF device of the second rule set reacts (SB13).
[0121] In this check, for example, information such as "outline" described as attribute information of the THEN device is used. The "outline" describes the characteristics of the THEN device as character information. Therefore, the name of the sensor or the characteristics of the sensor that may react when the THEN device operates can be described here. Alternatively, as event-related information, information for specifically linking rule sets may be defined and added and described somewhere within the rule set.
[0122] Note that the rule set cyclic detection method is not limited to the above example. For example, a method of detecting nodes (IF devices and THEN devices) that cyclically exist from combinations of a plurality of rule sets may also be used. There are various types of information that can be used to detect cyclically existing nodes. For example, information indicating the performance and functions of various devices is described in device handling instructions and the like. Therefore, it may be possible to prepare a database in which a check program learns the handling instructions in advance and accumulates pattern information in which the operation of a THEN device causes the operation of an IF device. Note that the check program may be prepared in a cloud server. Then, the edge computer may download and use the check program.
[0123] Furthermore, as a cyclic detection method, a state (for example, pronunciation, light emission, movement, rotation, etc.) caused by the operation of a THEN device is defined in advance (for example, described in a rule set), and it is determined whether this state causes a reaction (ignition) of an IF device (whether it meets the detection conditions of the IF device), thereby detecting whether it is a cyclic type.
[0124] In step SB13, when it is determined that the first rule set and the second rule set cooperate, display data representing the cooperation between the first rule set and the second rule set is created (SB14). When it is determined that the first rule set and the second rule set do not cooperate, it is determined whether the check by brute force of all rule sets has been completed (SB15). If not, the next rule set in the rule storage unit 70A is read out, and the process in step SB13 is executed.
[0125] When the above check (check for the presence or absence of cooperation between rule sets) by brute force for all rule sets is completed, display data for arranging a plurality of cooperating rule sets is created (SB17). That is, display data is generated that can obtain an image showing the circulation of rule sets as shown in FIG. 18A. Examples of the display results of this display data were shown in FIGS. 18A and 18B above, but the form and format are not limited to such. Also, an explanation by voice output may be made.
[0126] Basically, display data for a group of rule sets forming a cycle is displayed on the display unit (SB18). Next, since the user adjusts the rule set, the attribute information of the rule set is edited according to this adjustment (SB18). Then, it is determined whether the adjustment of the group of rule sets forming a cycle has ended (SB19), and if the adjustment has ended, the process ends.
[0127] The serial type can be detected by the same procedure as the above-described cyclic type.
[0128] (1) As described above, the information processing apparatus is an information processing apparatus that manages a plurality of rule sets each including a rule set description describing at least one IF-THEN rule. The rule set description of the IF-THEN rule includes first attribute information including at least the leading element identification information of a leading element (leading modules such as an IF device and an IF service) that performs a leading action, and a trailing element that executes a trailing action in cooperation with the leading action (trailing modules such as a THEN device and a THEN service) second attribute information including the trailing element identification information of (FIGS. 4 and 5). And it has a rule management and control unit <rule management and control unit 951 in the IF-THEN engine 900 of FIG. 7> that detects that the leading element identification information and / or the trailing element identification information overlap between different rule sets. And when it is detected that there is an overlap, it includes a display control unit <6105 of FIG. 7> that outputs display data for the leading element and the trailing element of the rule sets in the overlapping relationship. (2) Further, the plurality of rule sets include a plurality of original rule sets and a plurality of customized rule sets, and the rule management and control unit 951 stores the original rules in the first storage unit 70A, A processing unit <975 in FIG. 8> is provided that adjusts some definitions of the original rules and stores them in the second storage unit 70B as the customized rules. (3) Further, as described with reference to FIG. 12, the rule management and control unit 951 has a check processing unit SA13 that checks for conflicts among the plurality of rule sets in order to detect that the leading element identification information and / or the trailing element identification information overlap among the different rule sets. And it has a display data output processing unit SA14 that converts the conflicting plurality of rule sets into display data and outputs them. The conflict state is displayed, for example, as shown in FIG. 13. (4) Further, as described with reference to FIGS. 14 and 15A, the rule management and control unit 951 has a processing unit that includes, in the display data, data for displaying a priority setting image for setting priorities between rules, which is associated with an image of the conflicting plurality of rule sets, in the display data output processing unit. (5) Further, as described with reference to FIGS. 14 and 15B, with the display data of the conflicting plurality of rule sets displayed on the display unit, the rule management and control unit 951 enables input of operation constraint condition information regarding the operations of the trailing elements and also the leading elements of the conflicting plurality of rule sets. (6) Further, as described with reference to FIG. 16, the rule management and control unit 951 includes a processing unit that displays the display data of the plurality of rule sets on the display unit, and a processing unit that changes the expiration dates of the plurality of rule sets via the operation processing unit of the display unit. (7) Further, as described with reference to FIG. 17, the rule management and control unit 951 includes a processing unit that displays the display data of the plurality of rule sets on the display unit, and a processing unit that enables setting of individual or total suspension of the plurality of rule sets via the operation processing unit of the display unit.(8) Further, as described with reference to FIGS. 18A and 18B, the rule management and control unit 951 compares and determines the contents of the first attribute information describing the action of the subsequent element of the first rule set and the second attribute information describing the detection processing unit of the preceding element of the second rule set, and includes a processing unit that detects that the execution of the first rule set leads to the execution of the second rule set, and a processing unit that outputs display data indicating the connection state between the first rule set and the second rule set to the display unit. (9) The concept of the above embodiment can be applied not only between devices of an IF device and a THEN device, but also between an IF service and a THEN service, between an IF device and a THEN service, and between an IF service and a THEN device. (10) Also, although the above concept has been described as an information processing apparatus, it can of course be adopted as an information processing method. (11) The description of the above embodiment was an expression that was easy to understand for the cooperative operation of the preceding element and the subsequent element of a physical object, but it is of course possible that services of intangible objects, such as treatment methods, calculation methods, information acquisition methods, reservation information, educational information, recommendation information, etc., may be applied as the preceding element and the subsequent element. Therefore, when the system of this embodiment is actively used for services that are intangible objects, it may be expressed as follows. That is, In a system that manages a plurality of rule sets each including a rule set description that describes at least one IF-THEN rule, the rule set description of the IF-THEN rule includes first attribute information including at least antecedent element identification information of an antecedent element (IF service) that performs antecedent provision, and second attribute information including consequent element identification information of a consequent element (THEN service) that performs consequent provision in cooperation with the antecedent provision (FIGS. 4 and 5). And it has a rule management and control unit <rule management and control unit 951 in the IF-THEN engine 900 of FIG. 7> that detects that the antecedent element identification information between different rule sets overlaps and / or the consequent element identification information overlaps. And when the overlap is detected, it includes a display control unit <6105 of FIG. 7> that outputs display data of the antecedent element and the consequent element of the rule sets in the overlapping relationship. This way of thinking includes the ways of thinking from 2) to 8) described above. (12) Needless to say, the above embodiment can also be adopted as an information processing method and / or an information processing program. That is, In an information processing method or a concession processing program that processes a plurality of rule sets each including a rule set description that describes at least one IF-THEN rule, the rule set description of the IF-THEN rule includes first attribute information including at least antecedent element identification information of an antecedent element (IF device or IF service) that performs antecedent provision, and second attribute information including consequent element identification information of a consequent element (THEN device or THEN service) that performs consequent provision in cooperation with the antecedent provision (FIGS. 4 and 5). And it includes (or an instruction) <rule management and control unit 951 in the IF-THEN engine 900 of FIG. 7> that detects that the antecedent element identification information between different rule sets overlaps and / or the consequent element identification information overlaps. And when the overlap is detected, it includes (or an instruction) <6105 of FIG. 7> that outputs display data of the antecedent element and the consequent element of the rule sets in the overlapping relationship. This way of thinking includes the ways of thinking from 2) to 8) described above. The above description described the concept with conflict checking as the starting point. However, in this embodiment, it is also possible to describe the concept with this feature as the axis by switching the rule set adopted in the activity area, or to describe the concept with the cyclic extraction function as the axis.
[0129] Although the embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. This novel embodiment can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the gist of the invention. This embodiment, its variations, and combinations of embodiments are included in the scope and gist of the invention, and are also included in the invention described in the claims and its equivalent scope.
Description of Reference Numerals
[0130] 2... Cloud server, 8... Device, 600... Edge computer, 6105... Display control unit / operation input unit, 700... Rule storage unit, 900... IF-THEN engine, 1000... ifLink app, 951... Rule management and control unit, 952... Condition (if) monitor, 953... THEN execution management unit, 954... JOB control unit.< / rule>
Claims
1. In an information processing apparatus that manages a plurality of rule sets each including a rule set description describing at least one IF-THEN rule, the rule set description of the IF-THEN rule includes first attribute information including at least precedence element identification information of a precedence element that performs a precedence action, and second attribute information including subsequent element identification information of a subsequent element that executes a subsequent action in cooperation with the precedence action, comprising a rule management and control unit, the rule management and control unit when the attribute information regarding the rule set includes information indicating an expiration date of the rule set, causes a display unit to display the rule set and the information indicating the expiration date, and enables change processing of the expiration date in response to an operation input An information processing apparatus comprising.
2. The information processing apparatus according to claim 1, wherein the rule set and the information indicating its expiration date are downloaded from a server and stored in a rule storage unit, and the information is charged according to the expiration date.
3. In an information processing method of an information processing apparatus that manages a plurality of rule sets each including a rule set description describing at least one IF-THEN rule, the rule set description of the IF-THEN rule includes first attribute information including at least precedence element identification information of a precedence element that performs a precedence action, and second attribute information including subsequent element identification information of a subsequent element that executes a subsequent action in cooperation with the precedence action, a rule management and control unit when the attribute information regarding the rule set includes information indicating an expiration date of the rule set, causes a display unit to display the rule set and the information indicating the expiration date, and enables change processing of the expiration date in response to an operation input An information processing method comprising.
4. In a service providing system using an information processing apparatus that manages a plurality of rule sets each including a rule set description describing at least one IF-THEN rule, the rule set description of the IF-THEN rule includes first attribute information including at least precedence element identification information of a precedence element that performs a precedence action, and second attribute information including subsequent element identification information of a subsequent element that executes a subsequent action in cooperation with the precedence action, comprising a rule management and control unit, the rule management and control unit When the attribute information regarding the rule set includes information indicating the expiration date of the rule set, the display unit is caused to display the rule set and the information indicating the expiration date, and the expiration date can be changed in response to an operation input, a service providing system.
Citation Information
Patent Citations
Program for distributing rule base and program for using rule base
JP2002351664A
Computer readable information storage medium storing content data and content accounting system
JP2004252493A
Cooperation rule setting support system
JP2019082811A
Controller and program
JP2019117587A
Relay device and program
JP2020024742A