IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies.
1. Field of the Invention
This invention relates to the field of computer systems management and, in particular, to methods, systems, and computer program products for extending the manageability capabilities of information technology (IT) resources through the use of manageability aspects.
2. Description of Background
One of the primary goals of an information technology (IT) resource model within an IT management system is to define programmatic representations of manageability interfaces of IT manageable resources. Using web service concepts, each IT resource type is represented as an XML schema component. The XML schema component is then logically extended with operational behavior. Operational behavior refers to the introduction of web service operations to a stateful object represented by the XML schema component. Requestors access properties, operations, and events of a manageable resource through standard interfaces defined in standards such as CIM, web services distributed management (WSDM), and through other organizations extending base manageability capabilities.
One of the most important, and least understood, tenets in expressing the manageability of an IT resource is that the interfaces expressing the manageability function of a resource are an integral part of the resource itself. In other words, the very existence of a core manageability interface of a manageable resource is dependent upon the existence of the manageability resource to which it applies. A resource cannot express, implement, or make available a manageability interface if the resource does not exist.
Determining the composition of a manageability interface for a resource poses problems related to the maintenance of the structural integrity of the manageable resource entity itself. In traditional resource management systems, each management function takes on the responsibility of representing the same IT resources, with each function representing a particular perspective for the manageable resources. As a result, the same manageable resources are represented by multiple implementations across the system with no coherence with respect to the resource identity or lifecycle management of the resource. As a further consequence, programming logic is introduced in an attempt to correlate the different names and identities of the various expressions of the manageable resources in order to achieve some level of coherence.
In traditional systems, few implementations of manageability interfaces represent an essential state or life cycle of the resource entity itself. Rather, the implementations represent specific manageability aspects of an IT resource with no formal means to relate the manageability extensions to the identity or life cycle of the actual manageable resource entity being represented. In view of the foregoing considerations, what is needed is an improved technique for extending the manageability capabilities of IT resources.
Computer-executable methods for extending a plurality of manageability capabilities of manageable information technology (IT) resources utilize an “aspect of” association for describing a type of relationship between a first object representing a manageable resource playing a role of a subject and one or more additional objects, each playing a role of a manageable resource manageability aspect. The “aspect of” association establishes an overall manageability function for the first object and the one or more additional objects as a logical composition of a plurality of manageability capabilities. The manageability capabilities are provided using one or more distinct implementation classes for supporting a specific role, and for supporting management-discipline related aspects and behaviors needed by each of a plurality of resource management applications for managing the manageable resource. The one or more additional objects playing the role of the aspects each have an aspect life cycle that is bounded maximally by a subject lifecycle of the first manageable resource. The one or more additional objects are destroyed when the first object representing the manageable resource is destroyed.
System and computer program products corresponding to the above-summarized methods are also described and claimed herein. Other systems, methods, and/or computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, and/or computer program products be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
Each node 100.i may include one or more Central Processing Units (CPUs), some or all of which share memory with one another. This memory can be implemented using any computer readable storage medium such as electronic memory, magnetic memory, optical memory, or any of various combinations thereof. One or more of these CPUs are capable of implementing an operating system. Each node 100.i may be connected locally to a non-volatile storage device such as a Direct Access Storage Device (DASD) unit or other similar storage device 200.i, where i is an integer greater than or equal to 1, but less than or equal to n. Thus, each node 100.i is capable of performing I/O operations on a corresponding storage device 200.i.
Storage device 200.i typically comprises a rotating magnetic disk storage unit, sometimes referred to as a disk drive. However, the scope of the present invention includes any nonvolatile storage mechanism capable of holding data files. The number n of nodes 100.i is not critical. Furthermore, not everything operably coupled to network 104 has to be a data processing node. A plurality of DASD storage devices 300.1 through 300.m are connected to network 104 using, for example, a network adapter 300 for maintaining communication between DASD storage devices 300.1 to 300.m and network 104.
The nodes 100.i may contain additional software and hardware, a description of which is not necessary for understanding the invention. One or more of the nodes 100.i has stored therein data representing sequences of instructions which, when executed, cause the methods described hereinafter to be performed. Thus, one or more of the nodes 100.i include computer executable programmed instructions for directing the system of
The programmed instructions may be embodied in at least one hardware, firmware, or software module resident in a memory associated with the one or more Central Processing Units (CPUs) of one or more nodes 100.i. This memory can be implemented using any computer readable storage medium such as electronic memory, magnetic memory, optical memory, or any of various combinations thereof. Alternatively or additionally, the programmed instructions may be embodied on a computer readable medium (such as a CD disk or floppy disk) which may be used for transporting the programmed instructions to the memory of the node 100.i. Alternatively or additionally, the programmed instructions may be embedded in a computer-readable, signal or signal-bearing medium that is uploaded to the node 100.i by a vendor or supplier of the programmed instructions, and this signal or signal-bearing medium may be downloaded through an interface to the node 100.i from the network 104 by end users or potential buyers.
In many situations, it is not necessary or desirable for the overall manageability of a resource to be designed and implemented by a single vendor or entity. Rather, it may be preferable for manageable resources to be represented by a combination of interfaces designed by several different designers or standards organizations. Looking ahead, implementations of manageability interfaces are likely to be constructed by multiple developers and organizations. Over time, the capabilities of a manageable resource may change as new software is provisioned into the environment. In order to minimize the disruption of adding new domain-specific capabilities to existing resources, it would be preferable if capabilities could be added to manageable resources in a dynamic manner, such that multiple manageable resources could be logically combined at deployment time or run time.
Illustrative examples of aspects include, but are not limited to, support of resource monitoring, provisioning, operations management such as start and stop, performance, and availability management. In many cases, these aspects or logical extensions to the manageability of the resource are defined by different expert groups. These expert groups include specialists in each of various individual management disciplines or domains. Each of these aspects implements its own specific interface, allowing specific interaction with that aspect of the manageable resource. These aspects serve to logically extend the manageability interface of the subject manageable resource. Optionally, it may be possible for a given manageable resource instance to play multiple distinct roles in different relationships. For example, a given manageable resource instance may play the role of a subject in one relationship, and also play the role of an aspect in a separate and distinct relationship.
At optional block 205, one or more of the additional manageable resources playing the role of an aspect may, but need not, be implemented using a separate Web service instance. Illustratively, such a Web service instance may be supplied by a systems management product. Each manageability aspect itself may represent a separate manageable resource. Thus, the overall manageability of a manageable resource may be implemented by a plurality of separate and distinct manageable resource instances. Each of these implements its own specific interface, facilitating specific interaction with that aspect of the manageable resource subject.
With reference to block 207, the one or more additional objects representing the aspects each have an aspect life cycle that is bounded maximally by a subject lifecycle of the first object representing the manageable resource subject. The one or more additional objects representing the aspects are destroyed when the first object representing the manageable resource subject is destroyed (block 209).
The behavioral semantic of the AspectOf relationship type requires that the object playing the role of the aspect 303 has a life cycle that is bounded maximally by the life cycle of the manageable resource playing the role of the subject 301. Note that this life cycle constraint applies to the object playing the role of the aspect 303 only when the object is playing the role of an aspect in the AspectOf 305 relationship. If the AspectOf 305 relationship itself is terminated, this does not result in the destruction of the manageable object playing the role of the aspect 303. It simply means that the object playing the role of the aspect 303 is now not playing that role in the relationship since the relationship has been destroyed (block 307). Manageable resources that have the ability to play the role of an aspect 303, but are not in an AspectOf 305 relationship, are not subject to the life cycle constraints described herein.
The semantic meaning of a Destroy operation implemented by the manageable resource playing the role of the aspect 503 in response to receipt of the Destroy message is to terminate itself. The termination of an object playing the role of the aspect does not imply a termination of either its related subject 301, 401 (
The object playing the role of the aspect 503 must implement a msf-rel:RelationshipRole 509 interface which enables the aspect 503 to implement the interactions necessary to participate in a relationship. For example, the msf-rel:RelationshipRole 509 interface is used to enable an object to play the role of an aspect 503 in the AspectOf 305 (
The foregoing exemplary embodiments may be provided in the form of computer-implemented processes and apparatuses for practicing those processes. The exemplary embodiments can also be provided in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer (such as, for example, one or more processing nodes 100.i of
While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed for carrying out this invention, but that the invention will include all embodiments falling within the scope of the claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another. Furthermore, the use of the terms a, an, etc. do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item.
Number | Name | Date | Kind |
---|---|---|---|
5878431 | Potterveld et al. | Mar 1999 | A |
6154767 | Altschuler et al. | Nov 2000 | A |
6477645 | Drews | Nov 2002 | B1 |
6578086 | Regan et al. | Jun 2003 | B1 |
6738819 | Li et al. | May 2004 | B1 |
6901446 | Chellis et al. | May 2005 | B2 |
7152076 | Sundararajan et al. | Dec 2006 | B2 |
7165118 | Ballinger et al. | Jan 2007 | B2 |
7200530 | Brown et al. | Apr 2007 | B2 |
7610386 | Martinez et al. | Oct 2009 | B1 |
7698398 | Lai | Apr 2010 | B1 |
7814226 | Patrick | Oct 2010 | B2 |
7840669 | Dutta et al. | Nov 2010 | B2 |
8032557 | Vijendra et al. | Oct 2011 | B1 |
20020082858 | Heddaya et al. | Jun 2002 | A1 |
20020112139 | Krause et al. | Aug 2002 | A1 |
20030055945 | Bear et al. | Mar 2003 | A1 |
20030198189 | Roberts et al. | Oct 2003 | A1 |
20040024877 | Celle | Feb 2004 | A1 |
20040230943 | Pourheidari et al. | Nov 2004 | A1 |
20040237094 | Vambenepe et al. | Nov 2004 | A1 |
20050132381 | Fiammante et al. | Jun 2005 | A1 |
20050222969 | Yip et al. | Oct 2005 | A1 |
20060026552 | Mazzitelli et al. | Feb 2006 | A1 |
20060047742 | O'Neill et al. | Mar 2006 | A1 |
20060048097 | Doshi | Mar 2006 | A1 |
20060092950 | Arregoces et al. | May 2006 | A1 |
20060123116 | Rahman et al. | Jun 2006 | A1 |
20060146991 | Thompson et al. | Jul 2006 | A1 |
20060165040 | Rathod | Jul 2006 | A1 |
20060212473 | Carusi et al. | Sep 2006 | A1 |
20060253420 | Hinton et al. | Nov 2006 | A1 |
20060277606 | Yunus et al. | Dec 2006 | A1 |
20060288071 | Bigioi et al. | Dec 2006 | A1 |
20070022154 | Saunders et al. | Jan 2007 | A1 |
20070169199 | Quinnell et al. | Jul 2007 | A1 |
20070198667 | Behrendt et al. | Aug 2007 | A1 |
20070294366 | Ozzie et al. | Dec 2007 | A1 |
20080127047 | Zhang et al. | May 2008 | A1 |
20080141280 | Azulai | Jun 2008 | A1 |
20090043786 | Schmidt et al. | Feb 2009 | A1 |
20090089408 | Bou-Diab et al. | Apr 2009 | A1 |
20090132708 | Hayward | May 2009 | A1 |
20090144343 | Holt et al. | Jun 2009 | A1 |
20100049833 | Matthews et al. | Feb 2010 | A1 |
20100122328 | Betzler et al. | May 2010 | A1 |
20100131650 | Pok et al. | May 2010 | A1 |
20100235844 | Arwe et al. | Sep 2010 | A1 |
20100332490 | Bauer et al. | Dec 2010 | A1 |
Number | Date | Country |
---|---|---|
1691622 | Nov 2005 | CN |
Entry |
---|
Graham, Web Services Base Notification 1.3 (WS-Base Notification) OASIS Standard, Oct. 1, 2006, pp. 1-68. |
Robert C. Chalmers and Kevin C. Almeroth, “On the Topology of Multicast Trees”, IEEE/ACM Transactions on Networking (TON), vol. 11, Issue 1; Feb. 2003, pp. 153-165. |
Katia Obraczka and Grig Gheorghiu, “The Performance of a Service for Network-Aware Applications”. Symposium on Parallel and Distributed Tools archive, Proceedings of the SIGMETRICS symposium on Parallel and distributed tools, Welches, Oregon, United States, pp. 81-91, 1998. |
K. Taura, K. Kaneda, T. Endo, A. Yonezawa, “Phoenix: a Parallel Programming Model for Accomodating Dynamically Joining/Leaving Resources”, Principles and Practice of Parallel Programming, San Diego, California, USA, pp. 216-229; 2003. |
Lan Wu, “Service Discovery for Personal Networks” A Thesis Report, Presented to the INFOTECH Program of University of Stuttgart, pp. 1-100, Dec. 2004. |
Number | Date | Country | |
---|---|---|---|
20090228517 A1 | Sep 2009 | US |