Data processing program, data processing method and data processing system

By calculating the dependence ratio of preceding devices, the method determines optimal times to increase resources, addressing resource allocation inefficiencies and preventing shortages in stream data processing systems.

JP7620210B2Active Publication Date: 2025-01-23FUJITSU LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2021100932
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-17
Publication Date
2025-01-23
Estimated Expiration
2041-06-17

AI Technical Summary

Technical Problem

Conventional systems face challenges in determining the appropriate timing to increase resources for processing devices in stream data processing, leading to resource shortages and inefficient resource allocation due to unpredictable changes in data flow and complex service connections.

Method used

A data processing method where processing devices calculate the ratio of data received from preceding devices to determine the degree of dependence and estimate future resource needs, allowing them to decide when to augment resources based on current usage and predicted demands.

Benefits of technology

This approach enables timely resource allocation, preventing resource shortages and reducing operational costs by optimizing resource usage and avoiding excessive resource provisioning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007620210000001
    Figure 0007620210000001
  • Figure 0007620210000002
    Figure 0007620210000002
  • Figure 0007620210000003
    Figure 0007620210000003
Patent Text Reader

Abstract

To provide a data processing program, a data processing method, and a data processing system for determining appropriate timing for increasing the resources of a processing device.SOLUTION: In a data processing method, in a case where any processing device among a plurality of processing devices, which execute predetermined processing on received data and output results, receives a report that resources has been reinforced from a first processing device among grouped processing devices in a previous stage of a device in question among the plurality of processing devices, a ratio of a reception amount of the first processing device to the total of respective reception amounts of the grouped processing devices is calculated based on the reception amount of data received from each of the grouped processing devices within a prescribed period, and whether to reinforce the resources of the device in question is determined based on the calculated ratio and the use situation of the resources of the device in question.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a data processing program, a data processing method, and a data processing system. [Background technology]

[0002] In recent years, digital twin systems have been developed that convert the real world into digital data and map it onto a virtual world, allowing users to grasp and analyze the virtual world from a bird's-eye view as data. Digital twin systems, for example, can analyze data that changes over time by importing sensor data as time-series data. On the other hand, when resources become insufficient due to an increase in the amount of data, the overall processing volume of the service can be increased by increasing resources.

[0003] Prior art includes a computer system capable of changing the number of processing nodes that execute a plurality of processes by load balancing, which transfers a processing program that executes a second process related to the first process to a processing node that is increased in order to execute the second process when the load of the first process exceeds a first condition. Also, there is a technology that dynamically predicts demand based on past demand, input regions, cost requirements, etc., and adjusts capacity accordingly, in order to match the capacity on the server of an object to the predicted required capacity. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2017-219972 A [Patent Document 2] JP 2001-067377 A Summary of the Invention [Problem to be solved by the invention]

[0005] However, with conventional technologies, in a system that combines multiple services to perform stream data processing or the like, it is difficult to determine the appropriate timing for increasing the resources of processing devices (nodes) within the system.

[0006] In one aspect, the present invention aims to determine an appropriate timing for augmenting the resources of a processing unit. [Means for solving the problem]

[0007] In one embodiment, a data processing program is provided in which, when a processing device among a plurality of processing devices that performs a specified processing on received data and outputs the results receives a notification from a first processing device of a processing device group upstream of the processing device among the plurality of processing devices that resources have been increased, the program calculates a ratio of the receiving amount of the first processing device to the total receiving amount of each of the processing device group based on the receiving amount of data received from each of the processing device group within a specified period, and determines whether to increase the resources of the processing device based on the calculated ratio and the resource usage status of the processing device. Effect of the Invention

[0008] Advantageous Effects of Invention According to one aspect of the present invention, it is possible to determine an appropriate timing for enhancing resources of a processing device. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating an example of a data processing method according to an embodiment. [Diagram 2] FIG. 2 is an explanatory diagram showing an example of a system configuration of a data processing system 200. As shown in FIG. [Diagram 3] FIG. 3 is a block diagram showing an example of a hardware configuration of a node Ni. [Figure 4] FIG. 4 is a diagram illustrating an example of the contents of the augmentation condition table 220. As shown in FIG. [Diagram 5]FIG. 5 is an explanatory diagram showing an example of connections between nodes in the data processing system 200. As shown in FIG. [Figure 6] FIG. 6 is a block diagram showing an example of a functional configuration of a node Ni. [Figure 7] FIG. 7 is an explanatory diagram showing an example of the contents of the reception amount collection table 700. As shown in FIG. [Figure 8] FIG. 8 is a diagram illustrating an example of the contents of the communication status table 800. As shown in FIG. [Figure 9] FIG. 9 is an explanatory diagram (part 1) showing an example of a determination as to whether to increase resources. [Figure 10] FIG. 10 is an explanatory diagram (part 2) showing an example of a determination as to whether to increase resources. [Figure 11] FIG. 11 is an explanatory diagram (part 3) showing an example of a determination as to whether to increase resources. [Figure 12] FIG. 12 is an explanatory diagram showing an example of the operation of the data processing system 200. As shown in FIG. [Figure 13] FIG. 13 is an explanatory diagram illustrating an example of a process for determining whether to increase resources using machine learning. [Figure 14] FIG. 14 is a flowchart illustrating an example of a reinforcement control process procedure of the node Ni. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of a data processing program, a data processing method, and a data processing system according to the present invention will be described in detail with reference to the accompanying drawings.

[0011] (Embodiment) Fig. 1 is an explanatory diagram showing one example of a data processing method according to an embodiment. In Fig. 1, a processing device 101 is a computer that executes a predetermined process on received data and outputs the result. The predetermined process is, for example, stream data processing. Stream data processing is sequential processing of data that is generated from moment to moment. The data is, for example, sensor data from a vehicle (connected car), production equipment, etc.

[0012] For example, in a digital twin system, information is collected from sensors deployed in the real world, and related data is combined, processed, and analyzed. By collecting sensor data as time-series data, the digital twin system makes it possible to analyze data that changes over time.

[0013] In addition, in order to process large amounts of data at high speed, data may be stream-processed in parallel and distributed manner in multiple stages. For example, there is a digital twin system that performs stream data processing by combining a message queue service and a stream data processing service. In this digital twin system, sensor data is treated as stream data, and stream data processing is performed via a message queue.

[0014] In such a system, when resources become insufficient due to an increase in the amount of data, for example, the resources are increased by scaling out or scaling up.

[0015] As a method for enhancing a service realized by combining multiple services, for example, there is a technique in which each of the combined services individually controls the enhancement of resources (Prior Art 1). In Prior Art 1, for example, each service enhances resources when the used resources of the service itself exceed a predetermined threshold.

[0016] However, in the conventional technique 1, when a certain service is enhanced, the downstream service into which the stream data from the enhanced service flows quickly experiences resource shortages, and the resource shortage state continues for a long time.

[0017] There is also a technology that controls the increase in resources for all combined services at once (Prior Art 2). In Prior Art 2, for example, when the resources used by all combined services exceed a predetermined threshold, the resources of all services are increased at once.

[0018] However, in the conventional technique 2, there are cases where services that do not need to be strengthened are reinforced, leading to the problem of excessive resource provision.

[0019] There is also a technique for enhancing a later-stage service if the previous-stage service continues to exceed a preset load for a preset time (Prior Art 3). In Prior Art 3, the threshold ranges for time and load, and the connection of each service with the previous-stage service are set in advance. For Prior Art 3, see, for example, Patent Document 1.

[0020] However, because the situation in the real world changes from moment to moment, the amount of data flowing from the sensor to the message queue also changes depending on the situation. As a result, the amount of data flowing in from the preceding service also changes depending on the situation. For this reason, it is difficult to set parameters such as the threshold range in advance, as in conventional technology 3. In addition, when a system is configured to use multiple message queues to connect multiple stages of stream data processing, the complexity of the service connections increases, making it difficult to set parameters in advance.

[0021] In this embodiment, therefore, a data processing method is described for determining the appropriate timing for reinforcing the resources of a subsequent processing device when the resources of a certain processing device are reinforced. An example of processing by the processing device 101 is described below. Here, the processing device 101 is one of a plurality of processing devices, and executes a predetermined process on data received from a processing device in a previous stage and outputs the result. Also, the processing devices in the previous stage of the processing device 101 are referred to as "processing devices 102, 103".

[0022] (1) The processing device 101 receives an enhancement notification from a first processing device in a group of processing devices in a stage preceding the processing device itself. Here, the enhancement notification is a notification indicating that resources have been enhanced. When the resources of a processing device are enhanced, the processing capability of the processing device improves, and the amount of data flowing from the processing device to the processing devices in the stage following the processing device tends to increase.

[0023] In the example of FIG. 1, it is assumed that the processing device 101 receives an increase notification from the processing device 102 at the preceding stage.

[0024] (2) When the processing device 101 receives an enhancement notification from the first processing device, the processing device 101 calculates the ratio of the reception amount of the first processing device to the total reception amount of each of the preceding processing device groups based on the reception amount of data received from each of the preceding processing device groups within a predetermined period. The predetermined period can be set arbitrarily, and is, for example, a fixed period (such as 30 minutes) including the time when the enhancement notification is received.

[0025] Here, the processing load of the processing device 101 increases in proportion to the amount of data received. Therefore, among the processing devices in the preceding stage, the processing device that receives a larger amount of data from the processing device 101 has a stronger relationship with the processing device 101 and a higher degree of dependency on it.

[0026] Here, the degree of dependency of the processing device 101 on the first processing device is expressed by the ratio of the reception amount of the first processing device to the total reception amount of each of the processing devices in the preceding stage. Based on the degree of dependency on the first processing device, the processing device 101 can estimate how the expansion of the first processing device will affect the processing device itself.

[0027] In the example of FIG. 1, the processing device 101, in response to receiving an enhancement notification from the preceding processing device 102, identifies the amount of data received from each of the preceding processing device groups 102 and 103 in the most recent 30 minutes. Here, the amount of data received from the processing device 102 in the most recent 30 minutes is taken as "reception amount a", and the amount of data received from the processing device 103 in the most recent 30 minutes is taken as "reception amount b" (a>b). In this case, the processing device 101 calculates a ratio "a / (a+b)" of the reception amount "a" of the preceding processing device 102 to the total "a+b" of the reception amounts of each of the preceding processing device groups 102 and 103. This ratio "a / (a+b)" represents the degree of dependency of the processing device 101 on the preceding processing device 102.

[0028] (3) The processing device 101 determines whether to increase the resource of its own device based on the calculated ratio and the resource usage of its own device. The resource usage is represented, for example, by the amount of used resources and the amount of unused resources. It can be said that the higher the dependency of the processing device 101 on the first processing device, the greater the impact of the increase in the first processing device on its own device, and it can be inferred that the increase in the first processing device will increase the amount of data received and the amount of resource consumption.

[0029] Therefore, when the first processing device is reinforced, the processing device 101 determines that the unused resources of the processing device itself will be used according to the degree of dependency on the first processing device. Specifically, for example, the processing device 101 estimates the future resource usage of the processing device itself based on the calculated ratio and the current resource usage of the processing device itself. For example, the future resource usage is estimated so that the higher the calculated ratio, the greater the amount of resources used by the processing device 101.

[0030] Then, the processing device 101 judges whether the estimated future resource usage satisfies a predetermined reinforcement condition. If the reinforcement condition is satisfied, the processing device 101 judges to reinforce the resource of the processing device itself. On the other hand, if the reinforcement condition is not satisfied, the processing device 101 judges not to reinforce the resource of the processing device itself.

[0031] In the example of FIG. 1, the processing device 101 estimates future resource usage based on the calculated ratio "a / (a+b)" and the current resource usage of the processing device. Then, the processing device 101 judges whether the estimated future resource usage satisfies a predetermined augmentation condition. Here, it is assumed that the future resource usage satisfies the augmentation condition. In this case, the processing device 101 judges to augment the resource of the processing device.

[0032] In this way, the processing device 101 can calculate the degree of dependency on the reinforced first processing device based on the network traffic (the amount of traffic received from each of the preceding processing devices).Then, the processing device 101 can estimate how the reinforcement of the first processing device will affect its own device based on the degree of dependency on the first processing device, and determine whether or not there will be a resource shortage.

[0033] This allows the processing device 101 to determine the appropriate timing for enhancing the resources of its own device even when it is difficult to directly predict changes in network traffic or resource consumption caused by enhancement of the preceding processing device 102. In the example of Fig. 1, the processing device 101 can estimate how enhancement of the preceding processing device 102 will affect its own device based on the degree of dependency on the preceding processing device 102, and determine whether to enhance the resources of its own device in conjunction with the enhancement of the preceding processing device 102.

[0034] (System configuration example of data processing system 200) Next, a system configuration example of the data processing system 200 according to the embodiment will be described. The data processing system 200 is applied to a digital twin system that collects real-world (people and things) data on the cloud, and provides the results of data analysis and prediction to services and applications. For example, in the case of a connected car, a large amount of data collected from the vehicle, such as speed and position, can be analyzed, and dangerous information can be fed back to the driver.

[0035] In the following description, multiple processing devices included in the data processing system 200 may be referred to as "nodes N1 to Nn" (n: a natural number equal to or greater than 2). Any node among the nodes N1 to Nn may be referred to as "node Ni" (i=1, 2, ..., n). The processing device 101 shown in FIG. 1 corresponds to node Ni, for example.

[0036] Fig. 2 is an explanatory diagram showing an example of a system configuration of a data processing system 200. In Fig. 2, the data processing system 200 includes nodes N1 to Nn and a management terminal 201. In the data processing system 200, the nodes N1 to Nn and the management terminal 201 are connected via a wired or wireless network 210. The network 210 is, for example, the Internet, a LAN (Local Area Network), or a WAN (Wide Area Network).

[0037] Here, the node Ni has an augmentation condition table 220, executes a predetermined process on the received data, and outputs the result. The node Ni is a data processing platform corresponding to services such as a message queue service and a stream data processing service. The predetermined process is, for example, a queuing process of sensor data and a stream data processing.

[0038] The node Ni may be, for example, a cloud computing server or an edge computing server. The node Ni may be realized by a virtual machine or a container on a server (physical server). The contents stored in the augmentation condition table 220 will be described later with reference to FIG. 4.

[0039] The management terminal 201 is a computer used by an administrator of the data processing system 200. The management terminal 201 is, for example, a PC (Personal Computer) or a tablet PC.

[0040] In the data processing system 200, a node Ni executes a predetermined process (e.g., queuing process, stream data process) on data received from a node in a previous stage, and outputs the result to a node in a subsequent stage. Note that a node Ni can identify a node in a previous stage and a node in a subsequent stage of the node itself. For example, the node in a previous stage and a node in a subsequent stage of a node Ni may be set by an administrator. In addition, with regard to a node in a previous stage, a node Ni may identify a node that has transmitted data to the node itself as a node in a previous stage.

[0041] (Example of hardware configuration for node Ni) Fig. 3 is a block diagram showing an example of the hardware configuration of a node Ni. In Fig. 3, the node Ni has a CPU (Central Processing Unit) 301, a memory 302, a disk drive 303, a disk 304, a communication I / F (Interface) 305, a portable recording medium I / F 306, and a portable recording medium 307. In addition, each component is connected to each other by a bus 300.

[0042] Here, the CPU 301 is responsible for the overall control of the node Ni. The CPU 301 may have multiple cores. The memory 302 has, for example, a read only memory (ROM), a random access memory (RAM), and a flash ROM. Specifically, for example, the flash ROM stores an OS program, the ROM stores application programs, and the RAM is used as a work area for the CPU 301. The programs stored in the memory 302 are loaded into the CPU 301 to cause the CPU 301 to execute the coded processes.

[0043] The disk drive 303 controls reading / writing data from / to the disk 304 under the control of the CPU 301. The disk 304 stores data written under the control of the disk drive 303. Examples of the disk 304 include a magnetic disk and an optical disk.

[0044] The communication I / F 305 is connected to the network 210 through a communication line, and is connected to other computers via the network 210. The communication I / F 305 manages the interface between the network 210 and the inside of the device, and controls the input and output of data from other computers. For example, a modem or a LAN adapter can be used as the communication I / F 305.

[0045] The portable recording medium I / F 306 controls reading / writing of data from / to the portable recording medium 307 under the control of the CPU 301. The portable recording medium 307 stores data written under the control of the portable recording medium I / F 306. Examples of the portable recording medium 307 include a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disk), and a USB (Universal Serial Bus) memory.

[0046] In addition to the above-mentioned components, the node Ni may have, for example, an input device, a display, etc. Also, the management terminal 201 shown in Fig. 2 can be realized by the same hardware configuration as the node Ni. However, in addition to the above-mentioned components, the management terminal 201 has, for example, an input device, a display, etc.

[0047] (Storage contents of the augmentation condition table 220) Next, the contents stored in the augmentation condition table 220 of the node Ni will be described with reference to Fig. 4. The augmentation condition table 220 is realized by a storage device such as the memory 302 and the disk 304 shown in Fig. 3, for example.

[0048] Fig. 4 is an explanatory diagram showing an example of the contents stored in the augmentation condition table 220. In Fig. 4, the augmentation condition table 220 stores augmentation condition information 400-1, 400-2. The augmentation condition information 400-1 indicates an augmentation condition "expected resource usage exceeds 80[%]" when the number of nodes in the preceding stage is two or more. The augmentation condition information 400-2 indicates an augmentation condition "current resource usage exceeds 70[%]" when the number of nodes in the preceding stage is one. Each augmentation condition can be set arbitrarily for each node Ni, for example.

[0049] (Example of connections between nodes in data processing system 200) Next, an example of connections between nodes in the data processing system 200 will be described with reference to FIG.

[0050] Fig. 5 is an explanatory diagram showing an example of connections between nodes in the data processing system 200. Nodes N1 to N4 are shown in Fig. 5 in the data processing system 200. The nodes N1 and N2 are nodes preceding the node N3. Each of the nodes N1 and N2 performs a queuing process or the like on data received from a preceding node or a sensor (e.g., a connected car) not shown in the figure, and outputs the result to the subsequent node N3.

[0051] Node N3 is a node subsequent to nodes N1 and N2 and a node preceding node N4. Node N3 performs, for example, stream data processing on data received from preceding nodes N1 and N2 and outputs the results to subsequent node N4.

[0052] Node N4 is a node at a subsequent stage to node N3. Node N4 performs, for example, stream data processing on data received from node N3 at the previous stage, and outputs the results to subsequent nodes (not shown) or user terminals (for example, applications, services, etc.).

[0053] (Example of functional configuration of node Ni) Fig. 6 is a block diagram showing an example of a functional configuration of a node Ni. In Fig. 6, the node Ni includes a reception unit 601, a specification unit 602, a calculation unit 603, a determination unit 604, and an enhancement control unit 605. The reception unit 601 to the enhancement control unit 605 are functions that become a control unit, and specifically, the functions are realized by causing the CPU 301 to execute a program stored in a storage device such as the memory 302, the disk 304, or the portable recording medium 307 shown in Fig. 3, or by the communication I / F 305. The processing results of each functional unit are stored in a storage device such as the memory 302 or the disk 304.

[0054] The reception unit 601 receives an enhancement notification from a node Nj (j ≠ i, j = 1, 2, ..., n) preceding the node itself among the nodes N1 to Nn. The enhancement notification is a notification indicating that resources have been enhanced. The enhancement notification includes an identifier for identifying the preceding node Nj, for example, an IP (Internet Protocol) address.

[0055] The reinforcement notification is sent from the previous node Nj to the node Ni in response to the reinforcement of the resources of the previous node Nj, for example, by scaling out or scaling up. The reinforcement notification may be sent, for example, when the reinforcement is completed in the previous node Nj, or when the reinforcement is started. The reinforcement of the resources in the previous node Nj may be performed, for example, when the determination unit 604 of the previous node Nj determines to reinforce the resources, or may be performed according to an instruction from an administrator or existing resource control.

[0056] When the identifying unit 602 receives an enhancement notification from the preceding node Nj, it identifies the amount of data received from each of the preceding node groups of the node itself within a predetermined period T. The predetermined period T is a period provided for determining the most recent communication status, and is set to, for example, a period of about 30 minutes prior to the time when the enhancement notification is received. The preceding node group is one or more nodes including the preceding node Nj.

[0057] Specifically, for example, the identifying unit 602 acquires the amount of data received per unit time that is collected by the service as metrics from the OS (Operating System) of the node itself. The amount of data received may be represented by, for example, a byte size or the number of messages.

[0058] The acquired data reception amount per unit time is stored, for example, in a reception amount collection table 700 as shown in Fig. 7. The reception amount collection table 700 is realized, for example, by a storage device such as the memory 302 or the disk 304 shown in Fig. 3. Here, the contents stored in the reception amount collection table 700 will be described.

[0059] Fig. 7 is an explanatory diagram showing an example of the contents stored in the reception amount collection table 700. In Fig. 7, the reception amount collection table 700 has fields for Time, source IP, and reception amount, and stores reception amount data (for example, reception amount data 700-1, 700-2) as records by setting information in each field.

[0060] Here, Time indicates a time period. For example, Time "2021 / 3 / 15 10:54:00" indicates the time period (1 minute) from 10:54 on March 15, 2021. Source IP indicates the IP address of the preceding node Nj. Received amount indicates the amount of data received per minute from the preceding node Nj at Time (unit: MB).

[0061] The identifying unit 602 identifies the amount of data received from each of the preceding node groups within a predetermined period T based on the acquired amount of data received per unit time. Here, the predetermined period T is set to the most recent 30 minutes. In this case, the identifying unit 602 refers to the reception amount collection table 700 and extracts reception amount data for each of the preceding node groups whose Time is included in the most recent 30 minutes. Then, the identifying unit 602 aggregates the reception amounts indicated by the extracted reception amount data for each of the preceding node groups to identify the amount of data received in the most recent 30 minutes.

[0062] The amount of data received within the specified period T (e.g., the last 30 minutes) is stored in a communication status table 800 as shown in Fig. 8, for example, in association with the preceding node Nj. The communication status table 800 is realized by a storage device such as the memory 302 and the disk 304 shown in Fig. 3. Here, the contents stored in the communication status table 800 will be described.

[0063] Fig. 8 is an explanatory diagram showing an example of the contents stored in a communication status table 800. In Fig. 8, the communication status table 800 has fields for a source IP and a reception amount, and stores communication status information (for example, communication status information 800-1, 800-2) as records by setting information in each field.

[0064] Here, the source IP indicates the IP address of the preceding node Nj, and the reception amount indicates the amount of data received from the preceding node Nj in the last 30 minutes (unit: MB).

[0065] Returning to the explanation of Fig. 6, the calculation unit 603 calculates the ratio of the reception amount of the preceding node Nj to the total reception amount of each preceding node group based on the reception amount of data received from each of the identified preceding node groups within a predetermined period T. Specifically, for example, the calculation unit 603 refers to the communication status table 800 shown in Fig. 8 to calculate the ratio of the reception amount of each preceding node group.

[0066] Then, the calculation unit 603 calculates the dependency ratio of the previous node Nj from the calculated ratio of the reception amount of each of the previous node group. Here, the dependency ratio of the previous node Nj is an index value indicating the degree of dependency of node Ni on the previous node Nj, and indicates the strength of the relationship between node Ni and the previous node Nj. The dependency ratio of the previous node Nj can be expressed, for example, by the ratio of the reception amount of the previous node Nj to the total of the reception amount of each of the previous node group.

[0067] In the example of Figure 8, the ratio of the amount of reception at the node with source IP "10.244.1.12" to the amount of reception at the node with source IP "10.244.1.13" is "1:2." For example, assume that an increase notification is received from the node with source IP "10.244.1.12" (preceding node Nj). In this case, the dependency ratio of the preceding node Nj is "1 / 3."

[0068] The determination unit 604 determines whether to increase the resource of the own node based on the calculated ratio and the resource usage of the own node. Here, the resource usage includes, for example, the currently used resource amount and the unused resource amount. The resource is, for example, a CPU, a memory, a storage, a communication I / F, etc.

[0069] The currently used resource amount is the amount of resources currently being used among the resources available to node Ni (unit: [%]). The currently unused resource amount is the amount of resources currently not being used among the resources available to node Ni (unit: [%]). The resource usage status can be acquired, for example, from the OS of node Ni. The resources available to node Ni may be, for example, all of the resources of node Ni, or may be a portion of the resources of node Ni.

[0070] Specifically, for example, the determination unit 604 acquires the current amount of used resources and the amount of unused resources from the OS of the node itself. Next, the determination unit 604 calculates the estimated resource consumption amount based on the calculated dependency ratio of the previous node Nj and the current amount of used resources and the amount of unused resources.

[0071] Here, the expected resource consumption indicates the future resource usage amount of node Ni. To explain in more detail, for example, the judgment unit 604 can calculate the expected resource consumption amount of node Ni using the following formula (1). Here, R(completed) indicates the current resource usage amount of node Ni. R(not yet completed) indicates the current unused resource amount of node Ni. dR indicates the dependency ratio of the previous node Nj.

[0072] Estimated resource consumption = R(done) + R(not yet done) * dR (1)

[0073] Next, the determination unit 604 determines whether the calculated expected resource consumption satisfies the augmentation condition. More specifically, for example, the determination unit 604 refers to the augmentation condition table 220 shown in Fig. 4 and identifies the augmentation condition "expected resource usage exceeds 80[%]" when the number of nodes in the previous stage is two or more.

[0074] Then, the determination unit 604 determines whether the calculated expected resource consumption is greater than 80[%]. 80[%] corresponds to a threshold for determining whether the augmentation condition is satisfied. Here, if the expected resource consumption is greater than 80[%], the determination unit 604 determines to augment the resource of the own node. On the other hand, if the expected resource consumption is 80[%] or less, the determination unit 604 determines not to augment the resource of the own node.

[0075] There may be one node in the previous stage. In this case, the determination unit 604, for example, refers to the augmentation condition table 220 to identify the augmentation condition "current resource usage exceeds 70[%]" when the number of nodes in the previous stage is one. Then, the determination unit 604 determines whether the acquired current resource usage of the own node is greater than 70[%]. Here, if the current resource usage is greater than 70[%], the determination unit 604 determines to augment the resource of the own node. On the other hand, if the current resource usage is equal to or less than 70[%], the determination unit 604 determines not to augment the resource of the own node.

[0076] An example of the determination as to whether or not to reinforce the resources of the node Ni will be described later with reference to FIGS.

[0077] Furthermore, the determination unit 604 may determine whether or not to enhance the resources of the own node by using machine learning that uses, for example, regression analysis or a neural network. Note that a processing example in the case of determining whether or not to enhance the resources of the own node by using machine learning will be described later with reference to FIG. 13.

[0078] When it is determined that the resource of the own node is to be reinforced, the reinforcement control unit 605 reinforces the resource of the own node. Specifically, for example, when it is determined that the resource of the own node is to be reinforced, the reinforcement control unit 605 may increase the amount of resources allocated for executing a predetermined process (queuing process, stream data process, etc.).

[0079] The increase in the resource amount may be, for example, predetermined. Alternatively, the increase in the resource amount may be determined according to the difference between the expected resource consumption and a threshold (e.g., 80[%]). Alternatively, when there is one node in the previous stage, the increase in the resource amount may be determined according to the difference between the current resource amount and a threshold (e.g., 70[%]).

[0080] More specifically, for example, it is assumed that node Ni is realized by a virtual machine or a container. Also, the resource to be augmented is assumed to be a "CPU resource." In this case, the augmentation control unit 605 may increase the number of virtual CPUs (CPU resources) to be assigned to node Ni by a predetermined number, for example.

[0081] Furthermore, for example, when it is determined that the resource of the own node is to be reinforced, the reinforcement control unit 605 may output an instruction to reinforce the resource of the own node to the management terminal 201 shown in Fig. 2 or a resource control device (not shown). The instruction to reinforce the resource includes, for example, the IP address of the node Ni and resource information to be reinforced (resource type, amount of increase in resource, etc.).

[0082] For example, an administrator or a resource control device (not shown) of the data processing system 200 can reinforce the resources of the node Ni in response to a reinforcement instruction from the node Ni. This allows the resource reinforcement of the node Ni to be performed before the node Ni in the subsequent stage runs out of resources when the node Nj in the preceding stage is reinforced.

[0083] The processes of the determination unit 604 and the enhancement control unit 605 may be executed for each type of resource (CPU, memory, storage, communication I / F, etc.) of the node Ni. Also, the processes of the determination unit 604 and the enhancement control unit 605 may be executed only for a specific type of resource (e.g., CPU) of the node Ni.

[0084] In addition, the reinforcement control unit 605 may release part of the resources of the local node if, after reinforcement of the resources of the local node, the amount of resources used by the local node falls below a predetermined amount, for example, due to a decrease in the amount of data inflow from the previous node group.

[0085] (Example of resource increase decision) Next, an example of determining whether or not to enhance the resources of node Ni will be described with reference to Figures 9 to 11. Here, the data processing system 200 shown in Figure 5 will be taken as an example. Also, node Ni is "node N3", and the group of nodes at the previous stage are "nodes N1, N2".

[0086] Fig. 9 is an explanatory diagram (part 1) showing an example of a decision to increase resources. In Fig. 9, node N3 and a group of nodes N1 and N2 preceding node N3 are shown. Node N1 executes a service for message queue 1. Node N2 executes a service for message queue 2. Node N3 executes a service for data processing 1.

[0087] The message queue 1, 2 service, for example, buffers the received sensor data and outputs it sequentially to the subsequent node N3. The data processing 1 service executes stream data processing on the data received from each of the preceding node groups N1, N2, and outputs the results to the subsequent node (for example, node N4 shown in FIG. 5).

[0088] The communication status table 900 also shows the amount of data received in the last 30 minutes from each of the preceding node groups N1 and N2. Note that in Fig. 9 to Fig. 11, "N1, N2" is written as the identifier of the nodes N1 and N2 instead of the "source IP" of the nodes N1 and N2.

[0089] Here, the amount of data received by node N3 from node N1 is 10 MB. Also, the amount of data received by node N3 from node N2 is 20 MB. In this case, node N3 calculates the dependency ratio of each of the preceding nodes N1 and N2 from the ratio of the amount of data received by each of the preceding nodes N1 and N2.

[0090] Here, the dependency ratio of the preceding node N1 is "1 / 3." Furthermore, the dependency ratio of the preceding node N2 is "2 / 3." Furthermore, the current resource usage amount of node N3 is set to "30[%]," and the current unused resource amount of node N3 is set to "70[%]." Furthermore, for node N3, the augmentation condition when the number of preceding nodes is two or more is set to "expected resource usage exceeds 80[%]."

[0091] First, let us assume that node N1 of the group of nodes N1 and N2 in the previous stage is reinforced. In this case, node N3 uses the above formula (1) to calculate the estimated resource consumption of its own node from the dependency ratio of the previous node N1 and the current resource usage and unused resource amounts of its own node. The estimated resource consumption is as follows:

[0092] Estimated resource consumption = 30 + 70 * (1 / 3) = 53.3 [%]

[0093] Node N3, because the calculated expected resource consumption is 80% or less, decides not to increase the resources of its own node in cooperation with the preceding node N1.

[0094] Next, let us consider a case where node N2 of the group of nodes N1 and N2 in the previous stage is reinforced. In this case, node N3 uses the above formula (1) to calculate the estimated resource consumption of its own node from the dependency ratio of the previous node N2 and the current resource usage and unused resource amounts of its own node. The estimated resource consumption is as follows:

[0095] Estimated resource consumption = 30 + 70 * (2 / 3) = 76.6 [%]

[0096] Node N3, because the calculated expected resource consumption is less than 80[%], decides not to increase the resources of its own node in cooperation with the preceding node N2.

[0097] Fig. 10 is an explanatory diagram (part 2) showing an example of a determination of resource reinforcement. In Fig. 10, a node N3 and node groups N1 and N2 preceding the node N3 are shown. A communication status table 1000 also shows the amount of data received from each of the preceding node groups N1 and N2 for the most recent 30 minutes.

[0098] Here, the amount of data received by node N3 from node N1 is 10 MB. Also, the amount of data received by node N3 from node N2 is 20 MB. In this case, node N3 calculates the dependency ratio of each of the preceding nodes N1 and N2 from the ratio of the amount of data received by each of the preceding nodes N1 and N2.

[0099] Here, the dependency ratio of the preceding node N1 is "1 / 3." Furthermore, the dependency ratio of the preceding node N2 is "2 / 3." Furthermore, the current resource usage amount of node N3 is set to "50[%]," and the current unused resource amount of node N3 is set to "50[%]." Furthermore, for node N3, the augmentation condition when the number of preceding nodes is 2 or more is set to "expected resource usage exceeds 80[%]."

[0100] First, let us assume that node N1 of the group of nodes N1 and N2 in the previous stage is reinforced. In this case, node N3 uses the above formula (1) to calculate the estimated resource consumption of its own node from the dependency ratio of the previous node N1 and the current resource usage and unused resource amounts of its own node. The estimated resource consumption is as follows:

[0101] Estimated resource consumption = 50 + 50 * (1 / 3) = 66.6 [%]

[0102] Node N3, because the calculated expected resource consumption is 80% or less, decides not to increase the resources of its own node in cooperation with the preceding node N1.

[0103] Next, let us consider a case where node N2 of the group of nodes N1 and N2 in the previous stage is reinforced. In this case, node N3 uses the above formula (1) to calculate the estimated resource consumption of its own node from the dependency ratio of the previous node N2 and the current resource usage and unused resource amounts of its own node. The estimated resource consumption is as follows:

[0104] Estimated resource consumption = 50 + 50 * (2 / 3) = 83.3 [%]

[0105] Node N3 determines that the calculated expected resource consumption exceeds 80% and therefore that it should increase the resources of its own node in cooperation with the preceding node N2.

[0106] Fig. 11 is an explanatory diagram (part 3) showing an example of a determination of resource reinforcement. In Fig. 11, a node N3 and node groups N1 and N2 preceding the node N3 are shown. A communication status table 1100 also shows the amount of data received from each of the preceding node groups N1 and N2 for the most recent 30 minutes.

[0107] Here, the amount of data received by node N3 from node N1 is 20 MB. Also, the amount of data received by node N3 from node N2 is 10 MB. In this case, node N3 calculates the dependency ratio of each of the preceding nodes N1 and N2 from the ratio of the amount of data received by each of the preceding nodes N1 and N2.

[0108] Here, the dependency ratio of the preceding node N1 is "2 / 3." The dependency ratio of the preceding node N2 is "1 / 3." The current resource usage amount of node N3 is set to "50[%]," and the current unused resource amount of node N3 is set to "50[%]." The augmentation condition for node N3 when the number of preceding nodes is two or more is set to "expected resource usage exceeds 80[%]."

[0109] First, let us assume that node N1 of the group of nodes N1 and N2 in the previous stage is reinforced. In this case, node N3 uses the above formula (1) to calculate the estimated resource consumption of its own node from the dependency ratio of the previous node N1 and the current resource usage and unused resource amounts of its own node. The estimated resource consumption is as follows:

[0110] Estimated resource consumption = 50 + 50 * (2 / 3) = 83.3 [%]

[0111] Node N3 determines that the calculated expected resource consumption exceeds 80% and therefore that it should increase the resources of its own node in cooperation with the preceding node N1.

[0112] Next, let us consider a case where node N2 of the group of nodes N1 and N2 in the previous stage is reinforced. In this case, node N3 uses the above formula (1) to calculate the estimated resource consumption of its own node from the dependency ratio of the previous node N2 and the current resource usage and unused resource amounts of its own node. The estimated resource consumption is as follows:

[0113] Estimated resource consumption = 50 + 50 * (1 / 3) = 66.6 [%]

[0114] Node N3, because the calculated expected resource consumption is less than 80[%], decides not to increase the resources of its own node in cooperation with the preceding node N2.

[0115] (Example of operation of data processing system 200) Next, an example of the operation of the data processing system 200 will be described with reference to Fig. 12. Here, a case where the data processing system 200 has a multi-stage and multiple-path configuration will be described.

[0116] Fig. 12 is an explanatory diagram showing an example of the operation of the data processing system 200. In Fig. 12, the data processing system 200 includes nodes N1 to N8. The node N1 executes the service of a message queue 1. The node N2 executes the service of a message queue 2. The node N3 executes the service of a data process 1.

[0117] Node N4 services the message queue 4. Node N5 services the message queue 3. Node N6 services the data process 2. Node N7 services the message queue 5. Node N8 services the data process 3.

[0118] Here, nodes N1 and N2 are a node group preceding node N3. In response to receiving an augmentation notification from one of the preceding node groups N1 and N2, node N3 calculates the dependency ratio of each of the preceding nodes N1 and N2 from the ratio of the reception amount of each of the preceding node groups N1 and N2. Next, node N3 calculates the expected resource consumption from the dependency ratio of the augmented node and the current resource usage amount and unused resource amount of the own node. Note that the augmented node is the node that has received the augmentation notification. Then, node N3 decides to augment the resources of its own node if the expected resource consumption amount satisfies the augmentation condition.

[0119] Furthermore, nodes N2 and N5 are a node group preceding node N6. In response to receiving an augmentation notification from one of the preceding node groups N2 and N5, node N6 calculates the dependency ratio of each of the preceding nodes N2 and N5 from the ratio of the reception amount of each of the preceding node groups N2 and N5. Next, node N6 calculates the estimated resource consumption of its own node from the dependency ratio of the augmented node and its current resource usage amount and unused resource amount. Then, node N6 decides to augment the resources of its own node if the estimated resource consumption amount satisfies the augmentation condition.

[0120] Furthermore, nodes N3 and N6 are a node group preceding node N4. In response to receiving an augmentation notification from one of the preceding node groups N3 and N6, node N4 calculates the dependency ratio of each of the preceding nodes N3 and N6 from the ratio of the reception amount of each of the preceding node groups N3 and N6. Next, node N4 calculates the expected resource consumption of its own node from the dependency ratio of node N4 and the augmented node and its current resource usage amount and unused resource amount. Then, node N4 decides to augment the resources of its own node if the expected resource consumption amount satisfies the augmentation condition.

[0121] In this way, each node Ni in the data processing system 200 can determine whether or not resource reinforcement is necessary at its own node at the time when resource reinforcement is performed at the previous node Nj, and can propagate the need for resource reinforcement to subsequent nodes.

[0122] (Example of resource augmentation decision-making process using machine learning) Next, a processing example of determining whether or not to enhance the resources of the own node by using regression analysis or machine learning using a neural network will be described with reference to FIG.

[0123] 13 is an explanatory diagram showing an example of a process for determining whether to increase resources using machine learning. In the learning phase, the determination unit 604 acquires the dependency ratio of the preceding node Nj and the resource usage status of the node itself at a first time point when the resource of the preceding node Nj is increased. The dependency ratio of the preceding node Nj corresponds to the ratio of the reception amount of the preceding node Nj to the total reception amount of each of the nodes preceding the node Ni (for example, the reception amount in the last 30 minutes before the first time point).

[0124] The determination unit 604 also acquires the resource usage status of the local node at a second time point after the first time point. The second time point is, for example, a time point several minutes to several tens of minutes after the first time point. The determination unit 604 then performs machine learning using the dependency ratio of the node Nj preceding the acquired first time point, the resource usage status of the local node, and the resource usage status of the local node at the second time point as training data to generate a resource change amount model M.

[0125] Here, the resource change model M is a prediction model that takes as input the dependency ratio of the preceding node Nj when the resource of the preceding node Nj is increased and the resource usage status of the own node, and outputs the future resource usage status.

[0126] In Figure 13, the dependency ratio of the previous node Nj is represented as "dependence on augmented service", the resource usage status of the node itself is represented as "resource usage status", and the future resource usage status of the node itself is represented as "resource change amount".

[0127] In the prediction phase, the determination unit 604 determines whether to reinforce the resource of the own node based on the calculated dependency ratio of the previous node Nj and the resource usage status (current) of the own node, using the generated resource change amount model M. Note that the calculated dependency ratio of the previous node Nj is the dependency ratio calculated by the calculation unit 603 in response to the reinforcement notification from the previous node Nj.

[0128] Specifically, for example, the judgment unit 604 calculates the expected resource consumption by inputting the dependency ratio of the previous node Nj and the resource usage status (current) of the node itself into the resource change model M. The dependency ratio of the previous node Nj and the resource usage status (current) of the node itself correspond to the actual measurement data in Fig. 13. Next, the judgment unit 604 judges whether the calculated expected resource consumption satisfies the augmentation condition.

[0129] More specifically, for example, the determination unit 604 refers to the augmentation condition table 220 and identifies an augmentation condition "expected resource usage exceeds 80[%]" when the number of nodes in the previous stage is two or more. Then, the determination unit 604 determines whether the calculated expected resource consumption is greater than 80[%]. Here, if the expected resource consumption is greater than 80[%], the determination unit 604 determines to augment the resources of the own node. On the other hand, if the expected resource consumption is 80[%] or less, the determination unit 604 determines not to augment the resources of the own node.

[0130] This makes it possible to predict future resource usage based on changes in actual resource usage when the previous node Nj is strengthened, thereby improving the prediction accuracy of the expected resource consumption when the previous node Nj is strengthened.

[0131] The resource change amount model M may be updated sequentially, for example, every time the resource of the preceding node Nj is reinforced, based on the dependency ratio and resource usage of the preceding node Nj when it was reinforced in the past, and the resource usage after a certain time has elapsed since the reinforcement. In addition, when a node Ni determines whether to reinforce its own resource, the above formula (1) may be used for the first few times the resource of the preceding node Nj is reinforced, and the resource change amount model M may be used thereafter.

[0132] (Enhancement control procedure for node Ni) Next, the reinforcement control process procedure of the node Ni will be described with reference to FIG.

[0133] 14 is a flowchart showing an example of a reinforcement control process procedure of node Ni. In FIG. 14, node Ni judges whether or not it has received a reinforcement notification from a node Nj preceding the node itself among nodes N1 to Nn (step S1401). Here, node Ni waits to receive a reinforcement notification from the preceding node Nj (step S1401: No).

[0134] When a node Ni receives an enhancement notification from a preceding node Nj (step S1401: Yes), the node Ni identifies the amount of data received within a predetermined period T from each of the preceding nodes of the node Ni (step S1402). Hereinafter, the preceding node Nj may be referred to as an "enhanced node Nj."

[0135] Then, the node Ni calculates the dependency ratio of each of the identified preceding node groups based on the amount of data received from each of the preceding node groups within the predetermined period T (step S1403). Next, the node Ni acquires the current resource usage status of the node itself (step S1404).

[0136] Then, the node Ni calculates the expected resource consumption of the node itself based on the calculated dependency ratio of the reinforced node Nj and the acquired current resource usage status of the node itself (step S1405). Next, the node Ni refers to the reinforcement condition table 220 and determines whether the calculated expected resource consumption exceeds a threshold value (step S1406).

[0137] Here, if the expected resource consumption is equal to or less than the threshold (step S1406: No), the node Ni ends the series of processes according to this flowchart. On the other hand, if the expected resource consumption exceeds the threshold (step S1406: Yes), the node Ni reinforces the resources of the node itself (step S1407), and ends the series of processes according to this flowchart.

[0138] As a result, if node Ni predicts based on the dependency ratio of the reinforced node Nj that the previous resource reinforcement will cause a resource shortage in its own node, it can reinforce its own node's resources in conjunction with the previous resource reinforcement.

[0139] As described above, according to the embodiment, when a node Ni receives an enhancement notification from a node Nj preceding the node itself among the nodes N1 to Nn, the node Ni can calculate a dependency ratio of the preceding node Nj (enhanced node) based on the amount of data received from each of the preceding node group within a predetermined period T. The dependency ratio of the preceding node Nj is the ratio of the reception amount of the preceding node Nj to the total reception amount of each of the preceding node group. The predetermined period T is a fixed period including the time when the enhancement notification is received, for example, the most recent 30 minutes.

[0140] This allows node Ni to determine the degree of dependency on the preceding node Nj based on the most recent network communication volume between nodes.

[0141] Furthermore, the node Ni can determine whether or not to reinforce the resources of the own node based on the calculated dependency ratio of the node Nj and the usage status of the resources of the own node.

[0142] Thus, the node Ni can estimate how the reinforcement of the preceding node Nj will affect the node itself based on the degree of dependency on the preceding node Nj, and determine whether to reinforce the resource of the node itself in conjunction with the reinforcement of the resource of the preceding node Nj. Therefore, in the data processing system 200, each node Ni can determine the appropriate timing for reinforcement of the resource of the node itself.

[0143] In addition, node Ni can calculate the expected resource consumption (future resource usage) of its own node based on the dependency ratio of the previous node Nj and the current resource usage and unused resource amounts of its own node, and if the calculated expected resource consumption exceeds a threshold value, it can decide to increase the resources of its own node.

[0144] This allows a node Ni to estimate an expected resource consumption amount (amount of resources to be used in the future) by assuming that unused resources of the node itself will be used according to the dependency ratio of the node Nj in the previous stage.

[0145] Moreover, the node Ni can acquire the dependency ratio of the previous node Nj at a first time point when the resource of the previous node Nj is enhanced, the resource usage status of the node itself, and the resource usage status of the node itself at a second time point after the first time point. Next, the node Ni can perform machine learning using the dependency ratio of the previous node Nj at the first time point acquired, the resource usage status of the node itself, and the resource usage status of the node itself at the second time point as training data to generate a resource change amount model M. The resource change amount model M is a prediction model that outputs a future resource usage status using as input the dependency ratio of the previous node Nj at the time when the resource of the previous node Nj is enhanced and the resource usage status of the node itself.

[0146] This makes it possible to generate a model that predicts future resource usage based on changes in actual resource usage when the previous node Nj was upgraded in the past, thereby improving the prediction accuracy of the expected resource consumption when the previous node Nj is upgraded.

[0147] In addition, the node Ni can use the generated resource change model M to determine whether or not to increase the resources of its own node based on the dependency ratio of the previous node Nj calculated when receiving an increase notification from the previous node Nj and the current resource usage status of its own node.

[0148] This makes it possible to accurately estimate the future resource usage of the node itself when the preceding node Nj is reinforced.

[0149] Also, according to the node Ni, the amount of received data can be expressed by the byte size or the number of messages.

[0150] This allows node Ni to switch between handling the amount of data in units of byte size or number of messages depending on the characteristics of the data transmitted and received between nodes. For example, when the amount of data exchanged between nodes in one transmission and reception is almost constant, node Ni can handle the amount of data in units of messages, which becomes a more abstract value than byte size, and reduce the processing load of the node itself. Also, when the amount of data exchanged between nodes in one transmission and reception changes, node Ni can accurately grasp the ratio of the amount of data received by each of the nodes in the previous stage by handling the amount of data in units of byte size.

[0151] For these reasons, according to the data processing system 200 according to the embodiment, when the resources of a node Nj preceding a node Ni are reinforced in a digital twin service including stream data processing, it is possible to predict future resource shortages in the node Ni and reinforce the resources in advance. This makes it possible to avoid resource shortages caused by an increase in the amount of data flowing into a subsequent service when a certain service is reinforced, and to prevent deterioration in the quality of the service.

[0152] Furthermore, according to the data processing system 200, the resource shortage state can be shortened, compared to, for example, the case in which each service increases resources based only on the currently used resources of its own service, as in the prior art 1, thereby improving user convenience.

[0153] Furthermore, according to the data processing system 200, compared to the case where the resources of the entire service are increased all at once, as in the conventional technique 2, for example, it is possible to avoid excessive increase, and it is possible to reduce the costs involved in operating the system.

[0154] Moreover, according to the data processing system 200, it is not necessary to set various parameters resulting from cooperation between services in advance, as in the conventional technique 3, and it is possible to reduce the work of the builder (for example, the administrator of the data processing system 200). Also, since it is possible to determine the necessity of resource reinforcement based on the latest network communication volume, it becomes possible to make a decision according to the situation where a resource shortage (at the preceding node Nj) occurs, and it is possible to reduce the operation cost of the operator.

[0155] The data processing method described in the present embodiment can be realized by executing a prepared program on a computer such as a personal computer or a workstation. The data processing program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, a DVD, or a USB memory, and is executed by being read from the recording medium by the computer. The data processing program may also be distributed via a network such as the Internet.

[0156] The following supplementary notes are further disclosed regarding the above-described embodiment.

[0157] (Supplementary Note 1) In one of a plurality of processing devices that executes a predetermined process on the received data and outputs the result, when a notification that resources have been reinforced is received from a first processing device in a processing device group preceding the processing device of the plurality of processing devices, calculates a ratio of a reception amount of the first processing device to a total reception amount of each of the processing device group based on a reception amount of data received from each of the processing device group within a predetermined period of time; determining whether or not to increase the resource of the own device based on the calculated ratio and a usage status of the resource of the own device; A data processing program for causing a program to execute a process.

[0158] (Supplementary Note 2) The resource usage status includes a currently used resource amount and an unused resource amount, The process of determining includes: calculating a future resource usage amount of the own device based on the ratio, the currently used resource amount, and the unused resource amount; If the calculated future resource usage amount exceeds a threshold, it is determined that the resource of the own device is to be increased. 2. The data processing program according to claim 1,

[0159] (Additional Note 3) Acquire a ratio of the reception amount of the first processing device to the total reception amount of each of the processing device group at a first time point when the resource of the first processing device is enhanced, a resource usage status of the own device, and a resource usage status of the own device at a second time point after the first time point; performing machine learning using the acquired ratio at the first time point and the resource usage status of the own device and the resource usage status of the own device at the second time point as training data, and generating a prediction model that outputs a future resource usage status using as input the ratio of the reception amount of the first processing device to the total reception amount of each of the processing device group when the resource of the first processing device is enhanced and the resource usage status of the own device; causing any one of the processing devices to execute a process; The process of determining includes: using the generated prediction model, and determining whether or not to increase the resource of the own device based on the calculated ratio and a usage status of the resource of the own device; 3. The data processing program according to claim 1 or 2.

[0160] (Supplementary Note 4) The data processing program according to any one of Supplementary Notes 1 to 3, wherein the received amount is represented by a byte size or a number of messages.

[0161] (Supplementary Note 5) The data processing program according to any one of Supplementary Notes 1 to 4, wherein the predetermined period is a fixed period of time including the time point at which the notification is accepted.

[0162] (Appendix 6) Any one of a plurality of processing devices that executes a predetermined process on the received data and outputs the result, when a notification that resources have been reinforced is received from a first processing device in a processing device group preceding the processing device of the plurality of processing devices, calculates a ratio of a reception amount of the first processing device to a total reception amount of each of the processing device group based on a reception amount of data received from each of the processing device group within a predetermined period of time; determining whether or not to increase the resource of the own device based on the calculated ratio and a usage status of the resource of the own device; 2. A data processing method comprising:

[0163] (Appendix 7) A plurality of processing devices that execute predetermined processing on the received data and output the results; Any one of the plurality of processing devices is when a notification that resources have been reinforced is received from a first processing device in a processing device group preceding the processing device of the plurality of processing devices, calculates a ratio of a reception amount of the first processing device to a total reception amount of each of the processing device group based on a reception amount of data received from each of the processing device group within a predetermined period of time; determining whether or not to increase the resource of the own device based on the calculated ratio and a usage status of the resource of the own device; A data processing system comprising: [Explanation of symbols]

[0164] 101, 102, 103 Processing equipment 200 Data Processing System 201 Management terminal 210 Network 220 Enhancement Condition Table 300 Bus 301 CPU 302 Memory 303 Disk Drive 304 Disk 305 Communication I / F 306 Portable Recording Media I / F 307 Portable recording media 601 Reception 602 Specific part 603 Calculation Unit 604 Judgment Department 605 Enhancement Control Unit 700 Reception volume collection table 800,900,1000,1100 Communication status table N1~Nn,Ni nodes

Claims

1. A processing device among a plurality of processing devices that executes a predetermined process on the received data and outputs the result, when a notification that resources have been reinforced is received from a first processing device in a processing device group preceding the processing device of the plurality of processing devices, a ratio of a reception amount of the first processing device to a total reception amount of each of the processing device group is calculated based on a reception amount of data received from each of the processing device group within a predetermined period of time; determining whether or not to increase the resource of the own device based on the calculated ratio and a usage status of the resource of the own device; A data processing program for causing a program to execute a process.

2. The resource usage status includes a currently used resource amount and an unused resource amount; The process of determining includes: calculating a future resource usage amount of the own device based on the ratio, the currently used resource amount, and the unused resource amount; If the calculated future resource usage amount exceeds a threshold, it is determined that the resource of the own device is to be increased.

2. The data processing program according to claim 1.

3. obtain a ratio of the reception amount of the first processing device to the total reception amount of each of the processing device group at a first time point when the resource of the first processing device is enhanced, a resource usage status of the first processing device, and a resource usage status of the first processing device at a second time point after the first time point; performing machine learning using the acquired ratio at the first time point, the resource usage status of the own device, and the resource usage status of the own device at the second time point as training data, and generating a prediction model that outputs a future resource usage status using as input the ratio of the reception amount of the first processing device to the total reception amount of each of the processing device group when the resource of the first processing device is enhanced and the resource usage status of the own device; causing any one of the processing devices to execute a process; The process of determining includes: using the generated prediction model, and determining whether or not to increase the resource of the own device based on the calculated ratio and a usage status of the resource of the own device; 3. The data processing program according to claim 1, wherein the data processing program is a program for processing a data.

4. 4. The data processing program according to claim 1, wherein the received amount is represented by a byte size or a number of messages.

5. One of a plurality of processing devices that executes a predetermined process on the received data and outputs the result, when a notification that resources have been reinforced is received from a first processing device in a processing device group preceding the processing device of the plurality of processing devices, a ratio of a reception amount of the first processing device to a total reception amount of each of the processing device group is calculated based on a reception amount of data received from each of the processing device group within a predetermined period of time; determining whether or not to increase the resource of the own device based on the calculated ratio and a usage status of the resource of the own device; 2. A data processing method comprising:

6. a plurality of processing devices that execute predetermined processing on the received data and output the results; Any one of the plurality of processing devices is when a notification that resources have been reinforced is received from a first processing device in a processing device group preceding the processing device of the plurality of processing devices, a ratio of a reception amount of the first processing device to a total reception amount of each of the processing device group is calculated based on a reception amount of data received from each of the processing device group within a predetermined period of time; determining whether or not to increase the resource of the own device based on the calculated ratio and a usage status of the resource of the own device; A data processing system comprising:

Citation Information

Patent Citations

  • System and method obtained by integrating distribution of load and resource management in internet environment

    JP2001067377A

  • Service cooperation device, service cooperation method, and service cooperation program

    JP2013101530A

  • Information processing device, control method, and program

    JP2017162059A

  • Node and information processing system processing nodes

    JP2017219972A

  • Scale-out association method and apparatus, and system

    JP2018537018A