Cost management device, cost management method, and program

The cost management device classifies and allocates cloud services into time-based billing, calculates job execution times, and allocates these to each processing flow, and allocates these to each processing flow, and allocates the costs based on execution time, enabling precise management of time-based billing costs for each processing flow.

JP7790147B2Active Publication Date: 2025-12-23NEC CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2021211838
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-12-27
Publication Date
2025-12-23
Estimated Expiration
2041-12-27

AI Technical Summary

Technical Problem

Existing technologies fail to accurately manage resource usage fees for cloud services that charge based on time-based billing, especially when multiple processing flows share or occupy resources, making it difficult to determine which flows incur charges.

Method used

A cost management device that classifies cloud services into pay-as-you-go or time-based billing, calculates the ratio of job execution times, and allocates these to each process flow, allowing for each processing, and allocates the costs based on the execution time. The solution includes a classification unit that classifies each cloud service used in a plurality of processing flows into either pay-per-use or time-based billing, and allocates the costs based on the execution time.

Benefits of technology

Enables precise management of time-based billing costs for each processing flow, allowing users to track and allocate costs effectively, even when multiple flows share resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007790147000001
    Figure 0007790147000001
  • Figure 0007790147000002
    Figure 0007790147000002
  • Figure 0007790147000003
    Figure 0007790147000003
Patent Text Reader

Abstract

To enable management of a usage fee of a resource provided by a time-based billing service on a per-process flow basis.SOLUTION: A classification unit (11) classifies each cloud service used in at least one of a plurality of processing flow into pay-as-you-go or time-based billing. A calculation unit (12) calculates a ratio of an execution time of a job among the processing flow including the job that uses the cloud service of the time-based billing. A distribution unit (13) distributes a time-based billing cost by using the cloud service of the time-based billing among the processing flow including the job that uses the cloud service of the time-based billing, based on the ratio of the execution time of the job.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 cost management device, a cost management method, and a program, and more particularly to a cost management device, a cost management method, and a program for managing costs incurred by using cloud services, for example. [Background technology]

[0002] Cloud services are used as jobs in a computational processing flow (hereinafter referred to as a "processing flow"). Related techniques exist for determining charges for providing cloud services.

[0003] In the related technology described in Patent Document 1, a user tagging device assigns a user tag including an organization code and a unit price code to a service usage request. A service execution device executes a provided service in response to the service usage request.

[0004] The service execution device then associates the amount of resources used with the user tag and registers the usage record. The cost calculation device calculates the cloud service usage fee for each user (organization) based on the unit price information corresponding to the unit price code and the amount of resources used associated with the user tag. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Publication No. 2019-53672 Summary of the Invention [Problem to be solved by the invention]

[0006] Cloud services (hereinafter simply referred to as services) include those that charge based on the amount of resources used, and those that charge based on the length of time the resources are held, reserved, or occupied. Generally, the former is called pay-per-use or metered charging, and the latter is called time-based or flat-rate charging.

[0007] The related technology described in Patent Document 1 does not take into consideration the case where multiple processing flows hold, secure, or occupy resources for the same service, making it difficult for service users to grasp which processing flows are generating how much charge.

[0008] The present invention has been made in view of the above-mentioned problems, and its object is to enable the management of resource usage fees provided by time-based billing services for each processing flow. [Means for solving the problem]

[0009] A cost management device according to one embodiment of the present invention includes a classification means for classifying each cloud service used in at least one of a plurality of processing flows into either pay-as-you-go or time-based billing, a calculation means for calculating the ratio of job execution time among the plurality of processing flows that includes a job that uses a time-based cloud service, and an allocation means for allocating the time-based billing cost resulting from the use of the time-based cloud service among the processing flows that include a job that uses the time-based cloud service based on the ratio of job execution time.

[0010] In a cost management method according to one embodiment of the present invention, each cloud service used in at least one of a plurality of processing flows is classified as either pay-as-you-go or time-based, and among the plurality of processing flows, the ratio of job execution time among processing flows that include jobs that use time-based cloud services is calculated, and the time-based cost for using the time-based cloud service is allocated among the processing flows that include jobs that use the time-based cloud services based on the ratio of job execution time.

[0011] A program according to one embodiment of the present invention causes a computer to classify each of the cloud services used in at least one of a plurality of processing flows into either pay-as-you-go or time-based billing; calculate the ratio of job execution time among the plurality of processing flows that includes a job that uses a time-based cloud service; and allocate the time-based billing costs for using the time-based cloud service among the processing flows that include a job that uses the time-based cloud service based on the ratio of job execution time. [Effects of the Invention]

[0012] According to one aspect of the present invention, it is possible to manage the usage fees for resources provided by time-based billing services for each processing flow. [Brief explanation of the drawings]

[0013] [Figure 1] 1 is a block diagram showing a configuration of a cost management device according to a first or second embodiment. [Figure 2] 4 is a flowchart showing the operation of the cost management device according to the first embodiment. [Figure 3] 10 is a flowchart showing the operation of the cost management device according to the second embodiment. [Figure 4] FIG. 10 is a block diagram showing the configuration of a cost management device according to a third embodiment. [Figure 5]11 is a flowchart showing the operation of the cost management device according to the third embodiment. [Figure 6] 1 is a diagram illustrating an example of the configuration of a business management system including a cost management device according to any one of first to third embodiments. [Figure 7] FIG. 11 is a diagram illustrating an example of definition data stored in a process flow storage unit of a business management system according to a fourth embodiment. [Figure 8] FIG. 10 is a diagram showing an example of regular performance data stored in an execution history storage unit of a business management system according to a fourth embodiment. [Figure 9] FIG. 1 is a diagram illustrating an example of a hardware configuration of a cost management device according to any one of first to third embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0014] Some embodiments are described below with reference to the drawings.

[0015] [Embodiment 1] A first embodiment will be described with reference to FIGS.

[0016] (Cost Management Device 10) 1 is a block diagram showing the configuration of a cost management device 10 according to embodiment 1. As shown in FIG. 1, the cost management device 10 includes a classification unit 11, a calculation unit 12, and an allocation unit 13.

[0017] The classification unit 11 classifies each cloud service used in at least one of a plurality of processing flows into either pay-per-use or time-based billing. The classification unit 11 is an example of a classification means. A processing flow is a series of processes executed according to a computer program. Pay-per-use billing is also called metered billing. Time-based billing is also called flat-rate billing.

[0018] In one example, the classification unit 11 acquires information (hereinafter referred to as process flow information) about a plurality of process flows that one user requests to be executed from the process flow storage unit 200 (FIG. 6).

[0019] The processing flow information includes information that identifies the cloud services used by jobs in the processing flow. The processing flow information also includes information that indicates the resources provided by the cloud services. A job refers to a unit of processing (work) that a computer executes (tasks). Resources include a CPU (Central Processing Unit), memory, other computer resources, wireless frequency bands, or communication lines.

[0020] The classification unit 11 determines whether a cloud service is a pay-per-use service or a time-based service based on information identifying the cloud service. The information identifying the cloud service may be, for example, a service name. The information identifying the cloud service may be previously linked to information indicating whether the cloud service is a pay-per-use service or a time-based service.

[0021] Alternatively, the classification unit 11 may refer to information that classifies cloud services into pay-per-use or time-based billing, and determine whether the cloud service is pay-per-use or time-based billing.

[0022] The classification unit 11 determines the types of all cloud services using the method described above, and then outputs information indicating the types of all cloud services to the calculation unit 12.

[0023] The information indicating the types of all cloud services classifies each cloud service used in one of a plurality of process flows requested to be executed by one user into either pay-per-use or time-based billing.

[0024] A pay-per-use cloud service charges users a fee based on the amount of resources they use, such as the number of requests, the amount of data processed, the amount of data traffic, the number of video views or the amount of time spent watching a video, or the duration of a call.

[0025] In addition, cloud services that charge by the hour (or flat rate) charge users a fixed amount regardless of the amount of resources used by the cloud service. For example, cloud services that charge by the hour charge users a fixed contract period (e.g., one month). The contract period is usually renewed automatically.

[0026] The calculation unit 12 calculates the ratio of job execution times among a plurality of process flows, among which a process flow includes a job that uses a cloud service with time-based billing. The calculation unit 12 is an example of a calculation means.

[0027] In one example, the calculation unit 12 receives information indicating the types of all cloud services from the classification unit 11. The calculation unit 12 also acquires execution history information (FIG. 8) including data on the execution time for each job from the execution history storage unit 300 of the business management system 1 (FIG. 6).

[0028] The calculation unit 12 uses information indicating the types of all cloud services to extract, from among multiple process flows requested by one user, process flows that include jobs that use time-based cloud services. The calculation unit 12 uses data on the execution time of each job to calculate the ratio of execution time of jobs that use time-based cloud services.

[0029] The calculation unit 12 outputs information indicating the ratio of job execution time to the distribution unit 13. The information indicating the ratio of job execution time represents the relative length of job execution time compared between jobs that use time-based billing cloud services.

[0030] The allocation unit 13 allocates the time-charging cost for using the time-charging cloud service among processing flows including jobs that use the time-charging cloud service based on the ratio of job execution times. The allocation unit 13 is an example of allocation means.

[0031] In one example, the distribution unit 13 receives information indicating the ratio of job execution time from the calculation unit 12. Using the information indicating the ratio of job execution time, the distribution unit 13 calculates, for each processing flow including a job that uses a cloud service with time-based billing, the ratio of the resources provided by the cloud service that the processing flow uses (hereinafter referred to as a "first usage rate"). The sum of the first usage rates is 1.

[0032] Thereafter, the allocating unit 13 may store information indicating the allocation of the time-based charging costs in the execution history storage unit 300 (FIG. 6). The information indicating the allocation of the time-based charging costs includes data on the first usage rate for each process flow.

[0033] The execution history storage unit 300 also stores, for each processing flow, the execution start time of the job, the execution time of the job, and the amount of input data (fourth embodiment).

[0034] (An example of the first usage rate calculation method) An example of a method for calculating the first usage rate will be described below. For example, suppose that on a particular day, the execution time of job a in process flow A is 10 minutes, and the execution time of job b in process flow B is 5 minutes. Note that the execution time data for each of job a and job b is stored in the execution history storage unit 300 (FIG. 8).

[0035] Both jobs a and b use resources provided by a cloud service with time-based billing. In this case, the calculation unit 12 calculates a first usage rate for the cloud service with time-based billing for each process flow based on the ratio of job execution time. The calculation result is obtained as follows:

[0036] First utilization rate by process flow A: 10 / (10 + 5) = approximately 0.66 First utilization rate by process flow B: 5 / (10+5) = approximately 0.33 (An example of how to allocate hourly charges) An example of a method for allocating time-based costs will be described. As in the example described above, for a time-based cloud service, the first usage rate for process flow A is 0.66, and the first usage rate for process flow B is 0.33. The charge for providing the time-based cloud service is assumed to be $1 per day on the specific day described above.

[0037] The distribution unit 13 distributes the time-charging cost resulting from the use of the time-charging cloud service among the processing flows including jobs that use the time-charging cloud service, based on the ratio of the execution times of the jobs.

[0038] The first utilization rate by process flow A is 0.66. Therefore, 1 dollar x 0.66 = 0.66 dollars is the time-charging cost allocated to process flow A, that is, the deemed usage fee.

[0039] On the other hand, the first usage rate by process flow B is 0.33. Therefore, 1 dollar x 0.33 = 0.33 dollars is the deemed usage fee allocated to process flow B.

[0040] The distribution unit 13 may distribute the fraction (0.01 dollars) to either the process flow A or the process flow B, or may divide it equally between both.

[0041] In the above example, it is possible that both job a and job b are included in the same processing flow (i.e., processing flow A is the same as processing flow B). In this case, the first usage rate by processing flow A (B) is calculated as the sum of the ratio of job a's execution time (0.66) and the ratio of job b's execution time (0.33). In this example, $0.99 and the remainder ($0.01) are the deemed usage fees allocated to processing flow A (B). (Operation of the cost management device 10) The operation of the cost management apparatus 10 according to the first embodiment will be described with reference to Fig. 2. Fig. 2 is a flowchart showing the flow of processing executed by the cost management apparatus 10.

[0042] 2, the classification unit 11 classifies each of the cloud services used in at least one of the multiple processing flows into either pay-per-use or time-based billing (S1). The classification unit 11 outputs information indicating the types of all cloud services to the calculation unit 12. The information indicating the types of all cloud services classifies each of the cloud services used in at least one of the multiple processing flows into either pay-per-use or time-based billing.

[0043] The calculation unit 12 receives information indicating the types of all cloud services from the classification unit 11. The calculation unit 12 also acquires data on the execution time for each job from the execution history storage unit 300 (FIG. 8) of the business management system 1 (FIG. 6).

[0044] The calculation unit 12 calculates the ratio of job execution times among the plurality of process flows, among the process flows including jobs that use cloud services with time-based billing (S2).

[0045] The calculation unit 12 outputs information indicating the ratio of the job execution times to the distribution unit 13.

[0046] The distribution unit 13 receives information indicating the ratio of job execution time from the calculation unit 12. Based on the ratio of job execution time, the distribution unit 13 distributes the time-charging cost for using the time-charging cloud service among processing flows including jobs that use the time-charging cloud service (S3).

[0047] Thereafter, the distribution unit 13 may store information indicating the distribution of the time-charging costs in the execution history storage unit 300 (FIG. 6).

[0048] This completes the operation of the cost management apparatus 10 according to the first embodiment.

[0049] (Effects of this embodiment) According to the configuration of this embodiment, the classification unit 11 classifies each cloud service used in at least one of a plurality of processing flows into either pay-per-use or time-based billing. The calculation unit 12 calculates the ratio of job execution time among the plurality of processing flows that include jobs that use time-based cloud services. The allocation unit 13 allocates the time-based billing costs resulting from the use of time-based cloud services among the processing flows that include jobs that use time-based cloud services, based on the ratio of job execution time.

[0050] The time-based costs allocated to each process flow can be considered as the usage fees incurred by each process flow using the resources provided by the time-based cloud service, which allows cloud service users to manage the time-based costs incurred by using the time-based cloud service for each process flow.

[0051] [Embodiment 2] A second embodiment will be described with reference to Fig. 3. In the second embodiment, a configuration will be described in which a pay-as-you-go cost incurred by using a pay-as-you-go cloud service is calculated in addition to a time-based charge cost incurred by using a time-based (or flat-rate) cloud service.

[0052] (Cost management device 20) The configuration of the cost management device 20 according to the second embodiment is the same as that of the cost management device 10 (FIG. 1) according to the first embodiment. In the second embodiment, the description of the first embodiment will be cited, and the description of the configuration of the cost management device 20 that is common to the configuration of the cost management device 10 will be omitted. In the following, only the parts of the cost management device 20 that are different from the cost management device 10 will be described.

[0053] The calculation unit 12 (FIG. 1) of the cost management device 20 further calculates the ratio of the usage of resources provided by the pay-as-you-go cloud service among the multiple processing flows that include jobs that use the pay-as-you-go cloud service.

[0054] The calculation unit 12 outputs information indicating the ratio of the resource usage amounts to the allocation unit 13.

[0055] The distribution unit 13 receives information indicating the resource usage ratio from the calculation unit 12. Using the information indicating the resource usage ratio, the distribution unit 13 calculates, for each processing flow including a job that uses a pay-as-you-go cloud service, the ratio of the resources provided by the cloud service that the processing flow uses (hereinafter referred to as the "second usage ratio"). The sum of the second usage ratios is 1.

[0056] The distribution unit 13 distributes the pay-as-you-go costs incurred by using the pay-as-you-go cloud service among processing flows including jobs that use the pay-as-you-go cloud service, based on the ratio of resource usage.

[0057] Thereafter, the allocating unit 13 may store information indicating the allocation of the pay-per-use cost in the execution history storage unit 300 (FIG. 6). The information indicating the allocation of the pay-per-use cost includes data on the second usage rate for each process flow.

[0058] The calculation unit 12 may calculate the total cost of using all of the cloud services used in at least one of the plurality of process flows by adding up the time-based charging cost and the pay-per-use charging cost.

[0059] (An example of the second usage rate calculation method) An example of a method for calculating the second usage rate will be described.

[0060] Generally, charges for using resources provided by pay-as-you-go cloud services are calculated using the following formula:

[0061] (Charge) = (Resource usage) x (Charge per usage) Here, the resource usage is assumed to be the communication volume that depends on the amount of input data. For example, on a particular day, the amount of input data for job a in process flow A is 10 lines, and the amount of input data for job b in process flow B is 100 lines. The data on the amount of input data for each of job a and job b is stored in the execution history storage unit 300 (FIG. 8).

[0062] Both jobs a and b use resources provided by a pay-as-you-go cloud service. In this case, the calculation unit 12 calculates the second usage rate for the pay-as-you-go cloud service for each process flow based on the ratio of the resource usage.

[0063] For example, suppose that job a requires 10KB of communication traffic to process one line of data. If the input data volume is 10 lines, then 10KB x 10 = 100KB of communication traffic will be generated. On the other hand, suppose job b requires 100KB of communication traffic to process one line of data. If the input data volume is 100 lines, then 5KB x 100 = 500KB of communication traffic will be generated. The calculation results can be found as follows:

[0064] Second usage rate by process flow A: (100KB) / (100KB + 500KB) = approximately 0.16 Second usage rate by process flow B: (500KB) / (100KB+500KB) = approx. 0.83 (An example of how to allocate pay-as-you-go costs) An example of a method for allocating pay-as-you-go costs will be described. As in the example above, for a pay-as-you-go cloud service, the second usage rate for process flow A is 0.16, and the second usage rate for process flow B is 0.83. The charge for providing the pay-as-you-go cloud service was 1 dollar on the specific day mentioned above.

[0065] The distribution unit 13 distributes the pay-per-use costs incurred by using the pay-per-use cloud service among processing flows including jobs that use the pay-per-use cloud service based on the ratio of resource usage (here, data communication volume).

[0066] The second usage rate by the process flow A is 0.16. Therefore, 1 dollar x 0.16 = 0.16 dollars is the pay-per-use cost allocated to the process flow A, that is, the deemed usage fee.

[0067] On the other hand, the second usage rate by process flow B is 0.83. Therefore, $1×0.83=0.83 is the deemed usage fee allocated to process flow B.

[0068] The distribution unit 13 may distribute the fraction (0.01 dollars) to either the process flow A or the process flow B, or may divide it equally between both.

[0069] In the above example, it is possible that both job a and job b are included in the same processing flow (i.e., processing flow A is the same as processing flow B). In this case, the second usage rate by processing flow A (B) is calculated as the sum of the resource usage ratio by job a (0.16) and the resource usage ratio by job b (0.83). In this example, $0.99 and the remainder ($0.01) are the deemed usage fees allocated to processing flow A (B).

[0070] (Operation of the cost management device 20) The operation of the cost management device 20 according to the second embodiment will be described with reference to Fig. 3. Fig. 3 is a flowchart showing the flow of processing executed by the cost management device 20.

[0071] 3, the classification unit 11 classifies each of the cloud services used in at least one of the multiple processing flows into either pay-per-use or time-based billing (S1). The classification unit 11 outputs information indicating the types of all cloud services to the calculation unit 12. The information indicating the types of all cloud services classifies each of the cloud services used in at least one of the multiple processing flows into either pay-per-use or time-based billing.

[0072] The calculation unit 12 receives information indicating the types of all cloud services from the classification unit 11. The calculation unit 12 also acquires data on the execution time for each job from the execution history storage unit 300 (FIG. 8) of the business management system 1 (FIG. 6).

[0073] The calculation unit 12 calculates the ratio of job execution times among the plurality of process flows, among the process flows including jobs that use cloud services with time-based billing (S2).

[0074] The calculation unit 12 outputs information indicating the ratio of the job execution times to the distribution unit 13.

[0075] The distribution unit 13 receives information indicating the ratio of job execution time from the calculation unit 12. Based on the ratio of job execution time, the distribution unit 13 distributes the time-charging cost for using the time-charging cloud service among processing flows including jobs that use the time-charging cloud service (S3).

[0076] Thereafter, the allocating unit 13 may store information indicating the allocation of the time-based charging costs in the execution history storage unit 300 (FIG. 6). The information indicating the allocation of the time-based charging costs includes data on the first usage rate for each process flow.

[0077] Furthermore, the calculation unit 12 calculates the ratio of the usage of resources provided by the pay-as-you-go cloud service among the processing flows including jobs that use the pay-as-you-go cloud service (S4).

[0078] The calculation unit 12 outputs information indicating the ratio of the resource usage amounts to the allocation unit 13.

[0079] The distribution unit 13 receives information indicating the ratio of resource usage from the calculation unit 12. Based on the ratio of resource usage, the distribution unit 13 distributes the pay-as-you-go costs incurred by using the pay-as-you-go cloud service among processing flows including jobs that use the pay-as-you-go cloud service (S5).

[0080] Thereafter, the allocating unit 13 may store information indicating the allocation of the pay-per-use cost in the execution history storage unit 300 (FIG. 6). The information indicating the allocation of the pay-per-use cost includes data on the second usage rate for each process flow.

[0081] This completes the operation of the cost management device 20 according to the second embodiment.

[0082] (Effects of this embodiment) According to the configuration of this embodiment, the classification unit 11 classifies each cloud service used in at least one of a plurality of processing flows into either pay-per-use or time-based billing. The calculation unit 12 calculates the ratio of job execution time among the plurality of processing flows that include jobs that use time-based cloud services. The allocation unit 13 allocates the time-based billing costs resulting from the use of time-based cloud services among the processing flows that include jobs that use time-based cloud services, based on the ratio of job execution time.

[0083] The time-based costs allocated to each process flow can be considered as the usage fees incurred by each process flow using the resources provided by the time-based cloud service, which allows cloud service users to manage the time-based costs incurred by using the time-based cloud service for each process flow.

[0084] Furthermore, according to the configuration of this embodiment, the calculation unit 12 further calculates the ratio of resource usage provided by the pay-per-use cloud service among the multiple processing flows, each of which includes a job that uses the pay-per-use cloud service. The allocation unit 13 allocates the pay-per-use costs incurred by using the pay-per-use cloud service among the processing flows that include a job that uses the pay-per-use cloud service, based on the ratio of resource usage.

[0085] The pay-per-use costs allocated to each processing flow can be considered as the usage fees incurred by each processing flow using the resources provided by the pay-per-use cloud service, which allows cloud service users to manage the pay-per-use costs incurred by using the pay-per-use cloud service for each processing flow.

[0086] [Embodiment 3] A third embodiment will be described with reference to Fig. 4 and Fig. 5. In the third embodiment, a configuration for predicting the possibility of auto-scaling occurring when using a cloud service with time-based billing will be described.

[0087] Scaling out refers to increasing the allocation of resources in response to an increase in the amount of data processed. Conversely, scaling in refers to reducing the allocation of resources in response to a decrease in the amount of data processed. When scaling out (or scaling in) occurs, the hourly billing costs for using hourly cloud services change.

[0088] (Cost management device 30) Fig. 4 is a block diagram showing the configuration of a cost management device 30 according to embodiment 3. As shown in Fig. 1, the cost management device 30 includes a classification unit 11, a calculation unit 12, and an allocation unit 13. The cost management device 30 further includes a prediction unit 34.

[0089] The prediction unit 34 predicts whether a scale-out or a scale-in will occur based on the magnitude of the load on the resources provided by the time-based cloud service. The prediction unit 34 is an example of a prediction means.

[0090] In one example, the prediction unit 34 receives information indicating the types of all cloud services from the classification unit 11. Using the information indicating the types of all cloud services, the prediction unit 34 extracts a processing flow including a job that uses a cloud service with time-based billing from among multiple processing flows requested to be executed by one user.

[0091] The prediction unit 34 predicts the magnitude of the load on the resources provided by the time-based cloud service. For example, the prediction unit 34 refers to the execution history storage unit 300 (FIG. 6) and acquires the execution history information (FIG. 8).

[0092] The prediction unit 34 predicts the magnitude of the load (here, the amount of input data) on resources provided by the time-based cloud service after a predetermined time based on the amount of input data included in the execution history information. The predetermined time is, for example, one day. Alternatively, the predetermined time is the remaining time from the current time until the next midnight.

[0093] The magnitude of the load on a resource is not limited to the amount of input data, but may also be the length of time a process takes to execute or the CPU usage rate.

[0094] The prediction unit 34 predicts whether a scale-out or a scale-in (hereinafter referred to as "scale-out / in") will occur based on the prediction result including information indicating the magnitude of the load on the resource after a predetermined time.

[0095] For example, the prediction unit 34 predicts whether scale-out / in will occur within a predetermined time period using a general data analysis method (for example, regression analysis) based on the amount of input data included in the execution history information, etc.

[0096] The prediction unit 34 determines whether the magnitude of the load on the resource after a predetermined time period meets the conditions for triggering auto-scaling. The conditions for triggering auto-scaling are defined in advance by the time-based cloud service.

[0097] If the magnitude of the load on the resource after a predetermined time period meets the conditions for auto-scaling, the prediction unit 34 determines that scale-out / in will occur within the predetermined time period. On the other hand, if the magnitude of the load on the resource after a predetermined time period does not meet the conditions for auto-scaling, the prediction unit 34 determines that scale-out / in will not occur within the predetermined time period.

[0098] The prediction unit 34 outputs the prediction result regarding whether or not a scale-out / in will occur to the allocation unit 13.

[0099] The allocation unit 13 receives a prediction result regarding whether or not a scale-out / in will occur from the prediction unit 34. If it is predicted that a scale-out / in will occur within a predetermined time, the allocation unit 13 calculates a change in the time-charging cost due to the use of a time-charging cloud service based on the received prediction result.

[0100] Specifically, the allocation unit 13 refers to the auto-scaling regulations of the time-based billing cloud service and calculates how much the billing will change before and after scaling out / in. The information indicating the auto-scaling regulations includes information indicating the billing amount for each billing level and the range of resource usage for each billing level.

[0101] The information indicating the auto-scaling rules also includes information indicating a target amount of resources to be used when a job is executed. The information indicating the auto-scaling rules may be stored in advance in the process flow storage unit 200.

[0102] The calculation unit 12 calculates the fluctuation in the time-charging cost due to the use of the time-charging cloud service, and then allocates the time-charging cost after the fluctuation among the processing flows including jobs that use the time-charging cloud service.

[0103] Thereafter, the distribution unit 13 may store information indicating the distribution of the time-charging costs in the execution history storage unit 300 (FIG. 6).

[0104] (An example of how to calculate the fluctuations in hourly billing costs) An example of a method in which the allocator 13 calculates the fluctuation of the time-charging cost when the predictor 34 predicts that a scale-out / in will occur will be described.

[0105] For example, suppose that job a in process flow A and job b in process flow B use resources provided by a cloud service with hourly billing. The cloud service with hourly billing also specifies that auto-scaling occurs for every 100 loads.

[0106] In the first example, it is assumed that the current resource usage by job a is 0, and the current resource usage by job b is 50. Therefore, the current load on the resource is 50.

[0107] If the resource usage by job a is predicted to increase to 70 after a certain time from now, the load on the resource after the certain time will be 50 + 70 = 120. In this case, it is predicted that the load on the resource will exceed 100 after the certain time, causing a scale-out. Therefore, the hourly billing cost for using hourly billing cloud services will fluctuate.

[0108] If the charge for resource usage is $1 for every 100 of the resource used, scaling out will result in an increase in the charge of $1.

[0109] In the second example, assume that the current resource usage by job a is 70, and the current resource usage by job b is 50. Therefore, the current resource load is 120.

[0110] If the execution of process flow A is subsequently stopped, the load on the resource after a certain time will be 120-70=50. In this case, it is predicted that the load on the resource will fall below 100 after the certain time has passed, causing a scale-in. Therefore, the hourly billing costs for using hourly billing cloud services will fluctuate.

[0111] If the charge for resource usage is $1 for every 100 of the resource used, scaling in will result in a decrease in the charge by $1.

[0112] (Operation of the cost management device 30) The operation of the cost management device 30 according to the third embodiment will be described with reference to Fig. 5. Fig. 5 is a flowchart showing the flow of processing executed by the cost management device 30.

[0113] 5, the classification unit 11 classifies each of the cloud services used in at least one of the multiple processing flows into either pay-per-use or time-based billing (S301). The classification unit 11 outputs information indicating the types of all cloud services to the calculation unit 12 and the prediction unit 34. The information indicating the types of all cloud services classifies each of the cloud services used in at least one of the multiple processing flows into either pay-per-use or time-based billing.

[0114] The calculation unit 12 receives information indicating the types of all cloud services from the classification unit 11. The calculation unit 12 also acquires data on the execution time for each job from the execution history storage unit 300 (FIG. 8) of the business management system 1 (FIG. 6).

[0115] The calculation unit 12 calculates the ratio of job execution times among the plurality of process flows, among the process flows including jobs that use time-based billing cloud services (S302).

[0116] The calculation unit 12 outputs information indicating the ratio of the job execution times to the distribution unit 13.

[0117] Next, the prediction unit 34 predicts whether a scale-out / scale-in will occur within a predetermined time based on the magnitude of the load on the resources provided by the time-based cloud service (S303).

[0118] The prediction unit 34 outputs the prediction result regarding whether or not a scale-out / in will occur to the allocation unit 13.

[0119] The distribution unit 13 receives information indicating the ratio of job execution times from the calculation unit 12. The distribution unit 13 also receives from the prediction unit 34 a prediction result regarding whether or not scale-out / in will occur.

[0120] If it is predicted that a scale-out / scale-in will occur within a predetermined time (Yes in S304), the allocating unit 13 calculates the fluctuation in the time-charging cost due to the use of the time-charging cloud service (S305).

[0121] The prediction unit 34 allocates the time-charging cost for using the time-charging cloud service among the processing flows including jobs that use the time-charging cloud service based on the ratio of job execution times (S306). If it is predicted that a scale-out / scale-in will occur within a predetermined time, in step S306, the prediction unit 34 allocates the time-charging cost after the change among the processing flows including jobs that use the time-charging cloud service.

[0122] Thereafter, the allocating unit 13 may store information indicating the allocation of the time-based charging costs in the execution history storage unit 300 (FIG. 6). The information indicating the allocation of the time-based charging costs includes data on the first usage rate for each process flow.

[0123] Furthermore, similar to the second embodiment, the calculation unit 12 may calculate the ratio of the usage of resources provided by the pay-as-you-go cloud service among the processing flows including a job that uses the pay-as-you-go cloud service.

[0124] Furthermore, similar to the second embodiment, the distribution unit 13 may distribute the pay-as-you-go costs incurred by using pay-as-you-go cloud services among processing flows including jobs that use pay-as-you-go cloud services based on the ratio of resource usage.

[0125] The allocating unit 13 may also store information indicating the allocation of the pay-per-use costs in the execution history storage unit 300 (FIG. 6). The information indicating the allocation of the pay-per-use costs includes data on the second usage rate for each process flow.

[0126] This completes the operation of the cost management device 30 according to the third embodiment.

[0127] (Effects of this embodiment) According to the configuration of this embodiment, the classification unit 11 classifies each cloud service used in at least one of a plurality of processing flows into either pay-per-use or time-based billing. The calculation unit 12 calculates the ratio of job execution time among the plurality of processing flows that include jobs that use time-based cloud services. The allocation unit 13 allocates the time-based billing costs resulting from the use of time-based cloud services among the processing flows that include jobs that use time-based cloud services, based on the ratio of job execution time.

[0128] The time-based costs allocated to each process flow can be considered as the usage fees incurred by each process flow using the resources provided by the time-based cloud service, which allows cloud service users to manage the time-based costs incurred by using the time-based cloud service for each process flow.

[0129] Furthermore, according to the configuration of this embodiment, the prediction unit 34 predicts whether a scale-out or scale-in will occur based on the magnitude of the load on resources provided by the time-charging cloud service. By predicting whether a scale-out / in will occur in this way, it is possible to take fluctuations in the time-charging cost into account and allocate the time-charging cost after the fluctuations among processing flows.

[0130] [Embodiment 4] A fourth embodiment will be described with reference to Figures 6 to 8. In this fourth embodiment, the configuration of a business management system 1 including any one of the cost management devices 10, 20, and 30 according to the first to third embodiments will be described.

[0131] (Business Management System 1) Fig. 6 is a diagram schematically illustrating an example of the configuration of a business management system 1 according to the fourth embodiment. As shown in Fig. 6, the business management system 1 includes a cost management device 10 (20, 30), as well as a process flow execution device 100, a process flow storage unit 200, and an execution history storage unit 300. Here, the "cost management device 10 (20, 30)" refers to any of the cost management devices 10, 20, and 30 according to the first to third embodiments.

[0132] The process flow execution device 100 executes process flows such as batch processing using resources provided by a time-based or pay-per-use cloud service. The process flow execution device 100 may be configured as electrical hardware using a processor and memory, or electronic circuits. Alternatively, the process flow execution device 100 may be configured as software using a program.

[0133] The process flow execution device 100 sequentially executes jobs in the process flow stored in the process flow storage unit 200 (FIG. 7). After executing the job, the process flow execution device 100 stores execution history information in the execution history storage unit 300 (FIG. 8). The execution history information includes the process flow's execution ID (process flow identifier), job name, execution start time, execution duration, and input data amount data.

[0134] The process flow storage unit 200 stores information indicating the definition of a process flow to be executed by the process flow execution device 100 (hereinafter referred to as process flow definition information).

[0135] The execution history storage unit 300 stores information indicating the execution history of the process flow by the process flow execution device 100 (hereinafter referred to as execution history information).

[0136] (Example of process flow definition information) 7 is a diagram showing an example of the process flow definition information stored in the process flow storage unit 200 (FIG. 6). The process flow definition information indicates the definition of the process flow to be executed by the process flow execution device 100.

[0137] In the example shown in FIG. 7, the process flow definition information includes, for each process flow, information indicating the (cloud) service used by the job, information indicating the resources provided by the service, and data on the amount of resource usage.

[0138] Processing flow A includes job a and job a2. Job a1 uses service X. Service X provides resource x. Furthermore, the usage of resource x is 10 KB per line of data. Meanwhile, job a2 uses service Y. Service Y provides resource y. Furthermore, the usage of resource y is 20 KB per line of data.

[0139] As in the above example, the process flow definition information includes not only information indicating the job in the process flow, but also information regarding the (cloud) service used by the job.

[0140] The classification unit 11 of the cost management device 10 (20, 30) acquires processing flow information from the processing flow storage unit 200 (FIG. 6). Then, the classification unit 11 classifies the (cloud) services used in each processing flow into pay-per-use or time-based billing based on the type of (cloud service) (service X or service Y in FIG. 7).

[0141] (Example of execution history information) 8 is a diagram showing an example of the execution history information stored in the execution history storage unit 300 (FIG. 6). The execution history information indicates the execution history of the process flow by the process flow execution device 100.

[0142] In the example shown in FIG. 8, the execution history information includes information indicating the execution ID (identifier of the processing flow) of the processing flow, the job name, the execution start time of the job, the execution time of the job, and the amount of input data (amount of resource usage).

[0143] Process flow execution ID: 1 represents process flow A shown in Figure 7. The execution start time of job a1 of process flow A is 14:00 on September 14, 2021. The execution time of job a1 is 20 minutes from the execution start time. The amount of input data (resource usage) during the execution of job a1 is 10KB. Meanwhile, the execution start time of job a2 of process flow A is 14:20 on September 14, 2021. The execution time of job a2 is 10 minutes from the execution start time. The amount of input data (resource usage) during the execution of job a2 is 5KB.

[0144] As in the above example, the execution history information includes information indicating the execution time for calculating the "first usage rate" described in the first embodiment. The execution history information also includes information indicating the amount of input data (resource usage) for calculating the "second usage rate" described in the first embodiment.

[0145] The prediction unit 34 of the cost management device 30 acquires execution history information from the execution history storage unit 300. Based on the amount of input data included in the execution history information, the prediction unit 34 predicts the magnitude of the load (here, the amount of input data) on resources provided by a time-based cloud service after a predetermined time.

[0146] (Effects of this embodiment) According to the configuration of this embodiment, the classification unit 11 classifies each cloud service used in at least one of a plurality of processing flows into either pay-per-use or time-based billing. The calculation unit 12 calculates the ratio of job execution time among the plurality of processing flows that include jobs that use time-based cloud services. The allocation unit 13 allocates the time-based billing costs resulting from the use of time-based cloud services among the processing flows that include jobs that use time-based cloud services, based on the ratio of job execution time.

[0147] The time-based costs allocated to each process flow can be considered as the usage fees incurred by each process flow using the resources provided by the time-based cloud service, which allows cloud service users to manage the time-based costs incurred by using the time-based cloud service for each process flow.

[0148] (About hardware configuration) Each of the components of the cost management devices 10, 20, and 30 described in the first to third embodiments represents a functional block. Some or all of these components are realized by an information processing device 900 as shown in Fig. 9. Fig. 9 is a block diagram showing an example of the hardware configuration of the information processing device 900.

[0149] As shown in FIG. 9, an information processing device 900 includes, for example, the following configuration.

[0150] CPU(Central Processing Unit)901 ROM (Read Only Memory) 902 RAM (Random Access Memory) 903 Program 904 loaded into RAM 903 A storage device 905 for storing a program 904 A drive device 907 that reads and writes data from and to the recording medium 906 A communication interface 908 that connects to a communication network 909 Input / output interface 910 for inputting and outputting data A bus 911 connecting each component Each of the components of the cost management devices 10, 20, and 30 described in the first to third embodiments is realized by the CPU 901 reading and executing a program 904 that realizes the functions of the components. The program 904 that realizes the functions of the components is stored, for example, in advance in the storage device 905 or the ROM 902, and is loaded into the RAM 903 and executed by the CPU 901 as needed. The program 904 may be supplied to the CPU 901 via the communication network 909, or may be stored in advance in the recording medium 906, and the drive device 907 may read out the program and supply it to the CPU 901.

[0151] According to the above configuration, the cost management devices 10, 20, and 30 described in the first to third embodiments are realized as hardware, and therefore, the same effects as those described in any of the first to third embodiments can be achieved.

[0152] (Addendum) One aspect of the present invention can be described as follows, but is not limited to the following.

[0153] (Appendix 1) a classification means for classifying each of the cloud services used in at least one of the plurality of processing flows into a pay-per-use or time-based charge system; a calculation means for calculating a ratio of execution time of a job among the plurality of processing flows, the job including the job using a time-based cloud service; an allocation means for allocating a time-charging cost resulting from the use of the time-charging cloud service among the processing flows including jobs that use the time-charging cloud service based on a ratio of execution times of the jobs; Equipped with Cost control device.

[0154] (Appendix 2) the calculation means further calculates a ratio of usage of resources provided by the pay-as-you-go cloud service among the plurality of processing flows, the processing flows including jobs that use the pay-as-you-go cloud service; The allocation means allocates the pay-as-you-go cost resulting from the use of the pay-as-you-go cloud service among the processing flows including jobs that use the pay-as-you-go cloud service based on the ratio of the resource usage amounts. 2. The cost management device according to claim 1,

[0155] (Appendix 3) a prediction unit for predicting whether a scale-out or a scale-in will occur based on the magnitude of the load on the resources provided by the time-charging cloud service; The calculation means further calculates a change in the time-charging cost due to the use of the time-charging cloud service when the scale-out or scale-in is predicted to occur. 3. The cost management device according to claim 1 or 2.

[0156] (Appendix 4) The calculation means calculates a total cost for using all of the cloud services used in at least one of the plurality of process flows by adding up the time-based charging cost and the pay-per-use charging cost. 3. The cost management device according to claim 2,

[0157] (Appendix 5) classifying each of the cloud services used in at least one of the plurality of processing flows into a pay-per-use or time-based billing system; calculating a ratio of execution times of the jobs among the plurality of processing flows, the processing flows including jobs using a time-based cloud service; Based on the ratio of execution times of the jobs, the time-charging cost resulting from the use of the time-charging cloud service is allocated among the processing flows including the jobs that use the time-charging cloud service. Cost control methods.

[0158] (Appendix 6) further calculating a ratio of usage of resources provided by the pay-as-you-go cloud service among the plurality of processing flows, the processing flows including a job that uses the pay-as-you-go cloud service; Based on the ratio of the resource usage, the pay-per-use costs resulting from the use of the pay-per-use cloud service are further allocated among the processing flows including jobs that use the pay-per-use cloud service. 6. The cost management method according to claim 5,

[0159] (Appendix 7) classifying each of the cloud services used in at least one of the plurality of process flows into a pay-per-use or time-based billing scheme; Calculating a ratio of execution times of the jobs among the plurality of processing flows, each of which includes a job that uses a cloud service with time-based billing; Allocating the time-charging cost for using the time-charging cloud service among the processing flows including jobs that use the time-charging cloud service based on the ratio of execution times of the jobs; A program that causes a computer to execute the following.

[0160] (Appendix 8) Calculating a ratio of usage of resources provided by the pay-as-you-go cloud service among the plurality of processing flows including a job that uses the pay-as-you-go cloud service; allocating a pay-as-you-go cost resulting from the use of the pay-as-you-go cloud service among the processing flows including jobs that use the pay-as-you-go cloud service based on the ratio of the resource usage amounts; to have the computer execute 8. The program according to claim 7, [Industrial Applicability]

[0161] The present invention can be used, for example, to manage costs incurred in relation to cloud services used as jobs in a flow consisting of a series of processing flows. [Explanation of symbols]

[0162] 1. Business Management System 10 Cost Management Device 11 Classification section 12 Calculation section 13 Distribution Department 20 Cost Management Device 30 Cost Management Device 34 Prediction Department 100 Processing flow execution device 200 Processing flow memory unit 300 Execution history memory unit

Claims

1. a classification means for identifying each of the cloud services used in at least one of a plurality of processing flows based on the service name of the cloud service, and classifying the identified cloud service into a pay-per-use or time-based billing system; a calculation means for acquiring data on execution time for each job from an execution history storage unit of the business management system, and using the acquired data, calculating a ratio of execution time of each job among the plurality of processing flows, which includes a job that uses a cloud service with time billing; an allocation means for allocating a time-charging cost resulting from the use of the time-charging cloud service among the processing flows including jobs that use the time-charging cloud service based on a ratio of execution times of the jobs; Equipped with Cost control device.

2. the calculation means acquires the amount of input data for each job from an execution history storage unit of the business management system, calculates the amount of resource usage depending on the amount of input data for each acquired job, and further calculates a ratio of the amount of resource usage provided by the pay-as-you-go cloud service among the plurality of processing flows including a job that uses the pay-as-you-go cloud service; The allocation means allocates the pay-as-you-go cost resulting from the use of the pay-as-you-go cloud service among the processing flows including jobs that use the pay-as-you-go cloud service based on the ratio of the resource usage amounts. The cost management device according to claim 1 .

3. a prediction unit for predicting whether a scale-out or a scale-in will occur based on the magnitude of the load on the resources provided by the time-charging cloud service; The calculation means further calculates a change in the time-charging cost due to the use of the time-charging cloud service when the scale-out or scale-in is predicted to occur.

3. The cost management device according to claim 1 or 2.

4. The calculation means calculates a total cost for using all of the cloud services used in at least one of the plurality of process flows by adding up the time-based charging cost and the pay-per-use charging cost.

3. The cost management device according to claim 2.

5. A computer-implemented cost management method, comprising: Identifying each of the cloud services used in at least one of the plurality of processing flows based on the service name of the cloud service, and classifying the identified cloud service into a pay-per-use or time-based billing system; acquiring execution time data for each job from an execution history storage unit of the business management system, and using the acquired data, calculating a ratio of execution time of the job among the plurality of processing flows including a job that uses a time-based cloud service; Based on the ratio of execution times of the jobs, the time-charging cost resulting from the use of the time-charging cloud service is allocated among the processing flows including jobs that use the time-charging cloud service. Cost control methods.

6. further calculating a ratio of usage of resources provided by the pay-as-you-go cloud service among the plurality of processing flows, the processing flows including a job that uses the pay-as-you-go cloud service; Based on the ratio of the resource usage, the pay-per-use costs resulting from the use of the pay-per-use cloud service are further allocated among the processing flows including jobs that use the pay-per-use cloud service.

6. The cost management method according to claim 5.

7. Identifying each of the cloud services used in at least one of a plurality of processing flows based on the service name of the cloud service, and classifying the identified cloud service into a pay-per-use or time-based billing system; acquiring execution time data for each job from an execution history storage unit of the business management system, and using the acquired data, calculating a ratio of execution time of the job among the plurality of processing flows including a job that uses a cloud service with time billing; Allocating the time-charging cost for using the time-charging cloud service among the processing flows including jobs that use the time-charging cloud service based on the ratio of execution times of the jobs; A program that causes a computer to execute the following.

8. calculating a ratio of usage of resources provided by the pay-as-you-go cloud service among the plurality of processing flows that include a job that uses the pay-as-you-go cloud service; allocating a pay-as-you-go cost resulting from the use of the pay-as-you-go cloud service among the processing flows including jobs that use the pay-as-you-go cloud service based on the ratio of the resource usage amounts; to have the computer execute 8. The program according to claim 7,

Citation Information

Patent Citations

  • Computer use charge settlement system

    JP2005250824A

  • Server number adjustment system, method and program

    JP2014191378A

  • Information processing device and program

    JP2015018361A

  • Information processing system, cost calculation apparatus, and cost calculation program

    JP2019053672A

  • Communication system, platform server, and program

    JP2019186658A