Distributed processing system

JP2026148001APending Publication Date: 2026-09-17TOYOTA JIDOSHA KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025036301
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-07
Publication Date
2026-09-17

AI Technical Summary

Benefits of technology

【0008】 本開示によれば、各ノードにより分散して行った計算処理結果の集約作業が容易であり、結果の信頼性の低下を抑制することができるとともに、システム全体での計算処理効率の低下を避けることが可能である。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026148001000001_ABST
    Figure 2026148001000001_ABST
Patent Text Reader

Abstract

This distributed processing system facilitates the aggregation of computational processing results performed by each node, thereby suppressing a decrease in the reliability of the results and a decrease in the overall computational processing efficiency of the system. [Solution] The distributed processing system comprises a server and a group of terminals, and is a distributed processing system that distributes computation processing among multiple terminals in the group of terminals. The server comprises a server memory device that stores schedule information including the execution start timing, and a server processing circuit. Each terminal in the group of terminals is equipped with a terminal processing circuit. The server processing circuit is configured to send a web push notification to all terminals in the group of terminals simultaneously according to the execution start timing of the schedule information. The terminal processing circuit is configured to start computation processing when the terminal receives the web push notification.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a distributed processing system that executes computational processing distributedly across a plurality of nodes. [Background Art]

[0002] Patent Document 1 discloses a system for enabling execution of a plurality of tasks in a heterogeneous dynamic environment. The system includes a plurality of heterogeneous host machines, and a distributed system orchestrator for managing execution of the plurality of tasks using at least one of the plurality of heterogeneous host machines. Each host machine includes a telecommunications application, a virtualization engine for executing received virtualization elements using corresponding processing resources of the host machine, and a geolocation module for providing at least an indication of a current location of the corresponding host machine. The distributed system orchestrator also includes a telecommunications application, and a task allocation module for allocating each virtualization element of the plurality of virtualization elements to a selected host machine located on a telecommunications network.

[0003] In addition, as other examples of documents showing the technical level in the present technical field, there are the following Patent Documents 2 and 3. [Prior Art Documents] [Patent Documents]

[0004] [Patent Document 1] Japanese National Publication of International Patent Application No. 2023-0544073 [Patent Document 2] Japanese National Publication of International Patent Application No. Hei 07-503568 [Patent Document 3] Japanese National Publication of International Patent Application No. 2015-534293 [Summary of the Invention] [Problems to be Solved by the Invention]

[0005] In a system like the one described in Patent Document 1, each host machine, i.e., each node that acts as a computing entity, executes computing tasks independently of other nodes. However, the synchronization of computing task execution among the nodes is not adequately considered. As a result, the timing of when each node starts and finishes processing may not be synchronized, potentially making it difficult to aggregate the results. Furthermore, this may lead to a decrease in the overall computing efficiency of the system and a decrease in the reliability of the results.

[0006] This disclosure was made in view of these challenges. One objective of this disclosure is to provide a distributed processing system that facilitates the aggregation of computational processing results performed in a distributed manner by each node, thereby suppressing a decrease in the reliability of the results and avoiding a decrease in the overall computational processing efficiency of the system. [Means for solving the problem]

[0007] One aspect of this disclosure relates to a distributed processing system. The distributed processing system comprises a server and a group of terminals, and distributes computation processing among the terminals of the group of terminals. The server comprises a server memory device that stores schedule information, including the execution start timing, and a server processing circuit. Each terminal in the group of terminals comprises a terminal processing circuit. The server processing circuit is configured to send a web push notification to all terminals in the group of terminals simultaneously according to the execution start timing of the schedule information. The terminal processing circuit is configured to start computation processing when the terminal receives the web push notification. [Effects of the Invention]

[0008] According to this disclosure, the aggregation of computational processing results performed in a distributed manner by each node is made easy, which helps to suppress a decrease in the reliability of the results and avoids a decrease in the overall computational processing efficiency of the system. [Brief explanation of the drawing]

[0009] [Figure 1]This diagram schematically shows the overall configuration of a distributed processing system. [Figure 2] This is a sequence diagram illustrating an example of processing in a distributed processing system. [Figure 3] This is a flowchart illustrating an example of processing on a server in a distributed processing system. [Figure 4] This diagram schematically shows the overall configuration of a modified distributed processing system. [Figure 5] This flowchart shows an example of processing on a server in a modified distributed processing system. [Figure 6] This flowchart shows another example of processing on a server in a modified distributed processing system. [Modes for carrying out the invention]

[0010] The embodiments for implementing the distributed processing system relating to this disclosure will be described with reference to the attached drawings. In each drawing, the same or corresponding parts are denoted by the same reference numerals, and redundant explanations are simplified or omitted as appropriate. This disclosure is not limited to the following embodiments, and any modification or omission of any component is possible without departing from the spirit of this disclosure.

[0011] Embodiment 1. Embodiment 1 of this disclosure will be described with reference to Figures 1 to 6. Figure 1 is a schematic diagram showing the overall configuration of a distributed processing system. Figure 2 is a sequence diagram illustrating an example of processing in a distributed processing system. Figure 3 is a flowchart showing an example of processing on a server of a distributed processing system. Figure 4 is a schematic diagram showing the overall configuration of a modified example of a distributed processing system. Figure 5 is a flowchart showing an example of processing on a server of a modified example of a distributed processing system. Figure 6 is a flowchart showing another example of processing on a server of a modified example of a distributed processing system.

[0012] The distributed processing system according to this embodiment is a system that distributes computation processing across multiple nodes. As shown in Figure 1, the distributed processing system comprises a server 100 and a group of terminals. The group of terminals consists of multiple terminals 200. As shown in Figure 1(b), each terminal 200 is a computer equipped with one or more terminal storage devices 211 and one or more terminal processing circuits 212. The terminals 200 are typically mobile terminals such as smartphones. In addition to smartphones, the terminals 200 may also be, for example, tablet computers, notebook computers (laptop computers), or desktop PCs (personal computers).

[0013] Figure 1 illustrates four terminals 200: the first terminal 201, the second terminal 202, the third terminal 203, and the fourth terminal 204. However, the number of terminals 200 included in a terminal group can be two or more, and is not limited to four. In this disclosure, the first terminal 201, the second terminal 202, the third terminal 203, and the fourth terminal 204 are collectively referred to as "terminal 200" without distinction.

[0014] As shown in Figure 1(b), the server 100 is a computer comprising one or more server storage devices 101 and one or more server processing circuits 102. The server 100 can communicate with each of the multiple terminals 200 that constitute the terminal group via a communication network 3 (not shown). The communication network consists of, for example, a wired communication system, a wireless communication system, the Internet, etc.

[0015] Each of the server processing circuit 102 and the terminal processing circuit 212 executes various processes. Each of the server processing circuit 102 and the terminal processing circuit 212 is constituted by, for example, a general-purpose processor, a special-purpose processor, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), an integrated circuit, a conventional circuit, or one or a combination of a plurality of the foregoing. A processor including transistors and other circuits is an example of each of the server processing circuit 102 and the terminal processing circuit 212. Each of the server processing circuit 102 and the terminal processing circuit 212 can also be referred to as circuitry or processing circuitry. Circuitry is hardware programmed to implement or hardware that performs the functions described in the present disclosure.

[0016] Each of the server storage device 101 and the terminal storage device 211 is constituted by a recording medium such as RAM (Random Access Memory), ROM (Read Only Memory), SSD (Solid State Drive), or HDD (Hard Disk Drive), for example.

[0017] The server storage device 101 stores various types of information necessary for execution of processes by the server processing circuit 102. The server storage device 101 stores a computer program executable by the server processing circuit 102. The computer program is constituted by a plurality of instructions that describe processes to be caused to be executed by the server processing circuit 102. The computer program may be recorded on a computer-readable recording medium. The functions of the server 100 are implemented when the server processing circuit 102 executes a computer program stored in the server storage device 101 in the server 100, and the hardware and software of the server 100 cooperate with each other.

[0018] Similarly, the terminal storage device 211 stores various types of information necessary for the terminal processing circuit 212 to execute processing. The terminal storage device 211 stores computer programs executable by the terminal processing circuit 212. The functions of the terminal 200 are implemented when the terminal processing circuit 212 executes the computer program stored in the terminal storage device 211 in each terminal 200, and the hardware and software of the terminal 200 cooperate with each other.

[0019] As shown in FIG. 1 and FIG. 2, the server 100 includes, as functions implemented by the server processing circuit 102 executing a computer program stored in the server storage device 101, a broker 110, a scheduler 131, a web server, a web application server, and an API gateway 133. The broker 110 divides specified calculation processing into jobs (also referred to as tasks) for distributed processing, and manages the execution of the divided jobs.

[0020] The scheduler 131 creates a plan for executing calculation processing. The content of the plan created by the scheduler 131 is stored as schedule information in the server storage device 101. The schedule information includes at least the execution start timing of the calculation processing. The execution start timing of the calculation processing is typically specified by an execution start time, but is not limited thereto. The scheduler 131 controls the execution timing of distributed processing jobs in each terminal 200 according to the schedule information stored in the server storage device 101.

[0021] The web server provides functions related to the presentation layer of the web system. Specifically, the web server provides services such as sending data related to the homepage 120 (described later) and data related to the web application 132 (described later) to terminals 200 in response to requests from terminals 200. Each terminal 200 accesses the server 100 using an application such as a web browser. In response to a request from a terminal 200 that has accessed the server 100, the web server sends data to the terminal 200 for displaying the homepage 120. The terminal 200 displays the homepage 120 using the received data, for example, in the aforementioned web browser. The homepage 120 functions as an interface that displays various information to each terminal 200 that has accessed the server 100 and accepts various instructions and operations from each terminal 200.

[0022] The web application server provides functions related to the application layer of the web system. Specifically, the web application server provides a service to terminal 200 for executing the web application 132. For example, the web application server executes processing by the web application 132 in response to terminal 200's access to the homepage 120.

[0023] Data downloads and uploads between the server 100 and each terminal 200 are performed via an API (Application Programming Interface). Authentication processing for each terminal 200 participating in distributed processing is also performed via the API. The API gateway 133 plays a role in appropriately mediating communication between each terminal 200 and the backend of the server 100 when using such APIs.

[0024] In the distributed processing system configured as described above, each terminal 200 in the terminal group is a node that performs computational processing in a distributed manner. For example, when a node terminal 200 accesses the homepage 120 of the server 100, the web application server executes the web application 132. In this embodiment, the web application 132 has a message management function 121. The message management function 121 is a function that manages the exchange of messages between the server 100 and each terminal 200.

[0025] Next, the processing in the distributed processing system according to this disclosure will be explained with reference to Figures 1(a) and 2. The scheduler 131 refers to the schedule information stored in the server storage device 101 and, when the execution start time for the calculation process, i.e., the current time, becomes the execution start time, it notifies the web application 132 of a start trigger. Upon receiving this start trigger, the web application 132 simultaneously sends a web push notification (execution trigger) to each terminal 200.

[0026] Each terminal 200 that receives a web push notification starts executing a designated job in order to distribute the computational processing. That is, the terminal processing circuit 212 starts computational processing when the terminal 200 receives a web push notification. Each terminal 200 that has started executing a job first sends a download request for the data required for the job to the server 100. When the server 100 receives the download request, the API gateway 133 of the server 100 calls a process to authenticate the terminal 200 that sent the request, and receives the authentication result of the terminal 200 as a response to the request. If the authentication result is successful, the download of the data required for the job to the terminal 200 begins.

[0027] Once the download is complete, terminal 200 starts a job (for example, a matching process). After the job is completed, terminal 200 sends an upload request for result data to server 100. Upon receiving the upload request, server 100 authenticates terminal 200 via the API, as described above during the download, and then uploads the job result data from terminal 200 to server 100. Once the job result data upload is complete, API gateway 133 sends a result upload completion notification to terminal 200. API gateway 133 also notifies web application 132 of the result upload completion. Web application 132 performs result aggregation processing once result uploads have been completed from all target nodes, i.e., terminal 200.

[0028] Once the results have been compiled, the web application 132 sends a second web push notification to each terminal 200 simultaneously. Then, as with the first time, each terminal 200 that receives the web push notification begins executing the second job. Thereafter, the execution of the job on each terminal 200 is repeated in the same manner as planned in the schedule information stored in the server storage device 101.

[0029] In the distributed processing system configured as described above, a web push notification is sent simultaneously to each terminal 200, which acts as the computing entity. Upon receiving this web push notification, each terminal 200 begins executing the job. This synchronizes the job execution at each terminal 200, making it possible to align the start and end times of processing at each node (terminal 200). As a result, the occurrence of discrepancies and inconsistencies in results when aggregating job execution results at each terminal 200 is reduced, avoiding difficulties in the result aggregation process and suppressing a decrease in the reliability of the results. Furthermore, it is possible to suppress the widening of the time difference until jobs are completed at each terminal 200, thus avoiding a decrease in the overall computing efficiency of the system.

[0030] Furthermore, as shown in Figure 1(c), the server 100 should send web push notifications to participating terminals 200 that have expressed their intention to participate in the execution of the distributed processing job, but should not send them to unparticipating terminals 200 that have not expressed their intention to participate in the execution of the job. Expression of intent to participate can be done, for example, by allowing terminals 200 to access the homepage 120 and input whether or not they intend to participate on this homepage 120.

[0031] Furthermore, the server 100 may perform a health check on each terminal 200 and send web push notifications only to terminals 200 that are determined to be in a state where they can execute jobs. In checking the status of terminals 200, the server 100 should determine, for example, whether the terminal 200 is not powered on, or whether there is a communication failure between the terminal 200 and the server 100 that prevents the terminal 200 from executing jobs.

[0032] Furthermore, the server 100 may also check the processing load of terminal 200 during the status check of terminal 200. In this case, each terminal 200 sends information about its processing load to the server 100. Then, the server 100's web application 132, for example, decides whether or not to send a web push notification based on the information about the processing load of terminal 200. In other words, the server processing circuit 102 decides which terminal 200 to send a web push notification to based on the information about the processing load of terminal 200 in the group of terminals. For example, if the processing load of terminal 200 is high and it is difficult to execute the job normally, the server 100 may decide not to send a web push notification to that terminal 200. A case where the processing load of terminal 200 is high and it is difficult to execute the job normally is, for example, when it takes an extremely long time to complete the job.

[0033] Next, with reference to the flowchart in Figure 3, an example of the processing flow in the server 100 of the distributed processing system configured as described above will be explained. First, in step S101, the broker 110 divides the computation process and generates jobs. Then, the scheduler 131 schedules the execution of the generated jobs. The schedule information created by the scheduler 131 is stored in the server storage device 101.

[0034] In the following step S102, the server 100 performs a health check on each terminal 200. In the following step S103, the server 100 assigns a job to each terminal 200 that was confirmed to be able to execute a job in the health check in step S102. In the following step S104, the server 100 accepts download requests from the terminals 200 for the data necessary to execute the job. Then, in step S105, the server 100 checks whether the download has been completed on all terminals 200 participating in the distributed processing. If the download has not been completed on all terminals 200 participating in the distributed processing, the server 100 returns to step S104 and continues to accept downloads. Once the download has been completed on all terminals 200 participating in the distributed processing, the server 100 then performs the process in step S106.

[0035] In step S106, server 100 simultaneously sends a web push notification to all terminals 200 participating in the distributed processing. In the following step S107, server 100 accepts upload requests for job execution result data from terminals 200. In the following step S108, server 100 checks whether job execution has been completed on all terminals 200 participating in the distributed processing, in other words, whether the upload of job execution result data from all terminals 200 participating in the distributed processing has been completed. If job execution has not been completed on all terminals 200 participating in the distributed processing, server 100 returns to step S107 and continues to accept job execution results. Once job execution has been completed on all terminals 200 participating in the distributed processing, server 100 then performs the process in step S109.

[0036] In step S109, the server 100 refers to the schedule information stored in the server storage device 101 and determines whether the execution of all scheduled jobs has been completed. If the execution of all scheduled jobs has not been completed, the process returns to step S102 and continues. On the other hand, if the execution of all scheduled jobs has been completed, the series of processes ends.

[0037] Next, a modified example of the distributed processing system according to this embodiment will be described with reference to Figures 4 to 6. In this modified example, the terminal group includes multiple groups. The number of groups can be any number, as long as there are two or more. That is, the terminal group includes at least a first terminal group and a second terminal group. In the example shown in Figure 4, the terminal group is divided into group 1, which is the first terminal group, and group 2, which is the second terminal group. More specifically, of the multiple terminals 200 in the terminal group, the first terminal 201 and the second terminal 202 belong to group 1 (first terminal group). The third terminal 203 and the fourth terminal 204 belong to group 2 (second terminal group).

[0038] Furthermore, in this modified example, the number of computational processes subject to distributed processing is equal to the number of groups contained within the terminal cluster. That is, the computational processes subject to distributed processing include at least a first computational process and a second computational process. The first terminal cluster executes the first computational process in a distributed manner, and the second terminal cluster executes the second computational process in a distributed manner.

[0039] In this modified version, the scheduler 131 creates schedule information for each of the multiple groups included in the terminal group. That is, the scheduler 131 creates at least a first schedule information and a second schedule information. The first schedule information includes a first execution start timing. The first execution start timing is the timing when the first terminal group starts executing the first calculation process. The first execution start timing is typically specified by a first execution start time, but is not limited to this. Similarly, the second schedule information includes a second execution start timing. The second execution start timing is the timing when the second terminal group starts executing the second calculation process. The second execution start timing is typically specified by a second execution start time, but is not limited to this. Note that the first execution start timing and the second execution start timing may be the same timing.

[0040] The schedule information for each of the multiple groups created by the scheduler 131 is stored in the server storage device 101. In other words, the schedule information stored in the server storage device 101 includes at least the first schedule information and the second schedule information. The scheduler 131 refers to the schedule information stored in the server storage device 101 and, when it is time to start the execution of the calculation process for each group, notifies the web application 132 of a start trigger for that group. Upon receiving this start trigger, the web application 132 simultaneously sends a web push notification (execution trigger) to each terminal 200 of that group. Then, each terminal 200 of that group that receives the web push notification starts executing the job assigned to that group.

[0041] In the example shown in Figure 4(a), the scheduler 131 refers to the first schedule information stored in the server storage device 101 and, when the execution start timing of the first calculation process, i.e., the current time, becomes the first execution start time, it notifies the web application 132 of the first start trigger. Upon receiving this first start trigger, the web application 132 simultaneously sends a first web push notification (execution trigger 1) to each terminal 200 of the first terminal group. Each terminal 200 of the first terminal group that receives the first web push notification starts executing the job specified for it in order to process the first calculation process in a distributed manner. That is, the terminal processing circuit 212 of each terminal 200 of the first terminal group starts the first calculation process when the terminal 200 receives the first web push notification.

[0042] Similarly, the scheduler 131 refers to the second schedule information stored in the server storage device 101 and, when the execution start timing for the second calculation process, i.e., the current time, becomes the second execution start time, it notifies the web application 132 of the second start trigger. Upon receiving this second start trigger, the web application 132 simultaneously sends a second web push notification (execution 2 trigger) to each terminal 200 of the second terminal group. Each terminal 200 of the second terminal group that receives the second web push notification starts executing the job specified for it in order to process the second calculation process in a distributed manner. That is, the terminal processing circuit 212 of each terminal 200 of the second terminal group starts the second calculation process when the terminal 200 receives the second web push notification.

[0043] The server 100 may also check the status of each terminal 200 and send a Web push notification (first Web push notification or second Web push notification) only to terminals 200 that are determined to be in a state where they can execute the job.

[0044] Next, referring to the flowchart in Figure 5, an example of the processing flow in server 100 of a modified distributed processing system will be explained. Note that steps S201, S202, S204, S205, and S207 to S209 in Figure 5 are the same as steps S101, S102, S104, S105, and S107 to S109 in Figure 3, respectively, so redundant explanations will be omitted here. After step S202, in step S203, server 100 assigns a job to each group to which the terminals 200 to which the status check in step S202 confirmed to be able to execute the job belong. After step S203, the process continues to step S204. After step S205, in step S206, server 100 simultaneously sends a Web push notification to all terminals 200 belonging to each group. After step S206, the process continues to step S207.

[0045] In this modified example, the server 100 may check the processing load of the terminal 200 when checking the status of the terminal 200. In this case, each terminal 200 sends information about its processing load to the server 100. The server 100's broker 110 may then determine the group to which each terminal 200 belongs based on the information about the processing load of each terminal 200. In other words, the server processing circuit 102 may determine which terminal 200 will send the first Web push notification and which terminal 200 will send the second Web push notification based on the information about the processing load of the terminals 200 in the terminal group.

[0046] In this case, for example, as shown in Figure 4(b), the server 100 may change the affiliation of some terminals 200 belonging to a group with a relatively small processing load to a group with a relatively large processing load. That is, if the processing load of terminals 200 in the first terminal group is greater than the processing load of terminals 200 in the second terminal group, the server 100 may send a first Web push notification to some of the terminals 200 in the second terminal group. Conversely, if the processing load of terminals 200 in the second terminal group is greater than the processing load of terminals 200 in the first terminal group, the server 100 may send a second Web push notification to some of the terminals 200 in the first terminal group. By providing such a load balancing function, the processing load on each terminal 200 can be made more uniform.

[0047] Next, referring to the flowchart in Figure 6, an example of the processing flow in the server 100 of a distributed processing system equipped with the load balancing function described above will be explained. Note that steps S301, S304, S305, and S307 to S309 in Figure 6 are the same as steps S101, S104, S105, and S107 to S109 in Figure 3, respectively, so redundant explanations will be omitted here. After step S301, in step S302, the server 100 performs a status check (health check) on each terminal 200. At this time, the server 100 also checks the load status of each terminal 200. Then, after step S302, in step S303, the server 100 groups the terminals 200 that were confirmed to be able to execute jobs in the status check in step S302 and assigns a job to each of the groups. After step S303, the process proceeds to step S304 and continues.

[0048] Furthermore, after step S305, in step S306, the server 100 simultaneously sends a Web push notification to all terminals 200 belonging to each group. This Web push notification also notifies the group to which each terminal 200 belongs. In other words, in the example shown in Figure 4(b) above, this Web push notification is either the first Web push notification or the second Web push notification. The first Web push notification notifies that the terminal 200 belongs to the first terminal group and simultaneously acts as a trigger to start the execution of jobs related to the first terminal group. Similarly, the second Web push notification notifies that the terminal 200 belongs to the second terminal group and simultaneously acts as a trigger to start the execution of jobs related to the second terminal group. After step S306, the process proceeds to step S307 and continues.

[0049] In the examples described above, there were cases where terminal 200 downloads the necessary data after receiving a web push notification, which is the trigger for starting processing (for example, Figure 2), and cases where it downloads the data before receiving the web push notification and starts the actual computation process immediately upon receiving the web push notification (for example, Figures 3, 5, and 6). In the distributed processing system related to this disclosure, both of these cases can be used as appropriate. [Explanation of Symbols]

[0050] 100 Server, 101 Server Storage, 102 Server Processing Circuit, 110 Broker, 120 Homepage, 121 Message Management Function, 131 Scheduler, 132 Web Application, 133 API Gateway, 200 Terminal, 201 First Terminal, 202 Second Terminal, 203 Third Terminal, 204 Fourth Terminal, 211 Terminal Storage, 212 Terminal Processing Circuit

Claims

1. Server and A group of terminals consisting of multiple terminals, A distributed processing system that distributes computation processing among multiple terminals of the terminal group, The aforementioned server, A server memory device that stores schedule information including the execution start time, A server processing circuit is provided, Each of the terminals in the aforementioned group of terminals is equipped with a terminal processing circuit. The server processing circuit is configured to simultaneously send web push notifications to the terminals of the terminal group according to the execution start timing of the schedule information. The terminal processing circuit is a distributed processing system configured to start the calculation process when the terminal receives the Web push notification.

2. The terminal processing circuit is further configured to transmit information regarding the processing load of the terminal to the server. The distributed processing system according to claim 1, wherein the server processing circuit is further configured to determine which terminal to send the Web push notification to based on information regarding the processing load of the terminals in the group of terminals.

3. The calculation process includes a first calculation process and a second calculation process, The aforementioned group of terminals includes a first group of terminals and a second group of terminals, The aforementioned schedule information includes first schedule information including a first execution start timing and second schedule information including a second execution start timing. The server processing circuit is In accordance with the first execution start timing of the first schedule information, the first web push notification is sent simultaneously to the terminals of the first group of terminals. The system is configured to simultaneously send a second web push notification to the terminals of the second group of terminals according to the second execution start timing of the second schedule information. The terminal processing circuit is, When the terminal receives the first web push notification, it starts the first calculation process. The distributed processing system according to claim 1, configured to start the second computation process when the terminal receives the second web push notification.

4. The terminal processing circuit is further configured to transmit information regarding the processing load of the terminal to the server. The distributed processing system according to claim 3, wherein the server processing circuit is further configured to determine which terminal to send the first web push notification and which terminal to send the second web push notification based on information regarding the processing load of the terminals in the group of terminals.

5. The server processing circuit is If the processing load of the terminals in the first terminal group is greater than the processing load of the terminals in the second terminal group, the first Web push notification is sent to some of the terminals in the second terminal group. The distributed processing system according to claim 4, further configured to send the second Web push notification to some of the terminals in the first terminal group if the processing load of the terminals in the second terminal group is greater than the processing load of the terminals in the first terminal group.

Citation Information

Patent Citations

  • Call management workstation and method in collaborative work network

    JP1995503568A

  • Traffic management for third-party applications

    JP2015534293A

  • JP2023-0544073A