Abstract:
The invention enables server administrators (SAs) to improve their productivity and performance. With the methods and systems described herein, the prior art needed to search for appropriate tools for appropriate tasks is minimized and/or eliminated. Easier scripting and automation that does not require implementation across tools is provided. A consistent logical place is provided for all resources to be used. Standardization of tools enables improvements in service quality. Tools may be provided using one unambiguous authoritative data model, which eliminates data inconsistencies between sources. With the invention, updates to service delivery clients may be delivered more quickly. The invention also reduces costs for developing, deploying, and maintaining a tightly integrated service delivery client. Integration may be provided from the bottom up rather than after the fact. With the invention, common base objects are provided for events, problem and change records, and other system administration artifacts.

Description:
FIELD OF THE INVENTION 
     The present invention is generally related to the field of server administration tools and is more particularly related to the field of integrated server administration tools. 
     BACKGROUND 
     In the prior art, software developers utilize integrated development environments (IDEs) to develop and debug software. Prior to the current reliance on such IDEs, software developers needed to use separate and distinct tools for syntax checking their code, compiling, debugging, handling version control, and so forth. Modern software IDEs have the ability to merge all this functionality so that software developers don&#39;t see and aren&#39;t distracted by such separate and distinct tools. 
     One prior art IDE that is currently used by software developers is an open source platform know to those in the software arts as Eclipse, more information about which can be obtained from Eclipse Foundation, Inc. 102 Centrepointe Drive Ottawa, Ontario, Canada, K2G 6B1. Eclipse is an extension-rich platform that is based on the notion of plug-ins. Eclipse uses basic Java programmatic elements such as Package and Source File. Eclipse includes notions of perspectives and views. In Eclipse, different perspectives refer to different ways of looking at and working with the same underlying data. In Eclipse, views are windows focused on subsets of data within a given perspective. 
     The phrase “server administrator” (SA) refers generically to operating system-level administrators, database administrators, web administrators, network administrators, and the like. In the prior art, SAs have been limited by their use and interaction with underlying tools and processes, which have been based on little or no standardization and, as well, little or no integration. In order to perform their daily responsibilities, SAs often have had to create “glue code” to cobble together the outputs from one or more systems, services, tasks, tools, and processes with that of their own self-developed scripts. In the prior art, such “glue code” is typically created in a variety of languages and uses non standardized interfaces, “breaks” under the stress of enterprise usage, and as such is typically unsupported. 
     Referring to  FIG. 8 , there is seen a representation of server administrator (SA)  801  interacting with various tools, services, and/or processes  803  via a prior art System Administrator Desktop  802 . In such prior art systems, one sees a variety of non-interacting stand-alone tools and systems with little or no standardization amongst them. For example, in  FIG. 8  one sees IT monitoring tools (Tivoli ITM, TEC), problem/change/ticketing tools/systems (ManageNow), reporting tools (SRM, ESMRT), search interfaces to knowledge repositories (HelpNow), patch management tools (VSA) and collaboration tools (telephone handoffs, email, team rooms and chat), some of which are known to those skilled in the art and some of which are proprietary applications. 
     Referring to  FIG. 9 , and  FIG. 8  as needed, there is seen a view of a prior art Server Administrator Desktop  902 . In the prior art, although views/perspectives are visible, they are not provided in a manner that enables communication of information between tools  803 ; which may, for example, cause the SA  801  to lose focus and access the wrong information at the wrong time. In the prior art, different perspectives on the same data are provided by different tools or applications that do not share a common data model. In the prior art Server Administrator Desktop  902  example shown, one sees a so-called dashboard that depicts system vitals (i.e. consumption of system resources), pressing problems, change records, bar charts of resource consumption, and various collaboration tools. In the prior art, none of the tools  803  communicate or are integrated in more than a superficial way. 
     It would therefore be desirable to provide SAs with systems and methods that provide them with improved access to tools, services, and processes. 
     SUMMARY 
     The present invention enables standardization of tools and provides improvements in service quality. Tools may be provided using one unambiguous authoritative data model, which eliminates data inconsistencies between sources. With the present invention, updates to service delivery clients may be delivered more quickly. The present invention also reduces costs for developing, deploying, and maintaining a tightly integrated service delivery client. Integration may be provided from the bottom up rather than after the fact. With the present invention, common base objects are provided for events, problem and change records, and other system administration artifacts. With the present invention, server administrators (SAs) are able to improve their productivity and performance. With the methods and systems described herein, searching for appropriate tools for appropriate tasks is minimized and/or eliminated. Easier scripting and automation that does not require implementation across tools is provided. As well, a consistent logical place is provided for all resources to be used. 
     In one embodiment, a computer implemented integrated administration environment (IAE) comprises one underlying resource model to enable server administrator interaction with a plurality of services. The interaction may be enabled via a common data model that comprises common base objects. The one underlying resource model may enable access to the functionality of a plurality of tools via one tool. Interaction with the one or more services may be enabled to occur in a perspective via the one tool. The perspective may comprise a resource management view, including one or more of a hierarchical view of physical or logical resources associated with servers, logical partitions (LPARs), and business processes. The perspective may comprise an information management view, including one or more of the following: problem management, change management, system vitals, systems based policy and profile, advisory, and/or server history views. The perspective may comprise a collaboration view to assist with one or more of the following: formal workflow, scheduling, teaming, and/or prioritizing. Services and tools may be capable of: sharing a common data and object models, acting upon the common data, and presenting information based on a common set of interaction paradigms. The resource management view may incorporate hierarchical views across multiple customer or in-house accounts. The information management view may deliver cross-server or cross-LPAR views for trouble-shooting, correlation, analysis, and visualization. The resource management view may provide a consistent logical place for access to all resources. The common base object may comprise one or more of the following: events, problem, and change events. 
     In one embodiment, a computer program product comprises a computer usable medium having computer usable program code that implements one underlying resource model to enable server administrator interaction with a plurality of services. The interaction is enabled via a common data model that comprises common base objects. The one underlying resource model enables server administrator interaction with the functionality of a plurality of tools via one tool. 
     In one embodiment, a service delivery system comprise a plurality of services residing on one or more computer, and an integrated administration environment (IAE) residing on another computer, wherein the IAE uses one underlying resource model to enable a server administrator to interact with the plurality of services. The interaction is enabled via a common data model that comprises common base objects. The one underlying resource model enables server administrator interaction with the functionality of a plurality of tools via one tool. 
     In one embodiment, a method of administering one or more server comprise steps of providing an integrated administration environment (IAE); providing a plurality of services; and interacting with all the plurality of services via the IAE using one tool. In one embodiment, the interaction is enabled via a common data model that comprises common base objects. 
     Other embodiments, objects, advantages and benefits will become apparent upon a reading of the following figures, description, and claims. 
    
    
     
       FIGURES 
       In  FIG. 1  there is seen a representation of a system comprising a network, wherein one or more clients are operatively coupled to communicate with one or more servers and one or more storage devices. 
       In  FIG. 2  there is seen a representation of possible embodiments of a client, a server, storage and/or other devices(s), with which embodiments of the present invention may be implemented. 
       In  FIG. 3  there is seen a non-inclusive representation of different services and system resources that may be handled via an Integrated Administrative Desktop. 
       In  FIG. 4  there is seen an Integrated Administrative Desktop. 
       In  FIG. 5  there is illustrated how SA interactions with servers may occur in one perspective in a hierarchical Account&gt;Server&gt;Server Components drill down format. 
       In  FIGS. 6 and 7  examples of Problem and Change Management views for one account at a time are represented. 
       In  FIG. 8  there is seen a representation of server administrator (SA) interacting with various tools, services, and/or processes via a prior art System Administrator Desktop. 
       In  FIG. 9  there is seen a view of a prior art Server Administrator Desktop. 
     
    
    
     DESCRIPTION 
     In the following discussion, the terms “certain embodiments”, “an embodiment”, “embodiment”, “embodiments”, “the embodiment”, “the embodiments”, “one or more embodiments”, “some embodiments”, “one embodiment”, and other variants thereof, mean one or more (but not all) embodiments unless expressly specified otherwise. The terms “including”, “comprising”, “having” and variants thereof mean “including but not limited to”, unless expressly specified otherwise. The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise. The terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise. 
     Referring now to  FIG. 1 , there is seen a representation of a system  100  comprising a network  102 , wherein one or more clients  110 ,  112 ,  114  are operatively coupled to communicate with one or more servers  104 ,  106 , and one or more storage devices  108 , as could be implemented by those skilled in the art. Client/server may describe a relationship between two computers/programs in which one computer/program, the client, makes a request for service to another computer/program, the server, which fulfills the request. Although the client/server idea can be used by programs within a single computer, it is applicable to a network of computers as well. In a network, the client/server model provides a convenient and efficient way to implement and interconnect needed hardware, firmware, and software that may distributed across different locations. One or more embodiments discussed can be deployed within system  100 , as could be implemented by those skilled in the art. 
     Embodiments discussed herein provide server administrators (SAs) with an integrated administration client that masks the presence of its underlying tools. An integrated administration client beneficially enables SAs to focus their attention on core responsibilities such as problem and change management, server configuration, and inspection of the current state of servers. In one embodiment, a common data and object model is used by an administration client and by all underlying tools. The resources may be modeled to define various aspects of server configuration, along with base event, problem and change objects. Along with a common data and object model, an integrated administration client may declare a set of interaction paradigms that are shared by all underlying tooling so that an SA can have a seamless experience and so the SA will not be distracted by the presence of disparate tools with independent user experiences/interaction models. In one embodiment, underlying tools are linked to one or more perspectives and/or views via a plug-in architecture such that underlying tooling is indistinguishable from that of other underlying platform services. 
     Referring now to  FIG. 2 , and other Figures as needed, there is seen a representation of possible embodiments of a client, a server, storage and/or other devices(s), with which embodiments of the present invention may be implemented. In embodiments, a client, a server, storage and/or other devices(s) may comprise one or more of the following: a processor  206 , a memory  208  (e.g., a volatile memory device), storage devices  226 ,  230 ,  224 , and other circuits, as are known and able to be implemented by those skilled in the art. In one embodiment, storage devices may be embodied as a non-volatile memory device, magnetic disk drive, optical disk drive, tape drive, etc. Storage may as well comprise an internal storage device, an attached storage device and/or a network accessible storage device. Other possible components know to those skilled are represented and may be implemented as needed by those skilled in the art. 
     Referring to  FIG. 3 , and other Figures as needed, there is seen a non-inclusive representation of different services and system resources that may be handled via an Integrated Administrative Desktop  302 . In embodiments, SAs can access system resources via a Resource Management Perspective  307 , an Information Management Perspective  306 , and a Collaboration Perspective  308 . 
     In embodiments, system resources associated with servers that can be accessed by SAs include, but are not limited to: NICs, hard drives, CPUs, RAM, logical or physical sever partitions, processes, applications; and any other system resources residing on a server that can be accessed by a user or automated system monitor. As well, deployment topologies, performance and state information, and policies can be accessed. In other embodiments, SAs may access other task oriented information from various process perspectives, including problem management and change management perspectives, as well as others. 
     Referring to  FIG. 4 , and other Figures as needed, there is seen an Integrated Administrative Desktop  402  of the present invention. In the preferred embodiment, SAs interact with the Desktop  402 , which enables the functionality of multiple prior art tools to be integrated as one tool that uses an underlying resource model. Different SA tasks invoke different perspectives or views on the underlying resource model. For example, individual tasks, whose functionality was managed in the prior art by SAs that were forced to use separate individual tools  803 , now are now capable of being managed by using one integrated application deployed as a single Integrated Administrative Desktop  402 . 
     Referring to  FIG. 5 , and other Figures as needed, in one embodiment, there is illustrated how SA interactions with servers may occur in one perspective in a hierarchical Account&gt;Server&gt;Server Components drill down format  509 . In one perspective, for example, a problem management perspective, an SA may view problem records across all accessible servers, with problem records ranked according to severity, and automatically correlated with change records. In one embodiment, for example, from a system vitals perspective, an SA may view CPU utilization, RAM usage, etc., not just for one server at a time, but across all accessible servers. In one embodiment, critical servers could be listed first. 
     In one embodiment, business processes and applications on given servers may be graphically decomposed. Components associated with a server, such as logs, problem records, change records, scripts, etc. may be logically stored. Right clicking on the logs, or on another component may allow one to see the physical location of the components. By storing common components in a standard logical location, SAs may be able to navigate around any server. Base objects may be defined for problem records, change records, events, and so forth. All problem management systems may have record objects that are derived from a base problem record object and, similarly, for change records and event records. In one embodiment, a base object may be the industry standard Common Base Event (CBE), as is known to those skilled in the art. 
     In a preferred embodiment, the present invention may be implemented as a set of plugins to the aforementioned Eclipse platform, with three perspectives as depicted in  FIG. 3 , one for resource management  307 , another for knowledge or information management  306 , and a third for collaboration or the management of collaborations in the context of the servers that one is administering  308 . Within each perspective there may be a number of views which represent data in meaningful and consistent manner. 
     The Resource Management Perspective  307  may comprise a hierarchical depiction of resources that mimics the Java Package&gt;Source File (or Project-&gt;Java Package-&gt;Source File) resource hierarchy available natively in Eclipse or other IDEs to Java software developers. In the case of server system administration, and in the case where system administrators administer to multiple accounts, account would take the place at the top of the hierarchy, and underneath each account one would see the servers or logical partitions of servers (LPARs), business processes and other entities under administrative purview at the highest level. Underneath server or LPAR one would see the associated hardware, software, problem and change records, and other items associated with a server (policies, advisories, alerts, etc.) while underneath business process one would see applications and perhaps lower level business processes. The hierarchy would continue, for example allowing the SA to drill down to specific hardware and software components to see any detail required, such as the specifications of a particular piece of hardware and any current state information that could be gleaned from the system, and analogously for software items. A software item may be anything from installed shrink-wrapped software to running home-grown applications with many dependencies and components. 
     In a next perspective, an Information Management Perspective  306  offers alternative ways of viewing resources other than the hierarchical view available from the Resource Management perspective. The Problem and Change Management views offer views across all problem and change records of concern to the SA—pointing him/her to the most pressing issues.  FIGS. 6 and 7  give examples of Problem and Change Management views for one account at a time, but it is also possible to have views across accounts. The idea of the views in this perspective are that they are views of data that cut across resources and resource boundaries to help the SA understand what is going on globally with his servers and what the pressing issues are. In one embodiment, there may be a System Vitals view that enables one to compare servers based on their consumption of system resources, like RAM and CPU consumption. As illustrated, there may also be views to compare policies and profiles, server configuration data, advisories (also known as proactive alerts) and historical server information. 
     In another perspective, a Collaboration Perspective  308  may provide a view depicting formal workflow such as a list of To Do items. Such To Do items would generally include formally choreographed workflow items (i.e. items which flow through the hands of more than one actor) and not the informal To Dos of a single SA. An example of an item appearing on such a To Do list is a change record requiring approval or ultimate action. Note that one can ultimately drill down to a Change Record (or any of a number of other resources) from any of the three perspectives and numerous views. There may be other views supporting collaboration as well, such as those for scheduling, teaming, prioritization and also to support informal interactions. Because a given SA does not typically work 24 by 7, it may be important for SAs to keep track of their own schedules as well as that of their colleagues. Some collaborative views overlap these areas, for example the To Do list described above falls both in the area of formal work flow and prioritization. 
     In the preferred embodiment, a common data model is accessed by all tooling (surfaced through perspectives and views). The common data model supports the entities and relations discussed above via use of tables. The data model may contain entities (database tables) that represent one or more of the following:
         1. Accounts   2. Servers (LPARs)   3. Account servers   4. Business processes   5. Applications   6. Hardware associated with a server (LPAR)   7. Software associated with a server (LPAR)   8. Base problem record information   9. Base change record information   10. Base event information   11. Server vitals history   12. Advisory conditions (conditions which, if present on a server, evoke actual alerts or “server advisories.”)   13. Server advisories   14. Server support teams   15. Server schedule   16. Server security policies
 
amongst others. Note that some of these tables may actually contain embedded relation information. For example, the table representing Account servers tells what servers go with what accounts, and effectively joins the Account and Server tables. The same is true for the Server advisory table and others.
       

     In one embodiment, on top of the data model sits a light weight object model written in Java and shared by all contributing perspectives and views. Of importance are the objects for base problem and change events, and the base event object, which may be patterned after the industry standard common base event (CBE). In one embodiment, wherein a system utilizes problem and change management systems provided by several vendors (for example, IBM, Peregrine and Remedy), the base problem and change objects may be “common denominator” objects and each of the actual systems involved may extend the base objects and data mappings through tables in unique ways. In this way, clients that are interested in getting an overall view of problem and change records, without regard to system specific information, can access all problem and change records using the base object types, and clients interested in getting system specific information can also do so using derived types. 
     One or more of the embodiments described herein may be implemented as a method, apparatus or article of manufacture involving software, firmware, micro-code, hardware and/or combinations thereof. One or more of the embodiments described herein may be implemented and deployed within systems and components as previously represented in  FIGS. 1 and 2 , as well as other systems that could be implemented by those skilled in the art. Certain embodiments of the present invention reside on and may be implemented in a processor, a memory, storage, circuit, hardware, firmware, software, etc. In one embodiment, the present invention may be deployed as computing instructions by a person or automated processing integrating computer-readable code into a computing system, wherein the code in combination with the computing system is enabled to perform the operations of the described embodiments. Certain ones of the operations described herein may be performed in parallel as well as sequentially. In alternative embodiments, certain of the operations may be performed in a different order, modified or removed. Furthermore, some of the elements have been described separately for purposes of illustration. Such components may be integrated into a fewer number of components or divided into a larger number of components. Additionally, certain operations described as performed by a specific component may be performed by other components. 
     The term “article of manufacture” as used herein refers to code or logic implemented in a medium, where such medium may comprise hardware logic [e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.] or a computer readable medium, such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, optical disks, etc.), volatile and non-volatile memory devices [e.g., Electrically Erasable Programmable Read Only Memory (EEPROM), Read Only Memory (ROM), Programmable Read Only Memory (PROM), Random Access Memory (RAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), flash, firmware, programmable logic, etc.]. Code in the computer readable medium is accessed and executed by a processor. The medium in which the code or logic is encoded may also comprise transmission signals propagating through space or a transmission media, such as an optical fiber, copper wire, etc. The transmission signal in which the code or logic is encoded may further comprise a wireless signal, satellite transmission, radio waves, infrared signals, Bluetooth, etc. The transmission signal in which the code or logic is encoded is capable of being transmitted by a transmitting station and received by a receiving station, where the code or logic encoded in the transmission signal may be decoded and stored in hardware or a computer readable medium at the receiving and transmitting stations or devices. Additionally, the “article of manufacture” may comprise a combination of hardware and software components in which the code is embodied, processed, and executed. Of course, those skilled in the art will recognize that many modifications may be made without departing from the scope of embodiments, and that an article of manufacture may comprise any information bearing medium. For example, an article of manufacture may comprise a storage medium having stored therein instructions that when executed by a machine results in operations being performed. 
     Certain embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc. Furthermore, certain embodiments can take the form of a computer program product accessible from a computer usable or computer readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD. 
     Elements of the invention that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries. Additionally, a description of an embodiment with several elements in communication with each other does not necessarily imply that all such components are required. On the contrary a variety of optional elements are described to illustrate the wide variety of possible embodiments. 
     Further, although process steps, method steps, algorithms or the like may be described in a sequential order, such processes, methods and algorithms may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously, in parallel, or concurrently. 
     Therefore, the foregoing description of the embodiments has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Many modifications and variations are possible in light of the above teaching.