Module control method, micro-service control application, and edge computer

The module control method in this IoT technology uses edge computers and microservices to execute IF-THEN rules, addressing the challenge of coordinating physical and cyber space services, and resulting in a more integrated and user-friendly service delivery.

JP2025084927AActive Publication Date: 2025-06-03KK TOSHIBA
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025032717
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-03
Publication Date
2025-06-03
Estimated Expiration
2040-02-28

AI Technical Summary

Technical Problem

Existing IoT technologies face challenges in efficiently coordinating the operations of objects in real space through standardized communication protocols, leading to limitations in providing advanced services that combine physical and cyber space offerings.

Method used

A module control method that utilizes a server-connected edge computer to manage and operate microservices, which are individually controlled application engines that execute predefined IF-THEN rules to coordinate various devices and services across physical and cyber spaces.

Benefits of technology

This approach enables the creation of a 'multi-service' world where advanced services are provided by seamlessly integrating physical and cyber space services, enhancing user experiences through optimized control and service delivery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025084927000001_ABST
    Figure 2025084927000001_ABST
Patent Text Reader

Abstract

To provide a module control method, a micro-service control application, an edge computer, a service providing method, a service providing platform, and a cooperative work support method for providing a service to a user by using module control means.SOLUTION: In the present embodiment, there are provided a module control method, a micro-service control application, and an edge computer for providing a service to a user by combining first control means related to a first module and second control means related to a second module.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to a module control method for providing services to users using modules, a microservice control application, an edge computer, and also extend to a service providing method, a service providing platform, and a collaborative work support method.

Background Art

[0002] In the IoT (Internet of Thing) technology for coordinating the operations of objects in the real space via the Internet, many communication protocol standards between objects in the real space have been proposed. As an example regarding such communication protocols, the following technologies have been proposed.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In this embodiment, an object is to provide a module control method for providing services to users using predetermined control means, a microservice control application, an edge computer, a service providing method, a service providing platform, and a collaborative work support method.

Means for Solving the Problems

[0005] In this embodiment, in a module control method in which a server can be connected to a plurality of computers via communication means, the plurality of computers each receive and store a plurality of application rules that are set to be operable by an application engine from the server, The plurality of application rules are defined as rules that, when detecting the operation of a first module specified in each rule, transmit the detection to a second module specified in each rule so that the second module operates. The application engine even if the same operation data from the first module of the first application rule is input, it is possible to set an identical event ignoring time that can suppress the operation of the first application rule for a specified period of time, and can shift the execution timing of the operation of a specific second module. A module control method is provided.

Brief Description of Drawings

[0006]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10A

Figure 10B

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

Figure 26

Figure 27A

Figure 27B

Figure 27C

Figure 27D

Figure 28

Figure 29

MODE FOR CARRYING OUT THE INVENTION

[0007] Chapter 1 Basic Concepts of the Present Embodiment The concept of the present embodiment will be described with reference to FIG. 1. In the system configuration shown in FIG. 1, the cloud server 2 and the edge computer 6 are configured to be able to communicate with each other 18. Further, this edge computer 6 can 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 to provide various services to the user. When these various devices are, for example, temperature sensors, pressure sensors, gyros, etc., they may be built into this edge computer 6. Not limited thereto, some of these various devices may be arranged outside this edge computer 6 and controlled by communication.

[0008] The interior of this edge computer 6 has an application (IF-THEN) engine 90, and performs processing according to pre-recorded (pre-installed from the cloud server 2) application (IF-THEN) rules 70 (controls various devices 8) to provide services to users.

[0009] Also, as shown in FIG. 1, microservices 80A to 80F for individually controlling various devices 8 such as sensor 802, beacon 804, home appliance 806, mobile terminals 808 such as smartphones and tablets, HMD (head mounted display) 810, and IoT devices 820 are pre-embedded in the edge computer 6 (pre-installed from the cloud server 2). Then, the application (IF-THEN) engine 90 operates these microservices 80A to 80F to perform coordinated control among various devices 8. At this time, API (application program interface) commands are issued to the microservices 80A to 80F to be operated by the application (IF-THEN) engine 90.

[0010] Moreover, not limited to this, in this embodiment, it may also own (pre-install in the edge computer 6) an IoT server microservice 80G for coordinated control with the IoT service server 220, a GPS microservice 80H for acquiring GPS position information obtained from the GPS satellite 230, a web microservice 80I for accessing the web service server 210 to obtain a web service, etc. Also, it goes without saying that GPS may include RTK-GNSS with high measurement accuracy.

[0011] As a specific control example of this Web microservice 80I, controls such as automatically writing necessary information within the frame of a form element specified in HTML (Hyper Text Mark-Up Language) and transition control between Web pages may be performed. By installing the area of the Web microservice 80I within the software architecture of the edge computer 6 in this way, users can enjoy advanced services such as Web services. Not limited to the IoT server microservice 80G and the GPS microservice 80H shown in FIG. 1, the microservice 80 that can individually access any service available in the cyber space not shown in the figure may be arranged in the same row as the Web microservice 80I. As an example of a service in the cyber space not shown in FIG. 1, user services such as automatic buying and selling of securities (shares of specific brands), placing an order for a specific product and automatic transfer of the received product payment (billing process), application for purchase of viewing tickets for movies and music, and application for reservation of a predetermined trip may be performed.

[0012] By making it possible to arrange (pre-install) the microservice 80 that can individually access each service in the cyber space within the software architecture of the edge computer 6, users can enjoy a coordinated service that connects different services in the cyber space.

[0013] By the way, conventionally, the cooperation between services using various devices 8 existing in the real space and the services in the above cyber space was relatively scarce. By making it possible to arrange the microservices 80A to 80F that control the various devices 8 in the same row as the above Web microservice 80I as shown in FIG. 1, users can enjoy an advanced coordinated service that seamlessly crosses the services in the real space or physical space using the various devices 8 and the services in the above cyber space without a sense of incongruity.

[0014] When technologies emerged to handle video and audio, which were previously treated as analog data, as digital data, the term "multimedia" became popular, indicating the function of "integrating all media in digital form." Currently, such a digital world has become the norm.

[0015] In this embodiment, by newly defining dedicated control software (micro-service 80) for individually controlling various devices 8 responsible for detecting and operating objects (object and / or instance) and their states existing in the real space, a "multi-service" world can be constructed where more advanced services are provided by combining (mixing) services that can be provided in the real space / physical space and services that can be provided in the cyber space. And the "method of combining various services" for providing advanced services to users is defined within the application (IF-THEN) rule 70.

[0016] Regarding the application (IF-THEN) rule 70 and various devices 8 used by each edge computer 6, the cloud server 2 has a rule setting / delivery unit 202 and a device management unit 206 as software functions. Not limited to this, the cloud server 2 may also have a function as a micro-service registration unit (or module) 204 (the term definition regarding [module] will be described later).

[0017] When the edge computer 6 provides services to users according to the application (IF-THEN) rule 70, various data obtained are managed / stored 208 within the cloud server 2 and appropriately saved in the data / information storage device 200.

[0018] Figure 2 shows an example of the program configuration used in an Android (registered trademark)-based smartphone. The state of ifLink is displayed within the ifLink (registered trademark) widget 1100.

[0019] Micro-services 80A to 80F described in the Java (registered trademark) language are installed in the lower area of the ifLink app 1000. As part of this ifLink app 1000, an application (IF-THEN) engine 90 operates. In addition, an application (IF-THEN) rule 70 is also used in this ifLink app 1000. That is, this ifLink app 1000 manages the micro-services 80A to 80F connected to ifLink and the application (IF-THEN) rule 70.

[0020] Using FIG. 3, the relationship between the inside of the edge computer 6 shown in FIG. 1 and the cloud server 2 will be described in detail. In the edge computer 6, an ifLink app 92 of a service-providing application program is pre-installed. As the software architecture within this ifLink app 92, an application (IF-THEN) engine section 90, a setting / management screen configuration section 98, a data transmission section 96, and a rule reception section 94 exist as components. Also, within the edge computer 6, there is a memory area for storing the application (IF-THEN) rule 70. And the application (IF-THEN) engine section 90 operates the corresponding micro-service 80 according to the application (IF-THEN) rule 70.

[0021] Here, the ifLink app 92 has been described as a "software program", but it is not limited to this, and the ifLink app 92 may be configured with "hardware". In this case, the memory area for storing the application (IF-THEN) rule 70 and the application (IF-THEN) engine section 90, the setting / management screen configuration section 98, the data transmission section 96, and the rule reception section 94 may each be configured with physically separated circuits.

[0022] As shown in Figure 3, inside the cloud server 2, it is composed of a microservice registration unit 204, a rule setting and distribution unit 202, a data collection service unit (DDS: Data Destination Service) 216, an end point management unit (EPM: End Point Manager) 214, a Web-API control unit 218, and a data / information storage device 200.

[0023] And in this rule setting and distribution unit 202, the setting of the application (IF-THEN) rule 70 according to the user request and the distribution of the application (IF-THEN) rule 70 to the user are managed.

[0024] The data collected in the ifLink application is transferred from the data transmission unit 96 of the edge computer 60 to the data collection service unit (DDS) 216 of the cloud server 2 via the communication path 18. And the data sorted out in this data collection service unit (DDS) 216 is sequentially stored in the data / information storage device 200.

[0025] Also, the application (IF-THEN) rule set according to the user request is also stored in the data / information storage device 200. And at the required timing, the application (IF-THEN) rule 70 is read out from the data / information storage device 200 and distributed to the rule receiving unit 94 in the ifLink application via the communication path 18 from the end point management unit (EPM) 214. And the application (IF-THEN) rule 70 received by this rule receiving unit 94 is stored in the storage area inside the edge computer 6 (not shown). Also, the microservice 80 registered after being authenticated by a predetermined institution is also installed inside the edge computer 6 via the end point management unit (EPM) and the rule receiving unit 94.

[0026] On the other hand, various data collected from the ifLink app and stored in the data / information storage device 200 are subject to processing by various application services 1800 via the Web-API. Specific service contents within this application service 1800 include: visualization 1802 of data collected from the ifLink app; management 1804 of data collected from the ifLink app; status monitoring and anomaly handling 1806 regarding the status of the edge computer 6 and various modules 9 using the data collected from the ifLink app (the description of module 9 will be provided later); analysis 1808 of data collected from the ifLink app; service optimization 1810 for users using the ifLink app and optimization 1810 of the module 9 setting conditions; information service 1812 using the information obtained as a result of the data analysis 1808, etc.

[0027] Figure 4 shows the functions implemented in the application (IF-THEN) engine 90 shown in FIGS. 1 and 3. Specific functions include activation 902, rule management control 904, rule execution control 906, sensor data control 910, JOB control 912, log output function 914, function 916 for setting the same event ignore time, IF-THEN function 918 spanning other edge computers 6, rule activation / deactivation function 920, execution time control function 922, intermediate data holding object function 924, etc.

[0028] In activation 902, when the application (IF-THEN) engine 90 is launched from the ifLink app 92, a connection with the ifLink app 92 is established.

[0029] In rule management control 904, the application (IF-THEN) rules 70 held in advance when the application (IF-THEN) engine 90 is launched are read out to construct the internal state. That is, for example, it becomes a detection output from an actual sensor or a waiting state for a command (a ready state with several options).

[0030] In rule execution control 906, based on the sensor data information notified from the ifLink application 92, application (IF-THEN) rules 70 that match the conditions are extracted based on the internal state. That is, rules corresponding to the content of the detection output (command content) are selected.

[0031] In sensor data control 910, device information 68 from the ifLink application 92 (described later with reference to FIG. 10B) is received, and execution control corresponding to the application (IF-THEN) rule 70 is activated.

[0032] In JOB control 912, necessary JOB information is notified to the ifLink application 92.

[0033] In the log output function 914, logs (e.g., service history) are output according to the log level (importance or granularity of the log content).

[0034] The same event ignoring time setting function 916 means a function that suppresses the occurrence of the same sensor data for a specified period even if the same sensor data is input.

[0035] In the IF-THEN function 918 that spans other edge computers 6, a JOB is notified to another specific edge computer 6 and the JOB is executed there.

[0036] The rule activation / deactivation function 920 means a function that switches the ON / OFF of the rule specified in execution (THEN) 78 (described later with reference to FIG. 8) in the application (IF-THEN) rule 70.

[0037] The execution time control function 922 means a function that shifts a specific execution (THEN) 78 timing so that subsequent execution (THEN) 78 can be performed after a certain time.

[0038] The intermediate data holding object function 924 means a function that holds intermediate data generated during processing in a storage device and enables input to the conditions (IF) 72 (described later with reference to FIG. 8) of another rule. In the "Multi-Service" world technically proposed in this embodiment, advanced services are provided in which services in the real space or physical space using various devices 8 are coordinated (transcending each other's boundaries) with various other services. As a "field" (i.e., "service provision platform") for creation (planning) / experimentation (trial) / development regarding the service provision method, as well as for systemization / maintenance of systems already used by users / system expansion / promotion / business / sales (mail order) / billing, etc., in this embodiment, the "Place 1 or ifLink Place" shown in FIG. 5 is installed (provided).

[0039] In FIG. 5, regarding various devices 8 that are service provision means in the real space or physical space, Physical technology 1250 is accumulated within the manufacturing industry 1200. On the other hand, the service industry 1400 ensures a high level of "hospitality" quality. By connecting within the place across such industries (multi-industry collaboration beyond the framework), high-quality services can be provided to the user 1700. In this way, when members beyond industries gather within the place and exhibit a synergy effect, the activities of the place can be activated, and it becomes possible to trigger user innovation.

[0040] And within the Place 1 described in FIG. 5, through discussions among multiple members beyond industries, new service forms (combinations among multiple modules 9) that users will like are co-created (Group Creation). Also, co-working (Group Working) and co-commercial activities (Group Marketing and / or Group Commerce) regarding the planning, development (prototyping and systemization), promotion, sales / billing of new modules 9 required for this are carried out.

[0041] Therefore, all activities from the planning / invention of the microservice 80 (or a part of various control means 4 and modules 9 described later in FIG. 8) or the application rule 70 to sales / billing are related to Place 1. Further, in order to ensure the maintenance of the quality of user services, authentication 85 of various control means (microservices) 4 or application rules 70 may be performed within Place 1.

[0042] FIG. 6 shows specific activity examples of co-creation activities and co-operation activities performed within the above-mentioned Place 1. As items 1902 of co-creation activities and co-operation activities performed within Place 1, it is composed of an open marketing program 1900 and a base program 1908. Further, within this base program 1908, it is classified into co-creation community activities 1940, development community activities 1950, and ifLink application test bed activities 1960. Among these, the open marketing program 1900 and the co-creation community activities 1940 within the base program 1950 correspond to the co-creation activities within Place 1. Also, the development community activities 1950, the ifLink application test bed activities 1960, and the authentication activities of the microservice 80 (or module 9) described later in Chapter 2 correspond to the co-operation activities within Place 1.

[0043] Also, as examples of co-commercial activities within Place 1, 1) distribution of the authenticated microservice 80 (delivery via the network) described later, 2) issuance / distribution / management of user key information 2650, 3) collection of usage fees from the user 1700's payment system or the authenticated microservice 80 and profit distribution to the module 3100, 4) lending of microservice 80 assets to other groups and collection of usage fees, 5) granting of license use permission to other groups and collection of license usage fees, 6) information service 1812 using information obtained by analyzing data obtained from the ifLink application installed for each edge computer 6, etc. can be mentioned.

[0044] Within the open marketing program, rule development 1910 is carried out. A specific example of the method of this rule development 1910 will be described. As a "place" for discussion among members of different industries such as the service industry 1400 and the manufacturing industry 1200, sub-communities A~C 1920A~C corresponding to each setting theme are launched within Place 1. And for each of the sub-communities A~C 1920A~C, a service form that is liked by users is co-created. And finally, it is connected to the trial production of the application (IF-THEN) rule 70 for realizing the service.

[0045] Specifically, as the first Step 1 for each of the sub-communities A~C 1920A~C, an activity for creating a co-creation theme is carried out. And in the next Step 2, the work of formulating the application (IF-THEN) rule 70 for realizing the co-creation theme (Rule Idea Co-creation Work Study Day (WS-Day: Work Study Day)) is carried out. In Step 3 after that is completed, a period (Rapid Prototyping Term) for "prototype trial production" and its evaluation in a short period based on the above application (IF-THEN) rule 70 is set. When the "prototype trial production" is completed, the results of evaluating its performance are announced at the open announcement meeting 1918. By using the opportunity of this open announcement meeting 1918, if a sponsoring company aiming at commercialization appears within Place 1, it will lead to commercialization.

[0046] Also, the sub-communities A~C 1920A~C that could not make it to the open announcement meeting 1918 are carried over as the continuing theme 1930 in the next phase 2_1902. Such a program from Step 1 to 3 is repeated according to the passage of time 1906.

[0047] In the co - creation community 1940 that conducts event activities (such as idea - creation workshops) 1942 to increase application (IF - THEN) rules 70 with users, a website called the ifLink rule manager (details will be described later) is constructed to support the activities in Place 1. On this ifLink rule manager (website), a list of application (IF - THEN) rules 70 (IF / THEN rule site 1946) and various module 9 lists (module bank 1948) are published.

[0048] Also, in the development community activity 1950 that conducts event activities (such as development hands - on study sessions) 1952 to increase connected modules 9, a developer site 1956, which is a communication site for developers to share and disseminate information for promoting development among members within Place 1, is also set up.

[0049] As described above, in Step 3 of the open - marketing program 1900, a simple prototype / evaluation based on the formulated application (IF - THEN) rules 70 is carried out. As an environment - providing platform (ifLink test bed 1960 activity) to facilitate simple prototyping by members within Place 1 using the ifLink app and registered modules, a test - bed site 1966 is provided. On this test - bed site 1966, an environment for using the ifLink cloud server 2 is provided, and the ifLink app 92, microservices 80, and an application (IF - THEN) rule editor are provided. Figure 7 shows an example of a service - providing form in the "multi - service" world proposed by this embodiment. Figure 8 is a block diagram representing its basic concept. In the "multi - service" world proposed by this embodiment, for example, the detection result of changes in entities or states (or information related thereto) 7 occurring in the physical real world is directly linked to services (Web services 210) in the cyber - space, enabling service provision to users.

[0050] That is, in FIG. 1, as a service form for users that utilizes devices other than device 8, a Web service server 210 and GPS satellites 230 are explicitly shown. In contrast, here, various devices 8 (corresponding to 802-820 in FIG. 1) as means for providing services to users within the physical real space, and means for providing services to users in the cyber space (for example, a Web screen provided by the Web service server 210, etc.) are collectively referred to as "entities, states, and / or information 7 (corresponding to 7A-7F) that can be recognized by humans". Further, the above-described device 8 corresponds to a type of "entity / state / information 7 that can be recognized by humans". Also, general-purpose means for controlling these individually are defined as "control means 4 (4A-4F)".

[0051] For example, an example of using the above-mentioned "Multi-Service" when a user using this system makes a tomorrow's action plan (leisure plan) will be described.

[0052] Then, as shown in FIG. 7, it is also possible to provide a service of "predicting tomorrow's weather from the outdoor humidity change history. And if it rains tomorrow, avoid outdoor leisure and instead automatically reserve movie tickets".

[0053] In FIG. 7, an example of the display screen in the embodiment shown here is represented by a Web screen 1970 (described in HTML format). And each individual module 9 (or device 8) operated based on the application (IF-THEN) rule 70 is shown by an icon (including the icon of "ticket reservation"). Therefore, by displaying on the Web screen 1970 shown in the upper left of FIG. 7, it is easier for the user to recognize the application (IF-THEN) rule 70.

[0054] Here, by using the link element (Anchor Element) within the HTML language, the URL (Uniform Resource Location) of the encrypted microservice file 2620 corresponding to each icon (the definition of terms will be described later, and a detailed usage example will be described later with reference to FIG. 19) is linked. Then, when this corresponding icon is specified, after decrypting using the user key information 2650 (described later with reference to FIG. 19), the microservice 80 can be executed. In this method, since it is impossible to view the source code within the microservice 80 from HTML, there is an effect that the microservice 80 can be protected (copyright protection). Regarding the example of the description method within HTML in this case, it will be described in detail later with reference to FIG. 21.

[0055] Consider the case where sequential data collection is performed from the humidity sensor 802. As all the conditions regarding the condition (IF) 72 (details will be described later with reference to FIG. 8), it is the case where it is estimated from other sensors and past weather information that 'it will rain tomorrow'. Then, the microservice 80 linked to the icon (ticket reservation) within the execution (THEN) 78 (details will be described later with reference to FIG. 8) is operated (activated). An example is shown where this microservice 80 controls to perform the service of 'accessing the web page 1980 of a predetermined movie theater and automatically writing the information necessary for reservation into the form element within the web page 1980'.

[0056] For that, first, it is necessary to 'access the web page of a predetermined movie theater'. For this purpose, the above microservice 80 calls the keyword search screen 1976 and automatically writes the necessary keyword into the keyword entry field 1932. Next, the above microservice 80 automatically searches for the necessary HP (Home Page) from among the displayed screen candidates 1_1934 to 3_1938.

[0057] Analyze the HTML text of the "Web page of a specific cinema in 1980" accessed in this way. Specifically, automatically extract the locations where form elements are described within the HTML text. Next, by decrypting the text (words) related to the locations where these form elements are described, it becomes possible to automatically determine "what information should be entered in which column (within the form element)?"

[0058] Based on the results of the automatic analysis, it is possible to sequentially and automatically fill in the name entry column 1982, age entry column 1984, hobby column 1986, application content 1988, etc. at 1998.

[0059] For example, consider the case where the microservice 80 is described in the Java language. For advanced processing on the web page, generally a different language called Java (registered trademark) Script is used. Therefore, as a method for performing the above processing, in this embodiment, either A) Translate the microservice 80 described in the Java language into JavaScript (registered trademark) using a PhoneGap (registered trademark) compliant plugin, or B) Use the interface (API) of the web browser on Android (registered trademark) while keeping the Java language. Here, in the method of [A] above, a PhoneGap compliant plugin - compatible Java class 1922 is prepared in advance. Then, a microservice 80I for web page control is created so that it can be used, and it is translated into JavaScript using the above plugin 1922.

[0060] Using FIG. 8, generalize the basic concept described in FIG. 1 including the concept of FIG. 7, and also explain the relationship with the place 1 shown in FIG. 5.

[0061] As described above, in FIG. 1, as a service form for users that utilizes devices other than device 8, a Web service server 210 and GPS satellites 230 are explicitly shown. In contrast, here, “entities, states, and / or information 7 (7A - 7F) that can be recognized by humans” are newly proposed. The aforementioned device 8 corresponds to one type of “entities / states / information 7 that can be recognized by humans”. Also, general-purpose means for individually controlling these are defined as “control means 4 (4A - 4F)”.

[0062] For example, consider an example of controlling a Web screen using an AI (artificial intelligence) program (such as automatically writing necessary information within a form element frame specified in HTML or controlling the transition between Web pages), or an example of performing an order processing, contract processing, or application processing using a Web screen. In this case, the information on the Web screen (as a specific example, the “format” on the Web screen to be written during order processing, contract processing, or application processing) corresponds to one type of “entities, states, and / or information 7 that can be recognized by humans”, and the AI program that controls this information (as a specific example, automatically filling in necessary items within the required items in the “format” on the Web screen and performing a process such as pressing the “Execute” button on the Web screen after user confirmation) corresponds to control means 4.

[0063] As another example, consider the case where big data collected using sensor 802 is stored in data / information storage device 200 and then data-analyzed using statistical analysis software. In this case, sensor 802 alone is classified as device 8 and thus corresponds to one type of “entities / states / information 7 that can be recognized by humans”. And the sensor microservice 80A that controls the operation of this sensor 802 becomes one type of control means (microservice) 4.

[0064] Furthermore, the data / information storage device 200 used for big data storage is classified as device 8, and thus corresponds to a type of "entity / state / information 7 recognizable by humans". Also, the big data stored in this data / information storage device 200 and the information obtained after data analysis can be classified as a type of "entity / state / information 7 recognizable by humans". In contrast, the data analysis process performed by the statistical analysis software falls under "data control" in a broad sense. Therefore, this statistical analysis software corresponds to a type of control means (microservice) 4.

[0065] Here, as a functional implementation form of the control means 4 shown in FIG. 8, it may be implemented in a hardware configuration (for example, a combination of logic circuits) or in a software program. For example, the control means 4 that takes a program form using an object-oriented programming language is particularly called a microservice 80. Here, it goes without saying that a microservice created in a non-object-oriented programming language (for example, an assembler, etc.) may also be used.

[0066] The device 8 and the service providing means in the cyber space are collectively (generalized) named "entity / state / information 7 recognizable by humans", and the generalized collective name including the microservice 80 is called "control means 4", and all service forms for users will be generally described hereafter.

[0067] For example, the sensing function can be realized only when the control means 4 controls the sensor 802 alone. In this way, the means for realizing a predetermined function related to the service provided to the user is called a "module 9 (9A - 9F)". The module 9 is basically composed of "entity / state / information 7 recognizable by humans" and "control means 4". As an installation form of this module 9, the entire module γ9C may be built into the edge computer 6. Not limited thereto, only the recognizable entities / states / information 7D, 7E in the modules 9D, 9E may be arranged outside the edge computer 6. In this case, the control means (microservices) 4D, 4E arranged (pre-installed) in the edge computer 6 and the recognizable entities / states / information 7D, 7E are signal-connected by the communication means 18.

[0068] Moreover, not limited to the inside of the edge computer 6, control means (microservices) 4A, 4B may exist in the cloud server α2A.

[0069] The application rule β70B that defines the cooperation method between the module γ9C and the module δ9D performed to provide a predetermined service to the user is basically composed of the basic logic that changes over time from the condition (IF) β72B to the execution (THEN) β78B.

[0070] Using the logic example of "turn on the lighting when it gets dark" (application rule β70B), this "condition (IF) β72B ⇒ execution (THEN) β78B" logic and its specific processing content will be described. In this case, as the processing corresponding to the condition (IF) β72B, the API command 75 is issued from the application (IF-THEN) engine 90 to the control means (microservice) γ4C of the illuminance sensor. Correspondingly, the control means (microservice) γ4C of the illuminance sensor controls the illuminance sensor γ7C of the recognizable entity / state / information 7 to measure the illuminance of the surrounding environment. When the obtained illuminance is lower than the preset value, the return value of the API command 75 is returned from the control means (microservice) γ4C of the illuminance sensor to the application (IF-THEN) engine 90.

[0071] Then, the application (IF-THEN) engine 90 starts the operation of execution (THEN) β78B in accordance with the above application rule β70B. At this time, the application (IF-THEN) engine 90 instructs the necessary microservices based on the signal received from the microservice and the decoded content of the IF-THEN rule. That is, the application (IF-THEN) engine 90 does not execute the process autonomously, but compares the data received from the microservice specified in the IF with the conditions of the rule, and when the conditions are met, gives an execution instruction to the microservice specified in the THEN.

[0072] Then, the following API command 75 is issued from the application (IF-THEN) engine 90 to the control means (microservice) δ4D of the lighting switch. Then, the lighting switch δ7D, which is an entity / state / information 7 recognizable by the control means (microservice) δ4D of the lighting switch, is controlled to turn on the lighting switch. Thereby, the function of the module δ9D having the function of controlling the lighting switch is executed.

[0073] Next, the case where the user purchases new modules ε9E and ζ9F to expand the system will be described. The control means (microservices) ε4E and ζ4F in these modules ε9E and ζ9F and the application rule γ70C combined with them are generated in the cloud server β2B of the web server. Then, they are installed 180 via the communication line 18 connecting the cloud server β2B and the edge computer 6.

[0074] Then, the installed control means (microservices) ε4E and ζ4F and the application rule γ70C are stored in a predetermined recording area in the edge computer 6 in the form of files (for example, as microservice files 2602 and application rule files).

[0075] In parallel, within the cloud server β2B, an integration rule 700 is generated to integrate the existing application rule β70B and the newly created application rule γ70C. Then, within the cloud server β2B, the consistency between the existing application rule β70B and the newly created application rule γ70C is verified. If any defect is found as a result of the verification, the user is notified at the time of the above installation 180 or when providing services to the user.

[0076] The cloud server β2B can verify the application rules of each edge computer with a number of edge computers. Examples of edge computers include those in factories, hospitals, schools, government offices, farms, and homes, and application rules suitable for each facility are adopted.

[0077] Define the terms used in this patent specification, including the terms used in the above description, as follows.

[0078] ● [Module 9]--It means a means for realizing a predetermined function, and on the real space where this predetermined function is realized, it is composed of a combination of a [recognizable entity or state, information 7] that can be recognized by humans and its [control means 4]. Basically, in this embodiment, services to users are provided by a combination of operations (actions) of a plurality of [modules 9] controlled by individual [control means 5]. The [module 9] described in this embodiment only indicates the "concept" of a "combination for realizing a predetermined function". Therefore, the [recognizable entity or state, information 7] and its [control means 4] that constitute the [module 9] do not need to be "physically integrated". For example, the [recognizable entity or state, information 7] and its [control means 4] may be installed at physically separated positions and cooperate with each other using the communication means 18. Furthermore, as will be described later, neither of them needs to form a "physically real object".

[0079] ● [Module 3100] -- Part of the [member] within [Place 1] that develops, manufactures, or sells [Module 9].

[0080] ● [Humanly recognizable entity / state / information (instance, status, and / or information) 7] -- Means the object for realizing a predetermined function in the real space. Among the objects for realization mentioned here, measurable [states] such as temperature, humidity, and pulse are also included. In this patent specification, the following types of content, data / information, processing, and devices are included in the above-mentioned [entity or state, information (instance, status, and / or information) 7] that can be recognized in the real space.

[0081] ● [Content] -- Means the specific content related to a predetermined function and has a specificity that can be individually identified from others. For example, it does not include the abstract concept of "movie", but the specific content with "movie name (title)" set as the means of identification from other content is applicable. Similarly, it does not include the abstract concept of "Web page" displayed on a Web browser, but the specific Web page arranged on a specific URL is also applicable.

[0082] ● [Data / information (data and / or information)] -- Includes both acquired data / information and data / information for provision. Here, the data collected by [devices] such as sensors corresponds to a type of acquired data, and the information obtained as a result of analyzing this acquired data corresponds to a type of acquired information. Naturally, the measurement results of [states] such as temperature, humidity, and pulse are also included in this [data]. Also, the data and information provided to users as [services] are classified as data / information for provision. As a specific example, educational materials and teaching materials, etc., correspond to this data / information for provision.

[0083] ● [Process]--It means the embodiment process of the realization form of a predetermined function, and the intervention of an electronic device is a prerequisite. That is, it includes all specific operations using an electronic device. For example, ordering processes, money transfer / remittance processes, foreign exchange processes, contract processes (such as insurance), scheduling of travel and business, and specific operations such as travel arrangements using a smartphone or a web page are applicable. By the way, for example, manual processes such as "putting handwritten documents in a postal mailbox" do not involve an electronic device, so they do not fall under the [Process] described in this specification.

[0084] ● [Device 8]--It includes all electronic devices that exist in the real space and are used to realize a predetermined function. Therefore, it also includes the electronic device that executes the above [Process], the electronic device that displays the above [Content], and the storage device that stores the above [Information / Data]. This [Device 8] may be a single unit and may incorporate a communication function for communicating with external electronic devices. Also, this [Device 8] may have a function of acting on physical (or chemical) states and phenomena in nature. Devices that passively act on nature include sensors, etc. Also, devices that actively act on nature include robots, drive mechanisms, display devices (display elements), etc. The physical form of this [Device 8] is not limited to a stationary form, and it may take a movable portable form. For example, it may take a form that can be worn by the user, such as a band-shaped sensor fixed to the user's arm or leg, a belt-shaped sensor fixed to the waist, or a VR (virtual reality) type or AR (augmented reality) type HMD810 worn on the head.

[0085] ● [Controller 4]--Means for controlling [Entities / States / Information Recognizable by Humans 7] to achieve a specified function. It has a built-in communication function and may control [Entities / States / Information Recognizable by Humans 7] using the communication means. Examples of the implementation using this [Controller 4] include transition control between web pages, automatic input control of necessary parts within a web page, data analysis control of accumulated data, sales processing control of goods, automatic travel arrangement processing control, movement control of robots, etc. Also, in the case of control means for sensors such as temperature and humidity for [Entities / States / Information Recognizable by Humans 7], control is performed to detect and digitize (dataize) the physical (or chemical) [States] of nature. Here, within this control means, detailed procedures for realizing individual detailed functions are defined. For example, the detailed procedures may be defined in a "hard form" where control logic is formed by a combination of logic circuits. Also, not limited to this, the detailed procedures may be defined in a "soft form" such as a program installable on an [Edge Computer 6] or a [Cloud Server 2].

[0086] ● [Micro-service 80 / IMS]--This means [Control means 4] formed by a program using an object-oriented programming language. The control target of this micro-service is not limited to devices as described above, but includes processes, content, information / data. Therefore, for example, program software using AI technology for controlling transitions between Web pages or screen operations corresponding to specific Web pages is also included as a type of micro-service or a part thereof. Similarly, program software that uses AI technology to automatically extract the number of people appearing in a specific video content, or to analyze the acquired data (using, for example, statistical analysis, etc.) is also included as a type of micro-service or a part thereof. Here, the information obtained as a result of the analysis and the recording device for storing the information are treated as [Entities / States / Information 7 recognizable by humans]. Also, since [Micro-service 80] is a form of [Control means 4], by installing [Micro-service 4] as described above, it becomes possible to control the control targets (Entities / States / Information 7 recognizable by humans) based on [Edge computer 6] and [Cloud server 2]. When prescribing the detailed procedure in this "software form", if [Control means 4] is formed by a program using an object-oriented programming language such as the Java (registered trademark) language or the Objective-C language, effective utilization of existing program assets (such as incorporation (import) and call (issuance of API command 75) within other programs) can be performed (details will be described later in Chapter 2). Furthermore, when the program is described in the Java language that is independent of the OS (operating system), the versatility as [Control means 4] is improved. In the following explanations, it is also referred to as IMS (ifLink Micro-service) instead of micro-service.

[0087] ● [Control Method]--It means a program that constitutes a part of [Micro Service 80] and defines detailed procedures for realizing specific individual detailed functions. Each individual control method is treated as the minimum function unit (i.e., subprogram) for realizing the individual detailed function. As an API command 75 from [Application Engine 90], the control method name corresponding to a specific individual detailed function can be called as a corresponding function (command). Thereby, the individual detailed function corresponding to the control method name can be executed within [Application Engine 90]. In this embodiment, by using an object-oriented programming language to describe the program (define the program content) within the [Control Method], the [Control Method] can cooperate with the [Application Rule 70] as described above. (A detailed description with specific examples will be described later in Chapter 2). ● [Control Class]--Among individual [Control Methods], it means a collection of aggregates grouped for each common similar function. The control method corresponding to the initial setting function of the generated instance (entity) is called a constructor. The constructor name (the control method name corresponding to the constructor) included in the same aggregate may be made to match the control class name. Among the [Micro Services 80] described above, the management unit that groups control methods for each common similar function corresponds to the [Control Class]. Therefore, there may be multiple different [Control Classes] within the [Micro Service 80] for the same purpose of use.

[0088] ● [Control Package] -- Indicates a set of classes with similar functions. That is, it is defined according to a mechanism that divides the collection of classes with similar functions into folder units for management. In this embodiment, in particular, for each entity / state / information 7 included in the same module 9, a control package is divided, and different control package names (identification information for each control package) are individually set. Therefore, using the individually set control package names (identification information for each control package), it becomes possible to identify the content for each entity / state / information. Here, when setting the name of the [Control Package] for controlling the [Device] belonging to the entity / state / information, identification information of the manufacturer or seller of the module (or device), type information of the module (or device), individual manufacturing numbers, etc. may be used (set) as the identification information for each control package.

[0089] ● [Micro Service File 2602] -- Indicates a storage unit (storage form / storage format) for storing [Micro Service 80] in the storage area of the cloud server 2 or the edge computer 6. When [Micro Service 80] is described in, for example, the Java language, the content of [Micro Service 80] is a connection of Java language description sentences. To store this information, files are configured in units of control classes (where the processing content for each control class is also described). And the extension of this control class file is ".class". Also, in the storage area of the cloud server 2 or the edge computer 6, a "folder" for each control package is arranged, and the control class files are stored therein. Note that this folder name is made to match the control package name. Then, since the manufacturer / seller identification information of the module (or device) and the type information of the module (or device) can be known from this folder name, it becomes easy to search for the necessary control class files.

[0090] ● [API (API Command) 75] -- Indicates the communication means (communication tool) between the [Application (IF-THEN) Engine 90] and the [Micro Service 80] for operating individual micro services 80 from the [Application (IF-THEN) Engine 90]. Each of the [Micro Services 80] has a hierarchical structure of a control package / control class / control method. In the [API (API Command) 75], a specific control method name indicating the detailed procedure (program) for realizing the individual detailed function is specified, and often the individual detailed function operation is performed in units of control methods. For example, a method example of executing the individual detailed function of this specific control method within an application program 22 written in the Java language (including the [ifLink app (service-providing application program)] to be described later) will be explained. First, within the class of this application program 22, the control class within the control package containing the corresponding control method is incorporated (imported). Then, by specifying the corresponding control method name within the above class or method, this individual detailed function can be executed. ●[Application (IF-THEN) Rule 70] -- It shows the specified information of a method (rule) for combining a plurality of different control means 4 (or modules 9) that indicates a method of providing a predetermined service to a user. When [Application (IF-THEN) Rule 70] is configured by hardware composed of, for example, a combination of logic circuits, the output terminal of this combination logic circuit is electrically directly connected to the input terminal side of the control logic composed of a combination of logic circuits in [Control Means 4]. On the other hand, when this [Application (IF-THEN) Rule 70] is defined in a description format conforming to a predetermined description method (including HTML that constitutes a Web page), the application (IF-THEN) engine 90 in the cloud server 2 or the edge computer 6 decodes the content of the above [Application (IF-THEN) Rule 70]. Then, based on the decoding result, an API command 75 is issued from the application (IF-THEN) engine 90 to the corresponding microservice 80, and control to the recognizable entity / state / information 7 from the microservice 80 is started.

[0091] ● [Integration Rule 700] - It is generated when multiple different [Application (IF-THEN) Rules 70] are defined within the same edge computer 6 or within the same ifLink application. The purpose of generating this [Integration Rule 700] is to pre-detect contradictions and malfunctions that may occur when multiple different [Application (IF-THEN) Rules 70] are combined, and to avoid troubles when providing services to users. When the user desires to define multiple different [Application (IF-THEN) Rules 70], first, the [Integration Rule 700] is generated in the cloud server 2, and the operations according to this [Integration Rule 700] are simulated in the cloud server 2. If contradictions or malfunctions occur in the simulation results, the user is notified and a solution is proposed (details will be described later with reference to FIG. 23). After it is confirmed that no contradictions or malfunctions occur in the simulation results, this integration rule 700 is installed 180 from the cloud server 2 into the edge computer 6. After this installation 180, within the edge computer 6, the operations of various microservices 80 (control means 4) are performed according to this [Integration Rule 700].

[0092] ● [Edge computer 6] -- It has an [Application (IF-THEN) engine 90], and various [microservices 80] necessary for providing services to users corresponding to [Application (IF-THEN) rules 70] are pre-stored. When a user wants to receive a predetermined service from [Place 1], based on the request from the user to [Place 1], [Application (IF-THEN) rules 70] and the corresponding [microservices 80] are pre-installed from cloud server β2B. The [Edge computer 6] is composed of a processor, a memory unit, and a communication unit. The [Application (IF-THEN) rules 70] and the corresponding [microservices 80] installed here are stored in the memory unit. Also, the processor is responsible for the function of the [Application (IF-THEN) engine 90] according to the [Application (IF-THEN) rules 70]. As long as it is composed of a processor, a memory unit, and a communication unit in this way, the [Edge computer 6] can take any form. As a specific form example, a personal computer, a smartphone, a tablet, a signage, a gateway, a router, etc. may function as the [Edge computer 6].

[0093] ● [ifLink app (service - providing application program) 92] -- It means a program processed in the cloud server α2A or the edge computer 6 to provide a predetermined service to the user 1700. And this consists of an [application (IF - THEN) engine 90] that executes processing in accordance with the content of the [application (IF - THEN) rule 70], a setting and management screen section 98, a data transmission 96 involved in the communication between the client server 2, and a rule reception section 94. Also, within this [ifLink app (service - providing application program) 92], it is programmed to first refer to the content of a predetermined [application (IF - THEN) rule 70] saved in advance. Then, the [application (IF - THEN) engine 90] in the cloud server α2A or the edge computer 6 executes processing in accordance with the content programmed in this [ifLink app (service - providing application program) 92] to provide a predetermined service to the user 1700.

[0094] ● [Application (IF-THEN) Engine 90] -- Built into Cloud Server α2A or Edge Computer 6, it means the place (function) for processing / execution within Cloud Server α2A or Edge Computer 6. Hardly, an arithmetic processing processor (or its processing state) may be corresponded. This [Application (IF-THEN) Engine 90] reads [Application (IF-THEN) Rule 70] and decodes its content. Then, referring to the decoded content, it executes the processing along the content programmed in [ifLink App (Service Providing Application Program) 92]. During the processing / execution, it issues necessary [API Command 75] to Microservice 80. The inside of this [Application (IF-THEN) Engine 90] is composed of a programming language interpreter corresponding to the description format (corresponding programming language) in which [Application (IF-THEN) Rule 70] is described, and a control engine that executes the processing along the program defined in [ifLink App (Service Providing Application Program)] while referring to the interpretation result. Corresponding to the case where [Application (IF-THEN) Rule 70] is described (expressed) in HTML, a web browser function may be built in.

[0095] ● [Cloud Server 2] -- It has [Application (IF-THEN) Engine 90], and various [Microservices 80] necessary for providing services to users corresponding to [Application (IF-THEN) Rule 70] are stored in advance. When a user wants to receive a predetermined service from [Place 1], based on the request from the user to [Place 1], [Application (IF-THEN) Rule 70] and the corresponding [Microservices 80] are sent to Edge Computer 6. As an example of this transmission method, when using a link function (Anchor Element) that specifies a URL within HTML, this [Cloud Server 2] may have a web server function.

[0096] ● [Service]--It means an active operation that combines the control of a predetermined [entity / state / information 7] and provides a predetermined [process] or a change in [state] to the user, either for a fee or free of charge, or provides [content] and [data / information]. In this embodiment, a [service] is provided to the user according to the [application (IF-THEN) rule 70]. As a form of this [service] provision, in this embodiment, a combined (composite) service that crosses the boundary between services in the real space or physical space using various devices 8 and services in the cyber space using web services or the like may be provided.

[0097] ● [Place 1]--It means the "service - providing place (platform)" where the technology of this embodiment is used. Specifically, it is composed of a plurality of [Members] and represents a "field" related to the activity of providing [Services] to users, either for a fee or free of charge. As specific activity contents in this [Place 1], for example, creation (formulation) or experimentation (trial) regarding the above - mentioned [Service] provision method, development, systematization, maintenance and system expansion of the system that users are already using, promotion of the technology related to the newly formulated / systematized [Application (IF - THEN) Rule 70] within [Place 1], advertising, sales activities (including mail - order sales) of the system developed within [Place 1], and billing processing and accounting processing (including tax - payment processing) may be carried out. By making this activity a place for co - creation / co - working / co - marketing (Group Creation) / co - commerce (Group Working) / co - negotiation (Group Marketing and / or Grout Commerce) across industries and genres, the activation of [Place 1] activities can be achieved. To ensure the compatibility between systems incorporated to users through [Place 1] and the extensibility of connecting different systems, the standardization of the [Micro - service 80] format and the [Application (IF - THEN) Rule 70] - specified method is also carried out within [Place 1]. As an example, as will be described later with reference to FIG. 12, a standard template regarding [Micro - service 80] may be provided to the [Members] within [Place 1]. The distribution of [Micro - service 80] created by inheriting the content of this standard template or the authentication 85 of the micro - service may also be carried out.In addition to the above, within this [Place 1], the following operations are carried out: 1) Authentication of Module 9 (or Microservice 80); 2) Distribution of the authenticated Microservice 80 (delivery via the network); 3) Issuance / distribution / management of user key information 2650; 4) Collection of usage fees from the user 1700's payment system or the authenticated Microservice 80 and distribution of the revenue to the Module 3100; 5) Lending of Microservice 80 assets to other groups and collection of usage fees; 6) Granting of license use permission to other groups and collection of license usage fees; 7) Information service 1812 using the information obtained by analyzing the data obtained from the ifLink app installed for each Edge Computer 6 (1808), etc.

[0098] ● [Member] - Refers to an individual, company (corporation), or any organization participating in [Place 1].

[0099] ● [System] - Refers to the "service provision system" provided by [Place 1] to the user. In this embodiment, it basically refers to the entire combined system of the [Application (IF-THEN) Rule 70], [Microservice 80], and the [Device 8] controlled by the [Microservice 80] (or the [Module 9] composed of the [Microservice 80] and the [Device 8]) installed in the [Edge Computer 6].

[0100] ● [ifLink Rule Manager] - A general term for the web page on which the information managed by [Place 1] is posted. Information regarding all Modules 9 and Application (IF-THEN) Rules 70 managed by [Place 1] is posted. Also, files related to Microservice 70 (Class Files) and files related to Application (IF-THEN) Rules 70 (rule files) can be distributed from here.

[0101] In FIG. 9, the content of the present embodiment described so far and the effects resulting therefrom will be described. In the present embodiment, individual control means (microservices) 4 for controlling each recognizable entity / state / information 7 are independently set. Then, by operating the corresponding individual control means (microservices) 4 from the application rules 70 (or the integrated rule 700 combining a plurality of application rules 70) (using the API command 75), a diverse and advanced service combining different recognizable entities / states / information 7 (or different modules 9) can be provided to the user [A].

[0102] And the specific control method for each recognizable entity / state / information 7 is left to the individual control means (microservices) 4, and this specific control method is not specified at all (no external restrictions are imposed). As a result, optimal control can be performed according to the characteristics of each recognizable entity / state / information 7 [B]. A detailed explanation of this effect will be described later with reference to FIGS. 10A and 10B.

[0103] Here, when the control means 4 is formed (configured) by a software program (microservice), it becomes easy to copy / deliver it to various devices such as the edge computer 6 via the communication 18. As a result, the spread of the unique functions involved in each microservice 80 becomes easy [C]. Also, as shown in FIG. 8, since the installation 180 of the control means (microservice) 4F in the communication path 18 becomes easy, the expandability and developability of the existing system using the microservice 80 are improved [D].

[0104] Also, in the present embodiment, the microservice 80 may be described in an object-oriented programming language. Thereby, the compatibility between other programs such as the application rules 70 (or the integrated rule 700 combining a plurality of application rules 70) and the microservice 80 is improved [E].

[0105] Furthermore, by describing this microservice 80 in an OS-independent programming language (such as the Java language), the versatility of the microservice 80 is improved. This is because the microservice 80 can function in a wide range of environments without being affected by the usage environment [F]. This effect will be described later with reference to FIG. 11.

[0106] In this embodiment, the operation from the application (IF-THEN) engine 90 to each individual control means (microservice) 4 is only through the transmission of the API command 75, and does not stipulate (impose no external restrictions) any specific control method performed by each individual control means (microservice) 4 for each recognizable entity / state / information 7. And in order to enable optimal control according to the characteristics of each recognizable entity / state / information 7 [B], the specific control methods for each recognizable entity / state / information 7 are left to each individual control means (microservice) 4.

[0107] The following will explain the detailed content of the above effect [B] with reference to FIGS. 10A and 10B.

[0108] Conventional IoT standards stipulate the communication protocol (control format) between the cloud server 2 and the device 8 or between the edge computer 6 and the device 8.

[0109] In the standard for communication between the two using the Internet / communication line 10, on top of the "communication standard compliant with the wired or wireless communication medium 12", the "communication standard used in the IP (Internet Protocol) layer 14" is layered, and on top of that, the "communication protocol (control format) compliant with the IoT standard" is stipulated.

[0110] In any conventional IoT standard, the control format 16 is specified in detail, such as "storing the information of 'data A_40A' in the first data area, arranging the information of 'data B_40B' in the next data area, then describing the information of 'data C_40C', and finally putting the information of 'data D_40D'".

[0111] In the cloud server 2 and the edge computer 6, it is relatively easy to arrange data in accordance with the above-mentioned IoT standards defined in detail within the rock-solid OS layer 30. However, when receiving a control format 16 having such a complex data structure, it is necessary to have a data interpretation unit 38 in the device 8 for decoding it. Having this data interpretation unit 38 in the device 8 not only complicates the inside of the device 8 but also causes a problem that the selling price of the device 8 increases.

[0112] In contrast, in the present embodiment shown in FIG. 10B, the control format 16 to be transmitted to the device 8 is not defined at all, and only the data E60 optimal for the characteristics of the device 8 is transmitted. As a result, the burden on the device 8 is significantly reduced, and an effect is produced that an inexpensive device 8 can be provided to the user.

[0113] Next, with reference to FIG. 11, the effect [F] when a microservice 80 is described in an OS-independent programming language such as the Java language will be described. In the case of the Java language, which is an OS-independent general-purpose programming language, translation areas α1300A and β1300B (Virtual Machine) corresponding to the individual OS layers α30A and β30B are prepared in advance. Then, the content of the microservice 80 described in the Java language is translated via the translation areas α1300A and β1300B (Virtual Machine) and passed to the individual OSs α30A and β30B.

[0114] In particular, the commands in the microservice 80 in the present embodiment are described by a combination of basic APIs 75 at the OS layer α30A and β30B levels. As a result, an effect is produced that the basic control of each device can be performed in detail. The technical content described in this chapter will be summarized and described below. That is The module 9 is composed of an entity or state recognizable by a human, information 7, and a control means 4 for controlling it. And a plurality of these modules 9 can be defined. That is, a first control means γ4C for the first module γ9C and a second control means δ4D for the second module δ9D are defined individually.

[0115] Here, an application rule 70 is set for providing a service to the user by combining the first module γ9C and the second module δ9D. Then, according to the content of this application rule 70, API commands 75 are individually issued from the application (IF-THEN) engine 90 to the first control means γ4C and the second control means δ4D to operate the first or second control means γ4C, δ4D. The module control method in this embodiment is utilized.

[0116] Among the above-described control means 4, in particular, in this embodiment, the control means 4 formed (described) by a program using an object-oriented programming language is defined as a microservice 80. Therefore, a first microservice 80 (control means γ4C) that controls a first entity or state, information γ7C recognizable by a human, and a second microservice 80 (control means δ4D) that controls a second entity or state, information δ7D recognizable by a human are defined. And an application rule β70B is set for providing a service to the user by combining the first microservice 80 and the second microservice 80. And corresponding to the API commands 75 issued from the application (IF-THEN) engine 90 according to the application rule β70B, these first / second microservices 80 individually control a first entity or state, information γ7C, δ7D recognizable by them.

[0117] Also, in the edge computer 6 in the present embodiment, the application rule γ70C (and the integration rule 700) and the microservice 80 (control means 4F) are received from the cloud server β2B and installed in advance 180. As a result, the first microservice 80 (control means ε4E) that controls the first entity or state recognizable by humans, information ε7E, and the second microservice 80 (control means ζ4F) that controls the second entity or state recognizable by humans, information ζ7F, and the related application rule γ70C (and the integration rule 700) are built in the edge computer 6 in advance. Here, the application rule γ70C (and the integration rule 700) defines rules for providing services to users in combination with the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F). Then, the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F) are operated in the edge computer 6 to individually control the second entity or state recognizable by humans, information ζ7F or the second entity or state recognizable by humans, information ζ7F, and provide services to users.

[0118] Particularly, the edge computer 6 in the present embodiment owns an application (IF-THEN) engine 90. Then, according to the rules defined in the application rule γ70C (and the integration rule 700), the API command 75 is issued from the application (IF-THEN) engine 90 to the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F). As a result, the first or second microservice 80 (control means ε4E, ζ4F) individually controls the recognizable entity or state, information ε7E, ζ7F, and provides services to users.

[0119] In the service providing method in the present embodiment, services to users are provided using the method described above.

[0120] In the service - providing platform (Place 1) in this embodiment, services are provided to users using the above - mentioned method. In particular, in the service - providing platform (Place 1) in this embodiment, members across industries gather, exert their synergistic effects on each other, and create (formulate), experiment (trial), develop, systematize, maintain the systems that users are already using, expand the systems, promote the technologies generated in relation to the above, advertise and conduct business activities for the development system and its sales (mail - order sales) activities, perform billing processing and accounting processing, etc., with respect to the new application rule γ70C (and integration rule 700) and the new microservice 80 (control means 4).

[0121] The collaborative - work support method in this embodiment is a method for supporting the activation and efficiency improvement of collaborative activities in the above - mentioned service - providing platform (Place 1). Specifically, it provides microservices 80 and application rules 70 to support the activation and efficiency improvement of collaborative activities. That is, in the collaborative work of multiple members, at least one of the first microservice 80 (control means γ4C), the second microservice 80 (control means δ4D), and the corresponding application rule β70B is formulated and created, provided to users, and executed on the user side. Chapter 2: Contents and Authentication Method of Microservices Fig. 12 shows the class structure (software architecture) within the microservice 80. In this chapter, the description focuses on the microservice 80, but it is not limited to this, and the content described below can also be applied to the control means 4 in a broad sense.

[0122] As a basic function required for the microservice 80, the 'control function of the corresponding individual device 8' is an essential condition. However, it is not limited to this, and the 'peripheral functions related to the control of individual devices 8' are also required as functions of the microservice 80. Specific examples include performing interface processing with an application (IF - THEN) engine and checking whether the corresponding device 8 is in an operable state, etc.

[0123] In this embodiment, the inside of the microservice 80 is separated into different classes according to the above different functions, improving the functional extensibility inside the microservice 80. That is, in order to execute the "control function of the corresponding individual device 8", an individual device control class (CustomDevice Class) 2102 is set. And a plurality of methods describing the detailed procedure program content for each individual detailed function of the corresponding device 8 are arranged (described) therein.

[0124] On the other hand, as a program for executing the "peripheral functions related to the control of the individual device 8", an in-control class within the individual device corresponding microservice (Customins Class) 2110 is installed.

[0125] Here, from within the above in-control class within the individual device corresponding microservice (Customins Class) 2110, the individual control methods within the individual device control class (CustomDevice Class) 2102 are called (incorporated) to make it executable. Specifically, if an import statement is used before the in-control class within the individual device corresponding microservice (Customins Class) 2110 to specify import [package name for individual device control].[class name of individual device control (CustomDevice)];, it becomes possible to incorporate the individual control class within the individual device control class 2102 within the in-control class within the individual device corresponding microservice (Customins Class) 2110. And within the in-control class within the individual device corresponding microservice (Customins Class) 2110 or within a specific control class therein, the names of the individual control methods within the individual device control class 2102, the arguments, and the return value formats (types) are described. Thereby, it becomes possible to call / use the individual control methods within the individual device control class 2102 within the in-control class within the individual device corresponding microservice (Customins Class) 2110 or within a specific control class therein.

[0126] As described with reference to FIG. 10, in the present embodiment, the optimal data E60 adapted to the characteristics of each of the eight devices to be controlled can be transmitted to the eight devices. To enable this, in the present embodiment, it is possible to set individual device control packages 2100 that are different for different manufacturing / selling manufacturers and different device models.

[0127] On the other hand, it is necessary to guarantee the compatibility between the systems delivered to the user and future expandability. To ensure such system compatibility and future expandability, in Place 1, a template class that serves as a standard for the description content (program) for each class is provided to the participating members. That is, for the individual device control class (CustomDevice Class) 2102, the device control template class (BaseDevice Class) 2002 is provided to the members as a template class. Also, for the control class within the individual device - corresponding microservice (Customims Class) 2110, the control template class within the microservice (BaseIms Class) 2010 is provided to the members as a template class.

[0128] The participating members in Place 1 can create the individual device control class (CustomDevice Class) 2102 and the control class within the individual device - corresponding microservice (Customims Class) 2110 only by making small modifications (customizations) 74 to the above - mentioned template content. Therefore, there is an effect that the participating members can efficiently create the microservice 80 in a short period of time.

[0129] To indicate that each class created by the participating members in Place 1 inherits the functions (extends) of the original template class, for example, when writing public class CustomDevice extends BaseDevice { at the location where each class name created by the participating members is defined, the function inheritance (extends) relationship between classes is clearly stated. By making such a description method known within Place 1, not only is the management of individual microservices 80 within Place 1 facilitated, but also the compatibility and extensibility between the systems delivered to User 1700 (Figure 24) are easily ensured.

[0130] By the way, "public" in the above means "permit the use (diversion) in other systems of the CustomDevice Class created within Place 1". If "private" is described instead of "public" in this place, the use outside one's own class (in the above example, the CustomDevice Class) is prohibited. Also, if "protected" is described, it can be used only within the classes in the package and the classes that inherit the functions 74. In Place 1, many members belonging to different enterprises / organizations are involved in the creation (modification) of microservices 80. When so many members are involved, troubles such as unintended tampering are likely to occur. If the access range can be defined for each class that can be commonly used within Place 1 in this way, it has the effect of reducing the frequency of troubles occurring within Place 1.

[0131] As shown in Figure 12, the API commands (linkage specification) 75 from the application (IF-THEN) engine 75 are processed within the control template class (BaseIms Class) 2010 in the microservice.

[0132] Also, while providing a predetermined service to user 1700, an abnormal situation such as the battery of device 8 running out may occur. An abnormal detection class (HealthCheckTask Class) 2016 with a function to handle such an emergency abnormal situation is arranged to enable a prompt response to the abnormal situation. This abnormal detection class (HealthCheckTask Class) 2016 is called / incorporated by a control template class (BaseIms Class) 2010 within the microservice. The call / incorporation process 76 here is processed in the same manner as described above.

[0133] When device 8 is installed outside cloud server 2 or edge computer 6, microservice 80 controls device 8 via communication line 18. Here, for example, if communication line 18 becomes congested or disconnected, there is a risk that the system will freeze until a response from device 8 is received.

[0134] On the other hand, if a response time monitoring class (TimeoutCheckTask Class) 2006 is installed, the communication status between microservice 80 and device 8 can be monitored. By detecting communication problems and taking prompt action, the freezing situation within the system can be prevented.

[0135] Depending on the type of the sensor device 802, it is necessary to handle various data ranging from binary data (two - valued data of "1" or "0") to video streams. Here, by providing the Stream Control Engine Class (StmEngine Class) 2004, an effect is produced where various data can be efficiently and integrally handled. Note that a stream analysis class / method using AI technology may be arranged inside the Stream Control Engine Class (StmEngine Class) 2004 or at the same level as it. That is, as described above, using an import statement, a stream analysis class using AI technology is incorporated into the Stream Control Engine Class (StmEngine Class) 2004 or into the Device Control Template Class (BaseDevice Class) 2002 (when arranged at the same level as the Stream Control Engine Class (StmEngine Class) 2004). Based on this, within the Stream Control Engine Class (StmEngine Class) 2004 or within the Device Control Template Class (BaseDevice Class) 2002, the use (call) of the methods within the stream analysis class using AI technology becomes possible.

[0136] As a result, not only can the raw stream data obtained from the sensor device 802 be passed to the Application (IF - THEN) Engine 90, but also only the analysis result information obtained by automatically analyzing the stream data can be passed to the Application (IF - THEN) Engine 90, resulting in an effect that can significantly improve the processing load of the Application (IF - THEN) Engine 90. In this case, the raw stream data obtained from the sensor device 802 may be sequentially stored as a time - series file in the data / information storage device 2 within the edge computer 6 or within the cloud server 2. And the method within the stream analysis class using AI technology reproduces the time - series file (raw stream data file) in a timely manner. And specific condition (IF) β determination may be performed using the analysis information obtained by data analysis using AI technology.

[0137] As shown in FIG. 12, from the device control template class (BaseDevice Class), the above-described response time monitoring class (TimeoutCheckTask Class) 2006 and the call / incorporation 76 of the stream control engine class (StmEngine Class) 2004 can be performed. The specific method of this call / incorporation 76 process adopts the same method as described above.

[0138] In this embodiment, when describing the microservice 80 using an object-oriented programming language (such as the Java language), the existing program assets in the basic control package 2000 can be effectively utilized within the individual device control package 2100. Then, the development efficiency of the microservice 80 of the members within Place 1 is greatly improved.

[0139] For example, before the control class (Customins Class) 2110 and the individual device control class (CustomDevice Class) within the individual device corresponding microservice, use the import statement to write import [name of the basic control package 2000].[abnormality detection class name (HealthCheckTask)]; and import [name of the basic control package 2000].[response time monitoring class name (TimeoutCheckTask)];, import [name of the basic control package 2000].[stream control engine class name (StmEngine)]; By doing so, the programs of the methods defined within each class can be utilized.

[0140] Furthermore, change the destination of the API command (linkage specification) 75 from the application (IF-THEN) engine 90 to the control template class (BaseIms Class) within the microservice to the control class (Customims Class) within the individual device corresponding microservice.

[0141] As a result of these series of processes (program changes), substantially, the corresponding classes 2002 and 2010 within the basic control internal package 2000 are replaced and used with the corresponding classes 2102 and 2110 within the individual device control package 2100. When describing the microservice 80 using an object-oriented programming language in this way, there is an effect that program editing can be easily and accurately performed with only a very small change in the description content. Using FIG. 13, the functions of the microservice 80 set within the individual device control package will be described. The three items (initialization 2210, start 2212, and start / stop 2214) circled within the mandatory field 2204 are the minimum mandatory functions. And the remaining two items (sensor data transmission 2218 and JOB (work) reception 2220) may be unnecessary functions depending on the characteristics of the corresponding device 8.

[0142] Among the functions of the microservice, the initialization 2210 indicates a function of registering the connection with the ifLink app, the microservice 80, and the device 8 to be controlled when started from the ifLink app (refer to the definition of the above-mentioned terms).

[0143] The function of termination 2212 is a function of disconnecting and terminating the connection with the ifLink app, the microservice 80, and the device 8 to be controlled when terminated from the ifLink app.

[0144] The function of start / stop 2214 is a function of starting or stopping the device 8 when the rule of the device 8 registered as the application (IF-THEN) rule 70 becomes valid or invalid.

[0145] Next, the function of status notification 2216 will be described. In the ifLink app, the status of the registered devices is managed. This status notification 2216 indicates a function of notifying the ifLink app to update the status of the device 8 managed by the ifLink app.

[0146] The function of sensor data transmission 2218 is to transmit sensor data sent from the controlling device 8 to the ifLink app.

[0147] Finally, the function of JOB reception 2220 will be described. Through the IfLink app, the content of the JOB (instruction / API of operation content) is notified from the cloud server 2 or the application (IF-THEN) engine 90. This JOB reception 2220 is a function that processes the JOB information viewed from the IfLink app.

[0148] Figure 14 shows a list of APIs provided by the control template class (BaseIms Class) 2010 within the microservice. That is, each control method shown in Figure 14 is described (arranged) within the control template class (BaseIms Class) 2010. That is, each control method described in the method / function column 2302 in Figure 14 needs to be standardly equipped within the microservice 80.

[0149] "void" or "int" described at the beginning of each control method described in the method / function column 2302 represents the type (format / type) of the return value of the control method. For example, when this control method is called and used from a predetermined class or a predetermined method, after the processing of this control method is completed, it indicates "what type of data will return to the class and method that are using it?".

[0150] For example, in the control method where the character "void" is described first, it indicates a state of "no return value" (that is, after the processing of the control method is completed, no specific data will return to the class and method that are using it).

[0151] Similarly, in the control method where the characters "int" or "long" are described first, an integer within the range of 32 bits or 64 bits in size will return after the processing of the control method is completed.

[0152] In the control method where the word "boolean" is first described, a true / false value of "true" or "false" is returned after the processing of the control method is completed.

[0153] Also, inside the parentheses of the control method, the "argument type (format / type)" and "arguments" passed to the control method are described as a pair with a "space" in between. When multiple "arguments" are passed, a "," (comma) is placed between the argument pairs.

[0154] As this argument type (format / type), "String" represents a "character string". Also, "Map" represents a "key / value type database" in which keys and values are stored in pairs. And "HashMap" means a class (HashMap Class) using the above "key / value type database" or its mechanism. By using the "key / value type database" for the control of device 8 in this way, an effect is produced where data / information can be shared between methods across different control packages. Furthermore, by using the "key / value type database" as the storage format for this data / information, the convenience of data search is improved.

[0155] Also, "Message" means a "message" that can be directly sent to the application (IF-THEN) engine 90 or the ifLink application. Also, regarding the "constructor" described in FIG. 14, it has already been explained in the definition of terms related to the [control class].

[0156] "EPA", "epa", and "Epa" described in FIG. 14 are abbreviations for "End Point Access" and refer to the application (IF-THEN) engine 90 and the ifLink application. In relation to this, "void onActivationResult(boolean result, EPADevice device)" is described at the 28th position in FIG. 14. This processing outline 2304 is described as "notification of the service registration result from the ifLink application". Here, as an argument, "EPADevice" is specified as the "type (format / type) of the argument", and "device" is specified as the "argument". The "service registration" mentioned here means "registration of the device 8 operated by the application (IF-THEN) rule 70". And the result is entered into the argument "result". Here, if it can be registered, "true" is entered into "result" and returned. On the other hand, if it cannot be registered, "false" is entered into "result" and returned. The "device" in the above argument means a specific device 8 with the identification information "device" set. And the "EPADevice" that specifies the "type (format / type) of the argument" means "a device 8 that can be identified by the application (IF-THEN) engine 90 or the ifLink application".

[0157] The device 8 used in this embodiment includes a portable device 8. Therefore, when attempting to operate the portable device 8 according to the application (IF-THEN) rule 70, cases where the target portable device 8 is taken out of the operation area occur frequently. Therefore, prior to providing a service to the user, it is necessary to confirm in advance whether the target portable device 8 exists within the operation area. For that, prior registration of the portable device 8 that needs to be confirmed in advance whether it exists within the operation area is required.

[0158] For such prior registration, perform the "void registerCallback()" or "void registerCallback(String cookie)" of the callback registration described in the 11th or 12th item. Also, for the portable device 8 for which prior confirmation of whether it exists within the operation area is no longer required, perform the "void unregisterCallback()" of the callback cancellation described in the 13th item.

[0159] And when prior confirmation of the target device 8 can be performed, perform "device registration" using the 14th "boolean createDevice()". Conversely, for the device 8 for which prior confirmation could not be made, perform "device cancellation" with the 15th "boolean deleteDevice()".

[0160] Also, for example, when it becomes difficult to continue the service during service provision to the user due to, for example, the battery of a specific device 8 running out. To handle this situation, the 21st "void startHealthCheck(long interval)" can be used to start "health check" for each device 8. In this method, instead of "continuous health check", checks can be performed at regular intervals specified by "interval".

[0161] And when a problem occurs, a 'warning notification' is required for the application (IF-THEN) engine 90 or the ifLink application from the microservice 80. In this case, the 17th "int send_alert(-)" method can be operated to perform "alert transmission".

[0162] Figure 15 shows a list of APIs provided by the device control template class (BaseDevice Class). The description rules are the same as those in Figure 14.

[0163] Application rule 70 basically consists of a combination of a predetermined execution (THEN) 78 according to a predetermined condition (IF) 72. For example, like the temperature, humidity, and illuminance of the user environment that change moment by moment, the recognizable entity / state / information 7 that is the target of this condition (IF) 72 determination changes moment by moment. To be able to handle this time change, in this embodiment, the recognizable entity / state / information 7 can be recorded in chronological order on a "HashMap" corresponding to a "key / value form database".

[0164] For example, when it is desired to obtain the current recognizable entity / state / information 7 (that is, to obtain sensor data obtained from, for example, the sensor device 802), "HashMap createSensorData()" is called from within the microservice internal control template class (BaseIms Class) 2010 76 to perform "generation of sensor data". On the other hand, when it is desired to perform "generation of sensor data" at a specified time, the specified time when obtaining the data is set for the argument "time" in "HashMap createSensorData(long time)". Also, when it is desired to perform data acquisition (= "generation of sensor data") at a specific time interval, the data acquisition time corresponding to the specific time interval is automatically calculated by a program within the microservice internal control template class (BaseIms Class) 2010. Then, the time obtained by this automatic calculation is sequentially specified for the argument "time" in "HashMap createSensorData(long time)".

[0165] Then, the sensor data (the content of the recognizable entity / state / information 7) accumulated in chronological order is used with "long sendSensor(Map map)" to perform "transmission of sensor data" from the device control template class (BaseDevice Class) 2002 to the microservice internal control template class (BaseIms Class) 2010.

[0166] In FIG. 15, as an example, a list of control classes within the device control template class (BaseDevice Class) 2002 corresponding to the sensor device 802 is shown. However, not limited thereto, as shown in FIG. 1, control is required for various robots (or drive mechanisms) included in the mobile terminal device 808, the HMD device 810, the IoT device 820, etc. Therefore, as the processing outline 2304, for example, "drive execution", "display of a specified screen / video", etc. are included, not limited to the content described in FIG. 15.

[0167] Also, when the various devices 8 are arranged outside the edge computer 6 and the cloud server 2, communication control between the device 8 and the corresponding microservice 80 is required. Although the description of the source code of the control method shown in FIG. 15 is omitted here, the control necessary for communication control may also be described in the source code. For example, by incorporating the "Socketlmpl Class" within the "java.net" package 76, communication control for the device 8 at the IP address level becomes possible. Specifically, write import java.net.Socketlmpl; before the device control template class (BaseDevice Class). Based on this, it becomes possible to use various methods for performing basic communication control within the Socketlmpl Class. Using FIG. 16, the state transition of the device 8 in this embodiment will be described. Regarding the state of the device 8, five states are defined: the stop state 2400, the operating state 2402, the running state 2408, the standby state 2410, and the error occurrence state 2414.

[0168] Immediately after the start of control 2300 of device 8, it is in the stopped state 2400. Then, when "createDevice()" (refer to the 14th item in Fig. 14), which means starting the device control by microservice 80, is executed 2502, device 8 transitions to the operating state 2402. Here, if the response 2506 of "createDevice()" fails 2510, it enters the error occurrence state 2414 and returns to the stopped state 2400 at the timing of disconnecting the ifLink app 2500. Also, even when device 8 is in the operating state 2402, if the ifLink app is disconnected 2500, device 8 returns to the stopped state 2400.

[0169] On the other hand, if the response 2506 of "createDevice()" is successful 2512, device 8 enters the ready state 2410. Then, when an operation instruction 2508 comes from the application (IF-THEN) engine 90, the device starts operating and becomes in execution 2408. Here, if a stop instruction 2504 comes from the application (IF-THEN) engine 90, the device operation stops and device 8 returns to the ready state 2410. Also, whether device 8 is in the ready state 2410 or in execution 2408, if the ifLink app is disconnected, device 8 becomes in the stopped state 2400.

[0170] And when the device operation fails during the execution 2408 of device 8 2530, a retry of starting the device operation is required, so device 8 enters the error occurrence state 2414. Similarly, when the time without a response from device 8 during the execution 2408 of device 8 becomes long, a timeout 2520 occurs and device 8 enters the error occurrence state 2414.

[0171] As described in Chapter 1, the module 9 that realizes a predetermined function is separated into the device 8 (or the entity / state / information 7 recognizable by a human) and the microservice 80 (or the control means 4) that controls it. Based on this, the states of the device 8 and the microservice 80 can be separately managed. On the other hand, during the execution of the service to the user, the user may "change the content of the application (IF-THEN) rule 70" (that is, the device 8 operated from the application (IF-THEN) rule 70 is suddenly changed). When the states of the device 8 and the microservice 80 are separately managed in this way, there is an effect that it becomes easy to make a real-time change in response to the "change of the application (IF-THEN) rule 70" made by the user.

[0172] As shown in FIG. 17, as the states of the microservice 80 in this embodiment, six states can be defined: the stationary state 2400, the connected state 2412, the operating state 2402, the state of operating the device 2404, the start 2300, and the error occurrence 2414. And as shown in FIG. 17, the relationship between the state of the microservice 80 and the state of the device 8 is established. Figure 18 performs the authentication of Module 9 within Place 1 to ensure the performance of the system developed within Place 1 on the user side. Even when looking at a specific Module 9 alone, it has various attributes such as compatibility with other Module 9s used together, the range of applicable environmental conditions, and the stability of the communication line between microservice 80 and device 8 controlled thereby within the same Module 9. Therefore, a 'grading of authentication levels' 2560 is performed considering "compatibility between different systems", "future system expandability", "breadth of physical applicable environment range", "stability of the communication line between microservice 80 and device 8 controlled thereby", etc. That is, at the highest authentication level, "compatibility for use with other systems and future system expandability are guaranteed, and stable operation is guaranteed in any usage environment (including not only physical environments such as temperature and humidity but also communication line congestion)". On the other hand, at the lowest authentication level, it "can only be used under conditions limited to a pre-specified application (IF-THEN) rule 70 in a specific usage environment". Also, it can be said that this 'grading of authentication levels 2560' is set according to operational reliability and other authentication criteria 2552.

[0173] Figure 18 shows an example of the authentication procedure for Module 9 performed within Place 1. The authentication criteria 2552 within Place 1 are used as a reference for communication connectivity, reliability, responsiveness (response speed), security, safety, and usage integrity within and outside Module 9 (i.e., between microservice 80 and application (IF-THEN) engine 90).

[0174] As a method for confirming aspects such as communication connectivity within Module 9 here, a direct communication line connection is made via a wireless or wired line, and 1) Is communication being carried out according to the module information 2532 submitted at the time of module authentication application 2556? 2) Is the response response (turret speed) during communication as described in the module information 2532 ensured? 3) Does it not perform operations other than those described in the module information 2532? (Are there no out-of-specification functions?) etc. may be evaluated using a communication content analysis device (e.g., a sniffer in the case of wireless communication).

[0175] As the first step of the authentication procedure, a prototype 2542 of module 9 is conducted within Place 1. The prototype module 2522 (or its improved version) completed in this prototype 2542 becomes the "preliminary test kit for module authentication" 2524.

[0176] Next, the participating members within Place 1 individually conduct a preliminary test 2544 using this "preliminary test kit for module authentication 2524". Then, attaching this tested module 2526, the participating members create an application 2546 for Place 1. And in this module authentication application 2556, information 2532 of module 9 for which certification is applied, a preliminary test result report 2534, and customer support procedures 2536 are attached. Also, at the stage of this module authentication application 2556, the member applying also self-declares 'Which grade of the certification level 2560 does it conform to?'. At the same time, the participating members pay the authentication fee to Place 1.

[0177] In response to this module authentication application 2556, an "authentication test" 2548 is also conducted within Place 1. If this test passes 2550, certification module registration 2558 corresponding to the 'grade of the certification level 2560' previously applied by the member is performed. The module 9 for which certification module registration 2558 has been performed is described and publicized on the homepage of Place 1. Also, the module 9 described on this homepage becomes the target of primary support within Place 1.

[0178] In the module authentication in this embodiment, as described above, a two-stage test of the preliminary test 2544 independently conducted by the participating members and the "authentication test" 2548 conducted by Place 1 is implemented. As a result, the reliability of the authentication result is improved, and an effect of being able to provide a highly reliable system for users is produced.

[0179] In this way, the authenticated module 9 exhibits stable performance. Therefore, in this embodiment aiming at preventing theft, the encrypted microservice file 2630 is distributed via the network communication 18. As a result, an effect is produced in which the technical protection of the authenticated module 9 can be firmly carried out.

[0180] As shown in FIG. 19, in this embodiment, a mechanism is adopted to make it impossible to decrypt the encrypted microservice file 2630 after a predetermined period has elapsed or after a predetermined number of uses with respect to the installation time 180 in the edge computer 6. Then, when the distributed file has passed a predetermined period or a predetermined number of uses, the microservice 80 cannot be used unless specific processing is performed, so that proper management such as unauthorized theft of the microservice 80 becomes possible.

[0181] As a specific method, in this embodiment, 1) only the encrypted microservice file 2630 (class file) is distributed via the network ⇒ Based on this, unauthorized theft during the distribution path can be prevented. 2) Automatically monitor at least one of the usage period or the number of uses at the distribution destination ⇒ Based on this, the period or number of times the microservice 80 can be used can be freely set. 3) Control the monitoring result based on the transmission 18 from the cloud server 2 on the distribution source side ⇒ Based on this, a method is adopted in which the cloud server 2 can control whether the microservice 80 can be used on the user side without imposing a burden on the user. However, it is not limited to this, and any means that automatically makes the microservice 80 unusable may be used.

[0182] As a specific example, a counter that affects the decryption process of the decrypter 2608 may be arranged, and the decryption availability of the decrypter 2608 may be controlled by the count value.

[0183] As shown in FIG. 19, a circuit in which a part for decrypting an encrypted micro-service file (class file) and a control unit 2680 for controlling the device 8 according to the decrypted micro-service file 2620 are housed inside a single chip 2600 is stored in the edge computer 6. Also, user key information 2650 can be stored in this "inside a single chip 2600". By having the structure in which the user key information 2650, the decryptor 2608, and the control unit 2680 for controlling the device 8 are housed inside a single chip 2600, the decrypted micro-service file 2620 does not go outside the "single chip 2600". Therefore, strong security can be ensured.

[0184] When the user completes the purchase procedure of a predetermined system (including the payment process) from Place 1, an "mutual authentication" procedure is performed between the edge computer 6 used by the user and the cloud server 2 managed by Place 1. In the process, different user key information 2650 is shared between the edge computer 6 and the cloud server 2 for each user.

[0185] Inside the cloud server 2, using this user key information 2650, an Encrypter 2602 encrypts the micro-service file 2620. Based on this, an encrypted micro-service file 2630 that can be transmitted 18 is generated.

[0186] Inside the edge computer 6, the received encrypted micro-service file 2630 is stored in the storage area 2610. And when using the micro-service 80, the corresponding encrypted micro-service file 2630 is decrypted in the decryptor 2608. At the time of this decryption, the pre-stored user key information 2650 is used. The decrypted micro-service file 2620 obtained here is stored inside a single chip 2600. And the control unit 2680 existing inside this single chip 2600 uses the information of the decrypted micro-service file 2620 to control the corresponding device 8.

[0187] Inside this single chip 2600, information on the currently encrypted count value 2616 is stored 2628. The currently encrypted count value 2616 at this time is also decrypted in the decryptor 2608 using the same user key information 2650. The count value 2618 at the current time decrypted here is incremented (processed to increase the count value) as necessary. When stipulating the use of the microservice 80 with a predetermined usage limit, the count value increases by "1" each time the microservice file 2620 is used. On the other hand, when stipulating the use of the microservice 80 with a predetermined period limit, the count value 2618 is changed according to the elapsed time of a timer (not shown) provided inside the single chip 2600. This count value control method is not limited to the above, and may be controlled by a combination of the number of uses and the usage period.

[0188] When a predetermined count value is reached, both the control unit 2680 and the decryptor 2608 are controlled 2622 from the current count value control unit 2618, and the decryption process and the process of the control unit 2680 using the microservice file 2620 are stopped. As a result, the control of the device 8 based on the microservice 80 in the edge computer 6 becomes impossible.

[0189] On the other hand, the count value (2618) calculated by the current count value control unit 2618 is encrypted via the encryptor 2602. The currently encrypted count value 2616 obtained here is appropriately stored 2628 and transmitted 18 to the cloud server 2 side.

[0190] On the cloud server 2 side, the received currently encrypted count value 2616 is decrypted using the decryptor 2608, and the decrypted currently count value 2618 is notified 2672 to the control unit 2670. Then, the control unit 2670 inside the cloud server 2 sequentially monitors whether it is just before reaching a predetermined count value.

[0191] When a valid contract between the user and Place 1 continues (for example, when the user continues to pay the system usage fee or continues to be a member of Place 1), encrypted data 2614 with a count of “0” is sent 18 to the edge computer 6, and the currently encrypted count value 2616 inside the edge computer 6 is reset.

[0192] Here, the encrypted data 2614 with a count of “0” is generated by encrypting the data 2612 with a count of “0” in the encryptor 2602 using the user key information 2650.

[0193] In the above description up to Chapter 2, mainly the microservices 80 and the microservice file 2602 were described. However, the above embodiment is applicable not only to these but also to any control means 4 (see Fig. 8). Fig. 20 shows the procedure until the system desired by the user 1700 is operated around the user 1700 when the user 1700 purchases the system from Place 1.

[0194] In the ifLink rule manager managed by Place 1 (refer to the definition of the term [ifLink rule manager]), a list of application (IF-THEN) rules 70 formulated / developed within Place 1 is posted. Then, by searching within this ifLink rule manager, it is possible to search for the system that the user 1700 newly wants to purchase or the extended system for the existing system.

[0195] Then, using the web page managed by Place 1 (which may be part of the ifLink rule manager), the user 1700 applies (S02) to Place 1 for the purchase or extension of the system. Also, in this embodiment, payment based on the down payment process (S03) may be made.

[0196] Then, according to the application content, as shown in S04, the necessary device 8 reaches the user 1700's hand using the mail-order sales route. In addition, the device 8 is attached with a rule file, a URL indicating the distribution source of the microservice file 2602, and password information required when opening it.

[0197] As shown in S05, by accessing the specified URL in Place 1 with the notified password, the installation of the compressed folder (Zip (Zone Improvement Plan) folder) can be performed. As described in Chapter 2, the content of the microservice 80 stores the control classes corresponding to each folder of the individual control packages. Separately from that, a rule file showing the content of the application (IF-THEN) rule and an execution file for installation in the edge computer 6 are required. In the compressed folder, these file hierarchies are kept as they are. (Note that this example of the file hierarchy will be described later using Fig. 21(a).) Also, the rule file and each individual control package are encrypted. And the user key 2650 necessary for this encryption may also be stored at the specified URL in this Place 1.

[0198] After answering the compressed folder and moving it into the user's own edge computer 6, the user 1700 opens the above execution file (S06). And by the user 1700 performing a series of processes in response to the request of this execution file, the initial setting for each microservice 80 is performed.

[0199] When this initial setting is completed, as shown in S08, the execution file automatically checks the system operation. If the correct operation cannot be confirmed here (S09), the process returns to the process of S07.

[0200] Using FIG. 21, a visualization example of the application (IF-THEN) rule 70 will be described. When a certain number of months and days have passed since the user purchased the system, the user may forget the content of the application (IF-THEN) rule 70 that they desired at the time of purchase. Therefore, if the application (IF-THEN) rule 70 can be visualized for the user, the user's sense of security and convenience will be improved.

[0201] In this embodiment, as an explicit method of the application (IF-THEN) rule 70 for the user, it can be displayed in various ways according to the user's request, such as 1) displaying using a Web page (HTML description) and 2) displaying using the widget function in the smartphone. As an example of this display method, a method of displaying the application (IF-THEN) rule 70 to the user using a Web page (HTML description) is shown in FIG. 21(b).

[0202] Similar to FIG. 7, in FIG. 21(b) as well, if the device 8 operated in relation to the application (IF-THEN) rule 70 is represented using an icon or some kind of image, it will be easier for the user to view. As the device 8 corresponding to the condition (IF) 72 within the application (IF-THEN) rule 70, the sensor device 802 is used, and correspondingly, in the example of FIG. 21(b), the sensor icon 2732 is displayed. Also, as the device 8 corresponding to the execution (THEN) 78 within the application (IF-THEN) rule 70, a robot is used, and correspondingly, the robot icon 2752 is displayed.

[0203] And the relationship between the sensor drive 802 corresponding to the condition (IF) 72 indicated by the application (IF-THEN) rule 70 and the robot corresponding to the execution (THEN) 78 is represented by the arrow icon 2742.

[0204] Also, in the display example shown in FIG. 21, the storage destination information for each encrypted microservice file 2630 within the edge computer 6 is presented in a structure that allows it to be understood. By linking the visualization of the application (IF-THEN) rule 70 with the storage destination information for each corresponding encrypted microservice file 2630 in this manner, the processing efficiency of the application (IF-THEN) engine 90 is significantly improved.

[0205] As already explained with reference to FIG. 12, within the basic control package BaseIMS2000 (i.e., within the corresponding folder), there are arranged the device control template class file BaseDevice.class2002, the stream control engine class file StmEngine.class2004, the response time monitoring class file TimeoutCheckTask.class2006, the microservice internal control template class file BaseIms.class2010, and the anomaly detection class file HealthCheckTask.class2016. This file hierarchy structure corresponds to the class file arrangement within the basic control folder BaseIMS2000 in FIG. 21(a).

[0206] On the other hand, the individual device control package 2100 corresponding to the sensor device 802 corresponds to the CustomIMS_A folder 2710. And within it, the individual device corresponding microservice internal control class file Customims.class2728 and the individual device control class file CustomDevice.class2722 are stored.

[0207] Furthermore, the individual device control package 2100 corresponding to the robot device corresponds to the CustomIMS_B folder 2720. And within it, the individual device corresponding microservice internal control class file Customims.class2728 and the individual device control class file CustomDevice.class2722 are stored.

[0208] Then, the Rule.xml file 2760 that defines the application (IF-THEN) rule 70 is placed in the common folder.

[0209] An example of the HTML description for displaying the Web page 2700 in Fig. 21(b) is shown in Fig. 21(c). The description related to this Web page 2700 is described within the portion sandwiched between the body elements 2702 and 2708.

[0210] Here The sentence 2812 described as The sentence 2822 described as The sentence 2832 described as respectively define the storage locations of the icon (image) 2732 indicating the sensor device, the arrow icon (image) 2742, and the icon (image) 2752 indicating the robot device. Similarly Sensor The sentence 2818 described as Robot The sentence 2838 described as respectively indicate the character descriptions of "Sensor" 2738 and "Robot" 2758 on the Web page.

[0211] By the way When the sentence 2822 described as is sandwiched by the anchor element and 2820 The storage destination within the edge computer 6 of the Rule.xml file 2760 corresponding to the arrow icon (image) 2742 is linked. In the example shown in Fig. 21(c), the anchor element adds a "query parameter indicating the source location" within 2820. That is, the anchor element The description in "Rule.xml" within 2820 indicates the storage location of the application (IF-THEN) rule file in the edge computer 6. And the description of?host-params = "https: / / --.xml" indicates the URL of the distribution source.

[0212] There is a risk of accidentally deleting the application (IF-THEN) rule file in the edge computer 6 due to user operation errors. By having the URL of the distribution source in this way, the re-distribution convenience regarding the application (IF-THEN) rule file is improved.

[0213] In the embodiment shown in FIG. 21(c), both the icon (image) indicating the device and the text indicating the device name are link elements (Anchor Element) 2810, 2830, and adopts a structure sandwiched by. By doing so, by specifying only one of the icon (image) and the text, the storage destination of the corresponding microservice 80 is linked, improving the convenience for the user.

[0214] The anchor element indicating the storage destination of the encrypted microservice file 2630 2810 and 2830 also adopt the same description method as the application (IF-THEN) rule file. That is, "CustomIMS_A / Customims.class” and "CustomIMS_B / Customims.class” are linked to the storage location of the encrypted microservice file 2630 in the edge computer 6. Also, "?host-params="https: / / - -.class”” indicates the URL of the source (cloud server 2). By adding such a "query parameter indicating the source location", the redistributability of the encrypted microservice file 2630 is improved.

[0215] As shown in Fig. 21, when the application (IF-THEN) rule 70 is displayed using a web page (HTML language) and at the same time linked to the storage location of the corresponding encrypted microservice file 2630, the visualization convenience of the user's application (IF-THEN) rule 70 and the access convenience to the corresponding microservice 80 in the ifLink app 92 are greatly improved.

[0216] Furthermore, when the user expands the system, the structure within the integrated rule 7000 (see Fig. 8) becomes complex. In contrast, if the integrated rule 7000 is described using a web page (HTML language) 2700, there is an effect that even complex combinations can be described relatively easily.

[0217] Fig. 21 shows the web page 2700 after the encrypted microservice file 2630 is distributed. However, it is not limited to this, and a web page (HTML language) 2700 may also be used for file distribution on the cloud server 2 side. The link element (Anchor Element) in this case 2810, 2830, andThe storage source URLs of various files described therein will be the corresponding file storage destinations within the cloud server 2. And this link element (Anchor Element) 2810, 2830, and By simply clicking on the icon (image) and the description text sandwiched therein, the corresponding file can be easily downloaded. By using the web screen (HTML language) 2700 in this way, the convenience of file distribution from the cloud server 2 to the edge computer 6 is significantly improved. Chapter 3: In-Place Activity Content In the field of traditional manufacturing 1200, in many cases, the method of commercializing new products involved carrying out all processes from elemental technology development to product development and sales within a single company or related group companies. Therefore, even if an excellent product concept was proposed, there were many regrettable situations where productization was abandoned due to budget shortages in the business unit responsible for productization.

[0218] Many companies / groups across industries participate in Place 1, forming a place for co-creation / co-operation / co-commercialization. And if the "evaluation results of simple prototypes" receive favorable reviews at the open presentation 1918 (see Figure 6), the opportunity to obtain financial assistance for productization increases. Furthermore, there is also a possibility of receiving offers for "market development" regarding the product from unexpected industries.

[0219] The advantages and disadvantages of the activities in Place 1 that provide a place for co-creation / co-operation / co-commercialization compared to the conventional method where all processes up to productization were borne within a single company or related group companies are summarized in a list in Figure 22.

[0220] Consider the advantages from the perspective of "a place where diverse technologies are organically combined". Diverse service-providing technical assets and know-how assets accumulated in each industry can be effectively utilized in other industries, and a synergistic effect can be exerted. Also, regarding application software (including microservices 80) developed in an object-oriented programming language, the effective utilization of development resources and development deliverables can be achieved. Furthermore, as described above, with many businessization support members participating in Place 1, many businessization opportunities are available.

[0221] On the one hand, since members can freely join or leave Place 1 at any time, there is a drawback that the technological inheritance is likely to decline when participating members leave. Also, because it is an arbitrary gathering, there is a drawback that it is easy for the assignment of the main person in charge and the responsibility regarding it to become ambiguous during the maintenance of the system already provided to users or during system expansion.

[0222] Also, consider from the perspective of "places where the principle of competition works". Based on the competition and mutual improvement based on the principle of competition, there is an advantage that it is easy to provide an environment where the technical ability is likely to improve. On the other hand, there is also a drawback that technologies that lose in short-term competition are likely to be buried, and it is difficult to cultivate long-term technologies.

[0223] Next, consider from the perspective of "the exercise of the spontaneous will of participating members". There is an advantage that members with a high level of spontaneous motivation are likely to gather at Place 1. Also, on the other hand, there is a drawback that it is difficult to make a fair evaluation and it is difficult to distribute rewards fairly (as a result, it is easy to break the high motivation of members).

[0224] In view of the above analysis results, "technical ingenuity to expand advantages and reduce disadvantages" is desired. And as a method for realizing it, A) Technologies that enable long-term effective utilization of various technical assets B) Standardization technologies for APIs (commands) to microservices 80 C) It is desirable to provide (A) to (C) of the authentication work for module 9 to Place 1.

[0225] Regarding the above (C), when the authentication work of module 9 is performed within Place 1, the reliability of performance demonstration for each module 9 can be guaranteed. Therefore, even if the person in charge for a specific user is not fixed (that is, even if the person in charge of system maintenance or system expansion changes), a stable system (or expanded system) can be provided to the user. When standardizing the API (commands) to microservice 80 in relation to the above (B), the compatibility and expandability of the system delivered to the user are improved. Therefore, even if a specific member withdraws from Place 1, the decline in technology inheritance can be suppressed. As a specific method of this technology standardization, by providing the 'highly versatile template class' described in (Figure 12) of Chapter 2, the standardization of the API (commands) to microservice 80 can be achieved to a certain extent without restricting the freedom of participating members.

[0226] Next, regarding the above (A), what is important is that there is a point where it is not known in advance 'what are the effective technical assets (technical know-how) that can be diverted?'. In the heated discussions among members from different industries, the speech content of the members includes the 'techniques and know-how accumulated for each industry'. Therefore, in this embodiment, a technology that 'can extract the necessary techniques and know-how from the past meeting records within Place 1' is provided.

[0227] In FIG. 23, a specific example is shown. A microphone for voice input is permanently installed at the meeting place (coordination place) held within Place 1, and the speech content during the meeting (coordination) is sequentially voice-input (S51). Also, by registering the names and voiceprints of the participating members immediately before or after the meeting (coordination), it becomes possible to identify the speaker for each input voice.

[0228] Then, in the next step 52, while using the above voiceprint analysis result, a dictation (automatic writing process) of the speech content is performed. In the meeting minutes 3004 of the entire meeting obtained as a result (S53), the speech content for each speaker 3032 to 3036 is described in text form.

[0229] On the one hand, using the articles published in newspapers / magazines and the documents 3006-1 to 3006-3 posted on SNS (Social Network Service), the distance 3028 between word A_3010 and word B_3012 is extracted. Specifically, based on the frequency 3016 of word A_3010 and word B_3012 being simultaneously described in the same document 3006-1 to 3006-3, and the distance 3016 between the two words when they are simultaneously described in the same document 3006-1 to 3006-3, the calculation of the distance 3028 is performed. As a result, a database 3008 of word distances is created.

[0230] This database 3008 of word distances is a list of the word distances 3028 between word B_3012 and word C_3018 corresponding to related words 3022 when the specified word A3010 is the target word 3020.

[0231] Next, the method for extracting the technologies and know-how to be collected from the past meeting minutes 3004 will be explained. This method is similar to a Web screen search on the Internet. First, open the search Web screen specified by Place 1 and enter the keyword (or a combination of multiple keywords) 3002 related to the technology and know-how to be extracted.

[0232] Then, relevant meeting minutes extraction candidates 3000 similar to the candidate display shown during a Web screen search on the Internet are displayed. In this case, headings a3042 to c3046 are displayed in the upper section. And directly below that, the relevant description sections a3052 to c3056 within the meeting minutes extraction are displayed. The user refers to the relevant description sections a3052 to c3056 within the meeting minutes extraction and specifies the corresponding headings 3042 to 3046. Thereby, it becomes possible to view past meeting minutes. By the user viewing this meeting minutes, the service-providing technologies and know-how disclosed during the meetings (negotiations) within Place 1 can be absorbed. Using FIG. 24, the "co-creation activity" carried out by Place 1 will be described. When users 1700A to D purchase the system from Place 1, users 1700A to D pay an initial purchase fee and a regular usage fee to the place. This billing amount 3062 is once collected at the cashier 3060 within Place 1.

[0233] As other activities, the micro-service assets 3070 accumulated within Place 1 may be lent 3072 to another group α_3200A. Then, a usage fee 3076 is paid from the other group α_3200A to the cashier 3060 within Place 1.

[0234] Furthermore, the operation technology within Place 1 may be licensed 3074 to another group β_3200B. Then, a license fee 3078 is paid from the other group β_3200B to the cashier 3060.

[0235] And the total revenue mentioned above is distributed to each module 3100 according to the contribution degree within Place 1 (according to a specific distribution rule, the cashier 3060 is distributed to each module 3100).

[0236] As already described in FIG. 22, fair evaluation and fair reward distribution to the members within Place 1 are important for the "continuance of the spontaneous will" of the participating members. Especially when an object-oriented programming language is used as the control means 4 (micro-service 80), the diversion of assets (developed programs) between different modules 3100 (function inheritance (extends) 74 and call / incorporation 76 described in FIG. 12) is actively carried out. Thereby, the efficiency of the utilization of development resources within Place 1 can be improved. This method is used for the "evaluation of contribution degree for each module 3100".

[0237] As shown in FIG. 25, for example, source code written in the Java language declares the program name (class name) of the program to which the incorporation 76 is to be performed in the statement “import - - -”. Also, the statement “Public class Customims extends BaseIms { - -}” describes the meaning that “the Customims class performs function inheritance (extends) from the BaseIms class”. Therefore, by decoding this statement, it is possible to find out “which module 3100's program (microservice 80) this program (microservice 80) is leveraging the assets of?”.

[0238] By analyzing the description related to “import” and “extends” in the source code written in the Java language in this way, it is possible to find out the contribution degree of the module 3100 that is the source of the incorporation 76 or the function inheritance (extends) 74.

[0239] The charging amount of the control means 4 (microservice 80) distributed to the user can be calculated from the usage frequency and the number of distributions. Based on this, it is possible to calculate the contribution degree for each module 3100. Furthermore, by determining the function inheritance coefficient and the incorporation coefficient in advance, it becomes possible to calculate the contribution degree of the module 3100 that is the source of the incorporation 76 or the function inheritance (extends) 74.

[0240] By calculating the contribution degree of members using the information on the incorporation relationship 76 and the function inheritance (extends) relationship 74 described in the object - oriented programming language in this way, it becomes possible to achieve fair evaluation among members and fair reward distribution. Based on this, it becomes possible to “maintain high motivation” of the members. Chapter 4 XML - based Application (IF - THEN) Rule Description Method The description of the application (IF-THEN) rule 70 needs to define the combination between two types of modules 9, namely the module 9 corresponding to the condition (IF) 72 and the module 9 corresponding to the execution (THEN) 78. If this condition is satisfied, any description method / description language can be used. Therefore, it can be described in any programming language such as the Java language, or HTML (Web screen display) as shown in Fig. 21 can be used.

[0241] As an example of the description of the application (IF-THEN) rule 70, a description method using XML (Extensible Markup Language) is shown in Fig. 26(a). In Fig. 26, for simplicity of explanation, an example is shown in which the device 8 corresponding to the condition (IF) 72 and the device 8 corresponding to the execution (THEN) 78 are integrated and used.

[0242] In Fig. 26(a), a wireless communication function is built-in, enabling wireless communication with an external device. As the sensor device 802 corresponding to the condition (IF) 72, an illuminance sensor is taken as an example. Also, as the device 8 corresponding to the execution (THEN) 78, an LED (Light Emitting Diode) is taken as an example.

[0243] In this case, the condition (IF) 72 is set to 'it gets dark'. And the execution (THEN) 78 is specified as 'the LED lights up'.

[0244] An example of writing down the application (IF-THEN) rule 70 in this case in XML format is shown in Fig. 26(c). And the content of the corresponding device 8 is <device>It is defined by an element (device Element).

[0245] And the content of the condition (IF) 72 is <if>Element (if Element). Similarly, the content of EXECUTE (THEN) 78 is <then>It is described within the element (then Element). Also, each function corresponding to each of them is <condition>It is defined within the element (condition Element). Furthermore, analog information such as illuminance and luminous flux is <property>It is defined by the attribute information within the element (property Element).

[0246] In FIG. 26(c), an example in the case of being written in Japanese is shown. However, it is not limited to this, <language>By using the [language Element], it is possible to describe in any language.

[0247] Figure 27A shows the hierarchical structure when each of the above-described elements is described in XML format. At the top level (hierarchy 1_4110), an ifLink element (ifLink Element) 4115 is described. In the next hierarchy level 2_4120, a language element (language Element) 4125 is described. And in the next hierarchy level 3_4130, a device element (device Element) 4135 is described. Also in hierarchy level 4_4140, an if element (if Element) 4142 and a then element (then Element) 4148 are described. And a condition element (condition Element) 4155 is placed in hierarchy level 5_4150. And at the lowest hierarchy level 6_4160, a property element (property Element) 4165 can be placed.

[0248] From Figure 27B to Figure 27D, the name 4202 of each element, its description 4204, the attributes 4206 that can be set for each element, and the description 4208 of each element are described.

[0249] The ifLink element (ifLink Element) 4115 placed in hierarchy level 1_4110 represents the ifLink format and is used for the declaration to identify the format. And the language element (language Element) 4125 placed in the next hierarchy level 2_4120 can be used to define the description language (display language) of the XML description. Here, in the case of Japanese description, <language name="”jp”">described as, and in the case of English description, <language name="”en”">It is described as follows.

[0250] Within the device element (device Element) 4135 described in hierarchy 3_4130, by setting the attribute information 4206 in detail, the content of the corresponding device 8 is clarified.

[0251] That is, regarding the attributes 4206 of the device 8, the device / service name is defined by the name attribute 4302. Similarly, the icon of the device / service is defined by the icon attribute 4304. Using this icon information, the icon display in Fig. 21(b) and the icon display within the ifLink rule manager (see the definition of terms) can be performed. Also, as the database for the devices 8 and microservices 80 handled within the ifLink rule manager, a "key-value" form database is used. The parameter key and the value of the parameter used for this database are specified by the key attribute 4306 and the value attribute 4308. Also, the category of the device / service used when searching for a specific device 8 within this database or within the ifLink rule manager is specified by the category attribute 4310.

[0252] Within the if element (if Element) 4142 and the then element (then Element) 4148 described in hierarchy 4_4140, the list of IFs and the list of THENs are described.

[0253] The condition element 4155 described in hierarchy 5_4150 can be described multiple times at the same hierarchy. Each represents an IF or THEN condition, and attributes (and their uses) similar to those of the device element 4135 are defined. In particular, for the attribute 4206 within the condition element 4155, the interface form is defined using the interface attribute 4312. Also, for the property element 4165 described in the lowest hierarchy 6_4160, the interface parameters are set.

[0254] Figure 28 shows an XML description example of the application (IF-THEN) rule 70 in which the above element definitions are described for reference. Figure 29 shows an example in which the emotional expression of voice shown can be diversely expressed using the property element 4165 in Figure 28.

[0255] Although 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.

Explanation of Reference Numerals

[0256] 1 ··· Place, 2 ··· Cloud Server, 6 ··· Edge Computer, 8 ··· Device, 9 ··· Module, 70 ··· Application (IF-THEN) Rule, 90 ··· Application (IF-THEN) Engine, 92 ··· ifLink Application.< / language> < / language> < / language> < / property> < / condition> < / then> < / if> < / device>

Claims

1. A module control method in which a server can be connected to a plurality of computers via a communication means, comprising: The plurality of computers include receiving from the server and storing a plurality of application rules, each of which is set to be operable by an application engine; the plurality of application rules are defined as rules that are set such that, when an operation of a first module specified in each rule is detected, the detection is transmitted to a second module specified in each rule, and the second module is operated; The application engine includes: Even if the same operation data is input from the first module of the first application rule, it is possible to set a same event ignoring time that can suppress the operation of the first application rule for a specified time; and being able to shift the execution timing of an operation of a specific second module.

2. 2. The module control method according to claim 1, wherein said computer is capable of being set to notify an input from said first module to another computer.

3. Using the module control method of claim 1 or 2, Microservices control applications.

4. Using the module control method of claim 1 or 2, Microservices control applications.

5. Using the module control method of claim 1 or 2, Edge computer.

Citation Information

Patent Citations

  • Fault detection system and fault detection program

    JP2008198123A

  • milestone manager

    JP2009510620A

  • Rule distribution device, event processing device, event processing method, and event processing program

    WO2013190770A1

  • Controller and program

    JP2019117587A