Multitenant service control method and system, and power service provision system
By grouping similar service flows and sharing execution results in multi-tenant cloud systems, the method addresses the challenge of increasing resource usage and costs, ensuring efficient service execution.
Patent Information
- Application Number
- JP2023109625
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-03
- Publication Date
- 2025-01-17
AI Technical Summary
In multi-tenant cloud systems, increasing the number of tenants and services leads to a proportional increase in resource usage and costs, necessitating a method to maintain performance while minimizing computational load.
A method and system for controlling multi-tenant services by determining the similarity of service flows, forming groups based on this similarity, and executing a representative service flow for the group, with other flows sharing its execution results, thereby reducing resource allocation and scheduling.
This approach suppresses the increase in costs due to an increase in tenants and services, allowing efficient operation of cloud systems by reducing resource usage while maintaining service performance.
Smart Images

Figure 2025007905000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a method for providing services such as power supply and demand forecasting, aggregation planning, and power market trading in a cloud system. [Background technology]
[0002] An information processing device has been proposed which receives requests from clients and executes processing, comprising: an input storage means for storing requests from clients for each sender of the request; a request input processing means for storing the requests in the input storage means according to the sender of the received request; and a request processing means for processing a request stored in the input storage means, and then processing a request from a sender different from the request which was processed (see Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2014-106728 A Summary of the Invention [Problem to be solved by the invention]
[0004] An architecture in which multiple users (tenants) share the same resources such as servers, applications, and networks is called a multitenant architecture. This invention targets cloud systems that provide electricity services such as electricity supply and demand forecasts, aggregation plans or power generation plans, and electricity market transactions to multiple or many users (in this specification, multiple or many users are sometimes referred to as "multitenants").
[0005] In particular, this relates to a cloud system that periodically and simultaneously executes forecasts of power supply and demand, power market prices, etc., aggregation and power generation plans, and bidding processes for multiple, numerous businesses (multi-tenants) every time a bidding is conducted in the electricity market. When implementing multi-tenant support in a cloud system, it is required to minimize the calculation load and keep resource usage within a certain range, rather than increasing resource usage one after another, in order to guarantee and maintain the performance of the periodic simultaneous execution of power services for a large and increasing number of tenants.
[0006] In the technology disclosed in the above-mentioned Patent Document 1, resources are allocated to each tenant each time a service is executed, and the execution of the service for each tenant is guaranteed. However, if the number of tenants and services increases, resources must also be increased to guarantee the execution of a minimum number of services. Therefore, to periodically execute services all at once, costs may be incurred in proportion to the increase in the number of tenants and services.
[0007] The present invention has been made in consideration of the above-mentioned problems, and has an object to provide a technique that makes it possible to suppress an increase in costs due to an increase in the number of tenants and services. [Means for solving the problem]
[0008] One aspect of the present invention is a method for controlling a multi-tenant service in which, when executing a service flow that is one power service for one tenant using information processing resources, multiple service flows that are multiple power services for multiple tenants are executed periodically and in parallel, the multi-tenant service control method using an information processing device having an input device, an output device, a processing device, and a storage device to form a verification processing unit, a planning unit, and an execution management unit, and executes the following steps: a first step in which the verification processing unit determines a similarity between execution results of the multiple service flows; a second step in which the planning unit forms a group of the service flows based on the similarity, allocates the information processing resources to the group, and schedules the execution of the service flows; and a third step in which the execution management unit executes a service flow that is designated as a representative tenant in the group based on the execution scheduling of the service flows, and causes the execution results of the service flow of the representative tenant to be used in other service flows belonging to the same group.
[0009] Another aspect of the present invention is a system for controlling a multi-tenant service, which uses information processing resources to execute a service flow that is one power service for one tenant, and which periodically and in parallel executes a plurality of service flows that are a plurality of power services for a plurality of tenants, and which uses an information processing device having an input device, an output device, a processing device, and a storage device to form a verification processing unit, a planning unit, and an execution management unit, and the verification processing unit determines a similarity between the execution results of the plurality of service flows, the planning unit forms a group of the service flows based on the similarity, allocates the information processing resources to the group, and schedules the execution of the service flows, and the execution management unit executes a service flow that is designated as a representative tenant in the group based on the execution scheduling of the service flows, and causes the execution results of the service flow of the representative tenant to be used in other service flows belonging to the same group.
[0010] Another aspect of the present invention is an electricity service provision system comprising a multi-tenant service system and a multi-tenant service control system, wherein the multi-tenant service system, when using information processing resources to execute a service flow that is one electricity service for one tenant, periodically and in parallel executes multiple service flows that are multiple electricity services for multiple tenants, and the multi-tenant service control system uses an information processing device having an input device, an output device, a processing device, and a storage device to form a verification processing unit, a planning unit, and an execution management unit, wherein the verification processing unit determines a similarity between execution results of the multiple service flows, the planning unit forms a group of the service flows based on the similarity, allocates the information processing resources to the group, and schedules the execution of the service flows, and the execution management unit executes a service flow that is a representative tenant in the group based on the execution scheduling of the service flow, and causes the execution results of the service flow of the representative tenant to be used in other service flows belonging to the same group. Effect of the Invention
[0011] According to the present invention, it is possible to suppress the increase in costs due to an increase in the number of tenants and services. In addition, for service providers using a cloud system, it is possible to operate efficiently by suppressing costs while satisfying requests without being aware of multi-tenants. [Brief description of the drawings]
[0012] [Figure 1] FIG. 2 is a block diagram showing an example of a system configuration to which the embodiment is applied. [Diagram 2] FIG. 1 is a conceptual diagram showing an embodiment of providing an electric power service in a cloud system. [Diagram 3] 1 is a flow diagram showing an overview of a method for calculating a result similarity of a service in a multitenant service control method and system according to an embodiment. [Figure 4]FIG. 2 is a block diagram showing a module configuration of a cloud system according to an embodiment. [Figure 5A] 1 is a table showing a configuration of microservice information used in an embodiment. [Figure 5B] 1 is a table showing the configuration of a full-match / similarity list used in an embodiment. [Figure 5C] 11 is a table showing the configuration of group information used in the embodiment. [Figure 6] 11 is a flowchart showing the process flow of verification, group formation of similar services, execution scheduling, and service execution in the multitenant service control method and system according to the embodiment. [Figure 7] 11 is a flowchart showing the flow of a verification process for calculating and determining a similarity between service execution results in the multitenant service control method and system according to the embodiment. [Figure 8] 11 is a flowchart showing a process flow for forming groups, allocating resources, and scheduling service execution based on similarity in a multitenant service control method and system according to an embodiment. [Figure 9] 1 is a flowchart showing a flow of a service execution process in a multitenant service control method and system according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] The embodiments will be described in detail with reference to the drawings. However, the present invention should not be interpreted as being limited to the description of the embodiments shown below. It will be easily understood by those skilled in the art that the specific configuration can be changed without departing from the concept or spirit of the present invention.
[0014] In the configurations of the embodiments described below, the same parts or parts having similar functions are denoted by the same reference numerals in different drawings, and duplicated explanations may be omitted.
[0015] When there are multiple elements having the same or similar functions, they may be described by using the same reference numerals with different subscripts. However, when there is no need to distinguish between multiple elements, the subscripts may be omitted.
[0016] The designations "first," "second," "third," and the like in this specification are given to identify components, and do not necessarily limit the number, order, or content. Furthermore, numbers for identifying components are used in each context, and a number used in one context does not necessarily indicate the same configuration in another context. Furthermore, a component identified by a certain number does not prevent the component from also having the function of a component identified by another number.
[0017] In order to facilitate understanding of the invention, the position, size, shape, range, etc. of each component shown in the drawings, etc. may not represent the actual position, size, shape, range, etc. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings, etc.
[0018] All publications, patents, and patent applications cited herein are hereby incorporated by reference in their entirety.
[0019] As used herein, elements referred to in the singular are intended to include the plural unless the context clearly indicates otherwise.
[0020] One example of the embodiment described below has the following configuration: That is, in a system that provides power services to multiple tenants, which are multiple business operators, the system includes a means for calculating and judging a similarity of results of execution of services for one or more tenants when power service processing is periodically executed simultaneously for multiple tenants, which are multiple business operators, a means for forming a group of similar services based on the result similarity, allocating resources to the group, and scheduling service execution, and a means for executing a service of a representative tenant in the group and sharing the service execution results with members based on the service execution scheduling.
[0021] In the embodiment, as described above, before the periodic execution, a group of similar services is formed, the execution of each group in the period is scheduled, and the service flow of the representative tenant is executed in each group and the execution results are shared with the members. With this configuration, in order to ensure the performance of the service execution in the cloud, the cost of preparing and using resources can be kept within a certain range without increasing resources in accordance with an increase in the number of tenants, the number of services, and the execution frequency. In addition, the cloud service provider can reduce costs and operate efficiently while satisfying user requests without the user tenants being aware of it.
[0022] Here, an electricity service refers to a service that uses computing resources such as information processing devices and clouds to perform calculations including electrical physical quantities such as current, voltage, and power, and output meaningful results. Examples of such services include electricity supply and demand forecasts, aggregation plans, power generation plans, and electricity market transactions.
[0023] A tenant is a user or a group of users who have access to a software instance with specific privileges, and corresponds to a computing resource on the cloud that is used by each customer, i.e., user of the system. In the case of an electricity service, a user is, for example, a business entity that trades electricity in the electricity market, such as an aggregator, a battery storage business entity, or a power generation business entity. An aggregator is a business entity that coordinates the demand balance of electricity consumers and provides electricity energy effectively and stably.
[0024] Since power needs to be provided continuously and uninterruptedly, power services need to be executed periodically. In the periodic execution, it is necessary to execute a series of processes such as demand forecast, renewable energy supply forecast, price forecast, power generation plan creation, bidding, etc., all at once. As the number of tenants and services diversifies and increases, saving computer resources becomes an issue. In the embodiment described below, the cloud calculates the range that can be processed collectively based on the similarity of tenants and services, and shares the periodic execution contents for the representative tenant of the group with the tenants of the group other than the representative tenant, thereby reducing the calculation load on the cloud side. EXAMPLES
[0025] 1 is a block diagram showing an example of a system configuration to which the embodiment is applied. The main components are a cloud system 101 that provides power services in a multi-tenant manner, a client terminal 102 that presents information on the client side of the tenants receiving services from the cloud system 101, an electricity market server 103 that is a link target for the power services provided by the cloud system 101, and an EMS (Energy Management SystemE) server 104 at consumers, power generation companies, etc.
[0026] The cloud system 101, the client terminal 102, the electricity market server 103, and the EMS server 104 are interconnected via the Internet 105. However, data provision from the EMS server 104 to the cloud system 101 is not limited to cases in which it is performed by communication via the Internet 105, but there are also cases in which data is stored in the cloud system 101 without going through the Internet 105, for example, manually.
[0027] The main components of the cloud system 101 include a control plane 111 that manages resources within the cloud system 101 and controls the services that are executed, one or more application servers: AP servers (112, 113, 114, 115) on which the microservices that make up the power service are executed, a database server: DB server 116 that stores the data accessed by the microservices, a load balancer 117 that allocates service requests to the AP servers (112, 113, 114, 115), and a firewall 118 that restricts access from the Internet 105.
[0028] The control plane 111, AP servers (112, 113, 114, 115), load balancer 117, and firewall 118 are interconnected via an internal network 120. In addition, the AP servers (112, 113, 114, 115) and DB server 116 are interconnected via a switch 119.
[0029] FIG. 2 is a conceptual diagram showing an example of the implementation of power service provision in a cloud system according to an embodiment. Here, an overall picture of the processing will be described. This is a cloud system that provides power services such as power supply and demand forecast, aggregation plan or power generation plan, and power market trading to multiple or many business operators, i.e., multi-tenants. Every time a bidding is held in the power market trading, the service processing of forecast, plan, and bidding is executed simultaneously (201) for multiple or many business operators (multi-tenants) periodically (e.g., every 30 minutes). Each service is composed of one or more microservices (MS), and the microservices are executed sequentially.
[0030] In the periodic execution of the power service, before the next period starts, verification of the similarity of services for each tenant (204) and group formation based on the result (205) are performed. If there is a surplus of resources as a result of the resource saving due to the effect of this embodiment, it is possible to perform early execution of the service for the next period (202). Also, it is possible to perform resource-saving service execution in the next period (203). Verification (204) and group formation (205) may be performed before each periodic execution of the service as shown in FIG. 2, or may be performed once for multiple service periodic executions.
[0031] In the service advance execution 202 or service execution 203, the services are scheduled for each group (231, 232) and executed sequentially. In the group (232), the service flow 242 of the representative tenant is executed first. A member whose service flow completely matches that of the representative tenant does not execute the service flow, but receives the execution result of the service flow 242 of the representative tenant and outputs it as its own execution result. Also, a member that is highly similar to the service flow 242 of the representative tenant receives the execution result of the microservice of the service flow of the representative tenant and executes the microservices of the remaining steps of the service flow only within the similarity range specified by the execution steps of the microservices.
[0032] By reducing the number of service executions to the bare minimum as described above, we are able to curb increases in resource usage. In particular, when periodic processing is required and real-time processing is desirable, as shown in Figure 2, the freed-up resources can be effectively used to advance processing, etc.
[0033] FIG. 3 is a flow diagram showing an overview of a method for calculating the result similarity of services in the similarity verification 204 in the multitenant service control method and system according to the embodiment.
[0034] For service flows (301, 302) consisting of one or more microservices MS for each tenant, the result similarity is calculated by comparing the execution results at each step of the microservice MS. Here, the result similarity is defined as the degree to which the items and values of data output as the execution result of a service or microservice are similar to each other above a predetermined threshold.
[0035] The threshold is set in advance by someone who is familiar with the contents of the microservice MS and the input / output data. For example, if the more similar something is, the higher the similarity value, then a higher threshold reduces the effect of resource compression, and a lower threshold reduces the accuracy of the output.
[0036] Furthermore, the execution results are given more importance than the intermediate processing steps, and if the execution results are similar, regardless of whether there are differences in the input or intermediate processing, the scope of the relevant service flow or microservice is considered to be similar. In general business processing, the results of intermediate processes are also important, making it difficult to evaluate based on the results alone, but in the case of electricity services such as electricity supply and demand forecasts, aggregation plans, and electricity market transactions, the results are important, so a method of evaluating the execution results sequentially in the reverse direction is effective.
[0037] First, the result similarity is calculated from the execution result (output (n)) of the last (n-th) microservice MS(n) of the service flow (301, 302). If the result similarity is equal to or greater than a predetermined threshold, the similarity range of the service flow is set to up to the n-th. On the other hand, if the result similarity is less than the predetermined threshold, the result similarity is calculated from the execution result (output (n-1)) of the previous (n-1st) MS(n-1) of the service flow (301, 302). If the result similarity is equal to or greater than a predetermined threshold, the similarity range of the service flow is set to up to the n-1th. On the other hand, if the result similarity is less than the predetermined threshold, the process proceeds to the next previous service flow (301, 302) until a similarity range in which the result similarity is equal to or greater than the predetermined threshold can be detected (or until it is determined that it cannot be detected).
[0038] The similarity calculation uses past history information such as execution results from the immediately preceding execution, the same time on the previous day, or the same time on the previous year.
[0039] 4 is a block diagram showing a module configuration of a cloud system 101 in the embodiment. A control middleware 401 is installed in a control plane 111 in the cloud system 101, and the control middleware 401 performs verification, group formation of similar services, execution scheduling, and service execution control for providing services for multi-tenants. A container 431 is installed in an AP server (112, 113, 115), and a microservice 432 is executed on the container 431. The DB server 116 stores application data 433 accessed by the microservice 432.
[0040] The main components of the control middleware 401 are as follows: Processing units include a result similarity calculation unit 411, a similarity group management unit 412, a resource allocation and execution scheduling unit 413, a service flow execution management unit 414, an execution history management unit 415, and a data communication unit 416. These are configured by software and executed by, for example, a processing device of a server.
[0041] The data includes a microservice information table 421 (see FIG. 5A), a full match / similarity list 422 (see FIG. 5B), a group information table 423 (see FIG. 5C), and history information 424.
[0042] The control middleware 401 can be configured as one or more information processing devices, such as a server or a cloud, that include a processing device CPU (Central Processing Unit), a storage device, an output device, and an input device, as a hardware configuration. Well-known configurations of information processing devices are omitted, and the devices are shown as functional blocks in Fig. 4. The functions of each processing unit are realized by the processing device executing software stored in the storage device. Data is stored in any storage means, such as a magnetic disk device or semiconductor memory.
[0043] In the history information 424, the execution history management unit 415 accumulates the outputs (1) to (n) of the microservices MS(1) to MS(n) for each service identified by the tenant identification information 511 and the service identification information 512 (see FIG. 3). These data are stored in, for example, a magnetic disk device or a non-volatile semiconductor memory.
[0044] The result similarity calculation unit 411 refers to the microservice information table 421 and the history information 424 to calculate and determine the similarity of the service execution results of each tenant.
[0045] The similar group management unit 412 refers to the full match / similarity list 422 , selects a representative tenant based on the result similarity, and forms and manages groups, and updates the group information table 423 .
[0046] The resource allocation and execution scheduling unit 413 refers to the group information table 423 to allocate resources to groups for service execution and schedule service execution.
[0047] The service flow execution management unit 414 manages the execution of the service flows in each group based on the results of the service execution scheduling.
[0048] The execution history management unit 415 acquires the execution results of the service flow and stores them in the history information 424 .
[0049] The data communication unit 416 communicates with the AP servers ( 112 , 113 , 115 ) and the load balancer 117 via the internal network 120 , and communicates with the client terminal 102 and the EMS server 104 via the firewall 118 and the Internet 105 .
[0050] 5A to 5C are diagrams showing the configurations of tables used in the multitenant service control method and system according to the embodiment.
[0051] The main components are a microservice information table 421 managed by the control plane 111, which stores information about the services provided to tenants in the cloud system and the microservices that make up the services, a full match / similarity list 422 which stores information about full matches or similar services, and a group information table 423 which stores information about groups formed based on the result similarity.
[0052] 5A is a table showing an example of the configuration of the microservice information table 421. The main components are tenant identification information 511, service identification information 512, microservice identification information 513, input data 514, data collection period 515, and update date and time 516. This information is set and stored in advance by an entity (business operator) that provides the multitenant service.
[0053] The tenant identification information 511 stores information for identifying a tenant to which a service is provided in the cloud system. The service identification information 512 stores identification information for identifying a service provided to a tenant identified by the tenant identification information 511. The microservice identification information 513 stores information for identifying one microservice constituting the service identified by the service identification information 512. The input data 514 stores information for identifying input data to the microservice identified by the microservice identification information 513. The data collection cycle 515 stores information regarding the collection cycle of data identified by the input data 514 or an event that causes collection. The update date and time 516 stores the date and time when the records 511 to 515 were last updated.
[0054] The tenant identification information 511 is linked to any tenant attribute such as industry, size, region, etc. The service identification information 512 is linked to any service attribute such as supply and demand forecast, aggregation plan, production plan, transaction plan, etc. The microservice identification information 513 is linked to any microservice attribute such as forecast, plan, bidding, etc. Instead of linking, the attribute information may be included in the microservice information table 421.
[0055] 5B is a table showing an example of the configuration of the full match / similarity list 422. The main components are combination identification information 521, tenant identification information 522, service identification information 523, tenant identification information 524, service identification information 525, full match / similarity 526, similarity 527, similarity range 528, and update date and time 529. These pieces of information are generated by the control plane 111 as described later, and are updated successively.
[0056] The combination identification information 521 stores information for identifying a combination of services for which a complete match or similarity is to be determined. The tenant identification information 522 stores information for identifying a tenant that is a target for providing one of the services in the service combination identified by the combination identification information 521. The service identification information 523 stores information for identifying a service to be provided to the tenant identified by the tenant identification information 522.
[0057] The tenant identification information 524 stores information for identifying a tenant that is to provide the other service of the service combination identified by the combination identification information 521. The service identification information 525 stores information for identifying a service to be provided to the tenant identified by the tenant identification information 524.
[0058] In the full match / similarity 526, information is stored as to whether the service identified by the service identification information 523 and the service identified by the service identification information 525 are a full match or similar in comparison of output results within a range specified by the similarity range 528. In the similarity 527, information on the similarity between the service identified by the service identification information 523 and the service identified by the service identification information 525 is stored. When the full match / similarity 526 is a "full match", 1.0 is stored. When the full match / similarity 526 is a "similar", a numerical value between 0 and less than 1.0 that indicates the magnitude of the similarity is stored. In the update date and time 529, the date and time when the records 521 to 528 were last updated is stored. The full match / similarity 526 may be omitted and only the similarity 527 may be used.
[0059] 5C is a table showing an example of the configuration of the group information table 423. The main components are group identification information 531, tenant identification information 532, service identification information 533, role 534, similarity range 535, and update date and time 536. These pieces of information are generated by the control plane 111 as described later, and are updated successively.
[0060] The group identification information 531 stores information for identifying a group consisting of similar services. The tenant identification information 532 stores information for identifying a tenant included in the group identified by the group identification information 531. The service identification information 533 stores information for identifying a service provided to the tenant identified by the tenant identification information 532. The role 534 stores information on the role of the tenant identified by the tenant identification information 532 in the group identified by the group identification information 531. The role 534 stores information on "representative" or "member". The similarity range 535 stores information on the similarity range between the service identified by the service identification information 533 and the service of a tenant whose role 534 is "representative". The update date and time 536 stores the date and time when the records 531 to 535 were last updated.
[0061] FIG. 6 is a flowchart showing the flow of processing for verification, group formation of similar services, execution scheduling, and service execution in the multitenant service control method and system using the control middleware 401 of the embodiment.
[0062] In step S601, information about a tenant and a service to be executed for the tenant is registered in the microservice information table 421.
[0063] In step S602, when the multitenant service according to this embodiment is not being executed, for example, during a time interval between execution periods of the multitenant service, the result similarity calculation unit 411 performs a verification process. Details of the verification process are shown in FIG.
[0064] In step S603, group formation, release allocation, and execution scheduling processing (planning processing) is performed. Details of the group formation, release allocation, and execution scheduling processing are shown in FIG.
[0065] If it is possible to start the service execution in step S604 (for example, if the service execution enabling conditions are satisfied), the service execution process is carried out in step S605. Details of the service execution process are shown in Fig. 9. If it is not possible to start the service execution in step S604, the process of step S604 is repeated.
[0066] In a service that should be performed in real time as much as possible, such as an electricity bidding, the service is executed periodically and there is a gap between the cycles. Therefore, steps S602 and S603 can be executed by utilizing the interval between the service cycles.
[0067] 7 is a flowchart showing the flow of a verification process step S602 in which the result similarity calculation unit 411 calculates and judges the similarity of the execution results of the service in the multitenant service control method and system according to the embodiment. This process is conceptually shown in FIG.
[0068] In step S701, the result similarity calculation unit 411 refers to the microservice information table 421 and performs clustering of tenants and services for the tenants based on attributes, etc. In the clustering, services having similar attributes of tenants linked to tenant identification information 511 and services linked to service identification information 512 are grouped by a known means. The following processing is executed for each cluster (group).
[0069] In step S702, two services are selected from one cluster formed in step S701. Each service is identified by a set of tenant identification information 511 of a particular tenant and service identification information 512 of a particular service for that tenant.
[0070] In step S703, the service result data (output (n) in FIG. 3) for the two services selected in step S702 is read from the execution history management unit 415, and the degree of match or similarity is calculated by a known method. Note that a degree of similarity equal to or greater than a predetermined threshold may be regarded as a "match."
[0071] If it is determined that the result is a complete match, then in step S704, information about the service is added to the complete match / similarity list 422 with complete match / similarity 526 set to "complete match" and similarity range 529 set to "all." If it is determined in step S703 that the result is not a complete match for the service selected in step S702, the process proceeds to step S705.
[0072] In step S705, if the process has not been completed for all combinations of services in the cluster, the process repeats steps S702 to S704. In step S705, if the process has been completed for all combinations of services in the cluster, in step S706, two services are selected from the remaining services in the cluster (i.e., the services that are not determined to be "all matches").
[0073] In step S707, a verification process is performed on the service selected in step S706 from the end of the service flow (output (n) in FIG. 3). In step S708, a result similarity at the corresponding point is calculated for the service selected in step S706.
[0074] In step S709, if the result similarity calculated in step S708 is not equal to or greater than the specified threshold, in step S710, the process proceeds to the previous point in the service flow (MS(n-1) in FIG. 3), where execution history management unit 415 reads out the intermediate result (output (n-1) in FIG. 3) from history information 424, and the processes of steps S708 and S709 are repeated. In step S709, if the result similarity calculated in step S708 is equal to or greater than the specified threshold, in step S711, it is determined that the similarity range is from the beginning of the service flow to the relevant point (MS(n-1) in FIG. 3).
[0075] In step S712, the information on the service is added to the complete match / similarity list 422, with the complete match / similarity 526 set to “similar”, the similarity in similarity 527, and the similarity range in similarity range 529. If the similarity is higher than a predetermined level, the complete match / similarity 526 may be displayed as “match”.
[0076] In step S713, if the process has not been completed for all service combinations in the cluster, the process repeats steps S706 to S712. In step S713, if the process has been completed for all service combinations in the cluster, and in step S714, if the process has not been completed for all clusters, the process repeats steps S701 to S713. In step S714, if the process has been completed for all clusters, the process ends.
[0077] For the calculation of the similarity, past service results, such as execution results immediately before, at the same time the previous day, or at the same time the previous year, are retrieved from the history information 424. It is preferable to use history information with as similar conditions as possible. For example, information on seasons, weather, events, etc. may be included in the history information 424, and information with similar conditions may be selected and used.
[0078] FIG. 8 is a flowchart showing the flow of group formation, resource allocation, and execution scheduling step S603 in which the similarity group management unit 412 forms groups based on similarity and the resource allocation and execution scheduling unit 413 performs resource allocation and execution scheduling in the multitenant service control method and system according to the embodiment.
[0079] In S801, the similar group management unit 412 refers to the complete match / similarity list 422. In S802, several representative tenants and services are selected. Here, by referring to the complete match / similarity list 422, for example, a tenant with the largest number of other tenants whose complete match / similarity 526 for the service is "complete match", or a tenant with the largest number of other tenants whose complete match / similarity 526 is "similar" is selected as the representative tenant.
[0080] Alternatively, the representative tenant may be a service flow with the largest number of other service flows having a final output that matches the final output of a specific service flow. Alternatively, the representative tenant may be a service flow with the largest number of other service flows having a similar range to a specific service flow. In short, the representative tenant is the one with the largest number of tenants having an output similar to itself.
[0081] For example, if there are many pairs of tenants and services that are a complete match (or a complete match and similarity) for the tenant identification information tnt_1 and the service identification information srvA in the first row of the complete match / similarity list 422 in Fig. 5B, the tenant with the tenant identification information tnt_1 becomes the representative tenant. The representative tenant is recorded in the group information table 423. For example, the tenant with the tenant identification information tnt_1 is recorded with the role of representative together with the corresponding service identification information srvA (see the first row in Fig. 5C).
[0082] In S803, the similar group management unit 412 refers to the full match / similarity list 422. For each similarity range for the representative tenant selected in S804, tenants whose full match and result similarity 527 are equal to or greater than a threshold are set as members of the group of the representative tenant.
[0083] For example, when the tenant of tenant identification information tnt_1 in FIG. 5B becomes the representative tenant, if the similarity 0.95 of the output of MS(n-2) of service identification information srvA″ of the tenant of tenant identification information tnt_4 is equal to or greater than a threshold, the tenant of tenant identification information tnt_4 becomes a member of the group with a similarity range of ∼n-2. The member tenants are recorded in group information table 423 in FIG. 5C. For example, the tenant of tenant identification information tnt_4 is recorded together with the corresponding service identification information srvA″, the role of member, and the similarity range (see the fourth row in FIG. 5C). Note that only those whose similarity range is equal to or greater than a predetermined threshold may be left as members.
[0084] If the processing has not been completed for all similarity ranges in S805, the similarity group management unit 412 repeats the processing of S804. If the processing has been completed for all similarity ranges in S805 and the processing has not been completed for all tenant and service pairs in S806, the similarity group management unit 412 repeats the processing of S803 to S805.
[0085] In S806, if the processing has been completed for all tenant and service pairs, or in S807, if the processing has not been completed for all representative tenants, the similar group management unit 412 repeats the processing from 803 to 806. In S807, if the processing has been completed for all representative tenants, in S808, information on the data collection period and implementation status for each service is obtained from the microservice information table 421.
[0086] In S809, the resource allocation and execution scheduling unit 413 refers to the group information table 423 and creates an execution schedule and allocates resources for service execution to each group. In this way, by the time the next cycle of the power service starts, the execution timing of the service of each group is adjusted and resources for the execution are allocated by referring to the acquisition timing of input data for each service, etc.
[0087] In the schedule, members having a similarity range to the representative tenant's service share the final result of the representative tenant's service or the output of a microservice in the middle of processing. For example, the tenant with tenant identification information tnt_2 in the second line of FIG. 5C shares the final result of the representative tenant with tenant identification information tnt_1 as is. The tenant with tenant identification information tnt_3 in the third line receives the output of the representative tenant's microservice MS(n-1) and uses it as input for microservice MS(n). Resource allocation for service execution and creation of an execution schedule may be performed using conventional techniques except for applying the above group concept.
[0088] 9 is a flowchart showing the flow of the service execution process S605 by the service flow execution management unit 414 in the multitenant service control method and system according to the embodiment. The service execution process is conceptually shown in FIG.
[0089] In step S901, the service flow execution management unit 414 starts a group according to the schedule created in the group formation, resource allocation, and execution scheduling step S603.
[0090] In S902, the service processing start conditions are compared between the representative tenant and the members in each group. The service processing start conditions here include the contents of input data to the microservice, the timing of acquiring the input data, the execution status of related facilities and services, and the like.
[0091] In S903, if the result of S902 shows that there is no match, in S904, all microservices of the member are deemed to require execution (in the case of group 1 (231) in FIG. 2). In S903, if the result of S902 shows that the service processing start conditions match, in S905, at least some of the microservices of the member are deemed not to require execution (in the case of group m (232) in FIG. 2). Only the execution results of the microservices of the representative tenant are shared with tenants to which microservices that are deemed not to require execution are applied.
[0092] In S906, if the processing has not been completed for all members, the processing from S902 to S905 is repeated. In S906, if the processing has been completed for all members, in S907, the flows of all microservices of the representative tenant and the microservices of the members that need to be executed are started.
[0093] In S908, it is confirmed that one step of the service flow of the representative tenant started in S907 has ended, and the execution result is obtained. In S909, if there is a member whose similarity range ends in that step, in S910, the execution result of the microservice of that step in the representative tenant is provided to that member.
[0094] For example, if the final result of the service flow of the representative tenant matches the final result of the service flow of another tenant belonging to the same group, the other tenant does not execute the service flow, but receives the final result of the service flow of the representative tenant and outputs it as the execution result of the service flow of the other tenant. Also, for example, in FIG. 2, in S908, it is confirmed that the microservice MS(n-1) of the representative tenant of group m (232) has ended, and the output (n-1) is obtained. In S909, if there is a member 2 whose similarity range ∼n-1 ends in that step, in S910, the output (n-1), which is the execution result of the microservice MS(n-1) of that step in the representative tenant, is input to the next microservice MS(n”) of that member 2.
[0095] In S911, the remainder of the service flow of the member is started. In the above example, the next microservice MS(n") of member 2 is started.
[0096] In S909, if there is no member at which the similarity range ends in this step, proceed to processing in S912. In S912, if all steps of the service flow have not been completed, repeat the processing from S908 to S911. In S912, if all steps of the service flow have been completed, and in S913, if processing has not been completed for all groups, repeat the processing from S901 to S912. In S913, if processing has been completed for all groups, end this processing.
[0097] The service flow execution management unit 414 manages the resources of the cloud system 101 as described above, and for microservices that output the same or similar results, the results are shared between services, making it possible to reduce resource consumption.
[0098] In the above embodiment, in order to reduce the computational load of periodic execution (forecasting, planning, bidding) for electricity market trading targeting multiple tenants, we have shown an example of reducing the amount of computation by clustering tenants, calculating service similarity for each cluster, forming similarity groups of tenant services, and calculating periodic execution on a similarity group basis.
[0099] A tenant corresponds to a computer on the cloud owned by each customer (e.g., an aggregator, a battery storage business operator, a power generation business operator, or other entity that conducts electricity market transactions), and the effect of reducing the amount of calculations on the computer can be confirmed, for example, by monitoring the CPU load of the computer on the cloud.
[0100] As described in detail above, in a system that provides electricity services such as electricity supply and demand forecasts, aggregation plans or power generation plans, and electricity market trading to multiple tenants (business operators), when electricity service processing is periodically executed simultaneously for multiple, numerous multi-tenants (business operators), in order to ensure and maintain performance for the periodic simultaneous execution of electricity services for a large and increasing number of tenants, it is possible to minimize the computational load and keep resource usage within a certain range, rather than increasing resource usage one after another.
[0101] According to the above embodiment, efficient use of cloud systems can be realized, which reduces energy consumption for calculations, reduces carbon emissions, prevents global warming, and contributes to the realization of a sustainable society. [Explanation of symbols]
[0102] Cloud system 101, control plane 111, control middleware 401, container 431, microservice 432, result similarity calculation unit 411, similar group management unit 412, resource allocation and execution scheduling unit 413, service flow execution management unit 414, execution history management unit 415, data communication unit 416, microservice information table 421, full match and similarity list 422, group information table 423, history information 424
Claims
1. 1. A method for controlling a multi-tenant service, comprising: using information processing resources to execute a service flow, which is a single power service for one tenant, and periodically and in parallel executing a plurality of the service flows, which are a plurality of power services for a plurality of the tenants; A verification processing unit, a planning unit, and an execution management unit are formed using an information processing device having an input device, an output device, a processing device, and a storage device; a first step in which the verification processing unit determines a similarity between execution results of a plurality of the service flows; a second step in which the planner forms a group of the service flows based on the similarity, and allocates the information processing resources to the group and schedules the execution of the service flows; a third step in which the execution management unit executes a service flow that is a representative tenant in the group based on an execution schedule of the service flow, and causes an execution result of the service flow of the representative tenant to be used in other service flows that belong to the same group; A multi-tenant service control method that performs the above.
2. The service flow is composed of one or more microservices, and the microservices are executed sequentially. The multi-tenant service control method according to claim 1.
3. The first step includes: Step 1-1 of determining a similarity from the execution results of the microservices at the end of the two service flows; Step 1-2: if the similarity in step 1-1 is equal to or greater than a predetermined threshold, the similarity range of the two service flows is set to the last microservice; If the similarity in step 1-1 is less than a predetermined threshold, step 1-3 executes step 1-1 with the previous microservice as the last microservice; Including, By repeating steps 1-1 to 1-3, a similarity range between the two service flows is determined. The multi-tenant service control method according to claim 2.
4. The second step includes: Step 2-1 of selecting a predetermined service flow as the representative tenant; A step 2-2 of forming a group of service flows having the similarity range with respect to the predetermined service flow as members belonging to the representative tenant; Including, The multi-tenant service control method according to claim 3.
5. The step 2-1 is selecting, as the representative tenant, a service flow having the largest number of other service flows having a final output matching the final output of the given service flow, or a service flow having the largest number of other service flows having the similarity range to the given service flow; The multi-tenant service control method according to claim 4.
6. The first step and the second step include: The service flow is executed at a timing between executions of the service flow, which are periodically executed; Executing the third step in the next service flow. The multi-tenant service control method according to claim 1.
7. The third step includes: Step 3-1 includes executing a service flow that is a representative tenant in the group, and using the execution result of the service flow of the representative tenant in the similarity range determined in step 1-2 in the remaining service flows as the execution result of the similarity range of the members belonging to the same group. The multi-tenant service control method according to claim 4.
8. The third step includes: A step 3-2 of comparing a processing start condition of the service flow of the representative tenant and a processing start condition of the service flow of the member in the group; Step 3-3 includes executing all the service flows of the members whose processing start conditions do not match, and executing only a part of the service flows of the members whose processing start conditions match, and using the execution results of the service flows of the representative tenant in the service flows of the members whose processing start conditions match; The multi-tenant service control method according to claim 4.
9. A system for controlling a multi-tenant service, which uses information processing resources to periodically and in parallel execute a plurality of service flows, each of which is a plurality of power services for a plurality of tenants, when executing a service flow, each of which is a single power service for a single tenant, the system comprising: A verification processing unit, a planning unit, and an execution management unit are formed using an information processing device having an input device, an output device, a processing device, and a storage device; The verification processing unit determines a similarity between execution results of the plurality of service flows; the planning unit forms a group of the service flows based on the similarity, and allocates the information processing resources to the group and schedules the execution of the service flows; the execution management unit executes a service flow that is a representative tenant in the group based on an execution schedule of the service flow, and causes an execution result of the service flow of the representative tenant to be used in other service flows that belong to the same group; Multi-tenant service control system.
10. The service flow is composed of one or more microservices and executes the microservices sequentially; The verification processing unit: Step 1-1 of determining a similarity from the execution results of the microservices at the end of the two service flows; Step 1-2: if the similarity in step 1-1 is equal to or greater than a predetermined threshold, the similarity range of the two service flows is set to the last microservice; If the similarity in step 1-1 is less than a predetermined threshold, step 1-3 executes step 1-1 with the previous microservice as the last microservice; Run By repeating steps 1-1 to 1-3, a similarity range between the two service flows is determined. The multi-tenant service control system according to claim 9.
11. The planning unit Step 2-1 of selecting a predetermined service flow as the representative tenant; A step 2-2 of forming a group of service flows having the similarity range with respect to the predetermined service flow as members belonging to the representative tenant; Run The step 2-1 is The method is configured to select, as the representative tenant, a service flow having the largest number of other service flows having a final output matching the final output of the predetermined service flow, or a service flow having the largest number of other service flows having the similarity range to the predetermined service flow. The multi-tenant service control system of claim 10.
12. The execution management unit is execute step 3-1, in which a service flow that is a representative tenant in the group is executed, and the execution result of the service flow of the representative tenant within the similarity range determined in step 1-2 is used in the remaining service flows as the execution result of the similarity range of the members that belong to the same group; The multi-tenant service control system of claim 11.
13. The execution management unit is A step 3-2 of comparing a processing start condition of the service flow of the representative tenant and a processing start condition of the service flow of the member in the group; Executing step 3-3, which executes all the service flows of the members for which the processing start condition does not match, and executes only a part of the service flows of the members for which the processing start condition matches, and uses the execution results of the service flows of the representative tenant in the service flows of the members; The multi-tenant service control system of claim 11.
14. An electric power service providing system including a multi-tenant service system and a multi-tenant service control system, The multi-tenant service system includes: using information processing resources, when executing a service flow that is one power service for one tenant, periodically and in parallel execute a plurality of the service flows that are a plurality of the power services for a plurality of the tenants; The multi-tenant service control system includes: A verification processing unit, a planning unit, and an execution management unit are formed using an information processing device having an input device, an output device, a processing device, and a storage device; The verification processing unit determines a similarity between execution results of the plurality of service flows; the planning unit forms a group of the service flows based on the similarity, and allocates the information processing resources to the group and schedules the execution of the service flows; the execution management unit executes a service flow that is a representative tenant in the group based on an execution schedule of the service flow, and causes an execution result of the service flow of the representative tenant to be used in other service flows that belong to the same group; Electricity service provision system.
Citation Information
Patent Citations
Multi-tenant type service system, information processing device, control method, and program
JP2014106728A