Program, method, and autonomous distributed processing system
The autonomous decentralized system addresses the inefficiencies in existing distributed processing by utilizing P2P communication and DAO principles to optimize resource utilization and enhance fault tolerance through independent AI models and consensus building.
Patent Information
- Application Number
- PCT/JP2025/022905
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-16
- Filing Date
- 2025-06-25
- Publication Date
- 2026-02-19
AI Technical Summary
Existing distributed processing systems lack an efficient and autonomous decentralized system that can effectively utilize multiple computing resources through independent artificial intelligence models and achieve consensus on processing results.
An autonomous decentralized system comprising multiple instances connected via a network, utilizing P2P communication, decentralized autonomous organization (DAO) principles, and AI models to share and adjust processing results, with consensus building and output steps to ensure efficient and reliable processing.
The system enables rapid and reliable processing of requests, optimizing resource utilization and improving fault tolerance and availability by leveraging independent AI models and consensus mechanisms.
Smart Images

Figure JP2025022905_19022026_PF_FP_ABST
Abstract
Description
Program, method, and autonomous distributed processing system
[0001] The present disclosure relates to a program, a method, and an autonomous distributed processing system.
[0002] Distributed processing techniques based on virtual computing resources are known. Patent Document 1 discloses a technique for realizing a virtual data center (DC) and providing users with distributed processing that makes effective use of computing resources quickly and at low cost.
[0003] JP 2023-142469 A
[0004] Therefore, the present disclosure has been made to solve the above problem, and its purpose is to provide a suitable autonomous decentralized system.
[0005] A program to be executed in an autonomous distributed processing system comprising a processor and a memory unit, and consisting of multiple instances realized by multiple computers connected to each other via a network so that they can communicate with each other, wherein each of the multiple instances has one or more artificial intelligence models independent of the other instances, and the multiple instances execute the following steps: a request receiving step in which a request is received; a processing initiation step in which one or more instances that received the request in the request receiving step start processing to apply one or more artificial intelligence models to the request; a result sharing step in which the one or more instances share the results of the processing with other instances through communication via the network; an adjustment step in which the one or more instances autonomously adjust their respective processing in accordance with the processing results shared in the result sharing step; a consensus building step in which the one or more instances communicate via the network to reach consensus on the results of the processing; and an output step in which at least some of the one or more instances output a response including information based on the content of the consensus building if it is determined that agreement has been reached in the consensus building step.
[0006] According to the present disclosure, a suitable autonomous decentralized system can be provided.
[0007] Fig. 1 is a block diagram showing the functional configuration of an autonomous decentralized system 1. Fig. 2 is a block diagram showing the functional configuration of a first instance 11. Fig. 3 is a diagram showing the data structure of a rule table 1131. Fig. 4 is a flowchart showing the operation of distributed processing. Fig. 5 is a block diagram showing the basic hardware configuration of a computer 90.
[0008] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In all drawings describing the embodiments, common components are designated by the same reference numerals, and repeated description will be omitted. Note that the following embodiments do not unduly limit the content of the present disclosure described in the claims. Furthermore, not all components shown in the embodiments are necessarily essential components of the present disclosure. Furthermore, each drawing is a schematic diagram and is not necessarily a precise illustration.
[0009] <Configuration of Autonomous Decentralized System 1> The autonomous decentralized system 1 in the present disclosure is an autonomous decentralized information processing system configured from multiple autonomous instances. In the present disclosure, an information processing system with three instances (first instance, second instance, and third instance) constructed on a cluster consisting of multiple information processing devices will be described as an example, but is not limited to this. The autonomous decentralized system 1 can be realized as an information processing system configured from any number of instances. The autonomous decentralized system 1 includes information processing devices of a first instance 11, a second instance 12, and a third instance 13 connected via a network N. FIG. 1 is a block diagram showing the functional configuration of the autonomous decentralized system 1. FIG. 2 is a block diagram showing the functional configuration of the first instance 11.
[0010] Each information processing device is configured by a computer equipped with an arithmetic unit and a storage device. The basic hardware configuration of the computer and the basic functional configuration of the computer realized by the hardware configuration will be described later. For each of the first instance 11, the second instance 12, and the third instance 13, descriptions that overlap with the basic hardware configuration and basic functional configuration of the computer will be omitted.
[0011] <Configuration of First Instance 11> The first instance 11 is an autonomously operable information processing device that constitutes the autonomous distributed system 1. Multiple instances communicate with each other via communication means such as P2P communication and can execute processes cooperatively. Specifically, the first instance 11 is connected to the second instance 12, the third instance 13, and other instances that constitute the autonomous distributed system 1 via a P2P network and can communicate via P2P communication. Each instance can operate independently, thereby improving the fault tolerance and availability of the entire system. While the present disclosure discloses an example in which an instance is configured by a specific information processing device such as a server, this is not limiting. The instance is realized as a virtual computer machine on a cluster consisting of multiple information processing devices such as servers. An instance does not necessarily have to correspond one-to-one to a memory unit, a control unit, and the like included in the hardware configuration of a specific information processing device. The first instance 11 includes a memory unit 111.
[0012] The multiple instances included in the autonomous distributed processing system are divided into multiple instance groups, and each instance included in each instance group constantly shares its own status with other instances included in the same instance group through push-type communication and shares its own status with other instances included in other instance groups through pull-type communication. The instance groups are managed based on the concept of decentralized autonomous organization (DAO). An instance that receives a request in the request receiving step preferentially requests cooperation in processing from other instances in the instance group to which it belongs.
[0013] In the autonomous decentralized system 1 of the present disclosure, in order to achieve efficient communication and management, it is preferable to divide the multiple instances constituting the autonomous decentralized system 1 into groups within a certain range called "Zones," which are groups (instance groups) consisting of multiple instances. Each Zone applies the concept of Decentralized Autonomous Organization (DAO) and employs the following communication methods: Push-type communication (within a Zone): Each instance constantly shares its status with other instances (companions) in the same Zone. This enables rapid information sharing and cooperative operation within the Zone. Pull-type communication (between Zones): A pull-type communication method is adopted to obtain status between different Zones and to connect instances with spare capacity. This reduces communication volume and consumption of computational resources across the entire large-scale system.
[0014] A DAO is an autonomous, decentralized organizational model with no centralized administrator or hierarchical structure. In this system, the DAO concept is applied to the management of each Zone. Specifically, each Zone has the following components and functions: 1. Distributed ledger: Instances within each Zone maintain a common distributed ledger. This ledger records the following information: a) Status information for each instance (processing capacity, current load status, etc.) b) History and results of processing performed within the Zone c) Rules and policies within the Zone (implemented as smart contracts) 2. Consensus mechanism: A consensus algorithm is used for decision-making and information verification within the Zone. For example: a) Proof of Stake (PoS): Allocates voting rights according to the processing power and reliability of each instance b) Practical Byzantine Fault Tolerance (PBFT): An algorithm that enables fast consensus building 3. Smart Contract Execution Environment: Each instance has a smart contract execution environment for automatically executing Zone rules and policies. This allows: a) Task allocation rules b) Resource allocation policies c) Incentive calculation logic, etc. to be automatically executed. 4. P2P Communication Layer: A P2P network layer that enables communication within and between Zones. This includes the following functions: a) Push-type communication (broadcast) function within a Zone b) Pull-type communication (query) function between Zones c) Protocol for discovering new instances and joining a Zone 5. 5. Resource management system: A system that efficiently manages resources across the entire Zone. It has the following functions: a) Monitoring the processing capacity and current load status of each instance b) Dynamic task allocation and load balancing c) Resource allocation between Zones as needed 6. Incentive system: A system that rewards instances that contribute to improving the efficiency and performance of the entire Zone.Includes the following: a) Algorithm for calculating the contribution of each instance b) Mechanism for prioritizing allocation of computing resources as rewards c) Long-term reliability evaluation system 7. Security Layer: A layer for ensuring security of the entire Zone. Provides the following functions: a) Encrypted communication between instances b) Access control and authentication mechanism c) Anomaly detection and automatic isolation function 8. Interface Layer: An interface that enables interaction with external systems and other Zones. Includes the following: a) API gateway b) Query interface c) Monitoring dashboard By these components working together, each Zone can be managed autonomously and efficiently, achieving flexibility, scalability, and fault tolerance for the system as a whole.
[0015] This hierarchical communication architecture enables the system to efficiently manage a large group of instances. Each instance constantly monitors the status within its own zone and has a means for obtaining information from other zones as needed. The first instance 11 includes a storage unit 111. The storage unit 111 stores its own status information, the status information of other instances in the same zone, and, as needed, instance information from other zones. The first instance 11 also includes an interface for pull-type communication and a broadcast function for push-type communication.
[0016] <Configuration of Storage Unit 111 of First Instance 11 > The storage unit 111 of the first instance 11 includes an application program 1111 , an AI model 1121 , and a rule table 1131 .
[0017] The application program 1111 is a program that controls the operation of the first instance 11. It executes various processes such as processing received requests, executing AI algorithms, and P2P communication.
[0018] The AI model 1121 is a learning model used when executing processing for a received request. The learning model includes any artificial intelligence model such as a machine learning model, a deep learning model, a large-scale language model, or a generative AI. Each instance constituting the autonomous decentralized system 1 holds an independent AI model 1121. Furthermore, each instance can autonomously update and optimize the AI model 1121 as needed.
[0019] The rule table 1131 is a table that stores and manages rules (rule information) that define the operation of the first instance 11. The rule table 1131 can be dynamically updated, allowing a system administrator to add new rules or modify existing rules. The rule table 1131 can also be automatically optimized using any machine learning algorithm or the like. The rule table 1131 is a table that uses the rule ID as the primary key and has columns for the rule ID, application conditions, processing content, and priority. FIG. 3 is a diagram showing the data structure of the rule table 1131.
[0020] The rule ID is an item that stores rule identification information for identifying a rule. The rule identification information is an item in which a unique value is set for each rule information. The application condition is an item that stores the application condition of the rule. Specifically, the application condition stores items such as the type of request and data characteristics. The processing content is an item that stores the content of the processing executed by the rule. The priority is an item that stores the order of priority when there are multiple rule information that meet the application condition.
[0021] <Configuration of Second Instance 12> The second instance 12 is an autonomously operable information processing device that constitutes the autonomous decentralized system 1. The configuration of the second instance 12 is the same as that of the first instance 10.
[0022] <Configuration of Third Instance 13> The third instance 13 is an autonomously operable information processing device that constitutes the autonomous decentralized system 1. The configuration of the third instance 13 is the same as that of the first instance 10.
[0023] <Operation of System 1> The following describes each process of the system 1. Fig. 4 is a flowchart showing the operation of the distributed processing.
[0024] <Distributed Processing> Distributed processing is information processing that is executed in response to a request input to an autonomous distributed processing system that is made up of multiple instances realized by multiple computers that are communicably connected to each other via a network.
[0025] <Overview of distributed processing> Distributed processing consists of a series of steps: a request receiving step in which each of multiple instances receives a specified request input from outside; an initial evaluation step in which each instance evaluates the received request; a participation decision step in which each instance determines whether or not to participate in the processing based on the evaluation result of the initial evaluation step; a processing start step in which an instance that has decided to participate starts processing; a result sharing step in which the processing results are shared among multiple instances; an adjustment step in which each instance adjusts the processing based on the shared processing results; a consensus building step in which consensus is built based on the processing results; and an output step in which the processing results are output when consensus is reached.
[0026] <Details of Distributed Processing> Details of distributed processing will be described below.
[0027] <Request Receiving Step> In step S101, the autonomous decentralized system 1 executes a request receiving step in which multiple instances receive a request. In the request receiving step, each of the multiple instances executes a step of simultaneously receiving a request. The autonomous decentralized system 1 simultaneously transmits the received request to multiple instances constituting the autonomous decentralized system 1. Note that the autonomous decentralized system 1 may simultaneously transmit requests to multiple instances in response to the received request. Note that the autonomous decentralized system 1 does not necessarily need to simultaneously or simultaneously transmit requests to multiple instances, and may transmit requests at different times. Note that in this disclosure, processing executed by the first instance 11 will be described as an example, but the second instance 12, third instance 13, and other instances constituting the autonomous decentralized system 1 also perform processing in the same way. In this disclosure, OCR (optical character recognition, a process of recognizing text contained in a form image and converting it into character data (text data)) on a form image will be described as an example of the request. The processing handled by the autonomous decentralized system 1 does not need to be limited to OCR processing, but can also be applied to any image processing, language processing, or other general data processing. Specifically, the request includes information such as the form image data to be analyzed and the required analysis items (invoice number, invoice date, invoice amount, etc.). The first instance 11, which receives the request, identifies the form type, image resolution, required analysis items, etc. from the received request. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0028] The autonomous distributed system 1 is configured to receive requests via predetermined endpoints (URLs). Each predetermined endpoint may be associated with a rule ID in a rule table stored in the storage unit of each instance. For example, the rule information in the rule table may be identified based on the endpoint that received the request. Alternatively, the rule information in the rule table may be identified based on information such as a character string included in the URL, a GET request, or a POST request. Specifically, the first instance 11 searches the rule ID item in the rule table 1131 based on information about the endpoint that received the request (URL, GET request, POST request, etc.) and obtains rule information including application conditions, processing content, and priority. As a result, each instance determines the specific processing procedure to be applied to the request. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0029] <Initial Evaluation Step> In step S102, the autonomous decentralized system 1 executes an initial evaluation step in which each of the multiple instances independently evaluates the received request. In the initial evaluation step, the control unit of each instance analyzes the request content, required resources, and its own capabilities. Specifically, the first instance 11 of the autonomous decentralized system 1 executes the following evaluation process based on the received request. The first instance 11 acquires information contained in the request (such as the type of form, image resolution, and required analysis items) and identifies the AI model and rule information required for processing. For example, the memory unit 111 of the first instance 11 stores multiple AI models 1121. The first instance 11 selects an appropriate AI model 1121 depending on the type of form and the analysis items. The control unit 114 of the first instance estimates the required computational resources (CPU usage, memory usage) based on the selected AI model 1121 and processing rules. At the same time, the first instance checks its current load status (CPU usage, usage status of the memory unit 111, and usage status of network bandwidth). The second instance 12, the third instance 13, and other instances also perform similar processing.
[0030] <Participation Determination Step> In step S103, the autonomous decentralized system 1 executes a processing determination step in which each of the multiple instances determines whether or not the request can be processed by one or more artificial intelligence models. Specifically, the control unit 114 of the first instance 11 determines whether or not the first instance 11 can participate in the OCR processing task based on the information obtained in the initial evaluation step. First, the first instance 11 checks whether the current CPU usage, storage unit 111 usage, and network bandwidth usage provide sufficient margin for task processing, such as OCR analysis. If there is sufficient margin for task processing, the first instance 11 may determine that the request can be processed; if there is not sufficient margin, the first instance 11 may determine that the request cannot be processed. These determination criteria may be determined by the first instance 11 from rule information in the rule table 1131, or may be determined autonomously by the first instance 11 itself based on the status of its own computational resources. For example, the first instance 11 determines whether there is sufficient margin for task processing by referring to thresholds included in the application conditions of the rule information (e.g., CPU usage rate less than 80%, free storage space of 30% or more, network bandwidth usage rate less than 70%). Alternatively, the first instance 11 may determine whether there is sufficient margin for task processing by analyzing the current load situation and past processing results and dynamically determining a threshold. For example, a more flexible determination may be made by setting the CPU usage rate threshold to a value obtained by adding 20% to the current average usage rate. In other words, the first instance 11 does not necessarily need to follow the rule information when determining whether to process a task.
[0031] If the first instance 11 determines that it is unable to process the request, it may request cooperation from instances that are able to process the request, such as the second instance 12 and the third instance 13, via P2P communication. This also forms a P2P communication network between the instances. It is preferable that each instance constituting the autonomous distributed system 1 be configured so that it can always share its own status with other instances via P2P communication.
[0032] The first instance 11 checks whether an AI model (e.g., a layout analysis model, a character recognition model) required for the OCR model required for the request is stored in the storage unit 111 or whether it is available for download. If the first instance 11 does not store the required AI model, it downloads the required AI model via a network. If the required AI model is stored or available for download (if available), it may determine that the request can be processed, and if the AI model is unavailable, it may determine that the request cannot be processed. Furthermore, if an AI model has been used for a predetermined period of time (an old model), it may be newly downloaded and updated. This allows the AI model to be kept up to date. Alternatively, a configuration may be adopted in which only AI models that are likely to be used are stored. This reduces the frequency of AI model downloads.
[0033] The first instance 11 checks whether the rule table 1131 contains processing rules (rule information), such as extraction rules, appropriate for the type of form. The first instance 11 may download the necessary processing rules via a network. If the necessary rules are held or available for download, the first instance 11 may determine that the request can be processed. If the rules are unavailable, the first instance 11 may determine that the request cannot be processed. Furthermore, rule information held in the rule table 1131 that has been around for a predetermined period of time (old information) may be downloaded and updated. This allows the rule information stored in the rule table 1131 to be kept up-to-date. Alternatively, only rules that are likely to be used may be stored in the rule table 1131. This reduces the frequency of rule information downloads. The multiple instances of the autonomous decentralized system 1 of the present disclosure are connected via a P2P network, and each of the multiple instances can exchange AI models and rule information stored in the storage units of other instances (including the second instance 12 and the third instance 13) via communication.
[0034] When acquiring AI model and rule information from another instance, the first instance 11 may calculate the time and bandwidth required for acquisition and determine whether the AI model and rule information can be obtained within the time allowed by the rule information. If the first instance 11 cannot acquire the AI model and rule information within the allowed time, the first instance 11 may determine that the AI model and rule information are unavailable. The first instance 11 may also consider whether the first instance 11 itself is suitable for OCR processing or image analysis. For example, if the first instance 11 is suitable for OCR processing or image analysis, the first instance 11 sets a high participation priority. The determination of suitability may be based on the AI model 1121 and the rule information stored in the rule table 1131 stored in the storage unit 111 of the first instance 11. The first instance 11 comprehensively evaluates these conditions and determines whether to participate in the OCR processing task. If the first instance 11 determines that it can participate, it generates a determination result that includes information such as the expected processing time, the type of AI model to be used, and the rule ID of the rule information to be applied. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0035] In step S103, each of the multiple instances in the autonomous distributed system 1 executes a judgment sharing step in which the judgment result from the processing judgment step is shared with other instances via communication via a network. Specifically, the control unit 114 of the first instance 11 establishes P2P communication via a P2P network to share the generated judgment result with other instances (including the second instance 12 and the third instance 13). In this communication, the first instance 11 uses a secure protocol to implement a high-speed communication protocol for distributed processing (learning and inference) while protecting the confidentiality of the judgment result. The first instance 11 may select a communication protocol based on rule information in the rule table 1131, or the first instance 11 may select a communication protocol autonomously based on the status of its own computational resources. The first instance 11 transmits its own judgment results (e.g., participation availability, expected processing time, AI model to be used, applied rule ID, etc.) to other instances and simultaneously receives judgment results from the other instances. The first instance 11 stores the received judgment results in the storage unit 111. After receiving the determination results from all instances, the control unit 114 of the first instance 11 analyzes this information. For example, the first instance 11 compares the number of instances that can participate, the expected processing time of each instance, the type of AI model used, and the like. Based on the analysis results, the first instance 11 reevaluates its participation determination and changes the determination as necessary. The first instance 11 may determine the reevaluation from the rule information in the rule table 1131, or the first instance 11 may determine the reevaluation autonomously based on the status of its own computational resources.
[0036] For example, if it is determined that all instances are eligible to participate, each instance is adjusted based on its expected processing time and the type of AI model it specializes in, so that only the most efficient instance actually performs processing. Alternatively, when processing is shared among multiple instances, each instance determines the scope of reports and specific analysis items it is responsible for. These adjustment methods may be determined by each instance based on rule information in a rule table, or the instance itself may autonomously determine them based on the status of its own computational resources. This decision-sharing step achieves optimal processing sharing for the entire autonomous distributed system 1, including the first instance 11, enabling efficient OCR processing. The first instance 11 can adapt to various situations by combining an approach based on rule information in the rule table 1131 with an autonomous approach. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0037] <Processing Start Step> In step S104, the autonomous decentralized system 1 executes a processing start step in which one or more instances that received the request in the request receiving step start processing to apply one or more artificial intelligence models to the request. In the processing start step, one or more instances that were determined to be processable in the processing determination step start processing based on the request. Specifically, if the first instance 11 determines that processing is possible in the processing determination step, it starts an OCR processing task. The first instance 11 first loads the form image data included in the request into the storage unit 111. The first instance 11 loads the AI model 1121 (e.g., a layout analysis model or a character recognition model) selected in the initial evaluation step from the storage unit 111 and makes it executable on the control unit 114. The first instance 11 applies this AI model 1121 to the loaded form image data to perform OCR processing.
[0038] In step S104, a processing start step is executed in which one or more instances identify a specific artificial intelligence model for the request according to one or more processing rules and start processing to apply the specific artificial intelligence model to the request. Specifically, the first instance 11 obtains a processing rule corresponding to the request from the rule table 1131. The first instance 11 determines the type of AI model 1121 to use and the application order based on the processing rule. For example, in the case of OCR processing of an invoice, the first instance 11 determines the order in which to apply the AI model 1121, such as first applying a layout analysis model to analyze the structure of the invoice and then applying a character recognition model to extract text for each item. The first instance 11 applies each AI model 1121 to the form image data in the determined order and executes processing. The second instance 12, the third instance 13, and other instances execute similar processing.
[0039] <Processing Start Step (First Embodiment)> In step S104, the processing start step is executed in which one or more instances start processing based on the judgment results shared in the judgment sharing step. Specifically, the first instance 11 references the judgment results of the other instances received in the judgment sharing step and determines the allocation of processing. For example, if the first instance 11 determines that it has an AI model 1121 optimal for OCR processing, it decides to handle OCR processing. On the other hand, if the first instance 11 determines that the other instances can process more efficiently, it decides to handle a supporting role (e.g., image preprocessing or data postprocessing). Based on the determined role, the first instance 11 prepares the necessary AI model 1121 and rule information and starts processing. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0040] <Processing Start Step (Second Embodiment)> In step S104, one or more instances start processing without communicating with other instances. Specifically, the first instance 11 starts OCR processing based solely on its own judgment. The first instance 11 immediately starts processing using the AI model 1121 and rule information selected in the initial evaluation step. For example, the first instance 11 sequentially performs a series of processes, including layout analysis, character recognition, and data extraction, on form image data. The first instance 11 starts processing without communicating with other instances, but may dynamically adjust the processing content as needed if it receives information from other instances during processing. For example, if the first instance 11 learns that other instances are processing part of the same form, it adjusts its own processing scope to avoid overlap. This allows the start of processing to be accelerated and processing results to be obtained more quickly. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0041] <Result Sharing Step> In step S105, one or more instances of the autonomous distributed system 1 execute a result sharing step in which they share processing results with other instances via communication over a network. Specifically, the first instance 11 prepares to share the results of the OCR processing task with other instances. The first instance 11 first organizes the processing results into a format that can be shared over the network. The processing results include information such as the extracted text data, the values of each extracted item (e.g., invoice number, invoice date, invoice amount), the respective recognition reliability scores, the type of AI model 1121 used in the processing, and the ID of the applied rule. The first instance 11 establishes a connection with other instances (the second instance 12 and the third instance 13) via P2P communication. The first instance 11 may select a communication protocol based on rule information in the rule table 1131, or the first instance 11 may select a communication protocol autonomously based on the status of its own computational resources.
[0042] The first instance 11 transmits the organized processing results to the other instances. At the same time, the first instance 11 also receives the processing results transmitted from the other instances. The first instance 11 stores the received processing results from the other instances in the storage unit 111. The second instance 12, the third instance 13, and the other instances also perform similar processing.
[0043] <Adjustment Step> In step S106, one or more instances in the autonomous decentralized system 1 execute an adjustment step in which they autonomously adjust their respective processes based on the processing results shared in the result sharing step. In the adjustment step, one or more instances execute a step of canceling or changing the processing content based on the processing results. Specifically, the first instance 11 compares and analyzes the processing results of the other instances received in the result sharing step with its own processing results. Based on this analysis, the first instance 11 determines whether to adjust, continue, or cancel its own processing content. The first instance 11 evaluates the accuracy of the processing results of each instance. For example, the first instance 11 compares the recognition reliability scores of each extracted item (invoice number, invoice date, invoice amount, etc.). If the first instance 11's recognition reliability score is significantly lower than that of the other instances, it changes the processing content. The first instance 11 evaluates processing time and processing efficiency. If the first instance 11's processing time is significantly longer than that of the other instances or if its processing efficiency is low, it changes the AI model 1121 or rule information it is using.
[0044] If there are effective AI models 1121 and rule information used by other instances, the first instance 11 acquires them and applies them to its own processing. The first instance 11 stores these new AI models 1121 and rule information in the storage unit 111 and applies them to its own processing. Furthermore, the first instance 11 checks whether there is overlapping processing. For portions that other instances have already completed with high accuracy, the first instance 11 determines whether to stop its own processing and release resources. On the other hand, if the first instance 11's processing results are more accurate than those of other instances, it continues processing and further expands the processing scope. For example, the first instance 11 processes more form pages or adds more detailed analysis items. These determination criteria and adjustment methods may be determined by the first instance 11 from the rule information in the rule table 1131, or may be determined autonomously by the first instance 11 itself based on the status of its own computational resources. If the first instance 11 changes the processing content as a result of adjustment, it records the changed processing content in the rule table 1131. This allows the first instance 11 to perform more efficient processing in similar tasks in the future. This adjustment step enables the entire autonomous distributed system 1, including the first instance 11, to dynamically optimize the accuracy and efficiency of OCR processing. The first instance 11 can improve system utilization efficiency by cooperating with other instances. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0045] <Consensus Building Step> In step S107, the autonomous decentralized system 1 executes a consensus building step in which one or more instances communicate via a network to build a consensus on the processing results. In the consensus building step, each of the one or more instances compares the processing results received from the other instances with its own processing results and determines whether consensus building has been achieved based on the comparison results. Specifically, the first instance 11 compares the OCR processing results received from the other instances with its own processing results to build a consensus. The first instance 11 aggregates the results of all or some of the other instances for each extracted item (e.g., invoice number, invoice date, invoice amount). The first instance 11 executes the following consensus building algorithm. The first instance 11 can use at least one of the following algorithms: 1. Exact match: If the results of all instances match, the first instance 11 adopts that result and determines that consensus has been achieved. 2. Partial match: If the results of some instances match but others differ, the first instance 11 compares the recognition confidence scores of each result. The first instance 11 adopts the result with the highest recognition confidence score and determines that consensus has been reached if that confidence score exceeds a threshold (e.g., 0.8). 3. Disagreement: If the results of all instances are different, the first instance 11 compares the recognition confidence scores of each result. The first instance 11 selects the result with the highest recognition confidence score as a candidate and determines that consensus has been reached if that confidence score exceeds a high threshold (e.g., 0.9). The first instance 11 may determine that items on which consensus was not reached need to be reprocessed. The first instance 11 creates a list of items that require reprocessing and shares it with other instances. The first instance 11 evaluates the effectiveness of the algorithms and thresholds used in the consensus building process. If consensus building is successful, the first instance 11 records the algorithms and thresholds used in the rule table 1131 and uses them in future processing.If consensus building is difficult, the first instance 11 retrieves a different algorithm or threshold from the rule table 1131 and attempts consensus building again. The first instance 11 repeats this process to find the optimal consensus building method. After completing the consensus building process for all extracted items, the first instance 11 generates a final consensus result. The first instance 11 shares this final result with the other instances and obtains approval from all instances. The first instance 11 may identify the criteria and method for these consensus building processes from the rule information in the rule table 1131, or may identify them autonomously based on the status of its own computational resources. This consensus building step enables the entire autonomous decentralized system 1, including the first instance 11, to obtain highly accurate and reliable OCR processing results. The first instance 11 can improve the processing accuracy and reliability of the entire system through collaboration with the other instances. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0046] <Output Step> In step S108, the autonomous decentralized system 1 executes an output step in which, if it determines that one or at least some of the instances have reached an agreement in the consensus building step, it outputs a response including information based on the content of the consensus. Specifically, if it determines that an agreement has been reached in the consensus building step, the first instance 11 outputs the response in the following procedure. First, the first instance 11 generates a final OCR processing result based on the result of the consensus building. The first instance 11 compiles the agreed-upon content for each extracted item (e.g., invoice number, invoice date, invoice amount) and converts it into a structured data format (e.g., JSON, XML).
[0047] The first instance 11 adds metadata to the generated final result. This metadata includes information such as the type of AI model 1121 used in the processing, the ID of the applied rule, the recognition confidence score for each extracted item, and the processing time. The first instance 11 obtains this information from the rule table 1131 or extracts it from its own processing log. If there are any items on which agreement could not be reached, the first instance 11 lists those items and flags them as requiring reprocessing or human review. The first instance 11 also includes this information in the final result.
[0048] The first instance 11 prepares a response including the generated final result and metadata in the format specified by the requester (e.g., REST API, file output). The first instance 11 converts the output format and adds necessary header information. The first instance 11 performs final confirmation with the other instances before sending the prepared response to the requester. The first instance 11 shares the response content with the other instances via P2P communication and obtains approval. After obtaining approval from all instances, the first instance 11 sends the response to the requester. After completing transmission, the first instance 11 updates the processing log and releases the resources used.
[0049] The first instance 11 adjusts the output to prevent multiple instances from simultaneously sending responses. The first instance 11 determines which instance will output, for example, according to a rule that the instance with the shortest processing time is responsible for the output. The first instance 11 records the results of the output step in the rule table 1131. The first instance 11 records information such as the appropriateness of the output format and the processing time, enabling more efficient output processing for similar tasks in the future. The first instance 11 may determine the criteria and method for these output processes from the rule information in the rule table 1131, or may autonomously determine them based on the status of its own computational resources. This output step enables the entire autonomous distributed system 1, including the first instance 11, to appropriately provide the requestor with a highly accurate OCR processing result that has been agreed upon. At the same time, the first instance 11 can improve the responsiveness and efficiency of the entire system through optimization of the output process.
[0050] 5 is a block diagram showing the basic hardware configuration of the computer 90. The computer 90 includes at least a processor 901, a main storage device 902, an auxiliary storage device 903, and a communication IF 991 (interface), which are electrically connected to each other by a communication bus 921.
[0051] The processor 901 is hardware for executing an instruction set written in a program, and is composed of an arithmetic unit, a register, a peripheral circuit, and the like.
[0052] The main storage device 902 is used to temporarily store programs and data to be processed by the programs, etc. For example, it is a volatile memory such as a DRAM (Dynamic Random Access Memory).
[0053] The auxiliary storage device 903 is a storage device for saving data and programs, such as a flash memory, a hard disk drive (HDD), a magneto-optical disk, a CD-ROM, a DVD-ROM, or a semiconductor memory.
[0054] The communication IF 991 is an interface for inputting and outputting signals for communicating with other computers via a network using a wired or wireless communication standard. The network is composed of the Internet, a LAN, various mobile communication systems constructed using wireless base stations, etc. For example, the network includes 3G, 4G, and 5G mobile communication systems, LTE (Long Term Evolution), and wireless networks (e.g., Wi-Fi (registered trademark)) that can connect to the Internet via a predetermined access point. In the case of a wireless connection, communication protocols include, for example, Z-Wave (registered trademark), ZigBee (registered trademark), and Bluetooth (registered trademark). In the case of a wired connection, the network also includes a network that is directly connected using a USB (Universal Serial Bus) cable, etc.
[0055] It should be noted that the computer 90 can be virtually realized by distributing all or part of each hardware configuration across multiple computers 90 and interconnecting them via a network. In this way, the concept of the computer 90 includes not only a computer 90 housed in a single housing or case, but also a virtualized computer system.
[0056] <Basic Functional Configuration of Computer 90> A description will be given of the functional configuration of the computer realized by the basic hardware configuration (FIG. 5) of the computer 90. The computer includes at least the functional units of a control unit, a storage unit, and a communication unit.
[0057] The functional units of the computer 90 can also be realized by distributing all or part of the functional units among multiple computers 90 interconnected via a network. The computer 90 is a concept that includes not only a single computer 90 but also a virtualized computer system.
[0058] The control unit is realized by the processor 901 reading various programs stored in the auxiliary storage device 903, loading them into the main storage device 902, and executing processing in accordance with the programs. The control unit can realize functional units that perform various types of information processing depending on the type of program. In this way, the computer is realized as an information processing device that performs information processing.
[0059] The functions performed by the components described herein may be implemented in circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), CPUs (Central Processing Units), conventional circuits, and / or combinations thereof, programmed to perform the described functions. Processors include transistors and other circuits and are considered circuitry or processing circuitry. A processor may also be a programmed processor that executes a program stored in memory. In this specification, a circuit, unit, or means is hardware that is programmed to perform or executes the described functions. The hardware may be any hardware disclosed herein or any hardware known to be programmed to perform or execute the described functions. When the hardware is a processor, which is considered a type of circuitry, the circuit, means, or unit is a combination of hardware and software used to configure the hardware and / or processor.
[0060] The storage unit is realized by a main storage device 902 and an auxiliary storage device 903. The storage unit stores data, various programs, and various databases. The processor 901 can allocate a storage area corresponding to the storage unit in the main storage device 902 or the auxiliary storage device 903 in accordance with the programs. The control unit can cause the processor 901 to add, update, and delete data stored in the storage unit in accordance with the various programs.
[0061] The term "database" refers to a relational database, which manages data sets called tables and masters in a tabular format structurally defined by rows and columns, by associating them with each other. In a database, a table is called a table, a master, a column in a table is called a column, and a row in a table is called a record. In a relational database, relationships between tables and masters can be established and associated. Databases include distributed databases such as TiDB and other arbitrary databases such as NoSQL. Typically, each table and each master has a column set as a primary key to uniquely identify a record, but setting a primary key to a column is not required. The control unit can cause the processor 901 to add, delete, or update records in specific tables and masters stored in the storage unit according to various programs. Furthermore, by storing data, various programs, and various databases in the storage unit, the information processing device and information processing system according to the present disclosure can be considered to be manufactured.
[0062] Note that the databases and masters in this disclosure may include any data structure in which information is structurally defined (such as a list, dictionary, associative array, or object). The data structure also includes data that can be considered as a data structure by combining data with functions, classes, methods, etc. written in any programming language.
[0063] The communication unit is realized by the communication IF 991. The communication unit realizes the function of communicating with other computers 90 via a network. The communication unit can receive information transmitted from other computers 90 and input the information to the control unit. The control unit can cause the processor 901 to execute information processing on the received information in accordance with various programs. Furthermore, the communication unit can transmit information output from the control unit to other computers 90.
[0064] <Additional Notes> The matters described in the above embodiments will be added below.
[0065] (Supplementary Note 1) A program to be executed in an autonomous distributed processing system comprising a plurality of instances implemented by a plurality of computers each including a processor and a storage unit and communicably connected to one another via a network, wherein each of the plurality of instances includes one or more artificial intelligence models independent of the other instances, and the plurality of instances executes: a request receiving step (S101) of receiving a request; a processing initiation step (S104) of one or more instances receiving the request in the request receiving step starting processing to apply one or more artificial intelligence models to the request; a result sharing step (S105) of one or more instances sharing processing results with other instances through communication via the network; an adjustment step (S106) of one or more instances autonomously adjusting their respective processing in accordance with the processing results shared in the result sharing step; a consensus building step (S107) of one or more instances reaching consensus on the processing results through communication via the network; and an output step (S108) of at least some of the one or more instances outputting a response including information based on the content of the consensus building, if it is determined that consensus has been reached in the consensus building step. This makes it possible to realize a highly available autonomous distributed system consisting of multiple autonomous instances. In response to received requests, the multiple instances can execute appropriate processing according to their own AI models, and processing results can be obtained more quickly.
[0066] (Supplementary Note 2) The program according to Supplementary Note 1, wherein the multiple instances are connected to each other so as to be able to communicate with each other via a P2P network. This makes it possible to realize an autonomous distributed system with higher availability.
[0067] (Supplementary Note 3) The program according to Supplementary Note 1, wherein a plurality of instances included in the autonomous distributed processing system are divided into a plurality of instance groups, and each instance included in each instance group constantly shares its own status with other instances included in the same instance group by push-type communication, and shares its own status with other instances included in other instance groups by pull-type communication, thereby enabling the system to efficiently manage large-scale instance groups.
[0068] (Supplementary Note 4) The program according to Supplementary Note 3, in which the instance group is managed based on the concept of Decentralized Autonomous Organization (DAO). This allows the instance group to always understand the status of the instances in the instance group to which it belongs, and also to obtain information on instances in other instance groups as needed. This makes it possible to efficiently manage large-scale instance groups.
[0069] (Supplementary Note 5) The program according to Supplementary Note 3, wherein the instance that receives the request in the request receiving step preferentially requests cooperation in the processing from other instances in the group of instances to which the instance belongs. This makes it possible to realize an autonomous distributed system with higher availability.
[0070] (Supplementary Note 6) Each of the multiple instances executes a processing determination step (S103) of determining whether the request can be processed by one or more artificial intelligence models, and a processing start step (S104) is a step in which one or more instances determined in the processing determination step to be able to process the request start processing based on the request, the program being described in Supplementary Note 1. As a result, only instances that have resources (artificial intelligence models, other computing resources, etc.) that can process the received request can participate in the processing. Instances that do not have the resources can avoid participating in the processing.
[0071] (Supplementary Note 7) The program according to Supplementary Note 6, wherein each of the multiple instances executes a judgment sharing step (S103) of sharing the judgment result in the processing judgment step with other instances through communication via a network, and a processing start step (S104) is a step in which one or more instances start processing based on the judgment result shared in the judgment sharing step. This makes it possible to avoid overlapping of processing participation among the multiple instances by sharing the content of the judgment result with other instances.
[0072] (Supplementary Note 8) The program according to Supplementary Note 1, wherein the processing start step (S104) is a step in which one or more instances start processing without communicating with other instances. This allows the processing start timing to be advanced, and processing results to be obtained more quickly.
[0073] (Supplementary Note 9) The program according to Supplementary Note 1, wherein each of the multiple instances has one or more processing rules independent of the other instances, and the processor, in the processing start step (S104), is a step in which the one or more instances identify a predetermined artificial intelligence model for the request in accordance with the one or more processing rules and start processing to apply the predetermined artificial intelligence model to the request. This makes it possible to obtain an appropriate processing result by applying an appropriate artificial intelligence model in accordance with the processing rule in response to the received request.
[0074] (Supplementary Note 10) The program according to Supplementary Note 1, wherein the request receiving step (S101) is a step in which each of the multiple instances simultaneously receives a request. This allows the start timing of the processing to be advanced, and the processing result to be obtained more quickly.
[0075] (Supplementary Note 11) The program according to Supplementary Note 1, wherein the adjustment step (S106) is a step in which each of one or more instances executes a process of canceling the process or changing the process content depending on the result of the process. Each of the multiple instances can achieve more efficient processing by canceling the process or changing the process content depending on the shared process result.
[0076] (Supplementary Note 12) The program according to Supplementary Note 1, wherein the consensus building step (S107) is a step in which each of one or more instances compares the processing results received from other instances with its own processing results and determines whether consensus building has been achieved based on the comparison results. An appropriate processing result can be output based on the content of the agreement on the processing results of each instance.
[0077] REFERENCE SIGNS LIST 1 Autonomous decentralized system, 11 First instance, 111 Memory unit, 114 Control unit, 116 Input device, 118 Output device, 12 Second instance, 121 Memory unit, 124 Control unit, 126 Input device, 128 Output device, 13 Third instance, 131 Memory unit, 134 Control unit, 136 Input device, 138 Output device
Claims
1. A program to be executed in an autonomous distributed processing system comprising a plurality of instances implemented by a plurality of computers each having a processor and a storage unit and communicatively connected to one another via a network, wherein each of the plurality of instances comprises one or more artificial intelligence models independent of the other instances, the program executing the following steps: a request receiving step in which the plurality of instances receive a request; a processing initiation step in which one or more instances that received a request in the request receiving step start processing to apply the one or more artificial intelligence models to the request; a result sharing step in which the one or more instances share results of the processing with other instances via communication via the network; an adjustment step in which the one or more instances autonomously adjust their respective processing in accordance with the processing results shared in the result sharing step; a consensus building step in which the one or more instances communicate via the network to reach a consensus on the results of the processing; and an output step in which at least some of the one or more instances, if it is determined that consensus has been reached in the consensus building step, output a response including information based on the content of the consensus.
2. The program according to claim 1, wherein the multiple instances are connected to each other so as to be able to communicate with each other via a P2P network.
3. The program according to claim 1, wherein a plurality of instances included in the autonomous distributed processing system are divided into a plurality of instance groups, and each instance included in each instance group constantly shares its own status with other instances included in the same instance group by push-type communication, and shares its own status with other instances included in other instance groups by pull-type communication.
4. The program according to claim 3, wherein the group of instances is managed based on the concept of Decentralized Autonomous Organization (DAO).
5. The program according to claim 3, wherein an instance that receives a request in the request receiving step preferentially requests cooperation in processing from other instances in the instance group to which the instance belongs.
6. The program of claim 1, wherein each of the plurality of instances executes a processing determination step of determining whether the request can be processed by the one or more artificial intelligence models for the request, and the processing start step is a step in which the one or more instances that have been determined in the processing determination step to be able to process the request start processing based on the request.
7. The program of claim 6, wherein each of the plurality of instances executes a judgment sharing step in which the judgment result in the processing judgment step is shared with other instances through communication via a network, and wherein the processing start step is a step in which the one or more instances start processing based on the judgment result shared in the judgment sharing step.
8. The program according to claim 1, wherein the process initiation step is a step in which the one or more instances initiates a process without communicating with other instances.
9. The program of claim 1, wherein each of the multiple instances has one or more processing rules independent of other instances, and the processor: the processing start step is a step in which the one or more instances identify a predetermined artificial intelligence model for the request in accordance with the one or more processing rules, and start processing to apply the predetermined artificial intelligence model to the request.
10. The program according to claim 1, wherein the request receiving step is a step in which each of the plurality of instances receives the request simultaneously.
11. The program according to claim 1, wherein the adjustment step is a step in which each of the one or more instances executes a process to stop the process or change the content of the process depending on the result of the process.
12. The program described in claim 1, wherein the consensus building step is a step in which each of the one or more instances compares the processing results received from other instances with its own processing results and determines whether consensus building has been achieved based on the comparison results.
13. A method executed in an autonomous distributed processing system having a processor and a memory, wherein the processor executes all of the steps executed in the invention according to any one of claims 1 to 12.
14. An autonomous distributed processing system comprising means for executing all steps executed in any one of the inventions according to claims 1 to 12.
Citation Information
Patent Citations
Event discrimination device and quantity prediction system
JP2017049779A
Enhanced ensemble model diversity and learning
US20200327456A1
Intelligent decision support system
US20200334580A1