U.S. patent application number 12/582201 was filed with the patent office on 2010-05-20 for system, method, and software for object-based cloud computing management.
This patent application is currently assigned to Computer Associates Think, Inc.. Invention is credited to Gregory L. Bodine, Michael Ralph Chiaramonte, Kouros Hodaee Esfahany, Efraim Moscovich.
Application Number | 20100125669 12/582201 |
Document ID | / |
Family ID | 42172842 |
Filed Date | 2010-05-20 |
United States Patent
Application |
20100125669 |
Kind Code |
A1 |
Esfahany; Kouros Hodaee ; et
al. |
May 20, 2010 |
System, Method, and Software for Object-Based Cloud Computing
Management
Abstract
A method for managing cloud computing systems includes
establishing a connection between a cloud computing interface and
cloud computing systems. Each of the cloud computing systems
includes computing resources accessible by a proprietary interface.
The cloud computing interface includes object methods that abstract
the proprietary interface of each of the cloud computing systems.
The method further includes receiving a request to perform an
operation on one or more of the cloud computing systems. The method
further includes provisioning at least one object method to
implement the request.
Inventors: |
Esfahany; Kouros Hodaee;
(Huntington, NY) ; Chiaramonte; Michael Ralph;
(Nesconset, NY) ; Moscovich; Efraim; (Teaneck,
NJ) ; Bodine; Gregory L.; (Cary, NC) |
Correspondence
Address: |
BAKER BOTTS L.L.P.
2001 ROSS AVENUE, SUITE 600
DALLAS
TX
75201-2980
US
|
Assignee: |
Computer Associates Think,
Inc.
Islandia
NY
|
Family ID: |
42172842 |
Appl. No.: |
12/582201 |
Filed: |
October 20, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61114876 |
Nov 14, 2008 |
|
|
|
Current U.S.
Class: |
709/228 |
Current CPC
Class: |
G06F 9/5072 20130101;
G06Q 10/06393 20130101; G06Q 10/06 20130101 |
Class at
Publication: |
709/228 |
International
Class: |
G06F 15/16 20060101
G06F015/16 |
Claims
1. A method for managing cloud computing systems, comprising:
establishing a connection between a cloud computing interface and a
plurality of cloud computing systems, each of the plurality of
cloud computing systems comprising one or more computing resources
accessible by a proprietary interface, the cloud computing
interface comprising a plurality of object methods that abstract
the proprietary interface of each of the plurality of cloud
computing systems; receiving a request to perform an operation on
one or more of the plurality of cloud computing systems; and
provisioning, from the cloud computing interface, at least one
object method of the plurality of object methods to implement the
request.
2. The method of claim 1, wherein establishing a connection between
a cloud computing interface and a plurality of cloud computing
systems comprises establishing a secure Hypertext Transfer Protocol
(HTTP) connection between the cloud computing interface and the
plurality of cloud computing systems.
3. The method of claim 1, wherein the one or more computing
resources comprise one or more of the following: one or more
virtual machines; and one or more machine images.
4. The method of claim 1, wherein provisioning, from the cloud
computing interface, at least one object method of the plurality of
object methods to implement the request comprises provisioning at
least one object method of the plurality of object methods to
display a resource summary.
5. The method of claim 1, wherein provisioning, from the cloud
computing interface, at least one object method of the plurality of
object methods to implement the request comprises provisioning at
least one object method of the plurality of object methods to
discover at least one computing resource in the plurality of cloud
computing systems.
6. The method of claim 1, wherein provisioning, from the cloud
computing interface, at least one object method of the plurality of
object methods to implement the request comprises provisioning at
least one object method of the plurality of object methods to
configure one or more of the plurality of cloud computing
systems.
7. The method of claim 1, wherein provisioning, from the cloud
computing interface, at least one object method of the plurality of
object methods to implement the request comprises provisioning at
least one object method of the plurality of object methods to add a
machine image.
8. A system for managing cloud computing systems, comprising: one
or more processing units operable to: establish a connection
between a cloud computing interface and a plurality of cloud
computing systems, each of the plurality of cloud computing systems
comprising one or more computing resources accessible by a
proprietary interface, the cloud computing interface comprising a
plurality of object methods that abstract the proprietary interface
of each of the plurality of cloud computing systems; receive a
request to perform an operation on one or more of the plurality of
cloud computing systems; and provision, from the cloud computing
interface, at least one object method of the plurality of object
methods to implement the request.
9. The system of claim 8, wherein the one or more processing units
are operable to establish a secure Hypertext Transfer Protocol
(HTTP) connection between the cloud computing interface and the
plurality of cloud computing systems.
10. The system of claim 8, wherein the one or more computing
resources comprise one or more of the following: one or more
virtual machines; and one or more machine images.
11. The system of claim 8, wherein the at least one object method
of the plurality of object methods is operable to display a
resource summary.
12. The system of claim 8, wherein the at least one object method
of the plurality of object methods is operable to discover at least
one computing resource in the plurality of cloud computing
systems.
13. The system of claim 8, wherein the at least one object method
of the plurality of object methods is operable to configure one or
more of the plurality of cloud computing systems.
14. The system of claim 8, wherein the at least one object method
of the plurality of object methods is operable to add a machine
image.
15. Software for managing cloud computing systems, the software
embodied in a computer-readable medium and when executed operable
to: establish a connection between a cloud computing interface and
a plurality of cloud computing systems, each of the plurality of
cloud computing systems comprising one or more computing resources
accessible by a proprietary interface, the cloud computing
interface comprising a plurality of object methods that abstract
the proprietary interface of each of the plurality of cloud
computing systems; receive a request to perform an operation on one
or more of the plurality of cloud computing systems; and provision,
from the cloud computing interface, at least one object method of
the plurality of object methods to implement the request.
16. The software of claim 15, operable to establish a secure
Hypertext Transfer Protocol (HTTP) connection between the cloud
computing interface and the plurality of cloud computing
systems.
17. The software of claim 15, wherein the one or more computing
resources comprise one or more of the following: one or more
virtual machines; and one or more machine images.
18. The software of claim 15, wherein the at least one object
method of the plurality of object methods is operable to display a
resource summary.
19. The software of claim 15, wherein the at least one object
method of the plurality of object methods is operable to discover
at least one computing resource in the plurality of cloud computing
systems.
20. The software of claim 15, wherein the at least one object
method of the plurality of object methods is operable to configure
one or more of the plurality of cloud computing systems.
Description
RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C.
.sctn.119(e) of the priority of U.S. Provisional Application No.
61/114,876 filed Nov. 14, 2008, entitled "System, Method, and
Software for Object-Based Cloud Computing Management and Reference
Architecture."
TECHNICAL FIELD
[0002] The present invention relates generally to computer
management, and more particularly to a system, method, and software
for object-based cloud computing management.
BACKGROUND
[0003] Cloud computing systems include computing resources. For
example, cloud computing systems may include servers, network
storage devices, and other information technology (IT) services.
Cloud computing systems include proprietary interfaces to access
their respective computing resources.
SUMMARY
[0004] According to the present invention, disadvantages and
problems associated with previous techniques for managing cloud
computing systems may be reduced or eliminated.
[0005] In certain embodiments, a method for managing cloud
computing systems includes establishing a connection between a
cloud computing interface and cloud computing systems. Each of the
cloud computing systems includes computing resources accessible by
a proprietary interface. The cloud computing interface includes
object methods that abstract the proprietary interface of each of
the cloud computing systems. The method further includes receiving
a request to perform an operation on one or more of the cloud
computing systems. The method further includes provisioning at
least one object method to implement the request.
[0006] Certain embodiments of the present invention may provide one
or more technical advantages. Conventional cloud computing systems
include computing resources and each provider may provide access to
the computing resources in a slightly different way. Similar to
other emerging technologies, providers of cloud computing systems
have created proprietary interfaces to these technologies.
Customers may select a particular cloud computing system to avoid
dealing with inconsistent and different interfaces and, therefore,
are limited to only the capabilities provided by the chosen cloud
computing system. According to certain embodiments of the present
invention, a cloud computing interface addresses these challenges
by providing a uniform means for discovery, monitoring, and
management of such environments. The cloud computing interface
provides an abstraction layer for the cloud computing systems. The
abstraction layer provides a standard communication interface to
the cloud computing systems. As a result, certain embodiments of
the present invention provide a uniform interface to these cloud
computing systems so that they can be used, monitored, and managed
in a uniform manner regardless of environment or resources
provided. Thus, the possibilities for customers to use cloud
computing systems may be expanded and the total cost of ownership
may be reduced.
[0007] Certain embodiments of the present invention may include
some, all, or none of the above advantages. One or more other
technical advantages may be readily apparent to those skilled in
the art from the figures, descriptions, and claims included herein.
Moreover, while specific advantages have been enumerated above,
various embodiments may include all, some, or none of the
enumerated advantages.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] For a more complete understanding of the present invention
and its features and advantages, reference is now made to the
following description, taken in conjunction with the accompanying
drawings, in which:
[0009] FIG. 1 illustrates an example system for managing cloud
computing systems, according to certain embodiments of the present
invention;
[0010] FIG. 2 illustrates example details of the cloud computing
interface of FIG. 1, according to certain embodiments of the
present invention;
[0011] FIG. 3 illustrates one embodiment of an example display that
may be generated by the cloud computing interface of FIGS. 1 and 2
to allow a user to add a resource, according to certain embodiments
of the present invention;
[0012] FIG. 4 illustrates one embodiment of an example display that
may be generated by the cloud computing interface of FIGS. 1 and 2
to allow a user to select a machine image, according to certain
embodiments of the present invention;
[0013] FIG. 5 illustrates one embodiment of an example display that
may be generated by the cloud computing interface of FIGS. 1 and 2
to allow a user to display a resource summary, according to certain
embodiments of the present invention;
[0014] FIG. 6 illustrates one embodiment of an example display that
may be generated by the cloud computing interface of FIGS. 1 and 2
to allow a user to configure a resource profile, according to
certain embodiments of the present invention;
[0015] FIG. 7 illustrates one embodiment of an example display that
may be generated by the cloud computing interface of FIGS. 1 and 2
to allow a user to configure resource components, according to
certain embodiments of the present invention;
[0016] FIG. 8 illustrates one embodiment of an example display that
may be generated by the cloud computing interface of FIGS. 1 and 2
to allow a user to identify changes to resources, according to
certain embodiments of the present invention; and
[0017] FIG. 9 illustrates an example method for managing cloud
computing systems, according to certain embodiments of the present
invention.
DESCRIPTION OF EXAMPLE EMBODIMENTS
[0018] FIG. 1 illustrates an example system 100 for managing cloud
computing systems, according to certain embodiments of the present
invention. System 100 may include one or more user systems 102 and
one or more administrative systems 104, one or more server systems
106, one or more cloud computing systems 108 and 110, and a network
112. Although this particular implementation of system 100 is
illustrated and primarily described, the present invention
contemplates any suitable implementation of system 100 according to
particular needs.
[0019] In general, system 100 is operable to manage cloud computing
systems. In certain embodiments, system 100 includes an abstraction
layer for discovery, monitoring, and configuration of such cloud
computing systems. The abstraction layer may include a standard
communication interface to the cloud computing systems. As
described in more detail below, the standard communication
interface facilitates management of cloud computing systems in a
uniform manner regardless of provider.
[0020] System 100 may include one or more user systems 102 and one
or more administrative systems 104. "User system 102" and "user of
user system 102" may be used interchangeably. A user of user system
102 may include, for example, a human user or a computer program or
other suitable software module for automatically interacting with
user system 102. Likewise, "administrative system 104" and "user of
administrative system 104" may be used interchangeably. A user of
administrative system 104 may include, for example, a human user or
a computer program or other suitable software module for
automatically interacting with administrative system 104.
[0021] Each user system 102 and administrative system 104 may
include one or more computer systems at one or more locations. Each
computer system may include any appropriate input devices (such as
a keypad, touch screen, mouse, or other device that can accept
information), output devices, mass storage media, or other suitable
components for receiving, processing, storing, and communicating
data. Both the input device and output device may include fixed or
removable storage media such as a magnetic computer disk, CD-ROM,
or other suitable media to both receive input from and provide
output to a user of administrative system 104. Each computer system
may include a personal computer, workstation, network computer,
kiosk, wireless data port, personal data assistant (PDA), one or
more processors within these or other devices, or any other
suitable processing device. As an example, system 100 may include
multiple distributed user systems 102 and/or administrative systems
104. User systems 102 and administrative systems 104 may be
physically distributed, being in different locations geographically
remote from each other and from the other components of system 100,
or logically distributed, being at approximately the same location
as other user systems 102 and administrative systems 104 and the
other components of system 100. For simplicity, the one or more
user systems 102 and administrative systems 104 of system 100 are
referred to throughout this description primarily in the singular.
Although user system 102 and administrative system 104 are
illustrated and primarily described as being separate, it is
understood that the computer systems and the functionality
associated with user system 102 and administrative system 104 may
be combined or separated in any suitable manner.
[0022] System 100 may include one or more server systems 106,
referred to primarily in the singular throughout the remainder of
this description. Server system 106 may include one or more
electronic computing devices operable to receive, transmit,
process, and store data associated with system 100. For example,
server system 106 may include one or more general-purpose PCs,
Macintoshes, workstations, Unix-based computers, server computers,
one or more server pools, or any other suitable devices. In certain
embodiments, server system 106 includes a web server. In short,
server system 106 may include any suitable combination of software,
firmware, and hardware. Although a single server system 106 is
illustrated, the present invention contemplates system 100
including any suitable number of server systems 106. Moreover,
although referred to as a "server system," the present invention
contemplates server system 106 comprising any suitable type of
processing device or devices.
[0023] Server system 106 may be communicatively coupled to cloud
computing systems 108 and 110 via network 112. Although not
illustrated, user system 102 and administrative system 104 may be
communicatively coupled to one another as well as to server system
106 via network 112. Network 112 facilitates wireless or wireline
communication. Network 112 may communicate, for example, IP
packets, Frame Relay frames, Asynchronous Transfer Mode (ATM)
cells, voice, video, data, and other suitable information between
network addresses. Network 112 may include one or more local area
networks (LANs), radio access networks (RANs), metropolitan area
networks (MANs), wide area networks (WANs), all or a portion of the
global computer network known as the Internet, and/or any other
communication system or systems at one or more locations.
[0024] Server system 106 may include a processing module 114 and a
memory module 116. Processing module 114 may include one or more
microprocessors, controllers, or any other suitable computing
devices or resources. Processing module 114 may work, either alone
or with other components of system 100, to provide a portion or all
of the functionality of system 100 described herein. Memory module
116 may take the form of volatile or non-volatile memory including,
without limitation, magnetic media, optical media, random access
memory (RAM), read-only memory (ROM), removable media, or any other
suitable memory component. Although a single server system 106 is
illustrated, the present invention contemplates system 100
including any suitable number of server systems 106. Moreover,
although referred to as a "server system," the present invention
contemplates server system 106 comprising any suitable type of
processing device or devices.
[0025] System 100 may include one or more cloud computing systems
108 and 110. Cloud computing systems 108 and 110 may include one or
more electronic computing devices operable to receive, transmit,
process, and store data associated with system 100. For example,
cloud computing systems 108 and 110 may include one or more
general-purpose PCs, Macintoshes, workstations, Unix-based
computers, server computers, one or more server pools, or any other
suitable devices. In short, cloud computing systems 108 and 110 may
include any suitable combination of software, firmware, and
hardware. It should be noted that although two cloud computing
systems 108 and 110 are illustrated, any suitable number of cloud
computing systems may be included in system 100. In addition, there
may be multiple groups of cloud computing systems in system
100.
[0026] In certain embodiments, cloud computing systems 108 and 110
provide computing resources 124 and 126, respectively, to customers
and charges the customers for their specific use of computing
resources 124 and 126. For example, cloud computing resources 124
and 126 may include one or more virtual machines. As another
example, cloud computing resources 124 and 126 may include one or
more machine images. A machine image may refer to a bootable file
that includes a particular configuration and operating system. As
yet another example, cloud computing resources 124 and 126 may
include one or more Intel x86 based servers that provide a
combination of hardware and software resources.
[0027] In certain embodiments, computing resources 124 and 126 may
be accessible by proprietary interfaces 120 and 122, respectively.
In certain embodiments, interfaces 120 and 122 may be unique to
their respective cloud computing systems 108 and 110. For example,
interfaces 120 and 122 may each include a proprietary command-line
interface (CLI) operable to receive typing commands. As another
example, interfaces 120 and 122 may each include a proprietary
graphical user interface (GUI) such as an online portal that
includes hypertext mark-up language (HTML) pages for display and
data capture. As another example, interfaces 120 and 122 may each
include a proprietary data adapter to access computing resources
124 and 126. It should be noted that although two proprietary
interfaces 120 and 122 are illustrated, any suitable number of
proprietary interfaces may be implemented. In addition, there may
be multiple groups of cloud computing systems sharing a proprietary
interface.
[0028] A user of user system 102 may select a particular cloud
computing system to avoid accessing different proprietary
interfaces 120 and 122. For example, resources 124 and 126 of cloud
computing systems 108 and 110 may include Unix-based computer
resources. Cloud computing systems 108 and 110 may expose resources
124 and 126 in inconsistent and different ways through proprietary
interfaces 120 and 122. A user of user system 102 may select a
particular cloud computing system and interface, such as cloud
computing system 108 and interface 120, to avoid dealing with
different interfaces, such as interface 122. Thus, the user may be
limited to the Unix-based computers provided by the cloud computing
system selected, and therefore the user may not able to take
advantage of the Unix-based computers of other cloud computing
systems, such as cloud computing system 110.
[0029] In certain embodiments, server system 106 may include a
cloud computing interface 118. Cloud computing interface 118 may
refer to any suitable hardware and/or software operable to abstract
proprietary interfaces 120 and 122. In certain embodiments,
abstracting proprietary interfaces may refer to displaying the
functionality of the proprietary interfaces. In certain
embodiments, abstracting proprietary interfaces may refer to
translating a request provided by a user into proprietary commands
to implement the request at one or more cloud computing systems. As
described in more detail below, by abstracting proprietary
interfaces 120 and 122, cloud computing interface 118 provides an
abstraction layer for cloud computing systems 108 and 110 that
hides the different implementation details of the interfaces 120
and 122 to a user and may display the functionality of interfaces
120 and 122 through a uniform interface.
[0030] Cloud computing interface 118 includes object methods that
abstract proprietary interfaces 120 and 122, in certain
embodiments. An object method may refer to any object-oriented
functionality. For example, an object method may refer to an
application-specific program, a data structure, a class, a web
service, and/or any other suitable object-oriented functionality
according to particular needs.
[0031] Cloud computing interface 118 may receive a request to
perform an operation on one or more of the plurality of cloud
computing systems and may provision an object method to implement
the operation, in certain embodiments. For example, cloud computing
interface 118 may receive a request from a user to add a new a
virtual machine to cloud computing system 108. Cloud computing
interface 118 may provision an object method that translates the
request into proprietary commands to implement the request to add a
new virtual machine at cloud computing system 108. Thus, cloud
computing interface 118 may receive a request to perform an
operation on one or more of the plurality of cloud computing
systems and an object method may implement the operation.
[0032] In certain embodiments, the object methods may be
dynamically configured. For example, as described above,
proprietary interfaces 120 and 122 may each include a proprietary
data adapter to access computing resources 124 and 126. The object
methods may be dynamically configured to communicate with the data
adapters. As another example, the object methods may be dynamically
configured using Extensible Markup Language (XML) files that
describe the functionality and communication protocols of
proprietary interfaces 120 and 122. By dynamically configuring the
object methods, object methods may be rapidly provisioned to
support new proprietary interfaces and new functionality within
existing proprietary interfaces.
[0033] In certain embodiments, a secure connection may be
established between cloud computing interface 118 and cloud
computing systems 108 and 110 over network 112. For example, a
secure Hypertext Transfer Protocol (HTTP) connection may be
established between cloud computing interface 118 and cloud
computing systems 108 and 110. A secure HTTP protocol refers to a
protocol that provides the ability for secure transactions to take
place over network 112. In alternative networks, any suitable data
communications protocol may be used to establish a secure
connection. Additional details of example embodiments of cloud
computing interface 118 are discussed below with reference to FIG.
2.
[0034] FIG. 2 illustrates example details of cloud computing
interface 118 of FIG. 1, according to certain embodiments of the
present invention. As described above, cloud computing interface
118 includes object methods that abstract proprietary interfaces
120 and 122 and may be provisioned to implement operations. In
certain embodiments, the object methods may be included in one or
more components. In the illustrated embodiment, cloud computing
interface 118 includes a display component 130, an imaging
component 132, and a change and configurations component 134. As
described in more detail below, each of these components may
include certain object methods that implement certain functionality
associated with managing cloud computing systems 108 and 110. It
should be noted that although three components 130, 132, and 134
are illustrated, any suitable number of components may be included
in cloud computing interface 118.
[0035] Display component 130 may abstract the interfaces of cloud
computing systems 108 and 110 and generate a display of the
functionality of the interfaces, in certain embodiments. For
example, display component 130 may include an object method that
may display applications and/or servers provided by interfaces of
cloud computing systems 108 and 110. As another example, display
component 130 may include an object method that may discover at
least one computing resource in cloud computing systems 108 and
110. As another example, display component 130 may include an
object method that may list features and/or services provided by
interfaces of cloud computing systems 108 and 110.
[0036] In certain embodiments, cloud computing imaging component
132 may manage resources for cloud computing systems 108 and 110.
For example, imaging component 132 may include an object method
that may add machine images to cloud computing systems 108 and 110.
As another example, imaging component 132 may include an object
method that may display machine images provided by cloud computing
systems 108 and 110. As another example, imaging component 132 may
include an object method that may instantiate a new server from a
machine image.
[0037] Cloud computing change and configurations component 134 may
configure cloud computing systems 108 and 110, in certain
embodiments. For example, change and configurations component 134
may include an object method that may determine the resource
consumption of applications and/or servers. As another example,
change and configurations component 134 may include an object
method that may retrieve the cost associated with operating
applications and/or servers. As another example, change and
configurations component 134 may include an object method that may
determine the resource consumption of selected applications and/or
servers. As another example, change and configurations component
134 may include an object method that may delete existing
applications and/or servers.
[0038] FIGS. 3-8 include embodiments of example displays that may
be generated by cloud computing interface 118 of FIGS. 1 and 2.
Although certain functionality is illustrated and described below
in a particular way, it should be understood that the functionality
may be provided and displayed in any suitable fashion.
[0039] FIG. 3 illustrates one embodiment of an example display 302
that may be generated by cloud computing interface 118 of FIGS. 1
and 2 to allow a user to add a resource, according to certain
embodiments of the present invention. As shown in the illustrated
embodiment, display 302 includes a window 304 with a managed
resource area and a cloud computing systems area. The managed
resource area includes a hierarchical listing of managed resources
including cloud computing system A and cloud computing system B.
Cloud computing system A includes two resources
resource_alpha.systema.com and resource_beta.systema.com. In
certain embodiments, cloud computing system A and cloud computing
system B may include different proprietary interfaces unique to
their respective cloud computing systems. Display 302 facilitates
management of cloud computing system A and cloud computing system B
by abstracting the proprietary interfaces of cloud computing system
A and cloud computing system B and displaying the resources and of
cloud computing system A and cloud computing system B in a uniform
manner.
[0040] In certain embodiments, display 302 includes several menu
tabs for managing the cloud computing systems listed in the managed
resource area. In the illustrated embodiment, a summary tab, an
imaging tab, a software tab, and an add resource tab are displayed
for a particular window and, as indicated by reference number 306,
the add resource tab is selected. The add resource tab includes
several selectable buttons to add a resource to a particular cloud
computing system. For example, button 308 may be selected to add a
new virtual machine to a particular cloud computing system. As
another example, button 310 may be selected to add a new SUN
SOLARIS system to a particular cloud computing system. As yet
another example, button 312 may be selected to add a new
WINDOWS/LINUX system to a particular cloud computing system. As yet
another example, button 314 may be selected to add a new AIX system
to a particular cloud computing system. As yet another example,
button 316 may be selected to add a new logical partition to a
particular cloud computing system. As yet another example, button
318 may be selected to add a new machine image to a particular
cloud computing system.
[0041] In certain embodiments, a user may select a particular
button, such as button 318, by selecting a particular region of
display 302 (as indicated by reference number 320) and cloud
computing interface 118 may provision an object method to implement
the request. In the illustrated embodiment, selecting the
particular region of display 302 indicated by reference number 320
may generate a request to add a new machine image. Cloud computing
interface 118 may receive the request to add a new machine image
and may provision an object method to implement the request. The
object method may translate the request into proprietary commands
to implement the request.
[0042] In certain embodiments, selecting a particular region of
display 302 (as indicated by reference number 320) may result in
display 302 displaying a new window, such as a new window
associated with selecting a particular machine image to add. An
example embodiment of selecting a machine image is described in
more detail with reference to FIG. 4.
[0043] FIG. 4 illustrates one embodiment of an example display that
may be generated by cloud computing interface 118 of FIGS. 1 and 2
to allow a user to select a particular machine image to add,
according to certain embodiments of the present invention. As
indicated by reference number 402 in the illustrated embodiment,
the add resource tab is selected and window 404 includes a listing
of machine images that may be added. In the illustrated embodiment,
window 404 includes the machine images that may be selected, and
the machine images are arranged by an ID field 406 and a Manifest
description field 408. ID field 406 includes a unique identifier of
each of the machine images. Manifest description field 408 includes
a reference to a file that includes a description of the machine
image. A particular machine image may be selected (as indicated by
reference number 410) and a new window 412 may be displayed that
includes additional information regarding the machine image
selected.
[0044] In certain embodiments, a user may select a particular
machine image to add by selecting a particular region of window 404
(as indicated by reference number 410) and cloud computing
interface 118 may provision an object method to implement the
request. In the illustrated embodiment, selecting the particular
region of window 404 as indicated by reference number 410 may
generate a request to add a new machine image. Cloud computing
interface 118 may receive the request to add a new machine image
and may provision an object method to implement the request. The
object method may translate the request into proprietary commands
to implement the request.
[0045] FIG. 5 illustrates one embodiment of an example display that
may be generated by cloud computing interface 118 of FIGS. 1 and 2
to allow a user to display a resource summary, according to certain
embodiments of the present invention. As illustrated in window 502
in the illustrated embodiment, a summary tab is selected and
resource_alpha.systema.com of cloud computing system A is selected
(as indicated by reference number 504). A summary of
resource_alpha.systema.com and a chart of CPU utilization for
resource_alpha.systema.com are displayed. As shown in the
illustrated embodiment, the current utilization of
resource_alpha.systema.com is displayed as 50%.
[0046] In certain embodiments, a view of the summary may be
customized according to one or more buttons and selection boxes and
cloud computing interface 118 may provision an object method to
implement the request. For example, a view of the summary may be
customized by time selection criteria including 30 minutes (30 m),
1 hour (1 h), 6 hours (6 h), 12 hours (12 h), 1 day (1 d), 1 week
(1 wk), 2 weeks (2 wks), and 1 month (1 mo). As another example, a
view of the summary may be customized by auto scale and auto
refresh selection boxes.
[0047] In certain embodiments, a user may select particular
criteria by selecting a particular region of window 502 and cloud
computing interface 118 may provision an object method to implement
the request. For example, a user may select 6 hours (6 h) from the
time selection criteria to change the display. Cloud computing
interface 118 receives the request and provisions an object method
to request data to display the updated summary of and
resource_alpha.systema.com.
[0048] FIG. 6 illustrates one embodiment of an example display that
may be generated by cloud computing interface 118 of FIGS. 1 and 2
to allow a user to configure a resource profile, according to
certain embodiments of the present invention. As indicated by
reference number 602 in the illustrated embodiment, a details tab
is selected and a profile of resource_alpha.systema.com of cloud
computing system A is displayed. In the illustrated embodiment, the
profile includes system information fields for
resource_alpha.systema.com including an Operating System (OS) Name
field and an Internet Protocol (IP) Address field.
[0049] In certain embodiments, a user may update the profile by
editing a particular field and cloud computing interface 118 may
provision an object method to implement the request. For example, a
user may update the IP Address field to include a different value
for resource_alpha.systema.com. Cloud computing interface 118
receives the request and provisions an object method to update the
IP address of resource_alpha.systema.com at cloud computing system
A.
[0050] FIG. 7 illustrates one embodiment of an example display that
may be generated by cloud computing interface 118 of FIGS. 1 and 2
to allow a user to configure resource components, according to
certain embodiments of the present invention. As indicated by
reference number 702 in the illustrated embodiment, a components
tab is selected and a listing of components installed at
resource_alpha.systema.com is displayed. In the illustrated
embodiment, the listing of components is arranged by a Name field,
a Version field, a Category field, and a Qualifier field. In
certain embodiments, a user may configure the resource components
by editing a particular field and cloud computing interface 118 may
provision an object method to implement the request. For example, a
user may delete a particular component from
resource_alpha.systema.com. Cloud computing interface 118 receives
the request and provisions an object method to delete the component
from resource_alpha.systema.com at cloud computing system A.
[0051] FIG. 8 illustrates one embodiment of an example display that
may be generated by cloud computing interface 118 of FIGS. 1 and 2
to allow a user to identify changes to resources, according to
certain embodiments of the present invention. As indicated by
reference number 802 in the illustrated embodiment, a changes tab
is selected and a listing of detected changes at
resource_beta.systema.com is displayed.
[0052] In certain embodiments, a user may request a change
detection analysis to identify changes to resources and cloud
computing interface 118 may provision an object method to implement
the request. For example, a user may compare a current
configuration of components against a baseline configuration of
components. Cloud computing interface 118 may receive the request
to perform a change detection analysis and may provision an object
method to implement the request. In the illustrated embodiment,
resource_beta.systema.com is compared against a baseline
configuration and the comparison results list an Apache2 HTTP
Server (UNIX)(/) as a detected change to
resource_beta.systema.com.
[0053] FIG. 9 illustrates an example method for managing cloud
computing systems, according to certain embodiments of the present
invention. The method begins at step 902 where a connection is
established between a cloud computing interface and cloud computing
systems. Each of the cloud computing systems include one or more
computing resources accessible by a proprietary interface. The
cloud computing interface includes a plurality of object methods
that abstract the proprietary interface of each of the cloud
computing systems. At step 904, a request to perform an operation
on one or more of the plurality of cloud computing systems is
received. At step 906, at least one object method is provisioned
from the cloud computing interface to implement the request.
[0054] It should be understood that some of the steps illustrated
in FIG. 9 may be combined, modified or deleted where appropriate,
and additional steps may also be added to the flowchart.
Additionally, as indicated above, steps may be performed in any
suitable order without departing from the scope of the
invention.
[0055] Although the present invention has been described with
several embodiments, diverse changes, substitutions, variations,
alterations, and modifications may be suggested to one skilled in
the art, and it is intended that the invention encompass all such
changes, substitutions, variations, alterations, and modifications
as fall within the spirit and scope of the appended claims.
* * * * *