CN111263931A - Policy-based optimization of cloud resources on tiered storage operations - Google Patents

Policy-based optimization of cloud resources on tiered storage operations Download PDF

Info

Publication number
CN111263931A
CN111263931A CN201880069208.5A CN201880069208A CN111263931A CN 111263931 A CN111263931 A CN 111263931A CN 201880069208 A CN201880069208 A CN 201880069208A CN 111263931 A CN111263931 A CN 111263931A
Authority
CN
China
Prior art keywords
storage
resources
allocation
computing environment
data movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201880069208.5A
Other languages
Chinese (zh)
Inventor
J·特纳
G·麦克布里尔蒂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/815,947 external-priority patent/US20190155511A1/en
Priority claimed from US15/815,965 external-priority patent/US10725660B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN111263931A publication Critical patent/CN111263931A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A method for allocating cloud resources in a cloud computing system based on tiered storage data movement, comprising: sending a request to a tiered storage system to provide a notification of a data move initiated by the tiered storage system, wherein the data move comprises moving data associated with the cloud computing system from a first storage tier to a second storage tier, and the notification comprises an indication of a condition under which the data move was initiated; receiving the notification from the tiered storage system; identifying, using the received notification, a hosted computing environment having a volume associated with the data movement; determining whether to change allocation of resources to the hosted computing environment; and in response to determining to change the allocation of resources to the hosted computing environment, changing the allocation of resources to the hosted computing environment.

Description

Policy-based optimization of cloud resources on tiered storage operations
Background
The present disclosure relates to cloud computing, and more particularly, to management of cloud resources based on tiered storage data movement.
Cloud computing enables ubiquitous access to a shared pool of configurable resources (e.g., computer networks, servers, storage, applications, and services) that can be provisioned quickly and programmatically over a network. Computing systems providing cloud computing services may use automated storage tiering to manage data storage in the cloud computing systems. Automated storage tiering is a storage management capability that moves pattern data between different storage types (e.g., storage tiers) to optimize storage allocation, for example, in terms of cost, performance, and storage space.
Disclosure of Invention
According to an embodiment of the present disclosure, a method for allocating cloud resources in a cloud computing system based on tiered storage data movement may include sending a request to the tiered storage system to provide a notification of data movement initiated by the tiered storage system, wherein the data movement includes moving data associated with the cloud computing system from a first storage tier to a second storage tier, and the notification includes an indication of a condition under which the data movement was initiated. The method may also include receiving a notification from the tiered storage system. The method may then include using the received notification to identify a hosted computing environment having a volume associated with the data movement. The method may also include determining whether to change the allocation of resources to the hosted computing environment. The method may also include changing the allocation of resources to the hosted computing environment in response to determining to change the allocation of resources to the hosted computing environment.
Viewed from a first aspect, the present invention provides a method for allocating cloud resources in a cloud computing system based on tiered storage data movement, the method comprising: sending a request to the tiered storage system to provide notification of data movement initiated by the tiered storage system, wherein: the data movement includes moving data associated with the cloud computing system from a first storage tier to a second storage tier, and the notification includes an indication of a condition under which the data movement was initiated; receiving the notification from the tiered storage system; identifying, using the received notification, a hosted computing environment having a volume associated with the data movement; determining whether to change allocation of resources to the hosted computing environment; and in response to determining to change the allocation of resources to the hosted computing environment, changing the allocation of resources to the hosted computing environment.
Preferably, the present invention provides a method wherein the request comprises criteria for providing the notification, the criteria being based on whether the performance of the first storage tier is better than the performance of the second storage tier.
Preferably, the present invention provides a method wherein the request includes criteria for providing the notification, the criteria being based on aggregated characteristics of the data movement.
Preferably, the present invention provides a process wherein the polymerization characteristic is at least one of: a frequency of data movement from a storage tier having a first performance level to a storage tier having a second performance level, wherein the second performance level is lower than the first performance level, a frequency of data movement from the storage tier in response to determining that the storage tier has insufficient storage capacity, and a data movement of data associated with a set of hosted computing environments from a first storage system to a second storage system.
Preferably, the present invention provides a method wherein the resources comprise at least one of allocated memory, processing resources and communication bandwidth.
Preferably, the present invention provides a method wherein changing the allocation of resources comprises moving the hosted computing environment from a first host computing system to a second host computing system.
Preferably, the present invention provides a method wherein said changing the allocation of resources comprises suspending execution of the hosted computing environment.
Preferably, the present invention provides a method wherein said changing the allocation of resources comprises notifying a user associated with the hosted computing environment to cause the user to change the allocation of resources.
Preferably, the present invention provides a method wherein said changing the allocation of resources comprises notifying a service associated with the hosted computing environment to cause the service to change the allocation of resources.
Viewed from a second aspect, the present invention provides a system for allocating cloud resources in a cloud computing system based on tiered storage data movement, the method comprising: one or more compute nodes having a memory and a processor; and a non-transitory computer readable storage medium of one or more computing nodes having program instructions embodied therewith, the program instructions executable by the processor to cause the system to: sending a request to the tiered storage system to provide notification of data movement initiated by the tiered storage system, wherein: the data movement includes moving data associated with the cloud computing system from a first storage tier to a second storage tier, and the notification includes an indication of a condition under which the data movement was initiated; receiving the notification from the tiered storage system; identifying, using the received notification, a hosted computing environment having a volume associated with the data movement; determining whether to change allocation of resources to the hosted computing environment; and in response to determining to change the allocation of resources to the hosted computing environment, changing the allocation of resources to the hosted computing environment.
Preferably, the present invention provides a system wherein the request includes criteria for providing the notification, the criteria being based on whether performance of the first storage tier is better than performance of the second storage tier.
Preferably, the present invention provides a system wherein the request includes criteria for providing the notification, the criteria being based on aggregated characteristics of the data movement.
Preferably, the present invention provides a system wherein the aggregate characteristic is at least one of: a frequency of data movement from a storage tier having a first performance level to a storage tier having a second performance level, wherein the second performance level is lower than the first performance level, a frequency of data movement from the storage tier in response to determining that the storage tier has insufficient storage capacity, and a data movement of data associated with a set of hosted computing environments from a first storage system to a second storage system.
Preferably, the present invention provides a system wherein the resources comprise at least one of allocated memory, processing resources and communication bandwidth.
Preferably, the present invention provides a system wherein changing the allocation of resources comprises moving the hosted computing environment from a first host computing system to a second host computing system.
Preferably, the present invention provides a system wherein changing the allocation of resources comprises suspending execution of the hosted computing environment.
Preferably, the present invention provides a system wherein changing the allocation of resources comprises notifying a user associated with the hosted computing environment to cause the user to change the allocation of resources.
Preferably, the present invention provides a system wherein the changing the allocation of resources comprises notifying a service associated with the hosted computing environment to cause the service to change the allocation of resources.
Viewed from a third aspect, the present invention provides a computer program product for allocating cloud resources in a cloud computing system based on tiered storage data movement, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not itself a transitory signal, the program instructions executable by processing circuitry to cause the processing circuitry to perform a method comprising: sending a request to the tiered storage system to provide notification of data movement initiated by the tiered storage system, wherein: the data movement includes moving data associated with the cloud computing system from a first storage tier to a second storage tier, and the notification includes an indication of a condition under which the data movement was initiated; receiving the notification from the tiered storage system; identifying, using the received notification, a hosted computing environment having a volume associated with the data movement; determining whether to change allocation of resources to the hosted computing environment; and in response to determining to change the allocation of resources to the hosted computing environment, changing the allocation of resources to the hosted computing environment.
Preferably, the present invention provides a computer program product wherein the request comprises criteria for providing the notification, the criteria being based on whether the performance of the first storage tier is better than the performance of the second storage tier.
Other embodiments are directed to systems and computer program products for implementing the methods described herein.
The above summary is not intended to describe each illustrated embodiment or every implementation of the present disclosure.
Drawings
The accompanying drawings, which are incorporated in and form a part of the specification, are included to provide a further understanding of the invention. They illustrate embodiments of the disclosure and, together with the description, serve to explain the principles of the disclosure. The drawings illustrate only certain embodiments and are not to be construed as limiting the disclosure.
Fig. 1 illustrates a cloud computing node according to an embodiment of the present invention.
FIG. 2 illustrates a cloud computing environment, according to an embodiment of the invention.
FIG. 3 illustrates abstraction model layers according to an embodiment of the invention
Fig. 4 illustrates a set of operations for implementing management of cloud resources based on tiered storage data movement, in accordance with various embodiments.
Fig. 5 illustrates a set of operations for allocating cloud resources in a cloud computing system based on tiered storage data movement, in accordance with various embodiments.
FIG. 6 illustrates a block diagram of an example cloud computing environment using tiered storage, in accordance with various embodiments.
FIG. 7 illustrates a block diagram of an example tiered storage system 705, in accordance with various embodiments.
Fig. 8 illustrates a block diagram of an example cloud computing system, in accordance with various embodiments.
While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
Detailed Description
More particular aspects relate to cloud resource management based on tiered storage data movement. While the present disclosure is not necessarily limited to such applications, various aspects of the disclosure may be appreciated through a discussion of various examples using this context.
A cloud computing system may utilize a tiered storage system to store data blocks embodying logical volumes managed by the cloud computing system. The data blocks may represent a portion or all of a logical storage volume of the cloud computing system. A logical storage volume of a cloud computing system may be partitioned into two or more virtual volumes assigned to a computing environment hosted by the cloud computing system. Although the cloud computing system is aware of the mapping between the virtual volumes of the hosted computing environment and the blocks of the logical volumes of the cloud computing system, the hierarchical storage system is generally not able to access this information.
The tiered storage system, as part of its tiered storage management charges, may automatically (e.g., independently) initiate data movement to move or relocate block data associated with a logical volume of the cloud computing system from a first storage tier to a second storage tier. The tiered storage system may have a condition (e.g., a cause or trigger event) for initiating data movement. An example of a condition is that the usage of the first storage tier exceeds a threshold usage and the available storage capacity on the first storage tier falls below a threshold capacity. While hierarchical storage systems are generally aware of the reason for cross-layer data movement and initiating data movement, cloud computing systems affected by movement are generally unable to access this information.
A break in information between the reasons behind data movement initiated by the tiered storage system and information about which hosted computing environment has virtual volumes affected by these data movements may result in sub-optimal utilization of computing resources in the cloud computing system.
Embodiments of the present disclosure are based on the realization that utilization of computing resources in a cloud computing system may be improved by enabling a tiered storage system to send information to the cloud computing system regarding a reason for the tiered storage system to move one or more data blocks associated with the cloud computing system from a first storage tier to a second storage tier, and by configuring the cloud system to request and use the information regarding the reason for the tiered storage system to move the one or more data blocks associated with the cloud computing system from the first storage tier to the second storage tier. The cloud computing system may use this information to manage the allocation of resources provisioned to the hosted computing environment to improve resource utilization. For example, a data move to a slower storage tier (e.g., a storage tier having, for example, a lower read/write throughput than the current storage tier) may result in a reduction of ongoing transactions of the hosted computing environment having virtual volumes associated with the data move. As an example, the cloud computing system may use information indicating that particular blocks are moved to a slower tier, for example, to reduce memory or processor resources allocated to a hosted computing environment having virtual volumes associated with the relocated blocks. In another example, when a data movement moves a block from a slow storage layer to a fast storage layer, the cloud computing system may use information about the data movement to move the hosted computing environment whose virtual volume is associated with the data movement to a faster processor or system bus.
Accordingly, embodiments of the present disclosure are directed to techniques (e.g., methods, systems, and computer program products) for implementing cloud resource management based on tiered storage data movement. The techniques may be performed by a tiered storage system to receive a request from a cloud computing system to provide a notification of data movement initiated by the tiered storage system to the cloud computing system. The data movement includes moving data associated with the cloud computing system from a first storage tier to a second storage tier. In some embodiments, the notification includes an indication of a condition (e.g., a cause or triggering event) for initiating (e.g., starting and performing) the data movement. The technique may further be performed by the tiered storage system to determine whether a condition for initiating data movement is satisfied, and initiate data movement in response to the determination. The tiered storage system may then send a notification to the cloud computing system in response to initiating the data movement.
In some embodiments, the first storage tier (e.g., the source of the data movement) has a different performance level than the second storage tier (e.g., the destination of the data movement).
In some embodiments, the request received from the cloud computing system includes criteria for causing the tiered storage system to provide the notification. In these embodiments, the notification is sent in response to determining that the criteria are satisfied. The criterion may be based on at least one of data movement and a condition for initiating data movement. The criteria may also be based on the aggregated nature of a set (e.g., one or more) of data moves initiated by the tiered storage system. The aggregation characteristic may be, for example, a frequency of data movement from a storage layer having a first performance level to a storage layer having a second performance level, where the second performance level is lower than the first performance level. Another example of an aggregation characteristic is the frequency of moving data from a storage layer in response to determining that the storage layer has insufficient storage capacity.
In some embodiments, the data associated with the cloud computing system may be one or more data blocks embodying a virtual volume associated with the hosted computing environment.
In some embodiments, the condition for initiating the data movement may be at least one of an input/output resource utilization of the storage tier reaching a threshold utilization level, an amount of data associated with the cloud computing system reaching or exceeding a threshold amount, and an amount of data stored on the first tier reaching the threshold amount. Other criteria are also possible.
Other embodiments of the present disclosure relate to a technique (e.g., a method, system, and computer program product) for allocating cloud resources in a cloud computing system based on data movement of a tiered storage system. The techniques may be performed by a cloud computing system to improve utilization of cloud computing resources, for example, in response to data movement initiated by a tiered storage system. The technique includes sending a request to the tiered storage system to provide notification of data movement initiated by the tiered storage system. The data movement may include moving data associated with the cloud computing system from a first storage tier to a second storage tier. The notification may include an indication of a condition for initiating the data movement. The technique may also include receiving a notification from the tiered storage system. The technique can then include using the received notification to identify a hosted computing environment having a volume (e.g., a virtual volume) associated with the data movement. The technique may then include determining whether to change the allocation of resources to the identified hosted computing environment. The technique may also include changing the allocation of resources in response to determining to change the allocation of resources to the hosted computing environment.
In some embodiments, the request sent to the tiered storage system includes criteria for providing a notification. For example, the criterion may be based on whether the performance of the storage tier as the data migration source is better than the performance of the storage tier as the data migration destination. The criterion may also be based on at least one of a direction of data movement and a condition for initiating data movement. The criteria may also be based on the aggregated nature of a set (e.g., one or more) of data moves initiated by the tiered storage system. The aggregate characteristic may be a frequency or count of data movement from a storage tier having a first performance level to a storage tier having a second performance level, wherein the second performance level is lower than the first performance level. The aggregate characteristic may also be a frequency or count of moving data from the storage layer in response to determining that the storage layer has insufficient storage capacity. The aggregated characteristic may also be a movement of data from the first storage system to the second storage system that includes data associated with a set of hosted computing environments (e.g., virtual volumes of the set of hosted computing environments).
In some embodiments, the resources allocated in the cloud computing system may include memory, processors, and communication bandwidth allocated to the hosted computing environment.
In some embodiments, changing the allocation of resources includes moving the hosted computing environment from the first host computing system to the second host computing system. In some embodiments, changing the allocation of resources includes suspending execution of the hosted computing environment. In some embodiments, changing the allocation of resources includes notifying a user associated with the hosted computing environment to cause the user to change the allocation of resources to the hosted computing environment. In other embodiments, changing the allocation of resources includes notifying a service associated with the hosted computing environment to cause the service to change the allocation of resources.
As used herein, the term cloud computing system includes computing systems (e.g., host computing systems) and applications configured to enable access to a shared pool of configurable resources (e.g., computer networks, servers, storage, applications, and services). The cloud computing system may support or be hosted a computing environment (e.g., a virtual machine) above a software and firmware layer that provides an abstraction of the hardware associated with the cloud computing system. The operation of the cloud computing system may be managed (e.g., regulated and executed) by one or more software applications (hereinafter, "cloud managers").
As used herein, a logical volume is an abstraction of storage space on one or more storage volumes (e.g., physical extensions of the storage volumes) to a virtual disk or virtual disk partition, which may appear to a computing environment as a single contiguous storage area. For example, a tiered storage system may provide one or more logical volumes to a cloud computing system. A cloud computing system may partition its logical volume into one or more virtual volumes, which may be assigned to hosted computing environments.
While a logical volume may appear to a cloud computing system as a single storage volume, from the perspective of a tiered storage system, a logical volume is viewed as a set of blocks assigned to a cloud computing system. The layered storage system is typically unaware of the virtual volume partitions of the logical volume. In some environments, the hierarchical storage system is not aware of the structure of the logical volume. Similarly, the cloud computing system may not be aware of the management operations performed on the blocks of its logical volume (e.g., data movement between layers and triggering events and conditions that initiate data movement).
It should be understood at the outset that although this disclosure includes a detailed description of cloud computing, implementation of the techniques set forth therein is not limited to a cloud computing environment, but may be implemented in connection with any other type of computing environment, whether now known or later developed.
Cloud computing is a service delivery model for convenient, on-demand network access to a shared pool of configurable computing resources. Configurable computing resources are resources that can be deployed and released quickly with minimal administrative cost or interaction with a service provider, such as networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services. Such a cloud model may include at least five features, at least three service models, and at least four deployment models.
Is characterized by comprising the following steps:
self-service on demand: consumers of the cloud are able to unilaterally automatically deploy computing capabilities such as server time and network storage on demand without human interaction with the service provider.
Wide network access: computing power may be acquired over a network through standard mechanisms that facilitate the use of the cloud through heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, Personal Digital Assistants (PDAs)).
Resource pool: the provider's computing resources are relegated to a resource pool and serve multiple consumers through a multi-tenant (multi-tenant) model, where different physical and virtual resources are dynamically allocated and reallocated as needed. Typically, the customer has no control or even knowledge of the exact location of the resources provided, but can specify the location at a higher level of abstraction (e.g., country, state, or data center), and thus has location independence.
Quick elasticity: computing power can be deployed quickly, flexibly (and sometimes automatically) to enable rapid expansion, and quickly released to shrink quickly. The computing power available for deployment tends to appear unlimited to consumers and can be available in any amount at any time.
Measurable service: cloud systems automatically control and optimize resource utility by utilizing some level of abstraction of metering capabilities appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled and reported, providing transparency for both service providers and consumers.
The service model is as follows:
software as a service (SaaS): the capability provided to the consumer is to use the provider's applications running on the cloud infrastructure. Applications may be accessed from various client devices through a thin client interface (e.g., web-based email) such as a web browser. The consumer does not manage nor control the underlying cloud infrastructure including networks, servers, operating systems, storage, or even individual application capabilities, except for limited user-specific application configuration settings.
Platform as a service (PaaS): the ability provided to the consumer is to deploy consumer-created or acquired applications on the cloud infrastructure, which are created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but has control over the applications that are deployed, and possibly also the application hosting environment configuration.
Infrastructure as a service (IaaS): the capabilities provided to the consumer are the processing, storage, network, and other underlying computing resources in which the consumer can deploy and run any software, including operating systems and applications. The consumer does not manage nor control the underlying cloud infrastructure, but has control over the operating system, storage, and applications deployed thereto, and may have limited control over selected network components (e.g., host firewalls).
The deployment model is as follows:
private cloud: the cloud infrastructure operates solely for an organization. The cloud infrastructure may be managed by the organization or a third party and may exist inside or outside the organization.
Community cloud: the cloud infrastructure is shared by several organizations and supports a specific community of common interest relationships, such as mission missions, security requirements, policy and compliance considerations. A community cloud may be managed by multiple organizations or third parties within a community and may exist within or outside of the community.
Public cloud: the cloud infrastructure is offered to the public or large industry groups and owned by organizations that sell cloud services.
Mixing cloud: the cloud infrastructure consists of two or more clouds (private, community, or public) of deployment models that remain unique entities but are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting traffic sharing technology for load balancing between clouds).
Cloud computing environments are service-oriented with features focused on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that contains a network of interconnected nodes.
Referring now to FIG. 1, an example of a cloud computing node is shown. The cloud computing node 10 shown in fig. 1 is only one example of a suitable cloud computing node and should not impose any limitations on the functionality or scope of use of embodiments of the present invention. In general, cloud computing node 10 can be used to implement and/or perform any of the functions described above.
The cloud computing node 10 has a computer system/server 12 that is operational with numerous other general purpose or special purpose computing system environments or configurations. As is well known, examples of computing systems, environments, and/or configurations that may be suitable for operation with computer system/server 12 include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, microprocessor-based systems, set top boxes, programmable consumer electronics, networked personal computers, minicomputer systems, mainframe computer systems, distributed cloud computing environments that include any of the above, and the like.
Computer system/server 12 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer system/server 12 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
As shown in fig. 1, the computer system/server 12 in the cloud computing node 10 is in the form of a general purpose computing device. The components of computer system/server 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 and the processing unit 16.
Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, micro-channel architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer system/server 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 12 and includes both volatile and nonvolatile media, removable and non-removable media.
The system memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM)30 and/or cache memory 32. The computer system/server 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 1, and commonly referred to as a "hard drive"). Although not shown in FIG. 1, a magnetic disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 by one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
A program/utility 40 having a set (at least one) of program modules 42 may be stored in memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. Program modules 42 generally carry out the functions and/or methodologies of the described embodiments of the invention.
The computer system/server 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), with one or more devices that enable a user to interact with the computer system/server 12, and/or with any devices (e.g., network card, modem, etc.) that enable the computer system/server 12 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 22. Also, the computer system/server 12 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, such as the Internet) via the network adapter 20. As shown, network adapter 20 communicates with the other modules of computer system/server 12 via bus 18. It should be understood that although not shown in the figures, other hardware and/or software modules may operate with the computer system/server 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Referring now to FIG. 2, an exemplary cloud computing environment 50 is shown. As shown, cloud computing environment 50 includes one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as Personal Digital Assistants (PDAs) or mobile phones 54A, desktops 54B, laptops 54C, and/or automotive computer systems 54N may communicate. The cloud computing nodes 10 may communicate with each other. Cloud computing nodes 10 may be physically or virtually grouped (not shown) in one or more networks including, but not limited to, private, community, public, or hybrid clouds, or a combination thereof, as described above. In this way, cloud consumers can request infrastructure as a service (IaaS), platform as a service (PaaS), and/or software as a service (SaaS) provided by the cloud computing environment 50 without maintaining resources on the local computing devices. It should be appreciated that the types of computing devices 54A-N shown in fig. 2 are merely illustrative and that cloud computing node 10, as well as cloud computing environment 50, may communicate with any type of computing device over any type of network and/or network addressable connection (e.g., using a web browser).
Referring now to FIG. 3, a set of functional abstraction layers provided by cloud computing environment 50 (FIG. 2) is shown. It should be understood in advance that the components, layers, and functions shown in fig. 3 are intended to be illustrative only and embodiments of the invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:
the hardware and software layer 60 includes hardware and software components. Examples of hardware components include: a host; a server based on RISC (reduced instruction set computer) architecture; a storage device; networks and network components. In some embodiments, the software component comprises web application server software.
The virtualization layer 62 provides an abstraction layer that may provide examples of the following virtual entities: virtual servers, virtual storage, virtual networks (including virtual private networks), virtual applications and operating systems, and virtual clients.
In one example, the management layer 64 may provide the following functions: resource provisioning function: providing dynamic acquisition of computing resources and other resources for performing tasks in a cloud computing environment; metering and pricing functions: cost tracking of resource usage and billing and invoicing therefor is performed within a cloud computing environment. In one example, the resource may include an application software license. The safety function is as follows: identity authentication is provided for cloud consumers and tasks, and protection is provided for data and other resources. User portal function: access to the cloud computing environment is provided for consumers and system administrators. Service level management function: allocation and management of cloud computing resources is provided to meet the requisite level of service. Service Level Agreement (SLA) planning and fulfillment functions: providing prearrangement and provisioning for future demand for cloud computing resources as predicted by SLA
The workload layer 66 provides an example of the functionality that may utilize a cloud computing environment. Examples of workloads and functions that may be provided from this layer include: mapping and navigation; software development and lifecycle management; virtual classroom education delivery; analyzing and processing data; transaction processing; and moving the desktop.
Referring now to the drawings, FIG. 4 illustrates a set of operations 400 for enabling management of cloud resources based on tiered storage data movement, in accordance with various embodiments. Operations 400 may be performed by a tiered storage system, such as by tiered storage system 705 (FIG. 7). In some embodiments, operation 400 may be performed automatically by a storage manager application of the tiered storage system based on feedback provided by hardware and other software components of the tiered storage system. The storage manager may comprise computer executable code that is executable by a computing system, such as computer system 12 (FIG. 1). In some embodiments, the computing system may be a hardware component (e.g., a tiered storage server) associated with tier 60 of the cloud computing system shown in fig. 3. In certain embodiments, the computing system (e.g., a tiered storage system) is separate from the cloud computing system.
The tiered storage system may perform operation 405 to receive a request from a cloud computing system to provide a data movement notification for a data chunk associated with the cloud computing system. The cloud computing system may be a tenant of the tiered storage system and may be allocated one or more data blocks of storage on the tiered storage system. In some embodiments, the request is received by a storage drive. In other embodiments, the request may be received in the form of a data packet through a communication channel (e.g., a communication cable, a bus, a data communication network, etc.) coupling the tiered storage system to the cloud computing system. The request may be contained in a data structure extractable from the data packet by a storage manager associated with the hierarchical computing system.
In some embodiments, a tiered storage system has two or more storage tiers. A storage tier is a storage resource (e.g., storage volume and communication hardware and software) that has certain performance characteristics that distinguish it from another storage resource or storage tier. For example, the first storage tier may have a greater input/output (I/O) throughput, more storage capacity, or greater communication bandwidth than the second storage tier. A storage system may move data from one storage tier to another storage tier to, for example, optimize cost, performance, and storage space. Data movement may include moving data associated with the cloud computing system (e.g., data blocks allocated to the cloud computing system) from, for example, a first storage tier to a second storage tier.
In some embodiments, the tiered storage system may be automatically triggered to initiate data movement in response to a set of trigger conditions (hereinafter referred to as conditions). The trigger condition may be any event or condition associated with a tier of storage or a tenant of the tiered storage system. The trigger condition may be, for example, an indication that the I/O resource (e.g., read/write operations, data bus bandwidth, and stored data) utilization of the storage layer meets or exceeds a threshold utilization level. As another example, the trigger condition may be an indication that an amount of data stored by a tenant (e.g., a cloud computing system) on the storage tier meets or exceeds a threshold amount. As a third example, the trigger condition may be an indication that the cloud computing system's utilization of the tiered storage system exceeds a predetermined or paid utilization level.
In certain embodiments, the notification is generated by the tiered storage system and sent to a data structure of the cloud computing system. The notification may include an indication of a condition (e.g., a trigger condition) that causes the storage system to initiate the data movement. The notification may also indicate changes in blocks, storage layers, and storage performance levels associated with the data movement.
In some embodiments, the request received in operation 405 may include criteria (e.g., a policy) for causing the tiered storage system to provide data movement notifications. The criteria may be based on the data movement and the conditions that trigger the data movement. For example, the criteria may cause the tiered storage system to provide data movement notifications when a tiered storage system initiates data movement from a first storage tier having a first performance level to a second storage tier having a second performance level, when the second performance level is lower than the first performance level (e.g., data movement to move data from a fast storage tier to a slower storage tier). As another example, when the tiered storage system initiates data movement in response to a number of I/O operations handled by a storage tier (e.g., on behalf of the cloud computing system) exceeding a threshold number of I/O operations, the criteria may cause the tiered storage system to provide a data movement notification (which information may be used by the cloud computing system for billing purposes).
The criteria may also be based on the aggregated nature of data movement initiated by the tiered storage system. Examples of aggregation characteristics include frequency of data movement from a storage tier having a first performance level to a storage tier having a second performance level, where the second performance level is lower than the first performance level. Another example of an aggregate performance characteristic is the frequency or count of moving data from the storage tier in response to determining that the storage tier has insufficient storage capacity or I/O bandwidth. Other individual or aggregate criteria for causing the tiered storage system to provide data movement notifications may be used with the techniques described herein.
The tiered storage system may perform operation 410 to determine whether a condition for initiating a data move from the first storage tier to the second storage tier is satisfied. Performing operation 410 may include querying a storage controller associated with the storage tier to determine, for example, an amount of available storage space on the storage tier and an I/O utilization of the storage tier. Performing operation 410 may also include monitoring and logging I/O operations or transactions performed by the storage tier to evaluate, for example, an aggregation trigger condition or to evaluate a tenant-based condition (e.g., a condition triggered in response to a tenant action, such as an I/O request from a tenant exceeding a threshold number of requests).
In some embodiments, information queried or monitored when performing operation 410 may be recorded in a data structure for evaluation of conditions for providing data movement notifications, as described herein.
The tiered storage system may perform operation 415 to initiate a data movement event in response to determining that a condition for initiating a data movement from the first storage tier to the second storage tier is satisfied. Initiating a data move may include selecting and transferring one or more data blocks from a first storage layer to a second storage layer. Initiating the data movement may also include storing information associated with the data movement in a data structure including, for example, a source layer, a destination layer, trigger conditions, moved data blocks, and tenants affected by the data movement.
In some embodiments, the tiered storage system may perform operation 420 to determine whether criteria for providing notifications to the cloud computing system (e.g., data movement notification criteria) are satisfied. Performing operation 420 may include identifying cloud computing systems that are affected by the data movement initiated in operation 415. Performing operation 420 may further include evaluating data movement notification criteria received from the identified cloud computing system in operation 405 using the logged data movement information described herein. Evaluating the data movement notification criteria may include calculating one or more statistics about the data movement information and performing one or more logical operations using the statistics and, for example, a threshold value associated with the movement notification criteria. The hierarchical storage system may return to operation 410 in response to determining that the criteria are not satisfied and may continue to operation 425 in response to determining that the criteria are satisfied.
The storage system may perform operation 425 to send the notification to the cloud computing system. Performing operation 425 may include generating a data structure having, for example, an indication of the moved data block, a condition or reason for initiating the data movement, and information associated with the performance of the storage tier involved in the data movement. Performing operation 425 may also include performing one or more operations to send the notification to the cloud computing system over the communication channel.
Fig. 5 illustrates a set of operations 500 for allocating cloud resources in a cloud computing system based on tiered storage data movement, in accordance with various embodiments. Operations 500 may be performed by a cloud computing system, such as by cloud computing system 805 (fig. 8). In some embodiments, operation 500 may be performed automatically by a cloud manager application of the cloud computing system. The cloud manager may comprise code executable by a computing system, such as computer system 12 (fig. 1). In some embodiments, the cloud manager is a software component associated with layer 64 of the cloud computing system shown in FIG. 3.
The cloud computing system may perform operation 505 to send a request to the tiered storage system to provide a notification of data movement initiated by the tiered storage system. Data movement may include moving data associated with the cloud computing system (e.g., data blocks allocated to the cloud computing system) from, for example, a first storage tier to a second storage tier, as described herein. As described herein, the notification may be a data structure generated by the tiered storage system and sent to the cloud computing system. In some embodiments, the request includes criteria for causing the tiered storage system to provide notification of data movement. The characteristics of the criteria are consistent with the criteria described in the discussion of operation 400 (fig. 4). Performing operation 505 may include generating a data structure with the request and sending the data structure to the tiered storage system over the communication channel.
The cloud computing system may perform operation 510 to receive a notification (e.g., a data movement notification) from the tiered storage system. The notification may be received in a data packet from a communication channel coupling the tiered storage system to the cloud computing system. The notification may be embodied in a data structure that may be extracted from the data packet by the cloud manager, for example. As described herein, the notification may include an indication of the block move, a condition or reason for initiating the data move, and information associated with the performance of the storage tier involved in the data move.
The cloud computing system may perform operation 515 to identify a hosted computing environment having a virtual volume associated with the data movement using the received notification. Performing operation 515 includes determining, from the notification, one or more data blocks associated with the data movement operation. Performing operation 515 may then include determining a hosted computing environment having virtual volumes associated with the one or more blocks indicated in the received notification according to, for example, a data structure that maps blocks of a logical volume of the cloud computing system to one or more virtual volumes allocated to the hosted computing environment.
The cloud computing system may perform operation 520 to determine whether to change the allocation of resources to the identified hosted computing environment. Performing operation 520 may include determining whether to change allocation of resources to the hosted computing environment according to a data structure of the storage tier movement policy. In some embodiments, the storage tier movement policy may indicate conditions or criteria for changing allocation of resources to one or more hosted computing environments in response to tiered storage data movement. In some embodiments, the conditions or criteria may be substantially the same as the criteria used to cause the tiered storage system to send the data movement notifications. The cloud computing system may return to operation 510 in response to determining not to change the allocation of resources to the identified hosted computing environment, and may continue to operation 525 in response to determining to change the allocation of resources to the identified hosted computing environment.
The cloud manager may perform operation 525 to change the allocation of resources of the hosted computing environment in response to determining to change the allocation of resources of the hosted computing environment. In some embodiments, the resources allocated to the host computing environment may include at least one of allocated memory, processing resources, and communication resources (e.g., communication bandwidth). Changing the allocation of resources may include moving the identified hosted computing environment from a first host computing system to a second host computing system in the cloud computing system. Changing the allocation of resources also includes suspending execution of the identified hosted computing environment. In some embodiments, changing the allocation of resources includes notifying a user associated with the hosted computing environment to cause the user to change the allocation of resources. In some embodiments, changing the allocation of the resource includes notifying a service associated with the identified hosted computing environment to cause the service to change the allocation of the resource. In other embodiments, the allocation of one or more other resources may be changed according to other stored storage tier movement policies.
Fig. 6 illustrates a block diagram of an example cloud computing environment 600 using tiered storage, in accordance with various embodiments. Cloud computing environment 600 includes a cloud computing system 605 coupled to a tiered storage system 635 using a communication channel 650.
In some embodiments, cloud computing system 605 includes one or more computing systems executing software and firmware applications to enable or be hosted computing environment 610 and hosted computing environment 620, as described herein. Cloud computing system 605 may also include a volume 630 (e.g., a logical volume) having one or more blocks assigned to virtual volume 615 of hosted computing environment 610 and virtual volume 625 of hosted computing environment 620. All or a portion of volume 630 may be stored on a storage tier-1640 or a storage tier-2645 of a tiered storage system 635, as described herein.
In some embodiments, the communication channel 650 may be a data bus, communication cable, or data communication network configured to transmit data in one or more data structures or packets between the cloud computing system 605 and the tiered storage system 635.
FIG. 7 illustrates a block diagram of an example tiered storage system 705, in accordance with various embodiments. The tiered storage system 705 may include a processor 710, a memory 715, and a tiered memory 730. The memory 715 may include a storage manager 720 and a notification policy 725. Storage manager 720 may execute on processor 710 to implement the operations and techniques described herein. The notification policy 725 may include a data movement notification request from a registered tenant (e.g., a cloud computing system submitting the data movement notification request). As described herein, the request may include criteria for causing the tiered storage system 705 to provide data movement notifications. The hierarchical memory 730 may include a storage layer-1735 and a storage layer-2750. The storage tier-1735 may have a performance level or rating and may include one or more storage drives (e.g., disk drives, solid state drives, etc.) that store the data blocks 745A and 745B. The storage tier-2750 may have another performance level or rating and may include one or more storage drives that store the data blocks 760A and 760B.
Fig. 8 illustrates a block diagram of an example cloud computing system 800, in accordance with various embodiments. The hierarchical cloud computing system 805 may include a processor 810, a memory 815, and a hierarchical memory 855 (e.g., a logical volume). The memory 815 may include a cloud manager 820, a storage tier movement policy 825, and a hosted computing environment 830. Storage manager 820 may execute on processor 810 to implement the operations and techniques described herein. Hosted computing environment 830 may include operating system 835 and allocated resources such as memory 840, communication resources 845, and virtual volume 850.
The present invention may be a system, method and/or computer program product. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to perform various aspects of the present invention.
The computer readable storage medium may be a tangible device capable of retaining and storing instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device such as a punch card or a raised pattern in a groove with instructions recorded thereon, and any suitable combination of the foregoing. A computer-readable storage medium as used herein should not be interpreted as a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or an electrical signal transmitted through a wire.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a corresponding computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, to perform aspects of the present invention, an electronic circuit comprising, for example, a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA), may be personalized by executing computer-readable program instructions with state information of the computer-readable program instructions.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable storage medium having stored therein the instructions comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The description of the various embodiments of the present disclosure has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The terminology used herein was chosen to explain the principles of the embodiments, the practical application, or improvements to the technology found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (20)

1. A method for allocating cloud resources in a cloud computing system based on tiered storage data movement, the method comprising:
sending a request to the tiered storage system to provide notification of data movement initiated by the tiered storage system, wherein:
the data movement includes moving data associated with the cloud computing system from a first storage tier to a second storage tier, an
The notification includes an indication of a condition for initiating the data movement;
receiving the notification from the tiered storage system;
identifying, using the received notification, a hosted computing environment having a volume associated with the data movement;
determining whether to change allocation of resources to the hosted computing environment; and
in response to determining to change the allocation of resources to the hosted computing environment, changing the allocation of resources to the hosted computing environment.
2. The method of claim 1, wherein the request includes criteria for providing the notification, the criteria based on whether performance of the first storage tier is better than performance of the second storage tier.
3. The method of claim 1, wherein the request includes criteria for providing the notification, the criteria based on an aggregate characteristic of the data movement.
4. The method of claim 3, wherein the polymerization characteristic is at least one of:
a frequency of data movement from a storage layer having a first performance level to a storage layer having a second performance level, wherein the second performance level is lower than the first performance level,
a frequency of moving data from the storage tier in response to determining that the storage tier has insufficient storage capacity, an
Data associated with a set of hosted computing environments is moved from a first storage system to a second storage system.
5. The method of claim 1, wherein the resources comprise at least one of allocated memory, processing resources, and communication bandwidth.
6. The method of claim 1, wherein the changing the allocation of resources comprises moving the hosted computing environment from a first host computing system to a second host computing system.
7. The method of claim 1, wherein the changing the allocation of resources comprises suspending execution of the hosted computing environment.
8. The method of claim 1, wherein the changing the allocation of resources comprises notifying a user associated with the hosted computing environment to cause the user to change the allocation of resources.
9. The method of claim 1, wherein the changing the allocation of resources comprises notifying a service associated with the hosted computing environment to cause the service to change the allocation of resources.
10. A system for allocating cloud resources in a cloud computing system based on tiered storage data movement, the method comprising:
one or more compute nodes having a memory and a processor; and
a non-transitory computer-readable storage medium of the one or more computing nodes having program instructions embodied therewith, the program instructions executable by the processor to cause the system to:
sending a request to the tiered storage system to provide notification of data movement initiated by the tiered storage system, wherein:
the data movement includes moving data associated with the cloud computing system from a first storage tier to a second storage tier, an
The notification includes an indication of a condition for initiating the data movement;
receiving the notification from the tiered storage system;
identifying, using the received notification, a hosted computing environment having a volume associated with the data movement;
determining whether to change allocation of resources to the hosted computing environment; and
in response to determining to change the allocation of resources to the hosted computing environment, changing the allocation of resources to the hosted computing environment.
11. The system of claim 10, wherein the request includes criteria for providing the notification, the criteria based on whether performance of the first storage tier is better than performance of the second storage tier.
12. The system of claim 10, wherein the request includes criteria for providing the notification, the criteria based on an aggregate characteristic of the data movement.
13. The system of claim 12, wherein the aggregate characteristic is at least one of:
a frequency of data movement from a storage layer having a first performance level to a storage layer having a second performance level, wherein the second performance level is lower than the first performance level,
a frequency of moving data from the storage tier in response to determining that the storage tier has insufficient storage capacity, an
Data associated with a set of hosted computing environments is moved from a first storage system to a second storage system.
14. The system of claim 10, wherein the resources comprise at least one of allocated memory, processing resources, and communication bandwidth.
15. The system of claim 10, wherein the changing the allocation of resources comprises moving the hosted computing environment from a first host computing system to a second host computing system.
16. The system of claim 10, wherein the changing the allocation of resources comprises suspending execution of the hosted computing environment.
17. The system of claim 10, wherein the changing the allocation of resources comprises notifying a user associated with the hosted computing environment to cause the user to change the allocation of resources.
18. The system of claim 10, wherein the changing the allocation of resources comprises notifying a service associated with the hosted computing environment to cause the service to change the allocation of resources.
19. A computer program product for allocating cloud resources in a cloud computing system based on tiered storage data movement, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not itself a transitory signal, the program instructions executable by processing circuitry to cause the processing circuitry to perform a method comprising:
sending a request to the tiered storage system to provide notification of data movement initiated by the tiered storage system, wherein:
the data movement includes moving data associated with the cloud computing system from a first storage tier to a second storage tier, an
The notification includes an indication of a condition for initiating the data movement;
receiving the notification from the tiered storage system;
identifying, using the received notification, a hosted computing environment having a volume associated with the data movement;
determining whether to change allocation of resources to the hosted computing environment; and
in response to determining to change the allocation of resources to the hosted computing environment, changing the allocation of resources to the hosted computing environment.
20. The computer program product of claim 19, wherein the request includes criteria for providing the notification, the criteria based on whether performance of the first storage tier is better than performance of the second storage tier.
CN201880069208.5A 2017-11-17 2018-11-08 Policy-based optimization of cloud resources on tiered storage operations Pending CN111263931A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/815,947 2017-11-17
US15/815,947 US20190155511A1 (en) 2017-11-17 2017-11-17 Policy-based optimization of cloud resources on tiered storage operations
US15/815,965 2017-11-17
US15/815,965 US10725660B2 (en) 2017-11-17 2017-11-17 Policy-based optimization of cloud resources on tiered storage operations
PCT/IB2018/058764 WO2019097363A1 (en) 2017-11-17 2018-11-08 Policy-based optimization of cloud resources on tiered storage operations

Publications (1)

Publication Number Publication Date
CN111263931A true CN111263931A (en) 2020-06-09

Family

ID=66540095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880069208.5A Pending CN111263931A (en) 2017-11-17 2018-11-08 Policy-based optimization of cloud resources on tiered storage operations

Country Status (5)

Country Link
JP (1) JP7160449B2 (en)
CN (1) CN111263931A (en)
DE (1) DE112018004415B4 (en)
GB (1) GB2581309B (en)
WO (1) WO2019097363A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788149A (en) * 2021-01-22 2021-05-11 浪潮云信息技术股份公司 Method and system for rapidly distributing software in distributed cloud
CN113703962A (en) * 2021-07-22 2021-11-26 北京华胜天成科技股份有限公司 Cloud resource allocation method and device, electronic equipment and storage medium
CN113741807A (en) * 2021-07-29 2021-12-03 苏州浪潮智能科技有限公司 Method, system, equipment and storage medium for improving system storage performance

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702779B1 (en) * 2004-06-30 2010-04-20 Symantec Operating Corporation System and method for metering of application services in utility computing environments
US20130297903A1 (en) * 2012-05-07 2013-11-07 Hitachi, Ltd. Computer system, storage management computer, and storage management method
US20130346688A1 (en) * 2012-06-25 2013-12-26 Hitachi, Ltd. Computer system and method of controlling i/o with respect to storage apparatus
US20140032872A1 (en) * 2012-07-26 2014-01-30 Sagi Vasavi Storage recommendations for datacenters
US20160085481A1 (en) * 2014-09-19 2016-03-24 Vmware, Inc. Storage tiering based on virtual machine operations and virtual volume type
US20170160983A1 (en) * 2015-12-04 2017-06-08 International Business Machines Corporation Allocation of resources with tiered storage

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529903B2 (en) * 2005-07-05 2009-05-05 International Business Machines Corporation Systems and methods for memory migration
JP2009145931A (en) * 2007-12-11 2009-07-02 Hitachi Ltd Method of migration between virtual computer and physical computer, and computer system thereof
US8713163B2 (en) * 2010-09-17 2014-04-29 Microsoft Corporation Monitoring cloud-runtime operations
US9442771B2 (en) 2010-11-24 2016-09-13 Red Hat, Inc. Generating configurable subscription parameters
US9471243B2 (en) * 2011-12-15 2016-10-18 Veritas Technologies Llc Dynamic storage tiering in a virtual environment
US9086929B2 (en) 2012-04-06 2015-07-21 International Business Machines Corporation Dynamic allocation of a workload across a plurality of clouds
JP5953433B2 (en) * 2013-06-14 2016-07-20 株式会社日立製作所 Storage management computer and storage management method
US9298373B2 (en) * 2014-01-13 2016-03-29 International Business Machines Corporation Placement and movement of sub-units of a storage unit in a tiered storage environment
US9854002B1 (en) 2014-12-23 2017-12-26 VCE Holding Company LLC Application centric compliance management system and method for a multi-level computing environment
CN105808352A (en) * 2016-03-07 2016-07-27 广东睿江云计算股份有限公司 Cloud resource allocation method and device
US20180025403A1 (en) 2016-07-20 2018-01-25 Gary Howard Mckay Enabling a multiple storage marketplace through selective permutation of inherited storage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702779B1 (en) * 2004-06-30 2010-04-20 Symantec Operating Corporation System and method for metering of application services in utility computing environments
US20130297903A1 (en) * 2012-05-07 2013-11-07 Hitachi, Ltd. Computer system, storage management computer, and storage management method
US20130346688A1 (en) * 2012-06-25 2013-12-26 Hitachi, Ltd. Computer system and method of controlling i/o with respect to storage apparatus
US20140032872A1 (en) * 2012-07-26 2014-01-30 Sagi Vasavi Storage recommendations for datacenters
US20160085481A1 (en) * 2014-09-19 2016-03-24 Vmware, Inc. Storage tiering based on virtual machine operations and virtual volume type
US20170160983A1 (en) * 2015-12-04 2017-06-08 International Business Machines Corporation Allocation of resources with tiered storage

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788149A (en) * 2021-01-22 2021-05-11 浪潮云信息技术股份公司 Method and system for rapidly distributing software in distributed cloud
CN113703962A (en) * 2021-07-22 2021-11-26 北京华胜天成科技股份有限公司 Cloud resource allocation method and device, electronic equipment and storage medium
CN113703962B (en) * 2021-07-22 2023-08-22 北京华胜天成科技股份有限公司 Cloud resource allocation method and device, electronic equipment and storage medium
CN113741807A (en) * 2021-07-29 2021-12-03 苏州浪潮智能科技有限公司 Method, system, equipment and storage medium for improving system storage performance
CN113741807B (en) * 2021-07-29 2023-08-11 苏州浪潮智能科技有限公司 Method, system, equipment and storage medium for improving system storage performance

Also Published As

Publication number Publication date
GB2581309B (en) 2021-01-06
DE112018004415B4 (en) 2023-03-09
GB202008079D0 (en) 2020-07-15
GB2581309A (en) 2020-08-12
JP2021503650A (en) 2021-02-12
WO2019097363A1 (en) 2019-05-23
DE112018004415T5 (en) 2020-05-28
JP7160449B2 (en) 2022-10-25

Similar Documents

Publication Publication Date Title
US10831517B2 (en) Deploying a virtual machine in a computing environment
US10693759B2 (en) Dynamic network monitoring
US9880751B2 (en) Cost-effective IAAS (infrastructure-as-a-service) cloud storage based on adaptive virtual disks (AVD)
US10067940B2 (en) Enhanced storage quota management for cloud computing systems
US9880741B2 (en) Generalized storage allocation for multiple architectures
US10834226B2 (en) Live migration of containers based on geo-location
US10725660B2 (en) Policy-based optimization of cloud resources on tiered storage operations
US20190155511A1 (en) Policy-based optimization of cloud resources on tiered storage operations
US9864618B2 (en) Optimized placement of virtual machines on physical hosts based on user configured placement polices
US10705869B2 (en) Optimized migration of virtual objects across environments in a cloud computing environment
US10698785B2 (en) Task management based on an access workload
US9558039B2 (en) Managing resources of a shared pool of configurable computing resources
US11907766B2 (en) Shared enterprise cloud
US9645852B2 (en) Managing a workload in an environment
CN112005219A (en) Workload management with data access awareness in a compute cluster
CN111263931A (en) Policy-based optimization of cloud resources on tiered storage operations
US9910706B2 (en) Managing asset placement with respect to a shared pool of configurable computing resources
US10564881B2 (en) Data management in a multitier storage system
US20170124513A1 (en) Management of resources in view of business goals

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination