Enterprise application cloud deployment resource allocation method and system based on combined auction mechanism

By adopting a resource allocation method based on a combination auction mechanism among cloud service providers, the problem of cloud service providers' inefficient resource allocation in enterprise application cloud deployment is solved, and higher resource utilization and allocation efficiency are achieved, increasing the benefits of cloud service providers.

CN119621319APending Publication Date: 2025-03-14YANSHAN UNIV
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411693874.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-25
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

Existing cloud service providers adopt fixed allocation and pricing methods in enterprise application cloud deployment resource allocation, unable to effectively configure virtual machine instances, and unable to price according to users' dynamic resource needs, resulting in low economic efficiency.

Method used

The enterprise application cloud deployment resource allocation method based on the combined auction mechanism is adopted. By establishing an integer linear planning formula, the enterprise application to be allocated and its corresponding virtual machine instances are determined, and cloud resources are dynamically allocated and priced to consider the needs of enterprise applications and the retention price of the enterprise application.

Benefits of technology

It improves cloud resource utilization and allocation efficiency, increases the benefits of cloud service providers, and realizes flexibility and economicality in complex allocation environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119621319A_ABST
    Figure CN119621319A_ABST
Patent Text Reader

Abstract

The invention relates to an enterprise application cloud deployment resource allocation method based on a combined auction mechanism. The method is used for solving the problem that virtual machine instances cannot be effectively configured in the prior art. The method comprises the steps that cloud service providers are regarded as sellers, enterprise applications are regarded as buyers, and a 0-1 integer linear programming formula of a cloud deployment resource allocation problem is established for multiple enterprise applications and a single cloud service provider based on a combined auction mechanism; and solving the cloud deployment resource allocation problem, and determining an optimal combination of the enterprise applications to which the cloud deployment resources are to be allocated and different types of virtual machine instances to be allocated for each enterprise application. According to the method, when the virtual machine instance is dynamically allocated to the application component deployed to the cloud by the enterprise, the demand change of the enterprise application is considered, and the reservation price and winner determination method is also considered, so that higher income can be brought to the cloud service provider, and the user experience is improved. And the purpose of improving the cloud resource utilization rate and the distribution efficiency in a complex distribution environment can be achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of cloud deployment technology, and in particular to a method and system for allocating enterprise application cloud deployment resources based on a combinatorial auction mechanism. Background Art

[0002] Enterprise applications are important tools to support daily operations and business development of enterprises. Deploying enterprise applications can realize centralized storage and management of data, which helps enterprises better grasp business data, conduct data analysis and mining, and provide support for decision-making. In traditional enterprise application deployment scenarios, enterprises generally deploy and manage their applications and IT infrastructure by building their own computer rooms. According to their business needs and technical requirements, they highly customize the hardware, network, storage and computing resources of the computer room. In terms of long-term operation and maintenance, self-built computer rooms may provide more direct control and more flexible resource allocation, and to a certain extent, generate higher cost-effectiveness, especially when enterprises have large amounts of data and computing needs. However, traditional enterprise application deployment methods also have many problems, such as difficulty in ensuring data security, complex deployment and difficult operation and maintenance, high difficulty in location restrictions, poor scalability and flexibility, and high operation and maintenance costs.

[0003] Cloud deployment is the process of deploying an enterprise's application software, data or other IT resources in the cloud based on cloud computing technology. It has the advantages of flexibility, scalability, efficiency, reliability, innovation and security. By deploying their own applications on the cloud and obtaining infrastructure as a service in cloud computing on a pay-as-you-go basis, enterprises can reduce the initial investment costs of hardware and software and their own operation and maintenance costs. Through cloud deployment, enterprises can also quickly and flexibly obtain and use the required computing resources, improve the operating efficiency and response speed of the enterprise, and enhance the flexibility and innovation of the business.

[0004] In the resource allocation scenario of enterprise application cloud deployment, cloud service providers use virtualization technology to provide their underlying resources, such as cores and memory, to enterprise applications in the form of virtual machine instances, which are hosted by physical machines to generate revenue. Currently, most cloud service providers use a fixed allocation and pricing method, which cannot effectively configure virtual machine instances and cannot be priced according to users' dynamic resource needs. It is economically inefficient. How to reasonably allocate and price these virtual machine instances has become a challenging problem that needs to be solved by cloud service providers. Summary of the invention

[0005] The purpose of this case is to provide an enterprise application cloud deployment resource allocation and pricing method based on a combinatorial auction mechanism, which can achieve the goal of improving cloud resource utilization and allocation efficiency in a complex allocation environment, and can also bring higher profits to cloud service providers.

[0006] On the first aspect, this case proposes a method for allocating enterprise application cloud deployment resources based on a combinatorial auction mechanism, the method comprising the following steps: the cloud service provider uses a combinatorial auction mechanism to establish a 01 integer linear programming formula for the cloud deployment resource allocation problem based on resource requests submitted by enterprise applications, and determines the enterprise application to be allocated and its corresponding virtual machine instance by solving the 01 integer linear programming formula; wherein the virtual machine instance is a virtual machine with different types of computing resources and storage resources configured using virtualization technology.

[0007] In one implementation of the above technical solution, the 01 integer linear programming formula of the cloud deployment resource allocation problem is as follows:

[0008] max U=max∑ i∈I a i pay i -∑ r∈R CR r ∑ i∈I a i k ir

[0009]

[0010] In the formula, a i is the decisive variable. If enterprise application i obtains resources and becomes the winner, then a i =1, otherwise a i =0; b i The maximum price that an enterprise application is willing to pay to obtain the resources it needs; CR r is the running cost of resource type r on the virtual machine, which is a set constant; c pr The available amount of resource type r provided to physical machine p; i is the enterprise application identifier; k ir is the demand of enterprise application i for resource type r; m is the virtual machine type identifier; o m is the reserved price of virtual machine type m; pay i is the price that winner i needs to pay to the cloud service provider; p is the physical machine identifier; r is the resource type identifier; t im is the number of virtual machines of type m required by enterprise application i; U is the profit of the cloud service provider, w mr The amount of resources of resource type r provided to virtual machine type m; x pm is a temporary variable, indicating the number of virtual machines of type m provided on the physical machine p; Z + is a positive integer; R is a resource set, PM is a physical machine set, VM is a virtual machine instance set, I is an enterprise application set, max means maximization, and st means limited by.

[0011] In one implementation of the above technical solution, when solving the problem, first determine the candidate winners from all enterprise applications and determine the candidate allocation positions, then control the minimum bid specified by the cloud service provider, determine the candidate winner whose payment difference between the highest price and the lower limit is less than the minimum bid as the winner, and allocate virtual machine instances to them according to their corresponding candidate allocation positions; wherein, the steps of determining the candidate winners from all enterprise applications and determining the candidate allocation positions include: for all enterprise applications, using the formula Calculate the bidding density of the ith enterprise application, sort the enterprise applications in the enterprise application set according to their bidding density in descending order, obtain the enterprise application ranking, sort the virtual machine types in descending order according to the total amount of resources they can provide, and obtain the virtual machine type ranking; take the first enterprise application in the enterprise application ranking as the current enterprise application; mark S100: take the first virtual machine type in the virtual machine type ranking as the current virtual machine type m; mark S200: for the current virtual machine type m, sort the physical machines in ascending order according to the degree of matching between the resource vectors provided by them and the resource vectors that can be used by each physical machine, and obtain the physical machine ranking; obtain the number of requirements of the current enterprise application for the current virtual machine type, and judge the relationship between the remaining resources of each resource type r on each physical machine in the physical machine ranking and the resource amount of the resource type r provided by the current virtual machine type in turn. If a physical machine p is found, The remaining resources of each resource type r on it can satisfy the resource quantity w of resource type r provided by the current virtual machine type mr , then the remaining resources of each resource type r on the physical machine p pass Update, record the current enterprise application as the candidate winner, and determine the candidate allocation position of its index position on the physical machine p through the binary insertion method; obtain the next virtual machine type from the virtual machine type sort as the current virtual machine type m, return mark S200, until all virtual machine types in the virtual machine type sort are traversed, obtain the next enterprise application from the enterprise application sort as the current enterprise application, return mark S100, until all enterprise applications are traversed.

[0012] In one implementation of the above technical solution, before calculating the bidding density, all enterprise applications i are traversed and the formula rp is used. i =∑ m∈VM t im o m Calculate the reservation price of each enterprise application i, if rp i Less than the highest price b that enterprise application i is willing to pay to obtain the resources it needs i , then delete it from enterprise application set I.

[0013] In one implementation of the above technical solution, the formula H(m, p)=||scaler(c p )-scaler(w m )||2 Calculate the matching degree between the resource vector provided by the virtual machine m∈VM and the resource vector available to each physical machine p∈PM, where scaler(c p ) is to scale the resource vector that can be used by the physical machine p, scaler(w m ) is the scaling of the resource vector provided by virtual machine m, and || ||2 represents the L2 norm, which is used to calculate the distance between two vectors.

[0014] In one implementation of the above technical solution, for an enterprise application that is a candidate winner but has not been confirmed as the winner, the maximum price it pays to obtain the resources it needs is adjusted, and the candidate winner is re-determined.

[0015] In one implementation of the above technical solution, one way to implement the adjustment is to make the maximum price paid by the enterprise application half of the sum of the original maximum price and the payment lower limit.

[0016] On the second aspect, the present case proposes a computer-readable storage medium, characterized in that it stores a computer program that can be loaded by a processor and execute any of the above methods.

[0017] On the third aspect, this case implements a corresponding enterprise application cloud deployment resource allocation system based on a combinatorial auction mechanism according to any of the above methods.

[0018] Beneficial technical effects of this case: When dynamically allocating virtual machine instances for application components deployed by enterprises on the cloud, the disclosed technical solution takes into account both the demand changes of enterprise applications and the method of reserving prices and determining winners. It can not only bring higher profits to cloud service providers, but also achieve the goal of improving cloud resource utilization and allocation efficiency in complex allocation environments. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0020] Figure 1 A flowchart of a method for determining a winner based on virtual machine allocation and virtual machine provision is provided.

[0021] Figure 2Schematic diagram of the payment price algorithm flow for enterprise applications.

[0022] Figure 3 Schematic diagram of resource allocation architecture for enterprise application cloud deployment based on combinatorial auction mechanism.

[0023] Figure 4 Schematic diagram of user payments and cloud service provider revenue.

[0024] Figure 5 This is a diagram showing the usage of virtual machines.

[0025] Figure 6 This is a diagram showing the relationship between virtual machines and physical machines.

[0026] Figure 7 This is a diagram showing the relationship between virtual machines and users. DETAILED DESCRIPTION

[0027] For parameter meanings, see Table 1.

[0028] Table 1

[0029]

[0030]

[0031]

[0032] In economics, auctions are a means to improve the efficiency of social resource allocation, especially combinatorial auctions, which are most suitable for solving the problem of virtual machine allocation and pricing in the cloud. In combinatorial auctions, buyers bid for a group of items, especially when the items required by buyers are complementary to each other, combinatorial auctions can more effectively express their valuations.

[0033] In the scenario of resource allocation for enterprise application cloud deployment based on combinatorial auction mechanism, cloud service provider is regarded as a single seller and enterprise applications as multiple buyers. Buyers submit resource requests and bids to sellers. Sellers sort them by calculating the bid density, determine the winning buyer, provide resources to the buyer and charge corresponding fees to obtain benefits. However, the winner determination problem of combinatorial auction is an NP-Hard problem, and it is difficult to solve such a problem involving a large number of buyers and resources.

[0034] Based on this, the present disclosure proposes an enterprise application cloud deployment resource allocation (CAA-EACDRAP) algorithm based on a combinatorial auction mechanism. The algorithm mechanism adopts a combinatorial auction method to enable cloud service providers to flexibly allocate virtual machine instances according to the different needs of users, and to set prices based on the bidding behavior of enterprise applications, thereby improving the efficiency and economy of resource allocation. In addition, the algorithm mechanism takes into account both the changes in demand for enterprise applications and the methods for determining the reservation price and the winner, and proves its authenticity (ensuring that buyers maximize their utility only by bidding on the true valuation of the required VM package). The application of this method mechanism will bring new solutions and methods to the problem of resource allocation for enterprise application cloud deployment, and provide valuable references for research and practice in the field of cloud computing.

[0035] The method disclosed in this invention is Figure 1 and Figure 2 The method flow shown is based on Figure 3 The enterprise application cloud deployment resource allocation architecture based on the combinatorial auction mechanism is shown.

[0036] See also Figure 3 The resource allocation architecture for enterprise application cloud deployment based on combinatorial auction mechanism includes multiple enterprise applications and a cloud service provider, with enterprise applications as buyers and cloud service providers as sellers. Enterprise applications submit virtual machine (VM) resource request packages and bids to the cloud service provider (indicated by the black lines in the figure), and the winner is determined from these enterprise applications based on the combinatorial auction mechanism. The cloud service provider configures virtual machines based on physical machines (PMs) (indicated by the blue lines in the figure), and provides the configured virtual machine resources to the winning enterprise application through virtual machine allocation (indicated by the orange lines in the figure), and obtains revenue from it. The enterprise application pays the price (indicated by the green lines in the figure).

[0037] The virtual machine resource request requirements of the above enterprise applications can be provided by different physical machines.

[0038] The above process involves an enterprise application cloud deployment resource allocation problem (EACDRAP) based on combinatorial auction; a winner determination method; and a buyer payment method.

[0039] 1. EACDRAP

[0040] Virtualization technology allows cloud service providers to configure computing resources and storage resources into almost all combinations of different types of virtual machines, and provide resources to cloud buyers in the form of virtual machine instances. Virtual machine allocation algorithms mainly involve the allocation and management of virtual machine resources. Especially in a multi-virtual machine environment, how to reasonably and effectively allocate resources such as CPU, memory, and storage is crucial. Therefore, the best combination of different types of virtual machine instances can be determined through a combinatorial auction mechanism, and then dynamically and effectively allocated to cloud buyers. In EACDRAP based on combinatorial auctions, cloud service providers are considered as a single seller, and enterprise applications are considered as multiple buyers. Enterprise applications submit their virtual machine instance resource requirements and the highest price they are willing to pay to cloud service providers.

[0041] The set of resource types provided by the cloud service provider is R = {1, 2, ... R}, and each resource type r∈R. The set of physical machines is PM = {1, 2, ... P}, and the virtual machine resource vector provided by physical machine p∈PM is c p =(c p1 , c p2 , ...c pR ), where c pr The available amount of resource type r provided to physical machine p is assumed to be fixed. Enterprise applications request virtual machine instances from cloud service providers. Physical machines in the cloud convert their underlying resources into virtual machine instances for enterprise applications to use. The set of virtual machine instances is denoted as VM = {1, 2, ...M}. Each type of virtual machine m∈VM uses 8 virtual machine types provided by Microsoft Azure, as shown in Table 2. The resource vector provided by each type of virtual machine m is denoted as (w m1 , w m2 , ...w mR ), where w mr The amount of resources of resource type r provided to virtual machine type m.

[0042] Table 2 Microsoft Azure virtual machine types

[0043]

[0044]

[0045] The enterprise application set is I = {1, 2, ..., N}, and enterprise application i∈I. Enterprise application i submits resource request θ i =(t i , b i ) requests a virtual machine instance from a cloud service provider, where t i =(t i1 , t i2,...t iM ) is the virtual machine demand vector, t im is the number of virtual machines of type m required by enterprise application i, b i is the maximum price that enterprise application i is willing to pay to obtain the resources it needs. For example, enterprise application i submits a resource request to a cloud service provider θ i =((2,0,1,0,0,0,0,1),20), which means that enterprise application i needs 2 instances of type VM1, 1 instance of type VM3, and 1 instance of type VM8, and its maximum willingness to pay is 20 currency units.

[0046] Remember K i =(k i1 , k i2 , ...k iR ) is the resource demand vector of enterprise application i, where k ir The demand for resource type r for enterprise application i:

[0047]

[0048] Without loss of generality, assume that k ir >0,

[0049] The operating cost of the virtual machine is CR (CR is a constant), which can reduce the loss of the cloud service provider when the enterprise application demand is very low or the bid is too low. m ) is the reservation price vector of the virtual machine, where o m is the reservation price of virtual machine type m, calculated using the following formula:

[0050] o m =∑ r∈R CR r ∑ m∈VM w mr (2)

[0051] That is, the lowest price that the cloud service provider can accept for the virtual machine. Usually, the bid submitted by the buyer to the seller cannot be lower than its reserve price, that is, b i ≥o m ≥0.

[0052] Remember to pay i is the price that winner i needs to pay to the cloud service provider. In order to protect the interests of the cloud service provider, there is a pay i ≥o m ≥0. In general, the bid price proposed by the buyer does not exceed the highest price he is willing to pay, so there is a pay i ≤ b i . Let ai is the decisive variable. If enterprise application i obtains resources and becomes the winner, then a i =1, otherwise a i = 0. Given a specific determinant variable and payment, the profit of the cloud service provider is:

[0053] U=∑ i∈I a i pay i -∑ r∈R CR r ∑ i∈I a i k ir (3)

[0054] The first term of formula (3) represents the revenue of the cloud service provider, and the second term represents the operating cost of resource type r allocated by the cloud service provider to the enterprise application.

[0055] The utility of enterprise application i is defined as:

[0056]

[0057] In the formula, is the real bid of enterprise application i (i∈I), pay i The actual price paid by enterprise applications. The goal of enterprise applications is to maximize their utility, so they may submit different VM resource requirements and prices they are willing to pay.

[0058] The 0-1 integer linear programming formula (0-1 ILP-HPMRM) of the EACDRAP problem is constructed as:

[0059] max U (5)

[0060]

[0061] where x pm It is a temporary variable, indicating the number of virtual machines of type m provided on the physical machine p.

[0062] Formula (5) indicates that the objective function is to maximize the revenue of the cloud service provider.

[0063] Constraint (6) ensures that the number of virtual machines of type m obtained by all winners i on each physical machine p is equal to the number of virtual machines of type m provided on the physical machine p.

[0064] Constraint (7) ensures that the total amount of each resource type r allocated on each physical machine p is no greater than the total amount of resources c provided by the physical machine PM. pr .

[0065] Constraint (8) ensures that the number of virtual machines m provided by each physical machine p is non-negative.

[0066] Constraint (9) is to ensure that the payment amount pay of enterprise application i i Not higher than its maximum estimated price b for the requested resource i , that is, to ensure that the utility of enterprise applications is not negative.

[0067] Constraint (10) is to ensure that the deterministic variable a i The value can only be 0 or 1.

[0068] (II) Method for determining the winner

[0069] Based on the above EACDRAP, a winner determination method based on virtual machine allocation and virtual machine provision is proposed to determine the enterprise application that can obtain the required resources. The winner determination method based on virtual machine allocation and virtual machine provision includes the following steps.

[0070] Step A1, traverse all enterprise applications in enterprise application set I, using formula rp i =∑ m∈VM t im o m Calculate the reservation price of the i-th enterprise application.

[0071] Determine the reservation price rp of the i-th enterprise application i Is it less than the highest price b that the i-th enterprise application is willing to pay to obtain the resources it needs? i .

[0072] If rp i Less than b i In order to protect the interests of the cloud service provider, the participation of the i-th enterprise application is excluded and the i-th enterprise application is deleted from the enterprise application set I.

[0073] Step B1, traverse all enterprise applications in enterprise application set I, using formula Calculate the bidding density of the i-th enterprise application.

[0074] Bidding density is an indicator that measures how much an enterprise application bids for each average allocation unit. If the enterprise application is willing to pay a higher price and requires fewer resources, its bidding density is higher, which means it is more favorable to the cloud service provider and can obtain higher profits by using fewer resources.

[0075] Enterprise applications i are sorted in descending order according to their bidding density so that enterprise applications with high bidding density can be allocated preferentially using a greedy strategy.

[0076] Step C1: sort the virtual machine types according to the total amount of resources they can provider∈R w mr In descending order, that is, combined with step B1, the algorithm prioritizes the allocation of enterprise applications with high bidding density, and for each enterprise application, the total amount of resources ∑ r∈R w mr Large virtual machine.

[0077] A key point in the winner determination method is the need to establish an efficient mapping between the virtual machines required by enterprise applications and the virtual machines m∈VM provided by the physical machines p∈PM. Since the model considers the multi-mapping problem between the virtual machines required by enterprise applications and the virtual machines on heterogeneous physical machines, the matching value is used here to measure the matching degree between the virtual machine resources and the available resources of the physical machine. Let H(m, p) be the matching degree between the resources provided by the virtual machine m∈VM and the available resources of the physical machine p∈PM. Traverse all virtual machines m in the virtual machine set VM and use the formula H(m, p) = ||scaler(c p )-scaler(w m )||2 Calculate the matching degree between the resources provided by the virtual machine m∈VM and the available resources of the physical machine p∈PM. p ) is to scale the available resource vector of physical machine p, scaler(w m ) is the scaling process for the resource vector provided by the virtual machine m, and || ||2 represents the L2 norm (also called the Euclidean norm or Euclidean distance), which is used to calculate the distance between two vectors.

[0078] Step D1, traverse all enterprise applications in the enterprise application set I, set the virtual machine mapping vector x = 0, and store the virtual machine resource vector c provided by the physical machine p∈PM in the transition physical machine resource vector In

[0079] The first enterprise application in the enterprise application sequence is used as the current enterprise application.

[0080] Mark S100: The first virtual machine type in the virtual machine type sequence is used as the current virtual machine type m.

[0081] Marking S200: for the current virtual machine type m, the physical machines are sorted in ascending order according to the matching degree between the resource vector provided by the virtual machine and the resource vector that can be used by each physical machine, so as to obtain the physical machine sorting.

[0082] Step E1, obtain the number of requirements of the current enterprise application for the current virtual machine type, define the intermediate variable pp, and assign it to false, then determine the relationship between the remaining resources of each resource type r on each physical machine in the physical machine sorting and the resource amount of resource type r provided by the current virtual machine type. The remaining resources of resource type r on the physical machine p and the amount of resources w of resource type r provided by the current virtual machine type m mr The size is satisfactory Let the temporary variable be the number x of virtual machines of type m provided on physical machine p pm =x pm +1, and update the element value of the transition physical machine resource vector At this time, the amount of the r∈Rth resource of the physical machine p∈PM changes. The physical machine p∈PM is inserted into the appropriate position in the physical machine set PM by binary insertion to obtain the physical machine index, and the physical machine index is used as the candidate allocation position, and the intermediate variable pp is updated to true.

[0083] Determine whether the value of the intermediate variable pp is true. If pp == true, the available amount of physical machine resources after the virtual machine resource allocation is completed is obtained. and the virtual machine mapping vector x; if pp == false, it means that no suitable physical machine space is found for the virtual machine, and a null value 0 is returned.

[0084] Determine whether the virtual machine mapping vector x is a null value. If x≠0, the current enterprise application obtains resources and becomes the candidate winner. If its corresponding enterprise application identifier is i, then the decisive variable a i =1, otherwise, a i =0.

[0085] The next virtual machine type is obtained from the virtual machine type sort as the current virtual machine type m, and the mark S200 is returned until all virtual machine types in the virtual machine type sort are traversed, and the next enterprise application is obtained from the enterprise application sort as the current enterprise application, and the mark S100 is returned until all enterprise applications are traversed.

[0086] (III) Buyer’s payment method

[0087] The buyer payment algorithm is implemented as follows:

[0088] Step A2: traverse all enterprise applications i in the enterprise application set I and determine the determinant variable a i Is it equal to 1? If a i =1, then traverse all virtual machines m in the virtual machine set VM and use the formula rp i =∑m∈VM t im o m Calculate the lower limit of the payment price of enterprise application i, and let the payment lower limit of enterprise application i be pay min =rp i , let the payment limit of enterprise application i be pay max =bi, where b i is the maximum price that enterprise application i is willing to pay to obtain the resources it needs. i = 0, then the winner i needs to pay the price pay to the cloud service provider i =0.

[0089] Step B2, define b min is the iteration termination factor, b min Set the minimum bid price specified by the cloud service provider. max -pay min <b min is the loop termination condition. If the iteration process does not meet the loop termination condition, b i =(pay max +pay min ) / 2Calculate the maximum price b that enterprise application i is willing to pay to obtain the resources it needs i , bring it into the "Method for determining the winner based on virtual machine allocation and virtual machine provision" to determine the decisive variable a i Is it equal to 1? If a i =1, then let pay max =b i , otherwise, let pay min =b i By setting the minimum bid specified by the cloud service provider, the profit of the cloud service provider does not change much regardless of whether the number of users increases or decreases, making the resource allocation method disclosed in the present invention stable and robust.

[0090] Step C2, if the iteration process satisfies pay max -pay min ≥ b min , then exit the iteration and let pay i =pay max .

[0091] In summary, based on the method for determining the winner of virtual machine allocation and virtual machine provision, the physical machine configures the virtual machine instances required by the enterprise application according to the virtual machine allocation vector, and the cloud service provider allocates the virtual machine instances to the winner according to the allocation vector. The final decision is made on the enterprise application that can obtain the required resources; based on the enterprise application payment algorithm, the winning enterprise application pays the corresponding price to the cloud service provider.

[0092] (IV) Experiment

[0093] 1. Parameter settings

[0094] When discussing cloud computing resource allocation strategies, the experiment focuses on two core resource types: computing cores and memory, and introduces eight virtual machine type configurations shown in Table 1. To simulate the actual deployment environment, the physical machine is composed of the Titan system configuration in Oak Ridge National Laboratory, with a total of 5120 cores and a total memory of 12449GB. Furthermore, a cloud service provider scenario is envisioned. Assume that the cloud service provider has 100 heterogeneous physical machines. To simulate the diversity of the real world, assume that the number of cores and memory capacity of each physical server are generated by a random algorithm: the number of cores is between 1 and 5120, and the number of memory is between 1 and 12449GB, and ensure that the total number of cores of all physical machines is 5120 and the total memory is 12449GB. The buyer's virtual machine demand is randomly generated, and it is assumed that the buyer's maximum demand for each virtual machine type is 20. The buyer's bid is calculated by the following formula: in is a random number between [0.018, 0.34], and the reserve price is set to half of the buyer's bid.

[0095] 2. Analysis of simulation results

[0096] The present invention considers a resource allocation and pricing method for enterprise application cloud deployment based on a combinatorial auction mechanism, and its architecture is as follows: Figure 3 According to the parameter settings, the price that the enterprise application is willing to pay, the actual price paid, the operating cost price of the cloud service provider and the profit of the cloud service provider are obtained, as shown in Figure 4 As shown in the figure (Bid represents the highest price that the enterprise application is willing to pay to obtain the resources it needs, cost represents the lowest price that the cloud service provider can accept for the virtual machine, pay represents the price actually paid by the enterprise application to the cloud service provider, and profit represents the revenue obtained by the cloud service provider), it can be seen that when the number of users increases or decreases, the profit obtained by the cloud service provider does not change much, which is a positive sign, indicating that the algorithm has a certain degree of stability and robustness. The usage of different types of virtual machines is shown in the figure. Figure 5 As shown in the figure (the horizontal axis vm represents different types of virtual machines, and the vertical axis value represents the number of different types of virtual machines in use), the types of virtual machines provided by physical machines are as follows Figure 6 As shown in the figure (the green balls represent physical machines, and the blue balls represent different types of virtual machines), the user is provided with the following information about the virtual machine types: Figure 7 As shown (green balls represent users, and blue balls represent different types of virtual machines).

[0097] Compared with the prior art, the beneficial effects of the present invention include at least:

[0098] In order to solve the enterprise application cloud deployment resource allocation problem (EACDRAP) in which physical machines cannot effectively configure virtual machine instances and cannot price the dynamic resource demands of enterprise applications, which is economically inefficient, the present invention proposes an enterprise application cloud deployment resource allocation and pricing method (CAA-EACDRAP) based on a combinatorial auction mechanism. When dynamically allocating virtual machine instances for application components deployed on the cloud by an enterprise, the mechanism takes into account both the demand changes of enterprise applications and the method of retaining prices and determining winners. This mechanism can not only bring higher profits to cloud service providers, but also achieve the goal of improving cloud resource utilization and allocation efficiency in a complex allocation environment.

[0099] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method of the present invention can be implemented by means of software plus necessary general hardware, and of course can also be implemented by special hardware including special integrated circuits, special CPUs, special memories, special components, etc. In general, all functions performed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structures used to implement the same function can also be various, such as analog circuits, digital circuits or special circuits, etc. However, for the present disclosure, software program implementation is a better implementation method in most cases.

[0100] Although the embodiments of the present disclosure are described above in conjunction with the accompanying drawings, the technical solutions of the present disclosure are not limited to the above-mentioned specific embodiments and application fields, and the above-mentioned specific embodiments are merely illustrative and instructive, rather than restrictive. A person of ordinary skill in the art can also make many forms under the guidance of this specification and without departing from the scope of protection of the claims of the present disclosure, all of which belong to the protection of the technical solutions of the present disclosure.

Claims

1. A method for allocating enterprise application cloud deployment resources based on a combinatorial auction mechanism, characterized in that: The method comprises the following steps: The cloud service provider establishes a 0-1 integer linear programming formula for the cloud deployment resource allocation problem based on the resource request submitted by the enterprise application using a combinatorial auction mechanism, and determines the enterprise application to be allocated and its corresponding virtual machine instance by solving the 0-1 integer linear programming formula; The virtual machine instance is obtained by configuring the computing resources and storage resources of a physical machine into virtual machines of different types through virtualization technology.

2. The method according to claim 1, characterized in that The 0-1 integer linear programming formula for the cloud deployment resource allocation problem is as follows: max U=max∑ i∈I a i pay i -∑ r∈R CR r ∑ i∈I a i k ir In the formula, a i is the decisive variable. If enterprise application i obtains resources and becomes the winner, then a i =1, otherwise a i =0; b i The maximum price that enterprise application i is willing to pay to obtain the resources it needs; CR r is the running cost of resource type r on the virtual machine, which is a set constant; C pr The available amount of resource type r provided to physical machine p; i is the enterprise application identifier; k ir is the demand of enterprise application i for resource type r; m is the virtual machine type identifier; o m is the reserved price of virtual machine type m; pay i The price that winner i needs to pay to the cloud service provider; p is the physical machine identifier; r is the resource type identifier; t im The number of virtual machines of type m required by enterprise application i; U is the profit of the cloud service provider w mr The amount of resources of resource type r provided for virtual machine type m; x pm is a temporary variable, indicating the number of virtual machines of type m provided on the physical machine p; Z + is a positive integer; R is a resource set, PM is a physical machine set, VM is a virtual machine instance set, I is an enterprise application set, max means maximize, and st means limited by.

3. The method according to claim 2, characterized in that: When solving the problem, first determine the candidate winners from all enterprise applications and determine the candidate allocation positions. Then, by controlling the minimum bid specified by the cloud service provider, determine the candidate winner whose payment difference between the highest price and the lower limit is less than the minimum bid as the winner, and allocate virtual machine instances to them according to their corresponding candidate allocation positions. The steps of judging the candidate winners from all enterprise applications and determining the candidate allocation positions include: For all enterprise applications, the formula Calculate the bidding density of the i-th enterprise application, sort the enterprise applications in the enterprise application set in descending order according to their bidding densities, obtain the enterprise application ranking, sort the virtual machine types in descending order according to the total amount of resources they can provide, and obtain the virtual machine type ranking; The first enterprise application in the enterprise application ranking is used as the current enterprise application; Mark S100: taking the first virtual machine type in the virtual machine type sorting as the current virtual machine type m; Marking S200: for the current virtual machine type m, the physical machines are sorted in ascending order according to the matching degree between the resource vector provided by the virtual machine and the resource vector that can be used by each physical machine, so as to obtain the physical machine sorting; Get the number of requirements for the current virtual machine type by the current enterprise application, and determine the relationship between the remaining resources of each resource type r on each physical machine in the physical machine sorting and the resource type r provided by the current virtual machine type. If a physical machine p is found, The remaining resources of each resource type r on it can satisfy the resource quantity w of resource type r provided by the current virtual machine type mr , then the remaining resources of each resource type r on the physical machine p pass Update, record the current enterprise application as the candidate winner, and determine the candidate allocation position of its index position on the physical machine p through the binary insertion method; The next virtual machine type is obtained from the virtual machine type sort as the current virtual machine type m, and the mark S200 is returned until all virtual machine types in the virtual machine type sort are traversed, and the next enterprise application is obtained from the enterprise application sort as the current enterprise application, and the mark S100 is returned until all enterprise applications are traversed.

4. The method according to claim 3, characterized in that: Before calculating the bidding density, we traverse all enterprise applications i and use the formula rp i =∑ m∈VM t im o m Calculate the reservation price of each enterprise application i, if rp i Less than the highest price b that enterprise application i is willing to pay to obtain the resources it needs i , then delete it from enterprise application set I.

5. The method according to claim 3, characterized in that: Using the formula H(m, p) = ||scaler(c p )-scaler(w m )||2 Calculate the matching degree between the resource vector provided by the virtual machine m∈VM and the resource vector available to each physical machine p∈PM, where scaler(c p ) is to scale the resource vector that can be used by the physical machine p, scaler(w m ) is the scaling of the resource vector provided by virtual machine m, and ||||2 represents the L2 norm, which is used to calculate the distance between two vectors.

6. The method according to claim 3, characterized in that For enterprise applications that are candidate winners but not confirmed as winners, the maximum price they would pay to obtain the resources they need will be adjusted and the candidate winners will be re-determined.

7. The method according to claim 6, characterized in that One way to implement the adjustment is to make the maximum price paid by the enterprise application half of the sum of the original maximum price and the payment floor.

8. The method according to claim 1, characterized in that: A computer-readable storage medium, characterized in that it stores a computer program that can be loaded by a processor and executes any one of the methods of claims 1 to 7.

9. An enterprise application cloud deployment resource allocation system based on a combinatorial auction mechanism, characterized in that: The cloud service provider in the system establishes a 01 integer linear programming formula for the cloud deployment resource allocation problem based on the resource request using a combinatorial auction mechanism, and determines the enterprise application to be allocated and its corresponding virtual machine instance by solving the 01 integer linear programming formula; The virtual machine instance is obtained by configuring the computing resources and storage resources of a physical machine into virtual machines of different types through virtualization technology.

10. The system according to claim 9, characterized in that: The cloud service provider includes a winner determination unit; The winner determination unit is configured to, when solving, first determine candidate winners from all enterprise applications and determine candidate allocation positions, and then, by controlling a minimum bid specified by the cloud service provider, determine the candidate winner whose difference between the highest price paid and the lower limit paid is less than the minimum bid as the winner, and allocate a virtual machine instance to the candidate winner according to the candidate allocation position corresponding to the candidate; The steps of judging the candidate winners from all enterprise applications and determining the candidate allocation positions include: For all enterprise applications, the formula Calculate the bidding density of the i-th enterprise application, sort the enterprise applications in the enterprise application set in descending order according to their bidding densities, obtain the enterprise application ranking, sort the virtual machine types in descending order according to the total amount of resources they can provide, and obtain the virtual machine type ranking; The first enterprise application in the enterprise application ranking is used as the current enterprise application; Mark S100: taking the first virtual machine type in the virtual machine type sorting as the current virtual machine type m; Marking S200: for the current virtual machine type m, the physical machines are sorted in ascending order according to the matching degree between the resource vector provided by the virtual machine and the resource vector that can be used by each physical machine, so as to obtain the physical machine sorting; Get the number of requirements for the current virtual machine type by the current enterprise application, and determine the relationship between the remaining resources of each resource type r on each physical machine in the physical machine sorting and the resource type r provided by the current virtual machine type. If a physical machine p is found, The remaining resources of each resource type r on it can satisfy the resource quantity w of resource type r provided by the current virtual machine type mr , then the remaining resources of each resource type r on the physical machine p pass Update, record the current enterprise application as the candidate winner, and determine the candidate allocation position of its index position on the physical machine p through the binary insertion method; The next virtual machine type is obtained from the virtual machine type sort as the current virtual machine type m, and the mark S200 is returned until all virtual machine types in the virtual machine type sort are traversed, and the next enterprise application is obtained from the enterprise application sort as the current enterprise application, and the mark S100 is returned until all enterprise applications are traversed.

Citation Information

Cited By

  • Method and Apparatus for Providing Cloud Service, and Device

    US20240013116A1