Program, method, and autonomous distributed processing system
The autonomous distributed processing system addresses the lack of a suitable decentralized system by employing DAO principles and P2P communication, enhancing flexibility, scalability, and fault tolerance with efficient instance cooperation and consensus building.
Patent Information
- Application Number
- JP2025106257
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-06-24
- Publication Date
- 2026-02-27
AI Technical Summary
An appropriate autonomous decentralized system has not yet been realized in distributed processing techniques based on virtual computing resources.
An autonomous distributed processing system comprising multiple interconnected instances, each with independent AI models, utilizing decentralized autonomous organization (DAO) principles, including distributed ledger, consensus mechanisms, smart contract execution, P2P communication, and resource management to enable efficient and fault-tolerant processing.
Facilitates a suitable autonomous decentralized system that is flexible, scalable, and fault-tolerant, optimizing processing efficiency and accuracy through dynamic instance cooperation and consensus building.
Smart Images

Figure 2026034367000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a program, a method, and an autonomous distributed processing system. [Background technology]
[0002] Distributed processing techniques based on virtual computing resources are known. Patent Document 1 discloses a technology that realizes a virtual data center (DC) and provides users with distributed processing that makes effective use of computing resources quickly and at low cost. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2023-142469 Summary of the Invention [Problem to be solved by the invention]
[0004] There is a problem in that an appropriate autonomous decentralized system has not yet been realized. Therefore, the present disclosure has been made to solve the above-mentioned problems, and its purpose is to provide a suitable autonomous decentralized system. [Means for solving the problem]
[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 a 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 a 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. [Effects of the Invention]
[0006] According to the present disclosure, a suitable autonomous decentralized system can be provided. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 2 is a block diagram showing the functional configuration of an autonomous decentralized system 1. [Figure 2] FIG. 2 is a block diagram showing the functional configuration of a first instance 11. [Figure 3] FIG. 11 is a diagram showing the data structure of a rule table 1131. [Figure 4] 10 is a flowchart showing the operation of distributed processing. [Figure 5] FIG. 2 is a block diagram showing the basic hardware configuration of a computer 90. DETAILED DESCRIPTION OF THE INVENTION
[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 distributed system 1 in the present disclosure is an autonomous distributed 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 distributed 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, which are connected via a network N. FIG. 1 is a block diagram showing the functional configuration of an autonomous decentralized system 1. As shown in FIG. FIG. 2 is a block diagram showing the functional configuration of the first instance 11. As shown in FIG.
[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, explanations that overlap with the basic hardware configuration and basic functional configuration of the computer will be omitted.
[0011] <Configuration of the first instance 11> The first instance 11 is an autonomously operable information processing device that constitutes the autonomous decentralized system 1. The multiple instances communicate with each other via communication means such as P2P communication and can execute processes in cooperation. Specifically, the first instance 11 is connected to the second instance 12, the third instance 13, and other instances that constitute the autonomous decentralized system 1 via a P2P network and can communicate via P2P communication. Each instance can operate independently, 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. An instance is realized as a virtual computer machine on a cluster configured by multiple information processing devices such as servers. An instance does not necessarily have to correspond one-to-one to a storage unit, a control unit, etc. included in the hardware configuration of a specific information processing device. The first instance 11 includes a storage unit 111 .
[0012] The multiple instances included in the autonomous distributed processing system are divided into multiple instance groups, and each instance in each instance group constantly shares its own status with other instances in the same instance group through push-type communication, and shares its own status with other instances in other instance groups through pull-type communication. The instance groups are managed based on the concept of a decentralized autonomous organization (DAO). In the request receiving step, the instance that receives the request preferentially requests cooperation in the 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 that make up 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 uses the following communication methods: Push-type communication (within the Zone): Each instance constantly shares its status with other instances (companions) in the same Zone, enabling rapid information sharing and cooperative action within the Zone. Pull-type communication (between zones): A pull-type communication method is used to obtain status between different zones and connect instances with spare capacity, which reduces communication volume and consumption of computing resources across a large-scale system.
[0014] A DAO is a decentralized autonomous organizational model without a 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: The instances within each Zone maintain a common distributed ledger that records the following information: a) Status information for each instance (processing capacity, current load status, etc.) b) The history of operations performed within the Zone and their results c) Rules and policies within the Zone (implemented as smart contracts) 2. Consensus Mechanism: Decisions and information validation within the Zone are made using consensus algorithms, for example: a) Proof of Stake (PoS): Voting rights are assigned to each instance based on its processing power and reliability. 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 that automatically enforces the rules and policies of the Zone, allowing it to: a) Task assignment rules b) Resource allocation policy c) Logic of incentive calculation etc. will be executed automatically. 4. P2P communication layer: A P2P network layer that enables communication within and between Zones, including the following functions: a) Push-type communication (broadcast) function within the Zone b) Pull-type communication (query) function between zones c) New Instance Discovery and Zone Join Protocol 5. Resource Management System: A system for efficiently managing resources across the Zone, with the following features: a) Monitoring the processing capacity and current load 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 Zone as a whole, including: a) Algorithm for calculating the contribution of each instance b) Computational resource priority allocation mechanism as a reward c) Long-term reliability assessment system 7. Security Layer: A layer for ensuring security across the entire zone, providing the following functions: a) Encrypted communication between instances b) Access Control and Authentication Mechanisms c) Anomaly detection and automatic isolation function 8. Interface Layer: Interfaces that allow interaction with external systems and other zones, including: a) API Gateway b) Query Interface c) Monitoring Dashboard By having these components work together, each Zone can be managed autonomously and efficiently, enabling the system as a whole to be flexible, scalable, and fault-tolerant.
[0015] This hierarchical communication architecture allows the system to efficiently manage large clusters of instances. Each instance always knows the status within its own zone and has the means to obtain information about other zones as needed. The first instance 11 includes a storage unit 111. The storage unit 111 stores its own status information, status information of other instances in the same zone, and instance information of other zones as needed. It also includes an interface for pull-type communication and a broadcast function for push-type communication.
[0016] <Configuration of the storage unit 111 of the 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 that constitutes 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 behavior 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 having a rule ID as a primary key and columns of rule ID, application condition, processing content, and priority. FIG. 3 is a diagram showing the data structure of the rule table 1131. As shown in FIG.
[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 conditions are items that store the conditions for applying the rule. Specifically, the application conditions store items such as the type of request and the characteristics of the data. The processing content is an item for storing the content of the processing to be executed according to the rule. The priority is an item for storing the order of priority when there are multiple pieces of rule information that meet the application conditions.
[0021] <Configuration of the 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 .
[0022] <Configuration of the 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] <System 1 Operation> Each process of the system 1 will be explained below. 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 communicatively connected to each other via a network.
[0025] <Distributed processing overview> 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 decides 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 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> The details of the distributed processing will be explained below.
[0027] <Request reception step> In step S101, the autonomous decentralized system 1 executes a request receiving step in which each of the plurality of instances receives a request. The request receiving step is a step in which each of the plurality of instances simultaneously receives a request. The autonomous distributed system 1 simultaneously transmits the received request to multiple instances that make up the autonomous distributed system 1. Note that the autonomous distributed system 1 may simultaneously transmit requests to multiple instances in response to the received request. Note that the autonomous distributed system 1 does not necessarily need to simultaneously or simultaneously transmit requests to multiple instances, and may transmit requests at different times. In this disclosure, the processing performed by the first instance 11 will be described as an example, but the second instance 12, the third instance 13, and other instances that make up the autonomous decentralized system 1 also perform processing in the same manner. 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)) for a form image will be described as an example of a request. Note that the process handled by the autonomous decentralized system 1 is not limited to OCR processing, and can 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, necessary analysis items (invoice number, invoice date, invoice amount, etc.), etc. The first instance 11 that receives the request identifies the type of form, image resolution, necessary 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 decentralized system 1 is configured to be able to receive requests via a predetermined endpoint (URL). Each predetermined endpoint may be associated with a rule ID of a rule table stored in the storage unit of each instance. For example, the system may be configured to be able to identify rule information in the rule table according to 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 or POST request, etc. Specifically, the first instance 11 searches the rule ID item in the rule table 1131 based on the information of the endpoint that received the request (URL, GET request, POST request, etc.), and obtains rule information including application conditions, processing details, 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 executes a step in which it analyzes the content of the request, the 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 included 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 storage 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 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, it checks its own current load status (CPU usage, usage status of the storage 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 decision step> In step S103, the autonomous decentralized system 1 executes a processing determination step in which each of the multiple instances determines whether the request can be processed by one or multiple artificial intelligence models. Specifically, the control unit 114 of the first instance 11 determines whether or not to 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, usage of the storage unit 111, and usage of the network bandwidth provide sufficient margins 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, and if there is not sufficient margin, the first instance 11 may determine that the request cannot be processed. These 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 refers to thresholds included in the application conditions of the rule information (e.g., CPU usage rate less than 80%, free memory space 30% or more, network bandwidth usage rate less than 70%) to determine whether there is sufficient margin for task processing. Alternatively, the first instance 11 may analyze the current load situation and past processing results to dynamically determine thresholds to determine whether there is sufficient margin for task processing. For example, a more flexible determination may be made by setting the threshold for CPU usage rate 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 can be downloaded. If the first instance 11 does not store the required AI model, it downloads the required AI model via the network. If the required AI model is stored or can be downloaded (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. Additionally, AI models that have been around for a certain period of time (old models) may be updated by downloading new ones. This allows the AI models to be kept up to date. Alternatively, the system may be configured to store only AI models that are likely to be used. This reduces the frequency of AI model downloads.
[0033] The first instance 11 checks whether processing rules (rule information), such as extraction rules, suitable for the type of form are stored in the rule table 1131. The first instance 11 may download the necessary processing rules via a network. If the first instance 11 stores or can download (obtain) the necessary rules, it may determine that it can process the request, and if the rules are not available, it may determine that it cannot process the request. Furthermore, rule information held in rule table 1131 that has been available for a predetermined period of time (old information) may be newly downloaded and updated. This allows the rule information stored in rule table 1131 to be kept up to date. Alternatively, only rules that are likely to be used may be stored in rule table 1131. This reduces the frequency with which rule information is downloaded. Each of the multiple instances of the autonomous decentralized system 1 in the present disclosure is connected via a P2P network, and each of the multiple instances can exchange AI models and rule information stored in the memory units of other instances (including the second instance 12 and the third instance 13) with each other via communication.
[0034] When acquiring an 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 an allowable time based on the rule information. If the first instance 11 cannot acquire the AI model and rule information within the allowable time, the first instance 11 may determine that the AI model and rule information cannot be obtained. The first instance 11 may consider whether the first instance 11 itself is an instance suitable for OCR processing or image analysis. For example, if the first instance 11 is an instance suitable for OCR processing or image analysis, the first instance 11 sets a high priority for participation. Note that the determination of suitability may be made based on the AI model 1121 and 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 or not it can participate in the OCR processing task. If it determines that it can participate, it generates a judgment 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 plurality of instances in the autonomous decentralized system 1 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. Specifically, the control unit 114 of the first instance 11 establishes P2P communication via a P2P network to share the generated judgment results 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 results. 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 (participation availability, expected processing time, AI model to be used, rule ID to be applied, etc.) to the other instances, and at the same time 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 results of this analysis, the first instance 11 reevaluates its own 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 available to participate, each instance is adjusted so that only the most efficient instance actually performs processing based on the expected processing time and type of AI model it specializes in. 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 from rule information in a rule table, or the instance itself may determine them autonomously based on the status of its own computational resources. This decision sharing step realizes 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 the 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. The processing start step executes a step in which one or more instances that were determined to be able to process the request in the processing determining step start processing based on the request. Specifically, if the first instance 11 determines in the processing determination step that processing is possible, it starts the OCR processing task. The first instance 11 first reads the form image data included in the request into the storage unit 111. The first instance 11 reads 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 read form image data and performs OCR processing.
[0038] In step S104, a processing start step is executed in which one or more instances identify a predetermined artificial intelligence model for the request according to one or more processing rules, and start processing to apply the predetermined artificial intelligence model to the request. Specifically, the first instance 11 obtains a processing rule corresponding to the request from the rule table 1131. Based on this processing rule, the first instance 11 determines the type of AI model 1121 to use and the order in which to apply them. For example, in the case of OCR processing of an invoice, the first instance 11 determines the order in which to first apply a layout analysis model to analyze the structure of the invoice, and then apply 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 the processing. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0039] <Processing Start Step (First Embodiment)> In step S104, a process initiation step is executed in which one or more instances start processing based on the judgment result shared in the judgment sharing step. Specifically, the first instance 11 refers to 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 the AI model 1121 that is optimal for OCR processing, it decides to be in charge of OCR processing. On the other hand, if the first instance 11 determines that the other instances can process more efficiently, it decides to be in charge of a supporting role (e.g., image pre-processing or data post-processing). 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, a process initiation step is performed in which one or more instances initiate a process 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 continuously performs a series of processes, including layout analysis, character recognition, and data extraction, on the form image data. The first instance 11 starts processing without communicating with other instances, but if it receives information from other instances during processing, it may dynamically adjust the processing content as necessary. 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 duplication. 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, the autonomous decentralized system 1 executes a result sharing step in which one or more instances share the processing results with other instances through communication via 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 a 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 for 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 of the other instances in the storage unit 111. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0043] <Adjustment steps> In step S106, the autonomous decentralized system 1 executes an adjustment step in which one or more instances autonomously adjust their respective processes according to the processing results shared in the result sharing step. 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 processing content according to the processing result. 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, and determines whether to adjust, continue, or discontinue its own processing based on this analysis. 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 own recognition reliability score is significantly lower than that of other instances, it changes the processing content. The first instance 11 evaluates the processing time and processing efficiency. If the processing time of the first instance 11 is significantly longer than that of other instances, or if the processing efficiency is low, the first instance 11 changes the AI model 1121 or rule information that 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 processing. Furthermore, the first instance 11 checks whether there is overlapping processing. The first instance 11 determines whether to stop its own processing and release resources for portions that other instances have already completed with high accuracy. On the other hand, if the first instance 11's processing results are more accurate than those of the other instances, it continues processing and further expands the scope of processing. For example, the first instance 11 processes more form pages and adds more detailed analysis items. These 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. When the first instance 11 changes the processing content as a result of the adjustment, it records the changed processing content in the rule table 1131. This enables the first instance 11 to perform more efficient processing in future similar tasks. This adjustment step enables dynamic optimization of the accuracy and efficiency of OCR processing for the entire autonomous distributed system 1, including the first instance 11. The first instance 11 can improve the utilization efficiency of the system by cooperating with other instances. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0045] <Consensus Building Steps> 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 result. The consensus building step executes a step in which each of the one or more instances compares the processing result received from the other instances with its own processing result and determines whether consensus building has been successful or not based on the comparison result. Specifically, the first instance 11 compares the OCR processing results received from the other instances with its own processing results and reaches 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. Complete agreement: If the results of all instances are in agreement, the first instance 11 adopts that result and determines that an agreement has been reached. 2. Partial agreement: If some instances' results 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 there is agreement if the 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 there is agreement if the confidence score exceeds a high threshold (e.g., 0.9). The first instance 11 may determine that items on which no agreement was reached need to be reprocessed, and create a list of items that need to be reprocessed and share it with other instances. The first instance 11 evaluates the effectiveness of the algorithm and thresholds used in the consensus building process. If the consensus building is successful, the first instance 11 records the algorithm 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 and threshold value 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 process for all extracted items, the first instance 11 generates a final consensus result, which it then shares with the other instances and obtains approval from all instances. The criteria and methods for these consensus building processes may be identified by the first instance 11 from the rule information in the rule table 1131, or may be identified autonomously by the first instance 11 itself based on the status of its own computational resources. This consensus building step makes it possible to obtain highly accurate and reliable OCR processing results for the entire autonomous distributed system 1, including the first instance 11. The first instance 11 can improve the processing accuracy and reliability of the entire system through cooperation with other instances. The second instance 12, the third instance 13, and other instances also perform similar processing.
[0046] <Output step> In step S108, if the autonomous decentralized system 1 determines that an agreement has been reached for at least some of the one or more instances in the consensus building step, it executes an output step of outputting a response including information based on the content of the consensus building. Specifically, when it is determined that an agreement has been reached in the agreement building step, the first instance 11 outputs a response in the following procedure. First, the first instance 11 generates the final OCR processing result based on the result of the consensus building. The first instance 11 compiles the agreed upon content for each extraction 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 for processing, the ID of the rule applied, 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), converts the output format, and adds necessary header information. The first instance 11 performs a final check with the other instances before sending the prepared response to the request source. The first instance 11 shares the response content with the other instances via P2P communication and obtains approval. After receiving approval from all instances, the first instance 11 transmits a response to the request source. After completing transmission, the first instance 11 updates the processing log and releases the resources that it used.
[0049] The first instance 11 adjusts the output to prevent multiple instances from sending responses at the same time. The first instance 11 determines which instance will output the response, 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 execution result 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, so that more efficient output processing can be performed in similar tasks in the future. The criteria and methods for these output processes 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. This output step enables the entire autonomous distributed system 1, including the first instance 11, to appropriately provide the requesting party 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] <Basic computer hardware configuration> 5 is a block diagram showing the basic hardware configuration of a computer 90. The computer 90 includes at least a processor 901, a main memory device 902, an auxiliary memory device 903, and a communication IF 991 (interface), which are electrically connected to one another 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, registers, peripheral circuits, and the like.
[0052] The main memory device 902 is used to temporarily store programs, 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 wired or wireless communication standards. The network is composed of the Internet, a LAN, various mobile communication systems constructed by 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 direct connection 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 computer 90 is a concept that 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> The following describes 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 out various programs stored in the auxiliary storage device 903, expanding them in 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), a CPU (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to perform the described functions. A processor includes transistors and other circuits and is considered to be circuitry or processing circuitry. A processor may also be a programmed processor that executes programs stored in memory. In this specification, a circuitry, unit, or means is hardware that is programmed to realize or performs the described functions, which may be any hardware disclosed herein or any hardware known to be programmed to realize or perform the described functions. If the hardware is a processor considered to be a type of circuitry, the circuitry, means, or unit is a combination of the 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. Furthermore, 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. Furthermore, the control unit can cause the processor 901 to execute processes for adding, updating, and deleting 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 masters and tables 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 set and associated. Databases also include distributed databases such as TiDB, as well as 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 essential. 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, it can be considered that the information processing device and information processing system according to the present disclosure have been 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 a 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. In addition, 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 supplemented below.
[0065] (Appendix 1) a processing start step (S104) 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 (S105) in which one or more instances share processing results with other instances through communication via the network; an adjustment step (S106) in which 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 (S107) in which one or more instances reach consensus on the processing results through communication via the network; and an output step (S108) 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 consensus has been reached in the consensus building step. It is possible to realize an autonomous distributed system with high availability consisting of multiple autonomous instances. In response to a received request, the multiple instances can execute appropriate processing according to the artificial intelligence model each has, and processing results can be obtained more quickly.
[0066] (Appendix 2) 2. The program of 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. This makes it possible to realize an autonomous distributed system with higher availability.
[0067] (Appendix 3) 2. The program of 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. This allows the system to efficiently manage large groups of instances.
[0068] (Appendix 4) The instances are managed based on the concept of Decentralized Autonomous Organization (DAO), a program described in Appendix 3. This allows an instance group to always know the status of the instances in its own group, and also to obtain information on instances in other instance groups as needed, making it possible to efficiently manage large-scale instance groups.
[0069] (Appendix 5) The program according to Appendix 3, wherein an instance that receives a request in the request receiving step preferentially requests cooperation in 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] (Appendix 6) Each of the multiple instances executes a processing determination step (S103) in which it is determined whether the request can be processed by one or more artificial intelligence models, and a processing start step (S104) in which 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, a program as described in Appendix 1. This allows only instances that have the resources (artificial intelligence models, other computing resources, etc.) that can process the received request to participate in the processing. Instances that do not have the resources can avoid participating in the process.
[0071] (Appendix 7) A program as described in Appendix 6, wherein each of the multiple instances executes a judgment sharing step (S103) in which the judgment result in the processing judgment step is shared with other instances through communication via a network, and a processing start step (S104) in which one or more instances start processing based on the judgment result shared in the judgment sharing step. This allows the contents of the determination result to be shared with other instances, thereby making it possible to avoid overlapping of processing participation among a plurality of instances.
[0072] (Appendix 8) 2. The program according to claim 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 start of processing to be accelerated, and processing results to be obtained more quickly.
[0073] (Appendix 9) A program as described in Appendix 1, wherein each of the multiple instances has one or more processing rules independent of the other instances, and the processor starts a processing start step (S104) 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 apply the predetermined artificial intelligence model to the request. This allows an appropriate processing result to be obtained by applying an appropriate artificial intelligence model in accordance with the processing rules in response to the received request.
[0074] (Appendix 10) The program according to claim 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 of processing to be accelerated, and processing results to be obtained more quickly.
[0075] (Appendix 11) The program according to appendix 1, wherein the adjustment step (S106) is a step in which each of the one or more instances executes a process to stop the process or change the process content depending on the result of the process. Each of the multiple instances can achieve more efficient processing by canceling or changing the processing content in accordance with the shared processing results.
[0076] (Appendix 12) The program described in Appendix 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 the processing results of its own, and determines whether consensus building has been successful or not based on the comparison results. It is possible to output appropriate processing results according to the content of the agreement on the processing results of each instance. [Explanation of symbols]
[0077] 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 processor and a storage unit, the autonomous distributed processing system comprising a plurality of instances realized by a plurality of computers communicably connected to each other via a network, each of the plurality of instances comprises one or more artificial intelligence models independent of the other instances; a request receiving step in which the plurality of instances receive a request; a processing initiation step in which one or more instances that have received the 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 the results of the processing with other instances through communication via a network; an adjustment step in which the one or more instances autonomously adjust their respective processes in accordance with the processing results shared in the result sharing step; a consensus building step in which the one or more instances build a consensus on a result of the processing through communication via a network; an output step of outputting a response including information based on the content of the consensus formation when it is determined that an agreement has been reached in the consensus formation step for at least some of the one or more instances; A program that executes.
2. the plurality of instances are connected to each other via a P2P network so as to be able to communicate with each other; The program according to claim 1.
3. The multiple instances included in the autonomous distributed processing system are divided into multiple instance groups, Each instance in each instance group is It constantly shares its own status with other instances in the same instance group via push-type communication, Shares its own status with other instances in other instance groups through pull-type communication. The program according to claim 1.
4. The instances are managed based on the concept of Decentralized Autonomous Organization (DAO). The program according to claim 3.
5. The instance that receives the request in the request receiving step requests other instances in the instance group to which it belongs to for cooperation in the processing, with priority given to the other instances. The program according to claim 3.
6. a processing determination step in which each of the plurality of instances determines whether the request can be processed by the one or more artificial intelligence models; Run the processing initiation step is a step in which the one or more instances determined to be processable in the processing determination step start processing based on the request; The program according to claim 1.
7. a determination sharing step in which each of the plurality of instances shares a determination result in the processing determination step with other instances through communication via a network; Run the processing initiation step is a step in which the one or more instances start processing based on the determination result shared in the determination sharing step. The program according to claim 6.
8. the processing initiation step is a step in which the one or more instances initiate processing without communicating with other instances; The program according to claim 1.
9. each of the plurality of instances having one or more processing rules independent of the other instances; the processor: the processing initiation 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 initiate processing to apply the predetermined artificial intelligence model to the request; The program according to claim 1.
10. the request receiving step is a step in which each of the plurality of instances receives a request simultaneously; The program according to claim 1.
11. 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 a result of the process; The program according to claim 1.
12. The consensus building step is a step in which each of the one or more instances compares a processing result received from another instance with a processing result of its own, and determines whether consensus building has been achieved based on the comparison result. The program according to claim 1.
13. A method executed in an autonomous distributed processing system comprising 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
Program, server, system, and method
JP2023142469A