Module control methods, microservice control applications, microservice control systems, edge computing
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- KK TOSHIBA
- Filing Date
- 2025-03-03
- Publication Date
- 2026-07-30
Smart Images

Figure 0007897682000001 
Figure 0007897682000002 
Figure 0007897682000003
Abstract
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 cooperative work support method.
Background Art
[0002] In the IoT (Internet of Thing) technology that coordinates 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 of the communication protocol, the following technology has 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 cooperative work support method.
Means for Solving the Problems
[0005] According to one 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 aforementioned multiple application rules are defined as rules that, when they detect the operation of a first module specified in each rule, communicate that detection to a second module specified in each rule, causing the second module to operate. The aforementioned application engine is Even if similar operational data is input from the first module of the first application rule, it is possible to set an identical event ignore time that can suppress the operation of the first application rule for a specified period of time. The aforementioned event ignore time can be set individually for each application rule. That thing, The timing of the execution of a specific second module's operation is as follows: Based on the delay time defined in the aforementioned application rule A modular control method is provided that allows for shifting. [Brief explanation of the drawing]
[0006] [Figure 1] Figure 1 is an explanatory diagram illustrating the basic concept of this embodiment. [Figure 2] Figure 2 is an explanatory diagram showing the program configuration used in Android-based smartphones. [Figure 3] Figure 3 is an explanatory diagram showing the relationship between the inside of an edge computer and a cloud server. [Figure 4] Figure 4 is a table showing a list of functions of the application (IF-THEN) engine. [Figure 5] Figure 5 is an explanatory diagram illustrating the basic concept of the Place (service provision platform) in this embodiment. [Figure 6] Figure 6 is an explanatory diagram showing specific examples of co-creation and collaborative activities conducted within Place 1. [Figure 7] Figure 7 is an explanatory diagram showing an example of a service delivery model in the multi-service world proposed in this embodiment. [Figure 8] Figure 8 is an explanatory diagram that expresses the basic concept shown in Figure 1 in a different form. [Figure 9] Figure 9 is an explanatory diagram illustrating the effects of adopting the basic concept of this embodiment. [Figure 10A] Figure 10A is an explanatory diagram regarding problems when adopting conventional IoT standards. [Figure 10B] Figure 10B is an explanatory diagram showing the effects when using the concept of microservices. [Figure 11] Figure 11 is an explanatory diagram explaining the effects when microservices are described in an OS-independent programming language. [Figure 12] Figure 12 is an explanatory diagram showing the class composition within microservices. [Figure 13] Figure 13 is an explanatory diagram regarding the functions of microservices set within the package for individual device control. [Figure 14] Figure 14 is an explanatory diagram showing a list of APIs provided by the control template class (BaseIms Class) within microservices. [Figure 15] Figure 15 is an explanatory diagram showing a list of APIs provided by the device control template class (BaseDevice Class). [Figure 16] Figure 16 is a state transition diagram of a device. [Figure 17] Figure 17 is an explanatory diagram showing the relationship between the device state and the state of microservices. [Figure 18] Figure 18 is an explanatory diagram showing the module authentication procedure performed within a place. [Figure 19] Figure 19 is an explanatory diagram of the encryption / decryption method of microservices. [Figure 20] Figure 20 is an explanatory diagram showing the distribution method of microservice files and rule files. [Figure 21] [[ID=FIG. 24 is an explanatory diagram showing an example of co - business activities within a place. [Figure 25] FIG. 25 is an explanatory diagram for explaining an example of a contribution degree evaluation method for each module within a place. [Figure 26] FIG. 26 is an explanatory diagram showing an example of an application (IF - THEN) rule description using XML. [Figure 27A] FIG. 27A is an explanatory diagram regarding the description hierarchical structure for each element. [Figure 27B] FIG. 27B is an explanatory diagram of elements corresponding to layers 1 to 3. [Figure 27C] FIG. 27C is an explanatory diagram of elements corresponding to layers 4 to 5. [Figure 27D] FIG. 27D is an explanatory diagram of elements corresponding to layer 6. [Figure 28] FIG. 28 is an explanatory diagram showing an example of an application (IF - THEN) rule description. [Figure 29] FIG. 29 is an explanatory diagram regarding a method of expression with high - quality and emotionally rich sound.
BEST MODE FOR CARRYING OUT THE INVENTION
[0007] Chapter 1 Basic Concepts of the Present Embodiment The concept of the present embodiment will be explained using 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. Also, 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 users. 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 edge computer 6 has an application (IF-THEN) engine 90 inside, which performs processing (controls various devices 8) according to pre-recorded (pre-installed from the cloud server 2) application (IF-THEN) rules 70 to provide services to the user.
[0009] As shown in Figure 1, microservices 80A to 80F that individually control various devices 8 such as sensors 802, beacons 804, home appliances 806, mobile terminals 808 such as smartphones and tablets, HMDs (head-mounted displays) 810, and IoT devices 820 are pre-installed in the edge computer 6 (pre-installed from the cloud server 2). The application (IF-THEN) engine 90 then operates these microservices 80A to 80F to control the coordination between the various devices 8. At this time, the application (IF-THEN) engine 90 issues API (application program interface) commands to the microservices 80A to 80F that it wants to operate.
[0010] Furthermore, in this embodiment, the system may also have (pre-installed on the edge computer 6) an IoT server microservice 80G that controls in cooperation with the IoT service server 220, a GPS microservice 80H that acquires GPS location information obtained from GPS satellites 230, and a Web microservice 80I that accesses the Web service server 210 to obtain Web services. Of course, GPS may also include RTK-GNSS, which has high measurement accuracy.
[0011] As a concrete example of control for this Web microservice 80I, it may perform actions such as automatically writing necessary information into the frame of a form element specified in HTML (Hyper Text Mark-Up Language), or controlling transitions between web pages. By placing the Web microservice 80I domain 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 GPS microservice 80H shown in Figure 1, any microservice 80 that can individually access any service available in the cyber space (not shown in the figure) may be placed on the same level as the Web microservice 80I. Examples of services in the cyber space (not shown in Figure 1) may include automated trading of securities (stocks of specific companies), ordering of specific products and automatic transfer of payment for received products (billing process), and user services such as purchasing movie or music tickets or making reservations for specific trips.
[0012] By enabling the placement (pre-installation) of microservices 80, which allow individual access to each service in cyberspace, within the software architecture of the edge computer 6, users can enjoy collaborative services that connect different services in cyberspace.
[0013] Previously, the coordination between services utilizing various devices 8 in the physical space and services in the cyber space described above was relatively weak. As shown in Figure 1, by making it possible to place the microservices 80A to 80F that control the various devices 8 on the same level as the Web microservice 80I, users can enjoy advanced coordinated services that seamlessly and without any sense of incongruity, spanning services in the physical space or in the physical world that utilize the various devices 8 and services in the cyber space described above.
[0014] When technology emerged that allowed for the digital handling of video and audio, which were previously treated as analog data, the term "multimedia" became popular, signifying the ability to integrate and handle all media digitally. Today, this digital world is commonplace.
[0015] In this embodiment, by newly defining dedicated control software (microservices 80) for each of the various devices 8 responsible for detecting and manipulating objects and / or instances and their states in real space, it becomes possible to construct a "multi-service" world that enables the provision of more advanced services by combining (mixing) services that can be provided in real space / physical space with services that can be provided in cyber space. The "method of combining various services" to provide advanced services to the user is then defined within the application (IF-THEN) rule 70.
[0016] With respect to the application (IF-THEN) rules 70 and various devices 8 used by individual edge computers 6, the cloud server 2 has a rule setting / distribution unit 202 and a device management unit 206 as software functions. However, the cloud server 2 may also have the function of a microservice registration unit (or module) 204 (the definition of the term [module] will be described later).
[0017] When the edge computer 6 provides services to the user in accordance with the application (IF-THEN) rule 70, various data obtained are managed / stored 208 within the cloud server 2 and saved appropriately in the data / information storage device 200.
[0018] Figure 2 shows an example of a program configuration used in an Android®-based smartphone. The ifLink® widget 1100 displays the status of ifLink.
[0019] Microservices 80A-80F, written in Java®, are located in a sub-area of the ifLink application 1000. The application (IF-THEN) engine 90 operates as part of this ifLink application 1000. In addition, application (IF-THEN) rules 70 are also used within this ifLink application 1000. In other words, this ifLink application 1000 manages the microservices 80A-80F and application (IF-THEN) rules 70 that are connected to ifLink.
[0020] Using Figure 3, the relationship between the internal workings of the edge computer 6 shown in Figure 1 and the cloud server 2 will be explained in detail. The edge computer 6 has the service provision application program ifLink app 92 pre-installed. The software architecture of this ifLink app 92 consists of an application (IF-THEN) engine unit 90, a settings / management screen configuration unit 98, a data transmission unit 96, and a rule reception unit 94. The edge computer 6 also has a memory area where application (IF-THEN) rules 70 are stored. The application (IF-THEN) engine unit 90 then operates the corresponding microservices 80 according to the application (IF-THEN) rules 70.
[0021] Here, the ifLink app 92 is described as a "software program," but it is not limited to that; the ifLink app 92 may also be configured as "hardware." In this case, the memory area for storing the application (IF-THEN) rules 70, the application (IF-THEN) engine unit 90, the settings / management screen configuration unit 98, the data transmission unit 96, and the rule receiving unit 94 may each be configured as physically separate circuits.
[0022] As shown in Figure 3, the cloud server 2 consists of a microservice registration unit 204, a rule setting and distribution unit 202, a data collection service unit (DDS: Data Destination Service) 216, an endpoint management unit (EPM: End Point Manager) 214, a Web-API control unit 218, and a data / information storage device 200.
[0023] The rule setting and distribution unit 202 then manages the setting of application (IF-THEN) rules 70 according to user requirements and the distribution of application (IF-THEN) rules 70 to users.
[0024] Data collected within the ifLink app 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. The data, then organized within the data collection service unit (DDS) 216, is sequentially stored in the data / information storage device 200.
[0025] Furthermore, application (IF-THEN) rules configured according to user requests are also stored in the data / information storage device 200. Then, at the required time, the application (IF-THEN) rules 70 are read from the data / information storage device 200 and distributed from the endpoint management unit (EPM) 214 via the communication path 18 to the rule receiving unit 94 in the ifLink application. The application (IF-THEN) rules 70 received by the rule receiving unit 94 are then stored in the storage area of the edge computer 6 (not shown in the diagram). Microservices 80 that have been certified and registered by a designated organization are also installed in the edge computer 6 via the endpoint 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 processed by various application services 1800 via Web APIs. The specific services within these application services 1800 include: visualization of data collected from the ifLink app 1802; management of data collected from the ifLink app 1804; status monitoring and anomaly response regarding the status of the edge computer 6 and various modules 9 using data collected from the ifLink app 1806 (module 9 will be explained later); analysis of data collected from the ifLink app 1808; optimization of services for users using the ifLink app 1810 and optimization of module 9 setting conditions 1810; and information services 1812 using the information obtained as a result of the data analysis 1808.
[0027] Figure 4 shows the functions implemented in the application (IF-THEN) engine 90 shown in Figures 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, same event ignore time setting function 916, IF-THEN function spanning other edge computers 6 918, rule enable / disable function 920, execution time control function 922, and intermediate data holding object function 924.
[0028] In activation 902, when the application (IF-THEN) engine 90 is launched from the ifLink app 92, it establishes a connection with the ifLink app 92.
[0029] In the rule management control 904, when the application (IF-THEN) engine 90 is started, the application (IF-THEN) rule 70 that has been held in advance is read and the internal state is constructed. In other words, for example, it becomes a waiting state for detection output from an actual sensor or a command (a ready state with several options).
[0030] In the rule execution control 906, based on the sensor data information notified from the ifLink application 92, an application (IF-THEN) rule 70 that matches the conditions based on the internal state is extracted. In other words, a rule is selected according to the content of the detection output (command content).
[0031] The sensor data control 910 receives device information 68 (described later in Figure 10B) from the ifLink application 92 and initiates execution control corresponding to the application (IF-THEN) rule 70.
[0032] The JOB control unit 912 notifies the ifLink application 92 of the necessary JOB information.
[0033] The log output function 914 outputs logs (e.g., service history) according to the log level (the importance or detail of the log content).
[0034] The same event ignore time setting function 916 means that even if similar sensor data is input, the occurrence will be suppressed for a specified period of time.
[0035] The IF-THEN function 918, which spans multiple edge computers 6, notifies another specific edge computer 6 of the JOB and has it executed there.
[0036] The rule enable / disable function 920 refers to the function that switches the ON / OFF state of the rule specified in the application (IF-THEN) rule 70 and the execution (THEN) 78 (described later using Figure 8).
[0037] The execution time control function 922 refers to a function that allows a specific execution (THEN) 78 timing to be shifted, so that the subsequent execution (THEN) 78 can be performed after a certain period of time.
[0038] The intermediate data retention object function 924 refers to a function that retains intermediate data generated during processing in a memory device and allows it to be input to another rule's condition (IF) 72 (described later using Figure 8). In the world of "multi-services" technically proposed in this embodiment, advanced services are provided in which real-world or physical-world services utilizing various devices 8 and other various services work together (crossing the boundaries between them). In this embodiment, "Place 1 or ifLink Place" shown in Figure 5 is set up (provided) as a "field" (i.e., a "service provision place" or service provision platform) for creating (planning), experimenting (trial), developing and systematizing the service provision method, maintaining and expanding systems already used by users, promotion, sales, sales (mail order), and billing.
[0039] In Figure 5, regarding various devices 8 that serve as means of providing services in real space or physical space, physical technology 1250 is accumulated within the manufacturing industry 1200. On the other hand, the service industry 1400 ensures high hospitality quality. By connecting 1800 across industries within the place (cross-industry collaboration beyond boundaries), high-quality services can be provided to users 1700. In this way, members from different industries gather within the place and exert synergistic effects, which revitalizes the activities of the place and makes it possible to stimulate user innovation.
[0040] Within Place 1, as explained in Figure 5, new service models that will delight users (combinations of multiple modules 9) are co-created (Group Creation) through discussions among multiple members from different industries. Furthermore, collaborative work (Group Working) and collaborative commerce (Group Marketing and / or Group Commerce) are carried out regarding the planning and development (prototyping and systemization), promotion, and sales / billing of the new modules 9 necessary for this.
[0041] Therefore, all activities, from the planning / invention of microservices 80 (or parts of the various control means 4 and modules 9 described later in Figure 8) or application rules 70 to sales / billing, are related to Place 1. Furthermore, in order to ensure the quality of user services, authentication 85 of the various control means (microservices) 4 or application rules 70 may be performed within Place 1.
[0042] Figure 6 shows specific examples of co-creation and collaborative activities conducted within Place 1. The co-creation and collaborative activities within Place 1, item 1902, consist of the Open Marketing Program 1900 and the Base Program 1908. The Base Program 1908 is further classified into Co-creation Community Activities 1940, Development Community Activities 1950, and ifLink App Testbed Activities 1960. Within this, 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. The Development Community Activities 1950, the ifLink App Testbed Activities 1960, and the authentication activities for microservices 80 (or module 9), which will be discussed later in Chapter 2, correspond to the collaborative activities within Place 1.
[0043] Examples of collaborative activities within Place 1 include, as described below: 1) Distribution of authenticated microservices 80 (delivery via network); 2) Issuance / distribution / management of user key information 2650; 3) Collection of usage fees from users 1700 for delivered systems or authenticated microservices 80 and revenue sharing to modular 3100; 4) Lending of microservice 80 assets to other groups and collection of usage fees; 5) Granting licenses to other groups and collecting license usage fees; and 6) Information services 1812 using information obtained by analyzing data 1808 from ifLink applications installed on each edge computer 6.
[0044] Within the open marketing program, Rule Development 1910 will take place. This document explains a specific example of how Rule Development 1910 will be conducted. Subcommittees A-C1920A-C will be established within Place 1 as a "forum" for discussion among members from different industries, such as service industries 1400 and manufacturing industries 1200, according to each set theme. Within each subcommittee A-C1920A-C, members will co-create service models that will please users. Finally, this will lead to the prototyping of application (IF-THEN) rule 70 to realize that service.
[0045] Specifically, as the first Step 1 for each subcommittee A-C in 1920, activities to create co-creation themes will be carried out. In the next Step 2, the work of formulating application (IF-THEN) rule 70 to realize the co-creation theme will be carried out (Rule Idea Co-creation Work Study Day (WS-Day)). After that is completed, in Step 3, a period will be set up for "prototype creation" and evaluation based on the above application (IF-THEN) rule 70 (Rapid Prototyping Term). Once the "prototype creation" is complete, the results of the performance evaluation will be presented at Open Presentation 1918. If a sponsoring company for commercialization emerges within Place 1 using this opportunity at Open Presentation 1918, it will lead to commercialization.
[0046] Furthermore, subcommittees A-C (1920A-C) that did not make it in time for this open presentation in 1918 will be carried over to the next phase 2 (1902) as continuing theme 1930. This program from Step 1 to 3 will be repeated in accordance with the passage of time 1906.
[0047] In the co-creation community 1940, which conducts event activities (such as idea generation workshops) 1942 to increase the number of application (IF-THEN) rules 70 together with users, a website called the ifLink Rule Manager (details below) is built to support the activities of Place 1. This ifLink Rule Manager (website) publishes a list of application (IF-THEN) rules 70 (IF / THEN Rule Site 1946) and various module 9 lists (Module Bank 1948).
[0048] Furthermore, in development community activities 1950 that involve events (such as hands-on development workshops) 1952 to increase the number of connected modules 9, a developer site 1956 will also be set up, which is a communication site for developers to share and disseminate information to promote development among members within Place 1.
[0049] As mentioned above, Step 3 of the Open Marketing Program 1900 involves creating and evaluating a simple prototype based on the devised application (IF-THEN) rule 70. A testbed site 1966 is provided as an environment-providing platform (ifLink testbed 1960 activity) to facilitate simple prototyping using the ifLink app and registered modules by members within Place 1. This testbed site 1966 provides an environment for using the ifLink cloud server 2, as well as the ifLink app 92, microservices 80, and the application (IF-THEN) rule editor. Figure 7 shows an example of a service delivery model in the "multi-service" world proposed by this embodiment. Figure 8 is a block diagram representing the basic concept. In the "multi-service" world proposed by this embodiment, for example, the detection results of changes in entities or states (or related information) 7 occurring in the physical real world and services (Web services 210) in cyberspace can be directly linked to provide services to users.
[0050] In other words, Figure 1 explicitly shows the Web service server 210 and GPS satellites 230 as forms of service to users that utilize devices other than device 8. In contrast, here, various devices 8 (corresponding to 802-820 in Figure 1) as means of providing services to users in physical space, and means of providing services to users in cyberspace (for example, the Web screen provided by the Web service server 210) are collectively referred to as "human-recognizable entities or states, information (instance, status, and / or information) 7 (corresponding to 7A-7F)." Furthermore, the aforementioned device 8 is a type of "human-recognizable entity / state / information 7." General-purpose means for individually controlling these are defined as "control means 4 (4A-4F)."
[0051] For example, let's explain an instance where a user of this system uses the "multi-service" feature when planning their activities (leisure activities) for the next day.
[0052] As shown in Figure 7, it becomes possible to provide a service that "predicts tomorrow's weather based on the history of outdoor humidity changes. If it's predicted to rain tomorrow, it will automatically book movie tickets instead of outdoor leisure activities."
[0053] In Figure 7, an example of the display screen in the embodiment shown here is represented as a Web screen 1970 (written in HTML format). Each module 9 (or device 8) operated based on the application (IF-THEN) rule 70 is represented by an icon (including the "ticket reservation" icon). Therefore, displaying it as the Web screen 1970 shown in the upper left of Figure 7 makes it easier for the user to recognize the application (IF-THEN) rule 70.
[0054] Here, the Anchor Element in HTML is used to link the URL (Uniform Resource Location) of the encrypted microservice file 2620 (the definition of which will be explained later, and a detailed usage example will be shown later using Figure 19) corresponding to each icon. When this corresponding icon is specified, the microservice 80 can be executed after decryption using the user key information 2650 (described later using Figure 19). This method makes it impossible to view the source code within the microservice 80 from HTML, thus protecting the microservice 80 (copyright protection). An example of how to describe this in HTML will be explained in detail later using Figure 21.
[0055] Let's consider the case where data is collected sequentially from the humidity sensor 802. All conditions related to condition (IF) 72 (details will be described later using Figure 8) are assumed to be when 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) in execution (THEN) 78 (details will be described later using Figure 8) is operated (started). This microservice 80 controls the service to "access the designated movie theater's web page 1980 and automatically write the information necessary for the reservation into the form element on the web page 1980 1998."
[0056] To do this, it is first necessary to "access the designated movie theater's webpage". For this purpose, the microservice 80 calls up the keyword search screen 1976 and automatically enters the necessary keywords into the keyword input field 1932. Next, the microservice 80 automatically finds the required HP (Home Page) from the displayed screen candidates 1_1934 to screen candidates 3_1938 1992.
[0057] The system then analyzes the HTML document of the designated movie theater's webpage from 1980. Specifically, it automatically extracts the form elements within the HTML document. Next, by deciphering the text (words) related to those form elements, it becomes possible to automatically determine "what information should be entered in which field (within the form element)?"
[0058] Based on the results of this automated analysis, the name entry field (1982), age entry field (1984), hobby field (1986), application details field (1988), etc., can be automatically filled in sequentially (1998).
[0059] For example, consider the case where microservice 80 is written in the Java language. Advanced processing on the web screen generally uses a different language called JavaScript. Therefore, in this embodiment, either A) translating the microservice 80 written in the Java language to JavaScript using a PhoneGap®-compliant plugin, or B) using the web browser interface (API) on Android® while keeping it in the Java language, may be adopted as a method for performing the above processing. In method [A] above, a PhoneGap-compliant plugin-compatible Java class 1922 is prepared in advance. Then, a microservice 80I for controlling the web screen is created so that it can be used, and the plugin 1922 translates it to JavaScript.
[0060] Using Figure 8, we will generalize the basic concepts explained in Figure 1, including the concept in Figure 7, and also explain the relationship with Place 1 shown in Figure 5.
[0061] As mentioned earlier, Figure 1 explicitly shows the Web service server 210 and GPS satellite 230 as service models for users that utilize devices other than device 8. In contrast, we propose a new concept here: “human-recognizable entities or states, information (instance, status, and / or information) 7 (7A-7F).” The aforementioned device 8 falls under the category of “human-recognizable entities / states / information 7.” Furthermore, we define the general-purpose means for individually controlling these as “control means 4 (4A-4F).”
[0062] For example, consider the use of an AI (artificial intelligence) program to control a web screen (such as automatically filling in required information within a specified form element frame in HTML or controlling transitions between web pages), or the use of a web screen for order processing, contract processing, or application processing. In this case, the information on the web screen (specifically, the "format" on the web screen that should be filled in during order processing, contract processing, or application processing) falls under the category of "human-recognizable entities or states, information 7", and the AI program that controls this information (specifically, the process of automatically filling in the required items within the "format" on the web screen and pressing the "execute" button on the web screen after user confirmation) falls under the category of 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 analyzed using statistical analysis software. In this case, sensor 802 alone is classified as device 8 and corresponds to a type of "human-recognizable entity / state / information 7". The sensor microservice 80A that controls the operation of this sensor 802 becomes a type of control means (microservice) 4.
[0064] Furthermore, the data / information storage device 200 used for storing big data is classified as a device 8 and therefore falls under the category of "human-recognizable entities / states / information 7". The big data stored in this data / information storage device 200 and the information obtained after data analysis can also be classified as a type of "human-recognizable entities / states / information 7". In contrast, the data analysis processing performed by statistical analysis software falls under "data control" in a broad sense. Therefore, this statistical analysis software falls under the category of control means (microservices) 4.
[0065] Here, the functional implementation form of the control means 4 shown in Figure 8 can be either a hardware configuration (e.g., a combination of logic circuits) or a software program. For example, a control means 4 that takes the form of a program using an object-oriented programming language is specifically called a microservice 80. Of course, a microservice created with a non-object-oriented programming language (e.g., assembly language) is also acceptable.
[0066] The device 8 and the means of providing services in cyberspace are collectively (generalized) referred to as "recognizable entity / state / information 7," and the generalized collective name including the microservices 80 is called "control means 4," and this will be used to explain all forms of services provided to users in general from now on.
[0067] For example, the sensing function can only be realized when the sensor 802 itself is controlled by the "control means 4". The means for realizing predetermined functions in relation to the services provided to the user are called "modules 9 (9A-9F)". Module 9 basically consists of "recognizable entities / states / information 7" and "control means 4". As for the installation configuration of module 9, the entire module γ9C may be built into the edge computer 6. However, only the recognizable entities / states / information 7D and 7E within modules 9D and 9E may be located outside the edge computer 6. In this case, the control means (microservices) 4D and 4E (which are installed in advance) located inside the edge computer 6 and the recognizable entities / states / information 7D and 7E are signal-connected by the communication means 18.
[0068] Furthermore, control means (microservices) 4A and 4B may exist not only within the edge computer 6, but also within the cloud server α2A.
[0069] Application rule β70B, which defines the method of cooperation between module γ9C and module δ9D in order to provide a specified service to the user, basically consists of a basic logic that progresses over time from condition (IF) β72B to execution (THEN) β78B.
[0070] This section explains the "condition (IF) β72B ⇒ execution (THEN) β78B" logic and its specific processing details using an example logic (application rule β70B) that "turns on the lights when it gets dark." In this case, as processing corresponding to condition (IF) β72B, the application (IF-THEN) engine 90 issues an API command 75 to the illuminance sensor control means (microservice) γ4C. In response, the illuminance sensor control means (microservice) γ4C controls the illuminance sensor γ7C of the recognizable entity / state / information 7 to measure the illuminance of the surrounding environment. If the obtained illuminance is lower than the preset value, the illuminance sensor control means (microservice) γ4C returns the return value of API command 75 to the application (IF-THEN) engine 90.
[0071] Then, the application (IF-THEN) engine 90 starts the execution (THEN) β78B operation in accordance with the application rule β70B described above. At this time, the application (IF-THEN) engine 90 receives signals from the microservices and, based on the interpretation of the IF-THEN rule, issues instructions to the necessary microservices. In other words, the application (IF-THEN) engine 90 does not autonomously execute processing, but rather, it receives data from the microservices specified in IF, compares it with the conditions of the rule, and when the conditions are met, issues an execution instruction to the microservices specified in THEN.
[0072] Then, the application (IF-THEN) engine 90 issues the following API command 75 to the lighting switch control means (microservice) δ4D. The lighting switch control means (microservice) δ4D then controls the lighting switch δ7D, which is a recognizable entity / state / information 7, to turn on the lighting switch. As a result, the function of module δ9D, which has the function of controlling the lighting switch, is executed.
[0073] Next, we will explain the case where a user purchases new modules ε9E and ζ9F to expand the system. The control means (microservices) ε4E and ζ4F within these modules ε9E and ζ9F, and the application rules γ70C that combine them, are generated within the web server cloud server β2B. Subsequently, they are installed 180 via the communication line 18 that connects the cloud server β2B and the edge computer 6.
[0074] The installed control means (microservices) ε4E, ζ4F and application rule γ70C are then stored in the form of files (for example, as microservice file 2602 and application rule file) in a predetermined storage area within the edge computer 6.
[0075] Simultaneously, within the cloud server β2B, an integration rule 700 is generated that combines the existing application rule β70B with 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 problems are found as a result of this verification, the user will be notified during the installation 180 mentioned above or when the service is provided to the user.
[0076] Cloud Server β2B can test application rules for numerous edge computers. These edge computers can be found in factories, hospitals, schools, government offices, farms, and homes, each employing application rules tailored to its specific location.
[0077] The terms used in this patent specification, including those used in the above explanation, are defined below.
[0078] ●[Module 9]--This refers to the means for realizing a predetermined function, and is composed of a combination of a [recognizable entity or state, information (instance, status, and / or information) 7] and its [controller 4] in the physical space where this predetermined function is realized. In this embodiment, a service is basically provided to the user by a combination of operations (movements) of multiple [Modules 9] controlled by individual [controllers 5]. The [Module 9] described in this embodiment merely represents the "concept" of a "combination for realizing a predetermined function". Therefore, the [recognizable entity or state, information 7] and its [controller 4] that constitute the [Module 9] do not need to be "physically integrated". For example, the [recognizable entity or state, information 7] and its [controller 4] may be installed in physically separate locations and cooperate with each other using communication means 18. Furthermore, as will be described later, neither of them needs to form a "physically real object".
[0079] ●[Modular 3100]--A part of the [Members] within [Place 1] that develops, manufactures, and sells [Module 9].
[0080] ●[Human-recognizable entity / state / information (instance, status, and / or information)7]--This refers to the object of realization of a predetermined function in real space. Measurable [states] such as temperature, humidity, and pulse rate are also included in the real-space recognizable [entity or state, information (instance, status, and / or information)7] described below.
[0081] ●[Content] -- This refers to specific details related to a given function, possessing a concreteness that allows for individual identification of differences from other content. For example, it does not include the abstract concept of "movie," but rather specific content that has been identified by a "movie title (title)" as a means of distinguishing it from other content. Similarly, it does not include the abstract concept of "web screen" displayed in a web browser, but rather includes specific web pages located at a specific URL.
[0082] ●[Data / Information]--This includes both acquired data / information and provided data / information. Here, data collected by [devices] such as sensors is a type of acquired data, and the information obtained as a result of analyzing this acquired data is a type of acquired information. Naturally, this [data] also includes measurement results of [conditions] such as temperature, humidity, and pulse rate. Furthermore, data and information provided to users as a [service] are classified as provided data / information. A concrete example of this provided data / information is educational materials and teaching materials.
[0083] ●[Processing] -- This refers to the process of realizing a predetermined function, and the intervention of electronic devices is a prerequisite. In other words, it includes all specific actions using electronic devices. For example, this includes specific actions such as ordering, money transfer, foreign exchange, contract processing (such as insurance), scheduling of travel and business, and travel arrangements using smartphones or web screens. However, manual processing such as "putting a handwritten application form into a mailbox" does not involve electronic devices and therefore does not fall under the definition of [processing] as described in this specification.
[0084] ●[Device 8]--Includes all electronic devices that exist in real space and are used to realize a predetermined function. Therefore, it also includes electronic devices that perform the above [processing], electronic devices that display the above [content], and memory devices that store the above [information / data]. This [Device 8] may have a built-in communication function for communicating with external electronic devices. This [Device 8] may also have a function that acts on the physical (or chemical) state or phenomenon of the natural world. Devices that act passively on the natural world include sensors, etc. Devices that act actively on the natural world include robots, drive mechanisms, display devices (display elements), etc. The physical form of this [Device 8] is not limited to a stationary type, but may also take the form of a portable type that can be moved. For example, it may take the form of a band-type sensor that is fixed to the user's arm or leg, a belt-type sensor that is fixed to the waist, or a wearable form such as a VR (virtual reality) type or AR (augmented reality) type HMD810 that is worn on the head.
[0085] ●[Controller 4]--This refers to a means for controlling [human-recognizable entities / states / information 7] in order to realize a predetermined function. A communication function may be built into this, and the [human-recognizable entities / states / information 7] may be controlled using the communication means. Examples of using this [Controller 4] include control of transitions between web pages, automatic input control of necessary parts within web pages, data analysis control of accumulated data, control of buying and selling processes for goods, automatic travel arrangement process control, and robot movement control. Furthermore, if the [human-recognizable entities / states / information 7] is a control means for sensors such as temperature and humidity, it performs control that detects and quantifies (converts into data) the physical (or chemical) [state] of the natural world. Within this control means, detailed procedures for realizing individual detailed functions are defined. For example, the detailed procedures may be defined in a "hardware form" in which the control logic is formed by a combination of logic circuits. However, it is not limited to this, and the detailed procedures may also be defined in a "software form" such as a program that can be installed on an [edge computer 6] or a [cloud server 2].
[0086] ●[Micro-service 80 / IMS]--This refers to a [control means 4] formed by a program using an object-oriented programming language. As mentioned above, the object controlled by this micro-service is not limited to devices, but also includes processes, content, and information / data. Therefore, for example, a program software using AI technology to control transitions between web pages or screen operations corresponding to a specific web page is included as a type of micro-service or a part of it. Similarly, a program software that uses AI technology to automatically extract the number of people appearing in a specific video content, or a program software that analyzes acquired data (for example, using statistical analysis), is also included as a type of micro-service or a part of it. The information obtained as a result of the analysis and the recording device that stores that information are treated as [human-recognizable entities / states / information 7]. Also, since [micro-service 80] is a form of [control means 4], as mentioned above, by installing [micro-service 4], it becomes possible to control the object controlled by the [edge computer 6] or [cloud server 2] (human-recognizable entities / states / information 7). When defining the detailed procedure in this "software form," forming the [control means 4] with a program using an object-oriented programming language such as Java® or Objective-C allows for effective utilization of existing program assets (such as embedding (import) or calling (issuing API command 75) within other programs) (details will be described later in Chapter 2). Furthermore, writing the program in the OS-independent Java language improves the versatility of the [control means 4]. In the following explanation, we will also refer to it as IMS (ifLink Micro-service) instead of microservice.
[0087] ●[Control Method]--This refers to a program that constitutes part of the [Microservice 80] and defines the detailed procedures for realizing specific individual detailed functions. Each control method is treated as the smallest functional unit (i.e., a subprogram) that realizes the individual detailed function. The control method name corresponding to a specific individual detailed function can be called as a corresponding function (command) as an API command 75 from the [Application Engine 90]. This allows the individual detailed function corresponding to the control method name to be executed within the [Application Engine 90]. In this embodiment, by writing the program within the [Control Method] (defining the program content) using an object-oriented programming language, the [Control Method] can be linked to the [Application Rule 70] as described above. (A detailed explanation with specific examples will be given later in Chapter 2.) ●[Control Class]--This refers to a collection of individual [Control Methods] grouped together according to common similar functions. A control method corresponding to the initial setup function of the instance (entity) to be created is called a constructor. The constructor name (the control method name corresponding to the constructor) included in the same collection may match the control class name. In the aforementioned [Microservice 80], a management unit that groups control methods according to common similar functions corresponds to a [Control Class]. Therefore, multiple different [Control Classes] may exist within a [Microservice 80] for the same purpose.
[0088] ●[Control Package]-- Indicates a collection of classes with similar functions. That is, it is defined according to a mechanism for managing collections of classes with similar functions by dividing them into folders. In this embodiment in particular, a control package is separated for each entity / state / information 7 contained within the same module 9, and a different control package name (identification information for each control package) is set individually for each. Therefore, it is possible to identify the contents of each entity / state / information using the individually set control package name (identification information for each control package). When setting the name of the [control package] for controlling a [device] belonging to an entity / state / information, the identification information of the manufacturer or distributor of the module (or device), the type of module (or device), or the individual manufacturing number may be used (set) as the identification information for each control package.
[0089] ●[Microservice File 2602]-- Indicates the storage unit (storage form / storage format) for saving [Microservice 80] within the storage area of Cloud Server 2 or Edge Computer 6. If [Microservice 80] is written in Java, for example, the contents of [Microservice 80] are a sequence of Java code. To save this information, files are constructed in units of control classes (which also contain descriptions of the processing content for each control class). The extension of these control class files is ".class". In addition, a "folder" for each control package is placed within the storage area of Cloud Server 2 or Edge Computer 6, and the control class files are stored in it. The folder name should match the control package name. This makes it easy to find the necessary control class files because the manufacturer / distributor identification information and module (or device) type information can be obtained from the folder name.
[0090] ●[API (API command) 75]--This indicates a means of communication (communication tool) between the [Application (IF-THEN) Engine 90] and the [Microservice 80] for manipulating individual microservices 80 from the [Application (IF-THEN) Engine 90]. Each [Microservice 80] has a hierarchical structure of control packages / control classes / control methods. [API (API command) 75] often specifies a particular control method name that indicates the detailed procedure (program) for realizing individual detailed functions, and individual detailed function operations are performed on a control method basis. For example, an example of how to execute the individual detailed function of this particular control method within an application program 22 written in the Java language (including the [ifLink app (service provision application program)] described later) is explained. First, within the class of this application program 22, the control class in the control package containing the corresponding control method is 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]--This rule specifies a method (rule) for combining multiple different control means 4 (or modules 9) that indicate how to provide a predetermined service to a user.If the [Application (IF-THEN) Rule 70] is composed of hardware consisting of a combination of logic circuits, for example, the output terminals of these combined logic circuits are electrically directly connected to the input terminals of the control logic composed of a combination of logic circuits within the [Control Means 4].On the other hand, if the [Application (IF-THEN) Rule 70] is defined in a description format (including HTML that constitutes a web screen) according to a predetermined description method, the application (IF-THEN) engine 90 in the cloud server 2 or edge computer 6 deciphers the contents of the above [Application (IF-THEN) Rule 70].Based on the decipherment result, the application (IF-THEN) engine 90 issues an API command 75 to the corresponding microservice 80, and control of the recognizable entity / state / information 7 from the microservice 80 is initiated.
[0091] ●[Integrated Rule 700]--This rule is generated when multiple different [Application (IF-THEN) Rules 70] are defined within the same edge computer 6 or the same ifLink application. The purpose of generating this [Integrated Rule 700] is to detect in advance any inconsistencies or problems that may occur when multiple different [Application (IF-THEN) Rules 70] are combined, thereby avoiding trouble when providing services to users. If a user requests to define multiple different [Application (IF-THEN) Rules 70], the [Integrated Rule 700] is first generated within the cloud server 2, and operations in accordance with this [Integrated Rule 700] are simulated within the cloud server 2. If inconsistencies or problems occur in the simulation results, the user is notified and a solution is proposed (details will be described later using Figure 23). After it is confirmed that no inconsistencies or problems occur in the simulation results, this Integrated Rule 700 is installed 180 from the cloud server 2 into the edge computer 6. After this installation 180, various microservices 80 (control means 4) are operated within the edge computer 6 according to this [Integrated Rule 700].
[0092] ●[Edge Computer 6]--It has an [Application (IF-THEN) Engine 90] and pre-stores [Application (IF-THEN) Rules 70] and various [Microservices 80] necessary for providing services to users corresponding to those rules. When a user wants to receive a specific service from [Place 1], the [Application (IF-THEN) Rules 70] and the corresponding [Microservices 80] are pre-installed from the cloud server β2B based on the user's request to [Place 1]. [Edge Computer 6] consists 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. The processor also performs the functions of the [Application (IF-THEN) Engine 90] according to these [Application (IF-THEN) Rules 70]. As long as it consists of a processor, a memory unit, and a communication unit in this way, [Edge Computer 6] can take any form. As a concrete example of form, personal computers, smartphones, tablets, signage, gateways, routers, etc., may function as [Edge Computer 6].
[0093] ●[ifLink app (service provision application program) 92]--This refers to a program processed within the cloud server α2A or edge computer 6 in order to provide a predetermined service to user 1700. This consists of an [application (IF-THEN) engine 90] that executes processing in accordance with the contents of the [application (IF-THEN) rule 70], a settings / management screen section 98, and data transmission 96 and rule reception section 94 involved in communication between the cloud server 2. Furthermore, this [ifLink app (service provision application program) 92] is programmed to first refer to the contents of a predetermined [application (IF-THEN) rule 70] that has been saved in advance. The [application (IF-THEN) engine 90] in the cloud server α2A or edge computer 6 then executes processing in accordance with the contents programmed within this [ifLink app (service provision application program) 92] and provides the predetermined service to user 1700.
[0094] ●[Application (IF-THEN) Engine 90]--This refers to the location (function) that is built into the cloud server α2A or edge computer 6 and performs processing / execution within the cloud server α2A or edge computer 6. Hardware-wise, it may correspond to the arithmetic processing processor (or its processing state). This [Application (IF-THEN) Engine 90] reads the [Application (IF-THEN) Rule 70] and deciphers its contents. Then, referring to the deciphered contents, it executes processing in accordance with the content programmed in the [ifLink App (Service Provisioning Application Program) 92]. During this processing / execution, it issues the necessary [API Command 75] to the microservice 80. The inside of this [Application (IF-THEN) Engine 90] consists of a programming language interpretation engine that corresponds to the description format (corresponding programming language) in which the [Application (IF-THEN) Rule 70] is written, and a control engine that executes processing in accordance with the program defined in the [ifLink App (Service Provisioning Application Program)] while referring to the interpretation result. [Application (IF-THEN) Rule 70] may include built-in web browser functionality to handle cases where the application is written (expressed) in HTML.
[0095] ●[Cloud Server 2]--It has an [Application (IF-THEN) Engine 90] and has pre-stored [Application (IF-THEN) Rules 70] and various [Microservices 80] necessary for providing services to users corresponding to those rules. When a user wants to receive a specified service from [Place 1], [Place 1] sends the [Application (IF-THEN) Rules 70] and the corresponding [Microservices 80] to the Edge Computer 6 based on the user's request. As an example of this transmission method, if a link function (Anchor Element) that specifies a URL in HTML is used, this [Cloud Server 2] may also have a Web server function.
[0096] ●[Service]--This refers to an active operation that provides a user with a predetermined [process], a change in [state], or [content] or [data / information], either for a fee or free of charge, by combining the control of a predetermined [entity / state / information 7]. In this embodiment, the [service] is provided to the user in accordance with the [application (IF-THEN) rule 70]. In this embodiment, as a form of [service] provision, a combined (complex) service may be provided that transcends (spans) the boundaries between services in the real or physical space using various devices 8 and services in cyberspace using Web services, etc.
[0097] ●[Place 1] -- This refers to a "service provision space (platform)" that uses the technology of this embodiment. Specifically, it refers to a "field" composed of multiple [members] that carries out activities related to providing [services] to users, whether paid or free. Specific activities in [Place 1] may include, for example, the creation (planning), experimentation (trial), development, and systemization of the aforementioned methods for providing [services], maintenance and system expansion of systems already used by users, promotion of technologies (related to new [Application (IF-THEN) Rule 70]) planned / systemized within [Place 1], advertising and sales activities (mail order) of systems developed within [Place 1], billing and accounting (including tax processing). By making this a space for co-creation (Group Creation), co-working (Group Working), and co-commerce (Group Marketing and / or Group Commerce) that transcends industries and genres, the activities in [Place 1] can be revitalized. To ensure compatibility between systems delivered to users through [Place 1] and scalability connecting different systems, the [Microservices 80] format and the method for defining [Application (IF-THEN) Rules 70] are also standardized within [Place 1]. As an example, as will be described later in Figure 12, a standard template for [Microservices 80] may be provided to [Members] within [Place 1]. Distribution of [Microservices 80] created by inheriting the contents of this standard template or authentication of microservices 85 may be performed.In addition to the above, within this [Place 1], the following will be performed: 1) Authentication of module 9 (or microservice 80) 2) Distribution of authenticated microservice 80 (delivery via network) 3) Issuance / distribution / management of user key information 2650 4) Collection of usage fees from users 1700 for delivered systems or authenticated microservice 80 and revenue distribution to modular 3100 5) Leasing of microservice 80 assets to other groups and collection of usage fees 6) License licensing to other groups and collection of license usage fees 7) Information services 1812 using information obtained by analyzing data 1808 from the ifLink app installed on each edge computer 6.
[0098] ●[Members] -- Refers to individuals, companies (corporations), or voluntary organizations participating in [Place 1].
[0099] ●[System]--This indicates the “service delivery system” that [Place 1] provides to the user. In this embodiment, it basically indicates the entire system of combinations of [application (IF-THEN) rules 70] and [microservices 80] installed in [edge computer 6] and the [device 8] controlled by the [microservices 80] (or [module 9] consisting of [microservices 80] and [device 8]).
[0100] ●[ifLink Rule Manager]--This is a general term for the web pages containing information managed by [Place 1]. It contains information about all modules 9 and application (IF-THEN) rules 70 managed by [Place 1]. From here, files related to microservices 70 (Class Files) and files related to application (IF-THEN) rules 70 (Rule Files) can be distributed.
[0101] Figure 9 illustrates the contents of this embodiment described so far and the effects that result therefrom. In this embodiment, individual control means (microservices) 4 are independently configured to control each recognizable entity / state / information 7. Then, by operating the corresponding individual control means (microservices) 4 from an application rule 70 (or an integrated rule 700 combining multiple application rules 70) (using API commands 75), a variety of advanced services can be provided to the user by combining different recognizable entities / states / information 7 (or different modules 9) [A].
[0102] The specific control methods for each recognizable entity / state / information 7 are left to individual control means (microservices) 4, and these specific control methods are not defined at all (no external restrictions are imposed). As a result, optimal control tailored to the characteristics of each recognizable entity / state / information 7 becomes possible [B]. A detailed explanation of this effect will be given later using Figures 10A and 10B.
[0103] If the control means 4 described above is formed (configured) as a software program (microservice), it becomes easy to copy / distribute it to various devices such as edge computers 6 via communication 18. As a result, the spread of unique functions involving each microservice 80 becomes easier [C]. Also, as shown in Figure 8, the installation 180 of the control means (microservice) 4F on the communication path 18 becomes easier, improving the scalability and expandability of existing systems using microservices 80 [D].
[0104] In this embodiment, the microservice 80 may also be written in an object-oriented programming language. This improves the consistency between the microservice 80 and other programs such as application rules 70 (or integrated rules 700 which combine multiple application rules 70) [E].
[0105] Furthermore, by writing this microservice 80 in an OS-independent programming language (such as Java), 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 operating environment [F]. This effect will also be discussed later using Figure 11.
[0106] In this embodiment, the operation from the application (IF-THEN) engine 90 to the individual control means (microservices) 4 is solely the transmission of API commands 75, and no specific control methods are defined for each recognizable entity / state / information 7 by the individual control means (microservices) 4 (no external restrictions are imposed). In order to enable optimal control tailored 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 the individual control means (microservices) 4.
[0107] The details of the above effect [B] will be explained below using Figures 10A and 10B.
[0108] Conventional IoT standards define communication protocols (control formats) between cloud servers 2 and devices 8, or between edge computers 6 and devices 8.
[0109] In a standard for communication between two parties using the Internet / communication line 10, the "communication standard used in the IP (Internet Protocol) layer 14" is built on top of the "communication standard compliant with the wired or wireless communication medium 12," and on top of that, the "communication protocol (control format) compliant with the IoT standard" is defined.
[0110] In all conventional IoT standards, the control format 16 is defined in detail, such as "store the information of "Data A_40A" in the first data area, place the information of "Data B_40B" in the next data area, then write the information of "Data C_40C", and finally put the information of "Data D_40D".
[0111] On cloud servers 2 and edge computers 6, data placement in accordance with the IoT standards precisely defined within the robust OS layer 30 is relatively easy. However, when receiving a control format 16 with such a complex data structure, it is necessary to have a data interpretation unit 38 within device 8 to decode it. Having this data interpretation unit 38 within device 8 not only complicates the device 8 but also increases the selling price of device 8.
[0112] In contrast, in this embodiment shown in Figure 10B, no control format 16 is specified to be sent to the device 8; only data E60 optimized for the characteristics of the device 8 is sent. As a result, the burden on the device 8 is significantly reduced, and a less expensive device 8 can be provided to the user.
[0113] Next, using Figure 11, we will explain the effect [F] of writing the microservice 80 in an OS-independent programming language such as Java. In the case of Java, an OS-independent general-purpose programming language, translation areas α1300A and β1300B (Virtual Machines) corresponding to individual OS layers α30A and β30B are prepared in advance. The contents of the microservice 80 written in Java are translated via translation areas α1300A and β1300B (Virtual Machines) and passed to the individual OS α30A and β30B.
[0114] In particular, the commands within the microservice 80 in this embodiment are described using a combination of basic APIs 75 at the OS layer α30A and β30B levels. As a result, the basic control of each device can be performed in detail. The technical details explained in this chapter are summarized below. Module 9 consists of a human-recognizable entity or state, information 7, and control means 4 that control it. Multiple modules 9 can be defined. Specifically, a first control means γ4C related to the first module γ9C and a second control means δ4D related to the second module δ9D can be defined separately.
[0115] Here, an application rule 70 is set for providing services to the user using the combination of the first module γ9C and the second module δ9D. Then, according to the contents of this application rule 70, API commands 75 are issued individually 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 and δ4D. This utilizes the module control method of this embodiment.
[0116] In this embodiment, among the control means 4 described above, the control means 4 formed (described) 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 that can be recognized by humans, and a second microservice 80 (control means δ4D) that controls a second entity or state, information δ7D that can be recognized by humans are defined. Then, an application rule β70B is set to provide a service to the user using this combination of the first microservice 80 and the second microservice 80. Then, in response to the API command 75 issued from the application (IF-THEN) engine 90 according to the application rule β70B, these first / second microservices 80 individually control the first entity or state, information γ7C and δ7D that can be recognized by humans.
[0117] In this embodiment, the edge computer 6 receives application rule γ70C (and integration rule 700) and microservice 80 (control means 4F) from the cloud server β2B and pre-installs them. As a result, a first microservice 80 (control means ε4E) that controls a first human-recognizable entity or state, information ε7E, a second microservice 80 (control means ζ4F) that controls a second human-recognizable entity or state, information ζ7F, and related application rule γ70C (and integration rule 700) are pre-built into the edge computer 6. Here, the application rule γ70C (and integration rule 700) defines rules for providing services to the user through a combination of the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F). Then, within the edge computer 6, the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F) are operated to individually control a second entity or state, information ζ7F that is recognizable to humans, and to provide services to the user.
[0118] In particular, the edge computer 6 in this embodiment has an application (IF-THEN) engine 90. The application (IF-THEN) engine 90 issues API commands 75 to the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F) according to the rules defined in the application rule γ70C (and integration rule 700). As a result, the first or second microservice 80 (control means ε4E, ζ4F) individually control recognizable entities or states, information ε7E, ζ7F, and provide services to the user.
[0119] In this embodiment, the service provision method provides services to users using the method described above.
[0120] In this embodiment, the service provision platform (Place 1) provides services to users using the method described above. In particular, in this embodiment, members from various industries come together and exert synergistic effects with each other to create (plan), experiment with (trial), develop and systematize the new application rule γ70C (and integration rule 700) and new microservice 80 (control means 4), perform maintenance and system expansion processing of systems already used by users, promote technologies arising from the above, advertise and sell (mail order) the developed system, and perform billing and accounting processing.
[0121] The collaborative work support method in this embodiment is a method to support the activation and efficiency of collaborative activities on the service provision platform (Place 1) described above. Specifically, it supports the activation and efficiency of collaborative activities by providing microservices 80 and application rules 70. That is, in collaborative work by multiple members, at least one of the first microservice 80 (control means γ4C), the second microservice 80 (control means δ4D), and the corresponding application rules β70B is planned and created, provided to the user, or executed by the user. Chapter 2: Microservices and Authentication Methods Figure 12 shows the class structure (software architecture) within the microservice 80. While this chapter focuses on the microservice 80, the content described below can also be applied to the broader control means 4.
[0122] A fundamental requirement for microservices 80 is the ability to control individual devices 8. However, beyond that, peripheral functions related to the control of individual devices 8 are also required as part of the microservices 80's functionality. Specific examples include interface processing with the application (IF-THEN) engine and checking whether the corresponding device 8 is operational.
[0123] In this embodiment, the microservice 80 is separated into different classes according to the different functions described above, thereby improving the extensibility of the microservice 80. Specifically, a CustomDevice Class 2102 is set up to execute the control functions of the individual devices 8. Multiple methods describing the detailed procedure program content for each individual detailed function of the corresponding device 8 are then placed (written) within this class.
[0124] On the other hand, a Customs Class 2110 is set up as a program to execute peripheral functions related to the control of individual devices 8.
[0125] Here, the individual control methods within the CustomDevice Class 2102 are called (integrated) from within the CustomIns Class 2110 of the microservice supporting individual devices, making them executable. Specifically, by specifying import statement import [Package name for individual device control].[Individual device control class name (CustomDevice)]; before the CustomIns Class 2110, it becomes possible to integrate the individual control classes within CustomDevice Class 2102 within the CustomIns Class 2110. Then, within the CustomIns Class 2110 or a specific control class within it, the individual control method name, arguments, and return value format (type) within CustomDevice Class 2102 are described. This makes it possible to call / use the individual control methods within CustomDevice Class 2102 within the CustomIns Class 2110 or a specific control class within it.
[0126] As explained with reference to Figure 10, in this embodiment, optimal data E60 tailored to the characteristics of each individual device 8 to be controlled can be transmitted to the device 8. To enable this, this embodiment allows for the setting of different individual device control packages 2100 for each different manufacturer / distributor and device model.
[0127] On the other hand, it is necessary to guarantee compatibility between systems delivered to users and future expandability. To ensure such compatibility between systems and future expandability, Place 1 provides participating members with template classes that serve as the basis for the description content (program) for each class. Specifically, for the CustomDevice Class 2102, the BaseDevice Class 2002 is provided to members as a template class. Similarly, for the CustomIms Class 2110, the BaseIms Class 2010 is provided to members as a template class.
[0128] The participating members of Place 1 can create the CustomDevice Class 2102 and the Customims Class 2110 within the microservices corresponding to individual devices with only minor modifications (customizations) 74 to the above template content, which has the effect of allowing participating members to create microservices 80 efficiently in a short period of time.
[0129] Furthermore, to indicate that each class created by a participant in Place 1 inherits (Extends) 74 from the original template class, the relationship between classes is explicitly stated by writing, for example, `public class CustomDevice extends BaseDevice {` in the place where each class name created by a participant is defined. By making this notation method known within Place 1, it becomes easier to manage individual microservices 80 within Place 1, and it also becomes easier to ensure compatibility and extensibility between systems delivered to users 1700 (Figure 24).
[0130] By the way, the "public" mentioned above means "permission to use (repurpose) the CustomDevice Class created within Place 1 in other systems." If you write "private" instead of "public" here, use by any class other than its own (CustomDevice Class in the example above) will be prohibited. Also, if you write "protected," it will only be usable within classes within the package and classes that have inherited its functionality. Within Place 1, many members belonging to different companies / organizations are involved in the creation (modification) of microservices. With so many members involved, problems such as unintended tampering are likely to occur. Defining the scope of access for each class that can be used commonly within Place 1 has the effect of reducing the frequency of problems occurring within Place 1.
[0131] As shown in Figure 12, the API command (input specification) 75 from the application (IF-THEN) engine 75 is processed within the microservice control template class (BaseIms Class) 2010.
[0132] Furthermore, while providing a predetermined service to user 1700, an abnormal situation may occur, such as the battery of device 8 running out. An abnormality detection class (HealthCheckTask Class) 2016 is provided to handle such urgent abnormal situations, enabling rapid response to abnormal situations. This abnormality detection class (HealthCheckTask Class) 2016 is called / embedded by the microservice control template class (BaseIms Class) 2010. The call / embedded process 76 here is processed in the same way as described above.
[0133] If device 8 is located outside of cloud server 2 or edge computer 6, microservices 80 control device 8 via communication line 18. However, if communication line 18 becomes congested or disconnected, there is a risk that the system will freeze until a response is received from device 8.
[0134] By installing the TimeoutCheckTask Class 2006, the communication status between microservice 80 and device 8 can be monitored. This allows for the detection of communication problems and prompt action, thereby preventing system freezes.
[0135] Furthermore, depending on the type of sensor device 802, it may be necessary to handle a variety of data, from binary data (binary data of "1" or "0") to video streams. By providing a stream control engine class (StmEngine Class) 2004, the effect of efficiently and integrally handling diverse data is achieved. Note that a stream analysis class / method using AI technology may be placed within or at the same level as this stream control engine class (StmEngine Class) 2004. That is, as described above, an import statement is used to incorporate the stream analysis class using AI technology into the stream control engine class (StmEngine Class) 2004 or the device control template class (BaseDevice Class) 2002 (when placed at the same level as the stream control engine class (StmEngine Class) 2004). This makes it possible to use (call) the stream analysis class / methods using AI technology within the stream control engine class (StmEngine Class) 2004 or the device control template class (BaseDevice Class) 2002.
[0136] This makes it possible to pass not only the raw stream data obtained from the sensor device 802 to the application (IF-THEN) engine 90, but also only the analysis result information obtained from the automatic analysis of the stream data to the application (IF-THEN) engine 90, resulting in a significant improvement in 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 saved as a time-series file in the data / information storage device 2 on the edge computer 6 or the cloud server 2. The method in the stream analysis class using AI technology then plays back the time-series file (raw stream data file) as needed. The analysis information obtained from the data analysis using AI technology may then be used to perform a specific condition (IF) β judgment.
[0137] As shown in Figure 12, the device control template class (BaseDevice Class) can call / embed the response time monitoring class (TimeoutCheckTask Class) 2006 and the stream control engine class (StmEngine Class) 2004 as described above. The specific method for this call / embed process is the same as described above.
[0138] In this embodiment, writing the microservice 80 using an object-oriented programming language (such as Java) has the effect of effectively utilizing existing program assets in the basic control package 2000 within the individual device control package 2100. This significantly improves the development efficiency of the microservice 80 members within Place 1.
[0139] For example, by using import statements within the individual device-compatible microservice control class (Customins Class) 2110 and before the individual device control class (CustomDevice Class), such as import [Name of basic control package 2000].[Name of anomaly detection class (HealthCheckTask)]; import [Name of basic control package 2000].[Name of response time monitoring class (TimeoutCheckTask)]; and import [Name of basic control package 2000].[Name of stream control engine class (StmEngine)];, you can utilize the programs of the methods defined within each class.
[0140] Furthermore, the destination of the API command (coordination specification) 75 from the application (IF-THEN) engine 90 is changed from the microservice control template class (BaseIms Class) to the individual device-specific microservice control class (CustomIms Class).
[0141] As a result of this series of processes (program changes), the corresponding classes 2002 and 2010 within the basic control package 2000 are effectively replaced and used with the corresponding classes 2102 and 2110 within the individual device control package 2100.71 By writing microservices 80 using an object-oriented programming language in this way, program editing can be done easily and accurately with only very minor changes to the code. Figure 13 illustrates the functions of the microservice 80 configured within the individual device control package. The three items circled in the required field 2204 (initialization 2210, start 2212, and start / stop 2214) are the minimum required functions. The remaining two items (sensor data transmission 2218 and JOB reception 2220) may be unnecessary depending on the characteristics of the corresponding device 8.
[0142] Within the microservices functionality, initialization 2210 refers to the function of establishing a connection with the ifLink application (see the definition of the terms above) and registering the microservice 80 and the device 8 to be controlled when it is started from the ifLink application.
[0143] The termination function 2212 disconnects and terminates the connection to the ifLink application, as well as the microservices 80 and the controlling device 8, when the application is terminated from the ifLink application.
[0144] The Start / Stop function 2214 is a function that starts or stops device 8 when the rule for device 8, which is registered as application (IF-THEN) rule 70, becomes enabled or disabled.
[0145] Next, we will explain the function of status notification 2216. The ifLink app manages the status of registered devices. This status notification 2216 is a function that notifies the ifLink app to update the status of device 8, which is managed by the ifLink app.
[0146] The function of sensor data transmission 2218 is to send sensor data sent from the controlled device 8 to the ifLink app.
[0147] Finally, let's explain the function of JOB receiver 2220. The content of the job (instructions for operations / API) is notified from the cloud server 2 or the application (IF-THEN) engine 90 via the IfLink app. This JOB receiver 2220 is a function that processes the job information seen from the IfLink app.
[0148] Figure 14 shows a list of APIs provided by the microservice control template class (BaseIms Class) 2010. In other words, each control method shown in Figure 14 is written (placed) within the microservice control template class (BaseIms Class) 2010. That is, each control method listed in the Methods / Functions column 2302 in Figure 14 must be standard equipment within the microservice 80.
[0149] The “void” or “int” at the beginning of each control method listed in the Methods and Functions section 2302 indicates the type (format / type) of the control method's return value. For example, when this control method is called from a given class or method 76, it indicates "what type of data will be returned to the class or method using this control method" after the processing of this control method is complete.
[0150] For example, a control method that begins with the word "void" indicates a state of "no return value" (i.e., after the control method finishes processing, no specific data is returned to the class or method using it).
[0151] Similarly, in control methods where the characters "int" or "long" are listed first, an integer with a size in the range of 32 bits or 64 bits will be returned after the control method finishes processing.
[0152] And in control methods where the word "boolean" is written first, a boolean value of "true" or "false" is returned after the control method has finished processing.
[0153] Furthermore, within the parentheses of a control method, the "type (format / type) of the argument" and the "argument" itself, which are passed on to the control method, are listed as a pair separated by a "space". If multiple "arguments" are passed on, a comma (,") is placed between the pairs of arguments.
[0154] The argument type "String" represents a "string". "Map" represents a "key / value database" where keys and values are stored as pairs. "HashMap" refers to the above "key / value database" or a class that uses this mechanism (HashMap Class). By using a "key / value database" to control device 8 in this way, it becomes possible to share data / information between methods across different control packages. Furthermore, using a "key / value database" as the storage format for this data / information improves the convenience of data retrieval.
[0155] Furthermore, “Message” refers to a “message” that can be sent directly to the application (IF-THEN) engine 90 or to the ifLink app. The “constructor” shown in Figure 14 has already been explained in the definition of terms related to [control classes].
[0156] In Figure 14, “EPA,” “epa,” and “Epa” are abbreviations for “End Point Access,” referring to the application (IF-THEN) engine 90 and the ifLink app. Related to this, the 28th item in Figure 14 is “void onActivationResult(boolean result, EPADevice device).” The processing summary 2304 for this is described as “Notification of service registration result from the ifLink app.” Here, “EPADevice” is specified as the “argument type (format / type)” and “device” is specified as the “argument.” “Service registration” here means “registration of device 8 operated by application (IF-THEN) rule 70.” The result is then entered into the “result” argument. If “registration was successful,” “true” is entered into “result” and returned. On the other hand, if “registration failed,” “false” is entered into “result” and returned. In the above argument, “device” refers to the specific device 8 to which the identification information “device” has been set. The "EPADevice" that specifies the "type (format / type) of the argument" means "a device 8 that the application (IF-THEN) engine 90 or the ifLink app can identify."
[0157] The device 8 used in this embodiment also includes portable devices 8. Therefore, when attempting to operate a portable device 8 according to the application (IF-THEN) rule 70, there are many cases where the target portable device 8 is taken outside the operating area. Consequently, prior to providing services to the user, it is necessary to confirm in advance whether or not the target portable device 8 is within the operating area. This requires prior registration of the portable devices 8 whose presence within the operating area should be confirmed in advance.
[0158] For this pre-registration, the callback registration methods “void registerCallback()” or “void registerCallback(String cookie)” described as the 11th or 12th item are performed. Additionally, for portable devices 8, for which prior confirmation of whether or not they exist within the operating area is no longer required, the callback cancellation method “void unregisterCallback()” described as the 13th item is performed.
[0159] If the target device 8 can be pre-verified, the 14th function, “boolean createDevice()”, is used to “register the device”. Conversely, for device 8 that could not be pre-verified, the 15th function, “boolean deleteDevice()”, is used to “deactivate the device”.
[0160] Furthermore, during the provision of services to users, there may be situations where it becomes difficult to continue the service, for example, due to the battery running out on a specific device 8. To address this situation, the 21st method, “void startHealthCheck(long interval),” can be used to “start a health check” for each device 8. In this method, instead of “continuous health checks,” checks may be performed at regular intervals specified by “interval.”
[0161] When a problem occurs, the microservice 80 needs to send a "warning notification" to the application (IF-THEN) engine 90 or the ifLink app. In this case, the 17th method, "int send_alert(-)", can be executed to "send an alert".
[0162] Figure 15 shows a list of APIs provided by the device control template class (BaseDevice Class). The notation rules are the same as in Figure 14.
[0163] Application rules 70 basically consist of a combination of predetermined executions (THEN) 78 that correspond to predetermined conditions (IF) 72. For example, just as the temperature, humidity, and illuminance of the user environment change moment by moment, the recognizable entities / states / information 7 that are the subject of this condition (IF) 72 judgment change moment by moment. In order to accommodate this time change, in this embodiment, the recognizable entities / states / information 7 can be recorded chronologically on a "HashMap" corresponding to a "key / value database".
[0164] For example, if you want to acquire the currently recognizable entity / state / information 7 (i.e., acquire sensor data obtained from, for example, a sensor device 802), you call “HashMap createSensorData()” from within the microservice control template class (BaseIms Class) 2010 to “generate sensor data”. On the other hand, if you want to “generate sensor data” at a specified time, you set the specified time for obtaining the data in the “time” argument within “HashMap createSensorData(long time)”. Furthermore, if you want to acquire data (= “generate sensor data”) at specific time intervals, the program within the microservice control template class (BaseIms Class) 2010 automatically calculates the data acquisition time corresponding to the specific time interval. Then, you sequentially specify the automatically calculated time in the “time” argument within “HashMap createSensorData(long time)”.
[0165] The sensor data (contents of recognizable entities / states / information 7) accumulated in chronological order is then sent from the device control template class (BaseDevice Class) 2002 to the microservice control template class (BaseIms Class) 2010 using "long sendSensor(Map map)".
[0166] Figure 15 shows, as an example, a list of control classes within the device control template class (BaseDevice Class) 2002 corresponding to the sensor device 802. However, as shown in Figure 1, control of various robots (or drive mechanisms) included in the mobile terminal device 808, HMD device 810, and IoT device 820 is also required. Therefore, the processing overview 2304 is not limited to what is described in Figure 15 and may include, for example, "drive execution" or a pre-specified "screen / video display".
[0167] Furthermore, when various devices 8 are located outside of the edge computer 6 or cloud server 2, communication control between the device 8 and the corresponding microservice 80 becomes necessary. Although the explanation of the source code of the control method shown in Figure 15 is omitted here, the control necessary for communication control may also be written in the source code. For example, by incorporating the "Socketlmpl Class" from the "java.net" package 76, communication control to device 8 becomes possible at the IP address level. Specifically, import java.net.Socketlmpl; is written before the device control template class (BaseDevice Class). This makes it possible to use various methods that perform basic communication control within the Socketlmpl Class. The state transitions of device 8 in this embodiment will be explained using Figure 16. Five states are defined for device 8: stopped state 2400, operating state 2402, running state 2408, ready state 2410, and error state 2414.
[0168] Immediately after control of device 8 begins at 2300, it is in a stopped state at 2400. Then, when "createDevice()" (see the 14th item in Figure 14), which signifies the activation of device control by microservice 80, is executed at 2502, device 8 moves to an operational state at 2402. If the response to "createDevice()" at 2506 fails at 2510, it enters an error state at 2414, and returns to the stopped state at 2400 when the ifLink application disconnects at 2500. Also, even when device 8 is in the operational state at 2402, if the ifLink application disconnects at 2500, device 8 returns to the stopped state at 2400.
[0169] On the other hand, if the response 2506 to “createDevice()” is successful 2512, device 8 enters the ready state 2410. Then, when an operation instruction 2508 arrives from the application (IF-THEN) engine 90, the device starts operating and enters the running state 2408. If a stop instruction 2504 arrives from the application (IF-THEN) engine 90, the device stops operating and device 8 returns to the ready state 2410. Also, regardless of whether device 8 is in the ready state 2410 or the running state 2408, if the ifLink application is disconnected, device 8 enters the stopped state 2400.
[0170] If device 8 fails to operate during execution (2408), a retry of the device operation is required (2530), and device 8 enters error state (2414). Similarly, if there is no response from device 8 for an extended period during execution (2408), a timeout (2520) occurs, and device 8 enters error state (2414).
[0171] As explained in Chapter 1, the module 9 that implements a predetermined function is separated into device 8 (or a human-recognizable entity / state / information 7) and the microservice 80 (or control means 4) that controls it. This allows the state of device 8 and the state of microservice 80 to be managed separately. On the other hand, during the execution of a service to a user, the user may change the content of the application (IF-THEN) rule 70 (i.e., the device 8 operated by the application (IF-THEN) rule 70 may suddenly change). Managing the state of device 8 and the state of microservice 80 separately in this way has the effect of making real-time changes to the application (IF-THEN) rule 70 in response to changes made by the user.
[0172] As shown in Figure 17, in this embodiment, six states can be defined for the microservice 80: quiescent state 2400, connected state 2412, operational state 2402, device operating state 2404, start state 2300, and error occurrence state 2414. Then, as shown in Figure 17, a relationship is established between the state of the microservice 80 and the state of the device 8. Figure 18 shows that module 9 is authenticated within Place 1 to guarantee the user-side performance of the system developed within Place 1. Even when considering a specific module 9 in isolation, it has various attributes such as compatibility with other modules 9 used together, the range of usable environment conditions, and the stability of the communication line between the microservices 80 and the devices 8 controlled by them within the same module 9. Therefore, a "certification level grading" 2560 is performed, taking into account "compatibility between different systems," "future system expandability," "breadth of the physical usable environment," and "stability of the communication line between the microservices 80 and the devices 8 controlled by them." In other words, the highest-grade authentication level "guarantees compatibility with other systems and future system expandability, and guarantees stable operation in all usage environments (including not only physical environments such as temperature and humidity, but also the degree of congestion on the communication line)." On the other hand, the lowest-grade authentication level "is usable only under specific usage environments and under conditions limited to pre-specified application (IF-THEN) rules 70." Furthermore, this "certification level grading 2560" can be said to be set according to operational reliability and other certification standards 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 refer to communication connectivity, reliability, responsiveness (response speed), safety, security, and usage consistency both within and outside Module 9 (i.e., between the microservices 80 and the application (IF-THEN) engine 90).
[0174] As a method for verifying communication connectivity within Module 9, a direct communication line connection is established via a wireless or wired line, and the following can be evaluated using a communication content analysis device (for example, a sniffer in the case of wireless communication): 1) Is the communication exchange taking place in accordance with the module information 2532 submitted at the time of module certification application 2556? 2) Is the communication response (turret speed) as described in module information 2532 ensured? 3) Does it not perform any operations other than those described in module information 2532? (Are there any unspecified functions?)
[0175] As the first step in the authentication process, prototype 2542 of module 9 is created within Place 1. The completed prototype module 2522 (or an improved version thereof) becomes the “module authentication pre-test kit” 2524.
[0176] Next, each participating member within Place 1 individually performs a pre-test 2544 using the "module certification pre-test kit 2524". Then, attaching the tested module 2526, the participating member submits an application 2546 to Place 1. This module certification application 2556 includes information 2532 on the module 9 to be certified, a pre-test result report 2534, and customer support procedures 2536. At this stage of the module certification application 2556, the applicant also self-declares which certification level 2560 it conforms to. Simultaneously, the participating member pays the certification fee to Place 1.
[0177] In response to this module certification request 2556, a "certification test" 2548 is conducted within Place 1. If this test is passed 2550, the certified module registration 2558 is performed according to the "certification level grade 2560" that the member had previously applied for. Modules 9 that have undergone certified module registration 2558 are listed and publicly announced on the Place 1 homepage. Modules 9 listed on this homepage are also eligible for primary support at Place 1.
[0178] In this embodiment, module authentication involves a two-stage test as described above: a pre-test 2544 performed independently by the participating members and an "authentication test" 2548 performed by Place 1. As a result, the reliability of the authentication results is improved, and a highly reliable system can be provided to the user.
[0179] Thus, the authenticated module 9 exhibits stable performance. Therefore, in this embodiment, an encrypted microservice file 2630 is distributed via network communication 18 to prevent theft. This has the effect of providing robust technical protection for the authenticated module 9.
[0180] As shown in Figure 19, this embodiment employs a mechanism that makes it impossible to decrypt the encrypted microservice file 2630 after a predetermined period of time has elapsed or after a predetermined number of uses following the installation 180 on the edge computer 6. Then, after distribution and after a predetermined period of time or predetermined number of uses has elapsed, the microservice 80 becomes unusable unless specific processing is performed, enabling appropriate management to prevent unauthorized theft of the microservice 80.
[0181] In this embodiment, as a specific method, 1) only encrypted microservice files 2630 (class files) are distributed over the network ⇒ thereby preventing unauthorized theft during the distribution path; 2) the usage period or usage count is automatically monitored at the distribution destination ⇒ thereby allowing the period or number of times the microservice 80 can be used to be freely set; 3) the monitoring results are controlled based on the transmission 18 from the source cloud server 2 ⇒ thereby a method is adopted in which the cloud server 2 can control whether the microservice 80 is available or unavailable on the user side without burdening the user. However, the method is not limited to this, and any means that automatically disables the microservice 80 may be used.
[0182] As a specific example, a counter that affects the decryption process of the decrypter 2608 may be placed, and the decryption status of the decrypter 2608 may be controlled by the count value of that counter.
[0183] As shown in Figure 19, the edge computer 6 houses a circuit in "One Chip Internal 2600" that contains the "part for decrypting the encrypted microservice file (class file)" and the "control unit 2680 that controls device 8 according to the decrypted microservice file 2620". User key information 2650 can also be stored in this "One Chip Internal 2600". With this structure in which the user key information 2650, the decrypter 2608, and the control unit 2680 that controls device 8 are all housed in "One Chip Internal 2600", the decrypted microservice file 2620 does not leave "One Chip 2600". Therefore, strong security is ensured.
[0184] Once a user completes the prescribed system purchase procedure (including payment processing) from Place 1, a "mutual authentication" procedure is performed between the edge computer 6 used by the user and the cloud server 2 managed by Place 1. During this process, user key information 2650, which is unique to each user, is shared between the edge computer 6 and the cloud server 2.
[0185] Within the cloud server 2, the user key information 2650 is used by the encrypter 2602 to encrypt the microservice file 2620. This generates a transmittable encrypted microservice file 2630.
[0186] Within the edge computer 6, the received encrypted microservice file 2630 is stored in the storage area 2610. When the microservice 80 is used, the corresponding encrypted microservice file 2630 is decrypted in the decrypter 2608. During this decryption, the pre-stored user key information 2650 is used. The decrypted microservice file 2620 obtained here is stored in the chip internal 2600. The control unit 2680 located in this chip internal 2600 then uses the information from the decrypted microservice file 2620 to control the corresponding device 8.
[0187] The information of the currently encrypted count value 2616 is stored 2628 inside the chip 2600. This currently encrypted count value 2616 is also decrypted in the decrypter 2608 using the same user key information 2650. The decrypted current count value 2618 is then incremented (count value increased) as needed. If the use of the microservice 80 is limited to a predetermined number of uses, the count value increases by "1" each time the microservice file 2620 is used. On the other hand, if the use of the microservice 80 is limited to a predetermined period, the count value 2618 is changed according to the elapsed time of the timer (not shown) provided in the 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, the current count value control unit 2618 controls both the control unit 2680 and the decoder 2608, stopping the decoding process and the processing of the control unit 2680 using the microservice file 2620. This makes it impossible for the microservice 80 to control the device 8 within the edge computer 6.
[0189] On the other hand, the count value (2618) calculated by the count value control unit 2618 at this time is encrypted via the cipher unit 2602. The encrypted count value 2616 obtained here is then stored 2628 as appropriate and transmitted 18 to the cloud server 2.
[0190] On the cloud server 2 side, the encrypted count value 2616 received at the present time is decrypted using the decrypter 2608, and the decrypted count value 2618 at the present time is notified to the control unit 2670 2672. The control unit 2670 within the cloud server 2 then continuously monitors whether or not it is about to reach a predetermined count value.
[0191] If a legitimate contract between the user and Place 1 continues (for example, if the user continues to pay system usage fees or continues to be a member of Place 1), encrypted count "0" data 2614 is sent 18 to the edge computer 6, and the current encrypted count value 2616 inside the edge computer 6 is reset.
[0192] The encrypted count "0" data 2614 is generated by encrypting the count "0" data 2612 within the cipher machine 2602 using the user key information 2650.
[0193] The explanations up to the point in Chapter 2 mainly focused on microservice 80 and microservice file 2602. However, the above embodiment can be applied to any control means 4 (see Figure 8) as well. Figure 20 shows the steps taken when user 1700 purchases a desired system from place 1 and then gets that system running around user 1700.
[0194] The ifLink Rule Manager managed by Place 1 (see the definition of [ifLink Rule Manager]) contains a list of 70 application (IF-THEN) rules designed / developed within Place 1. Users 1700 can then search this ifLink Rule Manager to find new systems they wish to purchase or extensions to existing systems.
[0195] Then, using a web page managed by Place 1 (which may also be part of the ifLink rule manager), user 1700 applies to purchase or expand a system from Place 1 (S02). In this embodiment, payment may also be made by advance payment processing (S03).
[0196] Then, according to the application details, the necessary device 8 is delivered to user 1700 via mail order, as shown in S04. Device 8 also includes a URL indicating the source of the rule file and microservice file 2602, along with the password information required to open it.
[0197] As shown in S05, the compressed folder (Zip (Zone Improvement Plan) folder) can be installed by accessing the specified URL within Place 1 using the notified password. As explained in Chapter 2, the contents of the microservice 80 contain control classes corresponding to each individual control package folder. In addition, a rule file showing the contents of the application (IF-THEN) rules and an executable file for installation on the edge computer 6 are required. The aforementioned compressed folder maintains this file hierarchy structure. (An example of this file hierarchy structure will be shown later using Figure 21(a).) The rule file and each individual control package are encrypted. The user key 2650 required for this encryption may also be stored at the specified URL within Place 1.
[0198] After decompressing the compressed folder and moving it to its edge computer 6, user 1700 opens the executable file mentioned above (S06). User 1700 then performs a series of operations in response to the requests in this executable file, which then performs the initial setup for each microservice 80.
[0199] Once this initial setup is complete, the executable file will automatically verify the system's operation, as shown in S08. If accurate operation cannot be confirmed at this stage (S09), the process returns to S07.
[0200] Figure 21 illustrates an example of visualizing the application (IF-THEN) rule 70. As time passes after a user purchases a system, they may forget the details of the application (IF-THEN) rule 70 they requested at the time of purchase. Therefore, making the application (IF-THEN) rule 70 visible to the user improves their sense of security and convenience.
[0201] In this embodiment, the application (IF-THEN) rule 70 can be displayed in various ways according to the user's request, such as 1) displaying it using a web screen (HTML description) or 2) displaying it using a smartphone widget function. As an example of this display method, Figure 21(b) shows how to display the application (IF-THEN) rule 70 to the user using a web screen (HTML description).
[0202] Similar to Figure 7, in Figure 21(b), representing the device 8 operated in relation to the application (IF-THEN) rule 70 using an icon or some kind of image makes it easier for the user to understand. The sensor device 802 is used as the device 8 corresponding to the condition (IF) 72 within the application (IF-THEN) rule 70, and correspondingly, the sensor icon 2732 is displayed in the example in Figure 21(b). Furthermore, the robot is used as the device 8 corresponding to the execution (THEN) 78 within the application (IF-THEN) rule 70, and correspondingly, the robot icon 2752 is displayed.
[0203] The relationship between the sensor drive 802, which corresponds to the condition (IF) 72 indicated by the application (IF-THEN) rule 70, and the robot, which corresponds to the execution (THEN) 78, is represented by the arrow icon 2742.
[0204] Furthermore, the display example shown in Figure 21 shows the storage location information for each encrypted microservice file 2630 within the edge computer 6. By visualizing the application (IF-THEN) rule 70 and simultaneously linking it with the storage location information for each corresponding encrypted microservice file 2630, the processing efficiency of the application (IF-THEN) engine 90 is significantly improved.
[0205] As already explained using Figure 12, the basic control package BaseIMS2000 (i.e., the corresponding folder) contains 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 control template class file BaseIms.class2010, and the anomaly detection class file HealthCheckTask.class2016. This file hierarchy structure is the same as the class file arrangement within the basic control folder BaseIMS2000 in Figure 21(a).
[0206] On the other hand, the CustomIMS_A folder 2710 corresponds to the CustomIMS_A folder, which is the individual device control package 2100 that corresponds to the sensor device 802. Within this folder, the individual device-compatible microservice control class file Customims.class2728 and the individual device control class file CustomDevice.class2722 are stored.
[0207] Furthermore, the CustomIMS_B folder 2720 corresponds to the CustomIMS_B folder, which is a package 2100 for individual device control that is compatible with robot devices. Within this folder, the Customims.class2728 control class file for individual device-compatible microservices and the CustomDevice.class2722 individual device control class file 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 written within the part 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 2820 and the storage destination in 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 Within 2820, a "query parameter indicating the source location" has been added. That is, the link element (Anchor Element). The content of "Rule.xml" within 2820 indicates the location where the application (IF-THEN) rule file is stored on edge computer 6. The content ?host-params=”https: / / -- .xml” indicates the URL of the distribution source.
[0212] There is a risk that a user might accidentally delete the application (IF-THEN) rule file on edge computer 6 due to operational error. Having a URL for the distribution source improves the convenience of redistributing the application (IF-THEN) rule file.
[0213] In the embodiment shown in Figure 21(c), both the icon (image) representing the device and the text representing the device name are linked using an Anchor Element. 2810, 2830 and takes the structure of being sandwiched by. By doing so, by simply specifying either the icon (image) or 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 use the same description method as application (IF-THEN) rule files. That is, "CustomIMS_A / Customims.class" and "CustomIMS_B / Customims.class" are linked to the storage location of the encrypted microservice file 2630 on edge computer 6. In addition, "?host-params="https: / / -- .class"" indicates the URL of the distribution source (cloud server 2). By adding this "query parameter that indicates the location of the distribution source," the convenience of redistributing the encrypted microservice file 2630 is improved.
[0215] As shown in Figure 21, by displaying the application (IF-THEN) rule 70 using a web screen (HTML language) and simultaneously linking to the location where the corresponding encrypted microservice file 2630 is stored, the user's convenience in visualizing the application (IF-THEN) rule 70 and the convenience of accessing the corresponding microservice 80 in the ifLink app 92 are greatly improved.
[0216] Furthermore, as users extend the system, the structure within the integration rule 7000 (see Figure 8) becomes more complex. In contrast, using the web screen (HTML language) 2700 to describe the integration rule 7000 has the effect of making complex combinations relatively easy to describe.
[0217] Figure 21 shows the web screen 2700 after the encrypted microservice file 2630 has been delivered. However, the web screen (HTML language) 2700 can also be used for file delivery from the cloud server 2. In this case, the link element (Anchor Element) 2810, 2830 andThe URLs of the source files described within will be the corresponding file storage locations on Cloud Server 2. And this link element (Anchor Element) 2810, 2830 and By simply clicking on the icons (images) or text enclosed within the code, users can easily download the corresponding files. Using this web interface (HTML language) 2700 significantly improves the convenience of file distribution from the cloud server 2 to the edge computer 6. Chapter 3: Activities within the Place In the traditional manufacturing sector, the method of commercializing new products often involved carrying out all processes, from elemental technology development to product development and sales, within a single company or affiliated group company. As a result, even when an excellent product concept was proposed, there were many unfortunate situations where commercialization had to be abandoned due to insufficient budgets in the business unit responsible for productization.
[0218] Within Place 1, numerous companies and organizations from various industries participate, creating a space for co-creation, collaboration, and joint business. If the "evaluation results of the simple prototype" are well-received at the Open Presentation 1918 (see Figure 6), the opportunity to secure funding for commercialization increases. Furthermore, there is a possibility of receiving offers for "market development" for the product from unexpected industries.
[0219] Figure 22 summarizes the advantages and disadvantages of Place 1 activities, which provide a space for co-creation / co-business / co-trading, compared to the conventional method where the entire process up to product commercialization was handled within the company or its affiliated group companies.
[0220] Let's consider the advantages from the perspective of "a place where diverse technologies are organically combined." Diverse service provision technology assets and know-how assets accumulated in each industry can be effectively utilized in other industries, enabling synergistic effects. Furthermore, regarding application software (including microservices 80) developed with object-oriented programming languages, development resources and development deliverables can be effectively utilized. In addition, as mentioned above, the participation of many business support members within Place 1 will lead to many business opportunities.
[0221] On the other hand, since members can freely join or leave Place 1 at any time, there is a disadvantage in that the continuity of technical skills tends to decrease when members leave. Also, because it is a voluntary group, there is a drawback in that the assignment of a continuous primary person in charge during maintenance or expansion of systems delivered to users, and the allocation of responsibility related to these matters, tends to be ambiguous.
[0222] Let's also consider this from the perspective of "a place where the principle of competition is at work." There is an advantage in that it is easy to provide an environment where technological capabilities can easily be improved through healthy competition and mutual improvement. On the other hand, there is a disadvantage in that technologies that lose in short-term competition tend to be buried, and it is difficult to cultivate technologies in the long term.
[0223] Next, let's consider this from the perspective of "the exercise of spontaneous motivation" by the participating members. Place 1 has the advantage of easily attracting members with high spontaneous motivation. On the other hand, it also has the disadvantage that it is difficult to perform fair evaluations and distribute rewards fairly (which can easily undermine the high motivation of the members).
[0224] In light of the above analysis results, "technical innovations that enhance strengths and reduce weaknesses" are desirable. And as a way to achieve this, A) Technologies that enable the long-term effective utilization of diverse technological assets B) Standardization techniques for APIs (commands) to Microservices 80 C) It is desirable to provide (A) to (C) of the authentication process for module 9 to place 1.
[0225] Regarding (C) above, performing the authentication process for module 9 within Place 1 guarantees the reliability of the performance of each module 9. Therefore, even without assigning a specific person to a particular user (i.e., even if the person in charge of system maintenance or system expansion changes), a stable system (or expansion system) can be provided to the user. In relation to (B) above, standardizing the API (commands) to microservice 80 improves the compatibility and extensibility of the system delivered to the user. Therefore, even if a particular member leaves Place 1, the decline in technical continuity can be minimized. As a concrete method of this technical standardization, by providing a "highly versatile template class" as explained in (Figure 12) of Chapter 2, a certain degree of standardization of the API (commands) to microservice 80 can be achieved without restricting the freedom of participating members.
[0226] Next, regarding (A) above, an important point is that it is not possible to know in advance "what constitutes a transferable and effective technological asset (technical know-how)." In in-depth discussions among members from different industries, the content of the members' statements includes "technologies and know-how accumulated in each industry." Therefore, in this embodiment, we provide "technology that can extract necessary technologies and know-how from past meeting minutes within Place 1."
[0227] Figure 23 shows a specific example. A microphone for voice input is permanently installed in the meeting place (discussion area) where meetings are held within Place 1, and the content of speech during the meeting (discussion) is recorded sequentially (S51). In addition, by registering the names and voiceprints of the participating members immediately before or after the meeting (discussion), it becomes possible to identify the speaker for each recorded voice.
[0228] In the next step, 52, the dictation (automatic transcription) of the spoken content is performed using the voiceprint analysis results described above. As a result, the meeting minutes 3004 (S53) of the entire meeting are recorded in text form for each speaker from 3032 to 3036.
[0229] On the other hand, using articles in newspapers / magazines and documents 3006-1 to 3 posted on SNS (Social Network Service), the distance 3028 between word A_3010 and word B_3012 is extracted. Specifically, the distance 3028 is calculated based on the frequency 3016 in which words A_3010 and word B_3012 appear simultaneously in the same document 3006-1 to 3, and the distance 3016 between the two words when they appear simultaneously in the same document 3006-1 to 3. As a result, a database 3008 of inter-word distances is created.
[0230] This interword distance database 3008 is a list of interword distances 3028 between the specified word A3010, the target word 3020, and related words 3022, such as word B_3012 and word C_3018.
[0231] Next, we will explain how to extract the technologies and know-how you want to collect from past meeting minutes 3004. This method is similar to searching a web page on the internet. First, open the search web page specified by Place 1 and enter keywords (or sets of keywords) 3002 related to the technologies and know-how you want to extract.
[0232] This displays 3000 relevant meeting transcript excerpts, similar to the suggestions displayed during web page searches on the internet. In this case, headings a3042 to c3046 are displayed at the top. Immediately below that, relevant sections a3052 to c3056 within the meeting transcript excerpt are displayed. The user refers to the relevant sections a3052 to c3056 within the meeting transcript excerpt and selects the corresponding headings 3042 to 3046. This makes it possible to view past meeting transcripts. By viewing these meeting transcripts, the user can absorb the service provision technologies and know-how disclosed during meetings (discussions) within Place 1. Using Figure 24, we will explain the "co-creation activities" conducted by Place 1. When users 1700A to D purchase a system from Place 1, users 1700A to D pay Place an initial purchase fee and a periodic usage fee. This billed amount of 3062 is collected at the central office 3060 within Place 1.
[0233] As an additional activity, the microservice assets 3070 accumulated within Place 1 may be lent 3072 to another group α_3200A. Then, another group α_3200A will pay a usage fee 3076 to the main administrator 3060 within Place 1.
[0234] Furthermore, the operational technology within Place 1 may be licensed to another group β_3200B 3074. In this case, another group β_3200B will pay a license fee 3078 to the original organizer 3060.
[0235] The total revenue mentioned above is then distributed to each Modular 3100 according to their contribution within Place 1 (the main operator 3060 distributes it to each Modular 3100 according to specific distribution rules).
[0236] As already explained in Figure 22, fair evaluation and fair reward distribution to members within Place 1 are important for the "continuation of voluntary motivation" of participating members. In particular, when an object-oriented programming language is used as the control means 4 (microservice 80), the reuse of assets (developed programs) between different modular 3100s (function inheritance (extends) 74 and calls / embeds 76 as described in Figure 12) is frequently performed. This makes it possible to improve the efficiency of utilizing development resources within Place 1. This method will be used for "evaluating the contribution of each modular 3100".
[0237] As shown in Figure 25, for example, source code using the Java language declares the name of the program (class name) to which the embedded 76 will be performed using the import statement ---. The statement Public class Customims extends BaseIms { ---} also indicates that the Customims class inherits (extends) the functionality of the BaseIms class. Therefore, by deciphering this statement, it is possible to understand "which modular 3100 developed program (microservice 80) assets this program (microservice 80) is utilizing?"
[0238] In this way, by analyzing the descriptions related to "import" and "extends" in source code using the Java language, for example, we can understand the contribution of Modular 3100, which has 76 built-in elements and 74 elements of feature inheritance (extends).
[0239] The charge for the control means 4 (microservice 80) delivered to the user can be calculated from the frequency of use and the number of deliveries. This allows for the calculation of the contribution 3066 for each modular 3100. Furthermore, by pre-determining the function inheritance coefficient and the embedding coefficient, it becomes possible to calculate the contribution 3066 for modular 3100 with 76 embedding units and 74 function inheritance (extends) units.
[0240] By using information from built-in relationships 76 and extensions relationships 74 described within object-oriented programming languages to calculate member contributions, fair evaluation and equitable distribution of rewards among members become possible. This, in turn, enables the maintenance of high member motivation. Chapter 4: How to Write Application (IF-THEN) Rules Using XML The description of the application (IF-THEN) rule 70 requires specifying a combination between two types of modules 9: module 9 corresponding to condition (IF) 72 and module 9 corresponding to execution (THEN) 78. As long as this condition is satisfied, any description method / language can be used. Therefore, it can be written in any programming language such as Java, or it can use HTML (Web screen display) as shown in Figure 21.
[0241] As an example of describing the application (IF-THEN) rule 70, Figure 26(a) shows how to describe it using XML (Extensible Markup Language). In Figure 26, for the sake of simplicity, an example is shown where device 8 corresponding to condition (IF) 72 and device 8 corresponding to execution (THEN) 78 are combined into a single unit.
[0242] Figure 26(a) shows that wireless communication functionality is built in, enabling wireless communication with external devices. An illuminance sensor is given as an example of a sensor device 802 corresponding to condition (IF) 72. An LED (Light Emitting Diode) is given as an example of a device 8 corresponding to execution (THEN) 78.
[0243] In this case, condition (IF) 72 is set to "it gets dark". Then, execution (THEN) 78 is set to "the LED lights up".
[0244] Figure 26(c) shows an example of the application (IF-THEN) rule 70 in XML format in this case. The contents of the corresponding device 8 are as follows: <device>Defined by an element (device Element).
[0245] And the content of condition (IF) 72 is, <if>Element (if Element). Similarly, the content of EXECUTE (THEN) 78 is <then>It is written within the element (then Element). Furthermore, each corresponding function is: <condition>It is defined within the element (condition Element). Furthermore, analog information such as illuminance and light output is defined as follows: <property>It is defined by attribute information within the element (property element).
[0246] Figure 26(c) shows an example written in Japanese. However, it is not limited to this. <language>The `language Element` allows for descriptions in any language.
[0247] Figure 27A shows the hierarchical structure when each element described above is written in XML format. At the top level (level 1_4110), the ifLink element (ifLink Element) 4115 is written. At the next level, level 2_4120, the language element (language Element) 4125 is written. At the next level, level 3_4130, the device element (device Element) 4135 is written. At level 4_4140, the if element (if Element) 4142 and the then element (then Element) 4148 are written. The condition element (condition Element) 4155 is placed at level 5_4150. At the lowest level, level 6_4160, the property element (property Element) 4165 can be placed.
[0248] Figures 27B to 27D show the names of each element (4202), their descriptions (4204), the attributes that can be set for each element (4206), and descriptions of each element (4208).
[0249] The ifLink element (4115) located at level 1_4110 represents the ifLink format and is used as a declaration to identify the format. Then, the language element (4125) located at the next level 2_4120 can be used to define the description language (display language) of the XML description. In the case of Japanese description, <language name="”jp”">It is written as follows, and in the case of the English description, <language name="”en”">It is described as follows.
[0250] Within the device element 4135 described in hierarchy 3_4130, the contents of the corresponding device 8 are clarified by setting the attribute information 4206 in detail.
[0251] Specifically, for attribute 4206 of device 8, the name attribute (4302) defines the device / service name. Similarly, the icon attribute (4304) defines the icon for the device / service. This icon information can be used to display icons in Figure 21(b) and within the ifLink Rule Manager (see definition of terms). The ifLink Rule Manager also uses a "key-value" database as the database for devices 8 and microservices 80. The parameter keys and parameter values used in this database are specified by the key attribute (4306) and value attribute (4308). The category of the device / service used when searching for a specific device 8 within this database and the ifLink Rule Manager is specified by the category attribute (4310).
[0252] Within the if element (4142) and then element (4148), described at hierarchy level 4_4140, lists of IF statements and lists of THEN statements are written.
[0253] The condition element (4155), described at level 5_4150, can be described multiple times at the same level. Each indicates an IF or THEN condition and defines attributes (and their uses) similar to those of the device element (4135). In particular, attribute 4206 within the condition element (4155) defines the interface configuration using the interface attribute (4312). Furthermore, the interface parameters are set in the property element (4165), described at the lowest level 6_4160.
[0254] Figure 28 shows, for reference, an example of the XML description of application (IF-THEN) rule 70, in which the above element specifications are described. Figure 28 shows an example of how the emotional expression of speech shown in Figure 29 can be expressed in various ways using the property element 4165 in Figure 28.
[0255] While embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications are permitted without departing from the spirit of the invention. These embodiments, their variations, and combinations of embodiments are included within the scope and spirit of the invention, as well as within the scope of the invention and its equivalents as described in the claims. [Explanation of Symbols]
[0256] 1... Place, 2... Cloud server, 6... Edge computer, 8... Device, 9... Module, 70... Application (IF-THEN) rules, 90... Application (IF-THEN) engine, 92... ifLink app.< / language> < / language> < / language> < / property> < / condition> < / then> < / if> < / device>
Claims
1. In a module control method in which a server can connect to multiple computers via communication means, The aforementioned multiple computers The server receives and stores multiple application rules, each configured to be operable by the application engine. The aforementioned multiple application rules are defined as rules that, when they detect the operation of a first module specified in each rule, communicate that detection to a second module specified in each rule, causing the second module to operate. The aforementioned application engine is Even if similar operation data is input from the first module of the first application rule, it is possible to set a time limit for ignoring the same event that suppresses the operation of the first application rule for a specified period of time, and the time limit for ignoring the same event can be set individually for each application rule. A module control method comprising the ability to shift the execution timing of the operation of a specific second module based on a delay time defined in the application rule.
2. The module control method according to claim 1, wherein the computer can be configured to notify another computer of the input from the first module.
3. Using the module control method of claim 1 or claim 2, Microservices control application.
4. Using the module control method of claim 1 or claim 2, Microservices control system.
5. Using the module control method of claim 1 or claim 2, Edge computing.