MODULE CONTROL METHOD, MICROSERVICE CONTROL APPLICATION, EDGE COMPUTER, SERVICE PROVIDING METHOD, SERVICE PROVIDING PLATFORM, AND COLLABORATION WORK SUPPORT METHOD
Patent Information
- Application Number
- JP2020033589
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-02-28
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2040-02-28
Smart Images

Figure 0007645609000001 
Figure 0007645609000002 
Figure 0007645609000003
Abstract
Description
[Technical field]
[0001] The embodiments of the present invention relate to a module control method for providing a service to a user who uses a module, a microservice control application, an edge computer, a service providing method, a service providing platform, and a collaborative work support method. [Background technology]
[0002] In IoT (Internet of Things) technology, which links the actions of objects in the real world via the Internet, many communication protocol standards between objects in the real world have been proposed. The following technology has been proposed as an example of such a communication protocol. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2019-117587 A Summary of the Invention [Problem to be solved by the invention]
[0004] The present embodiment aims to provide a module control method, a microservice control application, an edge computer, a service providing method, a service providing platform, and a collaborative work support method that utilize a specified control means to provide a service to a user. [Means for solving the problem]
[0005] In this embodiment, there are provided a module control method, a microservice control application, an edge computer, a service provision method, a service provision platform, and a collaborative work support method, which combine a first control means corresponding to a first module and a second control means corresponding to a second module to provide a service to a user. [Brief description of the drawings]
[0006] [Figure 1] FIG. 1 is an explanatory diagram showing the basic concept of this embodiment. [Diagram 2] FIG. 2 is an explanatory diagram showing the program configuration used in an Android-based smartphone. [Diagram 3] FIG. 3 is an explanatory diagram showing the relationship between the inside of an edge computer and a cloud server. [Figure 4] FIG. 4 is a table showing a list of the application (IF-THEN) engine functions. [Diagram 5] FIG. 5 is an explanatory diagram showing the basic concept of a place (service providing platform) in this embodiment. [Figure 6] Figure 6 is an explanatory diagram showing specific examples of co-creation activities and collaborative activities carried out within Place 1. [Figure 7] FIG. 7 is an explanatory diagram showing an example of a service provision form in a multi-service world proposed in this embodiment. [Figure 8] FIG. 8 is an explanatory diagram expressing the basic concept shown in FIG. 1 in another form. [Figure 9] FIG. 9 is an explanatory diagram illustrating the effect when the basic concept of this embodiment is adopted. [Figure 10A] FIG. 10A is an explanatory diagram of the issues involved in adopting conventional IoT standards. [Figure 10B] FIG. 10B is an explanatory diagram showing the effect of using the concept of microservices. [Figure 11] FIG. 11 is an explanatory diagram that explains the effect of writing a microservice in an OS-independent programming language. [Figure 12] FIG. 12 is an explanatory diagram showing the class configuration within a microservice. [Figure 13] FIG. 13 is an explanatory diagram of the functions of the microservices set in the individual device control package. [Figure 14]FIG. 14 is an explanatory diagram showing a list of APIs provided by the microservice control template class (BaseIms Class). [Figure 15] FIG. 15 is an explanatory diagram showing a list of APIs provided by the device control template class (BaseDevice Class). [Figure 16] FIG. 16 is a state transition diagram of a device. [Figure 17] FIG. 17 is an explanatory diagram showing the relationship between the device state and the microservice state. [Figure 18] FIG. 18 is an explanatory diagram showing a module authentication procedure performed within a place. [Figure 19] Figure 19 is an explanatory diagram of the encryption / decryption method of a microservice. [Figure 20] FIG. 20 is an explanatory diagram showing a method for distributing a microservice file and a rule file. [Figure 21] FIG. 21 is an explanatory diagram showing an example of visualization of application (IF-THEN) rules. [Figure 22] Figure 22 is a comparison diagram showing the advantages and disadvantages of co-creation / joint business / joint commercial activities across multiple industries. [Diagram 23] Figure 23 is an explanatory diagram of technology that enables the long-term effective use of diverse technological assets. [Figure 24] FIG. 24 is an explanatory diagram showing an example of shared business activities within a place. [Diagram 25] FIG. 25 is an explanatory diagram illustrating an example of a method for evaluating the contribution of each module within a place. [Figure 26] FIG. 26 is an explanatory diagram showing an example of application (IF-THEN) rule description using XML. [Figure 27A] FIG. 27A is an explanatory diagram of a 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 and 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 a description of an application (IF-THEN) rule. [Figure 29] FIG. 29 is an explanatory diagram of a method for expressing high-quality, highly emotional voice. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0007] Chapter 1 Basic Concept of the Present Embodiment The concept of this embodiment will be described with reference to Fig. 1. In the system configuration shown in Fig. 1, a cloud server 2 and an edge computer 6 are configured to be able to communicate with each other 18. The edge computer 6 can provide various services to users by controlling various devices 8 such as a sensor 802, a beacon 804, a home appliance 806, a mobile terminal 808 such as a smartphone or tablet, an HMD (head mounted display) 810, and an IoT device 820. If these various devices are, for example, a temperature sensor, a pressure sensor, a gyroscope, etc., they may be built into the edge computer 6. However, some of these various devices may be located outside the edge computer 6 and controlled by communication.
[0008] This edge computer 6 has an application (IF-THEN) engine 90 inside, which performs processing (controls various devices 8) according to pre-recorded application (IF-THEN) rules 70 (pre-installed from the cloud server 2) to provide services to the user.
[0009] 1, microservices 80A-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 built into the edge computer 6 in advance (installed in advance from the cloud server 2). An application (IF-THEN) engine 90 operates these microservices 80A-80F to control cooperation between the various devices 8. At this time, the application (IF-THEN) engine 90 issues an API (application program interface) command to the microservices 80A-80F to be operated.
[0010] In addition, in this embodiment, the edge computer 6 may have (pre-installed in the edge computer 6) an IoT server microservice 80G that controls cooperation with the IoT service server 220, a GPS microservice 80H that acquires GPS position information obtained from a GPS satellite 230, a Web microservice 80I that accesses the Web service server 210 to obtain a Web service, and the like. Furthermore, the GPS may of course include a RTK-GNSS with high measurement accuracy.
[0011] Specific examples of control of the Web microservice 80I include control to automatically write necessary information into a form element frame specified in HTML (Hyper Text Mark-Up Language) and transition control between Web pages. In this way, by placing an area for the Web microservice 80I within the software architecture of the edge computer 6, users can enjoy advanced services such as Web services. Not limited to the IoT server microservice 80G and GPS microservice 80H shown in FIG. 1, a microservice 80 that can individually access any service available in the cyberspace (not shown) may be placed on the same level as the Web microservice 80I. Examples of services in the cyberspace (not shown in FIG. 1) include automatic trading of securities (specific stocks) and issuance of specific products. The system may also provide user services such as automatic transfer of the received product price (billing process), application for purchasing movie or music tickets, and application for reservation of a specific trip.
[0012] In this way, by making it possible to place (pre-install) microservices 80 that can individually access 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] Incidentally, in the past, the cooperation between services using various devices 8 in the real world and services in the cyber world was relatively weak. By making it possible to arrange microservices 80A-80F that control various devices 8 on the same level as the Web microservice 80I as shown in Figure 1, users can enjoy advanced cooperation services that seamlessly and seamlessly straddle the services in the real or physical world using various devices 8 and the services in the cyber world.
[0014] When the technology to handle video and audio, which were previously handled as analog data, as digital data was born, the word "multimedia" became popular, indicating the function of "integrating and digitally handling all media." Today, this digital world has become the norm.
[0015] In this embodiment, a dedicated control software (microservice 80) that individually controls various devices 8 that detect and operate objects and / or instances that exist in the real space and their states is newly defined, creating a "multi-service" world that allows the provision of more advanced services that combine (mix) services that can be provided in the real / physical space with services that can be provided in the cyberspace. The "method of combining various services" to provide advanced services to users is specified in the application (IF-THEN) rules 70.
[0016] Regarding the application (IF-THEN) rules 70 and various devices 8 used by each edge computer 6, the cloud server 2 has a rule setting and distribution unit 202 and a device management unit 206 as software functions. In addition, the cloud server 2 may have a function as a microservice registration unit (or module) 204 (the term "module" will be defined later).
[0017] Various data obtained when the edge computer 6 provides a service to a user according to the application (IF-THEN) rules 70 is subjected to data management / accumulation 208 in the cloud server 2 and appropriately stored in the data / information storage device 200.
[0018] 2 shows an example of a program configuration used in an Android based smartphone. In an ifLink widget 1100, the status of ifLink is displayed.
[0019] Microservices 80A to 80F written in Java (registered trademark) are installed in a lower area of an ifLink application 1000. An application (IF-THEN) engine 90 runs as part of this ifLink application 1000. In addition, application (IF-THEN) rules 70 are also used in this ifLink application 1000. In other words, this ifLink application 1000 manages the microservices 80A to 80F and application (IF-THEN) rules 70 connected to ifLink.
[0020] The relationship between the inside of the edge computer 6 and the cloud server 2 shown in FIG. 1 will be described in detail with reference to FIG. 3. An ifLink application 92, which is a service providing application program, is pre-installed in the edge computer 6. The software architecture in the ifLink application 92 includes an application (IF-THEN) engine unit 90, a setting and management screen configuration unit 98, a data transmission unit 96, and a rule reception unit 94 as components. The edge computer 6 also includes a memory area for storing application (IF-THEN) rules 70. The application (IF-THEN) engine unit 90 operates the corresponding microservice 80 according to the application (IF-THEN) rules 70.
[0021] Here, the ifLink application 92 has been described as a "software program", but it is not limited to this, and the ifLink application 92 may 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 setting / management screen configuration unit 98, the data transmission unit 96, and the rule reception unit 94 may each be configured as a physically separate circuit.
[0022] As shown in Figure 3, the cloud server 2 is composed of a microservice registration unit 204, a rule setting and distribution unit 202, a data collection service unit (DDS: Data Destination Service) 216, an endpoint management unit (EPM: End Point Manager) 214, a Web-API control unit 218, and a data / information storage device 200.
[0023] This rule setting and distribution unit 202 manages the setting of application (IF-THEN) rules 70 in accordance with user requests and the distribution of the application (IF-THEN) rules 70 to the user.
[0024] The data collected in the ifLink application is transferred from the data transmission unit 96 of the edge computer 60 to the data collection service unit (DDS) 216 of the cloud server 2 via the communication path 18. The data organized in the data collection service unit (DDS) 216 is then stored in the data / information storage device 200 one by one.
[0025] In addition, application (IF-THEN) rules set according to user requests are also stored in the data / information storage device 200. Then, at the required timing, the application (IF-THEN) rules 70 are read out from the data / information storage device 200 and distributed from the endpoint management unit (EPM) 214 to the rule receiving unit 94 in the ifLink application via the communication path 18. Then, the application (IF-THEN) rules 70 received by the rule receiving unit 94 are stored in a storage area in the edge computer 6 (not shown). In addition, the microservice 80 authenticated and registered by a specified institution is 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 application and stored in the data / information storage device 200 are processed by various application services 1800 via Web-API. Specific service contents of this application service 1800 include: Visualization of data collected from the ifLink app 1802 〇Management of data collected from ifLink app 1804 〇Status monitoring and abnormality response 1806 regarding the status of edge computer 6 and the status of various modules 9 using data collected from the ifLink app (Module 9 will be explained later) 〇Analysis of data collected from ifLink app 1808 〇 Optimization of services for users using the ifLink app 1810 and optimization of module 9 setting conditions 1810 - Information services 1812 using information obtained as a result of data analysis 1808 etc.
[0027] Fig. 4 shows functions implemented in the application (IF-THEN) engine 90 shown in Fig. 1 and Fig. 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 918 across other edge computers 6, rule enable / disable function 920, execution time control function 922, intermediate data retention object function 924, etc.
[0028] In activation 902 , when the application (IF-THEN) engine 90 is started up from the ifLink application 92 , a connection with the ifLink application 92 is established.
[0029] The rule management control 904 reads the application (IF-THEN) rules 70 stored in advance when the application (IF-THEN) engine 90 is started, and constructs an internal state. That is, for example, it becomes a waiting state for detection output from an actual sensor or a command (a preparation state with several options).
[0030] The rule execution control 906 extracts application (IF-THEN) rules 70 that match the conditions based on the internal state, based on the sensor data information notified from the ifLink application 92. In other words, a rule is selected according to the contents of the detection output (command contents).
[0031] The sensor data control 910 receives device information 68 (described later with reference to FIG. 10B) from the ifLink application 92, and starts execution control corresponding to the application (IF-THEN) rule .
[0032] In the JOB control 912, necessary JOB information is notified to the ifLink application 92.
[0033] A log output function 914 outputs a log (for example, a service history) according to a log level (importance or detail of the log contents).
[0034] The same event ignoring time setting function 916 refers to a function for suppressing occurrence of the same sensor data for a specified period of time even if the same sensor data is input.
[0035] In the IF-THEN function 918 across other edge computers 6, the JOB is notified to another specific edge computer 6, and the JOB is executed there.
[0036] The rule enable / disable function 920 refers to a function for switching ON / OFF the rule specified in the execution (THEN) 78 (described later with reference to FIG. 8) of the application (IF-THEN) rule 70.
[0037] The execution time control function 922 refers to a function that shifts the timing of a particular execution (THEN) 78 so that the next execution (THEN) 78 can be performed after a certain time.
[0038] The intermediate data holding object function 924 means a function that holds intermediate data generated during processing in a storage device and enables input to a condition (IF) 72 of another rule (described later with reference to FIG. 8). In the world of "multi-services" technically proposed in this embodiment, advanced services are provided that link (cross the boundaries between) real-space or physical-space services using various devices 8 with various other services. In this embodiment, "Place 1 or ifLink Place" shown in Fig. 5 is installed (provided) as a "field" (i.e., a "service provision field" or service provision platform) for creating (planning), experimenting (trials), developing and systemizing the service provision method, maintaining and expanding the system already used by the user, promoting, selling, selling (mail order), charging, etc.
[0039] In Fig. 5, for various devices 8 that are means of providing services in real or physical space, physical technology 1250 is accumulated in manufacturing 1200. Meanwhile, service industries 1400 ensure high quality "hospitality." By connecting within the place beyond such industries 1800 (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 to create a synergistic effect, which revitalizes the place's activities and makes it possible to spark user innovation.
[0040] In Place 1 described in Fig. 5, new service formats (combinations of multiple modules 9) that will please users are co-created (Group Creation) through discussions among multiple members across industries. In addition, group working and group marketing and / or group commerce are carried out regarding the planning and development (prototyping and systemization) of the new modules 9 required for that, promotion, and sales / billing.
[0041] Therefore, all activities from planning / inventing the microservices 80 (or various control means 4 or parts of the modules 9 described later in FIG. 8) or application rules 70 to selling / billing involve the place 1. Furthermore, in order to ensure the maintenance of the quality of user services, authentication 85 of the various control means (microservices) 4 or application rules 70 may be performed within the place 1.
[0042] Figure 6 shows specific examples of co-creation activities and collaborative activities carried out within the above-mentioned Place 1. As items 1902 of co-creation activities and collaborative activities carried out within Place 1, the open marketing program 1900 and the base program 1908 This Base Program 1950 is divided into the Co-Creation Community Activities 1940, the Development Community Activities 1950, and the ifLink Application Testbed Activities 1960. Within this, the Open Marketing Program 1900 and the Base Program 1908 Co-creation community activity 1940 in corresponds to the co-creation activities in Place 1. Development community activity 1950, ifLink app testbed activity 1960, and the certification activity of microservice 80 (or module 9) described later in Chapter 2 correspond to the co-creation activities in Place 1.
[0043] As an example of joint business activities within Place 1, 1) Distribution of 80 certified microservices (over the network) 2) Issuance / distribution / management of user key information 2650 3) Collection of usage fees for the supplied system or certified microservice 80 from the user 1700 and distribution of the revenue to the modular 3100 4) Lending 80 microservice assets to other groups and collecting usage fees 5) Granting licenses to other groups and collecting license fees 6) An information service 1812 using information obtained by analyzing 1808 data obtained from the ifLink app installed on each edge computer 6.
[0044] Open Marketing Program 1900 Within Place 1, rule development 1910 is carried out. A specific example of the rule development 1910 will be described. Sub-communities A to C 1920A to C according to each set theme are set up within Place 1 as a "place" for discussion between members from different industries such as the service industry 1400 and the manufacturing industry 1200. Then, for each of the sub-communities A to C 1920A to C, a service form that will please users is created (co-created). Finally, this leads to the prototype of application (IF-THEN) rules 70 for realizing the service.
[0045] Specifically, in the first Step 1 for each of the sub-communities A to C 1920A to C, a co-creation theme will be created. In the next Step 2, the work of planning the application (IF-THEN) rules 70 to realize the co-creation theme (Rule Idea Co-Creation Work Study Day (WS-Day)) will be carried out. After this is completed, in Step 3, a period (Rapid Prototyping Term) will be set up to "prototype" and evaluate the prototype based on the application (IF-THEN) rules 70 in a short period of time. Once the "prototype" is completed, the results of evaluating its performance will be presented at the Open Presentation 1918. If a sponsor company for commercialization emerges within Place 1 using the opportunity of the Open Presentation 1918, it will lead to commercialization.
[0046] Also, the sub-communities A to C 1920A to C that did not make it in time for the open presentation 1918 are taken over as continuing themes 1930 in the next phase 2_1902. Such a program from Step 1 to Step 3 is repeated as time passes 1906.
[0047] 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, builds a website called ifLink rule manager (described in detail later) to support the activities of Place 1. This ifLink rule manager (website) lists the application (IF-THEN) rules 70 (IF / THEN rule site 1946) and various module 9 lists (module bank 1948).
[0048] In addition, in the development community activities 1950 that carry out event activities (development hands-on study sessions, etc.) 1952 to increase the number of connected modules 9, a developer site 1956 will also be set up as a communication site for developers to share and transmit information to promote development among members of Place 1.
[0049] As described above, in Step 3 in the open marketing program 1900, simple prototyping / evaluation is performed based on the proposed application (IF-THEN) rule 70. A testbed site 1966 is provided as an environment providing platform (ifLink testbed 1960 activity) that makes it easy for members in Place 1 to perform simple prototyping using the ifLink app and registered modules. This testbed site 1966 provides an environment for using the ifLink cloud server 2, as well as the ifLink app 92, microservices 80, and an application (IF-THEN) rule editor. Fig. 7 shows an example of a service provision form in the "multi-service" world proposed by this embodiment. Fig. 8 is a block diagram expressing the basic concept. In the "multi-service" world proposed by this embodiment, for example, the result of change detection of an entity or state (or information related to them) 7 occurring in the physical real world directly cooperates with a service in cyberspace (Web service 210), making it possible to provide a service to a user.
[0050] That is, in FIG. 1, the Web service server 210 and the GPS satellite 230 are explicitly shown as a service form for the user that utilizes devices other than the device 8. In contrast, here, various devices 8 (corresponding to 802-820 in FIG. 1) as means for providing services to the user in the physical real space and means for providing services to the user in the cyberspace (e.g., a Web screen provided by the Web service server 210) are collectively referred to as "instance, status, and / or information 7 (corresponding to 7A-7F) that can be recognized by humans." In addition, the above-mentioned device 8 corresponds to a type of "instance, status, and / or information 7 that can be recognized by humans." In addition, the general-purpose means for individually controlling these are defined as "control means 4 (4A-4F)."
[0051] For example, a case will be described in which a user of this system uses the above-mentioned "multi-service" when making an action plan (leisure plan) for the next day.
[0052] As a result, as shown in Figure 7, it will be possible to provide a service that "predicts tomorrow's weather based on the history of changes in outdoor humidity. If it is going to rain tomorrow, the system will avoid outdoor leisure activities and automatically reserve movie tickets instead."
[0053] An example of a display screen in the embodiment shown here is shown as a Web screen 1970 (described in HTML format) in Fig. 7. Each module 9 (or device 8) operated based on the application (IF-THEN) rules 70 is shown as an icon (including a "ticket reservation" icon). Therefore, by displaying the Web screen 1970 shown in the upper left of Fig. 7, the user can easily recognize the application (IF-THEN) rules 70.
[0054] Here, a link element (Anchor Element) in HTML language is used to link the URL (Uniform Resource Location) of the encrypted microservice file 2620 (terminology will be defined later, and a detailed example of use will be described later with reference to FIG. 19) corresponding to each icon. Then, when the corresponding icon is specified, the microservice 80 can be executed after being decrypted using user key information 2650 (described later with reference to FIG. 19). Since this method makes it impossible to view the source code in the microservice 80 from HTML, it has the effect of making it possible to protect the microservice 80 (copyright protection). An example of a description method in HTML in this case will be described in detail later with reference to FIG. 21.
[0055] Consider a case where data is collected sequentially from the humidity sensor 802. This is the case where all conditions related to the condition (IF) 72 (details will be described later using FIG. 8) are estimated to be "rain tomorrow" based on other sensors and past weather information. Then, the microservice 80 linked to the icon (ticket reservation) in the execution (THEN) 78 (details will be described later using FIG. 8) is operated (started). This shows an example in which the microservice 80 controls to perform a service of "accessing a Web page 1980 of a specified movie theater and automatically inputting the information required for reservation into a form element (Form Element) in the Web page 1980 1998".
[0056] To do this, first, it is necessary to "access the Web page of the designated movie theater." To do this, the microservice 80 calls up a keyword search screen 1976 and automatically writes the necessary keywords in the keyword entry field 1932. Next, the microservice 80 automatically finds the necessary HP (Home Page) from the displayed screen candidates 1934 to 3 1938 1992.
[0057] The system then analyzes the "HTML text of the specified movie theater's web page 1980" that was accessed in this way. Specifically, it automatically extracts the form element section in the HTML text. Next, it decodes the text (words) related to the form element section, making it possible to automatically determine "what information should be entered in which field (within the form element)?"
[0058] Based on the results of the automatic analysis, the name entry field 1982, age entry field 1984, hobby field 1986, application details 1988, etc. can be automatically filled in sequentially 1998.
[0059] For example, consider a case where the microservice 80 is written in the Java language. A different language called Java (registered trademark) Script is generally used for advanced processing on a web screen. Therefore, in this embodiment, the method for performing the above processing is as follows: A) Translate microservices written in Java into JavaScript using a PhoneGap-compliant plug-in B) Use the Java language and the interface (API) of the web browser on Android (registered trademark) In the above method [A], a PhoneGap-compliant plug-in compatible Java class 1922 is prepared in advance. Then, a microservice 80I for controlling a Web screen is created so that the class can be used, and the plug-in 1922 translates the class into JavaScript.
[0060] Using FIG. 8, the basic concept explained in FIG. 1, including the concept in FIG. 7, will be generalized, and the relationship with Place 1 shown in FIG. 5 will also be explained.
[0061] As mentioned above, in FIG. 1, the Web service server 210 and the GPS satellite 230 are explicitly shown as service forms for users that utilize devices other than the device 8. In contrast to this, here, we have newly proposed "instance, status, and / or information 7 (7A-7F) that can be recognized by humans." The device 8 mentioned above corresponds to one type of "instance / status / information 7 that can be recognized by humans." In addition, we have defined the general-purpose means for individually controlling these as "control means 4 (4A-4F)."
[0062] For example, consider a case where an AI (artificial intelligence) program is used to control a web screen (such as automatically entering required information into a form element frame specified in HTML or controlling transitions between web pages), or a case where a web screen is used to process an order, contract, or application. In this case, the information on the web screen (as a specific example, a "format" on a web screen that should be filled in during order processing, contract processing, or application processing) corresponds to a type of "entity, state, or information 7 that can be recognized by humans," and the AI program that controls that information (as a specific example, automatically filling in required items in a "format" on a web screen and performing processing such as pressing an "execute" button on the web screen after user confirmation) corresponds to control means 4.
[0063] As another example, consider a case where big data collected using a sensor 802 is stored in the data / information storage device 200 and then analyzed using statistical analysis software. In this case, the sensor 802 alone is classified as a device 8, and thus corresponds to a type of "human-recognizable entity / state / information 7." The sensor microservice 80A that controls the operation of this sensor 802 is a type of control means (microservice) 4.
[0064] Furthermore, the data / information storage device 200 used to store big data is classified as a device 8, and therefore corresponds to a type of "human-recognizable entity / state / 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 entity / state / information 7." In comparison, the data analysis process performed by statistical analysis software falls under the broad definition of "data control." Therefore, this statistical analysis software corresponds to a type of control means (microservice) 4.
[0065] Here, the function of the control means 4 shown in Fig. 8 may be realized by a hardware configuration (for example, a combination of logic circuits) or a software program. For example, the control means 4 in the form of a program using an object-oriented programming language is particularly called a microservice 80. Here, it goes without saying that a microservice created in a non-object-oriented programming language (for example, assembler) may also be used.
[0066] The devices 8 and the means for providing services in cyberspace are collectively (generalized) named as “recognizable entities / states / information 7”, and the generalized name including microservices 80 is called “control means 4”, and from now on, we will give a generic explanation for all types of services provided to users.
[0067] For example, the sensing function can only be realized when the "control means 4" controls the sensor 802 alone. The means for realizing a specific function related to the service provided to the user in this way are called "modules 9 (9A-9F)." Module 9 is basically composed of "recognizable entity / state / information 7" and "control means 4." As an installation form of this module 9, the entire module γ9C may be built into the edge computer 6. Alternatively, only the recognizable entities / states / information 7D, 7E in the modules 9D, 9E may be arranged outside the edge computer 6. In this case, the control means (microservices) 4D, 4E arranged (pre-installed) in the edge computer 6 and the recognizable entities / states / information 7D, 7E are signal-connected via the communication means 18.
[0068] Furthermore, the control means (microservices) 4A and 4B may exist not only in the edge computer 6 but also in the cloud server α2A.
[0069] Application rule β70B, which specifies the method of cooperation between module γ9C and module δ9D to provide a specified service to the user, is basically composed of basic logic that transitions over time from condition (IF) β72B to execution (THEN) β78B.
[0070] Using an example logic (application rule β70B) for "turn on the lights when it gets dark," this "condition (IF) β72B ⇒ execution (THEN) β78B" logic and its specific processing content will be explained. In this case, an API command 75 is issued from the application (IF-THEN) engine 90 to the control means (microservice) γ4C of the illuminance sensor as processing corresponding to the condition (IF) β72B. In response to this, the control means (microservice) γ4C of the illuminance sensor controls the illuminance sensor γ7C of the recognizable entity / state / information 7 to measure the illuminance of the surrounding environment. If the obtained illuminance is lower than a preset value, the control means (microservice) γ4C of the illuminance sensor returns the return value of the API command 75 to the application (IF-THEN) engine 90.
[0071] Then, the application (IF-THEN) engine 90 starts the operation of the execution (THEN) β78B according to the application rule β70B. At this time, the application (IF-THEN) engine 90 issues instructions to the necessary microservices based on the interpretation of the IF-THEN rule for the signal received from the microservice. In other words, the application (IF-THEN) engine 90 does not execute processing autonomously, but rather compares the data received from the microservice specified in IF with the conditions of the rule, and when the conditions are met, issues an execution instruction to the microservice specified in THEN.
[0072] Then, the application (IF-THEN) engine 90 issues the next API command 75 to the light switch control means (microservice) δ4D. Then, the light switch control means (microservice) δ4D controls the light switch δ7D, which is a recognizable entity / state / information 7, to turn on the light switch. This executes the function of the module δ9D, which has the function of controlling the light switch.
[0073] Next, a case where a user purchases new modules ε9E and ζ9F to expand the system will be described. The control means (microservices) ε4E and ζ4F in these modules ε9E and ζ9F and the application rule γ70C that combines them are generated in the cloud server β2B of the Web server. After that, they are installed 180 via the communication line 18 that connects the cloud server β2B and the edge computer 6.
[0074] The installed 180 control means (microservices) ε4E, ζ4F and application rule γ70C are each stored in a predetermined recording area in the edge computer 6 in the form of a file (for example, as a microservice file 2602 or an application rule file).
[0075] In parallel with this, in the cloud server β2B, an integrated rule 700 is generated that integrates the existing application rule β70B and the newly created application rule γ70C. Then, in the cloud server β2B, the consistency between the existing application rule β70B and the newly created application rule γ70C is verified. If any defect is found as a result of this verification, the user is notified at the time of the above-mentioned installation 180 or when the service is provided to the user.
[0076] Cloud server β2B can verify the application rules of a large number of edge computers. Edge computers include those in factories, hospitals, schools, government offices, farms, homes, etc., and each facility adopts its own application rules.
[0077] Terms used within this patent specification, including those used in the above description, are defined below.
[0078] ●[Module 9]--means a 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] that humans can recognize in the real space where the predetermined function is realized. In this embodiment, a service is provided to a user by a combination of operations (motions) of multiple [modules 9] controlled by individual [controllers 5]. [Module 9] described in this embodiment merely indicates the "concept" of a "combination for realizing a predetermined function". Therefore, the [recognizable entity or state, information 7] and its [controller 4] that constitute [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 the two may cooperate with each other using the communication means 18. As will be described later, neither of them needs to form a "physically real object".
[0079] ●[Modular 3100]--Some of the [members] within [Place 1] that develop, manufacture, or sell [Module 9].
[0080] ●[Human recognizable entity / status / information7] -- Refers to an object that realizes a specific function in real space. The object here also includes measurable [status] such as temperature, humidity, and pulse rate. In this patent specification, the content, data / information, processing, and types of devices described below are included in the above [entity, status, and / or information7] that can be recognized in real space.
[0081] ● [Content] -- refers to specific content related to a specific function, and has a specificity that allows it to be individually identifiable as different from other content. For example, it does not include the abstract concept of "movie," but rather a specific content that has a "movie name (title)" set as a means of distinguishing it from other content. Similarly, it does not include the abstract concept of a "web screen" displayed in a web browser, but also a specific web page located at a specific URL.
[0082] ● [Data and / or Information] -- Includes both acquired data / information and provided data / information. Here, data collected by a [device] such as a sensor corresponds to a type of acquired data, and information obtained as a result of analyzing this acquired data corresponds to a type of acquired information. Naturally, this [data] also includes the measurement results of [conditions] such as temperature, humidity, and pulse rate. In addition, data and information provided to users as a [service] is classified as provided data / information. As a specific example, educational materials and educational teaching materials correspond to this provided data / information.
[0083] ● [Processing] -- Refers to the process of realizing a given function, and requires the intervention of electronic devices. In other words, it includes all specific actions using electronic devices. For example, specific actions such as ordering using a smartphone or web screen, remittance / bank transfer processing, currency exchange processing, contract processing (such as insurance), travel and business scheduling, and travel arrangements are included. However, manual processing such as "putting handwritten documents on an application form into a mailbox" does not involve electronic devices, so it does not fall under the category of [processing] described in this specification.
[0084] ●[Device 8]--Includes any electronic device that exists in the real world and is used to realize a specific function. Therefore, it also includes electronic devices that execute the above [processing], electronic devices that display the above [content], and storage devices that store the above [information / data]. This [device 8] may be a standalone device with a built-in communication function for communicating with external electronic devices. This [device 8] may also have a function that acts on physical (or chemical) states and phenomena in the natural world. Devices that act passively on the natural world include sensors, etc. Devices that act actively on the natural world include robots, drive mechanisms, display devices (display elements), etc. The physical form of this [device 8] is not limited to a stationary form, but may also be a mobile, portable form. For example, it may be a band-type sensor fixed to the user's arm or leg, a belt-type sensor fixed to the waist, or a VR (virtual reality) type or AR (augmented reality) type HMD 810 worn on the head, which can be worn by the user (wearable).
[0085] ● [Control means (controller) 4] -- means for controlling [human recognizable entities / states / information 7] to realize a specified function. A communication function may be built in this, and the [human recognizable entities / states / information 7] may be controlled using the communication means. Examples of using this [control means 4] include transition control between web pages, automatic input control of necessary parts in a web page, data analysis control of accumulated data, control of the buying and selling of goods, automatic travel arrangement processing control, and robot movement control. In addition, in the control means for sensors such as temperature and humidity, the [human recognizable entities / states / information 7] detects the physical (or chemical) [states] of the natural world and controls them to be quantified (digitized). Here, in this control means, detailed procedures for realizing individual detailed functions are specified. For example, the detailed procedures may be specified in a "hardware form" in which control logic is formed by a combination of logic circuits. In addition, the detailed procedures may be specified in a "software form" such as a program that can be installed on an [edge computer 6] or [cloud server 2].
[0086] ● [Micro-service 80 / IMS]--means [control means 4] formed by a program using an object-oriented programming language. As mentioned above, the control target (object) of this microservice is not limited to devices, but also includes processes, contents, and information / data. Therefore, for example, program software using AI technology to control transitions between web pages or screen operations corresponding to a specific web page is also included as a type of microservice or as a part of it. Similarly, program software that uses AI technology to automatically extract the number of people appearing in a specific video content, for example, and program software that analyzes acquired data (for example, using statistical analysis, etc.) are also included as a type of microservice or as a part of it. The information obtained as a result of the analysis here and the recording device that stores that information are treated as [human-recognizable entity / state / information 7]. In addition, since [microservice 80] is a form of [control means 4], as mentioned above, by installing [microservice 4], it becomes possible to control the control target (human-recognizable entity / state / information 7) by [edge computer 6] or [cloud server 2]. When specifying detailed procedures in this "software format," forming the [control means 4] with a program using an object-oriented programming language such as Java (registered trademark) or Objective-C allows for effective use of existing program assets (such as embedding (import) in other programs or calling (issuing API command 75)) (details will be described later in Chapter 2). Furthermore, writing a program in Java, which is independent of the OS (operating system), improves the versatility of the [control means 4]. In the following explanation, it will also be called IMS (ifLink Micro-service) instead of microservice.
[0087] ● [Control Method] -- Refers to a program that constitutes part of the [microservice 80] and specifies the detailed procedures for realizing a specific individual detailed function. Each control method is treated as the smallest functional unit (i.e., subprogram) that realizes an individual detailed function. A 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] (specifying the program contents) 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] -- Refers to a collection of individual [Control Methods] grouped by common similar functions. A control method that corresponds to the initial setting function of the instance (entity) to be created is called a constructor. The constructor name (control method name corresponding to the constructor) included in the same collection may be made to match the control class name. In the aforementioned [Microservice 80], the management unit that groups control methods by common similar functions corresponds to a [Control Class]. Therefore, multiple different [Control Classes] may exist within a [Microservice 80] with the same purpose of use.
[0088] ●[Control Package]--Indicates a set of classes with similar functions. In other words, it is defined according to a mechanism for managing a set of classes with similar functions by dividing them into folders. In particular, in this embodiment, a control package is divided for each entity / state / information 7 included in the same module 9, and a different control package name (identification information for each control package) is set for each. Therefore, the contents of each entity / state / information can be identified by using the individually set control package name (identification information for each control package). Here, when setting the name of a [control package] for controlling a [device] belonging to an entity / state / information, identification information of the manufacturer or distributor of the module (or device), type information of the module (or device), individual serial numbers, etc. may be used (set) as identification information for each control package.
[0089] ● [Microservice file 2602]--Indicates the storage unit (storage form / storage format) for storing [microservice 80] in the storage area of the cloud server 2 or edge computer 6. If [microservice 80] is written in Java, for example, the contents of [microservice 80] are a series of descriptive statements in Java. To save this information, a file is constructed for each control class (in which the processing content for each control class is also described). The extension of this control class file is ".class". Also, a "folder" for each control package is placed in the storage area of the cloud server 2 or edge computer 6, and the control class file is stored in it. The name of this folder is made to match the name of the control package. Then, the manufacturer / vendor identification information of the module (or device) and the type information of the module (or device) can be known from this folder name, making it easy to search for the required control class file.
[0090] ●[API (API command) 75]--Indicates a means of communication (communication tool) between the [application (IF-THEN) engine 90] and the [microservice 80] for operating each microservice 80 from the [application (IF-THEN) engine 90]. Each [microservice 80] has a hierarchical structure of a control package / control class / control method. In the [API (API command) 75], a specific control method name indicating a detailed procedure (program) for realizing an individual detailed function is specified, and individual detailed function operations are often performed on a control method basis. For example, an example of a method for executing an individual detailed function of this specific control method in an application program 22 (including the [ifLink application (service providing application program)] described later) written in Java language will be described. In the class of this application program 22, first, a control class in a control package containing a corresponding control method is incorporated (import processing is performed). Then, by specifying the corresponding control method name in the above class or method, this individual detailed function can be executed. ● [Application (IF-THEN) rule 70]--Indicates information on a combination method (rule) of a plurality of different control means 4 (or modules 9) that indicates a method of providing a predetermined service to a user. When the [Application (IF-THEN) rule 70] is configured, for example, by hardware configured by a combination of logic circuits, the output terminal of this combination logic circuit is electrically connected directly to the input terminal side of the control logic configured by the combination of logic circuits in the [Control means 4]. On the other hand, when this [Application (IF-THEN) rule 70] is specified in a description format conforming to a predetermined description method (including HTML that configures a Web screen), 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]. Then, based on the result of the interpretation, 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 started.
[0091] ● [Integrated rule 700]--This rule is generated when multiple different [application (IF-THEN) rules 70] are defined in the same edge computer 6 or the same ifLink application. The purpose of generating this [integrated rule 700] is to discover in advance contradictions and problems that may occur when multiple different [application (IF-THEN) rules 70] are combined, and to avoid trouble when providing services to users. When a user wishes to define multiple different [application (IF-THEN) rules 70], the [integrated rule 700] is first generated in the cloud server 2, and operations according to this [integrated rule 700] are simulated in the cloud server 2. If a contradiction or problem occurs in the simulation result, the user is notified and a remedy is proposed (details will be described later using FIG. 23). After it is confirmed that no contradiction or problem occurs in the simulation result, this integrated rule 700 is installed 180 in the edge computer 6 from the cloud server 2. After this installation 180, various microservices 80 (control means 4) are operated in the edge computer 6 according to this [integrated rule 700].
[0092] ● [Edge computer 6]--Having an [application (IF-THEN) engine 90], the [application (IF-THEN) rule 70] and various [microservices 80] necessary for providing the corresponding service to the user are stored in advance. When a user wants to receive a specific service from [Place 1], the [application (IF-THEN) rule 70] and the corresponding [microservices 80] are pre-installed from the cloud server β2B based on the user's request to [Place 1]. The [edge computer 6] is composed of a processor, a memory unit, and a communication unit. The [application (IF-THEN) rule 70] and the corresponding [microservices 80] installed here are stored in the memory unit. In addition, the above processor performs the function of the [application (IF-THEN) engine 90] according to this [application (IF-THEN) rule 70]. As long as it is composed of a processor, a memory unit, and a communication unit, the [edge computer 6] can take any form. As a specific example of a form, a personal computer, a smartphone, a tablet, a signage, a gateway, a router, etc. may function as the [edge computer 6].
[0093] ● [ifLink application (service providing application program) 92]--means a program processed in the cloud server α2A or the edge computer 6 to provide a specific service to the user 1700. This is composed of an [application (IF-THEN) engine 90] that executes processing according to the contents of the [application (IF-THEN) rule 70], a setting and management screen unit 98, a data transmission unit 96 involved in communication between the cloud server 2, and a rule reception unit 94. In addition, in this [ifLink application (service providing application program) 92], it is programmed to first refer to the contents of a specific [application (IF-THEN) rule 70] that has been saved in advance. Then, the [application (IF-THEN) engine 90] in the cloud server α2A or the edge computer 6 executes processing according to the contents programmed in this [ifLink application (service providing application program) 92], and provides the specific service to the user 1700.
[0094] ● [Application (IF-THEN) engine 90] -- It is built into the cloud server α2A or the edge computer 6, and means a place (function) where processing / execution is performed within the cloud server α2A or the edge computer 6. In terms of hardware, a calculation processor (or its processing state) may be used. 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 according to the contents programmed in the [ifLink app (service provision application program) 92]. During the processing / execution, it issues the necessary [API command 75] to the microservice 80. Inside this [Application (IF-THEN) engine 90], a programming language interpretation engine corresponding to the description format (corresponding programming language) in which the [Application (IF-THEN) rule 70] is written, and a control engine that executes processing according to the program specified in the [ifLink app (service provision application program)] while referring to the interpretation result. A Web browser function may be built in in response to the case where the [application (IF-THEN) rule 70] is described (expressed) in HTML.
[0095] ● [Cloud server 2]--Has an [application (IF-THEN) engine 90] and stores in advance [application (IF-THEN) rules 70] and various [microservices 80] necessary for providing corresponding services to the user. When a user wishes to receive a specific service from [Place 1], the [application (IF-THEN) rules 70] and the corresponding [microservices 80] are transmitted to the edge computer 6 based on a request from the user to [Place 1]. When a link function (Anchor Element) that specifies a URL in HTML is used as an example of this transmission method, this [cloud server 2] may have a web server function.
[0096] ● [Service]--means an active action that combines the control of a given [entity / state / information 7] to provide a user with a given [processing] or [state] change, or [content] or [data / information], either for a fee or free of charge. In this embodiment, a [service] is provided to the user according to an [application (IF-THEN) rule 70]. In this embodiment, as a form of providing this [service], a combination (composite) service that crosses (spans) the boundaries between a service in the real or physical space using various devices 8 and a service in the cyberspace using a Web service or the like may be provided.
[0097] ● [Place 1]--means a "service provision platform" using the technology of this embodiment. Specifically, it refers to a "field" consisting of multiple [members] and in which activities related to providing [services] to users for a fee or free of charge are carried out. Specific activities in this [Place 1] may include, for example, creation (planning) of the above-mentioned [service] provision method, experimentation (trial), development and systemization, maintenance and system expansion of systems already used by users, promotion of technology (related to new [application (IF-THEN) rule 70]) planned / systemized in [Place 1], advertising and sales activities of systems developed in [Place 1] and their sales (mail order) activities, billing processing and accounting processing (including tax processing). These activities can be made into a place of co-creation (group creation) / group working / group marketing and / or grout commerce that transcends industries and genres, thereby revitalizing [Place 1] activities. In order to ensure compatibility between systems delivered to users through [Place 1] and scalability when connecting different systems, standardization of [Microservice 80] formats and methods for defining [Application (IF-THEN) rules 70] is also performed within [Place 1]. As an example, as will be described later in Figure 12, a standard template for [Microservice 80] may be provided to [Members] within [Place 1]. Distribution of [Microservice 80] created by inheriting the contents of this standard template or authentication 85 of the microservice may be performed. In addition to the above, within this [Place 1] 1) Authentication of Module 9 (or Microservice 80) 2) Distribution of 80 certified microservices (over the network) 3) Issuance / distribution / management of user key information 2650 4) Collection of usage fees for the provided system or certified microservice 80 from the user 1700 and distribution of the revenue to the modular 3100 5) Lending 80 microservice assets to other groups and collecting usage fees 6) Granting licenses to other groups and collecting license fees 7) Data obtained from the ifLink application installed on each edge computer 6 is analyzed 1808, and information services 1812 are provided using the obtained information.
[0098] ●[Member]--Refers to an individual, company (corporation), or voluntary organization that participates in [Place 1].
[0099] ● [System] -- Refers to the "service provision system" that [Place 1] provides to users. In this embodiment, it basically refers to the entire system that combines [Application (IF-THEN) rule 70] and [Microservice 80] installed in [Edge computer 6], and [Device 8] controlled by [Microservice 80] (or [Module 9] composed of [Microservice 80] and [Device 8]).
[0100] ●[ifLink Rule Manager]--A general term for the web page that contains information managed by [Place 1]. It contains information about all modules 9 and application (IF-THEN) rules 70 managed by [Place 1]. It also allows distribution of files (Class Files) related to microservices 70 and files (Rule Files) related to application (IF-THEN) rules 70.
[0101] The contents of the present embodiment explained so far and the effects resulting from it will be explained with reference to Fig. 9. In this embodiment, individual control means (microservices) 4 that control each recognizable entity / state / information 7 are set independently. Then, by operating the corresponding individual control means (microservices) 4 (using API commands 75) from application rules 70 (or integrated rules 700 combining multiple application rules 70), it is possible to provide the user with a variety of advanced services that combine different recognizable entities / states / information 7 (or different modules 9) [A].
[0102] The specific control method for each recognizable entity / state / information 7 is left to the individual control means (microservices) 4, and this specific control method is not specified at all (no external restrictions are imposed). As a result, optimal control 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] Here, if the control means 4 is formed (configured) as a software program (microservice), it becomes easy to copy / distribute it to various devices such as the edge computer 6 via communication 18. As a result, it becomes easy to disseminate unique functions involving each microservice 80 [C]. In addition, as shown in Fig. 8, it becomes easy to install 180 the control means (microservice) 4F on the communication path 18, improving the scalability and expandability of existing systems that use the microservice 80 [D].
[0104] In this embodiment, the microservice 80 may be written in an object-oriented programming language, which improves the consistency between the microservice 80 and other programs such as the application rules 70 (or the integrated rules 700 that 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 usage environment [F]. This effect will also be described later using Figure 11.
[0106] In this embodiment, the operation from the application (IF-THEN) engine 90 to each control means (microservice) 4 is performed only by transmitting an API command 75, and the specific control method performed by each control means (microservice) 4 for each recognizable entity / state / information 7 is not specified (no external restrictions are imposed). Then, the specific control method for each recognizable entity / state / information 7 is left to the discretion of each control means (microservice) 4 so that optimal control can be performed in accordance with the characteristics of each recognizable entity / state / information 7 [B].
[0107] The details of the above effect [B] will be described below with reference to FIGS. 10A and 10B.
[0108] Conventional IoT standards stipulate a communication protocol (control format) between a cloud server 2 and a device 8 or between an edge computer 6 and a device 8.
[0109] The standard for communication between the two parties using the Internet / communication line 10 is a "communication standard conforming to a wired or wireless communication medium 12" on top of which is a "communication standard used in the IP (Internet Protocol) layer 14", and on top of that is a "communication protocol (control format) conforming to the IoT standard".
[0110] All conventional IoT standards specify control format 16 in detail, such as: "Store 'Data A_40A' information in the first data field, place 'Data B_40B' information in the next data field, then write 'Data C_40C' information, and finally put 'Data D_40D' information."
[0111] In the cloud server 2 or edge computer 6, it is relatively easy to arrange data in accordance with the above IoT standard, which is specified in detail in the solid OS layer 30. However, when a control format 16 having such a complex data structure is received, a data interpretation unit 38 for deciphering it must be included in the device 8. Having this data interpretation unit 38 in the device 8 not only makes the device 8 more complex, but also raises the problem of an increase in the selling price of the device 8.
[0112] 10B, the control format 16 to be transmitted to the device 8 is not specified at all, and only data E60 that is optimal for the characteristics of the device 8 is transmitted. As a result, the burden on the device 8 is significantly reduced, and an inexpensive device 8 can be provided to the user.
[0113] Next, the effect [F] of writing a microservice 80 in an OS-independent programming language such as Java will be described with reference to Fig. 11. In the case of Java, which is an OS-independent general-purpose programming language, translation areas α1300A and β1300B (Virtual Machines) corresponding to the individual OS layers α30A and β30B are prepared in advance. The contents of the microservice 80 written in Java are translated via the translation areas α1300A and β1300B (Virtual Machines) and passed to the individual OSs α30A and β30B.
[0114] In particular, commands in the microservice 80 in this embodiment are written as a combination of basic APIs 75 at the OS layer α 30A and β 30B levels. As a result, the effect of being able to perform detailed basic control of each device is achieved. The technical content explained in this chapter is summarized below. The module 9 is composed of an entity or state that can be recognized by humans, information 7, and a control means 4 that controls it. A plurality of modules 9 can be defined. That is, a first control means γ4C for a first module γ9C and a second control means δ4D for a second module δ9D are defined individually.
[0115] Here, application rules 70 are set for providing services to users by combining this first module γ9C and the second module δ9D. Then, according to the contents of this application rule 70, API commands 75 are issued from the application (IF-THEN) engine 90 to the first control means γ4C and the second control means δ4D individually to operate the first or second control means γ4C, δ4D. The module control method in this embodiment is used.
[0116] In this embodiment, among the above-mentioned control means 4, the control means 4 formed (written) by a program using an object-oriented programming language is defined as a microservice 80. Therefore, a first microservice 80 (control means γ4C) that controls a first entity or state, information γ7C 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 for providing a service to a user by combining this first microservice 80 and the second microservice 80. Then, in response to an API command 75 issued from an application (IF-THEN) engine 90 according to the application rule β70B, the first and second microservices 80 individually control the first entity or state, information γ7C, δ7D that can be recognized by these first and second microservices 80.
[0117] In addition, in the edge computer 6 in this embodiment, the application rule γ70C (and the integrated rule 700) and the microservice 80 (control means 4F) are received from the cloud server β2B and installed 180 in advance. As a result, the first microservice 80 (control means ε4E) that controls the first entity or state, information ε7E that can be recognized by humans, the second microservice 80 (control means ζ4F) that controls the second entity or state, information ζ7F that can be recognized by humans, and the application rule γ70C (and the integrated rule 700) related thereto are built in advance in the edge computer 6. Here, the application rule γ70C (and the integrated rule 700) specifies a rule for providing a service to a user by a combination of the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F). Then, by operating the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F) within the edge computer 6, a second entity or state that can be recognized by a human, information ζ7F or a second entity or state that can be recognized by a human, information ζ7F is individually controlled to provide a service to the user.
[0118] In particular, the edge computer 6 in this embodiment has an application (IF-THEN) engine 90. Then, according to the rules defined in the above application rule γ70C (and the integrated rule 700), the application (IF-THEN) engine 90 issues an API command 75 to the first microservice 80 (control means ε4E) and the second microservice 80 (control means ζ4F). As a result, the first or second microservice 80 (control means ε4E, ζ4F) individually controls recognizable entities or states, information ε7E, ζ7F to provide services to the user.
[0119] In the service providing method according to the present embodiment, a service is provided to a user using the above-mentioned method.
[0120] The service providing platform (Place 1) in this embodiment uses the above method to provide services to users. In particular, in the service providing platform (Place 1) in this embodiment, members from various industries gather and exert synergy effects with each other, and they create (plan) the above new application rule γ70C (and integrated rule 700) and new microservice 80 (control means 4), or perform experiments (trials), development, systemization, maintenance and system expansion processing of systems already used by users, promotion of technologies generated in relation to the above, advertising and sales activities of the developed system and its sales (mail order) activities, billing processing, accounting processing, etc.
[0121] The collaborative work support method in this embodiment is a method for supporting the activation and efficiency of collaborative activities in the service providing platform (place 1). Specifically, a microservice 80 and an application rule 70 are provided to support the activation and efficiency of collaborative activities. That is, in collaborative work among multiple members, at least one of a first microservice 80 (control means γ4C), a second microservice 80 (control means δ4D), and corresponding application rules β70B is proposed and created, provided to the user, or executed by the user. Chapter 2 Microservices and Authentication Methods 12 shows the class configuration (software architecture) in the microservice 80. Note that, although this chapter will mainly explain the microservice 80, the contents explained below can also be applied to the control means 4 in a broad sense.
[0122] A basic function required for the microservice 80 is a "function to control each corresponding device 8". However, in addition to that, "peripheral functions related to the control of each device 8" are also required as functions of the microservice 80. As a specific example, it is necessary to perform interface processing with an application (IF-THEN) engine and to check whether the corresponding device 8 is in an operable state.
[0123] In this embodiment, the microservice 80 is separated into different classes according to the different functions described above, improving the functional extensibility within the microservice 80. That is, to execute the "control function of each corresponding device 8", an individual device control class (CustomDevice Class) 2102 is set. Then, multiple methods in which detailed procedure program contents for each individual detailed function of the corresponding device 8 are written are placed (written) within this.
[0124] On the other hand, a control class (Customins Class) 2110 within the microservice corresponding to an individual device is set up as a program for executing "peripheral functions related to the control of each individual device 8".
[0125] Here, the individual control methods in the individual device control class (CustomDevice Class) 2102 are called (embedded) from the individual device corresponding microservice control class (Customins Class) 2110 and made executable. import [Individual device control package name].[Individual device control class name (CustomDevice)]; When this is specified, it becomes possible to embed 76 an individual control class in the individual device control class 2102 in the control class (Customins Class) 2110 in the individual device corresponding microservice. Then, in the control class (Customins Class) 2110 in the individual device corresponding microservice or in a specific control class therein, the name of the individual control method in the individual device control class 2102, arguments, and the format (type) of the return value are described. This makes it possible to call / use 76 the individual control method in the individual device control class 2102 in the control class (Customins Class) 2110 in the individual device corresponding microservice or in a specific control class therein.
[0126] 10, in this embodiment, it is possible to transmit to the device 8 the optimum data E60 suited to the characteristics of each device 8 to be controlled. To make this possible, in this embodiment, it is possible to set different individual device control packages 2100 for different manufacturing / sales makers and device models.
[0127] On the other hand, it is necessary to guarantee compatibility between systems delivered to users and future expandability. In order to ensure such compatibility between systems and future expandability, Place 1 provides participating members with template classes that serve as the standard for the description content (program) of each class. That is, for the individual device control class (CustomDevice Class) 2102, the device control template class (BaseDevice Class) 2002 is provided to members as a template class. Also, for the individual device-compatible microservice control class (Customims Class) 2110, the microservice control template class (BaseIms Class) 2010 is provided to members as a template class.
[0128] The participating members of Place 1 can create an individual device control class (CustomDevice Class) 2102 and an individual device-compatible microservice control class (Customims Class) 2110 with only minor modifications (customization) 74 to the template content, which has the effect of enabling the participating members to efficiently create microservices 80 in a short period of time.
[0129] And to show that each class created by the participants of place 1 inherits the functionality of the original template class, for example, in the place where each class name created by the participants is defined, public class CustomDevice extends BaseDevice { By writing it as above, the relationship of function inheritance (Extends) 74 between classes is clearly stated. By making such a description method known within the place 1, not only does it become easier to manage individual microservices 80 within the place 1, but it also becomes easier to ensure compatibility and scalability between systems delivered to the user 1700 (Figure 24).
[0130] Incidentally, "public" in the above means that "the CustomDevice Class created in Place 1 is permitted to be used (repurposed) in other systems." If "private" were written here instead of "public," use would be prohibited except for one's own class (in the above example, the CustomDevice Class). Writing "protected" would mean that it would only be usable within classes in the package and classes that inherit functionality 74. Within Place 1, many members from different companies / organizations are involved in the creation (modification) of microservices 80. When so many members are involved, problems such as unintended tampering are likely to occur. In this way, being able to specify the access range for each class that can be commonly used within Place 1 has the effect of reducing the frequency of problems occurring within Place 1.
[0131] As shown in FIG. 12, an API command (collaboration specification) 75 from an application (IF-THEN) engine 75 is processed in a control template class (BaseIms Class) 2010 within the microservice.
[0132] Also, while a specific service is being provided to the user 1700, an abnormality such as the battery running out of the device 8 may occur. An abnormality detection class (HealthCheckTask Class) 2016 having a function for dealing with such an emergency abnormality is provided, making it possible to quickly deal with the abnormality. This abnormality detection class (HealthCheckTask Class) 2016 is called / embedded from the microservice control template class (BaseIms Class) 2010 as a call / embedded process 76. The call / embedded process 76 here is processed in the same manner as described above.
[0133] When a device 8 is installed outside the cloud server 2 or the edge computer 6, the microservice 80 controls the device 8 via a communication line 18. Here, for example, if the communication line 18 becomes congested or is disconnected, there is a risk that the system will freeze until a response is returned from the device 8.
[0134] On the other hand, by installing a response time monitoring class (TimeoutCheckTask Class) 2006, it is possible to monitor the communication status between the microservice 80 and the device 8. Then, by detecting a communication problem and taking a quick action, it is possible to prevent the system from freezing.
[0135] Depending on the type of sensor device 802, various data ranging from binary data (two-value data of "1" or "0") to video streams must be handled. By providing a stream control engine class (StmEngine Class) 2004, it is possible to efficiently handle various data in an integrated manner. A stream analysis class / method using AI technology may be placed inside this stream control engine class (StmEngine Class) 2004 or at the same level as it. That is, as described above, an import statement is used to incorporate a stream analysis class using AI technology into the stream control engine class (StmEngine Class) 2004 or into 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 / method using AI technology in the stream control engine class (StmEngine Class) 2004 or into the device control template class (BaseDevice Class) 2002.
[0136] This makes it possible to pass not only raw stream data obtained from the sensor device 802 to the application (IF-THEN) engine 90, but also to pass only analysis result information obtained as a result of automatically analyzing the stream data to the application (IF-THEN) engine 90, resulting in an effect of significantly improving the processing load of the application (IF-THEN) engine 90. In this case, the raw stream data obtained from the sensor device 802 may be sequentially stored as a time-series file in the data / information storage device 2 in the edge computer 6 or the cloud server 2. Then, a method in the stream analysis class using AI technology plays the time-series file (raw stream data file) at appropriate times. Then, a specific condition (IF) β may be determined using the analysis information obtained by the data analysis using AI technology.
[0137] 12, the device control template class (BaseDevice Class) can call / embed 76 the response time monitoring class (TimeoutCheckTask Class) 2006 and the stream control engine class (StmEngine Class) 2004 described above. The specific method of this call / embed 76 process is the same as that described above.
[0138] In this embodiment, when the microservice 80 is written using an object-oriented programming language (such as Java), the existing program assets in the basic control package 2000 can be effectively used in the individual device control package 2100. This significantly improves the efficiency of development of the microservice 80 by the members in Place 1.
[0139] For example, use the import statement in the control class (Customins Class) 2110 in the individual device corresponding microservice and before the individual device control class (CustomDevice Class). import [Name of Basic Control Package 2000].[Anomaly Detection Class Name (HealthCheckTask)]; and import [Name of Basic Control Package 2000].[Response Time Monitoring Class Name (TimeoutCheckTask)]; import [Basic control package 2000 name].[Stream control engine class name (StmEngine)]; By writing this, you can use the programs of the methods defined in each class.
[0140] Furthermore, the destination of the API command (integration specification) 75 from the application (IF-THEN) engine 90 is changed from the control template class (BaseIms Class) within the microservice to the control class (Customims Class) within the microservice corresponding to the individual device.
[0141] As a result of this series of processes (program changes), the corresponding classes 2002, 2010 in the basic control package 2000 are essentially replaced 71 with the corresponding classes 2102, 2110 in the individual device control package 2100. Writing a microservice 80 using an object-oriented programming language in this way has the effect of making it easy and accurate to edit the program with only a very slight change to the contents written. The functions of the microservice 80 set in the individual device control package will be described with reference to Figure 13. The three items circled in the required column 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 functions depending on the characteristics of the corresponding device 8.
[0142] Among the microservice functions, Initialization 2210 indicates the function of connecting to the ifLink app and registering the microservice 80 and the device 8 to be controlled when launched from the ifLink app (see the definitions of terms above).
[0143] The function of termination 2212 is a function that, when terminated from the ifLink app, disconnects and terminates the connection with the ifLink app, the microservice 80, and the device 8 that it controls.
[0144] The start / stop 2214 function is a function for starting or stopping the device 8 when the rule of the device 8 registered as the application (IF-THEN) rule 70 becomes valid or invalid.
[0145] Next, the function of the status notification 2216 will be described. The ifLink application manages the status of registered devices. This status notification 2216 indicates a function of notifying the ifLink application in order to update the status of the device 8 managed by the ifLink application.
[0146] The function of sensor data transmission 2218 is a function of transmitting sensor data sent from the controlled device 8 to the ifLink application.
[0147] Finally, we will explain the function of JOB reception 2220. JOB contents (operation instructions / API) are notified from the cloud server 2 or application (IF-THEN) engine 90 via the IfLink application. This JOB reception 2220 is a function that processes JOB information received from the IfLink application.
[0148] Fig. 14 shows a list of APIs provided by the microservice control template class (BaseIms Class) 2010. That is, each control method shown in Fig. 14 is described (placed) in the microservice control template class (BaseIms Class) 2010. That is, each control method described in the method / function column 2302 in Fig. 14 needs to be provided as standard in the microservice 80.
[0149] The "void" or "int" at the beginning of each control method listed in the method / function column 2302 indicates the type (format / type) of the return value of the control method. For example, when this control method is called 76 from a specific class or a specific method, it indicates "what type of data will be returned to the class or method being used" after the processing of this control method is completed.
[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 has finished processing, no specific data is returned to the class or method that is using it).
[0151] Similarly, in a control method that starts with the letters "int" or "long", an integer in the 32-bit or 64-bit range is returned after the control method has finished processing.
[0152] In a control method where the word “boolean” is written first, a truth value of “true” or “false” is returned after the control method has finished processing.
[0153] Additionally, within the parentheses of the control method, the "argument type (format / type)" and "argument" that will be passed on to the control method are listed as a pair separated by a "space." If multiple "arguments" are passed on here, a "," (comma) is placed between the pairs of arguments.
[0154] As for the type (format / type) of this argument, "String" represents a "character string." Additionally, "Map" represents a "key / value database" in which keys and values are stored in pairs. Additionally, "HashMap" refers to the above-mentioned "key / value database" or a class (HashMap Class) that uses this mechanism. In this way, using a "key / value database" to control Device 8 has the effect of enabling data / information to be shared 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 searches.
[0155] Moreover, "Message" means a "message" that can be sent directly to the application (IF-THEN) engine 90 or to the ifLink application. The "constructor" described in Fig. 14 has already been explained in the definition of terms related to [control class].
[0156] "EPA", "epa" and "Epa" described in FIG. 14 are abbreviations of "End Point Access" and indicate the application (IF-THEN) engine 90 and the ifLink application. In relation to this, "void onActivationResult(boolean result, EPADevice device)" is described at the 28th position in FIG. 14. This process outline 2304 is described as "notification of service registration result from ifLink application". Here, as arguments, "EPADevice" is specified as "argument type (format / type)" and "device" is specified as "argument". "Service registration" here means "registration of device 8 operated by application (IF-THEN) rule 70". The result is entered in an argument called "result". If "registration was successful", "true" is entered in "result" and the process returns. On the other hand, if "registration was unsuccessful", "false" is entered in "result" and the process returns. "Device" in the above argument means a specific device 8 to which identification information called "device" is set. And the "EPADevice" that specifies the "argument type (format / type)" means "a device 8 that the application (IF-THEN) engine 90 or the ifLink application can identify."
[0157] The device 8 used in this embodiment also includes a portable device 8. Therefore, when an attempt is made to operate the portable device 8 according to the application (IF-THEN) rule 70, there are many cases in which the target portable device 8 is taken out of the operation area. Therefore, before providing a service to a user, it is necessary to confirm in advance whether the target portable device 8 is present within the operation area. For this purpose, it is necessary to pre-register the portable device 8 whose presence within the operation area should be confirmed in advance.
[0158] For this advance registration, the callback registration "void registerCallback()" or "void registerCallback(String cookie)" described in the 11th or 12th item is performed. For the portable device 8 for which advance confirmation of whether it is in the operation area is no longer necessary, Execute “void unregisterCallback()” to cancel the callback as described in the 13th item.
[0159] If the target device 8 can be confirmed in advance, the 14th "boolean createDevice()" is used to "register the device." Conversely, for device 8 that could not be confirmed in advance, the 15th "boolean deleteDevice()" is used to "delete the device."
[0160] Also, while providing a service to a user, for example, a specific device 8 may run out of battery, making it difficult to continue the service. To deal with this situation, the 21st “void startHealthCheck(long interval)” can be used to “start a health check” for each device 8. In this method, instead of “continuous health checks”, a check may be performed at regular intervals specified by “interval”.
[0161] When a problem occurs, a "warning notification" must be sent from the microservice 80 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 description rules are the same as those in Figure 14.
[0163] An application rule 70 is basically composed of a combination of predetermined actions (THEN) 78 corresponding to predetermined conditions (IF) 72. For example, the recognizable entity / state / information 7 that is the subject of the condition (IF) 72 judgment changes from moment to moment, just as the temperature, humidity, and illuminance of the user's environment change from moment to moment. In order to accommodate this change over time, in this embodiment, the recognizable entity / state / information 7 can be recorded in chronological order on a "HashMap" that corresponds to a "key / value type database."
[0164] For example, when it is desired to obtain the current recognizable entity / state / information 7 (i.e., to obtain sensor data obtained from the sensor device 802, for example), "HashMap createSensorData()" is called 76 from within the microservice control template class (BaseIms Class) 2010 to "generate sensor data". On the other hand, when it is desired to "generate sensor data" at a specified time, the specified time for obtaining data is set in the argument "time" in "HashMap createSensorData(long time)". Also, when it is desired to obtain data at a specific time interval (= "generate sensor data"), the data obtaining time according to the specific time interval is automatically calculated by a program in the microservice control template class (BaseIms Class) 2010. Then, the automatically calculated times are sequentially specified in the argument "time" in "HashMap createSensorData(long time)".
[0165] The sensor data (contents of recognizable entities / states / information 7) accumulated in a chronological order is then "sent" from the device control template class (BaseDevice Class) 2002 to the microservice internal control template class (BaseIms Class) 2010 using "long sendSensor(Map map)".
[0166] As an example, Fig. 15 shows a list of control classes in the device control template class (BaseDevice Class) 2002 corresponding to the sensor device 802. However, in addition to this, as shown in Fig. 1, it is necessary to control various robots (or drive mechanisms) included in the mobile terminal device 808, HMD device 810, and IoT device 820. Therefore, in addition to the contents shown in Fig. 15, the process overview 2304 may include, for example, "execute drive" and a previously specified "display screen / image".
[0167] Furthermore, when various devices 8 are placed outside the edge computer 6 or cloud server 2, communication control between the devices 8 and the corresponding microservices 80 is required. Although an explanation of the source code of the control method shown in FIG. 15 is omitted here, the control required for communication control may also be described in the source code. For example, by incorporating 76 the "Socketlmpl Class" in the "java.net" package, communication control for the devices 8 can be performed at the IP address level. Specifically, import java.net.Socketlmpl; This will allow you to write various methods that perform basic communication control in the Socketlmpl Class. It becomes possible to use. The state transition of the device 8 in this embodiment will be described with reference to Fig. 16. Five states of the device 8 are defined: a stopped state 2400, an operating state 2402, an executing state 2408, a ready state 2410, and an error state 2414.
[0168] Immediately after control of the device 8 starts 2300, the device is in a stopped state 2400. Then, when "createDevice()" (see number 14 in FIG. 14), which means starting device control by the microservice 80, is executed 2502, the device 8 moves to an operating state 2402. If the response 2506 of "createDevice()" fails 2510, the device enters an error occurrence state 2414, and returns to the stopped state 2400 when the ifLink application is disconnected 2500. Even when the device 8 is in an operating state 2402, if the ifLink application is disconnected 2500, the device 8 returns to the stopped state 2400.
[0169] On the other hand, if the response 2506 to "createDevice()" is successful 2512, the device 8 enters a ready state 2410. Then, when an operation instruction 2508 arrives from the application (IF-THEN) engine 90, the device starts operating and enters an executing state 2408. If a stop instruction 2504 arrives from the application (IF-THEN) engine 90, the device operation stops and the device 8 returns to the ready state 2410. Furthermore, regardless of whether the device 8 is in the ready state 2410 or the executing state 2408, if the ifLink application is disconnected, the device 8 enters a stopped state 2400.
[0170] If the device operation fails while device 8 is running 2408, 2530, it becomes necessary to retry starting the device operation, and therefore device 8 enters an error occurrence state 2414. Similarly, if the time period during which there is no response from device 8 while device 8 is running 2408 becomes long, a timeout 2520 occurs, and device 8 enters an error occurrence state 2414.
[0171] As explained in Chapter 1, the module 9 that realizes a given function is separated into the device 8 (or the entity / state / information 7 that can be recognized by humans) and the microservice 80 (or the control means 4) that controls it. This makes it possible to manage the state of the device 8 and the state of the microservice 80 separately. On the other hand, while a service is being performed for a user, the user may "change the contents of the application (IF-THEN) rules 70" (i.e., the device 8 operated from the application (IF-THEN) rules 70 may suddenly change). Managing the state of the device 8 and the state of the microservice 80 separately in this way has the effect of making it easier to make real-time changes to the "changes to the application (IF-THEN) rules 70" made by the user.
[0172] As shown in Fig. 17, six states can be defined as the states of the microservice 80 in this embodiment: a quiescent state 2400, connecting 2412, operating state 2402, a state 2404 in which the device is operating, starting 2300, and an error occurred 2414. Then, as shown in Fig. 17, a relationship is established between the state of the microservice 80 and the state of the device 8. In FIG. 18, in order to guarantee the performance of the system developed in the place 1 on the user side, authentication of the module 9 is performed in the place 1. Even when a specific module 9 is viewed alone, it has various attributes such as compatibility with other modules 9 used together, the range of conditions of the usable environment, and the stability of the communication line between the microservice 80 in the same module 9 and the device 8 controlled by it. Therefore, "certification level grading" 2560 is performed taking into consideration "compatibility between different systems," "future system development potential," "wide range of physical usable environments," and "stability of the communication line between the microservice 80 and the device 8 controlled by it." In other words, at the highest authentication level, "compatibility with other systems and future system expandability are guaranteed, and stable operation is guaranteed in all usage environments (including not only physical environments such as temperature and humidity but also the congestion of communication lines)." On the other hand, at the lowest authentication level, "it can be used only under conditions limited to the application (IF-THEN) rule 70 specified in advance in a specific usage environment." It can also be said that this "certification level grading 2560" is set according to operational reliability and other certification standards 2552.
[0173] 18 shows an example of an authentication procedure for module 9 in place 1. The authentication criteria 2552 in place 1 refer to communication connectivity, reliability, responsiveness (response speed), safety, security, and usage consistency within and outside module 9 (i.e., between microservice 80 and application (IF-THEN) engine 90).
[0174] As a method for checking the communication connectivity within module 9, a direct communication line connection is made via a wireless line or a wired line. 1) Is communication being conducted in accordance with the module information 2532 submitted at the time of module certification application 2556? 2) Is the response time (turret speed) as described in module information 2532 ensured? 3) Whether the module performs operations other than those described in the module information 2532 (whether it has any functions outside the specifications) may be evaluated using a communication content analysis device (for example, a sniffer in the case of wireless communication).
[0175] As the first step of the certification procedure, a prototype 2542 of module 9 is performed in place 1. The prototype module 2522 (or an improved version thereof) completed in this prototype 2542 becomes a “module certification pre-test kit” 2524.
[0176] Next, each participating member in place 1 individually performs a pre-test 2544 using this "module certification pre-test kit 2524". Then, attaching this tested module 2526, the participating member creates 2546 an application for place 1. Then, information 2532 on module 9 being applied for certification, a pre-test result report 2534, and customer support procedures 2536 are attached to this module certification application 2556. At the module certification application 2556 stage, the member applying also self-declares "Which certification level grade 2560 does it conform to?" At the same time, the participating member pays the certification fee to place 1.
[0177] Then, in response to this module certification application 2556, a "certification test" 2548 is also conducted within Place 1. If this test is passed 2550, a certified module registration 2558 is performed according to the "certification level grade 2560" applied for by the member in advance. Module 9 for which certified module registration 2558 has been performed is listed and published on the homepage of Place 1. Furthermore, module 9 listed on this homepage will be subject to primary support at Place 1.
[0178] As described above, in the module authentication in this embodiment, a two-stage test is performed: a preliminary test 2544 performed by each participating member and an "authentication test" 2548 performed by place 1. As a result, the reliability of the authentication result is improved, and a highly reliable system can be provided to users.
[0179] In this way, the authenticated module 9 exhibits stable performance. Therefore, in this embodiment, in order to prevent theft, the encrypted microservice file 2630 is distributed via the network communication 18. This provides the effect of providing strong technical protection for the authenticated module 9.
[0180] 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 relative to the time of installation 180 in the edge computer 6. Then, once a predetermined period of time or a predetermined number of uses has elapsed since distribution, the microservice 80 cannot be used unless a specific process is performed, thereby enabling appropriate management of the microservice 80, such as preventing unauthorized theft.
[0181] As a specific method, in this embodiment, 1) Only encrypted microservice files 2630 (class files) are distributed over the network. This prevents unauthorized use during the distribution route. 2) Automatically monitor the duration and / or number of uses at the destination ⇒ This allows you to freely set the period or number of times that the microservice 80 can be used. 3) Control the monitoring result based on the transmission 18 from the cloud server 2 side of the distribution source. ⇒ As a result, the cloud server 2 can control whether the microservice 80 is available on the user side without placing a burden on the user. However, without being limited to this, any means for automatically disabling the microservice 80 may be used.
[0182] As a specific example, a counter that affects the decryption process of the decryptor 2608 may be provided, and the count value may be used to control whether the decryptor 2608 is able to decrypt.
[0183] As shown in FIG. 19, a circuit in which a "part for decrypting an encrypted microservice file (class file)" and a "control unit 2680 for controlling device 8 according to the decrypted microservice file 2620" are stored "inside one chip 2600" is stored in the edge computer 6. User key information 2650 can also be stored in this "inside one chip 2600". With this structure in which the user key information 2650, the decryptor 2608, and the control unit 2680 for controlling device 8 are stored "inside one chip 2600", the decrypted microservice file 2620 does not go outside the "one chip 2600". This ensures strong security.
[0184] When the user completes the procedure for purchasing a given system (including payment processing) from the place 1, a "mutual authentication" procedure is performed between the edge computer 6 used by the user and the cloud server 2 managed by the place 1. During this process, user key information 2650, which is different for each user, is shared between the edge computer 6 and the cloud server 2.
[0185] In the cloud server 2, an encrypter 2602 encrypts the microservice file 2620 using this user key information 2650. This generates an encrypted microservice file 2630 that can be transmitted.
[0186] In 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 decoder 2608. In this decryption, the user key information 2650 stored in advance is used. The decrypted microservice file 2620 obtained here is stored inside the one chip 2600. Then, the control unit 2680 present in the one chip 2600 uses the information of the decrypted microservice file 2620 to control the corresponding device 8.
[0187] Inside the one chip 2600, information on the encrypted count value 2616 at the present time is stored 2628. The encrypted count value 2616 at the present time is also decrypted in the decryptor 2608 using the same user key information 2650. The decrypted current count value 2618 is incremented (count value increase process) as necessary. When the use of the microservice 80 limited to a predetermined number of times is specified here, the count value is incremented by "1" each time the microservice file 2620 is used. On the other hand, when the use of the microservice 80 limited to a predetermined period is specified, the count value 2618 is changed according to the elapsed time of a timer (not shown) provided inside the one chip 2600. This count value control method is not limited to the above, and may be controlled by a combination of the number of times of use and the period of use.
[0188] When the count value reaches a predetermined value, the current count value control unit 2618 controls 2622 both the control unit 2680 and the decoder 2608 to stop the decoding process and the process of the control unit 2680 using the microservice file 2620. This makes it impossible to control the device 8 by the microservice 80 in the edge computer 6.
[0189] On the other hand, the count value (2618) calculated by the current count value control unit 2618 is encrypted via the encryption device 2602. The current encrypted count value 2616 obtained here is appropriately stored 2628 and also transmitted 18 to the cloud server 2 side.
[0190] The cloud server 2 side decrypts the received encrypted count value 2616 at the current time using a decryptor 2608, and notifies 2672 the control unit 2670 of the decrypted count value 2618 at the current time. The control unit 2670 in the cloud server 2 then continuously monitors whether or not the count value is about to reach a predetermined count value.
[0191] If a valid contract between the user and Place 1 continues (e.g., 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 within the edge computer 6 is reset.
[0192] Here, the encrypted count “0” data 2614 is generated by encrypting the count “0” data 2612 in the encryptor 2602 using the user key information 2650 .
[0193] The above explanation in Chapter 2 has mainly focused on the microservice 80 and the microservice file 2602. However, the above embodiment is not limited to this and can be applied to any control means 4 (see FIG. 8). FIG. 20 shows a procedure for operating a desired system in the vicinity of the user 1700 when the user 1700 purchases the system from the place 1 .
[0194] The ifLink rule manager (see the definition of the term [ifLink rule manager]) managed by Place 1 contains a list of application (IF-THEN) rules 70 that have been planned / developed within Place 1. User 1700 can search within this ifLink rule manager to find a new system that he / she wants to purchase or an extension system for an existing system.
[0195] Then, the user 1700 applies to the place 1 for system purchase or system expansion using a Web page (which may be a part of the ifLink rule manager) managed by the place 1 (S02). In this embodiment, payment may be made by advance payment processing (S03).
[0196] Then, according to the contents of the application, the necessary device 8 is delivered to the user 1700 via a mail order route as shown in S04. In addition, the device 8 is accompanied by a URL indicating the source of the rule file and the microservice file 2602, and password information required to open them.
[0197] As shown in S05, the compressed folder (Zip (Zone Improvement Plan) folder) can be installed by accessing the specified URL in place 1 with the notified password. As described in Chapter 2, the contents of the microservice 80 store control classes corresponding to each folder of individual control packages. In addition to that, a rule file indicating the contents of the application (IF-THEN) rules and an executable file for installation in the edge computer 6 are required. The hierarchical file structure of these files is maintained as is in the compressed folder. (Note that an example of this hierarchical file structure will be described later with reference to FIG. 21(a).) Furthermore, the rule file and each individual control package are each encrypted. The user key 2650 required for this encryption may also be stored in the specified URL in place 1.
[0198] After the compressed folder is returned and transferred to the user's edge computer 6, the user 1700 opens the above-mentioned executable file (S06). The user 1700 then performs a series of processes in response to the request for this executable file, thereby performing the initial settings for each microservice 80.
[0199] Once this initial setting is complete, the executable automatically checks the system operation as shown in S08. If the correct operation cannot be confirmed here (S09), the process returns to S07.
[0200] An example of visualization of the application (IF-THEN) rules 70 will be described with reference to Fig. 21. As time passes since the user purchased the system, the user may forget the contents of the application (IF-THEN) rules 70 that he or she desired at the time of purchase. Therefore, if the application (IF-THEN) rules 70 can be made visible to the user, the user's sense of security and convenience will be improved.
[0201] In this embodiment, the method of presenting the application (IF-THEN) rules 70 to the user is as follows: 1) Display using a web screen (HTML description) 2) Display using the widget function on your smartphone It is possible to display the rules in a variety of ways according to the user's request. As an example of this display method, a method of displaying application (IF-THEN) rules 70 to the user using a Web screen (HTML description) is shown in FIG. 21(b).
[0202] 7, in Fig. 21(b), if the device 8 operated in relation to the application (IF-THEN) rule 70 is represented using an icon or some kind of image, it becomes easier for the user to see. A sensor device 802 is used as the device 8 corresponding to the condition (IF) 72 in the application (IF-THEN) rule 70, and a sensor icon 2732 is displayed corresponding to it in the example of Fig. 21(b). Also, a robot is used as the device 8 corresponding to the execution (THEN) 78 in the application (IF-THEN) rule 70, and a robot icon 2752 is displayed corresponding to it.
[0203] The relationship between the sensor drive 802 corresponding to the condition (IF) 72 indicated by the application (IF-THEN) rule 70 and the robot corresponding to the execution (THEN) 78 is represented by an arrow icon 2742.
[0204] 21 is structured to show the storage destination information for each encrypted microservice file 2630 in the edge computer 6. In this way, the application (IF-THEN) rules 70 are visualized and at the same time the storage destination information for each corresponding encrypted microservice file 2630 is linked, thereby significantly improving the processing efficiency of the application (IF-THEN) engine 90.
[0205] As already explained using Fig. 12, 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 intra-microservice control template class file BaseIms.class2010, and the anomaly detection class file HealthCheckTask.class2016 are placed in the basic control package BaseIMS2000 (i.e., in the corresponding folder). This file hierarchical structure is the class file placement in the basic control folder BaseIMS2000 in Fig. 21(a).
[0206] On the other hand, the individual device control package 2100 corresponding to the sensor device 802 corresponds to the CustomIMS_A folder 2710. In addition, an individual device corresponding microservice control class file Customims.class 2728 and an individual device control class file CustomDevice.class 2722 are stored in the folder CustomIMS_A.
[0207] Furthermore, the individual device control package 2100 corresponding to the robot device corresponds to the CustomIMS_B folder 2720. In addition, an individual device corresponding microservice control class file Customims.class 2728 and an individual device control class file CustomDevice.class 2722 are stored in the folder.
[0208] A Rule.xml file 2760 that defines the application (IF-THEN) rules 70 is placed in the common folder.
[0209] Fig. 21(c) shows an example of an HTML statement for displaying the Web screen 2700 of Fig. 21(b). The statement regarding this Web screen 2700 is written in the portion between body elements 2702 and 2708.
[0210] where and sentence 2812, which states: Sentence 2822 states, Sentence 2832 states, These define the storage locations of an icon (image) 2732 indicating a sensor device, an arrow icon (image) 2742, and an icon (image) 2752 indicating a robot device. Sensor and sentence 2818, which states: Robot The sentences 2838 indicate the textual descriptions "Sensor" 2738 and "Robot" 2758 on the web screen.
[0211] by the way The sentence 2822 is an anchor element. 2820 and When the arrow icon (image) 2742 is sandwiched between the Anchor Element and the Rule.xml file 2760, 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 embodiment shown in FIG. 21C, In 2820, a "query parameter indicating the location of the source" is added. That is, the link element (Anchor Element) The statement "Rule.xml" in 2820 indicates the storage destination of the application (IF-THEN) rule file in the edge computer 6. And the statement ?host-params="https: / / -- .xml" indicates the URL of the distribution source.
[0212] There is a risk that a user may mistakenly delete an application (IF-THEN) rule file in the edge computer 6 due to an operational error. By having the URL of the distribution source in this way, the convenience of re-distribution of application (IF-THEN) rule files is improved.
[0213] In the embodiment shown in FIG. 21(c), both the icon (image) representing the device and the text representing the device name are provided as a link element (Anchor Element). 2810, 2830 and This structure sandwiches the icon (image) and the text, and allows the user to link the corresponding microservice 80 storage destination by simply specifying either the icon (image) or the text, improving user convenience.
[0214] A link element (Anchor Element) that indicates the destination where the encrypted microservice file 2630 is saved. The rules 2810 and 2830 are written in the same manner as the application (IF-THEN) rule file. "CustomIMS_A / Customims.class" and "CustomIMS_B / Customims.class" are linked to the storage destination of the encrypted microservice file 2630 in the edge computer 6. Also, "?host-params="https: / / --.class"" indicates the URL of the distributor (cloud server 2). In this way, the addition of a "query parameter indicating the location of the distributor" improves the convenience of re-distribution of the encrypted microservice file 2630.
[0215] As shown in Figure 21, by displaying the application (IF-THEN) rules 70 using a web screen (HTML language) and simultaneously linking to the storage destination of the corresponding encrypted microservice file 2630, the user's convenience in visualizing the application (IF-THEN) rules 70 and the convenience of accessing the corresponding microservice 80 in the ifLink app 92 are greatly improved.
[0216] Furthermore, if the user expands the system, the structure in the integrated rules 7000 (see FIG. 8) becomes complicated. On the other hand, if the integrated rules 7000 are written using the Web screen (HTML language) 2700, it is possible to write even complex combinations relatively easily.
[0217] FIG. 21 shows a web screen 2700 after the encrypted microservice file 2630 is delivered. However, the web screen (HTML language) 2700 may be used for file delivery on the cloud server 2 side. The link element (Anchor Element) in this case 2810, 2830 and The URL of the file source described in the file will be the destination of the corresponding file in cloud server 2. And this link element (Anchor Element) 2810, 2830 and By simply clicking on the icon (image) or text written within the box, the corresponding file can be easily downloaded. By using the web screen (HTML language) 2700 in this way, the convenience of distributing files from the cloud server 2 to the edge computer 6 is greatly improved. Chapter 3 Activities within the place In the traditional manufacturing 1200 field, the method of commercializing new products was often to carry out all processes from elemental technology development to product development and sales within one company or within a related group company. Therefore, even if an excellent product concept was proposed, there were many unfortunate cases where the product had to be abandoned due to a lack of budget in the business division that would commercialize it.
[0218] Many companies and organizations from different industries will participate in Place 1, forming a place for co-creation, co-industry, and co-commerce. If the "simple prototype evaluation results" are well received at the Open Presentation 1918 (see Figure 6), there will be more opportunities to obtain financial support for commercialization. There is also a possibility that an offer to "develop a market" for the product will come from an unexpected industry.
[0219] Figure 22 lists the advantages and disadvantages of Place 1 activities, which provide a venue for co-creation, joint business, and joint commerce, compared to the traditional method in which the entire process up to product development was handled within one company or related group companies.
[0220] Consider the advantages of Place 1 as a place where diverse technologies are organically combined. The diverse service provision technology assets and know-how assets accumulated in each industry can be effectively utilized in other industries, creating synergy effects. In addition, development resources and development deliverables can be effectively utilized for application software (including microservices80) developed using object-oriented programming languages. Furthermore, with many business support members participating in Place 1 as mentioned above, there will be many business opportunities.
[0221] On the other hand, since members can freely join / withdraw from Place 1 at any time, there is a drawback that the transfer of technology may be reduced when a member leaves. Also, because it is a voluntary gathering, there is a drawback that the assignment of the main person in charge and the responsibility for the ongoing maintenance of the system delivered to the user or the expansion of the system may become unclear.
[0222] Also, consider this from the perspective of "a place where the principle of competition works." The advantage of the principle of competition is that it provides an environment in which technological capabilities can be easily improved through mutual improvement. On the other hand, there is a disadvantage that technologies that are defeated in short-term competition tend to be buried, making it difficult to develop long-term technologies.
[0223] Next, let's consider the perspective of "exerting the spontaneous motivation" of the participating members. Place 1 has the advantage of attracting members with high spontaneous motivation. On the other hand, it has the disadvantage that it is difficult to fairly evaluate and fairly distribute rewards (and as a result, it is easy to destroy the high motivation of members).
[0224] In light of the above analysis results, it is desirable to develop "technical solutions that enhance the advantages and reduce the disadvantages." The methods for achieving this are as follows: A) Technology that enables the long-term effective use of diverse technological assets B) Standardization of API (commands) for microservices 80 C) Certification for Module 9 It is desirable to provide (A) through (C) to Place 1.
[0225] Regarding (C) above, if authentication of module 9 is performed within place 1, the reliability of performance of each module 9 can be guaranteed. Therefore, even if the person in charge of a specific user is not fixed (i.e., even if the person in charge of system maintenance or system expansion is changed), a stable system (or an expanded system) can be provided to the user. In relation to (B) above, standardizing the API (commands) for microservice 80 will improve the compatibility and scalability of the system delivered to the user. Therefore, even if a specific member leaves Place 1, the decline in technical transferability will be suppressed. By providing a "highly versatile template class" as explained in Chapter 2 (Figure 12) as a specific method of technical standardization, it is possible to achieve a certain degree of standardization of the API (commands) for microservice 80 without restricting the freedom of participating members.
[0226] Next, regarding (A) above, it is important to note that it is sometimes unclear in advance what is a useful and transferable technological asset (technical know-how). In in-depth discussions among members from different industries, the content of the members' remarks includes "technologies and know-how accumulated in each industry." Therefore, in this embodiment, we provide a "technology that can extract necessary technologies and know-how from the minutes of past meetings in Place 1."
[0227] A specific example is shown in Figure 23. A microphone for voice input is permanently installed in the conference (meeting) held in Place 1, and the contents of what is said during the conference (meeting) are sequentially input by voice (S51). In addition, by registering the names and voiceprints of the participating members immediately before or after the conference (meeting), it becomes possible to identify the speaker for each input voice.
[0228] In the next step 52, dictation (automatic transcription processing) of the remarks is performed using the results of the voiceprint analysis. In the minutes 3004 (S53) of all the meetings obtained as a result, the remarks of each speaker 3032 to 3036 are recorded in text format.
[0229] Meanwhile, distance 3028 between word A_3010 and word B_3012 is extracted using articles in newspapers / magazines and documents 3006-1 to 3 listed on SNS (Social Network Service). Specifically, distance 3028 is calculated based on frequency 3016 of word A_3010 and word B_3012 being mentioned simultaneously in the same documents 3006-1 to 3 and distance 3016 between the two words when mentioned simultaneously in the same documents 3006-1 to 3. As a result, database 3008 of distances between words is created.
[0230] This database of inter-word distances 3008 is a list of inter-word distances 3028 between a specified word A 3010 as a target word 3020 and words B_3012 and C_3018 corresponding to related words 3022 .
[0231] Next, a method for extracting technologies and know-how to be collected from past meeting minutes 3004 will be described. This method is similar to searching a web screen on the Internet. First, a search web screen designated by Place 1 is opened, and a keyword (or a set of multiple keywords) 3002 related to the technology or know-how to be extracted is entered.
[0232] Then, related meeting minutes excerpt candidates 3000 are displayed, similar to the candidate display displayed when searching a web screen on the Internet. In this case, headings a3042 to c3046 are displayed at the top. And directly below that, related descriptions a3052 to c3056 in the meeting minutes excerpt are displayed. The user refers to the related descriptions a3052 to c3056 in the meeting minutes excerpt and specifies the corresponding heading 3042 to 3046. This makes it possible to view past meeting minutes. By viewing these meeting minutes, the user can absorb the service provision technology and know-how that was disclosed at the meeting (meeting) seat in Place 1. The "co-creation activity" performed by the place 1 will be described with reference to Fig. 24. When the users 1700A-D purchase a system from the place 1, the users 1700A-D pay an initial purchase fee and a periodic usage fee to the place. This billing amount 3062 is temporarily collected by the head 3060 in the place 1.
[0233] As another activity, the microservice assets 3070 accumulated in the place 1 may be lent 3072 to another group α_3200A. Then, the other group α_3200A pays a usage fee 3076 to the boss 3060 in the place 1.
[0234] Furthermore, the place 1 management technology may be licensed to another group β_3200B 3074. In this case, the other group β_3200B pays a license fee 3078 to the boss 3060.
[0235] The total revenue is then distributed to each modular 3100 according to their contribution within Place 1 (the boss 3060 distributes the revenue to each modular 3100 according to specific distribution rules).
[0236] As already explained in FIG. 22, fair evaluation and fair distribution of rewards to members within Place 1 are important for "maintaining the initiative" of participating members. In particular, when an object-oriented programming language is used as the control means 4 (microservice 80), reuse of assets (developed programs) between different modular 3100 (function inheritance (extends) 74 and call / embedding 76 described in FIG. 12) is frequently performed. This makes it possible to efficiently utilize development resources within Place 1. This method is used for "contribution evaluation for each modular 3100".
[0237] As shown in FIG. 25, for example, source code written in Java is as follows: import -- In this sentence, declare the program name (class name) to which you want to embed 76. Also, Public class Customims extends BaseIms { - -} This sentence also means that "The CustomIms class extends the functions of the BaseIms class." Therefore, by deciphering this sentence, you can understand "Which modular 3100 developed program (microservice 80) does this program (microservice 80) use?"
[0238] In this way, for example, by analyzing the contents of statements related to "import" and "extends" in source code using the Java language, the contribution of modular 3100 of 76 built-in elements and 74 function inheritance (extends) elements can be determined.
[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 the contribution calculation 3066 for each modular 3100. Furthermore, by determining the function inheritance coefficient and the embedding coefficient in advance, it becomes possible to calculate the contribution 3066 of the embedded 76 element and the function inheritance (extends) 74 element modular 3100.
[0240] In this way, by calculating the contribution of members using the information on the embedded relationships 76 and the function inheritance (extends) relationships 74 described in the object-oriented programming language, it becomes possible to fairly evaluate and distribute rewards among members. This makes it possible to "maintain high motivation" of members. Chapter 4 How to write application (IF-THEN) rules using XML To write the application (IF-THEN) rule 70, it is necessary to define the combination between two types of modules 9, a module 9 corresponding to the condition (IF) 72 and a module 9 corresponding to the execution (THEN) 78. As long as this condition is satisfied, any description method / language may be used. Therefore, it may be written in any programming language such as Java, or HTML (Web screen display) as shown in FIG. 21 may be used.
[0241] Fig. 26(a) shows a description method using XML (Extensible Markup Language) as an example of a description of the application (IF-THEN) rule 70. For the sake of simplicity, Fig. 26 shows an example in which a device 8 corresponding to the condition (IF) 72 and a device 8 corresponding to the execution (THEN) 78 are integrated and shared.
[0242] 26(a), a wireless communication function is built in, enabling wireless communication with an external device. An illuminance sensor is taken as an example of a sensor device 802 corresponding to the condition (IF) 72. An LED (Light Emitting Diode) is taken as an example of a device 8 corresponding to the execution (THEN) 78.
[0243] In this case, "it becomes dark" is set as the condition (IF) 72. And, "the LED lights up" is specified as the action (THEN) 78.
[0244] An example of the application (IF-THEN) rule 70 in this case written in XML format is shown in FIG. 26(c). The contents of the corresponding device 8 are as follows: <device>It is specified by the device Element.
[0245] And the content of condition (IF) 72 is: <if>Element (if Element). Similarly, the content of execution (THEN) 78 is <then>Each element is described in the (then Element) element. Each function corresponding to each element is described in the following way: <condition>In addition, analog information such as illuminance and light emission amount is specified in the condition element. <property>It is specified by attribute information within the property element (property Element).
[0246] Figure 26(c) shows an example written in Japanese. However, it is not limited to this. <language>Using the language Element, it is possible to write in any language.
[0247] 27A shows a hierarchical structure in which the above-described elements are written in XML format. At the top level (hierarchy 1_4110), an ifLink element 4115 is written. At the next level, hierarchy 2_4120, a language element 4125 is written. At the next level, hierarchy 3_4130, a device element 4135 is written. Furthermore, in hierarchy 4_4140, an if element 4142 and a then element 4148 are described. And a condition element 4155 is placed in hierarchy 5_4150. And in the lowest hierarchy 6_4160, a property element 4165 can be placed.
[0248] 27B to 27D, the name 4202 of each element, its description 4204, attributes 4206 that can be set for each element, and a description 4208 of each element are explained.
[0249] The ifLink element 4115 located in the hierarchy 1_4110) represents the ifLink format and is used to declare the format. The description language (display language) of the XML description can be specified using the language element 4125 located in the next hierarchy 2_4120. In the case of a Japanese description, <language name="”jp”"> In the case of English description, <language name="”en”"> It is described as follows.
[0250] Within a device element 4135 described in hierarchy 3_4130, the details of the corresponding device 8 are clarified by setting attribute information 4206 in detail.
[0251] That is, for the attribute 4206 of the device 8, a name attribute 4302 specifies the device / service name. Similarly, an icon attribute 4304 specifies the icon of the device / service. Using this icon information, the icon display in FIG. 21(b) and the icon display in the ifLink rule manager (see definition of terms) can be performed. Also, a "key-value" format database is used as the database for the devices 8 and microservices 80 handled in the ifLink rule manager. The parameter key and parameter value used in this database are specified by a key attribute 4306 and a value attribute 4308. Also, the category of the device / service used when searching for a specific device 8 in this database or in the ifLink rule manager is specified by a category attribute 4310.
[0252] Within an if element 4142 and a then element 4148 described in hierarchy 4_4140, a list of IFs and a list of THENs are described.
[0253] A condition element 4155 described in layer 5_4150 can be described multiple times in the same layer. Each indicates an IF or THEN condition, and defines attributes (and their uses) similar to those of a device element 4135. In particular, an attribute 4206 in a condition element 4155 defines an interface form using an interface attribute 4312. A property element 4165 described in the lowest layer 6_4160 sets interface parameters.
[0254] For reference, Fig. 28 shows an example of XML description of the application (IF-THEN) rule 70 in which the above element provisions are described. Fig. 29 shows an example in which the emotional expression of the voice shown in Fig. 29 can be expressed in a variety of ways using the property element 4165 in Fig. 28.
[0255] Although an embodiment of the present invention has been described, this embodiment is presented as an example and is not intended to limit the scope of the invention. This novel embodiment can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. This embodiment, its modifications, and combinations of the embodiments are also included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents 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. A method for controlling a module using a computer connected to a server via a communication means, the method comprising: a human-recognizable entity, state, and / or information; and a control means for controlling the entity, state, and / or information, A first combination of a first module and a second module is defined; In the computer, a first application rule is set for executing a combination of the first module and the second module to provide a first service to a user, and another second application rule is also set; the first application rule is prepared by the computer receiving in advance the combination that has been created and evaluated in advance in the server, the first service is provided to the user based on the first application rule; The server verifies the consistency between the first application rule and the second application rule, and notifies the computer if there is a problem; A module control method, wherein the computer is capable of setting the first or second application rule to be enabled or disabled.
2. The module control method according to claim 1, wherein the computer is capable of setting a same event ignoring time that can suppress operation of the first application rule for a specified period of time even if similar sensor data is input from the first module.
3. 2. The module control method according to claim 1, wherein said computer is capable of being set to notify another computer of an input (JOB) from said first module.
4. A microservice control application for executing the module control method of claim 1, 2, or 3, The microservice control application defines a first application of a first microservice that controls a first entity or state, information (instance, status, and / or information) that is recognizable by a human, and a second application of a second microservice that controls a second entity or state, information (instance, status, and / or information) that is recognizable by a human, and application rules are set for providing a service to a user by a combination of the first application and the second application; A microservice control application that provides a service by causing the first microservice and the second microservice to operate in cooperation with each other based on the application rule.
5. A computer that executes the module control method according to claim 1, 2, or 3, wherein the computer is an edge computer.
Citation Information
Patent Citations
Service provision method, system and program, operation terminal, and service mediation apparatus
JP2006209619A
Controller and program
JP2019117587A
Estimation device and estimation method
JP2019149043A
Apparatus and method for distributed installation of micro-service style application
KR1020180120991A