An organization may utilize information technology (IT) to perform a variety of organizational tasks, such as providing data storage, facilitating communication, and automating services. An organization's IT infrastructure of computer systems, networks, databases, and software applications may be responsible for accomplishing these organizational tasks.
When a component of the IT infrastructure degrades or becomes faulty, the performance of services that depend upon the component may be adversely affected. To rectify this performance degradation, a decision-maker, such as an IT manager, may be presented with several business-related decisions. For example, one such decision may be whether to repair or replace the faulty component. Each decision may be associated with one or more plans, such as to replace the component today or repair the component next week when a technician is available.
The decision-maker may analyze each decision by determining the projected utility gain or loss associated with performing each plan. In some instances, the utility may be dependent on service level agreements (SLAs) and other types of contractual agreements the organization has formed with various parties, such as customers, suppliers, and distributors. Unfortunately, management tools operated by the decision-maker may not integrate contractual information into the decision-making processes, thereby reducing the accuracy of utility calculations and not enabling the decision-maker to make informed business decisions.
In at least some embodiments, an apparatus and method may receive parameters of an information technology (IT) infrastructure and formulate one or more IT recovery plans based on the parameters. The apparatus and method may further calculate a projected utility for one or more of the IT recovery plans based on one or more contractual agreements.
For a detailed description of exemplary embodiments of the invention, reference will now be made to the accompanying drawings in which:
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, computer companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .” Also, the term “couple” or “couples” is intended to mean either an indirect or direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections. The term “system” refers to a collection of two or more parts and may be used to refer to a computer system or a portion of a computer system.
The following discussion is directed to various embodiments of the invention. Although one or more of these embodiments may be preferred, the embodiments disclosed should not be interpreted, or otherwise used, as limiting the scope of the disclosure, including the claims, unless otherwise specified. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any embodiment is meant only to be illustrative of that embodiment, and not intended to suggest that the scope of the disclosure, including the claims, is limited to that embodiment.
The monitoring layer 104 detects faults with the components and systems of the IT infrastructure 102 and violations associated with one or more contractual agreements 118. The contractual agreements 118 may comprise any type of agreement formed by an organization, such as service level agreements (SLAs). A service level agreement is a contract between an organization and a customer that guarantees specific levels of service for a pre-determined time interval at a pre-determined cost. For example, a service level agreement may guarantee that orders placed by a particular customer are processed within three days, or a 50% discount is applied to the purchase price. Thus, the monitoring layers may utilize the conditions and terms as set forth in the contractual agreements 118 and the service parameters 116 to determine when a violation associated with agreements occurs. The monitoring may occur continuously (i.e., in real-time) or periodically (e.g., once every five minutes).
A diagnosis layer 106 may receive notifications of the faults and contractual violations from the monitoring layer 104 and attempt to determine one or more causes of the faults and/or violations. A cause may represent any event capable of being detected by the diagnosis layer 106, such as an increased demand on a particular system and/or a non-operational IT component.
A recovery planning layer 108 may analyze the causes identified by the diagnosis layer 106 and produce a series of plans for correcting or rectifying the identified causes. For example, a first plan may be to repair a faulty IT component, and a second plan may be to order a new component and replace the faulty component. Each plan may be associated with one or more scheduling options, such as to repair the faulty component today or wait until tomorrow when a technician is available.
A contract-based analysis layer 110 may receive the plans formulated by the recovery-planning layer 108 and calculate the projected utility gain or loss associated with each plan. The contract-based analysis layer 110 may also rank the plans based on the projected utility and a particular scheduling option.
A reporting and notification layer 112 may display the ranked plans and associated utilities to a decision-maker, such as an IT manager or system operator. After a plan and associated scheduling option is chosen by the decision-maker, the reporting and notification layer 112 may notify the appropriate personnel of a selected plan of action.
As can be appreciated, the foregoing discussion is directed to the high-level management processes associated with an IT-related business decision. Various components of the IT infrastructure 102, such as servers, databases, and software applications, may be utilized to implement each of the layers 104-112. In addition, one or more of the layers 104-108 may be combined or modified as desired. For example, an organization may report faults and contractual violations immediately to a decision-maker while concurrently performing the functions associated with the diagnosis layer 106 and recovery planning 108 layer. The contract-based analysis layer 110 integrates contractual information into the management model 100 to provide a decision-maker with a calculation of utility based, in part, on the contractual agreements formed by the organization.
Contract data 204 may contain information related to an organization's contractual agreements. Such agreements may comprise service level agreements (SLAs) that are associated with particular service level objectives (SLOs). The service level agreements may define minimum service levels for particular groups of customers and penalties if the service level falls below agreed upon values for the group.
Customer data 206 may contain information related to an organization's customers. Such information may comprise behavioral models based on past behavior of a customer group and other identifying information related to the customers of an organization.
Service data 208 may contain information related to an organization's IT services, such as email, network provisioning, online shops, or any other service performed by the IT infrastructure 102. Such information may comprise scheduling policies, current and/or predicted demand and costs associated with the services.
Resource data 210 may contain information related to an organization's resources, such as computer servers, systems, and applications. The resources may be utilized to operate the IT services. Such information may comprise the current availability of resources, the projected availability of resources, and costs associated with the resources.
Each data source 204-210 may be implemented via one or more instances of a database, an online analytical processing (OLAP) data store, a flat-file on a hard drive, or any other means for storing information. The contractual processing logic 202 utilizes the plans and associated scheduling options 212 formulated by the recovery planning layer 108 (
For each plan and associated scheduling option, the contractual processing logic 202 may calculate a utility that comprises a strategic utility and a contract utility. The contract utility refers to utility gain or loss with respect to the contractual agreements 118. For exemplary purposes, consider a plan to upgrade a computer server. During the upgrade, an email service that utilizes the computer server may become inoperable. Four contractual agreements may be conditioned on the email service being operable during the projected period of inoperability. In this exemplary case, the contract utility represents the utility lost in accordance with the terms of the four contractual agreements. Strategic utility may refer to any utility outside the scope of the contract utility. For example, an organization may place a strategic utility on always meeting the agreements of high-priority customers. Thus, the contractual processing logic 202 calculates and aggregates a contract and strategic utility for each plan and associated scheduling option formed by the recovery planning layer 108 (
After determination of the service level (block 302), a strategic utility (block 304) may be calculated. The strategic utility calculation (block 304), discussed more fully below, utilizes the customer data 206 and the determined service levels (block 302). A likelihood of contractual violation may also be calculated (block 306). The likelihood of contractual violation calculation (block 306) utilizes the contract data 204 and the determined service levels (block 302).
After calculating the likelihood of a contractual violation (block 306), a contract utility may be calculated (block 308). The calculation of the contract utility utilizes the likelihood of a contractual violation (block 306) and the customer data 206. The strategic utility (block 304) and contract utility (block 308) may be aggregated (block 310) and related to the cost values contained in the resource data 210 and the service data 208. After aggregation, the plans and associated scheduling options may be ranked based, in part, on the aggregated utility. The ranked plans and their corresponding utilities 214 are outputs of the contractual processing logic 202.
Since multiple plans and scheduling options may be generated by the recovery planning layer 108 (
The contract utility calculation (block 308) represents the utility of a particular plan and scheduling option with respect to the contractual agreements formed by an organization. For example, a contractual agreement may be modeled by a series of clauses that represent undertakings that are contractually obligated to be fulfilled. Each clause may have an associated positive and negative consequence. The contract utility (UC) of an undertaking (v) may be modeled by:
UC(v,λ)=(1−λ)*(uv+up)+λun (1)
where λ is the likelihood of a contractual violation, uv is the direct utility of the undertaking, up is the utility of the positive consequence, and un is the utility of the positive consequence. For exemplary purposes, assume the following contractual agreement: “The time between an order and the corresponding shipment shall be less than 3 days; otherwise the cost of the order is fully refunded.” If we assume an order value of $1,000 and the likelihood of a violation is 20%, the resulting contract utility would be:
UC(v,λ)=(1−0.2)*$1000+0.2(−$1000)=$600 (2)
During the contract utility calculation (block 308), the utility of a plan and associated scheduling option with respect to the contractual agreements is calculated.
The strategic utility calculation (block 304) may incorporate utilities that are not included as part of the contract utility calculation (block 308). The strategic utility may account for various factors, such as a service level objective (SLO) utility, a customer strategic utility, and an organizational strategic utility. The service level objective utility may represent the value of an outcome with respect to an objective. An organization may place a higher value on complying with the objectives of a strategic partner than with a second-tier partner. Thus, the service level objective utility takes into account information not included in the contract utility, such as the strategic value of particular partnerships and the damage incurred by violating an objective associated with a particular partner.
The customer strategic utility may represent the value of an outcome independently of the service level objectives. For example, an organization may have a strategic policy to always guarantee a certain level of service for a particular customer, regardless of what objectives are in place. The customer strategic utility takes into account the value of these customer-centric strategic polices.
The organizational strategic utility may represent the value of policies independent of a particular customer objective. For example, an organization may have a strategic policy to always process orders within a defined time period. The organizational strategic utility takes into account the value of these organization-wide strategic polices. Additional utilities may be included as desired.
The contract information model 600 simulates a dynamic contract (i.e., a contract with provisions that change according to parameters such as time or occurrence of predetermined circumstances. Therefore, the undertakings 616 provided by the clauses 604 may be active or inactive as indicated by a Boolean (or equivalent) value (“#ACTIVE”). Each undertaking 616 also may comprise a name designation (“NAME”) and a type designation (“TYPE”).
As shown in
As shown, the computer 162 may couple to a plurality of IT components 180A-180N via a network 178 and a network port 170. The network port 170 may couple to the processor 164 and allows communication between elements (e.g., the IT components 180A-180N) coupled to the network 178 and the processor 164. For example, the IT components 180A-180N may supply the status information 114 and the service parameters 116 described previously for
The processor 164 also may couple to a graphic use interface (GUI) 176 and an input device 174 via an input port 172. The input device 172 may be, for example, a keyboard or a mouse. Execution of the contractual processing application 168 may cause an application window to appear on the GUI 176 such that a user of the computer 162 may view the results of the monitoring, diagnosis, recovery planning, contract-based analysis, reporting and notification processes that are performed.
Under the OPTIONS heading 1106 a list of possible options related to recovery planning may be displayed. For example, the options may be “repair today,” “repair tomorrow,” or “repair tomorrow and migrate.” Under the SCHEDULING POLICY heading 1108, a list of possible scheduling policies may be displayed. For example, the scheduling policies may comprise “gold customers first” or “first come, first serve.” Under the COST OF IMPLEMENTATION heading 1110, a calculated cost associated with each option and scheduling policy group may be displayed. Under the CONTRACT UTILITY heading 1112, a calculated utility cost associated with each option and scheduling policy group may be displayed. Under the STRATEGIC UTILITY heading 1114, a calculated strategic cost associated with each option and scheduling policy group may be displayed. Under the TOTAL IMPACT heading 1116, a total cost associated with each option and scheduling policy group may be displayed. Under the ISSUES heading 1118, one or more text messages may be displayed. The test messages may provide information regarding issues related to the management options. For example, a message such as “server 5 down” may be displayed.
The contractual processing application window 1102 also may display a selectable button 1120 (labeled “PERFORM ACTION”) that allows a user to select (e.g., via the input device 174) one of the possible actions to be performed. As shown, one or more possible actions may be displayed under an ACTIONS heading 1122. Also, a calculated cost of performing the action may be displayed under a COST OF ACTION 1124 heading. For example, the user may highlight an action by clicking a mouse button. Once the action is highlighted, the user may select the action by clicking on the selectable button 1120. Information that identifies the selected action may be forwarded for reporting/notification purposes to a decision-maker that has access to the computer 162 (e.g., via the input device 174, GUI 176, or network 178).
Under the ORDERS heading 1206, a list of order numbers may be displayed. Under the CUSTOMERS heading 1208, a list of customers associated with each order number may be displayed. Under the SLA heading 1210, service level agreements associated with each customer may be displayed. Under the LIKELIHOOD OF VIOLATION heading 1212, a calculated likelihood of violating the service level agreement may be displayed. The calculation may be based on the selected option (e.g., repair tomorrow) and the selected scheduling policy (e.g., gold customer first). Under the PENALTY FOR VIOLATION heading 1214, a calculated penalty (e.g., a monetary penalty) for violating the service level agreement may be displayed. Under the PREMIUM FOR MEETING heading 1216, a premium (e.g., a monetary premium) for meeting the conditions of the service level agreement may be displayed.
Under the EXPECTED UTILITY heading 1218, a calculated “expected utility” of the selected option and the selected scheduling policy may be displayed. The expected utility calculation may be based on the likelihood of violation, the penalty for violation, and the premium for meeting. For example, if the likelihood of violation is 50%, the penalty of violation is −$1,000, and the premium for meeting is $3,000, the expected utility may be calculated as −1,000*0.5 (i.e., the penalty of violation times the likelihood of violation) plus 3,000*0.5 (the premium for meeting times the likelihood of meeting). The total of the expected contract utilities of the selected option and the selected scheduling policy also may be displayed.
The ORDERS heading 1206, the CUSTOMERS heading 1208, and the SLA heading 1210 shown in
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.