Allocating Cloud Computing Resources In A Cloud Computing Environment
20170339069 · 2017-11-23
Inventors
- Tony Larsson (Stockholm, SE)
- Ignacio Manuel Mulas Viela (Stockholm, SE)
- Nicolas Seyvet (Stockholm, SE)
Cpc classification
G06N7/01
PHYSICS
H04L67/10
ELECTRICITY
International classification
Abstract
A method of allocating cloud computing resources in a cloud computing environment to a user is disclosed. The method comprises determining a prediction accuracy score for each user indicative of their user predictability, and allocating cloud computing resources to each user dependent on their user predictability.
Claims
1-26. (canceled)
27. A method of allocating cloud computing resources to a user of a plurality of users, the cloud computing resources being in a cloud computing environment, the method comprising: determining a prediction accuracy score for each user indicative of their user predictability; and allocating cloud computing resources to each user based on their user predictability.
28. The method of claim 27, wherein the prediction accuracy score is determined for a user each time cloud computing resources are to be allocated to the user.
29. The method of claim 27, wherein the prediction accuracy score is based on previous usage information of each user.
30. The method of claim 27, further comprising collecting previous usage information of each user.
31. An apparatus for allocating cloud computing resources to a user of a plurality of users, the cloud computing resources being in a cloud computing environment, the apparatus comprising; processing circuitry; memory containing instructions executable by the processing circuitry whereby the apparatus is operative to: determine a prediction accuracy score for each user indicative of their user predictability; and allocate cloud computing resources to each user based on their user predictability.
32. The apparatus of claim 31, wherein the instructions are such that the apparatus is operative to determine the prediction accuracy score for a user each time cloud computing resources are to be allocated to the user.
33. The apparatus of claim 31, wherein the instructions are such that the apparatus is operative to collect previous usage information of user.
34. The apparatus of claim 33, wherein the instructions are such that the apparatus is operative to determine a prediction accuracy score based on previous usage information of each user.
35. The apparatus of claim 33, wherein the instructions are such that the apparatus is operative to create a prediction model for each user, the prediction model being based on the previous usage information so as to determine a prediction accuracy score.
36. The apparatus of claim 31, wherein the instructions are such that the apparatus is operative to sort the users in numerical order of their prediction accuracy score.
37. The apparatus of claim 36, wherein the instructions are such that the apparatus is operative to divide the users so as to create groups of users, wherein the groups have different user predictabilities.
38. The apparatus of claim 31, wherein the instructions are such that the apparatus is operative to: predetermine ranges of predictability accuracy scores so as to create groups; and then assign each user to the group which has the range in which the user's prediction accuracy score falls within.
39. The apparatus of claim 31, wherein the instructions are such that the apparatus is operative to group users according to their prediction accuracy score so as to create groups of users with different user predictabilities.
40. The apparatus of claim 31, wherein the instructions are such that the apparatus is operative to apply a system policy to the groups of different user predictability so to allocate cloud computing resources to each user.
41. A server, comprising: an apparatus for allocating cloud computing resources to a user of a plurality of users, the cloud computing resources being in a cloud computing environment, the apparatus comprising; processing circuitry; memory containing instructions executable by the processing circuitry whereby the apparatus is operative to: determine a prediction accuracy score for each user indicative of their user predictability; and allocate cloud computing resources to each user based on their user predictability.
42. A non-transitory computer readable recording medium storing a computer program product for allocating cloud computing resources to a user of a plurality of users, the cloud computing resources being in a cloud computing environment, the computer program product comprising software instructions which, when run on processing circuitry of a computer system, causes the computer system to: determine a prediction accuracy score for each user indicative of their user predictability; and allocate cloud computing resources to each user based on their user predictability.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Embodiments will now be described by way of example only in relation to the enclosed drawings, in which:
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
DETAILED DESCRIPTION
[0054] An aspect of the present invention relates to a method of allocating cloud computing resources in a cloud computing environment to a user. The method comprises determining a prediction accuracy score of each user which is indicative of their user predictability, and allocating cloud computing resources to each user dependent on their user predictability. The method provides the advantage that users will receive a more stable service. It also enables less predictable users to be identified and scheduled accordingly so to reduce their impact on the performance of more predictable users.
[0055] It should be understood that the term “user” used herein includes an application, such as a cloud computing application. Examples of cloud computing applications include applications utilizing cloud computing, such as web email application, a data storage application, or an application for running a virtual machine. The term “user” also includes a computer program, a person, or a device. Examples of a device include a computer, laptop, tablet, smart phone, mobile communication device or constrained devices.
[0056] It should also be understood that the term “user predictability” used herein includes the predictability of the behavior of a user, for example, whether their future behavior, in terms of what cloud computing resources they will request or their demand on a cloud computing infrastructure, can be easily predicted or not.
[0057] Referring now to
[0058] The method shown in
[0059] Another advantage of allocating cloud computing resources dependent on the user predictability of the users is that the performance of each user is easier to regulate. For example, by mixing or isolating users with different user predictabilities, the load on the cloud computing infrastructure can more easily be managed.
[0060] In one embodiment, the method describe in the above embodiment may also comprise the determination of a prediction accuracy score based on previous usage information of, for example, the previous, hour(s) day(s), week(s), month (s) or year (s), so as to create a prediction accuracy score that reflects a long term behavior of a user. Furthermore, the method described with reference to
[0061] Another embodiment will now be described with reference to
[0062] The method comprises collecting previous usage information of each user, S11. The previous usage information comprises previous or earlier management of cloud computing resources of each user. This can include creation, deletion, starting and/or stopping of a service running on a virtual machine. It may also include the performance of each service, running on a virtual machine. Thus, previous usage information comprises past behavior or pattern of each user. The previous usage information is collected from a node such as a server which stores said previous usage information for each user.
[0063] The method further comprises creating a prediction model for each user as indicated by S12 in
[0064] Once the prediction accuracy score is determined for each user, users may be sorted in numerical order of their prediction accuracy score as indicated by S14a and further schematically illustrated in
[0065] In an alternative embodiment, the steps S14a and S14b as discussed above and shown in
[0066] It should be understood that the present invention is not limited to S14a, S14b and 15 as described above, the method may comprise any alternative way of grouping users according to their prediction accuracy score so as to create groups users with different user predictabilities. It should also be understood that the embodiments according to the present invention are not limited to groups of users, it should be understood that sorting and grouping of the users may result in lists of users, e.g. high user predictability: [user a, user b, user c . . . ]; medium user predictability: [ user m, user n, user o . . . ]; and low user predictability: [user x, user y, user z . . . ].
[0067] The method may further comprise applying a system policy to the groups of different user predictabilities so to allocate cloud computing resources to each user as indicated by S16 in
[0068] In an alternative system policy, the group of, for example, low user predictability is isolated and allocated dedicated cloud computing resources. Thus, the performance of groups of medium and high user predictability is not affected by the unpredictable behavior of users in the group of low user predictability.
[0069] The method further comprises allocating cloud computing resources to each user dependent on their user predictability, S17, according to a system policy.
[0070] In addition, all the embodiments described with reference to
[0071] It should be understood that the embodiments described with reference to
[0072] In one embodiment of the present invention, there is provided a computer program for allocating cloud computing resources in a cloud computing environment to a user. The computer program comprising computer readable code units which when run on a computer system causes the computer to carry out any of the methods described above.
[0073] In another embodiment, there is provided a computer program product which comprises the above mentioned computer program, and said computer program is stored on the computer program system.
[0074] According to another embodiment of the present invention, there is provided an apparatus 10a for allocating cloud computing resources in a cloud computing environment to a user as illustrated in
[0075] Similar to the method described with reference to
[0076] In the embodiment shown in
[0077] In another embodiment as shown in
[0078] In this embodiment, the data collection module 13 is for collecting previous usage information of each user. The data collection module 13 may be configured to collect previous usage information from a node such as a server storing such information. The usage information comprises management of cloud computing resources. The management of cloud computing resources includes creation, deletion, starting and stopping of a service such as a virtual machine. The management of cloud computing resources may also include the performance of each service such as virtual machine. Thus, previous usage information comprises past behavior or pattern of each user.
[0079] The prediction module 11 is configured to determine a prediction accuracy score based on the previous usage information of each user. The prediction module 11 comprises a training sub-module 17 and a test sub-module 18 for creating a prediction model for each user as seen in
[0080] In one embodiment, the sorting module 14 as shown in
[0081] The grouping module 15 is for dividing the users so as to create groups of users, wherein the groups differ in predictabilities as schematically illustrated in
[0082] In an alternative embodiment, the apparatus 10b does not comprise a sorting module, and the grouping module 15 is for pre-determining ranges of predictability accuracy scores so as to create groups and then assigning each user to the group which has the range in which the user's prediction accuracy score falls within. Also here it can also be considered that each group of users is classified in terms of predictability. For example, if there are three groups of users with different user predictabilities, the groups may be classified as high, medium, or low user predictability. The user predictability of each group can be based on an average or a mean prediction accuracy score.
[0083] In yet another alternative embodiment, the grouping module 15 is for grouping users according to their prediction accuracy score so as to create groups of users with different user predictability. Again, it can also be considered that each group of users is classified in terms of predictability. For example, if there are three groups of users with different user predictabilities, the groups may be classified as high, medium, or low user predictability. The user predictability of each group can be based on an average or a mean prediction accuracy score.
[0084] Similar to the method described above with reference to
[0085] Similar to the embodiment shown in
[0086] It should be understood that the resource allocator 12 may apply system policies similar to those described above with reference to the method shown in
[0087] In addition, all the embodiments described with reference to
[0088] The apparatuses 10a, 10b described herein also provides the same advantages as the method described above.
[0089] The data collection module 13, the prediction module 11, the sorting module 14, the grouping module 15 and the resource allocator module 12 described above with reference to
[0090] In an alternative embodiment, the data collection module 13, the prediction module 11, the sorting module 14, the grouping module 15 and the resource allocator module 12 are implemented in hardware only, or in a combination in software and hardware.
[0091] In one embodiment, a cloud computing resource scheduler comprises any of the apparatuses 10a, 10b, 20 described herein. In an alternative embodiment, a server comprises any of the apparatuses 10a, 10b, 20 described herein.
[0092] An embodiment of the present invention will now be described with reference to
[0093] This apparatus 20 comprises the same advantages as those described in relation to the embodiments of apparatus 10a, 10b, and the embodiments of methods 1 and 2.
[0094] There is also provided a computer program comprising instructions which when executed on at least one processor, cause the at least one processor to carry out the method described above.
[0095] In another embodiment, a computer storage medium containing program instructions for allocating cloud computing resources in a cloud computing environment to a user is provided, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to carry out the method described above.
[0096] In yet another embodiment, a carrier comprising a computer program for allocating cloud computing resources in a cloud computing environment to a user is provided, wherein said carrier is one of an electronic signal, an optical signal, an electromagnetic signal, a magnetic signal, an electric signal, a radio signal, a microwave signal, or a computer-readable storage medium.
[0097] It should be understood that any reference to a processor herein is not limited to a single processor; it may include one or more processor or processing units. In one embodiment, a processor should also be understood to comprise a processor arrangement.
[0098] Furthermore, in an alternative embodiment of the present invention, at least some of the steps, functions, procedures and/or modules described herein may be implemented in software such as a computer program for execution by suitable processing circuitry such as one or more processors or processing units.
[0099] An embodiment of the invention will now be described with reference to
[0100] The way User A and User B are allocated resources depends on the system policies applied. For example, the resource allocator may apply a system policy where predictable users (User A) are allocated cloud computing resources from cloud computing resources A 32a, and unpredictable users (User B) are isolated and allocated cloud computing resources from cloud computing resources B 32b.
[0101] It should be understood that the server may also comprise a data collection module, a sorting module and a grouping module as described with reference to
[0102] In one embodiment of the present invention, User A in
[0103] Various modifications may be made to the examples described in the foregoing, and any related teachings may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim any and all applications, modifications and variations that fall within the true scope of the present teachings.